Anda di halaman 1dari 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

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

i
Aplikasi Matlab pada Teknologi Proses 2011

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)

1
Aplikasi Matlab pada Teknologi Proses 2011

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

2
Aplikasi Matlab pada Teknologi Proses 2011

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 m3/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 m3/jam

d= 3 cm
Fout m3/jam
D= 3 m

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:

3
Aplikasi Matlab pada Teknologi Proses 2011

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:

Mulai Perhitungan

Input Data
Fin, g, D, d,
h

t Subroutine
integrasi integ_fun
function t=integ_fun(h)
t=quadl(@integ_fun,0,h)
h Hitung A, A0, v, Fout, dan t

Perhitungan
Selesai

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

4
Aplikasi Matlab pada Teknologi Proses 2011

% 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

5
Aplikasi Matlab pada Teknologi Proses 2011

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

6
Aplikasi Matlab pada Teknologi Proses 2011

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.

Mulai Perhitungan

Input Data
Fin, g, D, d

Hitung h pada saat dh/dt=0 h Subroutine


sebagai nilai batas integrasi function f=steady_state(h)
h=fzero(@steady_state,h0) f Hitung A, A0, v, Fout, dan f

t Subroutine
integrasi integ_fun
function t=integ_fun(h)
t=quadl(@integ_fun,0,h)
h Hitung A, A0, v, Fout, dan t

Perhitungan
Selesai

Gambar 4. Algoritma program untuk kasus 2

7
Aplikasi Matlab pada Teknologi Proses 2011

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)

8
Aplikasi Matlab pada Teknologi Proses 2011

Gambar 5. Profil tinggi cairan terhadap waktu dan kondisi steady state

9
Aplikasi Matlab pada Teknologi Proses 2011

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

z2
1

z1 D, Le
v,Q

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)

P1=P2=1 atm. Asumsi bahwa diameter tangki cukup besar sehingga v1 dan v2 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.

10
Aplikasi Matlab pada Teknologi Proses 2011

Dengan :

(3.4)

(3.5)

(3.6)

(3.7)

Sedangkan debit aliran dapat dihitung dengan persamaan berikut:

(3.8)

Diketahui harga-harga:

ρ=1 g/cm3; µ=0,01 g/cm/s; g=981 cm/s2 ; 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 fobj diatas hingga diperoleh nilai fobj(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

11
Aplikasi Matlab pada Teknologi Proses 2011

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

12
Aplikasi Matlab pada Teknologi Proses 2011

Langkah Perhitungan Manual Algoritma Program

Mulai perhitungan Mulai perhitungan

Input data Input data


µ, ρ, g, z1, µ, ρ, g, z1,
z2, D, Le z2, D, Le,
vtrial

Subroutine
function fobj=obj_fun(v)
Masukkan nilai Hitung v Hitung Q=f(vtrial)
vtrial v=fzero(@obj_fun,vtrial) Hitung Hm=f(Q)
Hitung Q=f(v) Hitung Re=f(v)
Hitung f=f(Re)
Hitung fobj(v)

Hitung Q=f(vtrial) Perhitungan


Hitung Hm=f(Q) selesai
Hitung Re=f(v)
Hitung f=f(Re)
Hitung vhitung=f(Hm,f,vtrial)

vhitung=vtrial?
Tidak
coba nilai v baru

Ya

Perhitungan
selesai

Gambar 7. Algoritma perhitungan dan pemrograman kasus 3

13
Aplikasi Matlab pada Teknologi Proses 2011

2.4. Pencampuran di dalam tangki dengan pemanas (penyelesaian


persamaan diferensial ordiner simultan)

C1,kg/m3 C2,kg/m3
Fv1, m3/jam Fv2, m3/jam
T1, oC T2, oC
Cp1, J/kg/oC Cp2, J/kg/oC

C, kg/m3
V, m3
T, oC
C,kg/m3
Fv, m3/jam
T, oC
U, watt/m2/oC Cp,J/kg/oC
A, m2

Fs, kg/jam Fs, kg/jam


Ts, oC Ts, oC

Gambar 8. Sistem tangki pencampuran dengan pemanas

Sebuah tangki dilengkapi dengan pengaduk dan pemanas akan digunakan untuk mencampur
cairan B berkonsentrasi C1 dan bersuhu T1 dengan cairan B berkonsentrasi C2 dan bersuhu T2.
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 T0 dan konsentrasi C0. Nilai kapasitas panas cairan dapat dianggap
tetap.

Diketahui:

C1 = 10 kg/m3; C2 = 2 kg/m3; C0 = 8 kg/m3; T1 = 35oC; T2 = 95oC; Ts = 120oC; T0 = 35oC; Fv1


= 5 m3/jam; Fv2 = 3 m3/jam; Fv= 5 m3/jam; Fs = 60 kg/jam; V =1 m3 ; U=15 watt/m2/oC ; A=25
m2; Cp=Cp1=Cp2= 3 J/kg/ oC

14
Aplikasi Matlab pada Teknologi Proses 2011

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=C0 (4.6)

Neraca panas

kecepatan panas masuk - kecepatan panas keluar= kecepatan panas terakumulasi

(4.7)

15
Aplikasi Matlab pada Teknologi Proses 2011

Kondisi batas:

Pada t=0 maka T=T0 (4.8)

Penyelesaian
Diperoleh persamaan diferensial ordiner simultan dengan permasalahan kondisi awal sebagai
berikut:

Kondisi awal

Pada t=0 maka V=V;C=C0,T=T0

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
% ===============================================================

16
Aplikasi Matlab pada Teknologi Proses 2011

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);

17
Aplikasi Matlab pada Teknologi Proses 2011

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;

Mulai perhitungan

Input data
C1 ; C2 ; C0 ; T1 ; T2 ; Ts
; T0 ; Fv1 ; Fv2 ; Fv ; Fs
; V ; U; A ; Cp ; Cp1 ;
Cp2 ; tf ; Tref

Subroutine
t function dYdt=mix_heat_ode_fun(t,Y)
Perhitungan ode simultan Y=V,C0,T0 dVdt=f(V)
[t,Y]=ode45(@mix_heat_ode_fun,[0,tf],[V,C0,T0]) dCdt=f(V,C)
dYdt dTdt=f(V,C,T)
dYdt=[dVdt;dCdt;dTdt]

Tampilkan hasil
perhitungan dalam
bentuk grafik

Perhitungan
selesai

Gambar 9. Algoritma program kasus 4

18
Aplikasi Matlab pada Teknologi Proses 2011

hasil

Gambar 10. Profil volum dan konsentrasi terhadap waktu

Gambar 11. Profil suhu terhadap waktu

19
Aplikasi Matlab pada Teknologi Proses 2011

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/oC


Koefisien perpindahan panas secara konveksi (h) =0,002 cal/s/cm 2/oC
L=15 cm; D=1.5 cm

Tu=35 oC
qkonveksi

Ta=500 oC qkonduksi qkonduksi Tb=100 oC

x x+Δx
qkonveksi

x=0 x=L

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

qkonduksi pada x- (qkonduksi pada x+Δx + qkonveksi) = 0

=0

Dengan: ;dan

A = luas perpindahan panas secara konduksi; A=

A’ = luas perpindahan panas secara konveksi

20
Aplikasi Matlab pada Teknologi Proses 2011

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)

21
Aplikasi Matlab pada Teknologi Proses 2011

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.

Mulai perhitungan

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)

Subroutine
function bc_res=bc_fun(Ya,Yb)
bc_res Pada x=0, T=Ta
Pada x=L, T=Tb
Ya,Yb
Perhitungan numeris dengan bvp4c
sol = bvp4c(@ode_fun,@bc_fun,solinit) Subroutine
dy function dy=ode_fun(x,y)
dTdx=f(y)
x,y dydx=f(T)
dy=[dTdx;dydx]

Ekstrak hasil hitungan sol dengan :


Yxint=deval(sol,xint)

Tampilkan hasil
perhitungan dalam
bentuk grafik

Perhitungan
selesai

Gambar 13. Algoritma kasus 5

22
Aplikasi Matlab pada Teknologi Proses 2011

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);

23
Aplikasi Matlab pada Teknologi Proses 2011

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

24
Aplikasi Matlab pada Teknologi Proses 2011

2.6. Pengeringan padatan silinder-penyelesaian persamaan diferensial


parsial (PDP)2
Suatu padatan berbentuk silinder panjang, berjari-jari R, dengan kadar air mula-mula C0
3
(g/cm ) dikeringkan dengan udara yang mengandung uap air sebesar yud ( g air/g udara).
Kesetimbangan H2O 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 H2O di udara setimbang dengan kadar H2O pada permukaan
silinder. Karena kadar air dalam silinder sudah cukup rendah, maka kecepatan difusi H 2O dari
dalam silinder ke permukaan berpengaruh dan karena silinder sangat panjang (R<<L), maka
difusi H2O dianggap hanya kea rah radial. Ingin dicari kadar air dalam silinder (C) pada berbagai
posisi (r) dan waktu (t).

Δr
L

R
r+Δr

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.

25
Aplikasi Matlab pada Teknologi Proses 2011

(6.3)3

dengan batas-batas sebagai berikut :

C(r,0)=C0

C(0,t)=finite atau

C(R,t)=NAA=kGA(H.C-yud)

A merupakan luas perpindahan transfer massa, A=

Nilai-nilai tetapan yang diketahui adalah sebagai berikut :

De=0,04 cm2/jam; kG=0,08 g/cm2/jam; H=0,2; R=0,2 cm; C0=0,2 g/cm3; yud=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

26
Aplikasi Matlab pada Teknologi Proses 2011

Mulai perhitungan

Input data
De; kG; H; R; C0; yud; t0;
tf; L

Tentukan jumlah inkremen radius (xmesh) serta


nilai kisaran untuk waktu (tspan). Masukan faktor
geometri (m)

Subroutine
function [c,f,s]=pdefun(x,t,u,DuDx)

Perhitungan numeris dengan pdepe


Subroutine
sol=pdepe(m,@pdefun,@icfun,@bcfun,xmesh,tspan)
function u0=icfun(x)

Subroutine
function [pl,ql,pr,qr]=bcfun(xl,ul,xr,ur,t)

Tampilkan hasil
perhitungan dalam
bentuk grafik

Perhitungan
selesai

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 :

27
Aplikasi Matlab pada Teknologi Proses 2011

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)=C0

jika t0=0 maka persamaan untuk IC adalah:

IC:

28
Aplikasi Matlab pada Teknologi Proses 2011

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)=NAA=kGA(H.C-yud)

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;

29
Aplikasi Matlab pada Teknologi Proses 2011

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;

30
Aplikasi Matlab pada Teknologi Proses 2011

% 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

31
Aplikasi Matlab pada Teknologi Proses 2011

2.7. Penentuan order reaksi dan konstanta kecepatan reaksi4

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
CA (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

CA

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:

-rA = k.CAα (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.

32
Aplikasi Matlab pada Teknologi Proses 2011

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. Cmodel
diperoleh dari hasil penyelesaian persamaan (7.2) dengan mencoba-coba nilai k dan α agar
memberikan nilai Cmodel yang sedekat mungkin dengan Cdata 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)

33
Aplikasi Matlab pada Teknologi Proses 2011

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))

Mulai perhitungan

Input data percobaan

Tentukan nilai trial awal untuk k dan α

Subroutine
function fsse=hit_sse(kons)
Penyelesaian ode_reaktor
Minimasi fungsi objektif SSE Hitung fsse
kons_hit=fminsearch(@hit_sse,k0)

Subroutine
function dCdt=ode_reaktor(t,C,kons)
dCdt=f(C)
Tampilkan hasil
perhitungan dalam
bentuk grafik

Perhitungan
selesai

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));

34
Aplikasi Matlab pada Teknologi Proses 2011

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

35
Aplikasi Matlab pada Teknologi Proses 2011

3. Latihan

3.1. Penentuan dew point campuran5


Sistem campuran uap benzen (1) /toluen (2) dengan fraksi mol A (y1) = 0.33 didinginkan pada
tekanan tetap 120 kPa. Ingin dicari pada suhu berapa ( oC) pengembunan terjadi dan komposisi
embunan yang terbentuk (xi) jika diketahui bahwa tekanan uap murni mengikuti persamaan
sebagai berikut:

(1.1)

Komponen6 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 xi adalah fraksi mol cairan i, Pio adalah tekanan uap murni komponeni, yi adalah fraksi
mol uap i, dan PT adalah tekanan total system.

Persamaan yang diketahui :

Pada saat kesetimbangan terjadi maka

x1+x2=1 dan y1+y2=1

karena yang diamati adalah cairan maka digunakan persamaan:

f(T)=x1+x2-1 (1.3)

substitusi x1 dan x2 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.

36
Aplikasi Matlab pada Teknologi Proses 2011

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.

37
Aplikasi Matlab pada Teknologi Proses 2011

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/cm2/det/K; F0 = 10 gmol/detik; x0 = 0; P=7,0 atm; D=35 cm; L=1000 cm;


CpA,CpB,CpC,CpI masing-masing 20,10,15, dan 10 cal/gmol/K; ΔHRo= -35000 cal/gmol; R=82
cm3.atm/gmol/K; A=10000 detik -1; E/R =6500 K; α = -12.3; β = 4400 K; Tref=273 K; T0=470
K; Ts=421 K

Ts

z=L
F0,T0,P
90% A
10% I xout
D

z=0
z z+Δz
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

38
Aplikasi Matlab pada Teknologi Proses 2011

Dengan keadaan awal :

Pada z=0; x=0 dan T=T0

(3.3)

(3.4)

(3.5)

39