Apa itu Rekursi Ekor?

Rekursi ekor adalah jenis pemanggilan metode pemrograman di mana sebuah metode memanggil dirinya sendiri, kemudian segera mengembalikan nilai pemanggilan kedua tersebut.Dengan kata lain, rekursi ekor terjadi ketika pernyataan akhir di dalam suatu metode adalah panggilan lain ke metode yang sama.Parameter dalam pemanggilan metode kedua umumnya berbeda dari yang pertama, tetapi ini tidak diperlukan.Agar rekursi ini berfungsi, metode yang dipanggil di dalam dirinya sendiri harus mengembalikan nilai konkret, seperti angka, string, atau objek lain.Metode Void, yang tidak mengembalikan nilai, tidak berfungsi dengan baik untuk rekursi.

Rekursi ekor ada di banyak bahasa komputer, termasuk C++.

Persyaratan bahwapanggilan rekursifharus menjadi pernyataan terakhir dalam metode pemanggilannya tidak berarti bahwa panggilan rekursif adalah baris terakhir dalam metode tersebut.Panggilan rekursi ekor yang tepat juga dapat ditemukan di dalam struktur kontrol, yang berarti bahwa, dalamkode sumber, struktur kontrol dapat mengakhiri metode daripada panggilan.Perbedaan penting dalam hal ini adalah bahwa struktur kontrol bukanlah pernyataan pemrograman, tetapi bagian built-in daribahasa komputer.

Rekursi ekor ada di banyak bahasa komputer, termasuk Java dan C++.Seringkali, panggilan rekursif ini dapat ditulis ulang menggunakan cara lain, seperti perulangan for, perulangan while, atau pernyataan goto.Utilitas rekursi ditemukan saat membuat banyak panggilan berurutan ke metode yang sama.Rekursi seringkali merupakan cara terbersih dan termudah untuk menyelesaikan tugas yang berulang.

Contoh umum dari rekursi ekor adalah metode yang menghitung faktorial suatu bilangan.Proses ini ideal karena, mulai dari bilangan berapa pun, setiap bilangan sebelum dikalikan.Jadi, untuk mencari faktorial dari 5, proses yang tepat untuk melakukannya adalah mengalikan 5*4*3*2*1.Rekursi datang karena bagaimana metode faktorial terstruktur: jika faktorialnya adalah 1, kembalikan 1, jika tidak kembalikan faktorial dari angka yang diberikan ke metode dikurangi satu.Metode ini juga berguna karena dapat ditulis secara ekuivalen menggunakan salah satu jenis rekursi ekor, dengan atau tanpa pernyataan kontrol di sekitar pemanggilan metode terakhir.

Rekursi ekor hanyalah salah satu contoh dari beberapa jenis rekursi.Konsep dalam semua jenis rekursi pada dasarnya sama, bahwa dalam beberapa cara suatu metode memanggil dirinya sendiri.Dari jenis ini, perbedaan rekursi ekor adalah bahwa nilai panggilan rekursif segera dikembalikan, dan tidak ada lagi yang terjadi dalam metode panggilan setelah panggilan itu.

Related Posts