Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
PAM 252 Metode Numerik Bab 1 Pendahuluan Mahdhivan Syafwan Jurusan Matematika FMIPA Universitas Andalas
Semester Genap 2013/2014
Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Apa itu metode numerik? Alasan pemakaian metode numerik Karakteristik dan tahap-tahap metode numerik Sifat-sifat metode numerik yang ‘bagus’
Metode numerik adalah...
...metode yang diterapkan untuk memecahkan masalah-masalah matematika dengan memakai tatacara aproksimasi tertentu agar dapat diselesaikan dengan hitungan yang sederhana.
Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Apa itu metode numerik? Alasan pemakaian metode numerik Karakteristik dan tahap-tahap metode numerik Sifat-sifat metode numerik yang ‘bagus’
1. Permasalahan sukar untuk diselesaikan secara analitik Contoh Tentukan nilai dari exp(3). Selesaikan x 5 + bx + c = 0 R1 Hitung 0 sin(exp(x))dx. Selesaikan x ′ (t) = a(y − x),
y ′ (t) = bx − y − xy , z ′ (t) = xy − cz.
Bentuk-bentuk di atas sukar untuk diselesaikan secara analitik. Butuh metode untuk menyelesaikannya secara numerik. Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Apa itu metode numerik? Alasan pemakaian metode numerik Karakteristik dan tahap-tahap metode numerik Sifat-sifat metode numerik yang ‘bagus’
2. Permasalahan menyangkut hitungan yang sangat besar Contoh Selesaikan Ax = b, dimana A adalah matriks berukuran 2 × 2 dan b adalah vektor berukuran 2 × 1. Sistem persamaan di atas dapat diselesaikan secara analitik. Namun bagaimana jika matriks A berukuran 100 × 100 dan vektor b berukuran 100 × 1? Bagaimana pula jika matriks A berukuran 106 × 106 dan vektor b berukuran 106 × 1?
Butuh metode untuk menyelesaikan masalah di atas dengan bantuan alat komputasi.
Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Apa itu metode numerik? Alasan pemakaian metode numerik Karakteristik dan tahap-tahap metode numerik Sifat-sifat metode numerik yang ‘bagus’
Metode numerik dalam dunia kerja Aerospace - desain pesawat komersial - Airbus Aerospace - desain mesin jet - Rolls Royce Otomotif - desain mobil baru Hiburan - animasi, games Olahraga - desain mobil F1, desain perahu layar - Alinghi Finance - desain produk keuangan, penilaian resiko Lingkungan - model perubahan cuaca
Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Apa itu metode numerik? Alasan pemakaian metode numerik Karakteristik dan tahap-tahap metode numerik Sifat-sifat metode numerik yang ‘bagus’
Karakteristik metode numerik
Mencakup sejumlah besar perhitungan yang bentuknya serupa Memerlukan alat bantu komputer Penyelesaian yang diperoleh selalu berupa hampiran (sangat jarang sekali diperoleh nilai eksak, kecuali masalahnya istimewa)
Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Apa itu metode numerik? Alasan pemakaian metode numerik Karakteristik dan tahap-tahap metode numerik Sifat-sifat metode numerik yang ‘bagus’
Tahap-tahap penyelesaian masalah secara numerik
1
Pemodelan, yaitu memformulasikan masalah fisik menjadi masalah matematika. Contoh: model pertumbuhan bakteri y ′ = ky .
2
Pemilihan metode numerik untuk menyelesaikan masalah matematika.
3
Pemograman: pembuatan algoritma dan proses koding.
4
Penafsiran hasil.
Catatan: tahap (1) tidak dipelajari pada kuliah ini.
Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Apa itu metode numerik? Alasan pemakaian metode numerik Karakteristik dan tahap-tahap metode numerik Sifat-sifat metode numerik yang ‘bagus’
Sifat-sifat metode numerik yang ‘bagus’ Robust Selalu memberikan jawaban (konvergen)
Akurat Solusi numerik mendekati solusi eksak Galat (error) dapat dibuat sekecil yang diinginkan (berkaitan dengan beban kerja komputasi) Estimasi nilai galat dapat dihitung tanpa mengetahui solusi eksak Batas nilai galat dapat ditentukan
Efisien Solusi numerik diperoleh dalam waktu singkat Menggunakan beban kerja komputasi sekecil mungkin untuk mencapai akurasi yang diinginkan. Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Definisi dan karakteristik algoritma Penulisan algoritma Komponen-komponen algoritma
Definisi dan karakteristik algoritma Algoritma adalah prosedur/perintah yang terdiri dari serangkaian berhingga operasi yang mempunyai arti tunggal yang dipakai untuk menyelesaikan suatu masalah. Karakteristik algoritma: 1
Tiap langkah harus didefinisikan dengan persis sehingga mempunyai arti yang jelas dan maksud yang tunggal.
2
Harus sampai pada solusi/penyelesaian dari masalah setelah berhingga langkah.
3
Bersifat umum, misalnya algoritma untuk penyelesaian sebuah sistem persamaan linier (SPL) harus dapat dipakai untuk SPL ukuran berapapun.
Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Definisi dan karakteristik algoritma Penulisan algoritma Komponen-komponen algoritma
Penulisan algoritma (a) Diagram alir (flow chart) Dituliskan dalam bentuk diagram yang menggunakan simbol-simbol tertentu dengan arti yang sudah baku. Aliran perintah digambar dengan garis dan anak panah dari satu simbol ke simbol lainnya. Karena menimbulkan kerumitan dan panjang, penulisan dengan cara ini sudah mulai ditinggalkan. Biasanya hanya dipakai untuk menggambarkan garis besar dari algoritma.
(b) Kode semu (pseudo code) Ditulis dengan memakai kalimat-kalimat biasa. Kalimat-kalimat yang dipakai biasanya dibakukan dan sudah mirip dengan sintaks dari bahasa pemograman komputer. Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Definisi dan karakteristik algoritma Penulisan algoritma Komponen-komponen algoritma
Komponen-komponen algoritma
(a) Masukan/input Berupa data yang diperlukan untuk melakukan perhitungan yang akan menyelesaikan masalah. (b) Keluaran/output Data yang ingin dihasilkan dari perhitungan algoritma. (c) Langkah-langkah Perintah-perintah dan perhitungan-perhitungan yang dijalankan algoritma untuk menyelesaikan masalah.
Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Definisi dan karakteristik algoritma Penulisan algoritma Komponen-komponen algoritma
Contoh 1 Diberikan suatu vektor a dengan n elemen yang berisikan P bilangan-bilangan riil. Algoritma berikut menghitung D = ni=1 ai .
Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Definisi dan karakteristik algoritma Penulisan algoritma Komponen-komponen algoritma
Contoh 2 Diberikan koefisien dari persamaan kuadrat ax 2 + bx + c = 0. Buatlah algoritma untuk menghitung akar-akar dari persamaan tersebut dengan mempertimbangkan kasus-kasus yang akan terjadi.
Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Definisi galat Sumber galat
Definisi galat (1) Galat (E ) adalah perbedaan nilai dari suatu besaran antara nilai eksak (x) dengan nilai hampirannya (x ⋆ ) E = x − x ⋆. Galat E di atas biasa disebut dengan galat mutlak/absolut dari x. Selain galat mutlak, didefinisikan juga galat lain, yaitu galat relatif, dengan bentuk e=
x − x⋆ . x
Mana yang lebih baik untuk pengukuran galat, apakah galat absolut atau galat relatif? Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Definisi galat Sumber galat
Definisi galat (2) Pada prakteknya, nilai eksak x tidak diketahui. Untuk komputasi yang berulang (iterasi ), galat seringkali diestimasi dengan ⋆ εn = xn⋆ − xn−1
atau εn =
⋆ xn⋆ − xn−1 , xn⋆
(1)
dimana indeks n menunjukkan langkah iterasi (iterasi ke-n). Pada kasus ini, komputasi akan dihentikan pada iterasi ke-n jika memenuhi |εn | < ε⋆ , dimana ε⋆ adalah toleransi galat yang ditentukan (ε⋆ > 0). Hubungan di atas disebut kriteria penghentian iterasi. Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Definisi galat Sumber galat
Sumber galat Galat diskritisasi Timbul akibat: model matematika (kasus kontinu) −→ model numerik Dalam hal ini, fungsi kontinu dipartisi atas sejumlah titik partisi yang berhingga. Semakin banyak titik partisi, semakin kecil nilai galat.
Galat pemotongan Timbul akibat pemotongan rumus matematika tertentu untuk menghampiri suatu besaran.
Galat pembulatan Timbul akibat pembulatan bilangan. Biasanya terjadi karena keterbatasan memori atau ketelitian pada alat komputasi yang dipakai. Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Definisi galat Sumber galat
Ilustrasi galat pemotongan Misalkan kita ingin menghitung sin(0, 1) dengan menggunakan hampiran deret Maclaurin. Deret Maclaurin untuk sin(x) adalah [buktikan!] x3 x5 x7 x9 + − + − ··· . 3! 5! 7! 9! Ruas kanan dari deret di atas diaproksimasi sampai sejumlah 5 suku tertentu saja, misalnya hanya sampai suku x5! . Dalam hal ini diperoleh hasil sin(x) = x −
(0, 1)5 (0, 1)3 + 3! 5! dengan galat pemotongan sebesar sin(0, 1) ≈ 0, 1 −
E =−
(0, 1)7 (0, 1)9 + − ··· . 7! 9!
Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Definisi galat Sumber galat
Ilustrasi galat pembulatan (1) Misalkan kita menggunakan komputer/kalkulator dengan kemampuan menyimpan 5 angka desimal. Jika kita ingin menyimpan bilangan 32 = 0, 666666666..., maka bilangan tersebut disimpan menjadi 0, 66667 (terjadi galat pembulatan). Galat pembulatan biasanya akan merambat terus selama kita melakukan operasi perhitungan dalam komputer. Misalkan x dan y adalah dua besaran eksak dan nilai hampirannya x ⋆ dan y ⋆ . Dari definisi galat Ex = x − x ⋆ dan Ey = y − y ⋆ , maka [buktikan!] Ex+y
=
Ex + Ey ,
Ex−y exy
= =
Ex − Ey , ex + ey ,
ex/y
=
ex − ey .
Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Definisi galat Sumber galat
Ilustrasi galat pembulatan (2) Galat pembulatan dalam suatu perhitungan rumus kadang-kadang dapat ‘diperkecil’ dengan memodifikasi rumus tersebut. √ √ Sebagai contoh, perhatikan rumus: f (x) = x( x + 1 − x). Dengan menggunakan komputer dengan ketelitian 4 angka desimal, √ √ diperoleh f (500) = 500( 501 − 500) = ... = 11, 1500.
x √ [justifikasi!], Sekarang modifikasi f (x) menjadi ˆ f (x) = √x+1+ x ˆ sehingga diperoleh hasil f (500) = ... = 11, 1748.
Sebagai perbandingan, nilai eksaknya f (500) = g (500) = 11, 1747553007... Jadi, operasi pengurangan dua bilangan yang nilainya hampir sama akan menyebabkan galat yang besar.
Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Tentang MATLAB Fitur pada MATLAB Mempelajari MATLAB
Tentang MATLAB
MATLAB (Matrix Laboratory) - interactive system for numerical computation. Originally written by Cleve Moler as a teaching aid. Now widely used for teaching and research in universities. Also widely used by business and industry. Knowing MATLAB is a valuable skill - good addition to your CV Learning MATLAB can be fun!
Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Tentang MATLAB Fitur pada MATLAB Mempelajari MATLAB
Fitur pada MATLAB Allows quick and easy coding in a high-level language. Simple data structures - variables need not be declared in advance. Interactive interface makes it easy to experiment and easy to debug code. High-quality graphics can be produced easily. Programs and functions can be stored in M-files, which are completely portable. Lots of people have written M-files that are freely available on the internet.
Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Tentang MATLAB Fitur pada MATLAB Mempelajari MATLAB
Bagaimana mempelajari MATLAB? The best way to learn any computer language is to use it! MATLAB is no exception. Do attend the Computer Workshops and try the exercises. Work through the MATLAB Guide at a computer. Ask for help. Read other people’s code, look at the solutions to the exercises. Don’t be afraid to experiment - you can’t break anything! Practise - ”to do repeatedly in order to gain a skill”. Programming is a very valuable skill but it will take time to acquire. Be patient. Mahdhivan Syafwan
Metode Numerik: Pendahuluan
Mengapa metode numerik Algoritma: review Galat (error) Pengenalan MATLAB
Tentang MATLAB Fitur pada MATLAB Mempelajari MATLAB
Hal-hal spesifik Upper and lower case characters are not equivalent. Typing a variable name will cause MATLAB to display its current value. Putting a semicolon at the end of a command suppresses its output to the screen. Parentheses (), square brackets [] and curly braces { } are all used and mean different things. You can use the up and down arrows to scroll through your previous commands. You can get help by typing help topic where topic is a command or function. You can leave MATLAB by typing exit or quit. Mahdhivan Syafwan
Metode Numerik: Pendahuluan