Penyelesaian Persamaan Linear Simultan, Ax = B
Telah dilakukan
percobaan 3 yaitu penyelesaian persamaan linear simultan, Ax=B dengan menggunakan
tiga buah metode, yaitu metode Gauss, metode eliminasi Gauss Jordan dan metode
iteratif Gauss Seidel. Pada metode eliminasi gauss diperoleh hasil berupa
matriks berorde 3x1 dan berupa vektor kolom yang bernilai [-4;10;5]. Dan
diperoleh hasil x senilai 3.6167; 2.6500; dan 2.8333. Sedangkan pada penggunaan
metode gauss-jordan hasil yang diperoleh tidak jauh berbeda dengan penggunaan
metode gauss sendiri, hanya hasil x yang berbeda. Pada metode gauss-seidel
hasil yang diperoleh juga tidak berbeda dengan kedua metode sebelumnya. Pada
gauss-seidel dicari dengan penggunaan iterasi hingga seratus. Penyelesaian
suatu sistem persamaan linier adalah suatu himpunan nilai yang memenuhi secara
serentak (simultan) semua persamaan-persamaan dari sistem tersebut. Atau
secara sederhana penyelesaian sistem persamaan linier adalah menentukan titik
potong dari dua persamaan linier.
Persamaan linier
simultan adalah suatu bentuk persamaan-persamaan yang secara bersama-sama
menyajikan banyak variabel bebas.
Penyelesaian suatu sistem persamaan linier adalah suatu himpunan nilai
yang memenuhi secara serentak (simultan) semua persamaan-persamaan dari
sistem tersebut. Atau secara sederhana penyelesaian sistem persamaan linier
adalah menentukan titik potong dari dua persamaan linier. Untuk menyelesaikan
permasalahan-permasalahan persamaan linier simultan dapat dilakukan dengan
menggunakan metode-metode analitik seperti pemakaian metode grafis, aturan
Crammer, atau invers matrik. Metode-metode tersebut dapat dilakukan dengan
mudah bila jumlah variabel dan jumlah persamaannya di bawah 4, tetapi bila ukurannya
besar maka metode-metode di atsa menjadi sulit dilakukan, sehingga pemakaian
metode numerik menjadi suatu alternatif yang banyak digunakan. Metode numerik
yang dapat digunakan untuk menyelesaikan permasalahan persamaan linier simultan
antara lain:
(1) Metode Eliminasi Gauss
function x=GAUSS(n,A,b)
vb=(1:n);
for i=1:n-1
ib=vb(i); %proses pivoting
maxi=abs(A(ib,i));
bar=i;
ibx=ib;
for
bars=i+1:n
ib=vb(bars);
if(abs(A(ib,i)))>maxi
maxi=abs(A(ib,i));
bar=bars;
ibx=ib;
end
end
ib=vb(i);
vb(i)=ibx;
vb(bar)=ib;
ib=vb(i); %proses eliminasi
for
j=i+1:n
ibx=vb(j);
m=-A(ibx,i)/A(ib,i);
for k=i:n
A(ibx,k)=A(ibx,k)+m*A(ib,k);
end
b(ibx)=b(ibx)+m*b(ib);
end
end
ib=vb(n);
%subtitusi balik
x(n)=b(ib)/A(n,n);
for i=n-1:-1:1
ib=vb(i);
sum=b(ib);
for j=i+1:n
sum=sum-A(ib,j)*x(j);
end
x(i)=sum/A(ib,i);
end
return
%SPL-sistem persamaan linier
clear;help splgaus;
A=input('matriks A:');
b=input('vektor
kolom b:');
n=length(b);
x=GAUSS(n,A,b);
x
(2) Metode Eliminasi Gauss-Jordan
function x=GJORD(n,A,b)
%fungsi untuk
melakukan eliminasi Gauss-Jordan
%untuk menyelesaikan
SPL Ax=b
%n=dimensi matriks
%b=vektor ruas kanan
vb=(1:n);
for kol=1:n
for
bar=1:n
if(kol==bar)
%proses vipoting
ib=vb(kol);
maxi=abs(A(ib,kol));
i=kol;
ibx=ib;
for bars=i+1:n
ib=vb(bars);
if(abs(A(ib,kol)))>maxi
maxi=abs(A(ib,kol));
i=bars;
ibx=ib;
end
end
ib=vb(kol);
vb(kol)=ibx;
vb(i)=ib;
else
%proses eliminasi
ib=vb(bar);
ibx=vb(kol);
m=-A(ib,kol)/A(ibx,kol);
for j=kol:n
A(ib,j)=A(ib,j)+m*A(ibx,j);
end
b(ib)=b(ib)+m*b(ibx);
end
end
end
%nilai elemen X
for i=1:n
ib=vb(i);
x(i)=b(ib)/A(ib,i);
end
return
%SPL-sistem
persamaan linier
clear;help spljord;
A=input('matriks A:');
b=input('vektor kolom:');
n=length(b);
x=GJORD(n,A,b);
x
3) Metode Iterasi Gauss-Seidel
function x=SEIDEL(n,A,b)
%fungsi untuk
melakukan iterasi Gauss-Seidel
%mencari solusi
sistem persamaan linier Ax=b
%n=dimensi vektor x
%A=matriks koefisien
%x=vektor variabel
%b=vektor ruas kanan
%pivoting matriks A
vb=1:n;
for i=1:n
ib=vb(i);
bar=i;
ibx=ib;
m=abs(A(ib,i));
for
j=i+1:n
ib=vb(j);
if(abs(A(ib,i))>m)
m=abs(A(ib,i));
bar=j;
ibx=ib;
end
end
ib=vb(i);
vb(i)=ibx;
vb(bar)=ib;
end
%proses iterasi
k=0;
for i=1:n
xk(i)=0.0;
end
tol=5.0e-5;
delta=1.6e-4;
maxstep=300;
while((ktol))
for
i=1:n
ib=vb(i);
m=b(ib);
for j=i+1:n
m=m-A(ib,j)*xk(j);
end
for j=1:i
if(i==j)
x(i)=m/A(ib,i);
else
m=m-A(ib,j)*x(j);
end
end
end
%periksa error
delta=0.0;
for
i=1:n
a=(x(j)-xk(i));
dx(i)=abs(a);
xk(i)=x(i);
if(dx(i)>delta)
delta=dx(i);
end
end
k=k+1;
fprintf('iterasi ke-%g',k);
x
end
return
%SPL-sistem persamaan linier
clear;help splseid;
A=input('matriks A:');
b=input('vektor
kolom b:');
n=length(b);
x=SEIDEL(n,A,b);
x
Metode eliminasi Gauss-Jordan merupakan teknik lain untuk menyelesaikan persamaan linear simultan. Proses penyelesaian pada metode ini hampir sama dengan metode eliminasi Gauss. Perbedaanya adalah dalam eliminasi Gauss-Jordan elemen-elemen diatas pivot dieliminasi pada saat yang bersamaan sebagaimana dilakukan pada elemen-elemen dibawahnya. Dengan demikian tahap substitusi mundur tidak diperlukan dalam metode eliminasi Gauss-Jordan. Karenanya langkah penyelesainnya lebih singkat, jika dibandingkan pada penyelesaian dengan metode eliminasi Gauss. Sebagaimana dalam eliminasi Gauss, operasi perputaran antar baris dan antar kolom atau antar kolom saja juga dapat diterapkan dalam metode Gauss-Jordan. Selipun demikian metode ini relative kurang efisien dibandingkan dengan eliminasi Gauss, hal itu dikarenakan adanya kebutuhan operasi-operasi aritmatika yang banyak pada langkah-langkah penyelesainnya.
Untuk mendapatkan laporan lengkapnya silahkan mengikuti tautan berikut untuk: Download Penyelesaian Persamaan Linear Simultan, Ax = B.