1. Suatu Array A dideklarasikan sebagai berikut :
int A[50] dengan alamat awal berada di 0011(H).
tentukan berapa alamat array A[20] dan A[40] ?
Penyelesaian :
a) Dik : A[i] = A[20]
B = 0011(H)
I = 20
L = 2
Dit : Alamat array A[20] ?
jawab : A[i] = B + (i-1) * L
A[20] = 0011(H) + (20-1) * 2
= 0011(H) + 19*2
= 0011(H) + 38(D)
= 0011(H) + 26(H)
= 0037(H)
b) Dik : A[i] = A[40]
B = 0011(H)
I = 20
L = 2
Dit : Alamat array A[40] ?
jawab : A[i] = B + (i-1) * L
A[40] = 0011(H) + (40-1) * 2
= 0011(H) + 39*2
= 0011(H) + 78(D)
= 0011(H) + 4E(H)
= 005F(H)
2. Suatu array X dideklarasikan sbb :
Float X[4][5] dengan alamat awal berada pada 0011(H).
Tentukan berapa alamat array X[4][3],
berdasarkan cara pandang baris dan kolom?
Penyelesaian :
Dik : M[i][j] = X[4][3]
M[0][0] = 0011(H)
N = 5
L = 4
K = 4
Dit : Tentukan alamat array X[4][3]
a) cara pandang baris?
b) cara pandang kolom?
jawab:
a) M[i][j] = M[0][0] + { (i - 1) * N + (j - 1) } * L
X[4][3] = 0011(H) + { (4 -1) * 5 + (3 - 1) } * 4
= 0011(H) + {17} *4
= 0011(H) + 68(D)
= 0011(H) + 44(H)
= 0055(H)
b) M[i][j] = M[0][0] + { (j - 1) * K + (i - 1) } * L
X[4][3] = 0011(H) + { (3 - 1) * 4 + ( 4 - 1) } * 4
= 0011(H) + {11} * 4
= 0011(H) + 44(D)
= 0011(H) + 2C(H)
= 003D(H)
3. float M[4][3] alamat awal 001E.
tentukan array M[2][1].
berdasarkan cara pandang baris dan kolom?
penyelesaian :
dik : M[i][j] = M[2][1]
M[0][0] = 001E
N = 3
K = 4
L = 4
dit : tentukan alamat array M[2][1]
a) cara pandang baris?
b) cara pandang kolom?
jawab:
a) M[i][j] = M[0][0] + { (i - 1) * N + (j - 1) } * L
M[2][1] = 001E(H) + { (2 - 1) * 3 + (1 - 1) } * 4
= 001E(H) + {3} * 4
= 001E(H) + 12
= 001E(H) + C => E + C = 14 + 12 = 26 = 1A
= 002A(H)
b) M[i][j] = M[0][0] + { (j - 1) * K + (i - 1) } * L
M[2][1] = 001E(H) + { (1 - 1) * 4 + (2 - 1) } * 4
= 001E(H) + {1} * 4
= 001E(H) + 4(D)
= 001E(H) + 4(H) => E + 4 = 14 + 4 = 18 = 1 2
= 0022(H)
4) Suatu array A dideklarasikan sebagai berikut:
int A[4] alamat awal indeks berada di 0010(H)
ukuran type int = 2.
tentukan berapa alamat array A[3]
dik : int A[3]
B = 0010(H)
i = 3
L = 2
dit : alamat array A[3]?
jawab :
A[3] = 0010(H) + (3 - 1) * 2
= 0010(H) + 2 * 2
= 0010(H) + 4(D)
= 0010(H) + 4(H)
= 0014(H)
5) Array float A[5] dengan nilai awalnya benda pada 002F(H).
berapa nilai A [3] nya?
penyelesaian :
dik : float A[3]
B = 002F(H)
i = 3
L = 4
dit : nilai A[3]?
jawab :
A[3] = 002F(H) + (3 - 1) * 4
= 002F(H) + 2 * 4
= 002F(H) + 8(D)
= 002F(H) + 8(H) => F + 8 = 15 + 8 = 23 = 1 7
= 0037(H)
jawaban menurut saya,, kalau ada kesalahan di koreksi ya gan...