loading...
loading...

Thursday, June 9, 2016

Contoh Koding METODE GAUSS SEIDEL C++


METODE GAUSS SEIDEL

Metode Gauss Seidel digunakan untuk menyelesaikan persamaan serentak. Metode ini lebih cepat  dibandingkan dengan Metode Jacobi. Metode Gauss Seidel ini menggunakan persamaan sbb :
xin1=
bi aii
−∑ j=1 i−1 aij aii
x j n1− ∑ j=i1 N aij aii
x j n persamaan 4.a
dimana : i = 1, 2,...N n = 1, 2, …
Algoritma Gauss Seidel, sbb : 1. Cek apakah susunan persamaan yang akan diselesaikan memenuhi syarat persamaan 4a. Jika ya,  maka lanjut ke langkah kedua. 2. Menyusun matriks koefisien, matriks variabel, dan matriks hasil. 3. Menentukan titik variabel x awal kemudian melakukan iterasi dengan persamaan 4a hingga  didapatkan nilai variabel x yang tidak berubah atau hampir tidak berubah dari iterasi yang  sebelumnya.
Contoh : Carilah penyelesaian dari persamaan ini menggunakan metode Gauss Seidel : 8x1x2x3=8 x1−7x22x3=−4 x12x29x3=12

Langkah pertama, menyusun urutan persamaan sehingga memenuhi persyaratan pada persamaan 3b.  Urutannya sebagai berikut :
persamaan   8x1x2x3=8 diletakkan pada posisi paling pertama dikarenakan koefisien a11  memiliki nilai paling besar. Kemudian posisi nomer dua adalah persamaan  x1−7x22x3=−4 dikarenakan koefisien a22 memiliki nilai paling besar dari ketiga persamaan. Dan yang terakhir adalah  persamaan  x12x29x3=12 .
Langkah kedua, menyusun matriks koefisien, matriks variabel dan matriks hasil. matriks koefisien : A=8 1 1 1 −7 2 −1 2 9 matriks variabel : x=x1 x2 x3 matriks hasil : h=8 −4 12
Langkah ketiga, menetukan titik awal misalnya :  x1 1,x2 1,x3 1=0 kemudian melakukan iterasi  dengan persamaan 4.a, yaitu :
x1 2=
h1 a11
−∑ j=1 0 a1j a11
x j n1−∑ j=2 3 a1j a11
x j n
x1 2=
h1 a11
−0−
a12 a11
x2 1
a13 a11
x3 1
x1 2=1−0−00=1


x2 2=
h2 a22
−∑ j=1 1 a2j a22
x j n1−∑ j=3 3 a2j a22
x j n
x2 2=
h2 a22
−0−
a21 a22
x1 2
a23 a22
x3 1
x2 2=0.571−−1/70=0.7147
x3 2=
h2 a22
−∑ j=1 2 a3j a33
x j n1−∑ j=4 3 a3j a33
x j n
x3 2=
h3 a33
−0−
a31 a33
x1 2
a32 a33
x2 2
x3 2=1.333−2/90.714/9=1.032 Setelah dilanjutkan sampai iterasi ke­N ditemukan hasil dari  x1,x2,x3=1 .


untuk coding C++ nya sebagai berikut


#include <stdio.h>
#include <math.h>
#include <conio.h>
using namespace std;

float Fungsi(float x);
float FungsiTurunan(float x);

int main()
{
int n=0;
float x[100];
float e = 0.0001;

printf(" Program Newton Rapshon \n");
printf(" ====================== \n\n");
printf("Persamaan Fungsi y=x^4-9*x^2+2*x\n");
printf("\n");
printf("Nilai e = 0.0001\n\n");

printf("Masukkan nilai x Awal : "); scanf("%f",&x[0]);

do
{
x[n+1] = x[n] - (Fungsi(x[n])/FungsiTurunan(x[n]));
printf("! %d  ! %2.4f  ! %2.4f ! %2.4f ! %2.4f ! %2.4f !\n", n, x[n],Fungsi(x[n]), FungsiTurunan(x[n]),Fungsi(x[n])/FungsiTurunan(x[n]),x[n+1]);
n++;
}
while(abs(x[n-1]-x[n-2])>e);
printf("! %d  ! %2.4f  ! %2.4f ! %2.4f ! %2.4f ! %2.4f !\n", n, x[n],Fungsi(x[n]), FungsiTurunan(x[n]),Fungsi(x[n])/FungsiTurunan(x[n]),x[n+1]);
printf("==================================================================\n\n");
printf("Jadi, Hasil yang memenuhi dari persamaan tersebut x = %2.4f", x[n]);
getch();
}

float Fungsi(float x)
{
return pow(x,2)+(3*x)-10;
}

float FungsiTurunan(float x)
{
return 2*x+3;
}

thanks for read my posting
jangan lupa share dan commend yah
terima kasih
www.ayeey.com www.resepkuekeringku.com www.desainrumahnya.com www.yayasanbabysitterku.com www.luvne.com www.cicicookies.com www.tipscantiknya.com www.mbepp.com www.kumpulanrumusnya.com www.trikcantik.net

0 comments:

Post a Comment