Perulangan
Tujuan Memberikan pemahaman mengenai struktur perulangan dan implementasinya dalam bahasa Java menggunakan while, for dan do while, sehingga mahasiswa dapat memanfaatkan struktur perulangan tersebut dalam menyelesaikan persoalan pemrograman.
Struktur Perulangan Struktur Perulangan struktur kontrol yang mengulang eksekusi sekumpulan langkah dalam program. Kumpulan langkah yang dikerjakan berulang-ulang disebut juga dengan loop body.
Contoh Kasus Buatlah suatu langkah untuk menghitung total berat badan mahasiswa kelas A yang berjumlah 40 orang! Jawab: Formulasi masalah: input: beratBadan Output: totalBeratBadan Formula: totalBeratBadan merupakan akumulasi seluruh beratBadan Untuk memudahkan pencatatan mahasiwa diberi nomor urutan yang dimulai dari 1 Pada awal pencatatan, totalBeratBadan di beri nilai 0
Contoh Kasus Algoritma Set totalBeratBadan=0 Set urutan=1 input beratBadan Akumulasikan totalBeratBadan dengan rumus : totalBeratBadan=totalBeratBadan + beratBadan Persiapkan urutan berikutnya (incrementkan nilai urutan) dengan rumus: urutan=urutan+1; Jika urutan<=40 kembali ke langkah 3 Tampilkan totalBeratBadan
totalBeratBadan + beratBadan Contoh Kasus Jika digambarkan dengan flowchart: Bagaimana jika decision box diletakkan sebelum box input? Apa bedanya? input beratBadan start totalBeratBadan= totalBeratBadan + beratBadan totalBeratBadan=0 urutan = urutan + 1 urutan=0 urutan <= 41 T F print beratBadan stop
Latihan (1) Buatlah langkah untuk menampilkan bilangan dari 1 sampai dengan satu juta seratus. Buatlah langkah untuk menampilkan deret bilangan Un=2n+3, dengan n mulai dari 0 sampai dengan 100. Tampilkan pula berapa jumlah total deret tersebut! Buatlah langkah untuk mengetahui berapa tinggi rata-rata mahasiswa kelas A sebanyak 40 orang, perlu diketahui juga berapa cm yang paling tinggi dan berapa cm yang paling rendah (tinggi maksimum dan minimum)
Struktur Perulangan Untuk menentukan perlu tidaknya struktur loop , serta bentuk loop apa yang dipilih, perlu dijawab pertanyaan-pertanyaan berikut: Adakah langkah-langkah dalam program yang perlu dikerjakan berulang- ulang? Jika jawaban dari pertanyaan nomor 1 adalah ada, pertanyaan selanjutnya, apakah bisa diketahui sebelumnya berapa kali langkah-langkah tersebut harus dikerjakan? (jika ya maka gunakan for loop) Jika jawaban dari pertanyaan nomor 2 adalah tidak, bagaimana kita bisa mengetahui pada kondisi apa langkah-langkah tersebut harus dikerjakan? (gunakan while .. Atau do … while)
Statement WHILE Bentuk : while (kondisi perulangan) statement JumlahPegawai < 7 Masukkan data Hitung gaji Tampilkan gaji Tambah JumlahPegawai dengan 1 Benar Salah Bentuk : while (kondisi perulangan) statement
Statement WHILE Contoh : import java.util.Scanner; public class PenghitungBeratBadan{ public static void main(String args[]){ Scanner data= new Scanner(System.in); int urutan; int totalBeratBadan; urutan=1; totalBeratBadan=0; while(urutan<=41){ beratBadan=data.nextInt(); totalBeratBadan=totalBeratBadan+beratBadan; urutan++; } System.out.println("Total Berat Badan :" + totalBeratBadan); Contoh :
Statement WHILE Jika kondisi perulangan bernilai : Benar : statement dalam “loop body” dijalankan Salah : statement dalam “loop body” tidak dijalankan Variable Pengontrol Perulangan (pada contoh sebelumnya adalah JumlahPegawai) harus : Diinisialisasi contoh: urutan=0; Ditest contoh: urutan <= 41 Diubah contoh: urutan ++;
Statement DO WHILE Satu bentuk perulangan di mana statement dalam “body loop” dieksekusi paling tidak satu kali atau lebih. Bentuk : do { Statement; } while (kondisi perulangan);
Statement DO WHILE import java.util.Scanner; public class PenghitungBeratBadan{ public static void main(String args[]){ Scanner data= new Scanner(System.in); int urutan; int totalBeratBadan; urutan=1; totalBeratBadan=0; do { beratBadan=data.nextInt(); totalBeratBadan=totalBeratBadan+beratBadan; urutan++; } while(urutan<=41); System.out.println("Total Berat Badan :" + totalBeratBadan); }
Statement FOR Bentuk : for (inisialisasi variabel perulangan; test variabel perulangan; ubah variabel perulangan) Statement; For (JumlahPegawai=0; JumlahPegawai<7; JumlahPegawai++)
Statement FOR import java.util.Scanner; public class PenghitungBeratBadan{ public static void main(String args[]){ Scanner data= new Scanner(System.in); int urutan; int totalBeratBadan; totalBeratBadan=0; for(urutan=1; urutan<=41; urutan++) { beratBadan=data.nextInt(); totalBeratBadan=totalBeratBadan+beratBadan; } System.out.println("Total Berat Badan :" + totalBeratBadan);
Latihan Tuliskan program yang menghasilkan output sebagai berikut : 0 1 1 2 2 4 3 8 4 16 5 32 6 64
Latihan Perhatikan potongan program berikut! Tunjukkan nilai odd dan sum pada setiap iterasi, dengan nilai n=8! sum=0; for (odd=1; odd<n; odd += 2) sum=sum+odd; printf(“Jumlah dari bilangan ganjil positif yang kurang dari %d adalah %d.\n”, n, sum);
Latihan Buatlah program yang menampilkan tabel perkalian untuk bilangan 0 sampai dengan 9! Tuliskan perulangan yang menampilkan output berikut : 0 1 0 1 2 0 1 2 3