BAb - 07 Turunan Numerik PDF
BAb - 07 Turunan Numerik PDF
Turunan Numerik
Lebih banyak lagi yang terdapat di langit dan di bumi, Horatio, daripada
yang kau mimpikan di dalam filosofimu.
(Hamlet)
Setiap mahasiswa yang pernah mengambil kuliah kalkulus tentu masih ingat dengan
turunan fungsi yang didefenisikan sebagai
lim f (x + h) − f (x)
f '(x) = (P.7.1)
h →0 h
E(x) =
( x − x 0 )(x − x1 )(x − x 2 ) ... (x − x n ) f (n +1) (ξ ) , x0 ≤ ξ ≤ xn
(n + 1) !
atau untuk menghitung galat integrasi numerik dengan aturan trapesium :
−1
E(x) = (b-a) h2 f "(t) , a≤t≤b
12
Bila persamaan fungsi f(x) diberikan secara eksplisit, maka kita dapat menentukan
fungsi turunannya, f '(x), f "(x), ..., f (n+1)(x), lalu menggunakannya untuk menghitung
nilai turunan fungsi di x = t.
(i) f(x) =
( )
cos 2 x 2 + x tan (3x )
,
sin ( x ) + e x − 2 x / cos( x )
(ii) f(x) = x e (2x + 2) ln (4x2) ,
(iii) dan sebagainya.
Untuk kedua kasus terakhir, perhitungan nilai turunan dapat dikerjakan secara
numerik (numerical differentiation atau numerical derivative). Nilai turunan yang
diperoleh merupakan nilai hampiran. Sebagaimana halnya pada integrasi numerik,
perhitungan turunan numerik juga menggunakan nilai-nilai diskrit. Karena itu, fungsi
dalam bentuk tabel merupakan bentuk alami untuk perhitungan turunan.
f (x 0 + h ) − f ( x 0 − h ) f 1 − f −1
f '(x0) = = (P.7.3)
2h 2h
Tafsiran geometri dari ketiga pendekatan di atas diperlihatkan pada Gambar 7.1.
y y
y1
y0 y0 y = f(x)
y = f(x)
y-1
h h
x-1 x0 x1 x x-1 x0 x1 x
y0
y = f(x)
y-1
2h
x-1 x0 x-1
dan
fi = f(xi).
Kita ingin menghitung f '(x), yang dalam hal ini x = x0 + sh, s ∈ R dengan ketiga
pendekatan yang disebutkan di atas (maju, mundur, pusat).
f i +1 − f i
fi ' = - h/2 fi "
h
f i +1 − f i
fi ' = + O(h)
h
yang dalam hal ini, O(h) = h/2 f "(t), xi < t < xi+1
f1 − f 0
f0 ' = + O(h ) (P.7.5)
h
yang dalam hal ini O(h) = h/2 f "(t), xi < t < xi+1 .
( x i +1 − x i ) ( x i +1 − x i )2
f(xi-1) = f(xi) + f '(xi) + f "(xi) + ...
1! 2!
2
fi-1 = fi - hfi ' + h /2 fi " + ... (P.7.6)
f i − f i −1
fi ' = + O(h),
h
yang dalam hal ini, O(h) = - h/2 f "(t), xi-1 < t < xi
f 0 − f −1
f0' = + O ( h) (P.7.7)
h
yang dalam hal ini, O(h) = - h/2 f "(t), xi+1 < t < xi.
yang dalam hal ini, O(h2) = - h2/6 f "'(t), xi-1 < t < xi+1
f 1 − f −1
fo ' = + O(h 2 ) (P.7.8)
2h
yang dalam hal ini, O(h2) = - h/6 f "'(t), xi-1 < t < xi+1.
Perhatikan, bahwa hampiran selisih-pusat lebih baik daripada dua hampiran sebelumnya,
sebab orde galatnya adalah O(h2).
Jadi,
f i +1 − 2 f i + f i −1
fi" = + O(h2),
h2
yang dalam hal ini, O(h2) = - h2/12 f (4)(t), xi-1 < t < xi+1
f1 − 2 f 0 + f1
f0" = + O(h2) (P.7.9)
h2
yang dalam hal ini O(h2) = - h2/12 f (4)(t), xi-1 < t < xi+1.
f i − 2 − 2 f i −1 + f i
fi" = + O(h),
h2
yang dalam hal ini O(h) = h f "(t), xi-2 < t < xi
f − 2 − 2 f −1 + f 0
f0" = + O ( h) , (P.7.10)
h2
yang dalam hal ini, O(h) = h f "(t) , xi-2 < t < xi
f 2 − 2 f1 + f 0
f0" = + O (h ), (P.7.11)
h2
xi = x0 + ih, i = 0, 1, 2, ..., n,
dan
x = xo + sh, s ∈ R
dF ds
f ' (x) = df /dx =
ds dx
= (0 + ∆f0 + (s- 1/2) ∆2f 0 + (s2/2 - s + 1/3) ∆3f 0 + ... ) 1/h
= 1/h (∆f0 + (s- 1/2) ∆2f 0 + galat) (P.7.12)
− 3 f 0 + 4 f1 − f 2
f ' (x 0 ) = (P.7.13)
2h
f 1 − f −1
f '(x0) = (P.7.15)
2h
d2 f d df ds
=
dx 2 ds dx dx
= 1/h2 (∆2f 0 )
= 1/h2 ( f2 - f1 + f1 + f0 )
= 1/h2 ( f0 - 2f1 + f2 )
f −1 − 2 f 0 + f 1
f " (x0 ) = (P.7.16)
h2
Contohnya, kita menentukan rumus galat dan orde dari rumus turunan numerik
hampirin selisih-pusat:
f 1 − f −1
f ' (x0) = +E
2h
Nyatakan E (galat) sebagai ruas kiri persamaan, lalu ekspansi ruas kanan dengan
deret Taylor di sekitar x0 :
E = f '(x0) - ( f1 - f-1 )/2h
Jadi, hampiran selisih-pusat memiliki galat E = - h2/6 f "'(t), x-1 < t < x1, dengan
orde O(h2).
f1 − f 0
f0' = + O(h) (selisih-maju)
h
f 0 − f −1
f0' = + O(h) (selisih-mundur)
h
f 1 − f −1
f0' = + O(h2) (selisih-pusat)
2h
− f 2 + 8 f 1 − 8 f −1 + f − 2
f0' = + O(h4) (selisih-pusat)
12 h
f 1 − 2 f 0 + f −1
f0" = 2
+ O(h2) (selisih-pusat)
h
f − 2 − 2 f −1 + f 0
f0" = + O(h) (selisih-mundur)
h2
f 2 − 2 f1 + f 0
f0" = + O(h) (selisih-maju)
h2
− f 3 + 4 f 2 − 5 f1 + 2 f 0
f0" = + O(h2) (selisih-maju)
12 h
− f 2 + 16 f 1 − 30 f 0 + 16 f −1 − f − 2
f0" = 2
+ O(h4) (selisih-pusat)
12 h
f 3 − 3 f 2 + 3 f1 − f 0
f0"' = + O(h) (selisih-maju)
h3
f 2 − 2 f 1 + 2 f −1 − f − 2
f0"' = 3
+ O(h2) (selisih-pusat)
2h
f 4 − 4 f 3 + 6 f 2 − 4 f1 + f 0
f0(iv) = + O(h) (selisih-maju)
h4
f 2 − 4 f 1 + 6 f 0 − 4 f −1 + f − 2
f0(iv) = + O(h2) (selisih-pusat)
h4
x f(x)
1.3 3.669
1.5 4.482
1.7 5.474
1.9 6.686
2.1 8.166
2.3 9.974
2.5 12.182
(a) Hitunglah f '(1.7) dengan rumus hampiran selisih-pusat orde O(h2) dan O(h4)
(b) Hitunglah f '(1.4)dengan rumus hampiran selisih-pusat orde O(h2)
(c) Rumus apa yang digunakan untuk menghitung f '(1.3) dan f '(2.5) ?
Penyelesaian:
(a) Orde O(h2):
f1 − f −1
f0 ' =
2h
Ambil titik-titik x-1 = 1.5 dan x1 = 1.9, yang dalam hal ini x0 = 1.7 terletak di tengah
keduanya dengan h = 0.2.
6.686 − 4. 482
f '(1.7) = = 5.510 (empat angka bena)
2(0.2 )
Orde O(h4):
− f 2 + 8 f1 − 8 f −1 + f 2
f0 ' =
12h
(c) Untuk menghitung f '(1.3) digunakan rumus hampiran selisih-maju, sebab x = 1.3
hanya mempunyai titik-titik sesudahnya (maju), tetapi tidak memiliki titik-titik sebelumnya.
Sebaliknya, untuk menghitung nilai f '(2.5) digunakan rumus hampiran selisih-mundur,
sebab x = 2.5 hanya mempunyai titik-titik sebelumnya (mundur).
Hampiran selisih-maju :
f1 − f 0
f0 ' = + O(h)
h
4.482 − 3. 669
f '(1.3) = = 4.065
0.2
Hampiran selisih-mundur :
f 0 − f −1
f0 ' = + O(h)
h
12.182 − 9.974
f '(2.5) = = 11.04 <
0. 2
2h 2h 1
D(2h) = ( f2 - f-2) + O((2h)2)
2(2 h )
x-2 x-1 x0 x1 x2
= f0' + C(2h)2 + ...
= f0' + 4Ch2 + ... (P.7.19)
dari sini,
D (h ) − D (2h )
C= (P.7.20)
− 3h 2
D(h) = f0' +
[D(h ) − D(2 h )] h 2
− 3h 2
= f0' - 1/3 [ D(h) - D(2h) ]
atau
yang dalam hal ini n adalah orde galat rumus yang dipakai. Misalnya digunakan
rumus hampiran selisih-pusat orde O(h2) dalam menghitung D(h) dan D(2h),
maka n = 2, sehingga rumus ekstrapolasi Richardsonnya adalah seperti pada
persamaan (P.7.21).
Catat juga bahwa setiap perluasan ekstrapolasi Richardson akan menaikkan orde
galat dari O(hn) menjadi O(hn+2) (lihat bahasan esktrapolasi Richardson pada Bab
Integrasi Numerik).
Contoh 7.2
Diberikan data dalam bentuk tabel sebagai berikut :
x f(x)
2.0 0.42298
2.1 0.40051
2.2 0.37507
2.3 0.34718
2.4 0..31729
2.5 0.28587
2.6 0.25337
2.7 0.22008
2.8 0.18649
2.9 0.15290
3.0 0.11963
Tentukan f '(2.5) dengan ekstrapolasi Ricahrdson bila D(h) dan D(2h) dihitung dengan
rumus hampiran selisih-pusat orde O(h2) sampai 5 angka bena.
Penyelesaian:
D(h) → selang titik yang dipakai: [2.4 , 2.6] dan h = 0.1
x-1 = 2.4, x0 = 2.5, x1 = 2.6
D(h) =
f1 − f −1
=
(0.25337− 0.31729) = -0.31960
2h 2(0.1)
D(2h) =
f 2 − f −2
=
(0.22008− 0.34718) = -0.31775
2h 2(0.2 )
D(4h) =
f 4 − f −4
=
(0.40051− 0.15290) = -0.30951
2h 2 (0 .4 )
D(h) = -0.31960 dan D(2h) = -0.31775 keduanya dihitung dengan rumus orde
O(h2), maka n = 2, sehingga
f '(2.5) = f0' = D(h) + 1/(2 2 - 1) [ D(h) - D(2h) ]
= -0.31960 + 1/3 (-0.31960 + 0.31775)
= -0.32022 → mempunyai galat orde O(h4)
D(2h) = -0.31775 dan D(4h) = -0.30951 keduanya dihitung dengan rumus orde
O(h2), maka n = 2, sehingga
f '(2.5) = f0' = D(2h) + 1/(22 - 1) [ D(2h) - D(4h) ]
= -0.31775 + 1/3 (-0.31775 + 0.30951)
= -0.32050 → mempunyai galat orde O(h4)
D(2h) = -0.32022 dan D(4h) = -0.32050 mempunyai galat orde O(h4), maka
n = 4, sehingga
f '(2.5) = f0' = D(2h) + 1/(24 - 1) [ D(2h) - D(4h) ]
= -0.32022 + 1/15 ( -0.32022 + 0.32050)
= -0.32020 → mempunyai galat orde O(h6)
Tabel Richardson :
f 11 f12 ... f 1N
f f 22 ... f 2n
f =
21
(P.7.22)
M M M M
f M1 fM2 ... f MN
Tiap elemen matriks adalah bilangan bulat dalam rentang [0..255] untuk citra 8
bit.
Salah satu proses yang terdapat dalam pengolahan citra ialah pendeteksian tepi. Tepi
merupakan feature yang penting pada suatu citra. Tepi didefinisikan sebagai
perubahan intensitas yang besar dalam jarak yang singkat. Perbedaan intensitas
inilah yang menampakkan rincian pada gambar. Tepi biasanya terdapat pada
batas antara dua daerah berbeda pada suatu citra. Tepi memberikan informasi
batas-batas objek dengan lingkungannya atau dengan objek yang lain, feature
untuk mengidentifikasi objek, dan untuk terapan penapisan citra.
Salah satu pendekatamyang dipakai dalam pendeteksian sisi adalah dengan kemiringan
diferensial (differential gradient). Secara matematis perubahan intensitas yang
besar dalam jarak yang sangat singkat dapat dipandang sebagai suatu fungsi yang
memiliki kemiringan yang besar. Pengukuran kemiringan suatu fungsi dilakukan
dengan menghitung turunan pertamanya. Dalam citra digital, pendeteksian tepi
dapat dilakukan dengan cara yang mirip, yaitu dengan turunan pertamanya secara
parsial dalam ruang diskrit:
∂f (x , y ) f (x + ∆x , y ) − f ( x, y )
D1(x) = ≈ (P.7.24)
∂x ∆x
∂f (x , y ) f (x, y + ∆y ) − f ( x, y)
D1( y) = ≈ (P.7.25)
∂y ∆y
G[f(x,y)] = | fx 2 | + | fy 2 | (P.7.26)
Suatu pixel dianggap sebagai pixel sisi jika kekuatan tepinya di atas nilai ambang
(threshold) tertentu.
D1(x) dan D1( y) merupakan hampiran selisih -maju. Hampiran lain yang dipakai
adalah hampiran selisih-pusat, yaitu:
∂f (x , y ) f (x + ∆x , y ) − f ( x − ∆x , y )
D2(x) = ≈ (P.7.28)
∂x 2 ∆x
∂f ( x , y ) f (x, y + ∆y ) − f ( x, y − ∆ y)
D2(y) = ≈ (P.7.29)
∂y 2 ∆y
Gambar 7.2 adalah contoh hasil deteksi semua tepi citra Lena, citra Camera, dan
citra botol.
f(x)
∂f /∂x
∂ 2f /∂x2
Pada Gambar 7.3, kurva pada baris pertama menunjukkan perubahan intensitas
suatu tepi. Baris kedua adalah turunan pertamanya, dan baris ketiga adalah turunan
keduanya. Kolom kiri (a) adalah untuk sisi yang landai sedangkan kolom (b) untuk
sisi yang curam. Dari Gambar 7.3 terlihat juga bahwa turunan kedua dari tepi
yang landai tidak terdapat persilangan-nol (zerro crossing), sedangkan pada tepi
yang curam terdapat persilangan-nol yang ditandai dengan titik (•). Persilangan-
nol ialah titik perubahan dari nilai positif ke negatif atau sebaliknya.
1 f (x , y + ∆y + ∆y ) − f ( x, y + ∆ y ) f ( x, y + ∆ y ) − f (x , y )
−
∆y ∆y ∆y
f (x + 2 ∆x, y ) − 2 f ( x + ∆x, y ) + f (x , y )
= +
(∆ x )2
f (x, y + 2 ∆y ) − 2 f ( x, y + ∆y ) + f (x, y )
(P.7.30)
(∆y ) 2
(a) (b)
Gambar 7.4 (a) citra botol; (b) hasil pendeteksian tepi dengan operator Laplace
Soal Latihan
dan
12 2 (iv)
E = - h f0 + ...
h2
tentukan nilai-nilai tetapan a-2, a-1, a1, dan a2. Perlihatkan juga bahwa
1 4 (v)
E = h f0 + ...
30
x f(x)
1.000 0.54030
1.100 0.45360
1.198 0.36422
1.199 0.36329
1.200 0.36236
1.201 0.36143
1.202 0.36049
1.300 0.26750
1.400 0.16997
(b) Tabel di atas adalah tabel f(x) = cos(x). Bandingkan jawaban yang anda
peroleh dengan nilai sejatinya.
4. Misalkan f1/2' = f '(x0 + h/2) adalah hampiran nilai turunan dengan rumus
selisih-pusat orde O(h2):
f1 − f 0
f1/2' = + O(h2)
h
5. Misalkan D(2h) dan D(4h) adalah hampiran f '(x0) dengan lebar selang 2h dan
4h menggunakan rumus hampiran selisih-pusat orde O(h4). Turunkan rumus
ektrapolasi Richardson untuk menghitung perkiraan f '(x0) yang lebih baik
adalah:
f '(x0) = D(2h) +
[D(2h ) − D (4 h )]
15