METODE FINITE-DIFFERENCE UNTUK PROBLEM LINEAR Dr. Eng. Supriyanto, M.Sc Lab. Komputer, Departemen Fisika, Universitas Indonesia email: supri@fisika.ui.ac.id atau supri92@gmail.com November 12, 2006 Suatu persamaan diferensial dapat dinyatakan sebagai berikut: d 2 y (x) =p(x)dy (x)+q(x)y(x)+r(x), a x b, y(a) =α, y(b) =β (1) dx2 dx atau juga dapat dituliskan dalam bentuk lain y = p(x)y + q(x)y + r(x) (2) Persamaan tersebut dapat diselesaikan dengan melakukan pendekatan numerik terhadap y dan y. Caranya adalah pertama, kita memilih angka integer sembarang yaitu N dimana N > 0 dan membagi interval [a, b] dengan (N +1), hasilnya dinamakan h h = b a N +1 () Dengan demikian maka titik-titik x yang merupakan sub-interval antara a dan b dapat dinyatakan sebagai x i = a + ih, i =0, 1,..., N +1 (4) Pencarian solusi persamaan diferensial dengan pendekatan numerik memanfaatkan polinomial Taylor untuk mengevaluasi y dan y pada x i+1 dan x i 1 y(x i+1 )=y(x i + h) =y(x i )+hy (x i )+ h2 2 y (x i )+ h 6 y (x i )+ h4 24 y(4) (ξ + i ) (5) 1
dan y(x i 1 )=y(x i h) =y(x i ) hy (x i )+ h2 2 y (x i ) h 6 y (x i )+ h4 24 y(4) (ξ i ) Jika kedua persamaan ini dijumlahkan Untuk menghitung y y(x i+1 )+y(x i 1 )=2y(x i )+h 2 y (x i )+ h4 [ y (4) (ξ + i 24 )+y(4) (ξ i )] h 2 y (x i )=y(x i+1 ) 2y(x i )+y(x i 1 ) h4 [ y (4) (ξ + i 24 )+y(4) (ξ i )] y (x i )= 1 h [y(x i+1) 2y(x 2 i )+y(x i 1 )] h2 [ y (4) (ξ i + 24 )+y(4) (ξi )] lalu disederhanakan menjadi y (x i )= 1 h [y(x i+1) 2y(x 2 i )+y(x i 1 )] h2 12 y(4) (ξ i ) (6) Dengan cara yang sama, y (x i ) dapat dicari sebagai berikut y (x i )= 1 2h [y(x i+1) y(x i 1 )] h2 6 y (η i ) (7) Jika suku terakhir pada persamaan (6) dan (7) diabaikan, maka persamaan (2)dapat dinyatakan sebagai [ ] y(x i+1 ) 2y(x i )+y(x i 1 ) y(xi+1 ) y(x i 1 ) = p(x h 2 i ) + q(x i )y(x i )+r(x i ) 2h Metode Finite-Difference yang mengabaikan truncation error (persamaan (6) dan (7)) dapat digunakan untuk mensubstitusi persamaan diferensial yang dinyatakan oleh persamaan (2) ( ) ( ) wi+1 +2w i w i 1 wi+1 w i 1 + p(x h 2 i ) + q(x i )w i = r(x i ) (8) 2h dimana kita definisikan y(a) =w 0 = α, y(b) =w N+1 = β Selanjutnya persamaan (8) dinyatakan dalam formulasi berikut ( 1+ h ) 2 p(x i) w i 1 + ( 2+h 2 q(x i ) ) ( w i (1 h ) 2 p(x i) w i+1 = h 2 r(x i ) (9) sehingga sistem persamaan linear yang diperoleh dari persamaan (9) dapat dinyatakan sebagai bentuk operasi matrik Aw = b (10) 2
dimana A adalah matrik tridiagonal dengan orde N N 2+h 2 q(x 1 ) 1+ h p(x 2 1) 0......... 1 h p(x 2 2) 2+h 2 q(x 2 ) 1+ h p(x 2 2) 0...... 0 1 h p(x 2 ) 2+h 2 q(x ) 1+ hp(x 2 ) 0... A = 0 0 1 h p(x 2 4) 2+h 2 q(x 4 ) 1+ h p(x 2 4) 0.............................. 1 h p(x 2 N 1) 2+h 2 q(x N 1 ) 1 0............ 1 hp(x 2 N) 2 w = w 1 w 2. w N 1 b = w N h 2 r(x 1 )+ ( 1+ hp(x 2 1) ) w 0 h 2 r(x 2 ). h 2 r(x N 1 ) h 2 r(x N )+ ( 1 h 2 p(x N) ) w N+1 Contoh Diketahui persamaan diferensial seperti berikut ini y = 2 x y + 2 sin(ln x) y +, 1 x 2, y(1) = 1, y(2) = 2, x2 x 2 memiliki solusi exact y = c 1 x + c 2 x 2 10 sin(ln x) 1 cos(ln x), 10 dimana c 2 = 1 [8 12 sin(ln 2) 4 cos(ln 2)] 0, 092070120 70 dan c 1 = 11 10 c 2 1, 19207012. Dengan metode Finite-Difference, solusi pendekatan dapat diperoleh dengan membagi interval 1 x 2 menjadi sub-interval, misalnya kita gunakan N =9, sehingga spasi h diperoleh h = b a N +1 = 2 1 9+1 =0, 1
Dari persamaan diferensial tersebut juga didapat p(x i ) = 2 x i q(x i ) = 2 x 2 i r(x i ) = sin(ln x i) x 2 i Tabel berikut ini memperlihatkan hasil perhitungan dengan pendekatan metode Finite-Difference w i dan hasil perhitungan dari solusi exact y(x i ), dilengkapi dengan selisih antara keduanya w i y(x i ). Tabel ini memperlihatkan tingkat kesalahan (error) berada pada orde 10 5. Untuk memperkecil orde x i w i y(x i ) w i y(x i ) 1,0 1,00000000 1,00000000 1,1 1,09260052 1,0926290 2,88 10 5 1,2 1,187041 1,18708484 4,17 10 5 1, 1,28687 1,28826 4,55 10 5 1,4 1,8140205 1,8144595 4,9 10 5 1,5 1,48112026 1,48115942,92 10 5 1,6 1,5825990 1,5829246,26 10 5 1,7 1,68498902 1,6850196 2,49 10 5 1,8 1,78888175 1,7888985 1,68 10 5 1,9 1,8992110 1,8992951 8,41 10 6 2,0 2,00000000 2,00000000 kesalahan, kita bisa menggunakan polinomial Taylor berorde tinggi. Akan tetapi proses kalkulasi menjadi semakin banyak dan disisi lain penentuan syarat batas lebih kompleks dibandingkan dengan pemanfaatan polinomial Taylor yang sekarang. Untuk menghindari hal-hal yang rumit itu, salah satu jalan pintas yang cukup efektif adalah dengan menerapkan ekstrapolasi Richardson. Contoh Pemanfaatan ekstrapolasi Richardson pada metode Finite Difference untuk persamaan diferensial seperti berikut ini y = 2 x y + 2 sin(ln x) y +, 1 x 2, y(1) = 1, y(2) = 2, x2 x 2 dengan h = 0, 1, h = 0, 05, h = 0, 025. Ekstrapolasi Richardson terdiri atas tahapan, yaitu ekstrapolasi yang pertama Ext 1i = 4w i(h =0, 05) w i (h =0, 1) 4
kemudian ekstrapolasi yang kedua dan terakhir ekstrapolasi yang ketiga Ext 2i = 4w i(h =0, 025) w i (h =0, 05) Ext i = 16Ext 2i Ext 1i 15 Tabel berikut ini memperlihatkan hasil perhitungan tahapan-tahapan ekstrapolasi tersebut. Jika seluruh angka di belakang koma diikut-sertakan, maka akan terlihat selisih antara solusi exact dengan solusi pendekatan sebesar 6, 10 11. Ini benar-benar improvisasi yang luar biasa. x i w i (h =0, 1) w i (h =0, 05) w i (h =0, 025) Ext 1i Ext 2i Ext i 1,0 1,00000000 1,00000000 1,00000000 1,00000000 1,00000000 1,00000000 1,1 1,09260052 1,09262207 1,09262749 1,09262925 1,0926290 1,0926290 1,2 1,187041 1,1870746 1,18708222 1,18708477 1,18708484 1,18708484 1, 1,28687 1,287094 1,287950 1,28820 1,28826 1,28826 1,4 1,8140205 1,81449 1,814419 1,8144598 1,8144595 1,8144595 1,5 1,48112026 1,48114959 1,48115696 1,4811597 1,48115941 1,48115942 1,6 1,5825990 1,5828429 1,5829042 1,5829242 1,5829246 1,5829246 1,7 1,68498902 1,68500770 1,68501240 1,685019 1,6850196 1,6850196 1,8 1,78888175 1,7888942 1,78889748 1,78889852 1,7888985 1,7888985 1,9 1,8992110 1,8992740 1,8992898 1,8992950 1,8992951 1,8992951 2,0 2,00000000 2,00000000 2,00000000 2,00000000 2,00000000 2,00000000 Demikianlah catatan singkat dari saya tentang metode Finite-Difference dengan ekstrapolasi Richardson untuk problem linear. Saya cukupkan sementara sampai disini. Insya Allah akan saya sambung dengan problem non-linear dan konsep ekstrapolasi. Kalau ada yang mau didiskusikan, silakan hubungi saya melalui email: supri92@gmail.com. 5