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 ; }