Header Ads

Konsep IF .. ELSE ..[PASCAL]

Statemen IF akan bercabang sesuai dengan hasil dari operasi boolean (true & false). Pertama-tama kita akan pelajari percabangan satu arah :
 
if EkspresiBoolean then
  StatemenTrue;

Bila ekspresi boolen bernilai benar (true), maka statemen akan dieksekusi. Bila bernilai salah maka tidak akan dieksekusi. Berikut contohnya :


uses wincrt;
var a : integer;
begin
  a := 1;
  write('sinau');
  if a = 1 then
    write(' bersama');
end.
 
Hasil eksekusi:
sinau bersama

Penjelasan:
Diawal diberikan nilai pada a yaitu 1. Setelah dilakukan output (’sinau’), nilai a diuji, karena nilai a bernilai benar (a=1) maka dilakukan output (‘ bersama’).
uses wincrt;
var a : integer;
begin
  a := 0;
  write('sinau');
  if a = 1 then
    write(' bersama');
end.
 
Hasil eksekusi:
sinau

Penjelasan:
Diawal diberikan nilai pada a yaitu 1. Setelah dilakukan output (’sinau’), nilai a diuji, karena nilai a bernilai salah (a=0) maka program melewati statemen if dan selesai dieksekusi.

Bila statemen IF hanya mempunyai satu statemen saja, tidak diperlukan penanda (begin-end). Tapi bila lebih maka harus menggunakan begin-end.
 
uses wincrt;
var a : integer;
begin
  a := 1;
  write('sinau');
  if a = 1 then begin
    write(' bersama');
    write(' sahabat');
  end;
end.
 
Hasil eksekusi:
sinau bersama sahabat

Penjelasan:
Diawal diberikan nilai pada a yaitu 1. Setelah dilakukan output (’sinau’), nilai a diuji, karena nilai a bernilai benar (a=1) maka dilakukan output (‘ bersama’) dan output (‘ sahabat’).

Juga terdapat percabangan dua arah :
 
if EkspresiBoolean then
  StatemenTrue
else
  StatemenFalse;

Bila ekspresi boolean menghasilkan nilai salah (false), maka akan dieksekusi statemen setelah else. Harus diperhatikan bahwa tanda titik koma (;) sebelum else harus dihilangkan.
 
uses wincrt;
var a : integer;
begin
  a := 0;
  write('sinau');
  if a = 1 then begin
    write(' bersama');
    write(' sahabat');
  end
  else begin
    write(' pascal');
    write(' bersama keluarga');
  end;
end.

Hasil eksekusi:
sinau pascal bersama keluarga

Diawal diberikan nilai pada a yaitu 0. Setelah dilakukan output (’sinau’), nilai a diuji, karena nilai a bernilai salah (a=0) maka dilakukan output (‘ pascal’) dan output (‘ bersama keluarga’).

Terkadang kita memerlukan lebih dari dua percabangan, maka kita memerlukan if bersarang (nested if).
 
if EkspresiBoolean1 then
  Statemen1
else
  if EkspresiBoolean2 then
    Statemen2
  else then
    Statemen3
 
Penulisannya lebih mudah dipahami dengan pola seperti :
 
if EkspresiBoolean1 then
  Statemen1
else if EkspresiBoolean2 then
  Statemen2
else then
  Statemen3
 
uses wincrt;
var a : integer;
begin
  a := 3;
  write('sinau');
  if a = 1 then
    write(' bersama');
  else if a = 2 then
    write(' pascal');
  else
    write(' pemrograman');
end.

Tidak ada komentar

46unK-Blog 2011. Diberdayakan oleh Blogger.