๐Ÿ”ท Array Multidimensi dalam Bahasa C

Terakhir Diperbarui: 6 Desember 2025

1. Apa Itu Array Multidimensi?

Array multidimensi adalah array yang memiliki lebih dari satu indeks. Jika array biasa hanya memiliki satu indeks (arr[i]), maka array multidimensi memiliki dua atau lebih indeks, contohnya:

  • Array 2D (Dua Dimensi) โ†’ mirip tabel atau matriks
  • Array 3D (Tiga Dimensi) โ†’ mirip kotak atau ruang data (cube)

Contoh sederhana array 2D ukuran 3ร—3:

1  2  3
4  5  6
7  8  9

Untuk mengakses angka 5, kita gunakan indeks [1][1].

2. Bentuk Umum Deklarasi Array 2D

Format umum:

tipe_data nama_array[jumlah_baris][jumlah_kolom];

Contoh:

int matrix[3][4];  // matriks 3 baris, 4 kolom

Ini berarti array menyimpan total 3 ร— 4 = 12 elemen.

3. Inisialisasi Array Multidimensi

3.1 Inisialisasi Baris per Baris

int matriks[2][3] = {
    {1, 2, 3},
    {4, 5, 6}
};

3.2 Dalam Satu Baris

int matriks[2][3] = {1, 2, 3, 4, 5, 6};

Compiler otomatis mengisi berdasarkan urutan.

3.3 Sebagian Elemen

int matriks[3][3] = {
    {1},
    {4,5}
};

Sisa elemen bernilai 0.

4. Cara Mencetak Array 2D (Traversal)

Kita membutuhkan dua loop:

  • Loop luar untuk baris
  • Loop dalam untuk kolom
traversal_2d.c
Output:
Klik 'Jalankan Code' untuk melihat hasil...

5. Mengakses dan Mengubah Elemen

Misalkan Anda ingin mengubah elemen baris ke-1 kolom ke-2:

matriks[1][2] = 100;
access_2d.c
Output:
Klik 'Jalankan Code' untuk melihat hasil...

6. Menggunakan sizeof() untuk Mengetahui Ukuran

Untuk mengetahui jumlah baris dan kolom:

sizeof_2d.c
Output:
Klik 'Jalankan Code' untuk melihat hasil...

7. Contoh Program: Matriks dan Jumlahnya

Program berikut menghitung jumlah semua elemen matriks:

sum_matrix.c
Output:
Klik 'Jalankan Code' untuk melihat hasil...

8. Array 3 Dimensi (Pengantar Singkat)

Array 3D menyimpan data dalam format seperti kubus:

tipe nama[x][y][z];
3d_array.c
Output:
Klik 'Jalankan Code' untuk melihat hasil...

9. Visualisasi Penyimpanan Memori

Untuk:

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

Penyimpanan di memori (row-major order):

10 20 30 40 50 60

10. Kesalahan Umum Mahasiswa

KesalahanContohPenjelasan
Salah indeksarr[2][3] pada ukuran [2][3]Indeks terakhir adalah [1][2]
Lupa nested loophanya satu loopTidak semua elemen tercetak
Salah jumlah elemen saat inisialisasimismatch dataCompiler error

๐Ÿงช Latihan

Buat program yang:

  1. Meminta input pengguna untuk matriks 3ร—3
  2. Menampilkan matriks dalam bentuk tabel
  3. Menentukan nilai maksimum

Contoh tampilan yang diharapkan:

Masukkan nilai matriks:
...
Matriks:
3 4 1
9 2 6
7 5 8

Nilai terbesar = 9

๐ŸŽ“ Ringkasan

TopikPenjelasan
Array multidimensiArray dengan lebih dari satu indeks
Array 2DMirip tabel/matriks
Akses elemennama[i][j]
TraversalMenggunakan nested loop
sizeof()Dapat dipakai menghitung total elemen