BAB 3
Interpolasi
1. Beda Hingga
2. Interpolasi Linear dan Kuadrat
2. Interpolasi Linear dan Kuadrat
3. Interpolasi Beda-Maju dan Beda-Mundur
Newton
1. Beda Hingga
Misalkan diberikan suatu tabel nilai-nilai numeris fj = f(xj) dari suatu fungsi f pada titik-titik yang berjarak sama,
x0, x1 = x0 + h, x2 = x0 + 2h, x3 = x0 + 3h, …
dengan h > 0 tetap.
Fungsi f(xi) bisa berupa hasil suatu rumus atau nilai yang diperoleh secara empiris dari percobaan.
Beda-beda pertama dari fungsi f diperoleh dengan mengurangkan tiap Beda-beda pertama dari fungsi f diperoleh dengan mengurangkan tiap nilai fungsi f(x) untuk x berikutnya yang lebih besar dalam tabel.
Beda-beda kedua dari fungsi f diperoleh dengan mengurangkan tiap nilai beda pertama dari fungsi f(x) untuk x berikutnya yang lebih besar dalam tabel.
Seterusnya sehingga dalam tabel beda, setiap beda dimasukan ke dalam kolom yang sesuai, ditengah-tengah antara elemen-elemen kolom
Terdapat tiga notasi untuk beda-beda yang terjadi dalam suatu tabel beda.
A. Beda-beda Pusat
Bentuk tabel beda-beda pusat sebagai berikut:
1 2
x
x
x
− −
1 2
f
f
f
− −
2 1 2
3
f f
δ δ
− −
2 1 2
f f
δ
δ
−2 1 3
f
δ −
2 1 0
x
x
x
2 1 0
f
f
f
2 3 2 1 2
f f
δ δ
1 2
0 f f
δ
δ
2 1 3
2
f
δ
m m
m
f
f
f
=
+−
+ 1
2 1
δ
Secara umum diperoleh,
Indeks beda di kiri adalah rataan indeks beda di kanan
2 1 2
1 2
− +
−
=
m m
m
f
f
f
δ
δ
B. Beda-beda Maju
Bentuk tabel beda-beda maju sebagai berikut:
1 0 1 2
x
x
x
x
− −
1 0 1 2
f
f
f
f
− −
0 1 2
f
f
f
∆
∆
∆
− −
2 1 2
2 2
f
f
f
∆
∆
∆
− −
1 3
2 3
− −
∆
∆
f
f
2 1
x
x
2 1
f
f
1
f
∆
02
f
∆
f
−1m m
m
f
f
f
=
−
∆
+1Secara umum diperoleh,
Beda-beda dengan indeks yang sama terletak pada garis yang miring ke bawah atau maju pada tabel
m m
m
f
f
f
=
∆
−
∆
Algoritma Beda-beda maju
Diberikan xj,
Untuk k = 1, 2, …, n lakukan
untuk m = 0, 1, …, n – k, lakukan
n
j
x
f
f
f
j j(
j),
0
,
1
,
2
,
...,
0
=
=
=
∆
m k
m k
m k
f
f
f
=
∆
−1 +1−
∆
−1∆
2 1 0 1 2
x
x
x
x
x
− −
2 1 0 1 2
f
f
f
f
f
− −
2 1 0 1
f
f
f
f
∇
∇
∇
∇
−2 2
1 2
0 2
f f f
∇ ∇ ∇
2 3
1 3
f
f
m m
m
f
f
f
=
−
∇
−1Secara umum diperoleh,
Beda-beda dengan indeks yang sama terletak pada garis yang miring ke atas atau mundur pada tabel
m m
m
f
f
f
=
∇
−
∇
∇
2 −1Kaitan dari ke tiga notasi beda-beda di atas adalah :
2 2
n m n n
m n m
n
f
f
f
+ −
∇
=
∆
=
δ
Contoh 3.1 Contoh 3.1
Nilai dan beda dari f(x) = 1/x, x = 1 (0.2) 2, 4D
!
0 . 2
8 . 1
6 . 1
4 . 1
2 . 1
0 . 1
5000 . 0
5556 . 0
6250 . 0
7143 . 0
8333 . 0
0000 .
1
556 694 893 1190 1667
− − − − −
138 199 297 477
61 98 180
− − −
37 82
Catatan, bila ditetap-kan x0 = 1.6, maka di-peroleh
-0.0893
2 1 − =
δ
f1
−
∆
=
f
0
f
2. Interpolasi linear dan Kuadrat
Diberikan tabel nilai suatu fungsi f(x), seringkali untuk mencari nilai-nilai
f(x) untuk nilai x diantara nilai-nilai x yang muncul dalam tabel tersebut.
Masalah untuk memperoleh nilai f(x) demikian disebut Interpolasi.
Nilai-nilai f(x) yang ditabulasikan dan digunakan dalam proses ini disebut nilai-nilai pivotal.
Metode interpolasi biasanya didasarkan pada asumsi bahwa disekitar nilai
x yang dipertanyakan, fungsi f(x) dapat dihampiri oleh polinom p(x), yang
x yang dipertanyakan, fungsi f(x) dapat dihampiri oleh polinom p(x), yang nilainya pada x tersebut merupakan hampiran dari nilai fungsi f(x).
Interpolasi linear
"
# !$ % $ !$ & !
% ' % !
! & (
) ! ! * ( + % %
( (
%
% f (x) ≈ p1(x) = f0 + r( f1 − f0)
=
f
0+
r
∆
f
0 ,=
−
0,
0
≤
r
≤
1
h
x
x
r
Interpolasi linear sering digunakan untuk menghitung tabel logaritma dan fungsi trigonometri.
Interpolasi linear akan memberikan hasil yang baik selama nilai-nilai x dalam tabel sedemikian dekatnya sehingga talibusur-talibusur
menyimpang dari kurva f(x) cukup kecil, katakanlah kurang dari ½ satuan angka terakhir dalam tabel untuk setiap x diantara x0 dan x1.
Galat untuk iterpolasi linear adalah
Taksiran galat tersebut adalah :
) ( )
( )
( )
( )
(x = p1 x − f x = f0 + r f1 − f0 − f x
ε
2 2 8 1
)
(x ≤ h M
ε
Dimana f(x) mempunyai turunan kedua pada dan f’’(x) terbatas
dengan
Interpolasi kuadrat
-1
0 x x
x ≤ ≤
2
) ( '
' x M
f ≤
!$ . ' ( * ( + %
! $ & (. ( . . . .
% ! & %
.
) 2
( 2
) 1 (
) (
) ( )
(x p2 x f0 r f1 f0 r r f2 f1 f0
f ≈ = + − + − − +
0 2 0
0
2 ) 1 (
f r
r f
r
f + ∆ + − ∆
=
2 0
,
0 ≤ ≤
−
= r
Contoh 3.2
Diketahui nilai ln 9.0 = 2.1972 dan nilai ln 9.5 = 2.2513. Tentukan nilai ln 9.2.
Jawab
Diperoleh r = 0.2 / 0.5 = 0.4, sehingga
ln 9.2 = ln 9.0 + 0.4 ( ln 9.5 – ln 9.0)
= 2.1972 + 0.4 ( 2.2513 – 2,1972)
= 2.2188 (eksak sampai 3D)
Contoh 3.3 Contoh 3.3
Diketahui nilai ln 9.0 = 2.1972, ln 9.5 = 2.2513 dan nilai ln 10.0 = 2.3026. Tentukan nilai ln 9.2.
Jawab
Diperoleh r = 0.2 / 0.5 = 0.4, sehingga
ln 9.2 = ln 9.0 + 0.4 ( ln 9.5 – ln 9.0)+ (1/2)(0.4)(-0,6)(ln 10.0-(2)(ln 9.5)+ln 9.0)
= 2.197 + 0.4 ( 2.251 – 2,197) +(-0.12)(2.3026 – (2)2.2513 + 2.1972)
= 2.2192 (eksak sampai 4D)
3. Interpolasi Beda Maju dan Beda Mundur Newton
Hampiran lebih teliti diperoleh bila menggunakan polinom yang derajatnya lebih tinggi.
Polinom pn(x) berderajat n ditentukan secara tunggal oleh n+1 nilai xi, i = 0, 1, 2, …, n, yang berlainan, sedemikian sehingga diperoleh,
pn(x0) = f0 , pn(x1) = f1, …, pn(xn) = fn
dengan f(x0) = f0 , f(x1) = f1, …, f(xn) = fn
Polinom ini diberikan dalam rumus interpolasi beda-maju Newton: Polinom ini diberikan dalam rumus interpolasi beda-maju Newton:
(
, r n
h x x
r = − 0 , 0 ≤ ≤
0 0
2 0
0
!
) 1 )...(
1 ( ... !
2 ) 1 ( )
( )
( f
n
n r r
r f
r r f
r f x
p x
f ≈ n = + ∆ + − ∆ + + − − + ∆n
0 0
f s
r s
n
s
∆ =
=
!
) 1 )...(
2 )(
1 (
s
s r r
r r s
r − − − +
Bukti.
Akan ditunjukkan bahwa pn(xk) = fk untuk k = 0, 1, 2, …, n.
Tetapkan terlebih dahulu r = k, sehingga diperoleh x = x0 + rh = x0 + kh = xk.
dan
0 .
1 * ( * . % * (
0 0
2 0
0 ...
2 k f
k f k f k f
fk = + ∆ + ∆ + + ∆k
0 0 f s k s k s ∆ = = ) ( k n
k p x
f =
1 * ( ( * (. % * (
2 * 3. &
4 * 3 +
+ = − + s q s q s q 1 1
. ! & $ %
0 0 2 0 0 ... 2 1
0 q f
q f q f q f q
fq = + ∆ + ∆ + + ∆q
q q
q f f
f +1 = +∆
0 0 2 0 0 ... 2 1
0 q f
q f q f q f q q ∆ + + ∆ + ∆ + = 0 1 0 3 0 2 0 ... 2 1
0 q f
q f q f q f
q q+
∆ + + ∆ + ∆ + ∆ + 0 f s ∆ 0 1 0 2 0 0 1 1 1 ... 2 1 1 1 0 1 f q q f q f q f q
fq+ ∆q+
Galat yang terlibat dalam interpolasi maju Newton adalah
Dengan adalah turunan ke-(n+1) dari fungsi f dan t terletak dalam
interval yang titik-titik ujungnya adalah nilai terkecil dan terbesar dari nilai-nilai x0, x1, …, xn, x.
) 1 (n+
f
) ( )
)...( (
)! 1 (
1 )
( )
( )
( x x0 x x f ( 1) t
n x
f x
p
x n − − n n+
+ =
− =
ε
Algoritma Rumus Interpolasi Beda-maju Newton
Diberikan xjj = x00 + jh, j = 0, 1, 2, … dan nilai-nilai fungsi yang berpadanan
yaitu . Juga diberikan nilai
Tetapkan
Hitung
Untuk k = 0, 1, 2, …, sampai penghentian, lakukan
Periksa untuk penghentian
) (
0
j j
j f f x
f = =
∆ xˆ
0 0
(
x
ˆ
)
f
p
=
h x x
r = ˆ − 0
0 1 1
1 )
ˆ ( )
ˆ
( f
k r x
p x
pk+ k ∆k+
+ +
Contoh 3.4
Memakai nilai-nilai dari tabel berikut
xi 2.0 2.1 2.2 2.3 2.4
f(xi) 1.414214 1.449138 1.483240 1.516575 1.549193
Terapkan rumus interpolasi beda maju Newton untuk mencari f(2.05) dan f(2.15).
Jawab
a. Untuk x = 2.05, tetapkan x0 = 2.0 sehingga r = 0.05 / 0.1 = 0.5
) 2 )( 1 ( ) 1 ( − + − − − + + − − + − + =
≈ r r r r r
b. Untuk x = 2.15, tetapkan x0 = 2.1 sehingga r = 0.05 / 0.1 = 0.5
431782 . 1 ) 4 6 4 ( ! 4 ) 3 )( 2 )( 1 ( ) 3 3 ( ! 3 ) 2 )( 1 ( ) 2 ( ! 2 ) 1 ( ) ( ) 05 . 2 ( ) 05 . 2 ( 0 1 2 3 4 0 1 2 3 0 1 2 0 1 0 4 = + − + − − − − + − + − − − + + − − + − + = ≈ f f f f f r r r r f f f f r r r f f f r r f f r f p f 466268 . 1 ) 3 3 ( ! 3 ) 2 )( 1 ( ) 2 ( ! 2 ) 1 ( ) ( ) 15 . 2 ( ) 15 . 2
( 3 0 1 0 2 1 0 3 2 1 0
= − + − − − + + − − + − + =
≈ p f r f f r r f f f r r r f f f f
Sedangkan rumus untuk interpolasi beda mundur Newton adalah:
, r n
h x x
r = − 0 , 0 ≤ ≤
0 0
2 0
0
!
) 1 )...(
1 ( ... !
2 ) 1 ( )
( )
( f
n
n r r
r f
r r f
r f x
p x
f ≈ n = + ∇ + − ∇ + + − − + ∇n
0 0
f s
r s
n
s
∇ =
=
) 1 )...(
2 )(
1
(r r r s
r
r − − − +
= % $ $ $ !
!
s
s = % $ $ $ !
Rumus interpolasi lain yang menggunakan beda hingga adalah rumus Everett
Rumus ini melibatkan beda-beda hingga tingkat genap. Rumus Everett yang paling sederhana adalah:
1 2 0
2 1
0
! 3
) 1 ( ) 1 (
! 3
) )( 1
)( 2
( )
1 ( )
(x r f rf r r r f r r r f
f ≈ − + + − − − δ + + − δ
, = − 0 , 0 ≤ ≤1
r h
Untuk membuat penerapannya mudah, tabel-tabel fungsi biasanya menyerta-kan beda-beda kedua yang diperlumenyerta-kan. Galatnya adalah
dimana x0 – h < t < x0 + 2h
Contoh 3.5
Memakai nilai-nilai dari tabel berikut xi f(xi)
1.2 3.3201 333 1.3 3.6693 367
i
f
2
δ
) ( 4
1 )
( )
( )
(x = pn x − f x = −h4 r + f (4) t
ε
1.3 3.6693 367
Terapkan rumus Everett untuk mencari f(1.24).
Jawab
Untuk x = 1.24, tetapkan x0 = 1.2 sehingga r = 0.04 / 0.1 = 0.4
4556 .
3
0021 .
0 0021 .
0 4598 .
3
) 0367 .
0 ( 6
) 6 . 0 )( 4 . 0 )( 4 . 1 (
) 0333 .
0 ( 6
) 4 . 0 )( 6 . 0 )( 6 . 1 ( ) 6693 .
3 )( 4 . 0 ( ) 3201 .
3 )( 6 . 0 ( ) 24 . 1 (
=
− −
=
− +
− +
+ ≈
4. Polinom Interpolasi Beda terbagi Newton
Misalkan diberikan x0, x1, x2 ,…, xn dengan jarak sembarang.
Polinom pn(x) berderajat n melalui titik-titik (x0, f0), (x1, f1), …, (xn, fn) dengan fj = f(xj) diberikan oleh rumus interpolasi beda terbagi Newton:
]
,...,
,
[
)
)...(
(
...
]
,
,
[
)
)(
(
]
,
[
)
(
)
(
)
(
1 0 1 0 2 1 0 1 0 1 0 0 0 n n nx
x
x
f
x
x
x
x
x
x
x
f
x
x
x
x
x
x
f
x
x
f
x
p
x
f
−−
−
+
+
−
−
+
−
+
=
≈
Melibatkan beda-beda terbagi, yang secara iteratif didefinisikan sebagai,
0 1 0 1 1 0 ) ( ) ( ] , [ x x x f x f x x f − − = 0 2 1 0 2 1 2 1 0 ] , [ ] , [ ] , , [ x x x x f x x f x x x f − − = 0 1 1 0 2 1 1 0 ] ,..., , [ ] ,..., , [ ] ,..., , [ x x x x x f x x x f x x x f k k k k − − = − ... ...
5 * ( + % .
Algoritma Polinom Beda terbagi Newton.
Masukan : n, xi, i = 0, 1, .., n ; f(xi), i = 0, 1, .., n
x, Epsilon
Langkah-langkah :
) ( 0
0 f x
b ←
1 ;
0 ←
←b faktor pbagi
lakukan n
i
Untuk ←1, 2, ..., ,
) (x f b ←
(. . .8 &
( . 9 (. :. 9 (. . :
"
) ( i
i f x
b ←
lakukan i
i j
Untuk ← −1, −2, ..., 0,
j i
j j
j
x x
b b
b
− − ← +1
) .( − −1 ← faktor x xi
faktor
faktor b
suku ← 0.
suku p
pbagi ← bagi +
Selesai maka
Epsilon suku
Contoh 3.6
Diberikan pasangan nilai x0 = 1, f(x0) = 0; x1 = 4, f(x1) = 1.3862944; x2 = 6, f(x2) = 1.7917595; x3 = 5, f(x3) = 1.6094379;
a. Buat tabel beda terbagi dari data tersebut.
b. Gunakan tabel beda terbagi di atas dalam menerapkan rumus interpolasi beda terbagi Newton dengan x = 2
Jawab
a. Tabel beda terbaginya adalah
9 . : 9. .: 9. . .:
b.
-9 . : 9. .: 9. . .:
3 2 1 0
5 6 4 1
6094379 .
1
7917595 .
1
3862944 .
1
0
1823216 .
0
2027326 .
0
4620981 .
0
0204109 .
0
0518731 .
0
− −
007865 .
0
5658444 .
0 ) 0518731 .
0 )( 4 2 )( 1 2 ( ) 4620981 .
0 )( 1 2 ( 0 ) 2 ( )
2
( ≈ p2 = + − + − − − =
f
6287687 .
0 ) 007865 .
0 )( 6 2 )( 4 2 )( 1 2 ( ) 2 ( )
2 ( )
2
( ≈ p3 = p2 + − − − =
5. Polinom Interpolasi Lagrange
Metode interpolasi lain dalam kasus nilai pivotal x0ini didasarkan kepada
rumus interpolasi Lagrange n + 1 titik,
dengan,
i n
i i i
i
n
f
x
l
x
l
x
L
x
f
=
=
≈
0
(
)
)
(
)
(
)
(
) )...(
)( (
)
( 1 2
0 x x x x x x xn
l = − − −
) )...(
)( (
)
( 0 2
1 x x x x x x xn
l = − − −
) )...(
)( )...(
)( (
)
(x x x x x x x x x x x
l = − − − − −
... ...
Dalam hal ini terlihat bahwa untuk x = xi, maka
Rumus Interpolasi Lagrange dapat juga ditulis dalam bentuk
dengan
/
) )...(
)( )...(
)( (
)
( 0 1 i 1 i 1 n
i x x x x x x x x x x x
l = − − − − − + −
... ...
) )...(
)( (
)
( = − 0 − 1 − n−1
n x x x x x x x
l
i i
n
i
L
x
f
x
f
(
)
≈
(
)
=
i n
i
i
n
x
l
x
x
f
L
x
f
=
=
≈
0
)
,
(
)
(
)
(
−
−
∏
=
≠
j i
j
i j i
x
x
x
x
x
x
Algoritma Polinom Interpolasi Lagrange
Masukan : n, xi, i = 0, 1, .., n ; f(xi), i = 0, 1, .., n ; x
Langkah-langkah :
lakukan n
i
Untuk ←1, 2, ..., ,
lakukan n
j
Untuk ← 0, 1, ..., , 0
← plag
1
←
faktor
− x x
Contoh 3.7
Diberikan pasangan nilai x dan f(x) berikut:
Gunakan Interpolasi Lagrange untuk menghitung f(9.2).
(
) ( . f xi faktor
plag
plag ← +
− − ←
≠
j i
j
x x
x x faktor faktor
maka i
j
Jika .
X 9.0 9.5 10.0 11.0
Jawab
Dalam hal ini diperoleh,
Sehingga ) 0 . 11 )( 0 . 10 )( 5 . 9 ( ) (
0 x = x − x − x −
l ) 0 . 11 )( 0 . 10 )( 0 . 9 ( ) (
1 x = x− x − x −
l ) 0 . 11 )( 5 . 9 )( 0 . 9 ( ) (
2 x = x − x− x −
l ) 0 . 10 )( 5 . 9 )( 0 . 9 ( ) (
3 x = x− x − x −
l i i f x l l L
f ≈ =
3 3 ) ( ) 2 . 9 ( ) 2 . 9 ( ) 2 . 9 ( i
i=0 li(xi)
Masalah pencarian x untuk f(x) yang diberikan dikenal sebagai interpolasi balikan / invers.
Jika fungsi f terdiferensialkan dan df/dx tidak nol dekat titik dimana
interpolasi balikan harus diperhitungkan, balikan x = F(y) dan y = f(x) ada secara lokal didekat nilai f yang diberikan dan mungkin terjadi bahwa F dapat dihampiri dalam lingkungan itu dengan suatu polinom yang
derajatnya agak rendah. Kemudian jalankan interpolasi balikan dengan membuat tabulasi F sebagai suatu fungsi y dan menerapkan metode-metode interpolasi yang langsung pada F.
Jika df/dx = 0 dekat atau pada titik yang diinginkan, kemungkinan berguna untuk memecahkan p(x) = f dengan iterasi. Dalam hal ini, p(x) adalah