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.

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


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRcvEjGBLxNTF_3LQoMsNIt42ZJm3b_zJA2R-crqgDhj9XQ7jN0R5pV7DKukYFQhHOTFy8LY1Unt4mgOUvBVckRgqHVc33NYxXUnv4QtCd7rkuvOnrCn7wfD4PQr10AllaEwEkTpFEAjU/s400/continue+%2526+break.jpg
Flowchart 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

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

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

Postingan populer dari blog ini

MATERI POINTER PADA PASCAL

MACAM-MACAM OPERATOR C++