BUAT DATABASE DENGAN NAMA : PENJUALAN TABEL : BARANG FIELD NAME KODE_BRG NAMA_BRG HARGA SATUAN LUSIN PCS
DATATYPE TEXT TEXT CURRENCY TEXT NUMERIK NUMERIK
FIELD SIZE 10 25
PRIMARYKEY
15 BYTE BYTE
BUAT PROJECT BARU : FILE NEW APPLICATION BUAT DESAIN FORM
UNTUK MEMBUAT DESAIN SEPERTI DI ATAS IKUTI PETUNJUK TABEL DI BAWAH INI : NO
PILIH KOMPONEN
PILIH PROPERTY
• Caption • Alignment • BevelInner 2 Panel2 • Caption • BevelInner • Alignment 3 AdoConnection • ConnectionString • Login Prompt • Connected 4 AdoTable • Connection • TableName • Active Klik 2x AdoTable Klik kanan pada tampat kosong Harga, Satuan Drag dan letakkan pada Form. 5 DBCombobox • DataSource • DataField • Items 1
Panel1
UBAH VALUE MENJADI
KETERANGAN
Panel dari Tab Standar • INPUT DATA BARANG • taLeftJustify • bvLowered • Kosongkan • bvLowered • taLeftJustify Dari tab ADO • Pilih Provider nya • False • True Dari Tab ADO • AdoConnection1 • Barang • True Add All Fields Select Field Kode_brg, Nama_brg,
• DataSaource1 • Satuan • Ketik : KARTON LUSIN PCS Hapus DBEDIT4 (milik satuan) Ganti dengan DBCombobox 6 Groupbox • Caption • ISI BARANG Klik 2x Adotable Pilih Lusin dan PCS Drag letakkan di dalam Groupbox 7 DBGrid • DataSource • DataSource1 8 DBNavigator • DataSource • DataSource1 • [+]visibleButtons • Klik tanda[+], nbfirst, nbprior,nbNext,nbLast ubah menjadi False Letakkan di samping kanan Kode_brg 9 DBNavigator • DataSource • DataSource1 • [+]visibleButtons • Klik tanda[+], selain nbfirst, nbprior,nbNext,nbLast ubah menjadi False Letakkan di atas kanan DBGRID 10 Form • Caption • INPUT DATA BARANG • Name • FBarang
Dari tab data Controls
Dari tab Standar Dari tab data Controls Dari tab data Controls
Dari tab data Controls
SIMPAN UNIT DENGAN NAMA SIMPAN PROJECT DENGAN NAMA
= UBARANG = PPENJUALAN
LISTING PROGRAM 1. Klik 2x Form procedure TFBARANG.FormCreate(Sender: TObject); begin ADOTABLE1.Last; PANEL2.Caption:= ADOTABLE1KODE_BRG.AsString; ADOTABLE1.First; end; 2.
Pilih Event OnAfterPost milik AdoTable1 procedure TFBARANG.ADOTable1AfterPost(DataSet: TDataSet); begin ADOTABLE1.Last; PANEL2.Caption:= ADOTABLE1KODE_BRG.AsString; ADOTABLE1.First; end; end.
• •
RUNNING ISI DENGAN DATA MINIMAL 3
TABEL : STOK FIELD NAME KODE_BRG STOK_LAMA STOK
DATATYPE TEXT NUMBER NUMBER
FIELD SIZE 10 BYTE BYTE
PRIMARYKEY
BUAT FORM BARU : FILE NEW NEW FORM
UNTUK MEMBUAT DESAIN SEPERTI DI ATAS IKUTI PETUNJUK TABEL DI BAWAH INI : NO
PILIH KOMPONEN
PILIH PROPERTY
UBAH VALUE MENJADI
KETERANGAN
1
AdoConnection
AdoTable
3
DataSource
4
DBGrid
• Pilih Provider nya • False • True • TBarang • AdoConnection1 • Barang • True • DSBarang • TBarang • DSBarang
Dari tab ADO
2
• ConnectionString • Login Prompt • Connected • Name • Connection • TableName • Active • Name • DataSet • DataSource
Dari Tab ADO
• Name • gridBarang Klik 2x TBarang Klik kanan pada tampat kosong Add All Fields Klik 2x GridBarang Klik kanan pada tempat kosong Add All Fields Hapus Selain Kode_brg dan Nama_brg 5 DbNavigator Letakkan di bawah • Name • NaviBarang GridBarang • DataSource • DSBarang • [+]visibleButtons • Klik tanda[+], selain nbfirst, nbprior,nbNext,nbLast ubah menjadi False 6 Groupbox • Caption • PROSES NAVIGASI 7 Combobox TAMBAH • Items EDIT HAPUS --PILIH-• Text 8 Button1 • Caption • TAMBAH • Enabled • False 9 Button2 • Caption • EDIT • Enabled • False 10 Button3 • Caption • HAPUS • Enabled • False 11 Button4 • Caption • BATAL • Enabled • False 12 Groupbox • Caption • INPUT STOK Tambahkan di dalamnya Komponen Edit1, Edit2, Edit3, Updown1, Updown2, Updown3 13 Updown1 • Associate • Edit1 14 Updown2 • Associate • Edit2 15 Updown3 • Associate • Edit3 Pada bagian ini akan 16 AdoTable • Name • TStok menggabungkan antara • Connection • AdoConnection1 tabel barang dan stok • TableName • Stok yang digabungkan • Active • True melalui primary key nya • MasterSource • DSBarang (kode_brg) • MasterFields • Klik Tombol […]
17
DataSource
18
DBGrid DbNavigator
19
Form
• Name • DataSet • DataSource • Name • Name • DataSource • [+]visibleButtons
• Name • Caption
Pada DetailFields pilih Kode_brg Pada masterFields pilih Kode_brg Klik Add Klik OK • DSStok • TStok • DSStok • gridStok • NaviStok • DSStok • Klik tanda[+], selain nbfirst, nbprior,nbNext,nbLast ubah menjadi False • Fkontrol • KONTROL STOK
Letakkan GridStok
di
LISTING PROGRAM Letakkan pada variabel global : Karton,lusin,pcs,stok: byte; 1.
Pilih Event OnActivate milik Form procedure TFKONTROL.FormActivate(Sender: TObject); begin ADOCONNECTION1.Connected:= FALSE; ADOCONNECTION1.Connected:= TRUE; TBarang.Active:= TRUE; TStok.Active:= TRUE; end;
2.
Klik 2x Combobox procedure TFKONTROL.ComboBox1Change(Sender: TObject); begin CASE COMBOBOX1.ItemIndex OF 0: BEGIN BUTTON1.Enabled:= TRUE; BUTTON2.Enabled:= FALSE; BUTTON3.Enabled:= FALSE; END; 1: BEGIN BUTTON2.Enabled:= TRUE;
atas
BUTTON1.Enabled:= FALSE; BUTTON3.Enabled:= FALSE; END; 2: BEGIN BUTTON3.Enabled:= TRUE; BUTTON2.Enabled:= FALSE; BUTTON1.Enabled:= FALSE; END; END; end; 3.
Klik 2x Tombol TAMBAH procedure TFKONTROL.Button1Click(Sender: TObject); begin IF BUTTON1.Caption='TAMBAH' THEN BEGIN BUTTON1.Caption:= 'SIMPAN'; TSTOK.Insert; BUTTON4.Enabled:= TRUE; END ELSE BEGIN TSTOKSTOK_LAMA.AsInteger:= TSTOKSTOK.AsInteger; karton:= Updown1.Position*(TBaranglusin.AsInteger* 12+TBarangpcs.AsInteger); lusin:= Updown2.Position*12; pcs:= Updown3.Position; stok:= karton+lusin+pcs; TStokstok.AsInteger:= stok; TSTOK.Post; BUTTON1.Caption:= 'TAMBAH'; BUTTON1.Enabled:= FALSE; BUTTON4.Enabled:= FALSE; END; end;
4.
Klik 2x Tombol EDIT procedure TFKONTROL.Button2Click(Sender: TObject); begin IF BUTTON2.Caption='EDIT' THEN BEGIN BUTTON2.Caption:= 'SIMPAN'; TSTOK.EDIT; BUTTON4.Enabled:= TRUE; END ELSE BEGIN TSTOKSTOK_LAMA.AsInteger:= TSTOKSTOK.AsInteger; karton:= Updown1.Position*(TBaranglusin.AsInteger* 12+TBarangpcs.AsInteger); lusin:= Updown2.Position *12; pcs:= Updown3.Position; stok:= karton+lusin+pcs; TStokstok.AsInteger:= TStokstok.AsInteger + stok; TSTOK.Post; BUTTON2.Caption:= 'EDIT'; BUTTON2.Enabled:= FALSE; BUTTON4.Enabled:= FALSE; END; end;
5.
Klik 2x Tombol HAPUS procedure TFKONTROL.Button3Click(Sender: TObject);
6.
begin TSTOK.Delete; BUTTON3.Enabled:= FALSE; end; Klik 2x Tombol BATAL procedure TFKONTROL.Button4Click(Sender: TObject); begin TSTOK.Cancel; BUTTON4.Enabled:= FALSE; BUTTON1.Enabled:= FALSE; BUTTON2.Enabled:= FALSE; end;
Buat Field CalCulate pada Tabel TStok NamaField Type Karton Integer Lusin Integer PCS Integer 7.
Pilih Event OnCalcField milik Tabel TStok procedure TFKONTROL.TSTOKCalcFields(DataSet: TDataSet); var ktn,lsn,sktn,slsn: byte; begin karton:= (TBaranglusin.AsInteger*12)+ TBarangpcs.AsInteger; lusin:= 12; ktn:= TStokstok.AsInteger div karton ; sktn := tStokstok.AsInteger mod karton ; lsn:= sktn div lusin ; slsn:= sktn mod lusin; TStokKarton.AsInteger:= ktn; TStokLusin.AsInteger:= lsn; TStokPcs.AsInteger:= slsn; end; end.
Jalankan programnya : Petunjuk pengisian : a. Pilih nama barang yang akan ditambahkan sebagai stok b. Pilih Navigasinya (TAMBAH=untuk menambah data, EDIT=merubah data,HAPUS=untuk menghapus data, BATAL=untuk membatalkan tambah atau edit) c. Tentukan nilai pada INPUT STOK d. Klik Tombol SIMPAN
TABEL : TRANSAKSI FIELD NAME DATATYPE KD_TRANS TEXT KODE_PLG TEXT NAMA_PLG TEXT KODE_BRG TEXT JML_BL NUMBER TGL_TRANS DATE/TIME
FIELD SIZE 10 10 25 10 BYTE
PRIMARYKEY
BUAT FORM BARU : FILE NEW NEW FORM
UNTUK MEMBUAT DESAIN SEPERTI DI ATAS IKUTI PETUNJUK TABEL DI BAWAH INI : NO
PILIH KOMPONEN
PILIH PROPERTY
• ConnectionString • Login Prompt • Connected 2 AdoTable • Name • Connection • TableName • Active 3 DataSource • Name • DataSet 4 AdoTable • Name • Connection • TableName • Active 5 AdoTable • Name • Connection • TableName • Active Untuk masing tabel klik 2x dan tampilkan fieldnya 6 Panel • BevelInner • Caption 7 Button1 • Caption 1
AdoConnection
UBAH VALUE MENJADI
KETERANGAN
• Pilih Provider nya • False • True • TBeli • AdoConnection1 • Transaksi • True • DSBeli • TBeli • TBarang • AdoConnection1 • Barang • True • TStok • AdoConnection1 • Stok • True
Dari tab ADO
• Bvlowered • Kosongkan • GET
Letakkan di kanan panel
samping
Letakkan di kanan Edit1 Drag field2 dari tabel Tbeli untuk kd_plg, nama_plg dan kode_brg letakkan di bawah edit1 Klik kanan pada kotak kosong (Tbeli) pilih New Field Pada Kotak Name isi nm_brg, Type isi String, dan Size isi dengan 25 Pada kotak Field Type klik LookUp Pada combo Key Fields pilih Kode_brg Pada combo Dataset pilih Tbarang Pada combo Lookup Key pilih kode_brg Pada combo result Field pilih nama_brg OK Kemudian drag nm_brg dan letakkan di samping kode_brg (di form) 11 Groupbox • Caption • JUMLAH BELI 12 Edit2 • Caption • Kosongkan 13 Edit3 • Caption • Kosongkan
samping
8
Groupbox
• Caption
9 10
Edit1 Button2
• Text • Caption
• ENTRY TRANSAKSI • Kosongkan • BUAT
DATA
• Caption • Kosongkan • Caption • SISA STOK • Caption • Kosongkan • Caption • Kosongkan • Caption • Kosongkan • DataSource • DSBELI • Name • gridBELI Klik 2x DBGrid Klik kanan pada tempat kosong hilangkan selain pada yang tampil di dbgrid pada form 20 DbNavigator Letakkan di atas • Name • NaviBELI GridBELI • DataSource • DSBELI 14 15 16 17 18 19
Edit4 Groupbox Edit5 Edit6 Edit7 DBGrid
LISTING PROGRAM Letakkan variabel ini pada variabel global Karton,lusin,pcs: byte; ktn,lsn,sktn,slsn: byte; 1.
Klik 2x Tombol GET procedure TFBELI.Button1Click(Sender: TObject); begin PANEL1.Caption:= FORMATDATETIME('DD MMMM YYYY',DATE); end;
2.
Klik 2x Tombol BUAT procedure TFBELI.Button2Click(Sender: TObject); var notran: byte; begin if Tbeli.IsEmpty then begin edit1.Text:= 'T-0'; end else begin tbeli.Last; edit1.Text:= tbelikode_trans.AsString; end; notran:= strtoint(COPY(EDIT1.Text,3,3)); notran:= notran+1; edit1.Text:= 'T-'+inttostr(notran); end;
3.
Klik 2x Form procedure TFBELI.FormCreate(Sender: TObject); begin TBeli.last; edit1.Text:= tBelikode_trans.AsString; end;
4.
Pilih Event OnActivate milik Form procedure TFBELI.FormActivate(Sender: TObject); begin ADOCONNECTION1.Connected:= FALSE; ADOCONNECTION1.Connected:= TRUE; TBarang.Active:= TRUE; TStok.Active:= TRUE; TBeli.Active:= true; end;
5.
Pilih Event OnClick milik DBLookupComboBox procedure TFBELI.DBLookupComboBox1Click(Sender: TObject); begin TSTOK.Locate('KODE_BRG',DBEDIT3.TEXT,[ ]);
karton:= (TBaranglusin.AsInteger*12)+ TBarangpcs.AsInteger; lusin:= 12; ktn:= TStokstok.AsInteger div karton ; sktn := tStokstok.AsInteger mod karton ; lsn:= sktn div lusin ; slsn:= sktn mod lusin; edit5.Text:= inttostr(ktn); edit6.Text:= inttostr(lsn); edit7.Text:= inttostr(slsn); end; 6.
Pilih Event OnBeforePost milik Tabel TBeli procedure TFBELI.TBELIBeforePost(DataSet: TDataSet); var beli: INTEGER; begin karton:= strtoint(edit2.Text)*(TBaranglusin.AsInteger* 12+TBarangpcs.AsInteger); lusin:= strtoint(edit3.Text)*12; pcs:= strtoint(edit4.Text); beli:= karton+lusin+pcs; TbeliJml_bl.AsInteger:= beli; TSTOK.Locate('KODE_BRG',DBEDIT3.Text,[]); if TStokStok.AsInteger < beli then begin showmessage('tidak dilayani'); TBeli.Cancel; end else begin TStok.Edit; TstokStok.AsInteger:= TStokStok.AsInteger-beli; Tstok.Post; karton:= (TBaranglusin.AsInteger*12)+ TBarangpcs.AsInteger; lusin:= 12; ktn:= TStokstok.AsInteger div karton ; sktn := tStokstok.AsInteger mod karton ; lsn:= sktn div lusin ; slsn:= sktn mod lusin; edit5.Text:= inttostr(ktn); edit6.Text:= inttostr(lsn); edit7.Text:= inttostr(slsn); end; end;
7.
Pilih Event OnAfterInsert milik Tabel TBeli procedure TFBELI.TBELIAfterInsert(DataSet: TDataSet); begin TBelikode_trans.AsString:= edit1.text; TBelitgl_trans.AsDateTime:= date; end;
Jalankan program di atas Petunjuk pengisian : 1.
Tekan tombol GET
2. 3. 4. 5. 6. 7.
Klik Tombol BUAT Klik Insert pada navigator Isi Kode Pelanggan dan Nama Pelanggan Klik Combo Nama Barang Isi jumlah beli Klik Post pada navigator
TUGAS KELOMPOK BUAT ANALISA (DENGAN MENULISKAN KEGUNAAN) SETIAP SINTAK DARI LISTING PROGRAM PADA MASING-MASING PROSEDUR. Catatan: Sebaiknya setiap sintaks pada listing diberikan nomor, sehingga mudah untuk menuliskan kegunaan pada masing-masing sintaks nya.