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;
0 komentar:
Posting Komentar