Percabangan Pascal: Panduan Lengkap Logika IF, ELSE, & ELSE IF

Saat membuat program, kita tidak selalu ingin semua baris kode dieksekusi. Seringkali, kita perlu membuat program yang bisa "membuat keputusan". Proses inilah yang disebut percabangan logika (selection).

Bayangkan program sebagai sebuah jalan. Percabangan adalah persimpangan yang memungkinkan program memilih jalur mana yang akan diambil berdasarkan kondisi tertentu. Di Pascal, alat utama untuk membuat persimpangan ini adalah pernyataan IF. Mari kita pelajari tiga bentuk utamanya.

1. Struktur IF-THEN (Kondisi Tunggal)

Ini adalah bentuk percabangan paling sederhana. Blok kode di dalamnya hanya akan dijalankan jika sebuah kondisi bernilai benar (True). Jika kondisi salah (False), blok kode tersebut akan diabaikan sepenuhnya.

Analogi: "Jika lampu hijau, maka jalan." Program hanya diberi satu instruksi untuk satu kondisi.

Format Penulisan:

IF (kondisi) THEN
begin
  // Blok kode yang dieksekusi jika kondisi True
end;

Contoh Program: Menampilkan pesan "Anda Lulus" hanya jika nilai lebih besar dari 75.

program CekKelulusan_Simple;
var
  nilai: integer;
begin
  write('Masukkan nilai Anda: ');
  readln(nilai);

  if (nilai > 75) then
  begin
    writeln('Selamat! Anda dinyatakan LULUS.');
  end;

  writeln('Pengecekan selesai.');
  readln;
end.

Jika Anda memasukkan nilai 80, kondisi (80 > 75) bernilai True, sehingga pesan "Selamat! Anda dinyatakan LULUS." akan muncul. Jika Anda memasukkan 60, tidak ada output tambahan yang muncul dari blok IF.

2. Struktur IF-THEN-ELSE (Dua Pilihan)

Struktur ini menyediakan pilihan alternatif jika kondisi pertama tidak terpenuhi (False). Ini memungkinkan program untuk menangani dua kemungkinan hasil.

Analogi: "Jika hari ini cerah, maka pergi ke pantai. Jika tidak, maka nonton film di rumah."

Format Penulisan:

IF (kondisi) THEN
begin
  // Blok kode 1 (dijalankan jika kondisi True)
end
ELSE
begin
  // Blok kode 2 (dijalankan jika kondisi False)
end;

Contoh Program: Memberikan keterangan "LULUS" atau "TIDAK LULUS" berdasarkan nilai.

program CekKelulusan_Lengkap;
var
  nilai: integer;
begin
  write('Masukkan nilai Anda: ');
  readln(nilai);

  if (nilai > 75) then
  begin
    writeln('Selamat! Anda dinyatakan LULUS.');
  end
  else
  begin
    writeln('Maaf, Anda TIDAK LULUS. Coba lagi!');
  end;

  readln;
end.

Penting! Perhatikan, baris end sebelum kata kunci else tidak diakhiri dengan titik koma (;). Ini adalah aturan sintaksis penting di Pascal.

3. Struktur IF-THEN-ELSE IF (Banyak Pilihan)

Bagaimana jika ada lebih dari dua kemungkinan? Misalnya, untuk menentukan nilai A, B, C, D, atau E. Untuk kasus seperti ini, kita menggunakan struktur IF majemuk atau bertingkat.

Analogi: "Jika punya uang > 100rb, makan steak. Jika tidak, tapi punya > 50rb, makan pizza. Jika tidak, tapi punya > 20rb, makan nasi goreng. Jika tidak punya uang sama sekali, minum air putih saja."

Studi Kasus 1: Cek Bilangan Positif, Negatif, atau Nol

Program ini menentukan kategori sebuah bilangan yang diinput oleh pengguna.

program CekBilangan;
var
  bilangan: integer;
begin
  write('Input sebuah bilangan bulat: ');
  readln(bilangan);

  if (bilangan > 0) then
  begin
    writeln('Ini adalah Bilangan Positif.');
  end
  else if (bilangan < 0) then
  begin
    writeln('Ini adalah Bilangan Negatif.');
  end
  else
  begin
    writeln('Anda menginput Bilangan Nol.');
  end;

  readln;
end.

Studi Kasus 2: Kalkulator Indeks Massa Tubuh (BMI)

Program ini menghitung BMI dan memberikan kategori kesehatan berdasarkan hasilnya.

Rumus BMI: Berat (kg) / (Tinggi (m) * Tinggi (m))

Nilai BMIKategori
< 18.5Berat Badan Kurang
18.5 - 22.9Berat Badan Normal
23 - 29.9Berat Badan Berlebih
>= 30Obesitas
program HitungBMI;
var
  bmi, berat, tinggi: real;
begin
  writeln('--- Kalkulator BMI ---');
  write('Input berat badan Anda (kg): ');
  readln(berat);
  write('Input tinggi badan Anda (m) : ');
  readln(tinggi);

  bmi := berat / (tinggi * tinggi);

  writeln('--------------------------');
  writeln('Nilai BMI Anda adalah: ', bmi:0:2);
  write('Kategori         : ');

  if (bmi >= 30) then
    writeln('Obesitas')
  else if (bmi >= 23) then
    writeln('Berat Badan Berlebih')
  else if (bmi >= 18.5) then
    writeln('Berat Badan Normal')
  else
    writeln('Berat Badan Kurang');

  readln;
end.

Catatan: Pada contoh BMI, blok begin...end setelah then dan else bisa dihilangkan jika kode yang dijalankan hanya terdiri dari satu baris perintah.

Kesimpulan

Logika percabangan IF adalah tulang punggung dari program yang "cerdas" dan dinamis. Dengan memahami ketiga struktur ini, Anda dapat mengontrol alur program Anda untuk merespons berbagai macam kondisi dan input.

  • Gunakan IF-THEN untuk pemeriksaan satu arah.
  • Gunakan IF-THEN-ELSE untuk pilihan "ini atau itu".
  • Gunakan IF-THEN-ELSE IF untuk skenario dengan banyak kemungkinan.

Tantangan: Buatlah sebuah program untuk mengkonversi nilai angka (0-100) menjadi nilai huruf (A, B, C, D, E) menggunakan struktur IF-THEN-ELSE IF!