Anda di halaman 1dari 15

MODUL 3

Pengertian Perulangan FOR DO dalam Pascal


Perulangan, atau looping dalam bahasa inggris, adalah konsep pemrograman dimana
kita mengulang baris program beberapa kali. “Beberapa kali” disini bisa dikatakan tidak
terbatas, selama komputer masih bisa mengolahnya.
Sebagai contoh, saya ingin anda menulis teks “Hello World” sebanyak 1000 kali. Tentu sangat
melelahkan mengetik semua ini (walaupun dengan di-copy paste). Menggunakan
struktur looping, kita bisa membuatnya dalam waktu singkat dan cepat, hanya butuh beberapa
baris kode program.
Salah satu struktur perulangan di dalam Pascal adalah FOR DO, berikut format
penulisannya:
FOR (variabel_counter) := (nilai_awal) TO (nilai_akhir) DO
begin
(kode program yang ingin diulang disini...)
end;
variabel_counter adalah variabel yang berfungsi sebagai counter, atau penghitung di
dalam perulangan. Variabel ini otomatis menaik dari nilai_awal hingga nilai_akhir. Dalam
setiap kenaikan, blok kode program yang berada di dalam begin dan end; akan
dijalankan. variabel_counter ini bisa digunakan sepanjang perulangan (jika diperlukan).
Mari langsung masuk ke contoh kode program.

Contoh Kode Program PASCAL untuk Perulangan


FOR DO
Sebagai contoh pertama, saya ingin membuat 1000 teks “Hello World”. Berikut kode
programnya:
program for_do_loop;
uses crt;
var
i: integer;
begin
clrscr;

for i := 1 to 1000 do
begin
writeln('Hello World');
end;

readln;
end.
Di bagian var, saya membuat sebuah variabel i dengan tipe data integer. Variabel ini
saya siapkan sebagai variabel counter.
Di dalam bahasa pemrograman komputer, variabel i, j, dan k sering digunakan sebagai
variabel counter. Anda akan sering melihat huruf-huruf ini dalam setiap perulangan, tidak hanya
dalam bahasa Pascal saja.

1 Perulangan WHILE DO dalam Pascal | Komang AdhiWijaya,S.Kom.,M.Pd


Untuk membuat perulangan sebanyak 1000 kali, saya menggunakan perintah for i :=
1 to 1000 do. Ini bisa dibaca dengan “Untuk variabel i, jalankan perulangan mulai dari 1
hingga 1000”.
Apa yang akan diulang? Adalah blok program yang diawali perintah begin, dan diakhiri
perintah end;. Di dalam blok ini saya membuat sebuah perintah: writeln(„Hello World‟).
Dengan demikian, pascal akan menjalankan 1000 kali baris writeln(„Hello World‟). Mari kita
coba:

Karena keterbatasan ukuran layar, kita tidak akan bisa menghitung jumlah “Hello
World” ini. Tapi kita bisa memanfaatkan variabel counter i. Saya akan ubah kode programnya
menjadi seperti berikut:
program for_do_loop;
uses crt;
var
i: integer;
begin
clrscr;

for i := 1 to 1000 do
begin
writeln('Hello World ke - ',i);
end;

readln;
end.
Disini, saya menambahkan variabel counter i ke dalam blok perulangan.
Kode writeln(„Hello World ke – „,i), artinya saya ingin menampilkan Hello World – 1, Hello
World – 2, Hello World – 3, hingga Hello World – 1000.
Jika komputer anda cukup lambat (eh), ketika program dijalankan akan terlihat teks Hello
World menaik secara perlahan dari 1 hingga 1000.

2 Perulangan WHILE DO dalam Pascal | Komang AdhiWijaya,S.Kom.,M.Pd


Mari masuk ke contoh selanjutnya. Kali ini saya ingin membuat kode program yang
merupakan daftar perkalian 7, yakni 7 x 1 = 7, 7 x 2 = 14, 7 x 3 = 21, dst hingga 7 x 10 = 70.
Disini kita harus menggunakan variabel counter i agar setiap perkalian naik dari 1 hingga 10.
Berikut kode program yang saya gunakan:
program for_do_loop;
uses crt;
var
i: integer;
begin
clrscr;

for i := 1 to 10 do
begin
writeln('7 x ',i,' = ',7 * i);
end;

readln;
end.

Ini sebenarnya modifikasi dari kode program perulangan Hello World. Saya merangkai
tampilan daftar perkalian menggunakan perintah writeln(„7 x „,i,‟ = „,7 * i). Jika anda mengikuti
tutorial belajar pascal duniailkom dari awal, ini adalah penyambungan teks dengan variabel.
Tanda koma digunakan untuk memisahkan mana bagian teks, dan mana variabel Pascal.
Sebagai contoh terakhir, mari kita coba modifikasi kode program diatas agar lebih
interaktif. Kali ini saya ingin membuat daftar perkalian tapi angka perkaliannya diinput oleh

3 Perulangan WHILE DO dalam Pascal | Komang AdhiWijaya,S.Kom.,M.Pd


pengguna. Misalnya diinput angka 9, tampilkan daftar perkalian 9 x 1, 9 x 2, hingga 9 x 10. Jika
diinput 14, tampilkan perkalian 14 x 1, 14 x 2, hingga 14 x 10.
Sebagai latihan, silahkan anda coba buat sendiri.

Baik, berikut kode program yang saya gunakan:

program for_do_loop;
uses crt;
var
i,angka: integer;
begin
clrscr;
writeln('========================');
writeln('Program Daftar Perkalian');
writeln('========================');
writeln;

write('Input perkalian yang diinginkan: ');


readln(angka);

writeln;
for i := 1 to 10 do
begin
writeln( i ,' x ', angka ,' = ', i * angka);
end;

readln;
end.
Disini saya menggunakan 2 buah variabel: i dan angka. Variabel angka digunakan untuk
menampung inputan, sedangkan variabel i sebagai variabel counter.
Selain tambahan kode readln(angka), kode program diatas mirip seperti sebelumnya.
Tentu saja di dalam blok perulangan saya harus membuat baris writeln( i ,‟ x „, angka ,‟ = „, i *
angka) agar variabel angka di proses sebagai bilangan pengali.

4 Perulangan WHILE DO dalam Pascal | Komang AdhiWijaya,S.Kom.,M.Pd


Perulangan Dengan Angka Negatif untuk FOR DO
Pascal
Dalam contoh sebelumnya, saya menggunakan angka positif untuk perulangan. Selain itu, kita
juga bisa menggunakan nilai negatif, selama nilai awal harus lebih besar daripada nilai akhir:

program for_do_loop;
uses crt;
var
i: integer;
begin
clrscr;

for i := -35 to -20 do


begin
writeln('10 x ',i,' = ',10 * i);
end;

readln;
end.

5 Perulangan WHILE DO dalam Pascal | Komang AdhiWijaya,S.Kom.,M.Pd


Perulangan WHILE DO dalam Pascal
Melanjutkan tutorial tentang perulangan atau looping dalam bahasa pemrograman Pascal, kita
akan masuk ke perulangan WHILE DO. Disini akan dibahas cara penulisan serta cara
penggunaan perulangan WHILE DO dalam Pascal.

Konsep Dasar Perulangan WHILE DO dalam Pascal


Perulangan FOR DO dan FOR DOWNTO DO yang saya bahas sebelum ini cocok untuk
kondisi dimana kita sudah tahu berapa banyak perulangan yang ingin dijalankan. Dalam FOR
DO, nilai awal perulangan dan nilai akhir sudah harus ditulis di awal kode program.
Untuk situasi dimana jumlah perulangan belum bisa dipastikan, kita bisa menggunakan
perulangan WHILE DO atau REPEAT UNTIL. Dalam tutorial kali ini saya akan fokus kepada
WHILE DO.
Berikut format dasar penulisan perulangan WHILE DO dalam bahasa pemrograman
PASCAL:

WHILE (condition) DO
begin
(kode program yang ingin diulang disini...)
(kode program untuk mengubah condition..)
end;
Kunci dari perulangan WHILE DO ada di condition dan kode program untuk
mengubah condition. Condition bisa dikatakan sebagai syarat agar perulangan bisa dijalankan.
Selama syarat ini terpenuhi (bernilai TRUE), perulangan akan terus dijalankan. Jika syarat ini
tidak terpenuhi (bernilai FALSE), perulangan tidak akan berjalan.
Mari kita lihat contoh kode programnya.

Contoh kode Program Perulangan WHILE DO dalam


Pascal
Agar seragam dengan perulangan FOR DO, saya ingin membuat 10 baris teks “Hello World”
menggunakan WHILE DO. Berikut kode programnya:
program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 0;
while i < 10 do
begin
writeln('Hello World');
i:= i + 1;
end;

6 Perulangan WHILE DO dalam Pascal | Komang AdhiWijaya,S.Kom.,M.Pd


readln;
end.
Pada awal program, saya membuat variabel i yang berfungsi sebagai variabel counter.
Sebelum perulangan, saya memberikan nilai 0 untuk i. Setelah itu kita masuk ke
perulangan WHILE DO.
Baris program while i < 10 do adalah awal dari perulangan.
Inilah kondisi atau syarat yang harus dipenuhi supaya perulangan bisa diproses. Ketika kode
program jalan pertama kali, nilai variabel i adalah 0, artinya kondisi i < 10 menghasilkan
nilai TRUE. Karena tentu saja 0 kurang dari 10.
Karena syarat di penuhi, blok begin hingga end; segera di eksekusi. Baris pertama
adalah writeln(„Hello World‟). Ini digunakan untuk menampilkan teks „Hello World‟. Tidak
ada masalah.
Baris berikutnya saya membuat i:= i + 1. Bagian ini dikenal juga sebagai increment,
artinya saya ingin menambah nilai variabel counter i sebanyak 1 angka. Ini dilakukan supaya
bisa mengubah kondisi i < 10 yang terdapat di awal perulangan. Jika ini tidak ditulis, perulangan
tidak akan pernah berhenti (infinity loop).
Sampai disini, kode program akan kembali ke awal dan mengecek apakah i < 10? Ingat, variabel
i sekarang sudah bernilai 1. Oke, 1 < 10 = benar (TRUE), kembali jalankan writeln(„Hello
World‟), yang diikuti dengan i:= i + 1. Karena 1 + 1 = 2, varibel i sekarang bernilai 2.
Kode program kembali ke awal dan mengecek apakah i < 10? Sekarang nilai i adalah 2, dan 2
masih kurang dari 10, 2 < 10 = benar (TRUE), sekali lagi kode blok perulangan akan
dijalankan.
Proses seperti ini terus berlangsung sampai kondisi i < 10 menghasilkan FALSE. Kapan
kondisi ini terjadi? Yakni ketika variabel i = 10. 10 < 10 adalah FALSE. Artinya, perulangan
WHILE DO akan dijalankan sebanyak 10 kali, dimana dalam setiap perulangan, nilai i akan
menaik mulai dari 0, 1, 2, 3, 4, 5, 6, 7, 8, hingga 9.
Agar konsep perulangan ini bisa lebih paham, silahkan anda bayangkan (kalau perlu ditulis),
bagaimana nilai variabel counter i bisa naik dari 1 sampai 9, dan pada setiap kenaikan
perulangan akan menampilkan teks „Hello World‟.

7 Perulangan WHILE DO dalam Pascal | Komang AdhiWijaya,S.Kom.,M.Pd


Jika kode program diatas masih kurang paham, mari masuk ke contoh kedua:

program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 0;

while i < 10 do
begin
writeln('Variabel i sekarang bernilai: ',i);
i:= i + 1;
end;
readln;
end.
Kondisi perulangan WHILE DO yang saya pakai sama persis seperti sebelumnya. Hanya
saja kali ini perintah yang dijalankan pada setiap perulangan adalah writeln(„Variabel i
sekarang bernilai: „,i).
Ini akan membantu kita melihat nilai variabel counter i yang terus bertambah 1 selama
perulangan dijalankan.

Pemahaman Logika untuk Perulangan WHILE DO


Untuk bisa membuat perulangan dengan WHILE DO, kita perlu pemahaman logika.
Logika diperlukan untuk menentukan nilai awal dan kondisi akhir.
Sebagai latihan soal, saya ingin anda membuat kode program yang menghasilkan
teks: “Variabel i sekarang bernilai: 5”, “Variabel i sekarang bernilai: 6”, … Hingga “Variabel
i sekarang bernilai: 10”. Yup, hanya 5 baris. Silahkan anda modifikasi kode program diatas.
Baik, berikut kode yang saya gunakan:

8 Perulangan WHILE DO dalam Pascal | Komang AdhiWijaya,S.Kom.,M.Pd


program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 5;

while i <= 10 do
begin
writeln('Variabel i sekarang bernilai: ',i);
i:= i + 1;
end;
readln;
end.

Kuncinya adalah bagaimana menentukan kondisi awal variabel i, dan kondisi akhir dari
perulangan. Dengan membuat i:= 5, dan while i <= 10 do, artinya nilai i akan mulai dari 5, 6, 7,
8, 9, dan 10.
Tapi saya juga bisa menggunakan kode program berikut:

program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 5;

while i < 11 do
begin
writeln('Variabel i sekarang bernilai: ',i);
i:= i + 1;
end;
readln;
end.
Dapatkah anda melihat bedanya? Perhatikan bahwa kali ini saya menggunakan
kondisi while i < 11 do. Sebenarnya ini sama seperti while i <= 10 do. Angka 10 akan TRUE
jika dibandingkan dengan “< 11″, maupun “<= 10“.
Konsep seperti ini agar selalu diperhatikan ketika membuat perulangan WHILE DO.

9 Perulangan WHILE DO dalam Pascal | Komang AdhiWijaya,S.Kom.,M.Pd


Hati-hati dengan Infinity Loop
Infinity Loop adalah sebuah perulangan yang tidak pernah berhenti. Ini terjadi karena
variabel kondisi akan selalu bernilai TRUE.
Perhatikan kode program berikut:

program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 5;

while i < 11 do
begin
writeln('Variabel i sekarang bernilai: ',i);
end;
readln;
end.
Jika anda menjalankan kode program diatas, akan terjadi Infinity Loop. Ini karena
kondisi while i <= 10 do akan selalu TRUE. Di dalam perulangan saya tidak membuat „sesuatu‟
yang bisa mengubah nilai variabel i (untuk membuat syarat i <= 10 menjadi FALSE).
Infinity Loop biasanya terjadi karena kesalahan logika dari programmer, terutama untuk
perulangan WHILE DO dan REPEAT UNTIL. Untuk menghentikan infinity loop, anda bisa
menekan kombinasi tombol CRTL + C, atau menutup paksa Free Pascal.

Membuat Hitung Mundur dengan WHILE DO


Untuk membuat perulangan yang mundur, kita bisa mengubah nilai awal variabel
counter dan kondisi syarat dari perulangan WHILE DO. Berikut contohnya:
program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 100;

while i >= 0 do
begin
writeln('Hitung mundur: ',i);
i:= i - 1;
end;
readln;
end.

10 Perulangan WHILE DO dalam Pascal | Komang AdhiWijaya,S.Kom.,M.Pd


Disini saya memulai variabel i dari 100. Pengecekan kondisi while i >= 0 do artinya,
perulangan akan dijalankan selama nilai i besar dari 100.
Bagaimana agar kondisi ini nantinya bisa bernilai FALSE? Saya menggunakan i:= i – 1,
sehingga dalam setiap perulangan, nilai i selalu berkurang 1 angka, dari 100, ke 99, ke 98, dst
hingga berhenti saat i = 0, yakni ketika syarat i >= 0 menghasilkan FALSE.

Membuat Perulangan Lompat dengan WHILE DO


Dengan memodifikasi bagian counter, kita bisa membuat perulangan yang “lompat”, yakni tidak
berurutan dari 1, 2, 3, dst. Kita bisa membuat variabel counter yang naik misalnya dari 3, 6, 9,
12, dst.
Perhatikan kode program berikut, dan dapatkah anda menebak urutan angka yang ditampilkan?

program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 3;

writeln('Berikut deret untuk kelipatan 3: ');

while i <= 30 do
begin
write(i,' ');
i:= i + 3;
end;
readln;
end.

11 Perulangan WHILE DO dalam Pascal | Komang AdhiWijaya,S.Kom.,M.Pd


Perhatikan bahwa variabel i mulai dari 3, dan perubahannya menggunakan i:= i + 3. Artinya
variabel i akan „lompat‟ 3 angka setiap perulangan. Berikut hasilnya:

Sampai disini saya sarankan anda mencoba2 berbagai kombinasi perulangan lain,
misalnya membuat perulangan yang lompat setiap 7 angka, atau perulangan yang mundur 4
angka, misalnya dari 100, ke 96, ke 92, ke 88, dst.

Dalam tutorial belajar pascal kali ini kita telah membahas perulangan WHILE DO. Di
dalam pascal masih ada 1 lagi struktur perulangan, yakni REPEAT UNTIL. Apa bedanya
perulangan WHILE DO dengan REPEAT UNTIL? Inilah yang akan kita bahas dalam tutorial
selanjutnya: Perulangan REPEAT UNTIL dalam Pascal.

Perulangan REPEAT UNTIL dalam Pascal


Perulangan (looping) terakhir yang akan kita bahas adalah perulangan REPEAT UNTIL.
Inilah yang akan kita praktekkan dalam tutorial bahasa pemrograman PASCAL kali ini.

Konsep Dasar Perulangan REPEAT UNTIL dalam


Pascal
Pada dasarnya, perulangan REPEAT UNTIL mirip seperti perulangan WHILE DO,
dimana kita akan melakukan pengecekan dalam setiap iterasi apakah nilai variabel counter masih
dipenuhi atau tidak.
Bedanya, pada REPEAT UNTIL, pemeriksaan kondisi ini dilakukan di akhir
perulangan, bukan di awal seperti WHILE DO.
Berikut format dasar penulisan perulangan REPEAT UNTIL dalam bahasa pemrograman
PASCAL:
REPEAT
begin
(kode program yang ingin diulang disini...)
(kode program yang untuk mengubah condition..)
end;
UNTIL (condition)

12 Perulangan REPEAT UNTIL dalam Pascal | Komang AdhiWijaya,S.Kom.,M.Pd


Karena condition dicek di akhir, setidaknya isi perulangan akan dijalankan minimal 1
kali, meskipun condition tidak dipenuhi. Inilah perbedaan mendasar dari REPEAT UNTIL
dengan perulangan lain seperti FOR DO dan WHILE DO.
Mari kita lihat contoh kode programnya.

Contoh kode Program Perulangan REPEAT UNTIL


dalam Pascal
Kembali, saya ingin menampilkan teks “Hello World” sebanyak 10 kali, berikut kode
programnya menggunakan perulangan REPEAT UNTIL:

program repeat_until;
uses crt;
var
i: integer;
begin
clrscr;
i:= 0;

repeat
begin
writeln('Hello World');
i:= i + 1;
end;
until i = 10;
readln;
end.

Terlihat sangat mirip dengan WHILE DO, bedanya variabel counter i akan di cek di akhir
perulangan.
Mari kita tampilkan nilai variabel i dalam setiap iterasi:
program repeat_until;
uses crt;
var
i: integer;
begin
clrscr;
i:= 0;

13 Perulangan REPEAT UNTIL dalam Pascal | Komang AdhiWijaya,S.Kom.,M.Pd


repeat
begin
writeln('Variabel i sekarang bernilai: ',i);
i:= i + 1;
end;
until i = 10;
readln;
end.

Kembali, jika anda sudah paham konsep perulangan WHILE DO, tidak akan sulit
memahani perulangan REPEAT UNTIL.

Perbedaan mendasar, bagaimana jika nilai variabel counter ini sudah tidak bisa dipenuhi
saat perulangan di jalankan? Mari kita coba:

program repeat_until;
uses crt;
var
i: integer;
begin
clrscr;
i:= 10000;

repeat
begin
writeln('Variabel i sekarang bernilai: ',i);
i:= i + 1;
end;
until i > 10;
readln;
end.
Perhatikan di awal kode program, saya mengisi variabel counter i dengan nilai 1000. Di
akhir looping REPEAT UNTIL, saya membuat kondisi until i > 10. Artinya, kondisi ini sudah
tidak memenuhi. 1000 tentu lebih besar dari 10, sehingga i > 10 akan menghasilkan
nilai FALSE.
Namun inilah keunikan perulangan REPEAT UNTIL. Karena kondisi diperiksa di akhir
perulangan, isi perulangan itu bisa berjalan minimal 1 kali. Berikut hasil kode program tersebut:

14 Perulangan REPEAT UNTIL dalam Pascal | Komang AdhiWijaya,S.Kom.,M.Pd


Sebagai contoh terakhir, saya ingin membuat deret angka kelipatan 5 menggunakan
perulangan REPEAT UNTIL. Berikut kode programnya:
program repeat_until;
uses crt;
var
i: integer;
begin
clrscr;
i:= 5;

writeln('Berikut deret untuk kelipatan 5: ');

repeat
begin
write(i,' ');
i:= i + 5;
end;
until i > 100;
readln;
end.

Kunci dari pembuatan deret ini ada di variabel counter. Saya menggunakan perintah i:= i
+ 5 dalam perulangan. Artinya, variabel i ditambahkan 5 dalam setiap iterasi. Hasil akhir berupa
deret dari 5, 10, 15, dst hingga 100.

15 Perulangan REPEAT UNTIL dalam Pascal | Komang AdhiWijaya,S.Kom.,M.Pd

Anda mungkin juga menyukai