Percabangan dengan Kondisi IF dan ELSE pada Pascal

baca 3 menit
Percabangan dengan Kondisi IF dan ELSE pada Pascal

Kondisi merupakan logika dalam program untuk memilih satu dari beberapa keadaan. Bicara kondisi pasti erat kaitannya dengan peggunaan ekspresi boolean.

Kondisi akan berisi logika untuk mengevaluasi suatu ekspresi boolean (apakah hasilnya true atau false) setelah itu menjalankan fungsi yang berkaitan.

Pada kesempatan kali ini kita akan membahas sebuah kondisi percabangan dengan menggunakan keyword IF ELSE.

Logika Percabangan if else pada Pascal

Seperti yang sudah saya sabutkan sebelumnya, kondisi merupakan logika program untuk melakukan evaluasi pada ekspresi boolean.

Coba kita ambil contoh sederhananya.

Pada suatu ketika, Ibu Budi menyuruh Budi untuk pergi ke toko membeli sesuatu. Budi mendapat titipan sebagai berikut.

"Bud tolong belikan ibu telur 1 kilo, dan kecap merk A satu bungkus sekalian sama garam juga. Kalau Kecap merk A ngga ada kamu beli yang merk B 2 bungkus tapi garamnya ngga perlu beli"

Selanjutnya dengan ceria Budi pergi ke toko. Budi mengambil 1 kilo telur dan membawanya. Lalu Budi pergi ke rak bagian kecap. Di rak tersebut ternyata kecap merk A tidak ada. Sesuai dengan perintah ibunya, Budi mengambil kecap dengan merk B, dan tidak mengambil garam.

Nah letak dari logika percabangan ada pada saat pemilihan membeli kecap A atau B. Sedangkan ekspresi boolean terletak pada saat mencari ketersediaan kecap. Kurang lebih bisa digambarkan dengan diagram alur sebagai berikut.

Bagan Alur perjalanan Budi
Bagan Alur perjalanan Budi

Penulisan Percabangan if else pada Pascal

Format penulisan kode percabangan dengan if else kurang lebih sebagai berikut,

pascal
if (kondisi) then
  begin
    {logika program ketika kondisi terpenuhi}
  end
else
  begin
    {logika program ketika kondisi tidak terpenuhi}
  end;

Pada format tersebut sebuah kondisi merupakan sebuah ekepresi boolean baik operasi perbandingan maupun operasi logika.

Sekarang kita coba buat kode program untuk mengecek apakah bilangan a lebih dari bilangan b. Silahkan ketikkan kode berikut di Free Pascal.

pascal
program Kondisi;
uses crt;
var
  a, b: integer;
begin
  clrscr;
  write('masukkan a: '); readln(a);
  write('masukkan b: '); readln(b);
  if a > b then
    writeln('a lebih dari b')
  else
    writeln('a kurang dari b');
  readln;
end.

Oke kalau sudah silahkan kalian jalankan programnya dan berikan masukan terserah kalian. Pada contoh kali ini saya input a bernilai 10 dan b bernilai 6.

masukkan a: 10
masukkan b: 8
a lebih dari b

Jadi pada kode tersebut kita membandingkan apakah nilai a lebih dari nilai b. Jika iya (true) maka akan keluar output "a lebih dari b", jika tidak (false) maka akan keluar output "a kurang dari b". Sepertinya sudah jelas sekali hehe.

Pada Pascal kondisi if else merupakan satu kesatuan, sehingga tanda titik koma hanya perlu ada pada perintah terakhir setelah else.

Oke selanjutnya bagaimana cara mengecek jika nilai a dan b sama? Simpel, kita tinggal tambahkan lagi sebuah kondisi setelah else terakhir. Kira kira kode programnya seperti ini.

pascal
program Kondisi;
uses crt;
var
  a, b: integer;
begin
  clrscr;
  write('masukkan a: '); readln(a);
  write('masukkan b: '); readln(b);
  if a > b then
    writeln('a lebih dari b')
  else if a < b then
    writeln('a kurang dari b')
  else
    writeln('a sama dengan b');
  readln;
end.

Silahkan jalankan lagi dan input angka yang sama pada a dab b. Nanti outputnya kurang lebih seperti ini.

masukkan a: 10
masukkan b: 10
a sama dengan b

Pada kode tersebut kita memiliki 3 kondisi. Kondisi pertama melakukan pengecekan apakah a lebih dari b. Jika iya maka eksekusi kode writeln('a lebih dari b'). Jika tidak maka lanjut ke kondisi kedua.

Pada kondisi kedua kita mengecek apakah a kurang dari b. Jika iya maka eksekusi kode writeln('a kurang dari b'). Jika tidak maka eksekusi kode program setelah else yaitu writeln('a sama dengan b').

Oh iya, karena pada kode tersebut kita hanya mengeksekusi satu perintah setelah if, maka penggunaan begin dan end tidak diperlukan. Tetapi jika kita ingin mengeksekusi lebih dari satu perintah, maka begin dan end diperlukan.

Contoh:

pascal
....
if (a > b) then
  begin
    writeln('a lebih dari b');
    writeln('a menang');
  end
else
  begin
    writeln('a kurang dari b');
    writeln('b menang');
  end;
....

Penutup

Oke.. mungkin cukup sekian untuk tutorial kali ini, semoga bermanfaat Pada tutorial selanjutnya kita akan membahas tentang perulangan dengan for loop pada bahasa Pascal.