Anda di halaman 1dari 5

MATERI IV

PERCABANGAN
Kompetensi Dasar:
Dapat menggunakan instruksi percabangan di dalam pemecahan masalah.
Indikator Kompetensi:
1. Mengenal dan memahami 3 bentuk percabangan.
2. Memahami operator ?, operator relasional dan operator logika.
3. Dapat menggunakan operator ? untuk suatu aplikasi.
4. Dapat menggunakan instruksi percabangan untuk suatu aplikasi, baik yang memerlukan oprator
logika maupun tidak.
PERCABANGAN DENGAN IF
Dikenal sebagai instruksi bersyarat, artinya instruksi tertentu hanya akan dieksekusi jika syarat tertentu
dipenuhi pula.
Syntax :
Bentuk 1:
IF (kondisi)
{ statement yang dikerjakan
jika kondisi benar
}
Ket: Jika kondisi salah, tidak akan mengerjakan apapun didalam instruksi IF (langsung menuju ke
instruksi berikutnya)
Bentuk 2:
IF (kondisi)
{ statement yang dikerjakan
jika kondisi benar
}
ELSE
{ statement yang dikerjakan
Jika kondisi salah
}
Bentuk 3:
IF (kondisi1)
{ statement yang dikerjakan
jika kondisi1 benar
}
ELSE
IF (kondisi2)
{ statement yang dikerjakan
jika kondisi2 benar
}
ELSE
IF (kondisi3)
{ statement yang dikerjakan
Jika kondisi3 salah
}
.
.
.
ELSE
{ statement yang dikerjakan
Jika kondisi1 s.d kondisi-n salah (tidak terpenuhi)
}

Kondisi atau syarat harus ditulis dalam tanda kurung. Jika instruksi yang dikerjakan pada saat kondisi
benar/salah masing-masing tidak lebih dari satu instruksi, maka tanda kurung kurawal buka/tutup
bersifat optional (boleh digunakan, boleh tidak)
Dalam menuliskan kondisi/syarat selalu digunakan operator relasional sebagai sarana untuk melakukan
proses pengecekan a. l:
Operator
Arti
>
Lebih besar
<
Lebih kecil
==
Sama dengan
>=
Lebih atau sama
<=
Kurang atau sama
!=
Tidak sama dengan
Selain itu jika syarat yang digunakan lebih dari satu sering digunakan operator logika yakni :
Operator
Arti
&&
And
||
Or
!
Not
Contoh 1:
//penggunaan if
#include <iostream.h>
#include <conio.h>
main() {
int a;
cout<<"Masukkan nilai a = ";cin>>a;
a=a+2;
if (a>5)
a=a-6;
a=a+3;
cout<<"\nNilai a sekarang = "<<a;
getch();
}
Contoh diatas menggunakan if bentuk 1, jika kondisi/syarat (a>5) dipenuhi akan mengeksekusi
instruksi a=a-6, tidak dipenuhi maka didalam instruksi if tidak mengerjakan apapun, langsung menuju
instruksi setelah if.
Contoh 2:
/*program contoh penggunaan
perintah if else*/
#include <iostream.h>
#include <conio.h>
main ()
{
float nmid, nujian;
char ket,nama[20];
cout<<"Menentukan lulus tidaknya mahasiswa\n";
cout<<"-----------------------------------\n";
cout<<"Nama mhs
: ";cin>>nama;
cout<<"Nilai mid
: ";cin>>nmid;
cout<<"Nilai ujian
: ";cin>> nujian;
float rata=(nmid+nujian)/2;
if (rata >=60)
ket='L';
else
ket='T';
cout<<"\nKeterangan(L=Lulus/T=Tidak) : "<<ket;

cout<<"\nNilai rata-rata
getch();

: "<<rata;

}
Contoh diatas menggunakan if bentuk 2, jika kondisi/syarat (rata>=60) dipenuhi maka akan
mengerjakan instruksi dibawah if, tetapi jika tidak dipenuhi maka akan mengerjakan istruksi setelah
else.
Instruksi percabangan dalam bentuk 2, ada yang dapat dituliskan dengan operator kondisi (?) seperti
contoh berikut:
Contoh 3:
//program contoh penggunaan operator ?
#include <iostream.h>
#include <conio.h>
main ()
{
float nmid, nujian;
char ket,nama[20];
cout<<"Menentukan lulus tidaknya mahasiswa\n";
cout<<"-----------------------------------\n";
cout<<"Nama mhs
: ";cin>>nama;
cout<<"Nilai mid
: ";cin>>nmid;
cout<<"Nilai ujian
: ";cin>> nujian;
float rata=(nmid+nujian)/2;
ket=(rata>=60)?'L':'T';
cout<<"\nKeterangan(L=Lulus/T=Tidak) : "<<ket;
cout<<"\nNilai rata-rata
: "<<rata;
getch();
}
Contoh berikut menggunakan if bentuk 3, dimana ada banyak kondisi yang masing-masing punya
instruksi tersendiri untuk dieksekusi.
Contoh 4:
/*program contoh penggunaan
perintah if else*/
#include <iostream.h>
#include <conio.h>
main ()
{
float nmid, nujian;
char ket,nama[20];
cout<<"Menentukan lulus tidaknya mahasiswa\n";
cout<<"-----------------------------------\n";
cout<<"Nama mhs
: ";cin>>nama;
cout<<"Nilai mid
: ";cin>>nmid;
cout<<"Nilai ujian
: ";cin>> nujian;
float rata=(nmid+nujian)/2;
if (rata >=60)
ket='L';
else
ket='T';
char nh;
if (rata>=80)
nh='A';
else if (rata>=60)
nh='B';
else if (rata>=40)
nh='C';
else if (rata>=20)

nh='D';
else
nh='E';
cout<<"\nKeterangan(L=Lulus/T=Tidak) : "<<ket;
cout<<"\nNilai rata-rata
: "<<rata;
cout<<"\nNilai huruf
: "<<nh;
getch();
}
Jika kondisi yang digunakan dalam percabangan bentuk 3 merupakan konstanta integer atau karakter,
maka dapat tuliskan dengan instruksi switch.
Syntax:
switch (ekpresi)
{
case konstanta_l:
pernyataan;
.
.
break;

case konstanta_2:
pernyataan;
.
.
break;
.
.
default:
pernyataan;
.
.

Kasus ada pada contoh 5, dituliskan dengan instruksi swicth pada contoh 6 :
Contoh 5:
/*program contoh penggunaan
perintah if else*/
#include <iostream.h>
#include <conio.h>
main ()
{
char nh,nama[20],mk[20];
cout<<"Mengubah nilai huruf menjadi angka\n";
cout<<"-----------------------------------\n";
cout<<"Nama mhs
: ";cin>>nama;
cout<<"Mata kuliah
: ";cin>>mk;
cout<<"Nilai huruf
: ";cin>> nh;
int na;
if (nh=='A')
na=4;
else if (nh=='B')
na=3;
else if (nh=='C')
na=2;
else if (nh=='D')
na=1;
else
na=0;
cout<<"\nNilai angka
: "<<na;
getch();
}

Contoh 6:
/*program contoh penggunaan
perintah switch*/
#include <iostream.h>
#include <conio.h>
main ()
{
char nh,nama[20],mk[20];
cout<<"Mengubah nilai huruf menjadi angka\n";
cout<<"-----------------------------------\n";
cout<<"Nama mhs
: ";cin>>nama;
cout<<"Mata kuliah
: ";cin>>mk;
cout<<"Nilai huruf
: ";cin>> nh;
int na;
switch (nh)
{ case 'A':
na=4;
break;
case 'B':
na=3;
break;
case 'C':
na=2;
break;
case 'D':
na=1;
break;
case 'E':
na=0;
break;
default:
cout<<"\nNilai yang anda masukkan salah";
}
cout<<"\nNilai angka
: "<<na;
getch();
}

Anda mungkin juga menyukai