Anda di halaman 1dari 12

KELOMPOK 6

Nama Anggota :

1. Reginta Syafira Anggari ( 16321868 )


2. Dewi Kurniawati ( 16321871 )
3. Yayuk Susilowati ( 16321873 )
4. Astri May Handayani ( 16321879 )
5. Tria Ayu Kartika P. ( 16321880 )

TUGAS RESPONSI METODE NUMERIK

Responsi 2.5.1

Berapa banyak akar yang terdeteksi pada interval [−2,5] dan terletak pada sub interval mana
saja akar-akar tersebut?

Jawab :

Banyak akar yang terdeteksi pada interval [−2,5] yaitu ada sebanyak 3 akar. Akar yang
pertama terletak pada sub interval [−0.3800, −0.3780], akar kedua terletak pada sub interval
[0.7070,0.7090], dan akar yang ketiga terletak pada sub interval [3.9830,3.9850].

Responsi 2.5.2.

Coba perhalus grid domainnya, misalnya diambil ukuran langkah 0.001, yaitu perintah >>
x=-2:0.01:5; diganti menjadi >> x=-2:0.001:5;. Apa hasil yang anda peroleh? Apakah
perbedaannya dengan hasil sebelumnya?

Jawab :

 Untuk ukuran langkah 0,01


M-FILE :
function y=fungsi1(x)
y=x.^3-4*x.^2+sin(x)+1;

COMMAND WINDOW :

>> x=-2:0.01:5;

>> y=fungsi1(x);

>> plot(x,y);grid

>> d=find(abs(y)<0.03)

d =
163 271 272

>> akar1=x(d)

akar1 =

-0.3800 0.7000 0.7100

>> hold on

>> plot(x(d),y(d),'g*')

Output :

 Untuk ukuran langkah 0,001


COMMAND WINDOW :
>> x=-2:0.001:5;

>> y=fungsi1(x);

>> plot(x,y);

>> grid

>> plot(x,y);grid

>> d=find(abs(y)<0.003)

d =

1622 2709 5985

>> akar1=x(d)

akar1 =

-0.3790 0.7080 3.9840

>> hold on

>> plot(x(d),y(d),'g*')

Output :
Perbedaan antara hasil yang pertama dengan hasil yang kedua adalah terletak pada
akarnya, untuk akar dengan ukuran 0,01 diperoleh 3 akar yaitu
−0.3800, 0.7000, 0.7100 sehingga dari ketiga akar tersebut ada salah satu akar yang
tidak mendekati titik potong (absis) pada sumbu 𝑥. Sedangkan untuk akar dengan
ukuran 0,001 diperoleh 3 akar yaitu −0.3790, 0.7080, 3.9840 sehingga ketiga akar
tersebut mendekati titik potong (absis) pada sumbu 𝑥. Hal ini berarti untuk >> x=-
2:0.001:5; nilai aproksimasi dari akarnya tersebut lebih akurat daripada untuk >>
x=-2:0.01:5;.
Responsi 2.5.3
Lakukan eksperimen numerik sebagai berikut.
1. Tulislah m-file untuk metode bagi dua dengan menggunakan kriteria stopping 3, yaitu
selisih antara dua aproksimasi berurutan. Kemudian simpan dengan nama
bagidua3.m.\
Jawab :
M-file metode bagi dua dengan menggunakan kriteria stopping 3 yaitu
M-FILE :
function [akar,langkah]=bagidua3(a,b,tol)
if feval('fun',a)*feval('fun',b)>0
error('akarnya tidak terjamin ada dalam interval ini')
end
p_1=a;p0=b;
langkah=0;akar=[];
while abs(p_1-p0)>tol
langkah=langkah+1;
p=(p_1+p0)/2;
akar=[akar;p];
f_1=feval('fun',p_1);fp=feval('fun',p);
if sign(f_1)*sign(fp)<0
p_1=p_1;
p0=p;
else
p_1=p;
p0=p0;
end
end
function y=fun(x)
c=3;y=x-exp(-x/c);
kemudian m-file di simpan dengan nama bagidua3.m.

2. Terapkan m-file bagidua3.m. untuk soal yang sama dan TOL yang sama seperti
sebelumnya. Bandingkan banyak iterasi yang diperoleh melelui ketiga kriteria
stopping tersebut.
Jawab :
M-FILE :
function [akar,langkah]=bagidua3(a,b,tol)
if feval('fun',a)*feval('fun',b)>0
error('akarnya tidak terjamin ada dalam interval ini')
end
p_1=a;p0=b;
langkah=0;akar=[];
while abs(p_1-p0)>tol
langkah=langkah+1;
p=(p_1+p0)/2;
akar=[akar;p];
f_1=feval('fun',p_1);fp=feval('fun',p);
if sign(f_1)*sign(fp)<0
p_1=p_1;
p0=p;
else
p_1=p;
p0=p0;
end
end
function y=fun(x)
c=3;y=x-exp(-x/c);
Diterapkan dalam soal yang sama dan TOL yang sama seperti sebelumnya diperoleh
dalam command window.
COMMAND WINDOW:
>> [akar,langkah]=bagidua3(0,1,1e-3)
akar =
0.5000
0.7500
0.8750
0.8125
0.7813
0.7656
0.7734
0.7695
0.7715
0.7725
langkah =
10
Dari ketiga kriteria stopping tersebut dari bagidua1, bagidua2, dan bagidua3 banyak
iterasi yang diperoleh
….

3. Diberikan fungsi 𝑓(𝑥) = (𝑥 + 2)(𝑥 + 1)𝑥(𝑥 − 1)3 (𝑥 − 2). Akar eksak persamaan
𝑓(𝑥) = 0 adalah −2, −1,0,1, dan 2. Bila metode bagi dua digunakan untuk
mengaproksimasi akar-akar ini pada interval yang diberikan sebagai berikut, tentukan
ke akar mana iterasi konvergen untuk setiap interval yang diberikan berikut:
[−3,2.5], [−2.5,3], [−1.75,1.5], [−1.5,1.75].
Pastikan dulu adanya akar pada interval yang ada.

Jawab :
M-FILE :
function [akar,langkah]=bagidua4(a,b,tol)
if feval('fun',a)*feval('fun',b)>0
error('akarnya tidak terjamin ada dalam interval ini')
end
fa=feval('fun',a);fb=feval('fun',b);
if sign(fa)==0
akar=a;
langkah=0;
elseif sign(fb)==0
akar=b;
langkah=0;
end
langkah=0; akar=[];
while abs(b-a)>tol
langkah=langkah+1;
p=(a+b)/2;
akar=[akar;p];
fa=feval('fun',a);fp=feval('fun',p);
if sign(fa)*sign(fp)<0
a=a; b=p;
else
a=p; b=b;
end
end
function y=fun(x)
y=(x+2)*(x+1)*x*(x-1).^3*(x-2);

COMMAND WINDOW :
 Nilai aproksimasi persamaan pada interval [−3,2.5]
>>[akar,langkah]=bagidua4(-3,2.5,1e-3)

akar =

-0.2500
1.1250
1.8125
2.1563
1.9844
2.0703
2.0273
2.0059
1.9951
2.0005
1.9978
1.9991
1.9998

langkah =

13
 Nilai aproksimasi persamaan pada interval [−2.5,3]
>> [akar,langkah]=bagidua4(-2.5,3,1e-3)

akar =

0.2500
-1.1250
-1.8125
-2.1563
-1.9844
-2.0703
-2.0273
-2.0059
-1.9951
-2.0005
-1.9978
-1.9991
-1.9998

langkah =

13
 Nilai aproksimasi persamaan pada interval [−1.75,1.5]
>> [akar,langkah]=bagidua4(-1.75,1.5,1e-3)

akar =

-0.1250
-0.9375
-1.3438
-1.1406
-1.0391
-0.9883
-1.0137
-1.0010
-0.9946
-0.9978
-0.9994
-1.0002

langkah =

12
 Nilai aproksimasi persamaan pada interval [−1.5,1.75]
>> [akar,langkah]=bagidua4(-1.5,1.75,1e-3)

akar =

0.1250
0.9375
1.3438
1.1406
1.0391
0.9883
1.0137
1.0010
0.9946
0.9978
0.9994
1.0002

langkah =

12

4. Gunakan m-file bagidua1.m. pada interval [0,1] dan TOL= 0.0001 untuk
x
menyelesaikan persamaan x − e−c = 0 dengan berbagai macam nilai nilai 𝑐, 𝑐 =
0.1, 1.5, 2.2, 7.8, 13.7, 20,75. Amstrong dan Kulesza (AK) pada 1981 menemukan
rumus eksplisit untuk aproksimasi akar persamaan ini sebagai berikut :
𝑙𝑛[(1+𝑐)𝑢] 1
𝑥 = 𝑐𝑢 (1 − ) dengan u = ln (1 + c)
1+𝑢
Bandingkan selisih antara aproksimasi dengan metode bagi dua dan formula AK ini.
Jawab :
Untuk 𝑐 = 0,1
M-FILE COMMAND WINDOW
function[akar,langkah]=bagidua1(a, >>[akar,langkah]=bagidua1(0,1,0
b,tol) .0001)
if feval('fun',a)*feval('fun',b)>0 akar =
error ('akarnya tidak terjamin
ada dalam interval ini')
0.5000
end
0.2500
langkah=0;
akar=[]; 0.1250
N=ceil(log2((b-a)/tol)); 0.1875
for k=1:N 0.1563
langkah=langkah+1; 0.1719
p=(a+b)/2; 0.1797
akar=[akar;p]; 0.1758
fa=feval('fun',a); 0.1738
fp=feval('fun',p); 0.1748
if sign(fa)*sign(fp)<0
0.1743
a=a;
0.1746
b=p;
else 0.1744
a=p; 0.1745
b=b;
end langkah =
end
function y=fun(x) 14
c=0.1;
y=x-exp(-x/c);

Untuk 𝑐 = 1,5
M-FILE COMMAND WINDOW
function[akar,langkah]=bagidua1(a, >>[akar,langkah]=bagidua1(0,1,0
b,tol) .0001)
if feval('fun',a)*feval('fun',b)>0
error ('akarnya tidak terjamin akar =
ada dalam interval ini')
end
0.5000
langkah=0;
akar=[]; 0.7500
N=ceil(log2((b-a)/tol)); 0.6250
for k=1:N 0.6875
langkah=langkah+1; 0.6563
p=(a+b)/2; 0.6406
akar=[akar;p]; 0.6484
fa=feval('fun',a); 0.6523
fp=feval('fun',p); 0.6504
if sign(fa)*sign(fp)<0
0.6494
a=a;
0.6489
b=p;
else 0.6487
a=p; 0.6488
0.6489
b=b;
end langkah =
end
function y=fun(x) 14
c=1.5;
y=x-exp(-x/c);

Untuk 𝑐 = 2,2
M-FILE COMMAND WINDOW
function[akar,langkah]=bagidua1(a, >>[akar,langkah]=bagidua1(0,1,0
b,tol) .0001)
if feval('fun',a)*feval('fun',b)>0
error ('akarnya tidak terjamin akar =
ada dalam interval ini')
end
0.5000
langkah=0;
akar=[]; 0.7500
N=ceil(log2((b-a)/tol)); 0.6250
for k=1:N 0.6875
langkah=langkah+1; 0.7188
p=(a+b)/2; 0.7344
akar=[akar;p]; 0.7266
fa=feval('fun',a); 0.7227
fp=feval('fun',p); 0.7207
if sign(fa)*sign(fp)<0
0.7197
a=a;
0.7202
b=p;
else 0.7205
a=p; 0.7206
b=b; 0.7206
end
end langkah =
function y=fun(x)
c=2.2; 14
y=x-exp(-x/c);

Untuk 𝑐 = 7,8
M-FILE COMMAND WINDOW
function[akar,langkah]=bagidua1(a, >>[akar,langkah]=bagidua1(0,1,0
b,tol) .0001)
if feval('fun',a)*feval('fun',b)>0
error ('akarnya tidak terjamin akar =
ada dalam interval ini')
end
0.5000
langkah=0;
akar=[]; 0.7500
N=ceil(log2((b-a)/tol)); 0.8750
for k=1:N 0.9375
langkah=langkah+1; 0.9063
p=(a+b)/2; 0.8906
akar=[akar;p]; 0.8984
fa=feval('fun',a); 0.8945
fp=feval('fun',p); 0.8926
if sign(fa)*sign(fp)<0 0.8916
a=a;
0.8921
b=p;
0.8918
else
a=p; 0.8920
b=b; 0.8919
end
end
function y=fun(x) langkah =
c=7.8;
y=x-exp(-x/c); 14

Untuk 𝑐 = 13,7
M-FILE COMMAND WINDOW
function[akar,langkah]=bagidua1(a, >>[akar,langkah]=bagidua1(0,1,0
b,tol) .0001)
if feval('fun',a)*feval('fun',b)>0
error ('akarnya tidak terjamin akar =
ada dalam interval ini')
end
0.5000
langkah=0;
akar=[]; 0.7500
N=ceil(log2((b-a)/tol)); 0.8750
for k=1:N 0.9375
langkah=langkah+1; 0.9063
p=(a+b)/2; 0.9219
akar=[akar;p]; 0.9297
fa=feval('fun',a); 0.9336
fp=feval('fun',p); 0.9355
if sign(fa)*sign(fp)<0
0.9346
a=a;
0.9341
b=p;
else 0.9343
a=p; 0.9342
b=b; 0.9341
end
end langkah =
function y=fun(x)
c=13.7; 14
y=x-exp(-x/c);

Untuk 𝑐 = 20
M-FILE COMMAND WINDOW
function[akar,langkah]=bagidua1(a, >>[akar,langkah]=bagidua1(0,1,0
b,tol) .0001)
if feval('fun',a)*feval('fun',b)>0
error ('akarnya tidak terjamin
ada dalam interval ini') akar =
end
langkah=0; 0.5000
akar=[]; 0.7500
N=ceil(log2((b-a)/tol));
0.8750
for k=1:N
0.9375
langkah=langkah+1;
p=(a+b)/2; 0.9688
akar=[akar;p]; 0.9531
fa=feval('fun',a); 0.9609
fp=feval('fun',p); 0.9570
if sign(fa)*sign(fp)<0 0.9551
a=a; 0.9541
b=p; 0.9536
else 0.9534
a=p;
0.9535
b=b;
0.9534
end
end
function y=fun(x) langkah =
c=20;
y=x-exp(-x/c); 14

Untuk 𝑐 = 75
M-FILE COMMAND WINDOW
function[akar,langkah]=bagidua1(a, >>[akar,langkah]=bagidua1(0,1,0
b,tol) .0001)
if feval('fun',a)*feval('fun',b)>0
error ('akarnya tidak terjamin akar =
ada dalam interval ini')
end
0.5000
langkah=0;
akar=[]; 0.7500
N=ceil(log2((b-a)/tol)); 0.8750
for k=1:N 0.9375
langkah=langkah+1; 0.9688
p=(a+b)/2; 0.9844
akar=[akar;p]; 0.9922
fa=feval('fun',a); 0.9883
fp=feval('fun',p); 0.9863
if sign(fa)*sign(fp)<0
0.9873
a=a;
0.9868
b=p;
else 0.9871
a=p; 0.9869
b=b; 0.9869
end
end langkah =
function y=fun(x)
c=75; 14
y=x-exp(-x/c);
Rumus eksplisit untuk aproksimasi akar persamaan (Amstrong dan Kulesza (AK)) :
𝑙𝑛[(1+𝑐)𝑢] 1
𝑥 = 𝑐𝑢 (1 − ) dengan u = ln (1 + c), diperoleh :
1+𝑢
Output pada command window :
x1 =

0.5822

x2 =

0.9703

x3 =

0.9836

x4 =

0.9982

x5 =

0.9994

x6 =

0.9997

x7 =

0.9999
Amstrong dan Kulesza
Metode bagi dua
𝒄 𝒙 𝒍𝒏[(𝟏 + 𝒄)𝒖]
(𝒙 − 𝒆𝒄 = 𝟎) (𝒙 = 𝒄𝒖 (𝟏 − ))
𝟏+𝒖
0.1 0.1745 0.5822
1.5 0.6489 0.9703
2.2 0.7206 0.9836
7.8 0.8919 0.9982
13.7 0.9341 0.9994
20 0.9534 0.9997
75 0.9869 0.9999

Sehingga diperoleh perbandingan selisih antara aproksimasi dengan metode bagi dua
dan formula AK adalah ….

Anda mungkin juga menyukai