SlideShare a Scribd company logo
Hal. 1
PERTEMUAN 3
Materi :
1. Konsep Perulangan FOR DO
2. Konsep Perulangan While DO
3. Repeat Until
1. 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).
Hal. 2
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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.
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’).
Hal. 3
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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.
Hal. 4
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.
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:
1
2
3
4
5
6
7
8
9
program for_do_loop;
uses crt;
var
i: integer;
begin
clrscr;
for i := 1 to 10 do
begin
Hal. 5
10
11
12
13
14
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 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:
1 program for_do_loop;
Hal. 6
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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.
Hal. 7
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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.
Hal. 8
Perulangan Mundur untuk FOR DO Pascal
Bisa menggunakan angka negatif, kenapa kita tidak mencoba hitung
mundur? Yakni dari bilangan besar ke kecil. Berikut contoh kode
programnya:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program for_do_loop;
uses crt;
var
i: integer;
begin
clrscr;
for i := 10 to 0 do
begin
writeln('Hitung mundur: ',i);
end;
readln;
end.
Hal. 9
Eh, kenapa layarnya kosong? Yup, di dalam PASCAL kita tidak bisa
melakukan hitung mundur dengan perulangan FOR DO, tapi harus
menggunakan perulangan FOR DONWTO DO. Inilah yang akan kita
bahas dalam tutorial selanjutnya: Perulangan FOR DOWN TO dalam
Pascal.
1.1. Perulangan FOR DOWN TO dalam Pascal
Tutorial kali ini merupakan lanjutan dari perulangan FOR DO yang saya
bahas sebelumnya. Disini kita akan mempelajari cara penggunaan
perulangan FOR DOWNTO dalam bahasa pemrograman Pascal.
Pengertian Perulangan FOR DOWNTO dalam Pascal
Perulangan FOR DOWNTO pada dasarnya sangat mirip dengan
perulangan FOR DO, bedanya perulangan kali ini khusus untuk iterasi
yang menurun, dari angka besar ke angka kecil.
Berikut format penulisannya:
FOR (variabel_counter) := (nilai_awal) DOWNTO (nilai_akhir)
DO
begin
(kode program yang ingin diulang disini...)
end;
Nyaris tidak berbeda dengan format perulangan FOR DO, hanya saja kali
ini kita menggunakan keyword DOWNTO sebagai pengganti TO. Mari kita
lihat contoh kode programnya.
Hal. 10
Contoh Perulangan FOR DOWNTO dalam Pascal
Melanjutkan contoh kasus yang kita coba pada akhir tutorial FOR DO,
berikut kode program hitung mundur dari 10 ke 1 menggunakan FOR
DOWNTO:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program for_do_loop;
uses crt;
var
i: integer;
begin
clrscr;
for i := 10 downto 0 do
begin
writeln('Hitung mundur: ',i);
end;
readln;
end.
Disini variabel counter i akan menurun dari 10 ke 0, sesuai dengan
perintah for i := 10 downto 0 do.
Hal. 11
Menggunakan contoh kode program perkalian dari tutorial sebelumnya,
saya bisa mengubahnya sebagai berikut:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program for_downto_loop;
uses crt;
var
i: integer;
begin
clrscr;
for i := 10 downto 1 do
begin
writeln('Perkalian 7 * ', i ,' adalah = ', 7 * i);
end;
readln;
end.
Untuk contoh yang lebih interaktif, saya ingin membuat lirik lagu ayak
ayam dengan perulangan FOR DOWNTO, yakni menampilkan
string “Anak ayam turun 10, pergi 1 tinggal 9”, kemudian dilanjutkan
dengan string “Anak ayam turun 9, pergi 1 tinggal 8”, hingga “Anak
Hal. 12
ayam turun 1, pergi 1 tinggal 0”. Jumlah anak ayam awal harus diinput
oleh pengguna.
Kode programnya kurang lebih mirip seperti contoh program perkalian
interaktif dalam tutorial FOR DO. Hanya saja selain menggunaan FOR
DOWNTO, anda perlu memikirkan bagaimana baris “Anak ayam turun 9,
pergi 1 tinggal 8” dirangkai. Silahkan buka aplikasi Free PASCAL, dan
coba soal latihan ini.
Baik, berikut contoh kode program yang saya gunakan:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program for_downto_loop;
uses crt;
var
anak_ayam,i: integer;
begin
clrscr;
writeln('==============');
writeln('Lagu Anak Ayam');
writeln('==============');
writeln;
write('Input jumlah anak ayam: ');
readln(anak_ayam);
writeln;
for i := anak_ayam downto 1 do
begin
writeln('Anak ayam turun ',i,' pergi 1, tinggal ',i-1);
end;
readln;
end.
Hal. 13
Saya membuat 2 buah variabel: i sebagai variabel counter,
dan anak_ayam sebagai variabel penampung inputan untuk
perintah readln(anak_ayam).
Perhatikan baris writeln(‘Anak ayam turun ‘,i,’ pergi 1, tinggal ‘,i-
1); inilah yang akan menampilkan teks lagu anak ayam yang terus
menurun hingga “Anak ayam turun 1, pergi 1 tinggal 0”.
Disini saya membuat perulangan dengan for i := anak_ayam downto 1
do. Saya tidak membuat for i := anak_ayam downto 0 do, karena di
looping nanti nilai i akan dikurangi lagi. Jika saya melakukan perulangan
hingga 0, lirik lagu terakhir akan menjadi “Anak ayam turun 0, pergi 1
tinggal -1”. Sangat tidak logis ada anak ayam dengan nilai negatif.
Sama seperti FOR TO, perulangan FOR DOWNTO juga bisa digunakan
untuk nilai negatif. Tentu saja dengan catatan nilai awal harus lebih besar
daripada nilai akhir.
Hal. 14
2. 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:
1
2
3
4
5
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.
Hal. 15
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 0;
while i < 10 do
begin
writeln('Hello World');
i:= i + 1;
end;
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.
Hal. 16
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’.
Hal. 17
Jika kode program diatas masih kurang paham, mari masuk ke contoh
kedua:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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.
Hal. 18
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:
1
2
3
4
5
6
7
8
program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 5;
Hal. 19
9
10
11
12
13
14
15
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:
1
2
3
4
5
6
7
8
9
program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 5;
while i < 11 do
Hal. 20
10
11
12
13
14
15
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.
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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.
Hal. 21
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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.
Hal. 22
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?
1
2
3
4
5
program while_do;
uses crt;
var
i: integer;
begin
Hal. 23
6
7
8
9
10
11
12
13
14
15
16
17
clrscr;
i:= 3;
writeln('Berikut deret untuk kelipatan 3: ');
while i <= 30 do
begin
write(i,' ');
i:= i + 3;
end;
readln;
end.
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.
Hal. 24
3. 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)
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:
Hal. 25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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:
Hal. 26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program repeat_until;
uses crt;
var
i: integer;
begin
clrscr;
i:= 0;
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:
1
2
program repeat_until;
uses crt;
Hal. 27
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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:
Hal. 28
Sebagai contoh terakhir, saya ingin membuat deret angka kelipatan 5
menggunakan perulangan REPEAT UNTIL. Berikut kode programnya:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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.
Hal. 29
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.
Sebagai latihan, bisakah anda membuat deret dengan kenaikan 7?
Silahkan buat dalam 3 jenis looping yang sudah kita pelajari sejauh
ini: FOR DO, WHILE DO, dan REPEAT UNTIL.

More Related Content

What's hot

Virus yang merugikan manusia hewan dan tumbuhan
Virus yang merugikan manusia hewan dan tumbuhanVirus yang merugikan manusia hewan dan tumbuhan
Virus yang merugikan manusia hewan dan tumbuhanIyens Syeikhbu
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
eddie Ismantoe
 
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
Program Pengurutan  (Sorting) dan Pencarian  (Searching) DataProgram Pengurutan  (Sorting) dan Pencarian  (Searching) Data
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
Simon Patabang
 
Makalah komunikasi
Makalah komunikasiMakalah komunikasi
Makalah komunikasi
Warnet Raha
 
Komputer masyarakat
Komputer masyarakatKomputer masyarakat
Komputer masyarakat
Yoga Nazriel Irham
 
laporan praktikum uji korosi pada paku
  laporan praktikum uji korosi pada paku  laporan praktikum uji korosi pada paku
laporan praktikum uji korosi pada paku
azidny
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode Pembuktian
Fahrul Usman
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
Rakhmi Khalida, M.M.S.I
 
Kabinet djuanda
Kabinet djuandaKabinet djuanda
Kabinet djuanda
samsul fandi
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Rakhmat Dedi Gunawan
 
Logika Matematika, Proposisi Majemuk, Tautologi
Logika Matematika, Proposisi Majemuk, TautologiLogika Matematika, Proposisi Majemuk, Tautologi
Logika Matematika, Proposisi Majemuk, Tautologi
Eman Mendrofa
 
Melihat isi file dari direktori aktif
Melihat isi file dari direktori aktifMelihat isi file dari direktori aktif
Melihat isi file dari direktori aktif
Emynam Estrela Fronteiras
 
6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)
Kelinci Coklat
 
Materi kuliah Bahasa Inggris Terapan: Prefix and suffix.ppt
Materi kuliah Bahasa Inggris Terapan: Prefix and suffix.pptMateri kuliah Bahasa Inggris Terapan: Prefix and suffix.ppt
Materi kuliah Bahasa Inggris Terapan: Prefix and suffix.ppt
Yusep Sugianto
 
komputer dan multimedia
komputer dan multimediakomputer dan multimedia
komputer dan multimedia
Nurul Faqih Isro'i
 
Makalah perjuangan bangsa indonesia sebelum dan sesudah kebangkitan nasional ...
Makalah perjuangan bangsa indonesia sebelum dan sesudah kebangkitan nasional ...Makalah perjuangan bangsa indonesia sebelum dan sesudah kebangkitan nasional ...
Makalah perjuangan bangsa indonesia sebelum dan sesudah kebangkitan nasional ...
rahayu wullandari
 
Proposisi Logika Matematika
Proposisi Logika MatematikaProposisi Logika Matematika
Proposisi Logika Matematika
Taufik_Yui
 
penalaran tidak langsung preposisi kategoris II
penalaran tidak langsung preposisi kategoris IIpenalaran tidak langsung preposisi kategoris II
penalaran tidak langsung preposisi kategoris II
Rhea Prasetya
 
Makalah pendidikan agama islam iman islam ihsan
Makalah pendidikan agama islam iman islam ihsanMakalah pendidikan agama islam iman islam ihsan
Makalah pendidikan agama islam iman islam ihsan
Elsashania26
 

What's hot (20)

Virus yang merugikan manusia hewan dan tumbuhan
Virus yang merugikan manusia hewan dan tumbuhanVirus yang merugikan manusia hewan dan tumbuhan
Virus yang merugikan manusia hewan dan tumbuhan
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
 
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
Program Pengurutan  (Sorting) dan Pencarian  (Searching) DataProgram Pengurutan  (Sorting) dan Pencarian  (Searching) Data
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
 
Makalah komunikasi
Makalah komunikasiMakalah komunikasi
Makalah komunikasi
 
Komputer masyarakat
Komputer masyarakatKomputer masyarakat
Komputer masyarakat
 
laporan praktikum uji korosi pada paku
  laporan praktikum uji korosi pada paku  laporan praktikum uji korosi pada paku
laporan praktikum uji korosi pada paku
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode Pembuktian
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Kabinet djuanda
Kabinet djuandaKabinet djuanda
Kabinet djuanda
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
Logika Matematika, Proposisi Majemuk, Tautologi
Logika Matematika, Proposisi Majemuk, TautologiLogika Matematika, Proposisi Majemuk, Tautologi
Logika Matematika, Proposisi Majemuk, Tautologi
 
Melihat isi file dari direktori aktif
Melihat isi file dari direktori aktifMelihat isi file dari direktori aktif
Melihat isi file dari direktori aktif
 
6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)
 
Materi kuliah Bahasa Inggris Terapan: Prefix and suffix.ppt
Materi kuliah Bahasa Inggris Terapan: Prefix and suffix.pptMateri kuliah Bahasa Inggris Terapan: Prefix and suffix.ppt
Materi kuliah Bahasa Inggris Terapan: Prefix and suffix.ppt
 
komputer dan multimedia
komputer dan multimediakomputer dan multimedia
komputer dan multimedia
 
8 BAB II Landasan Teori
8 BAB II Landasan Teori8 BAB II Landasan Teori
8 BAB II Landasan Teori
 
Makalah perjuangan bangsa indonesia sebelum dan sesudah kebangkitan nasional ...
Makalah perjuangan bangsa indonesia sebelum dan sesudah kebangkitan nasional ...Makalah perjuangan bangsa indonesia sebelum dan sesudah kebangkitan nasional ...
Makalah perjuangan bangsa indonesia sebelum dan sesudah kebangkitan nasional ...
 
Proposisi Logika Matematika
Proposisi Logika MatematikaProposisi Logika Matematika
Proposisi Logika Matematika
 
penalaran tidak langsung preposisi kategoris II
penalaran tidak langsung preposisi kategoris IIpenalaran tidak langsung preposisi kategoris II
penalaran tidak langsung preposisi kategoris II
 
Makalah pendidikan agama islam iman islam ihsan
Makalah pendidikan agama islam iman islam ihsanMakalah pendidikan agama islam iman islam ihsan
Makalah pendidikan agama islam iman islam ihsan
 

Similar to Pertemuan 3

Part 41 perulangan for do
Part 41 perulangan for doPart 41 perulangan for do
Part 41 perulangan for do
Syaiful Ahdan
 
Ayo membuat program pascal
Ayo membuat program pascalAyo membuat program pascal
Ayo membuat program pascalHary Purwoko
 
materi9 perulangan (looping).ppt
materi9 perulangan (looping).pptmateri9 perulangan (looping).ppt
materi9 perulangan (looping).ppt
akundiambang
 
Part 24 Perintah Record with
Part 24 Perintah Record withPart 24 Perintah Record with
Part 24 Perintah Record with
Syaiful Ahdan
 
Algoritma pemrograman 9
Algoritma pemrograman 9Algoritma pemrograman 9
Algoritma pemrograman 9
ZainalAbidin909479
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
Braga Rezpect
 
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxMAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
Dikicandra6
 
Modul tentang aritmatika dengan pascal
Modul tentang aritmatika dengan pascalModul tentang aritmatika dengan pascal
Modul tentang aritmatika dengan pascal
qwerty127
 
Part 36 if then
Part 36 if thenPart 36 if then
Part 36 if then
Syaiful Ahdan
 
modul algoritma Bab 4
modul algoritma Bab 4modul algoritma Bab 4
modul algoritma Bab 4
Eko Widyanto Napitupulu
 
Part 10: Penggunaan serta Perbedaan Write dan Writeln
Part 10: Penggunaan serta Perbedaan Write dan WritelnPart 10: Penggunaan serta Perbedaan Write dan Writeln
Part 10: Penggunaan serta Perbedaan Write dan Writeln
Syaiful Ahdan
 
Pertemuan 5
Pertemuan 5Pertemuan 5
Pertemuan 5
Syaiful Ahdan
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanie Indah
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanie Indah
 
Algo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGANAlgo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGAN
Senna Hendrian
 
Ebook pascal.pdf
Ebook pascal.pdfEbook pascal.pdf
Ebook pascal.pdf
Ekolondo Ekolondo
 
Algoritma dan pemograman
Algoritma dan pemogramanAlgoritma dan pemograman
Algoritma dan pemogramanMuchamad Ridwan
 
Belajar Java dasar
Belajar Java dasarBelajar Java dasar
Belajar Java dasar
Eko Kurniawan Khannedy
 
Perulangan While do, For to do, dan Repeat Until dalam Pascal
Perulangan While do, For to do, dan Repeat Until dalam PascalPerulangan While do, For to do, dan Repeat Until dalam Pascal
Perulangan While do, For to do, dan Repeat Until dalam Pascal
Teknik Informatika UII
 
Bahasa pemrograman pascal
Bahasa pemrograman pascalBahasa pemrograman pascal
Bahasa pemrograman pascal
Nadya Olivia
 

Similar to Pertemuan 3 (20)

Part 41 perulangan for do
Part 41 perulangan for doPart 41 perulangan for do
Part 41 perulangan for do
 
Ayo membuat program pascal
Ayo membuat program pascalAyo membuat program pascal
Ayo membuat program pascal
 
materi9 perulangan (looping).ppt
materi9 perulangan (looping).pptmateri9 perulangan (looping).ppt
materi9 perulangan (looping).ppt
 
Part 24 Perintah Record with
Part 24 Perintah Record withPart 24 Perintah Record with
Part 24 Perintah Record with
 
Algoritma pemrograman 9
Algoritma pemrograman 9Algoritma pemrograman 9
Algoritma pemrograman 9
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxMAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
 
Modul tentang aritmatika dengan pascal
Modul tentang aritmatika dengan pascalModul tentang aritmatika dengan pascal
Modul tentang aritmatika dengan pascal
 
Part 36 if then
Part 36 if thenPart 36 if then
Part 36 if then
 
modul algoritma Bab 4
modul algoritma Bab 4modul algoritma Bab 4
modul algoritma Bab 4
 
Part 10: Penggunaan serta Perbedaan Write dan Writeln
Part 10: Penggunaan serta Perbedaan Write dan WritelnPart 10: Penggunaan serta Perbedaan Write dan Writeln
Part 10: Penggunaan serta Perbedaan Write dan Writeln
 
Pertemuan 5
Pertemuan 5Pertemuan 5
Pertemuan 5
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Algo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGANAlgo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGAN
 
Ebook pascal.pdf
Ebook pascal.pdfEbook pascal.pdf
Ebook pascal.pdf
 
Algoritma dan pemograman
Algoritma dan pemogramanAlgoritma dan pemograman
Algoritma dan pemograman
 
Belajar Java dasar
Belajar Java dasarBelajar Java dasar
Belajar Java dasar
 
Perulangan While do, For to do, dan Repeat Until dalam Pascal
Perulangan While do, For to do, dan Repeat Until dalam PascalPerulangan While do, For to do, dan Repeat Until dalam Pascal
Perulangan While do, For to do, dan Repeat Until dalam Pascal
 
Bahasa pemrograman pascal
Bahasa pemrograman pascalBahasa pemrograman pascal
Bahasa pemrograman pascal
 

More from Syaiful Ahdan

Sertifikat EC00202128391
 Sertifikat EC00202128391 Sertifikat EC00202128391
Sertifikat EC00202128391
Syaiful Ahdan
 
SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...
SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...
SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...
Syaiful Ahdan
 
Sertifikat ec00202059774
Sertifikat ec00202059774Sertifikat ec00202059774
Sertifikat ec00202059774
Syaiful Ahdan
 
Sertifikat ec00202059775
Sertifikat ec00202059775Sertifikat ec00202059775
Sertifikat ec00202059775
Syaiful Ahdan
 
Sertifikat EC00202045078
Sertifikat EC00202045078Sertifikat EC00202045078
Sertifikat EC00202045078
Syaiful Ahdan
 
Sertifikat EC00202044723
 Sertifikat EC00202044723 Sertifikat EC00202044723
Sertifikat EC00202044723
Syaiful Ahdan
 
Sertifikat EC00202023523
Sertifikat EC00202023523Sertifikat EC00202023523
Sertifikat EC00202023523
Syaiful Ahdan
 
Sertifikat EC00201826309
Sertifikat EC00201826309Sertifikat EC00201826309
Sertifikat EC00201826309
Syaiful Ahdan
 
Sertifikat EC00202023149
Sertifikat EC00202023149Sertifikat EC00202023149
Sertifikat EC00202023149
Syaiful Ahdan
 
Sertifikat EC00202022868
Sertifikat EC00202022868Sertifikat EC00202022868
Sertifikat EC00202022868
Syaiful Ahdan
 
Sertifikat EC00202021343
Sertifikat EC00202021343Sertifikat EC00202021343
Sertifikat EC00202021343
Syaiful Ahdan
 
Sertifikat EC00202022755
Sertifikat EC00202022755Sertifikat EC00202022755
Sertifikat EC00202022755
Syaiful Ahdan
 
Sertifikat EC00201987196
Sertifikat EC00201987196Sertifikat EC00201987196
Sertifikat EC00201987196
Syaiful Ahdan
 
Sertifikat EC00201856484
Sertifikat EC00201856484Sertifikat EC00201856484
Sertifikat EC00201856484
Syaiful Ahdan
 
Sertifikat EC00201856352
Sertifikat EC00201856352Sertifikat EC00201856352
Sertifikat EC00201856352
Syaiful Ahdan
 
Sertifikat EC00201856994
Sertifikat EC00201856994Sertifikat EC00201856994
Sertifikat EC00201856994
Syaiful Ahdan
 
Sertifikat EC00201856895
Sertifikat EC00201856895Sertifikat EC00201856895
Sertifikat EC00201856895
Syaiful Ahdan
 
Meeting 2 introdcution network administrator
Meeting 2   introdcution network administratorMeeting 2   introdcution network administrator
Meeting 2 introdcution network administrator
Syaiful Ahdan
 
Pertemuan 4
Pertemuan 4Pertemuan 4
Pertemuan 4
Syaiful Ahdan
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
Syaiful Ahdan
 

More from Syaiful Ahdan (20)

Sertifikat EC00202128391
 Sertifikat EC00202128391 Sertifikat EC00202128391
Sertifikat EC00202128391
 
SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...
SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...
SP2JPB - Aplikasi Sistem Pelayanan Pemesanan Jasa Perbaikan Pada Bengkel Alam...
 
Sertifikat ec00202059774
Sertifikat ec00202059774Sertifikat ec00202059774
Sertifikat ec00202059774
 
Sertifikat ec00202059775
Sertifikat ec00202059775Sertifikat ec00202059775
Sertifikat ec00202059775
 
Sertifikat EC00202045078
Sertifikat EC00202045078Sertifikat EC00202045078
Sertifikat EC00202045078
 
Sertifikat EC00202044723
 Sertifikat EC00202044723 Sertifikat EC00202044723
Sertifikat EC00202044723
 
Sertifikat EC00202023523
Sertifikat EC00202023523Sertifikat EC00202023523
Sertifikat EC00202023523
 
Sertifikat EC00201826309
Sertifikat EC00201826309Sertifikat EC00201826309
Sertifikat EC00201826309
 
Sertifikat EC00202023149
Sertifikat EC00202023149Sertifikat EC00202023149
Sertifikat EC00202023149
 
Sertifikat EC00202022868
Sertifikat EC00202022868Sertifikat EC00202022868
Sertifikat EC00202022868
 
Sertifikat EC00202021343
Sertifikat EC00202021343Sertifikat EC00202021343
Sertifikat EC00202021343
 
Sertifikat EC00202022755
Sertifikat EC00202022755Sertifikat EC00202022755
Sertifikat EC00202022755
 
Sertifikat EC00201987196
Sertifikat EC00201987196Sertifikat EC00201987196
Sertifikat EC00201987196
 
Sertifikat EC00201856484
Sertifikat EC00201856484Sertifikat EC00201856484
Sertifikat EC00201856484
 
Sertifikat EC00201856352
Sertifikat EC00201856352Sertifikat EC00201856352
Sertifikat EC00201856352
 
Sertifikat EC00201856994
Sertifikat EC00201856994Sertifikat EC00201856994
Sertifikat EC00201856994
 
Sertifikat EC00201856895
Sertifikat EC00201856895Sertifikat EC00201856895
Sertifikat EC00201856895
 
Meeting 2 introdcution network administrator
Meeting 2   introdcution network administratorMeeting 2   introdcution network administrator
Meeting 2 introdcution network administrator
 
Pertemuan 4
Pertemuan 4Pertemuan 4
Pertemuan 4
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 

Recently uploaded

Alur tujuan pembelajaran bahasa inggris kelas x fase e
Alur tujuan pembelajaran bahasa inggris kelas x fase eAlur tujuan pembelajaran bahasa inggris kelas x fase e
Alur tujuan pembelajaran bahasa inggris kelas x fase e
MsElisazmar
 
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum MerdekaModul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
Fathan Emran
 
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
nasrudienaulia
 
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28 Juni 2024
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28  Juni 2024Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28  Juni 2024
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28 Juni 2024
Kanaidi ken
 
Demonstrasi Konseptual Modul 2.1 - RPP Berdiferensiasi.pdf
Demonstrasi Konseptual Modul 2.1 - RPP Berdiferensiasi.pdfDemonstrasi Konseptual Modul 2.1 - RPP Berdiferensiasi.pdf
Demonstrasi Konseptual Modul 2.1 - RPP Berdiferensiasi.pdf
d2spdpnd9185
 
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi KomunikasiMateri Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
AdePutraTunggali
 
AKSI NYATA PENDIDIKAN INKLUSIF_Baedlawi.pdf
AKSI NYATA PENDIDIKAN INKLUSIF_Baedlawi.pdfAKSI NYATA PENDIDIKAN INKLUSIF_Baedlawi.pdf
AKSI NYATA PENDIDIKAN INKLUSIF_Baedlawi.pdf
opkcibungbulang
 
Fisiologi Fonasi dan Saluran Napas Atas.pptx
Fisiologi Fonasi dan Saluran Napas Atas.pptxFisiologi Fonasi dan Saluran Napas Atas.pptx
Fisiologi Fonasi dan Saluran Napas Atas.pptx
arielardinda2
 
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum MerdekaModul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Fathan Emran
 
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKANSAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
NURULNAHARIAHBINTIAH
 
Rangkuman Kehadiran Guru di Kelas- www.kherysuryawan.id.pdf
Rangkuman Kehadiran Guru di Kelas- www.kherysuryawan.id.pdfRangkuman Kehadiran Guru di Kelas- www.kherysuryawan.id.pdf
Rangkuman Kehadiran Guru di Kelas- www.kherysuryawan.id.pdf
mad ros
 
AKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARU
AKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARUAKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARU
AKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARU
junaedikuluri1
 
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Fathan Emran
 
5. Rangkuman Kehadiran Guru di Kelas_SDN 8n Kranji.docx
5. Rangkuman Kehadiran Guru di Kelas_SDN 8n Kranji.docx5. Rangkuman Kehadiran Guru di Kelas_SDN 8n Kranji.docx
5. Rangkuman Kehadiran Guru di Kelas_SDN 8n Kranji.docx
StevanusOkiRudySusan
 
PPT KRITERIA KENAIKAN KELAS & KELULUSAN.pptx
PPT KRITERIA KENAIKAN KELAS & KELULUSAN.pptxPPT KRITERIA KENAIKAN KELAS & KELULUSAN.pptx
PPT KRITERIA KENAIKAN KELAS & KELULUSAN.pptx
SriKuntjoro1
 
PELAKSANAAN + Link2 Materi WORKSHOP Nasional _"Penerapan Regulasi Terbaru P...
PELAKSANAAN + Link2 Materi WORKSHOP Nasional _"Penerapan  Regulasi  Terbaru P...PELAKSANAAN + Link2 Materi WORKSHOP Nasional _"Penerapan  Regulasi  Terbaru P...
PELAKSANAAN + Link2 Materi WORKSHOP Nasional _"Penerapan Regulasi Terbaru P...
Kanaidi ken
 
Modul Ajar Statistika Data Fase F kelas
Modul Ajar Statistika Data Fase F  kelasModul Ajar Statistika Data Fase F  kelas
Modul Ajar Statistika Data Fase F kelas
ananda238570
 
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdfKisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
indraayurestuw
 
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptxRPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
YongYongYong1
 
Media Pembelajaran kelas 3 SD Materi konsep 8 arah mata angin
Media Pembelajaran kelas 3 SD Materi konsep 8 arah mata anginMedia Pembelajaran kelas 3 SD Materi konsep 8 arah mata angin
Media Pembelajaran kelas 3 SD Materi konsep 8 arah mata angin
margagurifma2023
 

Recently uploaded (20)

Alur tujuan pembelajaran bahasa inggris kelas x fase e
Alur tujuan pembelajaran bahasa inggris kelas x fase eAlur tujuan pembelajaran bahasa inggris kelas x fase e
Alur tujuan pembelajaran bahasa inggris kelas x fase e
 
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum MerdekaModul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 8 Fase D Kurikulum Merdeka
 
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
Teori Fungsionalisme Kulturalisasi Talcott Parsons (Dosen Pengampu : Khoirin ...
 
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28 Juni 2024
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28  Juni 2024Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28  Juni 2024
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28 Juni 2024
 
Demonstrasi Konseptual Modul 2.1 - RPP Berdiferensiasi.pdf
Demonstrasi Konseptual Modul 2.1 - RPP Berdiferensiasi.pdfDemonstrasi Konseptual Modul 2.1 - RPP Berdiferensiasi.pdf
Demonstrasi Konseptual Modul 2.1 - RPP Berdiferensiasi.pdf
 
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi KomunikasiMateri Feedback (umpan balik) kelas Psikologi Komunikasi
Materi Feedback (umpan balik) kelas Psikologi Komunikasi
 
AKSI NYATA PENDIDIKAN INKLUSIF_Baedlawi.pdf
AKSI NYATA PENDIDIKAN INKLUSIF_Baedlawi.pdfAKSI NYATA PENDIDIKAN INKLUSIF_Baedlawi.pdf
AKSI NYATA PENDIDIKAN INKLUSIF_Baedlawi.pdf
 
Fisiologi Fonasi dan Saluran Napas Atas.pptx
Fisiologi Fonasi dan Saluran Napas Atas.pptxFisiologi Fonasi dan Saluran Napas Atas.pptx
Fisiologi Fonasi dan Saluran Napas Atas.pptx
 
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum MerdekaModul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
Modul Ajar Matematika Kelas 11 Fase F Kurikulum Merdeka
 
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKANSAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
SAINS TINGKATAN 4 BAB 11 DAYA DAN GERAKAN
 
Rangkuman Kehadiran Guru di Kelas- www.kherysuryawan.id.pdf
Rangkuman Kehadiran Guru di Kelas- www.kherysuryawan.id.pdfRangkuman Kehadiran Guru di Kelas- www.kherysuryawan.id.pdf
Rangkuman Kehadiran Guru di Kelas- www.kherysuryawan.id.pdf
 
AKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARU
AKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARUAKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARU
AKSI NYATA TRANSISI PAUD-SD : PENGUATAN DI TAHUN AJARAN BARU
 
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum Merdeka
 
5. Rangkuman Kehadiran Guru di Kelas_SDN 8n Kranji.docx
5. Rangkuman Kehadiran Guru di Kelas_SDN 8n Kranji.docx5. Rangkuman Kehadiran Guru di Kelas_SDN 8n Kranji.docx
5. Rangkuman Kehadiran Guru di Kelas_SDN 8n Kranji.docx
 
PPT KRITERIA KENAIKAN KELAS & KELULUSAN.pptx
PPT KRITERIA KENAIKAN KELAS & KELULUSAN.pptxPPT KRITERIA KENAIKAN KELAS & KELULUSAN.pptx
PPT KRITERIA KENAIKAN KELAS & KELULUSAN.pptx
 
PELAKSANAAN + Link2 Materi WORKSHOP Nasional _"Penerapan Regulasi Terbaru P...
PELAKSANAAN + Link2 Materi WORKSHOP Nasional _"Penerapan  Regulasi  Terbaru P...PELAKSANAAN + Link2 Materi WORKSHOP Nasional _"Penerapan  Regulasi  Terbaru P...
PELAKSANAAN + Link2 Materi WORKSHOP Nasional _"Penerapan Regulasi Terbaru P...
 
Modul Ajar Statistika Data Fase F kelas
Modul Ajar Statistika Data Fase F  kelasModul Ajar Statistika Data Fase F  kelas
Modul Ajar Statistika Data Fase F kelas
 
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdfKisi-kisi PAT IPS Kelas 8 semester 2.pdf
Kisi-kisi PAT IPS Kelas 8 semester 2.pdf
 
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptxRPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
RPH BAHASA MELAYU TAHUN 6 SJKC 2024.pptx
 
Media Pembelajaran kelas 3 SD Materi konsep 8 arah mata angin
Media Pembelajaran kelas 3 SD Materi konsep 8 arah mata anginMedia Pembelajaran kelas 3 SD Materi konsep 8 arah mata angin
Media Pembelajaran kelas 3 SD Materi konsep 8 arah mata angin
 

Pertemuan 3

  • 1. Hal. 1 PERTEMUAN 3 Materi : 1. Konsep Perulangan FOR DO 2. Konsep Perulangan While DO 3. Repeat Until 1. 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).
  • 2. Hal. 2 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: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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. 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’).
  • 3. Hal. 3 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: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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.
  • 4. Hal. 4 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. 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: 1 2 3 4 5 6 7 8 9 program for_do_loop; uses crt; var i: integer; begin clrscr; for i := 1 to 10 do begin
  • 5. Hal. 5 10 11 12 13 14 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 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: 1 program for_do_loop;
  • 6. Hal. 6 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 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.
  • 7. Hal. 7 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: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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.
  • 8. Hal. 8 Perulangan Mundur untuk FOR DO Pascal Bisa menggunakan angka negatif, kenapa kita tidak mencoba hitung mundur? Yakni dari bilangan besar ke kecil. Berikut contoh kode programnya: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 program for_do_loop; uses crt; var i: integer; begin clrscr; for i := 10 to 0 do begin writeln('Hitung mundur: ',i); end; readln; end.
  • 9. Hal. 9 Eh, kenapa layarnya kosong? Yup, di dalam PASCAL kita tidak bisa melakukan hitung mundur dengan perulangan FOR DO, tapi harus menggunakan perulangan FOR DONWTO DO. Inilah yang akan kita bahas dalam tutorial selanjutnya: Perulangan FOR DOWN TO dalam Pascal. 1.1. Perulangan FOR DOWN TO dalam Pascal Tutorial kali ini merupakan lanjutan dari perulangan FOR DO yang saya bahas sebelumnya. Disini kita akan mempelajari cara penggunaan perulangan FOR DOWNTO dalam bahasa pemrograman Pascal. Pengertian Perulangan FOR DOWNTO dalam Pascal Perulangan FOR DOWNTO pada dasarnya sangat mirip dengan perulangan FOR DO, bedanya perulangan kali ini khusus untuk iterasi yang menurun, dari angka besar ke angka kecil. Berikut format penulisannya: FOR (variabel_counter) := (nilai_awal) DOWNTO (nilai_akhir) DO begin (kode program yang ingin diulang disini...) end; Nyaris tidak berbeda dengan format perulangan FOR DO, hanya saja kali ini kita menggunakan keyword DOWNTO sebagai pengganti TO. Mari kita lihat contoh kode programnya.
  • 10. Hal. 10 Contoh Perulangan FOR DOWNTO dalam Pascal Melanjutkan contoh kasus yang kita coba pada akhir tutorial FOR DO, berikut kode program hitung mundur dari 10 ke 1 menggunakan FOR DOWNTO: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 program for_do_loop; uses crt; var i: integer; begin clrscr; for i := 10 downto 0 do begin writeln('Hitung mundur: ',i); end; readln; end. Disini variabel counter i akan menurun dari 10 ke 0, sesuai dengan perintah for i := 10 downto 0 do.
  • 11. Hal. 11 Menggunakan contoh kode program perkalian dari tutorial sebelumnya, saya bisa mengubahnya sebagai berikut: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 program for_downto_loop; uses crt; var i: integer; begin clrscr; for i := 10 downto 1 do begin writeln('Perkalian 7 * ', i ,' adalah = ', 7 * i); end; readln; end. Untuk contoh yang lebih interaktif, saya ingin membuat lirik lagu ayak ayam dengan perulangan FOR DOWNTO, yakni menampilkan string “Anak ayam turun 10, pergi 1 tinggal 9”, kemudian dilanjutkan dengan string “Anak ayam turun 9, pergi 1 tinggal 8”, hingga “Anak
  • 12. Hal. 12 ayam turun 1, pergi 1 tinggal 0”. Jumlah anak ayam awal harus diinput oleh pengguna. Kode programnya kurang lebih mirip seperti contoh program perkalian interaktif dalam tutorial FOR DO. Hanya saja selain menggunaan FOR DOWNTO, anda perlu memikirkan bagaimana baris “Anak ayam turun 9, pergi 1 tinggal 8” dirangkai. Silahkan buka aplikasi Free PASCAL, dan coba soal latihan ini. Baik, berikut contoh kode program yang saya gunakan: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 program for_downto_loop; uses crt; var anak_ayam,i: integer; begin clrscr; writeln('=============='); writeln('Lagu Anak Ayam'); writeln('=============='); writeln; write('Input jumlah anak ayam: '); readln(anak_ayam); writeln; for i := anak_ayam downto 1 do begin writeln('Anak ayam turun ',i,' pergi 1, tinggal ',i-1); end; readln; end.
  • 13. Hal. 13 Saya membuat 2 buah variabel: i sebagai variabel counter, dan anak_ayam sebagai variabel penampung inputan untuk perintah readln(anak_ayam). Perhatikan baris writeln(‘Anak ayam turun ‘,i,’ pergi 1, tinggal ‘,i- 1); inilah yang akan menampilkan teks lagu anak ayam yang terus menurun hingga “Anak ayam turun 1, pergi 1 tinggal 0”. Disini saya membuat perulangan dengan for i := anak_ayam downto 1 do. Saya tidak membuat for i := anak_ayam downto 0 do, karena di looping nanti nilai i akan dikurangi lagi. Jika saya melakukan perulangan hingga 0, lirik lagu terakhir akan menjadi “Anak ayam turun 0, pergi 1 tinggal -1”. Sangat tidak logis ada anak ayam dengan nilai negatif. Sama seperti FOR TO, perulangan FOR DOWNTO juga bisa digunakan untuk nilai negatif. Tentu saja dengan catatan nilai awal harus lebih besar daripada nilai akhir.
  • 14. Hal. 14 2. 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: 1 2 3 4 5 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.
  • 15. Hal. 15 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: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 program while_do; uses crt; var i: integer; begin clrscr; i:= 0; while i < 10 do begin writeln('Hello World'); i:= i + 1; end; 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.
  • 16. Hal. 16 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’.
  • 17. Hal. 17 Jika kode program diatas masih kurang paham, mari masuk ke contoh kedua: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 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.
  • 18. Hal. 18 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: 1 2 3 4 5 6 7 8 program while_do; uses crt; var i: integer; begin clrscr; i:= 5;
  • 19. Hal. 19 9 10 11 12 13 14 15 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: 1 2 3 4 5 6 7 8 9 program while_do; uses crt; var i: integer; begin clrscr; i:= 5; while i < 11 do
  • 20. Hal. 20 10 11 12 13 14 15 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. 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: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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.
  • 21. Hal. 21 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: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 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.
  • 22. Hal. 22 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? 1 2 3 4 5 program while_do; uses crt; var i: integer; begin
  • 23. Hal. 23 6 7 8 9 10 11 12 13 14 15 16 17 clrscr; i:= 3; writeln('Berikut deret untuk kelipatan 3: '); while i <= 30 do begin write(i,' '); i:= i + 3; end; readln; end. 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.
  • 24. Hal. 24 3. 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) 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:
  • 25. Hal. 25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 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:
  • 26. Hal. 26 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 program repeat_until; uses crt; var i: integer; begin clrscr; i:= 0; 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: 1 2 program repeat_until; uses crt;
  • 27. Hal. 27 3 4 5 6 7 8 9 10 11 12 13 14 15 16 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:
  • 28. Hal. 28 Sebagai contoh terakhir, saya ingin membuat deret angka kelipatan 5 menggunakan perulangan REPEAT UNTIL. Berikut kode programnya: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 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.
  • 29. Hal. 29 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. Sebagai latihan, bisakah anda membuat deret dengan kenaikan 7? Silahkan buat dalam 3 jenis looping yang sudah kita pelajari sejauh ini: FOR DO, WHILE DO, dan REPEAT UNTIL.