Tutorial Belajar Pascal Part 37: Percabangan Kondisi IF THEN ELSE dalam Pascal

Tutorial belajar pascal kali ini merupakan lanjutan dari tutorial sebelumnya. Disini kita akan membahas tentang kode program untuk membuat percabangan, yakni kondisi IF THEN ELSE dalam Pascal.


Konsep Dasar Percabangan Kondisi IF THEN ELSE dalam Pascal

Pada dasarnya, kondisi IF THEN ELSE adalah tambahan dari kondisi IF THEN. Bagian ELSE digunakan untuk menjalankan kode program apabila sebuah kondisi tidak terpenuhi.

Konsep dasar dari percabangan IF THEN ELSE dalam bahasa pemrogram Pascal adalah sebagai berikut:

IF (kondisi) THEN
  begin
    (kode program 1)
  end
ELSE
  begin
    (kode program 2)
  end;

Jika kondisi terpenuhi, pascal akan menjalankan (kode program 1), jika tidak yang akan dijalankan adalah (kode program 2). Mari masuk ke contoh kode program


Contoh Kode Program Percabangan IF THEN ELSE Pascal

Berikut contoh program pertama kita:

program struktur_if_then_else;
uses crt;
var
  angka: integer;
begin
  clrscr;
  angka := 4;
  if (angka > 5) then
    begin
      writeln('Variabel "angka" lebih besar dari 5');
    end
  else
    begin
      writeln('Variabel "angka" lebih kecil dari 5');
    end;
  readln;
end.

Hasil Contoh Program - Kondisi IF ELSE THEN Pascal

Saya menggunakan contoh yang mirip seperti yang digunakan pada tutorial tentang IF THEN.

Pada awal kode program saya membuat variabel angka dan diisi dengan nilai 4 (integer). Kemudian saya memeriksa sebuah kondisi if (angka > 5), jika hasilnya TRUE yang artinya isi variabel angka besar dari 5, jalankan writeln('Variabel "angka" lebih besar dari 5'). Tapi jika kondisi if (angka > 5) menghasilkan nilai FALSE, yang akan dijalankan adalah writeln('Variabel "angka" lebih kecil dari 5').

Satu hal yang harus diperhatikan, penutup block sebelum perintah ELSE tidak boleh ada titik koma " ; " . Yang kita tulis harus end else, bukan end; else.

Jika anda menulis seperti ini, kode program akan error:

if (angka > 5) then
  begin
    writeln('Variabel "angka" lebih besar dari 5');
  end;
else

Error kode Program - Kondisi IF ELSE THEN Pascal

Kesalahan seperti ini, Fatal: syntax error, ";" expected but "ELSE" found sangat sering terjadi dalam pembuatan kondisi IF THEN ELSE.

Mari masuk ke contoh yang kedua:

program struktur_if_then_else;
uses crt;
var
  angka:integer;
begin
  clrscr;
  write('Masukkan sebuah angka: ');
  readln(angka);
  if (angka mod 2 = 0) then
    begin
      writeln('Angka yang anda masukkan merupakan bilangan genap');
    end
  else
    begin
      writeln('Angka yang anda masukkan merupakan bilangan ganjil');
    end;    
  readln;
end.

Kembali, ini adalah modifikasi dari kode program yang saya gunakan pada tutorial IF THEN. Sekarang saya bisa menambahkan 1 blok ELSE ke dalam program "tebak angka".

Jika isi dari variabel angka habis dibagi 2, yakni hasil dari kondisi if (angka mod 2 = 0), jalankan perintah writeln('Angka yang anda masukkan merupakan bilangan genap'). Selain itu, pasti angka ganjil, sehingga yang akan dijalankan adalah writeln('Angka yang anda masukkan merupakan bilangan ganjil').

Hasil Contoh Program - Angka Genap Ganjil

Dengan strukur IF THEN ELSE, kita bisa membuat percabangan kode program tergantung apakah sebuah kondisi bisa dipenuhi atau tidak.

Untuk program yang lebih rumit, kita bisa mengkombinasikan berbagai struktur IF THEN ELSE. Sebagai contoh, bagaimana jika saya ingin memeriksa apakah sebuah angka merupakan angka genap dan kurang dari 5? Kita akan membahas hal ini dalam tutorial selanjutnya: Percabangan Kondisi IF Bersarang dalam Pascal (nested IF).


eBook Pascal Uncover Duniailkom
Apabila anda serius ingin mempelajari Pascal dan butuh materi Pascal yang jauh lebih lengkap, Duniailkom telah menerbitkan eBook Pascal Uncover yang membahas bahasa pemrograman Pascal dari dasar hingga procedure, function dan contoh kasus. Penjelasan lebih lanjut bisa ke eBook Pascal Uncover Duniailkom.

19 Comments

  1. Taufik
    05 Oct 16
    • Andre
      06 Oct 16
  2. maulana
    24 Nov 16
  3. rizky
    20 Jan 17
  4. Komputoo
    01 Mar 17
    • Andre
      02 Mar 17
  5. Junaris
    20 Mar 17
  6. Harun Al Rasyid
    04 Oct 17
    • Andre
      04 Oct 17
  7. Anonymous
    07 Oct 18
  8. Rizqy
    03 Mar 19
    • Andre
      03 Mar 19
  9. no-one-$
    02 Oct 19
    • no-one-$
      02 Oct 19
  10. Training
    26 Oct 21

Add Comment