Senin, 11 April 2011

TUGAS STRUKTUR DATA

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