Anda di halaman 1dari 126

KOMPUTASI PROSES TEKNIK KIMIA

MENGGUNAKAN MATLAB

Teguh Kurniawan, ST.










Jurusan Teknik Kimia Fakultas Teknik
Universitas Sultan Ageng Tirtayasa
2006
-3
-2
-1
0
1
2
3
-2
0
2
-10
-5
0
5
X
Y
F
(
X
,
Y
)
i
Kata Pengantar
Segala rasa syukur saya panjatkan pada Allah SWT yang telah
memberikan segala daya sehingga terwujudlah buku ajar dihadapan para pembaca.
Momen bulan Ramadhan 1427 H telah memberikan kekuatan tersendiri bagi saya
untuk memberikan karya yang sebaik-baiknya. Meskipun demikian, saya sadar
tiada karya manusia yang sempurna. Oleh karena itu, diawal halaman pengantar
saya ungkapkan harapan yang sangat besar kepada para pembaca seluruhnya
untuk memberikan saran demi perbaikan buku ajar.
Perkembangan perangkat keras (hardware-microprocessor) yang amat
cepat, membuat teknologi perangkat lunak (software) menjadi cepat pula
berkembang. Berbagai macam perangkat lunak untuk mendukung penyelesaian
persoalan keteknikan (engineering) bermunculan. Di mulai dengan Basic, Pascal,
FORTRAN sebagai program pendahulu. Bahkan FORTRAN sempat menjadi
primadona senjata ampuh bagi orang teknik. Belakangan muncul POLYMATH,
MATHCAD dan MATLAB sebagai generasi baru perangkat lunak bidang teknik
dan MIPA. Perangkat lunak yang terakhir disebut, saat ini sudah sangat banyak
penggunanya baik dari kalangan akademisi maupun praktisi karena berbagai
keunggulannya dalam menyelesaikan persoalan numerik dan simulasi proses.
Salah satu bidang keteknikan yang sarat dengan perhitungan numerik,
pemodelan serta simulasi fenomena proses adalah bidang teknik kimia.
Penggunaan paling banyak di jurusan teknik kimia adalah pada bagian teknik
reaktor, pengendalian proses, kinetika katalisis, termodinamika, operasi
perpindahan kalor, peristiwa perpindahan dan tentunya komputasi kroses teknik
kimia. Seiring dengan makin luasnya penggunaan MATLAB di kalangan industri,
maka sebagai langkah untuk mempersiapkan para mahasiswa agar siap terjun di
dunia kerja sudah saatnya bagi setiap kampus yang berorientasi pada kebutuhan
pasar untuk mengajarkan MATLAB.
Materi buku ajar disusun dengan pendekatan penyelesaian kasus-kasus
persoalan numerik teknik kimia dengan menggunakan subrutin MATLAB versi
7.0 seperti roots, fzero, fsolve, quad, ode23, fminsearch dll. Namun demikian
dalam buku ajar ini juga tetap dimasukkan berbagai materi asas numerik untuk
mencegah terjadinya pengetahuan semu (black box) seperti pemrograman Gauss,
Newton-Raphson, bisection dalam bahasa MATLAB.
Harapan penulis dengan hadirnya buku ajar ini dapat membantu
memperkenalkan MATLAB sekaligus menjadi acuan praktis untuk memahami
MATLAB sebagai alat untuk menyelesaikan persoalan-persoalan dalam dunia
teknik, khususnya teknik kimia. Akhir kata saya ucapkan terima kasih kepada
Universitas Sultan Ageng Tirtayasa (UNTIRTA) atas segala dukungannya.

Cilegon, 30 Oktober 2006


Teguh Kurniawan, ST
Staf Pengajar Komputasi Proses Teknik Kimia
J urusan Teknik Kimia-Fakultas Teknik
Universitas Sultan Ageng Tirtayasa
ii
DAFTAR ISI

Halaman
Kata Pengantar..........................................................................................................i
Daftar Isi..................................................................................................................ii
Daftar Tabel............................................................................................................iii
Daftar Gambar........................................................................................................iv
Bab 1 Pengenalan MATLAB...................................................................................1
Bab 2 Sistem Persamaan Linier.............................................................................27
Bab 3 Persamaan Tak Linier..................................................................................40
Bab 4 Optimisasi....................................................................................................62
Bab 5 Regresi Linier dan Non Linier.....................................................................65
Bab 6 Integrasi.......................................................................................................78
Bab 7 Persamaan Diferensial Biasa.......................................................................83
Bab 8 Persamaan Diferensial Parsial...................................................................109
Daftar Pustaka.........................................................................................................v





Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 1 dar i 101
Bab 1
Pengenalan Matlab & Pengantar Pemrograman

1.1 Perangkat Lunak MATLAB
MATLAB merupakan perangkat lunak produk dari The MathWorks,Inc
yang memadukan kemampuan perhitungan, pencitraan, dan permograman dalam
satu paket. MATLAB merupakan bahasa komputasi teknik yang lebih mudah dan
lebih canggih dalam penggunaannya dibandingkan dengan bahasa teknik
pendahulunya seperti FORTRAN, BASIC, PASCAL. Sebetulnya MATLAB
tidaklah berbeda dengan kalkulator scientific yang sehari-hari kita (orang teknik)
kenal. Bedanya MATLAB adalah kalkulator super canggih, karena MATLAB
memiliki keunggulan sbb:
1. Menghitung sampai dengan ketelitian 16 angka dibelakang koma,
sehingga perhitungan lebih akurat.
2. Menyediakan fasilitas untuk membuat program sesuai dengan kebutuhan
kita.
3. Mampu menampilkan data-data dalam grafik 2-D hingga 3-D dengan
pewarnaan yang akan memudahkan interpretasi data yang kita miliki.
4. Menyediakan perintah-perintah praktis untuk menyelesaikan berbagai
macam persoalan matematis seperti persamaan pangkat tinggi
(polinomial), persamaan linier, persamaan tak linier, optimasi fungsi,
persamaan diferensial biasa, persamaan diferensial parsial, fungsi integral,
interpolasi data, operasi aljabar, operasi matrik, korelasi data-data dan
masih banyak lagi.
5. Memiliki kemudahan dalam mengelola data-data yang sangat banyak
dalam bentuk vektor/matrik.
6. Memiliki fasilitas toolbox yang berisi subrutin untuk menyelesaikan
persoalan tertentu dan dapat dengan mudah dimodifikasi serta ditambah
untuk pengembangan lebih lanjut.






Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 2 dar i 101
Secara garis besar lingkungan kerja MATLAB terdiri atas beberapa unsur,
yaitu:
1. Command window (layar kendali)
2. Workspace (rak data)
3. Command history (layar pengingat)
4. M-file (editor ) akan dibahas pada bagian khusus.


Gambar 1.1 Lingkungan kerja MATLAB 7.0

Untuk lebih jelas mengenai lingkungan kerja MATLAB perhatikan contoh
berikut ini (lihat gambar 1.2). Pada command window ketikkan a = 2 dan b = 4,
maka secara otomatis MATLAB akan menyimpan variabel a dengan harga 2 dan
variabel b dengan harga 4 pada workspace. Variabel a dan b dapat dipanggil
setiap saat dibutuhkan. Misalkan kita ingin menghitung perkalian a dan b,
kemudian menyimpannya dengan nama variabel c. Pada command window
ketikkan c = a*b, maka MATLAB akan memanggil harga a dan b kemudian
melakukan operasi perkalian dan menyimpan hasilnya dengan nama variabel c.
Segala sesuatu yang telah diketikkan pada command window disimpan dalam
command history dan dapat dipanggil kembali dengan menggunakan key arrow
atas dan bawah ().
Command window merupakan
jendela utama MATLAB. Tempat
untuk mengeksekusi perintah
menampilkan masukan dan hasil
Workspace berfungsi sbg
tempat menyimpan secara
ototmatis segala variabel
masukan dan hasil
Command history adalah tempat menyimpan
secara otomatis segala perintah yang telah
dituliskan pada command windows.




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 3 dar i 101

Gambar 1.2 Sistem kerja MATLAB
Sekali kita mendefinisikan sebuah variabel, MATLAB akan menyimpan
dalam workspace untuk selamanya. Untuk menghapus seluruh variabel yang
telah dibuat dapat menggunakan perintah clear. Variabel a, b, dan c yang telah
tersimpan akan hilang. Jika ingin membersihkan layar command window tanpa
menghapus variabel-variabelnya kita dapat menggunakan perintah clc. Beberapa
nama variabel yang telah didefinisikan oleh MATLAB sebagai berikut:
Tabel 1.1 Variabel terdefinisi dalam MATLAB
Var Keterangan
eps Bilangan yang jika ditambahkan dengan suatu bilangan lain tidak
mengubah besar bilangan lain itu. Epsilon berharga 2.2204e-016
pi 3.1416....
inf Tak berhingga (Infinity). Simbol matematika = ~
NaN Bilangan tak tentu (Not a Number) contoh 0/0, ~ - ~
i,j Bilangan imajiner (akar dari -1)
Perintah memasukan
data variabel a
Perintah memasukan
data variabel b
Perintah menghitung
harga variabel c
Menyimpan secara
otomatis harga
variabel a, b , dan c
Menyimpan secara otomatis perintah-perintah
yang telah diketikkan di command window




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 4 dar i 101
Untuk menamakan sebuah variabel sebaiknya tidak memakai nama-nama
yang telah didefinisikan oleh MATLAB.

1.2 Matrik, Vektor dan MATLAB
MATLAB adalah singkatan dari matrix laboratory. Oleh karena itu
pemahaman terhadap konsep matrik harus memadai agar dapat memanfaatkan
MATLAB sebagai bahasa komputasi dengan maksimal. Vektor merupakan matrik
yang hanya terdiri atas satu kolom atau satu baris saja.
Penulisan matrik di MATLAB
Tanda pisah antar elemen matrik
Tanda koma (,) atau spasi digunakan untuk memisahkan elemen-elemen satu
baris. Tanda titik koma(;) digunakan untuk memisahkan elemen-elemen satu
kolom.
>> a=[ 1, 2, 3]
a =
1 2 3

>> b=[ 1; 2; 3]
b =
1
2
3

>> A=[ 1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
Matrik transposisi
>> A'
ans =

1 4 7
2 5 8
3 6 9




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 5 dar i 101
Menentukan ukuran matrik
>> si ze( A)
ans =
3 3
Menentukan determinan matrik
>> det ( A)
ans =
0
Menentukan invers matrik
>> i nv( A)
War ni ng: Mat r i x i s cl ose t o si ngul ar or badl y scal ed.
Resul t s may be i naccur at e. RCOND = 1. 541976e- 018.
ans =
1. 0e+016 *
- 0. 4504 0. 9007 - 0. 4504
0. 9007 - 1. 8014 0. 9007
- 0. 4504 0. 9007 - 0. 4504
Perhitungan invers matrik A menggunakan MATLAB ternyata
memunculkan peringatan yang menyatakan bahwa matrik A adalah singular (tak
wajar). Hal ini bisa diketahui lebih awal dengan melihat harga determinan A.
Apabila determinan A berharga nol dapat dipastikan matrik A adalah matrik
singular.

Vektor baris adalah matrik yang terdiri atas satu baris saja.
>> B=[ 2: 6]
B =
2 3 4 5 6
Penulisan seperti di atas akan menghasilkan vektor baris dengan selisih 1

>> C=[ 2: 2: 6]
C =
2 4 6
Penulisan seperti di atas akan menghasilkan vektor baris dengan selisih 2






Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 6 dar i 101
Vektor kolom adalah matrik yang terdiri atas satu kolom saja
>> V=[ 2: 0. 5: 4] '
V =
2. 0000
2. 5000
3. 0000
3. 5000
4. 0000
Penulisan seperti di atas akan menghasilkan vektor kolom dengan selisih 0.5

Menentukan ukuran vektor
>> l engt h( V)
ans =
5

Matrik kerancang
Matrik kerancang adalah matrik berdimensi besar yang sebagian besar
elemennya adalah nol. Misalnya:
1 0 0 0 3 0 6
0 0 8 0 0 0 0
0 0 0 7 9 0 0
0 0 0 0 0 0 0
1 0 0 0 0 0 0
7 7 0 0 0 0 0
0 0 0 0 0 9 0












Matrik segitiga atas
Matriks segitiga atas (disimbolkan U atau R) Adalah matriks bujur sangkar
yang semua elemen di bawah diagonalnya nol


4
1 2 3 4
0 5 6 7
0 0 8 9
0 0 0 10
U



=







Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 7 dar i 101
Matrik segitiga bawah
Matrik segitiga bawah (disimbolkan L) Adalah matriks bujur sangkar yang
semua elemen di atas diagonalnya nol.


Matrik identitas
Matrik identitas adalah matrik yang elemen diagonalnya bernilai 1 dan
elemen lainnya bernilai nol.
4
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
I



=




Perhatikan cara membuat matrik identitas tanpa harus mengetik elemen
per elemen anggota matrik sbb:
>> di ag( ones( 4, 1) )
ans =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
atau
>> eye( 4)
ans =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

Matriks diagonal
Matrik diagonal adalah matrik yang elemen selain diagonalnya bernilai nol.
4
1 0 0 0
2 5 0 0
3 6 8 0
4 7 9 10
L



=







Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 8 dar i 101
4
1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4
D



=




Perhatikan cara membuat matrik diagonal tanpa harus mengetik elemen per
elemen sbb:
>> di ag( 1: 4)
ans =
1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4
Matrik Tridiagonal

Perhatikan cara membuat matrik diagonal tanpa harus mengetik elemen per
elemen sbb:
>> di ag( - 2*ones( 9, 1) ) +di ag( ones( 8, 1) , 1) +di ag( ones( 8, 1) , - 1)
ans =
- 2 1 0 0 0 0 0 0 0
1 - 2 1 0 0 0 0 0 0
0 1 - 2 1 0 0 0 0 0
0 0 1 - 2 1 0 0 0 0
0 0 0 1 - 2 1 0 0 0
0 0 0 0 1 - 2 1 0 0
0 0 0 0 0 1 - 2 1 0
0 0 0 0 0 0 1 - 2 1
0 0 0 0 0 0 0 1 - 2

2 1 0 0 0 0 0 0 0
1 2 1 0 0 0 0 0 0
0 1 2 1 0 0 0 0 0
0 0 1 2 1 0 0 0 0
0 0 0 1 2 1 0 0 0
0 0 0 0 1 2 1 0 0
0 0 0 0 0 1 2 1 0
0 0 0 0 0 0 1 2 1
0 0 0 0 0 0 0 1 2









Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 9 dar i 101
Aljabar Matrik
Operasi aljabar matrik maupun skalar menggunakan simbol yang tidak jauh
berbeda. Berikut ini hirarki operasi aljabar dalam MATLAB. Pertama ^ kedua *
ketiga / atau \ dan terakhir + dan -. Keterangan:
^ Pangkat
* Perkalian
/ Pembagian matrik kanan (mis: B/A = B*inv(A))
\ Pembagian matrik kiri (mis: A\B = inv(A)*B)
+ Penambahan
- Pengurangan
Penjumlahan dan pengurangan
Hanya dapat dilakukan jika matrik-matrik yang akan dijumlahkan dan
dikurangkan memiliki orde sama.
2 3 1 6 2 3 1 6 4 6 2 12
1 4 5 2 1 4 5 2 2 8 10 4

+ =




2 3 1 6 2 3 1 6 0 0 0 0
1 4 5 2 1 4 5 2 0 0 0 0

=




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

2 3 1 6
1 4 5 2

>> A+A
ans =
4 6 2 12
2 8 10 4
>> A- A
ans =
0 0 0 0
0 0 0 0




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 10 dar i 101
Perkalian matrik
AB Syarat jumlah kolom A = jumlah kolom baris B
AB BA
Misal
[ ]
1 2 3 A =
1
2
3
B


=





[ ]
1
1 2 3 2 1 4 9 14
3
AB


= = + + =




(1 x 3) (3 x 1)=(1 x 1)

[ ]
1 1 2 3
2 1 2 3 2 4 6
3 3 6 9
BA


= =




Operasi perkalian matrik dalam MATLAB dilakukan dengan simbol *
>> A=[ 1, 2, 3]
A =
1 2 3

>> B=[ 1; 2; 3]
B =
1
2
3
>> A*B
ans =
14
>> B*A
ans =
1 2 3
2 4 6
3 6 9




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 11 dar i 101
Pembagian matrik kanan
1
/
xA c
x cA
x c A

=
=
=

Misalkan:
[ ]
1 2 3
2 5 4 20 15 8
4 3 1
x


=




>> A=[ 1 2 3; 2 5 4; 4 3 1]
A =
1 2 3
2 5 4
4 3 1
>> c=[ 20 15 - 8]
c =
20 15 - 8
>> x=c/ A
x =
- 8. 6667 3. 0952 5. 6190

Pembagian matrik kiri
1
\
Ax c
x A c
x A c

=
=
=

Misalkan:
1 2 3 20
2 5 4 15
4 3 1 8
x


=





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




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 12 dar i 101
>> c=[ 20; 15; - 8]
c =
20
15
- 8

>> x=A\ c
x =
- 1. 0000
- 4. 7143
10. 1429

Beberapa fungsi built in matrik -perintah yang telah terdefinisi dalam
MATLAB- akan sangat berguna untuk mempermudah pekerjaan perhitungan
matrik, disajikan sebagai berikut.
expm eksponensial dari sebuah matrik
logm logaritma dari sebuah matrik
sqrtm akar kuadrat dari sebuah matrik

Operasi elemen matrik
Seringkali dibutuhkan operasi antar elemen-elemen matrik, oleh karena itu
MATLAB telah menyediakan perintah untuk melakukan operasi elemen matrik
dengan simbol .* (titik diikuti dengan bintang). Perkalian elemen hanya dapat
dilakukan untuk orde matrik yang sama.
1. .* perkalian antar elemen matrik. A.*B adalah perkalian antar elemen per
elemen matrik A dengan B. A dan B harus memiliki ukuran yang sama
kecuali jika salah satunya adalah skalar (bilangan tunggal).
2. ./ Pembagian elemen kanan. A./B adalah matrik dengan elemen-elemen
A(i,j)/B(i,j). A dan B harus memiliki ukuran yang sama, kecuali jika salah
satunya adalah skalar.




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 13 dar i 101
3. .\ Pembagian elemen kiri. A.\B adalah matrik dengan elemen-elemen
B(i,j)/A(i,j). A dan B harus memiliki ukuran yang sama, kecuali jika salah
satunya adalah skalar.
4. .^ Pangkat elemen. A.^B is adalah matrik dengan elemen-elemen A(i,j)
pangkat B(i,j). A dan B harus memiliki ukuran yang sama, kecuali jika
salah satunya adalah skalar.
Berikut ini masing-masing contoh operasi elemen matrik.
>> A=[ 1 2; 3 4]
A =
1 2
3 4

>> A. *A
ans =
1 4
9 16
>> A. / A'
ans =

1. 0000 0. 6667
1. 5000 1. 0000

>> A. \ A'
ans =
1. 0000 1. 5000
0. 6667 1. 0000

>> A. ^A
ans =
1 4
27 256





Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 14 dar i 101
1.3 Membuat Grafik
Grafik 2 Dimensi
Perintah menggambar grafik 2D
plot(x,y)
Misalkan:
x 1 2 3 4 5
y 2.7 7.4 20.1 54.6 148.4

>> x=[ 1, 2, 3, 4, 5]
x =
1 2 3 4 5
>> y=[ 2. 7, 7. 4, 20. 1, 54. 6, 148. 4]
y =
2. 7000 7. 4000 20. 1000 54. 6000 148. 4000






>> pl ot ( x, y)
>> xl abel ( ' x' )
>> yl abel ( ' y' )

Gambar 1.3 Grafik 2 Dimensi
Grafik 3 Dimensi
Perintah menggambar grafik 3D
surf(x,y,z)
Misalkan:
x y z(x=1) z(x=2) z(x=3)
1 1 2 5 10
2 2 5 8 13
3 3 10 13 18
4 17 20 25
1 1.5 2 2.5 3 3.5 4 4.5 5
0
50
100
150
x
y




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 15 dar i 101
>> x=[ 1 2 3]
x =

1 2 3

>> y=[ 1 2 3 4]

y =

1 2 3 4

>> z=[ 2 5 10; 5 8 13; 10 13 18; 17 20 25]

z =

2 5 10
5 8 13
10 13 18
17 20 25

>> sur f ( x, y, z)
>> xl abel ( ' x' )
>> yl abel ( ' y' )
>> zl abel ( ' z' )
Gambar 1.4 Grafik 3 Dimensi
Untuk mempercantik tampilan dan mempermudah penafsiran grafik dengan
menambah legenda warna ketikkan perintah berikut ini.
>> shadi ng i nt er p
>> col or bar

1
1.5
2
2.5
3
1
2
3
4
0
5
10
15
20
25
x
y
z




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 16 dar i 101

Gambar 1.5 Grafik 3 Dimensi yang diperhalus

Grafik 3 Dimensi Semu
Apabila penafsiran grafik 3D seperti tercetak di muka masih dirasakan
sulit, MATLAB telah menyediakan perintah untuk membuat grafik 3D menjadi
grafik 2D.
>> pcol or ( x, y, z)
>> xl abel ( ' x' )
>> yl abel ( ' y' )
>> zl abel ( ' z' )
>> shadi ng i nt er p
>> col or bar



Gambar 1.6 Grafik 3 Dimensi semu

1.4 Algoritma & Pemrograman
Algoritma adalah urutan langkah-langkah logis yang dibutuhkan untuk
melakukan suatu tugas spesifik. Algoritma dapat dituliskan dalam bentuk kalimat,
namun lebih umum dituliskan dalam bentuk diagram alir (flow chart).




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 17 dar i 101
Tabel 1.2 Simbol algoritma pemrograman
Simbol Nama Fungsi



Garis alir

Menyatakan aliran logika



Terminal

Menyatakan awal atau
akhir suatu program.



Proses

Menyatakan perhitungan
atau manipulasi data.




Masukan/keluaran

Menyatakan masukan
atau keluaran data dan
informasi



Kondisi/keputusan

Menyatakan sebuah
perbandingan, pertanyaan
atau keputusan yang
menentukan lintasan
mana yang akan diikuti.


Konektor Menyatakan perpindahan
halaman.

M-file
Sampai saat ini kita masih menjalankan perintah-perintah serta masukan
data dengan mengetikkannya secara langsung dalam command window. Tentunya
akan sangat merepotkan jika kita dihadapkan pada persoalan yang menuntut
pembuatan program yang sangat panjang berpuluh-puluh bahkan beratus-ratus
baris perintah. Untuk kemudahan dalam membuat program, MATLAB
menyediakan fasilitas m-file atau editor sebagai tempat untuk mengetikkan
perintah dan menyimpan program-program yang dibuat. Penulisan program dalam




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 18 dar i 101
m-file dapat dilakukan dengan dua cara, yaitu skrip m-file dan fungsi m-file.
Berikutnya akan dibahas satu per satu.

Gambar 1.7 Membuka m-file
Aturan penamaan m-file
Penamaan m file baik untuk skrip maupun fungsi memiliki aturan tertentu
yang harus dipatuhi. Berikut ini aturan penamaan m-file pada MATLAB 7.
1. Penamaan harus dimulai dengan huruf latin (a-z atau A-Z) baru kemudian
boleh diikuti dengan angka. Huruf kapital dengan huruf kecil tidaklah
sama (FILE file)
2. Tidak boleh ada spasi, titik, koma, titik koma, dan segala macam tanda
baca lainnya kecuali underscore ( _ ).
3. Nama sebuah fungsi m-file sebaiknya disamakan dengan nama fungsinya.
4. Sebaiknya tidak menggunakan nama yang telah didefinisikan sebagai
fungsi MATLAB tertentu, contoh roots, fzero,zeros dll.
Cara membuka M-File:
File/New/M-File




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 19 dar i 101
Skrip m-file
Skrip adalah file sederhana yang tidak memiliki input argumen dan output
argumen. Definisi lain yang mudah diingat, skrip adalah penulisan program
MATLAB dalam m-file dengan bentuk bukan fungsi. Sebagai contoh berikut ini
adalah penulisan perintah-perintah dalam m-file untuk membuat grafik 3D yang
telah dituliskan sebelumnya secara langsung pada command window. File ini
disimpan dengan nama coba_m_file.m

Gambar 1.7 Skrip coba_m_file.m
Untuk memberikan komentar dalam m-file dapat dilakukan dengan
menambahkan % sebelum mengetikkan komentar atau keterangan yang
diperlukan seperti terlihat pada coba_m_file di atas.
Eksekusi atau menjalankan skrip tersebut dapat dilakukan dengan berbagai
cara yang berbeda sbb:




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 20 dar i 101
1. Tekan tombol F5 pada keyboard, atau
2. Klik debug kemudian run, atau
3. Aktifkan command window. Ketikkan nama file yang akan dieksekusi.
>>coba_m_f i l e.

Fungsi m-file
Seperti yang telah dijelaskan sebelumnya selain dengan skrip kita dapat
juga melakukan pemrograman dalam bentuk lain yaitu fungsi m-file. Penjelasan
mengenai cara membuat fungsi m-file dilakukan dengan pendekatan contoh soal
kasus 1. Namun sebelum menginjak pada pembahasan cara membuat m-file, saya
akan mengajak untuk melihat beberapa fungsi yang telah ada dalam MATLAB
sebagai fungsi built in sebagai berikut.
Tabel 1.3 Fungsi built in MATLAB
Fungsi Keterangan
sin(x) harga sinus dari x, radian
sind(x) harga sinus dari x, derajat
cos(x) harga kosinus dari x, radian
cosd(x) harga kosinus dari x, derajat
tan(x) harga tangen dari x, radian
tand(x) harga tangen dari x, derajat
log(x) logaritma dengan basis bilangan natural e dari x
log10(x) logaritma dengan basis bilangan 10 dari x
log2(x) logaritma dengan basis bilangan 2 dari x
exp(x) eksponensial dari x
sqrt(x) akar kuadrat dari x

Kasus 1 [volume tangki penyimpan]
Senyawa kimia yang mudah menguap pada temperatur kamar biasa disimpan
dalam fasa cair pada tekanan uapnya. Dalam kasus ini n-butana (C
4
H
10
) di simpan
pada tekanan 2,581 bar dan temperatur 300 K. Penyimpanan skala besar (bulk>50
m
3
) n-butana seringkali dilakukan dalam tangki yang berbentuk bola (spherical).
Sebuah tangki penyimpan n-butana berbentuk bola. Hitunglah volume tangki jika
bola memiliki jari-jari 2,3,9,10 m!.




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 21 dar i 101
Jawaban:
3
4
3
bola
V r =
Algoritma pemrograman

Penulisan program untuk kasus 1 kita dilakukan dengan dua cara, yaitu
dalam bentuk skrip dan fungsi .










Mulai
Masukan harga
Jari-jari, r (m)
Hitung harga
Volume bola
V = 4/3**r^3
Harga Volume
Bola (m3)
Selesai




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 22 dar i 101
Penulisan program dalam bentuk skrip

%kasus_1. m
cl c
cl ear

r = 2: 10
V =4/ 3*pi *r . ^3

%Membuat gr af i k V t er hadap r
pl ot ( r , V)
xl abel ( ' j ar i - j ar i [ m] ' )
yl abel ( ' Vol ume [ m^3 ] ' )

Eksekusi kasus_1.m dalam command window
>>kasus_1
r =
2 3 4 5 6 7 8 9 10

V =
1. 0e+003 *
Col umns 1 t hr ough 5
0. 0335 0. 1131 0. 2681 0. 5236 0. 9048
Col umns 6 t hr ough 9
1. 4368 2. 1447 3. 0536 4. 1888
2 3 4 5 6 7 8 9 10
0
500
1000
1500
2000
2500
3000
3500
4000
4500
jari-jari [m]
V
o
l
u
m
e

[
m
3

]

Gambar 1.8 Volume vs jari-jari tangki penyimpan [skrip]









Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 23 dar i 101
Penulisan program dalam bentuk fungsi
%kasus1. m
f unct i on V = kasus1( r )
V = 4/ 3*pi *r . ^3
%Membuat gambar
pl ot ( r , V)
xl abel ( ' j ar i - j ar i [ m] ' )
yl abel ( ' vol ume [ m^3 ] ' )

Eksekusi fungsi kasus1.m di command window
>> kasus1( 2: 10)
ans =
1. 0e+003 *
Col umns 1 t hr ough 5
0. 0335 0. 1131 0. 2681 0. 5236 0. 9048
Col umns 6 t hr ough 9
1. 4368 2. 1447 3. 0536 4. 1888
Eksekusi sebuah fungsi dapat pula dilakukan dengan perintah berikut ini.
feval(fungsi,x1,...,xn)
x1,....,xn adalah varibel bebas yang akan dievaluasi.
>> f eval ( ' kasus1' , [ 2: 10] )
ans =
1. 0e+003 *
Col umns 1 t hr ough 5
0. 0335 0. 1131 0. 2681 0. 5236 0. 9048
Col umns 6 t hr ough 9
1. 4368 2. 1447 3. 0536 4. 1888
2 3 4 5 6 7 8 9 10
0
500
1000
1500
2000
2500
3000
3500
4000
4500
jari-jari [m]
V
o
l
u
m
e

[
m
3

]

Gambar 1.8 Volume vs jari-jari tangki penyimpan [fungsi]




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 24 dar i 101
Kontrol aliran
MATLAB memiliki kontrol aliran yang berguna dalam menentukan
berbagai keputusan selanjutnya sebuah program, diantaranya adalah for, if, while,
dan switch. Pernyataan relasi yang sering digunakan dalam kontrol aliran adalah
sebagai berikut:
== sama dengan > l ebi h besar dar i
<= kur ang dar i sama dengan ~ oper at or l ogi ka t i dak
>= l ebi h dar i sama dengan & oper at or l ogi ka dan
~= t i dak sama dengan | oper at or l ogi ka at au
< kur ang dar i
for
%i deal . m
cl ear
cl c
R = 8. 314; %J / mol . K
T =[ 310: 10: 400] ; %K
P =1e5; %Pa
f or i = 1: 10
V( i ) =R*T( i ) / P; %m3/ mol
end
V
if
%ni l ai . m
x = i nput ( ' masukkan ni l ai uj i an=' ) ;
i f x >= 80
di sp( ' Ni l ai A' )
el sei f x >= 65
di sp( ' Ni l ai B' )
el sei f x >= 55
di sp( ' Ni l ai C' )
el sei f x >= 45
di sp( ' Ni l ai D' )
el se
di sp( ' Ni l ai E' )
end




Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 25 dar i 101
While
%di f f . m
di f =1;
x2=7
whi l e di f > 0. 0005
x1=x2- cos( x2) / ( 1+x2) ;
di f =abs( x2- x1) ;
x2=x1
end

Switch
%pi l i h. m
met hod = ' Bi l i near ' ;

swi t ch l ower ( met hod)
case {' l i near ' , ' bi l i near ' }
di sp( ' Met hod i s l i near ' )
case ' cubi c'
di sp( ' Met hod i s cubi c' )
case ' near est '
di sp( ' Met hod i s near est ' )
ot her wi se
di sp( ' Unknown met hod. ' )
end

1.5 Manfaatkan fasilitas help!
Masih sangat banyak sekali bahasan MATLAB yang berlum tercakup
dalam buku ajar ini. Semua hal yang berkaitan dengan operasional MATLAB
sudah ada dalam help MATLAB. Kita tinggal membuka dan mempelajarinya
sendiri. Apabila menemukan kesulitan dalam melakukan pemrograman
menggunakan MATLAB, kita dapat memanfaatkan fasilitas help. Caranya dengan
mengetikkan help kemudian ketikan topik yang kita cari.






Bab 1 Pengenalan MATLAB &Pengantar Pemrograman
Hal aman 26 dar i 101
Tugas 1: Pengenalan MATLAB dan Membuat Program Sederhana
Nomor 1 (Tutorial MATLAB)
Baca tutorial Cepat Mahir MATLAB, Bab 1 Memulai Menggunakan
MATLAB dan Bab 5 Fungsi M-File.
Nomor 2 (Persamaan Antoine)
Buat sebuah algoritma dan program dalam M-file untuk menghitung tekanan uap
murni n-heksana dalam rentang temperatur 25 - 100
o
C, dengan menggunakan
persamaan Antoine sbb:
ln /( ) P A B T C = +

Dengan
A = 14.0568 T = Temperatur (K)
B = 2825.42 P = Tekanan uap murni (kPa)
C = -42.7089
Buat pula grafik P terhadap T-nya menggunakan rutin plot dalam MATLAB.
Nomor 3 (Equimolar Counterdiffusion)
Gas amoniak (A) berdifusi melalui pipa sepanjang 0,10 m yang berisi gas N2 (B)
pada tekanan 1,0132 x 105 Pa dan temperatur 298 K. Tekanan pada titik 1 P
A,1
=
1,013 x 10
4
Pa dan pada titik 2 P
A,2
= 0,507 x 10
4
Pa. Diffusivitas D
AB
= 0,230
x 10
-4
m
2
/s. Laju diffusi gas amoniak (A) dapat dievaluasi menggunakan Hukum
Ficks berikut ini:
* 2 1 2
( )
[ . /( . )]
AB A A
A
D P P
J kmol A s m
RT z

R = 8314 J/(kmol.K)
Buat sebuah algoritma dan program MATLAB berupa suatu fungsi dalam M-file
untuk menghitung laju diffusi gas amoniak.
Petunjuk : program terdiri atas 2 buah m-file. 1 buah untuk menulis fungsi, 1 buah untuk
mengeksekusi fungsi.





_____________________________________o0o_____________________________________





Bab 2 Sistem Persamaan Linier
Hal aman 27 dar i 101
Bab 2
Sistem Persamaan Linier

2.1 Definisi Vektor-Vektor TSL (Terhubung Secara Linier)
Sehimpunan vektor x
1
, x
2
, ......, x
n
yang masing-masing berukuran m
disebut terhubung secara linier (TSL) jika dapat ditemukan sehimpunan
konstanta
1 2
, ,....,
n
k k k dengan harga tidak semuanya nol, sehingga:
1 1 2 2
.... 0
n n
k x k x k x + + + =

Catatan:
0 adalah vektor yang semua elemennya nol berukuran m.
Contoh himpunan vektor TSL

1 2 3
1 2 3
2 , 4 , 6
3 6 9
x x x


= = =






2.2 Definisi Vektor-Vektor TTSL
Sehimpunan vektor x
1
, x
2
, ......, x
n
yang masing-masing berukuran m
disebut tak terhubung secara linier (TTSL) jika TIDAK dapat ditemukan
sehimpunan konstanta seperti pada vektor TSL.
Penentuan keterhubungan linier dari vektor-vektor dengan cara yang telah
didefinisikan diatas tidaklah praktis karena hanya mengandalkan prinsip coba-
coba. Metode praktis yang dapat diterapkan untuk menentukan keterhubungan
linier dari vektor-vektor adalah ortogonalisasi Gram Schmidt.


1 2 3 0
( 2) 2 (1) 4 +(0) 6 0
3 6 9 0


+ =



1
k
2
k
3
k




Bab 2 Sistem Persamaan Linier
Hal aman 28 dar i 101
2.3 Konsep Keortogonalan
Sehimpunan dari n buah vektor berdimensi m (x
1
, x
2
, ......, x
n
) disebut
himpunan ortogonal/saling tegak lurus jika kedua syarat di bawah ini terpenuhi.
( )
( )
0 dan
0 dengan , 1,2,...,
T
i j
T
i j
x x untuk i j
x x untuk i j i j n
=
= =

Sehimpunan vektor-vektor yang ortogonal pasti TTSL, namun TTSL belum tentu
ortogonal. Diagram vennya sbb:


Contoh:
(1)
1 2
3 0.6
,
1 1.8
x x

= =





Pada praktek komputasi seringkali ditemukan ( ) 0
T
i j
x x hampir ortogonal.
Untuk ( )
5
10
T
i j
x x

secara praktis bisa dikatakan ortogonal.

Ortogonalisasi Gram-Schmidt
Menegakkan sehimpunan vektor-vektor ortogonal y
1
,y
2
,....,y
n
dari suatu
himpunan vektor-vektor x
1,
x
2
,....,x
n
.


Ortogonal
TTSL
S
[ ]
1 2
0.6
3 1 1.8 1.8 0
1.8
T
x x

= = =


[ ]
1 1
3
3 1 9 1 10
1
T
x x

= = + =


ortogonal




Bab 2 Sistem Persamaan Linier
Hal aman 29 dar i 101
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
1 1
1 2
2 2 1
1 1
1 3 2 3
3 3 1 2
1 1 2 2
1 1
1 1
1 1 1 1
1.
2.
3.
.
T
T
T T
T T
T T
i i i
i i i T T
i i
y x
y x
y x y
y y
y x y x
y x y y
y y y y
y x y x
i y x y y
y y y y


=

=



=



=


KK

Vektor-vektor
1 2
, , ,
n
y y y K saling tegak lurus satu sama lain dan y
1
juga tegak
lurus pada
1 2 1
, , ,
j
x x x

K .

Pengujian Keterhubungan Linier Vektor-Vektor
Konstruksi vektor-vektor yang saling tegak lurus (ortogonal) dengan
metode Gram-Schmidt dari vektor-vektor yang akan diuji. J ika
( )
0
T
j j
V V = (atau
mendekati nol), maka himpunan vektor yang diuji TSL.

Contoh:
Ortogonalisasikan vektor-vektor kolom dari matrik A berikut ini.
1 2 3
4 5 6
7 8 9
A


=





J awaban:
x
1
x
2
x
3

1 2 3
4 5 6
7 8 9
A


=





Menghitung y
1

[ ]
1 1
1 4 7
T
y x = =




Bab 2 Sistem Persamaan Linier
Hal aman 30 dar i 101
Menghitung y
2

( ) [ ]
1 1
1
1 4 7 4 1 16 49 66
7
T
y y


= = + + =




( ) [ ]
1 2
2
1 4 7 5 2 20 56 78
8
T
y x


= = + + =




( )
( )
[ ] [ ] [ ]
1 2
2 2 1
1 1
78
2 5 8 1 4 7 0.8182 0.2727 -0.2727
66
T
T T
T
y x
y x y
y y

= = =




Menghitung y
3

( ) [ ]
1 3
3
1 4 7 6 3 24 63 90
9
T
y x


= = + + =




( ) [ ]
2 3
3
0.8182 0.2727 -0.2727 6 1.6364
9
T
y x


= =




( ) [ ]
2 2
0.8182
0.8182 0.2727 -0.2727 0.2727 0.8182
-0.2727
T
y y


= =




( )
( )
( )
( )
[ ] [ ] [ ] [ ]
1 3 2 3
3 3 1 2
1 1 2 2
3
90 1.6364
3 6 9 1 4 7 0.8182 0.2727 0.2727 0 0 0
66 0.8182
T T
T T
T
y x y x
y x y y
y y y y
y

=


= =

Dapat disimpulkan bahwa banyaknya vektor-vektor kolom A yang TTSL
adalah 2.








Bab 2 Sistem Persamaan Linier
Hal aman 31 dar i 101
2.4 Norma vektor dan matrik
Misalkan x adalah vektor kolom/baris berdimensi n
A adalah matrik bujursangkar berdimensi n x n

Norma ke-1
1 2
1
1
...
n
i n
i
x x x x x
=
= = + + +


1
1
(norma kolom)
n
ij
j
i
A maks a
=
=



Norma ke-2
( )
1
2
2
2
1

Panjang Vektor
n
i
i
x x
=

=


2
Norma spektral A Memiliki sifat yang lebih baik daripada
1
A dan
A

, sayangnya tidak mempunyai ungkapan matematis yang sederhana sehingga


jarang digunakan dalam komputasi numeris sebagai gantinya digunakan norma
frobenius.

Norma Frobenius
( )
1
2
2
1 1
n n
ij
F
i j
A a
= =

=



Norma ke-
1
norma baris
i
i
n
ij
i
j
x maks x
A maks a

=
=
=








Bab 2 Sistem Persamaan Linier
Hal aman 32 dar i 101
Contoh:
[ ]
1 2 3 x =
3
1 2 3
1
1
1 2 3 6
i
i
x x x x x
=
= = + + = + + =


( )
1
2
3
2
2 2 2 2 2 2
1 2 3
2
1
(1) ( 2) (3) 1 4 9 14
i
i
x x x x x
=

= = + + = + + = + + =


3 3
i
i
x maks x

= = =



2.5 Martabat matrik
Martabat sebuah matrik adalah jumlah maksimum kolom-kolom TTSL
dari matrik yang bersangkutan. Banyak maksimum kolom TTSL sama dengan
banyak maksimum baris TTSL. Perintah dalam MATLAB untuk menentukan
martabat suatu matrik adalah rank.
Contoh:
>> A=[ 1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
1 2 3
4 5 6
7 8 9
A



=



1 4 7 12 + + =
2 5 8 15 + + =
3 6 9 18 + + =
1 2 3 6 + + =
4 5 6 15 + + =
7 8 9 24 + + =
1
18 A =
24 A

=
1 4 9 16 25 36 49 64 81 285
F
A = + + + + + + + + =




Bab 2 Sistem Persamaan Linier
Hal aman 33 dar i 101
>> r ank( A)
ans =
2

Tugas 2 Ortogonalisasi Gram-Schmidt (pilihlah salah satu soal berikut ini!)
Nomor 1
Konstruksi sekumpulan vektor kolom yang saling tegak lurus dari vektor-vektor
kolom matrik A di bawah ini, dengan menggunakan ortogonalisasi Gram-Schmdt.
1 0 1 1 1
1 1 0 2 2
1 1 2 0 4
3 1 2 4 0
0 1 1 1 3
A




=






Nomor 2
Buatlah sebuah program ortogonalisasi Gram-Schmidt dalam bahasa
pemrograman MATLAB. J angan lupa untuk menyertakan algoritma
pemrogramannya.

2.6 Metode eliminasi Gauss
1 2 3
1 2 3
1 2 3
3 18 9 18
2 3 3 117
4 2 283
x x x
x x x
x x x
+ + =
+ + =
+ + =


Matrik perbesarannya adalah sebagai berikut:
3 18 9 | 18
2 3 3 |117
4 1 2 |283
A


=




Langkah 1 Buat elemen di bawah a
11
menjadi nol
Hitung:
21
21
11
2
3
a
l
a
= =




Bab 2 Sistem Persamaan Linier
Hal aman 34 dar i 101
31
31
11
4
3
a
l
a
= =

Hitung:
Baris ke-2 baru =baris ke-2 lama l
21
x baris ke-1
[ ] [ ]
[ ]
2
3
2 3 3|117 x 3 18 9|18
0 9 3|105
=
=

Baris ke-3 baru =baris ke-3 lama l
31
x baris ke-1
[ ] [ ]
[ ]
4
3
4 1 2|283 x 3 18 9|18
0 23 10|259
=
=


3 18 9 | 18
0 9 3 | 105
0 23 10 | 259
A


=




Langkah 2
Hitung:
32
32
22
23
9
a
l
a
= =

Hitung:
Baris ke-3 baru =baris ke-3 lama l
32
x baris ke-2
[ ] [ ]
[ ]
23
9
7 28
3 3
0 23 10|105 0 9 3|259
0 0 |
x =
=

3 18 9 | 18
0 9 3 | 105
0 0 7/3 | 28/3







1 2 3
2 3
7 28
3 3 3
3 18 9 18
9 3 105

x x x
x x
x
+ + =
=
=

3
4 x =




Bab 2 Sistem Persamaan Linier
Hal aman 35 dar i 101
2
13 x =
1
72 x =

Berikut ini permrograman metode Gauss dalam bahasa MATLAB 7




function x =Gauss(A , c)
%GAUSS Solves a set of linier algebraic equations by the Gauss
% elimination method.
% GAUSS(A,C) finds unknowns of a set of linier algebraic
% equations. A is the matrix of coefficients and C is the
% vector of constants.
%
% See also J ORDAN, J ACOBI.

%(c) by N. Mostoufi & A. Constantinides
%J anuary 1,1999

c =(c(:).) ; %Make sure it's a column vector

n =length(c);
[nr nc] =size(A);

% Check coefficient matrix and vector of constants
if nr ~=nc
error('Coefficient matrix is not square.')
end
if nr ~=n
error('Coefficient matrix and vector of constants do not have the same length')
end

% Check if the coefficient matrix is singular
if det(A) ==0
fprintf('\n Rank =%7.3g\n',rank(A))
error('The coefficient matrix is singular.')
end

unit =eye(n); % Unit matrix
order =[1 : n]; % Order of unknowns
aug =[A c]; % Augmented matrix

% Gauss elimination
for k =1 : n-1
pivot =abs(aug(k , k));
prow =k;
pcol =k;




Bab 2 Sistem Persamaan Linier
Hal aman 36 dar i 101


Kasus1
Kukus lewat jenuh bertemperatur 130
o
C mengalir dalam sebuah pipa yang
memiliki diameter dalam 20 mm (D
1
), dan diameter luar 25 mm (D
2
). Pipa
diinsulasi setebal 40 mm [(D3 D2)/2]. Koefisien konveksi kukus (hi) =1700
% Locating the maximum pivot element
for row =k : n
for col =k : n
if abs(aug(row , col)) >pivot
pivot =abs(aug(row , col));
prow =row;
pcol =col;
end
end
end

% Interchanging the rows
pr =unit;
tmp =pr(k , :);
pr(k , :) =pr(prow , :);
pr(prow , :) =tmp;
aug =pr * aug;

% Interchanging the columns
pc =unit;
tmp =pc(k , :);
pc(k , :) =pc(pcol , :) ;
pc(pcol , :) =tmp;
aug(1 : n, 1 : n) =aug(1 : n , 1 : n) * pc;
order =order * pc; % Keep track of the column interchanges

% Reducing the elements below diagonal to zero in the column k
lk =unit;
for m =k +1 : n
lk(m , k) =- aug(m , k) / aug(k , k);
end
aug =lk * aug;
end

x =zeros(n , 1);

% Back substitution
t(n) =aug(n , n +1) / aug(n , n);
x(order(n)) =t(n);
for k =n - 1 : -1 : 1
t(k) =(aug(k,n+1) - sum(aug(k,k+1:n).*t(k+1:n))) / aug(k,k);
x(order(k)) =t(k);
end





Bab 2 Sistem Persamaan Linier
Hal aman 37 dar i 101
W/m2.K, dan koefisien konveksi udara (ho) =3 W/m2.K. Konduktivitas termal
pipa (ks) =45 W/m.K, dan insulasi (ki) =0,064 W/m.K. Temperatur udara di luar
insulasi =25
o
C. Perkirakan temperatur T
1
, T
2
, dan T
3
.


Perpindahan panas dari kukus ke pipa.
( )
( )
( ) ( )
1 2
1 1
2 1
ln / / 2
i S
s
T T
h D T T
D D k

=
Perpindahan panas dari pipa ke insulasi
( )
( ) ( )
( )
( ) ( )
1 2 2 3
2 1 3 2
ln / / 2 ln / / 2
s i
T T T T
D D k D D k

=
Perpindahan panas dari insulasi ke udara
( )
( ) ( )
( )
2 3
3 3
3 2
ln / / 2
O a
i
T T
h D T T
D D k

=
Ada tiga persamaan linier yang berhasil dirumuskan dari peneracaan energi
tersebut.
( ) ( )
( ) ( ) ( ) ( )
( ) ( )
1 1 2 1
2 1 2 1
1 2 3
2 1 2 1 3 2 3 2
2 3 3 3
3 2 3 2
2 2
ln / ln /
0
ln / ln / ln / ln /
2 2
ln / ln /
s s
i i S
s s i i
i i
O O a
k k
h D T T h DT
D D D D
k k k k
T T T
D D D D D D D D
k k
T h D T h DT
D D D D

+ =



+ + =



+ =



Ubah sistem persamaan linier menjadi bentuk matrik Ax =c, menjadi sbb:
Kukus, T
S

Udara, T
a
T
1

T
2
T
3





Bab 2 Sistem Persamaan Linier
Hal aman 38 dar i 101
( ) ( )
( ) ( ) ( )
( ) ( )
1
2 1 2 1
1 1
2
2 1 2 1 3 2 3 2
3 3
3
3 2 3 2
2 2
0
ln / ln /
0
ln / ln / ln( / ) ln /
2 2
0
ln / ln /
s s
i
i S
s s i i
O a
i i
O
k k
h D
D D D D
T h DT
k k k k
T
D D D D D D D D
T h DT
k k
h D
D D D D

+





+ =







+



Berikut ini pemrograman MATLAB-nya.

Eksekusi persamaan di command window





>>kasus2
T =

129.7858
129.7678
48.1191

%kasus2.m
clc
clear
% Input data
Ts =130; % oC
Ta =25; % oC
D1 =20e-3; % Diameter dalam pipa, m
D2 =25e-3; % Diameter luar pipa, m
Ith =40e-3; % Tebal insulasi, m
D3 =(D2 +2*Ith); % Diameter pipa +insulasi
hi =1700; % Koefisien transfer panas bagian dalam (W/m2.K)
ho =3 ; % koefisien transfer panas bagian luar (W/m2.K)
ks =45; % Konduktivitas panas baja (W/m.K)
ki =0.064; % Konduktivitas panas insulasi (W/m.K)

% Matriks koefisien variabel
A =[2*ks/log(D2/D1)+hi*D1 , -2*ks/log(D2/D1) , 0
ks/log(D2/D1) , -(ks/log(D2/D1)+ki/log(D3/D2)) , ki/log(D3/D2)
0 , 2*ki/log(D3/D2) , -(2*ki/log(D3/D2)+ho*D3)];

% Matriks konstanta
c =[hi*D1*Ts ; 0 ; -ho*D3*Ta];
% Menyelesaikan sis pers. linier dengan fungsi invers MATLAB
T =inv(A)*c




Bab 2 Sistem Persamaan Linier
Hal aman 39 dar i 101
Tugas 3: Menyelesaikan Sistem Persamaan Aljabar Linier Secara Simultan
Suatu Sistem Distribusi Uap Dalam Sebuah Pabrik Kimia.

Nomor 1
Sebuah sistem persamaan linier dirumuskan dari Neraca massa & energi distribusi
uap pabrik (ditampilkan di bawah). Sistem tersebut terdiri dari 14 buah variabel xi
dengan i =3,...,16 belum diketahui, dan yi adalah parameter yang telah diketahui.
xi dan yi dalam 1000 lb/h. Dengan menggunakan MATLAB hitunglah 14 variabel
(xi, i=3,,16) yang belum diketahui itu.
3 4 5 1 2 5 4
3 6
7
5 7 8 9 10 15 7 8 3
8 9 10 11 12 13 7
6 15 6 5
3 6 12 16 1 9
181.60 132.57 5.1
1.17 0
132.57 0.745 61.2
99.1
8.4
24.2
1.15(181.60) 1.15 0.4 19.7
181.
x x x y y y y
x x
x
x x x x x x y y y
x x x x x x y
x x y y
x x x x y y
= + + =
=
=
+ + = + =
+ + + = =
= =
+ + + = + =
12 16 1 9
11 1
4
8 16
5 14
9
12 14 16 9
60 4.594 0.11 1.0235 2.45 35.05
0.0423(181.60) 0.0423 2.88
0.016(181.60) 0
0.147 0
0.07 0
0.0805(181.60) 0
0.4 97.9
x x y y
x y
x
x x
x x
x
x x x y
= + + =
+ = =
+ =
=
=
+ =
+ = =

Nomor 2
Ketik ulang program Gauss.m pada m-file MATLAB. Gunakan fungsi gauss itu
untuk menyelesaikan sistem persamaan linier pada nomor 1.





________________________________o0o_______________________________




Bab 3 Persamaan Tak Linier
Halaman 40 dari 101
Bab 3
Persamaan Tak Linier


Persamaan Linier
c mx y + =












Gambar 3.1 Kurva linier
Persamaan Tak Linier
Contoh:











Gambar 3.2 Kurva tak linier
y x = y
x
LINIER
exp( ) y x =
y
x
NON-LINIER




Bab 3 Persamaan Tak Linier
Halaman 41 dari 101
Berikut ini beberapa contoh Persamaan Tak Linier
Tabel 3.1 Contoh Persamaan Tak linier
Jenis Pers.
Tak Linier
Contoh
Persamaan Kuadrat

2
4 3 0 x x + =
Persamaan Polinomial

4 3 2
6 7 6 8 0 x x x x + + =
Persamaan Transenden
2
sin 2exp( ) 0 x x =
Persamaan Logaritmik
2 2
ln(1 ) 2exp( ) 0 x x + =

Dalam aplikasinya di bidang teknik kimia, persamaan tak linier memiliki peranan
yang sangat penting.
Tabel 3.2 Aplikasi Persamaan Tak Linier dalam bidang teknik kimia
Aplikasi Pers. Tak Linier Contoh
Neraca Massa dan Energi,

0 , ,
0
out in
T T
o out out in in
P i P i
To To
H N C dT N C + =


Termodinamika
Persamaan gas nyata/kubik,
Kesetimbangan reaksi
kimia,

(1
2
RT a
P
V b V
=




0 0
0 0 0
0
1
ln 0
o o T T o o o
p p
T T
C C
G H H dT
K dT
RT RT T R R T


+ + + =


Operasi Teknik Kimia, dll.



(2
1
(1 ) 0
n
j jF
j
j
z F
F q


=

=



1) Persamaan kubik tersebut diusulkan oleh Johannes Diderik van der Waals
(1873), Fisikawan Belanda, peraih nobel Fisika pada tahun 1910.
2) Persamaan Underwood untuk distilasi multikomponen.




Bab 3 Persamaan Tak Linier
Halaman 42 dari 101
Klasifikasi persamaan tak Linier
Berdasarkan jumlah banyaknya persamaan tak linier dibagi menjadi dua
1. Persamaan Tunggal
Persamaan tak linier hanya satu buah.
Contoh: 0 3 2
2
= + x x

2. Persamaan Serentak/Sistem Persamaan
Persamaan tak linier terdiri atas minimal dua buah.



Contoh :
( ) { }
( ) { } 0 2 / cos 2
0 2 / sin 2
=
= +
y x x
y x x



Solusi Persamaan Tak Linier Tunggal
Mencari akar-akar x yang membuat harga y atau f(x) menjadi nol.
? .... 0 ) ( = = x x f

Ada berbagai metode numerik yang dapat digunakan untuk menyelesaikan
persaman tak linier tunggal, diantaranya:
Metode Penyetengahan Interval
Metode Substitusi Berurut
Metode Wegstein
Metode Interpolasi Linear
Metode Newton-Raphson,dll.
Dalam diktat ini hanya akan diterangkan metode penyetengahan interval dan
metode Newton-Raphson..



0 ) ( = x f
( )
( )
( ) 0 ,..., ,
...
0 ,..., ,
0 ,..., ,
2 1
2 1 2
2 1 1
=
=
=
N N
N
N
x x x f
x x x f
x x x f




Bab 3 Persamaan Tak Linier
Halaman 43 dari 101
Metode penyetengahan interval
Tabel 3.3 Karakteristik metode penyetengahan interval
No Keunggulan Kelemahan
1. Sederhana Tebakan awal terdiri atas dua buah [a,b]
dan harus memenuhi f(a)*f(b)<0
2. Pasti konvergen Laju konvergensi relatif lebih lambat
daripada metode Newton-Raphson

Algoritma metode penyetengahan interval
1. Mulai
2. Definisikan persamaan tak linier yang akan dicari akarnya dan tetapkan
toleransinya.
Misalkan: f(x) = log(x) . Tol = 1e-5
3. Tetapkan dua buah tebakan awal a dan b.
Misalkan: a = 0.1 dan b = 10.
4. Hitung harga f(a) dan f(b)
Hitung: f(0.1) = log(0.1) = -1
f(10) = log(10) = 1
5. Periksa apakah syarat f(a) * f(b) < 0 terpenuhi. Jika syarat terpenuhi proses
dilanjutkan ke langkah berikutnya. Jika tidak kembali ke langkah 2.
Periksa: f(0.1) * f(10) = -1*1 = -1 < 0. Syarat terpenuhi proses berlanjut ke
langkah berikutnya.
6. Hitung harga 2 / ) ( b a m + =
Hitung: m = (0.1 + 10)/2 = 5.05
7. Hitung harga f(m)
Hitung: f(5.05) = log(5.05) = 0.7033
8. Periksa apakah f(a) * f(m) > 0 terpenuhi. Jika terpenuhi, harga a diganti
dengan m. Jika tidak terpenuhi harga b yang diganti dengan m.
Periksa: f(0.1) * f(5.05) = -1*0.7033 = -0.7033 < 0. Syarat tidak terpenuhi
harga b diganti dengan m, sehingga b yang baru = 5.05.




Bab 3 Persamaan Tak Linier
Halaman 44 dari 101
9. Periksa kriteria iterasi, |(a - b)/a| > Tol. Jika kriteria iterasi terpenuhi proses
kembali ke langkah 5. Jika tidak dilanjutkan ke langkah berikutnya..
Periksa: |(0.1 5.05)/0.1| = 49.5 > 1e-5. Kriteria iterasi terpenuhi, maka
kembali ke langkah 5.
10. Hitung harga akar pembuat nol, 2 / ) ( b a x + =
11. Selesai
Algoritma yang telah disusun dimuka, dapat juga dituliskan dalam bentuk
diagram Alir (flow chart) sebagai berikut:






















Gambar 3.3 Algoritma metode penyengahan interval
mulai
Definisikan f(x)
dan toleransi
Hitung harga:
f(a), f(b)
Tetapkan harga
a dan b

f(a)*f(b)<
0
1
ya
tidak
1
m=(a+b)/2
Hitung harga:
f(m)
f(a)*f(m)
a=m
f(a)=f(m)
y
b=m
f(b)=f(m)

tid
tidak
ya
x*=(a+b)/2
Selesai
|(a-b)/a|>tol




Bab 3 Persamaan Tak Linier
Halaman 45 dari 101
Pemrograman metode penyetengahan interval dengan menggunakan bahasa
MATLAB.


Contoh:
Carilah akar-akar persamaan kuadrat
2
4 3 0 x x + + = dengan menggunakan metode
penyetengahan interval!.


Perintah pada command window sbb:
>>bi seksi ( kuadr at , - 2, 1, 1e- 6)
ans =
- 1. 0000
>> bi seksi ( ' kuadr at ' , - 2, - 4, 1e- 6)
ans =
-3.0000

Dari perhitungan menggunakan metode bisection diperoleh akar-akar dari
persamaan kuadrat adalah [-1,-3].
bi seksi . m
f unct i on x = bi seksi ( f ungsi , a, b, t ol )
%a = t ebakan awal per t ama, b = t ebakan awal kedua
%t ol = t ol er ansi
whi l e abs( ( a - b) / a) > t ol
f a = f eval ( f ungsi , a) ;
f b = f eval ( f ungsi , b) ;
i f f a*f b > 0
er r or ( ' masukan t ebakan a dan b yang ber beda' )
end
m= ( a + b) / 2;
f m= f eval ( f ungsi , m) ;
i f f m*f a > 0;
a = m;
el se
b = m;
end
end
x=( a+b) / 2;
%kuadr at . m
f unct i on y = kuadr at ( x)

y = x^2+4*x+3;




Bab 3 Persamaan Tak Linier
Halaman 46 dari 101
Metode Newton-Raphson
Tabel 4.3 Karakteristik metode penyetengahan interval
No Keunggulan Kelemahan
1. Hanya butuh satu tebakan
awal.
Kekonvergenan adakalanya gagal
dicapai.
2. Laju konvergensi cepat


Gambar 3.4 Metode newton-Raphson

1
1 1
( ) ( ) 0 ( )
'( )
n n n
n
n n n n
f x f x f x
f x gradien
x x x x
+
+ +

= = =


1
( )
'( )
n
n n
n
f x
x x
f x
+
=

Metode Newton-Raphson.


Algoritma Metode Newton-Raphson
1. Mulai
2. Definisikan persamaan tak linier dan turunannya.
Misalkan: f(x) = log(x).
) 10 ln /( 1 ) ( ' x x f =
3. Tetapkan harga tebakan awal (
0
x ) dan besar toleransinya
Misalkan: 1 . 0
0
= x . Tol = 1e-5
4. Nyatakan
0
x x = dan 1
0
+ = x x .
n
x
( )
n
f x
1 n
x
+
0
x
y
1
( )
'( )
n
n n
n
f x
x x
f x
+
=




Bab 3 Persamaan Tak Linier
Halaman 47 dari 101
x = 0.1
x
0
=0.1+1=1.1
5. Periksa kriteria iterasi |(x x
0
)/x| > Tol. Jika kriteria iterasi terpenuhi
proses dilanjutkan. Jika kriteria iterasi tidak terpenuhi proses dihentikan.
Akar pembuat nol diperoleh.
6. Nyatakan x
0
= x.
x
0
= 0.1
7. Hitung harga f(x
0
) dan f(x
0
).
f(0.1) = -1
f(0.1) = 1/(0.1*ln10) = 4.343
8. Hitung harga
) ( '
) (
0
0
0
x f
x f
x x =
3303 . 0
343 . 4
) 1 (
1 . 0 =

= x
9. Kembali ke langkah 5
10. Selesai.





Bab 3 Persamaan Tak Linier
Halaman 48 dari 101


Gambar 3.5 Algoritma metode Newton-Raphson







Mulai

Nyatakan:
x = x
0

x
0
= x + 1

tidak
ya
Selesai
Nyatakan:
x
0
= x
Hitung harga:
f(x
0
) dan f(x
0
)
Hitung harga:
x=x
0
-f(x
0
)/f(x
0
)


Definisikan
f(x) dan f(x),
x
0
, tol
Tampilkan
x* = x




Bab 3 Persamaan Tak Linier
Halaman 49 dari 101






Kita gunakan contoh kasus yang sama dengan contoh pada metode bisection.
2
4 3 0
2 4
y x x
dy
x
dx
= + + =
= +


>> [ x i t er ] =NewRap( ' kuadr at ' , ' dkuadr at ' , 2, 1e- 6)
x =
- 1. 0000


%kuadr at . m
f unct i on y = kuadr at ( x)

y = x^2+4*x+3;
%NewRap. m
f unct i on [ x i t er ] = NewRap( f ungsi , df ungsi , x0, t ol )
%f ungsi = f ungsi yang akan di car i akar - akar nya
%df ungsi = t ur unan per t ama f ungsi
%x0 = t ebakan awal
%t ol = t ol er ansi

i t er max = 100;
i t er = 0;
x = x0;
x0 = x + 1;
%l oop i t er asi
whi l e abs( ( x - x0) / x) > t ol & i t er <= i t er max
i t er = i t er + 1;
x0 = x;
f x= f eval ( f ungsi , x) ;
df = f eval ( df ungsi , x) ;
%Rumus Newt on- Raphson
x = x0 - f x/ df ;
end
%dkuadrat.m
function dy = dkuadrat(x)

dy = 2*x+4;




Bab 3 Persamaan Tak Linier
Halaman 50 dari 101
i t er =
6
>> [ x i t er ] =NewRap( ' kuadr at ' , ' dkuadr at ' , - 4, 1e- 6)
x =
- 3. 0000
i t er =
5

Dari perhitungan menggunakan metode Newton Raphson diperoleh akar-akar dari
persamaan kuadrat adalah [-1,-3].

Subrutin dalam MATLAB untuk persamaan tak linier tunggal
MATLAB telah menyediakan program untuk menyelesaikan persamaan linier
tunggal yang telah menyatu dengan program MATLAB itu sendiri. Ada dua
subrutin yang umum digunakan, yaitu roots dan fzero.
Tabel 4.4 Perbandingan subrutin roots terhadap fzero
Rutin Keunggulan Kelemahan
roots.m 1. Seluruh akar dapat diketahui
dengan hanya sekali
menjalankan rutin.
2. Tidak membutuhkan tebakan
mula.
1. Hanya untuk pers. kuadrat
dan polinomial.
fzero.m 1. Solusi bagi segala jenis pers
tak linier.
1. Hanya satu buah akar
yang dapat diketahui
sekali menjalankan rutin.
2. Membutuhkan tebakan
mula.

Penggunaan roots:
Penulisan perintah roots di Command window MATLAB
C(1)*X^N + ... + C(N)*X + C(N+1)




Bab 3 Persamaan Tak Linier
Halaman 51 dari 101
C = [C(1) C(2)........C(N) C(N+1)
roots(C)

Contoh persamaan kuadrat
2
4 5 0 x x + = maka C(1)=1, C(2)=4, C(3)= -5.
Carilah akar-akar persamaan kuadrat di bawah ini.
2
4 5 0 x x + =

MATLAB Command window
>> C=[ 1 4 - 5]

C =

1 4 - 5

>> r oot s( C)

ans =

- 5
1

Penggunaan fzero:
Penulisan fzero di MATLAB Command window
x =fzero(fungsi,x0)

Contoh penggunaan fzero:
2
4 3 0 x x + + =

Penulisan contoh di MATLAB Command window
>> f zer o( ' x^2+4*x+3' , 0)

ans =

- 1








Bab 3 Persamaan Tak Linier
Halaman 52 dari 101
Untuk keteraturan dan kemudahan pemanggilan akan lebih baik mendefinisikan
fungsi pada m-file.


Baru kemudian kita panggil fungsi dari MATLAB Command window
>> x = f zer o( ' kuadr at ' , 0)
x =
- 1

Untuk mencari akar lainnya, ubah tebakan awalnya.
>> x = f zer o( ' kuadr at ' , - 4)
x =
- 3. 0000






Jawaban:
Persamaan Van der Waals
2
RT a
P
V b V
=


2 2
27 1
dan
64 8
c c
c c
R T RT
a b
P P
= =







Kasus 3 Aplikasi subrutin roots
%kuadr at . m
f unct i on y = kuadr at ( x)

y = x^2+4*x+3
Kasus 3
Tekanan uap n-butana pada temperatur 350 K adalah 9.4573 bar.
Hitunglah volume molar uap jenuh dan cair jenuh n-butana pada
Kondisi tersebut dengan menggunakan persamaan gas Van der Waals.
(R=8.314j/mol.K ;Tc=425.1 K; Pc=37.96 bar)
Transformasi ke
dalam bentuk umum
pers.polinomial




Bab 3 Persamaan Tak Linier
Halaman 53 dari 101
2 2
3 2 2
3 2
( )( ) ( )
( )
( ) 0
P V b V RTV a V b
P V bV RTV aV ab
PV Pb RT V aV ab
=
= +
+ + =
















Eksekusi program kasus3.m. Masukan dan hasil di Command Window
>>kasus3
masukan tekanan, Pa = 9.4573e5
masukan temperatur, K = 350

vol =

2.6669
0.3354
0.1910
% kasus3.m
clear
clc
% Masukan kondisi operasi
P = input('masukan tekanan, Pa = ');
T = input('masukan temperatur, K = ');
R = 8314 ; %J/(kmol.K)
Pc = 37.96e5; %Pa
Tc = 425.1; %K
% Hitung konstanta a & b
a = (27/64)*R^2*Tc^2/Pc;
b = (1/8)*R*Tc/Pc;
% Definisikan koefisien polinomial
VdW=[P, -(P*b + R*T), a, -a*b];
vol = roots(VdW) %liter/mol

Kasus 4 Aplikasi subrutin fzero
Diketahui sebuah persamaan kapasitas panas sbb.





Tentukan temperatur pada saat Cp = 1 kJ/kg.K !
6
15.04
0.716 4.257
.
kJ
Cp E T
kg K T


= +






Bab 3 Persamaan Tak Linier
Halaman 54 dari 101
Langkah 1 Membuat program fungsi yang akan dinolkan.


Langkah 2 Membuat program pengeksekusi


Langkah 3 Eksekusi program kasus4.m
Masukan dan hasil di Command Window



Tugas 4
Menyelesaikan persamaan tak linier tunggal dengan menggunakan
subrutin MATLAB

Tekanan uap n-butana pada temperatur 350 K adalah 9.4573 bar. Volume molar
uap jenuh dan cair jenuh n-butana pada kondisi tersebut dapat dihitung dengan
menggunakan persamaan kubik Redlich-Kwong-Soave sebagai berikut:
( )
RT a
P
V b V V b

=
+

Dalam bentuk persamaan polinomial menjadi sebagai berikut::
%KapPns.m
function f = KapPns(T,cp)
%Persamaan tak linier yang akan dinolkan
f = cp - 0.716 + 4257e-6*T - 15.04/T^0.5;
% kasus4.m
clear
clc
cp = input('masukan kapasitas panas,kJ/kg.K = ');
T = fzero(@(T) KapPns(T,cp),100)
>> kasus4
masukan harga kapasitas panas,kJ/kg.K = 1

T =

189.7597




Bab 3 Persamaan Tak Linier
Halaman 55 dari 101
3 2 2
( ) 0 Z Z A B B Z AB + =
Dengan:
bP
B
RT
=
2 2
aP
A
R T

=
PV
Z
RT
=

2 2
0.4278
C
C
R T
a
P
= ;
0.0867
C
C
RT
b
P
=
2
1 1
C
T
S
T


= +




;
2
0.48508 1.55171 0.15613 S = +
(R=8.314j/mol.K ;Tc=425.1 K; Pc=37.96 bar; = 0.1931). Hitunglah volume
molar uap jenuh dan cair jenuh n-butana pada kondisi itu !!.








Sistem Persamaan Tak Linier
Sistem persamaan tak linier merupkan persamaan tak linier yang terdiri atas lebih
dari satu buah persamaan tak linier.
Solusi Sistem Persamaan Tak Linier
Metode Newton

1 2
1 2
( , ) 0
( , ) 0
f x x
f x x
=
=
(1) (1) 1 1
(1) (1)
1 2 1 1
(1) (1)
(1) (1) 2 2 2 2
1 2
| |
| |
f f
x x
x x f
f f f
x x
x x





=






J f =
( 1) ( ) n n
x x
+
= +




Bab 3 Persamaan Tak Linier
Halaman 56 dari 101



f unct i on [ xnew , i t er ] =
Newt on( f nct n, x0, r ho, t ol , var ar gi n)

%( c) by N. Most ouf i & A. Const ant i ni des, J anuar y 1, 1999
%I ni t i al i zat i on
i f nar gi n < 4 | i sempt y( t ol )
t ol = 1e- 6;
end
i f nar gi n < 3 | i sempt y( r ho)
r ho = 1;
end
x0 = ( x0( : ) . ' ) ' ; %Make sur e i t ' s a col umn vect or
nx = l engt h( x0) ;
x = x0*1. 1;
xnew = x0;
i t er = 0;
maxi t er = 100;
whi l e max( abs( x- xnew) ) > t ol & i t er < maxi t er
i t er = i t er + 1;
x = xnew;
f nk = f eval ( f nct n, x, var ar gi n{: }) ;
%Set dx f or der i vat i on
f or k = 1: nx
i f x( k) ~= 0
dx( k) = x( k) / 100;
el se
dx( k) = 1/ 100;
end
end
%Cal cul at i on of t he J acobi an mat r i x
a = x;
b = x;
f or k = 1 : nx
a( k) = a( k) - dx( k) ; f a =
f eval ( f nct n, a, var ar gi n{: }) ;
b( k) = b( k) + dx( k) ; f b =
f eval ( f nct n, b, var ar gi n{: }) ;
j acob( : , k) = ( f b - f a) / ( b( k) - a( k) ) ;
a( k) = a( k) + dx( k) ;
b( k) = b( k) - dx( k) ;
end
%Next appr oxi mat i on of t he r oot s
i f det ( j acob) == 0
xnew = x + max( [ abs( dx) , 1. 1*t ol ] ) ;
el se
xnew = x - r ho * i nv( j acob) * f nk;
end
end
i f i t er >= maxi t er
di sp( ' War ni ng : Maxi mumi t er at i ons r eached. ' )
end




Bab 3 Persamaan Tak Linier
Halaman 57 dari 101
Contoh sistem persamaan tak linier.
3 2
1
2 3
2
( , ) 3 1/ 2 0
( , ) 3 3 / 2 0
f x y x xy
f x y x y y
= =
= =


Langkah 1 Buat terlebih dahulu fungsi sistem persamaan taklinier dalam m-file.

Langkah 2 Buat program pengeksekusi menggunakan Newton.m pada m-file yang
berbeda atau dapat juga langsung di command window.

Langkah 3 Jalankan program pengeksekusi. Klik debug/run
Langkah 2 dapat di loncat dengan menuliskan langsung perintah eksekusi pada
Command window
>> [ x i t er ] = Newt on( ' si st em' , [ 1 2] )
x =
2. 5198
1. 5874

i t er =
7

Subrutin dalam MATLAB untuk sistem persamaan taklinier
Solusi sistem persamaan taklinier dapat menggunakan fsolve pada MATLAB.
Contoh:
3 2
2 3
3 1/ 2
3 3 / 2
x xy
x y y
=
=


Langkah 1 Buat terlebih dahulu fungsi sistem persamaan taklinier dalam m-file.
%r un_si st em. m
[ x i t er ] = Newt on( ' si st em' , [ 1 2] )
%si st em. m
f unct i on f = si st em( x)
f =[ x( 1) ^3- 3*x( 1) *x( 2) ^2- 0. 5
3*x( 1) ^2*x( 2) - x( 2) ^3- sqr t ( 3) / 2]





Bab 3 Persamaan Tak Linier
Halaman 58 dari 101
Langkah 2 Buat program pengeksekusi menggunakan fsolve pada m-file yang
berbeda atau dapat juga langsung di command window.


Langkah 3 Jalankan program pengeksekusi.




Kasus 5
Reaksi reformasi kukus berlangsung menurut rangkaian reaksi kesetimbangan
berikut:

4( ) 2 ( ) ( ) 2( )
( ) 2 ( ) 2( ) 2
3 R-1
R-2
g g g g
g g g
CH H O CO H
CO H O CO H
+ +
+ +






Pada suhu 2000 K harga konstanta kesetimbangan untuk masing-masing reaksi
adalah 1,930x10
-4
dan 5,528. Tentukan komposisi kesetimbangan komponen-
komponen apabila Gas umpan berkomposisi 20% CH
4(g)
dan 80% H
2
O
(g)

berada pada kondisi suhu 2000 K dan tekanan 1 atm.
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]

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

X =

2.5198 1.5874

FVAL =

1.0e-010 *

0.1930
0.0966





Bab 3 Persamaan Tak Linier
Halaman 59 dari 101

Jawaban
Misal ditetapkan basis perhitungan 10 mol gas umpan
1
2
derajat reaksi dari reaksi pertama
derajat reaksi dari reaksi kedua
e
e
=
=

Fraksi mol kesetimbangan setiap komponen dapat dinyatakan sebagai berikut:
1 2
1
10 2
CO
e e
Y
e

=
+

2
1 2
1
3
10 2
H
e e
Y
e
+
=
+

2
1 2
1
8
10 2
H O
e e
Y
e

=
+

2
2
1
10 2
CO
e
Y
e
=
+

4
1
1
2
10 2
CH
e
Y
e

=
+

Persamaan konstanta kesetimbangan dinyatakan sebagai berikut:
2 2 2
4 2 2
3 2
1 2

CO H CO H
CH H O CO H O
Y Y P Y Y
K K
Y Y Y Y
= =


Berikut ini pemrograman MATLAB-nya.




function y = KsT(e,K1,K2)
%Sistem Pers.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];
clear
clc
K1 = input(Masukan konstanta kst. reaksi 1 = ');
K2 = input(Masukan konstanta kst. reaksi 2 = ');

%Pencari nol fungsi KsT.m
e = fsolve(@(e) KsT(e,K1,K2),[1 0.5])
( )( )
( )( )( )
3
1 2 1 2
1 2
1 1 2 1
3
2 8 10 2
e e e e
K
e e e e

=
+
( )
( )( )
2 1 2
2
1 2 1 2
3
8
e e e
K
e e e e
+
=





Bab 3 Persamaan Tak Linier
Halaman 60 dari 101



Eksekusi di MATLAB command window


Tugas 5
Menyelesaikan sistem persamaan tak linier dengan menggunakan
subrutin MATLAB
Suatu reaksi elementer A B + C berlangsung dalam sebuah reaktor tangki
berpengaduk kontinu. Laju umpan murni A, 12 mol/s pada temperatur 25
o
C.
Reaksi bersifat eksotermik, untuk itu digunakan air pendingin bertemperatur 50
o
C untuk menyerap kalor yang dibebaskan reaksi. Asumsi konstanta kapasitas
panas sama baik di sisi reaktan maupun produk, neraca energi untuk sistem ini
dirumuskan sebagai berikut:

, 0
( ) ( )
Ao R Ao P A a
F X H F C T T UA T T = +

FA0 = laju molar umpan, mol/s.
X = konversi
HR = Kalor reaksi, J/(mol.K)
C
P,A
= kapasitas panas A, J/(mol.K)
T = temperatur reaktor,
o
C
T
0
= temperatur referensi, 25
o
C
Ta = temperatur air pendingin,
o
C
U = koefisien pindah panas total, W/(m
2
.K)
>>kasus5
Masukan harga konstanta kst. reaksi 1 = 1.93e-4
Masukan harga konstanta kst. reaksi 2 = 5.528
Optimization terminated: first-order optimality is less than options.TolFun.

e =

0.7480 0.6920




Bab 3 Persamaan Tak Linier
Halaman 61 dari 101
A = luas pindah panas, m
2
Untuk reaksi orde pertama konversi dirumuskan sebagai berikut:
1
k
X
k

=
+

Dengan adalah waktu tinggal dalam sekon, dan k adalah laju reaksi spesifik
dalam s
-1
dihitung dengan menggunakan persamaan Arrhenius:

650exp[ 3800 /( 273)] k T = +
Hitunglah harga temperatur reaktor dan konversinya!.
(H
R
=-1500 kJ/mol; =10 s; CP,A = 4500 J/(mol.K); UA/FA0 =700
W.s/(mol.K).


















_______________________________o0o________________________________




Bab 4 Optimisasi
Halaman 62 dari 101
Bab 4
Optimisasi




Optimisasi Menggunakan MATLAB
Untuk mencari harga minimum dan maksimum kita dapat menggunakan perintah
fminsearch. Berikut ini cara penulisannya.

[x,fval,exitflag] = fminsearch(fun,x0)
keterangan:
fun =Fungsi yang akan diminimumkan atau dimaksimumkan
x0 =Tebakan awal
x =Harga x yang menyebabkan fungsi minimum atau maksimum
fval =Nilai maksimum atau minimum.
exitflag =Kriteria penghentian proses iterasi. Harga x mencapai kekonvergenan
jika exitflag bernilai 1.

-3
-2
-1
0
1
2
3
-2
0
2
-10
-5
0
5
X
Y
F
(
X
,
Y
)
Titik
maksimum
Titik
minimum




Bab 4 Optimisasi
Halaman 63 dari 101
Optimisasi Variabel Tunggal
Carilah titik minimum
2
4 3 0 x x + + = dengan menggunakan subrutin fiminsearch
dalam MATLAB.

>> [ x f val exi t f l ag] =f mi nsear ch( ' kuadr at ' , 2)
x =
- 2. 0000
f val =
- 1
exi t f l ag =
1


Optimisasi Variabel Jamak
Kasus12
Carilah titik minimum dari persamaan multivariabel berikut ini.
2 2
1 2
( 3) 0.5( 4) 3 y x x = + +

J awaban




>> kasus12
x =
3. 0000 4. 0000
f val =
3. 0000
exi t f l ag =
1
%mul t i var i bel . m
f unct i on y = mul t i var i abel ( x) ;

y = ( x( 1) - 3) ^2 + 0. 5*( x( 2) - 4) ^2 + 3;
%kasus12. m
[ x, f val , exi t f l ag] = f mi nsear ch( ' mul t i var i abel ' , [ 1, 16] )




Bab 4 Optimisasi
Halaman 64 dari 101
Tugas 11 Optimisasi

Nomor 1: Temperatur Optimal Dalam Reaktor
kf
kr
A P

Diselenggarakan dalam reactor batch. Diketahui k


f
=10
8
e
-5000/T
detik
-
1
dan k
r
=10
16
e
-10000/T
detik
-1
, dimana T dalam K Neraca massa P dalam
reaktor partaian:
( )
( )
P
f A r P f Ao P r P
P
f r P f Ao
dC
k C k C k C C k C
dt
dC
k k C k C
dt
= =
+ + =

Hasil integrasi persamaan ini adalah:
( )
( )
1
f r
k k t
f
P
Ao f r
k e
C
C k k
+

=
+

C
A
0
=konsentrasi A mula-mula
Hitung temperatur optimal yang menyebabkan perolehan maksimal produk P
pada waktu reaksi 1 detik.

Nomor 2: Rosenbrock
Carilah titik minimum dari fungsi multidimensional Rosenbrock berikut.
2 2 2
2 1 1
( ) 100( ) (1 ) f x x x x = +










________________________________o0o_______________________________




Bab 5 Regresi Linier dan Non Linier
Halaman 65 dari 101
Bab 5
Regresi Linier dan Non Linier

5.1 Regresi Linier
Misalkan kita memiliki sekumpulan data-data sbb
1 1 2 2
( , ), ( , ),....., ( , )
n n
x y x y x y
Kemudian diperoleh suatu persamaan matematik untuk merepresentasikan data-
data eksperimental tersebut berupa persamaan linier.
0 1
y a x a = +
Jumlah kuadrat terkecil dari selisih antara model dengan data sbb
[ ] [ ]
2 2
model 0 1
1 1
( )
n n
i i i i
i i
S y x y a x a y
= =
= = +


Turunan terhadap parameter
0
a
( )
0 1
1
0
2 0
n
i i i
i
S
x a x a y
a
=

= + =



( )
0 1
1
0
n
i i i
i
x a x a y
=
+ =



2
0 1
1 1 1
n n n
i i i i
i i i
x a x a x y
= = =
+ =

............................................(i
Turunan terhadap parameter
1
a
( )
0 1
1
1
2 0
n
i i
i
S
x a a y
a
=

= + =



( )
0 1
1
0
n
i i
i
a x a y
=
+ =


0 1
1 1
n n
i i
i i
x a na y
= =
+ =

.............................................................(ii
Persamaan (i dan (ii dapat dijelmakan dalam bentuk matrik sbb:
2
1 1 1 0
1
1 1
n n n
i i i i
i i i
n n
i i
i i
x x x y
a
a
x n y
= = =
= =




=












Bab 5 Regresi Linier dan Non Linier
Halaman 66 dari 101
Harga paramter a
0
dan parameter a
1
dapat diperoleh dengan menyelesaikan sistem
persamaan linier di atas.

Kasus 1
Harga konduktivitas alumunium pada berbagai temperatur sbb
T (K) 300 400 500 600 800
k (Btu/(hft2)(F/ft) 273 240 237 232 220
Model matematik dapat diwakili dengan menggunakan persamaan linier
0 1
k a T a = +
Untuk mencari harga a
0
dan a
1
dapat menggunakan metode jumlah selisih kuadrat
terkecil seperti yang telah dijelaskan sebelumnya.
%kondukt i vi t as. m
cl ear
cl c
T=[ 4, 5, 6, 8] *100; %Absi s
k=[ 240, 237, 232, 220] ; %Or di nat
n=l engt h( k) ;
A = [ sum( T. ^2) , sum( T)
sum( T) , n] ;
c = [ sum( k. *T)
sum( k) ] ;
a = A\ c
kmod = a( 1) *T +a( 2) ;
S = sum( ( k- kmod) . ^2)
Hasil pada command window
>>kondukt i vi t as
a =
- 0. 0511
261. 6571
S =
3. 8857

Subrutin MATLAB untuk regresi persamaan linear dan polinomial dapat
menggunakan perintah sbb:
[P,S] = polyfit(x,y,n)


Kasus 1 merupakan persamaan linier, maka n yang digunakan dalam subrutin
polyfit adalah 1. Berikut ini pemrograman MATLAB-nya.
data-data

n=orde polinom




Bab 5 Regresi Linier dan Non Linier
Halaman 67 dari 101
%kondukt i vi t as2
T = [ 4, 5, 6, 8] *100; %Absi s
K = [ 240, 237, 232, 220] ; %Or di nat

[ P, S] = pol yf i t ( T, k, 1)

>>kondukt i vi t as2
P =
- 0. 0511 261. 6571
S =
R: [ 2x2 doubl e]
df : 2
nor mr : 1. 9712

5.2 Linierisasi
Seringkali ditemukan persamaan tak linier dalam permasalah real teknk kimia.
Tentunya kita tak dapat begitu daja mengalurkan data-data dengan menggunakan
pemodelan linier. Agar dapat dimodelkan dengan pemodelan linier, maka
persamaan tak linier itu harus dilinierisasi terlebih dahulu. Berikut ini
pemaparannya.

bx
y ae =

ln ln( )
ln ln
bx
y ae
y bx a
=
= +



Tabel 5.1 Hasil linearisasi persamaan-persamaan tak linier
Tipe persamaan absis ordinat slope intersep
y ax b = + x y a b
bx
y ae = x ln(y) b ln(a)
( )
x
y
ax b
=
+
x x/y a b
/ y a x b = + 1/x y a b
LINIERISASI




Bab 5 Regresi Linier dan Non Linier
Halaman 68 dari 101
b
y ax c = + ln(x) ln(y-c) b ln(a)

Kasus
Suatu reaksi berorde n memiliki laju reaksi sbb:
n
A
r kC =

Apabila volume reaktor partaian (batch) konstan, persamaan laju reaksi menjadi
sbb:
n
A
A
dC
kC
dt
=

Tentukan orde laju reaksi tersebut jika diketahui data-data eksperimen sbb:

Tabel 5.2 Konsentrasi, waktu, dan laju perubahannya
Waktu (s) C
A
(mol/liter) dC
A
/dt (mol/liter.s)
0 1.0 -0.10000
10 0.50 -0.02500
20 0.33 -0.01110
30 0.25 -0.00625
40 0.20 -0.00400

Jawaban:
n A
A
dC
kC
dt
=
ln ln ln
A
A
dC
n C k
dt

= +




%l i ni er i sasi
t = [ 0: 10: 40] ; %wakt u
CA = [ 1, 0. 50, 0. 33, 0. 25, 0. 20] ; %konsent r asi A
dCAdt = - [ 0. 1, 0. 025, 0. 0111, 0. 00625, 0. 00400] ; %Laj u
y = l og( - dCAdt ) ;




Bab 5 Regresi Linier dan Non Linier
Halaman 69 dari 101
x = l og( CA) ;

[ P S] = pol yf i t ( x, y, 1) ;
n = P( 1) %or de r eaksi
k = exp( P( 2) ) %konst ant a l aj u r eaksi

Hasil pada command window
n =
1. 9982
k =
0. 1002

5.3 Regresi Linier Peubah Banyak
1 2 0 1 1 2 2
( , ) y x x a x a x a = + +
2
0 1, 1 2, 2
1
( )
n
i i i
i
S y a x a x a
=
=


1, 0 1, 1 2, 2
1
0
2 ( ) 0
n
i i i i
i
S
x y a x a x a
a
=

= =




1,
2
1, 0 1, 2, 1 1, 2
1
( ) 0
i
n
i i i i i
i
x y x a x x a x a
=
=



1,
2
0 1, 2, 1 1, 2 1,
1 1 1 1
i
n n n n
i i i i i
i i i i
x a x x a x a x y
= = = =
+ + =


2, 0 1, 1 2, 2
1
1
2 ( ) 0
n
i i i i
i
S
x y a x a x a
a
=

= =




2,
2
2, 1, 2, 0 1 2, 2
1
( ) 0
i
n
i i i i i
i
x y x x a x a x a
=
=



2,
2
1, 2, 0 1 2, 2 2,
1 1 1 1
i
n n n n
i i i i i
i i i i
x x a x a x a x y
= = = =
+ + =


0 1, 1 2, 2
1
2
2 ( ) 0
n
i i i
i
S
y a x a x a
a
=

= =



1, 0 2, 1 2
1 1 1
n n n
i i i
i i i
x a x a na y
= = =
+ + =






Bab 5 Regresi Linier dan Non Linier
Halaman 70 dari 101

Ketiga buah persamaan linier tersebut dapat dijelmakan dalam matrik sbb:
2
1, 1, 2, 1, 1,
1 1 1 1
0
2
1, 2, 2, 2, 1 2,
1 1 1 1
2
1, 2,
1 1 1
n n n n
i i i i i i
i i i i
n n n n
i i i i i i
i i i i
n n n
i i i
i i i
x x x x x y
a
x x x x a x y
a
x x n y
= = = =
= = = =
= = =






=












Kasus
Perhatikan data-data reaksi non-isotermal suatu reaksi reversibel berikut ini:
r
A P
Tabel 5.3 Data laju reaksi
C
A
(mol/liter) Temperatur (K) Laju reaksi (mol/liter.s)
1
0.023
1.15
0.87
1.05
0.75
0.55
0.65
373
395
365
400
405
388
410
380
1.508
2.936
1.293
3.242
4.566
1.899
2.780
1.255

Anggap reaksi tersebut memenuhi model persamaan laju sbb:
0
exp
n
E
r k C
RT

=



Perkirakan harga k
0
, E dan n dari data-data yang tersedia.
Jawaban.
0
1
ln ln ln r n C E k
RT

= + +



ln
i i
y r =
1,
ln
i i
x C =
2,
1
i
i
x
RT
=




Bab 5 Regresi Linier dan Non Linier
Halaman 71 dari 101
%mul t i var i abel
cl ear
cl c
CA = [ 1, 0. 023, 1. 15, 0. 87, 1. 05, 0. 75, 0. 55, 0. 65] ; %mol / l i t er
T = [ 373, 395, 365, 400, 405, 388, 410, 380] ; %K
r = [ 1. 508, 2. 936, 1. 293, 3. 242, 4. 566, 1. 899, 2. 780, 1. 255] ; %mol / l i t er . s

y = l og( r ) ;
x1 = l og( CA) ;
x2 =- 1. / ( 0. 082*T) ;

A = [ sum( x1. ^2) , sum( x1. *x2) , sum( x1)
sum( x1. *x2) , sum( x2. ^2) , sum( x2)
sum( x1) , sum( x2) , l engt h( r ) ] ;
c = [ sum( x1. *y)
sum( x2. *y)
sum( y) ] ;
a = A\ c

Hasi l pada Command wi ndow
a =
- 0. 0108
320. 9052
10. 8467

5.4 Regresi Non Linier
Pada bagian sebelumnya kita telah mempelajari regresi persamaan tak
linier dengan terlebih dahulu melakukan linierisasi. Namun tidak semua
persamaan tak linier dapat memberikan parameter yang akurat dengan linierisasi.
Pada bagian ini kita akan mempelajari regresi persamaan tak linier sehingga kita
tidak lagi harus melinierisasikan persamaan tak linier. Perhatikan fungsi tak linier
sbb:
1
0
2
exp
( )
a
y a
x a

= +

+


a
0
, a
1
, dan a
2
merupakan parameter.
Persamaan
Antoine




Bab 5 Regresi Linier dan Non Linier
Halaman 72 dari 101
2
1
0
1
2
exp
( )
n
i
i
i
a
S y a
x a
=

= +


+


Turunan parsial terhadap a
0

1 1
0 0
1
0 2 2
2 exp exp 0
( ) ( )
n
i
i
i i
a a S
y a a
a x a x a
=

= + + =


+ +


Turunan parsial terhadap a
1

1 1
0 0
1
1 2 2 2
1
2 exp exp 0
( ) ( )
n
i
i
i i i
a a S
y a a
a x a x a x a
=

= + + =

+ + +


Turunan parsial terhadap a
2

( )
1 1
0 0 1 2
1
2 2 2
2 exp exp ln( ) 0
( ) ( )
n
i i
i
i i
a a S
y a a a x a
a x a x a
=

= + + + =

+ +


Pada akhirnya diperoleh sistem persamaan tak linier yang terdiri atas 3 buah
persamaan tak linier. Sistem persamaan tak linier dapat diselesaikan secara
simultan menggunakan metode Newton seperti yang telah dibahas pada bab 3
persamaan tak linier.

5.5 Subrutin MATLAB: nlinfit

[beta,R] = nlinfit(x,y,modelfun,beta0)


Kasus
Tabel 3.3 Tekanan uap dari Benzena (Perry)
Temperatur, T Tekanan, P
o
C (mmHg)
-36.7 1
-19.6 5
-11.5 10
-2.6 20
7.6 40
15.4 60
26.1 100




Bab 5 Regresi Linier dan Non Linier
Halaman 73 dari 101
42.2 200
60.6 400
80.1 760

Persamaan polynomial
2 3
0 1 2 3
( ) ...
n
n
P x a a x a x a x a x = + + + + +

Persamaan Clapeyron
log( )
B
P A
T
= +
Persamaan Riedel
log( ) log( )
B
P A C T DT
T

= + + +
dengan harga 2 = .
a. Korelasikan data dengan berbagai orde persamaan polynomial dengan
menganggap temperatur absolut (Kelvin) adalah variabel bebas dan P
adalah variabel terikat.
b. Korelasikan data dengan menggunakan persamaan Clapeyron
c. Korelasikan data menggunakan persamaan Riedel
d. Diskusikan persamaan manakah yang terbaik mewakili data-data
eksperimental tersebut.
Jawab:
a. Polynom orde 2, 3, 4, 5
%pol ynom
cl ear
cl c
T =[ - 36. 7, - 19. 6, - 11. 5, - 2. 6, 7. 6, 15. 4, 26. 1, 42. 2, 60. 6, 80. 1] +273; %K
P = [ 1 5 10 20 40 60 100 200 400 760] ; %mmHg
N =l engt h( P) ;
P2 = pol yf i t ( T, P, 2)
Pmod2 = pol yval ( P2, T) ; R2 = Pmod2- P; Var 2 = sum( R2. ^2) / ( N- 2)
P3 = pol yf i t ( T, P, 3)
Pmod3 = pol yval ( P3, T) ; R3 = Pmod2- P; Var 3 = sum( R3. ^2) / ( N- 3)
P4 = pol yf i t ( T, P, 4)
Pmod4 = pol yval ( P4, T) ; R4 = Pmod2- P; Var 4 = sum( R4. ^2) / ( N- 4)
P5 = pol yf i t ( T, P, 5)
Pmod5 = pol yval ( P5, T) ; R5 = Pmod2- P; Var 5 = sum( R5. ^2) / ( N- 5)
Hasil di Command Window




Bab 5 Regresi Linier dan Non Linier
Halaman 74 dari 101
P2 =
1. 0e+003 *
0. 0001 - 0. 0450 5. 8560
Var 2 =
1. 0647e+003
War ni ng: Pol ynomi al i s badl y condi t i oned. Remove r epeat ed dat a
poi nt s
or t r y cent er i ng and scal i ng as descr i bed i n HELP
POLYFI T.
> I n pol yf i t at 81
I n pol i nomat 9
P3 =
1. 0e+004 *
0. 0000 - 0. 0001 0. 0146 - 1. 2519
Var 3 =
1. 2168e+003
War ni ng: Pol ynomi al i s badl y condi t i oned. Remove r epeat ed dat a
poi nt s
or t r y cent er i ng and scal i ng as descr i bed i n HELP
POLYFI T.
> I n pol yf i t at 81
I n pol i nomat 11
P4 =
1. 0e+004 *
0. 0000 - 0. 0000 0. 0001 - 0. 0248 1. 5881
Var 4 =
1. 4196e+003
War ni ng: Pol ynomi al i s badl y condi t i oned. Remove r epeat ed dat a
poi nt s
or t r y cent er i ng and scal i ng as descr i bed i n HELP
POLYFI T.
> I n pol yf i t at 81
I n pol i nomat 13

P5 =
1. 0e+004 *
- 0. 0000 0. 0000 - 0. 0000 0. 0002 - 0. 0339 2. 1109
Var 5 =




Bab 5 Regresi Linier dan Non Linier
Halaman 75 dari 101
1. 7035e+003

b. Persamaan Clapeyron
%cl apeyr on. m
f unct i on l ogP = cl apeyr on( a, T) ;
l ogP = a( 1) +a( 2) . / T; %Per samaan Cl apeyr on

cl ear
cl c

T =[ - 36. 7, - 19. 6, - 11. 5, - 2. 6, 7. 6, 15. 4, 26. 1, 42. 2, 60. 6, 80. 1] ;
P = [ 1 5 10 20 40 60 100 200 400 760] ;
l ogP = l og10( P) ;
a0 = [ 0. 1 0. 3] ;
[ a R] =nl i nf i t ( T, l ogP, ' cl apeyr on' , a0)
N = l engt h( P) ; z = l engt h( a0) ;
Var i ance = sum( R. ^2) / ( N- z)

Hasil di Command Window
a =
1. 6667 1. 9173
R =
Col umns 1 t hr ough 8
- 1. 6145 - 0. 8699 - 0. 5000 0. 3718 - 0. 3169 - 0. 0131
0. 2598 0. 5889
Col umns 9 t hr ough 10
0. 9037 1. 1902
Var i ance =
0. 8124

c. Persamaan Riedel
%r i edel . m
f unct i on l ogP = r i edel ( a, T)
l ogP = a( 1) +a( 2) . / T+a( 3) *l og10( T) +a( 4) *T. ^2;

%r un_r i edel . m
cl ear
cl c
T =[ - 36. 7, - 19. 6, - 11. 5, - 2. 6, 7. 6, 15. 4, 26. 1, 42. 2, 60. 6, 80. 1] +273; %K
P =[ 1 5 10 20 40 60 100 200 400 760] ; %mmHg




Bab 5 Regresi Linier dan Non Linier
Halaman 76 dari 101
l ogP = l og10( P) ; a0 = [ 1 1 1 1] ;
[ a R] = nl i nf i t ( T, l ogP, ' r i edel ' , a0)
N = l engt h( P) ; z = l engt h( a0) ;
Var i ance = sum( R. ^2) / ( N- 4)

Hasil di command window
a =
1. 0e+003 *
0. 2162 - 9. 2955 - 0. 0756 0. 0000
R =
Col umns 1 t hr ough 6
0. 0107 - 0. 0236 - 0. 0113 0. 0080 0. 0251 0. 0081
Col umns 7 t hr ough 10
- 0. 0065 - 0. 0112 - 0. 0046 0. 0054
Var i ance =
2. 9689e- 004

d. Pembahasan

Tugas
Nomor 1
Harga viskositas air (centipoise) telah diukur pada berbagai temperatur. Hasil dari
eksperimen disajikan dibawah ini. Menggunakan regresi linier ganda (multiple
regresi linier), carilah konstanta-konstanta yang sesuan dengan persamaan
berikut:
2
1 2 3
1
k k T k T

= + +
T(
o
C) 10 20 30 40 50 60 70
(cp) 1.308 1.005 0.801 0.656 0.549 0.469 0.406

Nomor 2
Sebuah reaksi heterogen diketahui terjadi pada laju yang dapat digambarkan oleh
model Langmuir-Hinshelwood berikut ini:




Bab 5 Regresi Linier dan Non Linier
Halaman 77 dari 101


1
2
(1 )
A
A A R R
k P
r
K P K P
=
+ +

Dari pengukuran laju awal, k1 ditentukan sebagai 0.015 mol/s.g-cat.atm, pada 400
K. Dengan menggunakan data laju reaksi pada 400 K, perkirakan nilai dari K
A

dan K
R
.
P
A
1 0.9 0.8 0.7 0.6 0.5 0.4
P
R
0 0.1 0.2 0.3 0.4 0.5 0.6
r 3.4x10
-5
3.6x10
-5
3.7x10
-5
3.9x10
-5
4.0x10
-5
4.1x10
-5
4.2x10
-5



________________________________o0o______________________________





Bab 6 Integrasi
Halaman 78 dari 101
Bab 6
Integrasi
(Under construction)
6.1 Metode Trapesium


Gambar 5.1 Metode trapesium

( ) ( )
( ) ( )
2
b
a
f a f b
f x dx b a
+
=



6.2 Metode Simpson

( )
2
0 1 2
0
( ) ( ) 4 ( ) ( )
3
x
x
h
f x dx f x f x f x = + +



6.3 Metode Romberg

6.4 Metode Gauss






f(x)
x
f(a)
f(b)
a
b




Bab 6 Integrasi
Halaman 79 dari 101
6.5 Subrutin MATLAB: trapz
Subrutin trapz menghitung harga integral dari nilai-nilai diskrit x dan y
dengan menggunakan metode Trapezoidal.
Z = trapz(x,y)
Keterangan:
x dan y adalah vektor

Kasus 1
Dua buah besaran yang sangat penting dalam pembelajaran proses-proses
fermentasi adalan laju pembebasan CO
2
dan laju pengambilan O
2
. Hal tersebut
dihitung dari analisis eksperimental dari gas masuk dan gas keluar fermentor, dan
laju alir, temperatur dan tekanan dari gas-gas ini. Rasio pembebasan CO
2
terhadap
pengambilan O
2
menghasilkan RQ (Respiratory Quotient) yang merupakan
barometer aktivitas metabolik dari mikroorganisme. Laju di atas dapat
dintegrasikan untuk memperoleh jumlah keseluruhan dari CO
2
yang diproduksi
dan oksigen yang dikonsumsi selama fermentasi. Tabel berikut menunjukan laju
respirasi dihtung dari fermentasi Penicillium chrysogenum yang menghasilkan
antibiotik penicilin.

Tabel 5.1 Laju pembebasan CO
2
dan laju pengambilan O
2

Waktu fermentasi Laju Pembebasan CO
2
Laju pengambilan O
2

(jam) (g/jam) (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





Bab 6 Integrasi
Halaman 80 dari 101
Hitunglah jumlah keseluruhan CO
2
yang dihasilkan dan Oksigen yang dikonsumsi
selama fermentasi berlangsung.

%Respi r at or y_Quot i ent
cl ear
cl c

t = [ 140: 150] ; %Wakt u f er ment asi
dCO2dt = [ 15. 72, 15. 53, 15. 19, 16. 56, 16. 21, 17. 39, 17. 36, 17. 42, . . .
17. 60, 17. 75, 18. 95] ; %Laj u pembebasan CO2
dO2dt = [ 15. 49, 16. 16, 15. 35, 15. 13, 14. 20, 14. 23, 14. 29, 12. 74, . . .
14. 74, 13. 68, 14. 51] ; %Laj u pengambi l an O2

CO2 = t r apz( t , dCO2dt )
O2 = t r apz( t , dO2dt )

RQ = CO2/ O2

6.6 Subrutin MATLAB: quad

Q = quad(fungsi,A,B)

Kasus 2
Harga kapasitas panas suatu material dapat dievaluasi dengan menggunakan
persamaan sbb:
4 7 2
( ) 0.132 1.56x10 2.64x10
p
c T T T

= + +
cal/g
o
C
Hitunglah besar entalpi material sebanyak 1 gram pada rentang temperatur -100
o
C s.d 200
o
C dengan rumus sbb:
2
1
( )
T
T
H m c T dT =








Bab 6 Integrasi
Halaman 81 dari 101
%kapasi t as. m
f unct i on cp = kapasi t as( T)

cp=0. 132+1. 56e- 4. *T+2. 64e- 7*T. ^2;

%r unkapasi t as. m
Q = quad( ' kapasi t as' , - 100, 200)

>> r unkapasi t as
Q =
42. 7320

6.7 Subrutin MATLAB: dblquad
Subrutin dblquad digunakan untuk menghitung integral lipat dua.
q = dblquad(fun,xmin,xmax,ymin,ymax)

%i nt egr nd. m
f unct i on z = i nt egr nd( x, y)
z = y*si n( x) +x*cos( y) ;

%r un_i nt egr nd. m
Q = dbl quad( @i nt egr nd, pi , 2*pi , 0, pi ) ;

6.8 Subrutin MATLAB: triplequad
Subrutin triplequad digunakan untuk menghitung integral lipat tiga.
triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax)

%i nt gr nd3
f unct i on f = i nt egr nd3( x, y, z)
f = y*si n( x) +z*cos( x) ;

%r un_i nt egr nd3
Q = t r i pl equad( ' i nt egr nd3' , 0, pi , 0, 1, - 1, 1)





Bab 6 Integrasi
Halaman 82 dari 101
Tugas
Nomor 1
Lakukan komputasi yang sama seperti pada kasus 1, namun dengan massa
material 2000 gram dan temperatur -200 s.d 100
o
C.

Nomor 2
Profil kecepatan dari partikel pasir unggun terfluidakan dengan udara pada
kecepatan 1 m/s diberikan pada tabel Tabel 1 dan Tabel 2. Hitunglah kecepatan
gradien aksial ( /
z
V z , /
r
V z ). Plot rata-rata gradien z versus posisi radial dan
bandingkanlah besar ordenya.

Posisi radial (mm)
4.7663 14.2988 23.8313 33.3638 42.8962 52.4288 61.9612 71.4938
25 -13.09 -37.66 -52.41 -54.44 -58.21 -41.35 -23.97 -7.21
75 -15.81 -15.99 -27.81 -25.37 -22.3 -11.1 -2.26 1.63
125 1.77 1.17 3.45 5.5 1.63 -1.79 -0.26 1.09
175 1.43 -0.57 4.86 2.44 0.2 -0.65 0.35 2.21
225 -5.07 -7.26 -18.43 -18.17 -17.3 -10 -2.65 0.29
275 13.11 16.51 19.32 21 20.29 15.64 0.98 -9.81
325 11.7 34.5 58.3 71.44 73.49 64.88 50.91 19.14
375 8.18 25.29 31.18 37.07 30.05 2.61 -17.06 -15.88
425 3.35 -0.39 -18 -42.22 -57.42 -82.36 -69.34 -17.35
P
o
s
i
s
i

a
k
s
i
a
l
,

m
m

475 -27.05 -22.25 -49.45 -79.45 -110.08 -116.62 -128.25 -76.49

Posisi radial (mm)
4.7663 14.2988 23.8313 33.3638 42.8962 52.4288 61.9612
25 93.33 74.12 69.35 43.68 18.8 -6.9 -21.56
75 244.73 217.07 177.09 103.79 16.87 -39.74 -74.91
125 304.34 260.58 201.15 118.82 22.76 -52.23 -82.86
175 308.81 281.67 209.18 133.9 53.88 -51.92 -98.47
225 379.66 328.52 279.3 165.61 53.25 -65.97 -133.92
275 416.08 366.96 314.09 203.08 44.97 -76.93 -160.04
325 184.46 157.25 111.99 63.23 1.03 -63.66 -71.23
375 55.74 -12.28 -18.74 -47.26 -42.1 -9.95 125.57
425 -67.81 -118.77 -108.46 -89.68 9.24 61.78 175.43
P
o
s
i
s
i

a
k
s
i
a
l
,

m
m

475 -136.25 -32.33 -65.5 -111.72 38.74 115.6 84.88







Bab 7 Persamaan Diferensial Biasa
Halaman 83 dari 101
Bab 7
Persamaan Diferensial Biasa (PDB)

Definisi PDB
Persamaan diferensial biasa adalah persamaan diferensial yang terdiri atas fungsi
turunan satu buah variabel bebas.
Contoh:
Persamaan gaya geser (shear stress) pada aliran fluida dirumuskan sbb.
xz
d
g
dx

=

Perhatikan PDB hanya memiliki satu buah variabel bebas yaitu x dan satu variabel
terikat yaitu
xz.


Aplikasi PDB
PDB banyak ditemukan pada pemodelan-pemodelan teknik reaktor, kinetika
reaksi kimia, peristiwa-peristiwa perpindahan dll.

Klasifikasi PDB
Berdasarkan ordenya PDB terdiri atas tiga jenis (paling umum ditemukan dalam
permasalahan teknik kimia).
Orde 1
dy
y kx
dx
+ =
Orde 2
2
2
d y dy
y kx
dx dx
+ =
Orde 3
2
3 2
3 2
d y d y dy
a b kx
dx dx dx

+ + =




Berdasarkan ordenya PDB terdiri atas dua jenis.
1. Linier
Persamaan umum PDB linier dirumuskan sbb:




Bab 7 Persamaan Diferensial Biasa
Halaman 84 dari 101
( ) ( ) ( ) ( ) ( )
1
1 1 1
...
n n
o n n n n
d y d y dy
b x b x b x b x y R x
dx dx dx


+ + + + =

2. Taklinier
PDB yang tidak memenuhi persamaan umum PDB linier di muka
dikelompokan ke dalam PDB tak linier.

Berdasarkan kondisi batasnya PDB terdiri atas dua jenis.
1. PDB bernilai awal
2
2
(0) 2, (0) 1
y
yx
x
y
y
x

= =


harga sama x
2. PDB bernilai batas
2
2
(0) 2, (1) 1
y
yx
x
y y

= =


harga x berbeda

Transformasi ke Dalam Bentuk Kanonikal
Persamaan diferensial biasa linier orde 1 bernilai awal dapat diselesaikan dengan
menggunakan metode matrik eksponensial dan metode eigen yang akan dibahas
di depan nanti. PDB linier orde 2, 3 bernilai awal dapat pula diselesaikan dengan
metode-metode tersebut, asalkan PDB tersebut ditransformsikan terlebih dahulu
ke dalam PDB orde 1. Berikut ini penjelasan teknik transformasi dari PDB
berorde tinggi menjadi PDB berorde 1.
Contoh 1:
4 3 2
4 3 2
5 2 6 3 0
d z d z d z dz
z
dt dt dt dt
+ + =




Bab 7 Persamaan Diferensial Biasa
Halaman 85 dari 101
Transformasi PDB orde 4 linier tersebut akan menghasilkan 4 buah PDB linier
orde 1.
Misalkan:
1
1
2
2
2
3 2
3
3
4 3
4
4
4
z y
dy dz
y
dt dt
dy d z
y
dt dt
dy d z
y
dt dt
dy d z
dt dt
=
= =
= =
= =
=

1
2
2
3
3
4
4
1 2 3 4
3 6 2 5
dy
y
dt
dy
y
dt
dy
y
dt
dy
y y y y
dt
=
=
=
= + +


Contoh 2:
4 3 2
4 3 2
5 2 6 3
t
d z d z d z dz
z e
dt dt dt dt

+ + =
Transformasi PDB orde 4 linier tersebut akan menghasilkan 5 buah PDB linier
orde 1.

Misalkan:
1
1
2
2
2
3 2
3
3
4 3
4
4
4
5
5
5
t
t
z y
dy dz
y
dt dt
dy d z
y
dt dt
dy d z
y
dt dt
dy d z
dt dt
y e
dy
e y
dt

=
= =
= =
= =
=
=
= =

1
2
2
3
3
4
4
1 2 3 4 5
5
5
3 6 2 5
dy
y
dt
dy
y
dt
dy
y
dt
dy
y y y y y
dt
dy
y
dt
=
=
=
= + + +
=




Maka PDB
orde 4 dapat
dituliskan sbb:
Penulisan
dalam bentuk
matrik sbb:
1
2
3
4
1
2
3
4
0 1 0 0
0 0 1 0
0 0 0 1
3 6 2 5
dy
dt
dy
dt
dy
dt
dy
dt
y
y
y
y






=







Maka PDB
orde 4 dapat
dituliskan sbb:
Penulisan
dalam
bentuk
matrik sbb:




Bab 7 Persamaan Diferensial Biasa
Halaman 86 dari 101






Contoh 3:
3
3 2
2
3 2
2 0
d z d z dz
z z
dx dx dx

+ =



Transformasi PDB orde 3 taklinier.
Misalkan:
1
1
2
2
2
3 2
3
3
3
z y
dy dz
y
dx dx
dy d z
y
dx dx
dy d z
dx dx
=
= =
= =
=

1
2
2
3
2 3 3
1 1 3 2
2
dy
y
dx
dy
y
dx
dy
y y y y
dx
=
=
= +

PDB taklinier tidak dapat dituliskan dalam bentuk matrik.













1
2
3
4
5
1
2
3
4
5
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
3 6 2 5 1
0 0 0 0 1
dy
dt
dy
dt
dy
dt
dy
dt
dy
dt
y
y
y
y
y







=








Maka PDB
orde 3 taklinier
dituliskan sbb:




Bab 7 Persamaan Diferensial Biasa
Halaman 87 dari 101
Contoh 4:

3 2
3 2
3 2
5 0
d z d z dz
t t z
dt dt dt
+ + =
Transformasi PDB orde 3 taklinier.
Misalkan:
1
1
2
2
2
3 2
3
3
3
4
4
1
z y
dy dz
y
dt dt
dy d z
y
dt dt
dy d z
dt dt
y t
dy
dt
=
= =
= =
=
=
=

1
2
2
3
2 3 3
1 4 2 4 3
4
5
1
dy
y
dt
dy
y
dt
dy
y y y y y
dt
dy
dt
=
=
= +
=

PDB taklinier tidak dapat dituliskan dalam bentuk matrik.


Nilai dan Vektor Eigen
( )
[ ] [ ]
[ ] [ ]
[ ]
0
0
k k
k
k k
k
k
k
Aw w
Aw w
A I w

=
=
=

( ) 0
k
A I = atau
[ ]
0
k
w

( ) det 0
k
A I =
Keterangan:
A adalah sebuah matrik kubus
k
adalah nilai eigen
[ ] k
w adalah vektor eigen

Maka PDB
orde 3 taklinier
dituliskan sbb:
Vektor eigen tidak
bernilai nol




Bab 7 Persamaan Diferensial Biasa
Halaman 88 dari 101
Berikut ini akan dipaparkan cara menghitung nilai dan vektor eigen secara
analitik.

Kasus 6
Tentukanlah vektor dan nilai eigen dari matrik A berikut ini dengan menggunakan
cara analitik.
1 0 3
0 2 1
3 1 1
A


=




Jawaban:
( )
( )
[ ]
0
det 0
k
k
k
A I w
A I

=
=

(1 ) 0 3
0 (2 ) 1 0
3 1 ( 1 )

=


(1 ) 0 3 (1 ) 0
0 (2 ) 1 0 (2 ) 0
3 1 ( 1 ) 3 1


=


2
3 2
3 2
(1 )(2 )( 1 ) (3)(2 )(3) (1 ) 0
(1 )( 2) 9(2 ) (1 ) 0
2 2 18 9 1 0
2 11 21 0




=
=
+ + + =
+ + =

Dengan menggunakan subrutin roots MATLAB diperoleh harga akar-akar
polinom pangkat 3 (nilai eigen) tersebut, yaitu:
1 2 3
3.4211 3.2880 1.8669 = = =
Kembali ke persamaan awal.
( )
[ ]
0
k
k
A I w =
1
2
3
(1 ) 0 3
0 (2 ) 1 0
3 1 ( 1 )
w
w
w



=








Bab 7 Persamaan Diferensial Biasa
Halaman 89 dari 101
Karena vektor eigen (w) tidak bernilai nol, maka kita misalkan harga w
3
sebagai
basis bernilai 1.
1 3
2 3
(1 ) 3 0
(2 ) 0
w w
w w

+ =
+ =

Misalkan w
3
= 1, maka system persamaan linier menjadi
1
2
(1 ) 3
(2 ) 1
w
w

=
=

1
2
3
3
(1 )
1
(2 )
1
w
w
w

=

Masukan harga nilai eigen
Untuk:

1
3.4211 =
2
3.2880 =
3
1.8669 =
[1]
1.2391
0.7037
1
w


=




[2]
0.6996
0.1891
1
w


=




[3]
3.4607
7.5131
1
w


=




Normalisasi vektor-vektor eigen tersebut dengan menggunakan norma ke-2.
( )
[1] 2 2 2
2
1.2391 0.7037 1 1.741 w = + + =
[1]
1.2391
1.741 0.7117
0.7037
0.4042
1.741
0.5744
1
1.741
w





= =









( )
[2] 2 2 2
2
0.6996 0.1891 1 1.235 w = + + =
[2]
0.6996
1.235 0.5665
0.1891
0.1531
1.235
0.8097
1
1.235
w





= =













Bab 7 Persamaan Diferensial Biasa
Halaman 90 dari 101
( )
[3] 2 2 2
2
3.4607 7.5131 1 8.332 w = + + =
[3]
3.4607
8.332 0.4153
7.5131
0.9017
8.332
0.1200
1
8.332
w





= =









Jadi nilai dan vektor eigen matrik A adalah
3.4211
3.2880
1.8669



=




0.7117 0.5665 0.4153
0.4042 0.1531 0.9017
0.5744 0.8097 0.1200
w


=




Catatan: Perkalian konstanta dengan vektor eigen tidak akan mengubah esensi dari vektor eigen
tersebut. Untuk persoalan ini harga vektor eigen yang diperoleh menggunakan MATLAB (sekejap
lagi akan dibahas) adalah hasil perkalian antara -1 dengan vektor eigen yang telah diperoleh pada
perhitungan secara analitik.

MATLAB telah menyediakan rutin untuk menghitung nilai dan vektor eigen
matriks A yaitu eig.
Penulisan perintahnya pada MATLAB command window sbb:
[ , ] ( ) V D eig A =



Sebagai contoh berikut ini akan ditampilkan perintah pada command window
untuk menghitung nilai dan vektor eigen dari matrik A yang telah diselesaikan
secara analitik sebelumnya.
>> [V,D]=eig(A)

V =
-0.5665 -0.4153 -0.7118
-0.1531 0.9018 -0.4042
0.8097 -0.1200 -0.5744
Vektor eigen
Nilai eigen




Bab 7 Persamaan Diferensial Biasa
Halaman 91 dari 101
D =
-3.2880 0 0
0 1.8669 0
0 0 3.4211

Tugas 6
Transformasi kanonikal PDB dan analisis eigen

Nomor 1
Hitunglah nilai dan vektor eigen dari matrik A berikut ini. Bandingkan hasilnya
dengan menggunakan subrutin eig di MATLAB.




Nomor 2
Ubahlah persamaan differensial berikut ke dalam bentuk kanonikal.
a.
2
2
3 10 0
d x dx
x
dt dt
=

b.
3 2
3 2
3 2
10 0
d T d T dT
t t T
dt dt dt
+ =

c.
2
3 2
3
3 2
9 0
d y d y dy
y y
dx dx dx

+ =









1 2 3
2 5 1
3 1 4
A


=







Bab 7 Persamaan Diferensial Biasa
Halaman 92 dari 101
Solusi Persamaan Differensial Biasa Linier bernilai awal
1. Metode matriks eksponensial
dy
Ay
dt
=

( )
0
0 y y =

A adalah matriks persegi (m x m) dan y adalah vektor kolom (m x 1)
Integrasikan persamaan diferensial linier tersebut.
0
0
y t
y
dy
A dt
y
=



0
ln
y
At
y
=
0
e
At
y y =

Fungsi matriks eksponensial dapat dituliskan sebagai berikut:
2 2 3 3
exp(A ) ...
2! 3!
t t
t t = + + + +
A A
I A

Contoh soal:
Kasus 7
Berikut ini adalah PDB linier orde 2.
2
2
3 10 0
d x dx
x
dt dt
=
Dengan nilai awal pada t = 0, sbb:
0
(0) 3
15
x
dx
dt
=
=


Selesaikan PDB tercetak menggunakan metode matrik eksponensial dalam
interval 0 t 1.0 (Langkah integrasi 0.1).






Bab 7 Persamaan Diferensial Biasa
Halaman 93 dari 101
Jawaban :
2
2
1
1
2
2
2
2 1 2
3 10 0
3
d x dx
x
dt dt
x y
dy dx
y
dt dt
dy d x
y y
dt dt
=
=
= =
= = +




dy
Ay
dt
=
Integrasikan.
0
e
At
y y =

0
3
15
y

=



Rentang integrasi 0 t 1.0. Langkah integrasi 0.1
t 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

0
1 3
2
3
e
15
t
t t
y
y





=





Dengan mensubstitusikan t = 0 s.d 1 (langkah integrasi 0.1) selesailah persoalan
ini.
Berikut ini pemrograman MATLAB-nya.
kasus7.m
1
1
2 2
0 1
1 3
dy
y
dt
y dy
dt



=




dy
dt
A y




Bab 7 Persamaan Diferensial Biasa
Halaman 94 dari 101


>>kasus7a
t =

0
0.1000
0.2000
0.3000
0.4000
0.5000
0.6000
0.7000
0.8000
0.9000
1.0000


x =

3.0000
4.7688
7.2122
10.5945
clear
clc

A =[0 1
1 3];
% Nilai awal
yo =[3;15];
t =[0:0.1:1]';

for i =1:length(t)
y(i,:) =expm(A*t(i))*yo;
end

%kurva t-x
x =y(:,1)
plot(t,x)
xlabel('t')
ylabel('x')
grid on




Bab 7 Persamaan Diferensial Biasa
Halaman 95 dari 101
15.2839
21.7922
30.8319
43.3941
60.8578
85.1416
118.9150

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
20
40
60
80
100
120
t
x

2. Metode nilai-vektor eigen
Harga
t
e
A
dapat dihitung dengan menggunakan bantuan nilai dan vektor eigen.
1
V V
t Dt
e e

=
A

Sehingga solusi PDB linier menjadi.
1
0
V V
Dt
y e y

=



Untuk lebih memahami metode nilai-vektor eigen berikut ini disajikan
penyelesaian kasus 7 dengan menggunakan metode nilai-vektor eigen.

Langkah awal sama dengan metode matriks eksponensial.
0 1
1 3
A

=








Bab 7 Persamaan Diferensial Biasa
Halaman 96 dari 101
Dengan menggunakan rutin eig MATLAB diperoleh harga nilai (D) dan vektor
eigen (V).















0.9571 0.2898 0.3028 0
dan
0.2898 0.9571 0 3.3028
V D

= =




Substitusikan matriks V dan D ke dalam persamaan
1
0
V V
Dt
y e y

=


1
0.3028
0.3028
0.9571 0.2898 0.9571 0.2898 3 0

0.2898 0.9571 0.2898 0.9571 15 0
t
t
e
e



=



y
Dengan mensubstitusikan t = 0 s.d 1 (langkah integrasi 0.1) selesailah persoalan
ini.
Berikut ini pemrograman MATLAB-nya.







>>A=[0 1
1 3]
A =
0 1
1 3

>>[V,D]=eig(A)
V =
-0.9571 0.2898
0.2898 0.9571

D =
-0.3028 0
0 3.3028





Bab 7 Persamaan Diferensial Biasa
Halaman 97 dari 101
kasus7.m
















Eksekusi program kasus7.m (lanjutan)
Hasil di Command Window :
clear
clc
A =[0 1
1 3];
% Nilai awal
yo =[3;15];
a=length(yo);

% Vektor dan Nilai eigen
[V,D]=eig(A);
% Rentang integrasi
t=[0:0.1:1]'

x =zeros(length(t),a);
for i =1 : length(t)
y =(V*diag(exp(diag(D)*t(i)))*inv(V))*yo;
x(i,:) =y;
end
x
% kurva t-x
plot(t,x(:,1))
xlabel('t')
ylabel('x')
grid on
>>kasus7

t =

0
0.1000
0.2000
0.3000
0.4000
0.5000
0.6000
0.7000
0.8000
0.9000
1.0000


x =

3.0000 15.0000
4.7688 20.6902
7.2122 28.6127
10.5945 39.6409
15.2839 54.9901
21.7922 76.3512
30.8319 106.0768
43.3941 147.4403
60.8578 204.9959
85.1416 285.0806
118.9150 396.5110




Bab 7 Persamaan Diferensial Biasa
Halaman 98 dari 101
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
20
40
60
80
100
120
t
x

Tugas 7
Metode eigen untuk menyelesaikan sistem persamaan diferensial biasa linier
Suatu bahan radioaktif meluruh berdasarkan mekanisme reaksi berantai
sbb:
1 2
k k
A B C

k
1
dan k
2
adalah konstanta laju reaksi. B adalah produk intermediate dan C
adalah produk akhir. Persamaan laju reaksinya sbb:

C
A
, C
B
, dan C
C
adalah konsentrasi
bahan A, B, dan C.
k
1
= 3 s
-1
, k
2
= 1 s
-1
.
Konsentrasi mula-mula bahan sbb:
C
A
(0)=1 mol/m
3
C
B
(0)=0 C
C
(0)=0





1
1 2
2
A
A
B
A B
C
B
dC
k C
dt
dC
k C k C
dt
dC
k C
dt
=
=
=




Bab 7 Persamaan Diferensial Biasa
Halaman 99 dari 101
a) Menggunakan metode matriks eksponensial dan metode eigen tentukan
konsentrasi C
A
, C
B
, dan C
C
sebagai fungsi waktu.
b) Hitunglah konsentrasi C
A
, C
B
, dan C
C
saat t = 1 s dan t = 10 s.
c) Buatlah profil konsentrasi A, B, dan C.

Sistem PDB tak linier bernilai awal
Sistem PDB tak linier bernilai awal banyak ditemukan pada kajian-kajian teknik
kimia berikut ini:
1. Neraca massa dan energi yang melibatkan reaksi kimia.
2. Sistem dinamik nyata (tak ideal).
3. Hampir seluruh peristiwa perpindahan dalam teknologi proses.

Solusi PDB tak linier bernilai awal

1. Metode Euler
1 1
1
( , )
i i i i
i i
y y y y dy
f x y
dx x x h
+ +
+

= = =


1
( , )
i i i i
y y hf x y
+
= +


Harga baru = harga lama + ukuran langkah x slope

2. Metode Runge-Kutta orde ke-2 (Crank-Nicholson)
( ) ( )
( )
( )
3
1
1 1 2 2
1
2 1
,
,
i i
i i
i i
y y k k O h
k hf x y
k hf x h y k
+
= + + +
=
= + +


3. Metode Runge-Kutta orde ke-3
Kesalahan
pemotongan lokal
( ) ( )
2
1
,
i i i i
y y hf x y O h
+
= + +




Bab 7 Persamaan Diferensial Biasa
Halaman 100 dari 101
( ) ( )
( )
( )
4
1
1 1 2 3 6
1
1
2
3 2 1
4
,
,
2 2
, 2
i i
i i
i i
i i
y y k k k O h
k hf x y
k h
k hf x y
k hf x h y k k
+
= + + + +
=

= + +


= + +

3. Metode Runge-Kutta orde ke-4
( ) ( )
( )
( )
5
1
1 1 2 3 4 6
1
1
2
2
3
4 3
2 2
,
,
2 2
,
2 2
,
i i
i i
i i
i i
i i
y y k k k k O h
k hf x y
k h
k hf x y
k h
k hf x y
k hf x h y k
+
= + + + + +
=

= + +



= + +


= + +


4. Metode Runge-Kutta orde ke-5
( ) ( )
( )
6
1
1 1 3 4 5 6 90
1
1
2
1 2
3
3
4
3 2 4
5
3 5 2 4
6
7 32 12 32 7
,
,
2 2
3
,
4 16 16
,
2 2
6 3 9 3
,
4 16 16 16
6 8 4 12 1
,
7 7 7 7 7
i i
i i
i i
i i
i i
i i
i i
y y k k k k k O h
k hf x y
k h
k hf x y
k k h
k hf x y
k h
k hf x y
k k k h
k hf x y
k k k k k
k hf x h y
+
= + + + + + +
=

= + +



= + + +



= + +



= + + +

= + + + + +











Bab 7 Persamaan Diferensial Biasa
Halaman 101 dari 101
5. Metode Runge-Kutta-Fehlberg
( )
( )
( )
( )
( )
16 6656 28561 9 2
1 1 3 4 5 6 135 12825 56430 50 55
1
2 1 4 4
3 3 9
3 1 2 8 8 32
12 1932 7200 7296
4 1 2 3 13 2197 2197 2197
439 3680 845
5 1 2 3 216 513 41
,
,
,
,
, 8
i i
i i
h h
i i
h h h
i i
h h h h
i i
h h h
i i
y y h k k k k k
k f x y
k f x y k
k f x y k k
k f x y k k k
k f x h y k hk k
+
= + + + +
=
= + +
= + + +
= + + +
= + + +
( )
( )
( )
4 04
8 3544 1859 11
6 1 2 3 4 5 2 27 2565 4104 40
128 2197 1 1 2
1 1 3 4 5 6 360 4275 75240 50 55
, 2
h h h h h
i i
i
k
k f x y k hk k k k
d h k k k k k
+
= + + +
= + +


Algoritma dan pemrograman metode euler

Algoritma
1. Mulai
2. Definisikan fungsi f(x,y) [turunan ke-1]
3. Tetapkan nilai awal, x awal, langkah integrasi (h), dan x akhir.
4. Hitung panjang vektor x
5. Hitung
1
( , )
i i i i
y y hf x y
+
= untuk i = 1 s.d (panjang vektor-1)
6. selesai














Bab 7 Persamaan Diferensial Biasa
Halaman 102 dari 101
Algorima dalam diagram alir







Hitung panjang vector x
1
( , )
i i i i
y y hf x y
+
=

untuk i = 1 s.d (panjang
vektor x -1)
Mulai
Definisikan
fungsi f(x,y)
Masukan harga
yo, xo, h, xn
Selesai
function [x y] =eulerku(dfungsi,yo,xo,dx,xn)

x =xo:dx:xn
a =length(x)
y(1) =yo

for i =1 : (a-1)
y(i+1)=y(i) +dx*feval(dfungsi,x(i),y(i))
end
eulerku.m




Bab 7 Persamaan Diferensial Biasa
Halaman 103 dari 101


>> [x y] = eulerku('dcoba',0,0,1,10)

x =

Columns 1 through 9

0 1 2 3 4 5 6 7 8

Columns 10 through 11

9 10


y =

Columns 1 through 9

0 0 2 6 12 20 30 42 56

Columns 10 through 11

72 90


Subrutin dalam MATLAB untuk solusi PDB bernilai awal
Pada bagian ini akan dijelaskan subrutin ode23 dalam MATLAB untuk
menyelesaikan PDB bernilai awal dengan karakter linier, taklinier, tunggal
maupun jamak (sistem).


function f =dcoba(x,y)

f =2*x
dcoba.m




Bab 7 Persamaan Diferensial Biasa
Halaman 104 dari 101
Cara penulisan sintaks ode23



Misal:
3 2
2 12 20 8.5
dy
x x x
dx
= + + dengan kondisi awal y = 1 pada x = 0 dan rentang
integrasi dari x = 0 s.d x = 4.

Berikut ini pemrograman MATLAB-nya.







[t,y] = ode23(fungsiPDB,rentang_t,y0)
Fungsi PDB
yang akan
dievaluasi
Rentang
integrasi
Harga
awal
%pdb.m
function dydx =pdb(x,y)

dydx =-2*x^3+12*x^2-20*x+8.5;
%runpdb.m
clear
clc

rentang_x =[0 4];
y0 =1;

[x,y] =ode23('pdb',rentang_x,y0)

plot(x,y)
xlabel('x')
ylabel('y')




Bab 7 Persamaan Diferensial Biasa
Halaman 105 dari 101
Eksekusi di command window

0 0.5 1 1.5 2 2.5 3 3.5 4
1
1.5
2
2.5
3
3.5
4
4.5
5
x
y





y =

1.0000
1.0791
1.4488
2.1817
2.7701
3.1483
3.3031
3.2609
3.0709
2.7893
2.4787
2.2006
2.0131
1.9808
2.2494
2.6978
3.2901
3.8780
4.3716
4.6749
4.6862
4.3176
3.4933
3.0015
x =

0
0.0094
0.0565
0.1712
0.3046
0.4524
0.6111
0.7777
0.9511
1.1319
1.3196
1.5150
1.7217
1.9512
2.2503
2.4902
2.7301
2.9516
3.1622
3.3655
3.5614
3.7483
3.9277
4.0000




Bab 7 Persamaan Diferensial Biasa
Halaman 106 dari 101
Kasus 8
Studi terhadap kinetika proses fermentasi berhasil dimodelkan secara matematis
sbb:
1 1
1 1
2
2
3 1 4 2
1
dy y
k y
dt k
dy
k y k y
dt

=


=

Dengan k
1
= 0.03120; k
2
= 47.70; k
3
= 3.374 ;k
4
= 0.01268 serta nilai pada t = 0,
y
1
=5, y
2
=0. Evaluasi harga y
1
dan y
2
dalam interval waktu 0 s.d 10 jam setiap
jamnya!.

Berikut ini pemrograman MATLAB-nya.








%fermen.m
function dydt =fermen(t,y)
k1=0.03120;
k2=47.70;
k3=3.374;
k4=0.01268;

dydt=[k1*y(1)*(1-y(1)/k2)
k3*y(1)-k4*y(2)];
%kasus8
clear
clc

tspan =[0:1:10];
yo =[5 0];

[t,y]=ode23('fermen',tspan,yo)




Bab 7 Persamaan Diferensial Biasa
Halaman 107 dari 101
Eksekusi di command window


Tugas 8
Solusi PDB tak linier menggunakan subrutin MATLAB ode23
Nomor 1
Konversi glukosa menjadi asam glukonik merupakan reaksi oksidasi sederhana
dari gugus aldehid gula menjadi gugus karboksil. Enzim glukosa oksidase,
terbentuk dalam mikroorganisme untuk mengubah glukosa menjadi
glukonolaktona. Kemudian glukonolaktona bereaksi dengan air membentuk asam
glukonik. Mekanisme reaksi secara keseluruhan proses fermentasi dapat dituliskan
sbb:
Glukosa oksidase
2 2 2
2
Glukosa + sel sel
Glukosa + O
Pertumbuhan sel:
Oksidasi glukosa:
Hidrolisis
Glukonolactona + H O
Glukonolactona + H O Asam glu
glukonolactona:
Dekomposisi per
konik
ok

Katalis
2 2 2 2
1
H O H O + O
:
2
sida


Model matematika untuk fermentasi bakteri Pseudomonas ovalis yang
memproduksi asam glukonik telah dirumuskan oleh Rai dan Constantinides.
Model yang menggambarkan dinamika pertumbuhan fasa logaritmik ini dapat
dituliskan sbb:
t =

0
1
2
3
4
5
6
7
8
9
10
y =

5.0000 0
5.1414 17.0000
5.2863 34.2657
5.4347 51.8056
5.5868 69.6282
5.7425 87.7422
5.9020 106.1564
6.0652 124.8796
6.2323 143.9206
6.4033 163.2886
6.5783 182.9924





Bab 7 Persamaan Diferensial Biasa
Halaman 108 dari 101
1 1
1 1
2
3 1 4 2
5 2
4 4
3
5 2
3 1 4 4
4 4
1
0.908
Laju pertumbuhan sel:
Laju pembentukan glukonolaktona:
Laju pembentukan asam glukonik:
Laju konsumsi glukosa:
2
1.011
dy y
b y
dt b
b y y dy
b y
dt b y
dy
b y
dt
b y y dy
dt b y

=


=
+
=

=

+


Keterangan:
1
2
3
4
1 5
y = konsentrasi sel
y = konsentrasi glukonolaktona
y = konsentrasi asam glukonik
y = konsentrasi glukosa
b s.d b = parameter, f(T,pH)

Pada kondisi operasi T=30
o
C dan pH 6.6 harga dari lima parameter yang
diperoleh secara eksperimental sbb:
1
2
3
4
5
0.949
3.439
18.72
37.51
1.169
b
b
b
b
b
=
=
=
=
=

Pada kondisi tersebut buatlah profil y1,y2,y3, dan y4 terhadap waktu selama 0 t
9 jam!. Nilai-nilai awal (pada saat t=0) adalah sbb:
y
1
(0) = 0.5 U.O.D./mL
y
2
(0) = 0.0 mg/mL
y
3
(0) = 0.0 mg/mL
y
4
(0) = 50.0 mg/mL
Petunjuk: soal ini mudah.!!!
_______________________________o0o________________________________




Bab 8 Persamaan Diferensial Parsial
Halaman 109 dari 101

Bab 8
Persamaan Diferensial Parsial (PDP)

Definisi PDP
Persamaan diferensial parsial adalah persamaan diferensial yang terdiri
atas fungsi turunan lebih dari satu variabel bebas.
Contoh:
Persamaan konduksi tak tunak satu dimensi pada lembaran suatu material
dirumuskan dalam PDP sbb.
2
2
x
T
c
k
t
T
p


PDP tersebut terdiri dari dua buah variabel bebas, yaitu x (tebal lembaran) dan t
(waktu). Sedangkan variabel terikatnya adalah T (Temperatur). Jika digambarkan
pada koordinat kartesius akan diperoleh gambar 3 dimensi.

Aplikasi PDP
Pemodelan kimia dan fisika atas suatu fenomena dalam bidang teknik
kimia seringkali menghasilkan rumusan matematis dalam bentuk PDP khususnya
pada berbagai fenomena perpindahan (momentum, massa, dan panas).
Klasifikasi PDP
Berdasarkan ordenya PDP terdiri atas tiga jenis.
Orde 1
0
u u
x y


=



Orde 2
2
2
0
u u
u
x y

+ =



Orde 3




Bab 8 Persamaan Diferensial Parsial
Halaman 110 dari 101

2
3 2
3
0
u u u
x x y y

+ + =





Umumnya PDP dalam teknik kimia berorde 2 dengan 2 sampai 4 variabel
bebas.
Berdasarkan kelinierannya PDP terdiri atas tiga jenis.
1. Linier
2. Quasilinier
3. Taklinier

Kajian PDP dalam diktat ini terbatas hanya untuk PDP orde 2 linier saja.
PDP linier orde 2 memiliki persamaan umum sbb:



Berdasarkan harga ac b
2
PDP orde 2 linier terbagi atas tiga bagian, sbb:
1. Eliptik 0
2
< ac b
2. Parabolik 0
2
= ac b
3. hiperbolik 0
2
> ac b

Kondisi Batas
Untuk lebih memahami kondisi batas pada PDP perhatikan contoh persamaan
konduksi tak tunak satu dimensi sbb:
2
2
x
T
c
k
t
T
p


1. Kondisi Dirichlet
Nilai variabel terikat (T) diketahui pada nilai variabel bebas (x,t) tertentu

2 2 2
2 2
2 0
u u u u u
a b c d e fu g
x x y y x y

+ + + + + + =





Bab 8 Persamaan Diferensial Parsial
Halaman 111 dari 101

0
kondisi awal
( ) pada 0 dan 0 1, atau
pada 0 dan 0 1
T f x t x
T T t x
= =
= =


1
kondisi batas
( ) pada 0 dan 0, dan
pada 0 dan 0
T f t x t
T T x t
= = >
= = >


Contoh :
( )
( )
( )
2
2
0
0
0
0, 120
1, 120
0:1, 0 25
T T
x t
T t C
T t C
T x C


=

=
=
= =


2. Kondisi Neuman
Turunan variabel terikat (T) diketahui pada nilai tertentu atau sebagai fungsi dari
variabel bebas (x,t).

0 pada 1 dan 0
T
x t
x

= =



3. Kondisi Robbin
( ) pada 0 dan 0
f
T
k h T T x t
x

= =


Turunan variabel terikat (T) diketahui sebagai fungsi dari variabel terikat itu
sendiri.
Solusi PDP
Solusi yang paling sederhana dan gampang untuk diterapkan yaitu dengang
metode penghampiran selisih terhingga (finite difference approximationi).





Bab 8 Persamaan Diferensial Parsial
Halaman 112 dari 101

Penghampiran Selisih Terhingga
1. Penghampiran selisih terpusat
( )
( )
( )
1 1
2
1 1 2 2
2
,
1, 1 1, 1 1, 1 1, 1
1
2
1
2
1
4
i
i i
i
i i i
i j
i j i j i j i j
u
u u
x x
u
u u u
x x
u
u u u u
y x x y
+
+
+ + + +

= +

= +



2. Penghampiran selisih maju
( )
( )
( )
1
2
2 1 2 2
2
,
1, 1 , 1 1, ,
1
1
2
1
4
i
i i
i
i i i
i j
i j i j i j i j
u
u u
x x
u
u u u
x x
u
u u u u
y x x y
+
+ +
+ + + +

= +

= +



3. Penghampiran selisih mundur
( )
( )
( )
1
2
1 2 2 2
2
,
, , 1 1, 1, 1
1
1
2
1
i
i i
i
i i i
i j
i j i j i j i j
u
u u
x x
u
u u u
x x
u
u u u u
y x x y

= +

= +



Diskretisasi Persamaan Diferensial
Dalam menyelesaikan persamaan diferensial menggunakan penghampiran selisih
terhingga dikenal teknik diskretisasi. Penjelasannya diberikan berdasarkan contoh
soal sebagai berikut :
Kasus 9:
Selesaikan persamaan differensial di bawah ini, kemudian petakan harga x dan y
pada koordinat kartesius.




Bab 8 Persamaan Diferensial Parsial
Halaman 113 dari 101

2
2
6 4
0 1
1 1
Rentang Integrasi x = 0 s/d 1
d y
x
dx
x y
x y
= +
= =
= =


Jawaban:
Rentang integrasi x = 0 s.d 1 didiskretisasikan menjadi 10 bagian (N = 10).







Menggunakan penghampiran selisih terpusat.
( )
2
1 1 2 2
1
2
i
i i i
y
y y y
x x
+

= +



Substitusikan penghampiran selisih terpusat itu ke persamaan diferensial.
0 4 6
2
2
= +

x
x
y

menghasilkan
( )
1 1 2
1
2 6 4 0
i i i i
y y y x
x
+
+ =








0 1 2 3 4 5 6 7 8 9 10
x
0
x
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x
9
x
10

10 9 8 7 6 5 4 3 2 1
x
10
1
0.1
N
x
N
=
= =




Bab 8 Persamaan Diferensial Parsial
Halaman 114 dari 101

Untuk i = 1
( )
2 1 2
1
2 1 6(0.1) 4 0 y y
x
+ =



Untuk i = 2 s.d. 8
( )
1 1 2
1
2 6 4 0
i i i i
y y y x
x
+
+ =



Untuk i = 9
( )
9 8 2
1
1 2 6(0.9) 4 0 y y
x
+ =



Transformasi sistem persamaan linier di atas menjadi bentuk matrik sbb:










Harga y dapat dihitung dengan metode yang telah dipelajari pada bagian sistem
persamaan linier.
C A y
C Ay
1
=
=

Berikut ini kita hitung harga vektor y dalam m-file MATLAB.
A y C
SISTEM
PERSAMAAN LINIER
{ }
{ }
2
1
2
2
3
4
5
6
7
8
9
2 1 0 0 0 0 0 0 0 6(0.1) 4 1
1 2 1 0 0 0 0 0 0 6(0.2) 4
0 1 2 1 0 0 0 0 0 6(0.3)
0 0 1 2 1 0 0 0 0
0 0 0 1 2 1 0 0 0
0 0 0 0 1 2 1 0 0
0 0 0 0 0 1 2 1 0
0 0 0 0 0 0 1 2 1
0 0 0 0 0 0 0 1 2
y x
y x
y
y
y
y
y
y
y
+

+

+





{ }
{ }
{ }
{ }
{ }
{ }
{ }
2
2
2
2
2
2
2
4
6(0.4) 4
6(0.5) 4
6(0.6) 4
6(0.7) 4
6(0.8) 4
6(0.9) 4 1
x
x
x
x
x
x
x




+


+

+


+

+

+






Bab 8 Persamaan Diferensial Parsial
Halaman 115 dari 101

kasus9.m





>> kasus9
y =

1.0000
0.7210
0.4880
0.3070
0.1840
0.1250
0.1360
0.2230
0.3920
0.6490
1.0000


cl ear
cl c
%Di skr et i sasi t er hadap x
N=10;
dx=1/ N;
x =[ 0: dx: 1] '
%Membuat mat r i k A koef i si en y
A = di ag( - 2*ones( N- 1, 1) ) +di ag( ones( N- 2, 1) , 1) + di ag( ones( N- 2, 1) , - 1)
%Vekt or konst ant a C
C = ( 6*[ dx: dx: x( end) - dx] +4) *dx^2
C( 1) =C( 1) - 1
C( end) =C( end) - 1
%Menghi t ung har ga y
y=i nv( A) *C'
y=[ 1; y; 1]
%Membuat kur va x- y
pl ot ( x, y)
xl abel ( ' x' )
yl abel ( ' y' )
gr i d on
Eksekusi program kasus9.m
Masukan dan hasil di Command Window :




Bab 8 Persamaan Diferensial Parsial
Halaman 116 dari 101

Dari hasil perhitungan MATLAB di atas dapat dibuat grafik dan hasil lengkap
untuk persoalan ini sbb:
x y
0
1
0.1
0.721
0.2
0.488
0.3
0.307
0.4
0.184
0.5
0.125
0.6
0.136
0.7
0.223
0.8
0.392
0.9
0.649
1
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
y










Bab 8 Persamaan Diferensial Parsial
Halaman 117 dari 101

Tugas 9
Menyelesaikan persamaan differensial dengan penghampiran selisih
terhingga (diskretisasi)

Nomor 1
Dengan menggunakan penghampiran selisih terhingga terpusat selesaikan
persamaan diferensial sbb:

2
2
2
(0) (1) 1
Rentang Integrasi = 0 s/d 1
d y
y
dx
y y
= +
= =

Sertakan pula kurva x,y diagram kartesiusnya.

Semidiskretisasi Persamaan Diferensial Parsial
Di muka telah dipaparkan penjelasan mengenai diskretisasi untuk menyelesaikan
persamaan diferensial. PDP dapat diselesaikan juga dengan menggunakan teknik
diskretisasi, sayangnya penerapan pada PDP lebih rumit dan melibatkan banyak
angka. Sebagai penyederhanaan dapat digunakan teknik semidiskretisasi.
Penjelasannya akan diberikan berdasarkan contoh soal sbb:

kasus10
Sebuah lembaran plastik dengan tebal 1 cm mula-mula bertemperatur 25
o
C
diletakan diantara pelat yang bertemperatur 120
o
C. Diketahui massa jenis plastik
900 kg/m
3
, konduktivitas termal 0.13 W/m
o
C, dan kalor jenis 1670 J/kg
o
C .
Pemodelan matematis untuk kasus konduksi tak tunak adalah sbb:
2
2
T T
x t


=


p
k
c

=

Dengan metode numeris evaluasi temperatur rata-rata plastik 10 menit kemudian?




Bab 8 Persamaan Diferensial Parsial
Halaman 118 dari 101

Jawaban:
( )
( )
( )
2
2
0
0
0
0, 120
1, 120
0:1, 0 25
T T
x t
T t C
T t C
T x C


=

=
=
= =


8 2
2 2
(0.13)
= 8.6494x10 /
(900)(1670)
5.1896x10 /
p
k
m s
c
cm menit

= =
=

Diskretisasi dilakukan terhadap x.





Menggunakan penghampiran selisih terpusat turunan kedua T terhadap x,
( )
2
1 1 2 2
1
2
i
i i i
T
T T T
x x
+

= +


PDP tersebut akan menjadi.
( )
1 1 2
2
i i i
T
T T T
t x

= +


Kondisi Dirichlet
20 19 18 17 16 15 14 13 12 11 10 9 8
7
6 5 4 3
2
1
x
x
0 0.05 0.1
0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1
20
1 0
0.05
20
N
x
=

= =




Bab 8 Persamaan Diferensial Parsial
Halaman 119 dari 101



Solusi sistem persamaan diferensial biasa telah dibahas pada bagian sebelumnya.
Rutin yang akan digunakan untuk sistem PDB di termaksud adalah ode23
MATLAB. Berikut ini pemrogramannya.







( )
2 1 2
2 120
T
T T
t x

= +

( )
1 1 2
2
i i i
T
T T T
t x

= +

( )
19 18 2
120 2
T
T T
t x

= +

Untuk i = 1
Untuk i = 2 : 18
Untuk i = 19
SISTEM
PERSAMAAN
DIFERENSIAL
BIASA
taktunak.m Pemrograman MATLAB
f unct i on dTdt =t akt unak( t , T)

N=20;
dx=1/ N;
a=5. 1896e- 2; %di f f usi vi t as t er mal , cm2/ meni t

%unt uk i = 1
dTdt ( 1, : ) = a/ ( dx^2) *( T( 2) - 2*T( 1) +120) ;

%unt uk i = 2 s. d 18
f or i = 2: 18
dTdt ( i , : ) = a/ ( dx^2) *( T( i +1) - 2*T( i ) +T( i - 1) ) ;
end
%unt uk i = 19
dTdt ( 19, : ) = a/ ( dx^2) *( 120- 2*T( 19) +T( 18) ) ;




Bab 8 Persamaan Diferensial Parsial
Halaman 120 dari 101








kasus10.m Pemrograman MATLAB
cl ear
cl c

%Ni l ai awal dan r ent ang i nt egr asi .
t span=[ 0: 1: 10] ;
To = 25*ones( 1, 19) ;

%Fungsi pengi nt egr asi .
[ t , T] = ode23( t akt unak' , t span, To) ;

%Menampi l kan hasi l per hi t ungan.
x=[ 0: 1/ 20: 1] '
t
T0=120*ones( l engt h( t span) , 1) ;
T0( 1) =( 25+120) / 2 %Har ga T pada t =0, x=0, di ambi l r at a- r at a.
T20=120*ones( l engt h( t span) , 1) ;
T20( 1) =( 25+120) / 2 %Har ga T pada t =0, x=1, di ambi l r at a- r at a.
T=[ T0 T T20]

%Memet akan hasi l pd di agr amkar t esi us 3- D.
f i gur e( 1)
sur f ( x, t , T)
xl abel ( ' x' )
yl abel ( ' t ' )
zl abel ( ' T' )
col or bar
shadi ng i nt er p

f i gur e( 2)
pcol or ( x, t , T)
xl abel ( ' x' )
yl abel ( ' t ' )
zl abel ( ' T' )
col or bar
shadi ng i nt er p

%Menghi t ung r at a- r at a suhu pl ast i k pd meni t ke 10
[ b k] =si ze( T) ;
z=T( b, : ) ;
Tsl ab=mean( z)
Eksekusi program kasus10.m &runkasus10.m. Masukan dan hasil di
Command Window :
>>runkasus10
Tslab =

119.5598




Bab 8 Persamaan Diferensial Parsial
Halaman 121 dari 101



Gambar 3-D.
Profil temperatur plastik sepanjang x pada interval waktu t




Bab 8 Persamaan Diferensial Parsial
Halaman 122 dari 101


Tugas 10: Menyelesaikan PDP dengan penghampiran selisih terhingga
terpusat (semi diskretisasi)

Nomor 1
Suatu fenomena difusi-konveksi dapat dideskripsikan dengan PDP berikut ini:
2
2
0 1, t 0
(0, ) 1, 0
(1, ) 0, 0
( , 0) 0, 0 1
x
t x x
t t
t t
x
x x


= < < >

= >

= >

= < <

Jika harga = 25, selesaikan PDP diatas untuk rentang t = 0 s.d 5. Buat pula
gambar 3-D ,t,x pada koordinat kubus (kartesius).


Gambar 3-D semu. Profil temperatur plastik sepanjang x pada interval
waktu t




Daftar Pustaka

Daftar Pustaka

1. Chapra, Steven C. & Canale, Raymond P., Numerical Methods for
Engineers, 1985, diterjemahkan ke dalam bahasa Indonesia dengan judul
Metode Numerik untuk Teknik oleh UI-Press, J akarta, 1991.

2. Constantinides A. & Mostoufi N., Numerical Methods for Chemical
Engineers with MATLAB Applications, Prentice Hall, New J ersey, 1983.

3. Cutlip, Michael B. & Shacham Mordechai, Problem Solving in Chemical
Engineering with Numerical Methods, Prentice Hall, New J ersey, 1999.

4. Hanna, Owen T. & Sandal, Orville C., Computaional Methods In Chemical
Engineering, Prentice Hall, New J ersey, 1999.

5. Lindfield G. & Penny J ., Numerical Method Using MATLAB, Elis Horwood,
London, 1995.

6. Riggs, J ames B., An Introduction to Numerical Methods for Chemical
Engineers, Texas Tech University Press, Texas, 1988.

7. Sediawan, W.B. & Prasetya A., Pemodelan Matematis dan Penyelesaian
Numeris dalam Teknik Kimia, Andi, Yogyakarta, 1997.