Buatlah algoritma dan program invers matriks
berordo dua. Lalu kalikan matriks asal dengan matriks inversnya untuk
mengecek apakah hasil kalinya merupakan matriks identitas atau bukan.
1. Identifikasi masalah
→program invers matriks berordo dua. Lalu
kalikan matriks asal dengan matriks inversnya untuk mengecek apakah
hasil kalinya merupakan matriks identitas atau bukan
2. Menentukan input dan output
→input : i, j, det, temp
→output :untuk inversnya adalah
3. Membuat algoritma/flowchart
Raptor:
. Test menggunakan Data
→input :nilai c(1,1)=2
Nilai c(1,2)=1
Nilai c(2,1)=1
Nilai c(2,2)=2
Matriks= 2 2
1 2
→output :adjoin dari matriks diatas adalah
2 -2
-1 2
Untuk inversnya adalah
1 -1
-0.5 1
5. Implementasi dengan c++
#include"iostream"
using namespace std;
main(){ int i,j; float det,temp;
float mat[2][2], c[2][2], ci[2][2], ch[2][2];
for(i=0;i<2;i++){
for(j=0;j<2;j++){
cout<<"nilai C("<<i+1<<","<<j+1<<")=";
cin>>mat[i][j];
c[i][j]=mat[i][j];
}
cout<<endl;
}
cout<<"matriks diatas diilustrasikan seperti gambaran dibawah ini\n\n";
for(i=0;i<2;i++){
for(j=0;j<2;j++){
cout<<mat[i][j]<<" ";
}
cout<<endl;
}
mat[0][1]=-mat[0][1]; mat[1][0]=-mat[1][0];
temp=mat[0][0]; mat[0][0]=mat[1][1]; mat[1][1]=temp;
cout<<"\nadjoin dari matriks diatas adalah\n";
for(i=0;i<2;i++){
for(j=0;j<2;j++){
cout<<mat[i][j]<<" ";
}
cout<<endl;
}
det=mat[0][0]*mat[1][1]-mat[1][0]*mat[0][1];
det=1/(float)det;
cout<<"\nSedangkan untuk inversnya adalah sebagai berikut\n";
for(i=0;i<2;i++){
for(j=0;j<2;j++){
ci[i][j]=det*mat[i][j];
cout<<ci[i][j]<<" ";
}
cout<<endl;
}
for(i=0;i<2;i++){
for(j=0;j<2;j++){
for(int k=0;k<2;k++){
temp=c[i][k]*ci[k][j];
ch[i][j]=ch[i][j]+temp;
}
}
}
cout<<"\nhasil perkalian matriks asal dengan\nmatriks yang telah di invers adalah\n";
for(i=0;i<2;i++){
for(j=0;j<2;j++){
cout<<ch[i][j]<<" ";
}
cout<<endl;
}
}
6. hasil comppilernya
0 komentar:
Posting Komentar