You are on page 1of 8

R. S.

Lasijo

Fitting Kurva Dengan Menggunakan Spline Kubik


Intisari Metode interpolasi spline kubik adalah salah satu cara untuk fitting kurva pada data eksperimental yang bentuk dari fungsinya maupun turunannya tidak diketahui. Metode ini menggunakan polinomial pangkat tiga yang diasumsikan berlaku pada titik-titik yang terletak di antara dua titik data yang diketahui. Fungsi yang bersangkutan kemudian diaplikasikan pada semua titik-titik data yang ada, sehingga didapatkan persamaan simultan, yang selanjutnya dapat diselesaikan dengan menggunakan metode matriks. Metode ini dapat pula dipergunakan untuk menentukan turunan dari fungsinya pada titik-titik yang terletak di dalam daerah yang diinterpolasi. Kata kunci : fitting kurva, spline kubik, persamaan simultan, matriks.

Abstract Cubic spline interpolation method is one of the curve fitting methods used for experimental data whose shape of the function and its derivatives are not known. This method is using third power polynomial as the assumed function, which can be applied to points located between two given points. If the function is applied to all available experimental data, simultaneous equation will be obtained, which subsequently can be solved using matrix method. This method can also be used to determine the derivatives of the function for points located inside the interpolated area. Keywords : curve fitting, cubic spline, simultaneous equations, matrix.

50

INTEGRAL, vol. 6, no. 2, Oktober 2001

I. Pendahuluan Fitting data pada umumnya dapat dilakukan dengan metode kuadrat terkecil (least squares fitting method). Metode ini pada umumnya dapat dilakukan dengan mudah bila bentuk dari fungsi kurvanya diketahui dan sederhana, tetapi bilamana bentuk dari fungsi kurvanya sendiri belum diketahui, maka metode pendekatan atau aproksimasi dapat dilakukan dengan berbagai cara, misalnya dengan menguraikan fungsinya dalam deret, misalnya deret Taylor bilamana fungsi dan turunannya pada titik-titik tertentu diketahui, atau menggunakan interpolasi Lagrange, bilamana hanya fungsinya saja yang diketahui pada beberapa titik. Metode lain adalah menguraikan fungsinya dalam fungsi-fungsi yang sifatnya telah diketahui, misalnya fungsi Bessel atau polinomial Hermit, dan sebagainya [1]. Metode-metode tersebut di atas pada umumnya dapat berhasil dengan baik, tetapi ada kalanya dapat pula mengalami kegagalan, terutama untuk kedua titik data yang berada di ujung data, sangat sukar untuk menentukan turunannya. Dalam tulisan ini akan dibahas penggunaan interpolasi polinomial yang dikenal dengan nama spline kubik yang sangat berguna untuk fitting datadata yang bentuk fungsinya maupun turunannya tidak diketahui.

II. Teori Spline kubik adalah metode aproksimasi dengan melakukan interpolasi pada titik-titik x yang terletak antara dua titik xj dan xj+1 dengan mengasumsikan fungsinya berbentuk polinomial pangkat tiga p (x) = a j + b j ( x - x j ) + c j ( x - x j ) 2 + d j ( x - x j )3 untuk x j x x j + 1 ( 1) dengan aj, bj, cj , dan dj konstanta, dengan syarat bahwa pada x = x j harus dipenuhi bahwa p (x j) pj = f (x j ) =a j (2) dan pada x = x j + 1 harus pula dipenuhi bahwa p ( x j+1 ) p j+1 = pj + bj hj + cj hj2 + dj hj3 (3), di mana h j = x j + 1 - x j . (3.a) Turunan pertama dari fungsi persamaan ( 1 ) adalah p' ( x ) = b j + 2 c j ( x - x j ) + ( 4 ), 3d j ( x - x j )2 dan turunan keduanya p" ( x ) = 2 c j + 6 d j ( x - x j ) . (5) Untuk x = x j , turunan keduanya berharga p" ( x j ) p"j = 2 c j ( 6 ), sehingga didapat c j = p"j /2 ( 6.a) Dari persamaan ( 5 ) dan ( 6a ) juga dapat diperoleh

INTEGRAL,vol. 6 no. 2, Oktober 2001

51

p"j+1 = 2 c j + 6 d j ( x j + 1 - x j ) = p"j + 6 d j h j atau ( 7.a) , 6hj sehingga dari persamaan ( 3 ) didapat p j + 1 - p j h j p" j + 1 + 2 h j p" j bj = . hj 6 (8) Dengan harga-harga konstanta seperti didapat dalam persamaanpersamaan ( 2 ), ( 6a ), (7a ) dan (8 ), persamaan ( 1 ) dapa t ditulis p(x)= p j + p j + 1 - p j h j p" j + 1 h j p" j . 6 3 hj 1 ( x - x j ) + p"j ( x - x j ) 2 + 2 p" j + 1 - p" j (x-xj )3 6hj untuk x j x x j + 1 ( 9) Dari persamaan ( 4 ) dan ( 9 ) didapat p j + 1 - p j h j p"j + 1 p' ( x ) = hj 6 h j p"j 3 2hj +p"j ( x - x j ) + (x-xj )2 dj = p" j + 1 - p" j (7)

titik j-1 yang berada didepannya, didapat p'(x)= p j - p j - 1 h j - 1 p" j h j - 1 p" j - 1 h j-1 6 3 p" j - p" j - 1 2 h j -1

+ p" j - 1 ( x - x j - 1 ) + ( x - x j -1 ) 2

untuk x j 1 x x j ( 11 ) Pada persamaan ( 10 ) dan ( 11 ) harus menghasilkan harga yang sama untuk p'( x j ), sehingga harus dipenuhi p j + 1 - p j h j p" j + 1 h j p" j = hj 6 3 p j - p j - 1 h j - 1 p" j h j - 1 p" j - 1 h j-1 6 3 + p" j - 1 h j - 1 + p" j - p" j - 1 2 h j-1 h 2- 1 j

atau h j - 1 p" j - 1 + ( 2 h j + 2 h j - 1 ) p" j + h j p" j + 1 =6[ p j + 1 - p j p j - p j-1 ] hj h j-1

p" j + 1 - p" j

(10 ) untuk x j x x j + 1 Pada persamaan ( 10 ) bila indeks j+1 diganti dengan j dan indeks j diganti dengan j-1, jadi berarti membuat hubungan antara titik j dan

dengan j = 2, ... , n-1. ( 12 ) Persamaan ( 12 ) memberikan sebanyak (n-2) persamaan dari n buah variabel yang harus dicari, jadi perlu 2 persamaan lagi supaya solusi unik dapat diperoleh. Kedua persamaan yang diperlukan ini dapat diperoleh dari kedua titik yang berada diujung data, yaitu titik x = x1 dan titik x = xn. Dari persamaan (10 ) untuk x = x1 didapat

52

INTEGRAL, vol. 6, no. 2, Oktober 2001

p 2 - p 1 h 1 p" 2 h 1 p"1 atau h1 6 3 p -p 2 h 1 p"1 + h 1 p" 2 = 6 ( 2 1 - p"1 ) h1 (13 ) dan dari persamaan ( 11 ) untuk x = xn didapat p - p n - 1 h n - 1 p"n p'n = n hn - 1 6 h n - 1 pn - 1 + p"n - 1 h n - 1 + 3 p"n - p"n - 1 2 hn - 1 2 hn - 1 p'1 = 2 h 1 h 1 h1 2 ( h1 + h 2 ) h2 h2 2 ( h2 + h3 ) h3 ...

atau h n 1 p" n - 1 + 2 h n - 1 p" n = 6( p n - p n -1 - p' n ). hn 1 (14 ) Persamaan ( 13 ) dan (14) dapat ditulis dalam bentuk matriks, yaitu

hn-2

2 ( h n - 2 + h n -1 h n -1

) h n -1 2 h n -1

p"1 p" 2 p" 3 ... p" n 1 p" n

p -p 6 ( 2 1 - p'1 ) h1 6 ( p 3 - p 2 - p 2 p1 h2 h1 p -p p -p 6( 4 3 - 3 2 ) h3 h2 = ... p -p p -p 6 ( n n - 1 - n - 1 n - 2 h n -1 hn-2 p n - p n -1 - p' n ) -6( h n -1

(15 )

INTEGRAL,vol. 6 no. 2, Oktober 2001

53

Pada persamaan ( 15 ), sebelah kiri tanda sama dengan, matriks pertama merupakan matriks tridiagonal, sedangkan matriks kedua merupakan Turunan pertama pada titik-titik ujung data, yaitu p'1 dan p' n , tidak selalu dapat diperoleh. Pada umumnya dipergunakan bentuk spline alami, yaitu mengasumsikan bahwa turunan

matriks kolom atau suatu vektor ndimensi, demikian pula sebelah kanan tanda sama dengan merupakan matriks kolom atau suatu vektor n-dimensi. pertama tersebut sama dengan nol, yaitu p'1 = p' n = 0, sehingga persamaan ( 15 ) dapat ditulis menjadi

1 2(h +h ) h2 1 2 h2 2 ( h2 + h3 ) ... ... hn-2 0 p 3 - p 2 p 2 - p1 ) 6( h h1 2 6 ( p4 - p3 - p3 - p2 ) = h3 h2 ... p n - p n -1 p n -1 - p n - 2 6 ( h n -1 hn-2 0 )

2 ( hn-2

+ h n -1 ) 1

p"1 p" 2 p" 3 ... p" n - 1 p" n

( 16)

Bilamana matriks pertama sebelah kiri tanda sama dengan pada persamaan (16) disebut matriks H, matriks yang kedua disebut P" dan matriks di sebelah kanan tanda sama dengan disebut matriks P, maka persamaan ( 16 ) dapat ditulis

HP"=P.

( 16a )

Pada persamaan ini matriks H dan P telah diketahui, sehingga yang harus dicari adalah matriks P". Persamaan ( 16 ) atau ( 16a ) dapat diselesaikan misalnya dengan menguraikan matriks H menjadi perkalian dua matriks

54

INTEGRAL, vol. 6, no. 2, Oktober 2001

segitiga bawah L dan matriks segitiga atas U, yaitu [2] H=LU. ( 17 )

Karena H merupakan matriks tridiagonal, maka matriks L akan merupakan matriks dengan elemenelemen yang tidak sama dengan nol hanya pada diagonal utamanya dan satu diagonal di bawah diagonal utama , sedangkan matriks U akan merupakan matriks dengan elemenelemen yang tidak sama dengan nol hanya pada diagonal utama dan satu diagonal di atas diagonal utama. Maka persamaan (16) atau (16a) sekarang berbentuk LUP"=P. ( 18 )

Karena L berupa matriks segitiga bawah, maka Y dapat diperoleh dengan metode eliminasi Gauss atau eliminasi Gauss maju. Selanjutnya dari hubungan UP"=Y, ( 21 ) karena U merupakah matriks segitiga atas, maka P" dapat diperoleh dengan metode eliminasi Gauss mundur. Setelah P" diperoleh, maka fungsi yang dicari yaitu p(x) dapat dihitung dengan menggunakan persamaan ( 9 ). III. CONTOH TERAPAN DAN DISKUSI Dalam contoh terapan ini penghitungan dilakukan dengan menggunakan bahasa FORTRAN-77 pada PC dengan prosesor Pentium. Sebagai contoh terapan pertama diambil suatu kurva yang telah dikenal, yang berbentuk sinus, yaitu data yang mempunyai absis dan ordinat sebagai berikut :
180 0 225 0.7071 270 -1 315 0.7071 360 0

Bila dimisalkan UP" = Y, maka persamaan ( 18 ) menjadi LY=P.


Absis (derajat) Ordinat 0 0 45 0.7071 90 1

( 20 )
135 0.7071

Bila data tersebut kita masukkan sebagai input dengan menggunakan metode spline kubik alami, yaitu dengan menganggap turunan pertama fungsi pada titik data pertama dan terakhir sama dengan nol, maka akan diperoleh hasil penghitungan yang menurun ke harga yang negatif sedikit setelah titik data yang pertama. Tetapi bilamana turunan pertama dari titik

data yang pertama dan terakhir diberi harga 1, sesuai dengan harga cosinus(0o) dan cosinus (360o), maka akan didapat kurva yang secara kualitatif sesuai dengan bentuk sinus, sekalipun secara kuanntitatif untuk titik-titik diluar titik-titik data yang diberikan sedikit menyimpang dari yang seharusnya. Hasil plot ditunjukkan pada Gambar 1.

INTEGRAL,vol. 6 no. 2, Oktober 2001

55

1 .5 1 0 .5 0 - 0 .5 0 -1 - 1 .5

S in u s ( te ta )

10

20

30

40

50

Sebagai contoh kedua diberikan data sebarang sebagai berikut : Absis (derajat) Ordinat
1 2 2 4 3 6 4 8 5 10 6 12 7 10

Gathtbbtknalattsdegbiatk abalrnidkrtkiid ariie a m ornushp t aaak 1 sa n kt a i sgrPoeesutniakutndrn eepoelmjueidhay(dno imi t unhi iutt )K dkk lh
8 9 9 4 10 1

Dengan menggunakan spline kubik alami didapatkan plot seperti terlihat pada Gambar 2. Dari plot dapat dilihat bahwa fungsi yang didapat dari metode spline kubik ini pada titik-titik data yang diberikan fungsinya tidak kontinu, artinya turunan pertamanya dari kiri tidak sama dengan turunannya dari kanan titik yang bersanggkutan, contohnya seperti terlihat pada titik data yang ke-enam di mana turunan pertamanya dari sebelah kiri titik tersebut tidak berimpit dengan turunan pertamanya dari sebelah kanan. Bagaimanapun juga metode ini sangat berguna untuk fitting banyak data yang fungsi maupun turunannya tidak diketahui. Makin banyak titik-titik data yang diberikan, maka makin baik mutu dari plotnya.

IV. KESIMPULAN DAN SARAN Spline kubik merupakan salah satu metode yang cukup baik untuk fitting data eksperimental yang bentuk fungsi maupun turunannya tidak diketahui. Makin banyak titik data yang dapat diberikan, maka metode ini akan makin memberikan hasil yang lebih baik, asal saja data yang diberikan merupakan hasil eksperimental yang baik, yaitu pengumpulan data serta reduksinya dilakukan dengan kontrol kualitas yang cukup baik. Metode ini sebaiknya dipergunakan bilamana bentuk serta turunan dari fungsi datanya tidak diketahui.

56

INTEGRAL, vol. 6, no. 2, Oktober 2001

15 10 5 0 0 10 20 30 40 50
G a m b a r 2 . P lo t d a ta s e b a r a n g . S e g ie m p a t h o r is o n ta l a d a la h titi k titik d a ta y a n g d i b e r i k a n , s e d a n g k a n k u r va g a r is a d a la h h a s i l p e n g h i tu n g a n d e n g a n m e to d e s p lin e k u b i k a la m i .

Referensi 1. De VRIES, P.L., " A First Course in Computational Physics", John Wiley & Sons, Inc., 1994. 2. JENNINGS, Alan, "Matrix Computation for Engineers and

Scientists", John Wiley & Sons, Ltd., Reprinted, 1978. Penulis Dr. R. S. Lasijo adalah staf peneliti pada Puslitbang Teknik Nuklir, Badan Tenaga Nuklir Nasional (BATAN) Bandung.

INTEGRAL,vol. 6 no. 2, Oktober 2001

57

You might also like