Fungsi merupakan bagian
yang tidak terpisahkan dari konsep bahasa pemrograman. Dengan adanya fungsi,
akan meningkatkan readibility (kemudahan untuk dibaca), modularity (pemecahan
program menjadi modul-modul) dan reusability (dapat digunakan kembali) program
kita. Lalu apa itu fungsi rekursif? Singkatnya, fungsi
rekursif adalah suatu fungsi yang memanggil dirinya sendiri. Jadi di dalam
suatu fungsi rekursif terdapat pemanggilan terhadap dirinya sendiri.
Penasaran?
Dalam tutorial kali ini, saya akan menyajikan beberapa contoh sederhana penerapan
fungsi rekursif di bahasa pemrograman PHP. Pada akhir tutorial,
akan dicontohkan penggunaan fungsi rekursif dalam menampilkan menu
bertingkat yang
diambil dari database MySQL.
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).
Menghitung
Faktorial dengan Rekursif
Salah satu contoh yang paling mudah untuk
menjelaskan fungsi rekursif adalah faktorial. Kita tahu bahwa dalam
matematika, faktorial dari bilangan asli n adalah hasil perkalian antara
bilangan bulat positif yang kurang dari atau sama dengan n. Faktorial ditulis
sebagai n! dan disebut n
faktorial. Sebagai contoh 5! = 5 x 4 x 3 x 2 x 1 = 120.
Jika
dilihat dari keteraturan pola dalam menghitung nilai faktorial suatu bilangan,
maka dapat diselesaikan dengan menggunakan fungsi biasa maupun fungsi rekursif.
Perhatikan dan bandingkan kedua program berikut ini dimana program pertama
tanpa rekursif dan program kedua dengan rekursif.
0 komentar:
Posting Komentar