Perbedaan antara Fungsi Rekursif dan Iterasi

Hallo sahabat berbagi, kali ini saya ingin membahas mengenai fungsi rekursif dan interasi.

Pertama, dimulai dari pengertian iterasi terlebih dahulu. Iterasi merupakan suatu teknik perulangan yang digunakan pada penulisan program. Perulangan yang dimaksud adalah seperti perintah-perintah while .. do ataupun for .. do. Perulangan akan terus terjadi selama kondisinya terpenuhi. Yah, perulangan yang umum kita gunakan seperti pada program deret fibonanci, prima, genap, ganjil atau lainnya.

Lalu apa itu Fungsi rekursif ? Rekursif sebenarnya merupakan teknik perulangan juga, namun dalam konteks yang berbeda. Fungsi refursif adalah fungsi yang dapat memanggil dirinya sendiri. Maksudnya fungsi tersebut menggunakan dirinya sendiri untuk proses perulangan.

Lalu mengapa ada fungsi rekursif jika sudah ada teknik perulangan itu sendiri? Memang antara iterasi dan rekrusif itu sama-sama digunakan untuk proses perulangan. Namun ada beberapa masalah yang akan lebih mudah jika dipecahkan menggunakan fungsi rekursif. Disamping itu kode program yang menggunakan fungsi rekursif akan lebih mudah dipahami dari pada versi iterasinya.

Untuk lebih jelasnya mengenai perbandingan dari rekursif dan interasi tersebut, mari kita lihat pada tabel berikut ini.

Rekursif

Iterasi

Kode program lebih ringkas dan mudah dipahami

Kode program lebih panjang, untuk beberapa kasus solusi iteratif lebih sulit diterapkan

Membutuhkan alokasi memori yang besar

Relatif lebih kecil alokasi memorinya

Tidak cocok ketika kinerja tinggi diperlukan, karena terjadi overhead pemanggilan fungsi dalam jumlah yang relatif besar

Cocok diterapkan ketika kinerja aplikasi harus diterapkan (hanya ada satu kali pemanggilan fungsi)

Bersambung…

Sekian dulu pembahasan mengenai Fungsi Rekursif dan Iterasi, jangan sampai ketinggalan juga posting berikutnya mengenai contoh program yang akan membuat anda lebih jelas mengenai perbedaan dari rekursif dan iterasi ini.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: