RUMUS C++ ELIMINASI GAUSS JORDAN MATRIKS :
Eliminasi Gauss Jordan adalah proses eliminasi dengan cara mengubah nilai matriks awal ke matriks identitas sehingga nantinya akan diperoleh nilai dari persamaan sebuah matriks. Eliminasi Gauss Jordan memiliki ciri sebagai matriks identitas dimana matriks tersebut terdiri dari bidang diagonal dengan nilai 1, dan diapit oleh nilai 0 pada segitiga bawah dan segitiga atas.
Proses pencarian persamaan gauss jordan dapat memakan waktu yang lama dengan cara manual. Namun kita dapat menyelesaikan persamaan dengan cepat jika kita mampu membuat program untuk menyelesaikan persamaan matriks dengan metode Gauss Jordan.
Berikut adalah source code program eliminasi Gauss Jordan menggunakan bahasa pemrograman c++ :
#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;
int main ()
{
cout<<"==================================================================\n";
cout<<" PENYELESAIAN SISTEM PERSAMAAN LINIER\n";
cout<<" METODE GAUSS-JORDAN\n";
cout<<"==================================================================\n";
cout<<"Tekan Enter Untuk Memulai !!!"<<endl;
getch();
system ("cls");
char jwb;
float a[100][100];
float v[100];
float tmp;
float n,x;
do{
cout<<"===========================\n";
cout<<"Masukan ukuran spl : ";cin>>n;
cout<<" X\n";
cout<<" ";cin>>x;
cout<<"===========================\n";
for (int i=1;i<=n;i++){
cout<<"========================\n";
cout<<"Persamaan ke-"<<i<<endl;
for (int j=1;j<=x;j++){
cout<<"X"<<j<<" = ";
cin>>a[i][j];}
system("cls");
}
cout<<"========================\n";
cout<<"Masukan vektor x : "<<endl;
for(int i=1;i<=n;i++){
cout<<"X"<<i<<" = ";
cin>>v[i];
}
cout<<"================================\n";
cout<<"persamaan linier nya adalah : "<<endl;
for(int i=1;i<=n;i++){
cout<<i<<" ";
for (int j=1;j<=x;j++){
if(j==1)
{
cout<<a[i][j]<<" x"<<j<<" ";
}else
{if(a[i][j]<0)
{
cout<<"- "<<a[i][j]*-1<<" x"<<j<<" ";
}else if (a[i][j]>=0){
cout<<"+ "<<a[i][j]<<" x"<<j<<" ";
}
}
}
cout<<"\t= "<<v[i]<<endl;
}getch();
cout<<"================================\n";
cout<<"Bentuk matriksnya : "<<endl;
for (int i=1;i<=n;i++){
cout<<"| ";
for(int j=1;j<=x;j++){
cout<<a[i][j]<<" ";
}
cout<<"| |x"<<i<<"|";
cout<<" "<<v[i]<<endl;
}
cout<<endl;
for(int i=1;i<=n;i++){
cout<<"================================\n";
cout<<"Tahap ke-"<<i<<endl;
tmp=a[i][i];
for(int j=1;j<=n;j++){
a[i][j]=a[i][j]/tmp;
}
v[i]=v[i]/tmp;
for (int z=0;z<=n;z++){
if(z!=i){
tmp=a[z][i];
for(int j=i;j<=n;j++){
a[z][j]=a[z][j]-(tmp*a[i][j]);}
v[z]=v[z]-(tmp*(v[i]));
}
}
for (int i=1;i<=n;i++){
cout<<"| ";
for(int j=1;j<=x;j++){
cout<<a[i][j]<<" ";
}
cout<<"| |x"<<i<<" |";
cout<<" "<<v[i]<<endl;
}getch();
cout<<endl;
}
cout<<"==================================================\n";
cout<<"dari persamaan diatas diperoleh nilai x adalah :"<<endl;
for(int i=1;i<=n;i++){
cout<<"X"<<i<<" = "<<v[i]<<endl;
}
cout<<"==================================================\n";
cout << "\nApakah penghitungan mau dilanjutkan(Y/T) \n";
cin >> jwb;
system("cls");
}
while (jwb == 'Y' || jwb == 'y');
system("cls");
cout<<"***** TERIMA KASIH *****\n";
return 0;
}
Selamat mencoba dan semoga dapat bermanfaat untuk kawan kawan semua. Sekian dan terima kasih

1 comments so far
alhamdulillah, terimakasih
EmoticonEmoticon