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:
- FOR-TO-DO (Perulangan Positif/Naik)
- 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).
