'STRUKTUR DATA,, TUGAS PERTEMUAN 2... |       PyShel

Cari Blog Ini

Sabtu, 28 Maret 2015

'STRUKTUR DATA,, TUGAS PERTEMUAN 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      = 20
                 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)


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]
            a) cara pandang baris?
            b) cara pandang kolom?
    jawab:
    a) 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) 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)


3. float M[4][3] alamat awal 001E.
    tentukan array M[2][1].
    berdasarkan cara pandang baris dan kolom?

    penyelesaian :
    dik : M[i][j]   = M[2][1]
            M[0][0] = 001E
            N           = 3
            K           = 4
            L            = 4
    dit : tentukan alamat array M[2][1]
            a) cara pandang baris?
            b) cara pandang kolom?
    jawab:
    a) M[i][j]   = M[0][0] + { (i - 1) * N + (j - 1) } * L
        M[2][1] = 001E(H) + { (2 - 1) * 3 + (1 - 1) } * 4
                      = 001E(H) + {3} * 4
                      = 001E(H) + 12
                      = 001E(H) + C => E + C = 14 + 12 = 26 = 1A
                      = 002A(H)

    b) M[i][j]  = M[0][0] + { (j - 1) * K +  (i - 1) } * L
        M[2][1] = 001E(H) + { (1 - 1) * 4 + (2 - 1) } * 4
                      = 001E(H) + {1} * 4
                      = 001E(H) + 4(D)
                      = 001E(H) + 4(H)    => E + 4 = 14 + 4 = 18 = 1   2
                      = 0022(H)


4) Suatu array A dideklarasikan sebagai berikut:
    int A[4] alamat awal indeks berada di 0010(H)
    ukuran type int = 2.
    tentukan berapa alamat array A[3]
    dik : int A[3]
            B = 0010(H)
            i   = 3
            L = 2
    dit : alamat array A[3]?
    jawab :
    A[3] = 0010(H) + (3 - 1) * 2
             = 0010(H) + 2 * 2
             = 0010(H) + 4(D)
             = 0010(H) + 4(H)
             = 0014(H)

5) Array float A[5] dengan nilai awalnya benda pada 002F(H).
    berapa nilai A [3] nya?
    penyelesaian :
    dik : float A[3] 
            B = 002F(H)
            i   = 3
            L = 4
    dit : nilai A[3]?
    jawab :
    A[3] = 002F(H) + (3 - 1) * 4
            = 002F(H) + 2 * 4
            = 002F(H) + 8(D)
            = 002F(H) + 8(H)   => F + 8 = 15 + 8 = 23 = 1   7
            = 0037(H)

            
jawaban menurut saya,, kalau ada kesalahan di koreksi ya gan...

11 komentar:

  1. itu cara menentukan L nya 2 atau 4 itu gimana? atau random aja?

    BalasHapus
    Balasan
    1. Dari type data nya mas. Kalau integer 2 kalau float 4 kalau char 1

      Hapus
  2. Kalo cara menentukan N sama K itu gimana ya?

    BalasHapus
  3. di nomor 3, itu 14 nya darimana ya?

    BalasHapus
  4. ini nomor 2 bagian b maksudnya gimana ya?

    BalasHapus
  5. yg nmr 2 yang 68(D), 44(H), D sama H itu darimana ya?

    BalasHapus
  6. kak mau tanya oo11(h)+ 4e(h) kenapa hasilnya oo5f(h). makasih

    BalasHapus
    Balasan
    1. H D
      0 0
      1 1
      2 2
      3 3
      4 4
      5 5
      6 6
      7 7
      8 8
      9 9
      A 10
      B 11
      C 12
      D 13
      E 14
      F 15

      Baca lagi bro, kenapa 0011(H) + 4E(H) = 005F(H)
      karena E itu pengganti dari 14, jadi ibaratnya 14+1=15, Nah 15=F
      pahami lagi coba makasih

      Hapus
  7. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  8. K sama N nya kebalik itu
    Harusnya
    N=4
    K=5

    BalasHapus