FUNGSI REKURSIF PERTAMBAHAN

 Fungsi rekursif adalah sebuah fungsi yang memanggil dirinya sendiri, karena fungsi ini memanggil dirinya sendiri, maka fungsi ini seperti looping atau perulangan. Fungsi ini berbeda dengan fungsi biasa, fungsi biasa hanya bisa memanggil fungsi lain tapi fungsi rekursif bisa memanggil dirinya sendiri.

Notasi

//Judul : Fungsi Rekursif Pertambahan C++  

#include <iostream>
using namespace std;

//Kamus
a, b, c1, c2 <-- integer

//Memperkenalkan fungsi
tambahRekursif(int, int) <-- integer

//Diskripsi
main()
{
input a
input b

//Pertambahan langsung tanpa fungsi Rekursif
c1 <-- a + b;
output c1

c2 <-- tambahRekursif(a, b);
output c2
}

tambahRekursif(c, d <-- integer) <-- integer
{
//Kamus lokal
hasil <-- integer

if(d == 0) then
hasil <-- c;

else
hasil <-- 1 + tambahRekursif(c, (d-1));

return hasil;
}

Implementasi Notasi ke Koding

//Judul : Fungsi Rekursif Pertambahan C++

#include <iostream>
using namespace std;

//Kamus
int a, b, c1, c2;

//Dikenalkan fungsi
int tambahRekursif(int, int);

//Diskripsi
main()
{
cout << "Input a : ";
cin >> a;
cout << "Input b : ";
cin >> b;

//Pertambahan langsung tanpa fungsi Rekursif
c1 = a + b;
cout << "Hasil tanpa menggunakan fungsi : " << c1 << endl << endl;

c2 = tambahRekursif(a, b);
cout << "Hasil menggunakan fungsi Rekursif : " << c2 << endl << endl;

}

int tambahRekursif(int c, int d)
{
//Kamus lokal
int hasil;

//Basis / Proses Henti
if(d == 0)
{
hasil = c;
}
else //Rekuren / Proses awal yang akan diulang
{
hasil = 1 + tambahRekursif(a, (d-1));
}
return hasil;
}

Output









Cara Kerja Fungsi Rekursif

a = 5
b = 5

1 + tambahRekursif(5, (5-1)); --> Rekuren proses awal yang diulang
1 + tambahRekursif(5, (4-1));
1 + tambahRekursif(5, (3-1));
1 + tambahRekursif(5, (2-1));
1 + tambahRekursif(5, (1-1));
5 --> Basis proses henti

1+1+1+1+1+5 = 10

Dalam fungsi rekursif itu ada 2 parameter kita dapat memilih parameter yang
kanan atau yang kiri untuk dikurangi sampai habis / 0.
Seperti itulah kira-kira cara kerja dari fungsi rekursif.

Tantangan dalam membuat fungsi rekursif ini adalah kita harus bisa membuat
rekuren dan basis yang tepat agar nilai yang dikembalikan dari fungsi tersebut
memiliki nilai yang benar.

Komentar

Postingan populer dari blog ini

Mengenal Array

Input Output dan Operasi