Perulangan (Looping) Dalam Pascal
Perulangan dalam contoh program komputer atau loop Adalah suatu cara kerja yang mengerjakan ”bagian pernyatan yang sama” secara berulang kali berdasarkan syarat/kondisi yang ditentukan. Cara kerja ini digunakan untuk menyelesaikan persoalan yang dikerjakan secara berulang-ulang tetapi cara kerjanya sama walaupun hasilnya berbeda. Misalnya untuk mencetak angka 1 sampai 10, hanya dinyatakan satu baris pernyataan tetapi dikerjakan 10 kali, dimana setiap perulangan mencetak nilai yang berbeda. Masalah yang lebih kompleks adalah soal iterasi dalam matematika dan metode numerik.
Dalam contoh program komputer sering kali menggunakan beberapa macam perulangan sebagai berikut : FOR . .TO. .DO
WHILE . . DO REPEAT . .UNTIL
1. FOR…..TO….DO
Adalah perulangan yang digunakan untuk mengerjakan perintah sebanyak n kali.
Jika perintah lebih dari satu baris, maka harus terletak di antara kata Begin ....End;Bentuknya ada 2 macam :
a. For..to..do (Perulangan secara Ascending)
b. For..down..to (Perulangan secara Decending)
Bentuk :
For i:= n1 to n2 do
Begin
pernyataan;
End;
Keterangan :
* i adalah variabel penghitung perulangan
* n1 adalah nilai awal
* n2 adalah nilai akhir
* Nilai n1 lebih kecil dari n2 (n1
For i:= n2 downto n1 do
Begin
pernyataan;
End;
Keterangan :
* i adalah variabel penghitung perulangan* n1 adalah nilai akhir
* n2 adalah nilai awal
* Nilai n2 lebih besar dari n1 (n2>n1)
Dalam melakukan looping diperlukan sebuah variabel penghitung (pencacah) berapa kali melakukan perulangan. Variabel pencacah ini harus bertipe original. Tugas dari variabel ini menghitung perulangan hingga berhenti. Biasanya dalam program dituliskan sebagai :
X := X - 1; (Pencacah Turun) atau dec(x)
Dimana X merupakan variabel bertipe integer, byte atau word ( dalam pemograman biasanya dipilih tipe integer ).
2. WHILE . . DO
WHILE-DO digunakan untuk melakukan proses perulangan suatu blok statement selama kondisi pada WHILE bernilai BENAR. Bentuk Perintah:While do
Begin
pernyataan;
inc(x);
End;
Increment variabel kontrol perulangan harus dinyatakan dalam blok Begin – End.Pernyataan increment dapat dinyatakan menurut kebutuhan. Misalkan untuk mengerjakan sebuah pernyataan sebanyak 5 kali dengan perulangan while..do, maka bentuknya adalah sebagai berikut :
While do
Begin pernyataan;
Inc(k);
End;
3. REPEAT . .UNTIL
Digunakan untuk mengulangi (repeat) mengerjakan blok statement selama pada kata UNTIL bernilai SALAH. Jika BENAR, maka perulangan selesai.Bentuk Perintah :
Repeat
Begin
pernyataan;
incremen;
End;
Until (kondisi);
Increment variabel kontrol perulangan harus dinyatakan dalam blok Begin – End. Pernyataan increment dapat dinyatakan menurut kebutuhan. Pengetesan kondisi perulangan dilakukan di akhir perulangan. Pernyataan dalam blok Begin-End dikerjakan minimal 1 kali.
Repeat
Begin
pernyataan;
k := k + 1;
End;
Until k >6 ;
4. NESTED LOOP (Loop Bersarang)
Nested loop adalah loop yang memiliki loop di dalam bagian aksinya. Nested loop dapat dibuat dengan aneka bentuk loop yang sudah ada. Jadi kita bisa membuat loop for di dalam loop for, atau loop while dalam repeat until. Jumlah loop di dalam loop bisa sangat banyak (hanya dibatasi oleh kemampuan kompilator dalam menangani loop bersarang).
Nested loop for dapat memakai indeks loop di luarnya sebagai batas. Potongan program ini (dengan I dan j adalah integer):
for i:=1 to 5 do
begin
for j:=1 to i do
begin
writeln(“*”);
end;
end;
Akan mencetak:
*
**
***
****
*****
5. Invarian Loop
Invarian Loop adalah kondisi dalam loop yang selalu benar sepanjang loop tersebut berjalan.
Contohnya dalam loop ini:
var i, jumlah :integer
begin
i:=0;
jumlah:=0;
while (i<5) do
begin
jumlah:=jumlah + i;
i:=i+1;
end;
end.
Dalam loop ini invarian loop adalah jumlah akan selalu ditambahkan dengan nilai i saat ini, dan nilai i akan selalu bertambah dengan satu dari nilai pada loop berikutnya, sehingga loop dijamin akan berhenti.
Invarian loop untuk loop sederhana mudah diperiksa, namun di dalam loop mungkin ada analisa kasus yang akan mempersulit pemeriksaan apakah loop sudah benar.
4. NESTED LOOP (Loop Bersarang)
Nested loop adalah loop yang memiliki loop di dalam bagian aksinya. Nested loop dapat dibuat dengan aneka bentuk loop yang sudah ada. Jadi kita bisa membuat loop for di dalam loop for, atau loop while dalam repeat until. Jumlah loop di dalam loop bisa sangat banyak (hanya dibatasi oleh kemampuan kompilator dalam menangani loop bersarang).
Nested loop for dapat memakai indeks loop di luarnya sebagai batas. Potongan program ini (dengan I dan j adalah integer):
for i:=1 to 5 do
begin
for j:=1 to i do
begin
writeln(“*”);
end;
end;
Akan mencetak:
*
**
***
****
*****
5. Invarian Loop
Invarian Loop adalah kondisi dalam loop yang selalu benar sepanjang loop tersebut berjalan.
Contohnya dalam loop ini:
var i, jumlah :integer
begin
i:=0;
jumlah:=0;
while (i<5) do
begin
jumlah:=jumlah + i;
i:=i+1;
end;
end.
Dalam loop ini invarian loop adalah jumlah akan selalu ditambahkan dengan nilai i saat ini, dan nilai i akan selalu bertambah dengan satu dari nilai pada loop berikutnya, sehingga loop dijamin akan berhenti.
Invarian loop untuk loop sederhana mudah diperiksa, namun di dalam loop mungkin ada analisa kasus yang akan mempersulit pemeriksaan apakah loop sudah benar.
Perulangan dalam program sering kali digunakan untuk menyelesaikan berbagai macam persoalan. Dengan mengaplikasikan perintah perulangan di atas, maka program menjadi lebih sederhana. Lihat Contoh Program Kompter Perulangan Dengan Pascal
Anda punya pertanyan? Silakan tuliskan pada komentar.Selamat belajar. Semoga sukses selalu.
0 Response to "Perulangan (Looping) Dalam Pascal"
Post a Comment