Laman

Jumat

Faktorial with Rekursif


Guyz, udah pernah denger blom tentang faktorial?? tentunya udah kan waktu di-SMA/SMK khususnya pada pelajaran Matematika, nah itu topik kita kali ini, mencari faktorial dengan rekursif.

Pertama pengertian Faktorial adalah Hasil kali bilangan bulat positif dari 1 sampai n disebut n factorial ditulis n!
jadi n ! = 1.2.3….…..(n-2)(n-1).n ; dan 0 ! = 1
Contoh:

Hitunglah 5 !
Penyelesaian
5 != 5.4.3.2.1= 120

Langsung aja ya guyz, Menghitung Nilai Factorial Dari Suatu Bilangan Bulat Positif menggunakan cara Rekursif. Pengertian Rekursif, Rekursif Berarti Bahwa Suatu Proses Bisa Memanggil Dirinya Sendiri.

Menurut Definisi Dalam Microsoft Bookshelf Rekursif Adalah Kemampuan Suatu Rutin Untuk Memanggil Dirinya Sendiri. Dalam Rekursif Sebenarnya Terkandung Pengertian Contoh Paling Sederhana Dari Proses Rekursif Ini adalah Proses Menghitung Nilai Factorial Dari Suatu Bilangan Bulat Positif. Sourcecode dari proses mencari faktorial suatu bilangan antara lain sebagai berikut:

01#include
02#include
03class Faktorial {
04 friend istream& operator>>(istream&, Faktorial&); //overloading
05 friend ostream& operator<<(ostream&, const Faktorial&); //overloading
06public:
07 long hitung(int);
08private:
09 int suku_n;
10 long hasil;
11};
12long Faktorial::hitung(int n) { // hati-hati, n tidak boleh negatif
13 if ((n==0) || (n==1)) return 1; // kasus penyetop, mengembalikan nilai integer
14 else return n*hitung(n-1); // memanggil rekursif, mengarah ke kasus penyetop
15}
16istream& operator>>(istream& input, Faktorial& x) { //input overloading
17 cout << "Masukkan integer : ";
18 input >> x.suku_n;
19 x.hasil = x.hitung(x.suku_n);
20 return input;
21}
22ostream& operator<<(ostream& output, const Faktorial& x) { // output overloading
23 output << "Hasil perhitungan\n\t " << x.suku_n << " ! = " << x.hasil;
24 return output;
25}
26int main() { //proses panggil class
27 Faktorial Bilangan;
28 cin >> Bilangan;
29 cout << Bilangan << endl;
30 system("PAUSE");
31 return EXIT_SUCCESS;
32}

Dari program diatas telah ada keterangan dan mana yg rekursifnya berfungsi ke pemanggil yang nantinya mengarah ke penyetop atau pemberhenti program jika masukan dan loop telah memenuhi persyaratan yang telah ditentukan dalam program dan rekursif.

Setelah tahu program/sourecodenya, sekarang kita harus tahu pula output atau keluarannya dari soucecode diatas, sebagai contoh, setelah di-Run kita masukkan angka integer 5, perhitungan manualnya 5! =5 x 4 x 3 x 2 x 1
sedangkan dari hasil Running setelah dimasukkan angka integer 5, maka keluarannya:

Nah, ternyata benarkan keluaran dari 5 ! = 120, alhamdulillah program telah jadi, hehe, guyz sudah waktunya ane cau lgai neh, ada panggilan dan undangan yang slalu dikumandangkan tiap 5 waktu pada waktunya ahihihihi,,
wassalamu’alaikum

Tidak ada komentar:

Posting Komentar