Array,set n record PASCAL


Array

 

Array adalah tipe data terstruktur yang terdapat dalam memori yang terdiri dari sejumlah elemen (tempat) yang mempunyai tipe data yang serta memiliki jumlah komponen yang jumlahnya tetap.

Setiap elemen array dibedakan atas indeksnya. Indeks adalah batas bawah dan batas atas indeks yang menyatakan jumlah anggota dalam array. Beberapa indeks dapat dibuat sekaligus dengan simbol pemisah adalah tanda koma (,), yang berarti dimensi array lebih dari satu. Elemen boleh bertipe apa saja tetapi indek tipenya harus ordinal.

Array dapat dideklarasikan menjadi array 1 dimensi maupun lebih. Berikut adalah gambaran konsep array 1 dimensi.

 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
45 27 75 57 86 45 98 45 3 43

 

Jika dibuat 2 dimensi, maka gambaran konsepnya adalah sebagai berikut.

  [0] [1] [2] [3] [4] [5] [6] [7] [8]
[0] 27 75 57 86 45 98 45 3 43
[1] 45 34 43 5 5 76 23 84 67
[2] 30 34 96 3 36 34 45 73 38
[3] 46 17 38 38 94 53 53 35 65
[4] 13 64 37 85 48 27 23 35 64
[5] 11 46 75 72 52 43 1 35 8

 

Contoh deklarasi yang diperbolehkan :

type

Array1D = array[1..10] of byte;

Array2D = array[1..10, -5..5] of LongInt;

Array3D = array[-1..5, 5..10, 1..20] of Single;

Logika = array[boolean] of Integer;

Tinggi = 100..200;

TinggiOrang = array[Tinggi] of byte;

var

Var1 : Array1D;

Var2 : Array2D;

Var3 : array[1..100] of Integer;

Var4 = array[-1..5, 5..10, 1..20] of Single;

 

Array multidimensi dapat pula dideklarasikan dengan bentuk sebagai berikut.

type

Ordo = array[1..2] of array [1..3] of byte;

var

Matrix : array[1..3] of array [1..3] of integer;

 

Pascal tidak membatasi jumlah elemen dan dimensi yang dibuat, tetapi jumlah memori yang dapat dialokasikan untuk membuat sebuah variabel array, dibatasi hingga 64 kb (65.536 byte).

Untuk mengetahui jumlah memori yang dialokasikan saat membuat sebuah variabel array dapat dilakukan dengan cara perhitungan sebagai berikut :

Jml mem = Jml elemen dim 1 x Jml elemen dim 2 x . . . x Jml elemen dim n x ukuran tipe data

 

 

 

 

Contoh :

Var

Arr1 : array[1..2000] of byte;

Arr2 : array[1..16,1..16] of string;

Arr3 : array[1..606, 0..2, 1..2, -1..2] of real;

 

Besar memori yang dialokasikan pada Arr1 adalah

((2000 – 1) + 1) x 2 byte = 4.000 byte

Jumlah ini masih diperbolehkan karena lebih kecil dari jumlah maksimum (65.536 byte).

 

Besar memori yang dialokasikan pada Arr2 adalah

((16 – 1) + 1) x ((16 – 1) + 1) x 256 byte = 65.536 byte

Jumlah ini masih diperbolehkan karena sama dengan jumlah maksimum.

Besar memori yang dialokasikan pada Arr3 adalah

((606 – 1) + 1) x ((2 – 0) + 1) x ((2 – 1) + 1) x ((2 – (-1)) + 1) x 6 byte = 87.624 byte

Jumlah ini tidak diperbolehkan karena melebihi jumlah maksimum memori.

 

Set

 

Suatu set (himpunan) adalah suatu kumpulan dari obyek yang mempunyai urutan yang dianggap sebagai suatu kesatuan. Tiap-tiap obyek di dalam set disebut dengan anggota (member) atau elemen himpunan (elemen of the set). Anggota-anggota dari set harus mempunyai tipe yang sama dan disebut dengan base type dan base tye harus berbentuk tipe data sederhana yaitu bertipe ordinal (integer,boolean,char,skalar kecuali real).

Bentuk umum :

<nama variabel> = Set of  <tipe data / ordinal nilai> ;

Contoh

Type

Jumlah = set of  char;

 

Pembentuk set (set constructor) ,menunjukkan elemen elemen yang digunakan di dalam ungkapan set. Set constructor terdiri dari satu atau lebih elemen jangkauan dari elemen yang dipisahkan dengan koma dan diletakkan diantara kurung bracket (‘[‘ dan ‘]’).

 

type

karakter = set of ‘a’..’z’;

bilangan = set of integer

var

huruf :  karakter;

angka : bilangan;

tanggal : set of 1..31;

begin

huruf := [‘a’,’b’,’c’,’d’];

angka := [1..10, 20..50];

tanggal := [1,2,3,4];

end.

 

Record

 

Record adalah kumpulan elemen – elemen data field yang terdiri dari beragam tipe data yang digabungkan menjadi satu kesatuan, serta jumlah datanya bergantung pada saat pendeklarasian variabel yang memanggil record tersebut. Record dapat digambarkan seperti sebuah tabel, serta field adalah kolom dari tabel tersebut.

 

 

Berikut adalah gambaran sebuah record

 

RECORD MAHASISWA

Nama NPM Kelas IPK
F

I

E

L

D

 

1

F

I

E

L

D

 

2

F

I

E

L

D

 

3

F

I

E

L

D

 

4

Bentuk umum :

Type

<nama record> = record

<nama field 1> : <tipe data>;

<nama field 2> : <tipe data>;

<nama field 3> : <tipe data>;

. . .

<nama field n> : <tipe data>;

End;

Var

<nama variabel> : <nama record>;

 

Contoh :

Type

Mahasiswa = record

nama : string[30];

npm : string[8];

kelas : string[5];

ipk : real;

End;

Var

mhs : Mahasiswa;

data_mhs : array[1..100] of mahasiswa;

 

Untuk menggunakan elemen – elemen di dalam record tersebut, terlebih dahulu deklarasikan nama variabel untuk menampung isi record tersebut. Lalu tulis nama variabel yang menampung record tersebut beserta nama field tersebut, dipisahkan dengan tanda titik (.). Misalkan, saat memanggil / mencetak nilai npm ke dalam program untuk ditampilkan ke layar, maka cara pemanggilannya adalah sebagai berikut:

 

Begin

mhs.nama := ‘Wiro Sableng’;

mhs.npm := ‘50444212’;

writeln(‘Nama = ’, mhs.nama);

writeln(‘NPM  = ’, mhs.npm)

End.

 

Atau, apabila tidak ingin menulis nama variabel penampung record tersebut, dapat menggunakan keyword with – do. Contohnya sebagai berikut :

 

Begin

with mhs do

nama := ‘Wiro Sableng’;

npm := ‘50409857’;

writeln(‘Nama = ’, nama);

writeln();

End.

 

Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s