Matriks adalah kumpulan bilangan yang disusun secara baris dan kolom, sehingga dapat juga disebut sebagai array dua dimensi. Deklarasi matrik di C++ dilakukan dengan mendeklarasikan sebuah array multi-dimensional seperti contoh di bawah ini:
#include <iostream>
using namespace std;
int main() {
// deklarasi sebuah array x dengan 3 baris dan 2 kolom
int x[3][2] = {{0,1}, {2,3}, {4,5}};
// tampilkan nilai setiap elemen
// perulangan baris
for (int i=0; i < 3; i++)
{
//perulangan kolom
for (int j=0; j<2; j++)
{
cout << "Elemen x[" << i << "][" << j << "]: ";
cout << x[i][j] << endl;
}
}
return 0;
}
Kode program di atas tersedia di tautan berikut ini:
repl.it/@aw96b6/0901-Deklarasi-Matriks-Multidimensional-Array#main.cpp
Pada contoh di atas kita mendeklarasikan sebuah array x dengan ordo 3*2, atau terdiri dari 3 baris dan 2 kolom. Array x tersebut kita deklarasikan melalui baris kode berikut ini:
int x[3][2]
Untuk memberikan nilai pada variabel x kita lakukan melalui baris kode sebagai berikut:
int x[3][2] = {{0,1}, {2,3}, {4,5}};
Baris kode di bawahnya adalah contoh untuk menampilkan nilai array tersebut ke monitor. Pertama-tama kita lakukan looping atau perulangan sejumlah baris dari array, dalam hal ini sebanyak 3 baris melalui kode berikut ini:
for (int i=0; i<3; i++) { ... }
Di dalam setiap perulangan baris kita lakukan perulangan kolom melalui kode berikut:
for (int j=0; j<2; j++) { ... }
Dalam perulangan kolom tersebut barulah kita tampilkan nilai elemen x sesuai baris i dan kolom j atau x[i][j] sebagai berikut:
cout << x[i][j]
Operasi penjumlahan dan pengurangan pada dua matriks dapat dilakukan dengan syarat ordo kedua matriks tersebut sama. Artinya, jumlah baris dan kolom dari kedua matriks tersebut adalah sama. Operasi penjumlahan dan pengurangan dilakukan terhadap setiap elemen di posisi baris dan kolom yang sama.
Contoh kode program untuk operasi penjumlahan matriks x dan matriks y yang ber-ordo 3*2:
#include <iostream>
using namespace std;
int main() {
// sebuah array x dengan 3 baris dan 2 kolom
int x[3][2] = {{0,1}, {2,3}, {4,5}};
// sebuah array y dengan 3 baris dan 2 kolom
int y[3][2] = {{1,1}, {3,1}, {2,4}};
// deklarasi array z sebagai hasil penjumlahan
int z[3][2];
// penjumlahan setiap elemen
// perulangan baris
for (int i=0; i < 3; i++)
{
//perulangan kolom
for (int j=0; j<2; j++)
{
z[i][j] = x[i][j] + y[i][j];
}
}
// tampilkan nilai array z
for (int i=0; i < 3; i++)
{
for (int j=0; j<2; j++)
{
cout << "Elemen z[" << i << "][" << j << "]: ";
cout << z[i][j] << endl;
}
}
return 0;
}
Kode program di atas tersedia di tautan berikut ini:
repl.it/@aw96b6/0902-Penjumlahan-Matriks#main.cpp
Pada kode program tersebut kita mendeklarasikan tiga buah matriks, yaitu matriks x, y dan z. Matriks x dan y adalah matriks yang akan dijumlahkan. Sedangkan matriks z adalah matriks kosong yang dipersiapkan untuk menampung hasil penjumlahan matriks x dan y.
Untuk melakukan penjumlahan setiap elemen matriks x dan y kita lakukan perulangan baris sebanyak i dan kolom sebanyak j. Di dalamnya kita lakukan penjumlahan elemen x[i][j] dan y[i][j] yang hasilnya kita simpan dalam elemen matriks z[i][j] sesuai kode program berikut ini:
z[i][j] = x[i][j] + y[i][j]
Sedangkan untuk melakukan operasi pengurangan kita cukup mengganti baris kode program tersebut dengan operasi yang sesuai, misalkan operasi pengurangan matriks y dikurangi matriks x kita tuliskan sebagai berikut:
z[i][j] = y[i][j] + x[i][j]
Operasi perkalian skalar terhadap matriks di C++ sangat mudah dilakukan, karena prinsip perkalian skalar pada matriks hanya mengalikan setiap elemen matriks tersebut dengan bilangan skalar. Kita tetap perlu menyediakan satu variabel matriks kosong untuk menampung hasil perkalian tersebut. Misalkan kita melakukan operasi perkalian bilangan skalar r terhadap matriks x dan kita tampung hasilnya dalam matriks z, maka operasi perkaliannya dalam setiap perulangan kolom di dalam perulangan baris adalah sebagai berikut:
z[i][j] = r * x[i][j]
Perkalian antar matriks membutuhkan perlakuan yang berbeda sebab aturan dalam perkalian matriks adalah jumlah kolom di matriks pertama harus sama dengan jumlah baris di matriks kedua.
Untuk mendapatkan nilai elemen baris pertama kolom pertama pada matriks hasil, setiap elemen baris pertama matriks A masing-masing dikalikan dengan elemen kolom pertama matriks B pada posisi yang sesuai dan hasilnya dijumlahkan. Sedangkan untuk mendapatkan nilai elemen baris pertama kolom kedua matriks hasil, maka setiap elemen baris pertama matriks A masing-masing dikalikan dengan elemen kolom kedua matriks B pada posisi yang sesuai dan hasilnya dijumlahkan. Lihat ilustrasi berikut ini untuk lebih memperjelas: