Anda di halaman 1dari 13

Berbagai persoalan fisika memerlukan komputasi yang cukup rumit apabila dikerjakan secara analitik dan

manual. Aproksimasi penyelesian kemudian diperkenalkan untuk menyederhanakan penyelesaian eksak.


Metode numerik diciptakan untuk melakukan aproksimasi ini dalam pencarian solusi persoalan rumit.
Namun demikian tidak jarang komputasi numerik harus dilakukan berulangkali agar dapat dihasilkan
besaran error yang cukup kecil sesuai dengan persyaratan, yang apabila dilakukan secara manual akan
menyita banyak waktu.

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

M-file pertama kita buat fungsi seperti di atas,berikut listing-nya:

function y=fungsi(x)

y=x^3+2*(x^2)+10*x-20;

Berikutnya kita buat M-file 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)

disp(‘tidak ada akar’)

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.

ii. Metode Regulas Falsi

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)

disp(‘tidak ada akar’)

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.

iii. Metode Iterasi

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

Output dari metode iterasi seperti berikut:

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.

iv. Metode Newton Raphson

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’)

while (abs (fx0)>toleransi)

i=i+1;

x0=x0-(fungsi(x0)/dif(x0));

fx0=fungsi(x0); %Hitung f(Xn+1)

fprintf(‘ %d %f %f\n’,i,x0,fx0);

end

Jika program dijalankan maka hasil yang ditampilkan sperti berikut:

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.

Anda mungkin juga menyukai