Kamis, 21 April 2011

FIBONACCI

Berikut adalah contoh program untuk menentukan bilangan fibonnaci (c++).


#include<iostream>
using namespace std;
int fibonacci(int n)
{
if(n==1)
return(0);
else if(n==2)
return(1);
else
return (fibonacci(n-1)+fibonacci(n-2));
}

int main()
{
int n;
cout<<"\nBerapa jumlah bilangan fibonacci yang ingin anda tampilkan: ";cin>>n;
for(int i=1;i<=n;i++)
cout<<fibonacci(i)<<" ";
cout<<endl;
}
 




Penjelasan:
Program sederhana diatas menggunakan fungsi rekursif untuk menampilkan bilangan fibonacci.
Baris pertama dan kedua adalah statements yang paling sering kita tuliskan. Yang pertama untuk mengikutsertakan library iostream "#include<iostream>". Baris yang kedua adalah untuk menggunakan namespace std. Untuk lebih jelasnya, silahkan cari dengan mbah google dengan keywords c++, namespace,  std, preprocessor.

Di baris ke 3 sampai 11 terletak implementasi dari algoritma bilangan fibonacci. Pada baris ini kita definisikan fungsi dengan nama "fibonacci" yang memiliki return value integer dan parameter (int n). Contoh bilangan fibonacci adalah:
0, 1, 1, 2, 3, 5, 8... (bilangan berikutnya adalah penjumlahan dari 2 bilangan sebelumnya) 

int fibonacci(int n)
{
if(n==1)
return(0);
else if(n==2)
return(1);
else
return (fibonacci(n-1)+fibonacci(n-2));
}



Pada fungsi diatas kita menggunakan pemeriksaan beruntun dengan "if statement".
Jika n adalah 1, maka return valuenya adalah bilangan pertama fibonacci (0).
Jika n adalah 2, maka return valuenya adalah bilangan kedua finonacci (1).
Bilangan pertama dan kedua harus ditentukan agar algoritma ini berjalan.
Jika bukan bilangan pertama atau bilangan kedua, maka return valuenya adalah penjumlahan fungsi rekursif fibonacci dengan parameter bilangan sebelumnya dan bilangan sebelum-sebelumnya ( n-1 dan n-2).


CONTOH PROGRAM LAIN

Berikut ini koding yang dapat digunakan untuk membuat program fibonacci dalam c++ :

#include <iostream.h>
#include<conio.h>
main()
{
int x=1,y=1,p,i,a;
clrscr();
cout<<"Masukkan batas deret fibonacci : ";
cin>>a;
cout<<x<<" ";
cout<<y<<" ";
for(i=0;i<=a-3;i++)
{
p=x+y;
cout<<p<<" ";
x=y;
y=p;
}
getch();
return 0;
}
^_^









Penjelasan:
barisan ini berawal dari 0 dan 1, kemudian angka berikutnya didapat dengan cara menambahkan kedua bilangan yang berurutan sebelumnya. Dengan aturan ini, maka barisan bilangan Fibonaccci yang pertama adalah:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946...
Barisan bilangan Fibonacci dapat dinyatakan sebagai berikut: Fn = (x1^n - x2^n)/ sqrt(5) dengan
  • Fn adalah bilangan Fibonacci ke-n
  • x1 dan x2 adalah penyelesaian persamaan x^2-x-1=0
Perbandingan antara Fn+1 dengan Fn hampir selalu sama untuk sebarang nilai n dan mulai nilai n tertentu, perbandingan ini nilainya tetap. Perbandingan itu disebut Golden Ratio yang nilainya mendekati 1,618.








Tidak ada komentar:

Posting Komentar