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
• Algoritma
1. Set totalBeratBadan=0 2. Set urutan=1
3. input beratBadan
4. Akumulasikan totalBeratBadan dengan rumus : totalBeratBadan=totalBeratBadan + beratBadan
5. Persiapkan urutan berikutnya (incrementkan nilai urutan) dengan rumus:
urutan=urutan+1;
6. Jika urutan<=40 kembali ke langkah 3 7. Tampilkan totalBeratBadan
Contoh Kasus
• Jika digambarkan dengan flowchart:
start
totalBeratBadan=0 urutan=1
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 data Hitung gaji Tampilkan gaji
Tambah 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 1
1 2
2 4
3 8
4 16
5 32
6 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 :
0
0 1
0 1 2
0 1 2 3
0 1 2
0 1
0
18