04.05.2013 Views

Computation Process using Scilab

Computation Process using Scilab

Computation Process using Scilab

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Computation</strong> <strong>Process</strong><br />

<strong>using</strong><br />

<strong>Scilab</strong>


Komputasi Proses<br />

1. Pengenalan <strong>Scilab</strong><br />

2. Bahasa pemrograman dengan <strong>Scilab</strong><br />

3. Metoda Numerik<br />

4. Aplikasi Komputasi Proses dengan<br />

<strong>Scilab</strong>


Introduction<br />

Physical &<br />

Mathematical<br />

MODELS<br />

TOOL to solve<br />

PROBLEMS<br />

Simplified<br />

picture of<br />

REALITY<br />

•Forecasting<br />

•Controlling<br />

Software<br />

Engineers are<br />

symbolic analysts


Interactive<br />

program<br />

Numerical computation &<br />

data visualization<br />

Language Programme


<strong>Scilab</strong><br />

Software gratis:<br />

http://www.scilab.org<br />

http:// www.scilab.org<br />

OS: Windows dan Linux<br />

Mirip dengan program Matlab<br />

Tool Bar<br />

Menu Bar


-->r=6<br />

r =<br />

6.<br />

-->luas=0.25*%pi*r^2<br />

luas =<br />

28.274334<br />

deff(‘(out1,out2,…)=modul(in1,in2,…)’,’persamaan’<br />

Fungsi: mendefinisikan persamaan (rumus) pada jendela kerja<br />

-->deff('A=luas(r)','A=0.25*%pi*r^2')<br />

-->ls=luas(3)<br />

ls =<br />

7.0685835<br />

-->


Perintah membuka<br />

Jendela Editor<br />

Dari menu bar: (klik)<br />

Editor<br />

Atau tekan [alt – d]<br />

Dari Tool bar: (klik)<br />

Dari Jendela kerja:<br />

(ketik) scipad()<br />

Hasil


Perlu di eksekusi: -->exec('c:\scinum\luasbs.sci');


Tips:<br />

Cara lebih mudah, dapat dilakukan (pilih salah satu):<br />

Pada menu bar “jendela editor”, pilih Execute (Alt+x) Load into<br />

<strong>Scilab</strong><br />

Pada menu bar “jendela editor”, Ctrl + l<br />

Pada menu bar “jendela kerja”, pilih File Exec… pilih file yang<br />

akan dieksekusi<br />

-->exec('c:\scilabc\luasbs.sci')<br />

-->function hsl=luasbs(r);<br />

--> hsl = 0.25*%pi*r^2;<br />

-->endfunction;<br />

-->


getf()<br />

1 function V=volbs(h,r)<br />

2 getf('c:/scilabc/luasbs.sci')<br />

3 V=h*luasbs(r)<br />

4 endfunction<br />

Fungsi: mengambil / mengaktifkan file *.sci<br />

pada suatu fungsi yang lain


ls file_dir<br />

-->ls c:/scinum<br />

ans =<br />

!volbs.sci !<br />

! !<br />

!luasbs.sci !<br />

--><br />

Fungsi: menampilkan file pada<br />

‘direktori file’<br />

Apabila fungsi atau modul yang akan digunakan cukup<br />

banyak,maka penggunaan getf() tidak efektif<br />

genlib(‘nama’,’file_dir’)<br />

-->genlib('libsbs','c:/scinum')<br />

Fungsi: membangun library dari fungsi (*.sci) pada<br />

‘direktori file’


load(’file_dir/lib’)<br />

-->load('c:/scinum/lib')<br />

Fungsi: memanggil library dari fungsi<br />

pada ‘direktori file’


DIFFERENSIASI NUMERIK<br />

Persamaan differensial merupakan<br />

model matematis yang paling sering<br />

muncul dalam bidang keteknikan<br />

maupun saintifik<br />

Salah satu penyelesaiannya dengan<br />

metode beda hingga (finite<br />

difference)


Definisi turunan (derivatif)<br />

( x)<br />

df<br />

dx<br />

x<br />

0<br />

= f '<br />

( x )<br />

0<br />

=<br />

lim<br />

x→x<br />

0<br />

f<br />

( x)<br />

− f ( x )<br />

x − x<br />

0<br />

0<br />

Jika h = x – x 0 = ∆x maka pendekatan turunan di atas adalah<br />

f '<br />

( x )<br />

0<br />

≈<br />

f<br />

( x)<br />

− f ( x ) f ( x)<br />

− f ( x )<br />

h<br />

0<br />

dy<br />

Diketahui suatu fungsi y = f (x), ingin dicari pada x = x0 .<br />

dx<br />

=<br />

∆x<br />

Penyelesaiannya dapat menggunakan 3 cara yaitu :<br />

1. Forward Difference (Beda Maju)<br />

2. Backward Difference (Beda Mundur)<br />

3. Central Difference (Beda Pusat)<br />

0


1. Metode Beda Maju<br />

(Forward Difference)<br />

Beda hingga maju pertama dari y pada i atau x<br />

didefinisikan :<br />

∆yi = yi+1 –yi atau ∆y(x) = y(x+h) – y(x)<br />

Beda maju kedua pada i atau x didefinisikan :<br />

∆ 2 y i = y i+2 –2y i+1 + y i<br />

atau ∆ 2 y(x) = y(x+2h) – 2y(x+h) + y(x)<br />

Sehingga penyelesaiannya bisa dituliskan :<br />

dy<br />

i<br />

dx<br />

1<br />

= ( yi+<br />

1 − yi<br />

) atau<br />

h<br />

dx<br />

+ ∆x)<br />

−f<br />

( x<br />

∆x<br />

dy 0<br />

0<br />

x =<br />

x<br />

0<br />

f ( x<br />

≅<br />

)


2. Metode Beda Mundur<br />

(Backward Difference)<br />

Beda hingga mundur pertama dari y pada i atau x<br />

didefinisikan :<br />

∇yi = yi –yi-1 atau ∇y(x) = y(x) – y(x-h)<br />

Beda mundur kedua pada i atau x didefinisikan :<br />

∇ 2 y i = y i –2y i-1 + y i-2<br />

atau ∇ 2 y(x) = y(x) – 2y(x-h) + y(x-2h)<br />

Sehingga penyelesaiannya bisa dituliskan :<br />

dy<br />

dx<br />

1<br />

= ( y − ) atau<br />

h<br />

i<br />

i yi−1<br />

dx<br />

) −f<br />

( x<br />

∆x<br />

dy 0 0<br />

x =<br />

x<br />

0<br />

f ( x<br />

≅<br />

− ∆x)


3. Metode Beda Pusat<br />

(Central Difference)<br />

Beda hingga terpusat pertama dari y pada i atau x didefinisikan :<br />

∂<br />

yi yi+<br />

y − − =<br />

1<br />

2 i<br />

atau δy(x) = y(x+1/2 h) – y(x-1/2 h)<br />

Turunan beda terpusat selanjutnya adalah :<br />

dy<br />

i<br />

dx<br />

1<br />

2h<br />

1<br />

2<br />

( y y )<br />

= i<br />

; = ( yi<br />

1 2y<br />

i yi<br />

1 )<br />

2 2 + − + −<br />

i+<br />

1 −<br />

d<br />

3<br />

dx<br />

y<br />

i<br />

3<br />

i−1<br />

=<br />

1<br />

2h<br />

3<br />

d<br />

2<br />

dx<br />

y<br />

( y − 2y<br />

+ 2y<br />

− y )<br />

i+<br />

2<br />

Penyelesaiannya dapat dituliskan<br />

dy<br />

i<br />

dx<br />

=<br />

1<br />

2h<br />

( y y )<br />

i+<br />

1 −<br />

i−1<br />

atau<br />

i+<br />

1<br />

dx<br />

h<br />

1<br />

i−1<br />

i−2<br />

f ( x<br />

≅<br />

+ ∆x)<br />

−f<br />

( x<br />

2∆x<br />

dy 0<br />

0<br />

x =<br />

x<br />

0<br />

− ∆x)


Derivatif Orde Dua<br />

Untuk penurunan (derivatif) pangkat dua dengan<br />

metode beda hingga terpusat digunakan rumus<br />

dengan bentuk :<br />

d<br />

2<br />

dx<br />

y<br />

i<br />

2<br />

Atau dapat juga dituliskan :<br />

d<br />

2<br />

dx<br />

y<br />

2<br />

x =<br />

x<br />

0<br />

≅<br />

=<br />

h<br />

f ( x<br />

1<br />

0<br />

2<br />

( y − 2y<br />

+ y )<br />

i+<br />

2<br />

+ ∆x)<br />

−<br />

i<br />

2f<br />

( x<br />

∆x<br />

0<br />

2<br />

) +<br />

i−1<br />

f ( x<br />

0<br />

− ∆x)


INTEGRASI NUMERIS<br />

= n x<br />

Jika ada fungsi Y ∫f<br />

( x)<br />

dx sedangkan f(x) sulit sekali<br />

x<br />

0<br />

untuk diintegrasikan secara analitik, maka cara yang<br />

paling mudah adalah dengan mengintegrasikannya<br />

secara numerik<br />

f(x)<br />

x 0 x 1 x 2 x n-1 x n<br />

x


Dalam perhitungan integrasi numerik, luasan di bawah<br />

kurva akan diubah dalam bentuk trapesium, dimana<br />

ruang kosong merupakan bagian dari kesalahan numerik<br />

Untuk mengatasi kesalahan dilakukan dengan cara<br />

membagi menjadi trapesium dengan segmen yang lebih<br />

kecil<br />

Integrasi dilakukan dengan menggunakan interval ∆x<br />

yang sama (homogen) sepanjang batas integrasi dari x0 sampai xn Batas/interval integrasi dibagi menjadi n interval<br />

( )<br />

n x x n 0 ∆x<br />

=<br />

−<br />

Batas interval diberi indeks 0, 1, 2, ….. , n sehingga<br />

x i =<br />

x 0<br />

+<br />

i.<br />

∆x


Penyelesaian numerik dapat dilakukan<br />

dengan dua cara, yaitu<br />

Trapezoidal Rule<br />

xn<br />

∆x<br />

⎡ n−1<br />

f ( x)<br />

dx ⎢f<br />

( x ) + 2 ∑f<br />

( x ) + f ( xn<br />

2 0<br />

⎢<br />

i<br />

x0<br />

⎣ i=<br />

1<br />

Simpson Rule<br />

∫ ≅ )<br />

xn<br />

∆x<br />

⎡ n−1<br />

n−2<br />

f( x)<br />

dx ⎢f(<br />

x ) + 4 ∑ f(<br />

x ) + 2 ∑ f(<br />

x ) + f(<br />

xn<br />

3 ⎢<br />

0<br />

x<br />

i<br />

i<br />

0<br />

⎣ i=<br />

1,<br />

3,<br />

5 i=<br />

2,<br />

4,<br />

6<br />

∫ ≅ )<br />

⎤<br />

⎥<br />

⎥⎦<br />

⎤<br />

⎥<br />

⎥⎦


AKAR PERSAMAAN<br />

(PERSAMAAN NON LINIER)<br />

Merupakan bentuk persamaan<br />

aljabar yang nilainya sama dengan nol<br />

Untuk satu variabel bebas x, maka<br />

f(x) ≅ 0<br />

Banyak digunakan dalam model<br />

keteknikan maupun saintis


Metode Penyelesaian Akar<br />

Persamaan<br />

1. Metode Pengurungan (bracketing<br />

method)<br />

Memerlukan dua titik sebagai tebakan awal<br />

2. Metode Terbuka (open method)<br />

Hanya memerlukan satu titik sebagai<br />

tebakan awal


1. METODE PENGURUNGAN<br />

Dilakukan dengan menebak 2 angka<br />

a. Metode Bisection (bagi dua)<br />

b. Metode Regula Falsi (posisi palsu)<br />

atau Metode Interpolasi Linier


a. Metode Bisection (Bagi Dua)<br />

Merupakan metode yang paling sederhana<br />

Diawali dengan menebak dua nilai yaitu nilai bawah<br />

(sblm akar) x a dan nilai atas (stlh akar) x b<br />

Tebakan benar jika f(x b ) dan f(x a ) mempunyai<br />

tanda yang berlawanan : f(x b ) . f(x a ) < 0<br />

Jika f(x b ) . f(x a ) > 0 maka tebakan awal diulangi<br />

Nilai kedua tebakan dibagi dua, disebut x c<br />

Nilai x c akan menggantikan posisi nilai lama.<br />

Jika x c berada pada posisi x b disebut dengan x ’ b<br />

dan jika berada pada posisi x a akan diubah menjadi<br />

x ’ a


Algoritma Bisection (Bagi Dua)<br />

1. Tebak akar atas, x a dan akar bawah, x b<br />

2. Periksa f(x a ).f(x b )=0 stop didapat harga akar<br />

3. Periksa f(x a ).f(x b )0, maka xc berada di subinterval<br />

bawah Atur xa = xc kembali ke-4<br />

b. Jika f(xc).f(xa)


. Metode Regula Falsi (Posisi Palsu)<br />

Merupakan perbaikan dari metode<br />

bisection<br />

Dilakukan dengan menarik garis lurus pada<br />

kedua interval x b dan x a<br />

Harga<br />

x<br />

c<br />

=<br />

x<br />

a<br />

−<br />

f<br />

f<br />

( x )( a x b − x ) a<br />

( x ) − f ( x )<br />

Algoritma sama dengan metode bisection,<br />

hanya tahapan 5 diganti nilai x c nya<br />

b<br />

a


2. METODE TERBUKA<br />

Dilakukan dengan menebak 1 angka<br />

a. Metode Pertemuan Dua Grafik<br />

b. Metode Newton Raphson<br />

c. Metode Secant


. Metode Newton Raphson<br />

Mula-mula diperkirakan harga xi awal<br />

kemudian dipotongkan thd kurva dan<br />

ditarik garis singgung<br />

Garissinggungmerupakantangenatau<br />

slope.<br />

Slope merupakan turunan pertama dari<br />

f(xi ) sehingga didapat hubungan :<br />

f<br />

( )<br />

( xi<br />

)<br />

f ' xi<br />

=<br />

( x − x )<br />

i+<br />

1<br />

Persamaan Newton Raphson :<br />

f ( xi<br />

)<br />

xi +<br />

1 = xi<br />

−<br />

f '(<br />

x )<br />

i<br />

i


Algoritma Newton Raphson<br />

1. Tuliskan fungsi f(x)<br />

2. Cari harga f’(x)<br />

3.<br />

4.<br />

Masukkan tebakan awal x0 Masukkan parameter penghentian program :<br />

<br />

<br />

Kesalahan relatif perkiraan Ebs Jumlah iterasi maksimum<br />

5.<br />

6.<br />

Inisialisasi harga : iterasi = 0 dan Eas = 1.1 Ebs Jika kesalahan relatif (Eas > Ebs ) dan (iterasi <<br />

iterasi makasimum) maka :<br />

a. Harga<br />

b. Cek harga E as<br />

f<br />

xiter = xi<br />

+ 1 = xi<br />

−<br />

f<br />

( xi<br />

)<br />

'(<br />

x )<br />

c. Iterasi = iterasi + 1<br />

7. Ulangi 6 sampai kondisi tercapai<br />

8. Tulis x iter = akar<br />

E<br />

as<br />

=<br />

x<br />

iter<br />

− x<br />

x<br />

iter<br />

i<br />

iter−1


c. Metode Secant<br />

Kelemahan metode Newton Raphson,<br />

harus mencari turunan pertama dari<br />

fungsi f(x i )<br />

Metode secant untuk menghindari<br />

turunan pertama dengan turunan<br />

numerik mundur<br />

f '<br />

( x )<br />

i<br />

=<br />

f<br />

( x ) − f ( x )<br />

i−1<br />

x<br />

i−1<br />

−<br />

x<br />

i<br />

i


Sub Program PERSAMAAN NON LINEAR<br />

<strong>Scilab</strong> menyediakan sub program untuk menyelesaikan satu atau<br />

beberapa sistem persamaan non linear secara simultan dengan<br />

menggunakan perintah fsolve<br />

x = fsolve(x0, persamaan)<br />

Contoh :<br />

Akan dicari akar persamaan simultan non linear dari :<br />

Kedua persamaan diubah menjadi :<br />

f<br />

f<br />

1<br />

2<br />

x<br />

2<br />

y +<br />

+ xy = 10<br />

3xy<br />

2 ( x,<br />

y)<br />

= x + xy −10<br />

= 0<br />

2<br />

( x,<br />

y)<br />

= y + 3xy<br />

− 57 = 0<br />

2<br />

= 57<br />

Persamaan ditulis dalam bentuk matrik dengan x sebagai<br />

x(1) dan y sebagai x(2)


Contoh :<br />

Diketahui persamaan Van der Waals untuk<br />

menggambarkan kondisi gas non-ideal :<br />

⎛<br />

⎜<br />

⎝<br />

P +<br />

a<br />

=<br />

V2<br />

⎟ ⎞<br />

⎠<br />

( V − b)<br />

RT<br />

Hitunglah volume molar udara (V) pada 50<br />

atm dan suhu -100 o C jika diketahui nilai<br />

konstanta a = 1.33 atm.liter 2 /gmol, b =<br />

0.0366 liter/gmol dan R = 0.08205<br />

liter.atm/K.gmol


PERSAMAAN DIFERENSIAL<br />

1. Persamaan Diferensial Biasa (ODE), hanya<br />

terdapat 1 variabel bebas<br />

d2y +<br />

dx2<br />

y<br />

dy<br />

dx<br />

kx<br />

2. Persamaan Diferensial Parsial (PDE),<br />

terdapat lebih dari 1 variabel bebas<br />

α<br />

2<br />

∂ T<br />

2<br />

∂x<br />

=<br />

=<br />

∂T<br />

∂t


Persamaan Diferensial Biasa (ODE)<br />

Berdasarkan pangkat (Orde) :<br />

• PDB Orde satu :<br />

• PDB Orde dua :<br />

• PDB Orde tiga :<br />

dy<br />

dx<br />

+<br />

2<br />

d y<br />

+ 2<br />

dx<br />

Berdasarkan kondisi batas :<br />

• IVP (Initial Value Problems), bila nilai variabel tak<br />

bebas atau turunannya diketahui pada kondisi nilai<br />

mula-mula<br />

• BVP (Boundary Value Problems), bila nilai variabel<br />

tak bebas atau turunannya diketahui lebih dari<br />

satu nilai variabel bebasnya<br />

y<br />

y<br />

=<br />

dy<br />

dx<br />

kx<br />

=<br />

3<br />

2<br />

d y d y ⎛<br />

+<br />

a + b<br />

3<br />

2 ⎜<br />

dx dx ⎝<br />

kx<br />

dy<br />

dx<br />

⎞<br />

⎟<br />

⎠<br />

2<br />

= kx


Persamaan Diferensial Parsial (PDE)<br />

• PDE Order satu :<br />

• PDE Order dua :<br />

• PDE Order tiga :<br />

∂C<br />

∂x<br />

∂<br />

2<br />

∂x<br />

C<br />

2<br />

3 ⎛ ∂<br />

u ⎞<br />

⎜ 3<br />

x<br />

⎟<br />

⎝ ∂ ⎠<br />

∂C<br />

− α =<br />

∂y<br />

+<br />

2<br />

D<br />

+<br />

e<br />

∂C<br />

∂y<br />

2<br />

∂ u<br />

∂x∂y<br />

0<br />

=<br />

+<br />

0<br />

∂u<br />

∂y<br />

=<br />

0


Penyelesaian Persamaan<br />

Diferensial Biasa (ODE)<br />

1. Metode Euler (Eksplisit)<br />

2. Metode Euler Modifikasi (Implisit)<br />

3. Metode Runge-Kutta


1. Metode Euler (Eksplisit)<br />

Disebut juga metoda integrasi nilai awal<br />

dy<br />

=<br />

dx<br />

( x , y )<br />

Kondisi awal : y(x 0) = y 0<br />

y<br />

i+<br />

1<br />

∫<br />

y<br />

i<br />

dy<br />

x<br />

f<br />

i+<br />

1<br />

= f ( x,<br />

y)dx<br />

∫ ( )<br />

+ i 1<br />

yi+<br />

1 − yi<br />

= f x,<br />

y<br />

∫<br />

x<br />

i<br />

y = y + h f<br />

i+<br />

1<br />

i<br />

( x , y )<br />

i<br />

i<br />

x<br />

x<br />

i<br />

dx


Perbandingan Analitis dengan<br />

Metode Euler (Eksplisit)<br />

Persamaan diferensial yang diselesaikan:<br />

dy 2<br />

dx<br />

3<br />

= 4x<br />

− 6x<br />

+ 8 Dimana x = 0, y = 2 (kondisi awal); xa =3, h=0.5<br />

x i y analtk y euler % kslhan<br />

0 2 2 -<br />

0.5 5.81 6 3.27<br />

1 9 9.5 5.56<br />

1.5 12.31 12.5 1.54<br />

2 18 16.5 8.33<br />

2.5 29.81 24.5 17.81<br />

3 53 41 22.64


Algoritma Metode Euler (Eksplisit)<br />

1. Tentukan x = x 0 dan y = y 0<br />

2. Tentukan nilai awal x 0 dan nilai akhir x a<br />

dari variabel bebas<br />

3. Tentukan nilai h<br />

4. Inisialisasi i = 0<br />

5. Buat persamaan f(x,y), modul terpisah<br />

6. Vektor x(i)=[x 0 , x 0 +h, x 0 +2h,…,x a ]<br />

7. Jumlah loop, n=(x a -x 0 )/h<br />

8. Untuk i=0 sampai n-1 maka :<br />

9. y i+1 =y i + hf(x i ,y i )<br />

10. x = x + h<br />

11. Simpan nilai x i , y i<br />

12. Lanjutkan i


2. Metode Euler Modifikasi (Implisit)<br />

Untuk memperkecil kesalahan<br />

Merupakan gabungan antara beda maju<br />

dan beda mundur<br />

Beda maju pertama dari y pada i sama<br />

dengan beda mundur pertama dari y pada<br />

i+1<br />

∆y i = yi+<br />

1 − yi<br />

= ∇yi+<br />

1<br />

i+<br />

1 i i 1<br />

sehingga<br />

y = y + ∇y<br />

+<br />

( x , y )<br />

y i+<br />

1 =<br />

yi<br />

+ h f i+<br />

1 i+<br />

1


Untuk memperbaiki metode Euler, maka metode Euler<br />

eksplisit digunakan untuk memprediksi nilai y i+1<br />

( y ) = y + h f ( x , y )<br />

i+<br />

1<br />

pred<br />

Nilai prediksi pada persamaan di atas digunakan untuk<br />

mengkoreksi metoda implisit<br />

( ) = y + h f x , ( y )<br />

i+<br />

1<br />

kork<br />

Persamaan di atas disebut dengan Metode Prediktor<br />

Korektor atau Metode Heun<br />

i<br />

Kombinasi metoda beda maju dan beda mundur dituliskan<br />

dalam bentuk<br />

i<br />

i<br />

( )<br />

y +<br />

i+<br />

1<br />

i<br />

1<br />

i<br />

pred<br />

( ∇y<br />

+ ∇y<br />

)<br />

1 y i+<br />

1 = yi<br />

+ 2 i i+<br />

1<br />

1<br />

1<br />

( ) = y + h f ( x , y ) + h f ( x , y )<br />

y +<br />

i+<br />

1<br />

i<br />

2<br />

i<br />

f pred<br />

i<br />

2<br />

i+<br />

1<br />

f corr<br />

i<br />

f pred<br />

1<br />

f corr


Perbandingan dengan Analitis<br />

x i y analtk y euler % kslhan<br />

Euler<br />

y euler-mod<br />

% kslhan<br />

Euler-mod<br />

0 2 2 - 2 -<br />

0.5 5.81 6 3.27 5.75 1.03<br />

1 9 9.5 5.56 9 0.0<br />

1.5 12.31 12.5 1.54 12.5 1.54<br />

2 18 16.5 8.33 18.5 2.78<br />

2.5 29.81 24.5 17.81 30.75 3.15<br />

3 53 41 22.64 54.5 2.83


3. Metode Runge-Kutta<br />

Merupakan metode untuk<br />

menyelesaikan persamaan<br />

diferensial dengan ketelitian dan<br />

kestabilan yang cukup tinggi.<br />

Sangat umum digunakan untuk<br />

menyelesaikan bentuk PDB baik<br />

linear maupun non linear dengan<br />

problema kondisi awal


Bentuk penyelesaian berdasarkan orde (pangkat):<br />

Orde (pangkat) dua:<br />

1 y i+<br />

1 = yi<br />

+ ( )<br />

2 k1<br />

+ k 2<br />

Dimana nilai dari ki adalah : k 1 = h f ( x i , yi<br />

)<br />

Orde (pangkat) tiga :<br />

k 2 = h f ( x i + h,<br />

yi<br />

+ k1<br />

)<br />

1 y i+<br />

1 = yi<br />

+ ( 1 2 3 )<br />

6 k + 4k<br />

+ k<br />

Dimananilaidariki adalah : k = h f ( x , y )<br />

⎛ h k1<br />

⎞<br />

k 2 = h f ⎜ x i + , yi<br />

+ ⎟ ; k 3 = h f ( x i + h,<br />

yi<br />

+ 2k<br />

2 − k1<br />

)<br />

⎝ 2 2 ⎠<br />

Orde (pangkat) empat :<br />

Dimananilaidarik i adalah :<br />

k = h f<br />

k<br />

1<br />

2<br />

( x , y )<br />

i<br />

⎛<br />

= h f ⎜ x<br />

⎝<br />

i<br />

+<br />

i<br />

h<br />

2<br />

, y<br />

i<br />

+<br />

k<br />

1<br />

2<br />

⎞<br />

⎟<br />

⎠<br />

1<br />

i+<br />

1<br />

i<br />

i<br />

1<br />

6<br />

i<br />

( k + 2k<br />

+ 2k<br />

k )<br />

y = y +<br />

+<br />

k<br />

3<br />

4<br />

1<br />

⎛<br />

= h f ⎜ x<br />

⎝<br />

i<br />

+<br />

2<br />

h<br />

2<br />

, y<br />

i<br />

3<br />

+<br />

( x + h,<br />

y k )<br />

k =<br />

h f +<br />

i<br />

i<br />

3<br />

k<br />

2<br />

2<br />

4<br />

⎞<br />

⎟<br />


Perbandingan dengan Analitis<br />

x i y analtk y euler<br />

%<br />

kslhan<br />

Euler<br />

y euler-mod<br />

%<br />

kslhan<br />

Eulermod<br />

y rk4<br />

%<br />

kslhan<br />

rk4<br />

0 2 2 - 2 - 2 -<br />

0.5 5.8125 6 3.27 5.75 1.03 5.8125 0<br />

1 9 9.5 5.56 9 0.0 9 0<br />

1.5 12.3125 12.5 1.54 12.5 1.54 12.3125 0<br />

2 18 16.5 8.33 18.5 2.78 18 0<br />

2.5 29.8125 24.5 17.81 30.75 3.15 29.8125 0<br />

3 53 41 22.64 54.5 2.83 53 0


Sub Program PDB<br />

<strong>Scilab</strong> menyediakan sub program siap pakai untuk<br />

menyelesaikan persoalan PDB<br />

Bentuk persamaan :<br />

Dimana :<br />

dy<br />

=<br />

dt<br />

y=ode (y0,t0,t,fungsi)<br />

fungsi<br />

y0 = kondisi awal dari variabel tak bebas (y)<br />

t0 = kondisi awal dari variabel bebas (t)<br />

t = batasan simulasi dari variabel bebas


Persamaan Diferensial Biasa<br />

Simultan<br />

Merupakan sekumpulan persamaan diferensial biasa<br />

yang harus diselesaikan secara simultan<br />

.<br />

dy<br />

dy<br />

1<br />

dx<br />

dy<br />

2<br />

dx<br />

.<br />

n<br />

dx<br />

=<br />

f<br />

=<br />

=<br />

f<br />

f<br />

1<br />

( x,<br />

y , y , ... , y )<br />

2<br />

n<br />

1<br />

( x,<br />

y , y , ... , y )<br />

1<br />

( x,<br />

y , y , ... , y )<br />

1<br />

2<br />

2<br />

2<br />

n<br />

n<br />

n


Penyelesaian dengan menggunakan<br />

metode Runge Kutta orde empat<br />

i+<br />

1,<br />

j<br />

Dengan nilai k adalah :<br />

k<br />

k<br />

k<br />

k<br />

1,<br />

j<br />

2,<br />

j<br />

3,<br />

j<br />

4,<br />

j<br />

=<br />

=<br />

=<br />

=<br />

hf<br />

hf<br />

hf<br />

hf<br />

j<br />

j<br />

i,<br />

j<br />

1<br />

6<br />

( k + 2k<br />

+ 2k<br />

k )<br />

y = y +<br />

+<br />

1j<br />

( x , y , y , ... , y )<br />

j<br />

j<br />

i<br />

⎛<br />

⎜ x<br />

⎝<br />

⎛<br />

⎜ x<br />

⎝<br />

( x + h,<br />

y + k , y + k , ... , y + k )<br />

i<br />

i<br />

i<br />

+<br />

+<br />

i,<br />

1<br />

i,<br />

2<br />

h<br />

, y<br />

2<br />

h<br />

, y<br />

2<br />

i,<br />

1<br />

i,<br />

1<br />

i,<br />

1<br />

+<br />

+<br />

k<br />

k<br />

3,<br />

1<br />

i,<br />

n<br />

1,<br />

1<br />

2<br />

2,<br />

1<br />

2<br />

, y<br />

, y<br />

i,<br />

2<br />

i,<br />

2<br />

i,<br />

2<br />

2 j<br />

k<br />

k<br />

3,<br />

2<br />

1,<br />

2<br />

2<br />

2,<br />

2<br />

2<br />

3 j<br />

, ... ,<br />

, ... ,<br />

Dimana j = 1, 2, … , n → menunjukkan nomor persamaannya<br />

+<br />

+<br />

y<br />

y<br />

i,<br />

n<br />

i,<br />

n<br />

i,<br />

n<br />

4 j<br />

+<br />

+<br />

k<br />

k<br />

3,<br />

n<br />

1,<br />

n<br />

2<br />

2,<br />

n<br />

2<br />

⎞<br />

⎟<br />

⎠<br />

⎞<br />

⎟<br />


Jikadalamsistemterdapatduapersamaandiferensialbiasa<br />

dengan bentuk<br />

dy<br />

1<br />

dx<br />

dy<br />

2<br />

dx<br />

= f<br />

1<br />

= f<br />

( x,<br />

y , y )<br />

2<br />

1<br />

( x,<br />

y , y )<br />

Maka penyelesaian persamaan diferensial biasa tersebut<br />

dengan menggunakan metode Runge Kutta orde 4 secara<br />

simultan adalah :<br />

y<br />

y<br />

i+<br />

1,<br />

1<br />

i+<br />

1,<br />

2<br />

=<br />

=<br />

y<br />

y<br />

i,<br />

1<br />

i,<br />

2<br />

+<br />

+<br />

1<br />

6<br />

1<br />

6<br />

1<br />

2<br />

2<br />

( k1,<br />

1 + 2k<br />

2,<br />

1 + 2k<br />

3,<br />

1 + k 4,<br />

1 )<br />

( k + 2k<br />

+ 2k<br />

+ k )<br />

1,<br />

2<br />

2,<br />

2<br />

3,<br />

2<br />

4,<br />

2


dimana :<br />

( )<br />

( )<br />

( )<br />

( )<br />

2<br />

,<br />

3<br />

2<br />

,<br />

i<br />

1<br />

,<br />

3<br />

1<br />

,<br />

i<br />

i<br />

2<br />

2<br />

,<br />

4<br />

2<br />

,<br />

3<br />

2<br />

,<br />

i<br />

1<br />

,<br />

3<br />

1<br />

,<br />

i<br />

i<br />

1<br />

1<br />

,<br />

4<br />

2<br />

,<br />

2<br />

2<br />

,<br />

i<br />

1<br />

,<br />

2<br />

1<br />

,<br />

i<br />

i<br />

2<br />

2<br />

,<br />

3<br />

2<br />

,<br />

2<br />

2<br />

,<br />

i<br />

1<br />

,<br />

2<br />

1<br />

,<br />

i<br />

i<br />

1<br />

1<br />

,<br />

3<br />

2<br />

,<br />

1<br />

2<br />

,<br />

i<br />

1<br />

,<br />

1<br />

1<br />

,<br />

i<br />

i<br />

2<br />

2<br />

,<br />

2<br />

2<br />

,<br />

1<br />

2<br />

,<br />

i<br />

1<br />

,<br />

1<br />

1<br />

,<br />

i<br />

i<br />

1<br />

1<br />

,<br />

2<br />

2<br />

,<br />

i<br />

1<br />

,<br />

i<br />

i<br />

2<br />

2<br />

,<br />

1<br />

2<br />

,<br />

i<br />

1<br />

,<br />

i<br />

i<br />

1<br />

1<br />

,<br />

1<br />

k<br />

y<br />

,<br />

k<br />

y<br />

,<br />

h<br />

x<br />

hf<br />

k<br />

k<br />

y<br />

,<br />

k<br />

y<br />

,<br />

h<br />

x<br />

hf<br />

k<br />

2<br />

k<br />

y<br />

,<br />

2<br />

k<br />

y<br />

,<br />

2<br />

h<br />

x<br />

hf<br />

k<br />

2<br />

k<br />

y<br />

,<br />

2<br />

k<br />

y<br />

,<br />

2<br />

h<br />

x<br />

hf<br />

k<br />

2<br />

k<br />

y<br />

,<br />

2<br />

k<br />

y<br />

,<br />

2<br />

h<br />

x<br />

hf<br />

k<br />

2<br />

k<br />

y<br />

,<br />

2<br />

k<br />

y<br />

,<br />

2<br />

h<br />

x<br />

hf<br />

k<br />

y<br />

,<br />

y<br />

,<br />

x<br />

hf<br />

k<br />

y<br />

,<br />

y<br />

,<br />

x<br />

hf<br />

k<br />

+<br />

+<br />

+<br />

=<br />

+<br />

+<br />

+<br />

=<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛<br />

+<br />

+<br />

+<br />

=<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛<br />

+<br />

+<br />

+<br />

=<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛<br />

+<br />

+<br />

+<br />

=<br />

⎟<br />

⎟<br />

⎠<br />

⎞<br />

⎜<br />

⎜<br />

⎝<br />

⎛<br />

+<br />

+<br />

+<br />

=<br />

=<br />

=


Akan diselesaikan dan divisualisasikan dua buah<br />

persamaan diferensial biasa sebagai berikut :<br />

dy<br />

1<br />

dx<br />

dy<br />

dx<br />

2<br />

= −0.<br />

5 y<br />

Dengan kondisi awal (batas) :<br />

1<br />

= 4 − 0.<br />

3 y<br />

x = 0; y 1 = 4; y 2 = 2<br />

2<br />

−<br />

0.<br />

1<br />

y<br />

1


Contoh :<br />

Dua buah tangki air tersambung secara seri dan saling<br />

berinteraksi. Kecepatan aliran keluar merupakan fungsi akar<br />

kuadrat dari ketinggian air, jadi untuk tangki 1 kecepatan<br />

alirannya adalah h − sedangkan untuk tangki 2 sebagai<br />

1 2 h<br />

fungsi h . Akan ditentukan ketinggian h1 dan h2 sebagai fungsi<br />

2<br />

waktu dari t = 0 sampai t = 40 menit dengan interval 4 menit.<br />

Setelah disusun neraca bahan, diperoleh persamaan diferensial<br />

simultan sebagai fungsi waktu :<br />

dh<br />

dt<br />

F<br />

β<br />

1 1<br />

2<br />

= − h1<br />

−h<br />

A<br />

2 ; =<br />

2 h<br />

2<br />

1 −h<br />

2 − h<br />

2<br />

1 A<br />

dt A<br />

1<br />

2 A<br />

2<br />

dh<br />

Harga-harga parameter yang ada :<br />

β 1 = 2,5 ft 2,5 /menit β 2 = 5/√6 ft 3 /menit<br />

A 1 = 5 ft 2 A 2 = 10 ft 2 F = 5 ft 3 /menit<br />

Dengan kondisi awal pada t = 0, h 1 = 12 ft dan h 2 = 7 ft<br />

β<br />

β


Uap campuran keluar dari kondensor parsial kolom destilasi<br />

yang beroperasi pada 1 atm dengan komposisi 47% mol air (1),<br />

20% mol asam formiat (2) dan sisanya methanol (3). Pada<br />

kondensor terjadi kesetimbangan antara uap dan cairannya dan<br />

berlaku persamaan-persamaan berikut :<br />

y<br />

i<br />

i Ki<br />

x =<br />

o<br />

dimana, dan untuk P0 P i<br />

K<br />

i diperkirakan dengan<br />

i P persamaan Antoine :<br />

=<br />

⎛<br />

⎞<br />

⎜ B ⎟<br />

Po i = exp⎜A<br />

− i<br />

⎟<br />

⎜<br />

i T + C ⎟ dengan i = 1, 2, 3 dan x 1<br />

i<br />

⎝<br />

i ⎠<br />

i<br />

= ∑<br />

Perkirakanlah suhu operasi pada operasi kondensor (=dewpoint<br />

uap campuran) dalam o C, dengan data konstanta<br />

A1 = 18,304 A2 = 16,988 A3 = 18,510<br />

B1 = 3816,4 B2 = 3599,6 B3 = 3593,4<br />

C1 = -46,13 C2 = -26,09 C3 = -35,225<br />

P o dalam mmHg dan T dalam Kelvin

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!