program penjualan form buku

Download Program Penjualan Form Buku

Post on 24-Oct-2014

104 views

Category:

Documents

3 download

Embed Size (px)

TRANSCRIPT

ISLAMIC UNDERGROUND Membuat Program Penjualan Visual Basic 1 : Membuat Database Membuat Program Penjualan Visual Basic 3 : Membuat Form Pelanggan dan User

Membuat Program Penjualan Visual Basic 2 : Membuat Form BukuMembuat Program Penjualan Visual Basic 2 : Membuat Form Buku Pada tutorial ke 2 ini kita belajar bagaimana membuat form untuk program penjualan buku yang akan kita buat. Dan setelah itu Form form berikutnya akan menyusul. B. MEMBUAT FORM - Buatlah project baru dengan memilih FILE NEW PROJECT STANDARD EXE. Buatlah sebuah form baru (jika belum terbuka secara otomatis) dengan cara memilih ADD FORM FORM. 1. Membuat FORM BUKU Isilah form kosong yang baru kita buat tadi dengan isi dan properties sebagai berikut: NAME Label1 Label2 Label3 Label4 Label5 Label6 Label7 Label8 Label9 Cbojenis Txtkd1 Txtkode Txtjudul Txtkarang Txtterbit Txttahun Txtharga Txtstok Txtfind CAPTION/TEXT Jenis buku Kode buku Judul buku Pengarang Penerbit Tahun terbit Harga Stok Masukan kode KETERANGAN Label Label Label Label Label Label Label Label Label Combo Box Textbox Textbox Textbox Textbox Textbox Textbox Textbox Textbox Textbox TAMBAHAN

Cmdadd Cmdclear Cmdsave Cmdedit Cmddelete Cmdexit Data1 Dbgrid1 Buku Cmdprint CR

&add &clear &save &edit &delete &exit Data Buku &print -

Command Button Command Button Command Button Command Button Command Button Command Button Data Dbgrid Form Command Button Crystal Report

Data source : data1 Jika punya Crystal Report Jika punya Crystal Report

PERHATIAN: untuk memunculkan tool DBGRID jika belum ada maka klick kanan di tempat yang kosong pada TOOLBOX pilih COMPONENTS. Pada bagian CONTROLS pilih dan beri tanda check list pada MICROSOFT DATA BOUND GRID CONTROL 5.0 (SP3). - Simpan Form Buku yang telah kita buat dengan nama BUKU.frm - Adapun LISTING PROGRAM dari Form buku ini adalah:

Private Sub Form_Load() Data1.DatabaseName = App.Path & "/buku.mdb" Data1.RecordSource = "select * from Table_buku order by Kode_buku" Cbojenis.additem AGAMA Cbojenis.additem KOMPUTER Cbojenis.additem PENDIDIKAN Cbojenis.additem UMUM Cbojenis.additem NOVEL Cbojenis.additem KOMIK End Sub APP.PATH digunakan untuk menyambungkan form ini ke database dan kelebihannya adalah apabila program yang anda buat dipindahkan ke folder atau tempat lain, anda tidak perlu susah payah untuk menyambungkan databasenya lagi. DATABASENAME berisi database yang telah kita buat (buku.mdb). RECORDSOURCE berisi table yang kita buat pada database tersebut (table_buku). SELECT disini adalah salah satu perintah SQL untuk memilih suatu data. Tanda * maksudnya adalah Semua data. ORDER BY maksudnya data diurutkan berdasarkan field tertentu (kode_buku). ADDITEM berguna agar ketika kita meng klick suatu combobox maka disitu akan muncul daftar tulisan yang kita tulis pada combobox tersebut (cbojenis) contohnya: Agama, komik, dll.

Sub aktif() TXTKODE.Enabled = True TXTJUDUL.Enabled = True TXTKARANG.Enabled = True TXTTERBIT.Enabled = True TXTTAHUN.Enabled = True TXTHARGA.Enabled = True TXTSTOK.Enabled = True End Sub Sub nonaktif() TXTJUDUL.Enabled = False TXTKARANG.Enabled = False TXTTERBIT.Enabled = False TXTTAHUN.Enabled = False TXTHARGA.Enabled = False TXTSTOK.Enabled = False End Sub ENABLED digunakan untuk memilih apakah suatu objek bisa dipakai ketika form dijalankan atau tidak. Jika ENABLED = TRUE maka object tersebut bisa dipakai. Jika ENABLED = FALSE maka object tersebut tidak bisa dipakai. Private Sub Form_Activate() Call nonaktif TXTKODE.Enabled = False txtkd1.Enabled = False CBOJENIS.Enabled = False CMDCLEAR.Enabled = False CMDSAVE.Enabled = False CMDEDIT.Enabled = False CMDDELETE.Enabled = False End Sub Isi dari ACTIVATE adalah objek objek yang dijalankan pertama kali ketika form dijalankan. CALL digunakan untuk memanggil suatu sub tertentu dan akan mengeksekusi isi dari sub tersebut. Untuk contoh diatas CALL NONAKTIF maksudnya dia akan memanggil Sub Nonaktif dan mengeksekusi isi dari sub tersebut (lihat isi dari sub nonaktif diatas). Jadi kita tidak perlu menulis ulang isi dari sub yang kita panggil sehingga hanya memanggil nama sub tersebut saja. Tapi perintah CALL tidak dipakai juga tidak apa apa jadi langsung tulis aja disitu misalkan NONAKTIF. Private Sub CBOJENIS_Click() TXTKODE.Enabled = True

TXTKODE.Text = "" TXTKODE.SetFocus If CBOJENIS.Text = "AGAMA" Then txtkd1.Text = "AG" Else If CBOJENIS.Text = "KOMPUTER" Then txtkd1.Text = "KP" Else If CBOJENIS.Text = "PENDIDIKAN" Then txtkd1.Text = "PD" Else If CBOJENIS.Text = "UMUM" Then txtkd1.Text = "UM" Else If CBOJENIS.Text = "NOVEL" Then txtkd1.Text = "NV" Else If CBOJENIS.Text = "KOMIK" Then txtkd1.Text = "KM" End If End If End If End If End If End If End Sub SET FOCUS digunakan agar posisi kursor pindah ke suatu objek yang diinginkan. Maksud dari logika IF diatas adalah: Jika cbojenis yang ada di form = AGAMA, maka isi dari txtkd1 yang ada di form adalah AG. Selain itu Jika cbojenis yang ada di form = KOMPUTER, maka isi dari txtkd1 yang ada di form adalah KP. Selain itu .. dan seterusnya. Logika IF harus diakhiri dengan END IF. Private Sub TXTKODE_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Data1.Recordset.FindFirst "Kode_buku=" & (txtkd1.Text & TXTKODE.Text) & "" & "" If Not Data1.Recordset.NoMatch Then MsgBox "Kode sudah ada !", vbOKOnly, "peringatan" Else Call aktif TXTJUDUL.SetFocus End If End If

If Not (IsNumeric(Chr(KeyAscii)) Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If End Sub IF KEY ASCII =13 Digunakan apabila anda menggunakan suatu objek dengan cara menekan enter. FINDFIRST digunakan untuk melakukan pencarian. Untuk contoh diatas dilakukan proses pencarian kode buku yang ada pada database yang isinya sama dengan tulisan yang ada di txtkd1 dan txtkode. NO MATCH maksudnya apabila data yang kita cari di database tidak ditemukan. MSGBOX adalah perintah untuk memunculkan suatu pesan. Maksud dari logika pencarian tadi adalah jika anda memasukan kode baru dan ternyata kode tersebut telah ada di database maka akan muncul pesan tadi. Disinilah proses pencarian data terjadi. Sedangkan If Not (IsNumeric(Chr(KeyAscii)) Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If Digunakan agar pengguna program / user tidak dapat memasukan data ke dalam objek kecuali data itu berupa angka atau nomor. Private Sub TXTFIND_Change() Data1.RecordSource = "SELECT*FROM Table_buku WHERE Kode_buku LIKE*" & TXTFIND.Text & "*" DBGrid1.Refresh Data1.Refresh CMDEDIT.Enabled = True CMDDELETE.Enabled = True If Data1.Recordset.EOF Then MsgBox "DATA TIDAK ADA !" CMDEDIT.Enabled = False CMDDELETE.Enabled = False End If If TXTFIND.Text = "" Then CMDEDIT.Enabled = False CMDDELETE.Enabled = False End If End Sub Maksud dari logika pencarian diatas adalah melakukan pencarian data dari Table buku yang mana Field Kode Bukunya mirip seperti apa yang kita tulis pada txtfind (walaupun hanya 1 huruf saja).

EOF kepanjangan dari End Of File atau akhir dari file tapi yang dimaksud disini adalah apabila data yang kita cari tidak kita temukan. REFRESH digunakan untuk merefresh (menyegarkan kembali) atau maksudnya adalah objek tersebut di Load atau dimuat ulang agar terlihat efek dari perubahannya.

Sub kosong() TXTJUDUL.Text = "" TXTKARANG.Text = "" TXTTERBIT.Text = "" TXTTAHUN.Text = "" TXTHARGA.Text = "" TXTSTOK.Text = "" End Sub Yang dimaksud dengan tanda "" adalah bahwa isi dari objek tersebut kosong. Private Sub CMDADD_Click() Call kosong CBOJENIS.Enabled = True CMDADD.Enabled = False CMDCLEAR.Enabled = True CMDSAVE.Enabled = True CMDEDIT.Enabled = False CMDDELETE.Enabled = False TXTFIND.Enabled = False End Sub Private Sub CMDCLEAR_Click() txtkd1.Text = "" TXTKODE.Text = "" CBOJENIS.Text = "" TXTKODE.Enabled = False CBOJENIS.Enabled = False txtkd1.Enabled = False Call kosong Call nonaktif TXTFIND.Text = "" CMDADD.Enabled = True CMDSAVE.Enabled = False CMDCLEAR.Enabled = False TXTFIND.Enabled = True End Sub

Private Sub CMDSAVE_Click() With Data1.Recordset .AddNew !Kode_buku = (txtkd1.Text & TXTKODE.Text) !Judul_buku = TXTJUDUL.Text !Jenis_buku = CBOJENIS.Text !Karang_buku = TXTKARANG.Text !Terbit_buku = TXTTERBIT.Text !Tahun_buku = TXTTAHUN.Text !Harga_buku = Val(TXTHARGA.Text) !Stok_buku = Val(TXTSTOK.Text) .Update End With Data1.Refresh DBGrid1.Refresh MsgBox "data telah disimpan" Call nonaktif CMDADD.Enabled = True CMDCLEAR.Enabled = False CMDEDIT.Enabled = False CMDDELETE.Enabled = False TXTFIND.Enabled = True CMDSAVE.Enabled = False Call kosong TXTKODE.Text = "" txtkd1.Text = "" CBOJENIS.Text = "" TXTKODE.Enabled = False CBOJENIS.Enabled = False End Sub

Perintah WITH digunakan untuk menyingkat tulisan logika yang kita buat. WITH harus diakhiri dengan END WITH Contoh diatas adalah With data1.recordset lalu setelahnya muncul tulisan .AddNew dan !Kode_buku = (txtkd1.Text & TXTKODE.Text) dst tulisan asli dari tulisan tersebut jika tanpa memakai With adalah: data1.recordset.AddNew data1.recordset!kode_buku = . dan seterusnya Rumus utama dari perintah SAVE sebenarnya adalah: Data1.recordset.Addnew Data1.recordset!NamaFileDiDatabase = NamaObjekYangAdaDiForm Data1.recordset.update

Private Sub CMDEDIT_Click() If CMDEDIT.Caption = "&EDIT" Then Call tampil Call aktif CMDSAVE.Enabled = False CMDCLEAR.Enabled = False CMDADD.Enabled = False CMDDELETE.Enabled = False CMDEDIT.Caption = "&UPDATE" TXTFIND.Enabled = False Else With Data1.Recordset .Edit !Kode_buku = (txtkd1.Text & TXTKODE.Text) !Judul_buku = TXTJUDUL.Text !Jenis_buku = CBOJENIS.Text !Karang_buku = TXTKARANG.Text !Terbit_buku = TXTTERBIT.Text !Tahun_buku = TXTTAHUN.Text !Harga_buku = Val(TXTHARGA.Text) !Stok_buku = Val(TXTSTOK.Text) .Update End With Call kosong CMDEDIT.Caption = "&EDIT" CMDADD.Enabled = True CMDEDIT.Enabled = False Call nonaktif TXTFIND.Text = "" TXTKODE.Text = "" txtkd1.Text = "" CBOJENIS.Text = "" TXTFIND.Enabled = True End If End S

Recommended

View more >