Turunan Numerik
Turunan Numerik
y
y
0
y = f(x)
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
6
x
-1
x
-1
x
0
y
0
y
-1
y = f(x)
2h
Rumus-rumus turunan numerik untuk ketiga
pendekatan tersebut dapat diturunkan dengan dua
cara, yaitu:
1. Dengan bantuan deret Taylor
2. Dengan hampiran polinominterpolasi
Kedua cara tersebut menghasilkan rumus yang sama.
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
7
Penurunan Rumus dengan Deret Taylor
(a) Hampiran selisih-maju
Uraikan f(x
i+1
) di sekitar x
i
:
f(x
i+1
) = f(x
i
) +
( )
! 1
1 i i
x x
+
f '(x
i
) +
( )
! 2
2
1 i i
x x
+
f "(x
i
) + ...
f
i+1
= f
i
+ hf
i
' + h
2
/2 f
i
" + .. .
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
8
hf
i
' = f
i+1
- f
i
- h
2
/2 f
i
" + ...
f
i
' =
h
f f
i i
+1
- h/2 f
i
"
f
i
' =
h
f f
i i
+1
+ O(h)
yang dalam hal ini, O(h) = h/2 f "(t), x
i
< t < x
i+1
Untuk nilai-nilai f di x
0
dan x
1
persamaan rumusnya menjadi:
) ( '
0 1
0
h O
h
f f
f +
=
yang dalam hal ini O(h) = h/2 f "(t), x
i
< t < x
i+1
.
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
9
(b) Hampiran selisih-mundur
Uraikan f(x
i-1
) di sekitar x
i
:
f(x
i-1
) = f(x
i
) +
( )
! 1
1 i i
x x
+
f '(x
i
) +
( )
! 2
2
1 i i
x x
+
f "(x
i
) + ...
f
i-1
= f
i
- hf
i
' + h
2
/2 f
i
" + ...
hf
i
' = f
i
- f
i-1
+ h
2
/2 f
i
" + ...
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
10
f
i
' =
h
f f
i i 1
- h/2 f
i
" + ...
f
i
' =
h
f f
i i 1
+ O(h),
yang dalam hal ini, O(h) = - h/2 f "(t), x
i-1
< t < x
i
Untuk nilai-nilai f di x
0
dan x
-1
persamaan rumusnya menjadi:
) ( '
1 0
0
h O
h
f f
f +
=
yang dalam hal ini, O(h) = - h/2 f "(t), x
i+1
< t < x
i
.
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
11
(a) Hampiran selisih-pusat
Kurangkan persamaan (P.7.4) dengan persamaan (P.7.6):
f
i+1
- f
i-1
= 2hf
i
' + h
3
/3 f
i
"' + ...
2hf
i
' = f
i+1
- f
i-1
- h
3
/3 f
i
"' + ...
f
i
' =
h
f f
i i
2
1 1 +
- h
2
/6 f
i
"' + ...
f
i
' =
h
f f
i i
2
1 1 +
+ O(h
2
),
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
12
h 2
yang dalam hal ini, O(h
2
) = - h
2
/6 f "'(t), x
i-1
< t < x
i+1
Untuk nilai-nilai f di x
-1
dan x
1
persamaan rumusnya menjadi:
) (
2
'
2 1 1
h O
h
f f
f
o
+
=
yang dalam hal ini, O(h
2
) = - h/6 f "'(t), x
i-1
< t < x
i+1
.
Rumus untuk Turunan Kedua, f (x), dengan
Bantuan Deret Taylor
(a) Hampiran selisih-pusat
Tambahkan persamaan (P.7.4) dengan persamaan (P.7.6) di atas :
f
i+1
+ f
i-1
= 2 f
i
+ h
2
f
i
" + h
4
/12 f
i
(4)
+ ...
f
i+1
- 2f
i
+ f
i-1
= h
2
f
i
" + h
4
/12 f
i
(4)
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
13
i+1 i i-1 i i
f
i
" =
2
1 1
2
h
f f f
i i i +
+
- h
2
/12 f
i
(4)
Jadi,
f
i
" =
2
1 1
2
h
f f f
i i i +
+
+ O(h
2
),
yang dalam hal ini, O(h
2
) = - h
2
/12 f
(4)
(t), x
i-1
< t < x
i+1
Untuk nilai-nilai f di x
-1
, x
0
, dan x
1
persamaan rumusnya menjadi:
f
0
" =
2
1 0 1
2
h
f f f +
+ O(h
2
)
yang dalam hal ini O(h
2
) = - h
2
/12 f
(4)
(t), x
i-1
< t < x
i+1
.
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
14
(b) Hampiran selisih-mundur
Dengan cara yang sama seperti (a) di atas, diperoleh :
f
i
" =
2
1 2
2
h
f f f
i i i
+
+ O(h),
yang dalam hal ini O(h) = h f "(t), x
i-2
< t < x
i
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
15
Untuk nilai-nilai f di x
-2
, x
-1
, dan x
0
persamaan rumusnya :
) (
2
"
2
0 1 2
0
h O
h
f f f
f +
+
=
,
yang dalam hal ini, O(h) = h f "(t) , x
i-2
< t < x
i
(c) Hampiran selisih-maju
Dengan cara yang sama seperti di atas, diperoleh :
f
i
" =
2
1 2
2
h
f f f
i i i
+
+ +
+ O(h),
yang dalam hal ini, O(h) = - h f "(t), x
i
< t < x
i+2
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
16
yang dalam hal ini, O(h) = - h f "(t), x
i
< t < x
i+2
Untuk nilai-nilai f di x
0
, x
1
, dan x
2
persamaan rumusnya :
), (
2
"
2
0 1 2
0
h O
h
f f f
f +
+
=
yang dalam hal ini, O(h) = - h f "(t), x
1
< t < x
i+2
.
Penurunan Rumus Turunan Numerik
dengan Polinom Interpolasi
PolinomNewton-Gregory:
f (x) p
n
(x) = f
0
+
! 1
0
f s
+ s(s-1)
! 2
0
2
f
+ s(s-1)(s-2)
! 3
0
3
f
+
0
f
n
= F(s)
yang dalam hal ini, s = (x-x )/h.
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
18
yang dalam hal ini, s = (x-x
0
)/h.
(a) Hampiran selisih-maju
- bila digunakan titik-titik x
0
dan x
1
:
f '(x
0
) = 1/h (f
0
) =
h
f f
0 1
- bila digunakan titik-titik x
0
, x
1
, dan x
2
:
f '(x
0
) = 1/h (f
0
+ (s- 1/2)
2
f
0
)
untuk titik x
0
s = (x
0
- x
0
)/h = 0, sehingga
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
19
f '(x
0
) = 1/h (f
0
- 1/2
2
f
0
)
= 1/h (f
0
- 1/2(f
1
- f
0
) )
= 1/h (3/2 f
0
- 1/2 f
1
)
= 1/h (3/2 f
1
- 3/2 f
0
- 1/2 f
2
+ 1/2 f
1
)
= 1/h (-3/2 f
0
+ 2 f
1
- 1/2 f
2
)
( )
h
f f f
x f
2
4 3
'
2 1 0
0
+
=
(b) Hampiran selisih-mundur
- polinom interpolasi: Newton-Gregory mundur
- bila digunakan titik-titik x
0
dan x
-1
:
f '(x
0
) = 1/h ( f
0
) =
h
f f
1 0
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
20
(c) Hampiran selisih-pusat
- digunakan tiga titik x
0
, x
1
, dan x
2
:
f '(x
0
) = 1/h (f
0
+ (s - 1/2)
2
f
0
)
untuk titik x
1
s = (x
1
- x
0
)/h = h/h = 1, sehingga
f '(x
1
) = 1/h (f
0
+ 1/2
2
f
0
)
= 1/h (f
0
+ 1/2(f
1
- f
0
) )
= 1/h (1/2 f + 1/2 f )
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
21
= 1/h (1/2 f
0
+ 1/2 f
1
)
= 1/2h ( f
1
- f
0
+ f
2
- f
1
)
=
h
f f
2
0 2
untuk titik x
-1
, x
0
, dan x
1
:
f '(x
0
) =
h
f f
2
1 1
Rumus untuk Turunan Kedua, f "(x),
dengan Polinom Interpolasi
Turunan kedua f adalah
2
2
dx
f d
=
ds
d
|
\
|
dx
df
dx
ds
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
22
= 1/h (0 +
2
f
0
+ (s - 1)
3
f
0
) . 1/h
= 1/h
2
(
2
f
0
+ ( s - 1)
3
f
0
)
Misalkan untuk hampiran selisih-pusat, titik-titik yang digunakan x
0
, x
1
, dan x
2
:
- pada titik x
1
s = (x
1
- x
0
)/h = h/h = 1, sehingga
f "(x
1
) = 1/h
2
(
2
f
0
+ (1 - 1)
3
f
0
)
= 1/h
2
(
2
f
0
)
= 1/h
2
(f
1
- f
0
)
= 1/h
2
( f - f + f + f )
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
23
= 1/h
2
( f
2
- f
1
+ f
1
+ f
0
)
= 1/h
2
( f
0
- 2f
1
+ f
2
)
- untuk titik x
-1
, x
0
, dan x
1
:
2
1 0 1
0
2
) ( "
h
f f f
x f
+
=
Ringkasan Rumus-Rumus Turunan
1. Rumus untuk turunan pertama
f
0
' =
h
f f
0 1
+ O(h) (selisih-maju)
f
0
' =
h
f f
1 0
+ O(h) (selisih-mundur)
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
24
f
0
' =
h
f f
2
1 1
+ O(h
2
) (selisih-pusat)
f
0
' =
h
f f f
2
4 3
2 1 0
+
+ O(h
2
) (selisih-maju)
f
0
' =
h
f f f f
12
8 8
2 1 1 2
+ +
+ O(h
4
) (selisih-pusat)
2. Rumus untuk turunan kedua
f
0
" =
2
1 0 1
2
h
f f f
+
+ O(h
2
) (selisih-pusat)
f
0
" =
2
0 1 2
2
h
f f f +
+ O(h) (selisih-mundur)
f
0
" =
0 1 2
2 f f f +
+ O(h) (selisih-maju)
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
25
f
0
" =
2
0 1 2
h
+ O(h) (selisih-maju)
f
0
" =
h
f f f f
12
2 5 4
0 1 2 3
+ +
+ O(h
2
) (selisih-maju)
f
0
" =
2
2 1 0 1 2
12
16 30 16
h
f f f f f
+ +
+ O(h
4
) (selisih-pusat)
3. Rumus untuk turunan ketiga
f
0
"' =
3
0 1 2 3
3 3
h
f f f f +
+ O(h) (selisih-maju)
f
0
"' =
3
2 1 1 2
2
2 2
h
f f f f
+
+ O(h
2
) (selisih-pusat)
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
26
4. Rumus untuk turunan keempat
f
0
(iv)
=
4
0 1 2 3 4
4 6 4
h
f f f f f + +
+ O(h) (selisih-maju)
f
0
(iv)
=
4
2 1 0 1 2
4 6 4
h
f f f f f
+ +
+ O(h
2
) (selisih-pusat)
Contoh
Diberikan data dalam bentuk tabel sebagai berikut :
x f(x)
1.3 3.669
1.5 4.482
1.7 5.474
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
27
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(h
2
) dan O(h
4
)
(b) Hitunglah f '(1.4)dengan rumus hampiran selisih-pusat orde O(h
2
)
(c) Rumus apa yang digunakan untuk menghitung f '(1.3) dan f '(2.5) ?
Penyelesaian:
(a) Orde O(h
2
):
f
0
' =
h
f f
2
1 1
Ambil titik-titik x
-1
= 1.5 dan x
1
= 1.9, yang dalam hal ini x
0
= 1.7 terletak di tengah
keduanya dengan h = 0.2.
f '(1.7) =
482 . 4 686 . 6
= 5.510 (empat angka bena)
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
28
f '(1.7) =
( ) 2 . 0 2
482 . 4 686 . 6
= 5.510 (empat angka bena)
Orde O(h
4
):
f
0
' =
h
f f f f
12
8 8
2 1 1 2
+ +
Ambil titik-titik x
-2
= 1.3 dan x
-1
= 1.5 , x
1
= 1.9, dan x
2
= 2.1, yang dalam hal ini x
0
=
1.7 terletak di pertengahannya.
f '(1.7) =
( ) ( )
( ) 2 . 0 12
669 . 3 482 . 4 8 686 . 6 8 166 . 8 + +
= 5.473 (4 angka bena)
(b) Orde O(h
2
):
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
29
(b) Orde O(h ):
Ambil titik-titik x
-1
= 1.3 dan x
1
= 1.5, yang dalam hal ini x
0
= 1.4 terletak di
tengahnya dan h = 0.1.
f '(1.4) =
( ) 1 . 0 2
669 . 3 482 . 4
= 4.065 (4 angka bena)
(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 :
f
0
' =
h
f f
0 1
+ O(h)
f '(1.3) =
2 . 0
669 . 3 482 . 4
= 4.065
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
30
2 . 0
Hampiran selisih-mundur :
f
0
' =
h
f f
1 0
+ O(h)
f '(2.5) =
2 . 0
974 . 9 182 . 12
= 11.04
Terapan Turunan Numerik dalam Bidang
Pengolahan Citra
Citra digital dapat disajikan oleh matriks f yang berukuran M
N dengan bentuk
(
(
(
(
=
n
N
f f f
f f f
f
...
...
2 22 21
1 12 11
Tiap elemen matriks adalah bilangan bulat dalamrentang
[0..255] untuk citra 8 bit.
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
31
(
(
(
=
MN M M
f f f
f
...
2 1
M M M M
Salah satu proses yang terdapat dalampengolahan
citra ialah pendeteksian tepi.
Tepi merupakan feature yang penting pada suatu citra.
Tepi didefinisikan sebagai perubahan intensitas yang
besar dalamjarak yang singkat.
Perbedaan intensitas inilah yang menampakkan rincian
pada gambar. Tepi memberikan informasi batas-batas
objek dengan lingkungannya atau dengan objek yang
lain, feature untuk mengidentifikasi objek, dan untuk
terapan penapisan citra.
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
32
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
33
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
34
Salah satu pendekatamyang dipakai dalam
pendeteksian sisi adalah dengan kemiringan
diferensial (differential gradient).
Secara matematis perubahan intensitas yang
besar dalamjarak yang sangat singkat dapat
dipandang sebagai suatu fungsi yang memiliki dipandang sebagai suatu fungsi yang memiliki
kemiringan yang besar.
Pengukuran kemiringan suatu fungsi dilakukan
dengan menghitung turunan pertamanya.
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
35
Dalamcitra digital, pendeteksian tepi dapat dilakukan dengan
cara yang mirip, yaitu dengan turunan pertamanya secara
parsial dalamruang diskrit:
yang dalamhal ini kedua turunan parsial didefinisikan sebagai
f(x, y) =
(
y f
x f
/
/
=
(
y
x
f
f
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
36
D
1
(x) =
( )
x
y x f
,
( )
x
y x f y x x f
+ ) , ( ,
D
1
( y) =
( )
y
y x f
,
( )
y
y x f y y x f
+ ) , ( ,
Biasanya 1 = = y x , sehingga persamaan turunan pertama menjadi:
) , ( ) , 1 (
) , (
) (
1
y x f y x f
x
y x f
x D + =
=
) , ( ) 1 , (
) , (
) (
1
y x f y x f
y
y x f
y D + =
=
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
37
Kekuatan tepi pada setiap pixel citra dihitung dengan
rumus:
G[f(x,y)] = | f
x
2
| + | f
y
2
|
atau dengan rumus
G[f(x,y)] = max ( f
2
| , | f
2
|) G[f(x,y)] = max ( f
x
2
| , | f
y
2
|)
Suatu pixel dianggap sebagai pixel sisi jika kekuatan
tepinya di atas nilai ambang (threshold) tertentu.
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
38
D
1
(x) dan D
1
( y) merupakan hampiran selisih-maju.
Hampiran lain yang dipakai adalah hampiran selisih-
pusat, yaitu:
D
2
(x) =
( )
x
y x f
,
( )
x
y x x f y x x f
+
2
) , ( ,
( ) +
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
39
D
2
(y) =
( )
y
y x f
,
( )
y
y y x f y y x f
+
2
) , ( ,
Operator lain yang digunakan untuk mendeteksi sisi
adalah yang berdasarkan pada operasi turunan
kedua, yang dikenal dengan operator Laplace
(Laplacian).
Operator Laplace mendeteksi lokasi tepi lebih akurat Operator Laplace mendeteksi lokasi tepi lebih akurat
khususnya pada tepi yang curam.
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
40
f(x)
f /x
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
41
2
f /x
2
(a) Tepi landai (b) Tepi curam
Jika digunakan hampiran selisih-maju, maka operator Laplace
diturunkan sebagai berikut:
2
f =
2
2
x
f
+
2
2
y
f
= D
1
(D
1
(x)) + D
1
( D
1
( y))
=
x
1
D
1
( f(x + x, y) - D
1
( f(x,y)) +
y
1
D
1
( f(x, y + y)
D
1
( f(x, y))
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
42
=
x
1 ( ) ( ) ( ) ( )
)
`
+ + +
x
y x f y x x f
x
y x x f y x x x f , , , ,
+
y
1
( ) ( ) ( ) ( )
)
`
+ + +
y
y x f y y x f
y
y y x f y y y x f , , , ,
=
( ) ( ) ( )
( )
2
, , 2 , 2
x
y x f y x x f y x x f
+ + +
+
( ) ( ) ( )
( )
2
, , 2 2 ,
y
y x f y y x f y y x f
+ + +
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
43
(a)
(b)
(a) citra botol; (b) hasil pendeteksian tepi dengan operator Laplace