Minggu, 01 Januari 2012

Membuat Deret Fibonacci Dengan PHP

Oke, kali ini saya akan membahas bagaimana membuat deret Fibonacci dengan PHP.

Sebelum mulai, saya jelaskan dulu apa itu Fibonacci. Fibonacci adalah suatu deret angka yang bilangan selanjutnya dihasilkan dari dua angka sebelumnya. Contohnya kaya ini: 0 1 1 2 3 5 8 13 21 ... n.

Sebelum buat skrip nya, kita harus tahu dulu logikanya. Fibonacci itu diawali dua angka, yaitu 0 dan 1. Lalu angka berikutnya dihasilkan dari dua angka sebelumnya. Jadi jika 0 dan 1 berturut-turut adalah bilangan pertama dan kedua, maka bilangan ketiga dihasilkan dari penjumlahan bilangan pertama dan kedua. Jadi, bilangan ketiga adalah 1 yang diapat dari penjumlahan 0 dan 1. Jadi deretnya jadi 0 1 1. Bagaimana mencari bilangan keempatnya? Tinggal jumlahkan dua angka sebelumnya, yaitu bilangan kedua dan bilangan ketiga. Didapatkan bilangan kedua dan ketiga berturut-turut 1 dan 1. Jadi bilangan keempat adalah 2, sehingga deret menjadi 0 1 1 2. Selanjutnya bilangan kelima didapat dari penjumlahan bilangan ketiga dan keempat, yaitu 1 dan 2. Sehingga didapat bilangan kelima adalah 3. Jadi deret nya sekarang 0 1 1 2 3.

Gimana? Sudah dapat gambarannya? Oke, langsung ke skrip PHP nya. Kita akan membuat deret Fibonacci sebanyak 10 digit.

------------------ mulai kode PHP ------------------

<?
echo "<h3>Fibonacci</h3>";

$a=0; //bilangan pertama kita isi 0
$b=1; //bilangan kedua kita isi 1

echo "$a $b "; //mencetak dua angka awal

for($i=1; $i<=8; $i++) //memulai pengulangan untuk mencetak 10 digit angka Fibonacci. diisi angka 8 karena ada dua bilangan awal
{
$c=$a+$b; //$c adalah bilangan yang kita cari. didapat dari penjumlahan dua bilangan sebelumnya.

$a=$b; //bilangan pertama mengambil nilai bilangan kedua
$b=$c; //bilangan kedua mengambil nilai bilangan yang dicari

echo "$c "; //mencetak bilangan ketiga, keempat dst (dalam kasus ini sampai bilangan kesepuluh).
}
?>

------------------ akhir kode PHP ------------------

Coba tes..! Woala.. bisa kan..?

Bingung? Saya coba jelaskan sedikit.

++ Pertama kita inisiasikan dulu dua bilangan awal. Pertama 0 di $a dan 1 di $b.
++ Kita cetak angan 0 dan 1 tadi dengan echo.
++ Mulai pengulangan dengan FOR. Kita isi angka 8 karena kita akan melakukan pengulangan 10 kali, di mana dua angka sudah dicetak terlebih dahulu.
++ Bilangan yang kita cari kita masukkan di $c. jadi $c didapat dari $a+$b;
++ Bilangan pertama yang di $a kita rubah nilainya dengan mengambil nilai yang ada di $b.
++ Begitu juga bilangan kedua di $b kita rubah dengan mengambil nilai $c.

Mudah-mudahan bisa dimengerti dan berguna.

8 komentar:

  1. terima kasih mas.
    saya ijin copas buat tugas ya codingnya.
    itung2 saya juga jadi ngerti bikin deret fibonancci. :D

    BalasHapus
  2. akang, klo deret nya kaya gini gmana? bantu dongss :D
    1 4 3 2 8 2 3 16 1 4 32 0
    makasih . . .:)

    BalasHapus
  3. Sangat bermanfaat bos makasih ya

    BalasHapus