Modul Praktikum Pemodelan
Modul Praktikum Pemodelan
Materi:
A. Persamaan Differensial
Banyak masalah di dalam ilmu pengetahuan dan teknik menyangkut
pengkajian suatu sistem selama periode waktu tertentu. Kebanyakan masalah ini
dimodelkan dengan menggunakan suatu persamaan diferensial, dengan waktu
sebagai variabel bebas. Bidang kajian persamaan diferensial tidak hanya
merupakan salah satu bagian tercantik dalam matematika, namun juga merupakan
alat yang penting dalam memodelkan sebagai fenomena dan masalah dalam
bidang ilmu-ilmu fisika, kimia, biologi, ekonomi dan teknik.
1. Persamaan Differensial Linear Orde Satu
Untuk menyelesaikan persamaan diferensial orde satu, dapat diselesaikan dengan
memanfaatkan metode numerik (solusi numerik) diantaranya algoritma Euler dan
metode Runge-Kutta
Algoritma Euler:
Berikut ini adalah algoritma Euler untuk menyelesaikan persamaan differensial
orde satu.
ALGORITMA EULER:
%menghitung hampiran penyelesaian masalah nilai awal ′
= ( , )
dengan =[ , ]
INPUT: n, t0, b, y0 dan fungsi f
OUTPUT: (tk, yk), k=1,2,..., n
Langkah-langkah:
Hitung h=(b-t0)/n
FOR k=1,2,3,..,n
tk=tk-1+h
yk=yk-1+h*f(tk-1, yk-1)
Selesai
% ALGORITMA EULER
function [t,y]=pdbeuler(f,n,a,b,y0)
h=(b-a)/n;
t=[a];
y=[y0];
for k=2:n+1
t=[t; a+(k-1)*h];
y=[y; y(k-1)+h*f(t(k-1),y(k-1))];
end
Contoh:
Misalkan kita menghitung hampiran penyelesaian masalah nilai awal
−
pada interval [0,3]dengan (0) = 1
′
=
2
Dengan menggunakan fungsi yang telah dibuat di atas, dengan cara:
>> f=inline('(t-y)/2')
f=
Inline function:
f(t,y) = (t-y)/2
>> [t1,y1]=pdbeuler(f,10,0,3,1);
>> ye1=3*exp(-t1/2)-2+t1;
>> [t2,y2]=pdbeuler(f,20,0,3,1);
>> ye2=3*exp(-t2/2)-2+t2;
>> [t3,y3]=pdbeuler(f,50,0,3,1);
>> ye3=3*exp(-t3/2)-2+t3;
>> plot(t1,y1,'o',t2,y2,'+',t3,y3,'*')
1.7
1.6
1.5
1.4
1.3
1.2
1.1
0.9
0.8
0.7
0 0.5 1 1.5 2 2.5 3
Hitung = + ( + )
Selesai
Penyelesaian:
Rumus iterasi Heun untuk hampiran solusi PD tersebut adalah
( − )
− − −
= + + 2
2 2 2
+ − 2.
KODE MATLAB:
clc;
clear all;
h1=1;
h2=1/2;
h3=1/4;
h4=1/8;
tn=3;
t0=0;
y0=1;
yh1=[t0,y0];
yh2=yh1;
yh3=yh1;
yh4=yh1;
for k=1:tn/h1, %perhitungan untuk h1
t=t0+h1;
y=y0+h1/2+((t0-y0)+(t-y0-h2+(t0-y0)/2)/2);
t0=t; yh1=[yh1; t y]; y0=y;
end
yh1
for k=1:tn/h2, %perhitungan untuk h2
t=t0+h2;
y=y0+h2/2+((t0-y0)+(t-y0-h2+(t0-y0)/2)/2);
t0=t; yh2=[yh2; t y]; y0=y;
end
yh2
for k=1:tn/h3, %perhitungan untuk h3
t=t0+h3;
y=y0+h3/2+((t0-y0)+(t-y0-h3+(t0-y0)/2)/2);
t0=t; yh3=[yh3; t y]; y0=y;
end
yh3
for k=1:tn/h4, %perhitungan untuk h4
t=t0+h4;
y=y0+h4/2+((t0-y0)/+(t-y0-h4+(t0-y0)/2)/2);
t0=t; yh4=[yh4; t y]; y0=y;
end
yh4
Tugas
Carilah hampiran penyelesaian persamaan differensial berikut ini dengan
menggunakan algoritma Euler dan Metode Heun.
1. ′
= , dengan y(0) = 0
2. ′
=1+ dengan y(0) = 0
3. ′
=− dengan (0) = 1
Selain menggunakan algoritma Euler dan algoritma Heun, kita juga dapat
memanfaatkan fungsi di command window, “dsolve”.
Sintaks:
a. ′
= , dengan y(0) = 0
b. ′
= 1+ dengan y(0) = 0
c. ′
=− dengan (0) = 1
Penggunaan dsolve:
Contoh:
Penyelesaian:
function dy=eq1(t,y)
dy=-2*t.*y(1).^2; %y'=-2ty^2
Simpan dengan nama eq1.m
Clc
clear all
format long
tspan=[0 .25 .5 .75 1];
y0=1
[t1 y1]=ode23('eq1',tspan,y0);
[t2 y2]=ode45('eq1',tspan,y0);
[t1 y1 y2]
0 1.000000000000000 1.000000000000000
0.250000000000000 0.941182215257514 0.941176467656496
0.500000000000000 0.800022805971222 0.799999996783799
0.750000000000000 0.640017884104867 0.639999987757363
1.000000000000000 0.499996585223659 0.500000004711942
( )
= sin( ) − 2 ( )+2 ( )= ( , , )
Dengan syarat awal (0) = −0.4, (0) = −0.6. selanjutnya kita selesaikan
persamaan diferensial ini dengan menggunakan metode Runge-Kutta Orde dua.
Kode Matlab:
function yp=pd2(t,y)
yp=[y(2);exp(2*t)-2*y(1)+2*y(2)];
Simpan dengan nama pd2.m. Selanjutnya, untuk file ke dua ketikkan kode matlab
beikut dalam M-File,
clc
clear all
format long
tspan=[0 3];
y0=[-0.4 -0.6];
[t1 y1]=ode23('pd2',tspan,y0)
0 -0.004000000000000 -0.006000000000000
0.000533333333333 -0.004310340445106 -0.005614436634718
0.001592604939803 -0.004847027902894 -0.004402421890258
0.002573212090234 -0.005197816997340 -0.002625962743380
0.003250841713686 -0.005321202530907 -0.000944400205033
0.003752277517809 -0.005331428721129 0.000580499774471
0.004253713321931 -0.005258553298970 0.002375176610798
⋮ ⋮ ⋮
0
x
-1
-2
-3
-4
-2 0 2 4 6 8 10
t
Setelah muncul gambar, selanjutnya pada menu option pilih keyword input,
Isikan 0 pada the initial value of t, dan 1 untuk initial value of x. Klik compute,
maka akan menghasilkan.
x ' = x2 - t
0
x
-1
-2
-3
-4
-2 0 2 4 6 8 10
t
Maka gambar di atas merupakan solusi dari persamaan diferensial x’=x2-t dengan
nilai awal x(0)=1. Seperti pada bagian sebelumnya, bahwa suatu persamaan
disferensial dapat diselesaikan dengan menggunakan algoritma Euler atau
menggunakan dsolve.
Contoh 1.
Diberikan tegangan y pada kapasitor sirkuit RC yang dimodelkan dengan
persamaan diferensial
’+ = 3+ ,
dengan x adalah variable bebas yang dinyatakan dalam waktu. Dengan
mengguakan dfield8, plot tegangan pada interval 0 ≤ ≤ 20, dengan
mengasumsikan bahwa nilai awal y(0)=1.
Jalankan ulang dfield8. Atau tuliskan pada prompt matlab dfield8, maka akan
muncul gambar berikut ini,
Isikan pada the differensial equation y’=3+cos(x)-y, kemudian klik procced.
Masukkan 0 ke box the manimum value of x dan 20 ke box the maximum value
of x 20, untuk nilai maximum dan minimum y tetap yaitu -4 dan 4, maka Hasilnya
seperti gambar berikut ini
Selanjutnya, untuk nilai awal yang diberikan yaitu y(0)=1, klik option, dan pilih
keyboard input
Dengan mengisikan initial value of x dengan nol dan initial value of y dengan 1,
klik compute maka akan menghasilkan gambar berikut ini.
Tugas
1. Dengan menggunakan dfield8, gambarlah solusi dari PD
= , (0) = 1
Atur display window dengan sehingga −2 ≤ ≤ 3 dan −4 ≤ ≤4
2. Sketsa gambar dari PD
= −
Dengan nilai awal (2) = 0, (3) = 0 dan (4) = 0, tentukan apakan solusi
kurva saling berpotongan atau tidak dengan −2 ≤ ≤ 10 dan −4 ≤ ≤ 4,
PRAKTIKUM IV
TEORI MATRIKS DAN PPLANE8
Tujuan: Menyelesaikan system persamaan differensial dalam bentuk matriks
Materi:
A. MATRIKS
Metode matriks merupakan salah satu metode untuk menyelesaikan persamaan
differensial linear terkhusus pada pada persamaan differensial linear koefisien
konstant. Misalkan diberikan persamaan differensial linear homogen dengan dua
persamaan orde satu koefisien konstan.
= +
= +
Dimana
= dan =
( )
=
( )
=2 +3
=1 +4
2 3 1
A , X (0) adalah nilai awal.
1 4 3
A = [1 2;3 4]
A=
1 2
3 4
>> X0 = [1 ; -3];
>> X0
X0 =
-3
>> lam=eig(A)
lam =
-0.3723
5.3723
Step 4. Carilah vektor karakteristik yang terkait dengan nilai akar karakteristik
yang pertama
Catatan : eye(2) : adalah perintah pada MATLAB untuk membuat matriks
1 0
identitas
0 1
Step 4a. Carilah terlebih dahulu matrik yang dibentuk , sebut sebagai :
A1 A 1 I . Yaitu
>> A1=A-lam(1)*eye(2)
A1 =
1.3723 2.0000
3.0000 4.3723
>>v=null(A1)
v=
-0.8246
0.5658
Step 4c. Carilah terlebih dahulu matrik yang dibentuk untuk 2 , sebut
sebagai :
A2 A 2 I . Yaitu
>> A2=A-lam(2)*eye(2)
A2 =
-4.3723 2.0000
3.0000 -1.3723
>>w=null(A2)
w=
0.4160
0.9094
Step 5. Cari koefisien yaitu dengan menyusun matriks c v w
Yaitu
>> c=[v w]
c=
-0.8246 0.4160
0.5658 0.9094
Jadi dapat dicari dengan perintah
>> alpha=inv(A)*X0
alpha =
-2.1897
-1.9366
Jika ditulis atas elemen-elemennya maka penyelesaian pada
persamaan (1) dapat ditulis sebagai
X 1e1t v 2e2t w . (2)
x v w
1e1t 1 2e2 t 1 .
y v2 w2
Jadi
Pada MATLAB, x(t) dan y(t) harus didefinisikan terlebih dahulu. Hal ini
dapat ditulis sebagai
>> xt=alpha(1)*exp(lam(1)*t)*v(1) +
alpha(2)*exp(lam(2)*t)*w(1)
>> yt=alpha(1)*exp(lam(1)*t)*v(2) +
alpha(2)*exp(lam(2)*t)*w(2)
>> t=linspace(0,1,100)
>> plot(t,xt,'o',t,yt,'.-')
TUGAS :
1. Gunakan tahapan di atas untuk mencari penyelesaian dari
dX
persamaan diferensial CX dengan
dt
10 2.7 10 2.7
a. C b. C
4.32 1.6 4.32 1.6
1 2 2 2
c. C d. C
4.76 1.5 4 1
1
Nilai awal untuk keempat soal di atas X 0 .
2
B. PPLANE8
PPLANE8 merupakan suatu program yang digunakan khusus untuk
menggambar system persamaan differensial orde satu dengan lebih dari
satu system persamaan differensial.
File PPLANE bisa di download di internet. Setelah download, selanjutnya
simpan di directory MATLAB. Selanjutnya, ketik di command window
pplane8. Maka akan muncul gambar seperti berikut,
The differential equation, terdapat dua textbox yang harus diisi dengan
persamaan differensial, pada bagian display window terdapat empat
bagian text box, yang berisi tentang nilai minimum dan maximum dari x
dan y, sedangkan the direction field, berkenaan dengan arah medan vektor,
dengan memilih salah satu type button.
Contoh:
Tinjau system persamaan differensial
= −2
=3 −4
-1
y
-2
-3
-4
-2 -1 0 1 2 3 4
x
Selanjutnya pada menu solution pilih find an equilibrium point, dan klik
pada gambar, maka akan muncul nilai Jacobian dan nilai eigen dan vektor
eigen seperti gambar berikut,
Pilih Go away. Selanjutnya, klik berulang kali pada gambar solusi PD,
seperti berikut ini,
x '=x -2y
y '=3x -4y
-1
y
-2
-3
-4
-2 -1 0 1 2 3 4
x
1. =−
= −2
2. =2
=
PRAKTIKUM V
SISTEM PEGAS
k
m
= ( ∗ ) (1)
Dimana adalah jumlah vektor semua gaya yang digunakan untuk titik massa
yang mempunyai massa m. Jika diasumsikan bawa massa m adalah konstant,
maka
= = ∗ (2)
= = (3)
Sedangkan jika diasumsikan bahwa tidak ada gaya luar yang bekerja, gaya yang
bekerja pada massa m hanya gaya pegas. Gay pegas ini hanya bergantung pada
elastisitas pegas yang dinyatakan secara linear oleh posisi massa terhadap posisi
setimbang. Hal ini ini dapat didekati secara linear dengan hukum Hooke yaitu,
=− (4)
Dengan k adalah konstanta pegas dan x adalah posisi massa terhadap posisi
setimbang. Berdasarkan hukum newton dan hukum Hooke, kita mendapatkan
hubungan yaitu
+ =0 (4)
(2)′ = − ∗ (1)
simpan dengan nama pegas.m. selanjtunya, ketikkan script berikut ini dan simpan
dengan nama solusi_spegas.m
clc;
clear all;
tspan=[0 4];
y0=[0.02;0];
[t1,y1]=ode45('pegas',tspan,y0);
set(plot(t1,y1(:,1),'color','red'));
hold on;
PERTEMUAN VI
PENDULUM
Materi:
Dengan menggunakan pplane8, kita akan melakukan analisis bidang fase untuk
mengilustrasikan pergerakan pendulum. Persamaan differensial untuk pergerakan
(motion) pendulum adalah
=− sin( ) −
= − sin( ) −
Dimana
= dan =
Maka diperoleh
= =
= = − sin( ) − = − sin( ) −
Atau
=
= sin( ) −
Dari persamaan ini, selanjutnya, kita menggunakan pplane8 untuk mengetahui
pergerakan pendulum.
Pada command window, ketikkan pplane8 pada command window seperti berikut
ini
>> pplane8
Maka akan muncul gambar berikut
Selnjutnya, dan
Isikan persamaan untuk ’ = dan = sin( ) − , seperti gambar berikut ini,
0
y
-1
-2
-3
-4
-10 -8 -6 -4 -2 0 2 4 6 8 10
x
Nilai a=0 selanjutnya akan berubah menjadi bilangan bulat positif, perhatikan
bidan phase pendulum. Selanjutnya, memasukkan nilai awal, dengan cara option-
mark initial point dan solution-keyboard input, maka akan muncul gambar
berikut,
0
y
-1
-2
-3
-4
-10 -8 -6 -4 -2 0 2 4 6 8 10
x
PERTEMUAN VII
MODEL PERTUMBUHAN SATU POPULASI
Materi:
1. Laju pertumbuhan Eksponensial
( +∆ )− ( ) 1
( ) = lim =
∆ → ( )∆
Atau
= ( )
Contoh:
Pertimabangkan laju pertumbuhan suatu populasi yang mengikuti model di atas,
dengan = 0.4 dengan berbagai nilai awal (0) = 1, 5, 20 40.
Penyelesaian,
Dengan menggunakan dfiled8, kita akan mempertimbangkan laju perumbuhan di
atas,
Ketikkan pada command window dfield8,
>>dfiled8
Selanjtunya akan muncul gambar berikut,
Masukkan pada persamaan x’=r*x dan pada parameter r=0.4 seperti bambar
berikut ini,
Klik proceed.
Selanjutnya, input nilai awal dengan cara klik solution-keyboard input, masukkan
nilai awal t=0,x=1,t=0,=5…t=0,x=40. Hasilnya seperti beriokut ini.
2. Laju Pertumbuhan Pemanenan Constant
Dengan anggapan bahwa populasi yang ditinjau bernilai ekonomi, sebagai
contoh populasi ikan, diasumsikan bahwa populasi di panen dengan laju
pemanenan konstan, yaitu laju tangkapan constant setiap waktu. Sengan
asumsi ini maka laju perubahan satu populasi menjadi,
= −
( )= − + ,
Contoh:
Pertimbangkan laju pertumbuhan berdasarkan model di atas, dengan
= 0.05 dan = 4 dan = 50, 75, 80 dan 85.
Dengan menggunakan Matlab, dfield8 yaitu,