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 NonLinier (SPANL), solusi Persamaan Diferensial Biasa (PDB), solusi persamaan Diferensial Parsial (PDP), Regresi Linier dan NonLinier, 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 materimateri 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 aturanaturan 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 L a2, n a A = 2,1 2, 2 M M M an,1 an,2 L an, n Dalam sistem linier, pada umumnya hanya digunakan matriksmatrik bujur-sangkar sehingga secara sederhana: order matriks identik dengan jumlah persamaan. Lambang matriks selalu dituliskan dalam huruf besar (capital), sedangkan elemenelemennya 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 variabelvariabelnya 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 a2,1 a2, 2 ... ... an,1 an,2 ... a1, n x1 b1 b ... a2,1 x ⋅ 2 = 2 ... ... ... ... bn ... an, n xn SPAL di atas memiliki n buah variabel atau bilangan anu (xj, j = 1, 2,…, n) yang identik dengan jumlah persamaannya. KoefisienIntellectual 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 GaussSeidel 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 CPUtime) 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, n 1,1 1(,22) 1( 2) ( 2) 0 a2,2 L a2,2 x2 b2 ⋅ 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 ken, 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 termterm x1 , x2 ,K, xk −1 telah tereliminasi pada tahap sebelumnya, sehingga matriks A(k) sekarang memiliki bentuk sebagai berikut: A(k) a (1) a (1) ⋅ ⋅ ⋅ a1(,1n) 1,1 1,1 ( 2 ) ( 2 ) 0 a a 2, n 2, 2 M O M = (k ) (k ) 0 L 0 a k , k L ak , n M M M M ( k ) ( k ) 0 L 0 an, k L an, n 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 M M 0 O M ⋅ = M M O 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: xk = n 1 (k ) (k ) ; − ⋅ b a x ∑ j k, j (k ) k j = k +1 ak , k k = n-1,n-2,…,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 x2 + 4 x3 3 x2 + 14 x3 ð ð = 6 = 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 = 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 j = i +1 ; xi = ai , i Ü i = n − 1, n − 2,K,1 Perolehan : vektor jawab yang dihasilkan adalah [x ] x1 3 = x2 = 2 x3 1 (a). Listing Program Eliminasi Gauss (tanpa Pivoting) C C PROGRAM Solusi Sistem Persamaan Aljabar Linier (SPAL) atau atau Persamaan Aljabar Linier Simultan C C Deklarasi Jenis dan Variabel: ----------------------------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 C Proses Pemasukan Harga Variabel: -------------------------------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 C Proses Pemanggilan Subprogram Eliminasi Gauss-Jordan: ----------------------------------------------------CALL EGAUSS(neq,A,x,b) C C Pemaparan/penyajian Hasil Perhitungan: -------------------------------------- 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 20 30 40 FORMAT FORMAT FORMAT FORMAT (3X,A,$) (3X,A,I1,A1,I1,A,$) (5X,A,I1,A,$) (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 C Deklarasi Variabel: ------------------INTEGER n REAL*8 A(7,7),b(n),x(n) INTEGER i,j,k REAL*8 PIVOT,MULT,TOP C C Proses solusi: (a) Substitusi dan Eliminasi ------------------------------------------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 C Proses solusi: (b) Substitusi Balik ----------------------------------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 C Deklarasi Variabel: ------------------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 C Proses solusi: (a) Substitusi dan Eliminasi -------------------------------------------DO i = 1,n ipos(i) = i ENDDO C C C C C DO j = 1,n-1 Mencari PIVOT terbesar: ----------------------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 Akhir pencarian PIVOT terbesar: ------------------------------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 C Proses solusi: (b) Substitusi Balik ----------------------------------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: 0 1 l 1 2,1 M M L = l i,1 l i ,2 l l i +1,1 i +1,2 M M l n,1 l n,2 L 0 L 0 O M L 1 L l i +1, i M L l n, i L 0 L 0 M L 0 L 0 O M 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 0 u 2, 2 M M U = 0 0 0 0 M M 0 0 L u1, i u1, n −1 L L u 2, n −1 M ui , n −1 O ui +1, n −1 O M L L 0 Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI u1, n u 2, n M ui , n ui +1, n M u n, n 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: 0 l 1,1 l 2,1 l 2, 2 M M L = l i ,1 l i , 2 l i +1,1 l i +1, 2 M M l n,1 l n, 2 L L 0 0 M L l i ,i L l i +1,i M L l n,i L l n,n L L O L L 0 0 M 0 0 M 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 0 1 M M U = 0 0 0 0 M M 0 0 u1, n −1 u1, n u 2, n −1 u2, n M M ui , n −1 ui , n ui +1, n −1 ui +1, n M M L L 0 1 L u1, i L L O O 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 a2,1 a2, 2 L a2,n M M an,1 L L an,n 0 L 0 u1,1 u1, 2 L u1,n 1 L L 0 0 L L a 2, n l = M2,1 · M M M l l L 1 n , 1 n , 2 0 0 L u n ,n Sedangkan, dalam notasi Metode Crout dapat dituliskan: a1,1 a1, 2 L a1,n a2,1 a2, 2 L a2,n M M an,1 L L an,n = l 1,1 0 l 2,1 O M l n,1 l n, 2 L 0 L 0 · O M L l n ,n 1 u1, 2 0 1 M 0 0 L u1,n L a 2 ,n O M 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 a1, n = u1, n u1, i = a1, i ; Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI i = 1, K , n 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 an,2 an,3 M an,n-1 an,n = ln,1·u1,1 = ln,1·u1,2 + ln,2·u2,2 = ln,1·u1,3 + ln,2·u2,3 + ln,3·u3,3 M = ln,1·u1,n-1 + ln,2·u2,n-1 + ln,3·u3,n-1 + … + ln,n-1·un-1,n-1 = 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 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 l 2,1 = 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 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 l 3,1 = M u3, n = a3, n − l 3,1 ⋅ u1, n − l 3, 2 ⋅ u 2, n Baris n: ð Pengisian matriks L: an ,1 u1,1 (a − l n,1 ⋅ u1,2 ) = n, 2 u 2, 2 (a − l n,1 ⋅ u1,3 − l n,2 ⋅ u2,3 ) = n ,3 u3,3 l n,1 = l n, 2 l n ,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 C Deklarasi Jenis dan Variabel: ----------------------------IMPLICIT NONE INTEGER iarg PARAMETER (iarg = 7) INTEGER i,j,neq REAL*8 A(iarg,iarg),LU(iarg,iarg) LU(iarg,iarg) C CALL system('clear') C C Proses Pemasukan Harga Variabel: -------------------------------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 C Proses Pemanggilan Subprogram Eliminasi Gauss: ---------------------------------------------CALL DECOLU(neq,A,LU) C C Pemaparan/penyajian Hasil Perhitungan: -------------------------------------WRITE(*,30) 'Matriks LU yang diperoleh:' DO i = 1,neq DO j = 1,neq WRITE(*,40) LU(i,j) ENDDO WRITE(*,*) ENDDO C 10 20 30 40 40 FORMAT FORMAT FORMAT FORMAT FORMAT (3X,A,$) (3X,A,I1,A1,I1,A,$) (/,1X,A) (3X,F10.4,$) (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 C Deklarasi Variabel: ------------------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 C C C C C Proses pengisian matriks L dan U (dalam matriks LU): ---------------------------------------------------DO j = 1,n Proses pengisian matriks U pada baris pertama: ---------------------------------------------LU(1,j) = A(1,j) ENDDO DO i = 2,n Proses pengisian matriks L: --------------------------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 C Proses pengisian matriks U: --------------------------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: b1,1 b2,1 L bn,1 x1,1 x2,1 L xn,1 b x L xn, 2 b bn,2 x = 1, 2 2,2 [A] · 1, 2 2,2 M M M M M M b1, n b2, n L bn, n x1, n x2, n L xn, 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 C Deklarasi Jenis dan Variabel: ----------------------------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 C Proses Pemasukan Harga Variabel dari FILE: -----------------------------------------READ(11,*) neq DO i = 1,neq READ(11,*) (LU(i,j), j=1,neq),b(i) ENDDO C C Proses Pemanggilan Subprogram Eliminasi Gauss: ---------------------------------------------CALL DECOLU(neq,LU) CALL SOLVLU(neq,LU,x,b) C C Pemaparan/penyajian Hasil Perhitungan: -------------------------------------- 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 20 30 40 50 FORMAT FORMAT FORMAT FORMAT FORMAT (3X,A,$) (3X,A,I1,A1,I1,A,$) (/,1X,A) (3X,F10.4,$) (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 C Deklarasi Variabel: ------------------INTEGER n REAL*8 LU(7,7),b(n),x(n) INTEGER i,j C C Proses solusi: (a) Substitusi dan Eliminasi ------------------------------------------DO i = 2,n DO j = 1,i-1 b(i) = b(i) - LU(i,j)*b(j) ENDDO ENDDO C C Proses solusi: (b) Substitusi Balik ----------------------------------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 a d c x 2 2 2 2 x3 a3 d3 c3 ⋅ O O O M an −1 d n −1 cn −1 xn −1 an d n xn b1 b 2 b3 = M b n −1 bn atau [A] Intellectual Property of DR. Ir. Setijo Bismo, DEA., TGP-FTUI [x] = [b] 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 duadiagonal: 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 a x d x c x 2 1 2 2 2 3 a3 x1 d3 x2 c3 x3 O O O an −1 x1 d n −1 x2 cn −1 x3 an x1 d n x2 b1 b 2 b3 = M b n −1 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: m1 = a2 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, m2 = a3 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, mi = ai +1 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: xn = bn' 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 xi = bn' − ci xi +1 di' Listing Program Matriks Tri-Diagonal: C C PROGRAM Solusi Sistem Persamaan Aljabar Linier (SPAL) atau atau Persamaan Aljabar Linier Simultan dengan TEKNIK TRIDIAGONAL C C Deklarasi Jenis dan Variabel: ----------------------------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 C Proses Pemasukan Harga Variabel: -------------------------------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 C Proses Pemanggilan Subprogram Eliminasi Gauss-Jordan: ----------------------------------------------------CALL S3DIAG(neq,a,d,c,x,b) C C Pemaparan/penyajian Hasil Perhitungan: -------------------------------------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 C Deklarasi Variabel: ------------------INTEGER n REAL*8 a(n),d(n),c(n),b(n),x(n) INTEGER i REAL*8 PIVOT,MULT C C Proses solusi: (a) Substitusi dan Eliminasi ------------------------------------------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 C Proses solusi: (b) Substitusi Balik ----------------------------------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)