• Tidak ada hasil yang ditemukan

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

Dokumen terkait