Selasa, 08 Desember 2009

Perulangan dan contional/ selection

Perulangan dalam Pascal

Di dalam Pascal terdapat tiga macam perulangan yaitu dengan menggunkan statemen For … Do, While … Do dan Repeat … Until.
1. Struktur perulangan For … Do

Jenis perulangan ini digunakan untuk mengulang statemen atau satu blok statemen berulang kali yang ditentukan.
a. Perulangan For … Do Positif
Perulangan positif adalah perulangan dengan penghitung dari kecil ke besar atau dengan kata lain pertambahannya positif .Menggunakan perintah For to do

contoh:


PENGULANGAN KATA (menggunakan for-to-do)

program perulangan;
uses wincrt;
var
n:integer;
begin
for n:=1 to 5 do
writeln(n,'. Pemrograman Komputer');
end.




b. Perulangan For … Do Negatif

Perulangan negatif adalah perulangan dengan penghitung dari besar ke kecil atau dengan kata lain pertambahannya negatif. Menggunakan perintah: For ...downto...do...
c. Perulangan For … Do tersarang

Perulangan tersarang adalah perulangan yang berada di dalam perulangan yang lainnya. Pada perulangan ini perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis, lalu baru perulangan yang lebih luar.

contoh:


SEGITIGA ASYIK

program segitiga;

uses wincrt;

var x,y,z:integer;

begin

write('masukkan angka segitiga asyik=');readln(y);

for x:=1 to y do

begin

for z:=1 to x do

write(x:3);

writeln;

end;

end.

SEGITIGA 15

program segitiga;

uses wincrt;

var x,y,z:integer;

begin

write('masukkan angka=');readln(y);

for x:=1 to y do

begin

for z:=1 to x do

write(' ',15);

writeln;

end;

end.



2. Struktur perulangan While … Do

Jenis perulangan ini digunakan untuk mengulang statemen atau satu blok statemen berulang kali yang jumlahnya belum bisa ditentukan, tergantung nilai kondisi yang terletak antara While … do. Perulangan akan dikerjakan bila nilai kondisinya bernilai benar dan akan berhenti jika kondisi bernilai salah

contoh:

PERULANGAN KATA

program perulangan;

uses wincrt;

var

x:integer;

begin

x:=1;

while x<6>

begin

writeln(x,'. Pemrograman Komputer');

x:=x+1;

end;

end.


3. Struktur perulangan Repeat … Until

Jenis perulangan ini digunakan untuk mengulang statemen atau satu blok statemen berulang kali yang jumlahnya belum bisa ditentukan, tergantung nilai kondisi yang terletak setelah until. Perulangan akan dikerjakan bila nilai kondisinya bernilai salah dan akan berhenti jika kondisi bernilai benar.
contoh:

BILANGAN GANJIL

program bilangan_ganjil;

uses wincrt;

var

x,y,jum:integer;

begin

write('sampai berapa?');readln(y);

begin

x:=1;

repeat

write(x,' ');

x:=x+2;

until

x>y;

end;

end.


BILANGAN GENAP

program bilangan_genap;

uses wincrt;

var

x,y,jum:integer;

begin

write('sampai berapa?');readln(y);

begin

x:=2;

repeat

write(x,' ');

x:=x+2;

until

x>y;

end;

end.

JUMLAH BILANGAN

program jumlah_bilangan;

uses wincrt;

var

x,y,jum:integer;

begin

x:=1;

jum:=0;

write('masukkan y=');readln(y);

repeat

write(x);

if x

jum:=jum+x;

x:=x+1;

until x>y;

write('=');

write(' ',jum);

end.

PERULANGAN KATA (menggunakan repeat until)

program perulangan;

uses wincrt;

var

x:integer;

begin

x:=1;

repeat

writeln(x,'. Pemrograman Komputer');

x:=x+1;

until x>5;

end.


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
CHIMI=');
gotoxy(20,6);writeln('================');
gotoxy(20,9);writeln('1.ayam
LOMBOK IJO');
gotoxy(20,10);writeln('2.
SOP BUNTUT');
gotoxy(20,11);writeln('3.
GUDEG KOMPLIT');
gotoxy(20,12);writeln('4.
OSENK MERCON');
gotoxy(20,16);write ('apa menu favorit anda?');
readln(x);
case x of
1:begin
clrscr;
writeln('menu yang anda pilih adalah....');
writeln('ayam
LOMBOK IJO');
end;
2:begin
clrscr;
writeln('menu yang anda pilih adalah....');
writeln('
SOP BUNTUT);
end;
3:begin
clrscr;
writeln('menu yang anda pilih adalah....');
writeln(
GUDEG KOMPLIT');
end;
4:begin
clrscr;
writeln('menu yang anda pilih adalah....');
writeln(
OSENK MERCON');
end;
Else
clrscr;
writeln('Anda Salah Pilih');
end;
end.


Tidak ada komentar:

Posting Komentar