Bab4 - DIferensiasi Dan Integrasi Numerik Model Fisika PDF
Bab4 - DIferensiasi Dan Integrasi Numerik Model Fisika PDF
Telegram : https://t.me/fisikafilsafat
Twitter : https://twitter.com/alifis_AW
Blog : https://alifis.wordpress.com/
DIFERENSIASI &
INTEGRASI NUMERIK
Pada bab ini dibahas konsep dasar diferensiasi dan integrasi numerik, meliputi
teknik pendekatan atau penghampiran, metode komputasi numerik berkaitan
dengan model diferensial dan integral, serta penggunaannya dalam beberapa kasus
fisika.
Science is built up with facts, as a house is with stones. But a collection of facts is
no more a science than a heap of stones is a house
(H. Poincare, La Science et l’Hypothese)
atau
menggunakan perintah sederhana sabagai berikut:
Limit[x^2, x2]
4
----------------------------------------------------------------------------------------------------
Diferensiasi numerik harus dihindari bilamana mungkin karena umumnya nilai
pendekatan diferensial akan kurang teliti dibandingkan nilai fungsi yang
merupakan asal nilai-nilai tersebut diturunkan. Sebenarnya, turunan adalah limit
dari hasilbagi dan dalam hal ini ada proses pengurangan dua besaran bernilai besar
dan membagi dengan besaran kecil. Lebih lanjut jika fungsi f dihampiri
menggunakan suatu polinom p, selisih dalam nilai-nilai fungsi boleh jadi kecil
f n f ( xn ); xn nh ( n 0,1,2,... ) (4.3)
Dengan deret Taylor berusaha dihitung nilai pendekatan dari f’(0) dalam
bentuk fn, dengan cara menguraikan f disekitar sumbu x=0,
x2 x3
f ( x) f 0 xf ' f " f ' ' '...
2! 3!
semua turunan dievaluasi pada x=0, didapatkan bentuk persamaan
h2 h3
f 1 f ( x h) f 0 hf ' f " f ' ' 'O(h 4 ) (4.4)
2 6
4h 3
f 2 f ( x 2h) f 0 2hf '2h 2 f " f ' ' 'O(h 4 ) (4.5)
3
dimana O(h4) merupakan pendekatan kesalahan dalam orde 4 atau lebih tinggi.
bentuk f’’’ akan tereduksi ketika h diperkecil dan kesalahan dominan berkaitan
dengan estimasi beda batas, sehingga didapatkan bentuk pertama:
f1 f 1
f ' (4.7)
2h
yang merupakan formula beda pusat (central difference) dengan 3 titik, yang lebih
dikenal sebagai “3 point” formula atau formula 3 titik. Formula ini menjadi eksak
jika f adalah polinomial orde dua di dalam interval 3 titik [-h,+h]. Esensi dari
persamaan (4.7) adalah asumsi bahwa interpolasi polinomial quadratik terhadap f
melalui 3 titik valid, x=±h,0 dan merupakan hasil yang alami, karena formula
digunakan sebagai definisi derivatif dalam kalkulus dasar.
Gambar 4.1. Nilai f pada kisi ruang berjarak sama. Garis putus menunjukkan
interpolasi linear
Berikut disajikan pilihan populer formula beda pusat pada orde kesalahan
O(h ) dan O(h4) dengan konvensi fk f ( x0 hk ) untuk k=±3, ±2, ±1,0.
2
f 2 8 f1 8 f 1 f 2
f ' ( x0 ) ; formula 5 titik
12h
f 2 16 f1 30 f 0 16 f 1 f 2
f ' ' ( x0 ) (4.11)
12h 2
(4.11)
f 3 8 f 2 13 f1 13 f 1 8 f 2 f 3
f ' ' ' ( x0 )
8h 3
f 3 12 f 2 39 f1 56 f 0 39 f 1 12 f 2 f 3
f ' ' ' ' ( x0 )
6h 4
Contoh 4a
Andaikan f(x)=cos x
[a] Gunakan formula pendekatan f’’(x) dengan h=0,1; 0,01; dan 0,001 dan cari
pendekatan untuk f’’(0,8). Gunakan 9 digit desimal dalam semua perhitungan.
[b] Bandingkan dengan nilai benar f’’(0,8)=-cos(0,8)
Solusi
[a] Perhitungan untuk h=0,01 adalah
f1 2 f 0 f 1
f ' ' ( x0 )
h2
Contoh 4b
Buatlah program sederhana untuk menghitung f’(x=1) dari fungsi f(x)=sin x,
dengan menggunakan formula 3 titik. Jawaban eksak, cos 1=0,540302. Bandingkan
hasilnya dengan formula beda maju/mundur dan formula 5 titik.
Solusi
Dengan program BASIC diujikan persamaan pendekatan komputasi numerik
(4.7) , yaitu
f1 f 1
f ' f ' ( x ) f ( x h) f ( x h)
2h 2h
sebagai input adalah nilai h
10 X=1; EXACT=cos(X)
20 INPUT “masukkan nilai h (lebar langkah)”;H
30 IF H<=0 THEN STOP
40 FPRIME=(sin(X+H)-sin(X-H))/(2*H)
50 DIFF=EXACT-FPRIME
60 PRINT USING “h=#.#####, Kesalahan=+#.#####”;H,DIFF
70 GOTO 20
Plot[{Sin[x],Cos[x],-Sin[x]},{x,0,1.5},
GridLinesAutomatic,FrameTrue, AxesLabel{x,y}]
Hasil dari program secara umum, formula 3 titik memiliki hasil evaluasi
yang hampir sama dibanding dengan formula 2 titik. Jawaban cukup terarah ketika
nilai h diperkecil, tetapi hanya sampai pada satu titik tertentu, dan setelah itu yang
terjadi adalah cukup buruk. Hal ini karena aritmetika pada komputer dibentuk
hanya sampai presisi terbatas ( variabel presisi tunggal BASIC memiliki 5-6 digit
desimal), sehingga ketika h cukup kecil dan beda f 1 dengan f–1 sangat kecil, maka
terjadi round off error.
Ketika disubtitusikan pada formula 3 titik, maka f’≈1,000000, hasil yang
sangat buruk. Jika menggunakan aritmetika 10 digit signifikan, maka f 1=
0,8414715251; sementara f -1=0,8414704445, yang memberikan hasil yang cukup
dapat dipertanggungjawabkan f’≈0,540300.
Jadi seperti pada penjelasan diawal, bahwa diferensiasi numerik secara
intrinsik prosesnya tidak stabil ( no well-defined limit as h0), sehingga harus
diselesaikan dengan hati-hati.
Dari formula 5 titik, derivatif dihitung dengan cara mengambil asumsi
bahwa f didekati dengan polinomial orde 4 melalui interval 5 titik [-2h,2h].
Walaupun membutuhkan komputasi yang lebih, pendekatan ini lebih akurat seperti
terlihat pada perbandingan komputasi diatas.
Contoh 4c
Buatlah program untuk mencari turunan pertama berdasarkan formula beda pusat 3
titik, dan dipakai untuk menghitung percepatan penerjun pada t = 10 detik, ketika
diketahui laju penerjun selama melayang di udara memenuhi persamaan:
v(t )
gm
c
1 e ( c / m )t ( Lihat persamaan 1.7 Bab 1)
Solusi
Program Turunan1_BedaPusat;
Uses wincrt;
Const eps = 1e-3;
Type Deret = Array[1..2] of Real;
Var fx, del, dx, zz, x, y, h : Real;
i, n : Integer;
z : Deret;
Begin
Clrscr;
Writeln;
Write(“:5,’x:’); Readln(y) ;
Writeln;
h := 1;
n := 0;
zz :=0;
del :=10;
While Abs (del) >= eps Do
Begin
n := n+1;
For i := 1 To 2 Do
Begin
Case i of
1: x :=y+h;
2: x :=y – h;
End;
{ -dapat berubah sesuai bentuk fungsi -}
fx := 9.8*68.1*(1 – exp( - 12.5*x/68.1));
fx := fx/12.5;
{-------------------------------------}
z[i]:=fx;
End;
dx := (z[1] – z[2])/(2*h) ;
del := zz – dx ;
Writeln (‘’:5, h:10, ‘’:5, dx:10,’’:5, del:10) ;
zz := dx;
h := h/10;
End;
Writeln;
Writeln(‘’:5,‘Turunan Pertama f’(x) :’,dx:10) ;
Gotoxy(60,5); Write(‘Tekan <Esc>’) ;
Repeat Until Readkey = #27;
End.
Contoh 4d
Buatlah program untuk menghitung turunan kedua suatu fungsi jarak yang
ditempuh penerjun payung :
gm m (c / m)t
f ( x) x [e 1]
c c
berdasarkan formula beda pusat 3 titik pada t = 10 detik.
Solusi
Program Turunan2_BedaPusat;
Uses wincrt;
Const eps = 1e-3;
Bilamana fungsi dapat dihitung pada absis-absis berjarak sama yang terletak ke
kanan ( kiri) dari x, maka dapat digunakan formula beda maju (mundur). Formula
tersebut dapat diturunkan memakai metode-metode yang berlainan, pembuktiannya
dapat bersandar pada deret Taylor, polinom pengintegralan Lagrangre, atau
polinom interpolasi Newton. Beberapa formula beda maju/mundur berorde O(h2),
sebagai berikut:
Formula beda maju (forward difference)
3 f 0 4 f 1 f 2 3 f ( x ) 4 f ( x h) f ( x 2h)
f ' ( x) =
2h 2h
2 f 5 f1 4 f 2 f 3
f ' ' ( x) 0 (4.12)
h2
(4.12)
5 f 0 18 f1 24 f 2 14 f 3 3 f 4
f ' ' ' ( x)
2h 3
3 f 14 f1 26 f 2 24 f 3 11 f 4 2 f 5
f ' ' ' ' ( x) 0
h4
Formula beda mundur (backward difference)
3 f 0 4 f 1 f 2
f ' ( x)
2h
2 f 5 f 1 4 f 2 f 3
f ' ' ( x) 0 (4.13)
h2
5 f 18 f 1 24 f 2 14 f 3 3 f 4
f ' ' ' ( x) 0
2h 3
3 f 14 f 1 26 f 2 24 f 3 11 f 4 2 f 5
f ' ' ' ' ( x) 0
h4
Contoh 4e
Buatlah program untuk kasus soal 4c berdasarkan formula beda maju
Solusi
Program Turunan1_BedaMaju;
Uses crt;
Const eps = 1e-3;
Type Deret = Array[1..3] of Real;
Var fx, del, dx, zz, x, y, h : Real;
i, n : Integer;
z : Deret;
Begin
Clrscr;
Writeln;
Write(“:5,’x:’); Readln(y) ;
Writeln;
h := 1;
n := 0;
zz :=0;
del :=10;
m/s2. Contoh tampilan list program dan hasil running contoh 4d dan 4e
menggunakan Turbo Pascal For Windows 1.5, terlihat pada gambar 4.3.
Gambar 4.4. Area dibawah kurva y=f(t) untuk 0≤ t≤5 & nilai Ф(x)
5 t3
Nilai pendekatan untuk Ф(5) adalah (5) dt 4,8998922
0 et 1
setiap penambahan nilai Ф(x) harus ditentukan oleh integrasi numerik yang lain.
NIntegrate[t^3/(Exp[t]-1),{t,0,5}]
4.89989
---------------------------------------------------------------------------------------------------
Tujuan dari pembahasan materi ini adalah untuk memahami prinsip-prinsip
dasar integrasi numerik. Sasaran dasarnya adalah pendekatan integral tentu f(x)
pada selang a≤ x≤b dengan sejumlah titik-titik sampel (sample nodes), (x0,f0),
(x1,f1), (x2,f2),…., (xM,fM) dengan fk=f(xk). Rumus pendekatan berbentuk:
b
f ( x)dx
a
0 f 0 1 f1 ... M f M (4.15)
nilai-nilai ω0, ω1,…, ωM berupa konstanta atau bobot. Tergantung pada penerapan
yang diinginkan, simpul-simpul xk dipilih dalam berbagai cara. Untuk aturan
Trapesium, Simpson, dan aturan Boole, simpul-simpul xk=a+hk dipilih berjarak
sama. Untuk integrasi Gauss-Legendre simpul-simpul dipilih berupa titik-titik nol
dari polinom-polinom Legendre tertentu. Bilamana formula integrasi dipakai
menurunkan suatu algoritma eksplisit untuk memecahkan persamaan diferensial,
simpul-simpul semuanya dipilih lebih kecil dari b.
Beberapa formula umum yang berdasarkan pada interpolasi polinom
disebut formula integrasi Newton Cotes. Ketika titik sample x 0=0 dan xM=b
digunakan dalam formula, formula tersebut dinamakan formula Newton Cotes
tertutup.
Contoh 4f
Sebuah benda putar, diperlihatkan pada gambar 4.6, dibentuk dengan memutar
kurva y=1+(x/2)2, 0<=x<= 2, disekitar sumbu x. Hitunglah volume menggunakan
perluasan aturan trapesium dengan N=2,4,8,16,32,64 dan 128. Nilai benar adalah
I=11,7286. Evaluasi kesalahan pada setiap N.
Solusi
2
Volume diberikan oleh persamaan: I f ( x)dx
0
2
x 2
dimana f ( x) 1
2
N h Ih eh
2 1 12,7627 -1,0341
4 0,5 11,9895 -0,2609
8 0,25 11,7940 -0,0654
16 0,125 11,7449 -0,0163
32 0,0625 11,7326 -0,0040
64 0,03125 11,7296 -0,0010
128 0,015625 11,7288 -0,0002
Hasil ini memberikan data bahwa kesalahan berkurang sebanding dengan h 2.
--------------------------------------------------------------------------------------------------
Integrate[Pi (1+(x/2)^2)^2,x]
3
x x5
x
6 80
Integrate[Pi (1+(x/2)^2)^2,{x,0,2}]
56
15
NIntegrate[Pi (1+(x/2)^2)^2,{x,0,2}]
11.7286
-------------------------------------------------------------------------------------------------
ba
b
E f ( x)dx [ f (a) f (b)] (4.19)
a
2
dimana bentuk pertama adalah integral eksak, dan bentuk kedua adalah bentuk dari
aturan trapesium. Kesalahan ini adalah penjumlahan kesalahan untuk seluruh
interval. Ketika perluasan aturan trapesium digunakan pada interval [a,b], yang
mana dibagi ke dalam N interval dengan N+1 titik x 0, x1,…,xN, dengan x0=a dan
xN=b. Sehingga kesalahan perluasan aturan trapesium menjadi:
1 (b a ) 3 N
E
12 N 3
f ''(x )
i 1
i (4.20)
Contoh 4g
Kecepatan sebuah kapal selam yang berada dibawah kepingan es kutub diberikan
dalam tabel.
Solusi
2
Jarak tempuh didefinisikan sebagai jarak v(t )dt .
0
Gunakan aturan trapesium, dengan N=8, h=0,25, sehingga
0,25
jarak _ tempuh(v, h) (6 6) 0,25(7,5 8 9 8,5 10,5 9,5 7) 16,5km
2
h
I [ f0 4 fi f2 ] E (4.22)
3
h5
dimana f i f ( xi ) f (a ih) , dengan kesalahan sebesar: E f 4( x)
90
Gambaran pendekatan simpson dapat dilihat pada Gambar 4.7 berikut ini
Aturan Simpson 1/3 juga bisa diadaptasi untuk N genap interval, yang
formulanya dituliskan sebagai berikut;
N 1 N 2
h
I [ f (a ) 4 f (a ih) 2 f (a ih) f (b)] E
3 i 1( ganjil) i 2 ( genap)
atau dituliskan
h
I [ f 0 4 f 1 2 f 2 4 f 3 2 f 4 ... 2 fN 2 4 fN 1 fN ] E
3
Contoh 4h
Hitunglah volume sebuah benda putar, pada contoh 4c menggunakan perluasan
aturan Simpson 1/3 dengan N=2,4,8,16,32,64. Nilai benar adalah I=11,7286.
Evaluasi kesalahan pada setiap N.
Solusi
Kalkulasi untuk N=2 dan 4 ditunjukkan sebagai berikut:
N=2:
h=2/2=1
h
I [ f (0) 4 f (1) f (2)] ( / 3)[1 4(1,5625) 4] 11,7809
3
N=4:
h=2/4=0,5
0,5
I [ f (0) 4 f (0,5) 2 f (1) 4 f (1,5) f (2)] 11,7318
3
Integrasi dengan N yang lain memberikan hasil sebagai berikut:
N h Ih eh
2 1 11,7809 -0,0523
4 0,5 11,7318 -0,0032
8 0,25 11,7288 -0,0002
16 0,125 11,7286 0,0000
32 0,0625 11,7286 0,0000
64 0,03125 11,7286 0,0000
Contoh 4i
Buatlah program untuk menghitung kesalahan komputasi dari
1
e dx e 1 1,718282
x
0
dengan menggunakan perluasan aturan Simpson 1/3.
Cek perbandingannya dengan perluasan aturan trapesium !
Solusi
Program BASIC dengan input N
5 DEF FNF(X)=EXP(X)
10 EXACT=EXP(1)-1
15 INPUT “masukkan N (jumlah iterasi)”;N%
20 IF N%<=0 THEN STOP
25 ‘
30 H=1/N%
35 SUM=FNF(0)
40 FAC=2
45 ‘
50 FOR I%=1 TO N%-1
55 IF FAC=2 THEN FAC=4 ELSE FAC=2
60 X=I%*H
65 SUM=SUM+FNF(X)*FAC
70 NEXT I%
75 ‘
80 SUM=SUM+FNF(1)
85 INTEGRAL=H*SUM/3
90 DIFF=EXACT-INTEGRAL
95 PRINT USING “N=####, Kesalahan=#.#####”;N%,DIFF
100 GOTO 15
Hasil program memberikan realitas bahwa pada kasus ini perluasan aturan Simpson
konvergensinya cukup cepat, yaitu pada N=16, seperti tercantum pada tabel
berikut.
N h e e
Simpson Trapesium
4 0,2500000 -0,000037 -0,008940
8 0,1250000 0,000002 -0,002237
16 0,0625000 0,000000 -0,000559
32 0,0312500 0,000000 -0,000140
64 0,0156250 0,000000 -0,000035
128 0,0078125 0,000000 -0,000008
Sebagai pembanding adalah perluasan aturan Trapesium dengan hasil kolom paling
kanan, sekaligus bukti bahwa simpson 1/3 disamping sederhana memiliki
konvergensi yang cepat.
Contoh 4j
Buatlah program untuk mencari jarak yang ditempuh penerjun payung dengan
t
menggunakan hubungan: h
0 v(t )dt . Gunakan persamaan laju penerjun selama
melayang di udara pada contoh 4c
Solusi
Program Simpson;
Uses wincrt;
Const max = 100;
eps = 1e-3;
Type indeks = 1..max;
Luas = Array[indeks] of Real;
Var simp : Luas;
x, x1, x2, delt, delx, pita, fx : Real;
i, j : Integer;
Begin
Clrscr;
Write('':5,'Batas bawah:'); Readln(x1) ;
Write('':5,'Batas atas:'); Readln(x2) ;
Writeln; Writeln;
i :=0;
delt :=100;
Repeat
Begin
i:=i+1;
j:=0;
simp[i]:=0;
x:=x1;
pita:=2*exp((i-1)*Ln(2));
delx:=(x2-x1)/pita;
While x<x2 Do
Begin
{-------dapat berubah sesuai bentuk fungsi -----}
fx := 1 - exp(- 12.5*x/68.1);
{-----------------------------------------------}
j:=j+1;
If (x=x1) Or (x=x2) Then simp[i]:=simp[i]+fx
Else
Begin
If(x>x1) And (x<x2) And (j mod 2=0) Then
FisikaKomputasi £i-FST Undana 158
alifis@corner
Telegram : https://t.me/fisikafilsafat
Twitter : https://twitter.com/alifis_AW
Blog : https://alifis.wordpress.com/
simp[i]:=simp[i]+4*fx;
If (x>x1) And (x<x2) And (j mod 2=1) Then
simp[i]:=simp[i]+2*fx;
End;
x:=x+delx;
End;
simp[i]:=simp[i]*delx/3;
If i=1 Then
Writeln('':5, pita:5:0,'':5,simp[i]:15)
Else
Begin
delt:=simp[i]-simp[i-1];
Writeln('':5,pita:5:0,'':5,simp[i]:15,'':10,
delt:15);
End;
End;
Until Abs(delt)<eps;
Writeln('':5, 'Harga Integrasi :' ,simp[i]:15) ;
Gotoxy(60,5); Write('Tekan <Esc>') ;
Repeat Until Readkey = #27;
End.
B A
Untuk menyelesaikan bentuk integrasi yang dijumpai dalam kasus ini
dengan menggunakan metode Simpson 1/3, langkah pertama adalah ambil suatu
pita sejajar kawat berarus yang panjangnya L=30 cm dan lebarnya dr. Maka luas
pita dA = L dr. Fluks magnet yang menembus pita ini adalah:
Gambar 4.11 Hasil runing progam integrasi untuk studi kasus fluks magnetik
4.7 SOAL-SOAL
t I(t)
1,0 8,2277
1,1 7,2428
1,2 5,9908
1,3 4,5260
1,4 2,9122
i yi(m) Ui(m/s)
0 0.0 0.0
1 0.001 0.4171
2 0.003 0.9080
3 0.006 1.6180
t(oC) C(kkal/(kg.oC)
-100 0,11904 Hitunglah panas yang diperlukan untuk
memanasi 1 kg zat tersebut dari – 100oC
FisikaKomputasi £i-FST Undana
hingga 200oC menggunakan metode 163
trapesium !
alifis@corner
Telegram : https://t.me/fisikafilsafat
Twitter : https://twitter.com/alifis_AW
Blog : https://alifis.wordpress.com/
-50 0,12486
0 0,13200
50 0,14046
100 0,15024
150 0,16134
200 0,17376
(4) Andaikan f(x)=ln x, carilah pendekatan komputasi numerik untuk f”(5) dengan
menggunakan:
[a] formula orde O(h2) dengan h=0,05 dan 0,01
[b] formula orde O(h4) dengan h=0,01
(5) Sebuah mobil bermassa M=5400 kg bergerak dengan kecepatan 30 m/s. Mesin
dilepas secara tiba-tiba pada t= 0 detik. Asumsikan bahwa persamaan gerak
setelah t=0 diberikan oleh:
dv
5400 v 8,276 v 2 2000
dx
Dimana v=v(t) adalah kecepatan (m/s) mobil pada saat t. Persamaan sisi kiri
menyatakan Mv(dv/dx). Suku pertama sisi kanan adalah aerodynamic drag,
dan suku kedua adalah resistansi putaran ban. Hitunglah seberapa jauh mobil
berjalan sampai kecepatannya berkurang menjadi 15m/s! Evaluasi
menggunakan aturan Simpson.
Petunjuk: persamaan gerak dalam integrasi:
30 5400 vdv
s
15 8,276 v 2 2000
dx x
DAFTAR PUSTAKA
Chapra, S.C., and Canale, R.P., Numerical Methods for Engineers, McGraw-Hill,
1998
James, M.L., G.M. Smith, and J.C. Wolford, Applied Numerical Methods for
Digital Computations, 3rd ed. Harper & Row, 1985
Koonin, S.E., Computational Physics, Addison-Wesley Inc, 1986