Jumat, 14 Desember 2012

C/C++ Perulangan WHILE

image
Perulangan while memiliki sintaksis:
while (kondisi)
{
     sub-program
}
yang artinya: Selama kondisi bernilai 1 (TRUE), maka kerjakan (eksekusi) sub-program yang ada di dalam tanda kurung kurawal. Perulangan akan berhenti ketika kondisi sudah tidak lagi bernilai 1 (FALSE). Dalam bahasa C, nilai 1 adalah TRUE dan nilai selain 1 adalah FALSE.
Mari kita perhatikan penggalan program berikut ini:
int x;
x = 2;
while (x<=10)
{
     printf(“%5d”, x);
     x = x + 2;
}
printf(“\n”);
Berikut ini adalah cara saya membaca penggalan program di atas. Bukan cara terbaik, tapi ini cara saya, mohon diterima saja. Hehehe… :)
#1 – x sama-dengan 2 (variabel x diberi nilai awal 2)
#2 – Selama x kurang-dari atau sama-dengan 10 :
        – tampilkan nilai x ke layar
        – tambahkan nilai x dengan 2
        – ulangi ke #2
image
Hasil program di atas adalah sebuah deret bilangan genap mulai dari 2 hingga 10. Gambar di samping adalah screenshot program perulangan while di atas hasil running menggunakan Ch. Ch adalah interpreter C/C++ yang dapat digunakan untuk membuat skrip dalam bahasa C/C++ sehingga kita dapat lebih cepat dan lebih mudah menguji program atau penggalan program. Oleh karenanya Ch sangat cocok untuk dipakai dalam proses belajar maupun mengajar pemrograman bahasa C/C++.
Terlihat pada tampilan bahwa nilai terakhir x adalah 12. Nilai 12 sudah tidak memenuhi kondisi kurang-dari sama-dengan 10 (x<=10), oleh karenanya perulangan while pun selesai dan eksekusi dilanjutkan pada baris perintah selanjutnya.

Contoh Program 2 Perhatikan penggalan program berikut ini:
int x, y;
x = 0; y = 0;
while (x<=10 && y<=x)
{
     printf ("x=%d, y=%d\n", x, y);
     x = x+2;
     y = 2*y + x%5;
}
printf ("Selesai. x=%d, y=%d\n", x, y);
Perulangan while saya baca: “Selama nilai x kurang-dari sama-dengan 10 AND nilai y kurang-dari sama-dengan x, maka…
#1 – tampilkan x dan y
#2 – tambah nilai x dengan 2
#3 – y = dua-kali y ditambah sisa hasil bagi x dengan 5
Perhatikan bahwa kondisi perulangan while adalah sebuah persamaan logika dengan operator logika && (AND). Screenshot program 2 adalah sebagai berikut.
imagePada awal perulangan, nilai x=0 dan nilai y=0. Setelah menampilkan nilai x dan y ke layar, nilai x berubah menjadi 2 (x = 0 + 2) dan nilai y berubah menjadi 2 (y = 2*0 + 2 –> 2 adalah sisa hasil bagi 2 dibagi 3).
Karena kondisi x<=10 masih benar dan kondisi y<=x juga masih benar, maka perulangan pun berlanjut.
Program kembali menampilkan nilai x dan y, yakni x=2 dan y=2.
Selanjutnya, nilai x kembali diupdate menjadi 4 (x = 2 + 2 = 4) dan nilai y menjadi 8 (y = 2*2 + 4).
Perulangan pun dilanjutkan. Kondisi x<=10 masih bernilai 1 (benar), akan tetapi kondisi y<=x adalah salah karena nilai y sudah lebih besar dari x (y=8 dan x=4), oleh karenanya program tidak mengeksekusi sub-program dibawahnya melainkan keluar dari perulangan while dan melanjutkan ke baris perintah nomor 9: printf (“Selesai. x=%d, y=%d\n”, x, y);
Catatan! Untuk perulangan
while (kondisi)
{
     sub-program
}
dapat kita pahami secara mudah dengan membacanya sebagai
selama kondisi benar, eksekusi sub-program
Jadi perintah while(1) berarti perulangan tanpa-henti karena kondisinya selalu bernilai TRUE, dan perintah while(0), while(2), while(100), while(-1)  adalah perulangan yang tak pernah dieksekusi karena kondisi bernilai FALSE.
Semoga bermanfaat dan selamat belajar!
comments powered by Disqus