Perulangan (loop) dengan statement for digunakan untuk sebuah blok statement berulang kali sejumlah yang ditentukan. Ada tiga bentuk perulangan dengan statement for, yaitu:
1. Perulangan positif
Perulangan positif adalah perulangan dengan penghitungan dari kecil ke besar atau dengan kata lain pertambahannya positif. Perulangan positif dibentuk dengan menggunakan statement For-To-Do, dengan bentuk umum:
For variabel := nilai_awal To nilai_akhir Do statement;
Variabel, nilai_awal, dan nilai_akhir harus mempunyai tipe yang sama, yaitu integer.
contoh :
1
2
3
4
5
6
|
var
i : integer ;
begin
for i := 1 to 5 do
writeln ( 'Burhan Gopur' );
end .
|
Bila kode program diatas dijalankan, akan didapat hasil:
Burhan Gopur
Burhan Gopur
Burhan Gopur
Burhan Gopur
Burhan Gopur
Jika statement yang diulang lebih dari satu statement, maka penulisannya dapat dilakukan dengan menggunakan blok statement (diawali dengan Begin dan diakhiri dengan End;).
contoh :
1
2
3
4
5
6
7
8
9
|
var
i : integer ;
begin
for i := 1 to 5 do
begin
write (i);
writeln ( ' dicoba' );
end ;
end .
|
Bila kode program diatas dijalankan, akan didapat hasil:
1 dicoba
2 dicoba
3 dicoba
4 dicoba
5 dicoba
2. Perulangan negatif
Perulangan negatif adalah perulangan dengan penghitungan dari besar ke kecil atau dengan kata lain pertambahannya negatif. Perulangan negatif dibentuk dengan menggunakan statement For-DownTo-Do, dengan bentuk umum:
For variabel := nilai_awal DownTo nilai_akhir Do statement;
contoh :
1
2
3
4
5
6
|
var
i : integer ;
begin
for i := 5 downto 1 do
write (i);
end .
|
Bila kode program diatas dijalankan, akan didapat hasil:
54321
3. Perulangan tersarang
Perulangan tersarang (nested-loop) adalah perulangan yang berada dalam perulangan lainnya.
contoh :
1
2
3
4
5
6
7
8
9
10
11
|
var
i, j : integer ;
begin
for i := 1 to 5 do
begin
for j := 1 to 5 do
write (j, ' ' );
writeln ;
end ;
end .
|
Bila kode program diatas dijalankan, akan didapat hasil:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
contoh lainnya :
1
2
3
4
5
6
7
8
9
10
11
|
var
i, j : integer ;
begin
for i := 1 to 5 do
begin
for j := i to 5 do
write (j, ' ' );
writeln ;
end ;
end .
|
Bila kode program diatas dijalankan, akan didapat hasil:
1 2 3 4 5
2 3 4 5
3 4 5
4 5
5