Anda di halaman 1dari 8

Aplikasi pemprograman komputer dalam teknik kimia

PENYELESAIAN PERSAMAAN NON LINIER SIMULTAN


MENGGUNAKAN PROGRAM MATLAB

A. PENDAHULUAN
Materi ini membahas tentang persamaan non-linier multivariabel. Setelah
menyelesaikan bab ini diharapkan mahasiswa akan mampu menyelesaikan persoalan
dalam teknik kimia yang dapat dinyatakan dengan persamaaan non-linier multivariabel.
Secara khusus mahasiswa diharapkan mampu menyusun peristiwa fisis dan kimia dalam
teknik kimia ke dalam persamaan matematis yang berbertuk nonlinier dan mampu
menyelesaikannya dengan fungsi MATLAB yaitu fsolve.
Materi ini sangat penting, mengingat banyak peristiwa dalam bidang teknik kimia yang
berkaitan dengan termodinamika dan bidang lainnya memiliki bentuk persamaan non-
linier yang harus dipecahkan untuk keperluan proses evaluasi, optimasi dan
perancangan.Oleh karena itu,memahami dan menguasai materi dari bab ini akan
membantu mahasiswa dalam memecahkan persoalan perhitungan tentang
termodinamika dan lainnya yang berkaitan dengan persamaan non linier.

B.PENYAJIAN MATERI
Pada bab sebelumnya telah dibahas tentang penyelesaian persamaan non-linier variabel
tunggal. Selanjutnya pada bab ini akan dibahas persamaan nonlier multivariabel atau
simultan. Banyak persoalan dalam bidang teknik kimia memerlukan penyelesaian
persamaan non-linier.
Sebagai contoh, misalkan suatu reaktor continuous stirred-tank reactor (CSTR),
dioperasikan secara isotermal dimana perubahan volum akibat reaksi diabaikan, dalam
mode overflow dengan volume fluida konstan, dan dengan dua reaksi kimia
(diasumsikan elementer) seperti gambar 6.1di bawah.

Gambar 6.1. CSTR dengan dua reaksi kimia


𝑨 + 𝑩 → 𝑪 , 𝒓𝑹𝟏 = 𝒌𝟏 𝑪𝑨 𝑪𝑩

Teknik kimia UNWAHAS Page 1


Aplikasi pemprograman komputer dalam teknik kimia

𝑪 + 𝑩 → 𝑫 , 𝒓𝑹𝟐 = 𝒌𝟐 𝑪𝑪 𝑪𝑩
Dalam CSTR, kita berasumsi bahwa reaktor bercampur secara sempurna sehingga
konsentrasi komponen setiap bagian dalam reaktor dianggap seragam. Artinya, setiap
titik dalam reaktor memiliki konsentrasi yang sama untuk setiap komponen, maka
disusun seperangkat persamaan neraca massa:

dimana
v = laju alir volumetrik aliran umpan dan keluaran,
V = volume tetap reaktor,
Cj = konsentrasi spesies j dalam reaktor (dan pada aliran keluaran),
Cj,in = konsentrasi spesies j dialiran masuk dan
k1, k2 = konstanta laju reaksi kimia dari masing-masing reaksi.
Pada keadaan steady state, derivatif waktu di sebelah kiri pada persamaan (6.2) adalah
nol, dan konsentrasi setiap spesies dalam reaktor memenuhi seperangkat dari empat
persamaan aljabar nonlinier. Untuk mendapatkan persamaan ini dalam bentuk standar,
kita definisikan variabel yang tidak diketahui sebagai:

untuk memperoleh sistem persamaan aljabar.

Bentuk umum persamaan non-linier simultan adalah:

Teknik kimia UNWAHAS Page 2


Aplikasi pemprograman komputer dalam teknik kimia

Dalam hal ini akan dicari harga x1, x2,…, xn. MATLAB memiliki routine fsolve yang
digunakan untuk menyelesaikan seperangkat persamaan aljabar nonlinier.

Contoh 6.1 Menentukan nilai x dan y dari persamaan


𝑥 3 − 3𝑥𝑦 2 = 1/2
3𝑥 2 𝑦 − 𝑦 3 = 3/2
Langkah penyelesaian:
Langkah 1: Buat terlebih dahulu fungsi sistem persamaan non-linier dalam m-file.
%sistem.m
function f = sistem(x)
f=[x(1)^3-3*x(1)*x(2)^2-0.5
3*x(1)^2*x(2)-x(2)^3-sqrt(3)/2];
Langkah 2: Jalankan program pengeksekusi.
>> [x,fval]=fsolve('sistem', [1 2])
Optimization terminated: first-order optimality is less than options.TolFun.
x=
0.9397 0.3420
fval =
1.0e-011 *
-0.1626
0.1616

Selain itu bisa juga program eksekusi dituliskan sebagai berikut:


>> x0=[1 2];
>> x=fsolve('sistem',x0)
Optimization terminated: first-order optimality is less than options.TolFun.
x=
0.9397 0.3420

Teknik kimia UNWAHAS Page 3


Aplikasi pemprograman komputer dalam teknik kimia

Latihan
Selesaikan sistem persamaan non linier simultan berikut ini menggunakan Matlab.
1. 𝑓1 𝑥1 𝑥2 = 𝑥1 − 4𝑥12 − 𝑥1 𝑥2 = 0
𝑓1 𝑥1 𝑥2 = 2𝑥2 − 𝑥22 + 3𝑥1 𝑥2 = 0
2. 2𝑎 − 𝑏 − 𝑒 −𝑎 = 0
2𝑏 − 𝑎 − 𝑒 −𝑏 = 0

Aplikasi pada bidang teknik kimia


Contoh 6.2 Stoikiometri Reaksi Kesetimbangan
Reaksi reformasi steam berlangsung menurut serangkaian reaksi kesetimbangan berikut:

Pada suhu 2000 K harga konstanta kesetimbangan untuk masing-masing reaksi adalah
1,930 x10-4 dan 5,528. Tentukan komposisi kesetimbangan komponen-komponen
apabila gas umpan berkomposisi 20% CH4(g) dan 80% H2O(g) berada pada kondisi suhu
2000 K dan tekanan 1 atm.
Jawaban
Misal ditetapkan basis perhitungan 10 mol gas umpan.
𝜀1 = derajat reaksi dari reaksi pertama
𝜀2 = derajat reaksi dari reaksi kedua
Fraksi mol kesetimbangan setiap komponen dapat dinyatakan sebagai berikut:

Persamaan konstanta kesetimbangan K1 dan K2 dinyatakan sebagai berikut:

Jika dinyatakan sebagai derajat reaksi:

Teknik kimia UNWAHAS Page 4


Aplikasi pemprograman komputer dalam teknik kimia

Kedua persamaan di atas merupakan persamaan non-linier simultan. 𝜀1 dan


𝜀2 merupakan variable yang nilainya akan dicari.

Berikut ini pemrograman MATLAB-nya.


%KsT
function y = KsT(e,K1,K2)
%Sistem persamaan tak linier yang akan dinolkan
y=[(e(1)-e(2))*(3*e(1)-e(2))^3/((2-e(1))*(8-e(1)-e(2))*(10+2*e(1))^2)-K1
e(2)*(3*e(1)+e(2))/((e(1)-e(2))*(8-e(1)-e(2)))-K2];

%contohnle.m
clear
clc
K1 = input('Masukan konstanta kesetimbangan reaksi 1=');
K2 = input ('Masukan konstanta kesetimbangan reaksi 2=');
%Pencari nol fungsi KsT.m
e = fsolve(@(e) KsT(e,K1,K2),[1 0.5])

Eksekusi matlab di Command Window


>>contohnle
Masukan konstanta kesetimbangan reaksi 1=1.93e-4
Masukan konstanta kesetimbangan reaksi 2=5.528
Optimization terminated: first-order optimality is less than options.TolFun.
e=
0.7480 0.6920

Latihan
3. Dalam suatu reaktor terjadi reaksi fase gas:
𝐴+𝐵 → 𝐶+𝐷 [1]
𝐴 + 𝐶 → 2𝐸 [2]
Pada suhu 750 K dan tekanan atm, harga konstanta kesetimbangan untuk masing-
masing reaksi adalah 2,667 dan 3,2. Tentukan komposisi kesetimbangan
komponen-komponen apabila umpan diasumsikan terdiri atas 2 mol gas 𝐴, dan 1
mol gas B.

Teknik kimia UNWAHAS Page 5


Aplikasi pemprograman komputer dalam teknik kimia

Jawaban latihan
No 1.
Program matlab
%nle.m
function f = nle(x)
f(1)=x(1)-4*x(1)*x(1)-x(1)*x(2);
f(2)=2*x(2)-x(2)*x(2)+3*x(1)*x(2);

Hasil eksekusi di command window


>> [x,fval]=fsolve('nle',[1 1])
Optimization terminated: first-order optimality is less than options.TolFun.
x=

0.2500 0.0000

fval =

1.0e-007 *

-0.1631 0.0003

Atau juga bisa dipanggil dengan menulis di command window:


>> x0=[1 1];
>> x=fsolve('nle',x0)
Optimization terminated: first-order optimality is less than options.TolFun.

x=

0.2500 0.0000

Teknik kimia UNWAHAS Page 6


Aplikasi pemprograman komputer dalam teknik kimia

No 2.
Program Matlab

%nle2.m
function f=nle2(x)
f=[2*x(1)-x(2)-exp(-x(1)); 2*x(2)-x(1)-exp(-x(2))];

Hasil eksekusi program di command window:


>> [x,fval]=fsolve('nle2',[1 2])
Optimization terminated: first-order optimality is less than options.TolFun.

x=

0.5671 0.5671

fval =

1.0e-007 *

-0.1262
-0.1071

Teknik kimia UNWAHAS Page 7


Aplikasi pemprograman komputer dalam teknik kimia

No 3.
Jawaban
Umpan gas terdiri dari 2 mol gas A dan 1 mol gas B
𝜀1 = derajat reaksi dari reaksi pertama
𝜀2 = derajat reaksi dari reaksi kedua
Fraksi mol kesetimbangan setiap komponen dapat dinyatakan sebagai berikut:

Persamaan konstanta kesetimbangan K1 dan K2 dinyatakan sebagai berikut:

Jika dinyatakan sebagai derajat reaksi:

Kedua persamaan di atas merupakan persamaan non-linier simultan. 𝜀1 dan


𝜀2 merupakan variable yang nilainya akan dicari.

Berikut ini pemrograman MATLAB-nya.


%KsT
function y = KsT(e,K1,K2)
%Sistem persamaan tak linier yang akan dinolkan
y=[(e(1)-e(2))*(3*e(1)-e(2))^3/((2-e(1))*(8-e(1)-e(2))*(10+2*e(1))^2)-K1
e(2)*(3*e(1)+e(2))/((e(1)-e(2))*(8-e(1)-e(2)))-K2];

%contohnlle.m
clear
clc
K1 = input('Masukan konstanta kesetimbangan reaksi 1=');
K2 = input ('Masukan konstanta kesetimbangan reaksi 2=');
%Pencari nol fungsi KsT.m
e = fsolve(@(e) KsT(e,K1,K2),[1 0.5])

Eksekusi matlab di Command Window

Teknik kimia UNWAHAS Page 8

Anda mungkin juga menyukai