Cpp Komputer Pemrograman
Beranda / Pemrograman / Fungsi Rekursif pada C++ | Belajar C++ 31 | Tutorial C++ 31

Fungsi Rekursif pada C++ | Belajar C++ 31 | Tutorial C++ 31

Assalamualaikum Sobat, pada artikel kali ini kami akan memberikan tutorial
tentang fungsi rekursif pada C++, yuk simak artikel dari kami.

Apa Itu Fungsi Rekursif ?

Fungsi rekursif adalah fungsi yang memanggil fungsinya sendiri. Dengan
menggunakan fungsi rekursif kita dapat menyelesaikan sebuah permasalahan yang
rumit menjadi lebih mudah diselesaikan dan lebih sederhana. Fungsi rekursif
digunakan untuk melakukan perulangan yang mana fungsi itu akan berhenti jika
kondisinya telah terpenuhi. Fungsi rekursif memerlukan space memori yang lebih
besar dibanding proses lainnya karena proses iterasi dari fungsi tersebut
dipanggil secara terus menerus.
Untuk memahami fungsi rekursif kita perlu sering bereksperimen untuk
mengetahui cara kerjanya karena fungsi rekursif cukup membingungkan dan
lumayan sulit untuk dipahami. Dalam menggunakan fungsi rekursif harus memiliki
kondisi dimana kondisi tersebut akan menghentikan program ketika kondisinya
telah terpenuhi. Biasanya penggunaan pernyataan if…else… atau sejenisnya
digunakan dalam menggunakan fungsi rekursif.
Perhatikan kode program berikut :
int rekursi(int a){
  if(a == 0){
    return 0;
}else {
    return rekursi(a-1);
}
}

pada program diatas a == 0 adalah kasus dasar yang akan menghentikan iterasi
fungsi ketika nilai a sama dengan 0.

return rekursi(a-1)
adalah fungsi rekursi yang akan melakukan proses
perulangan.

Contoh program 1 : Mencari nilai faktorial dengan fungsi rekursif

#include <iostream>
using namespace std;

int faktorial (int a){
 if(a > 1){
   return a * faktorial(a-1);
  }else{
   return 1;
  }
}

int main(){
 int a, hasil;
 
 cout << “ketikkan sebuah angka positif : “;
 cin >> a;
 cout << endl;
 
 hasil = faktorial(a);
 

 cout << “faktorial dari ” << a << ” adalah ” <<
hasil;

return 0;
}

Hasil Program 1

Penjelasan program 1

Pada program diatas kita bisa melihat, fungsi faktorial() memanggil
dirinya sendiri, dan nilai dari a dikurangi 1, ketika
a kurang dari 1 fungsi faktorial() akan mengembalikan
output.


Contoh program 2 : menghitung nilai pangkat menggunakan fungsi rekursif

#include <iostream>
using namespace std;

long int pangkat(int a, int b){
    if(b==0){
        return 1;
    }else{
        return a * pangkat(a, b-1);
    }
}

int main(){
int a,b;
cout<<“Masukan sebuah angka = “;
cin>>a;
cout<<“Masukan nilai pangkat = “;
cin>>b;
cout<<endl;

cout<<a<<” Dipangkatkan “<<b<<” =
“<<pangkat(a,b)<<endl;
}

Hasil program 2

Pada program diatas, disini kita menghitung pangkat, pengguna akan memasukkan
nilai a dan nilai b, yang mana nilai a akan dipangkatkan
dengan nilai b. Jika kita melihat fungsi rekursifnya
long int pangkat(int a, int b) disini kita memiliki 2 buah parameter
a dan b. Jika nilai b kita beri 0 maka kita akan
mendapatkan angka 1 sebagai kembalian. Namun jika nilai b lebih dari 0
maka nilai a akan dikalikan dengan nilai b-1, dan proses
tersebut akan terus diulangi hingga nilai b bernilai 0.

Kelebihan Dan Kekurangan Fungsi Rekursif

Dalam menggunakan fungsi rekursif di C++, kita harus mempertimbangkan
kelebihan dan kekurangannya.
Kelebihan fungsi rekursif
  • Membuat kode program lebih pendek dan singkat.
  • Dalam menyelesaikan permasalahan yang berkaitan dengan struktur data dan
    algoritma tingkat lanjut seperti tree traversal dan graph, fungsi rekursif
    sangat diperlukan.
Kekurangan fungsi rekursif
  • Jika dibandingkan dengan kode program perulangan yang sama, proses debug
    menggunakan fungsi rekursif bisa lebih sulit.
  • Fungsi rekursif waktu prosesor yang lebih lama
  • Jika dibandingkan dengan program perulangan yang sama, fungsi rekursif
    membutuhkan lebih banyak ruang memori
Sekian untuk postingan kali ini sampai jumpa di artikel selanjutnya. Happy a nice day…

Komentar

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *