Komputasi Algoritma ‘Fibbonacci Generator’


Komputasi Algoritma “Fibbonacci Generator”

 

Hai kawan.. kita lanjut ke topik lain ya diskusi atau postingan di blog ini. Kita akan mengulangi pemahaman mengenai ke algoritma pembangkit bilangan Fibbonacci. Seperti yang kita pernah ulas dan pelajari, bahwa bilangan Fibbonacci itu bisa dibangkitkan dengan cara iterasi biasa atau pun dengan cara rekursif.

Adapun bilangan Fibbonacci yang dibangkitkan dengan cara iterasi biasa, salah satu algoritma yang bisa digunakan yakni sebagai berikut:

 

Algoritma Fibbonacci_Iterasi
Kamus
  A, B, C, BATAS_N, iinteger

Deskripsi
  A ←        1
  B ←        1
  Output (A, B)
  C ←        1
  for  i 1 to BATAS_N do
    C ←        A + B
    Output (C)
    A ←        B
    B ←        C
  Endfor

 

Sedangkan jika bilangan Fibbonacci dibangkitkan dengan cara rekursif yang bisa dideklarasikan dalam susunan method (function atau pun procedure), salah satu pseudo-code yang bisa diimplementasikan sebagai berikut:

 

Function Fibbonacci_Recursive (x : integer) →   integer
KamusDeskripsi
  if  (x > 2)  then   return  Fibbonacci_Recursive (x – 1) + Fibbonacci_Recursive (x – 2)
  if  (x = 1)  then      return  1;

Sementara, ada algoritma yang lebih efektif lagi untuk menghasilkan nilai Fibbonacci yakni dengan cara komputasi Matematika, ‘Binet’s Formula’ dan ‘Lucas Form’ dengan persamaan sebagai berikut:

Algoritma BinetsFormula
Kamus
  n, akar, fi, fibbreal
Deskripsi
  input (n)
  akar   ←     Math.sqrt (5)
  fi          (1 + akar) / 2
  fibb   ←     Math.round (Math.pow(fi, n+1) – Math.pow(1–fi, n+1)) / akar

Sedangkan dengan proses komputasi ‘Lucas Form’ sebagai berikut:

Algoritma LucasForm
Kamus
  n, akar, fi, fibbreal
Deskripsi
  input (n)
  akar   ←     Math.sqrt (5)
  fi          (1 + akar) / 2
  fibb   ←     Math.round (Math.pow(fi, n) – Math.pow(–fi, n)) / akar

SELAMAT MENGIMPLEMENTASIKANNYA”


5 responses to “Komputasi Algoritma ‘Fibbonacci Generator’”

Leave a Reply