74421248 lap prak regula falsi

13

Click here to load reader

Upload: anastasia-indrie

Post on 25-Oct-2015

150 views

Category:

Documents


7 download

DESCRIPTION

Metode numerik

TRANSCRIPT

Page 1: 74421248 Lap Prak Regula Falsi

1.Judul Praktikum

Regula Falsi

2.Waktu Pelaksanaan

Hari/Tanggal :Selasa,1 November 2011

Materi :Regula Falsi

3.Tujuan

a. Memahami Metode Regula Falsi

b. Mampu Menentukan nilai akar persamaan dengan Metode Regula Falsi

c. Mampu membuat program untuk menentukan nilai akar dengan Metode Regula

Falsi dengan Matlab

4.Perangkat dan Materi

a. Software Matlab

b. Metode Regula Falsi

5.Dasar teori

Metode regula falsi dimulai dengan dua titik awal a0 dan b0sedemikian

sehingga f(a0) dan f(b0) berlawanan tanda. Berdasarkan teorema nilai antara, ini

berarti fungsi f memiliki akar dalam selang [a0, b0]. Metode ini kemudian berlanjut

dengan menghasilkan berturut-turut selang [ak, bk] yang semuanya berisi akar f.

Pada iterasi ke-k, bilangan

dihitung. Seperti yang diterangkan di bawah, ck adalah akar dari garis sekan melalui

(ak, f(ak)) dan (bk, f(bk)). Jika f(ak) dan f(ck) memiliki tanda yang sama, maka kita

menetapkan ak+1 = ck dan bk+1 = bk. Jika tidak, kita menetapkan ak+1 = ak dan bk+1

= ck. Proses ini diteruskan hingga akar dihampiri dengan cukup baik.

Page 2: 74421248 Lap Prak Regula Falsi

Proses dengan cara ini memberikan perhitungan yang lebih cepat dibandingkan

dengan metode bisection. Algoritma untuk metode ini sama dengan metode bisection,

hanya pada bagian menentukan nilai m disesuaikan dengan rumus yang ada.

6.Algoritma

1. Tentukan fungsi f(x), batas bawah a, batas atas b, toleransi, dan jumlah iterasi

maksimum.

2. Hitung f(a) dan f(b).

3. Periksa apakah f(a).f(b)> 0; jika ya, keluar dari progam karena pada interval yang

diberikan tidak terdapat akar persamaan.

4. Hitung nilai

)()(

))((

afbf

abbfbm

5. Jika nilai mutlak f(m) < toleransi, tuliskan m sebagai hasil perhitungan, dan akhiri

program; jika tidak, lanjutkan ke langkah berikutnya.

6. Jika jumlah iterasi > iterasi maksimum, akhiri program.

7. Jika f(a).f(m)<0, maka b = m, jika tidak, a = m.

8. Kembali ke langkah (2).

Page 3: 74421248 Lap Prak Regula Falsi

Diagram alir Regula Falsi

7.Source code

function m=regfalsi(f,a,b,n)

%f=fungsi,a=nilai awal,b=nilai akhir,n=jumlah iterasi

format long % angka yang dipakai 15 digit di belakang koma

fa = f(a);

fb = f(b);

if fa*fb > 0.0

error('pesan kesalahan:sama tanda')

end

disp(' m y ')

for i=1:n

m=b-((b-a)*fb/(fb-fa));

y=f(m);

disp([m y])

if abs(y) <= 0.000001 % akar persamaan ditemukan

break % menghentikan iterasi

end

Page 4: 74421248 Lap Prak Regula Falsi

8.Analisa dan Pembahasan

8.1 menyelesaikan persoalan 1)( 23 xxxf dalam command window MATLAB,

ketikkan perintah:

>>f=inline(‘x^3-x^2-1’) % mendefinisikan fungsi f(x)=x3-x2 -1

>>x=regfalsi(f,1,2,20) % memanggil file regfalsi.m a=1,b=2,

iterasi=20

Hasilnya

m y

1.25000000000000 -0.60937500000000

1.43750000000000 -0.09594726562500

1.57812500000000 0.43980789184570

1.47265625000000 0.02505737543106

1.44628906250000 -0.06647393759340

1.45782470703125 -0.02700672448077

function m= TengahInterval(f,a,b,n)

% f=fungsi,a=nilai awal,b=nilai akhir,n=jumlah iterasi

format long % angka yang dipakai 15 digit di belakang koma

fa = f(a);

fb = f(b);

if fa*fb > 0.0 % jika nilai f(a) dan f(b) sama tanda

error('pesan kesalahan:sama tanda')

end

for i=1:n

m=(a+b)/2;

y=f(m);

disp([m y]) % menampilkan m dan f(m) ke layar

if abs(y) <= 0.000001 % toleransi dipenuhi (akar

persamaan ditemukan)

break % menghentikan iterasi

end

if fa*y < 0

b=m;

else

a=m;

end

end

Page 5: 74421248 Lap Prak Regula Falsi

1.46153259277344 -0.01413060394978

1.46431350708008 -0.00441245589910

1.46639919281006 0.00291058710115

1.46483492851257 -0.00258446469666

1.46522599458694 -0.00121226003640

1.46551929414272 -0.00018242496629

1.46573926880956 0.00059033482427

1.46557428780943 0.00001073416219

1.46553304255940 -0.00013413711025

1.46554335387191 -0.00009792037557

1.46555108735629 -0.00007075735056

1.46555688746957 -0.00005038481518

1.46556123755454 -0.00003510526367

x =

1.46556123755454

Dari perhitungan menggunakan matlab di atas didapat nilai x dengan metode

regula falsi yaitu1.46556123755454 yang merupakan nilai m pada iterasi

ke-18.

8.2 Soal

1. xexf x 4)( dengan titik awal a = 0 dan b = 1, carilah nilai x dengan

program Matlab dengan Metode :

a. Biseksi

b. Regula Falsi

a)Dengan menggunakan metode biseksi

>> f=inline('exp(1)^x-4*x')

Untuk mendefinisikan fungsi f(x)=ex-4x

>> x=TengahInterval(f,0,1,30)

Page 6: 74421248 Lap Prak Regula Falsi

Untuk memanggil file TengahInterval.m dengan fungsi f(x), nilai a=0, nilai

b=1, dan iterasi maksimal 30

Hasil

m y

0.50000000000000 -0.35127872929987

0.25000000000000 0.28402541668774

0.37500000000000 -0.04500858538180

0.31250000000000 0.11683794117380

0.34375000000000 0.03522603492571

0.35937500000000 -0.00506613643492

0.35156250000000 0.01503657480070

0.35546875000000 0.00497433317255

0.35742187500000 -0.00004862845180

0.35644531250000 0.00246217132078

0.35693359375000 0.00120660109145

0.35717773437500 0.00057894372367

0.35729980468750 0.00026514698559

0.35736083984375 0.00010825660415

0.35739135742188 0.00002981341047

0.35740661621094 -0.00000940768710

0.35739898681641 0.00001020282008

0.35740280151367 0.00000039755609

x =

0.35740280151367

Dari perhitungan menggunakan matlab di atas didapat nilai x dengan metode

biseksi yaitu 0.35740280151367 yang merupakan nilai m pada iterasi ke-18.

Page 7: 74421248 Lap Prak Regula Falsi

b) Dengan menggunakan Regula Falsi

Command

>> x=regfalsi(f,0,1,30)

Untuk memanggil file regfalsi.m dengan fungsi f(x), nilai a=0, nilai b=1,

dan iterasi maksimal 30

Hasil

m y

0.43826622081230 -0.20304738383464

0.19207728030509 0.44345503763004

0.29997357686697 0.14992883308050

0.36058257129503 -0.00816561077095

0.32653645180219 0.08001296961888

0.34145771592564 0.04116623477573

0.34983949401196 0.01948182198458

0.35454782189271 0.00734462482181

0.35719264870681 0.00054060345893

0.35867833726840 -0.00327706126947

0.35784377581800 -0.00113293865849

0.35747801572510 -0.00019292813633

0.35731771543146 0.00021910700928

0.35738796963535 0.00003852140127

0.35742743379480 -0.00006291653980

0.35740526544337 -0.00000593569588

0.35739554980377 0.00001903730467

0.35739980784042 0.00000809246548

0.35740219972344 0.00000194439097

0.35740354332493 -0.00000150918657

0.35740278857859 0.00000043080428

Page 8: 74421248 Lap Prak Regula Falsi

x =

0. 35740278857859

Dari perhitungan menggunakan matlab di atas didapat nilai x dengan metode

regula falsi yaitu 0.35740278857859 yang merupakan nilai m pada iterasi ke-

21.

Berdasarkan perhitungan di atas diketahui bahwa untuk metode biseksi

membutuhkan 18 iterasi untuk dapat menemukan akar fungsi f(x) sedangkan

dengan menggunakan metode regula falsi membutuhkan 21 iterasi, tetapi

1. 2. xexf x )( dengan titik awal a = 0 dan b = 1, carilah nilai x dengan

program Matlab dengan Metode :

a. Biseksi

Command

>> f=inline('exp(1)^-x-x')

Untuk mendefinisikan fungsi f(x)= e-x

-x

>> x=TengahInterval(f,0,1,30)

Untuk memanggil file TengahInterval.m dengan fungsi f(x), nilai a=0,

nilai b=1, dan iterasi maksimal 30

Hasil

m y

0.50000000000000 0.10653065971263

0.75000000000000 -0.27763344725899

0.62500000000000 -0.08973857148101

0.56250000000000 0.00728282473092

0.59375000000000 -0.04149754983698

0.57812500000000 -0.01717583918553

0.57031250000000 -0.00496376038939

0.56640625000000 0.00115520201502

0.56835937500000 -0.00190535961282

Page 9: 74421248 Lap Prak Regula Falsi

0.56738281250000 -0.00037534916914

0.56689453125000 0.00038985879737

0.56713867187500 0.00000723791185

0.56726074218750 -0.00018405985370

0.56719970703125 -0.00008841202725

0.56716918945313 -0.00004058732179

0.56715393066406 -0.00001667477100

0.56714630126953 -0.00000471844608

0.56714248657227 0.00000125972876

0.56714439392090 -0.00000172935969

0.56714344024658 -0.00000023481573

x =

0.56714344024658

Dari perhitungan menggunakan matlab di atas didapat nilai x dengan metode

biseksi yaitu 0.56714344024658 yang merupakan nilai m pada iterasi ke-20.

b. Regula Falsi

Command

>> x=regfalsi(f,0,1,30)

Untuk memanggil file regfalsi.m dengan fungsi f(x), nilai a=0, nilai b=1,

dan iterasi maksimal 30

Hasil

m y

0.61269983678028 -0.07081394787317

0.37540108999058 0.31161257922584

0.52079399341680 0.07325469650304

0.57710468864476 -0.01558289294854

0.55529554719195 0.01860707362931

0.56865800460041 -0.00237312389392

Page 10: 74421248 Lap Prak Regula Falsi

0.56348272266510 0.00574043861180

0.56665361706215 0.00076745630714

0.56788170497968 -0.00115704685765

0.56740606632878 -0.00041178793909

0.56711464260500 0.00004489544778

0.56729319787299 -0.00023492010297

0.56722404338855 -0.00012654963973

0.56718167244723 -0.00006014973470

0.56715571177839 -0.00001946602072

0.56713980568083 0.00000546107304

0.56714955134421 -0.00000981177026

0.56714577684719 -0.00000389660195

0.56714346421349 -0.00000027237530

x =

0.56714346421349

Dari perhitungan menggunakan matlab di atas didapat nilai x dengan metode

regula falsi yaitu 0.56714346421349 yang merupakan nilai m pada iterasi ke-

19.

Berdasarkan perhitungan di atas diketahui bahwa untuk metode biseksi

membutuhkan 20 iterasi untuk dapat menemukan akar fungsi f(x) sedangkan

dengan menggunakan metode regula falsi membutuhkan 19 iterasi

9.Kesimpulan:

1. Pada umumnya pencarian akar dengan menggunakan metode biseksi

selalu dapat menemukan akar, tetapi kecepatan untuk mencapai akar

hampiran sangat lambat. Untuk mempercepat pencarian akar tersebut,

maka nilai-nilai dari f (a) dan f (b) perlu diperhitungkan. Metode yang

memanfaatkan nilai f (a) dan f (b) ini adalah metode regula falsi

Page 11: 74421248 Lap Prak Regula Falsi

2. Perbedaan antara metode biseksi dengan metode regula falsi terletak

pada nilai m. Pada metose biseksi menggunakan rumus m=(a+b)/2

sedangkan pada metode regula falsi menggunakan rumus

)()(

))((

afbf

abbfbm

sehingga konvergensinya terjamin dan kecepatannya lebih baik dari

metode biseksi.

Page 12: 74421248 Lap Prak Regula Falsi

LAPORAN PRAKTIKUM METODE NUMERIK

TENTANG:

REGULA FALSI

Disusun oleh :

Nama : Karina Rachma

NIM : M0509038

Kelas : B

JURUSAN INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SEBELAS MARET

SURAKARTA

2011

Page 13: 74421248 Lap Prak Regula Falsi