ARRAY MULTIDIMENSI
Pada materi sebelumnya sudah “sedikit” dibahas mengenai array satu dimensi. Sebuah
array dikatakan berdimensi satu, bila suatu nilai yang tersimpan dalam array tersebut
ditentukan oleh satu kondisi (baris atau kolom). Sedangkan pada array dua dimensi,
ditentukan oleh dua kondisi (baris dan kolom). Pada array tiga dimensi, ditentukan oleh tiga
kondisi dan seterusnya.
Cara Pendeklarasian Array Multi Dimensi (Berdimensi Banyak)
Cara pendeklarasian array multi dimensi mirip dengan cara array 1 dimensi. Hanya
terdapat penambahan tanda kurung siku (“[“ dan “]”) untuk menunjukan jumlah maksimum
data yang dapat ditampung oleh variabel array tersebut.
Pada C/C++, untuk mendeklarasikan variable array multi dimensi kita dapat
menuliskannya sebagai berikut :
Tipe_Data Nama_Array[Jumlah_Elemen1] ]...[Jumlah_Elemen n];
Contoh :
int Array[10][5]; //deklarasi array 2 dimensi
double Jumlah[7][1][3]; //deklarasi array 3 dimensi
float Total[5][6][1][2]; //deklarasi array 4 dimensi, dst…
Array dua dimensi dapat kita gambarkan sebagai berikut :
Array berdimensi banyak pada kenyataannya jarang dipergunakan dalam
aplikasi. Array berdimensi banyak yang sering digunakan adalah array
dengan 2 dimensi atau lebih dikenal dengan nama Matriks
Cara Pendeklarasian Array Tak Berukuran
Kita bisa menentukan ukuran atau jumlah elemen dalam array dengan suatu nilai
tertentu (seperti contoh deklarasi array pada sub bab 8.2) dan ukuran ini sifatnya konstan
atau tidak akan berubah. Namun ada kalanya kita tidak mengetahui jumlah elemen
maksimum (atau dengan kata lain jumlah elemen dalam array sifatnya tidak konstan atau
dinamis), untuk keperluan inilah adlam bahasa C/C++ kita bisa mendefinisikan suatu array
tanpa mencantumkan berapa ukuran atau jumlah elemen maksimal ya g bisa disimpan
dalam array tersebut.
Pada C/C++, untuk mendeklarasikan variable array tak berukuran kita dapat
menuliskannya sebagai berikut :
Tipe_Data Nama_Array[ ][ ]...[ ];
Contoh :
int Array[ ]; //deklarasi array 1 dimensi tak berukuran
char Angka[ ][ ]; //deklarasi array 2 dimensi tak berukuran
float Total[ ][ ]...[ ]; //deklarasi array dimensi tertentu dan tak berukuran
Cara Pengaksesan Array Array Multi Dimensi
Untuk dapat memasukan suatu nilai atau melihat isi dari suatu array kita harus
menentukan posisi dimana nilai tersebut disimpan. Untuk mengakses elemen array dapat
kita lakukan dengan perintah.
Pada C/C++, untuk mengakses elemen array dapat kita lakukan dengan perintah
sebagai berikut :
Nama_Array[indeks_Elemen1] ]...[indeks_Elemen n];
Contoh :
Ary[10]; //akses elemen array Ary pada indeks ke-10
Jumlah[7][1]; // akses elemen array Jumlah pada indeks baris ke-7 dan indeks
kolom ke-1
Total[5][6][1]; // akses elemen array Total pada indeks x ke-5 dan indeks y ke-6
dan indeks z ke-1, dst…
Setelah posisi ini kita ketahui, kemudian kita bisa melakukan operasi pada array atau nilai
dalam array tersebut. Operasi yang dapat dilakukan pada sebuah array sangat beragam
tergantung kebutuhan pengguna program tersebut.
Contoh Program ontoh Menggunakan Array Array Multi Dimensi
Agar bisa mendapatkan gambaran lebih jauh seperti apa sih program yang
menggunakan array multi dimensi? Anda bisa melihat contoh-contoh sebagai berikut :
Contoh 01 : Program untuk menjumlahkan 2 buah array 2 dimensi pada C/C++
#include<stdio.h>
#include<conio.h>
int main()
{
int Matriks_A[2][2], Matriks_B[2][2]; // array Matriks_A dan Matriks_B
int Matriks_Hasil[2][2];// array untuk hasil penjumlahan Matriks_A dan Matriks_B
int idxBaris;//indeks baris, sebagai penunjuk nomor baris dalam array
int idxKolom; //indeks kolom, sebagai penunjuk nomor kolom dalam array
//proses input nilai ke dalam array Matriks_A dan Matriks_B
printf("Masukan Nilai ke dalama Matriks_A\n");
for (idxBaris=1; idxBaris<=2;idxBaris++)
{
for(idxKolom=1;idxKolom<=2;idxKolom++)
{
printf("Masukan nilai ke dalam Matriks_A[%d,%d] : ",idxBaris,idxKolom);
scanf("%d",&Matriks_A[idxBaris][idxKolom]);//input nilai ke dalam
Matriks_A pada baris ke-idxBaris dan kolom ke-idxKolom
}
}
printf("\nMasukan Nilai ke dalama Matriks_B\n");
for (idxBaris=1; idxBaris<=2;idxBaris++)
{
for(idxKolom=1;idxKolom<=2;idxKolom++)
{
printf("Masukan nilai ke dalam Matriks_B[%d,%d] : ",idxBaris,idxKolom);
scanf("%d",&Matriks_B[idxBaris][idxKolom]);//input nilai ke dalam
Matriks_B pada baris ke-idxBaris dan kolom ke-idxKolom
}
}
//proses penjumlahan Matriks_A dan Matriks_B
for (idxBaris=1; idxBaris<=2;idxBaris++)
{
for(idxKolom=1;idxKolom<=2;idxKolom++)
{
Matriks_Hasil[idxBaris][idxKolom] = Matriks_A[idxBaris][idxKolom] +
Matriks_B[idxBaris][idxKolom];
}
}
//proses output nilai pada array Matriks_A, Matriks_B dan Matriks_Hasil
printf("\nisi Matriks_A\n");
for (idxBaris=1; idxBaris<=2;idxBaris++)
{
for(idxKolom=1;idxKolom<=2;idxKolom++)
{
printf("\t%d ",Matriks_A[idxBaris][idxKolom]);//output nilai dalam
Matriks_A baris ke-idxBaris dan kolom ke-idxKolom
}
printf("\n");
}
printf("\nisi Matriks_B\n");
for (idxBaris=1; idxBaris<=2;idxBaris++)
{
for(idxKolom=1;idxKolom<=2;idxKolom++)
{
printf("\t%d ",Matriks_B[idxBaris][idxKolom]);//output nilai dalam
Matriks_B baris ke-idxBaris dan kolom ke-idxKolom
}
printf("\n");
}
printf("\nisi Matriks_Hasil\n");
for (idxBaris=1; idxBaris<=2;idxBaris++)
{
for(idxKolom=1;idxKolom<=2;idxKolom++)
{
printf("\t%d ",Matriks_Hasil[idxBaris][idxKolom]);//output nilai dalam
Matriks_B baris ke-idxBaris dan kolom ke-idxKolom
}
printf("\n");
}
getch();
return 0;
}
Contoh 02 : Program untuk menghasilkan matriks identitas pada C/C++
#include<stdio.h>
#include<conio.h>
int main()
{
int MaxBaris,MaxKolom;
int idxBaris;//indeks baris, sebagai penunjuk nomor baris dalam array
int idxKolom; //indeks kolom, sebagai penunjuk nomor kolom dalam array
//proses input jumlah maksimum elemen pada Matriks_Identitas
printf("Masukan Ukuran Baris & Kolom Matriks_Identitas : ");scanf("%d",&MaxBaris);
MaxKolom=MaxBaris;
int Matriks_Identitas[MaxBaris][MaxKolom]; //deklarasi array Matriks_identitas
for (idxBaris=0; idxBaris<=MaxBaris;idxBaris++)
{
for(idxKolom=0;idxKolom<=MaxKolom;idxKolom++)
{
(idxBaris == idxKolom) ? Matriks_Identitas[idxBaris][idxKolom] = 1:
Matriks_Identitas[idxBaris][idxKolom] = 0;
}
}
printf("\nMatriks_Identitasnya adalah \n");
for (idxBaris=1; idxBaris<=MaxBaris;idxBaris++)
{
for(idxKolom=1;idxKolom<=MaxKolom;idxKolom++)
{
printf("%d ",Matriks_Identitas[idxBaris][idxKolom]);//output nilai dalam
Matriks_Identitas baris ke-idxBaris dan kolom ke-idxKolom
}
printf("\n");
}
getch();
return 0;
}
Tidak ada komentar:
Posting Komentar