Download - Pencocokan Kurva

Transcript
Page 1: 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

Page 2: Pencocokan Kurva

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

Page 3: Pencocokan Kurva

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

Page 4: Pencocokan Kurva

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).

Page 5: Pencocokan Kurva

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).

Page 6: Pencocokan Kurva

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

Page 7: Pencocokan Kurva

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.

Page 8: Pencocokan Kurva

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');

Page 9: Pencocokan Kurva

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

Page 10: Pencocokan Kurva

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);

Page 11: Pencocokan Kurva

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.

Page 12: Pencocokan Kurva

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.

Page 13: Pencocokan Kurva

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.

Page 14: Pencocokan Kurva

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.