Makalah Pembuatan Program Rokok

82
10 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.

description

Contoh Program Visual Basic

Transcript of Makalah Pembuatan Program Rokok

Page 1: Makalah Pembuatan Program Rokok

10

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.

Page 2: Makalah Pembuatan Program Rokok

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

Page 3: Makalah Pembuatan Program Rokok

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 Tipe

KD_R Text

NM_R Text

HRG_R Currency

JML_PSD Number

Page 4: Makalah Pembuatan Program Rokok

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 Tipe

KD_S Text

NM_S Text

ALM_S Text

NO_TELP Text

NO_PLAT Text

Page 5: Makalah Pembuatan Program Rokok

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.

Page 6: Makalah Pembuatan Program Rokok

10

Tabel : Struktur tabel DISTRIBUSI

Nama Field Tipe

KD_D Text

NM_R Text

HRG_R Currency

JML_PSD Number

KD_S Text

NM_S Text

ALM_S Text

NO_PLAT Text

TGL_D Date/Time

JML_D Number

HRG_D Currency

DT Text

JML_B Currency

PROFIT Currency

KD_R Text

Gambar : Implementasi tabel DISTRIBUSI

Page 7: Makalah Pembuatan Program Rokok

10

Form Menu Utama

Form menu utama ini berguna sebagai tampilan utama. Semua menu pada program

berada pada form ini, diantaranya menu :

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

Page 8: Makalah Pembuatan Program Rokok

10

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

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 -

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

Page 9: Makalah Pembuatan Program Rokok

10

Form Entry Data Rokok

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.

Page 10: Makalah Pembuatan Program 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.

Page 11: Makalah Pembuatan Program Rokok

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.

Page 12: Makalah Pembuatan Program Rokok

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

Page 13: Makalah Pembuatan Program Rokok

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.

Informasi tersebut bisa di print ke printer atau menggunakan Microsoft Office

OneNote.

Page 14: Makalah Pembuatan Program Rokok

10

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.

Combo box bulan menawarkan 12 bulan selama setahun dan tahun yang bisa diketik

langsung.

Label untuk menampilkan info deposit, total harga hingga standar deviasi.

Page 15: Makalah Pembuatan Program Rokok

10

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.

Page 16: Makalah Pembuatan Program Rokok

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

End Sub

Private Sub EDS_Click()

‘Rem diaktifkan jika tombol Entry – Entry Data Sales di-klik pemakai

ENTDATASALES.Show

Page 17: Makalah Pembuatan Program Rokok

10

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

Picture2.Visible = False

ElseIf Picture2.Visible = False Then

Picture2.Visible = True

End If

Page 18: Makalah Pembuatan Program Rokok

10

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.

Page 19: Makalah Pembuatan Program Rokok

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

Private Sub cmdkeluar_Click()

Unload Me

End Sub

Page 20: Makalah Pembuatan Program Rokok

10

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

Private Sub NM_R_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 And Len(NM_R.Text) <> 0 Then

HRG_R.SetFocus

End If

Page 21: Makalah Pembuatan Program Rokok

10

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

cmdsimpan.Caption = "&Tambah"

ms = MsgBox("Apakah data Sudah Benar ?", vbYesNo + vbInformation, "PT.DJARUM CABANG PADANG")

If ms = vbYes Then

rsROKOK.AddNew

Page 22: Makalah Pembuatan Program Rokok

10

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

ms = MsgBox("Yakin Data Akan diperbaiki", vbYesNo + vbInformation, "PT.DJARUM CABANG PADANG")

If ms = vbYes Then

cmdperbaiki.Caption = "&Simpan"

txttoenabled True

KD_R.SetFocus

Page 23: Makalah Pembuatan Program Rokok

10

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 ?", vbYesNo + vbInformation, "PT.DJARUM CABANG PADANG")

If ms = vbYes Then

rsROKOK.Delete

rsROKOK.MoveNext

txttoclear

cmdtoenabled False, False, False, False

KD_R.SetFocus

Else

Page 24: Makalah Pembuatan Program Rokok

10

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 = ""

End Sub

Private Sub cmdtoenabled(parasimpan, paraperbaiki, parahapus, parabatal As Boolean)

cmdsimpan.Enabled = parasimpan

cmdperbaiki.Enabled = paraperbaiki

cmdhapus.Enabled = parahapus

cmdbatal.Enabled = parabatal

Page 25: Makalah Pembuatan Program Rokok

10

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

cmdtoenabled False, True, True, False

cmdperbaiki.SetFocus

End If

End If

End If

End Sub

Page 26: Makalah Pembuatan Program Rokok

10

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

Dim dbPTDJARUM As Database

Dim no, hal, brs, ms As Integer

Dim TEKS As String

Private Sub cmdkeluar_Click()

Unload Me

Page 27: Makalah Pembuatan Program Rokok

10

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

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

Page 28: Makalah Pembuatan Program Rokok

10

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()

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

Page 29: Makalah Pembuatan Program Rokok

10

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

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

Page 30: Makalah Pembuatan Program Rokok

10

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

rsSALES.MoveNext

txttoclear

cmdtoenabled False, False, False, False

KD_S.SetFocus

Else

txttoclear

txttoenabled False

Page 31: Makalah Pembuatan Program Rokok

10

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)

cmdsimpan.Enabled = parasimpan

cmdperbaiki.Enabled = paraperbaiki

cmdhapus.Enabled = parahapus

cmdbatal.Enabled = parabatal

End Sub

Private Sub txttoenabled(param As Boolean)

NM_S.Enabled = param

Page 32: Makalah Pembuatan Program Rokok

10

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

txttoenabled False

cmdtoenabled False, True, True, False

cmdperbaiki.SetFocus

End If

End If

End If

End Sub

Page 33: Makalah Pembuatan Program Rokok

10

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

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

Page 34: Makalah Pembuatan Program Rokok

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 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

Wend

End Sub

Private Sub HRG_D_Change()

X = Val(JML_D.Text)

Y = Val(HRG_D.Text)

I = Val(HRG_R.Text)

Page 35: Makalah Pembuatan Program Rokok

10

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

End If

End Sub

Private Sub KD_S_Click()

KD_S_Change

End Sub

Public Sub tengah()

Page 36: Makalah Pembuatan Program Rokok

10

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

If Me.Height >= 9500 Then

Timer1.Enabled = False

tengah

End If

End Sub

Private Sub Timer2_Timer()

On Error Resume Next

Page 37: Makalah Pembuatan Program Rokok

10

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

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"

Page 38: Makalah Pembuatan Program Rokok

10

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

Else

cmdsimpan.Caption = "&Simpan"

txttoclear

End If

Else

If cmdsimpan.Caption = "&Tambah" Then

cmdsimpan.Caption = "&Simpan"

Page 39: Makalah Pembuatan Program Rokok

10

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

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

Page 40: Makalah Pembuatan Program Rokok

10

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

rsDISTRIBUSI.Update

cmdtoenabled False, False, False, False

txttoclear

KD_D.SetFocus

End If

End If

End Sub

Page 41: Makalah Pembuatan Program Rokok

10

Private Sub cmdhapus_Click()

ms = MsgBox("Benar data akan dihapus ?", vbYesNo + vbInformation, "PT.DJARUM CABANG PADANG")

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

End Sub

Private Sub Form_Activate()

txttoclear

KD_D.SetFocus

End Sub

Page 42: Makalah Pembuatan Program Rokok

10

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

cmdbatal.Enabled = parabatal

End Sub

Private Sub txttoenabled(param As Boolean)

TGL_D.Enabled = param

JML_D.Enabled = param

HRG_D.Enabled = param

Page 43: Makalah Pembuatan Program Rokok

10

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

TGL_D.Value = Date

JML_D.Text = ""

HRG_D.Text = ""

DT.Text = ""

JML_B.Text = ""

PROFIT.Text = ""

KD_R.Text = ""

Page 44: Makalah Pembuatan Program Rokok

10

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

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

Page 45: Makalah Pembuatan Program Rokok

10

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.

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

Page 46: Makalah Pembuatan Program Rokok

10

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

End Sub

Private Sub Form_Activate()

cmdtampil.Enabled = True

cmdtampil.SetFocus

End Sub

Page 47: Makalah Pembuatan Program Rokok

10

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

Private Sub cmdtampil_Click()

no = 0

Call ClearInfo

info.Row = 1

rsROKOK.MoveFirst

Do While Not rsROKOK.EOF

Page 48: Makalah Pembuatan Program Rokok

10

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, "=")

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"

Page 49: Makalah Pembuatan Program Rokok

10

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

End If

rsROKOK.MoveNext

Loop

If hal > 0 Then

Printer.Print Tab(10); grs2

Printer.Print Tab(57); "Padang, ................"

Page 50: Makalah Pembuatan Program Rokok

10

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.

Page 51: Makalah Pembuatan Program 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

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

Page 52: Makalah Pembuatan Program Rokok

10

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)"

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

Page 53: Makalah Pembuatan Program Rokok

10

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

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

Page 54: Makalah Pembuatan Program Rokok

10

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

bulan = 12

End If

Call ClearInfo

info.Row = 1

rsDISTRIBUSI.MoveFirst

Do While Not rsDISTRIBUSI.EOF

Page 55: Makalah Pembuatan Program Rokok

10

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

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, "###,###,###")

Page 56: Makalah Pembuatan Program Rokok

10

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.

Page 57: Makalah Pembuatan Program 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 :

Page 58: Makalah Pembuatan Program Rokok

10

Klik save dan terlihat gambar.

Sebelumnya, data pada database belum masuk, hanya ada data sebagai berikut :

Page 59: Makalah Pembuatan Program Rokok

10

Setelah melakukan penyimpanan data, maka akan masuk dalam databse:

Pada form Sales, prinsip nya sama dengan data rokok, pertama muncul form seperti gambar.

Page 60: Makalah Pembuatan Program Rokok

10

Masukkan data sales yang akan dimasukkan dalam database sebagai berikut.

Klik save

Page 61: Makalah Pembuatan Program Rokok

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:

Page 62: Makalah Pembuatan Program Rokok

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.

Page 63: Makalah Pembuatan Program Rokok

10

Pada laporan harian persediaan rokok, akan tampil gambar:

Klik tampil dan muncul informasi sesuai dari database

Page 64: Makalah Pembuatan Program Rokok

10

Jika kita cetak informasinya, akan tampil sebagai berikut.

Jika kita ingin melihat laporan distribusi bulanan, akan muncul form sebagai berikut.

Page 65: Makalah Pembuatan Program Rokok

10

Jika kita inin melihat data bulan Mei, akan muncul :

Page 66: Makalah Pembuatan Program Rokok

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.

Page 67: Makalah Pembuatan Program Rokok

10

DAFTAR PUSTAKA

Afnarius, Surya Ir, MSc, PhD. PEMOGRAMAN VB DAN DATABASE MS

ACCES. 2008. Universitas Andalas : Padang.

Page 68: Makalah Pembuatan Program Rokok

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.

Padang, 16 Mei 2009

Penulis

Page 69: Makalah Pembuatan Program Rokok

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

Page 70: Makalah Pembuatan Program Rokok

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