Tutorial PHP: Cara Membuat Deret Fibonacci dengan PHP

Posted on

Menyusun kode program untuk deret fibonacci hampir selalu hadir di di manfaat maupun latihan mengenai algoritma dan pemrograman. Biasanya deret ini diajarkan bersamaan dengan pengantar bahasa pemograman Pascal maupun C/C++ di kuliah semester awal jurusan IT/Ilmu Komputer.

Di panduan belajar PHP kali ini, saya akan mencoba membangun kode program untuk deret fibonacci menggunakan PHP.


Pengertian Deret Fibonacci

Deret Fibonacci yaitu susunan angka unik dimana angka berikutnya berasal 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,…

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

Mengutip dari wikipedia, menurut buku The Art of Computer Programming karya Donald E. Knuth, barisan ini pertama-tama kali dideskripsikan oleh matematikawan India, Gopala dan Hemachandra di tahun 1150, ketika menyelidiki berjenis-jenis kemungkinan untuk memasukkan barang-barang ke di kantong.

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

Hal unik (dan betul-betul menakjubkan) mengenai deret ini yaitu: angka ini 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 Menyusun Program Deret Fibonacci

Kembali ke topik semula, jadi bagaimana cara membangun program PHP untuk menghasilkan deret fibonacci ini?

Seperti layaknya kode program untuk sebuah algoritma, terdapat banyak cara, misalnya dengan menggunakan rumus tertentu atau menggunakan guna rekursif. Kali ini saya akan mengunakan prinsip sederhana yang banyak digunakan untuk menghasilkan deret fibonacci.

Berikut yaitu kode PHP yang diperlukan untuk membangun deret fibonacci:

Khusus untuk 2 angka awal deret, dikerjakan diluar perulangan, sedangkan sisanya akan diproses menggunakan perulangan for.

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


Menyusun Kegunaan Deret Fibonnacci

Agar lebih gampang, saya akan memodifikasi kode kita sebelumnya agar menjadi guna PHP (function). Dengan demikian, kita dapat menentukan jumlah deret yang ingin ditampilkan. Berikut modifikasinya:

Kali ini hasil perhitungan disimpan ke di string $output. String $output inilah yang akan dikembalikan di setiap pemanggilan guna print_deret_fibonacci().

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

Bagaimana seandainya kita hanya butuh angka fibonacci di urutan tertentu? Misalnya apakah angka untuk deret ke 27? Ini dapat didapat dengan sedikit modifikasi kode kita:

Kali ini guna cari_fibonacci() akan mengembalikan nilai berupa angka fibonacci untuk urutan tersebut. Selaku contoh, cari_fibonacci(30) akan mengembalikan nilai deret fibonacci di urutan ke 30, yakni: 832040 .


Menyusun Piramida Deret Fibonacci

Latihan terakhir yang sering dikerjakan menggunakan deret fibonacci yaitu membangun “piramida” fibonacci. Idenya yaitu dengan menjalankan looping kedalam guna fibonacci yang telah kita bikin sebelumnya.

Berikut kode yang dibutuhkan:

Di kode diatas saya membangun guna piramida_fibonacci() yang di dalamnya akan memanggil guna print_deret_fibonacci().


Pandua
n cara membuat deret fibonacci dengan PHP ini akan terasa rumit apabila kamu belum memahami fungsi-fungsi basic PHP seperti looping for, atau cara perancangan guna. Selain itu, membangun algoritma untuk deret ini pun menjadi tantangan tersendiri. Tak heran seandainya deret fibonacci ini sering digunakan untuk menguji kemampuan logis seorang (calon) programmer 🙂


Sumber https://www.duniailkom.com/