Anda di halaman 1dari 7

BAB 1

PENGULANGAN (LOOPING)

Looping adalah proses pengulangan hingga kondisi syarat yang ditentukan


tercapai. Ada 3 jenis looping, yaitu for, while dan repeat.
A. LOOPING DENGAN PERINTAH FOR
Contoh program :

1: Program ulang_for;
2: var i: Integer;
3: Begin
4: For i:=1 to 5 do
5: writeln('ini yang ke ', i);
6: End.

Perhatikan pada baris 4 dan 5. Pada baris tersebut ada satu persyaratan
yaitu baris ke 5 akan dieksekusi bila nilai I antara 1 sampai 5, sehingga
jika program di Run hasilnya adalah sebagai berikut :

ini yang ke 1
ini yang ke 2
ini yang ke 3
ini yang ke 4
ini yang ke 5

Apabila pernyataan for seperti berikut ini : "For i:=10 downto 1 do".
Pernyataan itu akan menghitung mundur dari 10 sampai 1.

B. LOOPING DENGAN PERINTAH WHILE


Contoh program :

1: Program ULANG_while;
2: var i: Integer;
3: Begin
4: i:=1;
5: while i < 5 do
6: begin
7: writeln('ini yang ke ', i);
8: i:=i+1;
9: end;
10: End.

Apa perbedaan mendasar while dengan for? di while dibutuhkan counter


(diprogram ini adalah i). Jadi, baris ke-7 dan 8 akan dieksekusi
(dijalankan) apabila nilai i < 5. Coba perhatikan baris ke 6, di sana ada
"begin" dan "end;" sebagai pasangannya (dibaris ke 9). Bila ada lebih dari
satu pernyataan harus di mulai dengan begin untuk kondisi if, case,
looping. Jika tidak hanya baris pertama saja yang dieksekusi.

Jika program tersebut di eksekusi maka bagaimanakah outputnya ?


Berikut adalah outputnya :

ini yang ke 1
ini yang ke 2
ini yang ke 3
ini yang ke 4

1
Dari listing program diatas apabila baris ke 8 diganti dengan "i:=i-1;" apa
yang terjadi? Coba jalankan. Hasilnya aadalah akan terjadi looping terus
menerus karena kondisinya memenuhi syarat terus (i selalu kurang dari
lima). Tekan control break untuk menghentikannya. Hal inilah yang
disebut invinitive loop.

C. LOOPING DENGAN PERINTAH REPEAT


Contoh program :

1: Program Tutorial3_while;
2: var pilih: char;
3: Begin
4: i:=1;
5: repeat
6: writeln('ini yang ke ',i);
7: i:=i+1;
8: until i<0;
9: End.

Apa outputnya? Hasilnya hanya satu ( 1) yaitu, "ini yang ke 1". Hal ini
disebabkan karena pada baris ke 8 tidak memenuhi persyaratan i<0.
Memang tidak memenuhi persyaratan itu, tapi ini adalah keistemewaan
repeat. Ia akan mengeksekusi sekali dulu baru dicek persyaratan yang
ada dibawah. Gunakan jenis looping yang ada sesuai kebutuhan.

LATIHAN SOAL
1. Buat program untuk menampilkan angka 1,2,3,4,5,6,7,8,9,10
JAWAB :

program p;
uses crt;
var i:integer;
begin
clrscr;
for i:=1 to 10 do
write(i:5);
readln;
end.

2. Buat program untuk menampilkan angka 10,9,8,7,…,1


JAWAB :

Program p;
Uses crt;
Var i:integer;
Begin
Clrscr;
For i:=10 downto 1 do
Write(i:5);
Readln;
End.

2
3. Buat program untuk menampilkan deret angka berikut :

0.00
0.50
1.00
1.50
2.00
2.50
3.00
3.50
4.00
4.50
5.00

JAWAB :

Program p;
Uses crt;
Var x:real;
Begin
Clrscr;
X:=0;
While x<=5 do
Begin
Writeln(x:8:2);
x:=x+0.5;
end;
readln;
end.

4. Buat program untuk menampilkan table berikut ini


DAFTAR HARGA MINYAK

LITER HARGA
--- ---
--- ---
--- ---
JAWAB :

Program p;
Uses crt;
Const harga = 1500;
Var
i:real;
Begin
Clrscr;
i:=1;
Writeln(‘DAFTAR HARGA MINYAK’);
WRITELN(‘-------------------‘);
Writeln(‘!liter ! harga !’);
While i<=10 do
Begin
Writeln(‘!’,i:5:0,’!’,i*harga:8:2,’!’);
i:=i+1;
End;
WRITELN(‘-------------------‘);
Readln;
End.

3
5. Buat program untuk menampilkan tulisan ‘SMA NEGERI 1 SURAKARTA’ 10
kali
JAWAB :

Program p;
Uses crt;
Var x:integer;
Begin
Clrscr;
X:=0;
Repeat
X:=x+1;
Writeln(‘SMA NEGERI 1 SURAKARTA’);
Until x>=10
Readln;
End.

6. Buat program untuk menampilkan perkalian 10 angka

Program p;
Uses crt;
Var
X,y,z:integer;
Begin
Clrscr;
For x:=1 to 10 do
Begin
For y:=1 to 10 do
Begin
Z:=x*y;
Writeln(x:4,’x’,y:4,’=’,z:4);
End;
End;
Readln;
End.

SOAL PRAKTEK 1

1. Buat program untuk menampilkan deret angka sbb :


1 4 9 16 25 36 49 64
2. Buat program untuk menampilkan deret angka sbb :
0.00 0.25 0.50 0.75 1.00 1.25 1.50
3. Buat program untuk menampilkan deret angka sbb :
1 2 4 8 16 32 64 128
4. Buat program sehingga menampilkan hasil sbb :
TABEL HARGA FOTOCOPY

LEMBAR HARGA
1 100
2 200
3 300
4 Dst…………….s/d 15 lembar

4
5. Buat program sehingga menampilkan hasil sbb :

TABEL HUBUNGAN JARAK DAN WAKTU

WAKTU JARAK
0 ….....
1 …….
2 …….
3 …….
4 Dst ……………..s/d waktu =20

RUMUS :
Jarak (s) = Vo*t+0.5*a*t*t
Vo=50
Percepatan (a)=5
Hitung s pada saat t !

SOAL PRAKTEK 2

1. Buat program untuk menentukan nilai akhir bidang studi TIK dengan
ketentuan sebagai berikut :
Nilai akhir mata pelajaran TIK ditentukan oleh rata-rata Nilai ulangan
harian + rata – rata nilai tugas + nilai MID + nilai semester
Ulangan harian dilaksanakan 3 kali,
Tugas diberikan 4 kali
MID dan Semester masing – masing 1 kali.
Hitung Nilai Akhirnya (dengan menggunakan looping)

2. Buat program untuk menampilkan table suhu dalam Celcius, dan


Fahrenheit.
RUMUS :
FAHRENHEIT = 1.8*CELCIUS +32
OUTPUT :
TABEL KONVERSI SUHU
CELCIUS FAHRENHEIT
0.00 32.00
0.50 32.90
…..DST
5.00 41.00
3. Buat program LAPORAN RUGI LABA
KETENTUAN :
Biaya tetap = 25000
Biaya Berubah per Unit = 5000
Harga Jual per pasang = 10000
Laba rugi = Harga Jual X jumlah produksi – (Biaya Tetap+Biaya berubah
X jumlah produksi)

Jika Labarugi <0 maka perusahaan RUGI


Jika Labarugi = 0 maka perusahaan IMPAS
Jika Labarugi >0 maka perusahaan LABA

OUTPUT :
LAPORAN RUGI LABA
PT. UNTUNG SELALU

5
Jumlah produksi Laba Rugi Keterangan
1 …. RUGI
2 …
3 …
Dst..
10

4. Buat program untuk membuat table sinus dan cosines


TABEL SUDUT

Sudut Sinus Cosinus


0 ? ?
30
60
90

270
RUMUS
1. UBAH DULU SUDUT DALAM DERAJAT KE RADIAN
2. RADIAN = BESAR SUDUT/180*pi
3. Nilai Sinus = SIN(RADIAN)
4. Nilai Cosinus = COS(RADIAN)
5. Buat program untuk membuat table logaritma

TABEL LOGARITMA

BILANGAN LOGARITMA
10 1.0000
20 1.3010
Dst…..
100
RUMUS :
LOG BIL=Ln(BILANGAN)/Ln(10)

6
7

Anda mungkin juga menyukai