PEMROGRAMAN C++ Part 5
STATEMENT CONTROL
A. Statement IF
Seperti
halnya Pascal, perintah IF dalam C++ juga digunakan untuk menyatakan pernyataan
kondisional (bersyarat).
Sintaks
sederhana IF adalah
if
(kondisi)
statement;
Statement
pada sintaks di atas akan dilakukan jika kondisinya bernilai TRUE (tidak sama
dengan nol). Apabila statement yang akan dilakukan lebih dari satu, maka
sintaksnya menjadi
if
(kondisi)
{
statement1;
statement2;
.
.
}
Contoh
sederhana penggunaan IF adalah untuk menentukan boleh tidaknya seseorang
melihat film bioskop. Seseorang diperbolehkan menonton jika usianya
17
tahun ke atas. Berikut ini program C++ nya:
#include
#include
void
main()
{
int
usia;
clrscr();
cout
<< “Berapa usia Anda : “;
cin
>> usia;
if
(usia < 17)
cout
<< “Anda tidak boleh menonton bioskop”;
}
Statement
IF juga dapat ditambahkan ELSE sebagai konsekuensi alternatif jika kondisi
tidak dipenuhi (FALSE). Sintaksnya:
if
(kondisi)
{
statement1;
statement2;
.
}
else
{
statement1;
statement2;
}
Anda
dapat modifikasi program C++ untuk menentukan boleh tidaknya seseorang menonton
bioskop seperti di bawah ini:
#include
#include
void
main()
{
int
usia;
clrscr();
cout
<< “Berapa usia Anda : “;
cin
>> usia;
if
(usia < 17)
cout
<< “Anda tidak boleh menonton bioskop”;
else
cout << “Anda boleh menonton bioskop”;
}
Untuk
menyatakan kondisi (syarat) yang akan
dicek pada IF, Anda dapat menggunakan operator
logika dan operator
relasional seperti yang
telah dijelaskan
pada bab sebelumnya. Perhatikan contoh di bawah ini!
if
((a >= 2) && (b == 3))
{
.
}
Jangan
Anda tuliskan
if
(a >= 2) && (b == 3)
{
.
.
}
atau
if
((a >= 2) && (b = 3))
{
.
}
Perintah
b = 3 merupakan assignment bukan relasional.
Catatan
penting:
C++
selalu memperlakukan nilai tidak sama dengan nol sebagai TRUE dan nilai nol
sama dengan FALSE. Oleh karena itu, dua perintah di bawah ini adalah
identik.
if
(bil % 2 != 0)
cout
<< “Bilangan ganjil”;
if
(bil % 2)
cout
<< “Bilangan ganjil”
Selain
itu, IF juga dapat berbentuk seperti di bawah ini.
if
(kondisi1)
statement1;
else
if (kondisi2)
statement2;
else
if (kondisi3)
statement3;
.
.
else
statement;
B. Statement
SWITCH
Statement
SWITCH juga berfungsi sama dengan IF. Perintah SWITCH sama dengan
perintah CASE OF dalam PASCAL.
Sintaks:
switch
(variabel)
{
case
value1 : statement1;
break;
case
value2 : statement2;
break;
.
.
default : statement; /* optional */
break;
}
contoh
penggunaan:
#include
#include
void
main()
{
int bil;
clrscr();
cout << “Masukkan bilangan : “;
cin >> bil
switch (bil)
{
case 1 : cout << “Anda memasukkan bil.
satu”;
break;
case 2 : cout << “Anda memasukkan bil.
dua”;
break;
case 3 : cout << “Anda memasukkan bil.
tiga”;
break;
default: cout << “Anda memasukkan bil
selain 1, 2, dan 3”;
break;
}
}
Selanjutnya
coba kalian hapus semua break program di atas dan kalian jalankan. Apa
yang terjadi?? Keanehan akan muncul. Why ??
C. Statement FOR
Statement
FOR digunakan untuk menyatakan perulangan (seperti PASCAL).
Sintaksnya:
for
(ungkapan1; ungkapan2; ungkapan3)
{
.
.
}
-
Ungkapan1 merupakan statement awal (inisialisasi)
-
Ungkapan2 merupakan kondisi/syarat perulangan dilakukan
-
Ungkapan3 merupakan statement control untuk perulangan
Contoh:
for
(a = 1; a <= 5; a++)
{
cout
<< “Hello world \n”;
}
NB:
tipe data variabel a adalah integer
Perintah
di atas akan menampilkan teks Hello World sebanyak 5 buah. Perhatikan
tanda
a++. Apa maksudnya? Selain
berupa angka, pencacah perulangan juga dapat berupa karakter. Contoh
for
(huruf = ‘Z’; huruf >= ‘A’; huruf--)
{
cout
<< “Huruf abjad= “ << huruf << “\n”;
}
Perintah
di atas akan menampilkan teks Huruf abjad = ... mulai dari Z sampai dengan
A. Perhatikan perintah huruf--
for (angka = 1; angka <= 6; angka+=2)
{
cout
<< “Isi dari angka = “ << angka << endl;
}
Perintah
di atas akan menampilkan angka 1, 3, 5. Kok bisa? Perhatikan perintah angka+=2.
Di
bawah ini adalah program untuk mencetak bilangan genap yang kurang dari n (n
diperoleh dari input).
#include
#include
void
main()
{
int
bil, n;
cout
<< “Masukkan n = “;
cin
>> n;
for
(bil = 0; bil < n; bil++)
{
if
(bil % 2 == 0) cout << bil << “ ”;
}
}
D.
Statement WHILE
Statement
WHILE juga digunakan untuk menyatakan perulangan. Penggunaan-nya mirip pada
PASCAL. Sintaksnya:
while
(kondisi)
{
.
.
}
contoh:
Dua
perintah di bawah ini adalah identik.
for
(a = 1; a <= 5; a++)
{
cout
<< “Hello world \n”;
}
dengan
a
= 1;
while
(a <= 5)
{
cout
<< “Hello world \n”;
a++;
}
Contoh
program di bawah ini digunakan untuk menjumlahkan sejumlah data angka.
Angka yang akan dijumlahkan diinputkan satu-persatu. Proses pemasukan data
angka akan berhenti ketika dimasukkan angka –1. Setelah itu tampil hasil penjumlahannya.
#include
#include
void
main()
{
int
data, jumlah,cacah;
jumlah
= 0;
data
= 0;
cacah
= 0;
while
(data != -1)
{
cout
<< “Masukkan data angka : “;
cin
>> data;
jumlah
+= data;
cacah++;
}
cout
<< “Jumlah data adalah : “ << jumlah” << endl;
cout
<< “Rata-rata : ” << jumlah/cacah;
}
Kondisi
dalam WHILE juga dapat menggunakan operator logika. Misalnya
while
((kondisi1) && (kondisi2))
{
.
.
}
E. Statement
DO ... WHILE
Perintah
DO ... WHILE hampir sama dengan WHILE sebelumnya. Sintaknya:
do
{
.
.
}
while
(kondisi);
Perbedaan
dengan WHILE sebelumnya yaitu bahwa pada DO WHILE statement perulangannya
dilakukan terlebih dahulu baru kemudian di
cek kondisinya. Sedangkan
WHILE kondisi dicek dulu baru kemudia statement perulangannya dijalankan.
Akibat dari hal ini adalah dalam DO WHILE minimal terdapat 1x perulangan.
Sedangkan WHILE dimungkinkan perulangan tidak pernah terjadi yaitu
ketika kondisinya langsung bernilai FALSE.
Contoh:
a
= 1;
do
{
cout
<< “Hello world \n”;
a++;
}
while(a==0)
Perintah
di atas akan muncul satu buah Hello World. Bandingkan dengan yang berikut
ini:
a
= 1;
while(a==0)
{
cout
<< “Hello world \n”;
a++;
}
Perintah
di atas sama sekali tidak menampilkan Hello World, karena kondisinya langsung
FALSE.
Sumber : E-book PEMROGRAMAN C++ by Rosihan Ari Yuana, S.Si, M.Kom
arie@uns.ac.id
Komentar
Posting Komentar