Anda di halaman 1dari 15

ACARA II

INTERPOLASI DAN EKSTRAPOLASI


A. Tujuan

Mahasiswa mampu mengetahui dan mengoperasikan Matlab dari suatu


fungsi interpolasi dan ekstrapolasi.

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

Didalam pengertian matematika dasar, 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. Salah satu teknik interpolasi yang sering
digunakan dalam menghampiri suatu fungsi yang kontinyu adalah dengan
interpolasi polinomial yang dirumuskan sebagai berikut :
P n(x) = a0 + a1x +L+ an−1x −1 + a x .
Dengan n merupakan bilangan integer nonnegatif dan a0,a1,L,an
merupakan konstanta riil. Teorema Weierstrass Jika ada suatu fungsi f yang
kontinyu dalam interval [a,b], maka untuk setiap ε > 0 terdapat suatu polinom
P(x), dengan sifat sebagai berikut : − < ε f (x) P(x) , untuk semua x dalam [a,b]
Teorema di atas menjamin kepada kita bahwa untuk semua fungsi yang kontinyu
dalam selang tertentu, maka fungsi tersebut dapat diaproksimasi oleh suatu
polinom. Dalam menentukan konstanta-konstanta dalam persamaan 3.1 sering
digunakan pendekatan Deret Taylor, sehingga interpolasi yang menggunakan
deret Taylor disebut juga dengan Interpolasi Taylor Polynomial. Namun pada
kasus interpolasi, pendekatan jarang digunakan karena metoda ini lebih
ditekankan pada estimasi error. Teorema Taylor Jika f ∈C n[a,b] dengan kata lain
f merupakan suatu fungsi yang dapat diturunkan secara kontinyu sebanyak n kali
dalam interval [a,b] dan terdapat f (n+1) dalam interval [a,b] dan x0 ∈[a,b]. Untuk
setiap x∈[a,b] terdapat sejumlah ξ(x) antara x0 dan x dengan f (x) = P n(x) +
Rn(x) .
Permasalahan utama dalam interpolasi dan ekstrapolasi adalah akurasi
nilai yang dihasilkannya. Fungsi interpolasi dan ekstrapolasi merupakan fungsi
model dengan bentuk tertentu yang bersifat umum supaya dapat mendekati
fungsi-fungsi yang dipakai secara luas. Sejauh ini fungsi yang umum digunakan
adalah polinomial dan trigonometri.
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 (Gunaidi Abdia Away, 2010)
Pada fungsi yang memiliki sejumlah titik terbatas, dimungkinkan untuk
menentukan titik-titik perantaranya dengan interpolasi. Cara termudah untuk
menghitungnya ialah denganmenggunakan interpolasi linier untuk
menghubungkan dua titik yang berdekatan. Command interp1 menggunakan
algoritma khusus untuk interpolasi titik-titik data yang terpisah secara seragam.
Untuk commandini, kita harus tambahkan tanda asteris ‘*’ di depan nama metoda
yang diinginkan, misalkan interp(x,y,xx,’*nearest’) ( Widiarsono, Teguh. 2005).

C. Algoritma dan Flowchart

1. Algoritma
Langkah-langkah dalam pengoperasian matlab terkait dengan perhitungan
matriks adalah sebagai berikut:

a. Menginput data matrik A dan B.


b. Menginput proses C =A*B, D=A/B, E= A+B, dan F=A-B.
c. Mencetak hasil C, D, E dan F.
Langkah-langkah dalam pengoperasian matlab terkait dengan
menampilkan gambar 3D adalah sebagai berikut:
a. Menginput data meshgrid berupa:
clear all
clc
x=0:0.1:2;
y=0:0.1:2;
[X,Y]=meshgrid(x,y);
b. Memproses data berupa f=-X.*Y.*exp(-2*(X.^2+Y.^2));
mesh(X,Y,f)
xlabel('sumbu x');
ylabel('sumbu y');
zlabel('sumbu z');
title('3D');
legend('Hasil 3D');
c. Dihasilkan output berupa gambar.

2. Flowchart

- Untuk operasi matriks

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);

Cetak nilai interpolasi kubik

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

Langkah yang perlu dilakukan adalah menginput data dan mengetikkannya


pada text editor seperti berikut ini:
clear all
clc

%=========================================================
==========%
% 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);

Hasil yang didapatkan dari perhitungan tersebut dapat dilihat dalam


gambar berikut:

1.2 Interpolasi kebelakang cara Newton untuk Data dengan Interval Konsta

Langkah yang perlu dilakukan adalah menginput data dan mengetikkannya


pada text editor seperti berikut ini:
clear all
clc

%=========================================================
==========%
% 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;

fprintf('interpolasi/ekstrapolasi pada x = %g adalah = %g\n',t, polinom);

Hasil yang didapatkan dari perhitungan tersebut dapat dilihat dalam


gambar berikut:

1.3 Program interpolasi lagrange

Langkah yang perlu dilakukan adalah menginput data dan


mengetikkannya pada text editor seperti berikut ini:
%-----------------------------------------------------------
%Program interpolasi lagrange
%-----------------------------------------------------------
clc;
clear all;
n = input ('jumlah data = ');
for i = 1 : n
x (i)=input ('nilai untuk x = ');
y (i)=input ('nilai untuk y = ');
end

% data = xlsread ('data41 ');


% x = data (:,1);
% y = data (:,2);

x(1) = 321; y(1) = 2.50651;


x(2) = 322.8; y(2) = 2.50893;
x(3) = 324.2; y(3) = 2.51081;
x(4) = 325; y(4) = 2.51188;

xp = input ('titik interpolasi/ekstrapolasi =');


%r = (t-x(n)) ./h;
sum = 0;
for i = 1:n
produk = y(i);
for j =1 :n
if (i~=j)
%for j = 1 : n
produk = produk*(xp-x(j))/(x(i)-x(j));
%end
end
end
sum = sum + produk ;
end
lagrange = sum ;
fprintf ('Interpolasi/ekstrapolasi pada x = %g adalah = %g\n',xp,lagrange);

Hasil yang didapatkan dari perhitungan tersebut dapat dilihat dalam


gambar berikut:

1.4. Program Interpolasi Newton

Langkah yang perlu dilakukan adalah menginput data dan mengetikkannya


pada text editor seperti berikut ini:
%-----------------------------------------------------------------
%Program Interpolasi Newton
%-----------------------------------------------------------------
clc;
clear all;

% 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:

1.5 Program penyelesaian matriks tridiagonal Untuk mencari solusi interpolasi


kubik spline

Langkah yang perlu dilakukan adalah menginput data dan mengetikkannya


pada text editor seperti berikut ini:
%-----------------------------------------------------------------
%Program penyelesaian matriks tridiagonal
%Untuk mencari solusi interpolasi kubik spline
%-----------------------------------------------------------------

clc;
clear all;

input ('Program Interpolasi Kubik Spline');


n = input('jumlah data=');
% data =xlsread('data_1.xls');
data = load('data_1.dat');
x = data (:,1);
y = data (:,2);
for i=1:n
% f(i)=2*(x(i+1)-x(i-1));
if (i==1)
f(1)=2*(x(2)-x(1));
d(1)=6*((y(2)-y(1))/(x(2)-x(1))-0);
elseif (i==n)
f(n) =2*(x(n)-x(n-1));
d(n) =6*(y(n)./x(n) - (y(n)-y(n-1))/(x(n)-x(n-1)));
else
f(i) =2*(x(i+1)-x(i-1));
d(i) =6*((y(i+1)-y(i))/(x(i+1)-x(i))-(y(i)-y(i-1))/(x(i)-x(i-1)));
end
end
for i =1:n-1
g(i)=x(i+1)-x(i);
end
for i= 2:n
e(i)=x(i)-x(i-1);
end
x=Tridiag(e,f,g,d);
x

Hasil yang didapatkan dari perhitungan tersebut dapat dilihat dalam


gambar berikut:

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

MATLAB adalah sebuah bahasa dengan (high-performance) kinerja tinggi


untuk komputasi masalah teknik. Matlab mengintegrasikan komputasi, visualisasi,
dan pemrograman dalam suatu model yang sangat mudah untuk pakai dimana
masalah-masalah dan penyelesaiannya diekspresikan dalam notasi matematika
yang familiar.

2. Saran

Diharapkan pada praktikum selanjutnya dapat dilaksanakan lebih baik lagi.


Terkait dengan informasi mengenai asisten dan hal-hal lain terkait jadwal
praktikum. Sehingga praktikan dapat dengan mudah melakukan konsultasi pada
asisten pendamping dengan adanya kejelasan informasi tersebut.
DAFTAR PUSTAKA

Collier,N,Kaw,A,2006.Spline Interpolation Simulation: Graphical Simulation of


The Method Language.

Lasijo, 2001. Fitting Kurva Dengan Menggunakan Spline Kubik .Integral. vol. 6,
no. 2, Oktober 2001.

Widiarsono,T, 2005. Tutorial Praktis Belajar Matlab. Jakarta.

Anda mungkin juga menyukai