Dalam dunia pemrograman Python, modularitas dan reusabilitas kode adalah kunci untuk membangun aplikasi yang kompleks dan mudah dikelola. Di sinilah peran kata kunci def menjadi sangat sentral. Kata kunci def (singkatan dari define atau definisikan) digunakan untuk membuat atau mendeklarasikan sebuah fungsi di Python.
Fungsi adalah blok kode terorganisir dan dapat digunakan kembali yang melakukan tugas tertentu. Dengan menggunakan def, kita dapat membungkus serangkaian instruksi di bawah satu nama, memanggilnya berkali-kali sesuai kebutuhan tanpa harus menulis ulang logika yang sama berulang kali. Ini adalah fondasi dari pemrograman terstruktur dan berorientasi objek di Python.
Sintaks dasar untuk mendefinisikan fungsi di Python sangat lugas dan mudah dibaca. Sintaks ini selalu diawali dengan def, diikuti oleh nama fungsi, tanda kurung () yang dapat berisi parameter (argumen), dan diakhiri dengan titik dua :. Blok kode di dalam fungsi harus diindentasi.
def nama_fungsi(parameter1, parameter2):
# Blok kode yang akan dieksekusi
hasil = parameter1 + parameter2
return hasil
def: Wajib ada untuk memberitahu interpreter bahwa kita sedang mendefinisikan fungsi.:): Menandakan akhir dari baris definisi dan awal dari blok fungsi.return (Opsional): Digunakan untuk mengembalikan nilai dari fungsi ke bagian kode yang memanggilnya. Jika tidak ada pernyataan return, fungsi secara otomatis mengembalikan None.
Manfaat menggunakan def dan fungsi secara umum sangat besar dalam pengembangan perangkat lunak:
hitung_luas(5, 10).Mari kita lihat contoh sederhana fungsi yang menghitung pangkat suatu bilangan:
# Definisi Fungsi
def hitung_pangkat(basis, eksponen):
"""Fungsi ini mengembalikan hasil basis dipangkatkan dengan eksponen."""
hasil = basis ** eksponen
return hasil
# Pemanggilan Fungsi
angka1 = 2
angka2 = 3
hasil_akhir = hitung_pangkat(angka1, angka2)
print(f"{angka1} dipangkatkan {angka2} adalah: {hasil_akhir}")
# Output: 2 dipangkatkan 3 adalah: 8
Dalam contoh di atas, hitung_pangkat didefinisikan menggunakan def. Ia menerima dua parameter, basis dan eksponen. Operasi inti (basis ** eksponen) dilakukan di dalam blok fungsi, dan hasilnya dikembalikan menggunakan return.
Tidak semua fungsi memerlukan input (parameter) atau perlu mengembalikan nilai secara eksplisit.
# Fungsi tanpa parameter
def sapa_dunia():
print("Halo, Dunia Python!")
# Fungsi tanpa return eksplisit (otomatis mengembalikan None)
def cetak_saja(pesan):
print(f"Pesan penting: {pesan}")
sapa_dunia()
cetak_saja("Ini adalah pesan")
Fungsi sapa_dunia hanya menjalankan sebuah aksi (mencetak teks) saat dipanggil. Sementara cetak_saja menerima input, tetapi tidak menggunakan return. Jika kita mencoba menyimpan hasil dari cetak_saja ke dalam variabel, variabel tersebut akan berisi None.
Kata kunci def adalah fondasi dari pembuatan fungsi di Python. Menguasai cara mendefinisikan, memanggil, dan mengelola parameter serta nilai kembalian (return value) adalah langkah krusial bagi setiap programmer Python untuk menulis kode yang efisien, terstruktur, dan mudah dipelihara. Fungsi memungkinkan kita untuk menerapkan prinsip DRY (Don't Repeat Yourself) secara efektif, menjadikan basis kode kita lebih ramping dan kuat.