Abstrak i
ABSTRAK
Teknologi sekarang ini berkembang sangat cepat dengan tujuan untuk
membuat pekerjaan manusia menjadi lebih cepat, lebih mudah, dan praktis. Salah
satu penggunaan teknologi saat ini yang dipakai untuk membantu pekerjaan
manusia adalah komputer. Supaya pekerjaan manusia dimengerti oleh komputer,
dibutuhkan penghubung antara keduanya. Program aplikasi adalah yang
menghubungkannya.
Penggunaan komputer juga dapat mengurangi kesalahan yang bisa
terjadi karena kelalaian manusia. Salah satunya adalah dalam melakukan
pengecekan undangan yang jumlahnya sangat banyak Kesalahan yang bisa terjadi
karena kelalaian adalah terlewatnya undangan untuk dicek atau salah
memasukkan data pada saat membuat laporan. Sehubungan dalam hal di atas,
komputer dapat digunakan untuk membantu mengatasinya. Supaya komputer
dapat berinteraksi dengan pengguna, maka sebuah program aplikasi harus dibuat.
Dalam tugas akhir ini, penulis mencoba membuat program untuk mengatasi
masalah tersebut.
Program yang digunakan adalah Microsoft Visual Basic dan Microsoft Access. Uji coba dilakukan untuk mengetahui apakah program yang telah dibuat dapat beroperasi dengan baik. Berdasarkan uji coba yang dilakukan, didapat
bahwa program yang telah dibuat dapat membantu manusia dalam melakukan
Abstrak ii
ABSTRACT
Now days, technology grow faster and faster to make jobs faster, easier,
and handy. One form of using technology to help people is computer. But to make
computer understand what people want, a translator will be needed. A program
application is the translator.
Use of computer will reduce the mistake that can happen because of
human error. As example, when check lots of ticket. In this case, human can make
mistake when checking the ticket, like pass a ticket or write different data when
make a report. Because of what explained above, using computer can help them.
For computer can interact with user, a program application is needed. In this final
project, writer will make a program to handle the problem.
Writer use program as Microsoft Visual Basic and Microsoft Access to finish the project. Experiment will be attempted to test the program and to make
program operates better. Based on the result, writer concluded that this program
Daftar Isi vi
DAFTAR ISI
ABSTRAK ... i
KATA PENGANTAR ... iii
DAFTAR ISI... vi
DAFTAR GAMBAR ... ix
DAFTAR TABEL... xi
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Identifikasi Masalah ... 1
1.3 Tujuan ... 1
1.4 Manfaat ... 2
1.5 Pembatasan Masalah ... 2
1.6 Sistematika Pembahasan ... 2
BAB II LANDASAN TEORI ... 3
2.1 Microsoft Visual Basic... 3
2.2 IDE (Integrated Development Environment) Ms Visual Basic 6.0 ... 4
2.2.1 Menu ... 5
2.2.2 Toolbar ... 5
2.2.3 Toolbox ... 6
2.2.4 Project Explorer ... 6
2.2.5 Properties Windows ... 7
Daftar Isi vii
2.2.7 Form ... 9
2.2.8 Kode Editor ... 10
BAB III PERANCANGAN ... 11
3.1 Membuat Interface Program ... 11
3.1.1 Interface Utama... 12
3.1.2 Interface Administrator... 14
3.1.3 Interface Laporan ... 18
3.2 Database ... 21
3.3 Barcode ... 23
3.4 Skema Dari Perancangan Program... 24
BAB IV DATA PENGAMATAN ... 28
4.1 Pengujian Memasukkan Data Baru... 28
4.2 Pengujian Mengubah Data ... 31
4.3 Pengujian Penghapusan Data ... 32
4.4 Pengujian Pengurutan Data ... 33
4.5 Pengujian Pencetakkan ... 34
4.6 Pengujian Pembacaaan Kartu... 36
4.7 Pengujian Daftar Hadir ... 40
Daftar Isi viii BAB V PENUTUP... 46
5.1 Kesimpulan ... 46
5.2 Saran... 46
DAFTAR PUSTAKA
LAMPIRAN 1 Contoh Pencetakkan Kartu... A-1
Daftar Isi ix
DAFTAR GAMBAR
Gambar 2.1 Tampilan IDE Microsoft Visual Basic 6.0... 4
Gambar 2.2 Tampilan Menu ... 5
Gambar 2.3 Tampilan Toolbar... 5
Gambar 2.4 Tampilan Toolbox... 6
Gambar 2.5 Tampilan Project Explorer ... 6
Gambar 2.6 Tampilan Properties ... 7
Gambar 2.7 Tampilan Form Layout ... 8
Gambar 2.8 Tampilan Form... 9
Gambar 2.9 Tampilan Code Editor ... 10
Gambar 3.1 Tampilan Interface Utama... 13
Gambar 3.2 Tampilan Interface Administrator... 14
Gambar 3.3 Tampilan Jendela Edit Data ... 15
Gambar 3.4 Tampilan Jendela Add New Data ... 16
Gambar 3.5 Contoh Kartu... 17
Gambar 3.6 Tampilan Interface Laporan... 18
Gambar 3.7 Konfirmasi Penghapusan Data Laporan... 19
Gambar 3.8 Konfirmasi Pengundian Ulang Hadiah ... 20
Gambar 3.9 Relasi Ketiga Tabel ... 22
Gambar 3.10 Diagram Alir Menu Utama ... 24
Gambar 3.11 Diagram Alir Proses Data Barcode ... 25
Gambar 3.12 Diagram Alir Mengatur Isi Database ... 26
Daftar Isi x
Gambar 4.1 Tampilan Pengisian Data ... 29
Gambar 4.2 Peringatan Nama Tidak Diisi ... 29
Gambar 4.3 Peringatan ID Kurang Dari 8 Nomor ... 30
Gambar 4.4 Peringatan ID Sudah Terpakai ... 30
Gambar 4.5 Tampilan Hasil Setelah Memasukkan Data ... 31
Gambar 4.6 Tampilan Konfirmasi Hapus Data ... 33
Gambar 4.7 Tampilan Untuk Mencetak Kartu... 34
Gambar 4.8 Tampilan Untuk Daftar Nama... 35
Gambar 4.9 Tampilan Untuk Daftar Nama Berdasarkan ID ... 36
Gambar 4.10 Kartu Peserta ... 37
Gambar 4.11 Tampilan Memasukkan Nomor ID ... 38
Gambar 4.12 Tampilan ID Cocok... 38
Gambar 4.13 Tampilan ID Tidak Cocok ... 39
Gambar 4.14 Tampilan ID Sudah Pernah Terdaftar ... 39
Gambar 4.15 Tampilan Daftar Hadir ... 42
Gambar 4.16 Tampilan Pencetakan Daftar Hadir... 42
Daftar Isi xi
DAFTAR TABEL
Tabel 3.1 Nama-Nama Field Tabel Account ... 21
Tabel 3.2 Nama-Nama Field Tabel Status ... 21
Tabel 3.3 Nama-Nama Field Tabel Prize... 22
Tabel 3.4 Contoh Nomor ID Dan Hasilnya Pada Kedua Jenis Data... 23
Tabel 3.5 Tabel Barcode Code 39... 23
Tabel 4.1 Daftar Nama Dan Data Pribadinya ... 28
Tabel 4.2 Pengurutan Data Account Berdasarkan Nama... 33
Tabel 4.3 Pengurutan Data Account Berdasarkan ID ... 33
Tabel 4.4 Nomor ID Dan Tampilan Barcodenya ... 35
Tabel 4.5 Nomor ID Yang Dimasukkan ... 40
Tabel 4.6 Daftar Hadir Setelah Pengujian... 40
Tabel 4.7 Daftar Hadir Dengan Pengurutan Menurut Waktu Masuk ... 41
Tabel 4.8 Daftar Hadir Dengan Pengurutan Menurut ID... 41
Tabel 4.9 Daftar Hadir Dengan Pengurutan Menurut Nama ... 41
Tabel 4.10 Daftar Hadir Setelah Menekan Clear Report ... 43
Tabel 4.11 Daftar Pemenang Dengan Satu Pemenang... 44
Tabel 4.12 Daftar Pemenang Dengan Dua Pemenang ... 44
Tabel 4.13 Daftar Pemenang Dengan Tiga Pemenang ... 44
Tabel 4.14 Daftar Pemenang Dengan Pengurutan Menurut Urutan Pemenang. 45 Tabel 4.15 Daftar Pemenang Dengan Pengurutan Menurut ID ... 45
Lampiran Contoh Pencetakkan Kartu A-1
LAMPIRAN 1
CONTOH
Lampiran Listing Prgram B-1
LAMPIRAN 2
Lampiran Listing Prgram B-2
Form Utama
Private WithEvents Cat As CuteCat
Private Sub cmdAdmin_Click()
Private Sub cmdInput_KeyPress(KeyAscii As Integer)
'set function to backspace and plus key when focus at button If (KeyAscii = 27) Or (KeyAscii = 8) Or (KeyAscii = 43) _ Then txtInput.SetFocus
End Sub
Private Sub Form_Activate()
Lampiran Listing Prgram B-3
Private Sub Cat_BarcodeScanned(BCData As String, BCType As String, BCValid As Boolean)
lblInput.Caption = "*" & txtInput.Text & "*" 'set focus when input 8 number id
If (Len(txtInput.Text) >= 8) Then cmdInput.SetFocus End Sub
Private Sub txtInput_KeyPress(KeyAscii As Integer) 'input number only
If Not ((KeyAscii >= 48) And (KeyAscii <= 57) Or (KeyAscii = 8)) Then KeyAscii = 0
End Sub
Private Sub login(ByVal loginId As String, ByVal loginTime As String) Dim regID As Boolean
regID = False
Lampiran Listing Prgram B-4
Lampiran Listing Prgram B-5 Call DeletingData(flxView.Text, dtaFlex)
Call refreshFlex
frmInput.txtInput(0).Enabled = False 'open input form
frmInput.Show vbModal, Me Call refreshFlex
End Sub
Private Sub cmdExit_Click()
'frmCreateDB.Show vbModal, Me Me.Hide
End Sub
Private Sub cmdPrintBarcode_Click() 'opening report
With envReport.rscomReport If optSort(0).Value Then
rptPrintBarcode.Show vbModal, Me End Sub
Private Sub cmdReport_Click() 'opening report
Lampiran Listing Prgram B-6
dtaFlex.DatabaseName = App.path & "\Account.mdb" dtaFlex.RecordSource = "select * from account" Call refreshFlex
'open connection for report
envReport.conReport.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source= " & App.path & "\Account.mdb"
Public Function DeletingData(toDel As String, dataName As Data) As Boolean 'set location
Call searchId(toDel, dataName) With dataName.Recordset
If MsgBox("Are you sure want to delete" & vbCrLf & _
Lampiran Listing Prgram B-7 Call searchId(toEdit, dataName)
With dataName.Recordset .Edit
Public Function EditingDataName(IDtoEdit As String, dataName As Data) As Boolean
'set location
If Not (dataName.Recordset.RecordCount = 0) Then If searchId(IDtoEdit, dataName) Then
Public Function AddingData(dataName As Data) As Boolean 'set location
Lampiran Listing Prgram B-8 lblTotal.Caption = flxView.Rows - 1
Call hlCol End Sub
Private Sub optSort_Click(Index As Integer) 'sort by what
lblTime.Caption = Format(Time, "hh:mm:ss ampm")
lblDate.Caption = WeekdayName(Weekday(Date), False, vbSunday) & ", " & VBA.MonthName(VBA.Month(Date)) & " " & Day(Date) & ", " &
VBA.Year(Date)
Lampiran Listing Prgram B-9
If searchId(dtaPrize.Recordset.Fields(0), frmTabel.dtaFlex) Then .AddNew
With envReport.rscomStatus If optSortPrize(0).Value Then .Sort = "ID"
ElseIf optSortPrize(1).Value Then .Sort = "Nama"
Lampiran Listing Prgram B-10 Loop
dtaStatus.Recordset.MoveFirst Do Until dtaStatus.Recordset.EOF
If searchId(dtaStatus.Recordset.Fields(0), frmTabel.dtaFlex) Then .AddNew
With envReport.rscomStatus If optSortStatus(0).Value Then .Sort = "ID"
ElseIf optSortStatus(1).Value Then .Sort = "Nama"
ElseIf optSortStatus(2).Value Then .Sort = "Time"
If MsgBox("Are you sure to clear current winner and shuffle new one?", _ vbYesNo, "Warning") = vbYes Then
'clear database for prize
Lampiran Listing Prgram B-11
Lampiran Listing Prgram B-12
Private Sub Form_Load() Call DisableClose(Me, True) 'prepare database
dtaStatus.DatabaseName = App.path & "\Account.mdb"
dtaStatus.RecordSource = "select * from status ORDER BY Time" dtaPrize.DatabaseName = App.path & "\Account.mdb"
dtaPrize.RecordSource = "select * from prize ORDER BY NoList" dtaTemp.DatabaseName = App.path & "\Account.mdb"
dtaTemp.RecordSource = "select * from temp" With frmReport.dtaStatus.Recordset If .RecordCount = 0 Then
Call refreshFlexStatus End Sub
Private Sub hlColStatus() flxViewStatus.Col = 1 flxViewStatus.ColSel = 4
Lampiran Listing Prgram B-13
lblTotalStatus.Caption = flxViewStatus.Rows - 1 Call hlColStatus
End Sub
Private Sub hlColPrize() flxViewPrize.Col = 1 flxViewPrize.ColSel = 3
lblCurrentPrize.Caption = flxViewPrize.Row & " / " End Sub
lblTotalPrize.Caption = flxViewPrize.Rows - 1 Call hlColPrize
End Sub
Private Sub optSortPrize_Click(Index As Integer) 'sort by what
Lampiran Listing Prgram B-14
Private Sub txtShuffle_KeyPress(KeyAscii As Integer) 'input number only
ElseIf searchId(txtInput(0).Text, frmTabel.dtaFlex) Then MsgBox "Id Used"
Exit Sub
Lampiran Listing Prgram B-15
Call frmTabel.EditingData(frmTabel.flxView.Text, frmTabel.dtaFlex) Call frmTabel.EditingDataName(txtInput(0).Text, frmReport.dtaStatus) Call frmTabel.EditingDataName(txtInput(0).Text, frmReport.dtaPrize) End If
frmInput.Caption = "Administrator - Add New Data" Else
lblTitle.Caption = "Edit Data"
frmInput.Caption = "Administrator - Edit Data" End If
End Sub
Private Sub txtInput_Change(Index As Integer) 'set focus when input 8 number id
If Index = 0 And lblTitle.Caption = "Add New Data" Then If (Len(txtInput(0).Text) >= 8) Then txtInput(1).SetFocus End If
End Sub
Private Sub txtInput_KeyPress(Index As Integer, KeyAscii As Integer) 'input number only
Public Sub MoveData(ByVal Index As Integer, dataName As Data) 'Database navigator
Lampiran Listing Prgram B-16
Public Sub ViewData(controlsName As Variant, dataName As Data) 'View data
Dim i As Integer
For i = controlsName.LBound To controlsName.UBound controlsName(i).Text = dataName.Recordset.Fields(i) Next i
End Sub
Public Sub ModeView(modeData As Boolean, controlsName As Variant, Optional fromData As Integer = 0, Optional todata As Integer = 0)
'View data Dim i As Integer
For i = controlsName.LBound + fromData To controlsName.UBound - todata controlsName(i).Enabled = modeData
Next i End Sub
Public Function searchId(toFind As String, dataName As Data) As Boolean 'Searching ID
searchId = False
Lampiran Listing Prgram B-17
Class CuteCat
Option Explicit
Private CatScratching As Boolean, CatData As String
Private BCData As String, BCType As String, BCValid As Boolean, PrevPtr As Integer
Public Event ScanStarted()
Public Event BarcodeScanned(BCData As String, BCType As String, BCValid As Boolean)
'Base64 decode constants
Private m_bytReverseIndex(0 To 255) As Byte Private Const k_bytEqualSign As Byte = 61
Private Const k_bytMask1 As Byte = 3 '00000011 Private Const k_bytMask2 As Byte = 15 '00001111 Private Const k_bytMask3 As Byte = 63 '00111111 Private Const k_bytMask4 As Byte = 192 '11000000 Private Const k_bytMask5 As Byte = 240 '11110000 Private Const k_bytMask6 As Byte = 252 '11111100 Private Const k_bytShift2 As Byte = 4
Private Const k_bytShift4 As Byte = 16 Private Const k_bytShift6 As Byte = 64
Private Const k_lMaxBytesPerLine As Long = 152
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal Destination As Long, ByVal Source As Long, ByVal Length As Long)
Public Property Get BarcodeData() As String BarcodeData = BCData
End Property
Public Property Get BarcodeType() As String BarcodeType = BCType
End Property
Public Property Get BarcodeValid() As String BarcodeValid = BCValid
End Property
Private Sub Class_Initialize() Dim i As Integer
For i = Asc("a") To Asc("z") 'lowercase letters m_bytReverseIndex(i) = (i - Asc("a")) Next i
For i = Asc("A") To Asc("Z") 'uppercase letters m_bytReverseIndex(i) = 26 + (i - Asc("A")) Next i
For i = Asc("0") To Asc("9") '0-9
Lampiran Listing Prgram B-18 Next i
m_bytReverseIndex(43) = 62 'Asc("+") m_bytReverseIndex(47) = 63 'Asc("/") End Sub
Private Function Decode(sInput As String) As String If sInput = "" Then Exit Function
Decode = StrConv(DecodeArr(sInput), vbUnicode) End Function
Private Function DecodeArr(sInput As String) As Byte() 'returns a SBCS byte array
Dim bytInput() As Byte 'base64 encoded string to work with Dim bytWorkspace() As Byte 'byte array to use as workspace Dim bytResult() As Byte 'array that result will be copied to Dim lInputCounter As Long 'iteration counter for input array
Dim lWorkspaceCounter As Long 'iteration counter for workspace array 'get rid of CrLfs, and "="s since they're not required for decoding,
'and place the input in the byte array If sInput = "" Then Exit Function
bytInput = Replace(Replace(sInput, vbCrLf, ""), "=", "") 'size the workspace
ReDim bytWorkspace(LBound(bytInput) To (UBound(bytInput) * 2)) As Byte lWorkspaceCounter = LBound(bytWorkspace)
'pass bytes back through index to get original values
For lInputCounter = LBound(bytInput) To UBound(bytInput)
bytInput(lInputCounter) = m_bytReverseIndex(bytInput(lInputCounter)) Next lInputCounter
For lInputCounter = LBound(bytInput) To (UBound(bytInput) - ((UBound(bytInput) Mod 8) + 8)) Step 8
'left shift first input byte by 2 and right shift second input byte by 4 bytWorkspace(lWorkspaceCounter) = (bytInput(lInputCounter) * k_bytShift2) + (bytInput(lInputCounter + 2) \ k_bytShift4)
'mask bits 5-8 of second byte, left shift it by 4
'right shift third byte by 2, add it to result of second byte
bytWorkspace(lWorkspaceCounter + 1) = ((bytInput(lInputCounter + 2) And k_bytMask2) * k_bytShift4) + _
(bytInput(lInputCounter + 4) \ k_bytShift2) 'mask bits 3-8 of third byte, left shift it by 6, add it to fourth byte
bytWorkspace(lWorkspaceCounter + 2) = ((bytInput(lInputCounter + 4) And k_bytMask1) * k_bytShift6) + _
Lampiran Listing Prgram B-19 'left shift first input byte by 2 and right shift second input byte by 4
bytWorkspace(lWorkspaceCounter) = (bytInput(lInputCounter) * k_bytShift2) + (bytInput(lInputCounter + 2) \ k_bytShift4)
Case 5:
'left shift first input byte by 2 and right shift second input byte by 4 bytWorkspace(lWorkspaceCounter) = (bytInput(lInputCounter) * k_bytShift2) + (bytInput(lInputCounter + 2) \ k_bytShift4)
'mask bits 5-8 of second byte, left shift it by 4
'right shift third byte by 2, add it to result of second byte
bytWorkspace(lWorkspaceCounter + 1) = ((bytInput(lInputCounter + 2) And k_bytMask2) * k_bytShift4) + _
(bytInput(lInputCounter + 4) \ k_bytShift2) lWorkspaceCounter = lWorkspaceCounter + 1
Case 7:
'left shift first input byte by 2 and right shift second input byte by 4 bytWorkspace(lWorkspaceCounter) = (bytInput(lInputCounter) * k_bytShift2) + (bytInput(lInputCounter + 2) \ k_bytShift4)
'mask bits 5-8 of second byte, left shift it by 4
'right shift third byte by 2, add it to result of second byte
bytWorkspace(lWorkspaceCounter + 1) = ((bytInput(lInputCounter + 2) And k_bytMask2) * k_bytShift4) + _
(bytInput(lInputCounter + 4) \ k_bytShift2) 'mask bits 3-8 of third byte, left shift it by 6, add it to fourth byte
bytWorkspace(lWorkspaceCounter + 2) = ((bytInput(lInputCounter + 4) And k_bytMask1) * k_bytShift6) + _
bytInput(lInputCounter + 6) lWorkspaceCounter = lWorkspaceCounter + 2 End Select
'size the result array
ReDim bytResult(LBound(bytWorkspace) To lWorkspaceCounter) As Byte 'if option base is set to 1 then don't increment this value
If LBound(bytWorkspace) = 0 Then
lWorkspaceCounter = lWorkspaceCounter + 1 End If
'move decoded data to a properly sized array
CopyMemory VarPtr(bytResult(LBound(bytResult))),
VarPtr(bytWorkspace(LBound(bytWorkspace))), lWorkspaceCounter 'return
'CuteCat encryption hack
For lWorkspaceCounter = LBound(bytResult) To UBound(bytResult) bytResult(lWorkspaceCounter) = bytResult(lWorkspaceCounter) Xor 67 Next
DecodeArr = bytResult End Function
Lampiran Listing Prgram B-20 'start processing barcode data from scanner if Alt-F10 is detected
If PrevKey = 18 And PrevShift = 4 And KeyCode = 121 And Shift = 4 Then CatData = ""
CatScratching = True
PrevPtr = Screen.MousePointer RaiseEvent ScanStarted
Screen.MousePointer = vbHourglass End If
PrevKey = KeyCode PrevShift = Shift End Sub
Public Sub KeyPress(KeyAscii As Integer) Dim X As Long, Y As Long, Z As Long
Bab I Pendahuluan 1
BAB I
PENDAHULUAN
1.1Latar Belakang
Teknologi sekarang ini berkembang sangat cepat dengan tujuan untuk
membuat pekerjaan manusia menjadi lebih cepat, lebih mudah, dan praktis.
Dengan berkembangnya teknologi ini, manusia mengharapkan pekerjaannya
dapat dilakukan dengan lebih mudah. Banyak program aplikasi komputer yang
dibuat oleh manusia untuk mencapai tujuan tersebut. Salah satunya adalah
untuk menangani undangan terbatas. Dengan adanya perkembangan teknologi,
pemeriksaan para undangan yang terdaftar dapat dilakukan dengan cepat dan
pasti serta hanya memerlukan sedikit sumber daya manusia. Hal ini akan
sangat dirasakan bila terjadi pada pemeriksaan undangan yang berjumlah
sangat banyak. Dengan menggunakan teknologi sekarang, undangan yang
terdaftar dapat diperiksa dengan teliti, bila terdaftar maka akan dikatakan
terdaftar dan bila tidak tedaftar maka akan dikatakan tidak terdaftar, berbeda
bila menggunakan sumber daya manusia dimana pada saat pemerikasaan dapat
terlewat sehingga undangan yang seharusnya terdaftar dikatakan tidak
terdaftar. Hal tersebut dapat terjadi disebabkan oleh karena keteledoran
ataupun karena terlalu sibuk mengurusi undangan yang sangat banyak
sehingga ada beberapa undangan yang terabaikan atau lupa untuk dicatat
dalam daftar kehadiran. Selain itu dengan aplikasi ini, laporan para undangan
yang telah terdaftar dapat dibuat pada saat kapan saja dan dapat ditambahkan
Bab I Pendahuluan 2
1.2Identifikasi Masalah
Bagaimana merealisasikan sebuah program yang mudah digunakan
untuk mengolah data masukan yang berupa simbol-simbol barcode?
1.3Tujuan
Membuat program yang menggunakan simbol-simbol Barcode untuk
pengamanan undangan terbatas.
1.4Pembatasan Masalah
1. Program dibuat dengan menggunakan program Microsoft Visual Basic 6.0
dan Microsoft Access 2000.
2. Menggunakan interface berupa Barcode reader.
1.5Sistematika Pembahasan
Laporan Tugas Akhir ini disusun dengan sistematika sebagai berikut :
¾ Bab I : Berisi tentang latar belakang, identifikasi masalah, tujuan,
pembatasan masalah, dan sistematika pembahasan.
¾ Bab II : Berisi tentang pengenalan Visual Basic dan Access.
¾ Bab III : Berisi tentang flowchart dan cara kerja program.
¾ Bab IV : Berisi hasil-hasil pengujian dari program.
Bab V Kesimpulan dan Saran 46
BAB V
KESIMPULAN DAN SARAN
5.1Kesimpulan
Program untuk pengamanan undangan terbatas mengunakan barcode ini
telah berfungsi dengan baik.
Pengundian hadiah berjalan dengan baik dan dapat mengundi dengan baik,
yaitu mengundi secara acak, sehingga semua pengunjung mendapat
kemungkinan untuk menang.
5.2Saran
Program dapat dikembangkan sehingga bisa berhubungan dengan
komputer lain, sehingga input didapat bukan hanya dari satu komputer saja
Daftar Pustaka 47
DAFTAR PUSTAKA
1. Balena. Francesco, Programing Microsoft Visual Basic 6.0, Microsoft Corporation, Redmond, Washington, 1999.
2. Deitel, H. M., Visual Basic 6 : How To Program, Prentice Hall, New Jersey, 1999.
3. Holzner. Steven, Visual Basic 6 Black Book, The Coriolis Group, 1998. 4. Microsoft Press, Visual Basic 6.0 : Programmer’s Guide, Microsoft
Corporation, Redmond, Washington, 1998.
5. Thayer. Rob , Visual Basic 6 Unleash, SAMS Publishing, Indiana Polis, Indiana , 1999.
6. Winemiller. Eric, Visual Basic 6 Database How-To, SAMS Publishing, Indiana Polis, Indiana, 1997.