Perulangan (Looping)

Pengulangan digunakan untuk menjalankan satu atau beberapa pernyataan sebanyak beberapa kali. Dengan kata lain, pengulangan memungkinkan kita untuk menjalankan beberapa pernyataan hanya dengan menuliskan pernyataan tersebut satu kali saja.
Bentuk flowchartnya sebagai berikut :
 








A.      Pernyataan For
Merupakan pernyataan perulangan yang paling sering digunakan. Pernyataan ini duganakan jika kita telah mengetahui berapa kali kita akan mengulang satu atau beberapa pernyataan.
Bentuk umum pernyataan ini adalah sebagai berikut :
For pencacah := nilai_awal to
nilai_akhir do
begin
   (pernyataan-pernyataan yang akan diulang)
end;
Blok berisi pernyataan-pernyataan yang harus diulang sering disebut juga kalang (loop).
       1.      Pernyataan For Positif

Contoh :
uses crt;
var
i : integer;
begin
for i := 1 to 5 do
   writeln (Belajar Pemrograman);
readln;
end.

Hasilnya :
Belajar Pemrograman
Belajar Pemrograman
Belajar Pemrograman
Belajar Pemrograman
Belajar Pemrograman

Penjelasan : Berarti statemen belajar pemrograman akan diulang 
sebanyak 5 kali yaitu dengan menghitung nilai dari i ke 1 sampai nilai i terakhir yaitu i ke 5.
 

       2.      Pernyataan For Negatif
Adalah perulangan dengan menghitung (counter) dari besar ke kecil. Statement yang digunakan adalah For-DownTo-Do

Contoh :
Uses crt;
Var
i : integer;
begin
for i := 10 downto 1 do
       write (i:3);
end.

Hasil :
10  9  8  7  6  5  4  3  2  1

Contoh lain :
uses crt;
var i:integer;
begin
     clrscr;
     for i:=15 downto 1 do
     begin
          if i mod 2=1 then
          write(i:4);
     end;

readln;
end.
Outputnya :









Contoh lain :
uses crt;
var n,p,deret:integer;
begin
     clrscr;
     write('masukkan Jumlah deret : ');readln(p);
     deret:=3;
     for n:= 1 to p do
     begin
          write(deret:4);
          deret:=deret * 3;
     end;
readln;
end.

 Outputnya :













B.      Pernyataan For Bersarang
Pada pernyataan ini kita dapat meuliskan for didalam pernyataan for. Konstruksi semacam ini sering disebut dengan pernyataan for bersarang.

Contoh :
For x := 1 to 3 do
   For y := 1 to 2 do
           Writeln (x,  , y);
For yang luar (dengan pencacah variabel x) akan menjalankan for yang dalam (dengan pencacah y) sebanyak 3 kali. Dan pada  setiap pengulangan di layar akan dituliskan nilai x dan y. Berikut ini adalah keluaran dari program di atas :
1 1
1 2
2 1
2 2
3 1
3 2
Pada saat x bernilai 1, y diulang sebanyak 2 kali. Jadi pada layar akan tertulis 1 1 dan 1 2. Demikian juga pada saat x bernilai 2, y diulang sebanyak 2 kali. Jadi pada layar akan tertulis 2 1 dan 2 2. Hal yang sama terjadi pada saat  x bernilai 3, y diulang sebanyak 2 kali, sehingga pada layar tertulis 3 1 dan 3 2.

Contoh lain:
uses crt;
type pas=array[1..20,1..20] of longint;
     var pascal:pas;
         i,j,n :integer;
begin
clrscr;
     pascal[1,1]:=1;
     write ('Banyak Level : ');readln(n);{:=10;}
     for i:=2 to n do
     begin
     pascal[i,1]:=1;
     pascal[i,i]:=1;
     for j:=2 to i-1
     do
     pascal[i,j]:=pascal[i-1,j-1]+pascal[i-1,j];
     end;
     {write(pascal[2,1], ' ');
     writeln;}
     for i:=1 to n do
     begin
     for j:=1 to i do
     write(pascal[i,j],' ');
     readln;
     writeln;
     end
     end.
 Outputnya :











C.      Pernyataan While - Do
Biasa digunakan bila kita belum tahu pasti berapa banyak kita akan mengulang pernyataan-pernyataan. Berakhirnya pengulangan ini ditentukan oleh suatu kondisi, bila kondisi sudah tidak terpenuhi maka pengulangan akan berakhir. Dengan kata lain, selama kondisi masih terpenuhi pengulangan akan terus dilakukan. Bentuk umum pernyataan pengulangan while adalah sebagai berikut :
while kondisi do
begin
   (pernyataan-pernyataan yang akan diulang)
end;
Kondisi sendiri merupakan suatu ekspresi bertipe  Boolean, artinya hanya dapat bernilai benar (true) atau salah (false).

Contoh :
while (x > 0) do
begin
x := x 1;
y := y 1;
end;
Program ini akan mengulang dua pernyataan :
(x := x 1) dan (y := y 1)
Selama nilai x masih positif.

Contoh lain :
uses crt;
var n,p,deret:integer;
begin
     clrscr;
     write('masukkan Jumlah deret : ');readln(p);
     deret:=3;
     n:=1;
     while n<=p do
     begin
          write(deret:4);
          n:=n+1;
          deret:=deret * 3;
     end;
readln;
end.
end.
 Outputnya : 
 








D.      Pernyataan While – Do Tersarang
Merupakan perulangan While – Do yang satu di dalam perulangan While – Do yang lainnya.

Contoh :
uses crt;
var
   a,b  : integer;
   begin
   clrscr;
   a:=1;
   b:=1;
   while a<4 do {loop selama a masih lebih kecil dari4}
   begin
   a:=a + 1;
   while b<3 do {loop selama b masih lebih kecil dari 3}
   begin
   write (a:3,b:2);
   b:=b+1;
   end;
end;
readln;
end.

 Outputnya :











E.      Pernyataan Repeat .. Until
Pernyataan pengulangan ini hampir sama dengan pernyataan pengulangan while, dan biasanya digunakan bila jumlah pengulangan belum dapat ditentukan pada saat program ditulis. Perbedaan pernyataan repeat .. until dan while terletak pada letak pengecekan kondisi.
Jika pada pernyataan while, kondisi dicek pada awal kalang, sedangkan pada pernyataan repeat .. until, kondisi dicek pada akhir kalang.
Perbedaan yang lain, bila pernyataan while mengulang pernyataan selama kondisi masih terpenuhi, pernyataan repeat .. until mengulang peryataan selama kondisi belum terpenuhi.
Bentuk umum pernyataan ini adalah sebagai berikut :
repeat
   (pernyataan-pernyataan yang akan diulang)
until kondisi
Contoh :
Repeat
x := x 1;
y := y 1;
until (x <= 0);
Program ini akan mengulang dua pernyataan (x := x – 1) dan (y := y – 1) sampai nilai x lebih kecil atau sama dengan 0.

Contoh lain:
uses crt;
var i,n  :integer;
begin
     clrscr;
     i:=15;
     repeat
     begin
           write(i:6);
           i:=i-2;
     end;
     until n>=i;
readln;
end.
 Outputnya :

 






F.      Repeat Until Tersarang
Adalah suatu perulangan Repeat – Until yang satu berada didalam perulangan Repeat – Until yang lainnya.
Contoh :
uses crt;
var
   a,b,c : real;
begin
clrscr;
writeln('==========================');
writeln('sisi a sisi b sisi c ');
writeln('==========================');
  a := 1;
  repeat { perulangan luar }
  b := 0;
  repeat { perulangan dalam }
  c := sqrt (a * a + b * b);
writeln (a:6:2, b:9:2, c:9:2);
  b := b + 5;
  until b > 25;
   a := a + 1;
  until a > 3;
writeln('==========================');
readln;
  end. 
 Outputnya :



 





Komentar

Postingan populer dari blog ini

Perangkat Lunak Bebas (Free Software)

Konsep Dasar Algoritma

Apa Itu Sistem Operasi Komputer ?