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
2. DASAR TEORI
2.1.
MATLAB
Matlab merupakan bahasa pemrograman yang dikembangkan
untuk
perhitung-an
numerik
keteknikan,
komputasi
simbolik,
yang
berkaitan
dengan
bidang
fisika.
metematika
biasa.
Penamaan
variabel
dalam
matlab
dinyatakan
secara
khusus,
sehingga
memudahkan
para
ahli
fisika
persamaan
akan
merasa
kecepatan
puas
terhadap
kecepatan
jika
telah
waktu
benda,
dan
terlebih
x0 = 0
FU
arah gerak
benda
dv
dt
(2.2.5)
Sehingga, persamaan (2.2.5) menjadi :
(m
g)
(k
v)
dv
. dt
...(2.2.6)
dv
(m. g) (k . v)
dt
m
..(2.2.7)
(m . g) (k . v ) dv
m dt
....(2.2.8)
1
k ln(m . g) (k . v)
..(2.2.9)
1
.t +C ...
m
ln(m. g) (k . v )
k
. t)+C ..
m
(2.2.10)
(m. g) ( k . v)
ln
exp
(m
g)
exp((
k
. t)+C) ...(2.2.11)
m
(k
v)
C . exp(
k
. t)
m
....(2.2.12)
k . v = (m . g)
C .exp (
k
. t) ...
m
(2.2.13)
v
(t)
(m. g)
C . exp(
k
. t)
m
(2.2.14)
Untuk v0 = 0 selanjutnya di substitusi ke persamaan (2.2.14),
sehingga diperoleh hasil :
(m. g)
k
..(2.2.15)
Sehingga persamaan (14) menjadi :
v
(t)
(m. g)
(m. g)
k
. exp(
. t)
k
m
..(2.2.16)
v (t) =
1
( m. g )
.
k
(m. g)
k
. exp(
. t) ) .....
k
m
(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.
Dalam
metode
penyelesaian
yang
dapat
persamaan
diferensial
digunakan
untuk
ada
beberapa
menyelesaikannya,
dy
dy
dt = 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
ba
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
=
...(2.3.3)
0,
1,
2,...,N
(t i+1t i )2
2
. y(i)
.(2.3.4)
dengan memasukkan h = (ti+1 ti), maka
2
y(ti+1)
y(ti )
hy(ti )
h
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
2 y(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
penyelesaian
persamaan
diferensial
dengan
pertumbuhan truncation error yang jauh lebih ke-cil. Persamaanpersamaan yang menyusun metode Runge-Kutta Orde-4 adalah
w0 = .
(2.3.8)
k1 = hf(ti ,wi)....
(2.3.9)
k2
h
2
hf(ti+
wi+
..(2.3.10)
k3
h
2
hf(ti+
wi+
1
2 k1)
1
2 k2)
..(2.3.11)
k2 = hf(ti+1 , wi+ k3).
(2.3.12)
wi+1
wi
1
6
(k1+
...(2.3.13)
dimana fungsi f (t,w) adalah fungsi turunan.
2k2+2k3+k4)
3. METODE PENELITIAN
3.1.
Script metode euler
clear all
clc
format short
a=0;
%batas awal interval
b=10;
%batas akhir interval
N=20;
%bilangan integer positif
h=(b-a)/N; %nilai step-size
w0=0;
%nilai w awal
t0=0;
%nilai t awal
g=9.8;
c=7;
m=70;
% Tempat menyimpan data
w=zeros(N,1);
y=w;
%tempat menyimpan y
t=w;
%tempat menyimpan t
error=w; %tempat menyimpan error
%perubahan t sesuai step-size h adalah:
for i=1:N
t(i)=a+(i*h);
end
%solusi untuk metode euler :
w(1)=w0+h*futur(t0,w0);
for i=2:N
k=i-1;
w(i)=w(k)+h*futur(t(k),w(k));
end
%solusi exact:
for i=1:N
y(i)=(g*m/c)*(1-exp(-(c/m)*t(i)));
end
%solusi exact:
for i=1:N
error(i)=w(i)-y(i);
end
%Plot grafik solusi exact dan numerik metode Euler
plot(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 tabel
It=1:N;
disp(' ')
disp(' SOLUSI NUMERIK DAN EKSAK GERAK JATUH BEBAS ')
disp(' DENGAN HAMBATAN UDARA ') %TABEL OUTPUT
disp('++++++++++++++++++++++++++++++++++++++++++++')
disp(' i
t(i)
wi
yi
|wi-yi| ')
disp('++++++++++++++++++++++++++++++++++++++++++++')
disp([ It'
t
w
y
error]) %mengisi table
3.2.
udara
function y = futur(t,w)
g=9.8;
c=7;
m=70;
y=g-(c/m)*w;
3.3.
clear all
clc
format short
a=0;
%batas awal interval
b=10;
%batas akhir interval
N=20;
%bilangan integer positif
h=(b-a)/N; %nilai step-size
w0=0;
%nilai w awal
t0=0;
%nilai t awal
g=9.8;
c=7;
m=70;
%tempat menyimpan data
w=zeros(N,1);
y=w;
%tempat menyimpan y
t=w;
%tempat menyimpan t
error=w;
%tempat menyimpan error
%perubahan t sesuai step-size h adalah:
for i=1:N
t(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:N
k=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:N
y(i)=(g*m/c)*(1-exp(-(c/m)*t(i)));
end
%error antara numerik dan exact
for i=1:N
error(i)=w(i)-y(i);
end
%Plot grafik solusi exact dan numerik metode Runge Kutta
plot(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 tabel
It=1:N;
disp(' ')
disp(' SOLUSI NUMERIK DAN EKSAK GERAK JATUH BEBAS ')
disp('
DENGAN HAMBATAN UDARA
')%TABEL OUTPUT
disp('++++++++++++++++++++++++++++++++++++++++++++++')
disp('
i
t(i)
wi
yi
|wi-yi|
')
disp('++++++++++++++++++++++++++++++++++++++++++++++')
disp([
It'
t
w
y
error])
%mengsi table
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 010s, 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
Gambar 4. Tabel solusi numeric dan eksak gerak jatuh bebas dengan
hambatan udara menggunakan metode euler
bertumpang
tindih
yang
menandakan
bahwa nilai
yang
percepatan.
Ini
diperlihatkan
dengan
semakin
DAFTAR PUSTAKA
Giancoli, D. C. 2001. Fisika Edisi Kelima Jilid 1. Jakarta : Erlangga.
Nathanael, M. Gerak Jatuh Bebas + Gaya Gesekan
Udara.