author Ahmad Muhardian

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.

Baca Juga ini

Perbedaan Perulangan While dan Do/While

Perbedaan Perulangan While dan Do/While

Pahami perbedaan perulangan while dengan do-while dalam pemrograman

Manfaat fungsi time.sleep() pada pemrograman Python

Manfaat fungsi time.sleep() pada pemrograman Python

Python memiliki sebuah modul waktu (time). Banyak fungsi-fungsi yang berkaitan tentang waktu yang dapat digunakan dengan modul tersebut. Salah satunya adalah fungsi sleep(). Fungsi ini berguna untuk menunda waktu eksekusi. Fungsi ini membawa parameter berupa angka yang menyatakan detik (lama) penundaan. Misalkan, ingin menunda selama 5 detik: time.sleep(5)Fungsi ini dapat digunakan mengimpor modul time. Contoh program, berhitung sampai sepuluh. Lama penundaan perhitungan adalah 0.5 detik: import time for i in range(10):

Belajar Javascript: Apa itu DOM API? dan Bagaimana Cara Menggunakanya?

Belajar Javascript: Apa itu DOM API? dan Bagaimana Cara Menggunakanya?

Saat kamu memutuskan akan belajar Javascript, maka wajib hukumnya memahami tentang DOM. DOM merupakan metode yang digunakan oleh Javascript untuk...

Belajar Javascript #6: Enam Jenis Operator yang Wajib Kamu Ketahui di Javascript

Belajar Javascript #6: Enam Jenis Operator yang Wajib Kamu Ketahui di Javascript

Operator merupakan hal dasar yang harus dipahami dalam pemrograman. Pada tutorial ini, kita akan belajar dan mengenal 6 jenis operator di Javascript.

Belajar Javascript: Mengenal Objek Math untuk Perhitungan Matematika

Belajar Javascript: Mengenal Objek Math untuk Perhitungan Matematika

Objek `Math` adalah objek yang berisi fungsi-fungsi matematika dan beberapa konstanta untuk melakukan perhitungan matematika seperti sin, cos, tan, eksponen, akar kuadrat, dll.

Belajar Pemrograman Python: Cara Install Python di Windows

Belajar Pemrograman Python: Cara Install Python di Windows

Instalasi python di Windows sangat gampang. Langkah-langkanya sama seperti menginstal software Windows pada umumnya, next-next-finish. Tapi ada konfigurasi yang harus dipilih ditengah-tengah proses instalasi, agar perintah Python dapat dikenali di CMD. Python yang akan di instal dalam panduan ini adalah python versi 3. Download di situs resmi python ( python.org). 1. Buka File python-3.msiSetelah download selesai, kita akan mendapatkan file python-3.4.2.msi. File python-3.