Take this out !
Rekursif
berarti suatu proses yang memanggil dirinya sendiri. Dalam rekursif sebenarnya
terkandung pengertian prosedur atau fungsi. Perbedaannya adalah bahwa rekursif
bisa memanggil ke dirinya sendiri, tetapi prosedur atau fungsi harus dipanggil
lewat pemanggil prosedur atau fungsi. Rekursif merupakan teknik pemrograman
yang penting, dan beberapa bahasa pemrograman modern mendukung keberadaan
proses rekursif ini.
Pemanggilan
prosedur atau fungsi ke dirinya sendiri bisa berarti proses yang berulang yang tidak
bisa diketahui kapan akan berakhir. Dalam pemakaian sehari-hari, rekursi
merupakan teknik pemrograman yang berdaya guna untuk digunakan pada pekerjaan
pemrograman dengan mengeksperisikannya ke dalam suku-suku dari program lain
dengan menambahkan langkahlangkah sejenis. Contoh paling sederhana dari proses
rekursi adalah menghitung nilai faktorial dari bilangan bulat. Nilai faktorial,
secara rekursif dapat ditulis sebagai :
0!
= 1
N!
= N x (N-1)!, Untuk N > 0
yang secara
notasi pemrograman bisa ditulis sebagai:
FAKTORIAL
(0) = 1 1)
FAKTORIAL
(N) = N * FAKTORIAL (N-1) 2)
Persamaan
2) di atas merupakan contoh hubungan rekurens (recurrence relation), yang berarti bahwa nilai suatu fungsi dengan
argumen tertentu bisa dihitung dari fungsi yang sama dengan argumen yang lebih
kecil. Persamaan 1) yang tidak bersifat rekursif, disebut nilai awal. Setiap
fungsi rekursi paling sedikit mempuyai 1 (satu) nilai awal; jika tidak, fungsi
tersebut tidak bisa dihitung secara eksplisit.
Proses Rekursif
Untuk memahami
proses rekursif yang terjadi dalam sebuah fungsi rekursif, perhatikan contoh
sederhana di bawah ini. Contoh di bawah ini menyajikan satu fungsi untuk menghitung
harga pangkat suatu nilai bilangan bulat misalnya 35, berdasarkan
hubungan rekurens seperti dijelaskan diatas, maka proses rekursif akan tampak
pada gambar berikut ini:
Gambar 2.1
Ilustrasi Penghitungan pangkat secara rekursif
Dari
definisi tersebut, statemen pertama menunjukkan nilai yang utama dari fungsi,
dan statemen kedua menunjukan perulangan penurunan dari n yaitu n-1.
Selain fungsi,
prosedur juga dapat dilakukan operasi rekursif. Sebagai contoh penggunaan proses
rekursif pada prosedur adalah prosedur pencarian biner (binary search). Dalam
beberapa hal rekursif kurang efisien dibandng proses iterasi. Dalam artian
pemecahan secara rekursif dan secara iterasi mempunyai keuntungan dan
kekurangan yang bisa saling diperbandingkan. Adalah cukup sulit untuk
menentukan mana yang paling sederhana, paling jelas, paling efisien dan paling
mudah dibanding
yang lain. Bisa ditambahkan, pemilihan secara iteratif maupun rekursif boleh dikatakan
merupakan kesenangan seorang programmer sesuai dengan keinginannya.
Contoh fungsi rekursif :
Sumber
:
2. http://yohandamandala.blogspot.com/2009/11/method-in-c.html Untuk liat lengkapnya download lewat link di bawah ini ya guys. Semoga bermanfaat. ^^
4shared klik disini
Mediafire klik disini
Dropbox klik disini