PENYELESAIAN PERSAMAAN LINEAR SERENTAK
Persamaan Linear serentak adalah suatu persamaan dengan variabel bebas,
misalnya :
y1 = a11x1 + a12x2 + a13x3 +... + a1nxn
y2 = a21x1 + a22x2 + a23x3 +... + a2nxn
y2 = a31x1 + a32x2 + a33x3 +... + a3nxn
Penyelesaian dari persamaan tersebut bisa menggunakan bantuan matriks. Namun untuk ordo (jumlah variabel dan jumlah persamaan) yang tinggi, penyelesaian dapat menggunakan nilai pendekatan. Oleh sebab itu, metode numerik bisa digunakan untuk persamaan ini.
Metode yang bisa dipakai akan dijelaskan di bawah ini.
METODE JACOBI
Metode iterasi Jakobi adalah metode penyelesaian persamaan serentak melalui proses iterasi dengan menggunakan persamaan sbb :
x1 n1=hi/aii−∑ j=1 n
aij/aiix j n...3a
dimana j <> i
Kelemahan dari metode ini adalah : 1. Jika ordo persamaan cukup tinggi maka konsumsi waktu untuk eksekusi program menjadi lama. 2. Metode ini hanya bisa dipakai jika persamaan yang akan diselesaikan memenuhi syarat persamaan berikut
∣aii∣∑ j=1 n
∣aij∣,i=1,2,...,Npersamaan3b
dimana j <> I
Berikut algoritma Metode Jacobi 1. Cek apakah susunan persamaan yang akan diselesaikan memenuhi syarat persamaan 3b. Jika ya, maka lanjut ke langkah kedua. 2. Menyusun matriks koefisien, matriks variabel, dan matriks hasil. 3. Langkah ketiga adalah menentukan titik variabel x awal kemudian melakukan iterasi dengan persamaan 3a hingga didapatkan nilai variabel x yang tidak berubah atau hampir tidak berubah dari iterasi yang sebelumnya.
Contoh : Carilah penyelesaian dari persamaan sbb : 8x1x2x3=8 x1−7x22x3=−4 x12x29x3=12
Langkah pertama, menyusun urutan persamaan sehingga memenuhi persyaratan pada persamaan 3b. Urutannya sebagai berikut : persamaan 8x1x2x3=8 diletakkan pada posisi paling pertama dikarenakan koefisien a11 memiliki nilai paling besar. Kemudian posisi nomer dua adalah persamaan x1−7x22x3=−4 dikarenakan koefisien a22 memiliki nilai paling besar dari ketiga persamaan. Dan yang terakhir adalah persamaan x12x29x3=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, menentukan titik awal variabel, misal diambil nilai awal dari x1, x2, x3 = 0. Kemudian melakukan iterasi dengan persamaan 3a hingga nilai x1, x2, x3 tidak berubah. Contoh iterasi pertama sbb : x1=8 8 −a12 a11 x2 a13 a11 x3 x1=8/8−00=1
x2=−4 −7
−a21 a22
x1
a23 a22
x3 x2=0.571−00=0.571
x3=12 9
−a31 a33
x1
a32 a33
x2 x3=1.333−00=1.333 setelah dilanjutkan hingga iterasi ke 8 maka hasil dari x1, x2, x3 semuanya adalah 1.
berikut adalah contoh programnya
#include <iostream>
#include <math.h>
#include <conio.h>
#include<stdio.h>
using namespace std;
//Iterasi Jacobi
int main(){
int i, j;
int n = 3;
double A['n']['n']={{4.,-10.,7.},
{3., -8., 3.},
{3., 2., -7.}};
double b['n']={30., -8., 15.};
double xi['n']={0., 0., 0.};
double itmax = 10;
double iter = 0;
double xf['n'], sum;
cout<<"Program Persamaan Metode Jacobi\n";
cout<<"Matriks A : \n";
for (i=0; i<n; i++){
for (j=0; j<n; j++){
cout<<A[i][j]<<"\t";
}
cout<< "Vektor b : \n";
for (i=0; i<n; i++){
cout<< b[i]<<"\t";
}
cout<<"Tebakan awal x(k=0): \n";
for(i=0; i<n; i++){
cout<<xi[i]<<" ";
}
cout<<endl;
cout<<"Nilai barisan Solusi x(k) : \n"<<endl;
do{
for (i=0; i<n; i++){
sum = 0.;
for(j=0; j<n; j++){
if (j != i){
sum = sum - A[i][j]*xi[j];
}
}
xf[i] = (b[i] + sum)/A[i][i];
}
for (i=0; i<n; i++){
xi[i] = xf[i]; //tukAR X(K) DENGAN X(K+1)
cout<<(" ",xf[i])<<endl;
}
cout<<endl;
iter++;
}
while(itmax>iter);
getch();
return 0;
}
}
jangan lupa commend yah untuk kelanjutan posting selanjutnya
terima kasih

0 comments:
Post a Comment