Array Multidimensi merupakan array yang serupa dengan array satu dimensi maupun array dua dimensi, namun array multidimensi dapat memiliki memori yang lebih besar. Biasanya array multidimensi digunakan untuk menyebut array dengan dimensi lebih dari dua atau array yang mempunyai lebih dari dua subskrip, seperti array tiga dimensi, empat dimensi, lima dimensi dan seterusnya.
Berikut gambar yang dapat mengilustrasikan sebuah array multidimensi, dimana pada gambar dibawah ini kami menggunakan array tiga dimensi sebagai contoh dari array multidimensi.
Pada ilustrasi array tiga dimensi di atas, array tersebut memiliki besar ukuran subskrip pertama sebanyak 2, besar ukuran subskrip kedua sebanyak 3 dan besar ukuran subskrip ketiga sebanyak 4.
Cara Pendeklarasian Array Multidimensi
Secara umum array multidimensi merujuk pada array yang mempunyai ukuran lebih dari dua subskrip, maka bentuk pendeklarasian array multidimensi sama saja dengan pendeklarasi array satu dimensi maupun dua dimensi.
Format deklarasi :
tipe_data nama_array [ukuran 1][ukuran 2] … [ukuran N];
Contoh misal kita mendeklarasikan array multidimensi dengan jumlah 3 subskrip (array tiga dimensi), array tiga dimensi tersebut kita beri nama Coba, yang memiliki ukuran 2x3x4 dan memiliki tipe data int, maka bentuk deklarasi array nya adalah sebagai berikut:
int Coba [2][3][4];
Apabila array Coba akan kita beri nilai saat pendeklarasian (inisialisasi), maka contoh penulisannya dapat ditulis sebagai berikut :
int Coba[2][3][4] = { {{1,2,3,4},{5,6,7,8},{9,10,11,12}} , {{13,14,15,16},{17,18,19,20},{21,22,23,24}}};
supaya rapih dalam penulisan, inisialisasi bisa ditulis seperti berikut :
int Coba[2][3][4] = {
{
{ 1, 2, 3, 4},
{ 5, 6, 7, 8},
{ 9,10,11,12}
},
{
{13,14,15,16},
{17,18,19,20},
{21,22,23,24}}
};
Dari pendeklarasian sekaligus inisialisasi array Coba di atas, dapat diartikan bahwa kita telah memesan tempat pada memori komputer sebanyak 24 tempat, dengan indeks dari Coba[0][0][0] sampai Coba[1][2][3], dimana nilai-nilai akan dimasukkan ke elemen array secara berturut-turut, mulai dari Coba[0][0][0] akan diisi dengan nilai 1 sampai Coba[1][2][3] yang diisi dengan nilai 24.
Untuk lebih jelasnya berikut ilustrasi dari array Coba :
Cara Akses Array Multidimensi
Cara yang digunakan untuk mengakses elemen array multidimensi (misal array 3 dimensi) adalah dengan menuliskan index ukuran pertama / subskrip pertama, index ukuran kedua dan index ukuran ketiga. Misalnya pada array Coba di atas kita ingin mengakses nilai 8 yang terdapat pada index 0, index 1 dan index 3, kemudian menampung nilai tersebut kedalam suatu variabel yang bertipe int (misal int tampung), maka kita perlu menuliskan kode programnya seperti berikut ini
tampung = Coba[0][1][3];
Pada contoh program dengan array multidimensi di bawah ini, menggunakan array tiga dimensi, karena pada praktiknya penggunaan array multidimensi dengan dimensi lebih dari tiga sangat jarang dilakukan.
Berikut contoh program array tiga dimensi dalam C++ :
#include <iostream>
using namespace std;
int main()
{
//Deklarasi array tiga dimensi dengan nama "Bilangan" dengan ukuran 2x3x4
int Bilangan [2][3][4];
// Mendeklarasi variabel untuk indeks perulangan
int i,j,k;
cout<<"\t===============================";
cout<<"\n\t== Contoh Array Tiga Dimensi ==\n";
cout<<"\t===============================\n\n";
// Mengisi nilai kedalam elemen-elemen array angka
cout<<"== Masukkan elemen-elemen array Bilangan ==\n";
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
for(k=0;k<4;k++)
{
cout<<"Bilangan indeks ke ["<<i<<"]["<<j<<"]["<<k<<"]"<<" = ";
cin>>Bilangan[i][j][k];
}
}
}
cout<<"\n\n===============================\n";
cout<<"== Tampil nilai elemen Array ==\n";
cout<<"===============================\n";
//menampilkan nilai dari setiap elemen array angka
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
for(k=0;k<4;k++)
{
cout<<"Bilangan indeks ke ["<<i<<"]["<<j<<"]["<<k<<"]"<<" = "<<Bilangan[i][j][k]<<endl;
}
}
}
system ("pause");
return 0;
}
Hasilnya :
