1. Identifikasi Masalah
=> Membuat program invers matriks berordo dua
2. Menentukan Input dan Output
Input :
(mat[i][j])
Output :
mat[i][j] : matriks diatas diilustrasikan seperti gambaran
mat[i][j : nadjoin dari matriks
write(ci[i][j]) : inversnya
write(ch[i][j]) : hasil perkalian matriks asal dengan matriks yang telah di invers
3. Membuat Flowchart atau Algoritma
Flowchart
Algoritma OrdoDua
{ program invers matriks berordo dua}
Deklarasi
i,j : integer
det, temp, mat[2][2], c[2][2], ci[2][2], ch[2][2] : float
Deskripsi
for i ß 0 to 2 do
for j ß 0 to 2 do
write(‘nilai C(‘+(i+1)+’,’+j+1+’)=’)
read(mat[i][j])
c[i][j]ßmat[i][j];
write(‘matriks diatas diilustrasikan seperti gambaran dibawah ini\n\n’)
for i ß 0 to 2 do
for j ß 0 to 2 do
write(mat[i][j])
mat[0][1]ß-mat[0][1];
mat[1][0]ß-mat[1][0];
4. Implementasi 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;
}
}
5. Test Menggunakan Data
Input :
nilai C(1,1)=2
nilai C(1,2)=1
nilai C(2,1)=3
nilai C(2,2)=2
Output :
matriks diatas diilustrasikan seperti gambaran dibawah ini :
2 1
3 2
adjoin dari matriks diatas adalah :
2 -1
-3 2
Inversnya
2 -1
-3 2
hasil perkalian matriks asal dengan matriks yang telah di invers
1 0
0 1
6. Eksekusi
=> Membuat program invers matriks berordo dua
2. Menentukan Input dan Output
Input :
(mat[i][j])
Output :
mat[i][j] : matriks diatas diilustrasikan seperti gambaran
mat[i][j : nadjoin dari matriks
write(ci[i][j]) : inversnya
write(ch[i][j]) : hasil perkalian matriks asal dengan matriks yang telah di invers
3. Membuat Flowchart atau Algoritma
Flowchart
Algoritma OrdoDua
{ program invers matriks berordo dua}
Deklarasi
i,j : integer
det, temp, mat[2][2], c[2][2], ci[2][2], ch[2][2] : float
Deskripsi
for i ß 0 to 2 do
for j ß 0 to 2 do
write(‘nilai C(‘+(i+1)+’,’+j+1+’)=’)
read(mat[i][j])
c[i][j]ßmat[i][j];
write(‘matriks diatas diilustrasikan seperti gambaran dibawah ini\n\n’)
for i ß 0 to 2 do
for j ß 0 to 2 do
write(mat[i][j])
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;
write(‘nadjoin dari matriks diatas
adalah\n’)
for i ß 0 to 2 do
for j ß 0 to 2 do
write(‘mat[i][j]’)
detßmat[0][0]*mat[1][1]-mat[1][0]*mat[0][1];
detß1/(float)det;
write(‘\nSedangkan untuk inversnya
adalah sebagai berikut\n’)
for i ß 0 to 2 do
for j ß 0 to 2 do
ci[i][j]ßdet*mat[i][j];
write(ci[i][j])
for i ß 0 to 2 do
for j ß 0 to 2 do
for k ß 0 to 2 do
tempßc[i][k]*ci[k][j]
ch[i][j]ßch[i][j]+temp
write(‘\nhasil
perkalian matriks asal dengan\nmatriks yang telah di invers adalah\n’)
for i ß 0 to 2 do
for j ß 0 to 2 do
write(ch[i][j])
4. Implementasi 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;
}
}
5. Test Menggunakan Data
Input :
nilai C(1,1)=2
nilai C(1,2)=1
nilai C(2,1)=3
nilai C(2,2)=2
Output :
matriks diatas diilustrasikan seperti gambaran dibawah ini :
2 1
3 2
adjoin dari matriks diatas adalah :
2 -1
-3 2
Inversnya
2 -1
-3 2
hasil perkalian matriks asal dengan matriks yang telah di invers
1 0
0 1
6. Eksekusi
Terimakasih materinya ka
ReplyDelete