Dalam pemrograman komputer, istilahnya rekursif menjelaskan fungsi atau metode yang berulang kali menghitung bagian yang lebih kecil dari dirinya sendiri untuk sampai pada hasil akhir. Ini mirip dengan iterasi, tetapi alih-alih mengulangi serangkaian operasi, fungsi rekursif menyelesaikan pengulangan dengan mengacu pada dirinya sendiri dalam definisinya sendiri. Meskipun konsep pemrograman rekursif mungkin sulit dipahami pada awalnya, menguasainya bisa sangat berguna. Rekursi adalah salah satu alat dasar ilmu komputer.
Contoh klasiknya adalah metode rekursif untuk menghitung faktorial suatu bilangan. Faktorial dari bilangan bulat nyang ditulis sebagai n!, adalah hasil perkalian n dengan semua bilangan bulat positif yang kurang dari n. Misalnya, 3! = 3 x 2 x 1, yang menghasilkan 6, dan 4! = 4 x 3 x 2 x 1, yang menghasilkan 24. Cara yang efisien untuk menghitung faktorial adalah dengan fungsi rekursif.
Di bawah ini adalah contoh fungsi faktorial rekursif yang ditulis dalam JavaScript.
function factorial(n) { return (n === 0) ? 1 : n * factorial(n-1); }
Seperti yang Anda lihat, bagian dari definisi fungsi faktorial adalah hasil dari faktorial dilakukan pada bilangan bulat yang lebih kecil. Dengan memanggil dirinya sendiri, ia dapat mengalikan angka tersebut dengan setiap angka positif yang lebih kecil darinya dan kemudian mengembalikan hasil akhirnya. Fungsi rekursif dapat berguna dalam perhitungan lain, seperti menghitung angka Fibonacci atau pembagi persekutuan terbesar.
Menggunakan logika rekursif dapat memiliki beberapa kelemahan, termasuk pembuatan loop tanpa akhir dalam pemrograman. Untuk alasan ini, memiliki kondisi pelarian (seperti do until) membantu mengurangi, jika tidak menghilangkan, kemungkinan terjadinya loop tak berujung. Jika loop tak berujung terjadi, itu dapat menyebabkan program menggunakan banyak memori. Selain itu, dapat menyebabkan program, sistem operasi, atau komputer berhenti berfungsi.
Escape, Fungsi, Loop, Istilah pemrograman