Implementasi PERANCANGAN DAN IMPLEMENTASI
Setelah user memasukan banyaknya data yang diketahui, banyaknya data yang dicari, titik-titik data dan nilai-nilai data yang diketahui, titik-titik data yang
nilainya yang akan dicari, selanjutnya dengan menekan tombol Spline maka pro- gram menjalankan proses perhitungan dengan Spline Linear.
Potongan programnya sebagai berikut :
for i :=1 to data-1 do begin
ifmasuk[w]=strtofloatcells[1,i]and masuk[w]=strtofloatcells[1,i+1]then
begin fx:=strtofloatcells[2,i]+strtofloatcells[2,i+1]-
strtofloatcells[2,i]strtofloatcells[1,i+1]- strtofloatcells[1,i]masuk[w]-
strtofloatcells[1,i]; with StringGrid1 do
begin Cells[2,w]:= FloatToStrfx;
end; end;
end;
Nilai Spline Linear digunakan untuk pencarian galat. Saat tombol galat diklik maka program akan menjalankan nilai galat untuk Spline Linear. Untuk
pembuatan grafik yang pertama dilakukan adalah menghitung selisih titik data yang diketahui yang terakhir dengan titik data yang diketahui yang pertama dan
dibagi 1000. Hasilnya merupakan penambahan titik data yang diketahui yang pertama sampai titik data yang diketahui yang terakhir. Kemudian program
melakukan perhitungan nilai data dengan alur perhitungan Spline Linear. 2. Spline Kuadrat
Alur Spline Kuadrat digambarkan secara singkat pada gambar 4.2. Titik- titik data yang diketahui dianggap X dan nilai-nilai data yang diketahui dianggap
fx dan titik-titik data yang akan dicari nilainya dianggap masuk. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Hitung Koef. b
1
, c
1
, a
2
, b
2
, c
2
Ya Tidak
Tidak
Ya k =
data-1 k = 3
k = k + 1 Input data, pencarian,
X[ Titik-titik data, fx Nilai-Nilai data, masukTitik-titik data yang nilainya
akan dicari
Hitung a
k
, b
k
, c
k
Mulai
masuk = X
1
masuk = X
2
Tulis fx Selesai
Ya
fx = b
1
masuk + c
1
k = 3
k = data
masuk = X
k-1
masuk = X
k
fx = a[k-1] masuk masuk+ b{k-1]
masuk+ c[k-1]
k = k + 1 Tidak
Ya Tidak
Mencari Koefisien Spline Kuadrat
a
k
,b
k
,c
k
Gambar 3.4 Flowchart Spline Kuadrat
Perhitungan Spline Kuadrat
Spline Kuadrat membutuhkan membutuhkan 3n-1 buah konstanta yang dicari dengan mengikuti kondisi yang ada di bab II. Setelah user memasukan ban-
yaknya data yang diketahui, banyaknya data yang dicari, titik-titik data dan nilai- nilai data yang diketahui, titik-titik data yang nilainya yang akan dicari maka pro-
gram akan mencari 3n-1 konstanta yang dibutuhkan. Pencarian konstanta dilakukan pensubtitusian. Potongan program berikut merupakan pencarian
konstanta a
k
, b
k
, c
k
:
for k:=3 to data-1 do begin
r[k]:=StrToFloatCells[1,k]-StrToFloatCells[1,k+1]; t[k]:=StrToFloatCells[2,k]-StrToFloatCells[2,k+1];
end; b[1]:=StrToFloatCells[2,1]-StrToFloatCells[2,2]
StrToFloatCells[1,1]-StrToFloatCells[1,2]; c[1]:=StrToFloatCells[2,1]-b[1]StrToFloatCells[1,1];
a[2]:=StrToFloatCells[2,2]-StrToFloatCells[2,3]- b[1]StrToFloatCells[1,2]-StrToFloatCells[1,3]
2StrToFloatCells[1,2]StrToFloatCells[1,3]- StrToFloatCells[1,2]StrToFloatCells[1,2]-
StrToFloatCells[1,3]StrToFloatCells[1,3]; b[2]:=b[1]-2a[2]StrToFloatCells[1,2];
c[2]:=StrToFloatCells[2,2]-a[2]StrToFloatCells[1,2] StrToFloatCells[1,2]-b[2]StrToFloatCells[1,2];
for k:=3 to data-1 do begin
j[k]:=2StrToFloatCells[1,k]StrToFloatCells[1,k+1]-
StrToFloatCells[1,k]StrToFloatCells[1,k]- StrToFloatCells[1,k+1]StrToFloatCells[1,k+1];
end; for k:= 3 to data-1 do
begin a[k]:= StrToFloatCells[2,k]-StrToFloatCells[2,k+1]-
2a[k-1]StrToFloatCells[1,k]+b[k-1]r[k]j[k]; b[k]:= 2a[k-1]StrToFloatCells[1,k]+b[k-1]-
2a[k]StrToFloatCells[1,k]; c[k]:= StrToFloatCells[2,k]-a[k]StrToFloatCells[1,k]
StrToFloatCells[1,k]-b[k]StrToFloatCells[1,k]; end;
Potongan program berikut untuk mencari nilai Spline Kuadrat :
ifmasuk[w]StrToFloatCells[1,2]and masuk[w]=StrToFloatCells[1,1]then
begin fx:=b[1]masuk[w]+c[1];
With StringGrid1 do begin
Cells[3,w]:= FloatToStrfx; end;
end; for k:=3 to data do
begin ifmasuk[w]=StrToFloatCells[1,k-1]and
masuk[w]=StrToFloatCells[1,k]then begin
fx :=a[k-1]masuk[w]masuk[w]+b[k-1]masuk[w]+c[k-1]; with StringGrid1 do
begin Cells[3,w]:= FloatToStrfx;
end; end;
end;
Nilai Spline Kuadrat digunakan untuk pencarian galat. Saat tombol galat dik- lik maka program akan menjalankan nilai galat untuk Spline Kuadrat. Untuk
pembuatan grafik yang pertama dilakukan adalah menghitung selisih titik data yang diketahui yang terakhir dengan titik data yang diketahui yang pertama dan
dibagi 1000. Hasilnya merupakan penambahan titik data yang diketahui yang per- tama sampai titik data yang diketahui yang terakhir. Kemudian program
melakukan perhitungan nilai data dengan alur perhitungan Spline Kuadrat. 3. Spline Kubik
Alur Spline Kubik digambarkan secara singkat pada gambar 4.3. Titik-titik data yang diketahui dianggap X dan nilai-nilai data yang diketahui dianggap fx
dan titik-titik data yang akan dicari nilainya dianggap masuk. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tidak
Tidak Ya
k = data
k = 2
k = k + 1 Input data, pencarian,
X[ Titik-titik data, fx Nilai-Nilai data, masukTitik-titik data yang nilainya
akan dicari Mulai
Ya
Turunan kedua ujung simpul m
1
= 0 m
data
= 0
m
k
= v
k
-c
k
m
k+1
b
k
k = k - 1 k = 2
k = data - 1
1 Hitung
Selisih titik h
1
nilai data d
1
]
Hitung Selisih titik h
k
nilai data d
k
]
Selisih titik data h
k
nilai data d
k
Turunan Kedua m
k
Turunan kedua ujung simpul m
1
= 0 m
data
= 0
Tidak
Tidak Tidak
Tidak 1
k = k+ 1 k = 1
Hitung koef.
S
k,1
, S
k,2
, S
k,3
, S
k,4
jj = 2
jj = jj + 1 masuk
= X
jj - 1
masuk = X
jj
k = data
X = X
jj = data
k = 1 ww = masuk – Xk
z = S
k,4
ww + S
k,3
w + S
k,2
w + S
k,1
Tulis fx Selesai
k = jj -1 ww = masuk – Xk
z = S
k,4
ww + S
k,3
w + S
k,2
w + S
k,1
Ya
Ya
Ya
Iterasi koefisien Spline Kubik
S
k,1
, S
k,2
, S
k,3
, S
k,4
Perhitungan Spline Kubik
Ya
Gambar 3.5 Flowchart Spline Kubik
Spline Kuadrat membutuhkan membutuhkan 4n buah konstanta yang dicari dengan mengikuti kondisi yang ada di bab II. Setelah user memasukan
banyaknya data yang diketahui, banyaknya data yang dicari, titik-titik data dan nilai-nilai data yang diketahui, titik-titik data yang nilainya yang akan dicari maka
program akan mencari 4n konstanta yang dibutuhkan. Pencarian konstanta dilakukan dengan eliminasi Gauss. Potongan program berikut merupakan
pencarian konstanta S
k,1
, S
k,2
, S
k,3
, S
k,4.
cells[1,data+1]:=floattostr0; cells[2,data+1]:=floattostr0;
h[1] := strtofloatcells[1,2]-strtofloatcells[1,1]; d[1] := strtofloatcells[2,2]-strtofloatcells[2,1]h[1];
for k :=2 to data do begin
h[k] := strtofloatcells[1,k+1]-strtofloatcells[1,k]; d[k] := strtofloatcells[2,k+1]-strtofloatcells[2,k]h[k];
a[k] := h[k]; b[k] := 2h[k-1]+h[k];
c[k]:= h[k]; end;
for k := 2 to data do begin
v[k] :=6d[k]-d[k-1]; end;
m[1] := 0; m[data] := 0;
for k := 3 to data do begin
tt := a[k-1]b[k-1]; v[k] := v[k]-ttv[k-1];
b[k] := b[k]-ttc[k-1]; end;
m[data] := v[data]b[data]; for k:= data-1 downto 2 do
begin m[k] := v[k]-c[k]m[k+1]b[k];
end; m[1] := 0;
m[data] := 0;
for k := 1 to data do begin
s[k,1] := strtofloatcells[2,k]; s[k,2] := d[k]-h[k]2m[k]+m[k+1]6;
s[k,3] := m[k]2; s[k,4] := m[k+1]-m[k]6h[k];
end;
Potongan program berikut untuk mencari nilai Spline Kubik :
for jj := 2 to data do begin
ifmasuk[w]=strtofloatcells[1,jj-1]and masuk[w]=strtofloatcells[1,jj]then
begin k := jj-1;
ww := masuk[w]-strtofloatcells[1,k]; z := s[k,4]ww+s[k,3]ww+s[k,2]ww+s[k,1];
with stringgrid1 do begin
cells[4,w] := FloatToStrz; end;
end; end;
if masuk[w] = strtofloatcells[1,1] then begin
k := 1; ww := masuk[w]-strtofloatcells[1,k];
z := s[k,4]ww+s[k,3]ww+s[k,2]ww+s[k,1]; with stringgrid1 do
begin cells[4,w] := FloatToStrz;
end; end;
Nilai Spline Kubik digunakan untuk pencarian galat. Saat tombol galat diklik maka program akan menjalankan nilai galat untuk Spline Kubik. Untuk
pembuatan grafik yang pertama dilakukan adalah menghitung selisih titik data yang diketahui yang terakhir dengan titik data yang diketahui yang pertama dan
dibagi 1000. Hasilnya merupakan penambahan titik data yang diketahui yang pertama sampai titik data yang diketahui yang terakhir. Kemudian program
melakukan perhitungan nilai data dengan alur perhitungan Spline Kubik. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI