==================================================
BISEKSI
function[akar]=biseksi(a,b,eps)
a=1;
b=4;
while(b-a)>eps
t=(a+b)/2;
if(fx(a)*fx(b))<0
b=t;
else
a=t;
end
end
akar=t
==============================================
%Program Utama
function[akar]=biseksin1(a,b,epsilon);
while(b-a)>epsilon
t=(a+b)/2;
if (fungsinya1(a)*fungsinya1(t))< 0
b=t;
else
a=t;
end
end
akar=t;
==============================================
function B:Bagidua(a,b,eps)
while (abs(b-a)>eps)
t=(a+b)/2
if fungsi(a)*fungsi(t)<0
b=t;
else a=t;
end;
end;
B=t
==============================================
function b=bisection
epsilon=0.00001
a=input('tebakan ke1=')
b=input('tebakan ke2=')
while abs((b-a)/2)>=epsilon
T=(a+b)/2
if f1(a)*f1(T)<0
b=T
else a=T
end
end
akar=T
disp(['akarnya=',num2str(akar)])
=========================================
function b = bisection (a,b,epsilon);
a = input ('batas kiri interval : ')
b = input ('batas kanan interval: ')
epsilon = input ('nilai ketelitian : ')
while (abs(a-b)) > epsilon
t = (a + b)/2;
if (f(a)*f(t)) <= 0
b = t ;
else
a = t;
end
end
function fn = f(x);
fn = x^2 - 1
==============================================
function bisection ;
disp('METODE BISECTION');
disp(' ================')
a = input('Masukkan batas kiri interval : ');
b = input('Masukkan batas kanan interval : ');
eps = input ('Masukkan epsilon / nilai ketelitian : ');
itemax = input ('Masukkan jumlah iterasi maksimum : ');
alfa = a;
disp (' ');
disp ('Memulai proses iterasi');
disp ('======================');
tic
for i = 1:1:itemax
t = (a + b)/2;
if (fn(a,alfa)*fn(t,alfa) <= 0)
b = t ;
else
a = t;
end
disp ([' Iterasi ke ',num2str(i),',',' akarnya : ',num2str(t)])
if (abs(a-b)) <= eps
break
end
end
waktu = toc;
disp (' ')
disp (['Akarnya adalah : ',num2str(t)])
disp (['Jumlah iterasi : ',num2str(i)])
disp (['Selang waktu konvergensi: ',num2str(waktu)])
function f = fn(x,alfa);
f = log (2-exp(-x))- x + alfa;
==============================================
function i=input()
a=input('nilai tebakan1=');
b=input('nilai tebakan2=');
e=input('nilai epsilon=');
akar=Bisection(a,b,e)
disp(['akar persamaan=',num2str(akar)])
==================================================
BEDA PUSAT
function beda_pusat();
x=input('Masukkan Orde Polinomial: ');
epsilon=input('Nilai Epsilon: ');
h=1;
zz=0;
delta=10;
while abs(delta) >= epsilon
x1=x+h;
x2=x-h;
z1=fungsi(x1);
z2=fungsi(x2);
dx=(z1-z2)/(2*h);
delta=zz-dx;
zz=dx;
h=h/10;
disp(['f'(x) dari f(X): ',(num2str (dx))]);
end;
function y=fungsi(x);
y=x^3+2*x
==============================================
function beda_pusat();
x=input('Masukkan Orde Polinomial: ');
epsilon=input('Nilai Epsilon: ');
h=1;
zz=0;
delta=10;
while abs(delta) >= epsilon
x1=x+h;
x2=x-h;
z1=fungsi(x1);
z2=fungsi(x2);
dx=(z1-z2)/(2*h);
delta=zz-dx;
zz=dx;
h=h/10;
disp(['f(x) dari f(X): ',(num2str (dx))]);
end;
function y=fungsi(x);
y=x^3+2*x
==============================================
function dx = bedapusat;
x1=input('Masukkan nilai x1:');
h=1;
n=0;
zz=0;
delta=10;
epsilon=1e-5;
while abs(delta)>= epsilon,
n=n+1;
for i=1:2
switch i
case 1
x=x1+h;
case 2
x=x1-h;
end
z(i)=fq(x);
end;
dx=(z(1)-z(2))/(2*h);
delta=zz-dx;
zz=dx;
h=h/10;
end;
disp([' ','Turunan pertama dari f(x1):',num2str(dx)]);
==============================================
function beda_pusat();
x=input('Masukkan Orde Polinomial: ');
epsilon=input('Nilai Epsilon: ');
h=1;
zz=0;
delta=10;
while abs(delta) >= epsilon
x1=x+h;
x2=x-h;
z1=fungsi(x1);
z2=fungsi(x2);
dx=(z1-z2)/(2*h);
delta=zz-dx;
zz=dx;
h=h/10;
disp(['f(x) dari f(X): ',(num2str (dx))]);
end;
function y=fungsi(x);
y=x^3+2*x
==============================================
function out = bedapusat(x1)
%x1 = input('Masukkan Nilai X1');
epsilon = 0.00001;
h=1;
n=0;
zz=0;
delta=10;
while abs(delta) >= epsilon
n=n+1;
for i= 1:2
switch(i)
case{1}
x=x1+h;
case{2}
x=x1-h;
end
z(i)=f(x);
end
dx=(z(1)-z(2))/(2*h);
delta=zz-dx;
zz=dx;
h=h/10;
end
out = dx;
%disp(['Turunan Pertama Dari f(',num2str(x1),') :',num2str(dx)]);
function hasil = f(x)
%hasil = x^3-2*x^2+3*x+1;
hasil = x^2-4*x+3;
==============================================
function go
eps = 3;
%eps = 10
x=-10;
dx = bedapusat(x);
zz=dx-eps;
while abs(zz)> 10^-5
x=x+0.001;
dx=bedapusat(x);
zz=dx-eps;
end
fx = x^2-4*x+3;
disp(['x: ', num2str(x), ' f(x): ', num2str(fx) ]);
disp([dx]);
==================================================
INTERPOLASI NEWTON
function newton();
n=input('jumlah titik= ');
x=zeros(1,n);
F=zeros(1,n);
for i=1:1:n+1
x(1,i)=input(['x(',num2str(i),')=']);
F(1,i)=input(['F(',num2str(i),')=']);
end;
z=input('x akan diinterpolasi= ');
eps=input('epsilon= ');
b(1,1)=F(1,1);
tic
pbagi=b(1,1);
factor=1;
for i=2:1:n
b(1,i)=F(1,i);
for j=i-1:-1:1
b(1,j)=(b(1,j+1)-b(1,j))/(x(1,i)-x(1,j));
end;
factor=factor*(z-x(1,i-1));
suku=b(1,1)*factor;
pbagi=pbagi+suku;
if (abs(suku) <= eps)
break;
end;
end;
waktu=toc;
disp(['waktu= ',num2str(waktu)]);
interpolasi=pbagi
======================================
function interpolasinewton();
n=input('jumlah titik (n) = ');
x=zeros(0,n);
F=zeros(0,n);
for i=0:1:n
x(0,i)=input(['x(',num2str(i),')=']);
F(0,i)=input(['F(',num2str(i),')=']);
end;
z=input('x akan diinterpolasi= ');
eps=input('epsilon= ');
b(1,0)=F(1,0);
tic
pbagi=b(1,0);
factor=1;
for i=2:1:n
b(1,i)=F(1,i);
for j=i-1:-1:0
b(1,j)=(b(1,j+1)-b(1,j))/(x(1,i)-x(1,j));
end;
factor=factor*(z-x(1,i-1));
suku=b(1,0)*factor;
pbagi=pbagi+suku;
if (abs(suku) <= eps)
break;
end;
end;
waktu=toc;
disp(['hasil= ',num2str(pbagi)]);
interpolasi=pbagi
==================================================
NEWTON RAPHSON
function newton_raphson ;
disp('METODE NEWTON RAPHSON');
disp(' =====================');
x = input('Masukkan tebakan awal : ');
eps = input ('Masukkan epsilon / nilai ketelitian : ');
itemax = input ('Masukkan jumlah iterasi maksimum : ');
alfa = x;
disp (' ');
disp ('Memulai proses iterasi')
disp ('======================')
xlama = x;
tic
for i = 1:1:itemax
if ft(xlama) == 0
break;
else
xbaru = xlama - (fn(xlama,alfa)/ft(xlama));
end
disp ([' Iterasi ke ',num2str(i),',',' akarnya : ',num2str(xbaru)])
if abs((xbaru-xlama)/xbaru) <= eps
break;
end
xlama = xbaru;
end
waktu = toc;
disp (' ')
disp (['Akarnya adalah : ',num2str(xbaru)])
disp (['Jumlah iterasi : ',num2str(i)])
disp (['Selang waktu konvergensi : ',num2str(waktu)])
function f = fn(x,alfa);
f = log (2-exp(-x))- x + alfa;
function f = ft(x);
f = (exp(-x)/(2-exp(-x)))-1;
==============================================
function newtonraphson()
maks=input('masukkan nilai maksimum perulangan: ');
tebakan=input('masukkan taksiran awal: ');
eps=input('masukkan nilai epsilon: ');
xlama=tebakan;
for i=1:maks
if (df(xlama)==0)
break;
else
xbaru=xlama-(f(xlama)/df(xlama))
end;
disp(['iterasi ke', num2str(i), ', nilai x= ',num2str(xbaru)]);
if (abs((xbaru-xlama)/xbaru)<=eps)
break;
end;
xlama=xbaru;
end;
hasil=xbaru
function y=f(x)
y=3.*x^2-4.*x-25;
function y=df(x)
y=6.*x-4;
======================================
function newton_raphson ();
x = input ('masukkan nilai x tebakan awal : ')
eps = input ('masukkan nilai epsilon : ')
ite = input ('masukkan jumlah iterasi maksimum : ')
xlama = x;
for i = 1:1:ite
a = i;
if ft(xlama) == 0
break;
else
xbaru = xlama - (fn(xlama)/ft(xlama))
end
if abs((xbaru-xlama)/xbaru) <= eps
break;
end
xlama = xbaru
end
disp (['akarnya adalah : ',num2str(xlama)])
disp (['jumlah iterasi : ',num2str(a)])
function f = fn(x);
f = x^6 - x - 1;
%f = x^2-1;
function f = ft(x);
f = 6*x^5 - 1;
%f = 2*x;
======================================
function newton_raphson ;
disp('METODE NEWTON RAPHSON');
disp(' =====================');
x = input('Masukkan tebakan awal : ');
eps = input ('Masukkan epsilon / nilai ketelitian : ');
itemax = input ('Masukkan jumlah iterasi maksimum : ');
alfa = x;
disp (' ');
disp ('Memulai proses iterasi')
disp ('======================')
xlama = x;
tic
for i = 1:1:itemax
if ft(xlama) == 0
break;
else
xbaru = xlama - (fn(xlama,alfa)/ft(xlama));
end
disp ([' Iterasi ke ',num2str(i),',',' akarnya : ',num2str(xbaru)])
if abs((xbaru-xlama)/xbaru) <= eps
break;
end
xlama = xbaru;
end
waktu = toc;
disp (' ')
disp (['Akarnya adalah : ',num2str(xbaru)])
disp (['Jumlah iterasi : ',num2str(i)])
disp (['Selang waktu konvergensi : ',num2str(waktu)])
======================================
INTERPOLASI LAGRANGE
function interpollagrange;
n = input('masukkan nilai n:');
x = zeros(1,n);
f = zeros(1,n);
for i=1:n
x(1,i) = input(['x(',num2str(i),') : ']);
f(1,i) = input(['f(',num2str(i),') : ']);
end
ln = input('Ln(x) : ');
plag = 0;
for i=1:n
faktor = 1;
for j=1:n
if (j~=i);
faktor = faktor * (ln-x(1,j)) / (x(1,i)-x(1,j));
end
end
plag = plag + faktor * f(1,i);
end
disp(['Hasil Ln',num2str(ln),':',num2str(plag)]);
==============================================
function lagrange;
disp(['1=senin'])
disp(['2=selasa'])
disp(['3=rabu'])
disp(['4=kamis'])
disp(['5=jumat'])
disp(['6=sabtu'])
disp(['7=minggu'])
n = input('masukkan nilai n:');
x = zeros(1,n);
f = zeros(1,n);
for i=1:n
x(1,i) = input(['x(',num2str(i),') : ']);
f(1,i) = input(['f(',num2str(i),') : ']);
end
ln = input('Ln(x) : ');
plag = 0;
for i=1:n
faktor = 1;
for j=1:n
if (j~=i);
faktor = faktor * (ln-x(1,j)) / (x(1,i)-x(1,j));
end
end
plag = plag + faktor * f(1,i);
end
disp(['Lebar luka pada hari selasa (',num2str(ln),'):',num2str(plag)]);
==============================================
function Nilagrange;
n = input('masukkan nilai n:');
x = zeros(1,n);
f = zeros(1,n);
for i=1:n
x(1,i) = input(['waktu(',num2str(i),') : ']);
f(1,i) = input(['Ni Terlarut(',num2str(i),') : ']);
end
ln = input('Ln(x) : ');
plag = 0;
for i=1:n
faktor = 1;
for j=1:n
if (j~=i);
faktor = faktor * (ln-x(1,j)) / (x(1,i)-x(1,j));
end
end
plag = plag + faktor * f(1,i);
end
disp(['Ni Terlarut (%) selama waktu ',num2str(ln),'jam :',num2str(plag)]);
==============================================
function ILagrange();
n=input('Jumlah Titik = ');
x = zeros(1,n);
f = zeros(1,n);
for i=1:1:n
x(1,i)=input(['x(', num2str(i),')= ']);
f(1,i)=input(['f(', num2str(i),')= ']);
end;
X=input('x yang akan diinterpolasi=');
L=0;
for i=1:1:n
faktor=1;
for j=1:1:n
if (j~=i)
faktor=faktor*((X-x(j))/(x(i)-x(j)));
end;
end;
L=L + faktor*f(i);
end;
ILagrange=L
plot(x,f,'o',X,L,'x');
=========================================
SECANT / TALI BUSUR
function akar=secant
x1=input('x1:')
x0=input('x0:')
imaks=input('imaks:')
epsilon=input('epsilon:')
for i=2 : imaks
Nn=f(x1)*(x1-x0)
Dn=f(x1)-f(x0)
if fbedahingga(x)==0
break
else x2=x1-(Nn/Dn)
disp(['Iterasi ke-',num2str(i),':',num2str(x2)])
if abs((x2-x1)/x2)<=epsilon
break
x1=x2
end
end
end
disp(['akarnya=',num2str(x2)])
==============================================
function secant ;
disp('METODE SECANT');
disp(' =============')
a = input ('Masukkan nilai awal pertama : ');
b = input ('Masukkan nilai awal kedua : ');
eps = input('Masukkan epsilon / nilai ketelitian : ');
itemax = input('Masukkan jumlah iterasi maksimum : ');
alfa=a;
disp (' ');
disp ('Memulai proses iterasi')
disp ('======================')
xlama1 = a;
xlama2 = b;
tic
for i = 1:1:itemax
P = fn(xlama2,alfa) * (xlama2 - xlama1);
Q = fn(xlama2,alfa) - fn(xlama1,alfa);
if ((fn(xlama2,alfa) - fn(xlama1,alfa)) / (xlama2 - xlama1)) == 0
break;
else
xbaru = xlama2 - (P / Q);
disp ([' Iterasi ke ',num2str(i),',',' akarnya : ',num2str(xbaru)])
end
if abs ((xbaru - xlama2)/xlama2) <= eps
xakar = xbaru;
break;
end
xlama1 = xlama2;
xlama2 = xbaru;
end
waktu = toc;
disp (' ')
disp (['Akarnya adalah : ',num2str(xakar)])
disp (['Jumlah iterasi : ',num2str(i)])
disp (['Selang waktu konvergensi : ',num2str(waktu)])
function f = fn(x,alfa);
f = x*x*x*x*x*x-x-1
==============================================
function secant
imaks=input('iterasi maksimum: ')
epsilon=input('epsilon: ')
x1=input('tebakan xn: ')
x2=input('tebakan xn-1: ')
for i=2; imaks
if Fbedahingga==(F(xlama)-F(xlama2))/(xlama-xlama2);
exit
else
xbaru=xlama-(Nn/Dn);
end
if abs((xbaru-xlama)/xbaru) <= epsilon
break
xlama:=xbaru;
end
disp(['iterasi', num2str(xbaru)]
end
function y= F(x)
y=x^6-x-1
==============================================
TRAPESIUM
function t=trapesium
a=input('masukkan nilai a:');
b=input('masukkan nilai b:');
n=input('masukkan nilai n:');
h=(b-a)/n
jumlah =0
for k=1 :n-1
x=a+h*k
jumlah=jumlah+ft(x)
end
luas=h*(ft(a)+ft(b)+2*jumlah)/2
disp(['luas:',num2str(luas)])
======================================
function trapes;
disp('FUNGSI TRAPESIUM');
a=input('Masukkan Batas Bawah:');
b=input('Masukkan Batas Atas:');
n=input('Banyaknya Bagian:');
fprintf('Nilai integral= %10.7e',Trapezoid (a,b,n));
function T = Trapezoid (a,b,n);
h=(b-a)/n;
jumlah=0;
for i=1:1:n-1;
x=a+h*i;
jumlah=jumlah + F(x);
end;
T=(h/2)*(F(a)+F(b)+2*jumlah);
function Fx = F(x);
Fx=x^2+x-2
==============================================
function trapesium
a = input ('Masukkan Nilai A :');
b = input ('Masukkan Nilai B :');
c = input ('Masukkan Jumlah Selang :');
h =(b-a)/c;
jum=0;
for k =1:c-1
[x]=a+h*k;
jum=jum+f(x);
end
jum = h * (f(a)+f(b)+2*jum)/2;
disp (['Hasil Luas ',num2str(jum)]);
function [y]= f(x)
[y]=-1*x*x*-x+6;
%[y]=x*x*x*;
==============================================
function trapezoid;
disp('FUNGSI TRAPEZOID');
a=input('Masukkan batas interval kiri:');
b=input('Masukkan batas interval kanan:');
n=input('Jumlah pembagian:');
fprintf('Nilai integral= %10.7e',Trapezoid (a,b,n));
function T = Trapezoid (a,b,n);
h=(b-a)/n;
jumlah=0;
for i=1:1:n-1;
x=a+h*i;
jumlah=jumlah + F(x);
end;
T=(h/2)*(F(a)+F(b)+2*jumlah);
function Fx = F(x);
Fx=x^2+x-2
==============================================
INTERPOLASI NEWTON
function s=interpolnewton;
epsilon=0.0001;
n = input('Masukkan nilai n : ');
z = input('Masukkan nilai Pz : ');
x = zeros(1,n);
f = zeros(1,n);
b = zeros(1,n);
for i=1:n
x(1,i) = input(['x(',num2str(i),') : ']);
f(1,i) = input(['f(',num2str(i),') : ']);
end
b(1,1) = f(1,1);
faktor = 1;
pbagi = b(1,1);
for i=2:n
b(1,i) = f(1,i);
for j=i-1:-1:1
b(1,j) = (b(1,j+1) - b(1,j)) / (x(1,i) - x(1,j));
end
faktor = faktor * (z - x(1,i-1));
suku = b(1)* faktor;
pbagi = pbagi + suku;
if (abs(suku) <= eps)
break;
end
end
disp(['Hasil f(',num2str(z),'):',num2str(pbagi)]);
==============================================
function n=newton
imax=input('imax:')
epsilon=input('epsilon:')
xlama=input('Tebakan Awal:')
for i=1 : imax
if fturun(xlama)==0
break
else xbaru=xlama-f(xlama)/fturun(xlama)
disp(['Iterasi ke-',num2str(i),':',num2str(xbaru)])
end
if abs((xbaru-xlama)/xbaru)<=epsilon
break
else
xlama=xbaru
end
end
==============================================
INTEGRAL
function Integral;
a=input('a=');
b=input('b=');
n=input('n=');
eps=input('epsilon=')
i = 10;
while (abs(Tr(a,b,i+10) - Tr(a,b,i))>=eps)
fprintf('Nilai integral dengan partisi %4.0f adalah = %12.7f\n', i, Tr(a,b,i));
i = i + 10;
end
function T = Tr(a,b,n);
h=(b-a)/n;
jumlah=0;
for i=1:1:n-1
x=a + h*i;
jumlah=jumlah + F(x);
end;
T=(h/2)*(F(a) + F(b) + 2*jumlah);
function F=F(x);
F= -x^2 -x + 6;
==============================================
SIMPSON
function simpson();
a = input('batas bawah = ');
b = input('batas atas = ');
n = input('jumlah partisi = ');
fprintf('nilai integral dengan partisi %3.0f = %12.7f\n',n,Simpson(a,b,n));
function S= Simpson(a,b,n);
if (mod(n,2)~=0)
break
end;
h = (b - a)/n
x = a : h : b
y = F(x);
v = 2*ones(n+1,1);
v(2:2:n) = v(2:2:n) + 2;
v(1) = 1;
v(n+1) = 1
S = y *v;
S = S * h/3;
function f = F(x);
f = (x.*(1-x).^4)./(1+x.^2);
==============================================
function simpson();
a = input('masukkan batas bawah = ');
b = input('masukkan batas atas = ');
n = input('masukkan jumlah selang = ');
fprintf('nilai integral dengan partisi %3.0f = %12.7f\n',n,Simpson(a,b,n));
h = (b - a)/n
x = a : h : b
y = F(x);
v = 2*ones(n+1,1);
v(2:2:n) = v(2:2:n) + 2;
v(1) = 1;
v(n+1) = 1
S = y *v;
S = S * h/3;
function f = F(x);
f = (x.*(1-x).^4)./(1+x.^2);