Algoritma dan Pemrograman Oleh : Shohibul Afif. S.Kom
Pemilihan Struktur CASE Untuk masalah dengan dua kasus atau lebih, konstruksi CASE dapat menyederhanakan penulisan IF-THEN-ELSE yang bertingkat-tingkat sebagaimana pada contoh-contoh sebelumnya. Konstruksi CASE adalah sebagai berikut : Case ekspresi nilai1 : pernyataan1 nilai2 : pernyataan2 nilai3 : pernyataan3 …. nilain : pernyataann otherwisw : pernyataanx endcase
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 nilai1, nilai2, … nilain (Catatan : semua nilai-nilai ini harus berbeda). Jika nilai ekspresi sama dengan nilaik, maka pernyataank dilaksanakan. Pernyataan yang dipasangkan dengan nilaik dapat lebih dari satu, karena itu berupa runtutan. Jika tidak ada satupun nilai ekspresi yang cocok, maka pernyataan sesudah otherwise dikerjakan. Otherwise bersifat optional, artinya ia boleh ditulis atau tidak di dalam konstruksi CASE.
Konstruksi CASE di atas menggantika analisis kasus yang ekivalen dengan konstruksi IF- THEN-ELSE berikut ini : If ekspresi = nilai1 then pernyataan1 else if ekspresi = nilai2 then pernyataan2 if ekpresi = nilai3 then pernyataan3 …. if ekspresi = nilai n then pernyataann pernyataanx endif
Contoh Konversi angka ke teks Buatlah algoritma yang membaca sebuah bilangan bulat antara 1 sampai 4, lalu mencetak teks angka tersebut. Misalnya bila dibaca angka 1, maka tercetak tulisan “satu”, bila dibaca 2, maka tercetak dilayar tulisan “dua”, demikian seterusnya. Jika angka yang dimasukkan selain 1 sampai 4, tuliskan pesan bahwa angka yang dimasukkan salah.
Penyelesaian Dengan struktur IF-THE-ELSE, algoritma mencetak kata untuk angka yang bersesuain adalah sebagai berikut : Algoritma 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 write (‘angka yang dimasukkan salah’) endif
Dengan konstruksi CASE, algoritma untuk masalah di atas dapat dibuat menjadi lebih singkat sebagai berikut : Algoritma: Read (angka) Case angka 1 : write(‘satu’) 2 : write(‘dua’) 3 : write(‘tiga’) 4 : write(‘empat’) otherwise : write(‘angka yang dimasukkan salah’) Endcase
Kasus mencetak nama bulan berdasarkan nomornya Buatlah algoritma yang membaca nomor bulan (integer), lalu menuliskan nama bulan sesuai dengan angka bulannya. Misalnya jika dibaca bulan 8, maka tercetak ‘Agustus’
Penyelesaian Masalah ini memiliki 13 buah kasus karena nama bulan berbeda-beda bergantung pada nomor bulan yang diberikan (ada 12 bulan dalam kalender masehi). Satu kasus tambahan adalah bila nomor bulan yang dimasukkan diluar rentang 1 .. 12.
Algoritma Read (nomor_bulan) Case nomor_bulan 1 : write (‘Januari’) 2 : write (‘Februari’) 3 : write (‘Maret’) 4 : write (‘April’) 5 : write (‘Mei’) 6 : write (‘Juni’) …. 12 : write (‘Desember’) otherwise : write(‘Bukan bulan yang benar’) endcase
Tuliskan kembali kasus menentukan upah karyawan yang bergantung pada golongannya dengan menggunakan konstruksi Case Buatkan algoritma dan program menu persegipanjang dengan pilihan menghitung luas, hitung keliling, hitung panjang diagonal dan keluar program!
SEKIAN DAN TERIMA KASIH