Setelah pada tuturial sebelumnya mendesain menu-menu pada aplikasi penjualan, maka untuk selanjutnya adalah mendesain form untuk pada master yaitu, Data Barang, Data Pengguna, Data Pelanggan, Data Supplier dan sekaligus mengoneksikan aplikasi dengan yang telah kita buat. Bagi yang ketinggalan dalam tutorial kali ini silahkan merujuk ke halaman-halaman sebelumnya yaitu Membuat Aplikasi Penjualan (POS) dengan Delphi Part1 dan Part2.
Langsung saja kita pertama adalah membuat koneksi database dengan delphi. Disini saya menggunakan komponen Zeos untuk koneksi MySQL dengan Delphi. Untuk yang belum tau bagaimana pengoneksian Zeos dengan MySQL silahkan berkunjung ke Koneksi MySQL dengan Zeos.
Tambahkan Datamodule untuk menaruh Zeos koneksinya lihat gambar dibawah.
Keterangan :
Untuk Datamodul1 properties Name diganti DM setiap komponen ZQuery properties SQL di isi dengan table masing-masing sesuai dengan nama Query, Misal untuk Qdatabarang atur properties Connection diisi dengan Koneksi, properties SQL diisi : " select * from tbarang" kemudian propertis active diganti True. Lakukan Langkah seperti pada tutorial Koneksi MySQL dengan Zeos. Kemudian simpan dengan Udm.Pas
tambahkan procedure Di private seperti dibawah:
Script untuk tombol HapusLangsung saja kita pertama adalah membuat koneksi database dengan delphi. Disini saya menggunakan komponen Zeos untuk koneksi MySQL dengan Delphi. Untuk yang belum tau bagaimana pengoneksian Zeos dengan MySQL silahkan berkunjung ke Koneksi MySQL dengan Zeos.
Tambahkan Datamodule untuk menaruh Zeos koneksinya lihat gambar dibawah.
Keterangan :
Untuk Datamodul1 properties Name diganti DM setiap komponen ZQuery properties SQL di isi dengan table masing-masing sesuai dengan nama Query, Misal untuk Qdatabarang atur properties Connection diisi dengan Koneksi, properties SQL diisi : " select * from tbarang" kemudian propertis active diganti True. Lakukan Langkah seperti pada tutorial Koneksi MySQL dengan Zeos. Kemudian simpan dengan Udm.Pas
Properties yang di sesuaikan :
- Edit1 Name : Ekodebarang
- Edit2 Name : Enamabarang
- Combobox1 Name: Cmbsatuan
- Edit3 Name : Ehargabeli
- Edit4 Name : Ehargajual
- Edit5 Name : Estok
- Combobox2 Name : cmbsupplier
- Label1 Caption : Kode Barang
- Label2 Caption : Nama Barang
- Label3 Caption : Satuan
- Label4 Caption : Harga Beli
- Label5 Caption : Harga Jual
- Label6 Caption : Stok
- Label7 Caption : Supplier
- Bitbutton1 Caption : Tambah
- Bitbutton2 Caption : Simpan
- Bitbutton3 Caption : Ubah
- Bitbutton4 Caption : Hapus
- Bitbutton5 Caption : Tutup
- Dbgrid1 Properties DataSource Diisi dengan dm.Ddatabarang
Maka hasil apabila sudah terkoneksi dengan database, terlihat seperti pada gambar dibawah:
Setelah terkoneksi dengan database langkah selanjutnya adalah peng-kodean untuk form databarang.
Karena kodebarang disini akan di generate secara otomatis maka kita akan membuat procedure autoKode. Pembuatan kode barang secara otomatis.
procedure BitBtn1Click(Sender: TObject);Procedure Auto Number
private
procedure AutoKode;
procedure Reset;
function CheckEdit:Boolean;
{ Private declarations }
public
{ Public declarations }
end;
procedure TFdatabarang.AutoKode;Procedure CheckEdit digunakan untuk validasi bahwa Tedit dan Combobox harus terisi
var
kode:String;
urut:integer;
begin
with dm.Q1 do
begin
Close;
SQL.Clear;
SQL.Text:='select * from tbarang';
Open;
end;
if dm.Q1.RecordCount = 0 then urut :=1 else
if dm.Q1.RecordCount > 0 then
begin
with Dm.Q1 do
begin
Close;
SQL.Clear;
SQL.Text:='select max(rigth(kodebarang,5)) as kode from tbarang';
Open;
end;
urut:=dm.Q1.FieldByName('kode').AsInteger +1;
end;
kode:=inttostr(urut);
kode:=Copy('00000'+kode,length('00000'+kode)-4,5);
Ekodebarang.Text:='BR.'+kode;
end;
function TFdatabarang.CheckEdit: Boolean;
var
i:integer;
begin
for i := 0 to ComponentCount -1 do
begin
if ( Components[i] is TEdit ) then
if Tedit(Components[i]).Text ='' then
begin
Showmessage(TEdit(Components[i]).Name +' masih kosong');
Exit;
end;
end;
if Cmbsatuan.Text ='' then
showmessage('satuan masih kosong')
else
if cmbsupplier.Text ='' then
Showmessage(' supplier masih kosong ')
end;
Procedure Reset untuk mengosongkan semua kotak Edit ketika ingin mengisi data baru.
procedure TFdatabarang.Reset;
var
i:integer;
begin
for i := 0 to ComponentCount -1 do
begin
if Components[i] is TEdit then
Tedit(Components[i]).Text :=''
end;
cmbsatuan.Text:='';
cmbsupplier.Text:='';
bitbtn1.Caption:='Tambah';
dm.QdataBarang.Active:=False;
Dm.QdataBarang.Active:=True;
end;
Script untuk event OnkeyPress pada Ehargabeli, Ehargajual,Estok ( untuk mem- validasi bahwa yang di inputkan hanya angka)
procedure TFdatabarang.EstokKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#13,#8,#10]) then
key :=#0;
end;
Script untuk Tombol Tambah
procedure TFdatabarang.BitBtn1Click(Sender: TObject);
begin
if bitbtn1.Caption ='Tambah' then
begin
Reset;
AutoKode;
bitbtn1.Caption:='Batal';
end else
begin
Reset;
AutoKode;
end;
end;
Script untuk Tombol Simpan
procedure TFdatabarang.BitBtn2Click(Sender: TObject);
begin
if not CheckEdit then
begin
with dm.QdataBarang do
begin
Append;
FieldByName('kodebarang').AsString:=ekodebarang.Text;
FieldByName('namabarang').AsString:=Enamabarang.Text;
FieldByName('satuan').AsString:=cmbsatuan.Text;
FieldByName('hargabeli').AsInteger:=Strtoint(Ehargabeli.text);
FieldByName('hargajual').AsInteger :=Strtoint(Ehargajual.Text);
FieldByName('stok').AsInteger :=Strtoint(estok.Text);
if dm.QdataSupplier.Locate ('namasupplier',cmbsupplier.Text,[])=True then
FieldByName('kodesupplier').Text:=dm.QdataSupplier.FieldByName('kodesupplier').AsString;
Post;
end;
Reset;
AutoKode;
end;
end;
Script Untuk Tombol Ubah
procedure TFdatabarang.BitBtn2Click(Sender: TObject);begin
if CheckEdit then
begin
with dm.QdataBarang do
begin
Edit;
FieldByName('kodebarang').AsString:=ekodebarang.Text;
FieldByName('namabarang').AsString:=Enamabarang.Text;
FieldByName('satuan').AsString:=cmbsatuan.Text;
FieldByName('hargabeli').AsInteger:=Strtoint(Ehargabeli.text);
FieldByName('hargajual').AsInteger :=Strtoint(Ehargajual.Text);
FieldByName('stok').AsInteger :=Strtoint(estok.Text);
if dm.QdataSupplier.Locate ('namasupplier',cmbsupplier.Text,[])=True then
FieldByName('kodesupplier').Text:=dm.QdataSupplier.FieldByName('kodesupplier').AsString;
Post;
end;
Reset;
AutoKode;
end;
end;
procedure TFdatabarang.BitBtn4Click(Sender: TObject);
begin
if messageDlg('Apakah yakin data'+
''+dm.QdataBarang.FieldByName('namabarang').AsString+' akan dihapus?',MTConfirmation,[MByes,MBno],0)=mrYes then
begin
dm.QdataBarang.Delete;
Reset;
AutoKode;
end;
end;
Script Untuk DBGrid event OnCellClick
procedure TFdatabarang.DBGrid1CellClick(Column: TColumn);Script untuk Event OnShow Pada Form
begin
Ekodebarang.Text:=dm.QdataBarang.FieldByName('kodebarang').AsString;
Enamabarang.Text:=dm.QdataBarang.FieldByName('namabarang').AsString;
cmbsatuan.Text:=dm.QdataBarang.FieldByName('satuan').AsString;
Ehargabeli.Text:=dm.QdataBarang.FieldByName('hargabeli').AsString;
Ehargajual.Text:=dm.QdataBarang.FieldByName('hargajual').AsString;
estok.Text:=dm.QdataBarang.FieldByName('stok').AsString;
if dm.QdataSupplier.Locate ('kodesupplier',dm.QdataBarang.FieldByName ('kodesupplier').AsString ,[])=True then
cmbsupplier.Text:=dm.QdataSupplier.FieldByName('namasupplier').AsString;
end;
procedure TFdatabarang.FormShow(Sender: TObject);
begin
Reset;
AutoKode;
cmbsupplier.Clear;
dm.QdataSupplier.First;
while dm.QdataSupplier.Eof =false do
begin
cmbsupplier.Items.Add(dm.QdataSupplier.FieldByName('namasupplier').AsString );
dm.QdataSupplier.Next;
end;
end;
Semua script pada Form data barang sudah dimasukan. dan silahkan tekan F9 untuk menjalankanya. Dan apabila langkah-langkah benar maka tidak akan terjadi error. dan lihat hasil seperti pada gambar dibawah.
Sebelumnya untuk memanggil Form Databarang. Pada Menu utama tambahkan Uses udatabarang agar bisa dishow.
Kemudian kembali ke Menu Utama Pada tombol Data Barang dan Menu Data Barang tambahkan script seperti dibawah ini.
Dan hasilnya Seperti dibawah ini
Selesai sudah Form Data Barang pada tutorial ini. Masih Ada 3 Master Data lagi... karena sudah capek.
Nanti Saya akan Lanjutkan Ke tutorial berikutnya... Selamat mencoba. Semoga sukses.
Maaf kalo ada salah penulisan. dan Coding masih kurang sempurna, karena saya juga lagi belajar.
Sedot Source Code
Baca Juga : Membuat Aplikasi Penjualan (POS) dengan Delphi Part4
Sebelumnya untuk memanggil Form Databarang. Pada Menu utama tambahkan Uses udatabarang agar bisa dishow.
Kemudian kembali ke Menu Utama Pada tombol Data Barang dan Menu Data Barang tambahkan script seperti dibawah ini.
// Menu data barang
procedure TFMenuUtama.M2Click(Sender: TObject);
begin
Fdatabarang.ShowModal;
end;
// Tombol Data Barang
procedure TFMenuUtama.ToolButton1Click(Sender: TObject);
begin
Fdatabarang.ShowModal;
end;
Dan hasilnya Seperti dibawah ini
Selesai sudah Form Data Barang pada tutorial ini. Masih Ada 3 Master Data lagi... karena sudah capek.
Nanti Saya akan Lanjutkan Ke tutorial berikutnya... Selamat mencoba. Semoga sukses.
Maaf kalo ada salah penulisan. dan Coding masih kurang sempurna, karena saya juga lagi belajar.
Sedot Source Code
Baca Juga : Membuat Aplikasi Penjualan (POS) dengan Delphi Part4
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :