Anda di halaman 1dari 43

Turunan Numerik

Bahan Kuliah IF4058 Topik Khusus


Informatika I
Oleh; Rinaldi Munir (IF-STEI ITB)
1
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
Definisi Turunan (derivatif)
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.
f '(x) =
0
lim
h

( ) ( )
h
x f h x f +

menggunakannya untuk menghitung nilai turunan fungsi di x = t.
Tetapi jika fungsi f(x) tidak diketahui secara eksplisit, tetapi kita
hanya memiliki beberapa titik data saja. Pada kasus seperti ini kita
tidak dapat menemukan nilai turunan fungsi secara analitik.
Sebaliknya, pada kasus lain, meskipun f(x) diketahui secara eksplisit
tetapi bentuknya rumit sehingga menentukan fungsi turunannya
merupakan pekerjaan yang tidak mangkus
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
2
Persoalan Turunan Numerik
Persoalan turunan numerik ialah menentukan
hampiran nilai turunan fungsi f yang diberikan dalam
bentuk tabel.
Tiga pendekatan dalammenghitung turunan
numerik:
1. Hampiran selisih maju
2. Hampiran selisih mundur
3. Hampiran selisih pusat
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
3
1. Hampiran Selisih Maju (forward difference
approximation)
f '(x
0
) =
( ) ( )
h
x f h x f
0 0
+
=
h
f f
0 1


y
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
4
x
0
x
1
x
-1
x
y = f(x)
h
y
0
y
1
2. Hampiran selisih-mundur (backward difference
approximation)
f '(x
0
) =
( ) ( )
h
h x f x f
0 0
=
h
f f
1 0


y
IF4058 Topik Khusus Informatika I: Metode
Numerik/Teknik Informatika ITB
5
x
1
x
0
x
-1
y
0
y
-1
x
y = f(x)
h
3. Hampiran selisih-pusat (central difference
approximation)
f '(x
0
) =
( ) ( )
h
h x f h x f
2
0 0
+
=
h
f f
2
1 1


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

IF4058 Topik Khusus Informatika I: Metode


Numerik/Teknik Informatika ITB
17
s(s-1)(s-2)...(s- n+1)
!
0
n
f

= F(s)

yang dalam hal ini, s = (x-x
0
)/h.
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
+
s(s-1)(s-2)...(s- n+1)
!
0
n
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

Anda mungkin juga menyukai