Menu
CoddyTech

Fungsi Rekursif Bagian 2

Termasuk bagian Logika dan Alur dalam perjalanan Python di Coddy. Pelajaran 61 dari 78.

Fungsi rekursif biasanya memiliki dua bagian:

  1. Kasus Dasar: Menentukan kapan rekursi harus berhenti.
  2. Langkah Rekursif: Memanggil fungsi itu sendiri dengan input yang lebih kecil.

Contoh: Menghitung faktorial menggunakan rekursi:

def factorial(n):
    if n == 1:  # Kasus dasar
        return 1
    return n * factorial(n - 1)  # Pemanggilan rekursif

print(factorial(5))  # output: 120

Di sini, fungsi terus memanggil dirinya sendiri dengan n - 1 sampai mencapai 1, tempat rekursi berhenti.

Contoh: Membalik string:

def recursive_reverse(s):
	if len(s) <= 1:  # Kasus dasar: string kosong atau satu karakter
		return s
	else:
		return recursive_reverse(s[1:]) + s[0]  # Langkah rekursif

text = "hello"
result = recursive_reverse(text)
print(result)
# Output: olleh

Dalam contoh ini, fungsi recursive_reverse memanggil dirinya sendiri dengan sisa string (s[1:]) hingga string kosong atau hanya memiliki satu karakter. Setiap pemanggilan menambahkan karakter pertama ke hasil pemanggilan rekursif, sehingga string terbalik.

challenge icon

Tantangan

Mudah

Tulis fungsi rekursif bernama fibonacci yang menerima bilangan bulat positif n sebagai argumen dan mengembalikan bilangan Fibonacci ke-n. Urutan Fibonacci didefinisikan sebagai berikut:

  • fibonacci(1) = 0
  • fibonacci(2) = 1
  • fibonacci(n) = fibonacci(n-1) + fibonacci(n-2) untuk n > 2.

Contoh Input:

n = 6

Contoh Output:

5

Coba sendiri

def fibonacci(n):
    # Tulis kodemu di sini
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Python online