-
TUGAS PEMICU IV
KOMPUTASI PROSES TEKNIK KIMIA
OLEH:
KELOMPOK VII
1. MELVHA HUTAPEA / 080405058
2. RETNO DIAN PURBA / 100405040
3. NOFRIKO PRATAMA / 100405046
4. ANDA PUTRA / 100405052
5. FELICIA / 100405055
6. AGNES SARTIKA D P / 100405071
DEPARTEMEN TEKNIK KIMIA
FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN
2012
-
METODE EULER
1. Metode Euler Eksplisit
Metode Euler merupakan metode yang paling sederhana untuk
mengintegrasikan PDB orde satu secara numerik. Kondisi atau
syarat atau nilai
awal (xo, yo) digunakan untuk menghitung besarnya slope (atau
tangen arah) y(x)
pada x = xo:
Dengan menganggap bahwa slope (dy/dx) pada interval x bernilai
tetap, maka
nilai y(xo+x) dapat diperkirakan sebesar:
y(xo +x ) = y(xo )+x f (xo , yo )
Selanjutnya, nilai-nilai x dan y ini (yakni x = x0+x dan y =
y(x0+x)) digunakan
untuk memperkirakan besarnya slope pada titik yang baru. Atau,
nilai y(x0+2x)
dapat dihitung sbb:
y(xo + 2x ) = y(xo + x ) + x f (xo +x, y(xo +x ))
Demikian seterusnya.
Pola perhitungan yang beruntun ini digambarkan sebagai bentuk
umum metode
Euler Eksplisit:
atau: yi+1 = yi +x . f ( xi , yi )
atau: yi+1 = yi + h . f ( xi , yi )
dengan: x = h menyatakan lebar langkah (step size)
f (xi , yi) merupakan bentuk persamaan diferensial seperti pada
persamaan
diferensial
, sehingga:
atau
-
Perhatikan bahwa formula metode Euler ini juga dapat dijabarkan
dari
ekspansi deret Taylor untuk yi+1 di sekitar yi:
dengan mengabaikan suku-suku berorde x2 (=h2) dan yang lebih
tinggi.
Dengan kata lain, metode Euler ini mempunyai tingkat ketelitian
yang dinyatakan
dengan local truncation error sebesar:
ei = (x2) atau: ei = (h
2)
Metode ini mempunyai global truncation error sebesar:
Ei = nilai eksak yi nilai pendekatan numerik yi
Gambar 1.1 Representasi Metode Euler Eksplisit
Contoh Soal
Gunakan metode Euler untuk menghitung nilai y pada x = 1
jika:
=
2 dengan nilai awal: y = 1 pada x = 0
-
Penyelesaian:
Formula metode Euler untuk kasus ini dapat dituliskan sebagai:
yi+1 = yi
+x 2
Jika diambil step size x = 0,1, maka:
pada xo = 0 dan yo = 1 dapat dihitung:
y1 = 1 + (0,1) (0)2 (1) = 1
Selanjutnya, pada x1 = xo + x = 0 + 0,1 = 0,1 dan y1 = 1 dapat
dihitung:
y2 = 1 + (0,1) (0,1)2 (1) = 1,001
Selanjutnya, pada x2 = x1 + x = 0,1 + 0,1 = 0,2 dan y2 = 1,001
dapat dihitung:
y3 = 1,001 + (0,1) (0,2)2 (1,001) = 1,005
Demikian seterusnya, hingga diperoleh y pada x = 1.
Sebagai perbandingan, dapat diambil nilai step size yang lain,
misalnya: x = 0,05
x = 0,02, dan x = 0,2. Dengan cara yang sama, maka dapat
diperoleh hasil-
hasil perhitungan sebagai berikut:
Tabel 2.1 Hasil Perhitungan Dengan Variasi Step Size
Dan apabila diplotkan nilai x dan y, akan diperoleh grafik
sebagai berikut:
-
Gambar 2.1 Hasil Perhitungan Dengan Variasi Step Size
2. Metode Euler Implisit
Seperti yang ditunjukkan sebelumnya, ada batasan pada langkah
metode
Euler untuk persamaan diferensial. Batasan ini terkhusus untuk
disebut sistem
kaku. Untuk menggambarkan apa yang dimaksud dengan sistem
kaku
berdasarkan:
2
2 + 1001
+ 1000y = 0
Solusi umumnya adalah:
y Ae-t + Be
-1000t
dimana A dan B adalah konstanta. Persamaan pertama lebih
lambat
penyelesaiannya dibandingkan dengan persamaan kedua. Sehingga,
setelah saat t:
Penerapan dari metode Euler, kita dapat mengurangi persamaan
orde kedua untuk
dua persamaan orde pertama oleh:
z =
-
sehingga:
= -1001z 1000y
= z
Langkah dasar Euler:
Dalam prakteknya kita tidak tahu nilai yn +1. Jadi kita perlu
mulai dari y0. Dasar
langkah untuk bentuk persamaannya adalah:
= f(x,y)
xn+1 = xn + x
yn+1 = yn + f(xn+1,yn+1)x
Karena secara umum f (x, y) adalah, fungsi non-linear dari y,
diperlukan
iterasi untuk memecahkan persamaan terakhir untuk yn +1. Karena
yn +1 tidak
secara eksplisit diberikan, metode ini disebut implisitEuler
metode.
Hasil penyelesaian stiff equation dengan metode Euler eksplisit
dan implicit
ditunjukkan dibawah ini. Dimana t = 0,1 untuk kedua metode.
Catatan: metode eksplisit menjadi tidak stabil pada t yang
besar.
-
Contoh Soal:
Gunakan metode Euler, untuk menyelesaikan persamaan
differensial
y = -y; dengan syarat y(0) = 1
Misalkan h yang akan digunakan adalah 0.01 untuk x dalam
interval [0,04].
Penggunaan persamaan terakhir dengan h(x) = 0,01 memberikan
hasil berikut :
y(0,01) = 1 + (0,01)(-1) = 0,99
y(0,02) = 0,99 + (0,01)(-0,99) = 0,9801
y(0,03) = 0,9801 + (0,01)(-0,9801) = 0,9703
y(0,04) = 0,9703 + (0,01)(-0,9703) = 0,9606
Solusi eksak dari persamaan differensial di atas adaalah y =
e-x
, dan dari nilai x =
0,04 diperoleh nilai y = 0,9606.
-
METODE RUNGE-KUTTA
Ada dua alasan utama mengapa metode Euler umumnya tidak
digunakan
dalam komputasi ilmiah. Pertama, kesalahan pemotongan per
langkah terkait dengan
metode ini jauh lebih besar daripada yang terkait dengan
lainnya, lebih maju, metode
(untuk nilai tertentu h). Kedua, metode Euler terlalu rentan
terhadap ketidakstabilan
numerik.
Alasan utama bahwa metode Euler memiliki seperti kesalahan
pemotongan
besar per langkah adalah bahwa dalam mengembangkan solusi dari
xn untuk x{n +1}
metode hanya mengevaluasi derivatif pada awal interval: yaitu,
pada xn. Metode ini,
oleh karena itu, sangat asimetris sehubungan dengan awal dan
akhir interval. Kita
dapat membuat metode integrasi yang lebih simetris dengan
membuat langkah
percobaan Euler-seperti untuk titik tengah dari interval, dan
kemudian menggunakan
nilai dari kedua x dan y pada titik tengah untuk membuat langkah
nyata di interval.
Untuk lebih tepatnya,
Sebagaimana ditunjukkan dalam jangka kesalahan, simetrisasi
ini
membatalkan kesalahan orde pertama, dengan membuat metode orde
kedua. Bahkan,
metode di atas umumnya dikenal sebagai metode orde kedua
Runge-Kutta. Metode
Euler dapat dianggap sebagai metode orde pertama
Runge-Kutta.
Salah satu anggota keluarga Runge-Kutta metode begitu umum
digunakan
sehingga sering disebut sebagai "RK4", "klasik Runge-Kutta
metode" atau hanya
sebagai "metode Runge-Kutta". Biarkan masalah nilai awal
ditetapkan sebagai
berikut.
Di sini, y adalah fungsi yang tidak diketahui (skalar atau
vektor) dari waktu t
yang kita ingin perkiraan, kita diberitahu bahwa , tingkat di
mana y perubahan,
-
merupakan fungsi dari t dan y sendiri. Pada saat awal , nilai y
yang sesuai adalah
. Fungsi f dan data , diberikan. Sekarang memilih langkah h>
0 dan
mendefinisikan
untuk n=0,1,2,3,... , dengan
Berikut adalah pendekatan RK4 dari , dan nilai berikutnya (
) ditentukan oleh nilai sekarang ( ) ditambah rata-rata
tertimbang dari empat
kenaikan , di mana kenaikan masing-masing adalah produk dari
ukuran interval, h,
dan kemiringan diperkirakan ditentukan oleh fungsi f di sisi
kanan dari persamaan
diferensial.
adalah kenaikan berdasarkan lereng di awal interval, menggunakan
,
(metode Euler);
adalah kenaikan didasarkan pada kemiringan pada titik tengah
dari
interval, menggunakan + ;
lagi kenaikan berdasarkan kemiringan pada titik tengah, tapi
sekarang
menggunakan + ;
adalah kenaikan berdasarkan lereng pada akhir interval,
menggunakan
+ .
Dalam rata-rata empat bertahap, bobot yang lebih besar diberikan
kepada
peningkatan pada titik tengah. Bobot yang dipilih sedemikian
rupa sehingga jika f
adalah independen dari y, sehingga persamaan diferensial setara
dengan terpisahkan
sederhana, maka RK4 adalah aturan Simpson.
Metode Runge-Kutta Orde 2 diberikan dalam skema berikut
yn+1 = yn + (k1 + k2)/2
dengan
k1 = hf (xn,yn), k2 = hf (xn,yn + k1)
-
Metode Runge-Kutta orde empat diberikan dalam rumus berikut
ini:
yn+1 = yn + 1/6(k1 + 2k2 + 2k3 + k4)
dengan
k1 = f (xn,yn), k2 = f (xn + h/2 , yn + k1/2), k3 = f (xn +
h/2,yn +k2), k4 = f(xn + h/2,yn +k3)
h = step size
Contoh
Diberikan MNA dalam bentuk
= y-x, dengan y (0) = 2 .
Tentukan y (0,1) dan y (0,2) teliti hingga empat tempat
desimal:
Penyelesaian:
(i) Metode Runge-Kutta Orde Dua
Pilih h = 0,1 , f(x,y) = y-x, dan y (0) = 2. Kemudian tentukan
nilai-nilai koefisien k1
dan k2 dengan cara berikut:
k1 = hf0 (x0,y0) = 0,1f (0,2) = 0,1 (2-0) = 0,2
k2 = hf (x0 + h,y0 + k1) = 0,1 [f ( 0 + 0,1 , 2 + 0,2)]
k2 = 0,1 [f(0,1 ; 2,2)]
k2 = 0,1 (2,2 0,1) = 0,21
Kemudian dihitung nilai y pertama yaitu
y1 = (0,1)
= y0 + (k1 +k2)
= 2 + (0,2 + 0,21)
= 2,2050
Guna mendapatkan nilai fungsi y2
= y(0,2), diperlukan x0 = 0,1 dan y
0 = 2,2050.
Dengan cara yang sama diperoleh:
k1 = hf0 (x0,y0)
= 0,1f (0,1 ; 2,2050)
= 0,1f (2,2050 0,1) = 0,2105
k2 = hf (x0 + h,y0 + k1)
= 0,1 f (0,2 , 2,4155)
-
= 0,1 f (2,4155 0,2)
= 0,22155
sehingga
y2 = y0 + (k1+k2)
= 2,20050 + (0,2105 + 0,22155)
= 2,4210
Analog, akan diperoleh pula
y3
= y (0,3) = 2,6492
dan
y4
= y (0,4) = 2,8909
Untuk keperluan pembanding, dapat diperlihatkan bahwa ketika
pilihan h = 0,2
diperoleh
y (0,2) = 2,4200 dan y (0,4) = 2,8880.
Dari hasil numerik ini, memperlihatkan betapa pilihan h
memainkan peranan dalam
hal keakuratan aproksimasi.
Sementara itu, solusi secara analitik MNA dalam Contoh adalah
fungsi. Solusi
analitik untuk nilai-nilai y (0,2) dan y (0,4) berturut-turut
adalah 2,4214 dan 2,8918
Berikut ini rekapitulasi nilai-nilai fungsi solusi Contoh yang
telah dikemukakan.
x y hitung y eksak Selisih Rasio
0,2 h = 0,1 : 2,4210
2,4214 0,0004
3,5 h = 0,2 : 2,4200 0,0014
0,3 h = 0,1 : 2,8909
2,4918 0,0009
4,2 h = 0,2 : 2,8880 0,0038
Dari tabel di atas terlihat bahwa metode Runge-Kutta orde dua
konvergen
(ii) Metode Runge-Kutta Orde Empat
Analog dengan langkah-langkah penyelesai MNA dengan metode
Runge-Kutta orde
dua, Metode Runge-Kutta orde empat memberikan untuk h = 0,1:
k1 = h f(x0,y0) = 0,1 (0,2)
= 0,1 f (2-0) = 0,2
k2 = h f(x0 + h, y0 + k1)
= 0,1f (0,05 , 2,1)
-
= 0,1 (2,1-0,05)
= 0,205
k3 = hf(x0 + h, y0 + k2)
= 0,1f (0,05 , 2 + 0,1025)
= 0,1 (2,1025 0,05)
= 0,20525
k4 = hf (x0 + h , y0 + k3)
= 0,1f ( 0,1 , 2,20525)
= 0,1 (2,20525 0,1)
= 0,21053
Dari nilai-nilai tersebut diperoleh :
y1 = y(0,1)
= y0 + (k1 + 2k2 + 2k3 + k4)
= 2 + (0,2 + 0,410 + 0,4105 + 0,21043)
= 2,2052
Dengan cara yang sama didapat juga y (0,2) = 2,4214
-
PROGRAM MATLAB
Matlab merupakan salah satu paket aplikasi matematika yang
sangat cepat
dan menyenangkan untuk digunakan sebagai ala pemecahan masalah
matematika
secara numerik. Masalah-masalah komputasi yang ditemui di dalam
matematika
dapat diselesaikan secara jauh lebih cepat dengan Matlab. Matlab
sangat cocok dan
cepat untuk melakukan perhitungan-perhitungan yang melibatkan
matriks. Hal ini
sesuai dengan nama Matlab yang merupakan singkatan dari Matrix
Laboratory.
Matlab dapat digunakan untuk melakukan komputasi numerik,
simbolik, visualisasi,
serta pemrograman.
Contoh aplikasi dari Matlab adalah penyelesaian persamaan
diferensial.
Matlab menyediakan beberapa perintah untuk menyelesaikan
persamaan diferensial
biasa (PDB) maupun persamaan diferensial parsial (PDP), baik
tingkat rendah
maupun tingkat tinggi.
PERSAMAAN DIFERENSIAL
1. Persamaan Diferensial Biasa Orde 1 Tunggal
Bentuk umum :
a. Metoda Euler Eksplisit
Bentuk umum :
Contoh :
Dengan menggunakan metoda euler eksplisit, tentukanlah nilai y
pada x =1 jika
dy/dx = x2y, dimana y = 1 pada x = 0.
Penyelesaian:
Dari bentuk umum, maka:
Bila dipilih x = 0,1
-
maka:
b. Metoda Runge-Kutta
Bentuk umum:
c. Metoda Euler Implisit
Bentuk umum:
-
d. Fungsi Built-in Matlab
Contoh : Program untuk persamaan differensial dy/dx = x2y
Program: disimpan dalam file diferensial.m
Hasil yang diperoleh dengan fungsi built-in ode45 ini sama
dengan hasil perhitungan
secara analitik.
-
2. Sistem Persamaan Diferensial Biasa Orde 1
Sistem persamaan diferensial biasa orde 1 melibatkan lebih dari
satu PDB dengan
bentuk umum sebagai berikut:
dimana dan untuk x yang tertentu, maka yi diketahui.
Metoda yang digunakan juga sama seperti penyelesaian PDB orde 1
yang tunggal.
a. Metoda Euler Eksplisit
Karena masing-masing persamaan dyi/dx bergantung secara umum
terhadap semua
nilai yi, maka masing-masing fi(x,y) harus dihitung terlebih
dahulu. Maka algoritma
untuk metoda ini adalah:
dimana Sebagai contoh, yi,j merupakan nilai yi
pada nilai x yang ke-j (yaitu, jika kondisi awal ditentukan pada
x = 0, maka nilai x
yang ke-j adalah j. x
b. Metoda Runge-Kutta
Bentuk umum:
-
3. Persamaan Diferensial Parsial
Bentuk umum:
Penyelesaian yang paling sederhana adalah dengan menggunakan
Metoda Eksplisit
dengan pendekatan beda maju:
-
SOLUSI PROGRAM MATLAB
Euler
Menghasilkan penyelesaian: