SELAMAT DATANG PARA
BLOGGER,
disini
saya akan buat sebuah tutorial dari delphi 7, program apotik. tanpa basa - basi
saya akan memberi tahu tata cara untuk membuatnya.
1. Buatlah database terlebih dahulu,
saya menggunakan database dari Microsoft acces, dan mengapa di pilih Microsoft
acces?????? Karena Microsoft acces itu software yang mudah diingat dan mudah
untuk mengaplikasikan , apalagi newbe yang baru belajar, buatlah beberapa table
seperti di bawah ini:::::::
1. Table “LOGIN”
2.
Table “data konsumen
3.
Table “data obat”
4.
Tabel “transaksi”
2. Setelah
pembuatan database sudah selesai. Masuklah ke program Delphi 7 dengan projek
baru. Pertama kali yang harus dikerjakan yaitu membuat form login. Masukkanlah
komponen – komponen ke dalam form seperti gambar dibawah ini.
KOMPONEN
|
PROPERTIES
|
SETTING
|
Label1
|
Caption
|
Silahkan Anda Login
|
Label2
|
Caption
|
User Name
|
Label3
|
Caption
|
Password
|
Edit1
|
Text
|
Kosongkan
|
Edit2
|
text
|
Kosongkan
|
Button1
|
caption
|
Masuk
|
Button2
|
Caption
|
Batal
|
ADOQuery
|
connectionstring
|
dbapotik
|
SQL
|
Tstring
|
|
datasource
|
dataset
|
Adoquery1
|
Kettikanlah source kode berikut:
Ø
BUTTONMASUK(button1)
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from Tabel_Login where
User=:Username and Password=:Pass');
ADOQuery1.Parameters.ParamByName('Username').Value:=Edit1.Text;
ADOQuery1.Parameters.ParamByName('Pass').Value:=Edit2.Text;
ADOQuery1.Open;
if ADOQuery1.RecordCount<=0 then
begin
MessageDlg('Login Tidak Berhasil',mtInformation,[mbOK],0);
Edit1.Text;
Edit2.Text;
Edit1.SetFocus;
end
else
begin
MessageDlg('Login Berhasil',mtConfirmation,[mbOK],0);
Form2.Show;
Form1.hide;
end;
end;
end.
Ø
BUTTONKELUAR(button2)
procedure TForm1.Button2Click(Sender: TObject);
begin
application.Terminate;
end;
3.
Setelah selasai sekarang membuat membuat form menu utama, lihat contoh pada form dan ikuti
komponen dibawah ini kalau masalah desain silahkan design dengan kereasi anda
sendiri::::::
KOMPONEN
|
PROPERTIES
|
SETTING
|
Label1
|
Caption
|
Welcome To Apotik Sehat Sehat Sejahtera
|
Label2
|
Caption
|
Silahkan Anda Pilih Menu
|
Panel1
|
Caption
|
-
|
Button1
|
Caption
|
Data Obat
|
Button2
|
Caption
|
Teransaksi
|
Butoon3
|
Caption
|
Laporan
|
Button4
|
Caption
|
Keluar
|
Button5
|
Caption
|
Data Pelanggan
|
SOURCE CODE MENU
Button Data
Obat(Button1)
Ø
procedure TForm2.Button1Click(Sender: TObject);
begin
form4.show;
end;
ButtonPelanggan(Button5)
Ø
procedure TForm2.Button5Click(Sender: TObject);
begin
form5.Show;
end;
Button
Transaksi(button2)
Ø
procedure
TForm2.Button2Click(Sender: TObject);
begin
form3.Show;
end;
Button Laporan(Button3)
Ø
procedure TForm2.Button3Click(Sender: TObject);
begin
FORM10.Show;
end;
end.
Button
Keluar(Button4)
Ø
procedure TForm2.Button4Click(Sender: TObject);
begin
APPLICATION.Terminate;
end;
4.
Pada form menu jika kita klik button teransaksi
maka yang akan tampil form teransaksi silahkan ikuti desain form dan
komponen-komponen sebagai berikut dan ikuti langkah-langkah sebagai
berikut::::::
a.
Langkah pertama masukan komponen-komponen “ADOTable1” dan “Data Source”

b.
Langkah Kedua Koneksikan database Klik ADOTbale1
Dan pilih Conecction String di Objek Inspector cari database di mana tempat
anda menyimpannya, dan kedua pilih tableName cari table yang anda mau tampilkan
lihat contoh di bawah ini:::

c.
Kalau sudah mengoneksikan ADOTable1 Tinggal kita
mnegoneksikan DataSource klik DataSource cari dataset di Objekinspector pilih
ADOTable1. Lihat gambar di bawah ini
Bereeeess sudah terkoneksi…Gampangkan,,,,,,,

d.
Setelah Selesai mengoneksikan Database tinggal
memasukan tempat kita menginputkan
Data-Data dengan Cara Simpel Dan Mudah Tidak Perlu membuat Satu persatu oke
lanjuut saja
Double klik komponen ADOTable1. Kemudian akan Tampil
form kecil untuk memasukan isi fields,,
klik kanan pilih Add Fields, seleksi fields dari atas sampai bawah
kemudian drarag ke form (halaman Kerja) lihat gambar dibawah ini::

e.
Desain lah form Seperti Berikut Ini:::::: Dan
Ingat tempat kita mengimputkan data tersebut kita tidak mendapat kan edit.teks
tetapi kita mempunyai DBEdit.teks ini mempengaruhi koding nantinya:::::

KOMPONEN
|
PROPERTIES
|
SETTING
|
Label1
|
Caption
|
Teransaksi
|
-
|
Caption
|
kosongkan
|
Caption
|
kosongkan
|
|
Caption
|
kosongkan
|
|
Caption
|
Kosongkan
|
|
Caption
|
kosongkan
|
|
Caption
|
kosongkan
|
|
Caption
|
kosongkan
|
|
Button1
|
Caption
|
TAMBAH
|
Button2
|
Caption
|
SIMPAN
|
Button3
|
Caption
|
LAPORAN
|
Button4
|
Caption
|
REFRESH
|
Button5
|
Caption
|
HAPUS
|
Button6
|
Caption
|
BACK
|
Button7
|
Caption
|
EDIT
|
Button8
|
Caption
|
CARI
|
ADOTable1
|
ConnectionString
|
Dbapotik
|
TableName
|
Tabel_transaksi
|
|
active
|
true
|
|
DataSource1
|
DataSet
|
ADOTable1
|
DBGrid1
|
DataSource
|
DataSource
|
SOURCE CODE TRANSAKSI
TAMBAH
procedure TForm3.Button1Click(Sender: TObject);
begin
adotable1.Append;
end;
SIMPAN
procedure TForm3.Button2Click(Sender: TObject);
begin
adotable1.FieldByName('id_transaksi').AsString
:=dbedit1.Text;
adotable1.FieldByName('nama_konsumen').AsString:=dbedit2.Text;
adotable1.FieldByName('nama_obat').AsString:=dbedit3.Text;
adotable1.FieldByName('tanggal').AsString:=dbedit4.Text;
adotable1.FieldByName('harga_obat').AsString:=dbedit5.Text;
adotable1.FieldByName('qty').AsString:=dbedit6.Text;
adotable1.FieldByName('jumlah').AsString:=dbedit7.Text;
adotable1.Post;
end;
LAPORAN
procedure TForm3.Button3Click(Sender: TObject);
begin
quickreport7.adotable1.close;
quickreport7.adotable1.open;
quickreport7.Preview;
end;
REFRESH
procedure TForm3.Button4Click(Sender: TObject);
begin
dbedit1.Text:='';
dbedit2.Text:='';
dbedit3.Text:='';
dbedit4.Text:='MM/DD/YY';
dbedit5.Text:='';
dbedit6.Text:='';
dbedit7.Text:='';
end;
HAPUS
procedure TForm3.Button5Click(Sender: TObject);
begin
adotable1.Delete;
end;
BACK
procedure TForm3.Button6Click(Sender: TObject);
begin
form2.show;
form3.Hide;
end;
EDIT
procedure TForm3.Button8Click(Sender: TObject);
begin
ADOtable1.Edit;
ADOtable1.FieldByName('id_transaksi').AsString:=dbedit1.Text;
ADOtable1.FieldByName('Nama_Konsumen').AsString:=dbedit2.Text;
ADOtable1.FieldByName('Nama_Obat').AsString:=dbedit3.Text;
ADOtable1.FieldByName('Tanggal').AsString:=dbedit4.Text;
ADOtable1.FieldByName('Harga_Obat').AsString:=dbedit5.Text;
ADOtable1.FieldByName('Qty').AsString:=dbedit6.Text;
ADOtable1.FieldByName('Jumlah').AsString:=dbedit7.Text;
ADOtable1.Post;
end;
end.
CARI
procedure TForm3.Button7Click(Sender: TObject);
begin
if adotable1.Locate('id_transaksi',edit1.Text,[]) then
begin
dbedit1.Text:=adotable1['id_transaksi'];
dbedit2.Text:=adotable1['nama_konsumen'];
dbedit3.Text:=adotable1['nama_obat'];
dbedit4.Text:=adotable1['tanggal'];
dbedit5.Text:=adotable1['harga_obat'];
dbedit6.Text:=adotable1['qty'];
dbedit7.Text:=adotable1['jumlah'];
end
else
messagedlg('data tidak di
temukan',mtInformation,[mbOK],0)
end;
5.
Untuk mengoneksikan ikuti langkah – langkah di
atas sama saja,,,

KOMPONEN
|
PROPERTIES
|
SETTING
|
Label1
|
Caption
|
Data Obat
|
-
|
Caption
|
kosongkan
|
Caption
|
kosongkan
|
|
Caption
|
Kosongkan
|
|
Caption
|
kosongkan
|
|
Caption
|
kosongkan
|
|
Caption
|
kosongkan
|
|
Button1
|
Caption
|
TAMBAH
|
Button2
|
Caption
|
SIMPAN
|
Button3
|
Caption
|
RESET
|
Button4
|
Caption
|
LAPORAN
|
Button5
|
Caption
|
HAPUS
|
Button6
|
Caption
|
EDIT
|
Button7
|
Caption
|
KEMBALI
|
Button8
|
Caption
|
CARI
|
ADOTable1
|
ConnectionString
|
Dbapotik
|
TableName
|
Data_obat
|
|
active
|
true
|
|
DataSource1
|
DataSet
|
ADOTable1
|
DBGrid1
|
DataSource
|
DataSource
|
SOURCE CODE DATA OBAT
TAMBAH
procedure TForm4.Button1Click(Sender: TObject);
begin
adotable1.Append;
end;
SIMPAN
procedure TForm4.Button2Click(Sender: TObject);
begin
adotable1.FieldByName('id_obat').AsString:=dbedit1.Text;
adotable1.FieldByName('nama_obat').AsString:=dbedit2.Text;
adotable1.FieldByName('jenis').AsString:=dbedit3.Text;
adotable1.FieldByName('expired').AsString:=dbedit4.Text;
adotable1.FieldByName('harga').AsString:=dbedit5.Text;
adotable1.Post;
end;
RESET
procedure TForm4.Button3Click(Sender: TObject);
begin
DBEdit1.Text:='';
DBEdit2.Text:='';
DBEdit3.Text:='';
DBEdit4.Text:='mm/dd/yyy';
DBEdit5.Text:='';
end;
LAPORAN
procedure TForm4.Button6Click(Sender: TObject);
begin
quickreport8.adotable1.close;
quickreport8.adotable1.open;
quickreport8.Preview;
end;
HAPUS
procedure TForm4.Button4Click(Sender: TObject);
begin
adotable1.Delete;
end;
EDIT
procedure TForm4.Button8Click(Sender: TObject);
begin
ADOtable1.Edit;
ADOtable1.FieldByName('id_obat').AsString:=dbedit1.Text;
ADOtable1.FieldByName('Nama_Obat').AsString:=dbedit2.Text;
ADOtable1.FieldByName('Jenis').AsString:=dbedit3.Text;
ADOtable1.FieldByName('expired').AsString:=dbedit4.Text;
ADOtable1.FieldByName('Harga').AsString:=dbedit5.Text;
ADOtable1.Post;
end;
end.
KEMBALI
procedure TForm4.Button5Click(Sender: TObject);
begin
form2.show;
form4.Hide;
end;
CARI
procedure TForm4.Button7Click(Sender: TObject);
begin
IF adotable1.Locate('id_obat',edit1.Text,[])then
begin
dbedit1.Text:=adotable1['id_obat'];
dbedit2.Text:=adotable1['nama_obat'];
dbedit3.Text:=adotable1['jenis'];
dbedit4.Text:=adotable1['expired'];
dbedit5.Text:=adotable1['harga'];
end
else
messagedlg('data tidak di
temukan',mtInformation,[mbOK],0)
end;
6.

Lagkah-langkah nya sama seperti di atas buat form baru data konsumen===è

Lagkah-langkah nya sama seperti di atas buat form baru data konsumen===è
KOMPONEN
|
PROPERTIES
|
SETTING
|
Label1
|
Caption
|
Data Obat
|
-
|
Caption
|
kosongkan
|
Caption
|
kosongkan
|
|
Caption
|
Kosongkan
|
|
Caption
|
kosongkan
|
|
Caption
|
kosongkan
|
|
Caption
|
kosongkan
|
|
Button1
|
Caption
|
TAMBAH
|
Button2
|
Caption
|
SIMPAN
|
Button3
|
Caption
|
RESET
|
Button4
|
Caption
|
LAPORAN
|
Button5
|
Caption
|
HAPUS
|
Button6
|
Caption
|
EDIT
|
Button7
|
Caption
|
KEMBALI
|
Button8
|
Caption
|
CARI
|
ADOTable1
|
ConnectionString
|
Dbapotik
|
TableName
|
Data_obat
|
|
active
|
true
|
|
DataSource1
|
DataSet
|
ADOTable1
|
DBGrid1
|
DataSource
|
DataSource
|
KODE-KODE DATA KONSUMEN
TAMBAH
procedure TForm5.Button1Click(Sender: TObject);
begin
ADOTABLE1.Append;
end;
SIMPAN
procedure TForm5.Button2Click(Sender: TObject);
begin
ADOTable1.FieldByName('id_konsumen').AsString:=dbedit1.Text;
ADOTable1.FieldByName('Nama_konsumen').AsString:=dbedit2.Text;
ADOTable1.FieldByName('alamat').AsString:=dbedit3.Text;
ADOTable1.FieldByName('status').AsString:=dbedit4.Text;
ADOTable1.FieldByName('Jenis_kelamin').AsString:=dbedit5.Text;
ADOTable1.FieldByName('telepon').AsString:=dbedit6.Text;
adotable1.Post;
end;
RESET
procedure TForm5.Button3Click(Sender: TObject);
begin
dbedit1.Text:='';
dbedit2.Text:='';
dbedit3.Text:='';
dbedit4.Text:='';
dbedit5.Text:='';
dbedit6.Text:='';
end;
LAPORAN
procedure TForm5.Button4Click(Sender: TObject);
begin
quickreport9.adotable1.close;
quickreport9.adotable1.open;
quickreport9.Preview;
end;
HAPUS
procedure TForm5.Button5Click(Sender: TObject);
begin
adotable1.Delete;
end;
EDIT
procedure TForm5.Button8Click(Sender: TObject);
begin
ADOtable1.Edit;
ADOtable1.FieldByName('id_konsumen').AsString:=dbedit1.Text;
ADOtable1.FieldByName('Nama_Konsumen').AsString:=dbedit2.Text;
ADOtable1.FieldByName('alamat').AsString:=dbedit3.Text;
ADOtable1.FieldByName('Status').AsString:=dbedit4.Text;
ADOtable1.FieldByName('Jenis_Kelamin').AsString:=dbedit5.Text;
ADOtable1.FieldByName('Telepon').AsString:=dbedit6.Text;
ADOtable1.Post;
end;
end.
KELUAR
procedure TForm5.Button6Click(Sender: TObject);
begin
form2.show;
form5.Hide;
end;
CARI
procedure TForm5.Button7Click(Sender: TObject);
begin
IF adotable1.Locate('id_konsumen',edit1.Text,[])then
begin
dbedit1.Text:=adotable1['id_konsumen'];
dbedit2.Text:=adotable1['nama_konsumen'];
dbedit3.Text:=adotable1['alamat'];
dbedit4.Text:=adotable1['status'];
dbedit5.Text:=adotable1['jenis_kelamin'];
dbedit6.Text:=adotable1['telepon'];
end
else
messagedlg('data tidak
ditemukan',mtInformation,[mbOK],0)
end;
7.
Sekarang saatnya kita membuat laporan agar
menjadi bukti dalam bentuk
fisiknya,pertama kita akan membuat report untuk table data konsumen
lanjut saja desain pada form report laporan menggunakan quick report::::

KOMPONEN
|
PROPERTIES
|
SETTING
|
QRLabel1
|
Caption
|
Tabel Data Konsumen
|
QRLabel2
|
Caption
|
Nomor
|
QRLabel3
|
Caption
|
Id Konsumen
|
QRLabel4
|
Caption
|
Nama Konsumen
|
QRLabel5
|
Caption
|
Alamat
|
QRLabel6
|
Caption
|
Status
|
QRLabel7
|
Caption
|
Jenis Kelamin
|
QRLabel8
|
Caption
|
Telepon
|
QRSysData1
|
Data
|
qrsdetailNo
|
QRDBText1
|
DataSet
|
ADOTable1
|
DataField
|
nomor
|
|
QRDBText2
|
DataSet
|
ADOTable1
|
DataField
|
Id_konsumen
|
|
QRDBText3
|
DataSet
|
ADOTable1
|
DataField
|
Nama_konsumen
|
|
QRDBText4
|
DataSet
|
ADOTable1
|
DataField
|
alamat
|
|
QRDBText5
|
DataSet
|
ADOTable1
|
DataField
|
status
|
|
QRDBText6
|
DataSet
|
ADOTable1
|
DataField
|
jeniskelamin
|
|
QRDBText7
|
DataSet
|
ADOTable1
|
DataField
|
telepon
|
|
ADOTable1
|
connectionstring
|
dbapotik
|
tablename
|
Table_konsumen
|
|
Quickreport9
|
dataset
|
Adotable1
|
8.
Lanjuuutt buat quick report data obat cara nya
sama seprti di atas

KOMPONEN
|
PROPERTIES
|
SETTING
|
QRLabel1
|
Caption
|
Tabel Data obat
|
QRLabel2
|
Caption
|
Nomor
|
QRLabel3
|
Caption
|
Id Obat
|
QRLabel4
|
Caption
|
Nama Obat
|
QRLabel5
|
Caption
|
Jenis
|
QRLabel6
|
Caption
|
Expired
|
QRLabel7
|
Caption
|
Harga
|
QRSysData1
|
Data
|
qrsdetailNo
|
QRDBText1
|
DataSet
|
ADOTable1
|
DataField
|
Id_Obat
|
|
QRDBText2
|
DataSet
|
ADOTable1
|
DataField
|
Nama_Obat
|
|
QRDBText3
|
DataSet
|
ADOTable1
|
DataField
|
Jenis
|
|
QRDBText4
|
DataSet
|
ADOTable1
|
DataField
|
Expired
|
|
QRDBText5
|
DataSet
|
ADOTable1
|
DataField
|
Harga
|
|
ADOTable1
|
connectionstring
|
dbapotik
|
tablename
|
Table_Obat
|
|
Quickreport8
|
dataset
|
Adotable1
|
9.
Selanjutnya membuat quickreport teransaksi

KOMPONEN
|
PROPERTIES
|
SETTING
|
QRLabel1
|
Caption
|
Tabel Laporan Data
Teransaksi
|
QRLabel2
|
Caption
|
Nomor
|
QRLabel3
|
Caption
|
Id transaksi
|
QRLabel4
|
Caption
|
Nama Konsumen
|
QRLabel5
|
Caption
|
Nama Obat
|
QRLabel6
|
Caption
|
Tanggal
|
QRLabel7
|
Caption
|
Harga Obat
|
QRLabel8
|
Caption
|
Qty
|
QRLabel9
|
Caption
|
Jumlah
|
QRSysData1
|
Data
|
qrsdetailNo
|
QRDBText1
|
DataSet
|
ADOTable1
|
DataField
|
Id_transaksi
|
|
QRDBText2
|
DataSet
|
ADOTable1
|
DataField
|
nama_konsumen
|
|
QRDBText3
|
DataSet
|
ADOTable1
|
DataField
|
Nama_obat
|
|
QRDBText4
|
DataSet
|
ADOTable1
|
DataField
|
Tanggal
|
|
QRDBText5
|
DataSet
|
ADOTable1
|
DataField
|
Harga_Obat
|
|
QRDBText6
|
DataSet
|
ADOTable1
|
DataField
|
Qty
|
|
QRDBText7
|
DataSet
|
ADOTable1
|
DataField
|
Jumlah
|
|
ADOTable1
|
connectionstring
|
dbapotik
|
tablename
|
Table_teransaksi
|
|
Quickreport7
|
dataset
|
Adotable1
|




