You are on page 1of 29

Seri Matematika Terapan untuk S2

Modul 2:

Solusi Sistem Persamaan Aljabar Linier (SPAL)


dengan Metode Eliminasi Gauss dan variannya

Sistem Persamaan Aljabar Linier (SPAL) atau dikenal juga sebagai


‘Persamaan Aljabar Linier Serempak’ banyak sekali dijumpai
dalam perhitungan-perhitungan teknik kimia yang melibatkan
solusi numeris. Beberapa metode solusi yang melibatkan solusi
SPAL, di antaranya dalah: solusi Sisten Persamaan Aljabar Non-
Linier (SPANL), solusi Persamaan Diferensial Biasa (PDB), solusi
persamaan Diferensial Parsial (PDP), Regresi Linier dan Non-
Linier, dll.
Dalam modul ini, para mahasiswa S2 akan diajak terlebih dahulu
untuk membaca ulang (review) secara ringkas dan cepat tentang
beberapa pengertian dasar skalar, vektor, matriks, dan sistem
persamaan linier. Pengulangan ini sangat diperlukan mengingat
banyak di antara peserta ajar S2 yang sudah terlupa dengan materi-
materi kuliah matematik yang pernah diikutinya. Di samping itu
juga, para pembaca diajak untuk memahami secara praktis tentang
konsep-konsep pemahaman dalam aljabar linier yang
diimplementasikan dalam metode numerik.
Setelah pengulangan tentang aljabar numeris, para pembaca diajak
secara ringkas untuk memahami konsep-konsep perhitungan
numeris yang berhubungan dengan metode-metode Eliminasi
Gauss dan Pivot Gauss. Kemudian, lebih jauh lagi diajak untuk
melakukan analisis numerik dalam solusi-solusi Dekomposisi LU
dan Matriks Tri-Diagonal.

A. Skalar, Vektor, Matriks dan SPAL

(a). Skalar atau konstanta didefinisikan sebagai suatu obyek


tunggal (berdimensi nol), baik bilangan nyata (R, real) ataupun
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (1/1)
Seri Matematika Terapan untuk S2

bilangan kompleks (C, complex) yang daripadanya dapat dilakukan


sembarang operasi aritmatika/aljabar secara linier, seperti:
penambahan (adisi), pengurangan (substraksi), perkalian
(multiplikasi), pembagian (divisi), perpangkatan (eksponen), dsb.
Dalam prakteknya, besaran skalar dapat dibagi atas 2 bagian besar
dalam domain bilangan, yaitu:

k = R, suatu skalar dalam bidang bilangan nyata,


z = C, suatu skalar dalam bidang bilangan kompleks.

(b). Vektor atau ‘ruang vektor V’ adalah suatu set (sekumpulan)


obyek berupa skalar (berdimensi satu) yang kepadanya dapat
dilakukan operasi-operasi skalar spesifik berupa ‘penambahan
vektor’ (vector addition) dan ‘perkalian skalar’ (scalar
multiplication). Operasi-operasi tersebut harus memenuhi aturan-
aturan baku, berupa: asosiatif, komutatif, dan distributif.

V = Rn, suatu set skalar dalam bidang bilangan nyata dengan


jumlah anggota sebanyak n buah, atau
 v1 
v 2 
V =   , merupakan ‘vektor horizontal’, sedangkan
M
vn 

H = [h1 h2 L hn ] , merupakan ‘vektor horisontal’,


Ζ = Cn, suatu set skalar dalam bidang bilangan kompleks
dengan jumlah anggota sebanyak n buah.

(c). Matriks didefinisikan sebagai suatu set vektor yang tersususn


sedemikian rupa sehingga tebentuk kumpulan bilangan dengan
pola persegi-empat, atau berorder m (baris) x n (kolom)
(berdimensi dua).

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (2/2)
Seri Matematika Terapan untuk S2

 a1,1 a1,2 L a1, n 


a a L a2, n 
A =  2,1 2, 2 
 M M M 
an,1 an,2 L an, n 

Dalam sistem linier, pada umumnya hanya digunakan matriks-


matrik bujur-sangkar sehingga secara sederhana: order matriks
identik dengan jumlah persamaan. Lambang matriks selalu
dituliskan dalam huruf besar (capital), sedangkan elemen-
elemennya dituliskan dalam huruf kecil seperti dalam penulisan
matriks A di atas.

(d). Sistem persamaan linier, dalam modul ini digunakan istilah


SPAL (Sistem Persamaan Aljabar Linier) yang didefinisikan
sebagai suatu set persamaan-persamaan aljabar yang variabel-
variabelnya berpangkat tunggal (linier) dengan notasi berikut:

a1,1 x1 + a1,2 x2 + ... + a1, n xn = b1 


a2,1 x1 + a2,2 x2 + ... + a2, n xn = b2 

a3,1 x1 + a3, 2 x2 + ... + a3, n xn = b3 
... = ... 

an,1 x1 + an,2 x2 + ... + an, n xn = bM 

sedemikian rupa sehingga persamaan di atas dapat dituliskan dalam


notasi berikut:

[ A] ⋅ [ x ] = [b]
atau
 a1,1 a1,2 ... a1, n   x1   b1 
a2,1 a2, 2 ... a2,1   x  b 
  ⋅  2 =  2
 ... ... ... ...   ...   ... 
an,1 an,2 ... an, n   xn  bn 

SPAL di atas memiliki n buah variabel atau bilangan anu (xj, j =


1, 2,…, n) yang identik dengan jumlah persamaannya. Koefisien-

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (3/3)
Seri Matematika Terapan untuk S2

koefisien xi,j, (x1,1 . . . xn,n) merupakan konstanta (diketahui),


demikian juga bi (b1 . . . bn) yang dikenal sebagai vektor ruas
kanan (VRK).

Menurut konvensi : indeks pertama dari elemen ai,j menyatakan


baris (= i) sedangkan indeks kedua menyatakan kolom (= j).

Agar solusi SPAL di atas dapat diperoleh, maka persayaratan


(teorema) berikut harus dipenuhi:
1. A x = b mempunyai jawab unik x ∈ V untuk setiap b ∈ V,
2. A x = b hanya mempunyai satu solusi x ∈ V untuk setiap b
∈ V,
3. Jika A x = 0, berarti x = 0,
4. A-1 atau inversi dari matriks A ada,
5. Determinan(A) ≠ 0,
6. Rank(A) = n, atau matriks A berorder n.
Seperti telah dijelaskan di atas, matriks A merupakan matriks bujur
sangkar. Bila teorema di atas tak terpenuhi, maka akan terjadi
kombinasi linier (akan mengakibatkan persamaan aljabar di atas
bersifat SINGULAR).

Kombinasi Linier :
ð per baris, cukup hanya 2 baris yang menyebabkannya,
ð per kolom, bila semua baris yang menyebabkanya.

B. Solusi SPAL secara numeris

Solusi SPAL secara numeris umumnya selalu (harus) lebih efisien


dan cepat dibandingkan dengan metode-metode analitis, seperti
metode Cramer. Namun demikian, solusi numerik ini secara teknis
adakalanya juga berkendala, karena:

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (4/4)
Seri Matematika Terapan untuk S2

ð ada beberapa persamaan yang mendekati kombinasi linier,


akibat adanya “round off error” dari mesin penghitung pada
suatu tahap perhitungan
ð adanya akumulasi “round off error” pada proses komputasi akan
berakibat domain bilangan nyata (fixed point) dalam perhitungan
akan terlampaui (overflow), biasanya akibat dari jumlah
persamaan yang terlalu besar
Metode-metode solusi numerik yang banyak dipakai, dapat
diklasifikasikan sebagai:
a. Metode Langsung
ð Eliminasi Gauss (EGAUSS), prinsipnya: merupakan operasi
eliminasi dan substitusi variabel-variabelnya sedemikian
rupa sehingga dapat terbentuk matriks segitiga atas, dan
akhirnya solusinya diselesaikan menggunakan teknik
substitusi balik (backsubstitution). Metode Eliminasi Gauss
ini secara ringkas dibahas pada Paragraf C.
ð Eliminasi Gauss-Jordan (EGJ), prinsipnya: mirip sekali
dengan metode EG, namun dalam metode ini jumlah operasi
numerik yang dilakukan jauh lebih besar, karena matriks A
mengalami inversi terlebih dahulu untuk mendapatkan
matriks identitas (I). Karena kendala tersebut, maka metode
ini sangat jarang dipakai, namun sangat bermanfaat untuk
menginversikan matriks. Metode ini tidak dibahas lebih
lanjut dalam pelajaran ini.
ð Dekomposisi LU (DECOLU), prinsipnya: melakukan
dekomposisi matriks A terlebih dahulu sehingga dapat
terbentuk matriks-matrik segitiga atas dan bawah, kemudian
secara mudah dapat melakukan substitusi balik
(backsubstitution) untuk berbagai vektor VRK (vektor ruas
kanan). Metode ini secara lebih jelas akan dibahas pada
Paragraf F, khusus tentang metode-metode dekomposisi LU
dan teknik komputasinya.

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (5/5)
Seri Matematika Terapan untuk S2

ð Solusi sistem TRIDIAGONAL (S3DIAG), prinsipnya


merupakan solusi SPAL dengan bentuk matrik pita (satu
diagonal bawah, satu diagonal utama, dan satu diagonal atas)
pada matriks A. Metode ini akan dibahas lebih lanjut pada
Paragraf K.
b. Metode Tak-Langsung (Metode Iteratif)
ð Metode Jacobi, prinsipnya: merupakan metode iteratif yang
melakuakn perbaharuan nilai x yang diperoleh tiap iterasi
(mirip metode substitusi berurutan, successive substitution),
ð Metode Gauss-Seidel, prinsipnya: mirip metode Jacobi,
namun melibatkan perhitungan implisit,
ð Metode Successive Over Relaxation (SOR), prinsipnya:
merupakan perbaikan secara langsung dari Metode Gauss-
Seidel dengan cara menggunakan faktor relaksasi (faktor
pembobot) pada setiap tahap/proses iterasi.

Metode-metode tak-langsung seperti di atas pada umunya


sangat tidak efisien dan ‘time consuming’ (memerlukan CPU-
time) yang jauh lebih besar dari metode langsung. Metode ini
dapat dilihat dan dipelajari pada buku-buku numerik yang ada
di perpustakaan atau toko buku.

C. Algoritma Solusi SPAL dengan Metode Eliminasi Gauss

ð Langkah #1: Pilih harga a1(,11) sedemikian rupa yang tidak


berharga nol. Tentukan ‘pengali baris’ sebagai berikut:

mi,1 = ai(,11) a1(1,1) ; i = 2,3,…,n

Kemudian, konstanta-konstanta pengali baris (m) di atas


digunakan untuk melakukan ‘eliminasi’ term-term x1 pada
persamaan-persamaan 2 sampai ke-n, seperti berikut:

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (6/6)
Seri Matematika Terapan untuk S2

ai(,2j) = ai(,1)j − mi,1 ⋅ a1(1, )j ; i,j = 2, …, n

bi( 2) = bi(1) − mi,1 ⋅ b1(1) ; i = 2, …, n

Dalam hal ini, baris pertama dari matriks A dan vektor b tidak
boleh diganggu, sedangkan kolom pertama dari matriks A(1) di
bawah diagonal harus dibuat nol. Sistem A(2)·x = b(2) akan
tampak seperti berikut:

a (1) a (1) L a (1)   x1   b (1) 


 1,1 1(,22) 1, n
    1( 2) 
 0 a2,2 L a2,2   x2  b2 
( 2)
 ⋅ M  = 
 M M M   M 
 
 0 a ( 2) L an( 2, n)   xn  bn( 2) 
 n, 2   

Proses eliminasi dilanjutkan untuk kolom-kolom 2, 3 sampai ke-


n, dan diungkapkan dalam langkah berikut.
ð Langkah k: menggunakan k untuk indeks iterasi, untuk rentang
harga: 1 ≤ k ≤ n-1.
Bila A(k)·x = b(k) telah terbentuk, dan dengan anggapan term-
term x1 , x2 ,K, xk −1 telah tereliminasi pada tahap sebelumnya,
sehingga matriks A(k) sekarang memiliki bentuk sebagai berikut:

a (1) a (1) ⋅ ⋅ ⋅ a1(,1n) 


 1,1 1,1

 0 a ( 2 )
a 2, n 
( 2 )
 2, 2 
 M O M 
A(k) =  
 0 (k ) (k ) 
L 0 a k , k L ak , n
 
 M M M M 
 
 0 L 0 an, k L an, n 
( k ) ( k )

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (7/7)
Seri Matematika Terapan untuk S2

Pilih harga a1(,11) sedemikian rupa yang tidak berharga nol.


Tentukan ‘pengali baris’ sebagai berikut:

mi, k = ai(,kk) ak( k, k) ; i = k+1,…,n

Kemudian, gunakan konstanta-konstanta di atas untuk


mengeliminasi term-term xk pada persamaan-persamaan k+1
sampai ke-n, seperti berikut:

ai(,kj+1) = ai(,kj) − mi, k ⋅ ak(k, )j

bi(k +1) = bi( k ) − mi, k ⋅ bk(k ) ; i,j = 2, …, n

Baris-baris terdahulu, dari 1 sampai k, tidak boleh diganggu,


dan harga-harga nol dimasukkan pada kolom k di bawah
diagonal.

Dengan mengikuti langkah-langkah seperti di atas, setelah


langkah ke n-1 akan diperoleh suatu matriks dengan susunan
seperti berikut:

a (1) L L a (1)   x1   b (1) 


 1,1 1 , n     1 
 0 O M    M  M 
 M ⋅ =
O M  M  M 
     
 0 L L an( n, n)   xn  bn( n ) 

Perhatikan, bahwa matriks A di atas sekarang telah berubah


menjadi matriks segitiga atas (= matriks U), sehingga:
U·x = b(n)

Hal ini berarti bahwa solusi harga-harga x harus dilakukan


dimulai dari indeks terbesar (=n) menuju indeks terkecil (=1),
Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (8/8)
Seri Matematika Terapan untuk S2

yang disebut sebagai substitusi balik (back substitution), yang


dimulai dengan:

xn = bn( n) an( n, n)

kemudian, diikuti dengan:

1  (k ) n (k ) 
;
xk = (k )  k
b − ∑ a k, j ⋅ x j  k = n-1,n-2,…,1
ak , k  j = k +1 

D. Teknik Pivoting dalam Metode Eliminasi Gauss

Dalam beberapa kasus, terutama bila dijumpai matriks-matrik yang


bersifat ‘singular’ karena adanya ‘kombinasi linier’, solusi secara
langsung menggunakan algoritma metode eliminasi Gauss tidak
memberikan hasil dan ketelitian yang baik, bahkan seringkali
memberikan hasil yang meleset jauh dari yang diharapkan.
Untuk menghindari fenomena tersebut, diperlukan modifikasi dari
algoritma eliminasi Gauss. Pada prinsipnya, modifikasi tersebut
dilakukan dengan memperhatikan hal-hal berikut:
ð Harga pivot diambil yang terbesar dari setiap baris dan kolom
yang sesuai, yaitu komponen aii ,

ð Pemilihan pivot dilakukan berdasarkan ‘pembandingan harga


terbesar (maksimum)’ dari setiap elemen a ji ∀ j ≥ i ,

ð Untuk hasil terbaik, sebaiknya gunakan variabel ‘presisi ganda’


(DOUBLE PRECISION atau REAL*8).

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (9/9)
Seri Matematika Terapan untuk S2

E. Contoh Solusi SPAL dengan Eliminasi Gauss

Diberikan SPAL berikut:


2 x1 + x2 + 3 x3 = 11
4 x1 + 3 x2 + 10 x3 = 28
2 x1 + 4 x2 + 17 x3 = 31

Maka, solusinya adalah sebagai berikut:

Ü Tahap I : Triangularisasi
ð Eliminasi x 1 dari persamaan kedua dan ketiga (dalam hal ini :
persamaan pertama disebut “persamaan pivotal”, sedangkan
koefisien pertama dari persamaan kedua disebut “pivot”)
ð Persamaan pertama dikalikan dengan 2 untuk mengeliminasi
x 1 pada persamaan kedua ; Persamaan pertama dikalikan
dengan 2 untuk mengeliminasi x 1 pada persamaan ketiga :

2 x1 + x2 + 3 x3 = 11
x2 + 4 x3 = 6
3 x2 + 14 x3 = 20

ð Eliminasi x 2 dari persamaan ketiga (dalam hal ini :


persamaan kedua menjadi “persamaan pivotal”,
sedangkan koefisien x 2 dari persamaan ketiga disebut
“pivot”)
ð Persamaan kedua dikalikan dengan 3 untuk
mengeliminasi x 2 pada persamaan kedua :

2 x1 + x2 + 3 x3 = 11
x2 + 4 x3 = 6
2 x3 = 2

Ü Tahap II : Substitusi Balik (Back Substitution)

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (10/10)
Seri Matematika Terapan untuk S2

ð Dimulai dari baris ketiga (baris terakhir, baris ke n),


langsung dapat dihitung bahwa : x n = b n a n , n
ð Baris lainnya, dimulai dari beris ke n-1 sampai baris
pertama dihitung menggunakan algoritma :
 n 
 bi − ∑ ai, j ⋅ x j 
 
xi =  j = i +1  ; i = n − 1, n − 2,K,1
ai , i

Ü Perolehan : vektor jawab yang dihasilkan adalah


 x1   3
[x ]  
=  x2  = 2
 x3  1

(a). Listing Program Eliminasi Gauss (tanpa Pivoting)


C PROGRAM Solusi Sistem Persamaan Aljabar Linier (SPAL) atau
C atau Persamaan Aljabar Linier Simultan

C Deklarasi Jenis dan Variabel:


C -----------------------------
IMPLICIT NONE
INTEGER iarg
PARAMETER (iarg = 7)
INTEGER i,j,k,neq
REAL*8 A(iarg,iarg)
REAL*8 b(iarg),x(iarg)

CALL system('clear')

C Proses Pemasukan Harga Variabel:


C --------------------------------
WRITE(*,10) 'Jumlah Persamaan : '
READ(*,*) neq
DO i = 1,neq
DO j = 1,neq
WRITE(*,20) 'A(',i,',',j,') : '
READ(*,*) A(i,j)
ENDDO
WRITE(*,30) 'b(',i,') : '
READ(*,*) b(i)
ENDDO

C Proses Pemanggilan Subprogram Eliminasi Gauss-Jordan:


C -----------------------------------------------------
CALL EGAUSS(neq,A,x,b)

C Pemaparan/penyajian Hasil Perhitungan:


C --------------------------------------

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (11/11)
Seri Matematika Terapan untuk S2

DO i = 1,neq
WRITE(*,40) 'x(',i,') = ',x(i)
ENDDO

10 FORMAT (3X,A,$)
20 FORMAT (3X,A,I1,A1,I1,A,$)
30 FORMAT (5X,A,I1,A,$)
40 FORMAT (5X,A,I1,A,G12.7)

STOP
END

SUBROUTINE EGAUSS(n,A,x,b)
C ---------------------------------------------------------------------------
C SUBPROGRAM ELIMINASI GAUSS: |
C Merupakan solusi Sistem Persamaan Aljabar Linier (SPAL) dengan |
C format persamaan matriks: [A].[x] = [b], dengan rincian sbb |
C n = jumlah persamaan aljabar linier (dimensi SPAL) |
C A = matriks bujur sangkar n x n yang berisi koefisien persamaan, |
C x = vektor variabel persamaan yang akan dicari harga-harganya |
C b = vektor ruas kanan yang berisi harga-harga persamaan tunggal |
C ---------------------------------------------------------------------------

C Deklarasi Variabel:
C -------------------
INTEGER n
REAL*8 A(7,7),b(n),x(n)
INTEGER i,j,k
REAL*8 PIVOT,MULT,TOP

C Proses solusi: (a) Substitusi dan Eliminasi


C -------------------------------------------
DO j = 1,n-1
PIVOT = A(j,j)
DO i = j+1,n
MULT = A(i,j)/PIVOT
DO k = j+1,n
A(i,k) = A(i,k) - MULT*A(j,k)
ENDDO
b(i) = b(i) - MULT*b(j)
ENDDO
ENDDO

C Proses solusi: (b) Substitusi Balik


C -----------------------------------
x(n) = b(n)/A(n,n)
DO i = n-1,1,-1
TOP = b(i)
DO k = i+1,n
TOP = TOP - A(i,k)*x(k)
ENDDO
x(i) = TOP/A(i,i)
ENDDO

RETURN
END

Listing program (source code) di atas masih menggunakan


subroutine eliminasi Gauss yang belum dilakukan ‘pivoting’ pada
setiap penggunaan elemen aii . Di bawah ini diberikan subroutine
yang telah menggunakan ‘teknik pivoting’.

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (12/12)
Seri Matematika Terapan untuk S2

(b). Listing Program Eliminasi Gauss (dengan Pivoting)


SUBROUTINE PGAUSS(n,A,x,b)
C ---------------------------------------------------------------------------
C SUBPROGRAM ELIMINASI GAUSS dengan TEKNIK PIVOTING |
C ---------------------------------------------------------------------------

C Deklarasi Variabel:
C -------------------
INTEGER n
REAL*8 A(7,7),b(n),x(n)
INTEGER i,j,k
REAL*8 PIVOT,PIVMAX,MULT,TOP
INTEGER KPOS,ipos(7),itemp

C Proses solusi: (a) Substitusi dan Eliminasi


C --------------------------------------------
DO i = 1,n
ipos(i) = i
ENDDO

DO j = 1,n-1
C Mencari PIVOT terbesar:
C -----------------------
PIVMAX = ABS(A(j,j))
KPOS = j
DO i = j+1,n
IF (ABS(A(i,j)) .GT. PIVMAX) THEN
PIVMAX = ABS(A(i,j))
KPOS = i
ENDIF
ENDDO
IF (KPOS .NE. j) THEN
itemp = ipos(j)
ipos(j) = ipos(KPOS)
ipos(KPOS) = itemp
ENDIF
C Akhir pencarian PIVOT terbesar:
C -------------------------------
C write(*,*) 'i-pos = ',ipos(j)

PIVOT = A(ipos(j),j)
DO i = j+1,n
itemp = ipos(i)
MULT = A(itemp,j)/PIVOT
DO k = j+1,n
A(itemp,k) = A(itemp,k) - MULT*A(ipos(j),k)
ENDDO
b(itemp) = b(itemp) - MULT*b(ipos(j))
ENDDO
ENDDO

C Proses solusi: (b) Substitusi Balik


C -----------------------------------
x(n) = b(ipos(n))/A(ipos(n),n)
DO i = n-1,1,-1
itemp = ipos(i)
TOP = b(itemp)
DO k = i+1,n
TOP = TOP - A(itemp,k)*x(k)
ENDDO
x(i) = TOP/A(itemp,i)
ENDDO

RETURN
END

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (13/13)
Seri Matematika Terapan untuk S2

F. Prinsip Dekomposisi LU dan Matriks Identitas

Matriks [A] dari SPAL didekomposisi (difaktorisasis) menjadi


matriks-matrik segitiga bawah (L) dan segitiga atas (U) sedemikian
rupa sehingga identitasnya adalah:
[A] = [L]·[U] atau A = L·U

F1. Notasi Matriks LU berdasarkan Metode Doolittle

Notasi matriks L seperti di atas dituliskan sbb:


 1 0 L 0 L 0
l 1 L 0 L 0
 2,1
 M M O M M
 
L =  l i,1 l i ,2 L 1 L 0
l l L l i +1, i L 0
 i +1,1 i +1,2 
 M M M O M
 
 l n,1 l n,2 L l n, i L 1

Perhatikan, bahwa semua elemen diagonal dari matriks L di atas


berharga 1 (satu) ! Sedangkan semua elemen di atas diagonal
semuanya berharga 0 (nol) !

Notasi matriks U dituliskan sbb:


u1,1 u1, 2 L u1, i u1, n −1 u1, n 
 0 u L L u 2, n −1 u 2, n 
 2, 2
 M M M M 
 
U = 0 0 ui , n −1 ui , n 
 0 0 O ui +1, n −1 ui +1, n 
 
 M M O M M 
 
 0 0 L L 0 u n, n 

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (14/14)
Seri Matematika Terapan untuk S2

Perhatikan, bahwa semua elemen yang terletak di bawah


diagonal dari matriks U di atas (= u1,1 … un,n) berharga 0 (nol) !

F2. Notasi Matriks LU berdasarkan Metode Crout

Notasi matriks L seperti di atas dituliskan sbb:


 l 1,1 0 L 0 L 0
 l 2,1 l 2, 2 L 0 L 0
 M M M O M
 
L =  l i ,1 l i , 2 L l i ,i L 0
l i +1,1 l i +1, 2 L l i +1,i L 0
 M M M M
l L l n,n 
 n,1 l n, 2 L l n,i

Perhatikan, bahwa semua elemen diagonal dari matriks L di atas


tidak harus berharga 1 (satu), sedangkan, elemen-elemen di atas
diagonal semuanya berharga 0 (nol) !

Notasi matriks U dituliskan sbb:


1 u1, 2 u1, n −1 u1, n 
L u1, i
0 1 L L u 2, n −1 u2, n 
M M O M M 
 
U = 0 0 O ui , n −1 ui , n 
0 0 ui +1, n −1 ui +1, n 
M M M M 
0 0 L L 1 
 0

Perhatikan, bahwa semua elemen diagonal (= u1,1 … un,n) berharga


1 (satu), sedangkan yang terletak di bawahnya berharga 0 (nol) !

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (15/15)
Seri Matematika Terapan untuk S2

F3. Notasi Matriks A dan LU dalam SPAL

Notasi Matriks LU sebagai dekomposan matriks A dapat dituliskan


dalam SPAL sbb:

[A] · [x] = [L]·[U]·[x] = [b]

Sehingga, dalam notasi Metode Doolittle dapat dituliskan:

 a1,1 a1, 2 L a1,n   1 0 L 0 u1,1 u1, 2 L u1,n 


a2,1 a2, 2 L a2,n  l L L 0  0 L L a 2, n 
 M =  M2,1 M  M M 
M 
·
  l   
an,1 L L an,n   n ,1 l n , 2 L 1   0 0 L u n ,n 

Sedangkan, dalam notasi Metode Crout dapat dituliskan:

 a1,1 a1, 2 L a1,n   l 1,1 0 L 0  1 u1, 2 L u1,n 


a2,1 a2, 2 L a2,n  l 2,1 O L 0  0 1 L a 2 ,n 
 M M 
=  M O M 
· M O M 
     
an,1 L L an,n  l n,1 l n, 2 L l n ,n  0 0 L 1 

G. Deskripsi Tahapan dan Strategi Dekomposisi

Notasi A = LU dalam Metode Doolittle seperti di atas dapat


diuraikan dalam operasi perkalian matriks (sebagai contoh: matriks
n x n) sbb:

Baris 1 (i = 1):
a1,1 = u1,1 
a1, 2 = u1, 2 
M M  u1, i = a1, i ; i = 1, K , n

a1, n = u1, n 

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (16/16)
Seri Matematika Terapan untuk S2

Baris 2 (i = 2):
a2,1 = l2,1·u1,1
a2,2 = l2,1·u1,2 + u2,2
a2,3 = l2,1·u1,3 + u2,3
M M
a2,n = l2,1·u1,n + u2,n
Baris 3 (i = 3):
a3,1 = l3,1·u1,1
a3,2 = l3,1·u1,2 + l32·u2,2
a3,3 = l3,1·u1,3 + l32·u2,3 + u3,3
M M
a3,n = l3,1·u1,n + l32·u2,n + u3,n
Baris n (i = n):
an,1 = ln,1·u1,1
an,2 = ln,1·u1,2 + ln,2·u2,2
an,3 = ln,1·u1,3 + ln,2·u2,3 + ln,3·u3,3
M M
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
an,n = ln,1·u1,n + ln,2·u2,n + ln,3·u3,n + … + … + un,n

# Dari operasi-operasi perkalian matriks LU seperti di atas, dapat


disimpulkan beberapa hal berikut:
(1). Mekanisme ‘proses dekomposisi’ dilakukan dengan cara
mengisi terlebih dahulu baris pertama matriks U.
Selanjutnya, mengisi matriks L pada baris terendah terlebih
dulu (mulai baris ke-2), dan kemudian diikuti pengisian
matriks U pada baris yang sama, demikian seterusnya
sampai baris terakhir (ke-n).
(2). Harga-harga dari semua elemen matriks U pada baris 1
identik dengan elemen-elemen matriks A (matriks asal),

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (17/17)
Seri Matematika Terapan untuk S2

(3). Harga-harga elemen pada kolom 1 untuk matriks L, dapat


dihitung menggunakan persamaan berikut:
li,1 = ai,1 / u1,1 ; i = 2,…,n
(4). Jumlah maksimum operasi penjumlahan per elemen matriks
A sesuai dengan jumlah/posisi baris,
(5). Pada baris rendah, langkah/iterasi pengisian matriks U lebih
banyak dibandingkan dengan matriks L, dan sebaliknya.

Tugas/Latihan:
Lakukan hal yang sama seperti di atas untuk konfigurasi matriks
LU yang disusun dengan Metode Crout !

H. Algoritma Dekomposisi dan Komputasi Praktis

(a). Algoritma solusi numerik dengan Metode Doolittle:


Baris 1:
u1, i = a1, i ; i = 1, L , n

Baris 2:
ð Pengisian matriks L:
a2,1
l 2,1 =
u1,1
ð Pengisian matriks U:
u 2, 2 = a2, 2 − l 2,1 ⋅ u1, 2
u 2,3 = a2,3 − l 2,1 ⋅ u1,3
u 2, 4 = a2, 4 − l 2,1 ⋅ u1, 4
M
u 2, n = a2, n − l 2, n ⋅ u1, n

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (18/18)
Seri Matematika Terapan untuk S2

Baris 3:
ð Pengisian matriks L:
a3,1
l 3,1 =
u1,1
(a − l 3,1 ⋅ u1,2 )
l 3, 2 = 3, 2
u 2, 2
ð Pengisian matriks U:
u3,3 = a3,3 − l 3,1 ⋅ u1,3 − l 3, 2 ⋅ u2,3
u3, 4 = a3, 4 − l 3,1 ⋅ u1, 4 − l 3, 2 ⋅ u2, 4
M
u3, n = a3, n − l 3,1 ⋅ u1, n − l 3, 2 ⋅ u 2, n

Baris n:
ð Pengisian matriks L:
an ,1
l n,1 =
u1,1

l n, 2
(a − l n,1 ⋅ u1,2 )
= n, 2
u 2, 2

l n ,3
(a − l n,1 ⋅ u1,3 − l n,2 ⋅ u2,3 )
= n ,3
u3,3
M
l n, n −1 =
(an, n −1 − l n,1 ⋅ u1, n −1 − l n,2 ⋅ u2, n −1 − L − l n, n −1 ⋅ un −1, n −1 )
u n −1, n −1

ð Pengisian matriks U:
u n, n = an, n − l n ,1 ⋅ u1, n − l n, 2 ⋅ u2, n − L − l n, n −1 ⋅ un −1, n

(b). Algoritma solusi numerik dengan Metode Crout:


Sebagai latihan, coba saudara lakukan sendiri dengan cara
mengikuti langah-langkah untuk Metode Doolittle seperti di
atas dengan cermat dan seksama!

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (19/19)
Seri Matematika Terapan untuk S2

(c). Komputasi dengan Fortran-77 untuk Metode Doolittle:

C PROGRAM Pengujian Dekomposisi LU

C Deklarasi Jenis dan Variabel:


C -----------------------------
IMPLICIT NONE
INTEGER iarg
PARAMETER (iarg = 7)
INTEGER i,j,neq
REAL*8 A(iarg,iarg),LU(iarg,iarg)
C LU(iarg,iarg)

CALL system('clear')

C Proses Pemasukan Harga Variabel:


C --------------------------------
WRITE(*,10) 'Jumlah Persamaan : '
READ(*,*) neq

DO i = 1,neq
DO j = 1,neq
WRITE(*,20) 'A(',i,',',j,') : '
READ(*,*) A(i,j)
ENDDO
ENDDO

C Proses Pemanggilan Subprogram Eliminasi Gauss:


C ----------------------------------------------
CALL DECOLU(neq,A,LU)

C Pemaparan/penyajian Hasil Perhitungan:


C --------------------------------------
WRITE(*,30) 'Matriks LU yang diperoleh:'
DO i = 1,neq
DO j = 1,neq
WRITE(*,40) LU(i,j)
ENDDO
WRITE(*,*)
ENDDO

10 FORMAT (3X,A,$)
20 FORMAT (3X,A,I1,A1,I1,A,$)
30 FORMAT (/,1X,A)
40 FORMAT (3X,F10.4,$)
C 40 FORMAT (3X,F10.4,3X,F10.4,3X,F10.4,3X,F10.4,3X,F10.4)

STOP
END

SUBROUTINE DECOLU(n,A,LU)
C ---------------------------------------------------------------------------
C SUBPROGRAM DEKOMPOSI LU: |
C Merupakan solusi DEKOMPOSISI Matriks A menjadi matriks-matriks L |
C dan U dengan format [A] = [L].[U] yang hasilnya disimpan dalam LU |
C n = dimensi matriks A (identik dengan jumlah PAL), |
C A = matriks bujur sangkar n x n yang berisi koefisien persamaan, |
C LU = matriks bujur sangkar tempat penyimpanan hasil dekomposisi |
C matrik A menjadi L dan U (yang disimpan sekaligus dalam LU). |
C ---------------------------------------------------------------------------

C Deklarasi Variabel:
C -------------------
INTEGER n,i,j,k
REAL*8 A(7,7),LU(7,7),sum

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (20/20)
Seri Matematika Terapan untuk S2

C Proses pengisian matriks L dan U (dalam matriks LU):


C ----------------------------------------------------

DO j = 1,n
C Proses pengisian matriks U pada baris pertama:
C ----------------------------------------------
LU(1,j) = A(1,j)
ENDDO

DO i = 2,n
C Proses pengisian matriks L:
C ---------------------------
LU(i,1) = A(i,1)/LU(1,1)
sum = 0.0D0
DO j = 2,i-1
DO k = 1,i-2
sum = sum + LU(i,k)*LU(k,j)
ENDDO
LU(i,j) = (A(i,j) - sum)/LU(j,j)

ENDDO

C Proses pengisian matriks U:


C ---------------------------
DO j = i,n
sum = 0.0D0
DO k = 1,i-1
sum = sum + LU(i,k)*LU(k,j)
ENDDO
LU(i,j) = A(i,j) - sum
ENDDO
ENDDO

RETURN
END

(d). Untuk Pemahaman yang lebih mendalam, cobalah buat


program dalam bahasa Fortran-77 untuk Metode Crout!

I. Manfaat Dekomposisi LU untuk Solusi SPAL

Solusi SPAL [A] · [x] = [b], melalui teknik dekomposisi matriks


[A], sangat bermanfaat untuk menyelesaikan problem-problem
ataupun model matematis yang membentuk SPAL dengan matriks
[A] yang sama untuk berbagai vektor jawab, [b].
Dengan teknik dekomposisi LU ini, penyelesaian akan menjadi
sangat efisien dan banyak menghemat waktu pada saat telah
diperoleh dekomposisi matriks [A], karena hasil dekomposisi LU
tersebut dapat dipakai untuk semua SPAL dengan matriks [A] yang
identik.

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (21/21)
Seri Matematika Terapan untuk S2

Bentuk umum SPAL yang menggunakan matriks [A] yang identik,


seperti disebutkan di atas, dapat dituliskan sbb:

 x1,1 x2,1 L xn,1   b1,1 b2,1 L bn,1 


x x L xn, 2  b b bn,2 
[A] ·  1, 2 2,2  =  1, 2 2,2 
 M M M   M M M 
 x1, n x2, n L xn, n  b1, n b2, n L bn, n 

Perhatikan, bahwa bentuk di atas sesungguhnya merupakan


perkalian 2 bentuk matriks, antara matriks bujur sangkar [A] yang
berdimensi n x n dengan matrik segi 4 yang berdimensi n x m,
dengan hasil matriks lain yang juga berdimensi n x m!

J. Solusi Numerik SPAL melalui Dekomposisi LU

Subprogram (SUBROUTINE) di bawah ini dapat digunakan untuk


solusi SPAL dengan bentuk normal: [A] · [x] = [b], menggunakan
matriks LU sebagai hasil dekomposisi matriks [A] dengan Metode
Doolittle.

C PROGRAM Solusi SPAL dengan Dekomposisi LU

C Deklarasi Jenis dan Variabel:


C -----------------------------
IMPLICIT NONE
INTEGER iarg
PARAMETER (iarg = 7)
INTEGER i,j,neq
REAL*8 LU(iarg,iarg),b(iarg),x(iarg)

CALL system('clear')
OPEN (11,FILE='inputLU.dta')

C Proses Pemasukan Harga Variabel dari FILE:


C ------------------------------------------
READ(11,*) neq
DO i = 1,neq
READ(11,*) (LU(i,j), j=1,neq),b(i)
ENDDO

C Proses Pemanggilan Subprogram Eliminasi Gauss:


C ----------------------------------------------
CALL DECOLU(neq,LU)
CALL SOLVLU(neq,LU,x,b)

C Pemaparan/penyajian Hasil Perhitungan:


C --------------------------------------

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (22/22)
Seri Matematika Terapan untuk S2

WRITE(*,30) 'Matriks LU dan vektor x yang diperoleh:'


DO i = 1,neq
DO j = 1,neq
WRITE(*,40) LU(i,j)
ENDDO
WRITE(*,50) 'x(',i,') = ',x(i)
ENDDO

CLOSE(11)

10 FORMAT (3X,A,$)
20 FORMAT (3X,A,I1,A1,I1,A,$)
30 FORMAT (/,1X,A)
40 FORMAT (3X,F10.4,$)
50 FORMAT (5X,1H|,5X,A,I1,A,G10.4)

STOP
END

INCLUDE 'decoLU.sub'

SUBROUTINE SOLVLU(n,LU,x,b)
C ---------------------------------------------------------------------------
C SUBPROGRAM ELIMINASI GAUSS: |
C Merupakan solusi Sistem Persamaan Aljabar Linier (SPAL) dengan |
C teknik dekomposisi LU untuk format persamaan: [A].[x] = [b], |
C dengan rincian sbb |
C n = jumlah persamaan aljabar linier (dimensi SPAL) |
C LU = matriks bujur sangkar n x n yang berisi koefisien persamaan, |
C x = vektor variabel persamaan yang akan dicari harga-harganya |
C b = vektor ruas kanan yang berisi harga-harga persamaan tunggal |
C ---------------------------------------------------------------------------

C Deklarasi Variabel:
C -------------------
INTEGER n
REAL*8 LU(7,7),b(n),x(n)
INTEGER i,j

C Proses solusi: (a) Substitusi dan Eliminasi


C -------------------------------------------
DO i = 2,n
DO j = 1,i-1
b(i) = b(i) - LU(i,j)*b(j)
ENDDO
ENDDO

C Proses solusi: (b) Substitusi Balik


C -----------------------------------
x(n) = b(n)/LU(n,n)
DO i = n-1,1,-1
DO j = i+1,n
b(i) = b(i) - LU(i,j)*x(j)
ENDDO
x(i) = b(i)/LU(i,i)
ENDDO

RETURN
END

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (23/23)
Seri Matematika Terapan untuk S2

Tugas !
Ujilah program di atas untuk SPAL berikut:

2 1 3  x1  11
4 3 10 ⋅  x2  = 28
     
 2 4 17   x3   31

Perhatikan dengan seksama hasil dekomposisinya (matriks LU) dan


solusi vektor x-nya !

K. Solusi Numerik SPAL dengan Matriks Tri-Diagonal

Solusi SPAL yang berbentuk matriks tri-diagonal seringkali


dijumpai pada problem-problem yang berbentuk PDP (persamaan
diferensial parsial) yang dominan secara diagonal (definit positif).

K1. Bentuk umum Matrik Tri-Diagonal

Secara spesifik, bentuk SPAL yang memiliki matriks tri-diagonal


dapat disajikan sebagai berikut:

 d1 c1   x1   b1 
a d c   x  b 
 2 2 2   2   2 
 a3 d3 c3   x3   b3 
 ⋅  =  
 O O O   M   M 
 an −1 d n −1 cn −1 xn −1 
  b 
     n −1 
 an d n   xn   bn 
atau
[A] [x] = [b]

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (24/24)
Seri Matematika Terapan untuk S2

K2. Teorema Solusi matriks Tri-Diagonal

Jika matriks bujur-sangkar [A] di atas merupakan matriks yang


dominan secara diagonal (atau definit :positif) dan membentuk
matriks tri-diagonal, maka [A] memiliki suatu mentuk faktorisasi
LU yang unik, dalam hal ini baik L maupun U hanya memiliki dua-
diagonal: L adalah matriks bawah dengan struktur diagonal utama
(dituliskan dalam lambang [dl]) dan diagonal bawah (dituliskan
dalam lambang [al]); sedangkan matriks U adalah matriks atas yang
berisi diagonal utama [du] dan diagonal atas [cu].

Langkah solusi yang digunakan adalah analogi dengan metode


ELIMINASI GAUSS. Dalam hal ini jika penulisan SPAL di atas
disusunulang menjadi:

 d1 x1 c1 x2   b1 
a x d x c x  b 
 2 1 2 2 2 3   2 
 a3 x1 d3 x2 c3 x3   b3 
  =  
 O O O   M 
 an −1 x1 d n −1 x2 cn −1 x3  b 
   n −1 
 an x1 d n x2   bn 

Dapat dilihat dengan jelas, selain ketiga diagonal di atas matriks


[A] hanya diisi oleh elemen 0 (nol), yang berarti bahwa matriks [A]
di atas, tidak perlu disimpan dalam suatu variabel berbentuk
matriks, melainkan cukup hanya dalam 3 buah ventor dengan
panjang masing-masing (maksimum) sebesar n elemen.

Jumlah memori untuk penyimpanan menjadi semakin sangat berarti


pada saat harga n menjadi sangat besar. Hal lain yang perlu dicatat
adalah, bahwa pada setiap kolom, hanya diperlukan 1 buah elemen
tak-nol (bukan 0) yang dieliminasi, yang berarti juga sebagai

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (25/25)
Seri Matematika Terapan untuk S2

“penghematan usaha dan daya komputasi numerik” yang relatif


sangat besar, bila dibandingkan dengan penghitungan melalui
matriks penuh.

Selanjutnya, langkah algoritma penyelesaiannya adalah sebagai


berikut:
(a). Jika d1 ≠ 0, maka x1 dapat dieliminasi dari persamaan kedua
dengan menghitung “faktor pengali” berikut:
a2
m1 =
d1

dan dihasilkan persamaan baru sebagai berikut:

d 2' x2 + c2 x3 = b2'

dengan,

d 2' = d 2 − m1 c1

b2' = b2 − m1 b1'

(b). Dengan cara yang sama, jika d 2' ≠ 0 , x2 dapat dieliminasi


dari persamaan ketiga sehingga dihasilkan persamaan
ketiga yang baru, sebagai berikut:
d3' x3 + c3 x4 = b3'

dengan,
a3
m2 =
d 2'

dan

d3' = d3 − m2 c2

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (26/26)
Seri Matematika Terapan untuk S2

b3' = b3 − m2 b2'

(c). Teruskan cara perhitungan di atas, sehingga dapat


disimpulkan pada tahap-i, xi dapat dieliminasi dari
persamaan i+1 (dengan asumsi d i' ≠ 0 ) dan memberikan
persamaan baru berikut:
di' +1 xi +1 + ci +1 xi + 2 = bi' +1

dengan,
ai +1
mi =
d i'

dan

di' +1 = di +1 − mi ci

bi' +1 = bi +1 − mi bi'

(d). Sekuens-sekuens dalam butir (c) di atas sebenarnya


merupakan sesuatu yang beraturan, yaitu keberulangan dari
i = 1, 2, … , n-1, sehingga sistem awalnya tertransformasi
menjadi “matriks segitiga atas”

(e). Sebagai solusi akhirnya, yaitu “substitusi balik” yang juga


mirip dengan “metode eliminasi Gauss”, yaitu dengan
menganggap bahwa d n' ≠ 0 , akan diperoleh:
bn'
xn =
d n'

dan kemudian, untuk i = n-1, n-2,…, 1, dapat digunakan:

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (27/27)
Seri Matematika Terapan untuk S2

bn' − ci xi +1
xi =
di'

Listing Program Matriks Tri-Diagonal:


C PROGRAM Solusi Sistem Persamaan Aljabar Linier (SPAL) atau
C atau Persamaan Aljabar Linier Simultan dengan TEKNIK TRIDIAGONAL

C Deklarasi Jenis dan Variabel:


C -----------------------------
IMPLICIT NONE
INTEGER iarg
PARAMETER (iarg = 7)
INTEGER i,neq
REAL*8 a(iarg),b(iarg),c(iarg),d(iarg),x(iarg)

CALL system('clear')
OPEN (10,FILE='s3diag.dta')

C Proses Pemasukan Harga Variabel:


C --------------------------------
READ(10,*) neq
WRITE(*,*) 'Jumlah Persamaan : ',neq
READ(10,*) d(1),c(1),b(1)
DO i = 2,neq-1
READ(10,*) a(i),d(i),c(i),b(i)
ENDDO
READ(10,*) a(neq),d(neq),b(neq)

C Proses Pemanggilan Subprogram Eliminasi Gauss-Jordan:


C -----------------------------------------------------
CALL S3DIAG(neq,a,d,c,x,b)

C Pemaparan/penyajian Hasil Perhitungan:


C --------------------------------------
WRITE(*,*) '--------HASIL---------'
DO i = 1,neq
WRITE(*,40) 'x(',i,') = ',x(i)
ENDDO

CLOSE(10)

20 FORMAT (3X,A,I1,A1,I1,A,G15.7)
30 FORMAT (5X,A,I1,A,G15.7)
40 FORMAT (5X,A,I1,A,G15.7)

STOP
END

SUBROUTINE S3DIAG(n,a,d,c,x,b)
C ---------------------------------------------------------------------------
C SUBPROGRAM SOLUSI MATRIKS TRI-DIAGONAL dengan ELIMINASI GAUSS |
C Merupakan solusi Sistem Persamaan Aljabar Linier (SPAL) dengan |
C format persamaan matriks: [A].[x] = [b], dengan rincian sbb |
C n = jumlah persamaan aljabar linier (dimensi SPAL) |
C a = vektor koefisien pada diagonal bawah dengan dimensi n-1, |
C d = vektor koefisien pada diagonal utama dengan dimensi n, |
C c = vektor koefisien pada diagonal atas dengan dimensi n-1, |
C x = vektor variabel persamaan yang akan dicari harga-harganya |
C b = vektor ruas kanan yang berisi harga-harga persamaan tunggal |
C ---------------------------------------------------------------------------

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (28/28)
Seri Matematika Terapan untuk S2

C Deklarasi Variabel:
C -------------------
INTEGER n
REAL*8 a(n),d(n),c(n),b(n),x(n)
INTEGER i
REAL*8 PIVOT,MULT

C Proses solusi: (a) Substitusi dan Eliminasi


C -------------------------------------------
DO i = 1,n-1
PIVOT = d(i)
MULT = a(i+1)/PIVOT
a(i+1) = MULT
d(i+1) = d(i+1) - MULT*c(i)
b(i+1) = b(i+1) - MULT*b(i)
ENDDO

C Proses solusi: (b) Substitusi Balik


C -----------------------------------
x(n) = b(n)/d(n)
DO i = n-1,1,-1
x(i) = (b(i) - c(i)*x(i+1))/d(i)
ENDDO

RETURN
END

L. Daftar Pustaka

Atkinson, Kendal E., “An Introduction to Numerical Analysis”,


John Wiley & Sons, Toronto, 1978.
Atkinson, L.V., Harley, P.J., “An Introduction to Numerical
Methods with Pascal”, Addison-Wesley Publishing Co.,
Tokyo, 1983.
Bismo, Setijo, “Kumpulan Bahan Kuliah Metode Numerik”,
Jurusan TGP-FTUI, 1999.
Hanna, O.T., Sandall, O.C., “Computational Methods in
Chemical Engineering”, Prentice-Hall International Inc.,
Englewood Cliffs, New Jersey, 1995.
Press, W.H., Flannery, B.P., Teukolsky, S.A., dan Vetterling,
W.T., “Numerical Recipes”, Cambridge Univ. Press, 1986.

Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI Modul 2 – Solusi Sistem Persamaan Aljabar Linier (SPAL) (29/29)

You might also like