Rekursif


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!

Selengkapnya (contoh rekursif dalam Delphi dan Java, analisis kinerja rekursif dan iteratif) silakan lihat di attachment blog ini dalam format PDF.

Iklan

Posted on Juni 17, 2007, in Pemrograman, Ulasan and tagged . Bookmark the permalink. Tinggalkan komentar.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: