Anda di halaman 1dari 16

3.

1 Modules

Sebuah module berfungsi untuk mengorganisasi program Python dalam suatu bagian atau grup yang saling berhubungan
sehingga memudahkan penggunaan dan pembacaaan kode. Sebuah module dianggap merupakan sebuah objek dari
Python yang mempunyai nama dan bisa diikat dan dirujuk ke tempat lain.

Implementasi module dengan menggunakan sebuah file yang mengandung kode bahasa pemrograman Python dan
didalamnya terdiri dari fungsi, kelas, dan variabel, dan juga kode yang bisa dijalankan.

IMPORT STATEMENT

Untuk mencoba perintah import, pertama kali buatlah sebuah file baru dengan nama support dan berekstensi py dengan
menggunakan fasilitas New -> Text File pada Jupyter Notebook.

Mungkin muncul pertanyaan, kenapa tidak memakai New Jupyter Notebook saja ? Karena kalau memakai Jupyter Notebook,
filenya akan disave dengan ekstensi Interactive PYthon NoteBook (ipynb), dan file ipynb tidak bisa dijadikan sebuah
module, karena syarat module harus berekstensi py.
Kemudian ketikan dua fungsi berikut dalam file support.py sesuai gambar berikut:

Kemudian save file support.py dan tutup tab windows file tersebut, dan buka sebuah jupyter notebook baru, dan tes ketikan
kode berikut:
Perintah import pada kode diatas, akan mengimpor dua fungsi yang sudah dibuat sebelumnya dalam file support.py, dan
untuk memanggil fungsi tersebut, dapat menggunakan nama dari module/file tersebut, yaitu support dan dilanjutkan
dengan tanda titik (.) untuk memanggil fungsi yang diinginkan.

FROM .. IMPORT STATEMENT

Selain perintah import, perintah from .. import, dapat juga digunakan untuk mengimpor fungsi tertentu, tanpa perlu
melalui nama module/file tersebut, sebagai contoh pada kode berikut:

Selain perintah form .. import diatas, yang hanya mengimpor satu per satu fungsi yang kita inginkan, kita juga dapat
menggunakan tanda bintang (*) untuk mengimport seluruh fungsi dalam module tersebut, seperti pada contoh berikut:

Pada contoh diatas, fungsi cetak dan sigma bisa dipanggil, tanpa perlu memakai penanda nama module.

DIR() FUNCTION

Fungsi dir() adalah sebuah fungsi yang akan mengembalikan list dari kumpulan string yang sudah didefinisikan didalam
module tersebut, seperti nama module, variabel ataupun fungsi yang terkandung dalam module tersebut.
Seperti contoh pada kode diatas, apabila dijalankan, akan menampilkan daftar nama komponen yang ada dalam module
tersebut, pada contoh support.py, walaupun didalamnya hanya terdiri dari dua fungsi, yaitu fungsi cetak dan sigma,
fungsi dir() juga akan menampilkan fungsi dan variabel built-in yang terkandung didalamnya.

GLOBALS() AND LOCALS() FUNCTION

Fungsi globals() dan locals() berfungsi untuk menampilkan daftar variabel global dan lokal, sesuai dimana fungsi ini
dipanggil, bila fungsi lokal dipanggil dalam sebuah fungsi, maka yang ditampilkan adalah seluruh variabel lokal yang dapat
diakses oleh fungsi tersebut, dan sebaliknya hal yang sama berlaku untuk global, dimana bedanya fungsi global akan
menampilkan seluruh variabel yang bisa diakses oleh fungsi tersebut baik didalam maupun diluar.

PACKAGES IN PYTHON

Packages dalam Python berfungsi untuk melakukan pengelompokan module dengan menggunakan bantuan struktur hirarki
dari folder/directory dimana kode tersebut berada.
Apabila kode python kita strukturisasikan seperti pada contoh diatas, dalam folder yang berbeda - beda, maka untuk
memanggil module start.py, cukup ditulis dengan perintah import Game.Level.start, dimana karakter titik (.) merupakan
penanda folder dan subfoldernya.

Dalam membuat packages, di setiap folder, diharuskan mempunyai sebuah file __init__.py, yang berfungsi untuk melakukan
proses from .. import dari isi folder tersebut.

3.2 NumPy & Indexing

NumPy Library adalah sebuah library khusus untuk scientific computing dengan bahasa pemrograman Python, yang
memang dirancang khusus untuk mempermudahan pengolahan data yang berbentuk numerik.

Sesuai tulisan di situsnya, library NumPy mempunyai kemampuan khusus, yaitu:

1. Kemampuan untuk mengelola N-dimensi objek array;


2. Fungsi - fungsi pendukung yang lengkap dalam mengolah data numerik;
3. Fungsi - fungsi pendukung operasi aljabar aritmatika yang sudah diimplementasikan;
4. Dan integrasi dengan bahasa pemrograman C/C++ dan juga Fortran.

Untuk menggunakan library NumPy, terlebih dahulu, pastikan subtopik Managing Packages sudah dilakukan, dipelajari dan
diimplementasi sampai proses instalasi NumPy sudah berhasil.
Sekilas, objek Numpy, mirip dengan objek List, seperti contoh berikut:

Penjelasan:

1. Metode arange() pada object x_numpy, berfungsi untuk membuat sebuah objek NumPy baru yang berisikan


angka 0 sampai 9 yang sama seperti contoh pada list diatas;
2. Type dari x_numpy adalah ndarray, atau N Dimension Array.

Salah satu perbedaan List dan NumPy terletak pada proses pemetaan memori dan tipe datanya, dimana pada List, objek
apapun bisa dimasukan sebagai elemen pada List, tetapi khusus untuk NumPy, elemen yang bisa dimasukan umumnya
hanya satu tipe saja, dan umumnya tipe numerik, karena memang pada dasarnya package NumPy berfungsi untuk
mengolah data numerik.

Perhatikan contoh berikut:


Penjelasan:

1. Apa fungsi perintah format() dalam fungsi print() tersebut? Diskusikan dalam Forum Diskusi;


2. Atribut dtype, dapat digunakan untuk mengetahui isi tipe data dari objek NumPy.

INDEXING

Objek array dalam NumPy mempunyai sistem indexing yang dimulai dari angka 0 (nol), dan proses pencarian data didalam
objek NumPy bisa dengan menggunakan angka index sesuai dengan jumlah dimensi yang telah dibuat sebelumnya.

Salah satu keunggulan pada Jupyter Notebook, adalah proses untuk mendapatkan informasi mengenai fungsi, module,
maupun attribute dengan cepat dan mudah, yaitu menggunakan tombol Shift-Tab dengan menyorot kepada nama bagian
yang ingin kita lihat informasinya.

Tombol Shift-Tab bisa diproses sampai 4 (empat) level kedalaman informasi, tetapi harus dipastikan untuk mengimport
terlebih dahulu packagenya sebelum mencoba tombol Shift-Tab.

Seperti pada contoh berikut:

Shift-Tab level 2 (dua):
Shift-Tab level 3 (tiga):

Shift-Tab level 4 (empat):
Berikut ini adalah contoh proses indexing dalam mengakses data yang tersedia didalam objek NumPy, dengan
menggunakan bantuan fungsi randn() untuk menghasilkan data acak.

Proses indexing juga bisa dilakukan dengan menggunakan tanda minus ataupun bantuan dari atribut shape.
3.3 Slicing & Filtering
IMPORT DATA

Sebelum mempelajari proses slicing atau filtering, kita akan mempelajari terlebih dahulu bagaimana cara mengimport data
dari file teks dengan format CSV yang sudah disiapkan pada file Data Uji Coba Obat Kepada Pasien (peradangan.csv).

Download terlebih dahulu file peradangan.csv, dan letakan pada posisi yang sama dengan file Jupyter Notebook yang akan
digunakan.

Proses import bisa dilakukan dengan menggunakan fungsi loadtxt() dengan menyebutkan nama file dan juga karakter
pemisah data (delimiter) didalam file tersebut, dan khusus untuk file dengan format CSV, delimiter yang umum digunakan
adalah tanda koma (,).

Dalam memproses data, pada contoh diatas, selalu ingat untuk mengecek data tersebut dengan menggunakan
atribut dtype dan shape, agar kita lebih jelas dalam menghadapi data apa yang akan kita proses.
Pada contoh diatas, kita akan mengimport library matplotlib, dan dengan dengan library ini, kita akan menggambarkan data
peradangan.csv dalam grafik dua dimensi, dan pada gambar tersebut, nampak jelas, tingkat peradangan naik pada
pertengahan uji coba pada hari ke 15 sampai 25.

SLICING

Masih ingatkah proses slicing pada List di Containers ? Jika ya, maka masih sama proses slicing pada objek NumPy,
yaitu penggunaan start:stop:stride.

Perhatikan contoh diatas, dan pahami dengan baik perintah slicing, terutama perbedaan pada start dan stop, yang memang
terkadang agak membingungkan.

Dan untuk mempermudah pengamatan, kode berikut akan menampilkan grafik dari pasien pertama dengan data mulai dari
hari pertama sampai hari terakhir dan juga variannya.
EKSPERIMEN 3.4.1

Bagaimanakah caranya mengambil data pasien ke tiga puluh satu sampai enam puluh hanya untuk hari ke tiga
puluh sampai empat puluh ?

EKSPERIMEN 3.4.2

Bagaimanakah caranya mengambil data seluruh pasien pada hari pertama sampai ketiga, digabung dengan hari ke lima
belas sampai delapan belas?

Tips: gunakan fungsi concatenate() dalam NumPy.

FILTERING

Filtering adalah proses untuk mengambil data berdasarkan kondisi filtering yang kita terapkan.

EKSPERIMEN 3.4.3

Berapa jumlah pasien yang sudah sembuh pada hari terakhir?


3.4 Broadcasting
Broadcasting adalah proses penggabungan dua objek NumPy, dimana proses penggabungan ini memungkinan dua objek
NumPy dengan dimensi yang berbeda, dapat bergabung menjadi satu.

Broadcasting akan menerapkan tiga aturan berikut dalam proses penggabungannya, yaitu:

1. Jika dua objek berbeda dalam jumlah dimensinya, bentuk objek dengan dimensi yang lebih sedikit diisi dengan
yang di sisi terdepan (kiri);
2. Jika bentuk dua objek tidak cocok dalam dimensi apa pun, objek dengan bentuk yang sama dengan 1 dalam
dimensi tertentu direntangkan agar sesuai dengan bentuk dimensi lainnya;
3. Jika dalam dimensi apa pun ukurannya tidak sesuai dan tidak memiliki bentuk sama dengan 1, maka akan
menimbulkan pesan kesalahan.

Amati gambar diatas, dan perhatikan bentuk dimensinya, terutama dimensi yang berbentuk bayangan, dimana bayangan
tersebut adalah bentuk broadcasting objek NumPy sebelum operasi pertambahan dilakukan.

Untuk memperjelas gambar diatas, silakan dicoba rangkaian contoh berikut, fungsi arange() berfungsi untuk membuat
objek 1 x n dan untuk n merupakan argumen pada fungsi tersebut, bila n = 3 maka akan dihasilkan objek dengan dimensi 1
x 3.
Pada contoh kedua, fungsi ones() adalah fungsi untuk menciptakan objek NumPy baru yang secara otomatis diisi dengan
angka satu.

Contoh ketiga, adalah contoh pertambahan objek dengan dimensi 3x1 dengan 1x3, yang akan menghasilkan objek dengan
dimensi 3x3, dan untuk objek dengan dimensi 3x1 didapatkan dengan menggunakan fungsi reshape() dari dimensi 1x3.
Salah satu keunggulan broadcasting dalam NumPy, adalah kemampuan untuk melakukan proses perkalian matriks dengan
perintah sederhana, ikuti contoh berikut:

EKSPERIMEN 4
Apakah proses pertambahan bisa dilakukan untuk objek NumPy dengan dimensi 2x3 dan 3x2 ?

3.5 Rangkuman Topik 3


Pada topik ini, kita telah mulai mendalami proses pengolahan data dengan library dasar, yaitu library NumPy.
Library NumPy memungkinkan kita mengolah data dengan kode yang sangat minimal, yang diperlukan adalah proses
pemahaman terhadap sistem indexing, slicing, filtering, dan broadcasting. Apabila kita memahami dengan betul empat
konsep dasar tersebut, maka kita telah mempunyai kemampuan dasar dalam manajemen data, karena untuk library - library
selanjutnya, pemahaman konsep dasar tetap sama.

Silakan diisi presensi pada bagian Presensi Kehadiran, dan password presensinya:

Isikan bagian tanda tanya diatas sehingga menghasilkan output sebagai berikut:

Dan bagian tanda tanya tersebut merupakan password untuk presensi hari ini.

Anda mungkin juga menyukai