Komputasi untuk Sains dan Teknik
|
|
|
- Yanti Kurnia
- 9 tahun lalu
- Tontonan:
Transkripsi
1 Komputasi untuk Sains dan Teknik Dr. Eng. Supriyanto, M.Sc Edisi I Laboratorium Jaringan Komputer Departemen Fisika-FMIPA Univeristas Indonesia 2006
2
3 Untuk Muflih Syamil dan Hasan Azmi...
4
5 Mottoku : Tenang, Kalem dan Percaya Diri
6
7 Kata Pengantar Sarjana geofisika harus mampu menunjukkan kemauan dan kemampuan untuk dapat memformulasikan masalah, menyusun hipotesis, metode dan solusi serta mampu menyelesaikan masalah-masalah tersebut secara mandiri. v
8
9 Daftar Isi Lembar Persembahan Kata Pengantar Daftar Isi Daftar Gambar Daftar Tabel i v vii xi xiii 1 Matrik dan Komputasi Pengenalan Matrik Inisialisasi matrik dalam memori komputer Macam-macam matrik Matrik transpose Matrik Bujursangkar Matrik Simetrik Matrik diagonal Matrik diagonal dominan Matrik identitas Matrik upper-triangular Matrik lower-triangular Matrik tridiagonal Vektor-baris dan Vektor-kolom Operasi matematika Penjumlahan matrik Komputasi penjumlahan matrik Perkalian matrik Komputasi perkalian matrik Perkalian matrik dan vektor-kolom Komputasi perkalian matrik dan vektor-kolom Matrik positif-definite Penutup Metode Eliminasi Gauss Penyederhanaan Matrik dan Eliminasi Gauss Algoritma eliminasi Gauss vii
10 viii Algoritma Penutup Metode LU Decomposition Penyederhanaan Invers Matrik dan Eliminasi Gauss Penyederhanaan Iterasi Jacobi Penyederhanaan Iterasi Gauss-Seidel Penyederhanaan Iterasi Succesive-Over-Relaxation Penyederhanaan Interpolasi Lagrange Penyederhanaan Interpolasi Cubic Spline Penyederhanaan Metode Euler Penyederhanaan Metode Runge Kutta Penyederhanaan Metode Finite Difference Penyederhanaan Integral Numerik Penyederhanaan Metode Newton Penyederhanaan Metode Monte Carlo Penyederhanaan Inversi Linear Penyederhanaan
11 ix 17 Inversi Non-Linear Penyederhanaan Daftar Acuan 115
12
13 Daftar Gambar 9.1 Fungsi f(x) dengan sejumlah titik data Pendekatan dengan polinomial cubic spline Profil suatu object Sampling titik data Hasil interpolasi cubic spline Hasil interpolasi lagrange Metode Euler Trend error metode euler Rangkaian RC Kurva muatan q terhadap waktu t Metode Trapezoida Metode Simpson Metode Composite Simpson Metode Newton Lingkaran dan bujursangkar Dart yang menancap pada bidang lingkaran dan bujursangkar Dart yang menancap pada bidang 1/4 lingkaran dan bujursangkar xi
14
15 Daftar Tabel 7.1 Gauss-Seidel Relaksasi dengan ω = 1, xiii
16
17 Bab 1 Matrik dan Komputasi Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik. 1.1 Pengenalan Matrik Notasi suatu matrik berukuran n x m ditulis dengan huruf besar dan dicetak tebal, misalnya A n m. Huruf n menyatakan jumlah baris, dan huruf m jumlah kolom. Matrik terdiri dari elemen-elemen matrik yang dinyatakan dengan huruf kecil diikuti angka-angka indeks, misalnya a ij, dimana i menunjukan posisi baris ke-i dan j menentukan posisi kolom ke-j. a 11 a a 1m a A = (a ij ) = 21 a a 2m (1.1)... a n1 a n2... a nm Contoh 1: Matrik A 2 3 [ ] A = dimana masing-masing elemennya adalah a 11 = 3, a 12 = 8, a 13 = 5, a 21 = 6, a 22 = 4, dan a 23 = 7. Contoh 2: Matrik B B =
18 2 BAB 1. MATRIK DAN KOMPUTASI dimana masing-masing elemennya adalah b 11 = 1, b 12 = 3, b 21 = 5, b 22 = 9, b 31 = 2, dan b 32 = Inisialisasi matrik dalam memori komputer Dalam bahasa pemrograman Fortran77, cara mengisi memori komputer dengan elemen-elemen matrik A 2 3, sesuai dengan Contoh 1 adalah A(1,1) = 3 A(1,2) = 8 A(1,3) = 5 A(2,1) = 6 A(2,2) = 4 A(2,3) = 7 Sedangkan untuk matrik B 3 2, sesuai Contoh 2 adalah B(1,1) = 1 B(1,2) = 3 B(2,1) = 5 B(2,2) = 9 B(3,1) = 2 B(3,2) = Macam-macam matrik Matrik transpose Operasi transpose terhadap suatu matrik akan menukar posisi kolom menjadi posisi baris demikian pula sebaliknya. Notasi matrik tranpose adalah A T atau A t. Contoh 3: Operasi transpose terhadap matrik A [ ] A = A t = Matrik Bujursangkar Matrik bujursangkar adalah matrik yang jumlah baris dan jumlah kolomnya sama. Contoh 4: Matrik bujursangkar berukuran 3x3 atau sering juga disebut matrik bujursangkar orde A =
19 1.3. MACAM-MACAM MATRIK Matrik Simetrik Matrik simetrik adalah matrik bujursangkar yang elemen-elemen matrik A bernilai sama dengan matrik transpose-nya (A t ). Contoh 5: Matrik simetrik A = A t = Matrik diagonal Matrik diagonal adalah matrik bujursangkar yang seluruh elemen-nya bernilai 0 (nol), kecuali elemen-elemen diagonalnya. Contoh 6: Matrik diagonal orde 3 A = Matrik diagonal dominan Matrik diagonal dominan adalah matrik bujursangkar yang memenuhi a ii > n j=1,j i dimana i=1,2,3,..n. Coba perhatikan matrik-matrik berikut ini A = B = a ij (1.2) Pada elemen diagonal a ii matrik A, 7 > 2 + 0, lalu 5 > 3 + 1, dan 6 > Maka matrik A disebut matrik diagonal dominan. Sekarang perhatikan elemen diagonal matrik B, 6 < 4 + 3, 2 < 4 + 0, dan 1 < Dengan demikian, matrik B bukan matrik diagonal dominan Matrik identitas Matrik identitas adalah matrik bujursangkar yang semua elemen-nya bernilai 0 (nol), kecuali elemen-elemen diagonal yang seluruhnya bernilai 1.
20 4 BAB 1. MATRIK DAN KOMPUTASI Contoh 7: Matrik identitas orde I = Matrik upper-triangular Matrik upper-tringular adalah matrik bujursangkar yang seluruh elemen dibawah elemen diagonal bernilai 0 (nol). Contoh 8: Matrik upper-triangular A = Matrik lower-triangular Matrik lower-tringular adalah matrik bujursangkar yang seluruh elemen diatas elemen diagonal bernilai 0 (nol). Contoh 9: Matrik lower-triangular A = Matrik tridiagonal Matrik tridiagonal adalah matrik bujursangkar yang seluruh elemen bukan 0 (nol) berada disekitar elemen diagonal, sementara elemen lainnya bernilai 0 (nol). Contoh 10: Matrik tridiagonal A = Vektor-baris dan Vektor-kolom Notasi vektor biasanya dinyatakan dengan huruf kecil dan dicetak tebal. Suatu matrik dinamakan vektor-baris berukuran m, bila hanya memiliki satu baris dan m kolom, yang dinyatakan sebagai berikut ] ] a = [a 11 a a 1m = [a 1 a 2... a m (1.3)
21 1.4. OPERASI MATEMATIKA 5 Sedangkan suatu matrik dinamakan vektor-kolom berukuran n, bila hanya memiliki satu kolom dan n baris, yang dinyatakan sebagai berikut a 11 a 1 a a = 12. = a 2. (1.4) a n1 a n 1.4 Operasi matematika Penjumlahan matrik Operasi penjumlahan pada dua buah matrik hanya bisa dilakukan bila kedua matrik tersebut berukuran sama. Misalnya matrik C 2 3 [ ] C = dijumlahkan dengan matrik A 2 3, lalu hasilnya (misalnya) dinamakan matrik D 2 3 D = A + C D = = = [ ] [ ] [ ] [ ] Tanpa mempedulikan nilai elemen-elemen masing-masing matrik, operasi penjumlahan antara matrik A 2 3 dan C 2 3, bisa juga dinyatakan dalam indeks masing-masing dari kedua matrik tersebut, yaitu [ ] [ ] d 11 d 12 d 13 a 11 + c 11 a 12 + c 12 a 13 + c 13 = d 21 d 22 d 23 a 21 + c 21 a 22 + c 22 a 23 + c 23 Dijabarkan satu persatu sebagai berikut d 11 = a 11 + c 11 d 12 = a 12 + c 12 d 13 = a 13 + c 13 d 21 = a 21 + c 21 d 22 = a 22 + c 22 d 23 = a 23 + c 23
22 6 BAB 1. MATRIK DAN KOMPUTASI Dari sini dapat diturunkan sebuah rumus umum penjumlahan dua buah matrik d ij = a ij + c ij (1.5) dimana i=1,2,..,n dan j=1,2,..,m. Sementara n adalah jumlah baris, dan m adalah jumlah kolom Komputasi penjumlahan matrik Berdasarkan contoh operasi penjumlahan di atas, maka secara komputasi dengan bahasa pemrograman Fortran77, operasi penjumlahan antara matrik A 2 3 dan C 2 3 adalah do i=1,2 do j=1,3 D(i,j)=A(i,j)+C(i,j) end do end do Perlu dicatat bahwa ukuran matrik tidak terbatas hanya 2x3. Tentu saja anda bisa mengubah ukurannya sesuai dengan keperluan atau kebutuhan anda. Jika ukuran matrik dinyatakan secara umum sebagai n x m, maka bentuk pernyataan komputasinya menjadi do i=1,n do j=1,m D(i,j)=A(i,j)+C(i,j) end do end do Sekarang, mari kita lengkapi dengan contoh sebagai berikut: diketahui matrik A 2 3 [ ] A = dan matrik C 2 3 [ ] C = Program untuk menjumlahkan kedua matrik tersebut adalah: 1 A(1,1) = 3 2 A(1,2) = 8 3 A(1,3) = 5 4 A(2,1) = 6 5 A(2,2) = 4 6 A(2,3) = 7 7 C(1,1) = 9 8 C(1,2) = 5 9 C(1,3) = 3
23 1.4. OPERASI MATEMATIKA 7 10 C(2,1) = 7 11 C(2,2) = 2 12 C(2,3) = 1 13 n=2 14 m=3 15 do i=1,n 16 do j=1,m 17 D(i,j)=A(i,j)+C(i,j) 18 end do 19 end do Perkalian matrik Operasi perkalian dua buah matrik hanya bisa dilakukan bila jumlah kolom matrik pertama sama dengan jumlah baris matrik kedua. Jadi kedua matrik tersebut tidak harus berukuran sama seperti pada penjumlahan dua matrik. Misalnya matrik A 2 3 dikalikan dengan matrik B 3 2, lalu hasilnya (misalnya) dinamakan matrik E 2 2 E 2 2 = A 2 3.B 3 2 E = = = [ ] [ ] [ ] Tanpa mempedulikan nilai elemen-elemen masing-masing matrik, operasi perkalian antara matrik A 2 3 dan B 3 2, bisa juga dinyatakan dalam indeks masing-masing dari kedua matrik tersebut, yaitu [ ] [ ] e 11 e 12 a 11.b 11 + a 12.b 21 + a 13.b 31 a 11.b 12 + a 12.b 22 + a 13.b 32 = e 21 e 22 a 21.b 11 + a 22.b 21 + a 23.b 31 a 21.b 12 + a 22.b 22 + a 23.b 32 Bila dijabarkan, maka elemen-elemen matrik E 2 2 adalah e 11 = a 11.b 11 + a 12.b 21 + a 13.b 31 e 12 = a 11.b 12 + a 12.b 22 + a 13.b 32 e 21 = a 21.b 11 + a 22.b 21 + a 23.b 31 e 22 = a 21.b 12 + a 22.b 22 + a 23.b 32
24 8 BAB 1. MATRIK DAN KOMPUTASI kemudian secara sederhana dapat diwakili oleh rumus berikut e ij = dimana i=1,2, dan j=1,2. 3 a ik b kj k=1 Berdasarkan contoh ini, maka secara umum bila ada matrik A n m yang dikalikan dengan matrik B m p, akan didapatkan matrik E n p dimana elemen-elemen matrik E memenuhi e ij = dengan i=1,2,...,n dan j=1,2...,p m a ik b kj (1.6) k= Komputasi perkalian matrik Komputasi operasi perkalian antara matrik A 2 3 dan B 3 2 dilakukan melalui 2 tahap; pertama adalah memberikan nilai 0 (nol) pada elemen-elemen matrik E 2 2 dengan cara do i=1,2 do j=1,2 E(i,j)=0.0 end do end do kedua adalah menghitung perkalian matrik dengan cara do i=1,2 do j=1,2 do k=1,3 E(i,j)=E(i,j)+A(i,k)*B(k,j) end do end do end do Tentu saja anda bisa mengubah ukurannya sesuai dengan keperluan atau kebutuhan anda. Jika ukuran matrik A dinyatakan secara umum sebagai n x m dan matrik B berukuran m x p, maka bentuk pernyataan komputasinya menjadi do i=1,n do j=1,p E(i,j)=0.0 end do end do do i=1,n do j=1,p
25 1.4. OPERASI MATEMATIKA 9 do k=1,m E(i,j)=E(i,j)+A(i,k)*B(k,j) end do end do end do dimana akan diperoleh hasil berupa matrik E yang berukuran n x p Perkalian matrik dan vektor-kolom Operasi perkalian antara matrik dan vektor-kolom sebenarnya sama saja dengan perkalian antara dua matrik. Hanya saja ukuran vektor-kolom boleh dibilang spesial yaitu m x 1, dimana m merupakan jumlah baris sementara jumlah kolomnya hanya satu. Misalnya matrik A, pada contoh 1, dikalikan dengan vektor-kolom x yang berukuran 3 x 1 atau disingkat dengan mengatakan vektor-kolom x berukuran 3, lalu hasilnya (misalnya) dinamakan vektor-kolom y y = Ax y = = = [ ] [ ] [ ] Sekali lagi, tanpa mempedulikan nilai elemen-elemen masing-masing, operasi perkalian antara matrik A dan vektor-kolom x, bisa juga dinyatakan dalam indeksnya masing-masing, yaitu [ y 1 y 2 ] [ ] a 11.x 1 + a 12.x 2 + a 13.x 3 = a 21.x 1 + a 22.x 2 + a 23.x 3 Bila dijabarkan, maka elemen-elemen vektor-kolom y adalah y 1 = a 11.x 1 + a 12.x 2 + a 13.x 3 y 2 = a 21.x 1 + a 22.x 2 + a 23.x 3 kemudian secara sederhana dapat diwakili oleh rumus berikut 3 y i = a ij x j j=1
26 10 BAB 1. MATRIK DAN KOMPUTASI dimana i=1,2. Berdasarkan contoh tersebut, secara umum bila ada matrik A berukuran n x m yang dikalikan dengan vektor-kolom x berukuran m, maka akan didapatkan vektor-kolom y berukuran n x 1 dimana elemen-elemen vektor-kolom y memenuhi y i = dengan i=1,2,...,n. m a ij x j (1.7) j= Komputasi perkalian matrik dan vektor-kolom Sama seperti perkalian dua matrik, komputasi untuk operasi perkalian antara matrik A berukuran n x m dan vektor-kolom x berukuran m dilakukan melalui 2 tahap; pertama adalah memberikan nilai 0 (nol) pada elemen-elemen vektor-kolom y yang berukuran n. Lalu tahap kedua adalah melakukan proses perkalian. Kedua tahapan ini digabung jadi satu dalam program berikut ini do i=1,n Y(i)=0.0 end do do i=1,n do j=1,m Y(i)=Y(i)+A(i,j)*X(j) end do end do Matrik positif-definite Suatu matrik dikatakan positif-definite bila matrik tersebut simetrik dan memenuhi x t Ax > 0 (1.8) Contoh 11: Diketahui matrik simetrik berikut A =
27 1.5. PENUTUP 11 untuk menguji apakah matrik A bersifat positif-definit, maka x t Ax = = ] [x 1 x 2 x ] 2x 1 x 2 [x 1 x 2 x 3 x 1 + 2x 2 x 3 x 2 + 2x 3 = 2x 2 1 2x 1 x 2 + 2x 2 2 2x 2 x 3 + 2x 2 3 = x (x 2 1 2x 1 x 2 + x 2 2) + (x 2 2 2x 2 x 3 + x 2 3) + x 2 3 = x (x 1 x 2 ) 2 + (x 2 x 3 ) 2 + x 2 3 Dari sini dapat disimpulkan bahwa matrik A bersifat positif-definite, karena memenuhi kecuali jika x 1 =x 2 =x 3 =0. x 1 x 2 x 3 x (x 1 x 2 ) 2 + (x 2 x 3 ) 2 + x 2 3 > Penutup Demikianlah catatan singkat dan sederhana mengenai jenis-jenis matrik dasar yang seringkali dijumpai dalam pengolahan data fisika secara numerik. Semuanya akan dijadikan acuan atau referensi pada pembahasan topik-topik numerik yang akan datang.
28
29 Bab 2 Metode Eliminasi Gauss Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik. 2.1 Penyederhanaan Secara umum, sistem persamaan linear dinyatakan sebagai berikut P n : a n1 x 1 + a n2 x a nn x n = b n (2.1) dimana a dan b merupakan konstanta, x adalah variable, n = 1, 2, 3,... Contoh pertama Misalnya ada sistem persamaan linear yang terdiri dari empat buah persamaan yaitu P 1, P 2, P 3, dan P 4 seperti berikut ini: P 1 : x 1 + x 2 + 3x 4 = 4 P 2 : 2x 1 + x 2 x 3 + x 4 = 1 P 3 : 3x 1 x 2 x 3 + 2x 4 = -3 P 4 : x 1 + 2x 2 + 3x 3 x 4 = 4 Problem dari sistem persamaan linear adalah bagaimana mencari nilai pengganti bagi variabel x 1, x 2, x 3, dan x 4 sehingga semua persamaan diatas menjadi benar. Langkah awal penyelesaian problem tersebut adalah dengan melakukan penyederhanaan sistem persamaan linear. Ada banyak jalan untuk mendapatkan bentuk yang lebih sederhana, namun masalahnya, kita ingin mendapatkan sebuah algoritma program yang nantinya bisa berjalan di komputer, sedemikian rupa sehingga apapun persamaannya, bisa disederhanakan oleh komputer. Kita akan berpatokan pada tiga buah aturan operasi untuk menyederhanakan sistem persamaan 13
30 14 BAB 2. METODE ELIMINASI GAUSS linear di atas, yaitu Persamaan P i dapat dikalikan dengan sembarang konstanta λ, lalu hasilnya ditempatkan di posisi persamaan P i. Simbol operasi ini adalah (λp i ) (P i ). Persamaan P j dapat dikalikan dengan sembarang konstanta λ kemudian dijumlahkan dengan persamaan P i, lalu hasilnya ditempatkan di posisi persamaan P i. Simbol operasi ini adalah (P i + λp j ) (P i ). Persamaan P i dan P j dapat bertukar posisi. Simbol operasi ini adalah (P i ) (P j ). Maka dengan berpegang pada aturan-aturan tersebut, problem sistem persamaan linear di atas akan diselesaikan dengan langkah-langkah berikut ini: 1. Gunakan persamaan P 1 untuk menghilangkan variabel x 1 dari persamaan P 2, P 3 dan P 4 dengan cara (P 2 2P 1 ) (P 2 ), (P 3 3P 1 ) (P 3 ) dan (P 4 + P 1 ) (P 4 ). Hasilnya akan seperti ini P 1 : x 1 + x 2 + 3x 4 = 4, P 2 : x 2 x 3 5x 4 = 7, P 3 : 4x 2 x 3 7x 4 = 15, P 4 : 3x 2 + 3x 3 + 2x 4 = 8 2. Gunakan persamaan P 2 untuk menghilangkan variabel x 2 dari persamaan P 3 dan P 4 dengan cara (P 3 4P 2 ) (P 3 ) dan (P 4 + 3P 2 ) (P 4 ). Hasilnya akan seperti ini P 1 : x 1 + x 2 + 3x 4 = 4, P 2 : x 2 x 3 5x 4 = 7, P 3 : 3x x 4 = 13, P 4 : 13x 4 = 13 Kalau x 3 masih ada di persamaan P 4, dibutuhkan satu operasi lagi untuk menghilangkannya. Namun hasil operasi pada langkah ke-2 ternyata sudah otomatis menghilangkan x 3. Bentuk akhir dari keempat persamaan di atas, dikenal sebagai bentuk triangular. Sampai dengan langkah ke-2 ini, kita berhasil mendapatkan sistem persamaan linear yang lebih sederhana. Apa yang dimaksud dengan sederhana dalam konteks ini? Suatu sistem persamaan linear dikatakan sederhana bila kita bisa mendapatkan seluruh nilai pengganti variabelnya dengan cara yang lebih mudah atau dengan usaha yang tidak memakan waktu lama dibandingkan sebelum disederhanakan. Sekali kita mendapatkan nilai pengganti bagi variabel x 4, maka x 3, x 2 dan x 1 akan diperoleh dengan mudah dan cepat, sebagaimana yang dijelaskan pada langkah berikutnya. 3. Selanjutnya kita jalankan proses backward-substitution. Melalui proses ini, yang pertama kali didapat adalah nilai pengganti bagi variabel x 4, kemudian x 3, lalu diikuti x 2, dan
31 2.1. PENYEDERHANAAN 15 akhirnya x 1. P 4 : x 4 = = 1, P 3 : x 3 = 1 3 (13 13x 4) = 1 (13 13) = 0, 3 P 2 : x 2 = ( 7 + 5x 4 + x 3 ) = ( ) = 2, P 1 : x 1 = 4 3x 4 x 2 = = 1 Jadi solusinya adalah x 1 = 1, x 2 = 2, x 3 = 0 dan x 4 = 1. Coba sekarang anda cek, apakah semua solusi ini cocok dan tepat bila dimasukan ke sistem persamaan linear yang pertama, yaitu yang belum disederhanakan? OK, mudah-mudahan ngerti ya... Kalau belum paham, coba diulangi bacanya sekali lagi. Atau, sekarang kita beralih kecontoh yang lain.
32 16 BAB 2. METODE ELIMINASI GAUSS Contoh kedua Misalnya ada sistem persamaan linear, terdiri dari empat buah persamaan yaitu P 1, P 2, P 3, dan P 4 seperti berikut ini: P 1 : x 1 x 2 + 2x 3 x 4 = -8 P 2 : 2x 1 2x 2 + 3x 3 3x 4 = -20 P 3 : x 1 + x 2 + x 3 = -2 P 4 : x 1 x 2 + 4x 3 + 3x 4 = 4 Seperti contoh pertama, solusi sistem persamaan linear di atas akan dicari dengan langkahlangkah berikut ini: 1. Gunakan persamaan P 1 untuk menghilangkan x 1 dari persamaan P 2, P 3 dan P 4 dengan cara (P 2 2P 1 ) (P 2 ), (P 3 P 1 ) (P 3 ) dan (P 4 P 1 ) (P 4 ). Hasilnya akan seperti ini P 1 : x 1 x 2 + 2x 3 x 4 = 8, P 2 : x 3 x 4 = 4, P 3 : 2x 2 x 3 + x 4 = 6, P 4 : 2x 3 + 4x 4 = 12 Perhatikan persamaan P 2! Akibat dari langkah yang pertama tadi, x 2 hilang dari persamaan P 2. Kondisi ini bisa menggagalkan proses triangularisasi. Untuk itu, posisi P 2 mesti ditukar dengan persamaan yang berada dibawahnya, yaitu P 3 atau P 4. Supaya proses triangularisasi dilanjutkan kembali, maka yang paling cocok adalah ditukar dengan P Tukar posisi persamaan P 2 dengan persamaan P 3, (P 2 P 3 ). Hasilnya akan seperti ini P 1 : x 1 x 2 + 2x 3 x 4 = 8, P 2 : 2x 2 x 3 + x 4 = 6, P 3 : x 3 x 4 = 4, P 4 : 2x 3 + 4x 4 = Gunakan persamaan P 3 untuk menghilangkan x 3 dari persamaan P 4 dengan cara (P 4 2P 3 ) (P 4 ). Hasilnya akan seperti ini P 1 : x 1 x 2 + 2x 3 x 4 = 8, P 2 : 2x 2 x 3 + x 4 = 6, P 3 : x 3 x 4 = 4, P 4 : 2x 4 = 4 Sampai disini proses triangularisasi telah selesai.
33 2.2. MATRIK DAN ELIMINASI GAUSS Selanjutnya adalah proses backward-substitution. Melalui proses ini, yang pertama kali didapat solusinya adalah x 4, kemudian x 3, lalu diikuti x 2, dan akhirnya x 1. P 4 : x 4 = 4 2 = 2, P 3 : x 3 = 4 + x 4 1 = 2, P 2 : x 2 = 6 + x 3 x 4 = 3, 2 P 1 : x 1 = 8 + x 2 2x 3 + x 4 = 7 Jadi solusinya adalah x 1 = 7, x 2 = 3, x 3 = 2 dan x 4 = 2. Berdasarkan kedua contoh di atas, untuk mendapatkan solusi sistem persamaan linear, diperlukan operasi triangularisasi dan proses backward-substitution. Kata backward-substitution kalau diterjemahkan kedalam bahasa indonesia, menjadi substitusi-mundur. Gabungan proses triangularisasi dan substitusi-mundur untuk menyelesaikan sistem persamaan linear dikenal sebagai metode eliminasi gauss. 2.2 Matrik dan Eliminasi Gauss Sejumlah matrik bisa digunakan untuk menyatakan suatu sistem persamaan linear. Sejenak, mari kita kembali lagi melihat sistem persamaan linear secara umum seperti berikut ini: a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b = =... a n1 x 1 + a n2 x a nn x n = b n Sementara, kalau dinyatakan dalam bentuk operasi matrik, maka akan seperti ini: a 11 a a 1n a 21 a a 2n... x 1 x 2. b 1 = b 2. (2.2) a n1 a n2... a nn x n b n Dalam mencari solusi suatu sistem persamaan linear dengan metode eliminasi gauss, bentuk operasi matrik di atas dimanipulasi menjadi matrik augment, yaitu suatu matrik yang
34 18 BAB 2. METODE ELIMINASI GAUSS berukuran n x (n + 1) seperti berikut ini: a 11 a a 1n b 1 a 21 a a 2n b = a 11 a a 1n a 1,n+1 a 21 a a 2n a 2,n (2.3) a n1 a n2... a nn b n a n1 a n2... a nn a n,n+1 Berdasarkan contoh pertama yang ada dihalaman depan catatan ini, saya akan tunjukkan proses triangularisasi dan substitusi-mundur dalam operasi matrik terhadap sistem persamaan linear yang terdiri dari empat persamaan matematika, yaitu (silakan lihat kembali contoh pertama): x 1 x 2 x 3 x 4 = Lalu kita dapat membuat matrik augment sebagai berikut: Kemudian kita lakukan operasi triangularisai terhadap matrik augment, dimulai dari kolom pertama, yaitu lalu dilanjutkan ke kolom berikutnya Sebelum dilanjutkan ke substitusi-mundur, saya ingin menegaskan peranan angka-angka indeks dari masing-masing elemen matrik augment tersebut. Silakan perhatikan posisi masing-
35 2.3. ALGORITMA ELIMINASI GAUSS 19 masing elemen berikut ini: a 11 a 12 a 13 a 14 a 15 a 21 a 22 a 23 a 24 a 25 a 31 a 32 a 33 a 34 a 35 a 41 a 42 a 43 a 44 a 45 Dengan memperhatikan angka-angka indeks pada matrik augment di atas, kita akan mencoba membuat rumusan proses substitusi-mundur untuk mendapatkan seluruh nilai pengganti variabel x. Dimulai dari x 4, x 4 = a 45 a 44 = = 1 ini dapat dinyatakan dalam rumus umum, yaitu lalu dilanjutkan dengan x 3, x 2, dan x 1. x n = a n,n+1 a nn x 3 = a 35 a 34 x 4 a 33 = x 2 = a 25 (a 23 x 3 + a 24 x 4 ) a 22 = x 1 = a 15 (a 12 x 2 + a 13 x 3 + a 14 x 4 ) a 11 = 13 [(13)(1)] = 0 3 ( 7) [( 1)(0) + ( 5)(1)] = 2 ( 1) 4 [(1)(2) + (0)(0) + (3)(1)] = 1 1 ini juga dapat dinyatakan dalam rumus umum yaitu: x i = a i,n+1 n j=i+1 a ijx j a ii Proses triangularisasi dan substitusi-mundur dibakukan menjadi algoritma metode eliminasi gauss yang dapat diterapkan dalam berbagai bahasa pemrograman komputer, misalnya fortran, C, java, pascal, matlab, dan lain-lain. 2.3 Algoritma eliminasi Gauss Secara umum, sistem persamaan linear adalah sebagai berikut: a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2.. =. a n1 x 1 + a n2 x a nn x n = b n Algoritma dasar metode eliminasi gauss, adalah sebagai berikut: 1. Ubahlah sistem persamaan linear tersebut menjadi matrik augment, yaitu suatu matrik
36 20 BAB 2. METODE ELIMINASI GAUSS yang berukuran n x (n + 1) seperti berikut ini: a 11 a a 1n b 1 a 11 a a 1n a 1,n+1 a 21 a a 2n b = a 21 a a 2n a 2,n (2.4) a n1 a n2... a nn b n a n1 a n2... a nn a n,n+1 Jelas terlihat bahwa elemen-elemen yang menempati kolom terakhir matrik augment adalah nilai dari b i ; yaitu a i,n+1 = b i dimana i = 1, 2,..., n. 2. Periksalah elemen-elemen pivot. Apakah ada yang bernilai nol? Elemen-elemen pivot adalah elemen-elemen yang menempati diagonal suatu matrik, yaitu a 11, a 22,..., a nn atau disingkat a ii. Jika a ii 0, bisa dilanjutkan ke langkah no.3. Namun, jika ada elemen diagonal yang bernilai nol, a ii = 0, maka baris dimana elemen itu berada harus ditukar posisinya dengan baris yang ada dibawahnya, (P i ) (P j ) dimana j = i + 1, i + 2,..., n, sampai elemen diagonal matrik menjadi tidak nol, a ii 0. (Kalau kurang jelas, silakan lihat lagi contoh kedua yang ada dihalaman 3. Sebaiknya, walaupun elemen diagonalnya tidak nol, namun mendekati nol (misalnya 0,03), maka proses pertukaran ini dilakukan juga). 3. Proses triangularisasi. Lakukanlah operasi berikut: P j a ji a ii P i P j (2.5) dimana j = i + 1, i + 2,..., n. Maka matrik augment akan menjadi: a 11 a 12 a a 1n a 1,n+1 0 a 22 a a 2n a 2,n a a 3n a 3,n a nn a n,n+1 (2.6) 4. Hitunglah nilai x n dengan cara: x n = a n,n+1 a nn (2.7) 5. Lakukanlah proses substitusi-mundur untuk memperoleh x n 1, x n 2,..., x 2, x 1 dengan cara: dimana i = n 1, n 2,...,2, 1. x i = a i,n+1 n j=i+1 a ijx j a ii (2.8) Demikianlan algoritma dasar metode eliminasi gauss. Selanjutnya algoritma dasar tersebut perlu dirinci lagi sebelum dapat diterjemahkan kedalam bahasa pemrograman komputer.
37 2.3. ALGORITMA ELIMINASI GAUSS Algoritma Algoritma metode eliminasi gauss untuk menyelesaikan n x n sistem persamaan linear. P 1 : a 11 x 1 + a 12 x a 1n x n = b 1 P 2 : a 21 x 1 + a 22 x a 2n x n = b 2... =. P n : a n1 x 1 + a n2 x a nn x n = b n INPUT: sejumlah persamaan linear dimana konstanta-konstanta-nya menjadi elemen-elemen matrik augment A = (a ij ), dengan 1 i n dan 1 j n + 1. OUTPUT: solusi x 1, x 2, x 3,..., x n atau pesan kesalahan yang mengatakan bahwa sistem persamaan linear tidak memiliki solusi yang unik. Langkah 1: Inputkan konstanta-konstanta dari sistem persamaan linear kedalam elemenelemen matrik augment, yaitu suatu matrik yang berukuran n x (n + 1) seperti berikut ini: a 11 a a 1n b 1 a 11 a a 1n a 1,n+1 a 21 a a 2n b = a 21 a a 2n a 2,n+1 (2.9).... a n1 a n2... a nn b n a n1 a n2... a nn a n,n+1 Langkah 2: Untuk i = 1,..., n 1, lakukan Langkah 3 sampai Langkah 5. Langkah 3: Definisikan p sebagai integer dimana i p n. Lalu pastikan bahwa a pi 0. Jika ada elemen diagonal yang bernilai nol (a ii = 0), maka program harus mencari dan memeriksa elemen-elemen yang tidak bernilai nol dalam kolom yang sama dengan kolom tempat elemen diagonal tersebut berada. Jadi saat proses ini berlangsung, integer i (indeks dari kolom) dibuat konstan, sementara integer p (indeks dari baris) bergerak dari p = i sampai p = n. Bila ternyata setelah mencapai elemen paling bawah dalam kolom tersebut, yaitu saat p = n tetap didapat nilai a pi = 0, maka sebuah pesan dimunculkan: sistem persamaan linear tidak memiliki solusi yang unik. Lalu program berakhir: STOP. Langkah 4: Namun jika sebelum integer p mencapai nilai p = n sudah diperoleh elemen yang tidak nol (a pi 0), maka bisa dipastikan p i. Jika p i maka lakukan proses pertukaran (P p ) (P i ). Langkah 5: Untuk j = i + 1,.., n, lakukan Langkah 6 dan Langkah 7. Langkah 6: Tentukan m ji, m ji = a ji a ii
38 22 BAB 2. METODE ELIMINASI GAUSS Langkah 7: Lakukan proses triangularisasi, (P j m ji P i ) (P j ) Langkah 8: Setelah proses triangularisasi dilalui, periksalah a nn. Jika a nn = 0, kirimkan pesan: sistem persamaan linear tidak memiliki solusi yang unik. Lalu program berakhir: STOP. Langkah 9: Jika a nn 0, lakukan proses substitusi mundur, dimulai dengan menentukan x n, x n = a n,n+1 a nn Langkah 10: Untuk i = n 1,...,1 tentukan x i, x i = a i,n+1 n j=i+1 a ijx j a ii Langkah 11: Diperoleh solusi yaitu x 1, x 2,..., x n. Algoritma telah dijalankan dengan sukses. STOP. Saya telah membuat program sederhana dalam fortran untuk mewujudkan algoritma eliminasi gauss. Saya berasumsi bahwa anda sudah menguasai dasar-dasar pemrograman dalam fortran. Program ini sudah dicoba di-compile dengan fortran77 under Linux Debian dan visual-fortran under windows-xp. Langkah-langkah yang tercantum pada program ini disesuaikan dengan langkah-langkah yang tertulis di atas. Dalam program ini, ukuran maksimum matrik augment adalah 10 x 11, untuk mencari 10 variabel yang tidak diketahui. Jika anda bermaksud memperbesar atau memperkecil ukuran matrik augment, silakan sesuaikan angka ukuran matrik yang anda inginkan pada statemen pertama dari program ini, yaitu statemen DIMENSION. Inilah programnya, C DIMENSION A(10,11), X(10) REAL MJI WRITE (*,*) =PROGRAM ELIMINASI GAUSS= WRITE (*,*) LANGKAH 1: MEMASUKAN NILAI ELEMEN-ELEMEN MATRIK AUGMENT WRITE (*, (1X,A) ) JUMLAH PERSAMAAN? READ (*,*) N WRITE (*,*) WRITE (*,*) MASUKAN ELEMEN-ELEMEN MATRIK AUGMENT M = N + 1 DO 50 I = 1,N DO 60 J = 1,M WRITE (*, (1X,A,I2,A,I2,A) ) A(,I,,,J, ) = READ (*,*) A(I,J)
39 2.3. ALGORITMA ELIMINASI GAUSS CONTINUE 50 CONTINUE WRITE (*,*) C MENAMPILKAN MATRIK AUGMENT WRITE (*, (1X,A) ) MATRIK AUGMENT: DO 110 I = 1,N WRITE (*, (1X,5(F14.8)) ) (A(I,J),J=1,M) 110 CONTINUE WRITE (*,*) C LANGKAH 2: MEMERIKSA ELEMEN-ELEMEN PIVOT DAN PROSES TUKAR POSISI NN = N-1 DO 10 I=1,NN C LANGKAH 3: MENDEFINISIKAN P P = I 100 IF (ABS(A(P,I)).GE.1.0E-20.OR. P.GT.N) GOTO 200 P = P+1 GOTO IF(P.EQ.N+1)THEN C MENAMPILKAN PESAN TIDAK UNIK WRITE(*,5) GOTO 400 END IF C LANGKAH 4: PROSES TUKAR POSISI IF(P.NE.I) THEN DO 20 JJ=1,M C = A(I,JJ) A(I,JJ) = A(P,JJ) A(P,JJ) = C 20 CONTINUE END IF C LANGKAH 5: PERSIAPAN PROSES TRIANGULARISASI JJ = I+1 DO 30 J=JJ,N C LANGKAH 6: TENTUKAN MJI MJI = A(J,I)/A(I,I) C LANGKAH 7: MELAKUKAN PROSES TRIANGULARISASI DO 40 K=JJ,M A(J,K) = A(J,K)-MJI*A(I,K) 40 CONTINUE A(J,I) = 0 30 CONTINUE
40 24 BAB 2. METODE ELIMINASI GAUSS 10 CONTINUE C MENAMPILKAN HASIL TRIANGULARISASI WRITE (*, (1X,A) ) HASIL TRIANGULARISASI: DO 120 I = 1,N WRITE (*, (1X,5(F14.8)) ) (A(I,J),J=1,M) 120 CONTINUE C LANGKAH 8: MEMERIKSA ELEMEN A(N,N) IF(ABS(A(N,N)).LT.1.0E-20) THEN C MENAMPILKAN PESAN TIDAK UNIK WRITE(*,5) GOTO 400 END IF C LANGKAH 9: MENGHITUNG X(N) X(N) = A(N,N+1)/A(N,N) C LANGKAH 10: PROSES SUBSTITUSI MUNDUR L = N-1 DO 15 K=1,L I = L-K+1 JJ = I+1 SUM = 0.0 DO 16 KK=JJ,N SUM = SUM+A(I,KK)*X(KK) 16 CONTINUE X(I) = (A(I,N+1)-SUM)/A(I,I) 15 CONTINUE C LANGKAH 11: MENAMPILKAN HASIL PERHITUNGAN WRITE (*,*) WRITE (*,7) DO 18 I = 1,N WRITE (*, (1X,A,I2,A,F14.8) ) X(,I, ) =,X(I) 18 CONTINUE 400 STOP 5 FORMAT(1X, SISTEM LINEAR TIDAK MEMILIKI SOLUSI YANG UNIK ) 7 FORMAT(1X, SOLUSI UNIK ) END 2.4 Penutup Silakan anda coba aplikasikan program di atas dengan berbagai sistem persamaan linear yang pernah dijadikan contoh pada catatan terdahulu. Saya cukupkan sementara sampai disini. Insya Allah akan saya sambung lagi dilain waktu. Kalau ada yang mau didiskusikan, silakan
41 2.4. PENUTUP 25 hubungi saya melalui yang tercantum di halaman paling depan.
42
43 Bab 3 Metode LU Decomposition Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik. 3.1 Penyederhanaan Pada semua catatan yang terdahulu, telah diulas secara panjang lebar bahwa sistem persamaan linear dapat dicari solusinya secara langsung dengan metode eliminasi gauss. Namun perlu juga diketahui bahwa eliminasi gauss bukan satu-satunya metode dalam mencari solusi sistem persamaan linear, misalnya ada metode matrik inversi seperti yang dijelaskan pada catatan yang paling terakhir. Terlepas dari masalah in-efisiensi penyelesaiannya, yang jelas metode invers matrik bisa digunakan untuk menyelesaikan sistem persamaan linear. Nah, pada catatan kali ini, saya ingin mengetengahkan sebuah metode yang lain untuk menyelesaikan sistem persamaan linear, yaitu metode faktorisasi matrik yang umum dikenal sebagai LU-decomposition. Metode ini sekaligus menjadi pengantar menuju metode Singular Value Decomposition, (SVD), suatu metode yang saat ini paling handal dalam menyelesaikan sistem persamaan linear dan merupakan bagian dari metode least square. Seperti biasa, kita berasumsi bahwa sistem persamaan linear dapat dinyatakan dalam operasi matrik Ax = b (3.1) Pada metode LU-decomposition, matrik A difaktorkan menjadi matrik L dan matrik U, dimana dimensi atau ukuran matrik L dan U harus sama dengan dimensi matrik A. Atau dengan kata lain, hasil perkalian matrik L dan matrik U adalah matrik A, A = LU (3.2) 27
44 28 BAB 3. METODE LU DECOMPOSITION sehingga persamaan (9.2) menjadi LUx = b Langkah penyelesaian sistem persamaan linear dengan metode LU-decomposition, diawali dengan menghadirkan vektor y dimana, Ux = y (3.3) Langkah tersebut tidak bermaksud untuk menghitung vektor y, melainkan untuk menghitung vektor x. Artinya, sebelum persamaan (3.3) dieksekusi, nilai-nilai yang menempati elemenelemen vektor y harus sudah diketahui. Lalu bagaimana cara memperoleh vektor y? Begini caranya, Ly = b (3.4) Kesimpulannya, metode LU-decomposition dilakukan dengan tiga langkah sebagai berikut: Melakukan faktorisasi matrik A menjadi matrik L dan matrik U A = LU. Menghitung vektor y dengan operasi matrik Ly = b. Ini adalah proses forward-substitution atau substitusi-maju. Menghitung vektor x dengan operasi matrik U x = y. Ini adalah proses backward-substitution atau substitusi-mundur. Metode LU-decomposition bisa dibilang merupakan modifikasi dari eliminasi gauss, karena beberapa langkah yang mesti dibuang pada eliminasi gauss, justru harus dipakai oleh LUdecomposition. Untuk lebih jelasnya, perhatikan contoh berikut ini. Diketahui sistem persamaan linear sebagai berikut P 1 : x 1 + x 2 + 3x 4 = 4 P 2 : 2x 1 + x 2 x 3 + x 4 = 1 P 3 : 3x 1 x 2 x 3 + 2x 4 = -3 P 4 : x 1 + 2x 2 + 3x 3 x 4 = 4 Sistem tersebut dapat dinyatakan dalam operasi matrik Ax = y, x 1 x 2 x 3 x 4 = (3.5) Pada metode eliminasi gauss, matrik A dikonversi menjadi matrik triangular melalui urutan operasi-operasi berikut: (P 2 2P 1 ) (P 2 ), (P 3 3P 1 ) (P 3 ), (P 4 ( 1)P 1 ) (P 4 ), (P 3 4P 2 ) (P 3 ), (P 4 ( 3)P 2 ) (P 4 ). Disisi lain, vektor b ikut berubah nilainya menyesuaikan
45 3.1. PENYEDERHANAAN 29 proses triangularisasi, x 1 x 2 x 3 x 4 = (3.6) Lain halnya dengan metode LU-decomposition dimana vektor b tidak mengalami perubahan. Yang berubah hanya matrik A saja, yaitu menjadi matrik L dan matrik U, A = LU A = = Jadi matrik L dan U masing-masing adalah L = U = Coba bandingkan matrik U di atas dengan matrik hasil triangularisasi dari metode eliminasi gauss pada persamaan (3.6), sama persis bukan? Jadi, cara memperoleh matrik U adalah dengan proses triangularisasi! Lantas, bagaimana cara memperoleh matrik L? Begini caranya: (1) elemen-elemen diagonal matrik L diberi nilai 1 (Asal tahu saja, cara ini dikenal dengan metode Doolittle). (2) elemen-elemen matrik L yang berada di atas elemen-elemen diagonal diberi nilai 0. (3) sedangkan, elemen-elemen matrik L yang berada di bawah elemen-elemen diagonal diisi dengan faktor pengali yang digunakan pada proses triangularisasi eliminasi gauss. Misalnya pada operasi (P 2 2P 1 ) (P 2 ), maka faktor pengalinya adalah 2; pada operasi (P 3 3P 1 ) (P 3 ), maka faktor pengalinya adalah 3, dan seterusnya. Inilah letak perbedaannya, seluruh faktor pengali tersebut sangat dibutuhkan pada metode LU-decomposition untuk membentuk matrik L. Padahal dalam metode eliminasi gauss, seluruh faktor pengali tersebut tidak dimanfaatkan alias dibuang begitu saja. Disisi lain, vektor b tidak mengalami proses apapun sehingga nilainya tetap. Jadi, proses konversi matrik pada metode LU-decomposition hanya melibatkan matrik A saja! Setelah langkah faktorisasi matrik A dilalui, maka operasi matrik pada persamaan (3.5) menjadi, x 1 x 2 x 3 x 4 = (3.7)
46 30 BAB 3. METODE LU DECOMPOSITION Langkah berikutnya adalah menentukan vektor y, dimana Ly = b, y 1 y 2 y 3 y 4 = Dengan proses substitusi-maju, elemen-elemen vektor y dapat ditentukan, y 1 = 4, 2y 1 + y 2 = 1, 3y 1 + 4y 2 + y 3 = 3, y 1 3y 2 + y 4 = 4 maka diperoleh y 1 = 4, y 2 = 7, y 3 = 13, y 4 = 13. Langkah terakhir adalah proses substitusi-mundur untuk menghitung vektor x, dimana Ux = y, x 1 x 2 x 3 x 4 = Melalui proses ini, yang pertama kali didapat solusinya adalah x 4, kemudian x 3, lalu diikuti x 2, dan akhirnya x 1. x 4 = 1 x 3 = 1 3 (13 13x 4) = 0 x 2 = ( 7 + 5x 4 + x 3 ) = 2 x 1 = 4 3x 4 x 2 = 1 akhirnya diperoleh solusi x 1 = 1, x 2 = 2, x 3 = 0, dan y 4 = 1. Demikianlah contoh penyelesaian sistem persamaan linear dengan metode LU-decomposition. Sekali matrik A difaktorkan, maka vektor b bisa diganti nilainya sesuai dengan sistem persamaan linear yang lain, misalnya seluruh nilai di ruas kanan diganti menjadi P 1 : x 1 + x 2 + 3x 4 = 8 P 2 : 2x 1 + x 2 x 3 + x 4 = 7 P 3 : 3x 1 x 2 x 3 + 2x 4 = 14 P 4 : x 1 + 2x 2 + 3x 3 x 4 = -7
47 3.1. PENYEDERHANAAN 31 Dalam operasi matrik menjadi x 1 x 2 x 3 x 4 = (3.8) Perhatikan baik-baik! Matrik A sama persis dengan contoh sebelumnya. Perbedaannya hanya pada vektor b. Selanjutnya, dengan metode LU-decomposition, persamaan (3.8) menjadi x 1 x 2 x 3 x 4 = Silakan anda lanjutkan proses perhitungannya dengan mencari vektor y sesuai contoh yang telah diberikan sebelumnya. Pada akhirnya akan diperoleh solusi sebagai berikut: x 1 = 3, x 2 = 1, x 3 = 0, dan y 4 = 2. Sekarang saatnya saya tunjukkan algoritma metode LU decomposition. Algoritma ini dibuat untuk menyelesaikan sistem persamaan linear, dengan cara menfaktorkan matrik A = (a ij ) berukuran n x n menjadi matrik L = (l ij ) dan matrik U = (u ij ) dengan ukuran yang sama. Algoritma LU-decomposition yang anda lihat sekarang merupakan modifikasi dari algoritma eliminasi gauss. Silakan anda periksa langkah-langkah mana saja yang telah mengalami modifikasi! Tapi asal tahu saja bahwa ini bukan satu-satunya algoritma untuk mendapatkan matrik LU. Sejauh yang saya tahu, ada algoritma lain untuk tujuan yang sama, dimana algoritma tersebut membutuhkan matrik permutasi untuk menggeser elemen pivot yang bernilai nol agar terhindar dari singular. Nah, sedangkan algoritma yang akan anda baca saat ini, sama sekali tidak berurusan dengan matrik permutasi. Algoritma ini cuma memanfaatkan trik tukar posisi yang sudah pernah dibahas di awal-awal catatan khususnya ketika membahas konsep eliminasi gauss. Satu lagi yang harus saya sampaikan juga adalah bahwa dalam algoritma ini, elemenelemen matrik L dan matrik U digabung jadi satu dan menggantikan seluruh elemen-elemen matrik A. Perhatian! cara ini jangan diartikan sebagai perkalian matrik L dan matrik U menjadi matrik A kembali. Cara ini dimaksudkan untuk menghemat memori komputer. Suatu aspek yang tidak boleh diabaikan oleh para programer. Marilah kita simak algoritmanya bersamasama! INPUT: dimensi n; nilai elemen a ij, 1 i, j n; nilai elemen b i. OUTPUT: solusi x 1, x 2, x 3,..., x n atau pesan kesalahan yang mengatakan bahwa faktorisasi tidak mungkin dilakukan. (3.9) Langkah 1: Inputkan konstanta-konstanta dari sistem persamaan linear kedalam elemen-
48 32 BAB 3. METODE LU DECOMPOSITION elemen matrik A dan vektor b, seperti berikut ini: A = a 11 a a 1n a 21 a a 2n... b = b 1 b 2. (3.10) a n1 a n2... a nn b n Langkah 2: Untuk i = 1,..., n 1, lakukan Langkah 3 sampai Langkah 5. Langkah 3: Definisikan p sebagai integer dimana i p n. Lalu pastikan bahwa a pi 0. Langkah dilakukan bila ditemukan elemen diagonal yang bernilai nol (a ii = 0). Ketika ada elemen diagonal yang bernilai nol, maka program harus mencari dan memeriksa elemen-elemen yang tidak bernilai nol dalam kolom yang sama dengan kolom tempat elemen diagonal tersebut berada. Jadi saat proses ini berlangsung, integer i (indeks dari kolom) dibuat konstan, sementara integer p (indeks dari baris) bergerak dari p = i sampai p = n. Bila ternyata setelah mencapai elemen paling bawah dalam kolom tersebut, yaitu saat p = n tetap didapat nilai a pi = 0, maka sebuah pesan dimunculkan: sistem persamaan linear tidak memiliki solusi yang unik. Lalu program berakhir: STOP. Langkah 4: Namun jika sebelum integer p mencapai nilai p = n sudah diperoleh elemen yang tidak sama dengan nol (a pi 0), maka bisa dipastikan p i. Jika p i maka lakukan proses pertukaran (P p ) (P i ). Langkah 5: Untuk j = i + 1,.., n, lakukan Langkah 6 dan Langkah 7. Langkah 6: Tentukan m ji, m ji = a ji a ii Langkah 7: Lakukan proses triangularisasi, Langkah 8: Nilai m ji disimpan ke a ji, (P j m ji P i ) (P j ) a ji = m ji Langkah 9: Nilai b 1 dicopy ke y 1, lalu lakukan substitusi-maju. y 1 = b 1 Untuk i = 2,..., n tentukan x i, i 1 y i = b i a ij y j j=1
49 3.1. PENYEDERHANAAN 33 Langkah 10: Lakukan proses substitusi-mundur, dimulai dengan menentukan x n, Untuk i = n 1,...,1 tentukan x i, x n = a n,n+1 a nn x i = a i,n+1 n j=i+1 a ijx j a ii Langkah 11: Diperoleh solusi yaitu x 1, x 2,..., x n. Algoritma telah dijalankan dengan sukses. STOP. Algoritma di atas telah diimplementasi kedalam program yang ditulis dengan bahasa Fortran. Program tersebut sudah berhasil dikompilasi dengan visual fortran (windows) dan g77 (debian-linux). Inilah programnya: DIMENSION A(10,11), B(10), Y(10), X(10) REAL MJI WRITE(*,*) WRITE(*,*) ==> FAKTORISASI MATRIK: LU DECOMPOSITION <== WRITE (*,*) C LANGKAH 1: MEMASUKAN NILAI ELEMEN-ELEMEN MATRIK A DAN VEKTOR B WRITE (*, (1X,A) ) JUMLAH PERSAMAAN? READ (*,*) N WRITE (*,*) WRITE (*,*) MASUKAN ELEMEN-ELEMEN MATRIK A DO 50 I = 1,N DO 60 J = 1,N WRITE (*, (1X,A,I2,A,I2,A) ) A(,I,,,J, ) = READ (*,*) A(I,J) 60 CONTINUE WRITE (*, (1X,A,I2,A) ) B(,I, )? READ (*,*) B(I) WRITE (*,*) 50 CONTINUE WRITE (*,*) C MENAMPILKAN MATRIK A WRITE (*, (1X,A) ) MATRIK A: DO 110 I = 1,N WRITE (*,6) (A(I,J),J=1,N) 110 CONTINUE WRITE (*,*) C LANGKAH 2: MEMERIKSA ELEMEN-ELEMEN PIVOT
50 34 BAB 3. METODE LU DECOMPOSITION NN = N-1 DO 10 I=1,NN C LANGKAH 3: MENDEFINISIKAN P P = I 100 IF (ABS(A(P,I)).GE.1.0E-20.OR. P.GT.N) GOTO 200 P = P+1 GOTO IF(P.EQ.N+1)THEN C MENAMPILKAN PESAN TIDAK DAPAT DIFAKTORKAN WRITE(*,8) GOTO 400 END IF C LANGKAH 4: PROSES TUKAR POSISI IF(P.NE.I) THEN DO 20 JJ=1,N C = A(I,JJ) A(I,JJ) = A(P,JJ) A(P,JJ) = C 20 CONTINUE END IF C LANGKAH 5: PERSIAPAN PROSES TRIANGULARISASI JJ = I+1 DO 30 J=JJ,N C LANGKAH 6: TENTUKAN MJI MJI = A(J,I)/A(I,I) C LANGKAH 7: PROSES TRIANGULARISASI DO 40 K=JJ,N A(J,K) = A(J,K)-MJI*A(I,K) 40 CONTINUE C LANGKAH 8: MENYIMPAN MJI KE A(J,I) A(J,I) = MJI 30 CONTINUE 10 CONTINUE C MENAMPILKAN MATRIK LU WRITE (*, (1X,A) ) MATRIK LU: DO 120 I = 1,N WRITE (*,6) (A(I,J),J=1,N) 120 CONTINUE WRITE (*,*) C LANGKAH 9: SUBSTITUSI-MAJU Y(1) = B(1)
51 3.1. PENYEDERHANAAN 35 DO 15 I=2,N SUM = 0.0 DO 16 J=1,I-1 SUM = SUM+A(I,J)*Y(J) 16 CONTINUE Y(I) = B(I)-SUM 15 CONTINUE C MENAMPILKAN VEKTOR Y WRITE (*, (1X,A) ) VEKTOR Y: DO 138 I = 1,N WRITE (*,6) Y(I) 138 CONTINUE WRITE (*,*) C LANGKAH 10: SUBSTITUSI-MUNDUR X(N) = Y(N)/A(N,N) DO 24 K=1,N-1 I = N-K JJ = I+1 SUM = 0.0 DO 26 KK=JJ,N SUM = SUM+A(I,KK)*X(KK) 26 CONTINUE X(I) = (Y(I)-SUM)/A(I,I) 24 CONTINUE C LANGKAH 11: MENAMPILKAN SOLUSI DAN SELESAI WRITE (*, (1X,A) ) SOLUSI: DO 18 I = 1,N WRITE (*, (1X,A,I2,A,F14.8) ) X(,I, ) =,X(I) 18 CONTINUE WRITE(*,*) WRITE(*,*) SELESAI --> SUKSES WRITE(*,*) 400 CONTINUE 6 FORMAT(1X,5(F14.8)) 8 FORMAT(1X, TIDAK DAPAT DIFAKTORKAN ) END Demikianlah, sekarang kita punya tiga buah algoritma untuk memecahkan problem sistem persamaan linear, yaitu eliminasi gauss, invers matrik, dan lu-decomposition. Diantara ketiganya, eliminasi gauss adalah algoritma yang paling simpel dan efisien. Dia hanya butuh proses triangularisasi dan substitusi-mundur untuk mendapatkan solusi. Sedangkan dua algoritma yang lainnya membutuhkan proses-proses tambahan untuk mendapatkan solusi yang sama.
52 36 BAB 3. METODE LU DECOMPOSITION Saya cukupkan sementara sampai disini. Insya Allah akan saya sambung lagi dilain waktu. Kalau ada yang mau didiskusikan, silakan hubungi saya melalui .
53 Bab 4 Invers Matrik dan Eliminasi Gauss Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik. 4.1 Penyederhanaan Secara umum, sistem persamaan linear adalah sebagai berikut: a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b = =... a n1 x 1 + a n2 x a nn x n = b n Sistem persamaan linear tersebut dapat dinyatakan dalam bentuk operasi matrik, Ax = b (4.1) sehingga bentuknya menjadi seperti ini: a 11 a a 1n a 21 a a 2n... x 1 x 2. = b 1 b 2. a n1 a n2... a nn x n b n 37
54 38 BAB 4. INVERS MATRIK DAN ELIMINASI GAUSS dimana A = a 11 a a 1n a 21 a a 2n..., x = x 1 x 2., b = b 1 b 2. a n1 a n2... a nn x n b n Dalam kaitannya dengan invers matrik, matrik A disebut matrik non-singular jika matrik A memiliki matrik invers dirinya yaitu A 1. Atau dengan kata lain, matrik A 1 adalah invers dari matrik A. Jika matrik A tidak memiliki invers, maka matrik A disebut singular. Bila matrik A dikalikan dengan matrik A 1 maka akan menghasilkan matrik identitas I, yaitu suatu matrik yang elemen-elemen diagonalnya bernilai 1. Misalnya diketahui, A = AA = I = , A 1 = Bila keduanya dikalikan, maka akan menghasilkan matrik identitas, AA 1 = = (4.2) Lalu bagaimana cara mendapatkan matrik invers, A 1? Persamaan (4.2) bisa dijadikan pedoman.. AA 1 = I i 11 i 12 i 13 i 21 i 22 i 23 i 31 i 32 i 33 = dalam hal ini matrik A 1 adalah A 1 = i 11 i 12 i 13 i 21 i 22 i 23 i 31 i 32 i 33
55 4.1. PENYEDERHANAAN 39 Elemen-elemen matrik invers, A 1 dapat diperoleh dengan menerapkan metode eliminasi gauss. Diawali dengan membentuk matrik augment: Lalu dilanjutkan dengan proses triangularisasi: (P 2 2P 1 ) (P 2 ) dan (P 3 +P 1 ) (P 3 ), kemudian diikuti oleh (P 3 + P 2 ) (P 3 ): Langkah berikutnya, matrik augment yang telah mengalami triangularisasi tersebut dipecah menjadi tiga buah matrik augment seperti berikut ini: Langkah pamungkasnya adalah melakukan proses substitusi mundur pada ketiga matrik augment di atas, sehingga diperoleh: i 11 = 2 9 i 21 = 4 9 i 31 = 1 3 i 12 = 5 9 i 22 = 1 9 i 32 = 1 3 i 13 = 1 9 i 23 = 2 9 i 33 = 1 3 Hasil tersebut digabung menjadi sebuah matrik, yaitu matrik A 1, A 1 = Keberadaan matrik A 1 bisa digunakan untuk menyelesaikan sistem persamaan linear (mencari nilai x), dengan cara sebagai berikut Ax = b A 1 Ax = A 1 b Ix = A 1 b x = A 1 b (4.3) Contoh berikut ini akan menjelaskan prosesnya secara lebih rinci. Misalnya diketahui sistem
56 40 BAB 4. INVERS MATRIK DAN ELIMINASI GAUSS persamaan linear x 1 + 2x 2 x 3 = 2 2x 1 + x 2 = 3 x 1 + x 2 + 2x 3 = 4 Bila dikonversikan kedalam operasi matrik menjadi x 1 x 2 x 3 = Berdasarkan persamaan (4.3), maka elemen-elemen vektor x dapat dicari dengan cara x = A 1 b x = = Akhirnya diperoleh solusi x 1 = 7/9, x 2 = 13/9, dan x 3 = 5/3. Penyelesaian sistem persamaan linear menjadi lebih mudah bila matrik A 1 sudah diketahui. Sayangnya, untuk mendapatkan matrik A 1, diperlukan langkah-langkah, seperti yang sudah dibahas pada contoh pertama di atas, yang berakibat in-efisiensi proses penyelesaian (secara komputasi) bila dibandingkan dengan metode eliminasi gauss untuk memecahkan sistem persamaan linear. Namun bagaimanapun, secara konseptual kita dianjurkan mengetahui cara bagaimana mendapatkan matrik A 1. Saya telah memodifikasi program eliminasi gauss yang terdahulu, untuk keperluan perhitungan matrik invers. Program ini ditulis dengan bahasa fortran, sudah berhasil dikompilasi dalam Linux Debian (g77) dan Windows XP (Visual Fortran). Inilah programnya, DIMENSION A(10,20), D(10,10), X(10) REAL MJI INTEGER TKR, BK, TK, Q WRITE (*,*) =PROGRAM INVERS MATRIK DENGAN ELIMINASI GAUSS= WRITE (*,*) C LANGKAH 1: MEMASUKAN NILAI ELEMEN-ELEMEN MATRIK A WRITE (*, (1X,A) ) JUMLAH PERSAMAAN? READ (*,*) N WRITE (*,*) WRITE (*,*) MASUKAN ELEMEN-ELEMEN MATRIK A M = N + 1 DO 50 I = 1,N
57 4.1. PENYEDERHANAAN 41 DO 60 J = 1,N WRITE (*, (1X,A,I2,A,I2,A) ) A(,I,,,J, ) = READ (*,*) A(I,J) 60 CONTINUE 50 CONTINUE C LANGKAH 2: MENDEFINISIKAN MATRIK IDENTITAS WRITE (*,*) MENDEFINISIKAN MATRIK IDENTITAS DO 70 I = 1,N DO 80 J = M,N+N A(I,J) = 0 IF (I+N.EQ. J) THEN A(I,J) = 1 END IF 80 CONTINUE 70 CONTINUE WRITE (*,*) C MENAMPILKAN MATRIK AUGMENT WRITE (*, (1X,A) ) MATRIK AUGMENT: DO 110 I = 1,N WRITE (*, (1X,5(F14.8)) ) (A(I,J),J=1,N+N) 110 CONTINUE WRITE (*,*) C MENGHITUNG JUMLAH TUKAR (TKR) POSISI. MULA2 TKR = 0 TKR = 0 C MENGHITUNG JUMLAH OPERASI BAGI/KALI (BK). BK = 0 C MENGHITUNG JUMLAH OPERASI TAMBAH/KURANG (TK). TK = 0 C LANGKAH 3: MEMERIKSA ELEMEN2 PIVOT DAN PROSES TUKAR POSISI NN = N-1 DO 10 I=1,NN C LANGKAH 4: MENDEFINISIKAN P P = I 100 IF (ABS(A(P,I)).GE.1.0E-20.OR. P.GT.N) GOTO 200 P = P+1 GOTO IF(P.EQ.N+1)THEN C MENAMPILKAN PESAN SINGULAR WRITE(*,5) GOTO 400 END IF
58 42 BAB 4. INVERS MATRIK DAN ELIMINASI GAUSS C LANGKAH 5: PROSES TUKAR POSISI IF(P.NE.I) THEN DO 20 JJ=1,N+N C = A(I,JJ) A(I,JJ) = A(P,JJ) A(P,JJ) = C TKR = TKR CONTINUE END IF C LANGKAH 6: PERSIAPAN PROSES TRIANGULARISASI JJ = I+1 DO 30 J=JJ,N C LANGKAH 7: TENTUKAN MJI MJI = A(J,I)/A(I,I) BK = BK + 1 C LANGKAH 8: MELAKUKAN PROSES TRIANGULARISASI DO 40 K=JJ,N+N A(J,K) = A(J,K)-MJI*A(I,K) BK = BK + 1 TK = TK CONTINUE A(J,I) = 0 30 CONTINUE 10 CONTINUE C MENAMPILKAN HASIL TRIANGULARISASI WRITE (*, (1X,A) ) HASIL TRIANGULARISASI: DO 120 I = 1,N WRITE (*, (1X,5(F14.8)) ) (A(I,J),J=1,N+N) 120 CONTINUE C LANGKAH 9: MEMERIKSA ELEMEN A(N,N) IF(ABS(A(N,N)).LT.1.0E-20) THEN C MENAMPILKAN PESAN SINGULAR WRITE(*,5) GOTO 400 END IF DO 500 J = 1,N Q=N+J C LANGKAH 10: MENGHITUNG A(N,N) D(J,N) = A(N,Q)/A(N,N) BK = BK + 1 C LANGKAH 11: PROSES SUBSTITUSI MUNDUR
59 4.1. PENYEDERHANAAN 43 L = N-1 DO 15 K=1,L I = L-K+1 JJ = I+1 SUM = 0.0 DO 16 KK=JJ,N SUM = SUM+A(I,KK)*D(J,KK) BK = BK + 1 TK = TK CONTINUE D(J,I) = (A(I,Q)-SUM)/A(I,I) BK = BK + 1 TK = TK CONTINUE 500 CONTINUE C LANGKAH 12: MENAMPILKAN HASIL PERHITUNGAN WRITE (*,*) WRITE (*, (1X,A) ) MATRIK INVERS: DO 220 I = 1,N WRITE (*, (1X,5(F14.8)) ) (D(J,I),J=1,N) 220 CONTINUE WRITE(*,8) TKR WRITE(*,9) BK WRITE(*,11) TK 400 STOP 5 FORMAT(1X, MATRIK A BERSIFAT SINGULAR ) 8 FORMAT(1X, JUMLAH TUKAR POSISI =,3X,I5) 9 FORMAT(1X, JUMLAH OPERASI BAGI/KALI =,3X,I6) 11 FORMAT(1X, JUMLAH OPERASI JUMLAH/KURANG =,3X,I6) END Saya cukupkan sementara sampai disini. Insya Allah akan saya sambung lagi dilain waktu. Kalau ada yang mau didiskusikan, silakan hubungi saya melalui .
60
61 Bab 5 Iterasi Jacobi Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik. 5.1 Penyederhanaan Sebelum kita membahas metode iterasi untuk menyelesaikan problem sistem persamaan linear, saya ingin menyampaikan satu hal yang sangat sederhana, yaitu tentang cara merepresentasikan elemen-elemen suatu vektor-kolom. Sebagaimana tertulis pada catatan catatan sebelumnya, biasanya suatu vektor-kolom ditulis sebagai x 1 x n x x = 2. (5.1) Dengan operasi transpose, vektor-kolom tersebut dapat dinyatakan sebagai x = [ x 1 x 2... x n ] t (5.2) Contoh: 3 x = 2 8 = 5 [ ] t
62 46 BAB 5. ITERASI JACOBI Cara penulisan seperti ini digunakan untuk menyatakan vektor-kolom pada suatu kalimat didalam paragraf. Alasannya supaya tidak terlalu menyita banyak ruang penulisan. Sementara, persamaan (1), lebih sering digunakan pada penulisan operasi matrik. Satu hal lagi, pada paragraf-paragraf berikutnya, saya persingkat penulisan istilah vektor-kolom menjadi vektor saja. Pengenalan norm Vektor x = (x 1 ; x 2 ;...; x n ) t memiliki norm l 2 dan l yang didefinisikan sebagai n l 2 = x 2 = { x 2 i } 1/2 (5.3) i=1 dan l = x = max 1 i n x i (5.4) Contoh: x = (3; 2; 8; 5) T memiliki norm l 2 yaitu l 2 = x 2 = (3) 2 + ( 2) 2 + (8) 2 + (5) 2 = 10, 0995 dan norm l yaitu l = x = max{(3), ( 2), (8), (5)} = 8 Saya menyarankan agar kedua norm ini diingat-ingat dengan baik, karena akan banyak disinggung pada catatan-catatan berikutnya. Pengenalan metode iterasi Sekarang kita mulai pembahasan tentang metode iterasi untuk menyelesaikan problem sistem persamaan linear. Metode ini berbeda dengan metode-metode yang telah dijelaskan sebelumnya, dimana metode ini dimulai dengan menentukan nilai awal (initial value) untuk setiap elemen vektor x. Kemudian berdasarkan nilai awal tersebut, dilakukan langkah perhitungan untuk mendapatkan elemen-elemen vektor x yang baru. x (baru) = T x (lama) + c atau x k = T x k 1 + c (5.5) dimana k = 1, 2, 3,... Untuk lebih jelasnya, marilah kita perhatikan contoh berikut, diketahui sistem persamaan
63 5.1. PENYEDERHANAAN 47 linear Ax = b yaitu 10x 1 x 2 + 2x 3 = 6 x x 2 x 3 + 3x 4 = 25 2x 1 x x 3 x 4 = 11 3x 2 x 3 + 8x 4 = 15 Lalu, sistem persamaan tersebut diubah susunannya menjadi seperti ini x 1 = 1 10 x x x 2 = 1 11 x x x x 3 = 2 10 x x x x 4 = 3 8 x x Kita bisa menyatakan bahwa nilai x 1, x 2, x 3 dan x 4 yang berada di ruas kiri tanda = (baca: sama dengan) sebagai x (baru). Sementara nilai x 1, x 2, x 3 dan x 4 yang berada di ruas kanan tanda = (baca: sama dengan) sebagai x (lama). Sistem persamaan tersebut menjadi seperti ini atau seperti ini x (baru) 1 = 1 10 x(lama) x(lama) x (baru) 2 = 1 11 x(lama) x(lama) x(lama) x (baru) 3 = 2 10 x(lama) x x(lama) x (baru) 4 = 3 8 x(lama) x(lama) x (k) 1 = 1 10 x(k 1) x(k 1) x (k) 2 = 1 11 x(k 1) x(k 1) x(k 1) x (k) 3 = 2 10 x(k 1) x(k 1) x(k 1) x (k) 4 = 3 8 x(k 1) x(k 1) Sehingga bentuk sistem persamaan yang terakhir ini dapat dinyatakan dalam persamaan matrik sebagai berikut x (k) = Tx (k 1) + c (5.6)
64 48 BAB 5. ITERASI JACOBI Pada k = 1, x (1) 1 = 1 10 x(0) x(0) x (1) 2 = 1 11 x(0) x(0) x(0) x (1) 3 = 2 10 x(0) x(0) x(0) x (1) 4 = 3 8 x(0) x(0) Misalnya kita tentukan nilai-nilai awal x (0) sebagai berikut x (0) 1 = 0, x (0) 2 = 0, x (0) 3 = 0 dan x (0) 4 = 0. Atau dinyatakan seperti ini x (0) = (0; 0; 0; 0) t. Maka kita akan memperoleh nilai-nilai x (1) sebagai berikut x (1) 1 = 6 10 x (1) 2 = x (1) 3 = x (1) 4 = 15 8 atau x (1) = (0, 6000; 2, 2727; 1, 1000; 1, 8750) t. Setelah kita memperoleh nilai-nilai x (1), perhitungan tersebut diulangi kembali dengan nilai k = 2. Lalu nilai-nilai x (1) = (0, 6000; 2, 2727; 1, 1000; 1, 8750 dimasukan ke ruas kanan, x (2) 1 = 1 10 x(1) x(1) x (2) 2 = 1 11 x(1) x(1) x(1) x (2) 3 = 2 10 x(1) x(1) x(1) x (2) 4 = 3 8 x(1) x(1) maka kita akan memperoleh nilai-nilai x (2) = (1, 0473; 1, 7159; 0, 8052; 0, 8852) t. Setelah kita memperoleh nilai-nilai x (2), perhitungan tersebut diulangi kembali dengan nilai k = 3. Lalu nilai-nilai x (2) = (1, 0473; 1, 7159; 0, 8052; 0, 8852) t dimasukan ke ruas kanan untuk mendapatkan x (3), x (3) 1 = 1 10 x(2) x(2) x (3) 2 = 1 11 x(2) x(2) x(2) x (3) 3 = 2 10 x(2) x(2) x(2) x (3) 4 = 3 8 x(2) x(2)
65 5.1. PENYEDERHANAAN 49 k x (k) 1 0,0000 0,6000 1,0473 0,9326 1, ,9997 1,0001 x (k) 2 0,0000 2,2727 1,7159 2,0530 1, ,0004 1,9998 x (k) 3 0,0000-1,1000-0,8052-1,0493-0, ,0004-0,9998 x (k) 4 0,0000 1,8852 0,8852 1,1309 0, ,0006 0,9998 maka kita akan memperoleh nilai-nilai x (3) = (0, 9326; 2, 0530; 1, 0493; 1, 1309) t. Lalu proses perhitungan diulangi lagi dengan k = 4. Begitu seterusnya proses ini diulang-ulang lagi untuk nilai-nilai k berikutnya. Proses yang berulang ini disebut iterasi. Sampai dengan x (3) di atas, kita sudah melakukan tiga kali proses iterasi. Lantas sampai kapankah proses iterasi ini terus berlanjut? Jawabnya adalah sampai x (baru) mendekati solusi yang sesungguhnya, yaitu x = (1; 2; 1; 1) t Dengan kata lain, proses iterasi harus di-stop atau dihentikan bila x (baru) sudah mendekati solusi. Lalu kriteria apa yang digunakan sehingga suatu hasil iterasi bisa dikatakan paling dekat dengan solusi yang sebenarnya? OK, simpan dulu pertanyaan ini, marilah kita amati hasil seluruh iterasi dari iterasi yang pertama hingga iterasi yang ke sepuluh. Tabel di atas ini menampilkan hasil perhitungan hingga iterasi yang ke sepuluh. Kita bisa saksikan bahwa hasil iterasi ke-1, x (1) = (0, 6000; 2, 2727; 1, 1000; 1, 8852) adalah hasil yang paling tidak mendekati solusi x = (1; 2; 1; 1) t. Dibandingkan dengan hasil iterasi ke-2, jelas terlihat bahwa hasil iterasi ke-2 lebih mendekati solusi. Kalau terus diurutkan, maka hasil iterasi ke-10 merupakan hasil yang paling dekat dengan solusi. Dengan memanfaatkan perhitungan norm, secara kuantitatif dapat disimpulkan bahwa iterasi yang ke-10 adalah yang paling dekat dengan solusi. Pada tabel dibawah ini, saya menggunakan norm l 2, sedangkan hasil perhitungan norm, saya beri nama epsilon, ǫ. Jadi semakin kecil nilai epsilon, ǫ, hasil iterasinya semakin dekat dengan solusi. Kembali ke pertanyaan penting yang tadi yaitu kriteria apa yang digunakan sehingga suatu hasil iterasi bisa dikatakan paling dekat dengan solusi yang sebenarnya? Jawabnya adalah besar kecilnya nilai ǫ. Artinya kalau nilai ǫ ditentukan sebesar 0,2, maka iterasi akan berhenti pada iterasi yang ke-4. Atau kalau nilai ǫ ditentukan sebesar 0,001, maka proses iterasi akan berhenti pada iterasi yang ke-10. Kesimpulannya, semakin kecil nilai ǫ, semakin panjang proses iterasinya, namun hasil akhirnya semakin dekat dengan solusi sebenarnya. Jadi nilai ǫ berperan penting untuk menghentikan proses iterasi. Dalam hal ini, ǫ disebut sebagai stopping-criteria. Metode yang baru saja kita bahas ini disebut metode Iterasi Jacobi. Metode ini bertujuan norm l 2 x (2) x (1) 2 x (3) x (2) 2 x (4) x (3) 2... x (10) x (9) 2 ǫ 1,2557 0,4967 0, ,0012
66 50 BAB 5. ITERASI JACOBI mencari nilai-nilai pengganti variabel-variabel x dengan perumusan dimana i=1,2,3,...,n. x (k) i = ) n j=1 ( a ij x (k 1) j + b i (5.7) a ii Algoritma Iterasi Jacobi Langkah 1: Tentukan k=1 Langkah 2: Ketika (k N) lakukan Langkah 3-6 Langkah 3: Untuk i=1,...,n, hitunglah x i = n j=1 (a ijxo j ) + b i a ii Langkah 4: Jika x XO < ǫ, maka keluarkan OUTPUT (x 1,..., x n ) lalu STOP Langkah 5: Tentukan k=k+1 Langkah 6: Untuk i=1,...n, tentukan XO i = x i Langkah 7: OUTPUT ( Iterasi maksimum telah terlampaui ) lalu STOP Program dalam Fortran IMPLICIT NONE DIMENSION A(10,10),B(10),X(10),XO(10) REAL A,B,X,XO,EPS,NORM,S INTEGER N,I,J,K,ITMAX WRITE(*,*) ==> ITERASI JACOBI UNTUK SISTEM LINEAR <== WRITE(*,*) WRITE (*, (1X,A) ) JUMLAH PERSAMAAN? READ (*,*) N WRITE (*,*) MASUKAN ELEMEN-ELEMEN MATRIK A DAN VEKTOR B DO 52 I = 1,N DO 62 J = 1,N WRITE (*, (1X,A,I2,A,I2,A) ) A(,I,,,J, ) = READ (*,*) A(I,J) 62 CONTINUE WRITE (*, (1X,A,I2,A) ) B(,I, )? READ (*,*) B(I) WRITE (*,*) 52 CONTINUE WRITE (*, (1X,A) ) JUMLAH ITERASI MAKSIMUM?
67 5.1. PENYEDERHANAAN 51 READ (*,*) ITMAX WRITE (*, (1X,A) ) NILAI EPSILON ATAU TOLERANSI? READ (*,*) EPS WRITE (*,*) MASUKAN NILAI AWAL UNTUK XO DO 72 I = 1,N WRITE (*, (1X,A,I2,A) ) XO(,I, )? READ (*,*) XO(I) 72 CONTINUE WRITE (*,*) C MENAMPILKAN MATRIK A WRITE (*, (1X,A) ) MATRIK A: DO 110 I = 1,N WRITE (*,6) (A(I,J),J=1,N) 110 CONTINUE WRITE (*,*) C MENAMPILKAN VEKTOR B WRITE (*, (1X,A) ) VEKTOR B: DO 111 I = 1,N WRITE (*,6) B(I) 111 CONTINUE WRITE (*,*) C LANGKAH 1 K = 1 C LANGKAH IF(K.GT.ITMAX) GOTO 200 C LANGKAH 3 NORM = 0.0 DO 10 I = 1,N S = 0.0 DO 20 J=1,N S = S-A(I,J)*XO(J) 20 CONTINUE S = (S+B(I))/A(I,I) IF (ABS(S).GT.NORM) NORM=ABS(S) X(I) = XO(I)+S 10 CONTINUE WRITE(*, (1X,A,I3) ) ITERASI KE-, K WRITE(*, (1X,A,F14.8) ) NORM =, NORM WRITE(*, (1X,A,I3,A,F14.8) ) ( X(,I, ) =, X(I),I=1,N) WRITE(*,*) C LANGKAH 4
68 52 BAB 5. ITERASI JACOBI IF(NORM.LE.EPS) THEN WRITE(*,7) K,NORM GOTO 400 END IF C LANGKAH 5 K = K+1 C LANGKAH 6 DO 30 I=1,N XO(I) = X(I) 30 CONTINUE GOTO 100 C LANGKAH CONTINUE WRITE(*,9) 400 STOP 5 FORMAT(1X,I3) 6 FORMAT(1X,(6(1X,F14.8))) 7 FORMAT(1X, KONVERGEN PADA ITERASI YANG KE-,I3, *, NORM=,F14.8) 9 FORMAT(1X, MELEBIHI BATAS MAKSIMUM ITERASI ) END Demikianlah catatan singkat dari saya tentang metode Iterasi Jacobi untuk menyelesaikan problem sistem persamaan linear. Saya cukupkan sementara sampai disini. Insya Allah akan saya sambung lagi dilain waktu. Kalau ada yang mau didiskusikan, silakan hubungi saya melalui [email protected].
69 Bab 6 Iterasi Gauss-Seidel Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik. 6.1 Penyederhanaan Metode Iterasi Gauss-Seidel merupakan modifikasi dari metode Iterasi Jacobi. tersebut terletak pada rumus berikut: dimana i=1,2,3,...,n. ( i 1 x (k) j=1 a ij x (k) j i = ) ( n j=i+1 ) + b i Modifikasi a ij x (k 1) j (6.1) a ii Untuk lebih jelasnya, marilah kita perhatikan contoh berikut, diketahui sistem persamaan linear Ax = b yaitu 10x 1 x 2 + 2x 3 = 6 x x 2 x 3 + 3x 4 = 25 2x 1 x x 3 x 4 = 11 3x 2 x 3 + 8x 4 = 15 53
70 54 BAB 6. ITERASI GAUSS-SEIDEL Lalu, sistem persamaan tersebut diubah susunannya menjadi seperti ini x (k) 1 = 1 10 x(k 1) x(k 1) x (k) 2 = 1 11 x(k) x(k 1) x(k 1) x (k) 3 = 2 10 x(k) x(k) x(k 1) x (k) 4 = 3 8 x(k) x(k) Misalnya kita tentukan nilai-nilai awal x (0) sebagai berikut x (0) 1 = 0, x (0) 2 = 0, x (0) 3 = 0 dan x (0) 4 = 0. Atau dinyatakan seperti ini x (0) = (0; 0; 0; 0) t. Maka pada k = 1 kita akan memperoleh nilai-nilai x (1) sebagai berikut x (1) 1 = 0, 6000 x (1) 2 = 2, 3272 x (1) 3 = 0, 9873 x (1) 4 = 0, 8789 Lalu proses perhitungan diulangi lagi dengan k = 2. Begitu seterusnya proses ini diulangulang lagi untuk nilai-nilai k berikutnya sampai x (k) mendekati solusi yang sesungguhnya, yaitu x = (1; 2; 1; 1) t Marilah kita amati hasil seluruh iterasi. Tabel di bawah ini menampilkan hasil perhitungan hingga iterasi yang ke-5. Kita bisa saksikan bahwa dibandingkan dengan iterasi Jacobi, problem sistem persamaan linear yang sama, bisa diselesaikan oleh metode iterasi Gauss-Seidel dalam 5 kali iterasi. k x (k) 1 0,0000 0,6000 1,030 1,0065 1,0009 1,0001 x (k) 2 0,0000 2,3272 2,037 2,0036 2,0003 2,0000 x (k) 3 0,0000-0,9873-1,014-1,0025-1,0003-1,0000 x (k) 4 0,0000 0,8789 0,9844 0,9983 0,9999 1,0000 Dari kasus ini, bisa kita simpulkan bahwa iterasi Gauss-Seidel bekerja lebih efektif dibandingkan iterasi Jacobi. Ya.., memang secara umum demikian, akan tetapi ternyata ditemukan kondisi yang sebaliknya pada kasus-kasus yang lain. Algoritma Iterasi Jacobi Langkah 1: Tentukan k=1 Langkah 2: Ketika (k N) lakukan Langkah 3-6
71 6.1. PENYEDERHANAAN 55 Langkah 3: Untuk i=1,...,n, hitunglah x i = i 1 j=1 a ijx j n j=i+1 a ijxo j + b i a ii Langkah 4: Jika x XO < ǫ, maka keluarkan OUTPUT (x 1,..., x n ) lalu STOP Langkah 5: Tentukan k=k+1 Langkah 6: Untuk i=1,...n, tentukan XO i = x i Langkah 7: OUTPUT ( Iterasi maksimum telah terlampaui ) lalu STOP Program dalam Fortran IMPLICIT NONE DIMENSION A(10,10),B(10),X(10),XO(10) REAL A,B,X,XO,EPS,NORM,S1,S2 INTEGER N,I,J,K,ITMAX WRITE(*,*) WRITE(*,*) ==> ITERASI GAUSS-SEIDEL UNTUK SISTEM LINEAR <== WRITE(*,*) WRITE (*, (1X,A) ) JUMLAH PERSAMAAN? READ (*,*) N WRITE (*,*) MASUKAN ELEMEN-ELEMEN MATRIK A DAN VEKTOR B DO 52 I = 1,N DO 62 J = 1,N WRITE (*, (1X,A,I2,A,I2,A) ) A(,I,,,J, ) = READ (*,*) A(I,J) 62 CONTINUE WRITE (*, (1X,A,I2,A) ) B(,I, )? READ (*,*) B(I) WRITE (*,*) 52 CONTINUE WRITE (*, (1X,A) ) JUMLAH ITERASI MAKSIMUM? READ (*,*) ITMAX WRITE (*, (1X,A) ) NILAI EPSILON ATAU TOLERANSI? READ (*,*) EPS WRITE (*,*) MASUKAN NILAI AWAL UNTUK XO DO 72 I = 1,N WRITE (*, (1X,A,I2,A) ) XO(,I, )? READ (*,*) XO(I) 72 CONTINUE WRITE (*,*)
72 56 BAB 6. ITERASI GAUSS-SEIDEL C MENAMPILKAN MATRIK A WRITE (*, (1X,A) ) MATRIK A: DO 110 I = 1,N WRITE (*,6) (A(I,J),J=1,N) 110 CONTINUE WRITE (*,*) C MENAMPILKAN VEKTOR B WRITE (*, (1X,A) ) VEKTOR B: DO 111 I = 1,N WRITE (*,6) B(I) 111 CONTINUE WRITE (*,*) C LANGKAH 1 K = 1 C LANGKAH IF(K.GT.ITMAX) GOTO 200 C LANGKAH 3 DO 10 I = 1,N S1 = 0.0 DO 20 J=I+1,N S1 = S1-A(I,J)*XO(J) 20 CONTINUE S2 = 0.0 DO 23 J=1,I-1 S2 = S2-A(I,J)*X(J) 23 CONTINUE X(I) = (S2+S1+B(I))/A(I,I) 10 CONTINUE C SAYA PILIH NORM-2. ANDA BOLEH PAKAI NORM YANG LAIN! NORM = 0.0 DO 40 I=1,N NORM = NORM + (X(I)-XO(I))*(X(I)-XO(I)) 40 CONTINUE NORM = SQRT(NORM) WRITE(*, (1X,A,I3) ) ITERASI KE-, K WRITE(*, (1X,A,F14.8) ) NORM-2 =, NORM WRITE(*, (1X,A,I3,A,F14.8) ) ( X(,I, ) =, X(I),I=1,N) WRITE(*,*) C LANGKAH 4 IF(NORM.LE.EPS) THEN WRITE(*,7) K,NORM
73 6.1. PENYEDERHANAAN 57 GOTO 400 END IF C LANGKAH 5 K = K+1 C LANGKAH 6 DO 30 I=1,N XO(I) = X(I) 30 CONTINUE GOTO 100 C LANGKAH CONTINUE WRITE(*,9) 400 STOP 5 FORMAT(1X,I3) 6 FORMAT(1X,(6(1X,F14.8))) 7 FORMAT(1X, KONVERGEN PADA ITERASI YANG KE-,I3, *, NORM=,F14.8) 9 FORMAT(1X, MELEBIHI BATAS MAKSIMUM ITERASI ) END Demikianlah catatan singkat dari saya tentang metode Iterasi Gauss-Seidel. Saya cukupkan sementara sampai disini. Insya Allah akan saya sambung lagi dilain waktu. Kalau ada yang mau didiskusikan, silakan hubungi saya melalui [email protected].
74
75 Bab 7 Iterasi Succesive-Over-Relaxation Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik. 7.1 Penyederhanaan Metode Iterasi Relaksasi (Relaxation method) dinyatakan dengan rumus berikut: x (k) i = (1 ω) x (k 1) i + ω i 1 b i a ii j=1 a ij x (k) j n j=i+1 a ij x (k 1) j (7.1) dimana i=1,2,3,...,n. Untuk lebih jelasnya, marilah kita perhatikan contoh berikut, diketahui sistem persamaan linear Ax = b yaitu 4x 1 + 3x 2 + = 24 3x 1 + 4x 2 x 3 = 30 x 2 + 4x 3 = 24 memiliki solusi (3, 4, 5) t. Metode Gauss-Seidel dan Relaksasi dengan ω = 1, 25 akan digunakan untuk menyelesaikan sistem persamaan linear di atas dengan x (0) = (1, 1, 1) t. Untuk 59
76 60 BAB 7. ITERASI SUCCESIVE-OVER-RELAXATION Tabel 7.1: Gauss-Seidel k x (k) 1 1 5,2500 3,1406 3,0879 3,0549 3,0343 3,0215 3,0134 x (k) 2 1 3,8125 3,8828 3,9267 3,9542 3,9714 3,9821 3,9888 x (k) 3 1-5,0468-5,0293-5,0183-5,0114-5,0072-5,0044-5,0028 Tabel 7.2: Relaksasi dengan ω = 1, 25 k x (k) 1 1 6,3125 2,6223 3,1333 2,9570 3,0037 2,9963 3,0000 x (k) 2 1 3,5195 3,9585 4,0102 4,0075 4,0029 4,0009 4,0002 x (k) 3 1-6,6501-4,6004-5,0967-4,9735-5,0057-4,9983-5,0003 setiap nilai k = 1, 2, 3,..., persamaan Gauss-Seidelnya adalah x (k) 1 = 0, 75x (k 1) x (k) 2 = 0, 75x (k) 1 + 0, 25x (k 1) 3 + 7, 5 x (k) 3 = 0, 25x (k) 2 6 Sedangkan persamaan untuk metode Relaksasi dengan ω = 1, 25 adalah x (k) 1 = 0, 25x (k 1) 1 0, 9375x (k 1) 2 + 7, 5 x (k) 2 = 0, 9375x (k) 1 0, 25x (k 1) 2 + 0, 3125x (k 1) 3 + 9, 375 x (k) 3 = 0, 3125x (k) 2 0, 25x (k 1) 3 7, 5 Tabel berikut ini menampilkan perhitungan dari masing-masing metode hingga iterasi ke-7. Dari kasus ini, bisa kita simpulkan bahwa iterasi Relaksasi memerlukan proses iterasi yang lebih singkat dibandingkan iterasi Gauss-Seidel. Jadi, pada kasus ini (dan juga secara umum), Relaksasi lebih efektif dibandingkan Gauss-Seidel. Pertanyaannya sekarang, bagaimana menentukan nilai ω yang optimum? Metode Relaksasi dengan pilihan nilai ω yang berkisar antara 0 dan 1 disebut metode under-relaxation, dimana metode ini berguna agar sistem persamaan linear mencapai kondisi konvergen walaupun sistem tersebut sulit mencapai kondisi konvergen dengan metode Gauss-Seidel. Sementara bila ω nilainya lebih besar dari angka 1, maka disebut metode successive over-relaxation (SOR), yang mana metode ini berguna untuk mengakselerasi atau mempercepat kondisi konvergen dibandingkan dengan Gauss-Seidel. Metode SOR ini juga sangat berguna untuk menyelesaikan sistem persamaan linear yang muncul dari persamaan diferensialparsial tertentu. Algoritma Iterasi Relaksasi Langkah 1: Tentukan k=1
77 7.1. PENYEDERHANAAN 61 Langkah 2: Ketika (k N) lakukan Langkah 3-6 Langkah 3: Untuk i=1,...,n, hitunglah x i = (1 ω) XO i + ( ω i 1 j=1 a ijx j ) n j=i+1 a ijxo j + b i Langkah 4: Jika x XO < ǫ, maka keluarkan OUTPUT (x 1,..., x n ) lalu STOP Langkah 5: Tentukan k=k+1 Langkah 6: Untuk i=1,...n, tentukan XO i = x i Langkah 7: OUTPUT ( Iterasi maksimum telah terlampaui ) lalu STOP a ii Demikianlah catatan singkat dari saya tentang metode Iterasi Relaksasi. Saya cukupkan sementara sampai disini. Insya Allah akan saya sambung lagi dilain waktu. Kalau ada yang mau didiskusikan, silakan hubungi saya melalui [email protected].
78
79 Bab 8 Interpolasi Lagrange Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik. 8.1 Penyederhanaan Interpolasi Lagrange diterapkan untuk mendapatkan fungsi polinomial P(x) berderajat tertentu yang melewati sejumlah titik data. Misalnya, kita ingin mendapatkan fungsi polinomial berderajat satu yang melewati dua buah titik yaitu (x 0, y 0 ) dan (x 1, y 1 ). Langkah pertama yang kita lakukan adalah mendefinisikan fungsi berikut dan L 0 (x) = x x 1 x 0 x 1 L 1 (x) = x x 0 x 1 x 0 kemudian kita definisikan fungsi polinomial sebagai berikut P(x) = L 0 (x)y 0 + L 1 (x)y 1 Jika semua persamaan diatas kita gabungkan, maka akan didapat P(x) = L 0 (x)y 0 + L 1 (x)y 1 P(x) = x x 1 x 0 x 1 y 0 + x x 0 x 1 x 0 y 1 63
80 64 BAB 8. INTERPOLASI LAGRANGE dan ketika x = x 0 P(x 0 ) = x 0 x 1 x 0 x 1 y 0 + x 0 x 0 x 1 x 0 y 1 = y 0 dan pada saat x = x 1 P(x 1 ) = x 1 x 1 x 0 x 1 y 0 + x 1 x 0 x 1 x 0 y 1 = y 1 dari contoh ini, kira-kira apa kesimpulan sementara anda? Ya.. kita bisa sepakat bahwa fungsi polinomial benar-benar melewati titik (x 0, y 0 ) dan (x 1, y 1 ). P(x) = x x 1 x 0 x 1 y 0 + x x 0 x 1 x 0 y 1 (8.1) Sekarang mari kita perhatikan lagi contoh lainnya. Misalnya ada tiga titik yaitu (x 0, y 0 ), (x 1, y 1 ) dan (x 2, y 2 ). Tentukanlah fungsi polinomial yang melewati ketiganya! Dengan pola yang sama kita bisa awali langkah pertama yaitu mendefinisikan lalu dan L 0 (x) = (x x 1)(x x 2 ) (x 0 x 1 )(x 0 x 2 ) L 1 (x) = (x x 0)(x x 2 ) (x 1 x 0 )(x 1 x 2 ) L 2 (x) = (x x 0)(x x 1 ) (x 2 x 0 )(x 2 x 1 ) kemudian kita definisikan fungsi polinomial sebagai berikut P(x) = L 0 (x)y 0 + L 1 (x)y 1 + L 2 (x)y 2 Jika semua persamaan diatas kita gabungkan, maka akan didapat fungsi polinomial P(x) = (x x 1)(x x 2 ) (x 0 x 1 )(x 0 x 2 ) y 0 + (x x 0)(x x 2 ) (x 1 x 0 )(x 1 x 2 ) y 1 + (x x 0)(x x 1 ) (x 2 x 0 )(x 2 x 1 ) y 2 Kita uji sebentar. Ketika x = x 0 P(x 0 ) = (x 0 x 1 )(x 0 x 2 ) (x 0 x 1 )(x 0 x 2 ) y 0 + (x 0 x 0 )(x 0 x 2 ) (x 1 x 0 )(x 1 x 2 ) y 1 + (x 0 x 0 )(x 0 x 1 ) (x 2 x 0 )(x 2 x 1 ) y 2 = y 0 pada saat x = x 1 P(x 1 ) = (x 1 x 1 )(x 1 x 2 ) (x 0 x 1 )(x 0 x 2 ) y 0 + (x 1 x 0 )(x 1 x 2 ) (x 1 x 0 )(x 1 x 2 ) y 1 + (x 1 x 0 )(x 1 x 1 ) (x 2 x 0 )(x 2 x 1 ) y 2 = y 1 pada saat x = x 2 P(x 2 ) = (x 2 x 1 )(x 2 x 2 ) (x 0 x 1 )(x 0 x 2 ) y 0 + (x 2 x 0 )(x 2 x 2 ) (x 1 x 0 )(x 1 x 2 ) y 1 + (x 2 x 0 )(x 2 x 1 ) (x 2 x 0 )(x 2 x 1 ) y 2 = y 2
81 8.1. PENYEDERHANAAN 65 Terbukti bahwa fungsi polonomial P(x) = (x x 1)(x x 2 ) (x 0 x 1 )(x 0 x 2 ) y 0 + (x x 0)(x x 2 ) (x 1 x 0 )(x 1 x 2 ) y 1 + (x x 0)(x x 1 ) (x 2 x 0 )(x 2 x 1 ) y 2 (8.2) melewati ketiga titik tadi. Kalau kita bandingkan antara persamaan (8.1) dan persamaan (8.2), terlihat bahwa derajat persamaan (8.2) lebih tinggi dibandingkan dengan derajat persamaan (8.1). Hal ini terlihat dari x 2 pada persamaan (8.2) sementara pada persamaan (8.1) hanya ada x. persamaan (8.2) disebut funsi polinomial berderajat 2, sedangkan persamaan (8.1) disebut fungsi polinomial berderajat 1.
82
83 Bab 9 Interpolasi Cubic Spline Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik. 9.1 Penyederhanaan Gambar 9.1: Fungsi f(x) dengan sejumlah titik data Diketahui suatu fungsi f(x) (Figure 9.1) yang dibatasi oleh interval a dan b, dan memiliki sejumlah titik data a = x 0 < x 1 <... < x n = b. Interpolasi cubic spline S(x) adalah sebuah potongan fungsi polinomial kecil-kecil (Figure 9.2) berderajat tiga (cubic) yang menghubungkan dua titik data yang bersebelahan dengan ketentuan sebagai berikut: 1. S j (x) adalah potongan fungsi yang berada pada sub-interval dari x j hingga x j+1 untuk 67
84 68 BAB 9. INTERPOLASI CUBIC SPLINE Gambar 9.2: Pendekatan dengan polinomial cubic spline nilai j = 0, 1,..., n 1; 2. S(x j ) = f(x j ), artinya pada setiap titik data (x j ), nilai f(x j ) bersesuaian dengan S(x j ) dimana j = 0, 1,..., n; 3. S j+1 (x j+1 ) = S j (x j+1 ). Perhatikan titik x j+1 pada Figure 9.2. Ya.. tentu saja jika fungsi itu kontinyu, maka titik x j+1 menjadi titik sambungan antara S j dan S j S j+1 (x j+1) = S j (x j+1), artinya kontinyuitas menuntut turunan pertama dari S j dan S j+1 pada titik x j+1 harus bersesuaian. 5. S j+1 (x j+1) = S j (x j+1), artinya kontinyuitas menuntut turunan kedua dari S j dan S j+1 pada titik x j+1 harus bersesuaian juga. 6. Salah satu syarat batas diantara 2 syarat batas x 0 dan x n berikut ini mesti terpenuhi: S (x 0 ) = S (x n ) = 0 ini disebut natural boundary S (x 0 ) = f (x 0 ) dan S (x n ) = f (x n ) ini disebut clamped boundary Polinomial cubic spline S (polinomial pangkat 3) untuk suatu fungsi f berdasarkan ketentuan di atas adalah S j (x) = a j + b j (x x j ) + c j (x x j ) 2 + d j (x x j ) 3 (9.1) dimana j = 0, 1,..., n 1. Maka ketika x = x j S j (x j ) = a j + b j (x j x j ) + c j (x j x j ) 2 + d j (x j x j ) 3 S j (x j ) = a j = f(x j ) Itu artinya, a j selalu jadi pasangan titik data dari x j. Dengan pola ini maka pasangan titik data x j+1 adalah a j+1, konsekuensinya S(x j+1 ) = a j+1. Berdasarkan ketentuan (3), yaitu ketika x = x j+1 dimasukan ke persamaan (16.7) a j+1 = S j+1 (x j+1 ) = S j (x j+1 ) = a j + b j (x j+1 x j ) + c j (x j+1 x j ) 2 + d j (x j+1 x j ) 3
85 9.1. PENYEDERHANAAN 69 dimana j = 0, 1,..., n 2. Sekarang, kita nyatakan h j = x j+1 x j, sehingga a j+1 = a j + b j h j + c j h 2 j + d j h 3 j (9.2) Kemudian, turunan pertama dari persamaan (16.7) adalah S j(x) = b j + 2c j (x x j ) + 3d j (x x j ) 2 ketika x = x j, S j(x j ) = b j + 2c j (x j x j ) + 3d j (x j x j ) 2 = b j dan ketika x = x j+1, b j+1 = S j(x j+1 ) = b j + 2c j (x j+1 x j ) + 3d j (x j+1 x j ) 2 Ini dapat dinyatakan sebagai b j+1 = b j + 2c j (x j+1 x j ) + 3d j (x j+1 x j ) 2 dan dinyatakan dalam h j b j+1 = b j + 2c j h j + 3d j h 2 j (9.3) Berikutnya, kita hitung turunan kedua dari persamaan (16.7) S j (x) = 2c j + 6d j (x x j ) (9.4) tapi dengan ketentuan tambahan yaitu S (x)/2, sehingga persamaan ini dimodifikasi menjadi S j (x) = c j + 3d j (x x j ) dengan cara yang sama, ketika x = x j S j (x j ) = c j + 3d j (x j x j ) = c j dan ketika x = x j+1 c j+1 = S j (x j+1 ) = c j + 3d j (x j+1 x j ) c j+1 = c j + 3d j h j (9.5) dan d j bisa dinyatakan d j = 1 3h j (c j+1 c j )
86 70 BAB 9. INTERPOLASI CUBIC SPLINE dari sini, persamaan (9.2) dapat ditulis kembali a j+1 = a j + b j h j + c j h 2 j + d j h 3 j sementara persamaan (9.3) menjadi = a j + b j h j + c j h 2 j + h2 j 3 (c j+1 c j ) = a j + b j h j + h2 j 3 (2c j + c j+1 ) (9.6) b j+1 = b j + 2c j h j + 3d j h 2 j = b j + 2c j h j + h j (c j+1 c j ) = b j + h j (c j + c j+1 ) (9.7) Sampai sini masih bisa diikuti, bukan? Selanjutnya, kita coba mendapatkan b j dari persamaan (9.6) b j = 1 h j (a j+1 a j ) h j 3 (2c j + c j+1 ) (9.8) dan untuk b j 1 b j 1 = 1 h j 1 (a j a j 1 ) h j 1 3 (2c j 1 + c j ) (9.9) Langkah berikutnya adalah mensubtitusikan persamaan (9.8) dan persamaan (9.9) kedalam persamaan (9.7), h j 1 c j 1 + 2(h j 1 + h j )c j + h j c j+1 = 3 h j (a j+1 a j ) 3 h j 1 (a j a j 1 ) (9.10) dimana j = 1, 2,..., n 1. Dalam sistem persamaan ini, nilai {h j } j=0 n 1 dan nilai {a j} n j=0 sudah diketahui, sementara nilai {c j } n j=0 belum diketahui dan memang nilai inilah yang akan dihitung dari persamaan ini. Sekarang coba perhatikan ketentuan nomor (6), ketika S (x 0 ) = S (x n ) = 0, berapakah nilai c 0 dan c n? Nah, kita bisa evaluasi persamaan (9.4) S (x 0 ) = 2c 0 + 6d 0 (x 0 x 0 ) = 0 jelas sekali c 0 harus berharga nol. Demikian halnya dengan c n harganya harus nol. Jadi untuk natural boundary, nilai c 0 = c n = 0.
87 9.1. PENYEDERHANAAN 71 Persamaan (9.10) dapat dihitung dengan operasi matrik Ax = b dimana h 0 2(h 0 + h 1 ) h h 1 2(h 1 + h 2 ) h A = h n 2 2(h n 2 + h n 1 ) h n c 0 c x = 1. c n 0 3 h 1 (a 2 a 1 ) 3 h 0 (a 1 a 0 ) b =. 3 h n 1 (a n a n 1 ) 3 h n 2 (a n 1 a n 2 ) 0 Sekarang kita beralih ke clamped boundary dimana S (a) = f (a) dan S (b) = f (b). Nah, kita bisa evaluasi persamaan (9.8) dengan j = 0, dimana f (a) = S (a) = S (x 0 ) = b 0, sehingga f (a) = 1 h 0 (a 1 a 0 ) h 0 3 (2c 0 + c 1 ) konsekuensinya, 2h 0 c 0 + h 0 c 1 = 3 h 0 (a 1 a 0 ) 3f (a) (9.11) Sementara pada x n = b n dengan persamaan (9.7) f (b) = b n = b n 1 + h n 1 (c n 1 + c n ) sedangkan b n 1 bisa didapat dari persamaan (9.9) dengan j = n 1 Jadi b n 1 = 1 h n 1 (a n a n 1 ) h n 1 3 (2c n 1j + c n ) f (b) = = 1 (a n a n 1 ) h n 1 h n 1 3 (2c n 1j + c n ) + h n 1 (c n 1 + c n ) 1 (a n a n 1 + h n 1 h n 1 3 (c n 1j + 2c n )
88 72 BAB 9. INTERPOLASI CUBIC SPLINE dan akhirnya kita peroleh h n 1 c n 1 + 2h n 1 C n = 3f (b) 3 h n 1 (a n a n 1 ) (9.12) Persamaan (9.11) dan persamaan (9.12) ditambah persamaan (9.10 membentuk operasi matrik Ax = b dimana 2h 0 h h 0 2(h 0 + h 1 ) h h 1 2(h 1 + h 2 ) h A = h n 2 2(h n 2 + h n 1 ) h n h n 1 2h n 1 c 0 c x = 1. 3 h 0 (a 1 a 0 ) 3f (a) 3 h 1 (a 2 a 1 ) 3 h 0 (a 1 a 0 ) b =. 3 h n 1 (a n a n 1 ) 3 h n 2 (a n 1 a n 2 ) 3f (b) 3 h n 1 (a n a n 1 ) c n
89 9.1. PENYEDERHANAAN 73 Gambar 9.3: Profil suatu object Gambar 9.4: Sampling titik data
90 74 BAB 9. INTERPOLASI CUBIC SPLINE Gambar 9.5: Hasil interpolasi cubic spline Gambar 9.6: Hasil interpolasi lagrange
91 j x j a j b j c j d j 0 0,9 1,3 5,4 0,00-0,25 1 1,3 1,5 0,42-0,30 0,95 2 1,9 1,85 1,09 1,41-2,96 3 2,1 2,1 1,29-0,37-0,45 4 2,6 2,6 0,59-1,04 0,45 5 3,0 2,7-0,02-0,50 0,17 6 3,9 2,4-0,5-0,03 0,08 7 4,4 2,15-0,48 0,08 1,31 8 4,7 2,05-0,07 1,27-1,58 9 5,0 2,1 0,26-0,16 0, ,0 2,25 0,08-0,03 0, ,0 2,3 0,01-0,04-0, ,0 2,25-0,14-0,11 0, ,2 1,95-0,34-0,05-0, ,5 1,4-0,53-0,1-0, ,3 0,9-0,73-0,15 1, ,6 0,7-0,49 0,94-0, ,0 0,6-0,14-0,06 0, ,6 0,5-0,18 0-0, ,0 0,4-0,39-0,54 0, ,3 0,25
92
93 Bab 10 Metode Euler Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik Penyederhanaan Suatu persamaan diferensial dapat dinyatakan sebagai berikut: dy dt = f(t, y), a t b, y(a) = α (10.1) Pada kenyataannya, melalui pendekatan numerik, kita tidak akan memperoleh solusi fungsi yang kontinyu; yang mungkin kita dapat adalah solusi diskrit dalam bentuk mesh points di dalam interval [a,b]. Setelah diperoleh solusi numerik pada suatu point, maka point-point yang lainpun bisa dicari dengan cara interpolasi. Tahap awal solusi pendekatan numerik adalah dengan menentukan point-point dalam jarak yang sama di dalam interval [a,b], yaitu dengan menerapkan t i = a + ih, i = 0, 1, 2,..., N (10.2) Jarak antar point dirumuskan sebagai h = b a N (10.3) ini disebut step size. Metode Euler diturunkan dari deret Taylor. Misalnya, fungsi y(t) adalah fungsi yang kontinyu 77
94 78 BAB 10. METODE EULER Gambar 10.1: Metode Euler dan memiliki turunan dalam interval [a,b]. Maka dalam deret Taylor Karena h = (t i+1 t i ), maka y(t i+1 ) = y(t i ) + (t i+1 t i )y (t i ) + (t i+1 t i ) 2 y (ξ i ) (10.4) 2 dan, karena y(t) memenuhi persamaan diferensial (10.1), y(t i+1 ) = y(t i ) + hy (t i ) + h2 2 y (ξ i ) (10.5) y(t i+1 ) = y(t i ) + hf(t i, y(t i )) + h2 2 y (ξ i ) (10.6) Metode Euler dibangun dengan pendekatan w i y(t i ) untuk i = 1, 2, 3,..., N, dengan mengabaikan suku terakhir yang terdapat pada persamaan (10.6). Jadi metode Euler dinyatakan sebagai w 0 = α (10.7) w i+1 = w i + hf(t i, w i ) (10.8) dimana i = 0, 1, 2,.., N 1 Contoh Diketahui persamaan diferensial y = y t 2 + 1, 0 t 2, y(0) = 0, 5 dimana N = 10. Sehingga h = b a N = = 0, 2
95 10.1. PENYEDERHANAAN 79 dan serta t i = a + ih = 0 + i(0, 2) t i = 0, 2i w 0 = 0, 5 Dengan demikian persamaan euler dapat dinyatakan sebagai w i+1 = w i + h(w i t 2 i + 1) = w i + 0, 2(w i 0, 04i 2 + 1) = 1, 2w i 0, 008i 2 + 0, 2 dimana i = 0, 1,...,9. Pada saat i = 0 dan dari syarat awal diketahui w 0 = 0, 5 w 1 = 1, 2w 0 0, 008(0) 2 + 0, 2 = 0, Pada saat i = 1 Pada saat i = 2 w 2 = 1, 2w 1 0, 008(1) 2 + 0, 2 = 1, w 3 = 1, 2w 2 0, 008(2) 2 + 0, 2 = 1, Demikian seterusnya, hingga pada i = 9 w 10 = 1, 2w 9 0, 008(9) 2 + 0, 2 = 4, Disisi lain, solusi exact persamaan diferensial adalah y(t) = (t + 1) 2 0, 5e t Tabel dibawah ini memperlihatkan solusi metode euler dan solusi exact serta error atau selisih antara keduanya. Trend error menunjukan bahwa ketika i semakin besar, error juga semakin meningkat. Figure (13.3) memperlihatkan kurva peningkatan error ketika i semakin besar. Untuk mengatasi hal ini, salah satu pemecahannya adalah dengan menerapkan deret Taylor berorde lebih tinggi, atau cara lainnya adalah dengan menggunakan metode Runge-Kutta yang akan dijelaskan pada pertemuan berikutnya. Demikianlah catatan singkat dari saya tentang metode Euler untuk mencari solusi persamaan diferensial dengan syarat awal tertentu. Saya cukupkan sementara sampai disini. Insya Allah akan saya sambung dengan metode Runge-Kutta pada pertemuan mendatang. Kalau ada yang mau didiskusikan, silakan hubungi saya melalui [email protected].
96 t i w i y i = y(t i ) w i y i 0,0 0, , , ,2 0, , , ,4 1, , , ,6 1, , , ,8 1, , , ,0 2, , , ,2 2, , , ,4 3, , , ,6 3, , , ,8 4, , , ,0 4, , , Gambar 10.2: Trend error metode euler
97 Bab 11 Metode Runge Kutta Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik Penyederhanaan Pada saat membahas metode Euler untuk penyelesaian persamaan diferensial, kita telah sampai pada kesimpulan bahwa truncation error metode Euler terus membesar seiring dengan bertambahnya iterasi. Dikaitkan dengan hal tersebut, metode Runge-Kutta Orde Empat menawarkan penyelesaian persamaan diferensial dengan pertumbuhan truncation error yang jauh lebih kecil. Persamaan-persamaan yang menyusun metode Runge-Kutta Orde Empat adalah w 0 = α k 1 = hf(t i, w i ) (11.1) k 2 = hf(t i + h 2, w i k 1) (11.2) k 3 = hf(t i + h 2, w i k 2) (11.3) k 4 = hf(t i+1, w i + k 3 ) (11.4) w i+1 = w i (k 1 + 2k 2 + 2k 3 + k 4 ) (11.5) Contoh Diketahui persamaan diferensial y = y t 2 + 1, 0 t 2, y(0) = 0, 5 81
98 82 BAB 11. METODE RUNGE KUTTA dengan mengganti y menjadi w, kita bisa nyatakan f(t i, w i ) sebagai f(t i, w i ) = w i t 2 i + 1 Jika N = 10, maka dan serta h = b a N = = 0, 2 t i = a + ih = 0 + i(0, 2) t i = 0, 2i w 0 = 0, 5 Sekarang mari kita demonstrasikan metode Runge-Kutta Orde Empat ini. Untuk menghitung w 1, tahap-tahap perhitungannya dimulai dari menghitung k 1 k 1 = hf(t 0, w 0 ) = h(w 0 t ) = 0, 2((0, 5) (0, 0) 2 + 1) = 0, 3 lalu menghitung k 2 k 2 = hf(t 0 + h 2, w 0 + k 1 2 ) = h[(w 0 + k 1 2 ) (t 0 + h 2 )2 + 1)] = 0, 2[(0, 5 + 0, 3 0, 2 ) (0, )2 + 1)] = 0, 328 dilanjutkan dengan k 3 k 3 = hf(t 0 + h 2, w 0 + k 2 2 ) = h[(w 0 + k 2 2 ) (t 0 + h 2 )2 + 1)] 0, 328 = 0, 2[(0, 5 + ) (0, 0 + 0, )2 + 1)] = 0, 3308
99 11.1. PENYEDERHANAAN 83 kemudian k 4 k 4 = hf(t 1, w 0 + k 3 ) = h[(w 0 + k 3 ) t ] = 0, 2[(0, 5 + 0, 3308) (0, 2) 2 + 1] = 0, akhirnya diperoleh w 1 w 1 = w (k 1 + 2k 2 + 2k 3 + k 4 ) = 0, (0, 3 + 2(0, 328) + 2(0, 3308) + 0, 35816) 6 = 0, (0, 3 + 0, , , 35816) 6 = 0, Dengan cara yang sama, w 2, w 3, w 4 dan seterusnya dapat dihitung. Tabel berikut menunjukkan hasil perhitungannya. i t i w i y i = y(t i ) w i y i 0 0,0 0, , , ,2 0, , , ,4 1, , , ,6 1, , , ,8 2, , , ,0 2, , , ,2 3, , , ,4 3, , , ,6 4, , , ,8 4, , , ,0 5, , , Dibandingkan dengan metode Euler, tingkat pertumbuhan truncation error, pada kolom w i y i, jauh lebih rendah sehingga metode Runge-Kutta Orde Empat lebih disukai untuk membantu menyelesaikan persamaan-diferensial-biasa. Contoh tadi tampaknya dapat memberikan gambaran yang jelas bahwa metode Runge-Kutta Orde Empat dapat menyelesaikan persamaan diferensial biasa dengan tingkat akurasi yang lebih tinggi. Namun, kalau anda jeli, ada suatu pertanyaan cukup serius yaitu apakah metode ini dapat digunakan bila pada persamaan diferensialnya tidak ada variabel t? Misalnya pada kasus berikut ini Sebuah kapasitor yang tidak bermuatan dihubungkan secara seri dengan sebuah resistor dan baterry (Figure 11.1). Diketahui ǫ = 12 volt, C = 5,00 µf dan R = 8, Ω. Saat saklar
100 84 BAB 11. METODE RUNGE KUTTA Gambar 11.1: Rangkaian RC dihubungkan (t=0), muatan belum ada (q=0). dq dt = ǫ R q RC (11.6) Solusi exact persamaan (11.6) adalah ( q exact = q(t) = Cǫ 1 e t/rc) (11.7) Anda bisa lihat semua suku di ruas kanan persamaan (11.6) tidak mengandung variabel t. Padahal persamaan-persamaan penyusun metode Runge-Kutta selalu mencantumkan variabel t. Apakah persamaan (11.6) tidak bisa diselesaikan dengan metode Runge-Kutta? Belum tentu. Sekarang, kita coba selesaikan, pertama kita nyatakan m 1 = ǫ = 1, R m 2 = 1 = 0, 25 RC sehingga persamaan (11.6) dimodifikasi menjadi dq dt = f(q i) = m 1 q i m 2 t i = a + ih Jika t 0 = 0, maka a = 0, dan pada saat itu (secara fisis) diketahui q 0 = 0, 0. Lalu jika ditetapkan h = 0, 1 maka t 1 = 0, 1 dan kita bisa mulai menghitung k 1 dengan menggunakan q 0 = 0, 0, walaupun t 1 tidak dilibatkan dalam perhitungan ini k 1 = hf(q 0 ) = h(m 1 q 0 m 2 ) = 0, 1((1, ) (0, 0)(0, 25)) = 0,
101 11.1. PENYEDERHANAAN 85 lalu menghitung k 2 k 2 = hf(q 0 + k 1 2 ) = h[(m 1 (q 0 + k 1 2 )m 2)] = 0, 1[(1, ((0, 0) + = 0, , )(0, 25)] 2 dilanjutkan dengan k 3 k 3 = hf(q 0 + k 2 2 ) = h[(m 1 (q 0 + k 2 2 )m 2)] = 0, 1[(1, ((0, 0) + = 0, , )(0, 25)] 2 kemudian k 4 k 4 = hf(q 0 + k 3 ) = h[(m 1 (q 0 + k 3 )m 2 )] = 0, 1[(1, ((0, 0) + 0, )(0, 25)] = 0, akhirnya diperoleh q 1 q 1 = q (k 1 + 2k 2 + 2k 3 + k 4 ) = 0, (0, (0, 14813) + 2(0, 14815) + 0, 14630) = 0, Selanjutnya q 2 dihitung. Tentu saja pada saat t 2, dimana t 2 = 0, 2, namun sekali lagi, t 2 tidak terlibat dalam perhitungan ini. Dimulai menghitung k 1 kembali k 1 = hf(q 1 ) = h(m 1 q 1 m 2 ) = 0, 1((1, ) (0, )(0, 25)) = 0,
102 86 BAB 11. METODE RUNGE KUTTA lalu menghitung k 2 k 2 = hf(q 1 + k 1 2 ) = h[(m 1 (q 1 + k 1 2 )m 2)] = 0, 1[(1, ((0, ) + = 0, , )(0, 25)] 2 dilanjutkan dengan k 3 k 3 = hf(q 1 + k 2 2 ) = h[(m 1 (q 1 + k 2 2 )m 2)] = 0, 1[(1, ((0, ) + = 0, , )(0, 25)] 2 kemudian k 4 k 4 = hf(q 1 + k 3 ) = h[(m 1 (q 1 + k 3 )m 2 )] = 0, 1[(1, ((0, ) + 0, )(0, 25)] = 0, akhirnya diperoleh q 2 q 2 = q (k 1 + 2k 2 + 2k 3 + k 4 ) = 0, (0, (0, 14447) + 2(0, 14449) + 0, 14268) = 0, Dengan cara yang sama, q 3, q 4, q 5 dan seterusnya dapat dihitung. Tabel di atas menunjukkan hasil perhitungannya. Kolom q exact diperoleh dari persamaan (11.7). Luar biasa!! Tak ada error sama sekali. Mungkin, kalau kita buat 7 angka dibelakang koma, errornya akan terlihat. Tapi kalau anda cukup puas dengan 5 angka dibelakang koma, hasil ini sangat memuaskan. Figure 11.2 memperlihatkan kurva penumpukan muatan q terhadap waktu t. Berikut ini adalah script dalam matlab yang dipakai untuk menghitung q clear all clc E=12; R=800000;
103 11.1. PENYEDERHANAAN 87 i t i q i q exact = q(t i ) q i q exact 0 0,0 0, , , ,1 0, , , ,2 0, , , ,3 0, , , ,4 0, , , ,5 0, , , ,6 0, , , ,7 0, , , ,8 1, , , ,9 1, , , ,0 1, , ,00000 C=5e-6; m1=e/r; m2=1/(r*c); b=20.0; a=0.0; h=0.1; n=(b-a)/h; q0=0.0; t0=0.0; for i=1:n t(i)=a+i*h; end for i=1:n if i==1 k1=h*(m1-(m2*q0)); k2=h*(m1-(m2*(q0+(k1/2)))); k3=h*(m1-(m2*(q0+(k2/2)))); k4=h*(m1-(m2*(q0+k3))); q(i)=q0+(k1+(2*k2)+(2*k3)+k4)/6; else k1=h*(m1-(m2*q(i-1))); k2=h*(m1-(m2*(q(i-1)+(k1/2)))); k3=h*(m1-(m2*(q(i-1)+(k2/2)))); k4=h*(m1-(m2*(q(i-1)+k3))); q(i)=q(i-1)+(k1+(2*k2)+(2*k3)+k4)/6; end end q Sampai disini mudah-mudahan jelas dan bisa dimengerti. Silakan anda coba untuk kasus yang lain, misalnya proses pembuangan (discharging) q pada rangkaian yang sama, atau bisa juga
104 88 BAB 11. METODE RUNGE KUTTA 6 x Gambar 11.2: Kurva muatan q terhadap waktu t anda berlatih dengan rangkaian RL dan RLC. Saya akhiri dulu uraian saya sampai disini.
105 Bab 12 Metode Finite Difference Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik Penyederhanaan Suatu persamaan diferensial dapat dinyatakan sebagai berikut: d 2 y dx2(x) = p(x)dy (x) + q(x)y(x) + r(x), a x b, y(a) = α, y(b) = β (12.1) dx atau juga dapat dituliskan dalam bentuk lain y = p(x)y + q(x)y + r(x) (12.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 (12.3) 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 (12.4) Pencarian solusi persamaan diferensial dengan pendekatan numerik memanfaatkan polinomi- 89
106 90 BAB 12. METODE FINITE DIFFERENCE al Taylor untuk mengevaluasi y dan y pada x i+1 dan x i 1 dan y(x i+1 ) = y(x i + h) = y(x i ) + hy (x i ) + h2 2 y (x i ) + h3 6 y (x i ) + h4 24 y(4) (ξ + i ) (12.5) y(x i 1 ) = y(x i h) = y(x i ) hy (x i ) + h2 2 y (x i ) h3 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 2 [y(x i+1) 2y(x i ) + y(x i 1 )] h2 ] [y (4) (ξ i + 24 ) + y(4) (ξi ) lalu disederhanakan menjadi y (x i ) = 1 h 2 [y(x i+1) 2y(x i ) + y(x i 1 )] h2 12 y(4) (ξ i ) (12.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 ) (12.7) Jika suku terakhir pada persamaan (12.6) dan (12.7) diabaikan, maka persamaan (12.2)dapat dinyatakan sebagai y(x i+1 ) 2y(x i ) + y(x i 1 ) h 2 = p(x i ) [ y(xi+1 ) y(x i 1 ) 2h ] + q(x i )y(x i ) + r(x i ) Metode Finite-Difference yang mengabaikan truncation error (persamaan (12.6) dan (12.7)) dapat digunakan untuk mensubstitusi persamaan diferensial yang dinyatakan oleh persamaan (12.2) ( wi+1 + 2w i w i 1 dimana kita definisikan h 2 ) + p(x i ) ( wi+1 w i 1 2h ) + q(x i )w i = r(x i ) (12.8) y(a) = w 0 = α, y(b) = w N+1 = β Selanjutnya persamaan (12.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 ) (12.9)
107 12.1. PENYEDERHANAAN 91 sehingga sistem persamaan linear yang diperoleh dari persamaan (12.9) dapat dinyatakan sebagai bentuk operasi matrik Aw = b (12.10) dimana A adalah matrik tridiagonal dengan orde N N 2 + h 2 q(x 1 ) 1 + h 2 p(x 1) h 2 p(x 2) 2 + h 2 q(x 2 ) 1 + h 2 p(x 2) h 2 p(x 3) 2 + h 2 q(x 3 ) 1 + h 2 p(x 3) A = h 2 p(x 4) 2 + h 2 q(x 4 ) 1 + h 2 p(x 4) h 2 p(x N 1) 2 + h 2 q(x N 1 ) 1 + h 2 p( h 2 p(x N) 2 + h 2 q w = w 1 w 2. w N 1 w N h 2 r(x 1 ) + ( 1 + h 2 p(x 1) ) w 0 h 2 r(x 2 ) b =. 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 memiliki solusi exact dimana dan y = 2 x y + 2 sin(lnx) x2y + x 2, 1 x 2, y(1) = 1, y(2) = 2, y = c 1 x + c 2 x sin(lnx) 1 10 cos(lnx), c 2 = 1 [8 12 sin(ln2) 4 cos(ln2)] 0, c 1 = c 2 1, Dengan metode Finite-Difference, solusi pendekatan dapat diperoleh dengan membagi inter-
108 92 BAB 12. METODE FINITE DIFFERENCE val 1 x 2 menjadi sub-interval, misalnya kita gunakan N = 9, sehingga spasi h diperoleh h = b a N + 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(lnx 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 Unx i w i y(x i ) w i y(x i ) 1,0 1, , ,1 1, , , ,2 1, , , ,3 1, , , ,4 1, , , ,5 1, , , ,6 1, , , ,7 1, , , ,8 1, , , ,9 1, , , ,0 2, , tuk memperkecil orde 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(lnx) x2y + x 2, 1 x 2, y(1) = 1, y(2) = 2, dengan h = 0, 1, h = 0, 05, h = 0, 025. Ekstrapolasi Richardson terdiri atas 3 tahapan, yaitu ekstrapolasi yang pertama Ext 1i = 4w i(h = 0, 05) w i (h = 0, 1) 3
109 12.1. PENYEDERHANAAN 93 kemudian ekstrapolasi yang kedua dan terakhir ekstrapolasi yang ketiga Ext 2i = 4w i(h = 0, 025) w i (h = 0, 05) 3 Ext 3i = 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, 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 3i 1,0 1, , , , , , ,1 1, , , , , , ,2 1, , , , , , ,3 1, , , , , , ,4 1, , , , , , ,5 1, , , , , , ,6 1, , , , , , ,7 1, , , , , , ,8 1, , , , , , ,9 1, , , , , , ,0 2, , , , , , 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 protected].
110
111 Bab 13 Integral Numerik Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik Penyederhanaan Suatu persamaan integral b a f(x)dx (13.1) disebut numerical quadrature. Pendekatan numerik untuk menyelesaikan integral tersebut adalah i=0 a i f(x i ) (13.2) n Metode Trapezoida Metode pendekatan yang paling dasar dalam integral numerik adalah metode Trapezoida b a f(x)dx = h 2 [f(x 0) + f(x 1 )] h3 12 f (ξ) (13.3) dimana x 0 = a, x 1 = b dan h = b a. Karena bagian error pada Trapezoida adalah f, maka pendekatan Trapezoida bekerja efektif pada fungsi-fungsi yang turunan kedua-nya bernilai nol. Metode Simpson 95
112 96 BAB 13. INTEGRAL NUMERIK Gambar 13.1: Metode Trapezoida Gambar 13.2: Metode Simpson Metode pendekatan yang lebih baik dalam integral numerik adalah metode Simpson b a f(x)dx = h 3 [f(x 0) + 4f(x 1 ) + f(x 2 )] h5 90 f4 (ξ) (13.4) dengan x 0 = a, x 2 = b, dan x 1 = a + h dimana h = (b a)/2. Contoh Metode Trapezoida untuk fungsi f pada interval [0,2] adalah 2 dimana x 0 = 0, x 1 = 2 dan h = 2 0 = 2, 0 f(x)dx f(0) + f(2)
113 13.1. PENYEDERHANAAN 97 sedangkan metode Simpson untuk fungsi f pada interval [0,2] adalah 2 0 f(x)dx 1 [f(0) + 4f(1) + f(2)] 3 dengan x 0 = 0, x 2 = 2, dan x 1 = a + h = 1 dimana h = (b a)/2 = 1. Tabel berikut ini memperlihatkan evaluasi integral numerik terhadap beberapa fungsi dalam interval [0,2] beserta solusi exact-nya. Jelas terlihat, metode Simpson lebih baik dibanding Trapezoida. f(x) x 2 x 4 1/(x + 1) 1 + x 2 sinx e x Nilai exact 2,667 6,400 1,099 2,958 1,416 6,389 Trapezoida 4,000 16,000 1,333 3,326 0,909 8,389 Simpson 2,667 6,667 1,111 2,964 1,425 6,421 Kalau diamati lebih teliti, akan kita dapatkan bahwa interval [0,2] telah dibagi 2 pada metode Simpson, sementara pada metode Trapesoida tidak dibagi sama sekali. Sebenarnya dengan membagi interval lebih kecil lagi, maka error-nya akan semakin kecil. Misalnya, banyaknya pembagian interval dinyatakan dengan n ketika n = 1: Trapesioda x1 x 0 f(x)dx = h 2 [f(x 0) + f(x 1 )] h3 12 f (ξ) (13.5) ketika n = 2: Simpson x2 x 0 f(x)dx = h 3 [f(x 0) + 4f(x 1 ) + f(x 2 )] h5 90 f4 (ξ) (13.6) ketika n = 3: Simpson tiga-per-delapan x3 x 0 f(x)dx = 3h 8 [f(x 0) + 3f(x 1 ) + 3f(x 2 ) + f(x 3 )] 3h5 80 f4 (ξ) (13.7) ketika n = 4: x4 x 0 f(x)dx = 2h 45 [7f(x 0) + 32f(x 1 ) + 12f(x 2 ) + 32f(x 3 ) + 7f(x 4 )] 8h7 945 f6 (ξ) (13.8) Keempat bentuk persamaan integral numerik di atas dikenal dengan closed Newton-Cotes formulas. Keterbatasan metode Newton-Cotes terlihat dari jumlah pembagian interval. Di atas tadi pembagian interval baru sampai pada n = 4. Bagaimana bila interval evaluasinya dipersempit supaya solusi numeriknya lebih mendekati solusi exact? Atau dengan kata lain n > 4. Coba perhatikan contoh berikut ini. Tentukan solusi numerik dari 4 0 ex dx. Metode Simpson dengan h = 2 (atau interval evaluasi
114 98 BAB 13. INTEGRAL NUMERIK integral dibagi 2, n = 2) memberikan hasil 4 0 e x dx 2 3 ( e 0 + 4e 2 + e 4) = 56, Padahal solusi exact dari integral tersebut adalah e 4 e 0 = 53, 59815, artinya terdapat error sebesar 3,17143 yang dinilai masih terlampau besar untuk ditolerir. Bandingkan dengan metode yang sama namun dengan h = 1 (atau interval evaluasi integral dibagi 4, n = 4) 4 0 e x dx = 2 0 e x dx e x dx 1 ( e 0 + 4e + e 2) + 1 ( e 2 + 4e 3 + e 4) 3 3 = 1 ( e 0 + 4e + 2e 2 + 4e 3 + e 4) 3 = 53, Hasil ini memperlihatkan error yang makin kecil, yaitu menjadi 0, Jadi dengan memperkecil h, error menjadi semakin kecil dan itu artinya solusi integral numerik semakin mendekati solusi exact. Sekarang kita coba kecilkan lagi nilai h menjadi h = 1 2 (atau interval evaluasi integral dibagi 8, n = 8), 4 0 e x dx = 1 0 e x dx e x dx e x dx e x dx 1 ( ) e 0 + 4e 1/2 + e + 1 ( e + 4e 3/2 + e 2) ( e 2 + 4e 5/2 + e 3) + 1 (e 3 + 4e 7/2 + e 4) 6 6 = 1 (e 0 + 4e 1/2 + 2e + 4e 3/2 + 2e 2 + 4e 5/2 + 2e 3 + 4e 7/2 + e 4) 6 = 53, dan seperti yang tadi kita simpulkan, error-nya semakin kecil menjadi 0, Prosedur ini dapat digeneralisir menjadi suatu formula sebagai berikut b a f(x)dx = = n/2 x2j j=1 n/2 j=1 x 2j 2 f(x)dx { } h 3 [f(x 2j 2) + 4f(x 2j 1 ) + f(x 2j )] h5 90 f(4) (ξ j ) (13.9) dimana h = (b a)/n dan x j = a+jh, untuk j = 1,..., n/2, dengan x 0 = a dan x n = b. Formula ini dapat direduksi menjadi b a f(x)dx = h f(x 0 ) (n/2) 1 j=1 n/2 f(x 2j ) + 4 f(x 2j 1 ) + f(x n ) h5 n/2 f (4) (ξ j ) (13.10) 90 j=1 j=1
115 13.1. PENYEDERHANAAN 99 Gambar 13.3: Metode Composite Simpson Formula ini dikenal sebagai metode Composite Simpson.
116 100 BAB 13. INTEGRAL NUMERIK Tugas#4 1. Hitunglah integral-integral berikut ini dengan metode Composite Simpson! a. b. c. d. e. f π/ xlnxdx, n = 4 2 x dx, n = 6 x x dx, n = 8 x 3 e x dx, n = 4 tan xdx, n = 8 1 x 2 4 dx, n = 8 2. Tentukan nilai n dan h untuk mengevaluasi 2 0 e 2x sin 3xdx dengan metode Composite Simpson, bila error yang ditolerir harus lebih kecil dari 10 4.
117 Bab 14 Metode Newton Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik Penyederhanaan Metode Newton sangat populer dan powerfull untuk mencari akar suatu fungsi yang kontinyu. Ada banyak jalan untuk memperkenalkan metode ini. Salah satunya bisa didahului mulai dari deret Taylor atau polinomial Taylor. Suatu fungsi yang kontinyu dapat dinyatakan dalam deret Taylor sebagai berikut f(x) = f( x) + (x x)f ( x) + (x x)2 f (ξ(x)) 2 0 = f( x) + (p x)f ( x) + (p x)2 f (ξ(p)) 2 0 = f( x) + (p x)f ( x) p x = f(x) f ( x) p x f(x) f ( x) p n = p n 1 f(p n 1) f (p n 1 ), n 1 101
118 102 BAB 14. METODE NEWTON Gambar 14.1: Metode Newton 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
119 Bab 15 Metode Monte Carlo Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik Penyederhanaan Kita awali pembahasan metode Monte Carlo dengan mengetengahkan contoh yang sangat terkenal yaitu menghitung luas suatu lingkaran. Fugure 1 memperlihatkan lingkaran dengan radius r = 1 berada di dalam kotak bujursangkar. Luas lingkaran adalah πr 2 = π(1) 2 = π sementara luas bujursangkar adalah (2) 2 = 4. Rasio antara luas lingkaran dan luas bola adalah ρ = luas lingkaran luas bujursangkar = π 4 = 0, (15.1) Jadi, dengan mengetahui nilai ρ, maka kita bisa menghitung luas lingkaran dengan cara luas lingkaran = ρ luas bujursangkar (15.2) Bayangkan anda punya satu set permainan dart. Anda lemparkan sejumlah dart ke arah lingkaran tadi. Misalnya, total dart yang menancap di papan dart ada 1024 buah. Sebanyak 812 dart berada di dalam lingkaran, dan yang lainnya di luar lingkaran. Rasio antara keduanya ρ = dart di dalam lingkaran total dart di dalam bujursangkar = 812 = 0, (15.3)
120 104 BAB 15. METODE MONTE CARLO Gambar 15.1: Lingkaran dan bujursangkar Gambar 15.2: Dart yang menancap pada bidang lingkaran dan bujursangkar Dengan pendekatan ke persamaan (15.2) maka luas lingkaran adalah luas lingkaran = ρ luas bujursangkar = 0, = 3, Apakah angka ini make sense? Mungkin anda masih ragu. Sekarang mari kita coba hitung nilai π dengan mengacu pada rumus di atas. Kita sepakati saja bahwa dart yang berada di dalam lingkaran mesti memenuhi x 2 i + y2 i 1. Dalam perhitungan, semua dart diganti dengan bilangan acak (random number). Dari 1000 dart, yang masuk lingkaran ada 787 buah, sehingga, mengacu persamaan (15.3) ρ = 787 = 0,
121 15.1. PENYEDERHANAAN 105 Gambar 15.3: Dart yang menancap pada bidang 1/4 lingkaran dan bujursangkar maka berdasarkan persamaan (15.1) π = ρ 4 = 0, = 3, 148 Lumayan akurat bukan? Semakin banyak jumlah dart, semakin akurat nilai π yang anda peroleh. Sekarang mari kita kembangkan metode Monte Carlo ini untuk menghitung luas suatu area yang terletak di bawah garis kurva suatu fungsi f(x). Atau sebut saja menghitung integral suatu fungsi f(x) yang dievaluasi antara batas a dan b. Luas kotak R yang melingkupi luas bidang integral A adalah R = {(x, y) : a x b dan 0 y d} (15.4) dimana d = maksimum f(x), a x b (15.5)
122
123 Bab 16 Inversi Linear Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik Penyederhanaan Diketahui data eksperimen tersaji dalam tabel berikut ini x i y i x i y i 1 1,3 6 8,8 2 3,5 7 10,1 3 4,2 8 12,5 4 5,0 9 13,0 5 7, ,6 Lalu data tersebut di-plot dalam sumbu x dan y. Sekilas, kita bisa melihat bahwa data yang telah di-plot tersebut dapat didekati dengan sebuah persamaan garis, yaitu a 1 x i + a 0. Artinya, kita melakukan pendekatan secara linear, dimana fungsi pendekatan-nya adalah P(x i ) = a 1 x i + a 0 (16.1) Problemnya adalah berapakah nilai konstanta a 1 dan a 0 yang sedemikian rupa, sehingga posisi garis tersebut paling mendekati atau bahkan melalui titik-titik data yang telah di-plot di atas? 107
124 108 BAB 16. INVERSI LINEAR Y X Dengan kata lain, sebisa mungkin y i sama dengan P(x i ) atau dapat diformulasikan sebagai m y i P(x i ) = 0 (16.2) i=1 m y i (a 1 x i + a 0 ) = 0 (16.3) i=1 dimana jumlah data, m = 10. Suku yang berada disebelah kiri dinamakan fungsi error (error function), yaitu E(a 0, a 1 ) = m y i (a 1 x i + a 0 ) (16.4) i=1 Semua data yang diperoleh melalui eksperimen, fungsi error-nya tidak pernah bernilai nol. Jadi, tidak pernah didapatkan garis yang berhimpit dengan semua titik data ekperimen. Namun demikian, kita masih bisa berharap agar fungsi error menghasilkan suatu nilai, dimana nilai tersebut adalah nilai yang paling minimum atau paling mendekati nol. Harapan tersebut diwujudkan oleh metode least square dengan sedikit modifikasi pada fungsi error-nya sehingga menjadi E(a 0, a 1 ) = m [y i (a 1 x i + a 0 )] 2 (16.5) i=1 Agar fungsi error bisa mencapai nilai minimum, maka syarat yang harus dipenuhi adalah: E(a 0, a 1 ) a i = 0 (16.6) dimana i = 0 dan 1, karena dalam kasus ini memang cuma ada a 0 dan a 1. Maka mesti ada dua
125 16.1. PENYEDERHANAAN 109 buah turunan yaitu: E(a 0, a 1 ) a 0 = m [y i (a 1 x i + a 0 )] 2 = 0 a 0 i=1 m 2 (y i a 1 x i a 0 )( 1) = 0 i=1 m m a 0.m + a 1 x i = y i (16.7) i=1 i=1 dan E(a 0, a 1 ) a 1 = m [y i (a 1 x i + a 0 )] 2 = 0 a 1 i=1 m 2 (y i a 1 x i a 0 )( x i ) = 0 i=1 m m m a 0 x i + a 1 x 2 i = x i y i (16.8) i=1 i=1 i=1 Akhirnya persamaan (16.7) dan (16.8) dapat dicari solusinya berikut ini: a 0 = m m i=1 x2 i i=1 y i m i=1 x m iy i i=1 x i m ( m ) i=1 x2 i ( m i=1 x i) 2 (16.9) dan a 1 = m m i=1 x iy i m i=1 x m i i=1 y i m ( m ) i=1 x2 i ( m i=1 x i) 2 (16.10) Coba anda bandingkan kedua hasil di atas dengan rumus least square yang terdapat pada buku Praktikum Fisika Dasar keluaran Departemen Fisika-UI. Mudah-mudahan sama persis. OK, berdasarkan data ekperimen yang ditampilkan pada tabel diawal catatan ini, maka didapat: dan a 0 = a 1 = Jadi, fungsi pendekatan-nya, P(x i ), adalah 385(81) 55(572, 4) 10(385) (55) 2 = 0, 360 (16.11) 10(572, 4) 55(81) 10(385) (55) 2 = 1, 538 (16.12) P(x i ) = 1, 538x i 0, 360 (16.13) Solusi least square dengan pendekatan persamaan garis seperti ini juga dikenal dengan nama lain yaitu regresi linear. Sedangkan nilai a 0 dan a 1 disebut koefisien regresi. Gambar di bawah ini menampilkan solusi regresi linear tersebut berikut semua titik datanya Tentu saja anda sudah bisa menduga bahwa selain regresi linear, mungkin saja terdapat regresi
126 110 BAB 16. INVERSI LINEAR P(x) = 1.538*x parabola atau quadratik dimana fungsi pendekatannya berupa persamaan parabola, yaitu: P(x i ) = a 2 x 2 i + a 1 x i + a 0 (16.14) dimana koefisien regresinya ada tiga yaitu a 0, a 1 dan a 2. Kalau anda menduga demikian, maka dugaan anda benar! Bahkan sebenarnya tidak terbatas sampai disitu. Secara umum, fungsi pendekatan, P(x i ), bisa dinyatakan dalam aljabar polinomial berikut ini: P(x i ) = a n x n i + a n 1 x n 1 i a 2 x 2 i + a 1 x i + a 0 (16.15) Namun untuk saat ini, saya tidak ingin memperluas pembahasan hingga regresi parabola, dan polinomial. Saya masih ingin melibatkan peranan metode eliminasi gauss dalam menyelesaikan problem least square seperti yang selalu saya singgung pada catatan-catatan kuliah saya yang terdahulu. Nah, kalau metode eliminasi gauss hendak digunakan untuk mencari solusi regresi linear, kita bisa mulai dari persamaan (16.7) dan (16.8), yaitu: m a 0.m + a 1 x i = i=1 m m a 0 x i + a 1 x 2 i = i=1 i=1 m i=1 y i m x i y i i=1 Keduanya bisa dinyatakan dalam operasi matrik: [ m m i=1 x i m i=1 x i m i=1 x2 i ] [ a 0 a 1 ] = [ m ] i=1 y i m i=1 x iy i (16.16) Kalau anda mengikuti catatan-catatan terdahulu, pasti anda tidak asing lagi dengan dengan semua elemen-elemen matrik di atas. Semua sudah saya ulas pada catatan yang berjudul Aplikasi Elimininasi Gauss: Model Garis. Silakan anda lanjutkan perhitungan matrik tersebut hingga diperoleh koefisien regresi a 0 dan a 1. Selamat mencoba!
127 Bab 17 Inversi Non-Linear Objektif : Mengenalkan matrik dan jenis-jenis matrik. Mengenalkan operasi penjumlahan dan perkalian matrik. Mendeklarasikan elemen-elemen matrik ke dalam memori komputer. Membuat script operasi matrik Penyederhanaan Persamaan least squares linear adalah sebagai berikut: [G t G]δm = G t δd (17.1) Persamaan least squares non-linear dapat dinyatakan sebagai berikut: [G t G + λi]δm = G t δd (17.2) dimana G adalah matrik kernel, namun dia juga biasa dikenal dengan sebutan matrik Jacobian, sementara λ adalah faktor pengali Lagrange, dan I adalah matrik identitas yang ordenya disesuaikan dengan G t G. Adapun definisi δm dan δd akan dijelaskan pada bagian akhir catatan ini. Langkah-langkah untuk menyelesaikan problem least squares non-linear adalah: 1. Menentukan model, misal f(x) = x m 2. Menghitung jacobian, G. Caranya adalah menghitung turunan pertama dari model terhadap model-parameter, m. Sesuai permisalan pada point 1, didapat A = f(m) m = xm ln(x) (17.3) 111
128 112 BAB 17. INVERSI NON-LINEAR 3. Membuat perhitungan simulasi, misalnya ditentukan m = 2. Nilai m adalah nilai yang hendak dicari. Dalam simulasi, nilai m dianggap sudah diketahui bahkan ditentukan. Lalu hitunglah f(x) = x m dengan x bergerak dari x = 1, 2, 3..,10. Jadi, nanti akan didapat 10 buah f(x). Mau lebih dari 10 juga boleh, terserah saja. Hasil hitungannya dikasih nama d, jadi d = f(x). Karena dalam simulasi ini x-nya bergerak hanya sampai 10, maka hasilnya mesti ada 10 d, yaitu d 1, d 2,.., d Buatlah perhitungan untuk m sembarang, misal mula-mula dipilih m = 5. Ini adalah nilai awal dari m yang akan diiterasikan sedemikian rupa hingga nantinya m akan menuju 2 sesuai dengan nilai m pada simulasi (point 3). Bagusnya dibedakan penulisannya, atau tulis saja m 0 = 5, dimana m 0 maksudnya adalah m mula-mula. Lalu hitung lagi nilai f(x) = x m0. Sekarang dinamakan d c = f(x). Jangan lupa bahwa saat perhitungan, nilai x bergerak dari 1 sampai 10. Jadi, nanti didapat 10 d c. 5. Hitunglah δd, dimana δd = d c d. Sebelumnya sudah dinyatakan bahwa d c ada 10 buah, demikian juga d ada 10 buah, maka δd harus ada 10 buah juga. 6. Selanjutnya hitung δd yang rumusnya seperti ini δd = 1 N Σ(dc d) 2 = 1 N Σδd2 (17.4) dimana N = 10 karena δd-nya ada 10. Rumus ini tidak mutlak harus demikian, anda bisa juga menggunakan norm 2, l Tentukan nilai epsilon, ǫ, misal ǫ = Lalu lakukan evaluasi sederhana. Cek, apakah δd < ǫ? Pasti awalnya δd > ǫ, kenapa? Karena m m 0. Kalau begini situasinya, δd yang ada 10 biji itu dimasukan kedalam proses berikutnya. 8. Hitunglah operasi matriks berikut ini untuk mendapatkan δm [G t G + λi]δm = G t δd (17.5) dengan λ-nya dikasih nilai sembarang antara 0 dan 1, misalnya λ = Perhitungan ini bisa diselesaikan dengan metode eliminasi gauss. 9. Ganti nilai m 0 menjadi m 1 sesuai dengan rumus m 1 = m 0 + δm (17.6) Nah, m 1 ini dimasukan ke proses yang dijelaskan pada point 4 kemudian proses diulangi hingga point 9, begitu seterusnya. Dari sinilah dimulai proses iterasi. Iterasi akan berhenti bila δd < ǫ. Pada saat itu, nilai m k akan mendekati m = 2 sesuai dengan m simulasi. Selamat mencoba! Saya juga telah menulis beberapa persamaan non-linear sebagai bahan latihan. Lihat saja di Latihan 1. Tapi tolong diperiksa lagi, apakah jacobiannya sudah be-
129 17.1. PENYEDERHANAAN 113 nar atau ada kekeliruan. Selanjutnya, kalau ada pertanyaan atau komentar, silakan kirim ke
130
131 Daftar Pustaka 115
132
LU DECOMPOSITION (FAKTORISASI MATRIK)
LU DECOMPOSITION (FAKTORISASI MATRIK) Dr. Eng. Supriyanto, M.Sc Lab. Komputer, Departemen Fisika, Universitas Indonesia email: [email protected] atau [email protected] 5 Februari 2005 Pada semua catatan
SISTEM PERSAMAAN LINEAR DAN ELIMINASI GAUSS
SISTEM PERSAMAAN LINEAR DAN ELIMINASI GAUSS Dr. Eng. Supriyanto, M.Sc Lab. Komputer, Departemen Fisika, Universitas Indonesia email: [email protected] atau [email protected] 5 Februari 2005 Abstract
INVERS MATRIK DAN ELIMINASI GAUSS
INVERS MATRIK DAN ELIMINASI GAUSS Dr. Eng. Supriyanto, M.Sc Lab. Komputer, Departemen Fisika, Universitas Indonesia email: [email protected] atau [email protected] 5 Februari 2005 Secara umum, sistem
Komputasi untuk Sains dan Teknik
Komputasi untuk Sains dan Teknik Supriyanto Suparno ( Website: http://supriyanto.fisika.ui.edu ) ( Email: [email protected] atau [email protected] ) Edisi II Revisi terakhir tgl: 28 April 2008 Departemen
Komputasi untuk Sains dan Teknik
Komputasi untuk Sains dan Teknik Supriyanto Suparno ( Website: http://supriyanto.fisika.ui.edu ) ( Email: [email protected] atau [email protected] ) Edisi II Revisi terakhir tgl: 12 Februari 2008 Departemen
MATRIK DAN KOMPUTASI
MATRIK DAN KOMPUTASI Penulis: Supriyanto, email: [email protected] Staf Lab. Komputer, Departemen Fisika, Universitas Indonesia Fukuoka, 5 Feb 2005 Catatan ini bermaksud menjelaskan secara singkat
Komputasi untuk Sains dan Teknik -Dalam Matlab-
Komputasi untuk Sains dan Teknik -Dalam Matlab- Supriyanto Suparno ( Website: http://supriyanto.fisika.ui.edu ) ( Email: [email protected] atau [email protected] ) Edisi III Revisi terakhir tgl: 25
Metode Matematika untuk Geofisika
Metode Matematika untuk Geofisika Supriyanto Suparno ( Website: http://supriyanto.fisika.ui.ac.id ) ( Email: [email protected] atau [email protected] ) Edisi I Revisi terakhir tgl: Desember 009 Departemen
METODE ITERASI DALAM SISTEM PERSAMAAN LINEAR
METODE ITERASI DALAM SISTEM PERSAMAAN LINEAR Penulis: Dr. Eng. Supriyanto, M.Sc, email: [email protected] Staf Lab. Komputer, Departemen Fisika, Universitas Indonesia Penulisan vektor-kolom Sebelum
Komputasi untuk Sains dan Teknik -Menggunakan Matlab-
Komputasi untuk Sains dan Teknik -Menggunakan Matlab- Supriyanto Suparno ( Website: http://supriyanto.fisika.ui.edu ) ( Email: [email protected] atau [email protected] ) Edisi III Revisi terakhir tgl:
PENDAHULUAN A. Latar Belakang 1. Metode Langsung Metode Langsung Eliminasi Gauss (EGAUSS) Metode Eliminasi Gauss Dekomposisi LU (DECOLU),
PENDAHULUAN A. Latar Belakang Persoalan yang melibatkan model matematika banyak muncul dalam berbagai disiplin ilmu pengetahuan, seperti dalam bidang fisika, kimia, ekonomi, atau pada persoalan rekayasa.
BAB 4 PENYELESAIAN SISTEM PERSAMAAN LINEAR
BAB 4 PENYELESAIAN SISTEM PERSAMAAN LINEAR A. Latar Belakang Persoalan yang melibatkan model matematika banyak muncul dalam berbagai disiplin ilmu pengetahuan, seperti dalam bidang fisika, kimia, ekonomi,
PAM 252 Metode Numerik Bab 3 Sistem Persamaan Linier
PAM 252 Metode Numerik Bab 3 Sistem Persamaan Linier Mahdhivan Syafwan Jurusan Matematika FMIPA Universitas Andalas Semester Genap 2016/2017 1 Mahdhivan Syafwan Metode Numerik: Sistem Persamaan Linier
PAM 252 Metode Numerik Bab 3 Sistem Persamaan Linier
PAM 252 Metode Numerik Bab 3 Sistem Persamaan Linier Mahdhivan Syafwan Jurusan Matematika FMIPA Universitas Andalas Semester Genap 2013/2014 1 Mahdhivan Syafwan Metode Numerik: Sistem Persamaan Linier
Komputasi untuk Sains dan Teknik
Komputasi untuk Sains dan Teknik Supriyanto Suparno ( Website: http://supriyanto.fisika.ui.edu ) ( Email: [email protected] atau [email protected] ) Edisi III Revisi terakhir tgl: 13 Oktober 2008 Departemen
6 Sistem Persamaan Linear
6 Sistem Persamaan Linear Pada bab, kita diminta untuk mencari suatu nilai x yang memenuhi persamaan f(x) = 0. Pada bab ini, masalah tersebut diperumum dengan mencari x = (x, x,..., x n ) yang secara sekaligus
SISTEM PERSAMAAN LINEAR ( BAGIAN II )
SISTEM PERSAMAAN LINEAR ( BAGIAN II ) D. FAKTORISASI MATRIKS D2 2. METODE ITERASI UNTUK MENYELESAIKAN SPL D3 3. NILAI EIGEN DAN VEKTOR EIGEN D4 4. POWER METHOD Beserta contoh soal untuk setiap subbab 2
Komputasi untuk Sains dan Teknik
Komputasi untuk Sains dan Teknik Supriyanto Suparno ( Website: http://supriyanto.fisika.ui.edu ) ( Email: [email protected] atau [email protected] ) Edisi III Revisi terakhir tgl: 9 Desember 2008 Departemen
03-Pemecahan Persamaan Linier (2)
-Pemecahan Persamaan Linier () Dosen: Anny Yuniarti, M.Comp.Sc Gasal - Anny Agenda Bagian : Matriks Invers Bagian : Eliminasi = Faktorisasi: A = LU Bagian : Transpos dan Permutasi Anny Bagian MATRIKS INVERS
PERBANDINGAN KOMPLEKSITAS ALGORITMA METODE-METODE PENYELESAIAN SISTEM PERSAMAAN LANJAR
PERBANDINGAN KOMPLEKSITAS ALGORITMA METODE-METODE PENYELESAIAN SISTEM PERSAMAAN LANJAR Achmad Dimas Noorcahyo NIM 3508076 Program Studi Teknik Informatika, Institut Teknologi Bandung Jalan Ganeca 0, Bandung
BAB 1 PENDAHULUAN. Sebuah garis dalam bidang xy secara aljabar dapat dinyatakan oleh persamaan yang berbentuk
BAB 1 PENDAHULUAN 1.1 Latar belakang Sebagian besar dari sejarah ilmu pengetahuan alam adalah catatan dari usaha manusia secara kontinu untuk merumuskan konsep-konsep yang dapat menguraikan permasalahan
Matriks - Definisi. Sebuah matriks yang memiliki m baris dan n kolom disebut matriks m n. Sebagai contoh: Adalah sebuah matriks 2 3.
MATRIKS Pokok Bahasan Matriks definisi Notasi matriks Matriks yang sama Panambahan dan pengurangan matriks Perkalian matriks Transpos suatu matriks Matriks khusus Determinan suatu matriks bujursangkar
MODUL 3 FAKTORISASI LU, PARTISI MATRIK DAN FAKTORISASI QR
MODUL 3 FAKTORISASI LU, PARTISI MATRIK DAN FAKTORISASI QR KOMPETENSI: 1. Memahami penggunaan faktorisasi LU dalam penyelesaian persamaan linear.. Memahami penggunaan partisi matrik dalam penyelesaian persamaan
REGRESI LINEAR DAN ELIMINASI GAUSS
REGRESI LINEAR DAN ELIMINASI GAUSS Penulis: Supriyanto, email: [email protected] Staf Lab. Komputer, Departemen Fisika, Universitas Indonesia Diketahui data eksperimen tersaji dalam tabel berikut ini
BAB 4 Sistem Persamaan Linear. Sistem m persamaan linear dalam n variabel LG=C adalah himpunan persamaan linear
BAB 4 Sistem Persamaan Linear berbentuk Sistem m persamaan linear dalam n variabel LG=C adalah himpunan persamaan linear Dengan koefisien dan adalah bilangan-bilangan yang diberikan. Sistem ini disebut
Solusi Sistem Persamaan Linear Ax = b
Solusi Sistem Persamaan Linear Ax = b Kie Van Ivanky Saputra April 27, 2009 K V I Saputra (Analisis Numerik) Kuliah Sistem Persamaan Linier c April 27, 2009 1 / 9 Review 1 Substitusi mundur pada sistem
02-Pemecahan Persamaan Linier (1)
-Pemecahan Persamaan Linier () Dosen: Anny Yuniarti, M.Comp.Sc Gasal - Anny Agenda Bagian : Vektor dan Persamaan Linier Bagian : Teori Dasar Eliminasi Bagian 3: Eliminasi Menggunakan Matriks Bagian 4:
Metode Matriks Balikan
Metode Matriks Balikan MisalkanA -1 adalahmatriksbalikandaria. Sistempersamaan lanjar Ax = b dapat diselesaikan sebagai berikut: Ax= b A -1 Ax= A -1 b I x= A -1 b (A -1 A = I ) x= A -1 b Cara penyelesaiandenganmengalikanmatriksa
Bab 7 Sistem Pesamaan Linier. Oleh : Devie Rosa Anamisa
Bab 7 Sistem Pesamaan Linier Oleh : Devie Rosa Anamisa Pendahuluan Bentuk umum dari aljabar linier sebagai berikut: a11x1 + a12a 12X2 +... + a1na 1nXn = b1b a21x1 + a22a 22X2 +... + a2na 2nXn = b2b...............
Part II SPL Homogen Matriks
Part II SPL Homogen Matriks SPL Homogen Bentuk Umum SPL homogen dalam m persamaan dan n variabel x 1, x 2,, x n : a 11 x 1 + a 12 x 2 + + a 1n x n = 0 a 21 x 1 + a 22 x 2 + + a 2n x n = 0 a m1 x 1 + a
Syarif Abdullah (G ) Matematika Terapan FMIPA Institut Pertanian Bogor.
Syarif Abdullah (G551150381) Matematika Terapan FMIPA Institut Pertanian Bogor e-mail: [email protected] 25 Maret 2016 Ringkasan Kuliah ke-6 Analisis Numerik (16 Maret 2016) Materi : System
BAB III : SISTEM PERSAMAAN LINIER
3.1 PENDAHULUAN BAB III : SISTEM PERSAMAAN LINIER Penyelesaian suatu sistem n persamaan dengan n bilangan tak diketahui banyak dijumpai dalam permasalahan teknik. Di dalam Bab ini akan dipelajari sistem
MATRIKS Matematika Industri I
MATRIKS TIP FTP UB Mas ud Effendi Pokok Bahasan Matriks definisi Notasi matriks Matriks yang sama Panambahan dan pengurangan matriks Perkalian matriks Transpos suatu matriks Matriks khusus Determinan suatu
Komputasi untuk Sains dan Teknik -Menggunakan Matlab-
Komputasi untuk Sains dan Teknik -Menggunakan Matlab- Supriyanto Suparno ( Website: http://supriyanto.fisika.ui.ac.id ) ( Email: [email protected] atau [email protected] ) Edisi IV Revisi terakhir
Sistem Persamaan Aljabar Linier
Sistem Persamaan Aljabar Linier Dimana: a ij = koefisien konstanta; x j = unknown ; b j = konstanta; n = banyaknya persamaan Metode-Metode untuk menyelesaikan Sistem Persamaan Aljabar Linier: 1. Metode
IMPLEMENTASI METODE DEKOMPOSISI LU PADA REGRESI LINIER BERGANDA
Seminar Nasional Teknologi Informasi & Komunikasi Terapan (Semantik ) ISBN 979-6 - 55 - Semarang, 3 Juni IMPLEMENTASI METODE DEKOMPOSISI LU PADA REGRESI LINIER BERGANDA Yuniarsi Rahayu Fakultas Ilmu Komputer
Interpolasi Cubic Spline
Interpolasi Cubic Spline Dr. Eng. Supriyanto, M.Sc Lab. Komputer, Departemen Fisika, Universitas Indonesia email: [email protected] atau [email protected] December 13, 2006 Figure 1: Fungsi f(x) dengan
SCRIPT PERSAMAAN CRAMER
SCRIPT PERSAMAAN CRAMER Program ; Uses crt; var a11,a12,a13,a21,a22,a23,a31,a32,a33,c1,c2,c3 : integer; D, Dx, Dy, Dz, x, y, z: real; Begin clrscr; writeln ('PENYELESAIAN PERS ALJABAR LINEAR':50); writeln
oleh : Edhy Suta tanta
ALGORITMA TEKNIK PENYELESAIAN PERMASALAHAN UNTUK KOMPUTASI oleh : Edhy Sutanta i KATA PENGANTAR Puji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa atas limpahan rahmat dan karunia-nya sehingga buku
BAB I PENDAHULUAN. 3) Untuk mengetahui apa yang dimaksud dengan invers matriks. 4) Untuk mengetahui apa yang dimaksud dengan determinan matriks
1.1 LATAR BELAKANG BAB I PENDAHULUAN Teori matriks merupakan salah satu cabang ilmu aljabar linier yang menjadi pembahasan penting dalam ilmu matematika. Sejalan dengan perkembangan ilmu pengetahuan, aplikasi
BAB X MATRIK DAN SISTEM PERSAMAAN LINIER SIMULTAN
1 BAB X MATRIK DAN SISTEM PERSAMAAN LINIER SIMULTAN Pembahasan berikut ini akan meninjau salah satu implementasi operasi matrik untuk menyelesaikan sistem persamaan linier simultan. Selain menggunakan
Solusi Persamaan Linier Simultan
Solusi Persamaan Linier Simultan Obyektif : 1. Mengerti penggunaan solusi persamaan linier 2. Mengerti metode eliminasi gauss. 3. Mampu menggunakan metode eliminasi gauss untuk mencari solusi 1. Sistem
MATRIKS Matematika Industri I
MATRIKS TIP FTP UB Mas ud Effendi Pokok Bahasan Matriks definisi Notasi matriks Matriks yang sama Panambahan dan pengurangan matriks Perkalian matriks Transpos suatu matriks Matriks khusus Determinan suatu
BAB II ISI ( ) (sumber:
BAB II ISI A. Permasalahan yang Diberikan Soal saudara dalam UTS ini harus terus digunakan untuk mengerjakan tugas proyek ini, yaitu: prediksi sifat-sifat tekanan uap murni suatu fluida hidrokarbon sebagai
MATRIKS. Notasi yang digunakan NOTASI MATRIKS
MATRIKS Beberapa pengertian tentang matriks : 1. Matriks adalah himpunan skalar (bilangan riil atau kompleks) yang disusun atau dijajarkan secara empat persegi panjang menurut baris-baris dan kolom-kolom.
BAB II LANDASAN TEORI. yang biasanya dinyatakan dalam bentuk sebagai berikut: =
BAB II LANDASAN TEORI 2.1 Matriks Definisi 2.1 (Lipschutz, 2006): Matriks adalah susunan segiempat dari skalarskalar yang biasanya dinyatakan dalam bentuk sebagai berikut: Setiap skalar yang terdapat dalam
BAB II KAJIAN TEORI. yang diapit oleh dua kurung siku sehingga berbentuk empat persegi panjang atau
BAB II KAJIAN TEORI Pada bab ini akan diberikan kajian teori mengenai matriks dan operasi matriks, program linear, penyelesaian program linear dengan metode simpleks, masalah transportasi, hubungan masalah
Komputasi untuk Sains dan Teknik
Komputasi untuk Sains dan Teknik Supriyanto Suparno ( Website: http://supriyanto.fisika.ui.edu ) ( Email: [email protected] atau [email protected] ) Edisi III Revisi terakhir tgl: 30 Agustus 2009 Departemen
SISTEM PERSAMAAN LINEAR
SISTEM PERSAMAAN LINEAR BAB 1 Dr. Abdul Wahid Surhim POKOK BAHASAN 1.1 Pengantar Sistem Persamaan Linear (SPL) 1.2 Eliminasi GAUSS-JORDAN 1.3 Matriks dan operasi matriks 1.4 Aritmatika Matriks, Matriks
MATRIKS. Matematika. FTP UB Mas ud Effendi. Matematika
MATRIKS FTP UB Mas ud Effendi Pokok Bahasan Transpos suatu matriks Matriks khusus Determinan suatu matriks bujursangkar Invers suatu matriks bujursangkar Penyelesaian set persamaan linier Nilai-eigen dan
Komputasi untuk Sains dan Teknik -Menggunakan Matlab-
Komputasi untuk Sains dan Teknik -Menggunakan Matlab- Supriyanto Suparno ( Website: http://supriyanto.fisika.ui.ac.id ) ( Email: [email protected] atau [email protected] ) Edisi Pertama Revisi terakhir
M AT E M AT I K A E K O N O M I MATRIKS DAN SPL I N S TITUT P ERTA N I A N BOGOR
M AT E M AT I K A E K O N O M I MATRIKS DAN SPL TO N I BAKHTIAR I N S TITUT P ERTA N I A N BOGOR 2 0 1 2 Kesetimbangan Dua Pasar Permintaan kopi bergantung tidak hanya pada harganya tetapi juga pada harga
MATRIK dan RUANG VEKTOR
MATRIK dan RUANG VEKTOR A. Matrik. Pendahuluan Sebuah matrik didefinisikan sebagai susunan persegi panjang dari bilangan bilangan yang diatur dalam baris dan kolom. Matrik ditulis sebagai berikut: a a
BAB 2 LANDASAN TEORI
BAB 2 LANDASAN TEORI Pada bab ini akan dibahas beberapa definisi dan teorema dengan atau tanpa bukti yang akan digunakan untuk menentukan regularisasi sistem singular linier. Untuk itu akan diberikan terlebih
Penggunaan Metode Dekomposisi LU Untuk Penentuan Produksi Suatu Industri Dengan Model Ekonomi Leontief
Penggunaan Metode Dekomposisi LU Untuk Penentuan Produksi Suatu Industri Dengan Model Ekonomi Leontief Achmad Dimas Noorcahyo - 13508076 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika
Bentuk umum : SPL. Mempunyai penyelesaian disebut KONSISTEN. Tidak mempunyai penyelesaian disebut TIDAK KONSISTEN TUNGGAL BANYAK
Bentuk umum : dimana x, x,..., x n variabel tak diketahui, a ij, b i, i =,,..., m; j =,,..., n bil. diketahui. Ini adalah SPL dengan m persamaan dan n variabel. SPL Mempunyai penyelesaian disebut KONSISTEN
Solusi Numerik Sistem Persamaan Linear
Solusi Numerik Sistem Persamaan Linear Modul #2 Praktikum AS2205 Astronomi Komputasi Oleh Dr. Muhamad Irfan Hakim Program Studi Astronomi Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi
BAB 4 : SISTEM PERSAMAAN LINIER
BAB 4 : SISTEM PERSAMAAN LINIER 4.1 PERSAMAAN LINIER Misalnya x 2 Matematika analitik membicarakan ilmu ukur secara aljabar. Garis lurus pada bidang x 1 dan x 2 dapat dinyatakan sebagai persamaan a 1 x
2. MATRIKS. 1. Pengertian Matriks. 2. Operasi-operasi pada Matriks
2. MATRIKS 1. Pengertian Matriks Matriks adalah himpunan skalar yang disusun secara empat persegi panjang menurut baris dan kolom. Matriks diberi nama huruf besar, sedangkan elemen-elemennya dengan huruf
BAB IV MENGHITUNG AKAR-AKAR PERSAMAAN
1 BAB IV MENGHITUNG AKAR-AKAR PERSAMAAN Dalam banyak usaha pemecahan permasalahan, seringkali harus diselesaikan dengan menggunakan persamaan-persamaan matematis, baik persamaan linier, persamaan kuadrat,
METODE FINITE-DIFFERENCE UNTUK PROBLEM LINEAR
METODE FINITE-DIFFERENCE UNTUK PROBLEM LINEAR Dr. Eng. Supriyanto, M.Sc Lab. Komputer, Departemen Fisika, Universitas Indonesia email: [email protected] atau [email protected] November 12, 2006 Suatu
BAB II DETERMINAN DAN INVERS MATRIKS
BAB II DETERMINAN DAN INVERS MATRIKS A. OPERASI ELEMENTER TERHADAP BARIS DAN KOLOM SUATU MATRIKS Matriks A = berdimensi mxn dapat dibentuk matriks baru dengan menggandakan perubahan bentuk baris dan/atau
ARRAY. Vektor adalah bentuk yang sederhana dari array, yang merupakan array dimensi satu. Array N dapat kita bayangkan :
ARRAY Array adalah suatu himpunan hingga elemen, terurut dan homogen. Terurut adalah elemen tersebut dapat diidentifikasikan sebagai elemen pertama, kedua, sampai dengan elemen ke-n. Homogen adalah bahwa
BAB 2 LANDASAN TEORI
BAB 2 LANDASAN TEORI 2.1 Sistem Persamaan Linier Sistem Persamaan dengan m persamaan dan n bilangan tak diketahui ditulis dengan : Dimana x 1, x 2, x n : bilangan tak diketahui a,b : konstanta Jika SPL
RENCANA PEMBELAJARAN SEMESTER (RPS)
RENCANA PEMBELAJARAN SEMESTER (RPS) IKG2E3 KOMPUTASI NUMERIK Disusun oleh: PROGRAM STUDI S1 ILMU KOMPUTASI FAKULTAS INFORMATIKA TELKOM UNIVERSITY LEMBAR PENGESAHAN Rencana Semester (RPS) ini
DIAGONALISASI MATRIKS KOMPLEKS
Buletin Ilmiah Mat Stat dan Terapannya (Bimaster) Volume 04, No 3 (2015), hal 337-346 DIAGONALISASI MATRIKS KOMPLEKS Heronimus Hengki, Helmi, Mariatul Kiftiah INTISARI Matriks kompleks merupakan matriks
BAB II TINJAUAN PUSTAKA
5 BAB II TINJAUAN PUSTAKA A Matriks 1 Pengertian Matriks Definisi 21 Matriks adalah kumpulan bilangan bilangan yang disusun secara khusus dalam bentuk baris kolom sehingga membentuk empat persegi panjang
a11 a12 x1 b1 Kumpulan Materi Kuliah #1 s/d #03 Tahun Ajaran 2016/2016: Oleh: Prof. Dr. Ir. Setijo Bismo, DEA.
a11 a12 x1 b1 a a x b 21 22 2 2 Kumpulan Materi Kuliah #1 s/d #03 Tahun Ajaran 2016/2016: Oleh: Prof. Dr. Ir. Setijo Bismo, DEA. a11 a12 x1 b1 a a x b 21 22 2 2 a11 a12 x1 b1 a a x b 21 22 2 2 Setijo Bismo
Prakata Hibah Penulisan Buku Teks
Prakata Syukur Alhamdulillah kami panjatkan ke hadhirat Allah SwT, atas hidayah dan kekuatan yang diberikannya kepada penulis sehingga penulis dapat menyelesaikan buku Pengantar Komputasi Numerik dengan
Matriks - 1: Beberapa Definisi Dasar Latihan Aljabar Matriks
Matriks - 1: Beberapa Definisi Dasar Latihan Aljabar Matriks Kuliah Aljabar Linier Semester Ganjil 2015-2016 MZI Fakultas Informatika Telkom University FIF Tel-U Agustus 2015 MZI (FIF Tel-U) Matriks -
METODE ITERATIF YANG DIPERCEPAT UNTUK Z-MATRIKS ABSTRACT
METODE ITERATIF YANG DIPERCEPAT UNTUK Z-MATRIKS Mildayani 1, Syamsudhuha 2, Aziskhan 2 1 Mahasiswa Program Studi S1 Matematika 2 Dosen Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Riau Kampus
PERANGKAT LUNAK BANTU ANALISIS NUMERIK METODE DETERMINAN CRAMER, ELIMINASI GAUSS DAN LELARAN GAUSS-SEIDEL UNTUK MENYELESAIKAN SISTEM PERSAMAAN LINEAR
PERANGKAT LUNAK BANTU ANALISIS NUMERIK METODE DETERMINAN CRAMER, ELIMINASI GAUSS DAN LELARAN GAUSS-SEIDEL UNTUK MENYELESAIKAN SISTEM PERSAMAAN LINEAR Tacbir Hendro Pudjiantoro A B S T R A K Salah satu
METODE ITERASI KSOR UNTUK MENYELESAIKAN SISTEM PERSAMAAN LINEAR ABSTRACT
METODE ITERASI KSOR UNTUK MENYELESAIKAN SISTEM PERSAMAAN LINEAR Adek Putri Syafriani, Syamsudhuha 2, Zulkarnain 2 Mahasiswa Program Studi S Matematika 2 Dosen Jurusan Matematika Fakultas Matematika dan
BAB 2 ARRAY. Array adalah suatu himpunan hingga elemen, terurut dan homogen.
BAB 2 ARRAY Array adalah suatu himpunan hingga elemen, terurut dan homogen ARRAY DIMENSI SATU Vektor adalah bentuk yang sederhana dari array, yang merupakan array dimensi satu Array N dapat kita bayangkan
TUGAS MANDIRI MATRIKS. Mata Kuliah : Matematika ekonomi
TUGAS MANDIRI MATRIKS Mata Kuliah : Matematika ekonomi NamaMahasiswa : Suriani NIM : 140610098 Kode Kelas Dosen : 141-MA112-M6 : NeniMarlinaPurbaS.Pd UNIVERSITAS PUTERA BATAM 2014 KATA PENGANTAR Puji syukur
STATEMENT FORMAT, DATA, PARAMETER, SPESIFIKASI DAN PENGERJAAN. Kuliah ke-3
STATEMENT FORMAT, DATA, PARAMETER, SPESIFIKASI DAN PENGERJAAN Kuliah ke-3 1 PROGRAM FORTRAN STATEMENT FORMAT Bentuk umum penulisan statement FORMAT adalah ; < label statement > FORMAT Penjelasan
uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx wertyuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopasdfg
uiopasdfghjklzxcvbnmqwertyuiopasd Qwertyuiopasdfghjklzxcvbnmqwerty cvbnmqwertyuiopasdfghjklzxcvbnmq fghjklzxcvbnmqwertyuiopasdfghjklzx wertyuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopasdfg
Interpolasi dan Ekstrapolasi
Interpolasi dan Ekstrapolasi JURNAL 01 Didalam pengertian matematika dasar, interpolasi adalah perkiran suatu nilai tengah dari satu set nilai yang diketahui. Interpoloasi dalam arti luas merupakan upaya
Penghitungan Polusi Udara Dalam Ruangan dengan Metode Eliminasi Gauss
Penghitungan Polusi Udara Dalam Ruangan dengan Metode Eliminasi Gauss Tri Hastuti Yuniati (23515009) 1 Program Studi Magister Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
(Departemen Matematika FMIPA-IPB) Matriks Bogor, / 66
MATRIKS Departemen Matematika FMIPA-IPB Bogor, 2012 (Departemen Matematika FMIPA-IPB) Matriks Bogor, 2012 1 / 66 Topik Bahasan 1 Matriks 2 Operasi Matriks 3 Determinan matriks 4 Matriks Invers 5 Operasi
Pertemuan 2 Matriks, part 2
Pertemuan 2 Matriks, part 2 Beberapa Jenis Matriks Khusus 1. Matriks Bujur Sangkar Suatu matriks dengan banyak baris = banyak kolom = n disebut matriks bujur sangkar berukuran n (berordo n). Barisan elemen
Interpolasi dan Ekstrapolasi
Metode Numerik Bab 1 Interpolasi dan Ekstrapolasi Didalam pengertian matematika dasar, interpolasi adalah perkiran suatu nilai tengah dari satu set nilai yang diketahui. Interpoloasi dalam arti luas merupakan
ISSN (Media Cetak) ISSN (Media Online) Implementasi Metode Eliminasi Gauss Pada Rangkaian Listrik Menggunakan Matlab
JITEKH, Vol, No, Tahun 27, -5 ISSN 28-577(Media Cetak) ISSN 2549-4 (Media Online) Implementasi Metode Eliminasi Gauss Pada Rangkaian Listrik Menggunakan Matlab Silmi, Rina Anugrahwaty 2 Staff Pengajar
Struktur dan Organisasi Data 2 ARRAY
ARRAY Array adalah suatu himpunan hingga elemen, terurut dan homogen Terurut adalah elemen tersebut dapat diidentifikasikan sebagai elemen pertama, kedua, sampai dengan elemen ke-n Homogen adalah bahwa
BAB II TINJAUAN PUSTAKA. Dalam bab ini dibahas tentang matriks, metode pengganda Lagrange, regresi
BAB II TINJAUAN PUSTAKA Dalam bab ini dibahas tentang matriks, metode pengganda Lagrange, regresi linear, metode kuadrat terkecil, restriksi linear, multikolinearitas, regresi ridge, uang primer, dan koefisien
SISTEM PERSAMAAN LINEAR
Pokok Bahasan : Sistem persamaan linier Sub Pokok Bahasan : Sistem persamaan linier Eliminasi Gauss Eliminasi Gauss Jordan Penyelesaian SPL dengan invers SISTEM PERSAMAAN LINEAR Tujuan : Menyelesaikan
Pelatihan fortran JURUSAN TEKNIK SIPIL 2014 / 2015
Pelatihan fortran JURUSAN TEKNIK SIPIL 2014 / 2015 STRUKTUR PROGRAM FORTRAN STRUKTUR DARI PROGRAM FORTRAN DIBAGI MENJADI 5 BAGIAN KOLOM DAN TIAP-TIAP BARIS DI DALAM PROGRAM DAPAT BERISI : 1) METACOMMAND
Pengolahan Dasar Matriks Bagus Sartono
Pengolahan Dasar Matriks Bagus Sartono [email protected] Departemen Statistika FMIPA IPB Notasi Dasar Matriks A mxn, m A n, [a ij ] mxn : matriks berukuran m x n (m baris, n kolom) a ij adalah elemen matriks
Modul Praktikum. Aljabar Linier. Disusun oleh: Machudor Yusman IR., M.Kom. Ucapan Terimakasih:
Modul Praktikum Aljabar Linier Disusun oleh: Machudor Yusman IR., M.Kom. Ucapan Terimakasih: David Abror Gabriela Minang Sari Hanan Risnawati Ichwan Almaza Nuha Hanifah Riza Anggraini Saiful Anwar Tri
Menentukan Nilai Eigen Tak Dominan Suatu Matriks Definit Negatif Menggunakan Metode Kuasa Invers dengan Shift
Jurnal Penelitian Sains Volume 14 Nomer 1(A) 14103 Menentukan Nilai Eigen Tak Dominan Suatu Matriks Definit Negatif Menggunakan Metode Kuasa Invers dengan Shift Yuli Andriani Jurusan Matematika FMIPA,
Pertemuan 14. persamaan linier NON HOMOGEN
Pertemuan 14 persamaan linier NON HOMOGEN 10 Metode GAUSS Aljabar Linier Hastha 2016 10.2.2 METODE ELIMINASI GAUSS Apabila [A][X]=[B] maka dengan menyusun matriks baru yaitu matriks [A.B] akan didapat
MOTIVASI. Secara umum permasalahan dalam sains dan teknologi digambarkan dalam persamaan matematika Solusi persamaan : 1. analitis 2.
KOMPUTASI NUMERIS Teknik dan cara menyelesaikan masalah matematika dengan pengoperasian hitungan Mencakup sejumlah besar perhitungan aritmatika yang sangat banyak dan menjemukan Diperlukan komputer MOTIVASI
RUNGE-KUTTA ORDE EMPAT
RUNGE-KUTTA ORDE EMPAT Dr. Eng. Supriyanto, M.Sc Lab. Komputer, Departemen Fisika, Universitas Indonesia email: [email protected] atau [email protected] December 30, 00 Pada saat membahas metode Euler
Bab 2 LANDASAN TEORI
17 Bab 2 LANDASAN TEORI 2.1 Aljabar Matriks 2.1.1 Definisi Matriks Matriks adalah suatu kumpulan angka-angka yang juga sering disebut elemen-elemen yang disusun secara teratur menurut baris dan kolom sehingga
Lampiran 1 Pembuktian Teorema 2.3
LAMPIRAN 16 Lampiran 1 Pembuktian Teorema 2.3 Sebelum membuktikan Teorema 2.3, terlebih dahulu diberikan beberapa definisi yang berhubungan dengan pembuktian Teorema 2.3. Definisi 1 (Matriks Eselon Baris)
8 MATRIKS DAN DETERMINAN
8 MATRIKS DAN DETERMINAN Matriks merupakan pengembangan lebih lanjut dari sistem persamaan linear. Oleh karenanya aljabar matriks sering juga disebut dengan aljabar linear. Matriks dapat digunakan untuk
MATRIKS Nuryanto, ST., MT.
MateMatika ekonomi MATRIKS TUJUAN INSTRUKSIONAL KHUSUS Setelah mempelajari bab ini, anda diharapkan dapat : 1. Pengertian matriks 2. Operasi matriks 3. Jenis matriks 4. Determinan 5. Matriks invers 6.
MATRIKS. Definisi: Matriks adalah susunan bilangan-bilangan yang berbentuk segiempat siku-siku yang terdiri dari baris dan kolom.
Page- MATRIKS Definisi: Matriks adalah susunan bilangan-bilangan yang berbentuk segiempat siku-siku yang terdiri dari baris dan kolom. Notasi: Matriks dinyatakan dengan huruf besar, dan elemen elemennya
MATRIKS A = ; B = ; C = ; D = ( 5 )
MATRIKS A. DEFINISI MATRIKS Matriks adalah suatu susunan bilangan berbentuk segi empat dari suatu unsur-unsur pada beberapa sistem aljabar. Unsur-unsur tersebut bisa berupa bilangan dan juga suatu peubah.
Trihastuti Agustinah
TE 467 Teknik Numerik Sistem Linear Trihastuti Agustinah Bidang Studi Teknik Sistem Pengaturan Jurusan Teknik Elektro - FTI Institut Teknologi Sepuluh Nopember O U T L I N E OBJEKTIF 2 3 CONTOH 4 SIMPULAN
