Deklarasi
: Type_Data Nama_Variabel
[Index1] [index2];
Misal : int
A[3][2];A = 1 4
2 5
3 6
Pemetaaan array 2 dimensi terbagi 2:
- Secara Kolom Per Kolom (Coloumn Major Order/CMO)
- Secara Baris Per Baris (Row Major Order / RMO)
M[0][0] = Posisi alamat awal index array
i = Baris
j = kolom
L = Ukuran memory type data
K = Banyaknya elemen per kolom
N = Banyaknya elemen per baris
1. Berdasarkan kolom Perkolom
A[0 0] A[0 1] A[1 0] A[1 1] A[2 0] A[2 2]
Suatu Array X dideklarasikan sebagai berikut :
Float X[4][3], dengan alamat
index X[0][0] berada di 0011(H)dan
dan ukuran type
data float = 4
Tentukan
berapa alamat
array X[3][2] berdasarkan
cara pandang
baris dan kolom ?
Secara
Kolom Per Kolom (Coloumn Major Oder /
CMO)
@M[i][j] = @M[0][0] +
{(j - 1) * K + (i - 1)} * L
X[3][2] = 0011(H) + {(2 – 1) * 4 + (3 – 1)} *
4
= 0011(H) + 24 (D) 18 (H)
= 0011(H) + 18 (H)
= 0029(H)
2. Berdasarkan baris Perbaris
Secara
Baris Per Baris (Row
Major Oder / RMO)
@M[i][j] = @M[0][0] +
{(i - 1)
* N + (j -
1)} * L
X[3][2] = 0011(H) +
{(3 – 1) * 3 + (2 – 1)} * 4
= 0011(H) + 28
(D) 1C
(H)
= 0011(H) + 1C
(H)
= 002D(H)