Powered By Blogger

Pemilihan (Struktur CASE)

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
     .
     .
     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
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

  1. Buatlah algoritma yang membaca angka bulan (integer), lalu menuliskan nama bulan sesuai angka bulannya. Misalnya jika dibaca bulan 8, maka tercetak ‘Agustus’.
  2. 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 ini adalah nomor menu yang dipilih oleh pengguna
  3. 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)