Minggu, 07 Februari 2016

VB 2

Pemrograman Visual II
(VB Advance)
DIII BSI
PERTEMUAN 1
Penjelasan silabus perkuliahan yang
akan diterima selama 1 semester,
Penjelasan tugas diganti projek
program, Penentuan kelompok dan
cara penilaiannya,.
Pertemuan ini menjelaskan ke siswa untuk mengerjakan
sebuah projek program sebagai nilai Tugas, secara
berkelompok (msl. 5 orang/kelompok). Pada saat mereka
melakukan presentasi projek program, penilaian diambil
secara individu dan kelompok.
Kriteria penilaian projek program
Penilaian secara kelompok:
Penilaian database = 10% (Pembuatan Database, Tabel, Index)
Penilaian form, coding dan report = 60% (Pembuatan form,
Penggunaan Objek dan Properties, Koneksi Database, Sintaks
Program Dan Prosedur, Logika program)
Penilaian testing, presentasi = 30% (Eksekusi Program,
Kesesuaian Tampilan, Cara Presentasi)
Penilaian secara individu (0-100):
Nilai individu diketahui pada saat tanya jawab, ketika
kelompok mereka melakukan presentasi.
Nilai rata-rata per individu=(total nilai kelompok + nilai
individu) / 2.
Nilai projek program per individu = 40% x Nilai rata-rata
per individu
Contoh:
Database: 10% x 100=10
Form. Coding, report = 60% x 100 = 60
Testing, Presentasi = 30% x 100 = 30
TOTAL NILAI KELOMPOK = 100
NILAI INDIVIDU = 100
Nilai rata-rata per individu=(100+100)/2 =100
Nilai projek program per individu/siswa = 20% x 100 = 20
Contoh projek program:
1. Pembayaran,
2. Simpan-pinjam,
3. Pembelian,
4. Penggajian,
5. Peminjaman – pengembalian,
6. Penerimaan karyawan,
7. Absensi pegawai,
8. Persedian barang,
9. kunjungan pasien,
10. perpustakaan.
SILABUS PERKULIAHAN
JENJANG DIPLOMA III (tiga) AMIK BSI
Mata Kuliah : Praktikum Pemrograman Visual II (VB Adv)
Kode/sks : 771 / 4 sks (2/2 sks)
Pertemuan
ke-
Pokok Bahasan Keterangan
1 Penjelasan kontrak kuliah
2
Mengulang Penjelasan tugas.
Pembuatan database di mysql via GUI
3
Merancang coding koneksi di modul, form menu utama dan
login
4
Merancang coding koneksi di modul, form menu utama dan
login
5 Membuat form barang dan coding
6 Membuat form data user dan coding
7 Membuat struk pembayaran di crystal report
8 Membuat Form Transaksi Penjualan
9 Membuat Form Transaksi Penjualan
10 Membuat form ganti password user
11
Membuat laporan penjualan harian, mingguan, bulanan
12 Review/Quiz/tugas
13 UJIAN TENGAH SEMESTER (UTS)
14
Membuat laporan penjualan harian, mingguan, bulanan.
15
Membuat laporan penjualan harian, mingguan, bulanan
16 Membuat Form Laporan
17 – 28
Presentasi projek program secara kelompok sebagai
pengganti UAS
Sumber Referensi :
• Hadi, Rahadian. 2004. Membuat Laporan dengan Crystal Reports 8.5 dan Microsoft Visual Basic 6. Elex
Media Komputindo. Jakarta
•Madcoms.2005.Pemrograman Tingkat Lanjut dengan Visual Basic 6.0 dan Crystal Reports. ANDI.
Yogyakarta
•Rusmawan, Uus. 2008. Konsep ADO untuk Tugas Akhir dan Skripsi. Elex Media Komputindo. Jakarta.
•Sanjaya, Ridwan. 2006. Pemrograman Database Visual Basic 6.0 dan Access 2000/XP/2003 Tingkat
Lanjut. Elex Media Komputindo. Jakarta
•Santoso, Budi. 2005. Optimalisasi MySQL di Visual Basic berbasis Client-Server. BSI Press. Jakarta
•Supardi, Yuniar. 2007. Sistem Penjualan Service/Part Kendaraan dengan VB 6.0 dan MySQL. Elex Media
Komputindo. Jakarta
•Supardi, Yuniar. 2008. 6 Sistem Popular dengan Visual Basic 6.0. Elex Media Komputindo. Jakarta
•Utami, Ema dan Sukrisno. 2005. Konsep Dasar Pengolahan dan Pemograman Database dengan SQL
Server, Ms. Access dan Ms. Visual Basic. ANDI. Yogyakarta.
PERTEMUAN 2
DATABASE MYSQL
Software yang digunakan adalah :
• Apache2triad dll.
• Mysql-connector-odbc-3.51 atau 5.1.10-win32
(untuk mengkoneksikan database dengan
software pemrograman).
Ada beberapa vb 6 yang bisa menggunakan
connector odbc 3.51 ada juga yang 5.1 Disesuaikan
saja. Penulis menggunakan connector odbc 5.1
Field name Data type Field
size
Keterangan
Kodebarang Varchar 7 Primary Key
Namabarang Varchar 20
Nama databasenya: penjualan
Buatlah Tabel-tabel dibawah ini
Nama tabel: Barang
Satuan Varchar 10
Stok Int
Hargasatuan Double
Langsung Isi datanya:
Field name Data type Field size Keterangan
Notransaksi Varchar 10 Primary Key
Tgljual Date
Totalbayar Double
Kodeuser Varchar 3 Foreign Key
Nama tabel:Transaksi
Field name Data type Field size Keterangan
Notransaksi Varchar 10 Foreign Key
Jumlahbeli Int
Subtotal Double
Kodebarang Varchar 7 Foreign Key
Nama tabel:DetailTransaksi
Field name Data type Field size Keterangan
Kodeuser Varchar 3 Primary Key
Namauser Varchar 50
Password Varchar 6
Nama tabel:Login
Akseslevel Varchar 1
Isi datanya:
PERTEMUAN 3
MERANCANG CODING KONEKSI,
FORM MENU UTAMA DAN LOGIN
Tambahkan ADO Library di menu project – Reference :
Microsoft ActiveX Data Objects 2.5 Library(bisa juga
2.6/2.7/2.8)
Jika terdapat tampilan option explicit artinya setiap variabel yang
dibuat harus di deklarasikan. Contoh: dim k as string
Cara untuk menghilangkannya pilih menu tools –
options – hilangkan ceklist di require variable
declaration
Membuat Koneksi di Modul :
Klik menu project – add module – open
'MENDEFINISIKAN OBJEK
Public KON As New ADODB.Connection
Public rsbrg As ADODB.Recordset
Public rsuser As ADODB.Recordset
Public rsdetail As ADODB.Recordset
Public rstrans As ADODB.Recordset
Public rstemp As ADODB.Recordset
Sub koneksi()
'MEMBUKA OBJEK
Set KON = New ADODB.Connection
Set rsbrg = New ADODB.Recordset
Set rsuser = New ADODB.Recordset
Set rsdetail = New ADODB.Recordset
Set rstrans = New ADODB.Recordset
Set rstemp = New ADODB.Recordset
LanjutanModul
KON.ConnectionString = "driver=mysql odbc 5.1
driver;server=localhost;uid=root;pwd=password;db=penjualan;"
KON.Open
End Sub
Ket: mulai dari ...= "driver=mysql odbc 5.1
driver;server=localhost;uid=root;pwd=password;db=penjualan;" ini diketik
manual. Penulis tidak membuat koneksi via adodc/ seting odbc. Kalau tidak
suport tinggal ganti mysql odbc 3.51 driver dan bila tidak ada passwordnya
ketiknya pwd=; jadi tidak usah diisi passwordnya.
A. MEMBUAT FORM MENU UTAMA (name: menu)
Pilih menu TOOLS – menu editor
Untuk objek statusbar, Tambahkan komponen ini:
StatusBar
Klikkanan – properties
Tab panel - Insert panel 2 x
Output menu utama
Listing menu utama :
Private Sub MNBARANG_Click()
menu.Hide
barang.Show 'ke form barang
End Sub
Private Sub MNGP_Click()
menu.Hide
G_USER.Show 'ke form ganti password user
End Sub
Private Sub MNLAPORAN_Click()
menu.Hide
Form3.Show 'ke form laporan
End Sub
Private Sub mnlogout_Click()
Me.Visible = False
login.Show 'ke form login
End Sub
Private Sub MNTRANSAKSI_Click()
menu.Hide
Lanjutan Listing menu utama :
Form1.Show 'ke form transaksi
End Sub
Private Sub MNUSER_Click()
menu.Hide
DATAUSER.Show 'ke form datauser
End Sub
PERTEMUAN 4
MERANCANG CODING KONEKSI,
FORM MENU UTAMA DAN LOGIN
(LANJUTAN)
B. FORM LOGIN (name : login)
Listing form login:
Dim a,b as byte
Private Sub CMDBERSIH_Click()
txtuser = ""
txtpassword = ""
txtuser.Enabled = True
txtpassword.Enabled = False
txtuser.SetFocus
End Sub
Private Sub CMDTUTUP_Click()
End
End Sub
Private Sub Form_Activate()
txtuser.Enabled = True
txtpassword.Enabled = False
txtuser.SetFocus
txtuser.MaxLength = 3
txtpassword.PasswordChar = "*"
txtlevel.Visible = False
End Sub
Private Sub txtuser_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
Call koneksi
rsuser.Open "Select kodeuser from login where kodeuser ='" & txtuser & "'", KON
If rsuser.EOF Then
a = a + 1
If 1 - a = 0 Then 'chr(13) = kalimat setelahnya otomatis ke bawah
MsgBox "Kesempatan ke " & a & " Salah" & Chr(13) & _
Ket: yg ‘”: petik(‘), kutip(“)
Tanda petik dan kutip harus
dirapetin ngetiknya
"Nama '" & txtuser & "' tidak dikenal"
txtuser = "" 'KUTIP HARUS RAPAT
txtuser.SetFocus
ElseIf 2 - a = 0 Then
MsgBox "Kesempatan ke " & a & " Salah" & Chr(13) & _
"Nama '" & txtuser & "' tidak dikenal"
txtuser = ""
txtuser.SetFocus
ElseIf 3 - a = 0 Then
MsgBox "Kesempatan ke " & a & " Salah" & Chr(13) & _
"Nama '" & txtuser & "' tidak dikenal" & Chr(13) & _
"Kesempatan habis, Ulangi dari awal"
Unload Me
End If
Lanjutan Listing Txtuser_KeyPress
Else
txtuser.Enabled = False
txtpassword.Enabled = True
txtpassword.SetFocus
End If
End If
End Sub
Private Sub txtpassword_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
Call koneksi
rsuser.Open "Select * from login where Password='" & txtpassword & "'", KON
If rsuser.EOF Then
b = b + 1
If 1 - b = 0 Then
MsgBox "Kesempatan ke " & b & " Salah"
txtpassword = "" 'kutipnya rapat jgn ada spasi
txtpassword.SetFocus
ElseIf 2 - b = 0 Then
Ket:
Tanda petik dan kutip harus
dirapetin ngetiknya
MsgBox "Kesempatan ke " & b & " Salah"
txtpassword = ""
txtpassword.SetFocus
ElseIf 3 - b = 0 Then
MsgBox "Kesempatan ke " & b & " Salah"
Unload Me
End If
Else
txtlevel = rsuser!akseslevel
txtlevel.Enabled = False
Me.Visible = False
menu.Show
menu.WindowState = 2 'supaya tampil max
menu.stbar.Panels(1) = login.txtuser
Lanjutan Listing Txtpassword_KeyPress
If txtlevel = 1 Then
menu.MNUSER.Enabled = True
menu.stbar.Panels(2) = "ADMIN"
ElseIf txtlevel = 2 Then
menu.MNUSER.Enabled = False
menu.stbar.Panels(2) = "USER"
End If
End If
End If
End Sub
PERTEMUAN 5
MEMBUAT FORM BARANG DAN
DATA USER
A. Form Barang
Desain Form Keterangan Name pada properties: seperti di bawah ini :
Cmdinput : INPUT
Cmdtutup : TUTUP
Tkode : KD BARANG
Tnama : NAMA BARANG
Cmbsat : SATUAN
Tstok : STOK
Tharga : HARGA
Grid : MSHFLEXGRID
Logika jalannya program:
1. Pertama run semua textbox dan combo nonaktif, data barang tampil
di grid. INPUT DAN TUTUP aktif.
2. Tekan INPUT semua textbox, combo aktif. INPUT berubah jadi
SIMPAN, TUTUP berubah jadi BATAL. Kursor muncul di kd barang.
3. Ketikan kd barang. Jika sudah ada tampil nama,satuan,stok,harga.
Kd barang nonaktif. SIMPAN berubah jadi UPDATE. Lakukan
perubahan data barang untuk menyimpan tekan UPDATE, tekan
BATAL untuk membatalkan perubahan data barang kembali ke
kondisi no. 1
4. Ketikan kd barang. Jika tidak ada tampil pesan kode barang tidak
ada. Kursor pindah ke nama barang. Isikan data barang baru, tekan
SIMPAN untuk menyimpan, tekan BATAL untuk membatalkan dan
kondisi kembali ke no.1
5. Tekan TUTUP keluar dari program kembali ke menu utama.
LISTING FORM BARANG :

PERTEMUAN 6
MEMBUAT FORM BARANG DAN
DATA USER
(LANJUTAN)





B. Form Data User
Untuk form data user,
caranya sama dengan Data
Barang. Silahkan kerjakan
sendiri
PERTEMUAN 7
MEMBUAT STRUK PEMBAYARAN
DAN FORM TRANSAKSI PENJUALAN
A. Struk Pembayaran
Buka Crystal Report melalui langkah-langkah dibawah ini:
1. Klik Start
2. Pilih All Program
3. Klik Crystal Reports
4. Pilih Using as a blank report
5. Lalu Klik Ok
Maka akan tampil Data Explorer seperti gambar dibawah ini,
Pilih ODBC – Create New Data Source – Add
Boleh pilih user data atau system

Sesuaikan dgn nama
database masing-
Double klik/ Add semua tabel yang ada
di folder tutorial lalu close
masingmasing
Bila belum ada garis relasinya cek tabel-tabel di databasenya,
biasanya ada yg beda type/sizenya. Misal kodebarang yg di
barang beda dgn di detailtransaksi.
Tanda panah di mistar berguna untuk memudahkan pengaturan
penempatan objek field,garis dll. Caranya cukup di klik di mistar
saja
Menampilkan field explorer: MENU INSERT – FIELD
OBJECT
Untuk garis ada di menu insert – line. Bantu dengan panah di mistar utk
penempatan, caranya tinggal di klik di mistar.
Tarik field-field yang ada di field explorer
Toolbar utk membuat label. Lalu Save dengan
nama: cetak
Field Tabel
Tgljual → transaksi
Kodeuser → transaksi
Kodebarang → barang
Namabarang → barang
hargasatuan → barang
jumlahbeli → detailtransaksi
subtotal → detailtransaksi
Ada di field
explorer
Untuk Total Bayar caranya :
Menu Insert – Grandtotal
Pilih subtotal dari detailtransaksi
Kendala yang mungkin terjadi ketika crystal report di preview/run:
Myodbc error.... solusinya:
1. Buka regedit ( Start – Run – Regedit – Enter )
2. Cari : HKEY_CURRENT_USER\Software\Seagate Software\Crystal
Reports\DatabaseOptions\ODBC
3. Buat key baru : Klik kanan pada ODBC, pilih New, Key
4. Beri Nama : outerjoin
5. Di Dalam Key OuterJoin, buat New String Value
6. Beri nama : SQL2outerjoin
7. Klik kanan pada String Value SQL2outerjoin, pilihModify
8. Isikan : libmyodbc3 (untuk myodbc versi 3) atau libmyodbc5 (untuk myodbc
versi 5)
Setelah di PRIVIEW kosong tidak ada isi datanya. Solusinya:
Cek tabel-tabelnya di database tipedata, size, isi data mungkin tidak sama.
Contoh; Antara kode barang di tabel barang dengan tabel detail mungkin tidak
sama type, size atau isi datanya di tabel yang satu ada di tabel lain yang berkaitan
tidak ada.
PERTEMUAN 8
MEMBUAT STRUK PEMBAYARAN
DAN FORM TRANSAKSI PENJUALAN
(LANJUTAN)
MSHFLEXGRID
TXTUSER
TXTNOTRANS
TXTTGL
Keterangan Name Pada Properties:
List1 : LIST1
Kode barang : TXTKDBRG
Nama barang : TXTNMBRG
Satuan : TXTSATUAN
Harga : TXTHARGA
Jumlah Jual : TXTJMHJUAL
Subtotal : TXTSUBTOTAL
GRID
Uang Bayar : TXTBAYAR
Kembalian : TXTKEMBALIAN
Timer
Button list
barang
List
barang
Input : cmdinput
Simpan : cmdsimpan
Batal : cmdbatal
Tutup : Cmdtutup
Component ListBrg : Cmdlistbrg
Crystal Report
Control. Dikasih
name: CR
Logika Jalannya program transaksi:
1. Pertama run tombol aktif: INPUT sama TUTUP selain itu nonaktif, tgl otomatis
muncul.
2. Tekan INPUT notrans muncul otomatis dan tombol SIMPAN, BATAL aktif.
Sedangkan INPUT, TUTUP nonaktif.
3. Kode barang bisa langsung di input di txtkdbrg lalu enter nama barang, satuan
harga tampil
4. Atau di klik tombol list brg, tampil list barangnya klik salah satu barang maka
kode barang, nama barang,satuan, harga tampil.
5. Kursor langsung muncul di jumlah jual, input jumlah jual lalu enter muncul kotak
pesan
6. Pilih yes ulangi no. 3 atau 4, pilih no input uang bayar.
7. Jika uang bayar kurang muncul pesan
8. Selain itu muncul kembalian langsung TEKAN TOMBOL SIMPAN atau BATAL.
9. Jika SIMPAN tampil struk pembayaran. BATAL kembali semula.
10. Di dalam grid bisa juga membatalkan salah satu barang yang di beli, caranya: klik di
dalam grid, pake panah atas bawah utk memilih barangnya lalu tekan backspace.
11. TEKAN TUTUP keluar dari program transaksi.

PERTEMUAN 9
MEMBUAT STRUK PEMBAYARAN
DAN FORM TRANSAKSI PENJUALAN
(LANJUTAN)

Private Sub list1_Click()
brg = "select * from barang where kodebarang='" & Left(List1, 7) & "'"
Set rsbrg = KON.Execute(brg)
TXTKDBRG = rsbrg!kodebarang
TXTNMBRG = rsbrg!namabarang
TXTSATUAN = rsbrg!SATUAN
TXTHARGA = rsbrg!HARGASATUAN
TXTJMHJUAL.SetFocus
List1.Visible = False
End Sub
Private Sub TXTJMHJUAL_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Call koneksi
rsbrg.Open "select * from barang where kodebarang='" & TXTKDBRG & "'",
KON
If Val(TXTJMHJUAL) > rsbrg!stok Then
MsgBox "stok kurang"
TXTJMHJUAL.SetFocus
Exit Sub
Else
TXTSUBTOTAL = Val(TXTJMHJUAL) * Val(TXTHARGA)
ambilstok = True
Call ubahstok 'ambilstok=true maka di ubahstok, stok berkurang
Call simpanTEMP
Call tampilgrid
Call isilist
ttl = 0
For a = 1 To (grid.Rows - 1)
x = Val(grid.TextMatrix(a, 6))
ttl = ttl + x
Next a
LBAYAR.Caption = ttl
Lanjutan Listing TXTJMHJUAL_KeyPress
t = MsgBox("Mau tambah pembelian lagi?", vbQuestion + vbYesNo,
"Konfirmasi")
If t = vbYes Then
TXTKDBRG = ""
TXTKDBRG.SetFocus
TXTNMBRG = ""
TXTSATUAN = ""
TXTHARGA = ""
TXTJMHJUAL = ""
TXTSUBTOTAL = "“"
Else
ambilstok = False
Me.Refresh
grid.Refresh
TXTBAYAR.SetFocus
End If
End If
End If
End Sub
Private Sub CMDSIMPAN_Click()
Call simpantransaksi
Call simpandetailtransaksi
x = MsgBox("cetak?", vbYesNo, "cetak")
If x = vbYes Then
Call cetak
y = "delete from temp"
Set rstemp = KON.Execute(y)
Call tampilgrid
Call SEMULA
Else
Call SEMULA
End If
End Sub
Private Sub CMDTUTUP_Click()
Call hapusTEMP
Unload Me
menu.Show
End Sub
Private Sub grid_KeyPress(KeyAscii As Integer)
'agar bisa hapus per record didalam grid. caranya klik di
grid lalu pake panah
'atas bawah utk pilih record yg akan dihapus lalu tekan
backspace
a = grid.Row
kodegrid = grid.TextMatrix(a, 1)
Call koneksi
rstemp.Open "select * from TEMP", KON
With rstemp
If Not (.BOF And .EOF) Then
Call isilist
Me.List1.Refresh
grid.Refresh
TXTKDBRG.Text = ""
TXTNMBRG.Text = ""
TXTSATUAN.Text = ""
TXTHARGA.Text = ""
TXTJMHJUAL.Text = ""
TXTSUBTOTAL.Text = ""
ttl = Val(LBAYAR.Caption)
x = Val(grid.TextMatrix(a, 6))
ttl = ttl - x
h = MsgBox("Bener mau dihapus ?", vbQuestion +
vbYesNo, "--TaNYa--")
If h = vbYes Then
hapus = "delete from TEMP where kodebarang='" &
kodegrid & "'"
Set rstemp = KON.Execute(hapus)
ambilstok = False
Call ubahstok
LBAYAR.Caption = ttl
End If
End If
End With
Call tampilgrid
grid.Refresh
End Sub
Private Sub TXTBAYAR_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Val(LBAYAR) > Val(TXTBAYAR) Then
MsgBox "uang bayar kurang"
TXTBAYAR.SetFocus
TXTKEMBALIAN.Enabled = False
Else
TXTKEMBALIAN.Enabled = True
TXTKEMBALIAN = Val(TXTBAYAR) - Val(LBAYAR)
CMDSIMPAN.SetFocus
End If
End If
End Sub
PERTEMUAN 10
MEMBUAT FORM GANTI
PASSWORD USER
Keterangan Name pada properties :
Tkduser : kode user
Tlama : passwd lama
Tbaru : passwd baru
Tkonf : konfirmasi passwd
Btutup : TUTUP
A. FORM GANTI PASSWORD
Outputnya:
Logika jalannya program:
• Pertama run yang aktif hanya password lama. Kode user akan
otomatis terisi sesuai dengan login.
• Kursor muncul di password lama. Ketikan password lama lalu
enter jika tidak ada, muncul pesan (password ..... tidak ada). Jika
ada, kursor pindah ke password baru.
• Ketikan password baru, enter. Ketikan konfirmasi password baru
lalu enter. Jika isi password baru dan konfirmasi password tidak
sama, muncul pesan: (konfirmasi dan password baru berbeda).
Jika sama, muncul pesan:(password telah diupdate).
• TUTUP untuk keluar kembali ke menu utama. Untuk
membatalkan tekan TUTUP aja deh.
Listing Form Ganti Password :
Private Sub BTUTUP_Click()
Unload Me
menu.Show
End Sub
Private Sub Form_Activate()
For Each k In Me.Controls
Private Sub TBARU_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
TKONF.Enabled = True
TKONF.SetFocus
End If
End Sub
If TypeOf k Is TextBox Then
k.Enabled = False
End If
Next
TKDUSER = menu.stbar.Panels(1).Text
TLAMA.Enabled = True
TLAMA.SetFocus
TLAMA.PasswordChar = " * "
TBARU.PasswordChar = " * "
TKONF.PasswordChar = " * "
End Sub
Private Sub TKONF_KeyPress(KeyAscii As Integer)
Call koneksi
If KeyAscii = 13 Then
If TKONF <> TBARU Then
MsgBox "konfirmasi dan password baru berbeda"
Else
rsuser.Open "update LOGIN set password=' " & TKONF & " ' WHERE kodeuser=' " &
TKDUSER & " ' ", KON
MsgBox "password telah diupdate"
Call Form_Activate
TLAMA = " "
End If
End If
End Sub
Private Sub TLAMA_KeyPress(KeyAscii As Integer)
Call koneksi
If KeyAscii = 13 Then
rsuser.Open "SELECT * FROM LOGIN WHERE password=' " & TLAMA & " ' ", KON
If rsuser.EOF Then
MsgBox "password " + TLAMA + " tidak ada"
TLAMA.SetFocus
Else
TBARU.Enabled = True
TBARU.SetFocus
End If
End If
End Sub
PERTEMUAN 11,12,13
MEMBUAT LAPORAN HARIAN,
MINGGUAN, BULANAN
SAMA SEPERTI DIPERTEMUAN 7 MENGGUNAKAN KONEKSI ODBC: TUTORIAL
MEMBUAT LAPORAN HARIAN DI CRYSTAL REPORT
Buat design laporan harian seperti di bawah ini hampir sama dengan
struk pembayaran (save as saja dari cetak.rpt):
Field Tabel
Tgljual → transaksi
Kodeuser → transaksi
Kodebarang → barang
Namabarang → barang
Hargasatuan → barang
Jumlahbeli → detailtransaksi
subtotal → detailtransaksi
Grand total:
Menu Insert – Grandtotal
Pilih subtotal dari detailtransaksi
No transaksi :
Menu insert – group
Pilih notransaksi dari
tabel transaksi
Bedanya dengan struk pembayaran di posisi group #1Name
notransaksi
Laporan penjualan mingguan
Lakukan Save as dari laporan harian, lalu tambahkan tanggal jual dari tabel
transaksi. Sedangkan untuk tanggal sekarang gunakan formula fields – new – isikan
tanggal di formula name – di formula editor ketikan CurrentDate atau double klik
seperti gambar di bawah ini – lalu simpan
Lalu drag tanggal yang sudah jadi ke page
header
Laporan penjualan bulanan
Untuk laporan bulanan tinggal di save as dari laporan MINGGUAN, lalu tambahkan @BULAN
dan @tanggal.
Tempatnya sama di formula editor, menggunakan 2 fungsi Month(untuk
menghasilkan bulan) dan monthName(untuk output bulannya nama).
Untuk tahun fungsi yearPERTEMUAN 11,12,13
MEMBUAT LAPORAN HARIAN,
MINGGUAN, BULANAN
SAMA SEPERTI DIPERTEMUAN 7 MENGGUNAKAN KONEKSI ODBC: TUTORIAL
MEMBUAT LAPORAN HARIAN DI CRYSTAL REPORT
Buat design laporan harian seperti di bawah ini hampir sama dengan
struk pembayaran (save as saja dari cetak.rpt):
Field Tabel
Tgljual → transaksi
Kodeuser → transaksi
Kodebarang → barang
Namabarang → barang
Hargasatuan → barang
Jumlahbeli → detailtransaksi
subtotal → detailtransaksi
Grand total:
Menu Insert – Grandtotal
Pilih subtotal dari detailtransaksi
No transaksi :
Menu insert – group
Pilih notransaksi dari
tabel transaksi
Bedanya dengan struk pembayaran di posisi group #1Name
notransaksi
Laporan penjualan mingguan
Lakukan Save as dari laporan harian, lalu tambahkan tanggal jual dari tabel
transaksi. Sedangkan untuk tanggal sekarang gunakan formula fields – new – isikan
tanggal di formula name – di formula editor ketikan CurrentDate atau double klik
seperti gambar di bawah ini – lalu simpan
Lalu drag tanggal yang sudah jadi ke page
header
Laporan penjualan bulanan
Untuk laporan bulanan tinggal di save as dari laporan MINGGUAN, lalu tambahkan @BULAN
dan @tanggal.
Tempatnya sama di formula editor, menggunakan 2 fungsi Month(untuk
menghasilkan bulan) dan monthName(untuk output bulannya nama).
Untuk tahun fungsi year
PERTEMUAN 14
MEMBUAT FORM LAPORAN
A. Form Laporan Outputnya:
Crystal
Report
Keterangan Name pada Properties :
Combo1 : Charian
Combo2 : Cmingguawal
Combo3 : Cmingguakhir
Combo4 : Cbulan
Combo5 : Ctahun
Crystal Report : CR
Listing Fom Laporan :
Private Sub Bkeluar_Click()
Unload Me
menu.Show
End Sub
Private Sub CBULAN_KeyPress(KeyAscii As Integer)
If KeyAscii = 27 Then Unload Me
End Sub
'LAP HARIAN
Private Sub CHARIAN_Click()
'panggil laporan yang tanggalnya = charian
CR.SelectionFormula = "{ TRANSAKSI.TglJUAL}=' " & CHARIAN & " ' "
CR.ReportFileName = App.Path & "\Lap_HARIAN.rpt"
CR.WindowState = CRptMaximized
CR.RetrieveDataFiles
CR.Action = 1
End Sub
Private Sub Form_Load()
'buka database
Call koneksi
'cari tanggal pembelian
rstrans.Open "Select Distinct TGLJUAL From transaksi order By 1", KON
rstrans.Requery
'tampilkan tanggal dalam combo
Do Until rstrans.EOF
CHARIAN.AddItem rstrans!Tgljual
CMINGGUAWAL.AddItem Format(rstrans!Tgljual, "YYYY ,MM, DD")
CMINGGUAKHIR.AddItem Format(rstrans!Tgljual, "YYYY ,MM, DD")
rstrans.MoveNext
Loop
'buatlah looping untuk bulan dari 1-12
'dan tahun mulai tahun 2010 s/d 2020
For i = 1 To 12
CBULAN.AddItem i
Next i
For i = 10 To 20
CTAHUN.AddItem 2000 + i
Next i
End Sub
Private Sub CHARIAN_KeyPress(KeyAscii As Integer)
If CHARIAN = " " Or KeyAscii = 27 Then Unload Me
End Sub
'LAP MINGGUAN
Private Sub CMINGGUAKHIR_Click()
'cegah data kosong di CMINGGUAWAL dan cMINGGUAKHIR
If CMINGGUAWAL = " " Then
MsgBox "Tanggal awal kosong", , "Informasi"
CMINGGUAWAL.SetFocus
Exit Sub
End If
'panggil laporan yang tanggal awalnya=CMINGGUAWAL dan tanggal akhirnya = CMINGGUAKHIR
CR.SelectionFormula = "{TRANSAKSI.TglJUAL} in date (" & CMINGGUAWAL.Text & ") to date (" & CMINGGUAKHIR.Text & ")"
CR.ReportFileName = App.Path & "\Lap_Mingguan.rpt"
CR.WindowState = CRptMaximized
CR.RetrieveDataFiles
CR.Action = 1
End Sub
Private Sub CMINGGUAWAL_KeyPress(KeyAscii As Integer)
If KeyAscii = 27 Then Unload Me
End Sub
'LAP BULANAN
Private Sub CTAHUN_Click()
'buka database
Call koneksi
'cari data yang tanggal dan bulannya dipilih di CBULAN dan CTAHUN
rstrans.Open "select * from TRANSAKSI where month(TGLJUAL)=' " & Val(CBULAN) & " ' and year(TGLJUAL)=' " & (CTAHUN) & " ' ", KON
'jika tidak cocok, munculkan pesan
If rstrans.EOF Then
MsgBox "Data tidak ditemukan"
Exit Sub
CBULAN.SetFocus
End If
'jika ditemukan panggil file laporan yang
'datanya bulannya=cBULAN dan tahunnya= CTAHUN
CR.SelectionFormula = "Month({TRANSAKSI.TGLJUAL})=" & Val(CBULAN.Text) & " and Year({TRANSAKSI.TGLJUAL})=" & Val(CTAHUN.Text)
CR.ReportFileName = App.Path & "\Lap_Bulanan.rpt"
CR.WindowState = CRptMaximized
CR.RetrieveDataFiles
CR.Action = 1
End Sub
B. Membuat FILE EXE
Klik menu file – pilih make P.TUTORIAL.exe – kasih nama file :
proj-tutorial - ok.
INGATT!!
Jangan lupa untuk memperesentasikan tugas membuat projek program secara
berkelompok.

Tidak ada komentar:

Posting Komentar