Supardi, M.Si
BAB II
PENCARIAN AKAR PERSAMAAN NON LINIER
PENDAHULUAN
Dalam bab ini, kita akan membahas tentang beberapa metode numerik yang
dapat digunakan untuk menemukan akar-akar persamaan non-linier. Masalah yang
akan kita bahas tersebut secara matematis dapat diterangkan sebagai pencarian hargaharga x sedemikian hingga memenuhi persamaan non-liner f ( x ) = 0 .
Manakala kita mengatakan bahwa f ( x ) adalah fungsi non-linier dalam x ,
ini berarti bahwa f ( x ) tidak dinyatakan dalam bentuk ax + b , dimana a dan b
merupakan konstanta dan manakala kita mengatakan bahwa f ( x ) adalah fungsi
aljabar, ini berarti bahwa fungsi tersebut tidak melibatkan bentuk diferensial
d n y dx n .
Masalah menemukan akar dari suatu persamaan non linier ini merupakan
masalah yang muncul dalam berbagai disiplin ilmu. Contoh sederhana dari
2
persamaan nonlinier adalah persamaan kuadratik yang berbentuk f ( x ) = ax + bx + c
11
Bab 2
analitik
Supardi, M.Si
biasanya
akan
menemui
kesulitan,
meskipun
persamaan
tersebut
kelihatannya sederhana. Hal inilah yang menjadi sebab mengapa metode numerik
menjadi sangat diperlukan dalam memecahkan persoalan-persoalan dalam bidang
sains dan teknologi bahkan ekonomi sekalipun.
Di dalam bab ini kita akan mempelajari berbagai teknik pendekatan numerik
untuk masalah mendapatkan akar persamaan nonlinier. Cara termudah sudah kita
perlihatkan secara sekilas pada bab 1 yaitu dengan cara grafis. Teknik tersebut
sebenarnya tidak termasuk ke dalam metode numerik, mengingat teknik ini tidak
melewati serangkaian kaidah-kaidah analisis numerik. Meskipun demikian kita akan
membahasnya karena pada saatnya nanti akan sangat berguna ketika kita
memerlukan terkaan awal dari sebuah akar persamaan yang dicari.
Disamping itu, beberapa metode numerik akan dibahas secara detail antara
lain metode bagi dua (bisection), Newton-Raphson, posisi palsu (regula
falsi/interpolasi linier), Secant dan metode iterasi langsung. Contoh soal juga akan
diberikan untuk memberikan gambaran jelas terhadap metode yang dipelajari.
dapat mengeplot secara sederhana fungsi tersebut dengan menggunakan salah satu
paket software matematika seperti terlihat pada gambar 2.1. Dalam buku ini
pengeplotan grafik dilakukan dengan menggunakan Matlab.
Dengan menarik garis perpotongan antara grafik f ( x ) dengan sumbu-x,
maka kita dapat memperkirakan akar-akar persamaan yang dimilikinya. Satu akar
persamaan terletak kira-kira di x = 0,59 dan yang lain berkisar di x = 0,81 . Hasil
Pencarian Akar Persamaan Nonlinier
12
Bab 2
Supardi, M.Si
13
Bab 2
Supardi, M.Si
2) Tentukan
f c = f x c , f a = f x a dan f b = f x b .
3) Apabila
f x c =0 ,
maka
x = xc
merupakan
penyelesaian
eksaknya.
4) Apabila f a f c < 0 , maka akar persamaan berada di dalam interval
[ xa , xc] .
14
Bab 2
Supardi, M.Si
MULAI
Menentukan f(x)
Menentukan fa=(xa)
dan fb=f(xb)
Apakah
fa*fb < 0 ?
TIDAK
YA
Masukan harga
Tol, n=0, xc=0
n=n+1;
xc=(xa+xb)/2
TIDAK
Apakah
f(xa)f(xc) < 0?
YA
xa=xc,
fa=fc
xb=xc
fb=fc
CETAK n vs xc
STOP
15
Bab 2
Supardi, M.Si
( xc , xb )
( xa , xb )
baik dengan
( xa , xc )
maupun
x 0 , maka
kesalahan (error) dalam penaksiran terhadap akar persamaan f ( x ) = 0 adalah ratarata dari kedua interval tersebut dibagi dua. Kita akan mengulangi prosedur membagi
dua interval secara terus menerus hingga ditemukan akar persamaan yang sudah
sangat dekat dengan harga eksaknya atau syukur-syukur diperoleh harga eksaknya.
(2-1)
Ungkapan yang lebih umum, jika xn merupakan taksiran harga terhadap akar
x = x0 pada iterasi ke n , maka kesalahan penaksiran ini dinyatakan oleh
en = xn x0
(2-2)
Dalam banyak kasus, kita dapat menyatakan kesalahan pada langkah ke n tersebut
sebagai
e n +1 = C en
(2-3)
16
Bab 2
Supardi, M.Si
Untuk metode bagi dua kita dapat mengestimasi en sebagai n . Bentuk dari
17
Bab 2
Supardi, M.Si
Penyelesaian
Langkah pertama, kita lakukan perhitungan untuk terkaan awal yang
diberikan, yaitu
Untuk
Dari dua harga fungsi yang berhubungan dengan terkaan awal yang diberikan
hasilnya diuji dan menurut hitungan diperoleh bahwa hasil kalinya berharga negatif.
Ini berarti bahwa harga terkaan tersebut telah mengurung akar persamaan yang
sedang dicari. Selanjutnya diteruskan dengan menghitung x3 dengan cara merataratakan kedua terkaan awal dan dihitung f ( x3 )
x 3=
x 1x 2
=0.5
2
f x 3=0.5=cos 0.50.5=0.377583
Oleh karena f ( x3 ) berharga positif, maka akar persamaan berada di antara absis
x 3=0.5 dan x 2=1 , karena f ( x2 ) f ( x3 ) < 0 .
Langkah berikutnya adalah membuat setengah interval berikutnya yang
mengurung akar persamaan yang dicari. Demikian prosedur tersebut diulang-ulang
hingga interval yang mengurung akar tersebut sangat dekat dengan akar eksaknya.
Untuk mempermudah proses memperoleh akar persamaan, maka dibawah ini
diberikan program komputer untuk memperoleh akar persamaan tersebut. Hasil
running program juga diberikan untuk memperjelas pemahaman kita terhadap
metode ini termasuk proses konvergensi ke arah akar persamaan yang dicari..
%PROGRAM Bagi Dua
clear; close all;
f=inline('cos(x)-x','x');
Pencarian Akar Persamaan Nonlinier
18
Bab 2
Supardi, M.Si
xa
xb
fa
fb
if
xc
0.500000
0.750000
0.625000
0.687500
19
Bab 2
Supardi, M.Si
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
0.718750
0.734375
0.742188
0.738281
0.740234
0.739258
0.738770
0.739014
0.739136
0.739075
0.739105
0.739090
0.739082
0.739086
0.739084
0.739085
20
Bab 2
Supardi, M.Si
Prinsip pencarian akar persamaan dari metode ini didasarkan pada
penggunaan interpolasi linier seperti diperlihatkan pada gambar 2.6. Interpolasi linier
1 dilakukan melalui dua titik pertama. Garis interpolasi memotong sumbu x dan
dititik perpotongan tersebut kita dapatkan pendekatan akar yang pertama. Kemudian
pendekatan tersbut dievaluasi pada fungsi nonlinier sehingga diperoleh titik pada
fungsi nonlinier tersebut. Kemudian dilakukan lagi interpolasi melalui ujung
sebelumnya dan diperoleh pendekatan akar berikutnya. Demikian seterusnya, hingga
diperoleh harga pendekatan akar yang sudah sangat dekat dengan akar persamaan
eksaknya. Perhatikan pula bahwa titik tolak interpolasi berasal dari satu titik tertentu.
f x b f x a
xx a
x bx a
(2-4)
Selanjutnya, jika pernyataan (2-4) dinyatakan dalam x , maka dapat ditulis sebagai
21
Bab 2
Supardi, M.Si
x= x a
xb x a
y f x a
f x b f x a
(2-5)
x c , f x c , dimana harga
f x c =0 dinyatakan oleh
x c =x a
xb x a
x f x b x b f x a
f x a = a
f x b f x a
f x b f x a
(2-6)
[ x a , x b ] dibagi
terkaan
awal
x a dan x b yang
mengurung
akar
persamaan.
2) Untuk menguji bahwa terkaan awal mengurung akar persamaan maka
ujilah apakah f x a f x b 0 , jika ya maka terkaankita sudah
benar.
3) Tentukan salah satu titik yang akan digunakan sebagai titik tolak
interpolasi linier misalnya x a , f a .
4) Tentukan x c dengan cara
22
Bab 2
Supardi, M.Si
x c =x a
x c=
xb x a
f x a atau
f x b f x a
x a f x b x b f x a
f x b f x a
f b dengan f c .
Menentukan f(x)
Menentukan fa=(xa)
dan fb=f(xb)
TIDAK
Apakah
fa*fb < 0 ?
YA
Memasukkan
Tol, n=0, xc=0
n=n+1;
xc=xa-(xb-xa)/(fb-fa)*fa
xb=xc
fb=fc
CETAK n vs xc
STOP
23
Bab 2
Supardi, M.Si
Contoh 2.2
Ditinjau sebuah fungsi nonlinier f x =cos x 0.5 seperti digambarkan
pada gambar 2.4. Dengan menggunakan metode regula falsi akan ditunjukkan
cara memperoleh akar persamaan cos x 0.5=0 . Terkaan awal untuk
mengurung akar diberikan x = 0 dan x=/2
Pertama, kita lakukan perhitungan pada harga fungsi untuk terkaan awal
yang diberikan, yaitu
Untuk x1 = 0,
Untuk x2 = 2,
24
Bab 2
Supardi, M.Si
x3 =
x1 f 2 x 2 f 1 ( 0 )( 0.5) ( / 2 )( 0.5)
=
= 0.7854
( 0.5) ( 0.5)
f 2 f1
Ketiga, setelah diketahui harga dari x 3 , maka kita dapat tentukan bahwa
akar persamaan terkurung dalam interval [ x 2 , x3 ] . Selanjutnya dicari x 4
dengan cara seperti pada butir kedua
x4 =
25
Bab 2
Supardi, M.Si
fprintf('Terkaan awal tdk mengurung, Ulangi!!')
break;
end;
fa = f(xa);
fb = f(xb)
tol=1e-6;
fid=fopen('regula.txt','w');
n=0;
% inisialisasi no iterasi
xc=0;
% inisialisasi untuk xc
while abs(f(xc))>tol
n=n+1;
xc = xa - (xb-xa)/(fb-fa)*fa;
fc = f(xc);
xb = xc;
fb = fc;
fprintf('%i
%f
%f\n',n,xc,fc);
fprintf(fid,'%i
%f %f\n',n,xc,fc);
end
fclose(fid);
load regula.txt;
x=regula(:,1);
y=regula(:,2);
plot(x,y,'LineWidth',3.5)
xlabel('i ');
ylabel ('y');
Tabel 2.2 Hasil Running program Posisi salah
iterasi ke I
1
2
3
4
5
6
7
8
9
10
11
xc
0.785398
1.015436
1.044138
1.046912
1.047171
1.047195
1.047197
1.047198
1.047198
1.047198
1.047198
26
Bab 2
Supardi, M.Si
pada fungsi. Dengan menarik garis singgung pada titik tersebut dan
27
Bab 2
Supardi, M.Si
akar lebih dekat dengan terkaan sebelumya. Selengkapnya dapat dijelaskan dengan
pendekatan geometris seperti terlihat pada gambar 2.5.
x= x n , yaitu
1 2
3
f x n1 = f x n hf ' x n h f ' ' x nOh
2
(2-7)
dengan h= x n1x n
Dengan mengabaikan suku kuadratik dan suku-suku yang lebih tinggi lainnya
serta dengan mengambil
f xn
f ' x n
(2-8)
x= x 1 , maka
28
Bab 2
Supardi, M.Si
x 2= x 1
f x 1
f ' x1
(2-9)
f x2
f ' x 2
(2-10)
ditunjukkan bahwa akibat pengambilan terkaan awal yang jauh dari harga eksak
menyebabkan pencarian tidak pernah menemukan harga eksaknya.
f x dan
f ' x pada
xa
x= x a
29
Bab 2
Supardi, M.Si
4. Setelah mendapatkan pendekatan akar persamaan yang baru yaitu
x a ' , maka jadikan
xa .
yang dicari.
1
f x n = f x 0 x nx 0 f ' x 0 x n x0 2 f ' ' x 0 O x x 03 (2-11)
2
Kemudian ungkapan (2-11) kita substitusikan ke dalam ungkapan iterasi
untuk mengetahui seberapa tingkat kesalahan metode ini pada iterasi yang ke n + 1 .
Ungkapan (2-12) dibawah ini menggambarkan tingkat kesalahan metode NewtonRaphson.
en + 1 = xn + 1 x0
= xn x0
= en
f ( xn )
f ' ( xn )
1 2
e f " ( x0 ) + ...
2 n
f ' ( x0 ) + en f " ( x0 ) + .
en f ' ( x0 ) +
1
= en en f ' ( x0 ) + en2 f " ( x0 ) + ...
2
f ' ( x0 )
= en en + en2
=
f " ( x0 )
f ' ( x0 )
1 2 f " ( x0 )
e
+ O e3n
2 n f ' ( x0 )
1 2 f " ( x0 )
en
+ O e3n
2
f ' ( x0 )
f " ( x0 )
1 en
f ' ( x0 )
(2-12)
( )
( )
f x 0 =0 .
30
Bab 2
Supardi, M.Si
Jika kita perhatikan persamaan (2-12), maka kita dapat mengetahui bahwa
Iterasi ke-1
f x 0 =cos x 0 0.5=1.3011
f ' x 0 =sin x 0 =0.5985
f x0
x1= x 0
=0.3259
f ' x0
Iterasi ke-2
f x 1 =cos x 10.5=0.4474
f ' x 1 =sin x 1 =0.3202
f x1
x 2=x 1
=1.7232
f ' x 1
Iterasi ke-3
f x 2 =cos x 2 0.5=0.6518
f ' x 2 =sin x 2=0.9884
f x 2
x3 =x 2
=1.0637
f ' x2
31
Bab 2
Supardi, M.Si
Iterasi ke-4
f x 3 =cos x 3 0.5=0.0144
f ' x 3 =sin x 3 =0.8742
f x 3
x 4=x 3
=1.0473
f ' x3
Iterasi ke-5
f x 4 =cos x 40.5=0.0000887
f ' x 4 =sin x 4=0.8661
f x4
x5 =x 4
=1.0472
f ' x4
32
Bab 2
Supardi, M.Si
MULAI
Menentukan f(x)
dan f'(x)
Menentukan f(xa)
dan f'(xa)
n=n+1;
xa=xa-f(xa)/f'(xa);
CETAK n vs xa
STOP
33
Bab 2
Supardi, M.Si
fclose(fid);
load newton.txt;
x=newton(:,1);
y=newton(:,2);
plot(x,y,'LineWidth',3.5)
xlabel('i ');
ylabel ('y');
Tabel 2.3 Hasil Running program Bagi Dua
xa
Iterasi
1
0.325891
1.723241
1.063738
1.047274
1.047198
34
Bab 2
Supardi, M.Si
f ' ( xn )
f ( xn ) f ( xn 1 )
xn xn 1
(2-13)
x n+ 1 = xn
( xn xn 1 )
f ( xn )
f ( xn ) f ( x n 1 )
(2-14)
Jika kita perhatikan, ungkapan (2-14) ini identik dengan metode Regula Falsi
seperti yang telah dibahas di pasal yang lalu. Perbedaannya adalah metode Regula
Falsi selalu menggantikan salah satu dari dua taksiran akar sehingga akar selalu
dalam keadaan terkurung dan titik-titik lama selalu diupdate menjadi titik yang baru.
Sedangkan metode Secant tidak memerlukan dua taksiran awal yang harus
mengurung akar persamaan.
Gambaran secara grafis metode Secant yang sedang mencari akar persamaan
terlihat pada gambar 2.13. Sedangkan grafik 2.14 menyatakan kegagalan metode ini
menemukan akar yang dicari. Dalam beberapa kasus swapping dua taksiran awal x1
dan x2 dapat mengubah perilaku metode tersebut dari konvergen menjadi divergen.
Algoritma metode Secant
x a dan
xb
x c dengan cara
x c =x b
x bx a
f xb
f x b f x a
3. Set x a =x b , f a = f b
dan
x b= x c ,
f b= f c
35
Bab 2
Supardi, M.Si
MULAI
Menentukan f(x)
TIDAK
Apakah
xa ~= xb ?
YA
Menentukan fa=(xa)
dan fb=f(xb)
n=n+1;
xc=xb-(xb-xa)/(fb-fa)*fb
xa=xb, xb=xc
fa=fb, fb=fc
CETAK n vs xc
STOP
36
Bab 2
Supardi, M.Si
37
Bab 2
Supardi, M.Si
( )
(
1 2
3
en f '' ( x0 ) + O en
2
1
3
= f ( x0 ) + en 1 f ' ( x0 ) + en2 1 f '' ( x0 ) + O en 1
2
f ( xn ) = f ( x0 ) + en f ' ( x0 ) +
f ( xn 1 )
dimana
(2-15)
= en
= en
= en
= en
=
f ( xn )
f ( xn ) f ( xn 1 )
( xn
xn 1 )
1 2
e f " ( x0 ) + ...
2 n
( en en 1 )
1 2
1 2
1
en f ' ( x0 ) + en2 f " ( x0 ) + ...
2
( en en 1 )
1
(2-16)
f " ( x0 )
1 2 f " ( x0 )
e
+
e
+
...
1
e
+
e
+
...
(
)
n
n
n 1
2 n f ' ( x0 )
f ' ( x0 )
(2-15)
f '' ( x0 ) 1 2 f '' ( x0 )
1
en + en ( en + en 1 )
en
+ O en3
2
f ' ( x0 ) 2
f ' ( x0 )
en f ' ( x0 ) +
( )
1 f '' ( x0 )
en en 1 + O en3
2 f ' ( x0 )
( )
38
Bab 2
Supardi, M.Si
(2-17)
f '' ( x0 )
en + 1 =
e
2 f ' ( x ) n
0
akan diperoleh
f '' ( x0 )
en + 1 =
2 f '( x )
0
en en 1
f '' ( x0 )
=
2 f '( x )
0
f '' ( x0 )
en
2 f ' ( x0 )
f '' ( x0 )
=
2 f '( x )
0
1 /
e1/n
(2-18)
+1
en
2
=
=
1 1 5
(2-19)
Jadi metode tersebut berorde bukan bilangan bulat yaitu 1,61803(golden ratio).
Contoh 2.4
Permasalahan sama dengan contoh 2.2, tetapi menggunakan metode Secant.
Terkaan awal diberikan pada titik x = 0 dan x = / 2 .
Penyelesaian
Iterasi n= 1
x 0=0, x 1=1.5708
f x 0=cos x0 0.5=0.50
f x1 =cos x 1 0.5=0.50
x 1x 0
x 2=x 1
f x 1=0.7854
f x 1 f x 0
Iterasi n=2
39
Bab 2
Supardi, M.Si
x1 =1.5708, x 2 =0.7854
f x1 =cos x 1 0.5=0.50
f x 2=cos x 20.5=0.2071
x 2x 1
x3 =x 2
f x 2 =1.0154
f x 2 f x 1
Iterasi n=3
x 2=0.7854, x 3=1.0154
f x 2=cos x 20.5=0.2071
f x 3=cos x 3 0.5=0.0272
x 3x 2
x 4=x 3
f x 3 =1.0503
f x 3 f x 2
Iterasi n=4
x 3 =1. 0154 ,x 4 =1 . 0503
f x 3 =cos x 3 0. 5=0 . 0273
f x 4 =cos x 4 0 . 5=0 . 0027
x 4 x 3
x 5 =x 4
f x 4 = 1. 0472
f x 4 f x 3
40
Bab 2
Supardi, M.Si
n=0;xc=0;
fid=fopen('secant.txt','w');
while abs(f(xc))>tol
n=n+1;
xc = xb - (xa-xb)/(fa-fb)*fb;
xa = xb;
fa = fb;
xb = xc;
fb = f(xb);
fc=f(xc);
fprintf('%i %f \n',n,xc);
fprintf(fid,'%i
%f \n',n,xc);
end
fclose(fid);
load secant.txt;
x=secant(:,1);
y=secant(:,2);
plot(x,y,'LineWidth',3.5)
xlabel('i ');
ylabel ('y');
Tabel 2.4 Hasil Running program Secant
Iterasi
1
2
3
4
5
6
xc
0.785398
1.015436
1.050288
1.047169
1.047198
1.047198
41
Bab 2
Supardi, M.Si
SOAL LATIHAN
2
3
6. Tentukan akar riil dari fungsi f ( x ) = 97,8 19,55 x + 16,3x 10,8 x dengan
a) metode grafis
b) menggunakan metode bagi dua
c) menggunakan metode posisi palsu
d) menggunakan metode Newton Raphson
e) menggunakan metode Secant.
7. Gunakan metode bagi dua untuk menentukan akar terbesar dari
f ( x ) = 0, 2 x 2 + 3, 4 x + 4
Gunakan terkaan awal
x0 = 4 dan
x1 = 4 . Bandingkan kecepatan
untuk persamaan
berikut ini
a)
[2,1]
b) [0,2]
c) [2,3]
d) [1,1]
untuk persamaan
x2 x =0 untuk 0x1
b)
c)
d)
42
Bab 2
Supardi, M.Si
a) menggunakan metode grafis
b) menggunakan metode bagi dua
f x untuk memperoleh
menggunakan
metode
Newton-Raphson,
jika
untuk
x 0=1
11. Pertanyaan sama dengan nomor 10, tetapi dengan metode Secant dan Regula
Falsi dengan terkaan awal
x=0 dan
x=1 .
b)
c)
43
Bab 2
Supardi, M.Si
d)
e)
f)
x
sin xe =0 , untuk 0x1 , 3 x4 dan 6 x7
13. Dengan menggunakan metode grafik, perkirakan akar akar persamaan non
linier
5cos 2x x=0
Buatlah fungsi iterasi Newton-Raphson
f x
untuk memperoleh
3 dengan toleransi
2
f x =x 3 .]
3 25
44
Bab 2
Supardi, M.Si
10
dengan metode Newton Raphson. Selesaikan juga jika terkaan awal adalah
x=5 dan
x=10
f x =230 x 18 x 9 x 221 x9
memiliki dua harga nol, satu berada pada interval [1,0] dan satunya lagi
di
g =32.17 ft / s
Dimisalkan
mg
m2 g
t 2 1ekt / m
k
k
waktu yang dibutuhkan untuk sampai ditanah jika perhitungan waktu dimulai
dari 0.01 detik.
45