mata kuliah Metode Numerik (CI1414) di Jurusan Teknik Informatika, ..... Tabel
4.2 Hasil Perhitungan contoh 4.3 dengan menggunakan persamaan [4.2] ..........
Metode Numerik Edisi Jurusan T. Informatika - ITS
Irfan Subakti, M.Sc.Eng. 司馬伊凡, 碩士學位
Jurusan Teknik Informatika Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya 2006
ii
Irfan Subakti – Metode Numerik
Persembahan
iii
Aku persembahkan buku ini buat: Ibu, Bapak dan Adik-adikku tercinta
Irfan Subakti – Metode Numerik
iv
Irfan Subakti – Metode Numerik
Kata Pengantar
v
Kata Pengantar
Salam sejahtera ^__^
Modul Metode Numerik ini dibuat dalam rangka membantu para mahasiswa memahami mata kuliah Metode Numerik (CI1414) di Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember. Kuliah Metode Numerik ini diberikan sebagai salah satu Mata Kuliah Wajib yang memiliki bobot 3 SKS (Satuan Kredit Semester). Tujuan yang ingin didapat dari Mata Kuliah ini adalah untuk memahami konsep dasar metode numerik, kelebihan dan kekurangan masing-masing metode numerik dibandingkan dengan metode lainnya, serta ketepatan hasil dan penerapannya. Materi yang dibahas adalah: sistem bilangan dan kesalahan numerik, eliminasi Gauss, metode Gauss-Jordan, matriks inversi dan Gauss Seidel, metode grafik, metode biseksi, metode Regula Falsi, metode iterasi, metode Newton-Raphson, Secant dan akar ganda, regresi linier, regresi polinomial dan berganda, interpolasi linier dan kuadratik, interpolasi Newton, interpolasi Lagrange, interpolasi Spline, integrasi Newton-Cotes, solusi diferensial Euler, serta solusi diferensial Range-Kutta. Semoga apa yang ada di buku ini bermanfaat bagi pembaca semua. Tentu saja, kritik dan saran dipersilakan. Pembaca dapat menghubungi penulis di:
[email protected]
Surabaya, Juli 2006 Penulis
Irfan Subakti – Metode Numerik
vi
Irfan Subakti – Metode Numerik
Daftar Isi
vii
Daftar Isi
Halaman Kata Pengantar .................................................................................................... v Daftar Isi .......................................................................................................... vii Daftar Tabel........................................................................................................ ix Daftar Gambar .................................................................................................... xi Bab 1 Pendahuluan Kuliah ..................................................................................... 1 1.1 Gambaran Umum ..................................................................................... 1 1.2 Tujuan .................................................................................................... 1 1.3 Topik yang Dibahas................................................................................... 1 1.4 Prasyarat ................................................................................................ 4 1.5 Pustaka Acuan ......................................................................................... 4 Prolog................................................................................................................. 5 Bab 1 Model Matematika ....................................................................................... 7 1.1 Model Matematika .................................................................................... 7 Bab 2 Komputer dan Perangkat Lunak ................................................................... 13 2.1 Pendahuluan.......................................................................................... 13 2.2 Sistem Komputer Secara Umum ............................................................... 14 2.3 Pengembangan Perangkat Lunak .............................................................. 14 2.3.1 Desain Algoritma ................................................................................. 15 2.3.2 Komposisi Program .............................................................................. 17 2.3.3 Debugging dan Testing ......................................................................... 17 2.3.4 Dokumentasi....................................................................................... 18 2.3.5 Penyimpanan dan Pemeliharaan............................................................. 18 Bab 3 Aproksimasi dan Round-Off Error ................................................................. 19 3.1 Angka Signifikan .................................................................................... 19 3.2 Akurasi dan Presisi ................................................................................. 20 3.3 Definisi Error (Kesalahan) ........................................................................ 21 3.4 Round-Off Error (Kesalahan Pembulatan) ................................................... 23 3.4.1 Cara Meminimalkan Round-Off Error....................................................... 24 3.5 Truncation Error (Kesalahan Pemotongan).................................................. 27 3.5.1 Deret Taylor ........................................................................................ 27 3.5.2 Suku Sisa Perluasan Deret Taylor ........................................................... 30 3.5.3 Penggunaan Deret Taylor untuk Memperkirakan Kesalahan Pemotongan. ..... 32 3.5.4 Diferensiasi Numerik ............................................................................ 33
Irfan Subakti – Metode Numerik
Daftar Isi
viii
3.6 Kesalahan Numerik Total ......................................................................... 40 3.7 Kekeliruan, Kesalahan Perumusan dan Ketidakpastian Data .......................... 41 Bab 4 Metode Akolade (Bracketing Method) ........................................................... 44 4.1 Metode Grafik ........................................................................................ 44 4.2 Metode Bagidua (Biseksi) ........................................................................ 48 4.2.1 Kriteria Berhenti dan Taksiran Kesalahan ................................................ 51 4.3 Metode Regula Falsi (False Position) .......................................................... 53 4.3.1 Jebakan pada Metode Regula Falsi ......................................................... 56 4.4 Incremental Searches dan Penentuan Tebakan Awal .................................... 57 Bab 5 Metode Terbuka ........................................................................................ 59 5.1 Iterasi Satu Titik Sederhana .................................................................... 60 5.1.1 Konvergensi........................................................................................ 61 5.1.2 Metode Grafik 2 Kurva.......................................................................... 63 5.2 Metode Newton-Raphson......................................................................... 64 5.2.1 Kriteria Berhenti dan Taksiran Kesalahan ................................................ 65 5.2.2 Jebakan pada Metode Newton-Raphson .................................................. 67 5.3 Metode Secant....................................................................................... 69 5.3.1 Perbedaan Metode Secant dan Regula Falsi ............................................. 71 5.4 Akar Ganda ........................................................................................... 73 5.4.1 Metode Modifikasi Newton-Raphson ....................................................... 74 5.4.2 Metode Modifikasi Secant ..................................................................... 74 5.5 Perbandingan Pelbagai Metode ................................................................. 75 Bab 6 Eliminasi Gauss......................................................................................... 77 6.1 Matriks ................................................................................................. 77 6.2 Penyelesaian Persamaan yang Sedikit Jumlahnya........................................ 82 6.2.1 Metode Grafik ..................................................................................... 83 6.2.2 Determinan dan Aturan Cramer ............................................................. 85 Daftar Pustaka................................................................................................... 90
Irfan Subakti – Metode Numerik
Daftar Tabel
ix
Daftar Tabel
Halaman Tabel 1.1 Waktu dan kecepatan penerjuan payung untuk solusi analitis ........................ 9 Tabel 1.2 Waktu dan kecepatan penerjuan payung untuk solusi numerik .................... 11 Tabel 3.1 Hasil perhitungan ∈t dan ∈a .................................................................... 23 Tabel 3.1 Hasil perhitungan sin (1 + θ) .................................................................. 26 Tabel 4.1 Solusi pendekatan grafik ........................................................................ 44 Tabel 4.2 Hasil Perhitungan contoh 4.3 dengan menggunakan persamaan [4.2] .......... 51 Tabel 4.3 Hasil Perhitungan dengan metode Bagidua ............................................... 56 Tabel 4.4 Hasil Perhitungan dengan metode Regula Falsi .......................................... 56 Tabel 5.1 Hasil Perhitungan dengan metode Iterasi satu titik sederhana ..................... 61 Tabel 5.2 Hasil Perhitungan dengan metode grafik 2 kurva ....................................... 63 Tabel 5.3 Hasil Perhitungan dengan metode Newton-Raphson ................................... 65 Tabel 5.4 Hasil Perhitungan untuk jebakan pada metode Newton-Raphson .................. 67 Tabel 5.5 Perbandingan pelbagai metode ............................................................... 75
Irfan Subakti – Metode Numerik
Daftar Tabel
x
Irfan Subakti – Metode Numerik
Daftar Gambar
xi
Daftar Gambar
Halaman Gambar 1.1 Diagram skema gaya-gaya yang bekerja pada penerjun payung ................ 8 Gambar 1.2 Grafik dari hasil perhitungan analitis ...................................................... 9 Gambar 1.3. Grafik penggunaan diferensiasi hingga untuk mengaproksimasi turunan pertama v thd t.................................................................................................. 10 Gambar 1.4. Grafik perbandingan solusi numerik dengan solusi analitis...................... 12 Gambar 2.1 Sistem Komputer Secara Umum .......................................................... 14 Gambar 2.2 Lima langkah yang diperlukan untuk membuat dan memelihara perangkat lunak ................................................................................................................ 15 Gambar 2.3 (a) algoritma dan (b) diagram alir untuk pemecahan masalah penambahan sederhana ......................................................................................................... 16 Gambar 3.1 Speedometer dan Odometer ............................................................... 19 Gambar 3.2 Gambaran presisi dan akurasi ............................................................. 20 Gambar 3.3 Aproksimasi dari f(x) = -0,1x4 – 0,15x3 – 0,5x2 – 0,25x + 1,2 pada x = 1 dengan orde ke nol, orde pertama, dan orde kedua dari perluasan Deret Taylor .......... 29 Gambar 3.4 Penjelasan grafik dari sebuah perkiraan dan sisa Deret Taylor orde ke nol . 30 Gambar 3.5 Grafik teori harga rata-rata ................................................................ 31 Gambar 3.6 Penjelasan grafik dari turunan pertama pendekatan diferensi terbagi hingga (a) ke depan, (b) ke belakang, dan (c) terpusat........................................................... 33 Gambar 3.7 Rumus diferensi terbagi hingga ke belakang: dua versi diberikan untuk setiap turunan ............................................................................................................ 36 Gambar 3.8 Rumus diferensi terbagi hingga ke depan: dua versi diberikan untuk setiap turunan ............................................................................................................ 37 Gambar 3.9 Rumus diferensi terbagi hingga terpusat: dua versi diberikan untuk setiap turunan ............................................................................................................ 38 Gambar 3.10 Kompromi antara kesalahan pembulatan dan kesalahan pemotongan yang sering muncul berkenaan dengan metode numerik .................................................. 41 Gambar 4.1 Ilustrasi pendekatan grafik untuk memecahkan persamaan aljabar dan transendental .................................................................................................... 45 Gambar 4.2 Ilustrasi sejumlah cara yang umum bahwa sebuah akar bisa terjadi dalam sebuah interval yang dijelaskan oleh batas bawah xl dan batas atas xu ....................... 46 Gambar 4.3 Ilustrasi beberapa perkecualian terhadap kasus-kasus umum yang ditunjukkan dalam gambar 4.2 .............................................................................................. 47 Gambar 4.4 Algoritma Biseksi .............................................................................. 49
Irfan Subakti – Metode Numerik
Daftar Gambar
xii
Gambar 4.5 Grafik metode Bagidua. Gambar ini sesuai dengan 3 iterasi pertama dari contoh 4.3 di atas. ....................................................................................................... 50 Gambar 4.7 Kesalahan untuk metode Bagidua. ∈t dan taksiran digambar terhadap jumlah iterasi............................................................................................................... 52 Gambar 4.8 Tiga cara dimana interval dapat mengurung akar .................................. 52 Gambar 4.9. Penjelasan grafik mengapa taksiran kesalahan untuk Bagidua ................ 53 Gambar 4.10 Penjelasan grafik dari metode Regula Falsi.......................................... 54 Gambar 4.11 Perbandingan ∈t pada metode Bagidua dan Regula Falsi untuk f(x) = e-x – x ....................................................................................................................... 55 Gambar 4.12 Grafik dari f(x) = x10 – 1, menunjukkan konvergensi metode Regula Falsi yang lambat.............................................................................................................. 57 Gambar 4.13 Kasus-kasus dimana akar-akar dapat hilang karena panjang inkremen dari prosedur pencarian terlalu besar .......................................................................... 58 Gambar 5.1. Penjelasan grafik mengenai perbedaan fundamental antara metode Akolade (a), dan metode Terbuka (b) dan (c) untuk menempatkan akar................................. 59 Gambar 5.2 Dua metode grafik alternatif untuk menentukan akar dari f(x) = e-x – x.... 62 Gambar 5.3 Penjelasan grafik mengenai konvergensi (a) dan (b), serta divergensi (c) dan (d) dari iterasi 1 titik sederhana. .......................................................................... 64 Gambar 5.4 Penjelasan grafik dari metode Newton-Raphson .................................... 65 Gambar 5.5. Empat kasus dimana metode Newton-Raphson memperlihatkan konvergensi yang kurang baik ............................................................................................... 68 Gambar 5.6 Penjelasan grafik mengenai metode Secant .......................................... 70 Gambar 5.7 Perbandingan metode Regula Falsi dan Secant ...................................... 72 Gambar 5.8 Perbandingan ∈t untuk metode mencari akar f(x) = e-x – x ..................... 72 Gambar 5.9 Contoh akar ganda yang menyinggung sumbu x.................................... 73 Gambar 6.1 Solusi grafik dari kumpulan 2 persamaan aljabar linier simultan .............. 84 Gambar 6.2 Penjelasan grafik dari sistem kondisi timpang (ill-conditioned)................. 85
Irfan Subakti – Metode Numerik
Pendahuluan Kuliah
1
Bab 1 Pendahuluan Kuliah
1.1 Gambaran Umum Metode Numerik merupakan Mata Kuliah Wajib yang diajarkan kepada mahasiswa pada Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember. Kredit untuk mata kuliah ini adalah 3 SKS (Satuan Kredit Semester), yang artinya adalah 50 menit × 3 = 150 menit tatap muka. Prasyarat untuk mengikuti mata kuliah ini adalah mata kuliah Kalkulus 1 (UM1201), Kalkulus 2 (UM1202) dan Aljabar Linier (CI1402). Tujuan yang ingin didapat dari Mata Kuliah ini adalah untuk memahami konsep dasar metode numerik, kelebihan dan kekurangan masing-masing metode numerik dibandingkan dengan metode lainnya, serta ketepatan hasil dan penerapannya.
1.2 Tujuan Tujuan yang ingin dicapai setelah mengikuti mata kuliah Metode Numerik ini adalah: Mahasiswa memahami pengertian dasar metode numerik Mahasiswa memahami kelebihan dan kekurangan masing-masing metode numerik Mahasiswa dapat mencari akar-akar persamaan Mahasiswa dapat menyelesaikan persoalan persamaan linier Mahasiswa dapat membuat formula dari data-data yang ada
1.3 Topik yang Dibahas Topik-topik yang dibahas dalam mata kuliah Metode Numerik ini adalah sebagai berikut: Peraturan kuliah, silabus/materi, aturan penilaian, dll. Pendekatan dan kesalahan Angka signifikan
Irfan Subakti – Metode Numerik
Pendahuluan Kuliah
2 Akurasi dan presisi Definisi kesalahan Akar-akar persamaan
metode Akolade (Bracketing method)
Metode Grafik Metode Bagidua Metode Posisi Salah Akar-akar persamaan
metode Terbuka
Iterasi satu titik sederhana Metode Newton-Raphson Metode Secant Metode Newton-Raphson yang dimodifikasi Sistem persamaan aljabar linier Eliminasi Gauss Eliminasi Gauss Jordan Gauss Jordan Gauss Seidell Determinan Invers Pencocokan kurva: regresi kuadrat terkecil Regresi linier Regresi polinomial Regresi linier berganda Regresi non linier Pencocokan kurva: Interpolasi Polinomial interpolasi diferensia terbagi Newton Polinomial interpolasi Lagrange
Irfan Subakti – Metode Numerik
Pendahuluan Kuliah
3
Interpolasi Spline Integrasi: formulasi integrasi Newton-Cotes Aturan Trapesium Aturan Simpson Integrasi dengan segmen tidak sama Integrasi terbuka Multiple integrasi Integrasi: integrasi Romberg dan kuadratur Gauss Integrasi Romberg Kuadratur Gauss Improper integral Persamaan diferensia biasa: Runge-Kutta Metode Euler Modifikasi dan perbaikan metode Euler Metode Runge-Kutta Sistem persamaan Nilai batasan dan permasalahan nilai Eigen Metode umum untuk permasalahan nilai batasan Permasalahan nilai Eigen Diferensia terbatas: persamaan Elliptic Persamaan Laplace Teknik-teknik solusi Kondisi-kondisi batasan Pendekatan control-volume
Irfan Subakti – Metode Numerik
Pendahuluan Kuliah
4
1.4 Prasyarat Prasyarat untuk mengikuti mata kuliah Metode Numerik ini adalah sebagai berikut: Kalkulus 1 (UM1201) Kalkulus 2 (UM1202) Aljabar Linier (CI1402)
1.5 Pustaka Acuan Pustaka yang dipakai sebagai acuan dalam mata kuliah Metode Numerik ini dapat dilihat pada Daftar Pustaka di bagian terakhir modul ini.
Irfan Subakti – Metode Numerik
Prolog
5
Prolog
Metode Numerik adalah: Teknik dimana masalah matematika diformulasikan sedemikian rupa sehingga dapat diselesaikan oleh pengoperasian Aritmetika. Dengan adanya perkembangan komputer sekarang ini, maka kalkulasi Aritmetika yang banyak dan menjenuhkan bila dikerjakan secara manual akan menjadi lebih mudah dan menyenangkan. ☺
Metode Prakomputer. 3 pendekatan penyelesaian masalah teknik: 1. Menggunakan cara analitis atau eksak. Hanya bisa untuk masalah yang sederhana. 2. Menggunakan grafik. Terbatas untuk 2, 3 dimensi saja. 3. Kalkulator. Kesulitan dalam mengatasi kekeliruan pemakai.
Hubungan antara dunia nyata - permasalahan – penyelesaian Dunia nyata
Dunia nyata
Masalah
Model
Solusi
Model (untuk menghemat waktu, biaya, dan mengurangi resiko) Model
Fisik
Matematis
Analisis
Irfan Subakti – Metode Numerik
Simulasi
Prolog
6 Sehingga MetNum itu sendiri sebenarnya adalah cara penyelesaian Matematis, yang
dikembangkan dari cara analisis, dan memasuki wilayah simulasi. Simulasi dilangsungkan dengan menggunakan media komputer.
Irfan Subakti – Metode Numerik
Model Matematika
7
Bab 1 Model Matematika
Seperti telah dibahas dalam prolog sebelumnya, model dibuat untuk memudahkan orang dalam menganalisis suatu permasalahan, disamping untuk menghemat waktu, biaya, dan juga mengurangi resiko. Dengan adanya sistem komputer yang demikian canggih saat ini, maka pemodelan ini menjadi lebih mudah dan nyaman dilakukan. Dari sini lahirlah simulasi yang menggunakan komputer untuk menirukan hal-hal yang ada di dunia nyata, yang dapat dianalisis, dievaluasi dan didapatkan hasilnya, serta dapat diulangi kapanpun dengan hasil yang sama.
1.1 Model Matematika Adalah persamaan yang mengungkapkan segi utama sistem/proses fisika dalam istilah matematika. Contoh kita disini adalah hukum Newton II: Laju waktu perubahan momentum sebuah benda sama dengan gaya resultan yang bekerja padanya. F = ma
[1.1]
Dimana F: gaya total yang bekerja pada benda (dyne atau gr-cm/detik) m: masa benda (gr) a: percepatan (cm/detik2) Arti persamaan 1.1: Menjelaskan suatu proses/sistem alami dalam istilah matematika Menunjukkan penyederhanaan dari kenyataan Memberikan hasil-hasil yang dapat ditiru sehingga dapat dipakai untuk tujuan perkiraan a=
F m
[1.2]
Percepatan sendiri adalah: laju waktu dari perubahan kecepatan (dv/dt), sehingga: m
dv dt
=F
[1.3]
Irfan Subakti – Metode Numerik
Model Matematika
8 Dimana v: kecepatan (cm/detik)
Bila gaya (F) positif, benda dipercepat, kalau negatif, maka benda diperlambat, jika 0 maka kecepatan benda akan konstan.
Gambar 1.1 Diagram skema gaya-gaya yang bekerja pada penerjun payung
Pada gambar 1.1 di atas, FD adalah gaya ke bawah disebabkan tarikan gravitasi. FU adalah gaya ke atas disebabkan gesekan udara. Jika benda jatuh di sekitar permukaan bumi, gaya netto terdiri dari dua gaya yang berlawanan, yaitu FD dan FU. F = FD + FU
[1.4]
FD = mg
g adalah konstanta gravitasi = 980 cm/det2
FU = -cv
c adalah konstanta perbandingan (koefisien tahanan, gram/detik)
[1.5]
[1.6] m
dv = mg – cv dt
[1.7]
Jika tiap suku di bagi m, maka
dv c =gv dt m
yang merupakan persamaan diferensial (adanya dv/dt) [1.8]
Solusi eksak dari persamaan penerjun bebas ini (penerjun pada mulanya diam v=0, t=0) Irfan Subakti – Metode Numerik
Model Matematika
9
adalah: v(t) =
gm [1 - e-(c/m) t] c
[1.9]
Contoh solusi analitis/eksak Penerjun dengan massa 68.100 gr meloncat dari sebuah pesawat terbang. Dengan persamaan eksak di atas, hitung kecepatan sebelum penerjun membuka payungnya. Koefisien tahanan/geser c kira-kira besarnya 12.500 gr/det. V(t)
=
980(68.100) [1 – e-(12.500/68.100) t] 12.500
= 5.339,0 (1 – e-0,18355t)
yang dapat digunakan untuk menghitung:
Tabel 1.1 Waktu dan kecepatan penerjuan payung untuk solusi analitis
t (det) 0 2 4 6 8 10 12 ∞
v (cm/det) 0,00 1.640,5 2.776,9 3.564,2 4.109,5 4.487,3 4.749,0 5.339,0
Dimana tabel 1.1 di atas dalam bentuk grafik dapat digambarkan seperti gambar 1.2 di bawah ini.
Gambar 1.2 Grafik dari hasil perhitungan analitis
Irfan Subakti – Metode Numerik
Model Matematika
10 Sayangnya dalam kenyataan sehari-hari, amat sulit mendapatkan solusi eksak, alternatifnya adalah solusi numerik yang mendekati solusi eksak.
Dalam kasus penerjun bebas ini, disadari bahwa laju perubahan kecepatan terhadap waktu dapat didekati dengan gambar 1.3 berikut ini.
Gambar 1.3. Grafik penggunaan diferensiasi hingga untuk mengaproksimasi turunan pertama v thd t
dv ∆v v (t i +1 ) − v (t i ) ≈ = dt ∆t t i +1 − t i
yang disebut diferensiasi terbagi hingga
[1.10]
Dimana ∆v = beda kecepatan ∆t = beda waktu v(ti) = kecepatan pada awal ti v(ti+1) = kecepatan beberapa saat ti+1 berikutnya
v (t i +1 ) − v (t i ) c = g − v (t i ) t i +1 − t i m
c ⎡ v(ti+1) = v(ti) + ⎢g − v (t i m ⎣
Yaitu:
yang dapat disusun kembali menjadi:
⎤ )⎥ (ti+1 - ti) ⎦
[1.11]
[1.12]
(harga baru v) = (harga lama v )+ (nilai taksiran slope) × (interval waktu) [1.13] Irfan Subakti – Metode Numerik
Model Matematika
11
Contoh solusi numerik Kasusnya sama dengan untuk solusi eksak di atas, penerjun dengan massa 68.100 gr meloncat dari sebuah pesawat terbang. Koefisien tahanan/geser c kira-kira besarnya 12.500 gr/det. Interval waktunya = 2 detik. Hitung v(t) nya. Pada saat mulai perhitungan (ti = 0), kecepatan penerjun v(ti) = 0. Pada ti+1 = 2 detik: 12.500 ⎡ ⎤ v(2) = 0 + ⎢980 − (0)⎥2 68 . 100 ⎣ ⎦
= 1.960 cm/det. Untuk interval berikutnya (dari t = 2 ke 4 detik), perhitungan diulang lagi dengan hasil: 12.500 ⎡ ⎤ v(4) = 1.960 + ⎢980 − (1.960)⎥2 68 . 100 ⎣ ⎦
= 3.200,5 cm/det.
Dan hal ini diteruskan, sehingga didapat:
Tabel 1.2 Waktu dan kecepatan penerjuan payung untuk solusi numerik
t (det) 0 2 4 6 8 10 12 ∞
v (cm/det) 0,00 1.960,0 3.200,5 3.985,6 4.482,5 4.796,9 4.995,9 5.339,0
Dimana tabel 1.2 di atas dalam bentuk grafik dapat digambarkan seperti gambar 1.4 di bawah ini.
Irfan Subakti – Metode Numerik
Model Matematika
12
Gambar 1.4. Grafik perbandingan solusi numerik dengan solusi analitis
Dengan komputer, hasil perhitungan dengan solusi numerik dapat ditingkatkan ketepatannya dengan cara memperkecil interval waktunya. Setiap pembagian setengah interval, agar mencapai ketelitian yang lebih baik, mengakibatkan terjadinya kelipatan jumlah perhitungan. Jadi memang ada trade-off (kompromi) antara kecepatan dan upaya perhitungan. Tugas 1 Buatlah makalah berdasarkan dua contoh di atas (solusi analitis/eksak dan solusi numerik/pendekatan), gunakan interval waktu 2, 1, dan 0.5 detik untuk solusi numerik. Makalah
harus lengkap, mulai cover, masalah, algoritma, program komputer, evaluasi dan
hasilnya.
Irfan Subakti – Metode Numerik
Komputer dan Perangkat Lunak
13
Bab 2 Komputer dan Perangkat Lunak
Segala hal mengenai komputer dan software, sebenarnya telah dibahas dalam mata kuliah PTI (Pengantar Teknologi Informasi), Bahasa Pemrograman, dan lain-lain mata kuliah, seperti: Sejarah komputer, sejak jaman mainframe sampai microcomputer dewasa ini. Pengembangan software, meliputi gaya pemrograman (desain algoritma, komposisi program, debugging dan testing, dokumentasi, storage dan maintenance), desain yang bersifat modular, Top-Down Design, pemrograman terstruktur. Namun demikian agar memberikan pemahaman menyeluruh kepada kita semua, materi mengenai komputer dan perangkat lunak ini tetap akan kita bahas disini sekilas saja.
2.1 Pendahuluan Komputer adalah partisipan dalam interaksi yang menjalankan program Merupakan frasa umum, mencakup banyak peralatan interaktif – saklar cahaya, mobil, dan lain-lain. Kita harus lebih memperhatikan komputer elektronik Ada 2 bentuk perbedaan utama interaksi Batch – biasanya jika sejumlah besar data harus dibaca/diproses dalam mesin; membutuhkan hanya sedikit intervensi/campur tangan pengguna Interaktif – saat pengguna mengontrol sesuatu di sepanjang waktu Konsentrasi pada penggunaan interaktif
Irfan Subakti – Metode Numerik
Komputer dan Perangkat Lunak
14
2.2 Sistem Komputer Secara Umum
Gambar 2.1 Sistem Komputer Secara Umum
Seperti terlihat pada gambar 2.1 di atas, maka sistem komputer memiliki beberapa peralatan seperti: Layar (screen), atau monitor, dimana disitu terdapat beberapa Windows – area-area berbeda yang berjalan secara mandiri satu dengan lainnya Keyboard Mouse Peralatan-peralatan ini menentukan gaya interaksi yang didukung oleh sistem Jika kita menggunakan peralatan yang berbeda, maka antarmuka akan mendukung gaya interaksi yang berbeda
2.3 Pengembangan Perangkat Lunak Dalam bab ini materi disusun dalam lima langkah, seperti terlihat pada gambar 2.2 di bawah ini. Hal ini dibutuhkan untuk membuat dan membina perangkat lunak berkualitas tinggi. Bab ini memuat memuat penjelasan dari setiap langkah-langkah tersebut. Materi ini disusun oleh sebuah studi kasus di mana langkah-langkah tersebut diterapkan pada pengembangan perangkat lunak untuk masalah penerjun bebas. Irfan Subakti – Metode Numerik
Komputer dan Perangkat Lunak
15
Setelah memahami materi ini, kita sebaiknya mempersiapkan diri lebih baik guna mengembangkan perangkat lunak berkualitas tinggi bagi metode selanjutnya.
Gambar 2.2 Lima langkah yang diperlukan untuk membuat dan memelihara perangkat lunak
2.3.1 Desain Algoritma Proses pengembangan program komputer dapat kita mulai pada tahap ini. Sebuah program adalah sekumpulan instruksi belaka bagi komputer. Semua program yang dibutuhkan untuk dijalankan pada sebuah komputer secara bersama-sama disebut dengan perangkat lunak. Sebuah algoritma adalah urutan langkah-langkah logika yang dibutuhkan guna melakukan suatu tugas terperinci/tertentu seperti halnya penyelesaian suatu masalah. Algoritma yang baik memiliki sejumlah sifat. Algoritma harus selalu berakhir setelah sejumlah langkah Irfan Subakti – Metode Numerik
Komputer dan Perangkat Lunak
16
berhingga dan seharusnya cukup umum dalam menghadapi segala jenis kemungkinan. Algoritma yang baik harus dapat ditentukan/deterministik. Yaitu tidak satu pun dari kesempatan yang ada sampai ada yang tertinggal. Hasil akhir tidak tergantung pada siapa yang mengikuti algoritma tersebut. Dalam pengertian ini, suatu algoritma dianalogikan dengan sebuah resep. Dua koki bekerja sendiri-sendiri memakai suatu resep yang baik, dan akhirnya masing-masing dari mereka dapat menyajikan masakan yang identik. Gambar 2.3 berikut ini memperlihatkan suatu algoritma untuk menyelesaikan masalah sederhana dari penambahan dua bilangan. Dua orang pemrogram yang bekerja dengan algoritma ini mungkin saja mengembangkan program dengan gaya yang berlainan, tetapi dari data yang sama, program harus memberikan hasil yang sama.
Gambar 2.3 (a) algoritma dan (b) diagram alir untuk pemecahan masalah penambahan sederhana
Suatu alternatif untuk menyatakan sebuah algoritma adalah dengan sebuah diagram alir (flowchart). Ini merupakan pernyataan algoritma secara visual atau grafis dengan menggunakan sederetan blok dan tanda panah. Setiap blok menunjukkan suatu Irfan Subakti – Metode Numerik
Komputer dan Perangkat Lunak
17
pengoperasian tertentu atau langkah dalam algoritma. Tanda panah menunjukkan arah urutan operasi yang akan dilaksanakan. Contoh adalah gambar 2.3 (b) di atas.
2.3.2 Komposisi Program Setelah algoritma telah kita susun, maka selanjutnya adalah menyatakan algoritma sebagai suatu urutan pernyataan program yang disebut kode. Menahan keinginan untuk menulis kode penting kita lakukan sebelum keseluruhan ruang lingkup masalah terdefinisi secara jelas dan teknik pemecahan dan algoritma dirancang secara hati-hati. Masalah yang paling umum dihadapi oleh pemrograman yang belum berpengalaman biasanya suatu kode yang persiapannya ditemukan belum matang yaitu tidak mencakup suatu strategi atau rancangan menyeluruh. Setelah suatu algoritma yang baik dirancang, kode ditulis dalam suatu bahasa pemrograman tingkat tinggi. Ratusan bahasa tingkat tinggi telah dikembangkan sejak dimulainya abad komputer. Contoh adalah: bahasa C, Pascal, Java, C# dan lain-lain. 6 elemen utama pemrograman yang langsung berkaitan dengan metode numerik adalah sebagai berikut: Konstanta dan variabel Masukan-keluaran (input-output) Komputasi Kontrol Subprogram Dokumentasi
2.3.3 Debugging dan Testing Setelah menulis kode program, kita harus menguji program tersebut terhadap kesalahan-kesalahan yang disebut dengan bug. Proses mencari kesalahan dan membetulkannya dinamakan dengan debugging. Beberapa jenis kesalahan dapat terjadi saat pemrograman dalam sembarang bahasa. Kesalahan sintaks yang menyalahi aturan bahasa, seperti pernyataan, formasi bilangan,
Irfan Subakti – Metode Numerik
Komputer dan Perangkat Lunak
18
baris bilangan dan konvensi lainnya. Dan kesalahan ini spesifik terjadinya untuk tiap bahasa pemrograman. Seringkali kesalahan ini adalah akibat dari salah ketik. Kesalahan yang sukar dideteksi adalah kesalahan yang berhubungan dengan konstruksi dan logika program (disebut dengan kesalahan semantik) yang dapat terjadi tanpa adanya kesalahan sintaks. Pembetulan dan pengujian program dimungkinkan dengan penggunaan gaya pengkodean yang baik. Hal ini mencakup desain program sedemikian rupa sehingga program terdiri dari beberapa bagian kecil. Jenis gaya pemrograman ini disebut dengan pemrograman modular.
2.3.4 Dokumentasi Setelah program bersih dari kesalahan dan telah diuji, program harus didokumentasikan. Dokumentasi adalah penambahan komentar yang memberi petunjuk bagi pemakai untuk menjalankan program secara lebih mudah. Terdapat 2 jenis aspek dokumentasi, yaitu: Aspek internal. Dokumentasi internal terdiri dari diskusi atau penjelasan yang dimasukkan selama pengkodean program guna menjelaskan bagaimana tahapan-tahapan setiap program bekerja. Nama mnemonic untuk variabel bisa dipakai untuk lebih memberikan kejelasan dokumentasi program dan program itu sendiri. Aspek eksternal. Ini berhubungan dengan instruksi-instruksi dalam bentuk message (pesan) dan bahan pendukung tercetak yang didesain untuk membantu pemakai sewaktu menjalankan perangkat lunak kita.
2.3.5 Penyimpanan dan Pemeliharaan Langkah akhir dalam pengembangan program adalah penyimpanan dan pemeliharaan. Pemeliharaan meliputi perbaikan atau perubahan yang dibuat dalam program yang mencakup penerapan terhadap masalah nyata. Dalam waktu yang lama, perubahan demikian dapat membuat program lebih mudah dipakai atau lebih dapat diterapkan untuk jenis permasalahan yang lebih besar. Pemeliharaan dimungkinkan dengan adanya dokumentasi yang baik. Penyimpanan berhubungan dengan cara dimana perangkat lunak disimpan untuk penggunaan lebih lanjut.
Irfan Subakti – Metode Numerik
Aproksimasi dan Round-Off Error
19
Bab 3 Aproksimasi dan Round-Off Error
3.1 Angka Signifikan
Gambar 3.1 Speedometer dan Odometer
Dari gambar 3.1 diatas, bila dilihat maka dari speedometer menunjukkan mobil berjalan dengan kecepatan 48 atau 49 km/jam. Mungkin lebih tepatnya sekita 49 km/jam. Jika diinginkan 1 angka dibelakang koma, maka kita masih bisa memperkirakan kira-kira nilainya 48,7 atau mungkin 48,8 km/jam. Adanya keterbatasan speedometer tadi menyebabkan kita tak dapat memastikan, berarti menduga saja, untuk digit ketiga (digit kedua di belakang koma). Jadi menggelikan sekali kalo dapat diperkirakan bahwa kecepatan mobil itu 48,8642138 km/jam. Angka signifikan atau digit menyatakan suatu keandalan sebuah nilai numerik. Banyaknya angka signifikan adalah banyaknya digit tertentu yang dapat meyakinkan kita. Untuk speedometer di atas, maka mengandung taksiran 3 angka signifikan. Odometer memiliki taksiran 7 angka signifikan. Beberapa angka 0 tak selamanya angka signifikan, karena mereka diperlakukan sekedar menempatkan sebuah titik desimal. Jadi bilangan-bilangan 0,00001845 lalu 0,0001845 lalu 0,001845 semuanya memiliki 4 angka signifikan. Jika beberapa angka 0 dipakai di bagian ekor suatu bilangan, tak jelas berapa banyaknya 0 itu yang signifikan. Misal: 45,300 dapat memiliki 3, 4, atau 5 buah digit signifikan tergantung apakah harga 0 itu telah diketahui dengan pasti. Ketidakpastian itu dapat Irfan Subakti – Metode Numerik
Aproksimasi dan Round-Off Error
20
diselesaikan dengan memakai notasi ilmiah dimana 4,53 × 104 atau 4,530 × 104 dan 4,5300 × 104 menandakan bahwa angka-angka tersebut memiliki 3, 4, dan 5 angka signifikan. Implikasi dari angka signifikan: MetNum mengandung hasil pendekatan. Keyakinannya ditentukan oleh angka signifikan. Pernyataan secara eksak besaran-besaran yang signifikan seperti π, dibatasi oleh tipe data yang dapat disimpan oleh komputer sampai sejumlah digit tertentu, selebihnya diabaikan. Pengabaian ini dinamakan dengan kesalahan pembulatan (round-off error).
3.2 Akurasi dan Presisi Akurasi mengacu pada seberapa dekat angka pendekatan/pengukuran terhadap harga sebenarnya. Presisi mengacu pada: Jumlah angka signifikan yang menyatakan suatu besaran Penyebaran dari nilai-nilai yang terbaca dari suatu alat ukur Gambar 3.2 di bawah ini disajikan untuk lebih memperjelas penggambaran dari pengertian akurasi dan presisi di atas.
Gambar 3.2 Gambaran presisi dan akurasi
Irfan Subakti – Metode Numerik
Aproksimasi dan Round-Off Error
21
3.3 Definisi Error (Kesalahan) Timbul dari penggunaan aproksimasi. Meliputi 2 hal, yaitu: Kesalahan pemotongan (truncation error), dihasilkan sewaktu aproksimasi digunakan untuk menyatakan suatu prosedur matematika eksak. Kesalahan pembulatan (round-off error), dihasilkan bila angka-angka aproksimasi dipakai untuk menyatakan angka-angka eksak. Adfadsfa alkdj faljf lads
Dimana
Harga sebenarnya = aproksimasi + error
[3.1]
Et = harga sebenarnya – aproksimasi
[3.2]
Et = harga pasti error, dengan t berarti true.
Bila besaran diperhitungkan dengan menormalisasikan error terhadap harga sebenarnya: Kesalahan relatif fraksional =
kesalahan h arg a sebenarnya
Bila dinyatakan dalam persentase: ∈t =
error sebenarnya 100% h arg a sebenarnya
[3.3]
Dimana ∈t = error relatif persen sebenarnya
Contoh perhitungan error Terdapat tugas untuk mengukur panjang sebuah jembatan dan sebuah paku keling. Didapat harga 9.999 dan 9 cm. Kalau harga sebenarnya adalah 10.000 dan 10 cm, maka hitunglah (a) error (b) error relatif persen, untuk setiap kasus. (a) Untuk jembatan Untuk paku keling (b) Untuk jembatan
Untuk paku keling
Et = 10.000 – 9.999 = 1 cm Et = 10 – 9 = 1 cm ∈t =
1 100% = 0,01% 10.000
∈t =
1 100% = 10% 10
Jadi walau sama-sama error 1 cm, tapi pengukuran dikatakan lebih baik untuk jembatan.
Irfan Subakti – Metode Numerik
Aproksimasi dan Round-Off Error
22
Terdapat notasi Et dan ∈t (dimana t berarti true, menandakan bahwa error diaproksimasi terhadap harga sebenarnya), tapi dalam kenyataannya, amat jarang kita bisa mengetahui harga sesungguhnya ini (bisa juga, kalau digunakan fungsi yang dapat diselesaikan secara analitis). Apalagi dalam kenyataan sehari-hari, sulit sekali mengetahui nilai eksak dalam pelbagai kasus. Maka dari itu terdapat alternatif untuk menormalisasi error dengan menggunakan taksiran terbaik dari harga sebenarnya, yaitu: ∈a =
error aproksimasi 100% aproksimasi
[3.4]
dengan a menandakan aproksimasi. Taksiran kesalahan ditentukan tanpa pengetahuan mengenai harga sebenarnya. Misalnya MetNum tertentu memakai pendekatan iterasi untuk menghitung jawaban. Maka aproksimasinya dibuat berdasarkan suatu aproksimasi sebelumnya, dan proses ini dilakukan secara berulang. ∈a =
aproksimasi sekarang − aproksimasi sebelumnya 100% aproksimasi sekarang
[3.5]
Proses iterasi/perulangan akan berakhir pada suatu nilai ∈s, yaitu persentase toleransi praspesifikasi. |∈a | < ∈s
[3.6]
Hubungan error dengan jumlah angka signifikan Jika kriteria berikut dipenuhi, dapat dijamin bahwa hasilnya adalah betul hingga sekurang-kurangnya n angka signifikan [Scarborough, 1966]: ∈s = (0,5) × 102 - n) %
[3.7]
Contoh taksiran error untuk metode iterasi Fungsi eksponensial dapat dihitung dengan: ex = 1 + x +
x2 2!
+
x3 3!
+
x4 4!
+ … (contoh perluasan deret MacLaurin)
[C3.2.1]
Semakin banyak suku yang ditambahkan dalam deret, aproksimasi akan lebih baik. Harga sebenarnya dari e0,5 = 1,648721271. Suku pertama: ex = 1, lalu dilanjutkan dengan suku-suku berikutnya. Irfan Subakti – Metode Numerik
Aproksimasi dan Round-Off Error
23
Hasil diatur agar sekurang-kurangnya memiliki 3 angka signifikan: ∈s = (0,5) × 102 - 3) % = 0,5% Dimulai dengan ex ≈ 1 + x, untuk x = 0,5
e0,5 ≈ 1 + 0,5 = 1,5
∈t =
1,648721271 − 1,5 100% = 9,02% 1,648721271
∈a =
1,5 − 1 100% = 33,3% 1,5
Ternyata ∈a ≥ ∈s maka komputasi dilanjutkan dengan menambahkan suku lainnya
x2/2!,
dan akan terus dilanjutkan sampai ∈a < ∈s.
Tabel 3.1 Hasil perhitungan ∈t dan ∈a
Suku 1 2 3 4 5 6
Hasil 1 1,5 1,625 1,645833333 1,648437500 1,648697917
∈t % 39,3 9,02 1,44 0,175 0,0172 0,00142
∈a % 33,3 7,69 1,27 0,158 0,0158
Ternyata cuma butuh 6 suku saja, sehingga kesalahan taksiran kurang dari ∈s = 0,5%. Dan juga didapatkan bahwa hasilnya akurat sampai 5 angka signifikan (tidak hanya 3).
3.4 Round-Off Error (Kesalahan Pembulatan) Komputer hanya dapat menyimpan sejumlah tertentu angka signifikan selama kalkulasi. Contoh π = 3,141592 dengan mengabaikan suku-suku yang lainnya
Et = 0,00000065…
Nama teknik penyimpanan ini adalah chopping, jadi tergantung pada tipe data yang digunakan. Cara yang paling gampang adalah cukup mengambil digit bilangan sesuai dengan maksimal tipe datanya, dan ini sering dilakukan. Cara lain adalah dengan memperhitungkan juga pada digit selanjutnya setelah dipotong. Apakah perlu dibulatkan ataukah tidak, tapi cara ini memperlama waktu komputasi. Maka cara pertama yang biasanya diambil, yaitu chopping sederhana.
Irfan Subakti – Metode Numerik
Aproksimasi dan Round-Off Error
24
3.4.1 Cara Meminimalkan Round-Off Error Efek round-off error dapat diminimalkan dengan mengubah algoritma komputasional, walaupun ini juga harus melihat kasus demi kasus. Beberapa strategi yang berguna adalah: 1. Membuat tipe datanya menjadi double precision [McCracken] 2. Grouping 3. Perluasan deret Taylor 4. Mengubah definisi variabel 5. Menuliskan kembali persamaan yang dapat mencegahnya dari operasi pengurangan
Contoh kasus Kalikan 0,00001 sebanyak 10000 kali dan tambahkan ke bilangan 1.0.
Di bawah ini diperlihatkan kode asal program dalam bahasa C: /*Summation by Single Precision sum_singl.c*/ #include main ()
{
float sum = 1.0; int i; for (i=1; i 0, akar terletak pada subinterval kedua, maka xl = xr, dan lanjutkan ke step 2. c. f(xl) f(xr) = 0, akar = xr, komputasi selesai. Gambar 4.4 Algoritma Biseksi
Contoh 4.3 Bagidua Gunakan Bagidua untuk menentukan akar dari f(x) = e-x - x. Dari grafik fungsi tersebut (gambar 4.1) terlihat bahwa harga akar terletak diantara 0 dan 1. Karenanya interval awal dapat dipilih dari xl = 0 hingga xu = 1. Dengan sendirinya, taksiran awal akar terletak di tengah interval tersebut: xr =
0 +1 = 0,5 2
Taksiran ini menunjukkan kesalahan dari (harga sebenarnya adalah 0,56714329…): Et = 0,56714329 – 0,5 = 0,06714329 atau dalam bentuk relatif: |∈t| =
0,06714329 100% = 11,8% 0,56714329
dimana indeks t menunjukkan bahwa kesalahan diacu terhadap harga sebenarnya. Lalu: f(0) f(0,5) = (1) (0,10653) = 0,10653 yang lebih besar dari nol, dengan sendirinya tak ada perubahan tanda terjadi antara xl dan xr. Irfan Subakti – Metode Numerik
Metode Akolade (Bracketing Method)
50
Karena itu, akar terletak pada interval antara x = 0,5 dan 1,0. Batas bawah didefinisikan lagi sebagai xl = 0,5 dan taksiran akar untuk iterasi kedua dihitung sebagai: xr =
0,5 + 1,0 = 0,75 2
|∈t| = 32,2%
Proses dapat dilanjutkan lagi untuk memperhalus taksiran, misal untuk iterasi ketiga: f(0,5) f(0,75) = -0,030 < 0 Karenanya akar terletak diantara 0,5 dan 0,75: xu = 0,75 xr =
0,5 + 0,75 = 0,625 2
|∈t | = 10,2%
Gambar 4.5 Grafik metode Bagidua. Gambar ini sesuai dengan 3 iterasi pertama dari contoh 4.3 di atas.
Dan iterasi keempatnya f(0,5) f(0,625) = -0,010 < 0 Karenanya akar terletak diantara 0,5 dan 0,625: xu = 0,625 xr =
0,5 + 0,625 = 0,5625 2
|∈t | = 0,819% Irfan Subakti – Metode Numerik
Metode Akolade (Bracketing Method)
51
Metode ini dapat diulangi lagi untuk memperoleh taksiran yang lebih halus.
4.2.1 Kriteria Berhenti dan Taksiran Kesalahan Dari contoh sebelumnya, dicoba menentukan saat berhentinya komputasi yang dilakukan. Diasumsikan bahwa kita akan berhenti jika angka kesalahan turun di bawah nilai tertentu, misal 0,1%. Strategi ditempuh karena taksiran kesalahan dalam contoh dihitung setelah sebelumnya kita sudah mengetahui akar sesungguhnya dari fungsi itu. Ini bukanlah merupakan realitas yang gampang ditemui, karenanya tak ada gunanya pemakaian metode ini jika akarnya telah kita ketahui. Maka diperlukan suatu taksiran kesalahan dimana kita tak tahu mengenai akar sebelumnya. Sehingga kesalahan relatif aproksimasinya adalah:
|∈a| =
x r baru − x r lama x r baru
100%
[4.2]
Dimana xrbaru adalah akar dari iterasi sekarang dan xrlama adalah akar dari iterasi sebelumnya. Harga absolut dipakai karena kita biasanya cenderung memakai besarnya ∈a ketimbang tandanya. Bila |∈a | lebih kecil daripada suatu angka tertentu (∈s), maka komputasi dihentikan. Pada contoh 4.3 sebelumnya, dengan menggunakan rumus [4.2], didapat hasil-hasil seperti tabel 4.2 di bawah ini.
Tabel 4.2 Hasil Perhitungan contoh 4.3 dengan menggunakan persamaan [4.2]
Iterasi 1 2 3 4 5
xr 0,5 0,75 0,625 0,5625 0,59375
|∈t|% 11,8 32,2 10,2 0,819 4,69
|∈a|% 33,3 20,0 11,1 5,3
∈a tak memberikan taksiran pasti dari kesalahan sebenarnya, gambar di atas menyarankan secara umum bahwa ∈a cenderung ke arah bawah ∈t. Juga ∈a selalu lebih besar dari ∈t.
Irfan Subakti – Metode Numerik
Metode Akolade (Bracketing Method)
52
Jadi bila ∈a jatuh di bawah ∈s, komputasi dihentikan dengan keyakinan bahwa akar telah diketahui sekurang-kurangnya sama telitinya dengan tingkat penentuan awal yang dapat diterima.
Gambar 4.7 Kesalahan untuk metode Bagidua. ∈t dan taksiran digambar terhadap jumlah iterasi.
Dari gambar 4.7 di atas juga terlihat bahwa bentuk kurvanya tidak rata pada ∈t. Ini disebabkan dalam Bagidua, akar sebenarnya dapat terletak dimana saja dalam interval Akolade. ∈t dan aproksimasi akan berdekatan jika interval terpusat pada akar sebenarnya, dan jauh terpisah jika akar sebenarnya jatuh di salah satu ujung interval.
Gambar 4.8 Tiga cara dimana interval dapat mengurung akar
Pada gambar 4.8 diatas terlihat: (a) harga sebenarnya terletak di pusat interval. (b) dan (c) harga sebenarnya terletak di dekat ekstrim. Perhatikan bahwa ketidakcocokan diantara
Irfan Subakti – Metode Numerik
Metode Akolade (Bracketing Method)
53
harga sebenarnya dan titik tengah interval tak pernah melebihi separuh panjang interval atau ∆x/2.
Gambar 4.9. Penjelasan grafik mengapa taksiran kesalahan untuk Bagidua
Pada gambar 4.9 di atas terlihat grafik yang menjelaskan mengapa Bagidua (∆x/2) ekuivalen terhadap taksiran akar untuk iterasi sekarang (xrnew) dikurangi taksiran akar untuk iterasi sebelumnya (xrold). Terdapat kesimpulan umum sementara, bahwa ∈a selalu lebih besar dari ∈t. Setiap kali suatu akar aproksimasi dapat ditempatkan dengan menggunakan Bagidua xr = (xl + xu) / 2, diketahui bahwa akar sebenarnya terletak pada suatu tempat di dalam interval (xu – xl) / 2 = ∆x/2. Karenanya akar harus terletak di dalam ± ∆x/2 dari taksiran kita. ∆x/2 = xrnew –xrold
4.3 Metode Regula Falsi (False Position) Disebut juga metode interpolasi linier. x r = xu -
f (x u )( x l − x u ) f (x l ) − f (x u )
Penjelasan grafiknya dapat dilihat pada gambar 4.10 di bawah ini. Segitiga serupa yang digunakan untuk menurunkan rumus buat metode tersebut adalah yang diarsir.
Irfan Subakti – Metode Numerik
Metode Akolade (Bracketing Method)
54
Gambar 4.10 Penjelasan grafik dari metode Regula Falsi
Contoh 4.4 Regula Falsi Gunakan Regula Falsi untuk menentukan akar dari f(x) = e-x - x. Akar sesungguhnya 0,56714329. xl = 0 dan xu = 1.
Iterasi pertama xl = 0
f(xl) = 1
xu = 1
f(xu) = -0,63212
xr = 1 -
−0,63212(0 − 1) 1 − (−0,63212)
|∈t| =
= 0,6127
0,56714329 − 0,6127 100% = 8% 0,56714329
Iterasi kedua f(xl) f(xr) = -0,0708
akar pada subinterval I. xr ada di batas atas berikutnya
xl = 0
f(xl) = 1
xu = 0,6127
f(xu) = -0,0708
Irfan Subakti – Metode Numerik
Metode Akolade (Bracketing Method)
55
xr = 0,6127 -
−0,0708(0 − 0,6127) 1 − (−0,0708)
= 0,57219
|∈t| = 0,89% |∈a| =
0,57219 − 0,6127 100% = 7,08% 0,57219
Dst. Kesalahan untuk Regula Falsi berkurang lebih cepat daripada Bagidua disebabkan rancangan yang lebih efisien untuk penempatan akar dalam Regula Falsi. Pada gambar 4. 11 di bawah ini disajikan perbandingan ∈t pada metode Bagidua dan Regula Falsi untuk f(x) = e-x – x.
Gambar 4.11 Perbandingan ∈t pada metode Bagidua dan Regula Falsi untuk f(x) = e-x – x
Pada Bagidua, interval antara xl dan xu muncul semakin kecil selama komputasi. Interval, ∆x/2 = |xu – xl| / 2, merupakan ukuran error untuk pendekatan ini. Pada Bagidua, hal di atas tak terjadi, karena salah satu tebakan awal kondisinya tetap selama komputasi, sedangkan tebakan lainnya konvergen terhadap akar. Pada contoh 4.4 di atas, xl tetap pada 0, sedangkan xu konvergen terhadap akar. Didapat, interval tak mengkerut, tapi agak mendekati suatu harga konstan.
Irfan Subakti – Metode Numerik
Metode Akolade (Bracketing Method)
56
4.3.1 Jebakan pada Metode Regula Falsi Contoh 4.5 Bagidua lebih baik dari Regula Falsi Gunakan Bagidua dan Regula Falsi untuk menempatkan akar di antara x = 0 dan 1,3 untuk: f(x) = x10 – 1. Dengan Bagidua, didapatkan hasil seperti terlihat pada tabel 4.3 di bawah ini.
Tabel 4.3 Hasil Perhitungan dengan metode Bagidua
Iterasi 1 2 3 4 5
xl 0 0,65 0,975 0,975 0,975
xu 1,3 1,3 1,3 1,1375 1,05625
xr 0,65 0,975 1,1375 1,05625 1,015625
|∈t|% 35 2,5 13,8 5,6 1,6
|∈a|% 33,3 14,3 7,7 4,0
Setelah 5 iterasi, ∈t < 2%. Kemudian dengan Regula Falsi, didapatkan hasil seperti terlihat pada tabel 4.4 di bawahi ini.
Tabel 4.4 Hasil Perhitungan dengan metode Regula Falsi
Iterasi 1 2 3 4 5
xl 0 0,09430 0,18176 0,26287 0,33811
xu 1,3 1,3 1,3 1,3 1,3
xr 0,09430 0,18176 0,26287 0,33811 0,40788
|∈t|% 90,6 81,8 73,7 66,2 59,2
|∈a|% 48,1 30,9 22,3 17,1
Setelah 5 iterasi, ∈t < 60%. Juga |∈a| < |∈t| Ternyata dengan Regula Falsi, ∈a ternyata meleset. Lebih jelas terlihat dalam grafik:
Irfan Subakti – Metode Numerik
Metode Akolade (Bracketing Method)
57
Gambar 4.12 Grafik dari f(x) = x10 – 1, menunjukkan konvergensi metode Regula Falsi yang lambat.
Terlihat, kurva menyalahi perjanjian yang mendasar Regula Falsi, yakni jika f(xl) lebih mendekati 0 dibanding f(xu), sehingga akan lebih dekat ke xl daripada ke xu (lihat gambar 4.10). Karena bentuk fungsi yang sekarang, kebalikannya tentu juga benar. Yang harus dilakukan adalah memasukkan taksiran akar ke dalam persamaan semula dan ditentukan apakah hasil itu mendekati nol. Pengecekan semacam ini juga harus dilakukan pada program komputer untuk penempatan akar.
4.4 Incremental Searches dan Penentuan Tebakan Awal Semua kemungkinan penempatan akar harus diperiksa. Incremental search (pencarian inkremental) diikutsertakan pada saat memulai pemrograman komputer. Dimulai pada ujung daerah yang diinginkan, lalu membuat evaluasi fungsi dengan kenaikan (inkremen) kecil di sepanjang daerah tersebut. Jika tanda fungsi berubah, harus dianggap bahwa suatu akar ada dalam kenaikan itu. Harga x pada saat permulaan dan akhir dari inkremen dapat memberikan tebakan awal bagi salah satu teknik Akolade yang sudah dibahas.
Irfan Subakti – Metode Numerik
Metode Akolade (Bracketing Method)
58
Gambar 4.13 Kasus-kasus dimana akar-akar dapat hilang karena panjang inkremen dari prosedur pencarian terlalu besar
Pada gambar 4.13 juga dapat kita amati bahwa akar terakhir adalah ganda dan akan dihilangkan tanpa memandang panjang inkremen. Masalah yang ada yaitu panjang inkremen. Jika terlalu kecil, pencarian akan menghabiskan waktu, jika terlalu besar mungkin saja akar-akar yang terpisah secara berdekatan akan hilang. Terdapat juga masalah yaitu adanya kemungkinan akar ganda. Untuk akar ganda, sedikit bantuan yang bisa diterapkan adalah dengan mencari turunan pertama fungsi (f’(x)), pada awal dan akhir setiap interval. Jika turunan ini berubah tanda, maka suatu minimal atau maksimal telah terjadi, dan interval harus diperiksa lebih dekat untuk mendapatkan kemungkinan adanya akar disitu.
Irfan Subakti – Metode Numerik
Metode Terbuka
59
Bab 5 Metode Terbuka
Akar dalam metode Akolade selalu dikurungi oleh batas bawah dan batas atas. Metode Akolade selalu konvergen, yaitu makin lama makin mendekati nilai sesungguhnya. Dalam metode Terbuka, pencarian dimulai dari harga tunggal x, atau 2 harga yang tak perlu mengurungi akar. Metode Terbuka bisa divergen (semakin lama menjauhi nilai sebenarnya) atau konvergen, tapi kalau konvergen biasanya lebih cepat kelajuannya bila dibandingkan dengan metode Akolade. Pada gambar 5.1 di bawah ini terlihat bahwa pada (a) yaitu metode Bagidua, akar dibatasi dalam interval yang ditentukan oleh xl dan xu. Pada metode Terbuka (b) dan (c), suatu formula dipakai untuk memproyeksikan xi ke xi+1 dalam bentuk iteratif. Jadi metode dapat divergen (b) atau konvergen (c) secara cepat, tergantung pada harga tebakan awal.
Gambar 5.1. Penjelasan grafik mengenai perbedaan fundamental antara metode Akolade (a), dan metode Terbuka (b) dan (c) untuk menempatkan akar.
Irfan Subakti – Metode Numerik
Metode Terbuka
60
5.1 Iterasi Satu Titik Sederhana Mengatur kembali fungsi f(x) = 0 sedemikian sehingga x berada pada ruas kiri persamaan: x = g(x)
[5.1]
Transformasi ini dapat dilakukan dengan manipulasi aljabar atau penambahan sederhana x ke kedua ruas persamaan. Misal: x2 – 2x + 3 = 0
2x = x2 + 3 x=
x2 +3 2
(dengan manipulasi aljabar)
sin x = 0 akan dimasukkan dalam bentuk persamaan [5.1] dengan menambahkan x pada kedua ruas: x = sin x + x
(dengan penambahan sederhana x)
Persamaan [5.1] dapat memperkirakan sebuah harga x, sebagai fungsi dari x. Jadi dengan adanya tebakan awal xi, dapat dihitung suatu taksiran baru xi+1 yang dapat dinyatakan: xi+1 = g (xi)
[5.2]
Seperti rumus iterasi lain, maka kesalahan aproksimasinya: |∈a| =
x i +1 − x i x i +1
100%
Contoh 5.1 Iterasi satu titik sederhana Gunakan iterasi satu titik sederhana untuk menempatkan akar dari f(x) = e-x – x. Solusi. Fungsi dapat dipisahkan secara langsung dan dinyatakan dalam bentuk persamaan [5.2] sebagai xi+1 = e − xi . Dimulai dari tebakan awal x0 = 0. Maka didapat hasil seperti diperlihat pada tabel 5.1 di bawah ini.
Irfan Subakti – Metode Numerik
Metode Terbuka
61 Tabel 5.1 Hasil Perhitungan dengan metode Iterasi satu titik sederhana
Iterasi 0 1 2 3 4 5 6 7 8 9 10
xi 0 1,000000 0,367879 0,692201 0,500473 0,606244 0,545396 0,579612 0,560115 0,571143 0,564879
|∈t|% 100 76,3 35,1 22,1 11,8 6,89 3,83 2,20 1,24 0,705 0,399
|∈a|% 100,0 171,8 46,9 38,3 17,4 11,2 5,90 3,48 1,93 1,11
5.1.1 Konvergensi Dari tabel di atas, terlihat bahwa ∈a untuk setiap iterasi dari contoh 5.1 secara kasar sebanding (oleh suatu faktor kira-kira 0,5 hingga 0,6) dengan kesalahan dari iterasi sebelumnya. Hal itu disebut dengan konvergensi linier, merupakan sifat iterasi satu titik. Kelajuan konvergensi diatas, membuat kita ingin mengetahui juga “kemungkinan” konvergensi. Fungsi ini digambarkan lagi seperti gambar 5.2a di bawah ini.
Irfan Subakti – Metode Numerik
Metode Terbuka
62
Gambar 5.2 Dua metode grafik alternatif untuk menentukan akar dari f(x) = e-x – x
Pada gambar 5.2 di atas terlihat bahwa (a) Akar berada pada titik dimana ia memotong sumbu x; (b) akar pada perpotongan dari fungsi-fungsi komponen. Suatu pendekatan grafik alternatif ialah memisahkan persamaan f(x) = 0 menjadi 2 bagian komponen seperti dalam: f1(x) = f2(x) Kemudian kedua persamaan: y1 = f1(x)
[5.3]
y2 = f2(x)
[5.4]
dan
Dapat digambarkan secara terpisah (gambar 5.2b). Harga-harga x yang bersesuaian dengan perpotongan kedua fungsi dinyatakan oleh akar f(x) = 0. Irfan Subakti – Metode Numerik
Metode Terbuka
63
5.1.2 Metode Grafik 2 Kurva Contoh 5.2 Metode grafik 2 kurva Pernyataan masalah: pisahkan persamaan e-x – x = 0 menjadi 2 bagian dan tentukan akarnya secara grafik. Solusi: tuliskan kembali persamaan sebagai y1 = x dan y2 = e-x. Didapat perhitungan yang disajikan pada tabel 5.2 di bawah ini.
Tabel 5.2 Hasil Perhitungan dengan metode grafik 2 kurva
x 0,0 0,2 0,4 0,6 0,8 1,0
y1 0,0 0,2 0,4 0,6 0,8 1,0
y2 1,000 0,819 0,670 0,549 0,449 0,368
Titik-titik ini telah digambarkan pada gambar 5.2b. Perpotongan dari kedua kurva tampak pada taksiran akar x = 0,57 yang bersesuaian dengan titik dimana kurva tunggal dalam gambar 5.2a memotong sumbu x. Metode 2 kurva sekarang dapat digunakan untuk melukiskan konsep konvergensi dan divergensi dari metode iterasi 1 titik, seperti gambar 5.3 di bawah ini.
Irfan Subakti – Metode Numerik
Metode Terbuka
64
Gambar 5.3 Penjelasan grafik mengenai konvergensi (a) dan (b), serta divergensi (c) dan (d) dari iterasi 1 titik sederhana.
Pada gambar 5.3 di atas grafik (a) dan (c) dinamakan pola monoton, sedangkan (b) dan (d) dinamakan osilasi atau pola spiral. Perhatikan bahwa konvergensi terjadi bila |g’(x)| < 1.
5.2 Metode Newton-Raphson xi+1 = xi -
f (x i ) f ' (x i )
[5.5]
Pada gambar 5.4 di bawah ini akan digambarkan penjelasan grafik mengenai metode Newton-Raphson. Pada gambar tersebut garis singgung terhadap fungsi pada xi [yakni f’(xi)] diekstrapolasikan ke bawah terhadap sumbu x untuk memberikan sebuah taksiran akar pada xi+1.
Irfan Subakti – Metode Numerik
Metode Terbuka
65
Gambar 5.4 Penjelasan grafik dari metode Newton-Raphson
Contoh 5.3. Metode Newton-Raphson (NR) Pernyataan masalah: gunakan NR untuk menaksir akar dari e-x – x dengan x0 = 0. Solusi Turunan pertama dari fungsi adalah: f’(x) = -e-x-1 Yang dapat disubstitusikan ke dalam persamaan [5.5]: xi+1 = xi -
e −x i − x i − e −x i − 1
Dimulai dari tebakan awal x0 = 0, didapatkan hasil seperti disajikan pada tabel 5.3 di bawah ini. Tabel 5.3 Hasil Perhitungan dengan metode Newton-Raphson
Iterasi, i 0 1 2 3 4
xi 0 0,500000000 0,566311003 0,567143165 0,567143290
|∈t|% 100 11,8 0,147 0,0000220