Disusun Guna Memenuhi Tugas
Praktikum
Mata Kuliah : Pemrograman Terstuktur
Dosen Pengampu : Mumun,ST.
Disusun Oleh :
Hera Wijaya (140511041)
UNIVERSITAS
MUHAMMADIYAH CIREBON
FAKULTAS
TEKNIK
TEKNIK
INFORMATIKA
2014/2015
Assalamu’alaikum Wr.Wb, penulis akan mencoba menjelaskan Looping, dengan resume dibawah ini. Pengulangan (loop) merupakan bentuk yang sering
ditemui di dalam suatu program aplikasi. Di dalam bahasa Pascal, dikenal tiga
macam perulangan, yaitu dengan menggunakan pernyataan For, While-Do, dan
Repeat…Until.
A. FOR DO
Di dalam Pemprograman pascal, Syntax Looping dengan
menggunakan FOR di bedakan menjadi 2 jenis. Yaitu
A.
Increasement
(bertambah) / For to do
![]() |
Syntax FOR di atas digunakan untuk perulangan yang
nilai awalnya terus bertambah hingga nilai akhir.
atau dalam pengertian dapat di rumuskan :
Printah (statement) di dalam FOR akan selalu di
jalankan selama nilai_awal masih <= nilai_akhir.
Kemudian nilai_awal akan selalu di tambahkan 1 di
setiap kali perulangan.
Perintah (statement) di dalam FOR akan berkahir/selesai di eksekusi pada saat nilai_awal > nilai_akhir.
Perintah (statement) di dalam FOR akan berkahir/selesai di eksekusi pada saat nilai_awal > nilai_akhir.
Sebagai contoh :
Contoh1
Tampilkan urutan bilangan mulai dari 1 hingga 10
Tampilkan urutan bilangan mulai dari 1 hingga 10
Berikut script penyeselsaianya :
program Contoh1;
var
x: integer;
begin
for
x := 1
to 10 do
begin
write(x , ' ');
end;
readln;
end.
Intruksi
|
Keterangan
|
Program
contoh1;
|
//Judul
program
|
Var x:
integer;
|
// variabel
dengan x bil. Bulat
|
Begin
|
// mulai
sebuah program
|
For x:=1 to 10
do
|
// berulang
dari angka satu berakir angka 10
|
Begin
|
// mulai
|
Write(x,’’);
|
// tercetak
dengan nilai x
|
End;
|
// berakhir
sementara
|
Readln;
|
// tercetak
|
End.
|
// berakhir
sebuah program.
|
Hasil dari program di atas adalah :

Nilai dari variable x mula-mula adalah 1, kemudian
perintah yang dijalankan adalah write/mencetak variable x .
Kemudian karena x masih kurang dari 10 maka x
ditambahkan 1, sehingga sekarang nilai x menjadi 2 .
Dan begitu seterusnya hingga x = 10 maka program
perhenti di proses.
B. Decreasement (berkurang) / Down to

Berkebalikan dengan FOR untuk Increasement, Syntax FOR
untuk Decreasement di atas digunakan untuk perulangan dengan penurunan nilai.
Jadi :
Printah (statement) di dalam FOR akan selalu di
jalankan selama nilai_awal masih >= nilai_akhir.
Kemudian nilai_awal akan selalu di dikurangi 1 di
setiap kali perulangan,
Perintah (statement) di dalam FOR akan berkahir/selesai di eksekusi pada saat nilai_awal < nilai_akhir.
Sebagai contoh :
Perintah (statement) di dalam FOR akan berkahir/selesai di eksekusi pada saat nilai_awal < nilai_akhir.
Sebagai contoh :
Contoh2
Tampilkan urutan bilangan mulai dari 15 hingga 5
Tampilkan urutan bilangan mulai dari 15 hingga 5
Berikut script penyelesaianya :
Program Contoh2;
var
y: integer;
begin
for
y := 15
downto 5 do
begin
write(y , ' ');
end;
readln;
end.
Intruksi
|
Keterangan
|
Program contoh2;
|
// Judul program
|
Var
|
// variabel dengan y bil. Bulat
|
y: integer;
|
|
Begin
|
// memulai sebuah program
|
for y := 15 downto 5 do
|
// diulang mundur dari angka 15 ke 5
|
begin
|
|
write(y , ' ');
|
// mencetak dengan variabel dari y
|
end;
|
// berakhir sementara sebuah program
|
readln;
|
// mencetak sebuah program
|
end.
|
// berakhirnya program.
|
Hasil dari program di atas adalah :

Nilai dari variable y mula-mula adalah 15, kemudian perintah yang
dijalankan adalah write/mencetak variable y .
Kemudian karena y masih lebih dari 5 maka y dikurangi 1, sehingga sekarang
nilai y menjadi 14 .
Dan begitu seterusnya hingga y = 5 maka program perhenti di proses.
C. WHILE DO

while (condition) do (statement);
Algoritma dalam pengeksekusian scriptnya adalah sebagai berikut:
- Kondisi di cek terlebih dahulu (WHILE)
- Jika kondisi terpenuhi maka kerjakan statement (DO)
Contoh kasus:
Contoh1 : Saya ingin menampilkan bilangan genap mulai dari 10 hingga 20
Script lengkapnya :
- Kondisi di cek terlebih dahulu (WHILE)
- Jika kondisi terpenuhi maka kerjakan statement (DO)
Contoh kasus:
Contoh1 : Saya ingin menampilkan bilangan genap mulai dari 10 hingga 20
Script lengkapnya :
program contoh1;
var
x: integer;
begin
x := 10;
// nilai awal x
while x <= 20 do // pengecekan while apakah x <= 20, jika iya kerjakan
statment di bawah :
begin
if
(x mod 2) = 0
then //
pengecekan sisa hasil bagi 2, jika 0 maka genap
write(x,' ');
x := x + 1; // counter
pertamnbahan x
end;
readln;
end.
Intruksi
|
Keterangan
|
Program contoh1;
|
// Judul Program
|
Var x:integer;
|
// variabel x = bilangan bulat
|
x:=10;
|
// nilai awal x
|
While x <= 20 do
|
// pengecekan while apakah x <= 20, jika ya kerjakan statement di
bawah
|
Begin
|
// memulai sebuah program
|
If (x mod 2) = 0 then
|
// pengecekan sisa hasil bagi 2, jika 0 maka genap
|
Write(x,’ ‘);
|
// tercetak hasil dari variabel x
|
x:= x+1;
|
// counter pertambahan x
|
End;
|
// berakhir sementara sebuah program
|
Readln;
|
// menghentikan eksekusi program sebelum di ENTER
|
End.
|
// berakhirnya sebuah program
|
Outputnya :


Algoritma
dalam pengeksekusian scriptnya adalah berkebalikan dengan WHILE-DO, yaitu
sebagai berikut:
-
Kerjakan statement (REPEAT)
-
Kemudian cek kondisi. Jika kondisi belum terpenuhi maka kerjakan statement di
atas hingga kondisi terpenuhi (UNTIL)
Jadi
statement akan terus di REPEAT (diulang-dikerjakan) UNTIL (hingga) kondisi
terpenuhi, dan perulangan berakhir.
Contoh
kasus:
Contoh2
: Saya ingin menampilkan bilangan ganjil mulai dari 1 hingga 19
program contoh2;
var
a: integer;
begin
a := 1;
repeat //
ulang-kerjakan
if
(a mod 2) = 1
then //
pengecekan sisa hasil pembagian 2, jika 1 bilangan genap
write(a,' ');
a := a + 1
until
a = 20; //
pembatasan repeat
readln;
end.
Intruksi
|
Keterangan
|
Program contoh2;
|
// judul program
|
Var a:integer;
|
// variabel a bilangan bulat
|
Begin
|
// memulai sebuah program
|
a:=1;
|
// nilai awal sama dengan 1
|
Repeat
|
// ulang-kerjakan
|
If (a mod 2)=1 then
|
// pengecekan sisa hasil pembagian 2, jika 1 bilangan genap
|
Write(a,’’);
|
|
a:= a+1
|
// counter pertambahan a
|
Until a = 20;
|
//pembatasan repeat sampai 20
|
Readln;
|
// menghentikan eksekusi program sebelum di ENTER
|
End.
|
// berkahirnya sebuah program.
|
Outputlnya :

Itu salah satu cara menggunakan WHILE-DO dan
REPEAT-UNTIL
TAPI ada yang perlu di ingat, yaitu pembatasan
looping, pastikan algoritma pembatasan loopingnya benar, agar tidak terjadi
infinite loop (atau disebut juga endless loop atau unproductive loop) yaitu
perulangan yang tidak terbatas karena kondisi tidak mungkin terpenuhi.
contoh: :
program infinitieloop;
program infinitieloop;
var
a: integer;
begin
a := 2;
repeat
write(a,'
');
a := 2
until a = 3;
end.
Contoh kemarin:
Uses crt, sysutils;
Var i,j:integer;
begin
j:=0;
i:=1;
repeat
j:=j+1;
i:=(i+j) div 3;
writeln('coba');
writeln('i=',inttostr(i));
until i=3;
writeln('jumlah
:',inttostr(j));
readln;
end.
Intruksi
|
Keterangan
|
Uses
crt, sysutils;
|
// digunakan kata
tercadang Crt, dengan sistem utilitas
|
Var
i,j:integer;
|
// variabel dengan i
dan j bil. Bulat
|
|
|
begin
|
// mulainya sebuah
progam
|
|
|
j:=0;
|
// nilai j = 0
|
i:=1;
|
// nilai i = 1
|
repeat
|
// diulang
|
j:=j+1;
|
// proses j = hasil j
+ 1 secara ulang
|
i:=(i+j)
div 3;
|
// proses hasil (i+j)
di bagi 3
|
writeln('coba');
|
// tercetak kata coba
|
writeln('i=',inttostr(i));
|
// tercetak hasil i,
integer untuk string
|
until
i=3;
|
// diulang berakhir
sampai angka 3
|
writeln('jumlah
:',inttostr(j));
|
// tercetak dengan
hasil jumlah dari integer untuk ke string
|
readln;
|
// tercetak sebuah
program
|
end.
|
// berakhirnya sebuah
program
|
Outputnya :

TUGAS KEMARIN
DARI REPEAT UNTIL DIKONVERSI KE While Do
:
uses
crt,sysutils;
var
i,j:integer;
begin
j:=0;
i:=1;
while
i<3 do begin
j:=j+1;
i:=(i+j)div
3;
writeln('coba');
writeln('i=',inttostr(i));
writeln('jumlah:',inttostr(j));
end;
readln;
end.
Intruksi
|
Keterangan
|
uses crt,sysutils;
|
//
kata tercadang di Crt, dengan sistem utilitas
|
var i,j:integer;
|
//
variabel i dan j integer
|
Begin
|
//
memulai sebuah program
|
j:=0;
|
//
nilai j dirubah menjadi 0
|
i:=1;
|
//
nilai i dirubah menjadi 1
|
while i<3 do begin
|
//
saat i kurang dari 3 benar maka akan mengerjakan dengan batas angka 3
|
j:=j+1;
|
//
proses nilai (j +1) dan seterusnya
|
i:=(i+j)div 3;
|
//
proses (hasil i+dengan hasil j) dibagi 3 secara berulang
|
|
|
writeln('coba');
|
//
mencetak dengan kata coba
|
writeln('i=',inttostr(i));
|
//
tercetak kata i dengan jumlah integer untuk string
|
|
|
writeln('jumlah:',inttostr(j));
|
//
tercetak dengan hasil jumlah dari integer untuk string
|
|
|
end;
|
//
berlanjutnya sebuah program
|
readln;
|
//
tercetak sebuah program sebelum menekan enter
|
end.
|
//
berakhirnya sebuah program.
|
Outputnya :

EmoticonEmoticon