Rekursif, Iterasi dan Perbedaan Rekursif dan Iterasi
Rekursif
Suatu entitas yang disebut rekursif jika dalam
pendefenisian entitas tersebut terkandung entitas tersebut. Dalam artian sebuah
rekursif merupakan suatu perulangan yang menggunakan metode memanggil dirinya
sendiri dalam sebuah algoritma pemrograman. Jadi metode rekursif, melakukan
siklus tanpa menggunakan sintax perulangan seperti, (for, while do, repeat
untill, dan sejenisnya).
Untuk mengenal suatu program yang mengandung
nilai rekursf atau tidak, hanya melihat dari kondisi paramater. Jika program
utama tidak memiliki parameter, tidak mungkin bersifat rekursif. Selain itu
prosedur dan fungsi juga bisa bersifat rekursif.
Prosedur rekursif memerlukan cara pendefenisian
yang disebut Initial State dan Final State. Initial state merupakan suatu
kondisi awal dari suatu masalah yang akan dipecahkan. Sedangkan Final state
merupakan kondisi akhir dari suatu permasalahan yang telah terpecahkan.
Iterasi
Sebuah proses iteratif merupakan suatu proses
dalam algoritma yang melakukan perhitungan dengan hasil yang diingin
menggunakan cara siklus berulang melalui sebuah operasi perulangan.
Berdasarkan pandangan ilmu pemrograman komputer,
iteratif menggambarkan situasi dimana urutan instruksi dapat dieksekusi
berulang kali. Dalam sekali eksekusi biasa disebut juga 1 iterasi. Dan jika
iterasi dilakukan berulang kali, proses tersebut biasa dikenal sebagai loop.
Sehinga proses iterasi terjadi karena adanya loop.
Dalam software development proses iteratif
menggambarkan proses pengembangan dan perencanaan heuristik dalam pengembangan
sebuah aplikasi. Dalam setiap iterasi akan ditinjau oleh tim software
development untuk validasi sebelum digunakan oleh end-user.
Perbedaan Antara
Rekursif dan Iterasi
Rekursif:
· Kode program lebih ringkas dan mudah
dipahami.
· Membutuhkan alokasi memori yang besar.
· Tidak cocok ketika kinerja tinggi
diperlukan, karena terjadi overhead pemanggilan fungsi dalam jumlah yang
relatif besar.
Iterasi :
· Kode program lebih panjang, untuk beberapa
khasus solusi iterasi lebih sulit diterapkan.
· Relatif lebih kecil alokasi
memorinya.
· Cocok diterapkan ketika kinerja aplikasi
harus diterapkan (hanya ada satu kali pemanggilan fungsi)
Komentar
Posting Komentar