P. 1
bisection method

bisection method

|Views: 547|Likes:
Published by Siska Fitrianingrum

More info:

Published by: Siska Fitrianingrum on Mar 30, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

05/21/2015

pdf

text

original

Tugas Matematika Teknik

Oleh:
1.

Qusyairi Ridho Siska Fitrianingrum Yan Hadynoer

0807100775 0807100780 0807100786

2.
3.

TINGKAT II TEKNIK RANCANG BANGUN PERALATAN SANDI

SEKOLAH TINGGI SANDI NEGARA 2010

maka dapat digunakan metode-metode simulasi. (3) Bila persoalan sudah merupakan persoalan yang mempunyai kompleksitas tinggi. maka penyelesaian matematis (metode analitik) adalah penyelesaian exact yang harus digunakan. (2) Bila persoalan sudah sangat sulit atau tidak mungkin diselesaiakan secara matematis (analitik) karena tidak ada theorema analisa matematik yang dapat digunakan. maka dapat digunakan metode numerik. ada beberapa keadaan dan metode yang digunakan untuk menghasilkan penyelesaian yang baik adalah : (1) Bila persoalan merupakan persoalan yang sederhana atau ada theorema analisa matematika yang dapat digunakan untuk menyelesaikan persoalan tersebut. Kedua.A. solusi dengan menggunakan metode numerik selalu berbentuk angka. Dalam penerapan matematis untuk menyelesaikan persoalan-persoalan perhitungan dan analisis. Pertama. kita hanya memperoleh solusi yang menghampiri atau mendekati solusi sejati sehingga solusi numerik dinamakan juga solusi hampiran (approxomation) atau solusi pendekatan. . Penyelesaian ini menjadi acuan bagi pemakaian metode pendekatan. Pengertian Metode Numerik Metode diformulasikan numerik adalah teknik dimana masalah matematika oleh sedemikian rupa sehingga dapat diselesaikan pengoperasian aritmetika. Solusi hampiran jelas tidak tepat sama dengan solusi sejati. sehingga metode numerikpun tidak dapat menyajikan penyelesaian dengan baik. sehingga ada selisih antara keduanya. namun solusi hampiran dapat dibuat seteliti yang kita inginkan. dengan metode numerik. Selisih inilah yang disebut dengan galat (error). Perbedaan utama antara metode numerik dengan metode analitik terletak pada dua hal. 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.

. Langkah – langkah dalam menyelesaikan Metode Bagi Dua : Langkah 1 : Pilih a sebagai batas bawah dan b sebagai batas atas untuk taksiran akar sehingga terjadi perubahan tanda fungsi dalam selang interval. Atau periksa apakah benar bahwa : f(a) . Hal ini dilakukan berulang-ulang hingga diperoleh akar persamaan. maka f(x < z) dan f(x > z) saling berbeda tanda. dari dua bagian ini dipilih bagian mana yang mengandung dan bagian yang tidak mengandung akar dibuang.1. Hanya saja metode biseksi ini membagi range menjadi 2 bagian. Metode Bagi Dua (Bisection Method) Prinsip: Ide awal metode ini adalah metode table. f(b) < 0 Langkah 2 : Taksiran nilai akar baru yaitu c diperoleh dari : c= a +b 2 Langkah 3 : Menentukan daerah yang berisi akar fungsi:  Jika z merupakan akar fungsi. dimana area dibagi menjadi N bagian.

Proses pencarian akar fungsi dihentikan setelah keakuratan yang diinginkan dicapai. Contoh . f(b)*f(c) positif. berarti di antara b & c tidak ada akar fungsi Langkah 4 : Menentukan kapan proses pencarian akar fungsi berhenti.0]. yang dapat diketahui dari kesalahan relatif semu.001 dengan menggunakan range x=[−1. Dengan memisalkan bahwa :  (xl) = batas bawah = a  (xu) = batas atas Χ⇒ a +b 2 =b  (xr) = nilai tengah = x .  f(a)*f(c) negatif. Carilah salah satu akar persamaan berikut: xe-x+1 = 0 disyaratkan bahwa batas kesalahan relatif (εa) =0. berarti di antara a & c ada akar fungsi.

fb=fx(xb). 0. Pemrograman bisection Method dengan MATLAB Berikut source code yang di gunakan: % ini fungsi dari bisection yang kami gunakan function rtn=bisec(fx.001 dibutuhkan10 iterasi.n) x=xa. fa=fx(xa). x=xc.xc. X=[i.xa. for i=1:n. Catatan : Dengan menggunakan metode biseksi dengan tolerasi error bear jumlah iterasi yang dibutuhkan.xb.maka diperoleh tabel biseksi sebagai berikut : Pada iterasi ke 10 diperoleh x = -0. if fc*fa<0 xb=xc. semakin teliti (kecil toleransi errornya) maka semakin .xa.56738 dan f(x) = -0.fc]. dapat dilakukan dengan menggunakan toleransi error atau iterasi maksimum. x=xb. disp(X).00066 Untuk menghentikan iterasi. xc=(xa+xb)/2.xb. fc=fx(xc).

else xa=xc.[0 2]). end end %tampilkan hasil dari bisection xa xb n r=(xa+xb)/2 end %tampilkan gambar plot dari bisection fplot(fx. grid on %ini fungsi yang kami gunakan ( f(x)= 3x + sin x – e(x) ) fx=inline('3*x+sin(x)-exp(x)'). Tampilan saat running program : .

3672 0.0363 0.2500 0.0071 0.1219 0.2866 0.3633 0.3594 0.0000 13.0000 2.0010 0.0000 9.3125 0.3438 0.0000 0.0026 0.0000 12.2500 -0.3604 -0.3750 0.3594 0.3608 0.3613 0.0001 xa = 0.0023 0.3750 0.3594 0.0420 0.3613 0.0000 0 0 0.3125 -0.3613 0.0004 0.2500 0.3604 xb = 0.0000 4.3605 n = 13 r = 0.5000 0.3307 0.3605 0.0.3633 0.13) 1.3750 0.3608 0.0000 10.3606 0.3438 -0.0000 5.0000 6.3604 0.3672 0.Hasil dari runnig program: >> bisec1(fx.0169 0.5000 0.5000 0.3604 0.3750 0.0002 0.0000 11.3606 0.3750 0.3594 0.1.0000 7.3604 .0000 8.3594 -0.3604 1.0000 3.

cari nilai xo baru. akar-akar penyelesaian tersebut tidak dapat dicari secara bersamaan.2. Metode Newton-Rhapson Metode Newton-Raphson adalah salah satu metode penyelesaian akarakar persamaan non linier f(x). Tidak dapat mencari akar kompleks (imajiner). . 2. Grafik Pendekatan Metode Newton-Raphson : Langkah-langkah penyelesaian Metode Newton-Raphson : Langkah 1: Cari f’(x) dan f”(x) dari f(x) Langkah 2 : Tentukan titik x0 dan Uji sesuai : Apakah memenuhi syarat persamaan? Jika tidak. dengan menentukan satu nilai tebakan awal dari akar yaitu xi. Jika fungsi f(x) mempunyai beberapa akar (titik) penyelesaian. Langkah 3 : Lakukan iterasi dengan persamaan : Kelemahan Metode Newton-Raphson : 1.

meskipun ada akar penyelesaiannya. do { input(). /********************************************************/ /***** Finds the root of any linear algebraic any *****/ /***** order equation by "Newton-Raphson" method *****/ /********************************************************/ main() { char ch.h> #include <stdlib. void input(void).&ch). 4.X0) < toleransi. pencarian turunan pertama dan kedua f(x) akan menjadi sulit. c) Jika nilai mutlak (Xbaru . b) Hitung Xbaru = x .h> #define ACC 0. akhiri program. scanf("%c". float dF_dx(float). dan kembali ke langkah (b).f'(X0) / f(X0). Pemrograman Newton-Rhapson Method dengan C++ #include <stdio. f) X = Xbaru. fflush(stdin).01 #define N 10 int degree. Algoritma Metode Newton-Raphson : a) Tentukan Xo. } . lanjutkan ke langkah berikutnya. dan jumlah iterasi maksimum. printf("\n \n INGIN MELANJUTKAN [y/n] ").3. float F(float). d) jika tidak. Tidak bisa mencari akar persamaan yang tidak memenuhi persyaratan persamaannya. float coeff[N]. toleransi.h> #include <math. Untuk persamaan non linier yang cukup kompleks. diperoleh tulisan x baru sebagai hasil perhitungan. e) Jika jumlah iterasi > iterasi maksimum. }while(ch=='Y' || ch=='y').h> include <conio.

i++) { func=func+coeff[i]*pow(x. if(loop>=40) exit(0).i<=degree.&ig).i++) { func=func+coeff[i]*deg*pow(x. scanf("%f". float func=0.&degree). float func=0.print--). } if(func==0) return(1). deg--.ig).0.deg. scanf("%f".(deg-1)). } return(func).i<=degree.deg. printf("\n %f ADALAH AKARNYA ". } float dF_dx(float x) { int i.i<degree.0. do { h=-(F(ig))/(dF_dx(ig)). printf("\n MASUKKAN DERAJAT DARI PERSAMAAN DIFFERENTIAL :"). if(F(ig)==0) printf("\n %f : ADALAH AKAR DARI PERSAMAANNYA \n".deg). for(i=0.&coeff[i]). ig=ig-h. deg=degree. print=degree. } . for(i=0. } printf("\n MASUKKAN TEBAKAN AWAL : _"). scanf("%d". return(func).loop=0.void input(void) { int i. deg--. }while(fabs(h)>=ACC). for(i=0. float h.i++) { printf("\n MASUKKAN KOEFISIEN PADA DERAJAT : _ [%d\t] = ". } float F(float x) { int i.print. deg=degree.ig). float ig. loop++.

maka akar-akarnya dapat ditentukan dengan persamaan abc X = (−b ± X2 – 9 = 0 adalah X1 = 3 dan X2 = -3. yaitu nilai turunan f(x) didekati dengan beda hingga (∆) b 2 − 4ac ) maka akar dari 2a . kita sring menyelesaikan persamaan kuadrat yaitu berbentuk f(x) = aX2 + bX + c . Metode Secant merupakan perbaikan dari Metode Newton. Metode Secant Ketika SMA.3. misalnya persamaan kuadrat X2 – 9 = 0.

3x . X1.83464426 . jika tidak.X1) < toleransi. Jika nilai mutlak (Xbaru . X = Xbaru.3673469--13.gambar . toleransi dan jumlah iterasi maksimum 2.40697963 f(X2) = -13. Hitung xbaru = x1 − f ( x1 ) ( x1 − x0 ) f ( x1 ) − f ( x0 ) 3. Penentuan nilai turunan fungsi dengan metode Secant.3673469 f(X3)=-13. f(6)=178 X 2= 2. lanjutkan ke langkah berikutnya 5. Dimana . X2 = 2.3673469.20 Perkiraan awal X 1= 6. akhiri program 6. Tentukan X0. diperoleh tulisan Xbaru sebagai hasil perhitungan 4. dan kembali ke langkah (2) Contoh 1: hitung akar persamaan dari f(x) = x³ . f(2)=-18 iterasi pertama: X3=2. Jika jumlah iterasi > iterasi maksimum.83464426 iterasi kedua: X1 = 2 . X3 = 2.83464426 f(2) f(x3) = -18 = 15. f ' ( xi ) = ∆f ' ( xi ) ∆xi f 1 ( xi ) = f ( xi ) − f ( xi −1 ) xi − xi −1 xi − xi −1 f ( xi ) − f ( xi −1 ) Sehingga dalam perrsamaan Newton – Rhapson menjadi : xi +1 = xi − f ( xi ) Algoritmanya sendiri dari metode ini adalah : 1.

01% Kelebihan dari Metode Secant ini dalah dimana sifatnya yang cepat mendapatkan nilai konvergen namun tidak selalu mendapatkan hasil yang konvergen terkadang bisa didapatkan hasil yang divergen.587438053 Contoh 2 : Hitung akar persamaan dari y = X3 + X2 – 3X – 3 dengan menggunakan Metode Secant. Pemrograman Secant Method dengan MATLAB .= 3. diisyaratkan bahwa batas kesalahan relatif < 0.

n=2.i.f(n)*(x(n) .x(n).Berikut source code yang di gunakan: clear x f. f(n-1). fprintf('%g %g %9.364431 1.705411 1.x(n+1). fprintf('i n x(n-1) x(n) f(x(n-1)) f(x(n)) x(n+1)\n').571429 1. banyak iterasi = %g \n'.8f\n'.x(n+1)).8f\n'. abs((x(n+1) .6f %9.tol).6f %9.x(n-1).6f\n'.f(2) = fi(x(2)).6f %9.f(n).8f <= tol = %10.00000100 i n 1 2 2 3 3 4 x(n-1) x(n) f(x(n-1)) f(x(n)) x(n+1) %9.000000 1. fprintf('%g %g f(n-1).6f %9. x(1) = 1.i=1.000000 -1. x(n+1) = x(n).n.6f.x(n).x(n))/x(n+1)) > tol f(n+1) = fi(x(n+1)). n=n+1.x(n-1))/(f(n)-f(n-1)).i).f(n)*(x(n) .x(n+1)).000000 2.000000 -4.x(n-1))/(f(n)-f(n-1)).000000 3.i=i+1. fprintf('tol = %10.6f %9. 1. fprintf('Akarnya = %8.735136 .000000 1.571429 3.tol = 0. end.i.571429 2.6f %9. while abs((x(n+1) . Outputnya adalah: tol = 0. f(1) = fi(x(1)).000001.247745 1.6f %9.6f\n'.x(n-1). %pause.364431 -0. x(2) = 2. x(n+1) = x(n).n.x(n))/x(n+1)).6f %9. fprintf('\n|(x(n+1) .705411 -1.f(n).x(n))/x(n+1)| = %10. tol).

247745 0. namun tetap memiliki kepastian atau jaminan menuju konvergensi. maka beberapa ahli metematika method. yaitu kurang cepat dalam mencapai konvergensi.735136 -0.4 5 5 6 6 7 1.000515 1.732051.705411 1.00000100 Akarnya = 1.x(n))/x(n+1)| = 0.735136 1.732051 -0.731996 1. Metode ini juga sering disebut sebagai Metode Interpolasi Linier. Garis lurus tadi seolah-olah berlaku menggantikan kurva f(x) dan memberikan posisi palsu dari akar.029255 1. Metode Regula-Falsi Seperti telah dijelaskan sebelumnya. perpotongan garis dan sumbu X dapat ditaksir sebagai : .029255 -0.f(X0)). Dengan Metode Regula-Falsi dibuat garis lurus yang menghubungkan titik( X1 . banyak iterasi = 6 4.000001 1. Perpotongan garis tersebut dengan sumbu X merupakan taksiran akar yang diperbaiki. Metode Regula-Falsi ini memiliki kelebihan dalam pencapaian nilai konvergensi yang lebih cepat.000515 -0.731996 0. f(X1) ) dan titik(X0 .00000006 <= tol = 0. telah berusaha menyempurnakan metode tersebut dengan dirumuskannya Metode Regula-Falsi atau metode posisi palsu atau false point Dengan menggunakan segitiga – segitiga sebangun pada gambar diatas.732051 1.731996 1. Metode Bisection memiliki kelemahan pokok.732051 |(x(n+1) .

dengan cara yang sama serta berturut-turut akan diperoleh taksiran akar berikutnya yang lebih baik.f ( xU ) f ( xL ) = x R − x L xR − x U Yang dapat disederhanakan menjadi : x R = xU − f ( xU )( x L − xU ) f ( xL ) − f ( xU ) Persamaan tersebut adalah rumus untuk mencari akar dengan Metode Posisi Palsu. Nilai XR merupakan nilai taksiran akar. Contoh program untuk mencari akar persamaan non linear menggunakan Metode Regula-Falsi dalam bahasa C++ .

Hasil eksekusi program untuk mencari akar dengan Metode Regula-Falsi menggunakan bahasa C+ yang dilakukan dalam selang [0. toleransi 10-5 dan jumlah iterasi maksimum sebanyak 30.1] . adalah sebagai berikut : .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->