Akar persamaan
-
Upload
tenia-wahyuningrum -
Category
Documents
-
view
4.402 -
download
4
Transcript of Akar persamaan
Akar persamaanTenia Wahyuningrum, S.Kom, MT
Bentuk Umum
f(x)=0 dicari nilai akar dari x=?
f(x)=xn+a1xn-1+a2x
n-2+...+an-1x+an=0
x1, x2, ...xn
Beberapa jenis persamaan
Persamaan linier f(x)=ax+b
Persaman kuadrat f(x)=ax2+bx+c
Persamaan polinom pangkat 3
f(x)=ax3+bx2+cx+d
Persamaan polinom pangkat 4
f(x)=ax4+bx3+cx2+dx+e
Persamaan eksponensial f(x)=anex
Persamaan transedental eax=sin bx
Rumus “abc”
Untuk mencari akar persamaan kuadrat
Hanya dapat digunakan untuk mencari akar persamaan kuadrat, persamaan lain tidak dapat diselesaikan dengan cara ini!
Kegunaan akar persamaan
Problem Variabel
dependen
Variabel
independen
Parameter
Keseimbangan
panas
Suhu Waktu dan
posisi
Sifat termal
material dan
geometri sistem
Hukum
kirchchoff
Arus dan
tegangan
Waktu Sifat listrik
material
Keseimbangan
energi
Perubahan
energi kinetik
dan potensial
Waktu dan
posisi
Sifat termal,
massa material
dan geometri
Metode bisection
Disebut juga
Metode pemenggalan biner atau
metode bolzano
Algoritma
Untuk n=0,1,2...... Sampai
selesai, kriteria pemutusan
Ambil m=(an+bn)/2 iterasi
Kalau f(an) f(m)<0, ambil an+1=an;
bn+1=m
Jika f(an) f(m)>0, ambil an+1=m;
bn+1=bn
Jika f(an) f(m)=0, maka merupakan
akarnya, hentikan perhitungan f(x)
punya akar dalam [an+1 ;bn ]
Contoh soal
Apa yang terjadi jika metode bagi dua
diterapkan pada fungsi :
f(x)=1/(x-2)
a. Selang adalah [3,7]
b. Selang adalah [1,7]
Dengan e=0,005
penyelesaian
f(x)=1/(x-2), dengan [a0 ;b0 ] =[3,7]
Menggunakan matlab
Hitunglah akar persamaan X3 + X2 – 8 x - 10 = 0 dengan metode bisection !
%nama file fbi.m
function [ y ] = f(x)
y=x^3+x^2-8*x-10;
end
%nama file bisection.m
clear;
clc;
galat=0.001;
bawah=input('batas bawah:');
atas=input('batas atas:');
nilai=1;
no=0;
m0=bawah;
clc;
fprintf('taksiran batas bawah :%5.3f\n',bawah);
fprintf('taksiran batas atas :%5.3f\n',atas);
fprintf('==================================\n');
fprintf('iterasi (bawah+atas)/2 galat interval\n');
fprintf('==================================\n');
while nilai>galat
no=no+1;
fbawah=feval('fbi',bawah);
m=(bawah+atas)/2;
ftengah=feval('fbi',m);
if fbawah*ftengah==0;
disp('m adalah akarnya');
elseif fbawah*ftengah<0
atas=m;
else
bawah=m;
end
nilai=abs(m0-m);
fprintf('%3d %8.5f %8.5f [%8.5f ; %8.5f]\n', no, m, nilai, bawah, atas);
m0=m;
end
fprintf('=============================================\n');
fprintf('pada iterasi ke= %1d, selisil interval< %5.3f\n',no,galat);
fprintf ('jadi, akar persamaannya adalah %7.5f\n',m);
Metode regula falsi (False
Position) Disebut juga metode kedudukan palsu
Merupakan alternatif perbaikan
berdasarkan pada pengertian grafis
Kekurangan : dalam membagi selang
mulai xi sampai xu menjadi paruhan
sama,
besaran f(xi ) dan f(xu) tidak
diperhitungkan
Algoritma regula falsi
Untuk n=0,1,2... Sampai selesai
Hitung |f(bn) |.an-|f(an)|.bn
|f(bn) | -|f(an)|
Jika f(an) f(bn)<=0, ambil an+1 = an; bn+1
= w
Jika tidak, ambil an+1 = w, bn+1 =bn
Jika |wi+1 – wi | > error
w =
Contoh soal
Diketahui X2 – 10 x + 23 = 0 [a0, b0]
=[6; 6.8] dengan e = 0.001
tuliskan penyelesaian dengan metode
posisi palsu sampai 4 iterasi!
Menggunakan matlab
Hitunglah akar persamaan X3 + 2x2 – x
+6 = 0 dengan metode regula false !
%nama program regula.m
clear;
clc;
x1 = input ('batas bawah =');
x2 = input ('batas atas =');
error=0.001;
w0=0;
banding=1;
clc;
k=0;
clc;
disp ('perhitungan akar persamaan dengan regula false');
fprintf('rentang awal [%5.4f, %5.4f]\n',x1,x2);
fprintf('besarnya error %7.5f \n\n',error);
disp ('===============================================================');
disp (' Iterasi Nilai akar error Interval');
disp ('===============================================================');
while banding>=error
k=k+1;
f1=feval('bpalsu', x1);
f2=feval('bpalsu', x2);
w= (x1*f2-x2*f1)/(f2-f1);
f3=feval('bpalsu',w);
if f1*f3 ==0
disp('adalah akarnya');
elseif f1*f2<0
x2=w;
else
x1=w;
f1=f3;
end
banding=abs(w0-w);
fprintf('%2d %6.4f %5.4f
[%6.4f; %6.4f]\n',k,w,banding, x1, x2);
w0=w;
end
disp ('================================================');
fprintf('nilai akar=%5.4f \n',w);
if x1<x2
x=x1:0.1:x2
u=x.^3-2*x.^2-x-6;
plot(u,x);
else
x=x2:0.1:x1
u=x.^3-2*x.^2-x+6;
plot(u,x);
end
grid on
%namafile bpalsu.m
function [ y ] = f(x)
y=x^3-2*x^2-x+6;
end
Referensi : ardi pujiyanta, komputasi
numerik dengan matlab, graha
ilmu, 2007