Minggu, 17 April 2016

Fungsi Rekursif - Faktorial

  Dalam pemrograman terdapat konsep fungsi rekursifyaitu 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







Tidak ada komentar:

Posting Komentar

Follow Us @joseandreanhalomoan