Paket NumericalMath`TrigFit`

Paket NumericalMath`TrigFit` - METODOLOGI PENELITIAN

===

a. Paket NumericalMath`TrigFit`

Pada prinsipnya semua fungsi polinomial atau transenden (asalkan kontinu) baik berperiodik ataupun tidak dapat diapkroksimasi dengan menggunakan deret (series) Fourier. Procedure aproksimasi deret Fourier disediakan secara khusus dalam sebuah paket pada MATHEMATICA yakni NumericalMath. Paket yang diajikan berikut ini di tulis oleh Jerry B. Keiper, 1994. (Wolfram, 1998).

Message[General::obspkg, "NumericalMath`TrigFit`"]

SEMINAR

BeginPackage["NumericalMath`TrigFit`"] TrigFit::usage = "TrigFit[data, n, x] gives the least squares trigonometric fit to data

much \ as Fit[data, {1, Cos[x], Sin[x], Cos[2x], Sin[2x, ... Cos[n x], Sin[n x]}, x]

\ would do, except that the calculation is done using Fourier[ ]. The

data must \

be a list of numbers sampled at equally spaced points over one period \

starting at 0. TrigFit[data, n, {x, L}] can be used if the fundamental \ period is not 2Pi. TrigFit[data, n, {x, x0, x1}] can be used for \ data starting at x0 and ending at the sample point immediately before

x1." Begin["NumericalMath`TrigFit`Private`"] issueObsoleteFunMessage[fun_, context_] := (Message[fun::obspkgfn,

fun, context];) TrigFit[data_List, n_Integer, {x_, x0_:0, x1_}] :=

(issueObsoleteFunMessage[TrigFit,"NumericalMath`TrigFit`"]; [{answer = SinAndCos[data, Min[n, Floor[(Length[data]-1)/2]], Pi (x-

x0)/(x1-x0)]}, /; answer =!= $Failed ]) TrigFit[data_List, n_Integer, x_] := (issueObsoleteFunMessage[TrigFit,"NumericalMath`TrigFit`"]; [{answer = SinAndCos[data, Min[n, Floor[(Length[data]-1)/2]], x]}, /;

answer =!= $Failed ]) SinAndCos[data_, n_, x_] :=

Module[{fcslist, clist, slist, c0, len, k, rflag}, = Length[data]; = If[Precision[data] === Infinity, N[data], data]; = (Union[Im[fcslist], SameTest -> SameQ] === {0}); = Drop[fcslist, 1];

Seminar Hasil Penelitian & Pengabdian kepada Masyarakat, Unila, 2007

= Reverse[clist]; = Prepend[(clist+slist)/2 + I (clist-slist)/2, fcslist[[1]]]; = Fourier[fcslist, FourierParameters -> {-1, 1}]; [!VectorQ[fcslist, NumberQ], Return[$Failed]]; = First[fcslist]; = Drop[fcslist, 1]; = Reverse[clist]; {clist, slist} = {Take[clist + slist, n], Take[clist - slist,

n]}; [rflag, c0 = Re[c0]; clist = Re[clist]; slist = Re[slist]]; + Table[Cos[k x], {k, n}] . clist - Table[Sin[k x], {k, n}] . slist ]; End[] (* NumericalMath`TrigFit`Private` *) EndPackage[] (* NumericalMath`TrigFit` *) Dalam paket tersebut terdapat prosedur `TrigFit`. TrigFit

menggunakan fungsi Fourier untuk menemukan kuadrat terkecil trigonometri yang sesuai dengan data. Data tersebut diasumsikan memiliki hubungan fungsional secara tepat. TrigFit mengasumsikan bahwa data berasal dari titik sampel yang sama. Data memenuhi fungsi priodik tepat satu priode. Selain itu, TrigFit tidak memerlukan data dalam bentuk berpasangan. Dengan keadaan ini, peubah bebas dalam suatu fungsi diasumsikan memiliki satuan ukuran yang sama untuk setiap titik pengamatan. Berikut ini beberapa command yang digunakan sehubungan dengan aproksimasi deret Fourier :

- TrigFit [data, n, x] command ini dimaksudkan untuk menemukan kuadrat terkecil trigonometri yang sesuai dengan data ke dalam bentuk Cos (nx) dan Sin (nx), dengan dasar priode 2 π .

- TrigFit [data, n, {x,L} ] command ini dimaksudkan untuk mengubah kuadrat terkecil dalam bentuk trigonometri ke data ke dalam bentuk Cos (2 π nx / L) dan Sin (2 π nx / L) dengan priode L.

- TrigFit [data, n, {x, x o ,x 1 }] command ini dimaksudkan untuk merubah kuadrat terkecil dalam bentuk trigonometri ke data ke

dalam bentuk Cos (2 π n (x-x o ) / (x 1 -x o )) dan Sin( 2 π n (x-x o ) / (x 1 -

x o )) dengan priode x 1 -x o .

Sebelum memulai proses pemodelan, data yang akan ditentukan modelnya disimpan dalam file data dengan ektensi dat (data) atau txt (teks) atau xls (excel)). Sebut saja nama file data yang akan ditentukan model matematisnya adalah debit1.dat yang tersimpan di direktori/ folder d yakni d:\debit1.dat. Untuk penggunaan TrigFit,

SEMINAR SEMINAR

Tabel 1: Data Debit Air Sungai Way Besay Sumber Jaya -Lampung Kurun Waktu Juni 1987 hingga Pebruari 1997*

* Disalin dari Fahri 2001. Tabel 2. Data Kumulatif Debit Air Sungai Way Besay Sumber Jaya -Lampung Kurun

Waktu Juni 1987 hingga Pebruari 1997*

* Disalin dari Fahri 2001.

Seminar Hasil Penelitian & Pengabdian kepada Masyarakat, Unila, 2007

Dalam Tabel 1. dan Tabel 2. di atas, sel 1-1 menunjukan keadaan (debit air) pada bulan Juni 1987, sel 1-2 keadaan bulan Juli 1987, dan seterusnya hingga sel 15-3 menunjukan keadaan bulan Pebruari 1997.