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.
2
Struktur Perulangan
• Struktur Perulangan struktur kontrol yang mengulang eksekusi sekumpulan langkah dalam program.
• Kumpulan langkah yang dikerjakan berulang-ulang disebut juga dengan loop body.
3
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
• Algoritma1. Set totalBeratBadan=02. Set urutan=13. input beratBadan4. Akumulasikan totalBeratBadan dengan rumus :
totalBeratBadan=totalBeratBadan + beratBadan5. Persiapkan urutan berikutnya (incrementkan nilai urutan) dengan
rumus: urutan=urutan+1;6. Jika urutan<=40 kembali ke langkah 37. Tampilkan totalBeratBadan
Contoh Kasus• Jika digambarkan dengan flowchart:
start
totalBeratBadan=0
urutan=0
input beratBadan
totalBeratBadan=totalBeratBadan + beratBadan
urutan = urutan + 1
urutan <= 41
print beratBadan
stop
T
F
Bagaimana jika decision box diletakkan sebelum box input?
Apa bedanya?
Latihan (1)
1. Buatlah langkah untuk menampilkan bilangan dari 1 sampai dengan satu juta seratus.
2. Buatlah langkah untuk menampilkan deret bilangan Un=2n+3, dengan n mulai dari 0 sampai dengan 100. Tampilkan pula berapa jumlah total deret tersebut!
3. 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:
1. Adakah langkah-langkah dalam program yang perlu dikerjakan berulang-ulang?
2. 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)
3. 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)
8
Statement WHILE
Bentuk :while (kondisi perulangan)
statement
9
JumlahPegawai< 7
Masukkan dataHitung gajiTampilkan gajiTambah JumlahPegawai dengan 1
Benar
Salah
Statement WHILE
Contoh :
10
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);
}}
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 ++;
11
Statement DO WHILE• Satu bentuk perulangan di mana statement dalam
“body loop” dieksekusi paling tidak satu kali atau lebih.
12
Bentuk :
do {Statement;
}
while (kondisi perulangan);
Statement DO WHILE
13
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++)
14
Statement FOR
15
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
1. Tuliskan program yang menghasilkan output sebagai berikut :0 11 22 43 84 165 326 64
16
Latihan
2. 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);
17
Latihan
3. Buatlah program yang menampilkan tabel perkalian untuk bilangan 0 sampai dengan 9!
4. Tuliskan perulangan yang menampilkan output berikut :00 10 1 20 1 2 30 1 20 10
18
Top Related