Professional Documents
Culture Documents
Ir.Hartoto2013
http://www.xbasicpro.com
1
______________________________________________________________________________
TrikProgramPenjualandengan
VisualBasic6
Belajarmembuatprogrampenjualandenganvisualbasicmerupakansuatuhaldasar
yangpentingyangharusdikuasaiolehseorangprogrammeryangakanmembuat
programdatabasebisnis.Disinisayaakanmemberikancontohprogramvbpenjualan
yangmudahdandapatdijadikandasardalampembuatanformformtransaksilainnya
sepertipembelian,hutang,piutangdanlainlain.
EBookiniberisitulisancaramembuatprogrampenjualandenganvisualbasic.
SebelummempelajariebookinisebaiknyaAndamembacaebooksayayangberjudul:
1.EBOOKTRIKDASARBELAJARVISUALBASIC6.0
2.EBookTrikDatabaseVisualBasic6.0
ProgrampenjualanyangakanAndabuatdenganvisualbasicinidapatmenghitungstok
barangdanlabakotordaritransaksipenjualanpadasatuperiode.
PadaperancanganaplikasipenjualaniniAndaakanmenggunakan:
1. VisualBasic6.0
2. SQLServer2005ExpressSP3keatas
3. CrystalReport11
4. Windows7
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
2
______________________________________________________________________________
Rancangansoftwareinimenggunakan2layer(tingkat):
1.Form
2.ClassDatabase
Formdigunakanuntukinteraksipenggunadenganprogram
Classdatabasedigunakanuntukpengolahandatasqlserver.
Programpenjualandiawalidarirancangantransaksi.Transaksibisaberupatransaksi
pembelian,penjualan,hutang,piutangdanlainlain.
Darirancangantransaksiberupadatabasemaupunformdiperolehrancangandatabase
ataupunformformmastersepertimasterbarang,customer,supplierdanlainlain.
Andatentubisamemutarlogikasepertitransaksipembelianpastinyaberhubungan
denganmasterbarangdansupplier.Demikianjugadengantransaksipenjualansudah
pastiberhubungandenganmasterbarangdancustomer.Jikamungkinbarangbarang
sudahterlalubanyakjenisnyabisasajadibuatkategoribarangtergantungkebutuhan.
Daricatatancatatantransaksipenjualanmaupunpembeliantentunyadapatdibuatkan
laporan/report.Cukupsederhanabukan?
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
3
______________________________________________________________________________
BagaimanaLangkahlangkahMembuatProgramDatabaseBisnisdengan
VisualBasic?
DisinisayatidakakanmenjelaskanbagaimanateoriteoriAnalisisDesignyangdikerjakanoleh
systemanalyst.Tetapilangsungsajamembuatprogramyangadadikepalatrus
diimplementasikan.Jadilahprogramnya.
Ingatwaktubelajarmembuatprogramduludahbanyakbukudankodekodeyangdipelajari.
Tapisayangnyamasihbingungjugabagaimanasihcaranyamembuatprogramdatabasebisnis
sepertiprogrampenjualan?
Huf...bingungnihkarenatidakpunyapengalamanmembuatprogrammaumulaidarimanajuga
gaktau.Yahwaktutahunsekitar2002itusayamasihsebagaiITNetworkAdministrator
sekaligusHelpdeskdisebuahperusahaan.Perusahaanmemakaiprogramyangdibuatoleh
kantorpusat.Kebetulanwaktuimplementasiprogramduaorangprogrammernyaturunke
cabangtempatsayabekerjasebagaiITNetworkAdministratordanHelpdesknya.
Karenamemangsedanghobbydankepinginnyabelajarprogramsayatidaksegansegan
langsungtanyakeprogrammernya.
KebetulanMasiniadalahprogrammerseniornya.Sayatanyakedia.Masklomobikinprogram
databaseapasihyangpertamadilakukan?
KebetulanMasinimaujawabpertanyaansaya:
1.Pegangdululaporanlaporanapasayayangakandibuat
2.BuattabeltabeldanQueryyangsesuaidenganlaporanyangakandihasilkandidatabase
3.Buatformprosesdata(tambah,edit,hapus,insert,caridll.)
4.IkutiaturanStandardOperasionalProcedure(SOP)programnya.
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
4
______________________________________________________________________________
WahjawabanMasinisangatsederhanasekalidanterusterangwaktuitusayamasihbingung
mobuatlaporannyagimana,buattabeldanquerynyagimana?
Seiringdenganberjalannyawaktusayapuncobakeluardariperusahaanitudanmelamarke
perusahaanpembuatsoftware(softwarehouse)denganharapanbisajadiprogrammer(he..he..
perjuangan).
OK.SetelahbeberapalamabekerjadiPerusahaanSoftwareDeveloper,diperusahaan
manufakturdanmembuatProgramfreelance,ternyatahalyangdikerjakantetapsamaseperti
diatas.
Kembalikelangkahtadiya:
1.Pegangdululaporanlaporanapasayayangakandibuat
AndabisamembuatlaporandenganCrystalReport,datareportatauactivereport.
Untukmembuatsumberreportadayangmembuatsumberdatanyadaritabeladajugayang
membuatdatanyadariqueryatauView
2.BuattabeltabeldanQueryyangsesuaidenganlaporanyangakandihasilkandidatabase
JikamemakasidatabaeaccessAndabisamembuattabeldanquerynyadiprogrammsaccess.
JikaandamemakaiSQLServerTabelatauQuerybisadibuatdenganenterprisemanageratau
SQLQueryAnalizer
3.Buatformprosesdata(input,edit,hapus,insert,caridll.)
AndabisamembuatformpengolahandatainibisadengandatabaseSQLServeratau
formpengolahandatadenganMSAccessataudatabaselainnya.
4.IkutiaturanStandardOperasionalProcedure(SOP)programnya.
ContohsederhanadariSOPiniadalahmisalpadaprogrampenjualan,aturannyaadadiscount
10%untukpembeliyangtelahmempunyaikartuanggota(member).TinggalpakeLogika
(Percabangan)
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
5
______________________________________________________________________________
RancanganTransaksiPenjualan
PadarancangantransaksipenjualaniniANDAakanmenggunakantablesementara
sebagaitempatcoretcoretbelanjaanbarangpadatablejual_d_sem(tablepenjualan
detailsementara).
Setelahcoratcoretditabelsementarabenarmakadaftarbelanjaanditulissemuanyake
dalamtablejual_d(tablejualdetail)
RancanganTabelPenjualan
Berikutadalahkodesqlrancangantabelpenjualannya:
create table jual_m (
no_jual varchar(10) not null CONSTRAINT PK_jual primary key,
tgl datetime,
kd_cust varchar(5),
nama varchar(15)
)
Go
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
6
______________________________________________________________________________
)
go
Jikadilihatrelasitabelnyaakansepertigambardibawahini:
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
7
______________________________________________________________________________
RancanganFormPenjualan
RancanganFormPenjualanDetail
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
8
______________________________________________________________________________
KodepadaFormTransaksiJual
KodePadaTombolTambah
PrivateSubcmdTambah_Click()
DimsDelSemAsString
sDelSem="deletefromjual_d_sem"
oDB.ExecSQL(sDelSem)
RefreshGrid
kosongForm
editMode=idxEditMode.tambah
enableForm
EndSub
Datayangadapadatablejual_d_semsebagaitablecoratcoretbelanjaandihapus
terlebihdahulu:
DimsDelSemAsString
sDelSem="deletefromjual_d_sem"
oDB.ExecSQL(sDelSem)
Setelahdihapustampilandatagridviedetail(MSHFlexGrid1)disegarkan.Lihatkodedi
bawahini:
PublicSubRefreshGrid()
DimsAsString
s="select*fromjual_d_sem"
DimoRsAsNewADODB.Recordset
SetoRs=oDB.getReadOnlyRSSQL(s)
SetMSHFlexGrid1.DataSource=oRs
EndSub
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
9
______________________________________________________________________________
Setelahituformdikosongkan.BerikutadalahkodepadaprosedurkosongForm
PrivateSubkosongForm()
cboNoJual.Text=""
cboCust.Text=""
txtNama.Text=""
EndSub
Selanjutnyamodeformdisetmenjadimodeoperasirecordbaru(editMode=
idxEditMode.tambah)
LaluproteksitextboxdibukadenganprosedurenableForm
BerikutadalahkodepadaenableForm
PrivateSubenableForm()
cboNoJual.Enabled=True
dtpTgl.Enabled=True
cboCust.Enabled=True
txtNama.Enabled=True
EndSub
KodePadaTombolTambahDetail
Tomboltambahdetailyangdimaksudadalahtomboltambahyangterletaktepatdi
bawahMSHFlexgrid1.Tombolinidipakaiuntukmenambahitempenjualan.
Kodepadatomboltambahdigunakanuntukmenambahdatabelanjaan.Lihtakodedi
bawahini:
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
10
______________________________________________________________________________
PrivateSubcmdTambahDetail_Click()
penjualanDetailForm.editMode=idxEditMode.tambah
penjualanDetailForm.txtNoJual.Text=Me.cboNoJual.Text
penjualanDetailForm.ShowvbModal
EndSub
Ketikausermengkliktomboltambahmakakodeakanmensetform
PenjualanDetailFormkemodeoperasitambahlalumengisitextboxnomorjualyangada
dipenjualanDetailFormdenganisitextboxtNoJualyangadadicombonomorjualyang
adadiJualform.Lihatkodedibawahini:
penjualanDetailForm.editMode=idxEditMode.tambah
penjualanDetailForm.txtNoJual.Text=Me.cboNoJual.Text
SetelahformpenjualanDetailFormditampilkandilayardenganmodedialog.Lihatkode
dibawahini:
penjualanDetailForm.ShowvbModal
DibawahiniadalahdemoJualFormDetailditampilkan:
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
11
______________________________________________________________________________
Berikutadalahdemonya:
BerikutadalahhasilnyajikaAndatelahmemiliksalahsatukodebarangdanmengklik
combobarang:
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
12
______________________________________________________________________________
Andasudahbisamembuatmodultransaksipenjualanlengkapdenganoperasinya.Anda
bisamelakukandengancarayangsamauntukmembuatmodultransaksilainyaseperti
pembelian,hutang,piutang,bukukasdanlainlain.
PembuatanLaporan
LaporanPembelian
PadarancanganprograminiAndaakanmembuatlaporandenganmembuatViewpada
SQLServer.SelanjutnyalaporandaricrystalreportakanmembacaViewsebagaisumber
data.
UntukmenampilkanreportAndaakanmembuatformkhususdengannama
viewerForm.Berikutadalahdesignviewerform:
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
13
______________________________________________________________________________
BerikutadalahkodepadaviewerForm:
PublicrptNameAsString
PublicSqlAsString
PrivateoDBAsNewcdb
PrivateSubForm_Load()
Me.Left=(Screen.WidthMe.Width)/2
Me.Top=(Screen.HeightMe.Height)/2
DimoRsAsNewADODB.Recordset
DimCrystalAppAsNewCRAXDRT.Application
DimCrystalRptAsCRAXDRT.Report
SetoRs=oDB.getReadOnlyRSSQL(Sql)
SetCrystalRpt=CrystalApp.OpenReport(rptName)
CrystalRpt.DiscardSavedData
CrystalRpt.Database.SetDataSourceoRs
'tampilkanreportpadaviewer
CrystalActiveXReportViewer1.ReportSource=CrystalRpt
CrystalActiveXReportViewer1.ViewReport
oRs.Close
SetoRs=Nothing
EndSub
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
14
______________________________________________________________________________
KodediatasakanmemanggilclassCDbuntukpengolahandatabase.Recordyangakan
ditampilkanditampungpadatableyangdiperolehdariclassCDbdandigunakansebagai
sumberdatauntukreport.
Berikutadalahkodeuntukmembuatviewpembelian:
CREATE VIEW [dbo].[v_beli] AS
SELECT
m.no_beli, m.tgl, d.kd_brg,nama_brg, d.qty, d.hrg_sat,
d.qty * d.hrg_sat AS jumlah
FROM dbo.beli_m AS m INNER JOIN dbo.beli_d AS d ON d.no_beli =
m.no_beli
GO
Berikutadalahdesignreportpembeliandengancrystalreport:
Untukmempelajaridetailpembuatanviewdanreportsilahkanbacaebooksayayang
berjudulEBOOKTrikDatabaseVisualBasic6.0
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
15
______________________________________________________________________________
Berikutadalahkodeuntukmenampilkanreportpembelian
PrivateSubmnuLBeli_Click()
viewerForm.rptName=App.Path&"\rpt\beli.rpt"
viewerForm.Sql="select*fromv_beli"
viewerForm.Show
EndSub
Berikutadalahdemoreportpembelian:
LaporanPenjualan
Berikutadalahkodeuntukmembuatviewpenjualan:
CREATE VIEW [dbo].[v_jual] AS
SELECT
m.no_jual, m.tgl, m.nama, d.kd_brg,nama_brg, d.qty,
d.hrg_sat,
d.qty * d.hrg_sat AS jumlah FROM dbo.jual_m AS m
INNER JOIN dbo.jual_d AS d ON d.no_jual = m.no_jual
GO
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
16
______________________________________________________________________________
Berikutadalahdesignreportpenjualandengancrystalreport:
Berikutadalahkodeuntukmenampilkanreportpenjualan:
PrivateSubmnuLJual_Click()
viewerForm.rptName=App.Path&"\rpt\jual.rpt"
viewerForm.Sql="select*fromv_jual"
viewerForm.Show
EndSub
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
17
______________________________________________________________________________
Berikutadalahdemoreportpenjualan:
Berikutadalahdemotampilanreportlabakotor:
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
18
______________________________________________________________________________
LaporanSaldoStok
BerikutadalahdemolaporanSaldoStok:
LaporanKartuStok
LaporanKartustokmenggunakantablesementarasebagaidatasumberlaporannya.
BerikutadalahdemoKartuStok:
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
19
______________________________________________________________________________
SetelahAndakliktombolOKmakalayarAndaakansepertigambardibawahini:
SetelahAndakliktombolBuatKartuStokmakalayarAndaakansepertigambardibawahini:
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
20
______________________________________________________________________________
TutupPeriode(Closing)
Tutupperiode(closing)dilakukanuntukpadasatusikluspenjualan.Bisasatubulan
sekaliatauseminggusekalitergantungdariperiodelaporanyangditentukan.
Padaprosestutupperiodesisa(saldo)stokbarangakandijadikansebagaisaldoawal
padaperiodeberikutnya.
Padaprosesinijugasegalantransaksibaikpembeliandanpenjualanakandihapus.
Untukmenyimpanlaporantransaksipenjualanataupembelianandabisamengekspor
kefileexcelataufilePDF.
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
21
______________________________________________________________________________
Berikutadalahdemoformtutupperiode:
OK.SampaidisiniANDAsudahbisamembuataplikasipenjualanlengkapsampai
perhitunganLabaKotordenganmetodeperhitunganHargaPokokRatarata.
DenganbekalinimudahmudahanAndabisamembuataplikasibisnispenjualan.
Sayasengajatidakmembuatformmastersupplierdanformtransaksipembelianagar
Andabisaberlatihmembuatnya.
Silahkanhubugisayadiemailhartoto_d@yahoo.comuntukkonsultasisampaiAnda
mengerti.
Medan,03Januari2013
DariLaptopSaya
Salam,
Ir.Hartoto
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
22
______________________________________________________________________________
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
23
______________________________________________________________________________
DAFTAR ISI
Pengantar......................................
5
8
9
9
10
10
12
12
13
14
15
22
23
23
24
25
26
27
28
29
29
29
31
32
32
32
34
36
38
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
24
______________________________________________________________________________
40
42
43
45
47
48
49
Pembuatan Laporan............................... 66
Laporan Pembelian............................ 66
Laporan Penjualan............................ 69
Laporan Laba Kotor........................... 71
Rumus Perhitungan Laba Kotor.............. 71
Perhitungan Harga Pokok................... 71
Praktek Perhitungan Laba Kotor
dengan SQL................................ 73
Laporan Saldo Stok........................... 77
Rumus Perhitungan Saldo Stok.............. 77
Praktek Rumus Perhitungan Saldo Stok
dengan SQL................................ 78
Laporan Kartu Stok........................... 81
Tutup Periode (Closing).........................
Script SQL Pembuatan Database
Penjualan Lengkap...............................
Kode Project....................................
MDIForm1.....................................
Kode cdb.cls.................................
Kode Form Barang (barangForm.frm)............
Kode Form Customer (customerForm.frm)........
Kode Transaksi Jual (penjualanForm.frm).....
Kode Transaksi Jual Detail
(penjualanDetailForm.frm)...................
Kode Kartu Stok (kartuStokForm.frm).........
Kode Tutup Periode (tutupPeriodeForm.frm)...
Kode pada Form ViewerForm...............135 Anda bisa memesan E-Book ini hanya dengan Rp: 60,000.Belanja dengan Toko Online
86
92
96
96
99
101
108
115
125
129
132
136
EBookTrikProgramPenjualandenganVisualBasic6babgratis!
Ir.Hartoto2013
http://www.xbasicpro.com
25
______________________________________________________________________________
1. Bank BCA
2. Bank MANDIRI
a.n. HARTOTO