Você está na página 1de 6

METODE REGULA FALSE

Metode Regula Falsi (dalam bahasa latin) yang berarti metode posisi palsu atau false position method merupakan suatu metode yang memanfaatkan nilai f(a) dan nilai f(b). Metode regula falsi adalah metode pencarian akar persamaan dengan memanfaatkan kemiringan (gradien) dan selisih tinggi dari dua titik batas range. Seperti halnya metode biseksi, metode ini bekerja secara iterasi dengan melakukan update range. Dengan metode ini, dibuat suatu garis lurus yang menghubungkan titik (a,f(a)) dan (b,f(b)). Perpotongan garis tersebut dengan sumbu x merupakan taksiran akar. Garis lurus tersebut seolah-olah berlaku menggantikan kurva f(x) dan memberikan posisi palsu dari akar. Prinsip : di sekitar akar fungsi yang diperkirakan, anggap fungsi merupakan garis lurus itu memotong garis nol ditentukan sebagai akar fungsi.

Gradien garis AB = gradien garis BC (f(b)-f(a))/(b-a)=(f(b)-0)/(b-c) dapat disederhanakan menjadi c=b-(f(b).(b-a))/(f(b)-f(a)) Jika ditulis dalam bentuk lain adalah sebagai berikut : p(x)=((x-b)/(a-b))f(a)+((x-a)/(b-a))f(b) P(c) = 0 c=(f(b)a-f(a)b)/(f(b)-f(a))

Langkah : a) perkirakan akar fungsi (bisa dengan cara memplot fungsi). b) Tentukan batas awal a dan b / batas awal yang mengurung akar fungsi c) Tarik garis lurus penghubung nilai fungsi pada kedua batas, lalu cari titik potongnya dengan garis nol.

Geser salah satu batas ke titik potong itu, sementara batas lain tidak berubah. Ulangi langkah 3 d) Ulangi langkah 4 sampai dianggap cukup.

Titik potong garis nol dan garis lurus yang terakhir dinyatakan sebagai akar fungsi. Metode false position jugamenggunakan dua batas sepertimetode bisection. Namun, berbeda dari metode bisection, pada metoda false position hanya satu batas yang berubah. Pada contoh sebelum ini, batas a berubah sementara batas b tetap. Pada contoh berikut terjadi sebaliknya. Menghitung akar fungsi dengan metode regula false, menggunakan a dan b sebagai batas awal: jika batas a tetap, batas b berubah.

x_(i+1)=(f(x_i )a-f(a)x_i)/(f(x_i )-f(a)) (i=0,1,2,..: x_0=b) jika batas b tetap, batas a berubah x_(i+1)=(f(x_i )b-f(b)x_i)/(f(x_i )-f(b)) (i=0,1,2,..: x_0=a) kesalahan relative semu,

Penghitungan dihentikan jika kesalahan relative semu sudah mencapai / melampaui batas yang diinginkan.

Algoritma program untuk metode Regula Falsi Tentukan a, b, toleransi eror (e), dan jumlah iterasi maksimum (RELATIF). Periksa apakah f(a) x f(b) > 0; jika ya, keluar dari progam karena pada selang yang diberikan tidak terdapat akar persamaan.

Hitung nilai c = a f(b) x (b a) / [f(b) - f(a)]. Jika nilai mutlak f(c) < toleransi, tuliskan c sebagai hasil perhitungan, dan akhiri program; jika tidak, lanjutkan ke langkah berikutnya

Jika f(a) x f(c) < 0, maka b = c; f(b)=f(c) jika tidak, a = c ;f(a)=f(c) Kembali ke langkah (3). Secara umum metode Regula Falsi lebih cepat konvergensinya jika dibandingkan dengan metode bagi dua (bisection), karena kecepatan konvergensi dapat ditingkatkan bila nilai f(a) dan f(b) juga diperhitungkan.

Contoh dan cara penyelesaian Carilah penyelesaian dari persamaan nonlinear di bawah ini dengan metode Regula Falsi: f(x) = x3 + x2 3x 3 = 0 Penyelesaian: Langkah 1: Menentukan dua titik nilai f(x) awal, f(x1) dan f(x2) dan harus memenuhi hubungan f(x1)*f(x2)<0. misalkan nilai x1 = 1 dan x2 = 2. f(x1)= (1)3 + (1)2 3(1) 3 = -4 f(x2)= (2)3 + (2)2- 3(2) 3 = 3 Di dapat F(x1)*f(x2)<0 maka titik penyelesaian berada di antara nilai x1 = 1 dan x2 = 2. Langkah 2: mencari nilai x3 dengan persamaan 2.1: Dan f(x3)= 1.571423 + 1.57142 2 3(1.57142) 3 = -1.3644314869 Langkah 3: Melakukan Iterasi dengan persamaan 2.1 pada hasil langkah 2 nilai f(x3) hasilnya

negative, dan untuk menentukan nilai x4 harus f(xa*f(xb)<10 maka yang memenuhi syarat nilai yang digunakan yaitu x2 dan x3 karena nilai f(x2)*f(x3)<0 maka : Dan f(x4)= 1.705413 + 1.705412 3(1.70541) 3 = -0.247745 Iterasi selanjutnya mencari nilai x5 dan f(x5) dan begitu seterusnya sampai didapatkan nilai error lebih kecil dari 10-7. Maka dari hasil perhitungan didapatkan nilai x = 1.7320508074. dengan nilai errornya f(x)= 2.0008883439E-09

Penyelesaian dengan menggunakan computer program regula_falsi; uses wincrt; label ulang; var x1,x2,x3,y1,y2,y3 : real; i : integer; Ab :char; data1 : real; begin ulang: clrscr; writeln('Tentukan nilai akar dari persamaan f(x)=x^3+x^2-3x-3=0 dengan Regula F write('Masukan nilai x1 = ');readln(x1); y1 := x1 * x1 * x1 + x1 * x1 3 * x1 3; writeln(' Nilai f(x1)= ',y1:0:4);

repeat begin write( 'Masukan nilai x2 = ' ); readln(x2); y2 := x2 * x2 * x2 + x2 * x2 3 * x2 3; write(' Nilai f(x2)= ',y2:0:4); end; if (y1*y2)<0 then Writeln(' Syarat Nilai Ok') else Writeln(' Nilai X2 Belum Sesuai'); until ( y1 * y2 ) <0; writeln; writeln('Penyelesaian persamaan karekteristik dengan metoda regula falsi'); writeln('-'); writeln(' n x f(x) error '); writeln('-'); repeat begin i:= i + 1; x3 := ( x2-( y2 / ( y2 y1))*(x2-x1)); y3 := x3 * x3 * x3 + x3 * x3 3 * x3 3; if i<10 then writeln(' ',i,' : ',x3,' : ',y3,' : ',abs(y3),' : ') else

writeln(i,' : ',x3,' : ',y3,' : ',abs(y3),' : '); if ( y1 * y3 ) <0 then begin x2 := x3 ; y2 := y3 ; end else begin x1 := x3 ; y1 := y3; end; end; until abs( y3 ) < 1E-08; writeln('-'); writeln('Akar persamaannya= ',x3); writeln('Errornya=' ,abs( y3 )); writeln('-'); writeln('Apakah anda ingin mengulangi (y/t): '); readln(ab); if (ab='y') or (ab='Y') then begin goto ulang; end else donewincrt; end.

Você também pode gostar