Program Invers Matriks Deklarasikan variabel terlebih dahulu. Program matriks ini, menggunakan tipe data float, int, dan char. Masukkan nilai matriks dari baris per baris. Kemudian akan muncul tampilan matriks yang telah diinputkan sebelumnya. Hitung matrik menggunakan rumus invers. Tampilkan hasil perhitungan invers matriks.
Algoritma 1. 2. 3. 4. 5. 6.
Mulai Masukkan jumlah baris matrik Masukkan nilai Proses perhitungan Tampilkan hasil Selesai
Kompleksitas 1. Proses Input Data Masukan nilai matriks 2. Proses Determinan Dengan menggunakan kaidah Sarrus 3. Proses Kofaktor dan Adjoint Mencari nilai minor dengan rumus Kemudian mencari kofaktor dengan rumus dengan mengkalikan dengan -1 apabila matrik 1,2 . 1+2 = 3 adalah angka ganjil maka dikalikan -1. Lalu lakukan adjoint dengan cara transpos yaitu baris menjadi kolom. Dan terakhir setiap elemen dibagi dengan determinan. 4. Selesai
Script program #include #include #include int main() { float p[20], a[20][20], t; int m, i, j, k, x; char answer; do{ clrscr(); printf("\nMasukkan ukuran matriks : \n"); scanf("%d", &m); printf("\nMasukkan nilai elemen matriks yang akan diinvers"); printf("\ secara baris per baris\n");
/* Membaca matriks asli */ for(i=1; i<=m; i++) { printf("\n"); for(j=1; j<=m; j++) { printf("A(%d,%d)= ",i, j); scanf("%f", &a[i][j]); } }
/* Mencetak Matriks asli */ printf("\nMatriks asli : "); for(i=1; i<=m; i++) { printf("\n"); for(j=1; j<=m; j++) printf(" %.2f", a[i][j]); }
/* Proses invers */ for(i=1; i<=m; i++) { p[i] = a[i][i]; a[i][i] = 1; for(j=1; j<=m; j++) { a[i][j] = a[i][j]/p[i]; } for(k=1; k<=m; k++) { if(k != i) { t = a[k][i]; a[k][i] = 0; for(x=1; x<=m; x++) a[k][x] = a[k][x] - a[i][x] * t; } } }
/* Mencetak matriks hasil invers*/ printf("\n\nMatriks invers : \n"); for(i =1; i <=m; i++) { for(j=1; j<=m; j++) printf(" %.1f", a[i][j]); printf(" \n"); } printf("== PROGRAM SELESAI ==\n"); printf("Mau Melakukan Perhitungan Lagi?? [Y/T] "); scanf("%s",&answer); } while ((answer == 'y') || (answer == 'Y')); getch(); }
Matriks persegi A mempunyai invers, jika ada matriks B sedemikian hingga AB = BA = dengan I matriks identitas. Pada persamaan AB = BA = , A dan B disebut saling invers. Berikut adalah syarat suatu matriks A dikatakan mempunyai invers. 1. Jika | A | = 0, maka matriks A tidak mempunyai invers. Oleh karena itu, dikatakan matriks A sebagai matriks singular. 2. Jika | A | <> 0, maka matriks A mempunyai invers. Oleh karena itu, dikatakan matriks A sebagai matriks nonsingular.
Untuk matriks A = berikut:
berordo 2 x 2 ini, kita dapat menentukan inversnya sebagai
Untuk menentukan invers suatu matriks dengan ordo 3 x 3, maka kita harus memahami tentang matriks minor, kofaktor, dan adjoint.
1. Matriks Minor Matriks minor diperoleh dengan cara menghilangkan elemen-elemen pada baris ke-i dan kolom ke- j matriks A berordo 3 x 3, sehingga didapat matriks baru dengan ordo 2 x 2. Determinan dari matriks tersebut disebut minor dari determinan matriks A, ditulis dengan
.
Minor-minor dari matriks A adalah sebagai berikut:
2. Kofaktor Kofaktor dari baris ke-i dan kolom ke- j dituliskan dengan menentukannya, ditentukan dengan rumus
. Untuk
. Kofaktor-kofaktor dari matriks A adalah sebagai berikut:
3. Adjoint Misalkan suatu matriks A berordo n x n dengan
Untuk matriks A berordo 3 x 3, maka:
kofaktor dari matriks A, maka:
Untuk menentukan determinan dari matriks berordo 3 x 3, selain dengan kaidah Sarrius, dapat juga digunakan matriks minor dan kofaktor.
Determinan matriks A (det A) dapat ditentukan menggunakan rumus: