SHORT CODING FUNGSI STATISTIK
MEAN, JUMLAH,VAR,CTD,MINIMUM,MAKSIMUM,DAN MEDIAN MENGGUNAKAN DELPHI 7
var
Statistika: TStatistika;
i,j,k,V,D,a: integer;
Urut,b: real;
Xbar, Xtot, Varian: array [1..100] of real;
X: array [1..100,1..100] of real;
implementation
{$R *.dfm}
procedure TStatistika.Edit1Change(Sender: TObject);
begin
if (edit1.Text='') then begin messagedlg('Anda Belum Input Jumlah Data',mtconfirmation,[mbYes],0);
exit;
edit1.SetFocus;
end;
stringgrid1.RowCount:=strtoint(edit1.Text)+1;
if strtoint(edit1.Text)=0 then
stringgrid1.FixedRows:=0
else stringgrid1.FixedRows:=1;
for j:=1 to strtoint(edit1.text) do
begin
stringgrid1.cells[0,0]:='No';
stringgrid1.cells[1,0]:='Data X';
stringgrid1.cells[2,0]:='Data Y';
stringgrid1.cells[0,j]:=inttostr(j);
end;
end;
procedure TStatistika.Button1Click(Sender: TObject);
var a,b:Integer;
DataX:array[1..90] of string;
DataY:array[1..90] of string;
begin
if Edit1.Text<>'' then
begin
b:=strtoint(Edit1.Text);
for a:=1 to b do
begin
DataX[a]:=InputBox('Data X','Data X','');
DataY[a]:=InputBox('Data Y','Data Y','');
end;
StringGrid1.rowcount:=b+1;
for a:=1 to b do
begin
StringGrid1.Cells[1,a]:=DataX[a];
StringGrid1.Cells[2,a]:=DataY[a];
end;
end
else
application.MessageBox('Masukkan Data','Error');
Edit1.SetFocus;
end;
procedure TStatistika.Button2Click(Sender: TObject);
begin
V:=strtoint(edit1.Text);
D:=strtoint(Edit1.Text);
stringgrid1.Cells[0,0]:='No';
stringgrid1.Cells[1,0]:='X';
stringgrid1.Cells[2,0]:='Y';
stringgrid2.Cells[0,0]:='Deskripsi';
stringgrid2.Cells[1,0]:='Data X';
stringgrid2.Cells[2,0]:='Data Y';
for j:=1 to V do
begin
StringGrid2.ColCount:=3;
StringGrid2.RowCount:=8;
end;
for i:=1 to V do
begin
Xtot[i]:=0;
Xbar[i]:=0;
Varian[i]:=0;
for j:=1 to D do
begin
Xbar[i]:=Xbar[i]+((strtofloat(stringgrid1.Cells[i,j])/D));
Xtot[i]:=Xtot[i]+((strtofloat(stringgrid1.Cells[i,j])));
Varian[i]:=Varian[i]+(sqr(Xbar[i]-strtofloat(stringgrid1.Cells[i,j]))/(D-1));
end;
StringGrid2.Cells[i,3]:=formatfloat('#.00',Xbar[i]);
stringgrid2.Cells[0,3]:='Mean';
StringGrid2.Cells[i,7]:=floattostr(Xtot[i]);
stringgrid2.Cells[0,7]:='Jumlah';
StringGrid2.Cells[i,5]:=formatfloat('#.00',Varian[i]);
StringGrid2.Cells[i,6]:=formatfloat('#.00',(sqrt(Varian[i])));
stringgrid2.Cells[0,5]:='Var';
stringgrid2.Cells[0,6]:='Std';
end;
for i:=1 to V do
begin
for j:=1 to D do
begin
X[i,j]:=strtofloat(stringgrid1.Cells[i,j]);
end;
end;
a:=(D+1) div 2;
b:=(D+1)/2;
for i:=1 to V do
begin
for j:=1 to D-1 do
begin
for k:=j+1 to D do
begin
if X[i,j]>X[i,k] then
begin
Urut:=X[i,j];
X[i,j]:=X[i,k];
X[i,k]:=Urut;
end;
end;
end;
StringGrid2.Cells[i,1]:=floattostr(X[i,1]);
StringGrid2.Cells[i,2]:=floattostr(X[i,D]);
StringGrid2.Cells[i,4]:=floattostr(X[i,a]+((b-a)*(X[i,a+1]-X[i,a])));
stringgrid2.Cells[0,1]:='Minimum';
stringgrid2.Cells[0,2]:='Maksimum';
stringgrid2.Cells[0,4]:='Median';
end;end;
procedure TStatistika.Button3Click(Sender: TObject);
var i :integer;
begin
for i :=0 to StringGrid1.ColCount -1 do
StringGrid1.Cols[i].Clear;
for i :=0 to StringGrid2.ColCount -1 do
StringGrid2.Cols[i].Clear;
Edit1.Clear;
end;
procedure TStatistika.BitBtn1Click(Sender: TObject);
begin
Application.Terminate;
end;
end.
VIDIO TUTORIAL MEMBUAT FUNGSI STATISTIK DENGAN DELPHI 7 :