Menampilkan Program Pangkat Menggunakan Rekursi 1. #include <iostream> 2. #include <cstdlib> 3. 4. /* run this program using the console pauser or add your own getch, system("pause") or input loop */ 5. using namespace std; 6. int pangkat(int a, int N ){ 7. if (N==0){ 8. return (1); 9. } 10. else{ 11. return pangkat(a,N-1)*a; 12. } 13. } 14. int main(int argc, char *argv[]) { 15. int b, x, hasil_pangkat; 16. cout<<"Masukkan bilangan yang akan dipangkatkan : "; 17. cin>>b; 18. cout<<"\nMasukkan jumlah pangkat : "; 19. cin>>x; 20. system("cls"); 21. hasil_pangkat = pangkat(b, x); 22. cout<<"Hasil = "<<hasil_pangkat; 23. return 0; 24. } Bagian Memanggil Dirinya Sendiri dan yang Menghentikan Rekursi (terminate) Bagian Memanggil Dirinya Sendiri 1. else { 2. return pangkat (a,N-1)*a; 3. } 4. Bagian yang Menghentikan Rekursi (terminate) 1. if (N==0){ 2. return (1); 3. } Gambar Penggunaan Rekursi
int main() Pangkat (3,2)
{ return pangkat (312)*3 int a; cin>>a Pangkat (3,1) int N; cin>>N’ return pangkat (3,0)*3 } //misalkan a inputkan Pangkat (3,0) = 3, b inputkan = 2 return 1
int main() Pangkat (3,2)
{ v 9 return pangkat (3,1)*3 int a; cin>>a Pangkat (3,1) 3 int N; cin>>N’ return pangkat (3,0)*3 } //misalkan a inputkan = 3, b inputkan = 2 Pangkat (3,0) 1 return 1