16 Desember 2018

Cara Menentukan Nilai Invers Matriks Menggunakan C++

Secara umum matriks merupakan sebuah perhitungan matematis dimana perhitungannya menggunakan baris dan kolom, perhitungan baris dan kolom ini, nantinya bisa digunakan dalam penyelesaian beberapa masalah yang kompleks. Didalam matriks, penjumlahan dan pengurangan bisa dilakukan ketika kedua matriks yang akan dijumlahkan mempunyai jumlah baris dan kolom yang sama.

Nah, pada artikel ini saya akan memberikan sebuah source code tentang bagaimana cara menentukan nilai invers matriks menggunakan C++, simak berikut ini.

Contoh Program Menentukan Nilai Invers Matriks Menggunakan C++

#include <iostream>
using namespace std;
int main (){
    int i, j, k, n;
    double a[10][10]={0}, d;
   
    cout<<"Enter the order of matrix ; ";
    cin>>n;
    cout<<"Enter the elements : "<<endl;
    for (i=1;i<=n;i++)
        for (j=1;j<=n;j++)   
            cin>>a[i][j];
           
    for (i=1;i<=n;i++)
        for (j=1;j<=2*n;j++)
            if (j==(1+n))
                a[i][j]=1;
               
    for (i=n;i>1;i--){
        if (a[i-1][1]<a[i][1])
        for (j=1;j<=n*2;j++){
            d=a[i][j];
            a[i][j]=a[i-1][j];
            a[i-1][j]=d;
        }
    }
    cout<<"Augmented : "<<endl;
    for (i=1;i<=n;i++){
        for (j=1;j<=n*2;j++)
            cout<<a[i][j]<<"    ";
            cout<<endl;   
    }
    for (i=1;i<=n;i++){
        for (j=1;j<=n*2;j++)
        if (j!=1){
            d=a[j][i]/a[i][i];
            for (k=1;k<=n*2;k++)
                a[j][k]-=a[i][k]*d;
        }
    }
    for (i=1;i<=n;i++){
        d=a[i][i];
            for (j=1;j<=n*2;j++)
                a[i][j]=a[i][j]/d;
    }
    cout<<"invers Matrix : "<<endl;
    for (i=1;i<=n;i++){
        for (j=n+1;j<=n*2;j++)
            cout<<a[i][j]<<"    ";
            cout<<endl;
    }
    return 0;
}

Sedikit penjelasan mengenai kode diatas, langkah yang harus anda lakukan pertama adalah, meminta inputan dari user tentang banyaknya baris dan kolom yang akan digunakan, lalu user akan memasukkan nilai atau sebuah element dari matriks.

Proses perhitungan yang dilakukan pertama kali yaitu mencari nilai determinan dari matriks tersebut, untuk mencari nilai invers maka nilai determinan tidak boleh kosong atau 0, nah, kalau nilai determinan 0 maka invers tidak bisa dicari, atau matriks tersebut tidak memiliki invers.
Untuk mencari invers matriks bisa menggunakan rumus, 1/determinan dikali adjoin, adjoin merupakan sebuah transpose dari kofaktor, transpose matriks adalah proses penukaran baris menjadi kolom, begitupun sebaliknya, dan jika kofaktor dari matriks sudah diketahui, maka pencarian invers bisa menggunakan rumus 1/determinan dikali adjoin.


EmoticonEmoticon