REKAYASA PERANGKAT
LUNAK SISTEM INFORMASI
FUTSAL
Disusun oleh :
FAKULTAS TEKNIK
UNIVERSITAS NEGERI
MANADO
Sistem Informasi Futsal
Pendahulua
n Tujuan
Gambaran Keseluruhan
Perspektif Produk
Program Sistem informasi futsal ini dapat dijalankan oleh admin
dan kasir. Admin adalah orang yang dapat membuka semua menu yang
ada dalam program. Admin pula yang dapat menambahkan kasir.
Sedangkan kasir hanya dapat mngakses beberapa menu tertentu.
Fungsi Produk
Adapun fungsi dari program ini adalah tidak bebeda jauh dengan
tujuan dari pembuatan program ini. Yaitu:
1) Mendigitalisasi proses transaksi penyewaan lapangan
2) Memudahkan petugas dalam membuat laporan untuk
pemilik
lapangan
3) Memudahkan kasir penjualan dalam melakukan transaksi
Karakteristik Pengguna
Sistem penyewaan ini membagi pengguna program kedalam 2
tipe. Yakni sebagai admin dan sebagai kasir. Admin memiliki hak
penuh dalam mengakses semua menu-menu yang ada dalam program.
Sedangkan kasir hanya dapat mengakses menu-menu transaksi
penyewaan dan penjualan kantin. Kasir tidak dapat melakukan
penambahan petugas.
Batasan – Batasan
Sistem penyewaan mencakup prosedur-prosedur yang cukup
luas, oleh karena itu penulis merasa perlu untuk membatasi masalah
yang akan dibahas. Adapun masalah yang akan dibahas adalah mulai
dari penyiapan dokumen-dokumen, proses pembookingan, pembuatan
bukti penyewaan, bukti pembayaran dan pembuatan laporan pada
owner(pemilik) dan penjualan.
Antarmuka Komunikasi
Komunikasi di dapatkan di list pengumuman dari output yang
sudah di proses, dimana list tersebut merupakan komunikasi antar
pengguna lain, supaya tidah mengakses suatu input yang sama, dan
akan memberi peringatan otomatis juka pengguna
meninputkan proses yang sama. Dan komunikasi juga
terdapat antara petugas operator penyewaan lapangan dan petugas
Kantin, keterkaitan antara informasi yang di hubungkan menggunakan
LAN.
Fitur Produk Perangkat Lunak
Penyewaan Lapangan
Fitur ini menyediakan akses menuju Pemesanan / boking
lapangan untuk pengguna, dan kemudian akan di tampilkan ke list
output pemesanan, secara otomatis lapangan yang sudah di boking
akan di tampilkan ke pengguna lain, dan tentunya pengguna lain
tidak dapat menginputkan inputan yang sama dengan yang sudah
ada di list.
Pelunasan Pembayaran
Disini pengaksesan dilakukan oleh pengguna, jika dalam tahap
penyewaan lapangan melakukan dengan DP, disini proses
dapat dilakukan saat pengguna sudah menggunakan lapangan yang
sudah di pakai, proses dilakukan oleh petugas lapangan futsal.
Kantin Penjualan
Dalam Fitur ini membutuhkan kerjasama antara operator
petugas dan kantin penjualan, komunikasi ini dilakukan
menggunakan lan yang di akses oleh petugas kantin, dan kemudian
data dari inputan petugas kantin di eksekusi oleh petugas operator
denan output semua harga barang jang di beli. Saat penyewa sudah
selesai melakukan kegiatan, pembayaran barang/ makanan
dapat dilunasi bersama Pelunasan pembayaran DP, seperti dalam
proses Ftitur Pelunasan Pembayaran.
Bab 3
Desain Perangkat Lunak
Pendahulua
n
Identifikasi
Berdasarkan hasil analisa dan uraian umum mengenai sistem
penyewaan lapangan futsal pada Friendly Futsal, maka dapat
diidentifikasikan kekurangan yang ada, sehingga pada sistem mendatang
dibutuhkan:
Overview Sistem
Berdasarkan identifikasi yang terjadi mengenai sistem penyewaan
lapangan futsal pada Friendly Futsal, maka dapat beberkan gambaran
gambaran seperti apa yang akan dilakukan agar dapat menghandle
kekurangan ada, sehingga pada sistem dibutuhkan:
1. Kebutuhan : Entry Data Lapangan
Penyediaan informasi pendataan lapangan yang digunakan sebagai
masukan ke dalam sistem.
2. Kebutuhan : Entry Pendaftaran Membership
Melalui sistem usulan ini diharapkan akan mempermudah dan
mempercepat Staf administrasi dalam melakukan pembuatan
pendaftaran Member dan dilakukan secara otomatis dengan
melihat File Member yang sudah ada
3. Kebutuhan : Entry Paket
Penyediaan informasi pendataan paket yang digunakan sebagai
masukan ke dalam sistem.
4. Kebutuhan : Entry Cetak Bukti Penyewaan Umum
Dengan sistem usulan ini diharapkan Staf administrasi dapat
dipermudah dalam pengecekkan dan peritungan biaya penyewaan
karena data jadwal penyewaan dan biaya penyewaan sudah didata
sebelumnya.
5. Kebutuhan : EntryCetak Bukti Pembayaran Membership
Dengan system usulan ini diharapkan Staf administrasi dapat
dipermudah dalam peritungan data pembayaran Member, karena
data paket yang diikuti oleh Member sudah didata sebelumnya
pada saat pendaftaran.
6. Kebutuhan : Cetak Laporan Data Member
Dengan adanya laporan Member maka dapat langsung
menginformasikan daftar Member pada sistem secara cepat.
7. Kebutuhan : Cetak Laporan Daftar Membership
Dengan adanya laporan Member maka dapat langsung
menginformasikan daftar Membership pada sistem secara cepat.
8. Kebutuhan : Cetak Laporan Penyewaan Umum
Dengan adanya laporan penyewaan maka dapat langsung
menginformasikan transaksi penyewaan lapangan futsal yang
terjadi pada sistem secara cepat.
Me:nbx
Deskripsi
melihat data-data
pendaftaran menjadi
member.
No member+No idenbtas+
Nama+Tgl 11ir+Trnpat lhr+-
Alamat+ No flp
No member = Number
No identitas = Number
Nama = Text
Tgl lhr = Date
Tmpat_lhr = Date
Alamat = Text
No tlp = Number
Paket
Deskripsi
melihat data-datn paket
member.
Kd aket +
Nnma et+jangka
waktu+ Potongan+Kd
type
Kd et = Number
Nama et = Text
Jangka waktu = Number
Potongan = Number
Kd type = Number
Nama Pendaftaran
Desluipsi Untrrk menyimpan dan melihat
data-data pendaftaran yang
menjadi member.
Struktur No daftaran+Tgl dafiar+Tgl
data mulai+No member+Nm mem
ber+No
tlp+Hari+Jam+Hnrpa+k d
aket+Jml1i sesi+Potongan+T
otal bayar.
No pendaftaran = Niimher
Tpl daftnr = Date
Tpl mulai = Date
No member = Number
Nm member = Text
No tlp = Number
Hari = Text
Jam = Number
Harga =
Number Kd
et Jmlh sesi
Potongan
Total bayar
Namn Penyewaan
Untuk menyimpan dan
melihat
data-data penyewami.
Struktur Data No
nyewaan+Tpl
sewa+Ha
ri+Jam+Harga+Durasi+Total
bayar+Nnma+ Lapanpan
No eyewaan = Number
Tpl sewa = Date
Hari = Text
Jam = Number
Harga = Number
Durasi = Number
Totn1_bayar = Number
Nama = Text
Lapangan = Number
Namn Sewa
Untuk menyimpan dao
melihat
dnta-data sewa.
No
nyewaan+Jenis_bayar+
jml bayar
No enyewaan = Number
Denis baynr = Text
cml bayar = Number
Use Case Diagram
Aktifiti Diagram Penyewaan
Aktifiti Diagram Pembayaran
ERD
Test Case
Testing (Pengujian Perangkat Lunak) adalah elemen kritis dari
jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok
dari spesifikasi, desain, dan pengkodean.
Pentingnya pengujian perangkat lunak dan implikasinya yang
mengacu pada kualitas perangkat lunak tidak dapat terlalu ditekan
karena melibatkan sederetan aktivitas produksi di mana peluang
terjadinya kesalahan manusia sangat besar dan arena ketidakmampuan
manusia untuk melakukan dan berkomunikasi dengan sempurna
makapengembangan perangkat lunak diiringi dengan aktivitas jaminan
kualitas. Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai
suatu elemen sistem dan “biaya” yang muncul akibat kegagalan
perangkat lunak, memotivasi dilakukannya perencanaan yang baik
melalui pengujian yang teliti. Pada dasarnya, pengujian merupakan
satu langkah dalam proses rekayasa perangkat lunak yang dapat
dianggap sebagai hal yang merusak daripada membangun.
Sejumlah aturan yang berfungsi sebagai sasaran pengujian
pada perangkat lunak adalah:
Pengujian adalah proses
eksekusi suatu program dengan maksud menemukan kesalahan
Test case yang baik
adalah test case yang memiliki probabilitas tinggi untuk
menemukan kesalahan yang belum pernah ditemukan sebelumnya
Pengujian yang sukses
adalah pengujian yang mengungkap semua kesalahan yang
belum pernah ditemukan sebelumnya
Dengan karakter proyek yang semacam ini, tidak cukup bagi seorang
system analyst (SA) menentukan kebutuhan hanya dengan teknik
wawancara, observasi ataupun kuesioner. Banyak kasus ditemui, bahwa
pada akhirnya apa yang kita dapatkan dari proses analisa kebutuhan di
awal proyek, tidak match dengan kebutuhan sesungguhnya dari pengguna
sistem, sehingga sistem akhirnya tidak dapat digunakan dengan baik.
Masalah lain adalah di sisi waktu.
Teknik-teknik seperti itu seringkali sangat time consuming, sangat
membutuhkan waktu yang lama. Sering juga tim developer dihadapkan
situasi bahwa tidak semua stakeholder proyek memiliki kepedulian yang
sama dengan yang lain. Seorang manajer tidak mengetahui kebutuhan
detail dari staf-staf operasional, sementara itu staf operasional mungkin
juga tidak memahami sepenuhnya spirit, goal dari SI. JAD merupakan
sebuah teknik yang berfokus pada keterlibatan dan komitmen pengguna
dalam menentukan kebutuhan dan merancang (desain) aplikasi. JAD
biasanya dilakukan dalam bentuk tim yang merupakan gabungan dari
seluruh stakeholder proyek, yang bekerja dalam bentuk workshop-
workshop atau forum diskusi.
Kesimpulan studi kasus oleh Standish grouph report
http://eprints.uad.ac.id/2091/1/10018124-
Private Sub cmdbatal_Click() End
Coding (Source code) End Sub
FORM LOGIN
Sub Login()
If TxtidUser.Text = "" Then
TxtidUser.SetFocus: Exit Sub
If TxtPsw.Text = "" Then TxtPsw.SetFocus:
Exit Sub
= rs.Fields("namaPetugas")
FrmMenuUtama.lblkduser.Caption
= rs.Fields("KodePetugas")
FrmMenuUtama.MnuMaster.Enabled = False
FrmMenuUtama.Show
FrmMenuUtama.Enabled =
True Unload Me
Else
FrmMenuUtama.lbluser.Caption
= rs.Fields("namaPetugas")
FrmMenuUtama.lblkduser.Caption
= rs.Fields("KodePetugas")
FrmMenuUtama.MnuMaster.Enabled = True
FrmMenuUtama.Show
FrmMenuUtama.Enabled =
True Unload Me
End If
Else
MsgBox "Nama User atau Password tidak
dikenal
!", vbCritical, "Pesan"
SendKeys "{home}+{end}"
TxtidUser.SetFocus
End If
End
With
End Sub
Private Sub
CmdLogin_Click() Code maenu utama
Call Login Private Sub cmdbarang_Click()
End Sub FrmDataBarang.Show
Private Sub End Sub
Form_Activate()
TxtidUser.SetFocus Private Sub cmdBarangKeluar_Click()
End Sub FrmBarangKeluar.Show
Private Sub End Sub
Form_Load()
TxtidUser.Text = Private Sub
"" TxtPsw.Text = "" cmdbarangmasuk_Click()
Me.T FrmBarangMasuk.Show
op = End Sub
800
Me.L Private Sub
eft = cmdlogout_Click()
2800 Me.Enabled =
End False
Sub FrmLogin.Show
Private Sub End Sub
TxtidUser_KeyPress(KeyAscii As
Integer) Private Sub cmdPO_Click()
If KeyAscii = 39 Then FrmPO.Show
KeyAscii = 0 If KeyAscii End Sub
= 13 Then
TxtPsw.SetFocus End Private Sub CmdPelunasan_Click()
Sub FrmPelunasan.Show
Private Sub End Sub
TxtPsw_KeyPress(KeyAscii As
Integer) If KeyAscii = 39 Then Private Sub CmdPenjualan_Click()
KeyAscii = 0 If KeyAscii = 13 FormPenjualan.Show
Then Call End Sub
Login End Sub
FrmBarang.Show
End Sub
Private Sub CmdPenyewaan_Click()
FrmSewaLapangan.Show
Private Sub MnuBarangKeluar_Click()
End Sub
FrmBarangKeluar.Show
End Sub
Private Sub Form_Load()
'sebelum menu utama tampil maka akan
tampil form login dahulu Private Sub MnuBarangMasuk_Click()
FrmBarangMasuk.Show
Me.Enabled = False
FrmLogin.Show End Sub
'menampilkan format tanggal sekarang
LblHari.Caption = Format(Date, "dddd, dd- Private Sub MnuGantiPassword_Click()
mm- yyyy") FrmGantiPassword.Show
End Sub End Sub
Private Sub
MnuLapLapangan_Click()
FrmLapLapangan.Show
End Sub
Private Sub
MnuLapPenjualan_Click()
FrmLapPenjualan.Show
End Sub
Me.Top = 2500
Me.Left = 3750
Pillaporan(0).Value = False: Pillaporan(1).Value txtmax.Text = ""
= False: _ txtbayar.Text = ""
Pillaporan(2).Value = False: tgl.Enabled = txtnotelp.Text = ""
False Call Koneksi_Database cmdsimpan.Enabled =
sql = "SELECT no_Sewa FROM True CmdUbah.Enabled =
Sewa_Lapangan ORDER BY no_Sewa" False cmdhapus.Enabled
rs.Open sql, db, = False
adOpenDynamic,
adLockBatchOptimistic While Not Call
rs.EOF Kode_membe
cmbno.AddItem rs!no_Sewa: rs.MoveNext: r Call
Wend Data_Member
cmbno.Enabled = End Sub
False End Sub
'membuat sub untuk menampilkan kode
Private Sub pillaporan_Click(Index As member secara otomatis
Integer) pilihan = Index Sub Kode_member()
Select Case Call Koneksi_Database
pilihan Case 0 sql = "select * from Member
cmbno.Enabled = True: Where kode_member
cmbno.SetFocus: tgl.Enabled = In(Select
False Case 1 Max(kode_member)From Member)Order By
cmbno.Enabled = False: cmbno.Text = "": kode_member Desc"
tgl.Enabled = False rs.Open sql, db,
Case Else adOpenDynamic,
tgl.Enabled = True: cmbno.Enabled = adLockBatchOptimistic
False: cmbno.Text = "" Dim Urutan As String
* 8 Dim Hitung
End Select As Long With rs
End Sub If .EOF Then
Urutan = Format(Date, "yymmdd") +
"01" txtkode = Urutan
Else
If Left(!Kode_member, 6) <> Format(Date,
FORM MEMBER "yymmdd") Then
Option Explicit Urutan = Format(Date, "yymmdd")
Dim panjang + "01" Else
As Integer Sub Hitung = (!Kode_member) + 1
Data_Member() Call Urutan = Format(Date, "yymmdd")
Koneksi_Database +
With rs Right("00" & Hitung, 2)
.ActiveConnection = db End
.CursorLocation = adUseClient If
.LockType = adLockBatchOptimistic End
.Source = "Select * From Member order If
by kode_Member" txtkode =
.Open Urutan End With
If .EOF = True Then Exit End Sub
Sub End With
Set DataGrid1.DataSource = rs
lbltot.Caption = Private Sub
rs.RecordCount End Sub cmdbatal_Click() Call
bersih
Sub bersih() txtnoktp.SetFocus End
txtnoktp.Text = "" Sub
txtnama.Text = ""
txtalamat.Text = "" Private Sub
DTPicker1.Value = Format(Date, "dd/mm/yyyy") CmdCetak_Click() With
DTPicker2.Value = Format(Date, "dd/mm/yyyy") CrystalReport1
.RetrieveDataFiles
.Action = 1 Call Koneksi_Database
End With sql = "insert into member values('" &
txtkode.Text
End Sub & "','" & txtnoktp.Text & "','" & _
txtnama.Text & "','" & txtalamat.Text & "','" &
Private Sub txtnotelp.Text & "','" & _
cmdhapus_Click()
'menghapus data member Format(DTPicker1, "dd/mm/yyyy") & "','" &
Dim a As String Format(DTPicker2, "dd/mm/yyyy") & "','" & _
a = MsgBox("Yakin Ingin di hapus??", Val(txtmax.Text) & "','" & Val(txtbayar.Text) &
"')"
vbInformation + vbYesNo, db.Execute (sql)
"Pesan")
If a = vbYes Then
txtkode.Text = rs.Fields("kode_member")
txtnoktp.Text = rs.Fields("no_ktp")
txtnama.Text =
rs.Fields("nama_member")
txtalamat.Text = rs.Fields("alamat")
txtnotelp.Text = rs.Fields("no_telp")
DTPicker1.Value =
rs.Fields("tgl_daftar") DTPicker2.Value
= rs.Fields("tgl_habis") txtmax.Text =
.DataFiles(0) = App.Path & "/Futsal.mdb" If End
.ReportFileName = App.Path & "/Laporan/Kartu Sub
Member.rpt"
.SelectionFormula = Private Sub
"{Member.Kode_Member}='" & cmdstatuskamar_Click() 'mencari
txtkode.Text & "'" id member
Dim Kode As String
.RetrieveDataFiles Kode = InputBox("masukkan Kode Member",
.WindowState = crptMaximized "Pesan")
.
A Call Koneksi_Database
ct
io sql = "select * from member
n where kode_member='" & Kode & "'"
=
1 rs.Open sql, db,
E adOpenDynamic,
n adLockBatchOptimistic
d If rs.EOF = False Then
W MsgBox "data ditemukan", vbInformation, "Pesan"
it
h txtkode.Text = rs.Fields("kode_member")
C txtnoktp.Text = rs.Fields("no_ktp")
al txtnama.Text =
l rs.Fields("nama_member")
b txtalamat.Text = rs.Fields("alamat")
e txtnotelp.Text = rs.Fields("no_telp")
rs DTPicker1.Value = rs.Fields("tgl_daftar")
ih DTPicker2.Value = rs.Fields("tgl_habis")
txtmax.Text = rs.Fields("max_sewa")
E txtbayar.Text = rs.Fields("bayar")
n cmdsimpan.Enabled = False
d CmdUbah.Enabled = True
cmdhapus.Enabled = True
CmdUbah.SetFocus
Else End Sub
MsgBox "data ditemukan",
vbInformation, "Pesan" Private Sub Form_Load()
txtnoktp.SetFocus Call bersih
End If End Sub
End Sub
Private Sub txtnoktp_KeyPress(KeyAscii As
Private Sub CmdUbah_Click() Integer)
If txtnoktp.Text = "" Or txtnama.Text = "" If KeyAscii = 13 Then
Or txtalamat.Text = "" Or _ 'mencari no ktp apakah sudah
txtmax.Text = "" Or txtbayar.Text = "" Or terdaftar sebelumnya
_ txtnotelp.Text = "" Then _ Call Koneksi_Database
MsgBox "Data Belum Lengkap", vbInformation,
"Pesan": Exit Sub sql = "select * from member where no_ktp='" &
Call Koneksi_Database txtnoktp.Text & "'"
sql = "update member set no_ktp='" &
txtnoktp.Text & "',nama_member='" & _ rs.Open sql, db, adOpenDynamic,
txtnama.Text & "',alamat='" & txtalamat.Text & adLockBatchOptimistic
"',no_telp='" & txtnotelp.Text & _ If rs.EOF = False Then
"',tgl_daftar='" & MsgBox "data sudah ada", vbInformation,
Format(DTPicker1, "dd/mm/yyyy") & "Pesan"
"',tgl_habis='" & _ Format(DTPicker2,
"dd/mm/yyyy") & "',max_sewa='"
& Val(txtmax.Text) & _
"',bayar='" & Val(txtbayar.Text) & "' where
kode_member='" & txtkode.Text & "'"
db.Execute (sql)
Call bersih
txtnoktp.SetFocus
CmdUbah.Enab Sub bersih()
led = True cmdhapus.Enabled Call Transaksi
= True CmdUbah.SetFocus Else
txtnama. lbltotalbayar.Caption = ""
SetFocus lbltotal.Caption = ""
End If lblgrandtotal.Caption = ""
E lblitembrg.Caption = "Item Barang
n :" lblitemdata.Caption = "Item Data
d : 0" txtbayar.Text = ""
txtkembali.Text = ""
I ListView1.ListItems.Clear
f txtkd.Text = ""
E Call
n
d faktur
S End Sub
u Sub Tabel_Penjualan()
b With ListView1
.View = lvwReport
FORM PENJUALAN .FullRowSelect = True
Option .HotTracking = True
Explicit With
Dim .ColumnHeaders
Total .Add , , "No", 498
As .Add , , "Kode Barang", 1500
Single .Add , , "Nama Barang", 3500
Dim panjang As Integer .Add , , "Harga", 1200, 1
Dim jnsbarang, kdbarang, .Add , , "Jumlah", 1200, 1
kdbarcode, keluar As String .Add , , "Total Harga", 1200, 1
End With
txtkode.Text = End
rs.Fields("kode_member") txtnama.Text With
= rs.Fields("nama_member") End Sub
txtalamat.Text = rs.Fields("alamat") Sub Transaksi()
txtnotelp.Text = rs.Fields("no_telp") Dim list As
DTPicker1.Value = rs.Fields("tgl_daftar") ListItem
DTPicker2.Value = Set list = ListView1.ListItems.Add(, ,
rs.Fields("tgl_habis") txtmax.Text = "" & _ Mid(lblitemdata.Caption, 13,
rs.Fields("max_sewa") 25) & "") With list
.RetrieveDataFiles
.WindowState = crptMaximized
.Action
= 1 End
With Call
bersih Call
faktur
End Sub
Private Sub
Form_Activate()
txtkd.SetFocus
End Sub
Private Sub
Form_Load() Call
Tabel_Penjualan Call
bersih
Call
faktur
End Sub
Private Sub
LblTotalBayar_Change() On
Error Resume Next
If Right(Replace(lbltotalbayar.Caption, ".", ""), 2) >0_
And Right(Replace(lbltotalbayar.Caption, ".", ""),
2)
Me.lbltotal.Caption = Format(Total
< 50 Then
+ _ Val(Replace(lbltotal.Caption, ".",
Me.lblgrandtotal.Caption = "Rp "
"")), _ "#,#")
& Format(Replace _
(Me.lbltotalbayar.Caption, ".", "") + (50 - _
lblitembrg.Caption = "Item Barang : " & _
(Replace(Me.lbltotalbayar.Caption, ".", "") Mod
Val(Mid(lblitembrg.Caption, 14, 100)) _
50)), "#,#") & ""
+ Val(txtjml.Text) & ""
ElseIf Right(Replace(lbltotalbayar.Caption, ".",
""), 2) > _
50 And Right(Replace(lbltotalbayar.Caption,
Me.lbltotalbayar.Caption = Format(Val(Replace( _
".", ""), 2) < 75 Then
Me.lbltotal.Caption, ".", "")))
Me.lblgrandtotal.Caption = "Rp "
& Format(Replace _
lblitemdata.Caption = "Item Data : " & _
(Me.lbltotalbayar.Caption, ".", "") + (100 - _
Val(Mid(lblitemdata.Caption, 13, 100) _
(Replace(Me.lbltotalbayar.Caption, ".", "") Mod
) + Val(1) & ""
100)), "#,#") & ""
Dim sisa As Single
Else
sisa = Val(lblstock.Caption) - Val(txtjml.Text)
Me.lblgrandtotal.Caption
sql = "update barang set stock='" & sisa & "'
= ""
where kode_barang='" & txtkd.Text & "'"
Me.lblgrandtotal.Caption = "Rp " & Format _
db.Execute (sql)
(Replace(Me.lbltotalbayar.Caption, ".", "") + _
Replace(Me.lblgrandtotal.Caption, ".", ""), "#,#")
& "" sql = "insert into Detail_Penjualan values('" & _
End If lblfaktur.Caption & "','" & txtkd.Text & "','" &
txtjml.Text & "'," & _
End Sub CCur(Replace(Total, ".", "")) & ")"
db.Execute (sql)
Private Sub txtbayar_KeyPress(KeyAscii As
Integer) If KeyAscii = 13 Then
If Val(txtbayar.Text) < Call Transaksi
Val(lbltotalbayar.Caption)
Then txtkd.Text = ""
MsgBox "Pembayaran Kurang", vbCritical, lblnm.Caption = ""
"Pesan" lblhrg.Caption = ""
txtbayar.SetFocus txtjml.Text = ""
Else lblstock.Caption =
txtkembali.Text = Val(txtbayar.Text) "" txtkd.SetFocus
- End If
Val(lbltotalbayar.Caption) End
cmdsimpan.SetFocu Sub
s End If
End If Private Sub txtkd_KeyDown(KeyCode As
End Integer, Shift As Integer)
Sub If KeyCode = vbKeyF1 Then
txtbayar.SetFocus
Private Sub TxtJml_KeyPress(KeyAscii As End If
Integer) If lblstock.Caption = "" Then Exit End
Sub If Val(lblstock.Caption) = "0" Then Sub
MsgBox "Stock tidak ada !", vbCritical,
"Message": Exit Sub Private Sub TxtKd_KeyPress(KeyAscii As
If Val(lblstock.Caption) < Val(txtjml.Text) Integer) If KeyAscii = 39 Then KeyAscii =
Then MsgBox "Stock tidak terpenuhi", 0 On Error GoTo
vbCritical, "Message": Exit Sub keluar If KeyAscii
= 13 Then
If KeyAscii = 13 Then If txtkd.Text = "" Then Exit
Call Sub Call Koneksi_Database
Koneksi_Database sql = "select * from barang where kode_barang
= '" & _
Total = Val(Replace(lblhrg.Caption, ".", "")) * _ txtkd.Text & "'"
Val(txtjml.Text) rs.Open sql, db
If rs.EOF = False Then lblstock.Caption = rs.Fields("stock")
lblnm.Caption = txtjml.Text = "1"
rs.Fields("nama_barang") lblhrg.Caption SendKeys "{home}+{end}"
= rs.Fields("harga_barang") txtjml.SetFocus
Else Me.Left = 3750
txtkd.SetFocus Pillaporan(0).Value = False:
End If Pillaporan(1).Value = False:
End If _
keluar Pillaporan(2).Value = False: Pillaporan(3).Value =
: False: _
End Sub tgl.Enabled = False: tgl1.Enabled = False:
tgl2.Enabled = False
Call Koneksi_Database
Laporan PENJUALAN sql = "SELECT no_Penjualan FROM
Option Explicit Penjualan ORDER BY no_Penjualan"
Dim pilihan As rs.Open sql, db,
Integer Sub cetak() adOpenDynamic,
With CrystalReport1 adLockBatchOptimistic
.ReportFileName = App.Path & While Not rs.EOF
"/Laporan/Struk cmbno.AddItem rs!no_Penjualan: rs.MoveNext:
Penjualan.rpt" Wend
.DataFiles(0) = App.Path & "/futsal.mdb" cmbno.Enabled =
False End Sub
Select Case
pilihan Case 0 Private Sub pillaporan_Click(Index As
.SelectionFormula = Integer) pilihan = Index
"{Query_Penjualan.no_Penjualan} = '" & Select Case
_ cmbno.Text & "'" pilihan Case 0
Case 1 cmbno.Enabled = True:
.SelectionFormula = cmbno.SetFocus: tgl.Enabled = False:
"" Case 2 _ tgl1.Enabled = False: tgl2.Enabled =
.SelectionFormula = False Case 1
"{Query_Penjualan.tgl_Penjualan}= date ('" & _ cmbno.Enabled = False: cmbno.Text = "":
Format(tgl.Value, "dd/mm/yyyy") & "')" tgl.Enabled = False: _
Case Else tgl1.Enabled = False: tgl2.Enabled =
.SelectionFormula = False Case 2
"{Query_Penjualan.tgl_Penjualan} >= date('" & tgl.Enabled = True: cmbno.Enabled =
_ Format(tgl1.Value, "dd/mm/yyyy") & "') False: cmbno.Text = "" _
and : tgl1.Enabled = False: tgl2.Enabled =
{Query_Penjualan.tgl_Penjualan} <= date('" & _ False Case Else
Format(tgl2.Value, "dd/mm/yyyy") & "')" tgl.Enabled = False: cmbno.Enabled =
End Select False: cmbno.Text = "" _
: tgl1.Enabled = True: tgl2.Enabled =
.RetrieveDataFiles True End Select
.WindowState = crptMaximized End Sub
.Action = 1
End With
End Sub