Berbagi Tips Komputer dan Smartphone Terbaru, Materi Kuliah Teknik Informatika, Download Aplikasi dan ebook Gratis

Download Materi Perulangan (Looping) Pada Pemrograman Pascal

A. PERULANGAN FOR-DO
Looping for-do digunakan untuk mengulang statement berulang kali sejumlah yang ditentukan. Bila terdapat lebih dari satu statement yang ada di dalam looping maka menggunakan begin...end;, jika hanya satu blok saja tidak perlu menggunakan begin...end;.

Ada 3 bentuk looping for-do yaitu for-do positif, for-do negatif dan for-do tersarang.

1. Looping Positif/Negatif
Looping positif adalah looping dari perhitungan kecil ke perhitungan besar.
Sedangkan looping negatif kebalikan dari looping positif. Bentuknya sebagai berikut :
For var_int := nilai_awal to nilai_akhir do statement; (+)
For var_int := nilai_awal downto nilai_akhir do statement; (-)
Var_int adalah variabel kontrol yang menentukan looping tersebut. Variabel
kontrol harus bertipe sejenis integer. Example code :
program looping_without_begin; uses wincrt;
var x:integer;
begin
For x:= 1 to 5 do writeln(‘Sixiz gitu lho..!!’);
end.
program looping_with_begin; uses wincrt;
var x:integer;
begin
For x:= 5 downto 1 do
Begin
write(x);
writeln(‘ Sixiz gitu lho..!!’);
end;
end.
Output program looping_without_begin :
Sixiz gitu lho..!!
Sixiz gitu lho..!!
Sixiz gitu lho..!!
Sixiz gitu lho..!!
Sixiz gitu lho..!!
Output program looping_with_begin :
5 Sixiz gitu lho..!!
4 Sixiz gitu lho..!!
3 Sixiz gitu lho..!!
2 Sixiz gitu lho..!!
1 Sixiz gitu lho..!!
Coba perhatikan listing program berikut :
program yang_mana_bukan_looping; uses wincrt;
var x:integer;
begin
For x:= 5 downto 1 do
write(x);
writeln(‘ Sixiz gitu lho..!!’);
end.
Outputnya adalah 54321 Sixiz gitu lho..!! Statement writeln(‘ Six...)
tidak termasuk ke dalam looping karena looping x berakhir pada satement write(x);.
Sekarang anda analisis output dari kedua lsiting code program berikut.
program mikir_donk; uses wincrt;
var x,y:byte;
begin
for x:= 10 downto 1 do y:=y+(x-1);
writeln(x);
end.
IV
program perpangkatan; uses wincrt;
var x,x2,x3:integer;
begin
writeln(‘--------------‘);
writeln(‘ x x2 x3’);
writeln(‘--------------‘);
for x:= 1 to 10 do
begin
x2:=x*x;
x3:=x2*x;
writeln(x:3,x2:5,x3:6);
end;
end.
2. Looping For-Do Tersarang (Nested For)
Looping tersarang yaitu looping yang ada di dalam looping lainnya. Looping
yang lebih dalam akan diproses terlebih dahulu hingga habis kemudian looping yang
lebih luar bertambah atau berkurang dan memproses kembali looping yang paling
dalam. Untuk lebih jelasnya, perhatikan listing code program berikut :
program looping_tersarang;
uses wincrt;
var i,j:integer;
begin
for i:= 1 to 2 do
begin
for j:=1 to 3 do
write(i,j,’ ‘);
writeln;
end;
end.
Bila dicompile, maka outputnya :
11 12 13
21 22 23
Dengan digit/angka yang kiri adalah i
dan yang kanan adalah j. Bagaimana
bisa terjadi demikian?!??
Looping disamping bisa digambarkan
seperti berikut :
Untuk i=1 è Untuk j=1 è write(i,j,’ ‘); = 11
Untuk j=2 è write(i,j,’ ‘); = 12
Untuk j=3 è write(i,j,’ ‘); = 13 writeln;
Untuk i=2 è Untuk j=1 è write(i,j,’ ‘); = 21
Untuk j=2 è write(i,j,’ ‘); = 22
Untuk j=3 è write(i,j,’ ‘); = 23 writeln;
Bingung khan..?!?? Cara kerja program diatas yaitu cabang looping harus
didahulukan operasi loop-nya kemudian baru sub-nya. Looping tersebut berakhir
sampai sub dan cabang bernilai akhir. Sekarang analisis kedua listing code berikut :
program triple_sum;
uses wincrt;
var i,j,k:integer;
begin
for i:= 5 downto 1 do
begin
for j:=1 to 3 do
k:=k+(i+j);
writeln(k);
end;
end.
program kombinasi;
uses wincrt;
var i,j,k:integer;
begin
for i:= 1 to 3 do
for j:=3 downto 1 do
for k:=i to j do
writeln(i,j,k);
end.


B. PERULANGAN WHILE-DO
Looping dengan while-do mempunyai bentuk seperi berikut :
while ekspresi_logika/relasi do statement;
Statement while-do digunakan untuk melakukan proses looping suatu statemen
terus-menerus selama ekspresi_logika/relasi bernilai benar atau belum terpenuhi.
program while_do;
uses wincrt;
var i:byte;
begin
i:=0;
while i < 5 do
begin
writeln(i);
i:=i+1;
end;
end.
Outputnya adalah :
0
1
2
3
4
Ekspresi relasi-nya yaitu i < 5. Jadi jika i masih
lebih kecil dari 5 maka statement akan terus
diproses berulang, dan proses akan berhenti
setelah i tidak lagi lebih besar dari 5 (i > 5).
Maka dari itu di dalam statement ada i:=i+1; yang akan menambahkan nilai i satu
persatu supaya i > 5. Lihat code berikut yang mebaca input dan mengoperasi-kannya.
Kemudian ada penyeleksian input jika memenuhi akan diulangi jika tidak akan berhenti.
program cel_to_fah; uses wincrt;
var cel,fah:real; lagi:char;
begin
lagi:=’y’;
while lagi=’y’ do
begin
clrscr; {prosedur untuk menghapus layar}
write(‘Nilai celcius ? ‘);
readln(cel);
fah:=1.8 * cel + 32;
writeln(‘Fahrenheit = ‘,fah:5:2);
write(‘Menghitung lagi (y/t) ? ‘);
readln(lagi);
end;
end.
Di dalam looping while-do juga terdapat while-do tersarang (nested while-do). Dan
pada prinsipnya adalah sama dengan nested for-do.

C. PERULANGAN REPEAT..UNTIL
Repeat..Until adalah proses looping suatu statement secara terus menerus hingga
ekspresi yang ada di dalam until bernilai false atau sudah terpenuhi. Dengan kata lain
looping repeat..until prosesnya berkebalikan dengan looping while-do. Bentuknya:
Repeat statement; until ekspresi_logika/relasi;
Perhatikan contoh berikut :
program repeat_until;
uses wincrt;
var i:byte;
begin
i:=0;
repeat
i:=i+1;
writeln(i);
until i=5;
end.
Output yang dihasilkan adalah :
12345
Proses looping akan terus dilakukan
hingga ekspresi terpenuhi. Pada contoh,
penambahan i terus dilakukan hingga i=5.
Sekarang pada program repeat_until, coba anda ganti ekspresi di dalam until
menjadi i>5. Kemudian anda compile dan apa yang terjadi ??! Coba bandingkan contoh
looping menggunakan repeat..until dengan looping while-do ini!!

program sample_repeat;
uses wincrt;
var i:integer;
begin
i:= 10;
repeat
writeln(i);
i:=i + 1;
until i>5;
end.
Output :
11
program sample_while;
uses wincrt;
var i:integer;
begin
i:= 10;
while i<5 do
begin
writeln(i);
i:=i+1;
end;
end.
Output : Tidak ada hasil
Dari kedua contoh diatas dapat disimpulkan perbedaan kedua operasi tersebut :
Ø Paling sediki statement di dalam looping repeat diproses sekali, karena pemenuhan
syarat until terletak setelah statement. Sedangkan looping while statement-nya paling
sedikit dikerjakan nol kali, karena pemenuhan syarat while terletak sebelum statement.
Ø Looping repeat tidak memerlukan blok statement (begin..end;) pada statement yang
lebih dari satu, karena batasnya sudah ditunjukkan oleh repeat..until. Sedangkan while
memerlukan blok statement (begin..end;) jika statementnya lebih dari satu.
Didalam looping repeat..until juga terdapat looping tersarang (nested repeat). Sama
seperti nested for dan nested while dalam hal aturan, yaitu di dalam looping terdapat
looping yang lain. Perhatikan code program berikut yang menggunakan nested repeat.
Program ini akan menghitung sisi-sisi segitiga siku-siku dengan menggunakan rumus
phytagoras yaitu C = A2 + B2.
program phytagoras; uses wincrt;
var a,b,c:real;
begin
writeln(‘----------------------‘);
writeln(‘Sisi A Sisi B Sisi C’);
writeln(‘----------------------‘);
a:=1;
repeat
b:=0;
repeat
c:=sqrt(a*a + b*b);
writeln(a:5:2,b:8:2,c:8:2);
b:=b + 1;
until b>4;
a:=a + 1;
until a>4;
end.
Setelah anda memahami program tersebut, coba anda analisis proses dari program
berikut ini :
program bengong; uses wincrt;
var a,b:byte;
begin
a:=10;
b:=0;
repeat
b:=b+1;
a:=a-b;
until a>b;
writeln(a,’ ‘,b);



Sekian Materi yang dapat saya bagikan kali ini tentang Materi Perulangan (Looping) Pada Pemrograman Pascal , dan Semoga Bermanfaat buat semuanya.

Sampai jumpa di postingan saya selanjutnya dan jangan lupa untuk berkunjung setiap hari untuk mendapatkan postingan-postingan terbaru dari saya.
Untuk membaca postingan saya yang lainnya, silahkan membuka DAFTAR ISI pada menu Blog ini.

Download Materi Perulangan (Looping) Pada Pemrograman Pascal Rating: 4.5 Diposkan Oleh: Shem Uncok

6 komentar:

Anonymous said...

jika menggunakan uses wincrt,saat dicompile muncul pesan error: file not found(wincrt.tpu).mohon penjelasan.thank u...

Sam Palopo said...

Pakai "USES CRT" aja sob, itu untuk turbo pascal. kalau pakai fre pascal pakai "USES WINCRT". fungsinya untuk membersihkan tampilan layar pada saat di compile. terimakasih sudah berkunjung.

Agus setiawan said...
This comment has been removed by a blog administrator.
Sam Palopo said...

Pastinya Sob. Terima kasih dan salam kenal

Muhammad Alvin Setiadi said...

thanks gan atas info yg ini

Me said...

kalau mau keluar hasil nya itu lompat 2 seperti ini
2, 4, 6, 8
apa ada syntax khusus ya?