Anak Indonesia Asli

Home » Tutorial » Contoh source code gauss.c

Contoh source code gauss.c

Ini adalah contoh program eliminasi Gauss dalam bahasa C.

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>

#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<=dimensi; baris++){
printf(“b(baris[%d]) : “, baris);
scanf(“%lf”, &b[baris]);
}
cetak(a, b, dimensi);
printf(“\nTekan sembarang tombol untuk memulai perhitungan\n”);
getch();
gauss2(a, b, dimensi, flag, x);
if(flag!=0){
printf(“\nTekan sembarang tombol untuk memulai perhitungan nilai x\n”);
getch();
hasil(a, b, dimensi);
}
printf(“\n\nNgulangi lagi ?(y/t) >”);
z=getch();
printf(“\n\n”);
}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<=dimensi; kolom++)
printf(“%6.2lf”, a[baris][kolom]);
printf(“%6.2lf\n”, b[baris]);
}
}

void hasil(double a[MAX][MAX], double b[MAX], int dimensi){
int pos, kolom, i;
double x[MAX], temp;
x[dimensi]=b[dimensi]/a[dimensi][dimensi];

for (pos=dimensi-1;pos>=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(“\n\nHASILNYA ADALAH\n”);
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”);
}

Berikut adalah hasil compile-annya.

gauss1.jpggauss2.jpg


11 Comments

  1. Akitsuki says:

    Senengane kok posting source code to ad… wakakakakkak… marai mumet…
    oh yo aku gawe blog at neng its, kunjungono yo… ben dadi second visitor…

    neng kene yo http://blog.its.ac.id/akitsuki

  2. Thoma says:

    iki iso gak?
    ngko gagal maneh…

    try this!!

  3. Thoma says:

    iki iso gak?
    ngko gagal maneh…

    try this!!

  4. Thaa says:

    Assalamu’alaikum
    Makasih atas source code gauss.
    Aku bisa minta tolong buatkan untuk program yang lain.
    Makasih.
    Wassalam

  5. barcelonistas says:

    assalamu alaikum

    Thanks banget source codenya…
    sangat berguna bagi aq yg lagi belajar..
    keep work..

    wassalamu alaikum

  6. iZze' says:

    mas … ad punya source code buat bkin game pake bahasa c ga??? bantuin donk mas ….

  7. codet kanan says:

    mas…e….. tenkyu beratz yeu…h ^_^
    btw program kiye ana`e ning bhs C tak yo..? ana sing bhs yang lain ga…?
    oia, kalo program traffic light gmn..?

  8. areklewong says:

    g ono program sing sangar maneh ta le??? iku wes koen analysis correctness durung, ngko g loop invariant ….

  9. Areph says:

    Mas kok ada errornya 2 trus ama warninge 6 ki trus piye ya?

  10. Huzen says:

    wah dah aku coba di compliyer di c++ kok nda bisa! aku mohon bantuannya!

  11. mass punyak scrip nya untuk gauss jordan ndakk

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: