Array
Array
coloumn major order coloumn major order (representasi kolom per kolom) cara ini mengutamakan kolom. Array dipresentasikan kolom perkolom, kemudian untuk kolom yang sama, elemennya dinyatakan baris perbaris 2. Row-Major-order Cara ini mengutamakan baris. Array direpresentasikan dengan cara baris per baris, kemudian untuk baris yang sama, elemen dinyatakan kolom per kolom. Representasi Array dalam memory a. Array satu dimensi Dideklarasi dengan: Var A : array[4..8] of string[3]; Array [b..a] of type data[length] Keterangan: 8 batas atas (a) = 8 4 ... batas bawah (b) = 4 Dan alamat awal misal berada pada H1000 (Hesadecimal 1000) Representasi dalam memory. Baik secara Coloumn-Major maupun Row-Major Order, untuk array satu dimensi representasinya sama sebagai berikut :
Elemen ke 1
indeks: A[4] 3
2
A[5] 3
3
A[6] 3 3
4
3
5 n=5
A[8]
A[4]: elemen ke 1, alamat : H1000 A[5]: elemen ke 2, alamat : H1003 A[8]: elemen ke 5, alamat : H100C
Untuk elemen diatas, ada beberapa istilah/notasi yang akan kita pakai: nama array : A sesuai nama yang diberikan oleh deklarasi batas bawah (b) = indeks terbawah batas atas ( a) = indeks teratas length (l) = jumlah byte per elemen alamat @A[i] = alamat A[i] alamat awal @A[l] = H1000 (misal) @A[b]= H1000 Dari pernyataan di atas dapat dicari : a. Jumlah elemen = jumlah kolom perbaris = n n = (a-b)+1 = (8-4)+1 = 5 b. Indeks untuk elemen ke-i adalah : (i + b) 1 Indeks untuk elemen ke 2 adalah = (2 + 4) 1 =5 Jadi elemen ke-2 adalah A[5] Indeks untuk elemen ke 4 adalah = (4 + 4) 1 =7 Indeks elemen ke 4 adalah 7 . A[7] c. Alamat A[i] : @A[i]= @A[l] + l *(ib) Jadi alamat @A[6] = H1000 + 3 * (6 4)
= H1000 + 3 * 2 = H1000 + 6 = H1006 @A[5] = H1000 + 3 * (5 4) = H1000 +3 *1 = H1000 + 3 = H1003 Array Dua Dimensi Dideklarasikan dengan : Var A : array [3..5,4..8] of string[3]; Var A : array [ib..ia,jb..ja] of type data[length]; Dan alamat awal misal berada pada H1000 (hexadeximal 1000) Dari pernyataan diatas diketahui : - Row batas bawah (ib) = 3 - Row batas atas (ia) = 5 - Jumlah baris (k) = (ia ib) +1 =jumlah elemen perkolom l = (5 3) +1 K=3 - Colom batas bawah - Colom batas atas - Jumlah kolom (jb) = 4 (ja) = 8 (n) (ja jb) +1 N = (8 4) + 1 N=5 (l)= 3 =k*n = 3*5 = 15
Representasi dalam memory ( 15 elemen) Ada 15 elemen di presentasikan sebagai array satu dimensi
3,4 4,4 5,4 3,5 4,5 5,5 3,6 4,6 5,6 3,7 4,7 5,7 3,8 4,8 5,8
Semua kolom 4 Baris 3 s/d 5 A[3,4] = H1000 Semua kolom 5 Baris 3 s/d 5 A[4,5] = H100C Semua kolom 6 Baris 3 s/d 5 Semua kolom 7 Baris 3 s/d 5 Semua kolom 8 Baris 3 s/d 5