author

Memahami Cara Kerja Fungsi Rekursif


recursive

Fungsi rekursif dalam pemrograman merupakan fungsi yang memanggil dirinya sendiri. Fungsi rekursif sering saya bayangkan seperti perulangan. Karena tingkah lakunya yang mengulang-ulang setiap pemanggilan dirinya.

Berikut ini contoh sederhana fungsi rekursif.

Python:

def fungsiRekursif():
    print("Hello, ini fungsi rekursif")
    fungsiRekursif()

Javascript:

function fungsiRekursif(){
    console.log("Hello, ini fungsi rekursif");
    fungsiRekursif();
}

Dua contoh fungsi di atas akan menampilkan teks "Hello, ini fungsi rekursif" terus menerus, karena memanggil dirinya sendiri tampa henti.

Fungsi rekursif dapat menyelesaikan beberapa persoalan seperti perhitungan bilangan fibbonaci dan faktorial.

Berikut ini animasi fungsi rekursif dalam menghitung faktorial dari 5.

Fungsi rekursif untuk faktorial mungkin cukup membingungkan. Animasi di atas dapat kita jabarkan menjadi seperti berikut ini.

faktorial(5) = 5 * faktorial(4)
faktorial(4) = 4 * faktorial(3)
faktorial(3) = 3 * faktorial(2)
faktorial(2) = 2 * faktorial(1)
faktorial(1) = 1

Maka faktorial(5) = 5 * 4 * 3 * 2 * 1, akan menghasilkan 120.

Cara lain yang lebih mudah memahami fungsi rekursif adalah dengan membayangkan sebuah lukisan seperti berikut ini:

Lukisan Rekursif

(sumber: http://s.id/3dG)

Sebuah lukisan dilukis oleh seorang pelukis yang dilukis oleh seorang pelukis yang dilukis oleh seorang pelukis… (sumber: http://programmers.stackexchange.com/a/93852).

Ada satu lagi. Video yang mengulang dirinya sendiri:

Fungsi Rekursif

(sumber: penjee.com)

Saya kira, dari contoh animasi dan lukisan di atas, kita dapat memahami cara kerja fungsi rekursif.

Sekian tulisan pendek ini, kalau ada yang kurang, silahkan ditambahkan.