๐ Daftar Isi
Konsep Case
Penggunaan case ditujuan untuk masalah dengan dua kasus atau lebih. Tentunya tujuan utama penggunaan case ini bertujuan untuk mempersingkat kode progam agar lebih efektif. Struktur CASE dapat menyederhanakan penulisan IF THEN ELSE yang bertingkat tingkat sebagaimana pada artikel sebelumnya.
Bentuk umum case adalah sebagai berikut.
case ungkapan of
case1 : statemen1;
case2 : statemen2;
case3 : statemen3;
...
...
...
case n : statemen n;
end.
Struktur case di atas menggantikan analisis kasus yang ekuivalen dengan struktur if-then-else berikut ini.
if kondisi1 then
aksi1
else
if kondisi2 then
aksi2
else
if kondisi3 then
aksi3
else
...
if kondisiNthen
aksiN
else {otherwise}
aksiX
endif
endif
endif
endif
Kelebihan dan Kekurangan Struktur Case
Kelebihan struktur CASE :
- Struktur script atau codenya yang lebih ringkas
- Tampilan program akan lebih rapi
Kekurangan struktur CASE :
- Tidak bisa menyelesaikan semua masalah pada pascal terutama untuk menjalankan percabangan yang rumit
- Kondisi yang dapat dipakai terbatas hanya sebuah variabel bernilai angka atau string tertentu
- Apabila salah satu kondisi terpenuhi dan statement tersebut telah diproses, selanjutnya statement-statement yang lainnya dalam lingkungan CASE tidak akan diseleksi lagi
- Tidak bisa digunakan kondisi yang lebih rumit misal perbandingan lebih besar โ>โ atau lebih kecil โ<โ atau perbandingan yang melibatkan lebih dari 1 kondisi. Seperti kode program menentukan angka ganjil atau genap, tidak bisa dikonversi ke dalam CASE
Contoh Perbedaan If-Then-Else dan Case
Buatlah algoritma yang membaca sebuah angka bulat yang nilainya terletak antara 1 sampai 4, lalu menuliskan ke piranti keluaran angka tersebut dalam kata kata. Misalkan bila dibaca angka 1, maka tercetak tulisan ‘satuโ, bila dibaca 2, maka tercetak di layar tulisan ‘duaโ, dst. Jika angka yang dimasukkan selain 1 sampai 4, tuliskan pesan bahwa angka yang dimasukkan salah.
Ketika permasalahan di atas diselesaikan dengan struktur if-then-else maka akan seperti berikut.
algoritma kataangka
deklarasi
angka:integer {angka yang dibaca}
deskripsi
read(angka)
if angka=1 then
write('satu')
else
if angka=2 then
write('dua')
else
if angka=3 then
write('tiga')
else
if angka=4 then
write('empat')
else {otherwise}
write('Angka yang dimasukkan salah')
endif
endif
endif
endif
Dengan menggunakan struktur case, algoritma untuk permasalahan tersebut dapat dibuat menjadi lebih singkat dan efektif sebagai berikut.
algoritma kataangka;
deklarasi
a:integer {angka yang dibaca}
deskripsi
read(a)
case(a)
a=1 : write('satu')
a=2 : write('dua')
a=3 : write('tiga')
a=4 : write('empat')
otherwise write('Angka yang dimasukkan salah')
endcase
Materi Lengkap
Silakan baca juga beberapa artikel menarik kami tentang Konsep Pemilihan, daftar lengkapnya adalah sebagai berikut.