Iterasi Rekursif [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Algortima & Pemrograman



Iterasi & Rekursif Muhammad Fadli, M.Kom



Rekursif Seperti yang sudah dibahas pada pertemuan sebelumnya, 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).



6/28/2021



Annual Review



2



Iterasi dan rekursif memasukkan unsur pengulangan: iterasi menggunakan perintah pengulangan secara ekspisit, rekursif memasukkan pengulangan melalui pemanggilan fungsi secara berulang. Iterasi dan rekursif memasukkan tes penghentian: penghentian iterasi pada kondisi looping yang bernilai salah, penghentian rekursif pada saat kondisi dasarnya terpenuhi.



6/28/2021



Annual Review



3



Iterasi dengan pengulangan yang dikendalikan oleh counter dan rekursi secara bertahap mendekati penghentian: Iterasi terus memodifikasi counter sampai counter mengasumsikan nilai yang membuat kondisi loop berikutnya gagal; rekursi terus memanggil dirinya sendiri menggunakan masalah yang ada sampai keadaan dasar tercapai.



6/28/2021



Annual Review



4



Baik pada iterasi maupun rekursif dapat terjadi kondisi pengulangan yang tidak berhenti: kondisi loop tidak berhenti pada iterasi terjadi pada saat tes kondisi lanjut atau tidaknya perulangan tidak pernah bernilai salah; sedangkan kondisi loop tidak berhenti pada rekursif jika langkah rekursif tidak mengurangi masalah pada setiap pemanggilan fungsi itu sendiri, sehingga keadaan dasar tidak pernah tercapai.



6/28/2021



Annual Review



5



Rekursif mempunyai banyak nilai negatif. rekursif mempunyai mekanisme pemanggilan method berulang, dan konsekuensinya terjadi overhead. Mekanisme ini juga akan mempengaruhi kerja sistem karena mengambil waktu dari prosesor dan ruang dari memori. Setiap pemanggilan rekursif berarti copy dari method dibuat (kenyataannya, hanya variabel method); serangkaian copy ini dapat memakan tempat di memori. Iterasi terjadi dalam method, sehingga pemanggilan method dan tambahkan memori dapat dicegah.



6/28/2021



Annual Review



6



Mengapa menggunakan rekursif? Software engineering yang bagus adalah penting. Dalam banyak kasus, untuk kerja yang tinggi menjadi prioritas utama bahwa meskipun harus dibayar dengan harga tinggi, karena membutuhkan hardware yang besar dan handal. Dan rekursif mempunyai performance yang baik dan tinggi



6/28/2021



Annual Review



7



Contoh Program Diketahui algoritma program untuk menampilkan bilangan dari 0 hingga k, dengan k sembarang. 1. Mulai 2. Masukan sebuah anga (k) 3. Untuk indeks (n) = 1 sampai dengan k, tampilkan k 4. Selesai



6/28/2021



Annual Review



8



#include using namespace std; main (){ int n,k; coutk; for (n=0; n