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……………………………………………………….
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
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 ( ) ( ) ( )nn fxfxfx ,.,..,,,, 1100
dengan ,x, . . ., xx n10 nilainya berbeda, jika ingin memperoleh sebuah
polinom ( )xPn 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 ( )xPn merupakan suatu hampiran bagi f(x) dengan sifat bahwa Pn
bernilai sama dengan f di semua simpul. Polinom ( )xPn 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.
1100 )()()( nnnnn f x, P, . . . f x, P f xP ===
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Definisi 2.1 :
Andaikan p~ adalah nilai hampiran dari p maka Galat Mutlak didefinisikan
sebagai ppEm ~−= dan Galat Relatif Persen .0%,100~
≠∗−
= pp
ppEr
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 bxa ≤≤ di hampiri
dengan sebuah fungsi lain g(x) dengan cara menyekat selang bxa ≤≤ menjadi
beberapa anak selang bxxxa n =<<<= ...21 . 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 ))(,( ii xfx , ni .,..,2,1= 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
nnnnn
nnnn
iiiii
iiii
xxxxxxx
xfxfxfxf
xxxxxxx
xfxfxfxf
xxxxxxx
xfxfxfxf
xxxxxxx
xfxfxfxf
≤≤−−−
+=
≤≤−−−
+=
≤≤−−−
+=
≤≤−−−
+=
−−−
−−−
++
+
111
111
11
1
32223
2322
21112
1211
)()()(
)()(
.
.
.
(2.1) )()()(
)()(
.
.
.
)()()(
)()(
)()()()()(
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.21.1 )1.1(1.12.1
)0953.01823.0(0953.0)(1 ≤≤−−−
+= xxxf
1.31.2 )2.1(2.13.1
)1823.02624.0(1823.0)(2 ≤≤−−−
+= xxxf
1.41.3 )3.1(3.14.1
)2624.03365.0(2624.0)(3 ≤≤−−−
+= xxxf
1.41.3 )3.1(3.14.1
)2624.03365.0(2624.0)(4 ≤≤−−−
+= xxxf
1.51.4 )4.1(4.15.1
)3365.04055.0(3365.0)(5 ≤≤−−−
+= xxxf
Tabel 2.2 Hasil Perhitungan Spline Linear
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
punan data nixfx ii , . . . ,2 ,1 )),(,( = . Bentuk umum dari persamaan kuadrat
diantara titik ( )( )ii xfx , dan ( )( )11 , ++ ii xfx adalah
iiii cxbxaxf ++= 2)( 1 , ...,2 ,1 −= ni (2.2)
oleh karena itu, setiap dua titik-titik data yang berdekatan mempunyai sebuah
persamaan interpolasi yang diberikan oleh (2.2) dengan 3 konstanta
iii cba 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 1 , . . . ,2 ,1 −= ni . Kondisi
ini dapat dinyatakan sebagai berikut :
( )iiiiiii xfcbxxaxf =++= 2)( 1,...,3,2,1 −= ni (2.3)
( )112
11)( ++++ =++= iiiiiiii xfcxbxaxf 1,...,3,2,1 −= ni (2.4)
2. Spline harus kontinu pada bagian dalam titik-titik data. Kondisi ini dapat
dinyatakan menggunakan derivatif pertama dari spline kuadrat.
11122 +++ +=+ iiiiii bxabxa 1,...,3,2,1 −= ni (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 ia2 , kondisi ini dapat dinyatakan
0=ia . (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 :
. = cb.a. . = cb.a. .= cb.a. . = cb.a.
3365041961262403169118230214410953011211
444
333
222
111
++++++++
Persamaan (2.4) menghasilkan :
. cb.a. . cb.a. . cb.a.
. cb.a.
405505125233650419612624031691
1823021441
444
333
222
111
=++=++=++=++
Persamaan (2.5) menghasilkan :
ba. ba. ba. ba. ba. ba.
4433
3322
2211
828262624242
+=++=++=+
Persamaan (2.6) menyatakan :
a1 = 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Dengan menggunakan pensubtitusian didapatkan
8895143260537104980090855315262690861708700
444
333
222
111
. c . b .a. c . b .a
. c . b.a . c . b a
−==−=−===−==−=−===
Maka persamaan Spline Kuadrat yang dihasilkan adalah
5.14.1 8895.143.26.0)(
4.13.1 5371.0498.009.0)(
3.12.1 8553.1526.269.0)(
2.11.1 8617.087.0)(
24
23
22
1
≤≤−+−=
≤≤−+=
≤≤−+−=
≤≤−=
xxxxf
xxxxf
xxxxf
xxxf
Dari persamaan di atas didapat
3. Spline Kubik
Spline kubik adalah menurunkan polinom orde ketiga untuk setiap selang
di antara simpul,seperti dalam :
( ) iiii dxcxbxaxf +++= 23 .
x f(x)
1.11
1.22
1.33
1.44
1.49
0.104
0.1994
0.2844
0.3655
0.3991
Tabel 2.3 Hasil Perhitungan Spline Kuadrat
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 [ ]ba, dan suatu himpunan angka yang disebut
simpul bxxxa n =<<<= ...10 . Suatu interpolasi spline kubik S,
untuk )(xf adalah suatu fungsi yang memenuhi kondisi :
a. ( )xS adalah polinom kubik, ( )xSk menyatakan polynomial pada segmen
[ ]1, +kk xx untuk k = 0, 1, . . . , n-1 ;
b. ( ) ( )kk xfxS = k = 0, 1, . . . , n-1 ;
c. ( ) ( )111 +++ = kkkk xSxS k = 0, 1, . . . , n-2 ;
d. ( ) ( )1'
11'
+++ = kkkk xSxS k = 0, 1, . . . , n-2 ;
e. ( ) ( )1"
11"
+++ = kkkk xSxS k = 0, 1, . . . , n-2 ;
f. Memenuhi salah satu kondisi
(i) ( ) ( ) 0''0
'' == nxSxS ( Batas Natural )
(ii) ( ) ( )0'
0' xfxS = dan ( ) ( )nn xfxS '' = ( Batas Apitan )
Bentuk Interpolasi Spline Kubik untuk fungsi f , dengan mengikuti kondisi-
kondisi dalam Definisi 2.1
a. ( ) 32 )()()( kkkkkkkk xxdxxcxxbaxS −+−+−+= k = 0, 1, . . . , n-1 ;
(2.7)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
b. )()( kk xfxS =
( ) 32 )()()( kkkkkkkkkkkk xxdxxcxxbaxS −+−+−+=
0*0*0* kkkK dcba +++=
ka=
( )kk xfa =∴ (2.8)
c. ( ) )( 111 +++ = kkkk xSxS
maka
31
2111 )()()()( kkkkkkkkkkkk xxdxxcxxbaxS −+−+−+= ++++
dan
311
2111111 )()()()( ++++++++ −+−+−+= kkkkkkkk xxdxxcxxbaxS
)()()()( 111111111111 ++++++++++++ −+−+−+= kkkkkkkkkkkk xxdxxcxxbaxS
0*0*0* 1111 ++++ ++++= kkkk dcba
1+= ka
( ) )( 111 +++ = kkkk xSxS
maka
31
2111 )()()( kkkkkkkkkkk xxdxxcxxbaa −+−+−+= ++++
jika kk xx −+1 di ganti kh maka
31
211111 )()()()( kkkkkkkkkkkkk xxdxxcxxbaaxS −+−+−+== ++++++
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32111 )( kkkkkkkkkk hdhchbaaxS +++== +++ (2.9)
d. ( ) )( 1'
11'
+++ = kkkk xSxS
perhatikan ( ) 32 )()()( kkkkkkkk xxdxxcxxbaxS −+−+−+=
( ) 2' )(3)(2 kkkkkk xxdxxcbxS −+−+=
( ) 2' )(3)(2 kkkkkkkkk xxdxxcbxS −+−+=
0*30*2 kkk dcb ++=
kb=
( ) 2111
' )(3)(2 kkkkkkkkk xxdxxcbxS −+−+= +++
dan 311
2111111 )()()()( ++++++++ −+−+−+= kkkkkkkk xxdxxcxxbaxS
( ) 211111
' )(3)(2 +++++ −+−+= kkkkkk xxdxxcbxS
( ) 211111111
' )(3)(2 ++++++++ −+−+= kkkkkkkkk xxdxxcbxS
0*30*2 11 kkk dcb ++= ++
1+= kb
( ) )( 1'
11'
+++ = kkkk xSxS
maka 2111 )(3)(2 kkkkkkkk xxdxxcbb −+−+= +++
jika kk xx −+1 di ganti kh maka
2111
' 32)( kkkkkkkk hdhcbbxS ++== +++ (2.10)
e. ( ) )( 1"
11"
+++ = kkkk xSxS
perhatikan ( ) 2' )(3)(2 kkkkkk xxdxxcbxS −+−+=
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
( ) )(62''kkkk xxdcxS −+=
( ) )(62''kkkkkk xxdcxS −+=
0*62 kk dc +=
kc2=
( ) )(62 11''
kkkkkk xxdcxS −+= ++
dan ( ) 211111
' )(3)(2 +++++ −+−+= kkkkkk xxdxxcbxS
( ) )(62 111111''
++++++ −+= kkkkkk xxdcxS
0*62 11 ++ += kk dc
12 += kc
( ) )( 1"
11"
+++ = kkkk xSxS
maka )(622 11 kkkkk xxdcc −+= ++
jika kk xx −+1 di ganti kh maka
kkkk hdcc 622 1 +=+
kkkk hdcc 31 +=+ (2.11)
dari (2.11) didapat k
kkk h
ccd
31 −= + (2.12)
Dari (2.9) dan (2.12) diperoleh :
211 3
32 kk
kkkkkk h
hcc
hcbb−
++= ++
kkkkkkk hchchcb −++= +12
)( 1+++= kkkk cchb (2.13)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Dari (2.9) dan (2.12) di peroleh :
321 kkkkkkkk hdhchbaa +++=+
3121 3 k
k
kkkkkkkk h
hcc
hchbaa−
+++= ++
212
1
3)(
kk
kk
k
kk
k
k
k
kk h
hcc
hhc
ha
ha
b−
++−= ++
k
kkkkkk
k
kkk h
hchchch
aab
33 22
12
1 +−−
−= ++
( ) ( )11 23
1++ +−−= kk
kkk
kk cc
haa
hb (2.14)
dengan pengurangan indeks
( ) ( )kkk
kkk
k cch
aah
b +−−= −−
−−
− 11
11
1 23
1 (2.15)
Dari (2.13) dan (2.14) di peroleh :
( )kkkkk cchbb +−= −−− 111
( ) ( )11 23
1++ +−−= kk
kkk
kk cc
haa
hb
jadi ( ) ( ) )(23
111111 kkkkk
kkk
kk cchcc
haa
hb +−+−−= −−++− (2.16)
Persamaan (2.15) dan (2.16) menghasilkan
( ) ( )
( ) ( ) )(23
1
23
1
1111
11
11
kkkkkk
kkk
kkk
kkk
cchcch
aah
cch
aah
+−+−−=
+−−
−−++
−−
−−
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
( ) ( )kkk
kkk
aah
aah
−−− +−−
111
11
( )33
22
3111
11111kkkk
kkkkkkkkk chch
chchchcch −−−
−−−−+ ++−−+−=
( ) ( )kkk
kkk
aah
aah
−−− +−−
111
11
( )3
33
232
3111111
1kkkkkkkk
kkk chchchch
cch −−−−−−
+
+−
+−+−=
( ) ( ) kkkkkkkkkk
kkk
chchcchaah
aah 111111
1
2)2(33−−−++−
−
−−+−=−−−
( ) ( ) kkkkkkkkkk
kkk
chcchchaah
aah 11111
111 2)2(33
−+−−−−
−+ +++=−−−
( ) ( ) 111111
1 )2(33+−−−−
−+ +++=−−− kkkkkkkkk
kkk
k
chcchchaah
aah
(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 bxxxa n =<<<= ...10 , maka f adalah
interpolasi spline natural tunggal pada simpul nxxx <<< ...10 , interpo-
lasi spline natural memenuhi keadaan 0)('' =aS dan 0)('' =bS .
Bukti :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
0)('' =aS dan 0)('' =bS menyatakan secara tidak langsung
02)('' == nn xSc dan )(62)(0 00000'' xxdcxS −+==
jadi 00 =c .
Dua pernyataan 00 =c dan 0=nc dalam persamaan
( ) ( ) 111111
1 )2(33+−−−−
−+ +++=−−− kkkkkkkkk
kkk
k
chcchchaah
aah
menghasilkan sistem linear dengan persamaan bx =A , A adalah (n+1) dengan
matriks (n+1).
( )( )
( )⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
+
+
+
=
−−−−
10002
0
20
2
0001
1122
2211
1100
nnnn hhhh
hhhh
hhhh
A
⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−
−−−
=
−−−
−−
0
)(3)(3
)(3)(30
212
11
010
121
nnn
nnn
aah
aah
aah
aah
Mb
Dari persamaan Ax = b akan didapat penyelesaian tunggal dan dapat dicari
dengan Eliminasi Gauss.
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
nc
cc
M1
0
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Teorema 2.2
Jika f didefinisikan pada bxxxa n =<<<= ...10 dan turunan
pada a dan b, maka f adalah Interpolasi Spline Apitan pada simpul
nxxx <<< ...10 , Interpolasi Spline dinyatakan )()( '' afaS = dan
)()( '' bfbS = .
Bukti :
Menggunakan 00'' )()( bxSaS ==
implementasi ( ) ( )11 23
1++ +−−= kk
kkk
kk cc
haa
hb dengan k = 0
( )100
0
01' 23
)( cch
haa
af +−−
=
( ) )(32 '01
01000 afaa
hchch −−=+
)()( 111'
nnnnn cchbbbf ++== −−−
persamaan ( ) ( )11 23
1++ +−−= kk
kkk
kk cc
haa
hb dengan 1−= nk
( ) )(23
)( 1111
1
1'nnnnn
n
n
nn cchcch
haa
bf −++−−
= −−−−
−
−
)2(3 1
1
1
1nn
n
n
nn cch
haa
+−−
= −−
−
−
dan )(3)(32 11
'111 −
−−−− −−=+ nn
nnnnn aa
hbfchch .
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Persamaan ( ) ( ) 111111
1 )2(33+−−−−
−+ +++=−−− kkkkkkkkk
kkk
k
chcchchaah
aah
dengan persamaan ( ) )(32 '01
01000 afaa
hchch −−=+
dan )(3)(32 11
'111 −
−−−− −−=+ nn
nnnnn aa
hbfchch
menghasilkan sistem linear dengan persamaan Ax = b .
( )( )
( )⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
+
+
+
=
−−
−−−−
11
1122
2211
1100
00
2002
0
20
2
002
nn
nnnn
hhhhhh
hhhh
hhhh
hh
A
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−
−−−
−−−
−−
=
−−
−−−
−−
)(3)(3
)(3)(3
)(3)(3
)(3)(3
11
'
212
11
010
121
'01
0
nnn
nnn
nnn
aah
bf
aah
aah
aah
aah
afaah
Mb
Dari persamaan Ax = b akan didapat penyelesaian tunggal dan dapat dicari
dengan Eliminasi Gauss.
Contoh 2.3
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
nc
cc
M1
0
x
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)
( ) 32 )()()( kkkkkkkk xxdxxcxxbaxS −+−+−+= 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 kh = kk xx −+1
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
4433
3322
2211
100001.04.01.000
01.04.01.00001.04.01.000001
10000)(200
0)(2000)(200001
ccccc
ccccc
hhhhhhhh
hhhhA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−
=
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−
−−−
−−−
=
0153.018.0
207.00
0
)(3)(3
)(3)(3
)(3)(30
343
454
232
343
121
232
aah
aah
aah
aah
aah
aah
b
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
5
4
3
2
1
100001.04.01.000
01.04.01.00001.04.01.000001
ccccc
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−
=
0153.018.0
207.00
Dengan Eliminasi Gauss untuk persaman sistem linear Ax = b
Koefisien ck yang di dapat
04468.0
2571.058180
0
5
4
3
2
1
=−=
=−=
=
cc
c. c
c
Dari persamaan (2.14) didapat koefisien untuk bk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( ) 7198.0)0298.0(69.023
1
7388.00022.0741.023
1
8312.0)0302.0(801.023
1
8894.0)0194.0(87.023
1
23
1
544
454
4
433
343
3
322
232
2
211
121
1
11
=−−=+−−=
=−=+−−=
=−−=+−−=
=−−=+−−=
+−−= ++
cchaah
b
cch
aah
b
cch
aah
b
cchaah
b
cch
aah
b kkk
kkk
k
Dari persamaan (2.12) didapat koefisien untuk dk
4893.13
3463.23
7963.23
9393.13
3
4
454
3
343
2
232
1
121
1
=−
=
−=−
=
=−
=
−=−
=
−= +
hcc
d
hcc
d
hcc
d
hcc
d
hcc
dk
kkk
Persamaan Spline Kubik Sk(x)
( )
( )
( )
( )32
344
2444444
32
333
2333333
32
322
2222222
3
311
2111111
)4.1(4893.1)4.1(4468.0)4.1(7198.03365.0
5141 )()()()3.1(3463.2)3.1(2571.0)3.1(7388.02624.0
4131 )()()()2.1(7963.2)2.1(5818.0)2.1(8312.01823.0
3121 )()()()1.1(9393.1)1.1(8894.00953.0
2111 )()()(
−+−−−+=
≤≤−+−+−+=
−−−+−+=
≤≤−+−+−+=
−+−−−+=
≤≤−+−+−+=
−−−+=
≤≤−+−+−+=
xxx
.x. xxdxxcxxbaxSxxx
.x.xxdxxcxxbaxSxxx
.x.xxdxxcxxbaxSxx
.x.xxdxxcxxbaxS
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
Tabel 2.4 Hasil Perhitungan Spline Kubik
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
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
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
i = 1
i < = data-1
i = i + 1
masuk >= Xi
& masuk <= Xi+1
Selesai
Tidak
Tidak
Ya
Ya
Tulis fx
Perhitungan Spline Linear :
( )iXmasuk
iX1iX
ifx1ifxifxfx −
−+
−++=
Input data, pencarian, X (Titik-titik data),fx (Nilai-Nilai data), masuk(Titik-titik data yang nilainya akan dicari)
Mulai
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
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
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
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
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
Layar sampul berisi 2 tombol yaitu :
a. Spline : Untuk menuju layar spline
b. Exit : Untuk Keluar dari program.
Gambar 4.1 Hasil Implementasi Layar Sampul
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
Gambar 4.2 Hasil Implementasi Spline
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]
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.
Gambar 4.3 Hasil Perhitungan Spline
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 4.1 Data Percobaan 1
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
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
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
1.11 1.13 1.15 1.22 1.24 1.31 1.33 1.35 1.42 1.44
Tititk Data Pencarian
Gal
at (
% )
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
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
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Grafik Galat Percobaan 2
0
0.5
1
1.5
2
2.5
3
3.5
4
1.11 1.13 1.15 1.22 1.24 1.31 1.33 1.35 1.42 1.44
Titik Data Pencarian
Gal
at (
% )
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
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
No x y 1 1 0 2 10 2.3026 3 20 2.9957 4 30 3.4012 5 40 3.6889
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Grafik Galat Percobaan 3
0
10
20
30
40
50
60
70
80
1.11 1.13 1.15 10.1 10.1 20.1 20.1 20.2 30.1 30.1Tititk Data Pencarian
Gal
at (
% )
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.
Tabel 4.7 Hasil Waktu Komputasi Percobaan 1
Waktu Komputasi Percobaan 1
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
5 10 15 20 25 30
Jumlah data
Wak
tu K
ompu
tasi
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
Waktu Komputasi Banyak 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
c. Waktu Komputasi untuk masing-masing Spline memiliki gradien yang
berbeda. Spline Linear memiliki gradien 1000
1 , Spline Kuadrat memiliki
gradien 1000
3 dan Spline Kubik memiliki gradien 1000
4 . Dari ketiganya
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.
Waktu Komputasi Banyak 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
Waktu Komputasi Percobaan 2
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
5 10 15 20 25 30
Jumlah data
Wak
tu K
ompu
tasi
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 Data Spline
Linear % Spline Kuadrat % Spline
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 Waktu Komputasi
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
5 10 15 20 25 30
Jumlah data
Wak
tu K
ompu
tasi
Spline Linear Spline Kuadrat Spline Kubik
Grafik 4.6 Rata-rata Waktu Komputasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Rata-rata Waktu Komputasi (%)
0
10
20
30
40
50
5 10 15 20 25 30
Jumlah data
Wak
tu K
ompu
tasi
(%)
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(cells[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;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI