PEMETAAN (MAPPING) ARRAY DIMENSI TIGA KE STORAGE
RUMUS : @M [m][n][p] = M [0][0][0] + {((m-1)*(jum.elemen2*jum.elemen3))
+ ((n-1)*(jum.elemen3)) + ((p-1) * L
1.
Array A dideklarasikan sebagai
berikut :
Int A [2][4][3], dengan
alamat awal A [0][0][0] berada di 0011(H) dan ukuran data int = 2
Tentukan berapa alamat Array di A[2][3][2] ?
Jawab :
Tentukan jumlah elemen
array A [2][4][3] = (2) * (4) * (3) = 24
A [2][3][2] = 0011(H) + {((2 - 1) * (4
* 3) + ((3 - 1) * (3)) + (2 - 1)} * 2
= 0011(H) + {12 + 6 + 1} *
2
= 0011(H) + 38(D)
-> 26(H) dikonversi
= 0011(H) + 26(H)
= 0037(H)
2.
Array A dideklarasikan sebagai
berikut :
Int A [2][4][3], dengan
alamat awal A [0][0][0] berada di 0011(H) dan ukuran data int = 2
Tentukan berapa alamat Array di A[2][4][2] ?
Jawab :
Tentukan jumlah elemen
array A [2][4][3] = (2) * (4) * (3) = 24
A [2][4][2] = 0011(H) + {((2 - 1) * (4
* 3)) + ((4 - 1) * (3)) + (2 - 1)} * 2
= 0011(H) + {12 + 9 + 1} *
2
= 0011(H) + 44(D)
-> 2C(H) dikonversi
= 0011(H) + 2C(H)
= 003D(H)
3.
Array A dideklarasikan sebagai
berikut :
Int A [2][4][3], dengan
alamat awal A [0][0][0] berada di ABCD(H) dan ukuran data float = 4
Tentukan berapa alamat Array di A[2][2][3] ?
Jawab :
Tentukan jumlah elemen
array A [2][4][3] = (2) * (4) * (3) = 24
A [2][2][3] = ABCD(H) + {(2 - 1) * (4 *
3)) + ((2 - 1)) * (3)) + (3-1)} * 4
= ABCDH) + {12 + 3 + 2} * 4
= ABCDH) + 68(D)
-> 44(H) dikonversi
= ABCD(H) + 44(H)
= AC11(H)
4.
Array A dideklarasikan sebagai
berikut :
Float A [5][5][5], dengan
alamat awal A [0][0][0] = 0021(H) , berapakah alamat array
A[2][3][2] dan A[5][4][3] ?
Jawab :
Tentukan jumlah elemen
array A [5][5][5] = (5) * (5) * (5) = 125
#A [2][3][2] = 0021(H) + {(2 - 1) * (5 *
5)) + ((3 - 1) * (5)) + (2 - 1)} * 4
= 0021(H) + {25 + 10 + 1}
* 4
= 0021(H) + 144(D) -> 90(H)
dikonversi
= 0021(H) + 90(H)
= 00B1(H)
#A [5][4][3] = 0021(H) + {(5 - 1) * (5 *
5)) + ((4 - 1) * (5)) + (3 - 1)} * 4
= 0021(H) + {100 + 15 + 2}
* 4
= 0021(H) + 468(D)
-> 1D4(H) dikonversi
= 0021(H) + 1D4(H)
= 01F5(H)
5.
Array B dideklarasikan sebagai
berikut :
Char B [3][4][3], dengan
alamat awal B [0][0][0] = 0021(H) , berapakah alamat array B[2][3][2]
dan B[3][4][3] ?
Jawab :
Tentukan jumlah elemen
array A [3][4][3] = (3) * (4) * (3) = 36
#B [2][3][2] = 0021(H) + {((2 - 1) * (4 *
3)) + ((3 - 1) * (3)) + (2 - 1)} * 1
= 0021(H) + {12 + 6 + 1} *
1
= 0021(H) + 19(D) ->
13(H)
= 0021(H) + 13(H)
= 0025(H)
#B [3][4][3] = 0021(H) + {((3 - 1) * (4 *
3)) + ((4 - 1) * (3)) + (3 - 1)} * 1
= 0021(H) + {24 + 9 + 2} *
1
= 0021(H) + 35(D) -> 23(H)
= 0021(H) + 23(H)
= 0044(H)
6.
Deklarasi array x adalah int A
[2][4][5], dengan alamat awal index A[0][0][0] berada di 0021(H) dan ukuran
type data int = 2 Tentukan berapa alamat array di A [2][2][2] ?
Jawab :
Tentukan jumlah elemen
array A[2][4][5] = (2) * (4) * (5) = 40
A [2][2][2] = 0021(H) * {((2 - 1) * (4
* 5)) + ((2 - 1) * (5)) + (2 - 1)} * 2
= 0021(H) * {20 + 5 + 1} *
2
= 0021(H) + 52(D)
-> 34(H) dikonversi
= 0021(H) + 34(H)
= 0055(H)
Langganan:
Posting Komentar
(
Atom
)
Tidak ada komentar :
Posting Komentar