bahan kuliah ke 3 metoda numerik

Upload: haryanto-bin-sutrisno

Post on 10-Jul-2015

357 views

Category:

Documents


1 download

TRANSCRIPT

Penyelesaian Numerik Persamaan Non-Linear

2.1 PENDAHULUANUntuk mendapatkan penyelesaian matematika yang menjabarkan model suatu persoalan nyata bidang rekayasa, sering solusi yang dicari berupa suatu nilai variabel x sedemikian rupa sehingga terpenuhi persamaan f(x) = 0 yang digunakan dalam model. Dalam beberapa kasus, melalui faktorisasi f(x) = 0 dapat diperoleh penyelesaian seperti yang diinginkan; akan tetapi, lebih banyak jabaran persamaan dalam model mempunyai bentuk yang rumit, sehingga teknik analisis matematika murni tidak dapat memberikan solusi. Contoh Sebuah bola baja berjari-jari 1cm dibakar merata sampai mencapai temperatur 100C. Bola ini kemudian disimpan di dalam ruang pendingin dengan temperatur 0C. Dengan anggapan ada perambatan panas, maka konduksi panas dapat dinyatakan dalam persamaan fungsi untuk temperatur T di pusat bola setelah t detik sebagai : T(t) = 100 sin n (n ) exp 2 t n 8 n =1 (2.1) 1 i adalah akar positif persamaan : cos = 2 (2.2) Untuk mencari T(t) pada t tertentu di tengah bola perlu dicari harga dari persamaan (2.2); dan penyelesaian dengan cara analitik tidak berguna.

(

)

Tanya: Apakah yang dimaksud dengan menentukan x sedemikian rupa sehingga terpenuhi persamaan f(x) = 0 ? Jawab: Secara geometri ini berarti mencari suatu titik dengan f(x) tepat memotong absis x, sehingga f(x) = 0. Jika dianggap f(x) sesungguhnya memotong absis x, maka dapat dicari suatu interval [a,b], sedemikian rupa sehingga f(a) dan f(b) mempunyai tanda berbeda (Gambar 2.1). yf(a)

y = f(x)b

x Gambar 2.1 Tinjauan interval [a,b] dalam penentuan akar fungsi f(x).

af(b)

Metode Numerik Dalam Ilmu Rekayasa Sipil

Bab II hal. 1

Penyelesaian Numerik Persamaan Non-Linear Dengan pembatasan interval ini, secara cermat dapat dicari nilai x = yang memberikan nilai f() = 0, sebagai berikut : 1. Bagi dua interval [a,b] dan evaluasi nilai f(x) pada titik tengah interval. 2. Apabila f(m) = 0 berarti x = m; bila tidak, dicari posisi nilai m apakah berada pada interval [a,m] atau interval [m,b]; yaitu dengan memeriksa perbedaan tanda : jika f(a) dan f(m) berbeda tanda, berarti di [a,m] jika f(a) dan f(m) mempunyai tanda sama, berarti di [m,b]. Proses pembagian sub-interval dapat diulangi sampai ditemukan nilai yang memberikan f() = 0. Gambar 2.2 menjelaskan proses pembagian sub-interval.

2.2 METODE BISECTION dan REGULA FALSIMetode numerik untuk mendapatkan harga x untuk f(x) = 0 seperti uraian di pasal 2.1 disebut METODE BISECTION. Tahap pertama proses adalah menetapkan nilai sembarang a dan b sebagai batas segmen nilai fungsi yang dicari. Batasan a dan b memberikan harga bagi fungsi f(x) untuk x = a dan x = b. Langkah selanjutnya adalah memeriksa apakah f(a) f(b) < 0. Apabila terpenuhi syarat tersebut, berarti terdapat akar fungsi dalam segmen tinjauan. Jika tidak demikian, kembali harus ditetapkan nilai a dan b sedemikian rupa sehingga terpenuhi ketentuan perkalian f(a) f(b) < 0. Dengan rumusan m = (a+b)/2, diperiksa apakah nilai mutlak f(m) < 10-6 (batas simpangan kesalahan). Jika benar, nilai x = m adalah solusi yang dicari. Jika tidak terpenuhi, ditetapkan batasan baru dengan mengganti nilai b = m apabila f(a)*f(m) < 0, dan mengganti a = m bila f(a) f(m) > 0; proses menemukan m baru dilakukan seperti prosedur yang telah dijelaskan. y f(a)

[f(a) x f(m)0] f(bb

x Gambar 2.2 Penentuan nilai tengah m interval metode Bisection

Metode Bisection adalah salah satu kelas metode Pengelompokan, karena prosedur untuk mendapatkan nilai x untuk f(x) = 0 dilakukan melalui pendekatan kelompok akar. Metode ini tidak sepenuhnya memanfaatkan data f(x) bagi penentuan nilai x. Misalnya, tidak digunakannya ukuran relatif f(a) dan f(b), karena umumnya jika f(a) < f(b) dalam nilai mutlaknya, maka akar persamaan akan terletak lebih dekat ke f(a), seperti dijelaskan di Gambar 2.2. Salah satu cara efektif mendapatkan nilai m ini adalah menghubungkan f(a) dan f(b) dengan garis lurus dan perpotongan garis ini dengan absis x merupakan nilai m, seperti dijelaskan pada Gambar 2.3. Metode Numerik Dalam Ilmu Rekayasa Sipil Bab II hal. 2

Penyelesaian Numerik Persamaan Non-Linear Penetapan m ini dikenal dengan cara REGULA FALSI dan algoritmanya sama seperti metode Bisection, kecuali mengganti penentuan m dengan rumusan : (b a) f(b) m=a f(b) f(a)

f(a)

a m

b Gambar 2.3 Penentuan nilai m dari perpotongan garis lurus melalui dua titik.

f(b

Proses dengan cara ini memberikan perhitungan yang lebih cepat dibandingkan dengan metode Bisection, walaupun pada kasus yang khusus dapat juga terjadi proses cantelan, baik pada a ataupun b, yang memperlambat perhitungan. Pada algoritma, proses memang dihentikan jika dicapai nilai mutlak f(m) < 10-6, tetapi untuk kecermatan hasil, kriteria ini belum cukup. Dengan memperhatikan dua sifat kurva seperti pada Gambar 2.4, maka syarat kecermatan yang tepat adalah (a) y f(a) y f(a) b a f(b) f(b) (a). harga mutlak [abaru - bbaru ] < 10-6 (b). harga mutlak f (m) < 10-6 x a b x

Gambar 2.4 Syarat lengkap kecermatan.

Metode Numerik Dalam Ilmu Rekayasa Sipil

Bab II hal. 3

Penyelesaian Numerik Persamaan Non-Linear Untuk menghindari masalah yang mungkin terjadi bagi perilaku persamaan yang tidak dapat dilacak, perlu pembatasan tinjauan interval sesuai dengan sifat fungsi. Hal ini penting dalam teknik numerik untuk memperoleh solusi nyata. Sebagai penjelasan, jika cot x = 1/(2x). yang bila akan dicari besaran x persamaan ini, bentuk persamaan diubah menjadi f(x) = tan x - 2x = 0, (2.3) maka dengan mengabaikan akar x = 0 yang bukan solusi persamaan dasar, terlihat bahwa metode Bisection atau Regula Falsi tidak akan memberikan solusi. Hal ini perlu disadari bahwa fungsi f(x) bukan fungsi kontinu untuk nilai kelipatan ganjil dari /2, seperti dijelaskan di Gambar 2.5. y y=tanx y=2x

x/2 3/2

Gambar 2.5 Fungsi periodik y = tan x diskontinu pada kelipatan ganjil /2. 2.2.1 Algoritma Program Algoritma program untuk metode Bisection a). Tentukan a, b, toleransi, dan jumlah iterasi maksimum. b). Periksa apakah f(a) x f(b) > 0; jika ya, keluar dari progam karena pada selang yang diberikan tidak terdapat akar persamaan. c). Hitung nilai m = (a + b)/2 d). Jika nilai mutlak (b-a) < toleransi, tuliskan m sebagai hasil perhitungan, dan akhiri program; jika tidak, lanjutkan ke langkah berikutnya. e). Jika jumlah iterasi > iterasi maksimum, akhiri program. f). Jika f(a) x f(m) < 0, maka b = m; jika tidak, a = m. g). Kembali ke langkah (c). Algoritma program untuk metode Regula Falsi a). Tentukan a, b, toleransi, dan jumlah iterasi maksimum. b). Periksa apakah f(a) x f(b) > 0; jika ya, keluar dari progam karena pada selang yang diberikan tidak terdapat akar persamaan. c). Hitung nilai m = a - f(b) x (b - a) / [f(b) - f(a)]. d). Jika nilai mutlak (m-a) < toleransi, tuliskan m sebagai hasil perhitungan, dan akhiri program; jika tidak, lanjutkan ke langkah berikutnya.

Metode Numerik Dalam Ilmu Rekayasa Sipil

Bab II hal. 4

Penyelesaian Numerik Persamaan Non-Linear e). Jika jumlah iterasi > iterasi maksimum, akhiri program. f). Jika f(a) x f(m) < 0, maka b = m; jika tidak, a = m g). Kembali ke langkah (c). 2.2.2 Bagan Alir Program Dalam mempersiapkan program sumber, algoritma dijabarkan dalam bentuk bagan alir yang dapat dilihat pada dua bagan berikut ini. 2.2.2.1 Bagan Alir Metode BisectionMULAI DEFINISIKAN FUNGSI Baca a, b, tol, iter_max Iter = 0 Fa = F(a) Fb = F(b)

Fa * Fb > 0 tidak

ya

Tulis Fa * Fb > 0

iter = iter +1 m = (a + b)/2 Fm = F(m)

1

|m-a| < tol iter > iter_max Tidak Fa * Fm < 0 ya b=m Fb = Fm

Ya

tidak a=m Fa = Fm

Tulis hasil m, F(m)

1 SELESAI

Metode Numerik Dalam Ilmu Rekayasa Sipil

Bab II hal. 5

Penyelesaian Numerik Persamaan Non-Linear 2.2.2.2 Bagan Alir Metode Regula FalsiMULAI

DEFINISIKAN FUNGSI Baca a, b, tol, iter_max Iter = 0 Fa = F(a) Fb = F(b)

Fa * Fb > 0 tidak

ya

Tulis Fa*Fb > 0 iter = iter +1 m = a - Fb*(b-a) (Fb - Fa) Fm = F(m) 1

|m-a|iter_max tidak ya b=m Fb = Fm Fa*Fm iterasi maksimum, akhiri program. e). xo = xbaru , dan kembali ke langkah (b).

2.3.2 Bagan Alir Program Dalam mempersiapkan program sumber, algoritma dijabarkan dalam bentuk bagan alir berikut, dan bagan alir metode ini dapat dilihat pada Bagan 2.3.2.1.

Metode Numerik Dalam Ilmu Rekayasa Sipil

Bab II hal. 9

Penyelesaian Numerik Persamaan Non-Linear 2.3.2.1 Bagan Alir Metode IterasiMULAI DEFINISIKAN FUNGSI Baca xo, tol, iter_max Iter = 0

iter = iter +1

xb = G(xo)

|xb-xo|iter_max

ya

Tidak xo = xb

Tulis hasil xb, F(xb) Stop

Metode Numerik Dalam Ilmu Rekayasa Sipil

Bab II hal. 10

Penyelesaian Numerik Persamaan Non-Linear 2.4 METODE NEWTON-RAPHSON Metode yang lebih baik dalam memilih g(x) adalah dengan membuat garis singgung dari f(x) untuk nilai x yang dipilih, dan dengan menggunakan besaran x dari perpotongan garis singgung terhadap absis sehingga diperoleh nilai x baru. Metode ini diperlihatkan pada Gambar 2.9.

y

garis singgung

xk+1 xkf(x)

x

Gambar 2.9 Garis singgung f(xk) memotong di xk+1. Dari diagram ini terlihat tagensial (garis singgung) f(x) adalah : f(x k ) f(x k + 1 ) f' (x ) = (x k x k + 1 ) f(x k ) f' (x ) = (x k x k + 1 ) sehingga x k+1 = x k - f( x k ) / f(x k), k = 0,1,2,....

(2.6) (2.7) (2.8)

Metode ini dikenal dengan METODE NEWTON-RAPHSON dan merupakan salah satu cara yang paling dikenal dalam metode penyelesaian fungsi f(x) = 0. Keuntungan cara ini adalah sifat konvergensi kuadratik dalam proses iterasi, karena terjadinya koreksi digit ganda di setiap proses.Contoh f(x) = x - 3x - 3x - 20 , maka f(x) = 3x - 3 Dengan demikian x k+1 = x k - ( xk - 3xk - 20) / (3xk - 3). Perkiraan awal x0 = 5 x3 = 3.0859 x0 = 5 x1 = 3.75 x4 = 3.0809 x2 = 3.2018 x5 = 3.0809

Metode Numerik Dalam Ilmu Rekayasa Sipil

Bab II hal. 11

Penyelesaian Numerik Persamaan Non-Linear

Kekurangan metode ini adalah : a). Harus mencari f(x), dan nilainya mungkin 0. b). Tidaklah sederhana melacak proses untuk konvergen. c). Dalam perhitungan ada kemungkinan besar proses memberikan hasil divergen, kecuali nilai perkiraan awal x cukup tepat.

2.4.1 Konvergensi Metode Newton-Raphson

Dengan memperhatikan rumusan xk=1 = xk - f (xk )/f (xk ), k = 0, 1, 2, dan syarat konvergensi | g (x) | < 1, berarti d f (x ) f (x ) f" (x ) g' (x ) = = iterasi maksimum, akhiri program. e). x = xbaru , dan kembali ke langkah (b).

Metode Numerik Dalam Ilmu Rekayasa Sipil

Bab II hal. 13

Penyelesaian Numerik Persamaan Non-Linear 2.4.3 Bagan Alir Program

Dalam mempersiapkan program sumber, algoritma dijabarkan dalam bentuk bagan alir berikut.2.4.3.1 Bagan Alir Metode Newton-RaphsonMULAI DEFINISIKAN FUNGSI Baca xo, tol, iter_max Iter = 0

iter = iter +1 Fx=F(xo) F1x=F'(xo)

xb =xo-Fx/F1x

|xb-xo|iter_max Tidak xo = xb

ya

Tulis hasil xb, F(xb) SELESAI

Metode Numerik Dalam Ilmu Rekayasa Sipil

Bab II hal. 14

Penyelesaian Numerik Persamaan Non-Linear 2.4.3.2 Bagan Alir Metode SecantMULAI DEFINISIKAN FUNGSI Baca xo, x1, tol, iter_max Iter = 0

iter = iter +1 xb =x1- f(x1)*(x1-xo) [f(x1)-f(xo)]

|xb-xo|iter_max

ya

Tidak xo = xb

Tulis hasil xb, F(xb) SELESAI

Metode Numerik Dalam Ilmu Rekayasa Sipil

Bab II hal. 15

Penyelesaian Numerik Persamaan Non-Linear 2.5 NILAI AWAL PERKIRAAN

Dalam hal tidak adanya petunjuk dalam penetapan nilai awal, maka usaha berikut ini dapat dilakukan : Membuat grafik fungsi, lalu diidentifikasikan segmen fungsi yang memotong absis. Membuat tabel harga x and f(x), lalu diidentifikasi nilai x pada perubahan tanda f(x).

2.6 PROGRAM SUMBER

Dari rancangan algoritma atau bagan alir, program komputer dapat dikembangkan melalui pembuatan program sumber di dalam bahasa tingkat tinggi PASCAL dan C++. Secara umum terdapat enam kategori utama dari pernyataan dalam program sumber, yaitu : 1. Pernyataan bagi arsip atau file dan record yang akan diproses oleh komputer. 2. Pernyataan untuk data di luar arsip, seperti untuk membuat judul yang perlu bagi dokumentasi. 3. Pernyataan memindahkan data pada satu lokasi memori ke lokasi memori lainnya dalam memori utama komputer. 4. Pernyataan untuk melakukan operasi aritmatik yang disimpan dalam memori utama. 5. Pernyataan logika : proses urut, perbandingan, dan iterasi. 6. Pernyataan membaca data dari memori dampingan ke memori utama atau menuliskan data dari memori utama ke memori dampingan. Pemahaman lebih jauh dalam pemrogramana dapat dibaca pada buku-buku komputer. Lampiran A buku ini mengulas secara umum prosedur pemrograman dalam bahasa TURBO PASCAL dan C++.2.6.1 Program Sumber untuk Metode Bisection

Program berikut menggunakan algoritma metode Bisection untuk menyelesaikan persamaan non-linear. Program akan dicoba untuk menyelesaikan persamaan : tan (x) - x - 0,5 = 02.6.1.1 DEKLARASI SUMBER PROGRAM dalam BAHASA C++// Program 1.1a // Metode Bisection #include #include /* Daftar Variable a = batas bawah b = batas atas tol = toleransi max_iter = jumlah iterasi maksimum float a,m,b,F_a,F_m,F_b,tol; int max_iter;

*/

Metode Numerik Dalam Ilmu Rekayasa Sipil

Bab II hal. 16

Penyelesaian Numerik Persamaan Non-Linearfloat f(float x) { return tan(x) - x - 0.5; } void main() { int it; float epsilon; printf("Batas bawah printf("Batas atas printf("Toleransi printf("Jumlah iterasi maksimum = = = = "); "); "); "); scanf("%f",&a); scanf("%f",&b); scanf("%f",&tol); scanf("%d",&max_iter);

it = 0; F_a = f(a); F_b = f(b); if(F_a * F_b > 0) printf(" Nilai F(a) x F(b) > 0\n"); else { printf("It. a m b f(a) f(b)"); printf(" abs[f(b)-f(a)]/2\n"); do { it = it + 1; m = (a + b) / 2; F_m = f(b); printf("%3d %8.5f %8.5f %8.5f %8.5f %8.5f %8.2e\n", it,a,m,b,F_a,F_b,fabs(F_b-F_a)/2); epsilon = fabs(m-a); if(F_a * F_m