Pertemuan Dua (Array Dimensi 1&2)
Soal dan Jawaban
1.Diketahui float A[5] dan lokasi awal terletak di alamat 00F(H) maka lokasi A[3] adalah :
Jawab :
float A[5]
B = 00F(H)
L = 4
@A[i] = A[3]
@A[i] = B + ( i - 1 )*L
A[3] = 00F(H) + ( 3-1)*4
= 00F(H) + 2*4
= 00F(H) + 8(D)
= 00F(H) + 8(H)
= 017(H)
2.Diketahui double A[20] dan lokasi awal terletak di alamat 00AB(H) maka lokasi untuk A[15] adalah :
Jawab :
double A[20]
B = 00AB(H)
L = 8
@A[i] = A[15]
@A[i] = B + ( i - 1 )*L
A[15] = 00AB(H) + ( 15 - 1 )*8
= 00AB(H) + 14*8
= 00AB(H) + 112(D)
= 00AB(H) + 70(H)
= 011B(H)
3.Diketahui int A[100] dan lokasi awal terletak di alamat 00FB(H) maka lokasi A[78] adalah :
Jawab :
int A[100]
B = 00FB(H)
L = 2
@A[i] = A[78]
@A[i] = B + ( i - 1 )*L
A[78] = 00FB(H) + ( 78 - 1 )*2
= 00FB(H) + 77*2
= 00FB(H) + 154(D)
= 00FB(H) + 9A(H)
= 0195(H)
4.Diketahui char A[50] dan lokasi awal terletak di alamat 00FF(H) maka lokasi A[38] adalah :
Jawab :
char A[50]
B = 00FF(H)
L = 1
@A[i] = A[38]
@A[i] = B + ( i - 1)*L
A[38] = 00FF(H) + ( 38 - 1 )*1
= 00FF(H) + 37*1
= 00FF(H) + 37(D)
= 00FF(H) + 25(H)
= 0124(H)
Catatan :
Rumus : @A[i] = B + ( i - 1 )*L
Dimana : @A[i] = Posisi array yang dicari
B = Posisi awal index di memory komputer
i = Subkrip atau indeks array yang dicari
L = Ukuran / Besar memory suatu type data
Berikut adalah ukuran / besar memory suatu type data untuk :
char = 1
int = 2
float = 4
double = 8
Berikut urutan bilangan heksa (H) :
0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F
nilai A = 10
nilai B = 11
nilai C = 12
nilai D = 13
nilai E = 14
nilai F = 15
KONVERSI BILANGAN DESIMAL (D) KE HEKSA (H)
Karena bilangan heksa (H) berjumlah 16 maka untuk setiap bilangan desimal (D) yang besarnya <10 maka nilainya sama, untuk bilangan desimal 10 = A, 11 = B, 12 = C, 13 = D, 14 = E, 15 = F, sedangkan untuk bilangan desimal (D) yang besarnya >16 harus dibagi 16 dan sisanya ditulis di akhir urutan hasil bagi..
contoh :
a). 9(D) = ....(H)
jawab :
9(D) = 9(H)
b). 23(D) = ....(H)
jawab :
23/16 = 1 sisa 7
jadi 23(D) = 17(H)
c). 32(D) = ....(H)
jawab :
32/16 = 2 sisa 0
jadi 32(D) = 20(H)
d). 43(D) = ...(H)
jawab :
43/16 = 2 sisa 11
nilai 11 pada bilangan heksa adalah B
jadi 43(D) = 2B(H)
Tidak ada komentar:
Posting Komentar