PERULANGAN FOR, WHILE, DAN DO WHILE C++
Perulangan for, while, do-while
for
“Bentuk perulangan for digunakan untuk melakukan
eksekusi pada suatu blok kode dalam jumlah tertentu.”
Bentuk penulisan for
for(ungkapan1; ungkapan2; ungkapan3)
{
pernyataan;
pernyataan;
...
}
Keterangan:
- ungkapan1 =
pernyataan inisialisasi (dijalankan
pertama dan hanya sekali )
- ungkapan2 =
kondisi/syarat perulangan dilakukan
- ungkapan3 =
pernyataan control untuk perulangan (sebagai pengatur variabel yang digunakan
di dalam ungkapan1)
- pernyataan,
pernyataan,... = blok kode yang dijalankan ketika kondisi perulangan
terpenuhi
Berikut adalah contoh program for:
/*
Looping for, while, do-while, continue, dan break
Microsoft Visual Studio Express 2012
[RS]
*/
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
//looping
dengan for 10x
for(int i = 0; i < 10; i++){
cout<<"Hello World!"<<endl;
}
_getche();
return 0;
}
Output for
Hello
World!
Hello
World!
Hello
World!
Hello
World!
Hello
World!
Hello
World!
Hello
World!
Hello
World!
Hello
World!
Hello World!
PENJELASAN:
Alur :
ungkapan1 (int i = 0) dijalankan pertama dan hanya satu kali. Selanjutnya
ungkapan2 (i < 10;) dijalankan, kondisi dicek. Jika bernilai benar
pernyataan cout<<"Hello
World!"<<endl; dijalankan. Selanjutnya ungkapan3 (i++)
dijalankan, nilai i di-increment.
Selanjutnya, langsung
ke ungkapan2 (i < 10;), jika benar pernyatan cout<<"Hello World!"<<endl; dijalankan. Selanjutnya ungkapan3 (i++)
dijalankan, nilai i di-increment. Begitu seterusnya sampai
kondisi/syarat pada ungkapan2 bernilai salah.
Jadi, ketika nilai i masih bernilai
0,1,2,3,4,5,6,7,8,9 perulangan akan dijalakan sehingga membuat
cout<<"Hello
World!"<<endl; ditampilkan di layar sebanyak 10x
(sepuluh kali).
*Walaupun program di atas juga dapat dibuat dengan menggunakan perulangan
while dan do-while. Namun untuk tujuan seperti program di atas lebih umum digunakan
perulangan bentuk for.
while
“Bentuk perulangan while digunakan untuk melakukan
eksekusi pada suatu blok kode selama kondisi bernilai benar.”
Bentuk penulisan while
while (kondisi/persyaratan)
{
pernyataan;
pernyataan;
...
}
Berikut adalah contoh program while:
/*
Looping for, while, do-while, continue, dan break
Microsoft Visual Studio Express 2012
[RS]
*/
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
//looping
dengan while
char pilih='n';
while(pilih != 'x'){
cout<<"HI! Ini pernyataan di dalam while"<<endl;
cout<<"\nKeterangan:"<<endl;
cout<<"- karakter 'x' untuk keluar dari looping"<<endl;
cout<<"- karakter lainnya untuk looping"<<endl;
cout<<"\nMasukkan karakter : ";
cin>>pilih;
cout<<endl;
}
cout<<endl;
cout<<"Keluar dari looping. Ini pernyataan di luar
while."<<endl;
_getche();
return 0;
}
Output while
HI! Ini
pernyataan di dalam while
Keterangan:
-
karakter 'x' untuk keluar dari looping
-
karakter lainnya untuk looping
Masukkan
karakter : a
HI! Ini
pernyataan di dalam while
Keterangan:
-
karakter 'x' untuk keluar dari looping
-
karakter lainnya untuk looping
Masukkan
karakter : x
Keluar dari looping. Ini
pernyataan di luar while.
PENJELASAN:
Pada program di atas, kondisi perulangannya adalah while(pilih
!= 'x') (dibaca:
selama input/nilai dari pilih tidak sama dengan 'x'). Jadi ketika
input program di atas adalah 'a', maka perulangan akan dijalankan lagi karena
kondisi benar ('a' tidak sama dengan 'x').
do-while
“Bentuk perulangan do-while digunakan untuk
melakukan eksekusi pada suatu blok kode selama kondisi bernilai benar.”
Bentuk penulisan do-while
do
{
pernyataan;
pernyataan;
...
} while
(kondisi/persyaratan);
Penting!
Berbeda dengan perulangan while, pada perulangan bentuk
do-while perulangan dijalankan terlebih dahulu baru kemudian dicek
kondisi/syarat perulangannya. Sehingga pada bentuk do-while setidaknya ada 1x
(satu kali) perulangan dijalankan. Sedangkan perulangan pada bentuk while dapat
tidak dijalankan sama sekali jika kondisi/persyaratan bernilai salah.
Perhatikan output dari program while dan do-while di bawah
ini!
Berikut adalah contoh program while:
/*
Looping for, while, do-while, continue, dan break
Microsoft Visual Studio Express 2012
[RS]
*/
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
//looping
dengan do-while
int bil = 10;
while(bil < 5){
cout<<"HI! Pernyataan di dalam while ini tidak pernah
dijalankan, karena kondisi salah"<<endl;
}
cout<<endl;
cout<<"Keluar dari looping. Ini pernyataan di luar
while."<<endl;
_getche();
return 0;
}
Output
Keluar dari looping. Ini
pernyataan di luar while.
Berikut adalah contoh program do-while:
/*
Looping for, while, do-while, continue, dan break
Microsoft Visual Studio Express 2012
[RS]
*/
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
//looping
dengan do-while
int bil = 10;
do{
cout<<"HI! Pernyataan di dalam do-while tetap ini
dijalankan, walaupun kondisi salah."<<endl;
}
while(bil < 5);
cout<<endl;
cout<<"Keluar dari looping. Ini pernyataan di luar
do-while."<<endl;
_getche();
return 0;
}
Output
HI! Pernyataan di dalam
do-while tetap ini dijalankan, walaupun kondisi salah.
Keluar dari looping. Ini pernyataan di luar do-while.
Keluar dari looping. Ini pernyataan di luar do-while.
PENJELASAN:
Pada bentuk while pernyataan di dalam perulangan tidak pernah dijalakan
karena kondisi bernilai salah. Sedangkan pada bentuk do-while pernyataan cout<<"HI! Pernyataan di dalam do-while tetap ini dijalankan,
walaupun kondisi salah."<<endl; ini dijalankan walaupun kondisi tidak sesuai/ bernilai salah. Seperti yang
telah dijelaskan sebelumnya, hal ini terjadi karena pengecekan kondisi
dilakukan setelah pernyataan pada perulangan dijalankan.
Pernyataan continue dan break
continue
“Pernyataan continue digunakan untuk melanjutkan pada
iterasi selanjutnya dari looping yang sedang berlangsung, melakukan pengecekan
kondisi selanjutnya.”
Berikut adalah contoh program penggunaan continue:
/*
Looping for, while, do-while, continue, dan break
Microsoft Visual Studio Express 2012
[RS]
*/
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int bil = 1;
while(bil<=10 ){
if(bil % 2 == 0)
{
//penggunaan continue
bil++;
continue;
}
cout<<"Nilai bil : "<<bil<<endl;
bil++;
}
_getche();
return 0;
}
Output continue
Nilai bil : 1
Nilai bil : 3
Nilai bil : 5
Nilai bil : 7
Nilai bil : 9
Nilai bil : 3
Nilai bil : 5
Nilai bil : 7
Nilai bil : 9
PENJELASAN:
Perhatikan flowchart continue dan break dan perhatikan
hasil output program di atas. Terlihat bahwa jika bil % 2 ==
0 (bilangan genap) maka pernyataan bil++; dan continue; akan
dijalankan, sehingga membuat program akan melanjutkan ke iterasi berikutnya
yang menyebabkan cout<<"Nilai
bil : "<<bil<<endl; setelah pernyataan continue
tidak dijalankan. Akibatnya membuat bilangan genap tidak pernah ditampilkan
pada layar.
break
“Pada C++ terdapat dua penggunaan break. Pertama, untuk
keluar dari pernyataan switch. Kedua, digunakan untuk keluar/mengakhiri suatu
blok perulangan.”
Catatan: Apabila kita menggunakan loop bersarang, artinya
ada looping di dalam looping, jika break diletakkan pada looping yang terdalam,
maka break hanya akan mengakhiri/keluar dari looping dimana break diletakkan
(yaitu looping yang terdalam saja).
Berikut adalah contoh program penggunaan break:
/*
Looping for, while, do-while, continue, dan break
Microsoft Visual Studio Express 2012
[RS]
*/
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int bil = 1;
while(bil<=10 ){
if(bil == 8)
{
break;
}
cout<<"Nilai bil : "<<bil<<endl;
bil++;
}
_getche();
return 0;
}
Output break
Nilai bil : 1
Nilai bil : 2
Nilai bil : 3
Nilai bil : 4
Nilai bil : 5
Nilai bil : 6
Nilai bil : 7
Nilai bil : 2
Nilai bil : 3
Nilai bil : 4
Nilai bil : 5
Nilai bil : 6
Nilai bil : 7
PENJELASAN:
Perhatikan flowchart continue dan break dan perhatikan
hasil output program di atas. Terlihat bahwa output
hanya sampai 7. Hal ini disebabkan oleh if(bil == 8), jadi ketika bil
bernilai 8 maka pernyataan break; dijalankan yang membuat
perulangan/looping diakhiri dan iterasi selanjutnya tidak pernah dijalankan.
Kapankah
Waktu yang Tepat Menggunakan while dan do/while?
Tergantung dari kasusnya. Bila syarat perulangannya tidak
berkaitan dengan hasil hitung pada blok kode yang diulang, maka pakailah while. Tetapi, bila syarat perulangannya
berkaitan dengan hasil perhitungan di blok kode yang diulang, maka
pakailah do/while.
Perulangan While vs Do/While
Perulangan while akan melakukan
perulangan kalau kondisi (syarat) terpenuhi.
Sedangkan do/while melakukan
perulangan dulu, kemudian memeriksa kondisinya atau sayaratnya.
Kalau kondisi terpenuhi, maka do/while akan
melanjutkan perulangan. Sebaliknya, dia akan berhenti (break).
Komentar
Posting Komentar