Thursday, September 22, 2011

[Kul] Bilangan Fibonacci

Bilangan Fibonacci adalah barisan yang berawal dari 0 dan 1, kemudian angka berikutnya didapat dengan cara menambahkan kedua bilangan yang berurutan sebelumnya. Dengan aturan ini, maka barisan bilangan Fibonacci 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...

Nah, [Kul] yang saya maksud adalah Kuliah, yaitu postingan yang berhubungan dengan kuliah saya. Karena saya kuliah jurusan TI, ada beberapa tugas yang lumayan sulit. Salah satunya yaitu membuat algoritma untuk bilangan Fibonacci ini. Daripada suatu hari saya lupa, mendingan saya tulis di blog ini supaya kalau lain kali lupa tinggal buka blog untuk review ulang :p

Soal : Buatlah algoritma untuk urutan bilangan Fibonacci sesuai inputnya.


Berdasarkan wikipedia,  F(n) = 0 (jika n = 0), berarti input yang kita pakai dimulai dari 0 dst...

Algoritma bilangan Fibonacci :
  1. a = 0
  2. b = 1
  3. Input n
  4. If n = 0 Cetak a
  5. Else If n = 1 Cetak a b  
  6. Else If n >= 2  lakukan langkah 7 & 8
  7.  - Cetak a b
  8.  - For j <- n to 2 lakukan langkah 9-12
  9.    - c = a + b
  10.    - Cetak c
  11.    - a = b
  12.    - b = c
  13. Selesai

Source Code bilangan Fibonacci ( C++ )

#include <stdio.h>
#include <conio.h>

void main()
{
 clrscr();
 int n,a,b,c;

 a = 0;
 b = 1;

 pritnf("Input n = "); scanf("%d",&n);

 if (n==0)
  {printf("%d",a);}
 else if (n==1)
  {printf("%d"" %d",a,b);
 else if (n>=2)
  {
   printf("%d"" %d",a,b);
   for (a=0,b=1;n>1;n--)
    {
      c = a + b;
      printf(" %d",c);
      a = b;
      b = c;
    }

 }
getch();
}

Bisa juga download source codenya disini :


Itu hanya algoritma biasa, mungkin masih membutuhkan proteksi agar lebih sempurna. Dan tentu saja ada banyak versi algoritma lain yang bisa digunakan untuk kasus ini.

Btw, yang gak punya C++ bisa donlot disini

Sekian review tentang bilangan Fibonacci, kalau lupa cek disini ya:)

Ayo kejar IPK 4 !!!

2 comments:

Please leave your comment, thanks ^^
Click Load More to view comments :)