Anda di halaman 1dari 4

Latihan Soal Praktikum Komputasi Numerik

Sub Pembahasan : Akar-Akar Persamaan Non Linear Metode : Bisection/Bagidua SOAL: Tentukan beberapa titik potong antara kurva f (x) = ex dengan kurva g(x) = sin(x) dengan menggunakan metode Bisection/Bagidua! JAWAB: Untuk dapat lebih memudahkan dalam mencari titik potong antara kedua kurva, maka akan terlebih dahulu dilakukan penggambaran kurva. Jika kedua kurva di-plot dari x = 2 sampai x = 14 menggunakan pemanggilan kode berikut: exec f u n g s i . s c e gambar1 ( 2 , 1 4 , 0 . 0 1 ) ; gambar2 ( 2 , 1 4 , 0 . 0 1 ) ; l e g e n d ( f ( x ) , g ( x ) ) maka akan didapati gambar kurva sebagai berikut:

Gambar 1: Gambar Perpotongan Kurva Gambar 1 menunjukkan bahwa kedua fungsi berpotongan pada lebih dari satu titik. Melalui Gambar 1 juga dapat terlihat perkiraan titik-titik dimana kedua kurva saling berpotongan. Meskipun demikian, metode Bisection/Bagidua belum dapat diterapkan untuk membantu menemukan beberapa titik potong kedua kurva, karena metode tersebut hanya menerima sebuah fungsi saja. Untuk itu, dengan meninjau syarat-syarat dua buah kurva saling berpotongan, maka kedua fungsi tersebut akan dibuat menjadi sebuah fungsi saja sehingga nantinya dapat diselesaikan dengan menggunakan metode Bisection/Bagidua. 1

Dua buah kurva fungsi f (x) dan g(x) dikatakan berpotongan jika kedua buah fungsi tersebut memenuhi persamaan berikut: f (x) = g(x) sehingga ex = sin(x) ex sin(x) = 0 jadi, selanjutnya didapatkan sebuah fungsi baru yakni h(x) = ex sin(x) yang titik potongnya terhadap sumbu x adalah titik-titik perpotongan antara kurva fungsi f (x) dan fungsi g(x). Jika fungsi h(x) digambar dengan menggunakan perintah dalam SCILAB berikut: gambar3 ( 2 , 1 4 , 0 . 0 1 ) selanjutnya akan didapati Gambar 2 sebagai berikut:

Gambar 2: Kurva Fungsi h(x) Setelah persamaan non linear yang akan dicari akarnya telah berhasil digambar kurvanya, maka langkah selanjutnya adalah menentukan nilai a serta nilai b yang mengapit masing-masing akar. Dalam hal ini, nilai a dan nilai b yang akan digunakan selanjutnya disajikan pada Tabel 1. Langkah terakhir adalah dengan memanggil fungsi Bisection untuk masing-masing nilai a dan b yang sudah didenisikan di Tabel 1.

Tabel 1: Daftar Parameter Fungsi Bisection nilai a nilai b Akar Akar Akar Akar Akar Pertama Kedua Ketiga Keempat Kelima 0 2 5 8 12 2 4 8 10 14

Untuk mencari kelima akar dari fungsi h(x), selanjutnya ketikkan kode-kode berikut pada SCILAB: exec bagidua . s c e ; akar_pertama=bagidua ( 0 , 2 ) ; akar_kedua=bagidua ( 2 , 4 ) ; a k a r _ k e t i g a=bagidua ( 5 , 8 ) ; akar_keempat=bagidua ( 8 , 1 0 ) ; akar_kelima=bagidua ( 1 2 , 1 4 ) ; Hasil kelima akar fungsi selanjutnya disajikan di Tabel 2. Tabel 2: Daftar Akar Fungsi h(x) nilai akar Akar Akar Akar Akar Akar LAMPIRAN Kode fungsi.sce: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 function y=f ( x ) y=exp(1x ) ; endfunction function y=g ( x ) y=sin ( x ) ; endfunction function y=h ( x ) y=exp(1x)sin ( x ) ; endfunction function gambar1 ( a , b , i n t e r v a l ) c o u n t e r =1; e p s i l o n =0.00000000001; while ( abs ( ab)> e p s i l o n ) 3 Pertama Kedua Ketiga Keempat Kelima 0.5885327 3.0963639 6.2850493 9.4246973 12.566374

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

x ( c o u n t e r )=a ; y ( c o u n t e r )= f ( a ) ; a=a+i n t e r v a l ; c o u n t e r=c o u n t e r +1; end plot ( x , y , b ) ; endfunction function gambar2 ( a , b , i n t e r v a l ) c o u n t e r =1; e p s i l o n =0.00000000001; while ( abs ( ab)> e p s i l o n ) x ( c o u n t e r )=a ; y ( c o u n t e r )=g ( a ) ; a=a+i n t e r v a l ; c o u n t e r=c o u n t e r +1; end plot ( x , y , r ) ; endfunction function gambar3 ( a , b , i n t e r v a l ) c o u n t e r =1; e p s i l o n =0.00000000001; while ( abs ( ab)> e p s i l o n ) x ( c o u n t e r )=a ; y ( c o u n t e r )=h ( a ) ; c ( c o u n t e r )=0; a=a+i n t e r v a l ; c o u n t e r=c o u n t e r +1; end plot2d ( x , y ) ; plot ( x , c ) ; endfunction Kode Fungsi bagidua.sce:

1 function h a s i l=bagidua ( a , b ) 2 e p s i l o n =0.0000000000001; 3 while ( abs ( ab)> e p s i l o n ) 4 c=(a+b ) / 2 ; 5 i f ( h ( a ) h ( c ) <0) 6 b=c ; 7 else 8 a=c ; 9 end 10 end 11 h a s i l=c ; 12 endfunction

Anda mungkin juga menyukai