Struktur Dasar Algoritma: Perulangan (Repetition) dengan FOR-DO

Kita telah mempelajari dua struktur dasar algoritma: Runtunan (Sequence) yang seperti jalan lurus, dan Pemilihan (Selection) yang seperti persimpangan. Sekarang, kita akan membahas struktur dasar ketiga dan terakhir yang membuat program menjadi sangat kuat: Perulangan (Repetition).

Struktur perulangan adalah bundaran dalam alur algoritma. Ia memungkinkan kita untuk mengeksekusi satu atau lebih instruksi berulang kali tanpa harus menulisnya berkali-kali. Dari berbagai jenis perulangan, yang paling dasar adalah perulangan FOR, yang digunakan ketika kita sudah tahu pasti berapa kali sebuah tugas akan diulang.

Konsep Dasar Perulangan FOR

Perulangan FOR digunakan untuk mengulang satu blok statement sejumlah kali yang telah ditentukan di awal. Ini berbeda dengan perulangan kondisional (seperti WHILE atau REPEAT) yang jumlah perulangannya bergantung pada sebuah kondisi yang bisa berubah.

Analogi: Bayangkan sebuah rencana latihan yang mengatakan, "Lakukan push-up sebanyak 15 kali." Anda tahu persis kapan harus memulai (hitungan ke-1) dan kapan harus berhenti (hitungan ke-15). Itulah prinsip kerja perulangan FOR.

Di Pascal, ada dua bentuk perulangan FOR:

  1. FOR-TO-DO (Perulangan Positif/Naik)
  2. FOR-DOWNTO-DO (Perulangan Negatif/Turun)

1. Perulangan Positif (FOR-TO-DO)

Perulangan ini digunakan untuk iterasi yang bergerak naik, dari angka kecil ke angka besar.

Bentuk Umum:

FOR variabel_kontrol := nilai_awal TO nilai_akhir DO
  pernyataan;

variabel_kontrol adalah penghitung yang nilainya akan otomatis bertambah satu dari nilai_awal hingga mencapai nilai_akhir.

Contoh Kasus 1: Mencetak Deret Angka

Algoritma untuk membaca sebuah angka n, lalu mencetak semua angka dari 1 hingga n.

program Mencetak_Urutan_Bilangan;
var
  i, n: integer;
begin
  write('Masukkan nilai n = ');
  readln(n);

  for i := 1 to n do
    write(i, ' '); // Cetak nilai 'i' saat ini

  readln;
end.

Jika n diisi 10, maka outputnya adalah 1 2 3 4 5 6 7 8 9 10.

Blok Pernyataan dengan begin-end

Jika Anda ingin mengulang lebih dari satu pernyataan, Anda harus membungkusnya di dalam blok begin dan end;.

program Pengulangan_For_Blok;
var
  i: integer;
begin
  for i := 1 to 5 do
  begin
    write('Saya Mahasiswa');
    writeln(' Semester 1');
  end;
  readln;
end.

Program ini akan mencetak "Saya Mahasiswa Semester 1" sebanyak 5 baris.

2. Perulangan Negatif (FOR-DOWNTO-DO)

Perulangan ini adalah kebalikannya, digunakan untuk iterasi yang bergerak turun dari angka besar ke angka kecil.

Bentuk Umum:

FOR variabel_kontrol := nilai_awal DOWNTO nilai_akhir DO
  pernyataan;

variabel_kontrol akan otomatis berkurang satu dari nilai_awal hingga mencapai nilai_akhir.

Contoh Kasus 2: Hitung Mundur

Program sederhana untuk melakukan hitung mundur dari 10 ke 1.

program Pengulangan_Downto;
var
  i: integer;
begin
  for i := 10 downto 1 do
    writeln(i);

  writeln('GO!');
  readln;
end.

Program ini akan menampilkan angka 10, 9, 8, hingga 1, masing-masing di baris baru.

Kesimpulan

Struktur Perulangan (Repetition) melengkapi tiga serangkai fondasi algoritma. Khususnya perulangan FOR, ia adalah alat yang paling tepat ketika Anda berhadapan dengan tugas yang jumlah pengulangannya sudah pasti. Dengan kemampuannya untuk melakukan iterasi secara menaik (FOR-TO-DO) dan menurun (FOR-DOWNTO-DO), Anda dapat mengotomatisasi banyak tugas berulang secara efisien.

Dengan menguasai Runtunan, Pemilihan, dan kini Perulangan, Anda telah memiliki semua balok penyusun yang diperlukan untuk membangun algoritma apa pun!

Tantangan: Buatlah algoritma yang meminta input sebuah angka, lalu menampilkan tabel perkalian untuk angka tersebut dari 1 hingga 10. (Contoh: input 7, maka program menampilkan 7 x 1 = 7, 7 x 2 = 14, ..., 7 x 10 = 70).

This article was updated on October 5, 2025