Fungsi Rekursif Perkalian di C++

FerdynandErgyPramudani
3 min readDec 31, 2023

--

Pada blog ini saya akan menjelaskan contoh penggunaan fungsi rekursif di bahasa pemrograman c++ khususnya dalam operasi perkalian. Sebelum lanjut ke tutorial ini, saya sarankan untuk melihat blog fungsi rekursif pertambahan terlebih dahulu, linknya ada dibawah.

https://ferdynandergypramudani11.medium.com/fungsi-rekursif-pertambahan-di-c-f56b905d8d02

Sebelum buat fungsi rekursif kita harus menentukan rekuren / proses awal dan basis / proses henti. Sebagai contoh disini saya buat fungsi rekursif perkalian 5 x 5. Rekuren / proses awalnya adalah o + (panggil fungsi rekursifnya dan salah satu parameter harus dikurangi sampai habis) dan proses hentinya adalah jika p == 0 maka akan mengembalikan nilai 0. Supaya lebih jelas berikut ini adalah notasi serta kode programnya

Notasi

//JUDUL : FUNGSI REKURSIF PERKALIAN

#include <iostream>
using namespace std;

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

perkalianRekursif(int, int) <-- integer

//DISKRIPSI
main()
{
input a
input b

c1 <-- a * b;
output c1

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

perkalianRekursif(o, p <-- integer) <-- integer
{
hasil <-- integer

if(p == 0)
{
hasil <-- 0
}
else
{
hasil <-- a + perkalianRekursif(o, (p-1))
}
return hasil;
}

Implementasi Notasi ke Koding

//JUDUL : FUNGSI REKURSIF PERKALIAN

#include <iostream>
using namespace std;

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

int perkalianRekursif(int, int);

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

c1 = a * b;
cout << "Perkalian tanpa menggunakan fungsi : " << c1 << endl << endl;

c2 = perkalianRekursif(a, b);
cout << "Perkalian menggunakan fungsi : " << c2 << endl << endl;
}

int perkalianRekursif(int o, int p)
{
int hasil;

if(p == 0)
{
hasil = 0;
}
else
{
hasil = a + perkalianRekursif(o, (p-1));
}
return hasil;
}

Output

Cara Kerja Fungsi Rekursif Perkalian 5 x 5

a = 5
b = 5

5 + perkalianRekursif(5, (5-1)); --> Rekuren / proses awal yang diulang-ulang
5 + perkalianRekursif(5, (4-1));
5 + perkalianRekursif(5, (3-1));
5 + perkalianRekursif(5, (2-1));
5 + perkalianRekursif(5, (1-1));
0 --> Basis / Proses henti

5+5+5+5+5+0 = 25
Kenapa disini saya menggunakan rekuren 5 +, ya karena 5 x 5 itu sama saja dengan
5+5+5+5+5. Alasan lain menggunakan tanda tambah (+), karena kita menggunakan fungsi
rekuren / fungsi yang diulang-ulang penggunaan tanda tambah ini adalah tanda yang
sangat tepat untuk diulang dan nilai yang dihasilkan pun sama dengan hasil dari perkalian.

Dalam fungsi rekursif perkalian ini, rekuren dan basisnya itu tidak sama dengan
fungsi rekursif pada pertambahan. Jika kita ingin membuat fungsi rekursif maka kita
harus menentukan kondisi rekuren dan basis yang tepat agar fungsi ini mengembalikan
nilai yang tepat dan menghindari unfinite recursion / pengulangan yang tak terbatas.

Seperti itulah kira-kira cara kerja dari fungsi rekursif dalam operasi hitung perkalian
5 x 5.

Jika anda memiliki pertanyaan atau ingin berbagi pengalaman anda dalam membuat program ini, jangan ragu untuk memberikan komentar di bawah. Selamat mencoba dan selamat belajar pemrograman!.

--

--

No responses yet