Database Penjualan dengan Delphi 7
Dalam membuat Database Delphi hal pertama yang harus kita lakukan dan akjan dibahas pada bagian 1 ini adalah mendesain Form Utama SISTEM INFORMASI PENJUALAN dan cara MENGKONEKSIKAN DATABASE DENGAN DELPHI 7.
Sebelumnya siapkan sebuah Folder yang di dalamnya berisi folder IMG yang berisi gambar – gambar untuk aplikasi kita nantinya dan file Database PENJUALAN.
Langsung saja, kita buka langsung Boorland Delphi 7 dengan cara Klik Start-All Programs-Borland Delphi 7-Delphi 7.
Jika sudah tampilan awal Boorland Delphi adalah sebagai berikut.
Silahkan anda pelajari tentang tampilan yang ada pada Delphi 7 dan komponen – komponennya, karena kita tidak akan membahas secara detail lagi masalah ini.
Pada tampilan di atas, jelas bahwa sudah ada Form1 yang disediakan oleh kompiler tempat kita mendesain Form.
Sekarang saatnya kita mendesain Form Utama……. Ayo semangat!!!!!!!!!!
Ikuti langkah2 dibawah ini.
1. Pada Object Inspector Delphi, aturlah Properties Form1 menjadi
2. Pada Tab Win32 ambillah 2 Komponen CoolBar dan tempatkan di Form dan aturlah Propertienya masing – masing menjadi demikian
3. Masih pada Tab Win32 ambillah 1 buah Toolbar dan tempatkan di Coolbar yang berada di atas, dan 1 lagi Toolbar dan tempatkan di Coolbar yang berada di bawah. Tambahkan pula 1 buah ImageList dan tambahkan Gambar yang ada di Folder aplikasi kita( lihat gambar).
4. Aturlah Properties pada Toolbar yang ada di Coolbar di bagian atas dan yang dibawah, masing – masing
5. Pada Tab Standard tambahkan 4 buah Komponen PopupMenu.
6. Klik 2 kali PopupMenu dan isilah submenu dengan merubah Captionnya menjadi demikian
Untuk tanda Garis, anda cukup mengganti captionnya dengan tanda kurang(-).
7. Jika sudah, kita kembali ke Toolbar yang ada di atas dan yang di bawah
Yang di atas
Klik Kanan pada Toolbar yang ada di atas dan pilih New Button. Secara otomatis akan muncul sebuah Tombol pada Toolbar. Gantilah propertiesnya menjadi
Klik Kanan lagi pada Toolbar dan Pilih New Separator, selanjutnya New Button 3 Kali, New Separator 1 kali, dan New Button 1 kali
Untuk separator jangan rubah 1 pun propertiesnya.
Khusus yang button selanjutnya selain yang ada pada bagian a, masing – masing atur propertiesnya menjadi demikian.
Toolbar yang ada di bawah
Pada toolbar yang ada di bawah buatlah 7 buah Button dengan cara yang sama seperti di atas. Yang masing – masing captionnya adalah :
(kosong)
Hari / Tanggal : (ganti Properties Enabled menjadi False)
(kosong) (ganti properties Name menjadi DataHari)
Jam : (ganti properties Enabled menjadi false)
(kosong) (ganti properties Name menjadi DataJam)
Operator : (Ganti Properties Enablenya menjadi False)
Tidak Ada Pemakai (Ganti properties Name menjadi dataUser)
8. Pada tab Standard tambahkan 1 buah komponen Panel dang anti properties Align menjadi alLeft, kosongkan Captionnya, dang anti warnanya sesuai keinginan anda.
9. Pada Tab Additional tambahkan 1 buah komponen Bevel dang anti align menjadi alClient. Untuk penempatan Bevel ini, tempatkan dia di bagian yang kosong pada Form.
10. Masih pada tab Additional tambahkan 1 buat Image dang anti properties Stretch menjadi True, Align menjadi alClient, dan Picture sesuai keinginan anda.
11. Pada Tab Win32, tambahkan Komponen DateTimePicker dang anti properties Format menjadi dddd dd MMMM yyyy dan Visible menjadi false
12. Pada Tab System tambahkan komponen Timer 1 buah. Pada Tab ADO tambahkan 2 buah ADOConnection, 1 buah ADOCommand, 2 buah ADOQuery, dan 1 buah ADOTable.
13. Aturlah Properties Connection ADOQuery1, ADOCommand1, dan ADOTable1 menjadi ADOConnection1.
14. Kemudian aturlah Properties Connection Connection ADOQuery2 menjadi ADOConnection2.
KONEKSI DATABASE ACCESS DENGAN DELPHI 7
Untuk mengkoneksikan Database ACCESS dengan Dephi 7 cukup mudah.
Di Form kita telah menempatkan 2 buat ADOConnection, 1 buah ADOCommand, 2 buah ADOQuery, dan 1 buah ADOTable.
ADOConnection ini akan kita gunakan untuk mengkoneksikan Delphi dengan Database Access nantinya. Cara mengkoneksinya ikuti langkah berikut.
a. Masuk ke bagian Codes Delphi dengan cara menekan tombol F12.
b. Pada bagian Public buatlah sebuah procedure dengan nama Koneksi. Caranya adalah dengan mengetikkan
Procedure Koneksi;
c. Kemudian pada bagian ($R *.dfm} ketikkan listening berikut.
procedure TfUtama.Koneksi;
begin
try futama.ADOConnection1.Close;except end;
futama.ADOConnection1.Provider := 'Microsoft.Jet.OLEDB.4.0';
futama.ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ pchar(ExtractFilePath(Application.ExeName) + ExtractFileName ('penjualan.mdb')) +';Persist Security Info=False';
futama.ADOConnection1.LoginPrompt := false;
futama.ADOConnection1.Open;
end;
d. Sekarang kita tinggal memanggil Procedure Koneksi pada saat Form Pertama Kali muncul
Begitulah cara mendesain Form Utama.
Untuk Mengetikkan Kode pada Form anda tinggal mengklik Object yang akan di berikan Kode dan pada Object Inspector pada tab Events cari Event yang akan di berikan Kode.
Di bawah ini Source lengkap Form Utama SISTEM INFORMASI PENJUALAN.
unit UnUtama;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ImgList, ExtCtrls, ToolWin, jpeg, ADODB, DB, Menus,
sSkinManager, sSkinProvider;
type
TfUtama = class(TForm)
CoolBar1: TCoolBar;
areaForm: TBevel;
ToolBar1: TToolBar;
ImageList1: TImageList;
btSistem: TToolButton;
ToolButton2: TToolButton;
btSetting: TToolButton;
btMaster: TToolButton;
btCetak: TToolButton;
ToolButton6: TToolButton;
btKeluar: TToolButton;
Panel1: TPanel;
CoolBar2: TCoolBar;
ToolBar2: TToolBar;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
dataHari: TToolButton;
ToolButton10: TToolButton;
dataJam: TToolButton;
ToolButton11: TToolButton;
dataUser: TToolButton;
Image1: TImage;
Timer1: TTimer;
ADOConnection2: TADOConnection;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
ADOCommand1: TADOCommand;
ADOTable1: TADOTable;
DateTimePicker1: TDateTimePicker;
PopupMenu1: TPopupMenu;
PopupMenu2: TPopupMenu;
PopupMenu3: TPopupMenu;
PopupMenu4: TPopupMenu;
mnLogin: TMenuItem;
mnLogOut: TMenuItem;
N1: TMenuItem;
mnKeluar: TMenuItem;
mnNamaPerusahaan: TMenuItem;
N2: TMenuItem;
mnDaftarUser: TMenuItem;
N3: TMenuItem;
mnGantiPass: TMenuItem;
N4: TMenuItem;
mnPenentuGolonganBarang: TMenuItem;
N5: TMenuItem;
mnPenentuHargaJual: TMenuItem;
N6: TMenuItem;
mnBackup: TMenuItem;
mnDataSupplier: TMenuItem;
N7: TMenuItem;
mnDataBarang: TMenuItem;
N8: TMenuItem;
mnTransaksi: TMenuItem;
mnEntryBarang: TMenuItem;
N9: TMenuItem;
mnTambahStokBarang: TMenuItem;
mnLaporanStockBarang: TMenuItem;
N10: TMenuItem;
mnRekapTransaksiPenjualan: TMenuItem;
ADOConnection1: TADOConnection;
sSkinManager1: TsSkinManager;
sSkinManager2: TsSkinManager;
sSkinManager3: TsSkinManager;
sSkinManager4: TsSkinManager;
procedure FormCreate(Sender: TObject);
procedure btKeluarClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure mnKeluarClick(Sender: TObject);
procedure mnLoginClick(Sender: TObject);
procedure mnGantiPassClick(Sender: TObject);
procedure mnLogOutClick(Sender: TObject);
procedure mnDaftarUserClick(Sender: TObject);
procedure mnBackupClick(Sender: TObject);
procedure mnNamaPerusahaanClick(Sender: TObject);
procedure mnPenentuHargaJualClick(Sender: TObject);
procedure mnPenentuGolonganBarangClick(Sender: TObject);
procedure mnRekapTransaksiPenjualanClick(Sender: TObject);
procedure mnEntryBarangClick(Sender: TObject);
procedure mnTransaksiClick(Sender: TObject);
procedure mnLaporanStockBarangClick(Sender: TObject);
procedure mnTambahStokBarangClick(Sender: TObject);
procedure BrowseDataSupplier1Click(Sender: TObject);
procedure mnDataSupplierClick(Sender: TObject);
private
procedure GantiHari;
procedure MatikanX;
{ Private declarations }
public
procedure Koneksi;
{ Public declarations }
end;
var
fUtama: TfUtama;
hari : string;
bulan : string;
implementation
uses UnLogin, UnGantiPass, UnUser, UnBackup, UnPerusahaan, UnHargaJual,
UnSupplier, UnGolongan, UnCetakLaporan, UnEntryBarang,
UnJual, UnReportStock, UnTambahStok, UnListSupplier;
{$R *.dfm}
procedure TfUtama.Koneksi;
begin
try futama.ADOConnection1.Close;except end;
futama.ADOConnection1.Provider := 'Microsoft.Jet.OLEDB.4.0';
futama.ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ pchar(ExtractFilePath(Application.ExeName) + ExtractFileName ('penjualan.mdb')) +';Persist Security Info=False';
futama.ADOConnection1.LoginPrompt := false;
futama.ADOConnection1.Open;
end;
procedure TfUtama.MatikanX;
var
hMenuHandle : HMENU;
begin
hMenuHandle := GetSystemMenu(futama.Handle, FALSE);
if (hMenuHandle <> 0) then DeleteMenu(hMenuHandle,SC_CLOSE, MF_BYCOMMAND);
end;
procedure TfUtama.GantiHari;
var
x, y : string;
begin
x := FormatDateTime('dddd',DateTimePicker1.Date );
y := FormatDateTime('MMMM',DateTimePicker1.Date );
if x = 'Sunday' then
hari := 'Minggu'
else if x ='Monday' then
hari := 'Senin'
else if x = 'Tuesday' then
hari := 'Selasa'
else if x = 'Wednesday' then
hari := 'Rabu'
else if x = 'Thursday' then
hari := 'Kamis'
else if x = 'Friday' then
hari := 'Jumat'
else if x = 'Saturday' then
hari := 'Sabtu';
if y = 'January' then
bulan := 'Januari'
else if y = 'February' then
bulan :=' Februari'
else if y = 'March' then
bulan :='Maret'
else if y = 'April' then
bulan :='April'
else if y = 'May' then
bulan :='Mei'
else if y = 'June' then
bulan :='Juni'
else if y = 'July' then
bulan :='Juli'
else if y = 'August' then
bulan :='Agustus'
else if y = 'September' then
bulan :='September'
else if y = 'October' then
bulan :='Oktober'
else if y = 'November' then
bulan :='November'
else if y = 'December' then
bulan :='Desember';
end;
procedure TfUtama.FormCreate(Sender: TObject);
begin
MatikanX;
GantiHari;
timer1.Enabled := True;
timer1.Interval := 100;
Koneksi;
end;
procedure TfUtama.btKeluarClick(Sender: TObject);
begin
if MessageBox(handle, 'Apakah Anda Yakin Akan Keluar Dari Aplikasi Ini??','CLOSE',MB_YESNO +MB_ICONQUESTION ) = ID_YES then
begin
close;
Application.Terminate;
end;
end;
procedure TfUtama.Timer1Timer(Sender: TObject);
begin
dataHari.Caption := hari + ', ' +FormatDateTime('dd',Now ) + ' ' + bulan +' ' + FormatDateTime('yyyy',Now);
dataJam.Caption :=TimeToStr(Now);
end;
procedure TfUtama.mnKeluarClick(Sender: TObject);
begin
btKeluarClick(self);
end;
procedure TfUtama.mnLoginClick(Sender: TObject);
var
i: integer;
tampil: boolean;
fLogin: TfLogin;
begin
tampil := False;
for i := 0 to MDIChildCount - 1 do
if MDIChildren[i] is TfLogin then
begin
tampil := True;
Break;
end;
if not tampil then
begin
fLogin := TfLogin.Create(Self);
if areaForm.Height - 4 < 507 then
fLogin.ClientHeight := 480
else
fLogin.Height := areaForm.Height - 4;
if areaForm.Width - 4 < 720 then
fLogin.ClientWidth := 712
else
fLogin.Width := areaForm.Width - 4;
fLogin.Show;
end
else
MDIChildren[i].Show;
mnLogin.Enabled := false;
end;
procedure TfUtama.mnGantiPassClick(Sender: TObject);
var
i: integer;
tampil: boolean;
fGantiPassword: TfGantiPassword;
begin
tampil := False;
for i := 0 to MDIChildCount - 1 do
if MDIChildren[i] is TfGantiPassword then
begin
tampil := True;
Break;
end;
if not tampil then
begin
fGantiPassword := TfGantiPassword.Create(Self);
if areaForm.Height - 4 < 507 then
fGantiPassword.ClientHeight := 480
else
fGantiPassword.Height := areaForm.Height - 4;
if areaForm.Width - 4 < 720 then
fGantiPassword.ClientWidth := 712
else
fGantiPassword.Width := areaForm.Width - 4;
fGantiPassword.Show;
end
else
MDIChildren[i].Show;
end;
procedure TfUtama.mnLogOutClick(Sender: TObject);
var
i: integer;
begin
if MessageBox(Handle,'LogOut dari program ?','LogOut Sistem',MB_YESNO + MB_ICONQUESTION) = ID_YES then
begin
for i := 0 to MDIChildCount - 1 do
MDIChildren[i].Close;
mnLogin.Enabled:=true;
mnLogOut.Enabled:=false;
btSetting.Enabled:=false;
btMaster.Enabled:=false;
btCetak.Enabled:=False;
dataUser.Caption := 'Tidak Ada Pemakai';
end;
end;
procedure TfUtama.mnDaftarUserClick(Sender: TObject);
var
i: integer;
tampil: boolean;
fUser: TfUser;
begin
tampil := False;
for i := 0 to MDIChildCount - 1 do
if MDIChildren[i] is TfUser then
begin
tampil := True;
Break;
end;
if not tampil then
begin
fUser := TfUser.Create(Self);
if areaForm.Height - 4 < 507 then
fUser.ClientHeight := 480
else
fUser.Height := areaForm.Height - 4;
if areaForm.Width - 4 < 720 then
fUser.ClientWidth := 712
else
fUser.Width := areaForm.Width - 4;
fUser.Show;
end
else
MDIChildren[i].Show;
end;
procedure TfUtama.mnBackupClick(Sender: TObject);
begin
fBackup.ShowModal;
end;
procedure TfUtama.mnNamaPerusahaanClick(Sender: TObject);
var
i: integer;
tampil: boolean;
fPerusahaan: TfPerusahaan;
begin
tampil := False;
for i := 0 to MDIChildCount - 1 do
if MDIChildren[i] is TfPerusahaan then
begin
tampil := True;
Break;
end;
if not tampil then
begin
fPerusahaan := TfPerusahaan.Create(Self);
if areaForm.Height - 4 < 507 then
fPerusahaan.ClientHeight := 480
else
fPerusahaan.Height := areaForm.Height - 4;
if areaForm.Width - 4 < 720 then
fPerusahaan.ClientWidth := 712
else
fPerusahaan.Width := areaForm.Width - 4;
fPerusahaan.Show;
end
else
MDIChildren[i].Show;
end;
procedure TfUtama.mnPenentuHargaJualClick(Sender: TObject);
var
h: integer;
tampil: boolean;
fHargaJual: TfHargaJual;
begin
tampil := False;
for h := 0 to MDIChildCount - 1 do
if MDIChildren[h] is TfHargaJual then
begin
tampil := True;
Break;
end;
if not tampil then
begin
fHargaJual := TfHargaJual.Create(Self);
if areaForm.Height - 4 < 507 then
fHargaJual.ClientHeight := 480
else
fHargaJual.Height := areaForm.Height - 4;
if areaForm.Width - 4 < 720 then
fHargaJual.ClientWidth := 712
else
fHargaJual.Width := areaForm.Width - 4;
fHargaJual.Show;
end
else
MDIChildren[h].Show;
end;
procedure TfUtama.mnPenentuGolonganBarangClick(Sender: TObject);
var
h: integer;
tampil: boolean;
fGolongan: TfGolongan;
begin
tampil := False;
for h := 0 to MDIChildCount - 1 do
if MDIChildren[h] is TfGolongan then
begin
tampil := True;
Break;
end;
if not tampil then
begin
fGolongan := TfGolongan.Create(Self);
if areaForm.Height - 4 < 507 then
fGolongan.ClientHeight := 480
else
fGolongan.Height := areaForm.Height - 4;
if areaForm.Width - 4 < 720 then
fGolongan.ClientWidth := 712
else
fGolongan.Width := areaForm.Width - 4;
fGolongan.Show;
end
else
MDIChildren[h].Show;
end;
procedure TfUtama.mnRekapTransaksiPenjualanClick(Sender: TObject);
begin
fCEtakLaporan.ShowModal;
end;
procedure TfUtama.mnEntryBarangClick(Sender: TObject);
var
i: integer;
tampil: boolean;
fEntryBarang: TfEntryBarang;
begin
tampil := False;
for i := 0 to MDIChildCount - 1 do
if MDIChildren[i] is TfEntryBarang then
begin
tampil := True;
Break;
end;
if not tampil then
begin
fEntryBarang := TfEntryBarang.Create(Self);
if areaForm.Height - 4 < 507 then
fEntryBarang.ClientHeight := 480
else
fEntryBarang.Height := areaForm.Height - 4;
if areaForm.Width - 4 < 720 then
fEntryBarang.ClientWidth := 712
else
fEntryBarang.Width := areaForm.Width - 4;
fEntryBarang.Show;
end
else
MDIChildren[i].Show;
end;
procedure TfUtama.mnTransaksiClick(Sender: TObject);
var
i: integer;
tampil: boolean;
fJual: TfJual;
begin
tampil := False;
for i := 0 to MDIChildCount - 1 do
if MDIChildren[i] is TfJual then
begin
tampil := True;
Break;
end;
if not tampil then
begin
fJual := TfJual.Create(Self);
if areaForm.Height - 4 < 507 then
fJual.ClientHeight := 480
else
fJual.Height := areaForm.Height - 4;
if areaForm.Width - 4 < 720 then
fJual.ClientWidth := 712
else
fJual.Width := areaForm.Width - 4;
fJual.Show;
end
else
MDIChildren[i].Show;
end;
procedure TfUtama.mnLaporanStockBarangClick(Sender: TObject);
begin
Try fUtama.ADOQuery1.Close Except end;
fUtama.ADOQuery1.SQL.CommaText:='SELECT * FROM tStockBarang ORDER BY golongan asc';
fUtama.ADOQuery1.Open;
fReportStock.QRLabel2.Caption:='Periode : '+FormatDateTime(' dd MMMM yyyy',Now)+'';
fReportStock.QuickRep1.Preview;
end;
procedure TfUtama.mnTambahStokBarangClick(Sender: TObject);
var
i: integer;
tampil: boolean;
fTambahStok: TfTambahStock;
begin
tampil := False;
for i := 0 to MDIChildCount - 1 do
if MDIChildren[i] is TfTambahStock then
begin
tampil := True;
Break;
end;
if not tampil then
begin
fTambahStok := TfTambahStock.Create(Self);
if areaForm.Height - 4 < 507 then
fTambahStok.ClientHeight := 480
else
fTambahStok.Height := areaForm.Height - 4;
if areaForm.Width - 4 < 720 then
fTambahStok.ClientWidth := 712
else
fTambahStok.Width := areaForm.Width - 4;
fTambahStok.Show;
end
else
MDIChildren[i].Show;
end;
procedure TfUtama.BrowseDataSupplier1Click(Sender: TObject);
begin
FListSupplier.ShowModal;
end;
procedure TfUtama.mnDataSupplierClick(Sender: TObject);
var
h: integer;
tampil: boolean;
fSupplier: TfSupplier;
begin
tampil := False;
for h := 0 to MDIChildCount - 1 do
if MDIChildren[h] is TfSupplier then
begin
tampil := True;
Break;
end;
if not tampil then
begin
fSupplier := TfSupplier.Create(Self);
if areaForm.Height - 4 < 507 then
fSupplier.ClientHeight := 480
else
fSupplier.Height := areaForm.Height - 4;
if areaForm.Width - 4 < 720 then
fSupplier.ClientWidth := 712
else
fSupplier.Width := areaForm.Width - 4;
fSupplier.Show;
end
else
MDIChildren[h].Show;
end;
end.
Posted by Rifal ARKEN at 7:05 PM
Labels: Delphi 7