Anda di halaman 1dari 14

Function, Modul, dan Paket

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.

Pada python, terdapat 3 komponen penting penyusun modularitas :


1. Fungsi
2. Modul
3. Paket

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.

Python Main Function


Fungsi utama Python adalah titik awal dari program apa pun. Saat program dijalankan, juru bahasa
python menjalankan kode secara berurutan. Fungsi utama dijalankan hanya ketika dijalankan sebagai
program Python. Itu tidak akan menjalankan fungsi utama jika diimpor sebagai modul.

Fungsi dengan Argument atau Parameter

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.

Fungsi dengan Parameter Tidak Berurut


Kita dapat mendefinisikan parameter dengan tidak berurutan. Cara yang dilakukan adalah dengan
langsung memasukkan nilai parameter ke dalam fungsi yang dipanggil. Contoh :

Fungsi Return (Mengembalikan Nilai)

1. Kata kunci return berfungsi untuk mengembalikan nilai.


2. Nilai yang dikembalikan suatu fungsi, bisa kita olah kembali untuk berbagai kebutuhan.

• 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 :

Manakah yang termasuk variable global dan variable local ??

Arbitrary Arguments (*args)


Arbitrary arguments adalah istilah untuk menyebut jumlah argumen yang tidak bisa ditentukan
atau berubah-ubah.
Fungsi sapa_teman() di defenisikan dengan 3 parameter, yakni nama1, nama2 dan nama3. Pada
saat pemanggilan fungsi di baris 6, ketiga parameter ini harus diisi. Jika kita memanggil fungsi
sapa_teman() dengan 4 parameter, akan terjadi error

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 :

Akses Nilai **KWARGS


Sesampainya di dalam function, isi parameter **kwargs bisa diakses dengan perulangan for.
Ini kurang lebih sama seperti di dalam *args. Namun ada sedikit kendala yang bisa terjadi seperti
percobaan berikut:

Menggabung Argument Biasa + *args + **kwargs


Untuk fungsi yang kompleks, kita bisa menggabung penulisan argument atau parameter biasa
dengan arbitrary arguments (*args) serta arbitrary keyword arguments (**kwargs). Jika sebuah fungsi
punya ketiga jenis argument ini, maka urutannya harus sebagai berikut:
1. Argument / parameter biasa
2. Arbitrary arguments (*args)
3. Arbitrary keyword arguments (**kwargs)
Contoh Kode :
Jika urutan tidak sesuai, maka akan menampilkan pesan error :

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

Sedangkan isi dari main.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 _.

Ketika dijalankan, maka hasilnya akan error :


Paket
Paket pada python adalah sebuah cara untuk mengelola dan mengorganisir modul-modul
python dalam bentuk direktori, memungkinkan sebuah modul untuk diakses menggunakan
“namespace” dan dot lokasi. Secara sederhana, paket (atau packages) pada python adalah direktori
biasa, yang di dalamnya terdapat modul-modul python.
Contoh kita akan membuat sebuah aplikasi menghitung luas bangun datar dan volume bangun
ruang. Setiap jenis bangun datar atau bangun ruang kita buat menjadi 1 modul masing-masing.
Sedangkan setiap perhitungan akan dikelompokkan menjadi 1 paket. Maka ilustrasi diatas, struktur
program akan menjadi seperti berikut:

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 :

Menampilkan Path atau Nama File dari Modul


Jika kita ingin mengetahui lokasi file dari modul yang akan diimport, kita bisa menggunakan
fungsi __file__ yang disediakan oleh python. Contoh nya adalah

Catatan :
Cara ini biasanya digunakan untuk
proses debugging

Paket dan Modul Bawaan Python


Python menyediakan modul build in yang dapat langsung dipakai seperti berikut:

• 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.

4. Sys.path : mengembalikan lokasi sebuah file.

5. Sys.version : mengembalikan versi python yang terinstall

• 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

2. Method randint() mengembalikan nilai random positif dalam range tertentu

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 :

Anda mungkin juga menyukai