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

laporan geokomputasi .docx

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.

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.