Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual...

51
Modul Praktikum Visual Basic Advance Bina Sarana Informatika Disusun Oleh: Syamsul Bakhri, S.Kom

Transcript of Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual...

Page 1: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Modul Praktikum Visual Basic AdvanceBina Sarana Informatika

Disusun Oleh:

Syamsul Bakhri, S.KomMulia Rahmayu, S.Kom

Page 2: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 2 of 42

PERTEMUAN 1Penjelasan tugas,penentuan kelompok, penilaian tugas

Pertemuan ini menjelaskan ke siswa untuk mengerjakan sebuah projek program untuk nilai tugas, secara berkelompok (msl. 5 orang/kelompok). Pada saat mereka melakukan presentasi projek program, penilaian diambil secara individu dan kelompok.

Kriteria penilaian projek programPenlaian 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.

Contoh: Database: 10% x 100=10Form. Coding, report = 60% x 100 = 60Testing, Presentasi = 30% x 100 = 30TOTAL NILAI KELOMPOK = 100NILAI INDIVIDU = 100Nilai rata-rata projek program per individu=(100+100)/2 =100

.

Page 3: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 3 of 42

Dengan detail penilaian kelompok seperti di bawah ini:

Minggu

Kemampuan yang diharapkan

Bahan Kajian Bentuk Pengajaran

Kriteria Penilaian

Bobot

1

Penjelasan tugas,penentuan

kelompok, penilaian tugas

Kesepakatan perkuliahan, diskusi, penjelasan tugas

Ceramah dan diskusi

2

Pembuatan database di mysql

via GUI

1. Konsep dasar database

2. Merancang database & table

3. Pengenalan perintah sql

Praktek dan diskusi

Pemahaman database,

perintah-perintah sql 10%

3-4

Merancang coding koneksi di modul,

form menu utama dan login

Membuat coding koneksi, form menu utama dan login

Praktek dan diskusi,

Pemahaman koneksi, mampu membuat form dan codingnya 10%

5-6

Membuat form barang dan form data user

beserta coding

1. Membuat form 2. Koneksi form dengan

database3. Modifikasi dengan

perintah sql

Praktek dan diskusi

Pemahaman koneksi, mampu membuat form dan codingnya

10%

7

Membuat struk pembayaran di crystal

report

Mendisain laporan Praktek dan diskusi

Mampu menggunakan

tools-tools crystal report

5%

8-9

Membuat Form Transaksi Penjualan

Membuat form transaksi penjualan sampai menampilkan struk pembayaran

Praktek dan diskusi

Mampu membuat form dan

codingnya

15%

10Membuat form ganti

password user Membuat form dan coding Praktek dan

diskusi Kreatifitas

menambah utility program

11 -12 Membuat laporan penjualan harian,

mingguan, bulanan

Mendisain laporan harian, mingguan dan bulanan

Praktek dan diskusi

Kreatifitas mendesign

laporan 10%

13 UJIAN TENGAH SEMESTER (UTS)

14

Membuat Form Laporan

Membuat form laporan yang dapat menampilkan laporan harian, mingguan, bulanan

Praktek dan diskusi

Mampu membuat form dan

codingnya

10%

15Review Review bisa juga dilakukan di

setiap akhir per pertemuan

Page 4: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 4 of 42

16 – 27

Presentasi projek program berkelompok

1. Cara presentasi yang baik

2. Evaluasi pembuatan program

presentasi Penilaian Individu dan Kelompok

30%

28 UJIAN AKHIR SEMESTER(UAS)

Contoh projek program: Pembayaran, Simpan-pinjam, Pembelian, Penggajian, Peminjaman – pengembalian, Penerimaan karyawan, Absensi pegawai, Persedian barang, kunjungan pasien, perpustakaan dan lain-lain.

PERTEMUAN 2DATABASE MYSQL

Membuat database di mysql Dalam pembuatan basis data pada MySQL software yang digunakan adalah : apache2triad dll. mysql-connector-odbc-3.51 atau yang 5.1.10-win32 (untuk mengkoneksikan

database dengan software pemrograman. Pilih saja salah satu mana yang support)

Software pemrograman yang dipakai penulis untuk pembelajaran ini adalah Visual Basic 6.0 mysql connector odbcnya yang 5.1Normalisasi bentuk ke 3

Nama databasenya: penjualan_nim Buatlah Tabel-tabel dibawah ini

Nama tabel: BarangField name Data type Field size Keterangan

Kodebarang Varchar 7 Primary KeyNamabarang Varchar 20Satuan Varchar 10Stok Int Hargasatuan Double Langsung Isi datanya:

Kodebarang*NamabarangSatuanStokhargasatuan

JumlahjualSubtotal

Notransaksi**Kodebarang**

Notransaksi *Tgljualtotalbayar

kodeuser**

Kodeuser*Namauserpasswordlevel

Barang Detailtransaksi Transaksi

Login

Page 5: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 5 of 42

Nama tabel:DetailTransaksiField name Data type Field size Keterangan

Notransaksi Varchar 10 Foreign KeyJumlahbeli Int Subtotal Double Kodebarang Varchar 7 Foreign Key

Nama tabel:TransaksiField name Data type Field size Keterangan

Notransaksi Varchar 10 Primary KeyTgljual DateTotalbayar Double Kodeuser Varchar 3 Foreign Key

Nama tabel:LoginField name Data type Field size Keterangan

Kodeuser Varchar 3 Primary KeyNamauser Varchar 50Password Varchar 6Akseslevel Varchar 4Isi datanya:

PERTEMUAN 3,4MERANCANG CODING KONEKSI, FORM MENU UTAMA DAN LOGIN

Aktifkan Microsoft Visual Basic 6.0 – Pilih STANDART EXE

Page 6: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 6 of 42

Tambahkan terlebih dahulu Reference ADO Library ke dalam project anda:Ini berkaitan dengan listing koneksi di module, biasanya ketika diketik ...as new ADODB...., ADODB nya tidak muncul.Klik menu project – reference – arahkan scrollnya ke bawah cari Microsoft ActiveX Data Objects 2.5 Library(bisa juga 2.6/2.7/2.8) – ceklist – ok

Ketika membuka code, jika terdapat tampilan option explicit artinya setiap variabel yang dibuat harus di deklarasikan. Contoh: dim k as string

Untuk menghilangkannya pilih menu tools – options – hilangkan ceklist di require variable declaration kemudian exit, tidak usah disimpan. Lalu buka kembali vb yang baru. Lihat tampilan code maka option explicit sudah tidak ada.

Page 7: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 7 of 42

Selanjutnya membuat coding koneksi di dalam modul.Klik menu project – add module – open – Ketikan script berikut pada modul untuk membuka koneksi database.

MODUL1

'MENDEFINISIKAN OBJEKPublic KON As New ADODB.ConnectionPublic rsbrg As ADODB.RecordsetPublic rsuser As ADODB.RecordsetPublic rsdetail As ADODB.RecordsetPublic rstrans As ADODB.RecordsetPublic rstemp As ADODB.Recordset

Sub koneksi()'MEMBUKA OBJEKSet KON = New ADODB.ConnectionSet rsbrg = New ADODB.RecordsetSet rsuser = New ADODB.RecordsetSet rsdetail = New ADODB.RecordsetSet rstrans = New ADODB.RecordsetSet rstemp = New ADODB.RecordsetKON.ConnectionString = "driver={mysql odbc 5.1 driver};server=localhost;uid=root;pwd=password;db=penjualan_nim;"KON.OpenEnd Sub

A. MEMBUAT FORM MENU UTAMA (name: menu)

Pilih menu TOOLS – menu editorCAPTION - NAMEFILE – MNFILEBARANG – MNBARANGDATA USER – MNUSERTRANSAKSI – MNTRANSAKSILAPORAN – MNLAPORANUTILITY – MNUTILITYGANTI PASSWORD – MNGPLOGOUT – MNLOGOUT

Ket: mulai dari ...= "driver={mysql odbc 5.1 driver};server=localhost;uid=root;pwd=password;db=penjualan_nim;" ini diketik manual. Penulis tidak membuat koneksi via adodc/ seting odbc

Page 8: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 8 of 42

untuk objek statusbar, Tambahkan komponen ini:

Listing menu utama:

Private Sub MNBARANG_Click()menu.Hidebarang.Show 'ke form barangEnd Sub

Output menu utama

StatusBar (name: STBAR)Klikkanan – propertiesTab panel - Insert panel 3 x

Page 9: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 9 of 42

Private Sub MNGP_Click()menu.HideG_USER.Show 'ke form ganti password userEnd Sub

Private Sub MNLAPORAN_Click()menu.HideForm3.Show 'ke form laporanEnd Sub

Private Sub mnlogout_Click()Me.Visible = Falselogin.Show 'ke form loginEnd Sub

Private Sub MNTRANSAKSI_Click()menu.HideForm1.Show 'ke form transaksiEnd Sub

Private Sub MNUSER_Click()menu.HideDATAUSER.Show 'ke form datauserEnd Sub

B. FORM LOGIN (name : login)

Listing form login:

Private Sub CMDBERSIH_Click()txtuser = " "txtpassword = " "txtuser.SetFocusEnd Sub

Private Sub CMDTUTUP_Click()EndEnd Sub

Private Sub Form_Activate()txtuser.Enabled = True

Output login

Page 10: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 10 of 42

txtpassword.Enabled = Falsetxtuser.SetFocustxtuser.MaxLength = 3txtpassword.PasswordChar = " * "txtlevel.Visible = FalseEnd Sub

Private Sub txtpassword_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 27 Then End ‘ 27=esc,jika tekan esc maka keluar. 13=enterDim Kodeuser As StringDim user As StringIf KeyAscii = 13 Then Call koneksi rsuser.Open "Select * from login where kodeuser =' " & txtuser & " ' and Password=' " & txtpassword & " ' ", KON If rsuser.EOF Then b = b + 1 If 1 - b = 0 Then MsgBox "Kesempatan ke " & b & " Salah" txtpassword = "" txtpassword.SetFocus ElseIf 2 - b = 0 Then 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.stbar.Panels(1).Text = login.txtuser ‘menu adl name dari form menu menu.stbar.Panels(2).Text = login.txtlevel

menu.stbar.Panels(3).Visible = False If menu.stbar.Panels(2).Text = "user" Then menu.MNUSER.Enabled = False

ElseIf menu.stbar.Panels(2).Text = "admin" Then menu.MNUSER.Enabled = True

Page 11: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 11 of 42

End If End IfEnd IfEnd Sub

Private Sub txtuser_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 27 Then End ‘27= escIf KeyAscii = 13 Then Call koneksirsuser.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) & _ "Nama ' " & txtuser & " ' tidak dikenal" txtuser = " " 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 Else txtuser.Enabled = False txtpassword.Enabled = True txtpassword.SetFocus End IfEnd IfEnd Sub

PERTEMUAN 5,6MEMBUAT FORM BARANG DAN DATA USER

A. Form Barang

Keterangan Name pada properties:

Cmdinput : INPUT

Cmdtutup : TUTUP

Tkode : KD BARANG

Tnama : NAMA BARANG

Cmbsat : SATUAN

Tstok : STOK

Tharga : HARGA

Grid : MSHFLEXGRID

Page 12: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 12 of 42

Outputnya setelah di tekan INPUT dan mengisi data baru:

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.

Page 13: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 13 of 42

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:

Sub isicsat()cmbsat.AddItem "UNIT"cmbsat.AddItem "PCS"End Sub

Sub NONAKTIF()Dim kontrol As ControlFor Each kontrol In Me.ControlsIf TypeOf kontrol Is TextBox Then kontrol.Enabled = FalseNextcmbsat.Enabled = FalseEnd Sub

Sub aktif()Dim kontrol As ControlFor Each kontrol In Me.ControlsIf TypeOf kontrol Is TextBox Then kontrol.Enabled = TrueNextcmbsat.Enabled = TrueEnd Sub

Sub bersih()For Each kontrol In Me.ControlsIf TypeOf kontrol Is TextBox Then kontrol.Text = " "Nextcmbsat = " "End Sub

Sub tampilgrid()'buka tabel barang duluCall koneksirsbrg.Open "select * from barang order by kodebarang", KON'atur grid utk tabel brg

Page 14: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 14 of 42

Set grid.DataSource = rsbrggrid.ColWidth(0) = 0grid.ColWidth(1) = 1000grid.ColWidth(2) = 1500grid.ColWidth(3) = 500grid.ColWidth(4) = 500grid.ColWidth(5) = 1000End Sub

Sub simpanbrg()simpan = "insert into barang values(' " & tkode & " ', " & _" ' " & tnama & " ', " & _" ' " & cmbsat & " ', " & _" ' " & tstok & " ', " & _" ' " & tharga & " ') "Set rsbrg = KON.Execute(simpan)End Sub

Sub updatebrg()Update = "update barang set " & _"namabarang=' " & tnama & " ', " & _"satuan=' " & cmbsat & " ', " & _"stok=' " & tstok & " ', " & _"hargasatuan=' " & tharga & " ' where kodebarang=' " & tkode & " ' "Set rsbrg = KON.Execute(Update)End Sub

Private Sub cmdinput_Click()If cmdinput.Caption = "INPUT" Thencmdinput.Caption = "SIMPAN"cmdtutup.Caption = "BATAL"Call aktiftkode.SetFocusElseIf cmdinput.Caption = "SIMPAN" ThenCall simpanbrgCall tampilgridcmdinput.Caption = "INPUT"cmdtutup.Caption = "TUTUP"Call bersihCall NONAKTIFElseIf cmdinput.Caption = "UPDATE" ThenCall updatebrgCall tampilgridCall NONAKTIFcmdinput.Caption = "INPUT"cmdtutup.Caption = "TUTUP"

Page 15: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 15 of 42

End IfEnd Sub

Private Sub cmdtutup_Click()If cmdtutup.Caption = "TUTUP" ThenUnload Memenu.ShowElseIf cmdtutup.Caption = "BATAL" ThenCall bersihCall NONAKTIFcmdtutup.Caption = "TUTUP"cmdinput.Caption = "INPUT"End IfEnd Sub

Private Sub Form_Activate()Call bersihCall NONAKTIFCall isicsatCall tampilgridEnd Sub

Private Sub Form_Load()Call koneksiEnd Sub

Private Sub grid_KeyPress(KeyAscii As Integer)'agar bisa hapus per record didalam grid.'caranya klik kode di grid yang akan dihapus tekan backspace

a = grid.Row kode = grid.TextMatrix(a, 1) Call koneksirsbrg.Open "select * from barang ", KON With rsbrgIf KeyAscii = 8 Then If Not (.BOF And .EOF) Then h = MsgBox("Bener mau dihapus ?", vbQuestion + vbYesNo, "--TaNYa--") If h = vbYes Then hapus = "delete from barang where kodebarang=' " & kode & " ' " Set rsbrg = KON.Execute(hapus) End IfEnd IfEnd If

Page 16: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 16 of 42

End WithCall tampilgridgrid.RefreshEnd Sub

Private Sub tharga_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Thencmdinput.SetFocusEnd IfEnd Sub

Private Sub tkode_KeyPress(KeyAscii As Integer)Call koneksiKeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 Thenrsbrg.Open "SELECT * FROM barang WHERE Kodebarang=' " & tkode & " ' ", KONWith rsbrg If .BOF And .EOF Then psn = MsgBox("KD " + tkode + " TDK ADA", vbInformation, "KONF") tnama = " " cmbsat = " " tstok = " " tharga = " " tnama.SetFocus Else tkode.Enabled = False bhapus.Enabled = True tnama = .Fields("Namabarang") cmbsat = .Fields("SATUAN") tstok = .Fields("stok") tharga = .Fields("hargaSATUAN") cmdinput.Caption = "UPDATE"End IfEnd WithEnd IfEnd Sub

Private Sub tnama_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 Thencmbsat.SetFocusEnd IfEnd Sub

Private Sub tstok_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then

Page 17: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 17 of 42

tharga.SetFocusEnd IfEnd Sub

B. Form Data User

PERTEMUAN 7,8,9MEMBUAT STRUK PEMBAYARAN DAN FORM TRANSAKSI PENJUALAN

A. Struk Pembayaran

Untuk form data user caranya sama dengan Data Barang. Silahkan kerjakan sendiri

Page 18: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 18 of 42

Untuk menggunakan crystal report, penulis sebelumnya menginstal terlebih dahulu, yang penulis gunakan crystal report versi 8.5. Buka Crystal Report melalui langkah-langkah dibawah ini:1. Klik Start2. Pilih All Programs3. Klik Crystal Reports

4. Pilih Using as a blank report5. Lalu Klik OkMaka akan tampil Data Explorer seperti gambar dibawah ini,

6. Pilih ODBC – Create New Data Source – Add

7.

Page 19: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 19 of 42

8.

9.

10.Sesuaikan dgn nama database masing-masing

Page 20: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 20 of 42

11. Double klik/ Add semua tabel yang ada di folder tutorial lalu close

12.

Page 21: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 21 of 42

Bila belum ada garis relasinya tekan link pilih smart link. Klik ok. Tanda panah di mistar berguna untuk memudahkan pengaturan penempatan objek field,garis dll. Caranya cukup di klik di mistar sajaMenampilkan field explorer: MENU INSERT – FIELD OBJECT

Field Tabel Tgljual → transaksi

Kodeuser → transaksi

Page 22: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 22 of 42

Kodebarang → barang

Namabarang → barang

hargasatuan → barang

jumlahbeli → detailtransaksi

subtotal → detailtransaksi

Pindahkan group#1 Name ke posisi page header atur seperti di bawah ini. Untuk garis ada di menu insert – line. Bantu dengan panah di mistar utk penempatan. Toolbar utk membuat label. Save dengan nama: cetak

Grand total:Menu Insert – GrandtotalPilih 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\ODBC3. Buat key baru : Klik kanan pada ODBC, pilih New, Key4. Beri Nama : outerjoin5. Di Dalam Key OuterJoin, buat New String Value6. Beri nama : SQL2outerjoin7. Klik kanan pada String Value SQL2outerjoin, pilih Modify8. 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.

No transaksi :Menu insert – groupPilih notransaksi dari tabel transaksi

Page 23: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 23 of 42

B. Form Transaksi PenjualanKomponen di form transaksi:INPUT, SIMPAN, BATAL, TUTUP, LIST BRG objeknya command buttonTimer, textbox, label, listbox, gridnya pakai MSHFLEXGRID

Outputnya:

MSHFLEXGRID

TXTUSERTXTNOTRANS

TXTTGL

Keterangan Name Pada Properties:List1 : LIST,Kode barang : TXTKDBRG Nama barang : TXTNMBRG, Satuan : TXTSATUAN, Harga : TXTHARGA, Jumlah Jual : TXTJMHJUAL, Subtotal : TXTSUBTOTAL,GRID,Uang Bayar : TXTBAYAR, Kembalian : TXTKEMBALIANInput : cmdinputSimpan : cmdsimpanBatal : cmdbatalTutup : Cmdtutup

Component Crystal Report Control. Dikasih name: CR

Timer

LBAYAR

Page 24: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 24 of 42

Logika Jalannya program: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 tampil4. 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 pesan8. 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.

LISTINGNYA:

Dim ambilstok As Boolean

Page 25: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 25 of 42

Sub cetak()Call koneksicr.SelectionFormula = "Totext({TRANSAKSI.notransaksi})=' " & TXTNOTRANS & " ' " cr.ReportFileName = App.Path & "\cetak.rpt" cr.WindowState = crptMaximized cr.RetrieveDataFiles cr.Action = 1End Sub

Sub isilist()'masukin data barang ke listrsbrg.Open "select * from barang", KONDo While Not rsbrg.EOF List.AddItem rsbrg!kodebarang & Space(3) & rsbrg!namabarang & Space(3) & rsbrg!stok rsbrg.MoveNext LoopEnd Sub

Sub SEMULA()Call bersihCall NONAKTIFCMDSIMPAN.Enabled = FalseCMDINPUT.Enabled = TrueCMDTUTUP.Enabled = TrueCMDBATAL.Enabled = Falselist.Enabled = FalseList.Visible = FalseEnd Sub

Sub NONAKTIF()Dim kontrol As ControlFor Each kontrol In Me.ControlsIf TypeOf kontrol Is TextBox Then kontrol.Enabled = FalseNextList.Enabled = FalseEnd Sub

Sub aktif()Dim kontrol As ControlFor Each kontrol In Me.ControlsIf TypeOf kontrol Is TextBox Then kontrol.Enabled = TrueNextList.Enabled = TrueTXTTGL.Enabled = FalseTXTUSER.Enabled = False

Page 26: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 26 of 42

End Sub

Sub bersih()Dim kontrol As ControlLBAYAR.Caption = "Bayar"Call hapusTEMP

For Each kontrol In Me.ControlsIf TypeOf kontrol Is TextBox Then kontrol.Text = " "NextTXTUSER = menu.stbar.Panels(1).TextEnd Sub

Sub tampilgrid()Call koneksi'buka tabel barangrstemp.Open "select * from TEMP order by kodebarang", KON'atur grid utk tabel TEMPSet grid.DataSource = rstempgrid.ColWidth(0) = 50grid.TextMatrix(0, 1) = "Kode Barang"grid.ColWidth(1) = 1000grid.TextMatrix(0, 2) = "Nama Barang"grid.ColWidth(2) = 1300grid.TextMatrix(0, 3) = "Satuan"grid.ColWidth(3) = 1300grid.TextMatrix(0, 4) = "HARGA "grid.ColWidth(4) = 1300grid.TextMatrix(0, 5) = "Jumlah Jual"grid.ColWidth(5) = 1000grid.TextMatrix(0, 6) = "Subtotal"grid.ColWidth(6) = 1000End Sub

Sub bikinTEMP()' bikin tabel TEMPbikin = "create table TEMP(kodebarang varchar(7),nmbrg varchar(25),sat varchar(10),hrg double,qty int, subttl double)"Set rstemp = KON.Execute(bikin)tampilgridEnd Sub

Sub hapusTEMP()hapus = "drop table if exists TEMP"Set rstemp = KON.Execute(hapus)

Page 27: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 27 of 42

End Sub

Sub simpanTEMP()Dim simpan As Stringsimpan = "insert into TEMP() values(' " & TXTKDBRG & " ', " & _" ' " & TXTNMBRG & " ', " & _" ' " & TXTSATUAN & " ', " & _" ' " & TXTHARGA & " ', " & _" ' " & TXTJMHJUAL & " ', " & _" ' " & TXTSUBTOTAL & " ') "Set rstemp = KON.Execute(simpan, , adCmdText)End Sub

Sub nomor()TXTTGL = Format(Date, "DD/MM/YYYY")Dim cari As String'buka tabel transaksiCall koneksirstrans.Open "SELECT * FROM TRANSAKSI ORDER BY NOTRANSAKSI DESC LIMIT 1; " , KONWith rstransIf .EOF ThenTXTNOTRANS = Format(Date, "yymm") + "001"ElseTXTNOTRANS = Val(.Fields("notransaksi")) + 1End IfEnd WithEnd Sub

Sub simpantransaksijual()TXTTGL = Format(Date, "YYYY/MM/DD")simpan = "INSERT INTO transaksi() VALUES(' " & TXTNOTRANS & " ', ' " & TXTTGL & " ', ' " & Val(LBAYAR) & " ', ' " & TXTUSER & " ')"Set rstrans = KON.Execute(simpan)End Sub

Sub simpandetailjual()Dim simpan, fak, kdbrg As StringDim jmhjual As IntegerDim subttl As Double

For a = 1 To (grid.Rows - 1)fak = TXTNOTRANSkdbrg = grid.TextMatrix(a, 1) 'kdbrg berada di kolom 1jmhjual = grid.TextMatrix(a, 5) 'jmhjual berada di kolom 5subttl = grid.TextMatrix(a, 6) 'subtotal berada di kolom 6

'variabel fak,kdbrg,jmhjual,subttl utk data masukan ke tabel detailjual

Page 28: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 28 of 42

simpan = "insert into detailTRANSAKSI()values(' " & fak & " ',' " & Val(jmhjual) & " ', ' " & Val(subttl) & " ', ' " & kdbrg & " ') "Set rsdetail = KON.Execute(simpan)Next aEnd Sub

Sub ubahstok()Call koneksiIf ambilstok = True Then

kurang = "update barang set stok=stok - ' " & Val(TXTJMHJUAL) & " ' where kodebarang=' " & TXTKDBRG & " ' "Set rsbrg = KON.Execute(kurang)

ElseIf ambilstok = False Thentambah = "update barang set stok=stok + ' " & Val(TXTJMHJUAL) & " ' where kodebarang=' " & TXTKDBRG & " ' "Set rsbrg = KON.Execute(tambah)

End IfEnd Sub

Private Sub clist_Click()List.Visible = TrueEnd Sub

Private Sub CMDBATAL_Click()Call SEMULACall hapusTEMPEnd Sub

Private Sub CMDINPUT_Click()Call aktifTXTNOTRANS.Enabled = FalseCMDINPUT.Enabled = FalseCMDTUTUP.Enabled = FalseCMDSIMPAN.Enabled = TrueCMDBATAL.Enabled = Trueclist.Enabled = TrueCall hapusTEMPCall bikinTEMPCall nomorTXTKDBRG.SetFocusEnd Sub

Private Sub CMDSIMPAN_Click()Call simpantransaksijual

Page 29: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 29 of 42

Call simpandetailjualx = MsgBox("cetak?", vbYesNo, "cetak")If x = vbYes ThenCall cetaky = "delete from temp"Set rstemp = KON.Execute(y)Call tampilgridCall SEMULAElseCall SEMULAEnd IfEnd Sub

Private Sub CMDTUTUP_Click()Call hapusTEMPUnload Memenu.ShowEnd Sub

Private Sub Form_Activate()TXTNOTRANS.Enabled = FalseCall SEMULATXTUSER = menu.stbar.Panels(1).TextEnd Sub

Private Sub Form_Load()Call koneksiambilstok = TrueCall isilistEnd 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 kode = grid.TextMatrix(a, 1) Call koneksirstemp.Open "select * from TEMP", KON With rstempIf KeyAscii = 8 Then If Not (.BOF And .EOF) Then h = MsgBox("Bener mau dihapus ?", vbQuestion + vbYesNo, "--TaNYa--") If h = vbYes Then

Page 30: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 30 of 42

hapus = "delete from TEMP where kodebarang=' " & kode & " ' " Set rstemp = KON.Execute(hapus) ambilstok = False Call ubahstok Me.List.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

LBAYAR.Caption = ttl End If End IfEnd IfEnd WithCall tampilgridgrid.RefreshEnd Sub

Private Sub List_Click()Dim brg As Stringbrg = "select * from barang where kodebarang=' " & Left(List, 7) & " ' "Set rsbrg = KON.Execute(brg)

TXTKDBRG = rsbrg!kodebarangTXTNMBRG = rsbrg!namabarangTXTSATUAN = rsbrg!SATUANTXTHARGA = rsbrg!HARGASATUANTXTJMHJUAL.SetFocusList.Visible = FalseEnd Sub

Private Sub Timer1_Timer()TXTTGL = Format(Date, "DD/MM/YYYY")End Sub

Private Sub TXTBAYAR_KeyPress(KeyAscii As Integer)

Page 31: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 31 of 42

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

Private Sub TXTJMHJUAL_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then Call koneksirsbrg.Open "select * from barang where kodebarang=' " & TXTKDBRG & " ' ", KON If Val(TXTJMHJUAL) > rsbrg!stok Then MsgBox "stok kurang" TXTJMHJUAL.SetFocus Exit Sub ElseTXTSUBTOTAL = Val(TXTJMHJUAL) * Val(TXTHARGA)ambilstok = TrueCall ubahstokCall simpanTEMPCall tampilgrid

ttl = 0For a = 1 To (grid.Rows - 1) x = Val(grid.TextMatrix(a, 6)) ttl = ttl + x Next aLBAYAR.Caption = ttl

ambilstok = True

t = MsgBox("Mau tambah pembelian lagi?", vbQuestion + vbYesNo, "Konfirmasi") If t = vbYes Then TXTKDBRG = " " TXTKDBRG.SetFocus TXTNMBRG = " " TXTSATUAN = " "

Page 32: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 32 of 42

TXTHARGA = " " TXTJMHJUAL = " " TXTSUBTOTAL = " " Else Me.Refresh grid.Refresh TXTBAYAR.SetFocusEnd IfEnd IfEnd IfEnd Sub

Private Sub TXTKDBRG_KeyPress(KeyAscii As Integer)Call koneksiKeyAscii = Asc(UCase(Chr(KeyAscii)))If KeyAscii = 13 Thenrsbrg.Open "SELECT * FROM barang WHERE Kodebarang=' " & TXTKDBRG & " ' ", KONWith rsbrg If .BOF And .EOF Then psn = MsgBox("KD" + TXTKDBRG + "TDK ADA", vbInformation, "KONF") TXTKDBRG = " " TXTKDBRG.SetFocus Else TXTNMBRG = .Fields("Namabarang") TXTSATUAN = .Fields("SATUAN") TXTHARGA = .Fields("hargaSATUAN") TXTJMHJUAL.Enabled = True TXTJMHJUAL.SetFocusEnd IfEnd WithEnd IfEnd Sub

PERTEMUAN 10MEMBUAT FORM GANTI PASSWORD USER

Page 33: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 33 of 42

Logika jalannya program:1. Pertama run yang aktif hanya password lama. Kode user akan otomatis terisi

sesuai dengan login.2. 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.

3. 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).

4. Tekan TUTUP untuk keluar kembali ke menu utama. Untuk membatalkan tekan TUTUP aja deh.

Listingnya:

Private Sub BTUTUP_Click()Unload Memenu.ShowEnd Sub

Private Sub Form_Activate()For Each k In Me.ControlsIf TypeOf k Is TextBox Thenk.Enabled = FalseEnd IfNextTKDUSER = menu.stbar.Panels(1).TextTLAMA.Enabled = TrueTLAMA.SetFocusTLAMA.PasswordChar = " * "TBARU.PasswordChar = " * "

Name:

Tkduser : kode userTlama : passwd lamaTbaru : passwd baruTkonf : konfirmasi passwdBtutup : TUTUP

Outputnya:

Page 34: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 34 of 42

TKONF.PasswordChar = " * "End Sub

Private Sub TBARU_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenTKONF.Enabled = TrueTKONF.SetFocusEnd IfEnd Sub

Private Sub TKONF_KeyPress(KeyAscii As Integer)Call koneksiIf KeyAscii = 13 ThenIf TKONF <> TBARU ThenMsgBox "konfirmasi dan password baru berbeda"Elsersuser.Open "update LOGIN set password=' " & TKONF & " ' WHERE kodeuser=' " & TKDUSER & " ' ", KONMsgBox "password telah diupdate"Form_ActivateTLAMA = " "End IfEnd IfEnd Sub

Private Sub TLAMA_KeyPress(KeyAscii As Integer)Call koneksiIf KeyAscii = 13 Thenrsuser.Open "SELECT * FROM LOGIN WHERE password=' " & TLAMA & " ' ", KONIf rsuser.EOF ThenMsgBox "password " + TLAMA + " tidak ada"TLAMA.SetFocusElseTBARU.Enabled = TrueTBARU.SetFocusEnd IfEnd IfEnd Sub

PERTEMUAN 11,12,13MEMBUAT LAPORAN PENJUALAN HARIAN, MINGGUAN, BULANAN

Page 35: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 35 of 42

A. Laporan penjualan harian

Di pertemuan 7 pembuatan struk pembayaran, sudah membuat koneksi odbc dengan nama tutorial. Berikutnya akan kita gunakan kembali ODBC: tutorial.Buka crystal report, pilih as a blank report, di data explorer klik Add/double klik tabel barang, detailtransaksi, login, transaksi

Buat design laporan harian seperti di bawah ini hampir sama dengan struk pembayaran (save as saja dari cetak.rpt):

Field Tabel Tgljual → transaksi

Page 36: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 36 of 42

Kodeuser → transaksi

Kodebarang → barang

Namabarang → barang

hargasatuan → barang

jumlahbeli → detailtransaksi

subtotal → detailtransaksi

Bedanya dengan struk pembayaran di posisi group #1Name notransaksi

B. Laporan penjualan mingguan

Untuk mingguan, juga tinggal di save as dari laporan harian, lalu tambahkan tanggal jual dari tabel transaksi. Sedangkan untuk tanggal sekarang gunakan formula fields

Grand total:Menu Insert – GrandtotalPilih subtotal dari detailtransaksi

No transaksi :Menu insert – groupPilih notransaksi dari tabel transaksi

Page 37: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 37 of 42

– new – isikan tanggal di formula name – di formula editor ketikan CurrentDate atau double klik seperti gambar di bawah ini – lalu simpan.

C. Laporan penjualan bulanan

Lalu drag tanggal yang sudah jadi ke page header

Page 38: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 38 of 42

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

PERTEMUAN 14MEMBUAT FORM LAPORAN

Untuk tahun fungsi year

Page 39: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 39 of 42

A. Form Laporan

Listingnya:

Private Sub Bkeluar_Click()Unload Memenu.ShowEnd Sub

Private Sub CBULAN_KeyPress(KeyAscii As Integer)If KeyAscii = 27 Then Unload MeEnd Sub

'LAP HARIANPrivate Sub CHARIAN_Click() 'panggil laporan yang tanggalnya = charian CR.SelectionFormula = "Totext ({ TRANSAKSI.TglJUAL})=' " & CHARIAN & " ' " CR.ReportFileName = App.Path & "\Lap_HARIAN.rpt" CR.WindowState = CRptMaximized CR.RetrieveDataFiles

Outputnya:

Crystal Report

Keterangan Name pada Properties :Combo1 : CharianCombo2 : CmingguawalCombo3 : CmingguakhirCombo4 : CbulanCombo5 : CtahunCrystal Report : CR

Page 40: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 40 of 42

CR.Action = 1End Sub

Private Sub CHARIAN_KeyPress(KeyAscii As Integer)If CHARIAN = " " Or KeyAscii = 27 Then Unload MeEnd Sub

'LAP MINGGUANPrivate 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 = 1End Sub

Private Sub CMINGGUAWAL_KeyPress(KeyAscii As Integer)If KeyAscii = 27 Then Unload MeEnd Sub

'LAP BULANANPrivate 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

Page 41: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 41 of 42

'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 = 1End Sub

Private Sub Form_Load()'buka databaseCall koneksi

'cari tanggal pembelianrstrans.Open "Select Distinct TGLJUAL From transaksi order By 1", KONrstrans.Requery'tampilkan tanggal dalam comboDo Until rstrans.EOF CHARIAN.AddItem rstrans!Tgljual CMINGGUAWAL.AddItem Format(rstrans!Tgljual, "YYYY ,MM, DD") CMINGGUAKHIR.AddItem Format(rstrans!Tgljual, "YYYY ,MM, DD") rstrans.MoveNextLoop

'buatlah looping untuk bulan dari 1-12'dan tahun mulai tahun 2010 s/d 2020For i = 1 To 12 CBULAN.AddItem iNext iFor i = 10 To 20 CTAHUN.AddItem 2000 + iNext iEnd Sub

B. Membuat FILE EXEKlik menu file – pilih make P.TUTORIAL.exe – kasih nama file : proj-tutorial - ok.

Page 42: Database adalah sekumpulan data yang terdiri atas satu ...€¦ · Web viewModul Praktikum Visual Basic Advance. Bina Sarana Informatika . Disusun Oleh: Syamsul Bakhri, S.Kom. Mulia

Page 42 of 42

INGATT!!Jangan lupa untuk memperesentasikan tugas membuat projek program secara berkelompok.