Anda di halaman 1dari 86

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

 
 
 

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 
                                                                      
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

“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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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,

Anastasia Vrysca Jayanti


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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 semakin 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.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ABSTRACT

Spline method is one of Interpolation method that with make approxima-

tion Spline functions as connected polynom. Spline function 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 computation

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.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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.

10. Mas Robeth . . . . . . . . . Thanks ya!!


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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,

Anastasia Vrysca Jayanti


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR ISI

Halaman

HALAMAN JUDUL………………………………………………………. i

HALAMAN PERSETUJUAN PEMBIMBING…………............................. ii

HALAMAN PENGESAHAN……………………………………………… iii

HALAMAN PERSEMBAHAN…………………………………………… iv

HALAMAN KEASLIAN KARYA……………………………………… v

ABSTRAK………………………………………………………………… vi

ABSTRACT………………………………………………………………… vii

KATA PENGANTAR……………………………………………………….viii

DAFTAR ISI………………………………………………………….......... xi

DAFTAR TABEL…………………………………………………………. xiv

DAFTAR GAMBAR……………………………………………….............. xv

BAB I PENDAHULUAN……………………………………………….1 1

A. Latar Belakang Masalah………………………………..………… 1

B. Rumusan Masalah……………………………………………….. 2

C. Tujuan Penulisan…………………………………………………… 2

D. Manfaat Penulisan………………………………………………… 3

E. Metode Penelitian ………………………………………………… 3

F. Pembatasan Penulisan ……………………………………………… 3

G. Sistematika Penulisan …………………………………………..… 4


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB II LANDASAN TEORI 6

A. Interpolasi……………………………………………..………… 6

B. Galat……………………………………………… ………………… 6

C. Metode Spline …………………………………………………… 7

1. Spline linear…………………………………………..… 7

2. Spline Kuadrat………………………….………………… 9

3. Spline Kubik ……………………………………………. 12

BAB III PERANCANGAN DAN IMPLEMENTASI………………………25

A. Perancangan Umum…………………………………………………25

B. Perancangan Antarmuka................................................................. 26

1. Layar Sampul…………………………………………………
26

2. Layar Masukan Spline…………………………………..….…


26

C. Rancangan Proses……………………………………………….… 27

D. Implementasi……………………………………………..……… 28

1. Spline Linear ………………………………………….……28

2. Spline Kuadrat…………………………………………… 30

3. Spline Kubik……………………………………………… 33

BAB IV ANALISIS………………………..................................……… 38

A. Hasil Implementasi..................................................................... 38

1. Layar Sampul...................................................................... 38

2. .Layar Spline........................................................................ 39

B. Pengujian Program Spline.............................................................. 41


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

C. Percobaan Dan Analisis................................................................ 41

1. Galat................................................................................... 42

a. Percobaan 1.......................................................... 42

b. Percobaan 2……………..........................................44

c. Percobaan 3............................................................ 46

2. Waktu Komputasi.............................................................. 48

a. Percobaan 1…....................................................... 48

b. Percobaan 2........................................................... 50

BAB V PENUTUTUP…………………………………………............…. 54

A. Kesimpulan…………………………………………............……. 54

B. Saran………………………………………………….....………. 55

DAFTAR PUSTAKA...................................................................................... 56

LAMPIRAN.................................................................................................... 57
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR TABEL

Halaman

Tabel 2.1........................................................................................................ 8

Tabel 2.2 Hasil Perhitungan Spline Linear.................................................... 9

Tabel 2.3 Hasil Perhitungan Spline Kuadrat…………………………………..12

24
Tabel 2.4 Hasil Perhitungan Spline Kubik……………………………………..

Tabel 4.1 Data Percobaan 1………………………………………………… 42

Tabel 4.2 Hasil Galat Percobaan 1…………………………………………….42

Tabel 4.3 Data Percobaan 2………………………………………………….. 44

Tabel 4.4 Hasil Galat Percobaan 2……………………………………………44

Tabel 4.5 Data Percobaan 3……………………………………………….. 46

Tabel 4.6 Hasil Galat Percobaan 3………………………………………… 46

Tabel 4.7 Hasil Waktu Komputasi Percobaan 1………………………………48

Tabel 4.8 Hasil Waktu Komputasi Percobaan 2……………………………….50

Tabel 4.9 Rata-rata Waktu Komputasi…………………………………………51


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR GAMBAR

Halaman

Gambar 3.1 Rancangan Layar Sampul………………………………………….


26

Gambar 3.2 Rancangan Layar Spline…………………………………………27

Gambar 3.3 Flowchart Spline Linear................................................................ 29

Gambar 3.4 Flowchart Spline Kuadrat............................................................. 31

Gambar 3.5 Flowchart Spline Kubik………………………………………… 35

Gambar 4.1 Hasil Implementasi Layar Sampul………………………………..38

Gambar 4.2 Hasil Implementasi Spline…………………………………………


39

Gambar 4.3 Hasil Perhitungan Spline……………………………………….. 41

Grafik 4.1 Galat Percobaan 1………………………………………………….43

Grafik 4.2 Galat Percobaan 2…………………………………………………….


45

Grafik 4.3 Galat Percobaan 3………………………………………………. 47

Grafik 4.3 Waktu Komputasi Percobaan 1………………………………… 48

Grafik 4.4 Waktu Komputasi Percobaan 2………………………………… 50

Grafik 4.5 Rata-rata Waktu Komputasi……………………………………… 51

Grafik 4.6 Rata-rata Waktu Komputasi dalam Persen……………………….. 52


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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.

4. Bahasa pemprograman yang digunakan adalah Delphi 7.0.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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

Melakukan percobaan dan menganalisa hasil percobaan.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB V PENUTUTUP

Pada bab ini terdapat kesimpulan dan saran dari hasil analisa serta

pembahasan masalah berdasarkan pada hasil yang didapat secara

keseluruhan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB II

LANDASAN TEORI

A. Interpolasi

Terdapat n + 1 data pasangan bilangan (x0 , f 0 ), (x1 , f1 ), . . ., ( x n , f n )

dengan x0 , x1 , . . . ,x n nilainya berbeda, jika ingin memperoleh sebuah

polinom Pn ( x ) yang bernilai fj di xj, dengan kata lain

Pn ( x0 ) = f 0 , Pn ( x1 ) = f1 , . . . , Pn ( xn ) = f n

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.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Definisi 2.1 :

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

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

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 a ≤ x ≤ b di hampiri

dengan sebuah fungsi lain g(x) dengan cara menyekat selang a ≤ x ≤ b menjadi

beberapa anak selang a = x1 < x 2 < . . . < x n = 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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

berikut :

f ( x 2 ) − f ( x1 )
f 1 ( x ) = f ( x1 ) + ( x − x1 ) x1 ≤ x ≤ x 2
x 2 − x1
f ( x3 ) − f ( x 2 )
f 2 ( x) = f ( x 2 ) + ( x − x2 ) x 2 ≤ x ≤ x3
x3 − x 2
.
.
.
f ( xi +1 ) − f ( x i )
f i ( x) = f ( xi ) + ( x − xi ) x i ≤ x ≤ xi +1 (2.1)
x i +1 − x i
.
.
.
f ( x n ) − f ( x n −1 )
f n −1 ( x ) = f ( x n −1 ) + ( x − x n −1 ) x n −1 ≤ x ≤ x n
x n − x n −1

Contoh 2.1

Diberikan sebuah tabel yang berisi 5 himpunan data logaritma natural

i xi f(xi)
1 1.1 0.0953
2 1.2 0.1823
3 1.3 0.2624
4 1.4 0.3365
5 1.5 0.4055

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.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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

Dari persamaan di atas didapat

x f(x)
1.11 0.104
1.22 0.1983
1.33 0.2846
1.44 0.3641
1.49 0.3986

Tabel 2.2 Hasil Perhitungan Spline Linear

2. Spline Kuadrat

Spline Kuadrat menyediakan sebuah persamaan kuadrat yang men-

ghubungkan sedikitnya tiga pasangan data yang berdekatan di dalam him-


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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

diantara titik (xi , f ( xi )) dan (xi +1 , f (xi +1 )) adalah

f i ( x) = ai x 2 + bi x + ci 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

ai , bi , dan ci .

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 :

f i ( x i ) = ai xi + bxi +c i = f (xi )
2
i = 1,2,3,..., n − 1 (2.3)

f i ( x i +1 ) = ai xi +1 + bi xi +1 + c i = f ( xi +1 )
2
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.

2ai xi + bi = 2ai +1 xi +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 2ai , kondisi ini dapat dinyatakan

ai = 0 . (2.6)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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 :

1.21a1 + 1.1b1 + c1 = 0.0953


1.44a 2 + 1.2b2 + c 2 = 0.1823
1.69a3 + 1.3b3 + c3 = 0.2624
1.96a 4 + 1.4b4 + c 4 = 0.3365

Persamaan (2.4) menghasilkan :

1.44a1 + 1.2b1 + c1 = 0.1823


1.69a 2 + 1.3b2 + c 2 = 0.2624
1.96a3 + 1.4b3 + c3 = 0.3365
2.25a 4 + 1.5b4 + c 4 = 0.4055

Persamaan (2.5) menghasilkan :

2.4a1 + b1 = 2.4a 2 + b2
2.6a 2 + b2 = 2.6a3 + b3
2.8a3 + b3 = 2.8a 4 + b4

Persamaan (2.6) menyatakan :

a1 = 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Dengan menggunakan pensubtitusian didapatkan

a1 = 0 b1 = 0.87 c1 = −0.8617
a2 = −0.69 b2 = 2.526 c2 = −1.8553
a3 = 0.09 b3 = 0.498 c3 = −0.5371
a4 = −0.6 b4 = 2.43 c4 = −1.8895

Maka persamaan Spline Kuadrat yang dihasilkan adalah

f 1 ( x) = 0.87 x − 0.8617 1.1 ≤ x ≤ 1.2


f 2 ( x) = −0.69 x + 2.526 x − 1.8553
2
1.2 ≤ x ≤ 1.3
f 3 ( x) = 0.09 x + 0.498 x − 0.5371
2
1.3 ≤ x ≤ 1.4
f 4 ( x) = −0.6 x + 2.43x − 1.8895
2
1.4 ≤ x ≤ 1.5

Dari persamaan di atas didapat

x f(x)
1.11 0.104
1.22 0.1994
1.33 0.2844
1.44 0.3655
1.49 0.3991

Tabel 2.3 Hasil Perhitungan Spline Kuadrat

3. Spline Kubik

Spline kubik adalah menurunkan polinom orde ketiga untuk setiap selang

di antara simpul,seperti dalam :

f ( x ) = ai x 3 + bi x 2 + ci x + d i .
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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 < . . . < x n = b . Suatu interpolasi spline kubik S,

untuk f (x) adalah suatu fungsi yang memenuhi kondisi :

a. S (x ) adalah polinom kubik, S k ( x ) menyatakan polynomial pada segmen

[xk , xk +1 ] untuk k = 0, 1, . . . , n-1 ;

b. S ( x k ) = f ( x k ) k = 0, 1, . . . , n-1 ;

c. S k +1 ( x k +1 ) = S k ( x k +1 ) k = 0, 1, . . . , n-2 ;

d. S ' k +1 ( x k +1 ) = S ' k ( x k +1 ) k = 0, 1, . . . , n-2 ;

e. S " k +1 (x k +1 ) = S " k ( x k +1 ) k = 0, 1, . . . , n-2 ;

f. Memenuhi salah satu kondisi

(i) S '' ( x0 ) = S '' ( x n ) = 0 ( Batas Natural )

(ii) S ' ( x0 ) = f ' ( x0 ) dan S ' ( x n ) = f ' ( x n ) ( Batas Apitan )

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

kondisi dalam Definisi 2.1

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

(2.7)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

b. S ( x k ) = f ( x k )

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

= aK + bk * 0 + ck * 0 + d k * 0

= ak

∴ a k = f (xk ) (2.8)

c. S k +1 ( x k +1 ) = S k ( x k +1 )

maka

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

dan

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

S k +1 ( x k +1 ) = a k +1 + bk +1 ( x k +1 − x k +1 ) + c k +1 ( x k +1 − x k +1 ) + d k +1 ( x k +1 − x k +1 )

= a k +1 + +bk +1 * 0 + c k +1 * 0 + d k +1 * 0

= a k +1

S k +1 (x k +1 ) = S k ( x k +1 )

maka

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

jika x k +1 − x k di ganti hk maka

S k +1 ( x k +1 ) = a k +1 = a k + bk ( x k +1 − x k ) + c k ( x k +1 − x k ) 2 + d k ( x k +1 − x k ) 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

2 3
S k +1 ( x k +1 ) = a k +1 = a k + bk hk + c k hk + d k hk (2.9)

d. S ' k +1 ( x k +1 ) = S ' k ( x k +1 )

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

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

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

= bk + 2c k * 0 + 3d k * 0

= bk

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

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

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

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

= bk +1 + 2c k +1 * 0 + 3d k * 0

= bk +1

S ' k +1 ( x k +1 ) = S ' k ( x k +1 )

maka bk +1 = bk + 2c k ( x k +1 − x k ) + 3d k ( x k +1 − x k ) 2

jika x k +1 − x k di ganti hk maka

2
S ' k +1 ( x k +1 ) = bk +1 = bk + 2c k hk + 3d k hk (2.10)

e. S " k +1 ( x k +1 ) = S " k ( x k +1 )

perhatikan S ' k ( x ) = bk + 2c k ( x − x k ) + 3d k ( x − x k ) 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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

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

= 2c k + 6d k * 0

= 2c k

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

dan S ' k +1 ( x ) = bk +1 + 2c k +1 ( x − x k +1 ) + 3d k ( x − x k +1 ) 2

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

= 2c k +1 + 6d k +1 * 0

= 2c k +1

S " k +1 ( x k +1 ) = S " k ( x k +1 )

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

jika x k +1 − x k di ganti hk maka

2c k +1 = 2c k + 6d k hk

c k +1 = c k + 3d k hk (2.11)

c k +1 − c k
dari (2.11) didapat d k = (2.12)
3hk

Dari (2.9) dan (2.12) diperoleh :

c k +1 − c k 2
bk +1 = bk + 2c k hk + 3 hk
3hk

= bk + 2c k hk + c k +1 hk − c k hk

= bk + hk (c k + c k +1 ) (2.13)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Dari (2.9) dan (2.12) di peroleh :

2 3
a k +1 = a k + bk hk + c k hk + d k hk

2 c k +1 − c k 3
a k +1 = a k + bk hk + c k hk + hk
3hk

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

2 2 2
a − a k 3c k hk − c k +1 hk + c k hk
bk = k +1 −
hk 3hk

1
bk = (a k +1 − a k ) − hk (2ck + ck +1 ) (2.14)
hk 3

dengan pengurangan indeks

1 h
bk −1 = (a k − a k −1 ) − k −1 (2c k −1 + ck ) (2.15)
hk −1 3

Dari (2.13) dan (2.14) di peroleh :

bk = bk −1 − hk −1 (c k −1 + c k )

1
bk = (a k +1 − a k ) − hk (2ck + ck +1 )
hk 3

1
jadi bk −1 = (a k +1 − a k ) − hk (2ck + c k +1 ) − hk −1 (ck −1 + ck ) (2.16)
hk 3

Persamaan (2.15) dan (2.16) menghasilkan

1
(a k − a k −1 ) − hk −1 (2ck −1 + ck )
hk −1 3
1
= (a k +1 − a k ) − hk (2c k + ck +1 ) − hk −1 (ck −1 + ck )
hk 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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

1
(a k − a k −1 ) − 1 (a k +1 − a k )
hk −1 hk

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


=− (2c k + ck +1 ) − k −1 k −1 −
3 3 3

3 3
(a k − a k −1 ) − (a k +1 − a k ) = −hk (2ck + ck +1 ) − hk −1ck −1 − 2hk −1ck
hk −1 hk

3
(ak +1 − a k −1 ) − 3 (a k − a k −1 ) = hk −1c k −1 + hk (2ck + ck +1 ) + 2hk −1ck
hk hk −1

3
(ak +1 − a k ) − 3 (a k − a k −1 ) = hk −1ck −1 + hk (2ck −1 + ck ) + hk ck +1 (2.17)
hk hk −1

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 = x 0 < x1 < . . . < x n = b , maka f adalah

interpolasi spline natural tunggal pada simpul x0 < x1 < . . . < x n , interpo-

lasi spline natural memenuhi keadaan S '' (a ) = 0 dan S '' (b) = 0 .

Bukti :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

S '' ( a ) = 0 dan S '' (b) = 0 menyatakan secara tidak langsung

c n = S '' ( x n ) 2 = 0 dan 0 = S '' ( x0 ) = 2c0 + 6d 0 ( x0 − x0 )

jadi c0 = 0 .

Dua pernyataan c0 = 0 dan c n = 0 dalam persamaan

3
(ak +1 − a k ) − 3 (a k − a k −1 ) = hk −1ck −1 + hk (2ck −1 + ck ) + hk ck +1
hk hk −1

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

matriks (n+1).

⎡ ⎤
⎢1 0 0 0 ⎥
⎢ ⎥
⎢h 2(h0 + h1 ) h1 ⎥
⎢ 0 ⎥
⎢0 h1 2(h1 + h2 ) h2 ⎥
A=⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 ⎥
⎢ ⎥
⎢ hn − 2 2(hn − 2 + hn −1 ) hn −1 ⎥
⎢⎣ 0 0 0 1 ⎥⎦

⎡ 0 ⎤
⎢ 3 3 ⎥ ⎡c 0 ⎤
⎢ (a 2 − a1 ) − (a1 − a0 ) ⎥
h1 h0 ⎢c ⎥
⎢ ⎥ x=⎢ 1⎥
b=⎢ M ⎥ ⎢M⎥
⎢ 3 (a n − a n −1 ) − 3 (a n −1 − a n − 2 )⎥ ⎢ ⎥
⎢ hn −1 hn − 2 ⎥ ⎣c n ⎦
⎢ 0 ⎥
⎣ ⎦

Dari persamaan Ax = b akan didapat penyelesaian tunggal dan dapat dicari

dengan Eliminasi Gauss.

ƒ
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Teorema 2.2

Jika f didefinisikan pada a = x 0 < x1 < . . . < x n = b dan turunan

pada a dan b, maka f adalah Interpolasi Spline Apitan pada simpul

x0 < x1 < . . . < x n , Interpolasi Spline dinyatakan S ' (a) = f ' (a) dan

S ' (b) = f ' (b) .

Bukti :

Menggunakan S ' (a) = S ' ( x0 ) = b0

1 h
implementasi bk = (a k +1 − a k ) − k (2ck + ck +1 ) dengan k = 0
hk 3

a1 − a 0 h0
f ' (a) = − (2c0 + c1 )
h0 3

3
2h0 c0 + h0 c1 = (a1 − a0 ) − f ' (a)
h0

f ' (b) = bn = bn −1 + hn −1 (c n −1 + c n )

1 h
persamaan bk = (a k +1 − a k ) − k (2ck + ck +1 ) dengan k = n − 1
hk 3

a n − a n −1 hn −1
f ' (b) = − (2cn−1 + c n ) + hn−1 (c n−1 − cn )
hn −1 3

a n − a n −1 hn −1
= − (c n −1 + 2c n )
hn −1 3

3
dan hn −1c n −1 + 2hn −1c n = 3 f ' (b) − (a n − a n −1 ) .
hn −1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

3
Persamaan (ak +1 − a k ) − 3 (a k − a k −1 ) = hk −1ck −1 + hk (2ck −1 + ck ) + hk ck +1
hk hk −1

3
dengan persamaan 2h0 c0 + h0 c1 = (a1 − a0 ) − f ' (a)
h0

3
dan hn −1c n −1 + 2hn −1c n = 3 f ' (b) − (a n − a n −1 )
hn −1

menghasilkan sistem linear dengan persamaan Ax = b .

⎡ ⎤
⎢2h0 h0 0 0 ⎥
⎢ ⎥
⎢h 2(h0 + h1 ) h1 ⎥
⎢ 0 ⎥
⎢ 0 h1 2(h1 + h2 ) h2 ⎥
A=⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 ⎥
⎢ ⎥
⎢ hn − 2 2(hn − 2 + hn −1 ) hn −1 ⎥
⎢⎣ 0 0 hn −1 2hn −1 ⎥⎦

⎡ 3 ⎤
⎢ ( a1 − a0 ) − 3 f ' ( a) ⎥
h0
⎢ ⎥
⎢ 3 3 ⎥ ⎡c 0 ⎤
( a 2 − a1 ) − (a1 − a0 )
⎢ h1 h0 ⎥ ⎢c ⎥
b=⎢ M ⎥ x=⎢ 1⎥
⎢ 3 3 ⎥ ⎢M⎥
⎢ (a n − a n −1 ) − (a n −1 − a n − 2 )⎥ ⎢ ⎥
⎢ hn −1 hn − 2 ⎥ ⎣c n ⎦
⎢ 3 ⎥
⎢ 3 f ' (b) − (a n − a n −1 ) ⎥
⎣ hn −1 ⎦

Dari persamaan Ax = b akan didapat penyelesaian tunggal dan dapat dicari

dengan Eliminasi Gauss.

Contoh 2.3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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

Spline Kubik.

Penyelesaian :

Persamaan Spline Kubik dari persamaan (2.7)

S k ( x ) = a k + bk ( x − x k ) + c k ( x − x k ) 2 + d k ( x − x k ) 3 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 = x k +1 − x k

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

⎡1 0 0 0 ⎤ ⎡ c1 ⎤
0
⎢h
⎢ 1 2(h1 + h2 ) h2 0 0 ⎥⎥ ⎢⎢c 2 ⎥⎥
A = ⎢0 h2 2(h2 + h3 ) h3 0 ⎥ ⎢c3 ⎥
⎢ ⎥⎢ ⎥
⎢0 0 h3 2( h3 + h4 ) h4 ⎥ ⎢c 4 ⎥
⎢⎣ 0 0 0 0 1 ⎥⎦ ⎢⎣c 5 ⎥⎦
⎡1 0 0 0 0 ⎤ ⎡ c1 ⎤
⎢0.1 0.4 0.1 0
⎢ 0 ⎥⎥ ⎢⎢c 2 ⎥⎥
= ⎢ 0 0.1 0.4 0.1 0 ⎥ ⎢c 3 ⎥
⎢ ⎥⎢ ⎥
⎢0 0 0.1 0.4 0.1⎥ ⎢c 4 ⎥
⎢⎣ 0 0 0 0 1 ⎥⎦ ⎢⎣c 5 ⎥⎦
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

⎡ 0 ⎤
⎢3 3 ⎥ ⎡ 0 ⎤
⎢ h (a3 − a 2 ) − h (a 2 − a1 ) ⎥ ⎢ ⎥
⎢ 2 1
⎥ ⎢− 0.207 ⎥
3 3
b = ⎢ (a 4 − a3 ) − (a3 − a 2 ) ⎥ = ⎢ − 0.18 ⎥
⎢ h3 h2 ⎥ ⎢ ⎥
⎢3 3 ⎥ ⎢ − 0.153⎥
⎢ (a5 − a 4 ) − (a 4 − a3 )⎥ ⎢ ⎥
⎢ h4 h3 ⎥ ⎣ 0 ⎦
⎣⎢ 0 ⎦⎥

⎡1 0 0 0 0 ⎤ ⎡ c1 ⎤ ⎡ 0 ⎤
⎢0.1 0.4 0.1 0
⎢ 0 ⎥⎥ ⎢⎢c 2 ⎥⎥ ⎢⎢− 0.207⎥⎥
⎢ 0 0.1 0.4 0.1 0 ⎥ ⎢c3 ⎥ = ⎢ − 0.18 ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢0 0 0.1 0.4 0.1⎥ ⎢c 4 ⎥ ⎢ − 0.153⎥
⎢⎣ 0 0 0 0 1 ⎥⎦ ⎢⎣c5 ⎥⎦ ⎢⎣ 0 ⎥⎦

Dengan Eliminasi Gauss untuk persaman sistem linear Ax = b

Koefisien ck yang di dapat

c1 = 0
c 2 = − 0.5818
c3 = 0.2571
c 4 = −0.4468
c5 = 0

Dari persamaan (2.14) didapat koefisien untuk bk


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

1
bk = (a k +1 − a k ) − hk (2c k + c k +1 )
hk 3
1
b1 = (a 2 − a1 ) − h1 (2c1 + c 2 ) = 0.87 − (−0.0194) = 0.8894
h1 3
1
b2 = (a3 − a 2 ) − h2 (2c 2 + c3 ) = 0.801 − (−0.0302) = 0.8312
h2 3
1
b3 = (a 4 − a3 ) − h3 (2c3 + c4 ) = 0.741 − 0.0022 = 0.7388
h3 3
1
b4 = (a5 − a 4 ) − h4 (2c 4 + c5 ) = 0.69 − (−0.0298) = 0.7198
h4 3

Dari persamaan (2.12) didapat koefisien untuk dk

c k +1 − c k
dk =
3hk
c 2 − c1
d1 = = −1.9393
3h1
c3 − c 2
d2 = = 2.7963
3h2
c 4 − c3
d3 = = −2.3463
3h3
c5 − c 4
d4 = = 1.4893
3h4

Persamaan Spline Kubik Sk(x)

S1 (x ) = a1 + b1 ( x − x1 ) + c1 ( x − x1 ) 2 + d1 ( x − x1 )3 1.1 ≤ x ≤ 1.2
= 0.0953 + 0.8894( x − 1.1) − 1.9393( x − 1.1)3
S 2 (x ) = a2 + b2 ( x − x2 ) + c2 ( x − x2 ) 2 + d 2 ( x − x2 )3 1.2 ≤ x ≤ 1.3
= 0.1823 + 0.8312( x − 1.2) − 0.5818( x − 1.2) 2 + 2.7963( x − 1.2) 3
S3 (x ) = a3 + b3 ( x − x3 ) + c3 ( x − x3 ) 2 + d 3 ( x − x3 ) 3 1.3 ≤ x ≤ 1.4
= 0.2624 + 0.7388( x − 1.3) + 0.2571( x − 1.3) − 2.3463( x − 1.3)3
2

S 4 (x ) = a4 + b4 ( x − x4 ) + c4 ( x − x4 ) 2 + d 4 ( x − x4 )3 1.4 ≤ x ≤ 1.5
= 0.3365 + 0.7198( x − 1.4) − 0.4468( x − 1.4) + 1.4893( x − 1.4)3
2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Dari Persamaan Spline Kubik di atas maka didapat

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

Tabel 2.4 Hasil Perhitungan Spline Kubik

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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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

Perbandingan Interpolasi dalam Metode Spline


LOGO

Oleh :
Anastasia Vrysca Jayanti
013114014

Jurusan Matematika
Fakultas Matematika Dan Ilmu Pengetahuan alam
Universitas Sanata Dharma
Yogyakarta

Spline Exit

Gambar 3.1 Rancangan Layar Sampul


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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.

Gambar 3.2 Rancangan Layar Spline


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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, jumlah 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.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Mulai

Input data, pencarian,


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

i=1

i<= Tidak
data-1

Ya

masuk
>= Xi
& Tidak
masuk
<= Xi+1

Ya
Perhitungan Spline Linear :

(masuk − X i )
fx i + 1 − fx i
fx = fx i +
Xi + 1 − Xi

i=i+1

Tulis fx

Selesai

Gambar 3.3 Flowchart Spline Linear


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Mulai

Input data, pencarian,


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

Hitung Koef.
b1, c1, a2, b2, c2

k=3
Mencari Koefisien
Spline Kuadrat
ak,bk,ck
k <=
data-1

Ya

Hitung ak, bk, ck


Tidak

k=k+1

masuk
>= X1 Tidak
& k=3
masuk
<= X2

Ya k <=
data
fx = b1 * masuk + c1 Tidak
Ya

masuk
Tulis fx >= Xk-1
&
Perhitungan masuk
Selesai <= Xk
Spline Kuadrat

Ya

fx = a[k-1] * masuk
Tidak masuk+ b{k-1]
* masuk+ c[k-1]

k=k+1
Gambar 3.4 Flowchart Spline Kuadrat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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, banyaknya data yang dicari, titik-titik data dan nilai-

nilai data yang diketahui, titik-titik data yang 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;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Mulai

Input data, pencarian,


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

Hitung
Selisih titik (h1)& nilai data (d1]

k=2

Selisih titik
k <= data hk & nilai
data data dk

Ya
Hitung
Selisih titik (hk)&
nilai data (dk] Tidak

k=k+1

Turunan kedua ujung simpul


m1 = 0 & mdata = 0

k = data - 1

k <= 2

Ya
Turunan
mk = ( vk-ck * mk+1 ) Kedua mk
/ bk Tidak

k=k-1

Turunan kedua ujung simpul


m1 = 0 & mdata = 0

1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

k=1

k <= Iterasi koefisien Spline


data Kubik
Ya Tidak Sk,1, Sk,2, Sk,3, Sk,4

Hitung koef.
Sk,1, Sk,2, Sk,3, Sk,4

k = k+ 1

Tidak
X = X0

Ya jj = 2

k=1
ww = masuk – Xk
z = ((Sk,4 * ww + Sk,3) Tidak jj <=
* w + Sk,2) * w + Sk,1
data

Ya
Tulis fx

masuk
Selesai Tidak >= Xjj - 1
&
masuk
<= Xjj

Perhitungan Spline Ya
Kubik k = jj -1
ww = masuk – Xk
z = ((Sk,4 * ww + Sk,3)
* w + Sk,2) * w + Sk,1

jj = jj + 1

Gambar 3.5 Flowchart Spline Kubik


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB IV

ANALISIS

A. Hasil Implementasi

1. Layar Sampul

Gambar 4.1 Hasil Implementasi Layar Sampul

Layar sampul berisi 2 tombol yaitu :

a. Spline : Untuk menuju layar spline

b. Exit : Untuk Keluar dari program.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

2. Layar Spline

Gambar 4.2 Hasil Implementasi 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

- 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.

f. Chart : Digunakan untuk tempat menggambar grafik.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

B. Pengujian Program Spline

Contoh 4.1

Mencari nilai Interpolasi terhadap data pada tabel 2.1 sebagai data yang

diketahui untuk mencari x = [1.11 1.22 1.33 1.44 1.49]

Gambar 4.3 Hasil Perhitungan Spline

C. Percobaan dan Analisis

Percobaan yang dilakukan untuk menganalisis galat dan waktu

komputasi. Percobaan dilakukan sebanyak dua kali yaitu dengan 5 pasangan

data. Beda jauh data untuk percobaan pertama yaitu 0.1 dan percobaan kedua

0.3. Untuk menganalisis galat dilakukan dengan mencari 20 nilai data yang ti-

tik datanya diketahui. Setelah melakukan percobaan untuk Spline Linear,

Spline Kuadrat dan Spline Kubik, hasil yang diperoleh akan dianalisis dengan

galat dan grafik.. Untuk menganalisis waktu komputasi, percobaan dilakukan

dengan jumlah data pencarian yang berbeda-beda.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

1. Galat

a. Percobaan 1

No x y
1 1.1 0.0953
2 1.2 0.1823
3 1.3 0.2624
4 1.4 0.3365
5 1.5 0.4055

Tabel 4.1 Data Percobaan 1

Data Nilai Tabel Galat (%)


No
x y Spline Linear Spline Kuadrat Spline kubik
1 1.11 0.1044 0.38 0.38 0.19
2 1.12 0.1133 0.52 0.52 0.26
3 1.13 0.1222 0.55 0.55 0.33
4 1.14 0.1310 0.69 0.69 0.31
5 1.15 0.1398 0.72 0.72 0.29
6 1.21 0.1906 0.16 0.16 0
7 1.22 0.1989 0.30 0.25 0
8 1.23 0.2070 0.34 0.39 0.05
9 1.24 0.2151 0.37 0.42 0.05
10 1.25 0.2231 0.31 0.45 0.04
11 1.31 0.2700 0.07 0.11 0.04
12 1.32 0.2776 0.14 0.18 0.04
13 1.33 0.2852 0.21 0.28 0.04
14 1.34 0.2927 0.24 0.31 0.03
15 1.35 0.3001 0.23 0.30 0.07
16 1.41 0.3436 0.06 0.09 0
17 1.42 0.3507 0.11 0.17 0
18 1.43 0.3577 0.14 0.22 0
19 1.44 0.3646 0.14 0.25 0.03
20 1.45 0.3716 0.16 0.24 0.03

Tabel 4.2 Hasil Galat Percobaan 1


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Grafik Galat Percobaan 1


0.8
0.7
0.6
Galat ( % )

0.5
0.4
0.3
0.2
0.1
0
1.11 1.13 1.15 1.22 1.24 1.31 1.33 1.35 1.42 1.44
Tititk Data Pencarian

Spline Linear Spline Kuadrat Spline Kubik

Grafik 4.1 Galat Percobaan 1

Dari tabel 4.2 dan grafik 4.1 diperoleh keterangan :

a. Galat yang dihasilkan Spline Linear dan Spline Kuadrat bisa sama.

b. Dari grafik 4.1 diketahui bahwa Spline Linear yang merupakan orde yang

lebih kecil dibandingkan Spline Kuadrat, menghasilkan galat yang lebih

kecil. Dengan kata lain orde yang lebih tinggi tidak menjamin akan

menghasilkan galat yang lebih kecil.

c. Galat yang dihasilkan Spline Kubik lebih kecil dari galat yang dihasilkan

Spline Linear dan Spline Kuadrat.

d. Galat yang dihasilkan Spline Kubik mendekati nol persen dan bisa nol.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

b. Percobaan 2

No x y
1 1.1 0.0953
2 1.4 0.3365
3 1.7 0.5306
4 2.0 0.6931
5 2.3 0.8329

Tabel 4.3 Data Percobaan 2

Nilai Data Tabel Galat (%)


No
x y Spline Linear Spline Kuadrat Spline Kubik
1 1.11 0.1044 1.05 1.05 0.67
2 1.12 0.1133 1.68 1.68 1.06
3 1.13 0.1222 2.30 2.30 1.39
4 1.14 0.1310 2.67 2.67 1.60
5 1.15 0.1398 3.08 3.08 1.86
6 1.21 0.1906 3.62 3.62 1.78
7 1.22 0.1989 3.57 3.57 1.76
8 1.23 0.2070 3.49 3.49 1.64
9 1.24 0.2151 3.35 3.35 1.53
10 1.25 0.2231 3.23 3.23 1.43
11 1.31 0.2700 2.18 2.18 0.74
12 1.32 0.2776 1.95 1.95 0.65
13 1.33 0.2852 1.75 1.75 0.56
14 1.34 0.2927 1.50 1.50 0.44
15 1.35 0.3001 1.27 1.27 0.37
16 1.41 0.3436 0.17 0.26 0.06
17 1.42 0.3507 0.37 0.48 0.09
18 1.43 0.3577 0.50 0.70 0.11
19 1.44 0.3646 0.60 0.88 0.16
20 1.45 0.3716 0.75 1.02 0.16

Tabel 4.4 Hasil Galat Percobaan 2


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Grafik Galat Percobaan 2


4
3.5
3
Galat ( % )

2.5
2
1.5
1
0.5
0
1.11 1.13 1.15 1.22 1.24 1.31 1.33 1.35 1.42 1.44
Titik Data Pencarian

Spline Linear Spline Kuadrat Spline Kubik

Grafik 4.2 Galat Percobaan 2

Dari tabel 4.4 dan grafik 4.2 diperoleh keterangan :

a. Dari grafik 4.2 diketahui bahwa semakin besar beda jauh data maka galat

yang dihasilkan Spline Linear dan Spline Kuadrat relatif sama.

b. Galat yang dihasilkan Spline Kubik tetap lebih kecil dibandingkan galat

yang dihasilkan Spline Linear dan Spline Kuadrat meskipun beda jauh data

bertambah.

c. Semakin besar beda jauh data maka persen galat yang dihasilkan semakin

besar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

c. Percobaan 3

No x y
1 1 0
2 10 2.3026
3 20 2.9957
4 30 3.4012
5 40 3.6889

Tabel 4.5 Data Percobaan 3

Nilai Data Tabel Galat (%)


No
x y Spline Linear Spline Kuadrat Spline Kubik
1 1.11 0.1044 73.0585 73.0585 68.1992
2 1.12 0.1133 72.9038 72.9038 68.0494
3 1.13 0.1222 72.7496 72.7496 67.9214
4 1.14 0.1310 72.6718 72.6718 67.7863
5 1.15 0.1398 72.5125 72.5125 67.6681
6 10.11 2.3135 0.1426 0.7348 0.2896
7 10.12 2.1451 7.7292 8.7595 8.2374
8 10.13 2.3155 0.1684 0.8637 0.3412
9 10.14 2.3164 0.177 0.9325 0.3669
10 10.15 2.3174 0.1899 1.0011 0.3927
11 20.11 3.0012 0.0333 0.6031 0.03
12 20.12 3.0017 0.0366 0.6563 0.0333
13 20.13 3.0022 0.04 0.7095 0.0366
14 20.14 3.0027 0.0433 0.766 0.04
15 20.15 3.0032 0.0466 0.8191 0.0433
16 30.11 3.4048 0.3348 0.5228 0.1821
17 30.12 3.4051 0.3642 0.5697 0.1968
18 30.13 3.4055 0.3994 0.6166 0.2173
19 30.14 3.4058 0.4287 0.6636 0.232
20 30.15 3.4061 0.458 0.7105 0.2496

Tabel 4.6 Hasil Galat Percobaan 3


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Grafik Galat Percobaan 3


80
70
60
Galat ( % )

50
40
30
20
10
0
1.11 1.13 1.15 10.1 10.1 20.1 20.1 20.2 30.1 30.1
Tititk Data Pencarian

Spline Linear Spline Kuadrat Spline Kubik

Grafik 4.3 Galat Percobaan 3

Dari tabel 4.6 dan grafik 4.3 diperoleh keterangan :

a. Dari grafik 4.3 diketahui bahwa semakin kecil nilai data yang dicari maka

galat yang dihasilkan semakin besar, semakin besar nilai data yang dicari

maka galat yang dihasilkan semakin kecil.

b. Semakin kecil nilai data yang dicari, galat yang dihasilkan mendekati 100%.

Semakin besar nilai data yang dicari, galat yang dihasilkan mendekati 0.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

2. Waktu Komputasi

a. Percobaan 1

Waktu komputasi untuk percobaan 1 menggunakan tabel 4.1.

Banyak Waktu Komputasi


Data Spline Linear Spline Kuadrat Spline Kubik
5 0.005 0.02 0.02
10 0.01 0.04 0.04
15 0.015 0.055 0.06
20 0.02 0.07 0.08
25 0.025 0.085 0.1
30 0.03 0.1 0.12

Tabel 4.7 Hasil Waktu Komputasi Percobaan 1

W aktu Komputasi Percobaan 1


0.14
Waktu Komputasi

0.12

0.1

0.08

0.06

0.04

0.02

0
5 10 15 20 25 30

Jumlah data

Spline Linear Spline Kuadrat Spline Kubik

Grafik 4.4 Waktu Komputasi Percobaan 1

Dari tabel 4.7 dan grafik 4.4 diperoleh keterangan :

a. Waktu Komputasi yang diperlukan untuk Spline Linear lebih cepat dari

Spline Kuadrat dan Spline Kubik. Waktu Komputasi yang diperlukan untuk

Spline Kuadrat dan Spline Kubik bisa sama.

b. Dari grafik 4.4 diketahui bahwa ketiga Spline, fungsi waktunya linear

terhadap jumlah data


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

c. Waktu Komputasi untuk masing-masing Spline memiliki gradien yang

1
berbeda. Spline Linear memiliki gradien , Spline Kuadrat memiliki
1000

3 4
gradien dan Spline Kubik memiliki gradien . Dari ketiganya
1000 1000

Spline Kubik terbukti memiliki gradien yang paling besar.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

b. Percobaan 2

Waktu komputasi untuk percobaan 2 menggunakan tabel 4.3.

Banyak Waktu Komputasi


Data Spline Linear Spline Kuadrat Spline Kubik
5 0.005 0.02 0.02
10 0.01 0.04 0.04
15 0.015 0.06 0.06
20 0.02 0.08 0.08
25 0.025 0.1 0.1
30 0.03 0.115 0.12

Tabel 4.8 Hasil Waktu Komputasi Percobaan 2

W aktu Komputasi Percobaan 2


0.14
Waktu Komputasi

0.12

0.1

0.08

0.06

0.04

0.02

0
5 10 15 20 25 30

Jumlah data

Spline Linear Spline Kuadrat Spline Kubik

Grafik 4.5 Waktu Komputasi Percobaan 2

Dari tabel 4.8 dan grafik 4.5 diperoleh keterangan :

a. Waktu Komputasi yang diperlukan Spline Linear tetap lebih cepat diband-

ingkan waktu komputasi yang diperlukan Spline Kuadrat dan Spline Kubik

meskipun beda jauh data bertambah.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

b. Dari grafik 4.5 diketahui bahwa beda jauh data tidak terlalu berpengaruh

terhadap waktu komputasi.

c. Waktu komputasi yang diperlukan Spline Kuadrat dan Spline Kubik relatif

sama.

Dari hasil percobaan didapat rata-rata waktu komputasi untuk Spline Linear,

Spline Kuadrat, Spline Kubik.

Waktu Komputasi
Banyak
Spline Spline Spline
Data % % %
Linear Kuadrat Kubik
5 0.005 11.11 0.02 44.44 0.02 44.44
10 0.01 11.11 0.04 44.44 0.04 44.44
15 0.015 11.32 0.0575 43.40 0.06 45.28
20 0.02 11.43 0.075 42.86 0.08 45.71
25 0.025 11.49 0.0925 42.53 0.1 45.98
30 0.03 11.65 0.1075 41.75 0.12 46.60
Rata-rata 11.35 43.24 45.41

Tabel 4.9 Rata-rata Waktu Komputasi

Rata-rata W aktu Komputasi


0.14
Waktu Komputasi

0.12

0.1

0.08

0.06

0.04

0.02

0
5 10 15 20 25 30

Jumlah data

Spline Linear Spline Kuadrat Spline Kubik

Grafik 4.6 Rata-rata Waktu Komputasi


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Rata-rata W aktu Komputasi (%)


Waktu Komputasi (%)
50

40

30

20

10

0
5 10 15 20 25 30

Jumlah data

Spline Linear Spline Kuadrat Spline Kubik

Grafik 4.7 Rata-rata Waktu Komputasi dalam Persen

Dari grafik 4.6 dan grafik 4.7 rata-rata waktu komputasi Spline Linear

adalah yang tercepat yaitu 11.35 % lebih cepat dan Spline Kubik adalah yang

terlama yaitu 45.51 %. Rata-rata waktu komputasi dalam persen untuk ketiga

spline terbilang konstan walaupun banyak data yang dicari semakin besar,

kalaupun waktu yang digunakan bertambah, penambahannya hanya sedikit.

Semakin banyak data yang dicari semakin lama waktu yang diperlukan.

Dapat disimpulkan bahwa semakin jauh beda data maka galat yang

dihasilkan akan semakin besar. Semakin besar beda data, galat yang dihasilkan

semakin besar jika nilai data yang dicari semakin kecil dan galat yang

dihasilkan semakin kecil jika nilai data yang dicari semakin besar. Waktu yang

digunakan Spline Linear lebih cepat dibanding waktu yang digunakan Spline

Kuadrat dan Spline Kubik dan beda waktunya cukup banyak yaitu kurang lebih

32.98 %. Untuk waktu komputasi ketiga Spline fungsi waktunya linear terhadap

jumlah data. Gradien yang paling besar adalah Spline Kubik. Beda jauh data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

tidak terlalu mempengaruhi waktu komputasi, dapat dilihat dari grafik 4.4 dan

grafik 4.5 waktu yang diperlukan Spline Linear, Spline Kuadrat dan Spline

Kubik dengan beda jauh data yang berbeda relatif sama. Waktu yang diperlukan

Spline Kuadrat hampir sama dengan Spline Kubik, perbedaan waktunya hanya

2.17 %.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB V

PENUTUP

A. Kesimpulan

Dari hasil percobaan dan analisis maka dapat ditarik kesimpulan sebagai

berikut :

1. Spline Linear membutuhkan paling sedikit 2 pasangan data, Spline

Kuadrat membutuhkan paling sedikit 3 pasangan data, Spline Kuadrat

membutuhkan paling sedikit 4 pasangan data.

2. Spline Kubik menghasilkan Galat yang lebih kecil, mendekati nol di-

bandingkan Spline Linear dan Spline Kuadrat yang menghasilkan galat

lebih besar.

3. Beda jauh data mempengaruhi besar atau kecilnya galat. Semakin

besar beda jauh data semakin besar galat yang dihasilkan. Semakin

besar beda jauh data galat yang dihasilkan Spline Linear dan Spline

Kuadrat relatif sama. Dengan kata lain meskipun Spline Kuadrat

merupakan polinomial orde lebih tinggi dibandingkan dengan Spline

Linear tidak menjamin orde lebih tinggi lebih baik dibandingkan orde

lebih rendah.

4. Semakin besar beda data, galat yang dihasilkan semakin besar jika

nilai data yang dicari semakin kecil dan galat yang dihasilkan semakin

kecil jika nilai data yang dicari semakin besar.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

5. Waktu komputasi yang dibutuhkan Spline Linear lebih cepat dari

Spline Kuadrat dan Spline Kubik. Waktu komputasi yang dibutuhkan

Spline Kuadrat dan Spline Kubik relatif sama.

6. Fungsi waktu ketiga Spline adalah linear dan berbanding lurus dengan

jumlah data. Spline Kubik memiliki gradien yang paling besar.

B. Saran

Dari hasil implementasi, percobaan dan analisa saran yang bisa disampaikan :

1. Jika ingin menghasilkan galat yang kecil, Spline Kubik sangat baik untuk

digunakan.

2. Jika ingin perhitungan dengan logaritma yang mudah dan waktu

komputasi lebih cepat, Spline Linear sangat baik digunakan.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR PUSTAKA

Ayyub, Bilal, M & Richard, H.McCuen (1996). Numerical Methods for Engi-

neers. New Jersey : Prentice_Hall,Inc.

Burden, Richard L. & Faires, Douglas J. (1993). Numerical Analysis, fifth edi-

tion, PWS Publishing Company, Boston.

Chapra, S. C. dan Canale, R. P. (1988). Metode Numerik, Jilid 1, edisi kedua.

Jakarta : Erlangga.

Erwin, Kreyszig (1988). Matematika Teknik Lanjutan, edisi keenam. Jakarta :

Gramedia.

Wahana Komputer (2003), Panduan Praktis Pemrograman Borland Delphi

7.0, Yogyakarta : Andi Offset.

Zukhri, Zainudin (2005). Delphi 2005 Pemprograman bagi Pemula,

Yogyakarta : Graha Ilmu.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

LAMPIRAN

1. Program Spline
procedure TForm2.BitBtn6Click(Sender: TObject);
type
ary=array[1..100]of currency;
arys = array [1..100,1..100] of real;
var
s : arys;
d,h:ary;
m : ary;
ww:currency;
tt,z : currency;
jj: integer;
fx: currency;
masuk:ary;
k,w,i: integer;
a : ary;
b : ary;
c,j,t,v,r: ary;
dd,e,mm: currency;
jarak:integer;
temp,atemp,temp1,btemp1:real;
begin
data:=strtoint(edit1.Text);
pencarian:=strtoint(edit2.Text);

if (data <= 100)then


begin
if (data >=4)then
begin
with grid do
begin
for i:=1 to data-1 do
begin
for jarak:= 1 to data-i do
begin
if (strtofloat(Cells[1,jarak]) > strto-
float(cells[1,jarak+1])) then
begin
temp:=strtofloat(cells[1,jarak]);
atemp:=strtofloat(cells[1,jarak+1]);
cells[1,jarak]:=floattostr(atemp);
cells[1,jarak+1]:=floattostr(temp);
temp1:=strtofloat(cells[2,jarak]);
btemp1:=strtofloat(cells[2,jarak+1]);
cells[2,jarak]:=floattostr(btemp1);
cells[2,jarak+1]:=floattostr(temp1);
end;
end; end; end;

with StringGrid1 do
begin
for w:= 1 to pencarian do
begin
masuk[w] := StrToFloat(cells[1,w]);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

end;
for i:=1 to pencarian-1 do
begin
for jarak:= 1 to pencarian-i do
begin
if (strtofloat(Cells[1,jarak]) > strto-
float(cells[1,jarak+1])) then
begin
temp:=strtofloat(cells[1,jarak]);
atemp:=strtofloat(cells[1,jarak+1]);
cells[1,jarak]:=floattostr(atemp);
cells[1,jarak+1]:=floattostr(temp);
masuk[jarak]:=strtofloat(cells[1,jarak]);
masuk[jarak+1]:=strtofloat(cells[1,jarak+1]);
end;
end; end;
end;

with stringgrid1 do
begin
for i:=1 to pencarian do
begin
a[i]:=strtofloat(cells[1,i]);
end;
end;
with stringgrid2 do
begin
for i:= 1 to pencarian do
begin
cells[1,i]:=floattostr(a[i]);
end;
end;

with grid do
begin
for w:=1 to pencarian do
begin
if (ma-
suk[w]>=strtofloat(cells[1,1]))and(masuk[w]<=strtofloat(cells[1
,data]))then
begin

//Spline Linear
if checkbox1.Checked then
begin
for i :=1 to data-1 do
begin

if(masuk[w]>=strtofloat(cells[1,i]))and(masuk[w]<=strtofloat(ce
lls[1,i+1]))then
begin
fx
:=strtofloat(cells[2,i])+(((strtofloat(cells[2,i+1])-
strtofloat(cells[2,i]))/
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

(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;
inc(timer);
break;
end;
end;
end;

//Spline Kuadrat
if checkbox4.Checked then
begin

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;

mm:=StrToFloat(Cells[1,1])-StrToFloat(Cells[1,2]);

b[1]:=(StrToFloat(Cells[2,1])-StrToFloat(Cells[2,2]))/mm;
c[1]:=StrToFloat(Cells[2,1])-b[1]*StrToFloat(Cells[1,1]);
dd:=(StrToFloat(Cells[2,2])-StrToFloat(Cells[2,3]))-
(b[1]*(StrToFloat(Cells[1,2])
-StrToFloat(Cells[1,3])));
e:=(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]));
a[2]:=dd/e;
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;

v[2]:=(2*a[2]*StrToFloat(Cells[1,3]))+b[2];

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]));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

c[k]:= StrToFloat(Cells[2,k])-
a[k]*StrToFloat(Cells[1,k])*
StrToFloat(Cells[1,k])-
b[k]*StrToFloat(Cells[1,k]);
end;

if (ma-
suk[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;
inc(waktu);
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;
inc(waktu);
end;

end;

//Spline Kubik
if checkbox3.Checked then
begin
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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;

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;

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;
inc(before);
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

cells[4,w] := FloatToStr(z);
end;
inc(before);
end;

end;

end
else
begin
MessageDlg('Masukan Anda Salah',mtWarning,[mbOk],0)
end;
end;
end;
bitbtn6.Visible := false;
bitbtn9.Visible := true;
end
else
begin
MessageDlg('Jumlah data Tidak Boleh kurang dari
3!!',mtWarning,[mbOk],0)
end;
end
else
begin
MessageDlg('Jumlah data Tidak Boleh lebih dari
100!!',mtWarning,[mbOk],0)
end;
end;

2. Program Galat
procedure TForm2.BitBtn9Click(Sender: TObject);
var
i:integer;
a,b,c,asli,aa,bb,cc:array[1..100]of currency;
begin
pencarian := strtoint(edit2.Text);
with stringgrid2 do
begin
for i:=1 to pencarian do
begin
if (cells[2,i]='') then
begin
MessageDlg('Nilai Tabel belum Diisi!!',mtWarning,[mbOk],0)
end;
end;
end;

with stringgrid1 do
begin
for i:=1 to pencarian do
begin
a[i]:=strtofloat(cells[2,i]);
b[i]:=strtofloat(cells[3,i]);
c[i]:=strtofloat(cells[4,i]);
end;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

end;

with stringgrid2 do
begin
for i:= 1 to pencarian do
begin
asli[i]:=strtofloat(cells[2,i]);
aa[i]:=abs((asli[i]-a[i])/asli[i]*100);
bb[i]:=abs((asli[i]-b[i])/asli[i]*100);
cc[i]:=abs((asli[i]-c[i])/asli[i]*100);
cells[3,i]:=floattostr(aa[i]);
cells[4,i]:=floattostr(bb[i]);
cells[5,i]:=floattostr(cc[i]);
end;
end;
end;

3. Program Grafik
procedure TForm2.BitBtn8Click(Sender: TObject);
type
ary=array[1..100]of currency;
arys = array [1..100,1..100] of real;
var
s,d,h,m,a,b : ary;
w,tt,z,fx : currency;
jj,jarak,k,i: integer;
c,j,t,v,r: ary;
dd,e,mm,dt: currency;
masuk:real;
temp,atemp,temp1,btemp1:currency;
begin
groupbox3.Visible :=true;
data:=strtoint(edit1.Text);

with grid do
begin
for i:=1 to data-1 do
begin
for jarak:= 1 to data-i do
begin
if (strtofloat(Cells[1,jarak]) > strto-
float(cells[1,jarak+1])) then
begin
temp:=strtofloat(cells[1,jarak]);
atemp:=strtofloat(cells[1,jarak+1]);
cells[1,jarak]:=floattostr(atemp);
cells[1,jarak+1]:=floattostr(temp);
temp1:=strtofloat(cells[2,jarak]);
btemp1:=strtofloat(cells[2,jarak+1]);
cells[2,jarak]:=floattostr(btemp1);
cells[2,jarak+1]:=floattostr(temp1);
end;
end;
end;
end;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

with grid do
begin
dt:=(strtofloat(cells[1,data])-strtofloat(cells[1,1]))/1000;
masuk:=strtofloat(cells[1,1]);

// Grafik Spline Linear


if checkbox1.Checked then
begin
while masuk <= strtofloat(cells[1,data]) do
begin
for i :=1 to data-1 do
begin
if(masuk>=strtofloat(cells[1,i]))and
(masuk<=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- strto-
float(cells[1,i])));
series1.AddXY(masuk,fx);
masuk:=masuk+dt;
end;
end;
end;
end;
// akhir Spline linear

//Grafik Spline Kuadrat


if checkbox4.Checked then
begin
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;

mm:=StrToFloat(Cells[1,1])-StrToFloat(Cells[1,2]);

b[1]:=(StrToFloat(Cells[2,1])-StrToFloat(Cells[2,2]))/mm;
c[1]:=StrToFloat(Cells[2,1])-b[1]*StrToFloat(Cells[1,1]);
dd:=(StrToFloat(Cells[2,2])-StrToFloat(Cells[2,3]))-
(b[1]*(StrToFloat(Cells[1,2])
-StrToFloat(Cells[1,3])));
e:=(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]));
a[2]:=dd/e;
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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;

v[2]:=(2*a[2]*StrToFloat(Cells[1,3]))+b[2];

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;
masuk:=strtofloat(cells[1,1]);
while masuk<=strtofloat(cells[1,data]) do
begin
if (masuk<StrToFloat(Cells[1,2]))and
(masuk>=StrToFloat(Cells[1,1]))then
begin
fx:=b[1]*masuk+c[1];
series2.AddXY(masuk,fx);
masuk:=masuk+dt;
end;

if(masuk>=StrToFloat(Cells[1,2]))and
(masuk<=StrToFloat(Cells[1,data]))then
begin
for k:=3 to data do
begin
if(masuk>=StrToFloat(Cells[1,k-1]))and
(masuk<=StrToFloat(Cells[1,k]))then
begin
fx :=a[k-1]*masuk*masuk+b[k-1]*masuk+c[k-1];
series2.AddXY(masuk,fx);
masuk:=masuk+dt;
end;
end;
end;
end;
end;
// akhir Spline Kuadrat

//Grafik Spline Kubik


if checkbox3.Checked then
begin
with grid do
begin
cells[1,data+1]:=floattostr(0);
cells[2,data+1]:=floattostr(0);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

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])- strto-
float(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;

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;
masuk:=strtofloat(cells[1,1]);
while masuk <= strtofloat(cells[1,data]) do
begin
for jj := 2 to data do begin
if(masuk>=strtofloat(cells[1,jj-1]))and
(masuk<=strtofloat(cells[1,jj]))then
begin
k := jj-1;
w := masuk-strtofloat(cells[1,k]);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

z := ((s[k,4]*w+s[k,3])*w+s[k,2])*w+s[k,1];
series3.AddXY(masuk,z);
masuk:=masuk+dt;
end; end;

if (masuk = strtofloat(cells[1,1])) then


begin
k := 1;
w := masuk-strtofloat(cells[1,k]);
z := ((s[k,4]*w+s[k,3])*w+s[k,2])*w+s[k,1];
series3.AddXY(masuk,z);
masuk:=masuk+dt;
end;

end;
end;
end;
//akhir spline kubik
end;
end;

Anda mungkin juga menyukai