DISUSUN OLEH:
Metode rekursif adalah proses yang memanggil dirinya sendiri. Dalam metode ini
terkandung pengertian prosedur atau fungsi. Perbedaannya adalah bahwa rekursif bisa
memanggil ke dirinya sendiri, tetapi prosedur atau fungsi harus dipanggil lewat pemanggil
prosedur atau fungsi.
Rekursif merupakan Teknik pemrograman yang penting, dan beberapa Bahasa
pemrograman modern mendukung keberadaan proses rekursif ini.
Pemanggilan prosedur atau fungsi ke dirinya sendiri bisa berarti proses yang berulang
yang tidak bisa diketahui kapan akan berakhir.
Dalam pemakaian sehari-hari, rekursif merupakan Teknik pemrograman yang berdaya
guna untuk digunakan pada pekerjaan pemrograman dengan mengekspresikannya ke dalam
modul-modul dari program lain dengan menambahkan langkah-langkah sejenis.
Dengan metode tersebut hasil dari proses awal digunakan lagi untuk proses berikutnya
sampai batas yang diinginkan. Fungsi yang dibuat/digunakan dalam metode tersebut akan
berdampak pada:
1. Adanya peningkatan readability (kemudahan untuk di baca);
Salah satu contoh yang sering digunakan untuk menjelaskan rekursif adalah
factorial. Dimana fungsi faktorial ini merupakan sebuah fungsi perkalian berurut dari
angka 1 sampai dengan angka yang di maksud. Dalam laporan ini terdapat du cara yang
digunakan untuk menentukan bilangan faktorial, diantaranya adalah:
Iterative
Recursion
If (a == 0)
return 1;
else
1.1.2 Multiplication
Multiplication adalah contoh ke dua dalam laporan ini yang dapat menjelaskan
fungsi rekursif. Dimana multiplication merupakan sebuah fungsi perkalian yang
mengalikan dua buah bilangan atau lebih dengan menggunakan fungsi rekursif.
Multiplication
If (n == 1);
return m;
else
}
1.1.3 Powerfuction
Powerfunction adalah contoh ke tiga dalam laporan ini yang dapat menjelaskan
fungsi rekursif. Dimana powerfunction itu adalah fungsi pemangkatan suatu bilangan
yang dapat dilakukan secara rekursif.
Powerfunction
If (n == 0)
return 1;
else
1.1.4 Fibonacci
Fibonacci adalah contoh ke empat dalam laporan ini yang dapat menjelaskan fungsi
rekursif. Dimana Fibonacci itu adalah suatu barisan bilangan yang merupakan hasil
penjumlahan dua buah bilangan sebelumnya yang dapat dilakukan secara rekursif.
Fibonacci
Int fib (int n)
If (n == 0 || n == 1) return n;
else
return fib (n-1) + fib (n-2);
Palindrome adalah salah satu jenis kata, kalimat, ungkapan, atau bilangan unik yang
apabila kita baca dari depan dan belakang akan sama saja. Contohnya seperti: level, isi,
wow dan lain sebagainya.
BAB II
ISI
void utama(){
Deklarasi variabel
int a;
Tampilan untuk pemilihan oprasi
cin >> a;
Deklarasi fungsi
switch (a){
case 1 :
int c;
cin >> c;
switch (c){
case 1 :
RFac1();
break;
case 2 :
RFac2();
break;
default :
cout <<" Maaf, opsi yang anda maksud itu tdak ada " ;
break;
break;
case 2 :
Multi();
break;
case 3 :
Pangkat();
break;
case 4 :
Fibo();
break;
case 5 :
Palin();
break;
default :
cout <<" Maaf, opsi yang anda maksud itu tdak ada " ;
break;
void RFac1 () {
if (number < 0)
cout << " Maaf, bilangan yang anda masukan bukan bilangan bulat positif
.\n";
else
cout <<" "<< number << " Factorialnya adalah : " << Recursive_Iterative(
number ) << endl;
}
int i, product=1;
product=product * i;
return product;
Output :
2.2.2 Recursive recursion
void RFac2 () {
if (number < 0)
cout << " Maaf, bilangan yang anda masukan bukan bilangan bulat positif .\n";
else
cout <<" "<< number << " Factorialnya adalah : " << Recursive_recursion( number
) << endl;
int temp;
if(number == 0) return 1;
return temp;
}
Output
2.3 Multiplication
int m,n;
cin >> m;
cin >> n;
if (m < n)
else if (n != 0)
else
return 0;
}
Output :
2.4 Power fuction
void Pangkat (){
double Angka, power;
long int B_Kuadrat;
cout << " =================================";
cout<<"\n Masukan Angka :";
cin>>Angka;
cout<<" Masukan nilai pangkat :";
cin>>B_Kuadrat;
power = Power_function(Angka, B_Kuadrat);
cout<<" =======> Hasil pangkatnya adalah :"<< power;
}
if((n==1)||(n==0))
return(n);
else
return( Fibonacci_Function(n-1)+
Fibonacci_Function(n-2));
void Fibo()
int n,z=0;
cin>>n;
while(z<n)
z++;
}
Output :
2.6 Palindrome
int low = 0;
if (str[low] != str[high])
return false;
low++;
high--;
return true;
void Palin()
string str;
if (Palindrome(str))
Output :
BAB III
KESIMPULAN
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Terdapat dua komponen
penting yang terdapat dalam fungsi rekursif, yaitu kapan berhentinya fungsi dan pengurangan atau
pembagian data ketika fungsi memanggil dirinya sendiri.
REFERENSI
Rinaldi Munir. 2005. Algoritma dan Pemrograman dengan Bahasa Pascal dan C. Edisi 3. Buku
2. Bandung : Informatika