BAB IV IMPLEMENTASI SISTEM
C. Implementasi Proses
12. Proses Rekam Penjualan
Proses ini digunakan untuk merekan penjualan yang terjadi pada
saat terjadi proses jual-beli barang. Berikut adalah kode programnya.
PUBLIC SUB show_data()WITH Tbv
.Rows.Count = 0 .Columns.Count = 6
.Columns[0].Text = "ID Barang" .Columns[0].Width = 100 .Columns[1].Text = "Keterangan" .Columns[1].Width = 310 .Columns[2].Text = "Qty" .Columns[2].Width = 80 .Columns[3].Text = "Disc (%)" .Columns[3].Width = 80
.Columns[4].Text = "Harga Barang" .Columns[4].Width = 150
.Columns[5].Text = "Total Harga" .Columns[5].Width = 150
END WITH END
PUBLIC SUB Tbv_Data(baris AS Integer, kolom AS Integer) DIM a AS String
DIM b AS String DIM d AS String DIM arr[6] AS String arr[0] = "id_brg" arr[1] = "keter"
arr[2] = "jml_jual_brg" arr[3] = "discount"
arr[4] = "harga" arr[5] = "tot_harga" WITH MdlVal
.rs.MoveTo(baris)
IF kolom = 0 THEN Tbv.Data.Alignment = align.Center IF kolom = 5 THEN
a = Right(Left(Str(.rs[arr[kolom]]), -5), 3)
b = Right(Left(Left(Str(.rs[arr[kolom]]), -5), -3), 3) d = Left(Left(Str(.rs[arr[kolom]]), -5), -6)
IF b <> NULL THEN
Tbv.Data.Text = b & "." & a ELSE
IF d <> NULL THEN
Tbv.Data.Text = d & "." & b & "." & a ELSE Tbv.Data.Text = a ENDIF ENDIF Tbv.Data.Alignment = align.Right ELSE IF kolom = 4 THEN a = Right(Str(.rs[arr[kolom]]), 3) b = Right(Left(Str(.rs[arr[kolom]]), -3), 3) d = Left(Str(.rs[arr[kolom]]), -6) IF b <> NULL THEN
Tbv.Data.Text = b & "." & a ELSE
IF d <> NULL THEN
Tbv.Data.Text = d & "." & b & "." & a ELSE Tbv.Data.Text = a ENDIF ENDIF Tbv.Data.Alignment = align.Right ELSE IF kolom = 3 THEN Tbv.Data.Text = Str(.rs[arr[kolom]]) Tbv.Data.Alignment = align.Center ELSE IF kolom = 2 THEN Tbv.Data.Text = Str(.rs[arr[kolom]]) Tbv.Data.Alignment = align.Center ELSE Tbv.Data.Text = Str(.rs[arr[kolom]]) ENDIF ENDIF ENDIF ENDIF END WITH CATCH
message.Error("Kesalahan sistem. Harap hubungi programer\n" & error.Text & " " & error.Where)
END
PUBLIC SUB input_data() DIM a AS Integer
a = InStr(Txtkode.Text, "*") IF a <> 0 THEN
IF a > 3 OR Len(TxtKode.Text) < 9 OR (a < 3 AND
Len(TxtKode.Text) > 9) OR (a < 3 AND Len(TxtKode.Text) < 6) THEN
message.Warning("ID barang salah\n\nFormat masukan:\n[Kode barang]\natau\n[jumlah jual brg][*][Kode barang]") ELSE
kdbrg = Right$(TxtKode.Text, 7) kli = Left$(TxtKode.Text, -8)
sl10 = MdlVal.db.Exec("select jml_brg from barang where id_brg='" & kdbrg & "'")
IF sl10.Count <> 0 THEN
sl = MdlVal.db.Exec("select count(*) hasil from brg_list where kd_brg='" & kdbrg & "'")
IF sl!hasil > 0 THEN
sl = MdlVal.db.Exec("update brg_list set jml_jual_brg = jml_jual_brg + '" & kli & "' where kd_brg='" & kdbrg & "'") ELSE
sl2 = MdlVal.db.Exec("insert into brg_list values('" & kdbrg & "', '" & FrmPasswd.TxtNo.Text & "', '" & kli & "')")
ENDIF
MdlVal.fill_view(Tbv, "select id_brg, concat(nm_brg, '" & " " & "', ket) as keter, jml_jual_brg, discount, harga,
(jml_jual_brg * harga)-(jml_jual_brg * harga)*(discount/100) as tot_harga from barang, brg_list where id_brg=kd_brg") '---pesan jika jml brg tidak cocok dengan riilnya ^_^ --- IF Tbv.Rows.Count <> 0 THEN
sl12 = MdlVal.db.Exec("select jml_brg from barang where id_brg='" & kdbrg & "' or id_brg='" & TxtKode.Text & "'") IF Val(Tbv[Tbv.Rows.Count - 1, 2].Text) > sl12!jml_brg THEN message.Warning("Jumlah barang kurang\nHarap hubungi
operator.") ENDIF
'--- ELSE
message.Info("Data barang tidak ada") ENDIF
ENDIF ELSE
sl9 = MdlVal.db.Exec("select * from barang where id_brg='" & TxtKode.Text & "'")
IF sl9.Count <> 0 THEN
sl6 = MdlVal.db.Exec("select count(*) hasil from brg_list where kd_brg='" & TxtKode.Text & "'")
IF sl6!hasil > 0 THEN
sl7 = MdlVal.db.Exec("update brg_list set jml_jual_brg = jml_jual_brg + 1 where kd_brg='" & TxtKode.Text & "'") ELSE
IF sl6!hasil = 0 THEN
sl8 = MdlVal.db.Exec("insert into brg_list values('" & TxtKode.Text & "', '" & FrmPasswd.TxtNo.Text & "', 1)") ENDIF
ENDIF
MdlVal.fill_view(Tbv, "select id_brg, concat(nm_brg, '" & " " & "', ket) as keter, jml_jual_brg, discount, harga,
(jml_jual_brg * harga)-(jml_jual_brg * harga)*(discount/100) as tot_harga from barang, brg_list where id_brg=kd_brg") '----pesan jika jml brg tidak cocok dengan riilnya ^_^ --- IF Tbv.Rows.Count <> 0 THEN
sl12 = MdlVal.db.Exec("select jml_brg from barang where id_brg='" & kdbrg & "' or id_brg='" & TxtKode.Text & "'") IF Val(Tbv[Tbv.Rows.Count - 1, 2].Text) > sl12!jml_brg THEN message.Warning("Jumlah barang kurang\nHarap hubungi
operator.") ENDIF
'--- ELSE
message.Info("Data barang tidak ada") ENDIF
ENDIF CATCH
message.Error("Kesalahan sistem. Harap hubungi programer\n" & error.Text & " " & error.Where)
END
'---untuk buat kode nota---
PUBLIC SUB kd_nota()
sl4 = MdlVal.db.Exec("select * from jual") IF sl4.Count > 0 THEN
sl5 = MdlVal.db.Exec("select max(id_jual) maks from jual") TxtIdJual.Text = sl5!maks + 1 TxtIdJual.Refresh ELSE TxtIdJual.Text = 600000001 ENDIF END '---
PUBLIC SUB Form_Open() ME.SkipTaskbar = TRUE LblEnter.Visible = FALSE Panel2.X = 20
Panel2.Y = 20 TxtKode.SetFocus
sl = MdlVal.db.Exec("select * from user where id_user ='" & FrmPasswd.TxtNo.Text & "'")
TLblKasir.Text = "Kasir: " & sl!nm_user IF MdlVal.db.Tables.Exist("brg_list") THEN MdlVal.db.Tables.Remove("brg_list")
sl2 = MdlVal.db.Exec("CREATE TABLE brg_list (kd_brg int(11), kd_kasir int(11), jml_jual_brg int(11), PRIMARY KEY
(kd_brg,kd_kasir))") kd_nota()
show_data() CATCH
message.Error("Kesalahan sistem. Harap hubungi programer\n" & error.Text & " " & error.Where) END
'---
PUBLIC SUB TxtKode_KeyPress() DIM i AS Integer
no_number_id()
IF TxtKode.Text <> NULL THEN LblEnter.Visible = TRUE
LblEnter.Text = "TEKAN ENTER" ELSE
LblEnter.Visible = FALSE ENDIF
IF key.Code = key.Delete THEN IF Tbv.Rows.Count <> 0 THEN Tbv.SetFocus
Tbv.Row = 0 ELSE
message.Info("Data barang tidak ada.\nF3/PageDown untuk mencari data barang")
ENDIF ENDIF
IF key.Code = key.F5 THEN
MdlVal.db.Exec("delete from brg_list") LCDNmbr.Value = 0
show_data() ENDIF
IF key.Code = key.Enter OR key.Code = key.Return THEN IF TxtKode.Text <> NULL THEN
input_data() LCDNmbr.Value = 0
sl13 = MdlVal.db.Exec("select (jml_jual_brg * harga)-
(jml_jual_brg * harga)*(discount/100) total from brg_list, barang where id_brg=kd_brg")
sl14 = MdlVal.db.Exec("select * from brg_list") sl13.MoveFirst
FOR i = 1 TO sl14.Count
LCDNmbr.Value = LCDNmbr.Value + sl13!total sl13.MoveNext
NEXT
LblEnter.Visible = FALSE ELSE
message.Info("Masukkan kode barang.") ENDIF
TxtKode.Clear TxtKode.SetFocus ENDIF
IF key.Code = key.Insert THEN IF LCDNmbr.Value = 0 THEN
message.Info("Data barang tidak ada.\nF3/PageDown untuk mencari data barang")
ELSE
FrmBayar.jkode = TxtIdJual.Text FrmBayar.ShowModal
ENDIF ENDIF
IF key.Code = key["Esc"] THEN IF TxtKode.Text <> NULL THEN
TxtKode.Clear ENDIF
ENDIF
IF key.Code = key.F3 OR key.Code = key.PageDown THEN FrmCariBrgKasir.ShowModal
CATCH
message.Error("Kesalahan sistem. Harap hubungi programer\n" & error.Text & " " & error.Where)
END