Algoritma Pemrograman Percabangan
Pengertian
algoritma pemrograman seleksi kondisi, atau disebut juga algoritma
percabangan (atau disebut juga dengan flow control dan algoritma pemilihan)
adalah salah satu jenis perintah dalam algoritma yang digunakan sebagai cara
untuk memberitahukan program tentang perintah apa yang harus dijalankan, dimana
perintah tersebut disesuaikan dengan beberapa kondisi tertentu. Fungsi
algoritma percabangan ini pada adalah untuk memproses keputusan yang
tepat dan sesuai dengan yang keinginan pengguna sistem berdasarkan beberapa
kondisi yang terjadi pada sistem yang digunakan tersebut.
Dalam sebuah program atau sistem,
ada saatnya sebuah instruksi atau perintah hanya bisa dilakukan jika
memenuhi suatu kondisi atau persyaratan tertentu. Itu mengapa, algoritma
percabangan ini bisa disebut juga dengan algoritma seleksi kondisi. Agar Anda
paham maksudnya, kami berikan sebuah contoh. Misalkan, kita hendak menentukan
apakah suatu bilangan termasuk bilangan genap atau bilangan ganjil. Nah,
algoritmanya dapat kita jelaskan sebagai berikut:
- Mulai
- Masukkan suatu bilangan, misalkan bilangan X)
- Jika bilangan X habis dibagi dua, maka lanjut ke perintah keempat. Jika tidak lanjut ke perintah kelima.
- Tuliskan “X adalah bilangan genap”. Lanjut ke perintah keenam.
- Tuliskan “X adalah bilangan ganjil”
- Selesai
Dari algoritma di atas, kita bisa
lihat bahwa ada dua kemungkinan perintah yang akan dikerjakan setelah
perintah ketiga dikerjakan. Perintah pertama, jika bilangan X habis dibagi dua
maka selanjutnya perintah keempat yang dikerjakan, kemudian lompat ke perintah
keenam dan perintah kelima tidak dikerjakan. Perintah kedua, jika bilangan X
tidak habis dibagi dua maka melompat ke perintah kelima dan perintah keempat
tidak dikerjakan. Kedua perintah tersebut sama-sama berakhir pada perintah
keenam, yang menyatakan bahwa proses algoritma telah selesai.
Bagaimana, sudah paham mengenai
maksud dari algoritma percabangan ini? Nah, ternyata algoritma percabangan ini
banyak macamnya. Namun, inti dari algoritma ini sama, yaitu suatu program atau
sistem akan mengerjakan sebuah perintah yang disesuaikan dengan kondisi atau
syarat tertentu. Apa saja macam-macam algoritma percabangan? Artikel kali ini
akan mengulasnya untuk Anda. Berikut ini pembahasannya:
1. Percabangan untuk 1 kondisi
Pada percabangan jenis ini, hanya
ada satu kondisi yang menjadi syarat untuk melakukan satu buah atau
satu blok instruksi. Format umum dari algoritma percabangan dengan
satu kondisi adalah sebagai berikut:
IF kondisi THEN
instruksi
ENDIF
Arti dari format di atas, jika
“kondisi” bernilai benar atau tercapai, maka aksi dikerjakan. Sedangkan jika
bernilai salah, maka instruksi tidak dikerjakan dan proses langsung keluar dari
percabangan dan kembali lagi ke kondisi awal.
Contoh dari penggunaan algoritma
percabangan untuk satu kondisi adalah sebagai berikut:
if A > B then
write (A)
end if
Instruksi di atas artinya
instruksi akan menampilkan nilai A hanya jika kondisi “A lebih besar daripada
B” bernilai benar. Jika bernilai salah, maka tidak ada aksi yang akan
dilakukan atau proses langsung keluar dari percabangan (end if ).
Berikut ini kami berikan contoh
beberapa contoh program algoritma percabangan untuk satu kondisi menggunakan macam-macam
bahasa pemrograman. Berikut ini adalah contoh untuk program
menggunakan bahasa Pascal adalah sebagai berikut:
uses crt;
var
jeniskelamin:char;
begin
clrscr;
writeln(‘Jenis Kelamin : ’);
writeln(‘L unutk laki-laki, P untuk perempuan’);
writeln(‘Jenis kelamin anda: ’);readln(jeniskelamin);
if(jeniskelamin = ‘l’) then writeln(‘Laki-laki’);
if(jeniskelamin = ‘p’) then writeln(‘Perempuan’);
readkey;
end
var
jeniskelamin:char;
begin
clrscr;
writeln(‘Jenis Kelamin : ’);
writeln(‘L unutk laki-laki, P untuk perempuan’);
writeln(‘Jenis kelamin anda: ’);readln(jeniskelamin);
if(jeniskelamin = ‘l’) then writeln(‘Laki-laki’);
if(jeniskelamin = ‘p’) then writeln(‘Perempuan’);
readkey;
end
Contoh lainnya dari program
percabangan untuk satu kondisi pada suatu program menggunakan bahasa C++ adalah
sebagai berikut:
#include <iostream.h>
int main (){
int nilai;
char a;
cout<<“Masukkan Nilai Anda:”;
cin>>nilai;
if (nilai>60){
cout<<“Selamat Anda Lulus!!”;
}
cin>>a;
return 0;
}
int main (){
int nilai;
char a;
cout<<“Masukkan Nilai Anda:”;
cin>>nilai;
if (nilai>60){
cout<<“Selamat Anda Lulus!!”;
}
cin>>a;
return 0;
}
2. Percabangan untuk 2 kondisi
Pada percabangan jenis ini, ada
dua kondisi yang menjadi syarat untuk dikerjakannya salah satu dari dua
instruksi. Kondisi ini bisa bernilai benar atau salah. Bentuk umum dari
percabangan dengan dua kondisi adalah sebagai berikut:
IF kondisi THEN
instruksi 1
ELSE
instruksi 2
ENDIF
instruksi 1
ELSE
instruksi 2
ENDIF
Arti dari format di atas, jika
“kondisi” bernilai benar maka instruksi 1 yang akan dikerjakan. Sedangkan jika
bernilai salah), maka instruksi 2 yang akan dikerjakan. Perbedaannya dengan
percabangan untuk satu kondisi terletak pada adanya dua instruksi untuk dua
kondisi, yaitu kondisi bernilai benar dan kondisi bernilai salah.
3. Percabangan untuk 3 kondisi
atau lebih
Algoritma percabangan untuk tiga
kondisi atau lebih adalah bentuk pengembangan dari dua macam algoritma
percabangan yang telah dibahas sebelumnya. Karena itu, percabangan jenis ini
akan memiliki banyak variasi. Secara umum, format percabangannya dapat
dituliskan sebagai berikut :
IF kondisi THEN
instruksi 1
ELSE IF kondisi 2 THEN
instruksi 2
ELSE
instruksi 3
ENDIF
instruksi 1
ELSE IF kondisi 2 THEN
instruksi 2
ELSE
instruksi 3
ENDIF
Maksud dari algoritma di atas,
instruksi 1 akan dikerjakan jika “kondisi 1” bernilai benar. Jika bernilai
salah, pemeriksan dilanjutkan ke “kondisi 2”. Jika “kondisi 2” bernilai benar,
maka instruksi 2 dikerjakan. Jika tidak, pemeriksaan dilanjutkan pada
kondisi-kondisi lainnya. Pemeriksaan ini akan terus dilakukan terhadap semua
kondisi yang ada. Jika tidak ada satu pun kondisi yang bernilai benar maka
pernyataan yang dikerjakan adalah instruksi 3 atau instruksi (n+1) pada
percabangan lebih dari 3 kondisi.
4. Percabangan “Case of….”
Selain menggunakan format yang
dijelaskan pada poin 3, percabangan 3 kondisi atau lebih bisa juga menggunakan
format “Case Of”. Format ini memiliki kegunaan yang sama, tetapi format ini
digunakan untuk memeriksa data yang bertipe karakter atau integer. Secara umum
format penulisannya adalah sebagai berikut:
switch (ekspresi) {
case kontanta-1:
instruksi 1 break;
case konstanta-2:
instruksi 2 break;
default:
instruksi 3
}
case kontanta-1:
instruksi 1 break;
case konstanta-2:
instruksi 2 break;
default:
instruksi 3
}
Contoh penerapan percabangan Case
Of dalam sebuah program menggunakan bahasa Pascal adalah sebagai berikut:
uses wincrt;
var x : integer;
begin
write (‘Masukkan sebuah nilai [0…3] : ‘);
readln (x);
Case (x) of
0 : Writeln(‘X bernilai 0’);
1 : Writeln(‘x bernilai 1’);
2 : Writeln(‘X bernilai 2’);
3 : Writeln(‘X bernilai 3’);
else
Writeln(‘X tidak bernilai 0, 1, 2, ataupun 3’);
end;
end.
var x : integer;
begin
write (‘Masukkan sebuah nilai [0…3] : ‘);
readln (x);
Case (x) of
0 : Writeln(‘X bernilai 0’);
1 : Writeln(‘x bernilai 1’);
2 : Writeln(‘X bernilai 2’);
3 : Writeln(‘X bernilai 3’);
else
Writeln(‘X tidak bernilai 0, 1, 2, ataupun 3’);
end;
end.
Contoh program percabangan Case
Of menggunakan bahasa C++ :
void main() {
int nHari;
cout << “Masukkan No Hari [1..7] : “;
cin >> nHari;
cout << “Ini adalah hari “;
switch (nHari) {
case 1:
cout << “Ahad”;
break;
case 2:
cout << “Senin”;
break;
case 3:
cout << “Selasa”;
break;
case 4:
cout << “Rabu”;
break;
case 5:
cout << “Kamis”;
break;
default:
cout << “Jumat”;
}
getch();
}
int nHari;
cout << “Masukkan No Hari [1..7] : “;
cin >> nHari;
cout << “Ini adalah hari “;
switch (nHari) {
case 1:
cout << “Ahad”;
break;
case 2:
cout << “Senin”;
break;
case 3:
cout << “Selasa”;
break;
case 4:
cout << “Rabu”;
break;
case 5:
cout << “Kamis”;
break;
default:
cout << “Jumat”;
}
getch();
}
5. Percabangan bersarang
Percabangan bersarang adalah
instruksi yang terdiri dari adanya percabangan yang lain di dalam percabangan,
atau di dalam percabangan ada percabangan lagi. Format penulisan untuk
percabangan bersarang adalah sebagai berikut:
If <kondisi1> then
if <kondisi2> then
Instruksi1
Else
Instruksi2
Else
If <kondisi3>
Instruksi3
Else
Instruksi4
EndIf
if <kondisi2> then
Instruksi1
Else
Instruksi2
Else
If <kondisi3>
Instruksi3
Else
Instruksi4
EndIf
Jika kondisi berjumlah lebih dari
3 kondisi, polanya tetap sama. Untuk kondisi ke 2 dan seterusnya, penulisannya
menggunakan “ELSE IF kondisi THEN”, sedangkan untuk kondisi terakhir cukup
menggunakan ELSE saja.
Mulanya, “kondisi1” dicek nilai
kebenarannya. Jika benar, maka dicek nilai kebenaran “kondisi2”. Jika
“kondisi2” benar, maka dikerjakan Instruksi1. Jika tidak, dikerjakan
Instruksi2.
Sedangkan jika “kondisi1” tidak
benar, maka akan dicek nilai kebenarannya. Jika “kondisi3” bernilai benar, maka
dikerjakan Instruksi3. Jika tidak, maka akan dikerjakan Instruksi4.
Inilah salah satu contoh program
percabangan bersarang (Nested If) menggunakan bahasa Pascal :
uses wincrt;
var x, y, z : real;
begin
write (‘Masukkan bilangan pertama : ‘);
readln (x);
write (‘Masukkan bilangan kedua : ‘);
readln (y);
write (‘Masukkan bilangan ketiga : ‘);
readln (z);
if x > y then
if x > z then
write (‘Bilangan terbesar : ‘,x:5:2)
else
write (‘Bilangan terbesar : ‘,z:5:2)
else
if y > z then
write (‘Bilangan terbesar :’,y:5:2)
else
write (‘Bilangan terbesar : ‘,z:5:2);
end.
var x, y, z : real;
begin
write (‘Masukkan bilangan pertama : ‘);
readln (x);
write (‘Masukkan bilangan kedua : ‘);
readln (y);
write (‘Masukkan bilangan ketiga : ‘);
readln (z);
if x > y then
if x > z then
write (‘Bilangan terbesar : ‘,x:5:2)
else
write (‘Bilangan terbesar : ‘,z:5:2)
else
if y > z then
write (‘Bilangan terbesar :’,y:5:2)
else
write (‘Bilangan terbesar : ‘,z:5:2);
end.
Dan di bawah ini adalah satu
contoh program percabangan bersarang lainnya menggunakan bahasa C++ :
#include <iostream.h>
void main() {
int A, B, C;
cout << “masukan angka 1 = “;
cin >> A;
cout << “masukan angka 2 = “;
cin >> B;
cout << “masukan angka 3 = “;
cin >> C;
if(A<B){
if(A<C)
cout<< “angka terkecil adalah : ” << A;
else
cout<< “angka terkecil adalah : ” << C;
}
else if(B<C)
cout<< “angka terkecil adalah : ” << B;
else
cout<< “angka terkecil adalah : ” << C;
}
void main() {
int A, B, C;
cout << “masukan angka 1 = “;
cin >> A;
cout << “masukan angka 2 = “;
cin >> B;
cout << “masukan angka 3 = “;
cin >> C;
if(A<B){
if(A<C)
cout<< “angka terkecil adalah : ” << A;
else
cout<< “angka terkecil adalah : ” << C;
}
else if(B<C)
cout<< “angka terkecil adalah : ” << B;
else
cout<< “angka terkecil adalah : ” << C;
}
Setelah Anda mempelajari
algoritma percabangan dalam artikel ini, Anda selanjutnya dapat
mengembangkannya ke dalam bentuk flowchart. Apa fungsi
flowchart dalam pemrograman? Simak artikelnya di website kami ini.
Sekian artikel kami kali ini mengenai algoritma percabangan.
Eitss, Anda juga harus mengerti
dahulu pengertian
algoritma, flowchart, dan pseudocode dalam mempelajari pemrograman.
Anda juga bisa mengetahui semuanya di website kami ini. Semoga artikel kami ini
bermanfaat bagi Anda untuk mengenal algoritma percabangan.
Tidak ada komentar:
Posting Komentar