Refleksi 6

Pada pertemuan 6 kali ini kita membahas tentang perulangan rekursi. Perulangan rekursi adalah proses mengulang suatu fungsi pada fungsi itu sendiri. Contohnya sebagai berikut :

Program untuk menghitung nilai faktorial dengan rekursif :

Flowchart :

Main

Prosedur :


Pada program diatas akan memferifikasi apakah n=0 atau tidak, jika tidak maka program akan mencetak nilai inputan pertama kemudian akan melakukan pengulangan dengan mengurangi nilai yang kita inputkan dan variabel a akan menyimpan hasil dari n*a sampai variabel n bernilai 0.

Berikut ini adalah versi C++ nya :

#include <iostream>
#include <conio.h>

using namespace std;

class refleksi{
friend istream& operator>>(istream&, refleksi&);
friend ostream& operator<<(ostream&, refleksi&);
public:
int rekursif(int n,int a);
private:
int n;
int a;
};

istream& operator>>(istream& in, refleksi& x){
cout<<"Masukkan Nilai : ";
cin>>x.n;
x.a=1;
};

ostream& operator<<(ostream& out, refleksi& z){
z.rekursif(z.n,z.a);
};
int refleksi::rekursif (int n,int a)
{

if (n==0)
{
cout << "Hasil faktorial adalah = "<<a << endl;   }
else
{
cout << n << endl;
return rekursif(n-1,n*a);
}
};
int main()
{
refleksi jalankan;
cin>>jalankan;
cout<<jalankan;

getch();
}


Seperti itulah contoh program perulangan secara rekursi yang cukup sederhana, semoga dapat bermanfaat bagi pembaca!!

Selamat mencoba,,,🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s