Anda di halaman 1dari 19

Metode Pencarian Akar

• Pertemuan ini membicarakan metode


pencarian akar dari suatu fungsi, yakni
Metode Bagi Dua
• Dikenal juga dengan Metode Belah Dua
• Atau Metode Bolzano.
Metode Bolzano
• Perhatikan grafik berikut

Y F(x) = 0

F(a)
X
b
a F(a)
X

X = (a+b)/2
Perhatikan dan pahami ilustrasi
berikut
f(x) =0
F(a)

X1 b
[ b
a
a T2
F(b)

Akar
real
Ingat bahwa
• Selang yang diperiksa (a,b) dengan syarat f (a)* f (b) < 0
• Selang yang diperiksa dibagi 2 sama panjang
• Kemudian diselidiki setengah selang mana yang
mengandung akar
• Selanjutnya, setengah selang yang mengandung
akar tersebut dibagi 2 lagi
• Proses ulang sampai selang yang mengandung
akar sudah cukup kecil.
• Ingat lagi bahwa
• a : di kiri (batas interval kiri)
• b : di kanan (batas interval kanan)

• X : Titik tengah dari selang [a, b]


Ingat kembali ilustrasi sebelumnya

. F(a) > 0
• F(b) < 0
• F(a) f(b) < 0 maka ada akar di (a,b),
misakan X yaitu tengah-tengah (a,b), maka
• X = ab
2
Selanjutnya periksa,
• F(a) > 0
• F(X) <0
• Karena f(a) * f(X) < 0 maka geser b ke X,
yakni b = X
• Perhatikan sekarang intervalnya sudah lebih
kecil dari sebelumnya
• Selang dibagi dua lagi
ab
• X=
2
Selanjutnya periksa lagi,
• F(a) > 0
• F(X) >0
• Karena f(a).f(X) > 0 maka geser a ke X,
yakni a = X
• Perhatikan sekarang intervalnya sudah lebih
kecil dari sebelumnya
• Selang dibagi dua lagi
ab
• X= 2
• Begitulah seterusnya proses tersebut
dilakukan.
Kapankah prosesnya berhenti?
• Proses berhenti jika
• Jarak antara a dan b sudah sangat dekat,
• Yakni
• |a – b| < epsilon
Sekali Lagi,
• Untuk menghentikan proses tersebut kita
gunakan aturan bila jarak antara a adan b
sudah sangat dekat, yakni jika |a – b| < , 
merupakan pengganti dari suatu kostanta
yang sangat kecil
Bagaimanakah Algoritmenya?
• Algoritme Mencari Akar dengan menggunakan
metode Bolzano
• Masukan : f(x) yaitu fungsi yang diketahui
•  yaitu pengganti bilangan yang sangat keci
• a yaitu tepi kiri interval
• b yaitu tepi kanan interval
• Keluaran: T (Akar)
• Langkah-langkah:
1. T = (a+b)/2
2. Bila f(a)*f(T) <0 maka b= T lainnya a = T
3. Bila | a – b| <  maka proses berhenti
4 Kembali ke 1
Buatlah Program Dalam QBASIC
untuk mementukan akar dengan
metode Bolzano

• Selamat Bekerja
cls
• Masukan : f(x) = ex – 4x Def fnf(x) = exp(x) -4*x
• eps Input “Epsilon”; eps

• a Input a
Input b
• b
Mulai:
• Keluaran: T (Akar) T = (a+b)/2
• Langkah-langkah: IF f(a)*f(T2) <0 then b= T else a = T

1. T = (a+b)/2
If abs(a – b) < eps then goto berhenti
2. Bila f(a)*f(T2) <0 maka Goto mulai
b= T lainnya a = T Berhenti:
3. Bila | a – b| <  maka Print “AKAR = “; T
proses berhenti End
4 Kembali ke 1
• SELAMAT BERLATIH
• 10 menit
• Cls
• ‘ini program dalam Just basic
• Print "INI program Bolzano untuk mencari akar f(x) = exp(x) -4x"
• print " OLEH fATIMAH"
• eps= 0.00001
• Input "Batas tepi kiri interval a = ";a
• Input "Batas tepi kanan interval b =";b
• [Mulai]
• T = (a+b)/2
• IF f(a)*f(T) <0 then b= T else a = T
• if ABS(a-b)< eps then goto[Berhenti]
• PRINT "T=",T
• goto [Mulai]
• [Berhenti]
• Print "AKAR YANG DICARI ADALAH = "; T
• function f(x)
• f=exp(x)-4*x
• end function
• End
• Koding Metode Bolzano ke T. Pascal.
• Program Bolzano;
• uses crt;
• var eps,x,a,b,T,akar:real;
• var i:Integer;
• r:char;
• function f(x:real):real;
• begin
• f:=exp(x)-4*x;
• end;
• begin
• clrscr;
• write('a=');readln(a);
• write('b=');readln(b);
• eps:=0.0001;
• writeln('iterasi',' ','f(x)');
• i:=1;
• while abs(a-b)>eps do
• begin
• T:=(a+b)/2;
• if f(a)*f(T)<0 then BEGIN b:=T END else a:=T;
• if abs(a-b)<eps then akar:=T;
• WRITEln(i,' ',t:2:4);
• i:=i+1;
• end;
• writeln('jadi akar terletak pada langkah ke=',i,' ','yaitu ', akar:4:6);
• r:=readkey;
• end.
• Program Mencari_Akar_Dengan_Metode_Bagi_Dua;
• Uses Dos, CRT;
• Var
• t, a : real;
• b : real;
• eps : real;
• Function f(x:real): Real;
• Begin
• F := exp(x) + x;
• End;
• Begin
• Clrscr;
• Write ('Berapakah batas bawah interval =');readln(a);
• Write ('Berapakah batas atas interval =');readln(b);
• Write ('Berapakah nilai epsilon yang digunakan =');readln(eps);
• repeat
• t := (a + b)/2;
• if f(a) * f(t) > 0 then begin a := t end else b := t;
• until abs(b-a) < eps;
• Write('Akar persamaan terakhir adalah =', T:2:2);
• End.

Anda mungkin juga menyukai