30.06.2013 Views

Sistem persamaan Aljabar Linear

Sistem persamaan Aljabar Linear

Sistem persamaan Aljabar Linear

SHOW MORE
SHOW LESS

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)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!