Pernah gak sih kamu lagi masak, terus tiap mau bikin telur dadar kamu harus baca ulang resep dari nol, padahal kamu udah bikin telur dadar yang sama persis lima menit lalu? Rasanya buang-buang waktu banget, ya? Nah, ternyata banyak pemula ngoding juga ngalamin hal serupa tanpa sadar — mereka nulis baris kode yang sama berulang-ulang di berbagai tempat, padahal ada cara yang jauh lebih rapi: pakai fungsi.
Kalau kamu udah paham variabel dan looping, sekarang saatnya kenalan sama salah satu konsep paling penting dalam pemrograman ini. Fungsi bukan cuma bikin kode lebih rapi, tapi juga bikin hidup kamu sebagai programmer jauh lebih santai.
Coba bayangin kamu punya resep "cara bikin telur dadar" yang ditulis di kartu resep. Setiap kali kamu mau makan telur dadar, kamu tinggal ambil kartu itu, ikutin langkahnya, selesai. Kamu gak perlu nulis ulang instruksinya dari awal setiap kali lapar.
Fungsi dalam pemrograman kerjanya persis begitu. Fungsi adalah kumpulan instruksi yang diberi nama, disimpan sekali, lalu bisa dipanggil kapan pun dibutuhkan. Alih-alih nulis kode yang sama berkali-kali, kamu cukup bikin sekali, terus "panggil" namanya setiap butuh.
Misalnya kamu punya program yang perlu menyapa banyak orang. Tanpa fungsi, kodenya mungkin begini:
print("Halo, Budi! Selamat datang.")
print("Halo, Siti! Selamat datang.")
print("Halo, Andi! Selamat datang.")
Kalau kamu mau menyapa 100 orang, bayangin harus nulis 100 baris kayak gitu. Capek, kan? Nah, dengan fungsi, kamu cukup tulis "resep"-nya sekali:
def sapa(nama):
print("Halo, " + nama + "! Selamat datang.")
sapa("Budi")
sapa("Siti")
sapa("Andi")
Lihat bedanya? Instruksi "cara menyapa" cuma ditulis satu kali di dalam sapa(), terus dipanggil berkali-kali dengan nama yang berbeda-beda. Kalau suatu hari kamu mau ubah kalimat sapaannya, kamu cuma perlu ubah di satu tempat — gak perlu cari-cari ke seratus baris kode lain.
Selain bikin kode lebih pendek, fungsi punya beberapa manfaat yang bakal kamu rasain banget begitu proyek kodemu makin besar:
hitungTotalBelanja() langsung ngasih tahu apa fungsinya, tanpa perlu baca detail isinya.Menariknya, konsep ini bukan cuma soal "biar rapi". Menurut riset dari perusahaan software seperti GitHub, sebagian besar waktu programmer profesional dihabiskan bukan untuk menulis kode baru, tapi untuk membaca dan memahami kode lama — beberapa studi bahkan menyebut angka sekitar 70-80% waktu developer terpakai untuk membaca kode, bukan menulis. Artinya, kode yang gampang dibaca (berkat fungsi yang rapi) itu investasi besar buat masa depan kamu sendiri, atau siapa pun yang nanti melanjutkan proyekmu.
Selain sekadar menjalankan perintah kayak nyetak tulisan, fungsi juga bisa "mengembalikan" hasil perhitungan. Ini kayak kamu nyuruh temen ngitung kembalian belanja — dia gak cuma diem, tapi ngasih tahu hasilnya ke kamu.
def luas_persegi(sisi):
return sisi * sisi
hasil = luas_persegi(5)
print(hasil) # hasilnya 25
Di sini, fungsi luas_persegi() menerima angka sisi, menghitungnya, lalu mengembalikan hasilnya lewat kata kunci return. Hasil itu bisa kamu simpan di variabel dan dipakai lagi untuk keperluan lain.
Anggap aja fungsi itu kayak tombol blender. Kamu gak perlu tahu persis gimana motor di dalamnya berputar, kamu cukup masukin buah, pencet tombol, dan keluar jus. Buah yang dimasukin itu ibarat "input" atau parameter, dan jus yang keluar itu ibarat "output" atau hasil dari return.
Programmer sering menyebut prinsip ini sebagai "menyembunyikan kompleksitas". Kamu gak perlu mikirin detail rumit di dalam fungsi setiap kali pakai — cukup tahu apa yang dimasukkan dan apa yang keluar. Ini yang bikin kode besar tetap bisa dikelola tanpa bikin pusing kepala.
Sekarang coba deh lihat kode yang pernah kamu tulis sebelumnya. Ada gak bagian yang keulang-ulang persis sama? Kalau ada, itu sinyal bagus buat mulai belajar bikin fungsi sendiri.
Fungsi memang terasa seperti hal kecil di awal, tapi ini salah satu fondasi yang bakal terus kamu pakai di hampir semua bahasa pemrograman — dari Python, JavaScript, sampai bahasa lain yang lebih kompleks. Jadi, daripada nulis kode yang sama berkali-kali kayak nulis resep telur dadar dari nol setiap hari, yuk mulai biasakan bikin "resep" versi kodemu sendiri lewat fungsi!
Download semua project premium tanpa batas mulai Rp99.000.