
Dalam tutorial ini, kita akan mempelajari penggunaan while dan do… while dalam pemrograman C++ dengan bantuan beberapa contoh.
Dalam pemrograman komputer, loop digunakan untuk mengulang blok kode.
Sebagai contoh, katakanlah kita ingin menampilkan pesan sebanyak 100 kali. Kemudian alih-alih menulis pernyataan print 100 kali, kita bisa menggunakan loop.
Itu hanya contoh sederhana; kami dapat mencapai lebih banyak efisiensi dan kecanggihan dalam program kami dengan memanfaatkan loop secara efektif.
Ada 3 jenis loop dalam C++.
forloopwhileloopdo whileloop
Pada tutorial sebelumnya, kita telah membahas tentang C++ for loop . Di sini, kita akan membahas tentang while dan do while loop.
C++ while loop
Syntax while loopnya adalah:
1
2
3
while (condition) {
// body dari loop
}
Di Sini,
- Sebuah while loop mengevaluasi
condition - Jika
conditionmengevaluasi ketrue, code di dalam while loop dieksekusi. conditiondievaluasi lagi.- Proses ini berlanjut sampai
conditionadalahfalse.
Ketika condition mengevaluasi ke false, loop berakhir.
Flowchart dari while Loop
Flowchart dari C++ while loop
Contoh 1: Tampilkan Angka dari 1 hingga 5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Program C++ untuk print angka dari 1 hingga 5
#include <iostream>
using namespace std;
int main() {
int i = 1;
// while loop dari 1 ke 5
while (i <= 5) {
cout << i << " ";
++i;
}
return 0;
}
Output
1
1 2 3 4 5
Berikut adalah cara kerja program.
| looping | Variable | i <= 5 | Tindakan |
|---|---|---|---|
1 | i = 1 | true | 1 diprint dan i ditingkatkan menjadi 2. |
ke-2 | i = 2 | true | 2 diprint dan i ditingkatkan menjadi 3. |
ke-3 | i = 3 | true | 3 diprint dan i ditingkatkan menjadi 4 |
tanggal 4 | i = 4 | true | 4 diprint dan i ditingkatkan menjadi 5. |
tanggal 5 | i = 5 | true | 5 diprint dan i ditingkatkan menjadi 6. |
tanggal 6 | i = 6 | false | Loop dihentikan |
Contoh 2: Jumlah angka Positive Saja
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// program mencari jumlah angka positive
// jika user memasukkan angka negative, loop berakhir
// angka negative yang dimasukkan tidak ditambahkan ke jumlah
#include <iostream>
using namespace std;
int main() {
int angka;
int jumlah = 0;
// mengambil masukan dari user
cout << "Masukkan sebuah angka: ";
cin >> angka;
while (angka >= 0) {
// tambahkan semua angka posistive
sum += angka;
// ambil input lagi jika angkanya positive
cout << "Masukkan sebuah angka: ";
cin >> angka;
}
// tampilkan jumlah
cout << "\nJumlahnya adalah " << jumlah << endl;
return 0;
}
Output
1
2
3
4
5
6
7
Masukkan sebuah angka: 6
Masukkan sebuah angka: 12
Masukkan sebuah angka: 7
Masukkan sebuah angka: 0
Masukkan sebuah angka: -2
Jumlahnya adalah 25
Dalam program ini, user diminta untuk memasukkan angka, yang disimpan dalam variable angka.
Untuk menyimpan jumlah angka, kita mendeklarasikan variable jumlah dan inisialisasi ke nilai 0.
while Loop berlanjut sampai user memasukkan angka negative. Selama setiap iterasi, angka yang dimasukkan oleh user ditambahkan ke variable jumlah .
Ketika user memasukkan angka negative, loop berakhir. Akhirnya, jumlah total ditampilkan.
C++ do while Loop
do while Loop adalah varian dari while dengan satu perbedaan penting: body do while loop dieksekusi sekali sebelum condition diperiksa.
Syntaxnya adalah:
1
2
3
4
do {
// body dari loop;
}
while (condition);
Di Sini,
- body loop dieksekusi pada awalnya. Kemudian
conditiondievaluasi. - Jika
conditionmengevaluasi ketrue, body loop di dalam statementdodieksekusi lagi. conditiondievaluasi sekali lagi.- Jika
conditionmengevaluasi ketrue, body loop di dalam statementdodieksekusi lagi. - Proses ini berlanjut sampai
conditionevaluasi kefalse. Kemudian loop berhenti.
Flowchart do while Loop
Flowchart dari C++ do…while loop
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Contoh 3: Menampilkan Angka dari 1 hingga 5
// Program C++ untuk print angka dari 1 hingga 5
#include <iostream>
using namespace std;
int main() {
int i = 1;
// do...while loop dari 1 hinggga 5
do {
cout << i << " ";
++i;
}
while (i <= 5);
return 0;
}
Output
1
1 2 3 4 5
Berikut adalah cara kerja program.
| looping | Variable | i <= 5 | Tindakan |
|---|---|---|---|
| kosong | i = 1 | tidak dipriksa | 1 diprint dan id itingkatkan menjadi 2 |
1 | i = 2 | true | 2 diprint dan i ditingkatkan menjadi 3 |
| ke-2 | i = 3 | true | 3 diprint dan i ditingkatkan menjadi 4 |
| ke-3 | i = 4 | true | 4 diprint dan i ditingkatkan menjadi 5 |
| 4th | i = 5 | true | 5 diprint dan i ditingkatkan menjadi 6 |
| tanggal 5 | i = 6 | false | Loop dihentikan |
Contoh 4: Jumlah anngka Positive Saja
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// program mencari jumlah bilangan positive
// Jika user memasukkan angka negative, loop berakhir
// angka negative yang dimasukkan tidak ditambahkan ke jumlah
#include <iostream>
using namespace std;
int main() {
int angka = 0;
int jumlah = 0;
do {
sum += angka;
// mengambil masukan dari user
cout << "Masukkan sebuah angka: ";
cin >> angka;
}
while (angka >= 0);
// tampilkan jumlah
cout << "\nJumlahnya adalah" << jumlah << endl;
return 0;
}
Output 1
1
2
3
4
5
6
7
Masukkan sebuah angka: 6
Masukkan sebuah angka: 12
Masukkan sebuah angka: 7
Masukkan sebuah angka: 0
Masukkan sebuah angka: -2
Jumlahnya adalah 25
Di sini, do while loop berlanjut hingga user memasukkan angka negative. Ketika angkanya negative, loop berakhir; angka negative tidak ditambahkan ke variable jumlah.
Output 2
1
2
Masukkan nomor: -6
Jumlahnya adalah 0.
body do while loop hanya berjalan sekali jika user memasukkan angka negative.
while loop Tak terbatas
Jika condition loop selalu true, loop berjalan untuk waktu yang tak terbatas (sampai memori penuh). Sebagai contoh,
1
2
3
4
// while loop Tak terbatas
while(true) {
// body dari loop
}
Berikut adalah contoh do while loop tak terbatas.
1
2
3
4
5
6
7
8
// do while loop Tak terbatas
int count = 1;
do {
// body dari loop
}
while(count == 1);
Dalam program di atas, condition selalu true. Oleh karena itu, body loop akan berjalan untuk waktu yang tak terbatas.
for vs while loop
Sebuah for loop biasanya digunakan ketika jumlah iterasi diketahui. Sebagai contoh,
1
2
3
4
// Loop ini diulang 5 kali
for (int i = 1; i <=5; ++i) {
// body dari loop
}
Di sini, kita tau bahwa for-loop akan dieksekusi 5 kali.
Namun, while dan do while loop biasanya digunakan ketika jumlah iterasi tidak diketahui. Sebagai contoh,
1
2
3
while (condition) {
// body dari loop
}