Materi 1. Membuat Program Aplikasi Penjualan Barang pada Visual Basic + Mysql
Ahmad Rizal Abidin, M.Kom
4checks.com-Free Shipping and Handling on All Personal Checks with code DWF008
- Mangaktifkan VB 6.0, dengan cara klik start, Klik Microsoft Visual Studio 6.0 dan klik Microsoft Visual Basic 6.0.
- Setelah tampil Windows Projects, Klik Cancel
- Klik menu file, Klik Open Project, bukalah project yang sudah dibuat pada matri 1. Membuat Menu dan Modul
- Setelah project terbuka, double klik frmtransaksi pada window project dan buatlah form sebagai berikut :
Gambar 1. Form Transaksi

Catatan :
Form tersebut teridiri dari objek-objek : textbox, datagrid, label, datacombo dan commandbutton serta Frame,
- Langkah selanjutnya membuat koding pada form load, yaitu dengan cara double klik form (pada gambar yang ada titiknya), setelah itu ketik koding berikut :
Private Sub Form_Load() konek konekdb.CursorLocation = adUseClient strsql = "select * from pelanggan" Set rs = konekdb.Execute(strsql) Set dckode.RowSource = rs dckode.ListField = "IdPelanggan" strsql = "select * from produk" Set rs = konekdb.Execute(strsql) Set DataCombo2.RowSource = rs DataCombo2.ListField = "idproduk" End Sub
Setelah selesai mengetikkan koding tersebut ujilah form dengan cara klik menu run, klik start, tetapi pastikan database sudah terbuat, mysql sudah aktif dan jangan lupa dsnnyapun sudah dibuat baca tentang makalah basis data.
Catatan : setiap kali membuat koding pada suatu objek uji program tersebut, ini digunakan agar kita memahami apa yang telah kita buat.
- Membuat filter pada text1 (textboxnya idnota), dengan logika jika data sudah ada maka tampilkan datanya, tetapi jika belum kursor pindah ke textbox berikutnya, caranya adalah double klik textbox1, lalu tukar event dari change menjadi keypress. Ketikkan listing berikut :
Private Sub txtnota_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then strsql = "select * from trans where nota='" & txtnota.Text & "'" Set rs = kondb.Execute(strsql) If Not rs.EOF Then MsgBox "Nomor tersebut sudah ada" Else dckode.SetFocus End If End If End Sub
- Membuat koding pada datacombo IdPelanggan, double klik datacombo1 (tetap pada event change) lalu ketik listing program berikut :
Private Sub dckode_Change() strsql = "select * from pelanggan where idpelanggan = '" + dckode.Text + "'" Set rs = kondb.Execute(strsql) If Not rs.EOF Then txtnama.Text = rs!NMPelanggan txtalamat.Text = rs!almpelanggan Else MsgBox "Data tersebut tidak ditemukan" End If End Sub
- Membuat koding pada datacombo2 (kode Produk), double klik datacombo2 (tetap pada event change) lalu ketik listing program berikut :
Private Sub DataCombo2_Change() strsql = "select * from produk where idproduk ='" + DataCombo2.Text + "'" Set rs = kondb.Execute(strsql) If Not rs.EOF Then txtnmbar.Text = rs!NmProduk txtharga.Text = rs!harga txtstock.Text = rs!stock txtbeli.SetFocus Else txtnmbar.Text = "" txtharga.Text = "" txtstock.Text = "" DataCombo2.SetFocus End If End Sub
- Membuat koding pada textbox (qty) double klik textbox tersebut, lalu ketik listing berikut:
Private Sub txtbeli_Change() If txtbeli <> "" Then If CInt(txtbeli.Text) <= CInt(txtstock.Text) Then txtjumharga.Text = txtharga.Text * txtbeli.Text cmdsimpan.setfocus Else MsgBox "Stock tidak mencukupi" End If End If End Sub
- Membuat koding pada tombol simpan, double klick pada tombol Simpan lalu ketikkan listing berikut :
Private Sub Cmdsimpan_Click()
strsql = "insert into trans (nota,idpelanggan,tglnota) values ('" + txt_id + "','" + txtidpelanggan + "','" + tanggal + "')"
Set rs = kondb.Execute(strsql)
strsql = "insert into detail(nota,idproduk,jumlah,harga_beli) values ('" + txt_id + "','" + txtidproduk+ "','" + jumlah + "',’”+ harga beli+”’)"
Set rs = kondb.Execute(strsql)
End Sub
- Tambahakan satu sub untuk mendefinisikan koding berikut :
Sub tampilkan() strsql = "SELECT produk.idproduk, produk.nmproduk, detail.jumlah as Qty, " & _ " detail.harga_beli as Harga, (detail.jumlah * harga_beli) as JumlahHarga " & _ " FROM detail,produk,trans" & _ " Where produk.idproduk = detail.idproduk " & _ " And detail.nota = trans.nota and trans.nota ='" + txtnota.Text + "'" Set rs = kondb.Execute(strsql) If rs.RecordCount <> 0 Then rs.MoveFirst While Not rs.EOF totharga = totharga + (rs!JUMLAHharga) rs.MoveNext Wend End If Text1.Text = Format(totharga, "Rp###,###,###") & ",-" End Sub
@Ahmad
Selamat mencoba…
Related Post:
Materi 1. Membuat Program Aplikasi Penjualan Barang pada VB dengan Mysql “Membut Menu dan Modul”
Materi 2. Membuat Form Kategori dgn Visual Basic 6.0 + Mysql
Materi 3. Membuat program Form Produk (VB + Mysql)
Materi 4. Membuat program Form Transaksi (Visual Basic + Mysql)
Materi 5. Membuat Program Aplikasi Penjualan Barang pada Visual Basic 6.0 dengan Mysql : Membuat Nomor Nota Otomatis pada Visual Basic
Materi 6. Membuat laporan dengan Crystal Report
Filed under: Visual Basic





pak mohon bimbingannya pak saya akan membuat laporan tunggakan retribusi dinas pasar,,, berikut tabel pada database yang saya punya
tabel pasar
kd_pasar(varchar 5)
nm_pasar(varchar 30)
wilayah(varchar 15)
tipe_pasar(varchar 5)
tabel pemakai
id_pemakai(varchar 5)
alamat(varchar 45)
no_telp(varchar 15)
Jenis_usaha(varchar 35)
kd_pasar(varchar 5)
jns_ret(varchar 15)
jns_bayar(varchar 15)
tarif(integer 11)
tabel rpendapatan
kd_ret(varchar 5)
kd_pasar(varchar 5)
tgl_pendapatan(date)
total(double)
sisa_tagihan(doubel)
tabel retribusi
kd_ret(varchar 5)
kd_pasar(varchar 5)
id_pemakai(varchar 5)
tgl_ret(date)
tgl_tempo(date)
ket(varchar 8)
saya ingin membuat laporan tunggakan berdasarkan selisih tgl_tempo dgn tgl_pendapatan * tarif yang ingin saya tanyakan gimana cara membuat formula field pada crystal report untuk menyelesaikan kasus ini atau membuat query pada mysql untuk mencari tunggakan
ini Query yang saya buat
CREATE VIEW tunggakan AS
SELECT pemakai.id_pemakai, pemakai.nama, pemakai.alamat, pemakai.jns_bayar,
retribusi.kd_ret, retribusi.tgl_tempo, pendapatan.tgl_pendapatan as tgl_bayar,
pemakai.tarif,
datediff(pendapatan.tgl_pendapatan,retribusi.tgl_tempo)* pemakai.tarif as tunggakan
FROM pemakai right join retribusi on retribusi.id_pemakai = pemakai.id_pemakai right join
pendapatan on pendapatan.kd_ret = pendapatan.kd_ret
Tetapi hanya bisa menghasilkan tunggakan harian
trs… yang akan dicari apanya… :
select datediff(date1,date2) * tarif from table;
perintah ini akan memproses seluruh data yang ada pada table, jika ingin menampilkan pada bulan tertentu tambahkan aja :
select datediff(date1,date2) * tarif from table where month(date2)=’1′;
berarti data akan ditampilkan pada bulan januari sesuai dengan tanggal tempo,
’1′ bisa diganti dengan textbox…
tapi dari kasus diatas akan menjadi masalah bila date1 lebih besar dari date2, maka akan menghasilkan selisih negatif…
ya pak…
tapi tunggakan bulanan belum bisa pak.
Oya Pak Terima kasih Sebelumnya Dan maaf kalau pertanyaannya terlalu panjang, saya sangat kebingungan untuk menyelesaikan TA ini
Terima Kasih pak Ahmad, sangat Membantu dalam pembuatan Tugas Akhir saya …
Pak maaf ni nmpang tanya …
ceritanya saya ni lagi Kerja praktek dan kebetulan judulnya “Implementasi Sistem Pengolahan Data Pelanggan” maklum baru nyoba dan masih kebingungan ni buat programnya barangkali ada masukan sebagai referensi untuk kelancaran tugas ini…
pak saya sedang membuat program data mahasiswa,,
dalam form add mahasiswa, saya ingin ada fasilitas tambah,hapus,edit,setelah kita memasukan data mahasiswa lalu klik tombol ‘tambah’ maka saya ingin data tersebut tampil di data grid yang ada di bawah menu tambah.
kemudian untuk edit dan hapus, tinggal sorot data mahasiswa yg ada di datagrid, lalu tekan hapus..
gimana caranya ya??
terima kasih
Untuk menghapus data pada tabel datagrid dapat digunakan perintah berikut :
Private Sub Cmd_Hapus_Click() Dim Hapusdatagrid Hapusdatagrid = MsgBox("Apakah Anda ingin menghapus record", vbYesNo) If Hapusdatagrid = vbYes Then strsql = "delete from kategori where Idkategori = '" + DataGrid1.Columns(0).Value + "'" Set rs = kondb.Execute(strsql) kondb.CursorLocation = adUseClient strsql = "select * from kategori" Set rs = kondb.Execute(strsql) Set DataGrid1.DataSource = rs End If End Subpak… mau nanya nih. klo untuk pencarian data di vb, contoh: apabila mau mencari berdasarkan alamat dari tabel mahasiswa. di dlm form ada text untuk pencarian dan grid untuk menampilkan data yg di cari, nah yg jd pertanyaan.. jika di text baru di ketik a, maka di grid akan lgsg tampil alamat2 yang mengandung huruf a, trs di lanjutkan jd an, maka di grid lgsg tampil alamt2 yg mengandung huruf an dan selanjutnya.. mohon scriptnya terima kasih untuk segala bantuanya.
Private Sub Text1_Change()
strsql = “Select * from mahasiswa where almmhs like’%” + Text1.Text + “%’”
Set rs = kondb.Execute(strsql)
If Not rs.EOF Then
Set DataGrid1.DataSource = rs
End If
End Sub
pak mo nnya. sy sdg mmbuat program tntang pembayaran sekolah… listing jika sy mo input Nis kmudian tmpil nm scra otomatis gmn cra’na y? sy pke datagrid dan udh nyoba pkai listing
Private Sub txtNIS_Change()
strsql = “select * from Kelas where Nis = ‘” + txtNIS.Text + “‘”
If Not rsKelas.EOF Then
txtnama.Text = rsKelas!Nama_Siswa
Else
MsgBox “Data tersebut tidak ditemukan”
End If
End Sub
tp msh debug d’ if not rskelas. eof then
itu knp y?!!!
tambah aja mas diatas if Not rskelas.Eof Then
Set rs = kondb.Execute(strsql)
moga sukses…
pak tolong dibahas tentang pemakaian relationship pada vb
nanya donk,saya bikin vb buat input secara otomatis jika ingin save 2 from dalam satu tabel,gimana y mas, dilisting output saya cari pasti debuk,gimana solusiny?
Pak, program transaksi ini hanya bisa digunakan untuk satu barang saja yha pada satu nota?
Tidak bisa dua barang dalam satu nota?
Pak,, saya mau bikin aplikasi pengolahan data retribusi pasar, apa saja tabel2 yang dibutuhkan beserta field2nya? trms..