perulangan while dan do-while C++ serta contoh program
Assalamu'alaikum...
Apa itu perulangan ? sudah dibahas ya sobat di materi perulangan for C++. Sebagaimana yang sobat ketahui bahwa ada 3 jenis perulangan yaitu :
1. for
2. while
3. do-while
Oke seperti judul postingan, kali ini saya akan bahas mengenai perulangan while dan do-while sekaligus mengenai break dan continue. Apa saja itu semua, berikut penjelasannya.
Struktur while
Perulangan while adalah perulangan yang akan melakukan perintah di dalam blok jika kondisi bernilai benar. Jika kondisi awal tersebut bernilai salah maka pernyataan di dalam blok tidak akan pernah di jalankan.
Contoh program :
Hasil eksekusi program :
Dari hasil eksekusi program tersebut, tampak bahwa string Belajar perulangan while C++ akan terus dicetak tanpa henti.
Apa itu perulangan ? sudah dibahas ya sobat di materi perulangan for C++. Sebagaimana yang sobat ketahui bahwa ada 3 jenis perulangan yaitu :
1. for
2. while
3. do-while
Oke seperti judul postingan, kali ini saya akan bahas mengenai perulangan while dan do-while sekaligus mengenai break dan continue. Apa saja itu semua, berikut penjelasannya.
Perulangan
Struktur while
Perulangan while adalah perulangan yang akan melakukan perintah di dalam blok jika kondisi bernilai benar. Jika kondisi awal tersebut bernilai salah maka pernyataan di dalam blok tidak akan pernah di jalankan.
Contoh program :
#include<iostream>
using namespace std;
int main(){
int x = 0;
while(x < 10){
cout<<"Belajar perulangan while C++ \n";
}
}
using namespace std;
int main(){
int x = 0;
while(x < 10){
cout<<"Belajar perulangan while C++ \n";
}
}
Hasil eksekusi program :
Dari hasil eksekusi program tersebut, tampak bahwa string Belajar perulangan while C++ akan terus dicetak tanpa henti.
Untuk menghentikan program, kondisi haruslah bernilai salah. Dalam hal ini x harus berubah nilainya menjadi >= 10. Berikut programnya :
Hasil eksekusi program :
Ketika x bernilai 12, perulangan while kondisinya menjadi bernilai salah. sehingga perulangan terhenti dan x terakhir bernilai 12.
Sobat harus berhati-hati dalam menggunakan perulangan while baik dalam menginisialisasi nilai awal dan memanipulasi nilai tersebut sehingga perulangan dapat terhenti seperti yang direncanakan.
Perulangan while juga bisa melakukan perulangan yang nilainya dibuat menurun, Seperti contoh program berikut ini :
Hasil eksekusi program :
Program diatas untuk mencetak bilangan secara menurun dan juga menaik.
- x diberi nilai 20 kemudian dilakukan while pertama. Nilai x menurun sejumlah 3 sehingga terbentuklah program deret angka menurun.
- x pada while pertama menghasilkan nilai akhir sama dengan -2 sehingga akan mencetak deret angka menaik dari -2 hingga 10.
Selain contoh diatas masih banyak contoh program lainnya termasuk while bersarang. Berikut salah satu contoh struktur while bersarang :
Contoh program membuat pola gambar persegi :
Hasil eksekusi program :
Dari eksekusi program diatas, tampak bahwa :
- while pertama memberikan 5 baris, dengan while kedua mencetak * sebanyak 5. Begitu terus hingga kondisi while pertama bernilai salah.
Baca juga : Pola gambar segitiga C++
Struktur do - while
Perulangan do-while merupakan perulangan yang dijalankan setidaknya satu kali. Perulangan ini akan berhenti ketika kondisi bernilai salah. Jelas berbeda dengan while ya karena do-while ini dijalankan terlebih dahulu baru mengecek kondisi while.
#include<iostream>
using namespace std;
int main(){
int x = 0;
while(x < 10){
cout<<"x : "<<x<<endl;
using namespace std;
int main(){
int x = 0;
while(x < 10){
cout<<"x : "<<x<<endl;
cout<<"Belajar perulangan while C++ \n";
x += 3; // x = x + 3, kenaikan nilai x sejumlah 3
}
}
Hasil eksekusi program :
Ketika x bernilai 12, perulangan while kondisinya menjadi bernilai salah. sehingga perulangan terhenti dan x terakhir bernilai 12.
Sobat harus berhati-hati dalam menggunakan perulangan while baik dalam menginisialisasi nilai awal dan memanipulasi nilai tersebut sehingga perulangan dapat terhenti seperti yang direncanakan.
Perulangan while juga bisa melakukan perulangan yang nilainya dibuat menurun, Seperti contoh program berikut ini :
#include<iostream>
using namespace std;
int main(){
unsigen int x = 20;
cout<<"program deret angka menurun"<<endl;
while(x >= 0){
cout<<x<<" ";
x -= 2; //x = x-2, penurunan nilai x sejumlah 2
}
cout<<endl;
using namespace std;
int main(){
unsigen int x = 20;
cout<<"program deret angka menurun"<<endl;
while(x >= 0){
cout<<x<<" ";
x -= 2; //x = x-2, penurunan nilai x sejumlah 2
}
cout<<endl;
cout<<"program deret angka menaik"<<endl;
while(x <= 10){
cout<<x<<" ";
while(x <= 10){
cout<<x<<" ";
x++; //x = x-1, penaikan nilai x sejumlah 2
}
}
Hasil eksekusi program :
Program diatas untuk mencetak bilangan secara menurun dan juga menaik.
- x diberi nilai 20 kemudian dilakukan while pertama. Nilai x menurun sejumlah 3 sehingga terbentuklah program deret angka menurun.
- x pada while pertama menghasilkan nilai akhir sama dengan -2 sehingga akan mencetak deret angka menaik dari -2 hingga 10.
Selain contoh diatas masih banyak contoh program lainnya termasuk while bersarang. Berikut salah satu contoh struktur while bersarang :
Contoh program membuat pola gambar persegi :
#include<iostream>
using namespace std;
int main(){
while(x < 5){
int y = 0;
while(y < 5){
cout<<'*'<<" ";
y++;
}
cout<<endl;
x++;
}
}
using namespace std;
int main(){
int x = 0;
int y = 0;
while(y < 5){
cout<<'*'<<" ";
y++;
}
cout<<endl;
x++;
}
}
Hasil eksekusi program :
Dari eksekusi program diatas, tampak bahwa :
- while pertama memberikan 5 baris, dengan while kedua mencetak * sebanyak 5. Begitu terus hingga kondisi while pertama bernilai salah.
Baca juga : Pola gambar segitiga C++
Struktur do - while
Perulangan do-while merupakan perulangan yang dijalankan setidaknya satu kali. Perulangan ini akan berhenti ketika kondisi bernilai salah. Jelas berbeda dengan while ya karena do-while ini dijalankan terlebih dahulu baru mengecek kondisi while.
Contoh program :
#include<iostream>
using namespace std;
int main(){
int x = 0;
do{
cout<<"Baris ke -"<<x<<endl;
}while(x != 0);
using namespace std;
int main(){
int x = 0;
do{
cout<<"Baris ke -"<<x<<endl;
}while(x != 0);
cout<<"ini baris diluar do-while"<<endl;
}Hasil eksekusi program :
Perhatikan contoh program berikut ini untuk melihat lebih jelas bagaimana do-while bekerja :
#include<iostream>
using namespace std;
int main(){
int x = 0;
do{
cout<<"Baris ke -"<<x<<endl;
x++;
}while(x <= 5);
using namespace std;
int main(){
int x = 0;
do{
cout<<"Baris ke -"<<x<<endl;
x++;
}while(x <= 5);
cout<<"ini baris diluar do-while"<<endl;
}Hasil eksekusi program :
Break dan continue
Break
Pernyataan break telah diperkenalkan pada pernyataan switch dalam materi pengendalian C++. Kegunaannya yaitu untuk keluar dari switch. Selain digunakan pada switch, pernyataan break dapat juga digunakan pada pernyataan for, while, dan do-while. Kegunaannya yaitu untuk memaksa keluar dari pernyataan-pernyataan itu.
Contoh program :
#include<iostream>
using namespace std;
int main(){
int x = 0;
while(x<=10) {
}
using namespace std;
int main(){
int x = 0;
while(x<=10) {
if(x > 5)
break;
cout<<"Baris ke -"<<x<<endl;
x++;}
cout<<"ini baris diluar while"<<endl;
}Hasil eksekusi program :
Jika didalam program diatas tidak ditambahkan
if (x > 5) break
maka akan menampilkan hingga Baris ke -10.
Berikut program yang akan berhenti ketika tombol escape (esc) ditekan.
#include<iostream>
#include<conio.h>
#include<string>
using namespace std;
int main(){
char karak;
cout<<"ketikkan apapun : ";
cout<<"\n tekan esc jika selesai"<<endl;
for(; ;){
karak = getche();
if(karak==27)
break;
cout<<endl;
}
cout<<"\n ini baris diluar for"<<endl;
}
#include<conio.h>
#include<string>
using namespace std;
int main(){
char karak;
cout<<"ketikkan apapun : ";
cout<<"\n tekan esc jika selesai"<<endl;
for(; ;){
karak = getche();
if(karak==27)
break;
cout<<endl;
}
cout<<"\n ini baris diluar for"<<endl;
}
Hasil eksekusi program :
Program diatas tidak dapat membuat lebih dari satu baris/kalimat. Ketika sobat tekan enter, program akan memanipulasi karakter2 yang telah diinput sebelumnya. Coba sendiri agar sobat tau apa yang saya maksud ya.
Berikut program bisa input enter dan lebih dari satu kalimat :
#include<iostream>
using namespace std;
int main(){
string karak;
for(; ;){
getline(cin,karak); // input untuk string
char akhir = getche();
if(akhir==27)
break;
}
cout<<"\n ini baris diluar for"<<endl;
}
#include<string> //library untuk string
#include<conio.h> //library untuk getche
using namespace std;
int main(){
string karak;
cout<<"ketikkan apapun : "
<<"\ntekan enter kemudian " ;
cout<<"\n tekan esc jika selesai"<<endl;for(; ;){
getline(cin,karak); // input untuk string
char akhir = getche();
if(akhir==27)
break;
}
cout<<"\n ini baris diluar for"<<endl;
}
Hasil eksekusi program :
Gambar 1 perulangan dengan break
Bagaimana sudah paham mengenai break? mari lanjut ke pernyataan continue
Continue
Kegunaan dari pen=rnyataan continue merupakan kebalikan dari break. Pernyataan continue untuk mengarahkan eksekusi ke putaran atau iterasi berikutnya pada pernyataan pengulangan. Berikut yang terjadi pada for, while, do-while :
- for, ungkapan ketiga pada for (ungkapan paling kanan di dalam () pada for). akan dijalankan kemudian ungkapan kedua/kondisi diuji lagi.
- while dan do-while, pengujian terhadap kondisi pada while diuji lagi.
Contoh program continue pada for :
#include<iostream>
using namespace std;
int main(){
for(int i = 0; i < 5 ;i++){
cout<<i<<" ";
continue;
cout<<"hallo"<<endl;
}
}
using namespace std;
int main(){
for(int i = 0; i < 5 ;i++){
cout<<i<<" ";
continue;
cout<<"hallo"<<endl;
}
}
Hasil eksekusi program :
Terlihat bahwa :
cout<<"hallo"<<endl;
tidak dikerjakan dikarenakan ketika program dieksekusi continue menyebabkan i++ diproses dan kondisi i < 5 diuji kembali.
Contoh program continue dan break menghitung rata-rata nilai kurang dari 10 jika 10 atau lebih nilai akan diabaikan :
#include<iostream>
using namespace std;
int main(){
int i=1;
float jumlah=0;
float rata=0, nilai;
cout<<"Tekan 0 untuk menghentikan program"<<endl;
while (1) {
cout<<"nilai ke-"<<i<<" = ";cin>>nilai;
if(nilai == 0)
break;
i++;
jumlah += nilai;
}
rata = jumlah/i;
cout<<"Jumlah nilai = "<<jumlah<<endl;
cout<<"Rata-rata = "<<rata;}
using namespace std;
int main(){
int i=1;
float jumlah=0;
float rata=0, nilai;
cout<<"Tekan 0 untuk menghentikan program"<<endl;
while (1) {
cout<<"nilai ke-"<<i<<" = ";cin>>nilai;
if(nilai>=10){
cout<<"Nilai diabaikan"<<endl;
continue;}if(nilai == 0)
break;
i++;
jumlah += nilai;
}
rata = jumlah/i;
cout<<"Jumlah nilai = "<<jumlah<<endl;
cout<<"Rata-rata = "<<rata;}
Gambar 2 program break dan continue
Dari program diatas terlihat bahwa nilai 10 diabaikan namun nilai ke-2 tetap diminta, ini menunjuka bahwa continue menyebabkan eksekusi menuju ke kondisi while kembali.
Bagaimana mengenai perulangan dengan while dan do-while serta pernyataan break dan continue, sudah lumayan mengertikan :)
Semoga bermanfaat. Terimakasih
2 comments for "perulangan while dan do-while C++ serta contoh program "
Terimakasih