STRUKTUR DATA PERTEMUAN 3 BSI : MAPPING ARRAY
STRUKTUR DATA
PERTEMUAN 3
MAPPING STORAGE ARRAY
Nama :
Juan Firmansyah
NIM :
17191180
Kelas :
17.2B.29
1. Suatu array Z dideklarasikan sbb :
char Z[15] dengan alamat awal berada di 0011(H). Tentukan berapa alamat array Z[3]
dan Z[13]?
Jawab :
Dik :
B = 0011
i = 3
dan 13
L = 1
(Char)
Z[3] =
0011(H) + (3-1)*1
=
0011(H) + 2(D)
=
0011(H) + 2(H)
=
0013 (H)
Z[13] =
0011(H) + (13-1)*1
=
0011(H) + 12(D)
=
0011(H) + C (H)
=001D
(H)
2. Suatu array A dideklarasikan sbb :
int A[58] dengan alamat awal berada di 0011(H). Tentukan berapa alamat array A[28]
dan A[48]?
Jawab :
Dik :
B =
0011
i = 28
dan 48
L = 2
(Int)
A[28] =
0011(H) + (28-1)*2 A[48] = 0011(H) + (48-1)*2
=
0011(H) + 54(D) =
0011(H) + 94(D)
=
0011(H) + 36(H) =
0011(H) + 5E(H)
=
0047 (H) =
006F (H)
3. Suatu array K dideklarasikan sbb : float
K[20] dengan alamat awal berada di 0021(H). Tentukan berapa alamat array K[15]
dan K[17]?
Jawab :
Dik :
B = 0021
i = 15
dan 17
L = 4
(Float)
K[15] =
0021(H) + (15-1)*4
=
0021(H) + 28(D)
=
0021(H) + 1C(H)
=
003D (H)
K[17] =
0021(H) + (13-1)*1
=
0021(H) + 12(D)
=
0021(H) + C (H)
=
002D (H)
4. Suatu array B dideklarasikan sbb :
int B[43] dengan alamat awal berada di 0021(H). Tentukan berapa alamat array B[34]
dan B[42]?
Jawab :
Dik :
B = 0021
I = 34
dan 42
L = 2
(Int)
B[34] =
0021(H) + (34-1)*2
=
0021(H) + 2(D)
=
0021(H) + 2(H)
=
0023 (H)
B[42] =
0021(H) + (42-1)*2
=
0021(H) + 12(D)
=
0021(H) + C (H)
=
002D (H)
5. Suatu array A dideklarasikan sbb :
int A[5] dengan alamat awal berada di 0011(H). Tentukan berapa alamat array A[1]
dan A[4]?
Jawab :
Dik :
B =
0011
I = 1
dan 4
L = 2
(Int)
A[1] =
0011(H) + (1-1)*2
=
0011(H) + 0(D)
=
0011(H) + 0(H)
=
0011 (H)
A[4] =
0011(H) + (4-1)*2
=
0011(H) + 6(D)
=
0011(H) + 6 (H)
=
0017 (H)
6. Suatu array K dideklarasikan sbb : float
K[16] dengan alamat awal berada di 0011(H). Tentukan berapa alamat array K[13]
dan K[15]?
Jawab :
Dik :
B =
0011
I = 13
dan 15
L = 4
(Float)
K[13] =
0011(H) + (13-1)*4
=
0011(H) + 28(D)
=
0011(H) + 1C(H)
=
002D (H)
K[15] =
0011(H) + (15-1)*4
=
0011(H) + 56(D)
=
0011(H) + 38(H)
=
0049 (H)
7. Suatu array Z dideklarasikan sbb :
char Z[13] dengan alamat awal berada di 0011(H). Tentukan berapa alamat array Z[10]
dan Z[11]?
Jawab :
Dik :
B =
0011
I = 10
dan 11
L = 1
(Char)
Z[10] =
0011(H) + (10-1)*1
=
0011(H) + 9(D)
=
0011(H) + 9(H)
=
001A (H)
Z[11] =
0011(H) + (11-1)*1
=
0011(H) + 10(D)
=
0011(H) + A (H)
=001B
(H)
8. Suatu array B dideklarasikan sbb :
int B[33] dengan alamat awal berada di 0011(H). Tentukan berapa alamat array B[27]
dan B[32]?
Jawab :
Dik :
B =
0011
I = 27
dan 32
L = 2
(Int)
B[27] =
0011(H) + (27-1)*2
=
0011(H) + 52(D)
=
0011(H) + 34(H)
=
0045 (H)
B[32] =
0011(H) + (32-1)*2
=
0011(H) + 62(D)
=
0011(H) + 3E (H)
=004F
(H)
9. Suatu array X dideklarasikan sbb :
float X[6][6] dengan alamat awal berada pada 0011(H). Tentukan berapa alamat array
X[2][2], berdasarkan cara pandang baris dan kolom?
Jawab :
Dik : M[i][i] =
[2][2]
M[0][0]= 0011(H)
N = 6
K = 6
L = 4
Dit : Tentukan alamat
Array [2][2]
a. Cara Pandang Baris
b. Cara Pandang Kolom
Penyelesaian :
a. M[i][i] = M[0][0] + {(i – 1) * N + (i – 1)} * L
X[2][2] = 0011(H) + {(2-1) * 6 +
(2-1)} * 4
=
0011(H) + 7 (D) * 4
=
0011(H) + 28(D)
=
0011(H) + 1C (H)
=
002D(H)
b. M[i][i] = M[0][0] + {(i – 1) * K + (i – 1)} * L
X[2][2] = 0011(H) + {(2-1) * 6 +
(2-1)} * 4
=
0011(H) + 7 (D) * 4
=
0011(H) + 28(D)
=
0011(H) + 1C (H)
=
002D(H)
10. Suatu array M dideklarasikan sbb : int
M[22][26] dengan alamat awal berada pada 0011(H). Tentukan berapa alamat array
M[20][13], berdasarkan cara pandang baris dan kolom?
Jawab :
Dik : M[i][i] =
[20][13]
M[0][0]= 0011(H)
N = 26
K = 22
L = 2
Dit : Tentukan alamat
Array [20][13]
a. Cara Pandang Baris
b. Cara Pandang Kolom
Penyelesaian :
a. M[i][i] = M[0][0] + {(i – 1) * N + (i – 1)} * L
M[20][13] = 0011(H) + {(20-1) * 26 + (13-1)} * 2
=
0011(H) + 506 (D) * 2
=
0011(H) + 1012 (D)
= 0011(H)
+ 3F4 (H)
=
0405(H)
b. M[i][i] = M[0][0] + {(i – 1) * K + (i – 1)} * L
M[20][13] = 0011(H) + {(13-1) * 22 + (20-1)} * 2
=
0011(H) + 283 (D) * 2
=
0011(H) + 566 (D)
=
0011(H) + 236 (H)
=0247(H)
11. Suatu array D dideklarasikan sbb : char
D[25][5] dengan alamat awal berada pada 0011(H). Tentukan berapa alamat array D[22][4],
berdasarkan cara pandang baris dan kolom?
Jawab :
Dik
: M[i][i] = [22][4]
M[0][0]= 0011(H)
N = 5
K = 25
L = 1
Dit : Tentukan alamat
Array [22][4]
a. Cara Pandang Baris
b. Cara Pandang Kolom
Penyelesaian :
a. M[i][i] = M[0][0] + {(i – 1) * N + (i – 1)} * L
D[22][4] = 0011(H) + {(22 – 1) * 5 + (4 – 1)}
* 1
= 0011(H) + 108 (D)
= 0011(H) +
6C (H)
= 007D(H)
b. M[i][i] = M[0][0] + {(i –
1) * K + (i – 1)} * L
D[22][4] = 0011(H) + {(4-1) * 25 + (22 -1)} *
1
= 0011(H) + 96 (D)
= 0011(H) + 60 (H)
= 0071(H)
12. Suatu array Z dideklarasikan sbb : float
Z[14][23] dengan alamat awal berada pada 0011(H). Tentukan berapa alamat array
Z[9][22], berdasarkan cara pandang baris dan kolom?
Jawab :
Dik
: M[i][i] = [9][22]
M[0][0]= 0011(H)
N = 23
K = 14
L = 4
Dit : Tentukan alamat
Array [9][22] :
a. Cara Pandang Baris
b. Cara Pandang Kolom
Penyelesaian :
a. M[i][i] = M[0][0] + {(i –
1) * N + (i – 1)} * L
Z[9][22] =
0011(H) + {(9 – 1 ) * 23 + (22 – 1) * 4
=
0011(H) + (184 + 21) * 4
=
0011(H) + 820 (D)
=
0011(H) + 334 (H)
= 0345 (H)
b. M[i][i] = M[0][0] + {(i –
1) * K + (i – 1)} * L
Z[9][22] =
0011(H) + {(22-1) * 14 + (9-1) * 4
=
0011(H) + (308 + 8) * 4
=
0011(H) + 1264 (D)
=
0011(H) + 4F0 (H)
= 0501
(H)
13. 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?
Jawab :
Dik : M[i][i] =
[4][3]
M[0][0]= 0011(H)
N = 5
K = 4
L = 4
Dit : Tentukan alamat
Array [4][3] :
a. Cara Pandang Baris
b. Cara Pandang Kolom
Penyelesaian :
a. M[i][i] = M[0][0] + {(i – 1) * N + (i – 1)} * L
X[4][3] = 0011(H) + {(4
-1) * 5 + (3 – 1)} * 4
= 0011(H) + 17 (D) * 4
= 0011(H) + 68 (D)
= 0011(H) + 44 (H)
= 0055(H)
b. M[i][i] = M[0][0] + {(i – 1) * K + (i – 1)} * L
X[4][3] = 0011(H) + {(3
– 2) * 4 + (4 – 1)} * 4
= 0011(H) +
7 (D) * 4
= 0011(H) +
28 (D)
= 0011(H) +
1C (H)
= 002D(H)
14. Suatu array M dideklarasikan sbb : int
M[18][23] dengan alamat awal berada pada 0021(H). Tentukan berapa alamat array
M[17][21], berdasarkan cara pandang baris dan kolom?
Jawab :
Dik : M[i][i] =
[17][21]
M[0][0]= 0021(H)
N = 23
K = 18
L = 2
Dit : Tentukan alamat
Array [17][21]
a. Cara Pandang Baris
b. Cara Pandang Kolom
Penyelesaian :
a. M[i][i] = M[0][0] + {(i –
1) * N + (i – 1)} * L
M[17][21] = 0021(H) + {(17 – 1) * 23 + (21 – 1)} *
2
= 0021(H) + (368 + 20) * 2
= 0021(H) + 776(D)
= 0021(H) + 308(H)
= 0329(H)
b. M[i][i] = M[0][0] + {(i –
1) * K + (i – 1)} * L
M[17][21] = 0021(H)
+ {(21 – 1) * 18 + (17 – 1)} * 2
=
0021(H) + 376(D) * 2
=
0021(H) + 752(D)
=
0021(H) + 2F0(H)
=
0401(H)
15. Suatu array D dideklarasikan sbb : char
D[20][20] dengan alamat awal berada pada 0011(H). Tentukan berapa alamat array
D[10][15], berdasarkan cara pandang baris dan kolom?
Jawab :
Dik : M[i][i] =
[10][15]
M[0][0]=
0011(H)
N = 20
K = 20
L = 1
Dit : Tentukan alamat
Array [10][15] :
a. Cara Pandang Baris
b. Cara Pandang Kolom
Penyelesaian :
a. M[i][i] = M[0][0] + {(i – 1) * N + (i – 1)} * L
D[10][15] = 0011(H) + {(10 – 1) * 20 + (15 – 1)} *
1
= 0011(H) + (180 + 14) * 1
= 0011(H) + 194 (H)
= 02A5(H)
b. M[i][i] = M[0][0] + {(i – 1) * K + (i – 1)} * L
D[10][15] =
0011(H) + {(15 – 1) * 20 + (10 – 1) * 1
=
0011(H) + (280 + 9) * 1
=
0011(H) + 289 (D)
=
0011(H) + 121 (H)
=
0132(H)
16. Suatu array Z dideklarasikan sbb : float
Z[33][41] dengan alamat awal berada pada 0021(H). Tentukan berapa alamat array
Z[30][9], berdasarkan cara pandang baris dan kolom?
Jawab :
Dik : M[i][i] =
[30][9]
M[0][0]= 0021(H)
N = 41
K = 33
L = 4
Dit : Tentukan alamat
Array Z[30][9] :
a. Cara Pandang Baris
b. Cara Pandang Kolom
Penyelesaian :
a. M[i][i] = M[0][0] + {(i –
1) * N + (i – 1)} * L
Z[30][9] =
0021(H) + {(30 – 1) * 41 + (9 – 1) * 4
= 0021(H)
+ 1197(D) * 4
= 0021(H)
+ 4788 (D)
= 0021(H)
+ 12B4
= 12D5(H)
b. M[i][i] = M[0][0] + {(i –
1) * K + (i – 1)} * L
Z[30][9] = 0021(H)
+ {(9 – 1) * 33 + (30 – 1) * 4
= 0021(H) + 293 (D) * 4
=
0021(H) + 1172 (H)
=
1193(H)
Komentar
Posting Komentar