BUAT DATABASE DENGAN NAMA : PENJUALAN TABEL : BARANG FIELD NAME DATATYPE FIELD SIZE KODE_BRG TEXT 10 PRIMARYKEY NAMA_BRG TEXT 25 HARGA CURRENCY SATUAN TEXT 15 LUSIN NUMERIK BYTE PCS NUMERIK BYTE BUAT PROJECT BARU : FILE NEW APPLICATION BUAT DESAIN FORM UNTUK MEMBUAT DESAIN SEPERTI DI ATAS IKUTI PETUNJUK TABEL DI BAWAH INI : NO KOMPONEN PROPERTY 1 Panel1 Caption Alignment BevelInner 2 Panel2 Caption BevelInner Alignment 3 AdoConnection ConnectionString Login Prompt Connected 4 AdoTable Connection UBAH VALUE MENJADI INPUT DATA BARANG taleftjustify bvlowered Kosongkan bvlowered taleftjustify Pilih Provider nya Barang KETERANGAN Panel dari Tab Standar Dari tab ADO Dari Tab ADO Klik 2x AdoTable Klik kanan pada tampat kosong Add All Fields Select Field Kode_brg, Nama_brg, Harga, Satuan Drag dan letakkan pada Form. 5 DBCombobox DataSource DataField Items DataSaource1 Satuan Ketik : KARTON LUSIN PCS Dari tab data Controls Hapus DBEDIT4 (milik satuan) Ganti dengan DBCombobox 6 Groupbox Caption ISI BARANG Dari tab Standar Klik 2x Adotable Pilih Lusin dan PCS Drag letakkan di dalam Groupbox 7 DBGrid DataSource DataSource1 Dari tab data Controls 8 DBNavigator DataSource [+]visiblebuttons Letakkan di samping kanan Kode_brg 9 DBNavigator DataSource [+]visiblebuttons Letakkan di atas kanan DBGRID 10 Form Caption Name DataSource1 Klik tanda[+], nbfirst, nbprior,nbnext,nblast ubah menjadi False DataSource1 Klik tanda[+], selain nbfirst, nbprior,nbnext,nblast ubah menjadi False INPUT DATA BARANG FBarang 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); ADOTABLE1.Last; PANEL2.Caption:= ADOTABLE1KODE_BRG.AsString; ADOTABLE1.First; 2. Pilih Event OnAfterPost milik AdoTable1 procedure TFBARANG.ADOTable1AfterPost(DataSet: TDataSet); ADOTABLE1.Last; PANEL2.Caption:= ADOTABLE1KODE_BRG.AsString; ADOTABLE1.First; end. RUNNING ISI DENGAN DATA MINIMAL 3 TABEL : STOK FIELD NAME DATATYPE FIELD SIZE KODE_BRG TEXT 10 PRIMARYKEY STOK_LAMA NUMBER BYTE STOK NUMBER BYTE BUAT FORM BARU : FILE NEW NEW FORM UNTUK MEMBUAT DESAIN SEPERTI DI ATAS IKUTI PETUNJUK TABEL DI BAWAH INI : NO KOMPONEN PROPERTY 1 AdoConnection ConnectionString Login Prompt Connected 2 AdoTable Name Connection 3 DataSource Name DataSet UBAH VALUE MENJADI Pilih Provider nya TBarang Barang DSBarang TBarang 4 DBGrid DataSource DSBarang KETERANGAN Dari tab ADO 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 Name DataSource [+]visiblebuttons NaviBarang DSBarang Klik tanda[+], selain nbfirst, nbprior,nbnext,nblast ubah menjadi False Letakkan di bawah GridBarang 6 Groupbox Caption PROSES NAVIGASI 7 Combobox Items Text TAMBAH EDIT HAPUS ---- 8 Button1 Caption Enabled TAMBAH 9 Button2 Caption Enabled EDIT 10 Button3 Caption Enabled HAPUS 11 Button4 Caption Enabled BATAL 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 16 AdoTable Name TStok Pada bagian ini akan Connection menggabungkan antara Stok tabel barang dan stok yang digabungkan MasterSource DSBarang melalui primary key nya MasterFields Klik Tombol [ ] (kode_brg) Pada DetailFields pilih Kode_brg Pada masterfields pilih Kode_brg Klik Add Klik OK 17 DataSource Name DataSet DSStok TStok 18 DBGrid DataSource DSStok DbNavigator Name Name DataSource [+]visiblebuttons 19 Form Name Caption LISTING PROGRAM Letakkan pada variabel global : Karton,lusin,pcs,stok: byte; gridstok NaviStok DSStok Klik tanda[+], selain nbfirst, nbprior,nbnext,nblast ubah menjadi False Fkontrol KONTROL STOK 1. Pilih Event OnActivate milik Form procedure TFKONTROL.FormActivate(Sender: TObject); ADOCONNECTION1.Connected:= FALSE; ADOCONNECTION1.Connected:= TRUE; TBarang.Active:= TRUE; TStok.Active:= TRUE; Letakkan di atas GridStok 2. Klik 2x Combobox procedure TFKONTROL.ComboBox1Change(Sender: TObject); CASE COMBOBOX1.ItemIndex OF 0: BEGIN BUTTON1.Enabled:= TRUE; BUTTON2.Enabled:= FALSE; BUTTON3.Enabled:= FALSE; 1: BEGIN BUTTON2.Enabled:= TRUE;
BUTTON1.Enabled:= FALSE; BUTTON3.Enabled:= FALSE; 2: BEGIN BUTTON3.Enabled:= TRUE; BUTTON2.Enabled:= FALSE; BUTTON1.Enabled:= FALSE; 3. Klik 2x Tombol TAMBAH procedure TFKONTROL.Button1Click(Sender: TObject); 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; 4. Klik 2x Tombol EDIT procedure TFKONTROL.Button2Click(Sender: TObject); 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; 5. Klik 2x Tombol HAPUS procedure TFKONTROL.Button3Click(Sender: TObject);
TSTOK.Delete; BUTTON3.Enabled:= FALSE; 6. Klik 2x Tombol BATAL procedure TFKONTROL.Button4Click(Sender: TObject); TSTOK.Cancel; BUTTON4.Enabled:= FALSE; BUTTON1.Enabled:= FALSE; BUTTON2.Enabled:= FALSE; 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; 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. 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 FIELD SIZE KD_TRANS TEXT 10 PRIMARYKEY KODE_PLG TEXT 10 NAMA_PLG TEXT 25 KODE_BRG TEXT 10 JML_BL NUMBER BYTE TGL_TRANS DATE/TIME BUAT FORM BARU : FILE NEW NEW FORM UNTUK MEMBUAT DESAIN SEPERTI DI ATAS IKUTI PETUNJUK TABEL DI BAWAH INI : NO KOMPONEN PROPERTY 1 AdoConnection ConnectionString Login Prompt Connected 2 AdoTable Name Connection 3 DataSource Name DataSet 4 AdoTable Name Connection 5 AdoTable Name Connection Untuk masing tabel klik 2x dan tampilkan fieldnya 6 Panel BevelInner UBAH VALUE MENJADI Pilih Provider nya TBeli Transaksi DSBeli TBeli TBarang Barang TStok Stok Bvlowered Kosongkan KETERANGAN Dari tab ADO Caption 7 Button1 Caption GET Letakkan di samping kanan panel 8 Groupbox Caption ENTRY DATA TRANSAKSI 9 Edit1 Text Kosongkan 10 Button2 Caption BUAT Letakkan di samping 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
14 Edit4 Caption Kosongkan 15 Groupbox Caption SISA STOK 16 Edit5 Caption Kosongkan 17 Edit6 Caption Kosongkan 18 Edit7 Caption Kosongkan 19 DBGrid DataSource Name DSBELI gridbeli Klik 2x DBGrid Klik kanan pada tempat kosong hilangkan selain pada yang tampil di dbgrid pada form 20 DbNavigator Name NaviBELI Letakkan di atas DataSource DSBELI GridBELI 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); PANEL1.Caption:= FORMATDATETIME('DD MMMM YYYY',DATE); 2. Klik 2x Tombol BUAT procedure TFBELI.Button2Click(Sender: TObject); var notran: byte; if Tbeli.IsEmpty then edit1.text:= 'T-0'; end else tbeli.last; edit1.text:= tbelikode_trans.asstring; notran:= strtoint(copy(edit1.text,3,3)); notran:= notran+1; edit1.text:= 'T-'+inttostr(notran); 3. Klik 2x Form procedure TFBELI.FormCreate(Sender: TObject); TBeli.last; edit1.text:= tbelikode_trans.asstring; 4. Pilih Event OnActivate milik Form procedure TFBELI.FormActivate(Sender: TObject); ADOCONNECTION1.Connected:= FALSE; ADOCONNECTION1.Connected:= TRUE; TBarang.Active:= TRUE; TStok.Active:= TRUE; TBeli.Active:= true; 5. Pilih Event OnClick milik DBLookupComboBox procedure TFBELI.DBLookupComboBox1Click(Sender: TObject); 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); 6. Pilih Event OnBeforePost milik Tabel TBeli procedure TFBELI.TBELIBeforePost(DataSet: TDataSet); var beli: INTEGER; 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 showmessage('tidak dilayani'); TBeli.Cancel; end else 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); 7. Pilih Event OnAfterInsert milik Tabel TBeli procedure TFBELI.TBELIAfterInsert(DataSet: TDataSet); TBelikode_trans.AsString:= edit1.text; TBelitgl_trans.AsDateTime:= date; Jalankan program di atas Petunjuk pengisian : 1. Tekan tombol GET
2. Klik Tombol BUAT 3. Klik Insert pada navigator 4. Isi Kode Pelanggan dan Nama Pelanggan 5. Klik Combo Nama Barang 6. Isi jumlah beli 7. 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.