STRUKTUR KONTROL
Struktur WHILE-DO
Mempunyai struktur sebagai berikut :
statement
false
C
true
digit := 1;
WHILE digit <= 20 DO
Begin
Write(digit);
digit := digit + 1;
End.
Contoh :
Var
I : integer;
Begin
I := 0;
While I < 5 Do
Begin
WriteLn(I);
I := I + 1;
End;
End.
Halaman : 26
Pemrograman PASCAL : Review Pascal 1
Hasilnya :
0
1
2
3
4
Penjelasan :
Perulangan dari While akan terus dikerjakan bila kondisinya masih
benar. Dalam hal ini kondisinya adalah I dan bila nilai I masih
kurang dari 5, berarti kondisi di dalam While masih terpenuhi dan
perulangan akan selesai setelah nilai I lebih besar atau sama
dengan 5.
Struktur REPEAT-UNTIL
Digunakan untuk mengulang (repeat) statement-statement atau
blok statement sampai (until) kondisi yang diseleksi di Until tidak
terpenuhi. Sintaks dari statement ini bila digambarkan dalam
bentuk diagram akan berbentuk :
Bentuk Umum : REPEAT sequence statement UNTIL condition
Bentuk Proses (flow chart) :
digit := 1;
REPEAT
write (digit);
digit := digit + 1
UNTIL digit > 5 ;
Contoh :
Var
I : integer;
Begin
I := 0;
Repeat
I := I + 1;
Writeln(I);
Until I = 5;
End.
Halaman : 27
Pemrograman PASCAL : Review Pascal 1
Hasilnya:
1
2
3
4
5
Struktur FOR
Bentuk Umum :
a. FOR id := v1 TO v2 DO statement
b. FOR id := v1 DOWNTO v2 DO statement
Bentuk Proses :
To
id = v1 nilai akhir Do
id = v1 statement
DownTo
t = v2 t = v2
false false
id <= t id >= t
true true
statement statement
Halaman : 28
id = succ (id) id = pred (id)
Var
I : integer;
Begin
For I := 1 to 5 Do
Begin
WriteLn(‘Pascal’);
End;
End.
Halaman : 29
Pemrograman PASCAL : Review Pascal 1
Contoh :
Var Celcius : integer;
Fahrenheit : REAL;
Begin
WriteLn(‘---------------------------‘);
WriteLn(‘Celcius Fahrenheit’);
WriteLn(‘---------------------------‘);
Celcius := 0;
For Celcius := 5 DownTo 0 Do
Begin
Fahrenheit := 1.8 * Celcius + 32;
WriteLn(Celcius:8,Fahrenheit:14:2);
End;
WriteLn(‘----------------------------‘);
End.
Hasilnya :
---------------------------
Celcius Fahrenheit
---------------------------
5 41.00
4 39.00
3 37.40
2 35.60
1 33.80
0 32.00
Struktur IF
Bentuk Umum :
A. IF kondisi THEN statement
B. IF kondisi THEN statement_1 ELSE statement_2
C. IF kondisi_1 THEN
IF kondisi_2 THEN statement_1
ELSE statement_2
D. IF kondisi_1 THEN
BEGIN
IF kondisi_2 THEN statement_1 ELSE statement_2
END
Halaman : 30
Pemrograman PASCAL : Review Pascal 1
Bentuk Flowchart :
True
False R True
IF TERSARANG
True False
R
Statement_1 Statement_2
Contoh : If - Then
Var
NilaiUjian : real;
Ket : string[11];
Begin
Ket := ‘Tidak Lulus’;
Write(‘Nilai yang didapat ? ‘);
Readln(NilaiUjian);
If NilaiUjian > 60 Then Ket :=’Lulus’;
Writeln(Ket);
End.
Halaman : 31
Pemrograman PASCAL : Review Pascal 1
Hasilnya :
Begin
yes
NilaiUjian > 60;
Contoh : If - Then - else
Var no
Ket := 'Lulus'
NilaiUjian : real;
Ket : string[11];
Begin
Write(‘Nilai yang didapat ? ‘);
WriteLn(Ket)
Readln(NilaiUjian);
If NilaiUjian > 60 Then
Writeln(‘Lulus’);
Else
Writeln(‘Tidak Lulus’);
End. End.
Hasilnya :
Halaman : 32
Pemrograman PASCAL : Review Pascal 1
FlowChartnya :
Begin
no yes
NilaiUjian > 60;
End.
Struktur CASE
CASE ekspresi OF
Case label list 1 : statement_1;
Case label list 2 : statement_2;
CASE ekspresi OF
Case label list 1 : statement_1;
Case label list 2 : statement_2;
Halaman : 33
Pemrograman PASCAL : Review Pascal 1
Decision
cll-1 cll-n
S-1 S-n
S-2
S-3
....dst....
keterangan :
cll = case label list
Contoh :
Var Nilai :char;
Begin
Write(‘Nilai huruf yang didapat’);readln(Nilai);
CASE Nilai OF
‘A’ : writeln (‘T-shirt’);
‘B’ : writeln (‘Sepatu’);
‘C’: writeln (‘Topi’);
End;
End.
Contoh :
Var Nilai :char;
Begin
Write(‘Nilai huruf yang didapat’);readln(Nilai);
CASE Nilai OF
‘A’ : writeln (‘T-shirt’);
‘B’ : writeln (‘Sepatu’);
‘C’: writeln (‘Topi’);
Else Writeln(‘Pilihan hanya A,B,C’);
End.
Halaman : 34
Pemrograman PASCAL : Review Pascal 1
Struktur GOTO
Contoh :
Label 10,selesai;
Begin
Writeln(‘Bahasa’);
Goto 100;
Writeln(‘Basic’);
100;
Writeln(‘Pascal’);
Goto selesai;
Writeln(‘Cobol’);
Selesai;
End.
Halaman : 35
Pemrograman PASCAL : Review Pascal 1
ARRAY
Array didefinisikan sebagai suatu kumpulan dimana elemen-
elemennya berjenis data sama. (homogen)
Suatu array dapat dibedakan atas 2 (dua) bagian, yaitu :
a. Array berdimensi satu.
Array berdimensi satu dapat dikatakan sebagai suatu daftar yang
linier atau sebuah kolom.
Bentuk deklarasi dari array jenis ini dalam bahasa Pascal adalah :
VAR nama_array : ARRAY [index] OF jenis_elemen;
Contoh :
VAR x : ARRAY [1..10] OF integer;
X [ 1 ]
X [ 2]
X .. .....
.. .....
x[
1 0]
MEMPROSES ARRAY
Misal diberikan deklarasi suatu array sebagai berikut :
Contoh :
Halaman : 36
Pemrograman PASCAL : Review Pascal 1
Penyelesaiannya :
PROGRAM MAKS ;
VAR B : ARRAY [1..10] OF integer;
I,J,MAX : integer;
Begin
FOR I := 1 TO 10 DO READ(B[I});
MAX := B[1];
FOR J := 2 TO 10 DO
IF MAX <= B[J] THEN MAX := B[I};
WRITE (MAX);
End.
Contoh 2 :
Dari soal contoh 1 di atas, buat program yang menghitung rata-rata
dari 10 bilangan tersebut.
Penyelesaiannya :
PROGRAM RATA_RATA;
TYPE INDEKS = 1..10;
VAR A : ARRAY [INDEKS] OF INTEGER;
I : INTEGER;
TOTAL : INTEGER;
RATA2 : REAL;
BEGIN
Total := 0;
FOR I := 1 TO 10 DO
BEGIN
READ (A[I]);
TOTAL := TOTAL + A[I];
END;
RATA2 := TOTAL / 10;
WRITE (RATA2);
END.
RECORD
Record dapat dikatakan sebagai suatu kumpulan data item yang
masing-masing mempunyai jenis data berbeda.
Data item yang merupakan elemen record biasanya disebut dengan
FIELD.
Halaman : 37
Pemrograman PASCAL : Review Pascal 1
Atau
Contoh :
Halaman : 38
Pemrograman PASCAL : Review Pascal 1
Nama_record.nama_field
x.nilai1
x.nilai2
y.nilai1
y.nilai2
a = x1 + iy1
b = x2 + iy2 +
Program contoh ;
Type bk = record
Bag_nyata : integer;
Bag_imajiner : integer;
End;
Var a,b,c : bk;
Begin
Read (a.bag_nyata, a.bag_imajiner, b.bag_nyata, b.bag_imajiner);
c.bag_nyata := a.bag_nyata + b.bag_imajiner;
c.bag_imajiner := a.bag_imajiner + b.bag_imajiner;
writeln(c.bag_nyata,’ +’,’i’,c.bag_imajiner);
End.
STATEMENT “WITH”
Selain cara yang telah disebutkan diatas, untuk memproses suatu
record dapat digunakan statement WITH.
Dengan statement ini penulisannya akan lebih sederhana.
Bentuk Umum penulisan statement WITH ini adalah :
WITH nama_record DO statement
Perhatikan deklarasi dibawah ini :
TYPE x = RECORD
No : integer;
Kode : char;
Juml : integer;
Halaman : 39
Pemrograman PASCAL : Review Pascal 1
Harga : real;
END;
VAR p,q : x;
Halaman : 40