Listing Program 1 (rekursif

)
==================================================================
#include <stdio.h>
#include <stdlib.h>
int main(void){
int m;
int faktorial (int k);
printf("Masukan sembarang bilangan positif>");
scanf ("%d",&m);
printf("\nMelalui Perhitungan rekursif, %d! =
%d\n",m,faktorial(m));
system("pause");
return 0;
}
int faktorial (int k){
if (k==0)
return 1;
else
return k*faktorial(k-1);
}
==================================================================
Deskripsi penjelasan dari listing program diatas adalah sebagai berikut :
Listing program diatas merupakan contoh program yang menggunakan
fungsi Rekursif Di dalam mencari nilai faktorial dari angka yang telah
dimasukkan. Rekursif adalah merupakan suatu fungsi yang memanggil
dirinya sendiri.

Bentuk perhitungan fungsi rekursif adalah sebagai berikut :
Misalkan user melakukan inputan angka 4 sebagai bilangan positif, maka
perhitungan menjadi 4*3*2*1
int m; merupakan inisialisasi variabel m dengan tipe data integer
sebagai proses perhitungan.
int faktorial(int k); merupakan inisialisasi variabel dengan nama
faktorial yang dimana digunakan untuk dilakukan perhitungan dan
variabel yang akan dijadikan variabel dalam melakukan perhitungan
secara rekursif.
printf("Masukan sembarang bilangan positif>"); adalah perintah awal
yang digunakan untuk melakukan penginputan bilangan positif yang
kemudian akan dilakukan proses dengan fungsi rekursif. Kemudian
perintah dibawah ini
printf("\nMelalui Perhitungan rekursif, %d!-%d\n",m,faktorial(m));
adalah perintah yang akan mengeksekusi fungsi angka faktorial, dimana
angka faktorial terus berulang selama nilai variabel k belum bernilai
0, maka akan mengembalikan nilai dengan mengoperasikan perintah
selanjutnya dan namun jika sudah benar (0) maka akan mengembalikan
nilai k*faktorial (k-1);

Bentuk perhitungan seperti pada tabel dibawah ini : Nilai K Proses Return Proses Nilai Rekorsif Inputan K = 4 4*faktorial (4-1) 4*? K = (4-1) = 3 3*faktorial (3-1) 4*3? K = (3-1) = 2 2*faktorial (2-1) 4*3*2? K = (2-1) = 1 1*faktorial (1-1) 4*3*2*1*? K = (1-1) = 0 1 4*3*2*1*1 Hasil 24 Dan apabila program dijalankan. maka akan menghasilkan output program seperti gambar dibawah ini : .