Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehInge Cahyadi Telah diubah "7 tahun yang lalu
1
Prodi S1-Sistem Komputer, F Teknik Elektro
KUG1A3 Algoritma& Pemrograman Burhanuddin D Prodi S1-Sistem Komputer, F Teknik Elektro Universitas Telkom Presentasi 6 Pengulangan
2
Perhatikan.... Ulangi langkahkan kaki kanan langkahkah kaki kiri
Until ( tiba di tujuan ) Atau Selama belum tiba di tujuan langkahkan kaki kanan langkahkah kaki kiri wapixel.com
3
Perhatikan.... Ulangi ambil makanan masukkan mulut kunyah telan
Until ( makanan habis ) Gif-central.blogspot.com
4
Perhatikan.... Ulangi 5 kali ambil irisan daging masukkan mulut Kunyah
telan Giphy.com
5
Pengulangan Pengulangan merupakan mekanisme penting dalam algoritma :
Sekelompok instruksi dapat dilaksanakan berulang-ulang tanpa menuliskan instruksi satu demi satu. Pembacaan 100 data, tidak perlu menuliskan 100 baris instruksi. Pengulangan didasari kondisi tertentu.
6
Pengulangan Mengulang satu atau beberapa instruksi dengan performansi/kinerja yang sama. Pengulangan harus berhenti, jika syarat untuk berhenti telah tercapai. Ada mekanisme agar syarat untuk menghentikan pengulangan dapat tercapai. Ada beberapa mekanisme pengulangan
7
Struktur Pengulangan Pengulangan terdiri dari dua bagian : kondisi :
syarat yang mengakibatkan pengulangan suatu saat berhenti dinyatakan oleh sebuah ekspresi logika baik secara eksplisit maupun implisit badan pengulangan aksi yang harus diulang dilakukan terus selama kondisi masih dipenuhi
8
Notasi Pengulangan Ada lima macam notasi pengulangan:
berdasarkan jumlah pengulangan (repeat times) berdasarkan pencacah (traversal) berdasarkan kondisi pengulangan (while do) berdasarkan kondisi berhenti (repeat until) berdasarkan dua aksi (iterate stop)
9
A. Berdasarkan jumlah pengulangan
repeat n times aksi-1 aksi-2 Kelompok aksi akan diulang sebanyak n kali Tidak perlu instruksi untuk menghentikan pengulangan Pengulangan akan berhenti setelah aksi dilakukan sebanyak n kali. Instruksi ini tidak ada dalam Pascal.
10
Contoh : pengulangan berdasar jumlah
Ulangi instruksi di bawah ini sebanyak 3 kali: ambil sebuah apel, masukkan ke keranjang. Pengambilan apel dan pemasukkan apel ke keranjang akan dilakukan 3 kali. Tidak perlu ada penghitung repeat 3 times ambil sebuah apel masukkan ke keranjang
11
Tidak perlu ada counter penghitung Masing-masing apel tidak dibedakan
Perhatikan : repeat 3 times ambil sebuah apel masukkan ke keranjang Pengambilan apel dan pemasukkan apel ke keranjang akan dilakukan 3 kali. Tidak perlu ada counter penghitung Masing-masing apel tidak dibedakan
12
Contoh 2 : pengulangan berdasar jumlah
Baca sebuah data, dan totalkan data tersebut. Ulangi sebanyak n kali. Pembacaan dan penjumlahan data akan dilakukan sebanyak n kali. Nilai n harus diketahui. Input(n) repeat n times input(data) total total + data
13
B. Berdasarkan pencacah/counter
Pencacah traversal [awal..akhir] aksi-1 aksi-2 Aksi akan diulang mulai dari nilai pencacah = awal hingga nilai pencacah=akhir. Nilai Pencacah / counter tidak perlu ditambah pada kelompok instruksi yang diulang / tidak perlu inkremental counter. Nilai pencacah setelah akhir pengulangan tidak terdefinisi ( untuk notasi algoritma), pada Pascal bernilai = akhir.
14
Contoh : Pengulangan dg pencacah/counter
Saya hitung 1 sampai 3, ambil sebuah apel dan masukkan ke keranjang. Pengambilan apel dan pemasukkan ke keranjang akan dilakukan 3 kali, diawali dengan penyebutan bilangan pencacah. I traversal [1..3] ambil 1 apel masukkan ke keranjang
15
Perhatikan I traversal [1..3] ambil 1 apel masukkan ke keranjang
Pengambilan apel dan pemasukkan ke keranjang akan dilakukan 3 kali, Counter bertambah otomatis Instruksi ini sama dengan for..do dalam Pascal Counter dapat dipakai sebagai indeks, untuk membedakan masing-masing apel.
16
Contoh 2: Pengulangan dg pencacah/counter
Baca data pertama sampai kelima, dan jumlahkan kelima data tersebut. Pembacan data dan penjumlahan data dilakukan 5 kali, dengan pembacaan dari data pertama sampai data kelima. I traversal [1..5] output(‘Masukkan data ke-’,i) input(data) jumlah jumlah + data Output(jumlah)
17
Pascal: Pengulangan dg pencacah/counter
Dalam Pascal, pengulangan traversal dituliskan dengan For pencacah:=awal to akhir do....; Atau For pencacah:=akhir downto awal do....; For i:=1 to 5 do Begin Writeln(‘Masukkan data ke-’,i); readln(data); jumlah := jumlah + data; End;
18
Catatan1: Pengulangan dg pencacah/counter
Pada Pascal, jika jumlah instruksi yang diulang lebih dari 1 baris, maka harus dimulai kata ‘begin’ dan diakhiri ‘end’. Pada notasi algoritma, tidak ada ‘begin’ dan ‘end’. Kelompok instruksi yang diulang, ditandai dengan hipenasi yg sama For i:=1 to 5 do Begin readln(data); jml := jml + data; End; I traversal [1..5] input(data) jml jml + data
19
Catatan2: Pengulangan dg pencacah/counter
For i:=1 to 5 do readln(data); atau For i:=1 to 5 do readln(data); I traversal [1..5] input(data) I traversal [1..5] input(data) jml jml + data For i:=1 to 5 do readln(data); jml := jml + data; Perhatian : baris penjumlahan data hanya dilakukan 1 kali ! Tidak termasuk pengulangan !
20
Pengujian di awal pengulangan
While (kondisi ) do aksi-1 aksi-2 Aksi akan diulang selama kondisi bernilai true/benar. Kondisi akan selalu diuji sebelum aksi dilakukan Salah satu aksi harus mengubah nilai kondisi menjadi salah. Pengulangan akan berhenti jika kondisi bernilai salah.
21
Contoh1 : Pengujian di awal pengulangan
Selama keranjang belum penuh, ambil sebuah apel dan masukkan ke keranjang. Pengambilan apel dan pemasukkan ke keranjang akan terus dilakukan SELAMA keranjang belum penuh. While (keranjang belum penuh ) do ambil sebuah apel masukkan ke keranjang Jika di awal instruksi keranjang sudah penuh, pengambilan bola TIDAK PERNAH DILAKUKAN.
22
Perhatikan Pengambilan apel dan pemasukkan ke keranjang akan dilakukan SELAMA keranjang belum penuh. Penuh atau tidaknya keranjang diuji sebelum mengambil apel. Jika di awal keranjang telah penuh, maka tidak dilakukan pengambilan apel ataupun pemasukan apel ke keranjang kecil.
23
Perhatikan Pemasukan minuman ke dalam gelas akan dilakukan setelah melihat bahwa gelas belum penuh. Jika di awal gelas telah penuh, maka pengisian minuman tidak akan dilakukan. Kondisi di awal pengulangan yang membuat pengulangan tidak pernah dilakukan disebut dengan kondisi kosong. Pengulangan ini merupakan pengulangan yang paling sering dipakai, karena paling aman dan paling intuitif.
24
Contoh2 : Pengujian di awal pengulangan
Selama nilai x lebih kecil dari nilai y, baca data, jumlahkan data tersebut dan tambahkan x dengan 2. Nilai x dan y harus diketahui sebelum pengulangan Pengujian dengan ( x < y ) x1; y 10 While (x < y ) do input(data) jumlah jumlah + data x x + 2
25
Contoh3 : Pengujian di awal pengulangan
Selama data yang dibaca bukan 999, baca data dan jumlahkan data tersebut. Data pertama dibaca sebelum pengulangan. Pengujian dengan ( data ≠ 999 ) Input(data) While (data≠ 999 ) do jumlah jumlah + data input (data ) Perhatian : pada kasus ini, penjumlahan data harus dilakukan sebelum baca data berikutnya
26
Pascal: Pengujian di awal pengulangan
Bentuk program sangat mirip dengan notasi algortima x:=1; y:=10; While (x < y ) do Begin readln(data); jml:= jml + data; x:=x + 2; End; readln(data); While (data≠ 999 ) do Begin jml:=jml+data: readln(data ); End;
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.