Anda di halaman 1dari 10

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

UNIVERSITAS BRAWIJAYA MALANG


FAKULTAS MIPA – JURUSAN MATEMATIKA

UJIAN AKHIR SEMESTER GENAP 2020/2021


Mata Kuliah : Praktikum Metode Dosen : 1. Dr. Isnani Darti, S.Si., M.Si.
Numerik 2. Ummu Habibah, S.Si., M.Si., Ph.D.
Sifat Ujian : Terbuka 3. Dra. Trisilowati, M.Sc., Ph.D.
Program Studi : Matematika Hari, Tanggal : Jum’at, 4 Juni 2021
Kelas : A,B,C,D Waktu : 100 menit (08.00 - 09.40 WIB)
Asisten:
1. Ongky Denny Wijaya, S.Mat. 5. Ananda Hans Islamiyah
2. Royyan Amigo, S.Mat. 6. Angelina Renny Christin Octavia Sianturi
3. Tentrem Hatinah 7. Azka ’Izzatul Maulidah
4. Adetyas Pretty Grahadiana Putri Ardiansyah 8. Mochamad Hakim Akbar Assidiq Maulana
Petunjuk mengerjakan :
• Semua jawaban program (m file) diberi format nama file: Nama_NIM_SOAL (Contoh:
Adetyas_185090401111038_1).
• Kumpulkan jawaban anda di Google Classroom sesuai dengan batas waktu yang telah ditentukan
(4 file program matlab). Batas waktu ujian sudah termasuk waktu pengumpulan jawaban.
• Keterlambatan pengumpulan jawaban akan diberikan sanksi.
• Tidak ada toleransi terhadap segala bentuk kecurangan.

JAWABAN TIPE 1
1. Buatlah program MATLAB untuk menghitung
99

∫ 2𝑥 3 − 4𝑥 2 + 6𝑥 − 8 𝑑𝑥
0

menggunakan Integral Trapesium dengan ℎ = 0.99. Tentukan nilai eksak dan galat yang
dihasilkan dari integral yang telah diberikan.
Jawab.
clear all;
clc;
syms x;
fprintf('METODE TRAPESIUM\n');
a=0;
b=99;
N=100;
h=0.99;
f=2*x^3-4*x^2+6*x-8;
xi=a:h:b;
n=length(xi);
for i=1:n
fi(i)=double(subs(f,x,xi(i)));
end
jumlah=0;
for i=2:n-1
jumlah=jumlah+fi(i);
end
hasilint=0.5*h*(fi(1)+fi(n)+2*jumlah);
fprintf('Hasil integral numerik = %15.15f\n',hasilint);
integralanalitik=double(int(f,x,a,b));
error=abs(hasilint-integralanalitik);
fprintf('Hasil integral analitik =
%15.15f\n',integralanalitik);
fprintf('Error = %15.15f\n',error);

Hasil Command Window


METODE TRAPESIUM
Hasil integral numerik = 46769417.793449998000000
Hasil integral analitik = 46764679.500000000000000
Error = 4738.293449997901900
2

𝑒 𝑥2
2. Buatlah program MATLAB untuk menentukan turunan kedua fungsi 𝑓(𝑥) = dalam interval
√2𝜋

1 ≤ 𝑥 ≤ 2 dengan menggunakan turunan beda maju untuk ℎ = 0.01. Output program berupa
solusi numerik, solusi eksak, error, dan plot titik-titik nilai turunan numerik beserta turunan eksak
pada −0.2 ≤ 𝑓 ′′ (𝑥) ≤ 0.2. Tampilkan hasilnya dalam desimal 4 angka dibelakang koma.
Jawab.
clear all;clc;
syms x;
fprintf('TURUNAN KEDUA BEDA MAJU\n\n');
f=exp(-2/x^2)/sqrt(2*pi);
h=0.01;
titikx=1:h:2;
n=length(titikx);
dfeksak=diff(f,x,2);
fprintf(' i xi numerik eksak error\n');
for i=1:n-2
fiplus1=double(subs(f,x,titikx(i+1)));
fiplus2=double(subs(f,x,titikx(i+2)));
fi=double(subs(f,x,titikx(i)));
df(i)=(fiplus2-2*fiplus1+fi)/h^2;
trneksak(i)=double(subs(dfeksak,x,titikx(i)));
error(i)=abs(df(i)-trneksak(i));
fprintf('%2d %8.5f %8.5f %8.5f
%8.5f\n',i,titikx(i),df(i),trneksak(i),error(i));
end
trneksak(n-1)=double(subs(dfeksak,x,titikx(n-1)));
trneksak(n)=double(subs(dfeksak,x,titikx(n)));
fprintf('%2d %8.5f ------- %8.5f -------\n',n-1,titikx(n-1),trneksak(n-
1));
fprintf('%2d %8.5f ------- %8.5f -------\n',n,titikx(n),trneksak(n));
plot(titikx(1:n-2),df(1:n-
2),'ob','markersize',7,'linewidth',2,'markerfacecolor','c');
hold on;
grafiktrneksak=ezplot(dfeksak,[min(titikx) max(titikx)]);
set(grafiktrneksak,'color','k','linewidth',2);
grid on;
axis([min(titikx) max(titikx) -0.2 0.2]);
xlabel('x');
ylabel('d2f');
legend('Turunan Numerik','Turunan Eksak');
Hasil Command Window
TURUNAN KEDUA BEDA MAJU
10 iterasi pertama
i xi numerik eksak error
1 1.00000 0.19890 0.21596 0.01707
2 1.01000 0.18217 0.19886 0.01669
3 1.02000 0.16584 0.18214 0.01630
4 1.03000 0.14993 0.16581 0.01588
5 1.04000 0.13444 0.14989 0.01545
6 1.05000 0.11940 0.13441 0.01500
7 1.06000 0.10482 0.11937 0.01455
8 1.07000 0.09070 0.10478 0.01408
9 1.08000 0.07705 0.09066 0.01361
10 1.09000 0.06386 0.07701 0.01314
10 iterasi terakhir
90 1.89000 -0.13313 -0.13433 0.00120
91 1.90000 -0.13192 -0.13313 0.00121
92 1.91000 -0.13071 -0.13192 0.00121
93 1.92000 -0.12949 -0.13071 0.00121
94 1.93000 -0.12828 -0.12949 0.00122
95 1.94000 -0.12706 -0.12828 0.00122
96 1.95000 -0.12584 -0.12706 0.00122
97 1.96000 -0.12463 -0.12584 0.00122
98 1.97000 -0.12341 -0.12463 0.00122
99 1.98000 -0.12220 -0.12341 0.00121
100 1.99000 ------- -0.12220 -------
101 2.00000 ------- -0.12099 -------
Plot Grafik

(36028797018963968 exp(-2/x 2))/(5644425081792261 x 6) - (9007199254740992 exp(-2/x 2))/(1881475027264087 x 4)


0.2
Turunan Numerik
Turunan Eksak

0.15

0.1

0.05
d2f

-0.05

-0.1

-0.15

-0.2
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
x

√𝑥
3. Buatlah program MATLAB dengan fungsi 𝑓(𝑥) = 𝑥 2 +1 − ln 𝑥 dalam interval 0.1 ≤ 𝑥 ≤ 1.5

dengan ℎ = 0.35. Tentukan nilai dari 𝑓(0.61) dan plot dengan Interpolasi Newton Gregory Maju
berderajat 4. (Gunakan ketelitian 4 aangka di belakang koma).
Jawab.
clear all;
clc;
fprintf('NO. 4 MATERI INTERPOLASI NEWTON GREGORY
MAJU\n============================================\n');
syms x;
h=0.35;
xi=0.1:h:1.5;
n=length(xi);
f=(sqrt(x)/(x^2+1))+log(x);
fx=double(subs(f,x,xi));
for i=1:n-1
if i==1
for j=1:n-i
delta(j,i)=fx(j+1)-fx(j);
end
else
for j=1:n-i

delta(j,i)=delta(j+1,i-1)-delta(j,i-1);
end
end
end
fprintf(' x f(x) deltaf delta^2f delta^3f delta^4f\n');
for i=1:n-1
fprintf('%8.4f %8.4f',xi(i),fx(i));
for j=1:n-1
fprintf(' %8.4f',delta(i,j));
end
fprintf('\n');
end
fprintf('%8.4f %8.4f\n',xi(n),fx(n));
polinom=fx(1);
for i=1:n-1
perkalian=1;
for j=1:i
perkalian=perkalian*(x-xi(j));
end
polinom=polinom+delta(1,i)/(factorial(i)*(h^i))*perkalian;
end
grafik=ezplot(polinom,[min(xi) max(xi)]);
set(grafik,'color','b','linewidth',2)
hold on;
plot(xi,fx,'o','markersize',10,'markerfacecolor','r');
axis([min(xi) max(xi) min(fx)-1 max(fx)+1]);
grid on;
xcari=0.61;
nilai=double(subs(polinom,x,xcari));
fprintf('P%d(%f)=%f\n',n-1,xcari,nilai);

Hasil Command Window


NO. 4 MATERI INTERPOLASI NEWTON GREGORY MAJU
============================================
x f(x) deltaf delta^2f delta^3f delta^4f
0.1000 -1.9895 1.7488 -1.1859 0.9023 -0.7171
0.4500 -0.2407 0.5629 -0.2836 0.1852 0.0000
0.8000 0.3222 0.2793 -0.0984 0.0000 0.0000
1.1500 0.6015 0.1808 0.0000 0.0000 0.0000
1.5000 0.7823
P4(0.610000)=0.092772

Plot Grafik
(703219146076087 x)/140737488355328 -...- 56050800056361827/22517998136852480

1.5

0.5

-0.5

-1

-1.5

-2

-2.5

0.2 0.4 0.6 0.8 1 1.2 1.4


x
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
UNIVERSITAS BRAWIJAYA MALANG
FAKULTAS MIPA – JURUSAN MATEMATIKA

UJIAN AKHIR SEMESTER GENAP 2020/2021


Mata Kuliah : Praktikum Metode Dosen : 1. Dr. Isnani Darti, S.Si., M.Si.
Numerik 2. Ummu Habibah, S.Si., M.Si., Ph.D.
Sifat Ujian : Terbuka 3. Dra. Trisilowati, M.Sc., Ph.D.
Program Studi : Matematika Hari, Tanggal : Jum’at, 4 Juni 2021
Kelas : A,B,C,D Waktu : 100 menit (08.00 - 09.40 WIB)
Asisten:
5. Ongky Denny Wijaya, S.Mat. 5. Ananda Hans Islamiyah
6. Royyan Amigo, S.Mat. 6. Angelina Renny Christin Octavia Sianturi
7. Tentrem Hatinah 7. Azka ’Izzatul Maulidah
8. Adetyas Pretty Grahadiana Putri Ardiansyah 8. Mochamad Hakim Akbar Assidiq Maulana
JAWABAN TIPE 2
1. Buatlah program MATLAB untuk menghitung
7.8

∫ 𝑒 𝑥 + ln 𝑥 𝑑𝑥
4.3
menggunakan Integral Trapesium dengan ℎ = 0.035. Tentukan nilai eksak dan galat yang
dihasilkan dari integral yang telah diberikan.
Jawab.
clear all;
clc;
syms x;
fprintf('METODE TRAPESIUM\n');
a=4.3;
b=7.8;
h=0.035;
f=exp(x)+log(x);
xi=a:h:b;
n=length(xi);
for i=1:n
fi(i)=double(subs(f,x,xi(i)));
end
jumlah=0;
for i=2:n-1
jumlah=jumlah+fi(i);
end
hasilint=0.5*h*(fi(1)+fi(n)+2*jumlah);
fprintf('Hasil integral numerik = %15.15f\n',hasilint);
integralanalitik=double(int(f,x,a,b));
error=abs(hasilint-integralanalitik);
fprintf('Hasil integral analitik = %15.15f\n',integralanalitik);
fprintf('Error = %15.15f\n',error);

Hasil Command Window


METODE TRAPESIUM
Hasil integral numerik = 2373.393910129113500
Hasil integral analitik = 2373.152304450120500
Error = 0.241605678992983
2

𝑒 𝑥2
2. Buatlah program MATLAB untuk menentukan turunan kedua fungsi 𝑓(𝑥) = dalam interval
√2𝜋

1 ≤ 𝑥 ≤ 2 dengan menggunakan turunan beda mundur untuk ℎ = 0.01. Output program berupa
solusi numerik, solusi eksak, error, dan plot titik-titik nilai turunan numerik beserta turunan eksak
pada −0.2 ≤ 𝑓 ′′ (𝑥) ≤ 0.2. Tampilkan hasilnya dalam desimal 4 angka dibelakang koma.
Jawab.
clear all;clc;
syms x;
fprintf('TURUNAN PERTAMA BEDA MUNDUR\n\n');
f=exp(-2/x^2)/sqrt(2*pi);
h=0.01;
titikx=1:h:2;
n=length(titikx);
dfeksak=diff(f,2,x);
fprintf(' i xi numerik eksak error\n');
for i=1:n
if i==1
trneksak(i)=double(subs(dfeksak,x,titikx(i)));
fprintf('%2d %8.5f ------- %8.5f -------
\n',1,titikx(i),trneksak(i));
else if i==2
trneksak(i)=double(subs(dfeksak,x,titikx(i)));
fprintf('%2d %8.5f ------- %8.5f -------
\n',2,titikx(i),trneksak(i));
else
fiminus1=double(subs(f,x,titikx(i-1)));
fiminus2=double(subs(f,x,titikx(i-2)));
fi=double(subs(f,x,titikx(i)));
df(i)=(fi-2*fiminus1+fiminus2)/h^2;
trneksak(i)=double(subs(dfeksak,x,titikx(i)));
error(i)=abs(df(i)-trneksak(i));
fprintf('%2d %8.5f %8.5f %8.5f
%8.5f\n',i,titikx(i),df(i),trneksak(i),error(i));
end
end
end
plot(titikx(3:n),df(3:n),'ob','markersize',7,'linewidth',2,'markerfacec
olor','c');
hold on;
grafiktrneksak=ezplot(dfeksak,[min(titikx) max(titikx)]);
set(grafiktrneksak,'color','k','linewidth',2);
grid on;
axis([min(titikx) max(titikx) -0.2 0.2]);
xlabel('x');
ylabel('d2f');
legend('Turunan Numerik','Turunan Eksak');

Hasil Command Window


TURUNAN PERTAMA BEDA MUNDUR
10 iterasi pertama
i xi numerik eksak error
1 1.00000 ------- 0.21596 -------
2 1.01000 ------- 0.19886 -------
3 1.02000 0.19890 0.18214 0.01676
4 1.03000 0.18217 0.16581 0.01636
5 1.04000 0.16584 0.14989 0.01595
6 1.05000 0.14993 0.13441 0.01552
7 1.06000 0.13444 0.11937 0.01508
8 1.07000 0.11940 0.10478 0.01462
9 1.08000 0.10482 0.09066 0.01416
10 1.09000 0.09070 0.07701 0.01369
10 iterasi terakhir
90 1.89000 -0.13553 -0.13433 0.00120
91 1.90000 -0.13433 -0.13313 0.00120
92 1.91000 -0.13313 -0.13192 0.00121
93 1.92000 -0.13192 -0.13071 0.00121
94 1.93000 -0.13071 -0.12949 0.00121
95 1.94000 -0.12949 -0.12828 0.00122
96 1.95000 -0.12828 -0.12706 0.00122
97 1.96000 -0.12706 -0.12584 0.00122
98 1.97000 -0.12584 -0.12463 0.00122
99 1.98000 -0.12463 -0.12341 0.00122
100 1.99000 -0.12341 -0.12220 0.00121
101 2.00000 -0.12220 -0.12099 0.00121

Plot Grafik
(36028797018963968 exp(-2/x 2))/(5644425081792261 x 6) - (9007199254740992 exp(-2/x 2))/(1881475027264087 x 4)
0.2
Turunan Numerik
Turunan Eksak

0.15

0.1

0.05
d2f

-0.05

-0.1

-0.15

-0.2
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
x

𝑒𝑥
3. Buatlah program MATLAB dengan fungsi 𝑓(𝑥) = + ln 𝑥 dalam interval 0.1 ≤ 𝑥 ≤ 1.5
√𝑥+1

dengan ℎ = 0.35. Tentukan nilai dari 𝑓(0.61) dan plot dengan Interpolasi Newton Gregory Maju
berderajat 4. (Gunakan ketelitian 4 aangka di belakang koma).
Jawab.
clear all;
clc;
fprintf('NO. 4 MATERI INTERPOLASI NEWTON GREGORY
MAJU\n============================================\n');
syms x;
h=0.35;
xi=0.1:h:1.5;
n=length(xi);
f=(exp(x)/sqrt(x+1))+log(x);
fx=double(subs(f,x,xi));
for i=1:n-1
if i==1
for j=1:n-i
delta(j,i)=fx(j+1)-fx(j);
end
else
for j=1:n-i

delta(j,i)=delta(j+1,i-1)-delta(j,i-1);
end
end
end
fprintf(' x f(x) deltaf delta^2f delta^3f delta^4f\n');
for i=1:n-1
fprintf('%8.4f %8.4f',xi(i),fx(i));
for j=1:n-1
fprintf(' %8.4f',delta(i,j));
end
fprintf('\n');
end
fprintf('%8.4f %8.4f\n',xi(n),fx(n));
polinom=fx(1);
for i=1:n-1
perkalian=1;
for j=1:i
perkalian=perkalian*(x-xi(j));
end
polinom=polinom+delta(1,i)/(factorial(i)*(h^i))*perkalian;
end
grafik=ezplot(polinom,[min(xi) max(xi)]);
set(grafik,'color','b','linewidth',2)
hold on;
plot(xi,fx,'o','markersize',10,'markerfacecolor','r');
axis([min(xi) max(xi) min(fx)-1 max(fx)+1]);
grid on;
xcari=0.61;
nilai=double(subs(polinom,x,xcari));
fprintf('P%d(%f)=%f\n',n-1,xcari,nilai);

Hasil Command Window


NO. 4 MATERI INTERPOLASI NEWTON GREGORY MAJU
============================================
x f(x) deltaf delta^2f delta^3f delta^4f
0.1000 -1.2488 1.7528 -0.8210 0.7472 -0.5850
0.4500 0.5039 0.9318 -0.0738 0.1622 0.0000
0.8000 1.4357 0.8580 0.0883 0.0000 0.0000
1.1500 2.2936 0.9463 0.0000 0.0000 0.0000
1.5000 3.2399
P4(0.610000)=0.973097

Plot Grafik
(2819173993547225 x)/562949953421312 -...- 7879641430455515/4503599627370496

-1

-2

0.2 0.4 0.6 0.8 1 1.2 1.4


x

Anda mungkin juga menyukai