STATEMENT PERCABANGAN
·
Operasi Percabangan
Salah satu kelebihan computer dibandingkan dengan manusia adalah
kemampuannya untuk melakukan istruksi berulang kali tanpa mengenal lelah dan
bosan.
Pada algoritma runtunan telah kita lihat bahwa setiap
pernyataan selalu dilakukan bila telah sampai gilirannya. Namun demikian ada
kalanya suatu pernyataan atau perintah hanya bisa dilakukan bila memenuhi suatu
kondisi atau persyaratan tertentu. Algoritma ini kita sebut dengan algoritma
seleksi kondisi atau juga percabangan.
Contoh.
Misalnya kita ingin menentukan apakah suatu bilangan merupakan bilangan genap
atau ganjil. Algoritmanya dapat kita jabarkan
1. Mulai
2. Masukkan satu bilangan (X)
3. jika X habis dibagi dua maka lanjut
ke 4. Jika tidak lanjut ke 5
4. tulis ‘X bilangan genap’. Lanjut ke
6.
5. tulis ‘X bilangan ganjil’
6. Selesai
Perhatikan
bahwa ada dua kemungkinan perintah yang akan dikerjakan setelah perintah ke-3
dikerjakan. Jika X habis dibagi dua maka selanjutnya perintah ke-4 yang dikerjakan,
kemudian melompat ke 6 (perintah 5 tidak dikerjakan). Sebaliknya jika X tidak
habis dibagi dua perintah selanjutnya melompat ke-5 (perintah 4 tidak
dikerjakan) dan kemudian berakhir pada perintah ke-6.
Percabangan yang dimaksud adalah suatu pemilihan statemen yang akan
dieksekusi dimana pemilihan tersebut didasarkan atas kondisi tertentu.
Pada C++ jenis struktur yang digunakan untuk mengimplementasikan suatu
percabangan ada dua yaitu: struktur if dan struktur switch.
Statemen yang terdapat dalam sebuah blok percabangan akan
dieksekusi jika kondisi yang didefinisikan terpenuhi (bernilai benar) Artinya
jika kondisi tidak terpenuhi (bernilai salah) maka statemen tersebut tidak ikut
dieksekusi atau akan diabaikan oleh compiler.
B. Mengenal Struktur Percabangan Pada C dan C++
Struktur Percabangan/Selection mempunyai 4 perintah percabangan , yaitu :
if , if…..else , if…else if, dan switch. Untuk lebih jelasnya silakan lihat
penjabaran masing – masing perintah percabangan dibawah ini :
1. Perintah if :
Perintah if digunakan untuk
menjalankan satu atau lebih perintah berdasarkan suatu kondisi. Contoh
penulisan:
If
(kondisi)
{
{
Statement;
}
2. Perintah
if….else :
Perintah if…else
digunakan untuk memilih salah satu dari
2 pernyataan yang ditentukan . Perintah ini akan menjalankan perintah tertentu
jika TRUE dan akan menjalankan perintah tertentu jika FALSE . Contoh penulisan
:
if (kondisi)
{
{
Statement_1;
}
else
{
Statement_2;
}
3.
Perintah if ….else if:
Perintah else if digunakan
untuk menjalankan suatu pernyataan dengan melibatkan lebih dari satu kondisi (
banyak kondisi) Contoh penulisan :
if (kondisi_1)
{
Statement_1;
}
else if (kondisi_2)
{
Statement_2;
}
else
{
Statement_3;
4.
Perintah switch :
Perintah switch digunakan
sebagai alternative lpengganti dari perintah if…else if. Perintah switch akan
menyeleksi kondisi yang diberikan dan membandingkan hasilnya dengan konstanta –
konstanta yang ada pada case . Jika case sama dengan kondisi , maka system akan
menjalankan perintah tersebut dan akan berhenti pada perintah break. Contoh
penulisan :
switch (kondisi)
{
case
konstanta_1:
statement_1;
break;
case konstanta_2:
statement_2;
break;
default:
default:
statement_3;
}
C. Struktur Kondisi Pada Operasi Percabangan
1. Struktur Satu Kondisi
(Perintah If)
Struktur
ini merupakan struktur yang paling sederhana karena hanya melibatkan satu buah
ekspresi akan diperiksa. Pada konstruksi perintah if,
C++ tidak memiliki kata kunci (keyword) then.
Bentuk umum:
if (kondisi)
pernyataan;
atau
if (kondisi)
{
statemen1;
statemen2;
…
}
Contoh:
§
if (detik == 60)
menit =
menit + 1;
§
if (Angka %2 == 0)
cout<<”Bilangan
genap”;
§
if (sisi > 0)
{
Luas = panjang * lebar;
Isi = Luas*tinggi;
}
Kondisi digunakan untuk
menentukan pengambilan keputusan, operator yang digunakan adalah relational dan
logical operators.
Contoh program:
#include <iostream.h>
int main()
{
int nilai;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan bulat: “;
cin>>nilai;
//menampilkan teks jika nilai yang tersimpan
lebih besar dari 0
if
(nilai > 0)
cout<<“Nilai
yang Anda masukkan adalah bilangan positif“;
return
0;
}
Hasil eksekusi program di
atas bersifat dinamis artinya tidak setiap proses eksekusi program akan
menghasilkan hasil yang sama. Jika user memasukkan angka lebih besar dari
0 maka program ini akan menampilkan teks “Nilai yang Anda masukkan adalah
bilangan positif”.
Selain itu kita juga bisa
nenggunakan operator || dan && dalam menentukan sebuah ekspresi. Contoh
program:
#include <iostream.h>
int main()
{
int
bilangan;
char
huruf;
//memasukkan
bilangan bulat
cout<<”Masukkan
sebuah bilangan bulat: “;
cin>>bilangan;
if ((bilangan > 0) && (bilangan <
10))
cout<<bilangan<<” lebih besar dari
nol dan lebih kecil dari sepuluh”;
//memasukkan huruf
cout<<“\n“;
cout<<”Masukkan
sebuah huruf: “;
cin>>huruf;
if
((huruf == ‘A’) || (huruf == ‘a’) || (huruf == ‘I’) ||
(huruf
== ‘i’) || (huruf == ‘U’) || (huruf == ‘u’) ||
(huruf
== ‘E’) || (huruf == ‘e’) || (huruf == ‘O’) ||
(huruf
== ‘o’))
{
cout<<huruf<<”
adalah huruf vokal”;
}
return
0;
}
2. Struktur Dua Kondisi
(Perintah If – Else)
Struktur percabangan jenis
ini sedikit lebih kompleks bila dibandingkan dengan struktur yang hanya
memiliki satu kondisi. Konsep ini sangat sederhana yaitu pada struktur jenis
ini terdapat sebuah statemen khusus yang berguna untuk mengatasi kejadian
apabila kondisi yang didefinisikan tersebut tidak terpenuhi (bernilai salah).
Perintah ini memberikan satu alternatif dari dua kemungkinan.
Bentuk umum:
if (kondisi)
{
statemen_jika_kondisi_terpenuhi;
}
else
{
statemen_jika_kondisi_tidak_terpenuhi;
}
Contoh:
#include <iostream.h>
int main()
{
int
nilai;
//memasukkan
bilangan bulat
cout<<”Masukkan
sebuah bilangan bulat: “;
cin>>nilai;
//pengecek
bilangan apakah habis dibagi dua atau tidak
if (nilai
%2 == 0)
{
cout<<nilai<<“adalah bilangan
genap“;
}
else
{
cout<<nilai<<“adalah bilangan
ganjil“;
}
return
0;
}
3. Struktur Tiga Kondisi
(Perintah Multiple If – Else)
Struktur
ini merupakan struktur percabangan yang biasanya membingungkan para programmer
pemula. Percabangan jenis ini merupakan perluasan dari struktur yang memiliki
dua kondisi diatas yaitu dengan menyisipkan satu atau lebih kondisi ke
dalamnya. Bentuk umum:
if
(kondisi1)
{
statemen_jika_kondisi1_terpenuhi;
}
else if
(kondisi2)
{
statemen_jika_kondisi2_terpenuhi;
}
else if (kondisi3)
{
statemen_jika_kondisi3_terpenuhi;
}
....
else
{
statemen_jika_semua_kondisi_tidak_terpenuhi;
}
Contoh program:
#include <iostream.h>
int main()
{
int
nilai;
//memasukkan
bilangan bulat
cout<<”Masukkan sebuah bilangan yang akan
diperiksa: “;
cin>>nilai;
//pengecek
bilangan apakah habis dibagi dua atau tidak
if
(nilai > 0)
{
cout<<nilai<<“ adalah bilangan positif“;
}
else if
(nilai < 0)
{
cout<<nilai<<“ adalah bilangan negatif“;
}
else
{
cout<<“Anda memasukkan bilangan NOL“;
}
return
0;
}