Akar persamaan

Post on 04-Jul-2015

4.402 views 4 download

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