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 : AKAR-AKAR PERSAMAAN, Paralel :D
METODE BISECTION DAN
METODE INTERPOLASI
Tanggal : 19 FEBRUARI 2019
Pembimbing : DR. T. IR. DYAH SUCI P., M.T. LAPORAN RESMI

SOAL
1. Jelaskan secara rinci perbedaan dari persamaan Akar-akar kuadrat, Metode
Bisection dan Interpolasi Linier (dalam bentuk tabel)!
2. Selesaikan persamaan berikut dengan metode bisection dan interpolasi linear
secara manual (3 iterasi) dan menggunakan aplikasi matlab (algoritma,
flowchart, listing, hasil run)!
4 x3 4
2 2 252
a. f ( x )= √ 81+ +16 x−x + x −¿12 (kelompok 1)
12 9
6 2 5 4 6
f ( x )= x + x + −5 x −30
b. 12 2 6 (kelompok 2)
10
56 5 28 4 2 3 3
c. f ( x )= x − x −x + x + 13 (kelompok 3)
4 7 9
9 4 39 3 5 2 −3
d. f ( x )= x + x +24− x −x −13 (kelompok 4)
8 3 2
−1
5 4 28 3 7 3
e. f ( x )= x + x +13− x2 − x 2 +12 (kelompok 5)
13 10 10 5
−1
2 7
f. f ( x )= x 4 −12 x 3 + x−2−8 x 3 −√3 125 (kelompok 6)
4 10
7 4 5 3 7 2 x −2
g. f ( x )= x − x + x +12 −8 x (kelompok 7)
4 10 10
3. Diketahui persamaan Van Der Waals sebagai berikut :
a
( P+
v2)( v −b )=RT

Dimana :
2 2 −1
27 R T c RTc
a=
64 Pc ( ) ( )
; b=
8 Pc
2
(kelompok 1-4)
R2 T 2c RTc
−1

a=4 /16 ( )
Pc
3
; b=
Pc
(kelompok 5-7)

Pv
Z=
RT
v=¿ Volume molar, L/mol
T =¿ suhu, K
R=¿ konstanta gas universal = 0.08206 atm.L/mol.K
T c =¿ suhu kritis, K (405.5 K untuk Amonia)
Pc =¿ tekanan kritis, atm (111.3 atm untuk Amonia)
Hitung volume molar dan faktor kompresibilitas(Z) untuk gas amonia
menggunakan persamaan keadaan Van Der Waals diatas, dengan ketentuan :
a. Kelompok 1&5 : kondisi tekanan 56 atm dan suhu 177oC
b. Kelompok 2&6 : kondisi tekanan 60 atm dan suhu 250oC
c. Kelompok 3&7 : kondisi tekanan 45 atm dan suhu 150oC
d. Kelompok 4: kondisi tekanan 65 atm dan suhu 275oC
(diselesaikan dengan metode bisection dan interpolasi linear pada aplikasi
Matlab beserta algoritma, flowchart, listing, dan hasil run).
Jawaban :
1. Perbedaan dan Persamaan Akar-akar kuadrat, Metode Bisection dan
Interpolasi Linier
A. Perbedaan Akar-akar kuadrat, Metode Bisection dan Interpolasi Linier
Metode Interpolasi
No Akar- Akar Kuadrat Metode Bisection
Linier
Rumus penyelesaiannya Rumus penyelesaiannya Rumus penyelesaiannya

Hanya dapat digunakan


Dapat digunakan untuk Dapat digunakan untuk
untuk menyelesaikan
persamaan polynomial persamaan polynomial
2 persamaan kuadrat saja,
dengan pangkat lebih dengan pangkat lebih dari
untuk pangkat yang
dari dua dua
lebih banyak tidak bisa
Nilai yang didapat lebih Nilai akar dari suatu
Nilai akar dari suatu fungsi
sederhana dibandingkan fungsi lebih lama
dapat lebih cepat diperoleh
3 dengan metode diperoleh daripada
daripada dengan metode
Bisection dan interpolasi dengan metode
Bisection
linier interpolasi linier
Grafiknya Grafiknya Grafiknya

4
B. Persamaan Akar-akar kuadrat, Metode Bisection dan Interpolasi Linier
Metode Interpolasi
No Akar- Akar Kuadrat Metode Bisection
Linier
1 Sama-sama termasuk dalam metode Numerik
2 Sama-sama memiliki nilai eksak
3 Sama-sama dibutuhkan nilai x1 dan x2
2. Menghitung Nilai Suatu Fungsi Persamaan
A. Metode bisection dan interpolasi linear secara manual (3 iterasi)
7 5 7
f ( x ) = x 4 - x 3 + x2 +12 x - 8x -2
4 10 10
a. Metode Bisection
Misalkan x1 = -1 dan x2 = 4 , maka :
Literasi 1
7 5 7
f ( -1 ) = (-1)4 - (-1)3 + (-1)2 +12(-1) - 8(-1)-2 = -4,9667
4 10 10
7 5 7
f ( 4) = (4)4 - ( 4 )3 + ( 4 )2 +12( 4 ) - 8 ( 4 )-2 = 21162,7
4 10 10
-1+4
xt = = 1,5
2
7 5 7
f ( 1,5 ) = (1,5)4 - ( 1,5 )3 + ( 1,5 )2 +12(1,5 ) - 8 ( 1,5 )-2
4 10 10
= 46,7605
Literasi 2
7 5 7
f ( -1 ) = (-1)4 - (-1)3 + (-1) 2 + 12(-1) - 8(-1)-2 = -4,9667
4 10 10
7 5 7
f ( 1,5 ) = (1,5)4 - ( 1,5 )3 + ( 1,5 )2 + 12(1,5 ) - 8 ( 1,5 )-2 = 46,7605
4 10 10
-1+1,5
xt = = 0,25
2
7 5 7
f ( 0,25 ) = (0,25)4 - ( 0,25 )3 + ( 0,25 )2 +12( 0,25) - 8 ( 0,25 )-2
4 10 10
= -126,0960
Literasi 3
7 5 7
f ( 0,25 ) = (0,25)4 - ( 0,25 )3 + ( 0,25 )2 + 12(0,25) - 8 ( 0,25 )-2 = -126,0960
4 10 10
7 5 7
f ( 1,5 ) = (1,5)4 - ( 1,5 )3 + ( 1,5 )2 +12( 1,5) - 8 ( 1,5 )-2 = 46,7605
4 10 10
0.25+1,5
xt = = 0,875
2
7 5 7
f ( 0,875 ) = (0,875)4 - ( 0,875 )3 + ( 0,875 )2 + 12(0,875) - 8 ( 0,875 )-2
4 10 10
= -0,4262
Literasi xi xi+1 xt f(xi) f(xi+1) f(xt)
1 -1 4 1,5 -4,9667 21162,7 46,7605
2 -1 1,5 0,25 -4,9667 46,7605 -126,0960
3 0,25 1,5 0,875 -126,0960 46,7605 -0,4262

b. Metode Interpoladi Linear


Misalkan x1 = -1 dan x2 = 4 , maka :
Literasi 1
7 5 7
f ( -1 ) = (-1) 4 - (-1)3 + (-1)2 + 12(-1) - 8(-1)-2 = -4,9667
4 10 10
7 5 7
f ( 4) = (4)4 - ( 4 )3 + ( 4 )2 + 12( 4) - 8 ( 4 )-2 = 21162,7
4 10 10
21162,7
xt = 4- (4- ( -1 ) ) = -0,9988
21162,7- ( -4,9667 )
7 5 7
f ( -0,9988 ) = (-0,9988)4 - ( -0,9988 )3 + ( -0,9988 )2 + 12(-0,9988 )
4 10 10
-2
- 8 ( -0,9988 ) = -4,9968
Literasi 2
7 5 7
f ( -0,9988 ) = (-0,9988) 4 - ( -0,9988 )3 + ( -0,9988 )2 + 12(-0,9988 )
4 10 10
- 8 ( -0,9988 )-2 = -4,9968
7 5 7
f ( 4) = (4)4 - ( 4 )3 + ( 4 )2 +12( 4 ) - 8 ( 4 )-2 = 21162,7
4 10 10
21162,7
xt = 4- (4- ( -4,9968 ) )= -0,9976
21162,7- ( -4,9968 )
7 5 7
f ( -0,9976 ) = (-0,9976)4 - ( -0,9976 )3 + ( -0,9976 )2 +12( -0,9976)
4 10 10
-2
- 8 ( -0,9976 ) = -5,0272
Literasi 3
7 5 7
f ( -0,9976 ) = (-0,9976)4 - ( -0,9976 )3 + ( -0,9976 )2 + 12( -0,9976)
4 10 10
-2
- 8 ( -0,9976 ) = -5,0272
7 5 7
f ( 4) = (4)4 - ( 4 )3 + ( 4 )2 + 12( 4) - 8 ( 4 )-2 = 21162,7
4 10 10
21162,7
xt = 4- (4- ( -5,0272 ) ) = -0,9965
21162,7- ( -5,0272 )
7 5 7
f ( -0,9965 ) = (-0,9965)4 - ( -0,9965 )3 + ( -0,9965 )2 + 12(-0,9965 )
4 10 10
- 8 ( -0,9965 )-2 = -5,0578
Literasi xi xi+1 xt f(xi) f(xi+1) f(xt)
1 -1 4 -0,9988 -4,9667 21162,7 -4,9968
2 -0,9988 4 -0,9976 -4,9968 21162,7 -5,0272
3 -0,9976 4 -0,9965 -5,0272 21162,7 -5,0578
B. Program Menghitung Nilai Suatu Fungsi Persamaan dengan Matlab
Algoritma
1. Memulai program
2. Memilih jenis perhitungan yang akan di gunakan
A. Metode Bisection
a. Input persamaan, x1, x2 dan toleransi
b. Menghitung eqx1, eqx2
c. Saat eqx1*eqx2 > 0, input x1 dan x2 kemudian menghitung eqx1 dan
eqx2
d. Menghitung nilai xt dan eqxt
e. Output x1, x2, xt, eqx1, eqx2, eqxt
f. Program akan mengulang sampai nilai eqxt lebih besar dibanding
toleransi serta terdapat dua pilihan,
1. Perkalian eqx1 dengan eqxt kurang dari nol, sehingga nilai x2 = xt
dan eqxt = eqx2
2. Selain itu, x1 = xt dan eqx1 = eqxt
g. Menghitung nilai xt dan eqxt dengan rumus xt=(x1+x2)/2
h. Output x1, x2, xt, eqx1, eqx2, eqxt
B. Metode Interpolasi Linier
a. Input persamaan, x1, x2 dan toleransi
b. Menghitung eqx1, eqx2
c. Saat eqx1*eqx2 > 0, input x1 dan x2 kemudian menghitung eqx1 dan
eqx2
d. Menghitung nilai xt dan eqxt
e. Output x1, x2, xt, eqx1, eqx2, eqxt
f. Program akan mengulang sampai nilai eqxt lebih besar dibanding
toleransi serta terdapat dua pilihan,
1. Perkalian eqx1 dengan eqxt kurang dari nol, sehingga nilai x2 = xt
dan eqxt = eqx2
2. Selain itu, x2 = x1, eqx2 = eqxt, x1 = xt dan eqx1 = eqxt
g. Menghitung nilai xt dan eqxt dengan rumus xt=x2-(eqx2/(eqx2-
eqx1))*(x2-x1)
h. Output x1, x2, xt, eqx1, eqx2, eqxt
4. Mengakhiri program
Flowchart

Start

Input pilihan
metode

No No
Bisection Interpolasi

Yes Yes
Input Input
persamaan, persamaan,
x1, x2 dan x1, x2 dan
toleransi toleransi

eqx1=subs(eq,x,x1) eqx1=subs(eq,x,x1)
eqx2=subs(eq,x,x2) eqx2=subs(eq,x,x2)

while while
(eqx1*eqx2)>0 (eqx1*eqx2)>0
No No
Yes Yes

Input nilai x1 Input nilai x1


dan x2 lain dan x2 lain

eqx1=subs(eq,x,x1); eqx1=subs(eq,x,x1);
eqx2=subs(eq,x,x2); eqx2=subs(eq,x,x2);

xt=x2-(fx2/(fx2-
xt=(x1+x2)/2
fx1))*(x2-x1);
eqxt=subs(eq,x,xt)
eqxt=subs(eq,x,xt)

Output nilai Output nilai


dari dari
x1,x2,xt,eqx1,e x1,x2,xt,eqx1,e
qx2,eqxt qx2,eqxt

A B C
A B C

No No
while while
abs(eqxt)>tol abs(eqxt)>tol

Yes Yes
x2=x1
No No
x1=xt eqx2=eqx1
if (eqx1*eqxt)<0 if (eqx1*eqxt)<0
eqx1=eqxt x1=xt
eqx1=eqxt
Yes Yes

x2=xt x2=xt
eqx2=eqxt eqx2=eqxt

xt=x2-(fx2/(fx2-
xt=(x1+x2)/2
fx1))*(x2-x1);
eqxt=subs(eq,x,xt)
eqxt=subs(eq,x,xt)

Output nilai Output nilai


dari dari
x1,x2,xt,eqx x1,x2,xt,eqx
1,eqx2,eqxt 1,eqx2,eqxt

End
Listing Program
Listing program
clear all;
clc;
syms x;
disp(' PERHITUNGAN NILAI SUATU FUNGSI');
disp('Dengan Metode Bisection dan Interpolasi');
disp('---------------------------------------------------------------------');
disp('1. Bisection');
disp('2. Linear Interpolation');
disp('---------------------------------------------------------------------');
ch=input('Pilih metode 1-2 = ');
switch ch
case 1
syms x;
disp('~~BISECTION~~');
eq=input('Masukkan persamaan = ');
x1=input('input X1 = ');
x2=input('input X2 = ');
tol=input('Toleration ? ');
eqx1=subs(eq,x,x1);
eqx2=subs(eq,x,x2);
while (eqx1*eqx2)>0
x1=input('input X1 lain = ');
x2=input('input X2 lain = ');
eqx1=subs(eq,x,x1);
eqx2=subs(eq,x,x2);
end
xt=(x1+x2)/2;
eqxt=subs(eq,x,xt);
disp('---------------------------------------------------------------------');
disp('No x1 x2 xt fx1 fx2 fxt');
disp('---------------------------------------------------------------------');
i=1;
fprintf('%1.0f %8.4f %8.4f %8.4f %10.4f %10.4f
%10.4f\n',i,x1,x2,xt,eqx1,eqx2,eqxt);
while (abs(eqxt))>tol
i=i+1;
if (eqx1*eqxt)<0
x2=xt;
eqx2=eqxt;
else x1=xt;
eqx1=eqxt;
end
xt=(x1+x2)/2;
eqxt=subs(eq,x,xt);
fprintf('%1.0f %8.4f %8.4f %8.4f %10.4f %10.4f
%10.4f\n',i,x1,x2,xt,eqx1,eqx2,eqxt);
end
disp(' ');
case 2
syms x;
e=2.71;
disp('~~LINEAR INTERPOLATION~~');
eq=input('Masukkan persamaan = ');
x1=input('input X1 = ');
x2=input('input X2 = ');
tol=input('Toleration ? ');
eqx1=subs(eq,x,x1);
eqx2=subs(eq,x,x2);
while (eqx1*eqx2)>0
x1=input('input X1 lain = ');
x2=input('input X2 lain = ');
eqx1=subs(eq,x,x1);
eqx2=subs(eq,x,x2);
end
xt=x2-(eqx2/(eqx2-eqx1))*(x2-x1);
eqxt=subs(eq,x,xt);
disp('---------------------------------------------------------------------');
disp('No x1 x2 xt fx1 fx2 fxt');
disp('---------------------------------------------------------------------');
i=1;
fprintf('%1.0f %8.4f %8.4f %8.4f %10.4f %10.4f
%10.4f\n',i,x1,x2,xt,eqx1,eqx2,eqxt);
while abs(eqxt)>=tol
i=i+1;
if (eqx1*eqxt)<0
x2=xt;
eqx2=eqxt;
else x2=x1;
eqx2=eqx1;
x1=xt;
eqx1=eqxt;
end
xt=x2-(eqx2/(eqx2-eqx1))*(x2-x1);
eqxt=subs(eq,x,xt);
fprintf('%1.0f %8.4f %8.4f %8.4f %10.4f %10.4f
%10.4f\n',i,x1,x2,xt,eqx1,eqx2,eqxt);
end
disp(' ');
end
Hasil Run “Program Perhitungan Nilai Suatu Fungsi Persamaan”
3. Program Perhitungan Volume Molar dan Faktor Kompresibilitas(Z)
Algoritma
1. Memulai program
2. Menginput fungsi persamaan. V1. V2 dan toleransi
3. Menginput pilihan metode, lalu diproses dengan pemilihan kondisi switch “i”
case
A. Metode Bisection
a. Apabila fv1*fv2 > 0, input v1 dan v2 lain kemudian menghitung fv1
dan fv2
b. Selain itu, menghitung nilai v3, fv3 dan Z
c. Memunculkan nilai dari vi, vi+1, vt, f(vi), f(vi+1), f(vt) dan Z
d. Program akan mengulang saat nilai fv3 lebih besar dibanding toleransi
serta terdapat dua pilihan,
1. Perkalian fv1 dengan fv3 kurang dari nol, sehingga nilai v2 = v3
dan fv2 = fv3
2. Selain itu, v1 = v3 dan fv1 = fv3
e. Menghitung nilai v3, fv3, Z dengan rumus v3=(v1+v2)/2
f. Memunculkan nilai dari vi, vi+1, vt, f(vi), f(vi+1), f(vt) dan Z
B. Metode Interpolasi Linear
a. Saat fv1*fv2 > 0, input v1 dan v2 lain kemudian menghitung fv1 dan
fv2
b. Menghitung nilai v3, fv3 dan Z
c. Memunculkan nilai dari vi, vi+1, vt, f(vi), f(vi+1), f(vt) dan Z
d. Program akan mengulang saat nilai fv3 lebih besar dibanding toleransi
serta terdapat dua pilihan,
1. Perkalian fv1 dengan fv3 kurang dari nol, sehingga nilai v2 = v3
dan fv2 = fv3
2. Selain itu, v1 = v3 dan fv1 = fv3
e. Menghitung nilai v3, fv3, Z dengan rumus v3=v2-(fv2/(fv2-fv1))*(v2-
v1)
f. Memunculkan nilai dari vi, vi+1, vt, f(vi), f(vi+1), f(vt) dan Z
4. Mengakhiri program.
Flowchart

Start

literasi=0
R=0.08206
Tc=405.5
Pc=111.3
P=45; T=150
a=(4/16)*((R^2*Tc^2)/
Pc)^(-1/3)
b=(R*Tc/Pc)

Input
persamaan,
nilai v1, v2
dan toleransi

fv1=subs(f,v,v1)
fv2=subs(f,v,v2)

Input pilihan
metode

No
No
Bisection Interpolasi

Yes Yes

while while
(fv1*fv2)>0 (fv1*fv2)>0
No No

Yes Yes

Input v1 dan Input v1 dan


v2 lain v2 lain

fv1=subs(f,v,v1); fv1=subs(f,v,v1);
fv2=subs(f,v,v2); fv2=subs(f,v,v2);

v3=(v1+v2)/2; v3=v2-(fv2*(v2-v1))/
fv3=subs(f,v,v3); (fv2-fv1);
Z=(P*v3)/(R*T); fv3=subs(f,v,v3);
Z=(P*v3)/(R*T);

Output nilai
dari v1, v2, v3, Output nilai
fv1, fv2, fv3, Z dari v1, v2, v3,
fv1, fv2, fv3, Z

A B C
A B C

No No
while abs(fv3)>t while abs(fv3)>t

Yes Yes

No No
v1=v3; v1=v3;
if (fv1*fv3)<0 if (fv1*fv3)<0
fv1=fv3 fv1=fv3

Yes Yes

v2=v3; v2=v3;
fv2=fv3; fv2=fv3;

v3=(v1+v2)/2 v3=v2-(fv2/(fv2-
fv3=subs(f,v,v3) fv1))*(v2-v1)
Z=(P*v3)/(R*T) fv3=subs(f,v,v3)
Z=(P*v3)/(R*T)

Output nilai
dari
Output nilai
v1,v2,v3,fv1,
dari
fv2,fv3
v1,v2,v3,fv1,
fv2,fv3

End
Listing Program
clear all; clc;
syms v
disp(' Persamaan Van Der Waals = ((P + (a/(v^2))(v-b)= RT ');
disp(' Dengan Metode Bisection dan Interpolasi ');
literasi=0;
R=0.08206;
Tc=405.5;
Pc=111.3;
P=45; T=150;
a=(4/16)*((R^2*Tc^2)/Pc)^(-1/3);
b=(R*Tc/Pc);
f=input('Masukkan Fungsi Persamaan = ');
v1=input('Masukkan Nilai v1 = ');
v2=input('Masukkan Nilai v2 = ');
t=input('Masukkan Nilai Toleransi = ');
fv1=subs(f,v,v1);
fv2=subs(f,v,v2);
disp('1. Metode Bisection');
disp('2. Metode Interpolasi Linear');
i=input('Masukkan Pilihan Metode Yang Anda Inginkan = ');
switch i
case 1
disp('1. Metode Bisection');
while (fv1*fv2)>0
v1=input('Masukkan Nilai v1 lain = ');
v2=input('Masukkan Nilai v2 lain = ');
fv1=subs(f,v,v1);
fv2=subs(f,v,v2);
end
v3=(v1+v2)/2;
fv3=subs(f,v,v3);
Z=(P*v3)/(R*T);
disp
('=========================================================
==================');
disp ('No. vi vi+1 vt f(vi) f(vi+1) f(vt) Z ');
disp
('=========================================================
==================');
fprintf('%.0f%10.4f%10.4f%10.4f%10.4f%12.4f%12.4f%10.4f\n', literasi,
v1, v2, v3, fv1, fv2, fv3, Z);
while abs(fv3)>t
literasi = literasi+1;
if (fv1*fv3)<0
v2=v3; fv2=fv3;
else
v1=v3; fv1=fv3;
end
v3=(v1+v2)/2;
fv3=subs(f,v,v3);
Z=(P*v3)/(R*T);
fprintf('%.0f%10.4f%10.4f%10.4f%10.4f%12.4f%12.4f%10.4f\n',
literasi, v1, v2, v3, fv1, fv2, fv3, Z);
end
case 2
e=2.71;
disp('2. Interpolasi Linear');
while (fv1*fv2)>0
v1=input('Masukkan Nilai v1 lain = ');
v2=input('Masukkan Nilai v2 lain = ');
fv1=subs(f,v,v1);
fv2=subs(f,v,v2);
end
v3=v2;
fv3=subs(f,v,v3);
Z=(P*v3)/(R*T);
disp
('=========================================================
=================');
disp ('No. vi vi+1 vt f(vi) f(vi+1) f(vt) Z ');
disp
('=========================================================
=================');
fprintf('%1g%10.4f%10.4f%10.4f%10.4f%12.4f%12.4f%10.4f\n', literasi,
v1, v2, v3, fv1, fv2, fv3, Z);
while abs(fv3)>t
literasi = literasi+1;
if (fv1*fv3)<0
v2=v3; fv2=fv3;
else
v2=v1; fv2=fv1;
v1=v3; fv1=fv3;
end
v3=v2-(fv2/(fv2-fv1))*(v2-v1);
fv3=subs(f,v,v3);
Z=(P*v3)/(R*T);
fprintf('%1g%10.4f%10.4f%10.4f%10.4f%12.4f%12.4f%10.4f\n',
literasi, v1, v2, v3, fv1, fv2, fv3, Z);
end
disp(' ');
end

Hasil Run “Mencari Volume Molar dan Faktor Kompresibilitas(Z)”

Anda mungkin juga menyukai