Tutorial PHP: Membuat Deret Fibonacci

Tutorial PHP: Membuat Deret Fibonacci

Tutorial PHP: Membuat Deret Fibonacci

Tutorial PHP: Membuat Deret Fibonacci

Dalam algoritma atau pemrograman, membuat kode program untuk deret fibonacci hampir selalu ada. Biasanya, deret ini diajarkan bersamaan dengan pengantar bahasa pemograman pascal maupun C/C++ pada kuliah semester awal jurusan IT/Ilmu Komputer. Namun jika kalian tidak mengambil kuliah jurusan tersebut, ada baiknya kalian simak artikel kali ini karena kami akan membahas mengenai deret fibonacci.

Pengertian Deret Fibonacci

Deret fibonacci adalah susunan angka unik di mana angka berikutnya berasal dari dua angka sebelumnya. Berikut contoh urutan deret fibonacci:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765,…

Sebagai contoh, angka 5 didapat dari penjumlahan 2 deret sebelumnya (2+3), angka 8 didapat dari 5+3, angka 13 didapat dari 8+5, dan seterusnya.

Menurut Wikipedia, berdasarkan buku The Art of Computer Programming karya Donald E. Knuth, barisan ini pertama kali dijelaskan oleh matematikawan India, Gopala, dan Hemachandra pada tahun 1150 ketika menyelidiki berbagai kemungkinan untuk memasukkan barang-barang ke dalam kantong.

Di dunia barat, barisan ini pertama kali dipelajari oleh Leonardo da Pisa, yang juga dikenal sebagai Fibonacci (sekitar 1200), ketika membahas pertumbuhan ideal dari populasi kelinci. Oleh karena itulah deret ini dikenal dengan deret fibonacci.

Hal unik dari deret ini adalah angkanya selalu muncul di alam. Seperti pola susunan kelopak bunga, pola susunan daun, pola ranting di pohon, pola susun pinus di buahnya, maupun pola kulit kerang.

Cara Membuat Program Deret Fibonacci

Lalu, bagaimana caranya membuat program PHP untuk menghasilkan deret fibonacci tersebut? Seperti layaknya kode program untuk sebuah algoritma, terdapat berbagai cara untuk membuatnya, misalnya dengan menggunakan rumus tertentu atau menggunakan fungsi rekursif. Berikut adalah kode PHP yang diperlukan untuk membuat deret fibonacci:

<?php
// siapkan 2 angka awal
$angka_sebelumnya=0;
$angka_sekarang=1;
 
//tampilkan 2 angka awal
echo "$angka_sebelumnya $angka_sekarang";
for ($i=0; $i<10; $i++)
{
  // hitung angka yang akan ditampilkan
  $output = $angka_sekarang + $angka_sebelumnya;
  echo " $output";
 
  //siapkan angka untuk perhitungan berikutnya
  $angka_sebelumnya = $angka_sekarang;
  $angka_sekarang = $output;
}
// hasil:
// 0 1 1 2 3 5 8 13 21 34 55 89
?>

Khusus untuk dua angka awal deret, dibuat diluar perulangan sedangkan sisanya akan diproses menggunakan perulangan for.

Agar dapat mengerti alur program di atas, silahkan lakukan perumpamaan mulai dari loop pertama, kemudian catat nilai dari tiap-tiap variabel: $output, $angka_sebelumnya dan $angka_sekarang.

Membuat Fungsi Deret Fibonacci

Agar lebih praktis, kami akan memodifikasi kode sebelumnya agar menjadi fungsi PHP (function). Dengan demikian, kita bisa menentukan jumlah deret yang ingin ditampilkan. Berikut modifikasinya:

<?php
function print_deret_fibonacci($jumlah)
{
  // siapkan 2 angka awal
  $angka_sebelumnya=0;
  $angka_sekarang=1;
 
  //simpan string angka awal
  $hasil = "$angka_sebelumnya $angka_sekarang";
  for ($i=0; $i<$jumlah-2; $i++)
  {
    // hitung angka fibonacci
    $output = $angka_sekarang + $angka_sebelumnya;
    // hasilnya ditambahkan ke string $hasil
    $hasil = $hasil." $output";
 
    //siapkan angka untuk perhitungan berikutnya
    $angka_sebelumnya = $angka_sekarang;
    $angka_sekarang = $output;
  }
  return $hasil;
}
 
echo print_deret_fibonacci(8);
echo "<br>";
// hasil: 0 1 1 2 3 5 8 13
echo print_deret_fibonacci(10);
echo "<br>";
// hasil: 0 1 1 2 3 5 8 13 21 34
echo print_deret_fibonacci(20);
echo "<br>";
// hasil: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
?>

Bagaimana? Apakah sekarang kalian sudah lebih memahami deret fibonacci?

You may also like...