Fungsi (Function) dalam Python
Fungsi adalah blok kode yang dirancang untuk melakukan tugas tertentu. Fungsi membantu membuat program lebih modular, mengurangi duplikasi kode, dan meningkatkan keterbacaan.
Jenis Fungsi di Python
- Fungsi Bawaan (Built-in Functions)
Fungsi yang sudah disediakan oleh Python, sepertiprint()
,len()
,type()
, dll.- Contoh:
print("Hello, World!") # Output: Hello, World!
- Contoh:
- Fungsi Buatan Sendiri (User-defined Functions)
Fungsi yang dibuat oleh pengguna sesuai kebutuhan.
Membuat Fungsi dalam Python
Fungsi didefinisikan menggunakan kata kunci def
.
Sintaks Dasar:
def nama_fungsi(parameter1, parameter2, ...):
"""
(Opsional) Docstring: Penjelasan singkat tentang fungsi.
"""
# Blok kode
return nilai # (Opsional) Mengembalikan hasil
Contoh:
def tambah(a, b):
return a + b
hasil = tambah(3, 5)
print(hasil) # Output: 8
Komponen Fungsi
- Nama Fungsi
Identitas unik untuk memanggil fungsi. Harus mengikuti aturan penamaan variabel Python.- Contoh:
tambah
,hitung_luas
.
- Contoh:
- Parameter
Input yang diterima oleh fungsi untuk diolah. Parameter bersifat opsional.- Contoh:
def sapaan(nama): print(f"Halo, {nama}!") sapaan("Ahmad") # Output: Halo, Ahmad!
- Contoh:
- Blok Kode
Perintah atau logika yang dijalankan oleh fungsi. - Nilai Balikan (Return Value)
Fungsi dapat mengembalikan hasil proses menggunakan kata kuncireturn
.- Contoh:
def kali(a, b): return a * b print(kali(4, 5)) # Output: 20
- Contoh:
Parameter dan Argumen
- Parameter: Variabel yang ditentukan saat mendefinisikan fungsi.
- Argumen: Nilai yang diberikan saat memanggil fungsi.
Jenis Argumen:
- Argumen Posisi (Positional Arguments)
Argumen diberikan sesuai urutan parameter.- Contoh:
def volume_balok(p, l, t): return p * l * t print(volume_balok(2, 3, 4)) # Output: 24
- Contoh:
- Argumen Kata Kunci (Keyword Arguments)
Argumen diberikan dengan menyebut nama parameter.- Contoh:
print(volume_balok(p=2, l=3, t=4)) # Output: 24
- Contoh:
- Argumen Default
Parameter dapat memiliki nilai default jika argumen tidak diberikan.- Contoh:
def sapaan(nama="SItizen"): print(f"Halo, {nama}!") sapaan() # Output: Halo, SItizen!
- Contoh:
- Argumen Tidak Terbatas
- Gunakan
*args
untuk menerima argumen dalam bentuk tuple.def jumlahkan(*angka): return sum(angka) print(jumlahkan(1, 2, 3, 4)) # Output: 10
- Gunakan
**kwargs
untuk menerima argumen dalam bentuk dictionary.def info_mahasiswa(**data): for k, v in data.items(): print(f"{k}: {v}") info_mahasiswa(nama="Ahmad", nim="20241001") # Output: # nama: Ahmad # nim: 20241001
- Gunakan
Fungsi Lambda
Fungsi anonim (tanpa nama) yang ditulis dengan satu baris kode menggunakan kata kunci lambda
.
Sintaks:
lambda parameter: ekspresi
Contoh:
kali = lambda a, b: a * b
print(kali(3, 4)) # Output: 12
Fungsi sebagai Argumen
Fungsi dapat diteruskan ke fungsi lain sebagai argumen.
- Contoh:
def panggil_fungsi(fungsi, nilai): return fungsi(nilai) print(panggil_fungsi(lambda x: x**2, 5)) # Output: 25
Fungsi Bersarang (Nested Functions)
Fungsi dapat didefinisikan di dalam fungsi lain.
- Contoh:
def luar(): def dalam(): return "Hello dari fungsi dalam!" return dalam() print(luar()) # Output: Hello dari fungsi dalam!
Dekorator
Dekorator adalah cara untuk memodifikasi fungsi tanpa mengubah definisinya.
- Contoh:
def dekorator(fungsi): def wrapper(): print("Sebelum fungsi dijalankan") fungsi() print("Setelah fungsi dijalankan") return wrapper @dekorator def halo(): print("Halo, Dunia!") halo() # Output: # Sebelum fungsi dijalankan # Halo, Dunia! # Setelah fungsi dijalankan
Keuntungan Menggunakan Fungsi
- Modularitas: Kode lebih terorganisir dan terpisah dalam modul kecil.
- Reusable: Fungsi dapat digunakan kembali di berbagai tempat.
- Mengurangi Duplikasi: Tidak perlu menulis ulang logika yang sama.
- Meningkatkan Keterbacaan: Program lebih mudah dipahami.
Fungsi dalam Python sangat fleksibel dan mendukung berbagai fitur lanjutan untuk meningkatkan efisiensi pengembangan aplikasi.