Pernah nggak kamu nulis kode yang sama di tiga tempat berbeda, lalu sadar ada bug — dan harus memperbaikinya di tiga tempat sekaligus? Rasanya kayak nyapu lantai yang sama tiga kali sehari. Capek, nggak efisien, dan menyiksa. Nah, di sinilah fungsi (function) Python hadir sebagai pahlawan. Dengan menguasai function, kamu bisa menulis kode sekali dan menggunakannya berkali-kali — persis seperti mesin fotokopi, tapi jauh lebih keren. Artikel ini adalah bagian dari seri 16 Artikel Belajar Python: Python From Zero to Zorro yang dirancang khusus buat kamu yang baru mulai.
Fungsi (Function) adalah blok kode yang diberi nama dan dirancang untuk menjalankan tugas tertentu. Kamu bisa memanggilnya kapan saja tanpa harus menulis ulang kodenya.
Kata kunci di Python: def — singkatan dari define, artinya "mendefinisikan".
🍳 Apa Itu Fungsi Python dan Kenapa Kamu Butuh Ini?
Bayangkan kamu punya warung makan. Setiap kali ada pelanggan pesan nasi goreng, kamu nggak masak dari nol dan nulis resepnya ulang di kertas baru — kamu punya satu resep yang sudah teruji, lalu tinggal ikutin. Itulah analogi fungsi dalam Python.
Tanpa fungsi, program kamu bisa terlihat seperti ini: kode yang sama ditulis berulang kali, panjang tak terkendali, dan kalau ada bug — susah banget dilacak. Dengan fungsi, kamu cukup tulis satu kali, beri nama, dan panggil kapan pun dibutuhkan.
Hampir 90% kode Python profesional ditulis dalam bentuk fungsi atau kelas. Programmer berpengalaman selalu bilang: kalau kamu nulis kode yang sama lebih dari dua kali, saatnya bikin fungsi!
Struktur Dasar Fungsi Python
def nama_fungsi(parameter): # kode yang akan dijalankan return hasil # Memanggil fungsi: nama_fungsi(nilai)
🛠️ Cara Membuat Fungsi Python: Panduan Step-by-Step
Mari kita praktek langsung! Ikuti langkah-langkah berikut untuk membuat dan menggunakan fungsi Python pertamamu:
Buat Fungsi Sederhana Tanpa Parameter
Fungsi paling dasar adalah fungsi tanpa parameter — dia cukup menjalankan perintah saat dipanggil.
def sapa_dunia(): print("Halo, dunia! Aku fungsi Python pertamamu!") # Panggil fungsinya: sapa_dunia() # Output: # Halo, dunia! Aku fungsi Python pertamamu!
Tambahkan Parameter agar Fungsi Lebih Fleksibel
Parameter adalah "bahan masukan" yang kamu berikan ke fungsi. Dengan parameter, satu fungsi bisa menangani berbagai kasus.
def sapa(nama): print(f"Halo, {nama}! Selamat belajar Python!") sapa("Budi") sapa("Siti") # Output: # Halo, Budi! Selamat belajar Python! # Halo, Siti! Selamat belajar Python!
Gunakan return untuk Mengembalikan Nilai
return adalah cara fungsi "memberikan hasil" kepada pemanggil. Tanpa return, fungsi hanya menjalankan perintah tanpa memberi balik nilai.
def hitung_luas_persegi(sisi): luas = sisi * sisi return luas hasil = hitung_luas_persegi(5) print(f"Luas persegi: {hasil}") # Luas persegi: 25
Beri Parameter Default agar Lebih Praktis
Kamu bisa memberi nilai default pada parameter. Kalau pemanggil tidak mengisi argumen, nilai default yang dipakai.
def beri_salam(nama, waktu="pagi"): print(f"Selamat {waktu}, {nama}!") beri_salam("Andi") # pakai default beri_salam("Rini", "malam") # pakai argumen # Selamat pagi, Andi! # Selamat malam, Rini!
Nama fungsi yang baik menggunakan snake_case (huruf kecil + garis bawah) dan diawali kata kerja yang menjelaskan aksinya. Contoh: hitung_total(), tampilkan_hasil(), cari_nama(). Hindari nama samar seperti fungsi1() atau f().
🗂️ Jenis-Jenis Fungsi dalam Python yang Wajib Kamu Tahu
Python punya beberapa jenis fungsi yang perlu kamu kenal. Masing-masing punya kegunaan berbeda:
| Jenis Fungsi | Ciri Khas | Contoh | Kapan Dipakai? |
|---|---|---|---|
| Fungsi Biasa | Paling umum, pakai def |
def sapa(): |
Hampir semua kebutuhan |
| Fungsi Built-in | Sudah ada di Python | print(), len() |
Operasi dasar umum |
| Fungsi Lambda | Fungsi satu baris anonim | lambda x: x*2 |
Operasi cepat, sorting |
| Fungsi Rekursif | Memanggil dirinya sendiri | def f(): f() |
Masalah berulang (faktorial, dll) |
Contoh Nyata: Fungsi Lambda
# Fungsi biasa def kali_dua(x): return x * 2 # Versi lambda (lebih ringkas) kali_dua = lambda x: x * 2 print(kali_dua(5)) # Output: 10 print(kali_dua(8)) # Output: 16
Lambda bukan pengganti fungsi biasa — dia alat yang berbeda. Gunakan lambda untuk operasi singkat dan sementara. Untuk logika yang lebih kompleks atau akan dipanggil berkali-kali, tetap pakai def. Keterbacaan kode selalu jadi prioritas!
💼 Studi Kasus: Fungsi Python di Kehidupan Nyata
Sekarang kita gabungkan semuanya dalam studi kasus yang lebih realistis. Bayangkan kamu bikin program sederhana untuk kasir mini market:
def hitung_total(harga, jumlah): """Menghitung total harga pembelian.""" return harga * jumlah def terapkan_diskon(total, persen_diskon=0): """Menghitung harga setelah diskon.""" diskon = total * (persen_diskon / 100) return total - diskon def tampilkan_struk(nama_barang, harga, jumlah, diskon=0): """Menampilkan struk belanja.""" total = hitung_total(harga, jumlah) bayar = terapkan_diskon(total, diskon) print("===== STRUK BELANJA =====") print(f"Barang : {nama_barang}") print(f"Harga : Rp{harga:,}") print(f"Jumlah : {jumlah} pcs") print(f"Diskon : {diskon}%") print(f"TOTAL : Rp{bayar:,.0f}") print("========================") # Panggil fungsi tampilkan_struk("Indomie Goreng", 3500, 5, diskon=10)
Barang : Indomie Goreng
Harga : Rp3,500
Jumlah : 5 pcs
Diskon : 10%
TOTAL : Rp15,750
========================
Setiap tugas punya fungsi sendiri — rapi dan terpisah.
hitung_total bisa dipanggil dari mana saja di program.
Nama fungsi yang jelas = kode yang mudah dipahami orang lain.
Variabel yang didefinisikan di dalam fungsi hanya bisa diakses di dalam fungsi itu (disebut scope lokal). Jangan heran kalau kamu dapat error NameError saat mencoba pakai variabel dari fungsi lain!
Perhatikan teks dalam tanda petik tiga ("""...""") di awal fungsi? Itu disebut docstring — cara Python untuk mendokumentasikan fungsi. Kebiasaan menulis docstring sejak awal akan membuat kamu terlihat seperti programmer profesional!
Kesimpulan: Kuasai Fungsi, Kuasai Python!
Sekarang kamu sudah paham bahwa fungsi (function) Python adalah alat wajib setiap programmer. Berikut ringkasan yang perlu kamu ingat:
- Fungsi dibuat dengan kata kunci
defdan bisa dipanggil berkali-kali - Parameter membuat fungsi fleksibel; return mengembalikan hasil
- Parameter default membuat fungsi lebih praktis
- Lambda cocok untuk operasi singkat;
defuntuk logika kompleks - Kode yang menggunakan fungsi Python lebih rapi, mudah dibaca, dan mudah diperbaiki
Ini adalah bagian dari seri 16 Artikel Belajar Python: Python From Zero to Zorro. Artikel selanjutnya kita akan belajar cara membaca dan menulis file — salah satu skill penting untuk program yang menyimpan data nyata!
Kalau artikel ini bermanfaat, bagikan ke teman-teman yang juga lagi belajar Python! 🚀
Seri Belajar Python: Python From Zero to Zorro
16 artikel lengkap dari nol sampai mahir — gratis!
No comments:
Post a Comment