1
acuannya (x). Ada tiga jenis beda (difference) yg bisa kita gunakan utk mencari
nilai f(x+∆x). Ketiga jenis beda ini disebut forward difference, backward
difference, dan central difference.
f ( x1 ) f ( x0 )
f1 ( x) f ( x0 ) ( x x0 ) (5.1)
x1 x0
Persamaan (5.1) adalah rumus interpolasi linier, yang merupakan bentuk
interpolasi polinomial orde satu. Suku [f (x1) f (x0)]/(x1 x0) adalah kemiringan
garis yang menghubungkan dua titik data dan merupakan perkiraan beda hingga
2
dari turunan pertama. Semakin kecil interval antara titik data, hasil perkiraan akan
semakin baik.
Urutan penyelesaian interpolasi linear dapat dinyatakan dalam diagram alir
berikut ini :
Mulai
ya Input 𝑥0 , 𝑦0 , 𝑥1 𝑦1
tidak
𝑥0X0
= 𝑥1
Input x tidak
ya
y1 − y0
P = 𝑦0 + (x − x0 )
x1 − x0
𝑦0 = 𝑦1
tidak
ya
Contoh soal:
Soal 1 :
Dicari nilai ln 2 dengan metode interpolasi linier berdasar data ln 1 = 0 dan
ln 6 = 1,7917595. Hitung juga nilai tersebut berdasar data ln 1 dan ln 4 =
1,3862944. Untuk membandingkan hasil yang diperoleh, dihitung besar kesalahan
(diketahui nilai eksak dari ln 2 = 0,69314718).
Penyelesaian:
Dengan menggunakan persamaan (5.1), dihitung dengan interpolasi linier nilai ln
pada x = 2 berdasar nilai ln di x0 = 1 dan x1 = 6.
3
f ( x1 ) f ( x0 )
f1 ( x) f ( x0 ) ( x x0 )
x1 x0
1,7917595 0
f1(2) = 0 + (2 1) = 0,3583519.
6 1
Besar kesalahan adalah:
0,69314718 0,35835190
Et = 100 % = 48,3 %.
0,69314718
Apabila digunakan interval yang lebih kecil, yaitu nilai x0 = 1 dan x1 = 4, maka:
f ( x1 ) f ( x0 )
f1 ( x) f ( x0 ) ( x x0 )
x1 x0
1,3862944 0
f1(2) = 0 + (2 1) = 0,46209813.
4 1
Besar kesalahan adalah:
0,69314718 0,46209813
Et = 100 % = 33,3 %.
0,69314718
Dari contoh nampak bahwa dengan menggunakan interval yang lebih kecil
didapat hasil yang lebih baik (kesalahan lebih kecil). Gambar 5.2, menunjukkan
4
Gunakan interpolasi linear, hitung entalpi steam superheated pada tekanan 480
psia dan suhu 650°F.
Penyelesaian:
Gunakan interpolasi linear, kemudian itung h(650°F, 440 Psia) dan h(650°F, 500
Psia).
1361,1 − 1304,2
ℎ(650℉, 440 𝑃𝑠𝑖𝑎) ≅ 1304,2 + (650 − 600)
700 − 600
= 1332,7 𝐵𝑡𝑢/𝑙𝑏
1357,7 − 1299,1
ℎ(650℉, 500 𝑃𝑠𝑖𝑎) ≅ 1299,1 + (650 − 600)
700 − 600
= 1328,4 𝐵𝑡𝑢/𝑙𝑏
5
f2(x) = a0 + a1 x + a2 x2
dengan
a0 = b0 – b1 x0 + b2 x0 x1
a1 = b1 – b2 x0 – b2 x1
a2 = b2
Selanjutnya untuk keperluan interpolasi, persamaan polinomial ditulis
dalam bentuk persamaan (5.2). Berdasarkan titik data yang ada kemudian dihitung
koefisien b0, b1, dan b2. Berikut ini diberikan prosedur untuk menentukan nilai
dari koefisien-koefisien tersebut. Koefisien b0 dapat dihitung dari persamaan (5.2),
dengan memasukan nilai x = x0.
f (x0) = bo + b1 (xo – x0) + b2 (x0 – x0) (x0 – x1)
bo = f (x0) (5.3)
Bila persamaan (5.3) disubstitusikan ke dalam persamaan (5.2), kemudian
dimasukkan ke dalam nilai x = x1, maka akan diperoleh koefisien b1:
f (x1) = f (x0) + b1(x1 – x0) + b2(x1 – x0)(x1 – x1)
f ( x1 ) f ( x0 )
b1 = (5.4)
x1 x0
Bila persamaan (5.3) dan persamaan (5.4) disubstitusikan ke dalam
persamaan (5.2) dan nilai x = x2, maka akan diperoleh koefisien b2:
f ( x1 ) f ( x0 )
f (x2) = f (x0) + (x2 – x0) + b2(x2 – x0)(x2 – x1)
x1 x0
f ( x1 ) f ( x0 )
b2(x2 – x0)(x2 – x1) = f (x2) – f (x0) – [(x2 – x1) + (x1 – x0)]
x1 x0
f ( x1 ) f ( x0 )
= f (x2) – f (x0) – (x2 – x1) – f (x1) + f (x0)
x1 x0
f ( x1 ) f ( x0 )
= f (x2) – f (x1) – (x2 – x1
x1 x0
Atau:
f ( x1 ) f ( x0 )
f ( x2 ) f ( x1 ) ( x2 x1 )
x1 x0
b2 =
( x2 x0 ) ( x2 x1 )
6
f ( x2 ) f ( x1 ) f ( x1 ) f ( x0 )
x2 x1 x1 x0
b2 = (5.5)
x2 x0
Dengan memperhatikan persamaan (5.2), persamaan (5.3), persamaan (5.4)
dan persamaan (5.5) terlihat bahwa dua suku pertama dari persamaan (5.2) adalah
ekivalen dengan interpolasi linier dari titik x0 ke x1 seperti yang diberikan oleh
persamaan (5.1).
7
Urutan penyelesaian interpolasi kuadrat dapat dinyatakan sebagai berikut :
mulai
Input
Tidak
x0,y0,x1,y1,x2,y2
ya
x0<x1<x2
Tidak
Input x
min {x0,x1,x2} ≤
x ≤ max
ya
𝑦1 − 𝑦0 𝑦2 − 𝑦1
F01 = , F12 = , F012
𝑥1 − 𝑥0 𝑥2 − 𝑥1
F12 − F01
=
𝑥2 − 𝑥1
P = y1 + (x-x0)F01+(x-x0)(x-x2)F012
F012 = 0
ya Tidak
k
Y=P Y=P
selesai
8
Contoh soal:
Soal 1 :
Dicari nilai ln 2 dengan metode polinomial orde dua berdasar data nilai ln
1 = 0 dan nilai dari ln 6 = 1,7917595. Hitung juga nilai tersebut berdasar data ln 1
dan ln 4 = 1,3862944. Untuk membandingkan hasil yang diperoleh, dihitung pula
besar kesalahan (diketahui nilai eksak dari ln 2 = 0,69314718).
Penyelesaian:
x0 = 1 f (x0) = 0
x1 = 4 f (x1) = 1,3862944
x2 = 6 f (x2) = 1,7917595
Interpolasi polinomial dihitung dengan menggunakan persamaan (5.2), dan
koefisien b0, b1, dan b2, dihitung dengan persamaan (5.3), persamaan (5.4) dan
persamaan (5.5).
Dengan menggunakan persamaan (5.3) diperoleh nilai b0, yaitu (b0 = 0),
koefisien b1 dapat dihitung dengan persamaan (5.5):
f ( x1 ) f ( x0 )
b1 =
x1 x0
1,3862944 0
b1 = = 0,46209813.
4 1
Persamaan (5.5) digunakan untuk menghitung koefisien b2:
f ( x2 ) f ( x1 ) f ( x1 ) f ( x0 )
x2 x1 x1 x0
b2 =
x2 x0
1,7917595 1,3862944
0,46209813
b2 = 64 = –0,051873116.
6 1
Nilai-nilai tersebut disubstitusikan ke persamaan (5.2):
f2(x) = b0 + b1(x – x0) + b2(x – x0)(x – x1)
f2(x) = 0 + 0,46209813(x – 1) + (–0,051873116)(x – 1)(x – 4)
Untuk x = 2, maka diperoleh nilai fungsi interpolasi:
f2(2) = 0 + 0,46209813(2 – 1) + (–0,051873116)(2 – 1)(2 – 4)
= 0,56584436.
9
Besar kesalahan adalah:
0,69314718 0,56584436
Et = 100 % = 18,4 %.
0,69314718
Dari contoh tersebut terlihat bahwa dengan menggunakan interpolasi
Soal 2 :
Gunakan interpolasi kuadrat untuk menghitung nilai entalpi steam saturated pada
suhu 252°F dari data pada Tabel 5.1
Penyelesaian:
Karena suhu 252°F berada diantara data pada suhu 280°F dan 220°F, data yang
digunakan adalah:
Temperatur (°F) Entalpi (Btu/lb)
240 1160,6
260 1167,4
280 1173,8
𝐻(252℉) = 1164,7𝐵𝑡𝑢/𝑙𝑏
10
4.2.3 Interpolasi Polinomial
Prosedur seperti yang dijelaskan diatas dapat digunakan untuk membentuk
polinomial orde n dari (n + 1) titik data. Bentuk umum polinomial orde n adalah:
fn(x) = bo + b1(x – x0) + … + bn(x – x0)(x – x1) ... (x – xn – 1) (5.6)
Seperti yang dilakukan interpolasi linier dan kuadrat, titik-titik data dapat
dilakukan dengan evaluasi koefisien b0, b1, ..., bn.
Untuk polinomial orde n, diperlukan (n + 1) titik data x0, x1, x2, ..., xn.
Dengan menggunakan titik-titik data tersebut, maka persamaan berikut digunakan
untuk mengevaluasi koefisien b0, b1, ..., bn.
b0 = f (x0) (5.7)
b1 = f [x1, x0] (5.8)
b2 = f [x2, x1, x0] (5.9)
bn = f [xn, xn – 1, ..., x2, x1, x0] (5.10)
Dengan definisi fungsi berkurung ([….]) adalah pembagian beda hingga.
Misalnya, pembagian beda hingga pertama adalah:
f ( xi ) f ( x j )
f [xi, xj] = (5.11)
xi x j
11
rendah, secara skematis bentuk yang berurutan tersebut ditunjukkan dalam Tabel
5.1.
Tabel 5.1 Langkah skematis pembagian beda hingga
I xi f(xi) Pertama Kedua Ketiga
0 x0 f(x0) f[x1, x0] f[x2,x1, x0] f[x3,x2,x1, x0]
1 x1 f(x1) f[x2, x1] f[x3,x2,x1]
2 x2 f(x2) f[x3, x2]
3 x3 f(x3)
Contoh soal:
Dalam contoh sebelumnya, titik data x0 = 1, x1 = 4 dan x2 = 6 digunakan untuk
memperkirakan ln 2 dengan fungsi parabola. Sekarang dengan menambah titik ke
empat yaitu x3 = 5 dengan nilai f (x3 = 5) = 1,6094379, hitung ln 2 dengan
interpolasi polinomial orde tiga.
Penyelesaian:
x0 = 1 f (x0) = 0
x1 = 4 f (x1) = 1,3862944
x2 = 6 f (x2) = 1,7917595
x3 = 5 f (x3) = 1,6094379
Persamaan polinomial orde tiga didapat dengan memasukkan nilai n = 3 ke
dalam persamaan (5.6):
f3(x) = bo + b1(x – x0) + b2(x – x0)(x – x1) + b3(x – x0)(x – x1)(x – x2) (c.1)
Pembagian beda hingga pertama dihitung dengan persamaan (5.11):
f ( xi ) f ( x j )
f [xi, xj] = (c.2)
xi x j
1,3862944 0
f [x1, x0] = = 0,46209813.
4 1
1,7917595 1,3862944
f [x2, x1] = = 0,20273255.
64
1,6094379 1,7917595
f [x3, x2] = = 0,1823216.
56
12
Pembagian beda hingga kedua dihitung dengan persamaan (5.12):
f [ xi , x j ] f [ x j , xk ]
f [xi, xj, xk] = (c.3)
xi xk
0,20273255 0,46209813
f [x2, x1, x0] = = –0,051873116.
6 1
0,18232160 0,20273255
f [x3, x2, x1] = = –0,020410950. (c.4)
54
Pembagian beda hingga ketiga dihitung dengan persamaan (5.13):
f [ xn , xn 1 , ..., x1 ] f [ xn 1 , xn 2 , ..., x0 )
f [xn, xn – 1, ..., x2, x1, x0] =
xn x0
(0,020410950) (0,051873116)
f [x3, x2, x1, x0] =
5 1
= 0,007865541
Nilai f [x1, x0], f [x2, x1, x0] dan f [x3, x2, x1, x0] adalah koefisien b1, b2, dan b3
dari persamaan (5.6). Dengan nilai-nilai tersebut dan b0 = f (x0) = 0, maka
persamaan (5.6) menjadi:
fn(x) = bo + b1(x – x0) + … + bn(x – x0)(x – x1) ... (x – xn – 1)
f3(x) = 0 + 0,46209813(x – 1) + (–0,051873116)(x – 1)(x – 4) +
0,007865541(x – 1)(x – 4)(x – 6) (c.5)
Hasil interpolasi polinomial orde 3 di titik x = 2, akan didapat dengan
memasukkan nilai dari x = 2 ke dalam persamaan (c.5) sehingga akhirnya didapat:
f3(2) = 0 + 0,46209813(2 – 1) + (–0,051873116)(2 – 1)(2 – 4) +
0,007865541(2 – 1)(2 – 4)(2 – 6)
= 0,62876869
Besar kesalahan adalah:
0,69314718 0,62876869
Et = 100 % = 9,3 %.
0,69314718
13
4.2.4 Interpolasi Lagrange
Interpolasi Lagrange hampir sama dengan polinomial Newton, tetapi tidak
menggunakan bentuk pembagian beda hingga. Interpolasi polinomial Lagrange
dapat diturunkan dari persamaan Newton.
Bentuk polinomial Newton orde satu :
f1(x) = f (x0) + (x – x0) f [x1, x0] (5.15)
Pembagian beda hingga yang ada dalam persamaan diatas mempunyai bentuk:
f ( x1 ) f ( x0 )
f [x1, x0] =
x1 x0
f ( x1 ) f ( x0 )
f [x1, x0] = (5.16)
x1 x0 x0 x1
Substitusi persamaan (5.16) ke dalam persamaan (5.15) memberikan:
x x0 x x0
f1(x) = f (x0) + f (x1) + f (x2)
x1 x0 x0 x1
Dengan mengelompokkan suku-suku di ruas kanan maka persamaan diatas
menjadi:
x x x x0 x x0
f1(x) = 0 1 f (x0) + x x f (x1)
x0 x1 x0 x1 1 0
atau
x x1 x x0
f1(x) = f (x0) + f (x1) (5.17)
x0 x1 x1 x0
Persamaan (5.17) dikenal dengan interpolasi polinomial Lagrange orde satu.
Dengan prosedur diatas, untuk interpolasi orde dua akan didapat:
x x1 x x2 x x0 x x 2 x x0 x x1
f1(x) = f (x0) + f (x1) + f (x2)
x0 x1 x0 x2 x1 x0 x1 x2 x2 x0 x2 x1
(5.18)
Bentuk umum interpolasi polinomial Lagrange orde n adalah:
n
fn(x)= Li ( x) f(xi) (5.19)
i0
dengan
n x xj
Li(x)= (5.20)
j0 xi x j
ji
14
Simbol merupakan perkalian
Dengan menggunakan persamaan (5.19) dan persamaan (5.20) dapat
dihitung interpolasi Lagrange orde yang lebih tinggi, misalnya untuk interpolasi
Lagrange orde 3, persamaan tersebut adalah:
3
f3(x) = Li ( x) f (xi) = L0(x) f (x0) + L1(x) f (x1) + L2(x) f (x2) + L3(x) f (x3)
i0
x x1 x x2 x x3
L0(x) = ( )( )( )
x0 x1 x0 x2 x0 x3
x x0 x x2 x x3
L1(x) = ( )( )( )
x1 x0 x1 x2 x1 x3
x x0 x x1 x x3
L2(x) = ( )( )( )
x2 x0 x2 x1 x2 x3
x x0 x x1 x x2
L3(x) = ( )( )( )
x3 x0 x3 x1 x3 x2
Sehingga bentuk interpolasi polinomial Lagrange orde 3 adalah:
x x1 x x2 x x3 x x0 x x2 x x3
f3(x) = ( )( )( ) f (x0) + ( )( )( ) f (x1)
x0 x1 x0 x2 x0 x3 x1 x0 x1 x2 x1 x3
x x0 x x1 x x3 x x0 x x1 x x2
+( )( )( ) f(x2)+ ( )( )( ) f(x3) (5.21)
x2 x0 x2 x1 x2 x3 x3 x0 x3 x1 x3 x2
Contoh soal:
Dicari nilai ln 2 dengan metode interpolasi polinomial Lagrange orde satu
dan dua berdasar data ln 1 = 0 dan data ln 6 = 1,7917595. Hitung juga nilai
tersebut berdasar data ln 1 dan data ln 4 = 1,3862944. Untuk membandingkan
hasil yang diperoleh, hitung pula besar kesalahan (diketahui nilai eksak dari ln 2 =
0,69314718).
Penyelesaian:
x0 = 1 f (x0) = 0
x1 = 4 f (x1) = 1,3862944
x2 = 6 f (x2) = 1,7917595
Penyelesaian orde satu menggunakan persamaan (5.17):
15
x x1 x x0
f1(x) = f (x0) + f (x1)
x0 x1 x1 x0
Untuk x = 2 dan dengan data yang diketahui maka:
2 4 2 1
f1(2) = (0) + (1,3862944) = 0,462098133.
1 4 4 1
Untuk interpolasi polinomial Lagrange order dua digunakan persamaan (5.18):
x x1 x x2 x x0 x x 2 x x0 x x1
f1(x) = f (x0) + f (x1) + f (x2)
x0 x1 x0 x2 x1 x0 x1 x2 x2 x0 x2 x1
2 4 2 6 21 2 6 2 1 2 4
f1(2) = (0) + (1,3862944) + (1,7917595)
1 4 1 6 4 1 4 6 6 1 6 4
= 0,56584437
Terlihat bahwa kedua hasil diatas memberikan hasil yang hampir sama
dengan contoh sebelumnya.
Penyelesaian:
Sistem persamaan lagrange yang terbentuk adalah :
a0 + 8a1 + 64a2 + 512a3 = 2,0794
a0 + 9a1 + 81a2 + 729a3 = 2,1972
a0 + 9,2a1 + 84,6a2 + 778,7a3 = 2,2192
a0 + 9,5a1 + 90,2a2 + 857,4a3 = 2,2513
Penyelesaian sistem persamaan dengan metode Eliminasi Gauss menghasilkan
a0 = 0,9432, a1 = 0,1369, a2 = 0,0036 dan a3 = -0,00037.
Polinom kubiknya adalah :
p3(x) = 0,9432 + 0,1369x + 0,0036x2 + -0,00037x3
p3(8,5) = 2,1397
Soal 2 :
Gunakan metode interpolasi kubik spline untuk menghitung nilai entalpi
steam saturated pada suhu 252°F dari data pada Tabel 5.1.
Penyelesaian:
Untuk kasus ini dibagi menjadi 3 segmen. Gunakan persamaan 3.22 [Riggs, 1988]
hingga diperoleh dua segmen.
Karena nilai yang diinginkan (252°F) berada di segmen kedua, aplikasikan nilai
tersebut ke persamaan 3.21.
0,001333 −0,005333
𝐻(252℉) = (260 − 252)3 + (252 − 240)3
6(20) 6(20)
1160,6 0,001333 (20)
+ [ − ] (260 − 252)
20 6
1167,4 −0,00533 (20)
+ [ − ] (252 − 240)
20 6
𝐻(252℉) = 1164,79𝐵𝑡𝑢/𝑙𝑏
Utk forward difference, kita ingin mencari nilai suatu fungsi jika
independent variablenya digeser ke depan (makanya namanya forward difference)
18
sebesar ∆x. Sederhananya, jika kita tahu f(x), maka berapakah f(x+∆x)? Ekspansi
Taylor dituliskan sbb:
Oleh karena nilai setelah term pertama di atas tidak signifikan dibandingkan dgn
term kedua, maka:
Pertanyaan yg sama jg kita berikan utk backward difference. Jika kita tahu
f(x), maka berapakah f(x-∆x)? Atau berapakah nilai fungsi tsb jika independent
variablenya digeser ke belakang sebesar ∆x. Ekspansi Taylor dituliskan sbb:
19
Hubungan terakhir ini menunjukkan kemiringan (gradient) dari fungsi tsb sebesar
∆x ke belakang
4.3.3 Central difference
Jenis bedar ketiga adalah beda tengah, di mana kita akan mencari
kemiringan dari fungsi tsb dgn menggunakan perbedaan nilai fungsinya dari beda
depan dan beda belakang. Secara matematis, beda tengah adalah penjumlahan dari
beda depan dan beda belakang
Setelah pendekatan orde satu bisa kita turunkan spt di atas, skrg kita bisa
menurunkan persamaan utk pendekatan orde dua. Penurunan di bawah ini saya
mulai dari mengambil persamaan orde satu dari beda depan (forward difference)
yg mengandung penurunan orde dua (second order differential). Fungsi ∂2f/∂x2
saya keluarkan, dan persamaan utk ∂f/∂x nya saya ambil dari pendekatan beda
belakang (backward difference).
20
4.4 Soal-soal
1. Hitung tekanan uap untuk benzena pada suhu 25ºC dengan menggunakan:
a. Interpolasi linier
b. Interpolasi kuadratik
Temperatur (ºC) Tekanan Uap (mmHg)
-1,6 20
7,6 40
15,4 60
26,1 100
42,2 200
60,6 400
2. Hitung entalphy dari superheated steam pada suhu 741ºF dan tekanan 400 psia
dengan menggunakan
a. Interpolasi linier
b. Interpolasi kuadratik
c. Interpolasi kubik
3. Dicari nilai ln 2 dengan metode interpolasi linier berdasar data ln 1 = 0 dan ln 6
= 1,7917595. Hitung juga nilai tersebut berdasar data ln 1 dan ln 4 =
21
1,3862944. Untuk membandingkan hasil yang diperoleh, dihitung besar
kesalahan (diketahui nilai eksak dari ln 2 = 0,69314718).
4. Jika diketahui data suhu dan tekanan uap sebagai berikut,
Suhu (oC) Tekanan Uap (mmHg)
-1,6 20
7,6 40
15,4 60
26,1 100
42,4 200
60,6 400
Maka hitunglah interpolasi linear pada suhu 25oC dengan menggunakan 2 data
terdekat.
5. Diketahui data sebagai berikut :
X -3 -2 -1 0 1 2 3 4 5 6 7
Y 9 4 1 0 1 4 9 16 25 36 49
22
9. Perhatikan tabel berikut ini!
X f(x)
20 -1,6
60 15,4
X 25
100 26,1
:x1 =4 , f ( x1 ) 1.3862944
:x2 =6 , f ( x2 ) 1.7917595
5.5 Rangkuman
Interpolasi adalah teknik mencari harga suatu fungsi pada suatu titik diantara
2 titik yang nilai fungsi pada ke-2 titik tersebut sudah diketahui. Interpolasi
memegang peranan yang sangat penting dalam metode numerik. Fungsi yang
tampak sangat rumit akan menjadi sederhana bila dinyatakan dalam polinom
interpolasi. Sebagian besar metode integrasi numerik, metode persamaan
diferensial biasa dan metode turunan numerik didasarkan pada polinom
interpolasi sehingga banyak yang menyatakan bahwa interpolasi merupakan
pokok bahasan yang fundamental dalam metode numerik.
Jenis–jenis interpolasi :
1. Interpolasi Linier
2. Interpolasi Kuadrat
3. Interpolasi Polinomial
4. Interpolasi Lagrang
5. Interpolasi Kubik
Jenis-jenis Finite Difference :
1. Metode Backward Difference
2. Metode Forward Difference
23
3. Central difference
4. Second order derivation
25