FUNGSI REKURSIF (FAKTORIAL)
Deskripsi:
Video tutorial program diatas merupakan program fungsi rekursif untuk
factorial dimana merupakan suatu perhitungan matematika yang melakukan
perkalian mundur. Contohnya apabila di inputkan nilai 4! (factorial) maka
didapatkan hasil perhitungan 4!=4x3x2x1.
Rekursi merupakan suatu fungsi yang memanggil dirinya sendiri. Fungsi rekursi ini digunakan dalam menyelesaikan kasus diatas. Pada program diatas rekursi ditunjukkan pada baris perintah k*Faktorial(k-1);. Dimana fungsi tersebut terus
berulang selama nilai variabel k (atau parameter fungsi) bukan 0.
berulang selama nilai variabel k (atau parameter fungsi) bukan 0.
Source Code:
//Program Fungsi Rekursif Faktorial
#include <stdio.h>//Library Input - Output
#include <stdlib.h>//Library Jeda
int main(void){
int m;//Variabel tipe data integer
int Faktorial(int k);//prototype fungsi faktorial
printf("===============================================================================\n");
printf("==================Perintah Untuk Menampilkan Fungsi Faktorial==================\n");
printf("===============================================================================\n");
printf("Masukan sebarang bilangan bulat positif>");//perintah mencetak untuk inputan bulat positif
scanf("%d",&m);//perintah untuk menginput bilangan positif
printf("\nMelalui perhitungan rekursif, %d!=%d\n", m,Faktorial(m));/*perintah untuk menampilkan
perhitungan rekursif*/
system("pause");//perintah sistem jeda
return 0;
}
int Faktorial(int k)//Sistem Penulisan Fungsi Faktorial
{
if (k==0)//perintah eksekusi jika k bernilai 0 maka akan mengulang perintah diatas
return 1;
else//jika k bukan bernilai 0 maka k akan dieksuki nilai rekusifnya
return k*Faktorial(k-1);//perintah fungsi faktorial() memanggil dirinya
}
#include <stdio.h>//Library Input - Output
#include <stdlib.h>//Library Jeda
int main(void){
int m;//Variabel tipe data integer
int Faktorial(int k);//prototype fungsi faktorial
printf("===============================================================================\n");
printf("==================Perintah Untuk Menampilkan Fungsi Faktorial==================\n");
printf("===============================================================================\n");
printf("Masukan sebarang bilangan bulat positif>");//perintah mencetak untuk inputan bulat positif
scanf("%d",&m);//perintah untuk menginput bilangan positif
printf("\nMelalui perhitungan rekursif, %d!=%d\n", m,Faktorial(m));/*perintah untuk menampilkan
perhitungan rekursif*/
system("pause");//perintah sistem jeda
return 0;
}
int Faktorial(int k)//Sistem Penulisan Fungsi Faktorial
{
if (k==0)//perintah eksekusi jika k bernilai 0 maka akan mengulang perintah diatas
return 1;
else//jika k bukan bernilai 0 maka k akan dieksuki nilai rekusifnya
return k*Faktorial(k-1);//perintah fungsi faktorial() memanggil dirinya
}