You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Modul 2:<br />
Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL)<br />
dengan Metode Eliminasi Gauss dan variannya<br />
Seri Matematika Terapan untuk S2<br />
<strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) atau dikenal juga sebagai<br />
‘Persamaan <strong>Aljabar</strong> Linier Serempak’ banyak sekali dijumpai<br />
dalam perhitungan-perhitungan teknik kimia yang melibatkan<br />
solusi numeris. Beberapa metode solusi yang melibatkan solusi<br />
SPAL, di antaranya dalah: solusi Sisten Persamaan <strong>Aljabar</strong> Non-<br />
Linier (SPANL), solusi Persamaan Diferensial Biasa (PDB), solusi<br />
<strong>persamaan</strong> Diferensial Parsial (PDP), Regresi Linier dan Non-<br />
Linier, dll.<br />
Dalam modul ini, para mahasiswa S2 akan diajak terlebih dahulu<br />
untuk membaca ulang (review) secara ringkas dan cepat tentang<br />
beberapa pengertian dasar skalar, vektor, matriks, dan sistem<br />
<strong>persamaan</strong> linier. Pengulangan ini sangat diperlukan mengingat<br />
banyak di antara peserta ajar S2 yang sudah terlupa dengan materimateri<br />
kuliah matematik yang pernah diikutinya. Di samping itu<br />
juga, para pembaca diajak untuk memahami secara praktis tentang<br />
konsep-konsep pemahaman dalam aljabar linier yang<br />
diimplementasikan dalam metode numerik.<br />
Setelah pengulangan tentang aljabar numeris, para pembaca diajak<br />
secara ringkas untuk memahami konsep-konsep perhitungan<br />
numeris yang berhubungan dengan metode-metode Eliminasi<br />
Gauss dan Pivot Gauss. Kemudian, lebih jauh lagi diajak untuk<br />
melakukan analisis numerik dalam solusi-solusi Dekomposisi LU<br />
dan Matriks Tri-Diagonal.<br />
A. Skalar, Vektor, Matriks dan SPAL<br />
(a). Skalar atau konstanta didefinisikan sebagai suatu obyek<br />
tunggal (berdimensi nol), baik bilangan nyata (R, real) ataupun<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (1/1)
Seri Matematika Terapan untuk S2<br />
bilangan kompleks (C, complex) yang daripadanya dapat dilakukan<br />
sembarang operasi aritmatika/aljabar secara linier, seperti:<br />
penambahan (adisi), pengurangan (substraksi), perkalian<br />
(multiplikasi), pembagian (divisi), perpangkatan (eksponen), dsb.<br />
Dalam prakteknya, besaran skalar dapat dibagi atas 2 bagian besar<br />
dalam domain bilangan, yaitu:<br />
k = R, suatu skalar dalam bidang bilangan nyata,<br />
z = C, suatu skalar dalam bidang bilangan kompleks.<br />
(b). Vektor atau ‘ruang vektor V’ adalah suatu set (sekumpulan)<br />
obyek berupa skalar (berdimensi satu) yang kepadanya dapat<br />
dilakukan operasi-operasi skalar spesifik berupa ‘penambahan<br />
vektor’ (vector addition) dan ‘perkalian skalar’ (scalar<br />
multiplication). Operasi-operasi tersebut harus memenuhi aturanaturan<br />
baku, berupa: asosiatif, komutatif, dan distributif.<br />
V = R n , suatu set skalar dalam bidang bilangan nyata dengan<br />
jumlah anggota sebanyak n buah, atau<br />
V =<br />
⎡v1<br />
⎤<br />
⎢v<br />
⎥<br />
2<br />
⎢ ⎥ , merupakan ‘vektor horizontal’, sedangkan<br />
⎢ M ⎥<br />
⎢⎣<br />
vn<br />
⎥⎦<br />
H = [ h h L h ]<br />
1<br />
2<br />
n<br />
, merupakan ‘vektor horisontal’,<br />
Ζ = C n , suatu set skalar dalam bidang bilangan kompleks<br />
dengan jumlah anggota sebanyak n buah.<br />
(c). Matriks didefinisikan sebagai suatu set vektor yang tersususn<br />
sedemikian rupa sehingga tebentuk kumpulan bilangan dengan<br />
pola persegi-empat, atau berorder m (baris) x n (kolom)<br />
(berdimensi dua).<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (2/2)
A =<br />
⎡a1<br />
⎢a2<br />
⎢<br />
⎢ M<br />
⎢<br />
⎣an<br />
, 1<br />
, 1<br />
, 1<br />
a1<br />
a2<br />
M<br />
a<br />
Seri Matematika Terapan untuk S2<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (3/3)<br />
, 2<br />
, 2<br />
n,<br />
2<br />
Dalam sistem linier, pada umumnya hanya digunakan matriksmatrik<br />
bujur-sangkar sehingga secara sederhana: order matriks<br />
identik dengan jumlah <strong>persamaan</strong>. Lambang matriks selalu<br />
dituliskan dalam huruf besar (capital), sedangkan elemenelemennya<br />
dituliskan dalam huruf kecil seperti dalam penulisan<br />
matriks A di atas.<br />
(d). <strong>Sistem</strong> <strong>persamaan</strong> linier, dalam modul ini digunakan istilah<br />
SPAL (<strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier) yang didefinisikan<br />
sebagai suatu set <strong>persamaan</strong>-<strong>persamaan</strong> aljabar yang variabelvariabelnya<br />
berpangkat tunggal (linier) dengan notasi berikut:<br />
a<br />
a2<br />
a<br />
a<br />
1,<br />
1<br />
, 1<br />
3,<br />
1<br />
n,<br />
1<br />
x1<br />
+ a1<br />
x1<br />
+ a2<br />
x + a<br />
x<br />
1<br />
1<br />
+ a<br />
, 2<br />
, 2<br />
3,<br />
2<br />
n,<br />
2<br />
x<br />
x<br />
x<br />
x<br />
2<br />
2<br />
2<br />
2<br />
+ .<br />
+ a<br />
+ .<br />
+ a<br />
+ .<br />
+ a<br />
+ .<br />
+ a<br />
L<br />
L<br />
L<br />
1,<br />
n<br />
2,<br />
n<br />
3,<br />
n<br />
n,<br />
n<br />
a<br />
a<br />
M<br />
a<br />
1,<br />
n<br />
2,<br />
n<br />
n,<br />
n<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
xn<br />
= b<br />
xn<br />
= b<br />
xn<br />
= b<br />
.<br />
= .<br />
x = b<br />
sedemikian rupa sehingga <strong>persamaan</strong> di atas dapat dituliskan dalam<br />
notasi berikut:<br />
atau<br />
⎡a1<br />
⎢a2<br />
⎢<br />
⎢ .<br />
⎢<br />
⎣an,<br />
, 1<br />
, 1<br />
1<br />
a1<br />
a2<br />
.<br />
a<br />
, 2<br />
, 2<br />
n,<br />
2<br />
[ A ] ⋅ [ x]<br />
= [ b]<br />
.<br />
.<br />
.<br />
.<br />
a<br />
a2<br />
.<br />
a<br />
1,<br />
n<br />
, 1<br />
n,<br />
n<br />
n<br />
⎤ ⎡ x1<br />
⎤<br />
⎥ ⎢x<br />
⎥<br />
2<br />
⎥ ⋅ ⎢ ⎥<br />
⎥ ⎢ .<br />
⎥<br />
⎥<br />
⎦ ⎢⎣<br />
xn<br />
⎥⎦<br />
=<br />
1<br />
2<br />
3<br />
M<br />
⎫<br />
⎪<br />
⎪<br />
⎬<br />
⎪<br />
⎪<br />
⎭<br />
⎡b1<br />
⎤<br />
⎢b<br />
⎥<br />
2<br />
⎢ ⎥<br />
⎢ .<br />
⎥<br />
⎢⎣<br />
bn<br />
⎥⎦<br />
SPAL di atas memiliki n buah variabel atau bilangan anu (x j , j =<br />
1, 2,…, n) yang identik dengan jumlah <strong>persamaan</strong>nya. Koefisien-
Seri Matematika Terapan untuk S2<br />
koefisien x i,j , (x 1,1 . . . x n,n ) merupakan konstanta (diketahui),<br />
demikian juga b i (b 1 . . . b n ) yang dikenal sebagai vektor ruas<br />
kanan (VRK).<br />
Menurut konvensi : indeks pertama dari elemen a i,j menyatakan<br />
baris (= i) sedangkan indeks kedua menyatakan kolom (= j).<br />
Agar solusi SPAL di atas dapat diperoleh, maka persayaratan<br />
(teorema) berikut harus dipenuhi:<br />
1. A x = b mempunyai jawab unik x ∈ V untuk setiap b ∈ V,<br />
2. A x = b hanya mempunyai satu solusi x ∈ V untuk setiap b<br />
∈ V,<br />
3. Jika A x = 0, berarti x = 0,<br />
4. A -1 atau inversi dari matriks A ada,<br />
5. Determinan(A) ≠ 0,<br />
6. Rank(A) = n, atau matriks A berorder n.<br />
Seperti telah dijelaskan di atas, matriks A merupakan matriks bujur<br />
sangkar. Bila teorema di atas tak terpenuhi, maka akan terjadi<br />
kombinasi linier (akan mengakibatkan <strong>persamaan</strong> aljabar di atas<br />
bersifat SINGULAR).<br />
Kombinasi Linier :<br />
per baris, cukup hanya 2 baris yang menyebabkannya,<br />
per kolom, bila semua baris yang menyebabkanya.<br />
B. Solusi SPAL secara numeris<br />
Solusi SPAL secara numeris umumnya selalu (harus) lebih efisien<br />
dan cepat dibandingkan dengan metode-metode analitis, seperti<br />
metode Cramer. Namun demikian, solusi numerik ini secara teknis<br />
adakalanya juga berkendala, karena:<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (4/4)
Seri Matematika Terapan untuk S2<br />
ada beberapa <strong>persamaan</strong> yang mendekati kombinasi linier,<br />
akibat adanya “round off error” dari mesin penghitung pada<br />
suatu tahap perhitungan<br />
adanya akumulasi “round off error” pada proses komputasi akan<br />
berakibat domain bilangan nyata (fixed point) dalam perhitungan<br />
akan terlampaui (overflow), biasanya akibat dari jumlah<br />
<strong>persamaan</strong> yang terlalu besar<br />
Metode-metode solusi numerik yang banyak dipakai, dapat<br />
diklasifikasikan sebagai:<br />
a. Metode Langsung<br />
Eliminasi Gauss (EGAUSS), prinsipnya: merupakan operasi<br />
eliminasi dan substitusi variabel-variabelnya sedemikian<br />
rupa sehingga dapat terbentuk matriks segitiga atas, dan<br />
akhirnya solusinya diselesaikan menggunakan teknik<br />
substitusi balik (backsubstitution). Metode Eliminasi Gauss<br />
ini secara ringkas dibahas pada Paragraf C.<br />
Eliminasi Gauss-Jordan (EGJ), prinsipnya: mirip sekali<br />
dengan metode EG, namun dalam metode ini jumlah operasi<br />
numerik yang dilakukan jauh lebih besar, karena matriks A<br />
mengalami inversi terlebih dahulu untuk mendapatkan<br />
matriks identitas (I). Karena kendala tersebut, maka metode<br />
ini sangat jarang dipakai, namun sangat bermanfaat untuk<br />
menginversikan matriks. Metode ini tidak dibahas lebih<br />
lanjut dalam pelajaran ini.<br />
Dekomposisi LU (DECOLU), prinsipnya: melakukan<br />
dekomposisi matriks A terlebih dahulu sehingga dapat<br />
terbentuk matriks-matrik segitiga atas dan bawah, kemudian<br />
secara mudah dapat melakukan substitusi balik<br />
(backsubstitution) untuk berbagai vektor VRK (vektor ruas<br />
kanan). Metode ini secara lebih jelas akan dibahas pada<br />
Paragraf F, khusus tentang metode-metode dekomposisi LU<br />
dan teknik komputasinya.<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (5/5)
Seri Matematika Terapan untuk S2<br />
Solusi sistem TRIDIAGONAL (S3DIAG), prinsipnya<br />
merupakan solusi SPAL dengan bentuk matrik pita (satu<br />
diagonal bawah, satu diagonal utama, dan satu diagonal atas)<br />
pada matriks A. Metode ini akan dibahas lebih lanjut pada<br />
Paragraf K.<br />
b. Metode Tak-Langsung (Metode Iteratif)<br />
Metode Jacobi, prinsipnya: merupakan metode iteratif yang<br />
melakuakn perbaharuan nilai x yang diperoleh tiap iterasi<br />
(mirip metode substitusi berurutan, successive substitution),<br />
Metode Gauss-Seidel, prinsipnya: mirip metode Jacobi,<br />
namun melibatkan perhitungan implisit,<br />
Metode Successive Over Relaxation (SOR), prinsipnya:<br />
merupakan perbaikan secara langsung dari Metode Gauss-<br />
Seidel dengan cara menggunakan faktor relaksasi (faktor<br />
pembobot) pada setiap tahap/proses iterasi.<br />
Metode-metode tak-langsung seperti di atas pada umunya<br />
sangat tidak efisien dan ‘time consuming’ (memerlukan CPUtime)<br />
yang jauh lebih besar dari metode langsung. Metode ini<br />
dapat dilihat dan dipelajari pada buku-buku numerik yang ada<br />
di perpustakaan atau toko buku.<br />
C. Algoritma Solusi SPAL dengan Metode Eliminasi Gauss<br />
Langkah #1: Pilih harga<br />
) 1 (<br />
1,<br />
1<br />
a sedemikian rupa yang tidak<br />
berharga nol. Tentukan ‘pengali baris’ sebagai berikut:<br />
( 1)<br />
m , 1 ai,<br />
1<br />
( 1)<br />
1,<br />
1<br />
i = a ; i = 2,3,…,n<br />
Kemudian, konstanta-konstanta pengali baris (m) di atas<br />
digunakan untuk melakukan ‘eliminasi’ term-term x 1 pada<br />
<strong>persamaan</strong>-<strong>persamaan</strong> 2 sampai ke-n, seperti berikut:<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (6/6)
( 2)<br />
( 1)<br />
( 1)<br />
i,<br />
j ai,<br />
j − mi,<br />
1 a1,<br />
j<br />
a = ⋅ ; i,j = 2, …, n<br />
( 2)<br />
( 1)<br />
bi bi<br />
− mi,<br />
1<br />
( 1)<br />
1<br />
= ⋅ b ; i = 2, …, n<br />
Seri Matematika Terapan untuk S2<br />
Dalam hal ini, baris pertama dari matriks A dan vektor b tidak<br />
boleh diganggu, sedangkan kolom pertama dari matriks A (1) di<br />
bawah diagonal harus dibuat nol. <strong>Sistem</strong> A (2) ·x = b (2) akan<br />
tampak seperti berikut:<br />
⎡ (<br />
a1,<br />
⎢<br />
⎢ 0<br />
⎢<br />
⎢ M<br />
⎢<br />
⎣<br />
0<br />
1)<br />
1<br />
a<br />
a<br />
a<br />
( 1)<br />
1,<br />
2<br />
( 2)<br />
2,<br />
2<br />
M<br />
( 2)<br />
n,<br />
2<br />
L<br />
L<br />
L<br />
⎤ ⎡ ( 1)<br />
⎡ x1<br />
⎤ b ⎤<br />
⎥ ⎢ 1<br />
⎢ ⎥ ⎥<br />
⎥ ⎢<br />
x ( 2)<br />
2 ⎥ ⎢b<br />
⎥<br />
⎥ ⋅ = 2<br />
⎢ ⎥ ⎢ ⎥<br />
⎥<br />
M<br />
⎢ ⎥ ⎢<br />
M<br />
⎥<br />
⎥ ⎣x<br />
⎦ ⎢ ( 2)<br />
n ⎣<br />
⎥<br />
⎦<br />
bn<br />
⎦<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (7/7)<br />
a<br />
a<br />
a<br />
( 1)<br />
1,<br />
n<br />
( 2)<br />
2,<br />
2<br />
M<br />
( 2)<br />
n,<br />
n<br />
Proses eliminasi dilanjutkan untuk kolom-kolom 2, 3 sampai ken,<br />
dan diungkapkan dalam langkah berikut.<br />
Langkah k: menggunakan k untuk indeks iterasi, untuk rentang<br />
harga: 1 ≤ k ≤ n-1.<br />
Bila A (k) ·x = b (k) telah terbentuk, dan dengan anggapan termterm<br />
x1 , x2,<br />
K , xk<br />
−1<br />
telah tereliminasi pada tahap sebelumnya,<br />
sehingga matriks A (k) sekarang memiliki bentuk sebagai berikut:<br />
A (k) =<br />
⎡ ( 1)<br />
( 1)<br />
a1,<br />
1 a1,<br />
1 ⋅ ⋅ ⋅<br />
⎢<br />
⎢ ( 2)<br />
0 a<br />
⎢ 2,<br />
2<br />
⎢ M<br />
O<br />
⎢<br />
⎢<br />
( k)<br />
0 L 0 a<br />
⎢<br />
k,<br />
k L<br />
⎢ M M M<br />
⎢<br />
⎢<br />
( k)<br />
⎣<br />
0 L 0 an,<br />
k L<br />
a<br />
a<br />
a<br />
a<br />
( 1)<br />
1,<br />
n<br />
( 2)<br />
2,<br />
n<br />
M<br />
( k)<br />
k,<br />
n<br />
M<br />
( k) n,<br />
n<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦
Pilih harga<br />
) 1 (<br />
1,<br />
1<br />
Seri Matematika Terapan untuk S2<br />
a sedemikian rupa yang tidak berharga nol.<br />
Tentukan ‘pengali baris’ sebagai berikut:<br />
i,<br />
k<br />
( k)<br />
i,<br />
k<br />
( k)<br />
k,<br />
k<br />
m = a a ; i = k+1,…,n<br />
Kemudian, gunakan konstanta-konstanta di atas untuk<br />
mengeliminasi term-term x k pada <strong>persamaan</strong>-<strong>persamaan</strong> k+1<br />
sampai ke-n, seperti berikut:<br />
( k + 1)<br />
i,<br />
j<br />
( k) i,<br />
j<br />
a = a − m ⋅ a<br />
i,<br />
k<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (8/8)<br />
( k)<br />
k,<br />
j<br />
( k + 1)<br />
( k)<br />
( k)<br />
i = bi<br />
− mi,<br />
k bk<br />
b ⋅<br />
; i,j = 2, …, n<br />
Baris-baris terdahulu, dari 1 sampai k, tidak boleh diganggu,<br />
dan harga-harga nol dimasukkan pada kolom k di bawah<br />
diagonal.<br />
Dengan mengikuti langkah-langkah seperti di atas, setelah<br />
langkah ke n-1 akan diperoleh suatu matriks dengan susunan<br />
seperti berikut:<br />
⎡ (<br />
a1,<br />
⎢<br />
⎢ 0<br />
⎢<br />
M<br />
⎢<br />
⎢⎣<br />
0<br />
1)<br />
1<br />
L<br />
O<br />
L<br />
L<br />
O<br />
L<br />
a<br />
a<br />
( 1)<br />
1,<br />
n<br />
M<br />
M<br />
( n) n,<br />
n<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⋅<br />
⎥<br />
⎥⎦<br />
⎡ x<br />
⎢<br />
⎢<br />
M<br />
⎢ M<br />
⎢<br />
⎣x<br />
1<br />
n<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
⎡ ( 1)<br />
b ⎤<br />
1 ⎢ ⎥<br />
⎢ M<br />
=<br />
⎥<br />
⎢<br />
M<br />
⎥<br />
⎢ ⎥<br />
( n)<br />
⎢⎣<br />
bn<br />
⎥⎦<br />
Perhatikan, bahwa matriks A di atas sekarang telah berubah<br />
menjadi matriks segitiga atas (= matriks U), sehingga:<br />
U·x = b (n)<br />
Hal ini berarti bahwa solusi harga-harga x harus dilakukan<br />
dimulai dari indeks terbesar (=n) menuju indeks terkecil (=1),
Seri Matematika Terapan untuk S2<br />
yang disebut sebagai substitusi balik (back substitution), yang<br />
dimulai dengan:<br />
x =<br />
n<br />
b<br />
( n)<br />
( n) n an,<br />
n<br />
kemudian, diikuti dengan:<br />
x<br />
k<br />
=<br />
a<br />
1<br />
( k)<br />
k,<br />
k<br />
⎛<br />
⎜<br />
b<br />
⎝<br />
( k)<br />
k<br />
−<br />
n<br />
∑<br />
j=<br />
k + 1<br />
a<br />
⎞<br />
⎟<br />
; k = n-1,n-2,…,1<br />
⎠<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (9/9)<br />
( k)<br />
k,<br />
j<br />
D. Teknik Pivoting dalam Metode Eliminasi Gauss<br />
Dalam beberapa kasus, terutama bila dijumpai matriks-matrik yang<br />
bersifat ‘singular’ karena adanya ‘kombinasi linier’, solusi secara<br />
langsung menggunakan algoritma metode eliminasi Gauss tidak<br />
memberikan hasil dan ketelitian yang baik, bahkan seringkali<br />
memberikan hasil yang meleset jauh dari yang diharapkan.<br />
Untuk menghindari fenomena tersebut, diperlukan modifikasi dari<br />
algoritma eliminasi Gauss. Pada prinsipnya, modifikasi tersebut<br />
dilakukan dengan memperhatikan hal-hal berikut:<br />
Harga pivot diambil yang terbesar dari setiap baris dan kolom<br />
yang sesuai, yaitu komponen a ii ,<br />
Pemilihan pivot dilakukan berdasarkan ‘pembandingan harga<br />
terbesar (maksimum)’ dari setiap elemen a ∀ j ≥ i,<br />
Untuk hasil terbaik, sebaiknya gunakan variabel ‘presisi ganda’<br />
(DOUBLE PRECISION atau REAL*8).<br />
⋅ x<br />
j<br />
ji
E. Contoh Solusi SPAL dengan Eliminasi Gauss<br />
Diberikan SPAL berikut:<br />
4 x<br />
2 x<br />
2 x<br />
1<br />
1<br />
1<br />
+<br />
x<br />
+ 3x<br />
2<br />
+ 4 x<br />
2<br />
2<br />
+ 3x<br />
+ 10 x<br />
+ 17 x<br />
Maka, solusinya adalah sebagai berikut:<br />
Seri Matematika Terapan untuk S2<br />
Tahap I : Triangularisasi<br />
Eliminasi x 1 dari <strong>persamaan</strong> kedua dan ketiga (dalam hal ini :<br />
<strong>persamaan</strong> pertama disebut “<strong>persamaan</strong> pivotal”, sedangkan<br />
koefisien pertama dari <strong>persamaan</strong> kedua disebut “pivot”)<br />
Persamaan pertama dikalikan dengan 2 untuk mengeliminasi<br />
x pada <strong>persamaan</strong> kedua ; Persamaan pertama dikalikan<br />
1<br />
dengan 2 untuk mengeliminasi x 1 pada <strong>persamaan</strong> ketiga :<br />
2 x<br />
1<br />
+<br />
3x<br />
x<br />
x<br />
2<br />
2<br />
2<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (10/10)<br />
3<br />
3<br />
3<br />
+ 3x<br />
+ 14 x<br />
3<br />
+ 4 x<br />
Eliminasi x 2 dari <strong>persamaan</strong> ketiga (dalam hal ini :<br />
<strong>persamaan</strong> kedua menjadi “<strong>persamaan</strong> pivotal”,<br />
sedangkan koefisien x 2 dari <strong>persamaan</strong> ketiga disebut<br />
“pivot”)<br />
Persamaan kedua dikalikan dengan 3 untuk<br />
mengeliminasi x 2 pada <strong>persamaan</strong> kedua :<br />
2 x<br />
1<br />
2<br />
2<br />
3<br />
3<br />
+ 3x<br />
2 x<br />
3<br />
+ 4 x<br />
Tahap II : Substitusi Balik (Back Substitution)<br />
+<br />
x<br />
x<br />
3<br />
3<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
=<br />
11<br />
28<br />
31<br />
11<br />
6<br />
20<br />
11<br />
6<br />
2
Seri Matematika Terapan untuk S2<br />
Dimulai dari baris ketiga (baris terakhir, baris ke n),<br />
langsung dapat dihitung bahwa : x n = b n a n , n<br />
Baris lainnya, dimulai dari beris ke n-1 sampai baris<br />
pertama dihitung menggunakan algoritma :<br />
x<br />
i<br />
⎛<br />
⎜<br />
bi<br />
=<br />
⎝<br />
−<br />
n<br />
∑ a ⋅<br />
j = i+<br />
1<br />
a<br />
i,<br />
i<br />
i,<br />
j x j ⎟ Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (11/11)<br />
⎞<br />
⎠<br />
; i = n −1,<br />
n − 2,<br />
K,<br />
1<br />
Perolehan : vektor jawab yang dihasilkan adalah<br />
[ x ]<br />
=<br />
⎡ x<br />
⎢<br />
⎢<br />
x<br />
⎢⎣<br />
x<br />
1<br />
2<br />
3<br />
⎤<br />
⎥<br />
⎥<br />
⎥⎦<br />
=<br />
⎡3⎤<br />
⎢ ⎥<br />
⎢<br />
2<br />
⎥<br />
⎢⎣<br />
1⎥⎦<br />
(a). Listing Program Eliminasi Gauss (tanpa Pivoting)<br />
C PROGRAM Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) atau<br />
C atau Persamaan <strong>Aljabar</strong> Linier Simultan<br />
C Deklarasi Jenis dan Variabel:<br />
C -----------------------------<br />
IMPLICIT NONE<br />
INTEGER iarg<br />
PARAMETER (iarg = 7)<br />
INTEGER i,j,k,neq<br />
REAL*8 A(iarg,iarg)<br />
REAL*8 b(iarg),x(iarg)<br />
CALL system('clear')<br />
C Proses Pemasukan Harga Variabel:<br />
C --------------------------------<br />
WRITE(*,10) 'Jumlah Persamaan : '<br />
READ(*,*) neq<br />
DO i = 1,neq<br />
DO j = 1,neq<br />
WRITE(*,20) 'A(',i,',',j,') : '<br />
READ(*,*) A(i,j)<br />
ENDDO<br />
WRITE(*,30) 'b(',i,') : '<br />
READ(*,*) b(i)<br />
ENDDO<br />
C Proses Pemanggilan Subprogram Eliminasi Gauss-Jordan:<br />
C -----------------------------------------------------<br />
CALL EGAUSS(neq,A,x,b)<br />
C Pemaparan/penyajian Hasil Perhitungan:<br />
C --------------------------------------
DO i = 1,neq<br />
WRITE(*,40) 'x(',i,') = ',x(i)<br />
ENDDO<br />
10 FORMAT (3X,A,$)<br />
20 FORMAT (3X,A,I1,A1,I1,A,$)<br />
30 FORMAT (5X,A,I1,A,$)<br />
40 FORMAT (5X,A,I1,A,G12.7)<br />
STOP<br />
END<br />
Seri Matematika Terapan untuk S2<br />
SUBROUTINE EGAUSS(n,A,x,b)<br />
C ---------------------------------------------------------------------------<br />
C SUBPROGRAM ELIMINASI GAUSS: |<br />
C Merupakan solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) dengan |<br />
C format <strong>persamaan</strong> matriks: [A].[x] = [b], dengan rincian sbb |<br />
C n = jumlah <strong>persamaan</strong> aljabar linier (dimensi SPAL) |<br />
C A = matriks bujur sangkar n x n yang berisi koefisien <strong>persamaan</strong>, |<br />
C x = vektor variabel <strong>persamaan</strong> yang akan dicari harga-harganya |<br />
C b = vektor ruas kanan yang berisi harga-harga <strong>persamaan</strong> tunggal |<br />
C ---------------------------------------------------------------------------<br />
C Deklarasi Variabel:<br />
C -------------------<br />
INTEGER n<br />
REAL*8 A(7,7),b(n),x(n)<br />
INTEGER i,j,k<br />
REAL*8 PIVOT,MULT,TOP<br />
C Proses solusi: (a) Substitusi dan Eliminasi<br />
C -------------------------------------------<br />
DO j = 1,n-1<br />
PIVOT = A(j,j)<br />
DO i = j+1,n<br />
MULT = A(i,j)/PIVOT<br />
DO k = j+1,n<br />
A(i,k) = A(i,k) - MULT*A(j,k)<br />
ENDDO<br />
b(i) = b(i) - MULT*b(j)<br />
ENDDO<br />
ENDDO<br />
C Proses solusi: (b) Substitusi Balik<br />
C -----------------------------------<br />
x(n) = b(n)/A(n,n)<br />
DO i = n-1,1,-1<br />
TOP = b(i)<br />
DO k = i+1,n<br />
TOP = TOP - A(i,k)*x(k)<br />
ENDDO<br />
x(i) = TOP/A(i,i)<br />
ENDDO<br />
RETURN<br />
END<br />
Listing program (source code) di atas masih menggunakan<br />
subroutine eliminasi Gauss yang belum dilakukan ‘pivoting’ pada<br />
setiap penggunaan elemen a ii . Di bawah ini diberikan subroutine<br />
yang telah menggunakan ‘teknik pivoting’.<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (12/12)
(b). Listing Program Eliminasi Gauss (dengan Pivoting)<br />
Seri Matematika Terapan untuk S2<br />
SUBROUTINE PGAUSS(n,A,x,b)<br />
C ---------------------------------------------------------------------------<br />
C SUBPROGRAM ELIMINASI GAUSS dengan TEKNIK PIVOTING |<br />
C ---------------------------------------------------------------------------<br />
C Deklarasi Variabel:<br />
C -------------------<br />
INTEGER n<br />
REAL*8 A(7,7),b(n),x(n)<br />
INTEGER i,j,k<br />
REAL*8 PIVOT,PIVMAX,MULT,TOP<br />
INTEGER KPOS,ipos(7),itemp<br />
C Proses solusi: (a) Substitusi dan Eliminasi<br />
C --------------------------------------------<br />
DO i = 1,n<br />
ipos(i) = i<br />
ENDDO<br />
DO j = 1,n-1<br />
C Mencari PIVOT terbesar:<br />
C -----------------------<br />
PIVMAX = ABS(A(j,j))<br />
KPOS = j<br />
DO i = j+1,n<br />
IF (ABS(A(i,j)) .GT. PIVMAX) THEN<br />
PIVMAX = ABS(A(i,j))<br />
KPOS = i<br />
ENDIF<br />
ENDDO<br />
IF (KPOS .NE. j) THEN<br />
itemp = ipos(j)<br />
ipos(j) = ipos(KPOS)<br />
ipos(KPOS) = itemp<br />
ENDIF<br />
C Akhir pencarian PIVOT terbesar:<br />
C -------------------------------<br />
C write(*,*) 'i-pos = ',ipos(j)<br />
PIVOT = A(ipos(j),j)<br />
DO i = j+1,n<br />
itemp = ipos(i)<br />
MULT = A(itemp,j)/PIVOT<br />
DO k = j+1,n<br />
A(itemp,k) = A(itemp,k) - MULT*A(ipos(j),k)<br />
ENDDO<br />
b(itemp) = b(itemp) - MULT*b(ipos(j))<br />
ENDDO<br />
ENDDO<br />
C Proses solusi: (b) Substitusi Balik<br />
C -----------------------------------<br />
x(n) = b(ipos(n))/A(ipos(n),n)<br />
DO i = n-1,1,-1<br />
itemp = ipos(i)<br />
TOP = b(itemp)<br />
DO k = i+1,n<br />
TOP = TOP - A(itemp,k)*x(k)<br />
ENDDO<br />
x(i) = TOP/A(itemp,i)<br />
ENDDO<br />
RETURN<br />
END<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (13/13)
F. Prinsip Dekomposisi LU dan Matriks Identitas<br />
Seri Matematika Terapan untuk S2<br />
Matriks [A] dari SPAL didekomposisi (difaktorisasis) menjadi<br />
matriks-matrik segitiga bawah (L) dan segitiga atas (U) sedemikian<br />
rupa sehingga identitasnya adalah:<br />
[A] = [L]·[U] atau A = L·U<br />
F1. Notasi Matriks LU berdasarkan Metode Doolittle<br />
Notasi matriks L seperti di atas dituliskan sbb:<br />
L =<br />
⎡ 1<br />
⎢<br />
⎢<br />
l 2<br />
⎢ M<br />
⎢<br />
⎢ l i ,<br />
⎢l<br />
⎢<br />
⎢<br />
⎢<br />
⎣<br />
, 1<br />
1<br />
i+<br />
1,<br />
1<br />
l<br />
M<br />
n,<br />
1<br />
l<br />
l<br />
0<br />
1<br />
i,<br />
2<br />
i+<br />
1,<br />
2<br />
l<br />
M<br />
M<br />
n,<br />
2<br />
L<br />
L<br />
O<br />
L<br />
L<br />
L<br />
l<br />
i+<br />
1,<br />
i<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (14/14)<br />
l<br />
Perhatikan, bahwa semua elemen diagonal dari matriks L di atas<br />
berharga 1 (satu) ! Sedangkan semua elemen di atas diagonal<br />
semuanya berharga 0 (nol) !<br />
Notasi matriks U dituliskan sbb:<br />
U =<br />
u<br />
⎡<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎣<br />
1<br />
, 1<br />
0<br />
M<br />
0<br />
0<br />
M<br />
0<br />
u<br />
u<br />
1,<br />
2<br />
2,<br />
2<br />
M<br />
0<br />
0<br />
M<br />
0<br />
L<br />
L<br />
O<br />
L<br />
u<br />
1,<br />
i<br />
L<br />
O<br />
L<br />
0<br />
0<br />
M<br />
1<br />
M<br />
n,<br />
i<br />
u<br />
u<br />
u<br />
u<br />
L<br />
L<br />
L<br />
L<br />
O<br />
L<br />
1,<br />
n−1<br />
2,<br />
n−1<br />
M<br />
i,<br />
n−1<br />
i+<br />
1,<br />
n−1<br />
M<br />
0<br />
0⎤<br />
0<br />
⎥<br />
⎥<br />
M⎥<br />
⎥<br />
0⎥<br />
0⎥<br />
⎥<br />
M⎥<br />
⎥<br />
1⎦<br />
u<br />
u<br />
u<br />
u<br />
1,<br />
n<br />
2,<br />
n<br />
i,<br />
n<br />
i+<br />
1,<br />
n<br />
u<br />
M<br />
M<br />
n,<br />
n<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦
Seri Matematika Terapan untuk S2<br />
Perhatikan, bahwa semua elemen yang terletak di bawah<br />
diagonal dari matriks U di atas (= u1,1 … un,n) berharga 0 (nol) !<br />
F2. Notasi Matriks LU berdasarkan Metode Crout<br />
Notasi matriks L seperti di atas dituliskan sbb:<br />
L =<br />
⎡ l1,<br />
1<br />
⎢ l 2,<br />
1<br />
⎢<br />
M<br />
⎢<br />
⎢ l i,<br />
1<br />
⎢l<br />
i+<br />
1<br />
⎢ M<br />
⎢<br />
⎣ l n,<br />
1<br />
, 1<br />
0<br />
l<br />
M<br />
l<br />
l<br />
M<br />
l<br />
2,<br />
2<br />
i,<br />
2<br />
i+<br />
1,<br />
2<br />
n,<br />
2<br />
L<br />
L<br />
L<br />
L<br />
L<br />
0<br />
0<br />
M<br />
l<br />
l<br />
M<br />
l<br />
Perhatikan, bahwa semua elemen diagonal dari matriks L di atas<br />
tidak harus berharga 1 (satu), sedangkan, elemen-elemen di atas<br />
diagonal semuanya berharga 0 (nol) !<br />
Notasi matriks U dituliskan sbb:<br />
U =<br />
⎡1<br />
⎢0<br />
⎢<br />
M<br />
⎢<br />
⎢0<br />
⎢0<br />
⎢M<br />
⎢<br />
⎣0<br />
u1<br />
1<br />
M<br />
0<br />
0<br />
M<br />
0<br />
, 2<br />
L u1,<br />
i<br />
L L<br />
O<br />
O<br />
L<br />
L<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (15/15)<br />
i,<br />
i<br />
i+<br />
1,<br />
i<br />
n,<br />
i<br />
u<br />
u<br />
M<br />
u<br />
u<br />
M<br />
0<br />
1,<br />
n−1<br />
2,<br />
n−1<br />
i,<br />
n−1<br />
i+<br />
1,<br />
n−1<br />
L<br />
L<br />
O<br />
L<br />
L<br />
L<br />
u1,<br />
u2,<br />
M<br />
ui,<br />
u<br />
M<br />
1<br />
n<br />
n<br />
n<br />
i + 1,<br />
n<br />
Perhatikan, bahwa semua elemen diagonal (= u1,1 … un,n) berharga<br />
1 (satu), sedangkan yang terletak di bawahnya berharga 0 (nol) !<br />
0<br />
0<br />
M<br />
0<br />
0<br />
M<br />
l<br />
n,<br />
n<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦
F3. Notasi Matriks A dan LU dalam SPAL<br />
Seri Matematika Terapan untuk S2<br />
Notasi Matriks LU sebagai dekomposan matriks A dapat dituliskan<br />
dalam SPAL sbb:<br />
[A] · [x] = [L]·[U]·[x] = [b]<br />
Sehingga, dalam notasi Metode Doolittle dapat dituliskan:<br />
⎡a1<br />
⎢a2<br />
⎢<br />
M<br />
⎢<br />
⎣an<br />
, 1<br />
, 1<br />
, 1<br />
a<br />
a<br />
1,<br />
2<br />
2,<br />
2<br />
L<br />
L<br />
L<br />
L<br />
a<br />
a<br />
M<br />
a<br />
1,<br />
n<br />
2,<br />
n<br />
n,<br />
n<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
=<br />
⎡ 1<br />
⎢l<br />
2<br />
⎢ M<br />
⎢<br />
⎣l<br />
n,<br />
, 1<br />
1<br />
0<br />
L<br />
l<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (16/16)<br />
n,<br />
2<br />
L 0⎤<br />
⎡u1<br />
L 0⎥<br />
⎢ 0<br />
M⎥<br />
· ⎢<br />
M<br />
L 1<br />
⎥ ⎢<br />
⎦ ⎢⎣<br />
0<br />
, 1<br />
u1,<br />
2<br />
L<br />
Sedangkan, dalam notasi Metode Crout dapat dituliskan:<br />
⎡a1<br />
⎢a2<br />
⎢<br />
M<br />
⎢<br />
⎣an<br />
, 1<br />
, 1<br />
, 1<br />
a<br />
a<br />
1,<br />
2<br />
2,<br />
2<br />
L<br />
L<br />
L<br />
L<br />
a<br />
a<br />
M<br />
a<br />
1,<br />
n<br />
2,<br />
n<br />
n,<br />
n<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
=<br />
⎡l<br />
1<br />
⎢l<br />
2<br />
⎢<br />
M<br />
⎢<br />
⎣l<br />
, 1<br />
, 1<br />
0<br />
O<br />
l<br />
L<br />
L<br />
O<br />
L<br />
0<br />
0<br />
M<br />
l<br />
n , 1 n,<br />
2 n,<br />
n<br />
G. Deskripsi Tahapan dan Strategi Dekomposisi<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
·<br />
⎡1<br />
⎢0<br />
⎢<br />
M<br />
⎢<br />
⎣0<br />
0<br />
u1<br />
1<br />
, 2<br />
0<br />
L<br />
L<br />
L<br />
L<br />
L<br />
O<br />
L<br />
Notasi A = LU dalam Metode Doolittle seperti di atas dapat<br />
diuraikan dalam operasi perkalian matriks (sebagai contoh: matriks<br />
n x n) sbb:<br />
Baris 1 (i = 1):<br />
a1<br />
a1<br />
M<br />
a<br />
, 1<br />
, 2<br />
1,<br />
n<br />
=<br />
u1<br />
= u1<br />
M<br />
= u<br />
, 1<br />
, 2<br />
1,<br />
n<br />
⎫<br />
⎪<br />
⎬<br />
⎪<br />
⎭<br />
u<br />
1,<br />
i<br />
= a<br />
1,<br />
i<br />
;<br />
i = 1,<br />
K,<br />
n<br />
u<br />
a<br />
M<br />
u<br />
1,<br />
n<br />
2,<br />
n<br />
n,<br />
n<br />
u1,<br />
a2,<br />
M<br />
1<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥⎦<br />
n<br />
n<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎦
Baris 2 (i = 2):<br />
a2,1 = l2,1·u1,1<br />
a2,2 = l2,1·u1,2 + u2,2<br />
a2,3 = l2,1·u1,3 + u2,3<br />
M M<br />
a2,n = l2,1·u1,n + u2,n<br />
Baris 3 (i = 3):<br />
a3,1 = l3,1·u1,1<br />
a3,2 = l3,1·u1,2 + l32·u2,2<br />
a3,3 = l3,1·u1,3 + l32·u2,3 + u3,3<br />
M M<br />
a3,n = l3,1·u1,n + l32·u2,n + u3,n<br />
Baris n (i = n):<br />
an,1 = ln,1·u1,1<br />
an,2 = ln,1·u1,2 + ln,2·u2,2<br />
an,3 = ln,1·u1,3 + ln,2·u2,3 + ln,3·u3,3<br />
M M<br />
Seri Matematika Terapan untuk S2<br />
an,n-1 = ln,1·u1,n-1 + ln,2·u2,n-1 + ln,3·u3,n-1 + … + ln,n-1·un-1,n-1<br />
an,n = ln,1·u1,n + ln,2·u2,n + ln,3·u3,n + … + … + un,n<br />
# Dari operasi-operasi perkalian matriks LU seperti di atas, dapat<br />
disimpulkan beberapa hal berikut:<br />
(1). Mekanisme ‘proses dekomposisi’ dilakukan dengan cara<br />
mengisi terlebih dahulu baris pertama matriks U.<br />
Selanjutnya, mengisi matriks L pada baris terendah terlebih<br />
dulu (mulai baris ke-2), dan kemudian diikuti pengisian<br />
matriks U pada baris yang sama, demikian seterusnya<br />
sampai baris terakhir (ke-n).<br />
(2). Harga-harga dari semua elemen matriks U pada baris 1<br />
identik dengan elemen-elemen matriks A (matriks asal),<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (17/17)
Seri Matematika Terapan untuk S2<br />
(3). Harga-harga elemen pada kolom 1 untuk matriks L, dapat<br />
dihitung menggunakan <strong>persamaan</strong> berikut:<br />
li,1 = ai,1 / u1,1 ; i = 2,…,n<br />
(4). Jumlah maksimum operasi penjumlahan per elemen matriks<br />
A sesuai dengan jumlah/posisi baris,<br />
(5). Pada baris rendah, langkah/iterasi pengisian matriks U lebih<br />
banyak dibandingkan dengan matriks L, dan sebaliknya.<br />
Tugas/Latihan:<br />
Lakukan hal yang sama seperti di atas untuk konfigurasi matriks<br />
LU yang disusun dengan Metode Crout !<br />
H. Algoritma Dekomposisi dan Komputasi Praktis<br />
(a). Algoritma solusi numerik dengan Metode Doolittle:<br />
Baris 1:<br />
u1, i = a1,<br />
i ;<br />
Baris 2:<br />
i = 1,<br />
L,<br />
n<br />
Pengisian matriks L:<br />
a2,<br />
1<br />
l 2,<br />
1 =<br />
u1,<br />
1<br />
Pengisian matriks U:<br />
u2, 2 = a2,<br />
2 − l 2,<br />
1 ⋅u1,<br />
2<br />
u2, 3 = a2,<br />
3 − l 2,<br />
1 ⋅u1,<br />
3<br />
u = a − l ⋅u<br />
2,<br />
4<br />
M<br />
2,<br />
4<br />
2,<br />
1<br />
1,<br />
4<br />
u 2,<br />
n = a2,<br />
n − l<br />
2,<br />
n ⋅u1,<br />
n<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (18/18)
Baris 3:<br />
Pengisian matriks L:<br />
a3,<br />
1<br />
l 3,<br />
1 =<br />
u1,<br />
1<br />
( a3, 2 − l3,<br />
1 ⋅u1,<br />
2 )<br />
l 3,<br />
2 =<br />
u2,<br />
2<br />
Pengisian matriks U:<br />
u3, 3 = a3,<br />
3 − l 3,<br />
1 ⋅u1,<br />
3 − l 3,<br />
2 ⋅u<br />
u = a − l ⋅u<br />
− l ⋅u<br />
3,<br />
4<br />
M<br />
Baris n:<br />
3,<br />
4<br />
3,<br />
1<br />
1,<br />
4<br />
Seri Matematika Terapan untuk S2<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (19/19)<br />
3,<br />
2<br />
2,<br />
3<br />
2,<br />
4<br />
u 3,<br />
n = a3,<br />
n − l 3,<br />
1 ⋅u1,<br />
n − l3,<br />
2 ⋅u2,<br />
n<br />
Pengisian matriks L:<br />
l<br />
l<br />
l<br />
M<br />
l<br />
n , 1 =<br />
n,<br />
2<br />
n,<br />
3<br />
=<br />
=<br />
n,<br />
n−1<br />
an, 1<br />
u<br />
1,<br />
1<br />
an, 2 − l n,<br />
1<br />
( ⋅u<br />
)<br />
u<br />
− l<br />
2,<br />
2<br />
1,<br />
2<br />
( ⋅u<br />
− l ⋅u<br />
)<br />
=<br />
an, 3 n,<br />
1 1,<br />
3 n,<br />
2<br />
u<br />
3,<br />
3<br />
2,<br />
3<br />
( a − l ⋅u<br />
− l ⋅u<br />
−L<br />
− l ⋅u<br />
)<br />
n,<br />
n−1<br />
n,<br />
1<br />
1,<br />
n−1<br />
n,<br />
2<br />
u<br />
2,<br />
n−1<br />
n−1,<br />
n−1<br />
Pengisian matriks U:<br />
= a − l ⋅u<br />
− l ⋅u<br />
−L<br />
− l<br />
n,<br />
n−1<br />
u n,<br />
n n,<br />
n n,<br />
1 1,<br />
n n,<br />
2 2,<br />
n n,<br />
n−1<br />
⋅un<br />
−1,<br />
n<br />
(b). Algoritma solusi numerik dengan Metode Crout:<br />
Sebagai latihan, coba saudara lakukan sendiri dengan cara<br />
mengikuti langah-langkah untuk Metode Doolittle seperti di<br />
atas dengan cermat dan seksama!<br />
n−1,<br />
n−1
(c). Komputasi dengan Fortran-77 untuk Metode Doolittle:<br />
C PROGRAM Pengujian Dekomposisi LU<br />
C Deklarasi Jenis dan Variabel:<br />
C -----------------------------<br />
IMPLICIT NONE<br />
INTEGER iarg<br />
PARAMETER (iarg = 7)<br />
INTEGER i,j,neq<br />
REAL*8 A(iarg,iarg),LU(iarg,iarg)<br />
C LU(iarg,iarg)<br />
CALL system('clear')<br />
C Proses Pemasukan Harga Variabel:<br />
C --------------------------------<br />
WRITE(*,10) 'Jumlah Persamaan : '<br />
READ(*,*) neq<br />
DO i = 1,neq<br />
DO j = 1,neq<br />
WRITE(*,20) 'A(',i,',',j,') : '<br />
READ(*,*) A(i,j)<br />
ENDDO<br />
ENDDO<br />
C Proses Pemanggilan Subprogram Eliminasi Gauss:<br />
C ----------------------------------------------<br />
CALL DECOLU(neq,A,LU)<br />
C Pemaparan/penyajian Hasil Perhitungan:<br />
C --------------------------------------<br />
WRITE(*,30) 'Matriks LU yang diperoleh:'<br />
DO i = 1,neq<br />
DO j = 1,neq<br />
WRITE(*,40) LU(i,j)<br />
ENDDO<br />
WRITE(*,*)<br />
ENDDO<br />
10 FORMAT (3X,A,$)<br />
20 FORMAT (3X,A,I1,A1,I1,A,$)<br />
30 FORMAT (/,1X,A)<br />
40 FORMAT (3X,F10.4,$)<br />
C 40 FORMAT (3X,F10.4,3X,F10.4,3X,F10.4,3X,F10.4,3X,F10.4)<br />
STOP<br />
END<br />
Seri Matematika Terapan untuk S2<br />
SUBROUTINE DECOLU(n,A,LU)<br />
C ---------------------------------------------------------------------------<br />
C SUBPROGRAM DEKOMPOSI LU: |<br />
C Merupakan solusi DEKOMPOSISI Matriks A menjadi matriks-matriks L |<br />
C dan U dengan format [A] = [L].[U] yang hasilnya disimpan dalam LU |<br />
C n = dimensi matriks A (identik dengan jumlah PAL), |<br />
C A = matriks bujur sangkar n x n yang berisi koefisien <strong>persamaan</strong>, |<br />
C LU = matriks bujur sangkar tempat penyimpanan hasil dekomposisi |<br />
C matrik A menjadi L dan U (yang disimpan sekaligus dalam LU). |<br />
C ---------------------------------------------------------------------------<br />
C Deklarasi Variabel:<br />
C -------------------<br />
INTEGER n,i,j,k<br />
REAL*8 A(7,7),LU(7,7),sum<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (20/20)
C Proses pengisian matriks L dan U (dalam matriks LU):<br />
C ----------------------------------------------------<br />
DO j = 1,n<br />
C Proses pengisian matriks U pada baris pertama:<br />
C ----------------------------------------------<br />
LU(1,j) = A(1,j)<br />
ENDDO<br />
DO i = 2,n<br />
C Proses pengisian matriks L:<br />
C ---------------------------<br />
LU(i,1) = A(i,1)/LU(1,1)<br />
sum = 0.0D0<br />
DO j = 2,i-1<br />
DO k = 1,i-2<br />
sum = sum + LU(i,k)*LU(k,j)<br />
ENDDO<br />
LU(i,j) = (A(i,j) - sum)/LU(j,j)<br />
ENDDO<br />
C Proses pengisian matriks U:<br />
C ---------------------------<br />
DO j = i,n<br />
sum = 0.0D0<br />
DO k = 1,i-1<br />
sum = sum + LU(i,k)*LU(k,j)<br />
ENDDO<br />
LU(i,j) = A(i,j) - sum<br />
ENDDO<br />
ENDDO<br />
RETURN<br />
END<br />
Seri Matematika Terapan untuk S2<br />
(d). Untuk Pemahaman yang lebih mendalam, cobalah buat<br />
program dalam bahasa Fortran-77 untuk Metode Crout!<br />
I. Manfaat Dekomposisi LU untuk Solusi SPAL<br />
Solusi SPAL [A] · [x] = [b], melalui teknik dekomposisi matriks<br />
[A], sangat bermanfaat untuk menyelesaikan problem-problem<br />
ataupun model matematis yang membentuk SPAL dengan matriks<br />
[A] yang sama untuk berbagai vektor jawab, [b].<br />
Dengan teknik dekomposisi LU ini, penyelesaian akan menjadi<br />
sangat efisien dan banyak menghemat waktu pada saat telah<br />
diperoleh dekomposisi matriks [A], karena hasil dekomposisi LU<br />
tersebut dapat dipakai untuk semua SPAL dengan matriks [A] yang<br />
identik.<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (21/21)
Seri Matematika Terapan untuk S2<br />
Bentuk umum SPAL yang menggunakan matriks [A] yang identik,<br />
seperti disebutkan di atas, dapat dituliskan sbb:<br />
[A] ·<br />
⎡ x1<br />
⎢x1<br />
⎢<br />
⎢<br />
M<br />
⎢⎣<br />
x1,<br />
, 1<br />
, 2<br />
n<br />
x2<br />
x2<br />
M<br />
x<br />
, 1<br />
, 2<br />
2,<br />
n<br />
L<br />
L<br />
L<br />
x<br />
x<br />
M<br />
x<br />
n,<br />
1<br />
n,<br />
2<br />
n,<br />
n<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥⎦<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (22/22)<br />
=<br />
⎡b1<br />
⎢b1<br />
⎢<br />
⎢<br />
M<br />
⎢⎣<br />
b1,<br />
Perhatikan, bahwa bentuk di atas sesungguhnya merupakan<br />
perkalian 2 bentuk matriks, antara matriks bujur sangkar [A] yang<br />
berdimensi n x n dengan matrik segi 4 yang berdimensi n x m,<br />
dengan hasil matriks lain yang juga berdimensi n x m!<br />
, 1<br />
, 2<br />
n<br />
b2<br />
b2<br />
M<br />
b<br />
, 1<br />
, 2<br />
2,<br />
n<br />
J. Solusi Numerik SPAL melalui Dekomposisi LU<br />
Subprogram (SUBROUTINE) di bawah ini dapat digunakan untuk<br />
solusi SPAL dengan bentuk normal: [A] · [x] = [b], menggunakan<br />
matriks LU sebagai hasil dekomposisi matriks [A] dengan Metode<br />
Doolittle.<br />
C PROGRAM Solusi SPAL dengan Dekomposisi LU<br />
C Deklarasi Jenis dan Variabel:<br />
C -----------------------------<br />
IMPLICIT NONE<br />
INTEGER iarg<br />
PARAMETER (iarg = 7)<br />
INTEGER i,j,neq<br />
REAL*8 LU(iarg,iarg),b(iarg),x(iarg)<br />
CALL system('clear')<br />
OPEN (11,FILE='inputLU.dta')<br />
C Proses Pemasukan Harga Variabel dari FILE:<br />
C ------------------------------------------<br />
READ(11,*) neq<br />
DO i = 1,neq<br />
READ(11,*) (LU(i,j), j=1,neq),b(i)<br />
ENDDO<br />
C Proses Pemanggilan Subprogram Eliminasi Gauss:<br />
C ----------------------------------------------<br />
CALL DECOLU(neq,LU)<br />
CALL SOLVLU(neq,LU,x,b)<br />
C Pemaparan/penyajian Hasil Perhitungan:<br />
C --------------------------------------<br />
L<br />
L<br />
b<br />
b<br />
M<br />
b<br />
n,<br />
1<br />
n,<br />
2<br />
n,<br />
n<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥⎦
WRITE(*,30) 'Matriks LU dan vektor x yang diperoleh:'<br />
DO i = 1,neq<br />
DO j = 1,neq<br />
WRITE(*,40) LU(i,j)<br />
ENDDO<br />
WRITE(*,50) 'x(',i,') = ',x(i)<br />
ENDDO<br />
CLOSE(11)<br />
10 FORMAT (3X,A,$)<br />
20 FORMAT (3X,A,I1,A1,I1,A,$)<br />
30 FORMAT (/,1X,A)<br />
40 FORMAT (3X,F10.4,$)<br />
50 FORMAT (5X,1H|,5X,A,I1,A,G10.4)<br />
STOP<br />
END<br />
INCLUDE 'decoLU.sub'<br />
Seri Matematika Terapan untuk S2<br />
SUBROUTINE SOLVLU(n,LU,x,b)<br />
C ---------------------------------------------------------------------------<br />
C SUBPROGRAM ELIMINASI GAUSS: |<br />
C Merupakan solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) dengan |<br />
C teknik dekomposisi LU untuk format <strong>persamaan</strong>: [A].[x] = [b], |<br />
C dengan rincian sbb |<br />
C n = jumlah <strong>persamaan</strong> aljabar linier (dimensi SPAL) |<br />
C LU = matriks bujur sangkar n x n yang berisi koefisien <strong>persamaan</strong>, |<br />
C x = vektor variabel <strong>persamaan</strong> yang akan dicari harga-harganya |<br />
C b = vektor ruas kanan yang berisi harga-harga <strong>persamaan</strong> tunggal |<br />
C ---------------------------------------------------------------------------<br />
C Deklarasi Variabel:<br />
C -------------------<br />
INTEGER n<br />
REAL*8 LU(7,7),b(n),x(n)<br />
INTEGER i,j<br />
C Proses solusi: (a) Substitusi dan Eliminasi<br />
C -------------------------------------------<br />
DO i = 2,n<br />
DO j = 1,i-1<br />
b(i) = b(i) - LU(i,j)*b(j)<br />
ENDDO<br />
ENDDO<br />
C Proses solusi: (b) Substitusi Balik<br />
C -----------------------------------<br />
x(n) = b(n)/LU(n,n)<br />
DO i = n-1,1,-1<br />
DO j = i+1,n<br />
b(i) = b(i) - LU(i,j)*x(j)<br />
ENDDO<br />
x(i) = b(i)/LU(i,i)<br />
ENDDO<br />
RETURN<br />
END<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (23/23)
Tugas !<br />
Ujilah program di atas untuk SPAL berikut:<br />
⎡2<br />
⎢4<br />
⎢<br />
⎣2<br />
1<br />
3<br />
4<br />
3⎤<br />
⎡ x1<br />
⎤ ⎡11⎤<br />
10⎥<br />
⋅ ⎢x<br />
⎥ = ⎢ ⎥<br />
2 28<br />
⎥ ⎢ ⎥ ⎢ ⎥<br />
17⎦<br />
⎣x3<br />
⎦ ⎣31⎦<br />
Seri Matematika Terapan untuk S2<br />
Perhatikan dengan seksama hasil dekomposisinya (matriks LU) dan<br />
solusi vektor x-nya !<br />
K. Solusi Numerik SPAL dengan Matriks Tri-Diagonal<br />
Solusi SPAL yang berbentuk matriks tri-diagonal seringkali<br />
dijumpai pada problem-problem yang berbentuk PDP (<strong>persamaan</strong><br />
diferensial parsial) yang dominan secara diagonal (definit positif).<br />
K1. Bentuk umum Matrik Tri-Diagonal<br />
Secara spesifik, bentuk SPAL yang memiliki matriks tri-diagonal<br />
dapat disajikan sebagai berikut:<br />
atau<br />
⎡d<br />
⎢<br />
⎢<br />
a<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢⎣<br />
1<br />
2<br />
c<br />
d<br />
a<br />
1<br />
2<br />
3<br />
c<br />
d<br />
2<br />
3<br />
O<br />
a<br />
c<br />
3<br />
O<br />
n−1<br />
d<br />
O<br />
n−1<br />
a<br />
n<br />
⎤ ⎡ x<br />
⎥ ⎢<br />
⎥ ⎢<br />
x<br />
⎥ ⎢ x<br />
⎥ ⋅ ⎢<br />
⎥ ⎢ M<br />
⎥ ⎢xn<br />
⎥ ⎢<br />
⎥⎦<br />
⎢⎣<br />
x<br />
⎡ b<br />
⎢<br />
⎢<br />
b<br />
⎢ b<br />
⎢<br />
⎢ M<br />
⎢bn<br />
⎢<br />
⎢⎣<br />
b<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (24/24)<br />
c<br />
n−1<br />
d<br />
n<br />
1<br />
2<br />
3<br />
−1<br />
n<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥⎦<br />
[A] [x] = [b]<br />
=<br />
1<br />
2<br />
3<br />
−1<br />
n<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥⎦
K2. Teorema Solusi matriks Tri-Diagonal<br />
Seri Matematika Terapan untuk S2<br />
Jika matriks bujur-sangkar [A] di atas merupakan matriks yang<br />
dominan secara diagonal (atau definit :positif) dan membentuk<br />
matriks tri-diagonal, maka [A] memiliki suatu mentuk faktorisasi<br />
LU yang unik, dalam hal ini baik L maupun U hanya memiliki duadiagonal:<br />
L adalah matriks bawah dengan struktur diagonal utama<br />
(dituliskan dalam lambang [dl]) dan diagonal bawah (dituliskan<br />
dalam lambang [al]); sedangkan matriks U adalah matriks atas yang<br />
berisi diagonal utama [du] dan diagonal atas [cu].<br />
Langkah solusi yang digunakan adalah analogi dengan metode<br />
ELIMINASI GAUSS. Dalam hal ini jika penulisan SPAL di atas<br />
disusunulang menjadi:<br />
⎡d<br />
⎢<br />
⎢<br />
a<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢⎣<br />
1<br />
2<br />
x<br />
x<br />
1<br />
1<br />
c<br />
d<br />
a<br />
1<br />
2<br />
3<br />
x<br />
x<br />
x<br />
2<br />
2<br />
1<br />
c<br />
d<br />
2<br />
3<br />
x<br />
x<br />
O<br />
3<br />
2<br />
a<br />
c<br />
3<br />
x<br />
O<br />
n−1<br />
3<br />
x<br />
1<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
x ⎥<br />
3<br />
⎥<br />
x2<br />
⎥⎦<br />
⎡ b<br />
⎢<br />
⎢<br />
b<br />
⎢ b<br />
⎢<br />
⎢ M<br />
⎢bn<br />
⎢<br />
⎢⎣<br />
b<br />
Dapat dilihat dengan jelas, selain ketiga diagonal di atas matriks<br />
[A] hanya diisi oleh elemen 0 (nol), yang berarti bahwa matriks [A]<br />
di atas, tidak perlu disimpan dalam suatu variabel berbentuk<br />
matriks, melainkan cukup hanya dalam 3 buah ventor dengan<br />
panjang masing-masing (maksimum) sebesar n elemen.<br />
Jumlah memori untuk penyimpanan menjadi semakin sangat berarti<br />
pada saat harga n menjadi sangat besar. Hal lain yang perlu dicatat<br />
adalah, bahwa pada setiap kolom, hanya diperlukan 1 buah elemen<br />
tak-nol (bukan 0) yang dieliminasi, yang berarti juga sebagai<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (25/25)<br />
d<br />
n−1<br />
a<br />
O<br />
n<br />
x<br />
x<br />
1<br />
2<br />
c<br />
n−1<br />
d<br />
n<br />
=<br />
1<br />
2<br />
3<br />
−1<br />
n<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥⎦
Seri Matematika Terapan untuk S2<br />
“penghematan usaha dan daya komputasi numerik” yang relatif<br />
sangat besar, bila dibandingkan dengan penghitungan melalui<br />
matriks penuh.<br />
Selanjutnya, langkah algoritma penyelesaiannya adalah sebagai<br />
berikut:<br />
(a). Jika d1 ≠ 0, maka x1 dapat dieliminasi dari <strong>persamaan</strong> kedua<br />
dengan menghitung “faktor pengali” berikut:<br />
m =<br />
1<br />
a<br />
d<br />
2<br />
1<br />
dan dihasilkan <strong>persamaan</strong> baru sebagai berikut:<br />
dengan,<br />
'<br />
2<br />
d x + c x =<br />
'<br />
2<br />
2<br />
2<br />
2<br />
d = d − m<br />
'<br />
2<br />
b = b − m<br />
2<br />
1<br />
3<br />
1<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (26/26)<br />
c<br />
b<br />
1<br />
'<br />
1<br />
(b). Dengan cara yang sama, jika d 2 ≠ 0,<br />
x2 dapat dieliminasi<br />
dari <strong>persamaan</strong> ketiga sehingga dihasilkan <strong>persamaan</strong><br />
ketiga yang baru, sebagai berikut:<br />
dengan,<br />
dan<br />
'<br />
3<br />
d x + c x =<br />
3<br />
m =<br />
2<br />
'<br />
3<br />
a<br />
d<br />
3<br />
'<br />
2<br />
3<br />
4<br />
d =<br />
d − m<br />
3<br />
2<br />
c<br />
2<br />
b<br />
b<br />
'<br />
2<br />
'<br />
3<br />
'
'<br />
3<br />
b = b − m<br />
3<br />
2<br />
Seri Matematika Terapan untuk S2<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (27/27)<br />
b<br />
'<br />
2<br />
(c). Teruskan cara perhitungan di atas, sehingga dapat<br />
disimpulkan pada tahap-i, xi dapat dieliminasi dari<br />
'<br />
<strong>persamaan</strong> i+1 (dengan asumsi d i ≠ 0)<br />
dan memberikan<br />
<strong>persamaan</strong> baru berikut:<br />
dengan,<br />
dan<br />
d<br />
m<br />
' '<br />
i+<br />
1 xi+<br />
1 + ci+<br />
1 xi+<br />
2 = bi<br />
+ 1<br />
i<br />
=<br />
a<br />
i+<br />
1<br />
'<br />
i<br />
d<br />
'<br />
i+<br />
1 = di+<br />
1<br />
d − m<br />
i<br />
c<br />
' '<br />
i+<br />
1 = bi<br />
+ 1 mi<br />
bi<br />
b −<br />
(d). Sekuens-sekuens dalam butir (c) di atas sebenarnya<br />
merupakan sesuatu yang beraturan, yaitu keberulangan dari<br />
i = 1, 2, … , n-1, sehingga sistem awalnya tertransformasi<br />
menjadi “matriks segitiga atas”<br />
(e). Sebagai solusi akhirnya, yaitu “substitusi balik” yang juga<br />
mirip dengan “metode eliminasi Gauss”, yaitu dengan<br />
'<br />
menganggap bahwa d ≠ 0,<br />
akan diperoleh:<br />
x =<br />
n<br />
b<br />
d<br />
'<br />
n<br />
'<br />
n<br />
n<br />
dan kemudian, untuk i = n-1, n-2,…, 1, dapat digunakan:<br />
i
x<br />
i<br />
=<br />
b<br />
'<br />
n<br />
−<br />
d<br />
c<br />
i<br />
'<br />
i<br />
Seri Matematika Terapan untuk S2<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (28/28)<br />
x<br />
i+<br />
1<br />
Listing Program Matriks Tri-Diagonal:<br />
C PROGRAM Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) atau<br />
C atau Persamaan <strong>Aljabar</strong> Linier Simultan dengan TEKNIK TRIDIAGONAL<br />
C Deklarasi Jenis dan Variabel:<br />
C -----------------------------<br />
IMPLICIT NONE<br />
INTEGER iarg<br />
PARAMETER (iarg = 7)<br />
INTEGER i,neq<br />
REAL*8 a(iarg),b(iarg),c(iarg),d(iarg),x(iarg)<br />
CALL system('clear')<br />
OPEN (10,FILE='s3diag.dta')<br />
C Proses Pemasukan Harga Variabel:<br />
C --------------------------------<br />
READ(10,*) neq<br />
WRITE(*,*) 'Jumlah Persamaan : ',neq<br />
READ(10,*) d(1),c(1),b(1)<br />
DO i = 2,neq-1<br />
READ(10,*) a(i),d(i),c(i),b(i)<br />
ENDDO<br />
READ(10,*) a(neq),d(neq),b(neq)<br />
C Proses Pemanggilan Subprogram Eliminasi Gauss-Jordan:<br />
C -----------------------------------------------------<br />
CALL S3DIAG(neq,a,d,c,x,b)<br />
C Pemaparan/penyajian Hasil Perhitungan:<br />
C --------------------------------------<br />
WRITE(*,*) '--------HASIL---------'<br />
DO i = 1,neq<br />
WRITE(*,40) 'x(',i,') = ',x(i)<br />
ENDDO<br />
CLOSE(10)<br />
20 FORMAT (3X,A,I1,A1,I1,A,G15.7)<br />
30 FORMAT (5X,A,I1,A,G15.7)<br />
40 FORMAT (5X,A,I1,A,G15.7)<br />
STOP<br />
END<br />
SUBROUTINE S3DIAG(n,a,d,c,x,b)<br />
C ---------------------------------------------------------------------------<br />
C SUBPROGRAM SOLUSI MATRIKS TRI-DIAGONAL dengan ELIMINASI GAUSS |<br />
C Merupakan solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) dengan |<br />
C format <strong>persamaan</strong> matriks: [A].[x] = [b], dengan rincian sbb |<br />
C n = jumlah <strong>persamaan</strong> aljabar linier (dimensi SPAL) |<br />
C a = vektor koefisien pada diagonal bawah dengan dimensi n-1, |<br />
C d = vektor koefisien pada diagonal utama dengan dimensi n, |<br />
C c = vektor koefisien pada diagonal atas dengan dimensi n-1, |<br />
C x = vektor variabel <strong>persamaan</strong> yang akan dicari harga-harganya |<br />
C b = vektor ruas kanan yang berisi harga-harga <strong>persamaan</strong> tunggal |<br />
C ---------------------------------------------------------------------------
C Deklarasi Variabel:<br />
C -------------------<br />
INTEGER n<br />
REAL*8 a(n),d(n),c(n),b(n),x(n)<br />
INTEGER i<br />
REAL*8 PIVOT,MULT<br />
C Proses solusi: (a) Substitusi dan Eliminasi<br />
C -------------------------------------------<br />
DO i = 1,n-1<br />
PIVOT = d(i)<br />
MULT = a(i+1)/PIVOT<br />
a(i+1) = MULT<br />
d(i+1) = d(i+1) - MULT*c(i)<br />
b(i+1) = b(i+1) - MULT*b(i)<br />
ENDDO<br />
C Proses solusi: (b) Substitusi Balik<br />
C -----------------------------------<br />
x(n) = b(n)/d(n)<br />
DO i = n-1,1,-1<br />
x(i) = (b(i) - c(i)*x(i+1))/d(i)<br />
ENDDO<br />
RETURN<br />
END<br />
L. Daftar Pustaka<br />
Seri Matematika Terapan untuk S2<br />
Atkinson, Kendal E., “An Introduction to Numerical Analysis”,<br />
John Wiley & Sons, Toronto, 1978.<br />
Atkinson, L.V., Harley, P.J., “An Introduction to Numerical<br />
Methods with Pascal”, Addison-Wesley Publishing Co.,<br />
Tokyo, 1983.<br />
Bismo, Setijo, “Kumpulan Bahan Kuliah Metode Numerik”,<br />
Jurusan TGP-FTUI, 1999.<br />
Hanna, O.T., Sandall, O.C., “Computational Methods in<br />
Chemical Engineering”, Prentice-Hall International Inc.,<br />
Englewood Cliffs, New Jersey, 1995.<br />
Press, W.H., Flannery, B.P., Teukolsky, S.A., dan Vetterling,<br />
W.T., “Numerical Recipes”, Cambridge Univ. Press, 1986.<br />
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi <strong>Sistem</strong> Persamaan <strong>Aljabar</strong> Linier (SPAL) (29/29)