bab5_masalah nilai awal persamaan diferensial biasa

Upload: sandy-radja

Post on 20-Feb-2018

298 views

Category:

Documents


11 download

TRANSCRIPT

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    1/38

    FisikaKomputasi i-FST Undana 164

    MASALAH NILAI AWAL

    PERSAMAAN DIFERENSIAL BIASA

    Pada bab ini dibahas tentang persamaan diferensial biasa, ordinary

    differential equations(ODE) yang diklasifikasikan kedalam masalah nilai awal

    (initial value) dan masalah nilai batas (boundary value), dimana kedua keadaan ini

    solusinya dispesifikasi pada waktu awal (initial time).Akan disajikan beberapa metode pendekatan komputasi numerik untuk

    menangani permasalahan yang berkaitan dengan persamaan diferensial biasa,

    dengan beberapa contoh kasus terapan.

    If I hear it, I will forget it . If I see it, I will remember it.

    If I do it, I will understand it

    (Confucius)

    Agar dapat masuk sebagai sprinter 100 m kelas

    dunia, dibutuhkan 10 sampai 12 langkah kaki perdetik. Kecepatan luar biasa ini pun bisa diukur

    pada robot. Peneliti Jerman dan Skotlandia

    berhasil memecahkan rekor dengan sebuah robot

    setinggi 23 cm. "RunBot" ini mampu mencapai

    3.5 langkah per detik, setara dengan 0.8m per detik.

    RunBot merupakan robot berjalan yang dikem-

    bangkan dengan tujuan utama melakukan gerakan

    sealamiah mungkin. Untuk itu, kendali robot ini

    meniru karakteristik syaraf beserta gerakan

    refleks manusia. Mesin berjalan ini dilengkapi

    dengan beberapa sensor dan hanya terfokusunruk menempatkan kaki di depan kaki lainnya.

    Bagaimana persamaan gerak RunBot? Bagimana

    pula keadaan batas bisa diimplementasikan ke

    sistem robotik? (CHIP 2006)

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    2/38

    FisikaKomputasi i-FST Undana 165

    5.1. Model Diferensiasi FisikaBanyak hukum-hukum fisika yang sangat pas diformulasikan dalam

    bentuk persamaan diferensial. Lebih lanjut, tidak mengherankan bahwa solusi

    komputasi numerik dari persamaan-persamaan diferensial menjadi bagian yangumum dalam pemodelan sistem-sistem fisika. Beberapa hukum mendasardiantaranya sebagai berikut:

    Hukum FormulasiMatematika

    Variabel & Parameter

    Hukum Newton IItentang gerak

    Hukum PanasFourier

    Hukum Faraday

    m

    F

    dt

    dv

    dx

    dTkq '

    dt

    diLVL

    Kecepatan (v), gaya (F) dan massa (m)

    Flux panas(q), konduktivitas termal (k)dan temperatur (T)

    Tegangan Drop ( LV ), induktansi (L)dan arus (i)

    Bentuk umum persamaan diferensial biasa adalah set M pasang persamaan

    orde satu,

    ),( yxfdx

    dy (5.1)

    dimana x adalah variabel bebas, dan y adalah sebuah set dari M variabel takbebas(f adalah vektor komponen M). Persamaan diferensial orde yang lebih tinggi bisa

    dituliskan dalam bentuk persamaan diferensial orde satu.Di dalam mengkaji fenomena fisis, seringkali kita jumpai bentuk

    persamaan diferensial sebagai persamaan gerak yang harus dicari solusinya,

    misalnya:

    02

    2

    kxdt

    dxr

    dt

    xdm

    Solusi analitik persamaan diferensial diatas bisa salah satu dari tiga fungsi berikut:

    )sin( 1 ot

    tAex , untuk kmr 4

    tAetBBx

    )( 21 , untuk kmr 4 tt

    eCeCx 221

    1 , untuk kmr 4 ,

    Selanjutnya solusinya dapat digambar dalam bentuk kurva atau data tabel.

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    3/38

    FisikaKomputasi i-FST Undana 166

    Solusi secara numerik tidak diperoleh dalam bentuk fungsi, melainkan nilai

    solusi pada suatu waktu tertentu. Oleh karena itu diperlukan suatu syarat agar

    solusi dapat dicari, yaitu berupa nilai awal. Syarat ini diperlukan, secara analisis

    solusi suatu persamaan diferensial dapat berbeda-beda karena adanya suatu

    konstanta.Gerak 1 dimensi sebuah partikel bermassa m, dibawah pengaruh gaya

    sebesar F(z), dituliskan dalam bentuk persamaan orde dua:

    )(2

    zFdt

    zdm (5.2)

    Jika momentum didefinisikan sebagai perkalian massa dengan kecepatan,

    yang dituliskan sebagai

    dt

    dzmtp )( (5.3)

    maka persamaan (5.2) menjadi dua pasang persamaan orde satu (Hamilton),

    m

    p

    dt

    dz dan )(zF

    dt

    dp (5.4)

    Akan dibahas beberapa metode untuk menyelesaikan persamaan diferensial biasa,

    dengan penekanan pada masalah nilai awal. Artinya, mencari y(x) yang diberikan

    oleh nilai y pada beberapa titik awal, y(x=0)=y0. Kasus atau masalah dalam tipe ini,diantaranya saat memberikan posisi awal dan momentum suatu partikel dan

    diharapkan memberikan atau menemukan gerak selanjutnya, menggunakan

    persamaan (5.3).

    Masalah nilai awal pada persamaan diferensial biasa bisa dituliskan dalambentuk

    ),()(' tyfty ; 0)0( yy (5.5)dimana f(y,t) adalah fungsi terhadap y dan t, dan persamaan kedua adalah keadaan

    awal. Pada persamaan (5.5) turunan pertama terhadap y diberikan sebagai fungsi ydan t, dan akan dicari fungsi y yang tidak diketahui dengan melakukan integrasi

    f(y,t).

    Banyak contoh untuk masalah nilai awal persamaan diferensial biasa,antara lain:

    (a) 1)0(,53)(' yyty

    (b) 0)0(,1)(' ytyty

    (c) 1)0(,1

    1)('

    2

    y

    yty

    (d) 0)0(,1)0(,',' zyyzzy Dalam kasus-kasus dimana persamaan sukar diselesaian secara analitis,

    lebih mudah menyelesaikannya secara numerik. Untuk ilustrasi kita kutip analisisHanselman-Littlefield untuk kasus Oscilator.

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    4/38

    FisikaKomputasi i-FST Undana 167

    ---------------------------------------------------------------------------------------------------

    Contoh 5a1Persamaan diferensial klasik Van der Pol yang mendeskripsikan suatu oscilatormemiliki persamaan gerak sebagai berikut:

    0)1(2

    2

    2

    xdt

    dxx

    dt

    xd

    Tinjaulah kasus ini dalam Matlab dengan pendekatan numerik seperti persamaan(5.2) menuju (5.4), dimana persamaan diferensial orde tinggi ditulis ulang menjadi

    ekuivalensinya di persamaan diferensial orde satu.

    SolusiDidefinisikan dua variabel baru dari persamaan diatas,

    xy 1

    , dandt

    dyy

    2

    maka

    21 y

    dt

    dy

    1

    2

    12 )1( yy

    dt

    dy

    dalam matlab, derivatif dinyatakan dalam vektor kolom, dalam kasus ini disebutyprime, demikian juga y1 dan y2 dalam vektor kolom y.

    Program dalam M-file sebagai berikut:

    function yprime=vdpol(t,y);%fungsi ini memberikan status derivatif dai persamaan Vander Pol% x''-mu*(1-x^2)*x'+x=0 ('=d/dx, ''=d^2/dx^2)% untuk y(1)=x dan y(2)=x' maka y(1)'=y(2)% y(2('mu*(1-y(1)^2)*y(2)-y(1)

    %memilih 0

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    5/38

    FisikaKomputasi i-FST Undana 168

    Hasilnya,

    s

    0 5 10 15 20 25 30-4

    -3

    -2

    -1

    0

    1

    2

    3

    4

    sebuah grafik waktu dari penyelesaian secara dinamis.Untuk memperoleh akses pada data, guna membuat grafik bidang fase

    yang dalam kasus ini adalah grafik y(2) terhadap y(1), dilakukan:

    [t,y]=ode45('vdpol',tspan,yo); plot(y(:,1),y(:,2))

    Hasilnya,

    Tetapi tujuan kita pada bab ini bukan sesingkat ini tercapai, yang lebih

    utama adalah untuk memahami bagaimana kasus-kasus ODE bisa diselesaikan dari

    sisi perancangannya, sehingga saintis harus tahu metode dan aspekpemrogramannya.

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    6/38

    FisikaKomputasi i-FST Undana 169

    Prinsip metode komputasi numerik untuk persamaan diferensial biasa

    adalah menentukan solusi pada titik-titik, tn=tn-1+h,dimana h adalah lebar langkah

    ( atau interval waktu). Ada beberapa pemilahan tipe metode, diantaranya metode

    Euler, metode Runge-Kutta, dan metode Predictor-Corrector. Berdasarkan kaku

    tidaknya persamaan (stiff equation), ada kategori nonstiff equation, meliputimetode Euler, metode Runge-Kutta dan metode Predictor-Corrector. Sedangkan

    kategori stiff equation meliputi metode implisit dan metode transformasieksponensial.

    Dengan pertimbangan ragam pemahaman, pada bab ini ditelaah 3 macam

    metode berdasarkan tingkatan kasus dan metode yang ditangani yaitu metodeSederhana Euler dan metode Runge-Kutta.

    5.2 Metode EulerSecara umum, solusi persamaan diferensial dari persamaan (5.4) didekati

    dengan keadaan awal, y(x=0)=y0. Lebih spesifik, sebenarnya bisa dianalisis padanilai y dengan sebarang x, misalnya 1.

    Strategi umum pada metode sederhana ini adalah membagi interval [0,1]

    menjadi sejumlah N pita, sehingga masing-masing lebar sub-interval adalah h=1/N,

    kemudian membangun sebuah formula rekursi terkait yn pada { yn-1, yn-2,}

    dimana yn adalah pendekatan pada y(xn=nh). Sebagaimana sebuah rekursi, polaintegrasi selangkah demi langkah pada persamaan diferensial dari x=0 sampai x=1.

    Salah satu algoritma metode sederhana adalah metode Euler, dimana

    persamaan (5.1) ditinjau pada titik xndengan pendekatan diferensiasi beda maju,seperti yang telah dibahas pada bab IV, sehingga

    ),()(1 nnnn yxfhO

    h

    yy (5.6)

    sehingga relasi rekursi yn+1yang dinyatakan dalam bentuk ynadalah

    )(),( 21 hOyxhfyy nnnn (5.7a)Atau ditulis

    ),(1 yxhfyy nn (5.7b)

    Persamaan ini disebut rumus iterasi Euler. Misalnya suatu persamaan

    diferensial biasa kita inginkan nilai solusinya melalui (xo,yo) di xp. Maka yangdilakukan adalah membagi selang antara xodan xpmenjadi n buah pita selebar h,sehingga diperoleh titik-titik xo,x1,x2,,xp.

    Dengan pasangan (xo,yo) sebagai titik awal kita cari y1 yang absisnya

    x1=x0+h, dengan menggunakan persamaan (5.7b). Selanjutnya dengan pasangan(x1,y1) sebagai titik awal kita cari y2 yang absisnya x2=x1+h. Proses ini berulang

    hingga didapatkan yp yang absisnya xp.

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    7/38

    FisikaKomputasi i-FST Undana 170

    Formula ini memiliki kesalahan lokal ( yang terjadi karena langkah tunggal

    dari yn ke yn+1) sebesar O(h2). Kesalahan global yang terjadi dalam mencari y(1)

    dengan memberikan sejumlah N langkah integrasi dari x=0 sampai x=1 sebesar N

    kali O(h2) O(h). Dengan kata lain, mengingat sifat kesalahan komputasi maka

    pemilihan h sangat menentukan hasil perhitungan.

    Contoh 5a2Selesaikan set persamaan diferensial biasa berikut dengan metode Sederhana

    dengan h=0,005dan h=0,0005 :

    ,'

    ,'

    yz

    zy

    0)0(

    1)0(

    z

    y

    Solusi

    Kalkulasi untuk langkah pertama dengan h=0,0005 ditunjukkan berikut ini.

    :0,001t2

    :0005,01

    ;00

    t

    t

    00314,0)1)(0005,0(00157,0112

    99999,0)00157,0)(0005,0(1112

    00157,0)1)(0005,0(0001

    0.1)0)(0005,0(1001

    00

    10

    hyzz

    hzyy

    hyzz

    hzyy

    z

    y

    pada tabel dibawah disajikan hasil perhitungan untuk nilai-nilai t yang dipilihdibandingkan dengan solusi eksak, y=cos(t) dan z=-sin(t).

    Eksak h=0,005 h=0,0005 t

    y z y z y Z

    0.5

    1,5 2

    3

    6 8

    0

    -1

    01

    -1

    11

    -1

    0

    10

    0

    00

    1,3E-4

    -1,02497

    -4,01E-41,05058

    -1,07682

    1,159541,21819

    -1,01241

    -2,67E-4

    1,037705,48E-4

    -8,43E-4

    1,82E-32,54E-3

    2,62E-6

    -1,00247

    -7,88E-61,00495

    -1,00743

    1,014911,01994

    -1,00123

    -5,25E-6

    1,003711,05E-5

    -1,58E-5

    3,19E-54,27E-5

    Dari hasil diatas menunjukkan bahwa kesalahan pada y bertambah dengan

    pertambahan t, dan sebanding dengan h ( lihat bahwa nilai y untuk t=, 2, 3, 6dan 8: nilai z untuk t tersebut tidak mengikuti trend yang sama, karena ketika z

    nol , kesalahan z secara signifikan dipengaruhi oleh pergeseran fase.

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    8/38

    FisikaKomputasi i-FST Undana 171

    Algoritma Euler

    Algoritma dari metode Euler mendefinisikanpendekatan nilai awal untuk

    menyelesaikan kasus y=f(t,y) dengan y(a)=y0 pada selang [a,b] melalui proses

    komputasi Yk+1 = yk + hf(fk,yk). Flowchart dan Algoritmanya sebagai berikut:

    Gambar 5.1 Flowchart Metode Euler

    For k = 0 to M-1.Input A,B Y(0) {Nilai awal dan nilai akhir}Input M {Banyaknya langkah}H := [B-A]/M {Lebar langkah}T(0):=A {Variabel awal}

    For k = 0 to M-1.{Penyelesaian Euler yk-1}Y(k+1):= Y(k) + H*F(T(k),Y(k))

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    9/38

    FisikaKomputasi i-FST Undana 172

    T(k+1):= A + H*[k+1]{Penyelesaian komputasi tk-1}

    For k = 0 to MPrint T(k), Y(k) {Hasil}

    Contoh 5bBuatlah program pendekatan komputasi numerik dengan metode Euler dari

    persamaan diferensial dengan keadaan batas berikut,

    1)0(,0)0(; yxydx

    dy

    Carilah solusinya untuk x=2.

    Solusi

    {$N+1}Program Euler_1;Uses wincrt;Const eps = 1e-3;Var x,x1,x2,y,y1,y2,fx,delx,delt,pita: Double;

    n : Integer;BeginClrscr;Writeln;Write('':5,'Titik awal(xo,yo):');Readln(x1,y1);

    Write('':5,'Titik akhir(x):');Readln(x2);Writeln;n:=0;delt:=100;Repeat

    Beginn:=n+1;pita:=exp(n*Ln(2));delx:=(x2-x1)/pita;x:=x1;

    y:=y1;While x

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    10/38

    FisikaKomputasi i-FST Undana 173

    If n=1 Then Writeln('':5,pita:10:0,'':5,y:15)Else

    Begindelt:=y-y2;

    Writeln('':5,pita:10:0,'':5,y:15,'':5,delt:15);End;

    y2:=y;End;

    Until Abs(delt) < eps;Writeln;Writeln('':5,'Nilai fungsi di',x2:15,':','':5,y:15);Gotoxy(65,5); Write('Tekan ');Repeat Until Readkey= #27;End.

    Hasil runing memberikan tampilan seperti pada gambar 5.2 di bawah.

    Gambar 5.2. Hasil runing program Euler untuk contoh 5b

    Terlihat solusi persamaan diferensial di titik x=2 memberikan hasil

    7.388154 pada h=16.384 dengan tingkat ketelitian lebih 9.015991e4.. Meskipunmetode Euler kelihatannya cukup baik, tetapi secara umum tidak memuaskan

    karena akurasinya rendah.Metode yang lebih tinggi satu klas dari kesederhanaannya bisa didapatkan

    dengan menyertakan suku deret Taylor dengan turunan kedua, sehingga

    persamaaan (5.7a) menjadi:

    )(),('2

    1),()( 321 hOyxfhyxhfyhxyy nnnnnnn

    (5.8)

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    11/38

    FisikaKomputasi i-FST Undana 174

    Atau ditulis2

    21 )('')(')()( hxfhxfxfhxf (5.9)

    Karena kita memiliki),()(' yff maka

    ),(')('' ff

    Tetapi harus diingat bahwa untuk menghitung f(x,y) harus digunakan rumusberantai, yang dapat ditulis:

    fy

    f

    x

    f

    x

    y

    y

    f

    x

    fyx

    dx

    dfy nnn

    ),("

    atau

    dx

    dyyxfyxfyxf yx ),(),(),('

    ),(),(),( yxfyxfyxf yx (5.10)

    Sehingga sumus iterasinya menjadi:

    ),('2

    1),( 21 yxfhyxhfyy nn

    (5.11)

    dan disebut iterasi Euler orde dua.Relasi rekursinya memiliki kesalahan lokal O(h

    3) dan kesalahan global

    O(h), satu tingkat lebih akurat daripada kesalahan pada metode Euler. Metode ini

    sangat bermanfaat ketika f diketahui secara analitik dan cukup sederhana untukturunannya.

    Contoh 5cBuatlah program pendekatan komputasi numerik dengan metode Euler orde dua

    dari persamaan diferensial dengan keadaan batas seperti pada contoh 5.2.

    SolusiProgram sama dengan program Euler_1, dengan menambah deklarasi variabel:

    Var dx : Double;

    dan merubah bagian fungsi sebagai berikut:{---dapat berubah sesuai bentuk fungsi----}

    fx:= y;dx:= y;

    {---------------------------------------}y:=y+fx*delx+dx*sqr(delx)/2;

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    12/38

    FisikaKomputasi i-FST Undana 175

    Hasil runing diperlihatkan pada gambar 5.2 dibawah:

    Gambar 5.3. Hasil runing program Euler orde dua untuk contoh 5c

    Terlihat bahwa metode Euler orde dua lebih baik karena nilai solusi

    persamaan diferensial didapatkan cukup pada h=256. Bandingkan dengan metode

    Euler orde satu yang membutuhkan h=16384 untuk hasil dan ketelitian yang sama.

    5.3 Metode Runge KuttaKekurangan utama dari metode Euler adalah tingkat akurasinya yang

    rendah. Keadaan ini membuat kerugian ganda. Untuk mencapai tingginya akurasi

    memerlukan h yang sangat kecil, disamping meningkatnya waktu komputasi dan

    mengakibatkan terjadinya kesalahan pembulatan (round off error).Pada metode Runge-Kutta, tingkat akurasinya meningkat oleh penggunaan

    titik-titik lanjutan pada tiap-tiap langkah interval. Akurasi yang lebih tinggi juga

    memberikan implikasi kesalahan berkurang lebih cepat dibanding metode akurasi

    tingkat rendah ketika h dikurangi.Tinjau persamaan diferensial biasa dengan nilai batas secara umum

    dituliskan

    ),()(' tyfty ; 0)0( yy (5.19)

    untuk menghitung 1ny pada htt nn 1 dengan nilai yn yang diketahui, kita

    integrasikan persamaan (5.19) pada interval 1, nn tt sebagai

    1

    ),(1

    n

    n

    t

    t

    nn dttyfyy (5.20)

    dimana dari aturan trapesium pendekatan untuk integral:

    1

    ),(),(2

    1),( 11

    n

    n

    t

    t

    nnnn tyftyfhdttyf (5.21)

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    13/38

    FisikaKomputasi i-FST Undana 176

    Ada beberapa macam metode Runge-Kutta, tetapi secara umum rumus

    iterasinya dapat ditulis dalam bentuk:

    ),,(1 hyxfyy nnnn (5.22)dimana

    mmnn kakakahyxf ...),,( 2211

    nn xxh 1 dengan

    )11,,1...22,111,1,1(

    ...

    )222121,2(3

    )111,1(2

    );,(1

    kmmmqmkqmkqmynhpmxnhfkm

    kqkqynhpxnhfk

    kqynhpxnhfk

    ynnhfk

    Berikut adalah macam metode Runge-Kutta berdasarkan orde:

    Runge Kutta

    Orde ke-

    m ),,( hyxf nn

    1ny

    Satu

    (Iterasi Euler)

    1 11),,( kahyxf nn

    ),(11 nnnn yxhfayy

    Dua

    (Heun,a2=1/2)

    maka a1=1/2

    p1=q11=1

    (Ralston,a2=2/3)

    maka a1=1/3

    p1=q11=3/4

    (Poligon,a2=1)maka a1=0

    p1=q11=1/2

    2 2211),,( kakahyxf nn

    )],(),(),([

    )],(),([

    11212

    2112

    nnnnynnx

    nnnnnn

    yxfyxfqayxfpah

    yxfayfahy

    ),(

    ),(

    )(

    12

    1

    221

    121

    1

    kyhxhfk

    yxhfk

    kkyy

    nn

    nn

    nn

    (5.23)

    ),(

    ),(

    )2(

    143

    43

    2

    1

    2131

    1

    kyhxhfk

    yxhfk

    kkyy

    nn

    nn

    nn

    (5.24)

    ),(

    ),(

    121

    21

    2

    1

    21

    kyhxhfk

    yxhfk

    ky

    nn

    nn

    nn

    (5.25)

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    14/38

    FisikaKomputasi i-FST Undana 177

    Tiga 3

    )2,(

    ),(

    ),(

    )4(

    213

    121

    21

    2

    1

    32161

    1

    kkyhxhfk

    kyhxhfk

    yxhfk

    kkkyy

    nn

    nn

    nn

    nn

    (5.26)

    Empat 4

    ),(

    ),(

    ),(

    ),(

    )22(

    34

    221

    21

    3

    121

    21

    2

    1

    432161

    1

    kyhxhfk

    kyhxhfk

    kyhxhfk

    yxhfk

    kkkkyy

    nn

    nn

    nn

    nn

    nn

    (5.27)

    Algoritma Runge Kutta

    Algoritma dari metode Runge-Kutta orde memiliki pendekatan nilai awal untukmenyelesaikan kasus y=f(t,y) dengan y(a)=y0pada [a,b] melalui proses komputasi

    ]22[6

    43211 kkkkh

    yy kk

    MASUKAN A,B,Y(0) { Nilai awal dan nilaiakhir }MASUKAN M { Banyaknya langkah }H:= [B-A]/M { Lebar langkah }T(0):= A { Nilai awal }

    For J = 0 to M-1T:= T(J) and Y:= Y(J) {Variabel LokalLocal}K1:= H*F(T,Y) {Nilai Fungsi pada tj}K2:= H*F(T+H/2,Y+.5*K1){Nilai Fungsi pada tj+1/2}K3:= H*F(T+H/2,Y+.5*K2) {Nilai Fungsi pada at

    tj+1/2}K4:= H*F(T+H,Y+K3) {Nilai Fungsi pada tj+1}

    Y(J+1):=Y+[K1+2K2+2K3+K4]/6 {Batas f(t,y)}

    T(J+1):=A+H*(J+1) {Nilai Yang Dihasilkan}

    For J=0 to M {Hasil}PRINT T(J),Y(J)

    Algoritma dan Flowchart yang disertakan disini hanya untuk Runge Kutta

    orde empat saja. Dengan flowchart metode Runge-Kutta orde 4 seperti padaGambar 5.4

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    15/38

    FisikaKomputasi i-FST Undana 178

    Gambar 5.4 Flowchart Metode Runge-Kutta Orde 4

    Contoh 5dBuatlah program menggunakan metode Runge Kutta Orde dua dan evaluasi

    hasilnya untuk t=10 detik untuk kasus penerjun payung seperti pada contoh 4c,

    dengan cara menyelesaikan persamaan diferensial yang terjadi dari hubungan:

    dt

    tdhtv

    )()(

    dengan titik awal (0,0) ketika penerjun meninggalkan pesawat.

    SolusiProgram berikut menggunakan metode Heun dengan iterasi Runge-Kutta orde dua

    pada persamaan (5.23).

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    16/38

    FisikaKomputasi i-FST Undana 179

    Program RungeKutta2_Heun;Uses wincrt;Const eps = 1e-3;

    Type Koef = Array[1..4] of Real;Var k : Koef;

    xx,x1,x2,x,yy,y1,y2,y,fx,delx,delt,pita: Real;i, n : Integer;

    BeginClrscr;Writeln;Write('':5,'Titik awal(xo,yo):');Readln(x1,y1);Write('':5,'Titik akhir(x):');Readln(x2);Writeln;

    n:=0;delt:=100;Repeat

    Beginn:=n+1;pita:=exp(n*Ln(2));delx:=(x2-x1)/pita;xx:=x1;yy:=y1;

    While xx

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    17/38

    FisikaKomputasi i-FST Undana 180

    End;If n=1 ThenWriteln('':5,pita:10:0,'':5,yy:15)

    Else

    Begindelt:=y-y2;

    Writeln('':5,pita:10:0,'':5,yy:15,'':5,delt:15);End;

    y2:=yy;End;

    Until Abs(delt) < eps;Writeln;Writeln('':5,'Nilai fungsi di',x2:15,':','':5,yy:15);Gotoxy(65,5); Write('Tekan ');

    Repeat Until Readkey= #27;End.

    Ketika program diruning, memberikan solusi sebagai berikut:

    Gambar 5.5 Hasil runing program runge-Kutta orde dua untuk contoh 5d

    Contoh 5eEvaluasi kasus contoh 5.4 dengan program menggunakan metode Runge-Kutta

    orde dua Poligon, metode Runge-Kutta orde tiga dan orde empat !

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    18/38

    FisikaKomputasi i-FST Undana 181

    Solusi[a] Dari iterasi Poligon metode Runge-Kutta orde Dua pada persamaan (5.25),

    maka program dimodifikasi sebagai berikut:

    1. Deklarasi Type dan Variabel dari format Real dibawa pada format Double:

    Type Koef = Array[1..4] of Double;Var xx,x1,x2,x,yy,y1,y2,y,fx,delx,delt,pita: Double;

    2. Implementasi iterasi Poligon dibawah bentuk fungsi ditulis:If i = 1 Then

    Beginx:=xx+delx/2;y:=yy+k[i]/2;End;

    End;xx:=xx+delx;yy:=yy+k[2];

    End;

    [b] Berdasarkan formulasi iterasi Runge-Kutta orde tiga yang diberikan olehpersamaan (5.26) maka program contoh 5.4 dimodifikasi sebagai berikut:

    1. Deklarasi Type dan Variabel dari format Real dibawa pada format Double:

    2. Implementasi iterasi Runge-Kutta orde tiga, ditulis:

    For i:=1 To 3 DoBegin

    {--dapat berubah sesuai bentuk fungsi---}fx:=1-exp(-12.5*x/68.1);fx:=fx*9.8*68.1/12.5;

    {---------------------------------------}k[i]:= delx*fx;

    Case i of1: Begin

    x:=xx+delx/2;

    y:=yy+k[i]/2;End;2: Begin

    x:=xx+delx;y:=yy k[1]+2*k[2];

    End;End;xx:=xx+delx;yy:=yy+(k[1]+4*k[2]+k[3])/6;

    End;

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    19/38

    FisikaKomputasi i-FST Undana 182

    [c] Dari formulasi iterasi Runge-Kutta orde empat pada persamaan (5.27), maka

    program dimodifikasi sebagai berikut:

    1. Deklarasi Type dan Variabel dari format Real dibawa pada format Double:

    2. Implementasi iterasi Runge-Kutta orde empat, ditulis:

    For i:=1 To 4 DoBegin

    {-- dapat berubah sesuai bentuk fungsi----}fx:=1-exp(-12.5*x/68.1);fx:=fx*9.8*68.1/12.5;

    {-----------------------------------------}k[i]:= delx*fx;If i in [1..2] ThenBegin

    x:=xx+delx/2;

    y:=yy+k[i]/2;EndElseIf i = 3 Then

    Beginx:=xx+delx;y:=yy+k[3];

    End;End;xx:=xx+delx;yy:=yy+(k[1]+2*(k[2]+k[3])+k[4])/6;

    End;

    Setelah diruning dari modifikasi program seperti diatas, memberikan solusi

    berturut-turut ditampilkan pada Gambar 5.6, 5.7, dan 5.8 sebagai berikut.

    Gambar 5.6 Hasil runing program Poligon untuk Runge-Kutta Orde Dua

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    20/38

    FisikaKomputasi i-FST Undana 183

    Gambar 5.7 Hasil runing program Runge-Kutta Orde Tiga

    Gambar 5.8 Hasil runing program Runge-Kutta Orde Empat

    Dari 3 metode yang digunakan terlihat metode poligon Runge-Kutta orde

    dua membutuhkan pita sejumlah 512, metode Runge-Kutta orde tiga dan orde

    empat membutuhkan 16 pita. Artinya, metode Runge-Kutta orde tiga dan empatlebih cepat untuk mendapatkan hasil yang akurat dibanding metode Euler, dan

    metode Runge-Kutta orde dua.

    Dengan menyertakan suku-suku dengan orde tinggi pada uraian deret

    Taylor maka kesalahan karena pemenggalan akan menjadi kecil, tetapi kesalahankaren pembulatan akan semakin besar. Meskipun Runge-Kutta orde tiga hasilnya

    sudah jauh lebih cepat dari orde-orde sebelumnya, tetapi yang lazim dipakai adalah

    orde ke-empat, yaitu yang menyertakan suku dengan orde empat.Dibanding dengan rumus iterasi Runge-Kutta sebelumnya, pada Runge-

    Kutta orde empat bentuknya lebih sederhana karena tampak adanya penjalaran

    yang teratur dalam menemukan titik (xn+1,yn+1) dari titik awal (xn,yn).

    Contoh 5fSebuah kapasitor yang tidak bermuatan dihubungkan secara seri dengan sebuah

    resistor dan baterry, seperti pada Gambar 5.9 (Supriyanto,2008). Diketahui = 12

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    21/38

    FisikaKomputasi i-FST Undana 184

    volt, C = 5.00 F dan R = 8.00 105 . Saat saklar dihubungkan (t=0), muatanbelum ada (q=0).Hitunglah besar pemuatan q . dari t=0.0 s/d t=1.0 , jika perubahan jumlah muatan

    persatuan waktu adalah sebagai berikut:

    RC

    q

    Rdt

    dq

    (5.28)

    Solusi:

    Solusi exact persamaan (5.28) adalah

    )1()( /RCteksak eCtqq (5.29)

    Anda bisa lihat semua suku di ruas kanan persamaan (5.28) tidak mengandung

    variabel t. Padahal persamaan-persamaan turunan pada contoh sebelumnyamengandung variabel t.

    Gambar 5.9 Rangkaian RC

    Apakah persamaan (5.28) tidak bisa diselesaikan dengan metode Runge-Kutta?Belum tentu.

    Sekarang, kita coba selesaikan, pertama kita nyatakan

    5105.11 xm

    dan 25.01

    2 C

    m

    sehingga persamaan (5.28) dimodifikasi menjadi

    21)( mqmqfdt

    dqii ; ihati

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    22/38

    FisikaKomputasi i-FST Undana 185

    Jika t0 = 0, maka a = 0, dan pada saat itu (secara fisis) diketahui q0= 0.0. Lalu jika

    ditetapkan h = 0.1 maka t1 = 0.1 dan kita bisa mulai menghitung k1 dengan

    menggunakan q0 = 0.0 walaupun t1tidak dilibatkan dalam perhitungan ini

    )( 01 qhfk

    5

    5

    201

    10150.0

    ))25.0)(0.0()105.1(1.0

    )(

    x

    x

    mqmh

    lalu menghitung k2

    )2

    ( 102k

    qhfk

    5

    55

    21

    01

    1014813.0

    )]25.0)(2

    1015.0)0.0(()105.1[(1.0

    )])

    2

    ([(

    x

    xx

    mk

    qmh

    dilanjutkan dengan k3

    )2

    ( 203k

    qhfk

    5

    55

    22

    01

    1014815.0

    )]25.0)(2

    1014813.0)0.0(()105.1[(1.0

    )])2

    ([(

    x

    xx

    mk

    qmh

    kemudian k4

    )( 304 kqhfk

    5

    55

    2301

    1014630.0

    )]25.0)(1014815.0)0.0(()105.1[(1.0

    )])([(

    x

    xx

    mkqmh

    akhirnya diperoleh q1

    )22(6

    1432101 kkkkqq

    5

    5

    1014814.0

    10)14630.0)14815.0(2)14813.0(2150.0(6

    10.0

    x

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    23/38

    FisikaKomputasi i-FST Undana 186

    Selanjutnya q2dihitung. Tentu saja pada saat t2, dimana t2= 0,2, namun sekali lagi,

    t2tidak terlibat dalam perhitungan ini. Dimulai menghitung k1 kembali

    )( 11 qhfk

    5

    55

    211

    1014630.0

    ))25.0)(1014814.0()105.1(1.0

    )(

    xx

    mqmh

    lalu menghitung k2

    )2

    ( 112k

    qhfk

    5

    555

    21

    11

    1014447.0

    )]25.0)(2

    1014630.0)1014814.0(()105.1[(1.0

    )])2

    ([(

    x

    xxx

    mk

    qmh

    dilanjutkan dengan k3

    )2

    ( 213k

    qhfk

    5

    555

    2

    2

    11

    1014449.0

    )]25.0)(2

    1014447.0)1014814.0(()105.1[(1.0

    )])2([(

    x

    xxx

    m

    k

    qmh

    kemudian k4

    )( 314 kqhfk

    5

    555

    2311

    1014268.0

    )]25.0)(1014447.0)1014814.0(()105.1[(1.0

    )])([(

    x

    xxx

    mkqmh

    akhirnya diperoleh q2

    )22(6

    1432112 kkkkqq

    5

    55

    1029262.0

    10)14268.0)14449.0(2)14447.0(214630.0(6

    11014814.0

    xx

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    24/38

    FisikaKomputasi i-FST Undana 187

    Dengan cara yang sama, q3, q4, q5dan seterusnya dapat dihitung.

    Langkah hitung diatas kurang efisien, dan berikut ini adalah program dalam matlab

    yang dipakai untuk menghitung q

    % fungsif.mfunction y=fungsif(q)E=12; % tegangan (volt)R=800000; % hambatan (ohm)C=5e-6; % kapasitansi (farad)m1=E/R;m2=1/(R*C);y=m1-(m2*q);

    %Qmuatan.mclear all

    clcformat longb=1; % batas akhir intervala=0; % batas awal intervalh=0.1; % interval waktuN=(b-a)/h; % nilai step-sizeq0=0.0; % muatan mula-mulat0=0.0; % waktu awal

    % perubahan t sesuai step-size h adalah:for i=1:N

    t(i)=a+(i*h);end% solusinya:k1=h*fungsif(q0);k2=h*fungsif(q0+k1/2);k3=h*fungsif(q0+k2/2);k4=h*fungsif(q0+k3);q(1)=q0+1/6*(k1+2*k2+2*k3+k4);for i=2:N

    k=i-1;k1=h*fungsif(q(k));k2=h*fungsif(q(k)+k1/2);k3=h*fungsif(q(k)+k2/2);

    k4=h*fungsif(q(k)+k3);q(i)=q(k)+1/6*(k1+2*k2+2*k3+k4);endq

    Hasil runningHasil running dan perbandingan antara hasil perhitungan numerik lewat metode

    Runge Kutta dan hasil perhitungan dari solusi exact, yaitu persamaan (5.29) adalah

    sebagai berikut:

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    25/38

    FisikaKomputasi i-FST Undana 188

    Hasil dari program memberikan nilai yang sesuai dengan hasil eksaknya. Hal inidapat dilihat pada Gambar 5.10 yang memperlihatkan kurva yang berada pada

    lintasan pemuatan q terhadap waktu t yang sama.

    Gambar 5.10 Kurva pengisian muatan q (charging) terhadap waktu t

    Contoh tadi tampaknya dapat memberikan gambaran yang jelas bahwa metode

    Runge-Kutta Orde Empat dapat menyelesaikan persamaan diferensial biasa dengantingkat akurasi yang lebih tinggi dan tidak harus mengandung variabel t.

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    26/38

    FisikaKomputasi i-FST Undana 189

    ::: Studi Kasus Fisika 07:::Sistem Massa Pegas

    Sebuah kotak kubus bermassa M=0,5 kg terikat pada ujung bawah sebuahtali tak bermassa. Pada ujung tali atas diikatkan pada tiang diam. Kubus menerima

    resistansi R= -B dy/dtndari udara, dimana B adalah konstanta damping (lihatgambar 5.11). persamaan geraknya adalah:

    ,02

    2

    kyydt

    dBy

    dt

    dM 0)0(',1)0( yy (5.27)

    dimana y adalah perpindahan dari posisi statis, k adalah konstanta pegas sebesar100 kg/det

    2, dan B=10 kg/det.

    Hitunglah menggunakan metode Runge Kutta orde kedua:

    (a)

    y(t) untuk 0

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    27/38

    FisikaKomputasi i-FST Undana 190

    (a) Untuk n=1: t=0,025

    5,2)]01(200)50(20[025,0

    )])(200)(20[(),,((

    125,0)50(025,0)(),,((

    5))1(200)0(20(025,0)20020(),,(

    0)0(025,0),,(

    1010110102

    10010102

    000001

    00001

    kylzhtlzkyhgl

    lzhtlzkyhfk

    yzhtzyhgl

    hztzyhfk

    75,3)5,25(

    2

    1

    9375.0)125,00(2

    1

    01

    01

    zz

    yy

    untuk n=2: t=0,05

    8125,2

    ))9375.0(200)75,3(20(025,0)20020(),,(

    09375,0)75,3(025,0),,(

    111111

    11112

    yzhtzyhgl

    hztzyhfk

    9375,0)]093750,09375,0(200)8125,275,3(20[025,0

    )](200)(20[(),,((

    1640625,0)8125,275,3(025,0)(),,((

    1111111112

    11111112

    kylzhtlzkyhgl

    lzhtlzkyhfk

    625,5)9375,08125,2(2

    1

    80859.0)1640625,009375,0(2

    1

    12

    12

    zz

    yy

    Program dalam C# include #include #include

    /* waktu: ty, z: y, ykount: jumlah langkah antara 2 jalur yang dicetakk, m, b: k, M(massa), B(koefisien damping) */

    main(){int kount, n, kstep=0;float bm, k1, k2, km, l1, l2;static float time, k=100.0, m=0.5, b=10.0, z=0.0

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    28/38

    FisikaKomputasi i-FST Undana 191

    static float y= 1.0, h=0,001;printf( Hasil Komputasi Metode Runge Kutta Orde Kedua

    \n);printf( t y z\n);printf( %12.6f %12.5e %12.5e \n, time,

    y, z);km= k/m;bm=b/m;for ( n=1; n

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    29/38

    FisikaKomputasi i-FST Undana 192

    ::: Studi Kasus Fisika 08 :::Rangkaian RLC

    Sebuah rangkaian ditunjukkan pada gambar 5.12 memiliki induktansi diriL=50H, resistensi R=20 ohm, dan sumber tegangan V=10 volt. Jika saklar ditutup

    pada t=0, arus I(t) memenuhi

    ,)()( EtRItIdt

    dL 0)0( I (5.23)

    Pada kasus ini kita akan menentukan arus listrik yang mengalir untuk 0 t 10detik menggunakan metode Runge Kutta orde kedua dengan h=0,1

    Solusi:

    Persamaan (5.23) dituliskan kembali dalam bentuk

    ),()()( tIfL

    EtI

    L

    RtI

    dt

    d (5.24)

    kemudian metode Runge Kutta orde dua menjadi:

    Gambar 5.12 Rangkaian Listrik

    )21(2

    1

    )1(2

    1

    1 kkII

    L

    EkInL

    Rhk

    L

    EI

    L

    Rhk

    nn

    Komputasi untuk dua langkah diperlihatkan sebagai berikut:

    :)1,0(0 tn

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    30/38

    FisikaKomputasi i-FST Undana 193

    0196,0)0192,002,0(2

    1

    00)21(2

    1

    0192,002,0)02,00)(4,0(1,02

    02,02,0)0)(4,0(1,01

    01

    kkII

    k

    k

    :)1,0(0 tn

    038431,0)018447,0019216,0(2

    10196,0)21(

    2

    1

    018447,002,0)019216,00196,0)(4,0(1,02

    019216,02,0)0196,0)(4,0(1,01

    12

    kkII

    k

    k

    Hasil akhir komputasi (sampai 10 langkah) sebagai berikut:

    t(detik) I(amp) t(detik) I(amp)0

    12

    3

    4

    5

    0

    0,16480,2752

    0,3493

    0,3990

    0,4332

    6

    78

    9

    10

    ( )

    0,4546

    0,46950,4796

    0,4863

    0,4908

    (0,500)

    ::: Studi Kasus Fisika Khusus :::Getaran Selaras Tergandeng

    Dalam berbagai bidang kajian fisika, sering dijumpai dua getaran ataulebih yang membentuk sistem getaran baru yang disebut getaran tergandeng [lihat

    5.13]. Jonte Bernhard (1997) menyatakan getaran tergandeng (coupled harmonic

    oscillator) sebagai upper level dalam kajian mekanika dan modus vibrasi pada

    getaran tergandeng memiliki peranan yang sangat penting di dalam sains danteknik.

    Gambar 5.13. Getaran Tergandeng

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    31/38

    FisikaKomputasi i-FST Undana 194

    Ketika meninjau fenomena fisis getaran tergandeng yang terjadi pada dua

    buah titik massa (M) yang keduanya dihubungkan oleh sebuah pegas yang

    berfungsi sebagai gaya pemulih harmonik (harmonic restoring force) dan

    perpindahan posisi untuk benda pertama dan kedua berturut-turut adalah x1dan x2,

    memberikan dua persamaan gerakan, yaitu

    - m2

    1

    2

    dt

    xd- 0)( 1211 xxCxC (5.25a)

    dan

    - m2

    2

    2

    dt

    xd- 0)( 1222 xxCxC , (5.25b)

    dengan C 1 dan C 2 adalah tetapan-tetapan gaya yang bergantung pada panjang

    masing-masing pendulum, dengan C 1C 2 , dan C adalah konstanta pegas (Schmid

    dkk, 1990 dan Arafah, 2001).Wospakrik (1993) menyebutnya sebagai fenomena fisika yang terumuskan

    sebagai turunan atau derivatif besaran sistem terhadap variabel bebas yang

    bersangkutan, dan Soegeng (1993) menyatakan sebagian besar persoalan ini sangatrumit untuk dipecahkan dan memerlukan pengetahuan mendalam mengenai bidang

    yang ditelaah dan matematika lanjut mengenai persamaan diferensial. Secara

    analitik kedua persamaan di atas sangat tidak mungkin diselesaikan dengan metodeapapun untuk memberikan suatu solusi pada satu keadaan tertentu kecuali

    diperlakukan keadaan khusus menjadi getaran selaras sederhana, yang solusinya

    masih berupa fungsi.

    Dari kedua persamaan getaran selaras tergandeng (5.25a) dan (5.25b) dapat

    dituliskan menjadi:

    211

    2

    1

    2

    xM

    Cx

    M

    CC

    t

    x

    (5.26a)

    22

    12

    2

    2

    xM

    CCx

    M

    C

    t

    x

    (5.26b)

    jika kita lakukan modifikasi pada bentuk diferensiasi dibawah ini:

    11 zt

    x

    dan 22 zt

    x

    (5.27)

    maka persamaannya menjadi:

    2111 x

    M

    Cx

    M

    CC

    t

    z

    (5.28a)

    22

    12 x

    M

    CCx

    M

    C

    t

    z

    (5.28b)

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    32/38

    FisikaKomputasi i-FST Undana 195

    Persamaan (5.25) s/d (5.28) diatas yang akan diimplementasikan dalam metode

    Euler, Runge Kutta orde dua, tiga dan empat. Sebagai pembandingnya metode

    analitik khusus yang flowchart-nya [lihat 5.14] berikut:

    Gambar 5.14 Flowchart Metode Analitik Khusus

    Script program dalam TPW1.5 ini memuat metode Euler dan Runge Kutta orde

    empat, prosedure untuk Runge Kutta orde dua s/d tiga dipenggal :program osilasi_harmonik_tergandeng;uses wincrt;vark1,l1,m1,n1,k2,l2,m2,n2,k3,l3,m3,n3,k4,l4,m4,n4,M,c,c1,c2,h,t,ta,z1,z2,x1,x2,xx1,xx2,x01,x02,z01,z02:extended;i:integer;osilasi:text;Procedure Analitik_khusus;begint:=0;x1:=x01;x2:=x02;z1:=z01;z2:=z02;writeln(osilasi,'metode analitik untuk keadaan khusus');writeln(osilasi);writeln(osilasi,' t(detik) x1(meter)

    x2(meter) ');writeln(osilasi,' ',t:5:4,' ',x1,' ',x2);

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    33/38

    FisikaKomputasi i-FST Undana 196

    repeatx1:=x01*cos(t*sqrt(c1/M))+z01*sqrt(M/c1)*sin(t*sqrt(c1/M));x2:=x02*cos(t*sqrt(c2/M))+z02*sqrt(M/c2)*sin(t*sqrt(c2/M));t:=t+h;writeln(osilasi,' ',t:5:4,' ',x1,' ',x2);until t>ta;End;procedure Euler;Begint:=0;x1:=x01;x2:=x02;z1:=z01;z2:=z02;writeln(osilasi,'metode Euler');writeln(osilasi);writeln(osilasi,' t(detik) x1(meter) x2(meter) ');writeln(osilasi,' ',t:5:4,' ',x1,' ',x2);

    repeatk1:=h*z1;l1:=h*(-(c1+c)*x1/M+c*x2/M);m1:=h*z2;n1:=h*(c*x1/M-(c2+c)*x2/M);x1:=x1+k1;z1:=z1+l1;x2:=x2+m1;z2:=z2+n1;t:=t+h;writeln(osilasi,' ',t:5:4,' ',x1,' ',x2);

    until t>ta;End;{ program telah dipenggal disini !!}procedure Runge_Kutta_Orde_Empat;begint:=0;x1:=x01;x2:=x02;z1:=z01;z2:=z02;writeln(osilasi,'metode Runge-Kutta orde 4');writeln(osilasi);writeln(osilasi,'t(detik) x1(meter) x2(meter) ');

    writeln(osilasi,' ',t:5:4,' ',x1,' ',x2);repeatk1:=h*z1;l1:=h*(-(c1+c)*x1/M+c*x2/M);m1:=h*z2;n1:=h*(c*x1/M-(c2+c)*x2/M);k2:=h*(z1+l1*0.5);l2:=h*(-(c1+c)*(x1+k1*0.5)/M+c*(x2+m1*0.5)/M);m2:=h*(z2+n1*0.5);n2:=h*(c*(x1+k1*0.5)/M-(c2+c)*(x2+m1*0.5)/M);

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    34/38

    FisikaKomputasi i-FST Undana 197

    k3:=h*(z1+l2*0.5);l3:=h*(-(c1+c)*(x1+k2*0.5)/M+c*(x2+m2*0.5)/M);m3:=h*(z2+n2*0.5);n3:=h*(c*(x1+k2*0.5)/M-(c2+c)*(x2+m2*0.5)/M);k4:=h*(z1+l3);l4:=h*(-(c1+c)*(x1+k3)/M+c*(x2+m3)/M);m4:=h*(z2+n3);n4:=h*(c*(x1+k3)/M-(c2+c)*(x2+m3)/M);x1:=x1+(k1+2*k2+2*k3+k4)/6;z1:=z1+(l1+2*l2+2*l3+l4)/6;x2:=x2+(m1+2*m2+2*m3+m4)/6;z2:=z2+(n1+2*n2+2*n3+n4)/6;t:=t+h;writeln(osilasi,' ',t:5:4,' ',x1,' ',x2);until t>ta;End;

    beginM:=2; c1:=30; c2:=40; c:=0; x01:=4; x02:=5; z01:=0;z02:=40;h:=0.1; ta:=2;{ta = t akhir}assign(osilasi,'fisika.txt');rewrite(osilasi);analitik_khusus;writeln(osilasi);Euler;writeln(osilasi);Runge_Kutta_Orde_Dua;writeln(osilasi);Runge_Kutta_Orde_Tiga;

    writeln(osilasi);Runge_Kutta_Orde_Empat;Close(osilasi);End.

    Hasil Running

    Data hasil running didapatkan untuk analisis kasus yang dilakukan dengancara memvariasikan nilai konstanta pegas (C), besarnya tetapan gaya yang bekerja

    pada massa benda pertama (C1), tetapan gaya pada benda kedua (C2), lebar langkah

    (h), dan kelajuan awal (Z01).Pada kasus khusus C=0 yang diamati hanya untuk perpindahan pendulumpertama yang tidak diberikan kelajuan awal dan ketika lebar langkah h=0,1. Hasil

    yang diperoleh dengan metode Euler jauh menyimpang dari hasil analitiknya,

    sedangkan metode Runge-Kutta menunjukan hasil yang mendekati nilaianalitiknya. Keakuratan hasil yang diperoleh bertambah baik dengan bertambahnya

    orde metode Runge-Kutta, sehingga metode Runge-Kutta orde empat lebih baik

    daripada metode lain yang digunakan. Amati pada Gambar 5.15.

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    35/38

    FisikaKomputasi i-FST Undana 198

    Gambar 5.15. Simpatetik dengan (M= 2 kg, C1= 30 N/m, C2= 40 N/m,

    C= 0 N/m, h= 0.1, Z01= 10 m/s)

    Ketika digunakan nilai lebar langkah h=0,001, dan hasil yang diperoleh untuk

    setiap metode memberikan nilai yang hampir sama dengan nilai analitiknya.Amati

    Gambar 5.16.

    Gambar 5.16. Simpatetik dengan (M= 2 kg, C1= 30 N/m,

    C2= 40 N/m, C= 0 N/m, h= 0.001)

    Pada kopling lemah (C1=C2, C=C1/10), hal ini menyebabkan setiap pendulummemiliki kesempatan yang lebih besar untuk terus bergetar secara bergantian

    seperti pada Gambar 5.17.

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    36/38

    FisikaKomputasi i-FST Undana 199

    Gambar 5.17. Simpatetik dengan Kopling Lemah (M= 2 kg,

    C1=C2= 40 N/m, C= 4

    Tidak demikian halnya dengan kopling kuat (C1=C2, C=10C1), sehingga

    menyebabkan kedua pendulum tidak bisa bergerak bebas sendiri-sendiri seperti

    pada Gambar 5.18.

    Gambar 5.18 Simpatetik dengan Kopling Kuat (M= 2 kg,C1=C2= 40 N/m, C= 400 N/m )

    Hal lain yang terjadi ketika nilai tetapan gaya adalah (M= 2 kg, C 1=C2= 40 N/m,

    C= 10 N/m) dan simpangan awal masing-masing pendulum diatur yakni untukpendulum pertama adalah 5m dan untuk pendulum kedua adalah 8m dan t= 5.5 s,

    keadaan ini menghasilkan suatu getaran yang harmonis seperti tampak pada

    Gambar 5.19. Keadaan ini disebut eigen-oscillation atau swa getaran (Schmid,

    1990).

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    37/38

    FisikaKomputasi i-FST Undana 200

    Gambar 5.19. Simpatetik dengan Kopling Sedang (M= 2 kg,C1=C2= 40 N/m, C= 10 N/m )

    Penerapan metode komputasi Euler dan Runge-Kutta orde dua sampai orde empat

    memberikan solusi pendekatan numerik yang mendekati nilai analitik untuk h=0.001. Metode Runge-Kutta merupakan metode yang lebih baik ketelitiannya

    dibandingkan dengan metode Euler

    5.4 SOAL-SOAL

    (1) Selesaikan persamaan diferensial biasa berikut dalam 0 t5 menggunakanmetode Euler, dengan h=0.5

    ),('

    3'

    ,1'

    2 yty

    eyy

    tyy

    t

    5,0)0(

    1)0(

    1)0(

    y

    y

    y

    (2) Tanki kanonik berisi air dengan ketinggian 0,5m dari dasar. Tanki memiliki

    lubang dengan radius 0,02m pada dasarnya. Radius tanki dalam y diberikanoleh r=0,25y, dimana r adalah radius dan y adalah ketinggian yang diukur

    dari dasar tanki. Kecepatan air yang mengalir melalui lubang diberikan oleh

    v2=2gy dimana g=9,8 m/det2. Menggunakan metode Euler ( gunakan

    h=0,001 detik), tentukan berapa menit tanki menjadi kosong.(3) Buatlah program menggunakan metode Euler1 dan evaluasi hasilnya untuk

    t=10 detik untuk kasus penerjun payung seperti pada contoh 4.3, dengan cara

    menyelesaikan persamaan diferensial yang terjadi dari hubungan:

  • 7/24/2019 Bab5_Masalah Nilai Awal Persamaan Diferensial Biasa

    38/38

    dt

    tdhtv

    )()(

    dengan titik awal (0,0) ketika penerjun meninggalkan pesawat.

    (4)

    Hitunglah y(2) untuk persamaan berikut dengan metode Runge Kutta ordepertama, dengan h=1.

    1)0(,'2

    yyt

    yy

    (5) Masalah nilai awal pada persamaan diferensial biasa diberikan oleh

    0)0('')0('

    1)0(,'''

    yy

    yyy

    Gunakan metode Runge Kutta orde kedua dengan h=0,2, hitunglah y(0,4) dan

    y(1).

    DAFTAR PUSTAKA

    Chapra, S.C., and Canale, R.P., Numerical Methods for Engineers, McGraw-Hill,

    1998

    Gear, C. W.,Numerical Initial Value Problems in Ordinary Differential Equations,Prentice-Hall, 1971

    Hall, G and J.M Watt, Modern Numerical Methods for Ordinary Differential

    Equations, Clarendon Press, 1976Hanselman,D and Littlefield, B, Matlab Bahasa Komputasi Teknis, Penerbit AndiYogyakarta, 2000

    Koonin, S.E., Computational Physics, Addison-Wesley Inc, 1986

    Mathews, J.H., Numerical Methods for Mathematics, Science and Engineering,Prentice-Hall Inc., 1992

    Nakamura, S.,Applied Numerical Methods in C, Prentice-Hall Inc. 1993

    Sulaiman,H dan Warsito,A, Kajian Fenomena Fisis Getaran Selaras TergandengDengan Metode Euler dan Runge-Kutta, Fisika FST, 2008

    Supriyanto, S,Komputasi untuk Sains dan Teknik, Departemen Fisika UI, 2008