Rekursif vs Iteratif

Bagikan

Share on facebook
Share on whatsapp
Share on twitter
Share on email

Rekursifataupun Iteratif sama-sama bagus dipelajari, karena disana syarat akan mengasah logika programmer. Namun, apa sih perbedaan diantara keduanya?

Yuk simak artikel ini supaya kita paham dimana letak perbedaannya.

Rekursif

Rekursif adalah suatu proses atau prosedur dari fungsi yang memanggil dirinya sendiri secara berulang-ulang. 

Karena proses dalam Rekursif ini terjadi secara berulang-ulang maka harus ada kondisi yang membatasi pengulangan tersebut, jika tidak maka proses tidak akan pernah berhenti sampai memori yang digunakan untuk menampung proses tersebut tidak dapat menampung lagi (Penuh).

Iteratif

Fungsi Iteratif merupakan perulangan yang melakukan proses perulangan terhadap sekelompok instruksi. Perulangan dilakukan dalam batasan syarat tertentu. Ketika syarat tersebut tidak terpenuhi lagi maka perulangan akan terhenti.

Perulangan rekursif merupakan salah satu metode di dalam pemrograman yang mana dalam sebuah fungsi terdapat instruksi yang memanggil fungsi itu sendiri, atau lebih sering disebut memanggil dirinya sendiri.

Kelebihan perulangan rekursif yaitu sangat mudah untuk melakukan perulangan dengan batasan yang luas dalam artian melakukan perulangan dalam skala yang besar,  dapat melakukan perulangan dengan batasan fungsi.

Kekurangan perulangan rekursif yaitu tidak bisa melakukan nested loop atau looping bersarang. Biasanya membuat fungsi sulit untuk dipahami, hanya cocok untuk persoalan tertentu saja. 

Memerlukan stack yang lebih besar, sebab setiap kali fungsi dipanggil, variabel lokal dan parameter formal akan ditempatkan ke stack dan ada kalanya akan menyebabkan stack tak cukup lagi (Stack Overrun). 

Proses agak berbelit-belit karena terdapat pemanggilan fungsi yang berulang-ulang dan pemanggilan data yang ditumpuk.

Sedangkan perulangan iteratif  merupakan perulangan yang melakukan proses perulangan terhadap sekelompok instruksi. 

Perulangan dilakukan dalam batasan syarat tertentu. Ketika syarat tersebut tidak terpenuhi lagi maka perulangan akan berhenti.

Kelebihan perulangan iteratif yaitu mudah dipahami dan mudah dilakukan debugging ketika ada perulangan yang salah dan dapat melakukan nested loop atau yang disebut dengan looping bersarang. 

Proses lebih singkat karena perulangan terjadi pada kondisi yang telah disesuaikan, jarang terjadi overflow karena batasan dan syarat perulangan yang jelas.

Kelemahan perulangan iteratif tidak dapat menggunakan batasan berupa fungsi, perulangan dengan batasan yang luas akan menyulitkan dalam pembuatan program perulangan itu sendiri.

 

Rekursif

Iteratif

Kelebihan

Sangat mudah untuk melakukan perulangan dengan batasan yang luas dalam artian melakukan perulangan dalam skala yang besar. Mudah dipahami dan mudah dilakukan debugging ketika ada perulangan yang salah
Dapat melakukan perulangan dengan batasan fungsi Dapat melakukan nested loop atau yang disebut dengan looping bersarang
Proses lebih singkat karena perulangan terjadi pada kondisi yang telah disesuaikan
Jarang terjadi overflow karena batasan dan syarat perulangan yang jelas

Kekurangan

Tidak bisa melakukan nested loop atau looping bersarang Tidak dapat menggunakan batasan berupa fungsi
Biasanya membuat fungsi sulit untuk dipahami, hanya cocok untuk persoalan tertentu saja Perulangan dengan batasan yang luas akan menyulitkan dalam pembuatan program perulangan itu sendiri.
Memerlukan stack yang lebih besar, sebab setiap kali fungsi dipanggil, variabel lokal dan parameter formal akan ditempatkan ke stack dan ada kalanya akan menyebabkan stack tak cukup lagi (Stack Overrun)
Proses agak berbelit-belit karena terdapat pemanggilan fungsi yang berulang-ulang dan pemanggilan data yang ditumpuk

Persamaan

Sama-sama merupakan bentuk perulangan.
Sama-sama merupakan bentuk perulangan.

Perbedaan

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.

 

Semoga artikel ini bermanfaat yaa

Subscribe & Dapatkan Info Lainnya

WEBZID DEVELOPER

Leave a Reply

Your email address will not be published. Required fields are marked *

Berita Terkait