Minggu, 06 Oktober 2013

Statemen Case

            Statemen Case berbeda dengan statemen if untuk memilih dari dua kondisi yang berbeda berdasarkan ekspesi boolean, statemen Case digunakan untuk memilih jika terdapat lebih dari dua kondisi yang setiapnya memerlukan penanganan yang berbeda (Fathul Wahid, 2004. Dasar Dasar Algoritma dan Pemrograman : Andi Yogyakarta).

Aturan penulisan statemen Case sebagai berikut :
case variabel of
     konstanta1 : statemen1;
     konstanta2 : statemen2;
     …
     konstantaN : statemenN;
end;
penjelasan diatas :
Pada bagian variabel di atas adalah nama variabel yang kita gunakan pada bagian deklarasi sebelumnya. Lalu dari konstanta1 hingga konstantaN adalah harga masukan(nilai input) atau case label yang berbanding dengan variabel, sedangkan pada statemen1 hingga statemenN adalah nilai masukan sebagai harga keluaran atau proses.
Aturan pada statemen case yaitu :
1.      Variabel yang digunakan pada bagian statemen case harus bersifat ordinal yaitu integer dan char.
2.       Berapapun jumlah statemen case harus bersamaan dengan setiap konstanta, setiap satu statemen atau lebih dari variabel harus memiliki nilai yang sama dengan variabelnya(berasosiasi).
3.       Setiap Case(konstanta) diikuti dengan nilai yang akan dibandingkan dengan titik dua.
4.      Compiler akan mengevaluasi ekspresi case. Jika salah satu dari nilai case label ini sesuai dengan nilai ekspresi, pernyataan yang mengikuti label ini dijalankan. Setelah itu, program akan berakhir.
5.      Jika input case label tidak tersedia pada daftar case label yang kita buat maka tidak akan di proses terkecuali menggunakan case-of..else.
6.      Case label bisa berupa sebuah nilai,konstanta atau range/jangkauan nilai yang bukan bertipe real
Sebagai contoh sekaligus syarat tugas dari Dosen Pa Irwan Budiman. Soalnya buat program fotocopy dengan jenis kertas berbeda dengan keterangan apabila kertas no 1 = folio,no 2 = Quarto,no 3 = A4,no 4 = A3 dengan harga       Rp 150 folio, Rp 100 Quarto, Rp 200 A4, dan Rp 400 A3. Maka syntax programnya menggunakan pascal seperti berikut :
program fotocopyV2;
uses crt;
var jum,kode,bayar : integer;
Begin
clrscr;
write (‘jumlah kertas : ‘);
readln (jum);
write(‘jenis kertas (1= Folio Rp 150, no 2=Quarto Rp 100, no 3=A4 Rp 200, no 4=A3 Rp 400 : ’);
readln (kode);
case kode of
1 : bayar:= jum*150;
2 : bayar:= jum*100;
3 : bayar:= jum*200;
4 : bayar:= jum*400;
end;
writeln (‘jumlah bayar : ‘,bayar);
end.

jika syntax program telah ditulis seperti di atas maka akan seperti di bawah ini :

ketika program dijalan pertama kali maka akan tampil seperti dibawah ini
contoh kita memasukan jumlah kertas 10 kemudian memilih jenis kertas 1 maka hasilnya seperti dibawah :

Algoritma nya dalam bentuk flow chart berdasarkan syntax diatas yaitu :


Mungkin penjelasan saya masih susah dimengerti dan terdapat kesalahan. sekian dan terima kasih 



Tidak ada komentar:

Posting Komentar