Anda di halaman 1dari 19

L.H.

Wiryanto

Bab 2
Sistem Persamaan
Pada bab sebelumnya telah dibahas bagaimana menentukan x yang memenuhi f(x)=0.
Pada bagian ini kita memperluas masalah di atas menjadi system, yaitu kita tentukan
x1 , x2 , , xn yang memenuhi
f1 ( x1 , x2 ,  , xn )  0
f 2 ( x1 , x2 ,  , xn )  0

f n ( x1 , x2 ,  , xn )  0
System persamaan tersebut dapat berupa linear maupun tak-linear. Di sini kita membatasi
hanya yang linear saja, sekaligus sedikit mengulang apa yang telah dipelajari di aljabar
linear.

Pada bagian depan telah diberikan contoh, dimana kita menjumpai masalah system
persamaan linear (SPL), terkait dalam distribusi gaya pada suatu bentuk struktur. Secara
umum kita berhadapan dengan bentuk
a11 x1  a12 x2    a1n xn  b1
a21 x1  a22 x2    a2 n xn  b2
   
an1 x1  an 2 x2    ann xn  bn
dengan a11 , a12 , , ann , b1 , , bn konstanta yang diketahui. Kita tuliskan dalam bentuk
matrik
 a11 a12  a1n   x1   b1 
a    
 21 a22  a2 n   x2   b2 
         
    
 an1 an 2  ann   xn  bn 

Dalam aljabar linear kita kenal operasi baris elementer (OBE):


1. Penukaran dua baris
2. Perkalian satu baris dengan konstanta
3. Menggantikan suatu baris dengan baris baru hasil operasi baris tersebut ditambah
dengan kelipatan baris yang lain.
Bila OBE ini kita kenakan pada SPL, hal ini tidak mengubah nilai x1 , x2 ,  , xn .
Sedangkan bila kita mempunyai SPL dengan matrik berbentuk segitiga atas atau segitiga
bawah atau diagonal, bentuk SPL tersebut akan mudah diselesaikan. Oleh karena itu,
untuk matrik yang ukuran besar, kita perlu membuat algoritma untuk mengubah SPL
menjadi SPL dengan matrik-nya berupa salah satu dari tiga di atas, sebagai target atau
sasaran pembuatan algoritma.

SPL dengan matrik segitiga atas berbentuk


L.H. Wiryanto

 a11 a12  a1n   x1   b1 


0 a  a2 n   x2  b2 
 22

0 0        
    
0 0 0 ann   xn  bn 
x1 , x2 , , xn diperoleh dengan menggunakan substitusi mundur, yaitu
xn : bn / ann
xn 1 :  bn 1  an 1,n xn  / an 1, n 1

 n

xk :  bk   ak ,i xi  / akk
 i  k 1 

 n

x1 :  b1   a1,i xi  / a11
 i2 
Kita menghitung nilai unknown xi dari indek i besar ke kecil, dengan elemen diagonal
tidak boleh nol. Dalam algoritma, vector b disimpan bersama-sama dalam matrik a pada
kolom ke- n + 1 , dan elemen nol yang berada di bawah diagonal tidak perlu didefinisikan.

Algoritma Substitusi Mundur:


Masukan :n ukuran SPL
a[i,j], i:=1, 2, …, n, j:=i, i+1, …, n, n+1

Keluaran : x[i] solusi SPL

Langkah-langkah:
1. Jika |a[n,n]|<E-15, maka PROSES GAGAL, stop
2. x[n]:=a[n,n+1]/a[n,n]
3. Untuk k:=n-1, n-2, …, 1
a. Jika |a[k,k]|<E-15, maka PROSES GAGAL, stop
b. s:=0
Untuk i:=k+1, k+2, …, n
s:=s+a[k,i]*x[i]
x[k]:=(a[k,n+1]-s)/a[k,k]

Dengan cara serupa kita dapat selesaikan SPL dengan matrik berupa segitiga bawah,
yaitu dengan substitusi maju.
Bentuk SPL:
 a11 0  0   x1   b1 
a    
 21 a22 0 0   x2   b2 
    0      
    
 an1 an 2  ann   xn  bn 
L.H. Wiryanto

Substitusi maju:
x1 : b1 / a11
x2 :  b2  a2,1 x1  / a2,2

 k 1

xk :  bk   ak ,i xi  / akk
 i 1 

 n 1

xn :  bn   an ,i xi  / ann
 i 1 
Algoritma Substitusi Maju:
Masukan :n ukuran SPL
a[i,j], i:=1, 2, …, n, j:=1, 2, …, i, i+1

Keluaran : x[i] solusi SPL

Langkah-langkah:
1. Jika |a[1,1]|<E-15, maka PROSES GAGAL, stop
2. x[1]:=a[1,2]/a[1,1]
3. Untuk k:=2, 3, …, n
a. Jika |a[k,k]|<E-15, maka PROSES GAGAL, stop
b. s:=0
Untuk i:=1, 2, …, k-1
s:=s+a[k,i]*x[i]
x[k]:=(a[k,k+1]-s)/a[k,k]

Latihan:
1. Tentukan urutan penghitungan x1 , x2 , x3 , x4 dari SPL berbentuk
 a11a14   x1   b1 
a12 a13
a
a22 a23 0   x2  b2 
 21  .
 a31
a32 0 0   x3   b3 
    
0  a41
0 0   x4  b4 
2. Tuliskan algoritma SPL perluasan nomer 1 untuk ukuran nxn.

Jawab:
x1  b4 / a41
x2  b3  a 31 x1  / a32
x3  b2  a 21 x1  a22 x2  / a23
x4  b1  a 11 x1  a12 x2  a13 x3  / a14
L.H. Wiryanto

 k 1

xk  bn 1 k   an 1 k ,i xi  / an 1 k ,k
 i 1 

Proses Elininasi Gauss


Proses mengubah SPL (umum) menjadi SPL dengan matrik segitiga, menggunakan OBE.
Proses ini juga diperkenalkan pada aljabar linear. Akan tetapi karena tujuan disini untuk
membentuk algoritma, untuk SPL ukuran n, maka berikut ini diperkenalkan ulang proses
eliminasi Gauss dengan tahapan untuk membentuk matrik segitiga atas.

Lebih dahulu tuliskan SPL dalam bentuk matrik perluasan


 a11 a12  a1n a1n 1 
a 
 21 a22  a2 n a2 n 1 
      
 
 an1   ann ann 1 
Kolom ke-n+1 sebagai vector b. OBE selanjutnya diterapkan untuk mengenolkan elemen
yang berada di bawah diagonal utama.

Untuk mengenolkan a21 , a31 , , an1 , kita ikuti proses berikut. Operasi penggantian baris
ke-2 dengan baris ke-2 ditambah p kali baris ke 1 dilakukan untuk membuat a21 menjadi
nol. Di sini kita gunakan p  a21 / a11 , a11 sebagai pembagi disebut elemen pivot. Pada
tahap ini algoritma dapat disusun
1. p:=-a[2,1]/a[1,1]
2. Untuk j:=2, 3, …, n+1
a[2,j]:=a[2,j]+p*a[1,j]
3. a[2,1]:=0

Penggantian baris ke-3 dengan baris ke-3 ditambah p kali baris ke 1 dilakukan untuk
membuat a31 menjadi nol, kita gunakan p  a31 / a11 , dengan algoritma
1. p:=-a[3,1]/a[1,1]
2. Untuk j:=2, …, n+1
a[3,j]:=a[3,j]+p*a[1,j]
3. a[3,1]:=0

Penggantian baris ke-4 dan seterusnya dapat dilakukan dengan cara yang sama, sehingga
keseluruhan tahap tersebut dapat digabungkan menjadi
Untuk i:=2, 3, …, n
p:=a[i,1]/a[1,1]
Untuk j:=2, 3, …, n+1
a[i,j]:=a[i,j]-p*a[1,j]
a[i,1]:=0
Sampai di sini kita peroleh matrik perluasan, menjadi
L.H. Wiryanto

 a11 a12  a1n a1n 1 


0 a  a2 n a2 n 1 
 22

0     
 
 0 an 2  ann ann 1 
Tahap brikutnya adalah mengenolkan kolom ke-2 (warna merah), dengan algoritma
Untuk i:=3, …, n
p:=a[i,2]/a[2,2]
Untuk j:=3, …, n+1
a[i,j]:=a[i,j]-p*a[2,j]
a[i,2]:=0
Begitu seterusnya untuk kolom yang lain, sehingga keseluruhan diperoleh algoritma
eliminasi Gauss
Untuk k:=1, 2, …, n-1
Untuk i:=k+1, k+2, …, n
p:=a[i,k]/a[k,k]
Untuk j:=k+1, k+2, …, n+1
a[i,j]:=a[i,j]-p*a[k,j]
a[i,k]:=0

Oleh karena itu, untuk menyelesaikan SPL dilakukan dua tahap utama, yaitu
1. eliminasi Gauss (membentuk matrik segitiga atas)
2. substitusi mundur
Algoritma merupakan gabungan dari algoritma di atas.

Pemilihan elemen pivot berpengaruh terhadap hasil solusi. Coba kita selesaikan SPL
1.133 x1  5.281x2  6.414
24.14 x1  1.210 x2  22.93
 a11
1 1
a12 1
a13 
Dalam matrik ~  1 1 1 
 a21 a22 a23 
1. Secara langsung, dengan menggunakan perhitungan 4 digit.
 Kalikan persamaan 1 dengan m21  24.14 /1.133  21.31 dan kurangkan terhadap
persamaan 2
2
a22  1.21  m21 *5.281  113.7
2
a23  22.93  m21 *6.414  113.8
 Solusi x2  1.001, x1  0.9956
2. Tukar lebih dahulu kedua persamaan
24.14 x1  1.210 x2  22.93
1.133 x1  5.281x2  6.414
 Pengali m21  0.04693 , menghasilkan SPL
L.H. Wiryanto

24.14 x1  1.210 x2  22.93


5.338 x2  5.338
 Solusi x2  1.000, x1  1.000 , menghasilkan jawab yang tepat memenuhi
persamaan.
 Pemilihan bilangan pengali seperti 24.14 (koefisien dari x1 pada persamaan
pertama) disebut bilangan pivot, dipilih angka terbesar dalam suatu kolom.

Eliminasi Gauss pada SPL tridiagonal


Bentuk SPL untuk ukuran 5:
d1 x1 c1 x2  b1
a2 x1  d 2 x2  c2 x3  b2
a3 x2  d3 x3 c3 x4  b3
a4 x3  d 4 x4 c4 x5  b4
a5 x4  d5 x5  b5
Dalam bentuk matrik
 d1 c1 b1 
a d c b2 
 2 2 2

 a3 d3 c3 b3 
 
 a4 d 4 c4 b4 
 a5 d 5 b5 
Kalau kita perhatikan dalam matrik tersebut, kita dapat menuliskan elemen matrik dalam
4 vektor
 d1   b1 
 a2  d   c1  b 
a   2 c   2
a :  3
, d :  d3  , c :  2
, b :  b3  ,
 a4     c3   
   d4    b4 
 a5   d5   c4 
b5 
untuk menghemat tempat karena elemen lainnya berisikan nol. Selanjutnya eliminasi
Gaus dilakukan untuk membentuk matrik segitiga atas, dengan tidak melakukan
penukaran baris, karena akan membuat isi vector berantakan, dan kemudian substitusi
mundur.

Algoritma
Masukan : n ukuran SPL
a[i], d[i], c[i], b[i], i:=1,2,…,n
Keluaran : x[i]
Lankah:
1. Eliminasi Gauss (membentuk matrik segitiga atas, mengenolkan a[i])
Untuk k:=1, 2, …,n-1
Jika |d[k]|<E-15, maka proses gagal, stop
L.H. Wiryanto

p:=a[k+1]/d[k]
d[k+1]:=d[k+1]-p*c[k]
b[k+1]:=b[k+1]-p*b[k]
a[k+1]:=0
2. Substitusi mundur
Jika |d[n]|<E-15 maka SPL singular, stop
x[n]:=b[n]/d[n]
Untuk k:=n-1, n-2, …, 1
x[k]:=(b[k]-c[k]*x[k+1])/d[k]

Contoh:
Dengan mengikuti algoritma di atas, selesaikan SPL yang dituliskan dalam matrik
perluasan berikut
4 6 0 0 | 14 
 2 3 1 0 | 3 

0 9 4 1 | 0
 
0 0 5 1 | 5
Jawab:
1. Proses Eliminasi
k:=1
p:=2/4=0.5
d[2]:=-3-0.5*6=-6
b[2]:=3-0.5*14=-4
a[2]:=0
Matrik yang diperoleh:
4 6 0 0 | 14 
0 6 1 0 | 4 

0 9 4 1 | 0
 
0 0 5 1 | 5
k:=2
p:=9/(-6)=-1.5
d[3]:=-4-(-1.5)*1=-2.5
b[3]:=0-(-1.5)*(-4)=-6
a[3]:=0
Matrik yang diperoleh:
4 6 0 0 | 14 
0 6 1 0 | 4 

0 0 2.5 1 | 6 
 
0 0 5 1 | 5
k:=3
p:=5/(-2.5)=-2
d[4]:=-1-(-2)*(-1)=-3
L.H. Wiryanto

b[4]:=5-(-2)*(-6)=-7
a[4]:=0

Matrik yang diperoleh


4 6 0 0 | 14 
 0 6 1 0 | 4 

 0 0 2.5 1 | 6 
 
0 0 0 3 | 7 
2. Proses Substitusi Mundur
x[4]:=-7/(-3)=2.333
x[3]:=(-6-(-1)*x[4])/(-2.5)=3.5
x[2]:=(-4-1*x[3])/(-6)=1.25
x[1]:=(14-6*x[2])/4=1.466

Berikut program menyelesaikan SPL pada matrik tridiagonal ukuran n=4

program tridiag
implicit double precision (a-h,o-z)
dimension a(10),d(10),c(10), b(10) ,x(10)
c Program menyelesaikan SPL dengan matrik koefisiennya berupa matrik
c tri-diagonal
c Matrix A=[tri-diagonal, a,b,c], spl: Ax=b
n=4
print *,'Ukuran SPL'
print *, n
print *,'input a(i) diagonal -1'
do 80 i=2,n
read *, a(i)
80 continue
print *,'input d(i) diagonal utama'
do 81 i=1,n
read *, d(i)
81 continue
print *,'input c(i) diagonal +1'
do 82 i=1,n-1
read *, c(i)
82 continue
print *,'input b(i) ruas kanan SPL'
do 83 i=1,n
read *, b(i)
83 continue
c Eliminasi Gauss
do 1 k=1,n-1
p=a(k+1)/d(k)
L.H. Wiryanto

d(k+1)=d(k+1)-p*c(k)
b(k+1)=b(k+1)-p*b(k)
a(k+1)=0.0
1 continue
print *, (d(i),i=1,n)
print *, (c(i),i=1,n-1)
print *, (b(i),i=1,n)
pause
c Substitusi mundur
x(n)=b(n)/d(n)
print *, x(n)
do 2 k=1,n-1
x(n-k)=(b(k)-c(k)*x(k+1))/d(k)
print *, x(n-k)
2 continue
10 stop
end

Dengan menggunakan program tersebut, SPL pada contoh di atas menghasilkan jawab
yang sama. Selanjutnya kita ujikan pada SPL yang dituliskan dalam matrik perluasan
berikut. Elemen matrik yang tidak diisi berarti bernilai nol.
1 1 | 1
3 0 2 | 0 

 1 4 4 | 0
 
 1 3 1 | 1
 4 4 1 | 0
 
 2 4 3 | 0
 1 2 1 | 1
 
 5 3 | 0 
Setelah proses eliminasi Gauss, matrik menjadi
1 1 | 1 
 3 2 | 3 

 3.3333 4 | 1 
 
 1.8 1 | 0.7 
 6.2222 1 | 1.5556 
 
 3.6786 3 | 0.5 
 1.1845 1 | 1.1359 
 
 1.2213 | 4.7951
dan memberikan jawab
L.H. Wiryanto

x8  3.9262, x7  1, x6  1, x5  0.3, x4  0.2222, x3  0.0893,


x2  0.9515, x1  2.3557

Latihan:
Sebuah pompa mampu mengalirkan fluida dengan debit Q1=1. Pompa tersebut terhubung
secara tertutup seperti gambar. Debit pada setiap cabang pipa memenuhi persamaan di
bawah. Sebagi tugas di sini adalah menyelesaikan SPL yang ada. Kemudian jelaskan
apakah ada pipa yang tidak dialiri, adakah yang alirannya kebalik?
2Q3  Q4  Q2  0
2Q5  Q6  Q4  0
3Q1  Q6  0
Q1  Q2  Q3
Q3  Q4  Q5
Q5  Q6  Q7

Q1 Q3 Q5

pompa Q2 Q4 Q6 Q7

Dekomposisi LU
Suatu cara menyelesaikan SPL
Ax  b
adalah dengan memecah matrik A menjadi matrik segitiga bawah L dan matrik segitiga
atas U , lebih khusus lagi L mempunyai elemen 1 pada diagonal utama. Sehingga
penyelesaian SPL dalam dua tahap
Ly  b, Ux  y
y diselesaikan dari SPL pertama, kemudian diikuti menentukan x melalui matrik U .
Masalah sekarang adalah bagaimana mendekomposisi A menjadi dua matrik L dan U ,
dan membuat algoritma-nya.

Kita ikuti proses dekomposisi untuk matrik ukuran 3x3 berikut. Diberikan matrik
L.H. Wiryanto

 a11(1)
a13(1)  a12(1)
 (1)
(1) 
A :  a21
(1)
a22 a23 
(1)
a32  a31
(1) 
(1)
a33
 
Kita gunakan subscript (1) untuk menyatakan sebagai notasi awal, dan setelah melalui
proses perhitungan tempat yang ada akan ditimpa, karena matrik L dan U akan
disimpan pada matrik A tersebut.

Sebagai matrik dekomposisinya kita misalkan mempunyai elemen


 1 0 0  a11 a21 a13 
L   m21 1 0  , U   0 a22 a23 
 
 m31 m32 1   0 0 a33 
Hasil perkalian
 a11 a12 a13 

LU   m21a11 a12 m21  a22 a13 m21  a23 

 a11m31 a12 m31  a22 m32 a13 m31  a23 m32  a33 
disamakan dengan elemen A , dan ditentukan elemen pada matrik L dan U ,
baris pertama: a11  a11(1) , a12  a12(1) , a13  a13(1)
baris kedua:
m21  a21 (1)
/ a11(1) , a22
(2)
 a22  a22
(1)
 m21a12(1)
(2)
a23  a23  a23
(1)
 m21a13(1)
baris ketiga: m31  a31
(1)
/ a11(1) , dan kita gunakan notasi
(2)
a32  a32
(1)
 m31a12(1) , a33
(2)
 a33
(1)
 m31a13(1)
sebagai notasi sementara untuk mewadahi dua suku pertama dari kesamaan
(1)
a32  m31a12  m32 a22 pada elemen baris-3 kolom-2, sama halnya untuk baris-3 kolom-3.
Sehingga m32 dapat dihitung menggunakan m32  a32
(2) (2)
/ a22 , dan akhirnya
a(3)
33  a33  a(2)
33  m a . Hasil perhitungan, matrik L dan U diletakkan pada satu matrik
(2)
32 23

 a11(1) a12(1) a13(1) 


 (2) (2) 
 m21 a22 a23 
 m31 m32 (3) 
a33 

Sekarang kita lihat proses dekomposisi untuk matrik ukuran 4x4. Dari matrik
 a11(1) a12(1) a13(1) a14(1) 
 (1) (1) (1) (1) 
 a21 a22 a23 a24 
 a31
(1) (1)
a32 (1)
a33 (1) 
a34
 (1) (1) 
 a41 a42 a43 a44 
(1) (1)

kita misalkan didekomposisi menjadi


L.H. Wiryanto

 1 0 0 0  a11 a12 a13 a14 


m 1 0 
0 0 a22 a23 a24 
L :  21 U : 
 m31 m32 1 0 0 0 a33 a34 
   
 m41 m42 m43 1 0 0 0 a44 

Hasil perkalian keduanya


 a11 a12 a13 a14 
m a m21a12  a22 m21a13  a23 m21a14  a24 
LU   21 11 
 m31a11 m31a12  m32 a22 m31a13  m32 a23  a33 m31a14  m32 a24  a34 
 
 m41a11 m41a12  m42 a22 m41a13  m42 a23  m43 a33 m41a14  m42 a24  m43 a34  a44 

Dengan menyamakan LU dan A , kita peroleh


 a11  a11(1) , a12  a12(1) , a13  a13(1) , a14  a14(1) ,
 m21  a21
(1)
/ a11(1) ; a22
(2)
 a22
(1)
 m21a12(1)
(2)
a23  a23
(1)
 m21a13(1)
(2)
a24  a24
(1)
 m21a14(1)
 m31  a31
(1)
/ a11(1) ; a32
(2)
 a32
(1)
 m31a12(1)
(2)
a33  a33
(1)
 m31a13(1)
(2)
a34  a34
(1)
 m31a14(1)
(2) (2) (2)
a32 , a33 , a34 merupakan nilai sementara dari elemen pada posisi yang ditunjukkan
oleh indek, terkait dengan suku yang berwarna merah pada LU .
 m41  a41 (1)
/ a11(1) ; a42
(2)
 a42
(1)
 m41a12(1)
(2)
a43  a43
(1)
 m41a13(1)
(2)
a44  a44
(1)
 m41a14(1)
(2) (2) (2)
a42 , a43 , a44 merupakan nilai sementara dari elemen pada posisi yang ditunjukkan
oleh indek, terkait dengan suku yang berwarna merah pada LU .
Sampai tahap ini, matrik yang diperoleh, L dan U disimpn dalam matrik A ,
 a11(1) a12(1) a13(1) a14(1) 
 (2) (2) (2) 
 m21 a22 a23 a24 
 m31 a32 (2) (2)
a33 (2) 
a34
 (2) 
 m41 a42 a43 a44 
(2) (2)

Baris pertama dan kedua sudah selesai diolah, begitu juga dengan kolom pertama (warna
hijau). Baris ke tiga dan ke empat perlu disempurnakan. Untuk itu kita lakukan
perhitungan
 m32  a32 (2)
/ a22(2) (3)
; a33  a33
(2)
 m32 a22
(2)

(3)
a34  a34
(2)
 m32 a14(2)
L.H. Wiryanto

 m42  a42
(2) (2)
/ a22 (3)
; a43  a43
(2)
 m42 a23
(2)

(3)
a44  a44
(2)
 m42 a24
(2)

berkaitan dengan suku warna merah dan biru pada matrik LU . Sampai tahap ini kita
sudah menghitung hamper semua elemen L dan U , seperti yang ditampilkan pada
matrik berikut, warna hijau.
 a11(1) a12(1) a13(1) a14(1) 
 (2) (2) (2) 
 m21 a22 a23 a24 
 m31 m32 a33 (3) (3) 
a34
 (3) 
 m41 m42 a43 a44 
(3)

Dua elemen tersisa dihitung sebagai berikut


 m43  a43
(3) (3)
/ a33 (4)
; a44  a44
(3)
 m43 a34
(3)

Sehingga diperoleh
 a11(1) a12(1) a13(1) a14(1) 
 (2) (2) (2) 
 m21 a22 a23 a24 
 m31 m32 a33 (3) (3) 
a34
 (4) 
 m41 m42 m43 a44 

Dengan mengikuti proses dekomposisi dari matrik 3x3 dan 4x4, diharapkan dapat
memberikan pola berpikir untuk mendekomposisikan matrik ukuran nxn. Sedangkan
eksistensi dari dekomposisi matrik A=LU dijamin: (lihat Anton & Rorres, Elementary
Linear Alg., hal. 479), yaitu:
Jika A matrik bujur sangkar yang dapat direduksi menjadi bentuk eselon baris U
dengan eliminasi Gauss tanpa penukaran baris, maka A dapat difaktorkan sebagai
A  LU , dengan U  Em Em 1  E2 E1 A, L  E11 E21  Em1 ; E1 , E2 , , Em matrik
elementer yang berkaitan dengan operasi baris.

Berikut langkah-langkah dekomposisi pada matrik secara umum:


 a11  a11(1) , a12  a12(1) , , a1n  a1(1)n
 mr1  ar(1)1 / a11(1) , r  2,3,  , n
arc(2)  arc(1)  mr1a1(1)c , c  2,3,  , n
 mr 2  ar(2)2 / a22
(2)
, r  3, , n
arc(3)  arc(2)  mr 2 a2(2)c , c  3,  , n
 dan seterusnya . . .
 mrp  arp( p ) / a (ppp ) , r  p  1, p  2,  , n
arc( p 1)  arc( p )  mrp a (pcp ) , c  p  1, p  2,  , n
Matrik yang diperoleh
L.H. Wiryanto

 a11(1) a12(1)  a1(1)n 


a13(1)
 
 m21 a22
(2) (2)
a23  a2(2)n 
 m31 m32 (3)
a33  a3(3)n 
 
   
m mn 3  ann (n) 
 n1 mn 2 
Warna kuning merupakan elemen dari U dan sisanya elemen dari L dengan diagonal
utama bernilai satu.

Contoh:
1. Tentukan matrik dekomposisi LU yang memenuhi
1 3 6  1 0 0   a11 a12 a13 
A :  4 8 1   m21 1 0   0
   a22 a23   LU
 2 3 5   m31 m32 1   0 0 a33 
dengan mengikuti prosedur di atas.

Jawab:
 a11  1, a12  3, a13  6
 (p=1, r=2) m21  4 /1  4, (c  1) a21
(2)
 8  4*3  4
(c  2) a23
(2)
 1  4*6  25
 (p=1, r=3) m31  2 /1  2, (c  2) a32
(2)
 3  (2) *3  9
(c  3) a33
(2)
 5  (2) *6  17
 (p=2, r=3) m32  9 / (4)  2.25, (c  3) a33
(3)
 17  (2.25) *(25)  39.25

1 0 0 1 3 6 

L4 1  
0  , U  0 4 25 
 2 2.25 1  0 0 39.25

2. Kurva y  f (t ) dihampiri dengan polinom


p6 (t )  a0  a1t  a2t 2  a3t 3  a4t 4  a5t 5  a6t 6
Pada beberapa nilai ti  0  0.5 i, i  1, 2, , 7 . Tentukan matrik koefisien dari SPL,
kemudian tentukan matrik dekomposisi L dan U .

Jawab:
Contoh ini dikerjakan dengan membuat program sebagai berikut:
program decLU
implicit double precision (a-h,o-z)
dimension a(10,10), al(10,10), u(10,10)
c Matrix A di dekomposisi LU
open(15,file='LU.dat')
L.H. Wiryanto

sero=0.d0
one=1.d0
two=one+one
three=two+one
half=one/two
pi=3.141592653589
c data matrik A
n=7
xo=sero
dx=half
c matrik a(i,j) berisi 1,x,x^2,x^3,...,x^6
c dengan x=xo+i*dx untuk baris ke i
c write(15,5) 'matrik semula'
do 11 i=1,n
x=xo+i*dx
a(i,1)=one
do 12 j=2,n
a(i,j)=a(i,j-1)*x
12 continue
write(15,5) (a(i,k),k=1,n)
11 continue
write(15,5)
c write(15,5) 'hasil dekomposisi L'
do 1 i=1,n-1
do 2 j=i+1,n
bji=a(j,i)/a(i,i)
a(j,i)=bji
c print *,bji
do 3 k=i+1,n
a(j,k)=a(j,k)-bji*a(i,k)
c print *, a(j,k)
3 continue
c pause
2 continue
1 continue
do 4 i=1,n
do 6 j=1,n
if(j .lt. i) then
al(i,j)=a(i,j)
u(i,j)=sero
else
if(j.eq. i) then
al(i,j)=one
u(i,j)=a(i,j)
L.H. Wiryanto

else
al(i,j)=sero
u(i,j)=a(i,j)
endif
endif
6 continue
write(15,5) (al(i,k),k=1,n)
4 continue
c write(15,5) 'matrik U'
do 7 i=1,n
write(15,5) (u(i,k),k=1,n)
7 continue
5 format(7(f10.5,1x))
close(unit=15)
stop
end

Keluaran Program:
Hasil perhitungan dekomposisi matrik A=LU
Matrik koefisien A
1.00000 .50000 .25000 .12500 .06250 .03125 .01563
1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000
1.00000 1.50000 2.25000 3.37500 5.06250 7.59375 11.39063
1.00000 2.00000 4.00000 8.00000 16.00000 32.00000 64.00000
1.00000 2.50000 6.25000 15.62500 39.06250 97.65625 244.14063
1.00000 3.00000 9.00000 27.00000 81.00000 243.00000 729.00000
1.00000 3.50000 12.25000 42.87500 150.06250 525.21875 1838.26563

Hasil
matrik L
1.00000 .00000 .00000 .00000 .00000 .00000 .00000
1.00000 1.00000 .00000 .00000 .00000 .00000 .00000
1.00000 2.00000 1.00000 .00000 .00000 .00000 .00000
1.00000 3.00000 3.00000 1.00000 .00000 .00000 .00000
1.00000 4.00000 6.00000 4.00000 1.00000 .00000 .00000
1.00000 5.00000 10.00000 10.00000 5.00000 1.00000 .00000
1.00000 6.00000 15.00000 20.00000 15.00000 6.00000 1.00000

Matrik U
1.00000 .50000 .25000 .12500 .06250 .03125 .01563
.00000 .50000 .75000 .87500 .93750 .96875 .98438
.00000 .00000 .50000 .50000 3.12500 5.62500 9.40625
.00000 .00000 .00000 .75000 3.75000 12.18750 32.81250
.00000 .00000 .00000 .00000 1.50000 11.25000 52.50000
.00000 .00000 .00000 .00000 .00000 3.75000 39.37500
.00000 .00000 .00000 .00000 .00000 .00000 11.25000

Tugas :
t
Fungsi f (t )  dihampiri dengan polinom derajat 6
t 2
2
L.H. Wiryanto

p6 (t )  a0  a1t  a2t 2  a3t 3  a4t 4  a5t 5  a6t 6


pada nilai ti  0  0.5 i, i  1, 2, , 7 , seperti pada contoh nomer 2 di atas. Buat program
perhitungan matrik dekomposisi dan dilanjutkan untuk menyelesaikan SPL yang
terbentuk pada hampiran di atas, dalam menentukan a0 , a1 , , a6 .

Metoda iterasi untuk menyelesaikan SPL


Cara lain menyelesaikan SPL adalah dengan proses iterasi. Dari tiap persamaan yang ada
dihitung nilai tebakan dari satu variable yang tidak diketahui, dengan menggunakan nilai
tebakan sebelumnya. Perhitungan ini diulang terus dengan harapan iterasi berikutnya
akan lebih dekat ke solusi sebenarnya.

Perhatikan SPL
a11 x1  a12 x2    a1n xn  b1
a21 x1  a22 x2    a2 n xn  b2
   
an1 x1  an 2 x2    ann xn  bn
Nilai x1 , x2 , , xn ditentukan dengan membuat tebakan
x1  b1   a12 x2  a13 x3    a1n xn   / a11
x2  b2   a21 x1  a23 x3    a2 n xn   / a22

xn  bn   an1 x1  an 2 x2    ann 1 xn 1   / ann
Akan tetapi rumusan tersebut membutuhkan nilai x lain untuk tiap perhitungan. Untuk
itu, kita memberikan tebakan awal dan digunakan dalam perhitungan pada ruas kanan,
sehingga kita mempunyai rumus iterasi
x1( k 1)  b1   a12 x2( k )  a13 x3( k )    a1n xn( k )   / a11

x2( k 1)  b2   a21 x1( k )  a23 x3( k )    a2 n xn( k )   / a22



xn( k 1)  bn   an1 x1( k )  an 2 x2( k )    ann 1 xn( k1)   / ann
Superscript k pada x menyatakan banyak-nya iterasi yang telah dilakukani. Tentunya
rumus iterasi tersebut dibentuk dengan memilih elemen diagonalnya tidak boleh nol. Bila
ada yang nol, maka SPL perlu diubah lebih dahulu urutan persamaannya. Iterasi diatas
dikenal sebagi metoda Jacobi, dan penghentian iterasi dilakukan dengan
max xi( k 1)  xi( k )  Tol
1 i  n

Dapat juga digunakan nilai relative-nya


xi( k 1)  xi( k )
max  Tol
1 i  n xi( k 1)
L.H. Wiryanto

Contoh:
Selesaikan SPL
3 1 1 1   x1   5 
1
 8 4 1   x2  13

1 3 9 2   x3  13
    
1 4 1 64   x4   6 
menggunakan iterasi Jacobi, dengan tebakan awal x =(0,0,0,0)

Jawab:
Hasil perhitungan iterasi:
x1 x2 x3 x4
1.666667 1.625000 1.444444 .093750
.612269 .682726 .696759 -.056424
1.225646 1.207140 1.161378 .030626
.866952 .887277 .899076 -.018993
dan seterusnya….
1.000000 1.000000 1.000000 .000000
Untuk mempercepat pencapaian iterasi, Gauss dan Seidel membuat rumusan iterasi
dengan memanfaat hasil perhitungan pada persamaan sebelumnya, yaitu
x1( k 1)  b1   a12 x2( k )  a13 x3( k )    a1n xn( k )   / a11

x2( k 1)  b2   a21 x1( k 1)  a23 x3( k )    a2 n xn( k )   / a22

x3( k 1)  b2   a31 x1( k 1)  a32 x3( k 1)  a34 x4( k )    a2 n xn( k )   / a33

xn( k 1)  bn   an1 x1( k 1)  an 2 x2( k 1)    ann 1 xn( k11)   / ann
Pada saat menghitung x1( k 1) kita gunakan x2( k ) , x3( k ) , x4( k ) , , xn( k ) , pada x2( k 1) kita gunakan
x1( k 1) , x3( k ) , x4( k ) ,, xn( k ) , hasil perhitungan sebelumnya digunakan pada tahap ini, begitu
juga untuk menghitung x3( k 1) menggunakan x1( k 1) , x2( k 1) , x4( k ) ,, xn( k ) , semakin ke bawah
semakin banyak hasil iterasi ke-k+1 yang digunakan.

Agar iterasi konvergen metoda Jacobi dan juga Gauss-Seidel mengharuskan matrik
n
koefisiennya diagonal dominant, yaitu aii   aij . Kondisi ini merupakan syarat cukup,
j 1
j i

yaitu bila dipenuhi maka iterasi konvergen, tetapi bila tidak dipenuhi masih
dimungkinkan konvergen, dengan lambat. Untuk itu, coba selesaikan SPL
 4 1 1 1   x1  6 
1 3 1 2   x  5 
  2   
 1 1 4 1   x3  6 
    
 1 4 1 7   x4  6 
L.H. Wiryanto

Matrik koefisiennya tidak diagonal dominant tetapi metoda Jacobi memberikan iterasi
yang konvergen.

Tugas (Praktikum):
Buat program untuk menyelesaikan SPL menggunakan iterasi Gauss Seidel, kemudian
terapkan pada
1 3 9 2   x1  13
3 1 1
 1   x2   5 

1 4 1 64   x3   6 
    
1 8 4 1   x4  13
Gunakan tebakan awal x0  (0, 0, 0, 0) .

Anda mungkin juga menyukai