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
{ 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
{ 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 : "<<rata;
getch();
}
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();
}