MODUL PRAKTIKUM
PEMROGRAMAN VISUAL I
Disusun oleh :
ATEP RUHIAT, M.KOM
STMIK SUMEDANG
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
MODUL PEMROGRAMAN VISUAL STUDI KASUS : APLIKASI PENJUALAN 1. Membuat Database (dbpenjualan) dan Tabel. (MySQL) 1) Aktifkan Xampp Control Panel, lalu klik tombol Start pada fitur Apache dan MySql seperti tampilan dibawah ini.
2) Lalu buka browser yang tersedia misalkan Mozila Firefox atau Google Crome. Lalu ketikkan pada alamatnya http://localhost/xampp/
3) Lalu pada fitur Tools pilih phpMyAdmin.
STMIK SUMEDANG
1
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
2. Maka akan muncul tampilan dibawah ini.
3. Membuat User DSN. 1) Install terlebih dahulu mysql-connector-odbc-5.1.13-win32 atau versi lainnya. 2) Buka Control Panel – Administrative Tools – ODBC Data Source.
STMIK SUMEDANG
2
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
3) Untuk membuat DSN pilih User DSN – Add – cari MySQL ODBC 5.1 Driver atau versi lainnya lalu Finish. Kemudian masukkan settingan seperti gambar dibawah ini. Data Source : untuk nama DSNnya. (bebas) Description : untuk memberikan keterangan bila diperlukan. TCP/IP Server : nama server pada computer (untuk server local digunakan localhost) User : nama pengguna akses (untuk pengguna server local digunakan root) Password : password pengguna akses (untuk password pengguna server local dikosongkan) Database : pilih database yang akan digunakan (untuk kasus ini nama databasenya yaitu dbpenjualan)
4) Klik tombol Test untuk mencek koneksi.
STMIK SUMEDANG
3
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
5) Klik tombol Ok.
4. Desain Form dan Kode Program 1) Form Barang a) Desain Nama Komponen Form1 Label1 Label2 Label3 Label4 Label5 Text1 Text2 Text3 Text4 Text5
STMIK SUMEDANG
Properties Name Caption Caption Caption Caption Caption Caption Name Text Name Text Name Text Name Text Name Text
Nilai F_BARANG :: INPUT DATA BARANG :: KODE BARANG NAMA BARANG STOK BARANG HARGA BELI HARGA JUAL TXTKODE
TXTNAMA TXTSTOK TXTHBELI TXTHJUAL 4
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
Command1 Command2 Command3 Command4 Adodc1
DataGrid1
Name Caption Name Caption Name Caption Name Caption Name Caption ConnectionString RecordSource Visible Data Source HeadLines
CMDSIMPAN SIMPAN CMDUBAH UBAH CMDHAPUS HAPUS CMDKELUAR KELUAR ADOBARANG ADOBARANG DSN=koneksi SELECT * FROM barang False ADOBARANG 2
b) Kode Program Private Sub Form_Load() Move (Screen.Width - Width) / 2, _ (Screen.Height - Height) / 2 TXTKODE.Text = "" TXTNAMA.Text = "" TXTSTOK.Text = "" TXTHBELI.Text = "" TXTHJUAL.Text = "" CMDSIMPAN.Enabled = True CMDUBAH.Enabled = False CMDHAPUS.Enabled = False CMDKELUAR.Caption = "KELUAR" End Sub STMIK SUMEDANG
5
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
Private Sub TXTKODE_Change() ADOBARANG.Recordset.Find "kode_barang='" & TXTKODE.Text _ & "'", , adSearchForward, 1 With ADOBARANG.Recordset If Not .EOF Then TXTNAMA.Text = !nama_barang TXTSTOK.Text = !stok_barang TXTHBELI.Text = !harga_beli TXTHJUAL.Text = !harga_jual CMDSIMPAN.Enabled = False CMDUBAH.Enabled = True CMDHAPUS.Enabled = True CMDKELUAR.Caption = "BATAL" Else TXTNAMA.Text = "" TXTSTOK.Text = "" TXTHBELI.Text = "" TXTHJUAL.Text = "" CMDSIMPAN.Enabled = True CMDUBAH.Enabled = False CMDHAPUS.Enabled = False CMDKELUAR.Caption = "KELUAR" End If End With End Sub Private Sub CMDUBAH_Click() If TXTKODE.Text = "" Or _ TXTNAMA.Text = "" Or _ TXTSTOK.Text = "" Or _ TXTHBELI.Text = "" Or _ TXTHJUAL.Text = "" Then MsgBox "Data masih ada yang kosong!", vbInformation + vbOKOnly, "Peringatan" Else With ADOBARANG.Recordset !kode_barang = TXTKODE.Text !nama_barang = TXTNAMA.Text !stok_barang = TXTSTOK.Text !harga_beli = TXTHBELI.Text !harga_jual = TXTHJUAL.Text .Update End With Form_Load STMIK SUMEDANG
6
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
End If End Sub Private Sub CMDHAPUS_Click() If TXTKODE.Text = "" Then MsgBox "Data belum dipilih!", vbInformation + vbOKOnly, "Peringatan" Else hapus = MsgBox("Anda yakin akan menghapus data ini?", vbQuestion + vbYesNo, "Konfirmasi") If hapus = vbYes Then With ADOBARANG.Recordset .Delete End With Form_Load Else Exit Sub End If End If End Sub Private Sub CMDKELUAR_Click() If CMDKELUAR.Caption = "KELUAR" Then Unload Me Else Form_Load End If End Sub
2) Form Karyawan a) Desain Nama Komponen Form1 Label1 Label2 Label3 Label4 Label5 Label6 Label7 Text1 Text2 STMIK SUMEDANG
Properties Name Caption Caption Caption Caption Caption Caption Caption Caption Name Text Name
Nilai F_KARYAWAN :: INPUT DATA KARYAWAN :: ID KARYAWAN NAMA KARYAWAN JABATAN PASSWORD KONFIRMASI PERTANYAAN JAWABAN TXTID TXTNAMA 7
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
Combo1
Text3 Text4 Text5 Text6 Command1 Command2 Command3 Command4 Adodc1
DataGrid1
Text Name List Text Name PasswordChar Text Name PasswordChar Text Name Text Name Text Name Caption Name Caption Name Caption Name Caption Name Caption ConnectionString RecordSource Visible Data Source HeadLines
CMBJABATAN PEMILIK KASIR TXTPASSWORD * TXTKONFIRMASI * TXTPERTANYAAN TXTJAWABAN CMDSIMPAN SIMPAN CMDUBAH UBAH CMDHAPUS HAPUS CMDKELUAR KELUAR ADOKARYAWAN ADOKARYAWAN DSN=koneksi SELECT * FROM karyawan False ADOKARYAWAN 2
b) Kode Program Private Sub Form_Load() STMIK SUMEDANG
8
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
Move (Screen.Width - Width) / 2, _ (Screen.Height - Height) / 2 TXTID.Text = "" TXTNAMA.Text = "" CMBJABATAN.Text = "" TXTPASSWORD.Text = "" TXTKONFIRMASI.Text = "" TXTPERTANYAAN.Text = "" TXTJAWABAN.Text = "" DataGrid1.Columns(3).Visible = False DataGrid1.Columns(5).Visible = False CMDSIMPAN.Enabled = True CMDUBAH.Enabled = False CMDHAPUS.Enabled = False CMDKELUAR.Caption = "KELUAR" End Sub Private Sub CMDSIMPAN_Click() If TXTID.Text = "" Or _ TXTNAMA.Text = "" Or _ CMBJABATAN.Text = "" Or _ TXTPASSWORD.Text = "" Or _ TXTKONFIRMASI.Text = "" Or _ TXTPERTANYAAN.Text = "" Or _ TXTJAWABAN.Text = "" Then MsgBox "Data masih ada yang kosong!", vbInformation + vbOKOnly, "Peringatan" ElseIf TXTKONFIRMASI.Text <> TXTPASSWORD.Text Then MsgBox "Konfirmasi password tidak sama!", vbInformation + vbOKOnly, "Peringatan" TXTKONFIRMASI.Text = "" TXTKONFIRMASI.SetFocus Else With ADOKARYAWAN.Recordset .AddNew !id_karyawan = TXTID.Text !nama_karyawan = TXTNAMA.Text !jabatan = CMBJABATAN.Text !Password = TXTPASSWORD.Text !pertanyaan = TXTPERTANYAAN.Text !jawaban = TXTJAWABAN.Text .Update End With Form_Load End If STMIK SUMEDANG
9
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
End Sub Private Sub TXTID_Change() ADOKARYAWAN.Recordset.Find "id_karyawan='" & TXTID.Text & "'", , adSearchForward, 1 With ADOKARYAWAN.Recordset If Not .EOF Then konfirmasi = InputBox("Masukkan Password Anda :", "Password") If konfirmasi = !Password Then TXTNAMA.Text = !nama_karyawan CMBJABATAN.Text = !jabatan TXTPASSWORD.Text = !Password TXTKONFIRMASI.Text = !Password TXTPERTANYAAN.Text = !pertanyaan TXTJAWABAN.Text = !jawaban CMDSIMPAN.Enabled = False CMDUBAH.Enabled = True CMDHAPUS.Enabled = True CMDKELUAR.Caption = "BATAL" Else MsgBox "Mohon maaf konfirmasi password yang anda masukkan tidak tepat!", vbCritical + vbOKOnly, "Peringatan" Form_Load End If Else TXTNAMA.Text = "" CMBJABATAN.Text = "" TXTPASSWORD.Text = "" TXTKONFIRMASI.Text = "" TXTPERTANYAAN.Text = "" TXTJAWABAN.Text = "" CMDSIMPAN.Enabled = True CMDUBAH.Enabled = False CMDHAPUS.Enabled = False CMDKELUAR.Caption = "KELUAR" End If End With End Sub Private Sub CMDUBAH_Click() If TXTID.Text = "" Or _ TXTNAMA.Text = "" Or _ CMBJABATAN.Text = "" Or _ TXTPASSWORD.Text = "" Or _ STMIK SUMEDANG
10
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
TXTKONFIRMASI.Text = "" Or _ TXTPERTANYAAN.Text = "" Or _ TXTJAWABAN.Text = "" Then MsgBox "Data masih ada yang kosong!", vbInformation + vbOKOnly, "Peringatan" ElseIf TXTKONFIRMASI.Text <> TXTPASSWORD.Text Then MsgBox "Konfirmasi password tidak sama!", vbInformation + vbOKOnly, "Peringatan" TXTKONFIRMASI.Text = "" TXTKONFIRMASI.SetFocus Else With ADOKARYAWAN.Recordset !id_karyawan = TXTID.Text !nama_karyawan = TXTNAMA.Text !jabatan = CMBJABATAN.Text !Password = TXTPASSWORD.Text !pertanyaan = TXTPERTANYAAN.Text !jawaban = TXTJAWABAN.Text .Update End With Form_Load End If End Sub Private Sub CMDHAPUS_Click() If TXTID.Text = "" Then MsgBox "Data belum dipilih!", vbInformation + vbOKOnly, "Peringatan" Else hapus = MsgBox("Anda yakin akan menghapus data ini?", vbQuestion + vbYesNo, "Konfirmasi") If hapus = vbYes Then With ADOKARYAWAN.Recordset .Delete End With Form_Load Else Exit Sub End If End If End Sub Private Sub CMDKELUAR_Click() If CMDKELUAR.Caption = "KELUAR" Then Unload Me STMIK SUMEDANG
11
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
Else Form_Load End If End Sub 3) Form Penjualan a) Desain Nama Komponen Form1 Label1 Label2 Label3 Label4 Label5 Label6 Label7 Label8 Label9 Text1 DTPicker1 Text2 Text3 Text4 Text5 Text6 Text7 Text8 Text9 Adodc1
Adodc2
Adodc3 STMIK SUMEDANG
Properties Name Caption Caption Caption Caption Caption Caption Caption Caption Caption Caption Name Text Name Name Text Name Text Name Text Name Text Name Text Name Text Name Text Name Text Name Caption ConnectionString RecordSource Visible Name Caption ConnectionString RecordSource Visible Name
Nilai
F_PENJUALAN :: TRANSAKSI PENJUALAN :: NOTA JUAL TANGGAL KARYAWAN BARANG JUMLAH JUAL TOTAL JUAL SUBTOTAL BAYAR KEMBALIAN TXTNOTA TXTTANGGAL TXTNAMAKARYAWAN TXTNAMABARANG TXTHARGAJUAL TXTJUMLAH TXTTOTAL TXTSUBTOTAL TXTBAYAR TXTKEMBALIAN ADOKARYAWAN ADOKARYAWAN DSN=koneksi SELECT * FROM karyawan False ADOBARANG ADOBARANG DSN=koneksi SELECT * FROM barang False ADOPENJUALAN 12
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
Adodc4
DataCombo1
DataCombo2
MSFlexGrid1 Command1 Command2 Command3
Caption ConnectionString RecordSource Visible Name Caption ConnectionString RecordSource Visible Name RowSource ListField Text Name RowSource ListField Text Name Cols Name Caption Name Caption Name Caption
ADOPENJUALAN DSN=koneksi SELECT * FROM penjualan False ADODETAIL ADODETAIL DSN=koneksi SELECT * FROM detail_penjualan False TXTID ADOKARYAWAN id_karyawan TXTKODE ADOBARANG kode_barang MSFGRID 5 CMDMASUKKAN MASUKKAN CMDSIMPAN SIMPAN CMDKELUAR KELUAR
b) Kode Program Dim nota, NotaBaru As String Dim i, baris, total, stok As Integer Sub BuatNota() ADOPENJUALAN.RecordSource = "SELECT * FROM penjualan ORDER BY nota_jual" ADOPENJUALAN.Refresh STMIK SUMEDANG
13
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
With ADOPENJUALAN.Recordset If .BOF Then NotaBaru = "NJ.00001" Exit Sub Else .MoveLast nota = !nota_jual nota = Val(Right(nota, 5)) nota = nota + 1 End If NotaBaru = "NJ." + Format(nota, "00000") End With End Sub Sub AturGrid() With MSFGRID .Col = 0 .Row = 0 .Text = "KODE BARANG" .CellFontBold = True .ColWidth(0) = 1500 .CellAlignment = flexAlignCenterCenter .Col = 1 .Row = 0 .Text = "NAMA BARANG" .CellFontBold = True .ColWidth(1) = 4000 .CellAlignment = flexAlignCenterCenter .Col = 2 .Row = 0 .Text = "HARGA JUAL" .CellFontBold = True .ColWidth(2) = 1500 .CellAlignment = flexAlignCenterCenter .Col = 3 .Row = 0 .Text = "JUMLAH" .CellFontBold = True .ColWidth(3) = 1000 .CellAlignment = flexAlignCenterCenter
STMIK SUMEDANG
14
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
.Col = 4 .Row = 0 .Text = "TOTAL JUAL" .CellFontBold = True .ColWidth(4) = 1500 .CellAlignment = flexAlignCenterCenter End With End Sub Private Sub Form_Load() Move (Screen.Width - Width) / 2, _ (Screen.Height - Height) / 2 ADOPENJUALAN.Refresh ADODETAIL.Refresh TXTNOTA.Locked = True TXTTANGGAL.Value = CDate(Date) TXTID.Text = "" TXTNAMAKARYAWAN.Text = "" TXTKODE.Text = "" TXTNAMABARANG.Text = "" TXTHARGAJUAL.Text = "" TXTJUMLAH.Text = "" TXTTOTAL.Text = 0 TXTSUBTOTAL.Text = 0 TXTBAYAR.Text = 0 TXTKEMBALIAN.Text = 0 MSFGRID.Rows = 2 MSFGRID.Clear Call BuatNota Call AturGrid TXTNOTA.Text = NotaBaru baris = 1 End Sub Private Sub TXTID_Click(Area As Integer) ADOKARYAWAN.Recordset.Find "id_karyawan='" & TXTID.Text & "'", , adSearchForward, 1 With ADOKARYAWAN.Recordset If Not .EOF Then TXTNAMAKARYAWAN.Text = !nama_karyawan Else TXTNAMAKARYAWAN.Text = "" End If End With STMIK SUMEDANG
15
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
End Sub Private Sub TXTKODE_Change() TXTJUMLAH.SetFocus End Sub Private Sub TXTKODE_Click(Area As Integer) ADOBARANG.Recordset.Find "kode_barang='" & TXTKODE.Text & "'", , adSearchForward, 1 With ADOBARANG.Recordset If Not .EOF Then TXTNAMABARANG.Text = !nama_barang TXTHARGAJUAL.Text = !harga_jual stok = !stok_barang Else TXTNAMABARANG.Text = "" TXTHARGAJUAL.Text = "" End If End With End Sub Private Sub TXTJUMLAH_Change() On Error Resume Next TXTTOTAL.Text = Val(TXTHARGAJUAL.Text) * Val(TXTJUMLAH.Text) End Sub Private Sub CMDMASUKKAN_Click() On Error Resume Next If TXTID.Text = "" Or _ TXTKODE.Text = "" Or TXTJUMLAH.Text = "" Then MsgBox "Data masih ada yang kosong", , "Informasi" ElseIf TXTJUMLAH.Text > stok Then MsgBox "Jumlah Jual melebihi stok", , "Informasi" TXTJUMLAH.Text = "" TXTJUMLAH.SetFocus Else With MSFGRID .Rows = baris + 1 .TextMatrix(baris, 0) = TXTKODE.Text .TextMatrix(baris, 1) = TXTNAMABARANG.Text .TextMatrix(baris, 2) = TXTHARGAJUAL.Text .TextMatrix(baris, 3) = TXTJUMLAH.Text .TextMatrix(baris, 4) = TXTTOTAL.Text End With TXTSUBTOTAL.Text = Val(TXTSUBTOTAL.Text) + Val(TXTTOTAL.Text) STMIK SUMEDANG
16
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
TXTKODE.Text = "" TXTNAMABARANG.Text = "" TXTHARGAJUAL.Text = "" TXTJUMLAH.Text = "" TXTTOTAL.Text = "" baris = baris + 1 End If End Sub Private Sub TXTBAYAR_Change() On Error Resume Next TXTKEMBALIAN.Text = Val(TXTBAYAR.Text) - Val(TXTSUBTOTAL.Text) End Sub Private Sub CMDSIMPAN_Click() If TXTID.Text = "" Then MsgBox "Data masih ada yang kosong", , "Informasi" ElseIf baris = 1 Then MsgBox "Data barang belum dimasukkan", , "Informasi" ElseIf Val(TXTBAYAR.Text) < Val(TXTSUBTOTAL.Text) Then MsgBox "Pembayaran masih kurang", , "Informasi" TXTBAYAR.SetFocus Else Konfirmasi = MsgBox("Apakah anda sudah yakin dengan data yang akan disimpan?", vbInformation + vbYesNo, "Konfirmasi") If Konfirmasi = vbYes Then With ADOPENJUALAN.Recordset .AddNew !nota_jual = TXTNOTA.Text !tanggal_jual = TXTTANGGAL.Value !id_karyawan = TXTID.Text .Update End With For i = 1 To baris - 1 With ADODETAIL.Recordset .AddNew !nota_jual = TXTNOTA.Text !kode_barang = MSFGRID.TextMatrix(i, 0) !harga_jual = MSFGRID.TextMatrix(i, 2) !jumlah_jual = MSFGRID.TextMatrix(i, 3) !total_jual = MSFGRID.TextMatrix(i, 4) .Update End With With F_BARANG.ADOBARANG.Recordset STMIK SUMEDANG
17
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
.Find "kode_barang='" & MSFGRID.TextMatrix(i, 0) & "'", , adSearchForward, 1 !stok_barang = !stok_barang Val(MSFGRID.TextMatrix(i, 3)) .Update End With Next i Form_Load Else Exit Sub End If End If End Sub Private Sub CMDKELUAR_Click() Unload Me End Sub
STMIK SUMEDANG
18
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
4) Form Menu a) Desain Nama Komponen Form1 Label1
Label2
Command1 Command2 Command3 Command4 Command5
Properties Name Caption Caption Align Font Name AutoSize Align Caption Name Caption Name Caption Name Caption Name Caption Name Caption
Nilai
F_MENU :: MENU APLIKASI PENJUALAN :: MENU UTAMA APLIKASI PENJUALAN 2 – Center Font Style : Bold Size : 18 L_KARYAWAN True 1 – Right NAMA KARYAWAN CMDKARYAWAN KELOLA KARYAWAN CMDBARANG KELOLA BARANG CMDPENJUALAN TRANSAKSI PENJUALAN CMDINFORMASI SUMBER INFORMASI CMDKELUAR KELUAR
b) Kode Program Private Sub Form_Load() Move (Screen.Width - Width) / 2, _ (Screen.Height - Height) / 2 End Sub Private Sub CMDKARYAWAN_Click() STMIK SUMEDANG
19
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
F_KARYAWAN.Show 1 End Sub Private Sub CMDBARANG_Click() F_BARANG.Show 1 End Sub Private Sub CMDPENJUALAN_Click() F_PENJUALAN.Show 1 End Sub Private Sub CMDINFORMASI_Click() F_SUMBER_INFORMASI.Show 1 End Sub Private Sub CMDKELUAR_Click() End End Sub 5) Form Login a) Desain Nama Komponen Form1 Label1 Label2 Label3 Text1 Text1 Command1 Command2 Adodc1
STMIK SUMEDANG
Properties Name Caption Caption Caption Name Caption Name Text Name PasswordChar Text Name Caption Name Caption Name Caption ConnectionString RecordSource Visible
Nilai F_LOGIN :: LOGIN :: ID KARYAWAN PASSWORD L_LUPA LUPA PASSWORD? TXTID TXTPASSWORD * CMDMASUK MASUK CMDKELUAR KELUAR ADOLOGIN ADOLOGIN DSN=koneksi SELECT * FROM karyawan False
20
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
b) Kode Program Private Sub Form_Load() Move (Screen.Width - Width) / 2, _ (Screen.Height - Height) / 2 ADOLOGIN.Refresh End Sub Private Sub CMDMASUK_Click() ADOLOGIN.RecordSource = "SELECT * FROM karyawan WHERE ID_KARYAWAN='" & TXTID.Text & "' AND PASSWORD='" & TXTPASSWORD.Text & "'" ADOLOGIN.Refresh With ADOLOGIN.Recordset If Not .EOF Then If TXTID.Text = !id_karyawan And TXTPASSWORD.Text = !password Then F_MENU.L_KARYAWAN.Caption = !NAMA_KARYAWAN Unload Me F_MENU.Show End If Else MsgBox "Mohon maaf data yang anda masukkan tidak tepat", vbCritical + vbOKOnly, "Peringatan" TXTID.Text = "" TXTPASSWORD.Text = "" TXTID.SetFocus End If End With End Sub Private Sub L_LUPA_Click() Dim password, pertanyaan, jawaban As String id_karyawan = InputBox("Masukkan ID KARYAWAN Anda", "Input ID KARYAWAN") If id_karyawan <> "" Then ADOLOGIN.RecordSource = "SELECT * FROM karyawan WHERE ID_KARYAWAN='" & id_karyawan & "'" STMIK SUMEDANG
21
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
ADOLOGIN.Refresh With ADOLOGIN.Recordset If Not .EOF Then password = !password pertanyaan = !pertanyaan jawaban = !jawaban Else MsgBox "ID KARYAWAN tidak ditemukan", vbCritical + vbOKOnly, "Peringatan" Exit Sub End If End With jwb = InputBox(pertanyaan, "Pertanyaan") If jwb <> "" Then If jwb = jawaban Then KS = MsgBox(password, vbOKOnly, "Password Anda") Else KS = MsgBox("Maaf, jawaban yang Anda masukkan tidak tepat", vbOKOnly + vbExclamation, "Peringatan") End If End If Else Exit Sub End If End Sub Private Sub CMDKELUAR_Click() Unload Me End Sub 5. Membuat Report Daftar report/informasi yang akan dibuat yaitu Daftar Karyawan, Daftar Barang, Laporan Penjualan, Laporan Penjualan Per Tanggal, dan Laporan Penjualan Per Peride. a. Daftar Barang 1) Buka Crystal Report. Pilih Using the Report Expert – OK.
STMIK SUMEDANG
22
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
2) Pada langkah pertama yaitu Data, klik Database pilih ODBC – koneksi – dbpenjualan.barang lalu Add.
3) Lalu Next, langkah selanjutnya yaitu Fields. Pindahkan field yang akan ditampilkan pada report.
4) Lalu Next, pada tahapan Group pilih kode_barang.
5) Lalu Next, pada tahapan Total, pilih stok_barang.
STMIK SUMEDANG
23
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
6) Untuk langkah Top N, Chart, dan Select dilewat saja karena tidak akan menggunakan fasilitas itu. Pada tahapan Style pilih jenis report yang diinginkan lalu jangan lupa masukkan judul reportnya.
7) Lalu Finish, dan hasilnya seperti dibawah ini
STMIK SUMEDANG
24
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
8) Untuk hasil terbaik report tersebut dapat dimodifikasi dengan mengklik pilihan Design, misalkan jadi seperti dibawah ini.
9) Lalu simpan satu folder dengan project yang telah dibuat dan untuk penamaan report sesuaikan dengan reportnya namun tidak boleh ada spasi nya.
b. Daftar Karyawan Caranya pertahatikan gambar berikut :
STMIK SUMEDANG
25
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
STMIK SUMEDANG
26
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
c. Laporan Penjualan Caranya perhatikan gambar berikut :
STMIK SUMEDANG
27
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
STMIK SUMEDANG
28
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
STMIK SUMEDANG
29
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
STMIK SUMEDANG
30
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
6. Membuat Form Sumber Informasi 1) Memanggil komponen CrytalReport a) Klilk kanan mouse pada toolbox, pilih Component.
b) Checklis Crystal Report Control, lalu OK.
STMIK SUMEDANG
31
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
c) Akan muncul pada Toolbox
2) Desain
Nama Komponen Form1 Option1 Option2 Option3 Option4 Option5
Name Caption
DTPicker1 DTPicker2 DTPicker3 Command1
Name Name Name Name Caption Name Caption Name WindowState Name WindowState Name WindowState Name WindowState Name WindowState
Command2 CrystalReport1 CrystalReport2 CrystalReport3 CrystalReport4 CrystalReport5
STMIK SUMEDANG
Properties Name Caption Name Caption Name Caption Name Caption Name Caption
Nilai F_SUMBER_INFORMASI :: SUMBER INFORMASI :: Op1 DAFTAR KARYAWAN Op2 DAFTAR BARANG Op3 LAPORAN PENJUALAN Op4 LAPORAN PENJUALAN PER TANGGAL Op5 LAPORAN PENJUALAN PER PERIODE DTP1 DTP2 DTP3 CMDCETAK CETAK CMDKELUAR KELUAR CR1 2- crptMaximized CR2 2- crptMaximized CR3 2- crptMaximized CR4 2- crptMaximized CR5 2- crptMaximized
32
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
3) Kode Program Private Sub Form_Load() Move (Screen.Width - Width) / 2, _ (Screen.Height - Height) / 2 DTP1.Value = CDate(Date) DTP2.Value = CDate(Date) DTP3.Value = CDate(Date) End Sub Private Sub CMDCETAK_Click() If Op1.Value = True Then With CR1 .ReportFileName = App.Path & "\DAFTAR_KARYAWAN.RPT" .RetrieveDataFiles .Action = 1 End With ElseIf Op2.Value = True Then With CR2 .ReportFileName = App.Path & "\DAFTAR_BARANG.RPT" .RetrieveDataFiles .Action = 1 End With ElseIf Op3.Value = True Then With CR3 .ReportFileName = App.Path & "\LAPORAN_PENJUALAN.RPT" .RetrieveDataFiles .Action = 1 End With ElseIf Op4.Value = True Then With CR4 .ReportFileName = App.Path & "\LAPORAN_PENJUALAN.RPT" .ReplaceSelectionFormula "{penjualan.tanggal_jual} = date(" _
STMIK SUMEDANG
33
Dosen : Atep Ruhiat, M.Kom Mata Kuliah : Pemrograman Visual I
" _
& Year(DTP1.Value) & "," & Month(DTP1.Value) & ",
& Day(DTP1.Value) & ") " .RetrieveDataFiles .Action = 1 End With Else With CR5 .ReportFileName = App.Path & "\LAPORAN_PENJUALAN.RPT" .ReplaceSelectionFormula "{penjualan.tanggal_jual} >= date(" _ & Year(DTP2.Value) & "," & Month(DTP2.Value) & ", " _ & Day(DTP2.Value) & ") AND {penjualan.tanggal_jual} <= date(" _ & Year(DTP3.Value) & "," & Month(DTP3.Value) & ", " _ & Day(DTP3.Value) & ") " .RetrieveDataFiles .Action = 1 End With End If End Sub Private Sub CMDKELUAR_Click() Unload Me End Sub
STMIK SUMEDANG
34