Berikut contoh program factorial rekursif dan iterative dengan menggunakan Dev-C++
#include <iostream>
//ini adalah yang si sebut liblary. dalam c++ kita juga dapat
//membuat liblary sendiri sesuai dengan yang di perlukan
using namespace std;
//tidak semua kompiler menggunakan ini, taoi jika anda menggunakan
//devc++ maka anda harus menggunakanya agar dapat terkompile.
int factorial (int a){ //Definisi fungsi , tanpa titik koma
if (a>0){ // jika nilai a lebih besar dari 0
cout << a << " "; //tampilkan nilai a
return (a*factorial(a-1)); //Nilai balik fungsi
}
else // kondisi, jika kondisi pertama tidak terpenuhi
return 1; // Nilai balik fungsi
}
int main() //main program mengembalikan nilai int secara default
{
int a; // Deklarasi a bertipe integer
int factorial(int a); // Prototype fungsi factorial()
cout<<"Masukkan nilai Faktorial : ";
// Output pada layar untuk perintah
//memasukkan nilai faktorial
cin>>a; // Menginputkan data a oleh user
cout<<endl; // Menempatkan kursor pada line berikutnya
cout <<"\n\nRekursif -> Hasil perkalian semua nilai dari "<<a<<"! = "<<factorial (a);
//pemanggilan fungsi factorial()
return 0; //memberitahu kepada sistem operasi bahwa program telah berakhir
}
//Penjelasan faktorial rekursif :
//Suatu fungsi yang memanggil dirinya sendiri
//Fungsi dipanggil dari dalam tubuh fungsi tersebut
//Digunakan untuk pengurutan data atau factorial
#include <iostream>
//ini adalah yang si sebut liblary. dalam c++ kita juga dapat
//membuat liblary sendiri sesuai dengan yang di perlukan
using namespace std;
//tidak semua kompiler menggunakan ini, tapi jika anda menggunakan
//devc++ maka anda harus menggunakanya agar dapat terkompile.
int iteratif(int n){ //Definisi fungsi , tanpa titik koma
int a =1; //Deklarasi a bertipe integer dengan nilai awal 1
while (!(n<=0)) // nilai akhir n
{
cout << n <<" "; // Output n pada layar
a =n*a;
//ini adalh inisialisasi untuk a. Disini akan mengkalikan
// bilangan n dengan a.
n =n-1;
//ini adalh inisialisasi untuk n. Disini akan mengurangi
// bilangan n dengan 1.
// naik 1 setiap kali berulang
}
return a; // Nilai balik fungsi
}
int main() //main program mengembalikan nilai int secara default
{
int n; // Deklarasi n bertipe integer
int iteratif(int n); // Prototype fungsi iteratif()
cout<<"Masukkan nilai Faktorial : ";
// Output pada layar untuk perintah
//memasukkan nilai faktorial
cin>>n; // Menginputkan data n oleh user
cout<<endl; // Menempatkan kursor pada line berikutnya
cout <<"\n\nIteratif -> Hasil perkalian semua nilai dari "<<n<<"! = "<<iteratif (n);
//pemanggilan fungsi iteratif()
return 0; //memberitahu kepada sistem operasi bahwa program telah berakhir
}
//Penjelasan faktorial iteratif :
//Perulangan iteratif merupakan perulangan yang melakukan proses perulangan
//terhadap sekelompok instruksi di mana perulangan tersebut akan berhenti jika
//batasan syarat sudah tidak terpenuhi.
//Tidak dapat memanggil dirinya sendiri.


0 comments:
Post a Comment