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

Postingan Populer