BAB 3 Interpolasi
BAB 3 Interpolasi
FAKULTAS MIPA
JURUSAN ILMU KOMPUTER DAN ELEKTRONIKA
ILMU KOMPUTER
RKPM
Rencana Kegiatan Pembelajaran Mingguan
INTERPOLASI
oleh
1. Drs. G.P. Dalijo, Dipl. Comp.
2. Agus Sihabuddin, S.Si., M.Kom.
Desember 2012
BAB IV
INTERPOLASI
MINGGU KE 4,5
4.1 Definisi
Interpolasi adalah proses menemukan dan mengevaluasi sebuah fungsi yang
grafiknya melalui beberapa titik yang sudah diberikan. Fungsi yang dievaluasi paling
banyak berupa polinomial.
Permasalahan dapat dijelaskan sebagai berikut:
Diberikan n+1 titik data yang berupa pasangan bilangan :
( x , f ), ( x , f
0 0 1
), , ( x ,
1 n
f n
) dengan x ,x ,,x
0 1 n
semuanya
f i
yang diberikan, yaitu :
p x f , p x f
n 0 0 n 1 1
,, p
n
x f
n n
yang mempunyai derajat n atau
kurang.
Polinom p n
disebut penginterpolasi. Nilai-nilai x j sering disebut simpul.
Nilai f j
bisa berupa nilai-nilai fungsi matematis (tetapi f x tidak diketahui) atau
Interpolasi linier dapat digunakan untuk mengestimasi nilai f x untuk x yang tidak
ada di dalam data dengan menggunakan 2 titik terdekat dengan x.Secara detil, dapat
dijelaskan sebagai berikut
Garis lurus yang menghubungkan kedua titik merupakan grafik dari polinomial
x x f x x f
linear : p x 1 0 0 1
1
x x
1 0
p1 x f 0 x x0 f x0 , x1 f f
dengan f x , x 1 0
,
0
x x1
1 0
disebut beda
i = 0.1, atau p x f
1 i i
, i 0 .1
Gambar 4.1 Ilustrasi interpolasi linier
Dengan demikian, algoritma interpolasi linier dapat disusun sebagai berikut
Input : xi, i = 1, 2 ; f(xi), i = 1, 2 ; P1
Output : linier
Langkah-langkah :
Untuk i = 1, 2 lakukan
Ai := xi
Bi := f(xi)
B2 - B1
faktor :=
A 2 - A1
linier := B1 + (faktor * (P1 A1))
Contoh soal :
1. Carilah ln 9.2 dari ln 9.0 = 2.1972 dan ln 9.5 = 2.2513
Penyelesaian :
2.2513 2.1972
p 9.2 2.1972
1 9.5 9.0
9.2 9.0 = 2.2188
Jadi ln 9.2 = 2.2188
2. Taksirlah populasi Indonesia tahun 1998 jika diketahui populasi tahun
1980 adalah 179.3 juta dan 1990 adalah 203.2 juta.
3. Hitunglah interpolasi linear pada titik 1.5 jika diketahui f(1)=4, f(2)=9 dan
f(3)=16.
Penyelesaian:
p x f
1 0
x x f x , x
0 0 1
94
p 1.5 4 2 1 1.5 1
1
= 6.5
4.1.2 Interpolasi Kuadratik
Interpolasi kuadratik adalah interpolasi yang memakai sarana polinom
berderajat paling tinggi dua yang kurvanya melalui 3 titik
x , f , x , f , dan x , f
0 0 1 1 2 2
p x f
2 0
x x f x , x x x x x f x , x , x
0 0 1 0 1 0 1 2
f f
dengan f x , x 1 0
dan
0
x x 1
1 0
f x , x f x , x
f x , x , x
1 2 0 1
0 1 2
x x 2 0
p x f
2 0 0
f f
p x f x x 1 0
f dan
2 1
x x
0 1 0
1 0
1
p x f
2 2 2
Contoh soal:
Jika f 8.0 =2.0794, f 9.0 =2.1972 dan f 9.5 =2.2513, carilah f 9.2
Penyelesaian :
x = f =
f x , x 0.1178
0 0
8.0 2.0794 0 1
x 1
= f 1
2.1972 , , 0.0064
f x , x 0.1082 f x x x 0 1 2
1 2
9.0
x 2
= f 2
2.2513
9.5
p 9.2 2.2192
2
eksak sampai 4 desimal, karena ternyata:
f x ln x
f 9.2 ln 9.2 2.2192
Contoh soal :
Hitunglah interpolasi kuadratik pada titik 1.5 jika diketahui f(1)=4, f(2)=9 dan f(3)=16
Penyelesaian:
x = f =4
f x , x 5
0 0
1 0 1
x 1
= f 1
9
f x , x 7 f x , x , x 1
0 1 2
1 2
2
x 2
= f 2
16
3
p x f
2 0
x x f x , x x x x x f x , x , x
0 0 1 0 1 0 1 2
p x 4 x 1 5 x 1 x 21
2
= 1 + 2x + x2
P2(1.5) = 6.25
f f
f x x
, 1 0
, x x
0
1
x x
1 0
0 1
Untuk order yang lebih tinggi, dipakai beda terbagi order yang lebih rendah secara
rekursif:
f x , x f x , x
f x , x , x
1 2 0 1
0 1
x x
2
2 0
f x , x , x f x , x , x
f x , x , x , x
1 2 3 0 1 2
0 1 2 3
x x 3 0
Sehingga:
f x , , x f x , , x
f x , , x
1 n 0 n 1
0 n
x x n 0
p x f
n 0
x x f x , x x x x x f x , x , x
0 0 1 0 1 0 1 2
x x x x f x , , x
0 n 1 0 n
Contoh soal:
Carilah f 9.2 dari interpolasi menggunakan titik-titik (8.0, 2.079442), (9.0,
2.197225), (9.5, 2.251292), (11.0, 2.397895).
Penyelesaian :
Dengan menggunakan tabel :
f f x , x f x , x , x f x , x , x , x
i
x i i i i 1 i i 1 i2 i i 1 i2 i 3
0 8.0 2.079442
1 9.0 2.197225 0.117783
-0.006433
2 9.5 2.251292 0.000411
0.108134
3 11.0 2.397895 -0.005200
0.097735
- Algoritma interpolasi :
input : x , f , x , f , , x , f ; z
0 0 1 1 n n
output : p z
n
Langkah-langkah :
1. Untuk j = 0, 1, 2, , n lakukan: f x : f
j j
f x , x , , x jm f x j 1
, , x jm f x , x j j 1
, , x j m1
j j 1
x jm
xj
3. p z : f
0 0
4. Untuk k = 1, 2, 3, , n lakukan
p z p z z x z x f x , , x
k k 1 0 k 1 0 k
x, x x
0 1 0
h, x x2 0
2h , , x x
n 0
nh
dengan h adalah jarak antara 2 simpul. Ini akan menyederhanakan rumus interpolasi.
4.1.4.1 Rumus Beda Maju Newton (Gregory-Newton)
Didefinisikan :
f j
f j 1
f j
beda maju pertama
2 f j
f j 1
f j
beda maju kedua
k f j
k 1 f j 1
k 1 f j
beda maju ke-k
f x 0
, , xk 1
k! h k
k
f0 ....(1)
dengan h x xj j 1 (konstan)
Pembuktian:
Pembuktian dilakukan dengan memakai induksi, bahwa memang benar untuk k =
1, karena x1 = x0 + h, sehingga
f1 f 0 1 1
f [ x0 , x1 ] f1 f 0 f 0
x1 x0 h 1! h
Dengan anggapan (1) benar untuk semua beda maju orde k, maka rumus berlaku
untuk k+1. digunakan xk+1 = xo + (k+1)h dan j = 0.
f [ x1 , , x k 1 ] f [ x 0 , , x k ]
f [ x0 ,..., x k 1 ]
( k 1)h
1 1 1
k f 1 k f 0
( k 1) h k! h k
k! h k
1
k 1
k 1 f 0
( k 1)!h
Rumus di atas merupakan rumus (1) dengan k+1 sebagai ganti k. Dengan
demikian rumus (1) terbukti.
x x0
Bila ditetapkan bahwa x x 0 rh atau r , 0 r n, maka rumus
h
interpolasi menjadi :
n
r
f x Pn x s f 0
s 0 s
r r 1 2 r r 1 r n 1 n
f 0 r f 0 f 0 f0
2! n!
dengan koefisien-koefisien binomial didefinisikan dengan :
r r r r 1 r 2 r s 1
1,
0 s s!
Contoh soal:
Hitung cosh (0.56) jika diketahui cosh (0.5) = 1.127626, cosh (0.6) = 1.185465, cosh
(0.7) = 1.255169, cosh (0.8) = 1.377435
Penyelesaian :
j
x j f j
cosh x
j
f j
2 f j
3 f j
0 0.5 1.127626
1 0.6 1.185465 0.057839 -0.011865
2 0.7 1.255169 0.069704 -0.012562 0.000697
3 0.8 1.377435 0.082266
x x0 0.56 0.50
r 0.6
h 0.1
0.6( 0.4)
P3(0.56) = 1.127626 + 0.6 x 0.057839 + x 0.11865
2
0.6( 0.4)( 1.4)
+ x 0.000697
6
= 1.127626 + 0.034703 0.001424 + 0.000039
= 1.160944
k 1 k 1
Beda mundur ketiga : f j f j f j 1
k
(k = 1,2, )
Maka rumus interpolasi beda mundur Newton menjadi:
n
r s 1 s
f x Pn x f 0
s 0 s
r r 1 2 r r 1 r n 1 n
f 0 r f 0 f0 f0
2! n!
x x0
dengan x x0 r h r , 0rn
h
Sehingga :
Ln x0 f 0 f 0 b0 x0 f1b1 x0 ... f n bn x0 f 0
Ln x1 f1 f 0 b0 x1 f1b1 x1 ... f n bn x1 f1
Ln xn f 0 f 0 b0 xn f1b1 xn ... f n bn xn f n
di mana :
1
C0
( x 0 x1 )( x 0 x 2 )( x0 x3 ) ( x 0 x n )
1
C1
( x1 x 0 )( x1 x 2 )( x1 x3 ) ( x1 x n )
1
C0
( x 2 x0 )( x 2 x1 )( x 2 x3 ) ( x 2 x n )
1
C0
( x n x 0 )( x n x1 )( x n x 2 ) ( x n x n 1 )
Atau jika l n x ( x x0 )( x x1 )( x x2 ) ( x xk 1 )( x xk 1 ) ( x xn )
maka rumus interpolasi lagrange adalah :
n
lk x
f x Ln x fk
k 0 l k ( xk )
dengan :
l 0 x x x1 x x 2 x x n untuk k = 1,2, , n-1
l k x x x0 x x k 1 x x k 1 x x n
l n x x x0 x x1 x xn1
Contoh soal:
Carilah f(9.2) dengan interpolasi lagrange dengan n = 3 dan f(9.0)=2.19722,
f(9.5)=2.25129, f(10.0)=2.30259, f(11.0)=2.39790
Penyelesaian :
l0 x l x l x l x
L3 x f0 1 f1 2 f2 3 f3
l0 x0 l1 x1 l 2 x2 l3 x3
l0 x0 x0 x1 x0 x2 x0 x3 = -1.00000
l0 x x x1 x x2 x x3 = -0.43200
l1 x1 x1 x0 x1 x2 x1 x3 = 0.37500
l1 x x x0 x x2 x x3 = 0.28800
l2 x2 x2 x0 x2 x1 x2 x3 = -0.50000
l2 x x x0 x x1 x x3 = 0.10800
l3 x3 x3 x0 x3 x1 x3 x2 = 3.00000
l3 x x x0 x x1 x x2 = 0.04800
0.43200 0.28800 0.10800
L 3 (9.2) 2.19722 2.25129 2.30259
1.00000 0.37500 0.50000
0.04800
2.39700
3.00000
= 2.21920 (eksak sampai 5 angka decimal)
x
0 x 1
a. s( x) x 2 x 1 1 x 3
5x 8 3 x 4
Merupakan fungsi spline derajat 2. Derajat masing-masing fungsi paling tinggi
adalah 2. Bukan merupakan spline kubik (derajat 3) karena derivatif titik 2
tidak kontinyu, yaitu 0, 2, 0, untuk masing-masing interval.
2x 1 0 x 1
b. s( x) 1 x 2
x
Merupakan spline linier.
Soal: bagaimana dengan:
x 3 x 2 2x 1
2 2 x0
x 2 x 1 0 x 1
a. s( x) 3 2 1 x 3
x 4x 5x 2 3 x4
x 3 x 2 25x 43
x 3 2x
b. f ( x) x [0,1]
x [1,4]
3 5( x 1) 3( x 1) 2
s(x) disebut fungsi spline kubik alamiah yang menginterpolasi data (xi, yi).
Untuk membentuk s(x), dapat digunakan cara sebagai berikut:
s" ( x j 1 ) M j 1 dan
s" ( x j ) M j
Maka
( x j x) M j 1
s" ( x )
x j
untuk x j 1 x x j
Antiderivatif ke-2 dari s(x) pada [ x j 1, x j ] yang memenuhi kondisi penginterpolasi
s ( x j 1 ) y j 1 , s ( x j ) y j adalah:
( x j x) 3 M j 1 ( x x j 1 ) 3 M j ( x j x) y j 1 ( x x j 1 ) y j
s( x)
6( x j x j 1 ) ( x j x j 1 )
1
( x j x j 1 )[( x j x) M j 1 ( x x j 1 ) M j ] ...... (1)
6
untuk x j 1 x x j
Rumus tersebut diterapkan pada tiap interval [ x1 , x 2 ],....., [ x n 1 , y n ]
s(x) akan kontinyu pada [a, b] karena syarat s ( x j ) y i . Agar s ' ( x ) kontinyu pada
[a, b] maka s ' ( x ) pada [ x j 1 , x j ] dan [ x j , x j 1 ] harus mempunyai nilai yang sama
pada titik batas x = xj, j = 2, ....., n-2.
x j x j 1 x j 1 x j 1 x j 1 x j y j 1 y j y j y j 1
Dihasilkan: M j 1 Mj M j 1
6 3 6 x j 1 x j x j x j 1
Contoh soal:
1. Hitung spline kubik alamiah yang menginterpolasi data:
Secara umum:
xq xr
[ x,....., x p , x q , x r ]
[ x,....., x p , x q ] [ x,....., x p , x r ]
Contoh soal:
Untuk data x0 = -1, x1 = 0, x2 = 1, x3 = 2 dengan nilai-nilai fungsi 2, 1, 3, 2.5,
didapatkan tabel beda invers sebagai berikut.
i xi fi [ x 0 , xi ] [ x 0 , x1 , xi ] [ x 0 , x1 , x 2 , x3 ]
0 -1 2
1 0 1 -1
2 1 3 2 0.3333
3 2 2.5 6 0.2857 -21.0084
x1 x3 02 2
Salah satu perhitungan: [ x0 , x1 , x3 ]
[ x0 , x1 ] [ x0 , x3 ] 1 6 7
Dari definisi beda invers di atas, dapat diturunkan rumus interpolasi pecahan
rasional bersambung, seperti uraian berikut ini:
f ( x) f ( x0 ) x x0
f ( x) f ( x 0 ) ( x x 0 ) [ x 0 ] ..... (1)
x x0 [ x 0 , x]
x x0
1, 0 ( x) [ x 0 ]
[ x 0 , x1 ]
x x1
[ x 0 , x ] [ x 0 , x1 ]
[ x 0 , x1 , x]
Substitusi terhadap (1) maka:
x x0
f ( x) [ x 0 ]
x x1
[ x0 , x1 ]
[ x0 , x1 , x]
2. Carilah interpolasi fungsi rasional 2,1 untuk data: f(1) = 8, f(2) = 6, f(3) = 5,
f(4) = 4