Untuk Kali ini saya akan share mengenai Statement Control C++, Oke Langsung aja
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 <iostream.h>
#include <conio.h>
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 <iostream.h>
#include <conio.h>
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 <iostream.h>
#include <conio.h>
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 <iostream.h>
#include <conio.h>
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.
Penggunaannya 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++;
}
Penting!!!
Jika Anda menggunakan
WHILE, pastikan bahwa
suatu saat bagian
kondisi sampai bernilai FALSE.
Apabila tidak, proses
perulangan akan terus
berjalan selamanya.
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 <iostream.h>
#include <conio.h>
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.
Tidak ada komentar:
Posting Komentar