Rekursif V3
Fungsi Rekursif Faktorial
Halo! Saya Erlanda Prasetio, seorang mahasiswa yang sedang belajar Algoritma Pemrograman. Pada kesempatan ini, saya akan memperbaiki kode program yang mengimplementasikan fungsi rekursif faktorial berdasarkan aturan basis dan ekspresi rekursif yang telah disebutkan.
Program Fungsi Rekursif Faktorial
Berikut adalah program C++ yang telah diperbaiki untuk menghitung faktorial secara rekursif:
#include <iostream> using namespace std; // Deklarasi fungsi rekursif faktorial int faktorial(int n); int main() { int hasil, n; cout << "Masukkan Angka = "; cin >> n; hasil = faktorial(n); cout << "Hasil Faktorial = " << hasil << endl; return 0; } int faktorial(int n) { if (n == 1) { return 1; // Basis: nilai faktorial 1 adalah 1 } else { return n * faktorial(n - 1); // Ekspresi rekursif } }
Penjelasan Program
- Program di atas menggunakan fungsi rekursif
faktorialuntuk menghitung faktorial dari suatu bilangan bulat positifn. - Fungsi
faktorialmemiliki parametern, yang merupakan bilangan bulat positif yang akan dihitung faktorialnya. - Dalam fungsi
faktorial, terdapat aturan basis (base case) yang berfungsi sebagai kondisi berhenti dari rekursi. Jikansama dengan 1, maka fungsi akan mengembalikan nilai 1 sebagai hasil faktorial dari 1. - Jika nilai
nlebih dari 1, maka fungsi akan melakukan ekspresi rekursif dengan memanggil kembali fungsifaktorialdengan nilain-1. - Proses ini akan berlanjut hingga mencapai aturan basis saat
nsama dengan 1, dan fungsi akan kembali "menggabungkan" hasil dari tiap langkah rekursif untuk menghitung nilai faktorial secara keseluruhan. - Di dalam fungsi
main, program akan menerima input angkandari pengguna. - Program akan memanggil fungsi
faktorialdengan nilainsebagai argumen, dan menyimpan hasil perhitungannya dalam variabelhasil. - Terakhir, program akan mencetak hasil faktorial ke layar.
Contoh Jalannya Program
Misalnya, kita ingin menghitung faktorial dari angka 5, maka kita akan memasukkan nilai 5 saat program meminta input, dan hasilnya akan seperti berikut:
Masukkan Angka = 5 Hasil Faktorial = 120
Comments
Post a Comment