Kata Pengantar... Daftar Isi... Daftar Padan Kata...
|
|
|
- Dewi Kartawijaya
- 8 tahun lalu
- Tontonan:
Transkripsi
1 Daftar Isi Kata Pengantar... Daftar Isi... Daftar Padan Kata... iii v i. Metode Numerik Secara Umum.... Metode Analitik versus Metode Numerik Metode Numerik dalam Bidang Rekayasa Apakah Metode Numerik Hanya untuk Persoalan Matematika yang Rumit Saja? Peranan Komputer dalam Metode Numerik Mengapa Kita Harus Mempelajari Metode Numerik? Tahap-tahap Memecahkan Persoalan Secara Numerik....7 Peran Ahli Informatika dalam Metode Numerik....8 Perbedaan Metode Numerik dengan Analisis Numerik....9 Materi Apa yang Terdapat di dalam Buku Ini?.... Deret Taylor Dan Analisis Galat Deret Taylor Analisis Galat....3 Sumber Utama Galat Numerik Galat Pemotongan Galat Pembulatan Galat Total Orde Penghampiran... 8 Daftar Isi v
2 .5 Bilangan Titik-Kambang Bilangan Titik-Kambang Ternormalisasi Epsilon Mesin Pembulatan pada Bilangan Titik-Kambang Aritmetika Bilangan Titik-Kambang Operasi Penambahan dan Pengurangan Operasi Perkalian dan Pembagian Perambatan Galat Kondisi Buruk Bilangan Kondisi Solusi Persamaan Nirlanjar Rumusan Masalah Metode Pencarian Akar Meode Tertutup Metode Bagidua Metode Regula Falsi Metode Terbuka Metode Lelaran Titik-Tetap Metode Newton-Raphson Orde Konvergensi Metode Terbuka Metode Secant Akar Ganda Akar-akar Polinom Metode Horner untuk Evaluasi Polinom Pencarian Akar-akar Polinom Lokasi Akar Polinom Sistem Persamaan Nirlanjar Metode Lelaran Titik-Tetap Metode Newton-Raphson Contoh Soal Terapan... vi Metode Numerik
3 4. Solusi Sistem Persamaan Lanjar Bentuk Umum Sistem Persamaan Lanjar Metode Eliminasi Gauss Tata-ancang Pivoting Penskalaan Kemungkinan Solusi SPL Metode Eleminasi Gauss-Jordan Metode Matriks Balikan Metode Dekomposisi LU Pemfaktoran dengan Metode LU Gauss Metode Reduksi Crout Determinan Kondisi Buruk Bilangan Kondisi Matriks Metode Lelaran Untuk Menyelesaikan SPL Metode Lelaran Jacobi Metode Lelaran Gauss-Seidel Contoh Soal Terapan Interpolasi dan Regresi Persoalan Interpolasi Polinom Interpolasi Lanjar Interpolasi Kuadratik Interpolasi Kubik Polinom Lagrange Polinom Newton Keunikan Polinom Interpolasi Galat Intepolasi Polinom Batas Antara Galat Interpolasi Untuk Titik-titik yang Berjarak Sama Taksiran Galat Interpolasi Newton Taksiran Galat Interpolasi Lagrage... Daftar Isi vii
4 5.6 Polinom Newton-Gregory Polinom Newton-Gregory Maju Tabel Sesilih Maju Penurunan Rumus Polinom Newton-Gregory Ma ju Menghitung Batas Galat Interpolasi Polinom Newton-Gregory Maju Taksiran Galat Interpolasi Newton-Gregory Maju Manfaat Tabel Selisih Maju Polinom Interpolasi Newton-Gregory Mundur Ekstrapolasi Interpolasi Dwimatra Contoh Soal Terapan Interpolasi Regresi Regresi Lanjar Pelanjaran Contoh Penerapan Regresi dalam Bidang Rekayasa Integrasi Numerik Terapan Integral dalam Bidang Sains dan Rekayasa Persoalan Integrasi Numerik Metode Pias Kaidah Segiempat Kaidah Trapesium Kaidah Titik Tengah Galat Metode Pias Galat Kaidah Trapesium Galat Kaidah Titik Tengah Metode Newton-Cotes Kaidah Trapesium Kaidah Simpson / Kaidah Simpson 3/ Metode Integrasi Numerik Untuk h yang Berbeda-beda Bentuk Umum Metode Newton-Cotes Singularitas Penggunaan Ekstrapolasi untuk Integrasi Ekstrapolasi Richardson Metode Romberg... 9 viii Metode Numerik
5 6.6.3 Ekstrapolasi Aitken Integral Ganda Kuadratus Gauss Contoh Soal Terapan Turunan Numerik Persoalan Turunan Numerik Tiga Pendekatan dalam Menghitung Turunan Numerik Penurunan Rumus Turunan dengan Deret Taylor Penurunan Rumus Turunan Numerik dengan Polinom Interpolasi Menentukan Orde Galat Program Menghitung Turunan Ringkasan Rumus-rumus Turunan Contoh Perhitungan Turunan Ekstrapolasi Richardson Terapan Turunan Numerik dalam Bidang Pengolahan Citra Solusi Persamaan Diferensial Biasa Kelompok Persamaan Diferensial Terapan Persamaan Diferensial PDB Orde Satu Metode Euler Tafsiran Geometri Metode PDB Analisis Galat Metode Euler Metode Heun ( Perbaikan Metode Euler ) Tafsiran Geometri Metode Heun Galat Metode Heun Perluasan Metode Heun Metode Deret Taylor Orde Metode PDB Metode Runge-Kutta Metode Runge-Kutta Orde Satu Daftar Isi i
6 8.8. Metode Runge-Kutta Orde Dua Metode Runge-Kutta Orde Tiga Metode Runge-Kutta Orde Empat Ekstrapolasi Richardson Metode Banyak-Langkah Metode Adams-Bashforth-Moulton Metode Milne-Simpson Metode Hamming Prosedur Pendahuluan Keidealan Metode Predictor-Corrector Pemilihan Ukuran Langkah yang Optimal Sistem Persamaan Diferensial Persamaan Diferensial Orde Lanjut Ketidakstabilan Metode PDB Contoh Soal Terapan Daftar Pustaka Daftar Padan Metode Numerik
7 Bahasa Inggris Bahasa Indonesia Inggris approimate (v) approimation (n) accurate (adj) array (n) continuous (adj) continuous function (n) derivative (n) discrete (adj) dimension (n) design (art) (v) domain (n) effective (adj) efficient (adj) efficiency (n) engineering engineer error (n) estimate (v) estimation (n) eact (adj) eact solution (n) floating-point numbers (n) generalize (v) generalization (n) iteration (n) interval (n) subinterval (n) linier (adj) loop (n) Indonesia menghampiri hampiran teliti larik menerus, sinambung fungsi menerus turunan farik matra meripta ranah sangkil mangkus kemangkusan rekayasa rekayasawan galat menaksir, pemperkirakan taksiran sejati solusi sejati bilangan titik-kambang merampatkan rampatan lelaran selang upaselang lanjar kalang manipulate (v) multistep (n) mengutak-atik bahu-langkah Daftar Isi i
8 non linier (adj) problem (n) plot (v) round-off (n) rule (n) single-precission numbers (n) double-precission numbers (n) strategy (n) substitute (v) substitution (n) significant figure (digit) (n) subscript (n) stagnant (adj) step (n) strip (n) truncation (n) nirlanjar soal, persoalan, masalah merajah pembualatan aturan bilangan berketelitian tunggal bilangan berketlitian ganda tata-ancang menyulih sulihan angka bena, angka berarti tikalas mandek langkah pias pemotongan ii Metode Numerik
9 Bab Metode Numerik Secara Umum Pengetahuan dimulai dari rasa ingin tahu, kepastian dimulai dengan rasa ragu-ragu, dan filsafat dimulai dengan kedua-duanya. (Jujun S. Suriasumantri) Rasa ingin tahu adalah ibu dari semua ilmu pengetahuan (Anonim) Persoalan yang melibatkan model matematika banyak muncul dalam berbagai disiplin ilmu pengetahuan, seperti dalam bidang fisika, kimia, ekonomi, atau pada persoalan rekayasa (engineering), seperti Teknik Sipil, Teknik Mesin, Elektro, dan sebagainya. Seringkali model matematika tersebut muncul dalam bentuk yang tidak ideal alias rumit. Model matematika yang rumit ini adakalanya tidak dapat diselesaikan dengan metode analitik yang sudah umum untuk mendapatkan solusi sejatinya (eact solution). Yang dimaksud dengan metode analitik adalah metode penyelesaian model matematika dengan rumus-rumus aljabar yang sudah baku (lazim). Sebagai contoh ilustrasi, tinjau sekumpulan persoalan matematik di bawah ini. Bagaimana cara anda menyelesaikannya? (i) Tentukan akar-akar persamaan polinom: = (ii) Tentukan harga yang memenuhi persamaan: e = cos ( + ) 7 65 Bab Metode Numerik secara Umum
10 (iii) Selesaikan sistem persamaaan lanjar (linear):.a - 3b - c + d + 4.8e - 5.5f + g = 8.9a + 3b - c + 6d + 8e - 5f - g = 7 4.6a + 3b - 6c - d + 4e + 6.5f - 3g = 9 3.7a - 3b + 8c - 7d + 4e + 8.4f + 6g = 6.a + 3b + 7c + 6d + e - 7.5f + 8g = 9 5.9a + 3b + c + 9d - 5e - 5f - g =.6a + 3b +.8c + d - 7e +.5f + g = -5 (iv) Tentukan nilai maksimum fungsi tiga matra (dimension): sin( ) + 3 f(,y) = cos 4 + ( y) (.8+ cos( )) + sin(3y - ) - tan( ) y (v) Bila diperoleh tabulasi titik-titik (,y) sebagai berikut (yang dalam hal ini rumus fungsi y = f() tidak diketahui secara eksplisit): y = f() Hitung taksiran nilai y untuk = 3.8! (vi) Berdasarkan titik-titik data pada tabel persoalan (v) di atas, berapa nilai f '(3.5) dan nilai f "(3.5)? (vii) Hitung nilai integral-tentu berikut:.5. ( 7 e 4 4 ( ) + ) d ( + ) (viii) Diberikan persamaan differensial biasa (PDB) dengan nilai awal: Metode Numerik
11 5y " + y't = ln(t + 4) y t + ; y '() =, y() =. Hitung nilai y pada t =.8! Menghadapi soal-soal seperti di atas, anda mungkin menyerah, atau mungkin mengatakan bahwa soal-soal tersebut tidak dapat diselesaikan dengan metode analitik yang biasa anda kenal. Soal (i) misalnya, biasanya untuk polinom derajat orang masih dapat mencari akar-akar polinom dengan rumus abc yang terkenal itu yaitu, = b ± b 4ac a (P..) namun, untuk polinom derajat >, seperti pada soal (i), tidak terdapat rumus aljabar untuk menghitung akar polinom. Yang mungkin kita lakukan adalah dengan memanipulasi polinom, misalnya dengan memfaktorkan (atau menguraikan) polinom tersebut menjadi perkalian beberapa suku. Semakin tinggi derajat polinom, jelas semakin sukar memfaktorkannya. Ada juga beberapa alternatif lain. Yang pertama dengan cara coba-coba seperti metode pembagian sintetis Horner. Dengan metode ini, polinom dibagi dengan sebuah bilangan. Jika sisa pembagiannya nol, maka bilangan tersebut adalah akar polinom. Cara kedua adalah secara grafik, yaitu dengan merajah kurva fungsi di atas kertas grafik, kemudian berdasarkan gambar kurva, kita mengambil tarikan akar secara kasar, yaitu titik poyong kurva dengan sumbu-. Cara ini, selain kaku dan tidak praktis, ketelitian akar yang diperoleh sangat bergantung pada ketelitian penggambaran kurva.. Lagipula, merajah kurva pada kertas grafik hanya terbatas pada fungsi yang dapat digambarkan pada bidang dua matra atau tiga matra. Untuk fungsi dengan peubah lebih besar dari 3 jelas tidak dapat (malah tidak mungkin) kita gambar kurvanya. Soal nomor (ii) masih sejenis dengan soal (i), yaitu menentukan nilai yang memenuhi kedua persamaan. Untuk soal nomor (iii), juga tidak ada rumus yang baku untuk menemukan solusi sistem persamaan lanjar. Apabila sistem persamaannya hanya berupa dua garis lurus dengan dua peubah, kita masih dapat menemukan solusinya (dalam hal ini titik potong kedua garis) dengan menggunakan rumus titik potong dua buah garis atau dengan aturan Cramer. Kita juga dapat menemukan titik potong tersebut dengan menggambar kedua garis pada kertas grafik. Untuk sistem yang terdiri dari tiga buah persamaan lanjar dengan tiga peubah, aturan Cramer masih dapat digunakan untuk memecahkan sistem. Tetapi untuk sistem dengan jumlah persamaan dan jumlah peubah lebih besar dari tiga, tidak ada rumus yang dapat dipakai untuk memecahkannya. Bab Metode Numerik secara Umum 3
12 Pada soal nomor (iv), relatif sukar mencari titik optimum fungsi yang memiliki banyak peubah. Untuk menentukan titik optimum (titik ekstrim fungsi), pertamatama orang harus menentukan turunan fungsi, menjadikan ruas kanannya sama dengan nol, lalu memeriksa jenis titik ekstrimnya. Bila fungsinya cukup rumit dan disusun oleh banyak peubah, menghitung turunan fungsi menjadi pekerjaan yang sukar atau bahkan tidak mungkin dilakukan. Pertanyaan yang agak klasik sering muncul pada soal nomor (v): bagaimana menghitung nilai sebuah fungsi bila rumus fungsinya sendiri tidak diketahui? Kita semua tahu bahwa nilai fungsi diperoleh dengan cara menyulihkan (substitute) harga dari peubahnya ke dalam rumus fungsi. Masalahnya, bagaimana kalau persamaan fungsi tersebut tidak diketahui. Yang tersedia hanyalah beberapa buah data diskrit (discrete) dalam bentuk tabel. Persoalan semacam nomor (v) ini acapkali muncul pada pengamatan fenomena alam, baik berupa eksperimen di laboratorium maupun penelitian di lapangan yang melibatkan beberapa parameter (misalnya suhu, tekanan, waktu, dan sebagainya). Pengamat tidak mengetahui relasi yang menghubungkan parameter-parameter itu. Pengamat hanya dapat mengukur nilai-nilai parameter tersebut dengan menggunakan alat ukur seperti sensor, termometer, barometer, dan sebagainya. Tidak satupun metode analitik yang yang tersedia untuk menyelesaikan persoalan jenis ini. Begitu juga soal nomor (vi) melahirkan pertanyaan yang sama, bagaimana menghitung nilai turunan fungsi bila fungsinya sendiri tidak diketahui?. Pada soal nomor (vii), tidak ada teknik integrasi yang dapat digunakan untuk fungsi yang bentuknya rumit itu. Begitu juga pada soal nomor (viii), tidak terdapat metode persamaan diferensial untuk menyelesaikannya. Dengan kata lain, persoalan (vii) dan (viii) tidak mempunyai solusi analitik.. Metode Analitik versus Metode Numerik Contoh-contoh yang dikemukakan di atas memperlihatkan bahwa kebanyakan persoalan matematika tidak dapat diselesaikan dengan metode analitik. Metode analitik disebut juga metode sejati karena ia memberi kita solusi sejati (eact solution) atau solusi yang sesungguhnya, yaitu solusi yang memiliki galat (error) sama dengan nol! Sayangnya, metode analitik hanya unggul untuk sejumlah persoalan yang terbatas, yaitu persoalan yang memiliki tafsiran geometri sederhana serta bermatra rendah [CHA88]. Padahal persoalan yang muncul dalam dunia nyata seringkali nirlanjar serta melibatkan bentuk dan proses yang rumit. Akibatnya nilai praktis penyelesaian metode analitik menjadi terbatas. 4 Metode Numerik
13 Bila metode analitik tidak dapat lagi diterapkan, maka solusi persoalan sebenarnya masih dapat dicari dengan menggunakan metode numerik. Metode numerik adalah teknik yang digunakan untuk memformulasikan persoalan matematik sehingga dapat dipecahkan dengan operasi perhitungan/aritmetika biasa (tambah, kurang, kali, dan bagi). Metode artinya cara, sedangkan numerik artinya angka. Jadi metode numerik secara harafiah berarti cara berhitung dengan menggunakan angka-angka. Perbedaan utama antara metode numerik dengan metode analitik terletak pada dua hal. Pertama, solusi dengan menggunakan metode numerik selalu berbentuk angka. Bandingkan dengan metode analitik yang biasanya menghasilkan solusi dalam bentuk fungsi matematik yang selanjutnya fungsi mateamtik tersebut dapat dievaluasi untuk menghasilkan nilai dalam bentuk angka. Kedua, dengan metode numerik, kita hanya memperoleh solusi yang menghampiri atau mendekati solusi sejati sehingga solusi numerik dinamakan juga solusi hampiran (approomation) atau solusi pendekatan, namun solusi hampiran dapat dibuat seteliti yang kita inginkan. Solusi hampiran jelas tidak tepat sama dengan solusi sejati, sehingga ada selisih antara keduanya. Selisih inilah yang disebut dengan galat (error). Sebagai contoh ilustrasi penyelesaian dengan metode numerik, pandanglah sebuah persoalan integrasi-tentu berikut I = (4 ) d (P..) Dengan metode analitik, kita dapat menemukan solusi sejatinya dengan mudah. Di dalam kalkulus integral tentu kita mengetahui teknik pengintegralan untuk fungsi sederhana: n a d = a n + n+ + C (P..3) Maka, berdasarkan (P..3), kita dapat melakukan pengintegralan suku-suku dari fungsi integralnya lalu menghitung nilai integral-tentunya sebagai berikut: I = = (4 - ) d = [ 4-3 /3] = = {4() - ()/3} - {4(-) - (-)/3} = /3 Bab Metode Numerik secara Umum 5
14 Perhatikanlah bahwa 4-3 /3 adalah solusi analitik dalam bentuk fungsi matematik, sedangkan /3 adalah nilai numerik integral-tentu yang diperoleh dengan cara mengevaluasi fungsi matematik tersebut untuk batas-batas integrasi = dan = -. y p q r s y = / / Gambar. Integrasi f() = 4 - secara numerik Bandingkan penyelesaian di atas bila persoalan integrasi tersebut diselesaikan dengan metode numerik sebagai berikut. Sekali lagi, di dalam kalkulus integral kita tentu masih ingat bahwa interpretasi geometri integral f() dari = a sampai = b adalah luas daerah yang dibatasi oleh kurva f(), sumbu-, dan garis = a dan = b. Luas daerah tersebut dapat dihampiri dengan cara sebagai berikut. Bagilah daerah integrasi [-, ] atas sejumlah trapesium dengan lebar.5 (Gambar.). Maka, luas daerah integrasi dihampiri dengan luas kempat buah trapesium, atau I p + q + r + s {[f(-) + f(-/)].5/} + {[f(-/) + f()].5/} + {[f() + f(/)].5/} + {[f(/) + f()].5/}.5/ {f(-) + f(-/) + f() + f(/) + f()}.5/ { } 7.5 (P..4) yang merupakan solusi hampiran (tanda artinya kira-kira ) terhadap solusi sejati (/3). Galat solusi hampiran terhadap solusi sejati adalah galat = 7.5 /3 = = Tentu saja kita dapat memperkecil galat ini dengan membuat lebar trapesium yang lebih kecil (yang artinya jumlah trapesium semakin banyak, yang berarti jumlah komputasi semakin banyak). Contoh ini juga memperlihatkan bahwa meskipun solusi dengan metode numerik merupakan hampiran, tetapi hasilnya 6 Metode Numerik
15 dapat dibuat seteliti mungkin dengan mengubah parameter komputasi (pada contoh perhitungan integral di atas, lebar trapesium yang dikurangi).. Metode Numerik dalam Bidang Rekayasa Dalam bidang rekayasa, kebutuhan untuk menemukan solusi persoalan secara praktis adalah jelas. Dari kacamata rekayasawan, masih tampak banyak cara penyelesaian persoalan matematik yang dirasa terlalu sulit atau dalam bentuk yang kurang kongkrit. Penyelesaian analitik yang sering diberikan oleh kaum matematika kurang berguna bagi rekayasawan, karena ia harus dapat mentransformasikan solusi matematika yang sejati ke dalam bentuk berwudud yang biasanya meninggalkan kaidah kesejatiannya [BES97]. Solusi hampiran biasanya sudah memenuhi persyaratan rekayasa dan dapat diterima sebagai solusi. Lagipula, banyak persoalan matematika dalam bidang rekayasa yang hanya dapat dipecahkan secara hampiran. Kadang-kadang dapat pula terjadi bahwa metode analitik hanya menjamin keberadaan (atau hanya mengkarakteristikkan beberapa properti umum) solusi, tetapi tidak memberikan cara menemukan solusi tersebut[kre88]. Bagi rekayasawan, solusi yang diperoleh secara analitik kurang kurang berguna untuk tujuan numerik. Persoalan rekayasa dalam prakteknya tidak selalu membutuhkan solusi dalam bentuk fungsi matematika menerus (continuous). Rekayasawan seringkali menginginkan solusi dalam bentuk numerik, misalnya persoalan integral tentu dan persamaan diferensial. Sebuah contoh dalam termodinamika dikemukakan di bawah ini untuk memperjelas pernyataan ini [KRE88]. Sebuah bola logam dipanaskan sampai pada suhu C. Kemudian, pada saat t =, bola itu dimasukkan ke dalam air yang bersuhu 3 C. Setelah 3 menit, suhu bola berkurang menjadi 7 C. Tentukan suhu bola setelah.78 menit menit. Diketahui tetapan pendinginan bola logam itu adalah.865. Dengan menggunakan hukum pendinginan Newton, laju pendinginan bola setiap detiknya adalah dt/dt = -k(t - 3) yang dalam hal ini k adalah tetapan pendinginan bola logam yang harganya.865. Bagi matematikawan, untuk menentukan suhu bola pada t =.78 menit, persamaan diferensial tersebut harus diselesaikan terlebih dahulu agar suhu T sebagai fungsi dari waktu t ditemukan. Persamaan diferensial ini dapat diselesaikan dengan metode kalkulus diferensial. Solusi umumnya adalah T(t) = ce -kt + 3 Bab Metode Numerik secara Umum 7
16 Nilai awal yang diberikan adalah T()=. Dengan menggunakan nilai awal ini, solusi khusus persamaan diferensial adalah T(t) = 7e t + 3 Dengan menyulihkan t =.78 ke dalam persamaan T, diperoleh T(.78) = 7e = 3 C. Jadi, suhu bola setelah.78 menit adalah 3 C. Bagi rekayasawan, solusi persamaan diferensial yang berbentuk fungsi menerus ini tidak terlalu penting (bahkan beberapa persamaan diferensial tidak dapat dicari solusi khususnya karena memang tidak ada teknik yang baku untuk menyelesaikannya). Dalam praktek di lapangan, seringkali para rekayasawan hanya ingin mengetahui berapa suhu bola logam setelah t tertentu misalnya setelah 3 menit tanpa perlu mencari solusi khususnya dalam bentuk fungsi terlebih dahulu. Rekayasawan cukup memodelkan sistem ke dalam persamaan diferensial, lalu solusi untuk t tertentu dicari secara numerik..3 Apakah Metode Numerik Hanya untuk Persoalan Matematika yang Rumit Saja? Tentu saja tidak! Anda jangan berpikiran bahwa metode numerik hanya dapat menyelesaikan persoalan rumit saja. Metode numerik berlaku umum, yakni ia dapat diterapkan untuk menyelesaikan persoalan matematika sederhana (yang juga dapat diselesaikan dengan metode analitik) maupun persoalan matematika yang tergolong rumit (yang metode analitik pun belum tentu dapat menyelesaikannya). Sebagai contoh, dengan metode numerik kita dapat menghitung integral π + cos ( ) d sama mudahnya menghitung d 8 Metode Numerik
17 .4 Peranan Komputer dalam Metode Numerik Komputer berperan besar dalam perkembangan bidang metode numerik. Hal ini mudah dimengerti karena perhitungan dengan metode numerik adalah berupa operasi aritmetika seperti penjumlahan, perkalian, pembagian, plus membuat perbandingan. Sayangnya, jumlah operasi aritmetika ini umumnya sangat banyak dan berulang, sehingga perhitungan secara manual sering menjemukan. Manusia (yang melakukan perhitungan manual ini) dapat membuat kesalahan dalam melakukannya. Dalam hal ini, komputer berperanan mempercepat proses perhitungan tanpa membuat kesalahan. Penggunaan komputer dalam metode numerik antara lain untuk memprogram. Langkah-langkah metode numerik diformulasikan menjadi program komputer. Program ditulis dengan bahasa pemrograman tertentu, seperti FORTRAN, PASCAL, C, C++, BASIC, dan sebagainya. Sebenarnya, menulis program numerik tidak selalu diperlukan. Di pasaran terdapat banyak program aplikasi komersil yang langsung dapat digunakan. Beberapa contoh aplikasi yang ada saat ini adalah MathLab, MathCad, Maple, Mathematica, Eureka, dan sebagainya. Selain itu, terdapat juga library yang berisi rutin-rutin yang siap digabung dengan program utama yang ditulis pengguna, misalnya IMSL (International Mathematical and Statistical Library) Math/Library yang berisi ratusan rutin-rutin metode numerik. Selain mempercepat perhitungan numerik, dengan komputer kita dapat mencoba berbagai kemungkinan solusi yang terjadi akibat perubahan beberapa parameter. Solusi yang diperoleh juga dapat ditingkatkan ketelitiannya dengan mengubahubah nilai parameter. Kemajuan komputer digital telah membuat bidang metode numerik berkembang secara dramatis. Tidak ada bidang matematika lain yang mengalami kemajuan penting secepat metode numerik. Tentu saja alasan utama penyebab kemajuan ini adalah perkembangan komputer itu sendiri, dari komputer mikro sampai komputer Cray, dan kita melihat perkembangan teknologi komputer tidak pernah berakhir. Tiap generasi baru komputer menghadirkan keunggulan seperti waktu, memori, ketelitian, dan kestabilan perhitungan. Hal ini membuat ruang penelitian semakin terbuka luas. Tujuan utama penelitian itu adalah pengembangan algoritma numerik yang lebih baik dengan memanfaatkan keunggulan komputer semaksimal Bab Metode Numerik secara Umum 9
18 mungkin. Banyak algoritma baru lahir atau perbaikan algoritma yang lama didukung oleh komputer. Bagian mendasar dari perhitungan rekayasa yang dilakukan saat ini adalah perhitungan "waktu nyata" (real time computing), yaitu perhitungan keluaran (hasil) dari data yang diberikan dilakukan secara simultan dengan event pembangkitan data tersebut, sebagaimana yang dibutuhkan dalam mengendalikan proses kimia atau reaksi nuklir, memandu pesawat udara atau roket dan sebagainya [KRE88]. Karena itu, kecepatan perhitungan dan kebutuhan memori komputer adalah pertimbangan yang sangat penting. Jelaslah bahwa kecepatan tinggi, keandalan, dan fleksibilitas komputer memberikan akses untuk penyelesaian masalah praktek. Sebagai contoh, solusi sistem persamaan lanjar yang besar menjadi lebih mudah dan lebih cepat diselesaikan dengan komputer. Perkembangan yang cepat dalam metode numerik antara lain ialah penemuan metode baru, modifikasi metode yang sudah ada agar lebih mangkus, analisis teoritis dan praktis algoritma untuk proses perhitungan baku, pengkajian galat, dan penghilangan jebakan yang ada pada metode [KRE88]..5 Mengapa Kita Harus Mempelajari Metode Numerik? Seperti sudah disebutkan pada bagian awal bab ini, para rekayasawan dan para ahli ilmu alam, dalam pekerjaannya sering berhadapan dengan persamaan matematik. Persoalan yang muncul di lapangan diformulasikan ke dalam model yang berbentuk persamaan matematika. Persamaan tersebut mungkin sangat kompleks atau jumlahnya lebih dari satu. Metode numerik, dengan bantuan komputer, memberkan cara penyelesaian persoalan matematika dengan cepat dan akurat. Terdapat beberapa alasan tambahan mengapa kita harus mempelajari metode numerik [CHA9]:. Metode numerik merupakan alat bantu pemecahan masalah matematika yang sangat ampuh. Metode numerik mampu menangani sistem persamaan besar, kenirlanjaran, dan geometri yang rumit yang dalam praktek rekayasa seringkali tidak mungkin dipecahkan secara analitik.. Seperti sudah disebutkan pada upapab.4, di pasaran banyak tersedia program aplikasi numerik komersil. Penggunaan aplikasi tersebut menjadi lebih berarti Metode Numerik
19 bila kita memiliki pengetahuan metode numerik agar kita dapat memahami cara paket tersebut menyelesaikan persoalan. 3. Kita dapat membuat sendiri program komputer tanpa harus membeli paket programnya. Seringkali beberapa persoalan matematika yang tidak selalu dapat diselesaikan oleh program aplikasi. Sebagai contoh, misalkan ada program aplikasi tertentu yang tidak dapat dipakai untuk menghitung integrasi lipat dua,, atau lipat tiga,. Mau tidak mau, kita harus menulis sendiri programnya. Untuk itu, kita harus mempelajari cara pemecahan integral lipat dua atau lebih dengan metode numerik. 4. Metode numerik menyediakan sarana untuk memperkuat kembali pemahaman matematika. Karena, metode numerik ditemukan dengan menyederhanakan matematika yang lebih tinggi menjadi operasi matematika yang mendasar..6 Tahap-Tahap Memecahkan Persoalan Secara Numerik Ada enam tahap yang dilakukan dakam pemecahan persoalan dunia nyata dengan metode numerik, yaitu. Pemodelan Ini adalah tahap pertama. Persoalan dunia nyata dimodelkan ke dalam persamaan matematika (lihat contoh ilustrasi pada upabab.). Penyederhanaan model Model matematika yang dihasilkan dari tahap mungkin saja terlalu kompleks, yaitu memasukkan banyak peubah (variable) atau parameter. Semakin kompleks model matematikanya, semakin rumit penyelesaiannya. Mungkin beberapa andaian dibuat sehingga beberapa parameter dapat diabaikan. Contohnya, faktor gesekan udara diabaikan sehingga koefisian gesekan di dalam model dapat dibuang. Model matematika yang diperoleh dari penyederhanaan menjadi lebih sederhana sehingga solusinya akan lebih mudah diperoleh. 3. Formulasi numerik Setelah model matematika yang sederhana diperoleh, tahap selanjutnya adalah memformulasikannya secara numerik, antara lain: a. menentukan metode numerik yang akan dipakai bersama-sama dengan analisis galat awal (yaitu taksiran galat, penentuan ukuran langkah, dan sebagainya). Bab Metode Numerik secara Umum
20 Pemilihan metode didasari pada pertimbangan: - apakah metode tersebut teliti? - apakah metode tersebut mudah diprogram dan waktu pelaksanaannya cepat? - apakah metode tersebut tidak peka terhadap perubahan data yang cukup kecil? b. menyusun algoritma dari metode numerik yang dipilih. 4. Pemrograman Tahap selanjutnya adalah menerjemahkan algoritma ke dalam program komputer dengan menggunakan salah satu bahasa pemrograman yang dikuasai. 5. Operasional Pada tahap ini, program komputer dijalankan dengan data uji coba sebelum data yang sesungguhnya. 6. Evaluasi Bila program sudah selesai dijalankan dengan data yang sesungguhnya, maka hasil yang diperoleh diinterpretasi. Interpretasi meliputi analisis hasil run dan membandingkannya dengan prinsip dasar dan hasil-hasil empirik untuk menaksir kualitas solusi numerik, dan keputusan untuk menjalankan kembali program dengan untuk memperoleh hasil yang lebih baik..7 Peran Ahli Informatika dalam Metode Numerik Dari tahap-tahap pemecahan yang dikemukan di atas, tahap dan melibatkan para pakar di bidang persoalan yang bersangkutan. Kalau persoalannya dalam bidang eknik Sipil, maka orang dari bidang Sipil-lah yang menurunkan model matematikanya. Kalau persoalannya menyangkut bidang Teknik Kimia (TK), maka ahli Teknik Kimia-lah yang mempunyai kemmapuan membentuk model matematikanya. Dimanakah peran orang Informatika? Orang Informatika baru berperan pada tahap 3 dan 4, dan 5. Tetapi, agar lebih memahami dan menghayati persoalan, sebaiknya orang Informatika juga ikut dilibatkan dalam memodelkan, namun perannya hanyalah sebagai pendengar. Metode Numerik
21 Tahap 6 memerlukan kerjasama informatikawan dengan pakar bidang bersangkutan. Bersama-sama dengan pakar, informatikawan mendiskusikan hasil numerik yang diperoleh, apakah hasil tersebut sudah dapat diterima, apakah perlu dilakukan perubahan parameter, dsb..8 Perbedaan Metode Numerik dengan Analisis Numerik Untuk persoalan tertentu tidaklah cukup kita hanya menggunakan metode untuk memperoleh hasil yang diinginkan; kita juga perlu mengetahui apakah metode tersebut memang memberikan solusi hampiran, dan seberapa bagus hampiran itu [BUC9]. Hal ini melahirkan kajian baru, yaitu analisis numerik. Metode numerik dan analisis numerik adalah dua hal yang berbeda. Metode adalah algoritma, menyangkut langkah-langkah penyelesaian persoalan secara numerik, sedangkan analisis numerik adalah terapan matematika untuk menganalisis metode [NOB7]. Dalam analisis numerik, hal utama yang ditekankan adalah analisis galat dan kecepatan konvergensi sebuah metode. Teorema-teorema matematika banyak dipakai dalam menganalisis suatu metode. Di dalam buku ini, kita akan memasukkan beberapa materi analisis numerik seperti galat metode dan kekonvergenan metode. Tugas para analis numerik ialah mengembangkan dan menganalisis metode numerik. Termasuk di dalamnya pembuktian apakah suatu metode konvergen, dan menganalisis batas-batas galat solusi numerik.terdapat banyak sumber galat, diantaranya tingkat ketelitian model matematika, sistem aritmetik komputer, dan kondisi yang digunakan untuk menghentikan proses pencarian solusi. Semua ini harus dipertimbangkan untuk menjamin ketelitian solusi akhir yang dihitung..9 Materi Apa yang Terdapat di dalam Buku Ini? Ada enam pokok bahasan yang ditulis di dalam buku ini:. Solusi persamaan nirlanjar.. Solusi sistem persamaan lanjar. 3. Interpolasi polinom. 4. Turunan numerik. 5. Integrasi numerik. 6. Solusi persamaan diferensial biasa dengan nilai awal. Bab Metode Numerik secara Umum 3
22 Ringkasan masing-masing pokok bahasan sampai 6 adalah sebagai berikut:. Solusi persamaan nirlanjar Selesaikan f() = untuk. y y = f() akar. Solusi sistem persamaan lanjar Selesaikan sistem persamaan lanjar a + a = c a + a = c untuk harga-harga dan. 3. Interpolasi polinom Diberikan titik-titik (,y ), (,y ),, ( n,y n ). Tentukan polinom p n () yang melalui semua titik tersebut y y = p n () 4. Turunan numerik Diberikan titik ( i, y i ) dan titik ( i+, y i+ ). Tentukan f '( i ). y i+ y = f() y i h i i+ 4 Metode Numerik
23 5. Integrasi numerik Hitung integral b I = f ( ) d a y b I = f ( ) a y = f() a b 6. Solusi persamaan diferensial biasa dengan nilai awal Diberikan dy/d = f(,y) dan dengan nilai awal y = y( ) Tentukan nilai y( t ) untuk t R y gradien = f( i, y i ) y i i i+ Sebelum menjelaskan keenam pokok bahasan tersebut, kita perlu terlebih dahulu mengerti konsep galat dalam metode numerik. Konsep galat diberikan sebagai topik tersendiri. Perjalanan seribu mil dimulai dari satu langkah (pepatah) Bab Metode Numerik secara Umum 5
24 Bab Deret Taylor dan Analisis Galat Matematik selalu memperlihatkan rasa ingin tahu untuk dapat diterapkan di alam, dan ini dapat mengungkapkan kaitan yang dalam antara pikiran kita dan alam. Kita membicarakan semesta, bagian dari alam. Jadi, tidak mengherankan bahwa sistem logik dan matematika kita bernyanyi seirama dengan alam. (George Zebrowski) Columbus menemukan Amerika melalui kesalahan. (Majalah Intisari) Prasyarat yang diperlukan untuk mempelajari metode numerik adalah matematika. Matematika adalah ilmu dasar, jadi anda diharapkan sudah memiliki pengetahuan mengenai konsep fungsi, geometri, konsep kalkulus seperti turunan dan integral, dan sebagainya. Tidak paham terlalu dalam tidak apa, yang penting anda mengerti. Banyak teorema matematika yang dipakai di sini. Dari sekian banyak teorema tersebut, ada satu teorema yang menjadi kakas (tools) yang sangat penting dalam metode numerik, yaitu teorema deret Taylor. Deret Taylor adalah kakas yang utama untuk menurunkan suatu metode numerik. Pada bagian yang lain, kita akan membahas konsep galat. Seperti sudah dijelaskan di dalam Bab, solusi yang diperoleh secara numerik adalah nilai hampiran dari solusi sejati. Ini berarti terdapat galat (error) pada solusi hampiran tersebut. Bab ini akan menjelaskan konsep galat, cara mengukur galat, penyebab galat, perambatan galat, dan ketidakstabilan perhitungan akibat galat. 6 Metode Numerik
25 . Deret Taylor Kebanyakan dari metode-metode numerik yang diturunkan didasarkan pada penghampiran fungsi ke dalam bentuk polinom. Fungsi yang bentuknya kompleks menjadi lebih sederhana bila dihampiri dengan polinom, karena polinom merupakan bentuk fungsi yang paling mudah dipahami kelakuannya. Kalau perhitungan dengan fungsi yang sesungguhnya menghasilkan solusi sejati, maka perhitungan dengan fungsi hampiran menghasilkan solusi hampiran. Pada bab sudah dikatakan bahwa solusi numerik merupakan pendekatan (hampiran) terhadap solusi sejati, sehingga terdapat galat sebesar selisih antara solusi sejati dengan solusi hampiran. Galat pada solusi numerik harus dihubungkan dengan seberapa teliti polinom menghampiri fungsi sebenarnya. Kakas yang digunakan untuk membuat polinom hampiran adalah deret Taylor. Definisi Deret Taylor Andaikan f dan semua turunannya, f, f, f,..., menerus di dalam selang [a, b]. Misalkan [a, b], maka untuk nilai-nilai di sekitar (Gambar.) dan [a, b], f() dapat diperluas (diekspansi) ke dalam deret Taylor: f() = f( ) + ( ) f '( ) +! ( )! f ( ) ( ) m! m f (m) ( ) +... (P..) Gambar.. Nilai-nilai di sekitar Persamaan (P..) merupakan penjumlahan dari suku-suku (term), yang disebut deret. Perhatikanlah bahwa deret Taylor ini panjangnya tidak berhingga sehingga untuk memudahkan penulisan suku-suku selanjutnya kita menggunakan tanda elipsis (.). Jika dimisalkan - = h, maka f() dapat juga ditulis sebagai 3 h h h h ( m) f ( ) = f ( ) + f '( ) + f "( ) + f '' '( ) +... f ( )!! 3! m! +... (P..) Bab Deret Taylor dan Analisis Galat 7
26 Contoh. Hampiri fungsi f() = sin() ke dalam deret Taylor di sekitar =. Penyelesaian: Kita harus menentukan turunan sin() terlebih dahulu sebagai berikut f() = sin(), f () = cos(), f ) = -sin(), f () = -cos(), f (4) () = sin(), dan seterusnya. Maka, berdasarkan (P..), sin() dihampiri dengan deret Taylor sebagai berikut: ( ) sin( ) = sin() +! cos( ) ( ) +! ( ) ( sin()) + 3! Bila dimisalkan = h, maka, berdasarkan (P..), 3 ( ) ( cos()) + 4! 4 sin() +... sin() = sin() + h cos() - 3 h h sin() h cos() + sin() = h -.48h -.9h h Kasus khusus adalah bila fungsi diperluas di sekitar =, maka deretnya dinamakan deret Maclaurin, yang merupakan deret Taylor baku. Kasus = paling sering muncul dalam praktek. Contoh. Uraikan sin(), e, cos(), dan ln( +) masing-masing ke dalam deret Maclaurin. Penyelesaian: Beberapa turunan sin() sudah dihitung pada Contoh.. Deret Maclaurin dari sin() adalah 3 4 ( ) ( ) ( ) ( ) sin( ) = sin( ) + cos() + ( sin()) + ( cos()) + sin( ) +...!! 3! 4! 3 = ! 5! 5 8 Metode Numerik
27 Untuk menentukan deret Maclaurin dari e, kita harus menentukan turunan e terlebih dahulu sebagai berikut: f() = e, f () = e, f () = e, f () = e, f (4) () = e, dan seterusnya. Deret Maclaurin dari e adalah e 3 4 ( () () ) () ( ) () ( ) () ( ) = e + e + e + e + e!! 3! 4! +... = ! 3! 4! 3 4 Untuk menentukan deret Maclaurin dari cos(), kita harus menentukan turunan cos() terlebih dahulu sebagai berikut: f() = cos(), f () = -sin(), f () = -cos(), f () = sin(), f (4) () = cos(), dan seterusnya. Deret Maclaurin dari cos() adalah = ! 4! 6! 4 6 Untuk menentukan deret Maclaurin dari ln( + ), kita harus menentukan turunan ln( + ) terlebih dahulu sebagai berikut: f() = ln( +), f () = ( + ) -, f () = -( + ) -, f () = ( + ) -3, f (4) () = -6( + ) -4, dan seterusnya. Deret Maclaurin dari ln( + ) adalah 3 4 ( ) ( ) ( ) 3 ( ) 4 ln( + ) = ln( + ) + ( + ) + ( ( + ) ) + ( + ) + ( 6( + ) ) +...!! 3! 4! 3 4 = Karena suku-suku deret Taylor tidak berhingga banyaknya, maka -untuk alasan praktis- deret Taylor dipotong sampai suku orde tertentu. Deret Taylor yang dipotong sampai suku orde ke-n dinamakan deret Taylor terpotong dan dinyatakan oleh: ( ) ( ) ( ) ( n) f ( ) f ( ) + f '( ) + f "( ) f ( ) + Rn( )!! n! (P..3) yang dalam hal ini, n ( n+ ) ( ) ( n+ ) R n () = f ( c) ( n + )!, < c < (P..4) disebut galat atau sisa (residu). Bab Deret Taylor dan Analisis Galat 9
28 Dengan demikian deret Taylor yang dipotong sampai suku orde ke-n dapat ditulis sebagai f() = P n () + R n () (P..5) yang dalam hal ini, n k ( ) ( k ) P n () = f ( ) k! k = ( n+ ) ( ) ( n+ ) R n () = f ( c) ( n + )! (P..6), < c < (P..7) Sebagai contoh, sin() pada Contoh. jika dihampiri dengan deret Taylor orde 4 di sekitar = adalah: ( ) ( ) ( ) ( ) sin( ) = sin() + cos( ) sin() cos( ) + sin() + R4 ( )!! 3! 4! yang dalam hal ini, 5 4 c ( ) R ( ) = cos( ), < c < 5! Deret Taylor terpotong di sekitar = disebut deret Maclaurin terpotong. Berdasarkan Contoh., deret MacLaurin terpotong untuk sin(), e, cos(), dan ln( +) adalah 6 sin() = - 3 /3! + 5 /5! + R 5 () ; R 5 ( ) = cos( c) (sampai suku orde 5) 6! 3 4 e = + + /! + 3 /3! + 4 /4! + R 4 () ; 5 c R4 ( ) = e (sampai suku orde 4) 5! cos() = - /4! + 4 /6! /6! + R 6 () ; R 6 ( ) = cos( c) (sampai suku orde 6) 7! ln(+) = - / + 3 /3-4 /4; 5 5 R 4 ( ) = 4 ( c + ) (sampai suku orde 4) 5! yang dalam hal ini, < c <. Metode Numerik
29 Fungsi pustaka matematika di dalam kalkulator dan compiler bahasa pemrograman dapat menggunakan deret Taylor untuk mengevaluasi nilai-nilai fungsi trigonometri dan fungsi transenden yang tidak dapat dihitung secara langsung. Contoh.3 Hitunglah hampiran nilai cos(.), sudut dinyatakan dalam radian, dengan deret Maclaurin sampai suku orde n = 6. Penyelesaian: Dari hasil pada Contoh., cos(.) -. / +. 4 / /7 = (sampai 7 angka di belakang koma) Program. di bawah ini menghitung nilai hampiran cos(). Setiap suku kita hitung nilainya, jika nilainya lebih kecil dari toleransi (epsilon) yang kita spesifikasikan, maka perhitungan suku berikutnya dapat dihentikan. Program. Program menghitung hampiran nilai cos() function cos(:real):real; {mengembalikan nilai cosinus sampai nilai suatu suku < ε } const epsilon =.; { toleransi nilai tiap suku } { jika nilai suku sudah lebih kecil dari epsilon, perhitungan cos dapat dihentikan } var tanda, n : integer; suku, jumlah : real; (* function pangkat(:real; n:integer):real; { Menghitung nilai n } *) (* function faktorial(n:integer):integer; { Menghitung n! } *) begin suku:=; {suku pertama deret cosinus} tanda:=; {tanda (+/-) suku pertama} n:=; {orde suku pertama} jumlah:=; {jumlah deret cosinus, inisialisasi dengan } while abs(suku) >= epsilon do begin jumlah:=jumlah + suku; {jumlah deret cosinus} n:=n+; {orde suku berikutnya} tanda:=-tanda; {tanda suku berikutnya} Bab Deret Taylor dan Analisis Galat
30 suku:=tanda*pangkat(,n)/faktorial(n); end; { abs(suku) < epsilon } cos:=jumlah; end; Deret Taylor banyak digunakan untuk menurunkan metode-metode numerik. Deret Taylor yang terpotong digunakan sebagai titik awal dalam menurunkan metode. Anda sebaiknya dapat menguasai deret Taylor terlebih dahulu sebagai alat bantu yang penting dalam metode numerik.. Analisis Galat Menganalisis galat sangat penting di dalam perhitungan yang menggunakan metode numerik. Galat berasosiasi dengan seberapa dekat solusi hampiran terhadap solusi sejatinya. Semakin kecil galatnya, semakin teliti solusi numerik yang didapatkan. Kita harus memahami dua hal: (a) bagaimana menghitung galat, dan (b) bagaimana galat timbul. Misalkan â adalah nilai hampiran terhadap nilai sejati a, maka selisih ε = a aˆ (P..8) disebut galat. Sebagai contoh, jika â =.5 adalah nilai hampiran dari a =.45, maka galatnya adalah ε = -.. Jika tanda galat (positif atai negatif) tidak dipertimbangkan, maka galat mutlak dapat didefenisikan sebagai ε = a aˆ (P..9) Sayangnya, ukuran galat ε kurang bermakna sebab ia tidak menceritakan seberapa besar galat itu dibandingkan dengan nilai sejatinya. Sebagai contoh, seorang anak melaporkan panjang sebatang kawat 99 cm, padahal panjang sebenarnya cm. Galatnya adalah - 99 = cm. Anak yang lain melaporkan panjang sebatang pensil 9 cm, padahal panjang sebenarnya cm, sehingga galatnya juga cm. Kedua galat pengukuran sama-sama bernilai cm, namun galat cm pada pengukuran panjang pensil lebih berarti daripada galat cm pada pengukuran panjang kawat. Jika tidak ada informasi mengenai panjang sesungguhnya, kita mungkin menganggap kedua galat tersebut sama saja. Untuk mengatasi interpretasi nilai galat ini, maka galat harus dinormalkan terhadap nilai sejatinya. Gagasan ini melahirkan apa yang dinamakan galat relatif. Metode Numerik
31 Galat relatif didefinisikan sebagai ε ε R = (P..) a atau dalam persentase ε ε = % (P..) a R Karena galat dinormalkan terhadap nilai sejati, maka galat relatif tersebut dinamakan juga galat relatif sejati. Dengan demikian, pengukuran panjang kawat mempunyai galat relatif sejati = / =., sedangkan pengukuran panjang pensil mempunyai galat relatif sejati = / =.. Dalam praktek kita tidak mengetahui nilai sejati a, karena itu galat ε seringkali dinormalkan terhadap solusi hampirannya, sehingga galat relatifnya dinamakan galat relatif hampiran: ε ε RA = (P..) aˆ Contoh.4 Misalkan nilai sejati = /3 dan nilai hampiran = Hitunglah galat, galat mutlak, galat relatif, dan galat relatif hampiran. Penyelesaian: galat = / = /3 3333/ = /3 =.333 galat mutlak =.333 =.333 galat relatif = (/3)/(/3) = / =. galat relatif hampiran = (/3)/3.333 = /9999 Galat relatif hampiran yang dihitung dengan persamaan (P..) masih mengandung kelemahan sebab nilai ε tetap membutuhkan pengetahuan nilai a (dalam praktek kita jarang sekali mengetahui nilai sejati a). Oleh karena itu, perhitungan galat relatif hampiran menggunakan pendekatan lain. Pada perhitungan numerik yang menggunakan pendekatan lelaran (iteration), ε RA dihitung dengan cara a ar ε RA = (P..3) a r+ r+ Bab Deret Taylor dan Analisis Galat 3
32 yang dalam hal ini a r+ adalah nilai hampiran lelaran sekarang dan a r adalah nilai hampiran lelaran sebelumnya. Proses lelaran dihentikan bila ε RA < ε S yang dalam hal ini ε S adalah toleransi galat yang dispesifikasikan. Nilai ε S menentukan ketelitian solusi numerik. Semakin kecil nilai ε S, semakin teliti solusinya, namun semakin banyak proses lelarannya. Contoh.5 mengilustrasikan hal ini. Contoh.5 Misalkan ada prosedur lelaran sebagai berikut r+ = (- r 3 + 3)/6, r =,,, 3,.... Lelaran dihentikan bila kondisi ε RA < ε S, dalam hal ini ε S adalah toleransi galat yang diinginkan. Misalkan dengan memberikan =.5, dan ε S =. kita memperoleh runtunan: =.5 = ; ε RA = ( )/ = > ε S = ; ε RA = ( )/ =.5843 > ε S 3 = ; ε RA = ( 3 )/ 3 =.5984 > ε S 4 =.4849 ; ε RA = ( 4 3 )/ 4 =.693 > ε S 5 = ; ε RA = ( 5 4 )/ 5 =.8 < ε S, berhenti! Pada lelaran ke-5, ε RA < ε S sudah terpenuhi sehingga lelaran dapat dihentikan..3 Sumber Utama Galat Numerik Secara umum terdapat dua sumber utama penyebab galat dalam perhitungan numerik:. Galat pemotongan (truncation error). Galat pembulatan (round-off error) Selain kedua galat ini, masih ada sumber galat lain, antara lain [KRE88]: a. Galat eksperimental, yaitu galat yang timbul dari data yang diberikan, misalnya karena kesalahan pengukuran, ketidaktelitian alat ukur, dan sebagainya b. Galat pemrograman. Galat yang terdapat di dalam program sering dinamakan dengan kutu (bug), dan proses penghilangan galat ini dinamakan penirkutuan (debugging). 4 Metode Numerik
33 Kita tidak akan membicarakan kedua galat terakhir ini karena kontribusinya terhadap galat keseluruhan tidak selalu ada. Akan halnya galat utama, galat pemotongan dan galat pembulatan, keduanya selalu muncul pada solusi numerik. Terhadap kedua galat inilah perhatian kita fokuskan..3. Galat Pemotongan Galat pemotongan mengacu pada galat yang ditimbulkan akibat penggunaan hampiran sebagai pengganti formula eksak. Maksudnya, ekspresi matematik yang lebih kompleks diganti dengan formula yang lebih sederhana. Tipe galat pemotongan bergantung pada metode komputasi yang digunakan untuk penghampiran sehingga kadang-kadaang ia disebut juga galat metode. Misalnya, turunan pertama fungsi f di i dihampiri dengan formula f '( ) i f ( i+ ) h f ( ) i yang dalam hal ini h adalah lebar absis i+ dengan i. Galat yang ditimbulkan dari penghampiran turunan tersebut merupakan galat pemotongan. Istilah pemotongan muncul karena banyak metode numerik yang diperoleh dengan penghampiran fungsi menggunakan deret Taylor. Karena deret Taylor merupakan deret yang tak-berhingga, maka untuk penghampiran tersebut deret Taylor kita hentikan/potong sampai suku orde tertentu saja. Penghentian suatu deret atau runtunan langkah-langkah komputasi yang tidak berhingga menjadi runtunan langkah yang berhingga itulah yang menimbulkan galat pemotongan. Contohnya, hampiran fungsi cos() dengan bantuan deret Taylor di sekitar = : 4 cos( ) ! 44! ! 44 8!! 43 nilai hampiran 6 8 pemotongan galat pemotongan Deret Taylor fungsi cos() sebenarnya tidak berhingga, namun untuk keperluan praktis, deret tersebut kita potong sampai suku orde tertentu, misalnya sampai suku orde n = 6 seperti pada contoh di atas. Kita melihat bahwa menghampiri cos() dengan deret Taylor sampai suku berderajat enam tidak memberikan hasil yang tepat. Galat pada nilai hampiran diakibatkan oleh pemotongan suku-suku deret. Jumlah suku-suku selanjutnya setelah pemotongan merupakan galat pemtongan untuk cos(). Kita tidak dapat menghitung berapa persisnya galat pemtongan ini karena jumlah seluruh suku-suku setelah pemotongan tidak Bab Deret Taylor dan Analisis Galat 5
34 mungkin dapat dihitung. Namun, kita dapat menghampiri galat pemotongan ini dengan rumus suku sisa: ( n+ ) ( ) ( n+ ) R n () = f ( c) ( n + )!, < c < Pada contoh cos() di atas, 7 R 6 ( ) = cos( c), < c < 7! Nilai R n yang tepat hampir tidak pernah dapat kita peroleh, karena kita tidak mengetahui nilai c sebenarnya terkecuali informasi bahwa c terletak pada suatu selang tertentu. Karenanya tugas kita adalah mencari nilai maksimum yang mungkin dari R n untuk c dalam selang yang diberikan itu [PUR84], yaitu: R n () < Ma f ( n+ ) ( ) ( c)! < n c< + n+ Contoh komputasi lain yang menghasilkan galat pemotongan adalah perhitungan dengan menggunakan skema lelaran (lihat Contoh.5). Sayangnya, tidak seperti deret Taylor, galat pemotongan pada perhitungan dengan skema lelaran tidak ada rumusnya. Galat pemotongan pada deret Taylor dapat dikurangi dengan meningkatkan orde suku-sukunya, namun jumlah komputasinya menjadi lebih banyak. Pada metode yang menerapkan skema lelaran, galat pemotongan dapat dikurangi dengan memperbanyak lelaran. Hal ini ditunjukkan pada Contoh.5 dengan memberikan nilai ε S yang sekecil mungkin Contoh.6 [PUR89] Gunakan deret Taylor orde 4 di sekitar = untuk menghampiri ln(.9) dan berikan taksiran untuk galat pemotongan maksimum yang dibuat. Penyelesaian: Tentukan turunan fungsi f() = ln() terlebih dahulu f() = ln() f()= f () = / f ()= f () = -/ f () = - f () = / 3 f () = 6 Metode Numerik
35 f (4) () = -6/ 4 f (4) () =-6 f (5) () = 4/ 5 f (5) (c) = 4/c 5 Deret Taylornya adalah ln() = ( - ) - ( - ) / + ( - ) 3 /3 - ( - ) 4 /4 + R 4 () dan ln(.9) = -. - (-.) / + (-.) 3 /3 - (-.) 4 /4 + R 4 () = R 4 () juga R 5 (.9) < 5 4 (.) Ma.9< c< 5 c 5! dan nilai Ma 4/c 5 di dalam selang.9 < c < adalah pada c =.9 (dengan mendasari pada fakta bahwa suatu pecahan nilainya semakin membesar bilamana penyebut dibuat lebih kecil), sehingga R 4 (.9) < Ma.9<c< (.) 5! 5.34 Jadi ln(.9) = dengan galat pemotongan lebih kecil dari.34. Contoh.7 Deret Taylor dapat digunakan untuk menghitung integral fungsi yang sulit diintegralkan secara analitik (bahkan, adakalanya tidak mungkin dihitung secara analitik). Hitunglah hampiran nilai e dsecara numerik, yaitu fungsi f() = Maclaurin orde 8. Penyelesaian: Deret Maclaurin orde 8 dari fungsi f() = e adalah e dihampiri dengan deret e = /! + 6 /3! + 8 /4! (silakan memeriksanya kembali sebagai latihan) Dengan demikian, maka = e d ( ) d = =! 3! 4! = = = Bab Deret Taylor dan Analisis Galat 7
36 .3. Galat Pembulatan Perhitungan dengan metode numerik hampir selalu menggunakan bilangan riil. Masalah timbul bila komputasi numerik dikerjakan oleh mesin (dalam hal ini komputer) karena semua bilangan riil tidak dapat disajikan secara tepat di dalam komputer. Keterbatasan komputer dalam menyajikan bilangan riil menghasilkan galat yang disebut galat pembulatan. Sebagai contoh /6 = tidak dapat dinyatakan secara tepat oleh komputer karena digit 6 panjangnya tidak terbatas. Komputer hanya mampu merepresentasikan sejumlah digit (atau bit dalam sistem biner) saja. Bilangan riil yang panjangnya melebihi jumlah digit (bit) yang dapat direpresentasikan oleh komputer dibulatkan ke bilangan terdekat. Misalnya sebuah komputer hanya dapat merepresentasikan bilangan riil dalam 6 digit angka berarti, maka representasi bilangan /6 = di dalam komputer 6-digit tersebut adalah Galat pembulatannya adalah / = Contoh dalam sistem biner misalnya / =. direpresentasikan di dalam komputer dalam jumlah bit yang terbatas. Teknik yang digunakan untuk pembulatan bilangan riil dijelaskan di dalam upabab.5.3. Kebanyakan komputer digital mempunyai dua buah cara penyajian bilangan riil, yaitu bilangan titik-tetap (fied point) dan bilangan titik-kambang (floating point) [KRE88]. Dalam format bilangan titik-tetap setiap bilangan disajikan dengan jumlah tempat desimal yang tetap, misalnya 6.358,.3,.. Sedangkan dalam format bilangan titik-kambang setiap bilangan disajikan dengan jumlah digit berarti yang sudah tetap, misalnya atau ditulis juga E+3.74E-3 Digit-digit berarti di dalam format bilangan titik-kambang disebut juga angka bena (significant figure). Konsep angka bena dijelaskan berikut ini. Angka Bena Konsep angka bena (significant figure) atau angka berarti telah dikembangkan secara formal untuk menandakan keandalan suatu nilai numerik. Angka bena adalah angka bermakna, angka penting, atau angka yang dapat digunakan dengan pasti [CHA9]. 8 Metode Numerik
37 Contohnya, 43.3 memiliki 5 angka bena (yaitu 4, 3,,, 3).764 memiliki 4 angka bena (yaitu, 7, 6, 4). memiliki angka bena (yaitu, ) 78.3 memiliki 6 angka bena (yaitu, 7, 8, 3,, ) 7.9 memiliki 7 angka bena (yaitu, 7,,,, 9, ).9 memiliki angka bena (yaitu 9, ) 36,.36,.36 semuanya memiliki 4 angka bena Perhatikanlah bahwa angka bisa menjadi angka bena atau bukan. Pada contoh.36, tiga buah angka nol pertama tidak berarti, sedangkan yang terakhir angka berarti karena pengukuran dilakukan sampai ketelitian 4 digit. Jumlah angka bena akan terlihat dengan pasti bila bilangan riil itu ditulis dalam penulisan ilmiah (scientific notation), misalnya tetapan dalam kimia dan fisika atau ukuran jarak dalam astronomi. Jumlah angka bena terletak pada jumlah digit mantis-nya (tentang mantis ini akan dibahas belakangan): 4.33 memiliki 5 angka bena memiliki 4 angka bena. -6 memiliki angka bena.783 memiliki 6 angka bena.79 3 memiliki 7 angka bena memiliki angka bena 3.6,.36,.36-3 memiliki 4 angka bena 6. 3 memiliki 4 angka bena (bilangan Avogadro).5 7 memiliki 8 angka bena (jarak bumi-matahari) Komputer hanya menyimpan sejumlah tertentu angka bena. Bilangan riil yang jumlah angka benanya melebihi jumlah angka bena komputer akan disimpan dalam sejumlah angka bena komputer itu. Pengabaian angka bena sisanya itulah yang menimbulkan galat pembulatan..3.3 Galat Total Galat akhir atau galat total atau pada solusi numerik merupakan jumlah galat pemotongan dan galat pembulatan. Misalnya pada Contoh.3 kita menggunakan deret Maclaurin orde-4 untuk menghampiri cos(.) sebagai berikut: Bab Deret Taylor dan Analisis Galat 9
38 cos(.) -. / +. 4 / galat galat pemotongan pembulatan Galat pemotongan timbul karena kita menghampiri cos(.) sampai suku orde empat, sedangkan galat pembulatan timbul karena kita membulatkan nilai hampiran ke dalam 7 digit bena..4 Orde Penghampiran Di dalam metode numerik, fungsi f() sering diganti dengan fungsi hampiran yang lebih sederhana. Satu cara mengungkapkan tingkat ketelitian penghampiran itu adalah dengan menggunakan notasi O-Besar (Big-Oh). Misalkan f(h) dihampiri dengan fungsi p(h). Jika f(h) p(h) M h n, yang dalam hal ini M adalah konstanta riil >, maka kita katakan bahwa p(h) menghampiri f(h) dengan orde penghampiran O(h n ) dan kita tulis f(h) = p(h) + O(h n ) (P..4) O(h n ) juga dapat diartikan sebagai orde galat dari penghampiran fungsi. Karena h umumnya cukup kecil yaitu lebih kurang dari, maka semakin tinggi nilai n, semakin kecil galat, yang berarti semakin teliti penghampiran fungsinya. Metode yang berorde O(h ), misalnya, lebih teliti hasilnya daripada metode yang berorde O(h). Juga, pada metode yang berorde O(h ), jika ukuran h dijadikan setengah kali semula, maka galatnya menjadi seperempat kali galat semula. Umumnya deret Taylor digunakan untuk penghampiran fungsi. Misalkan, i+ = i + h, i =,,, adalah titik-titik selebar h, maka hampiran f( i+ ) dengan deret Taylor di sekitar i adalah ( i+ i) ( i+ i) ( i+ i ) ( n) f ( i + ) = f ( i ) + f '( i ) + f "( i) f ( i ) + Rn( i + )!! n! n = i h h h ( n) f ( i ) + f '( i ) + f "( i ) f ( i ) + Rn ( + )!! n! yang dalam hal ini n 3 Metode Numerik
39 n+ h ( n+ ) n+ R n ( i+ ) = f ( t) = O( h ), i < t < i+ (P..5) ( n + )! Jadi, kita dapat menuliskan n k h ( k ) n+ f ( i + ) = f ( i ) + O( h ) (P..6) k! k= Persamaan (P..6) menyatakan bahwa jika fungsi f() dihampiri dengan deret Taylor derajat n, maka suku sisanya cukup dinyatakan dengan lambang O(h n+ ). Sebagai catatan, suku sisa yang digunakan di dalam notasi O-Besar adalah suku yang dimulai dengan perpangkatan h n+. Sebagai contoh, e h = + h + h /! + h 3 /3! + h 4 /4! + O(h 5 ) ln(+) = - / + 3 /3-4 /4 + 5 /4 + O(h 5 ) sin(h) = h - h 3 /3! + h 5 /5! + O(h 7 ) (bukan O(h 6 ), karena suku orde 6 = ) cos(h) = - h /4! + h 4 /6! - h 6 /6! + O(h 8 ) (bukan O(h 7 ), karena suku orde 7 = ).5 Bilangan Titik-Kambang Untuk memahami galat pembulatan lebih rinci, kita perlu mengerti cara penyimpanan bilangan riil di dalam komputer. Format bilangan riil di dalam komputer berbeda-beda bergantung pada piranti keras dan compiler bahasa pemrogramannya. Bilangan riil di dalam komputer umumnya disajikan dalam format bilangan titik-kambang. Bilangan titik-kambang a ditulis sebagai a = ± m B p = ±.d d d 3 d 4 d 5 d 6...d n B p (P..7) yang dalam hal ini, m = mantisa (riil), d d d 3 d 4 d 5 d 6...d n adalah digit atau bit mantisa yang nilainya dari sampai B, n adalah panjang digit (bit) mantisa. B = basis sistem bilangan yang dipakai (, 8,, 6, dan sebagainya) p = pangkat (berupa bilangan bulat), nilainya dari P min sampai +P maks Bab Deret Taylor dan Analisis Galat 3
40 Sebagai contoh, bilangan riil dinyatakan sebagai dalam format bilangan titik kambang dengan basis. Cara penyajian seperti itu serupa dengan cara penulisan ilmiah. Penulisan ilmiah termasuk ke dalam sistem bilangan titik-kambang. Sistem bilangan yang kita gunakan setiap hari menggunakan basis sepuluh (disebut juga sistem desimal), B =. Umumnya komputer menggunakan sistem biner (B = ), tapi beberapa komputer menggunakan basis 8 dan 6. Untuk memudahkan pemahaman juga karena kita lebih terbiasa sehari-hari dengan bilangan desimal kebanyakan contoh-contoh bilangan titik-kambang di dalam bab ini disajikan dalam sistem desimal. Bilangan titik-kambang di dalam sistem biner biner direpresentasikan oleh komputer dalam bentuk word seperti ditunjukkan pada Gambar.. Bit pertama menyatakan tanda (+/-), deretan bit berikutnya menyatakan pangkat bertanda, dan deretan bit terakhir untuk mantisa. Setiap komputer memiliki panjang word yang berbeda-beda. Pada komputer IBM PC, bilangan titik-kambang berketelitian tunggal (single precission) disajikan dalam 3 bit yang terdiri atas bit sebagai tanda, 8 bit untuk pangkat dan 3 bit untuk mantisa. Jika dalam bentuk ternormalisasi (akan dijelaskan kemudian), maka bit pertama pada mantisa harus, sehingga jumlah bit mantisa efektif adalah 4: a = ±.b b b 3 b 4 b 5 b 6...b 3 B p yang dalam hal ini b menyatakan bit biner ( atau ). Sedangkan pada komputer IBM 37, bilangan titik-kambang berketelitian tunggal disajikan dalam 3 bit yang terdiri dari bit tanda, 7 bit pangkat (basis 6), dan 4 bit mantis (setara dengan 6 sampai 7 digit desimal) [KRE88]. tanda pangkat mantisa Gambar. Format bilangan titik-kambang biner ( word) 3 Metode Numerik
41 .5. Bilangan Titik-Kambang Ternormalisasi Representasi bilangan titik-kambang (P..7) jauh dari unik, karena, sebagai contoh, kita juga dapat menulisnya sebagai a = ± (mb) B p - (P..8) Misalnya, dapat ditulis sebagai atau atau , dan sebagainya Agar bilangan titik-kambang dapat disajikan secara seragam, kebanyakan sistem komputer menormalisasikan formatnya sehingga semua digit mantisa selalu angka bena. Karena alasan itu, maka digit pertama mantisa tidak boleh nol. Bilangan titik-kambang yang dinormalisasi ditulis sebagai a = ± m B p = ±.d d d 3 d 4 d 5 d 6...d n B p (P..9) yang dalam hal ini, d d d 3 d 4 d 5 d 6...d n adalah digit (atau bit) mantisa dengan syarat d b - dan d k B- untuk k >. Pada sistem desimal, d 9 dan d k 9, sedangkan pada sistem biner, d = dan d k Sebagai contoh, dinormalisasi menjadi.563-4,.37 6 dinormalisasi menjadi Sebagai konsekuensi penormalan, nilai m adalah /B m < Pada sistem desimal (B = ), m akan berkisar dari. sampai, dan pada sistem biner (B = ), antara.5 dan [CHA9]. Sebagai catatan, nol adalah kasus khusus. Nol disajikan dengan bagian mantisa seluruhnya nol dan pangkatnya nol. Nol semacam ini tidak dinormalisasi. Bab Deret Taylor dan Analisis Galat 33
42 Contoh.8 [BUC9] Tulislah bilangan e dalam format bilangan titik-kambang ternormalisasi dengan basis, basis, dan basis 6. Penyelesaian: Dalam basis (menggunakan 8 angka bena), e.7888 =.7888 (bilangan titik-kambang desimal ternormalisasi) Dalam basis (menggunakan 3 bit bena), e. (bilangan titik-kambang biner ternormalisasi) Dalam basis 6 (gunakan fakta bahwa 6 = 4, sehingga = ¼ 6 e. = ¼. 6 =. 6 =.B7E (bilangan titik-kambang heksadesimal ternormalisasi).5. Epsilon Mesin Karena jumlah bit yang digunakan untuk representasi bilangan titik-kambang terbatas, maka jumlah bilangan riil yang dapat direpresentasikan juga terbatas. Untuk ilustrasi, tinjau kasus bilangan titik-kambang biner 6-bit word ( bit tanda, 3 bit untuk pangkat bertanda, dan bit mantisa) dengan B =, dan nilai pangkat dari sampai 3 [GER94]. Karena semua bilangan dinormalisasi, maka bit pertama harus, sehingga semua bilangan yang mungkin adalah berbentuk: ±. p atau ±. p, - p 3 Daftar bilangan riil positif yang dapat direpresentasikan adalah. - = ( ) - = /8 =.5. - = ( ) - = /4 =.5. = ( ) = / =.5. = ( ) = =. 34 Metode Numerik
43 . = ( ) = =.. 3 = ( ) 3 = 4 = = ( ) - = 3/6 = = ( ) - = 3/8 =.375. = ( ) = 3/4 =.75. = ( ) = 3/ =.5. = ( ) = 3 = = ( ) 3 = 6 = 6. Bila kita susun dari nilai positif terkecil ke nilai terbesar, maka seluruh bilangannya digambarkan dalam diagram garis bilangan sebagai berikut: () Pada komputer IBM PC, bilangan titik-kambang berketelitian-tunggal dinyatakan dalam 3-bit word ( bit tanda, 8 bit pangkat, dan 4 bit mantisa). Rentang nilainilai positifnya diperlihatkan pada Gambar.3. M M (overflow).7 38 (bilangan titik-kambang terbesar) (bilangan titik-kambang terbesar kedua) gap.9 (. + epsilon mesin) (bilangan titik-kambang terkecil kedua).9-38 (bilangan titik-kambang positif terkecil) gap (underflow) () Gambar.3 Rentang bilangan titik-kambang berketelitian tunggal pada interpreter Basic Bab Deret Taylor dan Analisis Galat 35
44 Satu ukuran yang penting di dalam aritmetika komputer adalah seberapa kecil perbedaan antara dua buah nilai yang dapat dikenali oleh komputer. Ukuran yang digunakan untuk membedakan suatu bilangan riil dengan bilangan riil berikutnya adalah epsilon mesin. Epsilon mesin distandardisasi dengan menemukan bilangan titik-kambang terkecil yang bila ditambahkan dengan memberikan hasil yang lebih besar dari. Dengan kata lain, jika epsilon mesin dilambangkan dengan ε maka + ε > (bilangan yang lebih kecil dari epsilon mesin didefinisikan sebagai nol di dalam komputer). Epsilon mesin pada sistem bilangan riil yang ditunjukkan pada Gambar.3 adalah ε =.9 -. =.9-6 Gap ( ) atau jarak antara sebuah bilangan titik-kambang dengan bilangan titikkambang berikutnya, yang besarnya adalah = ε R (P..) yang dalam hal ini R adalah bilangan titik-kambang sekarang. Contohnya, gap antara bilangan positif terkecil pertama.9-38 dengan bilangan titikkambang terkecil kedua pada Gambar.3 adalah = (.9-6 ) (.9-38 ) = dan dengan demikian bilangan titik-kambang terkecil kedua sesudah.9-38 adalah Dari persamaan P..6 dapat dilihat bahwa gap akan bertambah besar dengan semakin besarnya bilangan titik-kambang. Keadaan underflow terjadi bila suatu bilangan titik-kambang tidak dapat dinyatakan di antara dan bilangan positif terkecil (atau antara dan bilangan negatif terbesar). Keadaan overflow terjadi bila suatu bilangan titik-kambang lebih besar dari bilangan positif terbesar (atau lebih kecil dari bilangan negatif terkecil) 36 Metode Numerik
45 Jika kita mengetahui jumlah bit mantisa dari suatu bilangan titik-kambang, kita dapat menghitung epsilon mesinnya dengan rumus ε = B n (P..) yang dalam hal ini B adalah basis bilangan dan n adalah banyaknya digit (atau bit) bena di dalam mantisa. Pada contoh pertama di atas (B = dan n = ), ε = =.5 dan pada contoh bilangan titik-kambang berketelitian tunggal pada komputer IBM PC, 4 ε = = =.9-6 Kita juga dapat menemukan perkiraan nilai epsilon mesin dengan prosedur yang sederhana. Gagasannya ialah dengan membagi dua secara terus menerus nilai dan memeriksa apakah ditambah hasil bagi itu lebih besar dari. Potongan programnya dituliskan di dalam Program.. Program. Program menghitung hampiran nilai epsilon mesin procedure HitungEpsilonMesin(var eps : real); { Prosedur untuk menemukan epsilon mesin Keadaan Awal : sembarang Keadaan Akhir: eps berisi harga epsilon mesin } begin eps:=; while eps + > do eps:=eps/; {eps + < } eps:=*eps; end; {nilai epsilon mesin} Hasil pelaksanaan program dengan compiler Turbo Pascal dan komputer dengan processor 486DX adalah ε = Jika yang diinginkan adalah epsilon mesin dalam bentuk perpangkatan dari, prosedur untuk menghitungnya dituliskan di dalam Program.3. Bab Deret Taylor dan Analisis Galat 37
46 Program.3 Program menghitung hampiran nilai epsilon mesin dalam bentuk k procedure HitungEpsilon_Mesin(var n : integer); { Prosedur untuk menemukan epsilon mesin dalam bentuk perpangkatan Keadaan Awal : sembarang Keadaan Akhir : -(n-) adalah epsilon mesin } var eps, ne : real; begin eps:=; ne:=; n:=; while ne > do begin eps:=eps/; ne:= + eps; n:=n + ; end; {eps + < } { Epsilon mesin ialah -(n-) } end; Hasil pelaksanaan program dengan compiler Turbo Pascal dan komputer dengan processor 486 adalah ε = -4 (Keterangan: -4 = ) Nilai epsilon mesin yang diperoleh dapat berbeda-beda bergantung pada bahasa pemrograman dan komputer yang digunakan karena beberapa bahasa menggunakan bilangan berketelitian ganda (double precision) untuk representasi bilangan titikkambangnya. Epsilon dapat digunakan sebagai kriteria berhenti kekonvergenan pada pada prosedur lelaran yang konvergen. Nilai lelaran sekarang dibandingkan dengan nilai lelaran sebelumnya. Jika selisih keduanya sudah kecil dari epsilon mesin, lelaran dihentikan, tetapi jika tidak, lelaran diteruskan..5.3 Pembulatan pada Bilangan Titik-Kambang Dari ilustrasi pada upabab.5. jelaslah bahwa jumlah bilangan riil yang dapat dinyatakan sebagai bilangan titik-kambang terbatas banyaknya (bergantung pada banyaknya bit word). Bilangan titik-kambang yang tidak dapat mencocoki satu dari nilai-nilai di dalam rentang pasti terletak di dalam gap. Karena itu, bilangan tersebut dibulatkan (atau dikuantisasi) ke salah satu nilai di dalam rentang. Galat yang timbul akibat penghampiran tersebut diacu sebagai galat pembulatan (atau galat kuantisasi). Misalnya,.3748 dibulatkan ke.375, 3. dibulatkan ke 3., dan sebagainya. 38 Metode Numerik
47 Ada dua teknik pembulatan yang lazim dipakai oleh komputer, yaitu pemenggalan (chopping) dan pembulatan ke digit terdekat (in-rounding). Kedua teknik pembulatan tersebut diilustrasikan di bawah ini.. Pemenggalan (chopping) Misalkan a adalah bilangan titik-kambang dalam basis : a = ±.d d d 3... d n d n+... p Misalkan n adalah banyak digit mantis komputer. Karena digit mantis a lebih banyak dari digit mantis komputer, maka bilangan a dipotong sampai n digit saja: fl chop (a) = ±.d d d 3... d n- d n p (P..) Sebagai contoh, bilangan π = di dalam komputer dengan 7 digit mantis disimpan sebagai fl chop (π) =.3459 dengan galat sebesar Perhatikan juga bahwa pemenggalan berarti sembarang besaran yang berada pada gap sebesar akan disimpan sebagai besaran pada ujung selang yang lebih kecil, sehingga batas atas galat untuk pemenggalan adalah (Gambar.4) [CHA9]. - + Gambar.4 Batas atas pemenggalan. Bilangan yang akan dipenggal pada mulanya terletak antara dan +. Setelah pemenggalan, bilangan tersebut =. Contoh pemenggalan pada bilangan titik-kambang biner misalnya, / =.... Bila digunakan mantis 3 bit, komputer memenggal bilangan / di atas menjadi (setelah dinormalkan) /. -3 Bab Deret Taylor dan Analisis Galat 39
48 . Pembulatan ke digit terdekat (in-rounding) Misalkan a adalah bilangan titik-kambang dalam basis : a = ±.d d d 3... d n d n+... p Misalkan n adalah jumlah digit mantis komputer. Karena digit mantis a lebih banyak dari digit mantis komputer, maka bilangan a dibulatkan sampai n digit: fl round (a) = ±. d d d... dˆ p (P..) 3 n yang dalam hal ini dˆ n = d n d n + d n d n +, jika d, jika d, jika d, jika d n+ n+ n+ n+ < 5 > 5 = 5 dan n genap = 5 dan n ganjil (P..3) Contohnya, bilangan π = di dalam komputer hipotetis dengan 7 digit mantis dibulatkan menjadi fl(π) = dengan galat sebesar.35. Contoh ini memperlihatkan bahwa pembulatan ke digit terdekat menghasilkan galat yang lebih rendah daripada pemenggalan. Contoh lainnya, nilai a = : - di dalam komputer 7 digit dibulatkan menjadi fl round (a) = di dalam komputer 8 digit dibulatkan menjadi fl round (a) = di dalam komputer 6 digit dibulatkan menjadi fl round (a) = di dalam komputer 9 digit dibulatkan menjadi fl round (a) = Perhatikan juga bahwa pembulatan ke digit terdekat berarti sembarang besaran yang berada pada gap sebesar akan disimpan sebagai bilangan terdekat yang diperbolehkan, sehingga batas atas galat untuk pembulatan adalah / (Gambar.5): - / / + Gambar.5 Batas atas pembulatan ke digit terdekat 4 Metode Numerik
49 Contoh pembulatan π yang diberikan di atas memperlihatkan bahwa galat pembulatan ke digit terdekat lebih rendah daripada galat pemenggalan, karena itu cara pemenggalan biasanya tidak direkomendasikan untuk dipakai. Namun yang mengherankan, kebanyakan komputer menggunakan cara pemenggalan! Alasannya adalah bahwa algoritma pembulatan ke digit terdekat lebih sukar sehingga membutuhkan waktu lebih lama dari pada waktu untuk pemenggalan. Sedangkan algoritma pemenggalan lebih sederhana sehingga mudah direalisasikan. Pendekatan ini dapat diterima dengan anggapan bahwa jumlah angka bena cukup besar sehingga galat pemenggalan yang dihasilkan biasanya dapat diabaikan [CHA9]. Algoritma pembulatan/pemenggalan dapat diimplementasilkan baik di dalam piranti keras atau di dalam rutin perangkat lunak. Secara umum dapat dinyatakan bahwa satu-satunya cara meminimumkan galat pembulatan adalah menggunakan jumlah angka bena yang lebih banyak. Di dalam program komputer itu artinya kita menggunakan bilangan riil berketelitian ganda (double precision) ketimbang bilangan berketelitian tunggal (single precision)..5.4 Aritmetika Bilangan Titik-Kambang Selain mengandung galat pembulatan pada representasinya, operasi aritmetika pada bilangan titik-kambang juga menghasilkan galat pembulatan yang lain. Operasi aritmetika pada bilangan titik-kambang meliputi operasi penambahan dan pengurangan, operasi perkalian, dan operasi pembagian Operasi Penambahan dan Pengurangan Terdapat dua buah kasus serius yang menyebabkan timbulnya galat pembulatan pada operasi penjumlahan dua buah bilangan titik-kambang: Kasus : Penjumlahan (termasuk pengurangan) bilangan yang sangat kecil ke (atau dari) bilangan yang lebih besar menyebabkan timbulnya galat pembulatan. Galat pembulatan pada Kasus ini terjadi karena untuk menjumlahkan dua buah bilangan yang berbeda relatif besar, pangkatnya harus disamakan terlebih dahulu (disamakan dengan pangkat bilangan yang lebih besar). Caranya adalah dengan menggeser digit-digit (atau bit) bilangan yang pangkatnya lebih kecil. Pergeseran digit (atau bit) ini mengakibatkan adanya digit (atau bit) yang hilang. Perhatikan contoh berikut. Bab Deret Taylor dan Analisis Galat 4
50 Contoh.9 Misalkan digunakan komputer dengan mantis 4 digit (basis ). Hitunglah Penyelesaian: = = = (pergeseran digit untuk menyamakan pangkat) =.68 in-rounding.6 chopping.6 Perhatikanlah bahwa dua digit terakhir dari bilangan yang digeser ke kanan pada dasarnya telah hilang dari perhitungan. Galat mutlak pembulatan = (.68 ) - (.6 ) =.9 Galat mutlak pemenggalan = (.68 ) - (.6 ) =.8 Galat perhitungan semacam Kasus ini dapat terjadi dalam perhitungan deret tak berhingga yang suku awalnya relatif lebih besar dibandingkan suku berikutnya. Jadi, setelah beberapa suku ditambahkan, kita berada dalam situasi penambahan besaran yang kecil terhadap besaran yang besar. Suatu cara mengurangi galat jenis ini adalah menjumlahkan deret dalam urutan terbalik -yakni dalam urutan yang menaik ketimbang menurun. Dengan cara ini, setiap suku baru akan sebanding besarnya dengan jumlah deret yang terakumulasi [CHA9]. Contoh. Misalkan digunakan komputer dengan mantis 4 digit (basis ). Hitunglah Penyelesaian: = = = (pergeseran digit untuk menyamakan pangkat) = in-rounding chopping Galat mutlak pembulatan = ( ) - ( ) =.383 Galat mutlak pemenggalan = ( ) - ( ) = Metode Numerik
51 Contoh. [NAK93] Misalkan digunakan komputer dengan mantis 4 bit (setara dengan 7 tempat desimal). Nilai =. +.= i= kali akan dihitung dengan program Pascal yang menggunakan bilangan riil berketelitian-tunggal sebagai berikut: program hitung; var, jumlah : real; i: integer; begin jumlah:=.; for i:= to do jumlah:=jumlah +.; writeln('=', jumlah); end. Bila digunakan komputer dengan 7 angka bena, hasil program di atas adalah =.36, padahal seharusnya =. + (.) =. +. =.. Galat mutlak = = Galat relatif = % = -.4. Bagaimana kita menjelaskan hasil perhitungan ini? Sumber penyimpangan ini adalah galat pembulatan. Karena bilangan dapat dinyatakan secara persis dalam komputer, maka galatnya nol. Sebaliknya. tidak dapat dinyatakan secara tepat dan dikuantisasi oleh nilai yang sedikit berbeda dibandingkan nilai sejatinya. Penyimpangan yang kecil itu dapat diabaikan untuk komputasi yang sedikit, namun terakumulasi setelah penjumlahan yang berulang kali [CHA9]. Untuk jelasnya perhatikan proses perhitungannya dalam sistem biner di bawah ini. =. (.) =. -6 =. + ( +.) =. (.) (nilai sejati) dibulatkan ke mantis 4 bit. = (.36) (nilai hampiran) Bab Deret Taylor dan Analisis Galat 43
52 galat mutlak = =.36-7 galat total =.36-3 =.36 Satu cara untuk mengurangi galat total ini adalah menjumlahkan suku-suku dalam urutan terbalik, yaitu. dijumlahkan terlebih dahulu sebanyak seribu kali, baru kemudian hasilnya dijumlahkan dengan.. Jadi cara perhitungannya adalah = (.) +. = i= kali Selain itu, gunakan bilangan berketelitian ganda, sebab galat pembulatannya jauh lebih kecil. Kasus : Pengurangan dua buah bilangan yang hampir sama besar (nearly equal). Bila dua bilangan titik-kambang dikurangkan, hasilnya mungkin mengandung nol pada posisi digit mantis yang paling berarti (posisi digit paling kiri). Keadaan ini dinamakan kehilangan angka bena (loss of significance). Baik pemenggalan maupun pembulatan ke digit terdekat menghasilkan jawaban yang sama. Contoh. Kurangi dengan (5 angka bena) Penyelesaian: dinormalisasi menjadi.35 3 ( 3 angka bena) in-rounding.35 3 chopping.35 3 Hasil yang diperoleh hanya mempunyai 3 angka bena. Jadi kita kehilangan buah angka bena. Meskipun kita dapat menuliskan hasilnya sebagai.35 3, namun dua nol yang terakhir bukan angka bena tetapi sengaja ditambahkan untuk mengisi kekosongan digit yang hilang. Hasil yang lebih dramatis diperlihatkan pada Contoh.3 dan Contoh.4 di bawah ini. 44 Metode Numerik
53 Contoh.3 Kurangi dengan ( angka bena). Penyelesaian: = = (5 angka bena) in-rounding chopping Jadi, kita kehilangan 6 angka bena!. Contoh.4 Kurangi dengan (4 angka bena). Penyelesaian: =. ( angka bena) in-rounding. chopping. Jadi kita kehilangan 3 buah angka bena. Kehilangan angka bena bila mengurangkan dua buah bilangan yang hampir sama besar merupakan sumber galat utama pada operasi bilangan titik-kambang. Kehilangan angka bena dapat dihindari dengan mengubah metode komputasi yang digunakan. Tujuan dari pengubahan metode komputasi adalah menghilangkan operasi pengurangan dua buah bilangan yang hampir sama besar, misalnya dengan pengelompokan suku-suku, perkalian dengan bentuk sekawan, menggunakan deret Taylor, atau manipulasi aljabar lainnya. Contoh.5 sampai.7 berikut mengilustrasikan cara pengubahan ini. Contoh.5 [MAT9] Diberikan f ( ) = ( + ). Hitunglah f(5) dengan menggunakan 6 angka bena dan pembulatan ke digit terdekat. Penyelesaian: Bab Deret Taylor dan Analisis Galat 45
54 f ( 5) = 5( 5 5) = 5( ) = 5(.3) =.5 ( empat angka bena) (solusi sejatinya adalah ) Hasil yang tidak akurat ini disebabkan adanya operasi pengurangan dua bilangan yang hampir sama besar, yaitu Ketelitian hasil dapat kita tingkatkan bila kita dapat menghilangkan pengurangan tersebut. Caranya adalah mengubah metode komputasi sedemikian sehinggga pengurangan dua bilangan yang hampir sama besar menjadi hilang. Susunlah kembali fungsi f() menjadi bentuk yang lebih baik: f ( ) = ( + ) = ( + ( ) ( ) ) = [( + ) ( ) ( + + ) ] = + + = p() sehingga p(5) = = = Hasil ini jauh lebih baik dibandingkan yang pertama. Solusi sejatinya, , jika dibulatkan sampai 6 angka bena adalah.747, yang lebih dekat ke p(5) daripada ke f(5). Contoh.6 Hitunglah akar-akar polinom = sampai 4 angka bena. Penyelesaian: 4± ( 4) 8, = = ± 398 =. ± 9.95 = = ( 4 angka bena) 46 Metode Numerik
55 = =.5 ( angka bena) (kehilangan tiga buah angka bena akibat pengurangan dua buah bilangan yang hampir sama, yaitu 9.95) Nilai yang lebih akurat dapat diperoleh dengan mengingat lagi pelajaran matematika di sekolah lanjutan bahwa: jika dan adalah akar-akar persamaan a + b + c = maka = c/a Dengan demikian, dihitung sebagai berikut: = / =./39.95 =.56 ( 4 angka bena, lebih akurat) Contoh.7 [MAT9] Diberikan e f ( ) =. Hitung f(.) sampai 6 angka bena. Penyelesaian:.. (.) = e.5. f = =. 5 ( angka bena).. Hasil yang tidak akurat ini karena adanya kehilangan angka bena akibat pengurangan dua buah nilai yang hampir sama besar, yaitu.5. Hasil yang lebih akurat dapat diperoleh dengan menguraikan f() ke dalam deret Maclaurin sampai suku orde (Gunakan dalil L'Hospital bila menjumpai pembagian /): sehingga f() p() = / + /6 + /4 p(.) = / +./6 +. /6 = =.567 Solusi sejatinya adalah , yang jika dibulatkan sampai 6 angka bena adalah.567 = p(.) Operasi Perkalian dan Pembagian Operasi perkalian dan pembagian dua buah bilangan titik-kambang tidak memerlukan penyamaan pangkat seperti halnya pada penjumlahan Perkalian dapat dilakukan dengan mengalikan kedua mantis dan menambahkan kedua pangkatnya. Pembagian dikerjakan dengan membagi mantis dan mengurangkan pangkatnya. Selain itu, register dengan panjang ganda dibutuhkan untuk menyimpan hasil antara. Hasil akhir dipotong ke dalam register tunggal. Bab Deret Taylor dan Analisis Galat 47
56 Contoh.8 Hitung perkalian dengan (4 angka bena). Penyelesaian: Kalikan mantis:.465 Jumlahkan pangkat: Gabungkan mantis dengan pangkat: Normalisasi: in-rounding.6773 chopping.6773 Contoh.9 Hitung ( )/ (4 angka bena). Penyelesaian: Bagi mantis:.8675 Kurangi pangkat: : Gabungkan mantis dengan pangkat: Normalisasi: in-rounding.34 - chopping Perambatan Galat Galat yang dikandung dalam bilangan titik-kambang merambat pada hasil komputasi. Misalkan terdapat dua bilangan a dan b (nilai sejati) dan nilai hampirannya masing-masing â dan bˆ, yang mengandung galat masing-masing ε a dan ε b. Jadi, kita dapat menulis dan a = â + ε a b = bˆ + ε b. 48 Metode Numerik
57 Di bawah ini akan diperlihatkan bagaimana galat merambat pada hasil penjumlahan dan perkalian a dan b. Untuk penjumlahan, a + b = (â + ε a ) + ( bˆ + ε b ) = ( â + bˆ ) + (ε a + ε b ) (P..4) Jadi, galat hasil penjumlahan sama dengan jumlah galat masing-masing operand. Untuk perkalian, ab = ( â + ε a )( bˆ + ε b ) = â bˆ + â ε b + bˆ ε a + ε a ε b yang bila kita susun menjadi ab - â bˆ = â ε b + bˆ ε a + ε a ε b Dengan mengandaikan bahwa a dan b, maka galat relatifnya adalah ab ab ˆ ˆ aˆ ε b + bˆ ε a + εaεb = ab ab aˆ ε bˆ b ε a ε aε = + + ab ab ab b Dengan mengandaikan bahwa a dan â hampir sama besar, yaitu a â, begitu juga b dan bˆ,dan ε a dan ε b sangat kecil maka â /a, bˆ /b, dan (ε a /a)(ε b /b). Dengan demikian ab ab ˆ ˆ ε b = ab b ε a + a = ε Rb + ε Ra (P..5) Jadi, galat relatif hasil perkalian sama dengan jumlah galat relatif masing-masing operand. Jika operasi aritmetika hanya dilakukan sekali saja, maka kita tidak perlu terlalu khawatir terhadap galat yang ditimbulkannya. Namun, bila operasi dilakukan terhadap seruntunan komputasi, maka galat operasi aritmetika awal akan merambat dalam seruntunan komputasi. Bila hasil perhitungan sebuah operasi aritmetika dipakai untuk operasi selanjutnya, maka akan terjadi penumpukan galat yang semakin besar, yang mungkin mengakibatkan hasil perhitungan akhir menyimpang dari hasil sebenarnya. Ketidakpastian hasil akibat galat pembulatan Bab Deret Taylor dan Analisis Galat 49
58 yang bertambah besar itu dapat menyebabkan perhitungan menjadi tidak stabil (unstable atau instability), sedangkan lawannya adalah stabil, yang merupakan proses numerik yang diinginkan. Metode komputasi dikatakan stabil jika galat pada hasil antara (intermediate) hanya sedikit pengaruhnya pada hasil akhir. Jika galat pada hasil antara memberikan pengaruh yang besar pada hasil akhir maka metode komputasinya dikatakan tidak stabil [KRE88]. Ketidakstabilan ini dinamakan "ketidakstabilan numerik", yang dapat dihindari dengan memilih metode komputasi yang stabil (di dalam Bab Solusi Persamaan Diferensial Biasa masalah ini akan dikemukakan lagi). Ketidakstabilan numerik harus dibedakan dengan "ketidakstabilan matematik" dari persoalan yang diberikan. Ketidakstabilan matematik sering dinamakan kondisi buruk (ill conditioned), yaitu kondisi yang timbul karena hasil perhitungan sangat peka terhadap perubahan kecil data. Kondisi buruk didiskusikan lebih komprehensif di bawah ini..7 Kondisi Buruk Suatu persoalan dikatakan berkondisi buruk (ill conditioned) bila jawabannya sangat peka terhadap perubahan kecil data (misalnya perubahan kecil akibat pembulatan). Bila kita mengubah sedikit data, maka jawabannya berubah sangat besar (drastis). Lawan dari berkondisi buruk adalah berkondisi baik (well conditioned). Suatu persoalan dikatakan berkondisi baik bila perubahan kecil data hanya mengakibatkan perubahan kecil pada jawabannya. Sebagai contoh, tinjau persoalan menghitung akar persamaan kuadrat a + b + c = di bawah ini. Di sini kita hanya mengubah nilai nilai tetapan c-nya saja: (i) = akar-akarnya =.3 dan =.968 Sekarang, ubah 3.99 menjadi 4.: (ii) = akar-akarnya = =. Ubah 4. menjadi 4.: (iii) = akar-akarnya imajiner Kita katakan bahwa persoalan akar-akar persamaan kuadrat di atas berkondisi buruk, karena dengan pengubahan sedikit saja data masukannya (dalam hal ini nilai koefisien c), ternyata nilai akar-akarnya berubah sangat besar. 5 Metode Numerik
59 Kapankah akar persamaan f() = berkondisi buruk? Misalkan f() diubah sebesar ε sehingga akarnya berubah sebesar h: f( + h) + ε = P..6) Bila karena pengubahan ε yang sangat kecil mengakibatkan h menjadi besar, dikatakan persoalan mencari akar f() = berkondisi buruk [NOB7]. Bukti: Kita menggunakan teorema nilai rata-rata (TNR) di dalam kalkulus diferensial: f ( m) f ( n) m n = f ' ( t), m < t < n Karena m - n = h m = n + h, maka f ( m + h) h f ( n) = f ' ( t) atau f(p + h) = f(p) + h f '(t) (P..7) Terapkan (P..7) pada (P..6): f() + hf '(t) + ε =, < t < + h (P..8) Pada persoalan pencarian akar, f() =, sehingga hf '(t) + ε = (P..9) atau ε h = (P..3) f '( t) Terlihat dari P..3 bahwa akar-akar f() = akan berkondisi buruk bila f '(t) bernilai sangat kecil. Bila f '(t) sangat kecil nilainya maka h menjadi sangat besar yang berarti akar bertambah sebesar h tersebut. Bab Deret Taylor dan Analisis Galat 5
60 Masalah seperti ini sering muncul pada pencarian akar kembar (seperti pada contoh di atas). Nilai f '() di sekitar akar kembar sangat kecil (mendekati ), yang berakibat nilai h menjadi sangat besar (lihat Gambar.6). f() f ( + h ) + ε f ( + h ) + ε c Gambar.6 Kondisi buruk pada pencarian akar kembar Contoh persoalan yang berkondisi buruk lainnya adalah persoalan mencari mencari solusi sistem persamaan lanjar berupa titik potong dari dua buah garis lurus yang berbentuk a + by = c yang diubah-ubah koefisiennya (b dan c): (i) + y = y =.9999 Solusi: = y =. (ii) + y = y =. Solusi: =, y = - (iii) + y = + y =.9999 Solusi: tidak ada (iv) + y = + y = Solusi: tidak berhingga, yaitu disepanjang garis + y = 5 Metode Numerik
61 Kondisi buruk yang terjadi pada perhitungan titik potong dua buah garis lurus dapat kita analisis sebagai berikut. Sistem persamaan lanjar di atas dapat ditulis sebagai + y = + ( + ε)y = + δ yang dalam hal ini ε dan δ dalam orde -4. Solusi sistem persamaan lanjar tersebut adalah + y = + ( + ε)y = + δ - -εy = -δ y = δ /ε dan = - δ /ε, ε Nilai ε dan δ sangat penting. Perubahan kecil ε mempunyai pengaruh yang besar pada solusi, yang berarti persoalan mencari solusi sistem persamaan lanjar berkondisi buruk..8 Bilangan Kondisi Kondisi komputasi numerik dapat diukur dengan bilangan kondisi. Bilangan kondisi merupakan ukuran tingkat sejauh mana ketidakpastian dalam diperbesar oleh f() [CHA88]. Bilangan kondisi dapat dihitung dengan bantuan deret Taylor. Fungsi f() diuraikan di sekitar ˆ sampai suku orde pertama: f ( ) f ( ˆ) + f '( ˆ)( ˆ) (P..3) Galat relatif hampiran dari f() adalah f ( ) f ( ˆ) f '( ˆ)( ˆ) ε RA[ f ( )] = (P..3) f ( ˆ) f ( ˆ) dan galat relatif hampiran dari adalah ˆ ε RA[ ] = (P..33) ˆ Bilangan kondisi didefinisikan sebagai nisbah (ratio) antara P..3 dan P..33: Bab Deret Taylor dan Analisis Galat 53
62 Bilangan kondisi = ε [ f ( )] ε [ ] RA = RA f ˆ '( ˆ) f ( ˆ) (P..34) Arti dari bilangan kondisi adalah: - bilangan kondisi = berarti galat relatif hampiran fungsi sama dengan galat relatif - bilangan kondisi lebih besar dari berarti galat relatif hampiran fungsi besar - bilangan kondisi lebih kecil dari berarti galat relatif hampiran fungsi kecil (kondisi baik) Suatu komputasi dikatakan berkondisi buruk jika bilangan kondisinya sangat besar, sebaliknya berkondisi baik bila bilangan kondisinya sangat kecil. Contoh. Misalkan f() =. Tentukan bilangan kondisi perhitungan akar kuadrat. Penyelesaian: Hitung f '() terlebih dahulu f '( ) = yang akan digunakan untuk menghitung bilangan kondisi = ˆ /( ˆ) ˆ = Bilangan kondisi ini sangat kecil, yang berarti penarikan akar kuadrat merupakan proses yang berkondisi baik. Sebagai contoh,.999 = , dan jika.999 diubah sedikit (dibulatkan) menjadi. maka. = Ternyata perubahan kecil pada nilai hanya berakibat perubahan sedikit pada f(). Contoh. Hitung bilangan kondisi f ( ) =. Penyelesaian: Hitung f '() terlebih dahulu 54 Metode Numerik
63 f '( ) = ( ) yang digunakan untuk menghitung bilangan kondisi = ˆ[ˆ /( ˆ ) /( ˆ ) ˆ = ˆ Bilangan kondisi ini sangat besar untuk. Jadi, menghitung f() untuk mendekati atau - sangat buruk keadaannya, karena galat relatifnya besar. Sebagai contoh, f(.9) = , tetapi f(.) = Ternyata perubahan kecil pada nilai di sekitar (karena dibulatkan dari 4 angka bena menjadi 3 angka bena), mengakibatkan nilai f() berubah sangat besar. Untuk yang jauh dari atau, f() berkondisi baik. Contoh. [CHA9] Hitung bilangan kondisi untuk f() = tan(). Penyelesaian: Hitung f '() terlebih dahulu f '( ) = cos ( ) yang digunakan untuk menghitung bilangan kondisi = ˆ [/ cos (ˆ)] tan( ˆ) Bilangan kondisi ini sangat besar untuk π/. Misalkan untuk = π/ +.(π/), bilangan kondisi =.779(4.86)/-6.34 = -. dan untuk = π/ +.(π/), bilangan kondisi =.5865(453)/ = - Orang yang bijaksana belajar dari kesalahan orang lain, hanya orang yang bodohlah yang belajar dari kesalahannya sendiri. (Pepatah Rusia) Bab Deret Taylor dan Analisis Galat 55
64 Soal Latihan. Tentukan hampiran fungsi di bawah ini ke dalam deret Taylor: (a) ln() sampai orde-4 di sekitar =, lalu hampiri nilai ln(.9). (b) f() = e - sampai orde-3 di sekitar =, Lalu hitung nilai f(.) sampai empat angka bena. (c) sinh() = / (e - e - ) di sekitar =, lalu hitung nilai hampiran sinh( ) d (d) sin() sampai orde-3, lalu tentukan batas atas galat sin() jika.5.. (a) Tentukan polinom Maclarin orde 4 untuk f(), kemudian gunakan polinom tersebut untuk menghampiri nilai f(.3), serta tentukan batas atas galatnya. (i) f() = sin() (ii) f() = ln(+) (b) Cari polinom Taylor orde 3 pada = untuk f() = dan perlihatkan bahwa ia mewakili f() secara tepat (c) Hitunglah sin( ) d (i) secara analitis (solusi sejati) (ii) secara numerik, yang dalam hal ini sin() dihampiri dengan deret Maclarin yang telah anda dapatkan pada jawaban (a)(i) di atas. Hitung galat mutlak dan galat relatif hasilnya. Pakailah enam angka bena untuk, baik untuk setiap hasil antara maupun hasil akhir. 3. Hitung. - secara langsung tetapi hasil setiap perhitungan antara dan hasil akhir dibulatkan sampai empat angka bena. Kemudian, hitunglah. - dengan cara yang lebih baik. 4. Carilah akar persamaan kuadrat -. + = dengan rumus abc, yang setiap hasil perhitungan antara maupun hasil perhitungan akhir dibulatkan dengan teknik: (a) pembulatan ke dalam (in-rounding) 56 Metode Numerik
65 (b) pemenggalan (chopping) sampai empat angka bena. Bandingkan hasilnya jika akar terbesar ( ) dihitung dengan rumus abc dan akar terkecil ( ) dengan rumus = c/a 5. Diberikan beberapa bilangan titik-kambang yang telah dinormalkan sebagai berikut: a = b =.3654 c = d = Bila mesin yang digunakan untuk operasi aritmetika mempunyai tujuh angka bena, hitung hasil komputasi yang diberikan oleh mesin tersebut (dalam bentuk bilangan titik-kambang ternormalisasi): (i) a + b + c + d (ii) a + c + d + b (iii) a - c (iv) ab c 6. Misalkan digunakan mesin hipotetik dengan mantis empat angka bena. Lakukan operasi aritmetika untuk bilangan titik-kambang ternormalisasi berikut. Normalkan hasilnya. (a) (b) (c) Carilah cara yang lebih baik untuk menghitung: (i) f() = ( - sin())/tan() untuk mendekati nol (ii) f() = - ( - a) untuk yang jauh lebih besar dari a (iii) f() = cos () - sin () untuk di sekitar π/4 (iv) f() = log( + ) - log() untuk yang besar (v) ( + α ) / -, α. sampai enam angka bena (vi) sin(α + ) - sin(α) untuk yang kecil (vii) (a + ) n - a n untuk yang kecil (viii) (( 3-3 ) + 3) - untuk =.7 (i) ( + cos )/ untuk π/4 Bab Deret Taylor dan Analisis Galat 57
66 8. Bagaimana cara menghitung 3 α sin( ) sin( α ) + α 4 8 sampai 6 angka bena untuk α.? (Petunjuk : gunakan deret Maclaurin) 9. Diketahui f() = cos(). Tentukan f '() dengan teorema dasar turunan: f ( + h) f ( ) h lim = f '( ) h Hitung f '() dengan bermacam-macam h =.,.,.,.,.,.. Untuk memperbaiki hasil perhitungan, hitunglah f '() dengan cara yang lebih baik.. (a) Hitunglah dengan lima angka bena nilai f(3.4) bila f ( ) = ( +. ) (b) Perbaiki hasil perhitungan anda dengan mengubah metode komputasi.. Tentukan bilangan kondisi fungsi-fungsi berikut ini dan tentukan apakah fungsi tersebut berkondisi baik atau berkondisi buruk. Jika berkondisi baik, tentukan di berapakah fungsi ini berkondisi buruk (berikan contoh nilai untuk memperjelas jawaban anda) (a) f() = /( - ) (b) f() = (c) f() = n (d) f() = sin() (e) f() = log(). Uraikan f() = cos() di sekitar = π/4. Hitunglah f(π/3) sampai galat relatif hampiran kurang dari.5%. (Petunjuk: hitung suku demi suku, setiap kali menambahkan dengan jumlah suku yang lama, hitung galat relatif hampiran) Esensi dari matematika adalah kebebasannya (George Cantor) 58 Metode Numerik
67 Bab 3 Solusi Persamaan Nirlanjar Saya tidak tahu bagaimana saya tampak pada dunia; tetapi bagi saya sendiri saya nampaknya hanyalah seperti seorang anak laki-laki yang bermain-main di pantai, dan mengalihkan diri sendiri sekarang dan kemudian menemu kan koral yang lebih halus atau kerang yang lebih indah daripada yang biasa, sementara samudera besar kebenaran semuanya terbentang di hadapan saya tak terungkapkan. (Isaac Newton) Dalam bidang sains dan rekayasa, para ahli ilmu alam dan rekayasawan sering berhadapan dengan persoalan mencari solusi persamaan lazim disebut akar persamaan (roots of equation) atau nilai-nilai nol yang berbentuk f() =. Beberapa persamaan sederhana mudah ditemukan akarnya. Misalnya 3 =, pemecahannya adalah dengan memindahkan -3 ke ruas kanan sehingga menjadi = 3, dengan demikian solusi atau akarnya adalah = 3/. Begitu juga persaman kuadratik seperti 4 5 =, akar-akarnya mudah ditemukan dengan cara pemfaktoran menjadi ( 5)( + ) = sehingga = 5 dan = -. Umumnya persamaan yang akan dipecahkan muncul dalam bentuk nirlanjar (non linear) yang melibatkan bentuk sinus, cosinus, eksponensial, logaritma, dan fungsi transenden lainnya. Misalnya,. Tentukan akar riil terkecil dari =. Kecepatan ke atas sebuah roket dapat dihitung dengan memakai rumus berikut: m v = u ln gt m qt Bab 3 Solusi Persamaan Nirlanjar 59
68 yang dalam hal ini v adalah kecepatan ke atas, u adalah kecepatan pada saat bahan bakar dikeluarkan relatif terhadap roket, m massa awal roket pada saat t =, q laju pemakaian bahan bakar, dan g percepatan gravitasi (= 9.8 m/det ). Jika u = m/det, m = 6 kg, dan q = 68 kg/det, hitunglah waktu saat v = m/det. (Nyatakan persamaan dengan ruas kanan sama dengan : v - u ln[m /(m - qt)] + gt = ) 3. Dalam teknik kelautan, persamaan gelombang berdiri yang dipantulkan oleh dermaga pelabuhan diberikan oleh h = h { sin(π/λ) cos (πtv/λ) + e - } Tentukan jika h =.5h, λ =, t = dan v = 5! (Nyatakan persamaan dengan ruas kanan sama dengan : h - h { sin(π/λ) cos (πtv/λ) + e - } = ) 4. Suatu arus osilasi dalam rangkaian listrik diberikan oleh I = e -t sin(π t) yang dalam hal ini t dalam detik. Tentukan semua nilai t sedemikan sehingga I = ampere. (Nyatakan persamaan dengan ruas kanan sama dengan : I - e -t sin(π t) = ) 5. Dalam bidang teknik lingkungan, persamaan berikut ini dapat digunakan untuk menghitung tingkat oksigen pada hilir sungai dari tempat pembuangan limbah: c = - 5(e -. - e -.5 ) yang dalam hal ini adalah jarak hilir sungai ke tempat pembuangan limbah. Tentukan jarak hilir sungai tersebut bila pembacaan pertama pada alat pengukur tingkat oksigen adalah 4 bila pengukur berada 5 mil dari pembuangan. (Nyatakan persamaan dengan ruas kanan sama dengan : ) c - - 5(e -. - e -.5 ) = 6 Metode Numerik
69 6. Reaksi kesetimbangan A + B C dapat dicirikan oleh hubungan setimbang K = [ C] [ A] [ B] yang dalam hal ini [.] menyatkan konsentrasi zat kimia. Andaikan bahwa kita mendefenisikan peubah sebagai jumlah mol C yang dihasilkan. Hukum kekekalan massa dapat dipakai untuk merumuskan ulang hubungan keseimbangan itu sebagai K = [ C ] + [ A ] )( [ B ] ) ( yang dalam hal ini indeks menounjukkan konsentrasi awal tiap unsur. Jika diketahui tetapan kesetimbangan K =.5 -, dan konsentrasi larutan [A ] = 5, [B ] = 4, dan [C ] = 5, hitunglah. (Nyatakan persamaan dengan ruas kanan sama dengan : [ C ] + [ A ] )( [ B ] K = ) ) ( Keenam contoh di atas memperlihatkan bentuk persamaan yang rumit/kompleks yang tidak dapat dipecahkan secara analitik (seperti persamaan kuadratik pada paragraf awal). Bila metode analitik tidak dapat menyelesaikan persamaan, maka kita masih bisa mencari solusinya dengan menggunakan metode numerik. 3. Rumusan Masalah Persoalan mencari solusi persamaan nirlanjar dapat dirumuskan secara singkat sebagai berikut: tentukan nilai yang memenuhi persamaan f() = (P.3.) yaitu nilai = s sedemikian sehingga f(s) sama dengan nol. Bab 3 Solusi Persamaan Nirlanjar 6
70 3. Metode Pencarian Akar Dalam metode numerik, pencarian akar f() = dilakukan secara lelaran (iteratif). Sampai saat ini sudah banyak ditemukan metode pencarian akar. Secara umum, semua metode pencarian akar tersebut dapat dikelompokkan menjadi dua golongan besar:. Metode tertutup atau metode pengurung (bracketing method) Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a, b]. Selang [a, b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.. Metode terbuka Berbeda dengan metode tertutup, metode terbuka tidak memerlukan selang [a, b] yang mengandung akar. Yang diperlukan adalah tebakan (guest) awal akar, lalu, dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap kali lelaran, hampiran akar yang lama dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin juga menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen. 3.3 Metode Tertutup Seperti yang telah dijelaskan, metode tertutup memerlukan selang [a,b] yang mengandung akar. Sebagaimana namanya, selang tersebut mengurung akar sejati. Tata-ancang (strategy) yang dipakai adalah mengurangi lebar selang secara sistematis sehingga lebar selang tersebut semakin sempit, dan karenanya menuju akar yang benar. Dalam sebuah selang mungkin terdapat lebih dari satu buah akar atau tidak ada akar sama sekali. Secara grafik dapat ditunjukkan bahwa jika: () f(a)f(b) < maka terdapat akar sebanyak bilangan ganjil (Gambar 3.). 6 Metode Numerik
71 a b a b (a) (b) Gambar 3. Banyaknya akar ganjil () f(a)f(b) > maka terdapat akar sebanyak bilangan genap atau tidak ada akar sama sekali (Gambar 3.). a b a b (a) (b) Gambar 3. Banyaknya akar genap Syarat Cukup Keberadaan Akar Gambar 3. memperlihatkan bahwa selalu ada akar di dalam selang [a, b] jika nilai fungsi berbeda tanda (+/-) di = a dan = b. Tidak demikian halnya jika nilai fungsi di ujung-ujung selang sama tandanya, yang mengisyaratkan mungkin ada akar atau tidak ada sama sekali. Jadi, jika nilai fungsi berbeda tanda tanda di ujung-ujung selang, pastilah terdapat paling sedikit satu buah akar di dalam selang tersebut. Dengan kata lain, syarat cukup keberadaan akar persamaan kita tulis sebagai berikut: Jika f(a) f(b) < dan f() menerus di dalam selang [a, b], maka paling sedikit terdapat satu buah akar persamaan f() = di dalam selang [a, b]. Bab 3 Solusi Persamaan Nirlanjar 63
72 Syarat ini disebut syarat cukup -bukan syarat perlu- sebab meskipun nilai-nilai di ujung selang tidak berbeda tanda, mungkin saja terdapat akar di dalam selang tersebut (seperti ditunjukkan pada Gambar 3.). Syarat cukup keberadaan akar ini ditunjukkan pada Gambar 3.3. y = f() a akar b Gambar 3.3 Lokasi akar Ada dua masalah yang terjadi karena ketidaktepatan mengambil selang [a, b]. Masalah pertama adalah bila di dalam selang [a, b] terdapat lebih dari satu buah akar. Sekali suatu metode tertutup digunakan untuk mencari akar di dalam selang [a, b], ia hanya menemukan sebuah akar saja. Karena itu, bila kita mengambil selang [a, b] yang mengandung lebih dari satu akar, hanya satu buah akar saja yang berhasil ditemukan (lihat kembali Gambar 3.(b)). Masalah kedua adalah bila mengambil selang [a, b] yang tidak memenuhi syarat cukup. Adakalanya kita dapat kehilangan akar karena selang [a, b] yang diambil ternyata tidak memenuhi syarat cukup f(a)f(b) <. Sehingga, kita mungkin sampai pada kesimpulan tidak terdapat akar di dalam selang [a, b] tersebut, padahal seharusnya ada (lihat kembali Gambar 3. (b)). Untuk mengatasi kedua masalah di atas, pengguna metode tertutup disarankan mengambil selang yang berukuran cukup kecil yang memuat hanya satu akar. Ada dua pendekatan yang dapat kita gunakan dalam memilih selang tersebut. Bentuk implikasi jika p maka q bisa dibaca sebagai p adalah syarat cukup untuk q. Di dalam kalkulus proposisi, pernyataan jika p maka q (dilambangkan dengan p q) adalah benar kecuali jika p benar dan q salah. Jadi, pernyataan tersebut tetap benar meskipun f(a)f(b) > dan di dalam selang [a, b] terdapat paling sedikit satu buah akar atau tidak terdapat akar sama sekali. Pernyataan tersebut jelas salah bila f(a)f(b) > dan di dalam selang [a, b] terdapat paling sedikit satu buah akar (tidak mungkin). 64 Metode Numerik
73 Pendekatan pertama adalah membuat grafik fungsi di bidang X-Y, lalu melihat di mana perpotongannya dengan sumbu-x. Dari sini kita dapat mengira-ngira selang yang memuat titik potong tersebut. Grafik fungsi dapat dibuat dengan program yang ditulis sendiri, atau lebih praktis menggunakan paket program yang dapat membuat grafik fungsi. Pendekatan yang kedua adalah dengan mencetak nilai fungsi pada titik-titik absis yang berjarak tetap. Jarak titik ini dapat diatur cukup kecil. Jika tanda fungsi berubah pada sebuah selang, pasti terdapat minimal satu akar di dalamnya. Program 3. berisi prosedur untuk menemukan selang yang cukup kecil yang mengandung akar. Program ini mencetak tabel titik-titik sepanjang selang [a, b]. Dari tabel tersebut kita dapat menentukan upaselang yang nilai fungsi di ujungujungnya berbeda tanda. Keberhasilan dari pendekatan ini bergantung pada jarak antara titik-titik absis. Semakin kecil jarak titik absis, semakin besar peluang menemukan selang yang mengandung hanya sebuah akar. Program 3. Menemukan selang kecil yang mengandung akar procedure Cari_SelangKecilYangMengandungAkar(a, b, h: real); { Menentukan dan mencetak nilai-nilai fungsi untuk absis di dalam selang [a, b]. Jarak antara tiap absis adalah h. K.Awal: a dan b adalah ujung-ujung selang, nilainya sudah terdefenisil; h adalah jarak antara tiap absis K.Akhir: tabel yang berisi dan f() dicetak ke layar } var : real; begin :=a; writeln(' '); writeln(' f() '); writeln(' '); while <= b do begin writeln(:5:, f()::6); :=+h; end; { > b } writeln(' '); end; Bila Program 3. digunakan untuk mencari selang kecil yang mengandung akar pada fungsi f() = e - 5 mulai dari a = -.5 sampai b =.4 dengan kenaikan absis sebesar h =., maka hasilnya tampak pada tabel berikut: Bab 3 Solusi Persamaan Nirlanjar 65
74 f() Berdasarkan tabel di atas, selang yang cukup kecil yang mengandung akar adalah [-.4, -.3] dan [.6,.7] karena nilai fungsi berubah tanda di ujung-ujung selangnya. Selang [.,.] juga dapat kita ambil tetapi cukup lebar, demikian juga [-.5,.4], [-.3,.8], dan seterusnya. Ada dua metode klasik yang termasuk ke dalam metode tertutup, yaitu metode bagidua dan metode regula-falsi. Masing-masing metode kita bahas lebih rinci di bawah ini Metode Bagidua Misalkan kita telah menentukan selang [a, b] sehingga f(a)f(b) <. Pada setiap kali lelaran, selang [a, b] kita bagi dua di = c, sehingga terdapat dua buah upaselang yang berukuran sama, yaitu selang [a, c] dan [c, b]. Selang yang diambil untuk lelaran berikutnya adalah upaselang yang memuat akar, bergantung pada apakah f(a)f(c) < atau f(c)f(b) <. Nama lainnya adalah metode Bolzano 66 Metode Numerik
75 [a, b] bagi dua di = c [a, c] [c, b] f(a)f(c) <? ya tidak selang baru: [a, b] [a, c] selang baru: [a, b] [c, b] Selang yang baru dibagi dua lagi dengan cara yang sama. Begitu seterusnya sampai ukuran selang yang baru sudah sangat kecil (lihat Gambar 3.4). Kondisi berhenti lelaran dapat dipilih salah satu dari tiga kriteria berikut:. Lebar selang baru: a - b < ε, yang dalam hal ini ε adalah nilai toleransi lebar selang yang mengurung akar.. Nilai fungsi di hampiran akar: f(c) =. Beberapa bahasa pemrograman membolehkan pembandingan dua buah bilangan riil, sehingga perbandingan f(c) = dibenarkan. Namun kalau kita kembali ke konsep awal bahwa dua buah bilangan riil tidak dapat dibandingkan kesamaannya karena representasinya di dalam mesin tidak tepat, maka kita dapat menggunakan bilangan yang sangat kecil (misalnya epsilon mesin) sebagai pengganti nilai. Dengan demikian, menguji kesamaan f(c) = dapat kita hampiri dengan f(c) < epsilon_mesin. 3. Galat relatif hampiran akar: (c baru - c lama )/c baru < δ, yang dalam hal ini δ adalah galat relatif hampiran yang diinginkan. y = f() a c c b c Gambar 3.4 Proses pembagian selang [a, b] dengan metode bagidua Bab 3 Solusi Persamaan Nirlanjar 67
76 Program 3. berisi algoritma metode bagidua. Di dalam algoritma tersebut, format penulisan keluaran tidak dituliskan untuk menghindari kerumitan algoritma dari hal-hal yang tidak esensial. Program 3. Metode bagidua procedure BagiDua(a,b: real); { Mencari akar f()= di dalam selang [a,b] dengan metode bagidua K.Awal : a dan b adalah ujung-ujung selang sehingga f(a)*f(b) <, nilai a dan b sudah terdefinisi. K.Akhir : Hampiran akar tercetak di layar. } const epsilon =.; {batas lebar selang akhir lelaran} epsilon =.; {bilangan yang sangat kecil, mendekati nol} begin repeat c:=(a+b)/; { titik tengah [a,b]} if f(a)*f(c) < then b:=c {selang baru [a,b]=[a,c]} else a:=c; {selang baru [a,b]=[c,b]} until (ABS(a-b)< epsilon) or (f(c)) < epsilon); { c adalah akar persamaan } writeln( Hampiran kar =, ::6); end; Kasus yang Mungkin Terjadi pada Penggunaan Metode Bagidua. Jumlah akar lebih dari satu Bila dalam selang [a, b] terdapat lebih dari satu akar (banyaknya akar ganjil), hanya satu buah akar yang dapat ditemukan (lihat kembali Gambar 3.(b)). Cara mengatasinya: gunakan selang [a,b] yang cukup kecil yang memuat hanya satu buah akar.. Akar ganda. Metode bagidua tidak berhasil menemukan akar ganda. Hal ini disebabkan karena tidak terdapat perbedaan tanda di ujung-ujung selang yang baru (Gambar 3.5). Contoh: f() = ( - 3) = ( - 3)( - 3), mempunyai dua akar yang sama, yaitu = Metode Numerik
77 y = f() akar ganda Gambar 3.4 Akar ganda Cara mengatasinya: akan dibahas pada upabab Singularitas. Pada titik singular, nilai fungsinya tidak terdefinisi. Bila selang [a, b] mengandung titik singular, lelaran metode bagidua tidak pernah berhenti. Penyebabnya, metode bagidua menganggap titik singular sebagai akar karena lelaran cenderung konvergen. Yang sebenarnya, titik singular bukanlah akar, melainkan akar semu (Gambar 3.6) y titik singular a b Gambar 3.6 Fungsi singular Cara mengatasinya: periksa nilai f(b) - f(a). Jika f(b) - f(a) konvergen ke nol, akar yang dicari pasti akar sejati, tetapi jika f(b) - f(a) divergen, akar yang dicari merupakan titik singular (akar semu). Pada setiap lelaran pada metode bagidua, kita mencatat bahwa selisih antara akar sejati dengan akar hampiran tidak pernah melebihi setengah panjang selang saat itu. Pernyataan ini dinyatakan degan teorema berikut. Bab 3 Solusi Persamaan Nirlanjar 69
78 TEOREMA 3.. Jika f() menerus di dalam selang [a,b] dengan f(a) f(b) < dan s [a, b] sehingga f(s) = dan c r = (a r + b r )/, maka selalu berlaku dua ketidaksamaan berikut: dan Bukti: (i) s c b a / r r b a (ii) s c r, r =,,,... r+ r Misalkan pada lelaran ke-r kita mendapatkan selang [a r, b r ] yang panjangnya setengah panjang selang sebelumnya, [a r -, b r - ]. Jadi, b r a r = b a r r / Jelaslah bahwa b - a = b - a / = b - a / b - a = b - a / = b - a / b 3 - a 3 = b - a / = b - a / 3... b r - a r = b r - - a r - / = b - a / r Pada lelaran ke-r, posisi c r (akar hampiran) dan s (akar sejati) adalah seperti diagram berikut: a r s c r b r Berdasarkan diagram di atas jelaslah bahwa s c r b r a r Selanjutnya, br a r b a b a s cr = = r r+ 7 Metode Numerik
79 Jadi, selisih antara akar sejati dengan akar hampiran tidak pernah lebih dari setengah epsilon. Dengan mengingat kriteria berhenti adalah b r - a r < ε, maka dari (i) terlihat bahwa s cr < a / sehingga b a ε < r+ r > b a / ε ln() > ln ( b a ) ln ( ε ) ln ( b a ) ln ( ε ) r ket: ln adalah logaritma natural r > ln R > ln ( ) ( b a ) ln ( ε ) ln ( ) yang dalam hal ini R adalah jumlah lelaran (jumlah pembagian selang) yang dibutuhkan untuk menjamin bahwa c adalah hampiran akar yang memiliki galat kurang dari ε. Contoh 3. Temukan akar f() = e - 5 di dalam selang [, ] dan ε =.. Penyelesaian: Tabel lelaran menggunakan metode bagidua: r a c b f(a) f(c) f(b) Selang baru Lebarnya [c, b] [a, c] [a, c] [c, b] [c, b] [a, c] [c, b] [a, c] [c, b] [c, b].977 Bab 3 Solusi Persamaan Nirlanjar 7
80 [c, b] [c, b] [a, c] [a, c] [c, b] [a, c] [c, b] Jadi, hampiran akarnya adalah =.6563 Jumlah lelaran yang dibutuhkan R > ln( ) ln(.) ln() > Jadi, dibutuhkan minimal 7 kali lelaran (r = sampai dengan r =6), sesuai dengan jumlah lelaran pada tabel, agar galat akar hampiran kurang dari ε Metode Regula-Falsi Meskipun metode bagidua selalu berhasil menemukan akar, tetapi kecepatan konvergensinya sangat lambat. Kecepatan konvergensi dapat ditingkatkan bila nilai f(a) dan f(b) juga turut diperhitungkan. Logikanya, bila f(a) lebih dekat ke nol daripada f(b) tentu akar lebih dekat ke = a daripada ke = b. Metode yang memanfaatkan nilai f(a) dan f(b) ini adalah metode regula-falsi (bahasa Latin) atau metode posisi palsu. (false position method). Dengan metode regula-falsi, dibuat garis lurus yang menghubungkan titik (a, f(a)) dan (b, f(b)). Perpotongan garis tersebut dengan sumbu- merupakan taksiran akar yang diperbaiki. Garis lurus tadi seolah-olah berlaku menggantikan kurva f() dan memberikan posisi palsu dari akar. y y = f() B a C c b A Gambar 3.7 Metode regula-falsi 7 Metode Numerik
81 Perhatikan Gambar 3.7: gradien garis AB = gradien garis BC f ( b) f ( a) b a = ( b) f b c yang dapat disederhanakan menjadi c = ( b)( b a) ( b) f ( a) f b (P.3.) f Algoritma regula-falsi (lihat Program 3.3) hampir sama dengan algoritma bagidua kecuali pada perhitungan nilai c. Program 3.3 Metode regula-falsi procedure regula_falsi(a, b: real); { Mencari akar f()= di dalam selang [a,b] dengan metode regulafalsi K.Awal : a dan b adalah ujung-ujung selang sehingga f(a)*f(b) <, harga a dan b sudah terdefenisi K.Akhir : Hampiran akar tercetak di layar } const epsilon =.; {batas lebar selang akhir lelaran} epsilon =.; {bilangan yang sangat kecil, bisa diganti } begin repeat c:=b-(f(b)*(b-a)/(f(b)-f(a))); if abs(f(c))< epsilon then {f(c) =, c adalah akar} begin a:=c; b:=c; end else if f(a)*f(c) < then b:=c; {selang baru [a,b]=[a,c]} else a:=c; {selang baru [a,b]=[c,b]} until ABS(a-b)< epsilon; { c adalah hampiran akar } writeln( Hampiran akar :, c::6); end; Secara umum, metode regula-falsi lebih cepat konvergensinya dibandingkan dengan metode bagidua. Namun, pada beberapa kasus kecepatan konvergensinya justru lebih lambat. Bila kita memakai Program 3.4 untuk menghitung akar f() = e - 5 di dalam selang [, ] dan ε =., maka tabel lelarannya yang dihasilkan adalah sebagai berikut: Bab 3 Solusi Persamaan Nirlanjar 73
82 r a c b f(a) f(c) f(b) Selang baru Lebarnya [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [c,b] [a,c] Hampiran akar =.6567 Jumlah lelaran tabel di atas =, lebih banyak daripada jumlah lelaran metode bagidua. Bila diperhatikan, dari lelaran sampai lelaran, nilai a, b, c tidak pernah berubah, padahal f(c) sudah sangat kecil ( ). Kasus seperti ini akan terjadi bila kurva fungsinya cekung (konkaf) di dalam selang [a, b]. Akibatnya, garis potongnya selalu terletak di atas kurva (bila kurvanya cekung ke atas) atau selalu terletak di bawah kurva (bila kurvanya cekung ke bawah). Perhatikan Gambar 3.8. y = f() a a =c a =c c b b b... Gambar 3.8 Garis potong selalu terletak di atas kurva y = f() 74 Metode Numerik
83 Pada kondisi yang paling ekstrim, b - a r tidak pernah lebih kecil dari ε, sebab salah satu titik ujung selang, dalam hal ini b, selalu tetap untuk setiap lelaran r =,,,.... Titik ujung selang yang tidak pernah berubah itu dinamakan titik mandek (stagnant point). Pada titik mandek, b r - a r = b - a r r =,,,... yang dapat mengakibatkan program mengalami looping. Untuk mengatasi hal ini, kondisi berhenti pada algoritma regula-falsi harus kita tambah dengan memeriksa apakah nilai f(c) sudah sangat kecil sehingga mendekati nol. Jadi, kondisi pada repeat-until menjadi until (ABS(a-b) < epsilon) or (ABS(f(c)) < epsilon) Bila perubahan ini diterapkan pada soal pencarian akar di atas dengan epsilon =., lelarannya akan berhenti pada r = dengan akar = Perbaikan Metode Regula-Falsi Untuk mengatasi kemungkinan kasus titik mandek, metode regula-falsi kemudian diperbaiki (modified false position method). Caranya, pada akhir lelaran r =, kita sudah memperoleh selang baru akan dipakai pada lelaran r =. Berdasarkan selang baru tersebut, tentukan titik ujung selang yang tidak berubah (jumlah perulangan > ) - yang kemudian menjadi titik mandek. Nilai f pada titik mandek itu diganti menjadi setengah kalinya, yang akan dipakai pada lelaran r =. Misalkan fungsi f() cekung ke atas di dalam selang [a, b] seperti yang ditunjukkan pada Gambar 3.9. y = f() a c c f(b)/ c b Gambar 3.9 Perbaikan metode regula-falsi Bab 3 Solusi Persamaan Nirlanjar 75
84 Setelah menghitung nilai c pada lelaran r =, ujung selang b untuk lelaran r = tidak berubah. Titik b menjadi titik mandek. Karena itu, untuk lelaran r =, nilai f(b) yang dipakai adalah f(b)/. Begitu juga untuk lelaran r =, nilai f(b) yang dipakai adalah setengah dari nilai f(b) sebelumnya. Pada akhir lelaran r =, c sudah terletak di bawah kurva y = f(). Selang yang dipakai selanjutnya adalah [c, c ]. Dengan cara ini kita dapat menghilangan titik mandek yang berkepanjangan. Program 3.3 kita modifikasi menjadi Program 3.4. Program 3.4 Metode regula-falsi yang diperbaiki procedure perbaikan_regula_falsi(a, b: real); { Mencari akar f()= di dalam selang [a,b] dengan metode regula-falsi yang diperbaiki K.Awal : a dan b adalah ujung-ujung selang sehingga f(a)*f(b) <, harga a dan b sudah terdefenisi K.Akhir : akar persamaan tercetak di layar } const epsilon =.; {batas lebar selang akhir lelaran} epsilon =.; {batas galat nilai fungsi di hampiran akar} var FA, FB, simpan : real; mandek_kiri, mandek_kanan : integer; {jumlah perulangan titik ujung selang} begin FA:=f(a); FB:=f(b); mandek_kiri:=; mandek_kanan:=; repeat c:=b-(fb*(b-a)/(fb-fa)); if abs(f(c)) < epsilon then {f(c) =, c adalah akar} begin a:=c; b:=c; end else begin if f(a)*f(c) < then begin b:=c {selang baru [a,b]=[a,c]} FB:=f(c); mandek_kiri:=mandek_kiri + ; mandek_kanan:=; if mandek_kiri > then FA:=FA/; {a menjadi titik mandek } end else begin a:=c; {selang baru [a,b]=[c,b]} FA:=f(c); mandek_kanan:=mandek_kanan + ; mandek_kiri:=; if mandek_kanan > then FB:=FB/; {b menjadi titik mandek} end; 76 Metode Numerik
85 end; until (ABS(a-b)< epsilon) OR (ABS(f(c)) < epsilon); { c adalah taksiran akar ) writeln( Hampiran akar :, c::6); end; Tabel lelaran dari Program 3.4 untuk menghitung akar f() = e - 5 di dalam selang [, ] dengan ε =. dan δ =. adalah sebagai berikut: r a c b f(a) f(c) f(b) Selang baru Lebarnya [c,b].6958 (*/) [a,c] [c,b] [c,b].4538 (*/) [a,c] [c,b] Hampiran akar =.6567 Terlihat bahwa jumlah lelarannya berkurang menjadi sepertiga semula. Harus dicatat bahwa metode regula-falsi yang diperbaiki tetap berlaku untuk fungsi yang tidak cekung sekalipun. Jadi, jika anda memprogram dengan metode regula-falsi, pakailah Program 3.4 ini untuk semua kemungkinan kasus fungsi. 3.4 Metode Terbuka Tidak seperti pada metode tertutup, metode terbuka tidak memerlukan selang yang mengurung akar. Yang diperlukan hanya sebuah tebakan awal akar atau dua buah tebakan yang tidak perlu mengurung akar. Inilah alasan mengapa metodenya dinamakan metode terbuka. Hampiran akar sekarang didasarkan pada hampiran akar sebelumnya melalui prosedur lelaran. Kadangkala lelaran konvergen ke akar sejati, kadangkala ia divergen. Namun, apabila lelarannya konvergen, konvergensinya itu berlangsung sangat cepat dibandingkan dengan metode tertutup. Yang termasuk ke dalam metode terbuka:. Metode lelaran titik-tetap (fied-point iteration). Metode Newton-Raphson 3. Metode secant Bab 3 Solusi Persamaan Nirlanjar 77
86 3.4.. Metode Lelaran Titik-Tetap Metode ini kadang-kadang dinamakan juga metode lelaran sederhana, metode langsung, atau metode sulih beruntun. Kesederhanaan metode ini karena pembentukan prosedur lelarannya mudah dibentuk sebagai berikut: Susunlah persamaan f() = menjadi bentuk = g(). Lalu, bentuklah menjadi prosedur lelaran r+ = g( r ) (P.3.3) dan terkalah sebuah nilai awal, lalu hitung nilai,, 3,..., yang mudahmudahan konvergen ke akar sejati s sedemikian sehingga f(s) = dan s = g(s). Kondisi berhenti lelaran dinyatakan bila r+ - r < ε atau bila menggunakan galat relatif hampiran r+ r+ r < δ dengan ε dan δ telah ditetapkan sebelumnya. Program lelaran titik-tetap ditunjukkan oleh Program 3.5. Program 3.5 Metode lelaran titik-tetap procedure lelaran_titik_tetap(:real); { mencari akar f() = dengan metode lelaran titik-tetap K.Awal : adalah tebakan awal akar, nilainya sudah terdefinisi K.Akhir: akar persamaan tercetak di layar } const epsilon =.; var _sebelumnya: real; function g(:real): real; {mengembalikan nilai g(). Definisikan g(), ), lihat Contoh 3. } begin repeat _sebelumnya:=; 78 Metode Numerik
87 :=g(); until ABS(-_sebelumnya) < epsilon; { adalah hampiran akar } write( Hampiran akar =, ::6); end; Program 3.5 hanya menangani lelaran yang konvergen. Program harus dimodifikasi menjadi Program 3.6 untuk menangani lelaran yang divergen. Salah satu cara penanganannya adalah dengan membatasi jumlah maksimum lelaran (Nmaks). Jika jumlah lelaran lebih besar dari Nmaks, maka diasumsikan lelarannya divergen. Program 3.6 Metode lelaran titik-tetap (dengan penanganan kasus divergen) procedure lelaran_titik_tetap(:real); { mencari akar f() = dengan metode lelaran titik-tetap K.Awal : adalah tebakan awal akar, nilainya sudah terdefinisi K.Akhir: akar persamaan tercetak di layar } const epsilon =.; Nmaks = 3; var _sebelumnya: real; { hampiran nilai akar pada lelaran sebelumnya } i : integer; { pencacah jumlah lelaran } function g(:real): real; {mengembalikan nilai g(). Definisikan g() di sini, lihat Contoh 3. } begin i:=; repeat _sebelumnya:=; :=g(); i:=i+; until (ABS(-_sebelumnya) < epsilon) or (i > Nmaks); { adalah hampiran akar } if i > Nmaks then write( Divergen! ) else write( Hampiran akar =, ::6); end; Contoh 3. Carilah akar persamaan f() = = dengan metode lelaran titik-tetap. Gunakan ε =.. Penyelesaian: Terdapat beberapa kemungkinan prosedur lelaran yang dapat dibentuk. (a) = Bab 3 Solusi Persamaan Nirlanjar 79
88 = + 3 = ( + 3) Dalam hal ini, g() = ( + 3). Prosedur lelarannya adalah r+ = ( r + 3). Ambil terkaan awal =4 Tabel lelarannya: r r r+ - r Hampiran akar = 3. (konvergen monoton) (b) = (-) = 3 = 3/( - ) Dalam hal ini, g() = 3/( - ). Prosedur lelarannya adalah r+ = 3/( r - ). Ambil terkaan awal = 4 Tabel lelarannya: i r r+ - r Metode Numerik
89 Hampiran akar = -. (konvergen berosilasi) (c) = = ( - 3)/ Prosedur lelarannya adalah r+ = ( r - 3)/. Ambil terkaan awal =4 Tabel lelarannya: i r r+ - r Ternyata lelarannya divergen! Contoh 3.3 Apa yang terjadi dengan pemilihan beragam nilai pada pencarian akar persamaan = dengan prosedur lelaran 3 r + 3 r+ = [PUR84] 6 Cobakan dengan: =.5, =.5, =., =.7 Bab 3 Solusi Persamaan Nirlanjar 8
90 Penyelesaian: Tabel lelarannya adalah sebagai berikut: r r r r r r r r Konvergen Divergen Terlihat dengan pengambilan yang cukup dekat ke akar sejati, proses akan konvergen, tetapi jika kita mengambil terlalu jauh dari akar sejati, ia akan divergen. Kadang-kadang lelaran konvergen, kadang-kadang ia divergen. Adakah suatu tanda bagi kita untuk mengetahui kapan suatu lelaran konvergen dan kapan divergen? Kriteria konvergensi Diberikan prosedur lelaran r+ = g( r ) (P.3.4) Misalkan = s adalah solusi f() = sehingga f(s) = dan s = g(s). Selisih antara r+ dan s adalah r+ - s = = g( r ) - s ( r ) ( s) g r s ( s) r (P.3.5) Terapkan teorema nilai rata-rata pada persamaan (P.3.5) sehingga r+ - s = g'(t)( r - s) (P.3.6) 8 Metode Numerik
91 yang dalam hal ini r+ < t < s. Misalkan galat pada lelaran ke-r dan lelaran ke-(r+) adalah ε r = r - s dan ε r+ = r+ - s Persamaan (P.4.6) dapat kita tulis menjadi ε r+ = g'(t) ε r (P.3.7) atau dalam tanda mutlak ε r+ = g'(t) ε r K ε r Berapakah batas-batas nilai K itu? Misalkan dan berada di dalam selang sejauh h dari s, yaitu s - h < < s + h. Jika lelaran konvergen di dalam selang tersebut, yaitu,,, 3,... menuju s, maka galat setiap lelaran berkurang. Jadi, haruslah dipenuhi kondisi ε r+ K ε r K ε r- K 3 ε r-... K r+ ε Kondisi tersebut hanya berlaku jika g'() K < Karena K <, maka K r+ untuk r ; di sini r+ - s. TEOREMA 3.. Misalkan g() dan g'() menerus di dalam selang [a,b] = [s-h, s+h] yang mengandung titik tetap s dan nilai awal dipilih dalam selang tersebut. Jika g'() < untuk semua [a, b] maka lelaran r+ = g( r ) akan konvergen ke s. Pada kasus ini s disebut juga titik atraktif. Jika g'() > untuk semua [a, b] maka lelaran r+ = g( r ) akan divergen dari s. Teorema 3. dapat kita sarikan sebagai berikut: Di dalam selang I = [s-h, s+h], dengan s titik tetap, jika < g'() < untuk setiap I, maka lelaran konvergen monoton; jika -< g'() < untuk setiap I, maka lelaran konvergen bersosilasi; jika g'() > untuk setiap I, maka lelaran divergen monoton; jika g'() < - untuk setiap I, maka lelaran divergrn berosilasi. Semuanya dirangkum seperti pada Gambar 3... Bab 3 Solusi Persamaan Nirlanjar 83
92 Sebagai catatan, keadaan g'() = tidak didefinisikan. Catat juga bahwa semakin dekat nilai g'() ke nol di dekat akar, semakin cepat kekonvergenan metode lelaran titik-tetap ini [PUR84]. y y = y = g() y y = y = g() s s (a) Konvergen monoton: < g () < (b) Konvergen berosilasi: < g () < y y = g() y = y y = y = g() s s (c) Divergen monoton: g () > (d) Divergen berosilasi: g () < - Gambar 3. Jenis-jenis kekonvergenan Sekarang, mari kita analisis mengapa pencarian akar persamaan = pada Contoh 3. dan pencarian akar persamaan = pada Contoh 3.3 dengan bermacam-macam prosedur lelaran dan tebakan awal kadang-kadang konvergen dan kadang-kadang divergen. (i) Prosedur lelaran pertama: = 3 g ( ) = ( + 3) r+ r + 84 Metode Numerik
93 g ' ( ) = ( + 3) Terlihat bahwa g'() < untuk di sekitar titik-tetap s = 3. Karena itu, pengambilan tebakan awal = 4 akan menghasilkan lelaran yang konvergen sebab ' ( 4) = / [ ( 8 + 3) =.58 < g. (ii) Prosedur lelaran kedua: r+ = 3/( r - ) g() = 3/(-) g'() = -3/(-) Terlihat bahwa g'() < untuk di sekitar titik-tetap s = 3. Karena itu, pengambilan tebakan awal = 4 akan menghasilkan lelaran yang konvergen sebab g'(4) = -3/(4-) =.75 <. (iii) Prosedur lelaran ketiga r+ = ( r - 3)/ g() = ( - 3)/ g'() = Terlihat bahwa g'() > untuk di sekitar titik-tetap s = 3. Karena itu, pengambilan tebakan awal = 4 akan menghasilkan lelaran yang divergen sebab g'(4) = 4 = 4 >. (iv) Prosedur lelaran pada Contoh 3.3: r+ = (- r 3 + 3)/6 g() = ( )/6 g'() = - / Terlihat bahwa g'() < untuk di sekitar titik-tetap s =.48. Pemilihan =.5 akan menjamin lelaran konvergen sebab g'( ) <. Untuk =.5 dan =. memang nilai g'( ) > tetapi lelarannya masih tetap konvergen, namun =.7 terlalu jauh dari titik-tetap sehingga lelarannya divergen. Dapatkah kita menentukan batas-batas selang yang menjamin prosedur lelaran akan konvergen di dalamnya? Temukan jawabannya pada Contoh 3.4 di bawah ini. Bab 3 Solusi Persamaan Nirlanjar 85
94 Contoh 3.4 Pada Contoh 3.3 di atas, tentukan selang sehingga prosedur lelaran r+ = (- 3 r + 3)/6 konvergen? Penyelesaian: g() = ( )/6 g '()=- / Syarat konvergen adalah g'() <. Jadi, - / < - < - / < > > - - < < Urai satu per satu: (i) > - { tidak ada yang memenuhi) (ii) <, dipenuhi oleh - < - < < Jadi, prosedur lelaran r+ = (- 3 r + 3)/6 konvergen di dalam selang - < <. Kita dapat memilih dalam selang tersebut yang menjamin lelaran akan konvergen. Contoh 3.5 Gunakan metode lelaran titik-tetap untuk mencari akar persamaan dalam selang [, ] [PUR84] Catatan : selang [, ] ini sebenarnya tidak digunakan dalam proses lelaran sebagaimana halnya pada metode bagidua. Selang ini diberikan untuk memastikan bahwa suatu prosedur lelaran titik-tetap konvergen di dalamnya. Kurva fungsi y = diperlihatkan pada Gambar Metode Numerik
95 y y = Gambar 3. Kurva y = Penyelesaian: (i) r+ = ( r 3 + )/3 Tetapi, karena g '() = > dalam selang [, ], maka prosedur lelaran ini tidak digunakan. (ii) r+ = -/( r - 3) Tetapi, karena g'() = /( - 3) 3 > dalam selang [, ], maka prosedur lelaran ini tidak digunakan. (iii) r+ = 3/ r - / r Ternyata g '() = (-3 + )/ 3 di dalam selang [, ], yaitu, g '() naik dari g '() = - ke g '()=-/. Jadi, g '() lebih kecil dari dalam selang [, ]. Dengan mengambil =.5, prosedur lelarannya konvergen ke akar = seperti pada tabel berikut ini r Bab 3 Solusi Persamaan Nirlanjar 87
96 Contoh 3.5 menunjukkan bahwa ada dua hal yang mempengaruhi kekonvergenan prosedur lelaran:. Bentuk formula r+ = g( r ). Pemilihan tebakan awal Catatan: Meskipun g'() > menyatakan lelaran divergen, tetapi kita harus hatihati dengan pernyataan ini. Sebabnya, walaupun r divergen dari suatu akar, runtunan lelarannya mungkin konvergen ke akar yang lain. Kasus seperti ini ditunjukkan pada Contoh 3.6 di bawah ini. Contoh 3.6 Tentukan akar persamaan f() = = dengan prosedur lelaran Penyelesaian: r+ = ( r + 3)/4 Jika prosedur lelaran r+ = ( r + 3)/4 konvergen ke titik-tetap s, maka sehingga limit r = s r s = (s + 3)/4 s - 4s + 3 = (s - 3)(s - ) = yang memberikan s = atau s = 3. Jadi, lelaran konvergen ke akar = atau akar = 3. Dari diperoleh g() = ( + 3)/4 g '() = / Gambarkan kurva y = dan y = ( + 3)/4 seperti pada Gambar 3.. Prosedar lelaran akan konvergen bila g '() > - < / < atau - < < 88 Metode Numerik
97 Sehingga pemilihan dalam selang - < < menjamin lelaran konvergen ke akar =. Dari Gambar 3. terlihat bahwa lelaran juga konvergen ke akar = untuk pemilihan dalam selang < < 3. Padahal, kalau dihitung, dalam selang < < 3, g '() > yang menyatakan bahwa lelarannya divergen. Lelaran divergen dari akar = 3 tetapi konvergen ke akar =. y y = ( +3)/4 y = 3 Gambar 3. Kurva y = dan y=( + 3)/4 Sebagai contoh terakhir metode lelaran titik-tetap, mari kita hitung akar fungsi pada Contoh 3., yaitu f() = e - 5. Contoh 3.7 Hitunglah akar f() = e - 5 dengan metode lelaran titik-tetap. Gunakan ε =.. Tebakan awal akar =. Penyelesaian: Salah satu prosedur lelaran yang dapat dibuat adalah e - 5 = e = 5 = e /5 r+ = SQRT(EXP( r )/5) Tabel lelarannya: i r r + - r Bab 3 Solusi Persamaan Nirlanjar 89
98 Hampiran akar = Metode Newton-Raphson 3 Di antara semua metode pencarian akar, metode Newton-Raphsonlah yang paling terkenal dan paling banyak dipakai dalam terapan sains dan rekayasa. Metode ini paling disukai karena konvergensinya paling cepat diantara metode lainnya. Ada dua pendekatan dalam menurunkan rumus metode Newton-Raphson, yaitu: (a) penurunan rumus Newton-Raphson secara geometri, (b) penurunan rumus Newton-Raphson dengan bantuan deret Taylor. (a) Penurunan rumus Newton-Raphson secara geometri y = g() Garis singgung kurva di i dengan gradien = f '( i ) i+ i Gambar 3.3 Tafsiran geometri metode Newton-Raphson 3 Beberapa buku menyebutnya metode Newton saja. Joseph Raphson (648-75) adalah matematikawan Inggris yang mempublikasikan metode Newton. 9 Metode Numerik
99 Dari Gambar 3.3, gradien garis singgung di r adalah ( ) y f r m = f ' ( r ) = = (P.3.8) r r+ atau ( ) f r f '( r ) = (P.3.9) r r+ sehingga prosedur lelaran metode Newton-Raphson adalah ( r ) '( ) f r+ = r, f '( r ). (P.3.) f r (b) Penurunan rumus Newton-Raphson dengan bantuan deret Taylor Uraikan f( r+ ) di sekitar r ke dalam deret Taylor: f ( ) f ( ) + ( ) f ( ) ( ) r+ r r+ r r+ r ' r + f " < + ( t), r < t r (P.3.) yang bila dipotong sampai suku orde- saja menjadi f( r+ ) f( r ) + ( r+ - r )f '( r ) (P.3.) dan karena persoalan mencari akar, maka f( r+ ) =, sehingga = f( r ) + ( r+ - r ) f '( r ) (P.3.3) atau ( r ) '( ) f r+ = r, f '( r ) (P.3.4) f r yang merupakan rumus metode Newton-Raphson. Bab 3 Solusi Persamaan Nirlanjar 9
100 Kondisi berhenti lelaran Newton-Raphsin adalah bila r+ - r < ε atau bila menggunakan galat relatif hampiran r+ r+ r < δ dengan ε dan δ adalah toleransi galat yang diinginkan. Catatan:. Jika terjadi f '( r ) =, ulang kembali perhitungan lelaran dengan yang lain.. Jika persamaan f() = memiliki lebih dari satu akar, pemilihan yang berbeda-beda dapat menemukan akar yang lain. 3. Dapat pula terjadi lelaran konvergen ke akar yang berbeda dari yang diharapkan (seperti halnya pada metode lelaran titik-tetap). Program 3.7 Metode Newton-Raphson procedure Newton_Raphson(:real); { Mencari akar persamaan f() = dengan metode Newton-Raphson K.Awal : adalah tebakan awal akar, nilainya sudah terdefinisi K.Akhir: akar persamaan tercetak di layar } const epsilon =.; var _sebelumnya: real; function f(:real):real; { mengembalikan nilai f(). Definisi f() bergantung pada persoalan } function f_aksen(:real):real; { mengembalikan nilai f'(). Definisi f () bergantung pada persoalan } begin repeat _sebelumnya:=; := - f()/f_aksen(); until (ABS(-_sebelumnya) < epsilon) end; { adalah hampiran akar persamaan } write( Hampiran akar =, ::6); 9 Metode Numerik
101 Catatan: Program 3.7 ini belum menangani kasus pembagian dengan atau dan kasus divergen. Program 3.8 di bawah ini merupakan modifikasi dari Program 3.7 untuk menangani pembagian dengan dan kasus divergen. Program 3.8 Metode Newton-Raphson (dengan penanganan kasus divergen dan pembagian dengan ) procedure Newton_Raphson(:real); { Mencari akar persamaan f() = dengan metode Newton-Raphson K.Awal : adalah tebakan awal akar, nilainya sudah terdefinisi K.Akhir: akar persamaan tercetak di layar } const epsilon =.; { toleransi galat akar hampiran } epsilon =.; { toleransi nilai yang hampir } Nmaks = 3; { jumlah maksimum lelaran } var _sebelumnya: real; i : integer; berhenti : boolean; { jika f () <<<<, stop! } function f(:real):real; { mengembalikan nilai f(). Definisi f() bergantung pada persoalan } function f_aksen(:real):real; { mengembalikan nilai f'(). Definisi f () bergantung pada persoalan } begin i:=; berhenti:=false; repeat if ABS(f_aksen()) < epsilon then berhenti:=true; { menghindari pembagian bilangan yang } else begin _sebelumnya:=; := - f()/f_aksen(); i:=i+; end; until (ABS(-_sebelumnya) < epsilon) or (berhenti) or (i > Nmaks) if berhenti then writeln( Pembagian dengan bilangan yang hampir ) else if i > Nmaks then writeln( Divergen ) else { adalah hampiran akar persamaan } write( Hampiran akar =, ::6); {endif} {endif} end; Bab 3 Solusi Persamaan Nirlanjar 93
102 Contoh 3.8 Hitunglah akar f() = e - 5 dengan metode Newton-Raphson. Gunakan ε =.. Tebakan awal akar =. Penyelesaian: f() = e - 5 f '() = e - Prosedur lelaran Newton-Raphson: e 5 r+ = r e Tebakan awal = Tabel lelarannya: i r r+ - r Hampiran akar =.6567 Contoh 3.8 di atas memperlihatkan bahwa metode Newton-Raphson memerlukan sedikit lelaran, dibandingkan dengan metode bagidua, metode regula falsi, dan metode lelaran titik-tetap. Metode Newton-Raphson sangat berguna untuk menghitung fungsi-fungsi dasar, seperti akar bilangan, nlai e, arcsin (), dan sebagainya. Contoh 3.9 dan Contoh 3. memperlihatkan penggunaan metode Newton-Raphson untuk menghitung akar bilangan dan nilai pecahan. Contoh 3.9 Tentukan bagaimana cara menentukan c dengan metode Newton-Raphson. Penyelesaian: Misalkan c =. Kuadratkan kedua ruas sehingga c = - c =. Di sini f() = - c dan f '() =. Prosedur lelaran Newton-Raphsonnya adalah 94 Metode Numerik
103 r c r+ = r =.5( r + c / r r Untuk c =, dengan memilih = dan ε =., kita peroleh =.5 = = =.444 ) Jadi,.444 Contoh 3. Bagaimana menghitung nilai /c dengan metode Newton-Raphson? Penyelesaian: Misalkan /c = / = c / - c =. Di sini f() = / - c dan f '() = -/. Prosedur Newton-Raphsonnya adalah = (/ r c) = / ( c r+ r r r r Untuk c = 7, dengan memilih =. dan ε =., kita peroleh =. =.39 3 = = = =.4857 ) Jadi, / Secara umum, bila metode Newton-Raphson konvergen, kekonvergenannya itu berlangsung sangat cepat, seperti yang dilukiskan pada Gambar 3.4. Titik potong garis singgung fungsi dengan sumbu- semakin cepat bergerak mendekati akar sejati. Bab 3 Solusi Persamaan Nirlanjar 95
104 y = g() Gambar 3.4 Kecepatan konvergensi metode Newton-Raphson sangat cepat Karena metode Newton-Raphson tergolong metode terbuka, maka dalam beberapa kasus lelarannya mungkin divergen. Bahkan, kalau kurvanya seperti pada Gambar 3.5 serta pemilihan yang jauh dari akar sejati, lelarannya akan berosilasi di sekitar cekungan lain. 3 Gambar 3.5 Lelaran metode Newton-Raphson yang divergen Membuat grafik fungsi sangat membantu dalam pencarian akar. Grafik fungsi dapat memperlihatkan secara visual lokasi akar sejati. Dengan demikian tebakan awal yang bagus untuk akar dapat diturunkan. Pemilihan tebakan awal sebaiknya cukup dekat dengan akar. Selain itu, kita juga dapat mengetahui apakah fungsi tersebut mempunyai akar tidak. Pada kasus tidak ada akar, lelarannya akan divergen berosilasi. 96 Metode Numerik
105 Kriteria konvergensi metode Newton-Raphson Apakah persyaratan agar metode Newton-Raphson konvergen? Tinjau kembali bentuk umum prosedur lelaran metode terbuka, r+ = g( r ) Karena metode Newton-Raphson termasuk metode terbuka, maka dalam hal ini, g() = f ( ) f '( ) Dengan mengingat syarat perlu agar lelaran konvergen adalah g'() <, maka g'() = = [ f '( ) f '( ) f ( ) f "( ) ] [ f '( ) ] ( ) f "( ) [ f '( ) ] f (P.3.8) Karena itu, metode Newton-Raphson akan konvergen bila ( ) f" ( ) [ f '( ) ] f < dengan syarat f () Orde Konvergensi Metode Terbuka Prosedur lelaran pada setiap metode terbuka dapat ditulis dalam bentuk r+ = g( r ) (P.3.9) misalnya pada metode Newton-Raphson g( r ) = r - f( r )/f '( r ). Misalkan r adalah hampiran terhadap akar sejati s sehingga s = g(s). Maka, berdasarkan konsep galat yang sudah dijelaskan di dalam Bab, s = r + ε r dengan ε r adalah galat dari r. Uraikan g(s) di sekitar r : g(s) = g( r ) + g'( r )(s - r ) + ½ g ( r )(s - r ) + = g( r ) + g'( r )ε r + ½ g ( r )ε r + (P.3.) Kurangi persamaan (P.3.) dengan persamaan (P.3.9): Bab 3 Solusi Persamaan Nirlanjar 97
106 g(s) = g( r ) + g'( r )ε r + ½ g ( r )ε r + - r+ = g( r ) g(s) - r+ = g'( r )ε r + ½ g ( r )ε r + Karena g(s) = s, maka s - r+ = g'( r )ε r + ½ g ( r )ε r + Misalkan s - r+ = ε r+, sehingga ε r+ = g'( r )ε r + ½ g ( r )ε r + (P.3.) Bilangan pangkat dari ε r menunjukkan orde (atau laju) konvergensi prosedur lelaran: (a) ε r+ g'(t)ε r (P.3.), r < t < r+ : prosedur lelaran berorde satu (b) ε r+ ½ g (t r )ε r, r < t < r+ : prosedur lelaran berorde dua (P.3.3) Metode Newton-Raphson termasuk ke dalam metode terbuka berorde dua. Pernyataan ini kita buktikan di bawah ini. Orde konvergensi metode Newton-Raphson Pada netode Newton-Raphosn, g( r ) = r - f( r ) / f '( r ). Turunan pertama dari g( r ) adalah (dari persamaan P.3.8): g'( r ) = f ( r ) f "( r ) [ f '( )] r Jika r adalah akar persamaan f() =, maka f( r ) =, sehingga g'( r ) = (P.3.4) Ini berarti metode Newton-Raphson paling sedikit berorde dua. Turunan kedua dari g( r ) adalah g ( r ) = f ( r ) / f '( r ) (P.3.5) Sulihkan (P.3.5) ke dalam (P.3.3): 98 Metode Numerik
107 ε r+ = f " ( r ) ε r f '( ) r (P.3.6) Persamaan (P.3.6) ini mempunyai tiga arti:. Galat lelaran sekarang sebanding dengan kuadrat galat lelaran sebelumnya. Jika galat lelaran sekarang misalnya., maka pada leleran berikutnya galatnya sebanding dengan.. Hal inilah yang menyebabkan metode Newton-Raphson sangat cepat menemukan akar (jika lelarannya konvergen).. Jumlah angka bena akan berlipat dua pada tiap lelaran. Ini merupakan konsekuensi dari hal nomor di atas. 3. Orde konvergensi metode Newton-Raphson adalah kuadratik. sehingga ia dinamakan juga metode kuadratik. Cara lain untuk menemukan orde konvergensi metode Newton-Raphson adalah dengan meneruskan penurunan rumus Newton-Raphson dari dari deret Taylornya sebagai berikut. Perhatikan kembali persamaan (P.3.) di atas. Bila r+ = s sehingga f( r+ ) = f(s) =, dalam hal ini s adalah akar sejati, sulihkan s ke dalam persamaan (P.3.) di atas: = f ( r ( s ) f "( t) r ) + ( s r ) f '( r ) + (P.3.7) Kurangi (P.3.7) dengan ( P.3.3): = f ( r ) + ( s r ) f '( ) + r ( s ) f "( t) = f( r ) + ( r+ - r )f '( r ) r = ( s ) f "( t) r ( s r + ) f '( r ) + (P.3.8) Misalkan s - r+ = ε r+ dan s - r = ε r, maka persamaan (P.3.8) dapat ditulis menjadi atau ε r+ ( t) ε r f " f '( r ) + = Bab 3 Solusi Persamaan Nirlanjar 99
108 ε r+ = f " f ( t) ε r '( ) r (P.3.9) yang sama dengan (P.3.6), kecuali pada f ( r ) dan f (t), tetapi perbedaan ini tidak begitu penting, sebab yang dicari adalah pangkat dari ε r. Pada proses pencarian akar dengan metode Newton-Raphson, muncul kesulitan jika f '() terlalu dekat ke nol, dan kita harus menggunakan bilangan berketelitian ganda untuk memperoleh f() dan f '() cukup teliti [KRE88]. Persamaan nirlanjar f() = yang mempunyai kasus seperti ini disebut berkondisi buruk (lihat pembahasan kondisi buruk di dalam Bab ) Metode Secant Prosedur lelaran metode Newton-Raphson memerlukan perhitungan turunan fungsi, f '(). Sayangnya, tidak semua fungsi mudah dicari turunannya, terutama fungsi yang bentuknya rumit. Turunan fungsi dapat dihilangkan dengan cara menggantinya dengan bentuk lain yang ekivalen. Modifikasi metode Newton- Raphson ini dinamakan metode secant. y = g() r+ r- r Gambar 3.6 Metode Secant Berdasarkan Gambar 3.6, dapat kita hitung gradien f '( r ) = y = AC BC = f ( ) f ( ) r r r r (P.3.3) Sulihkan (P.3.3) ke dalam rumus Newton-Raphson: Metode Numerik
109 r+ = r f f ( r ) '( ) r sehingga diperoleh r+ = ( r )( r r ) ( ) f ( ) f r (P.3.3) f r r yang merupakan prosedur lelaran metode secant. Dalam hal ini, diperlukan dua buah tebakan awal akar, yaitu dan. Kondisi berhenti lelaran adalah bila r+ - r < ε (galat mutlak) atau r+ r+ r < δ (galat hampiran) dengan ε dan δ adalah toleransi galat. Sepintas metode secant mirip dengan metode regula-falsi, namun sesungguhnya prinsip dasar keduanya berbeda, seperti yang dirangkum pada tabel di bawah ini: Metode Regula Falsi. Diperlukan dua buah nilai awal a dan b (ujung-ujung selang) sedemikian sehingga f(a) f(b) <. Metode Secant. Diperlukan dua buah nilai awal dan (tebakan awal akar), tetapi tidak harus f( ) f( ) <.. Lelaran pertama:. Lelaran pertama: y y = f() y y = f() a c b r- r+ r Pada lelaran pertama, tidak ada perbedaan antara regula-falsi dan secant. Perbedaan baru muncul pada lelaran kedua. Pada lelaran pertama tidak ada perbedaan antara secant dan regula falsi. Perbedaan baru muncul pada lelaran kedua. Bab 3 Solusi Persamaan Nirlanjar
110 Lelaran kedua: Lelaran kedua: y y = f() y y = f() a b r+ r- r Perpotongan garis lurus dengan sumbu tetap berada di dalam selang yang mengandung akar. 3. Berdasarkan nomor di atas, lelarannya selalu konvergen Perpotongan garis lurus dengan sumbu- mungkin menjauhi akar. 3. Berdasarkan nomor di atas, lelarannya mungkin divergen. Program 3.9 berikut berisi algoritma metode secant. Program 3.9 Metode Secant procedure Secant(, :real); { Mencari akar persamaan f() = dengan metode secant K.Awal : dan adalah tebakan awal akar, terdefenisi nilainya K.Akhir: akar persamaan tercetak di layar } const epsilon =.; { toleransi galat akar hampiran } var _sebelumnya: real; function f(:real):real; { mengembalikan nilai f(). Definisi f() bergantung pada persoalan } begin repeat _sebelumnya:=; :=-(f()*( - )/(f()-f())); :=; :=; until (ABS(-_sebelumnya) < epsilon); { adalah hampiran akar persamaan } write( Hampiran akar =, ::6); end; Metode Numerik
111 Catatan: Program 3.9 belum menangani kasus pembagian dengan atau dan kasus divergen. Program harus dimodifikasi untuk menangani pembagian dengan atau dan kasus divergen menjadi Program 3. berikut. Program 3. Perbaikan metode Secant procedure Secant(, :real); { Mencari akar persamaan f() = dengan metode secant K.Awal : dan adalah tebakan awal akar, terdefenisi nilainya K.Akhir: Hampiran akar tercetak di layar } const epsilon =.; { toleransi galat akar hampiran } epsilon =.; { toleransi nilai yang hampir } Nmaks = 3; { jumlah maksimum lelaran } var _sebelumnya: real; berhenti: boolean; i : integer; function f(:real):real; { mengembalikan nilai f(). Definisi f() bergantung pada persoalan } begin i:=; repeat if ABS(f()- f()) < epsilon then berhenti:=true; { menghindari pembagian bilangan yang } else begin _sebelumnya:=; :=-(f()*( - )/(f()-f())); :=; :=; i:=i+; end; until (ABS(-_sebelumnya) < epsilon) or (berhenti) or (i > Nmaks); if berhenti then writeln( Pembagian dengan bilangan yang hampir ) else if i > Nmaks then writeln( Divergen ) else { adalah hampiran akar persamaan } write( Hampiran akar =, ::6); {endif} {endif} end; Bab 3 Solusi Persamaan Nirlanjar 3
112 Contoh 3. Hitunglah akar f() = e - 5 dengan metode secant. Gunakan ε =.. Tebakan awal akar =.5 dan =. Penyelesaian: Tabel lelarannya: i r r + - r Akar = Ternyata lelarannya mengarah ke akar yang lain, yaitu = Akar Ganda Akar ganda (multiple roots) terjadi bila kurva fungsi menyinggung sumbu-, misalnya: (i) f() = = (-3)(-)(-) memiliki akar ganda dua di = (ii) f() = = (-3)(-)(-)(-) memiliki akar ganda tiga di =. Pada pembahasan terdahulu kita telah menyinggung bahwa metode bagidua dan metode tertutup lainnya tidak dapat digunakan untuk mencari akar ganda, sebab fungsi tidak berubah tanda di sekeliling akar. Metode terbuka, seperti metode Newton-Raphson, sebenarnya dapat diterapkan di sini. Tetapi, bila digunakan metode Newton-Raphson untuk mencari akar ganda, kecepatan konvergensinya berjalan secara lanjar, tidak lagi kuadratis sebagaimana aslinya. Agar konvergensi metode Newton-Raphson tetap kuadratik untuk akar ganda, maka Ralston dan Rabinowitz mengusulkan alternatif metode Newton-Raphson [CHA9] sebagai berikut: 4 Metode Numerik
113 r+ = r ( r ) '( ) f m (P.3.3) f r dengan m adalah bilangan multiplisitas akar, misalnya. - akar tunggal, m =, - akar ganda dua, m =, - akar ganda tiga, m = 3, dan seterusnya. Namun alternatif ini tidak memuaskan karena kita perlu tahu terlebih dahulu bilangan multiplisitas akar. Disamping itu, untuk dekat akar ganda, nilai f() dan juga nilai f '(), yang dapat mengakibatkan pembagian dengan nol. Pembagian dengan nol ini dapat dihindari dengan melihat fakta bahwa f() lebih dulu nol sebelum f '(). Jadi, if f() then hentikan lelaran Ralston dan Rabinowitz mengusulkan alternatif lain [CHA9]. Didefinisikan u() = f() / f '() (P.3.33) (Perhatikan, bentuk u() ini memiliki akar yang sama dengan f(), sebab, jika u() = maka f() = ). Selanjutnya, r+ = r ( r ) '( ) u (P.3.34) u r yang dalam hal ini, u'() = [ f()/f '()]' = f ' ( ) f '( ) f " ( ) f ( ) [ f ' ( ) ] = [ f '( ) ] f "( ) f ( ) [ f '( ) ] (P.3.35) sehingga r + = r - [ f ' ( f ( r r )] f "( [ f ) / f '( r '( )] r r ) ) f ( r ) Bab 3 Solusi Persamaan Nirlanjar 5
114 atau r + = r - f ( r ) f ' ( r ) [ f '( )] f "( ) f ( ) r r r (P.3.36) Meskipun rumus (P.3.36) ini lebih disukai untuk akar ganda, namun ia kurang mangkus sebab memerlukan lebih banyak komputasi daripada metode Newton- Raphson yang baku. Rumus (P.3.36) berlaku secara umum, yaitu ia tetap dapat dipakai untuk pencarian akar tidak ganda sekalipun. Metode secant juga dapat dimodifikasi dengan menyulihkan u() = f() /f '() ke dalam rumusnya. Rumus yang dihasilkan adalah [CHA9]: r+ = r - ( r )( r r ) ( ) u( ) u u r r (P.3.37) Contoh 3. Hitung akar f() = dengan metode Newton-Raphson baku dan metode Newton-Raphson yang diperbaiki. Tebakan awal =. {CHA9] Penyelesaian: f() = f '() = f () = 6 - Dengan metode Newton-Raphson baku: r+ = r r r 3 ( 3 + 7) r r 3 Dengan metode Newton-Raphson yang dimodifikasi: Tabel lelarannya adalah: 3 r+ = r ( r 5r + 7r 3)( 3r r + 7) ( 3 + 7) ( 6 )( ) r r r r r r 6 Metode Numerik
115 Metode Newton Raphson baku Metode Newton Raphson yang dimodifikasi r r r r Lelaran konvergen ke akar =. Terlihat dari tabel di atas bahwa metode Newton yang dimodifikasi memiliki jumlah lelaran lebih sedikit. 3.6 Akar-Akar Polinom Bentuk baku polinom derajat n adalah p() = a + a + a a n n (P.3.38) dengan a i adalah konstanta riil, i =,,,..., n, dan a n. Polinom p() memiliki n buah akar, baik akar nyata maupun akar kompleks. Akar kompleks muncul dalam pasangan konyugasi, w = u + vi dan w = u - vi, dengan i = -.Contohnya, polinom p() = mempunyai akar + i dan - i. Semua metode pencarian akar dapat diterapkan pada polinom. Misalnya dengan metode Newton-Raphson, r+ = p( r ) r (P.3.39) p' ( ) r Masalahnya, evaluasi polinom, p( r ) dan p'( r ) membutuhkan banyak operasi perkalian (termasuk perpangkatan). Semakin tinggi derajat polinomnya tentu semakin banyak operasi perkalian yang diperlukan, yang berarti semakin besar rambatan galat pembulatannya (ingat, komputer menggunakan bilangan titikkambang). Karena itu, harus dicari suatu metode perhitungan polinom dengan sedikit operasi perkalian. Bab 3 Solusi Persamaan Nirlanjar 7
116 3.6. Metode Horner untuk Evaluasi Polinom Menghitung langsung p() untuk = tidak mangkus sebab melibatkan banyak operasi perkalian. Metode Horner, atau disebut juga metode perkalian bersarang (nested multiplication) menyediakan cara perhitungan polinom dengan sedikit operasi perkalian. Dalam hal ini, polinom p() dinyatakan sebagai perkalian bersarang p() = a + (a + (a + (a (a n- + a n )))...)) (P.3.4) Contoh 3. Nyatakan p() = dalam bentuk perkalian bersarang. Penyelesaian: p() = (6 buah perkalian) = 8 + (6 + ( + 5)) (hanya 3 buah perkalian) Perhitungan p() untuk = adalah p() = 8 + (6 + ( + 5.)) = 68 Metode perkalian bersarang untuk menghitung p(t) seringkali dinyatakan dalam bentuk tabel Horner berikut: t a n a n- a n-... a a a tb n tb n-... tb 3 tb tb b n = a n b n- = a n- + tb n b n- = a n- + tb n- b = a + tb 3 b = a + tb b = a + tb polinom sisa Hasil evaluasi: p(t) = b Jadi, untuk Contoh 3. di atas, = p() dan menghasilkan polinom sisa Metode Numerik
117 Program 3. Menghitung p() untuk = t dengan metode Horner { Dalam program utama telah didefinisikan: const n=...; {derajat polinom} var a, b, c: array[..n] of real } function p(t:real):real; { menghitung p(t) dengan metode Horner} var k: integer; begin b[n]:=a[n]; for k:=n- downto do b[k]:=a[k] + b[k+]*t; {end for} p:=b[]; end; 3.6. Pencarian Akar-akar Polinom Proses perhitungan p() untuk = t dengan menggunakan metode Horner sering dinamakan pembagian sintetis p():( -t), menghasilkan q() dan sisa b, p( ) ( t) = q ( ) + sisa b (P.3.4) atau p() = b + (-t) q() (P.3.4) yang dalam hal ini, q() = b n n- + b n- n b 3 + b + b (P.3.43) Untuk Contoh 3. di atas, p() = = 68 + (-) ( ) Jika t adalah hampiran akar polinom p() maka p(t) = b + (t - t) q(t) = b + = b (Perhatikan, jika t akar sejati, maka b = ) Bab 3 Solusi Persamaan Nirlanjar 9
118 Akar-akar lain dari p() dapat dicari dari polinom q() sebab setiap akar q() juga adalah akar p(). Proses reduksi polinom ini disebut deflasi (deflation). Koefisien-koefisien q(), yaitu b n, b n-,..., b 3, b, b dapat ditemukan langsung dari tabel Horner, b n = a n b n- = a n- + tb n b n- = a n- + tb n-... b = a + tb 3 b = a + tb Algoritmanya, b[n]:=a[n]; for k:=n- downto do b[k]:=a[k] + t*b[k+] {endfor} Misalkan akar polinom dihitung dengan metode Newton-Raphson, r+ = r p( r ) p' ( ) r maka proses pencarian akar secara deflasi dapat dirumuskan dalam langkah sampai 4 berikut ini. Langkah : Menghitung p( r ) dapat dilakukan secara mangkus dengan metode Horner. Misalkan t = r adalah hampiran akar polinom p(), p() = b + ( - r ) q() Perhitungan p( r ) menghasilkan p( r ) = b + ( r - r ) q( r ) = b Nilai p( r ) = b ini dapat dihitung dengan function p Metode Numerik
119 Langkah : Menghitung p'( r ) secara mangkus: Misalkan t = r adalah hampiran akar polinom p(), p() = b + ( - r ) q() Turunan dari p adalah sehingga p'() = +. q() + ( - r ) q' () = q() + ( - r ) q'() p'( r ) = q( r ) + ( r - r ) q'( r ) = q( r ) Koefisien polinom q() dapat ditentukan dari langkah. Selanjutnya q( r ) dapat dihitung dengan function q berikut: Program 3. Menghitung p'(t) = q(t) function q(t:real):real; { menghitung p'(t)=q(t) dengan metode Horner} var k : integer; begin c[n]:=b[n]; for k:=n- downto do c[k]:=b[k] + t*c[k+] {endfor} q:=c[]; end; Langkah 3: r+ = r p( r ) p' ( ) r Langkah 4: Ulangi langkah, dan 3 di atas sampai r+ - r < ε. Bab 3 Solusi Persamaan Nirlanjar
120 Program 3.3 Prosedur Newton-Raphson untuk menghitung akar polinom procedure Newton_Raphson_untuk_polinom(n:integer; :real); { procedure Newton-Raphson untuk menghitung akar polinom p() yang berderajat n dengan tebakan awal akar K.Awal : n adalah derajat polinom; adalah tebakan awal akar; kedua nilai sudah terdefinisi K.Akhir: Hampiran akar polinom tercetak di layar. } const epsilon =.; var _sebelumnya: real; function p(t:real):real; {menghitung p(t) dengan metode Horner} var k: integer; begin b[n]:=a[n]; for k:=n- downto do b[k]:=a[k] + b[k+]*t; {end for} p:=b[]; end {p}; function q(t:real):real; { menghitung p'(t)=q(t) dengan metode Horner} var k : integer; begin c[n]:=b[n]; for k:=n- downto do c[k]:=b[k] + t*c[k+] {end for} q:=c[]; end {q} ; begin repeat _sebelumnya:=; := - p()/q(); until ABS( - _sebelumnya) < epsilon; { adalah akar polinom } writeln( Hampiran akar =, ::6); end; Metode Numerik
121 Program 3.3 ini hanya menemukan satu buah akar polinom. Untuk mencari seluruh akar nyata polinom, harus dilakukan proses deflasi. Setelah akar pertama diperoleh, polinom p() dapat ditulis sebagai p() = ( - ) q() + b yang dalam hal ini q() = b n n- + b n- n b 3 + b + b. Koefisienkoefisien q(), yaitu b n, b n-,..., b 3, b, b diperoleh di akhir Program 3., yang telah tersimpan pada elemen larik b[n - ], b[n - ],..., b[], b[]. Selanjutnya panggil Program 3.3 untuk mencari akar polinom q() yang berderajat n- dengan tebakan awalnya dapat digunakan (atau boleh bilangan lain). Setelah akar kedua diperoleh, polinom p() dapat ditulis sebagai q() = ( - ) r() + b yang dalam hal ini r() = b n - n - + b n - n b 3 + b + b. r() adalah polinom derajat n - dengan koefisien b n-, b n-,..., b 3, b, b diperoleh di akhir Program 3. pada elemen larik b[n-], b[n-],..., b[], b[]. Selanjutnya panggil kembali Program 3.3 untuk mencari akar polinom r() yang berderajat n - dengan tebakan awalnya dapat digunakan. Begitu seterusnya sampai polinom sisa yang ditemukan berderajat. Atau, dapat juga sampai polinom sisa berderajat dua. Algoritma selengkapnya adalah: write('tebakan awal untuk akar pertama: '); readln(); repeat Newton_Raphson_untuk_polinom(n, ); { salin koefisien b[n], b[n-],, b[] ke dalam a[n-], a[n-],, a[] untuk pencarian akar selanjutnya} for i:=n downto do a[i-]:=b[i]; {endfor} n:=n-; { derajat polinom sisa berkurang satu } until n=; Bab 3 Solusi Persamaan Nirlanjar 3
122 Contoh 3.4 [GER85] Temukan seluruh akar nyata polinom p() = dengan tebakan awal akar =. Penyelesaian: Panggil prosedur Newton_Raphson_untuk_polinom(5, ); untuk mencari akar polinom p() berderajat 5 sengan tebakan awal akar =. Diperoleh akar pertama, yaitu = Deflasi p() = ( - ) q() + b yang dalam hal ini q() = Panggil prosedur Newton_Raphson_untuk_polinom(4, ); untuk mencari akar polinom q() berderajat 4 dengan tebakan awal akar = Diperoleh akar kedua =.6 Deflasi q() = ( - ) r() + b yang dalam hal ini r() = Panggil prosedur Newton_Raphson_untuk_polinom(3,.6); untuk mencari akar polinom r() berderajat 3 dengan tebakan awal akar =.6 Diperoleh akar 3 = Deflasi r() = ( - 3 ) s() + b yang dalam hal ini s() = Demikian seterusnya sampai kita temukan akar keempat dan akar kelima sebagai berikut: 4 = = Metode Numerik
123 3.6.3 Lokasi Akar Polinom Metode Newton-Raphson memerlukan tebakan awal akar. Bagaimanakah menemukan tebakan awal akar yang bagus untuk polinom? Misalkan akar-akar diberi indeks dan diurut menaik sedemikian sehingga 3... n Tebakan awal untuk akar terkecil menggunakan hampiran a + a -a /a (P.3.44) yang dapat dijadikan sebagai tebakan awal untuk menemukan Tebakan awal untuk akar terbesar n menggunakan hampiran a n- n- + a n n - a n- /a n (P.3.45) yang dapat dijadikan sebagai tebakan awal untuk menemukan n Contoh 3.5 [NOB7] Tentukan tebakan awal untuk mencari akar polinom - + =. Penyelesaian: Tebakan awal untuk akar terkecil adalah = -/(-) = / Tebakan awal untuk akar terbesar adalah = -(-)/ = 3.7 Sistem Persamaan Nirlanjar Di dalam dunia nyata, umumnya model matematika muncul dalam bentuk sistem persamaan Persamaan yang diselesaikan tidak hanya satu, tetapi dapat lebih dari satu, sehingga membentuk sebuah sistem yang disebut sistem persamaan nirlanjar. Bentuk umum sistem persamaan nirlanjar dapat ditulis sebagai berikut: Bab 3 Solusi Persamaan Nirlanjar 5
124 f (,,..., n ) = f (,,..., n ) =... f n (,,..., n ) = (P.3.46) Penyelesaian sistem ini adalah himpunan nilai simultan,,,..., n, yang memenuhi seluruh persamaan. Sistem persamaan dapat diselesaikan secara berlelar dengan metode lelaran titik-tetap atau dengan metode Newton-Raphson Metode Lelaran Titik-Tetap Prosedur lelarannya titik-tetap untuk sistem dengan dua persamaan nirlanjar: r+ = g ( r, y r ) y r+ = g ( r, y r ) r =,,,... (P.3.47) Metode lelaran titik-tetap seperti ini dinamakan metode lelaran Jacobi. Kondisi berhenti (konvergen) adalah r+ - r < ε dan y r+ - y r < ε Kecepatan konvergensi lelaran titik-tetap ini dapat ditingkatkan. Nilai r+ yang baru dihitung langsung dipakai untuk menghitung y r +. Jadi, r+ = g ( r, y r ) y r+ = g ( r+, y r ) r =,,,... (P.3.48) Metode lelaran titik-tetap seperti ini dinamakan metode lelaran Seidel. Kondisi berhenti (konvergen) adalah r+ - r < ε dan y r+ - y r < ε Untuk fungsi dengan tiga persamaan nirlanjar, lelaran Seidel-nya adalah r+ = g ( r, y r, z r ) y r+ = g ( r+, y r, z r ) z r+ = g 3 ( r+, y r+, z r ) r =,,,... (P.3.49) Kondisi berhenti (konvergen) adalah r+ - r < ε dan y r+ - y r < ε dan z r+ - z r < ε 6 Metode Numerik
125 Contoh 3.6 [CHA9] Selesaikan sistem persamaan nirlanjar berikut ini, f (, y) = + y - = f (, y) = y + 3y - 57 = (Akar sejatinya adalah = dan y = 3) Penyelesaian: Prosedur lelaran titik-tetapnya adalah r r+ = y y r+ = 57-3 r+ y r r Berikan tebakan awal =.5 dan y = 3.5 dan ε =. Tabel lelarannya: r y r+ - r y r+ - y r Ternyata lelarannya divergen! Sekarang kita ubah persamaan prosedur lelarannya menjadi r+ = r y r y r+ = 57 y 3 r+ r Tebakan awal =.5 dan y = 3.5 dan ε =. Hasilnya, r y r + - r y r + - y r Bab 3 Solusi Persamaan Nirlanjar 7
126 Akar =. y = 3. Contoh 3.5 ini memperlihatkan bahwa konvergensi metode lelaran titik-tetap sangat bergantung pada bentuk persamaan prosedur lelaran dan tebakan awal. Syarat perlu kekonvergenan untuk sistem dengan dua persaman nirlanjar adalah g + g y < dan g + g y < di dalam selang yang mengandung titik tetap ( p, q ) Metode Newton-Raphson Ingatlah kembali bahwa metode Newton-Raphson dapat diturunkan dari deret Taylor, f( r+ ) f( r ) + ( r+ - r ) f '( r ) dan karena persoalan mencari akar, maka f( r+ ) =, sehingga = f( r ) + ( r+ - r )f '( r ) atau r+ = ( r ) '( ) f r, f '( r ) f r 8 Metode Numerik
127 Untuk fungsi dengan dua peubah, deret Taylor orde pertama dapat dituliskan untuk masing-masing persamaan sebagai u r+ = u r + ( r+ - r ) u r + ( y r+ - y r ) u r y (P.3.5) dan v r+ = v r + ( r+ - r ) v r + ( y r+ - y r ) v r y (P.3.5) Karena persoalan mencari akar, maka u r+ = dan v r+ =, untuk memberikan u r r+ + u r y y r+ = - u r + r u r + y r u r y v r r+ + v r y y r+ = - v r + r v r + y r v r y Dengan sedikit manipulasi aljabar, kedua persamaan terakhir ini dapat dipecahkan menjadi r+ = r - u u r r vr ur + v r y y vr ur vr y y (P.3.5) dan y r + = y r + u u r r vr v r y ur vr ur vr y (P.4.53) Penyebut dari masing-masing persamaan ini diacu sebagai determinan Jacobi dari sistem tersebut [CHA9]. Metode Newton-Raphson dapat dirampatkan (generalization) untuk sistem dengan n persamaan. Bab 3 Solusi Persamaan Nirlanjar 9
128 Contoh 3.7 [CHA9] Gunakan metode Newton-Raphson untuk mencari akar f (, y) = u = + y - = f (, y) = v = y + 3y - 57 = dengan tebakan awal =.5 dan y =3.5 Penyelesaian: u o y u o v o v o y = + y = (.5) = 6.5 = =.5 = 3y = 3(3.5) = = + 6y = + 6(.5) = 3.5 Determinan Jacobi untuk lelaran pertama adalah 6.5(3.5) -.5(36.75) = 56.5 Nilai-nilai fungsi dapat dihitung dari tebakan awal sebagai u = (.5) +.5(3.5) - = -.5 v = (3.5) + 3(.5)(3.5) - 57 =.65 Nilai dan y pada lelaran pertama adalah.5 = (.5)( 3.5).65.5 ( ) 56.5 =.363 dan y = 3.5 (.5)( 36.75) ( ) 56.5 = Apabila lelarannya diteruskan, ia konvergen ke akar sejati = dan y = 3. Seperti halnya metode lelaran titik-tetap, metode Newton-Raphson mungkin saja divergen jika tebakan awal tidak cukup dekat ke akar. Penggambaran kurva masingmasing persamaan secara grafik dapat membantu pemilihan tebakan awal yang bagus. Metode Numerik
129 3.8 Contoh Soal Terapan Dalam suatu proses Teknik Kimia, campuran karbon monoksida dan oksigen mencapai kesetimbangan pada suhu 3 K dan tekanan 5 atm. Reaksi teoritisnya adalah CO + / O CO Reaksi kimia yang sebenarnya terjadi dapat ditulis sebagai ( ) CO + O CO + + O + ( - ) CO Persamaan kesetimbangan kimia untuk menentukan fraksi mol CO yang tersisa, yaitu, ditulis sebagai ( )( 3+ ) K p = ( + ) p, < < yang dalam hal ini, K p = 3.6 adalah tetapan kesetimbangan untuk reaksi CO + / O pada 3 K dan P = 5 atm. Tentukan nilai dengan metode regula falsi yang diperbaiki. Penyelesaian: Persoalan ini memang lebih tepat diselesaikan dengan metode tertutup karena adalah fraksi mol yang nilainya terletak antara dan. Fungsi yang akan dicari akarnya dapat ditulis sebagai ( )( 3+ ) f() = ( + ) p dengan K p = 3.6 dan P =5 atm. - K p, < < Selang yang mengandung akar adalah [.,.9]. Nilai fungsi di ujung-ujung selang adalah f(.) = dan f(.9) = yang memenuhi f(.) f(.9) <. Bab 3 Solusi Persamaan Nirlanjar
130 Tabel lelarannya adalah: r a c b f(a) f(c) f(b) Selang baru Lebarnya [a, c] [a, c] [c, b] [a, c] [a, c] [c, b] [a, c] [a, c] Hampiran akar =.996 Jadi, setelah reaksi berlangsung, fraksi mol CO yang tersisa adalah.996. Hal-hal kecil membentuk kesempurnaan, tetapi kesempurnaan bukanlah hal yang kecil. (Michael Angello) Soal Latihan. Tahun 5 Leonardo da Pisa mencari akar persamaan f() = = dan menemukan = Tidak seorang pun yang mengetahui cara Leonardo menemukan nilai ini. Sekarang, rahasia itu dapat dipecahkan dengan metode lelaran titik-tetap. Bentuklah semua kemungkinan prosedur lelaran titik-tetap dari f() =, lalu dengan memberikaan sembarang tebakan awal (misalnya = ), tentukan prosedur lelaran mana yang menghasilkan akar persamaan yang ditemukan Leonardo itu.. Apa yang terjadi jika persaman = diatur sebagai r+ = / r dan metode lelaran titik-tetap digunakan untuk menemukan akar kuadrat dari? 3. Tentukan titik potong kurva f() = e - dengan kurva g() = sin() dengan metode Newton-Raphson. Metode Numerik
131 4. Tentukan selang sehingga sehingga prosedur lelaran r+ = r / - cos( r ) konvergen di dalam selang itu ( dalam radian) 5. Perlihatkan bahwa semua akar - = berkondisi baik. 6. Gunakan metode (i) bagidua (ii) regula-falsi untuk menemukan akar persaman Leonardo dalam selang [,.5], dan juga dengan metode (iii) Newton-Raphson, = (iv) secant, =, =.5 Untuk semua metode, ε = Diketahui lingkaran + y = dan hiperbola - y =. Tentukan titik potong kedua kurva dengan metode lelaran titik-tetap (Soal ini adalah mencari solusi sistem persamaan nirlanjar). 8. Diberikan prosedur lelaran r+ =.9 r dan nilai awal =. Menurut orang matematik, untuk r =,, 3,... r = (.9) r- = (.9)(.9) r- =... = (.9) r = (.9) r dan menyimpulkan bahwa limit r = r ~ Bagi orang numerik, harus ditanyakan terlebih dahulu berapa banyak angka bena yang digunakan. Berapakah limit r r ~ menurut orang numerik bila digunakan: (a) satu angka bena (b) dua angka bena Bab 3 Solusi Persamaan Nirlanjar 3
132 (Petunjuk: lalukan sejumlah lelaran tanpa memprogramnya dengan komputer. Setiap perhitungan harus taat asas dengan jumlah angka bena yang digunakan) 9. Misalkan metode bagidua akan digunakan untuk menemukan akar dalam selang [-,5]. Berapa kali selang harus dibagi dua untuk menjamin bahwa hampiran c r mempunyai ketelitian Dapatkah metode Newton-Raphson digunakan untuk memecahkan: (i) f() = jika f() = /3 (ii) f() = jika f() = (-3) / dan tebakan awal = 4? Mengapa?. Bagaimana bentuk prosedur lelaran Newton-Raphson untuk menghitung e (bilangan natural?). Nilai arcsin dapat dihitung dari persamaan sin() = sin() - = Persamaan ini mempunyai akar ganda dua di = π/ (periksa!). Tentukan akar ganda itu dengan: (a) metode Newton-Raphson baku (b) metode Newton-Raphson dengan faktor multiplisitas akar (c) metode Newton-Raphson yang dimodifikasi untuk menangani kasus akar g ganda 3. Gunakan metode Newton-Raphson untuk menghitung (47) /4 sampai enam angka bena. 4. Perlihatkan bahwa bial metode Newton-Raphson diterapkan pada bermacammacam f() di bawah ini, maka prosedur lelarannya akan mengarah pada pencarian a, untuk a >. (i) f() = - a (ii) f() = - a/ 5. Misalkan f() = cos() (a) Tentukan prosedur lelaran Newton-Raphsonnya 4 Metode Numerik
133 (b) Jika kita ingin menghitung akar = 3π/, dapatkah kita gunakan tebakan awal = 3? Mengapa? (c) Seperti (b), bagaimana jika = 5? Mengapa? Bab 3 Solusi Persamaan Nirlanjar 5
134 Bab 4 Solusi Sistem Persamaan Lanjar Saya tidak dapat memastikan bahwa perubahan akan memperbaiki sesuatu, tetapi saya dapat memastikan bahwa untuk menjadi lebih baik sesuatu harus berubah (George C. Lichtenberg) Dalam praktek rekayasa, perilaku sistem dimodelkan dalam persamaan matematika. Seringkali jumlah persamaan tersebut lebih dari satu dan harus diselesaikan secara serempak atau simultan. Di dalam Bab 3 sudah diberikan contoh penyelesaian sistem dengan dua buah persamaan nirlanjar. Jika sistem persamaan yang dihasilkan berbentuk aljabar lanjar (linier), maka diperlukan teknik penyelesaian yang lain. Contoh di bawah ini memberi gambaran sistem persamaan lanjar dalam bidang rekayasa sipil [CHA9]. Misalkan seorang insinyur Teknik Sipil merancang sebuah rangka statis yang berbentuk segitiga (Gambar 4.). Ujung segitiga yang bersudut 3 bertumpu pada sebuah penyangga statis, sedangkan ujung segitiga yang lain bertumpu pada penyangga beroda. Rangka mendapat gaya eksternal sebesar pon. Gaya ini disebar ke seluruh bagian rangka. Gaya F menyatakan tegangan atau kompresi pada anggota rangka. Reaksi eksternal (H, V, dan V 3 ) adalah gaya yang mencirikan bagaimana rangka berinteraksi dengan permukaan pendukung. Engsel pada simpul dapat menjangkitkan gaya mendatar dan tegak pada permukaan, sedangkan gelinding pada simpul 3 hanya menjangkitkan gaya tegak. 6 Metode Numerik
135 pon 9 F F 3 H F V V 3 Gambar 4. Gaya-gaya pada rangka statis tertentu Struktur jenis ini dapat diuraikan sebagai sistem persamaan aljabar lanjar simultan. Diagram gaya-benda-bebas diperlihatkan untuk tiap simpul dalam Gambar 4.. F, v 3 6 F, h F F 3 F, v F F 3 F 3, v 3 H F F 6 3 F 3, h V V 3 Gambar 4. Diagram gaya-benda-bebas untuk simpul-simpul rangka statis Menurut hukum Newton, resultan gaya dalam arah mendatar maupun tegak harus nol pada tiap simpul, karena sistem dalam keadaan diam (statis). Oleh karena itu, untuk simpul, F H = = -F cos 3 + F 3 cos 6 + F, h F V = = -F sin 3 - F 3 sin 6 + F, v Bab 4 Solusi Sistem Persamaan Lanjar 7
136 untuk simpul, F H = = F + F cos 3 + F, h + H F V = = F sin 3 - F, v + V dan untuk simpul 3, F H = = -F - F 3 cos 6 + F 3, h F V = = F 3 sin 6 + F 3, v + V 3 Gaya pon ke bawah pada simpul berpadanan dengan F, v = -, sedangkan semua F i, v dan F i, h lainnya adalah nol. Persoalan rangka statis ini dapat dituliskan sebagai sistem yang disusun oleh enam persamaan lanjar dengan 6 peubah yang tidak diketahui: F H = = -F cos 3 + F 3 cos 6 + F, h = -.866F +.5 F 3 F V = = -F sin 3 - F 3 sin 6 + F, v = -.5F.866 F 3 + F H = = F + F cos 3 + F, h + H = F +.866F + + H F V = = F sin 3 - F, v + V =.5 F + V F H = = -F - F 3 cos 6 + F 3, h = -F.5 F 3 F V = = F 3 sin 6 + F 3, v + V 3 =.866 F 3 + V 3 Keenam persamaan di atas ditulis ulang kembali dalam susunan yang teratur berdasarkan urutan peubah F, F, F 3, H, V, V 3 : -.866F +.5 F 3 = -.5F.866 F 3 = F F H = -.5 F V = F.5 F 3 =.866 F 3 V 3 = atau dalam bentuk matriks: F F F 3 = H V V3 8 Metode Numerik
137 Masalah yang ditanyakan adalah nilai F, F, F 3, H, V, dan V 3 yang memenuhi keenam persamaan tersebut secara simultan. Metode penyelesian sistem persamaan lanjar seperti di atas merupakan pokok bahasan Bab 4 ini. 4. Bentuk Umum Sistem Persamaan Lanjar Sistem persamaan lanjar (SPL) dengan dengan n peubah dinyatakan sebagai a + a a n n = b a + a a n n = b : : : : a n + a n a nn n = b n (P.4.) Dengan menggunakan perkalian matriks, kita dapat menulis (P.4.) sebagai persamaan matriks A = b (P.4.) yang dalam hal ini, yaitu A = [a ij ] adalah matriks berukuran n n = [ j ] adalah matriks berukuran n b = [b j ] adalah matriks berukuran n (disebut juga vektor kolom) a a a M an 3 a a a a 3 n a a a a n a a a a n n 3n nn 3 = M n b b b 3 M b n Solusi (P.4.) adalah himpunan nilai,,, n yang memenuhi n buah persamaan. Metode penyelesaian sistem persamaan lanjar dengan determinan (aturan Cramer) tidak praktis untuk sistem yang besar. Beberapa metode penyelesaian praktis sistem persamaan lanjar yang kita bahas di sini adalah:. Metode eliminasi Gauss. Metode eliminasi Gauss-Jordan 3. Metode matriks balikan 4. Metode dekomposisi LU Bab 4 Solusi Sistem Persamaan Lanjar 9
138 5. Metode lelaran Jacobi 6. Metode lelaran Gauss-Seidel. Walaupun metode penyelesaian SPL beragam, namun sebagian besar metode tersebut, terutama metode sampai 4, tetap didasarkan kepada metode yang paling dasar, yaitu eliminasi Gauss. Metode eliminasi Gauss-Jordan, metode matriks balikan, dan metode dekomposisi LU merupakan bentuk variasi lain dari metode eliminasi Gauss. Sedangkan metode lelaran Jacobi dan metode lelaran Gauss-Seidel dikembangkan dari gagasan metode lelaran pada solusi persamaan nirlanjar. 4. Metode Eliminasi Gauss Metode ini berangkat dari kenyataan bahwa bila matriks A berbentuk segitiga atas seperti sistem persamaan berikut ini a M a a a a a a a a a n n 3n nn 3 M n = b b b 3 M b n maka solusinya dapat dihitung dengan teknik penyulihan mundur (backward substitution): a nn n = b n n = b n /a nn bn a a n-, n- n- + a n-, n n = b n- n- = a a n-, n- n- + a n-, n- n- + a n-, n n = b n- n- = M dst. b n, n n, n n an, n a n n n, n a n, n n Sekali n, n-, n-,..., k+ diketahui, maka nilai k dapat dihitung dengan k = k n b a kj j = k + a kk j, k = n-, n-,..., dan a kk. P.4.3) 3 Metode Numerik
139 Kondisi a kk sangat penting, sebab bila a kk =, persamaan (P.4.3) mengerjakan pembagian dengan nol. Apabila kondisi tersebut tidak dipenuhi, maka SPL tidak mempunyai jawaban. Di dalam Bab 4 ini, kita menggunakan struktur data matriks untuk semua algoritma yang dijelaskan nanti. Pendeklarasiannya adalah sebagai berikut ini: (* KAMUS GLOBAL *) const n = ; { ukuran matriks A } type matriks = array[..n,..n] of real; vektor = array[..n] of real; var { larik/matriks yang digunakan untuk sistem A = b } A : matriks; b : vektor; : vektor; Program 4. berikut berisi algoritma penyulihan mundur. Program 4. Penyulihan Mundur procedure Sulih_Mundur(A : matriks; b : vektor; n: integer; var : vektor); { Menghitung solusi sistem persamaan lanjar yang sudah berbentuk matriks segitiga atas K.Awal : A adalah matriks yang berukuran n n, elemennya sudah terdefinisi harganya; b adalah vektor kolom yang berukuran n. K.Akhir: berisi solusi sistem persamaan lanjar. } var j, k: integer; sigma: real; begin [n]:=b[n]/a[n,n]; for k:=n- downto do begin sigma:=; for j:=k+ to n do sigma:=sigma + a[k, j] * [j]; {endfor} [k]:= (b[k] - sigma )/a[k, k]; end; end; Bab 4 Solusi Sistem Persamaan Lanjar 3
140 Contoh 4. [MAT9] Selesaikan sistem persamaan lanjar berikut dengan teknik penyulihan mundur Penyelesaian: = = = = 6 4 = 6/3 = 3 = = = ( 5( ) ) 4 = ( ) + 4( ) = 4 ( 4) ( ) 3( ) + = 3 4 Jadi, solusinya adalah = (3, -4, -, ) T. Metode eliminasi Gauss pada prinsipnya bertujuan mentransformasi sistem A = b menjadi sistem U = y (P.4.4) dengan U adalah matriks segitiga atas. Selanjutnya solusi dapat dihitung dengan teknik penyulihan mundur. Contohnya pada sistem dengan 4 persamaan lanjar berikut (Elemen matriks A dan vektor kolom b disatukan dalam bentuk satu bentuk matriks): a a a 3 a 4 b a a a 3 a 4 b a a a 3 a 4 b dieliminasi () a () a 3 () a 4 a 3 a 3 a 33 a 34 b 3 menjadi [U, y] () a 33 () a 34 a 4 a 4 a 43 a 44 b 4 (3) a 44 [A, b] [U, y] () b () b 3 (3) b 4 Tanda pangkat (), (), (3) menunjukkan bahwa elemen matriks A telah berubah satu kali, dua kali, dan tiga kali. 3 Metode Numerik
141 Proses eliminasi terdiri atas tiga operasi baris elementer:. Pertukaran : Urutan dua persamaan dapat ditukar karena pertukaran tersebut tidak mempengaruhi solusi akhir.. Penskalaan : Persamaan dapat dikali dengan konstanta bukan nol, karena perkalian tersebut tidak mempengaruhi solusi akhir. 3. Penggantian : Persamaan dapat diganti dengan penjumlahan persamaan itu dengan gandaan persamaan lain. Misalnya persamaan diganti dengan selisih persamaan itu dengan dua kali persamaan lain; yaitu baris r := baris r - m p,r baris p (P.4.5) Nilai a r, r pada posisi (r, r) yang digunakan untuk mengeliminasi r pada baris r +, r +,..., N dinamakan elemen pivot dan persamaan pada baris ke-r disebut persamaan pivot [MAT9]. Ada kemungkinan pivot bernilai nol sehingga pembagian dengan nol tidak dapat dielakkan. Tata-ancang eliminasi yang tidak mempedulikan nilai pivot adalah tatancang yang naif (naive) atau sederhana. Metode eliminasi Gauss seperti ini dinamakan metode eliminasi Gauss naif (naive Gaussian elimination), karena metodenya tidak melakukan pemeriksaan kemungkinan pembagian dengan nol. Pada metode eliminasi Gauss naif tidak ada operasi pertukaran baris dalam rangka menghindari pivot yang bernilai nol itu. PIVOT: Critical, cardinal, or crucial factor (Kamus Webster) Contoh 4. Selesaikan sistem persamaan lanjar dengan metode eliminasi Gauss naif: Penyelesaian: = = = 3-5 R - 4 / R 3-5 R 3-6 / - R ~ ~ R / R Keterangan: (i) elemen yang dicetak tebal menyatakan pivot. (ii) simbol ~ menyatakan operasi baris elementer. (iii) R i menyatakan baris (row) ke-i Bab 4 Solusi Sistem Persamaan Lanjar 33
142 (iv) R - 4 / R artinya elemen-elemen pada baris kedua dikurangi dengan dua kali elemen-elemen pada baris ke satu. R : R : R - 4 / R : (menjadi elemen baris ke-) Solusi sistem diperoleh dengan teknik penyulihan mundur sebagai berikut: -5 3 = -5 3 = = -7 = (-7 + 3)/- = = 5 = ( )/ = Jadi, solusinya adalah = (,, 3) T Program 4. Metode Eliminasi Gauss Naif procedure Eliminasi_Gauss_Naif(A : matriks; b : vektor; n:integer; var : vektor); { Menghitung solusi sistem persamaan lanjar A = b K.Awal : A adalah matriks yang berukuran n n, elemennya sudah terdefinisi harganya; b adalah vektor kolom yang berukuran n K.Akhir: berisi solusi sistem } var i; k, j : integer; m: real; begin for k:= to n- do {mulai dari baris pivot sampai baris pivot n-} begin for i:=(k+) to n do {eliminasi mulai dari baris k+ sampai baris n} begin m:=a[i,k]/a[k,k]; {hitung faktor pengali} for j:=k to n do {eliminasi elemen dari kolom k sampai kolom n} a[i,j]:=a[i,j] - m*a[k,j]; {endfor} b[i]:=b[i] - m*b[k]; {eliminasi elemen vektor b pada baris i} end; end; Sulih_Mundur(A, b, n, ); {dapatkan solusinya dengan teknik penyulihan mundur) end; Kelemahan eliminasi Gauss naif Jika pivot a pp =, baris ke-k tidak dapat digunakan untuk memgeliminasi elemen pada kolom p, karena terjadinya pembagian dengan nol. Oleh karena itu, pivot yang bernilai nol harus dihindari dengan tata-ancang (strategy) pivoting. 34 Metode Numerik
143 4.. Tata-ancang Pivoting Prinsip tata-ancang pivoting adalah sebagai berikut: jika a p,p (p-) =, cari baris k dengan a k,p dan k > p, lalu pertukarkan baris p dan baris k. Metode eliminasi Gauss dengan tata-ancang pivoting disebut metode eliminasi Gauss yang diperbaiki (modified Gaussian elimination). Contoh 4.3 Selesaikan sistem persamaam lanjar berikut dengan metode eliminasi Gauss yang menerapkan tatancang pivoting = = = 6 R - 3 / R R 3 R ~ -3 3 (*) R 3 - / R operasi baris operasi baris Setelah operasi baris, elemen a yang akan menjadi pivot pada operasi baris ternyata sama dengan nol. Karena itu, pada operasi baris, elemen baris dipertukarkan dengan elemen baris 3. Tanda (*) menyatakan pertukaran baris terjadi akibat proses pivoting. Sekarang elemen a = 4 sehingga operasi baris elementer dapat diteruskan. Tetapi, karena matriks A sudah membentuk matriks U, proses eliminasi selesai. Solusinya diperoleh dengan teknik penyulihan mundur, yaitu 3 = -, =, dan =. Melakukan pertukarkan baris untuk menghindari pivot yang bernilai nol adalah cara pivoting yang sederhana (simple pivoting). Masalah lain dapat juga timbul bila elemen pivot sangat dekat ke nol, karena jika elemen pivot sangat kecil dibandingkan terhadap elemen lainnya, maka galat pembulatan dapat muncul [CHA9]. Ingatlah kembali bahwa kita bekerja dengan mesin (komputer) yang beroperasi dengan pembulatan bilangan riil. Jadi, disamping menghindari pembagian dengan nol, tatancang pivoting dapat juga diperluas untuk mengurangi galat pembulatan. Bab 4 Solusi Sistem Persamaan Lanjar 35
144 Ada dua macam tatancang pivoting:. Pivoting sebagian ( partial pivoting) Pada tatancang pivoting sebagian, pivot dipilih dari semua elemen pada kolom p yang mempunyai nilai mutlak terbesar, a k, p = ma{ a p,p, a p+,p,, a n-,p, a n,p } lalu pertukarkan baris ke-k dengan baris ke-p. Misalkan setelah operasi baris pertama diperoleh matriksnya seperti yang digambarkan pada matriks di bawah ini. Untuk operasi baris kedua, carilah elemen pada kolom kedua, dimulai dari baris ke- sampai baris ke-4, yang nilai mutlaknya terbesar, lalu pertukarkan barisnya dengan baris kedua. Elemen yang nilai mutlaknya terbesar itu sekarang menjadi pivot untuk operasi baris selanjutnya. Cari terbesar, lalu pertukarkan barisnya dengan baris ke- Perhatikanlah bahwa teknik pivoting sebagian juga sekaligus menghindari pemilihan pivot = (sebagaimana pada simple pivoting) karena tidak akan pernah menjadi elemen dengan nilai mutlak terbesar, kecuali jika seluruh elemen di kolom yang diacu adalah. Apabila setelah melakukan pivoting sebagian ternyata elemen pivot =, itu berarti sistem persamaan lanjar tidak dapat diselesaikan (singular system).. Pivoting lengkap (complete pivoting) Jika disamping baris, kolom juga diikutkan dalam pencarian elemen terbesar dan kemudian dipertukarkan, maka tatancang ini disebut pivoting lengkap. Pivoting lengkap jarang dipakai dalam program sederhana karena pertukaran kolom mengubah urutan suku dan akibatnya menambah kerumitan program secara berarti [CHA9]. 36 Metode Numerik
145 Contoh 4.4 Dengan menggunakan empat angka bena, selesaikan sistem persamaan berikut dengan metode eliminasi Gauss: = =.8 (a) tanpa tatancang pivoting sebagian (Gauss naif) (b) dengan tatancang pivoting sebagian (Gauss yang dimodifikasi) (Perhatikan, dengan 4 angka bena, solusi sejatinya adalah =. dan =.} Penyelesaian: (a) tanpa tatancang pivoting sebagian: Operasi baris pertama (.3 sebagai pivot): R R R = R - 5 R (tanda berarti diisi atau diganti dengan ) Jadi, a a (5)(.566) b.8 - (5)(.569) R -5R ~ Solusinya diperoleh dengan teknik penyulihan mundur: = -85/-84 =..569 (.566)(.) = = = = (jauh dari solusi sejati) Jadi, = (3.333,.) T. Solusi ini sangat jauh berbeda dengan solusi sejatinya. Kegagalan ini terjadi karena a sangat kecil dibandingkan, sehingga galat Bab 4 Solusi Sistem Persamaan Lanjar 37
146 pembulatan yang kecil pada menghasilkan galat besar di. Perhatikan juga bahwa adalah pengurangan dua buah bilangan yang hampir sama, yang menimbulkan hilangnya angka bena pada hasil pengurangannya (loss of significance). (b) dengan tata-ancang pivoting sebagian Baris pertama dipertukarkan dengan baris kedua sehingga.3454 menjadi pivot R -.3 /.3454 R ~ Dengan teknik penyulihan mundur diperoleh =.568/.568 =. ( )( ) =.3454 =. (lebih baik daripada solusi (a)) Jadi, solusinya adalah = (.,.) T, yang lebih baik daripada solusi (a). Keberhasilan ini karena a tidak sangat kecil dibandingkan dengan a, sehingga galat pembulatan yang kecil pada tidak akan menghasilkan galat yang besar pada. Contoh 4.5 Dengan menggunakan empat angka bena, selesaikan sistem persamaan berikut ini dengan metdoe eliminasi Gauss: = =.93 (a) tanpa tatancang pivoting sebagian (Gauss naif) (b) dengan tatancang pivoting sebagian (Perhatikan, dengan 4 angka bena, solusi sejatinya adalah = =.) Penyelesaian: (a) tanpa tatancang pivoting sebagian R - ( 4.4 /.33 )R ~ Solusinya diperoleh dengan teknik penyulihan mundur: = -3.8/-3.7 =. 38 Metode Numerik
147 = ( 5.8)(.) =.9956 Jadi, = (.9956,.) T. Solusi ini kurang teliti dibandingkan dengan solusi sejatinya (b) dengan tatancang pivoting sebagian Baris ke- dipertukarkan dengan baris ke-, sehingga 4.4 menjadi pivot R - (.33 / 4.4 )R Dengan teknik penyulihan mundur, solusinya adalah = 5.338/5.338 =. = (.)(.) =. Jadi, = (.,.) T. Solusi ini tepat sama dengan solusi sejatinya, jadi lebih baik daripada solusi (a) di atas. Contoh 4.4 dan Contoh 4.5 di atas memperlihatkan bahwa dengan tatancang pivoting sebagian galat pembulatan dapat dikurangi. Contoh lainnya untuk sistem dengan tiga persamaan berikut: R - / 6 R 3 - R R R 3-4 / 6 R (*) ~ R R dst (*) Metode eliminasi Gauss yang diperbaiki (tidak naif) adalah metode eliminasi Gauss yang melibatkan operasi pertukaran baris dalam rangka memilih elemen pivot dengan nilai mutlak terbesar. Program 4.3 berikut berisi algoritma eliminasi Gauss yang diperbaiki. Bab 4 Solusi Sistem Persamaan Lanjar 39
148 Program 4.3 Metode Eliminasi Gauss yang diperbaiki (dengan tatancang pivoting) procedure Eliminasi_Gauss(A : matriks; b : vektor; n:integer; var : vektor); { Menghitung solusi sistem persamaan lanjar A = b dengan metode eliminasi Gauss yang diperbaiki. K.Awal : A adalah matriks yang berukuran n n, elemennya sudah terdefinisi harganya; b adalah vektor kolom yang berukuran n K.Akhir: berisi solusi sistem. Jika tidak ada solusi yang unik, vektor diisi dengan nilai } var i, k, j, r, s, t : integer; m, tampung, pivot : real; singular : boolean; { true jika SPL tidak mempunyai solusi } begin k:=; singular:=false; while (k<=n-) and (not singular) do begin {cari elemen pivot dengan nilai mutlak terbesar} pivot:=a[k,k]; r:=k; {baris pivot} for t:=k+ to n do {bandingkan dengan elemen pada baris k+..n} if ABS(a[t,k]) > ABS(pivot) then begin pivot:=a[t,k]; r:=t; end {if} ; {jika pivot= maka matriks A singular. Proses dihentikan} if pivot = then { atau hampir nol, gunakan suatu epsilon } singular:=true else begin if r > k then {jika pivot tetap pada baris k, tidak ada pertukaran} begin {pertukarkan baris k dengan baris r di matriks A} for s:= to n do begin tampung:=a[k,s]; a[k,s]:=a[r,s]; a[r,s]:=tampung; end; {pertukarkan juga b[k] dengan b[r]} tampung:=b[k]; b[k]:=b[r]; b[r]:=tampung; end {if} ; for i:=(k+) to n do {eliminasi dari baris k+ sampai baris n} begin m:=a[i,k]/a[k,k]; {hitung faktor pengali} for j:=k to n do {eliminasi dari kolom k sampai kolom n} a[i,j]:=a[i,j] - m*a[k,j]; 4 Metode Numerik
149 {endfor} b[i]:=b[i] - m*b[k]; {eliminasi vektor b pada baris i} end {for} ; end {if} ; k:=k+; end {while}; { k = n or singular } if not singular then Sulih_Mundur(A, b, n, ); {dapatkan solusinya dengan teknik penyulihan mundur) else { solusi tidak ada, tetapi vektor harus tetap diisi } for i:= to n do [i]:=-9999; {endfor} {endif} end; Untuk hasil terbaik, penerapan tatancang pivoting dan penggunaan bilangan berketelitian ganda dapat mengurangi galat pembulatan. Pertukaran elemen baris, sebagai akibat dari pemilihan pivot, memakan waktu, khususnya pada SPL yang berukuran besar. Waktu pertukaran ini dapat dikurangi bila elemen-elemen baris tidak benar-benar ditukar secara aktual. Urutan baris dicatat di dalam larik BAR[..n]. Pertukaran yang dikerjakan hanyalah pertukaran elemen larik BAR. Pada mulanya larik BAR berisi indeks baris matriks: for i:= to n do BAR[i]:=i; Elemen matriks diacu sebagai A[BAR[i], k] Maka, pertukaran baris k dan baris r dikerjakan sebagai tampung:=bar[r]; BAR[r]:=BAR[k]; BAR[k]:=tampung; 4.. Penskalaan Selain dengan pivoting sebagian, penskalaan (scaling) juga dapat digunakan untuk mengurangi galat pembulatan pada SPL yang mempunyai perbedaan koefisien yang mencolok. Situasi demikian sering ditemui dalam praktek rekayasa yang menggunakan ukuran satuan yang berbeda-beda dalam menentukan persamaan Bab 4 Solusi Sistem Persamaan Lanjar 4
150 simultan. Misalnya pada persoalan rangkaian listrik, tegangan listrik dapat dinyatakan dalam satuan yang berkisar dari mikrovolt sampai kilovolt. Pemakaian satuan yang berbeda-beda dapat menuju ke koefisien yang besarnya sangat berlainan. Ini berdampak pada galat pembulatan, dan karena itu mempengaruhi pivoting [CHA9]. Dengan penskalaan berarti kita menormalkan persamaan. Cara menskala adalah membagi tiap baris persamaan dengan nilai mutlak koefisien terbesar di ruas kirinya. Akibat penskalaan, koefisien maksimum dalam tiap baris adalah. Cara menskala seperti ini dinamakan dengan menormalkan SPL. Contoh 4.6 Selesaikan sistem persamaan lanjar berikut sampai 3 angka bena dengan menggunakan metode eliminasi Gauss yang menerapkan penskalaan dan tanpa penskalaan: + = + = (Solusi sejatinya dalam 3 angka bena adalah = =.) Penyelesaian: (i) Tanpa penskalaan : R - / R -5-5 Solusinya adalah =. =. (salah) (ii) Dengan penskalaan : + = :. + = = : + =. R R ~ (*).. Solusinya, =. =. (benar) yang sesuai dengan solusi sejati. Contoh di atas juga memperlihatkna bahwa penskalaan dapat mengubah pemilihan pivot. 4 Metode Numerik
151 4.. Kemungkinan Solusi SPL Tidak semua SPL mempunyai solusi. Ada tiga kemungkinan solusi yang dapat terjadi pada SPL: (a) mempunyai solusi yang unik, (b) mempunyai banyak solusi, atau (c) tidak ada solusi sama sekali. Dengan grafik, ketiga kemungkinan solusi ini diperlihatkan oleh tiga SPL dengan dua persamaan berikut [NAK9]: (i) - + y = - + y = (ii) - + y = - + y = (iii) - + y = - y = Grafik ketiga SPL diperlihatkan pada Gambar 4.3. Grafik pertama memperlihatkan bahwa kedua persamaan berimpit pada satu garis lurus. Solusinya terdapat di sepanjang garis tersebut (banyak solusi). Grafik kedua memperlihatkan kedua persamaan menyatakan dua garis yang sejajar. Tidak ada perpotongan kedua garis tersebut (tidak ada solusi). Sedangkan pada grafik ketiga, kedua persamaan berpotongan pada sebuah titik (solusinya tunggal atau unik). y y y Solusi banyak Tidak ada solusi Solusi unik Gambar 4.3 Kemungkinan solusi sistem persamaan lanjar Bab 4 Solusi Sistem Persamaan Lanjar 43
152 Untuk SPL dengan tiga buah persamaan atau lebih (dengan tiga peubah atau lebih), tidak terdapat tafsiran geometrinya (tidak mungkin dibuat ilustrasi grafisnya) seperti pada SPL dengan dua buah persamaan. Namun, kita masih dapat memeriksa masing-masing kemungkinan solusi itu berdasarkan pada bentuk matriks akhirnya. Agar lebih jelas, tinjau contoh pada SPL yang disusun oleh tiga persamaan.. Solusi unik/tunggal Eliminasi 3 Gauss Solusi banyak/tidak terhingga Solusi: =, =, 3 = - 4 Eliminasi 4 - Gauss Perhatikan hasil eliminasi Gauss pada baris terakhir. Persamaan yang bersesuaian dengan baris terakhir tersebut adalah = yang dipenuhi oleh banyak nilai. Solusinya diberikan dalam bentuk parameter: Misalkan 3 = k, maka = k dan = - 5k, dengan k R. Terdapat tidak berhingga nilai k, berarti solusi SPL banyak sekali. 3. Tidak ada solusi 4 Eliminasi 4 - Gauss Metode Numerik
153 Perhatikan hasil eliminasi Gauss pada baris terakhir. Persamaan yang bersesuaian dengan baris terakhir tersebut adalah = yang dalam hal ini, tidak nilai i yang memenuhi, i =,, 3 Bentuk akhir matriks setelah eliminasi Gauss untuk ketiga kemungkinan solusi di atas dapat digambarkan sebagai berikut: Solusi unik Solusi banyak Tidak ada solusi Kita rangkum pertanda kemungkinan solusi SPL di bawah ini:. Jika pada hasil eliminasi Gauss tidak terdapat baris yang semuanya bernilai (termasuk elemen pada baris yang bersesuaian pada vektor kolom b), maka solusi SPL dipastikan unik.. Jika pada hasil eliminasi Gauss terdapat paling sedikit satu baris yang semuanya bernilai (termasuk elemen pada baris yang bersesuaian pada vektor kolom b), maka SPL mempunyai banyak solusi. 3. Jika pada hasil eliminasi Gauss terdapat baris yang semuanya bernilai tetapi elemen pada baris yang bersesuaian pada vektor kolom b tidak, maka SPL tidak mempunyai solusi. Program eliminasi Gauss harus dapat menangani ketiga kemungkinan solusi tersebut. Bab 4 Solusi Sistem Persamaan Lanjar 45
154 4.3 Metoda Eliminasi Gauss-Jordan Metode eliminasi Gauss-Jordan merupakan variasi dari metode eliminasi Gauss. Dalam hal ini, matriks A dieliminasi menjadi matriks identitas I. Di sini tidak diperlukan lagi teknik penyulihan mundur untuk memperoleh solusi SPL. Solusinya langsung diperoleh dari vektor kolom b hasil proses eliminasi. A = b I = b' Dalam bentuk matriks, eliminasi Gaus-Jordan ditulis sebagai a a a 3 a n b b ' a a a 3 a n b b ' a 3 a 3 a 33 a 3n b 3 b 3 ' : : : : a n a n a n3 a nn b n b n ' Solusinya: = b ' = b ' n = b n ' Seperti pada metode eliminasi Gauss naif, metode eliminasi Gauss-Jordan naif tidak menerapkan tata-ancang pivoting dalam proses eliminasinya. Program 4.4 Metode Eliminasi Gauss-Jordan Naif procedure Eliminasi_Gauss_Jordan_Naif(A : matriks; b: vektor; n:integer; var : vektor); { Menghitung solusi sistem persamaan lanjar A = b dengan metode eliminasi Gauss-Jordan. K.Awal : A adalah matriks yang berukuran n n, elemennya sudah terdefinisi harganya; b adalah vektor kolom yang berukuran n K.Akhir: berisi solusi sistem } var i; k, j : integer; m, tampung: real; begin for k:= to n do begin tampung:=a[k,k]; for j:= to n do {bagi elemen baris k dengan a[k,k]} a[k,j]:=a[k,j]/tampung; {endfor} b[k]:=b[k]/tampung; {jangan lupa b[k] juga dibagi dengan a[k,k]} for i:= to n do {eliminasi elemen baris i s/d baris n, i k} 46 Metode Numerik
155 begin if i<>k then begin m:=a[i,k]; for j:= to n do {eliminasi elemen dari kolom s/d kolom n} a[i,j]:=a[i,j] - m*a[k,j]; {endfor} b[i]:=b[i] - m*b[k]; {eliminasi elemen vektor b pada baris i} end; end; end; {Solusi langsung didapat dari vektor kolom b} for i:= to n do [i]:=b[i]; end; Seperti halnya metode eliminasi Gauss, tatancang pivoting dan penskalaan juga dapat diterapkan pada metoda ini untuk memperkecil galat pembulatan. Contoh 4.7 [CHA9] Selesaikan sistem persamaan lanjar di bawah ini dengan metode eliminasi Gauss- Jordan. Penyelesaian: = = = R / ~ R -. R R R ~ R / R - (-.3333)R R 3 - (-.9)R Bab 4 Solusi Sistem Persamaan Lanjar 47
156 R 3 / R - (-.6869) R 3 3. R - ( ) R Solusi: = 3. = = 7.3 Penyelesaian SPL dengan metode eliminasi Gauss-Jordan membutuhkan jumlah komputasi yang lebih banyak daripada metode eliminasi Gauss. Karena alasan itu, metode eliminasi Gauss sudah cukup memuaskan untuk digunakan dalam penyelesaian SPL. Namun metode eliminasi Gauss-Jordan merupakan dasar pembentukan matriks balikan yang akan dibahas di bawah ini. Matriks Balikan (inverse matrices) Matriks balikan, A -, banyak dipakai dalam pengolahan matriks. Misalnya dalam pengukuran statistik, pencocokan fungsi pada data hasil pengamatan menggunakan metode kuadrat terkecil (least square). Di sini, nilai A - memberikan informasi tentang galat mutlak yang dikandung data. Selain itu, matriks balikan juga dapat dipakai untuk menghitung solusi sistem persamaan lanjar (akan dibahas pada metode matriks balikan). Akan ditunjukkan juga bahwa matriks balikan dapat diperoleh dengan metode eliminasi Gauss-Jordan. Tetapi sebelum membahasnya, ingatlah kembali cara menghitung matriks balikan untuk matriks. Untuk matriks, a A = a a a matriks balikannya adalah 48 Metode Numerik
157 A a a = a a aa a a, a a - a a. Nilai a a - a a ini disebut determinan. Determinan dilambangkan dengan dua buah garis tegak ( ). Lebih jauh tentang determinan ini akan dijelaskan pada bagian lain bab ini. Bila determinan A =, matriks A tidak mempunya balikan, sehingga dinamakan matriks singular. Sistem persamaan lanjar yang mempunyai matriks A singular (sistem singular) tidak mempunyai solusi yang unik, yaitu solusinya banyak atau solusinya tidak ada. Untuk matriks n n, matriks balikannya dapat diperoleh dengan metode eliminasi Gauss-Jordan, yaitu: [ A I ] eliminasi G - J [ I A - ] a a a n p p p n a a a n p p p n : : : : : : : : a n a n a nn p n p n p nn A I I A - Contoh 4.8 Tentukan matriks balikan dari matriks A berikut Penyelesaian: - A = 3 - R -3R - 3 ~ R 3 - R.4 -. ~... ~ Bab 4 Solusi Sistem Persamaan Lanjar 49
158 Jadi, matriks balikan dari A adalah.4 -. A - = Penerapan tata-ancang pivoting dan penggunaan bilangan berketelitian ganda dapat memperbaiki hasil matriks balikan. 4.4 Metode Matriks Balikan Misalkan A - adalah matriks balikan dari A. Hasil kali A dengan A - menghasilkan matriks identitas I, AA - = A - A = I (P.4.6) Bila matriks A dikalikan dengan I akan menghasilkan matriks A sendiri, AI = IA = A (P.4.7) Berdasarkan dua kesamaan di atas, sistem persamaan lanjar A = b dapat diselesaikan sebagai berikut: A = b A - A = A - b {kalikan kedua ruas dengan A - } I = A - b = A - b (P.4.8) Jadi, penyelesaian sistem persamaan lanjar A = b adalah = A - b dengan syarat A - ada. Cara penyelesaian dengan mengalikan matriks A - dengan b itu dinamakan metode matriks balikan. Tetapi, penyelesaian dengan SPL metode matriks balikan tidak lebih mangkus daripada metode eliminasi Gauss, sebab lebih banyak proses komputasi yang dibutuhkan. Metode matriks balikan baru mangkus bila digunakan untuk penyelesaian sejumlah SPL dengan matriks A yang sama tetapi dengan vektor kolom b yang berbeda-beda: A = b I A = b II A = b III... dst 5 Metode Numerik
159 Sekali A - telah diperoleh, maka ia dapat dipakai untuk menyelesaikan sejumlah SPL tersebut. Contoh 4.9 Selesaikan sistem persamaan lanjar = = + 3 = 5 dengan metode matriks balikan. Penyelesaian: - R -3R - 3 ~ R 3 - R ~ ~ A - Solusinya adalah = A - b = - = = Perlu diperhatikan, apabila selama pembentukan matriks balikan terdapat proses pivoting (pertukaran baris), baris-baris pada b juga harus dipertukarkan. 4.5 Metode Dekomposisi LU Jika matriks A non-singular maka ia dapat difaktorkan (diuraikan atau didekomposisi) menjadi matriks segitiga bawah L (lower) dan matriks segitiga atas U (upper): A = LU (P.4.9) Bab 4 Solusi Sistem Persamaan Lanjar 5
160 Dalam bentuk matriks, pemfaktoran ini ditulis sebagai a a a 3 a n u u u 3 u n a a a 3 a n l u u 3 u n a 3 a 3 a 33 a 3n = l 3 l 3 u 33 u 3n : : : : : : : a n a n a n3 a nn l n l n l n3 u nn Pada matriks segitiga bawah L, semua elemen diagonal adalah, sedangkan pada matriks U tidak ada aturan khusus pada elemen diagonalnya. Sebagai contoh, matriks 3 3 di bawah ini difaktorkan menjadi : = Metode pemfaktoran A menajdi L dan U akan dijelaskan kemudian. Sekali A difaktorkan menjadi L dan U, kedua matriks tersebut dapat digunakan untuk menyelesaikan A = b. Metode penyelesaian SPL dengan cara ini dikenal dengan nama metode dekomposisi LU. Metode ini dinamakan juga metode pemfaktoran segitiga (triangular factorization). Nanti akan ditunjukkan bahwa metode elimnais Guuss merupakan suatu dekomposisi LU dari matriks A. Penyelesaian A = b dengan metode dekomposisi LU adalah sebagai berikut. Tinjau sistem persamaan lanjar A = b Faktorkan A menjadi L dan U sedemikian sehingga Jadi, A = LU A = b LU = b (P.4.) Pada beberapa buku, yang tertera adala h kebalikannya: semua elemen diagonal dari matriks U adalah, sedangkan elemen diagonal matriks L bebas. Hal ini tidak masalah sebab jika L dan U dikalikan, hasilnya tetap sama dengan matriks A. 5 Metode Numerik
161 Misalkan U = y (P.4.) maka Ly = b (P.4.) Untuk memperoleh y, y,, y n, kita menggunakan teknik penyulihan maju (forward substitution) : Ly = b... y b l... y = b l n l n l n3 y n b n diperoleh y, y,, y n dengan teknik penyulihan maju Dan untuk memperoleh solusi SPL,,,, n, kita menggunakan teknik penyulihan mundur (backward substitution): U = y u u u 3 u n y b diperoleh u u 3 u n y = b,,, n : : dengan teknik u nn y n b n penyulihan mundur Jadi, langkah-langkah menghitung solusi SPL dengan metode dekomposi LU dapat diringkas sebagai berikut:. Bentuklah matriks L dan U dari A. Pecahkan Ly = b, lalu hitung y dengan teknik penyulihan maju 3. Pecahkan U = y, lalu hitung dengan teknik penyulihan mundur Sama halnya dengan metode matriks balikan, metode dekomposisi LU akan mangkus bila digunakan untuk menyelesaikan sejumlah SPL dengan matriks A yang sama tetapi dengan b berbeda-beda. Sekali A difaktorkan menjadi L dan U, keduanya dapat digunakan untuk menghitung solusi sejumlah SPL tersebut. Metode dekomposisi LU merupakan metode yang paling populer untuk memecahkan sistem persamaan lanjar. Bab 4 Solusi Sistem Persamaan Lanjar 53
162 Terdapat dua metode untuk memfaktorkan A atas L dan U:. Metode LU Gauss.. Metode reduksi Crout. Masing-masing metode pemfaktoran kita bahas di bawah ini Pemfaktoran dengan Metode LU Gauss Walaupun tidak ada hubungannya dengan dekomposisi LU, metode elimianasi Gauss dapat digunakan untuk memfaktorkan A menjadi L dan U (karena itulah metode pemfaktoran ini kita namakan metode LU Gauss). Di dalam upabab ini juga akan ditunjukkan bahwa sebenarnya metode eliminasi Gauss dapat dinyatakan sebagai dekomposisi LU. Misalkan matriks A berukuran 4 4 difaktorkan atas L dan U, A = LU a a a 3 a 4 u u u 3 u 4 a a a 3 a 4 m u u 3 u 4 a 3 a 3 a 33 a 34 = m 3 m 3 u 33 u 34 a 4 a 4 a 43 a 44 m 4 m 4 m 43 u 44 Di sini kita menggunakan simbol m ij ketimbang l ij, karena nilai l ij berasal dari faktor pengali (m ij ) pada proses eliminasi Gauss. Langkah-langkah pembentukan L dan U dari matriks A adalah sebagai berikut:. Nyatakan A sebagai A = IA a a a 3 a n a a a 3 a n a a a 3 a n a a a 3 a n a 3 a 3 a 33 a 3n = a 3 a 3 a 33 a 3n : : : : : a n a n a n3 a nn a n a n a n3 a nn. Eliminasikan matriks A di ruas kanan menjadi matriks segitiga atas U. Tempatkan faktor pengali m ij pada posisi l ij di matriks I. 54 Metode Numerik
163 3. Setelah seluruh proses eliminasi Gauss selesai, matriks I menjadi matriks L, dan matriks A di ruas kanan menjadi matriks U. Di bawah ini diberikan dua contoh pemfaktoran A dengan metode ini, masingmasing untuk kasus tanpa pivoting dan dengan pivoting. Contoh 4. (LU Gauss naif) Faktorkan matriks A berikut dengan metode LU Gauss: A = Penyelesaian: A = = Eliminasikan matriks A di ruas kanan menjadi matriks segitiga atas U, dan tempatkan faktor pengali m ij pada posisi l ij di matriks I R - ( - / 4 )R ~ R 3 -( / 4 )R Tempatkan m = -/4 =.5 dan m 3 = /4 =.5 ke dalam matriks L: L = -.5 m 3 Teruskan proses eliminasi Gauss pada matriks A, R 3 - (.5 / -.5 )R ~ = U Bab 4 Solusi Sistem Persamaan Lanjar 55
164 Tempatkan m 3 =.5/-.5 = -.5 ke dalam matriks L: L = Jadi, A = = Contoh 4. (LU Gauss dengan tata-ancang pivoting) Faktorkan matriks A berikut - A = b = 5 - lalu pecahkan sistem A = b. Penyelesaian: Eliminasikan matriks A di ruas kanan menjadi matriks segitiga atas U, dan tempatkan faktor pengali m ij pada posisi l ij di matriks I. - R - ()R - ~ 3 - R 3 -( / )R Tempatkan m = dan m 3 = / = ke dalam matriks L: L = - m 3 Teruskan proses eliminasi Gauss pada matriks A. Dalam hal ini ada pivoting karena calon pivot bernilai, sehingga baris kedua dipertukarkan dengan baris ketiga: 56 Metode Numerik
165 - - 3 R R 3 3 Jangan lupa mempertukarkan juga R R 3 pada matriks L, kecuali elemen diagonalnya L = R R m 3 m 3 Jangan lupa mempertukarkan juga R R 3 pada vektor b, b = 5 R R 3 5 Teruskan proses eliminasi Gauss pada matriks A: - R 3 - ( / )R = U 3 Tempatkan m 3 = / = ke dalam matriks L: L = - Jadi, - - A = - = - 3 Berturut-turut dihitung y dan sebagai berikut: y Ly = b - y = y 3 5 Bab 4 Solusi Sistem Persamaan Lanjar 57
166 y, y, dan y 3 dihitung dengan teknik penyulihan maju: y = -y + y = y = + y = + = y + y + y 3 = 5 y 3 = 5 - y = 3 - U = y = 3 3 3,, dan 3 dihitung dengan teknik penyulihan mundur: 3 3 = 3 3 = + 3 = = = = Jadi, solusi sistem persamaan lanjar di atas adalah = (,, ) T. Pertukaran baris untuk matriks yang berukuran besar diperlihatkan oleh matriks di bawah ini: a a a 3 a 4 a 5 a 6 a a a 3 a 4 a 5 a 6 b b 3 b 4 b 5 b 6 b b 3 b 4 b 5 b 6 c 3 c 4 c 5 c 6 R 5 R 4 c 3 c 4 c 5 c 6 d 5 d 6 (*) e 4 e 5 e 6 e 4 e 5 e 6 d 5 d 6 f 4 f 5 f 6 f 4 f 5 f 6 Maka, baris ke-5 dan baris ke-4 pada matriks L juga harus dipertukarkan: m m m 3 m 3 R 5 R 4 m 3 m 3 m 4 m 4 m 43 (*) m 5 m 5 m 53 m 5 m 5 m 53 m 4 m 4 m 43 m 6 m 6 m 63 m 6 m 6 m Metode Numerik
167 4.5. Metode Reduksi Crout Meskipun metode LU Gauss dikenal paling baik untuk melakukan dekomposisi LU, terdapat metode lain yang digunakan secara luas, yaitu metode reduksi (dekomposisi) Crout (atau metode reduksi Cholesky atau metode Dolittle). Dalam membahas metode reduksi Crout, tinjau matriks 3 3 berikut: a a a 3 u u u 3 A = a a a 3 L = l U = u, u 3 a 3 a 3 a 33 l 3 l 3, u 33 Karena LU = A, maka hasil perkalian L dan U itu dapat ditulis sebagai u u u 3 a a a 3 LU = l u l u + u l u 3 +u 3 = A = a a a 3 l 3 u 3 l 3 u + l 3 u l 3 u 3 + l 3 u 3 + u 33 a 3 a 3 a 33 Dari kesamaan dua buah matriks LU = A, diperoleh u = a, u = a, u 3 = a 3 } Baris pertama U l u = a l = l 3 u = a 3 l 3 = a u a u 3 l u + u = a u = a - l u Baris kedua U l u 3 + u 3 = a 3 u 3 = a 3 - l u 3 l 3 u + l 3 u = a 3 l 3 = a l 3 u 3 u }Kolom pertama L Kolom kedua L l 3 u 3 + l 3 u 3 + u 33 = a 33 u 33 = a 33 - ( l 3 u 3 + l 3 u 3 ) } Baris ketiga U } } Bab 4 Solusi Sistem Persamaan Lanjar 59
168 Kita perhatikan ada urutan pola teratur dalam menemukan elemen-elemen L dan U, yaitu: - elemen-elemen baris pertama dari U - elemen-elemen baris pertama dari L - elemen-elemen baris kedua dari U - elemen-elemen baris kedua L - - elemen-elemen baris ke-k dari U - elemen-elemen baris ke-k dari L Rumus umum menghitung u dan l untuk sistem dengan matriks A yang berukuran 3 3 dapat ditulis sebagai berikut: p u pj = a pj - k = l pk u kj, p =,, 3,., n j = p, p+,., n (P.4.3) dan l iq = q aiq ik k = u qq u kq q =,, 3,., n-, i = q+, q+,., n (P.4.4) dengan syarat u qq Contoh 4. Selesaikan = = = 5 dengan metode dekomposisi LU, yang dalam hal ini L dan U dihitung dengan metode reduksi Crout. Penyelesaian: - A = b = 5-6 Metode Numerik
169 Diperoleh: u = a = u = a = u 3 = a 3 = - l = a /u = / = l 3 = a 3 /u = -/ = - u = a - l u = - = Karena u qq tidak boleh nol, lakukan pertukaran baris, baik untuk matriks A maupun untuk vektor b: Matriks A Vektor b R R 3 - R R 3-5 Hitung kembali nilai l, l 3, dan u (Perhatikan bahwa nilai u, u, u 3 tidak berubah) l = a /u = -/ = - l 3 = a 3 /u = / = u = a - l u = - (-)() = + = u 3 = a 3 - l u 3 = - (-)(-) = - = l 3 = a3 l u 3 u = ( ) Diperoleh L dan U sebagai berikut, = - U = L = - dan b = 3 5 Berturut-turut dihitung y dan sebagai berikut: y Ly = b - y = y 3 5 y, y, dan y 3 dihitung dengan teknik penyulihan maju: y = -y + y = y = + y = + = y + y + y 3 = 5 y 3 = 5 - y = 3 Bab 4 Solusi Sistem Persamaan Lanjar 6
170 - U = y = 3 3 3,, dan 3 dihitung dengan teknik penyulihan mundur: 3 3 = 3 3 = + 3 = = = = Jadi, solusi sistem persamaan lanjar di atas adalah = (,, ) T. Jika diamati elemen segitiga bawah pada matriks U semuanya bernilai nol, sehingga ruang yang tidak terpakai itu dapat dipakai untuk menyimpan elemen matriks L. Elemen diagonal matriks L seluruhnya, jadi tidak perlu disimpan (default). Dengan demikian, penyimpanan elemen L dan U pada satu matriks dapat menghemat penggunaan memori. Selain itu, matriks A hanya dipakai sekali untuk memperoleh L dan U, sesudah itu tidak dipakai lagi. Dengan demikian, setelah L dan U diperoleh, elemennya dapat dipindahkan ke dalam A. Karena alasan ini, maka metode dekomposisi LU dinamakan juga metode kompaksi memori. 4.6 Determinan Pada pembahasan matriks balikan kita telah menyinggung sedikit mengenai determinan. Menghitung determinan matriks sangat mudah dan selalu diajarkan di sekolah menengah. Misalkan A adalah matriks A = a a a a maka determinan matriks A adalah det(a) = a a a a = a a a a 6 Metode Numerik
171 Begitupun menghitung determinan untuk matriks 3 3, a a a 3 A = a a a 3 a 3 a 3 a 33 maka determinannya dihitung dengan aturan Cramer: a a a 3 det(a) = a a a 3 a 3 a 3 a 33 a a 3 a a 3 a a = a a 3 a 33 - a a 3 a 33 + a 3 a 3 a 3 = a ( a a 33 - a 3 a 3 ) - a ( a a 33 - a 3 a 3 ) + a 3 (a a 3 - a a 3 ) Menghitung determinan untuk matriks n n dengan aturan Cramer menjadi tidak praktis lagi. Metode eliminasi Gauss dapat diterapkan untuk menghitung determinan matriks n n. Determinannya dapat dihitung setelah ia ditransformasi menjadi matriks segitiga atas U. Pertama-tama kita lihat dulu dua hukum penting determinan [NAK9]: Hukum : det(bc) = det(b) det(c) yaitu, determinan dari perkalian dua buah matriks sama dengan perkalian determinan masing-masing matriks. Hukum : det(m) = hasil kali semua elemen diagonal M jika M adalah matriks segitiga atas atau matriks segitiga bawah. Jadi, jika semua elemen diagonal matriks adalah satu, maka determinannya sama dengan satu. Dalam menghitung determinan, pertimbangkan dua kasus berikut berikut: (i) bila eliminasi Gauss-nya tanpa pivoting dan (ii) bila eliminasi Gaussnya dengan pivoting. Bab 4 Solusi Sistem Persamaan Lanjar 63
172 Kasus : Bila eliminasi Gauss tidak menerapkan tatancang pivoting. Jika pivoting tidak diterapkan, determinan matriks A adalah det (A) = det (LU) = det (L) det(u) = det(u) = u u u u nn (P.4.5) yang dalam hal ini det(l) = sebab semua elemen diagonal L adalah satu. Kasus : Bila eliminasi Gauss menerapkan tatancang pivoting. Tatancang pivoting mengakibatkan pertukaran baris. Dekomposisi LU dengan pivoting setara dengan mengerjakan dua proses terpisah berikut: () Transformasikan matriks A menjadi matriks A' dengan cara permutasi barisbaris matriks (sama dengan mengalikan A dengan matriks permutasi P), A' = PA atau setara dengan A = P - A' (P.4.6) () Dekomposisi A' menjadi LU tanpa pivoting A' = LU Dari () dan (), L dan U dihubungkan dengan A oleh A = P - A' = P - LU (P.4.7) Determinan A dapat ditulis sebagai det (A) = det (P - ) det (L) det (U) = det (P - ) det (U) = det (P - ) det (U) = α det (U) yang dalam hal ini α = det (P - ) = - atau bergantung pada apakah pivoting sejumlah bilangan ganjil atau genap. Jika pivoting dilakukan sejumlah p kali, maka α dapat ditulis sebagai: α = (-) p α bernilai untuk p genap dan - untuk p ganjil. Karena itu, det(a) = (-) p det(u) = (-) p u u u u nn (P.4.8) 64 Metode Numerik
173 Contoh 4.3 Hitung determinan matriks A berikut: Penyelesaian: 3 - A = R - 4 / R 3 - R 3-6 / - R R / R Tidak ada proses pivoting selama eliminasi Gauss, maka det (A) = () (-) (-5) = Contoh 4.4 Hitung determinan matriks berikut Penyelesaian: R - 3 / R R 3 R ~ -3 (*) R 3 - / R 4-3 Pivoting diterapkan satu kali (p = ), sehingga determinan matriks A adalah det (A) = (-) ()(4)(-3) = Bab 4 Solusi Sistem Persamaan Lanjar 65
174 4.7 Kondisi Buruk Matriks A dikatakan berkondisi buruk (ill condition) jika terdapat sebuah vektor kolom b sehingga untuk perubahan kecil A atau b akan menghasilkan perubahan besar pada solusi = A - b. Sistem A = b dikatakan berkondisi buruk bila A berkondisi buruk. Apabila sistem A = b berkondisi buruk, hasil perhitungannya mempunyai galat yang besar. Sebagai contoh, dua persamaan lanjar dengan dua peubah yang tidak diketahui merepresentasikan dua buah garis lurus. Sistem berkondisi buruk jika dan hanya jika sudut α antara kedua garis kecil, yaitu jika dan hanya jika kedua garis hampir sejajar. Perubahan kecil pada koefisien dapat menyebabkan pergeseran yang besar pada titik potong kedua garis (Gambar 4.3) [KRE88]. Untuk sistem persamaan yang lebih besar situasi tersebut pada prinsipnya sama, namun sayangnya tidak ada tafsiran geometrinya. y y α (a) (b) Gambar 4.3 (a) sistem berkondisi baik dan (b) sistem berkondisi buruk Sebagai contoh, tinjau sistem persamaan lanjar berikut (i) + =. + =.4 yang mempunyai solusi sejati = 4 dan = 3. Jika sekarang a =. diubah menjadi.5, (ii) + =.5 + =.4 66 Metode Numerik
175 ternyata solusinya jauh berbeda, yaitu = 8 dan =. Penambahan sebesar ε pada koefisien. dapat dinyatakan sebagai berikut: + = (. + ε) + =.4 yang mempunyai solusi = =.4. + ε.6 + ε. + ε Solusi ini memperlihatkan bahwa sistem berkondisi buruk sebab perubahan kecil ε menghasilkan perubahan besar pada solusi SPL. Pada contoh di atas, ε = -.5, sehingga =.4/(. -.5) = 8 dan = (.6 -.5)/(. -.5) =. Misalkan ) adalah solusi hampiran dari sistem A ) = b (P.4.9) Terhadap solusi hampiran ini terdapat sisa (residu) sebesar Di sini r = b - A ) A ) = b - r (P.4.) Kurangi (P.4.9) dengan (P.4.): A( ) - ) = r (P.4.) Orang mungkin berpikir bahwa sisa r yang kecil menandakan bahwa ) lebih dekat ke. Tetapi, kesimpulan ini ternyata salah. Penyulihan kembali solusi hampiran ke SPL yang asli tidak dapat memberi petunjuk bahwa sistem berkondisi buruk. Bila = 8 dan = disulih kembali ke dalam SPL (i): 8 + () =.(8) + () =.8 Bab 4 Solusi Sistem Persamaan Lanjar 67
176 Residunya adalah r = b - A ) = = ternyata sisa r cukup kecil meskipun = 8 dan = bukan jawaban yang benar untuk masalah semula. Contoh lainnya, tinjau sistem persamaan lanjar A = b dengan A = dan b = Solusi sejatinya adalah = (,,-) T. Solusi hampirannya, bila dihitung dengan metode eliminasi Gauss, adalah ) = (.88, -.35, -.66) T. Bila 3. pada matriks A diubah menjadi 3. diperoleh solusi ) = (.7968, ,.5856) T. Kita menyimpulkan bahwa SPL tersebut berkondisi buruk. Jika kita mengalikan A dengan dengan adalah solusi sejati = (,,-) T, kita peroleh A = (-.6, 7.3, -3.38) T = b tetapi bila kita hitung dengan solusi hampiran ) = (.88, -.35, -.66) T kita peroleh A ) = (-.647, 7.9, -.66), yang sangar dekat ke b. Penyulihan kembali solusi ke dalam sistem persamaan ternyata tidak dapat dijadikan petunjuk bahwa sistem berkondisi buruk. Beberapa ukuran untuk kondisi buruk telah dikemukakan para ahli numerik, antara lain det(a) sangat kecil dibandingkan dengan nilai maksimum a ij dan b i. Misalnya, SPL dengan dua persamaan dapat ditulis sebagai: a + a = b = a + a = b = a a a a b + a b + a 68 Metode Numerik
177 Bila gradien kedua garis tersebut hampir sama, maka: a a a a dan apabila kedua ruas dikali silang: a a a a atau dapat ditulis sebagai a a - a a yang dalam hal ini a a - a a adalah determinan matriks A pada SPL di atas. Sistem persamaan lanjar berkondisi buruk bila determinan matriks A hampir nol. Jika det(a) =, maka gradien kedua garis tersebut sama, yang berarti SPL tidak mempunyai jawab yang unik. Determinan matriks A pada contoh di atas adalah ()() - (.) = -. = -., yang relatif lebih dekat ke nol. Contoh 4.5 Tentukan solusi A = b berikut A = b = Penyelesaian: Matriks akhir hasil eliminasi Gauss-nya sampai 3 angka bena adalah sangat kecil, rawan pembulatan Solusi hampirannya adalah = (.88, -.53, -.66) T bandingkan dengan solusi sejatinya, = (,, -) T Bab 4 Solusi Sistem Persamaan Lanjar 69
178 Perbedaan kedua solusi ini tidak mengherankan apabila kita hitung determinan matriks A, det(a) = (4.33)(-.44)(-.36) = -.6 yang nilainya sangat kecil (mendekati nol), yang berarti sistem berkondisi buruk. Bila koefisien a diubah dari 3. menjadi 3. memberikan solusi = (.5856, ,.7968) T Solusi yang lebih baik dapat kita peroleh bila menggunakan bilangan berketelitian yang lebih tinggi, misalnya sampai empat angka bena sebagai berikut: =.9998, =.9995, 3 = -.. Sukar dirinci harus seberapa dekat determinan ke nol untuk menunjukkan adanya kondisi buruk. Ini diperumit dengan kenyataan bahwa determinan dapat diubah dengan mengalikan satu atau beberapa persamaan dengan suatu faktor skala tanpa mengubah penyelesaiannya. Akibatnya, determinan merupakan nilai yang nisbi yang dipengaruhi oleh besarnya koefisien [CHA9]. Ini diperlihatkan oleh contoh berikut. Contoh 4.6 Tentukan determinan matriks A pada SPL berikut bila + =. + =.4 (i) SPL seperti apa adanya, (ii) kedua persamaan dikali. Penyelesaian: (i) SPL apa adanya Determinannya, det (A) = ()() - (.)() = -. yang dekat ke nol, karena itu SPL berkondisi buruk. (ii) Kedua persamaan dikali, + = + = 4 7 Metode Numerik
179 Determinannya, det (A) = ()() - ()() = -. yang ternyata menjadi lebih besar. Meskipun determinannya besar, namun SPL tetap berkondisi buruk sebab perkalian dengan skala tidak mempengaruhi penyelesaiannya secara grafis. Contoh 4.6 (ii) di atas memperlihatkan bahwa ukuran determinan sukar dikaitkan dengan kondisi buruk. Kesukaran ini dapat diatasi bila SPL dinormalkan sedemikian sehingga koefisien terbesar pada tiap baris persamaan sama dengan. Contoh 4.7 Normalkan SPL pada Contoh 4.6, lalu hitung determinan matriks A. Penyelesaian: SPL dinormalkan dengan cara membagi tiap baris dengan koefisien terbesar pada baris itu sehingga koefisien maksimumnya = Determinannya,.5 + = = 5. det (A) = (.5)() - ()(.55) = -.55 yang dekat ke nol, karena itu berkondisi buruk. Pada sistem yang berkondisi baik, penormalan tetap menghasilkan determinan yang jauh dari nol. Hal ini ditunjukkan pada Contoh 4.7 berikut. Contoh 4.8 Hitung determinan matriks A pada SPL 3 + = = bila (i) SPL apa adanya dan bila (ii) SPL dinormalkan [CHA9] Penyelesaian: (i) SPL apa adanya Bab 4 Solusi Sistem Persamaan Lanjar 7
180 Determinannya, det(a) = (3)() - (-) = 8 yang nilainya jauh dari nol, karena itu berkondisi baik. (ii) SPL dinormalkan Penormalan menghasilkan = = Determinannya, det(a) = ()() - (.667))-.5) =.333 yang nilainya jauh dari nol, karena itu berkondisi baik. Selain dengan menghitung determinan, ada beberapa ukuran lain yang dapat digunakan untuk memeriksa apakah sistem persamaan lanjar berkondisi buruk [NAK9]:. Mencoba mengubah koefisien dengan perubahan yang cukup kecil, lalu membandingkan solusinya dengan solusi sistem persamaan yang belum diubah. Jika perubahan kecil koefisien menghasilkan solusi yang sangat berbeda dengan solusi sebelum perubahan, maka sistem berkondisi buruk.. Membandingkan solusi berketelitian tunggal dengan solusi berketelitian ganda. Jika kedua solusinya berbeda berarti sistem berkondisi buruk. 3. Skalakan A sehingga elemen terbesar dalam masing-masing baris adalah dan kemudian hitung A -. Jika elemen A - beberapa orde lebih besar daripada elemen matriks yang diskala semula, maka sistem berkondisi buruk 4. Menghitung det(a) det(a - ) apakah berbeda jauh dari. Jika ya, berarti sistem berkondisi buruk. 5. Menghitung (A - ) - apakah berbeda jauh dari A. Jika ya, berarti sistem berkondisi buruk. 6. Menghitung AA - apakah berbeda jauh dari matriks I. Jika ya, berarti sistem berkondisi buruk. 7. Menghitung (A - )(A - ) - apakah berbeda jauh dari matriks I. Jika ya, berarti sistem berkondisi buruk. 7 Metode Numerik
181 Walaupun terdapat beragam cara untuk memeriksa kondisi sistem, akan lebih disukai mendapatkan bilangan tunggal yang dapat berlaku sebagai petunjuk adanya kondisi buruk. Bilangan tersebut dinamakan bilangan kondisi matriks. 4.8 Bilangan Kondisi Matriks Bilangan kondisi matriks dinyatakan sebagai : Cond(A) = A A - (P.4.) yang dalam hal ini A adalah norma (norm) tak-hingga ( ) matriks A, yang didefinisikan sebagai: A = A = ma n a ij i n j = Sebagai tambahan, perlu kita ketahui sifat-sifat norma matriks berikut : (a) A dan A = jika dan hanya jika A = (b) ka = k A (c) A + B A + B (d) AB A B Contoh 4.9 Hitung bilangan kondisi matriks A berikut A = Penyelesaian: Tentukan terlebih dahulu matriks balikannya, A - = Bab 4 Solusi Sistem Persamaan Lanjar 73
182 maka dapat dihitung A = = 6.7 A - = = 38.7 sehingga bilangan kondisi matriks A adalah cond(a) = (66.7)(38.7) = 7595 Bagaimana kita menggunakan bilangan kondisi ini untuk menentukan apakah sistem berkondisi buruk atau berkondisi baik? Ralston dan Rabinowitz (978) dan Gerald dan Wheatley (984), memperkenalkan penggunaan bilangan kondisi matriks untuk menjelaskan kasus sistem berkondisi buruk sebagai berikut. Seperti diketahui bahwa kondisi buruk disebabkan oleh kesalahan dalam pengukuran data model atau karena kesalahan pembulatan. Misalkan bahwa kesalahan dalam pengukuran parameter SPL menyebabkan kesalahan pada koefisien a i,j, sehingga SPL dipecahkan sebagai (A + E) ) = b, yang dalam hal ini ) menyatakan solusi SPL yang mengandung galat. Misalkan  = A + E menyatakan koefisien matriks yang mengandung kesalahan. Kita ingin menghitung berapa besar selisih - ). Dengan menggunakan A = b dan  ) = b, dapat kita tulis : = A - b = A - (A) = A - (A +  - A) ) = [ I + A - (  - A) ] ) = ) + A - (  - A) ) Karena  - A = E, maka - ) = A - E ) (P.4.3) Dengan menggunakan norma, kita peroleh : - ) A - E = A - A A E ) sehingga ˆ ˆ (bilangan kondisi) E A (P.4.4) 74 Metode Numerik
183 Persamaan (P.4.4) ini menyatakan bahwa norma galat relatif solusi SPL dapat sebesar norma galat nisbi koefisien matriks A dikali dengan bilangan kondisi. Jadi, jika bilangan kondisi matriks A besar, maka galat relatif solusi SPL juga akan besar. Sebaliknya, jika bilangan kondisinya kecil, galat relatif solusi SPL juga kecil. Misalnya jika koefisien A diketahui teliti sampai t angka bena (yakni, galat pembulatan berorde -t ) dan bilangan kondisi A = c, penyelesaian akan teliti sampai t - c angka bena (galat pembulatan c-t ). Misalnya, jika koefisien A diketahui hanya 4 angka bena dan bilangan kondisi, vektor hanya mempunyai ketelitian satu angka signifikan TEOREMA 4.. Sistem persamaan lanjar A = b yang bilangan kondisinya kecil menyatakan sistem berkondisi baik. Bilangan kondisi besar menandakan bahwa sistem berkondisi buruk. [KRE88]. Sistem pada Contoh 4.9 adalah contoh sistem yang berkondisi buruk, karena bilangan kondisinya besar. Dalam praktek, A - tidak diketahui, sehingga untuk menghitung bilangan kondisi matriks A kita harus menaksir A -. Metode untuk penaksiran ini tidak dijelaskan di sini. Di dalam banyak literatur disebutkan bahwa matriks Hilbert adalah contoh matriks yang berkondisi buruk. Bentuk umum matriks Hilbert orde n adalah H = 3 M n 3 4 M n M n n n + n + M n + Contohnya, untuk n = 3 matriks Hilbertnya adalah Bab 4 Solusi Sistem Persamaan Lanjar 75
184 H = Norma matriks H adalah H ~ = + ½ + / 3 = / 6 Matriks balikannya adalah, H 9 = Elemen matriks H - jauh lebih besar daripada matriks H, hal ini menandakan bahwa matriks H berkondisi buruk. Dapat dihitung norma matriks H - H - ~ = = 9 Sehingga bilangan kondisi matriks H adalah cond(h) = H ~ H - ~ = / 6 9 = 35 yang nilanya sangat besar, sehingga benarlah bahwa matriks H berkondisi buruk. Sekarang kita buktikan mengapa penyulihan kembali solusi ke dalam SPL tidak dapat dijadikan petunjuk bahwa sistem berkondisi buruk. Tinjau kembali persamaan residu r = b - A ). (P.4.5) Pada sistem yang berkondisi buruk nilai r sangat kecil, sehingga kita dapat terkecoh dengan menganggap sistem berkondisi baik. Contoh-contoh sebelum ini memperlihatkan bahwa r bukanlah ukuran yang bagus untuk galat (e = - ) ) pada sistem yang berkondisi buruk. Bila adalah solusi eksak maka r =, atau = b - A (P.4.6) Kurangi (P.4.5) dengan (P.4.6): 76 Metode Numerik
185 atau (b - A ) ) - (b - A) = r -A ) + A = r A( - ) ) = r A e = r e = A - r (P.4.7) (P.4.8) Pada sistem yang berkondisi buruk, elemen matriks A - relatif besar dibandingkan elemen-elemen A. Dari (P.4.8) terlihat bahwa bila elemen A - relatif sangat besar dibandingkan nilai r yang kecil, maka e akan besar. Jadi, residu r yang kecil tidak menjamin solusi yang diperoleh adalah benar. Karena itu digunakan hubungan antara nilai mutlak galat solusi dengan nilai mutlak residu. Dari persamaan (P.4.5) kita peroleh : r = b - A ) = A - A ) = A( - ) ) = Ae (P.4.9) Disini, e = A - r (P.4.3) Dari sifat-sifat norma matriks di atas, maka norma untuk persamaan (P.5.7), dengan menerapkan sifat (d), dapat kita tulis : e A - r (P.4.3) Dari r = Ae, kita juga punya r A e, yang bila digabung dengan persamaan (P.5.3) memberikan r A e A - r (P.4.3) Dengan menggunakan cara yang sama untuk A = b dan = A - b, kita peroleh b A - b (P.4.33) A Bab 4 Solusi Sistem Persamaan Lanjar 77
186 Dari persamaan (P.4.3) dan (P.4.33) kita dapatkan hubungan yang penting : A A r b e A A - b r (P.4.34) atau bil. kondisi r b e (bil. kondisi) r b (P.4.35) Persamaan (P.4.35) memperlihatkan bahwa galat relatif dalam menghitung solusi dapat sebesar residu relatif dikali dengan bilangan kondisi. Tentu saja juga akan sekecil residu relatif dibagi dengan bilangan kondisi. Karena itu, jika bilangan kondisi besar, residu r hanya memberikan sedikit informasi tentang ketelitian. Sebaliknya, jika bilangan kondisi dekat ke, residu nisbi memberikan ukuran galat nibi yang bagus. Rice pada tahun 983 menyarankan sebuah cara lain untuk menilai kondisi SPL: jalankan pemecahan SPL yang sama pada dua kompiler yang berbeda (atau pada dua mesin yang berbeda). Karena kode yang dihasilkan kemungkinan besar menerapkan perhitungannnya secara berbeda. Kondisi buruk akan jelas terlihat dari eksperimen seperti itu [CHA9]. 4.9 Metode Lelaran Untuk Menyelesaikan SPL Metode eliminasi Gauss melibatkan banyak galat pembulatan. Galat pembulatan yang terjadi pada eliminasi Gauss (maupun eliminasi Gauss-Jordan) dapat menyebabkan solusi yang diperoleh jauh dari solusi sebenarnya. Gagasan metoda lelaran pada pencarian akar persamaan nirlanjar dapat juga diterapkan untuk menyelesaikan SPL. Dengan metode lelaran, galat pembulatan dapat diperkecil, karena kita dapat meneruskan lelaran sampai solusinya seteliti mungkin, sesuai dengan batas galat yang kita perbolehkan. Dengan kata lain, besar galat dapat dikendalikan sampai batas yang bisa diterima. Jika metode eliminasi Gauss dan variasi-variasinya serta metode dekomposisi LU dinamakan metode langsung (direct) -karena solusi SPL diperoleh tanpa lelaranmaka metode lelaran dinamakan metode tidak langsung (indirect) atau metode iteratif. 78 Metode Numerik
187 Tinjau kembali sistem persamaan lanjar a + a a n n = b a + a a n n = b : : a n + a n a nn n = b n Dengan syarat a kk, k =,,..., n, maka persamaan lelarannya dapat ditulis sebagai (k+) = b k a... a a n ( k ) n (k+) = M n (k+) = ( k ) ( k ) ( k ) b a a33... an n a ( k ) ( k ) ( k ) an an... ann n a bn nn (P.4.36) dengan k =,,, Lelaran dimulai dengan memberikan tebakan awal untuk, = M n () () () Sebagai kondisi berhenti lelarannya, dapat digunakan pendekatan galat relatif ( k+ ) ( k ) i i ( k + ) i < ε untuk semua i =,, 3,., n Syarat cukup agar lelarannya konvergen adalah sistem dominan secara diagonal: n a ij j =, j i a ii >, i =,, 3,, n Bab 4 Solusi Sistem Persamaan Lanjar 79
188 Syarat cukup ini berarti bahwa agar lelarannya konvergen, cukup dipenuhi syarat itu. Jika syarat tersebut dipenuhi, kekonvergenan dijamin. Meskipun sistem tidak dominan secara diagonal, lelarannya masih mungkin konvergen (lihat kembali makna syarat cukup pada upabab 3.3). Kekonvergenan juga ditentukan oleh pemilihan tebakan awal. Tebakan awal yang terlalu jauh dari solusi sejatinya dapat menyebabkan lelaran divergen. Sebagai contoh, SPL berikut = = = 5 dominan secara diagonal, karena 3 > > + 8 > karena itu lelarannya pasti konvergen. Ada dua metode lelaran yang akan kita bahas di sini:. Metode lelaran Jacobi. Metode lelaran Gauss-Seidel 4.9. Metode Lelaran Jacobi Persamaan lelarannya adalah seperti yang ditulis di atas. Misalkan diberikan tebakan awal () : () = ( (), (),..., n () ) T Prosedur lelaran untuk lelaran pertama, kedua, dan seterusnya adalah sebagai berikut: 8 Metode Numerik
189 Lelaran pertama: () () M = = ( ) ( ) ( ) b a a33... a n n a ( ) ( ) ( ) b a a33... an n a n () = b n ( ) ( ) ( ) an an... ann n a nn Lelaran kedua: () = ( ) ( ) ( ) b a a33... ann a () M = ( ) ( ) ( ) b a a33... an n a n () = b n ( ) ( ) ( ) an an... ann n a nn Rumus umum : n ( k ) bi aij j ( k + ) j=, j i i = a, k =,,,... (P.4.37) ii Bab 4 Solusi Sistem Persamaan Lanjar 8
190 4.9. Metode Lelaran Gauss-Seidel Kecepatan konvergen pada lelaran Jacobi dapat dipercepat bila setiap harga i yang baru dihasilkan segera dipakai pada persamaan berikutnya untuk menentukan harga i+ yang lainnya. Lelaran pertama: () = () = b b a a ( ) ( ) ( ) a a a ( ) ( ) ( ) a a a () = b 3 a 3 ( ) ( ) ( ) a a a () = b 4 a 4 ( ) ( ) ( ) a a a Lelaran kedua: () = () = b b a a ( ) ( ) ( ) a a a ( ) ( ) ( ) a a a () = b 3 a 3 ( ) ( ) ( ) a a a () = b a 4 4 ( ) ( ) ( ) a a a Metode Numerik
191 Rumus umum: bi ( k + ) = i n j= a ( k + ) ( k ) a a ij j ii n ij j= i+ j, k =,,,... Program 4.5 Metode Lelaran Gauss-Seidel (tanpa penanganan kasus divergen) procedure Gauss_Seidel(A : matriks; b: vektor; n:integer; var : vektor); {Menghitung solusi SPL A = b dengan metode Gauss-Seidel. Diandaikan lelaran selalu konvergen K.Awal : A dan b sudah terdefinisi harganya; sudah berisi vektor tebakan awal K.Akhir: berisi solusi SPL. } const epsilon =.; var i, j : integer; konvergen : boolean; sigma, sigma : real; lama : vektor; begin repeat for i:= to n do begin lama[i]:=[i]; {simpan nilai [i] sebelumnya} sigma:=; for j:= to i- do sigma:=sigma + a[i,j]*[j]; {endfor} sigma:=; for j:=i+ to n do sigma:=sigma + a[i,j]*[j]; {endfor} [i]:= (b[i] - sigma - sigma)/a[i,i]; {a[i,i] <> } end; {periksa kekonvergenan} konvergen:=true; i:=; while (konvergen) and (i<=n) do begin {bila salah satu dari [i], i=,,..., n tidak memenuhi ABS(lama[i] - [i]) < epsilon berarti lelaran belum konvergen} if ABS(lama[i] - [i]) > epsilon then konvergen:=false; {belum konvergen} {end if} i:=i+; end; { konvergen or i > n } until konvergen; end; Bab 4 Solusi Sistem Persamaan Lanjar 83
192 Contoh 4. [MAT9] Tentukan solusi SPL 4 - y + z = 7 4-8y + z = y + 5z = 5 dengan nilai awal P = (, y, z ) = (,, ). (Solusi sejatinya adalah (, 4, 3) ) Penyelesaian: (a) Metode lelaran Jacobi Persamaan lelarannya: r+ = y r+ = 7 r + yr z 4 + 4r z r 8 5+ r y r z r+ = 5 Lelarannya: 7 + = 4 + 4( ) + y = 8 5+ ( ) z = 5 =.75 = = = 4 + 4( 3.375) 3. y = 8 5+ (.75) z = 5... = = = =. y 9 = 4. z 9 = Metode Numerik
193 (b) Metode lelaran Gauss-Seidel Persamaan lelarannya, r+ = y r+ = z r+ = 7 r + yr z 4 + 4r z r 8 5+ r y r 5 Lelarannya, 7 + = 4 + 4(.75) + y = 8 5+ (.75) 3.75 z = 5 =.75 = 3.75 = = y = 8 ( ) =.95 = z = = =. y = 4. z = 3. Jadi, solusi SPL adalah =., y = 4., z = Contoh Soal Terapan Dalam sebuah rangkaian listrik berlaku hukum-hukum arus Kirchoff menyatakan bahwa jumlah aljabar dari semua arus yang memasuki suatu simpul (Gambar 4.4a) haruslah nol: Σ i = (P.4.38) Bab 4 Solusi Sistem Persamaan Lanjar 85
194 Dalam hal ini, semua arus i yang memasuki simpul dianggap bertanda positif. Sedangkan hukum Ohm (Gambar 4.4b) menyatakan bahwa arus i yang melalui suatu tahanan adalah : i ij = V V i R ij j (P.4.39) yang dalam hal ini V adalah tegangan dan R adalah tahanan. i i R ij V i V j i 3 i ij arah arus (a) (b) Gambar 4.4 (a) Hukum Kirchoff, (b) hukum Ohm Diberikan sebuah rangkaian listrik dengan 6 buah tahanan seperti pada Gambar 4.5 [CHA9]. Anda diminta menghitung arus pada masing-masing rangkaian. 3 R 3 R i 3 i R 34 i 43 i 5 R 5 i 54 i 65 4 R 45 5 R 65 6 Gambar 4.5 Rangkaian listrik dengan 6 buah tahanan 86 Metode Numerik
195 Arah arus dimisalkan seperti diatas. Dengan hukum Kirchoff diperoleh persamaan-persamaan berikut : i + i 5 + i 3 = i 65 - i 5 - i 54 = i 43 - i 3 = i 54 - i 43 = Dari hukum Ohm didapat : i 3 R 3 - V 3 + V = i 43 R 43 - V 4 + V 3 = i 65 R 65 + V 5 = i R + V = i 54 R 54 - V 5 + V 4 = i 5 R 5 - V 5 + V = Dengan menyusun kesepuluh persamaan diatas didapatkan SPL sbb : i i 5 i 3 i 65 i 54 i 43 V V 3 V 4 V 5 i - - i 5 - i 3 - i 65 R 3 - i 54 R 43 - i 43 = R 65 V V 6 R V 3 V R 54 - V 4 R 5 - V 5 Tentukan bila diketahui i, i 5, i 3, i 65, i 54, i 3, V, V 3, V 4, V 5 R = 5 ohm, R 5 = ohm, R 3 = ohm R 65 = ohm, R 54 = 5 ohm, R 4 = 5 ohm. V = volt, V 6 = volt. Bab 4 Solusi Sistem Persamaan Lanjar 87
196 Penyelesaian: Persoalan ini diselesaikan dengan metode eliminasi Gauss. Matriks awal sebelum proses eliminasi Gauss adalah: Matriks akhir setelah eliminasi adalah: Dengan teknik penyulihan mundur diperoleh solusinya sebagi berikut: i = ampere, i5 = ampere i3 =. ampere, i65 = ampere i54 = -. ampere, i43 = -. ampere V = volt, V3 = volt V4 = volt, V5 = volt Simple veri sigillum Kesederhanaan adalah tanda kebenaran (Peribahasa Latin) Kebenaran yang paling agung adalah yang paling sederhana. Begitu pula orang yang paling agung (Campbell) 88 Metode Numerik
197 Soal Latihan. Pecahkan SPL berikut ini: = = = -.53 dengan metode: (a) eliminasi Gauss naif ( manual, 3 angka bena) (b) eliminasi Gauss yang diperbaiki dengan tataancang pivoting (manual, 3 angka bena) (c) eliminasi Gauss yang diperbaiki dengan tataancang pivoting (komputer, jumlah angka bena sesuai dengan komputer yang digunakan). Sulihkan jawaban maisng-masing (a), (b), dan (c) ke dalam SPL, lalu bandingkan hasilnya dengan ruas kanan (vektor b). Diberikan sistem persamaan lanjar A = b dengan A dan b sebagai berikut : A = 4 b = (a) Tentukan solusinya dengan metode eliminasi Gauss (b) Tentukan determinan matriks A (c) Tentukan solusinya dengan metode eliminasi Gauss-Jordan (d) Tentukan solusinya dengan metode matriks balikan (e) Tentukan solusinya dengan metode dekomposisi LU (f) Tentukan solusinya dengan metode lelaran Gauss-Seidell (g) Tentukan solusinya dengan metode lelaran Jacobi Terapkan strategi pivoting untuk (a), (b), (c), (d), dan (e). 3. Pivoting lengkap jarang diterapkan orang karena kerumitannya. Dari praktek ditemukan bahwa pivoting lengkap memberikan hasil yang lebih teliti daripada pivoting sebagian meskipun ketelitian ini dibayar dengan waktu komputasi tambahan. Tunjukkan kebenaran pernyataan ini dengan memecahkan SPL berikut :. +.84y = y = Bab 4 Solusi Sistem Persamaan Lanjar 89
198 (a) tanpa pivoting (eliminasi Gauss naif) (b) dengan pivoting sebagian (c) dengan pivoting lengkap Semua perhitungan menggunakan empat angka bena (manual). 4. Pecahkan sistem persamaan lanjar A = b dengan 8 A = dan b adalah (,,) T, (,,) T, dan (,,) T. Metode yang digunakan: (a) metode eliminasi Gauss yang diperbaiki (sekali jalan). (b) metode eliminasi Gauss-Jordan dengan tataancang pivoting (sekali jalan) (c) metode matriks balikan (d) metode dekomposisi LU Gunakan komputer dan ketelitian hasil semaksimal mungkin (bilangan berketelitian ganda). Hitung juga determinan matriks A. 5. Sekumpulan sistem persamaan linier A = b mempunyai matriks A yang sama tetapi vektor b berbeda-beda. Matriks A nya adalah matriks A yang didefinisikan pada soal nomor, sedangkan vektor b adalah sbb: b 4 = b = 5 3 b 3 = 4 (a) selesaikan dengan metode dekomposisi LU (b) dengan metode eliminasi Gauss-Jordan, yang dalam hal ini matriks A digabung (augmented) dengan semua vektor b. 6. Diberikan SPL A = b: A = b = Tentukan solusinya sampai 4 angka bena dengan : 9 Metode Numerik
199 (a) metode eliminasi Gauss tanpa penskalaan (b) metode eliminasi Gauss dengan penskalaan Dengan penskalaan, bagilah setiap baris i dengan maks a ij, j =,, 3,.., n. Periksa solusi anda dengan penyulihan kembali kedalam SPL semula. 7. Pada persoalan m persamaan dengan n variabel (m < n), tentukan solusi umum dari A = b, yang dalam hal ini: 3 4 A = 3 dan b = 5 8. Pecahkan sistem persamaan lanjar berikut dengan metode eliminasi Gauss : (i) y = 56.6 (ii). +.5y = + 3y = 3 + 3y = (a) Tanpa pivoting (naif); (b) dengan pivoting. (c) Cek jawaban anda dengan menyulihkan solusi kedalam SPL semula. Lihat (d) bedanya dengan nilai ruas kanan. Untuk sistem (i) gunakan enam angka bena, dan untuk (ii) gunakan empat angka bena. Ingatlah bahwa setiap komputasi harus dibulatkan ke jumlah angka bena yang diminta (tidak hanya pada hasil akhir saja). 9. Matriks Hilbert adalah contoh klasik matriks yang berkondisi buruk. Misalkan A adalah matriks Hilbert dan diberikan SPL A = b: + / + /3 3 + /4 4 = / + /3 + /4 3 + /5 4 = /3 + /4 + /5 3 + /6 4 = /4 + /5 + /6 3 + /7 4 = Pecahkan A = b dengan metode eliminasi Gauss naif dengan ketentuan: (a) semua bilangan dalam bentuk pecahan, sehingga tidak ada galat akibat pembulatan. Solusinya eksak, misalkan dilambangkan dengan. Hitung A, dan bandingkan hasilnya dengan b. Bab 4 Solusi Sistem Persamaan Lanjar 9
200 (b) semua bilangan dalam tiga angka bena (manual, tanpa komputer). Solusinya hampiran, misalkan dilambangkan dengan ˆ. Hitung A ˆ, dan bandingkan hasilnya dengan b. Hitung e = - ˆ (c) semua bilangan berketelitian tinggi (pakai komputer). Solusinya hampiran, misalkan dilambangkan dengan ˆ. Hitung A ˆ, dan bandingkan hasilnya dengan b. Hitung e = - ˆ.. (a) Dari soal nomor 4 di atas, tentukan determinan matriks A untuk masingmasing ketentuan (a), (b), (c). Apa kesimpulan anda? (b) Normalkan matriks A, lalu hitung bilangan kondisi matriks A (gunakan komputer). Apa kesimpulan anda?. Pecahkan sistem persamaan lanjar = = = = 3 dengan metode: (a) dekomposisi LU, yang dalam hal ini L dan U dihitung dengan (i) metode LU Gauss (tidak naif) dan (ii) metode reduksi Crout (b) lelaran Jacobi (ε = - ). Tebakan awal sembarang. (c) lelaran Gauss-Seidell (ε = - ). Tebakan awal sembarang Gunakan komputer (ketelitian hasil semaksimal mungkin). Untuk (b) dan (c), apakah matriks A dominan secara diagonal?. Dapatkah sistem persamaan lanjar berikut : (a) 5 + 3y = 6 (b) 5 + 3y = 6 (c) + y - 5z = y = y = -4-5y - z = y - 3z = 6 diselesaikan dengan metode iterasi Jacobi dan iterasi Gauss-Seidell? Mengapa? 3. Matriks Hilbert adalah contoh klasik matriks berkondisi buruk. Diberikan matriks Hilbert berukuran 4 4 : 9 Metode Numerik
201 / H = / 3 / 4 / / 3 / 4 / 5 / 3 / 4 / 5 / 6 / 4 / 5 / 6 / 7 Periksa kondisinya dengan : (a) Hitung HH - apakah berbeda dari matriks identitas (b) Hitung (H - ) - apakah berbeda dari matriks H (c) Hitung H - (H - ) - apakah berbeda dari matriks identitas I dan apakah berbeda dari jawaban (a) (d) Hitung bilangan kondisinya apakah sangat besar dibandingkan dengan (Normalkan terlebih dahulu matriks H) 4. Seperti nomor 3, tetapi matriksnya adalah matriks A pada soal nomor. Bab 4 Solusi Sistem Persamaan Lanjar 93
202 Bab 5 Interpolasi dan Regresi Jangan ikuti kemana jalan menuju, tetapi buatlah jalan sendiri dan tinggalkan jejak (Anonim) Para rekayasawan dan ahli ilmu alam sering bekerja dengan sejumlah data diskrit (yang umumnya disajikan dalam bentuk tabel). Data di dalam tabel mungkin diperoleh dari hasil pengamatan di lapangan, hasil pengukuran di laboratorium, atau tabel yang diambil dari buku-buku acuan. Sebagai ilustrasi, sebuah pengukuran fisika telah dilakukan untuk menentukan hubungan antara tegangan yang diberikan kepada baja tahan-karat dan waktu yang diperlukan hingga baja tersebut patah. Delapan nilai tegangan yang berbeda dicobakan, dan data yang dihasilkan adalah [CHA9]: Tegangan yang diterapkan,, kg/mm Waktu patah, y, jam Masalah yang cukup sering muncul dengan data tabel adalah menentukan nilai di antara titik-titik diskrit tersebut (tanpa harus melakukan pengukuran lagi). Misalnya dari tabel pengukuran di atas, rekayasawan ingin mengetahui waktu patah y jika tegangan yang diberikan kepada baja adalah kg/mm. Masalah ini tidak bisa langsung dijawab karena fungsi yang menghubungkan peubah y dengan peubah tidak diketahui. Salah satu solusinya adalah mencari fungsi yang mencocokkan (fit) titik-titik data di dalam tabel tabel. Pendekatan seperti ini di dalam metode numerik dinamakan pencocokan kurva (curve fitting). Fungsi yang diperoleh dengan pendekatan ini merupakan fungsi hampiran, karena itu nilai fungsinya tidak setepat nilai sejatinya. Namun, cara ini dalam praktek Terjemahan bebas dari kalimat: "Do not follow where the path may lead. Go, instead, where there is no path and leave a trail" 94 Metode Numerik
203 rekayasa sudah mencukupi karena rumus yang benar-benar menghubungkan dua buah besaran fisik sulit ditemukan. Pencocokan kurva tidak hanya bertujuan menghitung nilai fungsi, tetapi ia juga digunakan untuk mempermudah perhitungan numerik yang lain seperti menghitung nilai turunan (derivative) dan menghitung nilai integral ( ). Misalnya kita dihadapkan dengan fungsi yang bentuknya cukup rumit, seperti fungsi berikut: f() = ln( / ) 3 (P.5.) Menghitung turunan fungsi tersebut pada nilai tertentu, misalnya di = a, f (a) =? merupakan pekerjaan yang cukup sulit, apalagi bila turunan yang dibutuhkan semakin tinggi ordenya. Demikian juga dengan menghitung nilai integral fungsi f() pada selang integrasi [a, b], misalnya selang [, ], / ln( 4 ) 5 + merupakan pekerjaan yang tidak mudah, bahkan secara analitik pun belum tentu dapat dilakukan, karena rumus integrasi untuk fungsi semacam ini tidak tersedia. Satu pendekatan untuk melakukan dua perhitungan ini ialah dengan menyederhanakan fungsi f() menjadi polinom p n () yang berderajat n, f() p n () yang dalam hal ini, p n () = a + a + a a n n (P.5.) Menghitung turunan atau mengintegralkan suku-suku polinom menjadi lebih mudah karena rumus untuk menghitung turunan atau mengintegrasikan polinom sangat sederhana, yaitu (i) jika f() = a n maka f '() = na n- (ii) a n d = a ( n +) n+ + C Bab 5 Interpolasi Polinom 95
204 Untuk membentuk polinom ini, kita mengambil beberapa titik diskrit (yang umumnya berjarak sama) dari fungsi f. Titik-titik tersebut secara alami direpresentasikan dalam bentuk tabel. Selanjutnya titik-titik data ini dicocokkan untuk menentukan polinom p n () yang menghampiri fungsi aslinya. y y (a) Regresi (b) Interpolasi Gambar 5. Pencocokan kurva dengan metode (a) regresi, dan (b) interpolasi Pencocokkan kurva adalah sebuah metode yang memcocokkan titik data dengan sebuah kurva (curve fitting) fungsi. Pencocokan kurva dibedakan atas dua metode:. Regresi. Data hasil pengukuran umumnya mengandung derau (noise) atau galat yang cukup berarti. Karena data ini tidak teliti, maka kurva yang mencocokkan titik data itu tidak perlu melalui semua titik. Tata-ancang yang dipakai adalah menentukan kurva yang mewakili kecenderungan (trend) titik data, yakni kurva mengikuti pola titik sebagai suatu kelompok (Gambar 5..a). Kurva tersebut dibuat sedemikian sehingga selisih antara titik data dengan titik hampirannya di kurva sekecil mungkin. Metode pencocokan kurva seperti ini dinamakan regresi kuadrat terkecil (least square regression). Derau pada data mungkin disebabkan oleh kesalahan mengukur, ketidaktelitian pada alat ukur, atau karena kelakuan sistem yang diukur. Contoh data yang mengandung derau adalah tabel tegangan baja di atas.. Interpolasi Bila data diketahui mempunyai ketelitian yang sangat tinggi, maka kurva cocokannya dibuat melalui setiap titik, persis sama kalau kurva fungsi yang sebenarnya dirajah melalui tiap titik itu. Kita katakan di sini bahwa kita 96 Metode Numerik
205 menginterpolasi titik-titik data dengan sebuah fungsi (Gambar 5..b). Bila fungsi cocokan yang digunakan berbentuk polinom, polinom tersebut dinamakan polinom interpolasi. Pekerjaan menginterpolasi titik data dengan sebuah polinom disebut interpolasi (dengan) polinom. Contoh data yang berketelitian tinggi adalah titik-titik yang dihitung dari fungsi yang telah diketahui (seperti dari persamaan P.5.), atau data tabel yang terdapat di dalam acuan ilmiah (seperti data percepatan gravitasi bumi sebagai fungsi jarak sebuah titik ke pusat bumi). Selain dengan polinom, interpolasi titiktitik data dapat dilakukan dengan fungsi spline, fungsi rasional (pecahan), atau deret Fourier [NAK93]. Bab ini dimulai dengan bagian pertama yaitu pencocokan kurva dengan metode interpolasi. Bagian kedua, metode regresi, akan diberikan sebagai akhir bab ini. Interpolasi memainkan peranan yang sangat penting dalam metode numerik. Fungsi yang tampak rumit menjadi lebih sederhana bila dinyatakan dalam polinom interpolasi. Sebagian besar metode integrasi numerik, metode persamaan diferensial biasa, dan metode turunan numerik didasarkan pada polinom interpolasi. Tidak salah kalau banyak buku acuan menyatakan bahwa interpolasi merupakan pokok bahasan yang fundamental dalam metode numerik. 5. Persoalan Interpolasi Polinom Bagian I: Interpolasi Diberikan n+ buah titik berbeda, (, y ), (, y ),..., ( n, y n ). Tentukan polinom p n () yang menginterpolasi (melewati) semua titik-titik tersebut sedemikian rupa sehingga y i = p n ( i ) untuk i =,,,, n Nilai y i dapat berasal dari fungsi matematika f() (seperti ln, sin, fungsi Bessel, persamaan P.6., dan sebagainya) sedemikian sehingga y i = f( i ), sedangkan p n () disebut fungsi hampiran terhadap f(). Atau, y i berasal dari nilai empiris yang diperoleh melalui percobaan atau pengamatan. Bab 5 Interpolasi Polinom 97
206 y ( n-, y n- ) (, y ) (, y ) y = p n () ( n, y n ) ( 3, y 3 ) (a, p n (a)) (a, p n (a)) (, y ) =a =a menginterpolasi mengekstrapolasi Gambar 5. Interpolasi dan ekstrapolasi Setelah polinom interpolasi p n () ditemukan, p n () dapat digunakan untuk menghitung perkiraan nilai y di = a, yaitu y = p n (a). Bergantung pada letaknya, nilai = a mungkin terletak di dalam rentang titik-titik data ( < a < n ) atau di luar rentang titik-titik data (a < atau a > n ): (i) jika < a < n maka y k = p( k ) disebut nilai interpolasi (interpolated value) (ii) jika < k atau < n maka y k = p( k ) disebut nilai ekstrapolasi (etrapolated value). Keduanya, (i) dan (ii), ditunjukkan pada Gambar 5.. Kita dapat menginterpolasi titik data dengan polinom lanjar, polinom kuadratik, polinom kubik, atau polinom dari derajat yang lebih tinggi, bergantung pada jumlah titik data yang tersedia. 5.. Interpolasi Lanjar Interpolasi lanjar adalah interpolasi dua buah titik dengan sebuah garis lurus. Misal diberikan dua buah titik, (, y ) dan (, y ). Polinom yang menginterpolasi kedua titik itu adalah persamaan garis lurus yang berbentuk: p () = a + a (P.5.3) 98 Metode Numerik
207 Gambar 5.3 memperlihatkan garis lurus yang menginterpolasi titik-titik (, y ) dan (, y ). y (, y ) (, y ) Gambar 5.3 Interpolasi lanjar Koefisien a dan a dicari dengan proses penyulihan dan eliminasi. Dengan menyulihkan (, y ) dan (, y ) ke dalam persamaan (P.5.3), diperoleh dua buah persamaan lanjar: y = a + a y = a + a Kedua persamaan ini diselesaikan dengan proses eliminasi, yang memberikan dan a = a = y y y y (P.5.4) (P.5.5) Sulihkankan (P.5.4) dan (P.5.5) ke dalam (P.5.3) untuk mendapatkan persamaan garis lurus: p () = y y ( y ) y + ( ) (P.5.6) Bab 5 Interpolasi Polinom 99
208 Dengan melakukan sedikit manipulasi aljabar, persamaan (P.5.6) ini dapat disusun menjadi ( y y ) p () = y + ( ) ( ) (P.5.7) Bukti: y y y y p () = ( ) y y + y y p () = y y + y y + y p () = + ( ) ( ) ( )( ) y + y y p () = ( y y ) p () = y + ( ) ( ) y Persamaan (P.5.7) adalah persamaan garis lurus yang melalui dua buah titik, (, y ) dan (, y ). Kurva polinom p () ini adalah berupa garis lurus (Gambar 5.3). Contoh 5. Perkirakan jumlah penduduk Amerika Serikat pada tahun 968 berdasarkan data tabulasi berikut [KRE88]: Tahun Jumlah penduduk (juta) Penyelesaian: Dengan menggunakan persamaan (P.5.7), diperoleh ( ) p (968) = = 98.4 Jadi, taksiran jumlah penduduk AS pada tahun 968 adalah 98.4 juta. Metode Numerik
209 Contoh 5. Dari data ln(9.) =.97, ln(9.5) =.53, tentukan ln(9.) dengan interpolasi lanjar [KRE88] sampai 5 angka bena. Bandingkan dengan nilai sejati ln(9.) =.9. Penyelesaian: Dengan menggunakan persamaan (P.5.7), diperoleh ( ) p (9.) = =.9 Galat = =.4. Di sini interpolasi lanjar tidak cukup untuk memperoleh ketelitian sampai 5 angka bena. Ia hanya benar sampai 3 angka bena. 5.. Interpolasi Kuadratik Misal diberikan tiga buah titik data, (, y ), (, y ), dan (, y ). Polinom yang menginterpolasi ketiga buah titik itu adalah polinom kuadrat yang berbentuk: p () = a + a + a (P.5.8) Bila digambar, kurva polinom kuadrat berbentuk parabola (Gambar 5.4). Polinom p () ditentukan dengan cara berikut: - sulihkan ( i, y i ) ke dalam persamaan (P.5.8), i =,,. Dari sini diperoleh tiga buah persamaan dengan tiga buah parameter yang tidak diketahui, yaitu a, a, dan a : a + a + a = y a + a + a = y a + a + a = y - hitung a, a, a dari sistem persamaan tersebut dengan metode eliminasi Gauss. Bab 5 Interpolasi Polinom
210 y (, y ) (, y ) (, y ) Gambar 5.4 Interpolasi kuadratik Contoh 5.3 Diberikan titik ln(8.) =.794, ln(9.) =.97, dan ln(9.5) =.53. Tentukan nilai ln(9.) dengan interpolasi kuadratik. Penyelesaian: Sisten persamaan lanjar yang terbentuk adalah a + 8.a + 64.a =.794 a + 9.a + 8.a =.97 a + 9.5a + 9.5a =.53 Penyelesaian sistem persamaan dengan metode eliminasi Gauss menghasilkan a =.676, a =.66, dan a 3 = Polinom kuadratnya adalah sehingga p () = p (9.) =.9 yang sama dengan nilai sejatinya (5 angka bena) Interpolasi Kubik Misal diberikan empat buah titik data, (, y ), (, y ), (, y ), dan ( 3, y 3 ). Polinom yang menginterpolasi keempat buah titik itu adalah polinom kubik yang berbentuk: p 3 () = a + a + a + a 3 3 (P.5.9) Metode Numerik
211 Polinom p 3 () ditentukan dengan cara berikut: - sulihkan ( i,y i ) ke dalam persamaan (P.5.9), i =,,, 3. Dari sini diperoleh empat buah persamaan dengan empat buah parameter yang tidak diketahui, yaitu a, a, a, dan a 3 : a + a + a + a 3 3 = y a + a + a + a 3 3 = y a + a + a + a 3 3 = y a + a 3 + a 3 + a = y 3 - hitung a, a, a, dan a 3 dari sistem persamaan tersebut dengan metode eliminasi Gauss. Bila digambar, kurva polinom kubik adalah seperti Gambar 5.5. y (, y ) ( 3, y 3 ) (, y ) (, y ) Gambar 5.5 Interpolasi kubik Dengan cara yang sama kita dapat membuat polinom interpolasi berderajat n untuk n yang lebih tinggi: p n () = a + a + a + + a n n asalkan tersedia (n+) buah titik data. Dengan menyulihkan ( i, y i ) ke dalam persmaan polinom di atas y = p n () untuk i =,,,, n, akan diperoleh n buah sistem persamaan lanjar dalam a, a, a,, a n, a + a + a a n 3 = y a + a + a a n 3 = y a + a + a a n 3 = y a + a n + a n a n n 3 = y n Bab 5 Interpolasi Polinom 3
212 Solusi sistem persamaan lanjar ini diperoleh dengan menggunakan metode eliminasi Gauss yang sudah anda pelajari. Secara umum, penentuan polinom interpolasi dengan cara yang diuraikan di atas kurang disukai, karena sistem persamaan lanjar yang diperoleh ada kemungkinan berkondisi buruk, terutama untuk derajat polinom yang semakin tinggi. Beberapa metode perhitungan polinom interpolasi telah ditemukan oleh oleh para numerikawan tanpa menggunakan cara pendekatan di atas. Beberapa diantaranya akan diberikan di sini, yaitu:. Polinom Lagrange. Polinom Newton 3. Polinom Newton-Gregory (kasus khusus dari polinom Newton) Untuk sejumlah titik data yang diberikan, metode interpolasi yang berbeda-beda ini tetap menghasilkan polinom yang sama (unik), tetapi dalam bentuk yang berbeda satu sama lain, dan berbeda juga dalam jumlah komputasi yang dilibatkan. Keunikan polinom interpolasi ini akan dibuktikan setelah kita sampai pada polinom Newton. 5. Polinom Lagrange Tinjau kembali polinom lanjar pada persamaan (P.5.7): ( y ) y p () = y + ( ) ( - ) Persamaan ini dapat diatur kembali sedemikian rupa sehingga menjadi ( ) p () = y ( ) ( ) + y ( ) (P.5.) atau dapat dinyatakan dalam bentuk p () = a L () + a L () (P.5.) yang dalam hal ini a = y, ( L ( ) = ( ) ) 4 Metode Numerik
213 Bab 5 Interpolasi Polinom 5 dan a = y, ) ( ) ( ) ( L = Persamaan (P.5.) dinamakan polinom Lagrange derajat. Nama polinom ini diambil dari nama penemunya, yaitu Joseph Louis Lagrange yang berkebangsaan Perancis. Bentuk umum polinom Lagrange derajat n untuk (n + ) titik berbeda adalah p n () = = n i i i L a ) ( = a L () + a L () + + a n L n () (P.5.) yang dalam hal ini a i = y i, i =,,,, n dan, L i () = = n i j j j i j ) ( ) ( = ( )( ) ( )( ) ( ) ( )( ) ( )( ) ( ) n i i i i i i i i n i i Mudah dibuktikan, bahwa : L i ( j ) = = j i j i,, dan polinom interpolasi p n () melalui setiap titik data. Bukti: Jika i = j, maka L i ( i ) = = n i j j j i j i ) ( ) ( = ( )( ) ( )( ) ( ) ( )( ) ( )( ) ( ) n i i i i i i i i n i i i i i i i = (karena penyebut = pembilang)
214 Jika i j, maka n ( L i ( j ) = ( = ) j i j= i j ) j i ( )( )...( )...( )( )...( ) j ( )( )...( )( )( )...( ) i j i j i j j i j i i i j i+ i+ = ( )( )... ( )... ( )( ) ( ) i i i j i i i i+... i i j n n n Akibatnya, = (karena pembilang =, yaitu ( j j ) = ) p n ( ) = L ( ) y + L ( ) y + L ( ) y + + L n ( ) y n =. y +. y +. y + +. y n = y p n ( ) = y... p n ( n ) = y n Dengan demikian, p n ( i ) = y i, i =,,,, n atau dengan kata lain, polinom interpolasi p n () melalui setiap titik data. Contoh 5.4 [MAT9] Hampiri fungsi f() = cos dengan polinom interpolasi derajat tiga di dalam selang [.,.]. Gunakan empat titik, =., =.4, =.8, dan 3 =.. Perkirakan nilai p 3 (.5), dan bandingkan dengan nilai sejatinya. Penyelesaian: i y i Metode Numerik
215 Polinom Lagrange derajat 3 yang menginterpolasi keempat titik di tabel adalah p 3 () = a L () + a L () + a L () + a 3 L 3 () = y y ( )( )( 3 ) ( )( )( ) ( )( )( 3) ( )( )( ) 3 3 ( )( )( 3 ) + y ( )( )( ) ( )( )( ) + y 3 ( )( )( ) = = (.4)(.8)(.) + (..4)(..8)(..) (.)(.8)(.) + (.4.)(.4.8)(.4.) (.)(.4)(.) (.8.)(.8.4)(.8.) (.)(.4)(.8) (..)(..4)(..8) (.4)(.8)(.) (.)(.8)(.) (.)(.4)(.) (.)(.4)(.8) + Untuk mengurangi galat akibat pembulatan, polinom p 3 () ini tidak perlu disederhanakan lebih jauh. Kurva y = cos() dan y = p 3 () diperlihatkan pada Gambar y y = p 3 () y = f() Gambar 5.6 Grafik fungsi y = cos() dan y = p 3 () Bab 5 Interpolasi Polinom 7
216 Dengan menggunakan polinom interpolasi p 3 () itu kita dapat menaksir nilai fungsi di =.5 sebagai berikut: p 3 (.5) = (.5 -.4)(.5 -.8)(.5 -.) (.5 -.)(.5 -.8)(.5 -.) (.5 -.)(.5 -.4)(.5 -.) (.5 -.)(.5 -.4)(.5 -.8) =.877 Sebagai perbandingan, nilai sejatinya adalah y = cos(.5) = Catatlah bahwa polinom Lagrange tidak hanya berlaku untuk titik-titik yang berjarak sama. Kita juga dapat membentuk polinom Lagrange untuk titik-titik data yang tidak berjarak sama. Perhatikan contoh 5.5 berikut. Contoh 5.5 Dari fungsi y = f(), diberikan tiga buah titik data dalam bentuk tabel: 4 6 y Tentukan f(3.5) dengan polinom Lagrange derajat. Gunakan lima angka bena. Penyelesaian: Polinom derajat n = (perlu tiga buah titik) p () = L () y + L () y + L () y L () = ( 4 )( 6 ) ( 4)( 6) L () = ( )( 6 ) ( 4 )( 4 6) L () = ( )( 4 ) ( 6 )( 6 4) L (3.5) = ( )( ) ( 4)( 6) L (3.5) = ( 3.5 )( ) ( 4 )( 4 6) L (3.5) = ( 3.5 )( ) ( 6 )( 6 4) = =.47 = -.5 Jadi, p (3.5) = (.83333)(.579) + (.47)(.577) + (-.5)(.575) = Metode Numerik
217 Polinom Lagrange mudah diprogram. Algoritmanya dituliskan pada Program 5. berikut ini. Program 5. Polinom Lagrange function Lagrange(:real; n:integer):real; { Menghitung y = p n (), dengan p() adalah polinom Lagrange derajat n. Titik-titik data telah disimpan di dalam larik [..n] dan y[..n] } var i, j : integer; pi, L : real; begin L:=; for i:= to n do begin pi:=; for j:= to n do if i<> j then pi:=pi*( - [j])/([i] - [j]); {endfor} L:=L + y[i]*pi; end {for}; Lagrange:=L; end {Lagrange}; 5.3 Polinom Newton Polinom Lagrange kurang disukai dalam praktek karena alasan berikut [CHA9]:. Jumlah komputasi yang dibutuhkan untuk satu kali interpolasi adalah besar. Interpolasi untuk nilai yang lain memerlukan jumlah komputasi yang sama karena tidak ada bagian komputasi sebelumnya yang dapat digunakan.. Bila jumlah titik data meningkat atau menurun, hasil komputasi sebelumnya tidak dapat digunakan. Hal ini disebakan oleh tidak adanya hubungan antara p n- () dan p n () pada polinom Lagrange. Polinom Newton dibuat untuk mengatasi kelemahan ini. Dengan polinom Newton, polinom yang dibentuk sebelumnya dapat dipakai untuk membuat polinom derajat yang makin tinggi. Tinjau kembali polinom lanjar pada persamaan (P.5.7): ( y ) y p () = y + ( ) ( ) Bab 5 Interpolasi Polinom 9
218 Bentuk persamaan ini dapat ditulis sebagai p () = a + a ( - ) (P.5.3) yang dalam hal ini a = y = f( ) (P.5.4) dan a = y y = f ( ) f ( ) (P.5.5) Persamaan (P.5.5) ini merupakan bentuk selisih-terbagi (divided-difference) dan dapat disingkat penulisannya menjadi a = f [, ] (P.5.6) Setelah polinom lanjar, polinom kuadratik dapat dinyatakan dalam bentuk p () = a + a ( - ) + a ( - )( - ) (P.5.7) atau p () = p () + a ( - )( - ) (P.5.8) Persamaan (P.5.8) memperlihatkan bahwa p () dapat dibentuk dari polinom sebelumnya, p (). Ini mengarahkan kita pada pembentukan polinom Newton untuk derajat yang lebih tinggi. Nilai a dapat ditemukan dengan menyulihkan = untuk memperoleh a = f ( ) a a( ) ( )( ) (P.5.9) Nilai a dan nilai a pada persamaan (P.5.4) dan (P.5.5) dimasukkan ke dalam ke dalam persamaan (P.5.9) untuk memberikan a = f ( ) f ( ) f ( ) f ( ) Metode Numerik
219 Dengan melakukan utak-atik aljabar, persamaan terakhir ini lebih disukai ditulis menjadi a = f ( ) f ( ) f ( ) f ( ) = f [ ] f [ ],, (P.5.) Demikianlah seterusnya, kita dapat membentuk polinom Newton secara bertahap: polinom derajat n dibentuk dari polinom derajat (n-). Polinom Newton dinyatakan dalam hubungan rekursif sebagai berikut: (i) rekurens: p n () = p n- () + a n ( - )( - ) ( - n- ) (ii) basis: p () = a (P.5.) Jadi, tahapan pembentukan polinom Newton adalah sebagai berikut: p () = p () + a ( - ) = a + a ( - ) p () = p () + a ( - )( - ) = a + a ( - ) + a ( - )( - ) p 3 () = p () + a 3 ( - )( - )( - ) = a + a ( - ) + a ( - )( - ) + a 3 ( - )( - )( - ) M p n () = p n- () + a n ( - )( - ) ( - n- ) = a + a ( - ) + a ( - )( - ) + a 3 ( - )( - )( - ) + + a n ( - )( - ) ( - n- ) (P.5.) Nilai konstanta a, a, a,..., a n merupakan nilai selisih-terbagi, dengan nilai masing-masing: a = f( ) a = f [, ] a = f [,, ] M a n = f [ n, n-,,, ] yang dalam hal ini, Bab 5 Interpolasi Polinom
220 f f [ i, j ] = f [ i, j, k ] = M ( ) f ( ) i f [ n, n-,...,, ] = i i j j i j f [, ] f [, ] k f [ n j, k n,..., ] f [ n, n,..., ] n (P.5.3) (P.5.4) (P.5.5) Dengan demikian polinom Newton pada (P.5.) dapat ditulis dalam hubungan rekursif sebagai (i) rekurens: p n () = p n- () + ( - ) ( - ) ( - n- ) f [ n, n-,,, ] (P.5.6) (ii) basis: p () = f ( ) atau dalam bentuk polinom yang lengkap sebagai berikut: p n () = f ( ) + ( - ) f [, ] + ( - )( - ) f [,, ] + ( - ) ( - ) ( - n- ) f [ n, n-,,, ] (P.5.7) Karena tetapan a, a, a,..., a n merupakan nilai selisih-terbagi, maka polinom Newton dinamakan juga polinom interpolasi selisih-terbagi Newton. Nilai selisih terbagi ini dapat dihitung dengan menggunakan tabel yang disebut tabel selisih-terbagi, misalnya tabel selisih-terbagi untuk empat buah titik (n = 3) berikut: i i y i = f( i ) ST- ST- ST-3 f( ) f[, ] f[,, ] f[ 3,,, )] f( ) f[, ] f[ 3,, ] f( ) f[ 3, ] 3 3 f( 3 ) Keterangan: ST = Selisih-Terbagi Metode Numerik
221 Sekali tabel selisih-terbagi dibentuk, polinom interpolasi yang melewati sekumpulan titik ( i, y i ) berbeda (misalnya untuk i =,,, atau i =,, 3) dapat ditulis dengan mudah. Bila bagian tabel yang diarsir dinyatakan di dalam matriks ST[..n,..n], maka evaluasi p n () untuk = t dapat dinyatakan sebagai p n (t) = ST[,] + ST[,](t - ) + ST[,](t - )(t - ) ST[,n](t - )(t - )...(t - n- ) Seperti halnya polinom Lagrange, polinom Newtom juga mudah diprogram. Algoritmanya dituliskan pada Program 5.3 di bawah ini. Program 5. Polinom Newton function Newton(:real; n:integer):real; {Menghitung y = p(), dengan p() adalah polinom Newton derajat n. Titik-titik data telah disimpan di dalam larik [..n] dan y[..n] } var i, k : integer; ST : array[..3,..3] of real; {menyimpan tabel selisih terbagi} jumlah, suku: real; begin for k:= to n do { simpan y[k] pada kolom dari matriks ST } ST[k,]:=y[k]; {end for} for k:= to n do {buat tabel selisih terbagi} for i:= to n-k do ST[i,k]:=(ST[i+,k-] - ST[i,k-])/([i+k]-[i]); {end for} {end for} {hitung p() } jumlah:=st[,]; for i:= to n do begin suku:=st[,i]; for k:= to i- do suku:=suku*(-[k]) {end for} jumlah:=jumlah + suku; end; Newton:=jumlah; end; Contoh 5.6 Hitunglah f(9.) dari nilai-nilai (, y) yang diberikan pada tabel di bawah ini dengan polinom Newton derajat 3. Penyelesaian: Tabel selisih-terbagi: Bab 5 Interpolasi Polinom 3
222 i i y i ST- ST- ST Contoh cara menghitung nilai selisih-terbagai pada tabel adalah: f(, ) = f f(,, ) = ( ) f ( ) dan seterusnya. f [ = = , ] f [, ] = = Nilai-nilai selisih-terbagi yang dibutuhkan untuk membentuk polinom Newton derajat 3 ditandai dengan arsiran. Polinom Newton-nya (dengan = 8. sebagai titik data pertama) adalah: f() p 3 () = ( - 8.) ( - 8.)( - 9.) +.4( - 8.)( - 9.)( - 9.5) Taksiran nilai fungsi pada = 9. adalah f(9.) p 3 (9.) = =.98 Nilai sejati f(9.) = ln(9.) =.93 (7 angka bena). Catatlah bahwa nilai interpolasi ln(9.) semakin teliti dengan meningkatnya orde polinom (Contoh 5., Contoh 5.3, dan Contoh 5.6 ini): p (9.) =.78, p (9.) =.938, p 3 (9.) =.93 Contoh 5.7 [MAT9] Bentuklah polinom Newton derajat satu, dua, tiga, dan empat yang menghampiri fungsi f() = cos() di dalam selang [., 4.] dan jarak antar titik adalah.. Lalu, taksirlah nilai fungsi di =.5 dengan polinom Newton derajat tiga. Penyelesaian: Dengan jarak antar titik., maka titik yang digunakan adalah pada =., =., = 3., 3 = 4.. Tabel selisih terbaginya adalah: 4 Metode Numerik
223 i i f( i ) ST- ST- ST-3 ST f( 3, ) Contoh cara menghitung nilai selisih-terbagi pada tabel: f f[, ] = f f[, ] = f[,, ] = ( ) f ( ) ( ) f ( ) f[.543. = = = = , ] f[, ] =.. = Maka, polinom Newton derajat,, dan 3 dengan =. sebagai titik data pertama adalah cos() p () = ( -.) cos() p () = ( -.) -.484( -.)( -.) cos() p 3 () = ( -.) -.484( -.)( -.) +.466( -.)( -.)( -.) cos() p 4 () = ( -.) -.484( -.)( -.) +.466( -.)( -.)( -.) -.47( -.)( -.)( -.)( - 3.) Grafik y = cos() dan y = p (), y = p (), y = p 3 (), diperlihatkan pada Gambar 5.7. Perhatikan bahwa y = p 3 () lebih baik dalam menghampiri fungsi y = cos() (kurvanya hampir tepat sama/ berimpit di dalam selang [., 3.]). Taksiran nilai fungsi di =.5 dengan polinom derajat tiga adalah cos(.5) p 3 (.5) = (.5 -.) -.484(.5 -.)(.5 -.) +.466(.5 -.)(.5 -.)(.5 -.) Nilai sejati f(.5) adalah f(.5) = cos(.5) = -.8 sehingga solusi hampiran mengandung galat sejati sebesar ε = (-.856) = -.45 Bab 5 Interpolasi Polinom 5
224 Catatan: Titik = tidak selalu harus merupakan ujung selang. Bila p 3 () didasarkan pada titik =., =., 3 = 3., dan 4 = 4. di dalam selang [., 4.], maka polinom Newton yang menginterpolasi keempat titik tersebut adalah p 3 () = ( -.) +.93 ( -.) ( -.) +.88( -.)( -.)( - 3.) y..5 y = p () y = cos() -. Grafik y = cos() dan polinom Newton derajat, y = p (), yang didasarkan pada titik =. dan =. Gambar 5.7 Polinom Newton derajat yang menginterpolasi fungsi y =cos di dalam selang [., 4.] 6 Metode Numerik
225 y..5 y = p () y = cos() -. y = p () Grafik y = cos() dan polinom Newton derajat, y = p (), yang didasarkan pada titik =., =., =. y..5 y = p () y = cos() -. y = p 3 () Grafik y = cos() dan polinom Newton derajat 3, y = p 3 (), yang didasarkan pada titik =., =., =., dan = 3. Gambar 5.7 (lanjutan) Polinom Newton derajat dan 3 yang menginterpolasi fungsi y =cos di dalam selang [., 4.] Bab 5 Interpolasi Polinom 7
226 Kelebihan Polinom Newton Sekarang kita tuliskan alasan mengapa polinom Newton lebih disukai untuk diprogram, yaitu. Karena polinom Newton dibentuk dengan menambahkan satu suku tunggal dengan polinom derajat yang lebih rendah, maka ini memudahkan perhitungan polinom derajat yang lebih tinggi dalam program yang sama [CHA9]. Karena alasan itu, polinom Newton sering digunakan khususnya pada kasus yang derajat polinomnya tidak diketahui terlebih dahulu.. Penambahan suku-suku polinom secara beruntun dapat dijadikan kriteria untuk menentukan tercapainya titik berhenti, yaitu apakah penambahan sukusuku yang lebih tinggi tidak lagi secara berarti memperbaiki nilai interpolasi, atau malahan menjadi lebih buruk. 3. Tabel selisih terbagi dapat dipakai berulang-ulang untuk memperkirakan nilai fungsi pada nilai yang berlainan. Akan halnya polinom Lagrange, ia disukai karena ia mudah diprogram dan komputasinya tidak memerlukan penyimpanan tabel selisih. Polinom Lagrange biasanya dipakai jika derajat polinom interpolasi diketahui terlebih dahulu. 5.4 Keunikan Polinom Interpolasi Polinom interpolasi hanya ada untuk i yang berbeda. Bila terdapat beberapa nilai yang sama, kita tidak dapat membuat polinom interpolasi yang unik. Misalnya diberikan titik-titik yang ditabulasikan dalam tabel berikut y Interpolasi keenam titik tersebut dengan polinom derajat lima tidak akan menghasilkan polinom interpolasi yang unik, karena terdapat dua buah titik = 6 dengan nilai y yang berbeda. Sampai sejauh ini, kita telah membahas dua buah metode polinom interpolasi, yaitu polinom Lagrange dan polinom Newton. Apakah polinom yang dihasilkan oleh kedua metode tersebut sama? Dengan kata lain, apakah polinom interpolasi itu unik (tunggal)? Dapat kita buktikan, bahwa bila polinom interpolasi ada, maka polinom tersebut unik. 8 Metode Numerik
227 Bukti: Misalkan p n () tidak unik, yang berarti ada polinom lain, misalnya q n (), yang juga melewati titik-titik ( i, y i ), i =,,,, n, yang dalam hal ini p n ( i ) = q n ( i ) = y i Karena p n () dan q n () tidak sama, berarti ada selisih R n () = p n () - q n () (P.5.8) yang dalam hal ini, R n () adalah polinom derajat n. Selanjutnya, R n ( i ) = p n ( i ) - q n ( i ) = y i - y i = Karena R n () adalah polinom derajat n dan bernilai untuk (n + ) buah titik, ini mengingatkan kita pada sebuah teorema di dalam kalkulus yang berbunyi: Polinom derajat n yang mempunyai (n+) akar berbeda adalah polinom nol (garis y = ) Jadi, menurut teorema ini, R n () = sehingga dengan demikian atau p n () - q n () = p n () = q n () Dengan kata lain, p n () unik. Jadi, metode interpolasi apa pun yang kita pakai untuk menginterpolasi (n+) buah titik data yang sama, polinom interpolasinya -meskipun bentuknya berbedabeda- bila ditulis ke dalam bentuk baku (P.5.) adalah sama. Bab 5 Interpolasi Polinom 9
228 5.5 Galat Interpolasi Polinom Polinom interpolasi p n () merupakan hampiran terhadap fungsi yang asli f(). Jadi, p n () tidaklah sama dengan fungsi asli f(), meskipun pada titik-titik tertentu f() dan p n () bersesuaian, yaitu : f( i ) = p n ( i ), i =,,,,n Karena f() p n (), berarti ada selisih (galat) di antara keduanya, sebutlah E(), yaitu E() = f() - p n () (P.5.9) Mengingat f( i ) = p( i ) untuk i =,,,..., n, maka harus juga berlaku E( i ) = f( i ) - p n ( i ) = yang berarti E() mempunyai (n+) titik nol dari sampai n. E() dapat ditulis sebagai E() = f() - p n () = ( - ) ( - ) ( - n ) R() (P.5.3) atau E() = Q n+ () R() (P.5.3) yang dalam hal ini Q n+ () = ( - ) ( - ) ( - n ) (P.5.3) Catatlah bahwa Q n+ ( i ) = untuk i =,,, n R() adalah fungsi yang mencatat nilai-nilai selain dari,,, n. Bagaimana menentukan R()? Jawabannya di bawah ini. Persamaan (P.5.3) dapat ditulis sebagai f() - p n () - ( - ) ( - ) ( - n ) R() = Misal didefinisikan fungsi W(t) sebagai W(t) = f(t) - p n (t) - (t - ) (t - ) (t - n ) R() = (P.5.33) Metode Numerik
229 Perhatikan di sini bahwa R() tidak ditulis sebagai R(t) karena kita akan mencari nilai-nilai selain t. Persamaan W(t) = berarti mempunyai (n+) titik nol pada t =,,, n dan t =. Berdasarkan teorema Rolle yang berbunyi: Misalkan fungsi f menerus di dalam selang [a, b] dan f () ada untuk semua a < < b. Jika f(a) = f(b) =, maka terdapat nilai c, dengan a < c < b, sedemikan sehingga f (c) =. jika W menerus dan dapat diturunkan pada selang yang berisi (n+) titik nol, maka : W (t) = mempunyai (n + ) titik nol W (t) = mempunyai n titik nol W (t) = mempunyai (n-) titik nol... W (n+) (t) = mempunyai paling sedikit titik nol, misal pada t = c W (n+) (t) = = ( n+ ) d ( n+ ) dt [ f (t) - p n (t) - (t - ) (t - ) (t - n ) R()] t = c = f (n + ) (c) - - (n + )! R() (P.5.34) yang dalam hal ini, p n (t) adalah polinom derajat n, p (n) n (t) adalah fungsi tetap sehingga p (n+) n = Q n+ (t) = (t - ) (t - ) (t - n ) = t (n+) + (suku-suku polinom derajat n) Q (n+) n+ (t) = (n + )! + R() tidak bergantung pada t, jadi ia tidak berubah selama penurunan Dari persamaan (P.5.34), kita memperoleh R() = ( + ) ( c) f n, ( < c < n (P.5.35) n + )! Perhatikanlah bahwa persamaan (P.5.35) ini mengingatkan kita pada rumus galat pemotongan pada deret Taylor (lihat Bab ). Bab 5 Interpolasi Polinom
230 Selanjutnya, sulihkan (P.5.35) ke dalam (P.5.3), menghasilkan E() = ( - ) ( - ) ( - n ) ( + ) ( c) f n ( n + )! (P.5.3) atau dengan E() = Q n+ () ( n+ ) ( c) f ( n + )! (P.5.3) Q n+ () = ( - ) ( - ) ( - n ) Rumus galat ini berlaku untuk semua metode interpolasi polinom, baik polinom Lagrange, polinom Newton, atau polinom interpolasi lainnya. Misalkan kita menginterpolasi dua buah titik dengan polinom Lagrange derajat satu (polinom lanjar). Galat interpolasinya dinyatakan dalam bentuk ( )( ) E() = f (c) Bila fungsi f diketahui, kita dapat mencari turunannya di = c untuk menghitung galat interpolasi E(). Sayangnya, kita tidak mengetahui nilai c; yang pasti nilai c terletak antara dan n. Jika f (n+) berubah sangat lambat dalam selang [, n ], atau [, n ] adalah selang kecil sedemikian sehingga f (n+) berubah sangat lambat, maka kita dapat menghampiri f (n+) (c) dengan f (n+) ( t ), yang dalam hal ini t adalah titik tengah dan n, yaitu t = ( + n )/. Galat interpolasi dengan menggunakan nilai t ini dinamakan galat rata-rata interpolasi E R [NAK93]: E R () = ( - ) ( - ) ( - n ) ( n+ ) ( ) f t ( n + )! (P.5.33) Dari persamaan (P.5.3) terlihat bahwa galat polinom interpolasi, selain bergantung pada nilai yang diinterpolasi, juga bergantung pada turunan fungsi semula. Tinjau kembali Q n+ pada persamaan (P.5.3): Q n+ () = ( - )( - )... ( - n ) Metode Numerik
231 Misalkan,,, n berjarak sama. Grafik fungsi Q untuk enam titik yang berjarak sama ditunjukkan pada Gambar 5.8. y y = Q n+ () Gambar 5.8 Grafik fungsi Q 6 () Berdasarkan Q 6 () yang berosilasi pada Gambar 5.8 terlihat bahwa: - di titik-titik data i, nilai Q 6 ( i ) =, sehingga galat interpolasi E( i )= - di titik tengah selang, nilai Q 6 () minimum, sehingga E() juga minimum - di titik-titik sekitar ujung selang, Q 6 () besar, sehingga E() juga besar - bila ukuran selang [, 6 ] semakin besar, amplitudo osilasi meningkat dengan cepat. Kesimpulan: Galat interpolasi minimum terjadi untuk nilai di pertengahan selang. Penjelasannya adalah sebagai berikut. Nilai-nilai yang berjarak sama ditulis sebagai, = + h, = + h,..., n = + nh atau dengan rumus umum i = + ih, i =,,,, n (P.5.34) Titik yang diinterpolasi dinyatakan sebagai = + sh, s R (P.5.35) Bab 5 Interpolasi Polinom 3
232 sehingga - i = (s -i)h, i =,,,, n (P.5.36) Galat interpolasinya adalah E() = ( - ) ( - ) ( - n ) ( + ) ( c) f n = (sh) (s - )h (s - )h (s - n)h ( n + )! ( + ) ( c) f n ( n + )! ( ) ( ) = s (s - ) (s - ) (s - n) h n+ + f n c ( n + )! (P.5.37) Dapat diditunjukkan bahwa Q n+ (s) = s(s - )(s - ) (s - n) bernilai minimum bila Q n+ '(s)= yang dipenuhi untuk s = n/ (buktikan!). Dengan kata lain, E() bernilai minimum untuk nilai-nilai yang terletak di (sekitar) pertengahan selang. E minimum n Ingatlah kalimat ini: Untuk mendapatkan galat interpolasi yang minimum, pilihlah selang [, n ] sedemikian sehingga terletak di tengah selang tersebut 4 Metode Numerik
233 Misalkan kepada kita diberikan titik-titik data seperti ini: f () Bila anda diminta menghitung f(.6), maka selang yang digunakan agar galat interpolasi f(.6) kecil adalah [.5,.75] untuk polinom derajat satu atau [.5,.] untuk polinom derajat tiga atau [.,.5] untuk polinom derajat lima 5.5. Batas Atas Galat Interpolasi Untuk Titik-Titik yang Berjarak Sama Diberikan absis titik-titik yang berjarak sama: i = + ih, i =,,,, n dan nilai yang akan diinterpolasikan dinyatakan sebagai = + sh, s R Untuk polinom interpolasi derajat,, dan 3 yang dibentuk dari i di atas dapat dibuktikan bahwa Bab 5 Interpolasi Polinom 5
234 (i) E () = f() - p () h 8 Maks c f (c) (P.5.38) (ii) E () = f() - p () 3 h 3 7 Maks f (c) c (P.5.39) (iii) E 3 () = f() - p 3 () h 4 4 Maks f iv (c) c 3 (P.5.4) Di sini kita hanya membuktikan untuk (i) saja: Bukti: Misalkan = dan i = h, persamaan galatnya adalah E () = ( - )( - ) = ( h)! f (c) f "( c)!, yang dalam hal ini < c < E () = - h f (c) = - h f (c) Maks - h Maks c f (c) Misalkan φ() = - h Di dalam selang [, ], nilai maksimum lokal φ() dapat terjadi pada ujungujung selang ( = atau = h) atau pada titik ekstrim φ(). Terlebih dahulu tentukan titik ekstrim φ() dengan cara membuat turunan pertamanya sama dengan : φ () = - h = = h/ Hitung nilai maksimum lokal φ() di ujung-ujung selang dan titik ekstrim: - di ujung selang kiri =, φ() = - h = - di ujung selang kanan = h φ(h) = h - h = - di titik ekstrim = h/ φ(h/) =(h/) - (h/)h = - / 4 h 6 Metode Numerik
235 Jadi,,maksimum φ() = - / 4 h, sehingga dengan demikian E () = f() - p () 8 h Maks c f (c) Contoh 5.8 Tinjaulah kembali tabel yang berisi pasangan titik (, f( )) yang diambil dari f() = cos(). i f( i ) (a) Hitung galat rata-rata interpolasi di titik =.5, =.5, dan =.5, bila diinterpolasi dengan polinom Newton derajat 3 berdasarkan =. (b) Hitung batas atas galat interpolasi bila kita melakukan interpolasi titik-titik berjarak sama dalam selang [., 3.] dengan polinom interpolasi derajat 3. (c) Hitung batas atas dan batas bawah galat interpolasi di =.5 dengan polinom Newton derajat 3 Penyelesaian: (a) Telah diketahui dari Contoh 5.7 bahwa polinom derajat 3 yang menginterpolasi f(+ ) = cos() dalam selang [.,3.] adalah : cos() p 3 () = ( -.) -.485( -.)( -.) +.466( -.)( -.)( -.) Menghitung galat rata-rata interpolasi : Titik tengah selang [., 3.] adalah di m = (. + 3.)/ =.5 Galat rata-rata interpolasi adalah : E 3 () = (.)(.)(.)( 3.) Hitung turunan keempat dari fungsi f() = cos(), f '() = -sin() ; f () = -cos() ; f '''() = sin() f (4) () = cos() 4! f (4) ( m ) Bab 5 Interpolasi Polinom 7
236 karena itu, E 3 () = (.)(.)(.)( 3.) 4! (cos(.5)) Untuk =.5, =.5, dan =.5, nilai-nilai interpolasinya serta galat rata-rata interpolasinya dibandingkan dengan nilai sejati dan galat sejati diperlihatkan oleh tabel berikut : X f() p 3 () E 3 () Galat sejati Catatan: Perhatikan bahwa karena =.5 terletak di titik tengah selang, maka galat interpolasinya lebih paling kecil dibandingkan interpolasi yang lain. (b) Telah diketahui bahwa batas atas galat interpolasi dengan polinom derajat 3 adalah E 3 () = f() - p 3 () h 4 /4 Ma f (4) (c), c 3. Telah diperoleh dari (a) bahwa f (4) () = cos(), dan dalam selang [., 3.] nilai Ma f (4) () terletak di =.. Jadi, f (4) () = cos(.) =.. Untuk p 3 () dengan jarak antar titik data adalah h =., batas atas galat interpolasinya adalah E 3 () (.) 4./4 = /4 = Nilai-nilai E 3 () pada tabel di atas semuanya di bawah Jadi, batas atas beralasan. (c) E 3 () = E 3 (.5) = (.)(.)(.)( 3.) 4! f (4) (.5) (.5.)(.5.)(.5.)(.5 3.) 4! (-cos(c)),. c 3. Karena fungsi cosinus monoton dalam selang [., 3.], maka nilai maksimum dan nilai minimum untuk cos (c) terletak pada ujung-ujung selang. Untuk c =. maka : E 3 (.5) = (.5.)(.5.)(.5.)(.5 3.) 4! = (minimum), (cos(.)) 8 Metode Numerik
237 dan untuk c = 3. maka E 3 (.5) = (.5.)(.5.)(.5.)(.5 3.) 4! (cos (3.)) = (maksimum), sehingga, batas-batas galat interpolasi di =.5 adalah : E 3 (.5) Taksiran Galat Interpolasi Newton Salah satu kelebihan polinom Newton dibandingkan dengan polinom Lagrange adalah kemudahan menghitung taksiran galat interpolasi meskipun fungsi asli f() tidak diketahui, atau kalaupun ada, sukar diturunkan. Tinjau kembali polinom Newton: p n () = p n- () + ( - ) ( - ) ( - n- ) f[ n, n-,,, ] Suku ( - )( - ) ( - n- ) f[ n, n-,,, ] dinaikkan dari n sampai n + menjadi ( - )( - ) ( - n- ) ( - n ) f[ n+, n, n-,,, ] Bentuk terakhir ini bersesuaian dengan rumus galat interpolasi E() = ( - ) ( - ) ( - n ) ( + ) ( t) f n ( n + )! Ekspresi ( + ) ( t) f n ( n + )! dapat dihampiri nilainya dengan f[ n+, n, n-,,, ] yang dalam hal ini f( n+, n, n-,,, ) adalah selisih-terbagi ke (n + ). Bab 5 Interpolasi Polinom 9
238 Jadi, ( + ) ( t) f n f[ ( n+, n, n-,,, ] (P.5.4) n + )! sehingga taksiran galat interpolasi Newton dapat dihitung sebagai E() = ( - ) ( - ) ( - n ) f[ n+, n, n-,,, ] (P.5.4) asalkan tersedia titik tambahan n +. Contoh 5.9 Pada Contoh 5.7, bila digunakan polinom derajat tiga untuk menaksir nilai f(.5), hitunglah taksiran galat interpolasinya. Penyelesaian: Bila digunakan polinom derajat tiga, maka tersedia titik sesudah 3 =3., yaitu 4 = 4., dan dari tabel selisih-terbagi ditemukan f[ 4, 3,,, ] = -.47 sehingga taksiran galat dalam menginterpolasi f(.5) adalah E(.5) = (.5 -.)(.5 -.)(.5 -.)(.5-3.) (-.47) = Taksiran Galat Interpolasi Lagrange Taksiran galat polinom Lagrange tidak dapat dihitung secara langsung karena tidak tersedia rumus taksiran galat seperti halnya pada interpolasi Newton. Namun, jika tabel selisih-terbagi tersedia, maka taksiran galatnya dapat dihitung dengan rumus taksiran galat polinom Newton: E() = ( - ) ( - ) ( - n ) f[ n+, n, n-,,, ] asalkan tersedia titik tambahan n+. Meskipun demikian, tabel selisih-terbagi tidak dipakai sebagai bagian dari algoritma Lagrange, ini jarang terjadi [CHA9]. 3 Metode Numerik
239 5.6 Polinom Newton-Gregory Polinom Newton-Gregory merupakan kasus khusus dari polinom Newton untuk titik-titik yang berjarak sama. Pada kebanyakan aplikasi nilai-nilai berjarak sama, misalnya pada tabel nilai fungsi, atau pada pengukuran yang dilakukan pada selang waktu yang teratur [KRE88]. Untuk titik-titik yang berjarak sama, rumus polinom Newton menjadi lebih sederhana. Selain itu, tabel selisih-terbaginya pun lebih mudah dibentuk. Di sini kita menamakan tabel tersebut sebagai tabel selisih saja, karena tidak ada proses pembagian dalam pembentukan elemen tabel. Ada dua macam tabel selisih, yaitu tabel selisih maju (forward difference) dan tabel selisih mundur (backward difference). Karena itu, ada dua macam polinom Newton-Gregory, yaitu polinom Newton-Gregory maju dan polinom Newton- Gregory mundur Polinom Newton-Gregory Maju Polinom Newton-Gregory maju diturunkan dari tabel selisih maju. Sebelum menurunkan rumusnya, kita bahas terlebih dahulu tabel selisih maju Tabel Selisih Maju Misal diberikan lima buah titik dengan absis yang berjarak sama. Tabel selisih maju yang dibentuk dari kelima titik tersebut adalah f() f f 3 f 4 f f f f 3 f 4 f f f f 3 f f f f 3 f 3 f 3 4 f 4 Lambang menyatakan selisih maju. Arti setiap simbol di dalam tabel adalah: f = f( ) = y f = f( ) = y... f 4 = f( 4 ) Notasi: f p = f( p ) Bab 5 Interpolasi Polinom 3
240 f = f - f f = f - f... f 3 = f 4 - f 3 Notasi: f p = f p+ - f p f = f - f f = f - f f = f 3 - f Notasi: f p = f p+ - f p 3 f = f - f 3 f = f - f Notasi: 3 f p = f p+ - f p Bentuk umum: n+ f p = n f p+ - n f p, n =,,, (P.5.43) Penurunan Rumus Polinom Newton-Gregory Maju Sekarang kita mengembangkan polinom Newton-Gregory maju yang didasarkan pada tabel selisih maju. f[, ] = = = f f[,, ] = = ( ) f ( ) ( ) f h f! h f f [, ] f [ ], ( ) f ( ) f ( ) f ( ) (P.5.44) 3 Metode Numerik
241 f = = f f f h h f =! h (P.5.45) Bentuk umum: f[ n,,, ] = n f n! h ( ) n n f = n n! h (P.5.46) Dengan demikian polinom Newton untuk data berjarak sama dapat ditulis sebagai : p n () = f( ) + ( - ) f[, ] + ( - )( - ) f(,, ) + + ( - )(- ) (- n- ) f[ n, n-,,, ] f f = f + ( - ) + ( - )( - )! h! h n f ( - )( - )...( - n- ) n n! h + + (P.5.47) Persamaan (P.5.47) ini dinamakan polinom Newton-Gregory maju. Persamaan (P.5.47) dapat juga ditulis sebagai relasi rekursif: p n () = p n- () + ( - )( - ) ( - n- ) Jika titik-titik berjarak sama dinyatakan sebagai n f n n! h (P.5.48) i = + ih, i =,,,,n dan nilai yang diinterpolasikan adalah = + sh, s R maka, persamaan (P.5.47) dapat juga ditulis dalam parameter s sebagai Bab 5 Interpolasi Polinom 33
242 p n () = f + f! h s yang menghasilkan sh s ( s ) +! h h ( s )( s )...( s n + ) n! h n h n f n + + f p n () = f +! f s s + ( s )! f + + s ( s )( s )...( s n + ) n! n f atau dalam bentuk relasi rekursif, (i) rekurens: p n () = p ( ) (ii) basis: p () = f ( ) n s + ( s )( s )...( s n + ) n! n f (P.5.49) (P.5.5) Seringkali persamaan (P.5.49) dinyatakan dalam bentuk binomial: n s p n () = k f k = k (P.5.5) yang dalam hal ini, s =, s k = ( s )( s )...( s k ) s + k! (s >, bilangan bulat) dan k! =... k Tahap pembentukan polinom Newton-Gregory maju untuk titik-titik berjarak sama dapat dituliskan sebagai berikut: p () = f p () = p () + s! s f = f + f! 34 Metode Numerik
243 p () = p () + s( s )! s = f + f +! p 3 () = p () + s s = f + f +! f s( s )! ( s )( s )! s( s )! f 3 f f + s ( s )( s )! 3 f s p n () = f + f +! s( s )! f + ( s )( s )...( s n ) s + n! s n f ( s )( s )! 3 f +... Contoh 5. [NOB7] Bentuklah tabel selisih untuk fungsi f() = /(+) di dalam selang [.,.65] dan h =.5. Hitung f(.3) dengan polinom Newton-Gregory maju derajat 3. Penyelesaian: Tabel selisih maju: f() Untuk memperkirakan f(.3) dengan polinom Newton-Gregory maju derajat tiga, dibutuhkan 4 buah titik. Ingatlah kembali bahwa galat interpolasi akan minimum jika terletak di sekitar pertengahan selang. Karena itu, titik-titik yang diambil adalah =.5, =.5, =.375, 3 =.5 karena =.3 terletak di sekitar pertengahan selang [.5,.5]. Bab 5 Interpolasi Polinom 35
244 Diketahui h =.5 dan = + sh s = h = =.4 Nilai f(.3) dihitung dengan polinom Newton-Gregory maju derajat tiga: s p 3 () f + f +! s ( s )! f (.4) (-.89) + (.4 )(.4 ) (.4)(.4)(.6) 6 (-.3) s ( s )( s ) 3! (.6) + 3 f Sebagai perbandingan, nilai sejati f(.3) adalah f(.3) = /(.3+) =.769 Program 5.3 Polinom Newton-Gregory Maju function Newton_Gregory_Maju(:real; n:integer):real; { - Menghitung y = p(), dengan p() adalah polinom Newton Gregory maju derajat n. - Titik-titik data telah disimpan di dalam larik: [..n] dan y[..n] } var i, k : integer; TS : array[..3,..3] of real; {menyimpan tabel selisih} h, jumlah, suku, s: real; function faktorial(p:integer):integer; { menghitung p! } var k, fak:integer; begin fak:=; for k:= to p do fak:=fak*k; {end for} faktorial:=fak; end; {faktorial} 36 Metode Numerik
245 begin for k:= to n do {simpan y[k] pada kolom matriks TS[k,j] } TS[k,]:=y[k]; {end for} for k:= to n do {bentuk tabel selisih} for i:= to (n-k) do TS[i,k]:=TS[i+,k-] - TS[i,k-]; {end for} {end for} {hitung p() } h:=[]-[]; { jarak antar titik} s:=( -[])/h; jumlah:=ts[,]; for i:= to n do begin suku:=ts[,i]; for k:= to i- do suku:=suku*(s-k) {end for} suku:=suku/faktorial(i); jumlah:=jumlah + suku; end; Newton_Gregory_Maju:=jumlah; end; Menghitung Batas Galat Interpolasi Newton-Gregory Maju Seperti halnya pada polinom Newton, kita dapat menghitung batas-batas galat interpolasi Newton-Gregory Maju. Perhatikan Contoh 5. di bawah ini. Contoh 5. Misal diberikan tabel selisih yang diambil dari fungsi f() = sin() di dalam selang [.,.7] dan h =.4. f() f f 3 f Diminta menentukan f(.8) dengan polinom Newton-Gregory maju derajat dua, dan tentukan juga batas-batas galatnya. Bab 5 Interpolasi Polinom 37
246 Penyelesaian: Polinom derajat dua jumlah titik = + = 3. Misalkan titik yang diambil adalah =., =.5, dan =.9 Titik yang diinterpolasikan adalah =.8 s = ( - )/h = (.8 -.)/.4 =.75 Jadi, f(.8) p () = f + s f! + = (.75 ) =.7445 s ( s ) f! (.3796) + (.75 )(.75 ) (-.757) Batas-batas galat: E() E(.8) s ( s )( s ) ( n + )! h 3 f '(t) (.75)(.75)(.5)(.4) 3! 3 [-cos (t)] Dalam selang [.,.9] fungsi cosinus monoton naik, sehingga nilai minimum dan nilai maksimum cosinus terletak di ujung-ujung selang. Dengan demikian, galat galat (.75)(.75)(.5)(.4) 3! (.75)(.75)(.5)(.4) 3! 3 3 [-cos (.)] = [-cos (.9)] =.8-3 Jadi, batas-batas galat dalam menginterpolasi f(.8) adalah.8-3 galat Metode Numerik
247 Taksiran Galat Interpolasi Newton-Gregory Maju Seperti halnya pada polinom Newton, taksiran galat interpolasi Newton-Gregory dapat dihitung dengan menghampiri turunan fungsi ke (n+) dengan nilai pada tabel selisih. Tinjau kembali polinom Newton-Gregory Maju: p n () = p n- () + ( - )( - ) ( - n- ) n f n n! h Naikkan suku f ( - )( - ) ( - n- ) n n! h dari n menjadi n+: ( - )( - ) ( - n- ) ( - n ) ( ) n+ n n+ f n +! h Bentuk terakhir ini bersesuaian dengan rumus galat interpolasi E() = ( - ) ( - ) ( - n ) ( + ) ( t) f n ( n + )! sehingga, f (n+) (t) dapat dihampiri dengan f (n+) (t) n+ f n+ h (P.5.5) Jadi, taksiran galat dalam menginterpolasi f() dengan polinom Newton-Gregory maju adalah E() = ( - ) ( - ) ( - n ) atau dalam bentuk lain, n + f E() = s(s-)(s-)...(s-n) ( n + )! dengan s = ( - ) / h. n+ f n+ h ( n + )! (P.5.53) (P.5.54) Bab 5 Interpolasi Polinom 39
248 Contoh 5. Dari Contoh 5., hitung taksiran galat dalam menginterpolasi f(.8). Penyelesaian: Dengan menggunakan titik tambahan =.3, nilai n+ f dapat dihitung, yang pada tabel selisih nilainya sudah ada, yaitu n+ f = sehingga taksiran galat dalam menginterpolasi f(.8) adalah E(.8) s ( s )( s ) 3! 3 f = (.75)(.75)(.5)(.4797) =.6-3 3! Persamaan (P.5.53) atau (P.5.54) hanya digunakan bila titik n+ ada (pada Contoh 5., tersedia titik sesudah =.9, yaitu 3 =.3). Bagaimana kalau titik n+ tidak ada? Untuk kasus ini kita dapat menggunakan n+ f - sebagai hampiran n+ f [NAK93] Manfaat Tabel Selisih Maju Pada contoh-contoh perhitungan yang diberikan sebelum ini, derajat polinom interpolasi ditentukan pada soal. Bila polinom interpolasi derajat n yang diinginkan, maka jumlah titik yang dibutuhkan harus (n+) buah. Sebaliknya, bila diberikan (n+) titik, maka kita dapat menginterpolasi titik-titik itu dengan polinom derajat satu (jadi hanya dua titik yang diperlukan), polinom derajat dua (tiga titik), polinom derajat tiga (empat titik) dan maksimal polinom derajat n (jadi semua titik yang dipakai). Timbul pertanyaan, dengan polinom derajat berapakah sekumpulan titik data sebaiknya diinterpolasi agar memberikan galat interpolasi yang minimum? [NOB7] Misalkan kita membentuk tabel selisih untuk fungsi f() =, f() =, dan f() = 3 pada titik-titik yang berjarak sama, yaitu i = + ih, i =,,, 3, (i) f() = f f 3 f h h h h h h h 3h 3h 4 Metode Numerik
249 (ii) f() = f f 3 f h h h h 3h h h 4h 5h h 3h 9h 7h 4h 6h (iii) f() = 3 f f 3 f 4 f h 3 6h 3 6h 3 h h 3 7h 3 h 3 6h 3 h 8h 3 9h 3 8h 3 3h 7h 3 37h 3 4h 64h 3 Apa yang anda temukan dari ketiga tabel di atas? Pada ketiga tabel itu dapat disimpulkan bahwa untuk f() = a n, yang dalam hal ini a = dan n =,, 3, diperoleh dan n f() = a n! h n n+ f() =. Apakah kesimpulan ini benar untuk n > 3? Misal diberikan fungsi f() dari polinom derajat n, f() = a + a + a + + a n n dan h adalah jarak antara nilai-nilai. Selisih orde pertama adalah f() = f(+h) - f() = {a + a (+h) + + a n (+h) n } - {a + a + + a n n } = a n [(+h) n - n ] + a n- [(+h) n- - n- ] + suku-suku derajat n- = a n [( n + nh n- + (n-) n- h h n ) - n ] + a n- [( n- + (n-)h n- + (n-) n-3 h h n- ) - n- ] + suku-suku derajat n- = nha n n- + suku-suku derajat n- Bab 5 Interpolasi Polinom 4
250 Dengan cara yang sama untuk f(), 3 f(),, kita peroleh f() = nha n n- f() = n(n-) h a n n- 3 f() = n (n-) (n-) h 3 a n n-3... n f() = n! h n a n n-n = n! h n a n = n(n-)(n-) () () h n a n n-n n+ f() = Jadi kesimpulan kita benar. Apakah kegunaan kesimpulan ini? Bila di dalam tabel selisih ditemukan k bernilai (hampir) konstan ( ) maka polinom yang tepat menginterpolasi titik-titik itu adalah polinom berderajat k. Pada contoh tabel (iii) di atas: 3 konstan, jadi titik-titiknya tepat diinterpolasi dengan polinom derajat tiga (sama dengan fungsi aslinya, f() = 3 ) Bagaimanakah jika tidak terdapat yang bernilai tetap? Misalnya diberikan tabel selisih di bawah ini: f() = / f f 3 f 4 f Pada tabel selisih di atas, tidak ada k yang mendekati nilai tetap. Jadi f() = / tidak tepat dihampiri dengan polinom derajat,, 3, atau 4 di dalam selang [.,.6]. Tetapi jika selang datanya diperkecil dengan pengambilan h yang lebih kecil dan digunakan empat angka bena sebagai berikut: f() = / f f 3 f Metode Numerik
251 maka dari tabel ini ditemukan mendekati nilai tetap yaitu sekitar.. Karena itu f() = / dapat dihampiri sebanyak empat angka bena dengan polinom kuadratik di dalam selang [.5,.3]. Kesimpulan: Tabel selisih bermanfaat untuk menentukan. Derajat polinom interpolasi. Selang data 3. Ketelitian yang diinginkan Polinom Interpolasi Newton-Gregory Mundur Polinom Newton-Gregory mundur (Newton-Gregory backward) dibentuk dari tabel selisih mundur. Polinom ini sering digunakan pada perhitungan nilai turunan (derivative) secara numerik. Titik-titik yang digunakan berjarak sama, yaitu, -, -,..., -n, yang dalam hal ini, i = + ih, i =, -, -,,-n dan nilai yang diinterpolasikan adalah = + sh, s R Sebagai contoh, tabel selisih mundur untuk 4 titik diperlihatkan oleh tabel berikut: i i f() f f 3 f -3-3 f f - f f - f - ²f - f f ²f 3 f Keterangan: f = f( ) f - = f( - ) f = f - f - f - = f - - f - f = f - f - k+ f i = k f i - k f i- Bab 5 Interpolasi Polinom 43
252 Polinom Newton-Gregory mundur yang menginterpolasi (n+) titik data adalah n s + k f() p n () = k f k = s = f + s s( s + ) + f! f! + + s ( s + )( s + )...( s + n ) n n! f (P.5.55) Mengenai penurunan rumus Newton-Gregory mundur, ditinggalkan kepada anda sebagai latihan. Contoh 5.3 Diberikan 4 buah titik data dalam tabel berikut. Hitunglah f(.7) dengan (a) polinom Newton-Gregory maju derajat 3 (b) polinom Newton-Gregory mundur derajat 3 Misalkan jumlah angka bena yang digunakan adalah 7 digit. Penyelesaian: (a) Polinom Newton-Gregory maju derajat 3 i i f( i ) f f 3 f s = ( - )/h = (.7 -.7)/. =. Perkiraan nilai f(.7) adalah.(.8) f(.7) p 3 (.7) = ( ) + (-.693).(.8)(.8) + (.493) 6 = = (nilai sejati f(.7) = , jadi p 3 (.7) tepat sampai 6 angka bena) 44 Metode Numerik
253 (b) Polinom Newton-Gregory maju derajat 3 i i f( i ) Tabel di atas memperlihatkan bahwa tabel selisih mundur sama dengan tabel selisih maju, yang berbeda hanya notasi dan penempatan elemennya. s = ( - )/h = (.7 -.)/. = -.8 Perkiraan nilai f(.7) adalah f(.7) p 3 (.7) = ( ) + (.8 )(.8 ) + (.8)(.8)(.8) 6 (.493) (.4) = = Contoh 5.3 memperlihatkan bahwa penyelesaian dengan Newton-Gregory maju atau mundur menghasilkan jawaban yang sama. 5.7 Ekstrapolasi Pada awal bab sudah disinggung bahwa ekstrapolasi adalah penaksiran nilai f() untuk yang terletak di luar selang titik data. Dari pembahasan galat interpolasi sudah diketahui bahwa galat interpolasi semakin besar pada titik-titik yang jauh dari titik tengah selang. Dengan demikian, penaksiran nilai fungsi di luar selang menghasilkan galat ekstrapolasi yang sangat besar. Bab 5 Interpolasi Polinom 45
254 5.8 Interpolasi Dwimatra Adakalanya kita membutuhkan perkiraan nilai fungsi dengan dua peubah. Fungsi dengan dua peubah, dan y, secara umum dinyatakan sebagai z = f(, y) Grafik fungsi z adalah berupa permukaan (surface) atau selimut kurva dengan alasnya adalah bidang -y. Jadi, nilai-nilai z terletak pada permukaan tersebut. Jika z dinterpolasi dengan polinom dua-peubah (interpolasi dwimatra atau duadimensi), kita harus menentukan berapa derajat dalam arah- dan berapa derajat dalam arah-y. Misalnya z dihampiri dengan polinom dua-peubah, yang dalam hal ini derajat dalam arah- dan derajat 3 dalam arah-y: z = f(, y) a + a + a y + a 3 + a 4 y + a 5 y + a 6 y + a 7 y + a 8 y 3 + a 9 y 3 + a y + a y 3 (P.5.56) Interpolasi polinom dua-peubah dilakukan dalam dua arah: dalam arah dan dalam arah- y. Pada setiap arah, kita harus memilih peubah yang dipegang konstan. Dalam arah-y, nilai dipegang konstan, begitu juga dalam arah, nilai y dipegang konstan (pemilihan arah mana yang dikerjakan terlebih dahulu memberikan jawaban yang sama). Semua metode interpolasi yang telah dibahas sebelum ini dapat digunakan untuk menginterpolasi polinom dua-peubah. Contoh 5.4 [MAT9] Diberikan tabel f(,y) sebagai berikut: y Perkirakan nilai f(.6,.33) dengan polinom derajat dalam arah- dan derajat 3 dalam arah-y. Penyelesaian: Kita menggunakan polinom Netwon-Gregory maju untuk interpolasi dalam arah- dan dalam arah y, karena titik-titiknya berjarak sama. Karena dalam arah- menggunakan 46 Metode Numerik
255 interpolasi derajat, maka kita memilih tiga buah titik di tabel yaitu pada =.,.5, dan. karena =.6 terletak paling dekat dengan pertengahan selang [.,.]. Dalam arah-y, kita memilih empat buah titik (interpolasi derajat 3), yaitu pada y =.,.3,.4, dan.5 karena y =.33 terletak paling dekat dengan pertengahan selang [.,.5]. Dalam arah-y ( tetap): y z z z 3 z = = = Jarak antar titik dalam arah-y: h =. dan y y y = y + sh s = h =.33.. =.3 Polinom Newton-Gregory maju derajat tiga (dalam arah-y): s p 3 (y) f + f +! s ( s )! f + s ( s )( s ) 3! 3 f Untuk =. ; f(,.33) p 3 (,.33).3 (.3)(.3 ) (.3)(.3 )(.3 ) p 3 (,.33).64 + (.363) + (.7) + (.5) 6 =.8 Bab 5 Interpolasi Polinom 47
256 Untuk =.5 ; f(,.33) p 3 (,.33).3 (.3)(.3 ) (.3)(.3 )(.3 ) p 3 (,.33).99 + (.534) + (.3) + (.4) 6 =.688 Untuk =. ; f(,.33) p 3 (,.33).3 (.3)(.3 ) (.3)(.3 )(.3 ) p 3 (,.33) (.86) + (.3) + (.4) 6 =.645 Dalam arah- (y tetap): z z z y = Jarak antar titik dalam arah-: h =.5 dan = + sh s = h =.6..5 =. Polinom Newton-Gregory maju derajat dua (dalam arah-): s p 3 () f + f +! s ( s )! f. (.)(. ) f(.6,.33) p 3 (.6,.33).8 + (.57) + (.377) =.846 Jadi, f(.6,.33).846 (jika dibulatkan ke dalam 4 angka bena adalah.84). Tabel di atas diambil dari fungsi f(, y) = e sin y + y., yang mana nilai sejati f(.6,.33) =.835. Galat interpolasi adalah.6. Galat ini dapat dikurangi jika kita melakukan interpolasi derajat dalam arah-y karena y kecil dan interpolasi derajat 3 dalam arah-. 48 Metode Numerik
257 5.9 Contoh Soal Terapan Interpolasi Konsentrasi larutan oksigen jenuh dalam air sebagai fungsi suhu dan konsentrasi klorida diberikan dalam bentuk tabel berikut [CHA9]: Suhu, C Konsentrasi larutan Oksigen (mg/l) untuk berbagai konsentrasi klorida Klorida = mg/l Klorida = mg /L Dengan mengandaikan bahwa data pada tabel berketelitian cukup tinggi, pakailah metode interpolasi untuk menaksir konsentrasi oksigen yang larut untuk T =.4 o C pada konsentrasi klorida mg/l dan mg/l. Gunakan metode interpolasi Lagrange. Penyelesaian: Konsentrasi Klorida = mg/l T C(T) Bila digunakan keenam titik data itu, maka polinom interpolasinya adalah polinom Lagrange derajat lima. p 5 (.4) = (.6)L (.4) + (.3)L (.4) + (9.)L (.4) + (8.)L 3 (.4) + 7.4)L 4 (.4) + (6.8)L 5 (.4) = mg/l Bab 5 Interpolasi Polinom 49
258 Konsentrasi Klorida = mg/l T C(T) Polinom interpolasi Lagrange: p 5 (.4) = (.5)L (.4) + (9.)L (.4) + (8.)L (.4) + (7.4)L 3 (.4) + (6.7)L 4 (.4) + (6.)L 5 (.4) = mg/l 5. Regresi Bagian II: Regresi Pada bagian awal bab ini sudah dijelaskan bahwa regresi adalah teknik pencocokan kurva untuk data yang berketelitian rendah. Contoh data yang berketelitian rendah data hasil pengamatan, percobaan di laboratorium, atau data statistik. Data seperti itu kita sebut data hasil pengukuran. Galat yang dikandung data berasal dari ketidaktelitian alat ukur yang dipakai, kesalahan membaca alat ukur (paralaks), atau karena kelakuan sistem yang diukur. Untuk data hasil pengukuran, pencocokan kurva berarti membuat fungsi mengampiri (approimate) titik-titik data. Kurva fungsi hampiran tidak perlu melalui semua titik data tetapi dekat dengannya tanpa perlu menggunakan polinom berderajat tinggi. Sebagai contoh ilustrasi, diberikan data jarak tempuh (y) sebuah kendaraaan -dalam milsetelah bulan seperti pada tabel di bawah ini y Metode Numerik
259 Data di dalam tabel dicocokkan dengan polinom Lagrange (Gambar 5.9(a)), dan dengan fungsi hampiran lanjar (Gambar 5.9(b)). Perbandingan keduanya diperlihatkan pada Gambar 5.9(c). y 6. y = p 4 () y (a) (b) y y = p 4 () (c) Gambar 5.9 (a) Data dicocokan dengan polinom Lagrange derajat 4 (b) Data dicocokkan dengan garis lurus (c) Perbandingan kedua kurva Bab 5 Interpolasi Polinom 5
260 Dari kedua pencocokan tersebut, terlihat bahwa garis lurus memberikan hampiran yang bagus, tetapi belum tentu yang terbaik. Pengertian terbaik di sini bergantung pada cara kita mengukur galat hampiran. Prinsip penting yang harus diketahui dalam mencocokkan kurva untuk data hasil pengukuran adalah:. Fungsi mengandung sesedikit mungkin parameter bebas. Deviasi fungsi dengan titik data dibuat minimum. Kedua prinsip di atas mendasari metode regresi kuadrat terkecil. Perbedaan antara metode regresi kuadrat terkecil dengan metode interpolasi polinom adalah: Regresi kuadrat terkecil Interpolasi polinom. Data berasal dari hasil pengukuran. Data berasal dari fungsi yang ingin disederhanakan dengan polinom, dari tabel di literatur, atau dari hasil pengukuran.. Data berketelitian rendah (mengandung galat). Data berketelitian tinggi 3. Fungsi kuadrat terkecil tidak perlu melalui setiap titik data. Kurva fungsinya dirancang mengikuti pola titiktitik sebagai suatu kelompok. 3. Fungsi polinom interpolasi harus melalui semua titik data. Semakin banyak datanya, semakin tinggi derajat polinom, dan semakin besar galat pembulatannya 4. Data tidak harus terurut 4. Data harus terurut Manfaat pencocokan kurva untuk data hasil pengukuran:. Bagi ahli sains/rekayasa: mengembangkan formula empirik untuk sistem yang diteliti.. Bagi ahli ekonomi: menentukan kurva kecenderungan ekonomi untuk meramalkan kecenderungan masa depan. Teknik regresi yang dibahas di sini hanya regresi lanjar, yaitu pencocokan kurva untuk data yang memiliki hubungan lanjar antara peubah bebas dan peubah terikatnya. Selain regresi lanjar, ada teknik regresi lain, yaitu regresi polinom, regresi ganda, dan regresi nirlanjar. Mahasiswa dapat mempelajari ketiga teknik regresi yang disebutkan terakhir ini pada buku [CHA9]. 5 Metode Numerik
261 5.. Regresi Lanjar Misalkan ( i, y i ) adalah data hasil pengukuran. Kita akan menghampiri titik-titik tersebut dengan sebuah garis lurus (Gambar 5.). Garis lurus tersebut dibuat sedemikian sehingga galatnya sekecil mungkin dengan titik-titik data. Karena data mengandung galat, maka nilai data sebenarnya, g( i ), dapat ditulis sebagai g( i ) = y i + e i i =,,..., n (P.5.57) yang dalam hal ini, e i adalah galat setiap data. Diinginkan fungsi lanjar f() = a + b (P.5.58) yang mencocokkan data sedemikian sehingga deviasinya, r i = y i - f( i ) = y i - (a + b i ) (P.5.59) minimum. y ( n, y n ) ( i, y i ) ( n-, y n- ) (, y ) ( i, a + b i ) (, y ) Gambar 5. Regresi lanjar Total kuadrat deviasi persamaan (P.5.59) adalah n R = i= r i n = i= (y i - a - b i ) (P.5.6) Bab 5 Interpolasi Polinom 53
262 Agar R minimum, maka haruslah R = - (yi - a - b i ) = a (P.5.6) R = - i (y i - a - b i ) = b (P.5.6) Penyelesaian: Masing-masing ruas kedua persamaaan dibagi dengan -: (y i - a - b i ) = y i - a - b i = i (y i - a - b i ) = i y i - a i - b i = Selanjutnya, atau a + b i = y i a i + b i = i y i na + b i = y i (P.5.63) a i + b i = i y i (P.5.64) Kedua persamaan terakhir ini dinamakan persamaan normal, dan dapat dapat ditulis dalam bentuk persamaan matriks: n i i i a = b yi i y i Solusinya, a dan b, dapat diselesaikan dengan metode eliminasi Gauss atau aturan Cramer. Karena data mengandung galat, maka persamaan normal sering berkondisi buruk (ill-conditioning). Nilai a dan b juga dapat dicari dengan mengutakatik kedua buah persamaan normal menjadi: Untuk selanjutnya, notasi = n i ditulis saja. 54 Metode Numerik
263 b = n n y i i i y i ( i ) i (P.5.65) a = y - b (P.5.66) yang dalam hal ini, y dan masing-masing adalah nilai rata-rata dan y. Untuk menentukan seberapa bagus fungsi hampiran mencocokkan data, kita dapat mengukurnya dengan galat RMS (Root-mean-square error): n E ( ) RMS = f i yi (P.5.67) n i= Semakin kecil nilai E RMS semakin bagus fungsi hampiran mencocokkan titik-titik data. Contoh 5.5 [NAK93] Tentukan persamaan garis lurus yang mencocokkan data pada tabel di bawah ini. Kemudian, perkirakan nilai y untuk =.. Penyelesaian: i i y i i i y i i = 3.3 y i = 7.54 i =. i y i = Diperoleh sistem persamaan lanjar: a 7.54 = 3.3. b Solusi SPL di atas adalah: a =.86 b =.7645 Bab 5 Interpolasi Polinom 55
264 Persamaan garis regresinya adalah: f() = Perbandingan antara nilai y i dan f( i ): i i y i f( i ) = a+ b i deviasi (deviasi) =.8563 Taksiran nilai y untuk =. adalah y = f(.) = (.) =.57 Galat RMS adalah E RMS = / (.8563 ) = Pelanjaran Regresi lanjar hanya tepat bila data memiliki hubungan lanjar antara peubah bebas dan peubah terikatnya. Gambar 5. memperlihatkan bahwa garis lurus tidak tepat mewakili kecenderungan titi-titik data, dengan kata lain pada kasus ini hubungan dengan y tidak lanjar. Sebaliknya, fungsi kuadratik lebih tepat menghampiri titik-titik tersebut. Langkah pertama dalam analisis regresi seharusnya berupa penggambaran titik-titik data pada diagram kartesian dan secara visual memeriksa data untuk memastikan apakah berlaku suatu model lanjar atau model nirlanjar. Penggambaran titik-titik ini sekaligus juga sangat membantu dalam mengetahui fungsi yang tepat untuk mencocokkan data. 56 Metode Numerik
265 y y (a) (b) Gambar 5. (a) Data yang tidak cocok untuk regresi lanjar; (b) Petunjuk bahwa parabola lebih disenangi [CHA9] Meskipun fungsi hampiran berbentuk nirlanjar, namun pencocokan kurva dengan fungsi nirlanjar tersebut dapat juga diselesaikan dengan cara regresi lanjar. Misalnya tiga macam fungsi nirlanjar di bawah ini:. Persamaan pangkat sederhana y = C b, C dan b konstanta.. Model eksponensial y = Ce b, C dan b konstanta. Contoh: - model pertumbuhan populasi - model peluruhan zat radioaktif 3. Persamaan laju pertumbuhan jenuh (saturation growth-rate) y = C d +, C dan d konstanta. Contoh: model pertumbuhan bakteri kondisi pembatas (misalnya dibatasi oleh jumlah makanan) Sketsa kurva untuk ketiga macam fungsi nirlanjar di atas diperlihatkan pada Gambar 5. berikut ini. Bab 5 Interpolasi Polinom 57
266 y b y=c y b y =Ce y C y= d+ (a) (b) (c) Gambar 5. Sketsa kurva (a) y = C b (C>, b > ), (b) y = Ce b (C >, b > ), dan (c) y = C/(d + ) (C >, d > ) Pelanjaran Persamaan Pangkat Sederhana Misalkan kita akan mencocokkan data dengan fungsi y = C b (P.5.68) Lakukan pelanjaran sebagai berikut: Definisikan y = C b ln(y) = ln(c) + b ln() Y = ln(y) a = ln(c) X = ln() Persamaan regresi lanjarnya adalah: Y = a + bx Lakukan pengubahan dari ( i,y i ) menjadi (ln( i ), ln(y i )), lalu hitung a dan b dengan cara regresi lanjar. Dari persamaan a = ln(c), kita dapat menghitung nilai C = e a Sulihkan nilai b dan C ke dalam persamaan pangkat y = C b. 58 Metode Numerik
267 Contoh 5.6 Cocokkan data berikut dengan fungsi y = C b. Penyelesaian: i i y i X i = ln( i ) Y i = ln(y i ) X i X i Y i X i = Y i =.739 X i = 6.5 X i Y i = Diperoleh sistem persamaan lanjar a.739 = b Solusi SPL di atas: a =.855 dan b =.98. Hitung C = e a = e.855 = Jadi,titik-titik (, y) pada tabel di atas dihampiri dengan fungsi pangkat sederhana: y = Pelanjaran Model Eksponensial y = Ce b Misalkan kita akan mencocokkan data dengan fungsi y = Ce b (P.5.69) Lakukan pelanjaran sebagai berikut: y = Ce b ln(y) = ln(c) + b ln(e) ln(y) = ln(c) + b (ln(e) = ) Bab 5 Interpolasi Polinom 59
268 Definisikan Y = ln(y) a = ln(c) X = Persamaan regresi lanjarnya: Y = a + bx Lakukan pengubahan dari ( i, y i ) menjadi ( i, ln(y i )), lalu hitung a dan b dengan cara regresi lanjar. Dari persamaan a = ln(c), kita dapat menghitung nilai C = e a. Sulihkan nilai b dan C ke dalam persamaan eksponensial y = Ce b. C Pelanjaran Model Laju Pertumbuhan Jenuh y = d + Misalkan kita akan mencocokkan data dengan fungsi y = C d + (P.5.7) Lakukan pelanjaran sebagai berikut: y = C d + d = y C + C Definisikan Y = /y a = /C b = d/c X = / Persamaan regresi lanjarnya: Y = a + bx Lakukan pengubahan dari ( i,y i ) menjadi (/ i, /y i ), lalu hitung a dan b dengan cara regresi lanjar. 6 Metode Numerik
269 Dari persamaan a = /C, kita dapat menghitung nilai C = /a. Dari persamaan b = d/c, kita dapat menghitung d = bc. Sulihkan d dan C ke dalam persamaan laju pertumbuhan jenuh y = C/(d+). Tabel berikut merangkum beberapa fungsi dan pelanjarannya [MAT9]: Fungsi y = f() y = C b y = Ce b Bentuk lanjar y = a + bx ln(y) = ln(c) + b ln() ln(y) = ln(c) + b Perubahan peubah dan kontanta Y = ln(y), X = ln(), C = e a Y = ln(y), X =, C = e a y = C d + d = y C + C Y = /y, X = / C = /a, d = bc b y = a + D y = + C y = a + b D y = + ( y ) C C Y = y, X = / Y = y, X = y, C =, D = b ba y = a + b = a + bx y Y =, X = y y = ( a + b) y = Ce D / y = a + bx y ln( ) = ln( C) + ( D) / Y = y, X = y Y = ln( ), X = a C = e, D = b Bab 5 Interpolasi Polinom 6
270 5. Contoh Penerapan Regresi dalam Bidang Rekayasa Di bawah ini disajikan contoh penerapan regresi dalam bidang teknik kimia. Contoh ini dikutip dari buku [CHA9] dengan beberapa perubahan. Model Populasi Model pertumbuhan populasi, misalnya populasi bakteri, adalah penting dalam bidang rekayasa. Yang merupakan dasar terhadap banyak model tersebut adalah andaian bahwa laju perubahan populasi (dp/dt) adalah sebanding dengan populasi sebenarnya (p) pada sembarang waktu (t), atau dalam bentuk persamaan dp = kp (P.5.7) dt yang dalam hal ini, k adalah kesebandingan yang disebut laju pertumbuhan yang spesifik dan mempunyai satuan waktu -. Jika k adalah tetapan, maka penyelesaian persamaan (P.5.7) adalah p(t) = p e kt (P.5.7) yang dalam hal ini, p adalah populasi pada saat t =. Terlihat bahwa p(t) dalam persamaan (P.5.7) mendekati tak hingga begitu t menjadi besar. Perilaku ini jelas tidak mungkin untuk sistem yang nyata. Karena itu modelnya harus diubah untuk membuatnya lebih nyata. Pertama, harus diketahui bahwa laju pertumbuhan yang khusus k tidak dapat berupa tetapan begitu populasi menjadi besar. Ini adalah kasusnya, karena begitu p mendekati tak hingga, organisme yang sedang dimodelkan akan menjadi dibatasi oleh faktor-faktor kekurangan makanan dan produksi sampah beracun. Satu cara untuk mengungkapkan ini secara matematis adalah memakai model laju pertumbuhan jenuh sedemikian sehingga k k = maks f K + f (P.5.73) dalam hal ini, k maks adalah laju pertumbuhan yang dapat tercapai untuk nilai makanan besar (f) dan K adalah konstanta setengah jenuh. Gambar 5. memperlihatkan bahwa pada saat f = K, maka k = k maks /. Oleh karena itu, K adalah banyaknya makanan yang menunjang laju pertumbuhan populasi yang sama dengan setengah laju maksimum. 6 Metode Numerik
271 Laju pertumbuhan spesifik, k k maks / k maks K Ketersediaan makanan, f Gambar 5. Laju pertumbuhan populasi terhadap ketersediaan makanan Konstanta K dan k maks adalah nilai-nilai empiris yang didasarkan pada pengukuran k secara eksponensial untuk beragam nilai f. Sebagai contoh, andaikan populasi p menyatakan ragi yang digunakan dalam proses fermentasi alkohol dan f adalah konsentrasi sumber karbon yang harus difermentasikan. Pengukuran k terhadap f untuk ragi diperlihatkan pada tabel berikut: f, mg/liter k, hari Tabel Pengukuran k terhadap jumlah ketersediaan makakan Anda diminta menghitung k maks dan K untuk data empirik ini. Mula-mula lakukan pelanjaran terhadap persamaan (P.5.73) menjadi Y = a + bx (P.5.74) Bab 5 Interpolasi Polinom 63
272 Transformasikan data dalam bentuk lanjar yang ekivalen itu, lalu hitung A dan B menggunakan metode regresi lanjar. Selanjutnya anda dapat menghitung nilai k maks dan K. Dengan menyulihkan persamaan (P.5.73) kedalam persamaan (P.5.7) diperoleh dp k maks fp = (P.5.75) dt K + f yang dalam hal ini, k maks dan K adalah besaran yang telah ditemukan. Persamaan (P.5.75) ini selanjutnya dapat diselesaikan dengan menggunakan teori diferensial atau menggunakan metode numerik untuk persamaan diferensial biasa (PDB) bila f pada saat t diketahui Dari persamaan (P.5.75) terlihat bahwa jika f mendekati nol karena p sangat besar, dp/dt mendekati nol dan populasi dikatakan stabil. Penyelesaian: Tinjau pencocokan kurva untuk fungsi laju pertumbuhan jenuh saja: k maks f k = ( K + f ) Lakukan pelanjaran: K + f = k k f maks = k maks + K k maks f Persamaan regresi lanjarnya adalah dengan Y = a + bx Y = /k a = /k maks b = K/k maks X = /f 64 Metode Numerik
273 Lakukan transformasi dari (f i, k i ) menjadi (/f i, /k i ): X i = /f i X i Y i = /k i X i Y i = n = X i = /f i = Y i = /k i = X i = X i Y i = Diperoleh sistem persamaan lanjar: A = B Solusi SPL tersebut adalah a = b = Dari persamaan laju pertumbuhan jenuh: diperoleh: k = (k maks f)/(k + f) k maks = /a = K = b k maks = Bab 5 Interpolasi Polinom 65
274 Jadi, k =.38485f f Jika kita mengerjakan apa yang bisa kita kerjakan, maka Tuhan mengerjakan apa yang tidak bisa kita kerjakan. (Majalah Intisari) Soal Latihan. Diberikan pasangan nilai dan f(), f() tidak diketahui, sebagai berikut : f() (a) Berapa derajat polinom yang dengan tepat melalui ketujuh titik data tersebut? (b) Berapa derajat polinom yang terbaik untuk menginterpolasi ketujuh titik data tersebut? (c) Dengan derajat terbaik yang anda nyatakan dalam jawaban (b), tentukan nilai fungsi di =.58 dengan polinom interpolasi : (ii) Lagrange (iii) Newton (iv) Newton-Gregory Maju (v) Newton-Gregory Mundur Pilihlah titik-titik yang meminimumkan galat interpolasi. (d) Hitung taksiran galat dalam menghitung f(.8) dengan polinom (ii), (iii), (iv). (e) Dengan teknik interpolasi balikan, tentukan nilai sehingga f() =.. (a) Perlihatkan untuk interpolasi kubik bahwa : E 3 () = f() - p 3 () h 4 /7 ma f (4) (c), c 3 66 Metode Numerik
275 yang dalam hal ini p 3 () adalah polinom interpolasi derajat 3 yang menginterpolasi =, = h, = h, dan 3 = 3h. (b) Tentukan h (jarak antar titik) untuk titik-titik yang berjarak sama dari fungsi f() = antara = sampai = sehingga interpolasi polinom kubik dalam daftar nilai itu mempunyai galat kurang dari.. Berapa jumlah titik data dengan h sebesar itu? 3. Dengan menggunakan jumlah angka bena yang ditentukan, buatlah tabel selisih maju untuk fungsi f() = pada (i) selang [.,.6], h =., banyak angka bena = 5 (ii) selang [.,.3], h =., banyak angka bena = 6 Untuk masing-masing (i) dan (ii), dengan polinom derajat berapakah f() diinterpolasi secara teliti? 4. Tabel tan(), dalam radian, mempunyai h =.. Dekat = π/, fungsi tangen naik sangat cepat dan disini interpolasi lanjar tidak sangat teliti. Dengan polinom derajat berapa yang dibutuhkan untuk menginterpolasi =.56 (4 angka bena)? 5. Tentukan polinom yang menghampiri f() = / dalam selang [., 4.], ambil h =.5, lima angka bena. 6. Apakah interpolasi Newton-Gregory mundur dapat ditulis dengan menggunakan tabel selisih maju? Jika dapat jelaskan bagaimana caranya. 7. Uraikan cara memperoleh rumus polinom Newton-Gregory Mundur! 8. Misalkan f adalah fungsi yang menerus dan dapat di-diferensialkan dalam [-h, h], dan f i = f(ih). Dengan bantuan deret Taylor, tentukan tetapan a dan b yang meminimumkan galat interpolasi berikut : f / a(f + f ) + b(f - + f ) Perlihatkan bahwa galatnya kira-kira αf / (4), dengan α bernilai tetap. Tentukan nilai α itu Bab 5 Interpolasi Polinom 67
276 9. Fungsi f() = e + + tampaknya rumit dan sukar di-integralkan secara analitik dalam selang [,.9]. Cara yang mudah adalah dengan menghampiri f() dengan polinom interpolasi, misalnya dengan polinom derajat tiga (p 3 ()), yang dalam hal ini jarak antar titik adalah h = (.9 - )/3 =.3. Selanjutnya. 9. f ( ) d 9 p ( d 3 ) Hitunglah integral f() di dalam selang [,.9] dengan cara tersebut. Polinom interpolasi yang digunakan terserah anda.. Diberikan titik-titik yang absisnya berjarak sama (h), yaitu (,f(h)), (h,f(h)), (h,f(h)), dan (3h,f(3h)). Untuk = 3h/3, perlihatkan bahwa nilai interpolasinya dengan polinom Lagrange derajat tiga adalah p 3 (3h/) = -.65 { f() + f(3h) } { f(h) + f(h) }. Tentukan fungsi lanjar yang mencocokkan titik-titik data berikut dengan metode regresi: y Diberikan titik-titik (, y) sebagai berikut: y (a) Cocokan titik-titik di tabel masing-masing dengan fungsi f() = Ce b dan f() = C b (b) Hitung deviasi = y i - f( i ), kemudian tentukan galat RMS nya. Berdasarkan galat RMS, fungsi hampiran mana yang terbaik? 68 Metode Numerik
277 Bab 6 Integrasi Numerik Pelajarilah jagad raya ini. Jangan kecewa karena dunia tidak mengenal anda, tetapi kecewalah karena anda tidak mengenal dunia. (Kong Fu Tse - filusuf China) Di dalam kalkulus, integral adalah satu dari dua pokok bahasan yang mendasar disamping turunan (derivative). Dalam kuliah kalkulus integral, anda telah diajarkan cara memperoleh solusi analitik (dan eksak) dari integral Tak-tentu maupun integral Tentu. Integral Tak-tentu dinyatakan sebagai f ( ) d = F() + C (P.6.) Solusinya, F(), adalah fungsi menerus sedemikian sehingga F'() = f(), dan C adalah sebuah konstanta. Integral Tentu menangani perhitungan integral di antara batas-batas yang telah ditentukan, yang dinyatakan sebagai I = b a f ( ) d (P.6.) Menurut teorema dasar kalkulus integral, persamaan (P.6.) dihitung sebagai b a f ( ) d = F() b a = F(b) - F(a) Secara geometri, integrasi Tentu sama dengan luas daerah yang dibatasi oleh kurva y = f(), garis = a dan garis = b (Gambar 6.). Daerah yang dimaksud ditunjukkan oleh bagian yang diarsir. Bab 6 Integrasi Numerik 69
278 y y = f() a b Gambar 6. Tafsiran geometri integral Tentu Fungsi-fungsi yang dapat diintegrasikan dapat dikelompokkan sebagai. Fungsi menerus yang sederhana, seperti polinomial, eksponensial, atau fungsi trigonometri. Misalnya, 3 ( 6 + cos( ) e ) d Fungsi sederhana seperti ini mudah dihitung integralnya secara eksak dengan menggunakan metode analitik. Metode-metode analitik untuk menghitung integral fungsi yang demikian sudah tersedia, yaitu a n d = e a d = a n+ /(n+) + C e a /a+ C sin(a+b) d = -/a cos(a+b) + C cos(a+b) d = /a sin(a+b) + C d/ = ln + C ln d = ln - + C. Fungsi menerus yang rumit, misalnya + cos +.5sin 3 ( + ).5 e d 7 Metode Numerik
279 Fungsi yang rumit seperti ini jelas sulit, bahkan tidak mungkin, diselesaikan dengan metode-metode integrasi yang sederhana. Karena itu, solusinya hanya dapat dihitung dengan metode numerik. 3. Fungsi yang ditabulasikan, yang dalam hal ini nilai dan f() diberikan dalam sejumlah titik diskrit. Fungsi seperti ini sering dijumpai pada data hasil eksperimen di laboratorium atau berupa data pengamatan di lapangan. Pada kasus terakhir ini, umumnya fungsi f() tidak diketahui secara eksplisit. Yang dapat diukur hanyalah besaran fisisnya saja. Misalnya, f() Integrasi fungsi seperti ini jelas harus didikerjakan secara numerik. 6. Terapan Integral dalam Bidang Sains dan Rekayasa Integral mempunyai banyak terapan dalam bidang sains dan rekayasa. Dalam praktek rekayasa, seringkali fungsi yang diintegrasikan (integrand) adalah fungsi empirik yang diberikan dalam bentuk tabel, atau integrand-nya tidak dalam bentuk fungsi elementer (seperti sinh, fungsi Gamma Γ(α), dsb), atau fungsi eksplisit f yang terlalu rumit untuk diintegralkan [KRE88]. Oleh sebab itu, metode numerik dapat digunakan untuk menghampiri integrasi. Di bawah ini diberikan beberapa contoh persoalan dalam bidang sains dan rekayasa.. Dalam bidang fisika, integral digunakan untuk menghitung persamaan kecepatan. Misalkan kecepatan sebuah partikel merupakan fungsi waktu menerus yang diketahui terhadap waktu, v(t). Jarak total d yang ditempuh oleh partikel ini selama waktu t diberikan oleh: d = t v( t) dt Bab 6 Integrasi Numerik 7
280 . Dalam bidang teknik elektro/kelistrikan, telah diketahui bahwa harga rata-rata suatu arus listrik yang berosilasi sepanjang satu periode boleh nol. Disamping kenyataan bahwa hasil netto adalah nol, arus tersebut mampu menimbulkan kerja dan menghasilkan panas. Karena itu para rekayasawan listrik sering mencirikan arus yang demikian dengan persamaan I RMS T ( t) i = T dt yang dalam hal ini I RMS adalah arus RMS (root-mean-square), T adalah periode, dan i(t) adalah arus pada rangkaian, misalnya i(t) = 5e -t sin πt untuk t T/ = untuk T/ t T 3. Contoh fungsi dalam bentuk tabel adalah pengukuran fluks panas matahari yang diberikan oleh tabel berikut: Waktu, jam Fluks panas q, kalori/cm/jam Data yang ditabulasikan pada tabel ini memberikan pengukuran fluks panas q setiap jam pada permukaan sebuah kolektor sinar matahari. Diminta 7 Metode Numerik
281 memperkiraan panas total yang diserap oleh panel kolektor seluas 5. cm selama waktu 4 jam. Panel mempunyai kemangkusan penyerapan (absorption), e ab, sebesar 45%. Panas total yang diserap diberikan oleh persamaan H = e ab t qadt Demikianlah beberapa contoh terapan integral dalam bidang sains dan rekayasa. Umumnya fungsi yang diintegralkan bentuknya rumit sehingga sukar diselesaikan secara analitik. Karena itu, perhitungan integral secara numerik lebih banyak dipraktekkan oleh para insinyur. 6. Persoalan Integrasi Numerik Persoalan integrasi numerik ialah menghitung secara numerik integral Tentu I = b a f ( ) d yang dalam hal ini a dan b batas-batas integrasi, f adalah fungsi yang dapat diberikan secara eksplisit dalam bentuk persamaan ataupun secara empirik dalam bentuk tabel nilai. Terdapat tiga pendekatan dalam menurunkan rumus integrasi numerik. Pendekatan pertama adalah berdasarkan tafsiran geometri integral Tentu. Daerah integrasi dibagi atas sejumlah pias (strip) yang berbentuk segiempat. Luas daerah integrasi dihampiri dengan luas seluruh pias. Rumus, dalam bab ini disebut kaidah, integrasi numerik yang diturunkan dengan pendekatan ini digolongkan ke dalam metode pias. Pendekatan kedua adalah berdasarkan polinom interpolasi. Di sini fungsi integrand f() dihampiri dengan polinom interpolasi p n (). Selanjutnya, integrasi dilakukan terhadap p n () karena polinom lebih mudah diintegralkan ketimbang mengintegralkan f(). Rumus integrasi numerik yang diturunkan dengan pendekatan ini digolongkan ke dalam metode Newton-Cotes, yaitu metode yang umum untuk menurunkan rumus integarsi numerik.. Pendekatan ketiga sama sekali tidak menggunakan titik-titik diskrit sebagaimana pada kedua pendekatan di atas. Nilai integral diperoleh dengan mengevaluasi nilai fungsi pada sejumlah titik tertentu di dalam selang [-, ], mengalikannya Bab 6 Integrasi Numerik 73
282 dengan suatu konstanta, kemudian menjumlahkan keseluruhan perhitungan. Pendekatan ketiga ini dinamakan Kuadratur Gauss, yang akan dibahas pada bagian akhir bab ini. 6.3 Metode Pias Pada umumnya, metode perhitungan integral secara numerik bekerja dengan sejumlah titik diskrit. Karena data yang ditabulasikan sudah berbentuk demikian, maka secara alami ia sesuai dengan kebanyakan metode integrasi numerik. Untuk fungsi menerus, titik-titik diskrit itu diperoleh dengan menggunakan persamaan fungsi yang diberikan untuk menghasilkan tabel nilai. Dihubungkan dengan tafsiran geometri inttegral Tentu, titik-titik pada tabel sama dengan membagi selang integrasi [a, b] menjadi n buah pias (strip) atau segmen (Gambar 6.). Lebar tiap pias adalah h = b a n (P.6.3) Titik absis pias dinyatakan sebagai r = a + rh, r =,,,..., n (P.6.4) dan nilai fungsi pada titik absis pias adalah f r = f( r ) (P.6.5) Luas daerah integrasi [a, b] dihampiri sebagai luas n buah pias. Metode integrasi numerik yang berbasis pias ini disebut metode pias. Ada juga buku yang menyebutnya metode kuadratur, karena pias berbentuk segiempat. r r f r f f f 3 3 f f n- n- f n- n- n- f n- n n f n y f f n n- f f f h h h a = n- n =b y =f() Gambar 6. Metode pias 74 Metode Numerik
283 Kaidah integrasi numerik yang dapat diturunkan dengan metode pias adalah:. Kaidah segiempat (rectangle rule). Kaidah trapesium (trapezoidal rule) 3. Kaidah titik tengah (midpoint rule) Dua kaidah pertama pada hakekatnya sama, hanya cara penurunan rumusnya yang berbeda, sedangkan kaidah yang ketiga, kaidah titik tengah, merupakan bentuk kompromi untuk memperoleh nilai hampiran yang lebih baik Kaidah Segiempat Pandang sebuah pias berbentuk empat persegi panjang dari = sampai = berikut (Gambar 6.3). y y = f() h Gambar 6.3 Kaidah segiempat Luas satu pias adalah (tinggi pias = f( ) ) f ( ) d h f( ) (P.6.6) atau (tinggi pias = f( ) ) f ( ) d h f( ) (P.6.7) Bab 6 Integrasi Numerik 75
284 Jadi, f ( ) d hf ( ) f ( ) d hf( ) + f ( ) d h [ f( ) + f( )] Bagi setiap ruas persamaan hasil penjumlahan di atas dengan, untuk menghasilkan h f ( ) d [f( ) + f( )] (P.6.8) Persamaan (P.6.8) ini dinamakan kaidah segiempat. Kaidah segiempat untuk satu pias dapat kita perluas untuk menghitung I = b a f ( ) d yang dalam hal ini, I sama dengan luas daerah integrasi dalam selang [a, b]. Luas daerah tersebut diperoleh dengan membagi selang [a, b] menjadi n buah pias segiempat dengan lebar h, yaitu pias dengan absis [, ], [, ], [, 3 ],..., dan pias [ n-, n ]. Jumlah luas seluruh pias segiempat itu adalah hampiran luas I (Gambar 6.4). Kaidah integrasi yang diperoleh adalah kaidah segiempat gabungan (composite rectangle's rule): b a f ( ) d hf ( ) + hf ( ) + hf ( ) hf ( n- ) b a f ( ) d hf ( ) + hf ( ) + hf ( 3 ) hf ( n ) + b a f ( ) d hf( ) + hf ( ) + hf( ) hf( n- ) + hf( n ) 76 Metode Numerik
285 Bagi setiap ruas persamaan hasil penjumlahan di atas dengan, untuk menghasilkan b a f ( ) d h h f ( ) + hf( ) + hf( ) hf( n- ) + f (n ) Jadi, kaidah segiempat gabungan adalah b a f ( ) d n h h ( f + f + f f n- + f n ) = (f + i= f i + f n ) (P.6.9) dengan f r = f( r ), r =,,,..., n. y y = f()... a = 3... n- n- n = b Gambar 6.4 Kaidah segiempat gabungan 6.3. Kaidah Trapesium Pandang sebuah pias berbentuk trapesium dari = sampai = berikut (Gambar 6.5): Luas satu trapesium adalah h f ( ) d [ f( ) + f( )] (P.6.) Bab 6 Integrasi Numerik 77
286 Persamaan (P.6.) ini dikenal dengan nama kaidah trapesium. Catatlah bahwa kaidah trapesium sama dengan kaidah segiempat. y h Gambar 6.5 Kaidah trapesium Bila selang [a, b] dibagi atas n buah pias trapesium, kaidah integrasi yang diperoleh adalah kaidah trapesium gabungan (composite trapezoidal's rule): b a f ( ) d f ( ) d + f ( ) d n n f ( ) d h [ f( ) + f( )] + h [ f( )+ f( )] h [ f(n- ) + f( n )] h [ f( ) + f( ) + f( ) f( n- ) + f( n )] n h ( f + i= f + f n ) (P.6.) dengan f r = f( r ), r =,,,..., n. 78 Metode Numerik
287 Program 6. Kaidah Trapesium procedure trapesium(a, b : real; n: integer; var I : real); { Menghitung integrasi f() di dalam selang [a, b] dan jumlas pias adalah n dengan menggunakan kaidah trapesium. K.Awal : nilai a, b, dan n sudah terdefinisi K.Akhir: I adalah hampiran integrasi yang dihitung dengan kaidah segi-empat. } var h,, sigma: real; r : integer; begin h:=(b-a)/n; {lebar pias} :=a; {awal selang integrasi} I:=f(a) + f(b); sigma:=; for r:= to n- do begin :=+h; sigma:=sigma + *f(); end; I:=(I+sigma)*h/; { nilai integrasi numerik} end; Kaidah Titik Tengah Pandang sebuah pias berbentuk empat persegi panjang dari = sampai = dan titik tengah absis = + h/ (Gambar 6.6). Luas satu pias adalah f ( ) d h f( + h/) h f( / ) P.6.) Persamaan (P.6.) ini dikenal dengan nama kaidah titik-tengah. Bab 6 Integrasi Numerik 79
288 y y = f() h +h/ Gambar 6.6 Kaidah titik tengah Kaidah titik-tengah gabungan adalah (Gambar 6.7): b a f ( ) d f ( ) d + f ( ) d n n f ( ) d hf( / ) + hf( 3/ ) + hf( 5/ ) + hf( 7/ ) hf( n-/ ) h(f / + f 3/ f n-/ ) h i= n f i+/ P.6.3) yang dalam hal ini, dan r+/ = a + (r+/)h) f r +/ = f( r+/ ) r =,,,..,n- 8 Metode Numerik
289 y y = f()... a b / 3/ 5/... n-3/ n-/ Gambar 6.7 Kaidah titik-tengah gabungan Program 6. KaidahTitik-tengah procedure titik_tengah(a, b : real; n: integer; var I : real); { menghitung integrasi f() dalam selang [a, b] dengan jumlah pias sebanyak n. K.Awal : harga a, b, dan n sudah terdefinisi K.Akhir: I adalah hampiran integrasi yang dihitung dengan kaidah titik-tengah } var h,, sigma : real; r : integer; begin h:=(b-a)/n; {lebar pias} := a+h/; {titik tengah pertama} sigma:=f(); for r:= to n- do begin :=+h; sigma:=sigma + f() end; I:=sigma*h; { nilai integrasi numerik} end; Bab 6 Integrasi Numerik 8
290 6.3.4 Galat Metode Pias Sekarang akan kita hitung berapa besar galat hasil integrasi untuk masing-masing metode. Misalkan dan I adalah nilai integrasi sejati I ' adalah integrasi secara numerik maka galat hasil integrasi numerik didefenisikan sebagai E = I I ' (P.6.4) Untuk penurunan galat, kita tinjau galat integrasi di dalam selang [, h], I = h f ( ) d (P.6.5) y galat y = f() h h Gambar 6.8 Galat kaidah trapesium (bagian yang diarsir) Untuk setiap kaidah akan kita turunkan galatnya berikut ini. 8 Metode Numerik
291 Galat Kaidah Trapesium Galat untuk satu buah pias (Gambar 6.8) adalah E = h h f ( ) d - ( f + f ) Uraikan f() ke dalam deret Taylor di sekitar = f() = f + f ' + f " f "' +... Uraikan f = f( ) = f(h) ke dalam deret Taylor di sekitar = f = f( ) = f(h) = f + hf ' + h f " +... Maka, E = h [ f + f ' + f " f "' +... ]d - h h f - [ f + hf ' + h f " +...] = f + / f ' + /6 3 f "'+..] h - / hf - /h f - / h f ' - /4 h 3 f "' -... = (hf o + / h f ' + /6 h 3 f " +...) - (hf + / h f ' + /4 h 3 f "'+...) = - h 3 f " h 3 f "(t), < t < h (P.6.6) O(h 3 ) Jadi, h h f ( ) d ( f + f ) + O(h 3 ) (P.6.7) Bab 6 Integrasi Numerik 83
292 Persamaan (P.6.7) ini menyatakan bahwa galat kaidah trapesium sebanding dengan h 3. Pernyataan ini dibuat dengan andaian bahwa f() menerus dalam selang [, h]. Jika tidak, maka galat tidak sebanding dengan h 3 [NAK93]. Untuk n buah pias, galat keseluruhan (total) adalah 3 h E tot - ( f " + f " + f " f " n- ) yang dapat disederhanakan dengan teorema nilai antara untuk penjumlahan menjadi 3 h E tot - n i= f i " 3 h - n f "(t), a < t < b (P.6.8) Mengingat h = b a n maka 3 h E tot -n f "(t) - n b a n 3 h f "(t) 3 h - (b - a) f "(t) (P.6.9) O(h ) Dengan demikian, b a n h f ( ) d = ( f + i= f i + f n ) + O(h ) (P.6.) Jadi, galat total integrasi dengan kaidah trapesium sebanding dengan kuadrat lebar pias (h). Semakin kecil ukuran ukuran h, semakin kecil pula galatnya, namun semakin banyak jumlah komputasinya. 84 Metode Numerik
293 Contoh [GER85] Hitung integral 4 e d dengan kaidah trapesium. Ambil h =.. Perkirakan juga batas- batas galatnya. Gunakan 5 angka bena. Penyelesaian:.8 Fungsi integrand-nya adalah f() = e Jumlah pias adalah n = (b-a)/h = ( )/. = 8 Tabel data diskritnya adalah sebagai berikut: r r f( r ) r r f( r ) Nilai integrasinya, e d h (f + f + f f 6 + f 7 + f 8 ). [[6.5 + (7.389) + (9.5) (6.445) + (.86) + (4.533) ] Nilai integrasi sejatinya adalah e d = e =.8 = 3. 4 = e e.8 = = 3.94 Galat kaidah trapesium: E = - h (b - a) f "(t),.8 < t < 3.4 Bab 6 Integrasi Numerik 85
294 Karena f() = e, f '() = e, dan f "() = e maka E = -. ( ) e,.8 < t < 3.4 Karena fungsi f() = e menaik secara monoton di dalam selang [.8, 3.4], maka kita dapat menentukan batas-batas galatnya: atau E = - (.) e ( ) e -.33 < E < Di sini nilai sejati I harus terletak di antara ( min) =.33( min) ( ma) =.598( ma) = dan = 3.96 (nilai integrasi sejatinya adalah 3.94, yang memang terletak di antara dan 3.96) 3. Galat hasil integrasi 4 e d adalah = -.8 yang memang terletak di antara galat minimum dan galat maksimum Galat Kaidah Titik Tengah Galat untuk satu buah pias adalah E = h f ( ) d - hf / Dengan cara penurunan yang sama seperti pada kaidah trapesium, dapat dibuktikan bahwa 3 h E f "(t), < t < h (P.6.) 4 Galat untuk seluruh pias adalah 3 h E tot n 4 f "(t), a < t < b 86 Metode Numerik
295 h 4 ( b - a) f "(t) (P.6.) = O(h ) Dapat dilihat bahwa galat integrasi dengan kaidah titik tengah sama dengan / kali galat pada kaidah trapesium namun berbeda tanda. Dengan kata lain, kaidah titik tengah lebih baik daripada kaidah trapesium. Sayangnya, kaidah titik-tengah tidak dapat diterapkan jika fungsi f() tidak diketahui secara eksplisit (hanya tersedia data berupa tabel titik-titik saja) sebab kita tidak dapat menghitung nilai tengah, f r+/. 6.4 Metode Newton-Cotes Metode Newton-Cotes adalah metode yang umum untuk menurunkan kaidah integrasi numerik. Polinom interpolasi menjadi dasar metode Newton-Cotes. Gagasannya adalah menghampiri fungsi f() dengan polinom interpolasi p n () I = b a f ( ) d b a p ( ) d (P.6.) n yang dalam hal ini, p n () = a + a + a a n- n- + a n n Mengapa polinom interpolasi? Karena suku-suku polinom mudah diintegralkan dengan rumus integral yang sudah baku, yaitu a n a d = n + n+ + C Sembarang polinom interpolasi yang telah kita bahas di dalam Bab 5 dapat digunakan sebagai hampiran fungsi, tetapi di dalam bab ini polinom interpolasi yang kita pakai adalah polinom Newton-Gregory maju: p n () = f + ( - ) f! h + ( - )( - ) f! h + + n n ( - )( - )...( - n- ) f n! h Bab 6 Integrasi Numerik 87
296 Dari beberapa kaidah integrasi numerik yang diturunkan dari metode Newton-Cotes, tiga di antaranya yang terkenal adalah:. Kaidah trapesium (Trapezoidal rule). Kaidah Simpson /3 (Simpson's /3 rule) 3. Kaidah Simpson 3/8 (Simpson's 3/8 rule) Sebagai catatan, kaidah trapesium sudah kita turunkan dengan metode pias. Metode Newton-Cotes memberikan pendekatan lain penurunan kaidah trapesium Kaidah Trapesium Diberikan dua buah titik data (, f()) dan (h, f(h)). Polinom interpolasi yang melalui kedua buah titik itu adalah sebuah garis lurus. Luas daerah yang dihitung sebagai hampiran nilai integrasi adalah daerah di bawah garis lurus tersebut (Gambar 6.9). y y = p () y = f() = = h Gambar 6.9 Kaidah trapesium Polinom interpolasi Newton-Gregory derajat yang melalui kedua buah titik itu adalah p () = f( ) + f ( ) h f = f + h 88 Metode Numerik
297 Integrasikan p () di dalam selang [,]: I h f ( ) d h p ( d ) h ( f + f h ) d f + h = h f = hf + h f hf + h ( f - f ), sebab f = f -f h f + h f h ( f + f ) Jadi, kaidah trapesium adalah h h f ( ) d ( f + f ) (P.6.3) Galat kaidah trapesium sudah kita turunkan sebelumnya pada metode pias, yaitu E = - h 3 f "(t) = O(h 3 ), < t < h Jadi, h h f ( ) d ( f + f ) + O(h 3 ) (P.6.4) Bab 6 Integrasi Numerik 89
298 Kaidah trapesium untuk integrasi dalam selang [, h] kita perluas untuk menghitung I = b a f ( ) d yang dalam hal ini, I sama dengan luas daerah integrasi di dalam selang [a, b]. Luas daerah tersebut diperoleh dengan membagi selang [a, b] menjadi n buah upaselang (subinterval) dengan lebar tiap upaselang h, yaitu [, ], [, ], [, 3 ],..., [ n-, n ]. Titik-titik ujung tiap upaselang diinterpolasi dengan polinom derajat. Jadi, di dalam selang [a, b] terdapat n buah polinom derajat satu yang terpotong-potong (piecewise). Integrasi masing-masing polinom itu menghasilkan n buah kaidah trapesium yang disebut kaidah trapesium gabungan. Luas daerah integrasi di dalam selang [a, b] adalah jumlah seluruh luas trapesium, yaitu f ( ) d f ( ) d + f ( ) d n f ( ) d b a n h ( f + f ) + h ( f + f ) h ( fn- + f n ) h ( f + f + f f n- + f n ) n h ( f + f i + i= dengan f r = f( r ), r =,,,..., n. f n ) (P.6.5) Galat total kaidah trapesium gabungan sudah kita turunkan pada metode pias, yaitu h E tot - ( b - a) f "(t) = O(h ), < t < n Dengan demikian, b a f ) d ( = h ( f + n i= f i + f n ) + O(h ) (P.6.6) Jadi, galat integrasi dengan kaidah trapesium sebanding dengan h. 9 Metode Numerik
299 6.4. Kaidah Simpson /3 Hampiran nilai integrasi yang lebih baik dapat ditingkatkan dengan mengunakan polinom interpolasi berderajat yang lebih tinggi. Misalkan fungsi f() dihampiri dengan polinom interpolasi derajat yang grafiknya berbentuk parabola. Luas daerah yang dihitung sebagai hampiran nilai integrasi adalah daerah di bawah parabola (Gambar 6.). Untuk itu, dibutuhkan 3 buah titik data, misalkan (, f()), (h, f(h)), dan (h, f(h)). y y = p () y = f() = = h = h Gambar 6. Kaidah Simpson /3 Polinom interpolasi Newton-Gregory derajat yang melalui ketiga buah titik tersebut adalah p () = f( ) + h f( ) + ( h)! h Integrasikan p () di dalam selang [, h]: f( ) = f + f + ( h)! h f I h f ( ) d h p ( d h f + ( f + h f + ) f + ( h ( h)! h 3 6h - f ) d ) = h f 4h = Bab 6 Integrasi Numerik 9
300 hf + 4h 8h f + ( h 6h 3-4h ) f 4h hf + h f + ( 3 4h - h) f hf + h f + 3 h f Mengingat dan f = f - f f = f - f = ( f - f ) - ( f - f ) = f -f + f maka, selanjutnya I hf + h ( f - f ) + 3 h ( f - f + f ) hf + hf - hf + 3 h f - 3 h f + 3 h f h 4h h f + f + f h ( f + 4f + f ) 3 (P.6.7) Persaman (P.6.7) ini dinamakan kaidah Simpson /3. Sebutan "/3" muncul karena di dalam persamaan (P.6.6) terdapat faktor "/3" (sekaligus untuk membedakannya dengan kaidah Smpson yang lain, yaitu Simpson 3/8). Misalkan kurva fungsi sepanjang selang integrasi [a, b] kita bagi menjadi n+ buah titik diskrit,,,, n, dengan n genap, dan setiap tiga buah titik (atau pasang upaselang) di kurva dihampiri dengan parabola (polinom interpolasi derajat ), maka kita akan mempunyai n/ buah potongan parabola. Bila masingmasing polinom derajat tersebut kita integralkan di dalam upaselang (subinterval) integrasinya, maka jumlah seluruh integral tersebut membentuk kaidah Simpson /3 gabungan: I tot = b a f ( ) d f ( ) d + 4 f ( ) d f ( ) d n n 9 Metode Numerik
301 3 h ( f + 4f + f ) + 3 h ( f + 4f 3 + f 4 ) h ( fn- + 4f n- + f n ) 3 h ( f + 4f + f + 4f 3 + f f n- + 4f n- + f n ) n h ( f i i=,3,5 n f + i i=,4,6 f + f n ) (P.6.8) Persamaan (P.6.8) ini mudah dihafalkan dengan mengingat pola koefisien sukusukunya:, 4,, 4,,...,, 4, Namun penggunaan kaidah /3 Simpson mensyaratkan jumlah upaselang (n) harus genap, ini berbeda dengan kaidah trapesium yang tidak mempunyai persyaratan mengenai jumlah selang. Program 6.3 Kaidah Simpson /3 procedure Simpson_sepertiga(a, b : real; n: integer; var I : real); { menghitung integrasi f() dalam selang [a, b] dengan jumlah pias sebanyak n (n harus genap} K.Awal : harga a, b, dan n sudah terdefinisi (n harus genap) K.Akhir: I adalah hampiran integrasi yang dihitung dengan kaidah Simpson /3 } var h,, sigma : real; r : integer; begin h:=(b-a)/n; {jarak antar titik } :=a; {awal selang integrasi} I:=f(a) + f(b); sigma:=; for r:= to n- do begin :=+h; if r mod = then { r =, 3, 5,..., n- } sigma:=sigma + 4*f() else { r =, 4, 6,..., n- } sigma:=sigma + *f(); end; I:=(I+sigma)*h/3; { nilai integrasi numerik} end; Bab 6 Integrasi Numerik 93
302 Contoh 6. Hitung integral d + [NOB7] dengan menggunakan (a) kaidah trapesium (b) kaidah titik-tengah (c) kaidah Simpson /3 Gunakan jarak antar titik h =.5. Penyelesaian: Jumlah upaselang: n = ( - )/.5 = 8 Tabel titik-titik di dalam selang [,]: Tabel titik-titik di dalams elang [, ]: (untuk kaidah trapesium dan Simpson /3) (untuk kaidah titik-tengah) r r f r r r f r / / / / / / / / (a) dengan kaidah trapesium d + h/ ( f + f + f + f 3 + f 4 + f 5 + f 6 + f 7 + f 8 ).5/ [ + (.88889) + (.8) ).694 (b) dengan kaidah titik-tengah d + h ( f / + f 3/ + f 5/ + f 7/ + f 9/ + f / + f 3/ + f 5/ ).5 (5.548) 94 Metode Numerik
303 (c) dengan kaidah /3 Simpson d + h/3 ( f + 4f + f + 4f 3 + f 4 + 4f 5 + f 6 + 4f 7 + f 8 ).5/3 ( ).6935 Bandingkan solusi (a), (b), dan (c) dengan solusi sejatinya: d = ln(+) + = = ln() - ln() = = yang apabila dibulatkan ke dalam 5 angka bena, f( ) =.6935, hasilnya tepat sama dengan nilai integrasi yang dihitung dengan kaidah Simpson /3. Jadi, kaidah Simpson/3 memang unggul dalam hal ketelitian hasil dibandingkan dua kaidah sebelumnya. Galat Kaidah Simpson /3 Galat kaidah Simpson /3 untuk dua pasang upaselang adalah E = h h f ( ) d - ( f + 4f +f ) (P.6.9) 3 Uraikan f(), f, dan f masing-masing ke dalam deret Taylor di sekitar = : f() = f + f ' + f = f(h) = f + hf ' + f " + h f = f(h) = f + h f ' h f " h 4 f "' + 4 f " + 4 h f "' h 6 f (iv) +... f (iv) h f "'+ 4 4 f (iv) +... (P.6.3) (P.6.3) (P.6.3) Sulihkan persamaan (P.6.3), (P.6.3), (P.6.3) ke dalam persamaan (P.6.9): E = h ( f + f ' + 3 f " f "' + 4 f (iv) +...) d Bab 6 Integrasi Numerik 95
304 - h [ ( f + 4f + 4hf ' (f + hf ' + 4 h f " h 6 4 h f " + f "' h 6 6h 4 4 f "' f (iv) +...) ] h (iv) f +...) 4 = (f + f ' f " f "' + f (iv) +...) = h = - h (6f + 6hf ' + 4h f " + h 3 f "' + 3 h 4 4 f (iv) +...) = (hf + h f ' + = - (hf + h f ' + 3h 5 f (iv) = ( h 3 h f " + 4 h f " + 3 f (iv) +... ) h 5 f o (iv) +... h 3h f "' h f "' + 3 f (iv) +...) h 5 IV f +...) 7 = - 9 = O(h 5 ) h 5 f (iv) (P.6.33) Jadi, kaidah Simpson /3 untuk sepasang upaselang ditambah dengan galatnya dapat dinyatakan sebagai h h f ( ) d = ( f + 4f + f ) + O(h 5 ) 3 Galat untuk n/ pasang upaselang adalah E tot = - 9 h 5 ( f (iv) + f (iv) + f 4 (iv) f n- (iv) ) = - 9 h 5 n (iv) f i i=,,... 5 h = - 9. n. f (iv) (t), a < t < b 4 h = - (b - a) f (iv) (t), karena n = (b - a)/h (P.6.34) 8 = O(h 4 ) 96 Metode Numerik
305 Jadi, kaidah Simpson /3 gabungan ditambah dengan galatnya dapat dinyatakan sebagai, b a n h f ( ) d ( f i i=,3,5 n f + i i=,4,6 f + f n ) + O(h 4 ) dengan kata lain, kaidah Simpson /3 gabungan berorde 4. Dibandingkan dengan kaidah trapesium gabungan, hasil integrasi dengan kaidah Simpson gabungan jauh lebih baik, karena orde galatnya lebih tinggi. Tapi ada kelemahannya, yaitu kaidah Simpson /3 tidak dapat diterapkan bila jumlah upaselang (n) ganjil. Contoh 6.3 Hitunglah ep( ) d dengan menggunakan kaidah Simpson /3 dan jumlah upaselang yang digunakan adalah n =, lalu taksirlah batas-batas galatnya. Penyelesaian: h = ( - )/ =. Tabel titik-titik di dalam selang [, ] dengan h =.: r r f r Nilai integasi f() di dalam selang [, ] adalah: Bab 6 Integrasi Numerik 97
306 I = ep( ) d h/3 ( f + 4f + f + 4f 3 + f 4 + 4f 5 + f 6 + 4f 7 + f 8 + 4f 9 + f ). ( ) Taksiran galatnya: f (4) () = 4( )ep(- ) Nilai minimum f (4) () adalah pada =.5 +.5, dengan f (4) ( ) = , sedangkan nilai maksimum f (4) () adalah pada =, dengan f (4) () =, maka batas-batas galatnya adalah 4 h E tot = - (b - a) f (iv) (t) 8 = - ( ) 4. ( - ) ( min) ( maks) = =.4.6 Jadi, galat integrasinya, E tot, terletak di dalam selang -.4 < E tot <.6 Di sini nilai sejati I harus terletak di antara =.7468 dan = atau.7468 < I < Kaidah Simpson 3/8 Seperti halnya pada kaidah Simpson /3, hampiran nilai integrasi yang lebih teliti dapat ditingkatkan terus dengan mengunakan polinom interpolasi berderajat lebih tinggi pula. Misalkan sekarang fungsi f() kita hampiri dengan polinom interpolasi derajat 3. Luas daerah yang dihitung sebagai hampiran nilai integrasi adalah daerah di bawah kurva polinom derajat 3 tersebut parabola (Gambar 6.). Untuk membentuk polinom interpolasi derajat 3, dibutuhkan 4 buah titik data, misalkan titik-titk tersebut (, f()), (h, f(h)), (h, f(h)), dan (3h, f(3h)). 98 Metode Numerik
307 y y = p 3 () y = f() = = h = h = 3h Gambar 6. Kaidah Simpson 3/8 Polinom interpolasi Newton-Gregory derajat 3 yang melalui keempat buah titik itu adalah p 3 () = f( ) + h f( ) + = f + h f + ( h)! h ( h)! h f + Integrasi p 3 () di dalam selang [,3h] adalah 3 I h 3 f ( ) d h p ( d 3 ) f( ) + ( h)( h) 3! h ( h)( h) 3! h f( ) 3 f( ) (P.6.35) 3 h [ f + h f + ( h)! h f + ( h)( h) 3! h 3 3 f( ) ] d Dengan cara penurunan yang sama seperti pada kaidah Simpson /3, diperoleh 3 h 3h f ( ) d ( f + 3f + 3f + f 3 ) 8 (P.6.36) yang merupakan kaidah Simpson 3/8. Bab 6 Integrasi Numerik 99
308 Galat kaidah Simpson 3/8 adalah E h 5 f (iv) (t), < t < 3h (P.6.37) Jadi, kaidah Simpson 3/8 ditambah dengan galatnya deapat dinyatakan sebagai 3 h 3h f ( ) d ( f + 3f + 3f + f 3 ) + O(h 5 ) 8 Sedangkan kaidah Simpson 3/8 gabungan adalah b a 3h f ( ) d ( f + 3f + 3f + f 3 + 3f 4 + 3f 5 + f 6 + 3f 7 + 3f 8 + f f n f n- + 3 f n- + f n ) 3h ( f n i i= i 3,6,9,... f + n 3 i i= 3,6,9,... f + f n ) (P.6.38) Persamaan (P.6.38) ini mudah dhafalkan dengan mengingat pola suku-sukunya:, 3, 3,, 3, 3,, 3, 3,,...,, 3, 3, Namun penggunaan kaidah Simpson 3/8 mensyaratkan jumlah upaselang (n) harus kelipatan tiga. Galat kaidah 3/8 Simpson gabungan adalah n / 3 E tot i= ( 3h 5 ) 8 f (iv) 3h (t) n 3 i= f (iv) (t) 3h - 5 n.. f (iv) (t) h ( b a) h f (iv) (t) 3 Metode Numerik
309 ( b a ) - h 8 4 f (iv) (t), a < t < b (P.6.39) = O(h 4 ) Jadi, kaidah Simpson 3/8 ditambah dengan galatnya dapat dinyatakan sebagai b a 3h f ( ) d ( f n i i= i 3,6,9,... f + n 3 i i= 3,6,9,... f + f n ) + O(h 4 ) Kaidah Simpson 3/8 memiliki orde galat yang sama dengan orde galat kaidah Simpson /3. Namun dalam praktek, kaidah Simpson /3 biasanya lebih disukai daripada kaidah Simpson 3/8, karena dengan tiga titik (Simpson /3) sudah diperoleh orde ketelitian yang sama dengan 4 titik (Simpson 3/8). Tetapi, untuk n kelipatan tiga, kita hanya dapat menggunakan kaidah Simpson 3/8, dan bukan Simpson /3. Program 6.4 Kaidah Simpson 3/8 procedure Simpson_3per8(a, b : real; n: integer; var I : real); { menghitung integrasi f()dalam selang [a,b]dengan jumlah upa-selang sebanyak n (n harus kelipatan tiga} } K.Awal : harga a, b, dan n sudah terdefinisi, n kelipatan 3 K.Akhir: I adalah hampiran integrasi yang dihitung dengan kaidah 3/8 Simpson } var h,, sigma : real; r : integer; begin h:=(b-a)/n; {jarak antar titik } :=a; {awal selang integrasi} I:=f(a) + f(b); sigma:=; for r:= to n- do begin :=+h; if r mod 3 = then { r = 3, 6, 9,..., n-3 } sigma:=sigma + *f() else { r 3, 6, 9,..., n- } sigma:=sigma + 3*f(); end; I:=(I+sigma)*3*h/8; { nilai integrasi numerik} end; Bab 6 Integrasi Numerik 3
310 6.4.4 Metode Integrasi Numerik Untuk h yang Berbeda-beda Misalkan jarak antara titik-titik data dalam selang [a, b] tidak seragam. Beberapa titik data mempunyai jarak h, beberapa titik data lain h, sedangkan sisanya berjarak h 3. Integrasi numerik dalam selang [a, b] dilakukan dengan mengkombinasikan kaidah integrasi yang sudah ada, misalnya kombinasi kaidah trapesium, kaidah /3 Simpson, dan kaidah 3/8 Simpson. Berdasarkan orde galatnya, kaidah /3 Simpson dan 3/8 Simpson lebih teliti daripada kaidah trapesium. Karena itu, kaidah /3 Simpson diterapkan bila jumlah upaselang yang bertetangga genap, sedangkan kaidah 3/8 Simpson diterapkan bila jumlah upaselang yang bertetangga ganjil dan kelipatan tiga. Sisanya dihitung dengan kaidah trapesium. Jadi, tata-ancangnya dapat diringkas sebagai berikut : (a) untuk sejumlah upaselang berturutan yang berjarak sama adalah genap, gunakan kaidah /3 Simpson (b) untuk sejumlah upaselang berturutan yang berjarak sama adalah kelipatan tiga, gunakan kaidah 3/8 Simpson (c) untuk sejuumlah upaselang yang tidak berjarak sama dengan tetangganya, gunakan kaidah trapesium Contohnya dapat dilihat pada Gambar 6.. Empat buah upaselang pertama berjarak sama, lebih baik menggunakan kaidah Simpson /3 (karena jumlah upaselang genap). Tiga buah upaselang berikutnya berjarak sama, lebih baik menggunakan kaidah Simpson 3/8 (karena jumlah upaselang kelipatan 3). Dua buah upaselang berikutnya masing-masing berbeda lebarnya, maka setiap upaselang dihitung integrasinya dengan kaidah trapesium. y y = f() h h h h h 3 h h h h } kaidah Simpson 3/8} trap kaidah Simpson /3 trap Gambar 6. Kaidah /3 Simpson gabungan 3 Metode Numerik
311 6.4.5 Bentuk Umum Metode Newton-Cotes Kaidah trapesium, kaidah Simpson /3, dan kaidah Simpson 3/8 adalah tiga buah metode integrasi numerik pertama dari metode Newton-Cotes. Masing-masingnya menghampiri fungsi f() dengan polinom interpolasi derajat (lanjar), derajat (kuadratik), dan derajat 3 (kubik). Kita dapat menemukan kaidah-kaidah lainnya dengan menggunakan polinom interpolasi derajat 4, 5, 6, dan seterusnya. Bentuk umum metode Newton-Cotes dapat ditulis sebagai b a f ( ) d = α h[w f + w f + w f w n f N ] + E (P.6.4) dalam hal ini f r = f( r ), r = a + rh, dan h = (b - a)/n, E menyatakan galat, sedangkan α dan w i adalah konstanta riil seperti yang didaftarkan pada tabel berikut ini : n α w i, i =,,..., n E Nama / -/ h 3 f " Trapesium /3 4 -/9 h 5 f ( 4) /3 Simpson 3 3/ /8 h 5 f (4) 3/8 Simpson 4 / /945 h 7 f (6) Boole 5 5/ /96 h 7 f (4) 6 / /4 h 9 f (8) 7 7/ / / / /584 h 9 f (8) -368/ h f () -73/46 h f () / h 3 f () Dari tabel di atas nilai-nilai w akan semakin besar dengan membesarnya n. Dari teori galat sudah diketahui bahwa pengurangan bilangan yang besar dengan bilangan yang kecil di dalam komputer dapat menyebabkan galat pembulatan. Karena alasan itu, maka metode-metode Newton-Cotes orde tinggi kurang disukai. Alasan lainnya, Bab 6 Integrasi Numerik 33
312 orde metode menyatakan ketelitian hanya jika ranah integrasi [a, b] cukup kecil sehingga turunan fungsi hampir tetap di dalam ranah nilai tersebut. Sebagai implikasinya, metode Newton-Cotes orde tinggi tidak lebih teliti daripada metode orde rendah bila turunannya berubah secara signifikan di dalam ranah tersebut. Sebagai contoh adalah perhitungan integrasi L = π [(+ cos ) + 4sin ] d =... Hasil perhitungan L dengan metode Newton-Cotes orde n = sampai orde n = adalah: n =, L = 8.83 n = 7 L = 8. n = 3, L = 8.83 n = 8 L = 8. n = 4, L = n = 9 L = 8.97 n = 5, L = n = L = 7.99 n = 6, L = 8. Nilai integrasi sejati L = 8. Hasil di atas menggambarkan hasil integrasi yang nilainya semakin tidak bagus dengan semakin tingginya orde metode Newton-Cotes (n). Dari n = sampai n = 8, nilai L mendekati hasil sejati, 8.. Setelah n = 8, galatnya meningkat. Peningkatan galat disebabkan oleh galat penambahan dan pengurangan bilanganbilangan yang sangat besar di dalam metodenya [NAK9] 6.5 Singularitas Kita akan kesulitan melakukan menghitung integrasi numerik apabila fungsi tidak terdefenisi di = t, dalam hal ini a < t < b. Misalnya dalam menghitung integrasi I = cos( ) d fungsi f() = cos / jelas tidak terdefinisi di = (ujung bawah selang). Begitu juga apabila perhitungan integrasi I =.5 d 34 Metode Numerik
313 menggunakan h =., titik diskrit di = tidak dapat dihitung sebab fungsi f() = /(-) tidak terdefinisi di =. Fungsi yang tidak terdefinisi di = t, untuk a t b, dinamakan fungsi singular. Singularitas juga muncul pada fungsi yang turunannya tidak terdefinisi di = t, untuk a t b. Misalnya hasil perhitungan integrasi memperlihatkan hasil yang menyimpang meskipun fungsi f() = sendiri terdefinisi untuk semua = t, untuk a t b. Penyimpangan ini dapat dijelaskan sebagai berikut. Misalkan integral dihitung dengan kaidah trapesium. Tinjau kembali galat total pada kaidah trapesium: 3 h E tot - ( f " + f " + + f " n- ) - 3 h n i= f " i 3 h - b a f ( ) d 3 h - [ f '(b) - f ' (a)] (P.6.4) Persamaan (P.6.4) menyiratkan bahwa galat integrasi b a f ( ) d akan besar apabila f '(a) atau f '(b) tidak ada. Singularitas harus dihilangkan dengan cara memanipulasi persamaan fungsi sedemikian sehingga ia tidak singular lagi. Contoh 6.4 Ubahlah fungsi integrasi I = cos( ) d sehingga menjadi tidak singular lagi. Bab 6 Integrasi Numerik 35
314 Penyelesaian: Fungsi f() = cos()/ tidak terdefenisi di =. Misalkan = u d = u du Batas-batas selang integrasi juga berubah maka = u = = = u = = I = cos( ) d cos( u ) = (u) du u I = cos(u ) du tidak singular lagi Contoh 6.5 Ubahlah fungsi integrasi I = d sehingga menjadi tidak singular lagi Penyelesaian: Fungsi f() = singular sebab turunannya f '() = tidak terdefinisi di = Misalkan = u² d = u du 36 Metode Numerik
315 Batas-batas selang integrasi juga berubah maka = u = = = u = = I = d = u du tidak singular lagi Contoh 6.6 Ubahlah fungsi integrasi berikut sehingga menjadi tidak singular: I = d 3 ( sin)( ) Penyelesaian: Fungsi f() = / (sin )( - 3 ) tidak terdefenisi di = dan = Pecah integral I menjadi dua bagian, I dan I : I = d 3 ( sin)( ) = a d 3 ( sin )( ) + a d 3 ( sin )( ) I, singular di = I, singular = Misalkan dengan < a < = u d = u du Batas-batas integrasi Maka, = a u = a = u = I = a u du 6 ( sinu )( u ) = a u / u 6 ( sinu )( u ) u du Bab 6 Integrasi Numerik 37
316 Mengingat lim sin( u u u ) = maka I = a 6 ( u ) du tidak singular lagi I = a 3 ( sin )( ) tidak dapat diterapkan pemisalan = u² Uraikan ( 3 ) menjadi ( )( + + ): I = d + a ( sin)( )( + ) Misalkan - = u - d = u du Batas-batas integrasi : = u = (- ) = = a u = (- a) I = a u du [ ( )] sin u u + ( u ) + ( u ) = a u du 4 [ sin ( u )] ( 3-3u u ) = a du 4 [ sin ( u )] ( 3-3u u ) tidak singular lagi Cara lain penanganan singularitas dapat dilihat di [NAK93] halaman Metode Numerik
317 6.6 Penggunaan Ekstrapolasi untuk Integrasi Misalkan I(h) adalah perkiraan nilai integrasi dengan jarak antara titik data adalah h (h < ). Dari persaman galat kaidah integrasi (trapesium, Simpson /3, dll) yang dinyatakan dalam notasi orde: E = O(h p ) dapat dilihat bahwa galat E semakin kecil bila digunakan h yang semakin kecil, seperti yang ditunjukkan oleh diagram garis berikut: arah h... h/8 h/4 h/ h Nilai sejati integrasi adalah bila h =, tetapi pemilihan h = tidak mungkin kita lakukan di dalam rumus integrasi numerik sebab ia akan membuat nilai integrasi sama dengan. Yang dapat kita peroleh adalah perkiraan nilai integrasi yang lebih baik dengan melakukan ekstrapolasi ke h =. Ada dua macam metode ekstrapolasi yang digunakan untuk integrasi:. Ekstrapolasi Richardson. Ekstrapoalsi Aitken 6.6. Ekstrapolasi Richardson Pandang kembali kaidah trapesium b a h f ( ) d = ( f + n i= f i b a f " t h + f n ) - ( ) ( ) yang dapat ditulis sebagai b a f ( ) d = I (h) + Ch dengan I(h) adalah integrasi dengan menggunakan kaidah trapesium dengan jarak antar titik selebar h dan C = ( b a ) f " ( t ). Bab 6 Integrasi Numerik 39
318 Secara umum, kaidah integrasi yang lain dapat kita ditulis sebagai b a f ( ) d = I (h) + Ch q (P.6.4) dengan C dan q adalah konstanta yang tidak bergantung pada h. Nilai q dapat ditentukan langsung dari orde galat kaidah integrasi, misalnya kaidah trapesium, O(h ) q = kaidah titik-tengah, O(h ) q = kaidah /3 Simpson, O(h 4 ) q = 4 Tujuan ekstrapolasi Richardson ialah menghitung nilai integrasi yang lebih baik (improve) dibandingkan dengan I. Misalkan J adalah nilai integrasi yang lebih baik daripada I dengan jarak antar titik adalah h: J = I(h) + Ch q (P.6.43) Ekstrapolasikan h menjadi h, lalu hitung integrasi numeriknya J = I (h) + C(h) q (P.6.44) Eliminasikan C dari kedua persamaan dengan menyamakan persamaan (P.6.43) dan persamaan (P.6.44): I(h) + Ch q = I (h) + C(h) q sehingga diperoleh C = I ( h) I( h) ( ) q h q (P.6.45) Sulihkan (P.6.45) ke dalam (P.6.43) untuk memperoleh: J = I(h) + I ( h) I( h) q (P.6.46) yang merupakan persamaan ekstrapolasi Ricahrdson. Ekstrapolasi Richardson dapat kita artikan sebagai berikut: Mula-mula hitunglah nilai integrasi dengan kaidah yang sudah baku dengan jarak antar titik selebar h untuk mendapatkan I(h), kemudian hitung kembali nilai integrasi dengan jarak antar titik selebar h untuk memperoleh I(h). Akhirnya, hitung nilai integrasi yang lebih baik dengan menggunakan persamaan (P.6.46). 3 Metode Numerik
319 Perhatikanlah bahwa jika pernyataan di atas dibalik, kita telah melakukan ekstrapolasi menuju h =, yaitu kita hitung I(h) lalu hitung I(h). Urutan pengerjaan (I(h) atau I(h) lebih dulu) tidak mempengaruhi solusi akhirnya. Sebagai contoh, bila I(h) dan I(h) dihitung dengan kaidah trapesium (q = ), maka ekstrapolasi Richardson-nya adalah J = I(h) + 3 [ I(h) - I(h) ] (P6.47) dan bila I(h) dan I(h) dihitung dengan kaidah /3 Simpson (q = 4), maka ekstrapolasi Richardson-nya adalah J = I(h) + 5 [ I(h) - I(h) ] (P.6.48) Perhatikanlah bahwa suku /3 [ I(h) - I(h) ] pada persamaan (P.6.47) dan suku /5 [I(h) - I(h)] pada persaman (P.6.48) merupakan faktor koreksi. Artinya, nilai taksiran integrasi I(h) dapat ditingkatkan menjadi nilai yang lebih baik dengan menambahkan faktor koreksi tersebut. Contoh 6.7 Hitung kembali integral d + dengan menggunakan ekstrapolasi Richardson, yang dalam hal ini I(h) dan I(h) dihitung dengan kaidah trapesium dan h =.5. Penyelesaian: Jumlah upaselang: n = ( - )/.5 = 8 Tabel titik-titik di dalam selang [,] dengan h =.5: r r f r Bab 6 Integrasi Numerik 3
320 I(h) adalah nilai integrasi dengan kaidah trapesium menggunakan h =.5: I(h) = d h/ ( f + f + f + f 3 + f 4 + f 5 + f 6 + f 7 + f 8 ) +.5/ [ + (.88889) + (.8) ).694 I(h) adalah nilai integrasi dengan kaidah trapesium menggunakan h =.5: I(h) = d + (h)/ ( f + f + f 4 + f 6 + f 8 ).5/ [ + (.8) + (.66667) + (.5743) +.5).697 Nilai integrasi yang lebih baik, J, diperoleh dengan ekstrpolasi Richardson: J = I(h) + I ( h) I( h) q yang dalam hal ini, q =, karena I(h) dan I(h) dihitung dengan kaidah trapesium (yang mempunyai orde galat = ) J = =.6935 Jadi, taksiran nilai integrasi yang lebih baik adalah Bandingkan dengan nilai integrasi sejatinya: d = ln(+) + = = ln() - ln() = = yang apabila dibulatkan ke dalam 5 angka bena, f( ) =.6935, hasilnya tepat sama dengan nilai integrasi yang dihitung dengan ekstrapolasi Richardson. 3 Metode Numerik
321 Contoh 6.8 Perlihatkan bahwa bila I(h) dan I(h) dihitung dengan kaidah trapesium, maka persamaan ekstrapolasi Richardson menyatakan kaidah Simpson /3. Penyelesaian: Kaidah /3 Simpson untuk sepasang upaselang adalah (lihat Gambar 6.) adalah I = h f ( ) d I(h) dan I(h) adalah perkiraan hasil integrasi dengan kaidah trapesium menggunakan pias masing-masing selebar h dan h: I(h) = h / ( f + f ) + h / ( f + f ) = h / ( f + f + f ) I(h) = (h) / ( f + f ) = h( f + f ) Ekstrapolasi Richardson-nya (q = ): J = I(h) + 3 [ I(h) - I(h) ] = h / (f + f + f ) + / 3 ( h / (f + f + f ) - h(f + f ) ) = h / (f + f + f ) + h / 6 (f + f + f ) - h / 3 (f + f ) = h / f + hf + h / f + h / 6 f + h / 3 f + h / 6 f - h / 3 f - h / 3 f = h / f + h / 6 f - h / 3 f + hf + h / 3 f + h / f + h / 6 f - h / 3 f = h / 3 f + 4h / 3 f + h / 3 f = h / 3 (f + 4f + f ) yang merupakan kaidah Simpson /3. Jadi, berdasarkan definisi ekstrapolasi Richardson, kaidah Simpson /3 adalah perkiraan integrasi yang lebih baik daripada kaidah trapesium. Contoh ini bersesuaian dengan jawaban Contoh 6.7, sebab nilai integrasi dengan ekstrapoalsi Richardson sama dengan nilai integrasi yang diperoleh dengan kaidah Simpson /3 (lihat jawabannya pada Contoh 6.). Persamaan ekstrapolasi Richardson memenuhi semua kaidah integrasi yang dirurunkan dengan metode pias maupun metode Newton-Cotes. Kita pun dapat menurunkan kaidah integrasi numerik yang baru dengan menerapkan ekstrapolasi Richardson. Misalkan bila I(h) dan I(h) dihitung dengan kaidah Simpson /3, maka ekstrapolasi Richardson menyatakan kaidah Boole (buktikan!): 4 J = h h f ( ) d = ( 7f + 3f + f + 3f 3 + 7f 4 ) 45 Bab 6 Integrasi Numerik 33
322 yang berarti kaidah Boole merupakan taksiran integrasi yang lebih baik daripada kaidah Simpson /3. Bila ekstrapolasi Richardson diterapkan secara terus menerus, akan diperoleh nilai integrasi yang semakin lama semakin baik (galatnya semakin kecil). Metode penerapan ekstrapolasi Richardson seperti ini dinamakan metode Romberg Metode Romberg Metode integrasi Romberg didasarkan pada perluasan ekstrapolasi Richardson untuk memperoleh nilai integrasi yang semakin baik. Sebagai catatan, setiap penerapan ekstrapolasi Richardson akan menaikkan order galat pada hasil solusinya sebesar dua: O( h N ) O(h N+ ) Misalnya,bila I(h) dan I(h) dihitung dengan kaidah trapesium yang berorde galat O(h ), maka ekstrapolasi Richardson menghaslkan kaidah Simpson /3 yang berorde O(h 4 ). Selanjutnya, bila I(h) dan I(h) dihitung dengan kaidah Simpson /3, ekstrapolasi Richardson menghaslkan kaidah Boole yang berorde O(h 6 ). Tinjaau kembali persamaan ekstrapolasi Richardson: J = I(h) + I ( h) I( h) q Misalkan I adalah nilai integrasi sejati yang dinyatakan sebagai I = A k + Ch + Dh 4 + Eh yang dalam hal ini h = (b - a)/n dan A k = Perkiraan nilai integrasi dengan kaidah trapesium dan jumlah pias n = k Orde galat A k adalah O(h ). 34 Metode Numerik
323 Sebagai contoh, selang [a, b] dibagi menjadi 64 buah pias atau upaselang: n = 64 = 6 k = 6 (,,, 3, 4, 5, 6) k = (artinya n = = pias, h = (b-a)/) A = h / [ f + f 64 ] k = (artinya n = = pias, h = (b-a)/) A = h / [ f + f 3 + f 64 ] k = (artinya n = = 4 pias, h = (b-a)/4) A = h / [ f + f 6 + f 3 + f 48 + f 64 ] k = 3 (artinya n = 3 = 8 pias, h 3 = (b-a)/8) A = h 3 / [ f + f 8 + f 6 + f 4 + f 3 + f 4 + f 48 + f 56 + f 64 ]... k = 6 (artinya n = 6 = 64 pias, h 6 = (b-a)/64) A 6 = h 6 / [ f + f + f f 63 + f 64 ] Arti dari setiap A k adalah sebagi berikut: A adalah taksiran nilai integrasi b I = f ( ) d dengan menggunakan kaidah trapesium dengan pembagian daerah integrasi menjadi n = = buah pias; A adalah taksiran nilai integrasi b a I = f ( ) d dengan menggunakan kaidah trapesium dengan pembagian daerah integrasi menjadi n = = buah pias; A adalah taksiran nilai integrasi a b I = f ( ) d dengan menggunakan kaidah trapesium dengan pembagian daerah integrasi menjadi n = = 4 buah pias; A 6 adalah taksiran nilai integrasi a b I = f ( ) d dengan menggunakan kaidah trapesium dengan pembagian daerah integrasi menjadi n = 6 = 64 buah pias; a Tiga A k yang pertama dilukiskan oleh Gambar 6.3. Bab 6 Integrasi Numerik 35
324 y y = f() y = f() y = f() y y h h h h h h h a b a b a b A A A Gambar 6.3 Luas daerah A, A, A,..., dengan jumlah upaselang masing-masing n =, n =, n = 4,... Gunakan A, A,...A k pada persamaan ekstrapolasi Richardson untuk mendapatkan runtunan B, B,...,B k, yaitu B k = A k + A k A k Jadi, nilai I (yang lebih baik) sekarang adalah I = B k + D'h 4 + E'h 6 + dengan orde galat B k adalah O(h 4 ). Selanjutnya, gunakan B, B,.., B k pada persamaan ekstrapolasi Richardson untuk mendapatkan runtunan C, C 3,..., C k, yaitu C k = B k + B k B k 4 Jadi, nilai I (yang lebih baik) sekarang adalah I = C k + E " h dengan orde galat C k adalah O(h 6 ). Selanjutnya, gunakan C, C 3,..., C k pada persamaan ekstrapolasi Richardson untuk mendapatkan runtunan D3, D4,..., D k, yaitu D k = C k + C k C k 6 Jadi, nilai I (yang lebih baik) sekarang adalah I = D k + E "' h dengan orde galat D k adalah O(h 8 ). Demikian seterusnya. Dari runtunan tersebut, diperoleh tabel yang dinamakan tabel Romberg seperti berikut ini: 36 Metode Numerik
325 O(h ) O(h 4 ) O(h 6 ) O(h 8 ) O(h ) O(h ) O(h 4 ) A A B A B C A 3 B 3 C 3 D 3 A 4 B 4 C 4 D 4 E 4 A 5 B 5 C 5 D 5 E 5 F 5 A 6 B 6 C 6 D 6 E 6 F 6 G 6 Nilai integrasi yang lebih baik Contoh 6.9 Hitung integral d + dengan metode Romberg (n = 8). Gunakan 5 angka bena. Penyelesaian: Jarak antar titik: h = ( - )/8 =.5 Tabel titik-titik di dalam selang [,] dengan h =.5: r r f r Bab 6 Integrasi Numerik 37
326 A = h / [ f + f 8 ] = / ( +.5) =.75 A = h / [ f + f 4 + f 8 ] =.5/[ + (.66667) +.5] =.7833 A = h / [ f + f + f 4 + f 6 + f 8 ] =.5/[ + (.8) + (.66667) + (.5743) +.5] =.697 A 3 = h 3 / [ f + f + f + f 3 + f 4 + f 5 + f 6 + f 7 + f 8 ] =.5/[ + (.88889) + (.8) + + (.53333) +.5] =.694 A A B = A + = (A k berorde, jadi q = ) A A B = A + =.6935 A A B 3 = A3 + =.6935 B B C = B + =.6937 (B 4 k berorde 4, jadi q = 4) B3 B C 3 = B3 + = C3 C3 D 3 = C3 + =.6934 (C 6 k berorde 6, jadi q = 6) Tabel Romberg: k O(h ) O(h 4 ) O(h 6 ) O(h 8 ) Jadi, d (Bandingkan dengan solusi sejatie d = ) + 38 Metode Numerik
327 6.6.3 Ekstrapolasi Aitken Kita telah membahas ekstrapolasi Richardson yang dapat diringkas sebagai berikut: Jika I = b a f ( ) d I(h) + Ch q yang dalam hal ini, maka h = lebar tiap upaselang atau pias (atau jarak antar titik) C dan q adalah konstanta dengan q diketahui (C dapat dieliminir) I(h) adalah hampiran nilai nilai I Ch q adalah galat dari hampiran nilai I J = I(h) + [ I(h) - I(h)] q adalah perkiraan nilai integrasi yang lebih baik (improve) daripada I. Timbul persoalan, bagaimana jika q tidak diketahui? Untuk kasus ini kita gunakan tiga buah perkiraan nilai I, yaitu I(h), I(h), dan I(4h): J = I(h) + Ch q C = J = I(h) + C(h) q C = J = I(4h) + C(4h) q C = J I J J q h ( h) I ( h) ( h) q I ( 4h) ( 4h) q (P.6.49) (P.6.5) (P.6.5) Eliminasikan nilai C dan q dengan menyamakan persamaan (P.6.49) dan (P.6.5) J I q h ( h) = J I ( h) ( h) q Bab 6 Integrasi Numerik 39
328 J I J I ( h) ( h) = h q q h q = q (P.6.5) dan menyamakan persamaan (P.6.5) dan (P.6.5) J I J I ( h) ( 4h) ( ) q h = ( 4h) q = q (P.6.53) Persaman (P.6.5) sama dengan persamaan (P.6.53): J I J I ( h) ( h) = J I J I ( h) ( 4h) (P.6.54) kali silangkan kedua ruas persamaan (P.6.54) J - J I(h) - J I(4h) + I(h) I(4h) = J - J I(h) + [I(h)] J = I I ( h) I( 4h) [ I( h) ] ( h) I( h) + I ( 4h) atau J ( h) [ I( h) I ( h) ] ( h) I( h) + I( 4h) = I (P.6.55) I Persamaan (P.6.55) ini dinamakan persamaan ekstrapolasi Aitken [NOB7]. Sekarang, tinjau kembali: J = I(h) + Ch q J = I(h) + C(h) q = I(h) - I(h) + Ch q - C(h) q I(h) - I(h) = C(h) q Ch q (P.6.56) J = I(h) + C(h) q J = I(4h) + C(4h) q = I(h) - I(4h) + C(h) q - C(4h) q I(h) - I(4h) = C(4h) q - C(h) q (P.6.57) 3 Metode Numerik
329 Bagi persamaan (P.6.57) dengan persamaan (P.6.56): ( h) I( 4h) I( h) I( h) I = C q ( h) C( 4h) Ch q C( h) q Besaran C pada persamaan (P.6.58) dapat dihilangkan menjadi t = ( h) I( 4h) I( h) I( h) I q = q (P.6.58) = q (P.6.59) Tinjau kembali persamaan (P.6.55) yang dapat ditulis ulang sebagai J = I(h) - = I(h) - = I(h) - = I(h) + I I( h) I( h) ( h) I ( h) + I( 4h) I ( h) I( h) I I I I I ( h) I( h) I( h) + I( 4h) ( h) I ( h) ( h) I( h) t ( h) I( h) t Jadi, ( h) I( h) I J = I( h) + (P.6.6) t yang "mirip" dengan persamaan ekstrapolasi Richardson. Ekstrapolasi Aitken akan tepat sama dengan ektrapolasi Richardson jika nilai teoritis t = q tepat sama dengan nilai empirik t = ( h) I( 4h) I( h) I( h) I Perbedaan antara kedua metode ekstrapolasi muncul bergantung kepada apakah kita mengetahui nilai q atau tidak. Hal ini diringkas dalam prosedur berikut: Bab 6 Integrasi Numerik 3
330 Prosedur praktis:. Hitung I(4h), I(h), dan I(h) I h I 4h. Hitung nilai empirik t = I h I h ( ) ( ) ( ) ( ) 3. Hitung nilai teoritik t = q (bila q diketahui) 4. Jika t teoritik t empirik harus kita bertanya "mengapa?" 5. Gunakan ekstrapolasi Aitken (P.6.59) dengan nilai empirik t atau ekstrapolasi Rihardson (P.6.45) dengan q. Contoh 6. [NOB7] Hitung d Simpson (Gunakan h = /8)! Penyelesaian: sampai lima angka bena dengan menggunakan kaidah /3 / I 4h = 4 /8 = / I(4h) = I(/) = ( f + 4f / + f ) 3 h = /8 = /4 I(h) = I(/4) = h = /8 I(h) = I(/8) = empirik t = / 8 3 =.6638 = /6 ( + 4 (/) + ) =.6387 / 4 3 ( f + 4f /4 + f / + 4f 3/4 + f ) = / ( + 4 /4 + (/) + 4 (3/4) + ) = ( f + 4f /8 + f /8 + 4f 3/8 + f 4/8 + 4f 5/8 + f 6/8 + 4f 7/8 + f ) ( h) I( 4h) I( h) I( h) I = I I ( / 4) I( / ) ( / 8) I( / 4) teoritik t = q = 4 = 6 (yang diharapkan) =.8 Mengapa t teoritik tidak sama dengan t empirik? Perbedaan ini timbul sebab fungsi turunan tidak terdefinisi di = (singular). Karena itu, nilai t teoritik (t = 6) tidak dapat 3 Metode Numerik
331 dipegang, sehingga ekstrapolasi Richardson (P.6.46) tidak dapat digunakan untuk menghitung perkiraan nilai integrasi yang lebih baik. Jadi, gunakan ekstrapolasi Aitken (P.6.6) dengan nilai t empirik untuk menghitung perkiraan nilai integrasi yang lebih baik: J = I (/8) + = = I ( /8) I( / 4).8.8 [ ] Bandingkan solusi ini dengan solusi sejatinya = Perhatikan, kalau kita menggunakan ekstrapolasi Richardson dengan t teoritik ( t = 6), maka solusinya J = I (/8) + I ( /8) I( / 4) 4 = [ ] =.6635 yang cukup berbeda jauh dengan solusi eksak. Karena itu, hasil integrasi dengan ekstrapolasi Aitken yang dapat diterima, yaitu Integral Ganda Dalam bidang teknik, integral sering muncul dalam bentuk integral ganda dua (atau lipat dua) atau integral ganda tiga (lipat tiga). Misalkan kita tinjau untuk integral lipat dua. Integral lipat dua didefinisikan sebagai A b f (, y) da = [ f (, y) dy] d = [ f (, y) d] dy (P.6.6) a d c d c b a Tafsiran geometri dari integral ganda adalah menghitung volume ruang di bawah permukaan kurva f(,y) yang alasnya adalah berupa bidang yang dibatasi oleh garis-garis = a, = b, y = c, dan y = d. Volume benda berdimensi tiga adalah V = luas alas tinggi Bab 6 Integrasi Numerik 33
332 Kaidah-kaidah integrasi numerik yang telah kita bahas dapat dipakai untuk menghitung integral ganda. Jika pada fungsi dengan satu peubah, y = f(), luas daerah dihampiri dengan pias-pias yang berbentuk segiempat atau trapesium, maka pada fungsi dengan dua peubah, z = f(, y), volume ruang dihampiri dengan balokbalok yang berbentuk segiempat atau trapesium. Solusi integral lipat dua diperoleh dengan melakukan integrasi dua kali, pertama dalam arah (dalam hal ini nilai, nilai y tetap), selanjutnya dalam arah y (dalam hal ini, nilai tetap), atau sebaliknya. Dalam arah berarti kita menghitung luas alas benda, sedangkan dalam arah y berarti kita mengalikan alas dengan tinggi untuk memperoleh volume benda. Tinggi benda dinyatakan secara tidak langsung dengan koefisien-koefisien w i pada persamaan (P.6.4). Misalkan integrasi dalam arah dihitung dengan kaidah trapesium, dan integrasi dalam arah y dihitung dengan kaidah Simpson /3. Maka d b c a m [ f (, y) d] dy j= y 3 v j n i= w i f ij [ ( f, + f, + f, f n-, + f n, ) ( f, + f, + f, f n-, + f n, ) + ( f, + f, + f, f n-, + f n, )... + (f,m- + f,m- + f,m f n-,m- + f n,m- ) + 4 (f,m- + f,m- + f,m f n-,m- + f n,m- ) + (f,m + f,m + f,m f n-, + f n,m ) ] (P.6.6) dengan = jarak antar titik dalam arah, y = jarak antar titik dalam arah y, n = jumlah titik diskrit dalam arah, m = jumlah titik diskrit dalam arah y. 34 Metode Numerik
333 Contoh 6. Diberikan tabel f(,y) sebagai berikut: y Hitung f (, y) ddy [GER85] Penyelesaian: Misalkan - dalam arah kita gunakan kaidah trapesium - dalam arah y kita gunakan kaidah Simpson /3 Dalam arah (y tetap): 3. y =. ; f, y) d ( f (,.) d.5 / ( f, + f, + f, + f 3, ).5/ ( ) 3.34 y =.3 ; f (, y) d f (,.3) d / (f, + f, + f, + f 3, ).5/ (.54 + ( ) 5.7 y =.4 ; f (, y) d f (,.4) d y =.5; f (, y) d f (,.5) d y =.6; f (, y) d f (,.6) d Bab 6 Integrasi Numerik 35
334 Dalam arah y : Jadi, f (, y) dy y/3 ( ) 3..5./3 ( ).6446 f (, y) ddy.6446 Cara perhitungan integral ganda dua di atas dapat dirampatkan (generalized) untuk integral ganda tiga R f (, y, z) dr maupun integral ganda yang lebih tinggi. 6.8 Kuadratur Gauss Sampai saat ini kita telah membahas kaidah integrasi yang berbasis titik-titik data diskrit dengan metode Newton-Cotes. Sebelum melakukan perhitungan integrasi, kita harus membentuk tabulasi titik-titik diskrit yang berjarak sama. Titik-titik diskrit tersebut harus berawal dan berakhir di ujung-ujung selang a dan b. Trapesium-trapesium yang menghampiri dearh integarsi harus berawal dan berakhir di ujung-ujung selang tersebut. Batasan ini mengakibatkan galat yang dihasilkan dengan mekanisme ini ternyata cukup besar. Misalnya bila kita menggunakan kaidah trapesium untuk menghitung f ( ) d, maka daerah integrasi dalam selang [-, ] (Gambar 6.4) dihampiri dengan sebuah trapesium yang luasnya adalah I = f ( ) d dengan h = (-(-)) =. h [ f() + f(-)] f() + f(-) (P.6.63) 36 Metode Numerik
335 y galat y = f() - Gambar 6.4 Integral - f()d dihampiri dengan trapesium Perhatikan kembali bahwa persamaan (P.6.63) dapat ditulis sebagai I c f(a) + c f(b) (P.6.64) dengan a = -, b =, c = c = h/ = / =. Pendekatan integrasi yang berbeda dengan metode Newton-Cotes dikembangkan oleh Gauss dan dinamakan metode kuadratur Gauss (Gaussian Quadrature). Dengan metode kuadratur Gauss, batasan-batasan yang terdapat pada metode Newton- Cotes kuadratur dihilangkan. Di sini kita tidak perlu lagi menentukan titik-titik diskrit yang berjarak sama, tetapi nilai integrasi numerik cukup diperoleh dengan menghitung nilai fungsi f() pada beberapa titik tertentu. Untuk memberi gambaran tentang kuadratur Gauss, perhatikan Gambar 6.5. Sebuah garis lurus ditarik menghubungkan dua titik sembarang pada kurva y = f(). Titik-titik tersebut diatur sedemikian sehingga garis lurus tersebut menyeimbangkan galat positif dan galat negatif. Luas daerah yang dihitung sekarang adalah luas daerah di bawah garis lurus, yang dinyatakan sebagai I = f ( ) d c f( ) + c f( ) (P.6.65) dengan c, c,, dan adalah sembarang nilai. Persamaan (P.6.65) ini dinamakan persamaan kuadratur Gauss. Perhatikan bahwa bila dipilih = -, =, dan c = c =, maka persamaan kuadratur Gauss (P.6.65) menjadi kaidah trapesium (P.6.63). Jadi, kaidah trapesium memenuhi persamaan kuadratur Gauss. Bab 6 Integrasi Numerik 37
336 y y = f() - Gambar 6.5 Integral - f()d dihampiri dengan kuadratur Gauss Persamaan (P.6.65) mengandung empat buah peubah yang tidak diketahui (unknown), yaitu,, c, dan c. Kita harus memilih,, c, dan c sedemikian sehingga galat integrasinya minimum. Karena ada empat buah peubah yang tidak diketahui, maka kita harus mempunyai empat buah persamaan simultan yang mengandung,, c, dan c. Di atas telah dikatakan bahwa kaidah trapesium bersesuaian dengan kuadratur Gauss. Dapat dilihat bahwa nilai integrasi numerik dengan kaidah trapesium akan tepat (galatnya = ) untuk fungsi tetap dan fungsi lanjar. Misalnya untuk f() = dan f() =. Perhatikan Gambar 6.6. Dari dua buah fungsi tersebut, diperoleh dua persamaan: f() = d = = = = - (-) = = c + c (P.6.66) f() = - d = / = = / () - / (-) = = c + c (P.6.67) = 38 Metode Numerik
337 y y = y y = - - (a) d (b) d Gambar 6.6 Integrasi yang bernilai sejati dengan kaidah trapesium Kita memerlukan dua buah persamaan lagi agar,, c, dan c dapat ditentukan. Dari penalaran bahwa kaidah trapesium sejati untuk fungsi tetap dan fungsi lanjar, maka penalaran ini juga kita perluas dengan menambahkan anggapan bahwa integrasinya juga sejati untuk f() = dan f() = 3. Sekarang kita menadapatkan dua persamaan tambahan, yaitu dan f() = d = / 3 3 = = /3 = c + c = (P.6.68) f() = 3 d = /4 4 = = = = c 3 + c 3 (P.6.69) Sekarang, kita sudah mempunyai empat buah persamaan simultan c + c = c + c = c + c = /3 c 3 + c 3 = Bab 6 Integrasi Numerik 39
338 yang bila dipecahkan menghasilkan: Jadi, c = c = = / 3 = = -/(3 = f ( ) d f (/ 3) + f (-/ 3) (P.6.7) Persamaan (P.6.7) dinamakan kaidah Gauss-Legendre -titik. Dengan kaidah ini, menghitung integral f() di dalam selang [-, ] cukup hanya dengan mengevaluasi nilai fungsi f di =/ 3 dan di = - 3. Transformasi a b f() d Menjadi - f(t) dt Untuk menghitung integrasi I = f ( ) d kita harus melakukan transformasi: a. selang [a, b] menjadi selang [-, ] b. peubah menjadi peubah t c. diferensial d menjadi dt Selang [a, b] dan [-, ] dilukiskan oleh diagram garis berikut: a b - t Dari kedua diagram garis itu kita membuat perbandingan: a b a a b a = = t t + ( ) ( ) - a = (t + )(b - a) = (t + )(b - a) + a 33 Metode Numerik
339 = = bt at + b a + a a + b + bt at ( a + b ) + ( b a ) = t (P.6.7) Dari persaman (P.6.7), diperoleh diferensialnya d = b a dt (P.6.7) Transformasikan b a f ( ) d menjadi f ( t) dt dilakukan dengan menyulihkan (P.6.7) dan (P.6.7) ke dalam b a f ( ) d : b a ( a + b) + ( b a) t ( b a) ( b a) ( a + b) + ( b a) t f ( ) d = f [ ] dt = f [ ] dt Contoh 6. [MAT93] Hitung integral ( + ) d dengan kaidah Gauss-Legendre -titik. Penyelesaian: a =, b = = d = ( + ) + ( ) t dt =.5 dt = t Bab 6 Integrasi Numerik 33
340 Transformasikan f ( ) d menjadi f ( t) dt : ( + ) d = [(.5 +.5t ) + ].5dt =.5 [(.5 +.5t ) + ] dt Jadi, dalam hal ini f(t) = ( t) + maka f(/ 3) = ( / 3) + ) = f(-/ 3) = ( / 3) + ) = Dengan demikian ( + ) d =.5 - ( t) + ) dt.5 {f(/ 3) + f(-/ 3)} Nilai integrasi sejatinya adalah: ( + ) d = / = = = (8/3 + ) + (/3 + ) = (7/3 + ) = yang untuk kasus ini tepat sama sampai angka bena dengan solusi hampirannya. Program 6.5 : Integrasi ( + ) d dengan kaidah Gauss-Legendre -Titik procedure Gauss_Legendre Titik(a, b: real; var I : real); { Menghitung a b f()d dengan metode Gauss-Legendre -Titik K.Awal : harga a dan b sudah terdefenisi K.Akhir: I berisi hampiran integrasi } var f, f : real; function f(t:real):real; { menghitung nilai f(t) untuk harga t yang telah terdefinisi } var :real; begin :=((a+b) + (b-a)*t)/; {transformasi peubah} f:=* + ; end; 33 Metode Numerik
341 begin f:=f(sqrt(3)/3); f:=f(-sqrt(3)/3); I:=(b-a)/ * (f + f); end; Dibandingkan dengan metode Newton-Cotes (trapesium, /3 Simpson, dll), kaidah Gauss-Legendre -titik lebih sederhana dan lebih mangkus dalam operasi aritmetika, karena Gauss-Legendre -titik hanya membutuhkan dua buah evaluasi fungsi. Selain itu, ketelitiannya lebih tinggi dibandingkan dengan metode Newton- Cotes. Namun, kaidah Gauss-Legendre tidak dapat digunakan jika fungsi f() tidak diketahui secara eksplisit, karena kita tidak dapat melakukan transformasi b a f ( ) d menjadi f ( t) dt Untuk kasus seperti ini, jelas metode Newton-Cotes sebagai jalan keluarnya. Kaidah Gauss-Legendre 3-Titik Metode Gauss-Legendre 3-Titik dapat ditulis sebagai I = f ( ) dt c f( ) + c f( ) + c 3 f( 3 ) Parameter,, 3, c, c, dan c 3 dapat ditemukan dengan membuat penalaran bahwa kuadratur Gauss bernilai tepat untuk 6 buah fungsi berikut: f() = ; f() = ; f() = f() = 3 ; f() = 4 ; f() = 5 Dengan cara yang sama seperti pada penurunan kaidah Gauss-Legendre -titik, diperoleh 6 buah persaman simultan yang solusinya adalah Jadi, c = 5/9 ; = - 3/5 c = 8/9 ; = c 3 = 5/9 ; = 3/5 8 5 [ ] + f ( ) f [ ( 3/ 5) ] 5 f ( ) d f ( 3 / 5) (P.6.73) Bab 6 Integrasi Numerik 333
342 Kaidah Gauss-Legendre n-titik Penurunan kaidah Gauss-Legendre -titik dan Gauss-Legendre 3-titik dapat dirampatkan untuk menghasilkan kaidah Gauss-Legendre n-titik f ( ) dt c f( ) + c f( ) + + c n f( n ) (P.6.74) Nilai-nilai c i dan i dapat dilihat pada tabel berikut ini: Metode Gauss-Legendre n-titik f ( ) dt c f( ) + c f( ) + + c n f( n ) n Faktor bobot Argumen fungsi Galat pemotongan c =. c =. 3 c = c = c 3 = c = c = c 3 = c 3 = c = c = c 3 = c 4 = c 5 = c = c = c 3 = c 4 = c 5 = c 6 = = = = = = = = = = = = = 4 = = = = = = = = f (4) (c) f (6) (c) f (8) (c) f () (c) f () (c) 334 Metode Numerik
343 6.9 Contoh Soal Terapan Seorang penerjun payung terjun dari sebuah pesawat. Kecepatan penerjun sebagai fungsi dari waktu adalah [CHA9]: v(t) = gm ( - e - (c / m) t ) c yang dalam hal ini v = kecepatan penerjun dalam m/dt g = tetapan gravitasi = 9.8 m/dt m = massa penerjun = 68. kg c = koefisien tahanan udara =.5 kg/detik Misalkan kita ingi mengetahui seberapa jauh penerjun telah jatuh seteleh waktu tertentu t. Karena kecepatan merupakan turunan pertama dari fungsi jarak, maka jarak penerjun dari titik terjun (t = ) adalah : t d = t gm ( c / m) t v( t) dt = ( e ) dt c Hitung seberapa jauh penerjun telah jatuh setelah waktu t = detik dengan bermacammacam metode integrasi numerik. Penyelesaian: Persoalan kita adalah menghitung integrasi dengan gm d = ( e c ( c / m) t ) dt v = kecepatan penerjun dalam m/dt g = percepatan gravitasi = 9.8 m/dt m = massa penerjun = 68. kg c = koefisien tahanan udara =.5 kg/detik Nilai d dengan bermacam-macam metode integrasi numerik diringkas dalam tabel berikut: Bab 6 Integrasi Numerik 335
344 Metode Integrasi d (meter) Keterangan Trapesium n = 8 Titik-tengah n = 8 Simpson / n = 8 Simpson 3/ n = 43 Romberg n = 8 Gauss-Legendre -Titik Gauss-Legendre 3-Titik Gauss-Legendre 4-Titik Dari tabel di atas terlihat perbaikan hasil integrasi dimulai setelah kaidah titik-tengah. Mulai dari kaidah Simpson /3 sampai metode Romberg, nilai integrasi semakin diperbaiki. Pada contoh ini, hasil integrasi dengan kaidah Simpson 3/8 tidak dapat dibandingkan karena jumlah pias n tidak sama dengan kaidah integrasi lainnya, keculai jika kita menggunakan n yang sama (n genap tetapi merupakan kelipatan tiga). Sedangkan hasil integrasi dengan kuadratur Gauss memperlihatkan perbaikan dengan semakin tingginya orde metode. Kebutuhan yang paling mendasar bagi menusia ialah bagaimana mengatasi keterasingannya, untuk meningggalkan penjara kesendiriannya. (Erich Fromm - The Art of Loving) 336 Metode Numerik
345 Soal Latihan. Diketahui f() = (4t - t 3 )ep(t ), dan n = 56. Hitunglah f() d dengan: (a) kaidah trapesium (b) kaidah Simpson /3 (c) kaidah titik-tengah (d) metode Romberg (e) kaidah Gauss-Legendre 3-titik dan Gauss-Legendre 4-titik... Diketahui f() = cos( ),.5.5 dan h =.. Hitunglah 5 dengan: (a) kaidah trapesium (b) kaidah Simpson /3 (c) kaidah titik-tengah (d) metode Romberg (e) kaidah Gauss-Legendre 3-titik dan Gauss-Legendre 4-titik..5 f() d 3. Turunkan rumus galat kaidah titik-tengah dan galat totalnya. 4. Turunkan rumus galat kaidah Simpson 3/8 dan galat totalnya. 5. Tentukan n (jumlah upaselang atau pias) sehingga kaidah trapesium memberikan nilai integrasi cos()d kurang dari.. 6. (a) Dengan menerapkan ekstrapolasi Richardson, turunkan kaidah Boole untuk 4 h f()d bila I(h) dan I(h) dihitung dengan kaidah Simpson /3. (b) Dengan menyatakan I I(h) + Ch q Richardson untuk menghitung selebar h dan 3h. 3 h, turunkan rumus ekstrapolasi f() d dengan menggunakan titik-titik Bab 6 Integrasi Numerik 337
346 (c) Berdasarkan rumus ekstrapolasi Richardson pada jawaban (b) di atas, turunkan kaidah 3/8 Simpson bila I(h) dan I(3h) dihitung dengan kaidah titik tengah. 7. (a) Dengan menyatakan I I(h) + Ch q, turunkan rumus ekstrapolasi Richardson 3 untuk menghitung h f() d dengan menggunakan titik-titik selebar h dan 3h. (b) Dengan menerapkan ekstrapolasi Richardson pada rumus (a), turunkan kaidah integrasi baru yang galatnya berorde O(h 7 ) untuk 6 h f ( ) d bila I(h) dan I(3h) dihitung dengan kaidah Simpson 3/8. (c) Berdasarkan rumus ekstrapolasi Richardson pada jawaban (b) di atas, turunkan kaidah Simpson 3/8 bentuk lain bila I(h) dan I(3h) dihitung dengan kaidah titik tengah. 8. Rumus f() ( -) d = pf(a) + qf(a) akan tepat untuk polinom derajat 3. Tentukan p, q, a, dan b. 9. Ubahlah bentuk integrasi di bawah ini agar tidak singular lagi : (i) cos()/ /3 d (ii) d/(-) / d (iii) (3 -)/( ) d 338 Metode Numerik
347 . Nilai integrasi untuk fungsi f() = singular dekat = dan tidak singular untuk yang jauh dari nol. Untuk membuktikan pernyataan ini, lakukan perhitungan tangan (tanpa komputer) sampai 5 angka bena pada:. (a) 3 d, kaidah /3 Simpson, h =.5. Bandingkan dengan nilai integrasi sejatinya.. (b) 3 d, kaidah Simpson /3, h =.5. Bandingkan dengan nilai integrasi sejatinya. Sekarang, ubahlah fungsi f() sehingga tidak singular lagi, lalu hitung kembali integrasi soal (a) dan (b) di atas.. Hitunglah e y cos() d dy : (a) Gunakan kaidah Simpson /3 untuk kedua arah, = y =. (b) Gunakan kaidah Gauss-Legendre 4-titik untuk kedua arah. Susunlah rumus integrasi numerik dari bentuk berikut : f() d = af(-) + bf() + cf() yang nilai integrasinya tepat untuk polinom f() derajat 3. Perlihatkan bahwa galat kaidah Gauss-Legendre -titik sebanding dengan f (4) (c), yang dalam hal ini - < c <. (Petunjuk : gunakan bantuan deret Taylor). 4. Ubahlah bentuk integrasi di bawah ini agar tidak singular lagi : (i) (ii) cos()/ /3 d d/(-) / d (iii) (3 -)/( ) d Bab 6 Integrasi Numerik 339
348 5. Hitunglah secara analitis b a 3 d. Nyatakan jawaban anda dalam a dan b. Perlihatkan bahwa bila integral tersebut diselesaikan dengan kaidah Simpson /3 hasilnya sama dengan nilai integrasi sejatinya. 6. Hitunglah e y d dy : (a) Gunakan kaidah Simpson /3 untuk kedua arah, = y =. (b) Gunakan kaidah Gauss-Legendre 4 titik untuk kedua arah. 34 Metode Numerik
349 Bab 7 Turunan Numerik Lebih banyak lagi yang terdapat di langit dan di bumi, Horatio, daripada yang kau mimpikan di dalam filosofimu. (Hamlet) Setiap mahasiswa yang pernah mengambil kuliah kalkulus tentu masih ingat dengan turunan fungsi yang didefenisikan sebagai f '() = lim h f ( + h) f ( ) h (P.7.) Persoalan menghitung turunan fungsi cukup banyak muncul dalam bidang rekayasa. Misalnya dalam bidang pengolahan citra (image processing), turunan fungsi diterapkan untuk mendeteksi sisi (edge) obyek pada suatu citra (lihat bagian terakhir bab ini). Sementara dalam perhitungan numerik sendiri, turunan fungsi dalam orde yang lebih tinggi, f ', f ", f "',..., kadang-kadang diperlukan. Misalnya untuk menghitung batas-batas galat interpolasi polinom dengan rumus ( )( )( ) ( ) ( n+... ) f ( ) E() = ( n + )! n ξ, ξ n atau untuk menghitung galat integrasi numerik dengan aturan trapesium : E() = (b-a) h f "(t), a t b Bila persamaan fungsi f() diberikan secara eksplisit, maka kita dapat menentukan fungsi turunannya, f '(), f "(),..., f (n+) (), lalu menggunakannya untuk menghitung nilai turunan fungsi di = t. 35 Metode Numerik
350 Seringkali fungsi f() tidak diketahui secara eksplisit, tetapi kita hanya memiliki beberapa titik data saja. Pada kasus seperti ini kita tidak dapat menemukan nilai turunan fungsi secara analitik. Sebaliknya, pada kasus lain, meskipun f() diketahui secara eksplisit tetapi bentuknya rumit sehingga menentukan fungsi turunannya merupakan pekerjaan yang tidak mangkus dan tidak praktis, misalnya pada fungsi-fungsi berikut ini : (i) f() = sin cos ( ) + tan( 3) ( ) + e / cos( ) (ii) f() = e ( + ) ln (4 ), (iii) dan sebagainya. Untuk kedua kasus terakhir, perhitungan nilai turunan dapat dikerjakan secara numerik (numerical differentiation atau numerical derivative). Nilai turunan yang diperoleh merupakan nilai hampiran. Sebagaimana halnya pada integrasi numerik, perhitungan turunan numerik juga menggunakan nilai-nilai diskrit. Karena itu, fungsi dalam bentuk tabel merupakan bentuk alami untuk perhitungan turunan., 7. Persoalan Turunan Numerik Persoalan turunan numerik ialah menentukan hampiran nilai turunan fungsi f yang diberikan dalam bentuk tabel. Meskipun metode numerik untuk menghitung turunan fungsi tersedia, tetapi perhitungan turunan sedapat mungkin dihindari. Alasannya, nilai turunan numerik umumnya kurang teliti dibandingkan dengan nilai fungsinya. Dalam kenyataannya, turunan adalah limit dari hasil bagi selisih: yaitu pengurangan dua buah nilai yang besar ( f(+h) - f() ) dan membaginya dengan bilangan yang kecil (h). Pembagian ini dapat menghasilkan turunan dengan galat yang besar. Lagi pula, jika fungsi f dihampiri oleh polinom interpolasi p, selisih nilai fungsi mungkin kecil tetapi turunannya boleh jadi sangat berbeda dengan nilai turunan sejatinya. Hal ini masuk akal sebab turunan numerik bersifat "halus", dan ini berlawanan dengan integrasi numerik, yang tidak banyak dipengaruhi oleh ketidaktelitian nilai fungsi, karena integrasi pada dasarnya adalah proses penghalusan [KRE88]. 7. Tiga Pendekatan dalam Menghitung Turunan Numerik Misal diberikan nilai-nilai di - h,, dan + h, serta nilai fungsi untuk nilainilai tersebut. Titik-titik yang diperoleh adalah ( -, f - ), (, f ), dan (, f ), yang dalam hal ini - = - h dan = + h. Terdapat tiga pendekatan dalam menghitung nilai f '( ): Bab 7 Turunan Numerik 35
351 . Hampiran selisih-maju (forward difference approimation) f '( ) = ( + h) f ( ) f h = f f (P.7.) h. Hampiran selisih-mundur (backward difference approimation) f '( ) = f ( ) f ( h) h = f f (P.7.3) h 3. Hampiran selisih-pusat (central difference approimation) f '( ) = f ( + h) f ( h) h = f f h (P.7.3) Tafsiran geometri dari ketiga pendekatan di atas diperlihatkan pada Gambar 7.. y y y y y y = f() y = f() y - h h - - (a) Hampiran selisih-maju (b) Hampiran selisih-mundur y y y = f() y - h - - (c) Hampiran selisih-pusat Gambar 7. Tiga pendekatan dalam perhitungan turunan numerik 35 Metode Numerik
352 Rumus-rumus turunan numerik untuk ketiga pendekatan tersebut dapat diturunkan dengan dua cara, yaitu:. Dengan bantuan deret Taylor. Dengan hampiran polinom interpolasi Kedua cara tersebut menghasilkan rumus yang sama. 7.3 Penurunan Rumus Turunan dengan Deret Taylor Misalkan diberikan titik-titik ( i, f i ), i =,,,..., n, yang dalam hal ini i = + ih dan f i = f( i ). Kita ingin menghitung f '(), yang dalam hal ini = + sh, s R dengan ketiga pendekatan yang disebutkan di atas (maju, mundur, pusat). (a) Hampiran selisih-maju Uraikan f( i+ ) di sekitar i : ( ) i ( + i ) i+ i f( i+ ) = f( i ) + f '( i ) +!! f "( i ) +... f i+ = f i + hf i ' + h / f i " +... (P.7.4) hf i ' = f i+ - f i - h / f i " +... f i ' = f i+ h f i - h/ f i " f i ' = f i+ h f i + O(h) yang dalam hal ini, O(h) = h/ f "(t), i < t < i+ Bab 7 Turunan Numerik 353
353 Untuk nilai-nilai f di dan persamaan rumusnya menjadi: f f f ' = + O( h) (P.7.5) h yang dalam hal ini O(h) = h/ f "(t), i < t < i+. (b) Hampiran selisih-mundur Uraikan f( i- ) di sekitar i : ( ) i ( + i ) i+ i f( i- ) = f( i ) + f '( i ) +!! f "( i ) +... f i- = f i - hf i ' + h / f i " +... (P.7.6) hf i ' = f i - f i- + h / f i " +... f i ' = f h f i i - h/ f i " +... f i ' = f h f i i + O(h), yang dalam hal ini, O(h) = - h/ f "(t), i- < t < i Untuk nilai-nilai f di dan - persamaan rumusnya menjadi: f f f ' = + O( h) h (P.7.7) yang dalam hal ini, O(h) = - h/ f "(t), i+ < t < i. (c) Hampiran selisih-pusat Kurangkan persamaan (P.7.4) dengan persamaan (P.7.6): f i+ - f i- = hf i ' + h 3 /3 f i "' +... hf i ' = f i+ - f i- - h 3 /3 f i "' Metode Numerik
354 f i ' = f i ' = f i+ f i h - h /6 f i "' +... f i+ f i h + O(h ), yang dalam hal ini, O(h ) = - h /6 f "'(t), i- < t < i+ Untuk nilai-nilai f di - dan persamaan rumusnya menjadi: f f f o ' = + O( h h ) (P.7.8) yang dalam hal ini, O(h ) = - h/6 f "'(t), i- < t < i+. Perhatikan, bahwa hampiran selisih-pusat lebih baik daripada dua hampiran sebelumnya, sebab orde galatnya adalah O(h ). Rumus untuk Turunan Kedua, f (), dengan Bantuan Deret Taylor (a) Hampiran selisih-pusat Tambahkan persamaan (P.7.4) dengan persamaan (P.7.6) di atas : f i+ + f i- = f i + h f i " + h 4 / f (4) i +... f i+ - f i + f i- = h f i " + h 4 / f (4) i Jadi, f i f f i " = h + i + f i - h / f i (4) f i " = f i+ f i + h f i + O(h ), yang dalam hal ini, O(h ) = - h / f (4) (t), i- < t < i+ Bab 7 Turunan Numerik 355
355 Untuk nilai-nilai f di -,, dan persamaan rumusnya menjadi: f " = f + f h f + O(h ) (P.7.9) yang dalam hal ini O(h ) = - h / f (4) (t), i- < t < i+. (b) Hampiran selisih-mundur Dengan cara yang sama seperti (a) di atas, diperoleh : f i " = f i fi + h f i + O(h), yang dalam hal ini O(h) = h f "(t), i- < t < i Untuk nilai-nilai f di -, -, dan persamaan rumusnya : f f + f f " = + O( h), (P.7.) h yang dalam hal ini, O(h) = h f "(t), i- < t < i (c) Hampiran selisih-maju Dengan cara yang sama seperti di atas, diperoleh : f i " = fi + fi+ + fi + O(h), h yang dalam hal ini, O(h) = - h f "(t), i < t < i+ Untuk nilai-nilai f di,, dan persamaan rumusnya : f f + f f " = + O( h), (P.7.) h yang dalam hal ini, O(h) = - h f "(t), < t < i Metode Numerik
356 7.4 Penurunan Rumus Turunan Numerik dengan Polinom Interpolasi Misalkan diberikan titik-titik data berjarak sama, dan i = + ih, i =,,,..., n, = o + sh, s R adalah titik yang akan dicari nilai interpolasinya. Polinom Newton-Gregory yang menginterpolasi seluruh titik data tersebut adalah : f () p n () = f + s f! + s(s-) s(s-)(s-)...(s- n+) = F(s) f! n f n! + s(s-)(s-) 3 f 3! + yang dalam hal ini, s = (- )/h. Turunan pertama dari f () adalah : f ' () = df /d = df ds ds d = ( + f + (s- /) f + (s / - s + /3) 3f +... ) /h = /h ( f + (s- /) f + galat) (P.7.) Berdasarkan (P.7.), diperoleh rumus turunan numerik dengan ketiga pendekatan (maju, mundur, pusat) sebagai berikut: (a) Hampiran selisih-maju - bila digunakan titik-titik dan : f '( ) = /h ( f ) = f f (P.7.3) h Bab 7 Turunan Numerik 357
357 - bila digunakan titik-titik,, dan : f '( ) = /h ( f + (s- /) f ) untuk titik s = ( - )/h =, sehingga f '( ) = /h ( f - / f ) = /h ( f - /( f - f ) ) = /h (3/ f - / f ) = /h (3/ f - 3/ f - / f + / f ) = /h (-3/ f + f - / f ) f ' ( ) 3 f + 4 f f = (P.7.3) h (b) Hampiran selisih-mundur - polinom interpolasi: Newton-Gregory mundur - bila digunakan titik-titik dan - : f '( ) = /h ( f ) = f f h (P.7.4) (c) Hampiran selisih-pusat - digunakan tiga titik,, dan : f '( ) = /h ( f + (s - /) f ) untuk titik s = ( - )/h = h/h =, sehingga f '( ) = /h ( f + / f ) = /h ( f + /( f - f ) ) = /h (/ f + / f ) = /h ( f - f + f - f ) 358 Metode Numerik
358 = f h f untuk titik -,, dan : f '( ) = f f h (P.7.5) Rumus untuk Turunan Kedua, f "(), dengan Polinom Interpolasi Turunan kedua f adalah d d f = d ds df d ds d = /h ( + f + (s - ) 3 f ). /h = /h ( f + ( s - ) 3 f ) Misalkan untuk hampiran selisih-pusat, titik-titik yang digunakan,, dan : - pada titik s = ( - )/h = h/h =, sehingga f "( ) = /h ( f + ( - ) 3 f ) = /h ( f ) = /h ( f - f ) = /h ( f - f + f + f ) = /h ( f - f + f ) - untuk titik -,, dan : f "( f f ) = (P.7.6) h + f Bab 7 Turunan Numerik 359
359 7.5 Menentukan Orde Galat Pada penurunan rumus turunan numerik dengan deret Taylor, kita dapat langsung memperoleh rumus galatnya. Tetapi dengan polinom interpolasi kita harus mencari rumus galat tersebut dengan bantuan deret Taylor. Contohnya, kita menentukan rumus galat dan orde dari rumus turunan numerik hampirin selisih-pusat: f ' ( ) = f f h + E Nyatakan E (galat) sebagai ruas kiri persamaan, lalu ekspansi ruas kanan dengan deret Taylor di sekitar : E = f '( ) - ( f - f - )/h = f ' - /h [ ( f + hf ' + h / f " + h 3 /6 f "' +...) - (f - hf ' + h / f " - h 3 /6 f "' +...) ] = f ' - /h (hf ' + h 3 /3 f "' +... ) = f ' - f ' - h /6 f "' +... = - h /6 f "' +... = - h /6 f "'(t), - < t < (P.7.7) = O(h ) Jadi, hampiran selisih-pusat memiliki galat E = - h /6 f "'(t), - < t <, dengan orde O(h ). 7.6 Program Menghitung Turunan Program menghitung turunan numerik sangat sederhana. Rumus-rumus turunan dinyatakan sebagai fungsi. Di bawah ini tiga buah fungsi menghitung turunan pertama dengan rumus hampiran selisih-maju, hampiran selisih mundur, dan hampiran selisih-pusat. 36 Metode Numerik
360 Program 7. Menghitung turunan pertama dengan rumus hampiran selisih-maju, hampiran selisihmundur, dan hampiran selisih-pusat. function faksen_maju(f, f, h : real):real; { Menghitung f () dengan rumus hampiran selisih-maju } begin faksen_maju:=(f-f)/h; end; function faksen_mundur(f_, f, h : real):real; { Menghitung f () dengan rumus hampiran selisih-mundur } begin faksen_mundur:=(f-f_)/h; end; function faksen_pusat(f_, f, h : real):real; { Menghitung f () dengan rumus hampiran selisih-pusat } begin faksen_pusat:=(f-f_)/(*h); end; 7.7 Ringkasan Rumus-Rumus Turunan Di bawah ini dirangkum beberapa rumus perhitungan turunan secara numerik, baik untuk turunan pertama, turunan kedua, dan seterusnya. Disertakan juga orde dari setiap rumus, dalam notasi O-besar. Rumus turunan dengan orde yang semakin tinggi menunjukkan nilai turunannya semakin teliti, namun jumlah komputasinya makin banyak (jumlah titik data yang diperlukan juga lebih banyak).. Rumus untuk turunan pertama f ' = f f + O(h) (selisih-maju) h f ' = f ' = f f h f f h + O(h) (selisih-mundur) + O(h ) (selisih-pusat) Bab 7 Turunan Numerik 36
361 f ' = 3 f + 4 f f h + O(h ) (selisih-maju) f ' = f + 8 f 8 f + f + O(h 4 ) (selisih-pusat) h. Rumus untuk turunan kedua f " = f f h + f + O(h ) (selisih-pusat) f " = f + f h f + O(h) (selisih-mundur) f " = f + f h f + O(h) (selisih-maju) f " = f + 4 f 5 f f h O(h ) (selisih-maju) f " = f + 6 f 3 f + 6 f f + O(h 4 ) (selisih-pusat) h 3. Rumus untuk turunan ketiga f "' = f 3 3 f h f f + O(h) (selisih-maju) f "' = f f + f h 3 f + O(h ) (selisih-pusat) 4. Rumus untuk turunan keempat f (iv) = f (iv) = f f f f 4 f 4 h f + O(h) (selisih-maju) 4 f + 6 f 4 f + f + O(h ) (selisih-pusat) 4 h 36 Metode Numerik
362 7.8 Contoh Perhitungan Turunan Contoh 7. Diberikan data dalam bentuk tabel sebagai berikut : f() (a) Hitunglah f '(.7) dengan rumus hampiran selisih-pusat orde O(h ) dan O(h 4 ) (b) Hitunglah f '(.4)dengan rumus hampiran selisih-pusat orde O(h ) (c) Rumus apa yang digunakan untuk menghitung f '(.3) dan f '(.5)? Penyelesaian: (a) Orde O(h ): f ' = f f h Ambil titik-titik - =.5 dan =.9, yang dalam hal ini =.7 terletak di tengah keduanya dengan h =.. f '(.7) = (.) = 5.5 (empat angka bena) Orde O(h 4 ): f ' = f + 8 f 8 f f h + Bab 7 Turunan Numerik 363
363 Ambil titik-titik - =.3 dan - =.5, =.9, dan =., yang dalam hal ini =.7 terletak di pertengahannya. f '(.7) = ( ) 8( 4.48) (.) = (4 angka bena) (b) Orde O(h ): Ambil titik-titik - =.3 dan =.5, yang dalam hal ini =.4 terletak di tengahnya dan h =.. f '(.4) = (.) = 4.65 (4 angka bena) (c) Untuk menghitung f '(.3) digunakan rumus hampiran selisih-maju, sebab =.3 hanya mempunyai titik-titik sesudahnya (maju), tetapi tidak memiliki titik-titik sebelumnya. Sebaliknya, untuk menghitung nilai f '(.5) digunakan rumus hampiran selisih-mundur, sebab =.5 hanya mempunyai titik-titik sebelumnya (mundur). Hampiran selisih-maju : f ' = f '(.3) = f f + O(h) h = Hampiran selisih-mundur : f ' = f '(.5) = f f h + O(h) = Metode Numerik
364 7.9 Ekstrapolasi Richardson Ekstrapolasi Richardson juga dapat diterapkan pada turunan numerik untuk memperoleh solusi yang lebih teliti. Misalkan D(h) dan D(h) adalah hampiran f '( ) dengan mengambil titik-titik masing-masing sejarak h dan h. Misalkan untuk menghitung f '( ) digunakan rumus hampiran beda- pusat orde O(h ) : h h D(h) = /h ( f - f - ) + O(h ) = f ' + Ch +... (P.7.8) - - h - h D(h) = ( h) ( f - f - ) + O((h) ) = f ' + C(h) +... = f ' + 4Ch +... (P.7.9) Kurangi persamaan (P.7.8) dengan persamaan (P.7.9), menghasilkan : D(h) - D(h) = -3Ch dari sini, C = D ( h) D( h) 3h (P.7.) Sulihkan (P.7.) ke dalam persamaan (P.7.8) : D(h) = f ' + [ D( h) D( h) ] 3h = f ' - /3 [ D(h) - D(h) ] atau h f ' = D(h) + /3 [ D(h) - D(h) ] (P.7.) Ekstrapolasi Richardson dapat diperluas penggunaannya untuk mendapatkan nilai turunan fungsi yang lebih baik (improve). Berdasarkan persamaan (P.7.) di atas dapat ditulis aturan: Bab 7 Turunan Numerik 365
365 f = D( h) + [ D( h) D( )] (P.7.) n ' h yang dalam hal ini n adalah orde galat rumus yang dipakai. Misalnya digunakan rumus hampiran selisih-pusat orde O(h ) dalam menghitung D(h) dan D(h), maka n =, sehingga rumus ekstrapolasi Richardsonnya adalah seperti pada persamaan (P.7.). Catat juga bahwa setiap perluasan ekstrapolasi Richardson akan menaikkan orde galat dari O(h n ) menjadi O(h n+ ) (lihat bahasan esktrapolasi Richardson pada Bab Integrasi Numerik). Contoh 7. Diberikan data dalam bentuk tabel sebagai berikut : f() Tentukan f '(.5) dengan ekstrapolasi Ricahrdson bila D(h) dan D(h) dihitung dengan rumus hampiran selisih-pusat orde O(h ) sampai 5 angka bena. Penyelesaian: D(h) selang titik yang dipakai: [.4,.6] dan h =. - =.4, =.5, =.6 D(h) = f f h = ( ) (.) D(h) selang titik yang dipakai: [.3,.7] dan h =. = Metode Numerik
366 - =.3, =.5, =.7 D(h) = f f h = ( ) (.) = D(4h) selang titik yang dipakai: [.,.9] dan h =.4-4 =., =.5, 4 =.9 D(4h) = f f h 4 4 = (.45.59) (.4) = D(h) = dan D(h) = keduanya dihitung dengan rumus orde O(h ), maka n =, sehingga f '(.5) = f ' = D(h) + /( - ) [ D(h) - D(h) ] = /3 ( ) = -.3 mempunyai galat orde O(h 4 ) D(h) = dan D(4h) = keduanya dihitung dengan rumus orde O(h ), maka n =, sehingga f '(.5) = f ' = D(h) + /( - ) [ D(h) - D(4h) ] = /3 ( ) = -.35 mempunyai galat orde O(h 4 ) D(h) = -.3 dan D(4h) = -.35 mempunyai galat orde O(h 4 ), maka n = 4, sehingga f '(.5) = f ' = D(h) + /( 4 - ) [ D(h) - D(4h) ] = /5 ( ) = -.3 mempunyai galat orde O(h 6 ) Tabel Richardson : h O(h ) O(h 4 ) O(h 6 ) Jadi, f '(.5) = -.3. Bab 7 Turunan Numerik 367
367 7. Terapan Turunan Numerik dalam Bidang Pengolahan Citra Citra (image) merupakan kumpulan elemen gambar (picture element = piel) yang secara keseluruhan merekam suatu adegan (scene) melalui pengindera visual (kamera) [DUL96]. Citra intensitas ialah citra yang setiap piel merekam intensitas cahaya yang dipantulkan dari setiap titik di objek, misalnya citra biner, graylevel, berwarna, dan banyak-alur (multi-channel). Untuk kebutuhan pengolahan dengan komputer, citra disajikan dalam bentuk diskrit yang disebut citra digital. Citra digital dapat disajikan oleh matriks f yang berukuran M N dengan bentuk: f f f = M f M f f f M M M... f f N f n M MN (P.7.) Tiap elemen matriks adalah bilangan bulat dalam rentang [..55] untuk citra 8 bit. Salah satu proses yang terdapat dalam pengolahan citra ialah pendeteksian tepi. Tepi merupakan feature yang penting pada suatu citra. Tepi didefinisikan sebagai perubahan intensitas yang besar dalam jarak yang singkat. Perbedaan intensitas inilah yang menampakkan rincian pada gambar. Tepi biasanya terdapat pada batas antara dua daerah berbeda pada suatu citra. Tepi memberikan informasi batas-batas objek dengan lingkungannya atau dengan objek yang lain, feature untuk mengidentifikasi objek, dan untuk terapan penapisan citra. Pendeteksian tepi merupakan langkah pertama untuk melingkupi informasi di dalam citra. Tepi mencirikan batas-batas objek dan karena itu tepi berguna untuk proses segmentasi dan identifikasi objek di dalam citra. Tujuan operasi pendeteksian tepi adalah untuk meningkatkan penampakan garis batas suatu daerah atau objek di dalam citra. Salah satu pendekatamyang dipakai dalam pendeteksian sisi adalah dengan kemiringan diferensial (differential gradient). Secara matematis perubahan intensitas yang besar dalam jarak yang sangat singkat dapat dipandang sebagai suatu fungsi yang memiliki kemiringan yang besar. Pengukuran kemiringan suatu fungsi dilakukan dengan menghitung turunan pertamanya. Dalam citra digital, pendeteksian tepi dapat dilakukan dengan cara yang mirip, yaitu dengan turunan pertamanya secara parsial dalam ruang diskrit: 368 Metode Numerik
368 f(, y) = f f / / y f = f y (P.7.3) yang dalam hal ini kedua turunan parsial didefinisikan sebagai D () = D ( y) = ( y) f, ( y) f, y f (, y) f + f (, y) (, y y) + f (, y) y (P.7.4) (P.7.5) Biasanya = y =, sehingga persamaan turunan pertama menjadi: f (, y) D ( ) = = f ( +, y) f (, y) f (, y) D ( y) = = f (, y + ) f (, y) y Kekuatan tepi pada setiap piel citra dihitung dengan rumus: G[f(,y)] = f + f y (P.7.6) atau dengan rumus G[f(,y)] = ma ( f, f y ) (P.7.7) Suatu piel dianggap sebagai piel sisi jika kekuatan tepinya di atas nilai ambang (threshold) tertentu. D () dan D ( y) merupakan hampiran selisih-maju. Hampiran lain yang dipakai adalah hampiran selisih-pusat, yaitu: D () = ( y) f, f ( +, y) f (, y) (P.7.8) D (y) = ( y) f, y f (, y + y) f (, y y) y (P.7.9) Gambar 7. adalah contoh hasil deteksi semua tepi citra Lena, citra Camera, dan citra botol. Bab 7 Turunan Numerik 369
369 Gambar 7. Deteksi semua tepi citra Lena, camera, dan botol 37 Metode Numerik
370 Operator lain yang digunakan untuk mendeteksi sisi adalah yang berdasarkan pada operasi turunan kedua (Gambar 7.3), yang dikenal dengan operator Laplace (Laplacian). Operator Laplace mendeteksi lokasi tepi lebih akurat khususnya pada tepi yang curam. f() f / f / (a) Tepi landai (b) Tepi curam Gambar 7.3 Operator Laplace Pada Gambar 7.3, kurva pada baris pertama menunjukkan perubahan intensitas suatu tepi. Baris kedua adalah turunan pertamanya, dan baris ketiga adalah turunan keduanya. Kolom kiri (a) adalah untuk sisi yang landai sedangkan kolom (b) untuk sisi yang curam. Dari Gambar 7.3 terlihat juga bahwa turunan kedua dari tepi yang landai tidak terdapat persilangan-nol (zerro crossing), sedangkan pada tepi yang curam terdapat persilangan-nol yang ditandai dengan titik ( ). Persilangannol ialah titik perubahan dari nilai positif ke negatif atau sebaliknya. Jika digunakan hampiran selisih-maju, maka operator Laplace diturunkan sebagai berikut: Bab 7 Turunan Numerik 37
371 f = f + y = D (D ()) + D ( D ( y)) f = = D ( f( +, y) - D ( f(,y)) + D ( f(, y)) D ( f(, y + y) y f ( + +, y) f ( +, y) f ( +, y) f (, y) + = f (, y + y + y) f (, y + y) f (, y + y) f (, y) y f f y ( +, y) f ( +, y) + f (, ) ( ) (, y + y) f (, y + y) + f (, y) ( y) y y + (P.7.3) Biasanya, = = sehingga bentuk (P.7.3) menjadi lebih sederhana. Gambar 7.4 memperlihatkan hasil pendeteksian tepi pada citra botol dengan operator Laplace. (a) (b) Gambar 7.4 (a) citra botol; (b) hasil pendeteksian tepi dengan operator Laplace 37 Metode Numerik
372 Tidak ada hal besar yang terjadi dengan tiba-tiba, bahkan yang lebih banyak daripada setangkai anggur atau sebutir buah ara sekalipun. Perlu waktu. Mula-mula ia berbunga, kemudian menjadi buah, dan akhirnya matang. (Epictetus) Soal Latihan. Jika - h,, + h [a,b], perlihatkanlah f " = h ( f - f + f - ) + E dan E = - h h f (iv) Jika f adalah polinom derajat tiga dan ' f = a - f - + a - f - + a f + a f + E tentukan nilai-nilai tetapan a -, a -, a, dan a. Perlihatkan juga bahwa E = h 4 f (v) Diberikan tabel yang berisi titik-titik sebuah fungsi f : f() Bab 7 Turunan Numerik 373
373 (a) Tentukan nilai f '(.) dan f "(.) untuk h =. dan h =. dengan rumus hampiran selisih-pusat orde O(h ). (b) Tabel di atas adalah tabel f() = cos(). Bandingkan jawaban yang anda peroleh dengan nilai sejatinya. 4. Misalkan f / ' = f '( + h/) adalah hampiran nilai turunan dengan rumus selisih-pusat orde O(h ): f / ' = f f + O(h ) h (a) Perlihatkan bahwa galat pemotongan rumus tersebut adalah - h f "' (b) Hitung f '(.5) jika diketahui hanya titik-titik berikut: (.,.8333), (.4,.743), (.6,.65), dan (.8,.5556) Gunakan empat angka bena. 5. Misalkan D(h) dan D(4h) adalah hampiran f '( ) dengan lebar selang h dan 4h menggunakan rumus hampiran selisih-pusat orde O(h 4 ). Turunkan rumus ektrapolasi Richardson untuk menghitung perkiraan f '( ) yang lebih baik adalah: f '( ) = D(h) + [ D( h) D( 4h) ] 5 Kemudian tentukan hampiran f '(.) jika diketahui fungsinya f() = e dalam selang [.8,.6] dengan h = Metode Numerik
374 Bab 8 Solusi Persamaan Diferensial Biasa Penalaran adalah metode yang lambat dan berliku-liku dengan mana mereka yang tidak mengetahui kebenaran menemukannya. Hati mempunyai penalaran sendiri sedangkan penalaran itu tidak mengetahuinya. (Blaise Pascal) Persamaan diferensial adalah gabungan antara fungsi yang tidak diketahui secara eksplisit dan turunan (diferensial)-nya. Dalam kuliah Fisika anda tentu masih ingat persamaan gerak sistem pegas. d d m + c + k = (P.8.) dt dt dengan m adalah massa pegas, k tetapan pegas, c koefisien redaman, dan posisi sebuah titik pada pegas. Karena adalah fungsi dari t, maka persamaan (P.8.) ditulis juga sebagai m "(t) + c'(t) + k(t) = atau dalam bentuk yang lebih ringkas, m" + c' + k =. Persamaan (P.8.) mengandung fungsi (t) yang tidak diketahui rumus eksplisitnya, turunan pertamanya '(t), dan turunan kedua "(t). Arti fisis diferensial adalah laju perubahan sebuah peubah terhadap peubah lain. Pada persaman (P.8.), '(t) menyatakan laju perubahan posisi pegas terhadap waktu t. Bab 8 Solusi Persamaan Diferensial Biasa 375
375 8. Kelompok Persamaan Diferensial Persamaan diferensial dapat dibagi menjadi dua kelompok besar, yaitu persamaan diferensial biasa dan persamaan diferensial parsial.. Persamaan diferensial biasa (PDB) - Ordinary Differential Equations (ODE). PDB adalah persamaan diferensial yang hanya mempunyai satu peubah bebas. Peubah bebas biasanya disimbolkan dengan. Contoh 8. Contoh-contoh persamaan berikut adalah persamaan diferensial biasa (PDB): (i) dy = + y d (ii) y' = + y (iii) dy/d + y - y = (iv) y" + y'cos - 3y = sin (v) y"' - 3y' = - y" Peubah bebas untuk contoh (i) sampai (v) adalah, sedangkan peubah terikatnya adalah y, yang merupakan fungsi dari, atau ditulis sebagai y = g(). Berdasarkan turunan tertinggi yang terdapat di dalam persamaannya, PDB dapat lagi dikelompokkan menurut ordenya, yaitu: a. PDB orde, yaitu PDB yang turunan tertingginya adalah turunan pertama. Contoh (i), (ii), dan (iii) di atas adalah PDB orde. b. PDB orde, yaitu PDB yang turunan tertingginya adalah turunan kedua. Contoh (iv) adalah PDB orde dua. c. PDB orde 3, yaitu PDB yang turunan tertingginya adalah turunan ketiga Contoh (v) di atas adalah PDB orde tiga. d. dan seterusnya untuk PDB dengan orde yang lebih tinggi. PDB orde ke atas dinamakan juga PDB orde lanjut.. Persamaan Diferensial Parsial (PDP) - Partial Differential Equations (PDE). PDP adalah persamaan diferensial yang mempunyai lebih dari satu peubah bebas. Turunan fungsi terhadap setiap peubah bebas dilakukan secara parsial. 376 Metode Numerik
376 Contoh 8. Contoh-contoh persamaan berikut adalah persamaan diferensial parsial (PDP): (i) u + y u = 6ye +y (yang dalam hal ini, u = g(,y)) (ii) u t = 3sin( + t) + u + ( + ) y u (yang dalam hal ini, u = g(, y, t)) Peubah bebas untuk contoh (i) adalah dan y, sedangkan peubah terikatnya adalah u, yang merupakan fungsi dari dan y, atau ditulis sebagai u = g(,y). Sedangkan peubah bebas untuk contoh (ii) adalah, y, dan t, sedangkan peubah terikatnya adalah u, yang merupakan fungsi dari, y, dan t, atau ditulis sebagai u = g(, y, t). Buku ini hanya membahas metode-metode numerik untuk menyelesaikan PDB, khususnya PDB orde satu. Pada bagian akhir bab akan ditunjukkan bahwa PDB orde lanjut dapat dikembalikan bentuknya menjadi sistem PDB orde satu. 8. Terapan Persamaan Diferensial Persamaan diferensial berperanan penting di alam, sebab kebanyakan fenomena alam dirumuskan dalam bentuk diferensial. Persamaan diferensial sering digunakan sebagai model matematika dalam bidang sains maupun dalam bidang rekayasa. Hukum-hukum dasar fisika, mekanika, listrik, dan termodinamika biasanya didasarkan pada perubahan sifat fisik dan keadaan sistem. Daripada menjelaskan keadaan sistem fisik secara langsung, hukum-hukum tersebut biasanya dinyatakan dalam perubahan spasial (koordinat) dan temporal (waktu) [CHA9]. Misalnya hukum Newton II menyatakan percepatan sebagai laju perubahan kecepatan setiap waktu, atau a = dv/dt, hukum termodinamika (Fluks panas = -k T/, dengan k = konduktivitas panas, dan T = suhu), hukum Faraday (Beda tegangan = L di/dt, dengan L = induktansi, dan i = arus). Dengan mengintegralkan persamaan diferensial, dihasilkan fungsi matematika yang menjelaskan keadaan spasial dan temporal sebuah sistem, dinyatakan dalam percepatan, energi, massa, atau tegangan. Persamaan (P.8.) adalah terapan PDB dalam bidang fisika. Dalam bidang teknologi pangan, biologi, farmasi, dan teknik kimia, dikenal persamaan yang Bab 8 Solusi Persamaan Diferensial Biasa 377
377 menyatakan bahwa laju pertumbuhan bakteri pada waktu t sebanding dengan jumlah bakteri (p) pada saat itu, dp = kp (P.8.) dt dengan k adalah tetapan kesebandingan. Dalam bidang kelistrikan (elektro), para rekayasawan-nya tentu mengetahui benar hukum Kirchoff untuk sebuah rangkaian listrik sederhana RLC seperti pada Gambar 8.. Hukum tegangan Kirchoff menyatakan bahwa jumlah aljabar dari perubahan tegangan di sekeliling rangkaian tertutup adalah nol, di L dt + Ri = C q - E(t) = (P.8.3) dengan L(di/dt) adalah perubahan tegangan antara induktor, L adalah induktansi kumparan (dalam henry), R adalah tahanan (dalam ohm), q adalah muatan pada kapasitor (dalam coulomb), C adalah kapasitansi (dalam farad), dan E(t) adalah tegangan yang berubah terhadap waktu. L E C i R. Gambar 8. Rangkaian listrik RLC Beberapa persamaan diferensial dapat dicari solusinya secara analitis dengan teknik integral. Persamaan (P.8.) misalnya, solusinya dapat ditemukan sebagai berikut: dp/dt = kp dp/p = k dt dp/p = k dt ln(p) + C = kt + C 378 Metode Numerik
378 ln(p) = kt + (C - C ) = kt + C, dengan C = C - C p = e kt + C = e kt e C = p e kt, dengan p = e C Jadi, solusi analitiknya adalah p(t) = p e kt dengan p adalah jumlah bakteri pada waktu t =. Bila p = p() diketahui, maka solusi yang unik dapat diperoleh. Dengan cara yang sama, solusi unik persamaan (P.8.3) juga dapat dihitung secara analitik bila diketahui besar arus pada t = adalah i() =, yaitu i(t) = (E/R)( - e -Rt/L ) Setelah persamaan i(t) diperoleh, besar arus pada sembarang waktu t dapat dihitung. Metode numerik untuk persamaan diferensial memainkan peranan sangat penting bagi rekayasawan, karena dalam prakteknya sebagian besar persamaan diferensial tidak dapat diselesaikan secara analitik. Metode numerik dipakai para rekayasawan untuk memperoleh solusi persaman diferensial. Bila metode analitik memberikan solusi persamaan diferensial dalam bentuk fungsi menerus, maka metode numerik memberikan solusi persamaan diferensial dalam bentuk farik. Upabab berikut ini membahas berbagai metode numerik untuk menghitung solusi PDB orde satu. 8.3 PDB Orde Satu Bentuk baku PDB orde satu dengan nilai awal ditulis sebagai y' = f(, y) dengan nilai awal y( ) = y (P.8.4) Catatan: Kadang-kadang y' ditulis sebagai dy/d. Jadi, y' = dy/d. PDB orde satu yang tidak mengikuti bentuk baku tersebut harus ditulis ulang menjadi bentuk persamaan (P.8.4), agar ia dapat diselesaikan secara numerik. Bab 8 Solusi Persamaan Diferensial Biasa 379
379 Contoh 8.3 Contoh-contoh persamaan berikut adalah persamaan diferensial biasa dan transformasinya ke dalam bentuk baku PDB orde : (i) y' + y = ; y() = Bentuk baku: y' = ( - y)/ ; y() = (ii) -y' + y/ = y' - y ; y() = - Bentuk baku: y' = y / + y + ; y() = - Penyelesaian PDB secara numerik berarti menghitung nilai fungsi di r+ = r + h, dengan h adalah ukuran langkah (step) setiap lelaran. Pada metode analitik, nilai awal berfungsi untuk memperoleh solusi yang unik, sedangkan pada metode numerik nilai awal (initial value) pada persamaan (P.8.4) berfungsi untuk memulai lelaran. Terdapat beberapa metode numerik yang sering digunakan untuk menghitung solusi PDB, mulai dari metode yang paling dasar sampai dengan metode yang lebih teliti, yaitu. Metode Euler. Metode Heun 3. Metode Deret Taylor 4. Metode Runge-Kutta 5. Metode predictor-corrector. 8.4 Metode Euler Diberikan PDB orde satu, Misalkan y' = dy/d = f(, y) dan nilai awal y( ) = y y r = y( r ) adalah hampiran nilai y di r yang dihitung dengan metode Euler. Dalam hal ini r = + rh, r =,,,... n. Metoda Euler diturunkan dengan cara menguraikan y( r+ ) di sekitar r ke dalam deret Taylor: 38 Metode Numerik
380 ( ) r+ r y( r+ ) = y( r ) +! ( ) r+ r y'( r ) +! y"( r ) +... (P.8.5) Bila persamaan (P.8.5) dipotong sampai suku orde tiga, diperoleh ( ) r ( + r ) r+ r y( r+ ) y( r ) + y'( r ) + Berdasarkan persamaan (P.8.4), y'( r ) = f( r, y r ) dan r+ - r = h maka persamaan (P.8.6) dapat ditulis menjadi!! y"(t), r < t < r+ (P.8.6) y( r+ ) y( r ) + hf( r, y r ) + h y"(t) (P.8.7) Dua suku pertama persamaan (P.8.7), yaitu y( r+ ) = y( r ) + hf( r, y r ) ; r =,,,..., n (P.8.8) menyatakan metode Euler atau metode Euler-Cauchy. Metode Euler disebut juga metode orde-pertama, karena pada persamaan (P.8.7) kita hanya mengambil sampai suku orde pertama saja. Untuk menyederhanakan penulisan, persamaan (P.8.8) dapat juga ditulis lebih singkat sebagai y r+ = y r + hf r Selain dengan bantuan deret Taylor, metode Euler juga dapat diturunkan dengan cara yang berbeda. Sebagai contoh, misalkan kita menggunakan aturan segiempat untuk mengintegrasi-kan f(,y) pada persamaan diferensial y' = f(, y) ; y( ) = y Integrasikan kedua ruas dalam selang [ r, r+ ]: Bab 8 Solusi Persamaan Diferensial Biasa 38
381 r + r + r y '( ) d = r f (, y( )) d Gunakan aturan segiempat untuk mengintegrasikan ruas kanan, menghasilkan: y( r+ ) - y( r ) = hf( r, y( r )) atau y( r+ ) = y( r ) + hf( r, y r ) yang merupakan metode Euler Tafsiran Geometri Metode PDB Pikirkanlah kembali bahwa f(,y) dalam persamaan diferensial menyatakan gradien garis singgung kurva di titik (,y). Kita mulai menarik garis singgung dari titik (, y ) dengan gradien f(, y ) dan berhenti di titik (, y ), dengan y dihitung dari persamaan (P.8.8). Selanjutnya, dari titik (, y ) ditarik lagi garis dengan gradien f(, y ) dan berhenti di titik (, y ), dengan y dihitung dari persamaan (P.8.8). Proses ini kita ulang beberapa kali, misalnya sampai lelaran ke-n, sehingga hasilnya adalah garis patah-patah seperti yang ditunjukkan pada Gambar 8.. y y=f () gradien f( n-,y n- ) L 3 L n- n Gambar 8. Tafsiran geometri metode PDB 38 Metode Numerik
382 y y() y r+ sejati y r+ y r A B C h r r+ Gambar 8.3 Tafsiran geometri untuk penurunan metode Euler Berdasarkan tafsiran geometri pada Gambar 8., kita juga dapat menurunkan metode Euler. Tinjau Gambar 8.3. Gradien (m) garis singgung di r adalah y m = y '( r ) = f( r, y r ) = y r+ = y r + hf( r, y r ) BC y = = r+ y AB h r yang tidak lain adalah persamaan metode Euler Analisis Galat Metode Euler Meskipun metode Euler sederhana, tetapi ia mengandung dua macam galat, yaitu galat pemotongan (truncation error) dan galat longgokan (cumulative error). Galat pemotongan dapat langsung ditentukan dari persamaan (P.8.7), yaitu E p h y"(t) = O(h ) (P.8.9) Galat pemotongan ini sebanding dengan kuadrat ukuran langkah h sehingga disebut juga galat per langkah (error per step) atau galat lokal. Semakin kecil nilai h (yang berarti semakin banyak langkah perhitungan), semakin kecil pula galat hasil perhitungannya. Perhatikan bahwa nilai pada setiap langkah (y r ) dipakai lagi pada langkah berikutnya (y r+ ). Galat solusi pada langkah ke-r adalah tumpukan galat dari langkah-langkah sebelumnya. Galat yang terkumpul pada akhir langkah ke-r ini disebut galat longgokan (cumulative error). Jika langkah dimulai dari = a Bab 8 Solusi Persamaan Diferensial Biasa 383
383 dan berakhir di n = b maka total galat yang terkumpul pada solusi akhir (y n ) adalah E total n h = (/ ) h y"( t) = n r= ( b a) ( b a) y"( t) = h y"( t) = y"( t) h h (P.8.) Galat longgokan total ini sebenarnya adalah E total = y(b) sejati - y( n ) Euler Persamaan (P.8.) menyatakan bahwa galat longgokan sebanding dengan h. Ini berarti metode Euler memberikan hampiran solusi yang buruk, sehingga dalam praktek metode ini kurang disukai, namun metode ini membantu untuk memahami gagasan dasar metode penyelesaian PDB dengan orde yang lebih tinggi. Pengurangan h dapat meningkatkan ketelitian hasil, namun pengurangan h tanpa penggunaan bilangan berketelitian ganda tidaklah menguntungkan karena galat numerik meningkat disebabkan oleh galat pembulatan [NAK93]. Selain galat pemotongan, solusi PDB juga mengandung galat pembulatan, yang mempengaruhi ketelitian nilai y, y,, semakin lama semakin buruk dengan meningkatnya n (baca kembali Bab Deret Taylor dan Analisis Galat). Program 8. Metode Euler function y_euler(, y, b, h:real):real; {menghitung nilai y(b) pada PDB y'=f(,y); y()=y dengan metode Euler } var r, n: integer;, y: real; begin n:=(b-)/h; {jumlah langkah} y:=y; {nilai awal} :=; for r:= to n do begin y:=y + h*f(,y); { hitung solusi y[r] } := + h; { hitung titik berikutnya } end; {for} y_euler:=y; {y(b)} end; 384 Metode Numerik
384 Contoh 8.4 Diketahui PDB dy/d = + y dan y() = Gunakan metode Euler untuk menghitung y(,) dengan ukuran langkah h =.5 dan h =.. Jumlah angka bena = 5. Diketahui solusi sejati PDB tersebut adalah y() = e - -. Penyelesaian: (i) Diketahui a = = b =. h =.5 Dalam hal ini, f(, y) = + y, dan penerapan metode Euler pada PDB tersebut menjadi y r+ = y r +.( r + y r ) Langkah-langkah: = y = =.5 y = y +.5( + y ) = + (.5)( + ) =.5 =. y = y +.5( + y ) =.5 + (.5)(.5 +.5) =.5775 Jadi, y(.) ( Bandingkan dengan nilai solusi sejatinya, y(.) = e =.3 sehingga galatnya adalah galat = =.555 ) (ii) Diketahui a = = b =. h =. Dalam hal ini, f(, y) = + y, dan penerapan metode Euler pada PDB tersebut menjadi y r+ = y r +.( r + y r ) Langkah-langkah: Bab 8 Solusi Persamaan Diferensial Biasa 385
385 = y = =. y = y +.( + y ) = + (.)( + ) =. =.4 y = y +.( + y ) =. + (.)(. +.) =.48 3 =.6 y 3 =.64 4 =.8 y 4 = =. y 5 =.8 Jadi, y (,).8 ( Bandingkan dengan solusi sejatinya, y (.) =.3, sehingga galatnya adalah galat = =.8 ) Contoh 8.4 memperlihatkan bahwa kita dapat mengurangi galat dengan memperbanyak langkah (memperkecil h). 8.5 Metode Heun (Perbaikan Metoda Euler) Metode Euler mempunyai ketelitian yang rendah karena galatnya besar (sebanding dengan h). Buruknya galat ini dapat dikurangi dengan menggunakan metode Heun, yang merupakan perbaikan metode Euler (modified Euler's method). Pada metode Heun, solusi dari metode Euler dijadikan sebagai solusi perkiraan awal (predictor). Selanjutnya, solusi perkiraan awal ini diperbaiki dengan metode Heun (corrector). Metode Heun diturunkan sebagai berikut: Pandang PDB orde satu y'() = f(, y()) Integrasikan kedua ruas persamaan dari r sampai r+ : r + r + r f (, y( )) d = r y' ( ) d = y( r+ ) - y( r ) = y r+ - y r Nyatakan y r+ di ruas kiri dan suku-suku lainnya di ruas kanan: r y r+ = y r + + f (, y( )) d (P.8.) r 386 Metode Numerik
386 r Suku yang mengandung integral di ruas kanan, + f (, y( )) d, dapat diselesaikan dengan kaidah trapesium menjadi r r + r h f (, y( )) d [ f ( r, yr ) + f ( r+, y r+ )] (P.8.) Sulihkan persamaan (P.8.) ke dalam persamaan (P.8.), menghasilkan persamaan y r+ = y r + h / [f( r, y r ) + f( r+, y r+ )] (P.8.3) yang merupakan metode Heun, atau metode Euler-Cauchy yang diperbaiki. Dalam persaman (P.8.3), suku ruas kanan mengandung y r+. Nilai y r+ ini adalah solusi perkiraan awal (predictor) yang dihitung dengan metode Euler. Karena itu, persamaan (P.8.3) dapat ditulis sebagai Predictor : y () r+ = y r + hf( r, y r ) Corrector : y r+ = y r + h / [f( r, y r ) + f( r+, y () r+)] (P.8.4) atau ditulis dalam satu kesatuan, y r+ = y r + h / [f( r,y r ) + f( r+, y r + hf( r, y r )] (P.8.5) 8.5. Tafsiran Geometri Metode Heun Metode ini mempunyai tafsiran geometri yang sederhana. Perhatikanlah bahwa dalam selang r sampai r + ½ h kita menghampiri solusi y dengan garis singgung melalui titik ( r, y r ) dengan gradien f( r, y r ), dan kemudian meneruskan garis singgung dengan gradien f( r+, y () r+) sampai mencapai r+ [KRE88] (lihat Gambar 8.4 dengan r = ). y y() y y h/ h/ Gambar 8.4 Tafsiran geometri metode Heun Bab 8 Solusi Persamaan Diferensial Biasa 387
387 8.5. Galat Metode Heun Dari persamaan (P.8.4), suku h / [f( r,y r ) + f( r+, y () r+)] bersesuaian dengan aturan trapesium pada integrasi numerik. Dapat dibuktikan bahwa galat per langkah metode Heun sama dengan galat kaidah trapesium, yaitu 3 h E p - y"(t), r < t < r+ (P.8.5) = O(h 3 ) Bukti: Misalkan, Y r+ adalah nilai y sejati di r+ y r+ adalah hampiran nilai y di r+ Uraikan Y r+ di sekitar r : ( ) r+ r Y( r+ ) = y( r ) + ( ) r+ r 3! = y r + hy' r + 3! h y"'( r ) + ( ) r+ r y'( r ) + 3 h y r " + 6! y r "' + y"( r ) + Dengan menyatakan y r ' = f( r, y r ) = f r, maka Y r+ = y r + hf r + h f r ' + 3 h 6 f r "' + (P.8.6) Dari persamaan (P.8.4), y r+ = y r + h / [f( r,y r ) + f( r+, y () r+)] uraikan f( r+, y () r+) dengan menggunakan deret Taylor di sekitar r : f( r+, y () r+) = f( r+, y r+ ) 388 Metode Numerik
388 ( ) r+ r = f( r, y r ) + + = f r + hf r ' + h! f r " + ( ) r+ r f '( r, y r ) +! f "( r, y r ) sehingga persamaan (P.8.4) dapat ditulis menjadi: y r+ = y r + h / [f( r,y r ) + f( r+, y () r+)] = y r + h / [f r + f r + hf r ' + ½ h f r " + ] = y r + hf r + h f r ' + 3 h 4 f r " + (P.8.7) Galat per langkah = nilai sejati - nilai hampiran = Y r+ - y r+ = ( y r + hf r + h 3 h f r ' + 6 f r "' + ) - (y r + hf r + h f r ' + 3 h 4 f r " + ) = 3 h 6 3 h f r "' - 4 f r "' + 3 h = - f r "' + 3 h = - f r "'(t), r < t < r+ = O(h 3 ) Galat longgokannya adalah, n 3 E L = h y"( t) = - r= ( b a) = O(h ) h y"(t) (P.8.8) Bab 8 Solusi Persamaan Diferensial Biasa 389
389 Jadi, galat longgokan metode Heun sebanding dengan h. Ini berarti solusi PDB dari metode Heun lebih baik daripada solusi dari metode Euler, namun jumlah komputasinya menjadi lebih banyak dibandingkan dengan metode Euler. Perbandingan metode Heun dengan metode Euler dilukiskan pada Gambar 8.5. y y r+ sejati y() y r+ () y r+ () y r Heun Euler h r r+ Gambar 8.5 Perbandingan metode Euler dengan metode Heun Program 8. Metode Heun function y_heun(, y, b, h:real):real; {menghitung y(b) dengan metode Heun pada PDB } var r, n: integer;, y, y_s : real; begin n:=(b-)/h; y:=y; :=; for r:= to n do y'=f(,y); y()=y {jumlah langkah} {nilai awal} begin y_s:=y; { y dari langkah r- } y:=y + h*f(,y); { y(r) dengan Euler } y:=y_s + h/ * ((f(,y_s) + f(+h,y)); { y(r) dengan Heun } :=+; end; y_heun:=y; end; { titik berikutnya} 39 Metode Numerik
390 Contoh 8.5 Diketahui PDB dy/d = + y ; y() = Hitung y (.) dengan metode Heun (h =.) Penyelesaian: Diketahui f(, y) = + y a = = b =. h =. maka n = (. - )/. = 5 (jumlah langkah) Langkah-langkah: =. y () = y + hf(, y ) = +.( + ) =. y () = y + (h/) [f(,y ) + f(,y () )] = + (./) ( ) =.4 =.4 y () = y + hf(, y ) =.4 +. (. +.4) =.4 y () = y + (h/) [f(,y ) + f(, y () )] =.4 + (./) [ ] =.46 5 =. y () 5 = y 4 + hf( 4, y 4 ) y () 5 = y 4 + (h/) [f( 4,y 4 ) + f( 5,y () 5)] =.4 Jadi, y (.).4. Bandingkan: Nilai sejati : y(.) =.3 Euler (Contoh 8.4) : y(.) =.8 Heun (Contoh 8.5) : y(.) =.4 lebih baik dari Euler Bab 8 Solusi Persamaan Diferensial Biasa 39
391 8.5.3 Perluasan Metode Heun Metode Heun dapat diperluas dengan meneruskan lelarannya sebagai berikut: y () r+ = y r + hf( r, y r ) y () r+ y () r+ y (3) r+ = y r + h / [f( r, y r ) + f( r+, y () r+)] = y r + h / [f( r, y r ) + f( r+, y () r+)] = y r + h / [f( r, y r ) + f( r+, y () r+)]... y (k+) r+ = y r + h / [f( r, y r ) + f( r+, y (k) r+)] Kondisi berhenti adalah bila y (k) r+ - y (k-) r+ < ε dengan ε adalah batas galat yang diinginkan. Jika lelarannya dilakukan satu kali (sampai dengan y () r+ saja), maka lelarannya dinamakan lelaran satu lemparan (one shot iteration). Metoda Heun adalah lelaran satu lemparan. Program 8.3: Perluasan Metode Heun function y_heun(, y, b, h:real):real; {menghitung y(b) dengan perluasan metode Heun pada PDB y'=f(,y); y()=y } const epsilon =.; var r, n: integer;, y, y_s, tampung : real; begin n:=(b-)/h; {jumlah langkah} y:=y; {nilai awal} :=; for r:= to n do begin y_s:=y; { y dari langkah r- } y:=y + h*f(,y); { y(r) dengan Euler } repeat tampung:=y; y:=y_s + h/ *((f(, y_s)+ f(+h, y)); {y(r) dengan Heun} until ABS(y-tampung) < epsilon; :=+h; { hitung titik berikutnya } end; y_heun:=y; end; 39 Metode Numerik
392 8.6 Metode Deret Taylor Kita sudah melihat bahwa metode Euler diturunkan dengan menggunakan deret Taylor. Deret Taylor pada penurunan metode Euler dipotong sampai suku orde pertama sehingga solusinya kurang teliti. Kita dapat meningkatkan ketelitian dengan memotong deret sampaisuku yang lebih tinggi lagi. Metode deret Taylor adalah metode yang umum untuk menurunkan rumus-rumus solusi PDB. Metode Euler merupakan metode deret Taylor yang paling sederhana. Diberikan PDB Misalkan y'() = f(,y) dengan kondisi awal y( ) = y y r+ = y( r+ ), r =,,,n adalah hampiran nilai y di r+. Hampiran ini diperoleh dengan menguraikan y r+ di sekitar r sebagai berikut: atau ( ) r ( + r ) r+ r y( r+ ) = y( r ) + y'( r ) +! ( ) r+ r y"'( r ) + + n! n! y (n) ( r ) ( ) r+ r y"( r ) + 3! 3 h y( r+ ) = y( r ) + hy'( r ) + y"( r ) + 3 h 6 y"'( r ) + + ( n) ( n) h y n! r (P.8.9) Persamaan (P.8.9) menyiratkan bahwa untuk menghitung hampiran nilai y r+, kita perlu menghitung y'( r ), y"( r ),, y (n) ( r ), yang dapat dikerjakan dengan rumus y (k) () = P (k-) f(, y) (P.8.) yang dalam hal ini, P adalah operator turunan, P = ( + f ) (P.8.) y Bab 8 Solusi Persamaan Diferensial Biasa 393
393 Contoh 8.3 Diketahui PDB dy/d = ½ - ½ y ; y() = Tentukan y(.5) dengan metode deret Taylor ( h =.5). Penyelesaian: = y = =.5 y =? h y( ) = y( ) + hy'( ) + 3 h y"( ) + 6 y"'( ) + + ( ) h n n! y (n) + Misal kita hanya menghitung y( ) sampai suku orde ke-4 saja. y'() = ½ - ½ y d y"() = ( ½ - ½ y ) d = ½ + f. (-/) = ½ - ( ½ - ½ y). ½ = ½ - ¼ + ¼ y d y"'() = ( ½ - ¼ + ¼ y) d = -/4 + f. /4 = -/4 + ( ½ - ½ y). ¼ = -/4 + /8 - y/8 Diperoleh: sehingga y (4) () = d (/4 + /8 - /8 y) d = /8 + f. (-/8) = /8 - (/ - y/). /8 = /8 - /6 + y/6 y( ) = y() = y'( ) = y'() = ½ - ½ = -/ y"( ) = y"() = ½ - ¼ + ¼ = 3/4 y"'( ) = y"'() = -/4 + /8 - /8 = - 3/8 y (4) ( ) = y (4) () = /8 - /6 + /6 = 3/6 394 Metode Numerik
394 Diperoleh: Sehingga, y( ) = +.5 (-/) + ((.5) /) (3/4) + ((.5) 3 /6) (-3/8) + ((.5) 4 /4) (3/6) = =.5 y =? h y( ) = y( ) + hy'( ) + 3 h y"( ) + 6 y"'( ) + + y( ) = y'( ) = (/)(.5) - (/)( ) = y"( ) = ½ - (¼) (.5) + (/4)( ) = y"'( ) = -/4 + (/8)(.5) - (/8)( ) = y (4) ( ) = /8 - (/6)(.5) + (/6)( ) = ( ) h n n! y (n) = y = ( ) + (.5 /)(.66879) + (.5 3 /6)( ) + (.5 4 /4)(.65468) = Jadi, y(.5) (Bandingkan dengan solusi sejati, y(.5) = ) Galat Metode Deret Taylor Galat perlangkah metode deret Taylor setelah pemotongan ke-n adalah ( n+ ) ( n+ ) h f E t ( n + )! = O(h n+ ) (t), < t < r+ (P.8.) Pada Contoh 8., galat per langkahnya adalah E p 5 h 5! f (5) (t), < t <.5 Karena t tidak diketahui, kita hanya dapat menghitung batas atas dan batas bawah galat E p dalam selang-buka (, 5). Galat longgokan total metode deret Taylor adalah: Bab 8 Solusi Persamaan Diferensial Biasa 395
395 E L = ( + ) h n ( n + )! f ( n+) (t) = b a h ( + ) h n ( n + )! f (n+) (t) = (b - a) ( + ) f n ( t) h ( n (P.8.3) n + )! = O(h n ) 8.7 Orde Metode PDB Orde metode penyelesaian PDB menyatakan ukuran ketelitian solusinya. Makin tinggi orde metode, makin teliti solusinya. Orde metode PDB dapat ditentukan dari persamaan galat per langkah atau dari galat longgokannya.. Jika galat longgokan suatu metode PDB berbentuk Ch p, C tetapan, maka metode tersebut dikatakan berorde p. Sebagai contoh, metode Euler Galat longgokan = ( b a ) ( b a) y"(t) h = Ch, C = y"( t) = O(h) orde metode Euler = ( b a) metode Heun Galat longgokan = y"(t) h = Ch ( b a), C = y"( t) = O(h ) orde metode Heun =. Jika galat per langkah suatu metoda PDB berbentuk Bh p+, B konstanta, maka metode tersebut dikatakan berorder p. Dengan kata lain, jika galat per langkah = O(h p+ ) maka galat longgokan = O(h p ). Sebagai contoh, metode Euler Galat per langkah = ½ y"(t) h = Bh, B = ½ y"(t) = O(h ) orde metode Euler = -= 396 Metode Numerik
396 metode Heun Galat per langkah = - / y"(t) h 3 = Bh 3, dengan B = - / y"(t) = O(h 3 ) orde metode Heun =3- = Menentukan Galat per Langkah Metode PDB Galat per langkah metode PDB diperoleh dengan bantuan deret Taylor. Kita sudah pernah menurunkan galat per langkah metode Heun dengan bantuan deret Taylor. Sekarang, prosedur untuk menentukan galat per langkah suatu metode PDB dapat ditulis sebagai berikut: () Notasi nilai y hampiran di r+ adalah y r+ () Notasi nilai y sejati di r+ adalah Y r+ (3) Uraikan y r+ di sekitar r (4) Uraikan Y r+ di sekitar r (5) Galat per langkah adalah = (4) - (3) Contoh 8.4 Hitung galat per langkah metode PDB y r+ = y r + hf r dan tentukan orde metodenya. Penyelesaian: (metode Euler) Hampiran : y r+ = y r + hf r Sejati : Y r+ Uraikan y r+ hampiran di sekitar r : Ruas kanan persamaan y r+ sudah terdefinisi dalam r, jadi y r+ tidak perlu diuraikan lagi. Uraikan Y r+ di sekitar r : Y r+ = Y( r+ ) = y( r ) + ( ) r+ r y'( r ) + ( ) r r = y r + hy r ' + h! h y r " +... = y r + hf r + + y"( r ) +...! f r ' +... Bab 8 Solusi Persamaan Diferensial Biasa 397
397 Galat per langkah E p = Y r+ - y r+ = h f r ' + = h = O(h ) f '(t), r < t < r+ Orde metode = - = Contoh 8.5 Hitung galat per langkah metode PDB y r+ = y r + h / (3 f r - 6 f r- + 5 f r- ) dan tentukan orde metodenya. Penyelesaian: Hampiran : y r+ = y r + h / (3 f r - 6 f r- + 5 f r- ) Sejati : Y r+ Uraikan y r+ di sekitar r : 3 f r = 3 f r -6 f r- = -6 ( f r - hf r ' + ½ h f r " - h 3 /6 f r "' + ) 5 f r- = 5 ( f r - hf r ' + 4h / f r "- 8h 3 /6 f r "' + ) + 3 f r - 6 f r- + 5 f r- = f r + 6 hf r ' + h f r " - 4 / 6 h 3 f r "' + Uraikan Y r+ di sekitar r : y r+ = y r + h / (3 f r - 6 f r- + 5 f r- ) = y r + h / ( f r + 6hf r ' + h f r " - 4 / 6 h 3 f r "' + ) = y r + hf r + ½ h f r ' + / 6 h 3 f r " - / 3 h 4 f r "' +... Y r+ = y r + hy r ' + h / y r " + h 3 /6 y r "' + h 4 /4 y (4) r + = y r + hf r + / h f r ' + / 6 h 3 f r " + / 4 h 4 f r "' + Galat per langkah E p = Y r+ - y r+ = / 4 h 4 f r "' + / 3 h 4 f r "' +... = 9 / 4 h 4 f r "' +... = 9 / 4 h 4 f "'(t), r- < t < r+ Orde metode = 4 - = Metode Numerik
398 8.8 Metode Runge-Kutta Penyelesaian PDB dengan metode deret Taylor tidak praktis karena metode tersebut membutuhkan perhitungan turunan f(, y). Lagipula, tidak semua fungsi mudah dihitung turunannya, terutama bagi fungsi yang bentuknya rumit. Semakin tinggi orde metode deret Taylor, semakin tinggi turunan fungsi yang harus dihitung. Karena pertimbangan ini, metode deret Taylor yang berorde tinggi pun tidak dapat dapat diterima dalam masalah praktek. Metode Runge-Kutta adalah alternatif lain dari metode deret Taylor yang tidak membutuhkan perhitungan turunan. Metode ini berusaha mendapatkan derajat ketelitian yang lebih tinggi, dan sekaligus menghindarkan keperluan mencari turunan yang lebih tinggi dengan jalan mengevaluasi fungsi f(, y) pada titik terpilih dalam setiap selang langkah [CON8]. Metode Runge-Kutta adalah metode PDB yang paling popuper karena banyak dipakai dalam praktek. Bentuk umum metoda Range-Kutta orde-n ialah: y r+ = y r + a k + a k a n k n (P.8.4) dengan a, a,..., a n adalah tetapan, dan k = hf ( r, y r ) k = hf ( r + p h, y r + q k ) k 3 = hf ( r + p h, y r + q k + q k )... k n = hf ( r + p n- h, y r + q n-, k + q n-, k q n-, n- k n- ) Nilai a i, p i, q ij dipilih sedemikian rupa sehingga meminimumkan galat per langkah, dan persamaan (P.8.4) akan sama dengan metode deret Taylor dari orde setinggi mungkin.. Galat per langkah metode Runge-Kutta orde-n : O(h n+ ) Galat longgokan metode Runge-Kutta orde-n : O(h n ) Orde metode = n Bab 8 Solusi Persamaan Diferensial Biasa 399
399 8.8. Metode Runge-Kutta Orde Satu Metode Runge-Kutta orde satu berbentuk k = hf ( r, y r ) y r+ = y r + (a k ) (P.8.5) Galat per langkah metode R-K orde satu adalah O(h ). Galat longgokan metode R-K orde satu adalah O(h). Yang termasuk ke dalam metode Runge-Kutta orde satu ialah metode Euler: k = hf ( r, y r ) y r+ = y r + k (dalam hal ini a = ) 8.8. Metode Runge-Kutta Orde Dua Metode Runge-Kutta orde dua berbentuk k = hf ( r, y r ) k = hf ( r + p h, y r + q k ) y r+ = y r + (a k + a k ) (P.8.6) Galat per langkah metode Runge-Kutta orde dua adalah O(h 3 ). Galat longgokan metode Runge-Kutta orde dua adalah O(h ). Nilai a, a, p, dan q ditentukan sebagai berikut: Misalkan f r = f ( r,y r ) f ( r, y r ) f =, dan f y = f ( r, y r ) y Uraikan k ke dalam deret Taylor di sekitar ( r, y r ) sampai suku orde satu saja: k = hf ( r + p h, y r + q k ) = h( f + p hf + q k f y ) = h( f + p hf + q hf f y ) = h( f + h( p f + q ff y )) Sedangkan k tidak perlu diuraikan karena sudah berada dalam bentuk ( r, y r ). 4 Metode Numerik
400 Jadi, y r+ = y r + a k + a k = y r + a hf r + a hf + a h ( p f + q ff y ) = y r + (a + a ) hf + a h ( p f + q ff y ) (P.8.7) Uraikan Y + sejati di sekitar r sampai suku orde dua saja: Y r+ = y r + hy r ' + / h y r " (P.8.8) Mengingat y r ' = f( r,y r ) = f r dan y r " = f '( r, y r ) = = = df f ( y ) r, d = f + f y f r = f + ff y r d f + d y dy d maka persamaan (P.8.8) menjadi y r+ = y r + hf + / h ( f + f r f y ) (P.8.9) Galat per langkah metode adalah E p = (P.8.9) - (P.8.7): = { y r + hf + / h ( f + f r f y ) } - { y r + (a + a ) hf r + a h ( p f + q f r f y ) } = { hf + / h ( f + ff y ) } - { (a + a ) hf + a h ( p f + q ff y ) } Dengan membuat galat per langkah E p =, = { hf r + / h ( f + f r f y ) } - { (a + a ) hf r + a h ( p f + q f r f y ) } Bab 8 Solusi Persamaan Diferensial Biasa 4
401 atau hf r + / h ( f + f r f y ) = (a + a ) hf r + a h ( p f + q f r f y ) (P.8.3) Agar ruas kiri dan ruas kanannya sama, haruslah a + a = a p = / a q = / Karena sistem persamaan di atas terdiri atas tiga persamaan dengan empat peubah yang tidak diketahui, maka solusinya tidak unik, dengan kata lain, solusinya banyak. Solusi yang unik hanya dapat diperoleh dengan memberikan sebuah peubah dengan sebuah harga. Misalkan ditentukan nilai a = t, t R, maka a = a = t p = q = a a = = t t Karena kita dapat memberikan sembarang nilai t, berarti metode Runge-Kutta Orde dua tidak terhingga banyaknya. Contoh metode Runge-Kutta orde dua adalah metode Heun, yang dalam hal ini a = /, a = /, p = q = Dalam bentuk Runge-Kutta orde, metode Heun dapat ditulis sebagai k = hf( r,y r ) k = hf( r + h, y r + k ) y r+ = y r + / (k + k ) Program Heun sudah pernah kita tulis (Program 8.). Sekarang program tersebut kita tulis lagi dalam bentuk Runge-Kutta orde menjadi Program 8.4 berikut ini. 4 Metode Numerik
402 Program 8.4 Metode Heun function y_heun(, y, b, h:real):real; {menghitung y(b) dengan metode Heun pada PDB y'=f(,y); y()=y } var r, n: integer;, y, y_s, _s : real; begin n:=(b - )/h; {jumlah langkah} y:=y; {nilai awal} :=; for r:= to n do begin k:=h*f(,y); k:=h*f(+h, y+k); y:=y + (k + k)/; :=+; end; y_heun:=y; end; Contoh metode Runge-Kutta orde dua lainnya ialah metode Ralston, yang dalam hal ini a = /3 a = /3, p = q = 3/4 sehingga metode Ralston dapat ditulis dalam bentuk Runge-Kutta orde dua sebagai k = hf ( r, y r ) k = hf ( r + 3 / 4 h, y r + 3 / 4 k ) y r+ = y r + ( / 3 k + / 3 k ) (P.8.3) Sepintas, metode Runge-Kutta tampaknya rumit, tapi sebenarnya metode Runge- Kutta mudah diprogram. Dengan perhitungan tangan, seringnya menghitung f(, y) merupakan pekerjaan yang melelahkan. Tetapi dengan komputer, hal ini tidak menjadi masalah. Bab 8 Solusi Persamaan Diferensial Biasa 43
403 8.8.3 Metode Runge-Kutta Orde Tiga Metode Runge-Kutta yang terkenal dan banyak dipakai dalam praktek adalah metode Runge-Kutta orde tiga dan metode Runge-Kutta orde empat. Kedua metode tersebut terkenal karena tingkat ketelitian solusinya tinggi (dibandingkan metode Runge-Kutta orde sebelumnya, mudah diprogram, dan stabil (akan dijelaskan kemudian). Metode Runge-Kutta orde tiga berbentuk: k = hf ( r, y r ) k = hf ( r + / h, y r + / k ) k 3 = hf ( r + h, y r - k + k ) y r+ = y r + / 6 ( k + 4k + k 3 ) (P.8.3) Galat per langkah metode R-K orde tiga adalah O(h 4 ). Galat longgokan metode R-K orde tiga adalah O(h 3 ). Program 8.5 Metode Runge-Kutta Orde 3 function y_rk3(, y, b, h:real):real; {menghitung y(b) dengan metode Runge-Kutta orde tiga pada PDB y'=f(,y); y()=y } var r, n: integer;, y, k, k, k3: real; begin n:=(b - )/h; {jumlah langkah} y:=y; {nilai awal} :=; for r:= to n do begin k:=h*f(, y); k:=h*f( + h/, y + k/); k3:=h*f( + h, y - k + *k); y:=y + (k + 4*k + k3)/6 { nilai y(r) } :=+h; { titik berikutnya} end; y_rk3:=y; end; 44 Metode Numerik
404 8.8.4 Metode Runge-Kutta Orde Empat Metode Runge-Kutta orde empat adalah k = hf ( r, y r ) k = hf ( r + / h, y r + / k ) k 3 = hf ( r + / h, y r + / k ) k 4 = hf ( r + h, y r + k 3 ) y r+ = y r + / 6 (k + k + k 3 + k 4 ) (P.8.33) Galat per langkah metode Runge-Kutta orde empat adalah O(h 3 ). Galat longgokan metode Runge-Kutta orde empat adalah O(h ). Program 8.6 Metode Runge-Kutta Orde 4 function y_rk4(, y, b, h:real):real; {menghitung y(b) dengan metode Runge-Kutta orde empat pada PDB y'=f(,y); y()=y } var r, n: integer;, y, k, k, k3, k4: real; begin n:=(b - )/h; {jumlah langkah} y:=y; {nilai awal} :=; for r:= to n do begin k:=h*f(, y); k:=h*f( + h/, y + k/); k3:=h*f( + h/, y + k/); k4:=h*f( + h, y + k3); y:=y + (k + *k + *k3 + k4)/6 { nilai y(r) } :=+h; { titik berikutnya} end; y_rk4:=y; end; Bab 8 Solusi Persamaan Diferensial Biasa 45
405 Contoh 8.6 Diketahui PDB = dy + y d ; y() = Tentukan y(.) dengan metode Runge-Kutta orde tiga. Gunakan ukuran langkah h =.. Penyelesaian: Diketahui a = = b =. h =. maka n = (. - )/. = (jumlah langkah) Langkah: = y = =. y =? k = hf(, y ) = (.) ( + ) =. k = hf( + / h, y + / k ) = (.) ( +.5 ) =.5 k 3 = hf( + h, y - k + k ) = (.) ( +.5 ) =. y = y + / 6 ( k + 4k + k 3 ) = + / 6 ( ) =.34 =. y =? k = hf(,y ) = (.)( +.34 ) =. k = hf( + / h, y + / k ) = (.)( ) =.8 k 3 = hf( + h, y - k + k ) = (.) ( ) =.46 y = y + / 6 (k + 4k + k 3 ) =.34 + / 6 ( ) =.7 Jadi, y(.).7. Nilai sejati y(.) =.7. Metode Runge-Kutta orde yang lebih tinggi tentu memberikan solusi yang semakin teliti. Tetapi ketelitian ini harus dibayar dengan jumlah komputasi yang semakin banyak. Jadi ada timbal-balik (trade-off) dalam memilih suatu metode Runge-Kutta. 46 Metode Numerik
406 8.9 Ekstrapolasi Richardson Ekstrapolasi Richardson dapat diterapkan untuk memperbaiki solusi PDB dan memperkirakan galatnya, asal kita mengetahui orde metode PDB. Mula-mula solusi PDB dihitung dengan ukuran langkah h. Kemudian solusinya dihitung lagi tetapi dengan ukuran langkah h. Maka, solusi yang lebih baik adalah y() = y(; h) + [ y(; h) - y(; h)] (P.8.34) p yang dalam hal ini, y(; h) = solusi PDB di dengan ukuran langkah h y(; h) = solusi PDB di dengan ukuran langkah h y() = solusi PDB yang lebih baik. p = orde metode PDB yang digunakan taksiran galatnya adalah ε = p [ y(; h) - y(; h)] (P.8.35) Bila kita tidak mengetahui p, maka nilai perkiraan ketiga, y(; 4h) memungkinkan kita menggunakan ekstrapolasi Aitken sebagai pengganti ekstrapolasi Richardson. Lihat kembali Bab Integrasi Numerik. 8. Metode Banyak-Langkah Sampai sejauh ini kita telah mengenal metode Euler, metode Heun, metode deret Taylor, dan metode Runge-Kutta. Semua metode tersebut dikelompokkan ke dalam metode satu-langkah (one-step), sebab untuk menaksir nilai y( r+ ) dibutuhkan satu buah taksiran nilai sebelumnya, y( r ). Kelompok metode PDB yang lain ialah metode banyak-langkah (multi-step). Pada metode banyak-langkah, perkiraan nilai y( r+ ) membutuhkan beberapa taksiran nilai sebelumnya, y( r ), y( r- ), y( r- ),.... Yang termasuk ke dalam metode banyak-langkah adalah metode predictor-corrector. Metode Heun adalah metode predictor-corrector, namun metode Heun bukanlah metode banyak-langkah, sebab taksiran nilai y( r+ ) hanya didasarkan pada taksiran y( r ). Bab 8 Solusi Persamaan Diferensial Biasa 47
407 Tujuan utama metode banyak-langkah adalah menggunakan informasi dari beberapa titik sebelumnya, y r, y r-, y r-,..., untuk menghitung taksiran nilai y r+ yang lebih baik. Beberapa metode predictor-corrector (P-C) yang termasuk ke dalam metode banyak-langkah. Pada metode) P-C, kita menaksir nilai y r+ dari y r, y r-, y r-,..., dengan persamaan predictor, dan kemudian menggunakan persamaan corrector untuk menghitung nilai y r+ yang lebih baik (improve). predictor : Menaksir y r+ dari y r, y r-, y r-,... corrector : Memperbaiki nilai y r+ dari predictor Metode P-C yang banyak ditulis dalam literatur dan kita bahas di sini adalah:. Metode Adams-Bashforth-Moulton.. Metode Milne-Simpson 3. Metode Hamming 8.. Metode Adams-Bashforth-Moulton Tinjau PDB orde satu y'() = f(, y()) Integrasikan kedua ruas persamaan dari r sampai r+ : r + r r f (, y( )) d = + y ' ( ) d r = y() r + r = y( r+ ) - y( r ) = y r+ - y r Nyatakan y r + di ruas kiri persamaan dan suku lainnya di ruas kanan: r y r + = y r + + f (, y( )) d (P.8.34) r Persaman (P.8.34) ini adalah teorema dasar kalkulus (lihat Bab, Integral), yang merupakan dasar penurunan persamaan predictor dan persamaan corrector. 48 Metode Numerik
408 Bab 8 Solusi Persamaan Diferensial Biasa 49 Persamaan Predictor [MAT93] Persamaan predictor diperoleh dengan menghampiri fungsi f(, y()) ke dalam polinom interpolasi derajat tiga. Untuk itu, diperlukan empat buah titik yang berjarak sama, yaitu: ( r-3, f r-3 ), ( r-, f r- ), ( r-, f r- ), ( r, f r ). Perhatikan Gambar 8.6. r+ r r- r- r-3 h h h h Gambar 8.6 Pembentukan persaman predictor Dari empat buah titik tersebut, bentuklah polinom interpolasi Lagrange derajat tiga: f(, y()) ( )( )( ) ( )( )( ) r r r r r r r r r r f ( )( )( ) ( )( )( ) r r r r r r r r r r f ( )( )( ) ( )( )( ) r r r r r r r r r r f ( )( )( ) ( )( )( ) 3 3 r r r r r r r r r r f
409 3 6h - 3 h ( - r- )( - r- )( - r ) f r h ( - r-3 )( - r- )( - r ) f r- + 3 h ( - r-3 )( - r- )( - r ) f r- ( - r-3 )( - r- )( - r- ) f r (P.8.35) Sulihkan (P.8.35) ke dalam persamaan (P.8.34). Hasil integrasi persamaan (P.8.34) memberikan: y * h r+ = y r + ( -9fr f r- -59 f r f r ) 4 (P.8.36) yang merupakan persamaan predictor. Persamaan Corrector [MAT93] Persamaan corrector dibentuk dengan cara yang sama seperti pada persamaan predictor. Tetapi, titik-titik yang diperlukan untuk pembentukan polinom interpolasi (Gambar 8.7) ialah ( r-, f r- ), ( r-, f r- ), ( r, f r ), dan titik baru ( r+, f * r+ ) = ( r+, f( r+, y* r+ )) r- r- r r+ h h h Gambar 8.7 Pembentukan persaman corrector 4 Metode Numerik
410 Dari empat buah titik tersebut, bentuklah polinom interpolasi Lagrange derajat tiga. Kemudian, integrasikan polinom interpolasi tersebut dalam selang [ r, r+ ], untuk memberikan h y r+ = y r + ( fr- - 5 f r- + 9 f r + 9f * r+) (P.8.37) 4 yang merupakan persamaan corrector. Jadi, metode Adams-Bashforth-Moulton dapat diringkas sebagai berikut: predictor : y * r+ = y r + h / 4 ( -9f r f r- -59 f r f r ) corrector : y r+ = y r + h / 4 ( f r- - 5 f r- + 9 f r + 9f * r+) (P.8.38) (P.8.39) Galat per langkah metode Adams-Bashforth-Moulton adalah dalam orde O(h 5 ), yaitu: predictor : E p = Y r+ - y* r+ 5 / 7 h 5 y (5) (t), r-3 < t < r+ corrector : E p = Y r+ - y r+ -9 / 7 h 5 y (5) (t), r-3 < t < r+ dan galat longgokan adalah dalam orde O(h 4 ). Karena itu, metode Adams-Bashforth- Moulton di atas dinamakan juga metode Adams-Bashforth-Moulton orde-4. Metode yang lebih rendah adalah metode Adams-Bashforth-Moulton orde-3: predictor : y* r+ = y r + h / (3 f r - 6 f r- + 5f r- ) corrector : y r+ = y r + h / ) (5 f* r+ + 8 f r - f r- ) Pada waktu penurunan persamaan predictor Adams-Bashforth-Mouton orde-3 ini, polinom interpolasinya memerlukan tiga buah titik, yaitu ( r-, f r- ), ( r-, f r- ), ( r, f r ), sedangkan pada waktu penurunan persamaan predictor, polinom interpolasinya memerlukan titik-titik ( r-, f r- ), ( r, f r ), ( r+, f * r+). Galat per langkahnya adalah dalam orde O(h 4 ), yaitu: predictor : E p = Y r+ - y* r+ 9 / 4 h 4 y"(t), r- < t < r+ corrector : E p = Y r+ - y r+ - / 4 h 4 y"(t), r- < t < r+ dan galat longgokan adalah dalam orde O(h 3 ). Bab 8 Solusi Persamaan Diferensial Biasa 4
411 Cara menurunkan persamaan galat metode predictor-corrector sama seperti cara yang sudah dijelaskan sebelumnya. Misalnya kita akan menurunkan persamaan galat metode Adams-Bashforth-Moulton orde-3 sebagai berikut: Uraikan persamaan predictor, corrector dan y r+ sejati di sekitar r. Predictor Hampiran : y* r+ = y r + h / (3 f r - 6 f r- + 5 f r- ) = y r + h / [3 f r - 6( f r - hf r ' + / h f r " - / 6 h 3 f r "' + ) + 5(f r - hf r ' + h f r " - 8 / 6 h 3 f r "' + )] = y r + h / [f r + 6hf r ' + h f r " - 4h 3 f r "' + ] = y r + hf r + / h f r ' + / 6 h 3 f r " - / 3 h 4 f r "' + Sejati: Y r+ = y r + hy' r + / h y r " + / 6 h 3 y r "' + / 4 h 4 y r (4) + Galat per langkah predictor: = y r + hf r + / h f r ' + / 6 h 3 f r " + / 4 h 4 f r "' + E p = sejati - hampiran = / 4 h 4 f r "' + / 3 h 4 f r "' + = 9 / 4 h 4 f r "' = 9 / 4 h 4 y"(t), r- < t < r+ = O(h 4 ) Corrector Hampiran : y r+ = y r + h / (5f* r+ + 8f r - f r- ) = y r + h / [5( f r + hf r ' + / h f r " + / 6 h 3 f r "' + ) + 8 f r ( f r - hf r ' + / h f r " - / 6 h 3 f r "' + )] = y r + h / (f r + 6hf r ' + h f r " + h 3 f r "' + ) = y r + hf r + / h f r ' + / 6 h 3 f r " + / h 4 f r "' + Galat per langkah corrector: E p = sejati - hampiran = / 4 h 4 f r "' - / h 4 f r "' + 4 Metode Numerik
412 = - / 4 h 4 f r "' = - / 4 h 4 y"(t), r- < t < r+ = O(h 4 ) Orde metode = 4 - = Metode Milne-Simpson Metode Milne-Simpson didasarkan pada integrasi f(, y()) pada selang [ r-3, r+ ]: r y( r+ ) = y( r-3 ) + + f (, y( )) d (P.8.4) r 3 Persamaan predictor dan corrector metode Milne-Simpson adalah predictor : y* r+ = y r-3 + 4h / 3 (f r- - f r- + f r ) (P.8.4) corrector : y r+ = y r- + h / 3 ( f r- + 4 f r + f r+ ) (P.8.4) dan galat per langkahnya adalah dalam orde O(h 5 ), yaitu: predictor : E p = Y r+ - y* r+ 8h 5 9 y (5) (t) corrector : E p = Y r+ - y r+ untuk r-3 < t < r+. h 5 9 y (5) (t) 8..3 Metode Hamming Persamaan predictor dan corrector metode Hamming adalah predictor : y* r+ = y r-3 + 4h / 3 ( f r- - f r- + f r ) (P.8.43) corrector : y r+ = y r 8 + 9y r 8 + 3h (-fr- + f r + f r+ ) 8 (P.8.44) Bab 8 Solusi Persamaan Diferensial Biasa 43
413 8..4 Prosedur Pendahuluan PDB hanya mempunyai satu nilai awal, yaitu y = y( ). Dengan demikian, metode banyak-langkah tidak swa-mulai (self-start), sehingga tidak dapat diterapkan langsung, sebab metode tersebut memerlukan beberapa buah nilai awal. Inilah kelemahan metode banyak-langkah. Misalkan predictor mempunyai persamaan y* r+ = y r + h / (3f r - 6f r- + 5f r- ) Untuk menghitung y* 3, kita harus mempunyai nilai y, y, dan y agar nilai f = f(, y ), f = f(, y ), f = f(, y ) dapat ditentukan. Untuk mendapatkan beberapa nilai awal yang lain, kita harus melakukan prosedur pendahuluan (starting procedure) dengan metode PDB yang bebas. Metode PDB yang sering dijadikan sebagai prosedur pendahuluan adalah: - metode Euler - metode Runge-Kutta - metode deret Taylor Jadi, untuk contoh predictor di atas, y dan y dihitung terlebih dahulu dengan salah satu prosedur pendahuluan. Selanjutnya, metode P-C dapat dipakai untuk menghitung y 3, y 4,..., y n. Program 8.7 Metode Adams-Bashforth-Moulton function y_adams_bashforth_moulton(, y, b, h:real):real; {menghitung y(b) dengan metode Adams_Bashforth_moulton pada PDB y'=f(,y); y()=y } var r, n: integer;, y, y, y, y, y3 : real; begin n:=(b-)/h; {jumlah langkah} y:=y; {nilai awal dari PDB} {Prosedur pendahuluan untuk menghitung nilai awal lain, y, y, y3} y:=y_rk3(, y, +h, h); {y()} y:=y_rk3(, y, +*h, h); {y()} y3:=y_rk3(, y, +3*h, h); {y(3)} := + 3*h; { 3 } for r:=4 to n do begin y:=y3 + h/4*(-9*f(-3*h, y) + 37*f(-*h, y) - 59*f(-h, y) + 55f(, y3); y:=y3 + h/4*(f(-*h, y)-5*f(-h, y) + 9*f(,y3) + 9*f(+h,y); y:=y; y:=y; 44 Metode Numerik
414 y:=y3; y3:=y; :=+h; ( titik berikutnya } end; y_adams_bashforth_moulton:=y; end; 8..5 Keidealan Metode Predictor-Corrector Metode predictor-corrector dikatakan ideal jika galat per langkah predictor mempunyai orde yang sama dengan galat per langkah corrector: galat per langkah predictor : Y r+ - y * r+ A r h p galat per langkah corrector : Y r+ - y r+ αa r h p dengan α adalah tetapan yang diketahui. Metode Adams-Bashforth-Moulton, metode Milne-Simpson, dan metode Hamming adalah metode P-C yang ideal. Metode Heun adalah metode P-C yang tidak ideal, karena galat per langkah predictor : E p = Y r+ - y r+ y" (t)h Ah galat per langkah corrector : E p = Y r+ - y r+ - y ''' (t)h 3 Bh 3 Jika sebuah metode P-C ideal, kita dapat memperoleh nilai y r+ yang lebih baik (improve) sebagai berikut: y r+ - y* r+ = A r h p (P.8.45) y r+ - y r+ = αa r h p (P.8.46) dengan y r+ adalah taksiran yang lebih baik dari pada y r+. Rumus y r+ dapat diperoleh dengan membagi persamaan (P.8.45) dengan persamaan (P.8.46): y r+ y r+ y y * r+ r+ = A h r r p αa h p = α y r+ - Y r+ = α y r+ - α y* r+ Bab 8 Solusi Persamaan Diferensial Biasa 45
415 y r+ ( - α) = y r+ - α y* r+ y r+ = y r + α y α * r + y r+ = y r + α - α y r α * + r+ * α y r + α y + ( ) + y = α r - α y r α * + r+ y r α + ( ) y = α + y r + α - α y r α * + y r+ = y r+ + α α (y r+ - y* r+ ) (P.8.47) Suku α / (-α) ( y r+ - y* r+ ) pada persamaan (P.8.47) merupakan taksiran galat per langkah untuk menghitung y r+, dan menyatakan faktor koreksi terhadap nilai y r+. Jadi, untuk mendapatkan taksiran nilai y r+ yang lebih baik, tambahkan y r+ dengan faktor koreksi tersebut. Contoh 8.7 Tentukan perkiraan galat per langkah untuk nilai y r+ yang lebih baik dengan metode Adams-Bashforth-Moulton. Penyelesaian: galat per langkah predictor : E p = y r+ - y * r+ 5 / 7 y (5) (t)h 5 galat per langkah corrector : E p = y r+ - y r+ -9 / 7 y (5) (t)h 5 Dari persamaan galat di atas, diperoleh A r = 5/7 dan αa r = -9/7 Nilai α ditentukan sebagai berikut: α A r = -9/7 α(5/7) = (-9/7) α = -9/5 46 Metode Numerik
416 Sehingga, y = y r+ + ( 9/ 5 ) r + ( y r+ - y* r+ ) + 9/ 5 9 = y r+ - ( yr+ - y* r+ ) 7 Jadi, taksiran galat per langkah untuk nilai y r+ adalah E p -9 / 7 ( y r+ - y* r+ ) 8. Pemilihan Ukuran Langkah yang Optimal Ukuran langkah h adalah persoalan yang penting pada metode PDB yang berdasarkan langkah per langkah ini. Jika h terlalu kecil, jumlah langkahnya semakin banyak dan galat pembulatannya semakin besar. Sebaliknya, jika h terlalu besar, galat pemotongannya juga bertambah besar karena galat pemotongan sebanding dengan h. Timbul pertanyaan: berapakah ukuran langkah yang optimal agar galat per langkah metode PDB dapat dipertahankan kurang dari ε? Misalkan kita menghitung solusi PDB dengan metode Runge-Kutta orde-4. Kita ingin galat per langkahnya kurang dari ε. Galat per langkah metode Runge-Kutta orde-4 berbentuk E p (h) = Bh 5 (P.8.48) dengan B adalah konstanta yang bergantung pada soal yang diberikan. Agar E t (h) kurang dari ε, Bh 5 < ε maka ukuran langkah h haruslah h < (ε/b) /5 (P.8.49) Konstanta B ditentukan dengan cara percobaan sebagai berikut:. Hitung y( ) dengan ukuran langkah h (disimbolkan dengan y( ;h). Galat per langkahnya dinyatakan oleh persamaan (P.8.48). Bab 8 Solusi Persamaan Diferensial Biasa 47
417 . Hitung kembali y( ) dengan ukuran langkah h/ (disimbolkan dengan y( ;h/). Jadi, perlu dua langkah untuk menghitung y( ) dengan galat tiap langkah per langkah seluruhnya adalah: E p (h/) + E p (h/) = B(h/) 5 + B(h/) 5 E p (h/) = B(h/) 5 = 5 Bh 6 (P.8.5) 3. Kurangi (P.8.48) dengan (P.8.5): E p (h) - E p (h/) = B(h) 5 - / 6 Bh 5 = 5 / 6 Bh 5 (P.8.5) 4. Ruas kiri persamaan (P.8.5) dihitung sebagai E p (h) - E p (h/) = y( ;h) - y( ;h/) (P.8.5) 5. Samakan persamaan (P.8.5) dengan persamaan (P.8.5): 5 / 6 Bh 5 = y( ;h) - y( ;h/) sehingga diperoleh B = 5 6 y( ; h) y( ; h / ) 5 h (P.8.53) 6. Sulihkan nilai B dalam ketidaksamaan (P.8.49) sehingga diperoleh batas maksimum nilai ukuran langkah h. Contoh 8.8 Diberikan PDB y' = y/( + ), y()= Tentukan ukuran langkah h agar galat per langkah kurang dari.. Penyelesaian: 48 Metode Numerik
418 Diketahui: = y = ε =. Dengan ukuran langkah h = dan h =.5, metode Runge-Kutta orde-4 menghasilkan y = y (; ) = y = y (;.5) = Nilai B dihitung dengan persamaan (P.8.53): B = 6 ( ) 5 5 =.63 Jadi, ukuran langkah yang optimal agar galat per langkah metode Runge-Kutta orde-4 kurang dari ε ialah h < (./.63) /5 = Sistem Persamaan Diferensial Dalam bidang sains dan rekayasa, persamaan diferensial banyak muncul dalam bentuk simultan, yang dinamakan sistem persamaan diferensial, sebagai berikut: dy y' = = f (, y, y,, y n ), y ( ) = y d dy y' = = f (, y, y,, y n ), y ( ) = y d M y' n = dy n = fn (, y, y,, y n ), y n ( ) = y n (P.8.54) d Sistem persamaan diferensial tersebut dapat ditulis dalam notasi vektor sebagai berikut: y' = f (, y), y( ) = y (P.8.55) yang dalam hal ini, Bab 8 Solusi Persamaan Diferensial Biasa 49
419 y y' f y y' f y y =., y' =., f =., y = y n y' n f n y y n Semua metode yang telah dijelaskan untuk persamaan tunggal (Euler, Runge- Kutta, dll.) dapat diterapkan pada sistem persamaan di atas. Contoh 8.9 Diketahui sistem PDB orde- dy = -.5 y, y() = 4 dt dz dt = 4 -.3z -. y, z() = 6 Hitung y(.5) dan z(.5) dengan (a) metode Euler, dan (b) metode Runge-Kutta orde 3. Ambil h =.5. Penyelesaian: y = y y', y' = z z', f = f f.5y = 4.3z.y y = 4 6 Sistem PDB di atas dapat ditulis menjadi y' = f (t, y), y(t ) = y (a) Dengan metode Euler y r+ = y r + hf( t r, y r ): y r+ = y r + hf (t r, y r, z r ) z r+ = z r + hf (t r, y r, z r ) t = y = 4 dan z = 6 t =.5 y = y(.5) = y + hf (t, y, z ) = 4 + (.5){(-.5)(4)} = 3 z = z(.5) = z + hf (t, y, z ) = 6 + (.5){4 - (.3)(6) - (.)(4)} = Metode Numerik
420 (b) Dengan metode Runge-Kutta orde-3, sehingga sehingga k = hf (t r, y r ), k = hf (t r + h/, y r + k /) k = hf (t r +h, y r - k + k ) y r+ = y r + (/6)(k + 4k + k 3 ) t = y = 4 t =.5 y =? k = hf (t, y, z ) =.5 {(-.5)(4)} = - k = hf (t + h/, y + k /, z + k /) = (.5)f (.5, 3.5, 5.5) = (.5){(-.5)(3.5)} = k 3 = hf (t + h, y - k + k, z - k + k ) =.5 f (.5, 3.5, 6.85) =.5{(-.5)(3.5)} = -.85 y = y(.5) = y + / 6 (k + 4k + k 3 ) = 4 + / 6 {- + 4(-.875) + (-.85)} = t = z = 6 t =.5 z =? k = hf (t, y, z ) =.5 {4 - (.3)(6) - (.)(4)} =.9 k = hf (t + h/, y + k /, z + k /) = (.5) f (.5, 4.45, 6.45) = (.5){4 - (.3)(6.45) - (.)(4.45)} =.8 k 3 = hf (t + h, y - k + k, z - k + k ) =.5 f (.5, 4.7, 6.7) =.5{4 - (.3)(6.7) - (.)(4.7)} =.756 z = z(.5) = z + (/6)(k + 4k + k 3 ) = 6 + (/6) {.9 + 4(.8) +.756} = 6.86 Bab 8 Solusi Persamaan Diferensial Biasa 4
421 8.3 Persamaan Diferensial Orde Lanjut Persamaan differensial orde lanjut adalah persaman diferensial dengan orde yang lebih besar dari satu. Persamaan diferensial ini dapat ditulis kembali sebagai sistem persamaan diferensial orde-. Misalkan kepada kita diberikan PDB orde- y" = f(, y, y') dengan nilai awal y( ) = y dan y'( ) = z Untuk mengubah PDB orde- tersebut menjadi sistem PDB orde-, misalkan maka y' = z z' = y" = f(, y, y') = f(, y,z) ; y( ) = y dan z( ) = z Dengan demikian, persamaan y" = f(, y, y') dapat ditulis menjadi sistem persamaan diferensial biasa: dy = z, y( ) = y d dz d = f(, y, y') = f(, y, z), z( ) = z atau dalam notasi vektor: y' = f(, y) ; y( ) = y yang dalam hal ini y = y z z, y' = f = f (, y, z) y, y( ) = z Selanjutnya sistem persamaan diferensial biasa ini sapat diselesaikan seperti pada Contoh 8.9 terdahulu. 4 Metode Numerik
422 Contoh 8. Nyatakan PDB orde- berikut: y" - 3y' - y = ; y() = dan y'() =.5 ke dalam sistem persamaan diferensial biasa orde-. Penyelesaian: Diketahui PDB orde-: y" = 3y' - y = f(, y, y') Misalkan y' = z maka dan z' = y" = f(, y, y') = f(, y, z) = 3z - y y() =, z() =.5; sehingga diperoleh sistem PDB orde- dy = z, y() = d dz d atau dalam notasi vektor: = 3z - y, z() =.5 y' = f (, y) ; y() = y yang dalam hal ini, y = y z z, f = 3z y, y =.5 Bab 8 Solusi Persamaan Diferensial Biasa 43
423 Contoh 8. Nyatakan PDB orde-3 berikut: y"' - + y - y' + 3y" = ; y() = ; y'() =.5, y"() = ke dalam sistem persamaan diferensial biasa orde-. Penyelesaian: y"' = - y + y' - 3y" = f(, y, y', y") Misalkan y' = z dan maka dan y" = z' = t t' = y"' = f(, y, y', y") = f(, y, z, t) = - y + z - 3t y() =, z() =.5, t() = ; sehingga diperoleh sistem PDB orde-: dy = z, y() = d dz d dt d atau dalam notasi vektor = t, z() =.5 = - y + z - 3t, t() = y' = f (, y), y() = y yang dalam hal ini, y = y z t, f = y z t + z 3t, y() =.5 44 Metode Numerik
424 Contoh 8. Nyatakan PDB orde- berikut: "(t) - 5'(t) - 3(t) = 45 et, (.5) = dan '(.5) = ke dalam sistem PDB orde- Penyelesaian: "(t) = 45 e t '(t) + (t) Misalkan '(t) = z(t) maka 45 z'(t) = "(t) = f(t, (t), z(t)) = e t z(t) + (t) dan () =, z() = ; sehingga diperoleh sistem PDB orde-: d = z(t), (.5) = ; dt dz dt = atau dalam notasi vektor: 45 e t z(t) + (t), z(.5) = y' = f(t, y), y(.5) = y yang dalam hal ini, y = ( t) z( t), f = 45 e z( t) t 5 3, y (.5) = + z( t) + ( t) Bab 8 Solusi Persamaan Diferensial Biasa 45
425 8.4 Ketidakstabilan Metode PDB Pada bab-bab sebelumnya kita telah menyingggung ketidakstabilan pada metode numerik. Karena solusi PDB diperoleh secara lelaran, yang setiap lelaran menghasilkan galat pemotongan, maka ada kemungkinan solusi pada lelaran terakhir menyimpang cukup berarti terhadap solusi sejatinya. Untuk jelasnya perhatikan metode PDB berikut: y r+ = y r- + hf( r, y r ) (P.8.56) Dengan bantuan deret Taylor, galat per langkah metode ini adalah dalam orde O(h 3 ), yang berarti metode PDB tersebut berorde dua. Kesimpulan sementara kita, metode (P.8.56) menghasilkan solusi yang lebih teliti daripada solusi dengan metoda Euler (yang berorde satu). Bila metode (P.8.56) diterapkan pada PDB dy y' = d = - αy, y() = y > dan α > kita memperoleh hasil yang diperlihatkan oleh Gambar 8.8. y solusi hampiran, y y + hf(, y r + = r r r solusi sejati, y = y e - ) solusi hampiran bersesuaian dengan solusi sejati solusi hampiran berosilasi Gambar 8.8 Ketidakstabilan metode PDB Perhatikan bahwa solusi analitik PDB ini adalah y = y e -α, yang mendekati nol dengan peningkatan. Tetapi solusi numeriknya menjadi tidak stabil dengan 46 Metode Numerik
426 peningkatan. Ketidakstabilan ini disebabkan oleh penumpukan galat per langkah yang "tumbuh" secara tidak terbatas dengan meningkatnya jumlah langkah. Untuk jumlah langkah yang sedikit, solusinya masih stabil. Tetapi dengan meningkatnya jumlah langkah, solusinya menjadi tidak stabil. Bahkan, untuk jumlah langkah yang tidak terhingga, solusinya tumbuh secara tidak terbatas. Jadi, ada metode PDB yang hanya baik untuk yang kecil, tetapi buruk untuk yang besar. Ketidakstabilan ditandai oleh solusi yang berosilasi, tetapi ini tidak selalu demikian. Dalam praktek, hindari penggunaan metode yang tidak stabil. Contoh metode PDB yang tidak stabil untuk yang besar adalah metode Euler dan metode Milne- Simpson. Metode Heun, metode Runge-Kutta orde-3, metode Runge-Kutta orde-4, dan metode Adams-Bashforth-Moulton adalah metode PDB yang stabil. 8.5 Contoh Soal Terapan Pada rangkaian listrik, arus yang mengalir tidaklah tetap, tetapi berubah terhadap waktu. Tinjau kembali rangkaian RLC pada Gambar 8.. Hukum Kirchoff menyatakan bahwa jumlah aljabar dari perubahan tegangan di sekeliling rangkaian tertutup adalah nol. Selain dalam bentuk PDB orde- (P.8.3), hukum Kirchoff kadang-kadang disajikan dalam bentuk PDB orde-: L d dt q dq + R + q/c - E(t) = dt (P.8.57) yang dalam hal ini, L adalah induktansi (dalam henry), R adalah tahanan (dalam ohm), q adalah muatan pada kapasitor (dalam coulomb), C adalah kapsitasitansi (dalam farad), E(t) adalah tegangan yang berubah terhadap waktu (dalam volt). Persamaan (P.8.56) adalah PDB orde- yang dapat dipecah menjadi sistem PDB orde-: di dt = - Ri/L - q/cl + E(t)/L, i() = dq = i, q() = (P.8.58) dt Misalkan L = henry, C =.5 coulomb, E(t) = E sin ωt, E = volt, ω =.878 detik, dan R =. Hitunglah muatan kapasitor setelah detik dengan metode Euler dan metode Runge-Kutta orde empat (gunakan ukuran langkah h = Bab 8 Solusi Persamaan Diferensial Biasa 47
427 . detik). Bandingkan jawaban anda dengan solusi analitiknya yang diturunkan sbb : E ω E q( t) = sin pt + sin ωt (P.8.59) L( p ω ) p L( p ω ) dengan p = / (LC). Dengan menyulihkan besaran-besaran di atas diperoleh persamaan q(t), yaitu : q(t) = sin t + sin (.878t) Penyelesaian: Persoalan ini adalah pencarian solusi PDB di dt = - Ri/L - q/cl + E(t)/L, i() = dq = i, q() = dt dengan L = henry, C =.5 coulomb, E(t) = E sin ωt, E = volt, ω =.878 detik, dan R =. Diminta menentukan q(), dalam coulomb, dengan metode Euler dan metode Runge-Kutta orde-4. Solusi dengan kedua metode PDB tersebut diperlihatkan oleh tabel berikut: Metode Euler q[.] =. q[.] =. q[.] =. q[.3] = q[.4] = q[.5] = q[.6] = q[.7] =.6447 q[.8] = q[.9] = q[.] = q[.] = Metode Runge-Kutta Orde- 4 q[.] =. q[.] = q[.] = q[.3] = q[.4] = q[.5] = q[.6] = q[.7] = q[.8] = q[.9] =.6535 q[.] = q[.] = Nilai sejati q[.]=. q[.]=.3699 q[.]= q[.3]= q[.4]= q[.5]= q[.6]= q[.7]= q[.8]=.456 q[.9]= q[.]= q[.]= Metode Numerik
428 q[.] = q[.3] = q[.4] = q[.5] = q[.6] = q[.7] = q[.8] = q[.9] = q[.] = q[.] = q[.] = q[.3] = q[.4] = q[.5] = q[.6] = q[.7] = q[.8] = q[.9] = q[3.] = q[3.] = q[3.] = q[3.3] = q[3.4] = q[3.5] = q[3.6] = q3.7] = q[3.8] = q[3.9] = q[4.] = q[4.] = q[4.] = q[4.3] = q[4.4] = q[4.5] =.8733 q[4.6] = q[4.7] = q[4.8] = q[.] = q[.3] = q[.4] = q[.5] = q[.6] = q[.7] = q[.8] = q[.9] = q[.] = q[.] = q[.] = q[.3] = q[.4] = q[.5] = q[.6] = q[.7] = q[.8] = q[.9] = q[3.] = q[3.] = q[3.] = q[3.3] = q[3.4] = q[3.5] = q[3.6] = q[3.7] = q[3.8] = q[3.9] = q[4.] =.3545 q[4.] = q[4.] = q[4.3] = q[4.4] = q[4.5] = q[4.6] =.438 q[4.7] = q[4.8] = q[.]= q[.3]= q[.4]= q[.5]= q[.6]= q[.7]=.4556 q[.8]= q[.9]= q[.]= q[.]= q[.]= q[.3]= q[.4]= q[.5]= q[.6]= q[.7]= q[.8]= q[.9]= q[3.]= q[3.]= q[3.]= q[3.3]= q[3.4]= q[3.5]= q[3.6]= q[3.7]= q[3.8]= q[3.9]= q[4.]=.3974 q[4.]= q[4.]= q[4.3]= q[4.4]= q[4.5]= q[4.6]= q[4.7]= q[4.8]= Bab 8 Solusi Persamaan Diferensial Biasa 49
429 q[4.9] = q[5.] = q[5.] = q[5.] = q[5.3] = q[5.4] = q[5.5] = q[5.6] = q[5.7] = q[5.8] = q[5.9] = q[6.] = q[6.] = q[6.] = q[6.3] = q[6.4] = q[6.5] = q[6.6] = q[6.7] = q[6.8] = q[6.9] = q[7.] = q[7.] = q[7.] = q[7.3] = q[7.4] = q[7.5] =.466 q[7.6] = q[7.7] = q[7.8] = q[7.9] = q[8.] = q[8.] = q[8.] = q[8.3] = q[8.4] = q[8.5] = q[4.9] = q[5.] = q[5.] = q[5.] = q[5.3] = q[5.4] = q[5.5] = q[5.6] = q[5.7] = q[5.8] = q[5.9] = q[6.] = q[6.] = q[6.] = q[6.3] = q[6.4] = q[6.5] = q[6.6] = q[6.7] = q[6.8] = q[6.9] = q[7.] = q[7.] = q[7.] = q[7.3] = q[7.4] = q[7.5] = q[7.6] = q[7.7] = q[7.8] = q[7.9] = q[8.] = q[8.] = q[8.] = q[8.3] = q[8.4] = q[8.5] = q[4.9]= q[5.]= q[5.]= q[5.]= q[5.3]= q[5.4]= q[5.5]= q[5.6]= q[5.7]= q[5.8]= q[5.9]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= q[ ]= Metode Numerik
430 q[8.6] = q[8.7] = q[8.8] = q[8.9] = q[9.] = q[9.] = q[9.] = q[9.3] = q[9.4] = q[9.5] = q[9.6] = q[9.7] = q[9.8] = q[9.9] = q[.] = q[8.6] = q[8.7] = q[8.8] = q[8.9] = q[9.] = q[9.] = q[9.] = q[9.3] = q[9.4] = q[9.5] = q[9.6] = q[9.7] = q[9.8] = q[9.9] = q[.] = q[ ]= q[8.7]= q[8.8]= q[8.9]= q[9.]= q[9.]= q[9.]= q[9.3]= q[9.4]= q[9.5]= q[9.6]= q[9.7]= q[9.8]= q[9.9]= q[.]= Perbandingan solusi: Euler Runge-Kutta Orde-4 Sejati q() Untuk menghitung q() dengan h =. diperlukan sejumlah n = ( - )/. = langkah. Karena itu, dapatlah dimengerti mengapa metode PDB yang berorde rendah seperti metode Euler memperlihatkan hasil yang sangat menyimpang (divergen) dengan solusi sejatinya ketika jumlah langkahnya membesar, sedangkan solusi dengan metode Runge-Kutta memperlihatkan kestabilannya pada setiap langkah (bandingkan dengan solusi sejati pada setiap langkah). Ini disebabkan galat per langkah pada metode Euler semakin menumpuk dengan bertambahnya jumlah langkah. Jadi, metode dengan orde tinggi seperti metode Runge-Kutta orde-4 lebih disukai untuk masalah ini. Tidak ada alasan bagi kita meremehkan hal-hal kecil, karena bukankah sutera itu berasal dari ulat? (Anonim) Bab 8 Solusi Persamaan Diferensial Biasa 43
431 Soal Latihan. Diberikan persamaan diferensial berikut : dy/d = -y, y() =. Lakukan perhitungan numerik untuk menaksir nilai y pada nilai-nilai dalam selang [,5] (ambil ukuran langkah h =.) : (a) metode Euler (b) metode Heun (c) metode deret Taylor (d) metode Runge-Kutta orde-3 (e) metode Runge-Kutta orde-4 (f) metode Adams-Bashforth-Moulton. Diberikan persamaan diferensial berikut : dy/d = y, y() =. Tentukan nilai (.4) dengan metode-metode (ambil ukuran langkah h =.) : (a) metode Euler (b) metode Heun (c) metode deret Taylor (d) metode Runge-Kutta orde 3 (e) metode predictor-corrector Milne 3. Nyatakan dalam sistem persamaan diferensial biasa orde satu : (a) 4y + 3y + 5y + y = - y ; y() =, y ()=y () = (b) Ak d T/d + Pσ(T ) = Q; T () =, T()= (c) model matematika rangkaian listrik :.5 d Q/dt + 6dQ/dt + 5Q = 4 sin(t) dengan Q = dan i=dq/dt = pada t=. (d) (t) - (t) = 6 cos (t) ; () dan () = 3 (e) y " + (y ') + y =, y()=, y '() = (f) y "' = -y + y ', y() =, y '() = y "() = 4. Perlihatkan bahwa metode Runge-Kutta berikut ini : k = hf( r, y r ) k = hf( r + αh, y r + αk ) 43 Metode Numerik
432 y r+ = y r + [( - ) k + α k ) ] α adalah berorde dua untuk sembarang tetapan α (α ). 5. Ekstrapolasi Richardson yang telah anda kenal di integrasi numerik dapat juga diterapkan pada solusi PDB, yang bertujuan untuk memperbaiki hasil metode Runge-Kutta orde-4. Jika metode Runge-Kutta orde-4 digunakan dengan ukuran langkah h, maka nilai hampiran y() adalah: y(; h) = y h + Ch 4 () dan jika digunakan ukuran step h, maka nilai hampiran y() adalah : y() = y(;h) + 6Ch 4 () Perlihatkanlah bahwa hampiran y() yang lebih baik (improve) adalah : y() = / 5 [6y(;h) - y(;h)] (3) Kemudian hitunglah y (.4) menggunakan persamaan (3) di atas bila PDB yang digunakan adalah seperti soal nomor di atas. 6. Masih berkaitan dengan ekstrapolasi Richardson. Jika metode Heun digunakan dengan ukuran langkah h, maka nilai hampiran y() adalah: y() = y h + Ch () dan jika digunakan ukuran step h, maka nilai aproksimasi y() adalah : y() = y h + 4Ch () Perlihatkanlah bahwa hampiran y() yang lebih baik (improve) adalah : y() = /3 (4y h - y h ) (3) Kemudian hitunglah y (.4) menggunakan persamaan (3) di atas bila PDB yang digunakan adalah seperti soal nomor di atas. 7. Dengan menggunakan PDB orde pada soal nomor 3(c) di atas, tentukan muatan listrik Q dan arus I pada saat t =.. Metode yang digunakan : Runge-Kutta orde 3 dan ukuran langkah h =.. Bab 8 Solusi Persamaan Diferensial Biasa 433
433 8. (a) Perlihatkan galat per langkah metode predictor-corrector Milne adalah : galat per langkah predictor : y r+ - y * 8 r+ h 5 y (5) (t) 9 galat per langkah corrector : y r+ - y r+ 9 h 5 y (5) (t) (b) Tentukan orde metode Milne (c) Tentukan taksiran y r+ (yaitu nilai yang lebih baik daripada y r+ (d) Tentukan galat per langkah untuk y r+ 7. Dengan mengingat defenisi kalukulus untuk turunan adalah y () = lim h y ( + h) y( ) h (a) Turunkan metode Euler dari defenisi turunan tersebut (b) Bila nilai y dihitung pada +h dan -h, turunkan metode baru, yaitu metode titik-tengah. Turunkanlah persamaan predictor pada metode P-C Adams-Bashforth- Moulton bila titik-titik datanya diinterpolasi dengan polinom Newton- Gregory mundur. Bila PDB-nya adalah seperti pada soal nomor, tentukan ukuran langkah yang optimal agar galat per langkah pada solusi PDB dengan metode Runge-Kutta orde-4 kurang dari... Diberikan PDB y = -y, y() =. Dengan mengambil ukuran langkah h =., periksa kestabilan metode Euler, metode Runge-Kutta orde-3, metode titiktengah (lihat jawaban soal 7b), dan metode Milne pada penaksiran nilai y() 434 Metode Numerik
434 Daftar Pustaka [BES97] [BUC9] [CHA9] [CON9] [DUL96] [GER85] [KRE88] [MAT9] [MAN8] Besari, Mohamad Sahari, Interaksi Matematika, Sains, dan Rekayasa, makalah pada seminar Penyempurnaan Pengajaran Matematika Layanan di ITB, 9 - Juni 997 Buchanan, James I., Numerical Methods and Analysis, McGraw-Hill International Editions, 99 Chapra, Steven C dan Canale, Raymond P, Numerical Methods for Engineers with Personal Computer Applications, MacGraw-Hill Book Company, 99 Conte, Samuel D dan De Boor, Carl, Elementary Numerical Analysis, An Algorithmic Approach, 3rd Edition, MacGraw-Hills, Inc, 99. Dulimarta, Hansye S., Diktat Kuliah Pengolahan Citra Digital, Teknik Informatika ITB, 996 Gerald, Curtis F dan Wheatley, Pattrick O, Applied Numerical Analysis, 3rd Edition, Addison-Wesley Publishing Company, 985 Kreyszic, Erwin, Advanced Engineering Mathematics, John Wiley and Sons, 988 Mathews, Johh. H, Numerical Methods for Mathematics, Science and Engineering, nd Edition, Prentice-Hall International, 993 Mano, M. Moris, Computer System Architecture nd, Prentice-Hall International, 98 [NAK93] Nakamura, Shoichiro Nakamura, Applied Numericak Methods in C, Prentice-Hall Int. Series, 993 [NOB7] [PUR89] Noble, Ben, A Videotape Course on Elementary Numerical Analysis, Oberlin College, 97 Purcell, Edwin J. dan Verberg, Dale, Kalkulus dan Geometri Analitis (terjemahan), Penerbit Erlangga, 989 Daftar Pustaka 397
435 Catatan : 398 Metode Numerik
436 Catatan : Daftar Pustaka 399
437 Catatan : 4 Metode Numerik
438 Catatan : Daftar Pustaka 4
439 4 Metode Numerik
Kata Pengantar... Daftar Isi... Daftar Padan Kata...
Daftar Isi Kata Pengantar... Daftar Isi... Daftar Padan Kata... iii v xi 1. Metode Numerik Secara Umum... 1 1.1 Metode Analitik versus Metode Numerik... 4 1.2 Metode Numerik dalam Bidang Rekayasa... 6
Bab 1 Metode Numerik Secara Umum
Bab 1 Metode Numerik Secara Umum Pengetahuan dimulai dari rasa ingin tahu, kepastian dimulai dengan rasa ragu-ragu, dan filsafat dimulai dengan kedua-duanya. (Jujun S. Suriasumantri) Rasa ingin tahu adalah
Pendahuluan II REKAYASA KOMPUTASIONAL :
REKAYASA KOMPUTASIONAL : Pendahuluan II Isram Rasal S.T., M.M.S.I, M.Sc. Program Studi Teknik Informatika Fakultas Teknologi Industri Universitas Gunadarma 1 Metode Numerik dalam Bidang Rekayasa Dalam
Metode Numerik adalah teknik-teknik yang digunakan untuk memformulasikan masalah matematis agar dapat dipecahkan dengan operasi perhitungan
Pengertian Metode Numerik Metode Numerik adalah teknik-teknik yang digunakan untuk memformulasikan masalah matematis agar dapat dipecahkan dengan operasi perhitungan Metode Numerik Tujuan Metode Numerik
Triyana Muliawati, S.Si., M.Si.
SI 2201 - METODE NUMERIK Triyana Muliawati, S.Si., M.Si. Prodi Matematika Institut Teknologi Sumatera Lampung Selatan 35365 Hp. +6282260066546, Email. [email protected] 1. Pengenalan Metode
Bab 2 Deret Taylor dan Analisis Galat
Bab Deret Taylor dan Analisis Galat Matematik selalu memperlihatkan rasa ingin tahu untuk dapat diterapkan di alam, dan ini dapat mengungkapkan kaitan yang dalam antara pikiran kita dan alam. Kita membicarakan
PENDAHULUAN METODE NUMERIK
PENDAHULUAN METODE NUMERIK TATA TERTIB KULIAH 1. Bobot Kuliah 3 SKS 2. Keterlambatan masuk kuliah maksimal 30 menit dari jam masuk kuliah 3. Selama kuliah tertib dan taat aturan 4. Dilarang makan dan minum
IMPLEMENTASI MODEL NUMERIK DALAM PEMODELAN
IMPLEMENTASI MODEL NUMERIK DALAM PEMODELAN By: Kastana Sapanli PEMODELAN EKONOMI SUMBERDAYA DAN LINGKUNGAN (ESL 428 ) Coba Selesaikan Soal Berikut: Coba Selesaikan Soal Berikut: Padahal persoalan yang
Pendahuluan Metode Numerik Secara Umum
Pendahuluan Metode Numerik Secara Umum Pendahuluan Persoalan yang melibatkan model matematika banyak muncul dalam berbagai disiplin ilmu pengetahuan (bidang fisika, kimia, Teknik Sipil, Teknik Mesin, Elektro
Bab 1. Pendahuluan Metode Numerik Secara Umum
Bab 1. Pendahuluan Metode Numerik Secara Umum Yuliana Setiowati Politeknik Elektronika Negeri Surabaya 2007 1 Topik Pendahuluan Persoalan matematika Metode Analitik vs Metode Numerik Contoh Penyelesaian
Pendahuluan Metode Numerik Secara Umum
Pendahuluan Metode Numerik Secara Umum Umi Sa adah Politeknik Elektronika Negeri Surabaya 2012 Pendahuluan Persoalan yang melibatkan model matematika banyak muncul dalam berbagai disiplin ilmu pengetahuan
ISBN. PT SINAR BARU ALGENSINDO
Drs. HERI SUTARNO, M. T. DEWI RACHMATIN, S. Si., M. Si. METODE NUMERIK DENGAN PENDEKATAN ALGORITMIK ISBN. PT SINAR BARU ALGENSINDO PRAKATA Segala puji dan syukur penulis panjatkan kepada Alloh SWT yang
BAB I PENDAHULUAN. Tahap-tahap memecahkan masalah dengan metode numeric : 1. Pemodelan 2. Penyederhanaan model 3.
BAB I PENDAHULUAN Tujuan Pembelajaran: Mengetahui apa yang dimaksud dengan metode numerik. Mengetahui kenapa metode numerik perlu dipelajari. Mengetahui langkah-langkah penyelesaian persoalan numerik.
Ilustrasi Persoalan Matematika
Pendahuluan Persoalan yang melibatkan model matematika banyak muncul dalam berbagai disiplin ilmu pengetahuan, seperti dalam bidang fisika, kimia, ekonomi, atau pada persoalan rekayasa (engineering), seperti
Konsep Deret & Jenis-jenis Galat
Metode Numerik (IT 402) Fakultas Teknologi Informasi - Universitas Kristen Satya Wacana Bagian 2 Konsep Deret & Jenis-jenis Galat ALZ DANNY WOWOR 1. Pengatar Dalam Kalkulus, deret sering digunakan untuk
METODE NUMERIK. MODUL 1 Galat dalam Komputasi Numerik 1. Zuhair Jurusan Teknik Informatika Universitas Mercu Buana Jakarta 2008 年 09 月 21 日 ( 日 )
METODE NUMERIK MODUL Galat dalam Komputasi Numerik Zuhair Jurusan Teknik Informatika Universitas Mercu Buana Jakarta 008 年 09 月 日 ( 日 ) Galat dalam Komputasi Numerik Dalam praktek sehari-hari, misalkan
METODE NUMERIK 3SKS-TEKNIK INFORMATIKA-S1. Mohamad Sidiq PERTEMUAN-1
METODE NUMERIK 3SKS-TEKNIK INFORMATIKA-S1 Mohamad Sidiq PERTEMUAN-1 KONTRAK KULIAH METODE NUMERIK TEKNIK INFORMATIKA S1 3 SKS Mohamad Sidiq MATERI PERKULIAHAN SEBELUM-UTS Pengantar Metode Numerik Sistem
Aplikasi Aljabar Lanjar pada Metode Numerik
Aplikasi Aljabar Lanjar pada Metode Numerik IF223 Aljabar Geometri Oleh: Rinaldi Munir Program Studi Informatika, STEI-ITB Rinaldi Munir - IF223 Aljabar Geometri Apa itu Metode Numerik? Numerik: berhubungan
PERBANDINGAN BEBERAPA METODE NUMERIK DALAM MENGHITUNG NILAI PI
PERBANDINGAN BEBERAPA METODE NUMERIK DALAM MENGHITUNG NILAI PI Perbandingan Beberapa Metode Numerik dalam Menghitung Nilai Pi Aditya Agung Putra (13510010)1 Program Studi Teknik Informatika Sekolah Teknik
ISBN: Cetakan Pertama, tahun Semua informasi tentang buku ini, silahkan scan QR Code di cover belakang buku ini
METODE NUMERIK, oleh Sri Adi Widodo, M.Pd. Hak Cipta 2015 pada penulis GRAHA ILMU Ruko Jambusari 7A Yogyakarta 55283 Telp: 0274-882262; 0274-889398; Fax: 0274-889057; E-mail: [email protected] Hak Cipta
Perbandingan Kecepatan Komputasi Beberapa Algoritma Solusi Persamaan Nirlanjar
Perbandingan Kecepatan Komputasi Beberapa Algoritma Solusi Persamaan Nirlanjar Bernardino Madaharsa Dito Adiwidya - 13507089 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut
Akar-Akar Persamaan. Definisi akar :
Akar-Akar Persamaan Definisi akar : Suatu akar dari persamaan f(x) = 0 adalah suatu nilai dari x yang bilamana nilai tersebut dimasukkan dalam persamaan memberikan identitas 0 = 0 pada fungsi f(x) X 1
METODE NUMERIK. ROBIA ASTUTI, M.Pd. STKIP Muhammadiyah Pringsewu Lampung
METODE NUMERIK ROBIA ASTUTI, M.Pd. STKIP Muhammadiyah Pringsewu Lampung BAB I METODE NUMERIK SECARA UMUM Metode numerik : Teknik yang di gunakan untuk memformulasikan persoalan matematika sehingga dapat
Pengantar Metode Numerik
Pengantar Metode Numerik Metode numerik adalah teknik dimana masalah matematika diformulasikan sedemikian rupa sehingga dapat diselesaikan oleh pengoperasian matematika. Metode numerik menggunakan perhitungan
Perhitungan Nilai Golden Ratio dengan Beberapa Algoritma Solusi Persamaan Nirlanjar
Perhitungan Nilai Golden Ratio dengan Beberapa Algoritma Solusi Persamaan Nirlanjar Danang Tri Massandy (13508051) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
BANK SOAL METODE KOMPUTASI
BANK SOAL METODE KOMPUTASI 006 iv DAFTAR ISI Halaman Bio Data Singkat Penulis.. Kata Pengantar Daftar Isi i iii iv Pengantar... Kesalahan Bilangan Pendekatan... 6 Akar-akar Persamaan Tidak Linier.....
Konsep Metode Numerik. Workshop Metode Numerik Ahmad Zainudin, S.ST
Konsep Metode Numerik Workshop Metode Numerik Ahmad Zainudin, S.ST 2014 Metode Numerik Secara Umum 1. Tentukan akar-akar persamaan polinomial 2. Tentukan harga x yang memenuhi persamaan : 3. Selesaikan
BAB I PENDAHULUAN. 1.1 Latar Belakang
BAB I PENDAHULUAN 1.1 Latar Belakang Didunia nyata banyak soal matematika yang harus dimodelkan terlebih dahulu untuk mempermudah mencari solusinya. Di antara model-model tersebut dapat berbentuk sistem
BAB I PENDAHULUAN. 1.1 Latar Belakang. Suatu integral dapat diselesaikan dengan 2 cara, yaitu secara analitik dan
BAB I PENDAHULUAN 1.1 Latar Belakang Suatu integral dapat diselesaikan dengan 2 cara, yaitu secara analitik dan secara numerik. Perhitungan secara analitik dilakukan untuk menyelesaikan integral pada fungsi
Metode Numerik. Muhtadin, ST. MT. Metode Numerik. By : Muhtadin
Metode Numerik Muhtadin, ST. MT. Agenda Intro Rencana Pembelajaran Ketentuan Penilaian Deret Taylor & McLaurin Analisis Galat 2 Metode Numerik & Teknik Komputasi - Intro 3 Tujuan Pembelajaran Mahasiswa
BAB II PENGANTAR SOLUSI PERSOALAN FISIKA MENURUT PENDEKATAN ANALITIK DAN NUMERIK
BAB II PENGANTAR SOLUSI PERSOALAN FISIKA MENURUT PENDEKATAN ANALITIK DAN NUMERIK Tujuan Instruksional Setelah mempelajari bab ini pembaca diharapkan dapat: 1. Menjelaskan cara penyelesaian soal dengan
DeretTaylor dananalisisgalat
DeretTaylor dananalisisgalat Kuliah ke-2 IF4058 Topik Khusus Informatika I Oleh; Rinaldi MunirIF-STEI ITB) 1 DeretTaylor Kakastools) yang sangat penting dalam metode numerik adalah derettaylor. Deret Taylor
PENYELESAIAN NUMERIK PERSAMAAN DIFERENSIAL LINEAR HOMOGEN DENGAN KOEFISIEN KONSTAN MENGGUNAKAN METODE ADAMS BASHFORTH MOULTON
Buletin Ilmiah Mat. Stat. dan Terapannya (Bimaster) Volume 03, No. 2 (2014), hal 125 134. PENYELESAIAN NUMERIK PERSAMAAN DIFERENSIAL LINEAR HOMOGEN DENGAN KOEFISIEN KONSTAN MENGGUNAKAN METODE ADAMS BASHFORTH
Prakata Hibah Penulisan Buku Teks
Prakata Syukur Alhamdulillah kami panjatkan ke hadhirat Allah SwT, atas hidayah dan kekuatan yang diberikannya kepada penulis sehingga penulis dapat menyelesaikan buku Pengantar Komputasi Numerik dengan
Definisi Metode Numerik
Definisi Metode Numerik Seringkali kita menjumpai suatu model matematis yang berbentuk persamaan, baik itu linier ataupun non-linier, sistem persamaan linier ataupun sistem persamaan non-linier, differensial,
POKOK BAHASAN. Matematika Lanjut 2 Sistem Informasi
Matematika Lanjut 2 Sistem Informasi POKOK BAHASAN Pendahuluan Metode Numerik Solusi Persamaan Non Linier o Metode Bisection o Metode False Position o Metode Newton Raphson o Metode Secant o Metode Fixed
BAB I ARTI PENTING ANALISIS NUMERIK
BAB I ARTI PENTING ANALISIS NUMERIK Pendahuluan Di dalam proses penyelesaian masalah yang berhubungan dengan bidang sains, teknik, ekonomi dan bidang lainnya, sebuah gejala fisis pertama-tama harus digambarkan
CNH2B4 / KOMPUTASI NUMERIK
CNH2B4 / KOMPUTASI NUMERIK TIM DOSEN KK MODELING AND COMPUTATIONAL EXPERIMENT 1 REVIEW KALKULUS & KONSEP ERROR Fungsi Misalkan A adalah himpunan bilangan. Fungsi f dengan domain A adalah sebuah aturan
RENCANA PEMBELAJARAN SEMESTER (RPS)
RENCANA PEMBELAJARAN SEMESTER (RPS) IKG2E3 KOMPUTASI NUMERIK Disusun oleh: PROGRAM STUDI S1 ILMU KOMPUTASI FAKULTAS INFORMATIKA TELKOM UNIVERSITY LEMBAR PENGESAHAN Rencana Semester (RPS) ini
Minggu 11. MA2151 Simulasi dan Komputasi Matematika
Minggu 11 MA2151 Simulasi dan Komputasi Matematika Model Berdasarkan Data Model Berdasarkan Data Kadangkala kita dituntut untuk membangun suatu model berdasarkan data (yang terbatas). Untuk melakukan ini,
METODE NUMERIK 3SKS-TEKNIK INFORMATIKA-S1. Mohamad Sidiq PERTEMUAN-2
METODE NUMERIK 3SKS-TEKNIK INFORMATIKA-S1 Mohamad Sidiq PERTEMUAN-2 SISTEM BILANGAN DAN KESALAHAN METODE NUMERIK TEKNIK INFORMATIKA S1 3 SKS Mohamad Sidiq MATERI PERKULIAHAN SEBELUM-UTS Pengantar Metode
Metode Numerik & Lab. Muhtadin, ST. MT. Metode Numerik & Komputasi. By : Muhtadin
Metode Numerik & Lab Muhtadin, ST. MT. Agenda Intro Rencana Pembelajaran Ketentuan Penilaian Deret Taylor & McLaurin Analisis Galat Metode Numerik & Lab - Intro 3 Tujuan Pembelajaran Mahasiswa memiliki
BAB 1 PENDAHULUAN. 1.1 Latar Belakang
1.1 Latar Belakang BAB 1 PENDAHULUAN Persamaan diferensial adalah suatu persamaan yang mengandung derivatif dari variabel terikat terhadap satu atau lebih variabel bebas. Persamaan diferensial sendiri
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER GLOBAL INFORMATIKA MDP
METODE NUMERIK Disusun oleh Ir. Sudiadi, M.M.A.E. Ir. Rizani Teguh, MT SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER GLOBAL INFORMATIKA MDP 2015 Metode Numerik i KATA PENGANTAR Pertama-tama penulis
Implementasi Algoritma Pencarian Akar Kuadrat Bilangan Positif
Implementasi Algoritma Pencarian Akar Kuadrat Bilangan Positif Muhammad Iqbal W. (0510633057) Jurusan Teknik Elektro, Fakultas Teknik, Universitas Brawijaya Dosen Pembimbing: Waru Djuriatno, ST., MT. dan
METODE NUMERIK 3SKS-TEKNIK INFORMATIKA-S1. Mohamad Sidiq PERTEMUAN : 3 & 4
METODE NUMERIK 3SKS-TEKNIK INFORMATIKA-S1 Mohamad Sidiq PERTEMUAN : 3 & 4 PENYELESAIAN PERSAMAAN NON LINIER METODE NUMERIK TEKNIK INFORMATIKA S1 3 SKS Mohamad Sidiq MATERI PERKULIAHAN SEBELUM-UTS Pengantar
Galat & Analisisnya. FTI-Universitas Yarsi
BAB II Galat & Analisisnya Galat - error Penyelesaian secara numerik dari suatu persamaan matematis hanya memberikan nilai perkiraan yang mendekati nilai eksak (yang benar dari penyelesaian analitis. Penyelesaian
MOTIVASI. Secara umum permasalahan dalam sains dan teknologi digambarkan dalam persamaan matematika Solusi persamaan : 1. analitis 2.
KOMPUTASI NUMERIS Teknik dan cara menyelesaikan masalah matematika dengan pengoperasian hitungan Mencakup sejumlah besar perhitungan aritmatika yang sangat banyak dan menjemukan Diperlukan komputer MOTIVASI
Analisis Numerik Integral Lipat Dua Fungsi Trigonometri Menggunakan Metode Romberg
Analisis Numerik Integral Lipat Dua Fungsi Trigonometri Menggunakan Metode Romberg Numerical Analysis of Double Integral of Trigonometric Function Using Romberg Method ABSTRAK Umumnya penyelesaian integral
Oleh : Anna Nur Nazilah Chamim
Oleh : Anna Nur Nazilah Chamim 1. Silabus 2. Referensi 3. Kriteria Penilaian 4. Tata Tertib Perkuliahan 5. Pembentukan Kelompok 6. Materi 1 : pengantar Analisa Numerik Setelah mengikuti mata kuliah metode
Pendahuluan
Pendahuluan Pendahuluan Numerik dengan Matlab KOMPUTASI NUMERIK dengan MATLAB Oleh : Ardi Pujiyanta Edisi Pertama Cetakan Pertama, 2007 Hak Cipta 2007 pada penulis, Hak Cipta dilindungi undang-undang.
SATUAN ACARA PERKULIAHAN (SAP)
SATUAN ACARA PERKULIAHAN (SAP) MATA KULIAH KODE / SKS PROGRAM STUDI : REKAYASA KOMPUTASIONAL (d/h Metode Numerik) : TI / 2 SKS : TEKNIK INFORMAA Pertemu Pokok Bahasan an ke dan 1 Pendahuluan-1 Agar mahasiswa
Interpolasi. Metode Numerik POLITEKNIK ELEKTRONIKA NEGERI SURABAYA DEPARTEMEN TEKNIK INFORMATIKA DAN KOMPUTER PROGRAM STUDI TEKNIK INFORMATIKA
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA DEPARTEMEN TEKNIK INFORMATIKA DAN KOMPUTER PROGRAM STUDI TEKNIK INFORMATIKA Interpolasi Metode Numerik Zulhaydar Fairozal Akbar [email protected] 2017 TOPIK Pengenalan
PETUNJUK PRAKTIKUM METODE NUMERIK (MT318)
PETUNJUK PRAKTIKUM METODE NUMERIK (MT38) Oleh : Dewi Rachmatin, S.Si., M.Si. JURUSAN PENDIDIKAN MATEMATIKA FAKULTAS PENDIDIKAN MATEMATIKA DAN IPA UNIVERSITAS PENDIDIKAN INDONESIA 9 Dewi Rachmatin PRAKTIKUM
Program Studi Pendidikan Matematika UNTIRTA. 10 Maret 2010
Metode Program Studi Pendidikan Matematika UNTIRTA 10 Maret 2010 (Program Studi Pendidikan Matematika UNTIRTA) Metode 10 Maret 2010 1 / 16 Ekspansi Taylor Misalkan f 2 C [a, b] dan x 0 2 [a, b], maka untuk
BAB II TINJAUAN PUSTAKA
BAB II TINJAUAN PUSTAKA 2.1 Dasar Teori 2.1.1 Integral Integral merupakan invers atau kebalikan dari differensial. Integral terdiri dari dua macam yakni integral tentu dan integral tak tentu. Integral
BUKU RANCANGAN PENGAJARAN MATA AJAR METODE NUMERIK. oleh. Tim Dosen Mata Kuliah Metode Numerik
BUKU RANCANGAN PENGAJARAN MATA AJAR METODE NUMERIK oleh Tim Dosen Mata Kuliah Metode Numerik Fakultas Teknik Universitas Indonesia Maret 2016 1 DAFTAR ISI hlm. PENGANTAR BAB 1 BAB 2 INFORMASI UMUM KOMPETENSI
Konsep Dasar Perhitungan Numerik
Modul Konsep Dasar Perhitungan Numerik Drs. Mulyatno, M.Si. D PENDAHULUAN alam mata kuliah Kalkulus, Aljabar Linear, Persamaan Diferensial Biasa, dan mata kuliah lainnya, dapat Anda pelajari berbagai metode
BAB II. Landasan Teori
BAB II Landasan Teori. Model Matematika Menurut Wirodikromo (998, p77) model matematika adalah suatu rumusan matematika (dapat berbentuk persamaan, pertidaksamaan / fungsi) yang diperoleh dari hasil penafsiran
PENGGUNAAN EKSTRAPOLASI UNTUK MENYELESAIKAN FUNGSI INTEGRAL TENTU NIRSAL
PENGGUNAAN EKSTRAPOLASI UNTUK MENYELESAIKAN FUNGSI INTEGRAL TENTU NIRSAL Dosen Tetap Yayasan Universitas Cokroaminoto Palopo E-Mail: [email protected] Abstrak Tujuan penelitian ini adalah untuk
SILABUS MATAKULIAH. : Mahasiswa menyelesaikan permasalahan matematika yang bersifat numerik.
SILABUS MATAKULIAH Matakuliah Jurusan : Metode Numerik : Matematika Deskripsi Matakuliah :Metode Numerik membahas permasalahan matematika yang bersifat numerik. Penyelesaian persamaan khususnya non liner,
Penggunaan Metode Numerik dan MATLAB dalam Fisika
Tugas Akhir Mata Kuliah Metode Numerik Dr. Kebamoto Penggunaan Metode Numerik dan MATLAB dalam Fisika Oleh : A. Arif Sartono 6305220017 DEPARTEMEN FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS
Hendra Gunawan. 26 Februari 2014
MA1201 MATEMATIKA 2A Hendra Gunawan Semester II, 2013/2014 26 Februari 2014 9.6 Deret Pangkat Kuliah yang Lalu Menentukan selang kekonvergenan deret pangkat 9.7 Operasi pada Deret Pangkat Mlkk Melakukan
Studi Pencarian Akar Solusi Persamaan Nirlanjar Dengan Menggunakan Metode Brent
Studi Pencarian Akar Solusi Persamaan Nirlanjar Dengan Menggunakan Metode Brent Tommy Gunardi / 13507109 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
BAB I PENDAHULUAN Latar Belakang Masalah
BAB I PENDAHULUAN 1.1. Latar Belakang Masalah Aryati dkk.(2003) menyatakan bahwa persamaan diferensial adalah formulasi matematis dari masalah di berbagai bidang kehidupan. Persamaan diferensial sering
METODE NUMERIK SEMESTER 3 2 JAM / 2 SKS. Metode Numerik 1
METODE NUMERIK SEMESTER 3 2 JAM / 2 SKS Metode Numerik 1 Materi yang diajarkan : 1. Pendahuluan - latar belakang - mengapa dan kapan menggunakan metode numerik - prinsip penyelesaian persamaan 2. Sistim
Metode Numerik - Interpolasi WILLY KRISWARDHANA
Metode Numerik - Interpolasi WILLY KRISWARDHANA Interpolasi Para rekayasawan dan ahli ilmu alam sering bekerja dengan sejumlah data diskrit (yang umumnya disajikan dalam bentuk tabel). Data di dalam tabel
Implementasi Metode Jumlah Riemann untuk Mendekati Luas Daerah di Bawah Kurva Suatu Fungsi Polinom dengan Divide and Conquer
Implementasi Metode Jumlah Riemann untuk Mendekati Luas Daerah di Bawah Kurva Suatu Fungsi Polinom dengan Divide and Conquer Dewita Sonya Tarabunga - 13515021 Program Studi Tenik Informatika Sekolah Teknik
DIKTAT PRAKTIKUM METODE NUMERIK
DIKTAT PRAKTIKUM METODE NUMERIK LABORATORIUM KOMPUTER PROGRAM STUDI FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS PADJADJARAN 2014 KATA PENGANTAR Diktat ini disusun untuk pedoman dalam
BAB II TINJAUAN PUSTAKA
BAB II TINJAUAN PUSTAKA 2.1 Deret Taylor Deret Taylor dinamai berdasarkan seorang matematikawan Inggris, Brook Taylor (1685-1731) dan deret Maclaurin dinamai berdasarkan matematikawan Skotlandia, Colin
Kelompok Mata Kuliah : MKU Program Studi/Program : Pendidikan Teknik Elektro/S1 Status Mata Kuliah : Wajib. : Aip Saripudin, M.T.
DESKIPSI MATA KULIAH EL-121 Matematika Teknik I: S1, 3 SKS, Semester II Mata kuliah ini merupakan kuliah lanjut. Selesai mengikuti perkuliahan ini mahasiswa diharapkan mampu memahami konsep-konsep matematika
RENCANA PEMBELAJARAN SEMESTER (RPS) METODE NUMERIK
RENCANA PEMBELAJARAN SEMESTER (RPS) METODE NUMERIK Mata Kuliah: Metode Numerik Semester: 7, Kode: KMM 090 Program Studi: Pendidikan Matematika Dosen: Khairul Umam, S.Si, M.Sc.Ed Capaian Pembelajaran: SKS:
Penerapan Integrasi Numerik pada Medan Magnet karena Arus Listrik
Penerapan Integrasi Numerik pada Medan Magnet karena Arus Listrik Rianto Fendy Kristanto - 13507036 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
PAM 252 Metode Numerik Bab 4 Pencocokan Kurva
PAM 252 Metode Numerik Bab 4 Pencocokan Kurva Mahdhivan Syafwan Jurusan Matematika FMIPA Universitas Andalas Semester Genap 2013/2014 1 Mahdhivan Syafwan Metode Numerik: Pencocokan Kurva Permasalahan dan
BAB 4 PENYELESAIAN SISTEM PERSAMAAN LINEAR
BAB 4 PENYELESAIAN SISTEM PERSAMAAN LINEAR A. Latar Belakang Persoalan yang melibatkan model matematika banyak muncul dalam berbagai disiplin ilmu pengetahuan, seperti dalam bidang fisika, kimia, ekonomi,
Yogyakarta, Maret 2011 Penulis. Supardi, M.Si
PRAKATA Puji syukur kami panjatkan kepada Alloh swt yang telah melimpahkan kasih sayangnya sehingga buku yang berjudul METODE NUMERIK dengan MATLAB ini dapat kami selesaikan penulisannya. Metode numerik
Analisa Numerik. Teknik Sipil. 1.1 Deret Taylor, Teorema Taylor dan Teorema Nilai Tengah. 3x 2 x 3 + 2x 2 x + 1, f (n) (c) = n!
Analisa Numerik Teknik Sipil 1 PENDAHULUAN 1.1 Deret Taylor, Teorema Taylor dan Teorema Nilai Tengah Dalam matematika, dikenal adanya fungsi transenden (fungsi eksponen, logaritma natural, invers dan sebagainya),
Kekeliruan Dalam Komputasi Saintifik
BAB 1 Kekeliruan Dalam Komputasi Saintifik Pemodelan matematika merupakan suatu proses dimana permasalahan dalam dunia nyata disajikan dalam bentuk permasalahan matematika, seperti sekumpulan persamaan
Menulis Buku Ajar, Dari Ide Hingga Menjadi Buku
Menulis Buku Ajar, Dari Ide Hingga Menjadi Buku Oleh: Rinaldi Munir Dosen Sekolah Teknik Elektro dan Informatika ITB E-mail: [email protected] 1. Pendahuluan Indonesia dengan jumlah penduduk yang
PENYELESAIAN NUMERIK PERSAMAAN DIFERENSIAL FUZZY ORDE SATU MENGGUNAKAN METODE ADAMS BASHFORTH MOULTON ORDE TIGA
Buletin Ilmiah Mat. Stat. dan Terapannya (Bimaster) Volume 03, No. 2 (2014), hal 117 124. PENYELESAIAN NUMERIK PERSAMAAN DIFERENSIAL FUZZY ORDE SATU MENGGUNAKAN METODE ADAMS BASHFORTH MOULTON ORDE TIGA
PENURUNAN FUNGSI SECARA NUMERIK
6 PENURUNAN FUNGSI SECARA NUMERIK Èada bab ini kita membicarakan metode numerik untuk menaksir nilai turunan suatu fungsi. Suatu fungsi, baik diketahui rumusnya secara eksplisit maupun dalam bentuk data
BAB I METODE NUMERIK SECARA UMUM. dengan rumus rumus aljabar yang sudah baku atau lazim.
BAB I METODE NUMERIK SECARA UMUM 1.1 Pengertian Metode Numerik Metode numerik merupakan teknik untuk menyelesaikan masalah matematika dengan pengoperasian aritmatika (hitungan), metode penyelesaian model
PERBANDINGAN SOLUSI MODEL GERAK ROKET DENGAN METODE RUNGE-KUTTA DAN ADAM- BASHFORD
Prosiding Seminar Nasional Matematika, Universitas Jember, 19 November 2014 376 PERBANDINGAN SOLUSI MODEL GERAK ROKET DENGAN METODE RUNGE-KUTTA DAN ADAM- BASHFORD KUSBUDIONO 1, KOSALA DWIDJA PURNOMO 2,
Metode Numerik (Pendahuluan) Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.
Metode Numerik (Pendahuluan) Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs. Kajian Pokok Metode Numerik Tujuan: Menyelesaikan suatu persamaan menggunakan model matematika. Pemodelan penyelesaian matematika
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI UNIVERSITAS NEGERI YOGYAKARTA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI UNIVERSITAS NEGERI YOGYAKARTA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM Program Studi : Fisika Nama Mata Kuliah : ANALISIS NUMERIK Kode : FIS6236
KATA PENGANTAR. FisikaKomputasi i -FST Undana
Disertai Flowchart, Algoritma, Script Program dalam Pascal, Matlab5 dan Mathematica5 Ali Warsito, S.Si, M.Si Jurusan Fisika, Fakultas Sains & Teknik Universitas Nusa Cendana 2009 KATA PENGANTAR Buku ajar
Silabus dan Satuan Acara Perkuliahan
Fakultas Teknik No. Dokumen : FT SSAP-S3-10 Program Studi Teknik Elektro No. Revisi : 02 Silabus dan Satuan Acara Perkuliahan Tgl.Revisi :13-07-2006 Tgl. Berlaku :13-07-2006 KOMPUTASI NUMERIK DAN SIMBOLIK
PAM 252 Metode Numerik Bab 2 Persamaan Nonlinier
PAM 252 Metode Numerik Bab 2 Persamaan Nonlinier Mahdhivan Syafwan Jurusan Matematika FMIPA Universitas Andalas Semester Genap 2016/2017 1 Mahdhivan Syafwan Metode Numerik: Persamaan Nonlinier Solusi persamaan
Pencarian Akar pada Polinom dengan Kombinasi Metode Newton-Raphson dan Metode Horner
Pencarian Akar pada Polinom dengan Kombinasi Metode Newton-Raphson dan Metode Horner Hendy Sutanto - 13507011 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
SolusiPersamaanNirlanjar
SolusiPersamaanNirlanjar Bahan Kuliah IF4058 Topik Khusus Informatika I Oleh; Rinaldi Munir(IF-STEI ITB) Rinaldi Munir - Topik Khusus Informatika I 1 RumusanMasalah Persoalan: Temukan nilai yang memenuhi
Modul 1: Analisis Galat (error) dan Masalah-masalah Mendasar Dalam Komputasi Numeris (dengan Turbo Pascal dan FORTRAN 77/90/95)
Modul 1: Analisis Galat (error) dan Masalah-masalah Mendasar Dalam Komputasi Numeris (dengan Turbo Pascal dan FORTRAN 77/90/95) A. Kendala Dalam Sistem Komputasi Numerik Dalam komputasi numerik, yaitu
PENDAHULUAN A. Latar Belakang 1. Metode Langsung Metode Langsung Eliminasi Gauss (EGAUSS) Metode Eliminasi Gauss Dekomposisi LU (DECOLU),
PENDAHULUAN A. Latar Belakang Persoalan yang melibatkan model matematika banyak muncul dalam berbagai disiplin ilmu pengetahuan, seperti dalam bidang fisika, kimia, ekonomi, atau pada persoalan rekayasa.
BAB II LANDASAN TEORI
BAB II LANDASAN TEORI 2.1 Sistem Persamaan Non Linear Definisi 2.1 (Munir, 2006) : Sistem persamaan non linear adalah kumpulan dari dua atau lebih persamaan-persamaan non linear. Bentuk umum sistem persamaan
1.1 Latar Belakang dan Identifikasi Masalah
BAB I PENDAHULUAN Seiring dengan pertumbuhan kebutuhan dan intensifikasi penggunaan air, masalah kualitas air menjadi faktor yang penting dalam pengembangan sumberdaya air di berbagai belahan bumi. Walaupun
BAB I PENDAHULUAN. ilmu pengetahuan lain untuk menyelesaikan berbagai persoalan kehidupan karena
BAB I PENDAHULUAN A. Latar Belakang Masalah Matematika merupakan salah satu ilmu pengetahuan yang sangat berguna bagi ilmu pengetahuan lain untuk menyelesaikan berbagai persoalan kehidupan karena dalam
SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA
Mata Kuliah : MAtematika Lanjut 2 Kode / SKS : IT012220 / 2 SKS Program Studi : Sistem Komputer Fakultas : Ilmu Komputer & Teknologi Informasi 1 Pendahuluan Metode Numerik Pengertian Metode Numerik Mahasiswa
SATUAN ACARA PERKULIAHAN (SAP)
SATUAN ACARA PERKULIAHAN (SAP) Nama Mata Kuliah : Metode Numerik Kode Mata Kuliah : TI 016 Bobot Kredit : 3 SKS Semester Penempatan : III Kedudukan Mata Kuliah : Mata Kuliah Keilmuan Keterampilan Mata
BAB I PENDAHULUAN 1.1 Latar Belakang
BAB I PENDAHULUAN 1.1 Latar Belakang Dalam matematika ada beberapa persamaan yang dipelajari, diantaranya adalah persamaan polinomial tingkat tinggi, persamaan sinusioda, persamaan eksponensial atau persamaan
ATUAN ACARA PERKULIAHAN MATA KULIAH ANALISA NUMERIK (S1/TEKNIK SIPIL) KODE / SKS : KK /2
ATUAN ACARA PERKULIAHAN MATA KULIAH ANALISA NUMERIK (S1/TEKNIK SIPIL) KODE / SKS : KK-031248 /2 Ming gu Pokok Bahasan & TIU Sub-pokok Bahasan dan Sasaran Belajar Cara Pengajara n Media Tugas Referensi
