seperti yang sudah saya bahas pada postingan sebelumnya mengenai rekursif, kali ini saya akan membahas perbedaan antara rekursif vs iterasi.
perbedaan rekursif vs iterasi
rekursif adalah fungsi yang memanggil dirinya sendiri, rekursif menggunakan pernyataan pilihan (if, if...else, switch). sedangkan iterasi adalah proses pengulangan dengan menggunakan perintah perulangan (for, while, dan do...while). iterasi dan rekursif memasukkan unsur perulangan :
iterasi menggunakan perintah pengulangan secara eksplisit, sedangkan rekursif memasukkan pengulangan melalui pemanggilan fungsi secara berulang.
iterasi dan rekursif memasukkan tes penghentian : penghentian iterasi pada kondisi looping yang bernilai salah. sedangkan penghentian rekursif pada saat kondisi dasarnya terpenuhi.
iterasi dengan pengulangan yang dikendalikan oleh counter dan rekursif secara bertahapmendekati penghentian : iterasi terus memodifikasi counter sampai counter mengasumsikan nilai yang membuat kondisi loop berikutnya gagal. rekursif terus memanggil dirinya sendiri menggunakan masalah yang ada, sampai keadaan dasar tercapai.
baik pada iterasi maupun rekursif dapa terjadi kondisi perulangan yang tidak berhenti : kondisi loop tidak berhenti pada iterasi terjadi pada saat tes kondisi lanjut atau tidaknya perulangan idak pernah salah. sedangkan kondisi loop tidak berhenti pada rekursif jika langah rekursif tidak mengulangimasalah pada setiap pemanggilan fungsi itu sendiri, sehingga keadaan dasar tidak pernah tercapai.
rekursif mempunyai banyak nilai negaif. rekursif mempunyai mekanisme pemanggilan method berulang, dan konsekoensinya terjadi overhead. mekanisme ini juga akan mempengaruhi kerja sisem karena mengambil waktu dari prosesor dan ruang dari memori kompuer. setiap pemanggilan rekursif berarti copy dari method dibuat (kenyataannya hanya variabel method), serangkaian copy ini dapat memakan tempat di memory. ierasi terjadi dalammehod, sehingga pemanggilan mehod dan tambahan memori dapat di cegah.
mengapa menggunakan rekursif?? software engineering yang bagus adalah pening. dalam banyak kasus unjuk kerja yang tinggi menjadi prioritas utama. behkan meskipun harus di bayar dengan harga tinggi, karena membutuhkan hardware yang besar dan handal. dan rekursif mempunyai performa yang baik dan inggi untuk digunakan.
Posting Komentar untuk "perbedaan antara iterasi dengan rekursif "