• Tidak ada hasil yang ditemukan

PERBANDINGAN INTERPOLASI DALAM METODE SPLINE. Skripsi. Diajukan untuk Memenuhi Salah Satu Syarat. Memperoleh Gelar Sarjana Sains

N/A
N/A
Protected

Academic year: 2021

Membagikan "PERBANDINGAN INTERPOLASI DALAM METODE SPLINE. Skripsi. Diajukan untuk Memenuhi Salah Satu Syarat. Memperoleh Gelar Sarjana Sains"

Copied!
86
0
0

Teks penuh

(1)

PERBANDINGAN INTERPOLASI DALAM METODE SPLINE

Skripsi

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains

Program Studi Matematika

Oleh :

Anastasia Vrysca Jayanti NIM : 013114014

PROGRAM STUDI MATEMATIKA JURUSAN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SANATA DHARMA

YOGYAKARTA 2007

(2)
(3)
(4)

When Jesus Say That He Love Me

I feel that I am lonely It doesn’t prove that I am alone

I listen to the words He say That He will always be by my side

I mean everything to Him And He will never leave me

‘cause He love me so When He say that He love me It means He give the best for me

When He say that He love me He will give everything for me No more fear about the future

And the blame for the past He will give everything When He say that He love me

He died for me He give His life for me When He say that He love……….

Say that He love me I think that I am nothing I think that I can’t do anything But I can do a lot of things with Him

(5)

      Apa yang kuberikan untuk Mama  Untuk Mama tersayang  Tak kumiliki sesuatu berharga  Untuk Mama tercinta    Hanya ini kutuliskan  Tugas Akhir dari tanganku untuk Mama  Hanya sebuah tugas akhir sederhana  Tugas akhirku untuk Mama    Walau tak dapat lagi kuungkapkan  Rasa cintaku untuk Mama  Namun dengarlah hatiku selalu berkata  Sungguh kusayang padamu Mama    Mama . . .                Yogyakarta, 28 Maret 2007        

(6)

“Janganlah gelisah hatimu; percayalah kepada Allah,

percayalah juga kepada-Ku. ”

- Yohanes 14 : 1 -

Kupersembahkan untuk :

My Sweet Heart Jesus

My Beautiful Life

My Be Loved Mom

My Cute Father

(7)

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 28 Maret 2007 Penulis,

(8)

ABSTRAK

Metode Spline adalah salah satu metode Interpolasi yaitu dengan memakai pendekatan fungsi-fungsi Spline sebagai polinom penghubung. Fungsi Spline ter-diri Spline Linear, Spline Kuadrat dan Spline Kubik.

Pada skripsi ini akan dibuat perangkat lunak untuk membandingkan Spline Linear, Spline Kuadrat dan Spline Kubik. Perbandingan dilakukan dalam hal galat dan waktu komputasi. Proses perhitungan galat dihasilkan dari harga mutlak nilai sebenarnya dikurangi nilai hampiran dibagi nilai sebenarnya dikali seratus persen. Lama tidaknya waktu komputasi ditunjukkan dari banyaknya data yang dicari dalam proses perhitungan.

Hasil percobaan menunjukkan bahwa beda jauh data mempengaruhi galat. Semakin besar nilai data yang dicari galat yang dihasilkan semakin kecil dan se-makin kecil nilai data yang dicari galat yang dihasilkan sese-makin besar. Spline Linear menghasilkan galat yang besar dan waktu komputasi yang paling cepat, Spline Kuadrat menghasilkan galat yang besar dan waktu komputasi yang lama dan Spline Kubik menghasilkan galat yang paling kecil dan waktu komputasi yang paling lama.

(9)

ABSTRACT

Spline method is one of Interpolation method that with make approxima-tion Spline funcapproxima-tions as connected polynom. Spline funcapproxima-tion consist of Linear Spline, Quadrate Spline and Cubic Spline.

In this thesis, will make a program to compare Linear Spline, Quadrate Spline ang Cubic Spline, on particular the error and the time computation. Process error computation is shown by absolute value from exact value minus approxima-tion value divide exact value and multiply one hundred percent. While the compu-tation processing duration by determining how many times the time compucompu-tation from data quantity in computation process.

The result shows that if searching data value is more bigger, the result fewer of error, if searching data value is more fewer, the result bigger of error. Linear Spline has bigger error but faster time computation, Quadrate Spline result bigger error and longer time computation and Cubic Spline result fewer of error and longer of time computation.

(10)

KATA PENGANTAR

Puji syukur kepada Allah Bapa Yesus Kristus atas Roh Kudus dan segala kasih-Nya yang berlimpah, sehingga skripsi yang berjudul Perbandingan Interpo-lasi Dalam Metode Spline, sebagai salah satu syarat untuk memperoleh gelar Sar-jana Sains (S.Si) Program Studi Matematika, dapat terselesaikan dengan baik.

Penyusunan skripsi ini tidak terlepas dari bantuan dan dukungan dari ber-bagai pihak, baik yang terlibat secara langsung maupun tidak langsung. Oleh karena itu, dalam kesempatan ini dengan segala kerendahan hati, penulis ingin menyampaikan rasa terima kasih yang mendalam kepada :

1. My Be Loved Mom…………..Love u, Miss u, Need u,Want u so much.

2. Keluarga yang selalu memberi semangat dan segenap doa : Babeh Nano, Mas Chemi, Ade Luchia dan Tante Lusi. Terima kasih atas segala-segalanya………Kakak lulus!!

3. Bapak Drs. Jong Jek Siang, M.Sc., selaku dosen pembimbing skripsi dan pani-tia penguji yang telah memberi bimbingan, pengarahan, saran dan koreksi dalam penyusunan skripsi penulis.

4. Bapak Y. G. Hartono, S. Si, M. Sc, selaku Kaprodi Fakultas MIPA Univer-sitas Sanata Dharma, dosen penguji dan dosen pembimbing akademik. Terima kasih atas pencarian judul skripsi, telah memberikan yang terbaik sebagai dosen, berbagi canda seperti teman dan memahami seperti ayah.

5. Ibu Lusia Krismiyati Budiasih, S. Si, M. Sc, selaku dosen penguji dan sebagai dosen pengajar, terima kasih atas kebaikannya dan yang selalu sabar seperti seorang ibu dan tempat bercerita sebagai seorang teman.

(11)

6. Dosen-dosen Program Studi Matematika yang memberi dukungan kepada pe-nulis baik selama kuliah maupun dalam penyusunan skripsi ini.

7. Bapak Z. Tukijo yang telah membantu dalam urusan administrasi dan persia-pan ujian akhir.

8. Sahabat-sahabat tersayang di Tangerang:

• Elly yang selalu menemani saat-saat yang paling menyakitkan dan yang selalu bisa diandalkan untuk bertukar fikiran.

• Olla yang selalu menemani saat-saat yang paling hancur dan selalu men-jadi teman yang paling manja.

• Linda yang selalu menemani saat-saat langkah kaki terasa sangat berat dan yang selalu bisa diandalkan untuk jalan-jalan.

Sahabat termanis di Yogyakarta :

• Cece yang selalu mencoba mendekatkan pada Kristus, tempat berbagi suka dan duka. Terima kasih atas persahabatan yang manis dan yang selalu melarang pergi ke luar paingan saat fikiran penulis sedang kacau.

Kehadiran kalian membuat penulis percaya bahwa Tuhan tidak meninggalkan saat-saat penulis merasa tidak dapat lagi melangkah.

9. Angkatan 2001 yang teristimewa (urut abjad) : Ajeng, Andre, Ariel, Alam , Agnes, April, Bita, Dani, Deta, Daniel, Erika, Fanya, Indah, Maria, Ray, Rita, Tedi,Yuli, Upik, Veri, Wiwit. Terima kasih untuk semua kisah yang sudah dilewati bersama.

(12)

11. - Fanya dan kostnya yang selalu menjadi tempat pelarian dikala stress. - Eko yang selalu siap membantu, menyupir dan mentraktir, he....he....

Cayoo Fanya & Eko, Semangat !!!

12. Catur Prasdianto tempat bertukar fikiran, thanks for everything, Koko Satijan, Robet Tampa, Moko, Mba Sumi, Bruder Koko, Mba Dwi, Mba Nia.

13. Keluarga kost 99999 : Bora, Diana, Maria, Okta, Grace, Emi, Desi, Cicil, Lia, Nana, Juli, Hanny, Vivi. Terima kasih kalian telah menjadi keluarga inti di jogja. Terima kasih untuk Welly, Olive dan lainnya. You All always be My Friends!! Bapak dan ibu kost atas nasihat-nasihatnya dan penjagaannya. 14. Kediaman DED : Rm. Sari Jatmiko...terima kasih atas setiap doa dan paksaan

untuk mengerjakan skripsi, Mba Tika, Mba Vivi, Septi, Eko, Siska, Theo, Mas Adhit.

Penulis berharap agar Tugas Akhir ini dapat berguna bagi penulis maupun pi-hak lain sebagai wahana pembelajaran interpolasi dengan Metode Spline. Tak ada gading yang tak retak dan tak ada langit yang tak berawan. Demikian juga penelitian dan penulisan Tugas Akhir ini masih jauh dari kesempurnaan. Oleh karena itu, penulis siap menerima dengan mata, tangan dan hati yang terbuka akan segala macam kritik dan saran demi peningkatan kualitas penelitian di kemudian hari.

Yogyakarta, 28 Maret 2007 Penulis,

(13)

DAFTAR ISI

Halaman HALAMAN JUDUL……….

HALAMAN PERSETUJUAN PEMBIMBING…………... HALAMAN PENGESAHAN……… HALAMAN PERSEMBAHAN……… HALAMAN KEASLIAN KARYA……… ABSTRAK……… ABSTRACT……… KATA PENGANTAR………. DAFTAR ISI………... DAFTAR TABEL………. DAFTAR GAMBAR………... BAB I PENDAHULUAN……….1

A. Latar Belakang Masalah………..………… B. Rumusan Masalah……….. C. Tujuan Penulisan……… D. Manfaat Penulisan……… E. Metode Penelitian ……… F. Pembatasan Penulisan ……… G. Sistematika Penulisan ………..… i ii iii iv v vi vii viii xi xiv xv 1 1 2 2 3 3 3 4

(14)

BAB II LANDASAN TEORI A. Interpolasi………..………… B. Galat……… ……… C. Metode Spline ……… 1. Spline linear………..… 2. Spline Kuadrat……….……… 3. Spline Kubik ………. BAB III PERANCANGAN DAN IMPLEMENTASI………

A. Perancangan Umum……… B. Perancangan Antarmuka...

1. Layar Sampul……… 2. Layar Masukan Spline………..….… C. Rancangan Proses……….… D. Implementasi………..……… 1. Spline Linear ……….…… 2. Spline Kuadrat……… 3. Spline Kubik……… BAB IV ANALISIS………...……… A. Hasil Implementasi... 1. Layar Sampul... 2. .Layar Spline... B. Pengujian Program Spline...

6 6 6 7 7 9 12 25 25 26 26 26 27 28 28 30 33 38 38 38 39 41

(15)

C. Percobaan Dan Analisis... 1. Galat... a. Percobaan 1... b. Percobaan 2………... c. Percobaan 3... 2. Waktu Komputasi... a. Percobaan 1…... b. Percobaan 2... BAB V PENUTUTUP………...…. A. Kesimpulan………...……. B. Saran………...………. DAFTAR PUSTAKA... LAMPIRAN... 41 42 42 44 46 48 48 50 54 54 55 56 57

(16)

DAFTAR TABEL

Halaman Tabel 2.1...

Tabel 2.2 Hasil Perhitungan Spline Linear... Tabel 2.3 Hasil Perhitungan Spline Kuadrat……….. Tabel 2.4 Hasil Perhitungan Spline Kubik……….. Tabel 4.1 Data Percobaan 1……… Tabel 4.2 Hasil Galat Percobaan 1………. Tabel 4.3 Data Percobaan 2……….. Tabel 4.4 Hasil Galat Percobaan 2……… Tabel 4.5 Data Percobaan 3……….. Tabel 4.6 Hasil Galat Percobaan 3……… Tabel 4.7 Hasil Waktu Komputasi Percobaan 1……… Tabel 4.8 Hasil Waktu Komputasi Percobaan 2………. Tabel 4.9 Rata-rata Waktu Komputasi………

8 9 12 24 42 42 44 44 46 46 48 50 51

(17)

DAFTAR GAMBAR

Halaman Gambar 3.1 Rancangan Layar Sampul………. Gambar 3.2 Rancangan Layar Spline……… Gambar 3.3 Flowchart Spline Linear... Gambar 3.4 Flowchart Spline Kuadrat... Gambar 3.5 Flowchart Spline Kubik……… Gambar 4.1 Hasil Implementasi Layar Sampul……….. Gambar 4.2 Hasil Implementasi Spline……… Gambar 4.3 Hasil Perhitungan Spline……….. Grafik 4.1 Galat Percobaan 1………. Grafik 4.2 Galat Percobaan 2………. Grafik 4.3 Galat Percobaan 3………. Grafik 4.3 Waktu Komputasi Percobaan 1……… Grafik 4.4 Waktu Komputasi Percobaan 2……… Grafik 4.5 Rata-rata Waktu Komputasi……… Grafik 4.6 Rata-rata Waktu Komputasi dalam Persen………..

26 27 29 31 35 38 39 41 43 45 47 48 50 51 52

(18)

BAB I

PENDAHULUAN

A. Latar Belakang Masalah

Seringkali harus mencari nilai antara titik-titik data yang telah diketahui dan itu menjadi masalah yang cukup rumit. Metode numerik merupakan cabang atau bidang ilmu matematika yang masalah penaksiran nilai antara titik-titik data yang telah diketahui diformulasikan sedemikian rupa sehingga dapat diselesaikan menggunakan pencocokan kurva. Fungsi-fungsi dalam pencocokan kurva mampu memecahkan berbagai persoalan mengenai penaksiran nilai antara titik-titik data yang telah diketahui. Taksiran nilai antara titik-titik data yang telah tepat dinamakan Interpolasi.

Interpolasi Spline merupakan interpolasi sepotong-sepotong. Ini berarti bahwa suatu fungsi f(x) tertentu pada selang a ≤ x ≤ b, jika ingin menghampiri f(x) pada selang ini dengan sebuah fungsi lain g(x). Fungsi g(x) yang diperoleh ini dinamakan Spline. Nama Spline sendiri diambil dari batang tipis yang telah digunakan sejak lama oleh para insinyur untuk mengepaskan kurva me-lalui titik tertentu.

Banyak metode-metode yang dapat dipakai untuk interpolasi yaitu Metode Newton, Metode Lagrange, Metode eksponensial dan Metode Spline. Dalam penulisan ini hanya akan dibahas interpolasi dengan Metode Spline yaitu Spline Linear yang menurunkan polinom orde pertama, Spline Kuadrat yang

(19)

menurunkan polinom orde kedua dan Spline Kubik yang menurunkan polinom orde ketiga. Prediksi yang digunakan yaitu nilai x natural logaritma

Dari Fungsi-fungsi Spline yang ada maka akan diketahui Spline mana yang dapat mencapai hasil yang optimal, yaitu errornya kecil dan waktu perhitungan yang singkat.

B. Rumusan Masalah

Pokok permasalahan yang akan dibahas dalam skripsi ini dapat ditu-lis dengan beberapa pertanyaan berikut :

1 Bagaimana mencari nilai antara titik-titik data yang telah diketahui dengan Spline Linear, Spline Kuadrat, dan Spline Kubik?

2 Bagaimana menganalisis Fungsi-fungsi Spline sehingga menghasilkan Fungsi Spline yang baik untuk mencari nilai antara titik-titik data yang telah diketa-hui?

3 Fungsi Spline mana yang lebih baik di antara Spline Linear, Spline Kuarat dan Spline Kubik dalam hal akurasi dan waktu untuk memprediksi nilai x natural logaritma dengan menggunakan bahasa pemprograman Delphi 7.0?

C. Tujuan Penulisan

Penulisan ini bertujuan untuk membandingkan Spline Linear, Spline Kuadrat dan Spline Kubik dalam mencari nilai antara titik-titik data yang telah diketahui.

(20)

D. Manfaat Penulisan

Manfaat yang diharapkan dalam skripsi ini adalah penulis dapat

me-nentukan Fungsi Spline mana yang paling baik untuk memprediksi nilai x natural logaritma sehingga errornya kecil dan waktu perhitungan yang singkat.

E. Metode Penelitian

Metode Penelitian :

1. Masukan data natural logaritma.

2. Terapkan persamaan Fungsi Spline Linear untuk memprediksi nilai x yang tidak terdapat dalam tabel dan catat kesalahannya.

3. Terapkan persamaan Fungsi Spline Kuadrat untuk memprediksi nilai x yang tidak terdapat dalam tabel dan catat kesalahannya.

4. Terapkan persamaan Fungsi Spline Kubik untuk memprediksi nilai x yang tidak terdapat dalam tabel dan catat kesalahannya.

5. Bandingkan kesalahan yang terjadi pada masing-masing Fungsi Spline.

F. Pembatasan Penulisan

Dalam skripsi ini dilakukan beberapa batasan sebagai berikut :

1. Interpolasi dengan Metode Spline yaitu Spline Linear, Spline Kuadrat , Spline Kubik .

2. Faktor untuk membandingkan yaitu galat dan running time. 3. Data yang dipakai adalah tabel natural logaritma.

(21)

G. Sistematika Penulisan

Sistem penulisan laporan skripsi ini terdiri dari 6 bab dengan urutan

sebagai berikut :

BAB I PENDAHULUAN

Menjelaskan uraian mengenai hal-hal yang menjadi dasar dalam pembahasan skripsi ini. Uraian tersebut mengenai latar belakang masalah, rumusan masalah, tujuan penulisan, manfaat penulisan, metode penelitian dan sistematika penulisan.

BAB II LANDASAN TEORI

Pada bab ini, penulis membahas dasar-dasar teori yang mendukung penyusunan skripsi ini secara terperinci, sehingga mudah dimengerti.

BAB III PERANCANGAN DAN IMPLEMENTASI

Menjelaskan perencanaan dalam rancangan program untuk implementasi. Serta melakukan implementasi dari rancangan program yang telah dibuat.

BAB IV ANALISIS

(22)

BAB V PENUTUTUP

Pada bab ini terdapat kesimpulan dan saran dari hasil analisa serta pembahasan masalah berdasarkan pada hasil yang didapat secara keseluruhan.

(23)

BAB II

LANDASAN TEORI A. Interpolasi

Terdapat n + 1 data pasangan bilangan

(

x0,f0

) (

, x1, f1

)

,. . .,

(

xn,fn

)

denganx0, x1, . . . ,xn nilainya berbeda, jika ingin memperoleh sebuah

polinomPn

( )

x yang bernilai fj di xj, dengan kata lain

dan berderajat n atau kurang. Polinom Pn sering dinamakan polinom

penginterpolasi. Nilai xj sering dinamakan simpul. Besaran fj mungkin saja

merupakan nilai fungsi matematis f(x) tertentu sehingga f(xj) = fj dan dengan

demikian Pn

( )

x merupakan suatu hampiran bagi f(x) dengan sifat bahwa Pn bernilai sama dengan f di semua simpul. Polinom Pn

( )

x ini digunakan untuk memperoleh nilai bagi semua x yang merupakan nilai hampiran bagi f(x). Jika x yang ingin dicari terletak di antara simpul-simpul tersebut maka dinamakan Interpolasi.

B. Galat

Perhitungan numerik tidak terlepas dari kesalahan atau galat. Terdapat dua bentuk galat yang utama di dalam metode numerik yaitu galat pembulatan yang dapat terjadi akibat keterbatasan mesin hitung dan galat pemotongan yang dapat terjadi karena keterbatasan proses komputasi. Kedua galat tersebut mempengaruhi

Galat Mutlak dan Galat Relatif Persen. 1 1 0 0) ( ) ( ) ( n n n n n x f , P x f, . . ., P x f P = = =

(24)

Definisi 2.1 :

Andaikan p~ adalah nilai hampiran dari p maka Galat Mutlak didefinisikan

sebagai Em= p−~p dan Galat Relatif Persen 100%, 0.

~ ≠ ∗ − = p p p p Er C. Metode Spline

Metode Spline adalah salah satu metode numerik yang dapat digunakan untuk pencarian interpolasi. Interpolasi Spline merupakan polinom sepotong-sepotong. Suatu fungsi f(x) yang sudah diketahui pada selang axb di hampiri dengan sebuah fungsi lain g(x) dengan cara menyekat selang axbmenjadi beberapa anak selang a= x1 < x2 <. . .< xn =b. Fungsi g(x) yang didapat dinamakan spline. Akan dibahas Spline Linear, Spline Kuadrat dan Spline Kubik. Besar kesalahan Metode Spline dapat diketahui dengan cara mereduksi nilai eksak dari tabel natural logaritma dengan pendekatan yang dihasilkan dari Metode Spline.

1. Spline Linear

Spline Linear merupakan polinom sepotong-sepotong yang paling sederhana. Spline linear digunakan untuk pencarian interpolasi dengan cara menghubungkan titik-titik data yang berdekatan dengan sebuah garis lurus. Hasil dari Spline ini dapat disebut Spline orde pertama. Spline Linear untuk

(25)

sekelompok titik data terurut (xi,f(xi)), i=1,2,. . .,n dinyatakan sebagai berikut : Contoh 2.1

Diberikan sebuah tabel yang berisi 5 himpunan data logaritma natural

Tabel 2.1

Gunakan Tabel 2.1 untuk mencari nilai Interpolasi saat x = [1.11 1.22 1.33 1.44 1.49] menggunakan Spline Linear.

i xi f(xi) 1 2 3 4 5 1.1 1.2 1.3 1.4 1.5 0.0953 0.1823 0.2624 0.3365 0.4055 n n n n n n n n n i i i i i i i i i x x x x x x x x f x f x f x f x x x x x x x x f x f x f x f x x x x x x x x f x f x f x f x x x x x x x x f x f x f x f ≤ ≤ − − − + = ≤ ≤ − − − + = ≤ ≤ − − − + = ≤ ≤ − − − + = − − − − − − + + + 1 1 1 1 1 1 1 1 1 3 2 2 2 3 2 3 2 2 2 1 1 1 2 1 2 1 1 ) ( ) ( ) ( ) ( ) ( . . . (2.1) ) ( ) ( ) ( ) ( ) ( . . . ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) (

(26)

Penyelesaian :

Dari persamaan di atas didapat

2. Spline Kuadrat

Spline Kuadrat menyediakan sebuah persamaan kuadrat yang men-ghubungkan sedikitnya tiga pasangan data yang berdekatan di dalam

him-x f(x) 1.11 1.22 1.33 1.44 1.49 0.104 0.1983 0.2846 0.3641 0.3986 1.2 1.1 ) 1 . 1 ( 1 . 1 2 . 1 ) 0953 . 0 1823 . 0 ( 0953 . 0 ) ( 1 − ≤ ≤ − + = x x x f 1.3 1.2 ) 2 . 1 ( 2 . 1 3 . 1 ) 1823 . 0 2624 . 0 ( 1823 . 0 ) ( 2 − ≤ ≤ − + = x x x f 1.4 1.3 ) 3 . 1 ( 3 . 1 4 . 1 ) 2624 . 0 3365 . 0 ( 2624 . 0 ) ( 3 − ≤ ≤ − + = x x x f 1.4 1.3 ) 3 . 1 ( 3 . 1 4 . 1 ) 2624 . 0 3365 . 0 ( 2624 . 0 ) ( 4 − ≤ ≤ − + = x x x f 1.5 1.4 ) 4 . 1 ( 4 . 1 5 . 1 ) 3365 . 0 4055 . 0 ( 3365 . 0 ) ( 5 − ≤ ≤ − + = x x x f

(27)

punan data (xi,f(xi)), i=1 ,2 , . . . ,n . Bentuk umum dari persamaan kuadrat diantara titik

(

x ,i f

( )

xi

)

dan

(

xi+1,f

( )

xi+1

)

adalah

i i i

i x a x bx c

f ( )= 2 + + i=1 ,2,. . . ,n−1 (2.2) oleh karena itu, setiap dua titik-titik data yang berdekatan mempunyai sebuah persamaan interpolasi yang diberikan oleh (2.2) dengan 3 konstanta

i i

i b c

a , ,dan .

Untuk n titik data terdapat n-1 selang, maka ada 3(n-1) konstanta yang harus-dicari dan yang memenuhi 3(n-1) persamaan atau kondisi sebagai berikut : 1. Spline harus melalui titik-titik data. Nilai-nilai fungsi harus sama pada simpul-simpul dalam untuk i = 1 sampai n dimana i=1 ,2, . . . ,n−1. Kondisi ini dapat dinyatakan sebagai berikut :

fi xi =aixi +bxi +ci= f

( )

xi 2 ) ( i=1,2,3,...,n−1 (2.3) 2 1

( )

1 1 1) ( i+ = i i+ + i i+ + i= i+ i x a x bx c f x f i=1,2,3,...,n−1 (2.4) 2. Spline harus kontinu pada bagian dalam titik-titik data. Kondisi ini dapat dinyatakan menggunakan derivatif pertama dari spline kuadrat.

2aixi +bi =2ai+1xi+1 +bi+1 i=1,2,3,...,n−1 (2.5)

3. Kondisi terakhir yang dapat dibentuk bebas sebagai turunan kedua dari spline diantara dua titik data pertama menjadi nol. Sejak turunan pertama untuk spline pertama adalah 2 , kondisi ini dapat dinyatakan ai

(28)

Contoh 2.2

Gunakan Tabel 2.1 untuk mencari nilai Interpolasi saat x = [1.11 1.22 1.33 1.44 1.49] menggunakan Spline Kuadrat.

Penyelesaian :

Data tabel terdapat 5 titik data. Dengan menggunakan persamaan (2.3) sampai dengan persamaan (2.6) dihasilkan 3(5-1) = 12 kondisi yang dibutuhkan untuk mendapatkan 3(5-1) = 12 konstanta yang dibutuhkan.

Persamaan (2.3) menghasilkan : . = c b . a . . = c b . a . . = c b . a . . = c b . a . 3365 0 4 1 96 1 2624 0 3 1 69 1 1823 0 2 1 44 1 0953 0 1 1 21 1 4 4 4 3 3 3 2 2 2 1 1 1 + + + + + + + + Persamaan (2.4) menghasilkan : . c b . a . . c b . a . . c b . a . . c b . a . 4055 0 5 1 25 2 3365 0 4 1 96 1 2624 0 3 1 69 1 1823 0 2 1 44 1 4 4 4 3 3 3 2 2 2 1 1 1 = + + = + + = + + = + + Persamaan (2.5) menghasilkan : b a . b a . b a . b a . b a . b a . 4 4 3 3 3 3 2 2 2 2 1 1 8 2 8 2 6 2 6 2 4 2 4 2 + = + + = + + = + Persamaan (2.6) menyatakan : a1 = 0

(29)

Dengan menggunakan pensubtitusian didapatkan

8895 1 43 2 6 0 5371 0 498 0 09 0 8553 1 526 2 69 0 8617 0 87 0 0 4 4 4 3 3 3 2 2 2 1 1 1 . c . b . a . c . b . a . c . b . a . c . b a − = = − = − = = = − = = − = − = = =

Maka persamaan Spline Kuadrat yang dihasilkan adalah

5 . 1 4 . 1 8895 . 1 43 . 2 6 . 0 ) ( 4 . 1 3 . 1 5371 . 0 498 . 0 09 . 0 ) ( 3 . 1 2 . 1 8553 . 1 526 . 2 69 . 0 ) ( 2 . 1 1 . 1 8617 . 0 87 . 0 ) ( 2 4 2 3 2 2 1 ≤ ≤ − + − = ≤ ≤ − + = ≤ ≤ − + − = ≤ ≤ − = x x x x f x x x x f x x x x f x x x f

Dari persamaan di atas didapat

3. Spline Kubik

Spline kubik adalah menurunkan polinom orde ketiga untuk setiap selang di antara simpul,seperti dalam :

f

( )

x =aix3 +bix2 +cix+di. x f(x) 1.11 1.22 1.33 1.44 1.49 0.104 0.1994 0.2844 0.3655 0.3991

(30)

Jadi untuk n + 1 titik data (i = 0, 1, 2, . . . , n), terdapart n interval maka diperlukan 4n konstanta yang harus dicari yang persamaan-persamaannya di-cari dengan mengikuti definisi 2.2.

Definisi 2.2

Diberikan fungsi f pada

[ ]

a,b dan suatu himpunan angka yang disebut simpul a=x0 <x1 <. . .< xn =b. Suatu interpolasi spline kubik S, untuk f(x)adalah suatu fungsi yang memenuhi kondisi :

a. S

( )

x adalah polinom kubik, Sk

( )

x menyatakan polynomial pada segmen

[

xk,xk+1

]

untuk k = 0, 1, . . . , n-1 ;

b. S

( )

xk = f

( )

xk k = 0, 1, . . . , n-1 ;

c. Sk+1

( )

xk+1 =Sk

( )

xk+1 k = 0, 1, . . . , n-2 ;

d. S'k+1

( )

xk+1 =S'k

( )

xk+1 k = 0, 1, . . . , n-2 ;

e. S"k+1

( )

xk+1 =S"k

( )

xk+1 k = 0, 1, . . . , n-2 ;

f. Memenuhi salah satu kondisi

(i) S''

( )

x0 =S''

( )

xn =0 ( Batas Natural ) (ii) S'

( )

x0 = f'

( )

x0 dan S'

( )

xn = f'

( )

xn ( Batas Apitan )

Bentuk Interpolasi Spline Kubik untuk fungsi f , dengan mengikuti kondisi-kondisi dalam Definisi 2.1

a. Sk

( )

x =ak +bk(xxk)+ck(xxk)2 +dk(xxk)3 k = 0, 1, . . . , n-1 ;

(31)

b. )S(xk)= f(xk

( )

( ) ( )2 ( )3 k k k k k k k k k k k k x a b x x c x x d x x S = + − + − + − =aK +bk*0+ck*0+dk*0 =akak = f

( )

xk (2.8) c. Sk+1

( )

xk+1 =Sk(xk+1) maka 3 1 2 1 1 1) ( ) ( ) ( ) ( k k k k k k k k k k k k x a b x x c x x d x x S + = + + − + + − + + − dan 3 1 1 2 1 1 1 1 1 1( ) + + ( + ) + ( + ) + ( + ) + = k + kk + kk + kk k x a b x x c x x d x x S Sk+1(xk+1)=ak+1 +bk+1(xk+1xk+1)+ck+1(xk+1xk+1)+dk+1(xk+1xk+1) =ak+1++bk+1*0+ck+1*0+dk+1*0 =ak+1 Sk+1

( )

xk+1 =Sk(xk+1) maka 3 1 2 1 1 1 k k( k k) k( k k) k( k k) k a b x x c x x d x x a + = + + − + + − + +

jika xk+1−xkdi ganti h maka k

3 1 2 1 1 1 1 1( k ) k k k( k k) k( k k) k( k k) k x a a b x x c x x d x x S + + = + = + + − + + − + +

(32)

3 2 1 1 1( k ) k k k k k k k k k x a a b h c h d h S + + = + = + + + (2.9) d. S'k+1

( )

xk+1 =S'k(xk+1) perhatikan

( )

( ) ( )2 ( )3 k k k k k k k k x a b x x c x x d x x S = + − + − + −

( )

2 ' 2 ( ) 3 ( ) k k k k k k x b c x x d x x S = + − + −

( )

2 ' 2 ( ) 3 ( ) k k k k k k k k k x b c x x d x x S = + − + − 0 * 3 0 * 2 k k k c d b + + = k b =

( )

2 1 1 1 ' 2 ( ) 3 ( ) k k k k k k k k k x b c x x d x x S + = + + − + + − dan 3 1 1 2 1 1 1 1 1 1( ) + + ( + ) + ( + ) + ( + ) + = k + kk + kk + kk k x a b x x c x x d x x S

( )

2 1 1 1 1 1 ' 2 ( ) 3 ( ) + + + + + = k + kk + kk k x b c x x d x x S

( )

2 1 1 1 1 1 1 1 1 ' 2 ( ) 3 ( ) + + + + + + + + k = k + k kk + k kk k x b c x x d x x S 0 * 3 0 * 2 1 1 k k k c d b + + = + + 1 + =bk

( )

' ( 1) 1 1 ' + + + k = k k k x S x S maka 2 1 1 1 k 2 k( k k) 3 k( k k) k b c x x d x x b + = + + − + +

jika xk+1−xkdi ganti h maka k

2 1 1 1 ' ( ) 2 3 k k k k k k k k x b b c h d h S + + = + = + + (2.10) e. S"k+1

( )

xk+1 =S"k(xk+1) perhatikan '

( )

2 ( ) 3 ( )2 k k k k k k x b c x x d x x S = + − + −

(33)

( )

2 6 ( ) '' k k k k x c d x x S = + −

( )

2 6 ( ) '' k k k k k k x c d x x S = + − =2ck +6dk*0 =2ck ''

( )

1 2 6 ( 1 ) k k k k k k x c d x x S + = + + − dan

( )

2 1 1 1 1 1 ' 2 ( ) 3 ( ) + + + + + = k + kk + kk k x b c x x d x x S S''k+1

( )

xk+1 =2ck+1 +6dk+1(xk+1xk+1) =2ck+1+6dk+1*0 =2ck+1

( )

" ( 1) 1 1 " + + + k = k k k x S x S maka )2ck+1 =2ck +6dk(xk+1xk

jika xk+1−xkdi ganti h maka k k k k k c d h c 2 6 2 +1 = + ck+1 =ck +3dkhk (2.11) dari (2.11) didapat k k k k h c c d 3 1− = + (2.12) Dari (2.9) dan (2.12) diperoleh :

2 1 1 3 3 2 k k k k k k k k h h c c h c b b + = + + + − k k k k k k k c h c h c h b + + − = 2 +1 =bk +hk(ck +ck+1) (2.13)

(34)

Dari (2.9) dan (2.12) di peroleh : 3 2 1 k k k k k k k k a b h c h d h a + = + + + 3 1 2 1 3 k k k k k k k k k k h h c c h c h b a a + = + + + + − 2 1 2 1 3 ) ( k k k k k k k k k k k k h h c c h h c h a h a b = + − + + + − k k k k k k k k k k k h h c h c h c h a a b 3 3 2 2 1 2 1 − − + = + +

(

1

)

(

2 1

)

3 1 + + − − + = k k k k k k k c c h a a h b (2.14) dengan pengurangan indeks

(

)

(

k k

)

k k k k k c c h a a h b = − − − + − − 1 1 1 1 1 2 3 1 (2.15)

Dari (2.13) dan (2.14) di peroleh :

(

k k

)

k k k b h c c b = 11 1 +

(

1

)

(

2 1

)

3 1 + + − − + = k k k k k k k c c h a a h b jadi

(

)

(

2

)

( ) 3 1 1 1 1 1 1 k k k k k k k k k k c c h c c h a a h b = + − − + + + (2.16) Persamaan (2.15) dan (2.16) menghasilkan

(

)

(

)

(

)

(

2

)

( ) 3 1 2 3 1 1 1 1 1 1 1 1 1 k k k k k k k k k k k k k k k c c h c c h a a h c c h a a h + − + − − = + − − − − + + − − − −

(35)

(

)

(

k k

)

k k k k a a h a a h 1 − −1 − +1− 1 1

(

)

3 3 2 2 3 1 1 1 1 1 1 1 1 k k k k k k k k k k k k k h c h c c h c h c h c c h − − − − + − − + + + − =

(

)

(

k k

)

k k k k a a h a a h 1 − −1 − +1− 1 1

(

)

3 3 3 2 3 2 3 1 1 1 1 1 1 1 k k k k k k k k k k k h c h c h c h c c c h + + − + − + − =

(

)

(

k k

)

k k k k k k k k k k k c h c h c c h a a h a a h 1 1 1 (2 1) 1 1 2 1 3 3 − − − + + − − − − + − = − − −

(

)

(

k k

)

k k k k k k k k k k k c h c c h c h a a h a a h 1 1 1 1 1 1 (2 1) 2 1 3 3 − + − − − − − + − − − = + + +

(

)

(

1

)

1 1 1 1 1 1 (2 ) 3 3 + − − − − − + − − kk = k k + k k + k + k k k k k k c h c c h c h a a h a a h (2.17) untuk k = 1, 2, . . ., n-1

dari persamaan-persamaan yang telah didapat di atas, sudah didapatkan per-samaan-persamaan untuk mencari koefisien-koefisien a, b, dan d. Untuk men-cari koefisien c akan digunakan persamaan (2.17) dengan mengikuti teorema yang memenuhi kondisi dari (i) atau (ii).

Teorema 2.1

Jika f di definisikan pada a= x0 < x1 <. . .<xn =b, maka f adalah interpolasi spline natural tunggal pada simpul x0 < x1 <. . .<xn, interpo-lasi spline natural memenuhi keadaan ''( )=0

a

S dan S''(b)=0. Bukti :

(36)

0 ) ( '' =

a

S dan S''(b)=0 menyatakan secara tidak langsung 0 2 ) ( '' = = n n S x c dan )0=S''(x0)=2c0 +6d0(x0x0 jadi 0c0 = .

Dua pernyataan c0 =0 dan cn =0 dalam persamaan

(

)

(

1

)

1 1 1 1 1 1 (2 ) 3 3 + − − − − − + − − kk = k k + k k + k + k k k k k k c h c c h c h a a h a a h

menghasilkan sistem linear dengan persamaan Ax=b, A adalah (n+1) dengan matriks (n+1).

(

)

(

)

(

)

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + + + = − − − − 1 0 0 0 2 0 2 0 2 0 0 0 1 1 1 2 2 2 2 1 1 1 1 0 0 n n n n h h h h h h h h h h h h A ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − − − − = − − − − − 0 ) ( 3 ) ( 3 ) ( 3 ) ( 3 0 2 1 2 1 1 0 1 0 1 2 1 n n n n n n a a h a a h a a h a a h M b

Dari persamaan Ax = b akan didapat penyelesaian tunggal dan dapat dicari dengan Eliminasi Gauss.

ƒ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = n c c c M 1 0 x

(37)

Teorema 2.2

Jika f didefinisikan pada a=x0 <x1 <. . .< xn =bdan turunan pada a dan b, maka f adalah Interpolasi Spline Apitan pada simpul

n

x x

x0 < 1 <. . .< , Interpolasi Spline dinyatakan S'(a)= f'(a) dan ) ( ) ( ' ' b f b S = . Bukti : Menggunakan '( ) '( 0) 0 b x S a S = = implementasi

(

1

)

(

2 1

)

3 1 + + − − + = k k k k k k k c c h a a h b dengan k = 0

(

0 1

)

0 0 0 1 ' 2 3 ) ( h c c h a a a f = − − +

(

)

( ) 3 2 ' 0 1 0 1 0 0 0 a a f a h c h c h + = − − ) ( ) ( 1 1 1 ' n n n n n b h c c b b f = = + + persamaan

(

1

)

(

2 1

)

3 1 + + − − + = k k k k k k k c c h a a h b dengan k = n−1

(

2

)

( ) 3 ) ( 1 1 1 1 1 1 ' n n n n n n n n n c c h c c h h a a b f = − − − + + − − − ) 2 ( 3 1 1 1 1 n n n n n n c c h h a a + − − = − − − dan 2 3 ( ) 3 ( 1) 1 ' 1 1 1 − − − − − + = − nn n n n n n a a h b f c h c h .

(38)

Persamaan

(

)

(

1

)

1 1 1 1 1 1 (2 ) 3 3 + − − − − − + − − kk = k k + k k + k + k k k k k k c h c c h c h a a h a a h dengan persamaan 2 3

(

)

'( ) 0 1 0 1 0 0 0 a a f a h c h c h + = − − dan 2 3 ( ) 3 ( 1) 1 ' 1 1 1 − − − − − + = − nn n n n n n a a h b f c h c h

menghasilkan sistem linear dengan persamaan Ax = b .

(

)

(

)

(

)

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + + + = − − − − − − 1 1 1 1 2 2 2 2 1 1 1 1 0 0 0 0 2 0 0 2 0 2 0 2 0 0 2 n n n n n n h h h h h h h h h h h h h h h h A ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − − − − − − − − = − − − − − − − ) ( 3 ) ( 3 ) ( 3 ) ( 3 ) ( 3 ) ( 3 ) ( 3 ) ( 3 1 1 ' 2 1 2 1 1 0 1 0 1 2 1 ' 0 1 0 n n n n n n n n n a a h b f a a h a a h a a h a a h a f a a h M b

Dari persamaan Ax = b akan didapat penyelesaian tunggal dan dapat dicari dengan Eliminasi Gauss.

ƒ Contoh 2.3 ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = n c c c M 1 0 x

(39)

Gunakan Tabel 2.1 untuk mencari nilai Interpolasi saat x = 1.11 menggunakan Spline Kubik.

Penyelesaian :

Persamaan Spline Kubik dari persamaan (2.7)

( )

( ) ( )2 ( )3 k k k k k k k k x a b x x c x x d x x S = + − + − + − k = 1, 2, . . ., n-1

Dari (2.8) didapat koefisien a S(xk) = f(xk) = ak S(x1) = f(x1) = 0.0953 = a1 S(x2) = f(x2) = 0.1823 = a2 S(x3) = f(x3) = 0.2624 = a3 S(x4) = f(x4) = 0.3365 = a4 S(x5) = f(x5) = 0.4055 = a5 Untuk hk = xk+1−xk h1 = x2 – x1 = 1.2 – 1.1 = 0.1 h2 = x3 – x2 = 1.3 – 1.2 = 0.1 h3 = x4 – x3 = 1.4 – 1.3 = 0.1 h4 = x5 – x4 = 1.5 – 1.4 = 0.1

Untuk mencari koefisien c menggunakan Teorema 2.1 yaitu Batas Natural

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + + + = 5 4 3 2 1 5 4 3 2 1 4 4 3 3 3 3 2 2 2 2 1 1 1 0 0 0 0 1 . 0 4 . 0 1 . 0 0 0 0 1 . 0 4 . 0 1 . 0 0 0 0 1 . 0 4 . 0 1 . 0 0 0 0 0 1 1 0 0 0 0 ) ( 2 0 0 0 ) ( 2 0 0 0 ) ( 2 0 0 0 0 1 c c c c c c c c c c h h h h h h h h h h h h A

(40)

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − − − − − − − = 0 153 . 0 18 . 0 207 . 0 0 0 ) ( 3 ) ( 3 ) ( 3 ) ( 3 ) ( 3 ) ( 3 0 3 4 3 4 5 4 2 3 2 3 4 3 1 2 1 2 3 2 a a h a a h a a h a a h a a h a a h b ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ 5 4 3 2 1 1 0 0 0 0 1 . 0 4 . 0 1 . 0 0 0 0 1 . 0 4 . 0 1 . 0 0 0 0 1 . 0 4 . 0 1 . 0 0 0 0 0 1 c c c c c ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − = 0 153 . 0 18 . 0 207 . 0 0

Dengan Eliminasi Gauss untuk persaman sistem linear Ax = b Koefisien ck yang di dapat

0 4468 . 0 2571 . 0 5818 0 0 5 4 3 2 1 = − = = − = = c c c . c c

(41)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

2

)

0.69 ( 0.0298) 0.7198 3 1 7388 . 0 0022 . 0 741 . 0 2 3 1 8312 . 0 ) 0302 . 0 ( 801 . 0 2 3 1 8894 . 0 ) 0194 . 0 ( 87 . 0 2 3 1 2 3 1 5 4 4 4 5 4 4 4 3 3 3 4 3 3 3 2 2 2 3 2 2 2 1 1 1 2 1 1 1 1 = − − = + − − = = − = + − − = = − − = + − − = = − − = + − − = + − − = + + c c h a a h b c c h a a h b c c h a a h b c c h a a h b c c h a a h b k k k k k k k

Dari persamaan (2.12) didapat koefisien untuk dk

4893 . 1 3 3463 . 2 3 7963 . 2 3 9393 . 1 3 3 4 4 5 4 3 3 4 3 2 2 3 2 1 1 2 1 1 = − = − = − = = − = − = − = − = + h c c d h c c d h c c d h c c d h c c d k k k k

Persamaan Spline Kubik Sk(x)

( )

( )

( )

( )

3 2 3 4 4 2 4 4 4 4 4 4 3 2 3 3 3 2 3 3 3 3 3 3 3 2 3 2 2 2 2 2 2 2 2 2 3 3 1 1 2 1 1 1 1 1 1 ) 4 . 1 ( 4893 . 1 ) 4 . 1 ( 4468 . 0 ) 4 . 1 ( 7198 . 0 3365 . 0 5 1 4 1 ) ( ) ( ) ( ) 3 . 1 ( 3463 . 2 ) 3 . 1 ( 2571 . 0 ) 3 . 1 ( 7388 . 0 2624 . 0 4 1 3 1 ) ( ) ( ) ( ) 2 . 1 ( 7963 . 2 ) 2 . 1 ( 5818 . 0 ) 2 . 1 ( 8312 . 0 1823 . 0 3 1 2 1 ) ( ) ( ) ( ) 1 . 1 ( 9393 . 1 ) 1 . 1 ( 8894 . 0 0953 . 0 2 1 1 1 ) ( ) ( ) ( − + − − − + = ≤ ≤ − + − + − + = − − − + − + = ≤ ≤ − + − + − + = − + − − − + = ≤ ≤ − + − + − + = − − − + = ≤ ≤ − + − + − + = x x x . x . x x d x x c x x b a x S x x x . x . x x d x x c x x b a x S x x x . x . x x d x x c x x b a x S x x . x . x x d x x c x x b a x S

(42)

Dari Persamaan Spline Kubik di atas maka didapat

BAB III

PERANCANGAN DAN IMPLEMENTASI A. Perancangan Umum

Untuk mengetahui seberapa besar galat yang dihasilkan dalam metode Spline yaitu Spline Linear, Spline Kuadrat dan Spline Kubik maka akan dilakukan percobaan. Percobaan dilakukan menggunakan sebuah program dengan bahasa pemrograman Delphi versi 7.0. Program yang akan dibuat adalah program dengan masukan spline. Sebagai dasar perbandingannya adalah galat yang dihasilkan masing-masing Spline dengan data pada tabel natural logaritma.

Program masukan spline digunakan untuk mencari Interpolasi dalam metode Spline yaitu Spline Linear, Spline Kuadrat dan Spline Kubik. Dari hasil percobaan dapat diketahui nilai Interpolasi yang dilakukan oleh Spline Linear, Spline Kuadrat dan Spline Kubik. Perbandingan Interpolasi dari data masukan

x f(x) 1.11 1.22 1.33 1.44 1.49 0.1042 0.1989 0.2853 0.3647 0.3987

(43)

dianalisis dengan menggunakan grafik dan hasilnya dianalisis untuk ditarik ke-simpulan.

B. Perancangan Antarmuka

Program yang dibuat terdiri dari 2 layar, yaitu :

1. Layar Sampul

Gambar 3.1 Rancangan Layar Sampul

LOGO

Perbandingan Interpolasi dalam Metode Spline

Oleh :

Anastasia Vrysca Jayanti 013114014 Jurusan Matematika

Fakultas Matematika Dan Ilmu Pengetahuan alam Universitas Sanata Dharma

Yogyakarta

Exit Spline

(44)

Dalam layar ini berisi text judul, nama penyusun beserta NIM, nama fakultas dan nama universitas serta 2 tombol pilihan.

2. Layar Masukan Spline

Dalam layar ini terdapat pilihan spline, edit text untuk jumlah data masukan, jumlah data yang dicari, kolom baris untuk dihapus dan kolom baris untuk ditambah, stringgrind untuk masukan nilai-nilai data, 2 tabsheet yang masing-masing terdapat stringgrid untuk hasil pencarian dan galat, chart untuk grafik spline yang dipilih dan 11 tombol pilihan.

(45)

C. Rancangan Proses

Proses yang dilakukan untuk membandingkan Interpolasi dalam metode Spline yaitu Spline Linear, Spline Kuadrat dan Spilne Kubik, dilakukan percobaan dengan memasukan nilai-nilai data. Pertama kali yang dilakukan yaitu memilih spline yang akan digunakan, kemudian memasukan nilai-nilai data, jum-lah data, jumjum-lah pencarian dan nilai yang akan dicari. Selanjutnya program mela-kukan proses perhitungan sebanyak nilai yang dicari. Hasil yang ditampilkan dari perhitungan berupa nilai interpolasi. Dari hasil perhitungan ketiga spline tersebut akan ditampilkan galat untuk masing-masing nilai yang didapat. Dari hasil perco-baan kemudian dianalisis dan dibandingkan galatnya untuk setiap spline.

D. Implementasi

Dalam program masukan spline ini terdapat tiga bagian penting dalam me-tode Spline yaitu perhitungan Spline Linear, Spline Kuadrat dan Spline Kubik. 1. Spline Linear

Alur Spline Linear digambarkan secara singkat pada gambar 4.1. Titik-titik data yang diketahui dianggap X dan nilai-nilai data yang diketahui dianggap fx dan titik-titik data yang akan dicari nilainya dianggap masuk.

(46)
(47)

i = 1 i < = data-1 i = i + 1 masuk >= Xi & masuk <= Xi+1 Selesai Tidak Tidak Ya Ya Tulis fx

Perhitungan Spline Linear :

(

masuk Xi

)

i X 1 i X i fx 1 i fx i fx fx − − + − + + =

Input data, pencarian, X (Titik-titik data),fx (Nilai-Nilai data), masuk(Titik-titik data yang nilainya akan dicari)

Mulai

(48)

Setelah user memasukan banyaknya data yang diketahui, banyaknya data yang dicari, titik-titik data dan nilai-nilai data yang diketahui, titik-titik data yang nilainya yang akan dicari, selanjutnya dengan menekan tombol Spline maka pro-gram menjalankan proses perhitungan dengan Spline Linear.

Potongan programnya sebagai berikut :

for i :=1 to data-1 do begin if(masuk[w]>=strtofloat(cells[1,i]))and (masuk[w]<=strtofloat(cells[1,i+1]))then begin fx:=strtofloat(cells[2,i])+(((strtofloat(cells[2,i+1])- strtofloat(cells[2,i]))/(strtofloat(cells[1,i+1])- strtofloat(cells[1,i])))*(masuk[w]-strtofloat(cells[1,i]))); with StringGrid1 do begin Cells[2,w]:= FloatToStr(fx); end; end; end;

Nilai Spline Linear digunakan untuk pencarian galat. Saat tombol galat diklik maka program akan menjalankan nilai galat untuk Spline Linear. Untuk pembuatan grafik yang pertama dilakukan adalah menghitung selisih titik data yang diketahui yang terakhir dengan titik data yang diketahui yang pertama dan dibagi 1000. Hasilnya merupakan penambahan titik data yang diketahui yang pertama sampai titik data yang diketahui yang terakhir. Kemudian program melakukan perhitungan nilai data dengan alur perhitungan Spline Linear.

2. Spline Kuadrat

Alur Spline Kuadrat digambarkan secara singkat pada gambar 4.2. Titik-titik data yang diketahui dianggap X dan nilai-nilai data yang diketahui dianggap fx dan titik-titik data yang akan dicari nilainya dianggap masuk.

(49)

Hitung Koef. b1, c1, a2, b2, c2 Ya Tidak Tidak Ya k <= data-1 k = 3 k = k + 1 Input data, pencarian,

X[ (Titik-titik data), fx (Nilai-Nilai data), masuk(Titik-titik data yang nilainya akan dicari) Hitung ak, bk, ck Mulai masuk >= X1 & masuk <= X2 Tulis fx Selesai Ya fx = b1 * masuk + c1 k = 3 k <= data masuk >= Xk-1 & masuk <= Xk fx = a[k-1] * masuk masuk+ b{k-1] * masuk+ c[k-1] k = k + 1 Tidak Ya Tidak Mencari Koefisien Spline Kuadrat ak,bk,ck

Gambar 3.4 Flowchart Spline Kuadrat

Perhitungan Spline Kuadrat

(50)

Spline Kuadrat membutuhkan membutuhkan 3(n-1) buah konstanta yang dicari dengan mengikuti kondisi yang ada di bab II. Setelah user memasukan ban-yaknya data yang diketahui, banban-yaknya data yang dicari, titik-titik data dan nilai-nilai data yang diketahui, titik-titik data yang nilai-nilainya yang akan dicari maka pro-gram akan mencari 3(n-1) konstanta yang dibutuhkan. Pencarian konstanta dilakukan pensubtitusian. Potongan program berikut merupakan pencarian konstanta ak, bk, ck: for k:=3 to data-1 do begin r[k]:=StrToFloat(Cells[1,k])-StrToFloat(Cells[1,k+1]); t[k]:=StrToFloat(Cells[2,k])-StrToFloat(Cells[2,k+1]); end; b[1]:=(StrToFloat(Cells[2,1])-StrToFloat(Cells[2,2]))/ (StrToFloat(Cells[1,1])-StrToFloat(Cells[1,2])); c[1]:=StrToFloat(Cells[2,1])-b[1]*StrToFloat(Cells[1,1]); a[2]:=(StrToFloat(Cells[2,2])-StrToFloat(Cells[2,3]))- (b[1]*(StrToFloat(Cells[1,2])-StrToFloat(Cells[1,3])))/ (2*StrToFloat(Cells[1,2])*StrToFloat(Cells[1,3])- StrToFloat(Cells[1,2])*StrToFloat(Cells[1,2])-StrToFloat(Cells[1,3])*StrToFloat(Cells[1,3])); b[2]:=b[1]-2*a[2]*StrToFloat(Cells[1,2]); c[2]:=StrToFloat(Cells[2,2])-a[2]*StrToFloat(Cells[1,2])* StrToFloat(Cells[1,2])-b[2]*StrToFloat(Cells[1,2]); for k:=3 to data-1 do begin j[k]:=2*StrToFloat(Cells[1,k])*StrToFloat(Cells[1,k+1])- StrToFloat(Cells[1,k])*StrToFloat(Cells[1,k])- StrToFloat(Cells[1,k+1])*StrToFloat(Cells[1,k+1]); end; for k:= 3 to data-1 do begin a[k]:= ((StrToFloat(Cells[2,k])-StrToFloat(Cells[2,k+1]))- (((2*a[k-1]*StrToFloat(Cells[1,k]))+b[k-1])*r[k]))/j[k]; b[k]:= ((2*a[k-1]*StrToFloat(Cells[1,k]))+b[k-1])- (2*a[k]*StrToFloat(Cells[1,k])); c[k]:= StrToFloat(Cells[2,k])-a[k]*StrToFloat(Cells[1,k])* StrToFloat(Cells[1,k])-b[k]*StrToFloat(Cells[1,k]); end;

(51)

Potongan program berikut untuk mencari nilai Spline Kuadrat : if(masuk[w]<StrToFloat(Cells[1,2]))and (masuk[w]>=StrToFloat(Cells[1,1]))then begin fx:=b[1]*masuk[w]+c[1]; With StringGrid1 do begin Cells[3,w]:= FloatToStr(fx); end; end; for k:=3 to data do begin if(masuk[w]>=StrToFloat(Cells[1,k-1]))and (masuk[w]<=StrToFloat(Cells[1,k]))then begin fx :=a[k-1]*masuk[w]*masuk[w]+b[k-1]*masuk[w]+c[k-1]; with StringGrid1 do begin Cells[3,w]:= FloatToStr(fx); end; end; end;

Nilai Spline Kuadrat digunakan untuk pencarian galat. Saat tombol galat dik-lik maka program akan menjalankan nilai galat untuk Spline Kuadrat. Untuk pembuatan grafik yang pertama dilakukan adalah menghitung selisih titik data yang diketahui yang terakhir dengan titik data yang diketahui yang pertama dan dibagi 1000. Hasilnya merupakan penambahan titik data yang diketahui yang per-tama sampai titik data yang diketahui yang terakhir. Kemudian program melakukan perhitungan nilai data dengan alur perhitungan Spline Kuadrat.

3. Spline Kubik

Alur Spline Kubik digambarkan secara singkat pada gambar 4.3. Titik-titik data yang diketahui dianggap X dan nilai-nilai data yang diketahui dianggap fx dan titik-titik data yang akan dicari nilainya dianggap masuk.

(52)

Tidak Tidak Ya k <= data k = 2 k = k + 1 Input data, pencarian,

X[ (Titik-titik data), fx (Nilai-Nilai data), masuk(Titik-titik data yang nilainya akan dicari)

Mulai

Ya

Turunan kedua ujung simpul m1 = 0 & mdata = 0 mk = ( vk-ck * mk+1 ) / bk k = k - 1 k <= 2 k = data - 1 1 Hitung

Selisih titik (h1)& nilai data (d1]

Hitung

Selisih titik (hk)& nilai data (dk]

Selisih titik data hk & nilai

data dk

Turunan Kedua mk

Turunan kedua ujung simpul m1 = 0 & mdata = 0

(53)

Tidak Tidak Tidak Tidak 1 k = k+ 1 k = 1 Hitung koef. Sk,1, Sk,2, Sk,3, Sk,4 jj = 2 jj = jj + 1 masuk >= Xjj - 1 & masuk <= Xjj k <= data X = X0 jj <= data k = 1 ww = masuk – Xk z = ((Sk,4 * ww + Sk,3) * w + Sk,2) * w + Sk,1 Tulis fx Selesai k = jj -1 ww = masuk – Xk z = ((Sk,4 * ww + Sk,3) * w + Sk,2) * w + Sk,1 Ya Ya Ya

Iterasi koefisien Spline Kubik

Sk,1, Sk,2, Sk,3, Sk,4

Perhitungan Spline Kubik

Ya

(54)

Spline Kuadrat membutuhkan membutuhkan 4n buah konstanta yang dicari dengan mengikuti kondisi yang ada di bab II. Setelah user memasukan banyaknya data yang diketahui, banyaknya data yang dicari, titik-titik data dan nilai-nilai data yang diketahui, titik-titik data yang nilainya yang akan dicari maka program akan mencari 4n konstanta yang dibutuhkan. Pencarian konstanta dilakukan dengan eliminasi Gauss. Potongan program berikut merupakan pencarian konstanta Sk,1, Sk,2, Sk,3, Sk,4. cells[1,data+1]:=floattostr(0); cells[2,data+1]:=floattostr(0); h[1] := strtofloat(cells[1,2])-strtofloat(cells[1,1]); d[1] := (strtofloat(cells[2,2])-strtofloat(cells[2,1]))/h[1]; for k :=2 to data do begin h[k] := strtofloat(cells[1,k+1])-strtofloat(cells[1,k]); d[k] := (strtofloat(cells[2,k+1])-strtofloat(cells[2,k]))/h[k]; a[k] := h[k]; b[k] := 2*(h[k-1]+h[k]); c[k]:= h[k]; end; for k := 2 to data do begin v[k] :=6*(d[k]-d[k-1]); end; m[1] := 0; m[data] := 0; for k := 3 to data do begin tt := a[k-1]/b[k-1]; v[k] := v[k]-tt*v[k-1]; b[k] := b[k]-tt*c[k-1]; end; m[data] := v[data]/b[data]; for k:= data-1 downto 2 do begin

m[k] := (v[k]-c[k]*m[k+1])/b[k]; end;

m[1] := 0; m[data] := 0;

(55)

for k := 1 to data do begin s[k,1] := strtofloat(cells[2,k]); s[k,2] := d[k]-((h[k]*((2*m[k])+m[k+1]))/6); s[k,3] := m[k]/2; s[k,4] := (m[k+1]-m[k])/(6*h[k]); end;

Potongan program berikut untuk mencari nilai Spline Kubik : for jj := 2 to data do begin if(masuk[w]>=strtofloat(cells[1,jj-1]))and (masuk[w]<=strtofloat(cells[1,jj]))then begin k := jj-1; ww := masuk[w]-strtofloat(cells[1,k]); z := ((s[k,4]*ww+s[k,3])*ww+s[k,2])*ww+s[k,1]; with stringgrid1 do begin cells[4,w] := FloatToStr(z); end; end; end;

if (masuk[w] = strtofloat(cells[1,1])) then begin k := 1; ww := masuk[w]-strtofloat(cells[1,k]); z := ((s[k,4]*ww+s[k,3])*ww+s[k,2])*ww+s[k,1]; with stringgrid1 do begin cells[4,w] := FloatToStr(z); end; end;

Nilai Spline Kubik digunakan untuk pencarian galat. Saat tombol galat diklik maka program akan menjalankan nilai galat untuk Spline Kubik. Untuk pembuatan grafik yang pertama dilakukan adalah menghitung selisih titik data yang diketahui yang terakhir dengan titik data yang diketahui yang pertama dan dibagi 1000. Hasilnya merupakan penambahan titik data yang diketahui yang pertama sampai titik data yang diketahui yang terakhir. Kemudian program melakukan perhitungan nilai data dengan alur perhitungan Spline Kubik.

(56)

BAB IV ANALISIS A. Hasil Implementasi

1. Layar Sampul

Layar sampul berisi 2 tombol yaitu : a. Spline : Untuk menuju layar spline b. Exit : Untuk Keluar dari program.

(57)

2. Layar Spline

Layar Spline terdapat 2 tabsheet yang pertama untuk pencarian dan yang kedua untuk galat. Layar Spline keseluruhannya terdiri dari :

a. CheckBox

Digunakan untuk memilih Spline yang akan digunakan b. Edit Text

Tempat masukan untuk jumlah data masukan, jumlah data yang dicari, kolom baris yang ingin dihapus, dan kolom baris yang ingin ditambah. c. BitBtn

- No : Digunakan untuk memberi nomor baris.

- Reset : Digunakan untuk membersihkan semua tampilan.

- Delete : Digunakan untuk menghilangkan kolom baris yang di-inginkan.

(58)

- Spline : Digunakan untuk mencari nilai Spline. - Clear : Digunakan untuk menghapus grafik. - Grafik : Digunakan untuk menggambar grafik. - Close : Untuk kembali ke layar sampul.

d. StringGrid

- Data : Digunakan untuk masukan nilai data.

- Pencarian : Digunakan untuk masukan nilai data yang dicari dan hasil pencarian.

- Galat : Digunakan untuk hasil perhitungan galat. e. PageControl

- Pencarian : Digunakan untuk StringGrid Pencarian. - Galat : Digunakan untuk StringGrid Galat.

Gambar

Tabel 2.2 Hasil Perhitungan Spline Linear
Tabel 2.3 Hasil Perhitungan Spline Kuadrat
Tabel 2.4 Hasil Perhitungan Spline Kubik
Gambar 3.1 Rancangan Layar Sampul  LOGO Perbandingan Interpolasi dalam Metode Spline
+7

Referensi

Dokumen terkait

Muhammad Ulil Abror 13420039 “Efektivitas Pembelajaran di Luar Kelas dalam Meningkatkan Kemampuan Insy ā ’ (Studi Eksperimen pada Siswa Kelas VIII MTs Nurul Ummah Tahun

Pergerakan pasukan Prabowo ini sangat dicemaskan oleh Presiden Habibie, karena Prabowo sebagai Panglima Kostrad membawahi pasukan sebanyak 11.000 personel tentara

Perawatan terapi berupa relaksasi nafas dalam dan psikoreligius (Dzikir) akan membantu pasien dalam mengatasi stressor yang muncul. Tujuan penelitian: Mengetahui pengaruh

Hasil dari penelitian ini menunjukkan kadar albumin pada sampel penelitian yang merupakan pria sehat pada kelompok yang mengonsumsi diet V kelompok lebih rendah

Title Bar : batang jendela dari program Visual Basic 6.0 yang terletak pada bagian paling atas dari jendela program yang berfungsi untuk menampilkan judul atau

(4) Pola Dagang Umum sebagaimana dimaksud dalam ayat (1) huruf c merupakan hubungan kemitraan antara kelompok mitra dengan perusahaan mitra, yang didalamnya

Rapat Kerja Kesehatan Nasional Kementerian Kesehatan merupakan forum tertinggi sosialisasi, pembahasan dan perumusan Prioritas Kebijakan Program Pembangunan Kesehatan

Beberapa ketentuan dalam qanun Kabupaten Aceh Tengah Nomor 21 Tahun 2008 sebagaimana telah diubah dengan qanun Kabupaten Aceh Tengah Nomor 3 Tahun 2009 tentang