
Belajar Python 11
Membuat dan Memakai Fungsi
oleh: Suryo Adhy Chandra, ST
Fungsi adalah sekelompok baris kode yang diberi nama, sehingga bisa dipanggil kapan saja tanpa
perlu ditulis ulang. Sebenarnya kita sudah memakai fungsi sejak bab pertama, yaitu
print(), len(), dan input(). Bedanya, kali ini kita yang
membuatnya sendiri.
1. Kenapa perlu membuat fungsi sendiri
Bayangkan sebuah program yang menghitung nilai akhir siswa di tiga tempat berbeda. Tanpa fungsi, rumus yang sama ditulis tiga kali. Kalau nanti rumusnya berubah, kita harus mengubah tiga tempat sekaligus, dan hampir pasti ada satu yang terlewat. Dengan fungsi, rumusnya ditulis sekali dan diubah sekali.
Selain menghindari pengulangan, fungsi juga membuat program lebih mudah dibaca. Nama fungsi yang baik menjelaskan maksudnya, sehingga orang lain bisa memahami alur program tanpa membaca isinya baris demi baris.
2. Bentuk dasar fungsi
def menandai awal pembuatan fungsi, diikuti nama fungsi, tanda kurung, dan
titik dua. Isi fungsi ditulis menjorok ke dalam. Perlu diingat, menulis fungsi saja tidak membuat
apa pun terjadi. Fungsi baru berjalan ketika dipanggil dengan menuliskan namanya beserta tanda kurung.
3. Fungsi dengan parameter
Parameter membuat fungsi bisa bekerja dengan data yang berbeda-beda. Nilai yang kita berikan saat memanggil fungsi disebut argumen.
Parameter boleh lebih dari satu, dipisahkan dengan koma. Urutannya penting, karena Python mencocokkan argumen dengan parameter berdasarkan urutan.
4. Mengembalikan nilai dengan return
Ini bagian yang paling sering membingungkan pemula. Perintah print() hanya menampilkan
ke layar, sedangkan return menyerahkan nilai kembali ke bagian program yang memanggil,
sehingga nilai itu bisa disimpan dan dipakai lagi.
return diganti menjadi print, maka variabel hasil
akan bernilai None dan perhitungan hasil * 2 langsung memunculkan kesalahan.
Aturan praktisnya: pakai return kalau nilainya masih akan diolah, dan pakai
print kalau memang hanya perlu ditampilkan.
5. Nilai bawaan untuk parameter
Parameter bisa diberi nilai bawaan, sehingga argumennya boleh tidak diisi saat pemanggilan.
6. Menggabungkan dengan percabangan dan perulangan
Kekuatan fungsi terasa ketika digabungkan dengan bab-bab sebelumnya. Contoh berikut memakai percabangan di dalam fungsi, lalu memanggilnya dalam perulangan.
Perhatikan betapa mudahnya membaca baris terakhir. Kita tidak perlu tahu isi fungsi
predikat untuk memahami maksud programnya. Inilah keuntungan memberi nama yang jelas.
7. Ruang lingkup variabel
Variabel yang dibuat di dalam fungsi hanya hidup di dalam fungsi itu. Setelah fungsi selesai dijalankan, variabel itu hilang. Ini disebut variabel lokal.
return, bukan mengandalkan variabel bersama.
8. Kebiasaan menulis fungsi yang baik
- Satu fungsi sebaiknya mengerjakan satu hal saja. Kalau namanya perlu memuat kata "dan", biasanya fungsi itu terlalu banyak tugas.
- Beri nama memakai kata kerja yang jelas, misalnya
hitung_totalataucek_kelulusan, bukanprosesataudata1. - Hindari fungsi yang terlalu panjang. Kalau isinya lebih dari sekitar dua puluh baris, pertimbangkan memecahnya.
- Tambahkan penjelasan singkat di baris pertama fungsi bila maksudnya tidak langsung jelas.
9. Latihan
- Buat fungsi
keliling_lingkaran(jari_jari)yang mengembalikan kelilingnya, lalu panggil untuk tiga jari-jari berbeda. - Buat fungsi
terbesar(a, b, c)yang mengembalikan bilangan terbesar dari tiga masukan tanpa memakai fungsi bawaanmax. - Buat fungsi
rata_rata(daftar)yang menerima sebuah list angka dan mengembalikan rata-ratanya.
sum(daftar) untuk menjumlahkan dan
len(daftar) untuk menghitung banyak datanya. Jangan lupa menangani kemungkinan
daftarnya kosong, karena pembagian dengan nol akan menghentikan program.