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 A – E, 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 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).
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;.
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.
Sumber wk.com
EmoticonEmoticon