Statement IF
5.3. Statement IF
Anda mungkin berpikir mengenai hingga dapat mencapai tujuan. pernyataan dalam program Program-program yang ditulis ini procedural seperti langkah-langkah adalah seperti halnya sebuah "jalan" yang diambil sebagai individu. Untuk
dimana pelaksanaannya harus diikuti. mencapai tujuan tersebut , maka Perhatikan langkah program dibawah harus dimulai dari awal dan mengikuti
ini:
setiap langkah, satu setelah yang lain
Direktorat Pembinaan SMK | 2008
Statement Kendali Bahasa Pemrorgraman
#include <iostream>
using namespace std;
int main()
{ double panjang, lebar, luas;
cout << "masukan
panjang segiempat: " ;
cin >> panjang;
cout << "Masukan lebar segiempat: " ;
cin >> lebar; luas = panjang * lebar;
cout << "Luasnya: " << luas << endl;
return 0;
Gambar 5.1. Langkah-langkah program
Seperti ditunjukkan dalam beberapa pernyataan hanya dalam Gambar diatas, pelaksanaan kondisi tertentu?. program mengalir secara berurutan
Hal yang dapat dicapai dengan dari satu pernyataan ke pernyataan pernyataan IF, seperti digambarkan berikutnya. Jenis program ini sering oleh Program dibawah ini. Pengguna disebut-garis lurus karena program memasukan tiga nilai ujian dan yang dijalankan dalam pernyataan program menghitung rata-rata nilai yang lurus "baris," tanpa simpangan
tersebut. Jika rata-rata lebih besar kearah yang lain. Apakah hal dari 95, program memberikan tersebut tidak akan berguna, jika selamat pada pengguna sebuah program dapat memiliki lebih
mendapatkan nilai tinggi tersebut. dari satu "jalur atau arah" Untuk lebih jelasnya perhatikan pelaksanaan? Bagaimana jika program untuk mencari rata-rata sebuah program dapat menjalankan pada tiga nilai masukan dibawah:
Program 5.2 #include <iostream> #include <iomanip>
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Statement Kendali
using namespace std;
int main() { int score1, score2, score3; double average;
cout << "Masukan 3 nilai Ujian dan saya akan mencari rata‐ratanya: " ; cin >> score1 >> score2 >> score3;
average = (score1 + score2 + score3) / 3.0 ;
cout << fixed << showpoint << setprecision( 1 );
cout << "Rata ‐rata Nilai Anda Adalah" << average << endl; if (average == 100 ) { cout << "Selamat….! " ; cout << "Nilai Anda Sempurna!\n" ; }
return 0 ; }
Keluaran program diatas adalah sebagai berikut: Masukan 3 nilai Ujian dan saya akan mencari rata‐ratanya: 80 90 70[Enter]
Rata ‐rata Nilai Anda Adalah 80.0
Keluaran program diatas adalah sebagai berikut: Masukan 3 nilai Ujian dan saya akan mencari rata‐ratanya: 100 100 100[Enter] Rata ‐rata Nilai Anda Adalah 100.0
Selamat….! Nilai Anda Sempurna!
Jika dalam program tersebut pada potongan program seperti dibawah ini:
if (average == 100 ) {
cout << "Selamat….! " ; cout << "Nilai Anda Sempurna!\n" ;
Maka potongan program tersebut tanpa ada ucapan selamat atau " diatas akan menampilkan data tulisan
Selamat….! ". Gambar dibawah ini "selamat….! "….., jika data yang menunjukkan bentuk pernyataan dimasukan sama dengan seratus. yang digunakan pada pernyataan IF Jika tidak maka hanya akan dan flowchart visual dapat dijelaskan menampilkan rata-rata nilainya saja cara kerjanya sebagai berikut:
Direktorat Pembinaan SMK | 2008
Statement Kendali Bahasa Pemrorgraman
salah
Kondisi
Betul
Pernyataan
Gambar 5.2. Diagram alir pernyataan IF
Dari gambar tersebut diatas pernyataan IF dapat ditulis sebagai berikut:
if (ekspresi) {
Pernyataan 1; Pernyataan 2; . . Pernyataan n;
Pernyataan IF adalah sangat dibawah kondisi yang sama dengan sederhana cara kerjanya. Jika rata-rata 100. ekspresi didalam tanda kurung yang
Misalnya kalau diuraikan dalam benar, maka pernyataan didalam sebuah pernyataan dalm keseharian braces (kotak) yang akan dijalankan,
adalah sebagai berikut: Jika bensin jika tidak, maka mereka diabaikan. mobil sudah hampir habis, maka Blok pernyataan ini adalah berhenti dipompa bensin untuk merupakan conditionally executed mengisi bensin. karena pernyataan hanya dijalankan Jika diluar hujan, pergi kedalam didalam kondisi yang diekspresikan
rumah.
dalam tanda kurung yang benar. Jika Anda lapar, carilah sesuatu Program diatas menggambarkan
untuk dimakan.
sebuah pernyataan IF. Dalam Jika blok pernyataan pernyataan cout hanya dilaksanakan
conditionally executed hanya satu
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Statement Kendali
pernyataan, maka braces dapat digabungkan menjadi satu diabaikan. Misalnya, dalam Program
pernyataan, mereka dapat menulis diatas, jika dua pernyataan cout yang
seperti yang ditunjukkan di sini.
if (average == 100) cout << "selamat ! Nilai anda Sempurna!\n";
Perintah IF yang menyatakan Statement pada sintaks di atas pernyataan kondisional (bersyarat) akan dilakukan jika kondisinya dapat ditulis sintaks sederhana IF bernilai TRUE (tidak sama dengan adalah
nol). Apabila statement yang akan dilakukan lebih dari satu, maka
if (kondisi) statement; sintaksnya menjadi seperti dibawah ini:
if (kondisi) {
statement1; statement2; ..
Contoh sederhana penggunaan menonton jika usianya 17 tahun ke IF adalah untuk menentukan boleh atas. Perhatikan contoh program C++ tidaknya seseorang melihat film berikut ini: bioskop. Seseorang diperbolehkan
Program 5.3 #include <iostream.h> #include <conio.h>
using namespace std;
int main() {
int usia; cout << "Berapa usia Anda : " ; cin >> usia;
if (usia < 17 ) cout << "Anda tidak boleh menonton bioskop" ; getch(); return 0 ; }
Direktorat Pembinaan SMK | 2008
Statement Kendali Bahasa Pemrorgraman
Keluaran program diatas adalah: Berapa usia Anda : 9 Anda tidak boleh menonton bioskop
Statement IF juga dapat tidak dipenuhi (FALSE). Untuk lebih ditambahkan ELSE sebagai jelasnya perhatikan sintaks program konsekuensi alternatif jika kondisi dibawah ini:
if (kondisi) {
statement1; statement2; ..}
else { statement1; statement2;
Anda dapat pula memodifikasi boleh tidaknya seseorang menonton program C++ untuk menentukan bioskop seperti program dibawah ini:
Program 5.4 #include <iostream.h> #include <conio.h>
using namespace std;
int main() {
int usia; cout << "Berapa usia Anda : " ; cin >> usia;
if (usia < 17 ) cout << "Anda tidak boleh menonton bioskop" ; else cout << "Anda boleh menonton bioskop" ;
getch(); return 0; }
Keluaran programnya adalah sebagai berikut: Berapa usia Anda : 16
Anda tidak boleh menonton bioskop
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Statement Kendali
Untuk menyatakan kondisi atau
syarat, akan dicek pada IF, Anda dapat menggunakan operator logika Dan juga tidak boleh seperti ini: dan operator relasional seperti yang
if ((a >= 2) && (b = 3)) telah dijelaskan sebelumnya.
Perhatikan contoh penulisan program
dibawah ini:
if ((a >= 2) && (b == 3)) Perintah b = 3 merupakan
{ assignment bukan relasional. C++ …. selalu memperlakukan nilai tidak } sama dengan nol sebagai TRUE atau benar dan nilai nol sama dengan
Jangan dituliskan seperti ini: FALSE atau nilai salah. Oleh karena if (a >= 2) && (b == 3)
itu, dua perintah dibawah ini adalah { identik. Perhatikan potongan program …. dibawah ini:
if (bil % 2 != 0) cout << “Bilangan ganjil”; if (bil % 2) cout << “Bilangan ganjil”
Selain itu, IF juga dapat berbentuk seperti program dibawah ini:
if (kondisi1) statement1;
else if (kondisi2) statement2; else if (kondisi3) statement3; . .
else statement;
IF dapat juga menggunakan tergantung hasil pembandingannya. operator pembanding (comparison
Penulisan Instruksi atau sintaknya operators) untuk mengeksekusi suatu
adalah sebagai berikut: pilihan dari 2 pilihan yang ada,
if (Kondisi) {
Direktorat Pembinaan SMK | 2008
Statement Kendali Bahasa Pemrorgraman
Perintah yang akan dieksekusi jika kondisi bernilai true }
else {
Perintah yang akan dieksekusi jika kondisi bernilai false }
Kondisi menunjukkan berbagai yang berupa perbandingan antara tipe statement atau fungsi yang variabel dengan nilai, variabel lain menghasilkan nilai benar atau salah.
atau fungsi. Perhatikan potongan Berikut ini diberikan contoh kondisi program dibawah ini:
if (x > 5) { y = 10; }
if (x > y) { y = x; }
if (x > val(angka)) { y = 20; }
Suatu ketika akan ditemui pula dari satu kondisi. Untuk itu digunakan penggunaan instruksi IF .. THEN
tambahan blok IF..THEN..ELSE IF statements, dimana isntruksi ini statements. Perhatikan contoh digunakan untuk mengevaluasi lebih
program dibawah ini:
if (x < 5) cout<<“Nilai x kurang dari 5”; else if (x < 10) cout<<“Nilai X antara 5 dan 9”; else cout<<“Nilai x lebih dari 9”;
Jika suatu kondisi tergantung pada percabangan bersarang (nested If kondisi lain yang sudah bernilai true
statements). Perhatikan contoh (seperti if hari = senin dan if jam =
berikut ini:
6.30 ) maka harus digunakan
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Statement Kendali
if (hari = senin) { if (jam = 6.30) {
Untuk lebih jelasnya mengenai Tidak ada potongan jika total pernyataan IF, perhatikan sebuah
pembelian kurang Rp. 50.000,- kasus yang digunakan untuk Jika total pembelian lebih dari atau menentukan besarnya potongan dari
sama dengan Rp. 50.000,- pembelian barang yang diberikan
potongan yang diterima sebesar seorang pembeli, dimana kasus
20% dari total pembelian. tersebut mempunyai kriteria sebagai Perhatikan Program yang berikut:
menggunakan pernyataan IF.
Program 5.5 #include<stdio.h>
#include<conio.h> #include<iostream>
using namespace std;
main() {
double tot_beli, potongan= 0 , jum_bayar= 0 ;
cout<< "Total Pembelian Rp. " ; cin>>tot_beli; if (tot_beli >= 50000 )
potongan = 0.2 * tot_beli;
cout<< "Besarnya Potongan Rp. " ; jum_bayar = tot_beli ‐ potongan; cout<< "Jumlah yang harus dibayarkan Rp. " ,jum_bayar; getch(); return 0 ; }