Metode Matematika Untuk Geofisika, Edisi 1, Th. 2009

Supriyanto Suparno ( Website: http://supriyanto.fisika.ui.ac.id ) ( Email: supri@fisika.ui.ac.id atau supri92@gmail.com )

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 mem- berikan 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 L A TEX-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 Depok, 14 November 2008 Supriyanto Suparno

Daftar Isi

Lembar Persembahan i Kata Pengantar

iii Daftar Isi

iii Daftar Gambar

vi Daftar Tabel

vii

1 Matrik dan Komputasi

1.1 Pengenalan matrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2 Inisialisasi matrik dalam memori komputer . . . . . . . . . . . . . . . . . . . . . .

1.3 Macam-macam matrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.1 Matrik transpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.2 Matrik bujursangkar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.3 Matrik simetrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.4 Matrik diagonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.5 Matrik identitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.6 Matrik upper-triangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.7 Matrik lower-triangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.8 Matrik tridiagonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.9 Matrik diagonal dominan . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.10 Matrik positive-definite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.11 Vektor-baris dan vektor-kolom . . . . . . . . . . . . . . . . . . . . . . . . .

1.4 Operasi matematika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.4.1 Penjumlahan matrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.4.2 Komputasi penjumlahan matrik . . . . . . . . . . . . . . . . . . . . . . . .

1.4.3 Perkalian matrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

2 Formulasi Masalah Inversi

2.1 Klasifikasi masalah inversi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.2 Inversi Model Garis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2 Inversi Model Garis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

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

2.6 Kesimpulan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Daftar Pustaka

33 Indeks

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

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

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

A n ×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

a ij , dimana indeks i menunjukan posisi baris ke-i dan indeks j menentukan posisi kolom ke-j.

11 a 12 ...a 1 m  a 21 a 22 ...a 2 m 

a n1 a n2 ...a nm

Contoh 1: Matrik A 2 ×3

A= 647

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 3 ×2

B= 

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 = 4.

1.2 Inisialisasi matrik dalam memori komputer

Dalam bahasa pemrograman Matlab, cara mengisi memori komputer dengan elemen-elemen matrik A 2 ×3 , sesuai dengan Contoh 1 adalah

1 clear all 2 clc

4 A(1,1) = 3; 5 A(1,2) = 8; 6 A(1,3) = 5; 7 A(2,1) = 6; 8 A(2,2) = 4; 9 A(2,3) = 7; 10 A

Sedangkan untuk matrik B 3 ×2 , sesuai Contoh 2 adalah

1 clear all 2 clc

4 B(1,1) = 1; 5 B(1,2) = 3; 6 B(2,1) = 5; 7 B(2,2) = 9; 8 B(3,1) = 2; 9 B(3,2) = 4; 10 B

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 clear all 2 clc

1 clear all 2 clc

4 A=[ 3 8 5 ; 6 4 7 ]; 5 B=[ 1 3 ; 5 9 ; 2 4];

1.3. MACAM-MACAM MATRIK

1.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 A T .

Contoh 3: Operasi transpose terhadap matrik A

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

1.3.3 Matrik simetrik

Matrik simetrik adalah matrik bujursangkar yang elemen-elemen matrik A bernilai sama den- gan matrik transpose-nya (A T ).

Contoh 5: Matrik simetrik

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

A=   0 29 0  

4 BAB 1. MATRIK DAN KOMPUTASI

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.3.6 Matrik upper-triangular

Matrik upper-tringular adalah matrik bujursangkar yang seluruh elemen dibawah elemen di- agonal bernilai 0 (nol).

Contoh 8: Matrik upper-triangular

1.3.7 Matrik lower-triangular

Matrik lower-tringular adalah matrik bujursangkar yang seluruh elemen diatas elemen diago- nal bernilai 0 (nol).

Contoh 9: Matrik lower-triangular

1.3.8 Matrik tridiagonal

Matrik tridiagonal adalah matrik bujursangkar yang seluruh elemen bukan 0 (nol) berada dis- ekitar elemen diagonal, sementara elemen lainnya bernilai 0 (nol).

Contoh 10: Matrik tridiagonal

A= 

1.3. MACAM-MACAM MATRIK

1.3.9 Matrik diagonal dominan

Matrik diagonal dominan adalah matrik bujursangkar yang memenuhi

j=1,j 6=i

dimana i=1,2,3,..n. Coba perhatikan matrik-matrik berikut ini

Pada elemen diagonal a ii 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

(1.3) Contoh 11: Diketahui matrik simetrik berikut

untuk menguji apakah matrik A bersifat positive-definite, maka

Dari sini dapat disimpulkan bahwa matrik A bersifat positive-definite, karena memenuhi

1 + (x 1 −x 2 ) + (x 2 −x 3 ) +x 3 >0

6 BAB 1. MATRIK DAN KOMPUTASI

kecuali jika x 1 =x 2 =x 3 =0.

1.3.11 Vektor-baris dan vektor-kolom

Notasi vektor biasanya dinyatakan dengan huruf kecil dan dicetak tebal. Suatu matrik dina- makan vektor-baris berukuran m, bila hanya memiliki satu baris dan m kolom, yang diny- atakan sebagai berikut

(1.4) Sedangkan suatu matrik dinamakan vektor-kolom berukuran n, bila hanya memiliki satu kolom

h i h a= i a

11 a 12 ...a 1 m = a 1 a 2 ...a m

dan n baris, yang dinyatakan sebagai berikut

1.4 Operasi matematika

1.4.1 Penjumlahan matrik

Operasi penjumlahan pada dua buah matrik hanya bisa dilakukan bila kedua matrik tersebut

berukuran sama. Misalnya matrik C 2 ×3

C= 721

dijumlahkan dengan matrik A 2 ×3 , lalu hasilnya (misalnya) dinamakan matrik D 2 ×3

D=A+C

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

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

7 Dijabarkan satu persatu sebagai berikut

1.4. OPERASI MATEMATIKA

d 11 =a 11 +c 11

d 12 =a 12 +c 12

d 13 =a 13 +c 13 (1.6)

Dari sini dapat diturunkan sebuah rumus umum penjumlahan dua buah matrik

(1.7) dimana i=1,2 dan j=1,2,3.

d ij =a ij +c ij

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),

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 for i=1:2 2 for j=1:3 3 D(i,j)=A(i,j)+C(i,j); 4 end 5 end

Sedangkan dalam Fortran77, operasi penjumlahan antara matrik ditulis sebagai berikut: A 2 ×3 dan C 2 ×3 adalah

1 do i=1,2 2 do j=1,3 3 D(i,j)=A(i,j)+C(i,j) 4 end do 5 end do

8 BAB 1. MATRIK DAN KOMPUTASI

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 men- gubah ukurannya sesuai dengan keperluan atau kebutuhan anda. Jika ukuran matrik diny- atakan secara umum sebagai n x m, dimana n adalah jumlah baris dan m adalah jumlah kolom, maka bentuk pernyataan komputasinya dalam matlab menjadi

1 for i=1:n 2 for j=1:m 3 D(i,j)=A(i,j)+C(i,j); 4 end 5 end

sedangkan dalam Fortran77

1 do i=1,n 2 do j=1,m 3 D(i,j)=A(i,j)+C(i,j) 4 end do 5 end do

Sekarang, mari kita lengkapi dengan contoh sebagai berikut: diketahui matrik A 2 ×3

A= 647

dan matrik C 2 ×3

C= 721

Program untuk menjumlahkan kedua matrik tersebut dalam matlab adalah:

1 clear all 2 clc

4 A(1,1) = 3; 5 A(1,2) = 8; 6 A(1,3) = 5; 7 A(2,1) = 6; 8 A(2,2) = 4; 9 A(2,3) = 7; 10 C(1,1) = 9; 11 C(1,2) = 5; 12 C(1,3) = 3; 13 C(2,1) = 7; 14 C(2,2) = 2; 15 C(2,3) = 1; 16 n=2 17 m=3 18 for i=1:n

19 for j=1:m 20 D(i,j)=A(i,j)+C(i,j); 21 end 22 end

9 sedangkan dalam Fortran77

1.4. OPERASI MATEMATIKA

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 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

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 A 2 ×3 dikalikan dengan matrik

B 3 ×2 , lalu hasilnya (misalnya) dinamakan matrik E 2 ×2

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

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

10 BAB 1. MATRIK DAN KOMPUTASI Bila dijabarkan, maka elemen-elemen matrik E 2 ×2 adalah

e 11 =a 11 .b 11 +a 12 .b 21 +a 13 .b 31 (1.8)

e 12 =a 11 .b 12 +a 12 .b 22 +a 13 .b 32 (1.9)

e 21 =a 21 .b 11 +a 22 .b 21 +a 23 .b 31 (1.10)

e 22 =a 21 .b 12 +a 22 .b 22 +a 23 .b 32 (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

Pola perubahan yang sama akan kita dapati pada angka indeks pertama dari elemen a

Dengan demikian kita bisa mencantumkan huruf i sebagai pengganti angka-angka indeks yang polanya sama

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,

e i1 =a i.. .b ..1 +a i.. .b ..1 +a i.. .b ..1

e i2 =a i.. .b ..2 +a i.. .b ..2 +a i.. .b ..2

e i1 =a i.. .b ..1 +a i.. .b ..1 +a i.. .b ..1

e i2 =a i.. .b ..2 +a i.. .b ..2 +a i.. .b ..2

11 Dengan demikian kita bisa mencantumkan huruf j sebagai pengganti angka-angka indeks

1.4. OPERASI MATEMATIKA

yang polanya sama

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

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.

Kemudian secara sederhana dapat ditulis sebagai berikut

(1.12) Selanjutnya dapat ditulis pula formula berikut

dimana i=1,2; j=1,2; dan k=1,2,3. Berdasarkan contoh ini, maka secara umum bila ada matrik A n ×m yang dikalikan dengan ma- trik B m ×p , akan didapatkan matrik E n ×p dimana elemen-elemen matrik E memenuhi

dengan i=1,2,. . . ,n; j=1,2. . . ,p; dan k=1,2. . . ,m.

12 BAB 1. MATRIK DAN KOMPUTASI

1.4.4 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 (dalam matlab)

1 for i=1:2 2 for j=1:2 3 E(i,j)=0.0; 4 end 5 end

dalam Fortran77

1 do i=1,2 2 do j=1,2 3 E(i,j)=0.0 4 end do 5 end do

kedua adalah menghitung perkalian matrik dengan cara (dalam matlab)

1 for i=1:2 2 for j=1:2 3 for k=1:3 4 E(i,j)=E(i,j)+A(i,k)*B(k,j); 5 end 6 end 7 end

dalam Fortran77

1 do i=1,2 2 do j=1,2 3 do k=1,3 4 E(i,j)=E(i,j)+A(i,k)*B(k,j) 5 end do 6 end do 7 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.

13 Tentu saja anda bisa mengubah ukurannya sesuai dengan keperluan atau kebutuhan anda.

1.4. OPERASI MATEMATIKA

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 for i=1:n 2 for j=1:p 3 E(i,j)=0.0; 4 end 5 end 6 for i=1:n

7 for j=1:p 8 for k=1:m 9 E(i,j)=E(i,j)+A(i,k)*B(k,j); 10 end 11 end 12 end

dalam Fortran77

1 do i=1,n 2 do j=1,p 3 E(i,j)=0.0 4 end do 5 end do 6 do i=1,n

7 do j=1,p 8 do k=1,m 9 E(i,j)=E(i,j)+A(i,k)*B(k,j) 10 end do 11 end do 12 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 an- tara 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, pa-

da 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

14 BAB 1. MATRIK DAN KOMPUTASI

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

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

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

a ij x j

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

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 beruku- ran n x m dan vektor-kolom x berukuran m dilakukan melalui 2 tahap; pertama adalah mem- berikan 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 for i=1:n 2 b(i,1)=0.0;

15

1.5. PENUTUP

3 end 4 for i=1:n

5 for j=1:m 6 b(i,1)=b(i,1)+A(i,j)*x(j,1); 7 end 8 end

dan dalam Fortran

1 do i=1,n 2 b(i,1)=0.0 3 end do 4 do i=1,n

5 do j=1,m 6 b(i,1)=b(i,1)+A(i,j)*x(j,1) 7 end do 8 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. 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 dis- elesaikan 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 non- uniqness . Bagaimana cara untuk mendapatkan model yang paling mendekati kondisi bawah permukaan? Menurut Meju, 1994 persoalan ini bisa diselesaikan dengan model yang param- eternya berbentuk fungsi kontinyu terhadap posisi. Kasus yang terakhir adalah ketika jumlah data sama atau hampir sama dengan jumlah parameter. Ini disebut evendetermined. Pada ka- sus ini model yang paling sederhana dapat diperoleh menggunakan metode inversi langsung.

Pada bab ini, saya mencoba menyajikan dasar teknik inversi yang diaplikasikan pada mod- el 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 temper- atur tersebut diukur semakin kedalam permukaan bumi. Misalnya telah dilakukan sebanyak sepuluh kali (N = 10) pengukuran temperatur (T i ) pada kedalaman yang berbeda beda (z i ) sebagaimana ditunjukan datanya pada Tabel 2.1.

18 BAB 2. FORMULASI MASALAH INVERSI

Tabel 2.1: Data temperatur bawah permukaan tanah terhadap kedalaman Pengukuran ke-i O Kedalaman (m) Temperatur ( C)

Variasi Temperatur terhadap Kedalaman

100 Temeprature (Celcius)

Kedalaman (m)

Gambar 2.1: Data observasi perubahan temperatur terhadap kedalaman dari permukaan tanah Source code untuk menggambar grafik tersebut dalam Matlab adalah

1 clear all 2 clc 3 % Data observasi 4 z = [5 16 25 40 50 60 70 80 90 100]; 5 T = [34.4 50.1 77.3 92.3 137.6 147.0 180.8 182.7 188.5 223.2];

7 % Menampilkan grafik 8 plot ( z, T, ’b*’ ) 9 xlabel(’Kedalaman (meter)’); 10 ylabel(’Temeprature (Celcius)’); 11 title(’Variasi Temperatur terhadap Kedalaman’)

2.2. INVERSI MODEL GARIS

19 Lalu kita berasumsi bahwa variasi temperatur terhadap kedalaman ditentukan oleh rumus

berikut ini:

m 1 +m 2 z i =T i

(2.1) dimana m 1 dan m 2 adalah konstanta-konstanta yang akan dicari. Rumus di atas disebut

model matematika . Sedangkan m 1 dan m 2 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 kedala- man, z i , dan temperatur, T i . Berdasarkan model tersebut, kita bisa menyatakan temperatur dan kedalaman masing-masing sebagai berikut:

Semua persamaan tersebut dapat dinyatakan dalam operasi matrik berikut ini:

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-

20 BAB 2. FORMULASI MASALAH INVERSI patkan nilai m 1 dan m 2 pada vektor kolom m? Manipulasi 1 berikut ini bisa menjawabnya

G T Gm = G T d (2.4) dimana T disini maksudnya adalah tanda transpos matrik. Selanjutnya, untuk mendapatkan

elemen-elemen m, diperlukan langkah-langkah perhitungan berikut ini:

G T Gm = G T d [G T G] −1 G T Gm = [G T G] −1 G T d

m = [G T G] −1 G T d (2.5)

1. Tentukan transpos dari matrik kernel, yaitu G T

2. Lakukan perkalian matriks G T G

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

3. Kemudian tentukan pula G T d

4. Dengan menggunakan hasil dari langkah 2 dan langkah 3, maka persamaan (2.4) dapat dinyatakan sebagai

Berdasarkan data observasi pada tabel di atas, diperoleh

Operasi matriks di atas akan menghasilkan nilai m 1 = 24.9 dan m 2 = 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 clear all 2 clc 3 % Data observasi 4 z = [5 16 25 40 50 60 70 80 90 100]; 5 T = [34.4 50.1 77.3 92.3 137.6 147.0 180.8 182.7 188.5 223.2];

7 % Perhitungan matrik Kernel

22 BAB 2. FORMULASI MASALAH INVERSI

8 G = [1 z(1) ; 9 1 z(2) ; 10 1 z(3) ; 11 1 z(4) ; 12 1 z(5) ; 13 1 z(6) ; 14 1 z(7) ; 15 1 z(8) ; 16 1 z(9) ; 17 1 z(10) ];

19 % Perhitungan inversi 20 m = inv(G’*G)*G’*T’

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=m 1 +m 2 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 (T i ) pada kedalaman yang berbeda beda (z i ). Tabel pengukuran yang diperoleh adalah: Lalu ki-

Tabel 2.2: Data temperatur bawah permukaan tanah terhadap kedalaman Pengukuran ke-i O Kedalaman (m) Temperatur ( C)

ta berasumsi bahwa variasi temperatur terhadap kedalaman memenuhi model matematika berikut ini:

(2.8) dimana m 1 ,m 2 dan m 3 adalah unknown parameter. Jadi pada model di atas terdapat tiga

1 +m 2 z i +m 3 z i =T i

buah model parameter, (M = 3). Adapun yang berlaku sebagai data adalah nilai-nilai tem- peratur T 1 ,T 2 ,..., dan T 8 . 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):

Semua persamaan tersebut dapat dinyatakan dalam operasi matrik berikut ini:

1z 1 z 2 1 1z 2 z 2 2 1z 3 z 2 3 1z 4 z 2 4 1z 5 z 2 5 1z 6 z 2 6 1z 7 z 2 7 1z 8 z 2 8

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 menda- patkan nilai m 1 ,m 2 dan m 3 pada vektor kolom m? Manipulasi berikut ini bisa menjawabnya

G t Gm = G t d (2.11) dimana t disini maksudnya adalah tanda transpos matrik. Selanjutnya, untuk mendapatkan

elemen-elemen m, diperlukan langkah-langkah perhitungan berikut ini:

24 BAB 2. FORMULASI MASALAH INVERSI

1. Tentukan transpos dari matrik kernel, yaitu G t 

2. Tentukan G t G

dimana N = 8 dan i = 1, 2, 3, ..., 8.

3. Kemudian tentukan pula G t d

4. Sekarang persamaan (2.16) dapat dinyatakan sebagai

N  Pz

Pz 2 

m 1 PT i

2 Pz 3 i Pz Pz  

i   m 2   =   Pz i T i  

2 3 4 Pz 2

Pz i Pz i

m 3 Pz i T i

2.4. INVERSI MODEL BIDANG

25 Berdasarkan data observasi pada tabel di atas, diperoleh

Program Matlab telah menyediakan sebuah baris perintah untuk menghitung elemen- elemen m, yaitu

m=inv(G’*G)*G’*d Sehingga operasi matriks di atas akan menghasilkan nilai m 1 = 21, m 2 = 0, 05 dan m 3 =

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=m 2

1 +m 2 x + +m 3 x . Selanjutnya mari kita pelajari inversi model bidang atau model 2- dimensi (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 2- dimensi berikut ini:

(2.14) dimana m 1 ,m 2 dan m 3 merupakan unknown parameter yang akan dicari. Adapun yang berlaku

m 1 +m 2 x i +m 3 y i =d i

sebagai data adalah d 1 ,d 2 ,d 3 , ..., d i . Berdasarkan model matematika tersebut, kita bisa ny- atakan

Semua persamaan tersebut dapat dinyatakan dalam operasi matrik berikut ini:

..  m 3 

1x N y N

26 BAB 2. FORMULASI MASALAH INVERSI Lalu ditulis secara singkat

(2.15) dimana d adalah data yang dinyatakan dalam vektor kolom, m adalah unknown parameter,

Gm = d

juga dinyatakan dalam vektor kolom, dan G disebut matrik kernel. Lantas bagaimana cara mendapatkan nilai m 1 ,m 2 dan m 3 pada vektor kolom m? Sama seperti sebelumnya, kita harus membuat persamaan matriks berikut ini

G t Gm = G 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 G t

G= t 

 ⇒ G =  x 1 x 2 x 3 ···x N  

y ···y N

1x N y N

2. Tentukan G t G

1 x 2 x 3 ···x N   1 x 3 y 3  =  Px i Px 2 Px i y i       i 

1 y 2 y 3 ···y N

Py 2 Px y Py

1x N y N

dimana N = jumlah data. dan i = 1, 2, 3, ..., N .

3. Kemudian tentukan pula G t d

Pd i

d =   x 1 x 2 x 3 ···x N  

   d 3  =  Px i d i 

1 y 2 y 3 ···y N

Py i d i

4. Sekarang, persamaan (2.16) dapat dinyatakan sebagai

N  Px i Py i m

1 Pd i

  Px i Px i Px i y i   m 2  =  Px i d i 

Py 2 i Px i y i Py

m 3 Py i d i

2.5. CONTOH APLIKASI

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 lin- ear 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 = m 1 +m 2 x+m 3 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 mengelu- arkan 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 un-

Tabel 2.3: Data ketinggian terhadap waktu dari planet X Waktu (dt) Ketinggian (m) Waktu (dt) Ketinggian (m)

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

28 BAB 2. FORMULASI MASALAH INVERSI

Tinggi (meter) 4

Waktu (detik)

Gambar 2.2: Grafik data pengukuran gerak batu

tentang Gerak-Lurus-Berubah-Beraturan (GLBB), yang formulasinya seperti ini

h o +v o t− gt =h

Berdasarkan tabel data observasi, ketinggian pada saat t = 0 adalah 5 m. Itu artinya h o = 5 m. Sehingga model matematika (formulasi GLBB) dapat dimodifikasi sedikit menjadi

1 2 v o t− gt =h−h o

2 Selanjut, didefinisikan m 1 dan m 2 sebagai berikut

m 1 =v o

m 2 =− g (2.19)

sehingga persamaan model GLBB menjadi

(2.20) dimana i menunjukkan data ke-i.

1 t i +m 2 t i =h i −5

Langkah berikutnya adalah menentukan nilai tiap-tiap elemen matrik kernel, yaitu dengan

29 memasukan data observasi kedalam model matematika (persamaan (2.20))

2.5. CONTOH APLIKASI

Semua persamaan tersebut dapat dinyatakan dalam operasi matrik berikut ini:

Operasi matrik di atas memenuhi persamaan matrik

Gm = d

Seperti yang sudah dipelajari pada bab ini, penyelesaian masalah inversi dimulai dari pros- es manipulasi persamaan matrik sehingga perkalian antara G t dan G menghasilkan matriks

bujursangkar

G t Gm = G d (2.21) Selanjutnya, untuk mendapatkan m 1 dan m 2 , prosedur inversi dilakukan satu-per-satu

1. Menentukan transpos matrik kernel, yaitu G t

t 1 t 2 t 3 t 4 ...t 19 t 20 G=  t

t 1 t 2 t 3 t 4 ...t 19 t 20

19 t 19   

t 2 20 t

30 BAB 2. FORMULASI MASALAH INVERSI

2. Menentukan G t G

t 1 t 2 t 3 t 4 ...t 19 t 20 

1 t 2 t 3 t 4 ...t 19 t 20 

dimana N = 20 dan i = 1, 2, ..., N .

3. Kemudian menentukan hasil perkalian G t d

1 2 3 4 19 G 20 d t t t t ...t t 

Pt i h i

1 t 2 t 3 t 4 ...t 19 t 20 

4. Sekarang persamaan (2.21) dapat dinyatakan sebagai

Berdasarkan data observasi, diperoleh

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 m 1

1 =v o = 3,2009 m/dt. Adapun percepatan gravitasi diperoleh dari m 2 dimana m 2 =− 2 g= -0,8169; maka disimpulkan nilai g adalah sebesar 1,6338 m/dt 2 .

Gambar 2.3 memperlihatkan kurva hasil inversi berserta sebaran titik data observasi. Garis berwarna biru merupakan garis kurva fitting hasil inversi parabola. Sedangkan bulatan berwar- na 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 me- nunjukkan tingkat akurasi yang sangat tinggi. Sehingga nilai kecepatan awal dan gravitasi hasil inversi cukup valid untuk menjelaskan gerak batu di planet X.

31

2.6. KESIMPULAN

Ketinggian (m) 4

0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Waktu (dt)

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 mempen- garuhi 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 Aca- demic Resource Center.

Indeks

Positive-definite, 5 Transpose, 3

Tridiagonal, 4 Vektor-baris, 6

Vektor-kolom, 6