Anda di halaman 1dari 20

Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

Buku Penunjang Praktek Pascal


(High level language)

I. Sekilas Struktur Pascal


Secara ringkas, struktur suatu program Pascal terdiri dari:

1. Judul program
2. Blok program
a. Bagian deklarasi
deklarasi piranti
deklarasi label
deklarasi konstanta
deklarasi tipe
deklarasi variabel
deklarasi prosedur
deklarasi fungsi
b. Bagian pernyataan

*) Berarti para mahasiswa dapat menyimpulkan langsung bahwa bahasa Pascal ini
punya struktur dan merupakan bahasa terstruktur

*) Dan dalam aplikasinya, tidak harus semua bagian dari struktur tersebut harus ada
tergantung keperluan programnya. Mungkin saja tidak perlu ada judul program,
atau deklarasi label, atau tidak dibutuhkan adanya konstanta.

Penulisan Program Pascal


Program Pascal tidak mengenal aturan penulisan dikolom tertentu seperti pada
Cobol ataupun RPG, jadi boleh ditulis mulai dari kolom keberapapun.
Suatu program Pascal yang paling sederhana hanya terdiri dari sebuah bagian
pernyataan saja yang merupakan bagian terakhir dari suatu blok.

begin {awal bagian pernyataan }

end . {akhir bagian pernyataan yang harus diakhiri titik }

Bentuk umum dari bagian pernyataan ini adalah sebagai berikut:

begin
.
statement ; { harus diakhiri titik koma }
.
.
end .

By Pascal Research Team 1


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

*) Dapat disimpulkan sementara bahwa dalam program Pascal harus dimulai dari
Begin dan diakhiri End

Contoh penulisan program:

program contoh ; { judul program yang bersifat optional menggunakan kata kunci program }
uses crt ; { deklarasi piranti menggunakan kata kunci uses }
label 10, selesai ; { deklarasi label menggunakan kata kunci label }
const { deklarasi konstanta menggunakan kata kunci const }
x=1;
y=5;
type { deklarasi tipe menggunakan kata kunci type }
hasil = integer;
var
j : integer; { deklarasi variabel menggunakan kata kunci var }

nama prosedur

procedure hitung (x, y : integer); { deklarasi prosedur menggunakan kata kunci procedure }

kumpulan parameter
begin { awal prosedur }

end; { akhir prosedur yang harus diakhiri titik koma }

nama fungsi
kumpulan parameter

function pangkat ( x, y : real) : real; { deklarasi fungsi menggunakan kata kunci function }

tipe fungsi
begin {awal fungsi }

end; { akhir fungsi yang harus diakhiri titik koma }

Ket:

PROGRAM
Kata program pada bagian deklarasi merupakan kata yang berguna untuk
memberikan judul program yang akan dibuat.

USES
Uses merupakan perintah yang digunakan untuk memakai suatu unit tertentu dari
Turbo Pascal. Unit pada Turbo Pascal adalah kumpulan instruksi yang
merupakan prosedur dan fungsi yang dipakai dalam Turbo Pascal.

Contoh:

By Pascal Research Team 2


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

- unit crt unit yang mengatur kerja layar dan keyboard atau I/O, seperti : clrscr
untuk membersihkan layar.
- unit printer unit yang mengatur kerja printer sehingga dapat dilakukan pengiriman
langsung ke printer yang berhubungan dengan perintah lst.
- unit graph unit yang berorientasi ke pemrograman grafik.
- unit overlay unit yang mengatur pembagian sebuah program menjadi dua file atau
lebih

penulisannya:
uses crt, printer;

II. OUTPUT
Ada banyak statement untuk menghasilkan OUTPUT, salah satunya Write dan Writeln

a. Ketik 1 (Kamu buka editor Pascalnya, ketiklah program berikut ! )

Program cetak1 (output);


Begin
Write (Be);
Write (la);
Write (jar);
End

Coba di Run !
Hasil: Apakah dalam baris yang sama ?

Coba lagi program tersebut cuma write diganti dengan writeln


Hasil: ?
Kesimpulan: ?

b. Ketik 2

program cetak2 (output);


begin
write (My name is);
wrriteln(Jean Claude Van Dame.);
write(what yours?);
end

Coba di Run !
Hasil: Apakah ada spasi antara is dan Jean ? mengapa ?

c. Ketik 3

Program cetak3 (output);


Begin

By Pascal Research Team 3


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

Writeln(2000);
Writeln(2000+503);
Writeln(1075-500);
Writeln(14*62);
Writeln(23 div 7);
Writeln(18 mod 4);

End

Coba di Run !
Hasil: ?
Kesimpulan: ?

*) Cari sendiri di buku cetak lain mengenai fungsi div, mod, round, trunc, dll

Latihan: Penggunaan write dan writeln


Buatlah program yang hasilnya sbb:

1. * * * * *
* *
* *
* *
* * * * *

2. + + + + +
x x x x x
- - - - -
/ / / / /

3. * * * *
* *
* *
* * * *
* * * *
* *
* *
* * * *

4. Cetak hasil akhir dari rumus berikut


2+3 42
i. 6 x ------- ii. ---- x 52 + 6 X 3 + 4
4+5 7

d. Ketik 4

Program cetak3kali (output);

Procedure c3k; {bahasan tentang Procedure ini akan dilanjutkan

By Pascal Research Team 4


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

Lebih mendalam, makanya tolong dilihat betul


fungsi dan unjuk kerjanya}
begin
writeln(? ? ? ?);
writeln(? ?);
writeln(? ?);
writeln(? ? ? ?);
end;

begin
c3k; { memanggil procedure dengan nama c3k}
writeln;
c3k; { memanggil lagi untuk yang kedua }
writeln;
c3k;
end

Hasil: ?

*) Bila sdr ingin menambah cetakannya, di panggil aja nama procedurenya


sering-sering, OK !.

II. 1 Pengulangan Mencetak dengan Satement FOR


a. Ketik 5

Program cetak5(output);

Procedure c5k;
Begin
Writeln(* * * *);
Writeln(* *);
Writeln(* *);
Writeln(* * * *);
End;
Begin
For k:= 1 to 5 do {mencetak 5 kali}
Begin
C5k;
Writeln;
End; End

Hasil: ?
Kesimpulan : ?

*) For K := 1 to 5 do

K merupakan nama variabel. Sdr boleh mengganti dengan nama lain,


Mis: hitung, kali,cetak, dll. Hanya saja harus dideklarasikan lebih dulu agar
komputer dapat mengenal variabel tersebut, yaitu pada Var setelah judul
program.

By Pascal Research Team 5


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

program cetak5 (output);


var k:integer;
.
.
.
dst

b. Ketik 6

Ulangi program Ketik 5 diatas, hanya saja dalam FOR-loop sdr hapus
statement Begin dan end nya.

Hasil: ?
Kesimpulan: ?

c. Ketik 7

Program bilangan1 (output);


Var
K:integer;
Begin
For K := 1 to 10 do
Writeln (2*K);
Writeln (Analisa dech ya !);
End

Hasil: ?
Kesimpulan: ?

d. Ketik 8

program graph;
var
gr:integer;

procedure datar;
var
pjg:integer;
begin

By Pascal Research Team 6


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

for pjg:= 1to 8 do


write (#);
writeln;
end

procedure sisi;
var
ss:integer;
begin
write (#);
for ss:= 1 to 6 do
write ( );
write(#);
end

begin
datar; {panggil procedure datar}
for gr := 1 to 5 do
sisi; {panggil procedure sisi}
datar; {panggil procedure datar}
end

Latihan: PENGULANGAN dengan FOR dibantu sistem Procedure

Tentukan program Pascalnya bila output yang diinginkan sbb:

5. # # # #

# # # # # # # #
# # # # # # # # # # # # # # # #

6. 0 faktorial adalah 1
1 faktorial adalah 1
2 faktorial adalah 2
3 faktorial adalah 6
4 faktorial adalah 24
5 faktorial adalah .

By Pascal Research Team 7


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

6 faktorial adalah .
7 faktorial adalah .
8 faktorial adalah .
9 faktorial adalah .
10 faktorial adalah .

sebagai bantuan dan harap dilengkapi !


.
.
.
writeln (0, Faktorial adalah, 1);
b:= 1;
for I:= 1 to 10 do
begin
writeln(I, Faktorial adalah, I*b);
b:=I*b;
end
.
.
.
7. Dari Latihan 6, modifikasi programnya agar tampilan/outputnya menjadi:

0! =1 =1
1! =1X1 =1
2! =1X2X3 =6
3! =1X2X3X4 = 24
4! =1X2X3X4X5 = 120
5! =1X2X3X4X5X6 = 720
. . .
. . .
. . .
dst

*) dimana tanda ! , X , = , dan juga semua bilangan, ditampilkan !

II.2 Pengulangan mencetak dengan Sistem NESTING LOOP


Pengertian sederhananya dari Nesting Loop adalah Ada Loop dalam Loop

a. Ketik 9

Program NL (output);
Var
Index:integer;
Begin
For index := 1 to 10 do
Begin
For index := 1 to 8 do
Write (+);
Writeln;
End

By Pascal Research Team 8


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

End

Hasil: ?
Kesimpulan: ?

Bagaimana dengan program berikut,

b. Ketik 10

Program NL (output);
Var
Baris,kolom :integer;
Begin
For baris := 1 to 10 do
Begin
For kolom:= 1 to 8 do
Write (+);
Writeln;
End;
End.

*) jika ada loop/perulangan yang tidak saling berhubungan dapat digunakan variabel
yang sama, seperti masalah pada ketik 9

c. Ketik 11

program duasegi(output);
var
baris, kolom:integer;
begin
for baris:= 1 to 10 do
begin
for kolom := 1 to 8 do
write(+);
write ( );

for kolom := 1 to 8 do
write (+);
writeln;
end;
end.

By Pascal Research Team 9


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

Latihan: Nesting Loop


8. Tentukan hasil cetakan program berikut

For foo:= 1 to 7 do
Begin
For bar:= 1 to 5 do
Write(ada-ada);
Writeln(aja);
End.

9. Tentukan programnya untuk mencetak

+ # # # # # # # # #
+ + # # # # # # # #
+ + + # # # # # # #
+ + + + # # # # # #
+ + + + + # # # # #
+ + + + + + # # # #
+ + + + + + + # # #
+ + + + + + + + # #
+ + + + + + + + + #
+ + + + + + + + + +

*) Sdr boleh menggunakan statement For kolom := baris + 1 to 10 do

10. Tentukan program untuk mencetak hasil berikut :

+
+ +
+ + +
+ + + +
+ + + + +

+ + + + +
+ + + +
+ + +
+ +
+
*) Nilai index dari Loop-For juga dapat di mulai dari besar kekecil dengan
statement DOWNTO

d. Ketik 12

By Pascal Research Team 10


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

For index := 5 to 1 do
Write (index);

Hasil: ?

*) Kembali lihat soal 10

II. INPUT
Statement dalam Pascal yang digunakan untuk pembacaan suatu nilai input adalah
dengan READ
Bentuk Umum: Read (variabel apa)

Berarti bahwa, bila dalam program harus ada proses input, maka harus disertakan pada
judul program.
Mis: Program baca (input,output);

a. Ketik 13

Program hasilakh (input,output);


Const
Jumbil=5;
Var
Jumakh:integer;
Bilinput :integer;
Index :integer;
Begin
Jumakh = 0;
Write (inputkan bilangannya : );
For index::= 1 to jumbil do
Begin
Read(bilinput);
Write(bilinput);
Jumakh:=jumakh+bilinput;
End;
Writeln;
Write( Hasil akhir adalah : ,jumakh);
End.
Run programnya, lalu ketikan nilai sembarang (yaitu nilai bilinput) dari keyboard
Hasil: ?
Kesimpulan: ?

b. Ketik 14

Lengkapi dulu.!

Read(nilai);
Writeln(Nilai tersebut adalah : ,nilai);
Nilai:=nilai+5;

By Pascal Research Team 11


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

Writeln(Nilai sekarang adalah : ,nilai);


For index :=4 to 7 do
Begin
Write(index);
Read(next);
Write(next);
Nilai:=nilai+next mod index;
Writeln(nilai);
End

Run programnya, lalu ketikan nilai sembarang (yaitu nilai ) dari keyboard

Hasil: ?
Kesimpulan: ?

c. Ketik 15

Program penjumlahan(input,output);
Var
Jum:integer;
Bil:integer;
Index:integer;
Juminput:integer;
Begin
Read(juminput);
Writeln(Ada : ,juminput,nilai yang di inputkan);
Jum:=0;
Write( Input : );
For index:= 1 to juminput do
Begin
Read(bil);
Write(bil);
Jum:=jum+bil;
End;
Writeln;
Write(jumlahnya adalah :, jum);
End.

Latihan:
11. Rancang program, dimana jumlah data yang diinputkan bervariasi sehingga sdr
dapat memasukkan nilai data yang bervariasi juga, misalnya program untuk mencari
luas dan keliling beberapa persegi panjang dengan panjang dan lebar berbeda-beda

12. Rancang program untuk mencari umur rata-rata dari beberapa mahasiswa (baik
jumlah maupun umur para mahasiswanya bervariasi).

By Pascal Research Team 12


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

13. Rancang program, mencari rata-rata nilai beberapa matakuliah dari tiap mahasiswa,
dimana jumlah mahasiswanya juga lebih dari satu (kalau tidak salah untuk program
yang ini diperlukan prinsip nesting loop, coba dech !)

14. Rancang program, untuk mencari nilai rata-rata setiap 5 kelompok bilangan berbeda
yang sdr inputkan, dimana tiap kelompoknya terdiri atas 4 bilangan !

15. What is the difference between using a constant definition and reading the value
from input ?

II.1 IF statements

Bentuk Umum : If kondisinya apa (condition)


Then apa prosesnya (statement)

a. Ketik 16

Program kesukaan(input,output);
Const
Bilkessukaan=18;
Var
Bil:integer; {nilai-nilai yang diinputkan}
Index:integer; {banyaknya penginputan}
Juminput:integer; {berapa kali ingin menginputkan}
Begin
Read(juminput);
Writeln(Ada : ,juminput, nilai yang di inputkan);
For index:= 1 to juminput do
Begin
Read(bil);
Write(bil);
If bil = bilkesukaan
Then write ( adalah bilangan kesukaan saya);
Writeln;
End;end.
Beberapa bentuk kondisi :
Contoh:
Expresi1 = expresi2 artinya sama dengan 5 = 6 is false(salah)
Expresi1 < expresi2 artinya lebih kecil dari 5 < 6 is true (benar)
Expresi1 <= expresi2 artinya lebih kecil atau
Sama dengan 5 <= 6 is true
Expresi1 > expresi2 artinya lebih besar dari 5 > 6 is false
Expresi1 >= expresi2 artinya lebih besar atau
Sama dengan 5 >= 6 is false
Expresi1 <> expresi2 artinya tidak sama dengan 5 <> 6 is true

By Pascal Research Team 13


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

b. Ketik 17

masalahnnya:
pertama adalah menentukan berapa bilangan yang akan di test, yang kedua
adalah jumlah proses pembandingan yang akan dilakukan. Kita gunakan istilah
comparand untuk object/nilai pembandingnya, dimana ingin diketahui jumlah bilangan
yang diinputkan yang lebih besar dari nilai pembanding. Artinya, disini kita menginginkan
sebuah counter dan ingin menambah 1 tiap saat bila nilai yang diinputkan lebih besar

Read jumlah nilai-nilai yang akan di test


Read pembanding
Set counter to nol
Kerjakan sebanyak jumlah nilai-nilai yang akan ditest
Baca nilai input
If nilai input > comparand
Then tambah 1 ke counter
Cetak nilai akhir counter

Kita konversi ke Pascal, OK !

Program compare(input,output);
Var
Juminput : integer;
Comparand : integer;
Bil : integer;
Greater : integer;
Begin
Read(juminput);
Writeln ( Ada sebanyak , juminput, nilai input);
Read(comparand);
Wrriteln(Kita akan check nilai-nilai yang besar dari , comparand);
Greater=0;
For counter:= 1 to juminput do
Begin
Read(bil);
Write(bil);

If bil > comparand


Then begin
Write( adalah lebih besar );
Greater :=greater + 1;
End;
Writeln;
End;
Writeln ( Maka ada , greater, nilai lebih besar.);
End.

*) Sorry, nama-nama variablenya tidak A, B, C,.tetapi pakai kata-kata yang panjang,


dan bahkan ada yang bahasa inggris, seperti greater, comparand, dll. Kalau jadi
tambah susah, ganti aja dengan yang mudah diingat

By Pascal Research Team 14


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

II. 2 Else
Bila dari masalah di atas (ketik 17) diinginkan mendapatkan juga nilai-nilai yang
lebih kecil dari comparand dan dicetak keterangan lebih kecil. Berarti :

IF begini-begini (kondisi)
Then begitu1 (statement1)
Else atau begitu2 (statement2);

*) Perlu diketahui bahwa tidak ada tanda semicolon (;) sebelum else, karena IF-THEN-
ELSE adalah merupakan satu statement yang terdiri dari 2 bagian statement
*) Untuk mengingatkan, bahwa pemberian tanda semicolon(;) diakhir sebuah
statement, yaitu bila ada statement berikutnya.

Kita ubah sedikit program ketik 17 dengan menyisipkan logika else.

c. Ketik 18

Program compare(input,output);
Var
Juminput : integer;
Comparand : integer;
Bil : integer;
hitung
Greater : integer;
Smaller ; integer;
Begin
Read(juminput);
Writeln ( Ada sebanyak , juminput, nilai input);
Read(comparand);
Wrriteln(Kita akan check nilai-nilai yang besar dari , comparand);
Greater=0;
For counter:= 1 to juminput do
Begin
Read(bil);
Write(bil);

If bil > comparand


Then begin
Write( adalah lebih besar );
Greater :=greater + 1;
End; {jika nilai > comparand};
Else begin
Write ( adalah lebih kecil );
Smaller := smaller+1;
End {jika nilai < comparand}
Writeln;
End;
Writeln ( Maka ada , greater, nilai lebih besar.);
Writeln ( Dan ada ,smaller, niai yang lebih kecil.);
End.

By Pascal Research Team 15


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

Hasil: ?
Kesimpulan: ngerti enggak ? IF ngerti, modifikasi lah program itu
Sesuai keinginan dan khayalan sdr.
ELSE
Pelajari lagi dech.!

Yang lebih seru lagi


Dalam IF-THEN-ELSE ini juga ada logika nested-loop. Dengan bentuk umum

IF begini (*kondisi1*)
THEN IF begini-begini (*kondisi2*)
THEN begitu (*statement1*)
ELSE begitu-begitu (*statement2*)

Atau boleh juga., dengan menghilangkan loop dari IF kedua ( di-end-kan saja)

IF begini (*kondisi1*)
THEN BEGIN
IF begini-begini(*kondisi2*)
THEN begitu (*statement1*)
END (* THEN dari kondisi1 *)
ELSE begitu-begitu (*statemen2*)

Atau lagi, dengan mem-fungsikan ELSE dari IF pertama

IF begini (*kondisi1*)
THEN IF begini-begini (*kondisi2*)
THEN begitu (*statement1*)
ELSE begitu-begitu (*statement2*)
ELSE begitu-begitu-begitu (*statement3*)

d. Ketik 19

program coba_else (input,output);


var
padabrs, padacol :integer;
baris, colom :integer;

begin
read (padabrs, padacol);
writeln (Posisi pada(, padabrs, , ,padacol, ) .);
For baris :=1 to 8 do
Begin
For colom :=1 to 8 do
IF padabrs and padacol THEN write ( * )
ELSE IF (baris+colom) MOD 2 = 0 THEN write ( W)
ELSE write ( B);
Writeln;
End;
End.

By Pascal Research Team 16


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

e. Ketik 20

sama dengan ketik 19 tetapi modifikasi statement IF nya dengan


IF (padabrs=baris) AND (padacol=colom)
THEN write ( #);
.
.
dst

*) Belum pernah belajar fungsi AND ya.., makanya belajar dari buku lain dulu.

ARRAY

- Setiap variabel yang dinyatakan sebagai ARRAY harus dideklarasikan pada


blok VAR
- Hal yang perlu dinyatakan adalah nama variabel, indeks variabel dan tipe
variabel
- Deklarasi ini juga akan melakukan pemesanan tempat/ memori dari setiap
variabel ARRAY tersebut.

- Contoh deklarasi seperti dibawah ini:

VAR
nama : array [1..10] of string[15];
nobp : array [1..10] of longint;
A : array [1..10,1..10] of integer;
X : array [1..10] of real;

Contoh penggunaan ARRAY


Dibuat program Pascal untuk mengolah data nilai mahasiswa. Setiap mahasiswa
mempunyai data:
- Nama
- NOBP
- Nilai midtest
- Nilai ujian akhir

By Pascal Research Team 17


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

Dari data tersebut akan diolah sehingga mendapatkan nilai indeks. Jumlah mahasiswa
adalah n orang, sehingga variabel dinyatakan sebagai ARRAY.

PROGRAM mhs (input, output);


USES crt;
VAR
nama : array [1..10] of string[15];
nobp : array[1..10] of longint;
quiz,mid,akhir,rata : array [1..10] of real;
indeks : array[1..10] of string[1];
i,n,k : integer;
BEGIN
clrscr;
write (Jumlah Mahasiswa : );readln(n);
FOR i := 1 to n do
BEGIN
clrscr;
gotoxy (10, 5); write(Nama : );
gotoxy (10, 6); write(Nobp : );
gotoxy (10, 7); write(Nilai Quiz : );
gotoxy (10, 8); write(Nilai Mid : );
gotoxy (10, 9); write(Nilai Akhir : );
gotoxy (30, 5); readln(nama);
gotoxy (30, 6); readln(nobp);
gotoxy (30, 7); readln(quiz);
gotoxy (30, 8); readln(mid);
gotoxy (30, 9); readln(akhir);
END;

FOR k := 1 to n do
BEGIN
rata[k] := 0.25 * quiz[k] + 0.25 * mid[k] + 0.5 * akhir[k];
CASE rata[k] OF
0..39 : indeks[k] :=E;
40..54 : indeks[k] :=D;
55..64 : indeks[k] :=C;
65..79 : indeks[k] :=B;
80..100 : indeks[k] :=A;
END;
END;
clrscr;
gotoxy(2,2);write(Nama Nobp Rata-rata Indeks);
gotoxy(2,3);write(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~);
{ 2345678901234567890123456789012345678
1 2 3 }
FOR i := 1 to n do
BEGIN

By Pascal Research Team 18


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

clrscr;
gotoxy (2, 3+i); write(nama[i]);
gotoxy (11, 3+i); write(nobp[i]);
gotoxy (22, 3+i); write(rata[i]);
gotoxy (33, 3+i); write(indeks[i]);
END;
gotoxy(2,4+i);write(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~);
END.

RECORD

Record merupakan type data terstruktur yang harus dideklarasikan sendiri


Record terdiri dari beberapa field dimana setiap field harus dinyatakan namanya dan
type dari field tersebut
Deklarasi dari record dapat dinyatakan pada bagian blok TYPE dan pada blok VAR
Untuk melakukan pengolahan terhadap field dapat dilakukan dengan 2 cara:
- perintah titik
- statement WITH

Dibawah ini adalah contoh deklarasi record:

TYPE mahasiswa = RECORD


Nama : string [15] ;
BP : string [8] ;
Umur : integer ;
END;

VAR mhs : mahasiswa; { hanya untuk 1 orang mahasiswa }

Membaca field dengan menggunakan perintah titik:

Write ('Nama : '); readln (mhs.nama);


Write ('Nobp : '); readln (mhs.nobp);
Write ('Umur : '); readln (mhs.umur);

By Pascal Research Team 19


Universitas Putra Indonesia Yayasan Perguruan Tinggi Komputer

Kalau menggunakan statement WITH:

WITH mhs DO
BEGIN
Write ('Nama : '); readln (nama);
Write ('Nobp : '); readln (nobp);
Write ('Umur : '); readln (umur);
END ;

Untuk lebih dari satu mahasiswa (misalkan 5 orang mahasiswa)

TYPE mahasiswa = RECORD


Nama : string [15] ;
BP : string [8] ;
Umur : integer ;
END;

VAR mhs : array [1..5] of mahasiswa;


i : byte;
BEGIN
For i := 1 to 5 do
BEGIN
WITH mhs[ i ] DO
BEGIN
Write ('Nama : '); readln (nama);
Write ('Nobp : '); readln (nobp);
Write ('Umur : '); readln (umur);
END ;

For i := 1 to 5 do
BEGIN
WITH mhs[ i ] DO
BEGIN
Write ('Nama : '); writeln (nama);
Write ('Nobp : '); writeln (nobp);
Write ('Umur : '); writeln (umur);
END;
END ;
END.

By Pascal Research Team 20

Anda mungkin juga menyukai