Pernyataan Percabangan digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara sekian pernyataan yang ada. Untuk keperluan pengambilan keputusan, Borland C++ menyediakan beberapa perintah antara lain.
A. Pernyataan IF
Pernyataan if mempunyai pengertian, “ Jika kondisi bernilai benar, maka perintah akan dikerjakan dan jika tidak memenuhi syarat maka akan diabaikan”. Dari pengertian tersebut dapat dilihat dari diagramalir berikut:
Bentuk umum dari pernyataan if
if (kondisi)
pernyataan;
Penulisan kondisi berada di dalam tanda kurung kurawal jika pemakaian if diikuti dengan pernyataan majemuk, bentuk penulisannya sebagai berikut :
if (kondisi)
{
pernyataan;
……
}
Contoh :
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
float x,y;
clrscr( );
cout<<" Masukkan Nilai Positif atau Negatif "<<endl;
cout<<" Nilai X : ";cin>>x;
cout<<" Nilai Y : ";cin>>y;
if ((x >= 0 ) && (y>=0))
cout<<"X dan Y Bernilai POSITIF "<<endl;
getch( );
}
1.) Pernyataan IF - ELSE
Pernyataan if mempunyai pengertian, “Jika kondisi bernilai benar, maka perintah-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan perintah-2”. Dari pengertian tersebut dapat dilihat dari diagram alir berikut:
Bentuk umum dari pernyataan if-else :
if (kondisi)
perintah-1;
else
perintah-2;
Perintah-1 dan perintah-2 dapat berupa sebuah pernyataan tunggal, pernyataan majemuk atau pernyataan kosong. Jika pemakaian if-elsediikuti dengan pernyataan majemuk, bentuk penulisannya sebagai berikut:
if (kondisi)
{
perintah-1;
...
}
else
{
perintah-2;
...
}
Contoh :
Menentukan besarnya diskon dan bonus dari jumlah beli, dengan kriteria :
- jika jumlah beli > 15 maka diskon 5% dan bonusnya :payung
- selain itu tidak dapat diskon dan bonus
contoh :
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main( )
{
float jumbel,hrg;
char bonus[15];
float diskon;
clrscr( );
puts("");
cout<<" Harga Barang : " ; cin>> hrg;
cout << " Jumlah belinya : "; cin>> jumbel;
if(jumbel>=15)
{ diskon = 0.15 * hrg ;
strcpy(bonus, "PAYUNG");
}
else
{ diskon =0 ;
strcpy(bonus, "Tidak Dapat");
}
cout<<"\n----------------------------"<<endl;
cout<<" Diskonnya : "<<diskon<<endl;
cout<<" Bonusnya : "<<bonus<<endl;
getch();
}
2.) Pernyataan NESTED IF
Nested if merupakan pernyataan if berada didalam pernyataan if yang lainnya. Bentuk penulisan pernyataan Nested if adalah :
if(syarat)
{
if(syarat)
… perintah;
else
… perintah;
}
else
{
if(syarat)
… perintah;
else
… perintah;
}
Contoh :
Suatu perusahaan menjual pakaian dengan ketentuan sebagai berikut:
• Jika kode baju=1 maka Merk Baju = H&R, dengan ukuran baju=S,maka harganya 45000, Jika ukuran baju=M, maka harganya 60000, selain itu harganya = 0.
• Jika kode baju=2 maka Merk Baju = Adidas, dengan ukuran baju=S, maka harganya 65000, Jika ukuran Baju=M, maka harganya 75000, selain itu harganya = 0.
• Selain kode baju diatas, maka salah kode
Contoh :
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
char kode,ukuran,merk[15];
long harga=0;
clrscr( );
cout<<"Kode Baju : ";cin>>kode;
cout<<"Ukuran : ";cin>>ukuran;
if (kode = ='1')
{
strcpy(merk,"H & R");
if (ukuran= ='S' || ukuran = ='s')
harga=45000;
else if (ukuran= ='M' || ukuran = ='m')
harga=60000;
else
harga = 0;
}
else if (kode=='2')
{
strcpy(merk," Adidas");
if (ukuran=='S' || ukuran == 's')
harga=65000;
else if (ukuran= ='M' || ukuran = ='m')
harga=75000;
else
harga = 0;
}
else
cout<<”Salah Kode Baju”<<endl;
cout<<"------------------------"<<endl;
cout<<"Merk Baju : "<<merk<<endl;
cout<<"Harga Baju : "<<harga<<endl;
getch();
}
3. Pernyataan IF – ELSE Majemuk
Bentuk dari if-elsebertingkat sebenarnya serupa dengan nested if, keuntungan penggunaan if-elsebertingkat dibanding dengan nested ifadalah penggunaan bentuk penulisan yang lebih sederhana.
Bentuk Umum Penulisannya:
if (syarat)
{
… perintah;
… perintah;
}
else if (syarat)
{
… perintah;
… perintah;
}
else
{
… perintah;
… perintah;
}
Contoh
Suatu perusahaan memberikan komisi kepada para selesman dengan ketentuan sebagai berikut:
• Bila salesman dapat menjual barang hingga Rp. 200.000 ,- , akan diberikan uang jasa sebesar Rp. 10.000 ditambah dengan uang komisi Rp. 10% dari pendapatan yang diperoleh hari itu.
• Bila salesman dapat menjual barang diatas Rp. 200.000 ,- , akan diberikan
uang jasa sebesar Rp. 20.000 ditambah dengan uang komisi Rp. 15% dari pendapatan yang diperoleh hari itu.
• Bila salesman dapat menjual barang diatas Rp. 500.000 ,- , akan diberikan uang jasa sebesar Rp. 30.000 ditambah dengan uang komisi Rp. 20% dari pendapatan yang diperoleh hari itu.
Contoh :
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
float pendapatan, jasa=0, komisi=0, total=0;
clrscr( );
cout<<"Pendapatan Hari ini Rp. ";
cin>>pendapatan;
if (pendapatan >= 0 && pendapatan <= 200000)
{
jasa=10000;
komisi=0.1*pendapatan;
}
else if(pendaptan<=500000)
{
jasa=20000;
komisi=0.15*pendapatan;
}
else
{
jasa=30000;
komisi=0.2*pendapatan;
}
/* menghitung total */
total = komisi+jasa;
cout<<"Uang Jasa Rp. "<<jasa<<endl;
cout<<"Uang Komisi Rp. "<<komisi<<endl;
cout<<"============================="<<endl;
cout<<"Hasil Total Rp. "<<total<<endl;
getch( );
}
B. Pernyataan switch - case
Bentuk dari switch - case merupakan pernyataan yang dirancangan khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian. Pernyataan switch - caseini memiliki kegunaan sama seperti if – else bertingkat, tetapi penggunaannya untuk memeriksa data yang bertipe karakteratau integer. Bentuk penulisan perintah ini sebagai berikut:
switch (ekspresi integer atau karakter )
{
case konstanta-1 :
… perintah;
… perintah;
break;
case konstanta-2 :
… perintah;
… perintah;
break;
default :
… perintah;
… perintah;
}
Setiap pilihan akan dijalankan jika syarat nilai konstanta tersebut dipenuhi dan defaultakan dijalankan jika semua cabang diatasnya tidak terpenuhi. Pernyataan break menunjukan bahwa perintah siap keluar dari switch. Jika pernyataan ini tidak ada, maka program akan diteruskan ke pilihan-pilihan yang lainnya.
Contoh :
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
int kode;
clrscr( );
cout<<"Masukkan Kode Jurusan [11/12/13] : ";
cin>>kode;
switch(kode)
{
case 11 :
cout<<"Komputerisasi Akuntansi";
break;
case 12 :
cout<<"Manajemen Informatika";
break;
case 13 :
cout<<"Tehnik Komputer";
break;
default:
cout<<"Anda Salah Memasukan kode";
break;
}
getch( );
}
Contoh :
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
char kode;
clrscr( );
cout<<"Masukkan Kode Barang [A..C] : ";
cin>>kode;
switch(kode)
{
case 'A' :
case 'a' :
cout<<"Alat Olah Raga";
break;
case 'B' :
case 'b' :
cout<<"Alat Elelktronik";
break;
case 'C' :
case 'c' :
cout<<"Alat Masak";
break;
default:
cout<<"Anda Salah Memasukan kode";
break;
}
getch( );
}