Rabu, 19 Maret 2014

0

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