C++ while dan do... while Loop
C++ while dan do... while Loop
Dalam tutorial ini, kita akan mempelajari penggunaan while dan do... while loop 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 pengulangan secara efektif.
Ada 3 jenis loop dalam C++.
for
lingkaran
while
lingkaran
do...while
lingkaran
Pada tutorial sebelumnya, kita telah mempelajari tentang C++ for loop. Di sini, kita akan belajar tentang while
dan do...while
loop.
C++ while Loop
Sintaks dari while
lingkarannya adalah:
while (condition) {
// body of the loop
}
Di sini,
- Sebuah
while
loop mengevaluasi condition
- Jika
condition
mengevaluasi ke true
, kode di dalam while
loop dijalankan.
condition
dievaluasi lagi.
- Proses ini berlanjut hingga
condition
adalah false
.
- Saat
condition
mengevaluasi ke false
, loop berakhir.
Untuk mempelajari lebih lanjut tentang conditions
, kunjungi Operator Relasional dan Logika C++.
Flowchart dari Perulangan while
Contoh 1:Tampilkan Angka dari 1 hingga 5
// C++ Program to print numbers from 1 to 5
#include <iostream>
using namespace std;
int main() {
int i = 1;
// while loop from 1 to 5
while (i <= 5) {
cout << i << " ";
++i;
}
return 0;
}
Keluaran
1 2 3 4 5
Berikut adalah cara kerja program.
Iterasi | Variabel | aku <=5 | Tindakan |
pertama | i = 1 | true |
1
dicetak dan i ditingkatkan menjadi 2 . |
ke-2 | i = 2 | true |
2
dicetak dan i ditingkatkan menjadi 3 . |
3 | i = 3 | true |
3
dicetak dan i ditingkatkan menjadi 4 |
4 | i = 4 | true |
4
dicetak dan i ditingkatkan menjadi 5 . |
5 | i = 5 | true |
5
dicetak dan i ditingkatkan menjadi 6 . |
6 | i = 6 | false | Perulangan dihentikan |
Contoh 2:Jumlah Bilangan Positif Saja
// program to find the sum of positive numbers
// if the user enters a negative number, the loop ends
// the negative number entered is not added to the sum
#include <iostream>
using namespace std;
int main() {
int number;
int sum = 0;
// take input from the user
cout << "Enter a number: ";
cin >> number;
while (number >= 0) {
// add all positive numbers
sum += number;
// take input again if the number is positive
cout << "Enter a number: ";
cin >> number;
}
// display the sum
cout << "\nThe sum is " << sum << endl;
return 0;
}
Keluaran
Enter a number: 6
Enter a number: 12
Enter a number: 7
Enter a number: 0
Enter a number: -2
The sum is 25
Dalam program ini, pengguna diminta untuk memasukkan nomor, yang disimpan dalam variabel number .
Untuk menyimpan jumlah angka, kami mendeklarasikan variabel sum dan inisialisasi ke nilai 0
.
while
loop berlanjut sampai pengguna memasukkan angka negatif. Selama setiap iterasi, nomor yang dimasukkan oleh pengguna ditambahkan ke jumlah variabel.
Ketika pengguna memasukkan angka negatif, loop berakhir. Akhirnya, jumlah total ditampilkan.
C++ lakukan...sementara Loop
do...while
loop adalah varian dari while
loop dengan satu perbedaan penting:isi do...while
loop dieksekusi sekali sebelum condition
diperiksa.
Sintaksnya adalah:
do {
// body of loop;
}
while (condition);
Di sini,
- Tubuh loop dieksekusi terlebih dahulu. Kemudian
condition
dievaluasi.
- Jika
condition
mengevaluasi ke true
, badan perulangan di dalam do
pernyataan dieksekusi lagi.
condition
dievaluasi sekali lagi.
- Jika
condition
mengevaluasi ke true
, badan perulangan di dalam do
pernyataan dieksekusi lagi.
- Proses ini berlanjut hingga
condition
mengevaluasi ke false
. Kemudian loop berhenti.
Flowchart do... while Loop
Contoh 3:Menampilkan Angka dari 1 hingga 5
// C++ Program to print numbers from 1 to 5
#include <iostream>
using namespace std;
int main() {
int i = 1;
// do...while loop from 1 to 5
do {
cout << i << " ";
++i;
}
while (i <= 5);
return 0;
}
Keluaran
1 2 3 4 5
Berikut adalah cara kerja program.
Iterasi | Variabel | aku <=5 | Tindakan |
| i = 1 | tidak dicentang |
1
dicetak dan i ditingkatkan menjadi 2 |
pertama | i = 2 | true |
2
dicetak dan i ditingkatkan menjadi 3 |
ke-2 | i = 3 | true |
3
dicetak dan i ditingkatkan menjadi 4 |
3 | i = 4 | true |
4
dicetak dan i ditingkatkan menjadi 5 |
4 | i = 5 | true |
5
dicetak dan i ditingkatkan menjadi 6 |
5 | i = 6 | false | Perulangan dihentikan |
Contoh 4:Jumlah Bilangan Positif Saja
// program to find the sum of positive numbers
// If the user enters a negative number, the loop ends
// the negative number entered is not added to the sum
#include <iostream>
using namespace std;
int main() {
int number = 0;
int sum = 0;
do {
sum += number;
// take input from the user
cout << "Enter a number: ";
cin >> number;
}
while (number >= 0);
// display the sum
cout << "\nThe sum is " << sum << endl;
return 0;
}
Keluaran 1
Enter a number: 6
Enter a number: 12
Enter a number: 7
Enter a number: 0
Enter a number: -2
The sum is 25
Di sini, do...while
loop berlanjut sampai pengguna memasukkan angka negatif. Ketika angkanya negatif, loop berakhir; angka negatif tidak ditambahkan ke sum
variabel.
Keluaran 2
Enter a number: -6
The sum is 0.
Tubuh do...while
loop hanya berjalan sekali jika pengguna memasukkan angka negatif.
Perulangan while tak terbatas
Jika condition
dari loop selalu true
, loop berjalan untuk waktu yang tak terbatas (sampai memori penuh). Misalnya,
// infinite while loop
while(true) {
// body of the loop
}
Berikut adalah contoh do...while
infinite yang tak terbatas lingkaran.
// infinite do...while loop
int count = 1;
do {
// body of loop
}
while(count == 1);
Dalam program di atas, condition
selalu true
. Oleh karena itu, badan loop akan berjalan untuk waktu yang tak terbatas.
for vs while loop
Sebuah for
loop biasanya digunakan ketika jumlah iterasi diketahui. Misalnya,
// This loop is iterated 5 times
for (int i = 1; i <=5; ++i) {
// body of the loop
}
Di sini, kita tahu bahwa for-loop akan dieksekusi 5 kali.
Namun, while
dan do...while
loop biasanya digunakan ketika jumlah iterasi tidak diketahui. Misalnya,
while (condition) {
// body of the loop
}
Lihat contoh berikut untuk mempelajari lebih lanjut:
- Program C++ untuk Menampilkan Deret Fibonacci
- Program C++ untuk Menemukan GCD
- Program C++ untuk Menemukan KPK