Rabu, 12 April 2017

Tugas Latihan Pertemuan 2 Struktur Data Semester 2

Tugas Latihan Slide Pertemuan 2 Struktur Data - Semester 2

1. Suatu Array A dideklarasikan sebagai berikut :
    int A[50] dengan alamat awal berada di 0011(H).
    tentukan berapa alamat array A[20] dan A[40] ?

    Penyelesaian :

    a) Dik : A[i] = A[20]
                 B     = 0011(H)
                 i      = 20
                 L     = 2
        Dit : Alamat array A[20] ?
        jawab 

                    A[i] = B + (i-1) * L
                    A[20] = 0011(H) + (20-1) * 2
                             = 0011(H) + 19*2
                             = 0011(H) + 38(D)
                             = 0011(H) + 26(H)
                             = 0037(H)

    b) Dik : A[i] = A[40]
                 B     = 0011(H)
                 i      = 40
                 L     = 2
        Dit : Alamat array A[40] ?
        jawab 

                     A[i] = B + (i-1) * L
                     A[40] = 0011(H) + (40-1) * 2
                                = 0011(H) + 39*2
                                = 0011(H) + 78(D)
                                = 0011(H) + 4E(H)
                                = 005F(H)
   

         Keterangan:
            A[i] : Posisi Array yg dicari
            B : Posisi awal index di memory komputer
            i  : Subkrip atau indeks array yg dicari
            L : Ukuran / Besar memory suatu type data

2. 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?
   
    Penyelesaian :

    Dik : M[i][j]   = X[4][3]
            M[0][0] = 0011(H)
            N           = 5
            L           = 4
            K           = 4
    Dit : Tentukan alamat array X[4][3]
    jawab
    a) cara pandang baris 
        M[i][j]  = M[0][0] + { (i - 1) * N + (j - 1) } * L
        X[4][3] = 0011(H) + { (4 -1) * 5 + (3 - 1) } * 4
                     = 0011(H) + {17} *4
                     = 0011(H) + 68(D)
                     = 0011(H) + 44(H)
                     = 0055(H)

    b) 
cara pandang kolom
        M[i][j]  = M[0][0] + { (j - 1) * K +  (i - 1) } * L
        X[4][3] = 0011(H) + { (3 - 1) * 4 + ( 4 - 1) } * 4
                     = 0011(H) + {11} * 4
                     = 0011(H) + 44(D)
                     = 0011(H) + 2C(H)
                     = 003D(H)


        Keterangan :
        M[i][j] = Posisi Array yg dicari, 
        M[0][0] = Posisi alamat awal index array,
        i = Baris, 
        j = kolom, 
       L = Ukuran memory type data
       K = Banyaknya elemen per kolom, 
       N = Banyaknya elemen per baris

Tidak ada komentar:

Posting Komentar