Page 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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=-����
������
� �