Algoritmapersamaankuadrat :
Algoritmametodesetengahinterval :
Algoritmametodeinterpolasi
1. Memulai program
2. Menetukannilaia,b,c
3. Memprosesnyadengand=(b^2)-(4*a*c)
4. Menampilkanhasildari d
5. Memprosesnyadenganx1=((-b)/(2*a))+((-b)-(d^0.5))/(2*a)
6. Memprosesnyadenganx2=((-b)/(2*a))-((-b)-(d^0.5))/(2*a);
7. Menampilkanhasildari x1 dan x2
8. Memprosesdenganf=-(b/a);
9. Memprosesdengang=c/a;
10. Memprosesdenganr=(f^2)-(2*g)-f;
11. Memprosesdenganw=(f^2)-(g*f)+g;
12. Menampilkanhasildari r dan w
13. Program selesai
script program
clear all;
clc;
disp('persamaanakarimajiner');
a=input('nilai a= ');
b=input('nilai b= ');
c=input('nilai c= ');
d=(b^2)-(4*a*c);
disp(['determinan= ',num2str(d)]);
x1=((-b)/(2*a))+((-b)-(d^0.5))/(2*a);
x2=((-b)/(2*a))-((-b)-(d^0.5))/(2*a);
disp(['alfa= ',num2str(x1)]);
disp(['beta= ',num2str(x2)]);
f=-(b/a);
g=c/a;
r=(f^2)-(2*g)-f;
w=(f^2)-(g*f)+g;
disp(['persamaanbarunyaadalah= x^2 ',num2str(r),'x + ',num2str(w)]);
4.algoritma program :
1. Memulai program
2. Memasukkannilaiy,a,s
3. Nilai a akanmenggantikan x padafungsi y
4. Nilai s akanmenggantikan x padafungsi y
5. Memprosesdengang=s-(fs*(s-a))/(fs-fa)
6. Nilai g akanmenggantikan x padafungsi y
7. Program akanmengulangsampainilaifg>tol
8. Jika fa*fg<0 maka
script program
clear all;
clc;
disp('menentukannilai x');
symsx;
e=2.71;
y=input('masukkanpersamaan= ');
a=input('masukkanbatasatas= ');
s=input('masukkanbatasbawah= ');
fa=subs(y,x,a);
fs=subs(y,x,s);
g=s-(fs*(s-a))/(fs-fa);
fg=subs(y,x,g);
tol=0.01;
fprintf('%5s%10s%10s%10s%10s%10s\n','x1','x2','xt','f(x1)','f(x2)','f(xt)');
fprintf('%5.4f%10.4f%10.4f%10.4f%10.4f%10.4f\n',a,s,g,fa,fs,fg);
while abs(fg)>tol;
if(fa*fg)<0;
s=g;
f=fg;
else
a=g;
fa=fg;
end;
g=s-(fs*(s-a))/(fs-fa);
fg=subs(y,x,g);
fprintf('%5.4f%10.4f%10.4f%10.4f%10.4f%10.4f\n',a,s,g,fa,fs,fg);
end;
5. Script program
6. Script program
clear all;
clc;
symsx;
tol=0.01;
disp('mencariakar- akar x');
disp('1.metode bisection' );
disp('2.metode interpolasi');
a=input('masukkanpilihan= ');
f=input('masukkanpersamaan= ');
switch a
case 1
disp('metode bisection');
c=input('masukkanbatasatas= ');
d=input('masukkanbatasbawah= ');
fc=subs(f,x,c);
fd=subs(f,x,d);
e=(c+d)/2;
fe=subs(f,x,e);
if (fc*fd)>0
c=input('batasatas lain= ');
d=input('batasbawah lain= ');
fc=subs(f,x,c);
fd=subs(f,x,d);
else
c=(c+d)/2;
fc=subs(f,x,c);
end;
fprintf('%5s%10s%10s%10s%10s%10s\n','a','b','c','fa','fb','fc');
fprintf('%5.4f%10.4f%10.4f%10.4f%10.4f%10.4f\n',c,d,e,fc,fd,fe);
while abs(fe)>tol;
if (fc*fe)<0
d=e;
fd=fe;
else
c=e;
fc=fe;
end;
e=(c+d)/2;
fe=subs(f,x,e);
fprintf('%5.4f%10.4f%10.4f%10.4f%10.4f%10.4f\n',c,d,e,fc,fd,fe);
end;
case 2
disp('metodeinterpolasi linier');
a=input('masukkanbatasatas= ');
s=input('masukkanbatasbawah= ');
fa=subs(f,x,a);
fs=subs(f,x,s);
g=s-(fs*(s-a))/(fs-fa);
fg=subs(f,x,g);
fprintf('%5s%10s%10s%10s%10s%10s\n','x1','x2','xt','f(x1)','f(x2)','f(t
)');
fprintf('%5.4f%10.4f%10.4f%10.4f%10.4f%10.4f\n',a,s,g,fa,fs,fg);
while abs(fg)>tol;
if(fa*fg)<0;
s=g;
f=fg;
else
a=g;
fa=fg;
end;
g=s-(fs*(s-a))/(fs-fa);
fg=subs(f,x,g);
fprintf('%5.4f%10.4f%10.4f%10.4f%10.4f%10.4f\n',a,s,g,fa,fs,fg);
end;
end