B. Landasan Teori
Fitting data pada umumnya dapat dilakukan dengan metode kuadrat
terkecil (least squares fitting method). Metode ini pada umumnya dapat dilakukan
dengan mudah bila bentuk dari fungsi kurvanya diketahui dan sederhana, tetapi
bilamana bentuk dari fungsi kurvanya sendiri belum diketahui, maka metode
pendekatan atau aproksimasi dapat dilakukan dengan berbagai cara, misalnya
dengan menguraikan fungsinya dalam deret, misalnya deret Taylor bilamana
fungsi dan turunannya pada titik-titik tertentu diketahui, atau menggunakan
interpolasi Lagrange, bilamana hanya fungsinya saja yang diketahui pada
beberapa titik. Metode lain adalah menguraikan fungsinya dalam fungsi-fungsi
yang sifatnya telah diketahui, misalnya fungsi Bessel atau polinomial Hermit, dan
sebagainya [1]. Metode-metode tersebut di atas pada umumnya dapat berhasil
dengan baik, tetapi ada kalanya dapat pula mengalami kegagalan, terutama
untuk kedua titik data yang berada di ujung data, sangat sukar untuk
menentukan turunannya. Dalam tulisan ini akan dibahas interpolasi spline yang
sangat berguna untuk fitting data-data yang bentuk fungsinya maupun
turunannya tidak diketahui (Lasijo, 2001).
Salah satu cara mengolah data yang didapat dari pengukuran atau
ekperimen adalah penentuan apakah data tersebut merupakan hasil dari suatu
fungsi. Manfaatnya adalah memprediksi data yang akan datang atau data yang
lebih detail dari yang ada. Apabila data diyakini merupakan data deterministik,
penentuan jenis fungsi ini dapat dilakukan melalui 2 cara, yaitu Aproksimasi
Fungsi (atau disebut juga curve fitting) dan interpolasi/ekstrapolasi. Apabila data
diyakini merupakan data stokastik, kita hanya dapat menentukan distribusi dari
data tersebut. Sekarang yang dibahas adalah penentuan jenis fungsi dari data
deterministic. Pencocokkan kurva (curve-fitting) ialah pencocokkan titik-titik
data dengan suatu fungsi polinomial dengan metode pendekatan kuadrat terkecil
(least squares approximation), (Collier, 2006).
1. Algoritma
Langkah-langkah dalam pengoperasian matlab terkait dengan perhitungan
matriks adalah sebagai berikut:
2. Flowchart
Mulai
Nilai
Matriks A
dan B
C=A*B
D=A/B
E=A+B
F=A-B
Hasil C, D, E
dan F
Selesai
- Untuk menampilkan gambar 3D
Mulai
Koordinat
X, Y
[X,Y]=meshgrid(x,y)
f=X.*Y.*exp(2*(X.^2+Y.^2))
Hasil C, D, E
dan F
Selesai
- Untuk Program penyelesaian matriks tridiagonal untuk mencari solusi
interpolasi kubik spline
Mulai
input ('Program
Interpolasi Kubik
Spline');
n = input('jumlah
data=');
data =
load('data_1.dat');
x = data (:,1);
y = data (:,2);
No
Berhenti if(i == 1)
Yes
Lanjut
g(i)=x(i+1)-x(i);
e(i)=x(i)-x(i-1);
Selesai
D. Hasil dan Pembahasan
1. HasiL
Hasil dari praktikum pengenalan matlab ini adalah sebagai berikut:
1.1 Interpolasi Kedepan cara Newton untuk Data dengan Interval Konsta
%=========================================================
==========%
% Interpolasi Kedepan cara Newton untuk Data dengan Interval Konsta %
%=========================================================
==========%
x =[1300.5 1310.5 1320.5 1330.5 1340.5];
y =[117862 109776 100636 90553 79642];
n = 5;
h = 10;
for i = 1:n-1
for j = i:n-1
if(i == 1)
del(j+1) = y(j+1)-y(j);
else
del(i,j+1)=del(i-1,j+1)-del(i-1,j);
end
end
end
t = 1450.5;
r = (t-x(1))./h;
sum = y(1);
for i = 1:n-1
produk = 1;
for j = 1:i
produk = produk*(r-j+1)/(j);
%produk = produk*(r-j+i)
end
sum = sum + del(i,i+1)*produk;
end
polinom = sum;
%fclose(fid);
fprintf('interpolasi/ekstrapolasi pada x = %g adalah = %g\n',t, polinom);
1.2 Interpolasi kebelakang cara Newton untuk Data dengan Interval Konsta
%=========================================================
==========%
% Interpolasi kebelakang cara Newton untuk Data dengan Interval Konsta %
%=========================================================
==========%
x(1) = 1300.5; y(1) = 117862;
x(2) = 1310.5; y(2) = 109776;
x(3) = 1320.5; y(3) = 100636;
x(4) = 1330.5; y(4) = 90553;
x(5) = 1340.5; y(5) = 79642;
n = 5;
h = 10;
for i = 1:n-1
for j = i:n-1
if(i == 1)
del(j+1) = y(j+1)-y(j);
else
del(i,j+1)=del(i-1,j+1)-del(i-1,j);
end
end
end
t = 1450.5;
r = (t-x(n))./h;
sum = y(n);
for i = 1:n-1
produk = 1;
for j = 1:i
produk = produk*(r+j-1)/(j);
end
sum = sum + del(i,5)*produk;
end
polinom = sum;
% Example
x=[1 4 6 5 3 1.5 2.5 3.5]';
y=[0 1.3862944 1.7917595 1.6094379 1.0986123 0.40546411 0.91629073
1.2527630]';
a = newton_interpolation(x, y, 5);
Hasil yang didapatkan dari perhitungan tersebut dapat dilihat dalam
gambar berikut:
clc;
clear all;
2. Pembahasan
Interpolasi adalah perkiran suatu nilai tengah dari satu set nilai yang
diketahui. Interpoloasi dalam arti luas merupakan upaya mendefenisikan suatu
fungsi dekatan suatu fungsi analitik yang tidak diketahui atau pengganti fungsi
rumit yang tak mungkin diperoleh persamaan analitiknya. Nilai suatu fungsi y =
f(x) diketahui berupa ordinat titik-titik x1, x2, x3, ………, xn yang diskontinu
(discontinue) atau diskrit (discret). Ekspresi analitik y = f(x) tidak diketahui.
Proses interpolasi dilaksanakan dalam dua tahap, yaitu pertama, menentukan
fungsi interpolasi yang merupakan kombinasi dari titik-titik (data) yang ada, dan
kedua, mengevaluasi fungsi interpolasi tersebut. Interpolasi dapat dilakukan untuk
kasus dengan dimensi lebih dari satu, misalnya fungsi f(x,y,z). Interpolasi
multidimensi selalu diselesaikan dengan urutan mulai dari interpolasi satu
dimensi.
Metode ini pada umumnya dapat dilakukan dengan mudah bila bentuk dari
fungsi kurvanya diketahui dan sederhana, tetapi bilamana bentuk dari fungsi
kurvanya sendiri belum diketahui, maka metode pendekatan atau aproksimasi
dapat dilakukan dengan berbagai cara, misalnya dengan menguraikan fungsinya
dalam deret, misalnya deret Taylor bilamana fungsi dan turunannya pada titik-titik
tertentu diketahui, atau menggunakan interpolasi Lagrange, bilamana hanya
fungsinya saja yang diketahui pada beberapa titik. Metode lain adalah
menguraikan fungsinya dalam fungsi-fungsi yang sifatnya telah diketahui,
misalnya fungsi Bessel atau polinomial Hermit, dan sebagainya. Apabila data
diyakini merupakan data deterministik, penentuan jenis fungsi ini dapat dilakukan
melalui 2 cara, yaitu Aproksimasi Fungsi (atau disebut juga curve fitting)
dan interpolasi/ekstrapolasi. Apabila data diyakini merupakan data stokastik, kita
hanya dapat menentukan distribusi dari data tersebut.
Interpolasi linear adalah interpolasi yang diperoleh dengan cara
menghubungkan dua titik yang mengapit daerah yang akan dicari interpolasinya.
Secara aljabar, untuk setiap Si sebagai fungsi linear yang dibangun sebagai
berikut. Interpolasi Spline merupakan suatu kurva yang dibangun dari potongan-
potongan polynomial (picewise polynomial) dengan titik-titik belok disebut knot.
Menggunakan interpolasi polinomial, polinomial derajat n yang
menginterpolasi himpunan data adalah secara unik didefinisikan dengan titik-titik
data. Spline derajat n yang menginterpolasi himpunan data yang sama tidak secara
unik didefinisikan, dan kita mengisi dalam n-1 derajat bebas tambahan
untuk menyusun suatu interpolan yang unik. Kesulitan utama yang muncul dari
proses interpolasi (terutama interpolasi spline) adalah teknis komputasi. Oleh
karena itu perlu suatu mekanisme pendukung. Software Matlab dapat digunakan
untuk mempermudah pelaksanaan perhitungan interpolasi, bahkan sampai dengan
penyusunan fungsi dan penggambaran grafiknya.
Fitting data dengan metode least square,interpolasi linear,
interpolasi lagrange maupun dengan fungsi bessel mengandung
kelemahan masing-masing. Model spline dapat dijadikan salah satu alternatif
untuk menanggulangi kelemahan tersebut. Salah satu model spline yang banyak
digunakan adalah spline kuadrat. Menggunakan interpolasi spline, dapat disusun
suatu program Matlab yang disesuaikan dari Collier dan Kaw (2006), Spline
Toolbox (2006), Spline Interpolation (2006) dan Spline Interpolation in Matlab
(2006) untuk menghasilkan grafik dan persamaan spline dari setiap pasang
koordinat ke pasangan koordinat berikutnya. (2006) untuk menghasilkan grafik
dan persamaan spline dari setiap pasang koordinat ke pasangan koordinat
berikutnya.
E. Penutup
1. Kesimpulan
2. Saran
Lasijo, 2001. Fitting Kurva Dengan Menggunakan Spline Kubik .Integral. vol. 6,
no. 2, Oktober 2001.