Selasa, 08 Desember 2009

CONDITION/SELECTION

CONDITION/SELECTION

Sistem ini memungkinkan programmer untuk membuat program yang dapat memilih satu langkah di antara sejumlah langkah untuk dikerjakan.
Hamper tiap program yang komplek mengandung suatu penyeleksian tertentu. Dengan menyeleksi suatu kondisi, program dapat menentukan tindakan apa yang harus dikerjakan, tergantung dari hasil kondisi yang diseleksi tersebut. Untuk menyeleksi suatu kondisi, di dalam pascal dapat dipergunakan system If dan Case.
Statemen If dapat dibagi menjadi tiga, yaitu:
1. Statemen If-Then
2. Statemen If-Then…Else
3. Statemen If Bersarang (Nested)
Sedangkan statemen Case dapat dibedakan menjadi dua, yaitu:
1. Statemen Case-of
2. Statemen Case-of … Else

Statemen If
Statemen dari statemen If dapat berupa If-Then atau If-Then-Else

Statemen If – Then
Contoh penggunaan statemen If – Then
uses wincrt;
var
nilai_ujian:real;
keterangan:string;
begin
keterangan:='tidak lulus';
write('nilai yang diperoleh mahasiswa?');
readln(nilai_ujian);
if nilai_ujian > 50 then keterangan:='lulus';
write(keterangan);
end.

Statemen If - Then..else
Bentuk dari statemen if-then…else merupakan pengembangan dari struktur If-Then dengan statemen sebagai berikut.
If kondisi Then
Statemen 1 (instruksi 1)
Else
Statemen 2 (instruksi 2)

Berikut merupakan contoh program yang menggunakan condition

program kelulusan;
uses wincrt;
var a,b,c:integer;
d:real;
begin
write('nilai kalkulus=');readln(a);
write('nilai geometri=');readln(b);
write('nilai PDB='); readln(c);
d:=(a+b+c)/3;
writeln('nilai rata-rata matematika=',d:2:2);
If d>50 then
writeln('Selamat Anda lulus!!!')
else
writeln('Maaf Anda tidak lulus')
end.
Statemen Bersarang
Statemen bersarang adalah bentuk statemen If yang dapat mengandung pernyataan If yang lain. Hal yang penting di dalam pembuatan If bersarang adalah pemahaman terhadap If Else.
Contoh:
Program Nilai_Ujian;
Uses wincrt;
Var
na :integer; skor : string;
Begin
Write ('input nilai :');
readln (na);
if (na<=50) then skor := 'E' else
if (na<=60) then skor := 'D' else
if (na<=75) then skor := 'C' else
if (na<=85) then skor := 'B' else
if (na<=100) then skor:= 'A';
write ('nilai yang diinputkan memiliki skor :',skor);
End.

Statemen Case
Statemen Case merupakan alternative dari pernyataan if untuk masalah pilihan yang berganda pada masalah tertentu, Case lebih member kejelasan daripada if. Namun, perlu diketahui bahwa sama persoalan yang dapat ditangani Case bisa ditangani oleh If, tetapi tidak sebaliknya.

Statemen Case-of
Struktur Case-of mempunyai suatu ungkapan logika yang biasa disebut dengan selector dan sejumlah statemen yang diawali dengan suatu label permasalahan (case label) yang mempunyai tipe sama dengan selector. Statemen yang mempunyai case label yang bernilai sama dengan nilai selector akan diproses sedang statemen yang lainnya tidak.
Perbedaan dengan if adalah bila statemen If menyeleksi suatu kondisi dan terpenuhi, setelah memproses statemen dalam lingkungan yang terpenuhi tersebut, proses penyeleksian masih dilakukan terhadap statemen If berikutnya yang lain. Sedangkan pada statemen Case-of bila salah satu kondisi terpenuhi (nilai case label sama dengan niali selector) dan statemen tersebut telah diprose, selanjutnya statemen-statemen yang lainnya dalam bentuk Case tidak akan diseleksi lagi.
Contoh program dari Case-of:
program mengeja;
uses wincrt;
var a:integer;
b,c:integer;
begin
write('bilangan yang anda punyai: ');readln(a);
b:=a div 10;
if a=11 then write('sebelas')
else if a=17 then write('tujuhbelas')
else if a=12 then write('duabelas');
case b of
1:begin write('sepuluh'); end;
2:begin write('dua puluh'); end;
3:begin write('tiga puluh'); end;
4:begin write('empat puluh');end;
5:begin write('lima puluh'); end;
6:begin write('enam puluh'); end;
7:begin write('tujuh puluh'); end;
8:begin write ('delapan puluh');end;
9:begin write('sembilan puluh');end;
end;
c:=a mod 10;
write(' ');
case c of
1:begin write('satu'); end;
2:begin write('dua'); end;
3:begin write('tiga'); end;
4:begin write('empat');end;
5:begin write('lima'); end;
6:begin write('enam'); end;
7:begin write('tujuh'); end;
8:begin write ('delapan');end;
9:begin write('sembilan');end;
end;
end.

Statemen Case-Of … Else
Statemen Case-Of … Else merupakan pengembangan dari statemen case-of dan merupakan pengembangan dari standar Pascal. Pada Case-Of bila tidak ada kondisi yang terpenuhi, berarti tidak ada statemen yang di dalam lingkungan Case-Of yang diproses. Dengan struktur Case_of…Else, bila tidak ada kondisi yang terpenuhi, maka statemen yang akan diproses di dalam lingkungan Case-Of adalah statemen yang ada di Else.
Contoh Program:
MENU MAKANAN
program menu;
uses wincrt;
var
x:integer;
begin
gotoxy(20,5);writeln('menu warung top=');
gotoxy(20,6);writeln('================');
gotoxy(20,9);writeln('1.ayam kremes');
gotoxy(20,10);writeln('2.mie goreng');
gotoxy(20,11);writeln('3.mie bandung');
gotoxy(20,12);writeln('4.pindang srani');
gotoxy(20,16);write ('apa menu favorit anda?');
readln(x);
case x of
1:begin
clrscr;
writeln('menu yang anda pilih adalah....');
writeln('ayam kremes');
end;
2:begin
clrscr;
writeln('menu yang anda pilih adalah....');
writeln('mie goreng');
end;
3:begin
clrscr;
writeln('menu yang anda pilih adalah....');
writeln('mie bandung');
end;
4:begin
clrscr;
writeln('menu yang anda pilih adalah....');
writeln('pindang srani');
end;
Else
clrscr;
writeln('Anda Salah Pilih');
end;
end.

Tidak ada komentar:

Posting Komentar

MATERI PERKULIAHAN KONSEP MATEMATIKA

Mata kuliah konsep matematika terdiri atas 10 bab, yaitu Bab 1 Pertidaksamaan Kuadrat Bab 2 Relasi dan Fungsi Bab 3 Penyajian ...