Pencocokan Kurva

download Pencocokan Kurva

of 14

  • date post

    19-Feb-2016
  • Category

    Documents

  • view

    61
  • download

    7

Embed Size (px)

description

PKKN

Transcript of Pencocokan Kurva

LAPORAN PRKTIKUMPEMROGRAMAN KOMPUTER DAN KOMPUTASI NUMERIKPENCOCOKAN KURVA DENGAN METODE INTERPOLASI DAN SISTEM PERSAMAAN LINEAR

Disusun Oleh :Nama: Muhamad Setyawan BahariNIM: 021400399Prodi: Elektronika Instrumentasi

SEKOLAH TINGGI TEKNOLOGI NUKLIRBADAN TENAGA NUKLIR NASIONALYOGYAKARTA2015

BAB IPENDAHULUAN

1.1 LATAR BELAKANGDelphi 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 TUJUAN1. 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 IIDASAR TEORI

2.1 DASAR TEORIBerbagai data yang banyak digunakan dalam bidang sains maupun non-sains banyakdisajikan 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 pengukuranBeban (kg)51015202530354045

Waktu patah (jam)20181815119852

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 xa b

Gambar 1. Pencocokan kurva (a) regresi, (b) interpolasiPada 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 sehinggayi = pn(xi) untuk i= 0, 1, 2, , nNilai 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 LagrangeInterpolasi 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 IIIPEMBAHASAN

3.1 Langkah Kerja1. Aplikasi menghitung persamaan diferensial biasa dengan metode interpolasi Lagrange a. Aplikasi Delphi dibukab. Menyiapkan pembuatan form, seluruh file/project terlebih dahulu disimpanc. Komponen yang digunakan adalah berikut, properti minimal diatur seperti pada tabel berikut, dan properti yang lain diatur sesuai keinginan.Nama ObjectPropertyNilai

TFormCaptionForm Lagrange

NameFormLagrange

TLabelCaptionBanyak data

TLabelCaptionData

TLabelCaption1

TLabelCaption1

TEditNameNumdata

Text

TEditNameDatainput

Text

TEditNameXinput

Text

TEditNameYoutput

Text

TButtonCaptionSet tabel

TButtonCaptionSet data

TButtonCaptionPrediksi

StringGridNameTabeldata

TEditNameEdit1

Text

TEditNameEdit2

Text

d. Seluruh object disusun dengan bentuk seperti Gambar 1 , atau sesuai kreasi.

Gambar 2. Susunan Objecte. 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;

//interpolasix := strtofloat(Xinput.Text);L:=0;orde:=N;for i:=1 to orde dobegin pi:=1; for j:=1 to orde do begin if ij 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; datainpu