Tutorial Belajar Pascal Part 40: Struktur Percabangan CASE ELSE dalam Pascal

Dalam tutorial sebelumnya, kita telah membahas cara penulisan struktur percabangan CASE dalam bahasa Pascal. Selain itu, masih terdapat fitur tambahan di dalam CASE, seperti CASE ELSE, menjalankan 1 perintah untuk banyak CASE, maupun menjalankan beberapa perintah dalam 1 kondisi CASE .

Inilah yang akan kita bahas dalam tutorial PASCAL di Duniailkom kali ini, yakni materi lanjutan tentang pembuatan struktur CASE dalam bahasa Pascal.


Membuat Kondisi Default Dengan CASE ELSE

Pada tutorial Struktur Percabangan CASE dalam Pascal kita telah mempelajari konsep dasar penulisan CASE. Dimana saya membuat contoh kode program yang memeriksa nilai variabel bulan, kemudian menampilkan teks dari bulan tersebut. Mari kita masuk ke contoh lain:

program struktur_case;
uses crt;
var
  grade: string;
begin
  clrscr;
  write('Silahkan input grade anda (A-E): ');
  readln(grade);
  
  case (grade) of
     'A' : writeln('Sangat Memuaskan');
     'B' : writeln('Memuaskan');
     'C' : writeln('Kurang Baik');
     'D' : writeln('Kurang Baik');
     'E' : writeln('Maaf, anda tidak lolos');
  end;
  
  readln;
end.

Kali ini saya membuat kode program yang meminta inputan berupa huruf AE, yang disimpan ke dalam variabel grade. Jika diiput ‘A’, maka akan tampil teks ‘Sangat Memuaskan’, jika diinput ‘B’, akan tampil teks ‘Memuaskan’, demikian hingga grade E.

Contoh Program Pascal - Kondisi Percabangan CASEContoh kali ini kurang lebih sama seperti contoh dalam tutorial sebelumnya. Tapi, bagaimana jika seseorang menginput huruf F? atau X? atau Z? Huruf-huruf ini tidak ada di dalam kondisi yang kita periksa.

Untuk situasi seperti ini kita bisa menggunakan stuktur CASE ELSE. Langsung saja ke dalam contoh kode programnya:

program struktur_case;
uses crt;
var
  grade: string;
begin
  clrscr;
  write('Silahkan input grade anda (A-E): ');
  readln(grade);
  
  case (grade) of
     'A' : writeln('Sangat Memuaskan');
     'B' : writeln('Memuaskan');
     'C' : writeln('Kurang Baik');
     'D' : writeln('Kurang Baik');
     'E' : writeln('Maaf, anda tidak lolos');
  else
    writeln('Maaf, format yang anda masukkan salah');
    writeln('Harap input grade berupa huruf: A, B, C, D, atau E');
  end;
  
  readln;
end.

Perhatikan tambahan bagian ELSE. Artinya, jika kelima kondisi tidak cocok (yang diinput selain dari huruf A – E), maka tampilkan perintah:

writeln('Maaf, format yang anda masukkan salah');
writeln('Harap input grade berupa huruf: A, B, C, D, atau E');

Dengan demikian, jika ada yang iseng menginput huruf lain, akan tampil penjelasan seperti diatas. Jika tidak ditambahkan, kode program kita hanya menampilkan layar kosong (blank).

Contoh Program Pascal - Kondisi Percabangan CASE ELSE


Menjalankan Kode Program Untuk Lebih dari 1 Kondisi CASE

Fitur lain yang tersedia didalam kondisi CASE adalah menjalankan kode program yang sama untuk lebih dari 1 kondisi. Jika anda perhatikan, contoh program grade sebelumnya menampilkan teks ‘Kurang Baik’ untuk kondisi C dan D. Ini bisa kita satukan menjadi seperti berikut ini:

program struktur_case;
uses crt;
var
  grade: string;
begin
  clrscr;
  write('Silahkan input grade anda (A-E): ');
  readln(grade);
  
  case (grade) of
     'A' : writeln('Sangat Memuaskan');
     'B' : writeln('Memuaskan');
     'C','D' : writeln('Kurang Baik');
     'E' : writeln('Maaf, anda tidak lolos');
  else
    writeln('Maaf, format yang anda masukkan salah');
    writeln('Harap input grade berupa huruf: A, B, C, D, atau E');
  end;
  
  readln;
end.

Dibaris ke 13, saya menulis ‘C’,’D’ : writeln(‘Kurang Baik’). Ini artinya jika variabel grade berisi huruf C atau D, tampilkan teks yang sama: ‘Kurang Baik’. Fitur seperti ini bisa digunakan untuk mempersingat penulisan kode program.


Menjalankan Banyak Kode Program untuk 1 Kondisi CASE

Kali ini kita akan membahas kebalikan dari contoh diatas, yakni bagaimana cara menjalankan banyak kode program untuk 1 kondisi CASE. Caranya mirip seperti tutorial IF THEN ELSE, yakni dengan blok begin dan end; untuk setiap kode program kondisi.

Berikut contoh penggunaannya:

program struktur_case;
uses crt;
var
  grade: string;
begin
  clrscr;
  write('Silahkan input grade anda (A-E): ');
  readln(grade);
  
  case (grade) of
    'A' : 
      begin
        writeln('Sangat Memuaskan');
        writeln('Pertahankan!');
      end; 
    'B' : 
      begin
      writeln('Memuaskan');
      writeln('Tingkatkan lagi!');
      end;
    'C','D' : 
      begin
        writeln('Kurang Baik');
        writeln('Agar Lebih banyak belajar!');
      end;
    'E' : 
      begin
        writeln('Maaf, anda tidak lolos');
        writeln('Selama ini ngapain saja bro...?');
      end
  else
    writeln('Maaf, format yang anda masukkan salah');
    writeln('Harap input grade berupa huruf: A, B, C, D, atau E');
  end;
  
  readln;
end.

Kode program diatas merupakan modifikasi dari kode kita sebelumnya. Disini dalam setiap kondisi saya menjalankan 2 baris perintah writeln. Tentu saja tidak dibatasi dengan 2 baris saja, bisa 3, 4 atau lebih. Dengan syarat, harus berada diantara blok begin dan end;.

Contoh Program Pascal - Kondisi Percabangan CASE 2


Batasan dari struktur CASE

Struktur CASE menawarkan penulisan yang lebih singkat dan efisien dibandingkan struktur IF THEN, namun kondisi yang bisa dipakai hanya sederhana seperti yang saya contohkan, misalkan apakah sebuah variabel bernilai angka atau string tertentu.

Untuk kondisi yang lebih rumit seperti perbandingan lebih besar ” > ” atau lebih kecil ” <“, atau perbandingan yang melibatkan lebih dari 1 kondisi, kita tidak bisa menggunakan CASE. Kode program untuk menentukan apakah sebuah angka genap atau ganjil, tidak bisa dikonversi ke dalam CASE.

Dalam pemrograman yang “sebenarnya”, kita juga lebih sering menggunakan IF daripada CASE. Tapi untuk situasi yang melibatkan banyak perulangan sederhana, struktur CASE lebih rapi dan singkat daripada IF.


Tutorial tentang CASE ELSE kali ini menutup tutorial tentang struktur logika di dalam bahasa pemrograman Pascal. Berikutnya, kita akan masuk ke struktur perulangan atau looping, yang diawali dengan perulangan FOR DO dalam bahasa pascal.


Tutorial Terkait:

11 Comments

  1. Taufik
    15 Oct 16
  2. Dita
    16 Oct 16
    • Dita
      16 Oct 16
    • Andre
      17 Oct 16
  3. Fuadin Latif
    18 Oct 16
    • Andre
      19 Oct 16
  4. Bill Gates
    19 Oct 16
    • Andre
      19 Oct 16
  5. Taufik
    21 Oct 16
    • Andre
      22 Oct 16

Add Comment