🔁 Rekursi

Level: Advanced

Rekursi adalah teknik pemrograman di mana sebuah fungsi memanggil dirinya sendiri. Biasanya digunakan untuk menyelesaikan masalah yang dapat dipecah menjadi sub-masalah yang serupa. Bayangkan seperti boneka matryoshka: satu fungsi memanggil versi lebih kecil dari dirinya sendiri.

📖 Konsep Utama

🛠️ Praktik Kecil

# Faktorial dengan rekursi
def faktorial(n):
    if n == 0:
        return 1  # base case
    else:
        return n * faktorial(n - 1)  # recursive case

print(faktorial(5))  # Output: 120

👉 Fungsi faktorial() memanggil dirinya sendiri hingga mencapai base case n == 0.

🎮 Mini Challenge

Buat fungsi rekursif untuk menghitung:

Tugas tambahan: Bandingkan versi rekursif dan iteratif dari fungsi Fibonacci. Apa kelebihan dan kekurangannya?