Fisika Komputasi

16

Click here to load reader

description

Fisika Komputasi Belajar

Transcript of Fisika Komputasi

Page 1: 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

Page 2: Fisika Komputasi

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

Page 3: Fisika Komputasi

∑ 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 :

Page 4: Fisika Komputasi

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)

Page 5: Fisika Komputasi

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

Page 6: Fisika Komputasi

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.

Page 7: Fisika Komputasi

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;

Page 8: Fisika Komputasi

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

Page 9: Fisika Komputasi

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

Page 10: Fisika Komputasi

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

Page 11: Fisika Komputasi

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.

Page 12: Fisika Komputasi

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.