Solusi SPL (Bag 2) Invers dan Dekomposisi LU
Metode Matriks Balikan
• Misalkan A-1 adalah matriks balikan dari A. Sistem persamaan
lanjar Ax = b dapat diselesaikan sebagai berikut:
Ax = b
A-1 Ax = A-1 b
I x = A-1 b
(A-1 A = I )
x = A-1 b
• Cara penyelesaian dengan mengalikan matriks A-1 dengan b
itu dinamakan metode matriks balikan.
Rinaldi Munir - Topik Khusus Informatika I
39
• Contoh: Selesaikan sistem persamaan lanjar
x1 - x2 + 2x3 = 5
3x1 + x3 = 10
x1
+ 2x3 = 5
dengan metode matriks balikan.
Penyelesaian:
1
3
1
-1
0
0
~…~
2
1
2
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
R2 -3R1
~
R3 - R1
1
0
0
-1
3
1
2
-5
0
1
-3
-1
0
1
0
0
0
1
0 0.4 - 0.2
-1
0 1
0 -0.2 0.6
-1
A
Rinaldi Munir - Topik Khusus Informatika I
40
Solusinya adalah x = A-1 b.
x1
x2
x3
=
0
0.4
-1
0
0 -0.2
-0.2
1
0.6
5
10
5
=
0
-5
0
+ 4 - 1
+ 0 + 5
- 2 + 3
Rinaldi Munir - Topik Khusus Informatika I
=
3
0
1
41
Metode Dekomposisi LU
• Jika matriks A non-singular maka ia dapat difaktorkan
(diuraikan atau di-dekomposisi) menjadi matriks segitiga
bawah L (lower) dan matriks segitiga atas U (upper):
A = LU
a11
a21
a31
:
an1
a12 a13
a22 a23
a32 a33
:
an2 an3
… a1n
… a2n
… a3n
:
… ann
1
0 0 … 0
l21 1 0 … 0
= l31 l32 1 … 0
:
:
ln1 ln2 ln3 … 1
Rinaldi Munir - Topik Khusus Informatika I
u11
0
0
:
0
u12 u13 … u1n
u22 u23 … u2n
0 u33 … u3n
:
0
0 … unn
42
Sebagai contoh, matriks 3 × 3 di bawah ini difaktorkan menjadi :
2 −1 −1
1 0 0
0 −4
2
= 0 1 0
6 −3
1
3 0 1
2 −1 −1
0 −4
2
0
4
0
Sekali A difaktorkan menjadi L dan U, kedua matriks tersebut
dapat digunakan untuk menyelesaikan Ax = b.
Metode penyelesaian SPL dengan cara ini dikenal dengan nama
metode dekomposisi LU.
Metode ini dinamakan juga metode pemfaktoran segitiga
(triangular factorization).
Rinaldi Munir - Topik Khusus Informatika I
43
• Tinjau sistem persamaan lanjar
Ax = b
• Faktorkan A menjadi L dan U sedemikian sehingga
A = LU
• Jadi,
Ax = b
LU x = b
• Misalkan
Ux = y
maka
Ly = b
Rinaldi Munir - Topik Khusus Informatika I
44
Untuk memperoleh y1, y2,…, yn , kita menggunakan teknik penyulihan maju
(forward substitution) :
Ly = b
1
l21
→
...
ln1
0
1
...
ln2
0
0
…
ln3
...
...
…
…
0
0
…
1
y1
y2 =
…
yn
b1
b2
…
bn
→
diperoleh y1, y2,…,
yn dengan teknik
penyulihan maju
Dan untuk memperoleh solusi SPL, x1, x2,…, xn, kita menggunakan teknik
penyulihan mundur (backward substitution):
Ux = y
→
u11 u12 u13 … u1n
0 u22 u23 … u2n
...
...
0 0
0 … unn
x1
x2
:
xn
=
y1
y2
:
yn
diperoleh
x1, x2, …, xn
dengan teknik
penyulihan
mundur
Rinaldi Munir - Topik Khusus Informatika I
45
• Jadi, langkah-langkah menghitung solusi SPL dengan metode
dekomposi LU dapat diringkas sebagai berikut:
1. Bentuklah matriks L dan U dari A
2. Pecahkan Ly = b, lalu hitung y dengan teknik penyulihan
maju
3. Pecahkan Ux = y, lalu hitung x dengan teknik penyulihan
mundur
• Terdapat dua metode untuk memfaktorkan A atas L dan U:
1. Metode LU Gauss.
2. Metode reduksi Crout.
Rinaldi Munir - Topik Khusus Informatika I
46
Pemfaktoran dengan Metode LU Gauss
Misalkan matriks A berukuran 4 × 4 difaktorkan atas L dan U,
A = LU
a11
a21
a31
a41
a12
a22
a32
a42
a13
a23
a33
a43
a14
a24
a34
a44
=
1
0
m21 1
m31 m32
m41 m42
0
0
1
m43
0
0
0
1
u11
0
0
0
u12 u13
u22 u23
0
u33
0 0
u14
u24
u34
u44
Di sini kita menggunakan simbol mij ketimbang lij,
karena nilai lij berasal dari faktor pengali (mij) pada
proses eliminasi Gauss. Langkah-langkah pembentukan
L dan U dari matriks A adalah sebagai berikut:
Rinaldi Munir - Topik Khusus Informatika I
47
1. Nyatakan A sebagai A = IA
a11
a21
a31
:
an1
a12
a22
a32
a13
a23
a33
…
…
…
an2
an3
…
a1n
a2n
a3n
:
ann
=
1
0
0
:
0
0
1
0
0
0 … 0
0 … 0
1 … 0
:
0 … 1
a11 a12
a21 a22
a31 a32
an1 an2
a13 … a1n
a23 … a2n
a33 … a3n
:
an3 … ann
2. Eliminasikan matriks A di ruas kanan menjadi matriks segitiga atas U.
Tempatkan faktor pengali mij pada posisi lij di matriks I.
3. Setelah seluruh proses eliminasi Gauss selesai, matriks I menjadi matriks L,
dan matriks A di ruas kanan menjadi matriks U.
Rinaldi Munir - Topik Khusus Informatika I
48
a11
a21
a31
:
an1
a12
a22
a32
a13 … a1n
a23 … a2n
a33 … a3n
an2
an3 … ann
b1
b2
b3
:
bn
Solusinya:
1
0
0
:
0
0
1
0
0…0
0…0
1…0
0
0…1
x1
x2
...
b1'
b2'
b3'
:
bn'
= b1 '
= b2 '
...
xn = bn'
Seperti halnya metode eliminasi Gauss, tatancang pivoting
dan penskalaan juga dapat diterapkan pada metoda ini
untuk memperkecil galat pembulatan.
Rinaldi Munir - Topik Khusus Informatika I
49
• Contoh:
10 (LU Gauss naif)
A=
4
-2
1
3
-4
2
-1
5
6
=
1
0
0
0
1
0
0
0
1
4
-2
1
3
-4
2
-1
5
6
Eliminasikan matriks A di ruas kanan menjadi matriks segitiga atas U, dan tempatkan
faktor pengali mij pada posisi lij di matriks I.
4
-2
1
3
-4
2
-1
5
6
R2 - (-2/4)R1
~
1
R3-( /4)R1
4
0
0
3
-2.5
1.25
-1
4.5
6.25
Tempatkan m21 = -2/4 = 0.5 dan m31= 1/4 = 0.25 ke dalam matriks L:
L=
1
-0.5
0
0
1
m32
0
0
1
Rinaldi Munir - Topik Khusus Informatika I
50
Teruskan proses eliminasi Gauss pada matriks A,
4
0
0
3
-2.5
1.25
R3 - (1.25/-2.5)R2
~
-1
4.5
6.25
4
0
0
3
-2.5
0
-1
4.5
8.5
=U
Tempatkan m32 = 1.25/-2.5 = -0.5 ke dalam matriks L:
L=
1
-0.5
0.25
A =
4
-2
1
0
1
-0.5
0
0
1
Jadi,
3
-4
2
-1
5
6
=
1
0
-0.5 1
0.25 -0.5
0
0
1
Rinaldi Munir - Topik Khusus Informatika I
4
0
0
3
-2.5
0
-1
4.5
8.5
51
• Contoh:
(LU Gauss dengan tata-ancang pivoting)
Faktorkan matriks A berikut
1
2
-1
A=
1
2
1
-1
1
1
b=
1
5
1
lalu pecahkan sistem Ax = b.
Penyelesaian:
Eliminasikan matriks A di ruas kanan menjadi matriks segitiga atas U, dan tempatkan
faktor pengali mij pada posisi lij di matriks I.
1
2
-1
1
2
1
-1
1
1
R2 - (2)R1
~
1
R3-( /1)R1
1
0
0
Rinaldi Munir - Topik Khusus Informatika I
1
0
2
-1
3
0
52
Tempatkan m21 = 2 dan m31= 1/1 = 1 ke dalam matriks L:
L=
1
2
-1
0
1
m32
0
0
1
Teruskan proses eliminasi Gauss pada matriks A. Dalam hal ini ada pivoting karena calon
pivot bernilai 0, sehingga baris kedua dipertukarkan dengan baris ketiga:
1
0
0
1
0
2
-1
3
0
R2 ⇔ R3
1
0
0
1
2
0
-1
0
3
Jangan lupa mempertukarkan juga R2 ⇔ R3 pada matriks L, kecuali elemen diagonalnya
L=
1
2
-1
0
1
m32
0
0
1
R2 ⇔ R3
Rinaldi Munir - Topik Khusus Informatika I
1
-1
2
0
1
m32
0
0
1
53
Jangan lupa mempertukarkan juga R2 ⇔ R3 pada vektor b,
b =
1
5
1
1
1
5
R2 ⇔ R3
Teruskan proses eliminasi Gauss pada matriks A:
R3 - (0/2)R2
1
0
0
1
2
0
-1
0
3
=U
Tempatkan m32 = 0/2 = 0 ke dalam matriks L:
L=
1
-1
2
0
1
0
0
0
1
Rinaldi Munir - Topik Khusus Informatika I
54
Jadi,
A=
1
-1
2
1
1
2
-1
1
1
=
1
-1
2
0
1
0
0
0
1
1
0
0
1
2
0
-1
0
3
Berturut-turut dihitung y dan x sebagai berikut:
Ly = b
1
-1
2
0
1
0
0
0
1
y1
y2
y3
=
1
1
5
y1 , y2, dan y3 dihitung dengan teknik penyulihan maju:
y1
=1
= 1 → y2 = 1 + y1 = 1 + 1 = 2
-y1 + y2
= 5 → y3 = 5 - 2y1 = 3
2y1 + 0y2 + y3
Rinaldi Munir - Topik Khusus Informatika I
55
Ux = y
1
0
0
1
2
0
-1
0
3
x1
x2
x3
=
1
2
3
x1, x2, dan x3 dihitung dengan teknik penyulihan mundur:
3x3
=3
→ x3 = 1
2x2 + 0x3
=2
→ x2 = 1
x1 + x2 - x3
=1
→ x1 = 1
Jadi, solusi sistem persamaan lanjar di atas adalah x = (1, 1, 1)T.
Rinaldi Munir - Topik Khusus Informatika I
56
Pertukaran baris untuk matriks yang berukuran besar diperlihatkan oleh matriks
di bawah ini:
a1
0
0
0
0
0
a2
b2
0
0
0
0
a3
b3
c3
0
0
0
a4
b4
c4
0
e4
f4
a5
b5
c5
d5
e5
f5
a6
b6
c6
d6
e6
f6
R5 ⇔ R4
(*)
a1
0
0
0
0
0
a2
b2
0
0
0
0
a3
b3
c3
0
0
0
a4
b4
c4
e4
0
f4
a5
b5
c5
e5
d5
f5
a6
b6
c6
e6
d6
f6
Maka, baris ke-5 dan baris ke-4 pada matriks L juga harus dipertukarkan:
1
m21
m31
m41
m51
m61
0
1
m32
m42
m52
m62
0
0
1
m43
m53
m63
0
0
0
1
x
x
0 0
0 0
0 0
0 0
1 0
x 1
R5 ⇔ R4
(*)
1
0
0
m21 0
0
m31 m32 1
m51 m52 m53
m41 m42 m43
m61 m62 m63
Rinaldi Munir - Topik Khusus Informatika I
0
0
0
1
x
x
0 0
0 0
0 0
0 0
1 0
x 1
57
Pemfaktoran dengan Metode Reduksi Crout
• Meskipun metode LU Gauss dikenal paling baik untuk
melakukan dekomposisi LU, terdapat metode lain yang
digunakan secara luas, yaitu metode reduksi Crout
• Nama lain: metode reduksi Cholesky atau metode Dolittle
Dalam membahas metode reduksi Crout, tinjau matriks 3 × 3 berikut:
A =
a11
a21
a31
a12
a22
a32
a13
a23
a33
1
L = l21
l31
0 0
1 0
l3,2 1
Rinaldi Munir - Topik Khusus Informatika I
U=
u11
0
0
u12
u2,2
0
u13
u23
u33
2
Karena LU = A, maka hasil perkalian L dan U itu dapat ditulis sebagai
LU =
u11
l21u11
l31u13
u12
u13
l21u12 + u22 l21u13+u23
l31u12 + l32u22 l31u13 + l32u23 + u33
=A=
a11
a21
a31
a12
a22
a32
a13
a23
a33
Dari kesamaan dua buah matriks LU = A, diperoleh
u11 = a11 ,
u12 = a12 ,
l21u1 = a21
→
l31u11 =
a31 →
l21u12 + u22 =
l21u13 + u23 =
a22
a23
u13 = a13
a 21
u11
a
= 31
u11
l21 =
l31
→
→
u22 = a22 - l21u12
u23 = a23 - l21u13
Rinaldi Munir - Topik Khusus Informatika I
}
Baris pertama U
}
Kolom pertama L
}
Baris kedua U
3
l31u12 + l32u22 = a32 →
a 32 − l 31u12
l32 =
u 22
Kolom kedua L
l31u13 + l32u23 + u33 = a33 → u33 = a33 - ( l31u13 + l32u23) }
Baris
ketiga U
Kita perhatikan ada urutan pola teratur dalam menemukan
elemen-elemen L dan U, yaitu:
(1)elemen-elemen baris pertama dari U
(2)elemen-elemen baris pertama dari L
(3)elemen-elemen baris kedua dari U
(4)elemen-elemen baris kedua L
(5)…
(6)elemen-elemen baris ke-k dari U
(7)elemen-elemen baris ke-k dari L
Rinaldi Munir - Topik Khusus Informatika I
4
Rumus umum menghitung u dan l untuk sistem dengan matriks A yang berukuran
3 × 3 dapat ditulis sebagai berikut:
p −1
lpk ukj,
p = 1, 2, 3, …., n
j = p, p+1, …., n
(P.4.13)
1ik u kq
q = 1, 2, 3, …., n-1
, i = q+1, q+2, …., n
dengan syarat uqq ≠ 0
(P.4.14)
upj = apj k =1
dan
q −1
aiq −
liq =
k =1
u qq
Rinaldi Munir - Topik Khusus Informatika I
5
Contoh: Selesaikan
x1 + x2 - x3 = 1
2x1 + 2x2 + x3 = 5
-x1 + x2 + 2x3 = 5
dengan metode dekomposisi LU, yang dalam hal ini L dan U dihitung dengan
metode reduksi Crout.
Penyelesaian:
A=
Diperoleh:
1
2
-1
1
2
1
-1
1
1
b=
1
5
1
u11 = a11 = 1
u12 = a12 = 1
u13 = a13 = -1
l21 = a21/u11 = 2/1 = 2
l31 = a31/u11 = -1/1 = -1
u22 = a22 - l21u12 = 2 - 2 ⋅1 = 0
Rinaldi Munir - Topik Khusus Informatika I
6
Karena uqq tidak boleh nol, lakukan pertukaran baris, baik untuk matriks A maupun untuk
vektor b:
Matriks A
R2 ⇔ R3
1
-1
2
1
1
2
-1
1
1
Vektor b
R2 ⇔ R3
1
1
5
Hitung kembali nilai l21 , l31 , dan u22 (Perhatikan bahwa nilai u11, u12, u13 tidak berubah)
l21 = a21/u11 = -1/1 = -1
l31 = a31/u11 = 2/1 = 2
u22 = a22 - l21u12 = 1 - (-1)(1) = 1 + 1 = 2
u23 = a23 - l21u13 = 1 - (-1)(-1) = 1-1 = 0
l32 =
a32 − l 31u12
2 − 2(1)
=
=0
u 22
2
Rinaldi Munir - Topik Khusus Informatika I
7
Diperoleh L dan U sebagai berikut,
U=
1
0
0
1
2
0
-1
0
3
L=
1
-1
2
0
1
0
0
0
1
dan b =
1
1
5
Berturut-turut dihitung y dan x sebagai berikut:
Ly = b
1
-1
2
0
1
0
0
0
1
y1
y2
y3
=
1
1
5
y1, y2, dan y3 dihitung dengan teknik penyulihan maju:
=1
y1
-y1 + y2
= 1 → y2 = 1 + y1 = 1 + 1 = 2
2y1 + 0y2 + y3
= 5 → y3 = 5 - 2y1 = 3
Rinaldi Munir - Topik Khusus Informatika I
8
Ux = y
1
0
0
1
2
0
-1
0
3
x1
x2
x3
=
1
2
3
x1, x2, dan x3 dihitung dengan teknik penyulihan mundur:
3x3
=3
→ x3 = 1
2x2 + 0x3
=2
→ x2 = 1
x1 + x2 - x3
=1
→ x1 = 1
Jadi, solusi sistem persamaan lanjar di atas adalah x = (1, 1, 1)T.
Rinaldi Munir - Topik Khusus Informatika I
9
• Jika diamati elemen segitiga bawah pada matriks U
semuanya bernilai nol, sehingga ruang yang tidak
terpakai itu dapat dipakai untuk menyimpan elemen
matriks L.
• Elemen diagonal matriks L seluruhnya 1, jadi tidak perlu
disimpan (default). Dengan demikian, penyimpanan
elemen L dan U pada satu matriks dapat menghemat
penggunaan memori.
• Selain itu, matriks A hanya dipakai sekali untuk
memperoleh L dan U, sesudah itu tidak dipakai lagi.
• Dengan demikian, setelah L dan U diperoleh, elemennya
dapat dipindahkan ke dalam A.
• Karena alasan ini, maka metode dekomposisi LU
dinamakan juga metode kompaksi memori.
Rinaldi Munir - Topik Khusus Informatika I
10
Determinan
• Metode eliminasi Gauss dapat diterapkan untuk menghitung
determinan matriks n × n.
• Determinannya dapat dihitung setelah ia ditransformasi
menjadi matriks segitiga atas U.
• Dua hukum penting determinan:
Hukum 1: det(BC) = det(B) × det(C)
Hukum 2: det(M) = hasil kali semua elemen diagonal M
jika M adalah matriks segitiga atas atau matriks segitiga
bawah.
Rinaldi Munir - Topik Khusus Informatika I
11
Kasus 1: Bila eliminasi Gauss tidak menerapkan
tatancang pivoting.
• Jika pivoting tidak diterapkan, determinan matriks A
adalah:
det (A) = det (LU)
= det (L) × det(U)
= det(U)
= u11 u22 u33 ... unn
• yang dalam hal ini det(L) = 1 sebab semua elemen
diagonal L adalah satu.
Rinaldi Munir - Topik Khusus Informatika I
12
Kasus 2: Bila eliminasi Gauss menerapkan
tatancang pivoting.
• Tatancang pivoting mengakibatkan pertukaran baris.
Dekomposisi LU dengan pivoting setara dengan
mengerjakan dua proses terpisah berikut:
1. Transformasikan matriks A menjadi matriks A'
dengan cara permutasi baris-baris matriks (sama
dengan mengalikan A dengan matriks permutasi P),
A' = PA atau setara dengan A = P-1 A'
2. Dekomposisi A' menjadi LU tanpa pivoting
A' = LU
Rinaldi Munir - Topik Khusus Informatika I
13
• Dari (1) dan (2), L dan U dihubungkan dengan A oleh
A = P-1 A' = P-1 LU
• Determinan A dapat ditulis sebagai
det (A) =
=
=
=
det (P-1) × det (L) × det (U)
det (P-1) × 1 × det (U)
det (P-1) × det (U)
α det (U)
yang dalam hal ini α = det (P-1) = -1 atau 1 bergantung pada
apakah pivoting sejumlah bilangan ganjil atau genap.
Rinaldi Munir - Topik Khusus Informatika I
14
• Jika pivoting dilakukan sejumlah p kali, maka α dapat
ditulis sebagai:
α = (-1)p
• α bernilai 1 untuk p genap dan -1 untuk p ganjil.
Karena itu,
det(A) = (-1)p det(U) = (-1)p u11 u22 u33 ... unn
Rinaldi Munir - Topik Khusus Informatika I
15
• Contoh: Hitung determinan matriks A berikut:
2
4
-2
A=
3
4
3
-1
-3
-1
Penyelesaian:
2
4
-2
3
4
3
-1
-3
-1
R2 - 4/2 R1
R3 - -2/2 R1
2
0
1
3
-2
0
-1
-1
-2
R3 - 6/-2 R2
2
0
0
3
-2
0
-1
-1
-5
Tidak ada proses pivoting selama eliminasi Gauss, maka
det (A) = (2) (-2) (-5) = 20
Rinaldi Munir - Topik Khusus Informatika I
16
• Misalkan A-1 adalah matriks balikan dari A. Sistem persamaan
lanjar Ax = b dapat diselesaikan sebagai berikut:
Ax = b
A-1 Ax = A-1 b
I x = A-1 b
(A-1 A = I )
x = A-1 b
• Cara penyelesaian dengan mengalikan matriks A-1 dengan b
itu dinamakan metode matriks balikan.
Rinaldi Munir - Topik Khusus Informatika I
39
• Contoh: Selesaikan sistem persamaan lanjar
x1 - x2 + 2x3 = 5
3x1 + x3 = 10
x1
+ 2x3 = 5
dengan metode matriks balikan.
Penyelesaian:
1
3
1
-1
0
0
~…~
2
1
2
1
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
1
R2 -3R1
~
R3 - R1
1
0
0
-1
3
1
2
-5
0
1
-3
-1
0
1
0
0
0
1
0 0.4 - 0.2
-1
0 1
0 -0.2 0.6
-1
A
Rinaldi Munir - Topik Khusus Informatika I
40
Solusinya adalah x = A-1 b.
x1
x2
x3
=
0
0.4
-1
0
0 -0.2
-0.2
1
0.6
5
10
5
=
0
-5
0
+ 4 - 1
+ 0 + 5
- 2 + 3
Rinaldi Munir - Topik Khusus Informatika I
=
3
0
1
41
Metode Dekomposisi LU
• Jika matriks A non-singular maka ia dapat difaktorkan
(diuraikan atau di-dekomposisi) menjadi matriks segitiga
bawah L (lower) dan matriks segitiga atas U (upper):
A = LU
a11
a21
a31
:
an1
a12 a13
a22 a23
a32 a33
:
an2 an3
… a1n
… a2n
… a3n
:
… ann
1
0 0 … 0
l21 1 0 … 0
= l31 l32 1 … 0
:
:
ln1 ln2 ln3 … 1
Rinaldi Munir - Topik Khusus Informatika I
u11
0
0
:
0
u12 u13 … u1n
u22 u23 … u2n
0 u33 … u3n
:
0
0 … unn
42
Sebagai contoh, matriks 3 × 3 di bawah ini difaktorkan menjadi :
2 −1 −1
1 0 0
0 −4
2
= 0 1 0
6 −3
1
3 0 1
2 −1 −1
0 −4
2
0
4
0
Sekali A difaktorkan menjadi L dan U, kedua matriks tersebut
dapat digunakan untuk menyelesaikan Ax = b.
Metode penyelesaian SPL dengan cara ini dikenal dengan nama
metode dekomposisi LU.
Metode ini dinamakan juga metode pemfaktoran segitiga
(triangular factorization).
Rinaldi Munir - Topik Khusus Informatika I
43
• Tinjau sistem persamaan lanjar
Ax = b
• Faktorkan A menjadi L dan U sedemikian sehingga
A = LU
• Jadi,
Ax = b
LU x = b
• Misalkan
Ux = y
maka
Ly = b
Rinaldi Munir - Topik Khusus Informatika I
44
Untuk memperoleh y1, y2,…, yn , kita menggunakan teknik penyulihan maju
(forward substitution) :
Ly = b
1
l21
→
...
ln1
0
1
...
ln2
0
0
…
ln3
...
...
…
…
0
0
…
1
y1
y2 =
…
yn
b1
b2
…
bn
→
diperoleh y1, y2,…,
yn dengan teknik
penyulihan maju
Dan untuk memperoleh solusi SPL, x1, x2,…, xn, kita menggunakan teknik
penyulihan mundur (backward substitution):
Ux = y
→
u11 u12 u13 … u1n
0 u22 u23 … u2n
...
...
0 0
0 … unn
x1
x2
:
xn
=
y1
y2
:
yn
diperoleh
x1, x2, …, xn
dengan teknik
penyulihan
mundur
Rinaldi Munir - Topik Khusus Informatika I
45
• Jadi, langkah-langkah menghitung solusi SPL dengan metode
dekomposi LU dapat diringkas sebagai berikut:
1. Bentuklah matriks L dan U dari A
2. Pecahkan Ly = b, lalu hitung y dengan teknik penyulihan
maju
3. Pecahkan Ux = y, lalu hitung x dengan teknik penyulihan
mundur
• Terdapat dua metode untuk memfaktorkan A atas L dan U:
1. Metode LU Gauss.
2. Metode reduksi Crout.
Rinaldi Munir - Topik Khusus Informatika I
46
Pemfaktoran dengan Metode LU Gauss
Misalkan matriks A berukuran 4 × 4 difaktorkan atas L dan U,
A = LU
a11
a21
a31
a41
a12
a22
a32
a42
a13
a23
a33
a43
a14
a24
a34
a44
=
1
0
m21 1
m31 m32
m41 m42
0
0
1
m43
0
0
0
1
u11
0
0
0
u12 u13
u22 u23
0
u33
0 0
u14
u24
u34
u44
Di sini kita menggunakan simbol mij ketimbang lij,
karena nilai lij berasal dari faktor pengali (mij) pada
proses eliminasi Gauss. Langkah-langkah pembentukan
L dan U dari matriks A adalah sebagai berikut:
Rinaldi Munir - Topik Khusus Informatika I
47
1. Nyatakan A sebagai A = IA
a11
a21
a31
:
an1
a12
a22
a32
a13
a23
a33
…
…
…
an2
an3
…
a1n
a2n
a3n
:
ann
=
1
0
0
:
0
0
1
0
0
0 … 0
0 … 0
1 … 0
:
0 … 1
a11 a12
a21 a22
a31 a32
an1 an2
a13 … a1n
a23 … a2n
a33 … a3n
:
an3 … ann
2. Eliminasikan matriks A di ruas kanan menjadi matriks segitiga atas U.
Tempatkan faktor pengali mij pada posisi lij di matriks I.
3. Setelah seluruh proses eliminasi Gauss selesai, matriks I menjadi matriks L,
dan matriks A di ruas kanan menjadi matriks U.
Rinaldi Munir - Topik Khusus Informatika I
48
a11
a21
a31
:
an1
a12
a22
a32
a13 … a1n
a23 … a2n
a33 … a3n
an2
an3 … ann
b1
b2
b3
:
bn
Solusinya:
1
0
0
:
0
0
1
0
0…0
0…0
1…0
0
0…1
x1
x2
...
b1'
b2'
b3'
:
bn'
= b1 '
= b2 '
...
xn = bn'
Seperti halnya metode eliminasi Gauss, tatancang pivoting
dan penskalaan juga dapat diterapkan pada metoda ini
untuk memperkecil galat pembulatan.
Rinaldi Munir - Topik Khusus Informatika I
49
• Contoh:
10 (LU Gauss naif)
A=
4
-2
1
3
-4
2
-1
5
6
=
1
0
0
0
1
0
0
0
1
4
-2
1
3
-4
2
-1
5
6
Eliminasikan matriks A di ruas kanan menjadi matriks segitiga atas U, dan tempatkan
faktor pengali mij pada posisi lij di matriks I.
4
-2
1
3
-4
2
-1
5
6
R2 - (-2/4)R1
~
1
R3-( /4)R1
4
0
0
3
-2.5
1.25
-1
4.5
6.25
Tempatkan m21 = -2/4 = 0.5 dan m31= 1/4 = 0.25 ke dalam matriks L:
L=
1
-0.5
0
0
1
m32
0
0
1
Rinaldi Munir - Topik Khusus Informatika I
50
Teruskan proses eliminasi Gauss pada matriks A,
4
0
0
3
-2.5
1.25
R3 - (1.25/-2.5)R2
~
-1
4.5
6.25
4
0
0
3
-2.5
0
-1
4.5
8.5
=U
Tempatkan m32 = 1.25/-2.5 = -0.5 ke dalam matriks L:
L=
1
-0.5
0.25
A =
4
-2
1
0
1
-0.5
0
0
1
Jadi,
3
-4
2
-1
5
6
=
1
0
-0.5 1
0.25 -0.5
0
0
1
Rinaldi Munir - Topik Khusus Informatika I
4
0
0
3
-2.5
0
-1
4.5
8.5
51
• Contoh:
(LU Gauss dengan tata-ancang pivoting)
Faktorkan matriks A berikut
1
2
-1
A=
1
2
1
-1
1
1
b=
1
5
1
lalu pecahkan sistem Ax = b.
Penyelesaian:
Eliminasikan matriks A di ruas kanan menjadi matriks segitiga atas U, dan tempatkan
faktor pengali mij pada posisi lij di matriks I.
1
2
-1
1
2
1
-1
1
1
R2 - (2)R1
~
1
R3-( /1)R1
1
0
0
Rinaldi Munir - Topik Khusus Informatika I
1
0
2
-1
3
0
52
Tempatkan m21 = 2 dan m31= 1/1 = 1 ke dalam matriks L:
L=
1
2
-1
0
1
m32
0
0
1
Teruskan proses eliminasi Gauss pada matriks A. Dalam hal ini ada pivoting karena calon
pivot bernilai 0, sehingga baris kedua dipertukarkan dengan baris ketiga:
1
0
0
1
0
2
-1
3
0
R2 ⇔ R3
1
0
0
1
2
0
-1
0
3
Jangan lupa mempertukarkan juga R2 ⇔ R3 pada matriks L, kecuali elemen diagonalnya
L=
1
2
-1
0
1
m32
0
0
1
R2 ⇔ R3
Rinaldi Munir - Topik Khusus Informatika I
1
-1
2
0
1
m32
0
0
1
53
Jangan lupa mempertukarkan juga R2 ⇔ R3 pada vektor b,
b =
1
5
1
1
1
5
R2 ⇔ R3
Teruskan proses eliminasi Gauss pada matriks A:
R3 - (0/2)R2
1
0
0
1
2
0
-1
0
3
=U
Tempatkan m32 = 0/2 = 0 ke dalam matriks L:
L=
1
-1
2
0
1
0
0
0
1
Rinaldi Munir - Topik Khusus Informatika I
54
Jadi,
A=
1
-1
2
1
1
2
-1
1
1
=
1
-1
2
0
1
0
0
0
1
1
0
0
1
2
0
-1
0
3
Berturut-turut dihitung y dan x sebagai berikut:
Ly = b
1
-1
2
0
1
0
0
0
1
y1
y2
y3
=
1
1
5
y1 , y2, dan y3 dihitung dengan teknik penyulihan maju:
y1
=1
= 1 → y2 = 1 + y1 = 1 + 1 = 2
-y1 + y2
= 5 → y3 = 5 - 2y1 = 3
2y1 + 0y2 + y3
Rinaldi Munir - Topik Khusus Informatika I
55
Ux = y
1
0
0
1
2
0
-1
0
3
x1
x2
x3
=
1
2
3
x1, x2, dan x3 dihitung dengan teknik penyulihan mundur:
3x3
=3
→ x3 = 1
2x2 + 0x3
=2
→ x2 = 1
x1 + x2 - x3
=1
→ x1 = 1
Jadi, solusi sistem persamaan lanjar di atas adalah x = (1, 1, 1)T.
Rinaldi Munir - Topik Khusus Informatika I
56
Pertukaran baris untuk matriks yang berukuran besar diperlihatkan oleh matriks
di bawah ini:
a1
0
0
0
0
0
a2
b2
0
0
0
0
a3
b3
c3
0
0
0
a4
b4
c4
0
e4
f4
a5
b5
c5
d5
e5
f5
a6
b6
c6
d6
e6
f6
R5 ⇔ R4
(*)
a1
0
0
0
0
0
a2
b2
0
0
0
0
a3
b3
c3
0
0
0
a4
b4
c4
e4
0
f4
a5
b5
c5
e5
d5
f5
a6
b6
c6
e6
d6
f6
Maka, baris ke-5 dan baris ke-4 pada matriks L juga harus dipertukarkan:
1
m21
m31
m41
m51
m61
0
1
m32
m42
m52
m62
0
0
1
m43
m53
m63
0
0
0
1
x
x
0 0
0 0
0 0
0 0
1 0
x 1
R5 ⇔ R4
(*)
1
0
0
m21 0
0
m31 m32 1
m51 m52 m53
m41 m42 m43
m61 m62 m63
Rinaldi Munir - Topik Khusus Informatika I
0
0
0
1
x
x
0 0
0 0
0 0
0 0
1 0
x 1
57
Pemfaktoran dengan Metode Reduksi Crout
• Meskipun metode LU Gauss dikenal paling baik untuk
melakukan dekomposisi LU, terdapat metode lain yang
digunakan secara luas, yaitu metode reduksi Crout
• Nama lain: metode reduksi Cholesky atau metode Dolittle
Dalam membahas metode reduksi Crout, tinjau matriks 3 × 3 berikut:
A =
a11
a21
a31
a12
a22
a32
a13
a23
a33
1
L = l21
l31
0 0
1 0
l3,2 1
Rinaldi Munir - Topik Khusus Informatika I
U=
u11
0
0
u12
u2,2
0
u13
u23
u33
2
Karena LU = A, maka hasil perkalian L dan U itu dapat ditulis sebagai
LU =
u11
l21u11
l31u13
u12
u13
l21u12 + u22 l21u13+u23
l31u12 + l32u22 l31u13 + l32u23 + u33
=A=
a11
a21
a31
a12
a22
a32
a13
a23
a33
Dari kesamaan dua buah matriks LU = A, diperoleh
u11 = a11 ,
u12 = a12 ,
l21u1 = a21
→
l31u11 =
a31 →
l21u12 + u22 =
l21u13 + u23 =
a22
a23
u13 = a13
a 21
u11
a
= 31
u11
l21 =
l31
→
→
u22 = a22 - l21u12
u23 = a23 - l21u13
Rinaldi Munir - Topik Khusus Informatika I
}
Baris pertama U
}
Kolom pertama L
}
Baris kedua U
3
l31u12 + l32u22 = a32 →
a 32 − l 31u12
l32 =
u 22
Kolom kedua L
l31u13 + l32u23 + u33 = a33 → u33 = a33 - ( l31u13 + l32u23) }
Baris
ketiga U
Kita perhatikan ada urutan pola teratur dalam menemukan
elemen-elemen L dan U, yaitu:
(1)elemen-elemen baris pertama dari U
(2)elemen-elemen baris pertama dari L
(3)elemen-elemen baris kedua dari U
(4)elemen-elemen baris kedua L
(5)…
(6)elemen-elemen baris ke-k dari U
(7)elemen-elemen baris ke-k dari L
Rinaldi Munir - Topik Khusus Informatika I
4
Rumus umum menghitung u dan l untuk sistem dengan matriks A yang berukuran
3 × 3 dapat ditulis sebagai berikut:
p −1
lpk ukj,
p = 1, 2, 3, …., n
j = p, p+1, …., n
(P.4.13)
1ik u kq
q = 1, 2, 3, …., n-1
, i = q+1, q+2, …., n
dengan syarat uqq ≠ 0
(P.4.14)
upj = apj k =1
dan
q −1
aiq −
liq =
k =1
u qq
Rinaldi Munir - Topik Khusus Informatika I
5
Contoh: Selesaikan
x1 + x2 - x3 = 1
2x1 + 2x2 + x3 = 5
-x1 + x2 + 2x3 = 5
dengan metode dekomposisi LU, yang dalam hal ini L dan U dihitung dengan
metode reduksi Crout.
Penyelesaian:
A=
Diperoleh:
1
2
-1
1
2
1
-1
1
1
b=
1
5
1
u11 = a11 = 1
u12 = a12 = 1
u13 = a13 = -1
l21 = a21/u11 = 2/1 = 2
l31 = a31/u11 = -1/1 = -1
u22 = a22 - l21u12 = 2 - 2 ⋅1 = 0
Rinaldi Munir - Topik Khusus Informatika I
6
Karena uqq tidak boleh nol, lakukan pertukaran baris, baik untuk matriks A maupun untuk
vektor b:
Matriks A
R2 ⇔ R3
1
-1
2
1
1
2
-1
1
1
Vektor b
R2 ⇔ R3
1
1
5
Hitung kembali nilai l21 , l31 , dan u22 (Perhatikan bahwa nilai u11, u12, u13 tidak berubah)
l21 = a21/u11 = -1/1 = -1
l31 = a31/u11 = 2/1 = 2
u22 = a22 - l21u12 = 1 - (-1)(1) = 1 + 1 = 2
u23 = a23 - l21u13 = 1 - (-1)(-1) = 1-1 = 0
l32 =
a32 − l 31u12
2 − 2(1)
=
=0
u 22
2
Rinaldi Munir - Topik Khusus Informatika I
7
Diperoleh L dan U sebagai berikut,
U=
1
0
0
1
2
0
-1
0
3
L=
1
-1
2
0
1
0
0
0
1
dan b =
1
1
5
Berturut-turut dihitung y dan x sebagai berikut:
Ly = b
1
-1
2
0
1
0
0
0
1
y1
y2
y3
=
1
1
5
y1, y2, dan y3 dihitung dengan teknik penyulihan maju:
=1
y1
-y1 + y2
= 1 → y2 = 1 + y1 = 1 + 1 = 2
2y1 + 0y2 + y3
= 5 → y3 = 5 - 2y1 = 3
Rinaldi Munir - Topik Khusus Informatika I
8
Ux = y
1
0
0
1
2
0
-1
0
3
x1
x2
x3
=
1
2
3
x1, x2, dan x3 dihitung dengan teknik penyulihan mundur:
3x3
=3
→ x3 = 1
2x2 + 0x3
=2
→ x2 = 1
x1 + x2 - x3
=1
→ x1 = 1
Jadi, solusi sistem persamaan lanjar di atas adalah x = (1, 1, 1)T.
Rinaldi Munir - Topik Khusus Informatika I
9
• Jika diamati elemen segitiga bawah pada matriks U
semuanya bernilai nol, sehingga ruang yang tidak
terpakai itu dapat dipakai untuk menyimpan elemen
matriks L.
• Elemen diagonal matriks L seluruhnya 1, jadi tidak perlu
disimpan (default). Dengan demikian, penyimpanan
elemen L dan U pada satu matriks dapat menghemat
penggunaan memori.
• Selain itu, matriks A hanya dipakai sekali untuk
memperoleh L dan U, sesudah itu tidak dipakai lagi.
• Dengan demikian, setelah L dan U diperoleh, elemennya
dapat dipindahkan ke dalam A.
• Karena alasan ini, maka metode dekomposisi LU
dinamakan juga metode kompaksi memori.
Rinaldi Munir - Topik Khusus Informatika I
10
Determinan
• Metode eliminasi Gauss dapat diterapkan untuk menghitung
determinan matriks n × n.
• Determinannya dapat dihitung setelah ia ditransformasi
menjadi matriks segitiga atas U.
• Dua hukum penting determinan:
Hukum 1: det(BC) = det(B) × det(C)
Hukum 2: det(M) = hasil kali semua elemen diagonal M
jika M adalah matriks segitiga atas atau matriks segitiga
bawah.
Rinaldi Munir - Topik Khusus Informatika I
11
Kasus 1: Bila eliminasi Gauss tidak menerapkan
tatancang pivoting.
• Jika pivoting tidak diterapkan, determinan matriks A
adalah:
det (A) = det (LU)
= det (L) × det(U)
= det(U)
= u11 u22 u33 ... unn
• yang dalam hal ini det(L) = 1 sebab semua elemen
diagonal L adalah satu.
Rinaldi Munir - Topik Khusus Informatika I
12
Kasus 2: Bila eliminasi Gauss menerapkan
tatancang pivoting.
• Tatancang pivoting mengakibatkan pertukaran baris.
Dekomposisi LU dengan pivoting setara dengan
mengerjakan dua proses terpisah berikut:
1. Transformasikan matriks A menjadi matriks A'
dengan cara permutasi baris-baris matriks (sama
dengan mengalikan A dengan matriks permutasi P),
A' = PA atau setara dengan A = P-1 A'
2. Dekomposisi A' menjadi LU tanpa pivoting
A' = LU
Rinaldi Munir - Topik Khusus Informatika I
13
• Dari (1) dan (2), L dan U dihubungkan dengan A oleh
A = P-1 A' = P-1 LU
• Determinan A dapat ditulis sebagai
det (A) =
=
=
=
det (P-1) × det (L) × det (U)
det (P-1) × 1 × det (U)
det (P-1) × det (U)
α det (U)
yang dalam hal ini α = det (P-1) = -1 atau 1 bergantung pada
apakah pivoting sejumlah bilangan ganjil atau genap.
Rinaldi Munir - Topik Khusus Informatika I
14
• Jika pivoting dilakukan sejumlah p kali, maka α dapat
ditulis sebagai:
α = (-1)p
• α bernilai 1 untuk p genap dan -1 untuk p ganjil.
Karena itu,
det(A) = (-1)p det(U) = (-1)p u11 u22 u33 ... unn
Rinaldi Munir - Topik Khusus Informatika I
15
• Contoh: Hitung determinan matriks A berikut:
2
4
-2
A=
3
4
3
-1
-3
-1
Penyelesaian:
2
4
-2
3
4
3
-1
-3
-1
R2 - 4/2 R1
R3 - -2/2 R1
2
0
1
3
-2
0
-1
-1
-2
R3 - 6/-2 R2
2
0
0
3
-2
0
-1
-1
-5
Tidak ada proses pivoting selama eliminasi Gauss, maka
det (A) = (2) (-2) (-5) = 20
Rinaldi Munir - Topik Khusus Informatika I
16