adalah suatu proses yang memanggil dirinya sendiri yang
biasanya dilakukan oleh fungsi atau prosedur pada pemrograman prosedural, seperti contohnya bahasa pemrograman C, atau metode pada pemrograman berorientasi objek seperti C++ atau Java.
Rekursi Fungsi
akan terus berjalan sampai kondisi berhenti terpenuhi.
rekursif menangani variable dan argumennya melalui
tumpukan (stack), sehingga sebuah fungsi rekursif akan memerlukan waktu dan memori yang lebih banyak.
Syarat Fungsi Rekursi
Agar sebuah fungsi tidak melakukan pengulangan pemanggilan secara terusmenerus, maka harus diberi beberapa syarat. Syarat-syarat rekursi :
Harus ada kasus penghentian (termination case)
Setiap struktur pemanggilan harus lebih sederhana daripada struktur
sebelumnya.
Jenis Kode Blok pada Fungsi
Rekursi Rekursi akan terus berjalan sampai kondisi berhenti terpenuhi, oleh karena itu dalam sebuah rekursi perlu adanya blok-blok kode sebagai berikut : Basis
: Basis merupakan kode yang menjadi titik berhenti dari
sebuah proses rekursi karena proses rekursi akan terus berjalan berputar memanggil dirinya sendiri sampai sebuah kondisi basis terpenuhi (termination case).
Rekursi
: Rekursi merupakan kode dalam hal ini sebuah blok
program (prosedur, fungsi atau metode) memanggil dirinya sendiri, misalnya ada sebuah fungsi hitung hasil faktorial, bahwa di dalamnya blok kode fungsi itu memanggil dirinya sendiri.