Cara Membuat Deret Fibonacci dengan PHP

tutorial belajar PHP untuk pemula

Membuat kode program untuk deret fibonacci hampir sering hadir di dalam tugas ataupun latihan tentang algoritma dan pemrograman. Pada umumnya deret ini diajarkan bertepatan dengan pengantar bahasa pemograman Pascal ataupun C/C++ pada kuliah semester awal jurusan IT/Ilmu Komputer.

Dalam tutorial belajar PHP saat ini, saya akan mencoba membuat kode program untuk deret fibonacci memakai PHP.

Pengertian Deret Fibonacci

Deret Fibonacci ialah susunan angka unik dimana angka selanjutnya asalnya dari 2 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,…

Ambil contoh, angka 5 didapat dari penjumlahan 2 deret sebelumnya (2+3), angka 8 di dapat dari 5+3, angka 13 didapat dari 8+5, dst.

Mengutip dari wikipedia, berdasarkan buku The Art of Computer Programming karya Donald E. Knuth, barisan ini pertama kali dipaparkan oleh matematikawan India, Gopala dan Hemachandra di tahun 1150, saat menyelidiki berbagai kemungkinan untuk memasukkan barang-barang ke dalam kantong.

Di dunia barat, barisan ini pertama kali dipelajari oleh Leonardo da Pisa, yang juga diketahui sebagai Fibonacci (sekitar 1200), saat mendiskusikan pertumbuhan ideal dari populasi kelinci. Oleh sebab itulah deret ini terkenal dengan deret fibonacci.

Hal unik (dan sangat mengagumkan) tentang deret ini merupakan: angka ini sering muncul di alam. Seperti pola susunan kelopak bunga, pola susunan daun, pola ranting di pohon, pola susun pinus di buahnya, ataupun pola kulit kerang.

Cara Membuat Program Deret Fibonacci

Kembali ke topik awal, jadi bagaimana cara membuat program PHP untuk menghasilkan deret fibonacci ini?

Seperti pantasnya kode program untuk sebuah algoritma, ada banyak cara, contohnya dengan memakai rumus tertentu atau memakai fungsi rekursif. Saat ini saya akan mengunakan prinsip sederhana yang banyak dipakai untuk menghasilkan deret fibonacci.

Berikut ialah kode PHP yang dibutuhkan untuk membuat deret fibonacci:

<?php
// sediakan 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";
 
  //sediakan angka untuk perhitungan selanjutnya
  $angka_sebelumnya = $angka_sekarang;
  $angka_sekarang = $output;
// hasil: 
// 0 1 1 2 3 5 8 13 21 34 55 89
?>

Khusus untuk 2 angka awal deret, dibuat diluar perulangan, sedangkan sisanya akan diproses memakai perulangan for.

Supaya bisa mengerti alur program diatas, silahkan lakukan perumpamaan mulai dari loop pertama, kemudian catat nilai dari masing-masing variabel: $output, $angka_sebelumnya dan $angka_sekarang.

Membuat Fungsi Deret Fibonnacci

Supaya lebih praktis, saya akan memodifikasi kode kita sebelumnya supaya jadi fungsi PHP (function). Dengan begitu, kita dapat menentukan jumlah deret yang mau ditampilkan. Berikut modifikasinya:

<?php
function print_deret_fibonacci($jumlah)
{
  // sediakan 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++)
  
  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
?>

Saat ini hasil perhitungan disimpan ke dalam string $output. String $output inilah yang akan dikembalikan pada setiap pemanggilan fungsi print_deret_fibonacci().

Khusus untuk proses looping, kita perlu mengurangi angka looping “$i<$jumlah-2” sebab 2 angka pertama berada di luar proses looping for ini.

Bagaimana bila kita cuma butuh angka fibonacci pada urutan tertentu? Contohnya apakah angka untuk deret ke 27? Ini dapat didapat dengan sedikit modifikasi kode kita:

<?php
function cari_fibonacci($urutan)
{
  // sediakan 2 angka awal
  $angka_sebelumnya=0;
  $angka_sekarang=1;
 
  for ($i=0; $i<$urutan-1; $i++)
  
  return $output;
}
 
echo cari_fibonacci(5); // hasil: 5
echo "<br>";
echo cari_fibonacci(11); // hasil: 89
echo "<br>";
echo cari_fibonacci(30); // hasil: 832040
?>

Saat ini fungsi cari_fibonacci() akan mengembalikan nilai berupa angka fibonacci untuk urutan itu. Sebagai contoh, cari_fibonacci(30) akan mengembalikan nilai deret fibonacci pada urutan ke 30, yaitu: 832040 .

Membuat Piramida Deret Fibonacci

Latihan terakhir yang selalu dibuat memakai deret fibonacci ialah membuat “piramida” fibonacci. Idenya yaitu dengan melakukan looping kedalam fungsi fibonacci yang sudah kita buat sebelumnya.

Berikut kode yang diperlukan:

<?php
function print_deret_fibonacci($jumlah)
{
  // sediakan 2 angka awal
  $angka_sebelumnya=0;
  $angka_sekarang=1;
 
  //simpan string angka awal
  $hasil = "$angka_sekarang";
  for ($i=0; $i<$jumlah-1; $i++)
  
  return $hasil;
}
 
function piramida_fibonacci($tingkat)
  for ($i=1; $i<$tingkat+1; $i++)
   
piramida_fibonacci(10);
// hasil:
// 1
// 1 1
// 1 1 2
// 1 1 2 3
// 1 1 2 3 5
// 1 1 2 3 5 8
// 1 1 2 3 5 8 13
// 1 1 2 3 5 8 13 21
// 1 1 2 3 5 8 13 21 34
// 1 1 2 3 5 8 13 21 34 55
?>

Dalam kode diatas saya membuat fungsi piramida_fibonacci() yang di dalamnya akan memanggil fungsi print_deret_fibonacci().

Tutorial cara membuat deret fibonacci dengan PHP ini akan terasa rumit jika kamu belum memahami fungsi-fungsi dasar PHP seperti looping for, atau cara pembuatan fungsi. Disamping itu, membuat algoritma untuk deret ini juga jadi tantangan tersendiri. Tidak heran bila deret fibonacci ini biasa dipakai untuk menguji kemampuan masuk akal seorang (calon) programmer


Butuh Web Developer Makassar atau Jasa SEO di Makassar yang bergaransi? Jangan ragu dengan infanthree.com. Kami juga penyedia Jasa Pembuatan Aplikasi Android di Makassar yang terkemuka. Selain itu ada layanan SEM, SMM, Internet Marketing Agency Makassar dan Social Media, Pembuatan Logo, Konten, Video, Maskot dan Instalasi jaringan ataupun mikrotik, hingga pelatihan komputer dan internet marketing.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *