Select Language



Followers

IT Programmer. Powered by Blogger.

26 November 2009

Contoh Program Perkalian Matriks C++

 "Om Swastiastu"

Setelah sebelumnya saya memposting mengenai penjumlahan matriks C++, maka kali ini saya akan memposting mengenai perkalian matriks C++.
Banyak program perkalian C++ yang diposting hanya bisa mengalikan dua buah matriks matriks 2x2 atau matriks 3x3 saja. Lain daripada yang lain, program matriks yang saya buat ini bisa menghitung perkalian matriks berapapun asal tidak lebih dari ordo 5x5.
Sebenarnya mudah saja membuatnya sampai perkalian matriks berordo 100x100, tapi akan sangat sulit menampilkan outputnya.

Baiklah, agar mempersingkat waktu, langsung saja saya berikan syntax perkalian matriks C++ ini. Selamat menikmati.


 #include <iostream.h>
 #include <conio.h>
 #include <stdio.h>

 #define ValueMax 25

 typedef float matriks[ValueMax][ValueMax];

 void main()
 {

 int colA,colB,rowA,rowB,i,j;
 matriks A,B,C;
 int answer;

 do
 {
  clrscr();
  cout<<"\aAnda Memilih Menu Perkalian Matriks\n\n\n";
  cout<<"MATRIKS A : "<<endl<<endl;
  cout<<"Masukkan Jumlah Baris Matriks A : ";
  cin>>rowA;
  cout<<"Masukkan Jumlah Kolom Matriks A : ";
  cin>>colA;
  cout<<endl<<endl;
  cout<<"MATRIKS B : "<<endl<<endl;
  cout<<"Masukkan Jumlah Baris Matriks B : ";
  cin>>rowB;
  cout<<"Masukkan Jumlah Kolom Matriks B : ";
  cin>>colB;
 }
 while (colA!=rowB);

 clrscr();
 cout<<"Masukkan Nilai Matriks A : "<<endl;
 for(i=1;i<=rowA;i++)
 {
  for(j=1;j<=colA;j++)
  {
   cout<<"A["<<i<<","<<j<<"] = ";
   cin>>A[i][j];
  }
 }

 cout<<endl<<endl;
 cout<<"Masukkan Nilai Matriks B : "<<endl;
 for(i=1;i<=rowB;i++)
 {
  for(j=1;j<=colB;j++)
  {
   cout<<"B["<<i<<","<<j<<"] = ";
   cin>>B[i][j];
  }
 }

 clrscr();
 cout<<endl;
 //Proses Perkalian Matriks
 if(colA == 1)
 {
 for(i=1;i<=rowA;i++)
 {
  for(j=1;j<=colB;j++)
  {
    C[i][j] = (A[i][1] * B[1][j]);
  }
 }
 }

 if(colA == 2)
 {
 for(i=1;i<=rowA;i++)
 {
  for(j=1;j<=colB;j++)
  {
    C[i][j] = (A[i][1] * B[1][j] + A[i][2] * B[2][j]);
  }
 }
 }

 if(colA == 3)
 {
 for(i=1;i<=rowA;i++)
 {
  for(j=1;j<=colB;j++)
  {
    C[i][j] = (A[i][1] * B[1][j] + A[i][2] * B[2][j] + A[i][3] * B[3][j]);
  }
 }
 }

 if(colA == 4)
 {
 for(i=1;i<=rowA;i++)
 {
  for(j=1;j<=colB;j++)
  {
    C[i][j] = (A[i][1]*B[1][j] + A[i][2]*B[2][j] + A[i][3]*B[3][j] + A[i][4]*B[4][j]);
  }
 }
 }

 if(colA == 5)
 {
 for(i=1;i<=rowA;i++)
 {
  for(j=1;j<=colB;j++)
  {
    C[i][j] = (A[i][1]*B[1][j] + A[i][2]*B[2][j] + A[i][3]*B[3][j] + A[i][4]*B[4][j] + A[i][5]*B[5][j]);
  }
 }
 }

 clrscr();
 //Output Matriks A
 gotoxy(1,5);
 cout<<"A = ";
 for(i=1;i<=rowA;i++)
 {
  for(j=1;j<=colA;j++)
  {
   gotoxy(2+4*j,2+2*i);
   cout<<A[i][j];
  }
 }

 //Output Matriks B
 gotoxy(1,17);
 cout<<"B = ";
 for(i=1;i<=rowB;i++)
 {
  for(j=1;j<=colB;j++)
  {
   gotoxy(2+4*j,14+2*i);
   cout<<B[i][j];
  }
 }

 //Output Matriks C
 gotoxy(1,30);
 cout<<"C = ";
 for(i=1;i<=rowA;i++)
 {
  for(j=1;j<=colA;j++)
  {
   gotoxy(3+4*j,27+2*i);
   cout<<A[i][j];
  }
 }

 gotoxy(25,30);
 cout<<" X ";
 for(i=1;i<=rowB;i++)
 {
  for(j=1;j<=colB;j++)
  {
   gotoxy(26+4*j,27+2*i);
   cout<<B[i][j];
  }
 }

 gotoxy(43,30);
 cout<<" = ";
 for(i=1;i<=rowA;i++)
 {
  for(j=1;j<=colB;j++)
  {
   gotoxy(45+4*j,27+2*i);
   cout<<C[i][j];
  }
 }

 getch();
}



Oke, itu dia syntax nya. Kalau ada yang gag ngerti dengan syntax itu, bisa tanya sama saya. Silahkan tulis di kotak dibawah jika ingin bertanya.
Semoga berguna untuk kalian semua. Tetap kunjungi IT Programmer untuk berita, info, tips, dan syntax yang menarik lainnya.

"Om Santhi, Santhi, Santhi, Om"



Comments:

Ada 15 comments pada “Contoh Program Perkalian Matriks C++”
Unknown said...
pada hari 

trimakasih bang atas program perkalian metriksnya......

dedi said...
pada hari 

bang, saya minta ya programnya

Anonymous said...
pada hari 

bli tiang ngidih programne nah,,
anggon tugas,
suksma

Anonymous said...
pada hari 

bang, kok gak bisa di jalankan ya?

kesalahan ada pada gotoxy...
gimana?

IT Programmer said...
pada hari 

@untuk anonim terakhir: HAH?? setelah anda berkata demikian,, saya langsung coba Compile dan Run.. TAPI tidak ada masalah kok,, setelah di Compile Success,, hanya ada tanda bahwa,, "Answer is declared but never used" gitu aja..

hmmmm,, kalau mungkin pada syntax anda gotoxy nya keliru,, coba diliat , apa yang membuat error,, sudahkah anda mengisi tanda titik koma ( ; ) pada akhir gotoxy?? atau yang lain..

Anonymous said...
pada hari 

bang minta cara perkalian matriksnya yang simple az donx....bsa gag...terlalu banyak itu....

idris said...
pada hari 

bang fungsi define apa sama int answer??
mohon jawabannya...

IT Programmer said...
pada hari 

define berfungsi untuk mengatur ValueMax kalau nilai maximal nya 25..
int answer?? sepertinya saya kelebihan membuat variabel..hehe
thanks..

Anonymous said...
pada hari 

izin sedot gan,,
tangkiu

Anonymous said...
pada hari 

mas, kok waktu di run malah error yaa,, programnya looping terus..

Anonymous said...
pada hari 

gan... lw boleh tanya,, syntax di atas ada flowchartnya gaggg... lw ad minta kasih lihat dong... makasih...

Anonymous said...
pada hari 

saya mau tanya,
kenapa pake tapi gak ada printf dan scanf nya...

trims.........

Anonymous said...
pada hari 

Mas Swastiastu, kalau saya langsung copy paste ke borland kok error ya? apa ada cara yang mudah? saya agak teledor kalau harus ketik satu per satu...

lilac_venom said...
pada hari 

Bli..
Ada contoh program perkalian matriks dengan konstruktor gak??

Anonymous said...
pada hari 

saya punya program untuk perkalian matriks dengan ordo terserah, itu juga hasil eksperimen waktu dapet project dari dosen di ITS

Social Media


Facebook Page

Programming Tutorial


Info


Tips
Downloads
Friends
 
This Blog is proudly powered by Blogger.com | Template by Bali Web Development | Privacy Policy | Rise Up!!