Algoritma ini digunakan untuk menyelesaikan masalah operasi perkalian matriks. Algoritma ini bekerja dengan cara menjumlahkan hasil dari perkalian elemen baris pada matrik pertama dengan elemen kolom pada matrik kedua. Perhatikan gambar matrik berikut:
Pada gambar tersebut terlihat bahwa matrik ordo 3X2 dikalikan dengan matrik ordo 2X3. Langkah proses perkalian antara dua matrik tersebut adalah elemen pada baris 1(merah) matriks pertama dikalikan dengan elemen pada kolom 1(merah) matiks kedua, yakni 2 x 2, 3 x 5,1 x 1. Kemudian jumlahkan semua hasil proses perkalian tersebut. Proses selanjutnya adalah mengalikan baris 1 matrik pertama dengan kolom 2 matriks kedua. Proses akan kembali berulang untuk baris 2 matriks pertama dengan kolom 1 matriks kedua dan seterusnya.
Berikut adalah pseodocode algoritma perkalian matriks:
Dari algoritma di atas terlihat bahwa algoritma ini membutuhkan input berupa dua data array. Dua array ini yang kemudian dilakukan operasi perkalian matriks.
Dalam algoritma ini terdapat tiga tingkat kalang for. Kalang for yang pertama(terluar) digunakan untuk proses perulangan baris pada matriks pertama. Kalang for yang kedua digunakan untuk proses perulangan kolom matriks kedua. Kemudian pada kolom yang terdalam digunakan untuk melakukan proses perkalian dari masing-masing elemen baris matriks pertama dengan elemen matriks baris kedua.
Berikut adalah implementasinya dalam sebuah kode program java:
public class MatrixMultiplication {
public static void main(String[] args) {
int[][]arr1={{2,0},{4,9}};
int[][]arr2={{1,3},{5,2}};
MatrixMultiplication.fungsiMatrix(arr1, arr2);
}
private static void fungsiMatrix(int[][]matrixA,int[][]matrixB){
int[][]matrixC=new int[2][2];
for (int i = 0; i < matrixC.length; i++) {
for(int j=0;j<matrixC.length;j++){
matrixC[i][j]=0;
for(int k=0;k<matrixC.length;k++){
matrixC[i][j]+=matrixA[i][k]*matrixB[k][j];
}
}
}
for (int i = 0; i < matrixC.length; i++) {
for(int j=0;j<matrixC.length;j++){
System.out.print(matrixC[i][j]+" ");
}
System.out.println("");
}
}
}
Keterangan Kode Program:
- Alur eksekusi program dimulai dengan dieksekusinya kode program dalam method main. Disini ada pendeklarasian dua variable array 2D yang kemudian dua array ini delewatkan datanya kedalam suatu pemanggilan method fungsiMatrix.
- Alur eksekusi berpindah ke dalam method fungsiMatrix. Disini terdapat pendeklaraasian array 2D yang berfungsi untuk menampung hasil perkalian dua buah array sebelumnya.
- Kemudian terdapat perulangan bersarang tiga tingkat. Disini akan didapatkan hasil perkalian matrixnya.
- Mekanisme selanjutnya adalah bagaimana kita menampilkan hasil perkalian tersebut. Disini terdapat perulangan bersarang dengan dua tingkat.
- Berikut adalah hasil eksekusi program tersebut
Output program Array Multiplication
Selesai, mungkin itu saja pembahasan mengenai matriks multiplication-nya. Jika ada yang belum jelas atau bahkan gak paham dengan bahasan saya. Silakan poskan komentar dan kita diskusikan bareng-bareng.
HAHAHAHAAAAAAAAAAAA…. makasih fi^^ sangat membantu 😀
sering2 ajah~ ahahahahahahahahahahahahahahahaaaaa
hehehe,
tapi maap yok yang postingan ini untuk sementara screnshot outputnya gak bisa muncul…
disini masih ada masalah koneksi internet. jadi upload gambarnya susah..
gpp.. yang penting udah ngerjakan,ahhahahahahahaaaaaaaaaaaaaa
algoritma ini juga sering digunakan di VB fi, 🙂
hehehe, tapi jangan asal copaz aja, dipelajari semuanya…
okey…
bweh….
algoritma perkalian matrik paleng mumet pak…
garai luwe sig mikirno..
hehehe
kak bagaimana buat matriks ordo 2×2 denagn array 3 buah…
mhon batuan ya ya..
tolng krimkan ke e mail aku tutorial ya
dngan gunakan bhasa c++
kak… ada algoritma dictrik gak?
wah ……
sip mas………..!!!!!!!!!!
tolong donk kasih scrip matriks perkalian ber ordo berbeda..plisssss:(
salam kenal ….
klo pake perogram pascal/ algoritma gmn?????