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

  1. Program di atas menggunakan fungsi rekursif faktorial untuk menghitung faktorial dari suatu bilangan bulat positif n.
  2. Fungsi faktorial memiliki parameter n, yang merupakan bilangan bulat positif yang akan dihitung faktorialnya.
  3. Dalam fungsi faktorial, terdapat aturan basis (base case) yang berfungsi sebagai kondisi berhenti dari rekursi. Jika n sama dengan 1, maka fungsi akan mengembalikan nilai 1 sebagai hasil faktorial dari 1.
  4. Jika nilai n lebih dari 1, maka fungsi akan melakukan ekspresi rekursif dengan memanggil kembali fungsi faktorial dengan nilai n-1.
  5. Proses ini akan berlanjut hingga mencapai aturan basis saat n sama dengan 1, dan fungsi akan kembali "menggabungkan" hasil dari tiap langkah rekursif untuk menghitung nilai faktorial secara keseluruhan.
  6. Di dalam fungsi main, program akan menerima input angka n dari pengguna.
  7. Program akan memanggil fungsi faktorial dengan nilai n sebagai argumen, dan menyimpan hasil perhitungannya dalam variabel hasil.
  8. 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