Tentang Saya – About Me

Pengertian Rekursif, Cara Kerja Rekursif, Contoh Program Rekursif C++ (Penjumlahan, Pengurangan, Perkalian, Pembagian, Perpangkatan, Faktorial)

Pengertian Rekursif

Rekursif adalah suatu pendekatan dalam pemrograman di mana suatu fungsi atau prosedur memanggil dirinya sendiri secara berulang untuk menyelesaikan suatu masalah. Dalam konteks rekursif, masalah besar dibagi menjadi submasalah yang lebih kecil yang kemudian diselesaikan secara rekursif. 

Pada dasarnya, rekursi terdiri dari dua elemen utama: basis rekursif dan pemanggilan rekursif. Basis rekursif merupakan kondisi khusus yang menentukan titik berhenti atau kondisi dasar di mana pemanggilan rekursif dihentikan. Pada saat basis rekursif tercapai, hasil akhir dikembalikan. Pemanggilan rekursif adalah langkah di mana fungsi atau prosedur memanggil dirinya sendiri dengan argumen atau input yang berbeda, sehingga masalah dapat diselesaikan secara bertahap.

Berikut merupakan beberapa fungsi dengan rekursif


// Fungsi rekursif untuk menghitung hasil penjumlahan a dan b
int penjumlahan(int a, int b) {
if (b == 0) {
return a; // Basis rekursif: jika b adalah 0, hasil penjumlahan adalah a
} else {
return 1+(penjumlahan(a,b-1)); // Pemanggilan rekursif untuk menghitung hasil penjumlahan
}
}
// Fungsi rekursif untuk menghitung hasil pengurangan a dikurangi b
int pengurangan(int a, int b) {
if (b == 0) {
return a; // Basis rekursif: jika b adalah 0, hasil pengurangan adalah a
} else {
return (pengurangan((a,b)-1) // Pemanggilan rekursif untuk menghitung hasil pengurangan
}
}
// Fungsi rekursif untuk menghitung hasil perkalian a dan b
int perkalian(int a, int b) {
if (b == 1) {
return a; // Basis rekursif: jika b adalah 1, hasil perkalian adalah a
} else {
return a + perkalian(a, b - 1); // Pemanggilan rekursif untuk menghitung hasil perkalian
}
}
// Fungsi rekursif untuk menghitung hasil pembagian a dibagi b
int pembagian(int a, int b) {
if (a < b) {
return 0; // Basis rekursif: jika a lebih kecil dari b, hasil pembagian adalah 0
} else {
return 1 + pembagian(a - b, b); // Pemanggilan rekursif untuk menghitung hasil pembagian
}
}
// Fungsi rekursif untuk menghitung hasil perpangkatan a pangkat b
int perpangkatan(int a, int b) {
if (b == 1) {
return a; // Basis rekursif: jika b adalah 1, hasil perpangkatan adalah a
} else {
return a * perpangkatan(a, b - 1); // Pemanggilan rekursif untuk menghitung hasil perpangkatan
}
}
// Fungsi rekursif untuk menghitung faktorial dari suatu bilangan n
int faktorial(int n) {
if (n == 0 || n == 1) {
return 1; // Basis rekursif: jika n adalah 0 atau 1, mengembalikan 1 sebagai hasil
} else {
return n * faktorial(n - 1); // Pemanggilan rekursif untuk menghitung faktorial dari n
}
}


Terimakasih ⸂⸂⸜(രᴗര๑)⸝⸃⸃..........


Komentar