Pernyataan while
while adalah sebuah perintah sebagaimana halnya if dan else. while bukanlah fungsi pustaka, karenanya while tidak menggunakan file header. Seperti if, while adalah pernyataan berganda dan tanda kurung muncul di dekat ekspresi relasional. Ekspresi relasional dapat berisi satu atau beberapa operator relasional. Jika anda menggunakan lebih dari satu operator relasional di dalam ekspresi relasional, gunakanlah operator nalar ( && dan || ) untuk mengkombinasikan pengujian relasional tersebut. Berikut adalah bentuk umum dari pernyataan while :
while ( ekspresi penguji )
{
// satu atau lebih pernyataan C++
}
pengujian relasional muncul di bagian atas blok while. Lokasi dari penguji tersebut penting. Jika ekspresi while bernilai salah saat yang pertama kali, kalang tersebut tidak akan dieksekusi satu kali pun dan program berlanjut ke pernyataan berikutnya di bawah blok while jika masih ada. Blok while akan akan dieksekusi hanya jika pengujian relasional bernilai benar.
Contoh 5.1 :
Program berikut menampilkan kalimat “Belajar pemrograman C++” sebanyak lima kali pada layar.
#include < iostream.h >
void main()
{
int cacah=1;
while ( cacah <= 5 )
{ cout << “Belajar pemrograman C++” << endl;
cacah++; }
}
Keluaran programnya :
Belajar pemrograman C++
Belajar pemrograman C++
Belajar pemrograman C++
Belajar pemrograman C++
Belajar pemrograman C++
Variabel cacah di dalam blok while disebut sebagai variabel pencacah. Setiap kali melalui blok while, program menaikan cacah. Seperti kalau menghitung 1, 2, 3 dan seterusnya, cacah bernilai 1, 2, 3 dan seterusnya, sampai C++ menaikan cacah ke nilai akhir yaitu 5. Pada saat melangkah ke hitungan berikutnya pengujian menjadi salah yaitu pada saat cacah = 6 dan blok while berakhir.
Contoh 5.2 :
Berikut ini contoh program untuk meverifikasi masukan pemakai menggunakan while :
#include
void main()
{
int umur;
cout << "Berapa umur anda : ";
cin >> umur;
while ((umur < 5) || (umur > 80))
{
cout << "Saya tidak yakin umur anda " << umur << " tahun"
<< endl;
cout << "Ulangi kembali dengan benar..." << endl << endl;
cout << "Berapa umur anda : ";
cin >> umur;
}
if (umur < 17)
{
cout << "Anda belum boleh mengendarai mobil" << endl;
cout << "karena umur anda dibawah 17 tahun" << endl;
}
else
{
cout << "Anda boleh mengendarai mobil" << endl;
cout << "Hati-hatilah !!!" << endl;
}
}
Keluaran programnya :
Berapa umur anda : 3
Saya tidak yakin umur anda 3 tahun
Ulangi kembali dengan benar...
Berapa umur anda :
Lainnya :
Berapa umur anda : 10
Anda belum boleh mengendarai mobil
karena umur anda dibawah 17 tahun
lainnya :
Berapa umur anda : 18
Anda boleh mengendarai mobil
Hati-hatilah !!!
Lainnya :
Berapa umur anda : 120
Saya tidak yakin umur anda 120 tahun
Ulangi kembali dengan benar...
Berapa umur anda :
Pernyataan do-while
C++ mempunyai blok while lainnya yaitu do-while, yang pengujian relasionalnya muncul di akhir blok. Berikut adalah format do-while :
do
{
// satu atau lebih pernyataan C++
}
while ( ekspresi relasional );
do-while tidak menguji relasi hingga kalang dieksekusi satu siklus penuh. Setelah blok do-while dieksekusi sekali, pengujian relasional dites untuk melihat perlu tidaknya blok ini dieksekusi lagi atau diakhiri. Hanya setelah pengujian relasional menjadi salah maka program melanjutkan sisa program berikutnya jika masih ada.
Contoh 5.3 :
Berikut ini contoh penggunaan do-while untuk menampilkan “Belajar pemrograman C++” sebanyak 5 kali :
#include
void main()
{
int cacah=1;
do
{
cout << "Belajar pemrograman C++" << endl;
cacah++;
}
while ( cacah <= 5);
}
Keluaran programnya sama dengan contoh 5.1
Contoh 5.4 :
#include
void main()
{
int umur;
do
{
cout << "Berapa umur anda : ";
cin >> umur;
if ((umur < 5) || (umur > 80))
{
cout << "Saya tidak yakin umur anda " << umur << " tahun"
<< endl;
cout << "Ulangi kembali dengan benar..." << endl << endl;
}
}
while ((umur < 5) || (umur > 80));
if (umur < 17)
{
cout << "Anda belum boleh mengendarai mobil" << endl;
cout << "karena umur anda dibawah 17 tahun" << endl;
}
else
{
cout << "Anda boleh mengendarai mobil" << endl;
cout << "Hati-hatilah !!!" << endl;
}
}
Pada contoh program 5.4 penggunaan do-while memerlukan sebuah if tambahan yang tidak diperlukan seperti pada contoh program yang menggunakan while.
Pernyataan for
Pernyataan for tidaklah sulit untuk dipahami. Berikut ini adalah format dari loop for.
for ( ekspresi awal; kondisi; ekspresi pencacah)
{
// satu atau lebih pernyataan C++
}
Pada saat C++ menjumpai pernyataan for, ia akan mengikuti langkah-langkah berikut untuk melaksanakan loop :
1. Melaksanakan ekspresi awal, yang biasanya berupa pernyataan penugasan.
2. Menguji ekspresi kondisi dengan hasil salah atau benar.
3. Melaksanakan blok loop jika kondisi bernilai benar.
4. Melaksanakan ekspresi pencacah, yang biasanya berupa operasi penaikan atau penurunan.
5. Kembali ke langkah 2.
Sewaktu kondisi diuji dan didapatkan bernilai salah, C++ menghentikan loop dan program berlanjut ke pernyataan sesudah loop for jika masih ada.
Contoh 5.5 :
Program berikut akan menampilkan kalimat “Belajar pemrograman C++” sebanyak 5 kali menggunakan pernyataan for.
#include
void main()
{
for (int i=1; i<=5; i++)
{ cout << “Belajar pemrograman C++” << endl; }
}
Keluaran programnya sama dengan contoh 5.1
Loop for bukanlah loop yang bagus untuk melakukan validasi masukan, tetapi loop while baik untuk tujuan ini. Loop for cocok kalau anda tahu terlebih dahulu jumlah yang ingin anda eksekusi terhadap suatu loop. Pada loop for diatas, blok loop dieksekusi secara persis 5 kali dengan ekspresi di dalam pernyataan for mengontrol 5 pengeksekusian.
Jika kondisi bernilai salah di awal, sebagaimana pernyataan for berikut, blok loop tidak pernah dieksekusi :
for ( int i=15; i<=10; i++ )
{ cout << “cout ini tidak pernah dijalankan”; }
Saat loop ini dimulai, C++ menyimpan 15 ke i. Kondisi i<=10, bernilai salah sehingga C++ menghentikan loop dan melanjutkan program tepat sesudah loop tanpa pernah mengeksekusi blok loop.
Contoh 5.6 :
#include
void main()
{
int n;
float data, total=0, rata_rata;
cout << "Berapa banyak datanya : ";
cin >> n;
for ( int i=1; i<=n; i++ )
{
cout << "Data ke-" << i << " : ";
cin >> data;
total += data;
}
rata_rata=total/n;
cout.precision(2);
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout << endl << "Nilai rata-rata : " << rata_rata;
}
Satu hal menarik untuk diperhatikan adalah bahwa kurung loop for tidak harus seluruhnya berisi ketiga ungkapan. Sebagai contoh :
for ( bil=2; bil <= 10; bil += 2)
Dapat diubah menjadi :
bil=2;
for ( ; bil <= 10; )
{
// blok loop dimulai dari sini
bil += 2;
}
Menempatkan ekspresi keluar dari pernyataan for kadangkala dibenarkan, terutama kalau pemakai menginisialisasi nilai awal variabel pengontrol dengan cin, bukannya dengan inisialisasi melalui pernyataan. Walaupun demikian untuk kebanyakan pemakai loop for, tempatkan semua ekspresi di dalam kurung for, sehingga semua informasi pengontrol tersedia di dalam satu pernyataan.
while adalah sebuah perintah sebagaimana halnya if dan else. while bukanlah fungsi pustaka, karenanya while tidak menggunakan file header. Seperti if, while adalah pernyataan berganda dan tanda kurung muncul di dekat ekspresi relasional. Ekspresi relasional dapat berisi satu atau beberapa operator relasional. Jika anda menggunakan lebih dari satu operator relasional di dalam ekspresi relasional, gunakanlah operator nalar ( && dan || ) untuk mengkombinasikan pengujian relasional tersebut. Berikut adalah bentuk umum dari pernyataan while :
while ( ekspresi penguji )
{
// satu atau lebih pernyataan C++
}
pengujian relasional muncul di bagian atas blok while. Lokasi dari penguji tersebut penting. Jika ekspresi while bernilai salah saat yang pertama kali, kalang tersebut tidak akan dieksekusi satu kali pun dan program berlanjut ke pernyataan berikutnya di bawah blok while jika masih ada. Blok while akan akan dieksekusi hanya jika pengujian relasional bernilai benar.
Contoh 5.1 :
Program berikut menampilkan kalimat “Belajar pemrograman C++” sebanyak lima kali pada layar.
#include < iostream.h >
void main()
{
int cacah=1;
while ( cacah <= 5 )
{ cout << “Belajar pemrograman C++” << endl;
cacah++; }
}
Keluaran programnya :
Belajar pemrograman C++
Belajar pemrograman C++
Belajar pemrograman C++
Belajar pemrograman C++
Belajar pemrograman C++
Variabel cacah di dalam blok while disebut sebagai variabel pencacah. Setiap kali melalui blok while, program menaikan cacah. Seperti kalau menghitung 1, 2, 3 dan seterusnya, cacah bernilai 1, 2, 3 dan seterusnya, sampai C++ menaikan cacah ke nilai akhir yaitu 5. Pada saat melangkah ke hitungan berikutnya pengujian menjadi salah yaitu pada saat cacah = 6 dan blok while berakhir.
Contoh 5.2 :
Berikut ini contoh program untuk meverifikasi masukan pemakai menggunakan while :
#include
void main()
{
int umur;
cout << "Berapa umur anda : ";
cin >> umur;
while ((umur < 5) || (umur > 80))
{
cout << "Saya tidak yakin umur anda " << umur << " tahun"
<< endl;
cout << "Ulangi kembali dengan benar..." << endl << endl;
cout << "Berapa umur anda : ";
cin >> umur;
}
if (umur < 17)
{
cout << "Anda belum boleh mengendarai mobil" << endl;
cout << "karena umur anda dibawah 17 tahun" << endl;
}
else
{
cout << "Anda boleh mengendarai mobil" << endl;
cout << "Hati-hatilah !!!" << endl;
}
}
Keluaran programnya :
Berapa umur anda : 3
Saya tidak yakin umur anda 3 tahun
Ulangi kembali dengan benar...
Berapa umur anda :
Lainnya :
Berapa umur anda : 10
Anda belum boleh mengendarai mobil
karena umur anda dibawah 17 tahun
lainnya :
Berapa umur anda : 18
Anda boleh mengendarai mobil
Hati-hatilah !!!
Lainnya :
Berapa umur anda : 120
Saya tidak yakin umur anda 120 tahun
Ulangi kembali dengan benar...
Berapa umur anda :
Pernyataan do-while
C++ mempunyai blok while lainnya yaitu do-while, yang pengujian relasionalnya muncul di akhir blok. Berikut adalah format do-while :
do
{
// satu atau lebih pernyataan C++
}
while ( ekspresi relasional );
do-while tidak menguji relasi hingga kalang dieksekusi satu siklus penuh. Setelah blok do-while dieksekusi sekali, pengujian relasional dites untuk melihat perlu tidaknya blok ini dieksekusi lagi atau diakhiri. Hanya setelah pengujian relasional menjadi salah maka program melanjutkan sisa program berikutnya jika masih ada.
Contoh 5.3 :
Berikut ini contoh penggunaan do-while untuk menampilkan “Belajar pemrograman C++” sebanyak 5 kali :
#include
void main()
{
int cacah=1;
do
{
cout << "Belajar pemrograman C++" << endl;
cacah++;
}
while ( cacah <= 5);
}
Keluaran programnya sama dengan contoh 5.1
Contoh 5.4 :
#include
void main()
{
int umur;
do
{
cout << "Berapa umur anda : ";
cin >> umur;
if ((umur < 5) || (umur > 80))
{
cout << "Saya tidak yakin umur anda " << umur << " tahun"
<< endl;
cout << "Ulangi kembali dengan benar..." << endl << endl;
}
}
while ((umur < 5) || (umur > 80));
if (umur < 17)
{
cout << "Anda belum boleh mengendarai mobil" << endl;
cout << "karena umur anda dibawah 17 tahun" << endl;
}
else
{
cout << "Anda boleh mengendarai mobil" << endl;
cout << "Hati-hatilah !!!" << endl;
}
}
Pada contoh program 5.4 penggunaan do-while memerlukan sebuah if tambahan yang tidak diperlukan seperti pada contoh program yang menggunakan while.
Pernyataan for
Pernyataan for tidaklah sulit untuk dipahami. Berikut ini adalah format dari loop for.
for ( ekspresi awal; kondisi; ekspresi pencacah)
{
// satu atau lebih pernyataan C++
}
Pada saat C++ menjumpai pernyataan for, ia akan mengikuti langkah-langkah berikut untuk melaksanakan loop :
1. Melaksanakan ekspresi awal, yang biasanya berupa pernyataan penugasan.
2. Menguji ekspresi kondisi dengan hasil salah atau benar.
3. Melaksanakan blok loop jika kondisi bernilai benar.
4. Melaksanakan ekspresi pencacah, yang biasanya berupa operasi penaikan atau penurunan.
5. Kembali ke langkah 2.
Sewaktu kondisi diuji dan didapatkan bernilai salah, C++ menghentikan loop dan program berlanjut ke pernyataan sesudah loop for jika masih ada.
Contoh 5.5 :
Program berikut akan menampilkan kalimat “Belajar pemrograman C++” sebanyak 5 kali menggunakan pernyataan for.
#include
void main()
{
for (int i=1; i<=5; i++)
{ cout << “Belajar pemrograman C++” << endl; }
}
Keluaran programnya sama dengan contoh 5.1
Loop for bukanlah loop yang bagus untuk melakukan validasi masukan, tetapi loop while baik untuk tujuan ini. Loop for cocok kalau anda tahu terlebih dahulu jumlah yang ingin anda eksekusi terhadap suatu loop. Pada loop for diatas, blok loop dieksekusi secara persis 5 kali dengan ekspresi di dalam pernyataan for mengontrol 5 pengeksekusian.
Jika kondisi bernilai salah di awal, sebagaimana pernyataan for berikut, blok loop tidak pernah dieksekusi :
for ( int i=15; i<=10; i++ )
{ cout << “cout ini tidak pernah dijalankan”; }
Saat loop ini dimulai, C++ menyimpan 15 ke i. Kondisi i<=10, bernilai salah sehingga C++ menghentikan loop dan melanjutkan program tepat sesudah loop tanpa pernah mengeksekusi blok loop.
Contoh 5.6 :
#include
void main()
{
int n;
float data, total=0, rata_rata;
cout << "Berapa banyak datanya : ";
cin >> n;
for ( int i=1; i<=n; i++ )
{
cout << "Data ke-" << i << " : ";
cin >> data;
total += data;
}
rata_rata=total/n;
cout.precision(2);
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout << endl << "Nilai rata-rata : " << rata_rata;
}
Satu hal menarik untuk diperhatikan adalah bahwa kurung loop for tidak harus seluruhnya berisi ketiga ungkapan. Sebagai contoh :
for ( bil=2; bil <= 10; bil += 2)
Dapat diubah menjadi :
bil=2;
for ( ; bil <= 10; )
{
// blok loop dimulai dari sini
bil += 2;
}
Menempatkan ekspresi keluar dari pernyataan for kadangkala dibenarkan, terutama kalau pemakai menginisialisasi nilai awal variabel pengontrol dengan cin, bukannya dengan inisialisasi melalui pernyataan. Walaupun demikian untuk kebanyakan pemakai loop for, tempatkan semua ekspresi di dalam kurung for, sehingga semua informasi pengontrol tersedia di dalam satu pernyataan.