C++ : Mengenal Array Dua Dimensi ( 2D )

Nah, setelah kita kemarin mengenal tentang dasar dari array ( tepatnya array 1D atau satu dimensi ) disini, kini tiba saatnya kita berta'aruf lebih lanjut dengan array 😁

Array tidak hanya tertulis :

int x[5] = {4, 7, 5, 3, 6};

Lebih dalam, array itu terbagi dalam dua jenis. Yang diatas itu kita kenal sebagai array satu dimensi, kemudian yang selanjutnya adalah array dua dimensi ( tidak ada array tiga dimensi loh ya 😱) 

Simpelnya bisa dikatakan bahwa array / larik satu dimensi itu adalah sekumpulan data yang tersusun dari beberapa kolom dan satu baris sedangkan array dua dimensi itu sekumpulan data yang tersusun dari beberapa kolom dan baris. Ilustrasinya sebagaimana gambar tabel dibawah ini :

  • Array satu dimensi

Index-0

Index-1

Index-2

Index-3

  • Array dua dimensi 

Index-0

K-0

B-0

Index-1

K-1

B-0

Index-2

K-2

B-0

Index-3

K-3

B-0

Index-4

K-0

B-1

Index-5

K-1

B-1

Index-6

K-2

B-1

Index-7

K-3

B-1


🛈 NB :
K = Kolom
B = Baris

Yang perlu diperhatikan dalam pemanggilan suatu nilai dalam array dua dimensi tidak menggunakan indexing seperti dalam array satu dimensi :

cout<<nilai[4]; 🆇

Tetapi dalam array dua dimensi, pemanggilan nilai yang tersimpan menggunakan posisi baris dan posisi kolom. Contohnya kita akan menampilkan nilai yang ada dalam posisi Index-6 ( lihat tabel array dua dimensi diatas ), maka untuk cout-nya kita gunakan perintah :
cout<<index[1][2];

Ada dua kurung kotak yang kita perlukan agar kita bisa memanggil dan menampilkan nilainya 😁
Nah yang jadi pertinyiinnyi "Bagaimana cara kita membuat array dua dimensi dalam C++ ?" 😌
Don't confuse gaes, it's easy to make it real! 😎
Konsepnya :
tipe_data nama_array[jumlah baris][jumlah kolom];

Implementasinya dalam C++ yaitu :
int nilai[3][2] = {{67, 80},{75, 73},{78, 86}};

Terlihat dalam kurung kurawal {} diatas, di dalamnya terdapat beberapa lagi kurung kurawal. Nah, masing-masing kurung kurawal itulah menandakan jumlah baris yang ada dan nilai / value di dalamnya itu menjelaskan jumlah kolomnya.

⚠ Pastikan baca dan pahami dulu materi diatas sebelum lanjut ke bawah untuk contoh programmnya!

Contoh program :
#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   
    int MSC[3][4]={{3,4,8,0},{3,9,2,1},{6,3,0,2}};
   
    cout<<"MENAMPILKAN ARRAY DUA DIMENSI"<<endl;
    cout<<MSC[1][2];
getch();

}

Di kode tersebut kita membuat sebuah array dengan nama MSC ( nama lain dari web ini My Source Code ) dengan jumlah baris 3 dan memiliki 4 kolom. Bagaimana hasilnya saat di-run :

Kok bisa tampil angka 2 ? Mari kita analisis!

Seperti telah kami sampaikan diatas, bahwa pemanggilan array dua dimensi menggunakan konsep baris dan kolom, dimana baris dan kolom tersebut di implementasikan dalam bentuk kurung kotak [num_row][num_column].
Jadi perintah :
    cout<<MSC[1][2];

Itu artinya kita memanggil array yang berada dalam baris pertama posisi kolom kedua. Mari kita bedah array dua dimensi MSC diatas :
    int MSC[3][4]={{3,4,8,0},{3,9,2,1},{6,3,0,2}};

Sudah disampaikan juga bahwa setiap kurung kurawal {} itu mewakili nomor baris. Jadi kalau kita gambarkan secara lebih detail menjadi :
[ 0 ] {3,4,8,0}
[ 1 ] {3,9,2,1}
[ 2 ] {6,3,0,2}

Karena indeks dalam array dimulai dari 0, maka penomoran baris memang dimulai dari 0. Dan bila kita ilustrasikan dalam bentuk tabel maka menjadi seperti :

3

4

8

0

3

9

2

1

6

3

0

2


Terlihat jelas bukan posisinya sekarang ? Kenapa perintah cout<<MSC[1][2]; menampilkan angka 2 😌
Kalau kita baca tabel diatas, dimanakan baris ke-1 dari tabel ? Yah benar pada barisan angka :

3

9

2

1


Loh, kok bukan atasnya ? Kan indeks dalam array dimulai dari 0, jadi baris :

3

4

8

0

merupakan baris ke-0 dari tabel array tersebut.

Selanjutnya kita lihat ( amati ) kolom berapakah berapakah yang ditunjuk dengan perintah cout<<MSC[1][2]; ? Yah benar, kolom ke-2. Mari kita hitung dari kolom indeks yang pertama dengan ilustrasi tabel :

Index - 0

Index - 1

Index - 2

Index - 3

3

9

2

1


Dimanakah letak index kolom ke-2 ? Yah tepat di kolom yang isinya nomor 2 😁 
Yeaay, 😎
Ahmad Istakim

Alumni dari jurusan Manajemen Informatika di Universitas Sains Al-Qur'an (UNSIQ ) Wonosobo. Tertarik dalam bidang pendidikan, teknologi komputasi dan disiplin ilmu keislaman ( Tafsir, Hadits, Arudl, Nahwu-Sharaf, Fiqh maupun Aqidah ) - https://s.id/blog-islamQ. Pernah juga mengenyam pendidikan di beberapa pesantren yang ada di Kab. Wonosobo dan Kab. Purworejo

Posting Komentar

Lebih baru Lebih lama