Upload
independent
View
1
Download
0
Embed Size (px)
Citation preview
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
clcx=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*BD=A/BE=A+BF=A-B
Hasil C, D, E dan F
Selesai
- Untuk menampilkan gambar 3D
Koordinat X, Y
[X,Y]=meshgrid(x,y) f=X.*Y.*exp(2*(X.^2+Y.^2))
Hasil C, D, E dan F
Selesai
Mulai
- Untuk Program penyelesaian matriks tridiagonal untuk mencari solusi interpolasi kubik spline
Mulai
input ('Program Interpolasi Kubik Spline');n = input('jumlah data=');
if(i == 1)Berhenti
No
Lanjut
Yes
g(i)=x(i+1)-x(i);
e(i)=x(i)-x(i-1);
Cetak nilai interpolasi kubik
Selesai
data = load('data_1.dat');x = data (:,1);y = data (:,2);
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 allclc %===================================================================%% 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 endendt = 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;endpolinom = 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 allclc %===================================================================%% 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 endendt = 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;endpolinom = 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 ;endlagrange = 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; % Examplex=[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)));
endendfor i =1:n-1 g(i)=x(i+1)-x(i);endfor i= 2:n e(i)=x(i)-x(i-1);endx=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.