Definisi
Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung fungsi itu sendiri. Dalam dunia pemrograman, rekursi diimplementasikan dalam sebuah fungsi yang memanggil dirinya sendiri. Istilahnya Joshua, “jeruk kok minum jeruk?”.
Ide dasar dalam memecahkan suatu masalah dengan rekursif adalah sebagai berikut:
1.Tentukan kasus penyetop atau kasus dasar di mana pemanggilan rekursif tidak lagi diperlukan (karena solusinya sudah diperoleh)
2.Terapkan suatu langkah untuk menggiring kasus kompleks ke kasus penyetopnya dengan metode yang mencerminkan fungsinya
Mari kita lihat contoh rekursif yang sederhana dan mengenyangkan. Masalah yang akan dipecahkan adalah memotong roti tawar tipis-tipis sampai habis. Jika masalah ini akan dipecahkan secara rekursif, maka solusinya adalah:
Jika roti sudah habis atau potongannya sudah paling tipis, pemotongan roti selesai
Jika roti masih bisa dipotong, potong tipis dari tepi roti tersebut, lalu lakukan prosedur 1 dan 2 untuk sisa potongannya.
Yupe, “semudah” itulah fungsi rekursif!
Kesimpulan
Rekursif merupakan salah satu teknik yang perlu Anda kuasai dalam dunia pemrograman. Sering kali, masalah yang sangat kompleks, terutama di bidang Artificial Intelligence atau Kecerdasan Buatan, cara rekursif lebih mudah diterapkan untuk memecahkan suatu masalah dibandingkan teknik iteratif. Namun demikian, Anda dapat melihat sendiri dalam attachment pada blog ini bahwa ada masalah-masalah tertentu dimana rekursif menyebabkan kinerja aplikasi Anda sangat terbebani. Lakukan analisis secara mendalam pada masalah yang akan dipecahkan, dan tentukan metode yang akan diterapkan.
Selamat berekursif!