WEEK 6 Teknik Elektro – UIN SGD Bandung PERULANGAN - LOOPING Tugas 1. Buatlah program untuk mengecek apakah suatu segitiga sama sisi atau bukan, dengan input sisi dari user! 2. Buatlah program untuk mengetahui kuadran dari inputan koordinat x dan y! 3. Buatlah sebuah program untuk menentukan kondisi pintu air. User akan memasukkan sebuah nilai pecahan yaitu tinggi air (dalam meter). Apabila tinggi air <= 500.0 m, status AMAN, tinggi air antara 500.1-600.0 m status WASPADA, tinggi air antara 600.1650.0 m status SIAGA 2, tinggi air >650m status SIAGA 1. 4. Buatlah algoritma dan flowchart untuk 3 soal di atas. (Ditulis tangan) Tujuan Instruksional • Mahasiswa memahami mekanisme perulangan dengan benar. • Mahasiswa memahami penggunaan perintah perulangan : while, do-while, for • Mahasiswa dapat membuat program sederhana dengan perintah perulangan Topik • • • • While Do-while For Nested-Loop (Perulangan bersarang) (next week) PERULANGAN - LOOPING • Salah satu kelebihan komputer dibandingkan dengan manusia adalah kemampuannya untuk melaksanakan suatu perintah berulangkali tanpa lelah dan bosan • Perulangan adalah instruksi yang dapat mengulang sederetan Instruksi secara berulang-ulang sesuai persyaratan yang ditetapkan. • Dalam algoritma, pengulangan/loop/repetition dapat dilakukan sejumlah kali atau sampai kondisi berhenti 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. 7 Penyelesaian • • 1. 2. 3. Menggunakan perintah perulangan(looping) Terdapat 3 perintah perulangan dalam C, yaitu : while do-while for 8 while • Pola : while (kondisi){ statement } • Proses : kondisi akan selalu dievaluasi, selama nilainya : – Satu : statement dieksekusi terus – Nol : perulangan berhenti (statement tidak dieksekusi) 9 Flowchart while while : Contoh 1 Program untuk menulis kalimat “Saya tidak akan mencontek” sebanyak 100 kali Apa yang terjadi jika dihilangkan? 11 while : Contoh 2 Program untuk menulis kalimat “Saya tidak akan mencontek” sebanyak n kali 12 while : Contoh 3 • Menjumlahkan angka-angka yang dimasukkan user sampai user memasukkan angka 0 13 do-while • Pola : do { statement } while (kondisi); • Proses : program menjalankan statement, baru mengecek kondisi. • Jika kondisi nilainya : 1 maka statement dieksekusi lagi 0 maka perulangan berhenti 14 Flowchart do-while 15 do while : contoh 1 Program untuk menulis kalimat “Saya tidak akan mencontek” sebanyak 10 kali 16 do while : contoh 2 Program untuk menulis kalimat “Saya tidak akan mencontek” sebanyak 10 kali 17 do while : contoh 3 • Program yang hanya sekali dieksekusi 18 for 19 Flowchart for initialization value N Conditio n Y Statements Increment 20 Contoh for 1 • Apa output program berikut: for : contoh 2 22 for : contoh 3 • Menampilkan angka kelipatan 5 diantara angka 5 sampai 100 23 for : contoh 4 • Menampilkan angka 10 sampai 1 24 for : contoh 4 • Program menuliskan angka 10 sampai 1 25 Latihan 1. Tuliskan “Teknik Elektro YES” sebanyak 100 kali. 2. Buat flowchart dan program untuk menampilkan deret dengan while 1 4 7 10 13 16 26 Perulangan Bersarang • Mekanisme perulangan di dalam perulangan 27 Next week Perulangan Bersarang i = initialization value • flowchart Condition i Y J = initialization value N Condition j Y N Statements j++/j-i++/i-… 29 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. 30 Nested Loop : contoh 1 31 Nested Loop : contoh 2 • Program mencetak bintang. 32 Statement Break dan Continue • Statement break digunakan untuk menghentikan perulangan • Statement continue menyebabkan proses mengabaikan seluruh instruksi setelah continue, dan melanjutkan perulangan. 33 break : contoh 1 • Menuliskan angka sebanyak n/2 kali. (n input dari user) 34 continue : contoh 1 • Menuliskan angka ganjil 35 Latihan • Buat flowchart dan program untuk menampilkan bintang menggunakan nested loop : * * * * * * * * * * 36 Latihan 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. 37 Contoh-contoh 38 • Program mencetak bintang. 39 break • Instruksi break digunakan untuk menghentikan perulangan. • Jika ada nested loop, maka break hanya akan menghentikan perulangan yang mengandung perintah break tsb. 40 Contoh-contoh • Menuliskan angka sebanyak n/2 kali. (n inputan user) 41 continue • Perintah continue pada perulangan menyebabkan proses mengabaikan seluruh instruksi setelah continue, dan melanjutkan perulangan. 42 Contoh-contoh • Menuliskan angka ganjil 43 4. Dari soal no.3, jumlahkan hanya jika user memasukkan bilangan positif. 5. Dari soal no.3, hitung rata-rata bilangan masukan user. 44 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) 45 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 46 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. 47 • Program menjumlahan 10 angka masukan user. 48 • Program menjumlahkan angka masukan user. Program berhenti jika inputan<0 49 • Program menghitung total belanja, berhenti jika user memasukkan < 1. 50 • 4. Buatlah algoritma menentukan bilangan terbesar dari tiga buah bilangan. Input : • tiga bilangan (A, B dan C). Ouput : bilangan terbesar dari ketiga input tersebut.