View
108
Download
8
Category
Preview:
DESCRIPTION
Matrix
Citation preview
Komputasi untuk Sains dan Teknik
Supriyanto Suparno
( Website: http://supriyanto.fisika.ui.edu )
( Email: supri@fisika.ui.ac.id atau supri92@gmail.com )
Edisi II
Revisi terakhir tgl: 12 Februari 2008
Departemen Fisika-FMIPA, Univeristas Indonesia
Dipublikasikan pertama kali pada September 2007
Untuk
Nina Marliyani
Muflih Syamil
dan
Hasan Azmi
Ketekunan adalah jalan yang terpercaya untuk mengantarkan kita menuju kesuksesan
(Supriyanto, 2007)
Kata Pengantar
Secara garis besar, ilmu fisika dapat dipelajari lewat 3 jalan, yaitu pertama, dengan meng-
gunakan konsep atau teori fisika yang akhirnya melahirkan fisika teori. Kedua, dengan cara
eksperimen yang menghasilkan aliran fisika eksperimental, dan ketiga, fisika bisa dipelajari
lewat simulasi fisika yang sangat mengandalkan komputer serta algoritma numerik.
Tujuan penyusunan buku ini adalah untukmeletakkan pondasi dasar dari bangunan pema-
haman akanmetode-metode komputasi yang banyak digunakan pada simulasi-simulasi fenom-
ena fisika.
Rujukan utama buku ini bersumber pada buku teks standar yang sangat populer di dunia
komputasi, yaitu buku yang ditulis oleh Richard L. Burden dan J. Douglas Faires dengan judul
Numerical Analysis edisi ke-7, diterbitkan oleh Penerbit Brooks/Cole, Thomson Learning Aca-
demic Resource Center. Disamping itu, buku ini dilengkapi oleh sejumlah contoh aplikasi
komputasi pada upaya penyelesaian problem-problem fisika.
Dalam edisi ke-2 ini, algoritma numerik disalin ke dalam 2 bahasa pemrograman, yaitu For-
tran77 dan Matlab. Disamping itu penjelasan lebih terperinci tentang bagaimana menentukan
indeks i, j dan k dalam proses looping disajikan pada Bab I, untuk memberi pondasi yang san-
gat penting bagi berdirinya bangunan pemahaman akan teknik-teknik numerik selanjutnya.
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. Rasa terima kasih juga in-
gin saya teruskan kepada Sarah Wardhani yang telah memicu langkah awal penulisan buku
ini hingga masuk ke Edisi-2. Tak lupa, saya pun sepatutnya berterima kasih kepada selu-
ruh rekan diskusi yaitu para mahasiswa yang telah mengambil mata kuliah Komputasi Fisika
PTA 2006/2007 di Departemen Fisika, FMIPA, Universitas Indonesia. Tiga orang mahasiswi
dari Universitas Pakuan yaitu Eni Nurliani, Saidah Al-adawiyah dan Deni Fitri A juga perlu
saya tulis disini sebagai ungkapan terima kasih atas pertanyaan-pertanyaanmereka yang turut
memperkaya isi buku ini.
Walaupun buku ini masih jauh dari sempurna, namun semoga ia dapat menyumbangkan
energi bagi terciptanya gelombang kebangkitan ilmu pengetahuan pada bangsa Indonesia yang
saat ini sedang terpuruk. Saya wariskan ilmu ini untuk anak bangsa. Saya izinkan anda untuk
meng-copy danmenggunakan buku ini selama itu ditujukan untuk belajar dan bukan untuk tu-
juan komersial. Bagi yang ingin berdiskusi, memberikan masukan, kritikan dan saran, silakan
dikirimkan ke email: supri92@gmail.com
Depok, 16 September 2007
Supriyanto Suparno
v
Daftar Isi
Lembar Persembahan i
Kata Pengantar v
Daftar Isi vii
Daftar Gambar xi
Daftar Tabel xiii
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
1.4 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
2 Metode Eliminasi Gauss 17
2.1 Sistem persamaan linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Triangularisasi dan Substitusi Mundur . . . . . . . . . . . . . . . . . . . . . . . . . 18
vii
viii
2.3 Matrik dan Eliminasi Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Algoritma eliminasi Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.1 Algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5 Contoh aplikasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.1 Menghitung arus listrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6 Menghitung invers matrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.7 Penutup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3 Aplikasi Eliminasi Gauss pada Masalah Inversi 39
3.1 Inversi Model Garis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.1 Script matlab inversi model garis . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2 Inversi Model Parabola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.1 Script matlab inversi model parabola . . . . . . . . . . . . . . . . . . . . . 48
3.3 Inversi Model Bidang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4 Contoh aplikasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.1 Menghitung gravitasi di planet X . . . . . . . . . . . . . . . . . . . . . . . . 53
4 Metode LU Decomposition 61
4.1 Faktorisasi matrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2 Algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5 Metode Iterasi 71
5.1 Kelebihan Vektor-kolom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.2 Pengertian Norm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.2.1 Script perhitungan norm dalam Matlab . . . . . . . . . . . . . . . . . . . . 72
5.2.2 Perhitungan norm-selisih . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.3 Iterasi Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.3.1 ScriptMatlab untuk menghitung iterasi . . . . . . . . . . . . . . . . . . . . 76
5.3.2 Optimasi scriptMatlab untuk menghitung iterasi . . . . . . . . . . . . . . 80
5.3.3 Algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.3.4 Program dalam Fortran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.4 Iterasi Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.4.1 Script iterasi Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.4.2 Algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.4.3 Script iterasi Gauss-Seidel dalam Fortran . . . . . . . . . . . . . . . . . . . 87
5.5 Iterasi dengan Relaksasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.5.1 Algoritma Iterasi Relaksasi . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6 Interpolasi 93
6.1 Interpolasi Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.2 Interpolasi Cubic Spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
ix
7 Diferensial Numerik 103
7.1 Metode Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
7.2 Metode Runge Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.3 Metode Finite Difference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.3.1 Script Finite-Difference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.3.2 Aplikasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8 Pers. Diferensial Parsial Numerik 123
8.1 Pendahuluan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
8.2 PDP eliptik dalam Finite-Difference . . . . . . . . . . . . . . . . . . . . . . . . . . 124
9 Integral Numerik 131
9.1 Metode Trapezoida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
9.2 Metode Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
9.3 Metode Composite-Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
10 Metode Newton 137
10.1 Penyederhanaan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
11 Metode Monte Carlo 139
11.1 Penyederhanaan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
12 Inversi 143
12.1 Inversi Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
12.2 Inversi Non-Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Daftar Pustaka 149
Indeks 151
Daftar Gambar
3.1 Grafik data pengukuran gerak batu . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2 Grafik hasil inversi parabola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.1 Fungsi f(x) dengan sejumlah titik data . . . . . . . . . . . . . . . . . . . . . . . . 95
6.2 Pendekatan dengan polinomial cubic spline . . . . . . . . . . . . . . . . . . . . . . 95
6.3 Profil suatu object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.4 Sampling titik data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.5 Hasil interpolasi cubic spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.6 Hasil interpolasi lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
7.1 Metode Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
7.2 Trend error metode euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.3 Rangkaian RC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
7.4 Kurva muatan q terhadap waktu t . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.5 Kurva suatu fungsi f(x) yang dibagi sama besar berjarak h. Evaluasi kurva yang
dilakukan Finite-Difference dimulai dari batas bawah X0 = a hingga batas atas
x6 = b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
8.1 Distribusi temperatur pada lempeng logam . . . . . . . . . . . . . . . . . . . . . . 126
9.1 Metode Trapezoida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
9.2 Metode Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
9.3 Metode Composite Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
10.1 Metode Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
11.1 Lingkaran dan bujursangkar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
11.2 Dart yang menancap pada bidang lingkaran dan bujursangkar . . . . . . . . . . . 140
11.3 Dart yang menancap pada bidang 1/4 lingkaran dan bujursangkar . . . . . . . . 141
xi
Daftar Tabel
3.1 Data temperatur bawah permukaan tanah terhadap kedalaman . . . . . . . . . . 39
3.2 Data temperatur bawah permukaan tanah terhadap kedalaman . . . . . . . . . . 44
3.3 Data ketinggian terhadap waktu dari planet X . . . . . . . . . . . . . . . . . . . . 53
5.1 Hasil akhir elemen-elemen vektor x hingga iterasi ke-10 . . . . . . . . . . . . . . . 79
5.2 Hasil perhitungan norm-selisih (dengan 2) hingga iterasi ke-10 . . . . . . . . . . 81
5.3 Hasil Iterasi Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.4 Hasil perhitungan iterasi Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.5 Hasil perhitungan iterasi Relaksasi dengan = 1, 25 . . . . . . . . . . . . . . . . . 90
xiii
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
Anm. 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.
A = (aij) =
a11 a12 . . . a1m
a21 a22 . . . a2m...
......
an1 an2 . . . anm
(1.1)
Contoh 1: Matrik A23
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 B32
B =
1 3
5 9
2 4
1
2 BAB 1. MATRIK DAN KOMPUTASI
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 Fortran77, caramengisi memori komputer dengan elemen-elemen
matrik A23, sesuai dengan Contoh 1 adalah
1 A(1,1) = 32 A(1,2) = 83 A(1,3) = 54 A(2,1) = 65 A(2,2) = 46 A(2,3) = 7
Sedangkan untuk matrik B32, sesuai Contoh 2 adalah
1 B(1,1) = 12 B(1,2) = 33 B(2,1) = 54 B(2,2) = 95 B(3,1) = 26 B(3,2) = 4
Sementara dalam Matlab, cara mengisi memori komputer dengan elemen-elemen matrik
A23, sesuai dengan Contoh 1 adalah
1 clear all2 clc3
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 B32, sesuai Contoh 2 adalah
1 clear all2 clc3
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
1.3. MACAM-MACAMMATRIK 3
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 AT atau At.
Contoh 3: Operasi transpose terhadap matrik A
A =
[3 8 5
6 4 7
]At =
3 6
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 disebutmatrik bujursangkar
orde 3
A =
1 3 8
5 9 7
2 4 6
1.3.3 Matrik simetrik
Matrik simetrik adalah matrik bujursangkar yang elemen-elemen matrik A bernilai sama den-
gan matrik transpose-nya (At).
Contoh 5: Matrik simetrik
A =
2 3 7 13 5 6 27 6 9 8
1 2 8 10
At =
2 3 7 13 5 6 27 6 9 8
1 2 8 10
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 =
11 0 0
0 29 0
0 0 61
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
I =
1 0 0
0 1 0
0 0 1
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
A =
3 6 2 1
0 4 1 5
0 0 8 7
0 0 0 9
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
A =
12 0 0 0
32 2 0 08 7 11 0
5 10 6 9
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 =
3 6 0 0
2 4 1 00 5 8 70 0 3 9
1.3. MACAM-MACAMMATRIK 5
1.3.9 Matrik diagonal dominan
Matrik diagonal dominan adalah matrik bujursangkar yang memenuhi
|aii| >n
j=1,j 6=i
|aij | (1.2)
dimana i=1,2,3,..n. Coba perhatikan matrik-matrik berikut ini
A =
7 2 0
3 5 10 5 6
B =
6 4 34 2 03 0 1
Pada elemen diagonal aii matrikA, |7| > |2|+|0|, lalu |5| > |3|+|1|, dan |6| > |5|+|0|. Makamatrik 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 matrikdiagonal dominan.
1.3.10 Matrik positive-definite
Suatu matrik dikatakan positive-definite bila matrik tersebut simetrik dan memenuhi
xtAx > 0 (1.3)
Contoh 11: Diketahui matrik simetrik berikut
A =
2 1 01 2 10 1 2
untuk menguji apakah matrik A bersifat positive-definite, maka
xtAx =[x1 x2 x3
]2 1 01 2 10 1 2
x1
x2
x3
=[x1 x2 x3
]2x1 x2
x1 + 2x2 x3x2 + 2x3
= 2x21 2x1x2 + 2x22 2x2x3 + 2x23= x21 + (x
21 2x1x2 + x22) + (x22 2x2x3 + 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
6 BAB 1. MATRIK DAN KOMPUTASI
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 dina-
makan vektor-baris berukuran m, bila hanya memiliki satu baris dan m kolom, yang diny-
atakan sebagai berikut
a =[a11 a12 . . . a1m
]=[a1 a2 . . . am
](1.4)
Sedangkan suatumatrik dinamakan vektor-kolom berukuran n, bila hanyamemiliki satu kolom
dan n baris, yang dinyatakan sebagai berikut
a =
a11
a21...
an1
=
a1
a2...
an
(1.5)
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 C23
C =
[9 5 3
7 2 1
]
dijumlahkan dengan matrik A23, lalu hasilnya (misalnya) dinamakan matrik D23
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
]
Tanpamempedulikan nilai elemen-elemenmasing-masingmatrik, operasi penjumlahan antara
matrik A23 dan C23, 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 for i=1:22 for j=1:33 D(i,j)=A(i,j)+C(i,j);4 end5 end
Sedangkan dalam Fortran77, operasi penjumlahan antara matrik ditulis sebagai berikut: A23
dan C23 adalah
1 do i=1,22 do j=1,33 D(i,j)=A(i,j)+C(i,j)4 end do5 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 xm, dimana n adalah jumlah baris danm adalah jumlah kolom,
maka bentuk pernyataan komputasinya dalam matlab menjadi
1 for i=1:n2 for j=1:m3 D(i,j)=A(i,j)+C(i,j);4 end5 end
sedangkan dalam Fortran77
1 do i=1,n2 do j=1,m3 D(i,j)=A(i,j)+C(i,j)4 end do5 end do
Sekarang, mari kita lengkapi dengan contoh sebagai berikut: diketahui matrik A23
A =
[3 8 5
6 4 7
]
dan matrik C23
C =
[9 5 3
7 2 1
]
Program untuk menjumlahkan kedua matrik tersebut dalam matlab adalah:
1 clear all2 clc3
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=217 m=318 for i=1:n19 for j=1:m20 D(i,j)=A(i,j)+C(i,j);21 end22 end
1.4. OPERASI MATEMATIKA 9
sedangkan dalam Fortran77
1 A(1,1) = 32 A(1,2) = 83 A(1,3) = 54 A(2,1) = 65 A(2,2) = 46 A(2,3) = 77 C(1,1) = 98 C(1,2) = 59 C(1,3) = 310 C(2,1) = 711 C(2,2) = 212 C(2,3) = 113 n=214 m=315 do i=1,n16 do j=1,m17 D(i,j)=A(i,j)+C(i,j)18 end do19 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 A23 dikalikan dengan matrik
B32, lalu hasilnya (misalnya) dinamakan matrik E22
E22 = A23.B32
E =
[3 8 5
6 4 7
]1 3
5 9
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 A23 dan B32, 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
]
10 BAB 1. MATRIK DAN KOMPUTASI
Bila dijabarkan, maka elemen-elemen matrik E22 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 =
3k=1
aikbkj (1.13)
dimana i=1,2; j=1,2; dan k=1,2,3.
Berdasarkan contoh ini, maka secara umum bila ada matrik Anm yang dikalikan dengan ma-
trik Bmp, akan didapatkan matrik Enp dimana elemen-elemen matrik Ememenuhi
eij =m
k=1
aikbkj (1.14)
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 matrikA23 dan B32 dilakukan melalui 2 tahap; pertama
adalah memberikan nilai 0 (nol) pada elemen-elemen matrik E22 dengan cara (dalam matlab)
1 for i=1:22 for j=1:23 E(i,j)=0.0;4 end5 end
dalam Fortran77
1 do i=1,22 do j=1,23 E(i,j)=0.04 end do5 end do
kedua adalah menghitung perkalian matrik dengan cara (dalam matlab)
1 for i=1:22 for j=1:23 for k=1:34 E(i,j)=E(i,j)+A(i,k)*B(k,j);5 end6 end7 end
dalam Fortran77
1 do i=1,22 do j=1,23 do k=1,34 E(i,j)=E(i,j)+A(i,k)*B(k,j)5 end do6 end do7 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 for i=1:n2 for j=1:p3 E(i,j)=0.0;4 end5 end6 for i=1:n7 for j=1:p8 for k=1:m9 E(i,j)=E(i,j)+A(i,k)*B(k,j);10 end11 end12 end
dalam Fortran77
1 do i=1,n2 do j=1,p3 E(i,j)=0.04 end do5 end do6 do i=1,n7 do j=1,p8 do k=1,m9 E(i,j)=E(i,j)+A(i,k)*B(k,j)10 end do11 end do12 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
y =
[3 8 5
6 4 7
]2
3
4
=
[3.2 + 8.3 + 5.4
6.2 + 4.3 + 7.4
]
=
[50
52
]
Sekali lagi, tanpamempedulikan nilai elemen-elemenmasing-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 =
3j=1
aijxj
dimana i=1,2.
Berdasarkan contoh tersebut, secara umum bila ada matrik A berukuran n xm yang dikalikan
dengan vektor-kolom x berukuran m, maka akan didapatkan vektor-kolom y berukuran n x 1
dimana elemen-elemen vektor-kolom ymemenuhi
yi =m
j=1
aijxj (1.15)
dengan i=1,2,. . . ,n.
1.4.6 Komputasi perkalian matrik dan vektor-kolom
Sama seperti perkalian duamatrik, komputasi untuk operasi perkalian antaramatrikA 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:n2 b(i,1)=0.0;
1.5. PENUTUP 15
3 end4 for i=1:n5 for j=1:m6 b(i,1)=b(i,1)+A(i,j)*x(j,1);7 end8 end
dan dalam Fortran
1 do i=1,n2 b(i,1)=0.03 end do4 do i=1,n5 do j=1,m6 b(i,1)=b(i,1)+A(i,j)*x(j,1)7 end do8 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
A =
1 3 6 25 9 7 5.6
2 4 8 12.3 1.4 0.8 2.3
B =
8 1 4 21
3 10 5 0.1
7 2 9 52.7 12 8.9 5.7
x =
0.4178
2.958756.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 A dan vektor x.
============================================================
16 BAB 1. MATRIK DAN KOMPUTASI
Bab 2
Metode Eliminasi Gauss
- Objektif :
Mengenalkan sistem persamaan linear. Mengenalkan teknik triangularisasi dan substitusi mundur. Aplikasi metode Eliminasi Gauss menggunakan matrik. Membuat algoritma metode Eliminasi Gauss. Menghitung invers matrik menggunakan metode Eliminasi Gauss.
2.1 Sistem persamaan linear
Secara umum, sistem persamaan linear dinyatakan sebagai berikut
Pn : an1x1 + an2x2 + ...+ annxn = bn (2.1)
dimana a dan bmerupakan konstanta, x adalah variable, n = 1, 2, 3, ....
Contoh pertama
Misalnya ada sistem persamaan linear yang terdiri dari empat buah persamaan yaitu P1,
P2, P3, dan P4 seperti berikut ini:
P1 : x1 + x2 + 3x4 = 4P2 : 2x1 + x2 x3 + x4 = 1P3 : 3x1 x2 x3 + 2x4 = -3P4 : x1 + 2x2 + 3x3 x4 = 4
Problem dari sistem persamaan linear adalah bagaimana mencari nilai pengganti bagi vari-
abel x1, x2, x3, dan x4 sehingga semua persamaan diatas menjadi benar. Langkah awal penye-
lesaian problem tersebut adalah dengan melakukan penyederhanaan sistem persamaan linear.
17
18 BAB 2. METODE ELIMINASI GAUSS
2.2 Triangularisasi dan Substitusi Mundur
Ada banyak jalan untuk mendapatkan bentuk yang lebih sederhana, namun masalahnya, ki-
ta 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
linear di atas, yaitu
Persamaan Pi dapat dikalikan dengan sembarang konstanta , lalu hasilnya ditempatkandi posisi persamaan Pi. Simbol operasi ini adalah (Pi) (Pi).
Persamaan Pj dapat dikalikan dengan sembarang konstanta kemudian dijumlahkandengan persamaan Pi, lalu hasilnya ditempatkan di posisi persamaan Pi. Simbol operasi
ini adalah (Pi + Pj) (Pi).
Persamaan Pi dan Pj dapat bertukar posisi. Simbol operasi ini adalah (Pi) (Pj).
Maka dengan berpegang pada aturan-aturan tersebut, problem sistem persamaan linear di atas
akan diselesaikan dengan langkah-langkah berikut ini:
1. Gunakan persamaan P1 untuk menghilangkan variabel x1 dari persamaan P2, P3 dan P4
dengan cara (P2 2P1) (P2), (P3 3P1) (P3) dan (P4 + P1) (P4). Hasilnya akanseperti ini
P1 : x1 + x2 + 3x4 = 4,
P2 : x2 x3 5x4 = 7,P3 : 4x2 x3 7x4 = 15,P4 : 3x2 + 3x3 + 2x4 = 8
2. Gunakan persamaan P2 untuk menghilangkan variabel x2 dari persamaan P3 dan P4
dengan cara (P3 4P2) (P3) dan (P4 + 3P2) (P4). Hasilnya akan seperti ini
P1 : x1 + x2 + 3x4 = 4,
P2 : x2 x3 5x4 = 7,P3 : 3x3 + 13x4 = 13,
P4 : 13x4 = 13
Kalau x3 masih ada di persamaanP4, dibutuhkan satu operasi lagi untukmenghilangkan-
nya. Namun hasil operasi pada langkah ke-2 ternyata sudah otomatis menghilangkan x3.
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? Su-
atu sistem persamaan linear dikatakan sederhana bila kita bisa mendapatkan seluruh ni-
lai pengganti variabelnya dengan cara yang lebih mudah atau dengan usaha yang tidak
2.2. TRIANGULARISASI DAN SUBSTITUSI MUNDUR 19
memakan waktu lama dibandingkan sebelum disederhanakan. Sekali kita mendapatkan
nilai pengganti bagi variabel x4, maka x3, x2 dan x1 akan diperoleh dengan mudah dan
cepat, sebagaimana yang dijelaskan pada langkah berikutnya.
3. Selanjutnya kita jalankan proses backward-substitution. Melalui proses ini, yang perta-
ma kali didapat adalah nilai pengganti bagi variabel x4, kemudian x3, lalu diikuti x2, dan
akhirnya x1.
P4 : x4 =1313 = 1,
P3 : x3 =1
3(13 13x4) = 1
3(13 13) = 0,
P2 : x2 = (7 + 5x4 + x3) = (7 + 5 + 0) = 2,P1 : x1 = 4 3x4 x2 = 4 3 2 = 1
Jadi solusinya adalah x1 = 1, x2 = 2, x3 = 0 dan x4 = 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.
20 BAB 2. METODE ELIMINASI GAUSS
Contoh kedua
Misalnya ada sistem persamaan linear, terdiri dari empat buah persamaan yaitu P1, P2, P3,
dan P4 seperti berikut ini:
P1 : x1 x2 + 2x3 x4 = -8P2 : 2x1 2x2 + 3x3 3x4 = -20P3 : x1 + x2 + x3 = -2P4 : x1 x2 + 4x3 + 3x4 = 4
Seperti contoh pertama, solusi sistem persamaan linear di atas akan dicari dengan langkah-
langkah berikut ini:
1. Gunakan persamaan P1 untuk menghilangkan x1 dari persamaan P2, P3 dan P4 dengan
cara (P2 2P1) (P2), (P3P1) (P3) dan (P4P1) (P4). Hasilnya akan seperti ini
P1 : x1 x2 + 2x3 x4 = 8,P2 : x3 x4 = 4,P3 : 2x2 x3 + x4 = 6,P4 : 2x3 + 4x4 = 12
Perhatikan persamaan P2! Akibat dari langkah yang pertama tadi, x2 hilang dari per-
samaan P2. Kondisi ini bisa menggagalkan proses triangularisasi. Untuk itu, posisi P2
mesti ditukar dengan persamaan yang berada dibawahnya, yaitu P3 atau P4. Supaya
proses triangularisasi dilanjutkan kembali, maka yang paling cocok adalah ditukar den-
gan P3.
2. Tukar posisi persamaan P2 dengan persamaan P3, (P2 P3). Hasilnya akan seperti ini
P1 : x1 x2 + 2x3 x4 = 8,P2 : 2x2 x3 + x4 = 6,P3 : x3 x4 = 4,P4 : 2x3 + 4x4 = 12
3. Gunakan persamaan P3 untuk menghilangkan x3 dari persamaan P4 dengan cara (P4 2P3) (P4). Hasilnya akan seperti ini
P1 : x1 x2 + 2x3 x4 = 8,P2 : 2x2 x3 + x4 = 6,P3 : x3 x4 = 4,P4 : 2x4 = 4
Sampai disini proses triangularisasi telah selesai.
2.3. MATRIK DAN ELIMINASI GAUSS 21
4. Selanjutnya adalah proses backward-substitution. Melalui proses ini, yang pertama kali
didapat solusinya adalah x4, kemudian x3, lalu diikuti x2, dan akhirnya x1.
P4 : x4 =4
2= 2,
P3 : x3 =4 + x41 = 2,
P2 : x2 =6 + x3 x4
2= 3,
P1 : x1 = 8 + x2 2x3 + x4 = 7
Jadi solusinya adalah x1 = 7, x2 = 3, x3 = 2 dan x4 = 2.
Berdasarkan kedua contoh di atas, untuk mendapatkan solusi sistem persamaan linear, diper-
lukan operasi triangularisasi dan proses backward-substitution. Kata backward-substitution
kalau diterjemahkan kedalam bahasa indonesia, menjadi substitusi-mundur. Gabungan pros-
es triangularisasi dan substitusi-mundur untuk menyelesaikan sistem persamaan linear dike-
nal sebagai metode eliminasi gauss.
2.3 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:
a11x1 + a12x2 + . . .+ a1nxn = b1
a21x1 + a22x2 + . . .+ a2nxn = b2
. . . . . . . . . . . . . . . = . . .
. . . . . . . . . . . . . . . = . . .
an1x1 + an2x2 + . . .+ annxn = bn
Sementara, kalau dinyatakan dalam bentuk operasi matrik, maka akan seperti ini:
a11 a12 . . . a1n
a21 a22 . . . a2n...
......
an1 an2 . . . ann
x1
x2...
xn
=
b1
b2...
bn
(2.2)
Dalam mencari solusi suatu sistem persamaan linear dengan metode eliminasi gauss, bentuk
operasi matrik di atas dimanipulasi menjadimatrik augment, yaitu suatu matrik yang beruku-
22 BAB 2. METODE ELIMINASI GAUSS
ran n x (n+ 1) seperti berikut ini:
a11 a12 . . . a1n | b1a21 a22 . . . a2n | b2...
...... | ...
an1 an2 . . . ann | bn
=
a11 a12 . . . a1n | a1,n+1a21 a22 . . . a2n | a2,n+1...
...... | ...
an1 an2 . . . ann | an,n+1
(2.3)
Berdasarkan contoh pertama yang ada dihalaman depan catatan ini, saya akan tunjukkan pros-
es triangularisasi dan substitusi-mundur dalam operasi matrik terhadap sistem persamaan lin-
ear yang terdiri dari empat persamaan matematika, yaitu (silakan lihat kembali contoh pertama):
1 1 0 3
2 1 1 13 1 1 21 2 3 1
x1
x2
x3
x4
=
4
1
34
Lalu kita dapat membuat matrik augment sebagai berikut:
1 1 0 3 | 42 1 1 1 | 13 1 1 2 | 31 2 3 1 | 4
Kemudian kita lakukan operasi triangularisai terhadap matrik augment, dimulai dari kolom
pertama, yaitu
1 1 0 3 | 40 1 1 5 | 70 4 1 7 | 150 3 3 2 | 8
lalu dilanjutkan ke kolom berikutnya
1 1 0 3 | 40 1 1 5 | 70 0 3 13 | 130 0 0 13 | 13
Sebelum dilanjutkan ke substitusi-mundur, saya ingin menegaskan peranan angka-angka in-
deks dari masing-masing elemen matrik augment tersebut. Silakan perhatikan posisi masing-
2.4. ALGORITMA ELIMINASI GAUSS 23
masing elemen berikut ini:
1 1 0 3 | 40 1 1 5 | 70 0 3 13 | 130 0 0 13 | 13
a11 a12 a13 a14 | a15a21 a22 a23 a24 | a25a31 a32 a33 a34 | a35a41 a42 a43 a44 | a45
Dengan memperhatikan angka-angka indeks pada matrik augment di atas, kita akan menco-
ba membuat rumusan proses substitusi-mundur untuk mendapatkan seluruh nilai pengganti
variabel x. Dimulai dari x4,
x4 =a45a44
=1313 = 1
ini dapat dinyatakan dalam rumus umum, yaitu
xn =an,n+1ann
lalu dilanjutkan dengan x3, x2, dan x1.
x3 =a35 a34x4
a33=
13 [(13)(1)]3
= 0
x2 =a25 (a23x3 + a24x4)
a22=
(7) [(1)(0) + (5)(1)](1) = 2
x1 =a15 (a12x2 + a13x3 + a14x4)
a11=
4 [(1)(2) + (0)(0) + (3)(1)]1
= 1
ini juga dapat dinyatakan dalam rumus umum yaitu:
xi =ai,n+1
nj=i+1 aijxj
aii
Proses triangularisasi dan substitusi-mundur dibakukan menjadi algoritma metode eliminasi
gauss yang dapat diterapkan dalam berbagai bahasa pemrograman komputer, misalnya for-
tran, C, java, pascal, matlab, dan lain-lain.
2.4 Algoritma eliminasi Gauss
Secara umum, sistem persamaan linear adalah sebagai berikut:
a11x1 + a12x2 + . . .+ a1nxn = b1
a21x1 + a22x2 + . . .+ a2nxn = b2...
... =...
an1x1 + an2x2 + . . .+ annxn = bn
Algoritma dasar metode eliminasi gauss, adalah sebagai berikut:
1. Ubahlah sistem persamaan linear tersebut menjadi matrik augment, yaitu suatu matrik
24 BAB 2. METODE ELIMINASI GAUSS
yang berukuran n x (n+ 1) seperti berikut ini:
a11 a12 . . . a1n | b1a21 a22 . . . a2n | b2...
...... | ...
an1 an2 . . . ann | bn
=
a11 a12 . . . a1n | a1,n+1a21 a22 . . . a2n | a2,n+1...
...... | ...
an1 an2 . . . ann | an,n+1
(2.4)
Jelas terlihat bahwa elemen-elemen yang menempati kolom terakhir matrik augment
adalah nilai dari bi; yaitu ai,n+1 = bi 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 a11, a22, ..., ann
atau disingkat aii. Jika aii 6= 0, bisa dilanjutkan ke langkah no.3. Namun, jika ada elemendiagonal yang bernilai nol, aii = 0, maka baris dimana elemen itu berada harus ditukar
posisinya dengan baris yang ada dibawahnya, (Pi) (Pj) dimana j = i + 1, i + 2, ..., n,sampai elemen diagonal matrik menjadi tidak nol, aii 6= 0. (Kalau kurang jelas, silakan lihatlagi 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:
Pj ajiaii
Pi Pj (2.5)
dimana j = i+ 1, i+ 2, ..., n. Maka matrik augment akan menjadi:
a11 a12 a13 . . . a1n | a1,n+10 a22 a23 . . . a2n | a2,n+10 0 a33 . . . a3n | a3,n+1...
......
. . .... | ...
0 0 0 0 ann | an,n+1
(2.6)
4. Hitunglah nilai xn dengan cara:
xn =an,n+1ann
(2.7)
5. Lakukanlah proses substitusi-mundur untuk memperoleh xn1, xn2, ..., x2, x1 dengan
cara:
xi =ai,n+1
nj=i+1 aijxj
aii(2.8)
dimana i = n 1, n 2, ..., 2, 1.
Demikianlan algoritma dasar metode eliminasi gauss. Selanjutnya algoritma dasar tersebut
perlu dirinci lagi sebelum dapat diterjemahkan kedalam bahasa pemrograman komputer.
2.4. ALGORITMA ELIMINASI GAUSS 25
2.4.1 Algoritma
Algoritma metode eliminasi gauss untuk menyelesaikan n x n sistem persamaan linear.
P1 : a11x1 + a12x2 + . . .+ a1nxn = b1
P2 : a21x1 + a22x2 + . . .+ a2nxn = b2...
...... =
...
Pn : an1x1 + an2x2 + . . .+ annxn = bn
INPUT: sejumlah persamaan linear dimana konstanta-konstanta-nyamenjadi elemen-elemen
matrik augment A = (aij), dengan 1 i n dan 1 j n+ 1.OUTPUT: solusi x1, x2, x3, ..., xn atau pesan kesalahan yang mengatakan bahwa sistem per-
samaan linear tidak memiliki solusi yang unik.
Langkah 1: Inputkan konstanta-konstanta dari sistem persamaan linear kedalam elemen-elemen matrik augment, yaitu suatu matrik yang berukuran n x (n + 1) seperti berikut
ini:
a11 a12 . . . a1n | b1a21 a22 . . . a2n | b2...
...... | ...
an1 an2 . . . ann | bn
=
a11 a12 . . . a1n | a1,n+1a21 a22 . . . a2n | a2,n+1...
...... | ...
an1 an2 . . . ann | an,n+1
(2.9)
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 bahwaapi 6= 0. Jika ada elemen diagonal yang bernilai nol (aii = 0), maka program harusmencari 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 (in-
deks 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
api = 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 diperolehelemen yang tidak nol (api 6= 0), maka bisa dipastikan p 6= i. Jika p 6= i makalakukan proses pertukaran (Pp) (Pi).
Langkah 5: Untuk j = i+ 1, .., n, lakukan Langkah 6 dan Langkah 7. Langkah 6: Tentukanmji,
mji =ajiaii
26 BAB 2. METODE ELIMINASI GAUSS
Langkah 7: Lakukan proses triangularisasi,
(Pj mjiPi) (Pj)
Langkah 8: Setelah proses triangularisasi dilalui, periksalah ann. Jika ann = 0, kirimkanpesan: sistem persamaan linear tidak memiliki solusi yang unik. Lalu program berakhir:
STOP.
Langkah 9: Jika ann 6= 0, lakukan proses substitusi mundur, dimulai denganmenentukanxn,
xn =an,n+1ann
Langkah 10: Untuk i = n 1, ..., 1 tentukan xi,
xi =ai,n+1
nj=i+1 aijxj
aii
Langkah 11: Diperoleh solusi yaitu x1, x2, ..., xn. Algoritma telah dijalankan dengan suk-ses. STOP.
Saya telah membuat program sederhana dalam fortran untuk mewujudkan algoritma elim-
inasi 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 in-
ginkan pada statemen pertama dari program ini, yaitu statemen DIMENSION. Inilah program-
nya,
1 DIMENSION A(10,11), X(10)2 REAL MJI3 WRITE (*,*) =PROGRAM ELIMINASI GAUSS=4 WRITE (*,*)5 C LANGKAH 1: MEMASUKAN NILAI ELEMEN-ELEMEN MATRIK AUGMENT6 WRITE (*,(1X,A)) JUMLAH PERSAMAAN ? 7 READ (*,*) N8 WRITE (*,*)9 WRITE (*,*) MASUKAN ELEMEN-ELEMEN MATRIK AUGMENT10 M = N + 111 DO 50 I = 1,N12 DO 60 J = 1,M13 WRITE (*,(1X,A,I2,A,I2,A)) A(,I,,,J,) = 14 READ (*,*) A(I,J)15 60 CONTINUE16 50 CONTINUE17 WRITE (*,*)18 C MENAMPILKAN MATRIK AUGMENT
2.4. ALGORITMA ELIMINASI GAUSS 27
19 WRITE (*,(1X,A)) MATRIK AUGMENT:20 DO 110 I = 1,N21 WRITE (*,(1X,5(F14.8))) (A(I,J),J=1,M)22 110 CONTINUE23 WRITE (*,*)24 C LANGKAH 2: MEMERIKSA ELEMEN-ELEMEN PIVOT DAN PROSES TUKAR POSISI25 NN = N-126 DO 10 I=1,NN27 C LANGKAH 3: MENDEFINISIKAN P28 P = I
29 100 IF (ABS(A(P,I)).GE.1.0E-20 .OR. P.GT.N) GOTO 20030 P = P+131 GOTO 10032 200 IF(P.EQ.N+1)THEN33 C MENAMPILKAN PESAN TIDAK UNIK34 WRITE(*,5)35 GOTO 40036 END IF
37 C LANGKAH 4: PROSES TUKAR POSISI38 IF(P.NE.I) THEN39 DO 20 JJ=1,M40 C = A(I,JJ)41 A(I,JJ) = A(P,JJ)42 A(P,JJ) = C43 20 CONTINUE44 END IF
45 C LANGKAH 5: PERSIAPAN PROSES TRIANGULARISASI46 JJ = I+147 DO 30 J=JJ,N48 C LANGKAH 6: TENTUKAN MJI49 MJI = A(J,I)/A(I,I)50 C LANGKAH 7: MELAKUKAN PROSES TRIANGULARISASI51 DO 40 K=JJ,M52 A(J,K) = A(J,K)-MJI*A(I,K)53 40 CONTINUE54 A(J,I) = 055 30 CONTINUE56 10 CONTINUE57 C MENAMPILKAN HASIL TRIANGULARISASI58 WRITE (*,(1X,A)) HASIL TRIANGULARISASI:59 DO 120 I = 1,N60 WRITE (*,(1X,5(F14.8))) (A(I,J),J=1,M)61 120 CONTINUE62 C LANGKAH 8: MEMERIKSA ELEMEN A(N,N)63 IF(ABS(A(N,N)).LT.1.0E-20) THEN64 C MENAMPILKAN PESAN TIDAK UNIK65 WRITE(*,5)66 GOTO 40067 END IF
68 C LANGKAH 9: MENGHITUNG X(N)69 X(N) = A(N,N+1)/A(N,N)70 C LANGKAH 10: PROSES SUBSTITUSI MUNDUR71 L = N-172 DO 15 K=1,L73 I = L-K+174 JJ = I+175 SUM = 0.076 DO 16 KK=JJ,N77 SUM = SUM+A(I,KK)*X(KK)
28 BAB 2. METODE ELIMINASI GAUSS
78 16 CONTINUE79 X(I) = (A(I,N+1)-SUM)/A(I,I)80 15 CONTINUE81 C LANGKAH 11: MENAMPILKAN HASIL PERHITUNGAN82 WRITE (*,*)83 WRITE (*,7)84 DO 18 I = 1,N85 WRITE (*,(1X,A,I2,A,F14.8)) X(,I,) = ,X(I)86 18 CONTINUE87 400 STOP88
89 5 FORMAT(1X,SISTEM LINEAR TIDAK MEMILIKI SOLUSI YANG UNIK)90 7 FORMAT(1X,SOLUSI UNIK)91 END
Script eliminasi gauss dalammatlab juga telah dibuat. Namun dalam anda perlu memodifikasi
elemen-elemen matrik A agar sesuai dengan data yang hendak anda olah.
1 clear all2 clc3 A(1,1)=1;4 A(1,2)=1;5 A(1,3)=-1;6 A(1,4)=0;7 A(2,1)=6;8 A(2,2)=-4;9 A(2,3)=0;10 A(2,4)=24;11 A(3,1)=6;12 A(3,2)=0;13 A(3,3)=2;14 A(3,4)=10;15 A
16 n=3 %jumlah persamaan17 pause18
19 %========== Proses Triangularisasi =========20 for j=1:(n-1)21
22 %----mulai proses pivot---23 if (A(j,j)==0)24 for p=1:n+125 u=A(j,p);26 v=A(j+1,p);27 A(j+1,p)=u;28 A(j,p)=v;29 end30 end31 %----akhir proses pivot---32 jj=j+1;33 for i=jj:n34 m=A(i,j)/A(j,j);35 for k=1:(n+1)36 A(i,k)=A(i,k)-(m*A(j,k));37 end38 end39 end40 A
2.5. CONTOH APLIKASI 29
41 pause42 %========= Akhir Proses Triangularisasi ===43
44 %------Proses Substitusi mundur-------------45 x(n,1)=A(n,n+1)/A(n,n);46
47 for i=n-1:-1:148 S=0;49 for j=n:-1:i+150 S=S+A(i,j)*x(j,1);51 end52 x(i,1)=(A(i,n+1)-S)/A(i,i);53 end54 x
2.5 Contoh aplikasi
2.5.1 Menghitung arus listrik
Gunakan metode Eliminasi Gauss untuk menentukan arus i1, i2 dan i3 yang mengalir pada
rangkaian berikut ini
jawab:
Berdasarkan Hukum Kirchhoff:
I1 + I2 = I3
10 6I1 2I3 = 014 + 6I1 10 4I2 = 0
Lalu kita susun ulang ketiga persamaan di atas menjadi seperti ini:
I1 + I2 I3 = 06I1 + 2I3 = 10
6I1 4I2 = 24
30 BAB 2. METODE ELIMINASI GAUSS
Kemudian dinyatakan dalam bentuk matriks:
1 1 16 4 06 0 2
I1
I2
I3
=
0
24
10
Selanjutkan kita susun matriks augmentasi sebagai berikut:
1 1 1 06 4 0 246 0 2 10
Langkah berikutnya adalah menghitung matriks triangularisasi dengan langkah-langkah se-
bagai berikut:
m =a21a11
=6
1= 6
a21 = a21 m.a11 = 6 (6).(1) = 0a22 = a22 m.a12 = 4 (6).(1) = 10a23 = a23 m.a13 = 0 (6).(1) = 6a24 = a24 m.a14 = 24 (6).(0) = 24
m =a31a11
=6
1= 6
a31 = a31 m.a11 = 6 (6).(1) = 0a32 = a32 m.a12 = 0 (6).(1) = 6
a33 = a33 m.a13 = 2 (6).(1) = 8a34 = a34 m.a14 = 10 (6).(0) = 10
Sampai disini matriks augment mengalami perubahan menjadi
1 1 1 00 10 6 240 6 8 10
2.6. MENGHITUNG INVERS MATRIK 31
Kelanjutan langkah menuju triangularisasi adalah
m =a32a22
=610
a31 = a31 m.a21 = 0 ( 610).(0) = 0
a32 = a32 m.a22 = 6 ( 610).(10) = 0
a33 = a33 m.a23 = 8 ( 610).(6) = 4, 4
a34 = a34 m.a24 = 10 ( 610).(24) = 4, 4
maka matriks triangularisasi berhasil didapat yaitu
1 1 1 00 10 6 240 0 4, 4 4, 4
Sekarang tinggal melakukan proses substitusi mundur
I3 =a34a33
=4, 44, 4
= 1
I2 =a24 a23.I3
a22=
24 (6).(1)10 = 3
I1 =a14 (a13.I3 + a12.I2)
a11=
(0 [(1).(1) + (1).(3)]1
= 2
Dengan demikian, besar masing-masing arus pada rangkaian di atas adalah I1 = 2A, I2 = 3Adan I3 = 1A. Tanda minus (-) memiliki arti bahwa arah arus yang sesungguhnya berlawananarah dengan asumsi awal yang kita gunakan.
2.6 Menghitung invers matrik
Sekali lagi saya ulangi apa yang pernah kita bahas di awal bab ini yaitu bahwa sistem per-
samaan linear dapat dinyatakan sebagai berikut:
a11x1 + a12x2 + . . .+ a1nxn = b1
a21x1 + a22x2 + . . .+ a2nxn = b2
. . . . . . . . . . . . . . . = . . .
. . . . . . . . . . . . . . . = . . .
an1x1 + an2x2 + . . .+ annxn = bn
Sistem persamaan linear tersebut dapat dinyatakan dalam bentuk operasi matrik,
Ax = b (2.10)
32 BAB 2. METODE ELIMINASI GAUSS
sehingga bentuknya menjadi seperti ini:
a11 a12 . . . a1n
a21 a22 . . . a2n...
......
an1 an2 . . . ann
x1
x2...
xn
=
b1
b2...
bn
dimana
A =
a11 a12 . . . a1n
a21 a22 . . . a2n...
......
an1 an2 . . . ann
, x =
x1
x2...
xn
, b =
b1
b2...
bn
Dalam kaitannya dengan invers matrik, matrik A disebut matrik non-singular jika matrik
Amemiliki matrik invers dirinya yaitu A1. Atau dengan kata lain, matrik A1 adalah invers
dari matrik A. Jika matrik A tidak memiliki invers, maka matrik A disebut singular. Bila
matrikA dikalikan denganmatrikA1 maka akanmenghasilkanmatrik identitas I, yaitu suatu
matrik yang elemen-elemen diagonalnya bernilai 1.
AA1 = I =
1 0 . . . 0
0 1 . . . 0...
.... . .
...
0 0 . . . 1
(2.11)
Misalnya diketahui,
A =
1 2 12 1 0
1 1 2
, A1 =
29 59 19
49 19 29
13 13 13
Bila keduanya dikalikan, maka akan menghasilkan matrik identitas,
AA1 =
1 2 12 1 0
1 1 2
29 59 19
49 19 29
13 13 13
=
1 0 0
0 1 0
0 0 1
Lalu bagaimana cara mendapatkan matrik invers, A1? Persamaan (2.11) bisa dijadikan
pedoman..
AA1 = I
1 2 12 1 0
1 1 2
i11 i12 i13
i21 i22 i23
i31 i32 i33
=
1 0 0
0 1 0
0 0 1
2.6. MENGHITUNG INVERS MATRIK 33
dalam hal ini matrik A1 adalah
A1 =
i11 i12 i13
i21 i22 i23
i31 i32 i33
Elemen-elemen matrik invers, A1 dapat diperoleh dengan menerapkan metode eliminasi
gauss. Diawali dengan membentuk matrik augment:
1 2 1 | 1 0 02 1 0 | 0 1 0
1 1 2 | 0 0 1
Lalu dilanjutkan dengan proses triangularisasi: (P22P1)(P2) dan (P3+P1)(P3), kemudiandiikuti oleh (P3 + P2)(P3):
1 2 1 | 1 0 00 3 2 | 2 1 00 3 1 | 1 0 1
1 2 1 | 1 0 00 3 2 | 2 1 00 0 3 | 1 1 1
Langkah berikutnya, matrik augment yang telah mengalami triangularisasi tersebut dipecah
menjadi tiga buah matrik augment seperti berikut ini:
1 2 1 | 10 3 2 | 20 0 3 | 1
1 2 1 | 00 3 2 | 10 0 3 | 1
1 2 1 | 00 3 2 | 00 0 3 | 1
Langkah pamungkasnya adalah melakukan proses substitusi mundur pada ketiga matrik aug-
ment di atas, sehingga diperoleh:
i11 = 29i21 =
49
i31 = 13
i12 =59
i22 = 19i32 =
13
i13 = 19i23 =
29
i33 =13
Hasil tersebut digabung menjadi sebuah matrik, yaitu matrik A1,
A1 =
29 59 19
49 19 29
13 13 13
Keberadaan matrik A1 bisa digunakan untuk menyelesaikan sistem persamaan linear
34 BAB 2. METODE ELIMINASI GAUSS
(mencari nilai x), dengan cara sebagai berikut
Ax = b
A1Ax = A1b
Ix = A1b
x = A1b (2.12)
Contoh berikut ini akan menjelaskan prosesnya secara lebih rinci. Misalnya diketahui sistem
persamaan linear
x1 + 2x2 x3 = 22x1 + x2 = 3
x1 + x2 + 2x3 = 4
Bila dikonversikan kedalam operasi matrik menjadi
1 2 12 1 0
1 1 2
x1
x2
x3
=
2
3
4
Berdasarkan persamaan (2.12), maka elemen-elemen vektor x dapat dicari dengan cara
x = A1b
x =
29 59 19
49 19 29
13 13 13
2
3
4
=
7913953
Akhirnya diperoleh solusi x1 = 7/9, x2 = 13/9, dan x3 = 5/3. Penyelesaian sistem persamaan
linear menjadi lebih mudah bila matrik A1 sudah diketahui. Sayangnya, untuk mendap-
atkan matrik A1, diperlukan langkah-langkah, seperti yang sudah dibahas pada contoh per-
tama di atas, yang berakibat in-efisiensi proses penyelesaian (secara komputasi) bila diband-
ingkan dengan metode eliminasi gauss untuk memecahkan sistem persamaan linear. Namun
bagaimanapun, secara konseptual kita dianjurkan mengetahui cara bagaimana mendapatkan
matrik A1.
Saya telah memodifikasi program eliminasi gauss yang terdahulu, untuk keperluan perhi-
tungan matrik invers. Program ini ditulis dengan bahasa fortran, sudah berhasil dikompilasi
dalam Linux Debian (g77) dan Windows XP (Visual Fortran). Inilah programnya,
1 DIMENSION A(10,20), D(10,10), X(10)2 REAL MJI3 INTEGER TKR, BK, TK, Q4 WRITE (*,*) =PROGRAM INVERS MATRIK DENGAN ELIMINASI GAUSS=5 WRITE (*,*)
2.6. MENGHITUNG INVERS MATRIK 35
6 C LANGKAH 1: MEMASUKAN NILAI ELEMEN-ELEMEN MATRIK A7 WRITE (*,(1X,A)) JUMLAH PERSAMAAN ? 8 READ (*,*) N9 WRITE (*,*)10 WRITE (*,*) MASUKAN ELEMEN-ELEMEN MATRIK A11 M = N + 112 DO 50 I = 1,N13 DO 60 J = 1,N14 WRITE (*,(1X,A,I2,A,I2,A)) A(,I,,,J,) = 15 READ (*,*) A(I,J)16 60 CONTINUE17 50 CONTINUE18 C LANGKAH 2: MENDEFINISIKAN MATRIK IDENTITAS19 WRITE (*,*) MENDEFINISIKAN MATRIK IDENTITAS20 DO 70 I = 1,N21 DO 80 J = M,N+N22 A(I,J) = 023 IF (I+N .EQ. J) THEN24 A(I,J) = 125 END IF
26 80 CONTINUE27 70 CONTINUE28 WRITE (*,*)29 C MENAMPILKAN MATRIK AUGMENT30 WRITE (*,(1X,A)) MATRIK AUGMENT:31 DO 110 I = 1,N32 WRITE (*,(1X,5(F14.8))) (A(I,J),J=1,N+N)33 110 CONTINUE34 WRITE (*,*)35 C MENGHITUNG JUMLAH TUKAR (TKR) POSISI. MULA2 TKR = 036 TKR = 037 C MENGHITUNG JUMLAH OPERASI BAGI/KALI (BK).38 BK = 039 C MENGHITUNG JUMLAH OPERASI TAMBAH/KURANG (TK).40 TK = 041 C LANGKAH 3: MEMERIKSA ELEMEN2 PIVOT DAN PROSES TUKAR POSISI42 NN = N-143 DO 10 I=1,NN44 C LANGKAH 4: MENDEFINISIKAN P45 P = I
46 100 IF (ABS(A(P,I)).GE.1.0E-20 .OR. P.GT.N) GOTO 20047 P = P+148 GOTO 10049 200 IF(P.EQ.N+1)THEN50 C MENAMPILKAN PESAN SINGULAR51 WRITE(*,5)52 GOTO 40053 END IF
54 C LANGKAH 5: PROSES TUKAR POSISI55 IF(P.NE.I) THEN56 DO 20 JJ=1,N+N57 C = A(I,JJ)58 A(I,JJ) = A(P,JJ)59 A(P,JJ) = C60 TKR = TKR + 161 20 CONTINUE62 END IF
63 C LANGKAH 6: PERSIAPAN PROSES TRIANGULARISASI64 JJ = I+1
36 BAB 2. METODE ELIMINASI GAUSS
65 DO 30 J=JJ,N66 C LANGKAH 7: TENTUKAN MJI67 MJI = A(J,I)/A(I,I)68 BK = BK + 169 C LANGKAH 8: MELAKUKAN PROSES TRIANGULARISASI70 DO 40 K=JJ,N+N71 A(J,K) = A(J,K)-MJI*A(I,K)72 BK = BK + 173 TK = TK + 174 40 CONTINUE75 A(J,I) = 076 30 CONTINUE77 10 CONTINUE78 C MENAMPILKAN HASIL TRIANGULARISASI79 WRITE (*,(1X,A)) HASIL TRIANGULARISASI:80 DO 120 I = 1,N81 WRITE (*,(1X,5(F14.8))) (A(I,J),J=1,N+N)82 120 CONTINUE83 C LANGKAH 9: MEMERIKSA ELEMEN A(N,N)84 IF(ABS(A(N,N)).LT.1.0E-20) THEN85 C MENAMPILKAN PESAN SINGULAR86 WRITE(*,5)87 GOTO 40088 END IF
89 DO 500 J = 1,N90 Q=N+J91 C LANGKAH 10: MENGHITUNG A(N,N)92 D(J,N) = A(N,Q)/A(N,N)93 BK = BK + 194 C LANGKAH 11: PROSES SUBSTITUSI MUNDUR95 L = N-196 DO 15 K=1,L97 I = L-K+198 JJ = I+199 SUM = 0.0100 DO 16 KK=JJ,N101 SUM = SUM+A(I,KK)*D(J,KK)102 BK = BK + 1103 TK = TK + 1104 16 CONTINUE105 D(J,I) = (A(I,Q)-SUM)/A(I,I)106 BK = BK + 1107 TK = TK + 1108 15 CONTINUE109 500 CONTINUE110 C LANGKAH 12: MENAMPILKAN HASIL PERHITUNGAN111 WRITE (*,*)112 WRITE (*,(1X,A)) MATRIK INVERS:113 DO 220 I = 1,N114 WRITE (*,(1X,5(F14.8))) (D(J,I),J=1,N)115 220 CONTINUE116 WRITE(*,8) TKR117 WRITE(*,9) BK118 WRITE(*,11) TK119 400 STOP120 5 FORMAT(1X,MATRIK A BERSIFAT SINGULAR)121 8 FORMAT(1X,JUMLAH TUKAR POSISI = ,3X,I5)122 9 FORMAT(1X,JUMLAH OPERASI BAGI/KALI = ,3X,I6)123 11 FORMAT(1X,JUMLAH OPERASI JUMLAH/KURANG = ,3X,I6)
2.7. PENUTUP 37
124 END
2.7 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
hubungi saya melalui email yang tercantum di halaman paling depan.
Bab 3
Aplikasi Eliminasi Gauss pada Masalah
Inversi
- Objektif :
Mengenalkan model garis. Mengenalkan model parabola. Mengenalkan model bidang.
Pada bab ini, saya mencoba menuliskan aplikasi Metode Eliminasi Gauss sebagai dasar-
dasar teknik inversi yaitu meliputi model garis, model parabola dan model bidang. Uraian ap-
likasi tersebut diawali dari ketersediaan data observasi, lalu sejumlah parameter model mesti
dicari dengan teknik inversi. Mari kita mulai dari model garis.
3.1 Inversi Model Garis
Pengukuran temperatur terhadap kedalaman di bawah permukaan bumimenunjukkan bahwa
semakin dalam, temperatur semakin tinggi. Misalnya telah dilakukan sebanyak empat kali (N
= 4) pengukuran temperatur (Ti) pada kedalaman yang berbeda beda (zi). Tabel pengukuran
secara sederhana disajikan seperti ini: Lalu kita berasumsi bahwa variasi temperatur terhadap
Tabel 3.1: Data temperatur bawah permukaan tanah terhadap kedalaman
Pengukuran ke-i Kedalaman (m) Temperatur (OC)
1 z1 = 5 T1 = 352 z2 = 16 T2 = 573 z3 = 25 T3 = 754 z4 = 100 T4 = 225
kedalaman ditentukan oleh rumus berikut ini:
m1 +m2zi = Ti (3.1)
39
40 BAB 3. APLIKASI ELIMINASI GAUSS PADAMASALAH INVERSI
dimanam1 danm2 adalah konstanta-konstanta yang akan dicari. Rumus di atas disebutmod-
el. Sedangkan m1 dan m2 disebut model parameter. Jadi pada model di atas terdapat dua
buah model parameter, (M = 2). Adapun yang berlaku sebagai data adalah nilai-nilai tem-
peratur T1, T2,..., dan T4. Berdasarkan model tersebut, kita bisa menyatakan temperatur dan
kedalaman masing-masing sebagai berikut:
m1 +m2z1 = T1
m1 +m2z2 = T2
m1 +m2z3 = T3
m1 +m2z4 = T4
Semua persamaan tersebut dapat dinyatakan dalam operasi matrik berikut ini:
1 z1
1 z2
1 z3
1 z4
[m1
m2
]=
T1
T2
T3
T4
(3.2)
Lalu ditulis secara singkat
Gm = d (3.3)
dimana d adalah data yang dinyatakan dalam vektor kolom, m adalah model parameter, juga
dinyatakan dalam vektor kolom, danG disebutmatrik kernel. Lantas bagaimana cara menda-
patkan nilaim1 danm2 pada vektor kolomm? Manipulasi berikut ini bisa menjawabnya
GtGm = Gtd (3.4)
dimana t disini maksudnya adalah tanda transpos matrik. Selanjutnya, untuk mendapatkan
elemen-elemenm, diperlukan langkah-langkah perhitungan berikut ini:
1. Tentukan transpos dari matrik kernel, yaitu Gt
G =
1 z1
1 z2
1 z3
1 z4
Gt =
[1 1 1 1
z1 z2 z3 z4
]
2. Tentukan GtG
GtG =
[1 1 1 1
z1 z2 z3 z4
]
1 z1
1 z2
1 z3
1 z4
=
[N
zi
zi
z2i
]
3.1. INVERSI MODEL GARIS 41
dimana N = 4 dan i = 1, 2, 3, 4.
3. Kemudian tentukan pula Gtd
Gtd =
[1 1 1 1
z1 z2 z3 z4
]T1
T2
T3
T4
=
[ TiziTi
]
4. Sekarang persamaan (3.4) dapat dinyatakan sebagai
[N
zi
zi
z2i
][m1
m2
]=
[ TiziTi
](3.5)
5. Aplikasikan metode Eliminasi Gauss dengan Substitusi Mundur. Untuk itu, tentukan
matrik augment-nya
[N
zi |
Ti
zi
z2i |
ziTi
]
6. Untuk mempermudah perhitungan, kita masukan dulu angka-angka yang tertera pada
tabel pengukuran dihalaman depan.
[4 146 | 392
146 10906 | 25462
]
7. Lakukan proses triangularisasi dengan operasi (P2 (36, 5)P1) P2. Saya sertakanpula indeks masing-masing elemen pada matrik augment sebagaimana yang telah saya
lakukan pada catatan kuliah yang berjudulMetode Eliminasi Gauss. Hasilnya adalah
[4 146 | 3920 5577 | 11154
]=
[a11 a12 | a13a21 a22 | a23
]
8. Terakhir, tentukan konstanta m1 dan m2 yang merupakan elemen-elemen vektor kolom
m, dengan proses substitusi mundur. Pertama tentukanm2
m2 =a23a22
=11154
5577= 2
lalu tentukanm1
m1 =a13 a12m2
a11=
392 (146)(2)4
= 25
42 BAB 3. APLIKASI ELIMINASI GAUSS PADAMASALAH INVERSI
3.1.1 Script matlab inversi model garis
Script inversi model garis ini dibangun dari beberapa script yang sudah kita pelajari sebelum-
nya, yaitu script transpose matriks, perkalian matrik dan script eliminasi gauss. Silakan pela-
jari maksud tiap-tiap baris pada script ini.
1 clc2 clear all3
4 disp(Data observasi)5 z1=5;6 z2=16;7 z3=25;8 z4=100;9
10 T(1,1)=35;11 T(2,1)=57;12 T(3,1)=75;13 T(4,1)=225;14
15 disp(Elemen-elemen matriks kernel G)16 G(1,1)=1;17 G(1,2)=z1;18 G(2,1)=1;19 G(2,2)=z2;20 G(3,1)=1;21 G(3,2)=z3;22 G(4,1)=1;23 G(4,2)=z4;24 G25 d=T;26 d27
28 N=4; %jumlah data29 M=2; %model parameter30
31 disp(Mencari G transpos)32 for i=1:N33 for j=1:M34 GT(j,i)=G(i,j);35 end36 end37 GT38
39 disp(Perkalian GT dan G)40 for i=1:M41 for j=1:M42 GTG(i,j)=0;43 end44 end45 for i=1:M46 for j=1:M47 for k=1:N48 GTG(i,j)=GTG(i,j)+GT(i,k)*G(k,j);49 end50 end51 end
3.1. INVERSI MODEL GARIS 43
52 GTG53
54 disp(Perkalian GT dan d)55 for i=1:M56 for j=1:157 GTd(i,j)=0;58 end59 end60 for i=1:M61 for j=1:162 for k=1:N63 GTd(i,j)=GTd(i,j)+GT(i,k)*d(k,j);64 end65 end66 end67 GTd68
69 A=GTG;70 %====== Menggabungkan Vektor GTd kedalam matrik A ========71 n=M;
72 for i=1:n73 A(i,n+1)=GTd(i,1);74 end75 A
76
77 %&&&&&& Proses Eliminasi Gauss &&&&&&&&&&&&&&&&&&&&&&&&&78 %---------Proses Triangularisasi-----------79 for j=1:(n-1)80
81 %----mulai proses pivot---82 if (A(j,j)==0)83 for p=1:n+184 u=A(j,p);85 v=A(j+1,p);86 A(j+1,p)=u;87 A(j,p)=v;88 end89 end90 %----akhir proses pivot---91 jj=j+1;92 for i=jj:n93 m=A(i,j)/A(j,j);94 for k=1:(n+1)95 A(i,k)=A(i,k)-(m*A(j,k));96 end97 end98 end99 %-------------------------------------------100
101 %------Proses Substitusi mundur-------------102 x(n,1)=A(n,n+1)/A(n,n);103
104 for i=n-1:-1:1105 S=0;106 for j=n:-1:i+1107 S=S+A(i,j)*x(j,1);108 end109 x(i,1)=(A(i,n+1)-S)/A(i,i);110 end
44 BAB 3. APLIKASI ELIMINASI GAUSS PADAMASALAH INVERSI
111 %&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&112 disp(Model parameter yang dicari)113 m=x
Sebetulnya, matlab telah menyediakan fungsi-fungsi intrinsik yang bisa digunakan sehing-
ga dapat memperkecil jumlah baris pada script di atas. Dari line 28 sampai line 113 dapat
dipangkas menjadi
1 m=inv(G*G)*G*d %Proses inversi linear
Lalu mengapa kita harus bersusah payah membangun script yang begitu panjang bila mat-
lab bisa melakukannya dengan mudah? Karena kita sedang mempelajari teknik-teknik kom-
putasi untuk menyelesaikan problem sains dan teknik. Kita tidak sedang belajar matlab. Ja-
di teknik-teknik yang dipelajari disini harus bisa diterapkan di selain matlab. Script singkat
m = inv(G G) G d hanya berlaku di matlab, sementara script yang panjangnya 113 linedapat diterjemahkan dengan sangat mudah ke dalam bahasa pemrograman selain matlab.
Demikianlah contoh aplikasi metode Eliminasi Gauss dengan substitusi mundur. Anda
bisa mengaplikasikan pada kasus lain, dengan syarat kasus yang anda tangani memiliki ben-
tuk model yang sama dengan yang telah dikerjakan pada catatan ini, yaitu model persamaan
garis atau disingkat model garis: y = m1 + m2x. Selanjutnya mari kita pelajari inversi model
parabola.
3.2 Inversi Model Parabola
Pengukuran temperatur terhadap kedalaman di bawah permukaan bumi menunjukkan bah-
wa semakin dalam, temperatur semakin tinggi. Misalnya telah dilakukan sebanyak delapan
kali (N = 8) pengukuran temperatur (Ti) pada kedalaman yang berbeda beda (zi). Tabel pen-
gukuran secara sederhana disajikan seperti ini:
Tabel 3.2: Data temperatur bawah permukaan tanah terhadap kedalaman
Pengukuran ke-i Kedalaman (m) Temperatur (OC)
1 z1 = 5 T1 = 21, 752 z2 = 8 T2 = 22, 683 z3 = 14 T3 = 25, 624 z4 = 21 T4 = 30, 875 z5 = 30 T5 = 40, 56 z6 = 36 T6 = 48, 727 z7 = 45 T7 = 63, 758 z8 = 60 T8 = 96
Lalu kita berasumsi bahwa variasi temperatur terhadap kedalaman ditentukan oleh rumus
berikut ini:
m1 +m2zi +m3z2i = Ti (3.6)
dimana m1, m2 dan m3 adalah konstanta-konstanta yang akan dicari. Rumus di atas disebut
model. Sedangkanm1,m2 danm3 disebutmodel parameter. Jadi pada model di atas terdapat
3.2. INVERSI MODEL PARABOLA 45
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 masing-masing sebagai berikut:
m1 +m2z1 +m3z21 = T1
m1 +m2z2 +m3z22 = T2
m1 +m2z3 +m3z23 = T3
m1 +m2z4 +m3z24 = T4
m1 +m2z5 +m3z25 = T5
m1 +m2z6 +m3z26 = T6
m1 +m2z7 +m3z27 = T7
m1 +m2z8 +m3z28 = T8
Semua persamaan tersebut dapat dinyatakan dalam operasi matrik berikut ini:
1 z1 z21
1 z2 z22
1 z3 z23
1 z4 z24
1 z5 z25
1 z6 z26
1 z7 z27
1 z8 z28
m1
m2
m3
=
T1
T2
T3
T4
T5
T6
T7
T8
(3.7)
Lalu ditulis secara singkat
Gm = d (3.8)
dimana d adalah data yang dinyatakan dalam vektor kolom, m adalah model parameter, juga
dinyatakan dalam vektor kolom, danG disebutmatrik kernel. Lantas bagaimana cara menda-
patkan nilaim1,m2 danm3 pada vektor kolomm? Manipulasi berikut ini bisa menjawabnya
GtGm = Gtd (3.9)
dimana t disini maksudnya adalah tanda transpos matrik. Selanjutnya, untuk mendapatkan
elemen-elemenm, diperlukan langkah-langkah perhitungan berikut ini:
46 BAB 3. APLIKASI ELIMINASI GAUSS PADAMASALAH INVERSI
1. Tentukan transpos dari matrik kernel, yaitu Gt
G =
1 z1 z21
1 z2 z22
1 z3 z23
1 z4 z24
1 z5 z25
1 z6 z26
1 z7 z27
1 z8 z28
Gt =
1 1 1 1 1 1 1 1
z1 z2 z3 z4 z5 z6 z7 z8
z21 z22 z
23 z
24 z
25 z
26 z
27 z
28
2. Tentukan GtG
GtG =
1 1 1 1 1 1 1 1
z1 z2 z3 z4 z5 z6 z7 z8
z21 z22 z
23 z
24 z
25 z
26 z
27 z
28
1 z1 z21
1 z2 z22
1 z3 z23
1 z4 z24
1 z5 z25
1 z6 z26
1 z7 z27
1 z8 z28
=
N
zi
z2izi
z2i
z3i
z2i
z3i
z4i
dimana N = 8 dan i = 1, 2, 3, ..., 8.
3. Kemudian tentukan pula Gtd
Gtd =
1 1 1 1 1 1 1 1
z1 z2 z3 z4 z5 z6 z7 z8
z21 z22 z
23 z
24 z
25 z
26 z
27 z
28
T1
T2
T3
T4
T5
T6
T7
T8
=
TiziTiz2i Ti
4. Sekarang persamaan (3.14) dapat dinyatakan sebagai (ini khan least square juga...!?)
N
zi
z2izi
z2i
z3i
z2i
z3i
z4i
m1
m2
m3
=
TiziTiz2i Ti
(3.10)
5. Aplikasikan metode Eliminasi Gauss dengan Substitusi Mundur. Untuk itu, tentukan
3.2. INVERSI MODEL PARABOLA 47
matrik augment-nya
N
zi
z2i |
Tizi
z2i
z3i |
ziTi
z2i
z3i
z4i |
z2i Ti
6. Untuk mempermudah perhitungan, kita masukan dulu angka-angka yang tertera pada
tabel pengukuran dihalaman depan.
8 219 8547 | 349, 89219 8547 393423 | 12894, 818547 393423 19787859 | 594915, 33
7. Lakukan proses triangularisasi dengan operasi (P2 (219/8)P1) P2. Hasilnya adalah
8 219 8547 | 349, 890 2551, 88 159448, 88 | 3316, 57
8547 393423 19787859 | 594915, 33
8. Masih dalam proses triangularisai, operasi berikutnya (P3 (8547/8)P1) P3. Hasilnyaadalah
8 219 8547 | 349, 890 2551, 88 159448, 88 | 3316, 570 159448.88 10656457, 88 | 221101, 6
9. Masih dalam proses triangularisai, operasi berikutnya (P3 (159448, 88/2551, 88)P2) P3. Hasilnya adalah
8 219 8547 | 349, 890 2551, 88 159448, 88 | 3316, 570 0 693609, 48 | 13872, 19
(3.11)
Seperti catatan yang lalu, saya ingin menyertakan pula notasi masing-masing elemen
pada matrik augment sebelum melakukan proses substitusi mundur.
8 219 8547 | 349, 890 2551, 88 159448, 88 | 3316, 570 0 693609, 48 | 13872, 19
a11 a12 a13 | a14a21 a22 a23 | a24a31 a32 a33 | a34
10. Terakhir, tentukan konstanta m1, m2 dan m3 yang merupakan elemen-elemen vektor
kolomm, dengan proses substitusi mundur. Pertama tentukanm3
m3 =a34a33
=13872, 19
693609, 48= 0, 02
48 BAB 3. APLIKASI ELIMINASI GAUSS PADAMASALAH INVERSI
lalum2
m2 =a24 a23m3
a22=
3316, 57 (159448, 88)(0, 02)2551, 88
= 0, 05
danm1
m1 =a14 (a12m2 + a13m3)
a11=
349, 89 [(219)(0, 05) + (8547)(0, 02)8
= 21
3.2.1 Script matlab inversi model parabola
Perbedaan utama script ini dengan script inversi model garis terletak pada inisialisasi elemen-
elemenmatrik kernel. Elemen-elemenmatrik kernel sangat ditentukan olehmodel matematika
yang digunakan. Seperti pada script ini, matrik kernelnya diturunkan dari persamaan parabo-
la.
1 clc2 clear all3
4 z1=5;5 z2=8;6 z3=14;7 z4=21;8 z5=30;9 z6=36;10 z7=45;11 z8=60;12
13 T(1,1)=21.75;14 T(2,1)=22.68;15 T(3,1)=25.62;16 T(4,1)=30.87;17 T(5,1)=40.5;18 T(6,1)=48.72;19 T(7,1)=63.75;20 T(8,1)=96;21
22 G(1,1)=1;23 G(1,2)=z1;24 G(1,3)=z1^2;25 G(2,1)=1;26 G(2,2)=z2;27 G(2,3)=z2^2;28 G(3,1)=1;29 G(3,2)=z3;30 G(3,3)=z3^2;31 G(4,1)=1;32 G(4,2)=z4;33 G(4,3)=z4^2;34 G(5,1)=1;35 G(5,2)=z5;36 G(5,3)=z5^2;37 G(6,1)=1;38 G(6,2)=z6;39 G(6,3)=z6^2;40 G(7,1)=1;41 G(7,2)=z7;
3.2. INVERSI MODEL PARABOLA 49
42 G(7,3)=z7^2;43 G(8,1)=1;44 G(8,2)=z8;45 G(8,3)=z8^2;46
47 G48 d=T;49 d50
51 N=8; %jumlah data52 M=3; %model parameter53 pause54
55
56 %%%%%===========Proses inversi==============57 disp(Mencari G transpos)58 for i=1:N59 for j=1:M60 GT(j,i)=G(i,j);61 end62 end63 GT64
65 disp(Perkalian GT dan G)66 for i=1:M67 for j=1:M68 GTG(i,j)=0;69 end70 end71 for i=1:M72 for j=1:M73 for k=1:N74 GTG(i,j)=GTG(i,j)+GT(i,k)*G(k,j);75 end76 end77 end78 GTG79
80 disp(Perkalian GT dan d)81 for i=1:M82 for j=1:183 GTd(i,j)=0;84 end85 end86 for i=1:M87 for j=1:188 for k=1:N89 GTd(i,j)=GTd(i,j)+GT(i,k)*d(k,j);90 end91 end92 end93 GTd94
95 A=GTG;96 %====== Menggabungkan Vektor GTd kedalam matrik A ========97 n=M;
98 for i=1:n99 A(i,n+1)=GTd(i,1);100 end
50 BAB 3. APLIKASI ELIMINASI GAUSS PADAMASALAH INVERSI
101 A
102 pause103
104 disp(Hasil Eliminasi Gauss)105 %&&&&&& Proses Eliminasi Gauss &&&&&&&&&&&&&&&&&&&&&&&&&106 %---------Proses Triangularisasi-----------107 for j=1:(n-1)108
109 %----mulai proses pivot---110 if (A(j,j)==0)111 for p=1:n+1112 u=A(j,p);113 v=A(j+1,p);114 A(j+1,p)=u;115 A(j,p)=v;116 end117 end118 %----akhir proses pivot---119 jj=j+1;120 for i=jj:n121 m=A(i,j)/A(j,j);122 for k=1:(n+1)123 A(i,k)=A(i,k)-(m*A(j,k));124 end125 end126 end127 %-------------------------------------------128
129 %------Proses Substitusi mundur-------------130 x(n,1)=A(n,n+1)/A(n,n);131
132 for i=n-1:-1:1133 S=0;134 for j=n:-1:i+1135 S=S+A(i,j)*x(j,1);136 end137 x(i,1)=(A(i,n+1)-S)/A(i,i);138 end139 %&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&140 %%%%%%%%%%%=====AKHIR DARI INVERSI MODEL GARIS==========141 m=x
Demikianlah contoh aplikasi metode Eliminasi Gauss dengan substitusi mundur. Anda
bisa mengaplikasikan pada kasus lain, dengan syarat kasus yang anda tangani memiliki ben-
tukmodel yang sama dengan yang telah dikerjakan pada catatan ini, yaitu memiliki tiga buah
model parameter yang tidak diketahui dalam bentuk persamaan parabola: y = m1 + m2x +
m3x2. Pada catatan berikutnya, saya akan membahas model yang mengandung tiga model
parameter dalam 2 dimensi.
3.3 Inversi Model Bidang
Dalam catatan ini saya belum sempat mencari contoh pengukuran yang sesuai untuk model
2-dimensi. Maka, saya ingin langsung saja mengajukan sebuahmodel untuk 2-dimensi berikut
3.3. INVERSI MODEL BIDANG 51
ini:
m1 +m2xi +m3yi = di (3.12)
dimanam1, m2 danm3 merupakan model parameter yang akan dicari. Adapun yang berlaku
sebagai data adalah d1, d2, d3, ..., di. Berdasarkanmodel tersebut, kita bisa menyatakan temper-
atur dan kedalaman masing-masing sebagai berikut:
m1 +m2x1 +m3y1 = d1
m1 +m2x2 +m3y2 = d2
m1 +m2x3 +m3y3 = d3...
......
......
m1 +m2xN +m3yN = dN
Semua persamaan tersebut dapat dinyatakan dalam operasi matrik berikut ini:
1 x1 y1
1 x2 y2
1 x3 y3...
......
1 xN yN
m1
m2
m3
=
d1
d2
d3...
dN
Lalu ditulis secara singkat
Gm = d (3.13)
dimana d adalah data yang dinyatakan dalam vektor kolom, m adalah model parameter, juga
dinyatakan dalam vektor kolom, danG disebutmatrik kernel. Lantas bagaimana cara menda-
patkan nilaim1,m2 danm3 pada vektor kolomm? Manipulasi berikut ini bisa menjawabnya
GtGm = Gtd (3.14)
dimana t disini maksudnya adalah tanda transpos matrik. Selanjutnya, untuk mendapatkan
elemen-elemenm, diperlukan langkah-langkah perhitungan berikut ini:
1. Tentukan transpos dari matrik kernel, yaitu Gt
G =
1 x1 y1
1 x2 y2
1 x3 y3...
......
1 xN yN
Gt =
1 1 1 1x1 x2 x3 xNy1 y2 y3 yN
52 BAB 3. APLIKASI ELIMINASI GAUSS PADAMASALAH INVERSI
2. Tentukan GtG
GtG =
1 1 1 1x1 x2 x3 xNy1 y2 y3 yN
1 x1 y1
1 x2 y2
1 x3 y3...
......
1 xN yN
=
N
xi
yixi
x2i
xiyi
yi
xiyi
y2i
dimana N = jumlah data. dan i = 1, 2, 3, ..., N .
3. Kemudian tentukan pula Gtd
Gtd =
1 1 1 1x1 x2 x3 xNy1 y2 y3 yN
d1
d2
d3...
dN
=
dixidiyidi
4. Sekarang, persamaan (3.14) dapat dinyatakan sebagai
N
xi
yixi
x2i
xiyi
yi
xiyi
y2i
m1
m2
m3
=
dixidiyidi
(3.15)
5. Aplikasikan metode Eliminasi Gauss dengan Substitusi Mundur. Untuk itu, tentukan
matrik augment-nya
N
xi
yi |
dixi
x2i
xiyi |
xidi
yi
xiyi
y2i |
yidi
6. Langkah-langkah selanjutnya akan sama persis dengan catatan sebelumnya (model lin-
ear danmodel 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 +m2x+m3y.
Saya cukupkan sementara sampai disini. Insya Allah akan saya sambung lagi dilain waktu.
Kalau ada yang mau didiskusikan, silakan hubungi saya melalui email: supri@fisika.ui.ac.id.
3.4. CONTOH APLIKASI 53
3.4 Contoh aplikasi
3.4.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
Tabel 3.3: Data ketinggian terhadap waktu dari planet X
Waktu (dt) Ketinggian (m) Waktu (dt) Ketinggian (m)
0,00 5,00 2,75 7,620,25 5,75 3,00 7,250,50 6,40 3,25 6,770,75 6,94 3,50 6,201,00 7,38 3,75 5,521,25 7,72 4,00 4,731,50 7,96 4,25 3,851,75 8,10 4,50 2,862,00 8,13 4,75 1,772,25 8,07 5,00 0,582,50 7,90
Plot data pengukuran waktu vs ketinggian diperlihatkan sebagai berikut
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
1
2
3
4
5
6
7
8
9
Waktu (detik)
Ting
gi (m
eter)
Gambar 3.1: Grafik data pengukuran gerak batu
Anda diminta untuk membantu pengolahan data di atas. Jika anda menggunakan asumsi
54 BAB 3. APLIKASI ELIMINASI GAUSS PADAMASALAH INVERSI
model matematik dari Gerak-Lurus-Berubah-Beraturan (GLBB) seperti ini
ho + vot 12gt2 = h
maka gunakanlah prinsip-prinsip inversi untukmenentukan kecapatan awal, vo dan konstanta
gravitasi, g pada planet tersebut.
jawab:
Berdasarkan tabel di atas, diketahui terdapat 21 data. Ketinggian pada saat t = 0 adalah ho = 5
m. Untuk mencari vo dan g menggunakan metode inversi, mula-mula kita definisikan terlebih
dahulum1 danm2:
m1 = vo m2 = 12g
sehingga persamaan model GLBB menjadi
5 +m1ti +m2t2i = hi
dimana imenunjukkan data ke-i. Langkah selanjutnya adalah menentukan nilai tiap-tiap ele-
men matrik kernel, yaitu dengan memasukan semua data kedalam persamaan model GLBB
5 +m1t1 +m2t21 = h1
5 +m1t2 +m2t22 = h2
5 +m1t3 +m2t23 = h3
...... =
...
5 +m1t20 +m2t220 = h20
Semua persamaan tersebut dapat dinyatakan dalam operasi matrik berikut ini:
5 t1 t21
5 t2 t22
5 t3 t23
5 t4 t24
......
...
5 t19 t219
5 t20 t220
[m1
m2
]=
h1
h2
h3...
h19
h20
Sebelum dilanjut, coba perhatikan dengan teliti operasi matrik di atas. Adakah yang janggal??
Yep.. matrik kernel G berukuran 20x3 sementara vektor m berukuran 2x1, tentu saja operasi
perkalian matrik akan gagal. Untuk menghindarinya, kita tambahkan m0 pada vektor m, se-
3.4. CONTOH APLIKASI 55
hingga operasi tersebut menjadi
5 t1 t21
5 t2 t22
5 t3 t23
5 t4 t24
......
...
5 t19 t219
5 t20 t220
m0
m1
m2
=
h1
h2
h3...
h19
h20
Namun, perlu dicatat bahwa m0 harus punya syarat, yaitu harus bernilai 1 atau m0 =1. Ini
boleh dibilang sebagai sebuah aksioma, atau sesuatu yang tak perlu dibuktikan lagi tapi tak
bisa dibantah. Tinggal nanti bisa kita periksa hasil inversinya. Bilam0 bernilai 1, maka proses
inversi dianggap sukses. Kemudian operasi matrik tersebut bisa ditulis secara singkat
Gm = d
Untuk menyelesaikan persamaan matrik ini, diperlukan modifikasi berikut
GTGm = GTd (3.16)
dimana T disini maksudnya adalah tanda transpos matrik. Selanjutnya, untuk mendapatkan
m0,m1 danm2, diperlukan langkah-langkah perhitungan berikut ini:
1. Tentukan transpos dari matrik kernel, yaitu Gt
G =
5 t1 t21
5 t2 t22
5 t3 t23
5 t4 t24
......
...
5 t19 t219
5 t20 t220
GT =
5 5 5 5 . . . 5 5
t1 t2 t3 t4 . . . t19 t20
t21 t22 t
23 t
24 . . . t
219 t
220
2. Tentukan GTG
GTG =
5 5 5 5 . . . 5 5
t1 t2 t3 t4 . . . t19 t20
t21 t22 t
23 t
24 . . . t
219 t
220
5 t1 t21
5 t2 t22
5 t3 t23
5 t4 t24
......
...
5 t19 t219
5 t20 t220
=
25N 5
ti 5
t2i5
ti
t2i
t3i5
t2i
t3i
t4i
56 BAB 3. APLIKASI ELIMINASI GAUSS PADAMASALAH INVERSI
dimana N = 20 dan i = 1, 2, ..., 20.
3. Kemudian tentukan pula GTd
GTd =
5 5 5 5 . . . 5 5
t1 t2 t3 t4 . . . t19 t20
t21 t22 t
23 t
24 . . . t
219 t
220
h1
h2
h3
h4...
h19
h20
=
5
hitihit2ihi
4. Sekarang persamaan (3.16) dapat dinyatakan sebagai
25N 5
ti 5
t2i5
ti
t2i
t3i5
t2i
t3i
t4i
m0
m1
m2
=
5
hitihit2ihi
(3.17)
500 262, 5 896, 9
262, 5 179, 4 689, 1
896, 9 689, 1 2822, 9
m0
m1
m2
=
607, 5
273, 7
796, 3
Hasil operasi matriks ini dapat diselesaikan dengan metode Eliminasi Gauss, yaitu
m0
m1
m2
=
0, 9999
3, 2009
0, 8169
Lihatlah! m0 = 0,9999 atau mendekati 1. Dan ini sesuai dengan aksioma yang telah dinyatakan
di awal bahwa memang m0 harus bernilai 1. Jika m0 tidak bernilai 1 berarti teknik inversinya
salah total.
Hasil inversi juga menunjukkan bahwa kecepatan awal yait
Recommended