BAB XIII
MANIPULASI DATA/TABEL MASTER
13.1. Program Tambah Data
Konsep
program ini meluputi bagaimana proses pencarian data yang digunakan
untuk memberikan batasan agar data yang disimpan bukan merupakan data
yang sama, proses penyimpanan dan membatlakn penambahan data.
13.2. Event Yang Digunakan
a. findkey : digunakan untuk pencarian data, apakah data sudah ada atau belum.
b. Append : digunakan untuk membuka record kosong pada tabel
c. Post : enent pada tabel ini digunakan untuk menyimpan data pada tabel.
d. Databasename : digunakan untuk memanggil nama data base.
e. Table : digunakan untuk mengaktifkan tabel.
f. Dataset : digunakan untuk menghubungkan antara datasource dengan tabel.
g. Datasource : digunakan untuk menghubungkan grid dengan tabel melalui datasource.
13.3. Aplikasi Tambah Data Barang
a. Hasil Form Setelah Dijalankan
b. Desain Form
c. Desain Properties
Object Properties
Name Caption/text
Edit1 Ekdbarang -
Edit2 Enmbarang -
Edit3 Ehrgbeli -
Edit4 Ehrgjual -
Edit5 Estok -
Label1 Label1 Kode Barang
Label2 Label2 Nama Barang
Label3 Label3 Harga Beli
Label4 Label4 Harga Jual
Label5 Label5 Stok
Button1 Btambah &Tambah
Button2 Bsimpan &Simpan
Button3 Bbatal &Batal
Button4 Bexit &Exit
Object Data Base Name Table Name
Table1 - -
Object Data Set
Data Source1 -
Object Data Source
Dbgrid1 -
Object Active
Query -
d. Listing Program
Pembuatan Prosedur
Ada 4 prosedur yang dibutuhkan : tampil, hidup, kosong, mati.
Langkah pembuatan
Double
klik pada form, ketika berada pada jendela unit dari form tempatkan
kursor berada declaration, khusunya pada bagian deklarasi public.
Setelah itu ketikan deklarasi prosedur seperti berikut :
public
procedure tampil;
procedure kosong;
procedure mati;
procedure hidup;
{ Public declarations }
end;
Penulisan Program Prosedur
Penulisan program prosedur secara umum sama seperti penulisan program
pada umumnya, hanya disini penulisan nama prosedurnya ditulis oleh
programmer. Penulisannya terdapat pada bagian implementation.
Program untuk prosedur tampil
Digunakn untuk menampilkan data pada form
procedure tform6.tampil;
begin
ekdbarang.Text := table1['kdbarang'];
enmbarang.Text := table1['nmbarang'];
ehrgbeli.Text := floattostr(table1['hrgbeli']);
ehrgjual.Text := floattostr(table1['hrgjual']);
estok.Text := floattostr(table1['stok']);
end;
Program Untuk Prosedur Mati
Digunakan untuk menonaktifkan semua text box yang ada pada form.
procedure tform6.mati;
begin
ekdbarang.Enabled := false;
enmbarang.Enabled := false;
ehrgbeli.Enabled := false;
ehrgjual.Enabled := false;
estok.Enabled := false;
end;
Program Untuk Prosedur Hidup
Fungsi ini digunakan untuk mengembalikan fungsi edit text, seperti fungsi normalnya.
procedure tform6.hidup;
begin
ekdbarang.Enabled := true;
enmbarang.Enabled := true;
ehrgbeli.Enabled := true;
ehrgjual.Enabled := true;
estok.Enabled := true;
end;
Program Prosedur Kosong
procedure tform6.kosong;
begin
ekdbarang.Text := '';
enmbarang.Text := '';
ehrgbeli.Text := '';
ehrgjual.Text := '';
estok.Text := '';
end;
Langkah awal menghubungkan semua perangkat tabel untuk mengaktifkan tabel. Perintah ini terdapat pada formcreate.
procedure TForm6.FormCreate(Sender: TObject);
begin
table1.DatabaseName := 'penjualan' ;
table1.TableName := 'barang.db';
table1.Active:= true;
datasource1.DataSet:= table1;
dbgrid1.DataSource := datasource1;
end;
Program tampil diaktifkan untuk menampilkan data pada edit text box, program digunakan sema form diaktifkan.
procedure TForm6.FormActivate(Sender: TObject);
begin
tampil;
mati;
bsimpan.Enabled := false;
end;
Program tambah
procedure TForm6.btambahClick(Sender: TObject);
begin
mati;
ekdbarang.Enabled := true;
bsimpan.Enabled := true;
form6.ActiveControl := ekdbarang;
kosong;
end;
Program Pencarian Data. Control data yang digunakan adalah enter ketika kode barang diinput pada edit text kodebarang.
procedure TForm6.ekdbarangKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
if table1.FindKey([ekdbarang.Text]) then
begin
showmessage('Data Sudah ada');
exit;
end
else
hidup;
ekdbarang.Enabled := false;
form6.ActiveControl := enmbarang;
end;
end;
Program Penyimpanan Data ke Dalam tabel
procedure TForm6.bsimpanClick(Sender: TObject);
begin
table1.Append;
table1['kdbarang'] := ekdbarang.Text;
table1['nmbarang'] := enmbarang.Text ;
table1['hrgbeli'] := strtofloat(ehrgbeli.Text);
table1['hrgjual'] := strtofloat(ehrgjual.Text);
table1['stok']:= strtofloat(estok.Text);
table1.Post;
mati;
end;
Program Membatalkan penyimpanan data
procedure TForm6.bbatalClick(Sender: TObject);
begin
kosong;
table1.First;
tampil;
mati;
end;
Program Mengaktifkan data sesuai deengan pilihan pada setiap record pada grid.
procedure TForm6.DBGrid1CellClick(Column: TColumn);
begin
tampil;
end;
Program untuk menutup form
procedure TForm6.bexitClick(Sender: TObject);
begin
table1.Close;
close;
end;
12.4. Aplikasi Program Edit Dan Hapus Data
a. Hasil Setelah Form Dijalankan
b Desain Form
c. Desain properties
Object Properties
Name Caption/text
Edit1 Ekdbarang -
Edit2 Enmbarang -
Edit3 Ehrgbeli -
Edit4 Ehrgjual -
Edit5 Estok -
Label1 Label1 Kode Barang
Label2 Label2 Nama Barang
Label3 Label3 Harga Beli
Label4 Label4 Harga Jual
Label5 Label5 Stok
Button1 Bedit &Edit
Button2 Bupdate &Update
Button3 Bhapus &Hapus
Button4 Bbatal &Batal
Button5 Bexit &Exit
Object Data Base Name Table Name
Table1 - -
Object Data Set
Data Source1 -
Object Data Source
Dbgrid1 -
Object Active
Query -
d. Listing program
Program Untuk Prosedur
procedure tform7.tampil;
begin
ekdbarang.Text := table1['kdbarang'];
enmbarang.Text := table1['nmbarang'];
ehrgbeli.Text := floattostr(table1['hrgbeli']);
ehrgjual.Text := floattostr(table1['hrgjual']);
estok.Text := floattostr(table1['stok']);
end;
procedure tform7.kosong;
begin
ekdbarang.Text := '';
enmbarang.Text := '';
ehrgbeli.Text := '';
ehrgjual.Text := '';
estok.Text := '';
end;
procedure tform7.mati;
begin
ekdbarang.Enabled := false;
enmbarang.Enabled := false;
ehrgbeli.Enabled := false;
ehrgjual.Enabled := false;
estok.Enabled := false;
end;
procedure tform7.hidup;
begin
ekdbarang.Enabled := true;
enmbarang.Enabled := true;
ehrgbeli.Enabled := true;
ehrgjual.Enabled := true;
estok.Enabled := true;
end;
Program Untuk Mengaktifkan Database dan tabel pada form
procedure TForm7.FormCreate(Sender: TObject);
begin
table1.DatabaseName := 'penjualan' ;
table1.TableName := 'barang.db';
table1.Active:= true;
datasource1.DataSet:= table1;
dbgrid1.DataSource := datasource1;
end;
Program Selama Form Aktif
procedure TForm7.FormActivate(Sender: TObject);
begin
tampil;
mati;
bupdate.Enabled := false;
bhapus.Enabled := false;
end;
Program untuk button Edit
procedure TForm7.beditClick(Sender: TObject);
begin
mati;
ekdbarang.Enabled := true;
bupdate.Enabled := true;
bhapus.Enabled := true;
form7.ActiveControl := ekdbarang;
kosong;
end;
Program Pencarian Data
procedure TForm7.ekdbarangKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
if not table1.FindKey([ekdbarang.Text]) then
begin
showmessage('Data Belum ada');
exit;
end
else
hidup;
tampil;
ekdbarang.Enabled := false;
form7.ActiveControl := enmbarang;
end;
end;
Program Update
procedure TForm7.bupdateClick(Sender: TObject);
begin
table1.Edit;
table1['kdbarang'] := ekdbarang.Text;
table1['nmbarang'] := enmbarang.Text ;
table1['hrgbeli'] := strtofloat(ehrgbeli.Text);
table1['hrgjual'] := strtofloat(ehrgjual.Text);
table1['stok']:= strtofloat(estok.Text);
table1.Post;
mati;
end;
Program hapus Data
procedure TForm7.bhapusClick(Sender: TObject);
begin
table1.Delete;
mati;
table1.First;
end;
Program Batal
procedure TForm6.bbatalClick(Sender: TObject);
begin
kosong;
table1.First;
tampil;
mati;
end;
Program Untuk Dbgrid
procedure TForm6.DBGrid1CellClick(Column: TColumn);
begin
tampil;
end;
Program Menutup Form
procedure TForm6.bexitClick(Sender: TObject);
begin
table1.Close;
close;
end;