• Breaking News

    belajar dan berbagi

    Connect With Us

    Thursday, March 31, 2011

    membuat program penjualan dengan visual basic 6.0 (tutorial – bagian 5 – PENULISAN SCRIPT PADA FORM DATA MASTER BARANG)

    Sebelum kita mulai menuliskan script, enaknya form Data Master Barang yang sudah kita buat ditampilkan dulu ya.
    32c - Form Barang 8c
    Nah, script yang akan kita tuliskan adalah script untuk kontrol cmdTambah, cmdEdit, cmdBatal, cmdHapus, cmdSelesai dan Form_Load. Tapi sebelum itu, ada beberapa fungsi tambahan dulu yang akan kita buat.

    Langsung saja, lakukan right-click (klik-kanan) pada bagian form manapun yang kosong (tidak terdapat kontrol), dan pilih “View Code” pada popup menu yang muncul. Atau Anda bisa juga menekan tombol Ctrl-F6 pada keyboard Anda.
    34 - Form Barang 10 (pop-up view code)

    Setelah itu, akan terbuka jendela Code Editor VB6. Di sinilah kita akan menuliskan script-script kita. Jika anda mengaktifkan opsi Require Variable Declaration pada Visual Basic 6.0 setting, maka di bagian paling atas akan ada 1 baris script bertuliskan “Option Explicit” .
    Option-Explicit
    Jika tidak, maka jendela code editor ini akan benar-benar kosong. Dan Anda sebaiknya menambahkan script tersebut pada bagian paling atas dari jendela code editor tersebut, seperti terlihat pada gambar.
    35 - Jendela Code Editor

    Anda mungkin bisa menambahkan satu baris kosong, untuk mempercantik penulisan script-nya, agar terlihat rapi. Dan setelah itu, dua baris di bawah script Option Explicit, tuliskan script berikut ini:
    Sub Kosong() On Error Resume Next txtKodeBarang.Text = "" txtNamaBarang.Text = "" meHarga.Text = "" txtKodeBarang.SetFocus End Sub

    Itu adalah prosedur untuk membershkan / mengosongkan isian pada semua kotak isian yang ada, dan (kalau mungkin) menempatkan kursor pada kontrol txtKodeBarang. Sebenarnya hal ini bisa saja langsung dituliskan pada setiap kontrol yang membutuhkan. Tapi dengan menempatkan beberapa baris program pada satu atau beberapa prosedur, akan bisa mempercepat penulisan script, dan tentu saja, akan membuat tampilan dari kode program / script menjadi lebih rapi. smile_wink

    Ini adalah prosedur ke dua yang kita akan buat. Jadi, tuliskan script berikut ini, di bawah prosedur pertama tadi. Berikan satu baris kosong dulu agar penulisan menjadi lebih rapi.
    Sub Kunci(bKunci As Boolean) txtKodeBarang.Enabled = Not bKunci txtNamaBarang.Enabled = Not bKunci meHarga.Enabled = Not bKunci End Sub

    Script ke dua adalah script untuk mengunci beberapa kontrol, yaitu txtKodeBarang, txtNamaBarang dan meHarga, agar tidak dapat ditulisi. Kenapa harus dikunci? Karena kita akan membuat agar user harus mengklik dulu tombol cmdTambah, jika ingin menambahkan data, atau mengklik tombol cmdEdit, bila ingin mengedit data yang ada. Sedangkan bila ingin menghapus, tidak berpengaruh, apakah kotak isian dalam kondisi terkunci atau tidak, meskipun sebaiknya mereka berada dalam kondisi terkunci (disabled).

    Script ke tiga adalah sebuah fungsi untuk memeriksa keberadaan Kode Barang yang dimasukkan oleh User. Jika sudah ada, maka fungsi ini akan mengembalikan nilai True, dan jika belum ada, akan mengembalikan nilai False. Script-nya adalah sebagai berikut:
    Function CariKode(sKode As String) As Boolean datBarang.RecordSource = "SELECT * FROM Barang " & _ "WHERE Kode_Barang = '" & sKode & "'" datBarang.Refresh If datBarang.Recordset.RecordCount = 0 Then CariKode = False Else CariKode = True End If datBarang.RecordSource = "SELECT * FROM Barang" datBarang.Refresh End Function

    Tampilan setelah kedua prosedur  dan satu fungsi tersebut ditambahkan akan menjadi kira-kira seperti di bawah ini:
    36 - Code Editor terisi 3 prosedur
    Sekarang, kembalikan dulu tampilan pada jendela form designer, dengan cara menekan Ctrl-F6, atau melakukan klik-kanan pada item frmBarang (frmBarang.frm) yang berada di dalam jendela Project Explorer.
    37 - Project Window

    38 - Popup Menu - View Object
    Dan kita akan dikembalikan pada jendela Form Designer untuk form Data Master Barang.
    32c - Form Barang 8cHm… kontrol mana dulu yang akan kita buatkan script-nya? Yang paling mudah saja ya. Kita akan pilih tombol cmdSelesai. Jadi lakukan double-click pada tombol atau kontrol cmdSelesai, untuk kembali membuka jendela Code Editor.
    39 - Form Barang 11 (cmdSelesai onfocus)
    Tak lama setelah itu akan terbuka jendela code editor, dengan kursor yang berada di dalam bagian dari prosedur “Private Sub cmdSelesai_Click()”.
    40 - Code Editor for cmdSelesai
    Lagi-lagi untuk lebih merapikan penulisan, tekan tombol Tab pada keyboard Anda sekali, lalu tuliskan script berikut:
    Unload Me

    atau tampilan lengkapnya adalah sebagai berikut:

    41 - Code Editor for cmdSelesai 2
    Kok cuma satu baris? Cuma Unload Me saja? Yup! Memang, karena fungsi tombol tersebut memang hanya untuk menutup form Data Master Barang ini, dan mengembalikan user pada form utama. Jadi, perintahnya ya memang itu saja. smile_teeth

    Script untuk cmdSelesai sudah, sekarang beralih ke script untuk kontrol lainnya ya. Tekan lagi Ctrl-F6 pada keyboard Anda, untuk mengembalikan tampilan pada jendela Form Designer VB6.
    42 - Form Barang 12 (after cmdSelesai)

    Kontrol berikutnya yang akan kita tuliskan scriptnya adalah tombol cmdTambah. Jadi, silahkan double-click pada cmdTambah, untuk membawa kita pada jendela code editor, tepatnya pada prosedur Private Sub cmdTambah_Click().
    43 - Forma Barang 13 (cmdTambah focused)
    Jendela code editor akan terbuka pada prosedur cmdTambah_Click().
    44 - Code Editor for cmdTambah
    Seperti biasa, tekan dulu tombol TAB pada keyboard Anda, agar penulisan script bisa agak masuk ke dalam dan terlihat rapi.

    Setelah itu, ketikkan script berikut ini di antara bagian “Private Sub cmdTambah_Click()” dan “End Sub” :
    If cmdTambah.Caption = "Tambah" Then Kunci False Kosong cmdEdit.Enabled = False cmdHapus.Enabled = False cmdBatal.Enabled = True cmdTambah.Caption = "Simpan" Else If CariKode(txtKodeBarang.Text) Then MsgBox "Kode Barang tersebut sudah ada.", _ vbCritical, "Maaf..." txtKodeBarang.SetFocus Exit Sub End If datBarang.Recordset.AddNew datBarang.Recordset.Fields("Kode_Barang") = txtKodeBarang.Text datBarang.Recordset.Fields("Nama_Barang") = txtNamaBarang.Text datBarang.Recordset.Fields("Harga") = meHarga.Text datBarang.Recordset.Update datBarang.Refresh dbgBarang.Refresh MsgBox "Data sudah disimpan.", vbInformation, "Terima kasih." cmdTambah.Caption = "Tambah" cmdEdit.Enabled = True cmdHapus.Enabled = True cmdBatal.Enabled = False Kosong Kunci True End If

    Atau, tampilan lengkapnya adalah sebagai berikut:
    45 - Code Editor for cmdTambah2

    Selanjutnya, Anda bisa kembali ke jendela Form Designer, dengan menekan tombol Ctrl-F6 pada keyboard Anda.
    46 - Form Barang 14 (after cmdTambah)
    Script berikutnya adalah untuk tombol cmdEdit. Double-click cmdEdit, kemudian pada jendela code editor yang muncul, ketikkan script berikut di antara bagian “Private Sub cmdEdit_Click()” dan “End Sub” :
    If cmdEdit.Caption = "Edit" Then Kunci False cmdTambah.Enabled = False cmdHapus.Enabled = False cmdBatal.Enabled = True 'kita tidak mengizinkan isi Kode Barang untuk diubah, 'jadi kotak isian ini harus di-disable terlebih dulu... txtKodeBarang.Enabled = False cmdEdit.Caption = "Update" txtNamaBarang.SetFocus Else datBarang.Recordset.Edit datBarang.Recordset.Fields("Nama_Barang") = txtNamaBarang.Text datBarang.Recordset.Fields("Harga") = meHarga.Text datBarang.Recordset.Update datBarang.Refresh dbgBarang.Refresh MsgBox "Data sudah di-update.", vbInformation, "Terima kasih." cmdEdit.Caption = "Edit" cmdTambah.Enabled = True cmdHapus.Enabled = True cmdBatal.Enabled = False Kosong Kunci True End If

    Dan tampilan pada jendela Code Editor adalah seperti berikut ini:
    47 - Code Editor for cmdEdit

    Selanjutnya tentu saja, tekan Ctrl-F6 pada keyboard Anda untuk kembali ke jendela Form Designer.
    48 - Form Barang 15 (after cmdEdit)Berikutnya adalah script untuk cmdBatal. Seperti sebelumnya, double-click pada tombol cmdBatal, dan pada jendela Code Editor, ketikkan script berikut di antara bagian “Private Sub cmdBatal_Click()” dan “End Sub”.
    Kosong Kunci True

    Atau tampilan lengkapnya adalah seperti berikut ini:
    49 - Code Editor for cmdBatal
    Setelah itu, tekan lagi tombol Ctrl-F6 untuk kembali ke jendela Form Designer.
    50 - Form Barang 16 (after cmdBatal)Selanjutnya, double-click tombol cmdHapus untuk membuka jendela Code Editor. Lalu di antara bagian “Private Sub Hapus_Click()” dan “End Sub”, ketikkan script berikut:
    If MsgBox("Yakin ingin menghapus data ini?" & Chr(13) & _ "Kode Barang: " & datBarang.Recordset.Fields("Kode_Barang") & Chr(13) & _ "Nama Barang: " & datBarang.Recordset.Fields("Nama_Barang") & Chr(13) & _ "Harga: " & Format(datBarang.Recordset.Fields("Harga"), "#,##0"), _ vbQuestion + vbYesNo, "Konfirmasi") = vbYes Then datBarang.Recordset.Delete datBarang.Refresh dbgBarang.Refresh MsgBox "Data sudah dihapus...", vbInformation, "Informasi" End If

    Dan tampilan lengkapnya adalah sebagai berikut:
    51 - Code Editor for cmdHapus
    Setelah itu, tekan lagi tombol Ctrl-F6 untuk kembali ke jendela Form Designer.
    52 - Form Barang 17 (after cmdHapus)
    Kontrol selanjutnya yang akan diberikan script adalah DataBoundGrid dbgBarang. Jadi, double-click pada dbgBarang untuk membuka jendela Code Editor.
    53 - Code Editor for dbgBarang 1Terlihat di situ bahwa secara default, yang terbuka adalah Sub Rutin dbgBarang, namun untuk event “Click” . Namun karena kita menginginkan user untuk men-double-click (bukan single-click), maka kita harus mengubah dulu event-nya. Caranya adalah dengan mengklik pada combobox Event, yang sekarang bertuliskan “Click”, dan ubah nilainya dengan memilih “DblClick”.
    54 - Code Editor for dbgBarang 2
    Setelah itu akan muncul sebuah prosedur baru, di mana kursor keyboard secara otomatis juga akan berada di dalamnya.
    55 - Code Editor for dbgBarang 3Nah, pada bagian antara “Private Sub dbgBarang_DblClick()” dan “End Sub” , ketikkan script berikut ini.
    dbgBarang.Col = 0 txtKodeBarang.Text = dbgBarang.Text dbgBarang.Col = 1 txtNamaBarang.Text = dbgBarang.Text dbgBarang.Col = 2 meHarga.Text = dbgBarang.Text

    Atau lengkapnya adalah sebagai berikut:
    56 - Code Editor for dbgBarang 4
    Sudah? Tekan lagi Ctrl-F6 pada keyboard Anda untuk kembali ke jendela Form Designer.
    57 - Form Barang 18 (after dbgBarang)
    Script terakhir adalah untuk event Form_Load. Script ini akan di-eksekusi atau dijalankan, saat form Data Master Barang ini di-load ke memory, atau ditampilkan. Jadi, silahkan double-click pada sembarang bagian form yang kosong (tidak berisi kontrol apapun), untuk membuka jendela Code Editor. Lalu pada bagian antara “Private Sub Form_Load()” dan “End Sub”, ketikkan script berikut.
    On Error Resume Next datBarang.Refresh 'Jika database masih kosong, maka If datBarang.Recordset.RecordCount = 0 Then 'tombol Edit & Hapus harus di-disable cmdEdit.Enabled = False cmdHapus.Enabled = False Else 'jika tidak, bisa di-enable cmdEdit.Enabled = True cmdHapus.Enabled = True End If Kosong Kunci True

    Atau tampilan lengkapnya adalah sebagai berikut:
    58 - Code Editor for FormLoad

    Tekan lagi Ctrl-F6 untuk kembali ke jendela Form Designer VB6.
    59 - Form Barang 19 (after Form_Load)Sampai tahap ini sebenarnya tahap coding / penulisan script untuk form Data Master Barang sudah selesai, dan form tersebut sudah bisa digunakan. Namun masih ada modifikasi yang akan kita tambahkan nantinya. Sekarang, untuk sementara, tutup dulu form Data Master Barang ini, dan kita akan kembali ke form Utama (frmUtama).
    60 - Form Utama
    Jika sudah, Anda dapat mengklik pada menu Master, kemudian pilih submenu Barang, dan jendela Code Editor akan kembali terbuka.
    61 - Form Utama 2

    62 - Code Editor form mnuBarang 1

    Dan di antara bagian “Private Sub mnuBarang_Click()” dan “End Sub”, ketikkan script berikut ini:
    frmBarang.Show vbModal

    Atau tampilan lengkapnya adalah seperti berikut ini:63 - Code Editor form mnuBarang 2

    Jika sudah, Anda dapat menekan tombol Ctrl-F6 pada keyboard Anda untuk kembali ke jendela Form Designer.
    60 - Form Utama
    Sekarang, klik menu Keluar, dan tak lama kemudian jendela Code Editor akan terbuka.
    64 - Code Editor form mnuKeluar
    Pada bagian antara “Private Sub mnuKeluar_Click()”  dan “End Sub’, ketikkan script berikut:
    If MsgBox("Yakin ingin keluar dari aplikasi ini?", _ vbQuestion + vbYesNo, "Konfirmasi") = vbYes Then End End If

    atau tampilan lengkapnya adalah seperti di bawah ini:
    65 - Code Editor form mnuKeluar 2Setelah itu, klik tombol Ctrl-F6 pada keyboard Anda, untuk kembali lagi ke jendela Form Designer.
    60 - Form Utama
    Selanjutnya Anda dapat men-test form Data Master Barang dengan cara menjalankan (running) aplikasi ini. Caranya dengan menekan tombol “F5” pada keyboard Anda. Lalu setelah aplikasi berjalan dan form Utama telah tampil, pilihlah menu Master, lalu pilih submenu Barang.
    66 - Form Utama (Running)67 - Form Utama (Running) 2Dan, setelah jendela Form Data Master Barang terbuka,
    68 - Form Data Master Barang (Running)Anda dapat mulai melakukan pengujian, dengan cara menambah data, mengedit, maupun menghapusnya. Untuk mengedit, Anda harus melakukan double-click pada setiap baris data pada tabel dbgBarang yang Anda ingin Edit. Demikian juga untuk menghapus data, Anda harus melakukan double-click pada setiap baris data yang Anda ingin hapus.

    Isikan sampai beberapa data dalam tahap pengujian ini.

    Kalau sudah selesai, Anda dapat menutup form Data Master Barang dengan cara mengklik tombol “Selesai”. Dan setelah selesai dan kembali ke Form Utama, Anda kembali dapat keluar dengan mengklik menu Keluar, lalu pilih “Yes” pada pertanyaan yang muncul.
    69 - Konfirmasi Keluar dari Form Utama

    Selanjutnya, kita akan membuat form Transaksi Penjualan. Dan nanti kalau seluruh bagian program sudah selesai dibuat, termasuk Desain Laporan-Laporan yang diperlukan, baru kita akan membuat beberapa modifikasi atau perubahan-perubahan. Sengaja saya buat terpisah, untuk lebih memperjelas, karena sebenarnya tanpa modifikasi itupun program sudah bisa berjalan dengan baik. Modifikasi yang ada dilakukan untuk lebih “memperkuat” aplikasi program ini.

    No comments:

    Post a Comment

    Fashion

    Beauty

    Travel