Sunday, August 6, 2017

Menentukan Nilai Invers Matriks Dengan C++

 Menentukan Nilai Invers Matriks Dengan C++ :



Matriks adalah sebuah perhitungan matematis yang menggunakan baris dan kolom. Perhitungan baris dan kolom inilah yang nanti akan digunakan dalam beberapa penyelesaian masalah yang kompleks. Dalam matriks penjumlahan dan pengurangan dapat dilakukan ketika kedua matriks yang akan di jumlahkan atau dikurangkan mempunya jumlah baris dan jumlah kolom yang sama. Baris adalah sederet angka dalam posisi horizontal sedangkan kolom adalah sebaris angka dalam posisi vertikal. Ketika baris dan kolom kedua matriks dalam jumlah yang sama maka kedua matriks tersebut dapat digunakan. Diluar dari itu kalau baris dan kolom nya tidak sama maka kedua matriks tidak dapat dijumlah atau dikurangkan.
Berbeda dengan operasi perkalian dan pembagian matriks. Panjang kolom dari matriks A harus sama dengan panjang baris dari matriks B. Sehingga kedua matriks dapat dilakukan operasi perkalian dan pembagian. 

#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;
}

Source code diatas menggunakan bahasa pemrograman c++ langkah pertama yang akan di lakukan oleh program diatas yaitu meminta inputan dari user tentang banyaknya baris dan kolom yang digunakan. Kemudian user akan memasukan nilai atau element dari matriks. Proses perhitungan yang pertama dilakukan yaitu mencari nilai determinan dari matriks. Untuk mencari nilai invers maka nilai determinan tidak boleh kosong atau 0. Jika nilai determinan nya 0 maka invers tidak dapat dicari atau matriks tersebut tidak mempunyai invers . Rumus mencari invers Matriks adalah 1/determinan dikali adjoin. Adjoij merupakan transpose dari kofaktor.  Transpose matriks adalah proses penukaran baris menjadi kolom dan kolom menjadi baris. Ketika kofaktor dari matriks sudah diketahui maka pencarian invers Matriks bisa dijalankan dengan menggunakan rumus 1/determinan dikali adjoin.

Semoga artikel ini dapat bermanfaat untuk menyelesaikan proses perhitungan matriks secara cepat menggunakan aplikasi dengan bahasa pemrograman c++. Sekian dan terimakasih 


EmoticonEmoticon