Sunday, November 2, 2014

Pertemuan 2


“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