Anda di halaman 1dari 34

Pemrograman Berbasis Open

Source
Chapter 12
Fungsi dan Prosedur pada Python
• Pada pembuatan program yang kompleks dan
memiliki banyak fitur, kita diharuskan
menggunakan fungsi.
• Kenapa memangnya kalau tidak menggunakan
fungsi?
• Bisa jadi kita akan kerepotan menulis kode
programnya, karena banyak yang harus ditulis
dan kode akan menjadi sulit dibaca dan
dirawat (maintenance).
• Dengan fungsi, kita dapat memecah program
besar menjadi sub program yang lebih
sederhana.
• Masing-masing fitur pada program dapat kita
buat dalam satu fungsi.
• Pada saat kita membutuhkan fitur tersebut,
kita tinggal panggil fungsinya saja.
Membuat Fungsi pada Python
• Fungsi pada Python, dibuat dengan kata
kunci def kemudian diikuti dengan nama
fungsinya.
• Contoh:
• Sama seperti blok kode yang lain, kita juga
harus memberikan identasi (tab atau spasi 2x)
untuk menuliskan isi fungsi.
• Setelah kita buat fungsinya, lalu apa?
• Setelah kita buat, kita bisa memanggilnya
seperti ini:
– nama_fungsi()
• Coba panggil sebanyak 3x:
• Intinya apapun yang ada di dalam fungsi,
ketika dipanggil itulah yang akan dilakukan.
• Catatan: Fungsi juga dapat dipanggil pada
fungsi lain, bahkan bisa memanggil dirinya
sendiri. Fungsi yang memanggil dirinya sendiri,
disebut fungsi rekursif.
Fungsi dengan Parameter
• Apa itu parameter?
• Parameter adalah variabel yang menampung
nilai untuk diproses di dalam fungsi.
• Contoh:

• Pada contoh diatas, kita membuat fungsi


dengan parameter ucapan.
• Lalu bagaimana cara memanggilnya?
• Cara pemanggilan fungsi yang memiliki
parameter adalah seperti ini:

• "Selamat siang" adalah nilai parameter yang


kita berikan.
• Jika parameternya lebih dari satu, Kita bisa
menggunakan tanda koma (,) untuk
memisahnya.
Fungsi yang Mengembalikan Nilai
• Fungsi yang tidak mengembalikan nilai
biasanya disebut dengan prosedur.
• Namun, kadang kita butuh hasil proses dari
fungsi untuk digunakan pada proses
berikutnya.
• Maka fungsi harus mengembalikan nilai dari
hasil pemrosesannya.
• Cara mengembalikan nilai adalah menggunkan
kata kunci return lalu diikuti dengan nilai atau
variabel yang akan dikembalikan.
• Apa bedanya dengan fungsi luas_segitiga() yang
tadi?
• Pada fungsi luas_segitiga() kita
melakukan print dari hasil pemrosesan secara
langsung di dalam fungsinya.
• Sedangkan fungsi luas_persegi(), kita
melakukan print pada saat pemanggilannya.
• Jadi, fungsi luas_persegi() akan bernilai sesuai
dengan hasil yang dikembalikan.
Variabel Global dan Lokal
• Variabel Global adalah variabel yang bisa diakses dari
semua fungsi, sedangkan variabel lokal hanya bisa diakses
di dalam fungsi tempat ia berada saja.
• Pada Python, urutan pengaksesan variabel (scope) dikenal
dengan sebutan LGB (Local, Global, dan Build-in).
• Jadi program python mulai mencari vairabel lokal terlebih
dahulu, kalau ada maka itu yang digunakan.
• Tapi kalau tidak ada, pencarian terus ke Global, dan Build-
in.
• Variabel Build-in adalah variabel yang sudah ada di dalam
Python.
• Perhatikanlah variabel nama yang berada di dalam fungsi
matakuliah() dan diluar fungsi matakuliah()
• Variabel nama yang berada di dalam fungsi matakuliah()
adalah variabel lokal.
• Jadi, saat kita memanggil fungsi matakuliah() maka nilai yang
akan tampil adalah nilai yang ada di dalam fungsi matakuliah().
• Kenapa tidak tampil yang global?
• Karena itu tadi…
• Python mulai mencari dari lokal, ke global, dan build-in.
• Kalau di tiga tempat itu tidak ditemukan, maka biasanya akan
terjadi NameError atau variabel tidak ditemukan.
Contoh Program dengan Fungsi
• Pertama kita buat sebuah variabel global
berupa list untuk menampung judul-judul
buku.
• Nanti program ini akan mampu melakukan operasi
CRUD (Create, Read, Update, dan Delete).
• Maka kita membutuhkan fungsi-fungsi berikut:
– show_data() untuk menampilkan data dari list buku;
– insert_data() untuk menambahkan data ke list buku;
– edit_data() untuk mengedit data di list buku;
– delete_data() untuk untuk menghapus data dari list buku.
• Dimulai dari fungsi show_data()
• Fungsi tersebut akan mengecek isi dari
list buku. Jika isinya kosong (len(buku) <= 0)
maka tampilkan "BELUM ADA DATA".
• Namun, apabila ada isinya, maka tampilkan
semua isinya dengan perulangan.
• Selanjutnya membuat fungsi insert_data()
• Fungsi di atas akan mengambil input dari user
kemudian diisi ke dalam list buku dengan
fungsi append().
• Fungsi append() adalah fungsi untuk
menambahkan item di akhir list.
• Selain append() ada juga prepend(). Namun,
untuk kasus ini, kita pakai append() saja.
• Selanjutnya membuat fungsi edit_data()
• Fungsi di atas akan menampilkan isi dari
list buku dengan memanggil fungsi show_data() di
dalamnya.
• Setelah itu, kita meminta user untuk menginputkan ID
atau nomer indeks buku yang akan diedit.
• Lalu kita lakukan pengecekan, jika ID yang diinputkan
melebihi dari isi list buku (indeks > len(buku)), maka
tampilkan pesan "ID salah".
• Namun, apabila tidak melebihi dari isi buku, maka
ambil input untuk judul baru dan simpan sesuai ID-nya.
• Selanjutnya membuat fungsi delete_data()
• Hampir sama dengan fungsi edit_data().
Fungsi delete_data() juga harus menampilkan
isi list buku dan mengambil ID yang akan
dihapus.
• Kita dapat menghapus item pada list dengan
fungsi remove().
• masih ada dua fungsi lagi yang kita butuhkan:
– Fungsi untuk menampilkan menu
– Fungsi untuk keluar (sudah ada di python: exit())

Anda mungkin juga menyukai