c
#include <stdio.h>
void input_persamaan();
void cetak_input();
void doolittle();
void hitung_nilai_variabel();
float matriks[100][100],nilai[100],hasil[100],jumlah_kurang,sementara[100];
int n,i,j,k,l,m,p,q,x,tambah1=0,tambah2=1;
void input_persamaan(int n,float matriks[100][100],float nilai[100])
{
for(i=0;i<n;i++)
{
printf("---------------------------------------------------------------------\n");
printf("Untuk persamanan ke-%d \n", i+1);
for(j=0;j<n;j++)
{
printf("Masukkan koefisien variabel X%d : \n",j+1);
scanf("%f",&matriks[i][j]);
}
printf("Masukkan nilai persamaan : \n");
scanf("%f",&nilai[i]);
}
}
void cetak_input(int n,float matriks[100][100],float nilai[100])
{
printf("---------------------------------------------------------------------\n");
printf("Hasil input dalam bentuk persamaan linear\n");
printf("---------------------------------------------------------------------\n\n");
for(i=0;i<n;i++)
{
printf("Persamaan ke-%d \n",i+1);
for(j=0;j<n;j++)
{
printf("(%.4f)X%d",matriks[i][j],j+1);
if(j!=n-1)
{
printf(" + ");
}
}
printf(" = %.4f \n",nilai[i]);
}
printf("\n");
printf("---------------------------------------------------------------------\n");
printf("Hasil input dalam bentuk matriks\n");
printf("---------------------------------------------------------------------\n\n");
for(i=0;i<n;i++)
printf("| ");
for(j=0;j<n;j++)
{
printf("%.4f\t",matriks[i][j]);
}
printf("\b\b\b\b\b\b\b\b\b | | X %d | = | %f |\n",i+1,nilai[i]);
}
printf("\n");
}
void hitung_nilai_variabel(int n, float matriks[100][100],float
nilai[100],float hasil[100])
{
for(i=0;i<n;i++)
{
jumlah_kurang=0;
if(i!=0)
{
for(j=0;j<i;j++)
{
jumlah_kurang=jumlah_kurang+(matriks[i][j]*sementara[j]);
}
}
sementara[i]=nilai[i]-jumlah_kurang;
}
for(i=(n-1),x=n;i>=0,x>0;i--,x--)
{
jumlah_kurang=0;
if(i!=(n-1))
{
for(j=(n-1);j>i;j--)
{
jumlah_kurang=jumlah_kurang+(matriks[i][j]*hasil[j]);
}
}
hasil[i]=(sementara[i]-jumlah_kurang)/matriks[i][i];
}
}
void tampil_hasil(int n,float hasil[100])
{
for (i=0;i<n;i++)
{
printf("Nilai variabel X%d = %.4f \n",i+1,hasil[i]);
}
}
main()
{
printf("**************************************************************
********\n");
printf("**************** Program Pemecahan Persamaan Linear
******************\n");
printf("**************** dengan Metode Matriks & Doolittle
******************\n");
printf("**************************************************************
********\n");
printf("**************************************************************
********\n");
printf("* PERINGATAN!! Program hanya dapat menghitung maksimal 100
variabel **\n");
printf("**************************************************************
********\n\n");
printf("Masukkan jumlah persamaan : \n");
scanf("%d", &n);
printf("\n");
input_persamaan(n,matriks,nilai);
cetak_input(n,matriks,nilai);
system("pause");
doolittle(n,matriks);
printf("\n");
system("pause");
hitung_nilai_variabel(n,matriks,nilai,hasil);
printf("**************************************************************
********\n");
printf("**************** Ini hasil dari persamaan linearnya
******************\n");
printf("**************************************************************
********\n");
tampil_hasil(n,hasil);
printf("**************************************************************
********\n");
printf("**************************** Terima Kasih
***************************\n");
printf("**************************************************************
********\n");
getch();
}
Terminal
**********************************************************************
**************** Program Pemecahan Persamaan Linear ******************
**************** dengan Metode Matriks & Doolittle ******************
**********************************************************************
**********************************************************************
* PERINGATAN!! Program hanya dapat menghitung maksimal 100 variabel **
**********************************************************************
Masukkan jumlah persamaan :
5
---------------------------------------------------------------------Untuk persamanan ke-1
-2
Masukkan koefisien variabel X2 :
5
Masukkan koefisien variabel X3 :
10
Masukkan koefisien variabel X4 :
3
Masukkan koefisien variabel X5 :
2
Masukkan nilai persamaan :
98
---------------------------------------------------------------------Hasil input dalam bentuk persamaan linear
---------------------------------------------------------------------Persamaan ke-1
(1.0000)X1 + (2.0000)X2 + (3.0000)X3 + (4.0000)X4 + (5.0000)X5 =
Persamaan ke-2
(2.0000)X1 + (5.0000)X2 + (-1.0000)X3 + (-2.0000)X4 + (3.0000)X5
Persamaan ke-3
(-4.0000)X1 + (6.0000)X2 + (5.0000)X3 + (-4.0000)X4 + (1.0000)X5
Persamaan ke-4
(3.0000)X1 + (-5.0000)X2 + (1.0000)X3 + (1.0000)X4 + (-8.0000)X5
Persamaan ke-5
(-2.0000)X1 + (5.0000)X2 + (10.0000)X3 + (3.0000)X4 + (2.0000)X5
74.0000
= 5.0000
= -2.0000
= -4.0000
= 98.0000
1.0000
2.0000
-4.0000
3.0000
-2.0000
2.0000
5.0000
6.0000
-5.0000
5.0000
3.0000
-1.0000
5.0000
1.0000
10.0000
4.0000
-2.0000
-4.0000
1.0000
3.0000
|
|
|
|
|
|
|
|
|
|
X
X
X
X
X
1
2
3
4
5
|
|
|
|
|
=
=
=
=
=
|
|
|
|
|
74.000000 |
5.000000 |
-2.000000 |
-4.000000 |
98.000000 |