Untuk mencari akar (solusi) persamaan linier simultan, metode numerik yang digunakan adalah :
x1 x2 : xn x
b1 b2 bm b
Solusi dari SPL Ax = b adalah nilai-nilai dari x1, x2, , xn memenuhi persamaan ke -1 s/d ke m Metode Eliminasi Gauss Misalkan: A(n x n), sehingga SPL: Ax = b dengan A(n x n), x(n x 1) dan B(n x 1). Untuk menentukan solusi SPL tersebut dilakukan dalam 2 langkah utama : Langkah 1: Mengeliminir x1 s/d x2 atau dpl membuat Ax = b menjadi bentuk A*x = b* dengan A* adalah matriks segitiga atas Langkah 2: Melakukan substitusi mundur (back substitutions) sehingga di peroleh Xn, xn-1, xn-2,,x2, x1 Contoh: a11x1 + a12x2 + a13x3 = a14 a21x1 + a22x2 + a23x3 = a24 a31x1 + a32x2 + a33x3 = a34
Eliminasi x1 pada baris ke dua dpl. Membuat koefisien x1 pada baris ke
NEXT j
Eliminir x1 pada baris ke tiga
diperoleh:
x3 = a34/a33
Substitusi x3 ke persamaan ke 2, sehingga diperoleh:
FOR i = 1 to n FOR j = 1 to n + 1 INPUT (aij) NEXT j NEXT I FOR k = 1 to n 1 FOR i = k + 1 to n u = aik/akk FOR j = k to n + 1 aij = aij u * akj NEXT j NEXT I
NEXT k xn = an n+1/ann FOR i = n 1 DOWNTO 1 sum = 0 FOR j = i + 1 to n sum = sum + aij * xj NEXT j xi = (ai n+1 sum)/aii NEXT i FOR i = 1 to n OUTPUT (xi)
NEXT i
Perhatian !
Dalam mengeliminir xk, selalu dihitung aik/akk, selanjutnya dinyatakan
dengan variabel u. Bila |akk| 0 maka berbahaya karena u bisa mengandung error yang besar
Untuk menghindarinya, susun kembali SPL nya |akk| selalu yang
FOR k = 1 to n-1 max = abs(akk) p=k FOR m = k + 1 to n IF abs(amk) > max THEN max = abs(amk) p=m ENDIF NEXT m IF max THEN OUTPUT (ILLCONDITION) STOP
ENDIF IF p k THEN FOR i = k TO n+1 temp = akl akl = apl apl = temp NEXT i ENDIF FOR i = k+1 TO n u = aik/akk FOR j = k TO n+1 aij = aij u * akj NEXT j NEXT i NEXT k
Metode Eliminasi Gauss Jordan Untuk mencari solusi SPL, dilakukan dalam 3 langkah utama :
1. Transformasikan A dari Ax = b menjadi A* (segitiga atas) dari A*x =
b*
2. Transformasikan A* (hasil dari langkah 1) menjadi A** (matriks
a11x1 + a12x2 + + a1nxn = a1(n+1) .. (1) a21x1 + a22x2 + + a2nxn = a2(n+1) .. (2) :
Tebak sebarang nilai awal untuk variabel x2 , x3 , ... , xn . Namakan nilai awal tersebut x20 , x30 , , xn0 . Langkah ke-2 : Substitusikan x20 , x30 , , xn0 ke SPL (1) untuk memperoleh nilai x1 lalu namakan dengan x11 .
Langkah ke-3 :
Substitusikan x11 , x30 , x40 , , xn0 ke SPL (2) untuk memperoleh nilai x2 lalu namakan dengan x21 . Langkah ke-4 : Substitusikan x11 , x21 , x40 , x50 , , xn0 ke SPL (3) untuk memperoleh nilai x3 lalu namakan dengan x31 .
Langkah ke-5 :
dan seterusnya, sampai diperoleh x11 , x21 , x31 , , xn-11 , selanjutnya substitusika ke SPL (n) untuk memperoleh nilai xn lalu namakan dengan xn1 . xn-11 ( Iterasi ke-1 selesai dengan diperolehnya nilai : x11 , x21 , x31 , , , xn 1 . )
Langkah ke-6 :
Ulangi langkah ke-2 s/d ke-5 (substitusikan x21 , x31 , , xn1 ke SPL (1) untuk memperoleh nilai x1 lalu namakan dengan x12 ). Sampai nanti diperoleh nilai x12 , x22 , x32 , , xn-12 , xn2 .
Langkah ke-7 :
Iterasi berakhir pada iterasi ke-k, bila : | xjk xjk+1 | < T dengan T nilai toleransi kesalahan yang sudah ditetapkan sebelumnya.
Algoritma tersebut BELUM TENTU KONVERGEN !!!
ij
DAN
i dengan
aii >
j = ; j i 1
ij
x1 + x2
=2
Jawab: Periksa tingkat konvergensinya. Diperoleh bahwa : |a11|=3 ; |a12|=10 ; |a21|=1 ; |a22|= 1
a11 a22
j= ; j 1 1 2 j = ; j 2 1
1j
untuk untuk
i =1 i =2
3 10 1 1
2j
akan konvergen bila dipecahkan dengan metode Iterasi Gauss-Seidel. Untuk itu, ubah penyajian SPL nya menjadi : x1 + x 2 = 2 3x1 10x2 = 3 Periksa tingkat konvergensinya. Diperoleh bahwa : |a11|= 1 ; |a12|= 1 ; |a21|= 3 ; |a22|= 10
a11 a22
j= ; j 1 1 2
a a
1j
untuk untuk
i =1 i =2
1 1 10 3
j = ; j 2 1
2j
konvergen
1. Tebak nilai awal x20 = 0 2. Substitusikan x20 = 0 ke SPL (1) : x 1 + x 2 = 2 x1 + 0 = 2 x1 = 2 didapat x11 = 2 3. Substitusikan x11 = 2 ke SPL (2) : 3x1 10x2 = 3 3.(2) 10x2 = 3 6 10x2 = 3 x2 = 0,3
didapat x21 = 0,3 Iterasi ke-2 : 2. Substitusikan x21 = 0,3 ke SPL (1) : x1 + x2 = 2 x1 + 0,3 = 2 x1 = 1,7 didapat x12 = 1,7 3. Substitusikan x12 = 1,7 ke SPL (2) : 3x1 10x2 = 3 3.(1,7) 10x2 = 3 5,1 10x2 = 3 x2 = 0,21 didapat x22 = 0,21 Iterasi ke-3 : 2. Substitusikan x22 = 0,21 ke SPL (1) : x1 + x2 = 2 x1 + 0,21 = 2 x1 = 1,79 didapat x13 = 1,79 3. Substitusikan x12 = 1,79 ke SPL (2) : 3x1 10x2 = 3 3.(1,79) 10x2 = 3 5,37 10x2 = 3 x2 = 0,237 didapat x23 = 0,237 Iterasi ke-4, ke-5 dst Lanjutkan sendiri, sebagai latihan !! Ingat, proses iterasi akan berhenti bila kondisi | xjk xjk+1 | < 0,005 Terpenuhi !! Rangkuman Proses Iterasinya :
Iterasi ke1 2 3 4 5 6
Algoritma IGS INPUT A(n,n+1), e, maxit INPUT xi (nilai awal) k 1 ; big 1 WHILE (k maxit and big > e) DO big 0 FOR i = 1 TO n sum 0 FOR j = 1 TO n IF j i THEN sum sum NEXT j temp (ai n+1 sum) /
+ aij aii
IF k > maxit THEN OUTPUT(TDK KONVERGEN) ELSE OUTPUT (KONVERGEN) ENDIF OUTPUT(xi)