Pernyataan IFELSE STATEMENT KENDALI
2008 | Direktorat Pembinaan SMK
185
Gambar 5.3. Diagram alir IF-ELSE Jika diuraikan dalam bentuk kalimat,
gambar diatas dapat ditulis menjadi sebuah pernyataan seperti dibawah
ini:
if kondisi
{ Pernyataan
1 }
else {
Pernyataan 2
} Seperti pada pernyataan IF
diatas, sebuah kondisi akan dilihat terlebih dahulu. Jika kondisi adalah
benar, maka sebuah blok yang berisi satu atau lebih pernyataan akan
dijalankan. Jika ekspresi adalah salah, maka pernyataan grup
berbeda yang akan dijalankan. Program dibawah merupakan contoh
penggunaan pernyataan bersama operator modulus untuk menentukan
apakah angka yang dihasilkan ganjil atau genap.
Program 5.6 include
conio.h include
iostream
using namespace std;
int
main Kondisi
Pernyataan 1
Pernyataan 2 Betul
salah
186
Direktorat Pembinaan SMK | 2008
{
int number; cout
masukan bilangan bulat dan saya akan memilahnya dengan IF\n
; cout
adalah ganjil atau genap.
; cin number;
if number
2 ==
cout number adalah genap.\n
;
else cout number
adalah ganjil.\n ;
getch; return
; }
Keluaran program adalah sebagai berikut: masukan
bilangan bulat dan saya akan memilahnya dengan IF adalah
ganjil atau genap. 17[Enter]
17 adalah ganjil
Bagian lain diakhir pernyataan IF akan menentukan pernyataan yang
akan dijalankan ketika kondisi yang ada tidak sesuai atau salah. Bila
angka 2 tidak sama 0, pesan yang dicetak menunjukkan angka ganjil.
Perlu diketahui bahwa program ini hanya akan mengambil salah satu
dari dua jalur pernyataan IFELSE.. Jika Anda berpikir tentang
pernyataan dalam program komputer, langkah-langkah yang diambil
berdasarkan pertimbangkan pernyataan IFELSE sebagai penentu
jalan. Bahkan kadang terjadi jalanya program memutar, seperti halnya
pada sebuah pernyataan IF, sedangkan pada pernyataan IFELSE
menyebabkan pelaksanaan program mengikuti salah satu dari dua jalur
yang tersedia.
Perhatikan gaya pemrograman yang digunakan untuk membangun
pernyataan IFELSE. Atau dengan kata lain adalah pada tingkat yang
sama seperti halnya perbedaan. Pernyataan eksekusi yang
dikendalikan oleh orang lain kadang berbeda satu tingkat.
Seperti halnya pada pernyataan IF, jika tidak menggunakan kotak
sebagai bagian kontrol sebuah pernyataan. Program diatas
menggambarkan hal tersebut ini. Ia juga memperlihatkan salah satu cara
untuk menangani sebuah masalah pemrograman yaitu pembagian oleh
nol.
Pembagian dengan nol sangat mustahil untuk dilakukan secara
matematis dan biasanya menyebabkan program crash. Hal Ini
berarti program akan terhenti sebelum waktunya, kadang-kadang
akan muncul dengan pesan kesalahan. Program diatas
menunjukkan salah satu cara untuk menguji nilai dari pembagi sebelum
dilakukan pembagian. Nilai num2 akan diuji sebelum pembagian
dilakukan. Jika pengguna memasukkan angka 0, maka baris
dikontrol oleh bagian IF ketika program dijalankan, menampilkan
2008 | Direktorat Pembinaan SMK
187
pesan yang menunjukkan program tidak dapat melakukan pembagian
nol. Jika tidak, bagian lain mengambil kontrol, dan kemudian membagi
num1 oleh num2 serta menampilkan hasilnya.
Salah satu aplikasi penggunaan IFELSE misalnya digunakan pada
suatu permasalahan untuk menentukan besarnya potongan dari
pembelian barang yang diberikan seorang pembeli, dengan kriteria
sebagai berikut:
jika total pembelian kurang dari Rp. 50.000,- potongan yang
diterima sebesar 5 dari total pembelian.
Jika total pembelian lebih dari atau
sama dengan Rp. 50.000,- potongan yang diterima sebesar
20 dari total pembelian.
Untuk lebih jelasnya perhatikan contoh program IFELSE dibawah ini:
Program 5.7 includestdio.h
includeconio.h includeiostream
using namespace std;
main {
double
tot_beli, potongan= ,
jum_bayar= ;
cout Total
Pembelian Rp. ;
cintot_beli;
if
tot_beli = 50000
potongan = 0.2
tot_beli;
else
potongan = 0.05
tot_beli; cout
Besarnya Potongan Rp.
potonganendl; jum_bayar = tot_beli ‐ potongan;
cout Jumlah
yang harus dibayarkan Rp. ,jum_bayar;
getch; return
; }
Program dibawah ini digunakan untuk menentukan sebuah operasi
pembagian yang menggunakan IFELSE , jika suatu bilangan dibagi
dengan nol maka program akan memberitahukan bahwa program
tidak bisa melakukan operasi.
188
Direktorat Pembinaan SMK | 2008
Program 5.8 include
conio.h include
iostream
using namespace std;
int
main {
double
num1, num2, quotient; cout
Masukan Angka:
; cin
num1; cout
Masukan Angka Lain:
; cin
num2;
if
num2 == {
cout Pembagian
oleh 0 tidak mungkin dilakukan.\n ;
cout silakan
masukan angka lagi, ;
cout Angka
lain yang lebih besar daripada 0.\n ;
}
else
{ quotient
= num1 num2; cout
The quotient of
num1 divided by
; cout
num2 is
quotient .\n
; }
getch;
return ;
} Keluaran program setelh diberi masukan adalah sebagai berikut:
Masukan
Angka: 10[Enter]
Masukan
Angka Lain: 0[Enter]
Pembagian oleh 0 tidak mungkin dilakukan.
silakan masukan angka lagi, Angka lain yang lebih besar daripada 0