Rekursif
dalam pemrograman merupakan sebuah fungsi / method yang memanggil fungsi /
method itu sendiri, sehingga terjadi proses perulangan. Oleh karena melakukan
proses perulangan, maka perlu adanya stopping role atau kondisi yang
dapat menghentikan proses perulangan tersebut.
Sedangkan fungsi faktorial memiliki
pola yang teratur, yaitu proses mengalikan secara terurut dari angka faktorial
sampai dikalikan dengan angka 1. Dari sini bisa kita tentukan, bahwa
permasalahan ini memiliki stopping role yaitu pada kondisi angka 1.
Berikut
ini adalah bahasa pemrogramannya dalam bahasa java :
package
pkg1.faktorialrekursif;
/**
*
* @author Ui PC
*/
public
class FaktorialRekursif {
public static int hitungFaktorial(int x) {
if (x == 1) {
return x;
} else {
return x * hitungFaktorial(x - 1);
}
}
public static void main(String[] args) {
int nilai = 8;
System.out.println("Hasil faktorial
" + nilai + " = " + hitungFaktorial(nilai));
}
}
Output
dari program diatas jika kita run adalah sebagai berikut :