WEEK 6 Teknik Elektro – UIN SGD Bandung PERULANGAN - LOOPING
Tugas Buatlah program untuk mengecek apakah suatu segitiga sama sisi atau bukan, dengan input sisi dari user! Buatlah program untuk mengetahui kuadran dari inputan koordinat x dan y! 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.1-650.0 m status SIAGA 2, tinggi air >650m status SIAGA 1. 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 Looping dalam surat al-kafirun, walaa antum abiduuna ma ‘abud
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.
Penyelesaian Menggunakan perintah perulangan(looping) Terdapat 3 perintah perulangan dalam C, yaitu : while do-while for
while Pola : while (kondisi){ statement } Proses : kondisi akan selalu dievaluasi, selama nilainya : Satu : statement dieksekusi terus Nol : perulangan berhenti (statement tidak dieksekusi)
Flowchart while
while : Contoh 1 Program untuk menulis kalimat “Saya tidak akan mencontek” sebanyak 100 kali prak5-/contoh-while.c Apa yang terjadi jika dihilangkan?
while : Contoh 2 Program untuk menulis kalimat “Saya tidak akan mencontek” sebanyak n kali
while : Contoh 3 Menjumlahkan angka-angka yang dimasukkan user sampai user memasukkan angka 0
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
Flowchart do-while
do while : contoh 1 Program untuk menulis kalimat “Saya tidak akan mencontek” sebanyak 10 kali Prak5/do-while.c
do while : contoh 2 Program untuk menulis kalimat “Saya tidak akan mencontek” sebanyak 10 kali
do while : contoh 3 Program yang hanya sekali dieksekusi
for
Flowchart for Condition Statements N Y initialization value Increment
Contoh for 1 Apa output program berikut:
for : contoh 2
for : contoh 3 Menampilkan angka kelipatan 5 diantara angka 5 sampai 100
for : contoh 4 Menampilkan angka 10 sampai 1
for : contoh 4 Program menuliskan angka 10 sampai 1
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
Perulangan Bersarang Mekanisme perulangan di dalam perulangan
Next week
Perulangan Bersarang flowchart i = initialization value Y Condition i Y J = initialization value N Condition j Y Statements N j++/j-- i++/i-- …
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.
Nested Loop : contoh 1
Nested Loop : contoh 2 Program mencetak bintang.
Statement Break dan Continue Statement break digunakan untuk menghentikan perulangan Statement continue menyebabkan proses mengabaikan seluruh instruksi setelah continue, dan melanjutkan perulangan.
break : contoh 1 Menuliskan angka sebanyak n/2 kali. (n input dari user)
continue : contoh 1 Menuliskan angka ganjil
Latihan Buat flowchart dan program untuk menampilkan bintang menggunakan nested loop : * * * * * * * * * *
Latihan 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.
Contoh-contoh
Program mencetak bintang.
break Instruksi break digunakan untuk menghentikan perulangan. Jika ada nested loop, maka break hanya akan menghentikan perulangan yang mengandung perintah break tsb.
Contoh-contoh Menuliskan angka sebanyak n/2 kali. (n inputan user)
continue Perintah continue pada perulangan menyebabkan proses mengabaikan seluruh instruksi setelah continue, dan melanjutkan perulangan.
Contoh-contoh 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.
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.
Program menjumlahan 10 angka masukan user.
Program menjumlahkan angka masukan user Program menjumlahkan angka masukan user. Program berhenti jika inputan<0
Program menghitung total belanja, berhenti jika user memasukkan < 1.
4. Buatlah algoritma menentukan bilangan terbesar dari tiga buah bilangan. Input : tiga bilangan (A, B dan C). Ouput : bilangan terbesar dari ketiga input tersebut.