Topik 8 Perulangan

32
Topik 8 Perulangan Algoritma & Struktur Data PS. Manajemen Informatika

description

Algoritma dan Struktur Data

Transcript of Topik 8 Perulangan

Page 1: Topik 8 Perulangan

Topik 8Perulangan

Algoritma & Struktur Data

PS. Manajemen Informatika

Page 2: Topik 8 Perulangan

Sub Topik

1. Konsep Dasar Perulangan

2. Pernyataan FOR

3. Pernyataan WHILE

4. Pernyataan REPEAT

Page 3: Topik 8 Perulangan

Tujuan

Tujuan Instruksional Umum :

Mahasiswa diharapkan mampu membuat algoritma dengan perulangan

Tujuan Instruksional Khusus :

Mahasiswa mampu memahami konsep perulangan

Mahasiswa mampu menggunakan pernyataan FOR

Mahasiswa mampu menggunakan pernyataan WHILE

Mahasiswa mampu menggunakan pernyataan REPEAT

Page 4: Topik 8 Perulangan

Konsep Dasar Perulangan

Struktur perulangan secara umum terdiri dari dua bagian, yaitu:• Kondisi perulangan, yaitu ekspresi boolean yang

harus dipenuhi untuk melaksanakan perulangan. Kondisi ini ada yang dinyatakan secara eksplisit oleh pemrogram atau dikelola sendiri oleh komputer (implisit)

• Badan (body) perulangan, yaitu bagian algoritma yang diulang

Struktur perulangan biasanya disertai dengan bagian :• Inisialisasi, yaitu aksi yang dilakukan sebelum

perulangan dilakukan pertama kali• Terminasi, yaitu aksi yang dilakukan setelah

perulangan selesai dilaksanakan

Page 5: Topik 8 Perulangan

Pernyataan FOR

Digunakan untuk menghasilkan pengulangan sejumlah yang telah dispesifikasikan

Jumlah pengulangan diketahui sebelum eksekusi

Memerlukan sebuah pencacah untuk mencacah berapa kali pengulangan dilakukan

Peubah ini nilainya selalu bertambah satu setiap kali pengulangan dilakukan

Jika cacah pengulangan sudah mencapai jumlah yang dispesifikasikan, maka proses pengulangan berhenti

Bentuk pernyataan FOR ada dua, yaitu:1. FOR Menaik2. FOR Menurun

Page 6: Topik 8 Perulangan

FOR Menaik

for pencacah nilai_awal to nilai_akhir dopernyataan

endfor

Keterangan :i. pencacah haruslah dari tipe data yang memiliki

predecessor dan successor, yaitu integer atau karakter. Tipe real tidak bisa digunakan sebagai pencacah.

ii. pernyataan adalah satu atau lebih instruksi yang berulang

iii. nilai_awal harus lebih kecil atau sama dengan nilai_akhir. Jika nilai_awal lebih besar dari nilai_akhir, maka badan pengulangan tidak dimasuki.

iv. Pada awalnya, pencacah diinisialisasi dengan nilai_awal. Nilai pencacah secara otomatis bertambah satu setiap kali badan pengulangan dimasuki, sampai akhirnya nilai pencacah sama dengan nilai_akhir.

v. Jumlah pengulangan yang terjadi adalah nilai_akhir – nilai_awal + 1

Page 7: Topik 8 Perulangan

Flowchart :

Page 8: Topik 8 Perulangan

FOR Menurun

for pencacah nilai_akhir downto nilai_awal dopernyataan

endfor

Keterangan :i. pencacah haruslah dari tipe data yang memiliki

predecessor dan successor, yaitu integer atau karakter. Tipe real tidak bisa digunakan sebagai pencacah.

ii. pernyataan adalah satu atau lebih instruksi yang berulang

iii. nilai_akhir harus lebih besar atau sama dengan nilai_awal. Jika nilai_akhir lebih kecil dari nilai_awal, maka badan pengulangan tidak dimasuki.

iv. Pada awalnya, pencacah diinisialisasi dengan nilai_akhir. Nilai pencacah secara otomatis berkurang satu setiap kali badan pengulangan dimasuki, sampai akhirnya nilai pencacah sama dengan nilai_awal.

v. Jumlah pengulangan yang terjadi adalah nilai_awal – nilai_akhir + 1

Page 9: Topik 8 Perulangan

Flowchart :

Page 10: Topik 8 Perulangan

Contoh Soal

Kasus 1 :Buatlah algoritma untuk mencetak pesan angka

1 sampai 10!

English Structure

Masalah : Menampilkan angka 1 sampai 10Input : -Output : 1,2,3,4,5,6,7,8,9,10Pencacah : i, bertipe bilangan bulatProses :

1. Untuk i bernilai 1 sampai 10, lakukanCetak i

Page 11: Topik 8 Perulangan

Flowchart :

Page 12: Topik 8 Perulangan

Pseudocode :

ALGORITMA Tampil_Angka{ Mencetak angka 1,2,3,4,5,6,7,8,9,10}

DEKLARASIi : integer

DESKRIPSI:for i 1 to 10 do

output(i)endfor

Page 13: Topik 8 Perulangan

Kasus 2 :Buatlah algoritma untuk mencetak angka 10

menurun ke 1!

English Structure

Masalah : Menampilkan angka 10 menurun ke 1Input : -Output : 10,9,8,7,6,5,4,3,2,1Pencacah : i, bertipe bilangan bulatProses :

1. Untuk i bernilai 10 menurun ke 1, lakukanCetak i

Page 14: Topik 8 Perulangan

Flowchart :

Page 15: Topik 8 Perulangan

Pseudocode :

ALGORITMA Tampil_Angka{ Mencetak angka 10,9,8,7,6,5,4,3,2,1}

DEKLARASIi : integer

DESKRIPSI:for i 10 downto 1 do

output(i)endfor

Page 16: Topik 8 Perulangan

Pernyataan WHILE

Bentuk umum pernyataan WHILE adalah :

while kondisi dopernyataan

endwhile

Keterangan :pernyataan akan dilaksanakan berulangkali

selama kondisi bernilai benar. Jika kondisi bernilai salah, badan pengulangan tidak akan dimasuki, yang berarti pengulangan selesai. Agar kondisi suatu saat bernilai salah, maka di dalam badan pengulangan harus ada instruksi yang mengubah nilai kondisi.

Page 17: Topik 8 Perulangan

Flowchart :

Page 18: Topik 8 Perulangan

Kasus 3 :Buatlah algoritma untuk mencetak angka 1 sampai

10!

English Structure

Masalah : Menampilkan angka 1 sampai 10Input : -Output : 1,2,3,4,5,6,7,8,9,10Pencacah : i, bertipe bilangan bulatProses :

1. Mengisi variabel i dengan nilai awal = 12. Selama i < 10, ulangi

a. Cetak ib. Menaikkan nilai i = i + 1

Contoh Soal

Page 19: Topik 8 Perulangan

Flowchart :

Page 20: Topik 8 Perulangan

Pseudocode :

ALGORITMA Tampil_Angka{ Mencetak angka 1,2,3,4,5,6,7,8,9,10}

DEKLARASIi : integer

DESKRIPSI:i 1while i <= 10 do

output(i)i i + 1

endwhile

Page 21: Topik 8 Perulangan

Pernyataan REPEAT

Bentuk umum pernyataan REPEAT adalah :repeat

pernyataanuntil kondisi

Keterangan :pernyataan akan dilaksanakan berulangkali

selama kondisi bernilai benar. Jika kondisi bernilai salah, badan pengulangan tidak akan dimasuki, yang berarti pengulangan selesai. Agar kondisi suatu saat bernilai salah, maka di dalam badan pengulangan harus ada instruksi yang mengubah nilai kondisi.

Page 22: Topik 8 Perulangan

Flowchart :

Page 23: Topik 8 Perulangan

Kasus 4 :Buatlah algoritma untuk mencetak angka 1 sampai

10!

English Structure

Masalah : Menampilkan angka 1 sampai 10Input : -Output : 1,2,3,4,5,6,7,8,9,10Pencacah : i, bertipe bilangan bulatProses :

1. Mengisi variabel i dengan nilai awal = 12. Ulangi

a. Cetak ib. Menaikkan nilai i = i + 1

Sampai i > 10

Contoh Soal

Page 24: Topik 8 Perulangan

Flowchart :

Page 25: Topik 8 Perulangan

Pseudocode :

ALGORITMA Tampil_Angka{ Mencetak angka 1,2,3,4,5,6,7,8,9,10}

DEKLARASIi : integer

DESKRIPSI:i 1repeat

output(i)i i + 1

until i > 10

Page 26: Topik 8 Perulangan

WHILE atau REPEAT?

Panduan kapan menggunakan WHILE atau REPEAT :

• Gunakan konstruksi WHILE pada kasus yang mengharuskan terlebih dahulu pemeriksaan objek sebelum objek tersebut dimanipulasi

• Gunakan konstruksi REPEAT pada kasus yang terlebih dahulu memanipulasi objek, baru kemudian memeriksa kondisi objek tersebut

Page 27: Topik 8 Perulangan

Contoh Soal

Kasus 5: WHILE BENAR REPEAT SALAH

ALGORITMA PenjumlahanDeretPecahan{ Menghitung jumlah seluruh nilai pecahan dari sejumlah data bilangan bulat (x) yang dibaca dari papan ketik. Akhir pembacaan adalah bila nilai x yang dibaca = 0 }

DEKLARASIx : integer { data bilangan bulat yang

dibaca }S : real { jumlah deret }

DESKRIPSI:S 0 { inisialisasi jumlah deret }input(x)while x ≠ 0 do

S S + 1/xinput(x)

endwhile{ x = 0 }output(S)

Page 28: Topik 8 Perulangan

Kasus 6: WHILE SALAH REPEAT BENAR

ALGORITMA SimulasiMenuProgram{ Menampilkan menu, membaca pilihan menu, dan menampilkan nomor menu yang dipilih oleh pengguna }

DEKLARASINomorMenu : integer

DESKRIPSI:repeat

write(‘ MENU ‘)write(‘1. Baca data ‘)write(‘2. Cetak data ‘)write(‘3. Ubah data ‘)write(‘4. Hapus data‘)write(‘5. Keluar program ‘)write(‘Masukkan pilihan anda (1/2/3/4/5) ? ‘)

Page 29: Topik 8 Perulangan

input(NomorMenu)case NomorMenu

1 : output(‘Anda memilih menu nomor 1’)

2 : output(‘Anda memilih menu nomor 2’)

3 : output(‘Anda memilih menu nomor 3’)

4 : output(‘Anda memilih menu nomor 4’)

5 : output(‘Keluar program’)endcase

until NomorMenu = 5

Page 30: Topik 8 Perulangan

Rangkuman

Pernyataan FOR digunakan untuk jumlah pengulangan yang diketahui dan kenaikan pencacah bernilai bulat

Pernyataan WHILE dan REPET digunakan untuk jumlah pengulangan yang belum diketahui dan kenaikan pencacah bisa bernilai bulat atau pecahan

Pengecekan kondisi pada pernyataan WHILE dilakukan di awal

Pengecekan kondisi pada pernyataan REPEAT dilakukan di akhir

Page 31: Topik 8 Perulangan

Latihan Soal

Kasus 1:Buatlah algoritma dengan perintah FOR, WHILE dan REPEAT untuk menampilkan hasil perhitungan berikut!

Misalkan, user memasukkan angka = 5, maka proses yang dilakukan adalah :

jumlah = 1 + 2 + 3 + 4 + 5 = 15

Kasus 2:Buatlah algoritma dengan perintah FOR, WHILE dan REPEAT untuk menampilkan hasil perhitungan berikut!

Misalkan, user memasukkan angka = 5, maka proses yang dilakukan adalah :

rata-rata = (1 + 2 + 3 + 4 + 5)/5 = 15/5 = 3

Page 32: Topik 8 Perulangan

REFERENSI

1. Budi Sutedjo, Michael A.N. 2000. “Algoritma dan Teknik Pemrograman”. Yogyakarta: ANDI OFFSET.

2. Fathul Wahid. 2004. “Dasar-Dasar Algoritma dan Pemrograman”. Yogyakarta: ANDI OFFSET.

3. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma & Pemrograman Dalam Bahasa Pascal dan C Buku 1”. Bandung: Informatika.

4. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma & Pemrograman Dalam Bahasa Pascal dan C Buku 2”. Bandung: Informatika.