Pencocokan Kurva
-
Upload
setyawanbahari -
Category
Documents
-
view
97 -
download
7
description
Transcript of Pencocokan Kurva
LAPORAN PRKTIKUM
PEMROGRAMAN KOMPUTER DAN KOMPUTASI NUMERIK
PENCOCOKAN KURVA DENGAN METODE INTERPOLASI
DAN SISTEM PERSAMAAN LINEAR
Disusun Oleh :
Nama : Muhamad Setyawan Bahari
NIM : 021400399
Prodi : Elektronika Instrumentasi
SEKOLAH TINGGI TEKNOLOGI NUKLIR
BADAN TENAGA NUKLIR NASIONAL
YOGYAKARTA
2015
BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Delphi 7 merupakan bahasa pemrograman tingkat tinggi yang sangat popular karena
kehandalan, kemudahan, kecepatan dan dukungan yang luas untuk membuat program
aplikasi baik yang sederhana sampai yang kompleks. Keistimewaan bahasa
pemrograman ini diantaranya yaitu sebagai berikut:
a. Dapat berjalan pada Sistem Operasi Microsoft Windows 9x, ME, 2000 dan XP yang
banyak dipakai oleh pengguna Komputer di Indonesia.
b. Bisa digunakan untuk membuat program aplikasi perhitungan, multi media, program
interaktif, program basis data maupun program yang memiliki kecerdasan yang
kompleks (rumit).
c. Mudah dalam penggunaannya karena Delphi bekerja dengan menu user friendly.
d. Delphi 7 merupakan bahasa pemrograman visual berbasis mode grafik sehingga untuk
membuat program dengan tampilan yang menarik tidak memerlukan kode program yang
panjang.
e. Mendukung pemrograman berorienstasi objek
1.2 TUJUAN
1. Memahami metode numerik interpolasi untuk pencocokan kurva.
2. Mampu membuat program dengan Delphi sebagai penerapan algoritma metode
numerik untuk pencocokan kurva.
3. Mampu membuat aplikasi berbasis Delphi untuk penerapan interpolasi pada kasus
nyata.
BAB II
DASAR TEORI
2.1 DASAR TEORI
Berbagai data yang banyak digunakan dalam bidang sains maupun non-sains banyak
disajikan dalam bentuk tabel yang merupakan hasil dari suatu pengamatan atau pengukuran.
Contoh nilai-nilai diskrit yang diperoleh dari suatu hasil pengukuran beban pada suatu material
adalah sebagai berikut:
Tabel 1. Contoh data pengukuran
Beban (kg) 5 10 15 20 25 30 35 40 45
Waktu patah (jam) 20 18 18 15 11 9 8 5 2
Persoalan yang muncul adalah bagaimana menentukan nilai-nilai diantara titik-titik diskrit
tersebut tanpa harus melakukan pengukuran kembali. Misal dari tabel, ingin diketahui waktu patah
y jika beban yang diberikan sebesar 17 kg. Persoalan tersebut tidak dapat dijawab secara langsung
karena fungsi yang menhubungkan variabel waktu patah dengan beban tidak diketahui. Salah satu
solusi tersebut adalah menentukan atau mencari fungsi yang sesuai atau cocok (fit) dengan titik-titk
data dalam tabel tersebut. Pendekatan metode numerik seperti ini disebut pencocokan kurva (curve
fitting). Fungsi yang diperoleh dengan metode ini merupakan fungsi pendekatan (aproximation),
sehingga nilai fungsinya tidak setepat dengan nilai sejatinya. Namun metode seperti ini mencukupi
dan dapat diterima dalam bidang rekayasa. Fungsi lain dari pencocokan kurva diantaranya adalah
untuk mempermudah perhitungan numerik lainnya, seperti menentukan nilai turunan dan integral.
Terdapat dua metode utama dalam pencocokan kurva yaitu regresi dan interpolasi. Regresi
melakukan pencocokan dengan berdasarkan pada kecenderungan data atau trend data, sehingga
pencocokan kurva tersebut tidak perlu melalui semua titik. Metode ini biasanya digunakan apabila
data pengukuran mengandung derau atau galat yang berarti data tidak teliti, sehingga seluruh titik
data tidak harus dilewati Gambar 1(a). Kurva yang dihasilkan merupakan kurva yang memiliki
selisih terkecil antara titik data dengan kurva pendekatan tersebut.
Interpolasi melakukan pencocokan kurva melalui titik-titik data secara tepat atau persis pada
titik data. Data-data tersebut memiliki ketelitian pengukuran yang tinggi sehingga seluruh data
tersebut harus dilewati oleh kurva pendekatan. Gambar 1(b) merupakan contoh visualisasi
pencocokan kurva interpolasi.
y y
x x
a b
Gambar 1. Pencocokan kurva (a) regresi, (b) interpolasi
Pada materi ini akan dibahas pencocokan kurva menggunakan metode interpolasi numerik
dengan menerapkan beberapa metode interpolasi.
Interpolasi
Diberikan n+1 buah titik berbeda, (x0, y0), (x1, y1), …, (xn, yn) maka suatu polinom pn(x) akan
melewati (menginterpolasi) semua titik-titik tersebut sehingga
yi = pn(xi) untuk i= 0, 1, 2, …, n
Nilai yi dapat berasal dari data empiris hasil dari percobaan, pengukuran atau pengamatan,
maupun dari suatu fungsi matematika f(x). Fungsi atau polinom pn(x) merupakan fungsi
hampiran atau pendekatan f(x).
Setelah fungsi pn(x) ditemukan, maka dapat digunakan untuk menentukan
atau memperkirakan nilai y pada x = a, yaitu pn(a). Jika x0 < a < xn maka nilai y = pn(a)
disebut sebagai nilai interpolasi, sedangkan jika a < x0 atau xn < a maka nilai y = pn(a) disebut
sebagai nilai ekstrapolasi.
Terdapat berbagai metode interpolasi, beberapa akan dibahas dan digunakan
dalam praktikum berikut.
Metode Interpolasi Linier dan Polinomial n
Interpolasi linier merupakan interpolasi menggunakan dua buah titik dan sebuah garis lurus
(linear). Misal dua buah titik (x0, y0) dan (x1, y1), maka polinom yang menginterpolasi kedua titik
tersebut adalah persamaan garis lurus dengan bentuk sebagai berikut
Koefisien a0 dan a1 dicari dengan proses substitusi dan eliminasi. Dengan
mensubstitusikan (x0, y0) dan (x1, y1) kedalam Persamaan (1) maka diperoleh dua buah
persamaan linier sebagaimana ditunjukkan pada Persamaan (2).
Sehingga nilai a1 dan a0 dapat diperoleh sebagaimana Persamaan (3) dan (4).
Sehingga fungsi interpolasi linier pada Persamaan (1) dapat dirubah menjadi persamaan
sebagaimana ditunjukkan pada Persamaan (5).
Interpolasi linier merupakan interpolasi polinomial orde 1, sedangkan polinomial orde dua
disebut dengan interpolasi kuadratik yang membutuhkan tiga buah titik data, sedangkan orde 3
disebut interpolasi kubik yang membutuhkan 4 buah titik data. Penyelesaian atau penentuan nilai
koefisien tersebut dapat dilakukan dengan substitusi dan eliminasi sebagaimana interpolasi
linier, atau dapat menggunakan pendekatan numerik metode Gauss karena hasil substitusi setiap
titik kedalam persamaan polinomial akan menghasilkan suatu sistem persamaan.
Persamaan polinomial orde n dirumuskan sebagaimana ditunjukkan pada Persamaan (6).
Contoh sistem persamaan yang dihasilkan dari polinomial orde 2 atau n=2, maka akan
dibutuhkan n+1=3 titik data dan akan terdapat n+1=3 persamaan yang ditunjukkan
pada Persamaan (7).
Interpolasi Lagrange
Interpolasi Lagrange dikembangkan berdasarkan dari polinomial linier untuk orde 1, secara
umum bentuk polinomial Lagrange orde n atau disebut sebagai interpolasi Lagrange orde n
dinyatakan dalam Persamaan
dimana ai = yi , dan Li ditentukan dengan Persamaan
BAB III
PEMBAHASAN
3.1 Langkah Kerja
1. Aplikasi menghitung persamaan diferensial biasa dengan metode interpolasi
Lagrange
a. Aplikasi Delphi dibuka
b. Menyiapkan pembuatan form, seluruh file/project terlebih dahulu disimpan
c. Komponen yang digunakan adalah berikut, properti minimal diatur seperti
pada tabel berikut, dan properti yang lain diatur sesuai keinginan.
Nama Object Property NilaiTForm Caption Form Lagrange
Name FormLagrangeTLabel Caption Banyak dataTLabel Caption DataTLabel Caption 1TLabel Caption 1TEdit Name Numdata
Text “ ”TEdit Name Datainput
Text “ “TEdit Name Xinput
Text “ “TEdit Name Youtput
Text “ “TButton Caption Set tabelTButton Caption Set dataTButton Caption Prediksi
StringGrid Name TabeldataTEdit Name Edit1
Text “”TEdit Name Edit2
Text “”
d. Seluruh object disusun dengan bentuk seperti Gambar 1 , atau sesuai kreasi.
Gambar 2. Susunan Object
e. Program diisi sesuai dengan contoh berikut (contoh ini merupakan potongan program
mulai dari baris deklarasi var)
var
FormLagrange: TFormLagrange; N,r,c :integer;
nilai:single;
data:string;
implementation
{$R *.dfm}
procedure TFormLagrange.Button2Click(Sender: TObject);
begin
with tabeldata do
begin
r:=strtoint(labelbaris.Caption);
c:=strtoint(labelkolom.Caption);
Data:=Datainput.Text;
if trystrtofloat(data,nilai) then
cells[c,r]:=Data
else
begin
showmessage('data harus berupa bilangan real');
cells[c,r]:='0';
end;
end;
end;
procedure TFormLagrange.Button1Click(Sender: TObject);
begin
N := strtoint(Numdata.Text);
tabeldata.ColCount:=N+1;
tabeldata.RowCount:=3;
with TabelData do
begin
cells[0,0]:='Data ke';
cells[0,1]:='x';
cells[0,2]:='y';
for r:=1 to 3 do
begin
for c:=1 to N+1 do
begin
cells[c,0]:=inttostr(c);
cells[c,r]:='0';
end;
end;
end;
end;
procedure TFormLagrange.Button3Click(Sender: TObject);
var b,k,i,j,orde:integer;
pi,L,x:real;
Xn:array[1..200] of real;
Yn:array[1..200] of real;
begin
//membuat data array
with tabeldata do
begin
for k:=1 to N+1 do
begin
Xn[k]:=strtofloat(cells[k,1]);
Yn[k]:=strtofloat(cells[k,2]);
end;
end;
//interpolasi
x := strtofloat(Xinput.Text);
L:=0;
orde:=N;
for i:=1 to orde do
begin
pi:=1;
for j:=1 to orde do
begin
if i<>j then
begin
pi:=pi*(x-Xn[j])/(Xn[i]-Xn[j]);
end;
end;
L:=L+Yn[i]*pi;
end;
Youtput.Text:=floattostrf(L,ffGeneral,5,4);
end;
procedure TFormLagrange.TabelDataSelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
c:=ACol;
r:=ARow;
Labelkolom.Caption:=inttostr(c);
Labelbaris.Caption:=inttostr(r);
with tabeldata do
begin
Data:=cells[c,r];
end;
datainput.SetFocus;
end;
procedure TFormLagrange.Button4Click(Sender: TObject);
var
b,k,i,j,orde:integer;
pi,L,x:real;
Xn:array[1..200] of real;
Yn:array[1..200] of real;
begin
//membuat data array
with Tabeldata do
begin
for k:=1 to N+1 do
begin
Xn[k]:=StrToFloat(cells[k,1]);
Yn[k]:=StrToFloat(cells[k,2]) ;
end;
end;
//interpolasi linear
x:=StrToFloat(Edit1.Text);
L:=0;
L:=Yn[1]+(((Yn[2]-Yn[1])/(Xn[2]-Xn[1]))*(X-Xn[1]));
Edit2.Text:=FloatToStrf(L,ffGeneral,5,4);
end;
end.
3.2 Pembahasan
Praktikum Pemrograman Komputer dan Komputasi Numerik yaitu Pencocokan
Kurva dengan Metode Interpolasi dan Sistem Persamaan Linear bertujuan untuk mencari
nilai prediksi dan menentukan titik-titik berdasarkan data yang dimasukkan sebelumnya.
Dengan menggunakan aplikasi Delphi 7, dapat dicari titik-titik yang belum diketahui
menggunakan metode Interpolasi (Tombol Prediksi 1) dan metode Sistem Persamaan
Linear (Tombol Prediksi 2) serta fungsi matematis pada script untuk melakukan
perhitungan sehingga mendapatkan nilai-nilai prediksi. Seperti pada praktikum yang
telah dilakukan, dengan memasukkan data-data dapat diperoleh nilai-nilai prediksi.
BAB IV
KESIMPULAN DAN SARAN
4.1 Kesimpulan
Setelah melakukan Pemrograman Komputer dan Komputasi Numerik yaitu
Pencocokan Kurva dengan Metode Interpolasi dan Sistem Persamaan Linear, dapat
dicari nilai prediksi dan ditentukan titik-titik berdasarkan data yang dimasukkan
sebelumnya.
14
BAB V
DAFTAR PUSTAKA
Tim Lab Komputer.2015.Modul Interpolasi Numerik. Sekolah Tinggi Teknologi
Nuklir – Badan Tenaga Nuklir Nasional. Yogyakarta.
Tim Lab Komputer.2015. Sistem Persamaan Linear. Sekolah Tinggi Teknologi
Nuklir – Badan Tenaga Nuklir Nasional. Yogyakarta.