📖 Konsep Utama
- Base case: kondisi akhir yang menghentikan rekursi.
- Recursive case: bagian fungsi yang memanggil dirinya sendiri.
- Tanpa base case, rekursi akan berjalan terus dan menyebabkan
RecursionError.
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.
RecursionError.# 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.
Buat fungsi rekursif untuk menghitung:
f(0) = 0, f(1) = 1, f(n) = f(n-1) + f(n-2)).1234 → 1+2+3+4 = 10).Tugas tambahan: Bandingkan versi rekursif dan iteratif dari fungsi Fibonacci. Apa kelebihan dan kekurangannya?