You are on page 1of 41

Materi Coaching Matlab

Aplikasi Matlab pada Teknologi Proses
Disampaikan pada coaching Matlab STTN-BATAN Yogyakarta








Oleh
Gde Pandhe Wisnu Suyantara
visnhu.suyantara@gmail.com












Sekolah Tinggi Teknologi Nuklir
Badan Tenaga Nuklir Nasional
Yogyakarta
2011
Aplikasi Matlab pada Teknologi Proses 2011

i

Daftar Isi
Daftar Isi .................................................................................................................................. i
1. Review Tools Box pada Matlab ................................................................................ 1
2. Aplikasi Matlab pada Teknologi Proses .................................................................... 3
2.1. Waktu untuk mencapai ketinggian tertentu pada tangki bocor (integrasi numeris) ............................... 3
2.2. Waktu steady state tangki bocor (mencari nilai nol fungsi/root finding problems dan integrasi numeris)
.............................................................................................................................................................. 7
2.3. Kecepatan dan debit aliran cairan diantara dua tangki (root finding problems) ................................... 10
2.4. Pencampuran di dalam tangki dengan pemanas (penyelesaian persamaan diferensial ordiner simultan)
............................................................................................................................................................ 14
2.5. Distribusi suhu pada batang logam diantara dua dinding panas (penyelesaian persamaan diferensial
ordiner dengan permasalahan nilai batas, boundary value problem)................................................... 20
2.6. Pengeringan padatan silinder-penyelesaian persamaan diferensial parsial (PDP) ................................ 25
2.7. Penentuan order reaksi dan konstanta kecepatan reaksi...................................................................... 32
3. Latihan .................................................................................................................. 36
3.1. Penentuan dew point campuran .......................................................................................................... 36
3.2. Adsorpsi senyawa limbah ..................................................................................................................... 37
3.3. Reaktor tabung non-adiabatis dan non-isotermal (penyelesaian persamaan diferensial ordiner
simultan) ............................................................................................................................................. 37


Aplikasi Matlab pada Teknologi Proses 2011

1

1. Review Tools Box pada Matlab
Fungsi
Deskripsi
Optimasi dan root finding problem
Fminbnd
Minimasi fungsi nonlinear skalar pada batas-batas tertentu
Fminsearch
Minimasi fungsi nonlinear multidimensi tak berbatas dengan
menggunakan metode pencarian langsung Nelder-Mead
Fzero
Pencarian nilai-nilai pembuat nol fungsi
Integrasi Numerik

Quad
Integrasi numerik dengan metode berderajat rendah
Quadl
Integrasi numerik dengan metode berderajat lebih tinggi
Dblquad
Integrasi numerik untuk integral ganda
Triplequad
Integrasi numerik untuk integral tingkat tiga
Trapz
Integrasi numerik dengan metode trapezoidal
Plotting & Grafik
Ezplot
Menggambar grafik fungsi 2D
ezplot3
Menggambar grafik fungsi parametrik 3D
Ezpolar
Menggambar grafik fungsi polar
Ezcountour
Menggambar kontur
Ezcountourf
Menggambar kontur berisi
Ezmesh
Menggambar kurva permukaan 3D
Ezmeshc
Menggambar kurva permukaan dengan kontur
Ezsurf
Menggambar permukaan 3D berwarna
Ezsurfc
Menggmabar permukaan 3D dengan kontur
Fplot
Menggambar fungsi 2D
Solver untuk Persamaan Differensial (PD)
PD Ordiner dengan masalah initial value (nilai awal)
ode45
Menyelesaikan PDO non-stiff dengan metode berderajat menengah
ode23
Menyelesaikan PDO non-stiff dengan metode berderajat rendah
ode113
Menyelesaikan PDO non-stiff dengan metode berderajat yang
ditentukan
ode23t
Menyelesaikan PDO stiff dan persamaan aljabar diferensial
berindeks 1 dengan metode trapezoidal
ode15s
Menyelesaikan PDO stiff dan persamaan aljabar diferensial
berindeks 1 dengan metode berderajat yang ditentukan
ode23s
Menyelesaikan PD stiff dengan metode berderajat rendah
ode23tb
Menyelesaikan PD stiff dengan metode berderajat rendah
PD Ordiner dengan masalah boundary value (nilai batas)
Aplikasi Matlab pada Teknologi Proses 2011

2

bvp4c
Menyelesaikan PDO dengan BVP dua titik dengan collocation
PD Parsial 1D
pdepe
Menyelesaikan PD Parsial parabolic-eliptik dengan masalah nilai
awal
Fungsi-fungsi dasar
abs
Nilai absolut
cumprod
Produk kumulatif dari elemen-elemen
cumsum
Produk kumulatif dari penjumlahan elemen
cumtrapz
Kumulatif integrasi numerik dengan metode trapezoidal
max
Komponen terbesar
mean
Nilai rerata
median
Nilai tengah
min
Komponen terkecil
prod
Produk dari elemen-elemen
sort
Menyusun elemen-elemen array dengan urutan semakin naik atau
turun
std
Standar deviasi
sum
Jumlah dari elemen-elemen


Lebih lengkap lihat pada ketik help funfun dan help elfun pada command window
Aplikasi Matlab pada Teknologi Proses 2011

3

2. Aplikasi Matlab pada Teknologi Proses
2.1. Waktu untuk mencapai ketinggian tertentu pada tangki bocor (integrasi
numeris)
Suatu tangki kosong kemudian disi cairan A dengan debit Fin m
3
/jam. Pada saat yang
bersamaan bagian dasar tangki mengalami kebocoran sebesar d cm dengan kecepatan cairan
keluar sebesar v m/s yang merupakan fungsi dari tinggi cairan di dalam tangki (h). v sebagai
fungsi h dapat didekati dengan persamaan berikut :
(1.1)
Dengan g adalah percepatan gravitasi bumi yang besarnya 10 m/s
2
. Ingin diketahui berapa lama
waktu yang diperlukan agar tinggi cairan di dalam tangki mencapai 0,5 m ? Asumsikan bahwa
densitas cairan tidak mengalami perubahan.
Fin=15 m
3
/jam
Fout m
3
/jam
D= 3 m
d= 3 cm

Gambar 1. Sistem untuk kasus 1 dan kasus 2
Diketahui:
Dari neraca massa di dalam tangki diperoleh persamaan sebagai berikut :
(1.2)
dengan
; ;
Penyelesaian
Untuk mencari nilai t pada saat h tertentu dapat dilakukan dengan memodifikasi persamaan
neraca massa diatas menjadi:
(1.3)
Integrasi persamaan diatas dengan batas-batas sebagai berikut:
Aplikasi Matlab pada Teknologi Proses 2011

4

Pada saat t=0 maka h=0
Pada saat t=t maka h=0,5
Menghasilkan persamaan sebagai berikut :
(1.4)
Algoritma pemrogramannya adalah sebagai berikut:
Input Data
Fin, g, D, d,
h
Subroutine
function t=integ_fun(h)
Hitung A, A0, v, Fout, dan t
Perhitungan
Selesai
Mulai Perhitungan
integrasi integ_fun
t=quadl(@integ_fun,0,h)
t
h

Gambar 2. Algoritma program untuk kasus 1
Main program run_integ_fun
% Kasus 1
% Menghitung waktu pengisian tangki
% ==================================
clc
clear all

% definisi global variabel
% ==================================
global Fin D d g

% Input Data
% ==================================
Fin=15/3600; % m3/jam to m3/s
D=3; % m
d=3/100; % cm to m
g=10; % m/s2
Aplikasi Matlab pada Teknologi Proses 2011

5


% Batas integrasi
% ==================================
h=0.5;

% Integrasi numeris
% ==================================
t=quadl(@integ_fun,0,h)

% Tampilan dalam bentuk grafik
% ==================================
run_fun_ode

Subroutine integ_fun
function t=integ_fun(h)
global Fin D d g

A=pi*D^2/4;
A0=pi*d^2/4;
v=sqrt(2*g.*h);
Fout=A0*v;
t=A./(Fin-Fout);

Program menampilkan grafik run_fun_ode
% Kasus 1 & 2
% Menampilkan grafik h versus t
% ==================================

% Input Data
% ==================================
tf=12*3600; % jam to s

[ts,hs]=ode45(@fun_ode,[0,tf],[0]);
plot(t/3600,h,'o',ts/3600,hs)
xlabel('waktu, jam')
ylabel('tinggi cairan, m')
legend('hasil hitungan','Location','Best')

Subroutine fun_ode
function dhdt=fun_ode(t,h)
global Fin D d g

Aplikasi Matlab pada Teknologi Proses 2011

6

A=pi*D^2/4;
A0=pi*d^2/4;
v=sqrt(2*g.*h);
Fout=A0*v;
dhdt=(Fin-Fout)/A;

Hasil

Waktu yang diperlukan hingga tinggi cairan = 0,50 m adalah 0,38 jam

Gambar 3. Profil tinggi cairan terhadap waktu
Aplikasi Matlab pada Teknologi Proses 2011

7

2.2. Waktu steady state tangki bocor (mencari nilai nol fungsi/root finding
problems dan integrasi numeris)
Sama seperti pada Kasus 1, hanya saja ingin dicari berapa lama waktu yang diperlukan agar
kondisi di dalam tangki mencapai steady state (tinggi cairan didalam tangki tetap)?
Penyelesaian
Steady state digambarkan sebagai kondisi dimana tinggi cairan di dalam tangki tetap. Pada
gambar 3, kondisi steady tercapai pada saat dh/dt=0 sehingga dari persamaan (1.2)
(2.1)
Terlebih dahulu dicari berapa nilai h yang memenuhi persamaan (2.1). Kemudian nilai h yang
diperoleh digunakan sebagai kondisi batas atas persamaan (1.4) untuk mencari waktu yang
diperlukan mencapai ketinggian h steady state dengan cara yang sama seperti pada kasus 1.

Input Data
Fin, g, D, d
Hitung h pada saat dh/dt=0
sebagai nilai batas integrasi
h=fzero(@steady_state,h0)
Subroutine
function t=integ_fun(h)
Hitung A, A0, v, Fout, dan t
Perhitungan
Selesai
Mulai Perhitungan
integrasi integ_fun
t=quadl(@integ_fun,0,h)
t
h
h
f
Subroutine
function f=steady_state(h)
Hitung A, A0, v, Fout, dan f

Gambar 4. Algoritma program untuk kasus 2



Aplikasi Matlab pada Teknologi Proses 2011

8

Main program run_integ_fun_2
% Kasus 2
% Menghitung waktu steady state
% ==================================
clc
clear all

% definisi global variabel
% ==================================
global Fin D d g

% Input Data
% ==================================
Fin=15/3600; % m3/jam to m3/s
D=3; % m
d=3/100; % cm to m
g=10; % m/s2

% Menghitung batas integrasi
% ==================================
h=fzero(@steady_state,1);

% Integrasi numeris
% ==================================
t=quadl(@integ_fun,0,0.999*h)

% Tampilan dalam bentuk grafik
% ==================================
run_fun_ode

Subroutine steady_state
function f=steady_state(h)
global Fin D d g

A=pi*D^2/4;
A0=pi*d^2/4;
v=sqrt(2*g.*h);
Fout=A0*v;
f=A./(Fin-Fout);

Hasil
Waktu yang diperlukan hingga steady state adalah 10,81 jam (tinggi cairan = 1,74 m)
Aplikasi Matlab pada Teknologi Proses 2011

9


Gambar 5. Profil tinggi cairan terhadap waktu dan kondisi steady state
Aplikasi Matlab pada Teknologi Proses 2011

10

2.3. Kecepatan dan debit aliran cairan diantara dua tangki (root finding
problems)
1

1
2
z
1
z
2
v,Q
D, Le
Gambar 6. Sistem untuk kasus 3 : pengaliran cairan antara dua tangki
Suatu cairan akan dialirkan dari tangki 1 menuju tangki 2 melalui pipa dengan diameter D
dengan bantuan pompa. Panjang ekuivalen pipa, Le, diketahui. Karakteristik pompa sentrifugal
yang dipakai berupa hubungan antara head pompa (Hm, cm) dengan debit (Q, cm
3
/detik) dapat
didekati dengan persamaan :
(3.1)
Ingin dihitung kecepatan cairan di dalam pipa (v) dan debit aliran (Q)
Diketahui:
Persamaan Bernoulli
(3.2)
P
1
=P
2
=1 atm. Asumsi bahwa diameter tangki cukup besar sehingga v
1
dan v
2
dapat dianggap nol,
maka persamaan tersebut menjadi :
(3.3)


1
W.B. Sediawan dan A. Prasetya, 1997,”Pemodelan Matematis dan Penyelesaian Numeris dalam Teknik Kimia”,
hal.115-117, Penerbit Andi : Yogyakarta.
Aplikasi Matlab pada Teknologi Proses 2011

11

Dengan :
(3.4)
(3.5)
(3.6)
(3.7)
Sedangkan debit aliran dapat dihitung dengan persamaan berikut:
(3.8)
Diketahui harga-harga:
ρ=1 g/cm
3
; µ=0,01 g/cm/s; g=981 cm/s
2
; z1=300 cm; z2=800 cm; D=4 cm; Le=20000 cm.
Objective function
(3.9)
Penyelesaian
Harga v dapat ditentukan melalui prosedur trial and error (coba-coba) dengan memasukkan nilai
v ke dalam persamaan f
obj
diatas hingga diperoleh nilai f
obj
(v)=0
Algoritma perhitungan dan programnya pada gambar 7
Main program pump1
% Kasus 3
% Menghitung v dan Q pada pengaliran cairan
% ================================================
clc
clear

% Definisi global variabel
% ================================================
global g Z1 Z2 Le rho miu D

% Input data
% ================================================
g=981; % cm/s2
Le=20000; % cm
Z1=300; % cm
Aplikasi Matlab pada Teknologi Proses 2011

12

Z2=800; % cm
rho=1; % g/cm3
miu=0.01; % g/cm/s
D=4; % cm

%Nilai v trial awal
% ================================================
v0=200;

% Mencari nilai nol dari fungsi tujuan
% (objective function)
% ================================================
v=fzero(@obj_fun,v0);

% Hitung debit aliran
% ================================================
Q=pi/4*D^2*v;

% Tampilkan hasil
% ================================================
fprintf(' kecepatan cairan (v) = %6.4f cm/s \n',v)
fprintf(' debit cairan (Q) = %6.4f cm3/s \n',Q)
Subroutine obj_fun
function fobj=obj_fun(v)
global g Z1 Z2 Le rho miu D

Q=pi/4*D^2*v;
Hm=3718.5-2.3496*Q+7.8474e-4*Q^2-9.5812e-8*Q^3;
Re=rho*v*D/miu;
f=0.0596./Re.^0.215;

F=f*Le*v^2/2/g/D;
W=-Hm;
fobj=Z1-Z2-F-W;

Hasil
kecepatan cairan (v) = 227.6735 cm/s
debit cairan (Q) = 2861.0300 cm3/s

Aplikasi Matlab pada Teknologi Proses 2011

13

Mulai perhitungan
Input data
µ, ρ, g, z
1
,
z
2
, D, Le
Masukkan nilai
v
trial
Hitung Q=f(v
trial
)
Hitung Hm=f(Q)
Hitung Re=f(v)
Hitung f=f(Re)
Hitung v
hitung
=f(Hm,f,v
trial
)
v
hitung
=v
trial
?
Perhitungan
selesai
Ya
Tidak
coba nilai v baru
Mulai perhitungan
Input data
µ, ρ, g, z
1
,
z
2
, D, Le,
v
trial
Hitung v
v=fzero(@obj_fun,v
trial
)
Hitung Q=f(v)
Perhitungan
selesai
Subroutine
function fobj=obj_fun(v)
Hitung Q=f(v
trial
)
Hitung Hm=f(Q)
Hitung Re=f(v)
Hitung f=f(Re)
Hitung fobj(v)
Langkah Perhitungan Manual Algoritma Program

Gambar 7. Algoritma perhitungan dan pemrograman kasus 3
Aplikasi Matlab pada Teknologi Proses 2011

14

2.4. Pencampuran di dalam tangki dengan pemanas (penyelesaian
persamaan diferensial ordiner simultan)

C
1
,kg/m
3
Fv
1
, m
3
/jam
T
1
,
o
C
Cp
1
, J/kg/
o
C
Fs, kg/jam
Ts,
o
C
C
2
,kg/m
3
Fv
2
, m
3
/jam
T
2
,
o
C
Cp
2
, J/kg/
o
C
C,kg/m
3
Fv, m
3
/jam
T,
o
C
Cp,J/kg/
o
C
Fs, kg/jam
Ts,
o
C
U, watt/m
2
/
o
C
A, m
2
C, kg/m
3
V, m
3

T,
o
C

Gambar 8. Sistem tangki pencampuran dengan pemanas
Sebuah tangki dilengkapi dengan pengaduk dan pemanas akan digunakan untuk mencampur
cairan B berkonsentrasi C
1
dan bersuhu T
1
dengan cairan B berkonsentrasi C
2
dan bersuhu T
2
.
Campuran keluar tangki dengan konsentrasi C dan suhu T. Untuk mencapai suhu T, fluida
pemanas sebanyak Fs dengan suhu Ts, dialirkan melalui koil pemanas yang sepenuhnya
terendam di dalam cairan B. Ingin diketahui bagaimanakah profil suhu dan konsentrasi terhadap
waktu jika tangki dioperasikan selama 3 jam. Diketahui mula-mula di dalam tangki ada sebanyak
V cairan A dengan suhu T
0
dan konsentrasi C
0
. Nilai kapasitas panas cairan dapat dianggap
tetap.
Diketahui:
C
1
= 10 kg/m
3
; C
2
= 2 kg/m
3
; C
0
= 8 kg/m
3
; T
1
= 35
o
C; T
2
= 95
o
C; Ts = 120
o
C; T
0
= 35
o
C; Fv1
= 5 m
3
/jam; Fv2 = 3 m
3
/jam; Fv= 5 m
3
/jam; Fs = 60 kg/jam; V =1 m
3
; U=15 watt/m
2
/
o
C ; A=25
m
2
; Cp=Cp
1
=Cp
2
= 3 J/kg/
o
C


Aplikasi Matlab pada Teknologi Proses 2011

15

Neraca massa total
kecepatan massa masuk- kecepatan massa keluar = kecepatan massa terakumulasi
(4.1)
Jika densitas cairan dapat dianggap konstan maka persamaan tersebut menjadi:

(4.2)
Kondisi awal:
Pada t=0 maka V=V (4.3)
Neraca massa komponen
kecepatan B masuk- kecepatan B keluar = kecepatan B terakumulasi
(4.4)

(4.5)
Kondisi awal:
Pada t=0 maka C=C
0
(4.6)
Neraca panas
kecepatan panas masuk - kecepatan panas keluar= kecepatan panas terakumulasi


(4.7)
Aplikasi Matlab pada Teknologi Proses 2011

16

Kondisi batas:
Pada t=0 maka T=T
0
(4.8)
Penyelesaian
Diperoleh persamaan diferensial ordiner simultan dengan permasalahan kondisi awal sebagai
berikut:



Kondisi awal
Pada t=0 maka V=V;C=C
0
,T=T
0

Untuk menyelesaikan ketiga persamaan tersebut secara simultan maka dapat digunakan metode
Runge-Kutta. Di dalam toolbox Matlab, metode ini digunakan dalam ode45. Sintaks ode45
adalah sebagai berikut :
[t,Y] = ode45(odefun,tspan,y0)
[t,Y] = ode45(odefun,tspan,y0,options)
[t,Y,TE,YE,IE] = ode45(odefun,tspan,y0,options)
sol = ode45(odefun,[t0 tf],y0...)

Algoritma pemrograman penyelesaian permasalahan ini diberikan pada gambar 9.
Main program mix_heat
% Kasus 4
% Pencampuran cairan dalam tangki berpengaduk dengan koil pemanas
% ===============================================================

% definisi global variabel
% ===============================================================
global Fv1 Fv2 Fv C1 C2
global T1 T2 Ts Tref U A Cp

% input data
% ===============================================================
Aplikasi Matlab pada Teknologi Proses 2011

17

C1 = 10; % kg/m3
C2 = 2; % kg/m3
C0 = 8; % kg/m3
T1 = 35+273; % C
T2 = 95+273; % C
Ts = 120+273; % C
T0 = 35+273; % C
Fv1 = 5; % m3/jam
Fv2 = 3; % m3/jam
Fv= 5; % m3/jam
Fs = 60; % kg/jam
V = 1; % m3
U = 15; % watt/m2/C
A = 25; % m2
Cp = 3; % J/kg/C

tf=3; % jam
Tref=298; % K

% menyelesaian ode simultan dengan ode45
% ===============================================================
[t,Y]=ode45(@mix_heat_ode_fun,[0,tf],[V,C0,T0]);

% menampilkan hasil perhitungan dalam bentuk grafik
% ===============================================================
figure(1) % menampilkan volum & konsentrasi cairan terhadap waktu
[AX,H1,H2]=plotyy(t,Y(:,1),t,Y(:,2))
set(get(AX(1),'Ylabel'),'String','volum cairan di dalam tangki, m3')
set(get(AX(2),'Ylabel'),'String','konsentrasi cairan di dalam tangki, kg/m3')
xlabel('waktu, jam')


figure(2) % menampilkan profil suhu sepanjang waktu
plot(t,Y(:,3),'r')
xlabel('waktu, jam')
ylabel('Suhu, K')
legend('T','Location','Best')

subroutine mix_heat_ode_fun
function dYdt=mix_heat_ode_fun(t,Y)
global Fv1 Fv2 Fv C1 C2
global T1 T2 Ts Tref U A Cp

V=Y(1);
C=Y(2);
T=Y(3);

Aplikasi Matlab pada Teknologi Proses 2011

18

dYdt=zeros(3,1);

dYdt(1)=(Fv1+Fv2-Fv);
dYdt(2)=(Fv1.*C1+Fv2.*C2-Fv.*C-C.*dYdt(1))./V;
dYdt(3)=(Fv1.*C1.*(T1-Tref)+Fv2.*C2.*(T2-Tref)+U.*A.*(Ts-T)./Cp...
-Fv.*C.*(T-Tref)-T.*(C.*dYdt(1)+V.*dYdt(2)))./V./C;


Input data
C
1
; C
2
; C
0
; T
1
; T
2
; Ts
; T
0
; Fv1 ; Fv2 ; Fv ; Fs
; V ; U; A ; Cp ; Cp
1
;
Cp
2
; tf ; Tref
Subroutine
function dYdt=mix_heat_ode_fun(t,Y)
dVdt=f(V)
dCdt=f(V,C)
dTdt=f(V,C,T)
dYdt=[dVdt;dCdt;dTdt]
Perhitungan ode simultan
[t,Y]=ode45(@mix_heat_ode_fun,[0,tf],[V,C0,T0])
Tampilkan hasil
perhitungan dalam
bentuk grafik
Mulai perhitungan
Perhitungan
selesai
t
Y=V,C0,T0
dYdt

Gambar 9. Algoritma program kasus 4

Aplikasi Matlab pada Teknologi Proses 2011

19

hasil

Gambar 10. Profil volum dan konsentrasi terhadap waktu

Gambar 11. Profil suhu terhadap waktu
Aplikasi Matlab pada Teknologi Proses 2011

20

2.5. Distribusi suhu pada batang logam diantara dua dinding panas
(penyelesaian persamaan diferensial ordiner dengan permasalahan
nilai batas, boundary value problem)

Suatu batang dengan panjang L dan diameter D, kedua ujungnya ditempelkan pada dinding
panas dengan suhu yang dijaga konstan masing-masing Ta dan Tb (gambar 12). Ingin diketahui
distribusi suhu pada batang logam sebagai fungsi panjang logam pada saat steady state.
Diketahui :
Konduktifitas panas logam (k) =0,2 cal/s/cm/
o
C
Koefisien perpindahan panas secara konveksi (h) =0,002 cal/s/cm
2
/
o
C
L=15 cm; D=1.5 cm
Ta=500
o
C
Tb=100
o
C
x x+Δx
x=0
x=L
Tu=35
o
C
q
konveksi
q
konveksi
q
konduksi
q
konduksi

Gambar 12. Batang logam diantara dua dinding bersuhu tetap
Neraca panas pada elemen volum = A.Δx
Kecepatan panas masuk – kecepatan panas keluar = kecepatan panas terakumulasi
q
konduksi
pada x- (q
konduksi
pada x+Δx + q
konveksi
) = 0
=0
Dengan: ;dan
A = luas perpindahan panas secara konduksi; A=
A’ = luas perpindahan panas secara konveksi
Aplikasi Matlab pada Teknologi Proses 2011

21


Persamaan tersebut diatur ulang dan dibagi dengan elemen volum serta diambil limit Δx


Karena nilai k tetap maka diperoleh PD ordiner order dua sebagai berikut:
(5.1)
dengan batas-batas:
pada x=0, T=Ta
pada x=L, T=Tb
Penyelesaian
Persamaan matematis yang diperoleh merupakan permasalahan PD ordiner dengan permasalahan
nilai batas. Matlab menyediakan tools berupa bvp4c untuk menyelesaikan permasalahan jenis
ini. Akan tetapi, bvp4c hanya dapat digunakan untuk menyelesaikan PD ordiner order satu
sehingga terlebih dahulu persamaan (5.1) dimanipulasi sedemikian sehingga menjadi PD ordiner
order 1 simultan.
Misalkan :

maka

Substitusi persamaan tersebut ke persamaan (5.1) menghasilkan PD ordiner simultan sebagai
berikut :
(5.2)
(5.3)
Aplikasi Matlab pada Teknologi Proses 2011

22

Sintaks dari bvp4c adalah sebagai berikut:
sol = bvp4c(odefun,bcfun,solinit)
sol = bvp4c(odefun,bcfun,solinit,options)
sol = bvp4c(odefun,bcfun,solinit,options,p1,p2...)

Algoritma pemrograman dengan Matlab diperlihatkan pada gambar 13.
Input data
Ta,Tb, Tu, h, k, L, D
Tentukan jumlah inkremen panjang (xint) serta nilai
tebakan penyelesaian PDO dengan permasalahan
nilai batas dalam solinit=bvpinit(xint,Y0)
Tampilkan hasil
perhitungan dalam
bentuk grafik
Mulai perhitungan
Perhitungan
selesai
Subroutine
function dy=ode_fun(x,y)
dTdx=f(y)
dydx=f(T)
dy=[dTdx;dydx]
Perhitungan numeris dengan bvp4c
sol = bvp4c(@ode_fun,@bc_fun,solinit)
x,y
dy
Subroutine
function bc_res=bc_fun(Ya,Yb)
Pada x=0, T=Ta
Pada x=L, T=Tb
Ya,Yb
bc_res
Ekstrak hasil hitungan sol dengan :
Yxint=deval(sol,xint)

Gambar 13. Algoritma kasus 5

Aplikasi Matlab pada Teknologi Proses 2011

23

Main program run_ode_bvp
% Kasus 5
% Distribusi suhu pada batang logam
% =================================

% definisi global variabel
% =================================
global Tu k D h
global Ta Tb

% Input data
% =================================
Ta=400; % deg C
Tb=100; % deg C
Tu=35; % deg C
k=0.2; % cal/s/cm/deg C
D=1.5; % cm
L=15; % cm
h=0.002; % cal/s/cm2/deg C

% Menentukan jumlah inkremen
% =================================
xint = linspace(0,L,20);

% Menentukan tebakan awal penyelesaian
% =====================================
solinit=bvpinit(xint,[0 1]);

% Penyelesaian PDO dengan BVP
% =================================
sol = bvp4c(@ode_fun,@bc_fun,solinit);

% Mengekstrak hasil penyelesaian
% =================================
Yint = deval(sol,xint);

% Menampilkan hasil perhitungan
% =================================
plot(xint,Yint(1,:))
xlabel('x, cm')
ylabel('T, \circ C')

subroutine ode_fun
function dy=ode_fun(X,Y)
global Tu k D h
dy=zeros(2,1);
Aplikasi Matlab pada Teknologi Proses 2011

24

dy(1)=Y(2);
dy(2)=4*h/k/D*(Y(1)-Tu);

subroutine bc_fun
function bc_res=bc_fun(Ya,Yb)
global Ta Tb
bc_res=[Ya(1)-Ta
Yb(1)-Tb];

Hasil

Gambar 14. Distribusi suhu pada batang logam
Aplikasi Matlab pada Teknologi Proses 2011

25

2.6. Pengeringan padatan silinder-penyelesaian persamaan diferensial
parsial (PDP)
2

Suatu padatan berbentuk silinder panjang, berjari-jari R, dengan kadar air mula-mula C
0

(g/cm
3
) dikeringkan dengan udara yang mengandung uap air sebesar y
ud
( g air/g udara).
Kesetimbangan H
2
O di fasa padat dan di udara dapat didekati dengan hokum Henry berbentuk
y=H.C (6.1)
Kecepatan perpindahan massa uap air dari permukaan padatan ke udara mengikuti
persamaan
(6.2)
Dengan y* adalah kadar H
2
O di udara setimbang dengan kadar H
2
O pada permukaan
silinder. Karena kadar air dalam silinder sudah cukup rendah, maka kecepatan difusi H
2
O dari
dalam silinder ke permukaan berpengaruh dan karena silinder sangat panjang (R<<L), maka
difusi H
2
O dianggap hanya kea rah radial. Ingin dicari kadar air dalam silinder (C) pada berbagai
posisi (r) dan waktu (t).
L
r
r+Δr
R
Δr
D

Gambar 15. Skema sistem pengeringan dan elemen volum pada silinder
Analisis matematis terhadap sistem pengeringan silinder menghasilkan sebuah PDP sebagai
berikut :

2
Soal diambil dari buku Pemodelan Matematis dan Penyelesaian Numeris dalam Teknik Kimia, hal.147, karya
W.B. Sediawan dan A. Prasetya dengan modifikasi.
Aplikasi Matlab pada Teknologi Proses 2011

26

(6.3)
3

dengan batas-batas sebagai berikut :
C(r,0)=C
0

C(0,t)=finite atau
C(R,t)=N
A
A=k
G
A(H.C-y
ud
)
A merupakan luas perpindahan transfer massa, A=
Nilai-nilai tetapan yang diketahui adalah sebagai berikut :
De=0,04 cm
2
/jam; k
G
=0,08 g/cm
2
/jam; H=0,2; R=0,2 cm; C0=0,2 g/cm
3
; y
ud
=0,002 g/g udara;
waktu pengeringan=25 jam ;L=10 cm;
Penyelesaian
Penyelesaian persamaan differensial parsial (PDP) tersebut secara numeris dapat dilakukan
dengan menggunakan metode implisit, eksplisit atau dengan metode Crank-Nicolson. Khusus
untuk penyelesaian numeris PDP parabolik dan elliptik dengan satu variabel bebas ruang (x) dan
satu variabel bebas waktu (t), Matlab menyediakan tools yang bernama pdepe untuk
menyelesaikan PDP tersebut. Secara umum untuk permasalahan nilai awal, sintaks yang dapat
digunakan adalah sebagai berikut :
sol = pdepe(m,pdefun,icfun,bcfun,xmesh,tspan)
sol = pdepe(m,pdefun,icfun,bcfun,xmesh,tspan,options)
sol = pdepe(m,pdefun,icfun,bcfun,xmesh,tspan,options,p1,p2...)

Algoritma penyelesaiannya disajikan pada gambar 16.

3
Penurunan persamaan dapat dilihat pada buku Pemodelan Matematis dan Penyelesaian Numeris dalam Teknik
Kimia, hal.147, karyaW.B. Sediawan dan A. Prasetya
Aplikasi Matlab pada Teknologi Proses 2011

27

Input data
De; k
G
; H; R; C
0
; y
ud
; t
0
;
tf; L
Tentukan jumlah inkremen radius (xmesh) serta
nilai kisaran untuk waktu (tspan). Masukan faktor
geometri (m)
Tampilkan hasil
perhitungan dalam
bentuk grafik
Mulai perhitungan
Perhitungan
selesai
Subroutine
function u0=icfun(x)
Perhitungan numeris dengan pdepe
sol=pdepe(m,@pdefun,@icfun,@bcfun,xmesh,tspan)
Subroutine
function [c,f,s]=pdefun(x,t,u,DuDx)
Subroutine
function [pl,ql,pr,qr]=bcfun(xl,ul,xr,ur,t)

Gambar 16. Algoritma pemrograman kasus 6
Untuk menggunakan pdepe, persamaan matematis yang diperoleh harus menyesuaikan dengan
kehendak dari bentuk umum persamaan yang digunakan pada pdepe yaitu:

Dengan kondisi batas yang berlaku : dan maka bentuk penulisan IC
adalah sebagai berikut

Untuk BC, bentuk persamaan yang dikehendaki adalah sebagai berikut :
Aplikasi Matlab pada Teknologi Proses 2011

28


Sehingga untuk menyelesaikan permasalahan pengeringan padatan silinder tersebut terlebih
dahulu PDP yang diperoleh dimodifikasi sedemikian rupa sehingga memenuhi format yang
diinginkan Matlab.
Modifikasi persamaan
PDP dari kasus:

Modifikasi persamaan tersebut adalah:

Bentuk Matlab:

Jika u=C, x=r maka nilai-nilai dari variable c, m, f dan s sebagai berikut:

m=1



Bentuk Matlab untuk kondisi awal (IC)

IC kasus : C(r,0)=C
0

jika t
0
=0 maka persamaan untuk IC adalah:
IC:
Aplikasi Matlab pada Teknologi Proses 2011

29

Bentuk Matlab untuk kondisi batas (BC)

BC pada r=0 kasus : C(0,t)=finite atau
Modifikasi BC
sehingga :
Maka persamaan BC untuk batas kiri (r = 0):



BC pada r=R kasus : C(R,t)=N
A
A=k
G
A(H.C-y
ud
)
Modifikasi BC
sehingga :
Maka persamaan BC untuk batas kanan (r=R):



Pemrograman dengan pdepe menggunakan sintaks berikut :
sol = pdepe(m,pdefun,icfun,bcfun,xmesh,tspan)
Untuk melengkapi sintaks tersebut diperlukan pdefun,icfun,bcfun,xmesh,tspan.
pdefun
function [c,f,s]=pdefun(x,t,u,DuDx)
global De
c=1/De;
f=DuDx;
s=0;

icfun
function u0=icfun(x)
global C0
u0=C0;
Aplikasi Matlab pada Teknologi Proses 2011

30


bcfun
function [pl,ql,pr,qr]=bcfun(xl,ul,xr,ur,t)
global kG H yud R L
NA=kG*(H*ur-yud)
A=2*pi*R*L
pl=0;
ql=1;
pr=ur-NA*A;
qr=0;

Sementara itu pada program pada main program adalah sebagai berikut
% Kasus 6
% Pengeringan padatan silinder
% ===============================

% Definisi variabel global
% ===============================
global De
global C0
global kG H yud R L

% Input data
% ===============================
De=0.04; % cm2/jam
KG=0.08; % g/cm2/jam
H=0.2; % tanpa satuan
Yud=0.002; % g/g udara
R=2; % cm
C0=0.2; % g/cm3
L=10; % cm
t0=0; % jam
tf=25; % jam

% Menentukan mesh dan tspan
% ===============================
xmesh=[0:0.2:R] % inkremen arah r
tspan=linspace(t0,tf,10); % jangkauan waktu

% definisi geometri
% ===============================
m=1;

Aplikasi Matlab pada Teknologi Proses 2011

31

% Menyelesikan pdepe
% ===============================
sol=pdepe(m,@pdefun1,@icfun1,@bcfun1,xmesh,tspan)

% Menampilkan hasil
% ===============================
surf(rmesh,tspan,sol)
xlabel('Radius batang, cm')
ylabel('waktu, jam')
zlabel('konsentrasi air, g/cm3')


Hasil


Gambar 17. Konsentrasi air pada padatan silinder sebagai fungsi waktu pengeringan dan radius
Aplikasi Matlab pada Teknologi Proses 2011

32

2.7. Penentuan order reaksi dan konstanta kecepatan reaksi
4


Reaksi isomerisasi tak dapat balik

Dijalankan dalam sebuah reactor batch dan diperoleh data konsentrasi tiap waktu sebagai
berikut:
t (men) 0 3 5 8 10 12 15 17.5
C
A
(mol/l) 4,0 2,89 2,25 1,45 1,0 0,65 0,25 0,07

Tentukan order reaksi terhadap A,α dan konstanta kecepatan reaksi, k!
Penyelesaian
C
A

Gambar 18. Skema reaktor batch
Asumsi bahwa data diperoleh pada kondisi isotermal dan volum cairan di dalam reactor tetap.
Dicoba model reaksi elementer sebagai berikut:
-r
A
= k.C
A
α
(7.1)
Neraca massa pada reactor batch:
kec. A masuk- kec.A keluar+ kec. A tergenerasi = kec. A terakumulasi


4
Fogler, H.S., 1999, “Elements of Chemical Reaction Engineering”, 3
rd
ed. p.270,Prentice Hall, Inc., Nw Jersey.
Aplikasi Matlab pada Teknologi Proses 2011

33

karena volum reaktor tetap maka persamaan tersebut menjadi :
(7.2)
Untuk menentukan nilai k dan α digunakan metode minimasi sum of squared errors (SSE) yang
didefinisikan sebagai:
(7.3)
Semakin kecil nilai SSE maka, semakin baik model tersebut mewakili data percobaan. C
model

diperoleh dari hasil penyelesaian persamaan (7.2) dengan mencoba-coba nilai k dan α agar
memberikan nilai C
model
yang sedekat mungkin dengan C
data
atau dengan kata lain nilai SSE
seminimum mungkin.
Karena fungsi yang akan diminimasi merupakan fungsi nonlinier maka pilihan tools pada Matlab
yang tersedia adalah fminbnd atau fminsearch. Oleh karena tidak ada indikasi nilai batas k
dan α yang memberikan nilai SSE minimum, maka fminsearch akan lebih tepat untuk
digunakan.
Algoritma program disajikan pada gambar 19.
Main Program data_reaktor
% Kasus 7 Penentuan order reaksi dan konstanta kecepatan reaksi
% =============================================================
clear
clc
clf
% Definisi global variabel
% =========================
global t C C_hit

% Input data percobaan
% =========================
t=[0 3 5 8 10 12 15 17.5];
C=[4.0 2.89 2.25 1.45 1.0 0.65 0.25 0.07];

% Nilai trial k dan alfa
% =========================
k0=[0.2,0.5]; % urutan nilai uji coba : k alfa

% Minimasi fungsi tujuan sse
% ===========================
[kons,var]=fminsearch(@hit_sse,k0);


% Tampilkan hasil dalam bentuk grafik
% ====================================
figure(1)
plot(t,C,'*',t',C_hit)
Aplikasi Matlab pada Teknologi Proses 2011

34

xlabel('Waktu reaksi, menit')
ylabel('Konsentrasi A, mol/l')
legend('Data','Model')

% Tampilkan hasil pada command window
% ====================================
fprintf('Nilai k =%6.4f \n',kons(1))
fprintf('Nilai a =%6.4f \n',kons(2))

Input data percobaan
Tentukan nilai trial awal untuk k dan α
Tampilkan hasil
perhitungan dalam
bentuk grafik
Mulai perhitungan
Perhitungan
selesai
Subroutine
function dCdt=ode_reaktor(t,C,kons)
dCdt=f(C)
Minimasi fungsi objektif SSE
kons_hit=fminsearch(@hit_sse,k0)
Subroutine
function fsse=hit_sse(kons)
Penyelesaian ode_reaktor
Hitung fsse

Gambar 19. Algoritma program untuk kasus 7

Subroutine hit_sse
function fsse=hit_sse(kons)
global t C C_hit residual
% Menyelesaikan PD ordiner untuk memperoleh nilai C model dengan ode45:
[thit,C_hit]=ode45(@ode_reaktor,t,C(1,1),[],kons);
% Hitung nilai residual:
residual=C_hit-C';
% Hitung fungsi tujuan:
fsse=sse(residual)/(length(t)-length(kons));

Aplikasi Matlab pada Teknologi Proses 2011

35

Subroutine ode_reaktor
function dCdt=ode_reaktor(t,C,kons)
dCdt=-kons(1).*C^kons(2);

Hasil
Nilai k =0.1991
Nilai α =0.5027

Gambar 20. Hasil fitting data dengan model

Aplikasi Matlab pada Teknologi Proses 2011

36

3. Latihan
3.1. Penentuan dew point campuran
5

Sistem campuran uap benzen (1) /toluen (2) dengan fraksi mol A (y
1
) = 0.33 didinginkan pada
tekanan tetap 120 kPa. Ingin dicari pada suhu berapa (
o
C) pengembunan terjadi dan komposisi
embunan yang terbentuk (x
i
) jika diketahui bahwa tekanan uap murni mengikuti persamaan
sebagai berikut:
(1.1)
Komponen
6
A B C
Benzen 13,8594 2773,78 220,07
Toluen 14,0098 3103,01 219,79
Petunjuk : kesetimbangan uap-cair mengikuti hokum Roult-Dalton
(1.2)
dengan x
i
adalah fraksi mol cairan i, P
i
o
adalah tekanan uap murni komponeni, y
i
adalah fraksi
mol uap i, dan P
T
adalah tekanan total system.
Persamaan yang diketahui :
Pada saat kesetimbangan terjadi maka
x
1
+x
2
=1 dan y
1
+y
2
=1
karena yang diamati adalah cairan maka digunakan persamaan:
f(T)=x
1
+x
2
-1 (1.3)
substitusi x
1
dan x
2
dari persamaan Roult-Dalton maka:
(1.4)

5
Smith,J.M., Van Ness, H.C., dan Abbott, M.M., 2001, “Introduction to Chemical Engineering Thermodynamics”,
edisi ke-6, hal. 361, McGraw-Hill : Singapore.
6
Tabel 10.2 pada “Introduction to Chemical Engineering Thermodynamics” karya Smith, J.M., Van Ness, H.C., dan
Abbott, M.M.
Aplikasi Matlab pada Teknologi Proses 2011

37

3.2. Adsorpsi senyawa limbah
7

Udara buang pabrik mengandung senyawa A yang akan dihilangkan A-nya sebelum dibuang ke
udara dengan cara menggelembungkan udara tersebut dalam larutan penyerap yang tidak volatile
sehingga sebagian besar A terserap dalam larutan. Jumlah udara G dengan kadar A adalah yAF.
Kandungan A dalam gas keluar larutan dianggap dalam keadaan setimbang dengan A dalam
larutan. Hubungan kesetimbangan uap-cair mengikuti hokum Henry: yA=HxA dimana xA dalam
gmol A/ gmol pelarut bebas A. Suhu sistem dianggap tetap sehingga harga H tetap. Larutan
penyerap berjumlah V dan mula-mula tidak mengandung A. Dengan berjalannya waktu,
kandungan A dalam larutan semakin tinggi sehingga kadar A dalam udara keluar menjadi yAB.
Hitunglah berapa lama proses penggelembungan bisa berlangsung sebelum larutan penyerap
harus diganti dengan larutan segar. Neraca massa A pada peristiwa tersebut dapat diturunkan
menjadi persamaan berikut:
(2.1)

G=0,2 gmol udara bebas A/detik; yAF=0,1 gmol A/gmol udara bebas A; yAB=0,05 gmol
A/gmol udara bebas A; H=0,1 gmol larutan bebas A/gmol udara bebas A; dan V=10 gmol bebas
A.
3.3. Reaktor tabung non-adiabatis dan non-isotermal (penyelesaian
persamaan diferensial ordiner simultan)
8


Reaksi fasa gas bolak-balik, eksotermis

Dijalankan dalam sebuah reaktor tabung plug-flow, berdiameter dalam D dan panjang L.
Kecepatan reaksi dapat didekati dengan persamaan
-
Dengan



7
Soal ujian sisipan mata kuliah Perhitungan dengan Komputer, Magister Teknik Kimia, Jurusan Teknik Kimia FT
UGM, tanggal 14 Januari 2011
8
W.B. Sediawan dan A. Prasetya, 1997,”Pemodelan Matematis dan Penyelesaian Numeris dalam Teknik Kimia”,
hal.135-139, Penerbit Andi : Yogyakarta.
Aplikasi Matlab pada Teknologi Proses 2011

38

Perubahan entalpi reaksi mengikuti persaaan

Dengan adalah perubahan entalpi reaksi pada suhu T
ref
. Umpan reaktor berjumlah F0
(mol/detik) bersuhu T0 dengan komposisi 90% A dan 10% inert (I). Tekanan sepanjang reaktor
dianggap tetap. Untuk menjaga agar suhu reaktor tidak terlalu tinggi, pendingin berupa cairan
jenuh bersuhu Ts dialirkan diluar tabung (dalam anulus). Pendingin meninggalkan annulus dalam
keadaan uap jenuh pada suhu Ts (sehingga suhu pendingin tetap). Koefisien perpindahan panas
antara gas dan pendingin dihitung berdasarkan luas permukaan dalam tabung=U. Kapasitas
panas gas-gas dianggap tetap dan gas dapat dianggap ideal. Ingin dicari konversi A (X) dan suhu
gas (T) pada berbagai posisi (z), pada keadaan steady.
Diketahui:
U = 0,0085 cal/cm
2
/det/K; F0 = 10 gmol/detik; x0 = 0; P=7,0 atm; D=35 cm; L=1000 cm;
Cp
A
,Cp
B
,Cp
C
,Cp
I
masing-masing 20,10,15, dan 10 cal/gmol/K; ΔH
R
o
= -35000 cal/gmol; R=82
cm
3
.atm/gmol/K; A=10000 detik
-1
; E/R =6500 K; α = -12.3; β = 4400 K; Tref=273 K; T0=470
K; Ts=421 K
F
0
,T
0
,P
90% A
10% I
Ts
z=0
D
z z+Δz
z=L
x
out
Ts

Gambar 21. Skema reaktor alir pipa non-adiabatis dan non-isotermal
Ringkasan Persamaan Diferensial Ordiner Simultan
9
:
(3.1)
(3.2)

9
Penurunan persamaan dapat dilihat pada buku Pemodelan Matematis dan Penyelesaian Numeris dalam Teknik
Kimia, hal.135-139, karyaW.B. Sediawan dan A. Prasetya
Aplikasi Matlab pada Teknologi Proses 2011

39

Dengan keadaan awal :
Pada z=0; x=0 dan T=T
0
(3.3)
(3.4)
(3.5)