Uploaded by pratiwinadia612

Lapres 3 matematika teknik

advertisement
LABORATORIUM TEKNIK KIMIA
FAKULTAS TEKNIK
UPN “VETERAN” JAWA TIMUR
Nama
NPM/Semester
Sesi
Paralel
Praktikum
Percobaan
: Matematika Teknik
: Metode Newton Rhapson, Metode
Secant, & Metode Iterasi
Tanggal
: 26 Februari 2020
Pembimbing : Nove Kartika Erliyanti, ST, MT
: Adinda, Nadia
: 86, 52 / IV
: B-1
:B
LAPORAN RESMI
1. Jelaskan pengertian, fungsi, persamaan dan perbedaan dari Newton
Rhapson, Secant dan Metode Iterasi!
2. Dhimas adalah anak dari Doni telah dewasa. Dhimas bekerja di
perusahaan Intenasional yang mewajibkan Dhimas untuk bekerja selama
10 jam setiap harinya. Dhimas bekerja di bagian pemeliharaan alat yang
tugasnya membersihkan dan memperbaiki printer, gelas, computer, dan
motor. Dalam pekerjaannya Dhimas menggunakan lem serba guna sebagai
alat pembantunya. Pada suatu hari ketika Dhimas bekerja, dia kehabisan
lem serba guna akibat Dhimas tidak memperkirakan kebutuhan lem
dengan jumlah alat yang perlu dia perbaiki. Oleh karena itu Dhimas
membutuhkan
sebuah
persamaan
yang
dapat
membantunya
memperkirakan kebutuhan lem tersebut:
Secara umum kebutuhan lem dapat ditulis dengan persamaan
(𝑃 + 𝐺π‘₯ 2 ). ((𝐾. 𝑀) − 𝑃π‘₯ 3 )
=𝑁
(𝐺 + 𝐾. 𝑃) − 12𝑀π‘₯ 3
Keterangan :
ο‚·
P
= Jumlah Printer
ο‚·
G
= Jumlah gelas
ο‚·
K
= Jumlah computer
ο‚·
M
= Jumlah motor
ο‚·
N
= Jumlah NPM terbesar dalam 1 sesi dibagi 16
Peraturan :
a.
NPM Ganjil mengerjakan dengan Metode Secant dan Iterasi
b.
NPM Genap mengerjakan dengan Metode Newton Raphson &
Secant
3. Sebuah reaksi orde dua pada suatu model reactor mixed flow dengan
reaksi katalitik 𝐴 → 𝑅 , dimana : −π‘Ÿπ΄ = 𝑑𝐢𝐴 𝑑𝑑 = − 𝑉/𝐹 𝐢𝐴𝐹 – 𝑉/𝐹 𝐢𝐴 –
𝐾𝐢𝐴^2 . Tentukan konsentrasi CA pada saat steady state dengan
parameter harga V/F = 1/menit, CAF = 1 gmol/L dan K = 1 L/gmol menit
dengan menggunakan beberapa metode yaitu :
a.
NPM Genap : Metode Iterasi dan Metode Secant
b.
NPM Ganjil : Metode Newton Rhapson dan Metode Iterasi
Lengkap dengan algoritma, flowchart, listing program, dan hasil run
1. Pengertian, fungsi, perbedaan dan persamaan
a. Metode newton rhapson
Pada metode newton rhapson digunakan turunan pertama pada persamaan
untuk mencari akar-akar pesamaan. Metode ini menggunakan pendekatan
terhadap kurva f(x) dengan gradien pada suatu titik nilai awal dan nilai taksiran
selanjutnya adalah nilai yang didapat dari titik potong antara garis singgung
dengan sumbu x. Metode pendekatan ini digunakan untuk, menyelesaikan suatu
persamaan dengan menggunakan satu titik awal dan mendekatinya dengan
memperhatikan slope atau gradien pada titik tersebut. Pada metode ini, persamaan
awal diturunkan terlebih dahulu sebelum dioperasikan lebih lanjut.Untuk nilai
xi+1 pada metode newton rhapson diperoleh sebagai berikut :
f ' ( xi ) ο€½
f ( xi ) ο€­ 0
xi ο€­ xi 1
atau
xi 1 ο€½ xi ο€­
f ( xi )
f ' ( xi )
b. Metode secant
Pada metode secant merupakan metode perbaikan dari metode newton
rhapson yang menggunakan turunan persamaan untuk mencari nilai akar-akar
persamaan. Untuk itu pada metode secant digunakan nilai perkiraan x1 dan x2
untuk mencari nilai akar-akar persamaan. Tujuan metode secant adalah untuk
menyelesaikan masalah yang terdapat pada metode Newton-Raphson yang
terkadang sulit mendapatkan turunan pertama yaitu f‘(x). Fungsi metode secant
adalah untuk menaksirkan akar dengan menggunakan diferensi daripada turunan
untuk memperkirakan kemiringan/slope. Nilai xi+1 pada metode secant di
tentukan sebagai berikut :
xi+1 = xi -
𝑓(π‘₯𝑖 )(π‘₯𝑖 −π‘₯𝑖−1 )
𝑓(π‘₯𝑖 )−𝑓(π‘₯𝑖−1 )
c. Metode iterasi
Pada metode iterasi digunakan untuk mencari akar-akar persamaan dari
suatu persamaan. Persamaan tersebut dikembangkan dari fungsi f(x)=0 sehingga
parameter x di sisi kiri dari persamaan, yaitu xi+1 = g(x) kemudian nilai besar
kesalahan dapat dihitung sebagai berikut :
π‘₯𝑖+1 − π‘₯𝑖
Ι›a = |
π‘₯𝑖+1
| x 100%
Persamaan dari ketiga metode ini adalah digunakan untuk mencari nilai
akar dengan perkiraan nilai awal.
2. a Algoritma
1. Start
2. Menampilkan persamaan (n-((p+(g*x^2))*((k*m)-p*x^3)))/(((g+(k*p))(12*m*x^3)))
3. Menginput Jumlah Gelas (g), Jumlah Komputer (k), Jumlah Motor (m),
dan Jumlah Printer (p)
4. Menampilkan penjelasan N berfungsi sebagai nilai lem agar nilai x
(jumlah lem) dapat memenuhi
5. Menginput Jumlah NPM terbesar lalu menghitung nilai n dengan rumus
n/16
6. Menginput pilihan program
7. Jika pilihan 1 maka
ο‚·
Menginput persamaan (f) dan nilai x1 (x1)
ο‚·
Mensubstitusikan nilai x1 dan x2 ke persamaan dengan rumus
fx1=subs(f,x,x1) dan fxb=subs(fx,x,x1)
ο‚·
Mendiferensialkan persamaan dengan rumus fx=diff(f)
ο‚·
Menghitung nilai x3 dengan rumus x3=x1-(fx1/fxb) kemudian
mensubtitusikan ke persamaan dengan rumus fxt=subs(f,x,x3)
ο‚·
Nilai tol=0.01 dan i=1
οƒ˜ Untuk abs(fxt)>tol
o Nilai i=i+1, x1=x3
o Mensubstitusikan nilai x1 dan x2 ke persamaan dengan rumus
fx1=subs(f,x,x1), fxb=subs(fx,x,x1)
o Menghitung nilai x3 dengan rumus x3=x1-(fx1/fxb) kemudian
mensubstitusikan ke persamaan dengan rumus fxt=subs(f,x,x3)
o Menampilkan nilai iterasi (i), nilai x1 (x1), nilai x3 (x3), nilai fx1
(fx1) dan nilai fxt (fxt)
8. Jika pilihan 2 maka
ο‚·
Menginput persamaan (f), nilai x2 (x2), nilai x1 (x1) dan toleransi (E)
ο‚·
Mensubstitusikan nilai x1 dan x2 ke persamaan dengan rumus
f1=subs(f,x,x1) dan f2=subs(f,x,x2)
ο‚·
Menghitung nilai x3 dengan rumus x3=x2-((f2*(x2-x1))/(f2-f1)) dan
mensubstitusikan ke persamaan dengan rumus f3=subs(f,x,x3)
ο‚·
Nilai i=1
οƒ˜ Untuk abs(f3)>E
o Nilai i=1+1, x1=x2 x2=x3
o Mensubstitusikan nilai x1 dan x2 ke persamaan dengan rumus
f1=subs(f,x,x1) dan f2=subs(f,x,x2)
o Menghitung nilai x3 dengan rumus x3=x2-((f2*(x2-x1))/(f2-f1))
lalu mensubstitusikan ke persamaan dengan rumus
f3=subs(f,x,x3)
o Menampilkan nilai iterasi (i), nilai x1 (x1), nilai x2 (x2), nilai x3
(x3), nilai fx1 (f1), nilai fx2 (f2) dan nilai fx3 (f3)
9. Menampilkan kesimpulan kebutuhan lem (x3)
10. End
b. Flowchart
Start
Input
Jumlah Gelas (g), Jumlah
Komputer (k), Jumlah
Motor (m), Jumlah Printer
(p) dan jumlah NPM
terbesar (n)
Menghitung nilai n dengan rumus n=n/16
Input
Pilihan metode
NO
Newton Raphson
YES
YES
Input
Persamaan (f) dan nilai x1
(x1)
Input
persamaan (f), nilai x2
(x2), nilai x1 (x1) dan
toleransi (E)
Mensubstitusikan nilai x1 dan x2 ke
persamaan dengan rumus
fx1=subs(f,x,x1) dan fxb=subs(fx,x,x1)
Mendiferensialkan persamaan dengan
rumus fx=diff(f)
Menghitung nilai x3 dengan rumus
x3=x1-(fx1/fxb) kemudian
mensubtitusikan ke persamaan dengan
rumus fxt=subs(f,x,x3)
Mensubstitusikan nilai x1 dan x2 ke
persamaan dengan rumus
f1=subs(f,x,x1) dan f2=subs(f,x,x2)
Menghitung nilai x3 dengan rumus
x3=x2-((f2*(x2-x1))/(f2-f1)) dan
Mensubstitusikan ke persamaan dengan
rumus f3=subs(f,x,x3)
NO
While abs(fxt)>tol
NO
Secant
NO
While abs(f3)>E
YES
YES
Mensubstitusikan nilai x1 dan x2 ke
persamaan dengan rumus
fx1=subs(f,x,x1), fxb=subs(fx,x,x1)
Menghitung nilai x3 dengan rumus
x3=x1-(fx1/fxb) kemudian
mensubstitusikan ke persamaan dengan
rumus fxt=subs(f,x,x3)
Menampilkan nilai iterasi
(i), nilai x1 (x1), nilai x3
(x3), nilai fx1 (fx1) dan
nilai fxt (fxt)
Menampilkan kesimpulan
kebutuhan lem
End
Mensubstitusikan nilai x1 dan x2 ke
persamaan dengan rumus
f1=subs(f,x,x1) dan f2=subs(f,x,x2)
Menghitung nilai x3 dengan rumus
x3=x2-((f2*(x2-x1))/(f2-f1)) lalu
mensubstitusikan ke persamaan dengan
rumus f3=subs(f,x,x3)
Menampilkan nilai iterasi
(i), nilai x1 (x1), nilai x2
(x2), nilai x3 (x3), nilai
fx1 (f1), nilai fx2 (f2) dan
nilai fx3 (f3)
c. Listing Program
clear all;
clc;
syms x;
disp('===================================================
=======================');
disp('
Program Kebutuhan Lem Dhimas');
disp('===================================================
=======================');
disp('Persamaannya adalah (n-((p+(g*x^2))*((k*m)-p*x^3)))/(((g+(k*p))(12*m*x^3)))');
disp(' ');
disp('===================================================
=======================');
g=input('Jumlah Gelas = ');
k=input('Jumlah Komputer = ');
m=input('Jumlah Motor = ');
p=input('Jumlah Printer = ');
disp('===================================================
=======================');
disp('N berfungsi sebagai nilai lem agar nilai x (jumlah lem) dapat memenuhi
= ');
n=input('
Jumlah NPM terbesar = ');
n=n/16;
disp('===================================================
=======================');
disp(' ');
disp('1. Metode Newton Raphson');
disp('2. Metode Secant');
disp(' ');
a=input('Masukkan metode yang dipilih = ');
disp('===================================================
=======================');
disp(' ');
switch a
case 1
f=input('MASUKKAN PERSAMAAN = ');
x1=input('MASUKKAN NILAI Xi = ');
fx1=subs(f,x,x1);
fx=diff(f);
fxb=subs(fx,x,x1);
x3=x1-(fx1/fxb);
fxt=subs(f,x,x3);
tol=0.01;
i=1;
disp(' ');
disp('===================================================
=======================');
disp(' iterasi
Xi
Xi+1
fxi
fxi+1');
disp('===================================================
=======================');
fprintf('%7.0f %14.2f %12.2f %12.2f %13.2f\n',i,x1,x3,fx1,fxt);
while abs(fxt)>tol
i=i+1;
x1=x3;
fx1=subs(f,x,x1);
fxb=subs(fx,x,x1);
x3=x1-(fx1/fxb);
fxt=subs(f,x,x3);
fprintf('%7.0f %14.2f %12.2f %12.2f %13.2f\n',i,x1,x3,fx1,fxt);
end
disp('===================================================
=======================');
case 2
f=input('Masukkan Persamaan = ');
x1=input('Masukkan nilai x1 = ');
x2=input('Masukkan nilai x2 = ');
E=input('Toleransi = ');
f1=subs(f,x,x1);
f2=subs(f,x,x2);
x3=x2-((f2*(x2-x1))/(f2-f1));
f3=subs(f,x,x3);
i=1;
disp('===================================================
=======================');
fprintf('%3s%11s%10s%12s%12s%10s%13s\n','i','xi-1','xi','xi+1','f(xi1)','f(xi)','f(xi+1');
disp('===================================================
=======================');
while abs(f3)>E
i=1+1;
x1=x2;
f1=subs(f,x,x1);
x2=x3;
f2=subs(f,x,x2);
x3=x2-((f2*(x2-x1))/(f2-f1));
f3=subs(f,x,x3);
fprintf('%3.0f%11.2f%10.2f%12.2f%12.2f%10.2f%13.2f\n',i,x1,x2,x3,f1,f2,f
3);
end
disp('===================================================
=======================');
end
fprintf('Maka kebutuhan lem Dhimas adalah = %4.2f\n',x3);
d. Hasil Run
3. a Algoritma
1. Start
2. Memasukkan pilihan (pil)
3. Menggunakan kostanta b=1, CAF=1, K=1 dan I=0
4. Jika pilih 1 maka
ο‚·
Memilih meode secant
ο‚·
Memasukkan persamaan (f), nilai CA 1 (x1), nilai CA 2 (x2),
dan toleransi (tol)
ο‚·
Mensubstitusikan ke persamaan (f) menggunakan rumus
fx1=subs(x,CA,x1) dan fx2=subs(x,CA,x2)
οƒ˜ untuk abs(fx2)>=tol
o menghitung nilai x3 dengan rumus x3=x2-(fx2*(x2-x1)/(fx2fx1))
o Mensubstitusikan
nilai
x3
dalam
persamaan
menggunakan rumus fx3=subs(f,CA,x3)
o Nilai x1=x2, x2=x3, fx1=fx2, fx2=fx3, dan I=I+1
o Menampilkan hasil iterasi (I), nilai x1 (x1), nilai x2
(x2), nilai x3 (x3), niali f1 (fx1), nilai f2 (fx2), nilai f3
(fx3)
ο‚·
Menampilkan kesimpulan nilai konsentrasi CA pada kondisi
steady state (x3)
5. Jika pilih 2 maka
ο‚·
Memilih metode Iterasi
ο‚·
Memasukkan persamaan (f), nilai CA 1 (x1), dan toleransi
(tol)
ο‚·
Mensubstitusikan ke persamaan (f) menggunakan rumus
fx1=subs(x,CA,x1)
ο‚·
Menghitung persen kesalahan (Ks) dengan rumus Ks=abs(((fx1x1)/fx1)*100)
οƒ˜ Untuk Ks>=tol
o Mensubstitusikan ke persamaan (f) menggunakan
rumus fx1=subs(x,CA,x1)
o Menghitung persen kesalahan (Ks) dengan rumus
Ks=abs(((fx1-x1)/fx1)*100)
o Menampilkan hasil iterasi (I), nilai x1 (x1), nilai x2
(fx1)
o Nilai x1=x2 dan I=I+1
ο‚·
Menampilkan kesimpulan nilai konsentrasi CA pada kondisi
steady state (fx1)
6. Jika tidak kedunya maka menampilkan ERROR!
7. End
b.
Flowchart
START
Input
pilihan metode
perhitungan
(pil)
Process
b=1, CAF=1, K=1 dan
I=0
If
Pil==1
Output
meode
secant
Input
persamaan (f),
nilai CA 1 (x1),
nilai CA 2 (x2)
dan nilai Toleransi
(tol)
Process
fx1=subs(f,CA,x1)
dan
fx2=subs(f,CA,x2)
TIDAK
while
abs(fx2)>=tol
YA
Process
x3=x2-(fx2*(x2-x1)/(fx2-fx1)),
fx3=subs(f,CA,x3), x1=x2,
x2=x3, fx1=fx2, fx2=fx3, dan
I=I+1
Output
iterasi (I), nilai x1 (x1),
nilai x2 (x2), nilai x3
(x3), nilai f1 (fx1), nilai
f2 (fx2), nilai f3 (fx3)
Output
kesimpulan nilai
konsentrasi CA pada
kondisi steady state (x3)
a
b
a
b
If
pil==2
NO
YES
Output
metode
Iterasi
Input
persamaan (f),
nilai CA 1 (x1),
dan nilai
Toleransi (tol)
Process
fx1=subs(f,CA,x1)
dan Ks=abs(((fx1x1)/fx1)*100)
NO
while
Ks>=tol
YES
Process
fx1=subs(f,CA,x1)
dan Ks=abs(((fx1x1)/fx1)*100)
Output
iterasi (I), nilai x1
(x1), nilai f1 (fx1) dan
persen kesalahan (Ks)
Output
kesimpulan nilai
konsentrasi CA pada
kondisi steady state (fx1)
else
Output
ERROR!!
END
c.
Listing Program
clear all;
clc;
syms CA;
disp('**********************************************************
************');
disp('
==
PERSAMAAN REAKSI ORDE
==');
disp('
== METODE ITERASI DAN SECANT ==');
disp('**********************************************************
************');
disp('**********************************************************
************');
disp('
Pilihan Metode :');
disp('
1. Metode Secant');
disp('
2. Metode Iterasi');
disp('**********************************************************
************');
pil=input('Pilihan Metode : ');
disp(' ');
b=1;
CAF=1;
K=1;
I=0;
if pil==1
disp(' ');
disp('Metode Secant');
disp(' ');
f=input('Persamaan : ');
x1=input('Nilai CA 1 : ');
fx1=subs(f,CA,x1);
x2=input('Nilai CA 2 : ');
fx2=subs(f,CA,x2);
tol=input('Toleransi : ');
disp(' ');
disp('===================================================
======================================================='
);
disp('|| Iterasi || Xi-1
F(Xi+1)
|| Xi
|| Xi+1
|| F(Xi-1)
||
F(Xi)
||
||');
disp('===================================================
======================================================='
);
while abs(fx2)>=tol
x3=x2-(fx2*(x2-x1)/(fx2-fx1));
fx3=subs(f,CA,x3);
x1=x2;
x2=x3;
fx1=fx2;
fx2=fx3;
I=I+1;
fprintf('||%5.0f
||%9.4f ||%9.4f ||%9.4f ||%12.4f ||%13.5f ||%13.5f
||\n',I,x1,x2,x3,fx1,fx2,fx3);
end
disp(' ');
disp(sprintf('%2s%4.4f\n','Jadi Nilai Konsentrasi CA pada saat steady state
sebesar ',x3));
elseif pil==2
disp(' ');
disp('Metode Iterasi');
disp(' ');
f=input('Persamaan : ');
x1=input('Nilai CA 1 : ');
fx1=subs(f,CA,x1);
tol=input('Toleransi : ');
fx1=subs(f,CA,x1);
Ks=abs(((fx1-x1)/fx1)*100);
disp('===================================================
==');
disp('|| Iterasi || X1
|| X2
|| %Kesalahan ||');
disp('===================================================
==');
while Ks>=tol
fx1=subs(f,CA,x1);
Ks=abs(((fx1-x1)/fx1)*100);
fprintf('||%5.0f
||%9.4f ||%9.4f ||%9.4f ||\n',I,x1,fx1,Ks);
x1=fx1;
I=I+1;
end
disp(' ');
disp(sprintf('%2s%4.4f\n','Jadi Nilai Konsentrasi CA pada saat steady state
sebesar ',fx1));
else
disp('EROR!!');
end
d. Hasil Run
Download