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)
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:
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.
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.
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