Fisika Komputasi
Click here to load reader
-
Upload
nellanello-siiladyboyo -
Category
Documents
-
view
420 -
download
210
description
Transcript of Fisika Komputasi
1. PENDAHULUAN
Pesatnya perkembangan teknologi masa kini membuat pemecahan suatu masalah
fisika dapat diselesaikan dengan mudah, salah satunya dengan menggunakan bantuan
aplikasi MATLAB. Permasalahan yang terkait disini meliputi pembuatan grafik, dan
penyelesaian persamaan-persamaan fisika dengan menggunakan beragam metode yang
telah tersedia. Persamaan fisika yang dapat diselesaikan dengan menggunakan aplikasi
MATLAB, salah satunya adalah persamaan differensial yang mungkin sudah tidak asing
lagi bagi mahasiswa fisika. Contoh dari persamaan differensial yang berkaitan dengan
kehidupan sehari-hari kita adalah masalah kecepatan gerak jatuh bebas yang
mempertimbangkan adanya pengaruh dari gesekan udara. Misalnya, pada buah buah
yang jatuh dari pohon, genting yang jatuh dari atap rumah, dan masih banyak lagi.
Dalam MATLAB penyelesaian persamaan differensial dapat dilakukan dengan beragam
metode numerik, diantaranya adalah dengan menggunakan metode Euler, metode RK4
(Runge Kutta Orde-4), dan metode Heun. Dalam makalah ini metode numeriknya
menggunakan metode runge kutta orde-4, yang mana pada metode ini memiliki beberapa
keuntungan seperti lebih akurat, karena metode Runge Kutta Orde-4 menawarkan
penyelesaian persamaan diferensial dengan error yang jauh lebih kecil dibandingkan
metode-metode yang lain.
Berdasarkan uraian diatas, tujuan dari penulisan makalah ini adalah untuk
menyelesaikan persamaan kecepatan gerak jatuh bebas yang mempertimbangkan adanya
pengaruh gesekan udara dengan menggunakan metode Runge-Kutta Orde-4 dan Euler,
kemudian membandingkannya dengan hasil penyelesaian persamaan gerak jatuh bebas
dengan pengaruh gesekan udara antara metode Runge-Kutta Orde-4 dan Euler dengan
solusi analitik sebagai indikatornya.
2. DASAR TEORI
2.1. MATLAB
Matlab merupakan bahasa pemrograman yang dikembangkan oleh The
Mathwork. Inc. Bahasa pemograman ini banyak digunakan untuk perhitung-an
numerik keteknikan, komputasi simbolik, visualisasi grafis, analisis data matematis,
statistika, simulasi pemodelan, dan desain GUI (graphical user in-terface). Dalam
bidang fisika, matlab banyak digunakan untuk menyelesaikan persamaan-persamaan
yang berkaitan dengan bidang fisika. Persamaan gerak jatuh bebas ini merupakan
salah satu contoh persamaan differensial biasa. Persamaan-persamaan differensial ini
menjadi bagian yang umum dalam pemodelan sistem-sistem fisika. Prosedur
perhitungan, visualisasi dan pemrograman dengan matlab sangat mudah dilakukan
karena variabelnya dinyatakan dalam notasi metematika biasa. Penamaan variabel
dalam matlab dilakukan secara langsung tanpa melalui deklarasi seperti pada pascal,
delphi dan fortran. Basis data dalam bentuk syntax tidak perlu dinyatakan secara
khusus, sehingga memudahkan perhitungan dalam waktu yang lebih singkat.
2.2. Gerak jatuh bebas
Gerak jatuh bebas dalam fisika termasuk salah satu contoh umum dari gerak
lurus berubah beraturan. Dalam gerak jatuh bebas, gaya gesekan udara
mempengaruhi gerak jatuh bebas. Galileo mendalilkan bahwa semua benda akan
akan jatuh dengan percepatan yang sama apabila tidak ada udara atau hambatan
lainnya. Galileo menegaskan bahwa semua benda, berat atau ringan akan jatuh
dengan percepatan yang sama, paling tidak jika tidak ada udara.Untuk gerak jatuh
bebas, ada dua gaya yang mempengaruhi gerak dari benda yang mengalami gerak
jatuh bebas, yaitu gaya berat (W) serta gaya gesekan dengan udara (Fu). Seperti
permasalahan mekanika yang terkait dengan gerak pada umumnya, para ahli fisika
akan merasa puas jika telah memperoleh persamaan kecepatan terhadap waktu dan
persamaan posisi terhadap waktu.
Untuk menentukan persamaan kecepatan benda, terlebih dahulu, tinjau benda
yang melakukan gerak jatuh bebas berbentuk boladengan asumsi dasar v0 = 0
(kecepatan awal) dan x0 = 0 (posisi awal). Sehingga gaya gesekan udara dapat
dituliskan dalam persamaan berikut :
Fu = k . v ………………………………………………………………..………(2.2.1)
Dimana : Fu = gaya gesekan udara, k = konstanta yang bergantung bentuk beda, dan
v = kecepatan benda.
Gambar 1. Diagram gaya benda jatuh bebas
Dari gambar 1, gaya yang bekerja pada system dapat diuraikan sebagai berikut
dengan menggunakan persamaan hukum Newton II.
arah gerak bendaW
FU
∑ F = m . a ………………………………………………………………..…...(2.2.2)
W – Fu = m . a ………………………………………………………..………..(2.2.3)
(m . g) – (k . v) = m . a………………………………………………………….(2.2.4)
Ingat :
a = dvdt
……………………………………………………………………….…
(2.2.5)
Sehingga, persamaan (2.2.5) menjadi :
(m . g) – (k . v) = m .dvdt
……………………………………………………..….
(2.2.6)
dv(m .g) – (k . v )
= dtm
…………………………………………………………..……
(2.2.7)
∫ 1(m. g)– (k . v )
dv= ∫ 1m
dt…………………………………………………....
(2.2.8)
−1k ln(m. g) – (k . v )
= 1m
. t+C…………………………...…………………..…
(2.2.9)
ln (m. g)– (k . v) = (−km
.t )+C…………………………………..………(2.2.10)
exp¿ = exp ((−km
.t )+C )…………………………..….(2.2.11)
(m . g) – (k . v) = C . exp (−km
. t)…………………………………………....(2.2.12)
k . v = (m . g)−C . exp (−km
. t)……………………………………………...(2.2.13)
v (t) = (m .g)
k−¿ C . exp (−k
m. t)………………………………………………
(2.2.14)
Untuk v0 = 0 selanjutnya di substitusi ke persamaan (2.2.14), sehingga diperoleh
hasil :
C = (m .g)
k ……………………………………………………………………..
(2.2.15)
Sehingga persamaan (14) menjadi :
v (t) = (m .g)
k−¿
(m .g)k
. exp (−km
. t)……………………………………..……
(2.2.16)
v (t) = (m. g )
k.¿
(m .g)k
. exp (−km
. t)) ……………………………….....…(2.2.17)
Persamaan (2.2.17) adalah suatu model yang menghubungkan percepatan dari
sebuah benda jatuh terhadap gaya yang bekerja padanya. Persamaan ini yang
nantinya digunakan sebagai solusi dari metode numeriknya yang dijadikan sebagai
indikator tingkat keakuratan penyelesaian analitik(seperti metode runge-kutta orde
4, serta metode euler).
2.3. Metode Euler dan Runge-Kutta Orde-4
Dalam penyelesaian persamaan diferensial ada beberapa metode yang dapat
digunakan untuk menyelesaikannya, diantaranya dengan menggunaka metode euler
dan metode runge-kutta orde-4 (RK-4) :
a. Metode Euler,
Suatu persamaan diferensial (dydt
) dinyatakan dalam fungsi f(t,y), dimana y(t)
adalah persamaan asalnya
dydt
= f (t,y), a ≤ t ≤ b, y(a) = α………………………………(2.3.1)
Nilai t dibatasi dari a hingga ke b. Sementara, syarat awal telah diketahui yaitu
pada saat t = a maka y bernilai α. Namun, tidak diketahui bentuk formulasi
persamaan asalnya y (t). Untuk mendapatkan solusi persamaan differensial untuk
setiap nilai y(t) yang t-nya terletak diantara a dan b, maka tahap awalnya adalah
menentukan solusi melalui pendekatan numeric dengan menentukan point-point
dalam jarak yang sama di dalam interval [a,b]. Jarak antar point dirumskan
sebagai
h = b−a
N……………………………………………………………………..
(2.3.2)
dengan N adalah bilangan integer positif, nilai h ini juga dikenal dengan nama
step-size. Selanjutnya nilai t diantara a dan b ditentukan berdasarkan persamaan
ti = a + ih, i = 0, 1, 2,...,N ……………………………………...…(2.3.3)
Gambar 2. Grafik metode euler (Sumber : Supriyanto, 2013)
Metode euler ini merupakan penurunan dari deret Taylor. Misalnya, fungsi y(t)
adalah fungsi yang kontinyu dan memiliki turunan dalam interval [a,b]. Dalam
deret Taylor, fungsi y(t) tersebut diru-muskan sebagai
y(ti+1) = y(ti) + (ti+1 − ti) . y′(ti ) + (t i+1−t i)
2
2 . y′′(ξi)……………………….
(2.3.4)
dengan memasukkan h = (ti+1 − ti), maka
y(ti+1) = y(ti ) + hy′(ti ) + h2
2 y′′(ξi)…………………..………………………(2.3.5)
dan, karena y(t) memenuhi persamaan diferensial (2.3.1), dimana y′(ti) tak lain
adalah fungsi turunan f (ti, y(ti)), maka
y(ti+1) = y(ti ) + hf (ti, y(ti)) + h2
2y′′(ξi)………………………………………(2.3.6)
Metode euler dibangun dengan pendekatan bahwa suku terakhir dari persamaan
(2.3.6), yang memuat turunan kedua dapat diabaikan. Disamping itu, pada
umumya notasi penulisan y(ti) diganti dengan wi. Sehingga metode euler dapat
diformulasikan sebagai
wi+1 = wi + hf (ti ,wi) dengan syarat awal w0 = α………………………….. (2.3.7)
Namun, dalam matlab metode euler ini memiliki tingkat error yang cukup tinggi.
b. Metode Runge-Kutta Orde-4
Karena pada metode euler untuk penyelesaian sistem persamaan diferensial
menghasilkan truncation error yang tinggi dan terus membesar seiring dengan
bertambahnya iterasi (ti). Dikaitkan dengan hal tersebut, metode Runge-Kutta
Orde-4 menawarkan penyelesaian persamaan diferensial dengan pertumbuhan
truncation error yang jauh lebih ke-cil. Persamaan-persamaan yang menyusun
metode Runge-Kutta Orde-4 adalah
w0 = α……………………………………………………………………….(2.3.8)
k1 = hf(ti ,wi)………………………………………………………………....(2.3.9)
k2 = hf(ti+ h2
, wi+ 12
k1)……………………………………………………..
(2.3.10)
k3 = hf(ti+ h2
, wi+ 12
k2)……………………………………………………..
(2.3.11)
k2 = hf(ti+1 , wi+ k3)……………………………………………………….(2.3.12)
wi+1 = wi + 16
(k1+ 2k2+2k3+k4)……………………………………………...
(2.3.13)
dimana fungsi f (t,w) adalah fungsi turunan.
3. METODE PENELITIAN
3.1. Script metode euler
clear allclcformat shorta=0; %batas awal intervalb=10; %batas akhir intervalN=20; %bilangan integer positifh=(b-a)/N; %nilai step-sizew0=0; %nilai w awalt0=0; %nilai t awalg=9.8;c=7;m=70;% Tempat menyimpan dataw=zeros(N,1);y=w; %tempat menyimpan yt=w; %tempat menyimpan terror=w; %tempat menyimpan error%perubahan t sesuai step-size h adalah:for i=1:Nt(i)=a+(i*h);end%solusi untuk metode euler :w(1)=w0+h*futur(t0,w0);for i=2:Nk=i-1;w(i)=w(k)+h*futur(t(k),w(k));end%solusi exact:for i=1:Ny(i)=(g*m/c)*(1-exp(-(c/m)*t(i)));end%solusi exact:for i=1:Nerror(i)=w(i)-y(i);end%Plot grafik solusi exact dan numerik metode Eulerplot(t,w,'ro-',t,y,'b*-')xlabel('waktu, t(s)')ylabel('kecepatan, v(m/s)')title('GRAFIK GERAK JATUH DENGAN GESEKAN')legend('Euler','Exact')%Menampilkan tabelIt=1:N;disp(' ')disp(' SOLUSI NUMERIK DAN EKSAK GERAK JATUH BEBAS ')disp(' DENGAN HAMBATAN UDARA ') %TABEL OUTPUTdisp('++++++++++++++++++++++++++++++++++++++++++++')disp(' i t(i) wi yi |wi-yi| ')disp('++++++++++++++++++++++++++++++++++++++++++++')disp([ It' t w y error]) %mengisi table
3.2. Script fungsi M-File gerak jatuh bebas dengan gesekan udara
function y = futur(t,w)g=9.8;c=7;m=70;y=g-(c/m)*w;
3.3. Script metode runge kutta orde 4 (RK4)
clear allclcformat shorta=0; %batas awal intervalb=10; %batas akhir intervalN=20; %bilangan integer positifh=(b-a)/N; %nilai step-sizew0=0; %nilai w awalt0=0; %nilai t awalg=9.8;c=7;m=70;%tempat menyimpan dataw=zeros(N,1);y=w; %tempat menyimpan yt=w; %tempat menyimpan terror=w; %tempat menyimpan error%perubahan t sesuai step-size h adalah:for i=1:Nt(i)=a+(i*h);end%solusinya metode Runge kutta:k1=h*futur(t0,w0);k2=h*futur(t0+h/2,w0+k1/2);k3=h*futur(t0+h/2,w0+k2/2);k4=h*futur(t(1),w0+k3);w(1)=w0+1/6*(k1+2*k2+2*k3+k4);for i=2:Nk=i-1;k1=h*futur(t(k),w(k));k2=h*futur(t(k)+h/2,w(k)+k1/2);k3=h*futur(t(k)+h/2,w(k)+k2/2);k4=h*futur(t(i),w(k)+k3);w(i)=w(k)+1/6*(k1+2*k2+2*k3+k4);end%solusi exact :for i=1:Ny(i)=(g*m/c)*(1-exp(-(c/m)*t(i)));end%error antara numerik dan exactfor i=1:Nerror(i)=w(i)-y(i);end%Plot grafik solusi exact dan numerik metode Runge Kuttaplot(t,w,'ro-',t,y,'b*-')xlabel('Waktu, t(s)')ylabel('Kecepatan, v(m/s)')title('GRAFIK GERAK JATUH BEBAS DENGAN GESEKAN')legend('RK4','Exact')%menampilkan tabelIt=1:N;disp(' ')disp(' SOLUSI NUMERIK DAN EKSAK GERAK JATUH BEBAS ')disp(' DENGAN HAMBATAN UDARA ')%TABEL OUTPUTdisp('++++++++++++++++++++++++++++++++++++++++++++++')disp(' i t(i) wi yi |wi-yi| ')disp('++++++++++++++++++++++++++++++++++++++++++++++')disp([ It' t w y error]) %mengsi table
4. HASIL DAN PEMBAHASAN
Setelah script program dijalankan, maka akan dihasilkan tabel dan grafik seperti pada
gambar 3 dan 4. Pada program, telah ditentukan massa (m) yang digunakan adalah
sebesar 70kg dan konstanta yang tergantung benda (c) nya adalah 7kg/s.
Gambar 3. Tabel solusi numeric dan eksak gerak jatuh bebas dengan hambatan udara menggunakan metode runge-kutta
Dari tabel pada gambar 3 dapat diketahui bahwa nilai kecepatan untuk solusi yang
dihitung secara eksak dengan menggunakan persamaan (2.2.17) yang ditunjukkan oleh
(yi) akan menghasilkan nilai yang sama dengan hasil dari solusi menggunakan metode
runge-kutta orde-4 (wi). Dengan demikian error yang dihasilkan ini akan bernilai 0,00
karena nilai dengan solusi eksak dan solusi menggunakan metode runge-kutta orde-4
adalah sama. Contohnya saja pada saat iterasinya (i) adalah 1 maka waktu yang
digunakan t(i) adalah 0,50 karena pada program rentang waktu yang digunakan adalah
dari 0-10s, dengan nilai step-sizenya adalah 0,5. Pada t (1) nilai solusi eksak (yi) dan nilai
dengan metode runge-kutta orde-4 (wi) adalah 4,7795 m/s , sehingga nilai error (|wi - yi |)
adalah 0,00. Untuk eror yang dihasilkan ini nilainya tidak mengalami perubahan seiring
dengan bertambahnya nilai iterasi yang digunakan. Hal ini tentunya lebih efektif jika
dibandingkan dengan menggunakan metode euler. Untuk solusi pada metode euler ini
dapat dilihat pada gambar 4. Pada metode euler, solusi yang dihasilkan (wi) akan
mendekati nilai solusi secara eksaknya. Contohnya pada saat iterasinya (i) adalah 1 maka
sama dengan yang metode runge-kutta waktu yang digunakan (ti) adalah 0,5. Sehingga
dari sini akan dihasilkan nilai wi (menggunakan metode euler) sebesar 4,90 m/s.
Sedangkan nilai yi yang dihasilkan adalah 4,7795. Dengan demikian dapat diketahui
bahwa eror yang dihasilkan ini sebesar 0,1205. Seiring dengan bertambahnya nilai iterasi
maka pada gambar 4. ini dapat diketahui bahwa error yang dihasilkan akan semakin
membesar. Sehingga penggunaan metode euler sebagai penyelesaian persamaan
diferensial menggunakan matlab ini kurang efektif jika dibandingkan dengan
penggunaan metode runge-kutta orde-4.
Gambar 4. Tabel solusi numeric dan eksak gerak jatuh bebas dengan hambatan udara menggunakan metode euler
Gambar 5. Grafik gerak jatuh bebas dengan gesekan menggunakan metode runge-kutta orde-4
Gambar 6. Grafik gerak jatuh bebas dengan gesekan menggunakan metode euler
Gambar 5 dan 6, merupakan hasil solusi dengan beberapa metode penyelesaian sistem
persamaan diferensial menggunakan matlab dalam bentuk grafik. Grafik ini semakin
memmperjelas bahwa penggunaan metode euler dalam matlab kurang efektif. Dengan
menggunakan metode runge-kutta orde-4, grafik yang dihasilkan akan saling bertumpang
tindih yang menandakan bahwa nilai yang dihasilkan sama dengan nilai eksaknya.
Dari grafik ini juga dapat dijelaskan model dari benda yang mengalami gerak jatuh bebas
dengan memperhitungkan gaya gesek udara. Benda yang terjatuh ini akan bergerak
semakin cepat yang artinya benda ini mengalami percepatan. Ini diperlihatkan dengan
semakin bertambahnya waktu maka kecepatan dari benda ini akan semakin bertambah
sesuai dengan prinsip gerak jatuh bebas.
5. PENUTUP
Penggunaan metode RK4 ini lebih efektif jika dibandingkan dengan metode euler. Hal
ini dapat dilihat berdasarkan error yang dihasilkan oleh metode RK4 lebih kecil
dibandingkan metode euler, serta seiring dengan bertambahnya iterasi maka error yang
dihasilkan metode euler akan semakin bertambah.
DAFTAR PUSTAKA
Giancoli, D. C. 2001. Fisika Edisi Kelima Jilid 1. Jakarta : Erlangga.
Nathanael, M. Gerak Jatuh Bebas + Gaya Gesekan Udara.
http://ricoatmaship.blogspot.com/p/metode-euler-dan-runge-kutta-numerik.html
[diakses pada 4 Januari 2015].
Rico. Metode Euler dan Runge Kutta Numerik Di Terapkan dalam Matlab.
http://gurufisikamuda.blogspot.com/2011/05/gerak-jatuh-bebas-gaya-gesekan-
udara.html [diakses pada 4 Januari 2015].
Samsudin, A. 2014. Laporan Praktikum Metode Numerik Persamaan Differensial Berorde N.
Bandung : Jurusan Fisika-FST UIN Sunan Gunung Jati.
Santoso, T. B. 2009. Dasar-dasar Operasi Matlab. Jakarta : Erlangga.