STRUKTUR CASE Zulfikar Sembiring CASE Untuk masalah dengan
STRUKTUR CASE Zulfikar Sembiring
CASE Untuk masalah dengan dua kasus atau lebih, konstruksi CASE dapat menyederhanakan penulisan IF-THEN-ELSE yang bertingkat – tingkat.
Konstruksi CASE Statement yang digunakan: case ekspresi nilai 1 : aksi 1 nilai 2 : aksi 2 nilai 3 : aksi 3. . nilain : aksin otherwise : aksi x endcase
Penjelasan Ekspresi adalah sembarang ekspresi (aritmatika atau boolean) yang menghasilkan suatu nilai (konstanta) Konstruksi CASE memeriksa apakah nilai dari ekspresi tersebut sama dengan salah satu dari nilai 1, nilai 2, . . dst. Jika nilai ekspresi sama dengan nilai itu benar maka aksi dilaksanakan. Jika tidak ada satu pun nilai ekspresi yang cocok, maka aksi sesudah otherwise dikerjakan. Otherwise bersifat optional (boleh ditulis atau
contoh 1 Buatlah algortima yang membaca sebuah bilangan bulat yang nilainya terletak antara 1 sampai 4 lalu mencetak tulisan angka tersebut. Misalkan, bila dibaca angka 1, maka tercetak tulisan ‘satu’, bila dibaca 2, maka tercetak dilayar tulisan ‘dua’. Demikian seterusnya. Jika angka yang dimasukan selain 1 sampai 4, tuliskan pesan bahwa angka yang dimasukan salah.
Penyelesaian Algoritma mencetak tulisan nama dari angka. Deklasrasi Angka: integer Deskripsi Read (angka) Case angka 1: write (“satu”) 2 : write (“dua”) 3 : write (“tiga”) 4 : write (“empat”) Otherwise : write (“angka yang di masukan salah “) endcase
Contoh 2 Buatlah algoritma yang membaca sebuah bilangan bulat, lalu mencetak pesan “Genap” jika bilangan tersebut adalah genap dan mencetak” ganjil” jika bilangan tersebut ganjil. Algoritma mencetak tulisan genap dari bilangan yang diinputkan Deklasrasi x : integer Deskripsi Read (x) Case x mod 2 0: write (“genap”) 1 : write (“ganjil”)
Diskusi Buatlah algoritma yang membaca nomor bulan (integer), lalu menuliskan nama bulan sesuai angka bulannya. Misalnya dibaca bulan 8, maka tercetak ’agustus’, kalau dibaca bulan 10, maka tercetak oktober.
Penggunaan CASE Konstruksi case sering digunakan dalam memilih menu program. Program menawarkan sejumlah menu. Pengguna cukup mengetikan nomor menu yang diinginkan. Setiap kali nomor menu di pilih, maka prosedur yang berasosiasi dengan nomor menu tersebut di eksekusi. misalkan sebuah program mempunya menu sebagai berikut :
contoh 1. 2. 3. 4. 5. MENU Baca data Cetak data Ubah data Hapus data Keluar program Buatlah algoritma yang mencetak menu tersebut dan membaca nomor pilihan menu, untuk setiap nomor menu yang di pilih, cukup tuliskan pesan : anda memilih nomor <nomormenu>
penyelesiaan Algoritma Simulasi Menu Program Deklasrasi Nomor_menu: integer Deskripsi write (‘ MENU ’ ) Write (‘ 1. Baca Data ‘ ) Write (‘ 2. Cetak data‘ ) Write (‘ 3. Ubah Data ‘ ) Write (‘ 4. Hapus Data ‘ ) Read (nomor_menu) Case nomor_menu 1: write (“Anda Memilih nomor 1”) 2 : write (“Anda Memilih nomor 2”) 3 : write (“Anda Memilih nomor 3”) 4 : write (“Anda Memilih nomor 4”) endcase
Diskusi Buatlah program untuk menghitung luas dan keliling dengan menggunakan menu, dengan ketentuan sebagai berikut: 1. Menghitung Luas Persegi Panjang. 2. keliling persegi panjang 3. keluar dari program
Hasil Program MENU EMPAT PERSEGI PANJANG 1. Hitung luas 2. Hitung Keliling 3. Keluar Program Masukan Pilihan Anda (1/2/3)?
penyelesaian Algoritma Menu program persegi Deklasrasi Nomor_menu: integer Panjang, lebar, keliling, luas: integer Deskripsi write (‘ MENU PERSEGI PANJANG ’ ) Write (‘ 1. Hitung Luas‘ ) Write (‘ 2. Hitung Keliling‘ ) Write (‘ 3. Keluar Program‘ ) Read (nomor_menu) Case nomor_menu 1: read (panjang, lebar) luas panjang*lebar write (luas) 2 : read (panjang, lebar) keliling (2* panjang) + (2*lebar) write (keliling) 4 : write (“keluar program”) endcase
LATIHAN INDIVIDU Buatlah program untuk menghitung luas dengan menggunakan menu, dengan ketentuan sebagai berikut: 1. Menghitung Luas Bujur Sangkar. 2. Menghitung Luas Persegi Panjang. 3. Menghitung Luas Segi Tiga 4. Menghitung Luas Lingkaran. 5. Keluar Program
TUGAS Karyawan honorer di PT ‘ABC’ dikelompokan berdasarkan golongannya. Upah per jam tiap karyawan bergantung pada golongannya (lihat tabel). jumlah jam kerja yang normal selama 1 minggu adalah 48 jam, kelebihan jam kerja daianggap lebur dengan upah lembur adalah Rp 3000/jam. Untuk semua golongan karyawan. Tulislah algoritma yang membaca jumlah jam kerja, golongan dan nama seorang karyawan selama satu minggu, Golonga Upah per jam lalu menghitung gaji mingguannya. n A Rp. 4000 B Rp. 5000 C Rp. 6000
- Slides: 18