Komputasi untuk Sains dan Teknik -Menggunakan Matlab- .luas area integrasi sama dengan luas...

download Komputasi untuk Sains dan Teknik -Menggunakan Matlab- .luas area integrasi sama dengan luas trapesium

of 287

  • date post

    02-Mar-2019
  • Category

    Documents

  • view

    271
  • download

    0

Embed Size (px)

Transcript of Komputasi untuk Sains dan Teknik -Menggunakan Matlab- .luas area integrasi sama dengan luas...

Komputasi untuk Sains dan Teknik-Menggunakan Matlab-

Supriyanto Suparno

( Website: http://supriyanto.fisika.ui.ac.id )

( Email: supriyanto@sci.ui.ac.id atau supri92@gmail.com )

Edisi Pertama

Revisi terakhir tgl: 24 Oktober 2014

Departemen Fisika

Fakultas Matematika dan Ilmu Pengetahuan Alam

Univeristas Indonesia

2014

Untuk

Muflih Syamil

Hasan Azmi

Farah Raihana

Nina Marliyani

Usia bukan ukuran kedewasaan

Ketekunan adalah jalan terpercaya menuju kesuksesan

Kata Pengantar

Segala puji saya panjatkan kepada Tuhan Yang Maha Esa atas kesempatan yang telah Dia dibe-

rikan untuk menulis Buku Komputasi untuk Sains dan Teknik. Buku ini disusun dengan tujuan

yaitu, pertama, untuk memperkenalkan sejumlah metode komputasi numerik kepada maha-

siswa sarjana ilmu fisika; kedua, memperkenalkan tahap-tahap pembuatan program komputer

(script) dan logika pemrograman dalam bahasa Matlab untuk memecahkan problem fisika seca-

ra numerik. Rujukan utama buku adalah 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. Namun demikian, buku ini telah dilengkapi dengan sejumlah contoh

script yang mudah dipahami oleh programmer pemula.

Walaupun buku ini masih jauh dari sempurna, semoga ia dapat memberikan sumbangan

yang berarti untuk peningkatan kapasitas dan kompetensi anak bangsa generasi penerus. Bagi

yang ingin berdiskusi, memberikan masukan, kritikan dan saran, silakan dikirimkan ke email:

supriyanto@sci.ui.ac.id

Akhirnya saya ingin mengucapkan rasa terima kasih yang tak terhingga kepada Dede Dju-

hana yang telah berkenan memberikan format LATEX-nya sehingga tampilan tulisan pada buku

ini benar-benar layaknya sebuah buku yang siap dicetak. Tak lupa, saya pun berterima kasih

kepada seluruh mahasiswa yang telah mengambil mata kuliah Komputasi Fisika dan Anaisis Nu-

merik di Departemen Fisika, FMIPA, Universitas Indonesia atas diskusi yang berlangsung selama

kuliah. Kepada seluruh mahasiswa dari berbagai universitas di Timur dan di Barat Indonesia

juga saya ungkapkan terima kasih atas pertanyaan-pertanyaan yang turut memperkaya isi buku

ini. Tak lupa saya ingin sampaikan rasa terima kasih kepada Dikti, Kementerian Pendidikan dan

Kebudayaan, RI atas segala dukungan dan apresiasi terhadap penerbitan buku ini.

Depok, 24 Oktober 2014

Supriyanto Suparno

iii

iv

Daftar Isi

Lembar Persembahan i

Kata Pengantar iii

Daftar Isi iii

Daftar Gambar ix

Daftar Tabel xiii

1 Pendahuluan 1

1.1 Inisialisasi variabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Perhitungan yang berulang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Mengenal cara membuat grafik . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3.1 Gerak mobil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3.2 Osilasi teredam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4 Baris-baris pembuka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.5 Membuat 2 grafik dalam satu gambar . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.6 Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Matriks dan Komputasi 15

2.1 Mengenal matriks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2 Vektor-baris dan vektor-kolom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3 Inisialisasi matriks dalam memori komputer . . . . . . . . . . . . . . . . . . . . . 16

2.4 Macam-macam matriks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.4.1 matriks transpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.4.2 matriks bujursangkar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4.3 Matrik simetrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4.4 matriks diagonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4.5 matriks identitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4.6 matriks upper-triangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.4.7 matriks lower-triangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.4.8 matriks tridiagonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.4.9 matriks diagonal dominan . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.4.10 matriks positive-definite . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.5 Operasi matematika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.5.1 Penjumlahan matriks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.5.2 Komputasi penjumlahan matriks . . . . . . . . . . . . . . . . . . . . . . . 21

v

vi

2.5.3 Perkalian matriks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.5.4 Komputasi perkalian matriks . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.5.5 Perkalian matriks dan vektor-kolom . . . . . . . . . . . . . . . . . . . . . 35

2.5.6 Komputasi perkalian matriks dan vektor-kolom . . . . . . . . . . . . . . . 36

2.6 Penutup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.7 Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3 Fungsi 41

3.1 Fungsi internal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.2 Fungsi eksternal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.3 Fungsi eksternal pada operasi matrik . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.4 Fungsi eksternal penjumlahan matrik . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.5 Fungsi eksternal perkalian matrik . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.6 Fungsi eksternal perkalian matrik dan vektor-kolom . . . . . . . . . . . . . . . . . 49

3.7 Penutup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.8 Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4 Aplikasi dalam Sains 55

4.1 Metode gravitasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5 Mencari Solusi Satu Variabel 65

5.1 Definisi akar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.2 Metode bisection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.2.1 Script Matlab metode bisection . . . . . . . . . . . . . . . . . . . . . . . . 69

5.3 Metode Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.3.1 Contoh 1: penerapan metode Newton . . . . . . . . . . . . . . . . . . . . 72

5.3.2 Script metode Newton untuk contoh 1 . . . . . . . . . . . . . . . . . . . . 75

5.3.3 Contoh 2: penerapan metode Newton . . . . . . . . . . . . . . . . . . . . 76

5.4 Soal-soal Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

6 Integral Numerik 79

6.1 Metode Trapezoida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

6.2 Metode Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6.3 Peran faktor pembagi, n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

6.3.1 Source code metode integrasi . . . . . . . . . . . . . . . . . . . . . . . . . 82

6.4 Metode Composite-Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

6.5 Adaptive Quardrature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

6.6 Gaussian Quadrature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

6.6.1 Contoh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

6.6.2 Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

vii

7 Diferensial Numerik 89

7.1 Metode Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

7.2 Metode Runge Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

7.2.1 Aplikasi: Pengisian muatan pada kapasitor . . . . . . . . . . . . . . . . . . 98

7.3 Latihan I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

7.4 Metode Finite Difference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

7.4.1 Aplikasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

7.5 Latihan II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

7.6 Persamaan Diferensial Parsial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

7.7 PDP eliptik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

7.7.1 Contoh pertama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

7.7.2 Script Matlab untuk