Bab I. 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 1. Dengan adanya program distribusi rokok ini, diharapkan dapat mempermudah proses distribusi barang, khususnya bidang industri rokok. 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 Untuk melakukan penyimpanan pada program, diperlukan Database. Pembuatan database pada skema dan langkah sebagai berikut :
Gambar 1.11 : Cara Pembuatan Database. Nama : PTDJARUM.mdb
Gambar : Kumpulan tabel yang diperlukan oleh program
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. Tabel 1.11 Struktur tabel rokok Nama Field KD_R NM_R HRG_R JML_PSD
Tipe Text Text Currency Number
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.
Tabel : Struktur tabel SALES Nama Field KD_S NM_S ALM_S NO_TELP NO_PLAT
Tipe Text Text Text Text Text
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 Nama Field KD_D NM_R HRG_R JML_PSD KD_S NM_S ALM_S NO_PLAT TGL_D JML_D HRG_D DT JML_B PROFIT KD_R
Tipe Text Text Currency Number Text Text Text Text Date/Time Number Currency Text Currency Currency Text
Gambar : Implementasi tabel DISTRIBUSI
Form Menu Utama 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. b. Laporan, yaitu Laporan persediaan rokok dan Laporan bulanan pendistribusian
rokok. c. Kaluar, yaitu keluar dari program (Exit). 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.
Gambar : Disain Form Menu Utama
Program PT. Djarum ini tidak mempunyai menu Login, karena program ini hanya dikontrol oleh Admin dan tidak mengenal member atau password untuk menggunakan program. Menu tampilan button pada Form Menu Utama
10
Nama menu Entry Data Rokok Entry Data Salesman Entry Distribusi Rokok Laporan Persediaan Rokok Laporan Bulanan Distribusi Rokok Keluar
CommandButton EDR EDS EDD LPR LBDR KELUAR
Nama Form ENTDATAROKOK ENTDATASALES ENTDATADISTRIBUSI LAPPERSEDIAANROKOK LAPDISTPERBULAN -
Button pada tampilan Menu Utama tidak menggunakan CommandButton, melainkan menggunakan Menu Editor yang berada di bagian atas tampilan visual basic 6. Tidak hanya posisi, kita juga bisa mengatur shortcut nya untuk dapat memunculkan tanpa harus klik button. Hasilnya sebagai berikut.
Gambar : Menu Pilihan serta shortcut pada Form Utama
Form Entry Data Rokok
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. •
Komponen pada Form Data Rokok : Tempat untuk mengisi kode, nama, harga serta jumlah persediaan rokok. Tombol untuk simpan, batal, perbaiki, hapus dan keluar. 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.
Gambar : Disain Form Entry Data Rokok
Form Entry Data Sales Form Entry data sales tidak jauh berbeda dengan Form Data Rokok sebelumnya. Form ini berfungsi untuk menambahkan, edit atau menghapus data SALES dari database. •
Komponen pada Form : o
Tempat untuk mengisi data salesman, yaitu kode, nama, alamat, nomor telepon serta nomor plat kendaraan salesman tersebut.
o
Tombol untuk simpan, batal, perbaiki, hapus, dan keluar.
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.
Gambar : Disain Form Entry Data Sales
1.5 Form Entry Data Distribusi 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 Komponen Pada Form : 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.
o
Tombol untuk simpan, batal, perbaiki, hapus, dan keluar.
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
Harga distribusi adalah harga jual barang yang didistribusikan.
o
Jumlah bayar adalah hasil kali Harga distribusi dengan
harga distribusi dengan
jumlah distribusi o
Profit adalah tampilan yang menampilkan apakah distribusi tersebut mengalami keuntungan atau kerugian. Jika harga distribusi lebih besar dari harga pokok, maka distribusi mengalami keuntungan,dan sebaliknya.
o
Jika menekan button batal, maka hanya button Keluar yang aktif.
Form Laporan Persediaan Rokok Form Laporan Persediaan Rokok ini berguna untuk memberikan informasi persedian stok rokok yang ada. Data Persediaan rokok ini dikoneksikan dengan database ROKOK. Komponen Tombol (button) untuk tampil informasi, mencetak ke printer dan keluar. Timer, hanya sebagai tambahan, untuk menampilkan form di bagian tengah dan bergerak. Kolom (kotak) dibagian tengah tempat munculnya informasi.
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.
Gambar : Desain Laporan Harian Persediaan Rokok
Laporan Bulanan Distribusi Rokok Form ini berfungsi sebagai informasi distribusi rokok berdasarkan satu bulan dalam suatu tahun. Informasi yang ditampilkan hanya pada bulan itu saja. •
Komponen Tombol (button) tampil untuk menampilkan informasi dari database berdasarkan bulan dan tahun sesuai pilihan.
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 Informasi pada kolom tampilan dikoneksikan dengan database DISTRIBUSI. Disini diberikan informasi data rokok, jumlah distribusi, data salesman hingga total deposit perbulannya (hanya dalam satu bulan tersebut).
Gambar : Desain Form Laporan Bulanan Distribusi Rokok
2.1 Program Pada Form Utama 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 Form Menu Utama
Gambar : Form Utama sistem
Private Sub EDD_Click() ‘Rem diaktifkan jika tombol Entry – Entry Data Distribusi di-klik pemakai ENDATADISTRIBUSI.Show End Sub
Private Sub EDR_Click() ‘Rem diaktifkan jika tombol Entry – Entry Data Rokok di-klik pemakai ENTDATAROKOK.Show
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
Private Sub LPR_Click() ‘Rem diaktifkan jika tombol Laporan – Laporan Persediaan Rokok di-klik pemakai LAPPERSEDIAANROKOK.Show End Sub Private Sub Timer2_Timer() 'Timer hanya digunakan sebagai tambahan tampilan pada gambar unand (berkedip) If Picture1.Visible = True Then Picture1.Visible = False ElseIf Picture1.Visible = False Then Picture1.Visible = True End If 'Timer hanya digunakan sebagai tambahan tampilan pada teks unand (berkedip) If Label3.Visible = True Then Label3.Visible = False ElseIf Label3.Visible = False Then Label3.Visible = True End If 'Timer hanya digunakan sebagai tambahan tampilan pada gambar Rektorat (berkedip) If Picture2.Visible = True Then
10
Picture2.Visible = False ElseIf Picture2.Visible = False Then Picture2.Visible = True End If End Sub
Private Sub KELUAR_Click() ms = MsgBox("Anda yakin mau keluar ?", vbYesNo + vbInformation, "PT.DJARUM CABANG PADANG") If ms = vbYes Then End Else MENUUTAMA.Show End If End Sub
Listing : Program VB pada Form Utama Sistem.
10
Program Pada Form Entry Data Rokok Implementasi form Entry Data Rokok dapat dilihat pada gambar 2.2.
Gambar : Implementasi form Entry data Rokok
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
Public Sub tengah() Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End Sub
Private Sub HRG_R_KeyPress(KeyAscii As Integer) If KeyAscii = 13 And Len(HRG_R.Text) <> 0 Then JML_PSD.SetFocus End If End Sub
Private Sub JML_PSD_KeyPress(KeyAscii As Integer) If KeyAscii = 13 And Len(JML_PSD.Text) <> 0 Then cmdsimpan.SetFocus End If 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
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_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
Private Sub cmdhapus_Click() ms = MsgBox("Benar data akan dihapus CABANG PADANG")
?", vbYesNo + vbInformation, "PT.DJARUM
If ms = vbYes Then
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
Private Sub cmdbatal_Click() txttoclear cmdtoenabled False, False, False, False txttoenabled False KD_R.SetFocus End Sub Private Sub Form_Activate() txttoclear KD_R.SetFocus End Sub Private Sub txttoclear() KD_R.Text = "" NM_R.Text = "" HRG_R.Text = "" JML_PSD.Text = ""
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
Private Sub KD_R_Change() If Len(KD_R.Text) = 6 Then rsROKOK.Index = "KD_R" rsROKOK.Seek "=", KD_R.Text If rsROKOK.NoMatch Then txttoenabled True cmdtoenabled True, False, False, True NM_R.Text = "" HRG_R.Text = "" JML_PSD.Text = "" NM_R.SetFocus Else If rsROKOK.RecordCount > 0 Then NM_R.Text = rsROKOK!NM_R HRG_R.Text = rsROKOK!HRG_R JML_PSD.Text = rsROKOK!JML_PSD txttoenabled False
10
cmdtoenabled False, True, True, False cmdperbaiki.SetFocus End If End If End If End Sub
Listing : Program VB pada Form Entry Data Rokok.
Program Pada Form Entry Data Sales Implementasi form entry data sales dapat dilihat pada gambar 2.3. ketentuan yang dibuat pada persoalan yang telah dikerjakan
Gambar : Implementasi form entry data sales
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
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 rsSALES = dbPTDJARUM.OpenRecordset("SALES") End Sub Public Sub tengah() Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End Sub Private Sub ALM_S_KeyPress(KeyAscii As Integer) If KeyAscii = 13 And Len(ALM_S.Text) <> 0 Then NO_TELP.SetFocus End If End Sub
Private Sub NO_TELP_KeyPress(KeyAscii As Integer) If KeyAscii = 13 And Len(NO_TELP.Text) <> 0 Then NO_PLAT.SetFocus End If
10
End Sub
Private Sub NM_S_KeyPress(KeyAscii As Integer) If KeyAscii = 13 And Len(NM_S.Text) <> 0 Then ALM_S.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 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
Private Sub Timer3_Timer() TEKS = Right(TEKS, Len(TEKS) - 1) & Left(TEKS, 1) Label7.Caption = TEKS End Sub Private Sub CMDSIMPAN_Click()
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 CABANG PADANG")
?", vbYesNo + vbInformation, "PT.DJARUM
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
Listing : Program VB untuk form Entry Data Sales Form Entry Data Distribusi Implementasi form entry data sales dapat dilihat pada gambar 2.4. Ketentuan – ketentuan yang dibuat pada persoalan yang telah dikerjakan.
Gambar 2.4 : Implementasi form entry data distribusi Option Explicit Dim opr1 As Double, opr2 As Double Dim operator As String Dim hapustampilan As Boolean
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
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 rsDISTRIBUSI = dbPTDJARUM.OpenRecordset("DISTRIBUSI") Set rsROKOK = dbPTDJARUM.OpenRecordset("ROKOK") Set rsSALES = dbPTDJARUM.OpenRecordset("SALES") rsROKOK.Index = "kd_R" While Not rsROKOK.EOF KD_R.AddItem rsROKOK(0) rsROKOK.MoveNext Wend rsSALES.Index = "KD_S" While Not rsSALES.EOF KD_S.AddItem rsSALES(0) rsSALES.MoveNext
10
Wend End Sub
Private Sub HRG_D_Change() X = Val(JML_D.Text) Y = Val(HRG_D.Text) I = Val(HRG_R.Text) JML_B.Text = X * Y PROFIT.Text = (X * Y) - (X * I) End Sub Private Sub KD_R_Change() rsROKOK.Index = "KD_R" rsROKOK.Seek "=", KD_R.Text If Not rsROKOK.NoMatch Then NM_R.Text = rsROKOK!NM_R HRG_R.Text = rsROKOK!HRG_R JML_PSD.Text = rsROKOK!JML_PSD End If End Sub Private Sub KD_R_Click() KD_R_Change End Sub Private Sub KD_S_Change() rsSALES.Index = "KD_S" rsSALES.Seek "=", KD_S.Text If Not rsSALES.NoMatch Then NM_S.Text = rsSALES!NM_S ALM_S.Text = rsSALES!ALM_S NO_PLAT.Text = rsSALES!NO_PLAT
10
End If End Sub
Private Sub KD_S_Click() KD_S_Change End Sub Public Sub tengah() Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End Sub Private Sub JML_D_KeyPress(KeyAscii As Integer) If KeyAscii = 13 And Len(JML_D.Text) <> 0 Then HRG_D.SetFocus End If End Sub Private Sub HRG_D_KeyPress(KeyAscii As Integer) If KeyAscii = 13 And Len(HRG_D.Text) <> 0 Then DT.SetFocus End If End Sub
Private Sub TGL_D_KeyPress(KeyAscii As Integer) If KeyAscii = 13 And Len(TGL_D.Value) <> 0 Then JML_D.SetFocus End If End Sub Private Sub Timer1_Timer() Me.Height = Me.Height + 100 tengah
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
Private Sub Timer3_Timer() TEKS = Right(TEKS, Len(TEKS) - 1) & Left(TEKS, 1) Label7.Caption = TEKS End Sub
Private Sub JML_D_Change() 'tidak bisa melebihi jumlah persediaan If Val(JML_D.Text) > Val(JML_PSD.Text) Then MsgBox ("Jumlah Distribusi Melebihi Jumlah Persediaan Yang Ada") cmdsimpan.Enabled = False Else cmdsimpan.Enabled = 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
Private Sub cmdhapus_Click() ms = MsgBox("Benar data akan dihapus CABANG PADANG")
?", vbYesNo + vbInformation, "PT.DJARUM
If ms = vbYes Then rsDISTRIBUSI.Delete rsDISTRIBUSI.MoveNext txttoclear cmdtoenabled False, False, False, False KD_D.SetFocus Else txttoclear txttoenabled False KD_D.SetFocus End If cmdtoenabled False, False, False, False End Sub
Private Sub cmdbatal_Click() txttoclear cmdtoenabled False, False, False, False txttoenabled False KD_D.SetFocus
10
End Sub
Private Sub Form_Activate() txttoclear KD_D.SetFocus End Sub
Private Sub txttoclear() KD_D.Text = "" 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 = "" End Sub
Private Sub cmdtoenabled(parasimpan, paraperbaiki, parahapus, parabatal As Boolean) cmdsimpan.Enabled = parasimpan cmdperbaiki.Enabled = paraperbaiki cmdhapus.Enabled = parahapus
10
cmdbatal.Enabled = parabatal End Sub
Private Sub txttoenabled(param As Boolean) TGL_D.Enabled = param JML_D.Enabled = param HRG_D.Enabled = param DT.Enabled = param KD_R.Enabled = param NM_R.Enabled = param HRG_R.Enabled = param JML_PSD.Enabled = param
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.
Program Pada Form Laporan Harian Persediaan Rokok Implementasi form laporan harian persediaan rokok dapat dilihat pada gambar 2.5. Listing programnya pada ketentuan – ketentuan yang dibuat pada persoalan yang telah dikerjakan.
10
Gambar 2.5 : Implementasi form laporan harian persediaan rokok.
Dim dbPTDJARUM As Database Dim rsROKOK As Recordset Dim no, hal, brs As Integer Dim tot As Currency
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 = 5 info.ColWidth(0) = 400 info.ColWidth(1) = 1500 info.ColWidth(2) = 2500 info.ColWidth(3) = 1300 info.ColWidth(4) = 1300 info.Row = 0 info.Col = 0: info.Text = "No." info.Col = 1: info.Text = "Kode Rokok" info.Col = 2: info.Text = "Nama Rokok" info.Col = 3: info.Text = "Harga Pokok" info.Col = 4: info.Text = "Stock (SLOF)" End Sub
Private Sub Cmdexit_Click() Unload Me
10
End Sub
Private Sub Form_Activate() cmdtampil.Enabled = True cmdtampil.SetFocus End Sub
Private Sub Form_Load() Me.Height = 20 Timer1.Enabled = True Set dbPTDJARUM = OpenDatabase(App.Path & "\PTDJARUM.mdb") Set rsROKOK = dbPTDJARUM.OpenRecordset("ROKOK") tanggal.Text = Format(Date, "dd-MMMM-yyyy") Call ClearInfo End Sub
Public Sub tengah()Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End Sub
Private Sub Timer1_Timer() Me.Height = Me.Height + 100 tengah If Me.Height >= 7700 Then Timer1.Enabled = False tengah End If 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
Private Sub cmdcetak_Click() Dim grs1, grs2 As String Dim ms As Byte On Error GoTo salahcetak: hal = 0: tot = 0: brs = 0 Printer.PaperSize = vbPRPSA4 Printer.Font = "courier new" Printer.FontSize = 10 rsROKOK.MoveFirst grs2 = String(75, "=")
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";
Printer.Print Tab(10); ""; _
Printer.Print Tab(10); grs2 End If Printer.Print Tab(10); RKanan(brs, "###"); _ Tab(17); rsROKOK!KD_R; _ Tab(30); rsROKOK!NM_R; _ Tab(50); RKanan(rsROKOK!HRG_R, "######"); _ Tab(65); rsROKOK!JML_PSD; If baris = 50 Then baris = 0 Printer.Print Tab(10); grs2 Printer.NewPage
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.
Gambar : Implementasi form laporan bulanan distribusi rokok. Dim dbPTDJARUM As Database Dim rsDISTRIBUSI As Recordset Dim rsSALES As Recordset Dim no, hal, brs, RT, VH, VT, STHR, STTH, YD As Integer Dim tot, TOT1, TOT2 As Currency
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
Private Sub Cmdexit_Click() Unload Me End Sub Private Sub Form_Activate() combo1.SetFocus End Sub Private Sub Form_Load() Me.Height = 20 Timer1.Enabled = True Set dbPTDJARUM = OpenDatabase(App.Path & "\PTDJARUM.mdb") Set rsDISTRIBUSI = dbPTDJARUM.OpenRecordset("DISTRIBUSI") Set rsSALES = dbPTDJARUM.OpenRecordset("SALES") Call ClearInfo cmdtampil.Enabled = True End Sub
Public Sub tengah() Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End Sub Private Sub Timer1_Timer() Me.Height = Me.Height + 100 tengah If Me.Height >= 8700 Then Timer1.Enabled = False
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 :
Database setelah memasukkan data dan hasilnya adalah sebagai berikut:
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.
Gambar berikut adalah database setelah melakukan penyimpanan.
10
Pada laporan harian persediaan rokok, akan tampil gambar:
Klik tampil dan muncul informasi sesuai dari database
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 Afnarius, Surya Ir, MSc, PhD. PEMOGRAMAN VB DAN DATABASE MS ACCES. 2008. Universitas Andalas : Padang.
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 masukanmasukan 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.
Padang, 16 Mei 2009
Penulis
10
MAKALAH PEMOGRAMAN KOMPUTER VISUAL BASIC DAN DATABASE MS ACCESS “ Distribusi Rokok PT DJARUM ”
Oleh : Kelompok II (dua) Hamdi Reza (0810852025) Andrianef Yunet (0810852031) Dosen : Ir. Surya Afnarius, MSc, Phd
JURUSAN TEKNIK ELEKTRO UNIVERSITAS ANDALAS PADANG 2009
10
Daftar Isi Kata Pengantar Daftar Isi Bab I. Pendahuluan
1
Latar Belakang Masalah Tujuan Pembuatan Program Bab II. Persoalan
2
Database Form Menu Utama Form Entry Data Rokok Form Entry Data Sales Form Laporan Harian Persediaan Rokok Form Laporan Bulanan Distribusi Rokok Bab III. Solusi
16
Form Menu Utama Form Entry Data Rokok Form Entry Data Sales Form Laporan Harian Persediaan Rokok Form Laporan Bulanan Distribusi Rokok Bab IV. Eksekusi Program
57
Bab V. Penutup
66
Daftar Pustaka
67
10