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.
0 Komentar untuk "Rekursi"