Professional Documents
Culture Documents
HASIL
A. Membuat File Database
B. Membuat Program Splash
Praktikum 2.2.1 Membuat Splash
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls;
type
TFSplash = class(TForm)
Timer1: TTimer;
Image1: TImage;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
X: Integer;
{ Private declarations }
public
{ Public declarations }
end;
var
FSplash: TFSplash;
implementation
uses Ulogin;
{$R *.dfm}
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TFlogin = class(TForm)
Bevel1: TBevel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
var
Flogin: TFlogin;
implementation
uses Umenu;
{$R *.dfm}
Fmenu.show;
end;
end
Else
if (Edit1.Text = 'operator') and (Edit2.Text = '12345') then
Begin
FMenu.Show;
end;
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, StdCtrls, Menus;
type
TFMenu = class(TForm)
MainMenu1: TMainMenu;
Data1: TMenuItem;
Alsin1: TMenuItem;
Daya1: TMenuItem;
DaftarHarga1: TMenuItem;
Proses1: TMenuItem;
PerhitunganBiaya1: TMenuItem;
HasilPerhitungan1: TMenuItem;
ampilHasilPerhitunganBiaya1: TMenuItem;
Laporan1: TMenuItem;
DaftarAlsin1: TMenuItem;
DaftarDaya1: TMenuItem;
DaftarHarga2: TMenuItem;
DaftarHasil1: TMenuItem;
PengolahanTanah1: TMenuItem;
Keluar1: TMenuItem;
Label1: TLabel;
Image1: TImage;
private
{ Private declarations }
public
{ Public declarations }
end;
var
FMenu: TFMenu;
implementation
{$R *.dfm}
end.
E. Membuat Program
Praktikum 2.5.1 Membuat Form Data Alsin
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls, ExtCtrls, Grids, DBGrids;
type
TFAlsin = class(TForm)
TAlsin: TTable;
DBGridAlsin: TDBGrid;
RadioGroup1: TRadioGroup;
dsAlsin: TDataSource;
btTambah: TButton;
btEdit: TButton;
btKeluar: TButton;
btCariKd: TButton;
EKdAlsin: TEdit;
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure RadioGroup1Click(Sender: TObject);
procedure btEditClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FAlsin: TFAlsin;
Const
EkeyViol =9729;
EMin =9730;
ErequiredField = 9732;
EadaDetil =9734;
implementation
Uses UktAlsin
{$R *.dfm} ;
begin
if RadioGroup1.ItemIndex = 0 then
TAlsin.IndexFieldNames := 'KdAlsin'
else
TAlsin.IndexFieldNames := 'NmAlsin1' ;
end;
with FKtAlsin do
begin
Edit1.Text :='';
Edit2.Text :='';
Edit3.Text :='0';
Edit4.Text :='0';
Edit5.Text :='0';
Edit6.Text :='0';
Edit7.Text :='0';
Edit8.Text :='0';
Edit9.Text :='0';
FKtAlsin.ShowModal;
if(FKtAlsin.ModalResult = mrok) then
with TAlsin, FKtAlsin do
begin
Append;
FieldByName('KdAlsin').AsString :=Edit1.Text;
FieldByName('NmAlsin').AsString :=Edit2.Text;
FieldByName('JmlTapak').Asinteger :=StrToInt(Edit3.Text);
JmlTapak :=FieldByName('JmlTapak').Asinteger;
FieldByName('LbrPerTapak').AsFloat := StrToFloat(Edit4.Text);
LbrPerTapak1 :=FieldByName('LbrPerTapak').AsFloat;
LbrKerja :=JmlTapak*LbrPerTapak1;
FieldByName('LbrKerja').AsFloat := LbrKerja;
FieldByName('HrgAlsin').AsFloat :=StrToFloat(Edit6.Text);
FieldByName('UmurEkonAlsin').AsFloat :=StrToFloat(Edit7.Text);
FieldByName('EffKerja').AsFloat :=StrToFloat(Edit8.Text);
FieldByName('JumlahKerjaPerThn').AsFloat :=StrToFloat(Edit9.Text);
Post;
end;
FKtAlsin.Free;
end;
with FKtAlsin do
begin
Edit1.Text := TAlsin.Fields[0].AsString;
Edit2.Text := TAlsin.Fields[1].AsString;
Edit3.Text := IntToStr(TAlsin.Fields[2].AsInteger);
Edit4.Text := FloatToStr(TAlsin.Fields[3].AsFloat);
Edit5.Text := FloatToStr(TAlsin.Fields[4].AsFloat);
Edit6.Text := FloatToStr(TAlsin.Fields[5].AsFloat);
Edit7.Text := FloatToStr(TAlsin.Fields[6].AsFloat);
Edit8.Text := FloatToSTr(Talsin.Fields[7].AsFloat);
Edit9.Text := FloatToStr(TAlsin.Fields[8].AsFloat);
FKtAlsin.ShowModal;
if (FKtAlsin.ModalResult = Mrok) then
with TAlsin, FKtAlsin do
begin
Edit;
FieldByName('KdAlsin').AsString := Edit1.Text;
FieldByName('NmAlsin').AsString := Edit2.Text;
FieldByName('JmlTapak').AsInteger := StrToInt(Edit3.Text);
JmlTapak1 := FieldByName('JmlTapak').AsInteger;
FieldByName('LbrPerTapak').AsFloat := StrToFloat(Edit4.Text);
LbrPerTapak1 := FieldByName('LbrPerTapak').AsFloat;
LbrKerja1 := JmlTapak1 * LbrPerTapak1;
FieldByName('LbrKerja').AsFloat := LbrKerja1;
FieldByName('HrgAlsin').AsFloat := StrToFloat(Edit6.Text);
FieldByName('UmurEkonAlsin').AsFloat := StrToFloat(Edit7.Text);
FieldByName('EffKerja').AsFloat := StrToFloat(Edit8.Text);
FieldByName('JumlahKerjaPerThn').AsFloat := StrToFloat(Edit9.Text);
Post;
end;
FKtAlsin.Free;
end;
Var
IDBIError : Integer;
begin
if (E is EDBEngineError) then
Begin
iDBIError := (E as EDBEngineError).Errors[0].ErrorCode;
case iDBIError of
eKeyViol :
{Duplikasi Kd Alat}
Begin
MessageDLG('Kode Alat sama',mtWarning,[mbok],0);
abort;
End;
End;
End;
End;
procedure TFAlsin.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
Var
S : array[0..255] of char;
begin
if (Key = vk_F8) then
Begin
StrPCopy (S, Format ('Yakin Kode Alat %s dohapus ?',
[TAlsin.Fields[0].AsString]));
if (Application.MessageBox(S, 'Peringatan',
MB_YESNO or MB_ICONQUESTION) = IDYES) then
{menegaskan pemakai apakah yakin akan menghapus ?}
TAlsin.Delete;
End;
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, DBTables, ExtCtrls;
type
TFdaya = class(TForm)
RadioGroup1: TRadioGroup;
EkdDaya: TEdit;
TDaya: TTable;
dsDaya: TDataSource;
DBGridDaya: TDBGrid;
btTambah: TButton;
btEdit: TButton;
btKeluar: TButton;
btCariKid: TButton;
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure RadioGroup1Click(Sender: TObject);
procedure btTambahClick(Sender: TObject);
procedure btEditClick(Sender: TObject);
procedure btKeluarClick(Sender: TObject);
procedure btCariKidClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TDayaPostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Fdaya: TFdaya;
const
EKeyViol=9729;
Emin=9730;
ErequiredField =9732;
EAdaDetil =9734;
implementation
uses UKtDaya;
{$R *.dfm}
Post;
end;
FKtDaya.Free;
end;
with FKtDaya do
begin
Edit1.Text :=TDaya.Fields[0].AsString;
Edit2.Text :=TDaya.Fields[1].AsString;
Edit3.Text := FloatToStr(TDaya.Fields[2].AsFloat);
Edit4.Text := FloatToStr(TDaya.Fields[3].AsFloat);
Edit5.Text := FloatToStr(TDaya.Fields[4].AsFloat);
Edit6.Text := FloatToStr(TDaya.Fields[5].AsFloat);
Edit7.Text := FloatToStr(TDaya.Fields[6].AsFloat);
FKTDaya.ShowModal;
if (FKTDaya.ModalResult = mrok) then
with Tdaya, FKTDaya do
begin
Edit;
FieldByName('KdDaya').AsString := Edit1.Text;
FieldByName('NmDaya').AsString := Edit2.Text;
FieldByName('HPDaya').AsFloat := StrToFloat(Edit3.Text);
FieldByName('HrgDaya').AsFloat := StrToFloat(Edit4.Text);
FieldByName('UmurEkonDaya').AsFloat := StrToFloat(Edit5.Text);
FieldByName('JamKerjaPerThDaya').AsFloat := StrToFloat(Edit6.Text);
FieldByName('KecpKerja').AsFloat := StrToFloat(Edit7.Text);
Post;
end;
FKTDaya.Free;
end;
Var
IDBIError : Integer;
begin
if(E is EDBEngineError) then
Begin
iDBIError := (E as EDBEngineError).Errors[0].ErrorCode;
case iDBIError of
eKeyViol :
{Duplikasi Kd Daya}
Begin
MessageDLG('Kode Daya sama',mtWarning,[mbok],0);
Abort;
End;
End;
End;
end;
end.
Gambar 4.8
Gambar 4.9
unit UHrgBahan;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DB, DBTables;
type
TFHrgBahan = class(TForm)
RadioGroup1: TRadioGroup;
THrgBahan: TTable;
dsHrgBahan: TDataSource;
DBGridHrgBahan: TDBGrid;
btTambah: TButton;
btEdit: TButton;
btKeluar: TButton;
btCariKd: TButton;
EKdHrgBahan: TEdit;
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure RadioGroup1Click(Sender: TObject);
procedure btTambahClick(Sender: TObject);
procedure btEditClick(Sender: TObject);
procedure btKeluarClick(Sender: TObject);
procedure btCariKdClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure THrgBahanPostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FHrgBahan: TFHrgBahan;
const
EkeyViol =9729;
EMin =9730;
ERequiredField =9732;
EadaDetil =9734;
implementation
{$R *.dfm}
uses UKtHrgBahan;
with FKtHrgBahan do
begin
Edit1.Text := '';
Edit2.Text := '';
Edit3.Text := '';
Edit4.Text := '';
Caption := 'Menambah Data';
ActiveControl := Edit1;
end;
FKtHrgBahan.ShowModal;
if (FKtHrgBahan.ModalResult = mrok) then
with THrgBahan, FKtHrgBahan do
begin
Append;
FieldByName('KdBahan').AsString := Edit1.Text;
FieldByName('JnsBahan').AsString := Edit2.Text;
FieldByName('KdBahan').AsString := Edit3.Text;
FieldByName('HrgBahan').AsFloat := StrToFloat(Edit4.Text);
Post;
end;
FKtHrgBahan.Free;
end;
with FKtHrgBahan do
begin
Edit1.Text := THrgBahan.Fields[0].AsString;
Edit2.Text := THrgBahan.Fields[1].AsString;
Edit3.Text := THrgBahan.Fields[2].AsString;
Edit4.Text :=FloatToStr(THrgBahan.Fields[3].AsFloat);
Post;
end;
FKtHrgBahan.Free;
end;
Var
IDBIError : Integer;
begin
if (E is EDBEngineError) then
Begin
iDBIError := (E as EDBEngineError).Errors[0].ErrorCode;
case iDBIError of
eKeyViol :
Begin
MessageDLG('Kode Bahan Sama',mtWarning,[mbok],0);
Abort;
end;
end;
end;
end;
end.