Pemrograman Modular
Ada beberapa keuntungan jika kita menerapkan pendekatan modular, di antarnya:
1. Simplicity: kode program kita menjadi lebih sederhana.
2. Maintainability: kode program kita menjadi lebih mudah di-maintain atau
‘dipelihara’.
3. Reusability: potongan-potongan kode program bisa digunakan dari berbagai tempat
membuatnya menjadi lebih reusable.
Python Function
Definisi
Fungsi adalah blok kode terorganisir dan dapat digunakan kembali yang digunakan untuk
melakukan sebuah tindakan/action. Fungsi memberikan modularitas yang lebih baik untuk aplikasi
Anda dan tingkat penggunaan kode yang tinggi.
Berdasarkan siapa yang membuat, fungsi bisa dibedakan ke dalam 2 kelompok:
1. Built-In Function
2. User Defined Function
Built-In Function adalah sebutan untuk fungsi yang sudah ada secara bawaan dari dalam bahasa
pemrograman. Sedangkan User Defined Function adalah fungsi yang kita (sebagai programmer)
membuatnya sendiri.
Syntaks
Berikut format dasar cara pendefinisian fungsi dalam bahasa Python:
1. Fungsi blok dimulai dengan def kata kunci diikuti oleh nama fungsi dan tanda kurung (()).
2. Setiap parameter masukan atau argumen harus ditempatkan di dalam tanda kurung ini. Anda
juga dapat menentukan parameter di dalam tanda kurung ini.
3. Pernyataan pertama dari sebuah fungsi dapat berupa pernyataan opsional - string dokumentasi
fungsi atau docstring.
4. Blok kode dalam setiap fungsi dimulai dengan titik dua (:) dan indentasi.
5. Pernyataan kembali [ekspresi] keluar dari sebuah fungsi, secara opsional menyampaikan
kembali ekspresi ke pemanggil. Pernyataan pengembalian tanpa argumen sama dengan return
None.
Parameter Wajib
Fungsi pada python dapat memuat lebih dari 1 parameter baik wajib ataupun opsional. Parameter wajib
berarti semua parameter pada fungsi harus diisi Ketika akan menjalan fungsi agar tidak terjadi error.
Contoh :
Pada contoh diatas, terdapat 2 parameter wajib yaitu nama dan asal. Pemanggilan fungsi dilakukan
dengan mengisikan parameter nama = Yusuf FR, dan parameter asal = Madiun. Pengisian parameter
dilakukan berurut sesuai posisi parameter yang di deklarasikan.
Ketika memanggil fungsi dengan parameter yang dimasukkan tidak lengkap, maka program akan error
dengan pesan “missing required argument”.
Parameter Opsional
Parameter opsional adalah parameter yang seandainya tidak diisi, dia sudah memiliki nilai default.
• Jika statement return telah dieksekusi pada sebuah fungsi, maka semua proses yang ada di
dalam blok kode fungsi tersebut akan berhenti.
Variabel dalam Fungsi
Variabel memiliki ruang lingkup dan siklus hidup. Secara umum, terdapat dua ruang lingkup variabel
pada python:
1. Variabel global : variable yang bisa dipanggil dari manapun pada satu file python
2. Dan variabel local : variable yang hanya bisa hidup / dipanggil dalam satu blok kode tertentu.
Contoh :
Dengan menggunakan teknik arbitrary arguments, kita bisa membuat sebuah fungsi untuk menerima 3,
4 atau 100 argumen sekaligus.
Contoh Lain :
Arbitrary Keyword Arguments (**kwargs)
Arbitrary keyword arguments adalah istilah untuk menyebut jumlah named argumen fungsi
yang tidak bisa ditentukan atau berubah-ubah.
Jika dalam arbitrary arguments (*args) argumen fungsi ditulis langsung dengan nilai saja,
maka dalam arbitrary keyword arguments (**kwargs), argumen fungsi tersebut ditulis dalam bentuk
pasangan nama dan value. Sesampainya di dalam fungsi, parameter kwargs akan berbentuk tipe data
dictionary. Contoh :
Latihan Fungsi
• Buatlah Program menghitung FPB dan KPK berdasarkan flowchart dibawah ini, menggunakan
konsep FUNCTION pada python
Modul
Modul memungkinkan Anda mengatur kode Python secara logis. Mengelompokkan kode
terkait ke dalam modul membuat kode lebih mudah dipahami dan digunakan. Modul adalah objek
Python dengan atribut yang diberi nama yang bisa Anda bind dan dijadikan referensi.
Sederhananya, module pada python adalah sebuah file berekstensi .py yang berisi skrip python.
Nama dari modul adalah nama nama dari file itu sendiri
Membuat Modul
Implementasi baru dapat dilakukan menggunakan minimal 2 file berekstensi .py, contoh :
1. File main.py sebagai file utama yang akan dijalankan
2. File rumus.py sebagai file yang akan dijadikan sebagai modul
Isi dari File rumus.py adalah
Contoh diatas berarti kita akan memanggil modul rumus.py melalui main.py. Artinya adalah,
semua fungsi yang ada dalam file rumus.py dapat dijalankan Ketika file main.py di run. Kita juga dapat
memanggil (import) masing-masing fungsi yang ada pada modul rumus.py menggunakan cara berikut
:
Kita juga dapat menyembunyikan item agar tidak bisa diimport menggunakan cara berikut :
Perintah di atas akan mengimport semua fungsi yang ada pada modul rumus, kecuali yang diawali
dengan _.
Catatan :
1. Setiap direktori / paket harus memiliki
file __init__.py
2. Isi file init boleh kosong
Untuk masing-masing file dibuat fungsi luas_nama bangun datar dan volume_bangun ruang.
Untuk isi fungsinya bisa dituliskan nanti. Contoh :
File luas/lingkaran.py
Mengimport Paket
Kita bisa mengimpor paket dengan cara yang sama seperti mengimpor modul biasa. Kita hanya
perlu menambahkan <nama-direktori> plus dot (.) untuk pemisahnya. Contoh sintaks :
Import Paket atau Modul Menggunakan Alias
Dengan semakin banyaknya modul dan paket, tidak menutup kemungkinan akan adanya item-
item dengan nama yang sama. Misalkan pada modul lingkaran terdapat fungsi dengan nama
hitung_luas(), dan di modul persegi juga ada fungsi dengan nama yang sama. Cara yang digunakan
untuk membedakan antar item yang sama di modul atau paket berbeda adalah dengan menggunakan
alias. Berikut adalah contoh penggunaan alias :
Catatan :
Cara ini biasanya digunakan untuk
proses debugging
• OS Module
Modul OS di Python menyediakan fungsi untuk membuat dan menghapus direktori
(folder), mengambil isinya, mengubah dan mengidentifikasi direktori saat ini, dll. Contoh :
Catatan :
Fungsi Getcwd() mengembalikan directory python
• Sys Module
Modul sys menyediakan fungsi dan variabel yang digunakan untuk memanipulasi
berbagai bagian lingkungan runtime Python. Berikut adalah beberapa fungsi yang ada pada
modul sys:
1. Sys.argv : mengembalikan daftar argumen baris perintah yang diteruskan ke skrip
Python.
2. Sys.exit : digunakan untuk kembali ke konsol Python atau prompt perintah. Umumnya
digunakan untuk keluar dari program dengan aman jika terjadi exeption.
3. Sys.maxsize : mengembalikan nilai terbesar yang dapat disimpan oleh suatu variable.
• Math Module : digunakan untuk mengerjakan fungsi-fungsi umum matematika seperti, phi,
radians, sin, cos, tan, log, pow, sqrt, dll. Contoh :
• Statistics Module : digunakan untuk mengerjakan fungsi statistic matematika, seperti mean,
median, modus, standar deviasi, dll. Contoh :
• Random Module : digunakan untuk generate nilai random.
1. Method random() mengembalikan nilai random float antara 0,0 hingga 1,0
3. Method randrange() mengembalikan elemen yang dipilih secara acak dari rentang
yang dibuat oleh argumen mulai, berhenti, dan langkah.
4. Method choice() mengembalikan elemen yang dipilih secara acak dari urutan yang
tidak kosong
5. Method shuffle() digunakan untuk mengurutkan elemen pada list secara acak
Latihan Modul dan Paket
• Buatlah sebuah program menggunakan konsep modul dan paket seperti ilustrasi diatas.
Program yang dibuat dapat digunakan untuk menghitung luas bangun 2 dimensi dan volume
bangun 3 dimensi. Flowchart alur program dapat dilihat pada gambar dibawah :