Tutorial Belajar Pascal Part 44: Perulangan REPEAT UNTIL dalam Pascal

Perulangan (looping) terakhir yang akan kita bahas adalah perulangan REPEAT UNTIL. Inilah yang akan kita praktekkan dalam tutorial bahasa pemrograman PASCAL kali ini.


Konsep Dasar Perulangan REPEAT UNTIL dalam Pascal

Pada dasarnya, perulangan REPEAT UNTIL mirip seperti perulangan WHILE DO, dimana kita akan melakukan pengecekan dalam setiap iterasi apakah nilai variabel counter masih dipenuhi atau tidak.

Bedanya, pada REPEAT UNTIL, pemeriksaan kondisi ini dilakukan di akhir perulangan, bukan di awal seperti WHILE DO.

Berikut format dasar penulisan perulangan REPEAT UNTIL dalam bahasa pemrograman PASCAL:

REPEAT
  begin
   (kode program yang ingin diulang disini...)
   (kode program yang untuk mengubah condition..)
  end;
UNTIL (condition)

Karena condition dicek di akhir, setidaknya isi perulangan akan dijalankan minimal 1 kali, meskipun condition tidak dipenuhi. Inilah perbedaan mendasar dari REPEAT UNTIL dengan perulangan lain seperti FOR DO dan WHILE DO.

Mari kita lihat contoh kode programnya.


Contoh kode Program Perulangan REPEAT UNTIL dalam Pascal

Kembali, saya ingin menampilkan teks “Hello World” sebanyak 10 kali, berikut kode programnya menggunakan perulangan REPEAT UNTIL:

program repeat_until;
uses crt;
var
  i: integer;
begin
  clrscr;
  i:= 0;

  repeat
    begin
      writeln('Hello World');
      i:= i + 1;
    end;
  until i = 10;
  readln;
end.

Contoh Program Pascal - Perulangan REPEAT UNTIL Hello World

Terlihat sangat mirip dengan WHILE DO, bedanya variabel counter i akan di cek di akhir perulangan.

Mari kita tampilkan nilai variabel i dalam setiap iterasi:

program repeat_until;
uses crt;
var
  i: integer;
begin
  clrscr;
  i:= 0;

  repeat
    begin
      writeln('Variabel i sekarang bernilai: ',i);
      i:= i + 1;
    end;
  until i = 10;
  readln;
end.

Contoh Program Pascal - Perulangan REPEAT UNTIL Menaik

Kembali, jika anda sudah paham konsep perulangan WHILE DO, tidak akan sulit memahani perulangan REPEAT UNTIL.

Perbedaan mendasar, bagaimana jika nilai variabel counter ini sudah tidak bisa dipenuhi saat perulangan di jalankan? Mari kita coba:

program repeat_until;
uses crt;
var
  i: integer;
begin
  clrscr;
  i:= 10000;

  repeat
    begin
      writeln('Variabel i sekarang bernilai: ',i);
      i:= i + 1;
    end;
  until i > 10;
  readln;
end.

Perhatikan di awal kode program, saya mengisi variabel counter i dengan nilai 1000. Di akhir looping REPEAT UNTIL, saya membuat kondisi until i > 10. Artinya, kondisi ini sudah tidak memenuhi. 1000 tentu lebih besar dari 10, sehingga i > 10 akan menghasilkan nilai FALSE.

Namun inilah keunikan perulangan REPEAT UNTIL. Karena kondisi diperiksa di akhir perulangan, isi perulangan itu bisa berjalan minimal 1 kali. Berikut hasil kode program tersebut:

Contoh Program Pascal - Perulangan REPEAT UNTIL kondisi di cek terakhir

Sebagai contoh terakhir, saya ingin membuat deret angka kelipatan 5 menggunakan perulangan REPEAT UNTIL. Berikut kode programnya:

program repeat_until;
uses crt;
var
  i: integer;
begin
  clrscr;
  i:= 5;

  writeln('Berikut deret untuk kelipatan 5: ');

  repeat
    begin
      write(i,' ');
      i:= i + 5;
    end;
  until i > 100;
  readln;
end.

Contoh Program Pascal - Perulangan REPEAT UNTIL deret menaik

Kunci dari pembuatan deret ini ada di variabel counter. Saya menggunakan perintah i:= i + 5 dalam perulangan. Artinya, variabel i ditambahkan 5 dalam setiap iterasi. Hasil akhir berupa deret dari 5, 10, 15, dst hingga 100.

Sebagai latihan, bisakah anda membuat deret dengan kenaikan 7? Silahkan buat dalam 3 jenis looping yang sudah kita pelajari sejauh ini: FOR DO, WHILE DO, dan REPEAT UNTIL.


Berikutnya, kita akan membahas perulangan bersarang, atau nested loop, atau boleh juga disebut perulangan dalam perulangan, dalam Tutorial Belajar Pascal: perulangan bersarang (nested loop) dalam pascal (1).


Tutorial Terkait:

8 Comments

  1. LuthfiYudhis
    02 Nov 16
    • Andre
      02 Nov 16
      • LYD
        08 Nov 16
        • Andre
          09 Nov 16
  2. FREDY
    02 Nov 16
  3. ibnu
    18 Nov 16
    • Andre
      19 Nov 16

Add Comment