Anda di halaman 1dari 20

Juliana, S.Kom., M. T.

PASCAL (BAHASA PEMROGRAMAN)

I. Sejarah Dan Pengertian Pascal (Bahasa Pemrograman)

Gambar 1.1 Logo Free Pascal

Pada tahun 1971, Profesor Niklaus Wirth dari Technical


University of Zurich, Switzerland, memperkenalkan bahasa
pemrograman Pascal. Nama Pascal diambil dari nama seorang
matematikawan Perancis, Blaise Pascal. Beliau membuat bahasa
pemrograman Pascal untuk menjadi alat bantu belajar pemrograman
bagi para mahasiswanya dan melengkapi kekurangan-kekurangan
bahasa pemrograman yang ada pada saat itu.

Pascal merupakan bahasa pemrograman tingkat tinggi (High


Level Language) yang memiliki instruksi-instruksi terstruktur dan
sangat matematis. Pascal memiliki tipe-tipe data standar yang telah
tersedia pada kebanyakan bahasa pemrograman. Tipe-tipe data standar
yang dimiliki oleh Pascal adalah: boolean, integer, real, char, dan
string. Selain tipe-tipe data tersebut, Pascal juga mendukung User
defined Data Types, yaitu programmer dapat membuat tipe data lain
yang diturunkan dari tipe data standar.

Pada Pascal, programmer harus harus menentukan tipe data


dari suatu variabel, dan variabel tersebut tidak dapat dipergunakan
untuk menyimpan tipe data selain dari format yang ditentukan.
Beberapa pengecualian berhubungan dengan tipe data antara lain, tipe
data real bisa menyimpan tipe data integer (dan menjadi data real),
demikian juga tipe data string bisa menyimpan tipe data char.

Praktikum Struktur Data | 1


Juliana, S.Kom., M. T.

Sintak pada Pascal bisa dipecah dalam bentuk prosedur dan


fungsi, sehingga bisa digunakan berulang-ulang. Dengan struktur yang
sederhana dan memiliki bahasa hampir mirip dengan bahasa manusia
(bahasa Inggris), menjadikan Pascal mudah dipelajari dan dipahami.

Dalam bahasa pemrograman Pascal, tidak membedakan huruf


kapital maupun huruf bukan kapital (not case sensitive), sehingga
penulisan sintak BEGIN sama saja dengan begin ataupun Begin. Hal
ini berlaku untuk semua kata cadangan (reverse word) maupun
variabel.

Bahasa Pascal juga merupakan bahasa yang digunakan sebagai


standar bahasa pemrograman bagi tim nasional Olimpiade Komputer
Indonesia (TOKI). Selain itu, bahasa Pascal masih digunakan dalam
IOI (International Olympiad in Informatics).

II. Fitur Bahasa Pascal


Pascal memiliki beberapa fitur yang membuatnya cocok untuk
belajar pemrograman dan untuk membuat aplikasi komersil. Beberapa
diantaranya adalah:

 Tipe data bawaan: Pascal memiliki tipe data standar yang


umum terdapat dalam bahasa pemrograman komputer
seperti Integer, Real, Character, dan Boolean.
 Tipe data bentukan: Pascal membolehkan kita untuk
membuat tipe data bentukan yang didefenisikan sendiri.
 Memiliki beragam struktur data: Pascal menyediakan
beberapa struktur data seperti Array, Record, File dan Set.
 Aturan tipe data yang ketat: Pascal membatasi penggunaan
tipe data secara ketat. Kita hanya bisa menggunakan variabel
untuk 1 tipe data saja dan variabel tersebut harus
dideklarasikan terlebih dahulu.
 Mendukung struktural programming: Bahasa Pascal
dirancang dengan konsep pemrograman terstruktur yang
mendukung sub program melalui fungsi dan prosedur
 Sederhana dan expresif: Pascal banyak menggunakan
perintah-perintah dalam bahasa inggris sederhana, sehingga
mudah dipahami.
 Mendukung pemrograman objek: Walaupun tidak banyak
dibahas, tetapi Pascal juga mendukung pemrograman berbasis
objek, terutama pada compiler versi terakhir.

Praktikum Struktur Data | 2


Juliana, S.Kom., M. T.

III. Contoh-Contoh Program (Pascal)

3.1 Program Penggunaan Pointer


Pointer digunakan untuk melakukan alokasi
variabel yang dinamis. jadi untuk menjadi seorang
programmer pascal sejati maka sangat penting untuk belajar
pointer dalam pascal.

Pengertian Pointer Pada Pascal

Pointer adalah variabel dinamis dimana nilai


variabel tersebut berasal dari variabel lain, pointer harus
dideklarasikan sebelum dapat digunakan dalam program

Sintaks Deklarasi Pointer :

type nama_pointer = ^tipe_data;

Pointer ditandai dengan tanda ^ yang diikuti oleh


tipe data yang diinginkan dan setelah melakukan deklarasi
pointer maka selanjutnya kita harus menggunakan deklarasi
variabel untuk mendeklrasikan variabel pointer.

var nama1,nama2 : nama_pointer;

Mencetak Alamat Memory di Pascal

Pascal mengijinkan kita untuk menetapkan alamat


dari variabel ke variabel pointer menggunakan operator
alamat @, @ digunakan untuk memanipulasi dan bermain-
main dengan variabel.

 Contoh Input Program Pointer :


program penggunaan_pointer; new (pengacu);
type {* Memberikan nilai data a ke variable pointer *}
{* Deklarasi tipe pointer bertipe *} pengacu^:=a;
PInteger=^integer; a:=20;
var writeln ('Isi Variable Pointer =', pengacu^);
{* Deklarasi Variable Pointer *} writeln ('Isi Variable a yang telah di rubah =',a);
pengacu :PInteger; pengacu := nil;
a:integer; readln;
begin end.
a:=10;

Praktikum Struktur Data | 3


Juliana, S.Kom., M. T.

 Contoh Output Program Pointer

Gambar 3.1 Output Program Pointer

3.2 Program Penggunaan Record


Record merupakan struktur data yang tersusu atas
elemen-elemen dengan jumlah tertentu dan tipe data
elemennya dapat berbeda-beda.elemen record disebut
dengan field.Record dan array merupakan struktur data
yang panjangnya tertentu (statis), namun demikian terdapat
perbedaan diantara keduanya, yakni :

1. Elemen record bersifat heterogen, yaitu campuran


beberapa tipe data, sedangkan elemen array bersifat
homegen

2. Elemen record didefisinisikan dengan simbol/identifer


sedangkan elemen array diidentifikasi dengan indeks.

Praktikum Struktur Data | 4


Juliana, S.Kom., M. T.

 Contoh Input Program Record


program penggunaan_record; write('Nama = '); readln(siswa.npm);
uses crt; with siswa do begin
type write ('NPM = '); readln(nama);
TSiswa=record write ('Fakultas = '); readln(fakultas);
npm:string; write ('Jurusan = '); readln(jurusan);
nama:string; end;
fakultas:string; writeln ('Nama : ',siswa.npm);
jurusan:string; writeln ('NPM :',siswa.nama);
end; writeln ('Fakultas :',siswa.fakultas);
var writeln ('Jurusan :',siswa.jurusan);
siswa:Tsiswa; readln;
begin end.
clrscr;

 Contoh Output Program Record

Gambar 3.2 Output Program Record

Praktikum Struktur Data | 5


Juliana, S.Kom., M. T.

3.3 Program Penggunaan Array-Record (1)


Array adalah variabel yang dapat menyimpan lebih
dari satu nilai sejenis. Terdapat dua bagian penting yaitu
elemen array yang merupakan nilai dan endeks array yang
merupakan nilai urut untuk mengakses nilai pada array.

 Contoh Input Program Array-Record (1)


Program record_array; writeln
uses crt; ('===========================
type ====');
mahasiswa = record textcolor(15);
Nama:string[30]; write ('Masukkan Jumlah Mahasiswa :
NPM:string[12]; ');readln(byk);
end; for i:=1 to byk do
var begin
mhs:array[1..10]of mahasiswa; write ('Nama : ');readln(mhs[i].Nama);
byk:byte; write ('NPM : ');readln(mhs[i].NPM);
i,j:integer; writeln;
begin end;
clrscr; textcolor(10);
textcolor(10); for j:=1 to byk do
writeln ('Tugas Pratikum Struktur begin
Data'); writeln ('Nama : ',mhs[j].Nama);
writeln writeln ('NPM : ',mhs[j].NPM);
('=========================== writeln;
===='); end;
writeln ('Kelas X3A'); writeln;
writeln writeln;
('=========================== Writeln ('***** Universitas Indraprasta
===='); PGRI *****');
writeln ('Prodi : Teknik Informatika'); readln;
end.

 Contoh Output Program Array-Record (1)

Gambar 3.3 Output Program Array-Record (1)

Praktikum Struktur Data | 6


Juliana, S.Kom., M. T.

3.4 Program Penggunaan Array-Record (2)

Array adalah variabel yang dapat menyimpan lebih


dari satu nilai sejenis. Terdapat dua bagian penting yaitu
elemen array yang merupakan nilai dan endeks array yang
merupakan nilai urut untuk mengakses nilai pada array.

 Contoh Input Program Array-Record (2)


program Array_Record; //readkey;
uses crt; end;
type procedure output;
mahasiswa = record begin
npm,nama:string; writeln
end; ('_______________________________
var ________________');
mhs:array [1..100] of mahasiswa; writeln (' Nama NPM ');
i,n:integer; writeln;
procedure input; for i:=1 to n do
begin with mhs[i] do
clrscr; begin
write ('Masukan Jumlah Data : '); readln gotoxy (5,i+11); writeln (nama);
(n); gotoxy (20,i+11); writeln (npm);
writeln; end;
for i:=1 to n do writeln
with mhs[i] do ('_______________________________
begin ________________');
write ('Masukan Nama : '); readln readkey;
(nama); end;
write ('Masukan NPM : '); readln {Program Utama}
(npm); begin
writeln; input;
end; output;
end.

Praktikum Struktur Data | 7


Juliana, S.Kom., M. T.

 Contoh Output Program Array-Record (2)

Gambar 3.4 Output Program Array-Record (2)

3.5 Program Penggunaan Bubble-Sort

Bubble Sort merupakan salah satu teknik


pengurutan dalam menyusun angka-angka baik itu dari
urutan terkecil-terbesar (Ascending) atau dari angka
terbesar-terkecil (descending).Logika dalam pengurutan
dengan menggunakan bubble sort ialah dengan
membandingkan angka di urutan pertama dengan urutan
kedua. Jika angka pertama lebih besar dari urutan kedua
maka posisi diubah dan jika tidak posisi tidak berubah.

Praktikum Struktur Data | 8


Juliana, S.Kom., M. T.

 Contoh Input Program Bubble-Sort


Program Bubble_Sort; begin
uses crt; temp := L [k];
var L : Array [1..100]of integer; L [k] := L[k-1];
i,j,k,n,temp:integer; L [k-1]:=Temp;
begin end;
clrscr; end;
write ('Berapa Jumlah Elemen Array {Cetak Array Tiap Langkah
?');readln (n); Pengurutan}
for i:=1 to n do writeln;
writeln ('Sebelum Diurutkan : '); write ('Hasil Akhir Langkah ke-',i,' : ');
for i:=1 to n do for j := 1 to n do
begin write (L[j],' ');
write ('L[',I,'] = ');readln (L[i]); end;
end; {Cetak Array Setelah Pengurutan}
writeln ('Proses Pengurutan Bubble Sort writeln;
: '); writeln;
for i:=1 to n-1 do write ('Hasil Pengurutan Bubble Sort :
begin ');
for k := n downto i+1 do for i:= 1 to n do
begin write (L[i],' ');
if L[k] < L[k-1] then readln;
end.

 Contoh Output Program Bubble-Sort

Gambar 3.5 Output Program Bubble-Sort

Praktikum Struktur Data | 9


Juliana, S.Kom., M. T.

3.6 Program Penggunaan Queue (Antrian)

Queue (antrian) adalah list linier yang elemen


yang pertama kali masuk antrian disebut elemen depan
(front/head of queue), sedangkan elemen yang terakhir kali
masuk disebut elemen belakang (rear/tail of queue). Salah
satu contoh aplikasi dari double linked list, yaitu kumpulan
data dengan penambahan data (elemen) hanya melalui satu
sisi, yaitu belakang (tail) dan penghapusan data (elemen)
hanya melalui sisi depan (head). Karena sifat keluar-
masuknya elemen queue melalui kedua ujung queue, maka
elemen-elemen pada kedua ujung barisan tersebut perlu
diidentifikasi.

Praktikum Struktur Data | 10


Juliana, S.Kom., M. T.

 Contoh Input Program Queue (Antrian)


Program Queue_Antrian; antri [tail]:='=';
uses crt; end;
const Max_ELemen=10; end;
type procedure tampilkan;
TAntri=array [1..max_elemen]of char; var i:byte;
var head,tail,pilih:byte;antri:TAntri; begin
masukan:char; gotoxy (10,8); writeln (' ' : 20);
procedure init; gotoxy (10,8);
var i:byte; for i:=1 to 10 do
begin write ('|',antri[i]:3);
head:=0; tail:=0; write ('|');
for i:=1 to max_elemen do end;
antri[i]:='-'; begin
end; clrscr;
function kosong: boolean; init;
begin begin
kosong:=(tail=0); writeln ('1-Masukan Antrian');
end; writeln ('2-Keluarkan Antrian');
function penuh: boolean; writeln ('0-Keluar');
begin while not pilih <> 0 do begin
penuh:=(tail=max_elemen); gotoxy(1,4); write(' ':30);gotoxy(1,4);
end; write ('Pilihan Anda?'); readln(pilih);
procedure tambahElemen(elemen:char); case pilih of
begin 1: begin
if not penuh then begin if not penuh then begin
if kosong then begin gotoxy(30,4); write('Masukan Karakter:
head:=1; tail:=1; '); readln(masukan);
end else tambahElemen(masukan);tampilkan;
inc(tail); end else begin
antri[tail]:=elemen; gotoxy(30,4); write('antrian penuh');
end; readln;
end; end;
function keluarkan:char; end;
var i:byte; 2:begin
begin if not kosong then begin
if not kosong then begin gotoxy(30,4); write(keluarkan,'telah
if tail=1 then begin dikeluarkan');
antri[tail]:='-'; readln;tampilkan;
tail:=0; head:=0; end else begin
end else begin gotoxy (30,4); write ('Upps! kosong');
keluarkan :=antri [head]; readln;
for i:= head to tail-1 do begin end;
antri[1]:=antri[i+1]; end;
end; 0:exit
dec(tail); end;
end; gotoxy (30,4); writeln (' ':30);
if not kosong then end;
antri [tail+1]:='-' else end;
end.

Praktikum Struktur Data | 11


Juliana, S.Kom., M. T.

 Contoh Output Program Queue (Antrian)

Gambar 3.6 Output Program Queue (Antrian)

3.7 Program Penggunaan Stack


Stack adalah suatu susunan data, dimana data dapat
ditambahkan maupun dihapus melalui bagian akhir data,
yang disebut dengan top of stack
Stack bersifat LIFO (Last In First Out), yaitu yang
terakhir masuk kedalam stack menjadi yang pertama
keluar dari stack.

Operasi Stack:
 Inisialisasi : digunakan untuk mengosongkan stack
 Push : digunakan untuk menambah item pada stack
pada tumpukan paling atas
 Pop : digunakan untuk mengambil item pada stack
pada tumpukan paling atas
 IsEmpty : fungsi yang digunakan untuk mengecek
apakah stack sudah kosong
 IsFull : fungsi yang digunakan untuk mengecek
apakah stack sudah penuh

Praktikum Struktur Data | 12


Juliana, S.Kom., M. T.

 Contoh Input Program Stack

program Stack_Tumpukan; pop:= -1


uses crt; end else begin
type pop:= stack.stacks [stack.top];
TStack = record stack.stacks [stack.top]:=0;
Stacks: array[0..10] of integer; dec (stack.top);
top:integer; end;
end; end;
var var jawab,data :byte;
tumpukan :TStack; begin
//menginisialisasikan stack clrscr;
function initStack (var stack : TStack): initStack (Tumpukan);
boolean; repeat
begin writeln ('1.Masukan Data Ke Dalam
stack.top:= -1; //kondisi stack kosong Tumpukan');
initStack:=true; writeln ('2.Keluarkan data Dari
end; Tumpukan');
function push (var stack:TStack; writeln ('0.Keluar');
data:integer): boolean; write ('Masukan Pilihan Anda : ');
begin readln (jawab);
if high (stack.stacks)=stack.top then case jawab of
begin 1 : begin
writeln ('Ups...!!! Tumpukan Penuh'); write ('Masukan Datanya : '); readln
push:=false; (data);
exit; push (tumpukan,data);
end end;
else begin 2:begin
inc (stack.top); writeln ('Data Tumpukan Teratas = ',
stack.stacks [stack.top]:=data; pop (Tumpukan));
push:=true; end;
end; 0:;
end; else writeln ('Maaf ! Salah Masukan
function pop (var stack:TStack):integer; Tombol');
begin end;
if stack.top = -1 then begin readln;
writeln (' Ups...!!! Tumpukan Telah until jawab=0;
Kosong'); end.

Praktikum Struktur Data | 13


Juliana, S.Kom., M. T.

 Contoh Output Program Stack

Gambar 3.7 Output Program Stack

3.8 Program Penggunaan Binary

Binary search adalah algoritma pencarian untuk data


yang terurut. Pencarian dilakukan dengan cara menebak
apakah data yang dicari berada ditengah-tengah data,
kemudian membandingkan data yang dicari dengan data
yang ada ditengah. Bila data yang ditengah sama dengan
data yang dicari, berarti data ditemukan. Namun, bila data
yang ditengah lebih besar dari data yang dicari, maka dapat
dipastikan bahwa data yang dicari kemungkinan berada
disebelah kiri dari data tengah dan data disebelah kanan
data tengah dapat diabai. Upper bound dari bagian data kiri
yang baru adalah indeks dari data tengah itu sendiri.
Sebaliknya, bila data yang ditengah lebih kecil dari data
yang dicari, maka dapat dipastikan bahwa data yang dicari
kemungkinan besar berada disebelah kanan dari data
tengah. Lower bound dari data disebelah kanan dari data
tengah adalah indeks dari data tengah itu sendiri ditambah
1. Demikian seterusnya.

Praktikum Struktur Data | 14


Juliana, S.Kom., M. T.

 Contoh Input Program Binary


program binary; postorder (t^.right);
uses crt; write (t^.data:5);
type end;
tptr=^node; end;
node=record procedure preorder (t:tptr);
left:tptr; begin
data:integer; if t <> nil then
right:tptr; begin
end; write (t^.data:5);
var preorder (t^.left);
c:integer; preorder (t^.right);
x:integer; end;
temp,trail,r,t:tptr; end;
procedure insert (x:integer;var t:tptr); begin
begin clrscr;
new(temp); t:=nil;
temp^.left:=nil; writeln ('Enter Data');
temp^.data:=x; readln (x);
temp^.right:=nil; while (x<>0) do
r:=t; begin
trail:=nil; if t=nil then
while (r<>nil) do begin
begin new (t);
trail:=r; t^.left:=nil;
if r^.data > x then t^.data:=x;
r:=r^.left t^.right:=nil;
else end
r:=r^.right else
end; if x <= t^.data then
if trail=nil then insert (x,t^.left)
t:=temp else
else if x>= t^. data then
if trail^.data > x then insert (x,t^.right);
trail^.left:=temp read (x);
else end;
trail^.right:=temp repeat
end; writeln;
procedure inorder (t:tptr); writeln ('1.InOrder');
begin writeln ('2.PreOrder');
if t <> nil then writeln ('3.PostOrder');
begin writeln ('4.Exit');
inorder (t^.left); writeln ('Enter Your Choice');
write (t^.data:5); read (c);
inorder (t^.right); case c of
end; 1:inorder (t);
end; 2:preorder (t);
procedure postorder (t:tptr); 3:postorder (t);
begin 4:exit;
if t <> nil then end;
begin until (c=4);
postorder (t^.left); end.

Praktikum Struktur Data | 15


Juliana, S.Kom., M. T.

 Contoh Output Program Binary

Gambar 3.8 Ouput Program Binary

3.9 Program Penggunaan Linked List

Linked List adalah suatu struktur data linier.


Berbeda dengan array yang juga merupakan struktur data
linier dan tipe data komposit, linked list dibentuk secara
dinamik. Pada saat awal program dijalankan elemen linked
list belum data. Elemen linked list (disebut node) dibentuk
sambil jalan sesuai instruksi.
Apabila setiap elemen array dapat diakses secara
langsung dengan menggunakan indeks, sebuah node linked
list diakses dengan menggunakan pointer yang mengacu
(menunjuk) ke node tersebut. Awal atau kepala linked list
harus diacu sebuah pointer yang biasa diberi nama head.
Pointer current (disingkat curr) digunakan untuk
memindahkan pengacuan kepada node tertentu.

Praktikum Struktur Data | 16


Juliana, S.Kom., M. T.

 Contoh Input Program Linked list


program penggunaan_linked; end;
uses crt; end;
type function getIndeks
PSimpul=^TSimpul; (msimpul:PSimpul;mIndeks:Integer):PSimp
TSimpul=record ul;
indeks:integer; var i:integer; p,next:Psimpul;
berikut:PSimpul; begin
end; i:=0;
var p:=mSImpul;
akar,simpul:PSimpul; while p <>nil do begin
function sisipSimpul inc (i);
(mSimpul:Psimpul;Melement:integer):PSim next:=p^.berikut;
pul; if i=mindeks then begin
var tmpSImpul:PSimpul; getindeks :=p;
begin break;
new(tmpSimpul); end;
tmpSImpul^.indeks :=mElement; p:=next;
tmpSimpul^.berikut:=nil; end;
if msimpul <> nil then begin end;
if msimpul^.berikut<>nil then begin procedure hapusPointer;
tmpsimpul^.berikut:=msimpul^.berikut; var p,next:PSimpul;
msimpul^.berikut:=tmpsimpul; begin
end p:=akar;
else while p <> nil do begin
msimpul^.berikut:=tmpsimpul; next:=p^.berikut;
end; dispose (p);
sisipSimpul:=tmpSimpul; p:=next;
end; end;
procedure end;
hapusSimpul(msimpul:psimpul;indeks:integ var i,j,element:integer;
er); begin
var p,next,prev:PSimpul;i:integer=0; clrscr;
begin write ('Masukan Jumlah Element : '); readln
p:=msimpul; (j);
while p <> nil do begin for i :=0 to j-1 do begin
next:=p^.berikut; write ('Masukan Jumlah Element ke-',i,' : ');
inc(i); readln (element);
if i =indeks-1 then begin simpul := sisipSimpul (simpul,element);
prev:=p; if akar = nil then
p:=next; akar :=simpul;
next:=p^.berikut; end;
dispose(p); cetak (akar);
prev^.berikut:=next; write ('Pilih Baris Yang Akan Disisipkan :
end; '); readln (j);
p:=next; simpul := getindeks (akar,j);
end; write ('Masukan Nilai Yang Akan
end; Disisipkan : '); readln (j);
procedure Cetak (mSimpul:PSimpul); simpul :=sisipSimpul (simpul,j);
begin cetak (akar);
if mSimpul = nil then write ('Pilih Baris Simpul Yang Akan
Dihapus : '); readln (j);
writeln ('List Kosong') else begin hapussimpul (akar,j);
while mSImpul<> nil do begin cetak (akar);
writeln (msimpul^.indeks); hapusPointer;
msimpul := msimpul^.berikut; readln;
end; end.

Praktikum Struktur Data | 17


Juliana, S.Kom., M. T.

 Contoh Output Program Linked list

Gambar 3.9 Output Program Linked List

3.10 Program Penggunaan Matriks

Matriks adalah Struktur penyimpanan data di dalam


memori utama di setiap individu elemennya diacu dengan
menggunakan dua buah indeks (yang di konotasikan
dengan indeks baris dan kolom).

Karena matriks sebenarnya larik,maka konsep


umum dari larik juga berlaku di matriks:

1. Kumpulan elemen bertipe sama.


2. Setiap elemen data dapat diakses langsung jika
indeksnya diketahui (baris dan kolomnya).
3. Merupakan struktur data yang statis,artinya jumlah
elemennya dideklarasikan dahulu dan tidak bisa
diubah selama pelaksanaan program.

Praktikum Struktur Data | 18


Juliana, S.Kom., M. T.

 Contoh Input Program Matriks

Program Matriks; for i := 1 to 2 do


uses crt; for j := 1 to 2 do
var i,j,dsb1,dsb2:byte; begin
hsl,mat1,mat2:array [1..2,1..2]of byte; gotoxy (60,dsb1+8); write ('C(',i,',',j,') = ');
procedure input; write (hsl[i,j]);
begin gotoxy (8+4*j,15+2*i); write (mat1[i,j]);
clrscr; gotoxy (35+4*j,15+2*i); write (mat2[i,j]);
gotoxy (30,1);write ('Penjumlahan Matriks'); gotoxy (62+4*j,15+2*i); write (hsl[i,j]);
gotoxy (28,2);write ('......................'); dsb1 :=dsb1+1;
gotoxy (30,3);write ('Ordo Matriks : 2 * 2'); end;
gotoxy (28,4);write ('.......................'); gotoxy (14,15); write ('A');
gotoxy (3,6);write ('Masukan nilai : '); gotoxy (41,15); write ('B');
dsb1 :=1; gotoxy (61,15); write ('C');
for i :=1 to 2 do gotoxy (27,18); write ('+');
for j := 1 to 2 do gotoxy (54,18); write ('=');
begin dsb1 := 1;
gotoxy (2,dsb1+8); write ('A(',i,',',j,') = '); dsb2 := 0;
readln (mat1 [i,j]); repeat
dsb1 :=dsb1 + 1; gotoxy (9*dsb1,16); write (' ');
end; gotoxy (9*dsb1,17); write (' ');
dsb1 :=1; gotoxy (9*dsb1,18); write (' ');
for i :=1 to 2 do gotoxy (9*dsb1,19); write (' ');
for j :=1 to 2 do gotoxy (9*dsb1,20); write (' ');
begin gotoxy (19+dsb2*27,16); write (' ');
gotoxy (30,dsb1 +8); write ('B(',i,',',j,') = '); gotoxy (19+dsb2*27,17); write (' ');
readln (mat2 [i,j]); gotoxy (19+dsb2*27,18); write (' ');
dsb1 :=dsb1 + 1; gotoxy (19+dsb2*27,19); write (' ');
end; gotoxy (19+dsb2*27,20); write (' ');
end; dsb1 := dsb1 + 3;
procedure hitung; dsb2 := dsb2 + 1;
begin until (dsb1 >=9);
for i := 1 to 2 do end;
for j := 1 to 2 do begin
hsl[i,j]:=mat1[i,j] + mat2[i,j]; input;
end; hitung;
procedure output; output;
begin readkey;
dsb1 :=1; end.

 Contoh Output Program Matriks

Gambar 3.10 Output Program Matriks

Praktikum Struktur Data | 19


Juliana, S.Kom., M. T.

DAFTAR PUSTAKA

http://www.duniailkom.com/tutorial-belajar-pascal-pengertian-bahasa-
pemrograman-pascal/

http://ipulborneo.web.id/539-sejarah-bahasa-pemrograman-pascal/

http://belajarcodingonline.blogspot.co.id/2013/10/pengertian-pointer-
dalam-pascal.html

http://nikmannasir.blogspot.co.id/2013/11/record-merupakan-struktur-
data-yang.html

https://www.nusinau.com/array-pada-pascal

http://junedalbughisy.blogspot.co.id/2015/01/source-code-program-
pengurutan-bubble.html

https://diarymerry.wordpress.com/2015/05/04/queue-atau-antrian/

https://ayuriyanta.wordpress.com/2015/04/22/membuat-program-stack-
menggunakan-pascal/

https://indrahimessi.wordpress.com/2011/04/27/binary-search-pada-
pascal/

http://repository.binus.ac.id/content/T0026/T002672541.pdf

https://emerer.com/program-matrik-dengan-pascal/

Praktikum Struktur Data | 20

Anda mungkin juga menyukai