Fungsi Rekursif - Faktorial - nblognlife

Fungsi Rekursif - Faktorial

Contoh Program Fungsi Rekursif - Faktorial

            Dalam pemrograman terdapat konsep fungsi rekursif, yaitu yang memanggil dirinya sendiri, artinya fungsi tersebut dipanggil di dalam tubuh fungsi itu sendiri. Parameter yang dilewatkan berubah sebanyak fungsi itu dipanggil.


Berikut adalah program C++ rekursif untuk menghitung faktorial dari suatu bilangan :
/*
      Fungsi rekursif – Faktorial
      Visual Studio Express 2012
      N.N. Blog
*/

#include <iostream>
using namespace std;
#include <conio.h>

int faktorial (int bil)
{
      if(bil==1)
            return 1;
      else
            //fungsi rekursif
            return bil*faktorial(bil-1);
}

int main ()
{
      int n;
      cout<<"\tFungsi Rekursif - FAKTORIAL"<<endl;
      cout<<"\t==========================="<<endl;
      cout<<"\nMasukkan nilai n = ";
      cin>>n;
      cout<<"\nFaktorial "<<n<<"!= "<<faktorial(n)<<endl;

      _getche();
      return EXIT_SUCCESS;
}

Penjelasan
int faktorial (int bil)
  {
        if(bil==1)
             return 1;
        else
             return bil*faktorial(bil-1); //rekursif
  }
Seperti pada output, apabila dimasukkan angka 4 maka:
  • Kondisi pada operasi kondisi pertama akan dicek, karena kondisi bernilai salah maka program akan menjalankan pernyataan return bil*faktorial(bil-1)”
  • Bil bernilai 4, 4*faktorial(4-1)…sekarang kita mempunyai nilai 4, selanjutnya mengalikan dengan rekursif., nilai 4 disimpan terlebih dahulu.
  • Rekursif, bil bernilai 3, dicek dengan kondisi pertama, karena masih bernilai salah maka dilanjutkan ke pernyataan selanjutnya,  3*faktorial(3-1)sekarang kita mempunyai nilai 3, selanjutnya mengalikan dengan rekursif,..sekarang kita punya nilai 4*3…, dan seterusnya, sampai variabel bil bernilai 1…sehingga akan diperoleh perkalian 4*3*2*1 yang menghasilkan 24.

Output
       Fungsi Rekursif - FAKTORIAL
       ===========================

Masukkan nilai n = 4

Faktorial 4!= 24


Klik Like & Share jika postingan ini bermanfaat
Apa tanggapan Anda?

Berikan tanggapan Anda melalui kolom komentar yang telah disediakan.
- Gunakan bahasa yang sopan;
- Saat menjadikan postingan pada blog ini sebagai referensi, jangan lupa mencantumkan sumbernya (link dari blog ini).

Jika blog ini bermanfaat jangan lupa memberikan 'like' atau 'share' untuk mendapatkan update terbaru.

Terima kasih

4 Responses to "Fungsi Rekursif - Faktorial"

  1. maaf sebelumnya ini menggunakan software apa ya?? kenapa ketika saya menggunakan compiler C++ Borland using namespace stdnya ga mau ada solusi?

    ReplyDelete
    Replies
    1. Saya menggunakan IDE Visual Studio Express 2012.
      Pada IDE yang baru "using namespace std" harus digunakan, jika menggunakan 'iostream.h' maka akan muncul pesan kesalahan file header sudah usang.

      Tapi karena Borland C++ termasuk IDE lama, jadi gunakan iostream.h saja.

      nb: silahkan membaca tentang "namespace".

      Delete
  2. hmm klo mau bikin 1234 faktorial bisa gk ?

    ReplyDelete
  3. @Inquistor :
    1234 faktorial pada program ini akan menghasilkan nilai 0, karena hasil perhitungan melebihi range dari tipe data yang digunakan, yaitu int ( –2147483648 sampai 2147483647).

    Apabila ingin range yang lebih besar, ganti 'int' pada program di atas dengan 'unsigned __int64' (Visual Studio 2012), jangkauan nilainya mencapai 18446744073709551615.

    ReplyDelete