Anda di halaman 1dari 23

LABORATORIUM TEKNIK KIMIA

FAKULTAS TEKNIK
UPN “VETERAN” JAWA TIMUR Nama : RIVA MAULANA
NPM/Semester : 17031010154 / IV
Praktikum : MATEMATIKA TEKNIK Sesi : III
Percobaan : METODE NEWTON-RAPHSON, Paralel :D
METODE SECANT DAN
METODE ITERASI
Tanggal : 26 FEBRUARI 2019
Pembimbing : DR. T. IR. DYAH SUCI P., M.T. LAPORAN RESMI

SOAL
1. Jelaskan Pengertian, Tujuan, Manfaat, Perbedaan, Persamaan, dan
Algoritma Dari, Metode Newton Rhapson, Metode Secant, Dan Metode
Iterasi.
2. Selesaikanlah Persoalan Teknik Kimia Dibawah Ini Untuk Mencari Nilai
Suatu Variable Dengan Metode Numeric Menggunakan Program Matrix
Laboratory (MatLab)
a. Dalam Meneliti Derajat Pencampuran Dalam Suatu Tangki
Berpengaduk, Diperoleh Suatu Persamaan Sebagai Berikut :
−1

0,078125=2 x−2 x 2
( 1−e x ))
(
Dimana x Adalah Bilangan Disperse Tangki.
Tentukan Harga x Dengan Metode Newton Raphson Dan Metode
Secant Dengan Toleransi Sebesar 0,0001 !
Diberikan Harga Awal x = 0,005
Buatlah Program Metode Newton Rhapson dan Metode Secant
Dengan Matrix Laboratory (MatLab) Yang Terdiri Dari Listing
Program, Hasil Run, Dan Flowchart Dari Persamaan Berikut Ini!!
(Program Dijadikan Dalam 1 Program Pada MatLab, Dan Dapat
Diinputkan Untuk Dipilih) (Setiap Praktikan Harus Berbeda).
b. Reaksi Kesetimbangan
Dalam Suatu Proses Teknik Kimia, Campuran Karbon Monoksida
Dan Oksigen Mencapai Kesetimbangan Pada Suhu 300oK Dan
Tekanan 5 Atm. Reaksi Teiritisnya Adalah
CO + 1/2O2  CO2
Reaksi Kimia Yang Sebenarnya Terjadi Dapat Ditulis Sebagai
CO + O2  xCO2 + (1+X)/2 O2 + (1-X) CO2
Persamaan Kesetimbangan Kimia Untuk Menentukan Fraksi Mol
CO Yang Tersisa Yaitu X, Ditulis Sebagai
( 1−x ) (3+ x )1/ 2
Kp= , 0<X<1
x ( x +1)1/ 2 P1 /2
Yang dalam Hal Ini, Kp = 3.06 Adalah Ketetapan Kesetimbangan
Untuk Reaksi CO + ½ O2 Pada 300oK Dan P = 5 Atm. Tentukan
Nilai X Dengan Metode Newton Rhapson Dan Metode Secant. B
uatlah Program Dengan Matrix Laboratory (Matlab), Tulis
Algoritma, Flowchart, Listing Program, Dan Hasil Run.
c. Gas Nyata Tidak Dapat Dianggap Gas Ideal Pada Tekanan Tinggi.
Van Der Waals Dalam Desertasinya Mampu Menghitung Volume
Gas Nyata Dengan Persamaan Van Der Waals. Persamaan Van Der

a
Waals Adalah P+ ( V)( V −b )=R .T Dimana P Adalah Tekanan, R

Adalah Konstanta Gas Ideal, T Adalah Suhu, V Adalah Molar


Volume, a, b Adalah Konstanta Van Der Waals. Tentukan V Pada
Udara Dengan Tekanan 60 Atm Dan -100oC. (a = 1,33 Atm
Liter2/Gmol2, b = 0,0366 Liter/Gmol). Buatlah Program Dengan
Matrix Laboratory (Matlab), Tulis Algoritma, Flowchart, Listing
Program, Dan Hasil Run. Gunakan Metode Newton Rhapson Dan
Metode Secant
Jawaban :
1. Pengertian, Tujuan, Manfaat, Perbedaan, Persamaan, dan Algoritma dari
Metode Newton Rhapson, Metode Secant dan Metode Iterasi.Pengertian
a. Pengertian
Metode Newton-Raphson adalah metode pencarian akar suatu fungsi f(x)
dengan pendekatan satu titik, dimana fungsi f(x) mempunyai turunan. Metode ini
dianggap lebih mudah dari Metode Bagi-Dua (Bisection Method) karena metode
ini menggunakan pendekatan satu titik sebagai titik awal. Semakin dekat titik
awal yang kita pilih dengan akar sebenarnya, maka semakin cepat konvergen ke
akarnya.
Metode secant merupakan perbaikan dari metode regula-falsi dan newton
raphson dimana kemiringan dua titik dinyatakan sacara diskrit, dengan mengambil
bentuk garis lurus yang melalui satu titik.
Metode iterasi adalah suatu metode pencarian akar suatu fungsi f(x) secara
sederhana dengan menggunakan satu titik awal. Perlu diketahui bahwa fungsi f(x)
yang ingin dicari hampiran akarnya harus konvergen.
b. Tujuan dan Manfaat
A. Tujuan dari ketiga metode tersebut yaitu untuk mencari nilai-nilai akar
dari suatu persamaan
B. Manfaat dari ketiga metode tersebut yaitu agar dapat mendapatkan akar-
akar dari suatu persamaan
c. Perbedaan dan Persamaan
Metode Perbedaan Persamaan
Newton-  Diperlukan turunan pertama  Untuk mencari
Raphson (differensial pertama) dari suatu akar-akar dari
persamaan. suatu persamaan
 Nilai x1 harus dimisalkan
 Nilai x2 menggunakan rumus:
f ( xi)
Xi+1=xi –
f ' (xi)
Secant  Tidak perlu memakai turunan
pertama (differensial) dari suatu
persamaan.
 Nilai x1 dan x2 harus dimisalkan
dahulu.
 Lebih mudah dari Newton
 Untuk mencari x3 dengan rumus:
Xi+1= xi -¿ ¿
Iterasi  Tidak perlu memakai turunan
pertama suatu persamaan.
 Nilai x1 harus dimisalkan
 Terdapat perhitungan besarnya
kesalahan dengan rumus:

εa= | xi+1−xi
xi+1 |
x 100 %

d. Algoritma
A. Metode Newton-Raphson
1. Definisikan fungsi f(x) dan f1(x)
2. Tentukan toleransi error (e) dan iterasi maksimum (n)
3. Tentukan nilai pendekatan awal x0
4. Hitung f(x0) dan f1(x0 )
5. Untuk iterasi I = 1 s/d n atau |f(xi)| > e
a. Hitung f(xi) dan f1(xi)
f ( xi )
b. xi+1 = x i−
f 1 ( xi )
6. Akar persamaan adalah nilai xi yang terakhir diperoleh.
B. Metode Secant
1. Definisikan fungsi F(x)
2. Definisikan torelansi error (e) dan iterasi maksimum (n)
3. Masukkan dua nilai pendekatan awal yang di antaranya terdapat akar yaitu x0
dan x1, sebaiknya gunakan metode tabel atau grafis untuk menjamin titik
pendakatannya adalah titik pendekatan yang konvergensinya pada akar
persamaan yang diharapkan.
4. Hitung F(x0) dan F(x1) sebagai y0 dan y1
5. Untuk iterasi I = 1 s/d n atau |F(xi)|
x i−x i−1
a. xi+1 =xi – yi
y i− y i−1
b. Hitung yi+1 = F(xi+1)
6. Akar persamaan adalah nilai x yang terakhir.
C. Metode Iterasi
1. Definisikan fungsi F(x) dan g(x)
2. Definisikan torelansi error (e) dan iterasi maksimum (n)
3. Tentukan pendekatan awal x[0]
4. Untuk iterasi I = 1 s/d n atau |F(xi)| >= e
a. Xi = g(xi-1)
b. Hitung F(xi)
5. Akar persamaan adalah nilai x yang terakhir.
2. Program Derajat Pencampuran
A. Program Menghitung Nilai Suatu Fungsi Persamaan dengan Matlab
Algoritma
1. Memulai Program.
2. Program menampilkan macam metode pengerjaan:
1. Metode Newton-Raphson
2. Metode Secant
3. Input metode yang ingin digunakan.
A. Metode Newton-Raphson
1. Memproses rumus e=2.718.
2. Masukkan persamaan, batas awal (x1).
3. Program menghitung dengan rumus
f1=subs(f,x,x1);f2=diff(f);fr=subs(f2,x,x1);t=x1-(f1/fr);ft=subs(f,x,t);
4. Program akan menampilkan hasil perhitungan iterasi, x0, xa, fx0, fxa.
5. Program akan mengulang sampai nilai (t-x1)/t mendekati nilai toleransi.
6. Program memproses rumus x1=t; f1=subs(f,x,x1); fr=subs(f2,x,x1);
t=x1-(f1/fr); ft=subs(f,x,t);
7. Program akan menampilkan hasil perhitungan iterasi, x0, xa, fx0, fxa.
B. Metode Interpolasi Linier
1. Memproses rumus e=2.718.
2. Masukkan persamaan, batas atas dan bawah.
3. Program menghitung dengan rumus
f1=subs(f,x,x1);f2=subs(f,x,x2);x3=x2-((f2)*(x2-x1))/(f2-f1);
f3=subs(f,x,x3);
4. Program akan mengulang sampai nilai f3 mendekati nilai toleransi.
5. Program akan menampilkan hasil perhitungan iterasi, x1, x2, x3, fx1,
fx2, dan fx3.
6. Program akan memproses rumus. 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);
4. Program selesai.
Flowchart
START

Menampilkan macam metode


pengerjaan:
1. Metode Newton-Raphson
2. Metode Secant
Input metode yang ingin
digunakan

Masukkan
Yes Memproses
Case 1 persamaan, B
rumus e=2.718
batas awal (x1)

Menghitung dengan
Output hasil
rumus
perhitungan
B f1=subs(f,x,x1);f2=diff(
iterasi, x0,
f);fr=subs(f2,x,x1);t=x1
xa, fx0, fxa.
-(f1/fr);ft=subs(f,x,t);

while abs((t-
x1)/t)>tol

Yes
Rumus x1=t;
f1=subs(f,x,x1);
No fr=subs(f2,x,x1);
t=x1-(f1/fr);
ft=subs(f,x,t);

Output hasil
perhitungan
iterasi, x0, No
xa, fx0, fxa

Masukkan
Yes Memproses persamaan,
Case 2 D
rumus e=2.718 batas atas dan
bawah.

Menghitung dengan
rumus f1=subs(f,x,x1);
No D f2=subs(f,x,x2);x3=x2-
((f2)*(x2-x1))/(f2-f1);
f3=subs(f,x,x3);

A E C
A E C

while
abs(f3)>tol

Yes

Hasil
perhitungan
iterasi, x1, No
x2, x3, fx1,
fx2, dan fx3.

rumus. x1=x2;
f1=subs(f,x,x1);x2=x
3;f2=subs(f,x,x2);x3=
x2-(f2)*(x2-x1)/((f2)-
(f1));f3=subs(f,x,x3);

END
Listing Program
clear all;
clc;
syms x;
disp('Berikut adalah cara pengerjaan : ');
disp('1. Metode Newton-Raphson ');
disp('2. Metode Secant ');
m=input('Pilih Metode yang diingnkan : ');
switch m
case 1
disp(' METODE NEWTON-RAPHSON ');
e=2.718;
f=input('Masukkan persamaan :');
x1=input('Masukkan x1 :');
f1=subs(f,x,x1);
f2=diff(f);
fr=subs(f2,x,x1);
t=x1-(f1/fr);
ft=subs(f,x,t);
tol=0.0001;
i=1;
disp('--------------------------------------------------');
fprintf('%1s %8s %10s %10s %10s\n','i','x0','xa','fx0','fxa');
disp('--------------------------------------------------');
fprintf('%1.0f %10.4f %10.4f %10.4f %10.4f\n',i,x1,t,f1,ft);
while abs((t-x1)/t)>tol
i=i+1;
x1=t;
f1=subs(f,x,x1);
fr=subs(f2,x,x1);
t=x1-(f1/fr);
ft=subs(f,x,t);
fprintf('%1.0f %10.4f %10.4f %10.4f %10.4f\n',i,x1,t,f1,ft);
end
disp('--------------------------------------------------');
disp(sprintf('Akarnya adalah = %10.8f\n', x1))
case 2
disp(' METODE SECANT ');
e=2.718;
tol=0.0001;
f=input('Masukkan Persamaan:');
x1=input ('Masukkan x1 = ');
x2=input ('Masukkan x2 = ');
fx=inline(char(f));
x3=x2-(fx(x2))*(x2-x1)/(fx(x2)-fx(x1));
i=1;
disp('-----------------------------------------------------------------------------------');
fprintf('%1s%7s%10s%15s%15s%15s%15s\n','No','xi-1','xi','xi+1','f(xi-
1)','f(xi)','f(xi+1)');
disp('-----------------------------------------------------------------------------------');
while abs(fx(x3))>=tol
fprintf('%1.0f%10.4f%10.4f%15.4f%15.4f%15.4f
%15.4f\n',i,x1,x2,x3,fx(x1),fx(x2),fx(x3));
x1=x2;
x2=x3;
i=i+1;
x3=x2-(fx(x2))*(x2-x1)/(fx(x2)-fx(x1));
end
disp('-----------------------------------------------------------------------------------');
disp(sprintf('Akarnya adalah = %10.8f\n', x3))
end
Hasil Run “Program Derajat Pencampuran”
A. Metode Newton-Raphson

B. Metode Secant
B. Program Menghitung Nilai X pada Reaksi Kesetimbangan
Algoritma
A. Metode Newton-Raphson
1. Memulai Program
2. Input nilai p, Kp dan x0
3. Program akan mengulang sampai nilai (x0>=1)(x0(=0)
a. Saat nilai benar maka menginput nilai x0 yang lain
b. Saat nilai salah maka lanjut ke proses berikutnya
4. Menginput nilai e
5. Program memproses nilai w, f, w1, f1, xt, f2 dan i
6. Program akan menampilkan hasil perhitungan iterasi, x1, xt, f(xi) dan f(xt)
7. Program akan mengulang sampai nilai abs((xt-x0)/xt) >= e
a. Saat nilai benar maka :
1. Menampilkan nilai dari iterasi, x1, xt, f(xi) dan f(xt)
2. Memproses nilai I, x0, f, f1, xt dan f2
b. Saat nilai salah maka lanjut ke proses berikutnya
8. Program selesai.
B. Metode Secant
1. Memulai Program
2. Menginput v1, v2 dan toleransi
3. Program akan memproses dengan rumus f = inline('(60*v^2) -(((60*0.0366)
+ (0.08206*173))*v) + (1.33*v) - (1.33*0.0366)'), x3 = x2-(f(x2)) * (x2-x1) /
(f(x2) - f(x1))
4. Program akan mengulang sampai nilai abs(f(x3)) >= E
a. Saat nilai benar maka :
1. Memproses nilai x3, x1 dan x2
2. Menampilkan nilai dari x1, x2, x3, f(x1), f(x2) dan f(x3)
b. Saat nilai salah maka lanjut ke proses berikutnya
5. Program selesai.
Flowchart
A. Metode Newton-Raphson

Start

Input nilai x0

While (x0>=1)(x0(=0)

Yes No

Input nilai x0 yang


lain

Input nilai e

Persamaan w, rumus f, w1,


f1, xt, f2, dan i

Output iterasi, x1,


xt, f(xi), f(xt)

While
abs((xt-x0)/xt)>=e

Yes
No
Output iterasi, x1,
xt, f(xi), f(xt)

Rumus I, x0,f, f1,xt, f2

End
B. Metode Secant

Start

Input x1, x2
dan toleransi

f=inline('(60*v^2)-
(((60*0.0366)+(0.08206*173))*
v)+(1.33*v)-(1.33*0.0366)')
x3=x2-(f(x2))*(x2-x1)/(f(x2)-
f(x1));

while abs(f(x3))>=E
No
Yes

x3=x2-f(x2)*(x2-
x1)/(f(x2)-f(x1))
x1=x2
x2=x3
x3=x2-(f(x2))*(x2-
x1)/(f(x2)-f(x1))

Output nilai dari


x1,x2,x3,f(x1),f(x
2),f(x3)

End
Listing Program
A. Metode Newton-Raphson
clc;
syms x;
disp(' METODE NEWTON RAPHSON');
disp('======================================================
=');
x0=input('Masukkan nilai x0 : ');
while (x0>=1)|(x0<=0)
x0=input('Masukkan x0 lain : ');
end
e=input('masukkan nilai toleransi : ');
w=(((1-x)*((3+x)^(1/2)))/(x*((x+1)^(1/2))*(5^(1/2))))/3.06;
f=subs(w,x,x0); w1=diff(w);
f1=subs(w1,x,x0);
xt=x0-(f/f1);
f2=subs(w,x,xt); i=1;
disp(' ')
disp('=====================================================');
fprintf('|%8s%8s%10s%12s%11s |\n','Iterasi','x1','xt','f(xi)','f(xt)');
disp('|====================================================|');
while abs((xt-x0)/xt)>=e
fprintf('|%5.0f%13.4f%10.4f%11.4f%11.4f |\n',i,x0,xt,f,f2);
i=i+1; x0=xt; f=subs(w,x,x0);
f1=subs(w1,x,x0);
xt=x0-(f/f1);
f2=subs(w,x,xt);
end
disp('=====================================================');
fprintf('Akarnya adalah = %6.4f\n', xt);
B. Metode Secant
clc;
clear all;
syms x;
disp('====================================================');
disp(' ~~~~~~ METODE SECANT ~~~~~~ ');
disp('====================================================');
disp('');
x1=input ('Masukkan x1 : ');
x2=input ('Masukkan x2 : ');
E=input('Masukkan nilai toleransi : ');
f=inline('(((1-x)*((3+x)^(1/2)))/(x*((x+1)^(1/2))*(5^(1/2))))/3.06');
x3=x2-(f(x2))*(x2-x1)/(f(x2)-f(x1));
i=1;
disp('-----------------------------------------------------------------------------------');
fprintf('%3s %10s %10s %10s %12s %12s
%12s\n','No','v1','v2','vt','f(v1)','f(v2)','f(vt)');
disp('-----------------------------------------------------------------------------------');
while abs(f(x3))>=E
fprintf('%3.0f %10.5f %10.5f %10.5f %12.5f %12.5f
%12.5f\n',i,x1,x2,x3,f(x1),f(x2),f(x3));
x1=x2;
x2=x3;
i=i+1;
x3=x2-(f(x2))*(x2-x1)/(f(x2)-f(x1));
end
disp('-----------------------------------------------------------------------------------');
fprintf('Akarnya adalah = %6.4f\n', x2);
Hasil Run “Program Menghitung Nilai X pada Reaksi Kesetimbangan”
A. Metode Newton Rhapson

B. Metode Secant

C. Program Menghitung Volume Molar


Algoritma
1. Memulai Program
2. Menampilkan lalu menginput pilihan metode perhitungan
3. Program akan memproses pemilihan kondisi switch “m” case 1 dan 2
A. Apabila menginput 1 maka diproses dengan metode Newton-Raphson
1. Menginput persamaan, v1 dan toleransi
2. Memproses nilai f1, fi, f2, v2 dan y
3. Program akan mengulang sampai nilai abs(y) > e
a. Saat nilai benar maka :
1. Memproses nilai v1, f1, f2, v2 dan y
2. Menampilkan nilai dari v1, v2, f1, f2, dan persen kesalahan
b. Saat nilai salah maka lanjut ke proses berikutnya
B. Apabila menginput 2 maka diproses dengan metode Secant
1. Menginput v1, v2 dan toleransi
2. Program akan memproses dengan rumus f = inline('(60*v^2) -
(((60*0.0366) + (0.08206*173))*v) + (1.33*v) - (1.33*0.0366)'), x3 =
x2-(f(x2)) * (x2-x1) / (f(x2) - f(x1))
3. Program akan mengulang sampai nilai abs(f(x3)) >= E
c. Saat nilai benar maka :
3. Memproses nilai x3, x1 dan x2
4. Menampilkan nilai dari x1, x2, x3, f(x1), f(x2) dan f(x3)
d. Saat nilai salah maka lanjut ke proses berikutnya
4. Program selesai.
Flowchart

Start

Output dan
input dari
pilihan
metode
perhitungan

No No
Case 1 Case 2

Yes Yes

Input Input v1, v2


persamaan, dan
v1 dan toleransi
toleransi

f=inline('(60*v^2)-
f1=subs(f,v,v1) (((60*0.0366)+(0.08206*17
fi=diff(f) 3))*v)+(1.33*v)-
f2=subs(fi,v,v1) (1.33*0.0366)')
v2=(v1-(f1/f2)) x3=x2-(f(x2))*(x2-x1)/
y=((v2-v1)/v2) (f(x2)-f(x1));
y=(abs(y))*100

while
while abs(f(x3))>=E
abs(y)>e No
No Yes
Yes
x3=x2-f(x2)*(x2-
v1=v2 x1)/(f(x2)-f(x1))
f1=subs(f,v,v1) x1=x2
f2=subs(fi,v,v1) x2=x3
x3=x2-(f(x2))*(x2-
v2=(v1-(f1/f2))
y=((v2-v1)/v2) x1)/(f(x2)-f(x1))
y=(abs(y))*100

Output nilai Output nilai


dari dari
v1,v2,f1,f2 x1,x2,x3,f(x1)
dan persen ,f(x2),f(x3)
kesalahan

End
Listing Program
clear all;
clc;
syms v;
disp(' PROGRAM MENGHITUNG VOLUME MOLAR ');
disp('Metode Perhitungan : ');
disp('1. Metode Newton Raphson');
disp('2. Metode Secant ');
m=input('Pilih Metode Perhitungan : ');
switch m
case 1
disp('====================================================');
disp(' ~~~~~~ METODE NEWTON RAPHSON ~~~~~~ ');
disp('====================================================');
disp('');
disp(' vvvvv PERSAMAAN vvvvv');
disp('(60*v^2)-(((60*0.0366)+(0.08206*173))*v)+(1.33*v)-(1.33*0.0366)')
disp('====================================================');
f=input('Masukkan persamaan : ');
v1=input('Masukkan nilai v1 : ');
e=input('Masukkan nilai toleransi : ');
f1=subs(f,v,v1);
fi=diff(f);
f2=subs(fi,v,v1);
v2=(v1-(f1/f2));
y=((v2-v1)/v2);
y=(abs(y))*100;
disp('======================================================'
);
fprintf('%8s%10s%13s%12s%10s\n','v1','v','fv1','fv','e(%)');
disp('======================================================'
);
fprintf('%8.4f%10.4f%13.4f%12.4f%10.4f\n',v1,v2,f1,f2,y);
while abs(y)>e
v1=v2;
f1=subs(f,v,v1);
f2=subs(fi,v,v1);
v2=(v1-(f1/f2));
y=((v2-v1)/v2);
y=(abs(y))*100;
fprintf('%8.4f%10.4f%13.4f%12.4f%10.4f\n',v1,v2,f1,f2,y);
end
disp('======================================================'
);
fprintf('Akarnya adalah = %6.4f\n', v2);
case 2
disp('====================================================');
disp(' ~~~~~~ METODE SECANT ~~~~~~ ');
disp('====================================================');
disp('');
x1=input ('Masukkan V1 : ');
x2=input ('Masukkan V2 : ');
E=input('Masukkan nilai toleransi : ');
f=inline('(60*v^2)-(((60*0.0366)+(0.08206*173))*v)+(1.33*v)-(1.33*0.0366)');
x3=x2-(f(x2))*(x2-x1)/(f(x2)-f(x1));
i=1;
disp('-----------------------------------------------------------------------------------');
fprintf('%3s %10s %10s %10s %12s %12s
%12s\n','No','v1','v2','vt','f(v1)','f(v2)','f(vt)');
disp('-----------------------------------------------------------------------------------');
while abs(f(x3))>=E
fprintf('%3.0f %10.5f %10.5f %10.5f %12.5f %12.5f
%12.5f\n',i,x1,x2,x3,f(x1),f(x2),f(x3));
x1=x2;
x2=x3;
i=i+1;
x3=x2-(f(x2))*(x2-x1)/(f(x2)-f(x1));
end
disp('-----------------------------------------------------------------------------------');
fprintf('Akarnya adalah = %6.4f\n', x2);
end
Hasil Run “Program Menghitung Volume Molar”
A. Metode Newton-Raphson

B. Metode Secant

Anda mungkin juga menyukai