Anda di halaman 1dari 18

BAB III.

Akar Persamaan (rootfinding)-21

BAB III Akar Persamaan (Root Finding)

3.1. Pendahuluan
Persoalan-persoalan di dunia rekayasa sering dijumpai dalam bentuk matematis berupa
persamaan-persamaan polinomial dengan variabel, misal x, sedemikian hingga f(x)=0 merupakan
solusi atau jawaban dari persoalan tersebut. Persoalan non linier dengan derajat 2(dua) dalam
bentuk ax2+bx+c=0, dengan mudah dapat diselesaikan secara analitis dengan rumus:
- b ± b 2 - 4.a.c
x 1,2 =
2.a
Sedangkan untuk bentuk persamaan yang berorde lebih tinggi, sulit dicari penyelesaiannya
secara analitis, misal persamaan f(x)=ex-3x=0 atau f(x)=4x+cos(x)-x4=0. Dalam keadaan ini
penggunaan metode numerik dalam penyelesaian persamaan tersebut dirasakan sangat membantu
dalam mempercepat proses penyelesaian persoalan tersebut.

3.2. Penentuan Akar


Suatu akar dari persamaan f(x)=0 adalah suatu nilai dari x yang apabila nilai tersebut
dimasukkan dalam persamaan memberikan identitas 0=0 (nilai x memberikan hasil nol pada fungsi
f(x)). f(x)=0 mempunyai paling sedikit satu akar dalam interval a≤x≤ b jika:
− f(x) kontinyu pada [a,b].
− f(a).f(b)<0, yaitu f(x) berubah tanda pada titik [a,b].

Gambar 3.1. Tinjauan interval [a,b] dalam penentuan akar fungsi f(x)

3.3. Metode Bisection (Setengah Interval)


Landasan utama dari metode ini adalah menentukan suatu interval dalam suatu fungsi dimana
nilai fungsi dari ujung-ujungnya(batas bawah dan batas atas) harus berbeda tanda untuk
menunjukkan bahwa fungsi tersebut memotong sumbu horisontal, kemudian interval tersebut
dipecah menjadi dua bagian yang sama untuk mendekati titik potong dengan sumbu horisontal. Di
dalam aplikasinya, langkah awal yang dilakukan adalah menetapkan nilai sembarang a dan b
sebagai batas bawah dan batas atas interval nilai fungsi yang dicari. Titik a dan b memberikan harga
bagi fungsi f(x) untuk x=a dan x=b. Selanjutnya adalah memeriksa apakah f(a).f(b)<0, jika
demikian maka terdapat akar fungsi dalam interval yang ditinjau. Jika tidak, maka nilai a dan b
ditetapkan lagi sedemikian rupa sehingga terpenuhi ketentuan perkalian f(a).f(b)<0, yaitu nilai f(a)
dan f(b) mempunyai tanda yang berbeda.
Langkah selanjutnya adalah mencari nilai tengah interval a dan b dengan rumus m=(a+b)/2,
BAB III. Akar Persamaan (rootfinding)-22
lalu diperiksa apakah nilai mutlak f(m)< toleransi(misal 10-6). Jika benar, nilai x=m adalah solusi
yang dicari (akar dari persamaan tersebut). Jika tidak terpenuhi, ditetapkan batasan baru dengan
mengganti nilai b=m apabila f(a).f(m)<0, dan mengganti a=m bila f(a).f(m)>0 seperti terlihat pada
Gambar 3.2. Proses menemukan mbaru dilakukan seperti prosedur yang telah dijelaskan.

Gambar 3.2. Penentuan nilai tengah interval m pada metode Bisection

Secara sederhana dari langkah-langkah yang dijelaskan di atas dapat disusun suatu algoritma
program sebagai berikut:
1. Tentukan fungsi f(x), batas bawah a, batas atas b, toleransi, dan jumlah iterasi maksimum.
2. Hitung f(a) dan f(b).
3. Periksa apakah f(a).f(b)> 0; jika ya, keluar dari progam karena pada interval yang
diberikan tidak terdapat akar persamaan.
4. Hitung nilai m = (a+b)/2.
5. Jika nilai mutlak f(m) < toleransi, tuliskan m sebagai hasil perhitungan, dan akhiri
program; jika tidak, lanjutkan ke langkah berikutnya.
6. Jika jumlah iterasi > iterasi maksimum, akhiri program.
7. Jika f(a).f(m)<0, maka b=m, jika tidak, a = m.
8. Kembali ke langkah (2).

Contoh:
Persamaan, f(x) = xx-5. cari akarnya!
Langkah 1:
Nilai awal: batas bawah a=2, batas atas b=3, sehingga:
f(2)=22-5= -1
f(3)=33-5=22
m=(2+3)/2=2.5
f(2.5)=(2.5)2.5-5=|4.8821| > 0.000001
Langkah 2:
karena f(a).f(m)= (-1)(4.8821) < 0, maka b=m, sehingga:
a=2  f(2)=22-5= -1
b=2.5  f(2.5)=(2.5)2.5-5=4.8821
m=(2+2.5)/2=2.25
f(2.25)=(2.25)2.25-5=|1.2003|> 0.000001
Langkah 3:
karena f(a).f(m)= (-1)(1.2003) < 0, maka b=m, sehingga:
a=2  f(2)=22-5= -1
b=2.25  f(2.25)=(2.25)2.25-5=1.2003
m=(2+2.25)/2=2.125
f(2.125)=(2.125)2.125-5=|-0.0382|> 0.000001
Langkah 4:
karena f(a).f(m)= (-1)(-0.0382) > 0, maka a=m, sehingga:
BAB III. Akar Persamaan (rootfinding)-23
a=2.125  f(2.125)=22.125-5= -0.0382
b=2.25  f(2.25)=(2.25)2.25-5=1.2003
m=(2.125+2.25)/2=2.1875
f(2.1875)=(2.1875)2.1875-5=|0.5416|> 0.000001
Langkah 5:
karena f(a).f(m)= (-0.0382)(0.5416) < 0, maka b=m, sehingga:
a=2.125  f(2.125)=22.125-5= -0.0382
b=2.1875  f(2.1875)=(2.1875)2.1875-5=0.5416
m=(2.125+2.1875)/2=2.1563
f(2.1563)=(2.1563)2.1563-5=|0.2430|> 0.000001

Seterusnya sampai didapatkan f(m)<toleransi yang disyaratkan. Langkah-langkah tersebut disusun


dalam tabel berikut ini.

Tabel 3.1. Langkah-langkah penyelesaian persamaan f(x) = xx-5 dengan metode bisection
Langkah a f(a) m f(m) b F(b)
2 -1 3 22
1
2.5 4.8821
2 -1 2.5 4.8821
2
2.25 1.2003
2 -1 2.25 1.2003
3
2.125 -0.0382
4 2.125 -0.0382 2.25 1.2003
2.1875 0.5416
5 2.125 -0.0382 2.1875 0.5416
2.1563 0.2430

Dengan toleransi sebesar 10-6, pada langkah ke 23 iterasi berhenti dengan hasil
x=2.12937256693840. Contoh di atas bisa memberikan gambaran bahwa metode bisection cukup
mudah untuk dipergunakan. Di bawah ini gambar diagram alir untuk proses perhitungan dengan
menggunakan metode bisection.

Gambar 3.3. Diagram alir metode bisection


BAB III. Akar Persamaan (rootfinding)-24
Dari diagram alir di atas bila diterjemahkan dalam kode MATLAB terlihat seperti di bawah
ini.
function m= TengahInterval(f,a,b,n)
% f=fungsi,a=nilai awal,b=nilai akhir,n=jumlah iterasi
format long % format angka yang dipakai 15 digit di belakang koma
fa = f(a);
fb = f(b);
if fa*fb > 0.0 % jika nilai f(a) dan f(b) sama tanda
error('pesan kesalahan:sama tanda')
end
for i=1:n
m=(a+b)/2;
y=f(m);
disp([m y]) % menampilkan m dan f(m) ke layar
if abs(y) <= 0.000001 % toleransi dipenuhi (akar persamaan ditemukan)
break % menghentikan iterasi
end
if fa*y < 0
b=m;
else
a=m;
end
end

Cara menggunakan program di atas untuk menyelesaikan persoalan f(x) = xx-5 dalam
MATLAB, di command window ketikkan perintah:
>>f=inline(‘x^x-5’) % mendefinisikan fungsi f(x)=xx-5
>>x=tengahint(f,-1,3,15) % memanggil file tengahint.m a=-1,b=3, iterasi=15

dari dua perintah di atas MATLAB akan memberikan jawaban:


m y
1 -4
2 -1
2.50000000000000 4.88211768802618
2.25000000000000 1.20027091141992
2.12500000000000 -0.03821735673994
2.18750000000000 0.54161544380854
2.15625000000000 0.24250328354650
2.14062500000000 0.09992110005946
2.13281250000000 0.03030574169645
2.12890625000000 -0.00409119118124
2.13085937500000 0.01307328653945
2.12988281250000 0.00448256839976
2.12939453125000 0.00019357102259
2.12915039062500 -0.00194933919712
2.12927246093750 -0.00087801640156
x =
2.12927246093750

Untuk mengetahui grafik dari fungsi yang dicari, f(x)=xx-5, bisa menggunakan perintah-
perintah di command window:
>>f=inline(‘x.^x-5’);
>>x=0:0.2:3;
>>y=feval(f,x)
>>plot(x,y,'-bs',x,zeros(size(x)),'--r',zeros(size(x)),y,'--r'),grid on,axis on
>>xlabel('sumbu x'),ylabel('sumbu y')
BAB III. Akar Persamaan (rootfinding)-25

Gambar 3.4. Bentuk grafis penyelesaian dengan Metode bisection

Penggunaan metode setengah untuk penyelesaian persamaan non linier interval memiliki
beberapa kelebihan dan sekaligus juga kekurangan yang bisa dipergunakan sebagai bahan
pertimbangan dalam penggunaan metode ini, yaitu:
− Kelebihan: cenderung konvergen (mengarah ke satu titik fokus), mudah untuk dibuat
program karena cara kerja yang sederhana, dan mempunyai tingkat kesalahan kecil.
− Kekurangan: Konvergensi bersifat linier sehingga proses berjalan lambat, menghasilkan satu
akar saja dalam perhitungan, dan pada fungsi tertentu misal f(x)=x2 yang hanya menyentuh
satu titik di sumbu x sulit untuk membuat batas bawah dan batas atas interval (Gambar 3.5)
atau fungsi f(x)=1/x yang mana terjadi perubahan tanda (+ atau -) tetapi akar tidak ada
(Gambar 3.6).

Gambar 3.5.a. Fungsi f(x)=x2 Gambar 3.5.a. Fungsi f(x)=1/x

3.4. Metode Regula Falsi atau Interpolasi Linier


Metode ini sangat mirip dengan metode bisection, perbedaannya hanya dalam menentukan
nilai m-nya. Metode ini dalam mencari nilai m adalah dengan menggunakan sifat segitiga sebangun
yaitu:
(b- a). f(b)
m = b-
f(b) - f(a)
BAB III. Akar Persamaan (rootfinding)-26

Gambar 3.6. Penentuan nilai m dari perpotongan garis lurus melalui dua titik.

Proses dengan cara ini memberikan perhitungan yang lebih cepat dibandingkan dengan
metode bisection. Algoritma untuk metode ini sama dengan metode bisection, hanya pada bagian
menentukan nilai m disesuaikan dengan rumus yang ada.Algoritma tersebut adalah:
1. Tentukan fungsi f(x), batas bawah a, batas atas b, toleransi, dan jumlah iterasi maksimum.
2. Hitung f(a) dan f(b).
3. Periksa apakah f(a).f(b)> 0; jika ya, keluar dari progam karena pada interval yang
diberikan tidak terdapat akar persamaan.
(b- a). f(b)
4. Hitung nilai m = b-
f(b) - f(a)
5. Jika nilai mutlak f(m) < toleransi, tuliskan m sebagai hasil perhitungan, dan akhiri
program; jika tidak, lanjutkan ke langkah berikutnya.
6. Jika jumlah iterasi > iterasi maksimum, akhiri program.
7. Jika f(a).f(m)<0, maka b=m, jika tidak, a = m.
8. Kembali ke langkah (2).

Contoh : cari akar persamaan f(x) = x3-x2 -1 dengan toleransi: 10-6


Langkah 1:
Nilai awal: batas bawah a=0, batas atas b=2, sehingga:
f(0)=03 -02-1= -1
f(2)=23 -22-1= 3
(2 - 0).3
m = 2- = 0.5
3 +1
f(0.5) =(0.5)3 –(0.5)2-1= |-1.1250000| > 0.000001
Langkah 2:
karena f(a).f(m)= (-1)( -1.1250000) > 0, maka a=m, sehingga:
a=0.5, b=2
f(0.5) =(0.5)3 –(0.5)2-1= -1.1250000
f(2)=23 -22-1= 3
(2 - 0.5).3
m = 2- = 0.909091
3 + 1.125
f(0.909091) =(0.909091)3 –(0.909091)2-1= |-1.07513141| > 0.000001

Langkah 3:
karena f(a).f(m)= (-1.1250000)( -1.07513141) > 0, maka a=m, sehingga:
a=0.909091, b=2
f(0.909091) =(0.909091)3 –(0.909091)2-1= -1.07513141
f(2)=23 -22-1= 3
(2 - 0.909091).3
m = 2- = 1.196903
3 + 1.07513141
f(1.196903) =(1.196903)3 –(1.196903)2-1= |-0.717921332| > 0.000001
Langkah 4:
karena f(a).f(m)= (-1.07513141)(-0.717921332) > 0, maka a=m, sehingga:
BAB III. Akar Persamaan (rootfinding)-27
a=1.196903, b=2
f(1.196903) =(1.196903)3 –(1.196903)2-1= -0.717921332
f(2)=23 -22-1= 3
( 2 - 1.196903).3
m = 2- = 1.351979027
3 + 0.717921332
f(1.351979) =(1.351979)3 –(1.351979)2-1= |-0.35663608| > 0.000001
Langkah 5:
karena f(a).f(m)= (-0.717921332)( -0.35663608) > 0, maka a=m, sehingga:
a=1.351979, b=2
f(1.351979) =(1.351979)3 –(1.351979)2-1= -0.35663608
f(2)=23 -22-1= 3
(2 - 1.351979).3
m = 2- = 1.420829976
3 + 0.35663608
f(1.420829976) =(1.420829976)3 –(1.420829976)2-1= |-0.15044619| > 0.000001

Seterusnya sampai toleransi yang disyaratkan tercapai. Perhitungan di atas bisa dilihat pada Tabel
3.2.
Tabel 3.2. Langkah-langkah penyelesaian persamaan f(x) = x3-x2 -1 dengan metode regula falsi.
Langkah a f(a) m f(m) b f(b)
0 -1 2 3
1
0.5 -1.125
0.5 -1.125 2 3
2
0.90909091 -1.07513148
0.909 -1.07513148 2 3
3
1.19690265 -0.717921989
1.197 -0.717921989 2 3
4
1.35197886 -0.356636546
1.352 -0.356636546 2 3
5
1.42082993 -0.150446331

Dengan toleransi sebesar 10-6, pada langkah ke 25 iterasi berhenti dengan hasil
x=1.46557119092277. Di bawah ini gambar diagram alir untuk proses perhitungan dengan
menggunakan metode regula falsi.

Gambar 3.7. Diagram alir metode regula falsi.


BAB III. Akar Persamaan (rootfinding)-28
Berikut ini, kode dalam MATLAB untuk menyelesaikan persamaan non linier dengan metode
regula falsi.
function m=regfalsi(f,a,b,n) %f=fungsi,a=nilai awal,b=nilai akhir,n=jumlah
iterasi
format long % format angka yang dipakai 15 digit di belakang koma
fa = f(a);
fb = f(b);
if fa*fb > 0.0
error('pesan kesalahan:sama tanda')
end
disp(' m y ')
for i=1:n
m=b-((b-a)*fb/(fb-fa));
y=f(m);
disp([m y])
if abs(y) <= 0.000001 % akar persamaan ditemukan
break % menghentikan iterasi
end
if fa*y < 0
b=m;
else
a=m;
end
end

Cara mengunakan program di atas untuk menyelesaikan persoalan f(x)=x3-x2 -1 dalam


command window MATLAB, ketikkan perintah:
>>f=inline(‘x^3-x^2-1’) % mendefinisikan fungsi f(x)=x3-x2 -1
>>x=regfalsi(f,1,2,20) % memanggil file regfalsi.m a=1,b=2, iterasi=20
m y
1.25000000000000 -0.60937500000000
1.43750000000000 -0.09594726562500
1.57812500000000 0.43980789184570
1.47265625000000 0.02505737543106
1.44628906250000 -0.06647393759340
1.45782470703125 -0.02700672448077
1.46153259277344 -0.01413060394978
1.46431350708008 -0.00441245589910
1.46639919281006 0.00291058710115
1.46483492851257 -0.00258446469666
1.46522599458694 -0.00121226003640
1.46551929414272 -0.00018242496629
1.46573926880956 0.00059033482427
1.46557428780943 0.00001073416219
1.46553304255940 -0.00013413711025
1.46554335387191 -0.00009792037557
1.46555108735629 -0.00007075735056
1.46555688746957 -0.00005038481518
1.46556123755454 -0.00003510526367
x =
1.46556123755454
BAB III. Akar Persamaan (rootfinding)-29

Gambar 3.9. Kurva hasil perhitungan dengan regula falsi f(x) = x3-x2 -1.

3.5. Metode Newton Raphson


Metode yang lebih baik dalam memilih g’(x) adalah dengan membuat garis singgung dari f(x)
untuk nilai x yang dipilih, dan dengan menggunakan besaran x dari perpotongan garis singgung
terhadap absis sehingga diperoleh nilai xbaru. Metode ini diperlihatkan pada gambar berikut.

Gambar 3.10. Garis singgung f(xi) memotong di x i+1.

Dari diagram di atas terlihat garis singgung terhadap f(x) adalah:

f(x i ) - 0 f(x i )
f 1 (x i ) = atau f 1 (x i ) =
x i - x i +1 x i - x i +1
sehingga
f (x i )
x i +1 = x i - dimana i=0, 1, 2, 3, …
f ' (x i )
Metode ini dikenal dengan Metode Newton-Raphson dan merupakan salah satu cara yang paling
dikenal dalam metode penyelesaian fungsi f(x)=0. Keuntungan cara ini adalah sifat konvergensi
kuadratik dalam proses iterasi, karena terjadinya koreksi digit ganda di setiap proses.
Contoh: f(x) = x3 - 3x - 20, maka f1(x) = 3x2- 3
Dengan demikian rumus untuk menentukan akar adalah:
x i+1 = xi - (x3i – 3xi - 20) / (3x2i - 3).

Perkiraan awal x0 = 5
BAB III. Akar Persamaan (rootfinding)-30
Langkah 1:
f(5)=53-3.(5)-20 =90
f’(5)=3(5)2-3 =72
xbaru=5-(90/72)=3.75
Langkah 2:
f(3.75)=( 3.75)3-3.( 3.75)-20 =21.4844
f’(5)=3(3.75)2-3 =39.1875
xbaru=3.75-(21.4844/39.1875)= 3.201754

dan seterusnya seperti terlihat pada Tabel 3.3 di bawah ini.


Tabel 3.3. Proses perhitungan pencarian akar dengan Metode Newton Rhapson
Langkah Xi Xi+1 f(xi) f'(xi) f(xi+1)
1 5 3.75 90 72 21.484375
2 3.75 3.201754 21.48438 39.1875 3.216661132
3 3.201754 3.085854 3.216661 27.75369344 0.127469447
4 3.085854 3.080868 0.127469 25.5674865 0.000229985
5 3.080868 3.080859 0.00023 25.47525192 7.53268E-10

Algoritma program untuk metode Newton-Raphson


1. Tentukan fungsi, x0, toleransi, dan jumlah iterasi maksimum.
2. Hitung xbaru = x – f’(x0)/f(x0).
3. Jika nilai mutlak fxbaru < toleransi, diperoleh xbaru sebagai hasil perhitungan;
4. jika tidak, lanjutkan ke langkah berikutnya.
5. Jika jumlah iterasi > iterasi maksimum, akhiri program.
6. x = xbaru, dan kembali ke langkah (b).
Kekurangan metode ini adalah : Harus mencari f’(x), dan nilainya mungkin 0, Tidaklah sederhana
melacak proses untuk konvergen, dan dalam perhitungan ada kemungkinan besar proses
memberikan hasil divergen, kecuali nilai perkiraan awal x cukup tepat.
Bagan alir program:

Gambar 3.11. Diagram alir metode Newton Rhapson


function x = MetodeNewton(f,x0,n,tol)
int i;
f0=inline(char(f)); % menyelesaikan persoalan f(x) = 0 dengan Metode Newton
g=inline(char(diff(f))); % dengan fungsi f dan g sebagai fungsi turunannya.
BAB III. Akar Persamaan (rootfinding)-31
x = x0;
i=0; % perkiraan awal x dengan nilai x0
fa=f0(x);
while abs(fa) > tol % lakukan sampai toleransi tercapai
fa=f0(x);
fb=g(x);
if fa == 0 or i=n
return % program berhenti jika f(x) = 0
end
x = x - fa./fb; % rumus Newton
disp([i x fa])% fa = f(x);
i=i+1;
end

>> syms x
>> f=x^3-3*x-20
f =
x^3-3*x-20
>> x=MetodeNewton(f,-2,20,0.000001)
0 0.4444 -22.0000
1.0000 -8.3806 -21.2455
2.0000 -5.5715 -583.4706
3.0000 -3.6161 -176.2331
4.0000 -2.0583 -56.4347
5.0000 0.2637 -22.5450
6.0000 -7.1781 -20.7728
7.0000 -4.7482 -368.3180
8.0000 -3.0029 -112.8032
9.0000 -1.4202 -38.0705
10.0000 4.6785 -18.6037
11.0000 3.5875 68.3674
12.0000 3.1548 15.4078
13.0000 3.0828 1.9339
14.0000 3.0809 0.0487
15.0000 3.0809 0.0000
16.0000 3.0809 0.0000
x =
3.0809

3.6. Metode Secant


Merupakan perbaikan dari kekurangan yang dimiliki oleh metode newton, yaitu nilai turunan
f’(x) didekati dengan beda hingga (∆).

Gambar 3.13. Penentuan nilai turunan fungsi dengan metode Secant.


BAB III. Akar Persamaan (rootfinding)-32
∆f ' ( x i ) f(x ) - f(x i-1 )
Dimana f ' ( x i ) =  f 1 (x i ) = i
∆x i x i - x i-1

Sehingga bila dimasukkan ke dalam persamaan Newton-Rhapson menjadi:


x i - x i-1
x i +1 = x i _ f ( x i )
f(x i ) - f(x i-1 )

Contoh: f(x) = x3 - 3x - 20,


Perkiraan awal:
x1=6  f(6)=178
x2 = 2  f(2)=-18

Langkah pertama:
x 2 _ x1
x3 = x 2 _ f ( x 2 )
f ( x 2 ) _ f ( x1 )
2_6
x3=178-6 =2.3673469
18 _(178)
Langkah kedua:
x2 = 2  f(2)=-18
x3=2.3673469 f(2.3673469)= -13.83464426
2.3673469 _ 2
x4= 2.3673469-13.83464426 =3.587438053
-13.83464426 _(_ 18)
Tabel 3.4 Proses perhitungan pencarian akar dengan Metode Newton Rhapson
Langkah x1 x2 x3 f'(x1) f'(x2) F(x3)
1 6 2 2.367346900 178 -18 -13.83464426
2 2 2.367346900 3.587438053 -18 -13.83464426 15.40697963
3 2.367346900 3.587438053 2.944590049 -13.83464426 15.40697963 -3.302376572
4 3.587438053 2.944590049 3.058058742 15.40697963 -3.302376572 -0.576057128
5 2.944590049 3.058058742 3.082034087 -3.302376572 -0.576057128 0.029936467
6 3.058058742 3.082034087 3.080849690 -0.576057128 0.029936467 -0.000248906
7 3.082034087 3.080849690 3.080859456 0.029936467 -0.000248906 -1.06044E-07

Algoritma program untuk metode Secant adalah sebagai berikut:


1. Tentukan x0, x1 , toleransi, dan jumlah iterasi maksimum.
2. Hitung xbaru = x1 – f(x1)( x 1- x0)/f(x1) –f(x0).
3. Jika nilai mutlak (xbaru – x1) < toleransi, diperoleh tulisan xbaru sebagai hasil perhitungan;
4. jika tidak, lanjutkan ke langkah berikutnya.
5. Jika jumlah iterasi > iterasi maksimum, akhiri program.
6. x = xbaru, dan kembali ke langkah (b).
BAB III. Akar Persamaan (rootfinding)-33

Gambar 3.14. Diagram alir Metode Secant.


function x = MetodeSecant(f,x0,x1,n,tol)
int i; % menyelesaikan persoalan f(x) = 0 dengan Metode Secant
fa=f(x0); % f=fungsi yang akan dicari akarnya, x0=nilai awal,x1=nilai
akhir
fb=f(x1); % n=jumlah iterasi, tol=nilai toleransi
i=0;
while abs(x0-x1) > tol % lakukan sampai toleransi tercapai
fa=f(x0);
fb=f(x1);
if fa == 0 or i=n
return % stops the program if f(x) = 0
end
x = x1 - fb.*(x1-x0)./(fb-fa); % rumus Newton
disp([i x fa]) % menampilkan hasil hitungan
x0=x1;
x1=x;
i=i+1;
end

3.7. Metode Iterasi


merupakan Metode perkiraan awal untuk satu variabel. Dalam hal ini fungsi f(x) ditulis sebagai:
f(x) = x - g(x) = 0, sehingga λ= g(λ),
kemudian xi+1 = g(xi), k= 0,1,2,...
Untuk mendapatkan akar persamaan x3 - 3x - 20 = 0, langkah pertama yang dilakukan adalah
mengubah persamaan dalam bentuk f(x) = x - g(x). Perubahan ini dapat dilakukan melalui empat
cara:
(i). x-(3x+20)1/3 =0
(ii).x-(x3 -20)/3 =0
(iii).x-20/(x2 -3) =0
(iv).x-(3+20/x)1/2 =0
BAB III. Akar Persamaan (rootfinding)-34
Dengan menggunakan bentuk pertama dapat dinyatakan rumusan:
xi+1=(3xi +20)1/3 , k= 0,1,2,....
dan dengan perkiraan awal x0 = 5, diperoleh
x0 =5
x1 =(3*5+20)1/3 =3.2771
x2 = (3 * 3.2771 + 20)1/3 = 3.1008
x3 =3.0830
x4 =3.0811 ; x6 =3.0809
xs = 3.0809 ; X7 = 3.0809

Gambar 3.15. Geometri f(x) = x - g(x) = 0.

Terlihat mudah mendapatkan akar persamaan dengan proses tersebut, bila dipahami benar perilaku
fungsi. Jika diamati tiga cara penulisan f(x) sebagai x - g(x):
(ii). x-(x3 -20)/3 =0
(iii). x-20/(x2 -3) =0
(iv). x - (3 + 20/x)1/2= 0, dan menggunakan perkiraan awal x0 = 5, maka seri besaran xi, i = 0, 1, 2,
..., memberikan hasil seperti tercantum dalam Tabel berikut ini.

Tabel 3.5. Proses perhitungan dengan Metode Iterasi dalam beberapa model penyelesaian.
i Cara ii Cara iii Cara iv
0 5 5 5
1 35 0.9091 2.6458
2 14285 -9.2015 3.2495
3 3.0257
4 3.1
5 3.0743
6 3.0831
7 3.0801
8 3.0811
9 3.0808

Dari contoh hitungan dapat dilihat bahwa cara iterasi tidak selalu dapat digunakan. Guna
mengetahui pada awal proses bahwa metode ini dapat dipakai, perlu diperiksa bentuk fungsi.
Turunan fungsi g(x) berada pada nilai 0 < g’(x) < 1 untuk jaminan hasil iterasi konvergen.
Algoritma program dengan metode Iterasi.
BAB III. Akar Persamaan (rootfinding)-35
a). Tentukan x0, toleransi, dan jumlah iterasi maksimum.
b). Hitung xbaru= g(x0).
c). Jika nilai mutlak (xbaru – x0) < toleransi, diperoleh tulisan xbaru sebagai hasil perhitungan;jika
tidak, lanjutkan ke langkah berikutnya.
d). Jika jumlah iterasi > iterasi maksimum, akhiri program.
e). x0 = xbaru, dan kembali ke langkah (b).

Gambar 3.18. Algoritma untuk Metode Iterasi.

function x = MetodeIterasi(g,x0,n,tol) % fungsi mencari akar dengan iterasi


int i; % g= fungsi iterasi, x0=nilai awal, n=jumlah
iterasi,tol=toleransi
for i=1:n % melakukan pengulangan sebanyak n kali
x=g(x0);
if abs(x-x0)< tol
return % berhenti jika selisih lebih kecil dari nilai toleransi
end
x0=x; % nilai x awal diganti dengan nilai x baru
disp([i x x0]) % menampilkan hasil
end

Contoh penerapan dalam bidang teknik sipil


1. Frekuensi alami dan getaran balok uniform yang terjepit pada salah satu ujungnya dan bebas
pada ujungnya yang lain dapat dicari dan persamaan berikut: cos(βl).cosh(βl)+1=0. selesaikan
dengan Metode Bisection.

β= ρω2/El
l=panjang elemen balok = 1 meter
ρ= berat jenis elemen balok = 2.4 x 104
ω= frekuensi pribadi balok (sec-1)
BAB III. Akar Persamaan (rootfinding)-36
El = kekakuan lentur balok= 2.5 x 106
Tetapkan nilai β dari persamaan dengan l=1 meter, sehingga:
cos(β).cosh(β)+1=0 kemudian ganti β dengan variabel bebas x sehingga:
cos(x).cosh(x)+1=0 sebagai persamaan umum yang akan dicari akarnya.
a f(a) m f(m) b F(b) selisih
7 414.3774489 7.5 314.3657744 8 -215.8647684 630.2422
7.5 314.3657744 7.75 121.4830806 8 -215.8647684 530.2305
7.75 121.4830806 7.875 -26.6443311 8 -215.8647684 337.3478
7.75 121.4830806 7.8125 52.242111 7.875 -26.6443311 148.1274
7.8125 52.242111 7.84375 14.04382103 7.875 -26.6443311 78.88644
7.84375 14.04382103 7.859375 -5.984109702 7.875 -26.6443311 40.68815
7.84375 14.04382103 7.8515625 4.108277863 7.859375 -5.984109702 20.02793
7.8515625 4.108277863 7.85546875 -0.918233601 7.859375 -5.984109702 10.09239
7.8515625 4.108277863 7.853515625 1.599933114 7.85546875 -0.918233601 5.026511
7.85351563 1.599933114 7.854492188 0.342078702 7.85546875 -0.918233601 2.518167
7.85449219 0.342078702 7.854980469 -0.287770063 7.85546875 -0.918233601 1.260312
7.85449219 0.342078702 7.854736328 0.027231147 7.854980469 -0.287770063 0.629849
7.85473633 0.027231147 7.854858398 -0.130250249 7.854980469 -0.287770063 0.315001
7.85473633 0.027231147 7.854797363 -0.051504749 7.854858398 -0.130250249 0.157481
7.85473633 0.027231147 7.854766846 -0.0121356 7.854797363 -0.051504749 0.078736

Selanjutnya didapatkan nilai


β =7.8547575
β= ρω2/El
1/22.5 *106 * 7.8547575
ω= (β.El/ρ) = =28.6 /det
2.4 *106

di dalam MATLAB, unutk mencari nilai β penyelesaiannya sebagai berikut:


>>f=inline(‘cos(x).cosh(x)+1’) % mendefinisikan fungsi
>>b=tengahint(f,7,8,20) % memanggil fungsi Metode Bisection
b =
7.85475826263428
>> w=(b*2500000/24000)^0.5
w =
28.60426516607393

2. Dalam desain tikungan jalan lingkar diperoleh rumusan:


R2
R= +M
(R 2 + T 2 )1/ 2
dengan:
R =jari-jari kurva jalan
T = jarak tangensial= 273.935 m
M = ordinat tengah= 73.773 m
hitunglah berapa nilai R dengan menggunakan metode iterasi.
BAB III. Akar Persamaan (rootfinding)-37
2
R
R= + 73.773
(R + 273.935 2 )1/ 2
2

ganti R dengan variabel bebas x sehingga


x2
f(x)= + 73.773 - x
( x 2 + 75040.38)1 / 2
x2
x=g(x)  x = + 73.773
( x + 75040.38)1 / 2
2

dengan metode iterasi:


iterasi x g(x) f(x)
1 125 125.6648654 0.664865404
2 125.6648654 126.1702158 0.505350378
3 126.1702158 126.555521 0.385305184
4 126.555521 126.84999 0.294469079
5 126.84999 127.0754403 0.225450231
6 127.0754403 127.2482837 0.172843393
7 127.2482837 127.3809334 0.132649693
8 127.3809334 127.4828171 0.101883781
9 127.4828171 127.5611184 0.078301211
10 127.5611184 127.6213237 0.060205324
11 127.6213237 127.6676318 0.046308125
12 127.6676318 127.7032604 0.03562864
13 127.7032604 127.7306783 0.027417849
14 127.7306783 127.751781 0.021102713
15 127.751781 127.7680252 0.016244177
16 127.7680252 127.7805306 0.012505441
17 127.7805306 127.7901585 0.009627922
18 127.7901585 127.7975715 0.007412948
19 127.7975715 127.8032793 0.005707797
20 127.8032793 127.8076743 0.004395019

di dalam MATLAB, unutk mencari nilai R penyelesaiannya sebagai berikut:


>>f=inline(‘(x.^2/(x.^2+ 75040.38).^0.5)+ 73.773’) % mendefinisikan fungsi
>> R=MetodeIterasi(f,125,20,0.000001) % memanggil fungsi Metode Iterasi
R =
127.8077

Latihan:
1. Dari suatu perhitungan tentang kebutuhan akan produksi optimal suatu komponen struktur
didapat persamaan biaya yang dibutuhkan untuk pengadaan produksi dalam satu hari sebagai
berikut:
C = 13000 N-1 + 158.11 N-0.5 + N + 0.0025 N2
dengan:
C = biaya per hari
N =jumlah komponen yang diproduksi.
Hitunglah jumlah optimal komponen yang diproduksi sehingga biaya produksi menjadi
minimum.
2. Dari solusi persamaan diferensial penentu balok kantilever untuk getaran bebas, diperoleh
frekuensi angular w, sistem struktur dari hubungan ;
cos βL .cosh βL = -1
dengan:
BAB III. Akar Persamaan (rootfinding)-38

ωn 2
EI
βn = , dan a = , dengan ρ=massa/satuan panjang
a ρ.a

- gambarkan kurva persamaan


- tentukan besarnya frekuensi angular w1 dan w2 dari tiga akar yang pertama.

Anda mungkin juga menyukai