Program Invers Matriks Berordo Dua

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];
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


Comments

Post a Comment