tp.tk.02.04_azis

11

Click here to load reader

Upload: api-3833669

Post on 07-Jun-2015

540 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: TP.TK.02.04_Azis

Solusi Ordinary Differential Equation (ODE) dengan Metode Numerik

Oleh : Azis Kurniawan

1

Penyelesaian Permasalahan Pada Ordinary Differential Equation

(ODE) Dengan Menggunakan Metode Numerik

Oleh : Azis Kurniawan (0302100558)

Tingkat III Teknik Kripto

Sekolah Tinggi Sandi Negara

I. Pendahuluan

Banyak masalah dalam ilmu pengetahuan dan teknik yang menyangkut

pengkajian dalam suatu periode waktu tertentu. Sebagian besar

permasalahan ini dimodelkan dalam suatu persamaan differensial, dengan

waktu sebagai variabel bebas. Persamaan differensial bukan hanya suatu

permasalahan matematika saja, tetapi merupakan permasalahan di

berbagai bidang pengetahuan yang lain, seperti fisika, biologi, kimia,

astronomi, elektonika, dan lain sebagainya. Tentunya akan lebih kompleks

dan sulit untuk dicari solusi eksaknya. Dalam paper ini akan dibahas

mengenai suatu permasalahan di bidang fisika-kimia, yaitu mengenai

peluruhan unsur radioaktif.

PDB Orde Satu

Bentuk baku PDB orde satu dengan nilai awal ditulis sebagai

y’ = f(x,y)

dengan nilai awal y(x0) = y

penyelesaian PDB secara numeric berarti menghitung nilai fungsi di xr+1 =

xr + h, dengan h adalah ukuran langkah setiap iterasi. Pada metode

analitik, nilai awal berfungsi untuk memperoleh solusi yang unik,

sedangkan pada metode numerik nilai awal (initial value) berfungsi untu

memulai iterasi. Terdapat beberapa metode numerik untuk menghitung

solusi PDB, mulai dari yang paling dasar sampai dengan metode yang

lebih teliti, yaitu :

1. Metode Euler

Page 2: TP.TK.02.04_Azis

Solusi Ordinary Differential Equation (ODE) dengan Metode Numerik

Oleh : Azis Kurniawan

2

2. Metode Heun

3. Metode Deret Taylor

4. Metode Runge-Kutta

5. Metode predictor-corrector, dsb.

II. Permasalahan

Suatu unsur radioaktif, akan mengalami peluruhan inti, karena pada

dasarnya unsur tersebut tidak stabil dan akan memancarkan radiasi.

Radiasi tersebut merupakan pancaran energi dari unsur tersebut dan lama-

kelamaan unsur tersebut akan meluruh seiring berjalannya waktu.

Misalnya ada suatu permasalahan :

Asumsikan rata-rata peluruhan inti sebuah radioaktif sesuai dengan nilai

dimana inti tersebut meluruh. Dengan sampel tertentu 10 % nilai asli dari

inti radioaktif yang telah meluruh, pecah dalam periode 100 tahun.

Dari pernyataan diatas memiliki permasalahan :

a. Berapa persentasi dari inti radioaktif yang tersisa setelah 1000

tahun?

b. Dalam berapa tahun akan diperoleh ¼ dari nilai yang tersisa?

III. Penyelesaian

a. Solusi Eksak (Analitik)

Jika x dinotasikan sebagai jumlah dari kuantitas yang ada pada saat waktu

ke t, maka dx

dt dinotasikan rata-rata dari jumlah perubahan dan kita

mendapatkan suatu persamaan differential.

Ambil x sebagai jumlah dari inti radioaktif yang ditunjukkan setelah t

tahun. Maka dx/dt representasi dari rata-rata peluruhan inti. Karena

peluruhan inti proporsional, kita mendapatkan

Page 3: TP.TK.02.04_Azis

Solusi Ordinary Differential Equation (ODE) dengan Metode Numerik

Oleh : Azis Kurniawan

3

dxKx

dt= (1)

Dimana K adalah konstanta proportionality. Besar x sudah jelas positif,

tetapi x menurun, dx/dt < 0. Dengan, melihat persamaan (1), kita harus

mendapatkan K < 0. Dengan x menurun, kita lebih mudah bila

menggantikan K dengan konstanta positif dengan cara mengalikannya

dengan tanda minus. Maka kita akan mendapatkan k = -K > 0 dan dari

bentuk ini kita dapat persamaan

dxkx

dt= − (2)

Ambil x0 untuk menotasikan besar awal, kita dapat memakai kondisi

x(0) = x0 (3)

kita tahu bahwa kita membutuhkan seperti ini untuk menentukan konstanta

dalam menyelesaikan persamaan differential orde satu (2). Akan tetapi

dalam menyelesaikannnya kita membutuhkan konstanta yang lain yaitu k.

Hal ini merupakan salah satu dari “persoalan yang lain” dari permasalahan

tersebut, yang kita ketahui adalah sepersepuluh dari jumlah yang

sebenarnnya (awal), akan meluruh dalam waktu 100 tahun. Maka dalam

kondisi tersebut, memberikan kita persamaan

x(100) = 9/10 x0 (4)

Solusi Persamaan differential (2) diselesaikan terlebih dahulu dengan

memisahkan variabel, mengintegralkan, dan disederhanakan, sehingga kita

mendapatkan

x = ce-kt

dengan melihat persamaan (3), x = x0 dimana t = 0, kita temukan bahwa c

= x0 dan kita mendapatkan

x = x0e-kt (5)

sampai saat ini kita belum mendapatkan k. Kemudian kita mengacu pada

persamaan (4), x = 9/10 x0 saat t = 100, untuk persamaan (5). Kita

mendapatkan

Page 4: TP.TK.02.04_Azis

Solusi Ordinary Differential Equation (ODE) dengan Metode Numerik

Oleh : Azis Kurniawan

4

100

0 0

9

10

kx x e−=

Atau

100 9( )

10

ke− =

Kemudian

11009

10

ke− =

Dari sini kita mendapatkan

9ln10 0.0011100

k = − ≈

Maka persamaan menjadi

x = x0e-0.0011t

(6)

sebenarnya disini kita tidak membutuhkan k, tetapi hanya e-k, maka kita

akan mendapatkan

1/100

0

9

10x x

=

Dan sekarang substitusikan dengan (5) untuk mendapatkan

( ) ( )1100

90 0 10

tt

kx x e x− = =

Atau

( )9 1000 10

t

x x= (7)

Kita gunakan persamaan terasebut untuk menyelesaikan permasalahan

diatas.

Pertanyaan 1 menanyakan tentang berapa persentase yang tersisa setelah

1000 tahun dibandingkan dengan pada saat awal. Kita menggunakan t =

1000 dalam persamaan (7) dan menemukan

( )1090 10

0,34867x x= =

Page 5: TP.TK.02.04_Azis

Solusi Ordinary Differential Equation (ODE) dengan Metode Numerik

Oleh : Azis Kurniawan

5

Sehingga jumlah yang tersisa yaitu 34,867 % dari jumlah awal yang ada

setelah 1000 tahun. Pertanyaan kedua adalah berapa waktu yang

dibutuhkan hingga jumlah yang tersisa adalah seperempat dari jumlah

awalnya. Kita akan menggunakan persamaan 104

x x= pada persamaan (7)

dan mendapatkan penyelesaian untuk t,

( )91 1004 10

t

=

Dengan menggunakan logoritma, kita mendapatkan

1001 9 9ln ln ln

4 10 100 10

t

t = =

Dari sini kita dapatkan bahwa

14

910

ln

100 ln

t=

Atau

14

910

100ln1315,8

lnt = ≈ (tahun)

b. Solusi Numerik

Dengan metode numerik, dapat dicari dengan beberapa metode, pada

paper ini dijelaskan dengan metode euler, heun, dan taylor. Untuk lebih

lanjutnya dibuat fungsinya dengan MATLAB yaitu :

Fungsi pada MATLAB untuk mencari rate problem :

Euler4pdb.m : function [t,y] = euler4pdb(f,n,a,b,y0)

% fungsi euler4pdb.m (metode Euler untuk MNA):

% menghitung hampiran penyelesaian masalah nilai awal

% y' = f(t,y), y(0)=y0 pada [a, b]

% menggunakan n langkah dengan lebar langkah (b-a)/n

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

Page 6: TP.TK.02.04_Azis

Solusi Ordinary Differential Equation (ODE) dengan Metode Numerik

Oleh : Azis Kurniawan

6

Eulertime4pdb.m :

function [t,y] = eulertime4pdb(f,n,a,b,y0,d)

% fungsi euler4pdb.m (metode Euler untuk MNA):

% menghitung hampiran penyelesaian masalah nilai awal

% y' = f(t,y), y(0)=y0 pada [a, b]

% menggunakan n langkah dengan lebar langkah (b-a)/n

h=(b-a)/n;

t=[a];y=[y0];

for k=2:n+1,

if y(k) <= d

break;

end

t=[t; a+(k-1)*h];

y=[y; y(k-1)+h*f(t(k-1),y(k-1))];

end

Heun4pdb.m :

function [t,y] = heun4pdb(f,t0,b,y0,h)

% fungsi heun4pdb.m (metode HeUN untuk

PDB):(f,t0,b,y0,h)

% menghitung hampiran penyelesaian masalah nilai awal

% y' = f(t,y), y(0)=y0 pada [t0, b]

% menggunakan h langkah dengan lebar langkah (b-t0)/n

n=(b-t0)/h;

t=[t0];y=[y0];

for k=2:n+1,

t=[t; t(k-1)+h];

s1=[f(t(k-1),y(k-1))];

s2=[f(t(k),y(k-1)+h*s1)];

y=[y;y(k-1)+h/2*(s1+s2)];

end

Heuntime4pdb.m :

function [t,y] = heuntime4pdb(f,t0,b,y0,h,d)

% fungsi heun4pdb.m (metode HeUN untuk

PDB):(f,t0,b,y0,h)

% menghitung hampiran penyelesaian masalah nilai awal

% y' = f(t,y), y(0)=y0 pada [t0, b]

% menggunakan h langkah dengan lebar langkah (b-t0)/n

n=(b-t0)/h;

t=[t0];y=[y0];

for k=2:n+1,

if y(k) <= d

break;

end

t=[t; t(k-1)+h];

s1=[f(t(k-1),y(k-1))];

s2=[f(t(k),y(k-1)+h*s1)];

Page 7: TP.TK.02.04_Azis

Solusi Ordinary Differential Equation (ODE) dengan Metode Numerik

Oleh : Azis Kurniawan

7

y=[y;y(k-1)+h/2*(s1+s2)];

end

Tailor4pdb.m :

%program untuk mencari solusi permasalahan a dengan

metode tailor

function [j,m]=tailor(x0,t0,k,b,h);

format long

%k = konstanta

n=(b-t0)/h;

t=t0;

x=x0;

j=[];m=[];

for r=1:n

x=x+(h*k*x*exp(k*t))+(h^2/2*(k)^2*x*exp(k*t))+(h^3/6*(

k)^3*x*exp(k*t))+(h^4/24*(k)^4*x*exp(k*t));

j=[j;t0+r*h];

m=[m;x];

end

Tailortime4pdb.m :

%program untuk mencari solusi permasalahan a dengan

metode tailor

function [j,m]=tailortime(x0,t0,k,b,h,d);

format long

%k = konstanta

n=(b-t0)/h;

t=t0;

x=x0;

j=[];m=[x0];

for r=1:n

if m(r) <= d

break;

end

x=x+(h*k*x*exp(k*t))+(h^2/2*(k)^2*x*exp(k*t))+(h^3/6*(

k)^3*x*exp(k*t))+(h^4/24*(k)^4*x*exp(k*t));

j=[j;t0+r*h];

m=[m;x];

end

perintah pada MATLAB untuk mencari solusi permasalahan rate-problem

tersebut :

Page 8: TP.TK.02.04_Azis

Solusi Ordinary Differential Equation (ODE) dengan Metode Numerik

Oleh : Azis Kurniawan

8

>> [t1,y1]=euler4pdb(f,10,0,1000,1);

>> [t2,y2]=heun4pdb(f,0,1000,1,100);

>> [t3,y3]=tailor4pdb(1,0,-0.0011,1000,1);

>> ye1=1*exp(-0.0011*t1);

>> plot(t1,y1,t2,y2,t3,y3,t1,ye1);

>> p=legend('euler','heun','taylor','eksak');

Tabel berikut menunjukkan hasil dari fungsi diatas :

Tabel 1. Perbandingan Metode Numerik Untuk Penyelesaian PDB

tahun euler heun taylor eksak

0 1 1 1 1

100 0.89 0.89605 0.89583 0.89583

200 0.7921 0.80291 0.80252 0.80252

300 0.70497 0.71944 0.71892 0.71892

400 0.62742 0.64466 0.64404 0.64404

500 0.55841 0.57765 0.57695 0.57695

600 0.49698 0.5176 0.51685 0.51685

700 0.44231 0.46379 0.46301 0.46301

800 0.39366 0.41558 0.41478 0.41478

900 0.35036 0.37238 0.37158 0.37158

1000 0.31182 0.33367 0.33287 0.33287

Jawaban soal :

a. Euler 10 iterasi = 31,18 %, heun 10 iterasi = 33,37%, taylor 10

iterasi = 33,2 %

b. 1261 tahun

Jawaban b bila dibandingkan dengan metode analitik berbeda 54

tahun, jawaban tersebut sama untuk tiga metode diatas.

Jawaban tersebut berbeda-beda untuk setiap metode yang digunakan,

bergantung pada jumlah iterasi, dsb.

Adapun galat yang dihasilkan oleh metode-metode tersebut adalah :

Tabel 2. Galat Pada Metode Numerik dalam Solusi PDB

euler heun taylor

0 0 0

0.00583 0.00022 0

0.01042 0.00039 0

0.01395 0.00052 0

0.01662 0.00062 0

0.01854 0.0007 0

Page 9: TP.TK.02.04_Azis

Solusi Ordinary Differential Equation (ODE) dengan Metode Numerik

Oleh : Azis Kurniawan

9

0.01987 0.00075 0

0.0207 0.00078 0

0.02112 0.0008 0

0.02122 0.0008 0

0.02105 0.0008 0

Adapun grafik yang dihasilkan dalam pencarian solusi tersebut adalah

sebagai berikut

Gambar 1. Perbandingan metode numerik dalam penyelesaian PDB

IV. Analisis

Pada permasalahan ini dapat diselesaikan dengan metode analitik. Pada

dasarnya metode numerik digunakan untuk menyelesaikan masalah yang

tidak dapat diselesaikan dengan metode analitik [1], akan tetapi, bukan

berarti metode numerik tidak dapat digunakan untuk menyelesaikan

permasalahan yang dapat diselesaikan dengan menggunakan metode

analitik.

Dengan tiga metode yang dipergunakan diatas, terlihat metode yang paling

baik digunakan untuk menyelesaikan permasalahan tersebut ialah metode

Page 10: TP.TK.02.04_Azis

Solusi Ordinary Differential Equation (ODE) dengan Metode Numerik

Oleh : Azis Kurniawan

10

Taylor, karena dapat dilihat galatnya hampir mendekati 0 (nol), pada tabel

diatas ketelitiannya tidak mencukupi untuk memperlihatkan galatnya,

sehingga galat pada metode Taylor dianggap nol, tetapi bila dilihat pada

grafik diatas, pada metode inipun grafiknya hampir berhimpit dengan

solusi eksaknya, namun masih tidak dapat dikatakan berhimpit.

Metode terbaik kedua ialah dengan menggunakan metode Heun, nilai

errornya pun masih dapat ditolerir karena cukup kecil, pada grafik heun

bernilai lebih tinggi daripada dua metode lainnya maupun nilai solusi

eksaknya. Metode ini masih lebih baik daripada metode Euler, karena pada

dasarnya metode ini merupakan perbaikan dari metode Euler [1].

Metode Euler merupakan metode yang paling mudah dan cepat untuk

menyelesaikan permasalahan tersebut, tingkat ketelitiannya bergantung

pada jumlah iterasi yang kita lakukan, makin banyak iterasinya, makin

akurat.

Sebenarnya jumlah iterasi tersebut (lebar langkah) berlaku umum untuk

setiap metode numerik, makin banyak iterasi, maka makin teliti. Sebagai

contoh pada kasus diatas, pada tabel 1 ditunjukkan penyelesaian dengan

metode Euler dengan 10 iterasi adalah 31,182 %, namun dengan

meningkatkan iterasinya menjadi 10 kali lipat akan mendapatkan hasil

33,085 %, ketelitiannya meningkat dari nilai error 0.02105 menjadi nilai

errornya 0.00202 (meningkat 10 kali lipat).

Untuk jawaban soal b, tidak ada satu metode pun yang dapat mendekati

jawaban eksaknya untuk hingga iterasi 1000 kali. Semua jawaban dengan

semua metode tersebut adalah 1261 tahun. Hal ini mungkin disebabkan

oleh kurang tepatnya nilai yang dihasilkan dari proses penghitungan

sehingga mempengaruhi penghitungan berikutnya.

Page 11: TP.TK.02.04_Azis

Solusi Ordinary Differential Equation (ODE) dengan Metode Numerik

Oleh : Azis Kurniawan

11

V. Kesimpulan

Ada beberapa kesimpulan yang dapat diambil yaitu :

1. Metode yang paling baik adalah metode Taylor, diikuti oleh metode

Heun dan yang terakhir adalah Euler,

2. Makin banyak iterasi yang kita lakukan, maka akan makin tepat

jawaban yang didapatkan (solusinya mendekati solusi eksaknya). Hal

ini berlaku untuk semua jenis metode.

3. dalam mencari solusi untuk persamaan differensial biasa, sebaiknya

digunakan metode analitik terlebih dahulu, bila tidak dapat dilakukan

maka gunakan metode numerik dengan iterasi sebanyak mungkin.

4. Nilai error (galat) akan semakin bertambah seiring dengan banyaknya

iterasi yang kita lakukan dan semakin jauh range antara nilai awal

dengan nilai akhir. Akan tetapi, makin banyak iterasi yang dilakukan

akan memperkecil galat yang terjadi.

VI. Referensi

[1] Munir, Rinaldi, Metode Numerik, Penerbit Informatika Bandung,

Bandung : 2003.

[2] Sahid M.Sc., Drs., Pengantar Komputasi Numerik dengan MATLAB,

Penerbit Andi, Yogyakarta : 2005