Escolar Documentos
Profissional Documentos
Cultura Documentos
PENDAHULUAN
1.1
Latar Belakang
Interpolasi adalah suatu cara untuk mencari nilai di antara beberapa
titik data yang telah diketahui. Di dunia nyata, interpolasi dapat digunakan
untuk memperkirakan suatu fungsi, yang mana fungsi tersebut tidak
terdefinisi dengan suatu formula, tetapi didefinisikan hanya dengan datadata atau tabel, misalnya tabel dari hasil percobaan. Interpolasi dapat juga
diaplikasikan untuk pengolahan citra digital, membuat kontur-kontur, dan
berguna dalam proses recovery.
Ada berbagai macam interpolasi berdasarkan fungsinya, di
antaranya adalah interpolasi linier, interpolasi kuadrat, dan interpolasi
polinomial. Adapun berbagai metode dalam interpolasi antara lain metode
Lagrange dan metode Newton. Kedua metode tersebut menggunakan
fungsi polinomial untuk menginterpolasi f (x) pada titik-titik yang
diberikan. Di sini akan diberikan alternatif lain dalam interpolasi, yaitu
dengan menggunakan fungsi rasional yang kemudian disebut dengan
interpolasi
rasional.
Interpolasi
rasional
seringkali
memberikan
Tujuan
Tujuan yang hendak dicapai dalam penulisan ini yaitu sebagai salah
satu syarat untuk memenuhi seluruh praktikum jurusan Teknik Elektro
ITENAS Bandung, antara lainnya:
a. Melakukan analisis secara komputansi dari metoda regresi kuadrat
terkecil dalam pencocokan kurva.
b. Melakukan analisis nilai antara dari data data yang diketahui secara
komputasi dengan metoda interpolasi.
1.3
Sistematis Penulisan
BAB I
: Pendahuluan
Pada bab ini memuat latar belakang, tujuan yang ingin
dicapai, serta sistematis penulisan
BAB II
: Teori Dasar
Dasar teori yang berisi kajian literatur mengenai materi
dasar dan terkait dengan teori-teori interpolasi
BAB III
: Landasan Praktikum
Pembahasan tentang langkah-langkah untuk mendapatkan
rumus interpolasi serta membahas pendekatan errornya
BAB IV
: Penutup
Berisi tentang analisa dan kesimpulan dari praktikum
BAB II
TEORI DASAR
2.1
Linier
Persamaan linear adalah sebuah persamaan aljabar, yang tiap
sukunya mengandung konstanta, atau perkalian konstanta dengan variabel
tunggal. Persamaan ini dikatakan linear sebab hubungan matematis ini
dapat digambarkan sebagai garis lurus dalam Sistem koordinat Kartesius.
Metode Pemrograman linier pertama kali ditemukan oleh ahli
statistika Amerika Serikat yang bernama Prof. George Dantzig (Father of
the Linear Programming). Pemrograman Linier disingkat PL merupakan
metode matematik dalam mengalokasikan sumber daya yang terbatas
untuk mencapai suatu tujuan seperti memaksimumkan keuntungan dan
meminimumkan biaya. PL banyak diterapkan dalam masalah ekonomi,
industri, militer, sosial dan lain-lain. PL berkaitan dengan penjelasan suatu
kasus dalam dunia nyata sebagai suatu model matematik yang terdiri dari
sebuah fungsi tujuan linier dengan beberapa kendala linier.
Tahapan dalam penyelesaian optimasi dari Linear programming ini
adalah sebagai berikut :
1. Menentukan decision of variables
2. Membuat objective function
3. Memformulasikan constraints
4. Menggambarkan dalam bentuk grafik
5. Menentukan daerah kemungkinan/ "feasible"
6. Menentukan solusi optimum.
Metode Grafik
Metode Simpleks
2.2
Polinom Ordea
Interpolasi adalah metode analisis numerik untuk menentukan titik
yang belum diketahui diantara titik yang sudah diketahui. Jadi jika kita
mempunyai 2 buah titik (sebut titik x1 dan titik x3) maka kita dapat
mengetahui perkiraan titik x2 diantara titik x1 dan x3. Contoh dari
interpolasi adalah interpolasi newton, interpolasi lagrange, dan interpolasi
spline. Ekstrapolasi adalah metode analisis numerik untuk menentukan
titik yang belum diketahui sesudah atau sebelum dua titik yang telah
diketahui. Anggap saja kita mempunyai dua titik (titik x1 dan titik x2),
maka dengan analisis numerik ekstrapolasi kita dapat mengetahui titik x0
atau titik x3. Contoh dari analisis numerik ekstrapolasi adalah ekstrapolasi
Richardson dan ekstrapolasi Romberg.
Penjelasan diatas dapat digunakan untuk membentuk polinomial
order n dari (n + 1) titik data. Bentuk umum polinomial order n adalah:
fn(x) = bo + b1(x x0) + + bn(x x0)(x x1) ... (x xn 1)
Seperti yang dilakukan interpolasi linier dan kuadrat, titik-titik data dapat
dilakukan dengan evaluasi koefisien b0, b1, ..., bn. Untuk polinomial order
n, diperlukan (n + 1) titik data x0, x1, x2, ..., xn. Dengan menggunakan titiktitik data tersebut, maka persamaan berikut digunakan untuk mengevaluasi
koefisien b0, b1, ..., bn.
b0 = f (x0)
(1.8)
b1 = f [x1, x0]
(1.9)
(1.10)
(1.11)
1.12)
(1.13)
(1.14)
koefisien-koefisien
dalam
persamaan
(1.8)
sampai
BAB III
LANDASAN PRAKTIKUM
3.1
Algoritma
3.1.1 Algoritma Interpolasi Linier
1.
Tentukan nilai
x 0 , y 0 , x 1 , dan y 1 .
2.
Periksa apakah
x 0=x 1
sebab nilai fungsinya tidak terdefinisi dalam kondisi ini. Jika tidak,
maka dilanjutkan ke langkah 3.
3.
Masukkan nilai
x .
4.
Periksa apakah
min { x 0 , x 1 } x max { x 0 , x 1 }
masukkan nilai
Hitung
6.
Periksa apakah
P= y 0
7.
P= y 0 +( xx 0)
5.
y 0= y 1
y1 y0
x1 x0 .
. Karena jika sama, maka akan diperoleh
Tulis hasil
y=P .
x 0 , y 0 , x 1 , y 1 , x 2 , dan y 2 .
2. Periksa apakah
x 0< x1 < x 2
sebab nilai fungsinya tidak terdefinisi dalam kondisi ini. Jika tidak,
maka dilanjutkan ke langkah 3.
3. Masukkan nilai
x .
4. Periksa apakah
min { x 0 , x 1 , x 2 } x max { x 0 , x1 , x2 }
masukkan nilai
5. Hitung
6. Hitung
P= y 1 + ( xx i ) F01 + ( xx i ) ( xx i )F 012
7. Periksa apakah
F012 =0.
Flowchart
3.2.1 Interpolasi Linier
3.3
Listing
3.3.1 Interpolasi Linier
#include <stdio.h>
#include <stdlib.h>
int main()
{
float x0,x,x1,fx0,fx,fx1;
printf("program untuk liner interpolasi\n");
printf("masukan nilai x0 : \n");
scanf("%f",&x0);
printf("masukan nilai x1 : \n");
scanf("%f",&x1);
printf("masukan nilai x : \n");
scanf("%f",&x);
printf("masukan nilai f(x0) : \n");
scanf("%f",&fx0);
printf("masukan nilai f(x1) : \n");
scanf("%f",&fx1);
fx=(((fx1-fx0)*(x-x0))/(x1-x0))+fx0;
printf("hasil====\n");
printf("x0=%f | f(x0)=%f\n",x0,fx0);
printf("x1=%f | f(x1)=%f\n",x1,fx1);
printf("x =%f | f(x0)=%f\n",x,fx);
system("pause");
return 0;
}
#include <stdlib.h>
int main()
{
float x0,x,x1,fx0,fx,fx1,e;
printf("program untuk liner interpolasi error\n");
printf("masukan nilai x0 : \n");
scanf("%f",&x0);
printf("masukan nilai x1 : \n");
scanf("%f",&x1);
printf("masukan nilai x : \n");
scanf("%f",&x);
printf("masukan nilai f(x0) : \n");
scanf("%f",&fx0);
printf("masukan nilai f(x1) : \n");
scanf("%f",&fx1);
fx=(((fx1-fx0)*(x-x0))/(x1-x0))+fx0;
printf("hasil====\n");
printf("x0=%f | f(x0)=%f\n",x0,fx0);
printf("x1=%f | f(x1)=%f\n",x1,fx1);
printf("x =%f | f(x0)=%f\n",x,fx);
printf("hasil perhitungan f(x)=%f\n",fx);
e=(x-fx);
printf("error=%f/n",e);
scanf("%f",&e);
system("pause");
return 0;
}
#include <stdlib.h>
int main()
{
float x0,x,x1,x2,fx0,fx,fx1,fx2,b0,b1,b2;
printf("program untuk interpolasi kuadratik\n");
printf("masukan nilai x0:\n");
scanf("%f",&x0);
printf("masukan nilai x1:\n");
scanf("%f",&x1);
printf("masukan nilai x2:\n");
scanf("%f",&x2);
printf("masukan nilai x:\n");
scanf("%f",&x);
printf("masukan nilai f(x0);\n");
scanf("%f",&fx0);
printf("masukan nilai f(x1);\n");
scanf("%f",&fx1);
printf("masukan nilai f(x2);\n");
scanf("%f",&fx2);
b0=fx0;
b1=((fx1)-(fx0))/(x1-x0);
b2=(((fx2-fx1)/(x2-x1))-b1)/(x2-x0);
printf("x0=%f | f(x0)=%f\n",x,b2);
system("pause");
return 0;
}
{
float x0,x,x1,x2,fx0,fx,fx1,fx2,b0,b1,b2,e;
printf("program untuk interpolasi kuadratik error\n");
printf("masukan nilai x0:\n");
scanf("%f",&x0);
printf("masukan nilai x1:\n");
scanf("%f",&x1);
printf("masukan nilai x2:\n");
scanf("%f",&x2);
printf("masukan nilai x:\n");
scanf("%f",&x);
printf("masukan nilai f(x0);\n");
scanf("%f",&fx0);
printf("masukan nilai f(x1);\n");
scanf("%f",&fx1);
printf("masukan nilai f(x2);\n");
scanf("%f",&fx2);
b0=fx0;
b1=((fx1)-(fx0))/(x1-x0);
b2=(((fx2-fx1)/(x2-x1))-b1)/(x2-x0);
printf("x0=%f | f(x0)=%f\n",x,b2);
printf("hasil perhitungan f(x)=%f\n",b2);
e=(b2-x);
printf("error=%f/n",e);
scanf("%f",&e);
system("pause");
return 0;
}
3.4
Screenshot
DATA PENGAMATAN
Tabel 3.4.1 Data Interpolasi Linier dan Nilai Error
Wakt
u
[detik
V[cm/detik]
Dat
a
Hasil
Hasil Program
Perhitunga
n
x 0=1
X=3
3166,66
x 1=4
x 0=2
2120
X=3
x 1=5
x 0=2
2190
X=3
x 1=4
x 0=1
3050
X=3
x 1=5
Error (t)
x 0=2
2112,5
X=3
x 1=6
x 0=4
X=3
-3133,3
x 1=1
x 0=5
- 7180
X=3
x 1=2
x 0=4
- 3310
X=3
x 1=2
x 0=5
- 7250
X=3
x 1=1
x 0=6
X=3
- 12397,5
x 1=2
V[cm/detik]
Hasil
Dat
[detik
Hasil Program
Perhitunga
n
]
x 0=1
X=3
=2
3190
=
5
=2
X=3
=4
=
5
1140
Error (t)
X=3
693,34
=2
=
4
=2
X=3
=4
1108,75
=
6
=1
X=3
=4
=
7
900
3.5
Tugas Akhir
1. Buatlah program Regresi Linier dengan data pada tabel 3.1 di modul
lengkap dengan error, syntax, flowchart, dan algoritmanya di buat tabel!
2. Analisa perbedaan nilai dengan hasil error pada Regresi Linier!
3. Analisa data percobaan praktikum!
4. Aplikasi apa yang dapat dipakai dalam kehidupan sehari hari dengan
program Interpolasi?
Jawab:
1.
|";
cout<<"\n
==================================================
=================\n";
for(int i=1;i<=n;i++){
jumx=jumx+x[i];
jumy=jumy+y[i];
xy=(x[i]*y[i]);
xx=(x[i]*x[i]);
jumxy=jumxy+xy;
jumxx=jumxx+xx;
cout<<" "<<setiosflags(ios::left)<<setw(13)<<i;
cout<<setiosflags(ios::left)<<setw(11)<<x[i];
cout<<setiosflags(ios::left)<<setw(16)<<y[i];
cout<<setiosflags(ios::left)<<setw(16)<<xy;
cout<<setiosflags(ios::left)<<setw(11)<<xx;
cout<<"\n\n";
}
cout<<" -------------------------------------------------------------------\n";
cout<<" "<<setiosflags(ios::left)<<setw(13)<<"JUMLAH";
cout<<setiosflags(ios::left)<<setw(11)<<jumx;
cout<<setiosflags(ios::left)<<setw(16)<<jumy;
cout<<setiosflags(ios::left)<<setw(16)<<jumxy;
cout<<setiosflags(ios::left)<<setw(11)<<jumxx;
cout<<"\n
==================================================
=================";
ratx=jumx/n;
raty=jumy/n;
b=((jumxy*n)-(jumx*jumy))/((jumxx*n)-(jumx*jumx));
a=raty-(b*ratx);
cout<<"\n Nilai Rata - Rata waktu (detik) = "<<ratx;
cout<<"\n Nilai Rata - Rata v (cm/detik) = "<<raty;
cout<<"\n Nilai b = "<<b;
cout<<"\n Nilai a = "<<a;
cout<<"\n\n Jadi Persamaanya adalah v (cm/detik) = "<<a<<" +
"<<b<<" Waktu (detik)";
cout<<"\n\n Masukkan Nilai taksiran untuk Waktu = ";cin>>X;
Y=a+(b*X);
cout<<"\n untuk Taksiran Waktu (detik)="<<X<<", maka nilai v
(cm/detik) = "<<Y;
getch();main();
}
Waktu
[detik
[cm/detik
1000
1630
2300
2750
3100
3560
3900
4150
4290
10
4500
11
4600
12
4550
13
4600
14
4900
15
5000
Hasil
Hasil Program
Program
Error (t)
b.
merupakan
f ( x 1)f ( x 0 )
, pada dasarnya
x 1x 0
turunan pertama
Nilai error sendiri adalah nilai yang menyatakan sebuah interval atau
rentangan nilai yang memiliki kemungkinan apakah perkiraan kita
benar atau salah, dan dipengaruhi dari besarnya nilai x yang diberikan.
Interpolasi Kudratik :
a.
Interpolasi ini menggunakan 3 buah titik-titik data, hal ini bisa dilihat
dalam rumus :
y=b 0+ b1 (xx 0 )+ b2 (xx 0)(x x1 )
Di mana :
x
f ( 0)
b0=
1
x
f ( x 0 )
f
b1=
f (x 2 )f ( x 1 ) f (x1 )f (x 0)
(x2 x1 )
(x 1x 0 )
b2=
x2 x0
Sehingga apabila kita mengerjakan dengan rumus ini bisa didapatkan
sebuah persamaan kuadrat yang nantinya akan menghasilkan sebuah
grafik parabola atau linier. Oleh karena itu interpolasi kudratik bisa
disebut juga sebagai interpolasi polinomial orde-2.
b.
Nilai error sendiri adalah nilai yang menyatakan sebuah interval atau
rentangan nilai yang memiliki kemungkinan apakah perkiraan kita
benar atau salah, dan dipengaruhi dari besarnya nilai x yang diberikan.
c.
BAB IV
PENUTUP
4.1
Analisa
Analisa dari praktikum yang telah dilakukan adalah:
Terjadi kesalahan perhitungan manual
Adanya human error dari praktikan
Rendahnya tingkat ketelitian dalam perhitungan manual maupun
memasukan data kedalam program tersebut sehingga hasil yang
sebenarnya tidak terbukti.
4.2
Kesimpulan
DAFTAR PUSTAKA
- Steven C. Chapra, Raymond P. Canale, Metoda Numerik untuk teknik : dengan
penerapan pada Komputer Pribadi, Universitas Indonesia, 1991.
- S.C. Chapra, R.P. Canale, Numerical Methods for Engineers, Fourth Edition,
Mc-Graw Hill.