Rekursi



3.1 Definisi
Rekursi berasal dari istilah asing “recur” (berulang/lagi-lagi timbul) adalah suatu proses yang dapat memangil dirinya sendiri. Dalam Java, rekursi adalah suatu atribut yang mengijinkan suatu metode untuk memnggil dirinya sendiri. Sedangkan metode yang dapat memanggil dirinya sendiri disebut metode rekursif (recursive methode). Contoh yang paling umum dari proses rekursi adalah dalam bidang komputasi untuk menghitung nilai faktorial dari suatu bilangan positif. Nilai faktorial dari suatu bilangan dapat dihitung dengan rumus sebagai berikut:

 
0!=1
N!=N x (N-1)! Untuk N≠0
Untuk contoh,
            2!=2x1=2
            3!=3x2x1=6
            4!=4x3x2x1=24
Cara lain untuk menghitung  nilai faktorial adalah sebagai berikut:
            3!=3x2!=6
            4!=4x3!=24
Dari rumusan di atas dapat kita tulis dengan menggunakan notasi pemrograman sebagai berikut:
Fact(0)=1
Fact(N)=N*fact(N-1)
Pada program di atas, untuk menghitung fact (n), maka harus memanggil nilai fact(n-1) yang telah diperoleh. Demikian juga untuk menghitung fact(n-1), maka fungsi harus memanggil fact(n-2), dan seterusnya.
Kekurangan proses rekursi dapat  berjalan sedikit lebih lambat daripada proses iterasi, karena adanya penambahan pemanggilan fungsi dan juga lebih banyak membutuhkan memori.
Keuntungan proses rekursi adalah dapat digunakan untuk membuat lebih jelas dan lebih sederhana beberapa algoritma daripada iterasi juga lebih singkat dalam penulisan program. Untuk contoh adalah algoritma QuickSort sangat susah diimplementasikan dengan metode iteratif.

G+

0 Komentar untuk "Rekursi"

Back To Top