Percabangan

Dalam pemrograman, kita bisa menentukan apa yang terjadi pada program saat suatu tindakan dilakukan oleh pengguna program. Kita jug bisa menentukan tindakan tersebut berdasarkan nilai suatu variabel. Untuk menentukan suatu tindakan berdasarkan suatu kondisi, kita bisa menggunakan percabangan. Percabangan digunakan digunakan untuk menentukkan perintah atau tindakan yang harus dilakukan berdasarkan nilai variabel. Percabangan dalam Bahasa Pascal ada 2 macam, yaitu :
  1. Case of
  2. If then else
Case of
Case of digunakan untuk menentukkan statement atau perintah yang harus dilakukan jika nilai variabel sama dengan nilai yang ada sebelum tanda ":". Berikut ini contoh kode program case of :
program Percabangan;
uses crt;
Var i : integer;
begin
    clrscr;
    readln(i);write('angka anda : ');
    case i of
        0:write('nol');
        1:write('satu');
        2:write('dua');
        3:write('tiga');
        4:write('empat');
        5:write('lima');
        6:write('enam');
        7:write('tujuh');
        8:write('delapan');
        9:write('sembilan');
        else write('angka lainnya');
    end;
    readln
end.

Saat program dijalankan, program tidak akan menampilkan apa apa hingga kalian mengetikkan angka dan menekan enter. Setelah kalian memasukkan satu nilai, variabel dalam kurung yang ada pada case akan dibandingkan dengan nilai-nilai sebelum tanda titik dua(:). Jika ada angka yang sesuai dengan nilai variabel, maka statement dengan nilai yang memenuhi syarat akan dijalankan. Jika tidak ada angka yang sesuai dengan nilai variabel, statement setelah else dalam kode program di atas akan dieksekusi.

Case bisa menggunakan lebih dari satu nilai yang dipisahkan dengan tanda koma (,). Case bisa juga menggunakan rentang nilai menggunakan dua tanda titik(..). Contoh pengunaan case dengan beberapa nilai untuk satu statement yang sama bisa kalian lihat di bawah ini :
program Percabangan;
uses crt;
Var i : integer;
begin
    clrscr;
    readln(i);write('angka anda : ');
    case i of
        0, 1, 2:write('Antara satu sampai dengan dua');
        3..9:write('Antara tiga sampai dengan sembilan');
        else write('angka lainnya');
    end;
    readln
end.
Coba compile dan jalankan programnya!
Kalau kalian memasukkan 1, 2, atau 3; maka program akan menampilkan tulisan "angka anda : Antara satu sampai dengan dua". Kalau nilai yang dimasukkan antara rentang 3 s.d. 9, maka tulisan yang ditampilkan adalah "angka anda : Antara tiga sampai dengan sembilan". Selain itu, yang ditampilkan akan sesuai statement yang ada setelah else.

If dan Else
If digunakan untuk menentukkan apa yang harus dilakukan berdasarkan suatu syarat yang bisa berupa :
  1. <(Kurang dari), 
  2. >(Lebih besar dari),
  3. <= (Kurang dari atau sama dengan),
  4. >=(lebih besar dari atau sama dengan),
  5. <>(tidak sama dengan),
  6. = (sama dengan)
Di bawah ini adalah contoh penggunaan if tanpa else dalam kode program pascal.
program Percabangan;
uses crt;
Var i : integer;
begin
clrscr;
    readln(i);write('bilangan ');
    if(i mod 2 =0) then write('genap');
    readln
end.
If bisa digunakan bersama dengan else jika ada statement lain yang ingin diberikan saat syarat dalam if tidak terpenuhi. Tanpa if, program tidak akan menampilkan apa-apa saat "kondisi di dalam if bernilai salah". Kalau ada else, program akan mengeksekusi statement setelah else saat kondisi yang diminta if tidak terpenuhi.
program Percabangan;
uses crt;
Var i : integer;
begin
  clrscr;
  readln(i);write('bilangan ');
  if(i mod 2 = 0) then write('genap')
  else write('ganjil');
  readln
end.

Ingat! Statement terakhir untuk if dalam pascal dalam tidak diakhiri dengan titik koma (;) jika masih ada else atau else if. Berikut ini contoh penggunaan if bersama dengan else if tanpa diakhiri else.

program Percabangan;
uses crt;
Var i : integer;
begin
  clrscr;
  write('bilangan : ');readln(i);
  if(i>0) then write('positif')
  else if(i<0) then write('negatif');
  else write('nol');
  readln
end.

Statement setelah "else" akan berguna jika tidak ada syarat yang terpenuhi dari if atau else if yang ada. Else if bisa ada lebih dari satu, tapi else hanya ada satu dalam sekelompok percabangan.