Struktur percabangan digunakan
untuk memecahkan masalah yang mempunyai pernyataan yang banyak dan mengambil
keputusan di antara banyaknya pernyataan yang ada. Dengan adanya sruktur
percabangan ini kita dapat menyeleksi antara
pernyataan satu dengan pernyataan lain dan mengambil keputusan dalam
menyelesaikan suatu masalah dalam pemrograman.
Dalam borland C++ tersedia
beberapa percabangan yang umum digunakan antara lain IF dan Switch.
Untuk pernyataan IF terdapat
beberapa macam bentuknya yaitu pernyataan IF,IF-ELSE,NESTED-IF dan IF-ELSE Majemuk,berikut penjelasannya.
A.
Percabangan IF
1.Pernyataan
If
Pengertian dari pernyataan if
adalah jika kondisi bernilai benar maka pernyataan akan dikerjakan dan jika
kondisi bernilai salah maka diabaikan.
Dari arti If
tersebut bila digambarkan dalam diagram alir (flowchart) seperti berikut ini :
Bentuk
penulisan:
if (kondisi)
{
...pernyataan;
}
Contoh Program Sederhana IF:
#include <iostream>
using namespace std;
int main()
{
int bil;
cout<<"Input Sebuah Bilangan :";
cin>>bil;
if
(bil%2==0)
{
cout<<"Bilangan
" <<bil<< " Adalah Bilangan Genap";
}
else
{
cout<<"Bilangan
" <<bil<< " Adalah Bilangan Ganjil";
}
}
Outputnya
:
2.Pernyataan
Else-If
Pergertian dari pernyataan else-if
adalah jika kondisi bernilai benar maka pernyataan-1 akan dikerjakan dan
jika kondisi bernilai salah maka
pernyataan-2 akan dikerjakan.
Dari arti else-if
tersebut bila digambarkan dalam diagram alir (flowchart) seperti berikut ini :
Bentuk penulisan :
if
(kondisi)
{
...pernyataan-1;
}
else
{
...pernyataan-2;
}
Contoh Program Sederhana ELSE-IF:
#include
<iostream>
using
namespace std;
int
main ()
{
float a,b,c,d;
cout<<"1.Persegi Panjang"<<endl<<"2.Luas
Segitiga"<<endl<<endl;
cout<<"Apakah Anda Ingin Mencari
Luas :";
cin>>a;
if(a==1)
{
cout<<"Input
Panjang:";
cin>>b;
cout<<"Input Lebar:";
cin>>c;
d=b*c;
cout<<endl<<"Luas
Persegi "<<b<<"X"<<c<<" Adalah
"<<d;
}
else if (a==2)
{
cout<<"Input Alas:";
cin>>b;
cout<<"Input Tinggi:";
cin>>c;
d=b*c/2;
cout<<endl<<"Luas
Segitiga "<<b<<"X"<<c<<" Adalah
"<<d;
}
else
{
cout<<"Error!!!!";
}
}
Outputnya
:
3.Pernyataan
Nested-If
Pergertian dari pernyataan
nested if adalah pernyataan if berada di dalam pernyataan if yang lainnya.
Dari arti
Nested-If tersebut bila digambarkan dalam diagram alir (flowchart) seperti
berikut ini :
Bentuk penulisan :
if (syarat)
{
if (syarat)
...perintah;
else
...perintah
}
else
{
if (syarat)
...perintah;
else
...perintah;
}
Contoh Program Sederhana NESTED-IF:
#include <iostream>
#include <math.h>
using namespace std;
int main ()
{
float a,b,c,d,e;
cout<<"PILIHAN
PERHITUNGAN"<<endl<<endl;
cout<<"1.Volume"<<endl;
cout<<"2.Luas
Permukaan"<<endl<<endl;
cout<<"Apakah Anda Ingin Menghitung
:";
cin>>a;
if(a==1)
{
cout<<"1.Kubus"<<endl;
cout<<"2.Balok"<<endl;
cout<<endl<<"Apakah
Anda Ingin Menghitung Volume :";
cin>>b;
if(b==1)
{
cout<<endl<<"Input
Sisi:";
cin>>c;
e=c*c*c;
cout<<endl<<"Volume
Kubus Dengan Sisi "<<c<<" Adalah "<<e;
}
else
if (b==2)
{
cout<<"Input
Panjang:";
cin>>b;
cout<<"Input
Lebar:";
cin>>c;
cout<<"Input
Tinggi:";
cin>>d;
e=b*c*d;
cout<<endl<<"Volume
Balok "<<b<<" X "<<c<<" X
"<<d<<" Adalah "<<e;
}
else
{
cout<<"Error!!!!";
}
}
else if (a==2)
{
cout<<"1.Kubus"<<endl;
cout<<"2.Balok"<<endl;
cout<<endl<<"Apakah
Anda Ingin Menghitung Luas Permukaan :";
cin>>b;
if(b==1)
{
cout<<endl<<"Input
Sisi:";
cin>>c;
e=6*c*c;
cout<<endl<<"Luas
Permukaan Kubus Dengan Sisi "<<c<<" Adalah
"<<e;
}
else
if (b==2)
{
cout<<"Input
Panjang:";
cin>>b;
cout<<"Input
Lebar:";
cin>>c;
cout<<"Input
Tinggi:";
cin>>d;
e=2*b+2*c+2*d;
cout<<endl<<"Luas
Permukaan Balok "<<b<<" X "<<c<<" X
"<<d<<" Adalah "<<e;
}
else
{
cout<<"Error!!!!";
}
}
else
{
cout<<"Error!!!!";
}
}
Outputnya :
B. Percabangan SWITCH
A.Pernyataan
Switch-Case
Pernyataan switch-case merupakan pernyataan yang dirancang khusus untuk
menangani pengambilan keputusan yang melibatkan banyaknya alternatif dalam
suatu masalah. Kegunaan switch-case sebagai pengganti if-else majemuk yang
apabila dalam suatu masalah if-else majemuk tidak dapat menangani maka diganti
dengan switch-case. Sederhananya jika if-else majemuk tidak dapat menyelesaikan
masalah yang banyak alternatif maka kita menggunakan switch-case untuk
menyelesaikannya.
Penggunaan khusus switch-case
sebenarnya adalah untuk memeriksa data yang bertipe integer atau karakter.
Dari arti
If-Else tersebut bila digambarkan dalam diagram alir (flowchart) seperti
berikut ini :
Bentuk Penulisan :
switch (ekpresi)
{
case konstanta-1:
...perintah;
...perintah;
break;
case konstanta-2:
...perintah;
...perintah;
break;
default :
...perintah;
...perintah;
}
Contoh Program Sederhana SWITCH:
#include
<iostream>
#include
<math.h>
using
namespace std;
int
main ()
{
int a;
cout<<"KONVERSI NAMA HARI KE
NAMA HARI ISLAM"<<endl<<endl;
cout<<"1.Senin"<<endl;
cout<<"2.Selasa"<<endl;
cout<<"3.Rabu"<<endl;
cout<<"4.Kamis"<<endl;
cout<<"5.Jumat"<<endl;
cout<<"6.Sabtu"<<endl;
cout<<"7.Minggu"<<endl;
cout<<endl<<"Masukan
Pilihan Yang Akan Dikonversikan :";
cin>>a;
switch (a)
{
case 1 :
cout<<endl<<"Senin >> Al-Itsnayn"<<endl;
break;
case 2 :
cout<<endl<<"Selasa >> Ats-Tsalaatsa'"<<endl;
break;
case 3 :
cout<<endl<<"Rabu >> Al-Arba'aa"<<endl;
break;
case 4 :
cout<<endl<<"Kamis >> Al-Khamsatun"<<endl;
break;
case 5 :
cout<<endl<<"Jumat >> Al-Jumu'ah"<<endl;
break;
case 6 :
cout<<endl<<"Sabtu >> Al-Sabat"<<endl;
break;
case 7 :
cout<<endl<<"Minggu >> Al-Ahad"<<endl;
break;
default :
cout<<endl<<"Hello Hari Cuma 7 Seminggu Men -_-";
}
}
Outputnya :