Array Multidimensi / Array Dua Dimensi Menggunakan C / C++



Array Multidimensi


Array multidimensi yaitu array yang terdiri dari beberapa subskrip. Sebagai contoh, array 2 dimensi adalah array yang mempunyai 2 subskrip, 3 dimensi mempunyai 3 subskrip, dan seterusnya. Array seperti ini sering digunakan untuk pemrosesan matrik. Pada bagian ini kita akan mempelajari bagaimana C++ dapat memproses sebuah array yang terdiri dari dua subskrip atau lebih.


Array Dua Dimensi

Seperti yang telah dikemukakan sebelumnya bahwa array dua dimensi adalah array yang mempunyai dua buah subskrip, yaitu baris dan kolom. Bentuk umum pendekalrasian sebuah array dua dimensi di dalam C++ adalah sebagai berikut

tipe_data nama_array[jumlah_elemen_baris][jumlah_elemen_kolom];

Sebagai contoh, apabila kita akan melakukan penjumlahan 2 buah matrik ordo 3x2, maka contoh kita dapat menuliskan kode program seperti berikut :


#include <iostream>
using namespace std;
int main() {
  // Mendefinisikan tipe data
  // yang berupa array dua dimensi
  typedef int MATRIK32 [3][2];
  // Mendeklarasikan array A
  // sebagai array dua dimensi
  MATRIK32 A, B, C;
  int j, k; // Mendeklarasikan variabel
            // untuk indeks pengulangan
  // Mengisikan nilai
  // ke dalam elemen-elemen array A
  for (j=0; j<3; j++) {
    for (k=0; k<2; k++) {
      cout<<"A["<<j<<"]["<<k<<"] = ";
      cin>>A[j][k];
    }
  }
  cout<<endl;
  // Mengisikan nilai
  // ke dalam elemen-elemen array B
  for (j=0; j<3; j++) {
    for (k=0; k<2; k++) {
      cout<<"B["<<j<<"]["<<k<<"] = ";
      cin>>B[j][k];
    }
  }
  cout<<endl;
  // Melakukan penjumlahan A dan B
  // dan menyimpan hasilnya ke dalam array C
  for (j=0; j<3; j++) {
    for (k=0; k<2; k++) {
      C[j][k] = A[j][k] + B[j][k];
    }
  }
  // Menampilkan hasil penjumlahan
  for (j=0; j<3; j++) {
    for (k=0; k<2; k++) {
      cout<<"C["<<j<<"]["<<k<<"] = "
          <<C[j][k]<<endl;
    }
  }
  return 0;
}
Contoh hasil yang akan diberikan dari program di atas adalah :

A [0] [0] =  1
A [0] [1] =  2
A [1] [0] =  3
A [1] [1] =  4
A [2] [0] =  5
A [2] [1] =  6
B [0] [0] =  1
B [0] [1] =  2
B [1] [0] =  3
B [1] [1] =  4
B [2] [0] =  5
B [2] [1] =  6
B [0] [0] =  2
B [0] [1] =  4
B [1] [0] =  6
B [1] [1] =  8
B [2] [0] =  10
B [2] [1] =  12

Jika digambarkan dalam bentuk matrik, contoh hasil dari program di atas dapat dituliskan seperti di bawah ini :



Inisialisasi pada Array Multidemensi

Sama seperti array satu dimensi, pada array multidimensi juga dapat dilakukan inisialisasi nilai ke dalam elemen-elemennya. Cara melakukannya adalah seperti contoh yang terlihat di bawah ini :

int A[3][3] = [ 1, 2, 3, 4, 5, 6, 7, 8 ,9 ];

Namun untuk memudahkan proses inisialisasi, C++ mengizinkan kita untuk melakukan pengelompokkan untuk setiap baris, yaitu dengan kode seperti berikut :

int A[3][3] = { {1,2,3}, {4,5,6}, {7,8,9} };

Untuk membuktikan hal tersebut, perhatikan contoh program di bawah ini :

#include <iostream>
using namespace std;
int main() {
  // Melakukan inisialisasi nilai
  // ke dalam elemen-elemen array dua dimensi
  int A[3][3] = { {1,2,3}, {4,5,6}, {7,8,9} };
  // Menampilkan nilai yang tersimpan
  // dalam elemen array
  for (int j=0; j<3; j++) {
    for (int k=0; k<3; k++) {
      cout<<"A["<<j<<"]["<<k<<"] = "
          <<A[j][k]<<endl;
    }
    cout<<endl;
  }
  return 0;
}
Hasil yang akan diberikan dari program di atas adalah sebagai berikut;

A [0] [0] =  1
A [0] [1] =  2
A [0] [2] =  3

B [1] [0] =  4
B [1] [1] =  5
B [1] [2] =  6

C [2] [0] =  7
C [2] [1] =  8
C [2] [2] =  9

Array di atas sebenarnya adalah sebuah matrik dengna ordo 3x3, yang dapat dituliskan seperti di bawah ini :




0 Response to "Array Multidimensi / Array Dua Dimensi Menggunakan C / C++"

Post a Comment