Fungsi Case
Bentuk Umum CASE dan variasinya
Sebenarnya semua bentuk pemilihan dapat ditulis dengan IF, namun penulisan dengan IF untuk banyak pilihan terasa kurang praktis. Bentuk CASE adalah cara lain penulisan bentuk pemilihan yang lebih sederhana, namun bentuk ini hanya dapat menggantikan IF apabila memenuhi syarat:
- kondisi berupa pembandingan kesamaan (dengan tanda “=” )
- nilai yang dibandingkan bertipe ordinal (integer,char dan boolean)
Bentuk CASE yang juga dikenal dengan istilah CASE Statement, memiliki bentuk umum sebagai berikut :
Case ekspresi
Nilai-1: Aksi-1
Nilai-2: Aksi-2
...
Nilai-N: Aksi-N
[Otherwise : Aksi-X]
End Case
Ekspresi bertipe ordinal, berupa:
Sebuah nilai ordinal: boolean, integer, char (bukan string atau real)
Sebuah variabel bertipe ordinal
Operasi data (nilai atau variabel) yang menghasilkan sebuah nilai ordinal
Nilai harus berupa nilai ordinal (tidak boleh variabel)
Aksi berupa satu statement beberapa statement, dimana tiap statement dapat berupa:
Statement pengisian nilai seperti a ß 5
Statement input data
Statement output data
Statement pemilihan (If Statement atau Case Statement)
Statement pengulangan (For, Repeat atau While Statement)
[otherwise: Aksi-X], tanda [ ] menyatakan opsional (boleh ada/tidak ada),
dimana kalau tidak ada, berarti setelah Aksi-1 langsung selesai.
Fungsi Otherwise sama dengan ELSE pada IF Statement
Dari bentuk umum yang telah dijelaskan, maka variasi bentuk CASE ini
banyak dan tidak berhingga. Di antaranya yang penting dapat disebutkan berikut:
- Case tanpa otherwise
- Case dengan otherwise
- Case dengan Aksi yang sama untuk beberapa Nilai
- Case bersarang dimana dalam case ada case lagi, atau Statement lain
Contoh-contoh variasi:
1. Case tanpa otherwise
Case ekspresi
Nilai-1: Statement-1
Nilai-2: Statement -2
...
Nilai-N: Statement -N
End Case
2. Case dengan otherwise
Case ekspresi
Nilai-1: Statement -1
Nilai-2: Statement -2
...
Nilai-N: Statement -N
[Otherwise : Aksi-X]
End Case
Terapan bentuk-bentuk CASE
Kasus : Menentukan nama hari dari nomor hari yang diinput
Dinput nomor hari, ditampilkan nama harinya, bagaimana algoritmanya?
Solusi dengan IF dan CASE
Tidak ada komentar