Lompat ke konten utama
←

Matematika Diskrit

Pelajaran 9 dari 16

Rekursi, induksi, dan bilangan bulat

Relasi rekurensi dan fungsi rekursif

Setelah pelajaran ini kamu bisa menghitung suku barisan dari relasi rekurensi dan kondisi awalnya, serta menulis fungsi rekursif Python yang punya kasus dasar.

±14 menitDiperiksa 27 Sep 2026

Materi

Barisan dapat didefinisikan dengan dua cara. Rumus tertutup menghitung suku ke-n langsung dari n, misalnya aₙ = 2n + 1. Definisi rekursif terdiri atas relasi rekurensi, yaitu persamaan yang menyatakan sebuah suku dari suku-suku sebelumnya, dan kondisi awal, yaitu satu atau beberapa suku pertama. Tanpa kondisi awal, relasi rekurensi tidak menentukan barisan apa pun. Definisi rekursif muncul di mana pun keadaan hari ini dihitung dari keadaan kemarin: saldo tabungan, jumlah langkah algoritma, atau banyaknya cara menyusun sesuatu yang dibangun dari susunan yang lebih kecil.

Contoh: a₁ = 3 dan aₙ = 2aₙ₋₁ + 1. Suku-sukunya dihitung satu per satu: a₂ = 2 × 3 + 1 = 7, a₃ = 2 × 7 + 1 = 15, a₄ = 2 × 15 + 1 = 31. Barisan Fibonacci memakai dua suku sebelumnya: F₀ = 0, F₁ = 1, dan Fₙ = Fₙ₋₁ + Fₙ₋₂. Di Python, definisi rekursif ditulis sebagai fungsi yang memanggil dirinya sendiri. Kondisi awal menjadi kasus dasar, yaitu cabang yang langsung mengembalikan nilai tanpa memanggil diri lagi. Pemanggilan yang sama bisa terjadi berulang kali, dan dekorator functools.lru_cache menyimpan hasil yang sudah dihitung sehingga tidak dihitung ulang.

def suku(n):
    if n == 1:          # kasus dasar = kondisi awal
        return 3
    return 2 * suku(n - 1) + 1

print([suku(n) for n in range(1, 5)])   # [3, 7, 15, 31]

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 1 dari 3

Barisan didefinisikan a₀ = 2 dan aₙ = 3aₙ₋₁ − 1 untuk n ≥ 1. Berapa a₄?

Latihan 3 dari 3

Fungsi berikut dipanggil dengan hitung_mundur(5): def hitung_mundur(n): print(n); hitung_mundur(n - 1). Apa yang terjadi?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke