Tugas :
1. Carilahreferensi baik melalui buku maupuninternet perihal REKURSI.
Rekursif adalah Salah satu konsep paling
dasar dalam ilmu komputer dan pemrograman adalah pengunaan fungsi sebagai
abstraksi untuk kode-kode yang digunakan berulang kali. Kedekatan ilmu komputer
dengan matematika juga menyebabkan konsep-konsep fungsi pada matematika
seringkali dijumpai. Salah satu konsep fungsi pada matematika yang ditemui pada
ilmu komputer adalah fungsi rekursif : sebuah fungsi yang memanggil dirinya
sendiri.
Algoritma
Rekursif
Rekursif merupakan salah satu metode algoritma
yang kerap digunakan dalam membuat perulangan, seperti halnya iterasi for,
repeat .. until, do.. while, dsb. Perbedaannya adalah dalam sifatnya yang
memanggil dirinya sendiri, baik secara langsung ataupun melalui metode yang
lainnya. Ciri masalah yang dapat diselesaikan secara rekursif adalah masalah
itu dapat direduksi menjadi satu atau lebih masalah-masalah serupa yang lebih
kecil. Secara umum metode algoritma rekursi terdiri atas dua komponen utama,
yaitu :
- Bagian induksi (Recursive Step), merupakan satu
atau lebih kasus yang menyelesaikan masalah serupa namun dengan ukuran
data ataupun metode yang lebih sederhana
- Bagian penyetop (Basis Step), merupakan satu atau lebih kasus yang paling sederhana dan solusinya tidak perlu lagi terjadi rekursi.
Fungsi rekursif
Pada pembahasan-pembahasan sebelumnya, telah dibahas tentang fungsi. Tapi pada
saat saya presentasi ada sebuah pertanyaan “Apa saja manfaat menggunakan Fungsi
Rekursi?”. Karena saya hanya tahu manfaat fungsi tapi bukan fungsi rekursif
saya mencoba menjawabnya. dan jawaban saya adalah “Karena fungsi rekursi ini
mirip dengan perulangan, jadi kelebihan/manfaatnya yaitu pada penghematan
penulisan listing program jika dibandingkan dengan looping/perulangan”.
Perbedaan
dan Persamaan Rekursif dan Iteratif :
Persamaan
Perulangan
rekursif merupakan salah satu metode didalam pemrograman yang mana dalam sebuah
fungsi terdapat intruksi yang memanggil fungsi itu sendri, atau lebih sering disebut memanggil dirinya
sendiri.
Persamaan
- Sama-sama merupakan bentuk perulangan.
- Dilakukan pengecekan kondisi terlebih dahulu sebelum mengulang.
- Iteratif menggunakan FOR, WHILE, DO-WHILE sedangkan rekursif hanya menggunakan IF.
- Iteratif dapat berjalan pada program yang terdiri dari prosedur (Tidak terdapat fungsi) sedangkan rekursif merupakan fungsi.
REKURSIF
ITERATIF
Perulangan
iteratif merupakan perulangan yang melakukan proses perulangan terhadap
sekelompok intruksi. Perulangan dilakukan dalam batasan syarat tertentu. Ketika
syarat tersebut tidak terpenuhi lagi
maka perulangan aka terhenti.
Kelebihan dan Kekurangan Rekursif dan Iteratif , yaitu :
Kelebihan perulangan rekursif
Kelebihan perulangan iteratif
Kekurangan perulangan rekursif
Kelemahan perulangan iterative
Sumber: http://madegapur.blogspot.com/2013/11/contoh-program-rekursif.html
https://einzebern.wordpress.com/2011/10/26/rekursif-dan-iteratif/
Kelebihan dan Kekurangan Rekursif dan Iteratif , yaitu :
Kelebihan perulangan rekursif
1. Sangat mudah untuk melakukan perulangan dengan batasan
yang luas dalam artian melakukan perulangan dalam skala yang besar/
2. Dapat melakukan perulangan dengan batasan fungsi.Kelebihan perulangan iteratif
1. Mudah dipahami dan mudah dilakukan debuging ketika
ada perulangan yang salah
2. Dapat melakukan nested loop atau yang disebut dengan
looping bersarang
3. Proses lebih singkat karena perulangan terjadi pada
kondisi yang telah disesuaikan
4. Jarang terjadi overflow karena batasan dan syarat perulangan yang
jelasKekurangan perulangan rekursif
1. Tidak bisa melakukan nested loop atau looping
bersarang
2. Biasanya membuat fungsi sulit untuk dipahami, hanya
cocok untuk persoalan tertentu saja
3. Memerlukan stack yang lebih besar, sebab setiap kali
fungsi dipanggil, variabel lokal dan parameter formal
akan ditempatkan ke stack
dan ada kalaya akan menyebabkan stack tak cukup lagi (Stack Overum)
4. Proses agak berbelit-belit karena terdapat pemangilan fungsi yang
berulang-ulang dan pemanggilan data yang ditumpukKelemahan perulangan iterative
1. Tidak dapat menggunakan batasan berupa fungsi
2. Perulangan dengan batasan yang luas akan menyulitkan dalam pembuatan
program perulangan itu sendiriSumber: http://madegapur.blogspot.com/2013/11/contoh-program-rekursif.html
https://einzebern.wordpress.com/2011/10/26/rekursif-dan-iteratif/
0 komentar:
Speak up your mind
Tell us what you're thinking... !