“ARRAY DAN RECORD”
§ Sebuah
array dapat dikatan sebagai suatu himpunan terurut dengan elemen – elemen
homogen.
§ Terurut
, dimaksudkan bahwa elemen pertama, elemen kedua , dst masing-masing dapat di
identifikasi
§ Sedangkan
homogen berarti masing-masing elemen tersebut mempunyai tipe data yang sama
§ Array
dapat dikelompokkan atas 2 bagian , yaitu
o
Array satu dimensi
o
Array multi dimensi
contoh :
- var A satu Dimensi
- dua Dimensi
ARRAY SATU DIMENSI
(1)
§ Bentuk
array yang paling sederhana adalah array satu dimensi
§ Array
jenis ini dapat di anggap sebagai sebuah vektor
§ Suatu
array A berdimensi satu dengan N buah secara fisik dapat digambarkan sebagai
berikut :
A (1)
|
A(2)
|
. . . .
|
A(I)
|
. . . .
|
A(n)
|
ARRAY SATU DIMENSI (2)
§ Indeks
dari elemen suatu array menyatakan posisinya dalam urutan secara umum suatu
array A berdimensi satu dengan elemen berjenis data T yang mempunyai indeks
dari L s/d U dituliskan sebagai berikut : A ( L : U ) : ( A ( 1 ) )
§ Untuk 1 = L ,L
+ 1 , L + 2 . . . . . . . .U - 1, U dimana masing-masing A(I) berjenis data T
§ L
disebut sebagai batas bawah dari indeks A dan U sebagai batas atas dari A
§ Jumlah
elemen dalam suatu array disebut range
o
Range dari array A ( L : U ) adalah
U – L + 1
o
Range dari array B ( 1 : N ) adalah
N - L + 1 = N
ARRAY
MULTI DIMENSI (1)
§ Array
dua dimensi adalah salah satu contoh dari array jenis Multi Dimensi (dimensi
banyak)
§ Array
ini elemennya merupakan array pula
§ Bentuk
yang di anggap dapat mewakili array dua dimensi ini adalah matriks
§ Suatu
array B terdiri atas M elemen dimana masing-masing elemennya berupa array
dengan N elemen , dapat digambarkan sebagai suatu tabel MxN dengan bentuk
sebagai berikut :
A(L:U) = 1
A(L1:U1 : L2:U2)
Baris 1
kolom j
ARRAY MULTI DIMENSI
(2)
§ Array
ini dituliskan B(1:M;1:N) = (B(i,j));
Untuk i = 1,2, . . . . .,M
J = 1,2, . . . . .,N
§ Jumlah
elemen (range) dari array B ini adalah MxN
§ Secara
umum , array 2 dimensi B dengan batas bawah indeks pertama L1, batas atas
indeks pertama U1, batas bawah indeks kedua U2, dituliskan sebagai berikut :
B
( L 1 :U1 , L2 : U2 ) = ( B ( i , j ) )
Untuk
L1 < 1 < 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 elemen array B adalah ( U2 – L2+1) ( U1-L1+1)
CROSS SECTION
§ Yang dimaksud dengan cross section array
dimensi adalah suatu himpunan yang anggotanya adalah elemen-elemen dalam satu
baris saja / 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
§ Dari
suatu array dua dimensi adalah suatu array dua dimensi pula dengan menukar
posisi indeks
§ Transpose
dari array berukuran B dinotasikan
dengan BT dan didefinisikan : B (1)J = BT (j,i)
§ Selanjutnya
secara umum ,suatu array A berdimensi N dapat ditulis sebagai berikut :
A
(L1 : U1, L2 : U2 . . . . . LN ; UN)
§ Jumlah
elemen array ini adalah :
§ Array
ini dapat digambarkan sebagai berikut :
Semua
Karyawan praproduksi pegawai Tetap =
Desain (*, A, 1 )
Karyawan
pria bagian produksi = Desain (P, C, *)
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 :
Var A : ARRAY [1. . .24] OF INTEGER;
|
§ Dalam
mendeklarasikan suatu array ada 3 hal harus ada pada deklarasi yaitu :
o
Nama array
o
Range dari indeks
o
Tipe elemen-elemen data
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
A
(1)
|
A(2)
|
A(3)
|
.
. . .
|
A(I)
|
. . . .
|
A(N)
|
§ Yang
perlu kita ketahui disini adalah letak elemen ke 1 dari array A(1 : N) atau
letak masing-masing elemen array pada storage
§ Letak
suatu elemen biasanya disebut sebagai starting address atau starting location
atau base location
§ Untuk
mengetahui starting address suatu elemen array perlu diketahui lebih dulu
antara lain :
o
Starting address dari array yang
bersangkutan
o
Ukuran masing-masing elemen array /
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 ,linierisasinya dapat dilakukan
berdasarkan baris / kolom
§ Contoh
: Misal diberikan array A (1:3, 1:4).
Array ini secara fisik dapat digambarkan sebagai berikut :
§ Linearisasinya
menurut baris akan mengakibatkan menjadi
§ Starting
address A (2,4)
=
B + (2 – 1) * 4 * S + ( 4 – 1) * S
= B + 7 * S
§ Secara
umum elemen A(1 , 1) dari array A (1 : U, L : U ) mempunyai starting address
B
+ ( 1 – L1 ) * (U2 – L2 + 1)* S + (J – L2 ) * S
Alternatif lain linerisasi array A(1 , 3 , 1 , 4) di
atas maka bentuk linearisasinya :
RECORD :
§ Record adalah himpunan dari elemen-elemen yang
hetrogen
§ Hetrogen
adalah elemen-elemennya dapat mempunyai dapat mempunyai tipe data yang berbeda
§ Beberapa
hal yang perlu diketahui dalam record :
1. Elementary item
: suatu field yang tidak mempunyai
subfield
2. Group item : suatu field yang mempunyai subfield
3. Tupel :
gabungan atribut yang menjadi suatu
informasi dari proses basis data
§ Contoh
:
Nama
|
job
title
|
No
karyawan
|
Gaji
|
Telp
|
String
|
String
|
String
|
Real
|
string
|
FILE
§ Record-record
yang tipenya sama disebut file
§ Untuk
menyatakan suatu data dalam record yang mempunyai identifikasi yang khusus ,
maka harus punya 1 field khusus yang disebut key (kunci field)
§ Contoh
Gol
|
Gaji
pokok
|
Tunjangan istri
|
Gol 1
|
1000
|
500
|
Gol 2
|
2500
|
758
|
Gol 3
|
2500
|
1000
|
DEKLARASI RECORD
DALAM BAHASA PEMROGRMAN :
§ Program
Dalam Pascal
Type
Pegawai : record ;
Job_title : string [ 20]
Emp_no :
string [ 8 ]
Pay_Rate :
real
Nama :
string [ 25 ]
Telp_no :
string [ 7 ]
End ;
No comments:
Post a Comment