Praktikum2 Metode Biseksi
Praktikum2 Metode Biseksi
METODE BISECTION
2.1.Tujuan Praktikum
Mempelajari metode Biseksi untuk penyelesaian persamaan non linier
2.2.Dasar Teori
Ide awal metode biseksi adalah metode table, dimana area dibagi menjadi N
bagian. Hanya saja metode biseksi ini membagi range menjadi 2 bagian, dari dua
bagian ini dipilih bagian mana yang mengandung dan bagian yang tidak
mengandung akar dibuang.Hal ini dilakukan berulang-ulang hingga diperoleh
akar persamaan.( Politeknik Elektronika Negeri Surabaya – ITS).
Metode bisection sering disebut juga pemenggalan biner atau metode bolzano.
Jika pada suatu fungsi berubah tanda pada suatu selang, maka nilai fungsi
dihitung pada titik tengah. Kemudian lokasi akar ditentukan pada titik tengah
selang bagian tempat terjadinya perubahan tanda.
Tahap pertama proses adalah menetapkan nilai sembarang a dan b sebagai
batas segmen nilai fungsi yang dicari. Batasan a dan b memberikan harga bagi
fungsi f(x) untuk x=a dan x=b. Langkah selanjutnya adalah memeriksa apakah
f(a).f(b)<0.
Apabila terpenuhi syarat tersebut, berarti terdapat akar fungsi dalam segmen
tinjauan. Jika tidak demikian, harus ditetapkan kembali nilai a dan b sedemikian
rupa sehingga terpenuhi ketentuan perkalian f(a) x f(b) < 0.
Dengan rumusan m = (a+b)/a, diperiksa apakah nilai mutlak f(m) < 10-6 (batas
simpangan kesalahan). Jika benar, nilai x = m adalah solusi yang dicari . jika tidak
terpenuhi, ditetapkan batasan baru dengan mengganti nilai b = m apabila f(a)*f(m)
< 0, dan menggantikan a = m bila f(a) x f(m) > 0; proses menemukan m baru
dilakukan seperti prosedur yang telah dijelaskan.
Perhatikan gambar berikut.
Diberikan f(x) = 0; sifat kontinyu dan batas-batas interval [a, b], f(a).f(b) ≤ 0
1
Gambar 2.1 Penentuan nilai tengah m internal metode Bisection
Dengan membandingkan nilai mlama dan mbaru pada suatu batas ketelitian tertentu,
misalnya dibuat :
𝑚𝑏𝑎𝑟𝑢 −𝑚𝑙𝑎𝑚𝑎
𝜀𝑎 = | |x 100%
𝑚𝑏𝑎𝑟𝑢
Apabila 𝜀𝑎 sudah lebih kecil dari ketelitian yang diinginkan, maka perhitungan
dihentikan.
Contoh untuk persamaaan 𝑒 −3𝑥 cos (2x-1) – sin (3x) = 0.
Akar yang kita duga berada antara 0,8 sampai 1
2
2.3. Percobaan
2.3.1. Percobaan 1
Program Matlab Metode Bisection
%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, Selisih Interval < %5.3f\n',no, galat);
fprintf('Jadi, akar persamaannya adalah %7.5f\n', m);
3
Program fungsi fbi
2.4.Soal Latihan
1. Apa yang terjadi jika metode bagi dua diterapkan pada fungsi :
f(x) = 1/(x-2)
a. Selang adalah [0, 15]
b. Selang adalah [1, 10]
4
2.4.1. Latihan
Program Matlab
%Nama File Bisection.m
clear;
clc;
galat = 0.005;
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('fbi1',bawah);
m=(bawah+atas)/2;
ftengah = feval('fbi1',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, Selisih Interval < %5.3f\n',no, galat);
fprintf('Jadi, akar persamaannya adalah %7.5f\n', m);
5
Program fungsi fbi
%Nama fungsi fbi.m
function [y]=f(x)
y = 1/(x-2);
Output program a :
Output program b :
6
2.5.Perhitungan Manual
- percobaan 1
dengan persamaan F(x) = 𝑥 3 + 𝑥 2 - 8* x- 10 maka penyelesaian sbb :
x1=0
x2=6
F(a) = 03 + 02 - 8* 0 – 10 = -10
F(b) = 63 + 62 - 8* 6 – 10
= 216 + 36 – 48 – 10
= 194
Iterasi 1 :
𝑝1 = (𝑎1 + 𝑏1 ) / 2 = 0 + 6 / 2 = 3
𝑓(𝑝1) = 𝑥 3 + 𝑥 2 - 8* x- 10
= 33 + 32 - 8* 3 – 10
=2
Jadi, interval [ 0,3]
Iterasi 2 :
𝑝2 = (𝑎2 + 𝑏2) / 2 = 0 + 3 / 2 = 1,5
𝑓(𝑝2) = 𝑥 3 + 𝑥 2 - 8* x- 10
= 1.53+ 1.52- 8* 1.5 – 10
= -16.375
Jadi, interval [ 1.5, 3]
7
Iterasi 3 :
𝑝3 = (𝑎3 + 𝑏3) / 2 =1.5 + 3/ 2 = 2.25
𝑓(𝑝3) = 𝑥 3 + 𝑥 2 - 8* x- 10
= 2.253 + 2.252 - 8* 2.25 – 10
= 27.019
Jadi, interval [ 2.25, 3]
Iterasi 4 :
𝑝4 = (𝑎4 + 𝑏4) / 2 = 2.25 + 3/ 2 = 2.625
𝑓(𝑝4) = 𝑥 3 + 𝑥 2 - 8* x- 10
= 2.6253 + 2.6252 - 8* 2.625 – 10
= -6.021
Jadi, interval [ 2.625, 3]
Iterasi 5 :
𝑝5 = (𝑎5 + 𝑏5) / 2 = 2.625+ 3/ 2 = 2.8125
𝑓(𝑝5) = 𝑥 3 + 𝑥 2 - 8* x- 10
= 2.81253 + 2.81252 - 8* 2.8125 – 10
= -2.342
Jadi, interval [2.8125, 3]
Iterasi 6 :
𝑝6 = (𝑎6 + 𝑏6) / 2 = 2.8125 + 3/ 2 = 2.90625
𝑓(𝑝6) = 𝑥 3 + 𝑥 2 - 8* x- 10
= 2.906253 + 2.906252 - 8* 2.90625 – 10
= -0.2566
Jadi, interval [2.90625, 3]
8
Iterasi 7 :
𝑝7 = (𝑎7 + 𝑏7) / 2 = 2.90625+ 3/ 2 = 2.953125
𝑓(𝑝7) = 𝑥 3 + 𝑥 2 - 8* x- 10
= 2.9531253 + 2.9531252 - 8* 2.953125– 10
= 0,8499
Jadi, interval [ 2.90625, 2.953125]
Iterasi 8 :
𝑝8 = (𝑎8 + 𝑏8) / 2 = 2.90625+ 2.953125/ 2 = 2.9296875
𝑓(𝑝8) = 𝑥 3 + 𝑥 2 - 8* x- 10
= 2,92968753 + 2,92968752 - 8* 2,9296875 – 10
= 0.2912
Jadi, interval [ 2.90625, 2.9296875]
Iterasi 9 :
𝑝9 = (𝑎9 + 𝑏9 ) / 2 = 2.90625 + 2.9296875/ 2 = 2.91797
𝑓(𝑝9) = 𝑥 3 + 𝑥 2 - 8* x- 10
= 2.917973 + 2.917972 - 8* 2.91797 – 10
= 0.0159
Jadi, interval [2.90625, 2.91797]
Iterasi 10 :
𝑝10 = (𝑎10 + 𝑏10) / 2 = 2.91211+ 2.91797/ 2 = 2.91504
𝑓(𝑝10) = 𝑥 3 + 𝑥 2 - 8* x- 10
= 2.915043 +2.915042 - 8* 2.91504 – 10
= -0.0524
Jadi, interval [2.91211, 2.91504]
9
Iterasi 11 :
𝑝11 = (𝑎11 + 𝑏11) / 2 = 2.91504+ 2.91797/ 2 = 2.91797
𝑓(𝑝11) = 𝑥 3 + 𝑥 2 - 8* x- 10
= 2.917973 +2.917972 - 8* 2.91797 – 10
= -0.0524
Jadi, interval [ 2.91504, 2.91797]
Iterasi 12 :
𝑝12 = (𝑎12 + 𝑏12) / 2 = 2.91504 + 2.91797/ 2 = 2.91650
𝑓(𝑝12) = 𝑥 3 + 𝑥 2 - 8* x- 10
= 2.916503 +2.916502 - 8* 2.91650 – 10
= -0.0183
Jadi, interval [2.91650, 2.91797]
Iterasi 13 :
𝑝13 = (𝑎13 + 𝑏13) / 2 = 2.91650+ 2.91797/ 2 = 2.7914
𝑓(𝑝13) = 𝑥 3 + 𝑥 2 - 8* x- 10
= 2.79143 +2.79142 - 8* 2.7914– 10
= -1.0746x10−3
Jadi, interval [2.7914, 2.91797]
10
- Latihan a
1
dengan persamaan F(x) = maka penyelesaian sbb :
𝑥−2
x1=0
x2=15
1 1
F(a) = = = -0.5
𝑥−2 0−2
1 1
F(b) = = = 0.769
𝑥−2 15−2
Jadi, -0.3845 < 0 maka di sekitar x1=0 dan x2=15 terdapat titik
penyelesaiannya
Iterasi 1 :
𝑝1 = (𝑎1 + 𝑏1) / 2 = 0 + 15 / 2 = 7.5
1
𝑓(𝑝1) =
𝑥−2
1
= = 0.1818
7.5−2
Jadi, interval [ 0,7.5]
Iterasi 2 :
𝑝2 = (𝑎2 + 𝑏2) / 2 = 0 + 7.5 / 2 = 3.75
1
𝑓(𝑝2) =
𝑥−2
1
= = -1,73
3.75−2
Jadi, interval [ 0,3.75]
11
Iterasi 3 :
𝑝3 = (𝑎3 + 𝑏3) / 2 = 0 + 3.75/ 2 = 1.875
1
𝑓(𝑝3) =
𝑥−2
1
= = -1.46666
1.875−2
Jadi, interval [1.875,3.75]
Iterasi 4 :
𝑝4 = (𝑎4 + 𝑏4) / 2 = 1.875+ 3.75 / 2 = 2.8125
1
𝑓(𝑝4) =
𝑥−2
1
= = 1.230769
2.8125−2
Jadi, interval [1.875,2.81250]
Iterasi 5 :
𝑝5 = (𝑎5 + 𝑏5) / 2 = 1.875 + 2.8125/ 2 = 2.34375
1
𝑓(𝑝5) = 𝑥−2
1
= = -1,57333
2.34375−2
Jadi, interval [1.875,2.34375]
Iterasi 6 :
𝑝6 = (𝑎6 + 𝑏6) / 2 = 1.875 + 2.34375/ 2 = 2.10938
1
𝑓(𝑝6) = 𝑥−2
1
= = 0,10938
2.10938−2
Jadi, interval [1.875,2.10938]
12
Iterasi 7 :
𝑝7 = (𝑎7 + 𝑏7) / 2 = 1.875 + 2.10938/ 2 = 1.99219
1
𝑓(𝑝7) = 𝑥−2
1
= = -1.4980
1.99219−2
Jadi, interval [ 1.99219,2.10938]
Iterasi 8 :
𝑝8 = (𝑎8 + 𝑏8) / 2 = 1.99219 + 2.10938/ 2 = 2.05078
1
𝑓(𝑝8) = 𝑥−2
1
= = -1.51238
2.05078−2
Jadi, interval [1.99219,2.05078]
Iterasi 9 :
𝑝9 = (𝑎9 + 𝑏9 ) / 2 = 1.99219 + 2.05078 / 2 = 2.02148
1
𝑓(𝑝9) = 𝑥−2
1
= = -1.505314
2.02148−2
Jadi, interval [1.99219,2.02148]
Iterasi 10 :
𝑝10 = (𝑎10 + 𝑏10) / 2 = 1.99219 +2.02148 / 2 = 2.00684
1
𝑓(𝑝10) = 𝑥−2
1
= = -1,501702
2.00684−2
Jadi, interval [1.99219,2.00684]
Iterasi 11 :
𝑝11 = (𝑎11 + 𝑏11) / 2 = 2.00684+1.99219 / 2 = 1.99951
1
𝑓(𝑝11) = 𝑥−2
1
= = -1.49987
1.99951−2
Jadi, interval [ 1.99951,2.00684]
13
Iterasi 12 :
𝑝12 = (𝑎12 + 𝑏12) / 2 = 1.99951+ 2.00684/ 2 = 2.00317
1
𝑓(𝑝12) =
𝑥−2
1
= = -1.500792
2.00317−2
Jadi, interval [1.99951,2.00317]
- Latihan b
1
dengan persamaan F(x) = maka penyelesaian sbb :
𝑥−2
x1=1
x2=10
1 1
F(a) = = = -0.5
𝑥−2 1−2
1 1
F(b) = = = 0.125
𝑥−2 10−2
Iterasi 1 :
𝑝1 = (𝑎1 + 𝑏1) / 2 = 1+ 10 / 2 = 5.5
1
𝑓(𝑝1) =
𝑥−2
1
= = -18181
5.5−2
Jadi, interval [ 1,5.5]
14
Iterasi 2 :
𝑝2 = (𝑎2 + 𝑏2) / 2 = 1 + 5.5 / 2 = 3.25
1
𝑓(𝑝2) = 𝑥−2
1
= = -1.69230
3.25−2
Jadi, interval [ 1,3.25]
Iterasi 3 :
𝑝3 = (𝑎3 + 𝑏3) / 2 = 3.25+ 1/ 2 = 2.125
1
𝑓(𝑝3) = 𝑥−2
1
= = -1.52941
2.125−2
Jadi, interval [ 2.125,3.25]
Iterasi 4 :
𝑝4 = (𝑎4 + 𝑏4) / 2 = 3.25+2.125 / 2 = 2.68750
1
𝑓(𝑝4) = 𝑥−2
1
= = -1.62790
2.68750−2
Jadi, interval [ 2.68750,3.25]
Iterasi 5 :
𝑝5 = (𝑎5 + 𝑏5) / 2 = 2.68750 + 3.25/ 2 = 2.96875
1
𝑓(𝑝5) =
𝑥−2
1
= = -1.66315
2.96875−2
Jadi, interval [2.68750,2.96875]
15
Iterasi 6 :
𝑝6 = (𝑎6 + 𝑏6) / 2 = 2.68750 + 2.96875/ 2 = 2.82813
1
𝑓(𝑝6) =
𝑥−2
1
= = -1.64640
2.82813−2
Jadi, interval [ 2.82813, 2.96875]
Iterasi 7 :
𝑝7 = (𝑎7 + 𝑏7) / 2 = 2.96875+ 2.82813 / 2 = 2.89844
1
𝑓(𝑝7) =
𝑥−2
1
= = -1.65498
2.89844−2
Jadi, interval [ 2.89844, 2.96875]
Iterasi 8 :
𝑝8 = (𝑎8 + 𝑏8) / 2 = 2.89844 + 2.96875 / 2 = 2.93359
1
𝑓(𝑝8) =
𝑥−2
1
= = -1.65912
2.93359−2
Jadi, interval [2.89844,2.93359]
Iterasi 9 :
𝑝9 = (𝑎9 + 𝑏9 ) / 2 = 2.93359+ 2.89844 / 2 = 2.91602
1
𝑓(𝑝9) = 𝑥−2
1
= = -1.657066
2.91602−2
Jadi, interval [ 2.91602,2.93359]
16
Iterasi 10 :
𝑝10 = (𝑎10 + 𝑏10) / 2 = 2.91602 + 2.93359 / 2 = 2.92480
1
𝑓(𝑝10) = 𝑥−2
1
= = -1.65809
2.92480−2
Jadi, interval [2.91602,2.92480]
Iterasi 11 :
𝑝11 = (𝑎11 + 𝑏11) / 2 = 2.91602+ 2.92480 / 2 = 2.92041
1
𝑓(𝑝11) =
𝑥−2
1
= = -1.65758
2.92041−2
Jadi, interval [2.91602,2.92041]
17
2.6.Analisa
2.6.1 Analisa program
- Analisa Program Percobaan
18
fprintf('Pada Iterasi ke-%1d, Selisih Interval < %5.3f\n',no,
galat);
fprintf('Jadi, akar persamaannya adalah %7.5f\n', m);
19
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, Selisih Interval < %5.3f\n',no,
galat);
fprintf('Jadi, akar persamaannya adalah %7.5f\n', m);
2.6.2Analisa Pembahasan
-Program Percobaan
20
2.7.Kesimpulan
21
DAFTAR PUSTAKA
22