
Mengenal Break, Continue, dan Pass di Python
Dalam pemrograman Python, mengontrol alur eksekusi program adalah keterampilan penting yang harus dikuasai.
Fungsi (function) adalah salah satu konsep fundamental dalam pemrograman, termasuk di Python. Dengan fungsi, kita bisa mengelompokkan kode yang memiliki tugas tertentu sehingga lebih mudah digunakan kembali, lebih rapi, dan mudah dipelihara. Pada artikel ini, kita akan membahas apa itu fungsi, bagaimana cara membuat fungsi di Python, serta bagaimana menggunakan parameter dan mengembalikan nilai dari fungsi.
Function adalah blok kode yang hanya akan dijalankan ketika dipanggil. Fungsi dapat menerima input (parameter/argumen), melakukan proses tertentu, dan mengembalikan hasil (opsional).
Manfaat menggunakan fungsi:
Untuk membuat fungsi di Python, gunakan kata kunci def
diikuti nama fungsi, tanda kurung, dan titik dua. Contoh:
def sapa():
print("Halo, selamat datang di Python!")
Untuk menjalankan fungsi, cukup panggil namanya diikuti tanda kurung:
sapa()
Halo, selamat datang di Python!
Catatan: Nama fungsi di Python sebaiknya menggunakan huruf kecil dan underscore (
_
) jika lebih dari satu kata, misal:hitung_luas
.
Parameter adalah variabel yang didefinisikan dalam tanda kurung saat membuat fungsi. Parameter memungkinkan kita mengirim data ke dalam fungsi.
Contoh fungsi dengan satu parameter:
def sapa_nama(nama):
print(f"Halo, {nama}! Selamat belajar Python.")
Memanggil fungsi dengan argumen:
sapa_nama("Budi")
sapa_nama("Ani")
Halo, Budi! Selamat belajar Python.
Halo, Ani! Selamat belajar Python.
Fungsi juga bisa memiliki lebih dari satu parameter:
def tambah(a, b):
print(f"Hasil: {a + b}")
tambah(3, 5)
tambah(10, 7)
Hasil: 8
Hasil: 17
Fungsi bisa mengembalikan nilai menggunakan kata kunci return
. Nilai ini bisa disimpan dalam variabel atau digunakan langsung.
def kali(a, b):
return a * b
hasil = kali(4, 5)
print(f"Hasil perkalian: {hasil}")
Hasil perkalian: 20
Jika fungsi tidak memiliki return
, secara default akan mengembalikan None
.
Kita bisa memberikan nilai default pada parameter. Jika argumen tidak diberikan saat pemanggilan, nilai default akan digunakan.
def sapa_pengguna(nama="Pengunjung"):
print(f"Halo, {nama}!")
sapa_pengguna("Cindy")
sapa_pengguna()
Halo, Cindy!
Halo, Pengunjung!
Saat memanggil fungsi, kita bisa menyebutkan nama parameternya secara eksplisit (keyword arguments). Ini membuat kode lebih jelas dan urutan argumen bisa diubah.
def biodata(nama, umur, kota):
print(f"Nama: {nama}, Umur: {umur}, Kota: {kota}")
biodata("Dodi", 20, "Bandung")
biodata(umur=25, kota="Jakarta", nama="Eka")
Nama: Dodi, Umur: 20, Kota: Bandung
Nama: Eka, Umur: 25, Kota: Jakarta
Kadang kita ingin fungsi menerima jumlah argumen yang tidak pasti. Gunakan *args
untuk menerima banyak argumen posisi, dan **kwargs
untuk banyak argumen keyword.
def jumlahkan(*angka):
total = 0
for n in angka:
total += n
return total
print(jumlahkan(1, 2, 3))
print(jumlahkan(5, 10, 15, 20))
6
50
def tampilkan_data(**data):
for key, value in data.items():
print(f"{key}: {value}")
tampilkan_data(nama="Budi", umur=21, kota="Surabaya")
nama: Budi
umur: 21
kota: Surabaya
Python mendukung konsep fungsi di dalam fungsi (nested function) dan fungsi yang mengembalikan fungsi lain (closure). Ini adalah fitur lanjutan yang sangat berguna, terutama untuk membuat fungsi dinamis atau membungkus logika tertentu.
Nested function adalah fungsi yang didefinisikan di dalam fungsi lain. Fungsi ini hanya bisa diakses dari dalam fungsi induknya.
def salam(ucapan):
def sapa(nama):
return f"{ucapan}, {nama}!"
return sapa
salam_pagi = salam("Selamat pagi")
print(salam_pagi("Budi"))
Selamat pagi, Budi!
Closure terjadi ketika fungsi dalam (inner function) “mengingat” nilai dari variabel di fungsi luarnya, meskipun fungsi luar sudah selesai dieksekusi. Closure sering digunakan untuk membuat fungsi dengan konfigurasi tertentu.
Contoh closure untuk membuat fungsi pangkat:
def pangkat(n):
def hitung(x):
return x ** n
return hitung
kuadrat = pangkat(2)
kubik = pangkat(3)
print(kuadrat(5))
print(kubik(2))
25
8
Pada contoh di atas, fungsi pangkat
mengembalikan fungsi hitung
yang masih “mengingat” nilai n
dari fungsi luarnya. Dengan closure, kita bisa membuat fungsi baru dengan perilaku yang berbeda-beda sesuai kebutuhan.
Docstring adalah string khusus yang diletakkan tepat setelah deklarasi fungsi (di dalam tanda kutip tiga, """ ... """
). Docstring berfungsi sebagai dokumentasi singkat yang menjelaskan tujuan, parameter, dan nilai kembali dari fungsi tersebut. Dengan docstring, orang lain (atau diri sendiri di masa depan) bisa lebih mudah memahami cara kerja dan penggunaan fungsi hanya dengan membaca dokumentasinya, tanpa harus melihat seluruh isi kode.
Contoh penggunaan docstring pada fungsi:
def luas_segitiga(alas, tinggi):
"""
Menghitung luas segitiga.
alas: panjang alas (float/int)
tinggi: tinggi segitiga (float/int)
return: luas segitiga (float)
"""
return 0.5 * alas * tinggi
print(luas_segitiga(10, 5))
25.0
Docstring juga bisa diakses menggunakan fungsi help()
atau atribut .__doc__
:
print(luas_segitiga.__doc__)
Menghitung luas segitiga.
alas: panjang alas (float/int)
tinggi: tinggi segitiga (float/int)
return: luas segitiga (float)
Dengan menuliskan docstring, kode menjadi lebih terstruktur dan mudah digunakan oleh orang lain, terutama dalam proyek besar atau saat membuat library.
def kalkulator(a, b, operasi):
if operasi == "+":
return a + b
elif operasi == "-":
return a - b
elif operasi == "*":
return a * b
elif operasi == "/":
if b == 0:
return "Error: Pembagian dengan nol"
return a / b
else:
return "Operasi tidak dikenali"
print(kalkulator(10, 5, "+"))
print(kalkulator(10, 0, "/"))
15
Error: Pembagian dengan nol
def validasi_email(email):
return "@" in email and "." in email
email = "[email protected]"
if validasi_email(email):
print("Email valid")
else:
print("Email tidak valid")
Email valid
def tampilkan_mahasiswa(*nama):
print("Daftar Mahasiswa:")
for n in nama:
print(f"- {n}")
tampilkan_mahasiswa("Budi", "Ani", "Cindy")
Daftar Mahasiswa:
- Budi
- Ani
- Cindy
No | Tip | Penjelasan |
---|---|---|
1 | Gunakan nama fungsi yang jelas | Nama fungsi sebaiknya deskriptif dan sesuai tugasnya |
2 | Tambahkan docstring | Sertakan penjelasan singkat di awal fungsi |
3 | Hindari fungsi terlalu panjang | Fungsi sebaiknya melakukan satu tugas spesifik |
4 | Manfaatkan parameter default | Untuk membuat fungsi lebih fleksibel |
5 | Gunakan *args dan **kwargs jika perlu | Untuk argumen yang jumlahnya tidak pasti |
6 | Return nilai jika hasil fungsi dibutuhkan | Jangan hanya print, gunakan return jika ingin hasilnya dipakai lagi |
7 | Jangan lupa panggil fungsi | Fungsi tidak akan berjalan jika tidak dipanggil |
Fungsi adalah alat penting dalam pemrograman Python untuk membuat kode yang rapi, terstruktur, dan mudah digunakan ulang. Dengan memahami cara membuat fungsi, menggunakan parameter, mengembalikan nilai, serta fitur lanjutan seperti *args
dan **kwargs
, Anda bisa menulis program Python yang lebih efisien dan profesional.
Teruslah berlatih membuat fungsi sendiri untuk berbagai kebutuhan, mulai dari yang sederhana hingga kompleks. Dengan begitu, Anda akan semakin mahir dalam pemrograman Python. Selamat mencoba dan happy coding!
Dalam pemrograman Python, mengontrol alur eksekusi program adalah keterampilan penting yang harus dikuasai.
Perulangan (loops) adalah salah satu konsep dasar yang sangat penting dalam pemrograman.
Percabangan atau conditional statements adalah salah satu konsep fundamental dalam pemrograman.
Dalam pemrograman, operator adalah simbol khusus yang digunakan untuk melakukan operasi pada variabel dan nilai.