Bab. 6
Pemilihan (Strukur Case)
Struktur CASE
Untuk masalah dengan dua kasus atau lebih, struktur CASE dapat menyederhanakan penulisan IF-THEN-ELSE yang bertingkat. Struktur CASE adalah sebagai berikut:
Case (ekspresi)
kondisi1 : aksi1
kondisi2 : aksi2
kondisi3 : aksi3
kondisi3 : aksi3
.
.
kondisi4 : aksi4
[otherwise aksiX]
endcase
Kondisi1, kondisi2,…, kondisiN dapat bernilai benar atau salah. Tiap kondisi diperiksa nilai kebenarannya mulai dari kondisi pertama sampai ditemukan kondisi yang bernilai benar. Jika kondisi ke-k dilaksanakan, selanjutnya keluar dari struktur CASE. Aksi yang dipasangkan dengan kondisi ke-k dapat lebih dari satu. Jika tidak ada satupun kondisi yang benar, maka aksi sesudah otherwise dikerjakan. Perhatikanlah bahwa otherwise optional, artinya boleh ditulis boleh juga tidak ditulis.
Struktur CASE tersebut (pada slide sebelumnya) menggantikan analisis kasus yang ekivalen dengan struktur IF-THEN-ELSE berikut:
if kondisi1 then
aksi1
aksi1
else
if kondisi2 then
aksi2
else
if kondisi3 then
aksi3
else
if kondisi4 then
aksi4
endif
endif
endif
endif
Tidak semua bahasa pemrograman menyediakan struktur case (misalnya bahasa Fortran). Bahasa C, JAVA, dan PASCAL menyediakan struktur ini. Jika bahasa pemrograman tidak menyediakan struktur CASE, maka CASE dapat diganti dengan struktur IF-THEN-ELSE yang ekivalen.
Contoh Soal:
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 tulisan “dua”, demikian seterusnya. Jika angka yang dimasukkan selain 1 sampai 4 tuliskan pesan bahwa angka yang dimasukkan salah.
Dengan struktur IF-THEN-ELSE
Dengan struktur CASE, algoritma untuk masalah tersebut dapat dibuat menjadi lebih singkat sebagai berikut:
LATIHAN
- Buatlah algoritma yang membaca angka bulan (integer), lalu menuliskan nama bulan sesuai angka bulannya. Misalnya jika dibaca bulan 8, maka tercetak ‘Agustus’.
- Sebuah program mempunyai menu sebagai berikut:
===== MENU =====
1. Baca data
2. Cetak data
3. Ubah data
4. Hapus data
5. Keluar program
=================
Pilihan Anda =
=================
.
Buatlah algoritma yang mencetak menu tersebut dan membaca nomor pilihan menu. Untuk nomor menu yang dipilih, tuliskan pesan seperti contoh berikut
Anda memilih menu nomor
.
Yang dalam hal iniadalah nomor menu yang dipilih oleh pengguna - Buatlah algoritma untuk menentukan: luas empat persegi panjang, keliling empat persegi panjang, dan panjang diagonal, lengkapi program dengan pilihihan menu: 1) Luas, 2) Keliling, 3) Panjang diagonal, 4) Keluar program. Pada setiap pilihan menu, dibaca panjang dan lebar empat persegi panjang.
Luas persegi panjang = P * L
Keliling persegi panjang = 2*panjang + 2*lebar
Diagonal = sqrt(P*P + lebar*lebar)