Sistem Absensi Dan Laporan Penggajian

Cara Membuat Perintah For..to...do, While ... do, dan Repeat ... Until pada Pemograman Pascal

Salam...,

Kita akan bahas tetang perintah Loop a Loop pada pemograman pascal. Dalam banyak kasus dalam pemrograman, kita perlu mengulang proses. Dalam hal ini, kita perlu perintah loop. Pascal memahaminya, oleh karena ituPascal menyediakan tiga jenis loop:
  1. For ... to ... do
  2. While ... do
  3. Repeat ... until
1. For ... to ... do
Syntax :
For variable := fromwhat to what do
begin
  :
  :
  statements / commands
  :
  :
end;
Contoh: Misalkan i adalah bilangan bulat
For i:=1 to 5 do
begin
  writeln(i);
  if i=5 then writeln('Finished !');
end;

Ini menghasilkan 1, 2, 3, 4, 5, maka pesan 'Finished!'. Anda melihat bahwa di dalam blok begin-end, Anda bisa menambahkan perintah yang Anda inginkan. Jika hanya ada satu perintah di dalamnya, Anda dapat menghilangkan begin..end. Misalkan Anda menghilangkan jika i = 5 ..., sehingga dalam begin..end kita tambahkan writeln (i);. Kita bisa menghilangkan begin..end tersebut, maka menjadi:

For i:=1 to 5 do
  writeln(i);
Jika kita ingin menghitung mundur i, dari 5 ke 1, kita hanya mengubah menjadi downto :
For i:=5 downto 1 do
  writeln(i);

Bagaimana jika kita ingin melangkah lebih dari satu, yaitu 1, 3, 5, 7, 9, ...? BASIC memberikan langkah bagaimana tentang Pascal? Nah, dalam hal ini, Pascal TIDAK memberikan seperti itu, tetapi jika Anda kreatif, Anda dapat melakukannya. Hal ini berlaku untuk langkah fraksional juga. NAMUN, Pascal tidak termasuk fitur khusus. Periksa ini:

{ Suppose c is a char variable }
For c:='A' to 'Z' do write(c,' ');

kita dapat menulisnya :
For c:='Z' downto 'A' do write(c,' ');

Kita bahkan dapat menulis ini: (Misalkan b adalah boolean):
For b:=false to true do writeln(b);

2. While...do
jika Anda telah belajar BASIC, Anda akan menemukan While… Do dalam Pascal cukup sama dengan WHILE ... end. Perintahnya adalah:
While conditions do
begin
  :
  (statements / commands)
  :
end;

Sebelum kita masuk blok begin..end, pertama cek apakah kondisi (s) “satisfied”. Jika tidak, itu hanya melewatinya, atau menjalankan setiap perintah dalam begin..end. Ketika mencapai akhir, ia akan mengecek kondisi lagi. Jika “satisfied”, maka loop lagi. Jika tidak, pergi keluar. Ini berjalan dan terus. Logikanya seperti ini:

For example :

i:=1;
While i<6 do
begin
  writeln(i);
  i:=i+1;
end;


Anda juga dapat menggabungkan kondisi dengan AND, OR, XOR atau. Jika Pascal tidak menyediakan langkah seperti BASIC, Anda dapat mengubah untuk menjadi sementara yang memiliki lebih banyak fleksibilitas.

3. Repeat ... Until.
The syntax is :

Repeat
  :
  statements / commands
  :
Until condition;

Berbeda While...do, Repeat...Until  tidak memeriksa kondisi pada awalnya. Itu hanya memasuki blok dan melakukan sesuatu di dalam. Repeat...Until  tidak memerlukan begin...end. kemudian memeriksa apakah kondisi “satisfied “ atau tidak. If SO, berhenti. Itulah perbedaan ketiga dari While...do. Jika tidak, loop kembali. Jadi, logikanya seperti ini:

Contoh :
 (uses crt first)
Repeat Until Keypressed;
OR :

i:=1;
Repeat
  writeln(i);
  i:=i+1;
Until i>5;

Dalam While...do dan Repeat...until ada kesempatan untuk mendapatkan loop tak terbatas. Cukup memberikan kondisi yang mustahil. Tapi ingat, bahwa ini juga kelemahan jika kita tidak menggunakannya dengan hati-hati. 
contoh:

While 2<4 do                 
begin                                  
  (bla bla bla ...)                   
end;
(2 selalu kurang dari 4, jadi While...do mendapatkan Pengulangab tak terbatas )

Atau

Repeat
(bla la bla…)
Until 3>5;
End ;
(3 tidak pernah bisa melebihi 5, jadi Repeat...until tidak ada )

Atau mungkin saja :

While true do                
begin                                  
  (bla bla bla ...) 
End;  

Atau

Repeat
( blab la bla…)
Until False;
End;

(Hannya menghasilkan efek yang sama seperti contoh sebelumnya: loop tak terbatas )        

 Mungkin juga sekumpulan pengulangan, For dalam sebuah  For , sebuah While dalam While yang lain. Dan bahkan sekumpulan Loop pada satu Form dalam Form yang lain, seperti sebuah For dalam Repeat...Until,  Contoh :

Repeat
   :
   For ... do
   begin
     :
   end;
   :
Until ...;

Hal ini sangat legal.

Bagaimana jika saya ingin menyelamatkan di tengah loop? Mudah, gunakan Break. contoh:
begin
      for i:=1 to 10 do
      begin
        writeln(i);
        if i=5 then break;
      end;
      writeln('Finished !');
   end.

Akan menghasilkan ;
1
2
3
4
5

Break berarti keluar dari loop arus. Hal ini juga dapat diterapkan pada while...do dan repeat...until
Bagaimanadengan sekumpulan loop ? Break hanya berlaku pada blok begin...end. Lihat program di bawah ini :
begin
      for i:=1 to 4 do
      begin
         for j:=1 to 5 do
         begin
           writeln(i,' ',j);
           if j=3 then break;
         end;
         writeln('Next i loop');
      end;
      writeln('Finished !');
   end.
Akan menghasilkan :
1 1
1 2
1 3
Next i loop
2 1
2 2
2 3
Next i loop
3 1
3 2
3 3
Next i loop
4 1
4 2
4 3
Next i loop
Finished !
 Contoh lainnya :
begin
      for i:=1 to 5 do
      begin
         for j:=1 to 3 do
         begin
           writeln(i,' ',j);
         end;
         if i=2 then break;
      end;
      writeln('Finished !');
   end.

Akan menghasilkan :
1 1
1 2
1 3
2 1
2 2
2 3
Finished !

Break hanya melakukan fungsinya dalam lingkup (begin...end ) Bagaimana jika saya ingin melewatkan malah berhenti pada Loop ? gunakan Continue ganti Break.  ganti semua Break pada contoh dengan Continue dan lihat apa yang terjadi.


Demikian sedikit penjelasan tentang pemakaian perintah Units dalam pemograman Pascal, silahkan anda kembangkan lagi.

Pelajari Juga Tutorial Pemograman Pascal Lainnya :
Langkah- Langkah memulai Pemograman Pascal
Salam ...,

No comments:

Post a Comment