Fungsi Rekursif – Deret Fibonacci - nblognlife

Fungsi Rekursif – Deret Fibonacci

Contoh Program Fungsi Rekursif – Deret Fibonacci

            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 deret Fibonacci :
/*
      Fungsi rekursif – Deret Fibonacci
      Visual Studio Express 2012
      N.N. Blog
*/

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

int fibo(int i)
{
      if(i==0)
            return 0;
      else if(i==1)
            return 1;
      else
            //fungsi rekursif
            return fibo(i-1)+fibo(i-2);
}

int main()
{
      int bil;

      cout<<"\tFungsi Rekursif Bilangan Fibonacci"<<endl;
      cout<<"\t=================================="<<endl;        
      cout<<"\nMasukkan bilangan : ";
      cin>>bil;
      //pemanggilan fungsi
      cout<<"Fibonacci("<<bil<<") = "<<fibo(bil);

      _getche();
      return EXIT_SUCCESS;
}

Penjelasan
int fibo(int i)
{
      if(i==0)
            return 0;
      else if(i==1)
            return 1;
      else
            return fibo(i-1)+fibo(i-2);
}

Seperti pada output apabila dimasukkan angka 4, maka,

Fungsi Rekursif – Deret Fibonacci

Jadi Fibonacci (4) adalah 3

Output
        Fungsi Rekursif Bilangan Fibonacci
        ==================================

Masukkan bilangan : 4
Fibonacci(4) = 3




///////////////////////////////////////////
Jawaban pertanyaan pengunjung Deret Fibonacci 
Berikut fungsi main() yang telah di modifikasi:
int main()
{
      int bil, n, jum_ss = 0;

      cout << "\tFungsi Rekursif Bilangan Fibonacci" << endl;
      cout << "\t==================================" << endl;
      cout << "\nMasukkan jumlah suku    : ";
      cin >> bil;

      //deret fibonacci
      cout << "Deret Fibonacci adalah  : ";
      for (n = 0; n < bil; n++)
      {
            cout << fibo(n) << " ";
      }
      cout << endl;

      cout << "Angka pada index ke - " << n - 1 << " : " << fibo(n - 1) << endl;

      //jumlah seluruh suku
      cout << "Jumlah seluruh suku     : ";
      for (int x = 0; x < bil; x++)
      {
            jum_ss += fibo(x);
      }

      cout << jum_ss; //menampilkan hasil penjumlahan

      _getche();
      return EXIT_SUCCESS;
}

Output
        Fungsi Rekursif Bilangan Fibonacci
        ==================================

Masukkan jumlah suku    : 6
Deret Fibonacci adalah  : 0 1 1 2 3 5
Angka pada index ke - 5 : 5
Jumlah seluruh suku     : 12


Baca juga :  Fungsi Rekursif - Faktorial

[RS]

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