Tutorial Belajar C Part 19: Pengertian Array 2 Dimensi

Dalam tutorial sebelumnya kita telah membahas pengertian dan contoh kode program dari tipe data array dalam bahasa C. Untuk mengolah data yang lebih kompleks, array ini bisa dibuat menjadi 2 dimensi atau lebih. Inilah yang akan kita bahas dalam tutorial belajar bahasa pemrograman C di Duniailkom kali ini.


Pengertian Array 2 Dimensi

Array dua dimensi adalah sebutan untuk array yang penomoran index-nya menggunakan 2 buah angka. Analogi yang sering dipakai seperti titik koordinat dalam diagram kartesius.

Diagram kartesius merupakan diagram yang biasa kita pakai untuk membuat grafik. Disini terdapat sumbu X dan sumbu Y. Sebuah titik dalam diagram kartesius ini harus disebut secara berpasangan, seperti (2,3) atau (-3, 1).

Contoh diagram kartesius (sumber - wikipedia)

Contoh bentuk diagram kartesius (sumber – wikipedia)

Analogi lain adalah matriks. Dalam matematika, matrik terdiri dari kolom dan baris. Kembali, untuk menentukan nilai dari sebuah matriks, kita harus sebut secara berpasangan seperti baris 1 kolom 2, atau baris 3 kolom 1. Konsep seperti inilah yang menjadi dasar dari array 2 dimensi.

Untuk membuat array 2 dimensi di dalam bahasa C, kita membuat 2 kali tanda kurung siku setelah nama variabel, seperti contoh berikut:

int bilangan[2][2];

Baris diatas akan membuat array 2 dimensi dengan nama variabel: bilangan. Variabel bilangan ini akan berisi 4 element (2 x 2). Atau jika diibaratkan sebagai matriks, disini kita membuat matriks 2 x 2.

Untuk mengakses setiap element array, penulisan index juga harus ditulis 2 kali, seperti contoh berikut:

bilangan[0][0] = 100;
bilangan[0][1] = 101;
bilangan[1][0] = 110;
bilangan[1][1] = 111;

Kita akan lihat contoh praktek dari array 2 dimensi ini sesaat lagi.


Contoh Kode Program Array 2 Dimensi Bahasa C

Berikut contoh kode program pertama dari pembuatan array 2 dimensi di dalam bahasa C:

#include <stdio.h>

int main(void)
{
  int bilangan[2][2];

  bilangan[0][0] = 100;
  bilangan[0][1] = 101;
  bilangan[1][0] = 110;
  bilangan[1][1] = 111;

  printf("Isi array bilangan: \n");
  printf("%d, %d \n",bilangan[0][0],bilangan[0][1]);
  printf("%d, %d \n",bilangan[1][0],bilangan[1][1]);

  return 0;
}

Contoh kode program untuk tipe array 2 dimensi bahasa C

Di awal kode program, saya membuat array bilangan dengan perintah int bilangan[2][2];. Artinya, array bilangan adalah sebuah array 2 dimensi dengan 4 element. Proses pengisian setiap element array dilakukan setelahnya, kemudian ditampilkan dengan perintah printf.

Pengisian element array 2 dimensi juga bisa dilakukan pada saat array itu di definisikan, seperti contoh berikut:

#include <stdio.h>

int main(void)
{
  int matrix[2][3] = {{1,2,3},{7,8,9}};

  printf("Isi array matrix: \n");
  printf("%d %d %d \n", matrix[0][0], matrix[0][1], matrix[0][2]);
  printf("%d %d %d \n", matrix[1][0], matrix[1][1], matrix[1][2]);

  return 0;
}

Contoh kode program untuk tipe array 2 dimensi matriks bahasa C

Kali ini saya membuat sebuah array matrix dengan perintah int matrix[2][3] = {{1,2,3},{7,8,9}};. Perintah ini akan membuat array 2 dimensi dengan total 6 element (hasil dari 2*3). Selain itu proses pengisian nilai juga dilakukan langsung pada saat pendefinisian array.

Tanda kurung kurawal sebagai pemisah nilai array bersifat opsional dan boleh tidak ditulis. Saya juga bisa mengisi array tersebut dengan perintah berikut:

int matrix[2][3] = {1,2,3,7,8,9};

Hanya saja penggunaan tanda kurung kurawal akan mempermudah peletakan posisi dari setiap element array.


Pengertian Array Multi Dimensi

Tidak cukup dengan array 2 dimensi, kita juga bisa membuat array 3 dimensi bahkan lebih. Contoh penggunaan dari array 3 dimensi adalah seperti diagram kartesius 3 dimensi (dimensi ruang) yang butuh sumbu x (lebar), y (tinggi), dan z (kedalaman).

Cara pembuatan array 3 dimensi cukup mudah, kita tinggal menulis 3 kali tanda kurung siku setelah penulisan nama array:

int matrix[2][3][4]

Bagaimana dengan array 4 dimensi? Tidak masalah:

int matrix[2][3][4][5]

Kompleksitas array akan menjadi bertingkat jika sudah menggunakan multi dimensi. Sebagai contoh, baris diatas akan membuat sebuah array 4 dimensi yang beranggotakan 120 element!


Contoh Kode Program Array 3 Dimensi Bahasa C

Sebagai contoh dari konsep array multi dimensi, saya akan membuat sebuah array 3 dimensi. Berikut contoh kode programnya:

#include <stdio.h>

int main(void)
{
  int matrix[2][3][4] =
  {
     { {7, 4, 12, 3}, {-9, 29, 3, 11}, {6, 34, 23, 20} },
     { {6, 15, 1, 5}, {17, 8, -3, 15}, {99, -1, 44, 9} }
  };

  printf("Isi matrix[0][0][0]: %d \n",matrix[0][0][0]);
  printf("Isi matrix[0][1][0]: %d \n",matrix[0][1][0]);
  printf("Isi matrix[1][1][3]: %d \n",matrix[1][1][3]);
  printf("Isi matrix[1][2][3]: %d \n",matrix[1][2][3]);

  return 0;
}

Contoh kode program untuk tipe array 3 dimensi matriks bahasa C

Disini saya membuat array matriks 3 dimensi dengan perintah int matrix[2][3][4], artinya array ini akan menampung 2*3*4 = 24 element, mulai dari element [0][0][0], [0][0][1], [0][0][2] hingga [1][2][3]. Ingat, penulisan nomor index dimulai dari 0.

Karena jumlah element array ini cukup banyak, saya hanya menampilkan beberapa nilai saja menggunakan perintah printf. Meskipun begitu saya yakin anda bisa menampilkan seluruh nilai element array ini. Caranya, cukup dengan mengubah nomor index.


Array 2 dimensi dalam bentuk matriks sangat sering dipakai untuk latihan logika. Soal-soal olimpiade komputer tidak jarang menggunakan array 2 dimensi seperti ini, dimana kita disuruh untuk menebak berapa hasil akhir array setelah serangkaian proses tertentu.

Selanjutnya, kita akan bahas tipe data String dalam bahasa C, yang tidak lain adalah array dari tipe data char.

23 Comments

  1. Reza Dwiputra
    25 Feb 18
    • Andre
      25 Feb 18
  2. Alfiansyahnz
    03 Mar 18
  3. Riyadi
    04 Mar 18
  4. rizki
    28 Apr 18
    • Andre
      28 Apr 18
  5. Okta
    07 Jul 18
    • Andre
      07 Jul 18
  6. Aslamaturrizki (Kiki)
    01 Sep 18
    • Andre
      03 Sep 18
  7. GAMARA
    28 Sep 18
    • Andre
      29 Sep 18
  8. Shofia16
    17 Dec 18
  9. Anam
    25 Sep 19
    • Andre
      26 Sep 19
  10. Anam
    25 Sep 19
    • Andre
      26 Sep 19
      • Anam
        26 Sep 19
        • Andre
          26 Sep 19
  11. GIlang
    14 Dec 20
  12. Melvin
    08 Jul 21

Add Comment

Leave a Reply to Melvin Cancel reply