3
TAK L INIER f (x) = 0
Dalam beberapa kasus kita mempunyai fungsi di mana kita tidak da-
pat menentukan secara eksplisit pembuat nol fungsi tersebut.
Sebagai contoh, kita tidak mempunyai rumus eksak untuk mencari akar
129
130 Bab 3. Akar Persamaan Tak Linier f (x) = 0
persamaan
2 2 2
(x + 1) e 1 = 0:
x
(3.2)
Di sinilah peranan metode numerik di dalam memberikan hampiran
suatu penyelesaian permasalahan matematis yang tidak dapat disele-
saikan secara analitik, atau jika mungkinpun diperlukan perhitungan
yang sangat rumit.
y=e^(2-x^2)
7
y
5 y=(x+1)^2
x
0
-2.0 -1.6 -1.2 -0.8 -0.4 0 0.4 0.8 1.2 1.6 2.0
Gambar 3.1: Akar suatu persamaan merupakan absis titik potong dua
buah kurva yang diperoleh dari persamaan yang bersangkutan
Kalau kita amati lebih jauh persamaan (3.2) dapat ditulis ke dalam
bentuk
2 2 x2
(x + 1) = e : (3.3)
2
Gambar 3.1 menunjukkan grafik kedua kurva y = (x + 1)2 dan y = e2 x
pada interval [ 2; 2℄. Ternyata kedua kurva tersebut berpotongan di dua
titik, sehingga persamaan di atas memiliki dua buah akar. Bagaimanakah
cara menentukan akar-akar tersebut?
D EFINISI 3.2.
Misalkan r adalah akar persamaan f (x) = 0. Jika terdapat bilangan asli m dan
Tabel 3.1: Hasil iterasi dengan metode Pengapitan Akar untuk f (x) = (x +
2 x2 2
1) e 1
2
Iterasi a b x (x + 1)2 ex 2
1
1 0.4 1.2 0.8 - 0.1684191
2 0.8 1.2 1. 0.4715178
3 0.8 1. 0.9 0.0982388
4 0.8 0.9 0.85 - 0.0460354
5 0.85 0.9 0.875 0.0231052
6 0.85 0.875 0.8625 - 0.0121796
7 0.8625 0.875 0.86875 0.0052800
8 0.8625 0.86875 0.865625 - 0.0034950
9 0.865625 0.86875 0.8671875 0.0008811
10 0.865625 0.8671875 0.8664063 - 0.0013098
11 0.8664063 0.8671875 0.8667969 - 0.0002150
12 0.8667969 0.8671875 0.8669922 0.0003329
13 0.8667969 0.8669922 0.8668945 0.0000589
14 0.8667969 0.8668945 0.8668457 - 0.0000781
15 0.8668457 0.8668945 0.8668701 - 0.0000096
S OAL 3.1.
C ONTOH 3.3.
Jika a = 0:1 dan b = 1:0, berapa banyak iterasi yang diperlukan dalam
metode Bagi Dua untuk mencari akar suatu persamaan agar galatnya paling be-
sar 10 8 =2?
Penyelesaian:
Misalkan n banyak iterasi yang diperlukan. Maka jr xn j 10 8 =2. Dari (3.7),
(b0 a0 )=2n+1 10 8 =2, berarti (1:0 0:1)=2n+1 10 8 =2, atau 0:9=2n+1
10 8 =2, atau 0:9 108 2n . Dengan mengambil logaritma kedua ruas kita
peroleh n log(2) log(0:9)+8. Jadi, banyak iterasi n (log(0:9)+8)= log(2) =
26:4. Dengan demikian sedikitnya diperlukan 27 iterasi untuk mendapatkan akar
persamaan tersebut dengan derajad keakuratan yang ditentukan.
Metode Bagi Dua Salah satu kekurangan metode Bagi Dua adalah metode ini men-
hanya memperhatikan cari nilai-nilai hampiran akar xn hanya dengan memperhatikan tanda f (a)
tanda nilai-nilai suatu
dan f (b), bukan pada nilai-nilai fungsi. Padahal secara intuitif, misalkan
fungsi, bukan
nilai-nilai fungsi itu kita tahu f (a) = 500 dan f (b) = 0:1, sudah tentu kita akan memilih
sendiri. hampiran xn yang dekat ke b. Metode posisi palsu, yang akan dijelaskan
pada bagian belakang dalam bab ini, memberikan cara untuk melakukan
hal tersebut.
7. Apa yang akan terjadi jika metode Bagi Dua digunakan untuk men-
cari hampiran akar persamaan f (x) = 1=(x 2) pada interval [3; 7℄
dan [1; 7℄?
N ln(b a)
ln 2
ln(2)
:
10. Gambarlah grafik fungsi di bawah ini dan gunakan metode Bagi
Dua untuk menghitung hampiran pembuat nol
Persamaan garis yang melalui titik-titik (an ; f (an )) dan (bn ; f (bn ))
adalah
f (bn ) f (an ) (f (bn ) f (an ))x + (bn f (an ) an f (bn ))
y = f (an )+ (x an ) = :
bn an bn an
an f (bn ) bn f (an ) bn an
xn+1 = = an f (an ): (3.8)
f (bn ) f (an ) f (bn ) f (an )
C ONTOH 3.4.
Misalkan kita ingin menyelesaikan persamaan (3.2) dengan metode Posisi Palsu,
dengan interval awal [0; 1:2℄. Tabel 3.2 menyajikan hasil-hasil perhitungan se-
lama 15 iterasi.
(b) x2 = ln x = 0
(c) xex 1 = 0
5. Hitung hampiran akar persamaan
dan
f (b)(b a)
jika f (
)f (b) < 0:
f (b) f (a)
x = g (x): (3.9)
Tabel 3.3: Hasil ketiga rumus iterasi untuk menghampiri akar persamaan
x2 2x 8=0
n xn+1 =
p2x +8 xn+1 = 2xn +8 2
xn+1 = xn 2 8
n xn
0 5. 5. 5.
1 4.2426407 3.6 8.5
2 4.0602071 4.2222222 32.125
3 4.0150236 3.8947368 512.00781
4 4.0037541 4.0540541
5 4.0009384 3.9733333
6 4.0002346 4.0134228
7 4.0000586 3.993311
8 4.0000147 4.0033501
9 4.0000037 3.9983264
10 4.0000009 4.0008372
11 4.0000002 3.9995815
C ONTOH 3.5.
Perhatikan persamaan kuadrat
x2 2x 8=0
p 2x + 8 x2 8
(a) x = 2x + 8 (b) x = (
) x = :
x 2
Hasil-hasil iterasi dengan ketiga rumus di atas dan titik awal x0 = 5 disajikan
pada Tabel 3.3.
Iterasi mengasilkan barisan yang konvergen ke akar r = 4 untuk rumus (a)
dan (b) tetapi divergen untuk rumus (c).
g 0 (
) =
g (r2 ) g (r1 ) r2 r1
= = 1:
r2 r1 r2 r1
y y=x
b
y=g(x)
a r b x
untuk n yang cukup besar. Fakta ini menunjukkan bahwa, jika g 0 (r ) 6= 0, Jika 0 < jg0 (r)j < 1,
galat hampiran xn+1 pada akhirnya proporsional terhadap galat hampiran maka iterasi
sebelumnya, xn . Oleh karena faktor proporsinya g 0 (r ) maka dapat disim- xn+1 = g(xn)
konvergen ke titik tetap
pulkan bahwa laju kekonvergenan metode Titik Tetap tergantung pada ni- r
secara linier.
lai jg 0 (r )j; semakin kecil gradien g di r , semakin cepat konvergen. Dalam
hal ini, barisan hampiran titik tetap fxn g1 n=0
dikatakan konvergen secara
linier, dan metode Titik Tetap dikatakan berorde satu. Secara umum, kita
mempunyai definisi berikut ini.
r )g 0 (r ) + r )2 g 00 (
n );
1
g (xn ) = g (r ) + (xn (xn
2
r )2 g 00 (
n );
1
xn+1 = r + (xn
2
atau
r )2 g 00 (
n );
1
r xn+1 = (xn
2
y=g(x) y=x
y y
y=x y=g(x)
g’(x)<-1 0<=g’(x)<1
x x
(a) (c)
y=g(x)
y=x
y y=x
y=g(x) y
g’(x)>1
-1<g’(x)<=0
x x
(b) (d)
p2x + 8,
maka g 0 (x) = (2x + 8) 1=2 . Oleh karena
(a) Jika g (x) =
g 0 (x)
< 1 pada interval [3; 5℄ yang memuat hampiran awal x0 = 5
dan titik tetap sebagai titik tengahnya, r = 4, maka Teorema 3.2
menjamin bahwa iterasi titik tetap konvergen, sebagaimana sudah
terlihat kenyataannya.
(b) Pada rumus g (x) = 2xx+8 , berlaku 1 < g 0 (x) = x82 < 0 untuk x 2
[3; 5℄, sehingga lagi, Teorema 3.2 menjamin kekonvergenan proses
iterasi.
2
(c) Pada rumus g (x) = x 2 8 , g 0 (x) = x dan g 0 (4) = 4 > 1, sehingga
Teorema 3.2 tidak menjamin kekonvergenan metode Titik Tetap. Se-
lanjutnya, dari persamaan (3.11) kita peroleh
(a) x
os x = 0
2
(b) x + ln x = 0
xn+1 = e x n
(a) xn+1 =
xn 62+2
3
2
(b) xn+1 =3 x n
r )2
r )g 0 (r ) + g 00 (r ) + g 000 (n )
(xn 1
g (xn ) = g (r ) + (xn
2 6
xn = g (xn 1 ); jika 3 - n
xn = ekstrapolasi Aitken xn 1 ; xn 2 ; xn 3; jika j
3n
16. Tunjukkan bahwa rumus ekstrapolasi (3.17) dapat ditulis ulang se-
bagai
2
(xn xn
r x n
(xn xn (xn
1)
xn
:
1) 1 2)
linier. Misalkan f (x) suatu fungsi diferensiabel pada [a; b℄. Maka f (x)
mempunyai kemiringan tertentu dan garis singgung tunggal pada setiap
titik di dalam (a; b). Garis singgung di titik (x0 ; f (x0 )) merupakan pen-
dekatan grafik f (x) di dekat titik (x0 ; f (x0 )). Jadi pembuat nilai nol garis
singung tersebut merupakan hampiran pembuat nol f (x).
Kita dapat menyusun prosedur sebagai berikut untuk mencari akar
persamaan f (x) = 0. Mula-mula kita pilih absis titik awal, x0 . Hampiran
pertama akar, x1 , merupakan absis titik potong garis singgung di titik
(x0 ; f (x0 )) dengan sumbu–x. Hampiran kedua, x2 , merupakan absis titik
potong garis singgung di titik (x1 ; f (x1 )) dengan sumbu–x. Demikian
seterusnya, sampai diperoleh hampiran terbaik untuk akar persamaan
f (x) = 0. Gambar 3.7 melukiskan proses tersebut.
f (x0 )
x1 x0
f 0 (x0 )
=
Dengan cara yang sama, akhirnya diperoleh secara umum, Rumus iterasi Newton
– Raphson untuk
f (xn ) menyelesaikan
xn+1 = xn
f 0 (xn )
; n = 0; 1; 2; ::: (3.20) fx( ) = 0.
Catatan:
Fungsi g (x) yang didefinisikan sebagai
f (x)
g (x) = x
f 0 (x)
(3.21)
akar tersebut.
>>x0=-5;y0=5;
>>h=[0 x0 y0];
>>for k=1:15,
>>x=(exp(x0)*(x0-1)+2)/(exp(x0)-1);
>>y=(exp(y0)*(y0-1)+2)/(exp(y0)-1);
>>h=[h;k x y];
>>if (abs(x-x0)<0.000001)&(abs(y-y0)<0.000001),
>>break;end
>>x0=x;y0=y;
>>end
>>h
h =
0. - 5. 5.
1. - 1.9728654 4.0407019
2. - 1.8428645 3.13093
3. - 1.8414059 2.3195977
4. - 1.8414057 1.6815416
5. - 1.8414057 1.2946288
6. - 1.8414057 1.1606438
7. - 1.8414057 1.1463445
8. - 1.8414057 1.1461932
9. - 1.8414057 1.1461932
C ONTOH 3.7.
Sekarang akan ditunjukkan suatu prosedur yang digunakan oleh komputer un-
tuk menghitung operasi pembagian a=b. Hardware komputer biasanya hanya
memiliki aritmetika untuk penjumlahan, pengurangan, dan perkalian, sedangkan
operasi pembagian diimplementasikan dengan menggunakan software (program).
Pembagian tersebut dapat dilakukan dengan cara mengalikan a dan 1=b, sedang-
kan nilai 1=b dihampiri dengan metode Newton – Raphson.
Nilai 1=b merupakan penyelesaian persamaan
1
f (x) = b = 0;
x
dengan b > 0. Turunan f adalah
f 0 (x) =
1
;
x2
sehingga rumus iterasi Newton – Raphson untuk hampiran akar f (x) = 0
Rumus iterasi Newton diberikan oleh rumus
– Raphson untuk
b 1=xn
menghitung hampiran
1=b xn+1 = xn
1=x2n
= xn (2 b x n ); n 0: (3.22)
Dalam rumus iterasi di atas tidak terdapat operasi pembagian, hanya memuat
perkalian dan pengurangan. Hampiran awal tentunya dipilih x0 > 0.
Misalnya galat relatif xn sebagai hampiran akar r = 1=b dituliskan sebagai
r xn
Rel(xn ) = :
r
r xn+1 r xn (2 xn =r )
Rel(xn+1 ) = =
r r
(r xn )2
=
r2
=
2
[Rel(xn )℄ ; n 0: (3.23)
jRel(x )j < 1;
0
atau
1=b x0
1< < 1;
1=b
sehingga diperoleh
2
0 < x0 < : (3.24)
b
Jadi, iterasi (3.22) konvergen jika dan hanya jika hampiran awal x0 memenuhi
(3.24). Dari hasil (3.23), terlihat bahwa kekonvergenan iterasi (3.22) sangat-
xn 2 A xn + A=xn
xn+1 = xn = :
2xn 2
p p
Oleh karena f 00 (x) = 2 (kontinyu di mana-mana) dan f 0 ( A) = 2 A > 0,
maka persyaratan Teorema 3.3 dipenuhi, sehingga fxn g1
p n=0
konvergen ke
A.
Keuntungan Akibat 3.2 adalah kita hanya perlu menggunakan
operasi penjumlahan, pengurangan, perkalian, dan pembagian untuk
menghitung akar suatu bilangan. Apabila kita gunakan fungsi lain
di mana rumus iterasi Newton–Raphsonnya memuat perhitungan akar,
maka kita terjebak pada sebuah lingkaran, “menghitung akar bilangan
menggunakan akar bilangan lain!”
C ONTOH 3.8. p
Hitunglah hampiran 5 sampai enam angka di belakang koma, dengan menggu-
nakan metode Newton–Raphson.
Penyelesaian:
Dengan menggunakan hampiran awal x0 = 2 dan menggunakan rumus (3.26)
kita peroleh tabel hampiran sebagai berikut:
p
Iterasi Hampiran 5
0: 2:
1: 2:25
2: 2:2361111
3: 2:236068
4: 2:236068
>>x0=2;hasil=[0 x0];
>>for k=1:15,
>>x=(x0+5/x0)/2;
>>hasil=[hasil;k x];
>>if abs(x-x0)<0.0000001, break;end
>>x0=x;
>>end
p ke-
Meskipun iterasi direncanakan sampai iterasi ke-15, namun sampai iterasi
4, hampiran sudah konvergen sampai 6 angka di belakang koma, yakni 5
2:236068 dengan kesalahan kurang dari 5 10 6 .
f (xn )
en+1 xn+1 r = xn r
f 0 (xn )
=
f (xn ) f (xn )
xn r = en
f 0 (xn ) f 0 (xn )
=
f 00 (
n )
f (xn en ) = f (xn ) f 0 (xn )en + e2n
2
f 00 (
n )
f (r ) = f (xn ) f 0 (xn )en + e2n
2
f 00 (
n )
0 = f (xn ) f 0 (xn )en + e2n
2
f 00 (
n )
en f 0 (xn ) f (xn ) = e2n ; (3.28)
2
dengan
n adalah suatu bilangan antara r dan xn . Dari (3.27) dan (3.28)
kita peroleh
f 00 (
n )e2n
en+1 =
2f 0 (xn )
n
adalah galat hampiran ke-n.
je j = f 00(r) :
n+1
2f 0 (r )
lim
n !1 e2n
>>x=(2/3)*(x0^3-1)/(x0^2-1);
>>fx=x^3-3*x+2;
>>en=r-x;c=abs(en)/abs(e0);
>>hasil=[hasil;n x fx en c];
>>x0=x;e0=en;
>>if abs(e0)<0.0000000001, break; end;
>>end
>>hasil
hasil =
F (x) = f (m 1)
(x):
function [iterasi,x,fx,galatx,galaty] = %
newton(f,df,x0,delta,epsilon,N)
%--------------------------------------------------------
% Iterasi Newton-Raphson untuk menghampiri akar persamaan
% f(x)=0
% dengan rumus iterasi x_{n+1} = x_n-f(x_n)/f’(x_n),
% n= 0, 1, 2, ...
% Contoh pemakaian:
% [iterasi,x] = newton(’f’,’df’,x0,delta,epsilon,N)
% [iterasi,x,fx,galatx,galaty] =
% newton(’f’,’df’,x0,delta,epsilon,N)
% Input:
% f nama fungsi yang mendefinisikan f(x)
% df nama fungsi turunan f(x)
% x0 hampiran awal
% delta batas toleransi kekonvergenan hampiran r
% epsilon batas toleransi kekonvergenan
% nilai fungsi f(r)
% N maksimum iterasi
% Output:
% iterasi vektor penghitung iterasi
% x vektor hampiran-hampiran selama iteras
% fx vektor nilai-nilai hampiran f(x)
% galatx vektor selisih dua hampiran berturut-turut
% galaty vektor selisih dua hampiran
>>[k,x,fx,ex,ey]=newton(’f’,’df’,5,0.000001,0.000001,15)
Silakan dicoba! Gunakan fungsi newton untuk memperoleh hampiran Pemakaian fungsi
yang lain dari contoh kita di atas. newton untuk
f
sebarang fungsi
LATIHAN 3.4
p
1. Buatlah fungsi MATLAB akar.m dengan menggunakan algoritma
(3.26) untuk menghitung A. Gunakan fungsi akar tersebut un-
tuk menghitung nilai-nilai di bawah ini dengan menggunakan ham-
piran awal yang diberikan.
p
(a) 8 dengan x = 3
p 0
(b) 50 dengan x = 7
p 0
(c) 91 dengan x = 10
p 0
(d) 8 dengan x0 = 3
2xn + A=x2n
xn+1 = ; n = 1; 2; :::
3
(d) 7 dengan x0 = 2
(k 1)xn + x2n
xn+1 = :
k + xn
f (xn )
xn+1 = xn :
f 0 (x0 )
Gambarlkan proses iterasi ini secara grafis dan gunakan metode ini
untuk menghitung hampiran akar x
os x = 0 dengan menggu-
nakan hampiran awal x0 = 1, dan hentikan iterasi setelah jxn+1
xn j < 10 6 . Bandingkan hasilnya dengan soal 4a.
p
8. Turunkan rumus iterasi Newton–Raphson untuk menghitung ham-
piran n a dengan a > 0. Gunakan rumus tersebut untuk nilai a = 2
dan n = 3; 4; 5; 6; 8 untuk mendapatkan hampiran akurat sampai
8 angka di belakang koma. Petunjuk: Selesaikan f (x) = xn a = 0.
f (x1 ) f (x0 )
y f (x1 ) = (x x1) : (3.32)
x1 x0
f (x1 ) f (x0 )
0 f (x1 ) = (x2 x1)
x1 x0
Pengantar Komputasi Numerik
c Sahid (2004 – 2012)
178 Bab 3. Akar Persamaan Tak Linier f (x) = 0
hitungan fungsi pada setiap iterasi. Metode Tali Busur hanya memer-
lukan perhitungan nilai-nilai sebuah fungsi f (di dua titik) pada setiap
iterasinya.
Metode Posisi Palsu yang sudah dijelaskan di depan merupakan
kasus khusus metode Tali Busur, dengan a = min(x0 ; x1 ) dan b =
max(x0 ; x1 ). Bandingkan rumus iterasi Posisi Palsu (3.8) dan rumus ite-
rasi Tali Busur (3.33).
xn+1 = xn :
exn xn exn 1 + xn 1
Dengan menggunakan kode MATLAB:
>>x0=-10;x1=-9;y0=10;y1=9;
>>hasil=[0 x0 y0;1 x1 y1];
>>for k=1:20,
>>x=x1-(exp(x1)-x1-2)*(x1-x0)/(exp(x1)-x1-exp(x0)+x0);
>>y=y1-(exp(y1)-y1-2)*(y1-y0)/(exp(y1)-y1-exp(y0)+y0);
>>hasil=[hasil;k x y];
>>if (abs(x-x1)<0.000001)&(abs(y-y1)<0.000001),
>>break;end
>>x0=x1;x1=x;y0=y1;y1=y;
>>end
Tabel 3.4: Iterasi untuk hampiran akar persamaan ex x 2=0 dengan metode
Tali Busur
Dengan batas keakuratan sampai enam angka di belakang koma, metode Tali
Busur konvergen ke akar r1 = 1:8414057 pada iterasi ke–5 dan akar r2 =
1:1461932 pada iterasi ke-17. Bandingkan hasil ini dengan hasil pada contoh 3.6!
p
Metode Tali Busur memiliki tingkat kekonvergenan p = (1 + 5)=2
1:618. Bukti hal ini dapat ditemui pada buku-buku analisis numerik [5, 6].
(d) Akar x = ex
(e) Akar positif terkecil e x
= sin(x).
f (r ) = P [(1 + r )N 1℄ Q[1 (1 + r )
M
℄=0
f (x) = x3 2
3x + 3x 1=0
(a) y = (x 3
1) (b) y = (x 2
1) ( x 2)
3
Beberapa akar mungkin bernilai sama (merupakan akar ganda) dan be-
berapa akar lain mungkin berupa bilangan kompleks. Sebagai contoh,
polinomial
3 2
f (x) = (x 2) (x + 1)(x + x + 1);
LATIHAN 3.7
1. Sifat-sifat Akar Polinomial Perkirakan akar-akar polinomial-
polinomial di bawah ini tanpa menggunakan kalkulator atau kom-
puter. Anda dapat menggunakan aturan Descartes, menghitung ni-
lai fungsi untuk x = 0 dan x = 1, atau “Dalil Sisa” dari Aljabar.
(b) ln x x=5
(c) (x= sin x)2 ln x=x2 1:415
3.8 Rangkuman
f (x) = (x r )m h(x);
f (r ) = f 0 (r ) = ::: = f (m 1)
(r ) = 0; dan 6
f m (r ) = 0:
f (x) = 0
Metode Bagi Dua Apabila diketahui dua buah titik awal x = a dan x = b
sedemikian hingga f (a) f (b) < 0, maka terdapat akar persamaan
pada interval [a; b℄. Untuk menghampiri akar tersebut, interval [a; b℄
dibagi menjadi dua buah subinterval sama panjang dengan titik ten-
gah
(a + b)
xn = ; n = 1; 2; 3; :::
2
Untuk setiap n 1, jika f (a) f (x) < 0, maka b = xn (ganti b dengan
xn ). Jika kasusnya lain, maka a = xn (ganti a dengan xn ). Proses
diulangi sampai diperoleh subinterval yang memuat akar dengan
lebar “sangat kecil”, yakni jb aj < untuk nilai yang diberikan.
1. Jika g memenuhi
sedemikian hingga
je j = C
n+1
n!1 je j
lim
n
m
sedemikian hingga
2f 0 (r )
lim
n!1 e2n
F (x) = f (m 1)
(x):
Metode Tali Busur Metode ini memerlukan dua buah hampiran awal x0
dan x1 , hampiran berikutnya diperoleh dengan menghitung ab-
sis titik potong garis busur yang melalui titik-titik (x0 ; f (x0 )) dan