teknik komputasi elektro

167
Komputasi untuk Sains dan Teknik Supriyanto Suparno ( Website: http://supriyanto.fisika.ui.edu ) ( Email: supri@fisika.ui.ac.id atau [email protected] ) Edisi II Revisi terakhir tgl: 12 Februari 2008 Departemen Fisika-FMIPA, Univeristas Indonesia Dipublikasikan pertama kali pada September 2007

Upload: julie-johnson

Post on 26-Nov-2015

119 views

Category:

Documents


8 download

DESCRIPTION

Matrix

TRANSCRIPT

  • Komputasi untuk Sains dan Teknik

    Supriyanto Suparno

    ( Website: http://supriyanto.fisika.ui.edu )

    ( Email: [email protected] atau [email protected] )

    Edisi II

    Revisi terakhir tgl: 12 Februari 2008

    Departemen 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: [email protected]

    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: [email protected].

  • 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