Oleh Virda Febrina
1. Perancangan
Tabel
No
|
Field_name
|
Type
|
Width
|
Keterangan
|
1
|
Panjang
|
Number
|
20
|
Panjang
bangunan
|
2
|
Lebar
|
Number
|
20
|
Lebar
bangunan
|
3
|
Luas
|
Number
|
20
|
Luas
bangunan
|
4
|
Tanggal
|
Date
|
-
|
Tanggal
dilakukan perhitungan
|
2. Perancangan
interface
a. Buat
database terlebih dahulu.
Username : perhitungan
Password : perhitungan
Kemudian create workspace
4 . Buka
Oracle SQL developer
- Buat koneksi database
Nama koneksi : perhitungan
Username : perhitungan
Password : perhitungan
Kemudian centang save password, kemudian
klik test, jika status sudah Success klik save dan klik connect.
Kemudian klik kanan pada koneksi
perhitungan, lalu pilih new tabel.
- Buat
tabel dengan nama luas kemudian isi tabelnya panjang, lebar, luas dan
tanggal. Kemudian klik OK.
Tampilan tabel nya sebagai berikut :
a. Buka
control panel > ODBC > ADD > ORACLE IN XE
- Kemudian isi data seperti gambar
dibawah ini, kemudian klik connection.
- klik test connection, kemudian isi
data seperti gambar dibawah ini. password : perhitungan. Jika koneksi sukses,
klik ok.
1. Buka
lembar delphi lalu buat tampilan program seperti pada perancangan interface.
-Pengaturan ADOconnection1 : properties
> klik connection string > build > pilih provider > klik next >
pilih data source name perhitungan > isi username dan password > test
connection > ok.
-Pengaturan ADOquery1 : pilih koneksi
ADOconnection1. Isi SQL dengan
“select to_char(tanggal,'DD-MM-YYYY
HH24:MI:SS') as TANGGAL,panjang,lebar,luas from luas order by tanggal desc;”
- Pengaturan Datasource1 pilih dataset ADOquery1.
- Pada button hitung isi source code nya sebagai berikut :
procedure
TForm1.Button1Click(Sender: TObject);
var
SQL : string;
f: double;
ok:integer;
begin
ok := 0;
if TryStrToFloat(Edit1.Text, f) then
begin
ok := ok+1;
end
else
begin
application.MessageBox('Harus Diisi
Angka!','Perhitungan Luas',mb_OK + mb_iconWarning);
Edit1.SetFocus;
exit;
end;
if TryStrToFloat(Edit2.Text, f) then
begin
ok := ok+1;
end
else
begin
application.MessageBox('Harus Diisi
Angka!','Perhitungan Luas',mb_OK + mb_iconWarning);
Edit2.SetFocus;
exit;
end;
if (ok>=2) then
begin
Edit3.Text :=
FloatToStr(StrToFloat(Edit1.Text)*StrToFloat(Edit2.Text));
SQL := ' INSERT INTO
luas(tanggal,panjang,lebar,luas)
VALUES(sysdate,'''+Edit1.Text+''','''+Edit2.Text+''','''+Edit3.Text+''') ';
Form1.ADOConnection1.Execute(SQL);
try Form1.ADOQuery1.Close; except end;
Form1.ADOQuery1.SQL.Text:='select
to_char(tanggal,''DD-MM-YYYY HH24:MI:SS'') as TANGGAL,panjang,lebar,luas from
luas order by tanggal desc';
Form1.ADOQuery1.Open;
Edit1.SetFocus;
end;
end;
- Pada button hapus data isi source code nya sebagai berikut :
procedure TForm1.Button2Click(Sender: TObject);
var
SQL : string;
begin
SQL := '
DELETE FROM luas';
Form1.ADOConnection1.Execute(SQL);
try
Form1.ADOQuery1.Close; except end;
Form1.ADOQuery1.SQL.Text:='select to_char(tanggal,''DD-MM-YYYY
HH24:MI:SS'') as TANGGAL,panjang,lebar,luas from luas order by tanggal desc';
Form1.ADOQuery1.Open;
Edit1.SetFocus;
end;
- Pada button hapus data isi source code nya sebagai berikut :
procedure TForm1.Button3Click(Sender: TObject);
begin
Edit1.Text := '';
Edit2.Text := '';
Edit3.Text := '';
Edit1.SetFocus;
end;
5. Tampilan
program ketika di Run
6. Source
code program keseluruhan
unit PerhitunganLuas;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs, DB, Grids, DBGrids, ADODB, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ADOQuery2: TADOQuery;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender:
TObject);
var
SQL : string;
f: double;
ok:integer;
begin
ok := 0;
if TryStrToFloat(Edit1.Text, f) then
begin
ok := ok+1;
end
else
begin
application.MessageBox('Harus Diisi Angka!','Perhitungan Luas',mb_OK +
mb_iconWarning);
Edit1.SetFocus;
exit;
end;
if TryStrToFloat(Edit2.Text, f) then
begin
ok := ok+1;
end
else
begin
application.MessageBox('Harus Diisi Angka!','Perhitungan Luas',mb_OK +
mb_iconWarning);
Edit2.SetFocus;
exit;
end;
if (ok>=2) then
begin
Edit3.Text := FloatToStr(StrToFloat(Edit1.Text)*StrToFloat(Edit2.Text));
SQL := ' INSERT INTO luas(tanggal,panjang,lebar,luas)
VALUES(sysdate,'''+Edit1.Text+''','''+Edit2.Text+''','''+Edit3.Text+''') ';
Form1.ADOConnection1.Execute(SQL);
try Form1.ADOQuery1.Close; except end;
Form1.ADOQuery1.SQL.Text:='select to_char(tanggal,''DD-MM-YYYY
HH24:MI:SS'') as TANGGAL,panjang,lebar,luas from luas order by tanggal desc';
Form1.ADOQuery1.Open;
Edit1.SetFocus;
end;
end;
procedure TForm1.FormShow(Sender:
TObject);
begin
try Form1.ADOQuery1.Close; except end;
Form1.ADOQuery1.SQL.Text:='select to_char(tanggal,''DD-MM-YYYY
HH24:MI:SS'') as TANGGAL,panjang,lebar,luas from luas order by tanggal desc';
Form1.ADOQuery1.Open;
end;
procedure TForm1.Button2Click(Sender:
TObject);
var
SQL : string;
begin
SQL := ' DELETE FROM luas';
Form1.ADOConnection1.Execute(SQL);
try Form1.ADOQuery1.Close; except end;
Form1.ADOQuery1.SQL.Text:='select to_char(tanggal,''DD-MM-YYYY
HH24:MI:SS'') as TANGGAL,panjang,lebar,luas from luas order by tanggal desc';
Form1.ADOQuery1.Open;
Edit1.SetFocus;
end;
procedure TForm1.Button3Click(Sender:
TObject);
begin
Edit1.Text := '';
Edit2.Text := '';
Edit3.Text := '';
Edit1.SetFocus;
end;
end.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.