Metode Gauss-Seidel

Metode Gauss-Seidel digunakan untuk menyelesaikan sistem persamaan linear (SPL) berukuran besar dan proporsi koefisien nolnya besar, seperti sistem-sistem yang banyak ditemukan dalam sistem persamaan diferensial. Metode iterasi Gauss-Seidel dikembangkan dari gagasan metode iterasi pada solusi persamaan tak linier.

Teknik iterasi seperti Metode Gauss-Seidel jarang digunakan untuk menyelesaikan SPL berukuran kecil karena metode-metode langsung seperti metode eliminasi Gauss lebih efisien daripada metode iteratif. Akan tetapi, untuk SPL berukuran besar dengan persentase elemen nol pada matriks koefisien besar, teknik iterasi lebih efisien daripada metode langsung dalam hal penggunaan memori komputer maupun waktu komputasi. Dengan metode iterasi Gauss-Seidel sesatan pembulatan dapat diperkecil karena dapat meneruskan iterasi sampai solusinya seteliti mungkin sesuai dengan batas sesatan yang diperbolehkan.

Metode iterasi Gauss-Seidel untuk menyelesaikan sistem persamaan linear

Suatu sistem persamaan linier terdiri atas sejumlah berhingga persamaan linear dalam sejumlah berhingga variabel. Menyelesaikan suatu sistem persamaan linier adalah mencari nilai-nilai variabel yang belum diketahui yang memenuhi semua persamaan linier yang diberikan.

Rumus iterasi untuk hampiran ke-k pada metode iterasi Gauss-Seidel adalah sebagai berikut. Untuk i = 1, 2, …, n dan k = 1, 2, 3, …,

Algoritma Iterasi Gauss-Seidel

Untuk menyelesaikan sistem persamaan linier AX = b dengan A adalah matriks koefisien n × n, b vektor konstanta n × 1, dan X vektor n × 1 yang perlu di cari.

INPUT: n, A, b dan hampiran awal Y = (y1 y2 y3 ...yn)T, batas toleransi T dan maksimum iterasi N.

OUTPUT: X = (x1 x2 x3 ...xn)T atau pesan "gagal".

LANGKAH-LANGKAH:

1. Set penghitung iterasi k = 1
2. WHILE k <= N DO
(a) FOR i = 1, 2, 3, ..., n, hitung:
(b) Set X = (x1 x2 x3 ...xn)T
(c) IF ||X - Y|| < T THEN STOP
(d) Tambah penghitung iterasi, k = k + 1
(e) FOR i = 1, 2, 3, ..., n, Set yi = xi
(f) Set Y = (y1 y2 y3 ...yn)T
3. Tulis pesan "metode gagal setelah N iterasi"
4. STOP.

Implementasi dengan MATLAB

function [X1,g,H] = seidel(A,b,X0,T,N)

H = X0';

n = length(b);

X1 = X0 ;

for k=1:N,

for i=1:n,
S=b(i)-A(i,1:i-1)*X1(1:i-1)-A(i,i+1:n)*X0(i+1:n);
X1(i)=S/A(i,i);
end
g=abs(X1-X0);
err=norm(g);
relerr=err/(norm(X1)+eps);
X0=X1;
H=[H,X0'];
if(err<T)|(relerr<T),break,end

end

Contoh

Sebagai gambaran misalkan mencari penyelesaian SPL

10x1 - x2 +2x3=6

-x1+11x2-x3+3x4=25

2x1-x2+10x3-x4=-11

3x2-x3+8x4=15

Berikut pemakaian fungsi MATLAB seidel untuk penyelesaian soal di atas dan keluaran yang diperoleh:

>> A=[10 -1 2 0;-1 11 -1 3;2 -1 10 -1;0 3 -1 8]

A =

   10    -1     2     0
   -1    11    -1     3
    2    -1    10    -1
    0     3    -1     8

>> b=[6;25;-11;15]

b =

    6
   25
  -11
   15

>> X0=[0;0;0;0]

X0 =

    0
    0
    0
    0

>> T=0.0001;N=25;

>> [X,g,H]=seidel(A,b,X0,T,N)

X =

   1.0000
   2.0000
  -1.0000
   1.0000

g =

 1.0e-004 *
   0.8292
   0.2017
   0.2840
   0.1111

H =

 Columns 1 through 5 
        0         0         0         0    0.6000
 Columns 6 through 10 
   2.3273   -0.9873    0.8789    1.0302    2.0369
 Columns 11 through 15 
  -1.0145    0.9843    1.0066    2.0036   -1.0025
 Columns 16 through 20 
   0.9984    1.0009    2.0003   -1.0003    0.9998
 Columns 21 through 25 
   1.0001    2.0000   -1.0000    1.0000    1.0000
 Columns 26 through 28 
   2.0	     -1.0000    1.0000

Proses iterasi dapat diulangi sampai tingkat keakuratan yang diinginkan tercapai, penyelesaian eksak contoh di atas adalah (1, 2, -1, 1).

Daftar Pustaka

Munir, R. 2003. Metode Numerik. Informatika. Bandung.

Sahid. 2005. Pengantar Komputasi Numerik dengan MATLAB. Andi. Yogyakarta.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.