Membuat Aplikasi Perhitungan Metode Gauss-Seidel dengan C++

Bagi sobat yang sedang belajar bahasa pemrograman C++
ini adalah salah satu contoh aplikasinya yaitu untuk mengitung nilai variable pada persamaan linear dengan memberi inputan berupa jumlah iterasi yang diinginkan dan besar error yang diizinkan.

silahkan coba sintax dibawah ini

/*
 * File     : C++
 * Metode   : Gauss Seidel
 * Author   : Aditya R.
 *
 * Created on May 27, 2013, 10:38 PM
 */

#include <iostream>
#include <stdlib.h>
#include <math.h>
#include <iomanip>

using namespace std;

int main()
{
   cout<<"_____________________________________\n";
   cout<<"| File     : Tugas Metode Numerik   |\n";
   cout<<"| Metode   : Gauss Seidel           |\n";
   cout<<"| Nama     : Aditya R.                   |\n";
   cout<<"| Kelas    : A                      |\n";
   cout<<"|___________________________________|\n\n";

  float x,y,z,j,k,l,s1,s2,s3,e;
  float a11=4, a12=-1, a13=1, c1=7, a21=4, a22=-8, a23=1, c2=-21, a31=-2, a32=1, a33=5, c3=15;
  int n,i,g=0;

  cout<<"Diketahui SPL sebagai berikut\n\n";
  cout<<a11<<"x+"<<a12<<"y+"<<a13<<"z ="<<c1<<endl;
  cout<<a21<<"x+"<<a22<<"y+"<<a23<<"z ="<<c2<<endl;
  cout<<a31<<"x+"<<a32<<"y+"<<a33<<"z ="<<c3<<endl<<endl;

  /*memasukkan besar nilai error dan iterasi max yang diinginkan*/
  cout<<"Toleransi Error : ";
  cin>>e;
  cout<<endl<<"jumlah iterasi yang diinginkan : ";
  cin>>i;

  cout<<"----------------------------------------------------------------------------\n";
  cout<<"Iterasi x       y       z         Error 1         Error 2         Error 3 \n";

  /*Pada iterasi ke 0 nilai X = 0 dan error belum ada */
  n=0;
  x=0;
  y=0;
  z=0;

  cout<<n;
  cout<<"\t"<<x;
  cout<<"\t"<<y;
  cout<<"\t"<<z;
  cout<<"\t  ";
  cout<<"\t  ";
  cout<<"\t  "<<endl;

  /*menghitung nilai X dan error dari iterasi pertama sampai iterasi yang diinginkan */
  for (n=1;n<=i;n++)
  {
    /* menentukan nilai X lama*/
    j=x;
    k=y;
    l=z;

    /* menghitung nilai X baru*/
    x=(c1-a12*y-a13*z)/a11;
    y=(c2-a21*x-a23*z)/a22;
    z=(c3-a31*x-a32*y)/a33;

    /* menghitung nilai error*/
    s1=((x-j)/x)*100;
    s2=((y-k)/y)*100;
    s3=((z-l)/z)*100;

    /*keluaran dari hasil pengiterasian*/
    cout<<n;
    cout<<"\t"<<x;
    cout<<"\t"<<y;
    cout<<"\t"<<z;
    cout<<"\t"<<setw(8)<<s1;
    cout<<"\t"<<setw(8)<<s2;
    cout<<"\t"<<setw(8)<<s3<<endl;

    /*menentukan letak iterasi yang memenuhi syarat error*/
    if (g<=0)
    {
     if (s1<=e)
     {
      if (s2<=e)
      {
       if (s3<=e)
       {
        g=n;
       }
      }
     }
    }
 
  }
  cout<<"----------------------------------------------------------------------------\n\n";
   
  /*keluaran iterasi yang memenuhi syarat error*/
  if (g>0)
  {
   cout<<"toleransi terpenuhi pada iterasi ke : "<<g<<endl<<endl;
  }
  else
  {
   cout<<"toleransi tidak terpenuhi, jumlah iterasi kurang\n\n";
  }

    system ("PAUSE");
    return 0;
}

kemudian runing program, maka hasilnya seperti berikut.


sekian tutorial membuat aplikasi perhitungan gauss seidel dari saya, semoga bermanfaat.

0 komentar:

Posting Komentar

TERIMAKASIH !!!
sudah membaca artikel di THOUSAND ES, jika ada yang salah atau ada pendapat lain tentang ARTIKEL diatas, silahkan tinggalkan saran dan komentar anda di kolom komentar.

Segala kritik, saran, dan masukan yang diterima akan kami pertimbangkan dengan baik, karena kami sadar bahwa blog THOUSAND ES masih jauh dari sempurna.