RECURSION

Recursion atau rekursif adalah sebutan untuk fungsi yang memanggil fungsi itu sendiri. Rekursif dapat digunakan sebagai pengganti looping, tapi kurang efektif. Sehingga pada kasus tertentu looping atau repetisi lebih baik digunakan daripada rekursif. Rekursif digunakan untuk kasus tertentu yang tidak dapat menggunakan looping.

Struktur dari sebuah rekursif sama seperti struktur fungsi, namun ada yang disebut base case sebagai kondisi yang menghentikan rekursif tersebut. Jika tidak ada, maka akan terjadi looping forever atau fungsi tersebut memanggil dirinya sendiri tanpa henti.

Contoh rekursif yang umum adalah:
- Factorial
 
Output :


Pada contoh diatas, 5! adalah
5 * 4! dimana 4! adalah
4 * 3! dimana 3! adalah
3 * 2! dimana 2! adalah
2 * 1! dimana 1! adalah 1.
Maka 2! = 2 * 1 = 2,
3! = 3 * 2! = 3 * 2 = 6,
4! = 4 * 3! = 4 * 6 = 24,
5! = 5 * 4! = 5 * 24 = 120,
maka outputnya adalah 120.

- Fibonacci

Output :


Pada contoh diatas, fibonacci ke 8 adalah
fibonacci ke 7 + fibonacci ke 6 dimana fibonacci ke 7 adalah
fibonacci ke 6 + fibonacci ke 5 dimana fibonacci ke 6 adalah
fibonacci ke 5 + fibonacci ke 4 dan seterusnya sampai fibonacci ke 2 dimana fibonacci ke 2 adalah
fibonacci ke 1 (hasil = 1) + fibonacci ke 0 (hasil = 0).
Lalu dapatlah hasilnya fibonacci ke 6 adalah 8.

Inti dari rekursif ini adalah fungsi yang memanggil dirinya sendiri dengan syarat harus mempunyai satu kondisi yang menghentikan fungsi tersebut memanggil dirinya sendiri agar tidak terjadi looping forever.





Comments