Pernyataan Bersyarat (Part 3)


PERNYATAAN BERSYARAT (PART 3)



Selain  struktur  kendali  If,  pascal  juga  menyediakan  suatu  struktur  Case,  yang  akan menjalankan statement berdasarkan range tertentu, adapun syntaxnya adalah sebagai berikut :
Case variabel Of
Range1 : Statement1;
Range2 : Statement2;
Range3 : Statement3;
Else StatementN;
End;


Gambar 4. Flowchart Statement CASE

Variabel pemilih tidak boleh bertipe real. Pernyataan yang akan dijalankan sesuai dengan daftar-label yang memuat nilai variabel pemilih. Jika nilai dari variabel pemilih  tidak ada dalam semua daftar label, maka pernyataan yang akan dijalankan adalah  pernyataan yang mengikuti ELSE. ELSE dalam pernyataan CASE boleh tidak ada. Seperti halnya dengan pernyataan IF, jika pernyataan yang mengikuti daftar-label lebih dari satu maka harus diawali oleh Begin dan diakhiri oleh End. 
Misalnya saya punya permasalahan bagaimana menentukan nilai seorang mahasiswa berdasarkan range nilai yang ada. Jika saya menggunakan statement IF, syntax-nya adalah sebagai berikut:
---------------------------------------------------------
program mencari_nilai_mata_kuliah;
uses wincrt;
var
n:real;
begin
write ('masukkan nilai PIK-mu ');
read (n);
if n<0 then writeln ('nilai apa itu?')
ELSE IF n<41 then writeln ('nilaimu E')
else if n<60 then writeln ('nilaimu D')
else if n<66 then  writeln('nilaimu C')
else if n<71 then writeln ('nilaimu BC’)
else if n<76 then writeln('nilaimu B')
else if n<81 then writeln('nilaimu AB')
else if n<=100 THEN writeln ('selamat nilaimu A')
else writeln ('GAK MUNGKIN ADA NILAI SEGITU.....!');
end.

------------------------------------------------------------
Atau dengan syntax seperti ini.
-----------------------------------------------------------
program mencari_nilai_mata_kuliah;
uses wincrt;
var
n:real;
begin
write ('masukkan nilai PIK-mu ');
read (n);
if n<0 then writeln ('nilai apa itu')
else if(n>=0) and (n<=40) then writeln('nilaimu E’)
else if(n>=41) and (n<=60) then writeln('nilaimu D')
else if(n>=61) and (n<=65) then  writeln('nilaimu C')
else if(n>=66) and (n<=70) then writeln('nilaimu BC')
else if(n>=71) and (n<=75) then writel('nilaimu B')
else if(n>=76) and (n<80) then writeln('nilaimu AB')
else if(n>=81) and (n<=100) then writeln('selamat nilaimu A')
else writeln ('GAK MUNGKIN ADA NILAI SEGITU!');
end.

-------------------------------------------------------
Tepi kalau memakai statement CASE, syntax-nya seperti berikut:
--------------------------------------------------------
program case_of_nilai;
uses wincrt;
var
i:integer;
begin
readln(i);
case i of 81..100 : writeln('A');
76..80 : writeln ('AB');
71..75 : writeln ('B');
66..70 : writeln ('BC');
61..65 : writeln ('C');
41..60 : writeln ('D') ;
0..40 : writeln ('E');
else writeln ('input nilai salah');
end.

------------------------------------------------------------

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS
Read Comments

0 komentar:

Posting Komentar