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