CURVE-FITTING dan INTERPOLASI Materi Kuliah: Pengantar; Regresi Linier; Regresi Polinomial; Regresi Linier Berganda Interpolasi Linier; Interpolasi Kuadrat; Interpolasi Polinomial Newton & Lagrange
PENGANTAR Data-data yang bersifat diskrit dapat dibuat continuum melalui proses curve-fitting. Curve-fitting merupakan proses data-smoothing, yakni proses pendekatan terhadap kecenderungan data-data dalam bentuk persamaan model matematika. Proses ini juga dapat digunakan untuk keperluan interpolasi data. Misalkan tersedia data-data y pada berbagai x (sejumlah n pasang), maka dapat dicari suatu persamaan y = f(x) yang memberikan hubungan y dengan x yang mendekati data. Proses ini disebut curve fitting. x x1 X2 x3 ... ... xn-1 xn y y1 Y2 y3 ... ... yn-1 yn Diplotkan pada grafik x-y y
y
y = f (x) Curve-fitting
x
x
Secara garis besar, ada 2 kategori persamaan model matematika, yakni: 1. Persamaan analitik, yang berbasiskan teori dan fenomena fisik sistem yang teramati 2. Persamaan empirik, yang (lebih) berbasiskan hubungan antara input dan output sistem yang ditinjau Langkah-langkah yang dapat ditempuh untuk menentukan persamaan empirik adalah sebagai berikut: 1. Membuat grafik y versus x berdasarkan data yang tersedia 2. Meramalkan bentuk persamaan yang kira-kira sesuai (mengandung tetapan-tetapan yang belum diketahui), berdasarkan grafik Misal: Persamaan linier: y = a x ; y = a0 + a1 x Persamaan kuadrat: y = a0 + a1 x + a2 x2 Persamaan polinomial berorde-m: y = a0 + a1 x + a2 x2 + ... + am-1 xm-1 + am xm Persamaan eksponensial: y = a ebx 3. Mengevaluasi nilai tetapan-tetapan tersebut berdasarkan data yang ada regresi Secara garis besar, metode regresi ada 2 macam: (a) regresi linier dan (b) regresi non-linier 4. Mengevaluasi kesesuaian persamaan empirik terhadap data. dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 1 dari 16
Secara sederhana, persamaan empirik dianggap sesuai jika error-nya kecil dan bentuk kurva berdasarkan persamaan empirik ini mirip dengan bentuk kurva berdasarkan data. Jika persamaan empirik tidak sesuai, maka harus dicoba bentuk persamaan yang lain. Cara mengevaluasi nilai-nilai tetapan dalam persamaan empirik: visual inspection, method of average, dan metode kuadrat terkecil (least squares). Metode kuadrat terkecil merupakan metode yang paling banyak digunakan. Pada metode ini, nilai-nilai tetapan terbaik adalah yang memberikan jumlah kuadrat kesalahan/penyimpangan (sum of squares of errors, SSE) yang terkecil (minimum). n
SSE = ∑ ( yterhitung − ydata ) 2
MINIMUM
i =1
Untuk bentuk-bentuk persamaan tertentu, metode kudrat terkecil dapat dilakukan secara analitik, tetapi untuk bentuk-bentuk yang lain harus dilakukan secara numerik. Prinsipnya adalah minimasi SSE terhadap variabel nilai-nilai tetapan dalam persamaan empirik. Secara statistik, kesesuaian antara bentuk kurva dengan data dapat dinyatakan dalam term koefisien korelasi (r) atau koefisien determinasi (r2). Besarnya koefisien korelasi (r) adalah: r=
n ∑ xi yi − ∑ xi 2 n ∑ xi − ⎛⎜ ∑ xi ⎞⎟ ⎠ ⎝
2
∑y
i
2 n ∑ yi − ⎛⎜ ∑ yi ⎞⎟ ⎠ ⎝
2
dengan n menyatakan banyaknya data. Hubungan antara r dengan SSE dapat dinyatakan sbb.: 2
⎛ y ⎞ dengan: St = ∑ ⎜ yi − ∑ i ⎟ ⎜ n ⎟ ⎠ ⎝ Kesesuaian yang sempurna ditunjukkan oleh besarnya: SSE = 0 dan r = r2 = 1.
S − SSE r2 = t St
REGRESI LINIER DENGAN METODE KUADRAT TERKECIL Bentuk persamaan linier: (1) y = a x dan
(2) y = a0 + a1 x
(1) Bentuk Persamaan: y = a x
ingin dicari harga a (a biasa disebut sebagai slope) Untuk pasangan data xi, yi, maka error-nya adalah: Ri = a xi − yi (= yterhitung − ydata )
... (1)
... (2)
sehingga nilai sum of squares of errors-nya: n
SSE = ∑ (a xi − yi ) 2 = f (a)
... (3)
i =1
Harga a terbaik adalah yang memberikan SSE minimum. Harga SSE akan minimum jika: d ( SSE ) =0 ... (4) da
sehingga:
d ( SSE ) n = ∑ 2 (a xi − yi ) . xi = 0 da i =1
a ∑ ( xi ) 2 − ∑ ( xi yi ) = 0
atau: a =
∑ (x y ) ∑ (x ) i
i 2
... (5)
i
CONTOH 1#:
Nitrous anhydride (N2O5) dapat terurai secara homogen menjadi dinitrogen tetraoksida (N2O4) r dan oksigen melalui reaksi: N 2O5 ( g ) ⎯ ⎯→ N 2O4 ( g ) + 1 2 O2 ( g ) Berikut adalah data-data konsentrasi N2O5 (CA) vs waktu untuk reaksi ini pada suhu 313,1 K: dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 2 dari 16
0,1000 0,0892 0 500
CA (gmol/liter) Waktu (detik)
0,0776 0,0705 1000 1500
0,0603 0,0542 2000 2500
0,0471 3000
Dengan menganggap bahwa reaksi ini berorde-pertama terhadap konsentrasi reaktannya: r = k C A , maka profil konsentrasi reaktan yang terhadap waktu dapat dinyatakan sebagai: C A = C A0 e − k t , dengan CA0 menyatakan konsentrasi reaktan mula-mula. Atau, dapat juga C dinyatakan dalam bentuk: ln A = − k t ... (*) C A0 Persamaan (*) merupakan bentuk persamaan linier (berorde satu, garis lurus) yang mempunyai bentuk umum: y = a x, dan dapat diplotkan sbb:
x
CA C A0 y
0 500 1000 1500 2000 2500 3000
0 -0,1143 -0,2536 -0,3496 -0,5058 -0,6125 -0,7529
0 -0.1 0
500 1000 1500 2000 2500 3000
ln (CA/CA0)
-0.2 -0.3 -0.4 -0.5 -0.6
Slope = -k = -0,0002
-0.7
ln
t
x2
∑x
-0.8 t (detik)
a=
xy
0 250000 1000000 2250000 4000000 6250000 9000000 22750000 2
0 -57,1446 -253,603 -524,336 -1011,68 -1531,22 -2258,69 -5636,67
∑x y
∑ x y = − 5636,67 = −0,0002 = −k ∑ x 22750000 2
Berdasarkan metode regresi linier terhadap data-data di atas, diperoleh nilai tetapan (yakni tetapan kecepatan reaksi) k sebesar 0,0002 detik-1. ... (6)
(2) Bentuk Persamaan: y = a0 + a1 x
ingin dicari harga a0 dan a1 (a0 biasa disebut sebagai intercept dan a1 sebagai slope) Dengan cara yang sama, untuk pasangan data xi, yi, maka error-nya adalah: Ri = a0 + a1 xi − yi
(= yterhitung − ydata )
... (7)
sehingga nilai sum of squares of errors-nya: n
SSE = ∑ (a0 + a1 xi − yi ) 2 = f (a0 , a1 )
... (8)
i =1
Harga SSE akan minimum jika: sehingga:
∂ ( SSE ) ∂ ( SSE ) = 0 dan =0 ∂ a0 ∂ a1
∂ ( SSE ) n = ∑ 2 (a0 + a1 xi − yi ) . 1 = 0 ∂ a0 i =1
n a0 + a1 ∑ xi = ∑ yi
dan
... (9, 10)
... (11)
n ∂ ( SSE ) = ∑ 2 (a0 + a1 xi − yi ) . xi = 0 ∂ a1 i =1
a0
∑x + a ∑x 1
i
i
2
= ∑ xi yi
... (12)
Berdasarkan persamaan (11) dan (12), maka harga a0 dan a1 dapat ditentukan. Misal, dengan menggunakan Cramer’s rule, diperoleh: ⎡ n ⎢ ⎢∑ xi ⎣
∑ x ⎤⎥ ⎡⎢a ⎤⎥ = ⎡⎢ ∑ y ⎤⎥ ∑ x ⎥⎦ ⎢⎣ a ⎥⎦ ⎢⎣∑ x y ⎥⎦ i 2
i
A
i
0
1
x =
i
i
b
dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 3 dari 16
maka:
∑y ∑x ∑x y ∑x i
Δ a0 = 1 = Δ
i
i 2
i
i
∑x ∑x
n
a1 =
Δ2 = Δ
i
i
i
yi
2
i
i
i
∑y ∑x y
n
2
i
2
i 2
∑ xi
y x −∑x ∑x =∑ ∑ n ∑ x − ⎛⎜ ∑ x ⎞⎟ ⎝ ⎠
i
∑ xi
i
i
∑x ∑x
n
=
n ∑ xi yi − ∑ yi
i
n ∑ xi − ⎛⎜ ∑ xi ⎞⎟ ⎝ ⎠ 2
i 2
∑x
∑x
i
2
i
(n menyatakan banyaknya data)
Nilai-nilai tetapan pada persamaan non-linier dapat ditentukan melalui proses linierisasi. Berikut ini adalah contoh beberapa bentuk persamaan dan hasil linierisasinya: Bentuk Persamaan Awal y =a x+b
y=ae x y= a x+b a y = +b x bx
y = a xb
Bentuk Persamaan Hasil Linierisasi ln y = ln a + b x
x x
Slope yang dihasilkan a b
Intercept yang dihasilkan b ln a
x
a
b
a
b
b
ln a log a
Ordinat
Absis
x =a x+b y
y ln y x y
-
y
ln y = ln a + b ln x log y = log a + b log x
ln y log y
1 x ln x log x
CONTOH 2#:
Berdasarkan data-data x-y berikut ini: 2 3 4 5 x 1 y 0,5 1,7 3,4 5,7 8,4
tentukan harga-harga a dan b, jika trend data mengikuti model bentuk pangkat: y = a x b PENYELESAIAN:
Bentuk: y = a x b dapat dilinierisasi menjadi bentuk: log y = log a + b log x x 1 2 3 4 5
y 0,5 1,7 3,4 5,7 8,4 Σ
log x 0 0,3010 0,4771 0,6021 0,6990 2,0792
log y -0,3010 0,2304 0,5315 0,7559 0,9243 2,1411
(log x) 2 0 0,0906 0,2276 0,3625 0,4886 1,1693
log x . log y 0 0,0694 0,2536 0,4551 0,6460 1,4241
Persamaan (11) dan (12) diterapkan untuk kasus ini, menjadi: ⎡ n ⎢ ⎢∑ log x ⎣ atau:
∑ log x ∑ (log x)
⎤ ⎡log a ⎤ ⎡ ∑ log y ⎤⎥ ⎥ ⎢ ⎢ ⎥ = 2 ⎥ ⎢ b ⎥ ⎢∑ (log x. log y )⎥ ⎦ ⎣ ⎦ ⎦⎣
⎡ 5 2,0792⎤ ⎡log a ⎤ ⎡2,1411⎤ ⎢ ⎥⎢ ⎥=⎢ ⎥ ⎢⎣2,0792 1,1693 ⎥⎦ ⎢⎣ b ⎥⎦ ⎢⎣1,4241⎥⎦ dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 4 dari 16
Dengan menggunakan aturan Cramer, maka: 2,1411 2,0792 1,4241 1,1693
log a =
5 2,0792 2,0792 1,1693
5 2,1411 2,0792 1,4241
b=
5 2,0792 2,0792 1,1693
=
− 0,4574 = −0,3002 ; sehingga: a = 10-0,3002 = 0,5009 1,5235
=
2,6688 = 1,7517 1,5235
Jadi: a = 0,5009 dan b = 1,7517 Atau, jika secara langsung memanfaatkan fasilitas TRENDLINE dalam EXCEL, diperoleh: 9 7
0.8
6
0.6
log y
5
y
log y = 1,7517 log x - 0,3002 R2 = 1
1.0
y = 0,5009x1,7517 R2 = 1
8
4 3 2
0.4 0.2 0.0
1
-0.2
0 0
1
2
3
4
5
6
0
-0.4
x
0.1
0.2 0.3
0.4 0.5 0.6
0.7 0.8
log x
REGRESI POLINOMIAL Untuk persamaan kuadrat dengan bentuk: y = a0 + a1 x + a2 x2
... (13)
Dengan cara yang sama, untuk pasangan data xi, yi, maka nilai sum of squares of errors-nya: n
SSE = ∑ (a0 + a1 xi + a2 xi − yi ) 2 = f (a0 , a1 , a2 ) 2
... (14)
i =1
∂ ( SSE ) ∂ ( SSE ) ∂ ( SSE ) = 0, = 0 , dan = 0 ... (15, 16, 17) ∂ a0 ∂ a1 ∂ a2
Harga SSE akan minimum jika: sehingga:
n ∂ ( SSE ) 2 = ∑ 2 (a0 + a1 xi + a2 xi − yi ) . 1 = 0 ∂ a0 i =1
n a0 + a1 ∑ xi + a2
∑x
2
i
= ∑ yi
... (18)
∂ ( SSE ) n 2 = ∑ 2 (a0 + a1 xi + a2 xi − yi ) . xi = 0 ∂ a1 i =1
a0
∑x +a ∑x i
1
i
2
+ a2
∑x
3
i
= ∑ xi yi
... (19)
n ∂ ( SSE ) 2 2 = ∑ 2 (a0 + a1 xi + a2 xi − yi ) . xi = 0 ∂ a2 i =1
a0
∑x
i
2
+ a1 ∑ xi + a2 3
∑x
i
4
= ∑ xi yi 2
... (20)
Persamaan (18), (19), dan (20) selanjutnya dapat disusun dalam bentuk perkalian matriks, sbb.: 2 ⎡ n ∑ xi2 ∑ xi 3 ⎤⎥ ⎡⎢a0 ⎤⎥ ⎡⎢ ∑ yi ⎤⎥ ⎢ ⎢ ∑ xi ∑ xi ∑ xi ⎥ ⎢ a1 ⎥ = ⎢ ∑ xi yi ⎥ ⎢ 2 3 4⎥ ⎢ 2 ⎥ ⎥ ⎢ ⎢⎣∑ xi ∑ xi ∑ xi ⎥⎦ ⎣⎢a2 ⎦⎥ ⎢⎣∑ xi yi ⎥⎦ A x = b dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 5 dari 16
Dengan demikian, harga a0, a1, dan a2 dapat ditentukan secara simultan. Dengan cara yang sama, secara umum, untuk persamaan polinomial berorde-m dengan bentuk: y = a0 + a1 x + a2 x2 + ... + am-1 xm-1 + am xm
... (21)
dapat dihasilkan persamaan-persamaan berikut ini:
a0 a0
n a0 + a1 ∑ xi
+ a2
∑x ∑x
+ a2
i 2
i
+ a1 ∑ xi
2
+ a1 ∑ xi
3
+ a2
∑x ∑x ∑x
2
i 3
i 4
i
+
+ am
+
+ am
+
+ am
∑x ∑x ∑x
m
= ∑ yi
m +1
= ∑ xi yi
m+2
= ∑ xi yi
i
i i
2
....................................................................................................... ....................................................................................................... a0
∑x
i
m
+ a1 ∑ xi
m +1
+ a2
∑x
i
m+2
+
+ am
∑x
i
m+m
= ∑ xi yi m
atau, dapat disusun dalam bentuk perkalian matriks, sbb.: m 2 ⎡ n ∑ xi ∑ xi ∑ xi ⎤⎥ ⎡⎢ a0 ⎤⎥ ⎡⎢ ∑ yi ⎤⎥ ⎢ m +1 2 3 ⎢ ∑ xi xi xi xi ⎥ ⎢ a1 ⎥ ⎢ ∑ xi yi ⎥ ∑ ∑ ∑ ⎢ 2 ⎢ ⎥ m+2 ⎥ 2 3 4 ∑ xi ∑ xi ∑ xi ⎥ ⎢⎢ a2 ⎥⎥ = ⎢ ∑ xi yi ⎥ ⎢ ∑ xi ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ m ⎥ ⎢ m m +1 m+2 m+m ⎥ ⎢ ∑ xi ∑ xi ∑ xi ⎥⎦ ⎣⎢am ⎦⎥ ⎢⎣∑ xi yi ⎥⎦ ⎢⎣∑ xi A x = b Dengan demikian, harga-harga a0, a1, a2, .... am dapat ditentukan secara simultan. CONTOH 3#:
Berikut adalah data-data kapasitas panas gas, Cp (kal/gmol.K), pada berbagai suhu, T (K): 400 475 520 580 660 750 850 T Cp 41,29 45,50 48,00 51,31 55,61 60,30 65,26 Jika Cp = f (T) didekati dengan persamaan polinomial berorde 3: Cp = a0 + a1 T + a2 T 2 + a3 T 3 tentukanlah harga-harga a0, a1, a2, dan a3! PENYELESAIAN: Dengan menggunakan metode kuadrat terkecil, dapat dihasilkan persamaan-persamaan berikut, yang disajikan dalam bentuk perkalian matriks dan vektor: ⎡ n ∑ T ∑T 2 ∑T 3 ⎤⎥ ⎡⎢a0 ⎤⎥ ⎡⎢ ∑ Cp ⎤⎥ ⎢ ⎢ ∑ T ∑ T 2 ∑ T 3 ∑ T 4 ⎥ ⎢ a1 ⎥ ⎢ ∑ T Cp ⎥ ⎢ ⎥ 2 2 3 4 5⎥ ⎢ ⎥=⎢ ⎢∑ T ∑ T ∑ T ∑ T ⎥ ⎢a2 ⎥ ⎢∑ T Cp ⎥ ⎢∑ T 3 ∑ T 4 ∑ T 5 ∑ T 6 ⎥ ⎢ a3 ⎥ ⎢ ∑ T 3 Cp ⎥ ⎦ ⎦⎣ ⎦ ⎣ ⎣ A x = b Elemen-elemen matriks A dan vektor b dapat dihitung dengan mudah, dan diperoleh hasil sbb.: 7 4235 2713025 1830387875
4235 2713025 2713025 1830387875 1830387875 1,29E+12 1,29E+12 9,44E+14 Matriks A
1830387875 1,29E+12 9,44E+14 7,11E+17
367,27 230246,9 152405037,5 1.06E+11 Vektor b
7,11E+17 1,29E+12 9,44E+14 1830387875
1,06E+11 230246.9 152405037,5 367,27
Dicoba diselesaikan dengan metode eliminasi Gauss. Pertukarkan baris ke-1 dan ke-4 (maximum column pivoting): 1830387875 4235 2713025 7
1,29E+12 2713025 1830387875 4235
9,44E+14 1830387875 1,29E+12 2713025
dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 6 dari 16
Hasil eliminasi pertama: 1830387875 0 0 0
1,29E+12 -273862,8 -83071679,8 -702,0
9,44E+14 -354501579,5 -1,09E+11 -898362,5
7,11E+17 -3,55E+11 -1,10E+14 -889484632,8
1,06E+11 -14506,8 -4389064,1 -37,3
Pertukarkan baris ke-2 dan ke-3 (maximum column pivoting): 1830387875 0 0 0
1,29E+12 -83071679,8 -273862,8 -702,0
9,44E+14 -1,09E+11 -354501579,5 -898362,5
7,11E+17 -1,10E+14 -3,55E+11 -889484632,8
1,06E+11 -4389064,1 -14506,8 -37,3
1,29E+12 -83071679,8 0 0
9,44E+14 -1,09E+11 3968550,1 20519,8
7,11E+17 -1,10E+14 7516954861 38682348,6
1,06E+11 -4389064,1 -37,4 -0,2
1,29E+12 -83071679,8 0 0
9,44E+14 -1,09E+11 3968550,1 0
7,11E+17 -1,10E+14 7516954861 -184914,7
1,06E+11 -4389064,1 -37,4 0,0019
Hasil eliminasi kedua: 1830387875 0 0 0
Hasil eliminasi ketiga: 1830387875 0 0 0
Dengan substitusi balik, maka diperoleh hasil sbb.: a3 = -1,0214 E-08 a2 = 9,9231E-06 a1 = 0,0533499 a0 = 19,015164
Sebagai alternatif, jika menggunakan POLYMATH 5.1, diperoleh hasil sbb.: POLYMATH Results 11-19-2006
Polynomial Regression Report Model: Cp = a0 + a1*T + a2*T^2 + a3*T^3 Variable a0 a1 a2 a3
Value 19.015164 0.0533499 9.923E-06 -1.021E-08
95% confidence 0.5282182 0.0026952 4.448E-06 2.376E-09
General Order of polynomial = 3 Regression including free parameter Number of observations = 7
Statistics R^2 R^2adj Rmsd Variance
= = = =
0.9999998 0.9999997 0.0011711 2.24E-05
REGRESI LINIER BERGANDA (MULTIPLE LINEAR REGRESSION) Regresi linier berganda diterapkan terhadap persamaan linier multivariabel (dengan banyaknya variabel sejumlah m) yang mempunyai bentuk umum: ... (22)
y = a0 + a1 x1 + a2 x2 + ... + am-1 xm-1 + am xm
Dengan menggunakan metode kuadrat terkecil, melalui penurunan yang sama dengan kasus-kasus sebelumnya, maka dihasilkan persamaan-persamaan berikut ini: n a0 + a1 ∑ x1 + a2
a0 a0
∑x ∑x + a ∑x + a ∑x x ∑x + a ∑x x + a ∑x 2
2
1
1
2
1
1
2
2
1
1
2
2
2
2
+
+ am
+
+ am
+
+ am
∑x = ∑y ∑x x = ∑x y ∑x x = ∑x y m
1
m
2
m
1
2
....................................................................................................... a0
∑x
m
+ a1 ∑ xm x1 + a2
∑x
m
x2 +
+ am
∑x
m
xm = ∑ xm y
dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 7 dari 16
atau, dapat disusun dalam bentuk perkalian matriks, sbb.: ⎡ n ⎢ ⎢ ∑ x1 ⎢ x ⎢∑ 2 ⎢ ⎢ ⎢⎣∑ xm
∑x ∑x ∑x ∑x x ∑x x ∑x 1 2 1
⎤ ⎥ 1 m ⎥ ⎥ 2 m⎥ ⎥ ⎥ ∑ xm xm ⎥⎦
∑x ∑x x ∑x x
2
1
m
2
2
∑x
2
1
2
m
x1
∑x
x2
m
A
⎡a ⎤ ⎡ ∑ y ⎤ ⎥ ⎢ 0⎥ ⎢ ⎢ a1 ⎥ ⎢ ∑ x1 y ⎥ ⎢a ⎥ = ⎢ x y ⎥ ⎢ 2 ⎥ ⎢∑ 2 ⎥ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎢⎣am ⎥⎦ ⎢⎣∑ xm y ⎥⎦ x = b
Dengan demikian, harga-harga a0, a1, a2, .... am dapat ditentukan secara simultan. Catatan: Persamaan dalam bentuk perkalian berpangkat: a
b
y = k x1 x2 x3
c
xm
m
... (23)
dapat dimanipulasi menjadi: ln y = ln k + a ln x1 + b ln x2 + c ln x3 +
+ m ln m
... (24)
sehingga menjadi persamaan linier multivariabel seperti bentuk di atas. CONTOH 4#: r Berikut adalah data-data percobaan kinetika sebuah reaksi homogen ireversibel: A ⎯ ⎯→ P 1,00 0,923 1,15 0,87 1,05 0,75 0,55 0,65 CA (gmol/liter) 373 395 365 400 405 388 410 380 Suhu (K) Kecepatan reaksi (gmol/liter.detik) 1,508 2,936 1,293 3,242 4,566 1,899 2,780 1,255 ⎛ ⎞ Jika kecepatan reaksi dianggap mempunyai bentuk: r = k0 exp ⎜ − E ⎟ C A n ... (**) ⎜ RT ⎟ ⎝ ⎠ dan R = 1,987 kal/gmol.K, perkirakan harga-harga k0, E, dan n berdasarkan data yang tersedia. (k0 ≡ faktor preeksponensial reaksi, E ≡ energi aktivasi reaksi, dan n ≡ orde reaksi)
PENYELESAIAN: Bentuk persamaan non-linier (**) dapat dilinierisasi menjadi: ln r = ln k0 − E 1 + n ln C A RT Dengan menggunakan metode kuadrat terkecil, hasil-hasil perhitungannya disajikan sbb.:
Data
x1
x2
y
x1 x2
x12
x22
x1 y
x2 y
1 2 3 4 5 6 7 8 Σ
0,002681 0,002532 0,002740 0,002500 0,002469 0,002577 0,002439 0,002632 0,020569
0 -0,080126 0,139762 -0,139262 0,048790 -0,287682 -0,597837 -0,430783 -1,347138
0,410784 1,077048 0,256965 1,176190 1,518638 0,641327 1,022451 0,227136 6,330539
0 -0,000203 0,000383 -0,000348 0,000120 -0,000741 -0,001458 -0,001134 -0,003381
7,1876E-06 6,4092E-06 7,5061E-06 6,2500E-06 6,0966E-06 6,6426E-06 5,9488E-06 6,9252E-06 5,2966E-05
0 0,006420 0,019533 0,019394 0,002380 0,082761 0,357409 0,185574 0,673472
0,001101 0,002727 0,000704 0,002940 0,003750 0,001653 0,002494 0,000598 0,015967
0 -0,086300 0,035914 -0,163799 0,074095 -0,184498 -0,611259 -0,097846 -1,033693
Dalam hal ini: y = ln r ; x1 = 1/T ; dan x2 = ln CA Dalam bentuk perkalian matriks:
⎡ n ⎢ ⎢ ∑ x1 ⎢ x ⎢⎣∑ 2
∑x ∑ x ⎤⎥ ⎡⎢a ⎤⎥ ⎡⎢ ∑ y ⎤⎥ ∑ x ∑ x x ⎥ ⎢a ⎥ = ⎢∑ x y ⎥ ∑ x x ∑ x ⎥⎥⎦ ⎢⎢⎣a ⎥⎥⎦ ⎢⎢⎣∑ x y ⎥⎥⎦ 1 2 1
2
1
0
2
1
1
2
2
2
2
1
⎡ 8 0,020569 ⎢ −5 ⎢ 0,020569 5,2966.10 ⎢− 1,347138 − 0,003381 ⎢⎣ A
2
− 1,347138 ⎤ ⎥ − 0,003381⎥ 0,673472 ⎥⎥ ⎦
⎡ a ⎤ ⎡ 6,330539 ⎤ ⎢ 0⎥ ⎢ ⎥ ⎢ a1 ⎥ = ⎢ 0,015967 ⎥ ⎢a ⎥ ⎢− 1,033693⎥ ⎢⎣ 2 ⎥⎦ ⎢⎣ ⎥⎦ x = b
dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 8 dari 16
Dengan menggunakan metode eliminasi Gauss, augmented matrix-nya: 8 0,020569 -1,347138 6,330539 0,020569 5,2966E-05 -0,003381 0,015967 -1,347138 -0,003381 0,673472 -1,033693 Hasil eliminasi pertama: 8 0 0
0,020569 7,8654E-08 8,2873E-05
-1,347138 8,2873E-05 0,446624
6,330539 -0,000310 0,032320
Pertukarkan baris ke-2 dan ke-3 (maximum column pivoting): 8 0,020569 -1,347138 0 8,2873E-05 0,446624 0 7,8654E-08 8,2873E-05
6,330539 0,032320 -0,000310
Hasil eliminasi kedua: 8 0 0
0,020569 8,2873E-05 0
-1,347138 0,446624 -0,000341
6,330539 0,032320 -0,000341
Dengan substitusi balik, diperoleh: a2 = 0,9999 =n
E R
a1 = -4998,5294
= −
a0 = 13,8118
= ln k0
Jadi: k0 = 9,9627.105 detik-1; E = 9932,1 kal/gmol; dan n = 0,9999 ≈ 1 Sebagai alternatif, jika menggunakan program EXCEL SOLVER, diperoleh hasil sbb:
2
⎛ ⎞ ⎜ k exp⎛⎜ − E ⎞⎟ C n − r ⎟ A 0 ⎜ ⎟ ⎝ RT⎠ ⎝ ⎠
Hampir sama dengan hasil di atas
∑ (error r )^2
INTERPOLASI LINIER Interpolasi linier, yang merupakan bentuk interpolasi paling sederhana, menggunakan dua titik data (data points) untuk mengembangkan pendekatan linier terhadap fungsi yang ditinjau. Tinjaulah 2 titik data (x1, f(x1)) dan (x2, f(x2)). Ekspansi deret Taylor untuk f(x) di sekitar x1:
f ( x) = f ( x1 ) + ( x − x1 ) f ' ( x1 ) +
( x − x1 ) 2 f ' ' ( x1 ) + ... 2
... (25)
dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 9 dari 16
Dengan mengabaikan suku-suku setelah linear-term, dan menggunakan pendekatan forward f ( x2 ) − f ( x1 ) difference untuk f’(x1), yakni: f ' ( x1 ) ≅ ... (26) x2 − x1 f ( x2 ) − f ( x1 ) ( x − x1 ) ... (27) Substitusi (26) ke (25) menghasilkan: f ( x) = f ( x1 ) + x2 − x1 Persamaan (27) merupakan formula interpolasi linier untuk mencari harga f(x), dengan x yang berada di antara x1 dan x2. CONTOH 5#: Berikut adalah data-data yang diambil dari tabel saturated steam: Suhu (oF) Entalpi saturated steam (BTU/lb) 240 1160,6 260 1167,4 Dengan interpolasi linier, perkirakan besarnya entalpi saturated steam pada 252oF! PENYELESAIAN: Dengan menerapkan persamaan (27) ke dalam kasus ini, maka: 1167,4 − 1160,6 H (T ) = 1160,6 + (T − 240) 260 − 240 1167,4 − 1160,6 (252 − 240) = 1164,7 BTU/lb Pada T = 252oF: H (T ) = 1160,6 + 260 − 240 CONTOH 6#: Perkirakanlah harga ln 2 dengan interpolasi linier! Gunakan 2 titik data: ln 1 = 0 dan ln 6 = 1,791759. Ulangi perhitungan, tetapi lakukan dalam rentang ln 1 = 0 dan ln 4 = 1,386294. PENYELESAIAN: Sebagai catatan, nilai yang sebenarnya: ln 2 = 0,6931472 Interpolasi pertama (pada rentang x = 1 dan x = 6):
ln 2 = ln 1 +
ln 6 − ln 1 1,791759 − 0 (2 − 1) = 0 + (1) = 0,3583519 6 −1 6 −1
(Error terhadap nilai sebenarnya, ε t =
0,3583519 − 0,6931472 .100% = 48,3% ) 0,6931472
Interpolasi kedua (pada rentang x = 1 dan x = 4):
ln 2 = ln 1 +
ln 4 − ln 1 1,386294 − 0 (2 − 1) = 0 + (1) = 0,4620981 4 −1 4 −1
(Error terhadap nilai sebenarnya, ε t = Perhatikanlah bahwa interpolasi kedua menghasilkan nilai yang lebih dekat kepada nilai sebenarnya. Dengan demikian dapat disimpulkan bahwa interval yang lebih sempit menghasilkan pendekatan yang lebih baik. Hal ini dapat dipertegas dari visualisasi grafik di samping:
y
0,4620981 − 0,6931472 .100% = 33,3% ) 0,6931472 2
f (x) = ln x
1.8
•
1.6 1.4
•
Nilai sebenarnya
1.2 1 0.8
• • •
0.6 0.4
Hasil interpolasi linier
0.2
•
0 0
1
x 2
3
4
5
6
7
dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 10 dari 16
INTERPOLASI KUADRAT Interpolasi kuadrat (quadratic interpolation) atau interpolasi orde-kedua menggunakan tiga titik data. Strategi ini menggunakan pendekatan polinomial orde dua. Jika tersedia tiga titik data, yakni: (x0, f (x0)), (x1, f (x1)), dan (x2, f (x2)), maka: f ( x) = b0 + b1 ( x − x0 ) + b2 ( x − x0 ) ( x − x1 )
... (28)
Persamaan (28) merupakan cara lain penyajian persamaan polinomial orde dua, karena: f ( x) = b0 + b1 ( x − x0 ) + b2 ( x − x0 ) ( x − x1 ) f ( x) = b0 + b1 x − b1 x0 + b2 x 2 + b2 x0 x1 − b2 x x0 − b2 x x1 atau: f ( x) = a0 + a1 x + a2 x 2 dengan: a0 = b0 − b1 x0 + b2 x0 x1 a1 = b1 − b2 x0 − b2 x1 a2 = b2
(bentuk umum persamaan kuadrat)
Prosedur sederhana untuk menentukan koefisien-koefisien b0, b1, dan b2 dalam persamaan (28) dikembangkan berdasarkan 3 titik data tersebut. Jika x = x0 disubstitusikan ke (28), maka: b0 = f ( x0 )
... (29)
Substitusikan (29) ke (28) dan dievaluasi pada x = x1 menghasilkan: f ( x1 ) = f ( x0 ) + b1 ( x1 − x0 ) atau:
b1 =
f ( x1 ) − f ( x0 ) x1 − x0
... (30)
Selanjutnya (29) dan (30) disubstitusikan ke (28), serta dievaluasi pada x = x2, sehingga: f ( x2 ) = f ( x0 ) +
atau:
f ( x1 ) − f ( x0 ) ( x2 − x0 ) + b2 ( x2 − x0 ) ( x2 − x1 ) x1 − x0
f ( x2 ) − f ( x1 ) f ( x1 ) − f ( x0 ) − x2 − x1 x1 − x0 b2 = x2 − x0
... (31)
CONTOH 7#: Perkirakanlah harga ln 2 dengan interpolasi kuadrat! Gunakan 3 titik data berikut: x0 = 1 f (x0) = 0 f (x1) = 1,386294 x1 = 4 f (x2) = 1,791759 x2 = 6 PENYELESAIAN: Dengan menerapkan persamaan (29): b0 = 0 1,386294 − 0 Dengan persamaan (30): b1 = = 0,4620981 4 −1 1,791759 − 1,386294 − 0,462091 6 − 4 Dengan persamaan (31): b2 = = −0,0518731 6 −1 Substitusikan nilai-nilai b0, b1, dan b2 ke (28) menghasilkan: f ( x) = 0 + 0,4620981 ( x − 1) − 0,0518731 ( x − 1) ( x − 4)
Pada x = 2: f (2) = 0 + 0,4620981 (2 − 1) − 0,0518731 (2 − 1) (2 − 4) = 0,5658444 Jadi, dengan interpolasi kuadrat, diperoleh: ln 2 = 0,5658444 (Error terhadap nilai sebenarnya, ε t =
0,5658444 − 0,6931472 .100% = 18,4% ) 0,6931472
dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 11 dari 16
y
2 1.8
f (x) = ln x
1.6 1.4
Nilai sebenarnya
1.2 1
Hasil interpolasi kuadrat
0.8
• • •
0.6 0.4
Hasil interpolasi linier
0.2
x
0 0
1
2
3
4
5
6
7
(Bandingkan hasil ini dengan hasil yang diperoleh dengan interpolasi linier, pada contoh sebelumnya, contoh #6...)
INTERPOLASI POLINOMIAL NEWTON Berdasarkan penurunan untuk interpolasi kuadrat di atas, pendekatan yang sama dapat dikembangkan untuk interpolasi polinomial berorde m. Polinomial berorde m dapat dituliskan sbb.: f ( x) = b0 + b1 ( x − x0 ) +
+ bm ( x − x0 ) ( x − x1 )
( x − xm −1 )
... (32)
Untuk polinomial berorde m, diperlukan sejumlah (m+1) titik data, yakni: x0, x1, x2, ..., xm. Dengan menggunakan titik-titik data ini, persamaan-persamaan berikut dapat digunakan untuk menghitung koefisien-koefisien b0, b1, ..., bm: b0 = f ( x0 )
... (33)
b1 = f x1 , x0
... (34)
[ ] b = f [x , x , x ] 2
2
1
... (35)
0
[
bm = f xm , xm−1 ,……, x1 , x0
]
... (36)
Perhitungan di dalam kurung siku pada persamaan-persamaan (33), (34), (35), dan (36) menggunakan beda-terbagi hingga (finite divided-differences). Secara umum, first finite-divided difference dinyatakan sbb.: f ⎡ xi , x j ⎤ = ⎥⎦ ⎢⎣
f ( xi ) − f ( x j ) xi − x j
... (37)
Second finite divided-difference, yang menggambarkan perbedaan dua first finite-divided difference, secara umum dinyatakan sbb.: f ⎡ xi , x j , xk ⎤ = ⎢⎣ ⎥⎦
f ⎡ xi , x j ⎤ − f ⎡ x j , xk ⎤ ⎢⎣ ⎥⎦ ⎢⎣ ⎥⎦ xi − xk
... (38)
Dan seterusnya, finite divided-difference ke-m dapat dinyatakan sbb.:
[
] f [x , x
f xm , xm−1 ,…, x1 , x0 =
m
m−1
] [
,…, x1 − f xm−1 , xm−2 ,…, x0 xm − x0
]
... (39)
Persamaan (37) – (39) memperlihatkan perhitungan yang bersifat rekursif, yang berarti bahwa finitedivided difference yang lebih tinggi disusun dari finite-divided difference yang lebih rendah, seperti tersaji dalam contoh skema berikut ini: dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 12 dari 16
i
xi
f (xi)
0 1 2 3
x0 x1 x2 x3
f (x0) f (x1) f (x2) f (x3)
Pertama f x1 , x0 f x2 , x1 f x3 , x2
[ ] [ ] [ ]
Finite divided-difference Kedua f x2 , x1 , x0 f x3 , x2 , x1
[ [
] ]
Ketiga f x3 , x2 , x1 , x0
[
]
Keterangan: x0, x1, x2, ..., xm tidak perlu dalam urutan naik
CONTOH 8#: Ulangi contoh sebelumnya, perkirakanlah harga ln 2 dengan interpolasi polinomial Newton berorde-tiga (interpolasi kubik)! Gunakan 1 titik data tambahan berikut: x3 = 5; f (x3) = 1,6094379 PENYELESAIAN: Polinomial berorde-tiga (persamaan kubik) dapat dituliskan sebagai: f ( x) = b0 + b1 ( x − x0 ) + b2 ( x − x0 ) ( x − x1 ) + b3 ( x − x0 ) ( x − x1 ) ( x − x2 )
First finite-divided difference untuk kasus ini: 1,386294 − 0 f x1 , x0 = = 0,46209813 = b1 4 −1 1,791759 − 1,386294 f x2 , x1 = = 0,20273255 6−4 1,6094379 − 1,791759 f x3 , x2 = = 0,18232160 5−6 Second finite-divided difference: 0,20273255 − 0,46209813 f x2 , x1 , x0 = = −0,051873116 = b2 6 −1 0,18232160 − 0,20273255 f x3 , x2 , x1 = = −0,020410950 5−4
[ ] [ ] [ ] [ [
] ]
Third finite-divided difference: − 0,020410950 − (−0,051873116) f x3 , x2 , x1 , x0 = = 0,0078655415 = b3 5 −1
[
]
Harga-harga b0 (= f (x0)), b1, b2, dan b3 selanjutnya disubstitusikan ke persamaan polinomial berorde-tiga di atas, menghasilkan: f ( x) = 0 + 0,46209813 ( x − 1) − 0,051873116 ( x − 1) ( x − 4) + 0,0078655415 ( x − 1) ( x − 4) ( x − 6) Jika dievaluasi pada x = 2: f (2) = 0 + 0,46209813 (2 − 1) − 0,051873116 (2 − 1) (2 − 4) + 0,0078655415 (2 − 1) (2 − 4) (2 − 6) = 0,62876869 Jadi, dengan interpolasi polinomial Newton berorde-tiga, diperoleh: ln 2 = 0,62876869 (Error terhadap nilai sebenarnya, ε t =
0,62876869 − 0,6931472 .100% = 9,3% ) 0,6931472
dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 13 dari 16
y
2 1.8
f (x) = ln x
1.6 1.4
Nilai sebenarnya
1.2 1 0.8
••
0.6
Hasil interpolasi kubik
0.4 0.2 0
x 0
1
2
3
4
5
6
7
(Bandingkan hasil ini dengan hasil yang diperoleh dengan interpolasi linier maupun interpolasi kuadrat pada 2 contoh sebelumnya, contoh 6# dan 7#)
INTERPOLASI POLINOMIAL LAGRANGE Interpolasi polinomial Lagrange merupakan perumusan ulang dari polinomial Newton yang tidak menggunakan metode finite-divided difference. Secara umum, untuk sebuah polinomial berorde m: m
f ( x) = ∑ Li ( x) . f ( xi ) i =0 m
dengan: Li ( x) = ∏ j =0 j ≠i
x − xj xi − x j
... (40) ... (41)
∏ menunjukkan “hasil kali dari” (product of). Misal, untuk polinomial berorde satu (linier): f ( x) =
x − x1 x − x0 f ( x0 ) + f ( x1 ) x0 − x1 x1 − x0
... (42)
Untuk polinomial berorde dua (kuadrat): f ( x) =
( x − x1 ) ( x − x2 ) ( x − x0 ) ( x − x2 ) ( x − x0 ) ( x − x1 ) f ( x0 ) + f ( x1 ) + f ( x2 ) ( x0 − x1 ) ( x0 − x2 ) ( x1 − x0 ) ( x1 − x2 ) ( x2 − x0 ) ( x2 − x1 )
... (43)
Demikian seterusnya. Pada metode ini, untuk polinomial berorde m, juga diperlukan sejumlah (m+1) titik data. CONTOH 9#:
Gunakan interpolasi polinomial Lagrange orde pertama dan orde kedua untuk menghitung harga ln 2, berdasarkan 3 titik data berikut ini (sama dengan contoh sebelumnya): x0 = 1 f (x0) = 0 f (x1) = 1,386294 x1 = 4 f (x2) = 1,791759 x2 = 6 PENYELESAIAN:
Formula interpolasi polinomial Lagrange orde pertama: x − x1 x − x0 f ( x) = f ( x0 ) + f ( x1 ) x0 − x1 x1 − x0 Pada x = 2:
f (2) =
2−4 2 −1 (0) + (1,386294) = 0,4620981 1− 4 4 −1
dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 14 dari 16
Formula interpolasi polinomial Lagrange orde kedua: f ( x) =
( x − x1 ) ( x − x2 ) ( x − x0 ) ( x − x2 ) ( x − x0 ) ( x − x1 ) f ( x0 ) + f ( x1 ) + f ( x2 ) ( x0 − x1 ) ( x0 − x2 ) ( x1 − x0 ) ( x1 − x2 ) ( x2 − x0 ) ( x2 − x1 )
Pada x = 2:
f (2) =
(2 − 4) (2 − 6) (2 − 1) (2 − 6) (0) + (1,386294) (1 − 4) (1 − 6) (4 − 1) (4 − 6) +
(2 − 1) (2 − 4) (1,791759) = 0,56584437 (6 − 1) (6 − 4)
(Perhatikanlah bahwa kedua hasil ini sangat dekat dengan hasil yang dihitung dengan menggunakan metode interpolasi polinomial Newton, pada contoh 6# dan 7#).
LATIHAN SOAL: 1. Jika Anda mempunyai pasangan data-data x dan y, bagaimana cara Anda melinierisasikan bentukbentuk persamaan empirik berikut ini untuk memperoleh harga-harga parameter a dan b? ⎛ x ⎞ 1 ⎟ = exp ⎜ (a) ⎜ y a+b x⎟ ⎝ ⎠ x (b) ln y = a x e + b x (c) y − x − b = 4 a x 1 2
( )
2. Jika tersedia sekumpulan data-data (x, y) berikut dan diasumsikan bahwa: y = a0 + a1 x x 0,9 2,3 3,3 4,5 5,7 6,7 y 1,1 1,6 2,6 3,2 4,0 5,0 tentukan besarnya a0 dan a1. 3. Lakukan curve-fitting untuk menentukan bentuk korelasi yang terbaik dari data-data berikut ini: x 0 0,43 1,25 1,40 2,60 2,90 4,30 y 9,4 7,1 5,35 4,20 2,60 1,95 1,15 4. Dengan mengasumsikan bahwa: y = a eb x Berapakah nilai-nilai a dan b, dengan linear regression, berdasarkan data-data di bawah ini? x 1,0 1,5 2,0 2,5 3,0 3,5 4,0 y 3,3 3,5 3,7 3,9 4,0 4,3 4,5 5. Viskositas (μ) air, dalam centi-Poise, yang diukur pada berbagai suhu T, dalam oC, disajikan dalam tabel berikut ini: 10 20 30 40 50 60 70 T (oC) μ (cP) 1,308 1,005 0,801 0,656 0,549 0,469 0,406 Dengan menggunakan multiple linear regression, tentukan tetapan-tetapan yang bersesuaian 1 dengan persamaan model: = k1 + k 2 T + k3 T 2
μ
b T +c o dengan P [=] atm, T [=] Kelvin, serta a, b, dan c menyatakan tetapan-tetapan Antoine. Tentukan tetapan-tetapan Antoine untuk oksigen dari data-data berikut ini: 1 2 5 10 20 30 40 P (atm) T (oC) -183,1 -176,0 -169,5 -153,2 -140,0 -130,7 -124,1
6. Persamaan Antoine dapat dituliskan sebagai: log P o = a +
7. Jika diberikan data-data sbb.: 1 2 3 5 6 x f (x) 4,75 4 5,25 19,75 36 dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 15 dari 16
(a) (b) (c)
Hitunglah f (3,5) dengan interpolasi polinomial Newton orde 1 sampai 3. Pilihlah sendiri urutan titik-titik data yang digunakan, supaya menghasilkan ketelitian yang baik. Ulangi bagian (a), tetapi menggunakan interpolasi polinomial Lagrange orde 1 sampai 3. Bandingkan hasil-hasilnya.
8. Berikut adalah data tekanan uap murni benzena pada berbagai suhu: -1,6 7,6 15,4 26,1 42,2 60,6 Suhu (oC) Tekanan uap (mm Hg) 20 40 60 100 200 400 Perkirakan besarnya tekanan uap murni benzena pada 25oC menggunakan: (a) Interpolasi linier (b) Interpolasi kuadrat (c) Interpolasi kubik 9. Data berikut ini menunjukkan profil indeks bias larutan sukrosa pada berbagai konsentrasi yang diukur pada suhu 20oC. 10 15 20 25 30 35 Persen sukrosa 1,3479 1,3557 1,3639 1,3723 1,3811 1,3902 Indeks bias Perkirakan konsentrasi larutan sukrosa yang mempunyai indeks bias sebesar 1,3606 dengan menggunakan: (a) Interpolasi linier (b) Interpolasi kuadrat (c) Interpolasi kubik 10. Sebuah reaksi heterogen mempunyai persamaan kecepatan reaksi yang mengikuti model kinetika Langmuir-Hinshelwood: k1 PA r= (1 + K A PA + K R PR ) 2 Gunakan data-data berikut ini, yang diukur KA, dan KR. 1 0,9 PA 0 0,1 PR 5 r x 10 3,4 3,6
☺☺☺
pada suhu 400 K, untuk memperkirakan besarnya k1, 0,8 0,7 0,6 0,5 0,4 0,2 0,3 0,4 0,5 0,6 3,7 3,9 4,0 4,1 4,2
Selamat Belajar...
☺☺☺
dy/analisis numerik/curve-fitting dan interpolasi/maret/2007/halaman 16 dari 16