Diperlukan suatu metode dalam mencari hasil dari suatu persoalaan yang dinyatakan dalam model
matematis. Dalan penyelesaian secara numerik, terdapat beberapa metode yang dapat digunakan
seperti metode biseksi, regula falsi, iterasi, dan Newton Raphson. Masing-masing metode tersebut
memiliki kelebihan dan kekurangan masing-masing namun dapat memberikan hasil yang sama.
Untuk lebih memperjelas perbedaan dari masing-masing metode yang telah disebutkan, kita aplikasikan
untuk mencari akar riil dari persamaan berikut:
i. Metode Biseksi
function y=fungsi(x)
y=x^3+2*(x^2)+10*x-20;
clear;clc;
x1=1;
x2=1.5;
tol=0.00001;
fx0=1;
i=0;
fx1=fungsi(x1);
fx2=fungsi(x2);
if (fx1*fx2>0)
else
disp(‘iterasi ke x0 fx0’)
while (abs(fx0)>tol);
i=i+1;
x0=(x1+x2)/2;
fx0=fungsi(x0);
fprintf(‘ %d %f %f \n’,i,x0,fx0);
if(fx1*fx0<0)
x2=x0;
else
x1=x0;
end
end
end
Selanjutnya kita run program metode biseksi di atas sehingga kita dapatkan hasil seperti berikut:
iterasi ke x0 fx0
1 1.250000 -2.421875
2 1.375000 0.130859
3 1.312500 -1.168701
4 1.343750 -0.524811
5 1.359375 -0.198460
6 1.367188 -0.034173
7 1.371094 0.048250
8 1.369141 0.007016
9 1.368164 -0.013584
10 1.368652 -0.003286
11 1.368896 0.001864
12 1.368774 -0.000711
13 1.368835 0.000577
14 1.368805 -0.000067
15 1.368820 0.000255
16 1.368813 0.000094
17 1.368809 0.000013
18 1.368807 -0.000027
19 1.368808 -0.000007
Dalam program kita menentukan toleransi sebesar 0.00001 sehingga ketika fx0 lebih kecil dari nilai
toleransi yang telah ditentukan program akan berhenti menghitung. Untuk metode biseksi ini kita
program melakukan 19 kali perhitungan untuk memenuhi persyaratan yang telah ditentukan.
Sekarang kita gunakan metode yang lain yaitu regulas falsi. Fungsi yang digunakan tetap sama hanya saja
perhitungannya yang berbeda. Berikut ini listing program utamanya:
clear;clc;
x1=1;
x2=1.5;
tol=0.00001;
fx0=1;
i=0;
fx1=fungsi(x1);
fx2=fungsi(x2);
if (fx1*fx2>0)
else
disp(‘iter ke x0 fx0’)
while (abs(fx0)>tol);
i=i+1;
x0=x1+(-(fungsi(x1))*(x2-x1)/(fungsi(x2)-fungsi(x1)));
fx0=fungsi(x0);
fprintf(‘%d %f %f \n’,i,x0,fx0);
if(fx1*fx0<0)
x2=x0;
else
x1=x0;
end
end
end
Tampak bahwa hanya rumus perhitungannya saja yang diubah. Jika program dijalankan maka hasilnya
seperti berikut:
iter ke x0 fx0
1 1.354430 -0.302055
2 1.368270 -0.011345
3 1.368788 -0.000424
4 1.368807 -0.000016
5 1.368808 -0.000001
Pada iterasi ke-5 perhitungan dihentikan karena nilai absolut dari fx0 lebih kecil dari nilai toleransi.
Berdasarkan percobaan, tampak bahwa metode regula falsi lebih cepat dalam mendapatkan hasil.
Program pada metode iterasi lebih pendek dari metode biseksi dan regula falsi, tetapi metode ini juga
dapat memberikan hasil yang sama. Berikut ini listing program metode iterasi:
clear;clc;
g0=1;
tol=0.00001;
i=0;
fg0=fungsig(g0);
disp(‘iterasi ke x0 fx0’)
while(abs(fg0)>tol)
i=i+1;
g0=fungsig(g0);
fg0=fungsi(g0);
fprintf(‘ %d %f %f\n’,i,g0,fg0);
end
iterasi ke x0 fx0
1 1.538462 3.759672
2 1.295019 -1.523815
3 1.401825 0.703228
4 1.354209 -0.306678
5 1.375298 0.137171
6 1.365930 -0.060671
7 1.370086 0.026969
8 1.368241 -0.011961
9 1.369060 0.005310
10 1.368696 -0.002357
11 1.368858 0.001046
12 1.368786 -0.000464
13 1.368818 0.000206
14 1.368804 -0.000091
15 1.368810 0.000041
16 1.368807 -0.000018
17 1.368808 0.000008
Didapatkan sebanyak 17 kali perhitungan pada metode ini. Hasil akhir yang diberikan sama dengan dua
metode sebelumnya yaitu metode biseksi dan metode regula falsi.
Sama halnya dengan metode iterasi, program pada metode Newton Raphson ini tidak terlalu panjang
tetapi perlu diingat bahwa metode ini memerlukan fungsi dari turunan pertama fungsi pertamanya
sehingga kita perlu membuat fungsi lagi khusus untuk digunakan pada metode ini. Berikut ini listing
fungsi turunan pertama dari fungsi awalnya:
function y=dif(x)
y=3*(x^2)+4*x+10;
setelah membuat fungsi turunanannya, kita susun program utamanya untuk menghitung akar riil dari
persamaan tersebut
clear;clc
toleransi=0.000001;
i=0;
x0=1;
fx0=fungsi(x0);
disp(‘iterasi ke x0 fx0’)
i=i+1;
x0=x0-(fungsi(x0)/dif(x0));
fprintf(‘ %d %f %f\n’,i,x0,fx0);
end
iterasi ke x0 fx0
1 1.411765 0.917566
2 1.369336 0.011148
3 1.368808 0.000002
4 1.368808 0.000000
Nilai x0 pada iterasi terakhir merupakan akar riil yang dicari. Berdasarkan hasil-hasil yang ditampilkan di
atas semua akar yang didapatkan bernilai sama. Meskipun didapatkan nilai yang sama, sudah tampak
jelas bahwa terdapat perbedaan jumlah iterasi yang dilakukan untuk mendapatkan akar yang diinginkan.
Semakin sedikit iterasi yang dilakukan maka semakin cepat metode tersebut dalam mendapatkan hasil.
Dalam hal ini metode Newton Raphson unggul dalam kecepatan untuk menentukan hasil yang
diinginkan, kemudian disusul dengan metode regula falsi, metode iterasi, dan terakhir metode biseksi.