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.
------------------------------------------------------------
0 komentar:
Posting Komentar