Daftar Isi:
Definisi - Apa yang dimaksud dengan Loop Rekursif?
Loop rekursif dikatakan telah terjadi ketika suatu fungsi, modul atau entitas terus membuat panggilan ke dirinya sendiri berulang kali, sehingga membentuk loop yang hampir tidak pernah berakhir. Konstruksi rekursif digunakan dalam beberapa algoritma seperti algoritma yang digunakan untuk menyelesaikan masalah Menara Hanoi. Sebagian besar bahasa pemrograman menerapkan rekursi dengan memungkinkan suatu fungsi memanggil dirinya sendiri.
Loop rekursif juga dikenal hanya sebagai rekursi.
Techopedia menjelaskan Loop Rekursif
Loop rekursif adalah tipe khusus dari konstruksi looping di mana entitas tertentu mencoba untuk memanggil dirinya sendiri dari dalam kode loop-nya. Dengan demikian entitas terus memanggil dirinya sendiri hingga kondisi atau istirahat tertentu ditentukan. Loop rekursif biasanya diimplementasikan dengan bantuan panggilan fungsi rekursif di mana panggilan ke fungsi tertentu ditempatkan dalam definisi fungsi itu sendiri.
Bahasa pemrograman yang mampu menerapkan loop rekursif dapat memecahkan masalah yang memerlukan penggunaan struktur berulang seperti "sementara" dan "untuk" hanya dengan menggunakan loop rekursif saja. Jadi loop rekursif dapat menggantikan konstruksi loop tradisional dan kadang-kadang berguna dalam menciptakan kode yang kurang besar. Ini juga menyederhanakan kode dan membantu dalam memecah kode kompleks menjadi pernyataan sederhana.
Beberapa aplikasi masalah yang paling umum dari fungsi rekursif termasuk Menara Hanoi, perhitungan untuk seri untuk e = 1/0! +1/1! + 1/2 + …, perhitungan gcd, faktorial, dan sebagainya.
Rekursi juga digunakan dalam kasus ketika programmer tidak yakin tentang ukuran data yang tepat.
Rekursi dalam komputasi dapat diklasifikasikan ke dalam tipe berikut:
- Rekursi tunggal
- Rekursi berulang
- Rekursi tidak langsung
- Rekursi anonim
- Rekursi struktural
- Rekursi generatif
Menggunakan loop rekursif dapat mempengaruhi kinerja program. Loop rekursif memanfaatkan tumpukan memori dan ketika tumpukan penuh, loop mungkin berakhir sebelum waktu terminasi yang dimaksud.