Jumat, 13 Februari 2015

Array dan Record

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.
  Ex:
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