Perulangan (Looping)
Mahasiswa memahami dan mampu menggunakan mekanisme perulangan dengan benar. Mahasiswa memahami dan mampu menggunakan mekanisme perulangan bersarang dengan benar.
While Do-while For Nested-Loop (Perulangan bersarang)
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.
Menggunakan perintah perulangan(looping) Terdapat 3 perintah perulangan dalam C, yaitu : 1. while 2. do-while 3. for
Pola : while (ekspresi){ statement }
Proses : ekspresi akan selalu dievaluasi, selama nilainya : Satu : statement dieksekusi terus Nol : perulangan berhenti (statement tidak dieksekusi)
N Condition
Y Statements
…
Program untuk menulis kalimat “Saya tidak akan mencontek” sebanyak 100 kali
Program untuk menulis kalimat “Saya tidak akan mencontek” sebanyak n kali
• Menjumlahkan angka-angka yang dimasukkan user sampai user memasukkan angka 0
Pola : do { statement } while (ekspresi);
Proses : program menjalankan statement, baru mengecek ekspresi. Jika ekspresi nilainya :
1 maka statement dieksekusi lagi 0 maka perulangan berhenti
Statements Y
Condition 1
N …
Program untuk menulis kalimat “Saya tidak akan mencontek” sebanyak 10 kali
Program untuk menulis kalimat “Saya tidak akan mencontek” sebanyak 10 kali
Program yang hanya sekali dieksekusi
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.
initialization value N
Conditio n
Y Statements Increment
• Menampilkan angka kelipatan 5 diantara angka 5 sampai 100
• Menampilkan angka 10 sampai 1
Program menuliskan angka 10 sampai 1
1. Tuliskan “Teknik Informatika YES” sebanyak 100 kali. 2. Buatlah Program menjumlahkan angka masukan user. Program berhenti jika inputan<0
3. Buat flowchart dan program untuk menampilkan deret 1 2 4 7 11 16
4.Buat flowchart dan program untuk menampilkan deret 1 4 3 6 5 … dimana angka awal dan jumlah angka pada deret ditentukan oleh user
Mekanisme perulangan di dalam perulangan
i = initialization value
flowchart
Condition i
Y J = initialization value N Condition j
Y N
Statements j++/j-i++/i-…
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.
Program mencetak bintang.
Statement break digunakan untuk menghentikan perulangan Statement continue menyebabkan proses mengabaikan seluruh instruksi setelah continue, dan melanjutkan perulangan.
Menuliskan angka sebanyak n/2 kali. (n input dari user)
Menuliskan angka ganjil
Buat flowchart dan program untuk menampilkan bintang menggunakan nested loop : * * * * * * * * * *
1.
Buatlah flowchart dan program yang akan membaca angka dari user secara terusmenerus. Program akan berhenti jika angka yang dimasukkan oleh user adalah nol. Hitunglah jumlah seluruh angka masukan user.
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.
Program mencetak bintang.
Instruksi break digunakan untuk menghentikan perulangan. Jika ada nested loop, maka break hanya akan menghentikan perulangan yang mengandung perintah break tsb.
Menuliskan angka sebanyak n/2 kali. (n inputan user)
Perintah continue pada perulangan menyebabkan proses mengabaikan seluruh instruksi setelah continue, dan melanjutkan perulangan.
Menuliskan angka ganjil
4. Dari soal no.3, jumlahkan hanya jika user memasukkan bilangan positif. 5. Dari soal no.3, hitung rata-rata bilangan masukan user.
1) 2) 3) 4) 5)
6)
5,10,15,20,…,50 3,9,27,81,…, 531441 Bilangan kelipatan 4 antara 1 s/d 50 Tulisan STUDY HARD sebanyak 100x 99,97,95,93,…15 Buatlah program yang akan menulis “Good Morning” sebanyak N (N adalah inputan user)
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
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.
Budi Hartanto, “Pembuatan Program C”, Penerbit Andi, 2004 Jogiyanto H., “Konsep Dasar Pemrograman Bahasa C”, Penerbit Andi, 2003
Menuliskan “I love UMM” 10 kali
Program menjumlahan 10 angka masukan user.
Program menjumlahkan angka masukan user. Program berhenti jika inputan<0
Program menuliskan sebanyak N kali.
Program menghitung total belanja, berhenti jika user memasukkan < 1.