Struktur Data Array Dua Dimensi Array 2 dimensi adalah model data yang disajikan dalam bentuk baris dan kolom atau biasa disebut tabel. a. Model Logika Contoh array 2 dimensi adalah jadwal kuliah sebagai berikut: BRS 0 1 2 KLM HARI/JAM Senin Selasa Rabu 0 I A E I 1 II B F J 2 III C G K 3 IV D H L Jika tabel jadwal kuliah di atas jumlah barisnya = M dan jumlah kolomnya = N, maka tabel tersebut dikatakan tabel berukuran M * N, atau array 2 dimensi M * N. b. Model Fisik Dari data array 2 dimensi seperti pada contoh di atas, bila akan disimpan ke memori harus diubah kedalam array 1 dimensi. Hal tersebut dapat dilakukan dengan 2 cara yaitu: 1. Metode Row Major Order 2. Metode Column Major Order ♦ Pengaksesan dengan metode Row Major Order (0,0) (0,1) (0,2) (0,3) (1,0) (1,1) (1,2) (1,3) (2,0) (2,1) (2,2) (2,3) A B C D E F G H I J K L Algoritma pengaksesan elemenya sebagai berikut: FOR (BRS = 0; BRS < 3; BRS++) FOR (KLM = 0; KLM < 4; KLM++) /* Proses ELEMEN[BRS][KLM]; */ Alamat elemen ke I, J dapat dicari dengan rumus: LOC(A[I][J]) = BASE(A) + W( N * I + J ) N = JUMLAH KOLOM ♦ Pengaksesan dengan metode Column Major Order (0,0) (1,0) (2,0) (0,1) (1,1) (2,1) (0,2) (1,2) (2,2) (0,3) (1,3) (2,3) A E I B F J C G K D H L Algoritma pengaksesan elemenya sebagai berikut: FOR (KLM = 0; KLM < 4; KLM++) FOR (BRS = 0; BRS < 3; BRS++) /* Proses ELEMEN[BRS][KLM]; */ Alamat elemen ke I, J dapat dicari dengan rumus: LOC(A[I][J]) = BASE(A) + W( M * J + I ) M = JUMLAH BARIS Struktur Data Latihan 1 1. Terdapat deklarasi variabel dalam C sebagai berikut: int A[10]; float B[20]; a. Hitung kebutuhan momori array A dan B b. Hitung alamat elemen A[6], jika diketahui BASE(A) = 6666. c. Hitung alamat elemen B[5], jika diketahui BASE(B) = 5450. 2. Sebuah array 2 dimensi, dideklarasikan dalam Bahasa C sebagai berikut: int C[5][7]; a. Hitung kebutuhan momori array C b. Jika array di atas disimpan ke memori menggunakan metoda Row Major Order dan diketahui BASE(C) = 5500, hitung alamat elemen C[3,2]. c. Dengan metoda penyimpanan Column Major Order, hitung alamat elemen C[2,5], jika diketahui BASE(C) = 5525. Struktur Data Kasus: Diketahui data kelompok dengan jumlah anggotanya tidak sama untuk tiap-tiap kelompok, sebagai berikut: 1 2 3 4 5 6 7 8 Kel 1 Joko Joni Jodi Jojon Jono Johan Johar Jovita Kel 2 Aldi Alda Ali Ani Kel 3 Ina Ika Kel 4 Yuyun Yoyok Yayah Yoyon Yoyo Kel 5 Nia Nina Ninin Permintaan: Simpan data tersebut ke memori komputer, dengan ketentuan: 1. Data tiap kelompok tetap dapat diakses 2. Penggunaan space memori effisien.