Professional Documents
Culture Documents
Tujuan:
1. Mahasiswa memahami masalah-masalah yang membutuhkan proses berulang
menggunakan statemen while.
2. Mahasiswa dapat membuat program menggunakan statemen while untuk
menyelesaikan masalah yang membutuhkan proses berulang .
while (kondisi)
{
statement1;
:
statement_n;
}
while (kondisi)
{ hanya jika “kondisi” bernilai benar
statement1; maka statement didalam blok looping
jika “kondisi” : dikerjakan terus
salah statement_n;
}
// sisa program
// yang berlanjut
1
// Menunjukkan looping dengan 'while'
// sebagai pengganti statement 'for'
#include <stdio.h>
#include <conio.h>
void main() {
// inisialisasi variable 'hitung'
int hitung = 0;
2
Hasil yang didapat ketika program di atas dijalankan adalah sebagai berikut :
3
Hasil yang didapat ketika program di atas dijalankan adalah sebagai berikut :
Pada awal looping dimulai dengan kondisi tertentu seperti tersebut di atas.
Jadi jika umur yang dimasukkan kurang dari 5 atau malah lebih atau sama dengan
100, maka looping akan di ulang-ulang terus.
Kadang kala kita menginginkan kembali ke awal looping sebelum semua
statement yang berada di dalam blok looping dikerjakan. Hal ini dapat dilakukan
dengan menggunakan statement continue. Atau kita ingin keluar dari looping
sebelum kondisi yang menyebabkan keluar dari looping ditemukan. Hal ini dapat
dilakukan dengan menggunakan statement break. Tetapi kedua statement tersebut,
yaitu continue dan break, harus digunakan dengan ekstra hati-hati. Karena kedua
statement tersebut merupakan statement-statement berbahaya selain statement goto
dengan alasan yang sama, yaitu jika sebuah program tiba-tiba mengubah arah alur
pemrograman, maka program tersebut akan lebih sulit untuk dibaca dan dipahami.
Untuk lebih jelasnya, marilah kita lihat gambar di bawah ini :
: :
while (kondisi) while (kondisi)
{ {
: :
continue; break;
: :
statement; statement1;
: :
} }
// baris berikutnya statement2;
Contoh program menggunakan statement continue dan break ada di bawah ini :
4
while ((umur < 5) || (umur >= 100)) {
printf("Saya tidak yakin umur anda %d\n", umur) ;
printf("Akan diulangi ? (Y/T) ");
scanf(“%c”,&jwb);
if (jwb == 'Y' || jwb == 'y') {
printf("Umur anda berapa ? ");
scanf(“%d”,&umur);
continue;
} else
break;
}
if ((umur > 12) && (umur < 19)) {
printf("Wah, anda baru bernjak remaja.\n");
printf("Gunakan waktu sebaik-baiknya ...\n");
};
if ((umur >= 5) && (umur <= 12)) {
printf("Anda masih tergolong anak kecil.\n");
printf("Belajarlah yang giat ...\n");
};
if ((umur > 19) && (umur <= 100)) {
printf("Anda sudah beranjak tua.\n");
printf("Jadilah seorang yang dewasa ...\n");
};
}
}
Hasil yang didapat ketika program di atas dijalankan adalah sebagai berikut :
Jika umur yang dimasukkan kurang dari 5 atau malah lebih atau sama
dengan 100, maka looping akan di ulang-ulang terus. Kemudian user diminta untuk
mengisikan jawabannya. Jika jawabannya berupa karakter ‘Y’ atau ‘y’ maka ada
kondisi yang dikerjakan, kemudian statemen continue dikerjakan yang berakibat
kembali ke awal looping lagi, untuk memeriksa umur lagi.
5
do
{
:
statement;
:
}
while (kondisi);
Selalu mengeksekusi
satu kali sebelum
mulai looping
do
{
:
statement_1;
: hanya jika kondisi bernilai benar
statement_2; maka mengerjakan statement
: di badan looping
}
while (kondisi);
:
// sisa program
// yang berlanjut
6
printf("Perhitungan terakhir : %d\n", hitung);
}
}
Hasil yang didapat ketika program di atas dijalankan dan diberikan input 6 dan 0,
adalah sebagai berikut :
LATIHAN
1. Ketik ulang semua source code di atas, compile, dan jalankan. Analisa dan
bandingkan dengan perulangan menggunakan for.
2. Analisalah perbedaan perulangan antara while dengan do-while dari source
code di atas.
3. Buatlah sebuah program dengan while dan do-while sehingga menampilkan
hasil penjumlahan:
5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 + 5 = 50
4. Buatlah sebuah program dengan while dan do-while yang akan mencari rata-
rata suhu udara dalam 1 minggu. Berilah pesan “DINGIN” jika rata-rata suhu
dibawah 20o Celcius, “SEJUK” jika rata-rata suhu diantara 20o sampai 26o Celcius,
atau “PANAS” jika rata-rata suhu di atas 26o Celcius.
5. Buatlah program dengan while dan do-while untuk menampilkan hasil
penjumlahan:
1 + ½ + 1/3 + ¼ + …. + 1/20
6. Buatlah sebuah program game Tebak Angka. Angka yang akan ditebak sudah
ditentukan dan disimpan dalam satu variabel di dalam program. Pemain hanya
diberi 5 kesempatan untuk menebak. Jika pemain menebak angka dengan benar,
tampilkan pesan ucapan bahwa berhasil menebak. Jika pemain tidak dapat
menebak dalam 5 kali kesempatan yang sudah diberikan, cetak pesan bahwa
kesempatan habis dan program berhenti.
7. Modifikasi program nomor 4, supaya pemain sedikit terbantu dengan memberikan
pesan bahwa tebakan pemain lebih besar atau lebih kecil dari angka yang ditebak.