Top Banner
B B B B PRAK PRAK PRAK PRAK LAB PRO UNIVERSIT BUKU PETUNJU BUKU PETUNJU BUKU PETUNJU BUKU PETUNJU KTIKUM KTIKUM KTIKUM KTIKUM KOMP KOMP KOMP KOMP Bagian Pertama Oleh Hamid Abdillah BORATORIUM TEKNIK OGRAM STUDI TEKNIK TAS MUHAMMADIYAH 2012 1 UK UK UK UK PUTASI PUTASI PUTASI PUTASI KIMIA K KIMIA SURAKARTA
18

Modul Praktikum Komputasi Proses Bag 1

Aug 08, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Modul Praktikum Komputasi Proses Bag 1

BUKU PETUNJUKBUKU PETUNJUKBUKU PETUNJUKBUKU PETUNJUK

PRAKTIKUM PRAKTIKUM PRAKTIKUM PRAKTIKUM

LABORATORIUM TEKNIK KIMIA

PROGRAM STUDI TEKNIK KIMIA

UNIVERSITAS MUHAMMADIYAH SURAKARTA

BUKU PETUNJUKBUKU PETUNJUKBUKU PETUNJUKBUKU PETUNJUK

PRAKTIKUM PRAKTIKUM PRAKTIKUM PRAKTIKUM KOMPUTASIKOMPUTASIKOMPUTASIKOMPUTASI

Bagian Pertama

Oleh

Hamid Abdillah

LABORATORIUM TEKNIK KIMIA

PROGRAM STUDI TEKNIK KIMIA

UNIVERSITAS MUHAMMADIYAH SURAKARTA

2012

1

BUKU PETUNJUKBUKU PETUNJUKBUKU PETUNJUKBUKU PETUNJUK

KOMPUTASIKOMPUTASIKOMPUTASIKOMPUTASI

LABORATORIUM TEKNIK KIMIA

PROGRAM STUDI TEKNIK KIMIA

UNIVERSITAS MUHAMMADIYAH SURAKARTA

Page 2: Modul Praktikum Komputasi Proses Bag 1

2

Peraturan Praktikum Komputasi.

1. Praktikan harus datang tepat waktu. Praktikan yang terlambat tidak diijinkan mengikuti

praktikum kecuali ada ijin dari Koordinator.

2. Praktikan harus mempersiapkan diri sebelum Praktikum dengan membaca, menganalisa,

dan mencoba materi praktikum yang akan dilakukan.

3. Sebelum praktikum dimulai praktikan mengumpulkan Tugas Sebelum Praktikum kepada

asisten dan menunjukkan Algoritma / diagram alir pemrograman.

4. Praktikan menjalani tes awal sebelum praktikum. Apabila pada tes awal praktikan tidak

lolos maka akan mendapat penalti pengurangan nilai untuk materi praktikum yang

bersangkutan.

5. Setelah tes awal asisten akan memberikan penjelasan singkat tentang praktikum yang

akan dilakukan (10 menit).

6. Praktikan menjalankan praktikum sesuai arahan modul dan asisten. Satu komputer

digunakan hanya oleh satu praktikan. Apabila karena sesuatu hal komputer rusak, maka

praktikan dapat menggunakan laptop yang dibawanya sendiri.

7. Praktikan menyimpan hasil praktikum di flashdisk dalam format Microsoft Word yang

berisi script dan tampilan/hasil program. Microsoft Word diberi header berupa Nama,

NIM dan nomer modul praktikum. File disimpan dalam format

NIM_NAMA_Praktikumke...

8. Praktikan membuat laporan praktikum. Laporan praktikum boleh ditulis dengan tangan,

kecuali listing/script program dan tampilan tidak boleh ditulis dengan tangan.

Algoritma/Diagram Alir disiapkan dari rumah dan ditunjukkan kepada Asisten sebelum

Praktikum. Laporan praktikum dikumpulkan setelah praktikum selesai kepada asisten.

Laporan praktikum menggunakan kertas HVS A4, dengan cover yang sudah ditentukan

distapler, tanpa map. Apabila ada revisi maka laporan dikumpulkan di loker a.n Hamid

Abdillah di ruang dosen.

9. Tidak diijinkan makan dan minum selama praktikum.

10. Laporan praktikum dikumpulkan di lemari akan dinilai oleh Dosen Pengampu Praktikum.

11. Pada minggu terakhir praktikum satu shift praktikan harus membuat Laporan Resmi yang

berisi laporan 8 materi praktikum yang diketik dengan komputer. Mohon praktikan dapat

membagi materi laporan resmi nomer berapa yang akan dikerjakan. Selanjutnya

kedelapan materi tersebut dijilid dan diberi judul cover Laporan Resmi Praktikum

Komputasi.

Page 3: Modul Praktikum Komputasi Proses Bag 1

3

Format Laporan Praktikum Komputasi.

1. Halaman Cover: format halaman cover mengikuti format cover laporan praktikum teknik

kimia lainnya.

2. Isi laporan memuat materi sebagai berikut

I. Judul

II. Tujuan

III. Algoritma (Diagram alir): memuat diagram alir algoritma (langkah-langkah)

dalam pemrograman

Contoh:

Algoritma Praktikum 9.1

IV. Hasil: memuat tampilan atau output dari program

V. Pembahasan dan Kesimpulan.

Lampiran: berisi listing/script program.

Untuk menghemat kertas pergantian bab tidak harus berganti halaman.

Page 4: Modul Praktikum Komputasi Proses Bag 1

4

Praktikum I Dasar-Dasar Matlab dan Kesalahan Komputasi

Tujuan:

1. Memahami perintah dasar Matlab.

2. Mengetahui berbagai kesalahan (error) yang dapat terjadi dalam komputasi.

Uraian

Matlab adalah paket software tingkat tinggi dengan banyak fungsi built-in yang membuat

pembelajaran metode numeris jauh lebih mudah dan lebih menarik. Pada bagian ini anda akan

diperkenalkan beberapa operasi dasar yang akan memungkinkan anda untuk belajar perangkat

lunak dan membangun program Anda sendiri untuk pemecahan masalah.

1. Matriks

Salah satu dari banyak fitur dari Matlab adalah bahwa hal itu memungkinkan kita untuk

berurusan dengan vektor / matriks dalam cara yang sama seperti skalar. Mifsalnya, untuk

memasukkan matriks / vektor,

Ketik pada jendela perintah (command window) Matlab sebagai berikut:

>> A=[1 2 3;4 5 6]

A =

1 2 3

4 5 6

>>B = [3;-2;1]; % memberikan semicolon “;” pada bagian akhir untuk tidak menampilkan

hasil pada layar command window

>>C=[1 -2 3 -4]

C=

1 -2 3 - 4

>> A(2,3)

6

>> A(3,2)

??? Index exceeds matrix dimensions.

>> [b,k]=size(A)

b=2

k=3

2. Input / Output Data dari Command Window Matlab

MATLAB mengingat semua data masukan dalam sesi (baik data masuk melalui input keyboard

langsung atau dijalankan dari file script) sampai perintah 'clear' diberikan atau sampai Anda

keluar MATLAB.

3. Input/Output Data Melalui File

Matlab dapat menangani dua jenis file data.

Page 5: Modul Praktikum Komputasi Proses Bag 1

5

1. Format biner mat-file bernama ***.mat. Jenis file ini dapat menyimpan nilai-nilai lebih dari

satu variabel, tetapi akan ditangani hanya dalam lingkungan MATLAB dan tidak dapat dibagi

dengan lingkungan pemrograman lain.

2. File ASCII bernama ***.dat, tipe file ini dapat dibagi dengan lingkungan pemrograman lain,

tetapi menyimpan nilai-nilai hanya satu variabel.

Di bawah ini adalah beberapa contoh pernyataan untuk menyimpan beberapa data ke dalam file-

mat di direktori saat ini dan membaca kembali data dari file-mat:

>>save ABC %menyimpan nilai A,B,C ke file ’ABC.mat’

>>clear A C %bersihkan memory Matlab tentang A,C

>>A %menampilkan nilai A

??? Undefined function or variable ’A’

>>load ABC A C %membaca nilai A,C dari file ’ABC.mat’

>>A %menampilkan nilai A

A=1 2 3

4 5 6

Jika anda menginginkan menyimpan data ke file ASCII *.dat buatlah nama file sama dengan

data dan ketiklah ‘/ascii’ pada bagian akhir pernyataan

>>save B.dat B /ascii

Jika anda ingin membaca data dari file *.dat pada MATLAB, cukup ketik load + nama file ***

.dat (huruf kecil), yang juga akan diakui sebagai nama dari data yang terdapat dalam file dat

>>load b.dat %membaca nilai variabel b dari file ascii ’b.dat’

4. Input/Output Data Menggunakan Keyboard

Perintah ‘input’ memungkinkan pengguna memasukkan data lewat keyboard.

Contoh,

>>x = input(’Masukkan x: ’)

Masukkan x: 1/3

x = 0.3333

Ada cara lain untuk menampilkan nilai variabel dan string pada layar daripada mengetik nama

variabel. Dua perintah berguna adalah 'disp’ dan 'fprintf’. Yang pertama disp menampilkan nilai

dari suatu variabel atau string tanpa 'x =' atau 'ans = ', yang terakhir menampilkan nilai-nilai dari

beberapa variabel dalam format tertentu dan dengan string jelas / menarik. Sebagai contoh

>>disp(’Nilai x = ’),disp(x)

%disp(’menampilkan string_yang ingin ditampilkan or nama variabel)

Nilai x = 0.3333

Sedangkan fprintf menampilkan format yang keluar. Contoh penggunaan fprintf dapat dilihat di

bawah ini:

%ctof.m

f = input(‘Masukkan temperatur dalam Fahrenheit [F]:’);

c = 5/9*(f-32);

fprintf(’%5.2f(dalam Fahrenheit) adalah %5.2f(dalam Celcius).\n’,f,c)

Page 6: Modul Praktikum Komputasi Proses Bag 1

6

Tabel 1 Beberapa spesifier ketikan dan karakter (huruf) khusus dari perintah fprintf

Tabel 2. Daftar fungsi yang biasa digunakan di MATLAB

cos(x)

sin(x)

tan(x)

acos(x)

asin(x)

atan(x)

atan2(y,x)

cosh(x)

sinh(x)

tanh(x)

acosh(x)

asinh(x)

atanh(x)

max

min

sum

prod

norm

sort

clock

find

exp(x)

log(x)

log10(x)

abs(x)

angle(x)

sqrt(x)

real(x)

imag(x)

conj(x)

round(x)

fix(x)

floor(x)

ceil(x)

sign(x)

mod(y,x)

rem(y,x)

eval(f)

feval(f,a)

polyval

poly

roots

Tabel 3.Variabel yang disimpan di MATLAB

Page 7: Modul Praktikum Komputasi Proses Bag 1

7

5. Berbagai Jenis Kesalahan Komputasi

Ada berbagai jenis kesalahan yang kita hadapi saat menggunakan komputer

1. Kesalahan pemotongan: disebabkan oleh penambahan sampai jumlah terbatas dari

bentuk, sementara kita seharusnya menambahkan bentuk hingga tak terhingga banyaknya

(contoh deret Taylor) untuk mendapatkan jawaban yang tepat dalam teori.

2. Kesalahan pembulatan (round-off): Disebabkan oleh penyimpanan data numeris dalam

bit yang terbatas.

3. Kesalahan overflow / underflow: Disebabkan oleh bilangan yang terlalu besar atau terlalu

kecil untuk diwakili / disimpan dengan baik dalam bit terbatas. Di dalam Matlab hal ini

terjadi pada angka-angka yang memiliki nilai absolut lebih besar / lebih kecil dari

maksimum (fmax) / minimum (fmin) bilangan yang dapat diwakili di MATLAB.

4. Kesalahan penambahan yang diabaikan: Disebabkan oleh penambahan dua angka yang

berbeda lebih dari 52 bit.

5. Kesalahan hilangnya signifikansi: Disebabkan oleh "pengurangan yang buruk" pada

pengurangan angka dengan angka yang hampir sama nilainya.

6. Pembesaran kesalahan: Disebabkan karena perkalian angka yang mengandung kesalahan

kecil dengan angka yang besar, atau karena pembagian dengan angka yang besar.

7. Kesalahan yang tergantung pada algoritma numeris, ukuran langkah, dan sebagainya.

Meskipun kita tidak bisa bebas dari berbagai kesalahan yang tak terelakkan dalam tingkat

tertentu, tetapi bukanlah komputer yang harus bertanggung jawab atas kesalahan tersebut,

komputer kita mungkin tidak pernah memberitahukan “kebohongan yang tidak disengaja ini”.

Kita para pembuat program dan pengguna tidak bisa lepas dari tanggung jawab untuk mengatasi

/mengambil tindakan terhadap kesalahan ini. Kita akan membayar resiko dari sikap ceroboh

karena tertipu oleh mesin. Kita harus mencoba untuk mengurangi besarnya kesalahan dan untuk

meminimalkan dampaknya terhadap hasil akhir. Untuk melakukannya, kita harus mengetahui

sumber kesalahan komputasi dan juga memahami sifat komputasi algoritma numeris.

Contoh: hitunglah nilai dari fungsi ini dengan MATLAB, apakah hasilnya sama? Secara teoritis

seharusnya hasilnya sama. Cobalah dengan nilai x yang berbeda-beda

Praktikum

1. Dengan program Matlab, hitunglah nilai dari f1 dikurangi f2 untuk x dari x=10 , x=103,

hingga x=1013

. Simpan hasilnya dalam bentuk variabel dalam format

NIM_Praktikum1_1.mat. Buatlah grafik antara nilai f1-f2 terhadap log x.

2. Hitunglah yn/e

nx dan (y/e

x)n dengan y>>1 dan x >> 1 (misal y=10

22 dan x=13, n=-15 dan

15)

Mana yang lebih baik? Bahaslah ini sebagai teknik untuk menghindari pembesaran

kesalahan.

Page 8: Modul Praktikum Komputasi Proses Bag 1

8

Praktikum II

Pencarian Akar Persamaan Tak Linier Tunggal

Tujuan

Mahasiswa dapat mencari akar persamaan tak linier tunggal dengan perintah fzero.

Uraian

Matlab mempunyai fungsi “fzero” yang merupakan fungsi yang cocok untuk digunakan mencari

akar (nilai nol lokal) dari fungsi dengan satu variabel. Cara penulisan yang dapat digunakan

untuk perintah fzero adalah:

x=fzero(‘function’, tebakan awal)

Matlab akan memberikan jawaban atau memberikan nilai NaN (bukan suatu angka) yang berarti

tidak ada solusi untuk fungsi tersebut. Contohnya dapat dilihat di bawah ini:

Contoh 1. Tentukan nilai nol dari fungsi y(x)=x2-1 dengan menggunakan fzero.

Jawab.

Buatlah file dengan ekstensi *.m. misalkan fungsiku.m

function y= fungsiku(x)

y=x^2-1

Pada command window, gunakan fzero untuk menemukan nilai nol fungsi dari fungsiku.

X=fzero(‘fungsiku’,3)

Matlab melakukan beberapa iterasi dan menghasilkan ‘x=1’

Tugas sebelum praktikum

Carilah data Tc, Pc, dan faktor eksentrik (ω) dari berbagai macam gas (minimal 5 gas).

Tes awal

a. Tuliskan rumus metode Newton.

b. Apa fungsi built-in pada Matlab yang berguna untuk mencari akar suatu fungsi?

Bagaimana format perintahnya?

Tugas sebelum praktikum

Turunkan persamaan Redlich-Kwong Soave menjadi bentuk polinomial bentuk Z, dimana

Z=PV/RT

Praktikum 2.1

Mencari akar persamaan polynomial orde n dengan metode newton raphson yang

diterapkan pada Persamaan Keadaan Redlich-Kwong

Page 9: Modul Praktikum Komputasi Proses Bag 1

9

Buatlah fungsi MATLAB yang dapat menghitung akar persamaan dengan metode Newton

Raphson. Hitung volume spesifik dari gas murni pada temperatur dan tekanan 300 C, 200 kPa

dengan Persamaan Keadaan Redlich-Kwong-Soave (RKS):

Kostanta persamaan, a dan b, diperoleh dari

Dimana Tr adalah (T/Tc) , Tc adalah Temperatur kritis.

Sifat fisik butana:

Tc= 425 K, Pc = 3797 kPa, ω = 0.193

Dan konstanta gas adalah:

R=8314 J/kmol.K

Hitunglah volume spesifik uap butane pada 500 K dan tekanan 10 atm (1 atm=1,01325 x

105kPa).

Petunjuk:

Persamaan Keadaan RKS merupakan bentuk polinomial sebagai fungsi dari v dan Persamaan

RKS dapat diubah menjadi bentuk polinomial yaitu

Z3 - Z

2 + (A - B – B

2) Z - AB = 0

Dimana Z=PV/RT, A= αaP/R2T

2, dan B = bP/RT

Bandingkan hasilnya dengan menggunakan fungsi built-in (fzero).

Page 10: Modul Praktikum Komputasi Proses Bag 1

10

Praktikum III

Penyelesaian sistem persamaan linier dan sistem persamaan tak linier

Tujuan

Mahasiswa dapat menyelesaikan sistem persamaan linier dan sistem persamaan tak linier dengan

Matlab

Uraian

Dalam modul ini, kita berurusan dengan beberapa metode numeris untuk memecahkan sistem

persamaan linier dan sistem persamaan tak linier. Kita mulai dari sistem persamaan linier.

a. Sistem persamaan linier

Misalkan persamaan linier yang dimaksud adalah Ax=b

dimana

Persamaan linier Ax = B ini dapat diselesaikan dengan beberapa cara. Cara pertama adalah

dengan metode eliminasi Gauss atau bisa juga dengan eliminasi Gauss Jordan cara kedua adalah

dengan menghitung inverse matriks A dengan eliminasi Gauss-Jordan. Cara ketiga dengan

memanfaatkan modul built-in yang telah tersedia di MATLAB. Cara keempat dengan metode

iteratif Jacobi. Cara kelima dengan metode iteratif Gauss-Seidel.

Cara pertama telah dibahas dalam kuliah analisis numeris. Cara kedua dan ketiga akan dibahas:

Contoh:

Selesaikan sistem persamaan linier dibawah ini dengan menggunakan Matlab:

Page 11: Modul Praktikum Komputasi Proses Bag 1

11

Penyelesaian:

Masukkan kode berikut langsung ke jendela perintah Matlab. Matriks ‘a’ mengandung koefisien

u, v, dan w / Matriks b mengandung solusi dari setiap baris persamaan. Yaitu 5, -1, dan 2.

Matiriks ‘x’ adalah matriks yang mengandung nilai-nilai untuk u, v, dan w.

Cara invers matriks

>> a= [ 3.5 2 0; -1.5 2.8 1.9; 0 -2.5 3]

>> b= [ 5 -1 2]’

Atau boleh juga

>>b=[ 5 ;-1 ;2]

Matriks x dapat dihitung dengan pendekatan perkalian dengan invers matriks dari a yaitu a-1

:

a-1

. a x = a-1

.b

I.x = a-1

.b

x= a-1

.b

>> x=inv(a)*b

x =

1.4421

-0.0236

0.6470

Cara lain adalah dengan menggunakan operator backslash “\” ,dengan menganalogikan seperti

operasi matematika aljabar. Nilai x dapat diperoleh dengan persamaan aljabar x=A/b, sedangkan

untuk operasi matriks menggunakan backslash menjadi x=A\b.

>> x=a\b

x =

1.4421

-0.0236

0.6470

Solusi dari persamaan yang ditampilkan untu nilai u, v, dan w terdapat pada matriks x. Perintah

a\b menjalankan pembagian matrik balik. Perintah “ ’ ” melakukan transpose matriks b.

b. Sistem persamaan tak linier

Page 12: Modul Praktikum Komputasi Proses Bag 1

12

Sistem persamaan tak linier dapat diselesaikan dengan berbagai metode. Salah satunya dapat

dilakukan oleh modul built-in pada MATLAB. Fungsi yang built-in tersedia di matlab adalah

perintah fsolve. Fungsi fsolve pada dasarnya adalah suatu penyelesai dengan metode numerik

yang mampu menyelesaikan sistem persamaan tak linier.

Untuk sistem dari n buah persamaan kontinyu (f1..fn) dengan n variabel tyang tidak diketahui,

(x1..xn) diberikan oleh;

Perintah Matlab fsolve dapat digunakan untuk menentukan variabel yang tidak diketahui.

Penyelesaian masalah numeris (pelajari lagi mata kuliah Analisis Numeris) dengan perintah yang

sudah tersedia (“built-in”) di MATLAB. Contoh:

Selesaikan sistem persamaan dibawah ini dengan fsolve.

Jawab:

Cara paling efisien untuk menyelesaikan tipe persamaan sistem ini adalah untuk membuat fungsi

m-file yang mengandung persamaan dalam bentuk f(x)=0

Persamaan di atas dapat diubah menjadi bentuk berikut:

Program matlabnya sebagai berikut:

function y=contoh2_1(x)

y(1) = x(1)*x(1) + 4*x(2)*x(2) - 5;

y(2) = 2*x(1)*x(1)-2*x(1)-3*x(2) - 2.5;

Persamaan dipisahkan dengan matriks ‘f’ dengan operator “;” . Sekarang perintah fsolve harus

digunakan untuk menyelesaikan sistem .

Function y=contoh2_1(x)

y(1) = x(1)*x(1) + 4*x(2)*x(2) - 5;

y(2) = 2*x(1)*x(1)-2*x(1)-3*x(2) - 2.5;

>> x0=[.8 2] % nilai awal

>> fsolve(‘contoh2_1’,x0,optimset(‘fsolve’)) %Perintah memanggil m-file untuk menyelesaikan

Optimization terminated: first-order optimality is less than options.TolFun.

Page 13: Modul Praktikum Komputasi Proses Bag 1

13

x = 2.0000 0.5000

Solusinya adalah x(1)=2.000 dan x(2)=0.5000 .

Apabila nilai awal diubah maka bisa diperoleh nilai x(1) dan x(2) yang lain yaitu 0.6066 dan -

1.0669. artinya sistem persamaan tak linier tersebut mempunyai dua solusi.

Tugas sebelum praktikum

Ketik ulang contoh dari uraian di atas dalam bentuk file Matlab.

Tes awal

Jelaskan metode penyelesaian persamaan matriks dengan cara invers Ax=b

Praktikum 3.1

Selesaikan masalah ini dengan Matlab: Peristiwa transfer panas dalam pipa dapat diselesaikan

dengan metoda eliminasi gauss Jordan atau metode lain untuk system persamaan linier. Steam

jenuh pada temperatur 130ºC mengalir didalam pipa baja yang memiliki diameter dalam 20 mm

(D1) dan diameter luar 25 mm (D2). Pipa diinsulasi setebal 40 mm (D3-D2)/2 di bagian luar.

Koefisien pindah panas konveksi untuk steam di dalam dan diluar pipa diperkirakan sebesar hi=

1700 W/m2.K dan h0 = 3 W/m

2.K. Konduktivitas termal logam sebesar ks=45 W/m.K dan

insulasi sebesar ki=0.064 W/m.K . Temperatur lingkungan 25ºC.

Petunjuk:

Buatlah menjadi tiga persamaan transfer dari steam ke permukaan dalam, dari permukaan dalam

ke permukaan dalam, dan dari permukaan luar ke lingkungan.

Page 14: Modul Praktikum Komputasi Proses Bag 1

14

Perpindahan panas dari steam ke pipa

Perpindahan panas dari pipa ke insulasi

Perpindahan panas dari insulasi ke udara

Pengaturan kembali persamaan menghasilkan

Persamaan dalam bentuk matriks dibuat berdasarkan persamaan di atas. Buatlah matriksnya, lalu

selesaikan dengan cara yang telah dijelaskan.

Praktikum 3.2

Buatlah program Matlab untuk menyelesaikan system persamaan tak linier simultan berikut ini:

Hitunglah konversi kesetimbangan dari persamaan berikut:

2 A + B �� C K1 = CC/(CA2CB) = 5 x 10

-4

A+D �� C K2= CC/(CA.CD) = 4x10-2

Konsentrasi awalnya:

CA,0 = 40, CB,0 = 15, CC,0 = 0, CD,0 = 10

Semua konsentrasi dalam kmol/m3

Petunjuk:

Page 15: Modul Praktikum Komputasi Proses Bag 1

15

Variabel pada masalah ini adalah konversi, x1 dan x2, dari reaksi diatas. Konsentrasi tiap

komponen dapat dihitung dari konversi dan konsentrasi awal.

CA= CA,0 - 2x1 CB,0 – x2 CD,0 = 40 - 30x1 - 10x2

CB=(1-x1) CB,0 = 15 - 15x1

CC= CC,0 +x1 CB,0 +x2 CD,0 = 15x1 + 10x2

CD=(1-x2) CD,0 = 10 - 10x2

Satu set persamaan fungsi dari x1 dan x2 adalah

f1(x1,x2)= CC/(CA2CB) - 5x10

-4 = 0

f2(x1,x2) = CC/(CA.CD) - 4x10-2

= 0

nilai x1 dan x2 dapat dihitung dengan program Matlab dengan perintah fsolve sehingga f1=f2=0

Page 16: Modul Praktikum Komputasi Proses Bag 1

16

Praktikum IV

Turunan Numeris dan Integrasi Numeris

Tujuan

Mahasiswa dapat menyelesaikan masalah turunan dan integral secara numeris dengan Matlab.

Uraian

1. Turunan numeris

MATLAB tidak dapat menghitung turunan numeris dari fungsi secara langsung. Program

built-in hanya dapat menghitung fungsi yang sudah mempunyai nilai. Anda harus hafal

rumus turunan numeris (pelajari lagi mata kuliah Analisis Numeris). Berikut ini rumus

turunan numeris orde satu dan orde dua.

Turunan numeris pendekatan diferensial maju

Turunan numeris pendekatan diferensial mundur

Turunan pertama numeris pendekatan diferensial tengah

Turunan kedua numeris pendekatan diferensial tengah

2. Integral

Integral dengan metode numerik dapat menggunakan metode Simpson 1/3. Metode ini

memungkinkan perhitungan integral tanpa persamaan (hanya dengan data) maupun

dengan fungsi/persamaan untuk dihitung integralnya. Rumus integral metode simpson 1/3

adalah sebagai berikut:

Gambar 4.1. Ilustrasi metode Simpson

( )( ) ( )

x

xfxxfxf

−∆+≈′

( )( ) ( )

x

xfxxfxf

∆−

−∆−≈′

( ) ( )x

xxfxf

∆−−=

( )( ) ( )

( )211 02

xx

xfxfxf ii

i ∆+∆

−=′ −+

( )( ) ( ) ( )

( )( )x

x

xfxfxfxf iii

i ∆+∆

+−≅′′ ++ 0

22

12

Page 17: Modul Praktikum Komputasi Proses Bag 1

17

Matlab mempunyai modul built-in untuk menghitung integral yaitu fungsi ‘quadl’. Contoh

menghitung integral dengan Matlab

��

��������

� �

Dapat dihitung dengan script dibawah ini:

F = @(x) (1./(5*x.^2-2*x+0.2));

quadl(F,0,0.1)

atau

Q = quadl(@myfun,0,2);

Dimana myfun adalah file myfun.m

function y = myfun(x)

y = 1./( 5*x.^2-2*x+0.2);

Tugas sebelum praktikum

Buatlah penyelesaian integral dengan metode Simpson 1/3 untuk � ��������

�jika terdapat 5

data dalam diagram Kartesius (x,y) yaitu (0,a); (1,b); (2,c); (3,d); dan (4,e).

x y=f(x)

0 a

1 b

2 c

3 d

4 e

Tes awal

Tuliskan format perintah quadl

Page 18: Modul Praktikum Komputasi Proses Bag 1

18

Praktikum 4.1

Hitunglah kecepatan sesaat (turunan numeris) dari persamaan posisi benda S (dalam meter) =

20t-5t2-5√t (t dalam satuan detik) pada detik ke 5? Petunjuk: kecepatan sesaat adalah turunan

pertama S terhadap waktu y.

Praktikum 4.2

Media fermentasi berupa fungi Penicillium chrysogenum mengkonsumsi oksigen dan

melepaskan CO2 dengan laju tertentu. Laju konsumsi oksigen dan laju pelepasan CO2

ditunjukkan pada data berikut:

waktu

fermentasi

(jam)

laju pengeluaran

karbon dioksida

(g/jam)

laju pengambilan

oksigen

(g/jam)

140 15,72 15,49

141 15,53 16,16

142 15,19 15,35

143 16,56 15,13

144 16,21 14,20

145 17,39 14,23

146 17,36 14,29

147 17,42 12,74

148 17,60 14,74

149 17,75 13,68

150 18,95 14,51

Hitunglah jumlah oksigen yang dikonsumsi dan jumlah karbon dioksida yang dilepaskan dari

jam ke 140-150.

Petunjuk: jumlah oksigen yang dikonsumsi = ∫ (laju konsumsi oksigen) d(waktu)

Praktikum 4.3 Hitunglah waktu reaksi dari reaktor batch volume tetap isotermal dengan

persamaan reaksi

A � B ; rA=-k.CA2.

Diketahui k = 0,01 s/L.mol, CA0 = 2mol/L, CAf = 0,2 mol/L, waktu reaksi dapat dihitung

dengan penurunan rumus

rA = - (dCA/dt)

-k.CA2.= - (dCA/dt)

Sehingga waktu reaksi dapat dihitung dengan rumus: t=-����

������

� �