Anda di halaman 1dari 33

BAB I

PENDAHULUAN
1.1 Latar belakang
MatLab (Matrix Laboratory) merupakan komputasi numerikal dan
bahasa pemrograman komputer generasi keempat yang dikembangkan oleh The
MathWorks. Matlab memungkinkan adanya manipulasi matriks, plot grafik dari
fungsi dan data dan implementasi algoritma. Matlab merupakan metode numerik
yang memiliki toolbox dengan menggunakan mesin simbolik MuPAD, yang
memberikan akses terhadap aljabar komputer. Sebagai tambahan, adanya
Simulink pada Matlab mampu memberikan tampilan simulasi grafis multiranah
dan desain berdasarkan model untuk sistem kinematika dan dinamika. Pada tahun

2004, MathWorks mengklaim bahwa Matlab telah dimanfaatkan oleh lebih dari
satu juta pengguna di dunia pendidikan dan industry.
Pada dasarnya, metode numerik dari Matlab ini fungsinya adalah untuk
mempermudah perhitungan-perhitungan yang ssulit diselesaikan dengan cara
analitis. Disamping itu, kelebihan lain fungsi dari Matlab ini adalah mampu
menampilkan plot grafik yang diinginkan apakah dalam 2 dimensi atau 3 dimensi,
berwarna atau tidak berwarna. Hal ini tentunya, dapat dijadikan sebagai alasan
bagi seorang guru misalnya untuk mengunakan Matlab sebagai sebuah media
peembelajaran, yang mampu membantu siapa saja yang menggunakannya apakah
guru atau siswa untuk mempeajari materi-materi fisika dengan lebih mudah dan
menarik.
Sebagai contoh, untuk menampilkan bentuk plot grafik gelombang
transversal dalam pelaksanaannya secara analitis akan diperoleh tampilan grafik
yang terbatas hanya pada dua dimensi yang diproyeksikan terhadap sumbu x dan
y. Untuk mengambarkan gelombang tersebut dalam bentuk 3 dimensi, tentunya
akan sulit jika digambar dengan cara manual, tetapi jika menggunakan Matlab, hal
ini menjadi lebih mudah

Permasalahan persamaan differensial ini merupakan permasalahan yang


banyak ditemui ketika analisa yang dilakukan tergantung pada waktu dan nilainya
mengalami perubahan-perubahan berdasarkan waktu. Hampir banyak model

1
matematis di dalam ilmu teknik menggunakan pernyataan dalam persamaan
differensial.
Persamaan differensial merupakan persamaan yang menghubungkan suatu
besaran dengan perubahannya. Persamaan differensial dinyatakan sebagai
persamaan yang mengandung suatu besaran dan differensialnya, dan dituliskan
dengan :
2 n
dx d x d x
F x, , , ,t 0
2 n
dt dt dt

Persamaan differensial adalah pesamaan yang memuat turunan satu (atau


beberapa) fungsi yang tidak diketahui. Suatu persamaan diferensial yang terdiri
dari satu variabel bebas saja dinamakan perasamaan diferensial biasa (Ordinary

Differential Equation-ODE). Sedangkan persamaan diferensial yang terdiri dari


dua atau lebih variabel bebas dinamakan persamaan diferensial parsial ( Partial
Differential Equation-PDE). Persamaan differensial mempunyai banyak ragam
dan jenis mulai dari yang mudah diselesaikan hingga yang sulit diselesaikan,
mulai dari yang sederhana sampai yang sangat kompleks.
Ada beberapa metode yang dapat digunakan untuk menyelesaikan
persamaan differensial, antara lain: metode Euler, metode pendekatan dengan
deret Taylor, metode runge-kutta dan metode-metode prediktor-korektor seperti

metode Adam Moulton. Hanya saja metode-metode pendekatan ini menyebabkan


penyelesaian yang dihasilkan bukanlah penyelesaian umum dari persamaan
differensial, tetapi penyelesaian khusus dengan nilai awal dan nilai batas yang
ditentukan.
Pada pembahasan makalah ini akan membahas persamaan diferensial biasa
(ODE) dengan metode Euler atau orde satu. Penyelesaian persamaan diferensial
biasa (ODE) mempunyai bentuk umum yaitu:
dy
fxy ,

dx

Penyelesaian PDB secara numerik berarti menghitung nilai fungsi di xr+1 =


xr + h, dengan h adalah ukuran langkah ( step) setiap lelaran. Pada metode
analitik, nilai awal berfungsi untuk memperoleh solusi yang unik, sedangkan pada

2
metode numeric nilai awal (initial value) pada persamaan di atas berfungsi untuk
memulainya dengan matlab. Oleh karena itu, pada bagian ini penulis akan menulis
penggunaan Matlab untuk menyelesaikan masalah integral yang berjudul
Persamaan Diferensial Orde Dua yang akan diaplikasikan dengan menggunakan
matlab.

1.2 Rumusan Masalah


1. Bagaimana penggunaan metode Euler dengan Matlab untuk
menyelesaikan persamaan differensial orde 2?
2. Bagaimana penggunaan metode Runge Kutta dengan Matlab untuk
menyelesaikan persamaan differensial orde 2?

1.3 Tujuan
1. Untuk mengetahui penggunaan metode Euler dengan Matlab untuk
menyelesaikan persamaan differensial orde 2
2. Untuk mengetahui penggunaan metode Runge Kutta dengan Matlab untuk
menyelesaikan persamaan differensial orde 2

3
BAB II
PEMBAHASAN

2.1 Persamaan Difrensial Orde Dua (Buku Prof. Sahyar)


Bentuk umum persamaan diferensial orde dua
2 + ( , )
2 + ( , ) = ( , )
Persamaan diferensial orde dua banyak digunakan dalam bidang sains

seperti persamaan getaran, persamaan gaya, persamaan rangkaian RLC pada


listrik AC dan lainnya.persamaan diferensial orde dua dapat diselesaikan secara
analitik dan non analitik.

2.1.1 Metode Euler


Penyelesaian persamaan diferensial orde dua dilakukan dengan

memodifikasi persamaan diferensial orde dua menjadi dua persamaan orde satu.
Persamaan iterasi metode euler untuk menyelesaikan persamaan diferensial orde
dua adalah sebagai berikut:
2

2 = ( , , )
2
= : =
2

=
= ,
=
=
= : = ( , , )
Persamaan iterasi :

2 = +
2 = ( , , )

4
Penerapan Metode Euler
Contoh 1
Masalah : penyelesaian model untuk getaran teredam

x = c k
mx mx
t = v;dx
dt = v; dx = vdt
x2 = x + v2h
v = f t,v,x ) = c k
mx mx
dv
dt = f (t,v,x );dv = dt f (t,v,x )
Defenisi fungsi
Function dg=fg(t,v,x)
m=1;k=2;c=0,5;
dg=-(c/m*v-(k/m)*x
Variabel utama/struktur data
No. Besaran Variabel Tipe data Keterangan

1 Lebar segmen m Real Input

2 Nilai awal simpangan x Real Input

3 Nilai awal kecepatan v Real Input

4 Lama pengamatan tm Real Input

5 Nilai fungsi eksternal getaran dt Real Input

Algoritma
1. Mulai
2. Input Data

x = input (nilai awal x=f)

v = input (nilai awal v=)

tm=input(lama pengamatan=)
n = Input (jumlah segmen =)
3. Proses

5
dttm/n;

t0;

for i l:n

xx+dt*v;

vv+dt*fg(t,v,x);

tt+dt

xc(i) x;xd(i) v;

xt(i) t;

end
4. Tampil

Plot (xt,xc);

Plot (xt,xd);
5. Stop
Koding
%metode euler
%persamaan diff orde 2
%dengan syarat awal
%dy/dx=f(x,y)
%fungsi getaran teredam
%x^=-(c/m)v-(k/m)x
clc;
clear;
x = input (nilai awal x=f)

v = input (nilai awal v=)


tm=input(lama pengamatan=)
n = Input (jumlah segmen =)
dttm/n;
t=0;
for i=l:n
x=x+dt*v;
v=v+dt*fg(t,v,x);
t=t+dt
xc(i) =x;xd(i)=v;
xt(i)=t;
end
plot(xt,xc,t,xt,xd,k);grid on;xlabel(t);
ylabel(x.v);title(getaran teredam);
legend(x,v);
fprint(waktu=%8,3f,n,t)
fprint(x=%8,3f,n,t)
fprint(v=%8,3f,n,t)
Function dg=fg(t,v,x)
m=1;k=2;c=0,5;
dg=-(c/m*v-(k/m)*x

6
Aplikasi Dengan Matlab
Langkah-langkah dengan MATLAB:
1. Buka program Matlab pada desktop sehingga akan terbuka program dengan
memunculkan kotak dialog MATLAb dan Comman Window seperti gambar:

Program MATLAB Kotak dialog MATLAB Comman Window


2. Buat M-file baru pada Comman Window dengan cara mengklik menu File
pada Comman Window dan pilih New kemudian M-File seperti gambar di
bawah ini:

Buat file baru pada


Comman Window :

File New M-File

7
3. Maka akan muncul kotak M-File baru seperti pada gambar di bawah ini:

4. Masukkan kode program ke program MATLAB sebagai berikut dengan cara


mengketikkannya pada kotak dialog M-File.

Kode Program :
%Metode Euler
%Persamaan diff. orde 2
%dengan syarat awal
%dy/dx=f(x,y)
%fungsi getaran teredam
%x"=-(c/m)v-(k/m)x
clc;
clear all;
disp ( ' PERSAMAAN DIFFERENSIAL ORDE 2 DENGAN METODE EULER ' );
disp ( ' OLEH : KELOMPOK 1 ' );
disp ( ' NAMA : ANSELVINUS HALLAWA (NIM 8166175001) ' );
disp ( ' NORA HAWARI DAULAY (NIM 8166175016) ' );
disp ( ' SALWA DWI RATNA (NIM 8166175020)' );
disp ( ' KELAS : REG-A 2016 PROG.PASCA SARJANA' );
disp ( ' DOSEN PENGAMPU : Dr.Rita Juliani,M.Si ' );
disp ('________________________________________________________');
disp (' ')
x=input('Nilai awal x = ')
v=input ('Nilai awal v = ')
tm=input('Lama pengamatan = ')
n=input('Jumlah segmen = ')
dt=tm/n;
t=0;
for i=1:n
x=x+dt*v;
v=v+dt*fg(t,v,x);
t=t+dt;
xc(i)=x;xd(i)=v;
xt(i)=t;
end
plot(xt,xc,'r',xt,xd,'k');grid on;xlabel('t');
ylabel('x,v');title('getaran teredam');
legend('x','v');
fprintf('waktu=%8.3f\n',t);
fprintf('x=%8.3f\n',x);
fprintf('v=%8.3f\n',v);

8
Kode pada halaman selanjutnya
function dg=fg(t,v,x);
m=1;k=2;c=0.5;
dg=-(c/m)*v-(k/m)*x;

Koding yang telah di input sebagai berikut:

5. Setelah selesai mengetik script program, simpanlah hasil kerja (work ) dengan
mengklik menu File kemudian Save pada kotak dialog M-File. Gantilah nama
file dari Untitled menjadi MetodeEuler2 (tanpa spasi). Catatan : nama file
tidak boleh menggunakan spasi, jika menggunakan spasi maka file akan eror
jika dijalankan.
6. Pada work path klik Debug kemudian Run untuk menjalankan program.
7. Maka akan muncul pada Comman Window sebagai berikut:
>> PERSAMAAN DIFFERENSIAL ORDE 2 DENGAN METODE EULER
OLEH : KELOMPOK 1
NAMA : ANSELVINUS HALLAWA (NIM 8166175001)
NORA HAWARI DAULAY (NIM 8166175016)
SALWA DWI RATNA (NIM 8166175020)
KELAS : REG-A 2016 PROG.PASCA SARJANA
DOSEN PENGAMPU : Dr.Rita Juliani,M.Si
________________________________________________________

Nilai awal x =

9
Gambar pada comman window:

8. Kemudian masukkan nilai awal x = 10, nilai awal v = 0, lama pengamatan =

15, jumlah segmen = 400. Setelah itu tekan Enter pada keyboard, maka
akan muncul nilai integral tersebut sebagai berikut.
>> PERSAMAAN DIFFERENSIAL ORDE 2 DENGAN METODE EULER
OLEH : KELOMPOK 1
NAMA : ANSELVINUS HALLAWA (NIM 8166175001)
NORA HAWARI DAULAY (NIM 8166175016)
SALWA DWI RATNA (NIM 8166175020)
KELAS : REG-A 2016 PROG.PASCA SARJANA
DOSEN PENGAMPU : Dr.Rita Juliani,M.Si
________________________________________________________

Nilai awal x = 10
x = 10

Nilai awal v = 0
v=0

Lama pengamatan = 15
tm = 15

Jumlah segmen = 400


n = 400

waktu= 15.000
x= -0.080
v= -0.278
>>

10
Gambar pada Comman Window:

Gambar grafik pada Comman Window:

11
2.1.2 Metode Runge-Kutta Orde 4
Bentuk persamaan iterasi penyelesaian persamaan differensial orde dua dengan
meyode Runge-Kutta orde 4 adalah sbb;

= ( , , ); =
= ( , , );
= ( , , )
k 1=dt*g(t,v,x);r 1=dt*f(t,v,x)
k 2=dt*g(t+dt/2,v+r 1/2, x+k 1/2)
r 2=dt*g(t+dt/2,v+r 2/2, x+k 1/2)
k 3=dt*g(t+dt/2,v+r 2/2, x+k 2/2)
r 3=dt*g(t+dt/2,v+r 2/2, x+k 2/2)

k 4=dt*g(t+dt,v+r 3,x+k 3)
r 4=dt*g(t+dt,v+r 3,x+k 3)
k=(k 1+2*k 2+2*k 3+k 4)/6
r=(r 1+2*r 2+2*r 3+r 4)/6
x=x+k; v=v+r

Penerapan metode Runge-Kutta model untuk getaran:

x = mx k
mx
dx
t = v; dt = v; dx = vdt
v = f t,v,x ) = c k
mx mx
dv
dt = f (t,v,x );
Variabel utama/struktur data
No. Besaran Variabel Tipe data Keterangan

1 Lebar segmen m Real Input

2 Nilai awal simpangan x Real

3 Nilai awal kecepatan v Real


4 Lama pengamatan tm Real

5 Nilai fungsi eksternal getaran dt Real Input

12
Algoritma
1. Mulai
2. Input Data

x = input (nilai awal x=f)

v = input (nilai awal v=)

tm=input(lama pengamatan=)

n = Input (jumlah segmen =)


3. Proses

t0;

dttm/n;

for i1:n

k 1=dt*g(t,v,x);r 1=dt*f(t,v,x)

k 2dt*g(t+dt/2,v+r 1/2, x+k 1/2)

r 2dt*g(t+dt/2,v+r 2/2, x+k 1/2)

k 3dt*g(t+dt/2,v+r 2/2, x+k 2/2)

r 3dt*g(t+dt/2,v+r 2/2, x+k 2/2)

k 4dt*g(t+dt,v+r 3,x+k 3)

r 4dt*g(t+dt,v+r 3,x+k 3)

k (k 1+2*k 2+2*k 3+k 4)/6

r (r 1+2*r 2+2*r 3+r 4)/6


xx+k;

vv+r

tt+dt

xc(i) x;xd(i) v;

xt(i) t;

end
4. Tampil

Plot (xt,xc)
Plot (xt,xd)
5. Stop

13
Koding
%metode Runge-Kutta orde 2
%dengan syarat awal
%dy/dx=f(x,y)
%fungsi getaran teredam
%x^=-(c/m)v-(k/m)x
clc;
clear;
x = input (nilai awal x=f)
v = input (nilai awal v=)
tm=input(lama pengamatan=)
n = Input (jumlah segmen =)
t=0;
dttm/n;
for i=1:n
k1=dt*g(t,v,x);r1=dt*f(t,v,x)
k2=dt*g(t+dt/2,v+r1/2, x+k1/2)
r2=dt*g(t+dt/2,v+r2/2, x+k1/2)
k3=dt*g(t+dt/2,v+r2/2, x+k2/2)

rk34=dt*g(t+dt/2,v+r 2/2, x+k2/2)


=dt*g(t+dt,v+r3,x+k 3)
r4=dt*g(t+dt,v+r3,x+k3)
k=(k1+2*k2+2*k3+k4)/6
r=(r1+2*r2+2*r3+r4)/6
x=x+k;
vv+r
tt+dt
xc(i) x;xd(i) v;
xt(i) t;
end
plot(xt,xc,t,xt,xd,k);grid on;xlabel(t);
ylabel(x.v);title(getaran teredam);
legend(x,v);
fprint(waktu=%8,3f,n,t)
fprint(x=%8,3f,n,t)
fprint(v=%8,3f,n,t)
Function dg=fg(t,v,x)
m=1;k=2;c=0,5;
dg=-(c/m*v-(k/m)*x
function dv=fv(t,v,x);
dv=v

14
Aplikasi Dengan Matlab
Langkah-langkah dengan MATLAB:
1. Buka program Matlab pada desktop sehingga akan terbuka program
dengan memunculkan kotak dialog MATLAb dan Comman Window
seperti gambar:

Program MATLAB Kotak dialog MATLAB Comman Window


2. Buat M-file baru pada Comman Window dengan cara mengklik menu File
pada Comman Window dan pilih New kemudian M-File seperti gambar di
bawah ini:

Buat file baru pada


Comman Window :

File New M-File

15
3. Maka akan muncul kotak M-File baru seperti pada gambar di bawah ini:

4. Masukkan kode program ke program MATLAB sebagai berikut dengan cara


mengketikkannya pada kotak dialog M-File.

Kode Program :
%Metode Runge Kutta orde 2
%dengan syarat awal
% dy/dx=f(x,y)
% Fungsi getaran teredam
% x"=-(c/m)v-(k/m)x
clc;
clear all;
disp ( ' PERSAMAAN DIFFERENSIAL ORDE 2 DENGAN METODE RUNGE KUTTA ORDE 4 '
);
disp ( ' OLEH : KELOMPOK 1 ' );
disp ( ' NAMA : ANSELVINUS HALLAWA (NIM 8166175001) ' );
disp ( ' NORA HAWARI DAULAY (NIM 8166175016) ' );
disp ( ' SALWA DWI RATNA (NIM 8166175020)' );
disp ( ' KELAS : REG-A 2016 PROG.PASCA SARJANA' );
disp ( ' DOSEN PENGAMPU : Dr.Rita Juliani,M.Si ' );
disp ('________________________________________________________');
disp (' ')
x=input('Nilai simpangan = ');
v=input ('Nilai kecepatan awal = ');
tm=input('Lama pengamatan = ');
n=input('Jumlah segmen = ');
t=0;
dt=tm/n;
for i=1:n
k1=dt*fv(t,v,x);
r1=dt*fg(t,v,x);
k2=dt*fv(t+dt/2,v+r1/2,x+k1/2);
r2=dt*fg(t+dt/2,v+r1/2,x+k1/2);
k3=dt*fv(t+dt/2,v+r2/2,x+k2/2);
r3=dt*fg(t+dt/2,v+r2/2,x+k2/2);
k4=dt*fv(t+dt,v+r3,x+k3);
r4=dt*fg(t+dt,v+r3,x+k3);
k=(k1+2*k2+2*k3+k4)/6;
r=(r1+2*r2+2*r3+r4)/6;
x=x+k;
v=v+r;

16
t=t+dt;
xc(i)=x;xd(i)=v;
xt(i)=t;
end
plot(xt,xc,'r',xt,xd,'k');grid on;xlabel('t');
ylabel('x,v');title('Getaran teredam');
fprintf(' waktu=%8.3f\n',t);
fprintf(' X=%8.3f\n',x);
fprintf(' V=%8.3f\n',v);

Koding yang telah di input sebagai berikut:

5. Setelah selesai mengetik script program, simpanlah hasil kerja (work ) dengan

mengklik menu File kemudian Save pada kotak dialog M-File. Gantilah nama
file dari Untitled menjadi RungeKutta2 (tanpa spasi). Catatan : nama file
tidak boleh menggunakan spasi, jika menggunakan spasi maka file akan eror
jika dijalankan.
6. Pada work path klik Debug kemudian Run untuk menjalankan program.
7. Maka akan muncul pada Comman Window sebagai berikut:
>> PERSAMAAN DIFFERENSIAL ORDE 2 DENGAN METODE RUNGE KUTTA
ORDE 4
OLEH : KELOMPOK 1
NAMA : ANSELVINUS HALLAWA (NIM 8166175001)
NORA HAWARI DAULAY (NIM 8166175016)
SALWA DWI RATNA (NIM 8166175020)
KELAS : REG-A 2016 PROG.PASCA SARJANA

17
DOSEN PENGAMPU : Dr.Rita Juliani,M.Si
________________________________________________________

Nilai simpangan =

Gambar pada comman window:

8. Kemudian masukkan nilai simpangan = 10, nilai kecepatan awal = 0, lama


pengamatan = 15, jumlah segmen = 150. Setelah itu tekan Enter pada
keyboard, maka akan muncul nilai integral tersebut sebagai berikut.
>> PERSAMAAN DIFFERENSIAL ORDE 2 DENGAN METODE RUNGE KUTTA
ORDE 4
OLEH : KELOMPOK 1
NAMA : ANSELVINUS HALLAWA (NIM 8166175001)
NORA HAWARI DAULAY (NIM 8166175016)
SALWA DWI RATNA (NIM 8166175020)
KELAS : REG-A 2016 PROG.PASCA SARJANA
DOSEN PENGAMPU : Dr.Rita Juliani,M.Si
________________________________________________________

Nilai simpangan = 10
Nilai kecepatan awal = 0
Lama pengamatan = 15
Jumlah segmen = 150
waktu= 15.000
X= -0.066
V= -0.303
>>

18
Gambar pada Comman Window:

Gambar grafik pada Comman Window:

Melalui testing diatas disimpulkan bahwa dengan metode Euler


menggunakan segmen 400 sedangkan pada metode Runge Kutta menggunakan
jumlah segmen 150. Komputasi dengan metode Runge-Kutta lebih efektif dan
lebih akurat dibandingkan dengan metode Euler.

19
Penyelesaian Persamaan Diferensial orde 2 menggunakan fungsi standar
Matlab menyediakan beberapa fungsi standar untuk menyelesaikan
persamaan diferensial orde dua, maka harus dilakukan modifikasi sehingga
menjadi bentuk persamaan diferensial orde satu.
Perubahan bentuk persamaan diferensial orde dua ke satu
2 = ( . )
2 + ( , ) = ( , )
=dy
misal y = y; y2 dx;maka persamaan menjadi

+ ( , ) 2 + ( , ) = ( , )
Aplikasi 1

Penyelesaian persamaan diferensial orde 2 getaran teredam


Bentuk umum persamaan diferensial getaran teredam

= 2
+
2 + =0
2

2 =
Fungsi eksternal getaran teredam
%getaran teredam
%my+cy2+ky=0
Function dy/dt=getar(t,y);
m=1;c=0,5;k=2
dy/dt=[y(2);-c/m*y(2)-k/m*y(1)]

Koding
%getaran teredam
%my+cy2+ky=0
%nama file getar.m
[t,y]=ode45(getar,0,30,[5:0
y1=y(t,1);
y2=y(t,2);
plot(t,y1,t,y2);
grid on;
title(getaran teredam);
xlabel(t=waktu);
ylabel(y/v);
legend(y,v);

20
Hasil grafik pada comman window

Aplikasi 2
Penyelesaian persamaan diferensial orde 2 getaran paksa
Bentuk umum persamaan getaran paksa
2

= 2 + + = cos( )
2

2 = + cos( )
Fungsi eksternal getaran paksa
%getaran paksa
%my+cy2+ky=a cos wt
%nama file getar.m
Function dy/dt=getar(t,y);
m=1;c=0,5;k=2
dy/dt=[y(2);-c/m*y(2)-k/m*y(1)+2*cos(3*t)];

Koding
%getar paksa
%my+cy2+ky=0
%nama file getar.m
[t,y]=ode45(getar,0,30,[10:2

21
y1=y(t,1);
y2=y(t,2);
plot(t,y1,t,y2);
grid on;
title(getar paksa);
xlabel(t=waktu);
ylabel(y/v);
legend(y,v);

Hasil grafik pada comman window

Aplikasi 3
Penyelesaian persamaan diferensial orde 2 getaran Van Der Pol
2 )
2 + (1 2 + =0
2 )
2 = (1 2
0 < < 10
Fungsi eksternal getaran Van der Pol
%getaran Van der Pol
%y2=-m(1-y^2)y^2-5
%nama file getaran Van.m
Function dy/dt=getar(t,y);
m=1;c=0,5;k=2
dy/dt=[y(2);-c/m*(1-y(1)^2)*y(2)-y(1)];

22
Koding
%getar Van der Pol
%y2=-m(1-y^2)y^2-5
[t,y]=ode45(van,0,30,[2:0
y1=y(t,1);
y2=y(t,2);
plot(t,y1,k,t,y2,t);
grid on;
title(getaran Van Der Pol);
xlabel(t=waktu);
ylabel(y/v);
legend(y,v);

Hasil grafik pada comman window

2.2 Persamaan Diferensial Orde Dua (Buku Chapra)


2.2.1 Metode Klasik Orde keempat Runge-Kutta(RK

Metode RK yang paling populer adalah urutan keempat. Pada pendekatan


urutan kedua, ada versi jumlah tak terbatas. Berikut ini adalah bentuk paling

umum digunakan, dan karena itu kita menyebutnya metode klasik RK orde
keempat:

23
1
yi 1 yi k1 2k 2 2k 3 k4 h
6

Dimana

k f i
, yi
1 1
k2 f ti h, y i kh
2 2
1 1
k3 f i t ,hyi k2 h
2 2
k4 f i h, y i k3 h

Perhatikan bahwa untuk ODE (Operaional Diferential Parsial) yang


merupakan fungsi t saja, metode klasik RK orde keempat ini mirip dengan aturan

Simpson 1/3. Selain itu, metode RK orde keempat mirip dengan pendekatan Heun
dalam beberapa taksiran derajat kemiringan dikembangkan untuk menghasilkan
derajat kemiringan rata-rata yang lebih baik untuk interval tersebut. Seperti yang
digambarkan pada Gambar. 20,7, masing-masing k mewakili kemiringan.
Persamaan (20.44) kemudian menunjukkan rata-rata hitung untuk mencapai
kemiringan yang disesuai.

Pernyataan soal. Gunakan metode RK urutan keempat klasik untuk


diintegrasikan. Untuk kasus ini, kemiringan pada awal interval dihitung sebagai
0.8 t
y' e4 0.5 y dari t = 0 sampai t = 1 menggunakan step ukuran 1 dengan
y(0)=2.

24
8( 5)
k2 f ( 5 5) 4e 5( 5) .217299

Kemiringan ini pada gilirannya digunakan untuk menghitung nilai lain, dan

kemiringan lain pada titik tengah:

y( 5) 2 ( 5) 5
8( 5)
k3 f 5 . 108649 4e 5( .108649) .912974

Selanjutnya :

y 10 2 .912974 0) .912974
8 0)
k4 f 0 .912974 ) 4e 5( .912974) .945677

Akhirnya, Akhirnya, orde keempat dari setiap kemiringan digabungkan


untuk menghasilkan kemiringan rata-rata. Derajat kemiringan rata-rata ini
kemudian digunakan untuk membuat prediksi pada akhir interval.

1
2( .217299) 2( .912974) .945677 .201037
6
y 2 .201037 0) .201037

Yang lebih baik dibandingkan dengan solusi yang sebenarnya yaitu


6.194631(1=0.103%)

Tentunya dapat untuk mengembangkan metode RK orde kelima dan


lebih tinggi. Sebagai contoh, Butler (1964) metode RK urutan kelima ditulis
sebagai :

1
yi 1 y1 k
1
32 k3 12 k4 32 5 k7 6 k h
90

Dimana :

25
k f i , yi
1
k2 f ti h, y i k h
4

1 1 1
k3 f t h, y i kh k h2
4 8 8
1 1
k4 f ti h, y i k 2 h k 3h
2 2
3 3 9
k5 f t h, y i kh k h4
4 16 16
3 2 12 12 8
k6 f t i
h,y i
kh k 2h k h3 k h4 k h5
7 7 7 7 7

Dengan Aplikasi Matlab


clc;
clear all;
disp ( ' PERSAMAAN DIFFERENSIAL ORDE 2 ' );
disp ( ' OLEH : KELOMPOK 1 ' );
disp ( ' NAMA : ANSELVINUS HALLAWA (NIM 8166175001) ' );
disp ( ' NORA HAWARI DAULAY (NIM 8166175016) ' );
disp ( ' SALWA DWI RATNA (NIM 8166175020)' );
disp ( ' KELAS : REG-A 2016 PROG.PASCA SARJANA' );
disp ( ' DOSEN PENGAMPU : Dr.Rita Juliani,M.Si ' );
disp ('________________________________________________________');
disp (' ');
if nargin<4,error ('at least 4 input arguments required'),end
if any (diff(tspan)<=0), error('tspan not ascending order'), end
n = length(tspan);
ti=tspan(1);tf=tspan(n);
if n==2
t=(ti:h:tf)';n=length(t);
if t(n)<tf
t(n+1)=tf;
n=n+1;
end
else
t=tspan;
end
tt=ti;y(1,:)=y0;
np=1;tp(np)=tt;yp(np,:)=y(1,:);
i=1;
while(1)
tend=t(np+1);
hh=t(np+1)-t(np);
if hh>h,hh=h;end
while(1)
if tt+hh>tend,hh=tend-tt;end
k1=dydt(tt,y(i,:),varargin(:))';
ymid=y(i,:)+k1.*hh./2;
k2=dydt(tt+hh/2,ymid,varargin(:))';
ymid=y(i,:)+k2.*hh./2;
k3=dydt(tt+hh/2,ymid,varargin(:))';
yend=y(i,:)+k3.*hh;
k4=dydt(tt+hh,yend,varargin{:})';
phi=(k1+2*(k2+k3)+k4)/6;
y(i+1,:)=y(i,:)+phi*hh;
tt=tt+hh;
i=i+1;
if tt>=tend,break,end

26
end
np=np+1;tp(np)=tt;yp(np,:)=y(i,:);
if tt>=tf,break,end
end

Kode pada halaman selanjutnya


function [tp,Yp]=rk4sys(dydt,tspan,y0,h,vavargin)
%rk4sys:fourth-order Runge-Kutta for a system of ODEs
%[t,y]= rk4sys(dydt,tspan,y0,h,p1,p2,....): integrates
%a system of ODEs with fourth-order RK method
%input :
dydt=name of the M-file that evaluates the ODEs
%tspan = [ti,tf];initial and final times with output
%generated at interval of h, or
%={t0,t1.....tf]; spesific times where solution output
%y0=initial values of dependent variables
%h=step size
p1,p2,....=additional parameters used by dydt
%output
%tp=vector of independent variable
%yp=vector of solution for dependent variables
Dengan memasukkan persamaan fungsi pada function:

Maka:

2.2.1 Metode Euler


Semua metode yang dibahas dalam bab ini untuk persamaan tunggal dapat
diperluas ke sistem ODEs. Aplikasi teknik bisa melibatkan ribuan persamaan
simultan. Dalam setiap kasus, prosedur untuk memecahkan sistem persamaan

hanya melibatkan penerapan. Satu teknik untuk setiap persamaan pada setiap
langkah sebelum melanjutkan ke langkah berikutnya. Ini paling baik digambarkan
dengan contoh berikut untuk metode Euler.

27
2
x
r 1 xr
y(xr+1) = y(xr ) + r 1
y(xr ) + r
y(t), xr <t<xr+1
1! 2!

berdasarkan persamanan bentuk baku PDB orde orde satu maka y(xr ) = f(xr , yr ) dan xr+1
2
h
xr = h maka persamaan 2 dapat ditulis menjadi y(xr+1) y(xr )+hf(xr ,yr )+ y(t) dua
2

suku pertama persamaan di atas yaitu : y(xr+1) = y(xr ) + hf(xr , yr ) ; r = 0, 1, 2,,n atau
dapat ditulis

yr+1 = yr + hf r yang merupakan metode Euler.

Metode Euler mempunyai ketelitian yang rendah karena galatnya besar


(sebanding dengan h). buruknya galat ini dapat dikurangi dengan menggunakan
metode Heun, yang merupakan perbaikan metode Euler (modifified Eulers

method ). Pada metode Heun , solusi dari metode Euler dijadikan sebagai solusi
perkiraan awal (prediktor), selanjutnya solusi perkiraan awal diperbaiki dengan
metode Heun (Corrector).

Metode Heun diturunkan sebagai berikut:

Pandang PDB orde Satu

y 'x fxyx

Integrasikan kedua ruas persamaan dari xr sampai xr+1 :

xr1 xr1
'
f x y x dx ( ) y x dx
r xr

= y(xr+1)-y(xr )

= yr+1-yr

Nyatakan yr+1 di ruas kiri dan suku-suku lainnya di ruas kanan:

xr 1

y 1 y ( , ( ))
xr

Suku yang mengandung integral di ruas kanan ,

28
xr 1

f x y x dx,
xr

dapat diselesaikan dengan kaidah trapezium menjadi


xr 1
h
f x y x dx [ ( , ) ( , fx
rr
yr r 1 1
xr
2
Sulihkan persamaan (p.7) ke dalam persamaan (p.8) , menghasilkan persamaan
h
yr r 1 y r
[ ( , )r r (, )]1 y 1
2

Yang nerupakan metode Heun , atau metode Euler-Cauchy yang diperbaiki.

2.3 Perbandingan Buku Chapra Dengan Buku Prof. Sahyar


Buku Chapra dan buku Prof. Sahyar masing-masing memiliki kelebihan dan
kekurangannya masing-masing. Pada buku Chapra sangat spesifik menjelaskan
konsep dasar dari metode Euler. Buku Chapra menjelaskan dari teori terlebih
dahulu kemudian diikuti dengan persamaan-persamaan dan terakhir disertai
dengan contoh secara analitik. Perbandingan antara hitungan analitik dan secara
Matlab juga disajikan dalam buku. Sementara kelemahannya adalah pada buku
Chapra satu contoh digunakan untuk semua materi pada metode Euler, sehingga
hanya terdapat satu contoh saja dalam buku Chapra.
Sementara itu pada buku Prof. Sahyar konsep dasar dari metode Euler
tidak begitu dijelasakan. Sementara itu contoh yang diberikan lebih banyak
dibandingkan dengan buku Chapra. Antara buku Chapra dan buku Prof. Sahyar
kedua-duanya menyajikan contoh langsung ke materi fisikanya, pada buku Chapra
contoh yang disajikan adalah mencari kecepatan benda yang jatuh bebas.
Sementara pada buku Prof. Sahyar contoh yang disajikan adalah materi gerak
jatuh benda pada fluida.
Pada buku Chapra secara eksplisit disebutkan bahwa metode Euler
merupakan metode orde satu. Metode Euler juga disebutkan sebagai metode yang

memiliki kekurangan yaitu kurang dapat menentukan solusi sebenarnya jika


diujikan untuk angka yang semakin besar sehingga dapat dibantu dengan metode
Hunt atau Rungge-Kutta. Sedangkan pada buku Sahyar tidak disebutkan secara

29
eksplisit maupun implisit bahwa metode Euler merupakan metode orde dua
sehingga memberikan kesulitan kepada pembaca untuk memahami kedua hal
tersebut.

Kelebihan Dan Kekurangan Dari Ke-2 Buku Yang Digunakan


1. Buku Steven Chapra

Kelebihan Kekurangan
Pada buku Chapra sangat spesifik Tidak secara jelas dikatakan bahwa
menjelaskan konsep dasar dari metode masalah diferensial orde dua juga dapat
runge kutta untuk diferensial orde 2. diselesaikan dengan metode euler.
Buku Chapra menjelaskan dari teori Untuk contoh-contoh soal kurang sudah
terlebih dahulu kemudian diikuti disertai secara analitis matematisnya
dengan persamaan-persamaan dan dan langsung dengan penyelesaian
terakhir disertai dengan contoh secara metode numerik menggunakan
numerik. MATLAB hanya dengan Koding yang
tidak dapat di uji cobakan.
Koding yang di muat dalam buku Koding yang di sajikan terlalu panjang
bukan Koding yang fleksibel dan dan rumit untuk dimengerti dan hanya
berlaku untuk berbagai persoalan dan ada Koding untuk metode runge kutta
berbagai bentuk persamaan, karna
syarat dalam Koding hanya untuk
syarat sesuai soal dan harus mengganti
terlebih dahulu pada functionnya
Hasil analitik metode numerik secara Dari penjelasan seolah-olah masalah
manual hampir mendekati hasil secara diferensiasi orde dua hanya dapat
MATLAB, hanya terdapat pada diselesaikan dengan metode runge
perbedaan angka dibelakang koma. kutta, dan tidak dapat dengan metode

euler.

2. Buku Prof. Sahyar

Kelebihan Kekurangan
Pada buku Sahyar sangat spesifik Secara jelas dikatakan bahwa masalah
menjelaskan konsep dasar dari metode diferensial orde dua dapat diselesaikan
Runge Kutta dan metode Euler untuk dengan metode euler dan metode
diferensial orde 2. Runge-Kutta.
Buku Sahyar menjelaskan dari teori Untuk contoh-contoh soal kurang
terlebih dahulu secara singkat lengkap secara analitis matematisnya
kemudian diikuti dengan persamaan- karena langsung dengan penyelesaian
persamaan dan terakhir disertai dengan metode numerik menggunakan
contoh secara numerik menggunakan MATLAB namun semua Koding dapat

30
MATLAB. diuji cobakan

Koding yang di sajikan cukup Koding yang di muat dalam buku

sederhana dan mudah untuk dimengerti bukan Koding yang fleksibel dan
dan ada Koding untuk metode Euler berlaku untuk berbagai persoalan dan
dan metode Runge Kutta sehingga berbagai bentuk persamaan, karna
dapat dibedakan perbedaan hasilnya. syarat dalam Koding hanya untuk
syarat sesuai soal dan harus mengganti
terlebih dahulu pada functionnya.
Tetapi semua Koding baik metode
Euler maupun metode Runge-Kutta
dapat di uji cobakan.
Hasil analitik metode numerik secara Untuk penjelasan teori penemuan
manual hampir mendekati hasil secara persamaan metode Euler dan metode

MATLAB, hanya terdapat pada Runge-Kutta kurang jelas di jabarkan


perbedaan angka dibelakang koma. misalnya perolehan persamaan metode
Runge-Kutta orde empat
Contoh langsung kepada contoh-contoh Tidak ada dijelaskan perbedaan
masalah fisika seperti gerak jatuh bebas persamaan untuk metode Euler dan
dan fluida. Kemudian dilengkapi juga metode Runge-Kutta yang digunakan
untuk tampilan bagaimana getran untuk difrensial orde satu dan yang
teredam dan getaran terpaksa untuk orde dua.

31
BAB III
PENUTUP

3.1 Kesimpulan
1. Melalui testing diatas disimpulkan bahwa dengan metode Euler
menggunakan segmen 400 sedangkan pada metode Runge Kutta
menggunakan jumlah segmen 150 menghasilkan keakuratan yang sama.
2. Menurut penulis, dapat disimpulkan bahwa metode Runge Kutta adalah
metode yang lebih akurat dibandingkan metode Euler dalam memberikan
solusi persamaan diferensial orde 2. Hal ini dapat dilihat dari hasil uji
testing program.

32
DAFTAR PUSTAKA
Chapra, Steven. 2002. Apllied Numeric Methods with MATLAB. New York : Mc
Graw Hill
Sahyar. 2013. Algoritma dan Pemrograman Mengunakan Matlab. Medan :
UNIMED Press

33

Anda mungkin juga menyukai