Anda di halaman 1dari 4

Step By Step Bisection Method

File : Bagi_Dua.m
% BAHAN PRAKTIKUM METODE NUMERIK
% METODE BAGI DUA
% OLEH : SYAIFUL HAMZAH NASUTION
% 20 OKTOBER 2012

Keterangan :
Tanda % digunakan untuk memberikan komentar pada suatu program. Komentar ini tidak akan diproses oleh matlab.

clc;
clear;

Keterangan :
Perintah clc digunakan untuk membersihkan layar pada command window. Sedangkan clear digunakan untuk membersihkan memory pada matlab

disp('-----------------------------------')
disp('METODE BAGI DUA');
disp('Create By : Syaiful Hamzah Nasution')
disp('-----------------------------------')

Keterangan :
Perintah disp digunakan untuk menampilkan teks pada command window.

iterasi=1;
a=input('Masukkan Ujung Kiri Selang (a) : ');
aawal=a;
b=input('Masukkan Ujung Kanan Selang (b) : ');
bawal=b;
epsilon=input('Masukkan Nilai epsilon : ');
t=(a+b)/2;
error=b-a;
cekselang=f1(a)*f1(t);

Step By Step Bisection Method. 1


Keterangan :
Perintah input digunakan untuk meminta masukan dari user. Dari perintah di atas, variable a dan b adalah variable yang nilainya diinputkan oleh user, demikian
juga variable epsilon.

if cekselang==0
disp('Nilai akar adalah : %2.8f',t);
else
disp('--------------------------------------------------------------------------------------------------------')
disp('Iterasi a b T=(a+b)/2 f(a)f(t) eror selang
baru[a,b]')
disp('--------------------------------------------------------------------------------------------------------')
while error>epsilon
t=(a+b)/2;
cekselang=f1(a)*f1(t);
if cekselang <0
bbaru=t;
abaru=a;
else
abaru=t;
bbaru=b;
end
error=bbaru-abaru;
fprintf('%2d %15.8f %14.8f %13.8f %13.8f %13.8f [%3.8f, %3.8f]
\n',iterasi,a,b,t,cekselang,error,abaru,bbaru);
a=abaru;
b=bbaru;
iterasi=iterasi+1;
end
end
disp('------------------------------------------------------------------------------------------------------------')
fprintf('Hampiran akar pada selang [%1.8f,%1.8f] dengan epsilon = %f adalah : %.8f \n\n',aawal,bawal,epsilon,t);

keterangan :
pada perintah di atas, perintah \n digunakan untuk membuat baris baru. Perintah fprintf digunakan untuk menampilkan data baik berupa data string (teks),
maupun data numeric. Perintah %1.8f berarti variable yang berpadanan ditampilkan dengan format bilangan real (floating-point) dengan 8 digit mantisa (8 angka
di belakang koma). Perintah f1(a) merupakan perintah untuk memanggil fungsi f1 dengan nilai x = a

Step By Step Bisection Method. 2


File : f1.m

function y=f1(x)
y=x^2-6*x+8;

Keterangan :
Dalam membuat fungsi digunakan perintah function. Sedangkan untuk memanggil fungsi digunakan nama file dari fungsi yang dan nilai yang akan disubtitusikan
pada fungsi tersebut. Dari data di atas nama filenya adalah f1.m sehingga untuk memanggil fungsi yang ada di file f1.m dengan nilai x = a, maka digunakan
perintah f1(a) .

Berikut hasil yang ditampilkan pada command window matlab


-----------------------------------
METODE BAGI DUA
Create By : Syaiful Hamzah Nasution
-----------------------------------
Masukkan Ujung Kiri Selang (a) : 3
Masukkan Ujung Kanan Selang (b) : 6
Masukkan Nilai epsilon : 0.000001
----------------------------------------------------------------------------------------------------------------------
Iterasi a b T=(a+b)/2 f(a)f(t) eror selang baru[a,b]
----------------------------------------------------------------------------------------------------------------------
1 3.00000000 6.00000000 4.50000000 -1.25000000 1.50000000 [3.00000000, 4.50000000]
2 3.00000000 4.50000000 3.75000000 0.43750000 0.75000000 [3.75000000, 4.50000000]
3 3.75000000 4.50000000 4.12500000 -0.11621094 0.37500000 [3.75000000, 4.12500000]
4 3.75000000 4.12500000 3.93750000 0.05297852 0.18750000 [3.93750000, 4.12500000]
5 3.93750000 4.12500000 4.03125000 -0.00768661 0.09375000 [3.93750000, 4.03125000]
6 3.93750000 4.03125000 3.98437500 0.00375462 0.04687500 [3.98437500, 4.03125000]
7 3.98437500 4.03125000 4.00781250 -0.00048636 0.02343750 [3.98437500, 4.00781250]
8 3.98437500 4.00781250 3.99609375 0.00024176 0.01171875 [3.99609375, 4.00781250]
9 3.99609375 4.00781250 4.00195313 -0.00003049 0.00585938 [3.99609375, 4.00195313]
10 3.99609375 4.00195313 3.99902344 0.00001522 0.00292969 [3.99902344, 4.00195313]
11 3.99902344 4.00195313 4.00048828 -0.00000191 0.00146484 [3.99902344, 4.00048828]
12 3.99902344 4.00048828 3.99975586 0.00000095 0.00073242 [3.99975586, 4.00048828]
13 3.99975586 4.00048828 4.00012207 -0.00000012 0.00036621 [3.99975586, 4.00012207]

Step By Step Bisection Method. 3


14 3.99975586 4.00012207 3.99993896 0.00000006 0.00018311 [3.99993896, 4.00012207]
15 3.99993896 4.00012207 4.00003052 -0.00000001 0.00009155 [3.99993896, 4.00003052]
16 3.99993896 4.00003052 3.99998474 0.00000000 0.00004578 [3.99998474, 4.00003052]
17 3.99998474 4.00003052 4.00000763 -0.00000000 0.00002289 [3.99998474, 4.00000763]
18 3.99998474 4.00000763 3.99999619 0.00000000 0.00001144 [3.99999619, 4.00000763]
19 3.99999619 4.00000763 4.00000191 -0.00000000 0.00000572 [3.99999619, 4.00000191]
20 3.99999619 4.00000191 3.99999905 0.00000000 0.00000286 [3.99999905, 4.00000191]
21 3.99999905 4.00000191 4.00000048 -0.00000000 0.00000143 [3.99999905, 4.00000048]
22 3.99999905 4.00000048 3.99999976 0.00000000 0.00000072 [3.99999976, 4.00000048]
----------------------------------------------------------------------------------------------------------------------
Hampiran akar pada selang [3.00000000,6.00000000] dengan epsilon = 0.000001 adalah : 3.99999976

Step By Step Bisection Method. 4

Anda mungkin juga menyukai