Table of Contents
Pengertian
Percabangan atau bisa disebut juga pernyataan/ekspresi kondisional (conditional statement) adalah sebuah pernyataan untuk mengatur alur program dengan menyediakan sebuah kondisi Boolean.
Macam-macam percabangan
Percabangan memiliki 3 macam: if, if-else, dan case-of. Else-if pun masuk kedalam salah satu macamnya, namun else-if merupakan if-else dengan pernyataan if lagi didalamnya. Kurang paham? Baca sampai bawah kuy!
If
Bentuk percabangan paling sederhana.
if CONDITION then STATEMENT;
CONDITION adalah kondisi untuk memicu STATEMENT. Jika kondisi menghasilkan true, program akan beralih ke pernyataan didalamnya, sebaliknya jika false maka program akan melewati keseluruhannya.
Flowchart If
Contoh If
if i > 0 then write('angka lebih dari 0');
- Jika i lebih dari 0, maka program akan mengeluarkan
angka lebih dari 0
. - Jika i kurang atau sama dengan 0, program akan melewati bagian ini.
If-Else
Bentuk kedua mempunyai pernyataan kedua untuk mengatasi jika kondisi yang diberikan bernilai false.
if CONDITION then STATEMENT else STATEMENT_2;
Sama seperti if, namun jika kondisi bernilai false program akan menjalankan pernyataan kedua STATEMENT_2.
Flowchart If-Else
Contoh If-Else
if i > 0 then write('angka lebih dari 0')
else write('angka kurang sama dengan 0');
- Jika i lebih dari 0, maka program akan mengeluarkan
angka lebih dari 0
. - Jika i kurang atau sama dengan 0, program akan mengeluarkan
angka kurang sama dengan 0
.
Else-If
Bentuk ini sama persis dengan bentuk kedua, namun else dilanjutkan lagi dengan if seakan-akan membuat bentuk baru.
if CONDITION then STATEMENT
else if CONDITION_2 then STATEMENT_2;
Sama seperti if, namun jika sebelumnya program melewati seluruhnya, dengan ini program akan menjalankan pernyataan kedua STATEMENT_2.
Flowchart Else-If
Semakin dalam sebuah percabangan, semakin rumit pula flowchart-nya, design pattern seperti ini sangat tidak dianjurkan. Disebut juga dalam bahasa Inggris Don’t Repeat Yourself (DRY).
Contoh Else-If
if i > 0 then write('angka lebih dari 0')
else if i < 0 then write('angka kurang dari 0');
- Jika i lebih dari 0, program akan mengeluarkan
angka lebih dari 0
. - Jika i kurang dari 0, program akan mengeluarkan
angka kurang dari 0
. - Jika i sama dengan 0, program akan melewati percabangan ini.
Disini dapat ditambahkan lagi pernyataan else untuk menangkap jika i sama dengan 0.
if i > 0 then write('angka lebih dari 0')
else if i < 0 then write('angka kurang dari 0')
else write('angka sama dengan 0');
Case-Of
Case-of biasanya dikenal dengan nama switch-case pada bahasa pemrograman lain. Berbeda dengan if, case-of tidak memiliki kondisi yang bisa diatur sendiri, case-of akan selalu mengecek jika suatu variabel mempunyai nilai yang sama.
case SELECTOR of
VALUE: STATEMENT;
VALUE_2: STATEMENT_2;
...
else ELSE_STATEMENT; { opsional }
end;
Jika dilihat sekilas bahwa case-of mempunyai struktur yang lebih sederhana dimana:
- SELECTOR adalah variabel yang digunakan untuk melakukan komparasi, selain variabel pun bisa menggunakan fungsi,
- VALUE adalah nilai yang ingin dibandingkan dengan SELECTOR,
- STATEMENT adalah kode yang dijalankan jika SELECTOR dan VALUE bernilai sama,
- ELSE_STATEMENT adalah kode yang dijalankan jika SELECTOR tidak memiliki nilai yang sama dengan yang dicantumkan, statement ini bersifat opsional.
Flowchart Case-Of
Flowchart ini dapat memperjelas cara kerja sebuah pernyataan case-of. Bisa dilihat bahwa flowchart percabangan case-of memiliki persamaan dengan flowchart percabangan if-else.
Contoh Case-Of
program case_of;
var i : string;
begin
write('masukkan perintah: (maju/mundur/belok) ');
readln(i);
case i of
'maju': writeln('sedang maju');
'mundur': writeln('mundur ke belakang');
'belok':
begin
write('belok kemana? (kiri/kanan) ');
readln(i);
case i of
'kiri': writeln('membelok kiri');
'kanan': writeln('belok ke kanan');
else writeln('tidak bisa belok');
end;
end;
else
begin
writeln('tidak ada pilihan ', i);
writeln('selamat tinggal');
end;
end;
end.
Contoh case-of ini melakukan perbandingan string dengan kata-kata lain.