← Kembali ke kursus
Pelajaran kursus · Python
Pelajaran 18

Fungsi: def, return, rekursi

Kemas langkah bernama, kembalikan hasil, dan panggil diri sendiri.

Pahami konsepnya

Fungsi dideklarasikan dengan def nama(param): lalu blok berindentasi. return mengirim hasil ke pemanggil dan segera menghentikan fungsi; tanpa return, Python mengembalikan None. Fungsi bisa mengembalikan beberapa nilai sekaligus sebagai tuple: return min, max.

Rekursi adalah fungsi yang memanggil dirinya sendiri untuk versi lebih kecil dari masalahnya. Kasus klasik faktorial: faktorial(5) = 5 * faktorial(4) = ... = 5*4*3*2*1. Syarat wajib: KASUS DASAR yang menghentikan pemanggilan — faktorial(1) = 1 — tanpanya rekursi berputar selamanya.

Docstring adalah string tiga-kutip pertama dalam fungsi — dokumentasi resmi Python: help(nama_fungsi) membacanya. Konvensi singkat menjelaskan apa, parameter, dan nilai balik.

Coba contoh kode

def diskon(harga, persen):
    """Hitung nilai diskon dari harga."""
    return harga * persen / 100

def faktorial(n):
    if n <= 1:
        return 1
    return n * faktorial(n - 1)

print(diskon(100000, 20))
print(faktorial(5))
print(help(diskon))

diskon mengembalikan satu nilai; faktorial memanggil dirinya sendiri dengan n-1 sampai kasus dasar n<=1 menghentikannya. help() membaca docstring dan menampilkannya sebagai dokumentasi.

Latihan singkat

Uji: fib(6) rekursif — harus `8`.