Sebagai contoh, 10 bilangan Fibonacci pertama adalah:
0 1 1 2 3 5 8 13 21 34
Ilustrasi:
0 -> Bilangan Fibonacci ke-1
1 -> Bilangan Fibonacci ke-2
0 + 1 = 1 -> Bilangan Fibonacci ke-3
1 + 1 = 2 -> Bilangan Fibonacci ke-4
1 + 2 = 3 -> Bilangan Fibonacci ke-5
2 + 3 = 5 -> Bilangan Fibonacci ke-6
3 + 5 = 8 -> Bilangan Fibonacci ke-7
5 + 8 = 13 -> Bilangan Fibonacci ke-8
8 + 13 = 21 -> Bilangan Fibonacci ke-9
13 + 21 = 34 -> Bilangan Fibonacci ke-10
Berikut ini adalah code sederhana untuk menampilkan bilangan n bilangan Fibonacci pertama
#include<stdio.h>
void fibonacci(int t)
{
int i,n,a,s;
i = 0; n = 1;
printf("%d %d ", i, n);
for(s=0; s<t-2; t++)
{
a = i + n;
printf("%d", a);
i = n;
n = a;
}
}
int main()
{
int n; // n = jumlah bilangan fibonacci yang ingin ditampilkan
fibonacci(n);
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 = (x1n – x2n)/ sqrt(5)
dengan
Fn adalah bilangan Fibonacci ke-n
x1 dan x2 adalah penyelesaian persamaan x2-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.
Berikut adalah contoh program untuk menentukan bilangan fibonnaci.
int i,n,a,s;
i = 0; n = 1;
printf("%d %d ", i, n);
for(s=0; s<t-2; t++)
{
a = i + n;
printf("%d", a);
i = n;
n = a;
}
}
int main()
{
int n; // n = jumlah bilangan fibonacci yang ingin ditampilkan
fibonacci(n);
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 = (x1n – x2n)/ sqrt(5)
dengan
Fn adalah bilangan Fibonacci ke-n
x1 dan x2 adalah penyelesaian persamaan x2-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.
Berikut adalah contoh program untuk menentukan bilangan fibonnaci.
#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).
0 comments:
Post a Comment