================================
Deklarasi Variabel Array Multidimensi dengan Ukuran
Dalam C++, array multidimensi dapat dideklarasikan menggunakan sintaks berikut:
string nama[3][2]={
{"joko", "dadang"},
{"fajar"},
{}
};
Dalam contoh di atas, kita mendeklarasikan array multidimensi nama
dengan ukuran 3 baris dan 2 kolom. Setiap cell dalam array ini dapat diakses menggunakan sintaks berikut:
nama[1][1]
Kita juga dapat mendeklarasi variabel array multidimensi tanpa menyertakan ukuran dari array tersebut, seperti berikut:
string nama[3][2]({});
Dalam kasus ini, ukuran otomatis akan terhitung berdasarkan jumlah nilai pada proses inisialisasi.
Mengakses Array Dua Dimensi
Mengakses sebuah cell dalam array dua dimensi dilakukan dengan menggunakan sintaks berikut:
nama[2][1]
Kita perlu menggunakan dua subscript sebagai alamat cell tersebut. Untuk mengakses setiap cell di dalam array dua dimensi dengan dinamis, kita dapat menggunakan pernyataan pengulangan nested (nested loop).
Contoh Program
Berikut adalah contoh program C++ yang menunjukkan bagaimana cara mendeklarasi dan mengakses array multidimensi:
#include <iostream>
using namespace std;
const int MAX_ROW = 3;
const int MAX_COL = 3;
int main ()
{
string nama[MAX_ROW][MAX_COL]={
{"joko", "dadang", “aziz”},
{"fajar", "nick"},
{"laksono", "eren"}
};
for(int i=0;i<MAX_ROW;++i){
for(int j=0;j<MAX_COL;++j){
cout<<"["<<(i+1)<<"]["<<(j+1)<<"]. "<<nama[i][j]<<endl;
}
}
return 0;
}
Dalam contoh di atas, kita mendeklarasi array multidimensi nama
dengan ukuran 3 baris dan 3 kolom. Kemudian, kita menggunakan pernyataan pengulangan nested untuk mengakses setiap cell dalam array tersebut.
Array Tiga Dimensi ke Atas
Jika pembaca sudah mengerti konsep dari array, maka Anda dapat dengan mudah memodifikasi array, menambahkan beberapa subscript untuk menjadikanya array multidimensi. Secara garis besar, pembuatan, penggunaan, dan pengaksesan array multi dimensi memiliki konsep yang sama seperti apa yang telah penulis jelaskan di atas pada array dua dimensi.
Pembekakan Memori
Pada artikel belajarcpp.com, penulis sebelumnya telah menjelaskan bahwa array dapat memakan banyak memori, terutama array multidimensi. Karena apa yang kita pesan adalah berkali-kali lipat lebih besar dari variabel biasa.
Misalnya, Anda mendirikan variabel array satu dimensi int nomer[5]
, besar memori untuk membuat variabel integer adalah 4 byte (di beberapa komputer bisa berbeda-beda), dikali dengan jumlah elemen yaitu 5 elemen, berarti apa yang telah Anda pesan adalah variabel dengan jumlah memori 20 byte.
Dan ada yang lebih memakan memori adalah saat Anda memesan variabel array multidimensi, misalnya Anda memesan variabel empat dimensi int nomer[3][4][5][2]
, dengan hitungan:
int * 10 * 40 * 50 * 20 = 1600000 byte
Jumlah itu merupakan jumlah yang tidak kecil, Anda bisa membebani program Anda dengan pembekakan memori, jadi saran penulis adalah ketika Anda mendirikan variabel array berhati-hati dalam memesan jumlah elemen pada array tersebut, pesanlah sesuai yang Anda butuhkan, jangan memesan memori terlalu banyak yang nantinya bisa menjadi memori yang tidak digunakan.