M6-Perulangan - Universitas Muhammadiyah Malang

Download Report

Transcript M6-Perulangan - Universitas Muhammadiyah Malang

Pemrogramman Terstruktur Perulangan (Looping)

Teknik Informatika Universitas Muhammadiyah Malang 2012

Tujuan Instruksional

• • Mahasiswa memahami dan mampu menggunakan mekanisme perulangan dengan benar.

Mahasiswa memahami dan mampu menggunakan mekanisme perulangan bersarang dengan benar.

Topik

• • • • While Do-while For Nested-Loop (Perulangan bersarang)

Latar Belakang

• Misalkan ada kasus yang mengharuskan program untuk melakukan sebuah proses berulang-ulang, sejumlah tertentu atau sampai dengan kondisi tertentu, seperti : – Menuliskan kalimat “saya tidak akan mencontek lagi” sebanyak 100 kali – Menuliskan pertanyaan “Apakah anda cakep?” secara terus menerus sampai ditekan karakter N atau n – Dll.

4

Penyelesaian

• • Menggunakan perintah perulangan(looping) Terdapat 3 perintah perulangan dalam C, yaitu : 1. while 2. do-while 3. for 5

while

• Pola :

while

(

ekspresi statement

){ } • Proses : ekspresi akan selalu dievaluasi, selama nilainya : – – Satu : statement dieksekusi terus Nol : perulangan berhenti (statement tidak dieksekusi) 6

Flowchart while

N Condition Y Statements …

while : Contoh 1

Program untuk menulis kalimat “Saya tidak akan mencontek” sebanyak 100 kali 8

while : Contoh 2

Program untuk menulis kalimat “Saya tidak akan mencontek” sebanyak n kali 9

while : Contoh 3

• Menjumlahkan angka-angka yang dimasukkan user sampai user memasukkan angka 0 10

do-while

• Pola :

do

{

statement

}

while

(

ekspresi

); • • Proses : program menjalankan statement, baru mengecek ekspresi. Jika ekspresi nilainya : 1  maka statement dieksekusi lagi 0  maka perulangan berhenti 11

Flowchart do-while

Statements Y N Condition 1 … 12

do while : contoh 1

Program untuk menulis kalimat mencontek ” sebanyak 10 kali “Saya tidak akan 13

do while : contoh 2

Program untuk menulis kalimat mencontek” sebanyak 10 kali “Saya tidak akan 14

do while : contoh 3

• Program yang hanya sekali dieksekusi 15

for

• Pola :

for

(

init_eksp

;

eval_eksp

;

incr_eksp

) {

statement

} • init_eksp dan incr_eksp boleh kosong. Jika keduanya kosong, maka statement for ini akan identik dengan while.

16

Flowchart for

initialization value N

Condition

Y Statements Increment 17

for : contoh 1

18

for : contoh 2

• Menampilkan angka kelipatan 5 diantara angka 5 sampai 100 19

for : contoh 3

• Menampilkan angka 10 sampai 1 20

for : contoh 4

• Program menuliskan angka 10 sampai 1 21

Latihan

1. Tuliskan “Teknik Informatika YES” sebanyak 100 kali.

2. Buatlah Program menjumlahkan angka masukan user. Program berhenti jika inputan<0 22

Latihan

3. Buat flowchart dan program untuk menampilkan deret 1 2 4 7 11 16 23

Latihan

4.Buat flowchart dan program untuk menampilkan deret 1 4 3 6 5 … dimana angka awal dan jumlah angka pada deret ditentukan oleh user 24

Perulangan Bersarang

• Mekanisme perulangan di dalam perulangan 25

Perulangan Bersarang

i = initialization value • flowchart Condition i Y J = initialization value N Condition j Y Statements N j++/j- i++/i- … 26

Perulangan Bersarang

• • • Perulangan bersarang (nested loop) adalah perulangan di dalam perulangan.

Dapat berupa perulangan yang sejenis, atau kombinasi dari beberapa jenis yang berbeda.

Misal : for didalam for (sejenis), for didalam while (kombinasi), dll.

27

Nested Loop : contoh 1

28

Nested Loop : contoh 2

• Program mencetak bintang.

29

Statement Break dan Continue

• • Statement break digunakan untuk menghentikan perulangan Statement continue menyebabkan proses mengabaikan seluruh instruksi setelah continue, dan melanjutkan perulangan.

30

break : contoh 1

• Menuliskan angka sebanyak n/2 kali. (n input dari user) 31

continue : contoh 1

• Menuliskan angka ganjil 32

Latihan

• Buat flowchart dan program untuk menampilkan bintang menggunakan nested loop : * * * * * * * * * * 33

Latihan

1. Buatlah flowchart dan program yang akan membaca angka dari user secara terus menerus. Program akan berhenti jika angka yang dimasukkan oleh user adalah nol. Hitunglah jumlah seluruh angka masukan user.

34

Latihan

2. Buatlah program yang akan meminta user memasukkan nilai secara berulang. Jumlah perulangannya juga merupakan input dari user. Terakhir, tampilkan total penjumlahan bilangan-bilangan tersebut ke layar hanya jika user memasukkan bilangan positif.

Contoh-contoh

36

• Program mencetak bintang.

37

break

• • Instruksi break digunakan untuk menghentikan perulangan.

Jika ada nested loop, maka break hanya akan menghentikan perulangan yang mengandung perintah break tsb.

38

Contoh-contoh

• Menuliskan angka sebanyak n/2 kali. (n inputan user) 39

continue

• Perintah continue pada perulangan menyebabkan proses mengabaikan seluruh instruksi setelah continue, dan melanjutkan perulangan.

40

Contoh-contoh

• Menuliskan angka ganjil 41

4. Dari soal no.3, jumlahkan hanya jika user memasukkan bilangan positif.

5. Dari soal no.3, hitung rata-rata bilangan masukan user.

42

1) 5,10,15,20,…,50 2) 3,9,27,81,…, 531441 3) Bilangan kelipatan 4 antara 1 s/d 50 4) Tulisan STUDY HARD sebanyak 100x 5) 99,97,95,93,…15 6) Buatlah program yang akan menulis “Good Morning” sebanyak N (N adalah inputan user) 43

7) Buatlah program yang akan menuliskan angka 1 s/d N (N adalah inputan user) 8) Buatlah program yang akan menerima 5 angka dari user dan menjumlahkannya 9) Buatlah program yang akan menjumlahkan seluruh angka dari user dan berhenti ketika jumlah > 100 44

10) Buatlah program yang akan membaca angka dari user secara terus-menerus. Program akan berhenti jika angka yang dimasukkan oleh user adalah nol. Hitunglah jumlah seluruh angka masukan user.

11) Buatlah program modifikasi dari soal no 10. Hitunglah rata-rata dari seluruh angka yang dimasukkan user.

45

Daftar Pustaka

• • Budi Hartanto, “Pembuatan Program C”, Penerbit Andi, 2004 Jogiyanto H., “Konsep Dasar Pemrograman Bahasa C”, Penerbit Andi, 2003

Contoh-contoh

• Menuliskan “I love UMM” 10 kali 47

• Program menjumlahan 10 angka masukan user.

48

• Program menjumlahkan angka masukan user. Program berhenti jika inputan<0 49

• Program menuliskan sebanyak N kali.

50

• Program menghitung total belanja, berhenti jika user memasukkan < 1.

51