Jumat, Januari 06, 2012

Materi Pernyataan Perulangan

Pernyataan perulangan adalah pernyataan yang akan menjalankan pernyataan yang

mengikutinya secara berulang sampai syarat tertertentu terpenuhi. Ada 3 buah pernyataan

perulangan, yaitu FOR, WHILE dan REPEAT.


 

A. Statement FOR

Statement FOR adalah suatu perintah yang berfungsi untuk melakukan proses

pengulangan, dimana jumlah pengulangannya sudah diketahui.

Bentuk dari statement FOR adalah:

FOR {Variabel} := {Nilai Awal} TO {Nilai Akhir} DO

BEGIN

{Statement 1}

{Statement 2}

....

{Statement n}

END;

Jika Nilai Awal < Nilai Akhir gunakan statement FOR TO DO. Sedangkan jika Nilai

Awal > Nilai Akhir gunakan statement FOR DOWNTO DO.

Contoh :

Ingin dibuat program untuk menampilkan deret berikut:

1,3,5,7,.......suku ke-n


 

PROGRAM DERET;

USES WINCRT;

VAR I, N:INTEGER;

BEGIN

READLN(N);

FOR I:=1 TO N DO

WRITE(2*I-1, ' ');

END.


 

Contoh :

Ingin dibuat program untuk menampilkan huruf 'M' hingga 'A':

PROGRAM HURUF;

USES WINCRT;

VAR I:CHAR;

BEGIN

FOR I:='M' DOWNTO 'A' DO

WRITELN(I);

END.


 

B. Statement FOR Bersarang

Untuk menangani masalah tertentu, ada kemungkinan statement FOR yang digunakan

lebih dari satu dan statement FOR yang satu dapat berada didalam statement FOR yang

lain. Bentuk yang seperti ini disebut FOR Bersarang (nested FOR)

Contoh :

Ingin dibuat program untuk menampilkan bentuk seperti berikut ini:

*

**

***

****


 

PROGRAM TAMPIL;

USES WINCRT;

VAR

I,J:INTEGER;

BEGIN

FOR I:=1 TO 4 DO

BEGIN

FOR J:=1 TO I DO

WRITE('*');

WRITELN;

END;

END.


 

C. Statement WHILE

Statement WHILE adalah suatu perintah yang berfungsi untuk melakukan proses

pengulangan, dimana pengulangan akan terus dilakukan jika kondisi tertentu dipenuhi.

Jika banyaknya pengulangan diketahui tapi kenaikan atau penurunan pengulangan

tidak sebesar satu, statement IF tidak cocok untuk digunakan. Sebagai alternatif dapat

digunakan statement WHILE atau REPEAT. Sedangkan jika banyaknya pengulangan

tidak diketahui maka statement IF tidak dapat digunakan, sehingga harus digunakan

statement WHILE atau REPEAT. Bentuk dari statement WHILE adalah:

WHILE {Kondisi} DO

BEGIN

{Statement 1}

{Statement 2}

....

{Statement n}

END;

Contoh :

Ingin dibuat program untuk menampilkan deret berikut:

1,3,5,7,.......suku ke-n


 

PROGRAM DERET;

USES WINCRT;

VAR

N,I : INTEGER;

BEGIN

READLN(N);

I:=1;

WHILE I <= N DO

BEGIN

WRITE(2*I-1, ' ');

I:=I+1;

END;

END.


 

D. Statement WHILE untuk Jumlah Pengulangan Yang Diketahui

Statement WHILE dapat digunakan untuk pengulangan dengan jumlah pengulangan yang

diketahui. Selain untuk pengulangan dengan kenaikan dan penurunan sebesar 1, statement

WHILE dapat digunakan juga pada pengulangan dengan kenaikan dan penurunan tidak

sebesar 1.

Contoh:

Program untuk pengulangan dengan kenaikan sebesar 1 atau menggantikan perintah:

For i:=1 to 20 do writeln(i)

Program Ulang;

Uses Wincrt;

Var

i:integer;

Begin

I:=1; {nilai awal}

While i<= 20 do

Begin

Writeln(i);

i:=i+1; {menaikkan nilai i}

End;

End.

Yang Perlu Diingat !

• Ada nilai awal terhadap variabel penghitung, yaitu: i:=1

• Ada pertambahan nilai terhadap variabel penghitung, yaitu: i:=i+1

• Ada kondisi yang menyebabkan pengulangan berhenti, yaitu: While i<= 20 do


 

Contoh:

Program untuk pengulangan dengan penurunan sebesar 1 atau menggantikan perintah:

For i:=20 downto 1 do writeln(i)

Program Ulang;

Uses Wincrt;

Var

i:integer;

Begin

I:=20; {nilai awal}

While i>0 do {program akan berhenti jika sampai pada nilai 0}

Begin

Writeln(i);

i:=i-1; {menurunkan nilai i}

End;

End.


 

Contoh:

Program untuk menampilkan bilangan real dari 1 sampai 10 dengan kenaikan sebesar 0.5.

Program Ulang;

Uses Wincrt;

Var

i:real;

Begin

I:=1; {nilai awal}

While i<= 10 do

Begin

Writeln(i:5:2); {2 digit dibelakang desimal}

i:=i+0.5; {menaikkan nilai i}

End;

End.


 

F. Statement WHILE untuk Jumlah Pengulangan Yang Tidak Diketahui

Dalam proses pengulangan selalu ada kondisi yang mengkontrol pengulangan tersebut

untuk berhenti. Kontrol pengulangan tidak selalu melibatkan variabel penghitung.

Contoh:

Program untuk menampilkan karakter yang dimasukkan lewat keyboard secara berulangulang

hingga karakter '*' dimasukkan.

Program Ulang;

Uses Wincrt;

Var

x:char;

Begin

x:='a';

While x <> '*' do {program hanya akan berhenti jika kita masukkan karakter'*'}

Begin

Writeln('Masukkan bilangan: ');

Readln (x);

End;

End.


 

G. Statement WHILE Bersarang (Nested WHILE)

Sama halnya dengan statement FOR, untuk menangani masalah tertentu, ada kemungkinan

statement WHILE yang digunakan lebih dari satu dan statement WHILE yang satu dapat

berada didalam statement WHILE yang lain.

Contoh :

Ingin dibuat program untuk menampilkan bentuk seperti berikut ini:

*

**

***

****

…………


 

PROGRAM TAMPIL;

USES WINCRT;

VAR

I,J,B,K:INTEGER;

BEGIN

WRITE ('BANYAKNYA BARIS=');

READLN(B);

I:=1;

WHILE I <=B DO {program berjalan sesuai dengan banyaknya baris yang kita inginkan}

BEGIN

J:=1;

WHILE J <=I DO

BEGIN

WRITE('*');

J:=J+1;

END;

WRITELN;

I:=I+1;

END;

END.


 

H. Statement REPEAT

Statement REPEAT adalah suatu perintah yang berfungsi untuk melakukan proses

pengulangan, dimana pengulangan akan berhenti jika kondisi yang tertulis di akhir

pengulangan dipenuhi. Sintak dari statement REPEAT adalah:

REPEAT

{Statement 1}

{Statement 2}

....

{Statement n}

UNTIL {Kondisi};

Contoh :

Ingin dibuat program untuk menampilkan deret berikut:

1,3,5,7,.......suku ke-n


 

PROGRAM DERET;

USES WINCRT;

VAR

N,I:INTEGER;

BEGIN

READLN(N);

I:=1; {ada nilai awal yg harus diberikan}

REPEAT

WRITE(2*I-1, ' ');

I:=I+1;

UNTIL I > N;

END.


 

I. Statement REPEAT untuk Jumlah Pengulangan Yang Diketahui

Statement REPEAT dapat digunakan untuk pengulangan dengan jumlah pengulangan yang

diketahui dan nilai kenaikan atau penurunan sebesar nilai tertentu (sebesar 1 atau tidak

sebesar 1).

Contoh:

Program untuk pengulangan dengan kenaikan sebesar 1 atau menggantikan

perintah:

For i:=1 to 20 do writeln(i)

Program Ulang;

Uses Wincrt;

Var

i:integer;

Begin

i:=1; {nilai awal}

Repeat

Writeln(i);

i:=i+1; {menaikkan nilai i}

Until i > 20;

End.


 

J. Statement REPEAT untuk Jumlah Pengulangan Yang Tidak Diketahui

Jika dalam proses pengulangan tidak diketahui banyaknya pengulangan, maka dapat

digunakan statement WHILE atau REPEAT.

Contoh:

Program untuk menampilkan karakter yang dimasukkan lewat keyboard secara

berulang-ulang hingga karakter '*' dimasukkan.

Program Ulang;

Uses Wincrt;

Var

x:char;

Begin

Repeat

Writel('Masukkan bilangan: ');

Readln (x);

Until x = '*';

End.


 

K. Statement REPEAT Bersarang (Nested REPEAT)

Sama halnya dengan statement FOR dan WHILE, ada kemungkinan statement REPEAT

yang digunakan lebih dari satu dan statement REPEAT yang satu dapat berada didalam

statement REPEAT yang lain.

Contoh :

Ingin dibuat program untuk menampilkan bentuk seperti berikut ini:

*

**

***

****

PROGRAM TAMPIL;

USES WINCRT;

VAR

I,J:INTEGER;

BEGIN

I:=1; {baik loopingan I maupun J memerlukan nilai awal}

REPEAT

J:=1;

REPEAT

WRITE('*');

J:=J+1;

UNTIL J > I ;

WRITELN;

I:=I+1;

UNTIL I > 4;

END.

Tidak ada komentar:

Posting Komentar