rachmat.rap@bsi.ac.id
Penggambaran secara logika :
PERTEMUAN 4
ARRAY DIMENSI 3 (THREE DIMENSION
ARRAY)
Digunakan
untuk mengelola data dalam bentuk 3 dimensi atau 3 sisi.
Deklarasi : Type_Data Nama_Variabel
[index1] [ndex2] [index3];
Misal : int A[3][4][2];
![]() |
Penggambaran secara logika :
Rumus :
M[m][n][p]
= M[0][0][0] + {((m-1) *(jum.elemen2 * jum.elemen3)) + ((n-1)*(jum.elemen 3)) +
((p-1)}* L
SOAL
1. Suatu array A
dideklarasikan sebagai berikut:
Int A[2][4][3], dengan alamat awal index A[0][0][0] berada di
0011(H) dan ukuran type data int = 2. Tentukan berapa alamat array
di A[2][3][2] ?
Jawab :
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)
= 0011(H) + 26 (H)
= 0037(H)
2. Suatu array A dideklarasikan
sebagai berikut:
Int A[2][4][3], dengan alamat awal index A[0][0][0] berada di
0011(H) dan ukuran type data int = 2. Tentukan berapa alamat array
di A[2][4][2]?
Jawab :
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)
= 0011(H) + 2C (H)
= 003D(H)
3. Suatu array A
dideklarasikan sebagai berikut:
Float A[2][4][3], dengan alamat awal index A[0][0][0] berada
di ABCD(H) dan ukuran type data float = 4. Tentukan berapa alamat
array di A[2][2][3]?
Jawab :
A[2][2][3] = ABCD(H) + {((2–1) * 4 * 3) + ((2-1) * 3) + (3-1)}
* 4
= ABCD(H) + {12 + 3 + 2 } * 4
= ABCD(H) + 68 (D)
= ABCD(H) + 44 (H)
= AC11(H)
4. Suatu array A
dideklarasikan sebagai berikut:
Float A[5][5][5], dengan alamat awal index A[0][0][0] = 0021(H),berapakah
alamat array A[2][3][2] dan A[5][4][3]?
Jawab :
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)
= 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)
= 0021(H) + 1D4 (H)
= 01F5(H)
5. Suatu array B
dideklarasikan sebagai berikut:
Char B[3][4][3] dengan alamat awal index A[0][0][0] =0021(H),
berapakah alamat array A[2][3][2] dan A[3][4][3]?
Jawab :
A[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)
= 0021(H) + 13 (H)
= 0034(H)
A[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)
= 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 :
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)
= 0021(H) + 34 (H)
=
0055(H)

Komentar
Posting Komentar