STUDY PEMROGRAMAN PASCAL (perulangan)

Thursday, October 25, 2012


Perulangan pada pascal
Perulangan adalah sebuah perintah yang menjalankan suatu perintah tertentu berulang-ulang sampai suatu kondisi terpenuhi.. msialnya kita ingin mengulangi perintah write('aku mahaiswa'); sebanyak 5 kali. maka kita bisa menggunakan perlangan for i := 1 to 5 do write('aku mahasiswa');
Perulangan ada 3 jenis.
1. Perulangan for do
2. perulangan repeat until
3. perulangan while do
Perulangan for do

contoh perulanga menggunakan for do
program pascal_aritha;
uses wincrt;
var i : integer;

begin
writeln('=============Program Perulangan=============');
writeln(' ======By ArH=====');
for i := 1 to 5 do writeln('aku mahasiswa');
end.

Hasil :
aku mahasiswa
aku mahasiswa
aku mahasiswa
aku mahasiswa
aku mahasiswa

contoh lain
program pascal_aritha;

uses wincrt;

var i : integer;

begin

writeln('=============Program Perulangan=============');
writeln(' ======By ArH=====');

for i := 1 to 20 do
begin
if (i mod 5<>0) then {jika i mod 5 tidak sama dengan 0 do}
write(' ',i)
else
writeln(' ',i);

end;
end.

Hasil :
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20

For bersarang
for bersarang adalah perintah for yang di dalamnya terdapat perintah for lagi.
contohnya.
program pascal_aritha;
uses wincrt;
var i,j : integer;

begin
writeln('=============Program Perulangan=============');
writeln(' ======By ArH=====');

for i := 1 to 5 do
begin
for j:= 1 to i do write (i,j,', ');
writeln;
end;
end.

Perhatikan Pada koding diatas terdapat perintah for didalam perintah for

Perulangangan for downto
terkadang kita membutuhkan perulangan dimana nilainya menurun. misalnya 5,4,3,2,1 nah untuk kasus ini kita dapat menggunakan perintah for downto

contoh

for i:= 10 downto 1 do write ('no', i);
contoh program yang menghasilkan output seperti ini:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5H3iebbuL_Zii5fYq9pidHRDfFosqnjQ2cnUDMDK_QHZSnFEHKxfz_Q2OAavTerP6EaRFAeie-_Wkzdn6GxLBmkjljPw3_40FVWZgsUOO7zdi2ygHMUkdlmNe3s8SCjRYrM2xLKzuvqZi/s320/aa.jpg

program aritha_pascal;

uses wincrt;
var
a,b,c:integer;

begin
writeln('-======Program Bintang======-');
for c := 1 to 5 do
begin
for a:= 5 downto c do write(' ');
for b:= 1 to c do write('**');
writeln;
end;
end.







Perulangan while

untuk menggunakan perulangan while pertama kita harus mendeklarasikan sebuah variabel untuk menjadi indeks perulangan pada while.
misalnya i:integer;

kemudian kita inisialisasikan nilai awal dari i tersebut. i:=1, berarti perulangan dimulai dari indeks 1



jadi secara umum while seperti ini.

while kondisi do
begin
perintah1;
perintah2;
perintah3;
dst..;
end;

contoh :
i:= 1;
while i<=5 do
begin
writeln('perulangan ke ', i);
i:= i+1
pada tulisan berwarna merah adalah penambahan indeks, agar perulangan tidak diulang terus menerus. jadi pada perulangan ke 2. indeks akan menjadi i:= 1+1, indeks nya 2. pada perulangan ketiga i:= 2+1, jadi indeks nya 3. sampai indeksnya 5 (sudah mencapai batas akhir kondisi i<=5) maka ketika indeksnya 6, perintah tidak diulang lagi.

perhatikan contoh berikut yang akan membuat output seperti ini :
*
**
***
****
dengan menggunakan perulangan while.
program pascal_aritha;

uses wincrt;

var i,j : integer;

begin
i:=1;
j:=1;
while i<=5 do
begin
j:=1;
while j<=i do
begin
write('*');
j:= j+1;
end;
i:= i+1;
writeln;


end;
end.
Perulangan repeat until

hampir mirip dengan while do. dimana repeat until juga memerlukan perintah i:= i+1; atau i:=i-1; untuk menentukan indeksnya menaik atau menurun, agar perulangan tidak diulang secara terus menerus.
bentuk umum perintah repeat until adalah..

repeat
perintah1;
perintah2;
dst..
until kondisi;



berikut contoh program menggunakan repeat until yang akan menghasilkan output seperti ini..
5 10 15 20
25 30 35 40
45 50 55 60
program pascal_aritha;

uses wincrt;

var i : integer;

begin
i:=5;
repeat
write(i,' ');
if i mod 20 = 0 then writeln;
i:=i+5;
until i>=61;
end.


intinya setiap perulangan mau pakai for do, while do atau repeat until terserah anda. gunakan lah cara yang ter mudah dan tercepat menurut anda. :)

0 comments:

Post a Comment