Showing posts with label Komputasi. Show all posts
Showing posts with label Komputasi. Show all posts
Teknik Komputasi >> Interpolasi DIFFERENSIAL

Teknik Komputasi >> Interpolasi DIFFERENSIAL

/* Contoh soal Metode Runge-Kutta orde 4 untuk penyelesaian Diferensiasi Numerik Bab
VII Hal. 67-68 Diktat Metode Komputasi 2004 */
/* Nama Program : runge-kutta4.cpp */
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#define MaksData 100
main()
{
FILE *runge_kutta4;
double k1[MaksData], k2[MaksData],
k3[MaksData], k4[MaksData],
x, x0, y0, yn1, ytemp,
h;
int i;
char lagi;
do
{
clrscr();
runge_kutta4 = fopen("runge_kutta4.txt", "w+");
cout << "\n\nMetode Runge-Kutta Orde 4 untuk Diferensiasi Numerik\n";
cout << "====================================================\n\n";
cout << "Contoh pada Diktat Metode Komputasi\n\n";
cout << "Persamaan Diferensial : f(x,y) = dy/dx = y + x\n";
cout << "----------------------------------------------\n\n";
/***************************************************/
/* Setiap perubahan persamaan matematika, YAKINKAN */
/* bahwa Anda telah merubah persamaan matematika */
/* di dalam program ini -------------------------- */
/***************************************************/
/* Pemasukan Data yang diberikan */
cout << "\nMasukkan x[0] ? ";
cin >> x0;
cout << "\nMasukkan y[0] ? ";
cin >> y0;
cout << "\nNilai titik x yang dicari ? ";
cin >> x;
cout << "\nInterval h ? ";
cin >> h;
printf("\n\n\tx[0] = %.2f", x0);
printf("\n\n\ty[0] = %.2f", y0);
printf("\n\n\tYang dicari adalah y[%.2f]", x);
printf("\n\n\th = %.2f", h);
/* Cetak x[i], y[i] dan f[i] serta penghitungan Runge-Kutta Orde 4 */
printf("\n\n\t-------------------------------------------------------\n");
printf("\tIterasi\t\tk1\tk2\tk3\tk4\ty[i]\n");
printf("\t-------------------------------------------------------\n");
fprintf(runge_kutta4,"\n\t-------------------------------------------------------\n");
fprintf(runge_kutta4,"\tIterasi\t\tk1\tk2\tk3\tk4\ty[i]\n");
fprintf(runge_kutta4,"\t-------------------------------------------------------\n");
i = 0;
/* Pemasukan dan Penghitungan Data */
while(x0 != x)//for(i = 0; i < n; i++)
{
k1[i] = y0 + x0;
k2[i] = (y0 + h*k1[i]/2) + (x0 + h/2);
k3[i] = (y0 + h*k2[i]/2) + (x0 + h/2);
k4[i] = (y0 + h*k3[i]) + (x0 + h);
/* Rumus Diferensiasi Runge-Kutta Orde 4 */
yn1 = y0 + h*(k1[i] + 2*k2[i] + 2*k3[i] + k4[i])/6;
x0 += h;
printf("\t %d\t\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\n", i+1, k1[i], k2[i],
k3[i], k4[i], yn1);
fprintf(runge_kutta4,"\t %d\t\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\n", i+1,
k1[i], k2[i], k3[i], k4[i], yn1);
}
printf("\t-------------------------------------------------------\n");
fprintf(runge_kutta4,"\t-------------------------------------------------------\n");
fprintf(runge_kutta4,"\n\nx[0] = %.2f", x0);
fprintf(runge_kutta4,"\n\ny[0] = %.2f", y0);
fprintf(runge_kutta4,"\n\nYang dicari adalah y[%.2f]", x);
fprintf(runge_kutta4,"\n\nh = %.2f", h);
printf("\n\nMaka y[%.2f] = %.5f", x, y0);
fprintf(runge_kutta4,"\n\nMaka y[%.2f] = %.5f", x, y0);
fclose(runge_kutta4);
cout << "\n\nCoba lagi dengan data awal atau rumus yang berbeda (y/t) ? ";
cin >> lagi;
}while(lagi != 't');
return 0;
}
Teknik Komputasi >> Interpolasi Linier

Teknik Komputasi >> Interpolasi Linier

// Interpolasi Linier
# include <stdio.h>
# include <math.h>
# include <conio.h>
# include <iostream.h>

float x1, y1, x2, y2, x,y ;

void main ( )
{
   cout<<"****** PROGRAM INTERPOLASI LINIER *******\n";
cout<<"\nInput data x[1] = "; cin>>x1;
   cout<<"Input data y[1] = "; cin>>y1;
   cout<<"Input data x[2] = "; cin>>x2;
   cout<<"Input data y[2] = "; cin>>y2;
  cout<<"\nInput x = "; cin>>x;

y = ((y2 - y1) / (x2 - x1))*(x - x1)+ y1;

cout<<"\nHasil perhitungan y = "<<y<<endl;
   cout<<"\nTitik Terbaru adalah ("<<x<<" , "<<y<<" )";
   getch();
}

Teknik Komputasi >> Interpolasi Kuadratik

Teknik Komputasi >> Interpolasi Kuadratik

// Interpolasi Kuadratik
# include <stdio.h>
# include <math.h>
# include <conio.h>
# include <iostream.h>

float x1, y1, x2, y2, x3, y3, x, P1, P2, P3, y ;

void main ( )
{
cout<<"****** PROGRAM INTERPOLASI KUADRATIK *******\n";
cout<<"\nInput data x[1] = "; cin>>x1;
   cout<<"Input data y[1] = "; cin>>y1;
   cout<<"Input data x[2] = "; cin>>x2;
   cout<<"Input data y[2] = "; cin>>y2;
   cout<<"Input data x[3] = "; cin>>x3;
   cout<<"Input data y[3] = "; cin>>y3;
  cout<<"\nInput x = "; cin>>x;

P1 = y1*((x - x2)*(x - x3)/(x1 - x2)*(x1 - x3)) ;
P2 = y2*((x - x1)*(x - x3)/(x2 - x1)*(x2 - x3)) ;
P3 = y3*((x - x1)*(x - x2)/(x3 - x1)*(x3 - x2)) ;
   y = P1 + P2 + P3 ;

cout<<"\n==> Hasil perhitungan y = "<<y<<endl;
cout<<"\nTitik Terbaru adalah ("<<x<<" , "<<y<<" )";
   getch();
}
Teknik Komputasi >> SIMPSON 1/3

Teknik Komputasi >> SIMPSON 1/3

/* Contoh soal Metode Simpson 1/3 untuk penyelesaian Integrasi Numerik. Bab VI Hal.
52-53 Diktat Metode Komputasi 2004 */
/* Nama Program : simpson1_3.cpp */
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#define MaksU 100
#define e  2.718281828
main()
{
FILE *simpson1_3;
double u[MaksU], x[MaksU],
h, x1, x2,
L, L1, L2;
int i, j, k, opsi;
char lagi;
do
{
clrscr();
simpson1_3 = fopen("simpson1_3.txt", "w+");
cout << "\n\nMetode Simpson 1/3 untuk Integrasi Numerik\n";
cout << "==========================================\n";
/***************************************************/
/* Setiap perubahan persamaan matematika, YAKINKAN */
/* bahwa Anda telah merubah persamaan matematika */
/* di dalam program ini -------------------------- */
/***************************************************/
cout << "\nMasukkan Batas Bawah (x1) ? ";
cin >> x1;
cout << "\nMasukkan Batas Atas (x2) ? ";
cin >> x2;
cout << "\nMasukkan Besar Interval (h) ? ";
cin >> h;
cout << "\n\nCara pemasukan data : \n\n";
cout << "1. Rumus Integral (rubah dulu kode program ssi rumus)\n";
cout << "Contoh dalam program ini adalah : integral(0-10) x^2 dx\n\n";
cout << "2. Tabel Data\n\n";
cout <<"Masukkan pilihan : ";
cin >> opsi;
switch(opsi)
{
case 1 :
{
cout << "\n\nPersamaan Integral : integral(0-10) 2x + 5 e-2 dx\n\n";
j = 0;
while(x1 != x2+h)
{
u[j] = 2*x1 + 5 e-2;
x[j] = x1;
x1 += h;
printf("\nu[%d] = %.2f", j, u[j]);
}
break;
}
case 2 :
{
cout << "\n\nPemasukan Data Berdasarkan Tabel Data\n";
cout << "-------------------------------------\n";
while(x1 != x2+h)
{
printf("\nx[%.1f] = ", x1);
cin >> u[j];
j++;
}
break;
}
default : cout << "\nTry Again .....\n\n";
}
printf("\n\nu[%d] = %.2f", j-j, u[j-j]);
printf("\tu[%d] = %.2f", j-1, u[j-1]);
printf("\th = %.2f", h);
printf("\n\n\t-------------------------------\n");
printf("\tdata ke-\tx\tU(x)\n");
printf("\t--------------------------------\n\n");
fprintf(simpson1_3,"\n\t-------------------------------\n");
fprintf(simpson1_3,"\tdata ke-\tx\tU(x)\n");
fprintf(simpson1_3,"\t--------------------------------\n\n");
//Tampilkan data x dan U(x)
for(i = 0; i < j; i++)
{
printf("\t %d\t\t%.1f\t%.2f\n", i, x[i], u[i]);
fprintf(simpson1_3,"\t %d\t\t%.1f\t%.2f\n", i, x[i], u[i]);
}
printf("\n\t--------------------------------\n\n");
fprintf(simpson1_3,"\n\t--------------------------------\n\n");
cout << "\nTekan Enter untuk melihat hasil perhitungan ......\n";
getch();
printf("\n\n\t----------------------------------------\n");
printf("\titerasi ke-\tU(x)\tL1(x)\tL2(x)\n");
printf("\t----------------------------------------\n\n");
fprintf(simpson1_3,"\n\t---------------------------------------\n");
fprintf(simpson1_3,"\titerasi ke-\tU(x)\tL1(x)\tL2(x)\n");
fprintf(simpson1_3,"\t----------------------------------------\n\n");
for(i = 1; i <= j-2; i++)
{
k = fmod(i,2);
if(k != 0)
{
L1 += u[i];
printf("\t\t%d\t%.2f\t%.2f\t%.2f\n", i, u[i], L1, L2);
fprintf(simpson1_3,"\t\t%d\t%.2f\t%.2f\t%.2f\n", i, u[i], L1,L2);
}
else
{
L2 += u[i];
printf("\t\t%d\t%.2f\t%.2f\t%.2f\n", i, u[i], L1, L2);
fprintf(simpson1_3,"\t\t%d\t%.2f\t%.2f\t%.2f\n", i, u[i], L1,L2);
}
/* Rumus Integrasi Simpson 1/3 */
L = h*(u[j-j] + 4*L1 + 2*L2 + u[j-1])/3;
}
printf("\n\t----------------------------------------\n\n");
fprintf(simpson1_3,"\n\t----------------------------------------\n\n");
printf("\nMaka Luas daerah kurva L adalah %.2f", L);
fprintf(simpson1_3,"\nMaka Luas daerah kurva L adalah %.2f", L);
fclose(simpson1_3);
cout << "\n\nCoba lagi dengan data awal yang berbeda (y/t) ? ";
}while(lagi != 't');
return 0;
}
Teknik Komputasi >> SIMPSON 3/8

Teknik Komputasi >> SIMPSON 3/8

/* Contoh soal Metode Simpson 3/8 untuk penyelesaian Integrasi Numerik Bab VI Hal. 54-
55 Diktat Metode Komputasi 2004 */
/* Nama Program : simpson3_8.cpp */
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#define MaksU 100
#define e  2.718281828
main()
{
FILE *simpson3_8;
double u[MaksU], x[MaksU],
h, x1, x2,
L, L1, L2;
int i, j, k, n, opsi;
char lagi;
do
{
clrscr();
simpson3_8 = fopen("simpson3_8.txt", "w+");
cout << "\n\nMetode Simpson 3/8 untuk Integrasi Numerik\n";
cout << "==========================================\n\n";
/***************************************************/
/* Setiap perubahan persamaan matematika, YAKINKAN */
/* bahwa Anda telah merubah persamaan matematika */
/* di dalam program ini -------------------------- */
/***************************************************/
cout << "\nMasukkan Batas Bawah (x1) ? ";
cin >> x1;
cout << "\nMasukkan Batas Atas (x2) ? ";
cin >> x2;
cout << "\nMasukkan Besar Interval (h) ? ";
cin >> h;
cout << "\n\nCara pemasukan data : \n\n";
cout << "1. Rumus Integral (rubah dulu kode program ssi rumus)\n";
cout << "Contoh dalam program ini adalah : integral(0-10) 2x + 5*(e^-2) dx\n\n";
cout << "2. Tabel Data\n\n";
cout <<"Masukkan pilihan : ";
cin >> opsi;
switch(opsi)
{
case 1 :
{
cout << "\n\nPersamaan Integral : integral(0-10) 2x + 5*(e^-2) dx";
cout << "\n ------------------------------------------\n\n";
j = 0;
while(x1 != x2+h)
{
u[j] = ((2*x1) + 5*(pow(e,-2)));
x[j] = x1;
x1 += h;
printf("\nu[%d] = %.2f", j, u[j]);
j++;
}
break;
}
case 2 :
{
cout << "\n\nPemasukan Data Berdasarkan Tabel Data\n";
cout << "-------------------------------------\n";
cout << "\nBerapa Jumlah Data yang akan diproses (lihat tabel) ?";
cin >> n;
for(i = 0, j = 0; i < n; i++, j++)
{
printf("\nx[%.2f] = ", x1);
}
break;
}
default : cout << "\nNo Good ....... Try Again, please ...\n\n";
}
/* Cetak Data Awal */
printf("\n\nu[%d] = %.4f", j-j, u[j-j]);
printf("\tu[%d] = %.4f", j-1, u[j-1]);
printf("\th = %.2f", h);
cout << "\n\nTekan Enter untuk melihat hasil perhitungan ..... \n";
getch();
printf("\n\n\t-------------------------------\n");
printf("\tdata ke-\tx\tU(x)\n");
printf("\t--------------------------------\n\n");
fprintf(simpson3_8,"\n\t-------------------------------\n");
fprintf(simpson3_8,"\tdata ke-\tx\tU(x)\n");
fprintf(simpson3_8,"\t--------------------------------\n\n");
//Tampilkan data x dan U(x)
for(i = 0; i < j; i++)
{
printf("\t %d\t\t%.2f\t%.4f\n", i, x[i], u[i]);
fprintf(simpson3_8,"\t %d\t\t%.2f\t%.4f\n", i, x[i], u[i]);
}
printf("\n\t--------------------------------\n\n");
fprintf(simpson3_8,"\n\t--------------------------------\n\n");
cout << "\nTekan Enter untuk melihat hasil perhitungan ......\n";
getch();
printf("\n\n\t----------------------------------------\n");
printf("\titerasi ke-\tU(x)\tL1(x)\tL2(x)\n");
printf("\t----------------------------------------\n\n");
fprintf(simpson3_8,"\n\t---------------------------------------\n");
fprintf(simpson3_8,"\titerasi ke-\tU(x)\tL1(x)\tL2(x)\n");
fprintf(simpson3_8,"\t----------------------------------------\n\n");
//Perhitungan Simpson 3/8
for(i = 1; i <= j-2; i++)
{
k = fmod(i,3);
if(k != 0)
{
L1 += u[i];
printf("\t\t%d\t%.4f\t%.4f\t%.4f\n", i, u[i], L1, L2);
fprintf(simpson3_8,"\t\t%d\t%.4f\t%.4f\t%.4f\n", i, u[i], L1,
L2);
}
else
{
printf("\t\t%d\t%.4f\t%.4f\t%.4f\n", i, u[i], L1, L2);
fprintf(simpson3_8,"\t\t%d\t%.4f\t%.4f\t%.4f\n", i, u[i], L1,
L2);
}
/* Rumus Integrasi Simpson 3/8 */
L = 3*h*(u[j-j] + 3*L1 + 2*L2 + u[j-1])/8;
}
printf("\n\t----------------------------------------\n\n");
fprintf(simpson3_8,"\n\t----------------------------------------\n\n");
printf("\nMaka Luas daerah kurva L adalah %.4f", L);
fprintf(simpson3_8,"\nMaka Luas daerah kurva L adalah %.4f", L);
fclose(simpson3_8);
cout << "\n\nCoba lagi dengan data awal yang berbeda (y/t) ? ";
cin >> lagi;
}while(lagi != 't');
return 0;
}
Teknik Komputasi >> Trapezoida

Teknik Komputasi >> Trapezoida

/* Contoh soal Metode Trapezoidal untuk penyelesaian Integrasi Numerik Bab VI Hal. 50-
51 Diktat Metode Komputasi 2004 */
/* Nama Program : trapezoidal.cpp */
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#define MaksU 100
#define e  2.718281828
main()
{
FILE *trapezoidal;
double u[MaksU], x[MaksU],
sum, sumx, x1, x10, x2, h,
L;
int i, j, opsi;
char lagi;
do
{
clrscr();
trapezoidal = fopen("trapezoidal.txt", "w+");
cout << "\n\nMetode Trapezoida untuk Integrasi Numerik\n";
cout << "==========================================\n\n";
/****************************************************/
/* Setiap perubahan persamaan matematika, YAKINKAN */
/* bahwa Anda telah merubah persamaan matematika */
/* di dalam program ini --------------------------- */
/****************************************************/
cout << "\nMasukkan Batas Bawah (x1) ? ";
cin >> x1;
cout << "\nMasukkan Batas Atas (x2) ? ";
cin >> x2;
cout << "\nMasukkan Besar Interval (h) ? ";
cin >> h;

cout << "\n\nPersamaan Integral : integral(0-10) 2x + 5*(e^-2) dx\n";
cout << "------------------------------------------\n\n";
cout << "\nJumlah Data yang akan diproses (lihat tabel) ? ";
cin >> j;
u[i] = 2*x1 + 5*pow(e,-2);;
sumx += h;
sum = sumx - (u[j-j] + u[j-1]);
x[i] = x1;
sumx = 0.0; /* Inisialisasi Penyimpan Sementara Penjumlahan */
x10 = x1; /* No urut x sesuai interval + h */
printf("\t\n\nh = %.2f", h);
printf("\n\n\t-------------------------------------------\n");
printf("\tdata ke-\tx\tU(x)\tSum U(x)\n");
printf("\t-------------------------------------------\n\n");
fprintf(trapezoidal,"\n\t-------------------------------------------\n");
fprintf(trapezoidal,"\tdata ke-\tx\tU(x)\tSum U(x)\n");
fprintf(trapezoidal,"\t-------------------------------------------\n\n");
{

printf("\t %d\t\t%.1f\t%.2f\t%.2f\n", i, x[i], u[i],sumx);
fprintf(trapezoidal, "\t %d\t\t%.1f\t%.2f\t%.2f\n", i,x[i], u[i], sumx);
/* Rumus Integrasi Trapezoidal */
L = (h*(u[j-j] + 2*sum + u[j-1]))/2;
}
printf("\n\t-------------------------------------------\n\n");
fprintf(trapezoidal,"\n\t-------------------------------------------\n\n");
printf("\nDengan batas bawah = %.2f, atas = %.2f dan interval %.2f\n", x10, x2, h);
fprintf(trapezoidal,"\nDengan batas bawah = %.2f, atas = %.2f dan interval %.2f\n", x10, x2, h);
printf("\nDiperoleh Luas daerah kurva L adalah %.2f", L);
fprintf(trapezoidal,"\nDiperoleh Luas daerah kurva L adalah %.2f", L);
fclose(trapezoidal);

cout << "\n\nCoba lagi dengan data yang berbeda (y/t) ? ";
cin >> lagi;
}while(lagi != 't');
return 0;
}
Teknik Komputasi >> Metode GAUSS JORDAN

Teknik Komputasi >> Metode GAUSS JORDAN

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

main()
{
int i, j;
float x1, x2, x3, x4, p, a[8][8];
char c;

clrscr();
    cout<<"======================================\n";
    cout<<"Selamat datang di program GAUSS JORDAN\n";
    cout<<"======================================\n\n";
    cout<<"  2a +  4b +  c = 68"<<endl;
    cout<<"  -a +  3b + 2c = 46"<<endl;
    cout<<"  2a -  3b + 5c = 16\n\n";
    cout<<"Bentuk persamaan: a + b + c = d"<<endl;
cout<<endl;
for(i=1;i<=3;i++)
{
cout<<"--------------\n";
cout<<"Persamaan ke-"<<i<<endl;
cout<<"--------------\n";
c='a';
for(j=1;j<=4;j++)
{
cout<<"Untuk nilai "<<c<<" = ";cin>>a[i][j];
c++;
}
cout<<endl;
}
clrscr();
cout<<"Proses 1"<<endl;
for(j=4;j>=1;j--)
{
a[1][j]=a[1][j]/a[1][1];
}
for(i=1;i<=4;i++)
{
if(i!=1)
{
p=a[i][1]/a[1][1];
for(j=1;j<=4;j++)
{
a[i][j]=a[i][j]-(p*a[1][j]);
}
}
}
for(i=1;i<=3;i++)
{
for(j=1;j<=4;j++)
{
printf(" %.2f ",a[i][j]);
}
cout<<endl;
}
cout<<""<<endl;

cout<<"Proses 2"<<endl;
for(j=4;j>=2;j--)
{
a[2][j]=a[2][j]/a[2][2];
}
for(i=1;i<=3;i++)
{
if(i!=2)
{
p=a[i][2]/a[2][2];
for(j=1;j<=4;j++)
{
a[i][j]=a[i][j]-(p*a[2][j]);
}
}
}
for(i=1;i<=3;i++)
{
for(j=1;j<=4;j++)
{
printf(" %.2f ",a[i][j]);
}
cout<<endl;
}
cout<<""<<endl;

cout<<"Proses 3"<<endl;
for(j=4;j>=3;j--)
{
a[3][j]=a[3][j]/a[3][3];
}
for(i=1;i<=3;i++)
{
if(i!=3)
{
p=a[i][3]/a[3][3];
for(j=1;j<=4;j++)
{
a[i][j]=a[i][j]-(p*a[3][j]);
}
}
}
for(i=1;i<=3;i++)
{
for(j=1;j<=4;j++)
{
printf(" %.2f ",a[i][j]);
}
cout<<endl;
}
cout<<""<<endl;

x3=a[3][4];
x2=a[2][4];
x1=a[1][4];
cout<<"Output Hasil"<<endl;
printf(" x1 = %.4f\n",x1);
printf(" x2 = %.4f\n",x2);
printf(" x3 = %.4f\n",x3);
getch();
return 0;
}
Teknik Komputasi >> Metode Gauss SEIDEL

Teknik Komputasi >> Metode Gauss SEIDEL

#include <iostream>
#include <math.h>
#include <conio.h>

int main()
{
    float a[100][100], nilai_persamaan[100], jumlah_kurang, delta, toleransi, taksiran[100], x
    [100], y[100];
    char variabel;
    int  baris, kolom, n, jumlah_persamaan, ulang, banyak_iterasi, b_i=0;

    cout<<"======================================\n";
    cout<<"Selamat datang di program GAUSS SEIDEL\n";
    cout<<"======================================\n\n";
    cout<<"Masukkan jumlah persamaan : ";
    cin>>jumlah_persamaan;
    n=jumlah_persamaan;
          for(baris=0, ulang=1; baris<=jumlah_persamaan, ulang<=jumlah_persamaan; baris++, ulang++)
          {
             cout<<"\n\n------------------------------------------\n";
             cout<<"Masukkan koefisien pada persamaan ke-"<<ulang<<" : \n";
             cout<<"------------------------------------------\n";
             for(variabel='a', kolom=0 ; variabel<=n, kolom<=n-1 ;variabel++, kolom++)//Masukan indeks persamaan
             {
                cout<<"Masukkan koefisien variabel "<<variabel<< " : ";
                cin>>a[baris][kolom];
             }
             cout<<"Masukkan nilai persamaan : ";
             cin>>nilai_persamaan[baris];
             cout<<"\n Persamaan ke-" <<ulang<<"  ==>> "; //Menampilkan persamaan
             for(variabel='a', kolom=0 ; variabel<=n, kolom<=n-1 ;variabel++, kolom++)
             {
                cout<<a[baris][kolom]<<variabel<<" + ";
             }
             cout<<"\b";
             cout<<" = "<<nilai_persamaan[baris]<<"\n";
          }
             cout<<"\n\n------------------------------------------\n";
             for(variabel='a', baris=0 ; variabel<=n, baris<=n-1 ;variabel++, baris++)
             {
                cout<<"Masukkan taksiran untuk nilai "<<variabel<<" : ";
                cin>>taksiran[baris];
             }
    cout<<"Masukkan banyak iterasi : ";
    cin>>banyak_iterasi;
 while(b_i<=banyak_iterasi-1)
   {
      cout<<"--------------------------------\n\n";
      cout<<"Iterasi ke-"<<b_i+1<<"\n";
      for(variabel='a', baris=0 ; variabel<=n, baris<=jumlah_persamaan-1; variabel++, baris++)
      {  jumlah_kurang=0;
         for(kolom=0; kolom<=n-1; kolom++)
         {
            if(baris!=kolom)
            {
               jumlah_kurang=jumlah_kurang+a[baris][kolom]*taksiran[kolom];
            }
         }
         taksiran[baris]=(nilai_persamaan[baris]-jumlah_kurang)/a[baris][baris];
         cout<<"Ini nilai variabel "<<variabel<<" : "<<taksiran[baris];
         cout<<endl;
      }
      b_i++;
   }
cout<<"\n\n";

getch();
}
Teknik Komputasi >> Metode GAUSS

Teknik Komputasi >> Metode GAUSS

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

main()
{
int i, j, k=1;
float x1, x2, x3, p, a[8][8];
char c;

clrscr();
    cout<<"===============================\n";
    cout<<"Selamat datang di program GAUSS\n";
    cout<<"===============================\n\n";
    cout<<"  2a +  4b +  c = 68"<<endl;
    cout<<"  -a +  3b + 2c = 46"<<endl;
    cout<<"  2a -  3b + 5c = 16\n\n";
    cout<<"Bentuk persamaan: a + b + c = d"<<endl;
cout<<endl;
for(i=1;i<=3;i++)
{
cout<<"--------------\n";
cout<<"Persamaan ke-"<<i<<endl;
cout<<"--------------\n";
c='a';
for(j=1;j<=4;j++)
{
cout<<c<<i<<" = ";cin>>a[i][j];
c++;
}
cout<<endl;
}
clrscr();
do
{
for(i=k+1;i<=3;i++)
{
p=a[i][k]/a[k][k];
for(j=1;j<=4;j++)
{
a[i][j]=a[i][j]-(p*a[k][j]);
}
}
cout<<"Proses "<<k<<endl;
for(i=1;i<=3;i++)
{
for(j=1;j<=4;j++)
{
printf(" %.2f ",a[i][j]);
}
cout<<endl;
}
cout<<endl;
k++;
}while(k<3);
x3=a[3][4]/a[3][3];
x2=(a[2][4]-(x3*a[2][3]))/a[2][2];
x1=(a[1][4]-(x3*a[1][3])-(x2*a[1][2]))/a[1][1];
cout<<"Output Hasil"<<endl;
printf(" x1 = %.4f\n",x1);
printf(" x2 = %.4f\n",x2);
printf(" x3 = %.4f\n",x3);
getch();
return 0;
}