Fungsi Rekursif
Fugsi rekursif adalah fungsi yang untuk melaksanakan suatu tugas
tertentu, kembali memanggil dirinya sendiri. Fungsi rekursif menangani variable
dan argumennya melalui tumpukan (stack),
sehingga sebuah fungsi rekursif akan memerlukan waktu dan memori yang lebih
banyak. Karena itu, dalam hal efisiensi pemakaian waktu dan memori, pemrograman
lebih cenderung untuk menggunakan fungsi iterative.
Agar sebuah
fungsi tidak melakukan pengulangan pemanggilan secara terus-menerus, maka harus
diberi beberapa syarat. Syarat-syarat rekursif :
1.
Harus ada kasus penghentian (termination case)
2.
Setiap struktur pemanggilan harus lebih sederhana
daripada struktur sebelumnya
Contoh program:
#include <iostream>
using namespace std;
int main()
{
int m, n;
long pangkat(int, int);
cout<<"Berikan bilangan dan
eksponen: ";
cin>>m>>n;
cout<<m<<" pangkat
p"<<n<<" = "<<pangkat(m, n);
return 0;
}
long pangkat (int m, int
n)
{
long p;
if (n==0)
p = 1;
else
p = m * pangkat(m, n-1);
return p;
}
thx gan
ReplyDeleteada lagi gak ya syarat-syaratnya :D
ReplyDelete