Anda di halaman 1dari 24

LABORATORIUM TEKNIK KIMIA

FAKULTAS TEKNIK & SAINS


UPN “VETERAN” JAWA TIMUR Nama : REYHAN FIRMANSYAH
NPM/Semester : 22031010095/IV
Praktikum : MATEMATIKA TEKNIK Sesi : B1
Percobaan : AKAR PERSAMAAN, BISECTION, Paralel : B
INTERPOLASI
Tanggal : 21 FEBRUARI 2024
Pembimbing : Ir. KETUT SUMADA, M.S. LAPORAN RESMI

SOAL
1. Jelaskan pengertian, tujuan, dan algoritma (langkah pengerjaan) dari metode
persamaan kuadrat, metode setengah interval (bisection), dan interpolasi linear.
Kemudian beri kesimpulan serta berikan alasan metode mana yang paling efektif
untuk digunakan!
2. Explain the derivation of the formula for the linear interpolation method! And
give examples of solving equations using this method! (perhitungan manual,
diketik menggunakan equation).
3. Sebuah reaksi orde dua terjadi dalam reactor model dinamik untuk isothermal dan
volume konstan dengan persamaan
dCA f f 2
= C AF − C A−K C A
dt v v

Tentukan konsentrasi (CA) pada steady state dengan parameter harga :


F
= (3 NPM Terakhir)/detik
V
𝐶𝐴𝑓 = 5 𝐺𝑚𝑜𝑙/𝐿
𝐾 = 1 /𝐺 𝑚𝑜𝑙 𝑚𝑒𝑛𝑖𝑡
4. Dalam suatu proses Teknik kimia, campuran karbon monoksida dan oksigen
mencapai kesetimbangan pada suhu 300K dan tekanan 5 atm. Reaksi teritisnya
adalah
CO + 0.5 O2 ➔CO2
Reaksi kimia yang terjadi sebenarnya terjadi dapat ditulis sebagai berikut :
CO + O2 ➔ XCO2 + (1+X)/2 O2 + (1+X)/2 CO2
Persamaan kesetimbangan kimia untuk menentukan fraksi mol CO yang tersisa
yaitu x, ditulis sebagai

1
1/ 2
(1−x)(3+ x)
Kp= , 0< X < 1
x (x +1)1/ 2 p1 /2

Kp=3,06 adalah ketetapan kesetimbangan untuk reaksi CO + 0.5 O2 pada 300K


dan P=5 atm. Tentukan nilai x dengan metode Bisection (NPM Ganjil) dan
metode Interpolasi Linear (NPM Genap).

2
Jawaban

1. Perbedaan antara metode Akar-akar Persamaan, Metode Bisection & Metode


Interpolasi.
Perbedaan Akar-akar persamaan Metode Metode Interpolasi
Bisection

Rumus −b ± √ b 2+ 4 ac x x 1+ x2 Xt = X2 +
x 12= t=¿ ¿
2a 2 f (x ¿¿ 2)
¿
f ( X ¿¿ 2)−f (X ¿¿ 1)¿ ¿
(X 2−X 1 )

Kelebihan 1. iterasi lebih sedikit lebih akurat lebih menghemat


disbanding metode dalam perolehan waktu karena bisa
bisection hasil akarnya lansung mencari nilai
2. -Lebih cepat x2
mendapatkan akar-
akar persamaan
Tahap
Pengerjaan 1. Mencari nilai 1. Mengambil 1. Mengambil nilai x1
diskriminan dari nilai x1 dan dan x2 secara acak
persamaan untuk x2 dengan 2. Mencari nilai f(x1)
menentukan jenis syarat dan f(x2)
akar-akarnya f(x1)*f(x2)<0 3. Masukkan pada
2. Saat d>0 maka akar- 2. Saat nilai rumus mencari x*
akar riil f(x1)*f(x3)<0 4. Pada Saat nilai
3. Saat d=0 maka akar- maka nilai x2 f(x1)*f(x3)<0 maka
akar rasional iterasi nilai x1 iterasi
4. Saat d<0 maka akar- selanjutnya selanjutnya adalah
akar imaginer adalah nilai nilai xt
xt begitupun
sebaliknya
3. Memasukkan
nilai x1 dan
x2 untuk
mencari xt
4. Mencari nilai

3
f(xt)

Kekuranga Sulit mendapatkan kurang efisien Kurang akuratnya


n
penyelesaian dengan dalam waktu koefisien yang

nilai eror sedikit karena diperoleh


pemenuhan
syarat dalam
mencari x1 dan
x2 pada awal
iterasi

Metode yang paling efektif adalah metode interpolasi linear karena pada metode
setengah interval atau bisection pengerjaannya kurang efektif. Pada metode bisection
membutuhkan langkah iterasi yang panjang. Pada metode interpolasi linear
konvergensinya sehingga lebih cepat mendapatkan nilai akarnya.

4
2. Sebagai ilustrasi pada metode interpolasi linear adalah sebagai berikut :

Sehingga persamaaannya dapat dituliskan menjadi :


f (x ¿¿ 1) x−x 1
f ( x )− ¿
f (X ¿¿ 2)−f (X ¿ ¿1)=¿ ¿ ¿ x2 −x1
Maka untuk mendapatkan nilai f(x) :
¿ (f (X ¿¿ 2)−f (X ¿ ¿1)¿( x−x 1 )) ¿
f (x ¿¿ 2)
X = X2 + ¿ (X 2−X 1 )
f ( X ¿¿ 2)−f (X ¿¿ 1)¿ ¿

5
Contoh soal :
3 2
3 x + 10 x +10 x−5
A. Algoritma
1. Mulai program
2. Mememasukkan nilai persamaan (pers), batas bawah (xb1), batas bawah
(xb2), dan Toleransi (T)
3. Memproses perhitungan persamaan
a. fxb1 = subs(pers, x, xb1)
b. fxb2 = subs(pers, x, xb2)
c. xs = xb2-(fxb2 / (fxb2 - fxb1)) * (xb2 - xb1)
d. fxs = subs(pers, x, xs)
4. Menampilkan nilai batas bawah (xb1), batas bawah (xb2), xs, fxb1,
fxb2, dan fxs
5. Melakukan perulangan (while abs(fxs) > T)
a. Pemilihan kondisi if
1) if (fxb1 * fxs) < 0, maka
a. xb1 = xs
b. fxb1 = fxs
2) Else
a. xb2 = xs
b. fxb2 = fxs
3) Memproses perhitungan
a. xs = xb2-(fxb2 / (fxb2 - fxb1)) * (xb2 - xb1)
b. fxs =subs(pers, x, xs)
4) Menampilkan nilai batas bawah (xb1), batas bawah (xb2), xs,
fxb1, fxb2, dan fxs
6. Program selesai

6
B. Flowchart

7
C. Listing
clear all;
clc;
syms x;
e = 2.71;
disp('---------------------------------------------------------------------------');
disp('Metode Interpolasi Linier');
pers = input('Masukkan persamaan = ');
xb1 = input('Masukkan batas bawah (X1) = ');
fxb1 = subs(pers, x, xb1);
xb2 = input('Masukkan batas atas (X2) = ');
T=input('toleransi= ');
fxb2 = subs(pers, x, xb2);
xs = xb2-(fxb2 / (fxb2 - fxb1)) * (xb2 - xb1);
fxs = subs(pers, x, xs);
disp('====================================================
======================');
disp(' x1 x2 xt f(x1) f(x2) f(xt)');
disp('====================================================
======================');
fprintf('%f\t%f\t%f\t%f\t%f\t%f\n', xb1, xb2, xs, fxb1, fxb2, fxs);
disp('====================================================
======================');
while abs(fxs) > T
if (fxb1 * fxs) < 0
xb1 = xs;
fxb1 = fxs;
else
xb2 = xs;
fxb2 = fxs;
end
xs = xb2-(fxb2 / (fxb2 - fxb1)) * (xb2 - xb1);

8
fxs = subs(pers, x, xs);
fprintf('%f\t%f\t%f\t%f\t%f\t%f\n', xb1, xb2, xs, fxb1, fxb2, fxs);
disp('====================================================
======================');
end

9
D. Hasil run

10
E. Perhitungan Manual
3x3+10x2+10x-5
Iterasi 1
X 1= 1
X2 = 3
3 2
f ( X 1 )=3 ( 1 ) +10 ( 1 ) + 10 (1 )−5=18

f ( X 1 )=3 ( 3 )3 +10 ( 3 )2 +10 ( 3 )−5=196


f (x ¿¿ 2)
Xt = X 2 + ¿ (X 2−X 1 )
f ( X ¿¿ 2)−f (X ¿¿ 1)¿ ¿
196
Xt =3− ( 3−1 )=0.79775 3
196−18
f ( X t ) =3 ( 0.797753 )3 +10 ( 0.797753 )2 +10 ( 0.797753 )−5=10.864716
Iterasi 2
X 1= 1
X 2 = 0.79775 3
3 2
f ( X 1 )=3 ( 1 ) +10 ( 1 ) + 10 (1 )−5=18

f ( X 2 )=3 ( 0.79775 3 )3 +10 ( 0.79775 3 )2 +10 ( 0.79775 3 )−5=10.864716


f (x ¿¿ 2)
Xt = X 2 - ¿ (X 2−X 1 )
f ( X ¿¿ 2)−f (X ¿¿ 1)¿ ¿
10.864716
f Xt =0.79775 3− ( 0.79775 3−1 )=¿ 0.489796
10.864716−18
f ( X t ) =3 ( 0.489796 )3 +10 ( 0.489796 )2 +10 ( 0.489796 )−5=2.649471
Iterasi 3
X 1= 1
X 2 = 0.489796
3 2
f ( X 1 )=3 ( 1 ) +10 ( 1 ) + 10 (1 )−5=18

f ( X 2 )=3 ( 0.489796 )3+ 10 ( 0.489796 )2 +10 ( 0.489796 )−5=2.649471


f (x ¿¿ 2)
Xt = X 2 + ¿ (X 2−X 1 )
f ( X ¿¿ 2)−f (X ¿¿ 1)¿ ¿
2.649471
Xt =0.489796+ ( 0.489796−1 )=0.401736
2.649471−18

11
3 2
f ( X t ) =3 ( 0.401736 ) +10 ( 0.401736 ) +10 ( 0.401736 )−5=0.825788

12
3. Perhitungan konsentrasi CA pada steady state
A. Algoritma
1. Mulai program
2. Mememasukkan nilai NPM (fv), batas bawah (X1), batas bawah (X2),
dan Toleransi (T)
3. Memproses perhitungan persamaan
a. fx1=subs(fca,ca,x1)
b. fx2=subs(fca,ca,x2)
c. xt=x2-((fx2/(fx2-fx1))*(x2-x1))
d. fxt=subs(fca,ca,xt)
4. Menampilkan nilai CA1,CA2,CA3,f(CA1),f(CA2),f(CA3)
5. Melakukan perulangan (while abs (fc)>tol)
a. Pemilihan kondisi if
1) If (fxt*fx1)<0, maka
a. x1=xt;
b. fx1=fxt;
2) Else
a. x2=xt
b. fx2=fxt
3) Memproses perhitungan
a. xt=x2-((fx2/(fx2-fx1))*(x2-x1))
b. fxt=subs(fca,ca,xt)
4) Menampilkan nilai CA1,CA2,CA3,f(CA1),f(CA2),f(CA3)
6. Program selesai

13
B. Flowchart

14
C. Listing
clc;
clear all;
syms x;
disp('================================================
======================================');
disp(' Interpolasi Linear ');
disp('================================================
======================================');
disp('persamaannnya adalah : dca/dt=(f/v)*caf*(f/v)*ca-k*ca^2');
disp('================================================
======================================');
syms ca;
fv=input('Masukkan 3 NPM terakhir = ');
caf=5;
k=1;
fca=(fv*caf)*(fv*ca)-(k*ca^2);
x1=input('Masukkan nilai ca1 perkiraan (X1) = ');
x2=input('Masukkan nilai ca2 perkiraan (X2) = ');
T=input('Masukkan Toleransi = ');
disp('================================================
======================================');
fx1=subs(fca,ca,x1);
fx2=subs(fca,ca,x2);
xt=x2-((fx2/(fx2-fx1))*(x2-x1));
fxt=subs(fca,ca,xt);
disp('================================================
======================================');
disp(' TABEL HASIL PERHITUNGAN
');
disp('================================================
======================================');

15
fprintf('%10s%15s%15s%15s%15s%15s\
n','CA1','CA2','CA3','f(CA1)','f(CA2)','f(CA3)');
fprintf('%11.2f%15.2f%15.2f%15.2f%15.2f%15.2f\
n',x1,x2,xt,fx1,fx2,fxt);
disp('================================================
======================================');
while abs(fxt)>T;
if (fx1*fxt)<0;
x1=xt;
fx1=fxt;
else
x2=xt;
fx2=fxt;
end;
xt=x2-((fx2/(fx2-fx1))*(x2-x1));
fxt=subs(fca,ca,xt);
fprintf('%11.2f%15.2f%15.2f%15.2f%15.2f%15.2f\
n',x1,x2,xt,fx1,fx2,fxt);
disp('================================================
======================================');
end;
D.

16
D. Hasil Run

17
.4. Menentukan nilai ketetapan kesetimbangan dengan metode bisection
A. Algoritma
1. Memulai program
2. Memasukkan nilai batas bawah (b1), nilai batas atas (b2) dan toleransi
(T)
3. Memproses perhitungan :
a. fb1=subs(pers,x,b1)
b. fb2=subs(pers,x,b2)
c. b3=(b1+b2)/2
d. fb3=subs(pers,x,b3)
4. Pemilihan kondisi if
a. If (fb1*fb2)>0
1) Memasukkan nilai batas bawah lain (b1) dan nilai batas atas lain
(b2)
2) Memproses perhitungan :
a. fb1=subs(pers,x,b1)
b. fb2=subs(pers,x,b2)
b. else
1) Memproses perhitungan :
a. b3=(b1+b2)/2
b. fb3=subs(pers,x,b3)
5. Menampilkan nilai dari jumlah iterasi (NO), batas awal (b1), batas atas
(b2), nilai tengah (b3), f(x1), f(x2), f(xt)
6. Menggunakan perulangan (while abs (fxt)>tol)
a. Memproses perhitungan :
1) NO=NO+1
b. if (fb1*fb3)<0
1) Memproses perhitungan :
a. b2=b3
b. fb2=fb3
c. else
1) Memproses perhitungan :

18
a. b1=b3
b. fb1=fb3
d. Memproses perhitungan :
a. b3=(b1+b2)/2;
b. fb3=subs(pers,x,b3);
7. Menampilkan nilai dari jumlah iterasi (NO), batas awal (b1), batas atas
(b2), nilai tengah (b3), f(x1), f(x2), f(xt)
8. Program selesai

19
B. Flowchart

20
C. Listing

21
clear all;
clc;
syms x;
disp('Metode Setengah Interval');
pers = ((1 - x)*sqrt(3 + x))/(x*sqrt(x + 1)*sqrt(5)) - 3.06;
b1=input('batas bawah (x1)=');
b2=input('batas atas (x2)=');
fb1=subs(pers,x,b1);
fb2=subs(pers,x,b2);
b3=(b1+b2)/2;
fb3=subs(pers,x,b3);
T=input('toleransi= ');
if(fb1*fb2)>0
b1=input(['masukkan nilai batas bawah lain=']);
b2=input(['masukkan nilai batas atas lain=']);
fb1=subs(pers,x,b1);
fb2=subs(pers,x,b2);
else
b3=(b1+b2)/2;
fb3=subs(pers,x,b3);
end
disp('---------------------------------------------------------------------------');
disp(['no x1 x2 xt f(x1) f(x2) f(xt) ']);
disp('---------------------------------------------------------------------------');
NO=1;
fprintf('%d\t%f\t%f\t%f\t%f\t%f\t%f\n', NO, b1, b2, b3, fb1, fb2, fb3);
disp('---------------------------------------------------------------------------');
while abs(fb3)>T
NO=NO+1;
if (fb1*fb3)<0
b2=b3;
fb2=fb3;

22
else
b1=b3;
fb1=fb3;
end
b3=(b1+b2)/2;
fb3=subs(pers,x,b3);
fprintf('%d\t%f\t%f\t%f\t%f\t%f\t%f\n', NO, b1, b2, b3, fb1, fb2, fb3);
disp('---------------------------------------------------------------------------');
end

23
D. Hasil Run

24

Anda mungkin juga menyukai