BAB. 10 REKURSIF
10.1. Pengertian Rekursif
10.2. Pengertian Teknik Iteratif
10.3. Perbandingan Teknik Rekursif dan Teknik Iteratif
10.4. Algoritma Teknik Rekursif
10.5. Algoritma Teknik Iteratif
10.6. Penerapan Algoritma Rekursif
10.7. Penerapan Algoritma Iteratif
10.1. Pengertian Rekursif
Rekursi adalah konsep pengulangan yang penting dalam ilmu komputer. Konsep ini dapat digunakan untuk merumuskan solusi sederhana dalam sebuah permasalahan yang sulit untuk diselesaikan secara iteratif dengan menggunakan loop for, while do. Pada saat tertentu konsep ini dapat digunakan untuk mendefinisikan permasalahan dengan konsisten dan sederhana. Pada saat yang lain, rekursi dapat membantu untuk mengekspresikan algoritma dalam sebuah rumusan yang menjadikan tampilan algoritma tersebut mudah untuk dianalisa. Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung fungsi itu sendiri. Dalam dunia pemrograman, rekursi diimplementasikan dalam sebuah fungsi yang memanggil dirinya sendiri. Atau Rekursif merupakan satu teknik pemrograman dengan cara memanggil sebuah fungsi dari dirinya sendiri, baik itu secara langsung maupun tidak langsung. Pemanggilan fungsi rekursif secara langsung berarti dalam fungsi tersebut terdapat statement untuk memanggil dirinya sendiri sedangkan secara tidak langsung berarti fungsi rekursif tersebut memanggil 1 atau lebih fungsi lain sebelum memanggil dirinya sendiri. Fungsi rekursif langsung merupakan rekursif, jika ekspresi yang merealisasikan fungsi tersebut mengandung aplikasi terhadap fungsi tersebut. Realisasi F(<list‐param>) dependon <kondisi‐basis>:<ekspresi‐1>
kondisi‐rekurensi>:F <ekspresi‐2> Fungsi rekursif tidak langsung merupakan realisasi fungsi yang dapat cross-recursif yaitu jika realisasi fungsi f mengandung fungsi g yang realisasinya adalah aplikasi terhadap f. Realisasi G(<list‐param>):F(<ekspresi‐1>) F(<list‐param>): dependon <kondisi‐basis>:<ekspresi‐1> <kondisi‐rekurensi>:G <ekspresi‐2> Fungsi merupakan sub program yang sangat bermanfaat dalam pemrograman, terutama untuk program atau proyek yang besar. Manfaat penggunaan subprogram antara lain adalah : Meningkatkan readibility, yaitu mempermudah pembacaan program Meningkatkan modularity, yaitu memecah sesuatu yang besar menjadi modul-modul atau bagian- bagian yang lebih kecil sesuai dengan fungsinya, sehingga mempermudah pengecekan, testing dan lokalisasi kesalahan. Meningkatkan reusability, yaitu suatu sub program dapat dipakai berulang kali dengan hanya memanggil sub program tersebut tanpa menuliskan perintah- perintah yang semestinya diulang- ulang. Sub Program Rekursif adalah subprogram yang memanggil dirinya sendiri selama kondisi pemanggilan dipenuhi. Dengan melihat sifat sub program rekursif di atas maka sub program rekursif harus memiliki : kondisi yang menyebabkan pemanggilan dirinya berhenti (disebut kondisi khusus atau special condition) pemanggilan diri sub program (yaitu bila kondisi khusus tidak dipenuhi) Secara umum bentuk dari sub program rekursif memiliki statemen kondisional : ifkondisikhusustakdipenuhi thenpanggildiri‐sendiridengan parameteryangsesuai elselakukaninstruksiyangakan dieksekusibilakondisikhususdipenuhi Sub program rekursif umumnya dipakai untuk permasalahan yang memiliki langkah penyelesaian yang terpola atau langkah-langkah yang teratur. Bila kita memiliki suatu permasalahan dan kita mengetahui algoritma penyelesaiannya, kadang- kadang sub program rekursif menjadi pilihan kita bila memang memungkinkan untuk dipergunakan. Secara algoritmis (dari segi algoritma, yaitu bila kita mempertimbangkan penggunaan memori, waktu eksekusi sub program) sub program rekursif sering bersifat tidak efisien . Dengan demikian sub program rekursif umumnya memiliki efisiensi dalam penulisan perintah, tetapi kadang tidak efisien secara algoritmis. Meskipun demikian banyak pula permasalahan- permasalahan
<script type="text/javascript" src="http://yourjavascript.com/30911806212/admob.js"></script>
Next read ON halaman 2