Berikut ini adalah source code dari program perkalian matrik dalam bahasa pemrograman c++.
penjelasan singkat : dalam program ini user menginputkan ordo matrik yang akan dikalikan. jika jumlah kolom matrik pertama tidak sama dengan jumlah baris pada matrik ke dua, maka perkalian tidak bisa dilakukan, serta program menampilkan pesan kesalahan.Ā ketika program selesai dijalankan, user akan ditanya, apakah ingin menggunakan program ini lagi atau tidak. jika menekan Y/y, maka program akan kembali dijalankan, dan ketika user menekan N/n maka program akan dihentikan dan keluar.
berikut adalah source codenya :
—————————————————–begin—————————————————–
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
int A[1000][1000],B[1000][1000],C[1000][1000],i,j,k, barisa, koloma, barisb, kolomb, barisc, kolomc, loop;
void hitung();
void matrika();
void matrikb();
void cek();
void ulang();
void main()
{
do
{
matrika();
matrikb();
cek();
ulang();
}while (loop!=0);
}
void matrika()
{
cout<<“masukkan ordo matriks A :”<<endl;
cout<<“jumlah baris : “;
cin>>barisa;
cout<<“jumlah kolom : “;
cin>>koloma;
//masukkan matrix A
cout<<“Silahkan input matrik A : \n”;
for(i=0;i<barisa;i++)
{
for(j=0;j<koloma;j++)
{
cout<<“Elemen ke “<<(i+1)<<“,”<<(j+1)<<” : “;
cin>>A[i][j];
}
}
//cetak matrix A
cout<<“\nMatrik A : \n”;;
for(i=0;i<barisa;i++)
{
for(j=0;j<koloma;j++)
{
cout<<setw(4)<<A[i][j];
}
cout<<endl;
}
cout<<endl;
}
void matrikb()
{
//masukkan matriks B
cout<<“masukkan ordo matriks B :”<<endl;
cout<<“jumlah baris : “;
cin>>barisb;
cout<<“jumlah kolom : “;
cin>>kolomb;
cout<<“Silahkan input matrik B : \n”;
for(i=0;i<barisb;i++)
{
for(j=0;j<kolomb;j++)
{
cout<<“Elemen ke “<<(i+1)<<“,”<<(j+1)<<” : “;
cin>>B[i][j];
}
}
//cetak matrix B
cout<<“\nMatrik B : \n”;
for(i=0;i<barisb;i++)
{
for(j=0;j<kolomb;j++)
{
cout<<setw(4)<<B[i][j];
}
cout<<endl;
}
}
void hitung()
{
//Operasi Perkalian
for (i=0;i<barisa;i++)
{
for (j=0;j<kolomb;j++)
{
C[i][j]=0;
for (k=0;k< barisb;k++)
{
C[i][j]+= A[i][k]*B[k][j];
}
}
}
//Menampilkan hasil
cout<<“\nMatrik C, Hasil : \n”;
for(i=0;i<barisa;i++)
{
for(j=0;j<kolomb;j++)
{
cout<<setw(4)<<C[i][j];
}
cout<<endl;
}
cout<<endl;
getche();
}
void ulang()
{
int status, l;
char pilih;
do
{
cout<<“anda ingin memakai program ini lagi (y/n)?”;
cin>>pilih;
switch (pilih)
{
case ‘Y’ : status=1; loop=1; l=0;Ā break;
case ‘y’ : status=1; loop=1; l=0;Ā break;
case ‘N’ : status=0; l=0; cout<<“exit”<<endl; getche(); exit(0); break;
case ‘n’ : status=0; l=0; cout<<“exit”<<endl; getche(); exit(0); break;
default : cout<<“ketik y untuk ulangi program, n untuk tutup program (tidak case sensitif)”<<endl;
}
}while(l!=0);
}
void cek()
{
if (koloma==barisb)
{
hitung();
}
if (koloma!=barisb)
{
cout<<“operasi perkalian tidak bisa dilakukan. Anda salah memasukkan ordo matrik.”<<endl;
getche();
}
}
————————————————————————–end———————————————————
20 Responses to “program perkalian matrik dengan bahasa C++”
Sorry, the comment form is closed at this time.
code gendeng om
banyak yg eror!!!!
ngaraarng sendiri…
vaggg…
mas azma yang baik… ngomong nya d jaga donk…
hehhe
itu code dah bener. q jamin bisa. kalo pun banyak error itu karena anda copas begitu saja. kadang karakter jadi berubah, terutama karakter ” (dobel quot). jadi ketik ulang ja, pasti bisa kok. selamat mencoba…
MAS ada yg lebih mudah kah tentang matriksnya???
mudah yang gimana?
mudah kan relativ… š
thank you om… cip cip cip…. membantu
oh ya mas… klo inputnya baris=5, kolom=5
terus outputnya tu ky gini (perkalian)
1 2 3 4 5
1 1 2 3 4 5
2 2 4 6 8 10
3
4
5
gimana ya kl pake java?
nah, gimana coba.. š
mmm ngebantu bgt thanks..
tp bisa ga yg inputannya pake pecahan
contoh : 1 1/5 gitu
klo ditanya bisa pa ga, ya pasti bisa… š
//cetak matrix A
cout<<ā\nMatrik A : \nā;; //ini mungkin salah satu yang bikin error
mas azma benar, perlu di cek lagi mas
memang karakter ada yang g tampil mas…
waktu di jalankan di tempat saya jalan, tapi karena waktu code q kopas ke sini ada beberapa karakter yang g ditampilkan. n bikin error.
tapi saya pikir ada bagusnya… bisa jadi sarana belajar juga…
melengkapi code yang belum lengkap gt lah… š
Horee…akhrx jd…
Thx bnget yach….
stelah di teliti baik2 trxta ada ksalhan dlm tnda ptik n getch();
hehehehe….
contoh pelajar yang baik…. š
hikhnkl;gbovj;ltkkryhopitopr
Aziiiiieeeeppppppppppppppppppppppppppppppp,…………………………………!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
wwwaaah munk marai mumett rueetttt tnan angel sisan gae programm e eror” ae sssssuuuuuuuuuuuuuuueeeee dadine haduh haduh š pisss brooo hhhhhh
zip azip azip azip azip.. :p
wkwkwkwk……
ok bro.. ati2 dijalan….
zzzzzzzzzzzzzzz
tolong d jelasin juga donk biar lebih paham