Anda di halaman 1dari 9

Metode secant/Metode Tali busur

Persamaan iterasi untuk methode newton:


f ( xi )
xi 1  xi 
f ' ( xi )

Bagaimana bila ternyata turunan fungsi f’(x) sulit ditemukan


???????
Apa jadinya???
Jawab:

Tentu methode newton tidak dapat


dipakai!!!!
Bagaimana solusinya???
Solusinya adalah, bahwa sebetulnya f’(x) pada hakekatnya
merupakan suatu slope atau gradien

f ( xi )  f ( xi1 )
Slope = m = f’(x) = 
xi  xi1

Sehingga kemudian rumus newton dimodifikasi menjadi:

f ( xi ) f ( xi ).( xi  xi 1 )
xi 1  xi   xi 
f ( xi )  f ( xi 1 ) f ( xi )  f ( xi 1 )
xi  xi 1

Rumus ini disebut dengan rumus iterasi metode secant.


Dari rumus metode secant terlihat bahwa untuk mendapatkan
nilai dari xi+1 maka dibutuhkan 2 tebakan awal (sebaiknya
berdekatan), yaitu xi dan xi-1 sebagai starting point.

Keuntungan metode secant adalah tidak perlu mencari


turunan fungsi secara analitis dibanding metode newton,
mengingat tidak semua fungsi dgn mudah dapat dicari
turunannya.

Namun harus diperhatikan bahwa nilai f(xi) tidak boleh sama


dengan f(xi-1) karena pembaginya akan = 0
Contoh:
Temukan akar dari:
f(x) = x3 – x - 4
menggunakan metode secant dengan tebakan awal Xo= 0 dan
X1= 2

jawab:
metode secant:
f ( xi ).( xi  xi 1 )
xi 1  xi 
f ( xi )  f ( xi 1 )

Sehingga rumusnya menjadi:

( x  xi  4).( xi  xi 1 )
3
xi 1  xi  3 i
( xi  xi  4)  ( x 3i 1  xi 1  4)

Iterasi pertama:

( x  x1  4).( x1  x0 ) (2)(2  0)
3
4
x2  x1  3 1  2  ( )  2   1,333
( x1  x1  4)  ( x 0  x0  4)
3
(2)  (4) 6

Dengan cara yang sama, diperoleh


x3=1,731; memakai X2 dan X1 (Xo tidak dipakai lagi), dst....
x4=1,820; dst...
x5=1,795;
x6=1,796;
x7=1,796
Atau dalam Tabel iterasi:
Iterasi ke(i) Xi
0 0
1 2
2 1,333
3 1,731
4 1,820
5 1,795
6 1,796
7 1,796

Bisakah menggunakan excell?

Aplikasi ke Matlab:
m.file secant
%metode secant

%tulis variabel
xo=0; x1=2;

%lakukan looping
for i=2:10,
x=x1-((x1^3-x1-4)*(x1-xo))/((x1^3-x1-4)-(xo^3-xo-4));
iterasi=[iterasi; i x ];
if (abs (x-x1)<0.0001), break; end
xo=x1; x1=x;
end

iterasi

hasil iterasi matlab:

iterasi =
0 0
1.0000 2.0000
2.0000 1.3333
3.0000 1.7313
4.0000 1.8204
5.0000 1.7953
6.0000 1.7963
7.0000 1.7963
Latihan:

Rumus
f ( xi ).( xi  xi 1 )
xi 1  xi 
f ( xi )  f ( xi 1 )

Kunci jwb: x=0.605....

Jawab:
Tabel iterasinnya:??????
??????
Modifikasi bentuk secant:
f ( xi )  f ( xi1 )
f’(x)= 
xi  xi1

f ( xi ) f ( xi ).( xi  xi 1 )
xi 1  xi   xi 
f ( xi )  f ( xi 1 ) f ( xi )  f ( xi 1 )
xi  xi 1
Dengan menggunakan suatu bilangan yg sangat kecil
(δ=perturbation fraction) maka menurut konsep ini turunan
dapat dimodifikasi menjadi:

Sehingga bentuk modified secant:

Jadi harus ditentukan suatu nilai δ terlebih dahulu.

LATIHAN
Temukan akar dari:
f(x) = x3 – x - 4
menggunakan metode modifikasi secant dengan tebakan awal
X1= 2 dengan perturbation fraction yg kecil sembarang

PR1:
cari akar dari f(x)= ex – x - 2 = 0 menggunakan
metode modifikasi secant dengan tebakan awal xo=-10
coba cek bila perturbation factor diubah-ubah (kecil
dan sangat kecil)....apa efeknya terhadap jumlah iterasi?
PENCARIAN AKAR POLINOMIAL
DENGAN MATLAB
Matlab menyediakan fungsi untuk mencari akar suatu
polinomial

Misalkan akan dicari akar dari f(x)= x4 – 5x3 +5x2+5x-6=0


Maka menggunakan matlab:
% penyelesaian polinomial
f=[1 -5 5 5 -6];
a=roots(f);
a

jawaban:

a=

3.0000
2.0000
1.0000
-1.0000
Ada 4 akar

Contoh lain
% misalkan soal suatu polinomial f(x) = X2 -2X – 8
% mau dicari akar-akarnya, maka tulis:

p=[1 -2 -8];
a=roots(p);
a

jawaban:

a=

4
-2 ada 2 akar

Contoh lagi:
% misalkan soal suatu polinomial f(x) = 2X5 -0.5X – 8
% mau dicari akar-akarnya, maka tulis:

p=[…………………]; apa isinya??


a=roots(p);
a

fzero
untuk yg lain bisa gunakan fzero di matlab.....
tugas dirumah (PR2) ttg cara menggunakan fzero dari
matlab

Melihat bentuk kurva


Dengan terlebih dahulu melihat bentuk kurvanya, misal ingin dilihat bentuk kurva dalam
rentang -2<x<6 dari pers y=x2-4x-5 dengan grid increment 0,01
shg dapat dipilih tebakan awal

x=-2:0.01:6;

y=x.^2 - 4*x -5; %y=(x-5)(x+1)

plot(x,y);

grid;

Anda mungkin juga menyukai