Tiap program yang saya
buat punya cerita sendiri-sendiri dibelakangnya, mulai dari rasa ingin membantu
tetapi kok yang minta bantuan malah lepas tangan akhirnya malah semua bagian
program saya yang buat, ada juga yang karena direkomendasikan teman jadi
efeknya berantai mulut ke mulut gitu…ada juga yang karena orangnya memang super
duper waswas, semua kerjaanya keburu buru hasilnya program dia direvisi hamper
5 kali (untung orangya royal…uangnya ntah darimana aja)…dan untuk program ini,
pemirsa eh…pembaca boleh percaya boleh tidak, program ini dibuat hanya dalam
waktu 24 jam, saya sampai begadang.
Berawal dari kelupaan saya akan janji seorang teman yang
mau dating kerumah malam hari, saya kelupaan balik kerumah hampir jam 9 malam,
untungnya ada warnet sepupu jadi dia main dulu disana sembari nunggu saya
pulang (…perjuangan yang berat Teman!!). Setelah bertemu dan basa basi dikit,
akhirnya saya dikasi panjar untuk ngerjain programnya…kirain untuk
lusa,.ternyata untuk besoknya, alhasil saya kerja sambil mata diganjal korek
api ma tusuk gigi….(bohong). Dan pada akhirnya si kawan sukses sidang dengan
program yang terkesan terburu buru pula.
Program
ini masih sangat bisa dikembangkan lagi karena alur programnya mirip saldo nasabah
di bank walau sangat sangat sederhana.
Mari kita bahas program
ini:
1. Database
Dinamai db_DanaPAM
karena berhubungan dengan Dana Masuk dan Dana Keluar di PAM (Perusahaan Air
Minum atau Perusahaan Air Mandi ya…) setempat .
2. Login
Walau tampilanya
sederhana, ternyata form yang satu ini memiliki alur programan yang banyak,
bila ini maka ini, bila itu maka ini, bila itu maka itu dsb. berikut potongan
koding yang terletak di tombol “OK” :
---------------------------------------------------------------------------------------------------------
Private Sub
CmdOk_Click()
If
TxtUsername.Text = "" Then
MsgBox "Username masih kosong !",
vbCritical, "Kesalahan"
TxtUsername.SetFocus
Exit Sub
ElseIf
TxtPassword.Text = "" Then
MsgBox "Password masih kosong !",
vbCritical, "Kesalahan"
TxtPassword.SetFocus
Exit Sub
End If
'Cek
ke-eksisan dari username
sql =
"select * from TblLogin where Username= '" &
Trim(TxtUsername.Text) & "'"
Set rsCari
= New ADODB.Recordset
rsCari.Open
sql, conn, 3, 4
If
rsCari.EOF Then
'Bila ternyata username tidak terdaftar...
MsgBox "Username Tidak terdaftar,
silakan ulangi !", vbCritical, "Kesalahan"
Call Bersih
Exit Sub
Else
'Bila ternyata username terdaftar maka cek
username dan password
sql = "select * from TblLogin where
Username= '" & Trim(TxtUsername.Text) & "' and Password =
'" & _
Trim(TxtPassword.Text) & "'"
Set rsBaca = New ADODB.Recordset
rsBaca.CursorLocation = adUseClient
rsBaca.Open sql, conn, 3, 4
If rsBaca.RecordCount = 0 Then
CobaMasuk = CobaMasuk + 1
If CobaMasuk >= 4 Then
MsgBox "Kesempatan anda
habis, Aplikasi akan ditutup !", vbCritical, "Peringatan !"
End
End If
MsgBox "Password salah, Anda punya
" & 4 - CobaMasuk & " kesempatan lagi!", vbCritical,
"Coba Lagi"
Call Bersih
Else
MsgBox "Akses Diterima !",
vbInformation, "Sukses"
VarUsername = TxtUsername.Text
Unload Me
Utama.Show
Call Tema(Utama.Skin, Utama)
End If
End If
End Sub
------------------------------------------------------
3. Menu Utama
Menu utama yang sangat
sederhana sekali, karena tidak ada cukup waktu untuk membuat desain
backgroundnya, jadi hanya menggunakan teknik teknik yang sederhana saja yang
penting kita dapat mengantisipasi debug yang akan terjadi.
4. Dana Masuk
Dapat diakses dari form utama yaitu di Form daftar saldo
yang bisa dilihat diatas, yaitu dari tombol “Dana Masuk” atau dari Menu Data Transaksi -> Dana Masuk.
Sepertinya sederhana
ya..padahal ribet loh. Kalau dana masuk daftar sekian maka saldo akan ditambah
berurutan berdasarkan antrian di daftar, tiap-tiap rupa-rupa dan besar dana
disimpan diikuti besar saldo setelah saldo ditambah dana yang masuk. Ini
potongan koding dari tombol “Simpan” :
----------------------------------------------------------------------------------------
Private Sub
mdSimpan_Click()
Dim
VarSaldo As Currency
If
TxtNoDM.Text = "" Then
MsgBox "No. DM masih kosong!",
vbExclamation, "Kesalahan"
Exit Sub
ElseIf
TxtBahagian.Text = "" Then
MsgBox "Isi data Bahagian!",
vbExclamation, "Kesalahan"
Exit Sub
ElseIf
Grid.Rows = 1 Then
MsgBox "Isi dahulu daftar!",
vbExclamation, "Kesalahan"
Exit Sub
End If
conn.BeginTrans
sql =
"insert into TblDanaMasuk values ('" & Trim(TxtNoDM.Text) &
"', '" & _
Trim(TxtBahagian.Text)
& "', '" & Format(DtpDanaMasuk.Value, "mm/dd/yyyy")
& "', " & _
CCur(TxtTotalDana.Text)
& ", '" & Trim(VarUsername) & "')"
conn.Execute
sql
With Grid
For i = 1 To .Rows - 1
sql = "insert into
TblDanaMasukDetail values('" & Trim(TxtNoDM.Text) &
"','" & _
Trim(.TextMatrix(i, 1)) &
"'," & _
CCur(.TextMatrix(i, 2)) &
"," & _
Val(.TextMatrix(i, 0)) &
")"
conn.Execute sql
'mencari besar saldo
terakhir-------------
sql = "select saldo from
TblSaldo order by NoTrans desc"
Set rsCari = New ADODB.Recordset
rsCari.CursorLocation = adUseClient
rsCari.Open sql, conn, 3, 4
If rsCari.RecordCount <> 0
Then
VarSaldo = rsCari!Saldo
Else
VarSaldo = 0
End If
'akhir cari saldo
sql = "insert into TblSaldo
(Tgl, NoUrut, Saldo, NomorDM )values('" & Format(DtpDanaMasuk.Value,
"mm/dd/yyyy") & "'," & _
Val(.TextMatrix(i, 0)) &
"," & _
CCur(Val(VarSaldo) + .TextMatrix(i,
2)) & ", '" & Trim(TxtNoDM.Text) & "')"
conn.Execute sql
Next i
End With
If MsgBox("Proses Dana Masuk ?",
vbQuestion + vbYesNo, "Pembelian") = vbYes Then
conn.CommitTrans
MsgBox "Berhasil diproses!",
vbInformation, "Sukses"
Unload Me
Call FrmSaldo.TampilDana
Else
conn.RollbackTrans
End If
End Sub
-----------------------------------------------------
5.
Dana Keluar
Alur
programnya masih sama seperti pada Dana Masuk hanya saja di Dana Keluar saldo
akan dikurangi rupa-rupa dan besar dana yang ditambahkan.
6.
Pencarian
Sesuai
dengan namanya, di form ini kita dapat mencari No. Transaksi, Kode Dana Masuk,
Kode Dana Keluar dan sald akhirnya.
7.
Laporan
Dapat diakses dari menu Laporan . Cukup dengn memilih jenis dana
yang akan ditampilkan, pilih tanggal dana maka detail dana dan saldo akan
ditampilkan. Untuk mencetak data yang tampil tinggal menekan tombol “Cetak”.
oke
sekian dulu ya pembahasanya…
0 komentar:
Posting Komentar