BAB 4 INSTRUKSI WHILE - DO Instruksi WHILE – DO digunakan jika kita belum tahu secara pasti berapa kali banyaknya perulangan yang akan dilakukan. Berakhirnya proses perulangan ditentukan oleh suatu kondisi. Selama kondisi terpenuhi maka perulangan terus dilakukan dan jika kondisinyaq tidak terpenuhi maka perulangan dihentikan. Bentuk umum pseudocode WHILE – DO : while <kondisi> do <instruksi/blok instruksi> endwhile Flowchart Instruksi WHILE – DO : true kondisi badan loop false pernyataan berikutnya Gambar Flowchart Instruksi WHILE - DO Cara kerja Flowchart Instruksi WHILE – DO : 1. Sebelum masuk ke while-loop” kondisi yang merupakan ekspresi boolean harus sudah mempunyai nilai. 2. Jika kondisi bernilai true maka seluruh badan loop dikerjakan. 3. Dicek kembali apakah kondisi bernilai true atau false. Jika kondisi bernilai true maka tidak ada perubahan artinya kembali mengerjakan badan loop. Jika kondisi bernilai false maka langsung mengerjakan statement pertama sesudah ”endwhile”. 4. Looping berhenti setelah kondisi bernilai false sehingga harus ada statemen yang mengakibatkan kondisi bernilai false. Tetapi, jikakondisi tetap true maka terjadi infinite true artinya jika tidak ada statemen yang mengakibatkan kondisi bernilai false maka terjadi infinite loop. Contoh-contoh kasus Instruksi WHILE - DO : 1) Menuliskan angka 1 s/d 10 dengan masing-masing output diberi keterangan yang berbeda pada saat 3 dan 8. Output yang dihasilkan misalnya : angka = 1 angka = 2 angka = 3 ini angka favoritku angka = 4 angka = 5 angka = 6 angka = 7 angka = 8 ini angka favorit temenku angka = 9 angka = 10 Jawab : a) Algoritma dengan pseudocode : angka=1 while angka<= do if angka=3 then komentar(’ini angka favoritku’) output(angka,komentar) endif else if angka=8 then komentar(’ini angka favorit temenku’) output(angka,komentar) endif else output(angka) endwhile b) Kode sumber favlaily.py : Tampilan favlaily.py : Program Mencetak angka Favorit angka = 1 angka = 2 angka = 3 angka = 4 ini angka favoritku angka = 5 angka = 6 angka = 7 angka = 8 angka = 9 ini angka favorit temenku angka = 10 2) Buatlah program untuk menjumlahkan n buah data lalu dihitung rata-ratanya. Jawab: a) Algoritma dengan pseudocode : input(n) jumlah=0 while i<=n do input (bil) endwhile rata=jumlah/n output (rata) b) Kode sumber ratanbil1laily.py : Tampilan ratanbil1laily.py : Program Menjumlahkan dan Menghitung Rata-rata n Buah Bilangan Banyaknya data =10 Masukkan Bilangan =2 Masukkan Bilangan =9 Masukkan Bilangan =3 Masukkan Bilangan =8 Masukkan Bilangan =3 Masukkan Bilangan =4 Masukkan Bilangan =7 Masukkan Bilangan =5 Masukkan Bilangan =3 Masukkan Bilangan =9 Hasil perhitungan jumlah = 53 Hasil perhitungan rata-rata = 5 3) Buatlah program untuk menjumlahkan n buah data tetapi yang dijumlahkan hanya data ganjil. Jawab: a) Algoritma dengan pseudocode : input(n) jganjil=0 while i<=n do input (bil) if bil mod = 2 then jganj=jganj+bil endwhile output (jganj) b) Kode sumber jumganj1laily.py : Tampilan jumganj1laily.py: Program Penjumlahan Banyaknya data = 7 Masukkan bilangan = Masukkan bilangan = Masukkan bilangan = Masukkan bilangan = Masukkan bilangan = Masukkan bilangan = Masukkan bilangan = Hasil penjumlahan = Bilangan Ganjil dari n Buah Bilangan 5 29 46 83 78 54 35 152 4) Buatlah program untuk menjumlahkan bilangan ganjil bernilai negatif yang lebih kecil dari -99 dari n buah data. Jawab: a) Algoritma dengan pseudocode : input(n) jganj=0 i=1 while i<=n do input(bil) if bil<-99 then if bil%2: then jganj=jganj+bil endif endif i=i+1 endwhile output(jganj) b) Kode sumber kriteria1laily.py: Tampilan kriteria1laily.py : Program menjumlahkan bilangan ganjil bernilai negatif yang lebih kecil dari -99 dari n buah bilangan Banyaknya data = 5 Masukkan bilangan = 100 Masukkan bilangan = -100 Masukkan bilangan = -99 Masukkan bilangan = -78 Masukkan bilangan = -145 Hasil penjumlahan = -145