Anda di halaman 1dari 34

METODE NUMERIK

Eko Budi Wahyono

FLOW - CHARD
Pembuka program

STAR
T

Penutup program
STOP

Input / output

FLOW - CHARD
Pernyataan data, hitungan
Pernyataan for
X=5.:Beda:5.

Pernyataan if

YA
TIDA
K

Sign(f)
<0
YA

Program plot grafik fungsi


Flow-chart

STAR
T
X=5.:0.1:5.

Y=x.^2
-8

Plot(x,
y)
STO
P

Program grafik fungsi polinom


pangkat dua.
%PROGRAM MENGGAMBAR FUNGSI KWADRAT
x=-5:0.2:5; %input variabel bebas x dari -5 sampai 5 dengan spasi
0.2
y=x.^2-8; %menulis fungsi polinomial pangkat 2.
y1=0; % Membuat garis mendatar pada sumbu y sama dengan nol
plot(x,y,x,y1); axis([-5 5 -10 10]) % Perintah menggambar fungsi
membuat batas sumbu.
title('Grafik Fungsi Y vs Variabel bebas
x','fontsize',14,'fontname','Arial','color','blue') % menulis judul grafik
xlabel('Varabel
Bebas(x)','fontsize',12,'fontname','Arial','color','green') % menulis
label sumbu x.
ylabel('Fungsi Y ','fontsize',12,'fontname','Arial','color','red') %
menulis label sumbu y.

HASIL OUTPUT GRAFIK


Grafik Fungsi Y vs Variabel bebas x

10
8
6

F ungsi Y

4
2
0
-2
-4
-6
-8
-10
-5

-4

-3

-2

-1

Varabel Bebas(x)

Intruksi
Ketik program diatas dan eksekusi
program tersebut setelah ada hasilnya
tunjukkan kepada dosen untuk dinilai,
serta pelajari komen-komennya agar
nanti apabila ditanyakan dalam ujian
saudara sudah siap.

Program tabulasi fungsi


Flow - chard

STAR
T
x
f(x)
tanda
-------------------i=1;beda=0.1
;
x=5.0:beda:5.0
1

flow-chard tabulasi fungsi bagian


2
Flow-chard

f=x.^28

sign(f)<
0
X,f,tanda(i)

sign(f)>
0

tanda(i)
=0

flow-chard tabulasi fungsi bagian


3
Flow-chard

3
i=i+
1
2

i=1

x=5.0:beda:5.0
4

flow-chard tabulasi fungsi bagian


4
Flow-chard

i>1

tanda(i)=
=0

a=x-beda
, b=x
Akarnya ada
di interval
[a,b]

Akarnya adalah
=x
i=i+
1
5

STO
P

Program tabulasi-bagian 1
fprintf('x
f(x)
tanda\n'); % Menulis label
kolom tabel
fprintf('---------------------\n'); % Membuat garis awal
tabel
i=1;beda=0.1; % Menentukan nilai awal i dan
nilai spasi
for x=-5.0:beda:5.0 % Pernyataan for tidak
diakhiri titik koma

f=x.^2-8; % Menulis fungsi

fprintf('%3.1f %6.3f',x,f); % Perintah menulis


output x dan f

if sign(f)<0 % Pernyataan if tidak diakhiri


dengan titik koma

Program tabulasi-bagian 2
if sign(f)>0 % Pernyataan if tidak diakhiri dengan titik koma

tanda(i)='+'; % menentukan output tanda

fprintf(' %s\n',tanda(i)); % Perintah menulis output tanda

else % Pernyataan else tidak diakhiri titik koma

tanda(i)='0'; % menentukan output tanda

fprintf(' %s\n',tanda(i)); % Perintah menulis output


tanda

end;

end;

i=i+1; % increment i
end;

Program tabulasi-bagian 3
i=1; % inisialisasi nilai i
for x=-5.0:beda:5.0 % pernyataan for tidak diakhiri dengan titik
koma

if tanda(i)=='0 % pernyataan if tidak diakhiri dengan titik


koma

fprintf('Akarnya adalah = %6.4f\n',x); % Pernyataan output x

else% Pernyataan else tidak diakhiri titik koma

if i>1

if tanda(i)~=tanda(i-1)

a=x-beda;

b=x;

fprintf('Akarnya ada di interval [%3.1f,%3.1f]\n',a,b);

end;

end;

end;

i=i+1;% increment i
end;

OUTPUT PROGRAM
TABULASI
x
f(x)
tanda
-----------------------------3.0
1.000 +
-2.8
-0.160
-2.6
-1.240
-2.4
-2.240
-2.2
-3.160
-2.0
-4.000
-1.8
-4.760
-1.6
-5.440
-1.4
-6.040
-1.2
-6.560
-

1.2
-6.560
1.4
-6.040
1.6
-5.440
1.8
-4.760
2.0
-4.000
2.2
-3.160
2.4
-2.240
2.6
-1.240
2.8
-0.160
3.0
1.000 +
akar ada di interval [-3.0,2.8]
akar ada di interval
[2.8,3.0]
>>

Intruksi
Ketik program diatas dalam jendela
editor matlab dan eksekusi program
tersebut, selanjutnya tunjukkan
hasilnya pada dosen.
Hafalkan komentar yang ada dalam
program agar anda siap dalam ujian.

BISECTION
Pencarian akar persamaan dengan
pendekatan membagi segmen
menjadi dua.
Xr=(xl+xu)/2
SEGME
N

y
xl

Aka
r
xr

xl

SEGMEN
BAWAH

xu

Xl=
xr

Xu=
xr

x
u

SEGMEN
ATAS

Pengujian segmen akar:


1. f(xl).f(xr)<0 maka ada akar xu=xr
2. f(xl).f(xr)>0 maka tak ada akar
xl=xr
3. f(xl).f(xr)=0 maka xr=akar
4. Kesalahan ea=abs((xrl-xr)/xr).100
Biasanya ditetapkan kesalahan
kurang dari 1 % xr=akar.

Program Pendekatan Akar Bisection


Flow-chard

STAR
T
i=1.; beda=1; xl=2.;
xu=3.0;
xrl=(xl+xu)
/2

i
xl
xu
xr
ea
------------------------------------

i=1:beda:
10
1

Flow-chard Bisection bagian


2
1

Flow-chard

xr=(xl+xu)/2;
fxl=xl.^2-8;
fxr=xr.^2-8;
ea=abs((xrlxr)/xr)*100.
i,xl,xu,xr,ea

fxl*fxr <
0
xu=x
r

fxl*fxr >
0
2

xl=x
r

Flow-chard Bisection bagian 3


Flow-chard

xrl=xr;
3

i=i+1;
ea <
1.0
-----------------------------------Iterasi selesai Akarnya adalah =xr
Akar dipilih pada ea kurang dari satu
persen
STOP

Program pendekatan akar Bisection


bagian
%Program1Metode Bisection.
%Input : i, beda, xl(segmen bawah), xu(segmen atas).
%Output : Tabel i, beda, xl, xu, ea, dan Nilai Akar tiap
segmen
i=1.; beda=1; xl=2.; xu=3.0;
xrl=(xl+xu)/2;
fprintf('i
xl
xu
xr
ea\n');
fprintf('------------------------------------\n');
for i=1:beda:10

xr=(xl+xu)/2;

fxl=xl.^2-8;

fxr=xr.^2-8;

ea=abs((xrl-xr)/xr)*100.;

Program pendekatan akar Bisection


bagian 2
fprintf('%2.0f %3.2f %3.2f %3.2f %6.4f\n',i,xl,xu,xr,ea);

if fxl*fxr < 0

xu=xr;

else

if fxl*fxr > 0

xl=xr;

end;

end;

xrl=xr;

i=i+1;
end;
if ea < 1.0

fprintf('------------------------------------\n');

fprintf(' Iterasi selesai Akarnya adalah = %3.2f\n',xr);

fprintf(' Akar dipilih pada ea kurang dari satu persen\n');


end;

OUTPUT PROGRM
BISECTION
i
xl
xu
xr
ea
-----------------------------------1 2.00 3.00 2.50 0.0000
2 2.50 3.00 2.75 9.0909
3 2.75 3.00 2.88 4.3478
4 2.75 2.88 2.81 2.2222
5 2.81 2.88 2.84 1.0989
6 2.81 2.84 2.83 0.5525
7 2.83 2.84 2.84 0.2755
8 2.83 2.84 2.83 0.1379
9 2.83 2.83 2.83 0.0690
10 2.83 2.83 2.83 0.0345
-----------------------------------Iterasi selesai Akarnya adalah = 2.83
Akar dipilih pada ea kurang dari satu
persen

INTRUKSI
Ketik program diatas dalam jendela
editor matlab dan eksekusi program
tersebut, selanjutnya tunjukkan
hasilnya pada dosen.
Hafalkan komentar yang ada dalam
program agar anda siap dalam ujian.

Pencarian akar dengan pendekatan


False Position
Teori
False position merupakan metode
penentuan akar persamaan yang
lebih baik akar lebih cepat
didapatkan terlihat jumlah iterasi
yang lebih sedikit, dengan
mempergunakan segitiga
perpotongan dengan sumbu x
sehingga didapatkan estimasi
sebagai berikut.

Yang selanjutnya dapat dipergunakan


untuk mencari xr, sebagai formula
false position.
Xr=xu-(f(xu)(xl-xu))/(f(xl)-f(xu))
Gambaran
secara grafis metode false
y
F(xu
position
)

x
l

xr

Akar
x

F(xl
)

xu

Flow-chard

START

i=1.; beda=1; xl=2.;


xu=3.0;
xrl=0
i
xl
xu
xr
ea
----------------------------------3

i=1:beda:1
0
1

Flow-chard

fxl=xl.^2-8;
fxr=xr.^2-8; fxu=xu.^28;
xr=xu-(fxu(xl-xu))/(fxlfxu);
ea=abs((xrl-xr)/xr)*100.
i,xl,xu,xr,
ea
fxl*fxr < 0

fxl*fxr >
0

xu=xr

xl=xr
2

2
3
xrl=xr;
i=i+1;

Ea < 1
%
-----------------------------------Iterasi selesai Akarnya adalah =xr
Akar dipilih pada ea kurang dari satu
persen
STO
P

Program False position

%Progam Folse Position


%Input : i, beda, xl(segmen bawah), xu(segmen atas).
%Output : Tabel i, beda, xl, xu, ea, dan Nilai Akar tiap segmen
i=1.; beda=1.0; xl=2.0; xu=3.0;
xrl=0;
fprintf('i
xl
xu
xr
ea\n');
fprintf('------------------------------------\n');
for i=1:beda:10
fxl=xl.^2-8;
fxu=xu.^2-8;
fxr=xr.^2-8;
xr=xu-(fxu*(xl-xu))/(fxl-fxu);
ea=abs((xrl-xr)/xr)*100.;
fprintf('%2.0f %3.2f %3.2f %3.2f %6.4f\n',i,xl,xu,xr,ea);

if fxl*fxr < 0

xu=xr;

else

if fxl*fxr > 0

xl=xr;

end;

end;

xrl=xr;

i=i+1;
end;
fprintf('------------------------------------\n');

if ea < 1.0

fprintf(' Iterasi selesai Akarnya adalah = %3.2f\n',xr);

fprintf(' Akar dipilih pada ea kurang dari satu persen\n');

end;

OUTPUT PROGRAM FALSE POSITION


i
xl
xu
xr
ea
-----------------------------------1 2.00 3.00 2.80 100.0000
2 2.00 2.80 2.83 1.1765
3 2.83 2.80 2.83 0.1743
4 2.83 2.80 2.83 0.0009
5 2.83 2.80 2.83 0.0000
6 2.83 2.80 2.83 0.0000
7 2.83 2.80 2.83 0.0000
8 2.83 2.80 2.83 0.0000
9 2.83 2.80 2.83 0.0000
10 2.83 2.80 2.83 0.0000
-----------------------------------Iterasi selesai Akarnya adalah = 2.83
Akar dipilih pada ea kurang dari satu
persen

INTRUKSI
Ketik program diatas dalam jendela
editor matlab dan eksekusi program
tersebut, selanjutnya tunjukkan
hasilnya pada dosen.
Hafalkan komentar yang ada dalam
program agar anda siap dalam ujian.

Anda mungkin juga menyukai