Anda di halaman 1dari 19

METODE NUMERIK

fitria
 Metode numerik adalah teknik penyelesaian
permasalahan yang diformulasikan secara matematis
dengan cara operasi hitungan. Dalam metode
numerik ini dilakukan operasi hitungan dalam
jumlah yang banyak dan prosesnya berulang[1].

 Metode numerik bisa digunakan dalam berbagai


bidang ilmu, seperti bidang teknik (teknik mesin,
teknik sipil, teknik elektro, teknik kimia dan
sebagainya), kedokteran, sosial, ekonomi dan bidang
ilmu lainnya[1].
AKAR-AKAR PERSAMAAN
Akar Persamaan dari suatu fungsi terletak pada saat harga f(x) = 0.
Contoh : f(x) = 𝑥 2 - 4.
Pada fungsi diatas, didapatkan akar fungsi adalah 𝑥 = ±2.

n=25;
x=-4:1/n:4;
y = x.^2-4;
plot (x,y,'b*');
grid
title ('Grafik f(x) = x.^2-4’);
xlabel('x');
ylabel('f(x)');
Dengan bantuan Matlab , kita dapatkan plot grafik untuk fungsi f(x) = 𝑥 2 - 4.
Contoh 2. 𝑓 𝑥 = 3𝑥 2 -7x +6.
2
Pada fungsi tersebut didapatkan akar persamaan nya yaitu , 𝑥 = , dan 𝑥 = −3.
3

n=25;
x=-4:1/n:4;
y = 3*x.^2-7*x+6;
plot (x,y,'b*');
grid
title ('Grafik f(x) = 3*X^2-7*x+6');
xlabel('x');
ylabel('f(x)');
Plot grafik untuk fungsi, . 𝑓 𝑥 = 3𝑥 2 -7x +6.
Why do we find roots of an equation ???
Throwing a ball

missile

Projectile launch
https://www.mathsisfun.com/algebra/quadratic-equation-real-world.html
Bisection Method

Bisection Method adalah metode untuk mendapatkan


akar persamaan dengan cara kurung akar fungsi
diantara 2 batas, lalu paruh batas itu terus menerus
sampai batas itu sedemikian sempit dan dengan
demikian lokasi akar fungsi di ketahui dengan
keakuratan tertentu [2].
Langkah-langkah perhitungan bisection methods :
1. Tentukan sembarang titik 𝑥1 dan 𝑥2 , kemudian menghitung nilai fungsinya
yaitu saat x= 𝑥1 dan saat x=𝑥2 . Saat nilai x=𝑥1 , maka f(x)=f(𝑥1 ) dan saat
x=𝑥2 , maka f(x)=f(𝑥2 ).
2. Cek untuk nilai, f(𝑥1 ) . f(𝑥2 ) < 0. Bila nilai tersebut lebih kecil dari 0, artinya
f(𝑥1 ) dan f(𝑥2 ) berbeda tanda. Pada kondisi ini, biasanya akar fungsi
terdapat diantara 𝑥1 𝑑𝑎𝑛 𝑥2 .
Apabila nilai f(𝑥1 ) . f(𝑥2 ) > 0, maka bisa jadi terdapat jumlah akar yang genap
atau bisa juga diantara 𝑥1 dan 𝑥2 tidak ada akar fungsi.
Langkah-langkah perhitungan bisection methods :
3. Hitung nilai 𝑥𝑡 .

𝑥1 +𝑥2
𝑥𝑡 =
2
4. Hitung nilai fungsi 𝑓(𝑥𝑡 ).
5. Cek 𝑓(𝑥𝑡 ) . 𝑓(𝑥1 ) < 0.
Apabila nilainya < 0, maka nilai 𝑥𝑡 menjadi nilai 𝑥2 yang baru.
Apabila nilainya >0, maka nilai 𝑥𝑡 menjadi nilai 𝑥1 yang baru.
6. Cek apakah 𝑓(𝑥𝑡 ) ≤ ε.
ε adalah bilangan kecil yang nilainya ditentukan oleh user atau
pengguna. Nilai 𝜀 = 10−5 sudah termasuk bagus.
7. Apabila nilai 𝑓(𝑥𝑡 ) ≤ ε, jika iya, maka 𝑥𝑡 adalah salah satu akar
persamaan.
8. Apabila nilai 𝑓(𝑥𝑡 ) ≥ ε , jika iya , maka proses akan berulang kembali
ke langkah 3 dan seterusnya sampai didapatkan nilai 𝑓(𝑥𝑡 ) ≤ ε.
Contoh : Hitung salah satu akar dari persamaan pangkat 3 berikut ini.
𝑓 𝑥 = 𝑥 3 + 𝑥 2 − 3𝑥1 −3=0
Cek dengan ε = 0,0001
Jawab :
Dengan mengikuti alur flowchart diatas, maka :
1. Tentukan nilai tebakan 𝑥1 𝑑𝑎𝑛 𝑥2 . Misal 𝑥1 = 1 dan 𝑥2 = 2.
2. 𝑓(𝑥1 ) = 13 + 12 − 3 ∗ 11 − 3= -4
𝑓(𝑥2 ) = 23 + 22 − 3 ∗ 21 − 3= 3
3. Cek 𝑓(𝑥1 ) . 𝑓(𝑥2 ) = (-4) . 3 = -12 ( nilainya negatif < 0).
𝑥1 +𝑥2 1+2
4. Hitung 𝑥𝑡 = = = 1.5.
2 2

5. 𝑥2 = 𝑥𝑡 . Hitung 𝑓(𝑥2 ) = 1.53 + 1.52 − 3 ∗ (1.5)1 − 3= -1.875.


6. Cek 𝑓(𝑥1 ) . 𝑓(𝑥2 ) = (-4) . ( -1.875) = positif. Karena positif maka hasil
dari Cek 𝑓(𝑥1 ) . 𝑓(𝑥2 ) >0. Bila hal ini terjadi maka nilai 𝑥2 kembali ke
nilai asalnya yaitu 𝑥2 = 2, sedangkan nilai 𝑥1 nya yang diganti
dengan 𝑥𝑡 . Sehingga 𝑥1 = 𝑥𝑡 = 1.5. Maka 𝑓(𝑥1 ) = -1.875.
Beberapa contoh code bisection program dalam matlab.
Contoh 1.

a=input('Enter function with right hand side for i=2:1000


zero:','s'); xr=(xu+xl)/2;
f=inline(a); if f(xu)*f(xr)<0
xl=xr;
xl=input('Enter the first value of guess interval:') ; else
xu=input('Enter the end value of guess interval:'); xu=xr;
tol=input('Enter the allowed error:'); end

if f(xu)*f(xl)<0 if f(xl)*f(xr)<0
else xu=xr;
fprintf('The guess is incorrect! Enter new else
guesses\n'); xl=xr;
xl=input('Enter the first value of guess end
interval:\n') ;
xu=input('Enter the end value of guess xnew(1)=0;
interval:\n'); xnew(i)=xr;
end if abs((xnew(i)-xnew(i-1))/xnew(i))<tol,break,end
end
str = ['The required root of the equation is: ',
num2str(xr), '']

Anda mungkin juga menyukai