Metode Matematika untuk Geofisika
Supriyanto Suparno ( Website: http://supriyanto.fisika.ui.ac.id ) ( Email:
[email protected] atau
[email protected] ) Edisi I Revisi terakhir tgl: 2 Desember 2009
Departemen Fisika-FMIPA, Univeristas Indonesia Dipublikasikan pertama kali pada November 2008
Untuk Nina Marliyani Muflih Syamil dan Hasan Azmi
Ketekunan adalah jalan yang terpercaya untuk mengantarkan kita menuju kesuksesan (Supriyanto, 2007)
Kata Pengantar
Ini adalah buku ke-empat yang saya tulis dalam 2 tahun terakhir, semenjak saya kembali ke Indonesia. Namun isi-nya masih tidak terlepas dari dunia komputasi dan analisis numerik sebagaimana buku-buku karya saya sebelumnya. Kali ini, saya menulis buku untuk memberikan catatan kuliah Metode Matematika untuk Geofisika di Departemen Fisika, FMIPA-UI. Di dalam buku ini, algoritma numerik ditulis ke dalam bahasa pemrograman Matlab. Akhirnya saya ingin mengucapkan rasa terima kasih yang tak terhingga kepada Dede Djuhana yang telah berkenan memberikan format LATEX-nya sehingga tampilan tulisan pada buku ini benar-benar layaknya sebuah buku yang siap dicetak. Tak lupa, saya pun sepatutnya berterima kasih kepada seluruh rekan diskusi yaitu para mahasiswa yang telah mengambil mata kuliah Metode Matematika untuk Geofisika PTA 2008/2009 program Pasca Sarjana Ilmu Fisika di Departemen Fisika, FMIPA, Universitas Indonesia. Walaupun buku ini masih jauh dari sempurna, namun semoga ia dapat salah satu mata air ilmu pengetahuan anak bangsa. Saya izinkan anda meng-copy dan menggunakan buku ini selama itu ditujukan untuk belajar dan bukan untuk tujuan komersial. Bagi yang ingin berdiskusi, memberikan masukan, kritikan dan saran, silakan dikirimkan ke email saya yang tercantum di halaman depan buku ini.
Depok, 14 November 2008 Supriyanto Suparno
iii
iv
Daftar Isi
Lembar Persembahan
i
Kata Pengantar
iii
Daftar Isi
iii
Daftar Gambar
vi
Daftar Tabel
vii
1 Matrik dan Komputasi
1
1.1
Pengenalan matrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Inisialisasi matrik dalam memori komputer . . . . . . . . . . . . . . . . . . . . . .
2
1.3
Macam-macam matrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3.1
Matrik transpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3.2
Matrik bujursangkar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3.3
Matrik simetrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3.4
Matrik diagonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3.5
Matrik identitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.3.6
Matrik upper-triangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.3.7
Matrik lower-triangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.3.8
Matrik tridiagonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.3.9
Matrik diagonal dominan . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.3.10 Matrik positive-definite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.3.11 Vektor-baris dan vektor-kolom . . . . . . . . . . . . . . . . . . . . . . . . .
6
Operasi matematika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.4.1
Penjumlahan matrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.4.2
Komputasi penjumlahan matrik . . . . . . . . . . . . . . . . . . . . . . . .
7
1.4.3
Perkalian matrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.4.4
Komputasi perkalian matrik . . . . . . . . . . . . . . . . . . . . . . . . . .
12
1.4.5
Perkalian matrik dan vektor-kolom . . . . . . . . . . . . . . . . . . . . . .
13
1.4.6
Komputasi perkalian matrik dan vektor-kolom . . . . . . . . . . . . . . . .
14
1.5
Penutup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
1.6
Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
1.4
2 Formulasi Masalah Inversi
17
2.1
Klasifikasi masalah inversi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
2.2
Inversi Model Garis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
v
vi 2.3
Inversi Model Parabola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.4
Inversi Model Bidang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
2.5
Contoh aplikasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
2.5.1
Menghitung gravitasi di planet X . . . . . . . . . . . . . . . . . . . . . . . .
27
Kesimpulan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
2.6
Daftar Pustaka
33
Indeks
35
Daftar Gambar
2.1
Data observasi perubahan temperatur terhadap kedalaman dari permukaan tanah 18
2.2
Grafik data pengukuran gerak batu . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
2.3
Grafik hasil inversi parabola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
vii
viii
DAFTAR GAMBAR
Daftar Tabel
2.1
Data temperatur bawah permukaan tanah terhadap kedalaman . . . . . . . . . .
18
2.2
Data temperatur bawah permukaan tanah terhadap kedalaman . . . . . . . . . .
22
2.3
Data ketinggian terhadap waktu dari planet X . . . . . . . . . . . . . . . . . . . .
27
ix
x
DAFTAR TABEL
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 An×m . Huruf n menyatakan jumlah baris, dan huruf m jumlah kolom. Suatu matrik tersusun dari elemen-elemen yang dinyatakan dengan huruf kecil diikuti angka-angka indeks, misalnya aij , dimana indeks i menunjukan posisi baris ke-i dan indeks j menentukan posisi kolom ke-j.
a11
a12
. . . a1m
a21 A = (aij ) = .. .
a22 .. .
. . . a2m .. .
(1.1)
an1 an2 . . . anm
Contoh 1: Matrik A2×3 A=
"
# 3 8 5 6 4 7
dimana masing-masing elemennya adalah a11 = 3, a12 = 8, a13 = 5, a21 = 6, a22 = 4, dan a23 = 7. Contoh 2: Matrik B3×2
1 3 B = 5 9 2 4 1
BAB 1. MATRIK DAN KOMPUTASI
2
dimana masing-masing elemennya adalah b11 = 1, b12 = 3, b21 = 5, b22 = 9, b31 = 2, dan b32 = 4.
1.2
Inisialisasi matrik dalam memori komputer
Dalam bahasa pemrograman Matlab, cara mengisi memori komputer dengan elemen-elemen matrik A2×3 , sesuai dengan Contoh 1 adalah 1 2
clear all clc
3 4 5 6 7 8 9 10
A(1,1) A(1,2) A(1,3) A(2,1) A(2,2) A(2,3) A
= = = = = =
3; 8; 5; 6; 4; 7;
Sedangkan untuk matrik B3×2 , sesuai Contoh 2 adalah 1 2
clear all clc
3 4 5 6 7 8 9 10
B(1,1) B(1,2) B(2,1) B(2,2) B(3,1) B(3,2) B
= = = = = =
1; 3; 5; 9; 2; 4;
Ini bukan satu-satunya cara menginisialisasi suatu matrik, disamping itu, ada juga cara lain yang relatif lebih mudah. Misalnya untuk matrik A dan matrik B bisa ditulis sebagai berikut 1 2
clear all clc
3 4 5
A=[ 3 8 5 6 4 7 ];
6 7 8 9
B=[ 1 3 5 9 2 4 ];
atau 1 2
clear all clc
3 4 5
A=[ 3 8 5 ; 6 4 7 ]; B=[ 1 3 ; 5 9 ; 2 4];
1.3. MACAM-MACAM MATRIK
1.3
3
Macam-macam matrik
1.3.1 Matrik transpose Operasi transpose terhadap suatu matrik akan menukar elemen-elemen dalam satu kolom menjadi elemen-elemen dalam satu baris; demikian pula sebaliknya. Notasi matrik tranpose adalah AT . Contoh 3: Operasi transpose terhadap matrik A
A=
"
# 3 8 5 6 4 7
3 6 AT = 8 4 5 7
1.3.2 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 3
1 3 8 A = 5 9 7 2 4 6
1.3.3 Matrik simetrik Matrik simetrik adalah matrik bujursangkar yang elemen-elemen matrik A bernilai sama dengan matrik transpose-nya (AT ). Contoh 5: Matrik simetrik 2 −3 7 1 −3 5 6 −2 A= 7 6 9 8 1 −2 8 10
2
−3 7
1
−3 5 6 −2 A = 7 6 9 8 1 −2 8 10 T
1.3.4 Matrik diagonal Matrik diagonal adalah matrik bujursangkar yang seluruh elemen-nya bernilai 0 (nol), kecuali elemen-elemen diagonalnya. Contoh 6: Matrik diagonal orde 3 11 0 0 A = 0 29 0 0 0 61
BAB 1. MATRIK DAN KOMPUTASI
4 1.3.5 Matrik identitas
Matrik identitas adalah matrik bujursangkar yang semua elemen-nya bernilai 0 (nol), kecuali elemen-elemen diagonal yang seluruhnya bernilai 1. Contoh 7: Matrik identitas orde 3 1 0 0 I = 0 1 0 0 0 1 1.3.6 Matrik upper-triangular Matrik upper-tringular adalah matrik bujursangkar yang seluruh elemen dibawah elemen diagonal bernilai 0 (nol). Contoh 8: Matrik upper-triangular 3 0 A= 0 0
6 2 1 4 1 5 0 8 7 0 0 9
1.3.7 Matrik lower-triangular Matrik lower-tringular adalah matrik bujursangkar yang seluruh elemen diatas elemen diagonal bernilai 0 (nol). Contoh 9: Matrik lower-triangular
0 32 −2 0 0 A= 8 7 11 0 −5 10 6 9 12
0
0
1.3.8 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 3 6 0 0 2 −4 1 0 A= 0 5 8 −7 0 0 3 9
1.3. MACAM-MACAM MATRIK
5
1.3.9 Matrik diagonal dominan Matrik diagonal dominan adalah matrik bujursangkar yang memenuhi |aii | >
n X
|aij |
(1.2)
j=1,j6=i
dimana i=1,2,3,..n. Coba perhatikan matrik-matrik berikut ini 7 2 0 A = 3 5 −1 0 5 −6
−3 B = 4 −2 0 −3 0 1 6
4
Pada elemen diagonal aii matrik A, |7| > |2|+|0|, lalu |5| > |3|+|−1|, dan |−6| > |5|+|0|. Maka matrik A disebut matrik diagonal dominan. Sekarang perhatikan elemen diagonal matrik B, |6| < |4| + | − 3|, | − 2| < |4| + |0|, dan |1| < | − 3| + |0|. Dengan demikian, matrik B bukan matrik diagonal dominan. 1.3.10 Matrik positive-definite Suatu matrik dikatakan positive-definite bila matrik tersebut simetrik dan memenuhi xt Ax > 0
(1.3)
Contoh 11: Diketahui matrik simetrik berikut
2
A = −1 0
−1
0
2
−1 −1 2
untuk menguji apakah matrik A bersifat positive-definite, maka
xt Ax =
h
i
2
−1
0
x1
x1 x2 x3 −1 2 −1 x2 0 −1 2 x3 2x1 − x2 i h = x1 x2 x3 −x1 + 2x2 − x3 −x2 + 2x3 = 2x21 − 2x1 x2 + 2x22 − 2x2 x3 + 2x23
= x21 + (x21 − 2x1 x2 + x22 ) + (x22 − 2x2 x3 + x23 ) + x23 = x21 + (x1 − x2 )2 + (x2 − x3 )2 + x23 Dari sini dapat disimpulkan bahwa matrik A bersifat positive-definite, karena memenuhi x21 + (x1 − x2 )2 + (x2 − x3 )2 + x23 > 0
BAB 1. MATRIK DAN KOMPUTASI
6 kecuali jika x1 =x2 =x3 =0. 1.3.11 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 i i h h a = a11 a12 . . . a1m = a1 a2 . . . am
(1.4)
Sedangkan suatu matrik dinamakan vektor-kolom berukuran n, bila hanya memiliki satu kolom dan n baris, yang dinyatakan sebagai berikut
a11
a1
a21 a2 a= .. = .. . . an1 an
1.4
(1.5)
Operasi matematika
1.4.1 Penjumlahan matrik Operasi penjumlahan pada dua buah matrik hanya bisa dilakukan bila kedua matrik tersebut berukuran sama. Misalnya matrik C2×3 C=
"
9 5 3 7 2 1
#
dijumlahkan dengan matrik A2×3 , lalu hasilnya (misalnya) dinamakan matrik D2×3 D=A+C
D =
"
=
"
=
"
# 3 8 5 6 4 7
+
"
# 9 5 3
7 2 1 # 3+9 8+5 5+3
6+7 4+2 7+1 # 12 13 8 13
6
8
Tanpa mempedulikan nilai elemen-elemen masing-masing matrik, operasi penjumlahan antara matrik A2×3 dan C2×3 , bisa juga dinyatakan dalam indeks masing-masing dari kedua matrik tersebut, yaitu "
d11 d12 d13 d21 d22 d23
#
=
"
a11 + c11 a12 + c12 a13 + c13 a21 + c21 a22 + c22 a23 + c23
#
1.4. OPERASI MATEMATIKA
7
Dijabarkan satu persatu sebagai berikut d11 = a11 + c11 d12 = a12 + c12 d13 = a13 + c13
(1.6)
d21 = a21 + c21 d22 = a22 + c22 d23 = a23 + c23 Dari sini dapat diturunkan sebuah rumus umum penjumlahan dua buah matrik dij = aij + cij
(1.7)
dimana i=1,2 dan j=1,2,3. 1.4.2 Komputasi penjumlahan matrik Berdasarkan contoh operasi penjumlahan di atas, indeks j pada persamaan (1.7) lebih cepat berubah dibanding indeks i sebagaimana ditulis pada persamaan (1.6), d11 = a11 + c11 d12 = a12 + c12 d13 = a13 + c13 Jelas terlihat, ketika indeks i masih bernilai 1, indeks j sudah berubah dari nilai 1 sampai 3. Hal ini membawa konsekuensi pada script pemrograman, dimana looping untuk indeks j harus diletakkan di dalam looping indeks i. Pokoknya yang looping-nya paling cepat harus diletakkan paling dalam; sebaliknya, looping paling luar adalah looping yang indeksnya paling jarang berubah. Dalam matlab, algoritma penjumlahan dua matrik ditulis sebagai berikut: 1 2 3 4 5
for i=1:2 for j=1:3 D(i,j)=A(i,j)+C(i,j); end end
Sedangkan dalam Fortran77, operasi penjumlahan antara matrik ditulis sebagai berikut: A2×3 dan C2×3 adalah 1 2 3 4 5
do i=1,2 do j=1,3 D(i,j)=A(i,j)+C(i,j) end do end do
BAB 1. MATRIK DAN KOMPUTASI
8
Perhatikan kedua script di atas! Penulisan indeks i harus didahulukan daripada indeks j. 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, dimana n adalah jumlah baris dan m adalah jumlah kolom, maka bentuk pernyataan komputasinya dalam matlab menjadi 1 2 3 4 5
for i=1:n for j=1:m D(i,j)=A(i,j)+C(i,j); end end
sedangkan dalam Fortran77 1 2 3 4 5
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 A2×3 A=
"
# 3 8 5
C=
"
#
6 4 7
dan matrik C2×3 9 5 3 7 2 1
Program untuk menjumlahkan kedua matrik tersebut dalam matlab adalah: 1 2
clear all clc
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
A(1,1) = 3; A(1,2) = 8; A(1,3) = 5; A(2,1) = 6; A(2,2) = 4; A(2,3) = 7; C(1,1) = 9; C(1,2) = 5; C(1,3) = 3; C(2,1) = 7; C(2,2) = 2; C(2,3) = 1; n=2 m=3 for i=1:n for j=1:m D(i,j)=A(i,j)+C(i,j); end end
1.4. OPERASI MATEMATIKA
9
sedangkan dalam Fortran77
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
A(1,1) = 3 A(1,2) = 8 A(1,3) = 5 A(2,1) = 6 A(2,2) = 4 A(2,3) = 7 C(1,1) = 9 C(1,2) = 5 C(1,3) = 3 C(2,1) = 7 C(2,2) = 2 C(2,3) = 1 n=2 m=3 do i=1,n do j=1,m D(i,j)=A(i,j)+C(i,j) end do end do
1.4.3 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 A2×3 dikalikan dengan matrik B3×2 , lalu hasilnya (misalnya) dinamakan matrik E2×2 E2×2 = A2×3 .B3×2
E =
"
=
"
=
"
# 1 3 3 8 5 5 9 6 4 7 2 4
# 3.1 + 8.5 + 5.2 3.3 + 8.9 + 5.4 6.1 + 4.5 + 7.2 6.3 + 4.9 + 7.4 # 53 101 40
82
Tanpa mempedulikan nilai elemen-elemen masing-masing matrik, operasi perkalian antara matrik A2×3 dan B3×2 , bisa juga dinyatakan dalam indeks masing-masing dari kedua matrik tersebut, yaitu "
e11 e12 e21 e22
#
=
"
a11 .b11 + a12 .b21 + a13 .b31 a11 .b12 + a12 .b22 + a13 .b32 a21 .b11 + a22 .b21 + a23 .b31 a21 .b12 + a22 .b22 + a23 .b32
#
BAB 1. MATRIK DAN KOMPUTASI
10
Bila dijabarkan, maka elemen-elemen matrik E2×2 adalah e11 = a11 .b11 + a12 .b21 + a13 .b31
(1.8)
e12 = a11 .b12 + a12 .b22 + a13 .b32
(1.9)
e21 = a21 .b11 + a22 .b21 + a23 .b31
(1.10)
e22 = a21 .b12 + a22 .b22 + a23 .b32
(1.11)
Sejenak, mari kita amati perubahan pasangan angka-angka indeks yang mengiringi elemen e, a dan b pada persamaan (1.8) sampai persamaan (1.11). Perhatikan perubahan angka indeks pertama pada elemen e seperti berikut ini e1.. = .. e1.. = .. e2.. = .. e2.. = .. Pola perubahan yang sama akan kita dapati pada angka indeks pertama dari elemen a e1.. = a1.. .b... + a1.. .b... + a1.. .b... e1.. = a1.. .b... + a1.. .b... + a1.. .b... e2.. = a2.. .b... + a2.. .b... + a2.. .b... e2.. = a2.. .b... + a2.. .b... + a2.. .b... Dengan demikian kita bisa mencantumkan huruf i sebagai pengganti angka-angka indeks yang polanya sama ei.. = ai.. .b... + ai.. .b... + ai.. .b... ei.. = ai.. .b... + ai.. .b... + ai.. .b... ei.. = ai.. .b... + ai.. .b... + ai.. .b... ei.. = ai.. .b... + ai.. .b... + ai.. .b... dimana i bergerak mulai dari angka 1 hingga angka 2, atau kita nyatakan i=1,2. Selanjutnya, masih dari persamaan (1.8) sampai persamaan (1.11), marilah kita perhatikan perubahan angka indeks masih pada elemen e dan elemen b, ei1 = ai.. .b..1 + ai.. .b..1 + ai.. .b..1 ei2 = ai.. .b..2 + ai.. .b..2 + ai.. .b..2 ei1 = ai.. .b..1 + ai.. .b..1 + ai.. .b..1 ei2 = ai.. .b..2 + ai.. .b..2 + ai.. .b..2
1.4. OPERASI MATEMATIKA
11
Dengan demikian kita bisa mencantumkan huruf j sebagai pengganti angka-angka indeks yang polanya sama eij = ai.. .b..j + ai.. .b..j + ai.. .b..j eij = ai.. .b..j + ai.. .b..j + ai.. .b..j eij = ai.. .b..j + ai.. .b..j + ai.. .b..j eij = ai.. .b..j + ai.. .b..j + ai.. .b..j dimana j bergerak mulai dari angka 1 hingga angka 2, atau kita nyatakan j=1,2. Selanjutnya, masih dari persamaan (1.8) sampai persamaan (1.11), mari kita perhatikan perubahan angka indeks masih pada elemen a dan elemen b, dimana kita akan dapati pola sebagai berikut eij = ai1 .b1j + ai2 .b2j + ai3 .b3j eij = ai1 .b1j + ai2 .b2j + ai3 .b3j eij = ai1 .b1j + ai2 .b2j + ai3 .b3j eij = ai1 .b1j + ai2 .b2j + ai3 .b3j Dan kita bisa mencantumkan huruf k sebagai pengganti angka-angka indeks yang polanya sama, dimana k bergerak mulai dari angka 1 hingga angka 3, atau kita nyatakan k=1,2,3. eij = aik .bkj + aik .bkj + aik .bkj eij = aik .bkj + aik .bkj + aik .bkj eij = aik .bkj + aik .bkj + aik .bkj eij = aik .bkj + aik .bkj + aik .bkj Kemudian secara sederhana dapat ditulis sebagai berikut eij = aik .bkj + aik .bkj + aik .bkj
(1.12)
Selanjutnya dapat ditulis pula formula berikut eij =
3 X
aik bkj
(1.13)
k=1
dimana i=1,2; j=1,2; dan k=1,2,3. Berdasarkan contoh ini, maka secara umum bila ada matrik An×m yang dikalikan dengan matrik Bm×p , akan didapatkan matrik En×p dimana elemen-elemen matrik E memenuhi eij =
m X k=1
dengan i=1,2,. . . ,n; j=1,2. . . ,p; dan k=1,2. . . ,m.
aik bkj
(1.14)
BAB 1. MATRIK DAN KOMPUTASI
12 1.4.4 Komputasi perkalian matrik
Komputasi operasi perkalian antara matrik A2×3 dan B3×2 dilakukan melalui 2 tahap; pertama adalah memberikan nilai 0 (nol) pada elemen-elemen matrik E2×2 dengan cara (dalam matlab) 1 2 3 4 5
for i=1:2 for j=1:2 E(i,j)=0.0; end end
dalam Fortran77 1 2 3 4 5
do i=1,2 do j=1,2 E(i,j)=0.0 end do end do
kedua adalah menghitung perkalian matrik dengan cara (dalam matlab) 1 2 3 4 5 6 7
for i=1:2 for j=1:2 for k=1:3 E(i,j)=E(i,j)+A(i,k)*B(k,j); end end end
dalam Fortran77 1 2 3 4 5 6 7
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
Sebentar.., sebelum dilanjut tolong perhatikan penempatan indeks i, j dan k pada script di atas. Mengapa indeks i didahulukan daripada indeks j dan k? Ini bukan sesuatu yang kebetulan. Dan ini juga bukan sekedar mengikuti urutan huruf abjad i,j,k. Sekali lagi ingin saya tegaskan bahwa penempatan yang demikian semata-mata mengikuti aturan umum yaitu looping yang indeksnya berubah paling cepat harus diletakkan paling dalam; sebaliknya, looping paling luar adalah looping yang indeksnya paling jarang berubah. Kalau anda perhatikan dengan teliti, pasti anda akan menemukan fakta bahwa indeks k paling cepat berubah. Kemudian disusul oleh indeks j. Lalu yang paling jarang berubah adalah indeks i. Itulah sebabnya, penempatan urutan indeks pada script di atas harus dimulai dari i terlebih dahulu sebagai looping terluar, kemudian indeks j, dan yang terakhir indeks k sebagai looping terdalam.
1.4. OPERASI MATEMATIKA
13
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 dalam Matlab menjadi
1 2 3 4 5 6 7 8 9 10 11 12
for i=1:n for j=1:p E(i,j)=0.0; end end for i=1:n for j=1:p for k=1:m E(i,j)=E(i,j)+A(i,k)*B(k,j); end end end
dalam Fortran77
1 2 3 4 5 6 7 8 9 10 11 12
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 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.
1.4.5 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
BAB 1. MATRIK DAN KOMPUTASI
14
y =
"
=
"
=
"
# 2 3 8 5 3 6 4 7 4
3.2 + 8.3 + 5.4
6.2 + 4.3 + 7.4 # 50
#
52
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 " # y1 y2
=
"
a11 .x1 + a12 .x2 + a13 .x3 a21 .x1 + a22 .x2 + a23 .x3
#
Bila dijabarkan, maka elemen-elemen vektor-kolom y adalah y1 = a11 .x1 + a12 .x2 + a13 .x3 y2 = a21 .x1 + a22 .x2 + a23 .x3 kemudian secara sederhana dapat diwakili oleh rumus berikut yi =
3 X
aij xj
j=1
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 yi =
m X
aij xj
(1.15)
j=1
dengan i=1,2,. . . ,n. 1.4.6 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 1 2
for i=1:n b(i,1)=0.0;
1.5. PENUTUP 3 4 5 6 7 8
15
end for i=1:n for j=1:m b(i,1)=b(i,1)+A(i,j)*x(j,1); end end
dan dalam Fortran 1 2 3 4 5 6 7 8
do i=1,n b(i,1)=0.0 end do do i=1,n do j=1,m b(i,1)=b(i,1)+A(i,j)*x(j,1) end do end do
1.5
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.
1.6
Latihan
Diketahui matrik A, matrik B, dan vektor x sebagai berikut
1
3
−6
−2
5 9 7 5.6 A= 2 4 8 −1 2.3 1.4 0.8 −2.3
8
1
4
21
3 10 5 0.1 B= 7 −2 9 −5 2.7 −12 −8.9 5.7
0.4178
−2.9587 x= 56.3069 8.1
1. Buatlah script untuk menyelesaikan penjumlahan matrik A dan matrik B. 2. Buatlah script untuk menyelesaikan perkalian matrik A dan matrik B. 3. Buatlah script untuk menyelesaikan perkalian matrik A dan vektor x. 4. Buatlah script untuk menyelesaikan perkalian matrik B dan vektor x.
Bab 2
Formulasi Masalah Inversi
2.1
Klasifikasi masalah inversi
Dalam masalah inversi, kita selalu berhubungan dengan parameter model (M ) dan data (N ); yang mana jumlah dari masing-masing akan menentukan klasifikasi permasalahan inversi dan cara penyelesaiannya. Bila jumlah model parameter lebih sedikit dibandingkan data observasi (M < N ), maka permasalahan inversi ini disebut overdetermined. Umumnya masalah ini diselesaikan menggunakan pencocokan (best fit ) terhadap data observasi. Dalam kondisi yang lain dimana jumlah parameter yang ingin dicari (M ) lebih banyak dari pada jumlah datanya (N ), maka masalah inversi ini disebut underdetermined. Dalam kasus ini terdapat sekian banyak model yang dapat sesuai kondisi datanya. Inilah yang disebut dengan masalah nonuniqness. Bagaimana cara untuk mendapatkan model yang paling mendekati kondisi bawah permukaan? Menurut Meju, 1994 persoalan ini bisa diselesaikan dengan model yang parameternya berbentuk fungsi kontinyu terhadap posisi. Kasus yang terakhir adalah ketika jumlah data sama atau hampir sama dengan jumlah parameter. Ini disebut evendetermined. Pada kasus ini model yang paling sederhana dapat diperoleh menggunakan metode inversi langsung. Pada bab ini, saya mencoba menyajikan dasar teknik inversi yang diaplikasikan pada model garis, model parabola dan model bidang. Uraian aplikasi tersebut diawali dari ketersediaan data observasi, lalu sejumlah parameter model (unknown parameter) mesti dicari dengan teknik inversi. Mari kita mulai dari model garis.
2.2
Inversi Model Garis
Secara teori, variasi temperatur bawah permukaan akan semakin meningkat ketika temperatur tersebut diukur semakin kedalam permukaan bumi. Misalnya telah dilakukan sebanyak sepuluh kali (N = 10) pengukuran temperatur (Ti ) pada kedalaman yang berbeda beda (zi ) sebagaimana ditunjukan datanya pada Tabel 2.1.
17
BAB 2. FORMULASI MASALAH INVERSI
18
Tabel 2.1: Data temperatur bawah permukaan tanah terhadap kedalaman Pengukuran ke-i Kedalaman (m) Temperatur (O C) 1 z1 = 5 T1 = 35.4 2 z2 = 16 T2 = 50.1 3 z3 = 25 T3 = 77.3 4 z4 = 40 T4 = 92.3 5 z5 = 50 T5 = 137.6 6 z6 = 60 T6 = 147.0 7 z7 = 70 T7 = 180.8 8 z8 = 80 T8 = 182.7 9 z9 = 90 T9 = 188.5 10 z10 = 100 T10 = 223.2 Variasi Temperatur terhadap Kedalaman 250
Temeprature (Celcius)
200
150
100
50
0
0
10
20
30
40
50 60 Kedalaman (m)
70
80
90
100
Gambar 2.1: Data observasi perubahan temperatur terhadap kedalaman dari permukaan tanah Source code untuk menggambar grafik tersebut dalam Matlab adalah 1 2 3 4 5
clear all clc % Data observasi z = [5 16 25 40 50 60 70 80 90 100]; T = [34.4 50.1 77.3 92.3 137.6 147.0 180.8 182.7 188.5 223.2];
6 7 8 9 10 11
% Menampilkan grafik plot ( z, T, ’b*’ ) xlabel(’Kedalaman (meter)’); ylabel(’Temeprature (Celcius)’); title(’Variasi Temperatur terhadap Kedalaman’)
2.2. INVERSI MODEL GARIS
19
Lalu kita berasumsi bahwa variasi temperatur terhadap kedalaman ditentukan oleh rumus berikut ini: m1 + m2 zi = Ti
(2.1)
dimana m1 dan m2 adalah konstanta-konstanta yang akan dicari. Rumus di atas disebut model matematika. Sedangkan m1 dan m2 disebut parameter model atau biasa juga disebut unknown parameter. Pada model matematika di atas terdapat dua buah parameter model, (M = 2). Sementara jumlah data observasi ada empat, (N = 10), yaitu nilai-nilai kedalaman, zi , dan temperatur, Ti . Berdasarkan model tersebut, kita bisa menyatakan temperatur dan kedalaman masing-masing sebagai berikut: m1 + m2 z1 = T1 m1 + m2 z2 = T2 m1 + m2 z3 = T3 m1 + m2 z4 = T4 m1 + m2 z5 = T5 m1 + m2 z6 = T6 m1 + m2 z7 = T7 m1 + m2 z8 = T8 m1 + m2 z9 = T9 m1 + m2 z10 = T10 Semua persamaan tersebut dapat dinyatakan dalam operasi matrik berikut ini:
T1
1
z1
1
T2 z2 T z3 3 z4 " # T4 T z5 m1 5 = T6 z6 m2 T z7 7 T8 z8 T z9 9 T10 z10
1 1 1 1 1 1 1 1
(2.2)
Lalu ditulis secara singkat Gm = d
(2.3)
dimana d adalah data yang dinyatakan dalam vektor kolom, m adalah model parameter, juga dinyatakan dalam vektor kolom, dan G disebut matrik kernel. Lantas bagaimana cara menda-
BAB 2. FORMULASI MASALAH INVERSI
20
patkan nilai m1 dan m2 pada vektor kolom m? Manipulasi1 berikut ini bisa menjawabnya GT Gm = GT d
(2.4)
dimana T disini maksudnya adalah tanda transpos matrik. Selanjutnya, untuk mendapatkan elemen-elemen m, diperlukan langkah-langkah perhitungan berikut ini: GT Gm = GT d [GT G]−1 GT Gm = [GT G]−1 GT d m = [GT G]−1 GT d
(2.5)
1. Tentukan transpos dari matrik kernel, yaitu GT
G=
1
z1
1
z2 z3 z4 z5 z6 z7 z8 z9 z10
1 1 1 1 1 1 1 1
T
⇒
G =
"
1
1
1
1
1
1
1
1
1
1
z1 z2 z3 z4 z5 z6 z7 z8 z9 z10
#
2. Lakukan perkalian matriks GT G
GT G =
"
1
1
1
1
1
1
1
1
1
z1 z2 z3 z4 z5 z6 z7 z8 z9
# 1 z10
1
z1
1
z2 z3 z4 " P # z5 N zi = P P 2 z6 zi zi z7 z8 z9 z10
1 1 1 1 1 1 1 1
dimana N = 10 atau sesuai dengan jumlah data observasi; sementara i = 1, 2, 3, ..., 10.
1
Matrik G biasanya tidak berbentuk bujursangkar. Akibatnya tidak bisa dihitung nilai invers-nya. Dengan mengalikan matrik G dan transpose matrik G, maka akan diperoleh matrik bujursangkar
2.2. INVERSI MODEL GARIS
21
3. Kemudian tentukan pula GT d
GT d =
"
1
1
1
1
1
1
1
1
1
z1 z2 z3 z4 z5 z6 z7 z8 z9
# 1 z10
T1
T2 T3 T4 " P # T T5 i = P z T T6 i i T7 T8 T9 T10
4. Dengan menggunakan hasil dari langkah 2 dan langkah 3, maka persamaan (2.4) dapat dinyatakan sebagai GT Gm = GT d "
# " P # P #" N zi m1 Ti = P P 2 P zi zi m2 z i Ti
(2.6)
Berdasarkan data observasi pada tabel di atas, diperoleh m = [GT G]−1 GT d
# P #−1 " P N zi Ti = P P 2 P zi zi z i Ti m2 # " #−1 " # " 10 536 1314 m1 = 536 38006 88855 m2 "
m1
#
"
(2.7)
Operasi matriks di atas akan menghasilkan nilai m1 = 24.9 dan m2 = 2.0. Perintah di Matlab untuk menghitung elemen-elemen m, yaitu m=inv(G’*G)*G’*d Secara lebih lengkap, source code Matlab untuk melakukan inversi data observasi adalah Source-code Matlab untuk perhitungan inversi data observasi tersebut adalah: 1 2 3 4 5
clear all clc % Data observasi z = [5 16 25 40 50 60 70 80 90 100]; T = [34.4 50.1 77.3 92.3 137.6 147.0 180.8 182.7 188.5 223.2];
6 7
% Perhitungan matrik Kernel
BAB 2. FORMULASI MASALAH INVERSI
22 G = [1 1 1 1 1 1 1 1 1 1
8 9 10 11 12 13 14 15 16 17
z(1) ; z(2) ; z(3) ; z(4) ; z(5) ; z(6) ; z(7) ; z(8) ; z(9) ; z(10) ];
18
% Perhitungan inversi m = inv(G’*G)*G’*T’
19 20
Demikianlah contoh aplikasi teknik inversi untuk menyelesaikan persoalan model garis. Anda bisa mengaplikasikan pada kasus lain, dengan syarat kasus yang anda tangani memiliki bentuk model yang sama dengan yang telah dikerjakan pada catatan ini, yaitu model garis: y = m1 + m2 x. Selanjutnya mari kita pelajari inversi model parabola.
2.3
Inversi Model Parabola
Kembali kita ambil contoh variasi temperatur terhadap kedalaman dengan sedikit modifikasi data. Misalnya telah dilakukan sebanyak delapan kali (N = 8) pengukuran temperatur (Ti ) pada kedalaman yang berbeda beda (zi ). Tabel pengukuran yang diperoleh adalah: Lalu ki-
Tabel 2.2: Data temperatur bawah permukaan tanah terhadap kedalaman Pengukuran ke-i Kedalaman (m) Temperatur (O C) 1 z1 = 5 T1 = 21, 75 2 z2 = 8 T2 = 22, 68 3 z3 = 14 T3 = 25, 62 4 z4 = 21 T4 = 30, 87 5 z5 = 30 T5 = 40, 5 6 z6 = 36 T6 = 48, 72 7 z7 = 45 T7 = 63, 75 8 z8 = 60 T8 = 96
ta berasumsi bahwa variasi temperatur terhadap kedalaman memenuhi model matematika berikut ini: m1 + m2 zi + m3 zi2 = Ti
(2.8)
dimana m1 , m2 dan m3 adalah unknown parameter. Jadi pada model di atas terdapat tiga buah model parameter, (M = 3). Adapun yang berlaku sebagai data adalah nilai-nilai temperatur T1 , T2 ,..., dan T8 . Berdasarkan model tersebut, kita bisa menyatakan temperatur dan kedalaman sebagai sistem persamaan simultan yang terdiri atas 8 persamaan (sesuai dengan
2.3. INVERSI MODEL PARABOLA
23
jumlah data observasi): m1 + m2 z1 + m3 z12 = T1 m1 + m2 z2 + m3 z22 = T2 m1 + m2 z3 + m3 z32 = T3 m1 + m2 z4 + m3 z42 = T4 m1 + m2 z5 + m3 z52 = T5 m1 + m2 z6 + m3 z62 = T6 m1 + m2 z7 + m3 z72 = T7 m1 + m2 z8 + m3 z82 = T8 Semua persamaan tersebut dapat dinyatakan dalam operasi matrik berikut ini:
1 z1 z12
T1
T2 1 z2 z22 1 z3 z32 T3 m 1 1 z4 z42 T4 m2 = 1 z5 z52 T5 m 3 T6 1 z6 z62 T 1 z7 z72 7 1 z8 z82 T8
(2.9)
Lalu ditulis secara singkat Gm = d
(2.10)
dimana d adalah data yang dinyatakan dalam vektor kolom, m adalah model parameter, juga dinyatakan dalam vektor kolom, dan G disebut matrik kernel. Lantas bagaimana cara mendapatkan nilai m1 , m2 dan m3 pada vektor kolom m? Manipulasi berikut ini bisa menjawabnya Gt Gm = Gt d
(2.11)
dimana t disini maksudnya adalah tanda transpos matrik. Selanjutnya, untuk mendapatkan elemen-elemen m, diperlukan langkah-langkah perhitungan berikut ini:
BAB 2. FORMULASI MASALAH INVERSI
24
1. Tentukan transpos dari matrik kernel, yaitu Gt
G=
1 z1 z12
1 z2 z22 1 z3 z32 2 1 z4 z4 1 z5 z52 1 z6 z62 1 z7 z72 1 z8 z82
⇒
1
1
1
1
1
1
1
1
Gt = z1
z2
z3
z4
z5
z6
z7
z8 z82
z12 z22 z32 z42 z52 z62 z72
2. Tentukan Gt G
1 1 1 1 1 1 1 G G = z1 z2 z3 z4 z5 z6 z7 z12 z22 z32 z42 z52 z62 z72 t
1 z8 z82
1 z1 z12
1 z2 z22 1 z3 z32 P P 2 N zi zi 2 1 z4 z4 P P P 2 = zi zi zi3 1 z5 z52 P P P zi2 zi3 zi4 2 1 z6 z6 1 z7 z72 2 1 z8 z8
dimana N = 8 dan i = 1, 2, 3, ..., 8.
3. Kemudian tentukan pula Gt d
1 1 1 1 1 1 1 G d = z1 z2 z3 z4 z5 z6 z7 z12 z22 z32 z42 z52 z62 z72 t
1 z8 z82
T1
T2 T3 P Ti T4 P = z i Ti T5 P 2 z i Ti T6 T7 T8
4. Sekarang persamaan (2.16) dapat dinyatakan sebagai
P P P 2 N zi zi m1 Ti P 2 P 3 P P zi zi zi m2 = z i Ti P 2 P 3 P 4 P 2 zi zi zi m3 z i Ti
(2.12)
2.4. INVERSI MODEL BIDANG
25
Berdasarkan data observasi pada tabel di atas, diperoleh
8
219
8547
m1
349, 89
8547 393423 m2 = 12894, 81 219 8547 393423 19787859 m3 594915, 33
(2.13)
Program Matlab telah menyediakan sebuah baris perintah untuk menghitung elemenelemen m, yaitu m=inv(G’*G)*G’*d Sehingga operasi matriks di atas akan menghasilkan nilai m1 = 21, m2 = 0, 05 dan m3 = 0, 02. Demikianlah contoh aplikasi teknik inversi untuk menyelesaikan persoalan model parabola. Anda bisa mengaplikasikan pada kasus lain, dengan syarat kasus yang anda tangani memiliki bentuk model yang sama dengan yang telah dikerjakan pada catatan ini, yaitu model garis: y = m1 + m2 x + +m3 x2 . Selanjutnya mari kita pelajari inversi model bidang atau model 2dimensi (2-D).
2.4
Inversi Model Bidang
Dalam catatan ini saya belum sempat mencari contoh data observasi yang sesuai untuk model 2-dimensi. Maka, saya ingin langsung saja mengajukan sebuah model matematika untuk 2dimensi berikut ini: m1 + m2 xi + m3 yi = di
(2.14)
dimana m1 , m2 dan m3 merupakan unknown parameter yang akan dicari. Adapun yang berlaku sebagai data adalah d1 , d2 , d3 , ..., di . Berdasarkan model matematika tersebut, kita bisa nyatakan m1 + m2 x1 + m3 y1 = d1 m1 + m2 x2 + m3 y2 = d2 m1 + m2 x3 + m3 y3 = d3 .. .. .. .. .. . . . . . m1 + m2 xN + m3 yN = dN Semua persamaan tersebut dapat dinyatakan dalam operasi matrik berikut ini:
1
x1
y1
1
x2
1 .. .
x3 .. .
d2 y2 m1 y3 m2 = d3 .. ... . m3 yN dN
1 xN
d1
BAB 2. FORMULASI MASALAH INVERSI
26 Lalu ditulis secara singkat
Gm = d
(2.15)
dimana d adalah data yang dinyatakan dalam vektor kolom, m adalah unknown parameter, juga dinyatakan dalam vektor kolom, dan G disebut matrik kernel. Lantas bagaimana cara mendapatkan nilai m1 , m2 dan m3 pada vektor kolom m? Sama seperti sebelumnya, kita harus membuat persamaan matriks berikut ini Gt Gm = Gt d
(2.16)
dimana t disini maksudnya adalah tanda transpos matrik. Selanjutnya, untuk mendapatkan elemen-elemen m, diperlukan langkah-langkah perhitungan berikut ini: 1. Tentukan transpos dari matrik kernel, yaitu Gt
G=
1
x1
y1
1
x2
1 .. .
x3 .. .
y2 y3 .. . yN
1 xN
1
1
1
···
1
Gt = x1 x2 x3 · · · xN y1 y2 y3 · · · yN
⇒
2. Tentukan Gt G
1
1
1
···
1
Gt G = x1 x2 x3 · · · xN y1
y2
y 3 · · · yN
1
x1
y1
1
x2
1 .. .
x3 .. .
P P y2 N xi yi P 2 P P y3 = xi xi xi yi P 2 P P .. yi xi yi yi . yN
1 xN
dimana N = jumlah data. dan i = 1, 2, 3, ..., N . 3. Kemudian tentukan pula Gt d
1
1
1
···
1
Gt d = x1 x2 x3 · · · xN y1
y2
y3
· · · yN
d1
P d2 di P d3 = xi di P .. yi d i . dN
4. Sekarang, persamaan (2.16) dapat dinyatakan sebagai P P P m1 di N xi yi P 2 P P P xi di xi xi xi yi m2 = P P P P 2 m3 yi d i yi xi yi yi
(2.17)
2.5. CONTOH APLIKASI
27
5. Sampai disini, jika tersedia data observasi, maka anda tinggal memasukan data tersebut ke dalam persamaan di atas, sehingga nilai elemen-elemen m dapat dihitung dengan perintah matlab m=inv(G’*G)*G’*d Langkah-langkah selanjutnya akan sama persis dengan catatan sebelumnya (model linear dan model parabola) Anda bisa mengaplikasikan data pengukuran yang anda miliki, dengan syarat kasus yang anda tangani memiliki bentuk model yang sama dengan yang telah dikerjakan pada catatan ini, yaitu memiliki tiga buah model parameter yang tidak diketahui dalam bentuk persamaan bidang (atau 2-dimensi): d = m1 + m2 x + m3 y.
2.5
Contoh aplikasi
2.5.1 Menghitung gravitasi di planet X Seorang astronot tiba di suatu planet yang tidak dikenal. Setibanya disana, ia segera mengeluarkan kamera otomatis, lalu melakukan ekperimen kinematika yaitu dengan melempar batu vertikal ke atas. Hasil foto-foto yang terekam dalam kamera otomatis adalah sebagai berikut Plot data pengukuran waktu vs ketinggian diperlihatkan pada Gambar 2.2. Anda diminta unTabel 2.3: Data ketinggian terhadap waktu dari planet X Waktu (dt) Ketinggian (m) Waktu (dt) Ketinggian (m) 0,00 5,00 2,75 7,62 0,25 5,75 3,00 7,25 0,50 6,40 3,25 6,77 0,75 6,94 3,50 6,20 1,00 7,38 3,75 5,52 1,25 7,72 4,00 4,73 1,50 7,96 4,25 3,85 1,75 8,10 4,50 2,86 2,00 8,13 4,75 1,77 2,25 8,07 5,00 0,58 2,50 7,90 tuk membantu proses pengolahan data sehingga diperoleh nilai konstanta gravitasi di planet tersebut dan kecepatan awal batu. Jelas, ini adalah persoalan inversi, yaitu mencari unkown parameter (konstanta gravitasi dan kecepatan awal batu) dari data observasi (hasil foto gerak sebuah batu). Langkah awal untuk memecahkan persoalan ini adalah dengan mengajukan asumsi model matematika, yang digali dari konsep-konsep fisika, yang kira-kira paling cocok dengan situasi pengambilan data observasi. Salah satu konsep dari fisika yang bisa diajukan adalah konsep
BAB 2. FORMULASI MASALAH INVERSI
28 9
8
7
Tinggi (meter)
6
5
4
3
2
1
0
0
0.5
1
1.5
2
2.5 Waktu (detik)
3
3.5
4
4.5
5
Gambar 2.2: Grafik data pengukuran gerak batu
tentang Gerak-Lurus-Berubah-Beraturan (GLBB), yang formulasinya seperti ini 1 ho + vo t − gt2 = h 2 Berdasarkan tabel data observasi, ketinggian pada saat t = 0 adalah 5 m. Itu artinya ho = 5 m. Sehingga model matematika (formulasi GLBB) dapat dimodifikasi sedikit menjadi 1 vo t − gt2 = h − ho 2
(2.18)
Selanjut, didefinisikan m1 dan m2 sebagai berikut m1 = vo
1 m2 = − g 2
(2.19)
sehingga persamaan model GLBB menjadi m1 ti + m2 t2i = hi − 5
(2.20)
dimana i menunjukkan data ke-i.
Langkah berikutnya adalah menentukan nilai tiap-tiap elemen matrik kernel, yaitu dengan
2.5. CONTOH APLIKASI
29
memasukan data observasi kedalam model matematika (persamaan (2.20)) m1 t1 + m2 t21 = h1 − 5 m1 t2 + m2 t22 = h2 − 5 m1 t3 + m2 t23 = h3 − 5 .. .. . . . = .. m1 t20 + m2 t220 = h20 − 5 Semua persamaan tersebut dapat dinyatakan dalam operasi matrik berikut ini:
t21
t1 t2 t3 t4 .. . t19 t20
h1 − 5 t22 h2 − 5 # t23 " h3 − 5 m1 t24 = .. m 2 . .. . h19 − 5 t219 h20 − 5 t220
Operasi matrik di atas memenuhi persamaan matrik Gm = d Seperti yang sudah dipelajari pada bab ini, penyelesaian masalah inversi dimulai dari proses manipulasi persamaan matrik sehingga perkalian antara Gt dan G menghasilkan matriks bujursangkar Gt Gm = Gt d
(2.21)
Selanjutnya, untuk mendapatkan m1 dan m2 , prosedur inversi dilakukan satu-per-satu
1. Menentukan transpos matrik kernel, yaitu Gt
G=
t1
t21
t2
t22 t23 t24 .. . t219 2 t20
t3 t4 .. . t19 t20
⇒
Gt =
"
t1 t2 t3 t4 . . . t19 t20 t21 t22 t23 t24 . . . t219 t220
#
BAB 2. FORMULASI MASALAH INVERSI
30 2. Menentukan Gt G
t
GG=
"
#
t1 t2 t3 t4 . . . t19 t20 t21 t22 t23 t24 . . . t219 t220
t1
t21
t2
t22 t23 " P 2 P 3 # ti ti 2 t4 = P t3 P t4 .. i i . t219 2 t20
t3 t4 .. . t19 t20
dimana N = 20 dan i = 1, 2, ..., N . 3. Kemudian menentukan hasil perkalian Gt d
t
Gd=
"
t1 t2 t3 t4 . . . t19 t20 t21 t22 t23 t24 . . . t219 t220
h1
#
h2 # h3 " P t h i i h4 = P t2 h .. i i . h19 h20
4. Sekarang persamaan (2.21) dapat dinyatakan sebagai " P
P
t2i t3i
P
P
t3i t4i
#"
m1 m2
#
=
" P
#
"
P
Berdasarkan data observasi, diperoleh "
179, 4
689, 1
689, 1 2822, 9
#"
m1 m2
=
ti hi t2i hi
273, 7 796, 3
#
(2.22)
#
Hasil operasi matriks ini dapat diselesaikan dengan satu baris statemen di matlab yaitu m=inv(G’*G)*G’*d Hasil inversinya adalah nilai kecepatan awal yaitu saat batu dilempar ke atas adalah sebesar m1 = vo = 3,2009 m/dt. Adapun percepatan gravitasi diperoleh dari m2 dimana m2 = − 21 g = -0,8169; maka disimpulkan nilai g adalah sebesar 1,6338 m/dt2 . Gambar 2.3 memperlihatkan kurva hasil inversi berserta sebaran titik data observasi. Garis berwarna biru merupakan garis kurva fitting hasil inversi parabola. Sedangkan bulatan berwarna merah adalah data pengukuran ketinggian (m) terhadap waktu (dt). Jelas terlihat bahwa garis kurva berwarna biru benar-benar cocok melewati semua titik data pengukuran. Ini menunjukkan tingkat akurasi yang sangat tinggi. Sehingga nilai kecepatan awal dan gravitasi hasil inversi cukup valid untuk menjelaskan gerak batu di planet X.
2.6. KESIMPULAN
31
9
8
7
Ketinggian (m)
6
5
4
3
2
1
0
0
0.5
1
1.5
2
2.5 Waktu (dt)
3
3.5
4
4.5
5
Gambar 2.3: Grafik hasil inversi parabola
2.6
Kesimpulan
Dari sejumlah contoh pada bab ini, terlihat bahwa matrik kernel kerap kali berubah-ubah, sesuai dengan model matematika. Jadi, model matematika secara otomatis akan mempengaruhi bentuk rupa matrik kernelnya.
Daftar Pustaka
[1] Burden, R.L. and Faires, J.D., (2001), Numerical Analysis, Seventh Edition, Brooks/Cole, Thomson Learning Academic Resource Center. [2] Haliday and Resnick, (2001), Fundamental of Physics, Brooks/Cole, Thomson Learning Academic Resource Center.
33
Indeks
Positive-definite, 5 Transpose, 3 Tridiagonal, 4 Vektor-baris, 6 Vektor-kolom, 6
35