Best Author
sangdedi

743,741
octa

486,695
fitrotinnikm

456,617
idjah

445,235
dwi

313,717
adit

310,206
resta-andara

275,585
benedict

261,599
rahadian

241,010
bara

228,942
nabilalalala

216,928
kurnitap_

154,132
kuswanto

140,505
suranto

100,765
admin

99,032
iwan

80,055
kupukupu

78,106

Source code gauss.c

Berikut merupakan tulisan yang di-upload oleh salah seorang pembaca Klikbelajar.com bernama Ilham Mulyadi

Ini adalah contoh program eliminasi Gauss dalam bahasa C.

#include
#include
#include
#include

#define MAX 20

void gauss2(double a[MAX][MAX], double b[MAX], int, int, double x[MAX]);
void cetak(double a[MAX][MAX], double b[MAX], int);
void hasil(double a[MAX][MAX], double b[MAX], int);

main(){
double a[MAX][MAX], b[MAX], x[MAX];
int dimensi, baris, kolom, flag;
char z;
do{
system(“cls”);
printf(“Masukkan dimensi : “);
scanf(“%d”, &dimensi);

printf(“masukkan koefisien matriks :n”);
for(baris=1; baris<=dimensi; baris++){
for(kolom=1; kolom<=dimensi; kolom++){
printf(“a(baris[%d],kolom[%d]) : “, baris, kolom);
scanf(“%lf”, &a[baris][kolom]);
}
}

printf(“nmasukkan vektor hasil :n”);
for(baris=1; baris”);
z=getch();
printf(“nn”);
}while(z==’y’||z==’Y’);
}

void gauss2(double a[MAX][MAX], double b[MAX], int dimensi, int flag, double x[MAX]){
double pivot1, pivot2;
int pos, baris, kolom;
flag = 1;

for(pos=1; pos<=dimensi; pos++){
pivot1 = a[pos][pos];
if(pivot1 == 0){
flag=0;
printf(“pivot pada a[%d][%d] bernilai nol, tidak ada penyelesaian”, pos, pos);
break;
}
else{
for(kolom=1; kolom<=dimensi; kolom++)
a[pos][kolom]=a[pos][kolom]/pivot1;
b[pos]=b[pos]/pivot1;
cetak(a, b, dimensi);
for(baris=pos; baris<=dimensi; baris++){
if(baris+1<=dimensi){
pivot2 = a[baris+1][pos];
for(kolom=1; kolom<=dimensi; kolom++)
a[baris+1][kolom]=a[pos][kolom]*(-pivot2)+a[baris+1][kolom];
b[baris+1]=b[pos]*(-pivot2)+b[baris+1];
cetak(a, b, dimensi);
}
}
}
}
}

void cetak(double a[MAX][MAX], double b[MAX], int dimensi){
int baris, kolom;
printf(“n”);
for(kolom=1; kolom<=dimensi; kolom++)
printf(” a%d “, kolom);
printf(” b n”);
for(baris=1; baris<=dimensi; baris++){
for(kolom=1; kolom=1;pos–){
temp=b[pos];
for(kolom=pos+1;kolom<=dimensi;kolom++)
temp=temp-a[pos][kolom]*x[kolom];
x[pos]=temp/a[pos][pos];
}
printf(“nnHASILNYA ADALAHn”);
printf(“——————————n”);
printf(“| I | X(I) |n”);
printf(“——————————n”);
for (i=1;i<=dimensi;i++)
{
printf(“|”);
printf(“%5d”, i);
printf(“t |”);
printf(“%15lf |n”, x[i]);
}
printf(“——————————n”);
}

Penulis :
Telah menulis sebanyak 15 artikel
Mendapatkan 170 komentar
  Tingkat Dewa

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>