Fungsi Def Dalam Python

| | | Python
Fungsi Def Dalam Python

Apakah kalian lagi belajar pemrograman python dan mulai penasaran sama def? kalau iya, tulisan ini tempatnya pas 🙂. kita bakal bahas tuntas soal def, fungsi def, sampai cara pakainya di pemrograman sehari-hari.

def itu singkatan dari “definition”, dan ini salah satu fitur paling penting di python. def adalah cara buat mendefinisikan fungsi. fungsi sendiri itu blok kode yang bisa dipanggil berkali-kali dengan input yang beda-beda. dengan fungsi, program bisa dibagi jadi bagian-bagian kecil yang lebih gampang diatur dan dirawat.

cara pakainya gampang: tulis kata kunci def, diikuti nama fungsi dan parameter di dalam tanda kurung, lalu blok kodenya di bawah baris definisi dengan indentasi.

Contoh Dasar Def di Python

ini contoh paling sederhana penggunaan def:

def salam(nama):
    print("Halo, " + nama)

fungsi salam di atas nerima satu parameter, yaitu nama, lalu mencetak pesan salam yang isinya nilai parameter yang dikasih.

buat manggil fungsinya, tinggal tulis nama fungsi diikuti nilai parameter di dalam tanda kurung:

salam("Budi")

hasil yang muncul di layar:

Halo, Budi

fungsi yang sama bisa dipanggil berkali-kali dengan nama yang beda, misalnya salam("Andi") bakal muncul “Halo, Andi”. satu definisi, melayani banyak panggilan. ini inti kenapa fungsi itu menghemat kerja: kode ditulis sekali, dipakai selamanya.

Menjelaskan Fungsi Def Pada Python

setelah paham konsep dasarnya, sekarang kita bedah lebih dalam tentang fungsi def.

Menentukan Nilai Kembali

salah satu fitur paling penting dari fungsi adalah kemampuan ngembaliin nilai. nilai kembali (return value) itu hasil yang dikembalikan fungsi setelah selesai dieksekusi, dan bisa langsung dipakai di tempat lain.

buat ngasih nilai kembali, pakai kata kunci return di dalam fungsi:

def kuadrat(x):
    return x * x

fungsi kuadrat di atas nerima satu parameter x, lalu mengembalikan nilai x * x. buat makainya:

hasil = kuadrat(5)
print(hasil)

hasil yang muncul:

25

beda sama fungsi salam tadi yang cuma nge-print, fungsi kuadrat ini mengembalikan angkanya, jadi bisa ditampung di variabel hasil dan dipakai lagi untuk perhitungan berikutnya. di sinilah fungsi mulai terasa kuat: hasilnya bisa disambung ke proses lain.

satu hal yang wajib diingat: fungsi yang tidak punya return otomatis mengembalikan None. jadi kalau suatu saat fungsi kalian baliknya None padahal nggak diharapkan, cek dulu bagian return-nya.

Parameter Default

di python, parameter fungsi bisa dikasih nilai default. kalau nilai parameter tidak dikasih pas fungsi dipanggil, nilai defaultnya yang kepake:

def salam(nama="Dunia"):
    print("Halo, " + nama)

fungsi salam di atas kalau dipanggil tanpa argumen bakal nyetak “Halo, Dunia”. tapi kalau dikasih nilai, misalnya “Budi”, yang muncul “Halo, Budi”:

salam()
salam("Budi")

hasil yang muncul:

Halo, Dunia
Halo, Budi

parameter default ini pas banget buat fungsi yang sebagian besar pemakaiannya pakai nilai yang sama, tapi kadang butuh disesuaikan. aturannya, parameter yang punya default harus ditaruh setelah parameter yang tanpa default.

Parameter Bintang (*)

python juga mendukung parameter bintang (*) yang bikin fungsi bisa nerima jumlah parameter yang tidak terbatas:

def jumlahkan(*angka):
    total = 0
    for i in angka:
        total += i
    return total

fungsi jumlahkan di atas nerima berapa pun jumlah parameternya, semuanya ditampung jadi tuple angka, lalu dijumlahkan satu-satu. pemakaiannya:

hasil1 = jumlahkan(1, 2, 3)
hasil2 = jumlahkan(10, 20, 30, 40)

hasil yang muncul:

6
100

bayangkan kalau harus nulis jumlahkan(a, b, c) dengan parameter tetap, kalian bakal bikin banyak versi fungsi buat 2 argumen, 3 argumen, 4 argumen. dengan *args, satu fungsi melayani semuanya.

Parameter Ganda Bintang (**)

kalau bintang satu buat argumen posisi, bintang ganda (**) buat argumen yang punya nama. semuanya ditampung jadi dictionary:

def info(**data):
    for k, v in data.items():
        print(f"{k}: {v}")

fungsi info di atas nerima parameter ber-nama dalam jumlah bebas, lalu mencetak tiap nama parameter beserta nilainya:

info(nama="Budi", umur=25, pekerjaan="Programmer")

hasil yang muncul:

nama: Budi
umur: 25
pekerjaan: Programmer

pola ini sering kepake buat fungsi yang datanya dinamis, misalnya menerima isian form yang kolomnya beda-beda tiap waktu, tanpa harus nulis parameter satu-satu di definisi fungsinya.

Kesimpulan

def di python itu fondasi buat bikin kode yang terstruktur. rangkuman intinya:

  • def, kata kunci buat mendefinisikan fungsi
  • fungsi dipanggil dengan nama diikuti tanda kurung
  • return, ngembaliin nilai hasil fungsi, tanpa return hasilnya None
  • parameter default, kasih nilai bawaan kalau argumen tidak dikasih
  • *args, tampung banyak argumen posisi jadi tuple
  • **kwargs, tampung banyak argumen ber-nama jadi dictionary

dengan paham def, kode kalian bisa dibagi jadi bagian-bagian kecil yang gampang dirawat, nggak nulis hal yang sama dua kali, dan jauh lebih rapi dibaca. ini modal penting sebelum lanjut ke materi python yang lebih dalam.

buat lanjutan, bisa cek Fungsi Struktur Percabangan pada Bahasa Python atau materi baru yang lebih lengkap, belajar function dan lambda di python.

Pertanyaan yang Sering Diajukan

Apa itu def di Python?

def adalah kata kunci buat mendefinisikan fungsi di python. diikuti nama fungsi, parameter di dalam tanda kurung, lalu blok kode yang di-indent di bawahnya.

Bagaimana cara memanggil fungsi yang sudah dibuat dengan def?

cukup tulis nama fungsinya diikuti tanda kurung, contohnya salam("Budi"). kalau fungsinya butuh parameter, isi nilainya di dalam kurung.

Apa gunanya return di dalam fungsi Python?

return mengembalikan nilai hasil fungsi supaya bisa ditampung di variabel atau dipakai di ekspresi lain. fungsi tanpa return otomatis mengembalikan None.

Apa bedanya parameter *args dan **kwargs di Python?

*args menampung banyak argumen posisi jadi tuple, sedangkan **kwargs menampung banyak argumen ber-nama jadi dictionary.

Sigit Nurhanafi avatar
Full-stack developer & technical writer. Berpengalaman di PHP, Laravel, NodeJS, MySQL, dan Python. Aktif menulis tutorial pemrograman dan maintaining open-source projects di PemburuKode sejak 2021.