Minggu, 18 Desember 2011

STRUKTUR KONTROL PERULANGAN


Struktur kontrol pengulangan dalam bahasa pemrograman dikenal dengan loop. Pengulangan dilakukan terus sampai dipenuhi keadaan tertentu. Dalam pascal dikenal tiga jenis pengulangan dan pernyataan yang digunakan adalah:
1. for
2. while-do
3. repeat-until

5.1. Pengulangan dengan for
Perulangan for dapat berbentuk perulangan positif, negatif dan bersarang. Pada pengulangan dengan for diperlukan variabel kontrol, nilai awal untuk inisialisasi sehingga pengulangan bisa dilakukan,dan nilai akhir untuk kondisi mengakhiri pengulangan.

Bentuk Menaik :
for variabel-kontrol:=nilai-awal to nilai-akhir do
pernyataan;

Bentuk Menurun :
for variabel-kontrol:=nilai-awal downto nilai-akhir do
pernyataan;

Bentuk loop dalam loop :
for variabel-kontrol1:=nilai-awal1 to nilai-akhir1 do
for variabel-kontrol2:=nilai-awal2 to nilai-akhir2 do
pernyataan;

Latihan 1
{ File : writefor.pas }
Program WriteFor;
Var
i,N: Integer;
Begin
Writeln('Baca N, print 1 s/d N');
Write('N=');
Read(N);
For i:=1 to N do
            Begin
            Writeln(i);
            End;
Writeln('Akhir program');
Readln;
End.


Latihan 2
Perulangan dengan menggunakan for naik.
{ File : fornaik.pas }
Program ForNaik;
Var
i,awal,akhir : Integer;
Begin
awal:=1;
akhir:=5;
for i:=awal to akhir do
Begin
Writeln(i);
End;
End.

Latihan 3
Perulangan dengan menggunakan for turun.
{ File : forturun.pas }
Program ForTurun;
Var
i,bawah,atas : Integer;
Begin
bawah:=1;
atas:=5;
for i:=atas to bawah do
            Begin
writeln(i);
read(i);
End.

Latihan 4
Perulangan dengan menggunakan for dengan batas merupakan karakter bukan integer.
{ File : forchr.pas }
Program forChr;
Uses crt;
Var ch:char;
Begin
For ch:='a' to 'z' do
            Begin
            Write(ch);
            End;
Readkey;
End.

Latihan 5
Perulangan dengan for bersarang.
{File : srgloop.pas }
Program srgloop;
Uses crt;
Var
i,j:integer;
Begin
Clrscr;
Writeln('Contoh loop dalam loop');
For i:=1 to 3 do
            begin
            For j:=1 to 3 do
                        Begin
                        Write('*');
                        End;
            Writeln;
            End;
End.

Catatan : Sama seperti if jika aksi dari for hanya terdiri dari 1 baris perintah maka begin dan and dapat dihilangkan. Tetapi jika aksi dari for lebih dari 1 baris tetap menggunakan begin end. Sehingga latihan 5 dapat ditulis sebagai berikut :

{File : srgloop.pas }
Program srgloop;
Uses crt;
Var
i,j:integer;
Begin
Clrscr;
Writeln('Contoh loop dalam loop');
For i:=1 to 3 do
            Begin
            For j:=1 to 3 do
                        Write('*');
            Writeln;
            End;
End.



5.2. Pengulangan dengan while do.

Pada pengulangan jenis ini, pengecekan syarat dilakukan diawal. Pengulangan dengan while-do ini digunakan untuk melakukan proses perulangan suatu pernyataan atau blok pernyataan terus-menerus selama kondisi ungkapan logika pada syarat masih bernilai logika benar.











Gambar 4.2. Flowchart while do.

Bentuk Umum :
While syarat do
perintah;

Latihan 6
{ File : while.pas }
Program _while;
Uses crt;
Var
i: Integer;
Begin
i:=1;
while i<=5 do
begin
writeln(i);
i:=i+1;
end;
readkey;
End.

Latihan 7
{ File : priwhile.pas }
Program priwhile;
Var
N,i: Integer;
Begin
Writeln('Nilai N=');
Read(N);
i:=1;
while i<=N do
            begin
            writeln(i);
            i:=i+1;
            end;
readln;
End.

Latihan 8
{ File : whiledo.pas }
Program whiledo;
Uses crt;
Var
nama : String[20];
Begin
Clrscr;
Write('Ketik nama siswa( X=selesai):');
Readln(nama);
While(nama[1]<>'X') do
            Begin
            Write('Ketik nama siswa( X=selesai):');
            Readln(nama);
            End;
End.

5.3. Loop Repeat...Until.

Berbeda dengan dua jenis pengulangan sebelumnya, syarat pengulangan pada repeat...until dicek pada akhir perulangan. Repeat...Until digunakan untuk mengulang statemen-statemen sampai (until) kondisi yang diseleksi di Until terpenuhi.

Bentuk Umum:
repeat
perintah
until syarat;

 Latihan 9
{ File : repeatUn.pas }
Program RepeatUntil;
Var
i : Integer;
Begin
i:=0;
Repeat
            Writeln(i);
            i:=i+1;
until i=5;
End.

0 komentar:

Posting Komentar