Mengalikan Matriks 3 x 3

Untuk perkalian matriks kita harus mengetahui syarat perkalian dua matriks dimana kolom matriks bagian kiri harus sama dengan baris matriks bagian kanan. Jika tidak memenuhi, program sebaiknya memberi pesan. Hasilnya pun kita harus tahu, yakni berukuran baris matriks bagian kiri dan kolom matriks bagian kanan. Misal kita akan mengalikan matriks berukuran 2×3 dengan 3×2, maka hasil matriksnya adalah 2×2. Karena kasus yang akan kita coba adalah mengalikan matriks 3×3 dengan 3×3, maka dengan mudah kita mendapatkan hasil matriks 3×3 juga. Dengan kode pada tulisan terdahulu, tambahkan di bawahnya kode berikut (jangan lupa deklarasikan int a,b, dan c terlebih dahulu).

//mengalikan matriks A x B

for(a=0;a<3;a++)

{

    for(b=0;b<3;b++)

    {

        X[a][b]=0;

        for(c=0;c<3;c++)

        {

            X[a][b]=X[a][b]+A[a][c]*B[c][b];

        }

    }

}

cout<<“Hasil Kali = \n”;

for(a=0;a<3;a++)

{

    for(b=0;b<3;b++)

    {

        cout<<X[a][b]<<” “;

    }

    cout<<” \n”;

}

Kebetulan matriks 3×3 unik, berikutnya kita akan coba mengalikan dua matriks yang ukurannya bervariasi.

Memasukan Matriks dengan Turbo/Borland C++

Sebelum masuk ke praktek mengalikan dua buah matriks, ada baiknya berlatih terlebih dahulu memasukan dua buah matriks yang akan dikalikan, misalnya matriks A dan B. Buka Turbo/Borland C++ dan ketik instruksi sebagai berikut:

  1. #include<stdio.h>
  2. #include<iostream.h>
  3. void main()
  4. {
  5. int i,j,A[3][3],B[3][3];
  6. //menginput matriks A
  7. cout<<“Masukkan Matriks A \n”;
  8. for(i=0;i<3;i++)
  9. {
    1. for(j=0;j<3;j++)
    2. {
      1. cout<<“Masukkan Elemen Matriks ke “<<(i+1)<<“,”<<(j+1)<<” :”;
      2. cin>>A[i][j];
    3. }
  10. }
  11. //menginput matriks B
  12. cout<<“Masukkan Matriks B \n”;
  13. for(i=0;i<3;i++)
  14. {
    1. for(j=0;j<3;j++)
    2. {
      1. cout<<“Masukkan Elemen Matriks ke “<<(i+1)<<“,”<<(j+1)<<” :”;
      2. cin>>B[i][j];
    3. }
  15. }
  16. //menampilkan matriks A
  17. cout<<“Matriks A = \n”;
  18. for(i=0;i<3;i++)
  19. {
    1. for(j=0;j<3;j++)
    2. {
      1. cout<<A[i][j]<<” “;
    3. }
    4. cout<<“\n”;
  20. }
  21. //menampilkan matriks B
  22. cout<<“Matriks B = \n”;
  23. for(i=0;i<3;i++)
  24. {
    1. for(j=0;j<3;j++)
    2. {
      1. cout<<A[i][j]<<” “;
    3. }
    4. cout<<“\n”;
  25. }
  26. }

Jalankan dengan menekan Ctrl-F9 atau mengklik “Debug” – “Run”.

Berikutnya akan kita coba mengalikan dua matriks tersebut.

Penyelesaian Persamaan dengan Matriks

Operasi yang bisa diterapkan terhadap suatu matriks dapat dimanfaatkan untuk menyelesaikan persamaan linear. Misalnya ada suatu kasus tertentu. Dua buah buku ditambah empat buah tas berharga Rp 1000 dan sebuah buku ditambah delapan tas berharga Rp. 1700. Berapakah harga satu buku dan satu tas?

2x + 4y = 1000

x + 8y = 1700

Dua operasi matriks yang kita terapkan adalah perkalian matriks dan invers matriks. Persamaan di atas jika dituliskan dalam notasi matriks adalah sebagai berikut.

Berdasarkan teori, jika ruas kiri dikalikan invers matriks bobot harga begitu juga ruas kanan, maka diperoleh harga barang tersebut setelah dikalikan dengan matriks total. Asalahkan determinan matriks bobot harga tidak sama dengan nol. Jika sama dengan nol, maka harga barang tidak bisa ditentukan.

Creating a Matrix Using Turbo/Borland C++

Now we try to make a Matrix 3 x3 using Turbo/borlan C++. In C/C++, we use array algorithm for creating a matrix. Open Turbo/Borland C++, create new “cpp” file, type code like this:

Remember, if we use function ‘cout’ we must type at the header #include<iostream.h>. Look at carefully line int A[3][3]={1,2,3,4,5,6,7,8,9};. It means that we create a matrix 3×3 similar to matrix in matlab:

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

Loops ‘for’ at that code are only for showing the content of array/matrix A[3][3]. Try code for create matrix interactively using keyboard input. Use function ‘cin’ and loops ‘for’ for positioning the element of matrix.