ARRAY DAN RECORD
Definisi Array
o
Sebuah array dapat
dikatakan sebagai suatu himpunan terurutdengan elemen -
elemen homogen.
o
Terurut, dimaksudkan bahwa elemen pertama,
elemen kedua, dst masing – masing diidentifikasi.
o
Sedangkan homogen berarti
masing – masing elemen tersebut mempunyai tipe data yang sama.
o
Array dapat
dikelompokkan atas dua bagian yaitu :
1. Array satu dimensi
2. Array multi dimensi
Array Satu Dimensi
v Bentuk array yang paling
sederhana adalah array satu dimensi.
v Array jenis ini dapat dianggap
sebagai sebuah vektor.
v Suatu array A berdimensi satu
denagan N buah elemen, secara fisik dapat digambarkan sebagai berikut :
v Indeks dari elemen suatu array menyatakan posisinya dalam urutan secara umum, suatu array A berdimensi satu dengan elemen berjenis data T yang mempunyau indeks dari L s/d U dituliskan sebagai berikut : A (L : U) = {A(1)}.
v Untuk l = L, L+1, L+2,...............,U-1, U, dimana masing – masing A(I) berjenis data T.
v L disebut sebagai batas bawah dari indeks A dan U sebagai batas atas dari A.
v Jumlah elemen dalam suatu array disebut sebagai range.
ü Range dari array A (L : U) adalah U – L + 1.
ü Range dari array B (1 : N) adalah N – I + 1 = N.
Array Multi Dimensi
Definisi Record
ü Record adalah himpunan dari elemen – elemen yana heterogen.
ü Heterogen adalah elemen-elemennya dapat mempunyai tipe data yang berbeda.
ü Beberapa hal yang perlu diketahui dalam record sebagai berikut :
o ELEMENTARY ITEM adalah suatu field yang tidak mempunyai subfield.
o GROUP ITEM adalah suatu field yang mempunyai subfield.
o TUPEL adalah gabungan atribut yang menjadi suatu informasi dari proses basis data. Array dua dimensi adalah salah satu contoh dari array jenis multi dimensi (dimensi banyak).
ü Array ini elemen-elemennya merupakan array pula.
ü Bentuk yang dianggap dapat mewakili array dua dimensi ini adalah matriks.
o Suatu array B yang terdiri atas M elemen dimana masing
masing elemennya berupa array dengan N elemen
o Array ini dituliskan : B (1 : M, 1 : N) = {B ( I,J )},
o Untuk I = 1, 2, ..., M
o J = 1, 2, ..., N
o Jumlah elemen (range) dari array B ini adalah M x N
o Secara umum, array 2 dimensi B dengan batas bawah indeks pertama L1, batas atas indeks pertama U1, batas bawah indeks kedua L2, batas atas indeks kedua U2, dituliskan :
B (L1 :U1, L2 : U2) = {B (I,J)}
Untuk L1 < I < U1 dan L2 < J < U2
Jumlah elemen baris dari array B adalah : (U2 – L2 + 1)
Jumlah elemen kolom dari array B adalah : (U1 – L1 + 1)
Jumlah total elemenarray B adalah : (U2 – L2 + 1) (U1 – L1 + 1)
Cross Section
· Yang dimaksud dengan Cross section dari array 2 dimensi adalah suatu himpunan yang anggotanya adalah elemen-elemen dalam satu baris saja atau satu kolom saja.
· Notasinya menggunakan *
· Misal diberikan array B ( 1:M, 1:N ).
B (4**) = { B(4,1), B(4,2), ..., B(4,N) }
B (*,4) = { B(1,4), B(2,4), ..., B(M,4) }
Transpose
·
Transpose dari suatu
array dua dimensi adalah suatu array dua dimensi pula dengan menukar posisi
indeksnya.
·
Transpose dari array berukuran M x
N adalah suatu array berukuran N x M.
·
Transpose dari suatu
array dari B dinotasikan denganBT, dan didefinisikan : B (IJ) = BT
(J,I)
·
Selanjutnya secara
umum, suatu array A berdimensi N dapat dituliskan sebagai berikut : A (
L1 : U1, L2 : U2,...., LN : UN)
·
Jumlah elemen array
ini adalah :
(U1 – L1 + 1) (U2 – L2 + 1) ...
(UN – LN + 1) =>II (Uk – LK + 1)
K = 1
·
Sebagai contoh
perhatikan sebuah array berdimensi 3 yang menggambarkan (berisi) jumlah
mahasiswa STMIK Asia untuk kelas reguler dan eksekutif.
·
Array ini dapat
digambarkan sebagai berikut :
Pembagian Ruangan (i , j ,
k)
i =
Golongan (Pria , Wanita)
j =
Bagian (Anak-anak , Remaja)
k = Tempat (R.Depan, R.Tengah, R.Belakang)
Ex
: 1. Wanita,Bagian,Tempat
Jawab : (W, * , *)
2.
Golongan,Remaja,R.Tengah
Jawab :
(* , R , R.Tengah)
Deklarasi Array Dalam Bahasa
Pemrograman
·
Misal diberikan array
dengan nama A yang mempunyai 24 elemen dengan masing – masing elemen berjenis
data integer, maka deklarasinya dalam bahasa pemrograman adalah sebagai berikut
:
VAR A : ARRAY [1...24] OF
INTEGER;
·
Dalam mendeklarasikan
suatu array ada 3 hal yang harus ada pada deklarasi tersebut, yaitu :
Nama
array
Range
array
Tipe
elemen-elemen datanya
Pemetaan Array Satu Dimensi ke
Storage
ü Ada beberapa cara untuk
menyatakan suatu array pada storage, tetapi konsepnya hampir sama dengan apa
yang ada pada data fungsi.
ü Misal diberikan array satu
dimensi dengan nama A yang mempunyai indeks 1 s/d N, yaitu A (1:N).
ü Secara fisik array A (1:N) dapat
digambarkan sebagai berikut :
A
(1)
|
A
(2)
|
A
(3)
|
....
|
A
(I)
|
....
|
A
(N)
|
ü Yang perlu kita ketahui disini
adalah letak elemen ke I dari array A (1:N), atau letak masing-masing elemen
array pada storage.
ü Letak suatu elemen biasanya
disebut sebagai starting address ataustarting
location atau base location.
üUntuk mengetahiu starting address
suatu elemen array, perlu diketahui lebih dulu antara lain :
§
Starting
address dari array yang bersangkutan.
§
Ukuran
masing-masing elemen array atau ruang yang digunakan masing-masing elemen
array.
Pemetaan Array Multi Dimensi ke
Storage
·
Prinsip yang
digunakan disini tetap didasarkan pada array satu dimensi.
·
Oleh karena itu untuk
array multi dimensi, linierisasi-nya dapat dilakukan berdasarkan baris atau
kolom.
·
Contoh : Misal
diberikan array A (1:3, 1:4). Array ini secara fisik dapat digambarkan sebagai
berikut :
1
2 3 4
·
Linierisasi menurut
baris akan mengakibatkan bentuk diatas menjadi :
·
Starting address A
(2.4)
= B + (2-1) * 4 * S + (4 – 1) * S
= B + 7 * S
·
Secara umum elemen A
(I,J) dari array A (I:U, L:U) mempunyai starting address : B + (I-L1) *
(U2 - L2 + 1) * S + (J – L2) * S
·
Alternatif lain untuk
linierisasi adalah denganmenggunakan cara kolom jika diberikan array A (1;3,
1:4) di atas, maka bentuk linierisasinya.
RECORD PEGAWAI
Job
Tittle
|
Emp.
No
|
Pay
Rate
|
Name
|
Telp.
No
|
Analys
|
00012724
|
1.000.000
|
Bob Geldof
|
7801725
|
Programmer
|
00023451
|
800.000
|
Ceu Rika
|
7521475
|
(String
(20))
|
(String
(8))
|
Real
|
(String
(25))
|
(String
(7))
|
File
·
Record-record yang tipenya
sama disebut FILE.
·
Untuk menyatakan
suatu data dalam record yang mempunyai identifikasi yang khusus, maka harus
punya I field khusus yang disebut KEY (Kunci Field).
Deklarasi Rercord Dalam Bahasa
Pemrograman
·
PROGRAM DALAM PASCAL
Type
Pegawai
= Record;
Job_Tittle :
String[20];
Emp_No :
String[8];
Pay_Rate :
Real;
Nama :
String[25];
Telp_No :
String[7];
End;
Tidak ada komentar:
Posting Komentar