icomit

Just another WordPress.com site

Matrix Multiplication Algorithm(perkalian matriks)

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:

  1. 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.
  2. Alur eksekusi berpindah ke dalam method fungsiMatrix. Disini terdapat pendeklaraasian array 2D yang berfungsi untuk menampung hasil perkalian dua buah array sebelumnya.
  3. Kemudian terdapat perulangan bersarang tiga tingkat. Disini akan didapatkan hasil perkalian matrixnya.
  4. Mekanisme selanjutnya adalah bagaimana kita menampilkan hasil perkalian tersebut. Disini terdapat perulangan bersarang dengan dua tingkat.
  5. Berikut adalah hasil eksekusi program tersebut
Output program Array Multiplication

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.

11 responses to “Matrix Multiplication Algorithm(perkalian matriks)

  1. Tika Iyok December 18, 2010 at 8:31 am

    HAHAHAHAAAAAAAAAAAA…. makasih fi^^ sangat membantu 😀
    sering2 ajah~ ahahahahahahahahahahahahahahahaaaaa

  2. icomit December 18, 2010 at 8:34 am

    hehehe,
    tapi maap yok yang postingan ini untuk sementara screnshot outputnya gak bisa muncul…
    disini masih ada masalah koneksi internet. jadi upload gambarnya susah..

  3. Tika Iyok December 18, 2010 at 8:39 am

    gpp.. yang penting udah ngerjakan,ahhahahahahahaaaaaaaaaaaaaa

  4. DnA December 18, 2010 at 8:42 am

    algoritma ini juga sering digunakan di VB fi, 🙂

  5. icomit December 18, 2010 at 8:43 am

    hehehe, tapi jangan asal copaz aja, dipelajari semuanya…
    okey…

  6. icomit December 18, 2010 at 8:46 am

    bweh….
    algoritma perkalian matrik paleng mumet pak…
    garai luwe sig mikirno..
    hehehe

  7. yayikdwi May 6, 2011 at 3:27 am

    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++

  8. debo June 6, 2011 at 9:13 am

    kak… ada algoritma dictrik gak?

  9. bloger Amatir mencoba sukses October 25, 2011 at 5:59 am

    wah ……
    sip mas………..!!!!!!!!!!

  10. farid January 10, 2012 at 5:58 am

    tolong donk kasih scrip matriks perkalian ber ordo berbeda..plisssss:(

  11. oche October 17, 2012 at 11:29 am

    salam kenal ….
    klo pake perogram pascal/ algoritma gmn?????

Leave a reply to yayikdwi Cancel reply