Pendahuluan
1. Latar Belakang
Pola pikir dan cara kehidupan manusia berubah seiring berkembangnya Ilmu
Pengetahuan dan Teknologi. Salah satunya adalah pembuatan program sesuai dengan
kebutuhan. Misalnya adalah program distribusi rokok yang diperlukan oleh Industri rokok,
agen atau Toko rokok yang bersangkutan. Jika manusia belum mengenal adanya komputer,
maka data transaksi industri tersebut mungkin akan disimpan secara manual dan bisa sulit
dilakukan serta tingkat kesalahan relative besar.
Program ini menyajikan beberapa menu yang dibutuhkan dalam melakukan transaksi
rokok, misalnya penyimpanan data rokok, data salesman yang akan mendistribusikan, serta
laporan – laporan hasil distribusi tersebut dan daerah tujuannya. Pada informasi juga
diperhitungkan jumlah keuntungan serta kerugian dari distribusi sesuai harga pokok serta
harga penjualannya. Selain dalam softcopy, program ini juga dapat menghasilkan laporan
persediaan rokok pada hari terakhir pengecekan ke dalam hardcopy.
2. Tujuan
2. Untuk mengetahui proses kerja serta koneksi antara program Visual Basic 6 dengan
database Acces.
10
BAB II. Persoalan
Program distribusi industri rokok PT Djarum ini adalah program yang dipakai oleh
para distributor serta produsen yang khususnya bergerak di bidang industri rokok. Program
ini terdiri atas database sebagai tempat penyimpanan data, serta menu – menu yang terdapat
dalam form. Persoalan program ini akan dibahas sebagai berikut.
DATABASE
10
Relationship database bisa dilihat pada gambar berikut ini.
Pada database terdapat 3 tabel, yaitu tabel rokok, salesman dan data distribusi. Namun
dari ketiga tabel tersebut, ada dua tabel yang mendasari relationship program rokok ini, yaitu
tabel rokok dan salesman, hubungannya adalah n dan n. Maksudnya sebuah rokok bisa
didistribusikan oleh satu orang atau lebih salesman, begitu juga sebaliknya, satu orang
salesman bisa mendistribusikan satu atau lebih jenis rokok. Sedangkan table distribusi hanya
bertindak sebagai tempat penyedia informasi dari hasil distribusi.
• Rokok
Pada tabel Rokok dalam database PTDJARUM ini terdapat Kode, nama, harga serta jumlah
persediaan rokok. Struktur serta implementasinya dapat dilihat pada gambar berikut.
10
Gambar : Implementasi tabel ROKOK
• Salesman
Pada tabel SALES dalam database PTDJARUM ini terdapat Kode, nama, alamat, nomor
telepon serta nomor plat kendaraan yang digunakan untuk proses distribusi. Struktur serta
implementasinya dapat dilihat pada gambar berikut.
10
Gambar : Implementasi tabel SALES
• DISTRIBUSI
Distribusi ini merupakan gabungan dari data rokok dan sales, yaitu salesman yang
telah mendistribusikan rokok tersebut. Pada tabel DISTRIBUSI dalam database PTDJARUM
ini terdapat Nomor Dsitribusi, Nama, harga dan jumlah persediaan rokok yang
didistribusikan serta data salesman yang mendistribusikannya, yaitu kode salesman, nama,
alamat, hingga nomor plat kendaraan.
Pada table distribusi ini juga dibuatkan tanggal pendistribusian, jumlah profit dan
keuntungan pendistribusian. Struktur serta implementasinya dapat dilihat pada gambar
berikut.
10
Tabel : Struktur tabel DISTRIBUSI
Form menu utama ini berguna sebagai tampilan utama. Semua menu pada program
berada pada form ini, diantaranya menu :
10
a. Entry, yaitu Entry Data Rokok, Entry Data Salesman dan Entry data Distribusi
rokok yang dilakukan oleh distributor tersebut.
Pada Form menu utama dapat dilihat adanya gambar industri rokok, yaitu pabrik,
gedung perusahaan, perkebunan, hingga pendistribusian rokok oleh distributor. Gambar ini
hanyalah bersifat ilustrasi, gambar bisa dibuat dari komponen “picture box” pada menu visual
basic 6.
Program PT. Djarum ini tidak mempunyai menu Login, karena program ini hanya
dikontrol oleh Admin dan tidak mengenal member atau password untuk menggunakan
program.
10
Nama menu CommandButton Nama Form
Entry Data Rokok EDR ENTDATAROKOK
Entry Data Salesman EDS ENTDATASALES
Entry Distribusi Rokok EDD ENTDATADISTRIBUSI
Laporan Persediaan Rokok LPR LAPPERSEDIAANROKOK
Laporan Bulanan Distribusi Rokok LBDR LAPDISTPERBULAN
Keluar KELUAR -
10
Gambar : Disain Form Entry Data Rokok
Form Data Rokok berguna untuk menambahkan data berupa daftar rokok dalam database
yang telah dibuat sebelumnya. Form ini dapat dilihat pada gambar 1.31.
Tempat untuk mengisi kode, nama, harga serta jumlah persediaan rokok.
Timer, komponen tambahan pada teks (label) sebagai tambahan tampilan Form.
• Ketentuan
Kode rokok, nama rokok, alamat harga serta jumlah persediaan rokok disimpan
dalam database ROKOK.
10
Jika ingin menyimpan data yang akan ditambah, akan muncul dialog yang
menanyakan apakah kita yakin untuk menyimpan data. Jika jawab YES, maka akan
dimasukkan ke dalam database. Jika No, maka akan muncul form seperti gambar.
Form Entry data sales tidak jauh berbeda dengan Form Data Rokok sebelumnya. Form ini
berfungsi untuk menambahkan, edit atau menghapus data SALES dari database.
o Tempat untuk mengisi data salesman, yaitu kode, nama, alamat, nomor telepon serta
nomor plat kendaraan salesman tersebut.
o Timer, yaitu komponen pergerakan teks (label), hanya tambahan pada penampilan.
10
• Ketentuan
Kode, Nama, Alamat, Nomor telepon serta nomor plat kendaraan Salesman disimpan
dalam database SALES.
Jika memasukkan kode Sales yang telah ada sebelumnya, maka akan muncul semua
informasi dari Sales tersebut, yaitu kode, nama, alamat nomor telepon nomor plat
mobil salesman tersebut, kita hanya bisa mengedit data sales tersebut atau
menghapusnya dari database.
Pada saat menekan tombol save, akan muncul kotak dialog apakah kita akan
menyimpan. Jika YES, maka akan tersimpan dalam database.
Form entry Data Distrubusi ini merupakan gabungan dari data rokok dengan salesman. Semua
data rokok yang terjual beserta data salesman nya dibuat dalam form ini dan disimpan dalam database
DISTRIBUSI. Bentuk Disain form ini dapat dilihat pada gambar berikut.
10
Gambar : Disain Form Entry DISTRIBUSI
o Tempat untuk menampilkan dan mengisi kode Distribusi, jumlah, serta daerah tujuan
distribusi.
o Combo box pada tanggal distribusi telah diatur sehinnga selalu menunjukkan tanggal
hari itu saat pembuatan data.
o Timer, hanya bersifat tambahan agar memberikan efek tampilan ada teks berkedip
dan teks berjalan pada bagian bawah form.
Ketentuan
o Combo box pada rokok yang akan didistribusikan akan muncul tergantung dari kode
rokok yang kita pilih, dan akan muncul informasi sesuai dengan database yang telah
10
disimpan sebelumnya, combo box pada salesman juga memiliki prinsip yang sama
dengan combo box rokok.
o Jika memasukkan kode Distribusi yang telah ada sebelumnya, maka akan muncul
semua informasi dari Distribusi tersebut, yaitu kode, data rokok yang didistribusikan
serta salesman yang terlibat, kita hanya bisa mengedit data tersebut atau
menghapusnya dari database.
o Jumlah bayar adalah hasil kali Harga distribusi dengan harga distribusi dengan
jumlah distribusi
o Jika menekan button batal, maka hanya button Keluar yang aktif.
Form Laporan Persediaan Rokok ini berguna untuk memberikan informasi persedian stok
rokok yang ada. Data Persediaan rokok ini dikoneksikan dengan database ROKOK.
Komponen
Timer, hanya sebagai tambahan, untuk menampilkan form di bagian tengah dan
bergerak.
Ketentuan
Ketika klik button tampil, maka akan dimunculkan semua informasi yang berada
dalam database ROKOK.
10
Informasi tersebut bisa di print ke printer atau menggunakan Microsoft Office
OneNote.
Tanggal selalu menunjukkan tanggal pada hari itu sesuai dengan tanggal yang ada
dalam computer atau laptop tempat program berjalan.
Form ini berfungsi sebagai informasi distribusi rokok berdasarkan satu bulan dalam suatu
tahun. Informasi yang ditampilkan hanya pada bulan itu saja.
• Komponen
10
Combo box bulan menawarkan 12 bulan selama setahun dan tahun yang bisa diketik
langsung.
Label untuk menampilkan info deposit, total harga hingga standar deviasi.
Timer, hanya sebagai tambahan untuk tampilan selalu berada di bagian tengah.
• Ketentuan
Pada form utama program distribusi rokok ini, terdapat 6 tombol button yang terdapat
dibagian kiri atas form. Form ini dibangun dengan menggunakan fasilitas form Visual Basic.
Kumpulan program yang dibuat dapat dilihat pada listing 2.1. listing ini sudah dilengkapi
dengan komentar yang menghubungkan tombol button dengan program.
10
BAB III. SOLUSI
10
End Sub
Private Sub EDS_Click()
‘Rem diaktifkan jika tombol Entry – Entry Data Sales di-klik pemakai
ENTDATASALES.Show
End Sub
Private Sub LBDR_Click()
‘Rem diaktifkan jika tombol Laporan – Laporan Bulanan Distribusi Rokok di-klik pemakai
LAPDISTPERBULAN.Show
End Sub
10
Picture2.Visible = False
ElseIf Picture2.Visible = False Then
Picture2.Visible = True
End If
End Sub
10
Program Pada Form Entry Data Rokok
Implementasi form Entry Data Rokok dapat dilihat pada gambar 2.2.
Option Explicit
Dim opr1 As Double, opr2 As Double
Dim operator As String
Dim hapustampilan As Boolean
Dim rsROKOK As Recordset
Dim dbPTDJARUM As Database
Dim no, hal, brs, ms As Integer
Dim TEKS As String
10
Private Sub cmdkeluar_Click()
Unload Me
End Sub
Private Sub Form_Load()
Me.Height = 20
Timer1.Enabled = True
Timer3.Enabled = True
TEKS = Label7.Caption
Set dbPTDJARUM = OpenDatabase(App.Path & "\PTDJARUM.mdb")
Set rsROKOK = dbPTDJARUM.OpenRecordset("ROKOK")
End Sub
10
Private Sub NM_R_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 And Len(NM_R.Text) <> 0 Then
HRG_R.SetFocus
End If
End Sub
Private Sub Timer1_Timer()
Me.Height = Me.Height + 100
tengah
If Me.Height >= 6500 Then
Timer1.Enabled = False
tengah
End If
End Sub
‘Timer 2 Untuk Kedipan Gambar judul pada Form
Private Sub Timer2_Timer()
On Error Resume Next
If Label1.Visible = True Then
Label1.Visible = False
ElseIf Label1.Visible = False Then
Label1.Visible = True
End If
End Sub
'teks berjalan
Private Sub Timer3_Timer()
TEKS = Right(TEKS, Len(TEKS) - 1) & Left(TEKS, 1)
Label7.Caption = TEKS
End Sub
Private Sub CMDSIMPAN_Click()
If cmdsimpan.Caption = "&Simpan" Then
10
cmdsimpan.Caption = "&Tambah"
ms = MsgBox("Apakah data Sudah Benar ?", vbYesNo + vbInformation, "PT.DJARUM
CABANG PADANG")
If ms = vbYes Then
rsROKOK.AddNew
rsROKOK!KD_R = KD_R.Text
rsROKOK!NM_R = NM_R.Text
rsROKOK!HRG_R = HRG_R.Text
rsROKOK!JML_PSD = JML_PSD.Text
rsROKOK.Update
txttoenabled False
cmdtoenabled True, False, False, False
cmdsimpan.SetFocus
Else
cmdsimpan.Caption = "&Simpan"
txttoclear
End If
Else
If cmdsimpan.Caption = "&Tambah" Then
cmdsimpan.Caption = "&Simpan"
txttoclear
KD_R.SetFocus
cmdtoenabled False, False, False, False
End If
End If
End Sub
10
ms = MsgBox("Yakin Data Akan diperbaiki", vbYesNo + vbInformation, "PT.DJARUM
CABANG PADANG")
If ms = vbYes Then
cmdperbaiki.Caption = "&Simpan"
txttoenabled True
KD_R.SetFocus
Else
txttoclear
End If
Else
If cmdperbaiki.Caption = "&Simpan" Then
cmdperbaiki.Caption = "&Perbaiki"
rsROKOK.Edit
rsROKOK!KD_R = KD_R.Text
rsROKOK!NM_R = NM_R.Text
rsROKOK!HRG_R = HRG_R.Text
rsROKOK!JML_PSD = JML_PSD.Text
rsROKOK.Update
cmdtoenabled False, False, False, False
txttoclear
KD_R.SetFocus
End If
End If
End Sub
10
rsROKOK.Delete
rsROKOK.MoveNext
txttoclear
cmdtoenabled False, False, False, False
KD_R.SetFocus
Else
txttoclear
txttoenabled False
KD_R.SetFocus
End If
cmdtoenabled False, False, False, False
End Sub
10
End Sub
Private Sub cmdtoenabled(parasimpan, paraperbaiki, parahapus, parabatal As Boolean)
cmdsimpan.Enabled = parasimpan
cmdperbaiki.Enabled = paraperbaiki
cmdhapus.Enabled = parahapus
cmdbatal.Enabled = parabatal
End Sub
Private Sub txttoenabled(param As Boolean)
NM_R.Enabled = param
HRG_R.Enabled = param
End Sub
10
cmdtoenabled False, True, True, False
cmdperbaiki.SetFocus
End If
End If
End If
End Sub
Option Explicit
Dim opr1 As Double, opr2 As Double
Dim operator As String
Dim hapustampilan As Boolean
Dim rsSALES As Recordset
10
Dim dbPTDJARUM As Database
Dim no, hal, brs, ms As Integer
Dim TEKS As String
10
End Sub
10
If cmdsimpan.Caption = "&Simpan" Then
cmdsimpan.Caption = "&Tambah"
ms = MsgBox("Apakah data Sudah Benar ?", vbYesNo + vbInformation, "PT.DJARUM
CABANG PADANG")
If ms = vbYes Then
rsSALES.AddNew
rsSALES!KD_S = KD_S.Text
rsSALES!NM_S = NM_S.Text
rsSALES!ALM_S = ALM_S.Text
rsSALES!NO_TELP = NO_TELP.Text
rsSALES!NO_PLAT = NO_PLAT.Text
rsSALES.Update
txttoenabled False
cmdtoenabled True, False, False, False
cmdsimpan.SetFocus
Else
cmdsimpan.Caption = "&Simpan"
txttoclear
End If
Else
If cmdsimpan.Caption = "&Tambah" Then
cmdsimpan.Caption = "&Simpan"
txttoclear
KD_S.SetFocus
cmdtoenabled False, False, False, False
End If
End If
End Sub
Private Sub cmdperbaiki_Click()
If cmdperbaiki.Caption = "&Perbaiki" Then
10
ms = MsgBox("Yakin Data Akan diperbaiki", vbYesNo + vbInformation, "PT.DJARUM
CABANG PADANG")
If ms = vbYes Then
cmdperbaiki.Caption = "&Simpan"
txttoenabled True
KD_S.SetFocus
Else
txttoclear
End If
Else
If cmdperbaiki.Caption = "&Simpan" Then
cmdperbaiki.Caption = "&Perbaiki"
rsSALES.Edit
rsSALES!KD_S = KD_S.Text
rsSALES!NM_S = NM_S.Text
rsSALES!ALM_S = ALM_S.Text
rsSALES!NO_TELP = NO_TELP.Text
rsSALES!NO_PLAT = NO_PLAT.Text
rsSALES.Update
cmdtoenabled False, False, False, False
txttoclear
KD_S.SetFocus
End If
End If
End Sub
Private Sub cmdhapus_Click()
ms = MsgBox("Benar data akan dihapus ?", vbYesNo + vbInformation, "PT.DJARUM
CABANG PADANG")
If ms = vbYes Then
rsSALES.Delete
10
rsSALES.MoveNext
txttoclear
cmdtoenabled False, False, False, False
KD_S.SetFocus
Else
txttoclear
txttoenabled False
KD_S.SetFocus
End If
cmdtoenabled False, False, False, False
End Sub
Private Sub cmdbatal_Click()
txttoclear
cmdtoenabled False, False, False, False
txttoenabled False
KD_S.SetFocus
End Sub
Private Sub Form_Activate()
txttoclear
KD_S.SetFocus
End Sub
Private Sub txttoclear()
KD_S.Text = ""
NM_S.Text = ""
ALM_S.Text = ""
NO_TELP.Text = ""
NO_PLAT.Text = ""
End Sub
Private Sub cmdtoenabled(parasimpan, paraperbaiki, parahapus, parabatal As Boolean)
10
cmdsimpan.Enabled = parasimpan
cmdperbaiki.Enabled = paraperbaiki
cmdhapus.Enabled = parahapus
cmdbatal.Enabled = parabatal
End Sub
Private Sub txttoenabled(param As Boolean)
NM_S.Enabled = param
ALM_S.Enabled = param
NO_TELP.Enabled = param
NO_PLAT.Enabled = param
End Sub
Private Sub KD_S_Change()
If Len(KD_S.Text) = 5 Then
rsSALES.Index = "KD_S"
rsSALES.Seek "=", KD_S.Text
If rsSALES.NoMatch Then
txttoenabled True
cmdtoenabled True, False, False, True
NM_S.Text = ""
ALM_S.Text = ""
NO_TELP.Text = ""
NO_PLAT.Text = ""
NM_S.SetFocus
Else
If rsSALES.RecordCount > 0 Then
NM_S.Text = rsSALES!NM_S
ALM_S.Text = rsSALES!ALM_S
NO_TELP.Text = rsSALES!NO_TELP
NO_PLAT.Text = rsSALES!NO_PLAT
10
txttoenabled False
cmdtoenabled False, True, True, False
cmdperbaiki.SetFocus
End If
End If
End If
End Sub
10
Dim rsDISTRIBUSI As Recordset
Dim rsROKOK As Recordset
Dim rsSALES As Recordset
Dim dbPTDJARUM As Database
Dim no, hal, brs, ms, X, Y, D, I, A As Integer
Dim TEKS As String
10
Wend
End Sub
10
End If
End Sub
10
If Me.Height >= 9500 Then
Timer1.Enabled = False
tengah
End If
End Sub
Private Sub Timer2_Timer()
On Error Resume Next
If Label1.Visible = True Then
Label1.Visible = False
ElseIf Label1.Visible = False Then
Label1.Visible = True
End If
End Sub
10
Private Sub CMDSIMPAN_Click()
'nilai berkurang sesuai distribusi
rsROKOK.Edit
rsROKOK!JML_PSD = Val(JML_PSD.Text - JML_D.Text)
rsROKOK.Update
If cmdsimpan.Caption = "&Simpan" Then
cmdsimpan.Caption = "&Tambah"
ms = MsgBox("Apakah data Sudah Benar ?", vbYesNo + vbInformation, "PT.DJARUM
CABANG PADANG")
If ms = vbYes Then
rsDISTRIBUSI.AddNew
rsDISTRIBUSI!KD_D = KD_D.Text
rsDISTRIBUSI!TGL_D = TGL_D.Value
rsDISTRIBUSI!JML_D = JML_D.Text
rsDISTRIBUSI!HRG_D = HRG_D.Text
rsDISTRIBUSI!DT = DT.Text
rsDISTRIBUSI!JML_B = JML_B.Text
rsDISTRIBUSI!PROFIT = PROFIT.Text
rsDISTRIBUSI!KD_R = KD_R.Text
rsDISTRIBUSI!NM_R = NM_R.Text
rsDISTRIBUSI!HRG_R = HRG_R.Text
rsDISTRIBUSI!JML_PSD = JML_PSD.Text
rsDISTRIBUSI!KD_S = KD_S.Text
rsDISTRIBUSI!NM_S = NM_S.Text
rsDISTRIBUSI!ALM_S = ALM_S.Text
rsDISTRIBUSI!NO_PLAT = NO_PLAT.Text
rsDISTRIBUSI.Update
txttoenabled False
cmdtoenabled True, False, False, False
cmdsimpan.SetFocus
10
Else
cmdsimpan.Caption = "&Simpan"
txttoclear
End If
Else
If cmdsimpan.Caption = "&Tambah" Then
cmdsimpan.Caption = "&Simpan"
txttoclear
KD_D.Enabled = True
TGL_D.Enabled = True
JML_D.Enabled = True
HRG_D.Enabled = True
DT.Enabled = True
JML_B.Enabled = True
PROFIT.Enabled = True
KD_R.Enabled = True
NM_R.Enabled = True
HRG_R.Enabled = True
JML_PSD.Enabled = True
KD_S.Enabled = True
NM_S.Enabled = True
ALM_S.Enabled = True
NO_PLAT.Enabled = True
KD_D.SetFocus
cmdtoenabled False, False, False, False
End If
End If
End Sub
10
Private Sub cmdperbaiki_Click()
If cmdperbaiki.Caption = "&Perbaiki" Then
ms = MsgBox("Yakin Data Akan diperbaiki", vbYesNo + vbInformation, "PT.DJARUM
CABANG PADANG")
If ms = vbYes Then
cmdperbaiki.Caption = "&Simpan"
txttoenabled True
KD_D.SetFocus
Else
txttoclear
End If
Else
If cmdperbaiki.Caption = "&Simpan" Then
cmdperbaiki.Caption = "&Perbaiki"
rsDISTRIBUSI.Edit
rsDISTRIBUSI!KD_D = KD_D.Text
rsDISTRIBUSI!TGL_D = TGL_D.Value
rsDISTRIBUSI!JML_D = JML_D.Text
rsDISTRIBUSI!HRG_D = HRG_D.Text
rsDISTRIBUSI!DT = DT.Text
rsDISTRIBUSI!JML_B = JML_B.Text
rsDISTRIBUSI!PROFIT = PROFIT.Text
rsDISTRIBUSI!KD_R = KD_R.Text
rsDISTRIBUSI!NM_R = NM_R.Text
rsDISTRIBUSI!HRG_R = HRG_R.Text
rsDISTRIBUSI!JML_PSD = JML_PSD.Text
rsDISTRIBUSI!KD_S = KD_S.Text
rsDISTRIBUSI!NM_S = NM_S.Text
rsDISTRIBUSI!ALM_S = ALM_S.Text
rsDISTRIBUSI!NO_PLAT = NO_PLAT.Text
10
rsDISTRIBUSI.Update
cmdtoenabled False, False, False, False
txttoclear
KD_D.SetFocus
End If
End If
End Sub
10
End Sub
10
cmdbatal.Enabled = parabatal
End Sub
KD_S.Enabled = param
NM_S.Enabled = param
ALM_S.Enabled = param
NO_PLAT.Enabled = param
JML_D.Enabled = param
DT.Enabled = param
JML_B.Enabled = param
PROFIT.Enabled = param
End Sub
Private Sub KD_D_Change()
If Len(KD_D.Text) = 5 Then
rsDISTRIBUSI.Index = "KD_D"
rsDISTRIBUSI.Seek "=", KD_D.Text
If rsDISTRIBUSI.NoMatch Then
txttoenabled True
cmdtoenabled True, False, False, True
10
TGL_D.Value = Date
JML_D.Text = ""
HRG_D.Text = ""
DT.Text = ""
JML_B.Text = ""
PROFIT.Text = ""
KD_R.Text = ""
NM_R.Text = ""
HRG_R.Text = ""
JML_PSD.Text = ""
KD_S.Text = ""
NM_S.Text = ""
ALM_S.Text = ""
NO_PLAT.Text = ""
KD_R.SetFocus
Else
If rsDISTRIBUSI.RecordCount > 0 Then
TGL_D.Value = rsDISTRIBUSI!TGL_D
JML_D.Text = rsDISTRIBUSI!JML_D
HRG_D.Text = rsDISTRIBUSI!HRG_D
DT.Text = rsDISTRIBUSI!DT
JML_B.Text = rsDISTRIBUSI!JML_B
PROFIT.Text = rsDISTRIBUSI!PROFIT
KD_R.Text = rsDISTRIBUSI!KD_R
NM_R.Text = rsDISTRIBUSI!NM_R
HRG_R.Text = rsDISTRIBUSI!HRG_R
JML_PSD.Text = rsDISTRIBUSI!JML_PSD
KD_S.Text = rsDISTRIBUSI!KD_S
NM_S.Text = rsDISTRIBUSI!NM_S
10
ALM_S.Text = rsDISTRIBUSI!ALM_S
NO_PLAT.Text = rsDISTRIBUSI!NO_PLAT
txttoenabled False
cmdtoenabled False, True, True, False
cmdperbaiki.SetFocus
End If
End If
End If
End Sub
Listing 2.4 : Program VB untuk form entry data distribusi.
10
Gambar 2.5 : Implementasi form laporan harian persediaan rokok.
10
End Sub
10
Private Sub cmdtampil_Click()
no = 0
Call ClearInfo
info.Row = 1
rsROKOK.MoveFirst
Do While Not rsROKOK.EOF
no = no + 1
info.Col = 0: info.Text = no
info.Col = 1: info.Text = rsROKOK!KD_R
info.Col = 2: info.Text = rsROKOK!NM_R
info.Col = 3: info.Text = rsROKOK!HRG_R
info.Col = 4: info.Text = rsROKOK!JML_PSD
info.Rows = info.Rows + 1
info.Row = info.Row + 1
rsROKOK.MoveNext
Loop
End Sub
10
Do While Not rsROKOK.EOF
brs = brs + 1
If brs = 1 Then
hal = hal + 1
Printer.Print String(2, Chr(13))
Printer.Print Tab(10); "LAPORAN HARIAN PERSEDIAAN ROKOK "
Printer.Print Tab(10); "PT.DJARUM CABANG PADANG"
Printer.Print Tab(10); "Tanggal :"; tanggal.Text
Printer.Print
Printer.Print Tab(10); grs2
Printer.Print Tab(10); "No."; _
Tab(17); "Kode Rokok"; _
Tab(30); "Nama Rokok"; _
Tab(50); "HRG_Rokok"; _
Tab(65); "JML_Persedian";
10
End If
rsROKOK.MoveNext
Loop
If hal > 0 Then
Printer.Print Tab(10); grs2
Printer.Print Tab(57); "Padang, ................"
Printer.Print Tab(60); "Penanggung Jawab"
Printer.Print Tab(1); ""
Printer.Print Tab(1); ""
Printer.Print Tab(1); ""
Printer.Print Tab(58); "(..................)"
End If
Printer.EndDoc
Exit Sub
salahcetak:
Beep
ms = MsgBox("Printer Error, mungkin belum tersambung....." & Chr(13) & "Betulkan
printer lalu klik OK !", vbCritical + vbOKCancel, "Error")
If ms = vbOK Then
Resume
Else
Printer.KillDoc
End If
End Sub
Listing 2.5 : Program VB untuk form laporan harian persediaan rokok.
10
Program pada Form Laporan Bulanan Distribusi Rokok
Implementasi form entry laporan bulanan distribusi rokok dapat dilihat pada gambar.
Ketentuan – ketentuan yang dibuat pada persoalan yang telah dikerjakan.
10
Private Function RKanan(NData, CFormat) As String
RKanan = Format(NData, CFormat)
RKanan = Space(Len(CFormat) - Len(RKanan)) + RKanan
End Function
Private Sub ClearInfo()
info.Clear
info.Rows = 2
info.Cols = 11
info.ColWidth(0) = 400
info.ColWidth(1) = 1500
info.ColWidth(2) = 1500
info.ColWidth(3) = 2500
info.ColWidth(4) = 1300
info.ColWidth(5) = 1300
info.ColWidth(6) = 1300
info.ColWidth(7) = 2500
info.ColWidth(8) = 1300
info.ColWidth(9) = 1300
info.ColWidth(10) = 1300
info.Row = 0
info.Col = 0: info.Text = "No."
info.Col = 1: info.Text = "TGL DISTRIBUSI"
info.Col = 2: info.Text = "KODE ROKOK"
info.Col = 3: info.Text = "NAMA ROKOK"
info.Col = 4: info.Text = "NAMA SALES"
info.Col = 5: info.Text = "DAERAH DISTRIBUSI"
info.Col = 6: info.Text = "JUMLAH DISTRIBUSI (SLOF)"
info.Col = 7: info.Text = "HARGA POKOK (RP)"
info.Col = 8: info.Text = "HARGA DISTRIBUSI (RP)"
10
info.Col = 9: info.Text = "JUMLAH BAYAR (RP)"
info.Col = 10: info.Text = "PROFIT (RP)"
End Sub
10
tengah
End If
End Sub
Private Sub cmdtampil_Click()
Dim bulan
no = 0: tot = 0: TOT1 = 0: TOT2 = 0
If Trim(combo1.Text) = "January" Then
bulan = 1
ElseIf Trim(combo1.Text) = "February" Then
bulan = 2
ElseIf Trim(combo1.Text) = "Maret" Then
bulan = 3
ElseIf Trim(combo1.Text) = "April" Then
bulan = 4
ElseIf Trim(combo1.Text) = "May" Then
bulan = 5
ElseIf Trim(combo1.Text) = "Juni" Then
bulan = 6
ElseIf Trim(combo1.Text) = "Juli" Then
bulan = 7
ElseIf Trim(combo1.Text) = "Agustus" Then
bulan = 8
ElseIf Trim(combo1.Text) = "September" Then
bulan = 9
ElseIf Trim(combo1.Text) = "Oktober" Then
bulan = 10
ElseIf Trim(combo1.Text) = "November" Then
bulan = 11
ElseIf Trim(combo1.Text) = "Desember" Then
10
bulan = 12
End If
Call ClearInfo
info.Row = 1
rsDISTRIBUSI.MoveFirst
Do While Not rsDISTRIBUSI.EOF
If Month(rsDISTRIBUSI!TGL_D) = bulan And Year(rsDISTRIBUSI!TGL_D) =
tahun.Text Then
no = no + 1
info.Col = 0: info.Text = no
info.Col = 1: info.Text = rsDISTRIBUSI!TGL_D
info.Col = 2: info.Text = rsDISTRIBUSI!KD_R
info.Col = 3: info.Text = rsDISTRIBUSI!NM_R
info.Col = 4: info.Text = rsDISTRIBUSI!NM_S
info.Col = 5: info.Text = rsDISTRIBUSI!DT
info.Col = 6: info.Text = Format(rsDISTRIBUSI!JML_D, "##,###,###")
info.Col = 7: info.Text = Format(rsDISTRIBUSI!HRG_R, "###,###,###")
info.Col = 8: info.Text = Format(rsDISTRIBUSI!HRG_D, "###,###,###")
info.Col = 9: info.Text = Format(rsDISTRIBUSI!JML_B, "###,###,###")
info.Col = 10: info.Text = Format(rsDISTRIBUSI!PROFIT, "###,###,###")
tot = tot + rsDISTRIBUSI!JML_B
TOT1 = TOT1 + rsDISTRIBUSI!PROFIT
RT = TOT1 / no
TOT2 = (TOT1 - RT) * (TOT1 - RT)
VH = TOT2 / no
VT = VH * 289
STHR = Sqr(VH)
STTH = Sqr(VT)
info.Rows = info.Rows + 1
10
info.Row = info.Row + 1
End If
rsDISTRIBUSI.MoveNext
tot_B.Text = Format(tot, "###,###,###")
tot_P.Text = Format(TOT1, "###,###,###")
rata.Text = Format(RT, "###,###,###")
varian.Text = Format(VH, "###,###,###")
deviasihari.Text = Format(STHR, "###,###,###")
variantahun.Text = Format(VT, "###,###,###")
deviasitahun.Text = Format(STTH, "###,###,###")
Loop
End Sub
Listing 2.6 : Program VB untuk form laporan bulanan distribusi rokok.
10
BAB IV. EKSEKUSI PROGRAM
Pada saat menegksekusi program ini, akan tampil gambar sebagai form utama sebagai
berikut. Semua menu pada program terletak pada form ini.
Jika kita ingin memasukkan data baru kedalam data rokok. Maka kita pilih Entri –
Entri Data Rokok. Dan akan muncul gambar sebagai berikut. Pada form ini, akan tersedia
tempat untuk memasukkan kode rokok, nama serta harga dan jumlah stok rokok. Form nya
bisa terlihat pada gamber berikut. Misalnya kita mau masukkan data pada gambar :
10
Klik save dan terlihat gambar.
Sebelumnya, data pada database belum masuk, hanya ada data sebagai berikut :
10
Setelah melakukan penyimpanan data, maka akan masuk dalam databse:
Pada form Sales, prinsip nya sama dengan data rokok, pertama muncul form seperti gambar.
10
Masukkan data sales yang akan dimasukkan dalam database sebagai berikut.
Klik save
10
Database yang sebelum penyimpanan :
Pada form distribusi, berarti kita akan melakukan proses pendistribusian rokok beserta
salesman yang terlibat. Gamber form nya adalah sebagai berikut:
10
Misalnya kita akan memsukkan data sebagai berikut:
Setelah disimpan maka akan masuk dalam database, berikut adalah database sebelum program jalan.
10
Pada laporan harian persediaan rokok, akan tampil gambar:
10
Jika kita cetak informasinya, akan tampil sebagai berikut.
Jika kita ingin melihat laporan distribusi bulanan, akan muncul form sebagai berikut.
10
Jika kita inin melihat data bulan Mei, akan muncul :
10
V. PENUTUP
5.1 Kesimpulan
Dari program ini, dapat disimpulkan bahwa Program Visual Basic bisa kita
koneksikan dengan database Acces. Tidak hanya acces, Visual Basic juga bisa dikoneksikan
dengan Server SQL dan beberapa aplikasi lainnya. Program dibuat untuk mempermudah
manusia dalam melakukan aktifitasnya. Khususnya program ini dirancang untuk dipakai
dalam bidang Industri rokok.
Pada eksekusi program, bisa disimpulkan bahwa program data rokok telah berhasil
dieksekusi sesuai dengan yang diharapkan.
5.2 Saran
Setiap program yang akan kita buat, pasti memerlukan beberapa rancangan terlebih
dahulu. Sama halnya dengan Program Visual Basic 6. Kita memerlukan ER – diagram
sebagai dasar jalannya proses program.
10
DAFTAR PUSTAKA
10
Kata Pengantar
Pertama penulis ucapkan puji syukur kepada Allah SWT yang telah memberikan
rahmat dan hidayah-Nya sehingga kami dapat menyeleseikan program beserta makalah ini.
Selanjutnya, penulis juga mengucapkan terima kasih kepada dosen pembimbing,
Bapak Ir. Surya Afnarius, MSc, Phd , yang telah memberikan bimbingan dan masukan-
masukan kepada penulis, sehingga program ini dapat diselesaikan sebagaimana mestinya.
Adapun tujuan dari pembuatan program ini adalah agar dapat memenuhi tugas mata kuliah
Pemograman Komputer, yaitu Visual Basic dan Database Ms. Access.
Akhir kata, semoga makalah ini bermanfaat bagi pembaca dan penulis sangat
mengharapkan saran yang bermanfaat dan membangun bagi makalah ini. Terima kasih.
Penulis
10
MAKALAH
PEMOGRAMAN KOMPUTER
Oleh :
Kelompok II (dua)
Dosen :
UNIVERSITAS ANDALAS
PADANG
2009
10
Daftar Isi
Kata Pengantar
Daftar Isi
Bab I. Pendahuluan 1
Database
Bab V. Penutup 66
Daftar Pustaka 67
10