Senin, 05 Januari 2026

Tahap 9: Array 2 Dimensi (13)

 

Tahap 9: Array 2 Dimensi (13)

Tujuan

Menyimpan data dalam bentuk tabel (baris dan kolom), seperti matriks atau nilai siswa.


1. Konsep Array 2 Dimensi

Array 2 dimensi memiliki:

  • Baris

  • Kolom

  • Indeks dimulai dari 0

📌 Bentuk umum:

tipe_data nama_array[baris][kolom];

2. Deklarasi & Inisialisasi

int nilai[2][3] = { {80, 85, 90}, {75, 88, 92} };

Ilustrasi:

80 85 90 75 88 92

3. Mengakses Elemen Array 2 Dimensi

printf("%d", nilai[1][2]); // Output: 92

4. Menampilkan Array 2 Dimensi (Output)

Menggunakan loop bersarang:

#include <stdio.h> int main() { int nilai[2][3] = { {80, 85, 90}, {75, 88, 92} }; int i, j; for(i = 0; i < 2; i++) { for(j = 0; j < 3; j++) { printf("%d ", nilai[i][j]); } printf("\n"); } return 0; }

5. Input Array 2 Dimensi

#include <stdio.h> int main() { int nilai[2][3]; int i, j; for(i = 0; i < 2; i++) { for(j = 0; j < 3; j++) { printf("Masukkan nilai [%d][%d]: ", i, j); scanf("%d", &nilai[i][j]); } } printf("\nData Nilai:\n"); for(i = 0; i < 2; i++) { for(j = 0; j < 3; j++) { printf("%d ", nilai[i][j]); } printf("\n"); } return 0; }

6. Studi Kasus Sederhana

Menghitung total nilai tiap baris

#include <stdio.h> int main() { int nilai[2][3] = { {80, 85, 90}, {75, 88, 92} }; int i, j, total; for(i = 0; i < 2; i++) { total = 0; for(j = 0; j < 3; j++) { total += nilai[i][j]; } printf("Total baris %d = %d\n", i, total); } return 0; }

7. Kesalahan Umum Pemula

❌ Salah urutan indeks [baris][kolom]
❌ Loop tidak sesuai ukuran array
❌ Lupa loop bersarang


8. Ringkasan

✔️ Array 2 dimensi = tabel data
✔️ Gunakan loop bersarang
✔️ Cocok untuk matriks, nilai siswa, jadwal


Soal Pilihan Ganda

Materi: Array 2 Dimensi – Bahasa C

1.

Array 2 dimensi dalam bahasa C digunakan untuk menyimpan data dalam bentuk …
A. Satu baris
B. Satu kolom
C. Tabel (baris dan kolom)
D. Teks
E. Pointer


2.

Bentuk umum deklarasi array 2 dimensi yang benar adalah …
A. int data{2}{3};
B. int data(2)(3);
C. int data[2][3];
D. int data<2><3>;
E. array int data[2][3];


3.

Perhatikan deklarasi berikut:

int nilai[3][4];

Artinya array tersebut memiliki …
A. 3 baris dan 4 kolom
B. 4 baris dan 3 kolom
C. 12 baris dan 1 kolom
D. 1 baris dan 12 kolom
E. 7 elemen


4.

Jika array dideklarasikan sebagai berikut:

int data[2][3] = { {10, 20, 30}, {40, 50, 60} };

Maka nilai data[1][2] adalah …
A. 10
B. 20
C. 30
D. 50
E. 60


5.

Indeks pertama array 2 dimensi di bahasa C selalu dimulai dari …
A. 1
B. -1
C. 2
D. 0
E. Bebas


6.

Untuk mengakses elemen array 2 dimensi, digunakan format …
A. array(i,j)
B. array{i}{j}
C. array[i][j]
D. array<i><j>
E. array->i->j


7.

Perhatikan kode berikut:

int nilai[2][2] = { {1, 2}, {3, 4} }; printf("%d", nilai[0][1]);

Outputnya adalah …
A. 1
B. 2
C. 3
D. 4
E. Error


8.

Untuk menampilkan seluruh isi array 2 dimensi, diperlukan …
A. Satu loop
B. Dua loop bersarang
C. Percabangan if
D. Switch case
E. Pointer


9.

Perhatikan potongan kode berikut:

for(i = 0; i < 2; i++) { for(j = 0; j < 3; j++) { printf("%d ", data[i][j]); } }

Tujuan kode tersebut adalah …
A. Menampilkan satu baris saja
B. Menampilkan satu kolom saja
C. Menampilkan seluruh elemen array 2 dimensi
D. Menginput data
E. Menghapus data


10.

Manakah yang merupakan kesalahan umum dalam penggunaan array 2 dimensi?
A. Menggunakan printf
B. Menggunakan scanf
C. Salah urutan indeks baris dan kolom
D. Menggunakan for
E. Menggunakan int


11.

Perhatikan kode berikut:

int a[2][2] = {{5, 6}, {7, 8}}; printf("%d", a[1][0]);

Outputnya adalah …
A. 5
B. 6
C. 7
D. 8
E. Error


12.

Jika array dideklarasikan sebagai berikut:

int nilai[3][3];

Jumlah total elemen array tersebut adalah …
A. 3
B. 6
C. 9
D. 12
E. 33


13.

Manakah perintah input array 2 dimensi yang benar?
A. scanf("%d", nilai[i][j]);
B. scanf("%d", &nilai[i][j]);
C. scanf("%d", &nilai[i,j]);
D. scanf("%d", nilai[i]);
E. scanf("%d", &nilai);


14.

Studi kasus yang paling cocok menggunakan array 2 dimensi adalah …
A. Menyimpan umur seseorang
B. Menyimpan satu nilai ujian
C. Menyimpan daftar belanja
D. Menyimpan tabel nilai siswa
E. Menyimpan satu karakter


15.

Perhatikan kode berikut:

int data[2][3] = { {1, 2, 3}, {4, 5, 6} }; int i, j, total = 0; for(i = 0; i < 2; i++) { for(j = 0; j < 3; j++) { total += data[i][j]; } } printf("%d", total);

Output dari program tersebut adalah …
A. 6
B. 10
C. 15
D. 18
E. 21

0 komentar:

Posting Komentar