Modul 5 C++
Modul 5 C++
Pola :
while(kondisi){
pernyataan;
…
}
Contoh Program :
#include <iostream>
using namespace std;
int main()
{
int hitung = 1;
while (hitung <= 10)
cout<<hitung++<<endl;
return 0;
}
Contoh Program :
#include<iostream>
using namespace std;
int main()
{
int i=1;
while(i<=3)
{
int j=1;
while(j<=i)
{
cout<<j;
j++;
}
cout<<endl;
i++;
}
}
Contoh Program :
#include<iostream>
using namespace std;
int main()
{
int i=1;
while(i<=3)
{
int j=1;
while(j<=i)
{
cout<<i;
j++;
}
cout<<endl;
i++;
}
}
b. Do-while
Do-while pertama kali akan mengeksekusi pernyataannya terlebih dahulu, setelah itu baru
akan memeriksa conditional expression.
Pola :
do{
pernyataan;
…
}while(kondisi);
Contoh program :
#include <iostream>
using namespace std;
int main()
{
int pilihan = 1;
do{
cout<<"Masukan angka : ";cin>>pilihan;
}while(pilihan<=10);
return 0;
}
c. For
Secara garis besar pernyataan FOR dan WHILE memiliki fungsi dan kerja yang mirip
tapi. Jika dalam pernyataan WHILE dibutuhkan satu ekspresi sebagai conditional
expression yang bertugas untuk penentu jalanya pengulangan. Dan hal tersebut adalah
perbedaan antara FOR dan WHILE. FOR adalah pernyataan pengulangan yang
dikhususkan untuk pengulangan yang secara tepat mengetahui berapa kali pengulangan
akan terjadi.
Pola :
for (init-statement; condition-expression; end-expression){
Pernyataan;
}
Untuk membuat pernyataan FOR dibutuhkan keyword “for” untuk memulainya, diikuti dengan 3
ekspresi di dalam tanda kurung. Setiap ekspresi dipisahkan dengan tanda titik koma ( ; ). Ketiga
ekspresi tersebut digunakan untuk penentu jalanya pengulangan, masing-masing memiliki peran
yang berbeda.
init-statement umumnya adalah tempat dimana sebuah variabel didirikan dan diinisialisasi.
Karena tempat itu adalah tempat yang akan dievaluasi satu kali ketika pernyataan FOR dimulai.
condition-expression adalah sebuah ekspresi penentu jalanya pengulangan, yang merupakan
bilangan Boolean atau operasi yang menghasilkan bilangan Boolean. Jika ekspresi bernilai 1
(true) maka pengulangan akan terjadi tapi jika bernilai 0 (false) maka pengulangan akan berhenti
atau pengulangan for akan diabaikan.
end-expression adalah tempat dimana sebuah operasi penaikan atau penurunan dari variabel pada
init-statement. Setelah pernyataan di badan pengulangan for dilakukan maka end-expression
akan dievaluasi.
Contoh program :
#include <iostream>
using namespace std;
int main()
{
int sampai = 0;
cout<<"Lakukan penghitungan sampai : ";
cin>>sampai;
for(int i=1;i<=sampai;i++){
cout<<i<<endl;
}
return 0;
}
int main ()
{
int jumlah=0;
cout<<"Jumlah : ";cin>>jumlah;
for(int i = 1; i<=jumlah; i++){
if (i > 50) break;
cout<<i<<endl;
}
return 0;
}
int main ()
{
int jumlah=0;
cout<<"Jumlah : ";cin>>jumlah;
switch(jumlah){
case 1 :
cout<<"Nomor tersedia.";
break ;
case 2:
cout<<"Nomor tersedia.";
break;
default :
cout<<"Nomor tidak tersedia.";
break;
}
return 0;
}
b. Continue
Pernyataan CONTINUE sangat berguna jika kita ingin mengakhiri perulangan pada saat itu dan
melanjutkan ke perulangan selanjutnya. Pada saat CPU bertemu dengan pernyataan CONTINUE,
CPU akan meloncat mengabaikan pernyataan-pernyataan yang ada di bawah pernyataan
CONTINUE menuju ke akhir baris dari pernyataan perulangan, dengan hal itu perulangan
selanjutnya akan segera dimulai.
Contoh program :
#include <iostream>
using namespace std;
int main ()
{
int jumlah=0;
cout<<"Jumlah : ";
cin>>jumlah;
for (int i = 1; i <= jumlah; i++){//Perulangan dimulai
if ((i % 2)==0) continue; //jika tereksekusi CPU akan meloncat
cout<<i<<endl; //pernyataan ini akan diabaikan
//CPU akan mendarat di sini
}
return 0;
}
Setelah penjelasan di atas memang CONTINUE adalah pernyataan yang sangat berguna, tapi
hati-hati dalam menggunakanya, Perhatikan aliran program yang sedang anda buat, jika tidak
anda bisa membuat suatu program yang sulit untuk dipahami dan anda juga bisa membuat
program yang gagal berfungsi.
Salah satu kasus adalah anda bisa membuat sebuah program dengan pengulangan tak terhinga
seperti di bawah ini.
Contoh Program :
#include <iostream>
using namespace std;
int main ()
{
int jumlah=0;
cout<<"Jumlah : ";cin>>jumlah;
int i = 1;
while(i <= jumlah){
if ( i == 5) continue;
cout<<i<<endl;
i++;
}
return 0;
}
Di atas adalah program contoh dari kesalahan penggunaan pernyataan CONTINUE, program di
atas mempunyai maksud untuk menampilkan penghitungan 1 ke angka yang dimasukan oleh
pengguna, dengan melewati angka 5.
Tapi hasil dari program di atas akan memiliki perulangan yang tak terhinga, program di atas jika
dijalankan terlihat berhenti dan tidak berakhir. Hal itu karena pernyataan CONTINUE diletakan
sebelum penaikan nilai variabel yang digunakan untuk conditional expression oleh pernyataan
pengulangan. Hal tersebut akan menyebabkan pernyataan penaikan variabel akan diabaikan.
Ketika variabel “i” bernilai 5 CPU akan mengeksekusi pernyataan CONTINUE, melompat dan
mengabaikan penaikan variabel tersebut. di saat evaluasi pernyataan pengulangan, variabel “i”
akan bernilai 5 karena pernyataan penaikan variabel tersebut di abaikan. Karena hal itu CPU
akan kembali lagi untuk mengeksekusi pernyataan CONTINUE. Dan hal itu akan terjadi
berulang-ulang tanpa henti.
Di bawah ini adalah contoh peulisan program yang benar untuk menghindari hal tersebut.
Contoh Program :
#include <iostream>
using namespace std;
int main ()
{
int jumlah=0;
cout<<"Jumlah : ";cin>>jumlah;
int i = 1;
while(i <= jumlah){
if ( i == 5) {
i++;
continue;
}
cout<<i<<endl;
i++;
}
return 0;
}
int main ()
{
int jumlah=0;
cout<<"Jumlah : ";cin>>jumlah;
int i = 1;
do{
if ( i == 5) continue;
cout<<i<<endl;
}while(++i <= jumlah);
return 0;
}