Pernyataan IF Sederhana
Pernyataan IF yang pertama berbentuk:
IF kondisi THEN
pernyataan
Pada bentuk ini, pernyataan hanya akan dijalankan kalau kondisi bernilai True.
PROGRAM Suhu;
{ -------------------------------------------------- }
{ Contoh sederhana pemakaian IF }
{ -------------------------------------------------- }
USES Crt;
VAR
Suhu : Real;
BEGIN
Clrscr;
Write('Suhu tubuh : ');
Readln(Suhu);
IF Suhu > 37 THEN
Writeln('Suhu tinggi !');
Writeln('Selesai');
END.
Pernyataan IF ELSE
Bentuk kedua dari IF adalah sebagai berikut:
IF kondisi THEN
pernyataan_1
ELSE
pernyataan_2
PROGRAM Suhu2;
{ -------------------------------------------------- }
{ Contoh pemakaian IF-ELSE }
{ -------------------------------------------------- }
USES Crt;
VAR
Suhu : Real;
BEGIN
Clrscr;
Write('Suhu tubuh : ');
Readln(Suhu);
Writeln('Selesai');
END.
Pernyataan IF Bersarang
Suatu pernyataan IF dapat mengandung pernyataan IF yang lain. Bentuk seperti ini biasa disebut
IF bersarang (nested IF). Hal yang terpenting di dalam pembuatan IF bersarang adalah
pemahaman terhadap IF ELSE. Sebagai contoh:
IF kondisi1 THEN
IF kondisi2 THEN
pernyataan_1;
ELSE
pernyataan_2;
ELSE berpasangan dengan IF yang mana? Suatu pedoman yang berguna untuk memahami hal
ini:
ELSE berpasangan dengan IF yang tepat diatasnya, yang terletak dalam satu blok
Bila IF yang terletak tepat sebelum ELSE terletak di dalam BEGIN END, IF tersebut dikatakan
tidak terletak dalam satu blok yang sama.
Berdasarkan hal ini, ELSE pada contoh di atas berpasangan dengan IF kondisi2. Tetapi pada
contoh berikut:
IF kondisi1 THEN
BEGIN
IF kondisi2 THEN
pernyataan_1;
END
ELSE
pernyataan_2;
Sebuah contoh pemakaian IF bersarang adalah untuk menentukan bonus bagi pembeli
berdasarkan total pembelian. Kriterianya adalah sebagai berikut:
Kriteria Bonus
Total 100.000 Diskon 10%
50.000 Total < 100.000 1 Piring
10.000 Total < 50.000 2 Gelas
Total < 10.000 Tidak ada bonus
PROGRAM Bonus;
{ -------------------------------------------------- }
{ Program untuk menentukan bonus }
{ berdasarkan total pembelian }
{ -------------------------------------------------- }
USES Crt;
VAR
TotalPembelian : LongInt;
BEGIN
Clrscr;