Metoda
rekursif adalah metoda mengulang dirinya sendiri. Metoda ini memanggil dirinya
sendiri untuk melakukan proses berulang-ulang. Kasus sederhana yang sering
muncul adalah proses berulang-ulang menghitung hasil factorial. Misalnya adalah
factorial dari 5 adalah 1 x 2 x 3 x 4 x 5. Dari proses itu kita ketahui bahwa
untuk menghitung factorial 5 manualnya seperti 1 x 2 = 2, lalu hasil 2 ini
dikalikan 3 sehingga hasilnya adalah 6, lalu hasil 6 ini dikalikan lagi dengan
4 sehingga hasilnya adalah 36, lalu hasil 36 ini dikalikan dengan 5 sehingga
hasilnya adalah 120. Nah inilah yang dinamakan rekursif, hasil dari proses awal digunakan lagi untuk
proses berikutnya sampai batas yang diinginkan.
Didalam code rekursif factorial, Code yang menunjukan bahwa proses
rekursif adalah :
Hasil = faktorial(n-1) * n;
Nilai dari variable Hasil ini didapat dari pemanggilan terlebih dahulu fungsi
fak_rekursif dengan parameter mundur. Jadi secara tidak langsung, code ini
menghitung terlebih dahulu factorial dari yang kecil. Misalnya adalah factorial
5, maka code tadi itu menghitung.
Hasil = faktorial (1-1) * 1; , memanggil fungsi faktorial (0)
Hasil = faktorial (2-1) * 2; , memanggil fungsi faktorial (1)
Hasil = faktorial (3-1) * 3; , memanggil fungsi faktorial (2)
Hasil = faktorial (4-1) * 4; , memanggil fungsi faktorial (3)
Hasil = faktorial (5-1) * 5; , memanggil fungsi faktorial (4)
Karena proses awalnya adalah fak_rekursif(5-1)*5; , maka otomatis
fungsi itu memanggil fungsi fak_rekursif (4), di dalam fungsi fak_rekursif(4),
ada proses pemanggilan fungsi fak_rekursif(4-1)*4, yaitu fungsi
fak_rekursif(3). Dan seterusnya.
Untuk lebih
jelas silahkan lakukan latihan Program berikut..
public class Faktorial{public static long faktorial(long n){if(n==0){return 1;}else{return n * faktorial(n-1);}}public static void main(String[] args){long n = 5;System.out.println(n+"! = "+faktorial(5));}}
0 komentar
Posting Komentar
Kritik dan Saran Anda sangat kami perlukan