penggunaan fungsi rekursif dan looping pada php
1. REKURSIF
Fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri. Jadi di dalam suatu fungsi rekursif terdapat pemanggilan terhadap dirinya sendiri. Fungsi rekursif biasanya digunakan untuk menyelesaikan permasalahan yang memiliki keteraturan pola dalam prosesnya, contohnya dalam menyelesaikan soal menampilkan deret bilangan. Salah satu kelebihan penggunaan fungsi rekursif adalah secara penulisan code program akan lebih singkat dan efektif. Namun kekurangannya tidak terlalu efektif secara performa dan waktu eksekusi program karena fungsi rekursif membutuhkan resources memory yang lebih besar. Dan jika tidak hati-hati dalam mendefinisikan proses di dalam fungsi rekursif, seringkali menghasilkan proses yang tidak pernah berhenti (infinitive process).
Contoh program deret Fibonacci menggunakan fungsi rekursif
<?php
function fibonaci($i) {
if($i==1 || $i==2 ) {
return 1;
} else if($i==3) {
return 2;
} else {
return fibonaci($i-2)+fibonaci($i-1);
}
}
for ($i=1; $i <= 6; $i++) {
echo fibonaci($i).”,”;
}
?>
Dari program di atas jika di eksekusi akan menampilkan 6 deret bilangan Fibonacci
Hasilnya adalah : 1,1,2,3,5,8,
Program tersebut menggunakan perulangan karena akan menampilkan deretnya dan jika hanya ingin mengetahui nilai deret Fibonacci ke n maka tidak di perlukan menggunakan perulangan.
2 . Perulangan
· For
Perulangan For adalah perulangan yang termasuk dalam counted loop, karena bisa menentukan jumlah perulangannya. Bentuk dasar dari perulangan for adalah sebagai berikut :
<?phpfor ($i = 0; $i < 10; $i++){}?>Keterangan :
Veriabel $i dalam perulangan For berfungsi sebagai counter yang menghitung berpa kali ia akan mengulang.
Hitungan akan dimulai dari nol (0), karena kita memberikan nilai $i = 0.
Lalu, perulangan akan diulang selama nilai $i lebih kecil dari 10. Artinya, perulangan ini akan mengulang sebanyak 10x.
Maksud dari $i++ adalah nilai $i akan ditambah 1 disetiap kali melakukan perulangan.
· While
Perulangan while adalah perulangan yang termasuk dalam uncounted loop. Karena biasanya digunakan untuk mengulang sesuatu yang belum jelas jumlah pengulangannya. Namun, perulangan while juga bisa digunakan seperti perulangan for sebagai counted loop.
<?phpwhile (<kondisi>){// blok kode yang akan diulang di sini}?>· Do While
Perulangan Do/While sama seperti perulangan while. Ia juga tergolong dalam uncounted loop. Perbedaan Do/While dengan while terletak pada cara iya memulai pengulangan. Perulangan Do/While akan selalu melakukan pengulangan sebanyak 1 kali, kemudian melakukan pengecekan kondisi.
Sedangkan perulangan while akan mengecek kondisi terlebih dahulu, baru melakukan pengulangan.
Bentuk perulangan Do/While:
<?phpdo {// blok kode yang akan diulang} while (<kondisi>);?>
