Tutorial Belajar Pascal Part 41: Perulangan FOR DO dalam Pascal

445

Yodha.web.id – Selain struktur percabangan program seperti IF THEN, IF THEN ELSE dan CASE, struktur program lain yang wajib kita ketahui adalah looping, atau perulangan, atau disebut juga dengan iterasi.

Di dalam Pascal setidaknya terdapat 3 jenis perulangan, yakni FOR DO, WHILE DO, dan REPEAT UNTIL. Kita mulai dengan membahas Perulangan FOR DO dalam bahasa pemrograman Pascal.


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:

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.

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.

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:

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.

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
10
11
12
13
14
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 yodha.web.id 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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.


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.


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.

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.

Incoming search terms:

https://yandex ru/clck/jsredir?from=yandex ru;search;web;;&text=&etext=1822 I9k0OX8PhyC2yEzteLnY6J98APWU44Zff96oSkyFAV9FNaxL1DQO9lLw546dp7jY e7edc94bd9b4da729ad95b7b22d55f3f9834750a&uuid=&state=_BLhILn4SxNIvvL0W45KSic66uCIg23qh8iRG98qeIXme, https://yandex ru/clck/jsredir?from=yandex ru;search;web;;&text=&etext=1823 fzbNF865D2gPS6iIGwreJbg6b-QQK6a0QrJdDca3H7T-q379dYYmhnH3afb-MvMU ceeb2bad3a4c99b28e6f03927ecd33651bc5511d&uuid=&state=_BLhILn4SxNIvvL0W45KSic66uCIg23qh8iRG98qeIXme, https://yandex ru/clck/jsredir?from=yandex ru;search;web;;&text=&etext=1824 vedwu-yq5hq88MWVYV27JHwG11p_UNlJxl7tgfj8Rz24P-039gNNIb4tkqXxhQXK b30e64d83aec72104392c97a8e2fc72e5e337285&uuid=&state=_BLhILn4SxNIvvL0W45KSic66uCIg23qh8iRG98qeIXme, https://yandex ru/clck/jsredir?from=yandex ru;search;web;;&text=&etext=1824 VQaiKM1hsUFElv-wley5c2QUbuv8J3d1M54H-eHCaLI-xRtZYuc9awOX3GSBYQbg 5e32327cdab2f00a0865c0f6a0a651c95c75fc79&uuid=&state=_BLhILn4SxNIvvL0W45KSic66uCIg23qh8iRG98qeIXme, https://yandex ru/clck/jsredir?from=yandex ru;search;web;;&text=&etext=1824 WPcltI7sUqoFTt8yuGiGJzexu3gjcTtCe_6dAk_ZXlbhEqi66MwMwPe4nJmV-o75 8b56ff5a8e8b67f406beb15afc32f7dbcecdf162&uuid=&state=_BLhILn4SxNIvvL0W45KSic66uCIg23qh8iRG98qeIXme, https://yandex ru/clck/jsredir?from=yandex ru;search;web;;&text=&etext=1824 Y5gy6vA94dV9mb0Nd4QJLwt47FbQsnPjUfIu3O1QtQfDKCuEp1cyhE1LLo9ktL27 fedf9ca9a89a2ece92bafe4405444e055a3dd843&uuid=&state=_BLhILn4SxNIvvL0W45KSic66uCIg23qh8iRG98qeIXme