Академический Документы
Профессиональный Документы
Культура Документы
FAKULTAS MIPA
JURUSAN ILMU KOMPUTER DAN ELEKTRONIKA
ILMU KOMPUTER
RKPM
Rencana Kegiatan Pembelajaran Mingguan
Modul Pembelajaran Minggu ke 4,5
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
Pendekatan terhadap suatu nilai fungsi dibutuhkan pada beberapa kasus
dimana nilai tersebut akan sulit didapatkan dari suatu pendekatan analisis. Pendekatan
numeris untuk hal tersebuat adalah dengan interpolasi. Interpolasi pada suatu fungsi
F(x) dapat dinyatakan dalam berbagai bentuk persamaan diantaranya linear,
polinomial atau parabolik, trigonometri, exponensial, logaritmik, dan sebagainya.
Pada bagian ini akan dibicarakan beberapa model interpolasi diantaranya : linear,
kuadratik, beda terbagi newton, bead maju newton, beda mundur newton, dan
interpolasi dengan fungsi spline.
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
( x , f ), ( x , f
0
data
), , ( x ,
yang
berupa
bilangan
x ,x ,,x
dengan
p x
pasangan
semuanya
mengambil nilai
p x f , p x f
n
,, p
x f
n
kurang.
Polinom
Nilai
p x
n
digunakan
Interpolasi
Ekstrapolasi
Interpolasi dan Ekstrapolasi digunakan untuk memprediksi suatu nilai dalam suatu
fungsi yang belum diketahui, dimana fungsi itu bersifat kontinyu dalam interval
tertentu.
4.2 Interpolasi Polinomial
Beberapa interpolasi polynomial yang akan dibahas adalah interpolasi linier,
interpolasi kuadratik, interpolasi beda terbagi Newton, dan interpolasi Lagrange.
4.2.1 Interpolasi Linier
Interpolasi linear menggunakan sarana garis lurus melalui
x , f , x , f .
0
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
-
x , f dan x , f dengan x x :
Diberikan 2 titik
linear :
-
p x
x x f x x f
1
x x
polinomial
p x f
1
x x f x , x
0
f f
f x , x
x x
1
dengan
disebut beda
-
p x f
1
menginterpolasi nilai
, i 0 .1
pada titik
B2 - B1
A 2 - A1
p 9.2 2.1972
1
2.2513 2.1972
9.2 9.0 = 2.2188
9 .5 9 .0
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
x x f x , x
94
p 1.5 4 2 1 1.5 1
1
= 6.5
paling
tinggi
dua
yang
kurvanya
melalui
titik
x , f , x , f , dan x , f
0
p x f
2
x x f x , x x x x x f x , x , x
f f
f x , x
x x
1
dengan
dan
f x , x f x , x
f x , x , x
x x
1
p x f
0
f f
p x f x x
x x
p x f
1
dan
Contoh soal:
Jika f 8.0 =2.0794, f 9.0 =2.1972 dan f 9.5 =2.2513, carilah f 9.2
Penyelesaian :
8.0
2.0794
2.1972
9.0
2.2513
f x , x 0.1178
0
, , 0.0064
f x , x 0.1082 f x x x
0
9.5
p 9.2 2.2192
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:
=4
p x f
2
f x , x , x 1
f x , x 7
1
f x , x 5
16
x x f x , x x x x x f x , x , x
0
p x 4 x 1 5 x 1 x 21
2
= 1 + 2x + x2
P2(1.5) = 6.25
4.1.3 Interpolasi Beda Terbagi Newton
Interpolasi linear dan kuadratik merupakan kasus khusus interpolasi derajat yang
lebih tinggi. Dalam hal ini, digunakan konsep beda terbagi sebagai berikut:
f f
f x x
x x
1
0
0
x x
0
Untuk order yang lebih tinggi, dipakai beda terbagi order yang lebih rendah secara
rekursif:
f x , x f x , x
f x , x , x
x x
f x , x , x f x , x , x
f x , x , x , x
x x
1
Sehingga:
f x , , x f x , , x
f x , , x
x x
1
n 1
x x f x , x x x x x f x , x , x
x x x x f x , , x
p x f
n
n 1
Contoh soal:
Carilah
f 9.2
P3(x)
8.0
9.0
9.5
11.0
2.079442
2.197225
2.251292
2.397895
f x , x f x , x , x f x , x , x , x
i
0.117783
0.108134
i 1
i 1
-0.006433
i2
i 1
i2
0.000411
-0.005200
0.097735
(x-9.0) (x-9.5)
i 3
p z dari
Tujuan: menghitung
Algoritma interpolasi :
f z pada z
input
x , f , x , f , , x , f ; z
output
p z
Langkah-langkah :
1. Untuk j = 0, 1, 2, , n lakukan:
f x : f
j
f
3.
x , x
j
p z : f
0
f x
, , x jm
j 1
j 1
x , x
, , x jm f
jm
j 1
, , x j m1
xj
4. Untuk k = 1, 2, 3, , n lakukan
p z p z z x z x f x , , x
0
k 1
k 1
x, x x
0
h,
x x
2
2h , ,
x x
n
x:
i
nh
dengan h adalah jarak antara 2 simpul. Ini akan menyederhanakan rumus interpolasi.
j 1
j 1
k 1
j 1
k 1
, , xk
dengan
1
k! h k
x x
j
j 1
f0
....(1)
(konstan)
Pembuktian:
Pembuktian dilakukan dengan memakai induksi, bahwa memang benar untuk k =
1, karena x1 = x0 + h, sehingga
f1 f 0 1
1
f1 f 0
f 0
x1 x0 h
1!h
f [ x0 , x1 ]
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 ]
( k 1)h
f [ x0 ,..., x k 1 ]
1
1
1
k f 1
k f 0
k
k
( k 1) h k!h
k! h
k 1 f 0
k 1
( k 1)!h
Rumus di atas merupakan rumus (1) dengan k+1 sebagai ganti k. Dengan
demikian rumus (1) terbukti.
x x0
, 0 r n, maka rumus
h
interpolasi menjadi :
r s
f 0
s 0 s
n
f x Pn x
f 0 r f 0
r r 1 2
r r 1 r n 1 n
f 0
f0
2!
n!
r
1,
0
r n 1
r r 1 r n f
n 1!
n 1
0.5
0.6
0.7
0.8
cosh
x
j
1.127626
1.185465
1.255169
1.377435
0.057839
0.069704
0.082266
-0.011865
-0.012562
P3(0.56)
0.1
0.6( 0.4)
x 0.11865
2
0.6( 0.4)(1.4)
+
x 0.000697
6
(k = 1,2, )
f x Pn x
f 0 r f 0
r r 1 2
r r 1 r n 1 n
f0
f0
2!
n!
0.000697
x x0 0.56 0.50
0.6
h
dengan x x0 r h r
x x0
, 0rn
h
x0 , f 0 , x1 , f1 , , x n , f n
dengan
x i sebarang.
Lagrange
; i 0,1,2, , n
Sehingga :
Ln x0 f 0 f 0b0 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
bk xi
1
( xk x0 )( xk x1 ) ( xk xk 1 )( x j xk 1 ) ( xk xn )
b0 x C 0 ( x x1 )( x x 2 ) ( x x n )
b1 x C1 ( x x 0 )( x x 2 )( x x3 ) ( x x n )
b2 x C 2 ( x x 0 )( x x1 )( x x 3 ) ( x x n )
bn x C n ( x x 0 )( x x1 ) ( x x n 1 )
di mana :
C0
1
( x0 x1 )( x0 x 2 )( x 0 x3 ) ( x 0 x n )
C1
1
( x1 x0 )( x1 x 2 )( x1 x3 ) ( x1 x n )
C0
1
( x 2 x 0 )( x 2 x1 )( x 2 x3 ) ( x 2 x n )
C0
1
( x n x0 )( x n x1 )( x n x 2 ) ( x n x n 1 )
( x x1 )( x x 2 ) ( x x n )
( x0 x1 )( x 0 x 2 ) ( x0 x n )
b1 x
( x x0 )( x x 2 ) ( x x n )
( x1 x 0 )( x1 x 2 ) ( x1 x n )
b2 x
( x x0 )( x x1 )( x x3 ) ( x x n )
( x 2 x0 )( x 2 x1 )( x 2 x3 ) ( x 2 x n )
bn x
( x x 0 )( x x1 )( x x 2 ) ( x x n 1 )
( x n x 0 )( x n x1 )( x n x 2 ) ( x n x n 1 )
Ln ( x) f k
k 0
( x x0 )( x x1 ) ( x xk 1 )( x xk 1 ) ( x xn )
( xk x0 )( xk x1 ) ( xk xk 1 )( xk xk 1 ) ( xk xn )
Atau jika l n x ( x x0 )( x x1 )( x x2 ) ( x xk 1 )( x xk 1 ) ( x xn )
maka rumus interpolasi lagrange adalah :
lk x
fk
k 0 l k ( x k )
n
f x Ln x
dengan :
l 0 x x x1 x x 2 x x n
l k x x x 0 x x k 1 x x k 1 x x n
l n x x x0 x x1 x xn1
Dengan demikian : l n x k f k
lk x j 0
dan
jika j k
( x x0 )( x x0 ) ( x x0 )
f
(n 1)!
n 1
di mana tergantung pada nilai x dan tidak diketahui di dalam interval x, x0 dan xn
Algoritma interpolasi polinomial lagrange dapat dirumuskan sebagai berikut :
Input : n, xi , i = 0, 1, 2, , n ; f( xi ) ; x
Output : Plag = ln(x)
Langkah-langkah :
Plag := 0
Untuk i = 0,1,2, , n lakukan
faktor := 1
Untuk j = 0,1, , n
Jika j i, faktor := faktor *
x xj
xi x j
L3 x
l0 x
l x
l x
l 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
f(9.0)=2.19722,
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
L 3 (9.2)
0.43200
0.28800
0.10800
2.19722
2.25129
2.30259
1.00000
0.37500
0.50000
0.04800
2.39700
3.00000
Titik-titik penginterpolasi harus dipilih dengan hati-hati. Jika tidak, bisa terjadi
perbedaan yang sangat besar antara fungsi dan hasil interpolasi seiring bertambah
banyaknya titik yang digunakan.
Contoh:
Interpolasi terhadap f ( x)
1
pada interval [-5,5]
1 x2
2.5
3.5
2.5
0.5
0.5
1.5
1.5
1.125
x
a.
s( x) x x 1
5x 8
0 x 1
1 x 3
3 x 4
b.
2x 1
s( x)
x
0 x 1
1 x 2
x3 x 2 2x 1
a.
b.
2 x0
0 x 1
1 x 3
3 x4
x 2x 1
s( x) 3 2
x 4 x 5x 2
x 3 x 2 25x 43
x 3 2x
f ( x)
x [0,1]
x [1,4]
3 5(x 1) 3(x 1) 2
i = 1, ....., n
Agar s(x) mulus, s ' ( x ) dan s(x) harus kontinyu supaya kurva mengikuti bentuk
umum dari interpolasi linear, s ' ( x ) tidak boleh berubah terlalu banyak pada titiktitik. Syaratnya, s(x) bernilai sekecil mungkin.
Maka s(x) harus memenuhi:
a. s(x) berupa polinom kubik pada masing-masing interval [ x j 1, x j ] untuk j = 2,
3, ....., n
b.
s" ( x1 ) s" ( x n ) 0
s(x) disebut fungsi spline kubik alamiah yang menginterpolasi data (xi, yi).
Untuk membentuk s(x), dapat digunakan cara sebagai berikut:
Misalkan Mi, ....., Mn dengan
M i s" ( x i )
, i = 1, .., n. s(x)
s" ( x
s" ( x
j 1
) M
) M
j 1
dan
Maka
( x
s" ( x )
x) M
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:
s( x)
( x j x ) 3 M j 1 ( x x j 1 ) 3 M j
6( x j x j 1 )
( x j x ) y j 1 ( x x j 1 ) y j
( x j x j 1 )
1
( x j x j 1 )[( x j x ) M j 1 ( x x j 1 ) M j ]
6
...... (1)
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.
Dihasilkan:
x j x j 1
6
M j 1
x j 1 x j 1
3
j 1
Mj
x j 1 x j
6
M j 1
j = 2, 3, ....., n-1
y j 1 y j
x j 1 x j
y j y j 1
x j x j 1
....... (2)
....... (3)
Akan dihasilkan M1, ....., Mn yang akan disubstitusi pada (1) menghasilkan fungsi
penginterpolasi s(x).
Contoh soal:
1. Hitung spline kubik alamiah yang menginterpolasi data:
0.0
0.1
0.3
0.6
F(x)
0.0000
0.2624
0.6419
1.0296
x2 1
di dekat 0 tidak dapat di
x
f ( xi )
a0 a1 x1 ..... a n xi
1 b1 xi ..... bm xi
xi x j
[ xi ] [ x j ]
Secara umum:
[ x,....., x p , x q , x r ]
xq xr
[ 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.
[ x 0 , xi ] [ x 0 , x1 , xi ] [ x 0 , x1 , x 2 , x3 ]
xi
fi
-1
-1
0.3333
2.5
0.2857
-21.0084
x1 x3
02
2
[ 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 ( x 0 ) ( x x0 )
1, 0 ( x) [ x 0 ]
f ( x) f ( x 0 )
x x0
[ x 0 ]
[ x 0 , x]
x x0
..... (1)
x x0
[ x 0 , x1 ]
[ x0 , x] [ x0 , x1 ]
x x1
[ x0 , x1 , x ]
f ( x) [ x0 ]
x x0
x x1
[ x0 , x1 ]
[ x0 , x1 , x]
1,1 ( x) 2
x 1
7x 1
x 3x 1
1
1
f ( x) [ x0 ]
[ x0 , x1 ]
x x0
x x1
[ x0 , x1 , x 2 ]
x x2
[ x0 , x1 , x 2 , x3 ] .....
Contoh soal:
1. Carilah interpolasi pecahan rasional bersambung dari data pada penjelasan di atas.
2,1 ( x) 2
x 1
x 1
2
x
21x
1
1
1 x 1
8 x
3
21
( x 1)(8 x)
22 x 8
8 51x x 2
22 x 8
2
2. Carilah interpolasi fungsi rasional 2,1 untuk data: f(1) = 8, f(2) = 6, f(3) = 5,
f(4) = 4