Berikut ini adalah pertanyaan dari nurizhaherlambang pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Jawaban:
1. Kita bisa menghitung alamat array A[i][j][k] dengan rumus:
alamat = alamat_awal + (i * ukuran_dimensi_1 + j * ukuran_dimensi_2 + k) * ukuran_tipe_data
dengan asumsi ukuran tipe data float adalah 4 byte.
Dari deklarasi array tersebut, kita tahu bahwa ukuran dimensi 1, 2, dan 3 masing-masing adalah 5, sehingga ukuran blok data untuk dimensi 1 adalah 5 x 5 x 4 = 100 byte, untuk dimensi 2 adalah 5 x 4 = 20 byte, dan untuk dimensi 3 adalah 4 byte.
Maka, alamat array A[2][3][2] adalah:
alamat = 0021(H) + (2 * 100 + 3 * 20 + 2) * 4
= 0021(H) + 928
= 0059(H)
Sedangkan, alamat array A[5][4][3] adalah:
alamat = 0021(H) + (5 * 100 + 4 * 20 + 3) * 4
= 0021(H) + 1123
= 008F(H)
Jadi, alamat array A[2][3][2] adalah 0059(H), dan alamat array A[5][4][3] adalah 008F(H).
2. Karena tipe data char membutuhkan 1 byte untuk setiap elemen, dan ukuran array B adalah 3x4x3, maka ukuran total array B adalah 3x4x3x1 = 36 byte. Alamat awal array B adalah 0021(H).
Untuk menghitung alamat elemen B[i][j][k], dapat digunakan rumus sebagai berikut:
alamat(B[i][j][k]) = alamat_awal + [(i * ukuran_j * ukuran_k) + (j * ukuran_k) + k] * ukuran_tipe_data
dengan i, j, dan k adalah indeks dari array, ukuran_j dan ukuran_k adalah ukuran array pada dimensi kedua dan ketiga, ukuran_tipe_data adalah ukuran dalam byte untuk tipe data char, dan alamat_awal adalah alamat awal array.
Dengan mengganti nilai-nilai yang diketahui, maka alamat elemen B[2][3][2] dan B[3][4][3] adalah sebagai berikut:
alamat(B[2][3][2]) = 0021(H) + [(2 * 4 * 3) + (3 * 3) + 2] * 1
= 0021(H) + 35
= 0050(H)
alamat(B[3][4][3]) = 0021(H) + [(3 * 4 * 3) + (4 * 3) + 3] * 1
= 0021(H) + 57
= 0057(H)
Jadi, alamat elemen B[2][3][2] adalah 0050(H) dan alamat elemen B[3][4][3] adalah 0057(H).
Penjelasan:
Semoga dengan pertanyaan yang sudah terjawab oleh yogiario316 dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Thu, 29 Jun 23