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
ε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
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 e
While
abs((xt-x0)/xt)>=e
Yes
No
Output iterasi, x1,
xt, f(xi), f(xt)
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))
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
Start
Output dan
input dari
pilihan
metode
perhitungan
No No
Case 1 Case 2
Yes Yes
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
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