METODE ITERASI GAUSS-SEIDEL DALAM SISTEM PERSAMAAN LINEAR

Penulis: Dr. Eng. Supriyanto, M.Sc, email: supri@fisika.ui.ac.id Staf Lab. Komputer, Departemen Fisika, Universitas Indonesia Pengenalan metode iterasi Metode Iterasi Gauss-Seidel merupakan modifikasi dari metode Iterasi Jacobi. Modifikasi tersebut terletak pada rumus berikut:
(k) xi

=

i−1 j=1

aij xj

(k)

n j=i+1

aij xj

(k−1)

+ bi

aii

(1)

dimana i=1,2,3,...,n. Untuk lebih jelasnya, marilah kita perhatikan contoh berikut, diketahui sistem persamaan linear Ax = b yaitu 10x1 − x2 + 2x3 = 6 −x1 + 11x2 − x3 + 3x4 = 25 2x1 − x2 + 10x3 − x4 = −11 3x2 − x3 + 8x4 = 15 Lalu, sistem persamaan tersebut diubah susunannya menjadi seperti ini x1 x2 x3 x4
(k) (k) (k) (k)

1 (k−1) 2 (k−1) 6 x2 − x3 + 10 10 10 1 (k) 1 (k−1) 3 (k−1) 25 x + x3 = − x4 + 11 1 11 11 11 2 (k) 1 (k) 1 (k−1) 11 = − x1 + x2 + x4 − 10 10 10 10 3 (k) 1 (k) 15 = − x2 + x3 + 8 8 8 =
(0) (0) (0)

Misalnya kita tentukan nilai-nilai awal x (0) sebagai berikut x1 = 0, x2 = 0, x3 = 0 dan x4 = 0. Atau dinyatakan seperti ini x(0) = (0; 0; 0; 0)t. Maka pada k = 1 kita akan
(0)

1

0025 -1.0036 0. problem sistem persamaan linear yang sama. 1)t Marilah kita amati hasil seluruh iterasi.0001 2.3272 0.6000 2.014 0. k (k) x1 (k) x2 (k) x3 (k) x4 0 0. Begitu seterusnya proses ini diulangulang lagi untuk nilai-nilai k berikutnya sampai x (k) mendekati solusi yang sesungguhnya.9999 5 1. yaitu x = (1.memperoleh nilai-nilai x(1) sebagai berikut x1 x2 x3 x4 (1) (1) (1) (1) = 0. 8789 Lalu proses perhitungan diulangi lagi dengan k = 2.0003 0. 9873 = 0.0065 2... 6000 = 2. hitunglah xi = − i−1 j=1 aij xj − n j=i+1 aij XOj + bi aii 2 .9873 -1.0003 -1.0000 0...9844 3 1.8789 2 1. akan tetapi ternyata ditemukan kondisi yang sebaliknya pada kasus-kasus yang lain. Algoritma Iterasi Jacobi • Langkah 1: Tentukan k=1 • Langkah 2: Ketika (k ≤ N) lakukan Langkah 3-6 – Langkah 3: Untuk i=1.030 2.n. 2.0000 0.0009 2.9983 4 1.037 -1.0000 1. Ya.0000 -0. −1. Kita bisa saksikan bahwa dibandingkan dengan iterasi Jacobi.0000 1 0. bisa kita simpulkan bahwa iterasi Gauss-Seidel bekerja lebih efektif dibandingkan iterasi Jacobi.0000 Dari kasus ini..0000 0. memang secara umum demikian.. Tabel di bawah ini menampilkan hasil perhitungan hingga iterasi yang ke-5. 3272 = −0. bisa diselesaikan oleh metode iterasi GaussSeidel dalam 5 kali iterasi.

N 3 . xn ) lalu STOP – Langkah 5: Tentukan k=k+1 – Langkah 6: Untuk i=1.A..ITMAX WRITE(*.J.’) ? ’ READ (*.’(1X.A)’) ’JUMLAH ITERASI MAKSIMUM ? ’ READ (*.A.*) WRITE (*.’.. maka keluarkan OUTPUT (x1 .n.*) ’MASUKAN NILAI AWAL UNTUK XO’ DO 72 I = 1.*) N WRITE (*.*) WRITE(*.I.XO(10) REAL A.B(10).I2.I.*) EPS WRITE (*.’) = ’ 62 READ (*.A.I2.’.X.*) ITMAX WRITE (*.*) ’==> ITERASI GAUSS-SEIDEL UNTUK SISTEM LINEAR <==’ WRITE(*. .A)’) ’JUMLAH PERSAMAAN ? ’ READ (*.10)..’(1X.S2 INTEGER N.N DO 62 J = 1.*) A(I.*) ’MASUKAN ELEMEN-ELEMEN MATRIK A DAN VEKTOR B’ DO 52 I = 1.– Langkah 4: Jika x − XO < .’(1X.’(1X... tentukan XO i = xi • Langkah 7: OUTPUT (’Iterasi maksimum telah terlampaui’) lalu STOP Program dalam Fortran IMPLICIT NONE DIMENSION A(10.I.A)’) ’NILAI EPSILON ATAU TOLERANSI ? ’ READ (*.A)’) ’B(’.N WRITE (*.NORM.XO.EPS.X(10).’(1X.I2.*) 52 CONTINUE WRITE (*.*) B(I) WRITE (*.K.B.J..S1.A)’) ’A(’.J) CONTINUE WRITE (*.

’(1X.WRITE (*.’(1X.0 DO 20 J=I+1.N 20 S1 = S1-A(I.N) CONTINUE WRITE (*.0 4 .J)*XO(J) CONTINUE S2 = 0.A)’) ’MATRIK A:’ DO 110 I = 1.A)’) ’VEKTOR B:’ DO 111 I = 1.*) XO(I) 72 C CONTINUE WRITE (*.N 110 C WRITE (*.*) MENAMPILKAN MATRIK A WRITE (*.I) CONTINUE SAYA PILIH NORM-2.ITMAX) GOTO 200 LANGKAH 3 DO 10 I = 1.6) B(I) CONTINUE WRITE (*.N 111 C C 100 C WRITE (*.’) ? ’ READ (*.A)’) ’XO(’.0 DO 23 J=1.N S1 = 0.*) MENAMPILKAN VEKTOR B WRITE (*. ANDA BOLEH PAKAI NORM YANG LAIN! NORM = 0.A.I.GT.*) LANGKAH 1 K = 1 LANGKAH 2 IF(K.J=1.I2.J).’(1X.J)*X(J) 23 10 C CONTINUE X(I) = (S2+S1+B(I))/A(I.I-1 S2 = S2-A(I.6) (A(I.

A.I3)’) ’ITERASI KE-’. *’ .F14.’(1X.F14.com. K WRITE(*.A.I3.8)’) (’X(’.’.(6(1X.’(1X.8))) FORMAT(1X.NORM GOTO 400 END IF C C LANGKAH 5 K = K+1 LANGKAH 6 DO 30 I=1.7) K. NORM= ’. Saya cukupkan sementara sampai disini.F14. NORM WRITE(*.*) C LANGKAH 4 IF(NORM. Insya Allah akan saya sambung lagi dilain waktu.N 40 NORM = NORM + (X(I)-XO(I))*(X(I)-XO(I)) CONTINUE NORM = SQRT(NORM) WRITE(*.’KONVERGEN PADA ITERASI YANG KE.DO 40 I=1.I=1.A.F14.8) FORMAT(1X.I3. 5 .A.N) WRITE(*.EPS) THEN WRITE(*.8)’) ’NORM-2 = ’.’(1X.LE.’) = ’. silakan hubungi saya melalui email: supri92@gmail. X(I).N XO(I) = X(I) 30 C 200 400 5 6 7 9 CONTINUE GOTO 100 LANGKAH 7 CONTINUE WRITE(*.I.9) STOP FORMAT(1X. Kalau ada yang mau didiskusikan.I3) FORMAT(1X.’MELEBIHI BATAS MAKSIMUM ITERASI’) END Demikianlah catatan singkat dari saya tentang metode Iterasi Gauss-Seidel.

Sign up to vote on this title
UsefulNot useful