Pengulangan While dan Repeat

Pengulangan While Do
Amati listing program berikut !



Sintak program

Output

Program WHILE_DO;

Uses Crt;

Var i:byte;

Begin

ClrScr;

i:=1;

WHILE i<=5 DO {program akan diulang selaman nilai i<=5}

Begin

Writeln(i);

i:=i+1;

End;

End.

Tampilan 1:

1

2

3

4

5

Perhatikan pada bagian listing program yang menyatakan pengulangan sintak :


List Program

Penjelasan

WHILE i<=5 DO

Begin

Awal program yang akan diulang

Writeln(i);

Mencetak variabel i

i:=i+1;

Penambahan variabel i agar nilainya bertambah setiap pengulangan.

End;

Akhir program yang akan diulang

Tentunya cukup jelas bukan cara kerja perulangan while do, prinsipnya sama dengan perulangan for. Kesamaannya adalah variabel kontrol atau kondisi logikanya ada pada awal pernyataan pengulangan. Dengan demikian dapat dibuat format penulisan fungsi pustaka while adalah sebagai berikut : WHILE ekspresi_logika DO pernyataan ;

Pengulangan Repeat Until
Repeat …Until memiliki format penulisan yang agak berbeda dengan yang lainnya. Berikut adalah format penulisannya :

REPEAT

pernyataan
UNTIL
ekspresi logika;

Supaya lebih mudah memahaminya, amati contoh list program di bawah ini:


Sintak program

Output

Program REPEAT_UNTIL;

Uses Crt;

Var i:byte;

Begin

ClrScr;

i:=1;

REPEAT

Writeln(i);

Inc(i);

UNTIL i>5;{sampai nilai i>5 maka program akan berhenti}

End.

Tampilan 1:

1

2

3

4

5

Perhatikan list program yang berada diantara fungsi pustaka repeat dan until.


List Program

Penjelasan

REPEAT

Awal sintak pengulangan REPEAT

Writeln(i);

Mencetak variabel i

Inc(i);

Menambah variabel i dengan satu (i:=i+1)

UNTIL i>5;

Ekspresi logika sebagai syarat berhenti

Dengan demikian yang membedakan antara fungsi pustaka repeat … until dengan while do adalah pada letak ekspresi logika.

24 Respon untuk Pengulangan While dan Repeat

  1. ricky mengatakan:

    mas…?? ada ga? program password pascal yang menggunakan fungsi while do??

    • wisnurat mengatakan:

      @ricky
      bisa dibuat, coba aja scrip berikut ini:

      program password;
      uses crt;
      var pin : byte;
      begin
      pin:=0000;
      while pin 1234 do
      begin
      clrscr;
      write(‘Ketikan empat angka password anda : ‘);
      readln(pin);
      end;
      writeln;
      writeln(‘password diterima’);
      readln;
      end.

      nb: silahkan dicoba, jika ada kesalahan silahkan di koreksi…

  2. andriyas mengatakan:

    biar cepet blajar pascal caranya gmana ya

    • wisnurat mengatakan:

      @andriyas
      Caranya belajar dari contoh.
      Perbanayak latihan dengan mempraktekkan contoh yang sudah ada, mulai dari yang sangat sederhana kemudian maningkat pada contoh yang advance. Setelah itu modifikasi contoh yang sudah ada dan amati perubahannya.
      Itu yang saya lakukan untuk belajar pascal atau progrtam yang lain.

  3. kun mengatakan:

    mas klo buat game pake pascal emg bisa,cnth sdrhananya apa
    cara ngrubah extensinya jd .exe gmn.

    • wisnurat mengatakan:

      @Kun
      Cara ngubah dari .pas ke extention .exe cukup dengan di copile aja menggunakan editor pascal. Secara otomatis pada folder tempat menyimpan file .pas akan bertambah satu file .exe

  4. ELNI mengatakan:

    toem baen laku ra nono…………….

  5. risaf mengatakan:

    kurang jelas mas bro….

  6. ker mengatakan:

    mas saya mao naya saya ad tugas dr kampus dsruh buat
    Buatlah program yg melakukan perkalian 2 buah bilangan bulat, namun didalamnya hanya terdapat operator + (tidak ada operator *). Gunakan jenis pengulangan for, while dan repeat..until.

    • wisnurat mengatakan:

      @ker
      untuk for coba script dibawah ini

      program perkalian;
      uses wincrt;
      var a, b, hasilkali, i:integer;
      begin
      write(‘ketik angka ke-1 : ‘);readln(a);
      write(‘ketik angka ke-2 : ‘);readln(b);
      for i:=1 to a do
      begin
      hasilkali:=hasilkali+b;
      end;
      write(‘hasil kali ‘,a,’ x ‘,b,’ = ‘,hasilkali);
      end.

  7. ker mengatakan:

    for i:=1 to a do
    itu maksud nya gimana ya mas kurang ngerti

    • wisnurat mengatakan:

      @ker
      for i:=1 to a do
      maksudnya adalah untuk menentukan pengulangan pada proses penjumlahan hasilkali:=hasilkali+b.
      hal ini sama dengan konsep perkalian. Misal a=2 dan b=3, maka a x b artinya sama dengan bilangan b dijumlahkan dengan bilangan itu sendiri sebanyak a yaitu 2 kali. Jadi 2 x 3 = 3 + 3

  8. surya dharma mengatakan:

    kalau gini mas soal cara membuat algoritma nya gimana cara nya gimna saya kurang paham mengunakan while …

  9. surya dharma mengatakan:

    ini soal nya mas ‘ hitung jumlah deret seprti
    sx =1+4+9+16 = suku k n

    • wisnurat mengatakan:

      @surya
      Mhn maaf baru bisa direply.
      Sn=1+4+9+16, adalah deret aritmatik. Saya kurang begitu mengerti matematika, tapi saya coba pahami menurut logika algoritma saya.
      Deretan bilangan tersebut saya lihat merupakan hasil penjumlahan bilangan ganjil. Silahkan diamati:
      Bil.ganjil 1, 3, 5, 7, dst
      dapat ditulis dengan rumus : Ug=a+(n-1)xb
      a : bilangan awal
      b : selisih bilangan ganjil
      n : urutan bilangan ganjil ke-n

      Deret : 1, 1+3, (1+3)+5, ((1+3)+5)+7, dst
      Deret : 1, 4, 9, 16, dst
      dapat ditulis dengan rumus : Un=Un+Ug

      Jadi algoritma programnya sbb:

      01: tentukan nilai awal bil.ganjil
      02: tentukan nilai selisih bil.ganjil
      03: membuat looping perhitungan bil.ganjil dan deret
      04: UNTUK i=1 SAMPAI n ULANG
      05: Ug=a+(n-1)*b
      06: Un=Un+Ug
      07: Cetak Un
      08: AKHIR-UNTUK

      dan scrip program pascal-nya sbb:

      program deretganjil;
      uses wincrt;
      var i,n,a,b,Ug,Un:integer;

      begin
      a:=1;
      b:=2;
      write(‘ketik bilangan yg akan ditampilkan : ‘);readln(n);
      clrscr;
      {awal ngitung ganjil}
      for i:=1 to n do
      begin
      Ug:=a+(i-1)*b;
      {rumus ngitung deter}
      Un:=Ug+Un;
      write(Un,’+');
      end;
      {akhir ngitung ganjil}
      end.

      Semoga bisa terbantu :)

  10. salemba11 mengatakan:

    Mas,,gimana ya caranya menggabungkan program while do dengan rumus Mtk,tp tampilannya berbentuk tabel??
    Saya paling bingung kalo ada penggabungan program seperti ini :(
    Mohon dijawab ya,Mas..hehe

    • wisnurat mengatakan:

      @salemba11
      Pertama saya ucapkan terimakasih atas kunjungannya.
      Perihal pertanyaan sahabat salemba11, untuk membuat tabel saya selalu desain terlebih dahulu bagain judul tabel. Contoh:

      +—-+——————–+—————+
      | No | Nama | Alamata |
      +—-+——————–+—————+

      Selanjutnya buat hasilnya dengan menggunakan while do.

      • salemba11 mengatakan:

        oke,pak..
        Kalo diganti dengan loopong bgaimana?
        Misalkan,rumus yg diminta ttg segitiga,dan berulang hingga ke-10,dan berklipatan hasilnya,pak.
        Sy makin bingung pak :(
        Bisa dijelasin secara detail,pak?

      • salemba11 mengatakan:

        contoh tampilannya seperti ini pak..
        No alas tinggi luas
        1. 5 5 12,5
        2. 10 10 50
        Dst sampe 10 pengulangan,pak..
        Ini rumus luas segitiga.

  11. omy mengatakan:

    Smpah kga ngerti
    klw pemula sperti saya klw pngn mngrti cara awalnya gmna yah….

    • wisnurat mengatakan:

      Caranya learning by project…
      Cari buku yg membahas tentang project pemograman, singkatnya buku tutorial..
      Atau jika punya ide yg ingin diimplementasikan dg bhs pemograman, cari teman yg bs mengimplementasikannya dan kita tanyakan proses pembuatan programnya…

  12. mega mengatakan:

    mas ,ad tgs dri kmpusq nii , tolong bantu yaa..
    1.buatlah program untuk menentukan hasil penjumlahan atau pengurangan dari 2 bilangan bulat.
    2.buatlah program untuk menentukan hasil dari pembagian bulat dan sisa pembagian bulat dari 2 bilangan bulat ..
    pliss bantu , z tggu secepatnya..yaaa

    • wisnurat mengatakan:

      Coba Aja Ini

      program tambah_kali_bagi;
      uses wincrt;
      var bil_a, bil_b, hsl_jml, hsl_kurang:interger;
      hsl_bagi:real;
      begin
      {bagian tampilan input bilangan}
      write(‘Ketik bilangan ke-1 : ‘);readln(bil_a);
      write(‘Ketik bilangan ke-2 : ‘);readln(bil_b);
      {bagian proses perhitungan}
      hsl_jml:=bil_a + bil_b;
      hsl_kurang:=bil_a – bil_b;
      hsl_bagi:=bil_a / bil_b;
      {bagian menampilkan hasil}
      writeln(‘Hasil jumlah :’,hsl_jml);
      writeln(‘Hasil kurang :’,hsl_kurang);
      writeln(‘Hasil bagi :’,hsl_bagi);
      end.

      Selahkan dicoba

Tinggalkan Balasan

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Ubah )

Twitter picture

You are commenting using your Twitter account. Log Out / Ubah )

Facebook photo

You are commenting using your Facebook account. Log Out / Ubah )

Connecting to %s

Ikuti

Get every new post delivered to your Inbox.