Anda di halaman 1dari 16

MODUL VI

INTERPOLASI
Nama

: Ikhsan Nurazad

NIM

: 10209021

Nama Asisten

: Widyo Jatmoko / 10208038


Taufik Octavinaldi / 10208064

Tanggal Praktikum

: 27 Oktober 2011

Tanggal Pengumpulan: 1 November 2011

I.

Tujuan
Praktikan Mengetahui dan memahami metode numerik untuk interpolasi data.
Praktikan dapat menuliskan code sederhana untuk proses interpolasi

II. Teori Dasar


Interpolasi adalah suatu cara untuk mencarai nilai-nilai diantara beberapa nilai data yg
telah diketahui. Pada prakteknya interpolasi sering digunakan untuk mengetahui suatu
fungsi dimana fungsi tersebut tidak terdefinisi dengan suatu formula melainkan hanay
data-data hasil percobaan. Namun interpolasi juga dapat digunakan
untuk pengolahan citra digital, pembuatan kontur serta proses
recovery.[1]
Interpolasi linear: menentukan nilai suatu titik anatara 2 titik yg diketahui nilainya
menggunakan pendekatan fungsi garis lurus.[2]

gambar 1:interpolasi
Persamaan garis lurus yg melalui 2 titik P1(x1,y1) dan P2(x2,y2):

Sehingga persamaan interpolasinya


(

III. Pengolahan
X

Y
1
3
4
6
9
12
20
25
30
40
50
Table 1:hasil eksperimen

Atau dalam bentuk grafik

2.5
2.5
3
8
12
16
18
17.5
15.5
8.5
1.5

Y
20
18
16
14
12
10
8
6
4
2
0
0

10

20

30

40

50

60

grafik 1: hasil eksperimen

data tersebut dapat dibagi menurut pola grafiknya menjadi 3 daerah yaitu
daerah I
y
1
3
4

daerah II
y
4
6
9
12
20

x
2.5
2.5
3

daerah III
y

x
3
8
12
16
18

20
25
30
40
50

18
17.5
15.5
8.5
1.5

Table 2 : pembagian 3 daerah

20

15

10

15
10
5

0
0

20

10

20

30

Grafik 2: pembagian 3 daerah

0
0

20

40

60

Output dari program C++ adalah sebagai berikut

gambar 2:hasil running pada program c++

Dalam proses komputasinya didapat data lengkap sebagai berikut


x

y
1
2
3
4
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

x
2.5
2.33333
2.5
3
3
5.91335
8
9.55712
10.8276
12
13.2086
14.5334
16
17.5798
19.1899
20.6931
21.8977
22.558
22.3739

y
19
20
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

x
20.9908
18
18
18.0312
17.9954
17.8939
17.7282
17.5
17.2114
16.8645
16.4618
16.006
15.5
14.9471
14.3506
13.7142
13.0418
12.3375
11.6058

y
37
38
39
40
41
42
43
44
45
46
47
48
49
50

10.8512
10.0786
9.29306
8.5
7.70496
6.91376
6.13246
5.36736
4.625
3.91216
3.23586
2.60336
2.02215
1.5

Table 3:hasil komputasi menggunakan interpolasi dengan program C++

Dan hasil plot datanya adalah

y
25
20
15
y

10
5
0
0

10

20

30

40

50

60

grafik 2 :hasil interpolasi dengan program C++

IV. Analisis
Dari grafik diatas dapat dilihat adanya perbedaan antar grafik yg langsung di plot
pada excel dan grafik yg sebelumnya telah diolah menggunakan program
C++ hal ini dekarenakan pada data yg tanpa diolah pada C++ maka hanya dihubungkan titiktitik yg tersedia dalam data saja sedangkan pada program C++ smua data dengan interval 1
satuan di tampilkan. Jelas hasil interpolasi lebih bisa menjelaskan hasil percobaan dengan
data seperti di atas
V. Kesimpulan
Hasil yg didapat sesuai dengan teori dan dapat disimpulkan bahwa metode
interpolasi dapat digunakan untuk mencari data diantara 2 nilai yg telah diketahui

VI. Referensi
[1]http://www.google.co.id/url?sa=t&rct=j&q=interpolasi&source=web&cd=5&ved=0CDo
QFjAE&url=http%3A%2F%2Feprints.undip.ac.id%2F7342%2F2%2FBAB_I.pdf&ei=Q06r
TpnNNKaXiAfskPjIDw&usg=AFQjCNG7sfD0Cubi5f2VcuzOQtpflgnjfw&cad=rja
[2]http://www.google.co.id/url?sa=t&rct=j&q=interpolasi&source=web&cd=2&ved=0CCc
QFjAB&url=http%3A%2F%2Flecturer.eepisits.edu%2F~prima%2Fmetode_numerik%2Fbahan_ajar%2F11-Interpolasi.pdf&ei=MrrToi2JcmeiQfw-Z25Dw&usg=AFQjCNEiHUMJsPscsgfaUt4dwBAeL4AxZQ&cad=rja

VII. Source Code


#include <cstdlib>
#include <iostream>
#include <fstream>
#include <math.h>

using namespace std;

int data_x[11]={1,3,4,6,9,12,20,25,30,40,50};
float data_y[11]={2.5,2.5,3,8,12,16,18,17.5,15.5,8.5,1.5};

float pangkat(float a, int b){


float hasil = 1;
for(int i=1; i<=b; i++){
hasil = hasil*a;}
return hasil;}

int main (int argc, char*argv[]){


int N;

float B[11],A[11][11],L[11][11],U[11][11],Y[11],X[11];

float fx;

ofstream output_file("output.xls");

cout<<"~~~~DAERAH I~~~~"<<endl;
cout<<"~~~~DATA 1-3~~~~"<<endl;

N=3;

for(int i=0; i<=N; i++){


B[i] = data_y[i];}

cout<<"matriks B"<<endl;
for (int i=0;i<=N;i++)
{
cout<<B[i];
cout<<"

";

cout<<endl;
}
cout<<endl;

for(int i=0; i<=N; i++){


for(int j=0; j<N; j++){
A[i][j] = pangkat(data_x[i],j);}}
cout<<"matriks A="<<endl;

for (int i=0;i<=N;i++)


{
for (int j=0;j<3;j++)
{
cout<<A[i][j];
cout<<"

";

}
cout<<endl;
}

for(int i=0; i<N; i++){


L[i][i]=1;}
for(int j=0; j<N; j++){
U[0][j]=A[0][j];
for(int i=1; i<=j; i++){
float E_lu=0;
for(int k=0; k<=i-1; k++){
E_lu = E_lu + L[i][k]*U[k][j];}
U[i][j] = A[i][j] - E_lu;}
for(int i=j+1; i<N; i++){
float E_lu2=0;
for(int k=0; k<=j-1; k++){
E_lu2 = E_lu2 + L[i][k]*U[k][j];}
L[i][j] = (A[i][j] - E_lu2) / U[j][j];}}

Y[0] = B[0] / L[0][0];


for(int i=1; i<N; i++){
float E_ly=0;
for(int j=0; j<=i-1; j++){
E_ly = E_ly + L[i][j]*Y[j];}
Y[i]=(B[i] - E_ly) / L[i][i];}
X[N-1] = Y[N-1] / U[N-1][N-1];
for(int i=N-2; i>=0; i--){
float E_ux=0;
for(int j=i+1; j<N; j++){
E_ux = E_ux + U[i][j]*X[j];}
X[i] = (Y[i] - E_ux) / U[i][i];}

for(int i=0; i<N; i++){


cout<<"a"<<i<<"="<<X[i]<<endl;
cout<<"\n";
}

for(int i=data_x[0]; i<=data_x[2]; i++)


{
fx = X[0] + X[1]*i + X[2]*pangkat(i,2);
output_file<<i<<"\t"<<fx<<endl;
}

cout<<"~~~~DAERAH II~~~~"<<endl;
cout<<"~~~~DATA 3-7~~~~"<<endl;

N=5;

for(int i=0; i<=N; i++){


B[i] = data_y[i+2];}

cout<<"matriks B"<<endl;
for (int i=0;i<N;i++)
{
cout<<B[i];
cout<<"

";

cout<<endl;
}
cout<<endl;
for(int i=0; i<=N; i++){
for(int j=0; j<N; j++){
A[i][j] = pangkat(data_x[i+2],j);}}
cout<<"matriks A="<<endl;
for (int i=0;i<=N;i++)
{
for (int j=0;j<N;j++)

{
cout<<A[i][j];
cout<<"

";

}
cout<<endl;
}
for(int i=0; i<N; i++){
L[i][i]=1;}
for(int j=0; j<N; j++){
U[0][j]=A[0][j];
for(int i=1; i<=j; i++){
float E_lu=0;
for(int k=0; k<=i-1; k++){
E_lu = E_lu + L[i][k]*U[k][j];}
U[i][j] = A[i][j] - E_lu;}
for(int i=j+1; i<N; i++){
float E_lu2=0;
for(int k=0; k<=j-1; k++){
E_lu2 = E_lu2 + L[i][k]*U[k][j];}
L[i][j] = (A[i][j] - E_lu2) / U[j][j];}}

Y[0] = B[0] / L[0][0];


for(int i=1; i<N; i++){
float E_ly=0;
for(int j=0; j<=i-1; j++){

E_ly = E_ly + L[i][j]*Y[j];}


Y[i]=(B[i] - E_ly) / L[i][i];}
X[N-1] = Y[N-1] / U[N-1][N-1];
for(int i=N-2; i>=0; i--){
float E_ux=0;
for(int j=i+1; j<N; j++){
E_ux = E_ux + U[i][j]*X[j];}
X[i] = (Y[i] - E_ux) / U[i][i];}

for(int i=0; i<N; i++){


cout<<"a"<<i<<"="<<X[i]<<endl;
cout<<"\n";}

for(int i=data_x[2]; i<=data_x[6]; i++){


fx = X[0] + X[1]*i + X[2]*pangkat(i,2) + X[3]*pangkat(i,3) +
X[4]*pangkat(i,4);
output_file<<i<<"\t"<<fx<<endl;}

cout<<"~~~~DAERAH III~~~~"<<endl;
cout<<"~~~~DATA 7-11~~~~"<<endl;

N=5;

for(int i=0; i<=N; i++){


B[i] = data_y[i+6];}

cout<<"matriks B"<<endl;
for (int i=0;i<N;i++)
{
cout<<B[i];
cout<<"

";

cout<<endl;
}
cout<<endl;
for(int i=0; i<=N; i++){
for(int j=0; j<N; j++){
A[i][j] = pangkat(data_x[i+6],j);}}
cout<<"matriks A="<<endl;
for (int i=0;i<=N;i++)
{
for (int j=0;j<N;j++)
{
cout<<A[i][j];
cout<<"

";

}
cout<<endl;
}
for(int i=0; i<N; i++){

L[i][i]=1;}
for(int j=0; j<N; j++){
U[0][j]=A[0][j];
for(int i=1; i<=j; i++){
float E_lu=0;
for(int k=0; k<=i-1; k++){
E_lu = E_lu + L[i][k]*U[k][j];}
U[i][j] = A[i][j] - E_lu;}
for(int i=j+1; i<N; i++){
float E_lu2=0;
for(int k=0; k<=j-1; k++){
E_lu2 = E_lu2 + L[i][k]*U[k][j];}
L[i][j] = (A[i][j] - E_lu2) / U[j][j];}}

Y[0] = B[0] / L[0][0];


for(int i=1; i<N; i++){
float E_ly=0;
for(int j=0; j<=i-1; j++){
E_ly = E_ly + L[i][j]*Y[j];}
Y[i]=(B[i] - E_ly) / L[i][i];}
X[N-1] = Y[N-1] / U[N-1][N-1];
for(int i=N-2; i>=0; i--){
float E_ux=0;
for(int j=i+1; j<N; j++){
E_ux = E_ux + U[i][j]*X[j];}

X[i] = (Y[i] - E_ux) / U[i][i];}

for(int i=0; i<N; i++){


cout<<"a"<<i<<"="<<X[i]<<endl;
cout<<"\n";}

for(int i=data_x[6]; i<=data_x[10]; i++){


fx = X[0] + X[1]*i + X[2]*pangkat(i,2) + X[3]*pangkat(i,3) +
X[4]*pangkat(i,4);
output_file<<i<<"\t"<<fx<<endl;}

system ("PAUSE");
return EXIT_SUCCESS;
}

VIII. Tambahan
Aplikasi Interpolasi
Interpolasi Linier Dalam Statistika Deskritif
Statitiska diskriptif merupakan statistika yang mempunyai tugas pada
pengumpulan data,
pengolahan data penganalisaan dan penyajian data yang baik. Hal-hal yang
dipelajari dalam statistika
deskriptif meliputi :
1. penyajian data dalam bentuk grafik, diagram, tabel dan lain-lain.
2. ukuran tendensi sentral, meliputi mean, modus, median, kuartil, desil persentil.
3. Ukuran penyebaran data, meliputi jangkauan, jangkauan antar kuartil, varians
dan, simpangan baku.

Berikut ini adalah aplikasi interpolasi dalam statistika


1. Penentuan nilai statistik tabel jika jumlah sampel atau derajad bebas tidak
terdapat dalam tabel.
2. Penentuan rumus dalam mencari modus dalam dalam data kelompok
3. Penentuan rumus dalam mencari median kuartil,desil,persentil dalam data
kelompok

Anda mungkin juga menyukai