“RESUME LOOPING (PERULANGAN)

Disusun Guna Memenuhi Tugas Praktikum
Mata Kuliah : Pemrograman Terstuktur
Dosen Pengampu :  Mumun,ST.



 Disusun Oleh :
Hera Wijaya     (140511041)



UNIVERSITAS MUHAMMADIYAH CIREBON
FAKULTAS TEKNIK
TEKNIK INFORMATIKA
2014/2015




Assalamu’alaikum Wr.Wb, penulis akan mencoba menjelaskan Looping,  dengan resume dibawah ini. Pengulangan (loop) merupakan bentuk yang sering ditemui di dalam suatu program aplikasi. Di dalam bahasa Pascal, dikenal tiga macam perulangan, yaitu dengan menggunakan pernyataan For, While-Do,  dan Repeat…Until.

A. FOR DO

Di dalam Pemprograman pascal, Syntax Looping dengan menggunakan FOR di bedakan menjadi 2 jenis. Yaitu

A.    Increasement (bertambah) / For to do
Text Box: FOR <variable> : = <nilai_awal> TO <nilai_akhir> DO
 




Syntax FOR di atas digunakan untuk perulangan yang nilai awalnya terus bertambah hingga nilai akhir.
atau dalam pengertian dapat di rumuskan :
Printah (statement) di dalam FOR akan selalu di jalankan selama nilai_awal masih <= nilai_akhir.
Kemudian nilai_awal akan selalu di tambahkan 1 di setiap kali perulangan.
Perintah (statement) di dalam FOR akan berkahir/selesai di eksekusi pada saat nilai_awal > nilai_akhir.
Sebagai contoh :
Contoh1
Tampilkan urutan bilangan mulai dari 1 hingga 10
Berikut script penyeselsaianya :








program Contoh1;
var
   x: integer;
begin
   for x := 1  to 10 do
   begin
      write(x , ' ');
   end;
   readln;
end.
Intruksi
Keterangan
Program contoh1;
//Judul program
Var x: integer;
// variabel dengan x bil. Bulat
Begin
// mulai sebuah program
For x:=1 to 10 do
// berulang dari angka satu berakir angka 10
Begin
// mulai
Write(x,’’);
// tercetak dengan nilai x
End;
// berakhir sementara
Readln;
// tercetak
End.
// berakhir sebuah program.

Hasil dari program di atas adalah :
Description: C:\Users\Hera\Documents\HERAAA1 (2).png
Nilai dari variable x mula-mula adalah 1, kemudian perintah yang dijalankan adalah write/mencetak variable x .
Kemudian karena x masih kurang dari 10 maka x ditambahkan 1, sehingga sekarang nilai x menjadi 2 .
Dan begitu seterusnya hingga x = 10 maka program perhenti di proses.

B. Decreasement (berkurang) / Down to
Text Box: FOR <variable> : = <nilai_awal> DOWNTO <nilai_akhir> DO

Berkebalikan dengan FOR untuk Increasement, Syntax FOR untuk Decreasement di atas digunakan untuk perulangan dengan penurunan nilai.
Jadi :
Printah (statement) di dalam FOR akan selalu di jalankan selama nilai_awal masih >= nilai_akhir.
Kemudian nilai_awal akan selalu di dikurangi 1 di setiap kali perulangan,
Perintah (statement) di dalam FOR akan berkahir/selesai di eksekusi pada saat nilai_awal < nilai_akhir.
Sebagai contoh :
Contoh2
Tampilkan urutan bilangan mulai dari 15 hingga 5
Berikut script penyelesaianya :
Program Contoh2;
var
   y: integer;
begin
   for y := 15  downto 5 do
   begin
      write(y , ' ');
   end;
   readln;
end.
Intruksi
Keterangan
Program contoh2;
// Judul program
Var
// variabel dengan y bil. Bulat
   y: integer;

Begin
// memulai sebuah program
   for y := 15  downto 5 do
// diulang mundur dari angka 15 ke 5
   begin

      write(y , ' ');
// mencetak dengan variabel dari y
   end;
// berakhir sementara sebuah program
   readln;
// mencetak sebuah program
end.
// berakhirnya program.

Hasil dari program di atas adalah :
Description: C:\Users\Hera\Documents\g== (2).png

Nilai dari variable y mula-mula adalah 15, kemudian perintah yang dijalankan adalah write/mencetak variable y .
Kemudian karena y masih lebih dari 5 maka y dikurangi 1, sehingga sekarang nilai y menjadi 14 .
Dan begitu seterusnya hingga y = 5 maka program perhenti di proses.









C. WHILE DO

Text Box: while (condition) do (statement);
while (condition) do (statement);

Algoritma dalam pengeksekusian scriptnya adalah sebagai berikut:
- Kondisi di cek terlebih dahulu (WHILE)
- Jika kondisi terpenuhi maka kerjakan statement (DO)

Contoh kasus:
Contoh1 : Saya ingin menampilkan bilangan genap mulai dari 10 hingga 20
Script lengkapnya : 
program contoh1;
var
   x: integer;
begin
   x := 10; // nilai awal x
   while  x <= 20  do // pengecekan while apakah x <= 20, jika iya kerjakan statment di bawah :
   begin
      if (x mod 2) = 0 then // pengecekan sisa hasil bagi 2, jika 0 maka genap
         write(x,' ');
  
      x := x + 1; // counter pertamnbahan x
   end;
   readln;
end.
Intruksi
Keterangan
Program contoh1;
// Judul Program
Var x:integer;
// variabel x = bilangan bulat
x:=10;
// nilai awal x
While x <= 20 do
// pengecekan while apakah x <= 20, jika ya kerjakan statement di bawah
Begin
// memulai sebuah program
If (x mod 2) = 0 then
// pengecekan sisa hasil bagi 2, jika 0 maka genap
Write(x,’ ‘);
// tercetak hasil dari variabel x
x:= x+1;
// counter pertambahan x
End;
// berakhir sementara sebuah program
Readln;
// menghentikan eksekusi program sebelum di ENTER
End.
// berakhirnya sebuah program


Outputnya :

Description: C:\Users\Hera\Documents\tugas 1 (2).png


Text Box: repeat
   (steatement1);
   (steatement2);
   ...
   ...
   (steatement);
until (condition);


B. REPEAT UNTIL 










Algoritma dalam pengeksekusian scriptnya adalah berkebalikan dengan WHILE-DO, yaitu sebagai berikut:
- Kerjakan statement (REPEAT)
- Kemudian cek kondisi. Jika kondisi belum terpenuhi maka kerjakan statement di atas hingga kondisi terpenuhi (UNTIL)
Jadi statement akan terus di REPEAT (diulang-dikerjakan) UNTIL (hingga) kondisi terpenuhi, dan perulangan berakhir.
Contoh kasus:
Contoh2 : Saya ingin menampilkan bilangan ganjil mulai dari 1 hingga 19
program contoh2;
var
   a: integer;
begin
   a := 1;
   repeat // ulang-kerjakan
      if (a mod 2) = 1 then // pengecekan sisa hasil pembagian 2, jika 1 bilangan genap
        write(a,' ');
      a := a + 1
   until a = 20; // pembatasan repeat
readln;
end.

Intruksi
Keterangan
Program contoh2;
// judul program
Var a:integer;
// variabel a bilangan bulat
Begin
// memulai sebuah program
a:=1;
// nilai awal sama dengan 1
Repeat
// ulang-kerjakan
If (a mod 2)=1 then
// pengecekan sisa hasil pembagian 2, jika 1 bilangan genap
Write(a,’’);

a:= a+1
// counter pertambahan a
Until a = 20;
//pembatasan repeat sampai 20
Readln;
// menghentikan eksekusi program sebelum di ENTER
End.
// berkahirnya sebuah program.

Outputlnya :

Description: C:\Users\Hera\Documents\TUGAS 22 (2).png



Itu salah satu cara menggunakan WHILE-DO dan REPEAT-UNTIL
TAPI ada yang perlu di ingat, yaitu pembatasan looping, pastikan algoritma pembatasan loopingnya benar, agar tidak terjadi infinite loop (atau disebut juga endless loop atau unproductive loop) yaitu perulangan yang tidak terbatas karena kondisi tidak mungkin terpenuhi.
contoh: :
program infinitieloop;
var
   a: integer;
begin
   a := 2;
   repeat
      write(a,' ');
      a := 2
   until a = 3;
end.

Contoh kemarin:
Uses crt, sysutils;
Var i,j:integer;

begin

j:=0;
i:=1;
repeat
j:=j+1;
i:=(i+j) div 3;
writeln('coba');
writeln('i=',inttostr(i));
until i=3;
writeln('jumlah :',inttostr(j));
readln;
end.






Intruksi
Keterangan
Uses crt, sysutils;
// digunakan kata tercadang Crt, dengan sistem utilitas
Var i,j:integer;
// variabel dengan i dan j bil. Bulat


begin
// mulainya sebuah progam


j:=0;
// nilai j = 0
i:=1;
// nilai i = 1
repeat
// diulang
j:=j+1;
// proses j = hasil j + 1 secara ulang
i:=(i+j) div 3;
// proses hasil (i+j) di bagi 3
writeln('coba');
// tercetak kata coba
writeln('i=',inttostr(i));
// tercetak hasil i, integer untuk string
until i=3;
// diulang berakhir sampai angka 3
writeln('jumlah :',inttostr(j));
// tercetak dengan hasil jumlah dari integer untuk ke string
readln;
// tercetak sebuah program
end.
// berakhirnya sebuah program

Outputnya :
Description: C:\Users\Hera\Documents\upsss (2).png











TUGAS KEMARIN DARI REPEAT UNTIL DIKONVERSI KE  While Do :

uses crt,sysutils;
var i,j:integer;
begin
j:=0;
i:=1;
while i<3 do begin
j:=j+1;
i:=(i+j)div 3;
    
writeln('coba');
writeln('i=',inttostr(i));
    
writeln('jumlah:',inttostr(j));
                         
end;
readln;
end.

Intruksi
Keterangan
uses crt,sysutils;
// kata tercadang di Crt, dengan sistem utilitas
var i,j:integer;
// variabel i dan j integer
Begin
// memulai sebuah program
j:=0;
// nilai j dirubah menjadi 0
i:=1;
// nilai i dirubah menjadi 1
while i<3 do begin
// saat i kurang dari 3 benar maka akan mengerjakan dengan batas angka 3
j:=j+1;
// proses  nilai (j +1) dan seterusnya
i:=(i+j)div 3;
// proses (hasil i+dengan hasil j) dibagi 3 secara berulang
    

writeln('coba');
// mencetak dengan kata coba
writeln('i=',inttostr(i));
// tercetak kata i dengan jumlah integer untuk string
    

writeln('jumlah:',inttostr(j));
// tercetak dengan hasil jumlah dari integer untuk string
                         

end;
// berlanjutnya sebuah program
readln;
// tercetak sebuah program sebelum menekan enter
end.
// berakhirnya sebuah program.




Outputnya :

Description: C:\Users\Hera\Documents\upsss (2).png



Kategori

Kategori