Contoh Program Perkalian Matrik dengan C++

Contoh program Perkalian matrik dengan C++

Selamat siang sobat...!

Perkalian matrik ada dua yaitu perkalian konstanta dengan matrik dan perkalian matrik dengan matrik. Saya tidak akan membahas perkalian kontansta dengan matrik karena itu cukup mudah.

Sudah lama saya tidak menghitung perkalian matrik ini. Mungkin sekitar 1 tahun yang lalu waktu dapat mata kuliah yang memelajari matrik. Sebelum menulis program matrik pada C++ terlebih dahulu kamu harus mengetahui logika perkalian matrik. logikanya yang agak sulit mungkin akan sedikit memutar kepala. hehe.
Tapi tenang saya disini ada untuk membatu kamu yang sedang pusing oleh tugas-tugas yang seakan tak pernah berhenti mengalir. Namun seiring berjalannya waktu tugas-tugas tersebut akan terlupakan.

Tanpa banyak tulis lagi saya akan menjelaskan bagaimana proses perkalain matrik ini. Yeayy.

diketahui terdapat dua matrik dengan ordo 2 x2 seperti ini :

matrik A = [4][3]    serta Matrik B = [5][4]
                 [2][5]                               [4][1]

Perkalian matrik adalah menjumlahkan hasil perkalian baris dengan kolom. Nah begitu saja sudah mulai bingung..! yang perlu diperhatikan adalah banyak kolam pada matrik A harus sama jumlah baris pada matrik b. Jika tidak sama jangan kalikan matriknya karena akan menyebabkan otak kamu error alias tidak akan menemukan jawabannya meskipun kamu sudah mencarinya di ujung langit. heheeee. Jadi ingat lagu drgon ball jawabnya ada di ujung langit. Kita kesana dengan seorang anak.bla.. bla.. blaa... hadeeh

caranya begini {(4x5) + (3 x 4 )}   kemudian  {(4 x 4) + (3 x 1)}
                          {(2x5) + (5 x 4)}                      {(2 x 4) + (5 x 1)}

( 4 x 5 ) didapat dari matrik A pada baris ke 1 dan kolom ke 1 yaitu [4] dikali dengan matrik B pada baris 1 dan kolom ke 1 juga yaitu [5].

Selanjutnya ditambah matrik A baris ke 1 kolom ke 2 yaitu [3] dikalikan dengan Matrik B pada baris ke 2 kolom ke 1 yaitu 4.

kemudian lanjutkan sendiri. caranya mudah ko baris pertama pada matrik A dikalikan dengan Kolom kedua matrik B .

Hasil = [(20+12)]       [(16+3)]
             [(10+20)]       [(8 + 5)]

          = [32][19]
            [30][13]

Setelah mengetahui logika perkaliannya mari sekarang kita tulis programnya pada C++. tidak perlu repot menulis karena saya sudah sediakan kode dibawah ini.



#include <iostream>
#include <iomanip>
#include <conio.h>
/** Nama : Muhammad Faisal Amin
    blog : http://nolproject.blospot.com
    software yang digunakan : DEV C++
**/
using namespace std;
main(){
int a1[2],b1[2],temp=-1; //Variabel yang digunakan untuk mengambil jumlah kolom dan baris
char pil; // variabel untuk membuat pilihan mengulang atau berkhir
ulang:  // deklerasi untuk pilihan mengulang
/////////////  Proses Memasukkan jumlah baris dan kolom matrik  /////////////////
cout<<"--------------------------------------------------\n";
for (char u='A'; u<='B'; u++){
    temp+=1;
 
cout<<"Masukan baris matrik "<<u<<" : "; cin>>a1[temp];
cout<<"Masukan kolom Matrik "<<u<<" : "; cin>>b1[temp];
cout<<endl;
}
if(b1[0]==a1[1]){
cout<<"--------------------------------------------------\n";
int AA [a1[0]][b1[0]];   //Variabel matrik A
int BB [a1[1]][b1[1]];   // Variable Matrik B
int hasil[a1[0]][b1[1]]; // Variabel untuk Hasil Perkalian Matrik
////////------- Memasukkan Array A --------////////////
cout<<"\nMasukkan data array A\n";
for(int i=0; i<a1[0]; i++){
 for (int c=0;c<b1[0];c++){
   cout<<"A ["<<i+1<<"]["<<c+1<<"] = ";
  cin>>AA[i][c]; }
 cout<<endl;
}
////////------- Memasukkan Array B --------////////////
cout<<"--------------------------------------------------\n";
cout<<"\nMasukkan data array B\n";
for(int i=0; i<a1[1]; i++){
 for (int c=0;c<b1[1];c++){
        cout<<"B ["<<i+1<<"]["<<c+1<<"] = ";
  cin>>BB[i][c];
 }
 cout<<endl;
}
///////////////-------- Proses Perhitungan --------////////////////////////////
for(int i=0; i<a1[0]; i++){
 for (int c=0;c<b1[1];c++){
  hasil [i][c] = (AA[i][0] * BB[0][c] )+( AA[i][1] * BB[1][c]); }
cout<<endl;
}
cout<<"-----------------------------------------------\n";
cout<<"Hasil Perkalian Matrik A dan B adalah : \n";
cout<<"--------------------------------------------------\n";
///////// -------- Memampilkan hasil Perkalian Matrik ---------- ///////////
for(int i=0; i<a1[0]; i++){
    cout<<endl;
 for (int c=0;c<b1[1];c++){
  cout<<"["<<hasil[i][c]<<"] "; }
}
cout<<"\n\nATAU\n";
for(int i=0; i<a1[0]; i++){
    cout<<endl;
 for (int c=0;c<b1[1];c++){
  cout<<"["<<i+1<<"]["<<c+1<<"] = "<<hasil[i][c]<<endl;
 }
}
}
else {
 /////////-------- Menanyakan Pilihan ---------//////////////////
 cout<<"Kolom Matrik A harus sama dengan Baris Matrik B";
 cout<<"\nUlangi..? (Y/N) : "; cin>>pil;
 if (pil=='Y'||pil=='y'){
  goto ulang;
 }
  }
getch();
}

 Penjelasannya juga terdapat pada kode programnya. Ketika dijalankan akan tampak seperti ini :
Contoh program Perkalian matrik dengan C++

Oke sampai disini dulu tulisan saya kali ini jika ada yang ditanyakan silakan tulis di kolom komentar.
Jangan lupa klik tomlol like atau g+. satu klik saja sudah sangat berarti bagi saya. terimakasih..

Previous
Next Post »