Anda di halaman 1dari 9

Institut Teknologi Padang @2013 – Fakultas Teknologi Industri

MODUL PRAKTIKUM 6
Pengulangan II

Matakuliah : Algoritma dan Pemrograman


SKS : 1 SKS ( 2.5 Jam )

TUJUAN PRAKTIKUM

1. Mengenal statement pengulangan pada pascal


2. Mengenal Statement pernyataan logika
3. Mengetahui teori penggunaan struktur dasar pengulangan While..do dan Repeat..Until
4. Mampu mentranslasi kedalam bahasa pemrograman pascal.
5. Mampu mengetahui jenis-jenis perulangan Repeat..Until

Pada bahasa pemrograman pascal, setidaknya terdapat 3 fungsi yang dapat digunakan
untuk looping, yaitu : FOR, WHILE dan REPEAT UNTIL.

Perulangan WHILE-DO

Contoh :
USES CRT;
VAR i : INTEGER;
BEGIN
i := 0;
WHILE i < 5 do
BEGIN
WRITE(i:3);
INC(i); { sama dengan i:=i+1 }
END;
END.
Hasilnya :
0 1 2 3 4

Program Increment menggunakan while-do :

Modul Praktikum Algoritma dan Pemrograman Pengulangan II 1


Institut Teknologi Padang @2013 – Fakultas Teknologi Industri

var x,a,b,c:integer;
begin
x:=0;
write(‘Masukkan batas awal ‘);read(a);
write(‘Masukkan batas akhir ‘);read(b);
write(‘Masukkan increment ‘);read(c);
while (a<=b) do
begin
x:=x+a;
writeln(‘Nilai a ‘,a);
a:=a+c;
end;
writeln(‘Jumlahnya ‘,x);
readln;
readln;
end.

Program Segitiga Piramid Menaik Menggunakan while – do

var x,i,j:integer;
begin
write(‘Masukkan Nilai 1-10: ‘);readln(x);
i:=1;
j:=1;
while (i<=x) and (x<=10) do
begin
j:=1;
while(j<=i) do
begin
while (j<=i)do
begin
write(i);
j:=j+1;

Modul Praktikum Algoritma dan Pemrograman Pengulangan II 2


Institut Teknologi Padang @2013 – Fakultas Teknologi Industri

end;
end;
i:=i+1;
writeln;
end;
readln;
end.

Perulangan WHILE-DO tersarang

Perulangan WHILE-DO tersarang (nested WHILE-DO) merupakan perulangan WHILE-DO


yang satu di dalam perulangan WHILE-DO yang lainnya.
Contoh :
USES CRT;
VAR a, b : INTEGER;
BEGIN
CLRSCR;
a:=1; b:=1;
WHILE a < 4 DO { loop selama a masih lebih kecil dari 4 }
BEGIN
a := a+1;
WHILE b < 3 DO { loop selama b masih lebih kecil dari 3 }
BEGIN
WRITE(a:3,b:2);
b:=b+1;
END;
END;
READLN;
END.

Setelah sebelumnya kita mengulas tentang pengulangan menggunakan for-to dan for-
downto, pada modul ini kita membahas tentang pengulangan tetapi menggunakan fungsi while-
do. Untuk while-do biasanya digunakan untuk membuat pengulangan yang belum pasti. Jadi
pengulangannya tergantung dari keinginan user atau pengulangannya lebih fleksibel. Untuk
penulisan standar codingnya seperti dibawah ini:

batas_awal;
while batas_akhir do

Modul Praktikum Algoritma dan Pemrograman Pengulangan II 3


Institut Teknologi Padang @2013 – Fakultas Teknologi Industri

begin
statement/pernyataan_yang_akan_diulang;
end

Yang berbeda dari penggunaan while-do disini adalah batas_awal di deklarasikan sebelum while.
Berbeda dengan for yang mana batas_awal dan batas_akhir dideklarasikan berbarengan didalam
for.
Kita cobakan sebuah contoh penggunaan pengulangan while-do:

program coba;
uses crt;

var
i:integer;

begin
clrscr;
i:=1;
while i<=10 do
begin
write(i,' ')
i:=i+1;
end;
readln;
end.

Hasil:
1 2 3 4 5 6 7 8 9 10
Atau contoh lain menghitung luas bujur sangkar menggunakan perulangan while-do:

program pengulangan;
uses crt;

var
s,L:integer;
ulang:char;

begin
clrscr;
ulang:='y';
while ulang='y' do

Modul Praktikum Algoritma dan Pemrograman Pengulangan II 4


Institut Teknologi Padang @2013 – Fakultas Teknologi Industri

begin
clrscr;
writeln('Menghitung Bujur Sangkar');
writeln('------------------------');
write('Masukkan sisi: ');readln(s);
L:=s*s;
writeln('Luas adalah ',L);
writeln;
write('Apakah Mau diulang (y/t)? ');read(ulang);
end;
readln;
end.

Hasil:
Menghitung Bujur Sangkar
————————
Masukkan sisi: 5
Luas adalah 25
Apakah Mau diulang (y/t)? y

Pada program diatas menggunakan pengulangan secara fleksibel yang mana pengulangan
tersebut akan terus berlanjut selama user menekan tombol y. Pengulangan akan berhenti jika user
menekan tombol selain tombol y, misalnya tombol t atau tombol yang lain. Pengulangan while-
do ini kita dapat terapkan pada pembuatan program menu menggunakan pernyataan case-of yang
sudah pernah kita bahas dipostingan sebelumnya. Silahkan kreativitaskan diri anda untuk
membuat contoh-contoh menggunakan metode pengulangan selain contoh yang kita bahas kali
ini. Sekian dulu untuk pembahasan tentang pengulangan menggunakan pengulangan while-do.

Perulangan REPEAT-UNTIL.

REPEAT-UNTIL digunakan untuk mengulang statement-statemen atau blok statement sampai


(UNTIL) kondisi yang diseleksi di UNTIL tidak terpenuhi. Sintak dari statement ini adalah :

Modul Praktikum Algoritma dan Pemrograman Pengulangan II 5


Institut Teknologi Padang @2013 – Fakultas Teknologi Industri

Contoh
VAR
i : INTEGER;
BEGIN
i:=0;
REPEAT
i:= i+1;
WRITELN(i);
UNTIL i=5;
END.

hasil :
1
2
3
4
5

Pengulangan repeat … until pada Pascal akan memiliki sintaks berikut:


repeat begin
statement_1;
statement_2;

statement_N;
end;
until Logical_Expression;

Pada sintaks di atas, kelompok instruksi yang terletak di antara pasangan begin … end akan
dieksekusi. Logical_Expression menghasilkan nilai True. Jika dicermati, maka setidak-
tidaknya kelompok instruksi tersebut akan dieksekusi satu kali. Kenapa ?
Berikut adalah
penerapan pengulangan tersebut yang digunakan untuk menghitung jumlah dari deret
berikut:

Jumlah = 11 + 32 + 53 + 74 + …

program Jumlah_Deret;
uses Crt;
var Counter, Suku, Bilangan, Pangkat : byte;

Modul Praktikum Algoritma dan Pemrograman Pengulangan II 6


Institut Teknologi Padang @2013 – Fakultas Teknologi Industri

Jumlah : longint;

begin
Clrscr;
writeln(‘Menghitung Jumlah dari Deret’);
writeln(‘============================’);
write (‘Masukkan Jumlah Suku Deret: ‘); readln(Suku);
Jumlah := 1; {Inisialisasi Variabel} Bilangan := 1;
Pangkat := 0;
repeat {Memulai Pengulangan}
begin
for Counter = 1 to Pangkat do
Bilangan := Bilangan *
Bilangan; Jumlah := Jumlah +
Bilangan;
inc(Bilangan, 2); {Menaikkan Nilai Bilangan dengan 2}
inc(Pangkat); {Menaikkan Nilai Pangkat dengan 1}
end;
until Bilangan > (2*Suku – 1); {Akhir Pengulangan}
writeln(‘Jumlah Deret‘,‘ = ‘, Jumlah);
readkey;
end.

REPEAT-UNTIL tersarang
REPEAT-UNTIL tersarang adalah suatu perulangan REPEAT-UNTIL yang satu berada
didalam perulangan REPEAT-UNTIL yang lainnya.
Contoh :
VAR a,b,c : REAL;
BEGIN
WRITELN('========================================');
WRITELN(' sisi A sisi B Sisi C ');
WRITELN(' =======================================');
a:= 1;
REPEAT { perulangan luar }
b := 0;
REPEAT { perulangan dalam }
c:=SQRT(a*a+b*b);
WRITELN(a:6:2, b:9:2, c:9:2); b:=b+5;
UNTIL b>25;
{ berhenti jika b lebih besar dari 5 untuk perulangan dalam }
a:=a+1;
UNTIL a>3;
{ berhenti jika a lebih besar dari 3 untuk perulangan luar }
WRITELN(' =======================================');
END.

Modul Praktikum Algoritma dan Pemrograman Pengulangan II 7


Institut Teknologi Padang @2013 – Fakultas Teknologi Industri

Berikut merupakan contoh program looping menggunakan FOR, WHILE dan REPEAT UNTIL
pada Pascal.

uses wincrt;
var i : integer;
begin
writeln('Loop Menggunakan FOR');
for i := 1 to 5 do
begin
writeln('Hell-o');
writeln('this is Loop ' ,i);
end;
writeln('');
writeln('loop menggunakan repeat');
writeln('');
i :=0;
repeat
i := i +1;
writeln('Hello');
writeln('this is Loop ' ,i);
until i = 5;

i :=0;
writeln('');
writeln('Loop Menggunakan While');
writeln('');
while (i < 5) do
begin
i := i +1;
writeln('Hello');
writeln('this is Loop ' ,i);
end;
end.

Dari contoh di atas kalian bisa mengetahui perbedaan looping menggunakan FOR, WHILE dan
REPEAT UNTIL pada pascal.

SOAL - SOAL :
Buatlah program untuk soal dibawah ini dengan tampilan sebagus mungkin
(gunakan perintah Window, Textcolor dll). Jumlah suku sesuai dengan input dari
keyboard.
1. Buat deret hitung 3,7,11,15,......................=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
2. Buat deret ukur 3,9,27,................................=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
3. Buat tabel deret bergoyang 1,-2,4,-8,...........=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
4. Buat deret suku harmonis 1,1/2,1/3,.............=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
Modul Praktikum Algoritma dan Pemrograman Pengulangan II 8
Institut Teknologi Padang @2013 – Fakultas Teknologi Industri

5. Buat deret fibbonaci 1,1,2,3,5,.....................=?


Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
6. Buat deret seperti berikut 1,-2,3,-4,.............=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
7. Buat deret kuadrat 1, 4, 9,............................=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
8. Buat deret seperti berikut 100, 90, 70 ,...........=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
9. Buat deret seperti berikut 256, 196, 144,............=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
10. Buat deret seperti berikut 1, 1, 1, 2, 2, 3, 6, 4, 24, 5..........=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
11. Buatlah program untuk mencari faktorial, sesuai dengan input yang diminta.
12. Buatlah program huruf yang berjatuhan sehingga membentuk suatu kalimat yang
telah diinput dari keyboard .

Modul Praktikum Algoritma dan Pemrograman Pengulangan II 9

Anda mungkin juga menyukai