lampiran simbol diagram alir data -...

85
158 Lampiran Simbol Diagram Alir Data No. Simbol Keterangan 1 Entitas Luar / Eksternal Entity / Terminator. Merupakan lingkungan luar sistem yang tidak dibahas. Isi, organisasi, prosedur didalamnya tidak akan diubah oleh sistem dan interaksi antar lingkungan luar tidak diperhatikan. 2 Proses. Adalah suatu kegiatan yang dilakukan oleh orang, mesin atau computer dari satu arus data yang masuk kedalam proses untuk menghasilkan arus data yang keluar dari proses. 3 Arus Data. Arus data mengalir diantara proses, simpanan data dan entitas luar. Suatu arus data sebaiknya diberi nama yang jelas dan berarti. 4 Simpanan Data / Data Store. Adalah simpanan dari data yang dapat berupa suatu file / database dari sistem komputer, suatu arsip atau catatan manual, table acuan manual dan lain-lain.

Upload: letuyen

Post on 23-Mar-2019

246 views

Category:

Documents


0 download

TRANSCRIPT

158

Lampiran Simbol Diagram Alir Data

No. Simbol Keterangan

1

Entitas Luar / Eksternal Entity / Terminator.

Merupakan lingkungan luar sistem yang tidak dibahas. Isi,

organisasi, prosedur didalamnya tidak akan diubah oleh

sistem dan interaksi antar lingkungan luar tidak diperhatikan.

2 Proses.

Adalah suatu kegiatan yang dilakukan oleh orang, mesin atau

computer dari satu arus data yang masuk kedalam proses

untuk menghasilkan arus data yang keluar dari proses.

3

Arus Data.

Arus data mengalir diantara proses, simpanan data dan

entitas luar. Suatu arus data sebaiknya diberi nama yang jelas

dan berarti.

4

Simpanan Data / Data Store.

Adalah simpanan dari data yang dapat berupa suatu file /

database dari sistem komputer, suatu arsip atau catatan

manual, table acuan manual dan lain-lain.

159

Lampiran Simbol Kamus Data

No. Simbol Keterangan

1 = Terdiri dari, mendefinisikan, diuraikan menjadi, artinya

2 + Dan

3 ( ) Opsional (Boleh ada atau boleh tidak)

4 { } Pengulangan

5 [ ] Memilih salah satu dari sejumlah alternative, seleksi

6 * * Komentar

7 @ Identifikasi atribut kunci

8 | Pemisah sejumlah alternative pilihan antara symbol [ ]

Lampiran Simbol Diagram Hubungan Entitas

No. Simbol Keterangan

1 Hubungan satu pada satu (one to one).

Pada hubungan ini, setiap kejadian dari

entiti A berhubungan dengan satu dan

hanya satu pada setiap kejadian dari

entiti B, dan setiap kejadian dari entiti B

berhubungan dengan satu dan hanya satu

kejadian dari entiti A.

A B

160

2 Hubungan satu pada banyak (one to

many).

Setiap kejadian pada entiti A

berhubungan dengan satu atau banyak

kejadian dari entiti B, tetapi setiap

kejadian dari entiti B berhubungan

dengan satu dan hanya satu kejadian dari

entiti A.

3 Hubungan banyak pada banyak (many to

many).

Setiap kejadian dari entiti A

berhubungan dengan satu atau banyak

kejadian dari entiti B, dan setiap

kejadian dari entiti B berhubungan

dengan satu atau banyak kejadian dari

entiti A.

Lampiran Simbol Bagan Terstruktur

A B

A B

161

No. Simbol Keterangan

1

Module.

Simbol ini menunjukkan suatu modul.

2

Connection.

Simbol ini digunakan untuk menghubungkan suatu

modul dengan modul lainnya.

3

Loop.

Simbol ini menunjukkan suatu perulangan di dalam

modul.

4 Decision.

Simbol ini menunjukkan suatu penyeleksian kondisi

didalam modul.

5

Couple.

Simbol ini menunjukkan suatu data atau elemen control

yang dikirimkan dari satu modul ke modul lainnya.

Panah dengan lingkaran kosong menunjukkan data

yang dikirimkan dan panah dengan lingkaran blok

menunjukkan elemen control yang dikirimkan

162

Lampiran Simbol Bagan Alir Dokumen

No. Simbol Keterangan

1 Dokumen.

Simbol ini digunakan untuk menggambarkan semua

jenis dokumen, yang merupakan formulir yang

digunakan untuk merekam data terjadinya suatu

transaksi.

2 Dokumen dan tembusannya.

Simbol ini digunakan untuk menggambarkan dokumen

asli dan tembusannya. Nomor lembar dokumen di sudut

kanan atas.

3 Catatan.

Simbol ini digunakan untuk menggambarkan catatan

akuntansi yang digunakan untuk mencatat data yang

direkam sebelumnya di dalam dokumen atau formulir.

4 Penghubung pada halaman yang sama (on-page-

connector).

Dalam menggambarkan bagan alir, arus dokumen

dibuat mengalir dari atas ke bawah dan dari kiri ke

kanan. Karena keterbatasan ruang halaman kertas untuk

menggambar, maka diperlukan simbol penghubung

SP1

2

163

untuk memungkinkan aliran dokumen berhenti di suatu

lokasi pada halaman tetentu dan kembali berjalan di

lokasi lain pada halaman yang sama.

5 Penghubung pada halaman yang berbeda (off-page

connector).

Jika untuk menggambarkan bagan alir suatu sistem

akuntansi diperlukan lebih dari satu halaman, simbol ini

harus digunakan untuk menunjukkan kemana dan

bagaimana bagai alir yang tercantum pada halaman

tertentu terkait dengan bagan alir yang tercantum pada

halaman yang lain.

6 Kegiatan manual.

Simbol ini digunakan untuk menggambarkan kegiatan

manual seperti: menerima order, mengisi formulir,

membandingkan, memeriksa, dan berbagai jenis

kegiatan klerikal yang lain.

7 Keterangan, komentar.

Simbol ini memungkinkan ahli sistem menambahkan

keterangan untuk memperjelas pesan yang disampaikan

dalam bagan alir.

164

8 Arsip sementara.

Simbol ini digunakan untuk menunjukkan

tempatpenyimpanan dokumen. Terdapat dua tipe arsip

dokumen: arsip sementara dan arsip permanen. Arsip

sementara adalah tempat penyimpanan dokumen yang

dokumennya

9 Arsip permanen.

Simbol ini digunakan untuk menggambarkan arsip

permanen yang merupakan tempat penyimpanan

dokumen yang tidak akan diproses lagi dalam sistem

akuntansi yang bersangkutan.

10

Garis alir (flowline).

Simbol ini menggambarkan arah proses pengolahan

data.Anak panah tidak digambarkan jika arus dokumen

mengarah kebawah dan kekanan. Jika arus dokumen

mengalir ke atas atau ke kiri anak panah perlu

dicantumkan.

11 Persimpangan garis alir.

Jika dua garis alir bersimpangan, untuk menunjukkan

arah masing-masing garis, salah satu garis dibuat

sedikit melengkung tepat pada persimpangan dua garis

165

tersebut.

12 Pertemuan garis alir.

Simbol ini digunakan jika dua garis alir bertemudan

salah satu garis mengikuti arus garis lainnya.

13 Mulai/berakhir (terminal).

Simbol ini untuk menggambarkan awal dan akhir suatu

system akuntansi.

14 Keluar ke sistem lain.

Karena kegiatan di luar sistem tidak perlu digambarkan

dalam bagan alir, maka diperlukan simbol untuk

menggambarkan keluar ke sistem lain.

pelanggan

166

LISTING PROGRAM

frmSplashScreen Dim counter As Byte Dim DataSourceServer As String Dim koneksi As Boolean Dim Who As String Dim accessCode As Integer Private Const m_iBufferSize = 255 'dipake untuk get computer name Private Declare Function GetComputerName Lib "kernel32" Alias _ "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long Private Sub Form_Load() 'lblUserName = frmLogin.txtUserID.Text 'lblUserName.Tag = frmLogin.txtUserID.Tag 'accessCode = lblUserName.Tag 'If accessCode = 1 Then ' Who = "You have full access to data" ' Else ' Who = "You have restricted access to data" 'End If counter = 0 lblSplashActivity.Caption = "W E L C O M E - " & Who End Sub 'ambil nama komputer lokal untuk dijadiin server Private Function sGetComputerName() As String Dim sBuffer As String 'sBuffer = String(m_iBufferSize, vbNull) 'GetComputerName sBuffer, m_iBufferSize 'sGetComputerName = sTrimNullChars(sBuffer) End Function 'trim() karakter pada/setelah karakter null pertama pada string Private Function sTrimNullChars(sValue As String) As String Dim iPos As Long iPos = InStr(sValue, vbNullChar) If iPos = 0 Then sTrimNullChars = sValue Else sTrimNullChars = Left(sValue, iPos - 1) End If End Function 'buka koneksi ke server, return true 'kalo gagal, munculkan error msg dan tutup program

167

Private Function fOpenConnection() As Boolean Me.MousePointer = vbHourglass fOpenConnection = True Exit Function End Function Private Sub tmrSplash_Timer() counter = counter + 1 '3,5,7,10,12 ProgressBar1.Value = counter If (counter >= 2 And counter <= 3) Then lblSplashActivity.Caption = "Preparing for the connection to server" DataSourceServer = sGetComputerName Else If counter = 4 Then lblSplashActivity.Caption = "load Settings" koneksi = fOpenConnection LoadSettings Else If counter = 5 Then If koneksi Then lblSplashActivity.Caption = "Refresh Price List" GetLastUpdatePrice 'NamaServer = DataSourceServer 'mdiProject.stbProject.Panels(2).Text = DataSourceServer Else lblSplashActivity.Caption = "Closing..." End If Else If counter = 6 Then AutoSetInactiveCustomer Else If counter = 7 Then If koneksi Then 'frmMainMenu.lblUserName = lblUserName 'frmMainMenu.Show Unload Me 'mdiMain.Show frmLogin.Show vbModal Else Unload Me End If End If End If End If End If End If End Sub

168

Private Sub AutoSetInactiveCustomer() Dim dDateIndikator As Date Dim rsPelanggan As New ADODB.Recordset Dim qSQl As String dDateIndikator = DateAdd("M", (6) * -1, Date) qSQl = "Select * from qINQPelanggan where Last_Trans_Date <= #" & dDateIndikator & "# And IsActive = True order by Last_Trans_Date " rsPelanggan.Open qSQl, cnn, adOpenDynamic, adLockPessimistic If Not rsPelanggan.EOF Then With rsPelanggan .MoveFirst Do While Not .EOF SetActive .Fields("kd_plg").Value, False .MoveNext Loop End With End If rsPelanggan.Close End Sub Private Sub SetActive(kd_plg As String, isActive As Boolean) Dim qSQl As String qSQl = "Update ms_plg set isActive = " & isActive & " where kd_plg = '" & kd_plg & "'" cnn.Execute qSQl End Sub Private Sub LoadSettings() Dim rsSetting As New ADODB.Recordset Dim qSQl As String qSQl = "Select * from tb_setting order by setting_ID desc" rsSetting.Open qSQl, cnn, adOpenDynamic, adLockPessimistic byForklif = rsSetting("by_forklif").Value pSurchage = rsSetting("p_surchage").Value BtsBrtSurchage = rsSetting("brt_surchage").Value rsSetting.Close End Sub frmLogin Dim warnaBackPasif, warnaBackActive, warnaTulisanPasif, warnaTulisanActive As ColorConstants Dim rsuser As New ADODB.Recordset Private Sub InternalSetting() warnaBackActive = &HFF0000 warnaTulisanActive = &HFFFFFF warnaBackPasif = &HFFFFFF warnaTulisanPasif = &HFF& End Sub Private Sub Form_Load() 'sConstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database.mdb;Persist Security Info=False" Label6.Caption = Time() InternalSetting End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

169

Dim i As Integer For i = 0 To 1 lblBtn(i).BackColor = warnaBackPasif lblBtn(i).ForeColor = warnaTulisanPasif Next i End Sub Private Sub Label1_Click() End Sub Private Sub Label6_Click() End Sub Private Sub lblBtn_Click(Index As Integer) Select Case Index Case 0: 'Login OK_Click Case 1: 'Exit End End Select End Sub Private Sub OK_Click() Dim sql As String sql = "Select * From ms_User Where User_ID = '" & txtCuserID.Text & "'" 'sql = "Select * From TUser" rsuser.Open sql, cnn, adOpenStatic, adLockOptimistic If rsuser.RecordCount > 0 Then If rsuser.Fields("user_Password").Value = txtUPass.Text Then UID = txtCuserID.Text uGRoup = rsuser.Fields("User_Group").Value rsuser.Close Set rsuser = Nothing Unload Me 'frmMain.WindowState = 2 'frmMain.Show mdiMain.WindowState = 2 mdiMain.Show Else MsgBox "User Password Doesn't Match With This User ID, Please Try Another Password", vbInformation, "Invalid User Password" txtUPass.Text = "" txtUPass.SetFocus rsuser.Close End If Else MsgBox "User ID Not Exists , Please Try Again", vbInformation, "Invalid User ID" txtCuserID.Text = "" txtCuserID.SetFocus rsuser.Close End If End Sub Private Sub lblBtn_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) For i = 0 To 1 If i = Index Then lblBtn(i).BackColor = warnaBackActive lblBtn(i).ForeColor = warnaTulisanActive Else

170

lblBtn(i).BackColor = warnaBackPasif lblBtn(i).ForeColor = warnaTulisanPasif End If Next End Sub Private Sub Timer6_Timer() Label6.Caption = Time() End Sub Private Sub txtUPass_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then lblBtn_Click (0) End If End Sub mdiMain Dim printx As Printer Private Sub ff18_Click() End Sub Private Sub kwitansi_Click() End Sub Private Sub ff1_Click() frmTRansaksiPengiriman.Show End Sub Private Sub ff10_Click() 'Entry_Pembayaran.Show frmEntryPembayaran.Show End Sub Private Sub ff11_Click() Kwitansi.Show End Sub Private Sub ff12_Click() Cetak_Laporan_Pembayaran.Show vbModal 'dReportPembayaran.Show 'DataReport1.Show End Sub Private Sub testPrint() End Sub Private Sub ff13_Click() Cetak_Laporan_Penerimaan_Kas.Show vbModal End Sub Private Sub ff14_Click() Cetak_Laporan_Penjualan_Harian.Show vbModal

171

End Sub Private Sub ff15_Click() Cetak_Laporan_Penjualan_Mingguan.Show End Sub Private Sub ff16_Click() Cetak_Laporan_Penjualan_Bulanan.Show vbModal End Sub Private Sub ff2_Click() Cetak_SP.Show vbModal End Sub Private Sub ff4_Click() Daftar_Agen.Show vbModal End Sub Private Sub ff5_Click() 'Daftar_Harga.Show frmInfoHarga.Show vbModal End Sub Private Sub ff6_Click() 'Daftar_Transaksi.Show frmInformasiTransaksi.Show End Sub Private Sub ff7_Click() Daftar_Tagihan.Show vbModal End Sub Private Sub ff8_Click() Daftar_Pelanggan.Show vbModal End Sub Private Sub fff2_Click() Entry_STTB_Kembalian.Show End Sub Private Sub klr_Click() Unload Me End Sub Private Sub MDIForm_Load() Select Case uGRoup Case "CSR": 'kasir f1.Enabled = False ff4.Enabled = False ff5.Enabled = False mnPelangganStatus.Enabled = False mnAddUser.Enabled = False mnEditUser.Enabled = False ff12.Enabled = False ff14.Enabled = False ff16.Enabled = False Toolbar1.Buttons(1).Enabled = False Toolbar1.Buttons(2).Enabled = False

172

Toolbar1.Buttons(3).Enabled = False Case "OPT": 'operational ff2.Enabled = False ff7.Enabled = False mnPelangganStatus.Enabled = False f3.Enabled = False f4.Enabled = False mnAddUser.Enabled = False mnEditUser.Enabled = False Toolbar1.Buttons(3).Enabled = False Toolbar1.Buttons(4).Enabled = False Toolbar1.Buttons(5).Enabled = False Toolbar1.Buttons(6).Enabled = False Case "ADM": ff1.Enabled = False fff2.Enabled = False f2.Enabled = False f3.Enabled = False mnAddUser.Enabled = False mnEditUser.Enabled = False f4.Enabled = False Toolbar1.Buttons(1).Enabled = False Toolbar1.Buttons(2).Enabled = False Toolbar1.Buttons(4).Enabled = False Toolbar1.Buttons(5).Enabled = False Toolbar1.Buttons(6).Enabled = False End Select End Sub Private Sub mnAddUser_Click() frmAddNewUser.Show vbModal End Sub Private Sub mnCpassword_Click() frmChangePassword.Show vbModal End Sub Private Sub mnEditUser_Click() frmEditUser.Show vbModal End Sub Private Sub mnExit_Click() frmKeluar.Show vbModal End Sub Private Sub mnPelangganStatus_Click() frmStatusPelanggan.Show vbModal End Sub Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Tag Case 1: frmTRansaksiPengiriman.Show Case 2: fff2_Click Case 3: ff2_Click Case 4: ff6_Click Case 5: ff7_Click Case 6: ff10_Click

173

Case 7: mnExit_Click End Select End Sub frmTRansaksiPengiriman Dim rsHarga As New ADODB.Recordset Dim rsCust As New ADODB.Recordset Dim qSQl As String Dim bKirim As Single Dim bSurface As Single Dim bForklif As Single Dim bPeti As Single Dim bTotal As Single Dim bSubmit As Boolean Dim bComplete As Boolean Dim noSTTb As String Private Sub cboCaraPembayaran_Click() txtKwi(10).Text = cboCaraPembayaran.Text txtKwi(10).Tag = cboCaraPembayaran.ListIndex If cboCaraPembayaran.ListIndex = 1 Then txtKwi(5).Text = 0 txtKwi(5).Enabled = False Else txtKwi(5).Enabled = True End If End Sub Private Sub chkActive_Click() If chkActive.Value = Checked Then chkActive.Caption = "ya" Else chkActive.Caption = "tidak" End If End Sub Private Sub cmdAction_Click(Index As Integer) Dim bJawab As String Select Case Index Case 0: 'Next 'ssTransaksiWizard.Tab = 1 Unload Me Case 1: 'Submit 'save REcord to Tr_STTB Save_Record (1) '1 actual disabled_all_fields bSubmit = True cmdAction(1).Enabled = False cmdAction(7).Enabled = True 'ssTransaksiWizard.Tab = 2 Case 2: 'transaksi baru cmdAction(2).Enabled = False cmdAction(6).Enabled = True

174

lblAction(2).Enabled = True reset_All_fields ssTransaksiWizard.Tab = 0 cmdAction(1).Enabled = True cmdAction(8).Enabled = False Case 3: 'cancel Case 4: 'cari kota frmInfoHarga.Tag = "carikota" frmInfoHarga.Show vbModal Case 5: 'cetakKwitansi 'simpan ke dalam tabel sementara MsgBox "STTB berhasil di cetak", vbInformation, "Cetak STTB" Save_Record (0) ' temp Case 6: 'cancel If bSubmit = False Then bJawab = MsgBox("Anda yakin akan membatalkan transaksi ini", vbOKCancel, "Transaksi dibatalka") If bJawab = vbOK Then cmdAction(6).Enabled = False cmdAction(2).Enabled = True noSTTb = "" reset_All_fields disabled_all_fields ssTransaksiWizard.Tab = 0 End If Else bJawab = MsgBox("Kwitansi belum di cetak silahkan lakukan transaksi pembayaran terlebih dahulu " & Chr(13) & "Apakah anda tetap hendak membatalkan transaksi ini", vbYesNo, "Pembatalan gagal") If bJawab = vbYes Then 'delete Transaksi cnn.Execute "Delete from tr_STTB Where no_STTB = '" & noSTTb & "'" MsgBox "Data berhasil dihapus" reset_All_fields disabled_all_fields cmdAction(6).Enabled = False cmdAction(2).Enabled = True ssTransaksiWizard.Tab = 0 Else ssTransaksiWizard.Tab = 2 End If End If Case 7: 'savepembayaran SavePembayaran cmdAction(8).Enabled = True 'cmdAction(7).Enabled = False lblAction(2).Enabled = False Enabled_Disable_Kwitansi_Fields cmdAction(6).Enabled = False cmdAction(2).Enabled = True Case 8: 'cetak Pembayaran 'cetakPembayaran MsgBox "Kwitansi Pembayaran berhasil di cetak", vbInformation, "Cetak Kwitansi" End Select End Sub Private Sub Enabled_Disable_Kwitansi_Fields() txtKwi(5).Enabled = Not txtKwi(5).Enabled txtKwi(9).Enabled = Not txtKwi(9).Enabled

175

End Sub Private Sub SavePembayaran() Dim rsBayar As New ADODB.Recordset Dim rsKwitansi As New ADODB.Recordset If txtKwi(10).Text = "TUNAI" Then qSQl = "Select * from tr_byr" rsBayar.Open qSQl, cnn, adOpenDynamic, adLockPessimistic rsBayar.AddNew With rsBayar .Fields("No_byr").Value = txtKwi(2).Text .Fields("No_STTB").Value = txtKwi(1).Text .Fields("tgl_byr").Value = txtKwi(3).Text .Fields("jml_byr").Value = txtKwi(4).Text .Fields("ket_byr").Value = txtKwi(9).Text .Update End With rsBayar.Close qSQl = "Select * from ms_kwitansi" rsKwitansi.Open qSQl, cnn, adOpenDynamic, adLockPessimistic rsKwitansi.AddNew With rsKwitansi .Fields("no_kwitansi").Value = txtKwi(0).Text .Fields("no_byr").Value = txtKwi(2).Text .Fields("tgl_kwitansi").Value = txtKwi(3).Text .Fields("no_STTB").Value = txtKwi(1).Text .Fields("nominal").Value = txtKwi(4).Text .Fields("kd_plg").Value = txtKwi(7).Text .Fields("isPaid").Value = True .Update End With rsKwitansi.Close Else qSQl = "Select * from ms_kwitansi" rsKwitansi.Open qSQl, cnn, adOpenDynamic, adLockPessimistic rsKwitansi.AddNew With rsKwitansi .Fields("no_STTB").Value = txtKwi(1).Text .Fields("no_kwitansi").Value = txtKwi(0).Text .Fields("no_byr").Value = "" .Fields("tgl_kwitansi").Value = txtKwi(3).Text .Fields("nominal").Value = txtKwi(4).Text .Fields("kd_plg").Value = txtKwi(7).Text .Fields("isPaid").Value = False .Update End With rsKwitansi.Close End If MsgBox "Transaksi Pembayaran berhasil diUpdate", vbInformation, "Trasaksi Berhasil" End Sub Private Sub reset_All_fields() For i = 0 To 28 txtInput(i).Enabled = True txtInput(i).Text = "" Next i For i = 0 To 10 txtKwi(i).Text = "" Next i lblHarga.Caption = ""

176

txtKota.Text = "" txtKota.Enabled = False cboCaraPembayaran.Text = "" dCboKota.Text = "" dCboKota.Enabled = True cboCaraPembayaran.Enabled = True bSubmit = False bComplete = False End Sub Private Sub disabled_all_fields() For i = 0 To 28 txtInput(i).Enabled = False Next i txtKota.Enabled = False dCboKota.Enabled = False cboCaraPembayaran.Enabled = False End Sub Private Sub Save_Record(Index As Integer) Dim kodeTahun As String Dim rsSTTB As New ADODB.Recordset Dim rsKwitansi As New ADODB.Recordset Dim nCount As Integer kodeTahun = Right(Year(Date), 2) 'find last kode qSQl = "Select * from tr_STTB where no_STTB like '" & kodeTahun & "%' Order By Tgl_STTB Desc " rsSTTB.Open qSQl, cnn, 3, 4 nCount = rsSTTB.RecordCount + 1 noSTTb = kodeTahun & Format(nCount, "0000") rsSTTB.Close If Index = 0 Then cnn.Execute "Delete from tr_Temp_Tran" qSQl = "Select * from Tr_temp_tran " Else 'update user transaction date qSQl = "Update ms_plg Set Last_Trans_Date = '" & Format(Date, "dd/mm/yyyy") & "' Where kd_plg = '" & txtInput(26).Text & "'" cnn.Execute qSQl qSQl = "Select * from tr_STTB " End If rsSTTB.Open qSQl, cnn, adOpenDynamic, adLockPessimistic rsSTTB.AddNew With rsSTTB .Fields("No_STTB").Value = noSTTb 'info pengirim .Fields("kd_plg").Value = txtInput(26).Text 'info penerima .Fields("Nm_Penerima").Value = txtInput(5).Text .Fields("Alm_Penerima").Value = txtInput(6).Text .Fields("kd_kota").Value = dCboKota.Text .Fields("Kota_Penerima").Value = txtInput(7).Text .Fields("Telp_Penerima").Value = txtInput(8).Text 'info paket .Fields("Isi_MP").Value = txtInput(9).Text .Fields("Berat").Value = txtInput(10).Text .Fields("Koli").Value = txtInput(11).Text '.Fields("Brt_surcharge").Value = txtInput(12).Text

177

.Fields("B_surcharge").Value = txtInput(13).Text .Fields("B_Kirim").Value = txtInput(14).Text .Fields("B_Forklift").Value = txtInput(16).Text .Fields("B_Peti").Value = txtInput(17).Text 'add .Fields("tgl_Sttb").Value = Date .Fields("cara_byr").Value = cboCaraPembayaran.Text .Fields("kd_agen").Value = txtInput(28).Text .Update End With rsSTTB.Close If Index = 1 Then MsgBox "Transaksi berhasil disimpan, selanjut nya silahkan melakukan pembayaran melalui kasir kami" End If If cboCaraPembayaran.Text = "KREDIT" Then setNilaiKwitansi qSQl = "Select * from ms_kwitansi" rsKwitansi.Open qSQl, cnn, adOpenDynamic, adLockPessimistic rsKwitansi.AddNew With rsKwitansi .Fields("no_STTB").Value = txtKwi(1).Text .Fields("no_kwitansi").Value = txtKwi(0).Text .Fields("no_byr").Value = "" .Fields("tgl_kwitansi").Value = txtKwi(3).Text .Fields("nominal").Value = txtKwi(4).Text .Fields("kd_plg").Value = txtKwi(7).Text .Fields("isPaid").Value = False .Update End With rsKwitansi.Close End If End Sub Private Sub Create_New_Price() qSQl = "Select * from ms_hrg Where kd_kota = '" & dCboKota.Text & "' and tgl_berlaku = #" & txtInput(3).Text & "#" rsHarga.Open qSQl, cnn, 3, adLockOptimistic If rsHarga.EOF Then rsHarga.AddNew rsHarga("kd_kota").Value = dCboKota.Text rsHarga("tgl_berlaku").Value = txtInput(3).Text rsHarga.Update dupCode = False Else MsgBox "Duplicate Kode Kota dan Tanggal", vbInformation, "Please input Another Code" txtInput(1).SetFocus dupCode = True End If rsHarga.Close End Sub Public Sub dCboKota_Click(Area As Integer) SetKota End Sub Public Sub SetKota() If Not dCboKota.Text = "" Then txtKota.Text = dCboKota.BoundText txtInput(7).Text = dCboKota.BoundText getHargaTerakhir Refreshtable

178

cmdAction(1).Enabled = True cmdAction(2).Enabled = False cmdAction(6).Enabled = True End If End Sub Private Sub Refreshtable() adoHarga.CommandType = adCmdText adoHarga.RecordSource = "Select * from qINQHarga where kd_kota = '" & dCboKota.Text & "' order by tgl_Berlaku " adoHarga.Refresh End Sub Private Sub getHargaTerakhir() qSQl = "Select * from ms_hrg where kd_kota = '" & dCboKota.Text & "' AND tgl_berlaku <= #" & Format(Date, "MM/DD/YYYY") & "# Order by Tgl_berlaku DESC" rsHarga.Open qSQl, cnn, adOpenDynamic, adLockOptimistic If Not rsHarga.EOF Then lblHarga.Caption = IIf(IsNull(rsHarga("harga_kg").Value), "", "Rp." & FormatNumber(rsHarga("harga_kg").Value, 0) & ",-") txtInput(1).Text = IIf(IsNull(rsHarga("harga_kg").Value), "", "Rp." & FormatNumber(rsHarga("harga_kg").Value, 0) & ",-") txtInput(14).Text = IIf(IsNull(rsHarga("harga_kg").Value), "", FormatNumber(rsHarga("harga_kg").Value, 0)) txtInput(2).Text = IIf(IsNull(rsHarga("minimum").Value), "", rsHarga("minimum").Value) txtInput(3).Text = IIf(IsNull(rsHarga("tgl_berlaku").Value), "", Format(rsHarga("tgl_berlaku").Value, "MM/DD/YYYY")) txtInput(4).Text = IIf(IsNull(rsHarga("ket").Value), "", rsHarga("ket").Value) Else MsgBox "Belum ada info harga untuk kota tujun ini", vbInformation, "" End If rsHarga.Close End Sub Private Sub Form_Load() bKirim = 0 bPeti = 0 bSurface = 0 bSubmit = False bComplete = True cmdAction(6).Enabled = False disabled_all_fields ssTransaksiWizard.Tab = 0 Me.Width = 15100 Me.Height = 9585 SetAdo End Sub Private Sub SetAdo() With adoKota .ConnectionString = sConstring .CommandType = adCmdText .RecordSource = "Select * from ms_kota" .Refresh End With With adoHarga .ConnectionString = sConstring .CommandType = adCmdText .RecordSource = "Select * from qINQHarga" .Refresh End With End Sub

179

Private Sub Frame10_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) For i = 2 To 3 lblBackAction(i).BackStyle = 0 Next i End Sub Private Sub Frame6_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) For i = 0 To 1 lblBackAction(i).BackStyle = 0 Next i End Sub Private Sub imgClose_Click() Unload Me End Sub Private Sub imgFind_Click(Index As Integer) Select Case Index Case 0: 'agent Daftar_Agen.Tag = "cariagen" Daftar_Agen.Show vbModal Case 1: 'pelanggan Daftar_Pelanggan.Tag = "caripelanggan" Daftar_Pelanggan.Show vbModal Case 2: frmInfoHarga.Tag = "carikota" frmInfoHarga.Show vbModal End Select End Sub Private Sub ImgNext_Click() ssTransaksiWizard.Tab = 1 End Sub Private Sub lblAction_Click(Index As Integer) Select Case Index Case 0: cmdAction_Click 5 Case 1: cmdAction_Click 1 Case 3: cmdAction_Click 8 Case 2: cmdAction_Click 7 End Select End Sub Private Sub lblAction_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) lblBackAction(Index).BackStyle = 1 End Sub Private Sub ssTransaksiWizard_Click(PreviousTab As Integer) If PreviousTab = 0 Then If dCboKota.Text = "" Then MsgBox "Silahkan pilih kota tujuan terlebih dahulu " ssTransaksiWizard.Tab = 0 Exit Sub End If End If If ssTransaksiWizard.Tab = 2 Then If bSubmit = False Then MsgBox "Silahkan Submit Transaksi terlebih dahulu" ssTransaksiWizard.Tab = 1 Else setNilaiKwitansi

180

'cek cash / kredit If cboCaraPembayaran.Text = "KREDIT" Then MsgBox "Untuk pembayaran secara kredit tidak perlu melakukan pembayaran", vbInformation, "Informasi Pembayaran" ssTransaksiWizard.Tab = 1 End If End If End If End Sub Private Sub setNilaiKwitansi() Dim rsKwi As New ADODB.Recordset Dim noKwi As String Dim noByr As String Dim kodeTahun As String 'get no kwitansi kodeTahun = Right(Year(Date), 2) qSQl = "Select * from ms_kwitansi Where no_kwitansi like 'KW." & kodeTahun & "%'" rsKwi.Open qSQl, cnn, 3, 4 noKwi = "KW." & kodeTahun & "/" & Format(rsKwi.RecordCount + 1, "0000") rsKwi.Close txtKwi(0).Text = noKwi txtKwi(1).Text = noSTTb 'getNoBayar qSQl = "Select * from tr_byr Where no_byr like 'B" & kodeTahun & "%'" rsKwi.Open qSQl, cnn, 3, 4 noByr = "B" & kodeTahun & Format(rsKwi.RecordCount + 1, "0000") txtKwi(2).Text = noByr txtKwi(3).Text = Format(Date, "mmm,dd/yyyy") txtKwi(4).Text = FormatNumber(txtInput(18).Text, 0) txtKwi(7).Text = txtInput(26).Text txtKwi(8).Text = txtInput(25).Text For i = 0 To 10 txtKwi(i).Enabled = False Next i txtKwi(5).Enabled = True txtKwi(9).Enabled = True 'txtKwi(5).SetFocus End Sub Private Sub txtInput_Change(Index As Integer) Select Case Index Case 10: bKirim = IIf(IsNumeric(txtInput(10).Text), txtInput(10).Text, 0) * txtInput(14).Text txtInput(15).Text = FormatNumber(bKirim) If IsNumeric(txtInput(10).Text) Then If txtInput(10).Text > BtsBrtSurchage Then MsgBox "Berat Sudah melebihi, anda akan dikenai biaya surchage dan biaya forklif", vbInformation, "Tambahan Biaya" bSurface = pSurchage * bKirim bForklif = byForklif

181

Else bSurface = 0 bForklif = 0 End If Else End If bPeti = 0 bTotal = bKirim + bSurface + bForklif + bPeti txtInput(18).Text = FormatNumber(bTotal) txtInput(13).Text = FormatNumber(bSurface) txtInput(16).Text = FormatNumber(bForklif) txtInput(17).Text = FormatNumber(bPeti) Case 12: bSurface = IIf(IsNumeric(txtInput(12).Text), txtInput(12).Text, 0) * txtInput(14).Text * 0.2 bforklit = 10000 bPeti = 5000 txtInput(13).Text = FormatNumber(bSurface) txtInput(16).Text = FormatNumber(bforklit) txtInput(17).Text = FormatNumber(bPeti) bTotal = bKirim + bSurface + bforklit + bPeti txtInput(18).Text = FormatNumber(bTotal) Case 17: If IsNumeric(txtInput(17).Text) Then bPeti = txtInput(17).Text Else bPeti = 0 End If bTotal = bKirim + bSurface + bForklif + bPeti txtInput(18).Text = FormatNumber(bTotal) End Select End Sub Public Sub txtInput_KeyPress(Index As Integer, KeyAscii As Integer) If Index = 26 Then If KeyAscii = 13 And txtInput(Index).Text <> "" Then qSQl = "Select * from ms_plg Where kd_plg = '" & txtInput(Index).Text & "'" rsCust.Open qSQl, cnn, 3, 4 If Not rsCust.RecordCount = 0 Then txtInput(25).Text = rsCust("nm_plg").Value txtInput(24).Text = IIf(IsNull(rsCust("alm_plg").Value), "", rsCust("alm_plg").Value) txtInput(23).Text = IIf(IsNull(rsCust("kota_plg").Value), "", rsCust("kota_plg").Value) txtInput(21).Text = IIf(IsNull(rsCust("telp_plg").Value), "", rsCust("telp_plg").Value) txtInput(22).Text = IIf(IsNull(rsCust("fax_plg").Value), "", rsCust("fax_plg").Value) txtInput(19).Text = IIf(IsNull(rsCust("hp_plg").Value), "", rsCust("hp_plg").Value) txtInput(20).Text = IIf(IsNull(rsCust("attn_plg").Value), "", rsCust("attn_plg").Value) chkActive.Value = IIf(rsCust("isActive").Value, Checked, Unchecked) cboCaraPembayaran.Enabled = rsCust("isActive").Value cboCaraPembayaran.Text = "TUNAI" txtKwi(10).Text = cboCaraPembayaran.Text txtKwi(10).Tag = cboCaraPembayaran.ListIndex Else clear_Fields_pelanggan End If rsCust.Close Else clear_Fields_pelanggan

182

End If End If End Sub Private Sub clear_Fields_pelanggan() For i = 19 To 25 txtInput(i).Text = "" txtInput(i).Enabled = False Next chkActive.Value = Unchecked End Sub Private Sub txtInput_LostFocus(Index As Integer) If Index = 17 Then If IsNumeric(txtInput(17).Text) Then bPeti = txtInput(17).Text Else bPeti = 0 End If bTotal = bKirim + bSurface + bforklit + bPeti txtInput(17).Text = FormatNumber(bPeti) txtInput(18).Text = FormatNumber(bTotal) End If End Sub Private Sub txtKwi_Change(Index As Integer) If Index = 5 Then If IsNumeric(txtKwi(5).Text) And IsNumeric(txtKwi(4).Text) Then txtKwi(6).Text = FormatNumber(txtKwi(5).Text - txtKwi(4).Text, 0) End If End If End Sub Private Sub txtKwi_KeyPress(Index As Integer, KeyAscii As Integer) If Index = 5 And IsNumeric(txtKwi(5).Text) And KeyAscii = 13 Then txtKwi(5).Text = FormatNumber(txtKwi(5).Text, 0) End If End Sub Entry_STTB_Kembalian Private Sub Frame3_DragDrop(Index As Integer, Source As Control, X As Single, Y As Single) End Sub Private Sub optProblem_Click(Index As Integer) Select Case Index Case 0: 'bermasalah bStatusBarang = False Case 1: 'tidak bermasalah bStatusBarang = True End Select End Sub Private Sub Save_Record() qSQl = "Select * from tr_STTB Where no_STTB = '" & txtInput(0).Text & "'" rsSTTB.Open qSQl, cnn, adOpenDynamic, adLockOptimistic rsSTTB("tgl_terima").Value = txtInput(6).Text rsSTTB("trm_oleh").Value = txtInput(7).Text rsSTTB("ket").Value = txtInput(8).Text rsSTTB("status_Ambil").Value = True rsSTTB("status_barang").Value = bStatusBarang

183

rsSTTB.Update rsSTTB.Close MsgBox "Saved" End Sub Private Sub cmdGoFind_Click() On Error GoTo msgErr qSQl = "Select * from qINQSTTB Where " & cboFields.Text & " like '%" & txtKeyWord & "%'" qSQLSort = qSQl adoSTTB.CommandType = adCmdText adoSTTB.RecordSource = qSQl adoSTTB.Refresh dGridSTTB.Refresh Exit Sub msgErr: MsgBox Err.Description End Sub Private Sub dGridSTTB_Click() txtInput(0).Text = dGridSTTB.Columns(0).Value txtInput_KeyPress 0, 13 End Sub Private Sub Form_Load() setCboFields qSQLSort = "Select * from qINQSTTB" cmdAction(0).Enabled = False 'cmdAction(2).Enabled = False Me.Width = 15100 Me.Height = 9585 With adoSTTB .ConnectionString = sConstring .CommandType = adCmdText .RecordSource = "Select * from qINQSTTB" .Refresh End With 'status barang pertama kali diset menjadi tidak bermasalah 'false = tidak bermasalah bStatusBarang = True ' optProblem(1) = operator tidak bermasalah optProblem(1).Value = True End Sub Private Sub setCboFields() Dim nFCount As Integer qSQl = "Select * from qINQSTTB" rsFields.Open qSQl, cnn, 3, 4 nFCount = rsFields.Fields.Count For i = 0 To nFCount - 1 cboFields.AddItem rsFields(i).Name cboSortBy.AddItem rsFields(i).Name Next i rsFields.Close End Sub Private Sub imgClose_Click() Unload Me End Sub Private Sub optSortAsc_Click()

184

cboSortBy_Click End Sub Private Sub optSortDesc_Click() cboSortBy_Click End Sub Private Sub txtInput_KeyPress(Index As Integer, KeyAscii As Integer) If Index = 0 Then If KeyAscii = 13 And txtInput(Index).Text <> "" Then qSQl = "Select * from qINQSTTB Where no_STTB = '" & txtInput(Index).Text & "'" rsSTTB.Open qSQl, cnn, 3, 4 If Not rsSTTB.RecordCount = 0 Then txtInput(1).Text = rsSTTB("tgl_STTB").Value txtInput(2).Text = rsSTTB("nm_plg").Value txtInput(3).Text = rsSTTB("kota_plg").Value txtInput(4).Text = rsSTTB("nm_Penerima").Value txtInput(5).Text = IIf(IsNull(rsSTTB("kota_penerima").Value), "", rsSTTB("kota_penerima").Value) txtInput(6).Text = IIf(IsNull(rsSTTB("tgl_terima").Value), "", rsSTTB("tgl_terima").Value) txtInput(7).Text = IIf(IsNull(rsSTTB("trm_oleh").Value), "", rsSTTB("trm_oleh").Value) txtInput(8).Text = IIf(IsNull(rsSTTB("ket").Value), "", rsSTTB("ket").Value) cmdAction(0).Enabled = True ' cmdAction(2).Enabled = True Else For i = 1 To 8 txtInput(i).Text = "" Next cmdAction(0).Enabled = False 'cmdAction(2).Enabled = False End If rsSTTB.Close Else For i = 1 To 8 txtInput(i).Text = "" Next cmdAction(0).Enabled = False 'cmdAction(2).Enabled = False End If End If End Sub Private Sub txtKeyWord_Change() cmdGoFind_Click End Sub Cetak_SP Dim qSQl As String Private Sub cmdAction_Click() Select Case cmdAction.Caption Case "Create SP": createSP Case "Cetak SP": CetakSP End Select End Sub Private Sub CetakSP() 'CrystalReport2.SelectionFormula = "{khs.nrp}='" & DBCombo1.Text & "'" & "And" & "{Khs.ThAkademik} ='" & TXTTahun.Text & "'" & "And" & " {Khs.SEMESTER} ='" & Combo2.Text & "'"

185

With cRPT .ReportFileName = App.Path & "\report\cetakSP3.rpt" .SelectionFormula = "{ado.no_SP} = '" & txtInput(1).Text & "'" .Destination = crptToWindow .WindowState = crptMaximized .RetrieveDataFiles .Action = 1 End With End Sub Private Sub createSP() 'insert header qSQl = "Insert into tr_SP_H Values ( '" & txtInput(1).Text & "','" & dtglTransaksi.Value & "','" & txtInput(0).Text & "')" cnn.Execute qSQl 'Insert detail adoTransaksi.Recordset.MoveFirst For i = 1 To adoTransaksi.Recordset.RecordCount qSQl = "Insert Into tr_SP_D Values ( '" & txtInput(1).Text & "','" & adoTransaksi.Recordset("no_STTB").Value & "','" & adoTransaksi.Recordset("ket").Value & "')" adoTransaksi.Recordset.MoveNext cnn.Execute qSQl Next i adoTransaksi.Recordset.MoveFirst MsgBox "SP Sudah Di buat, silakan cetak SP" End Sub Private Sub dGridAgen_Click() On Error GoTo Here: txtInput(0).Text = dGridAgen.Columns(0).Value 'getNoSp getnoSP showtransDetail Exit Sub Here: End Sub Private Sub showtransDetail() With adoTransaksi .ConnectionString = sConstring .CommandType = adCmdText .RecordSource = "Select * from qINQSPDetil Where tgl_Sttb = #" & dtglTransaksi.Value & "# AND kd_Agen = '" & txtInput(0).Text & "'" .Refresh End With dGridTransaksi.Refresh End Sub Private Sub getnoSP() Dim rsSP As New ADODB.Recordset qSQl = "Select * from tr_SP_H Where kd_Agen = '" & txtInput(0).Text & "' and tgl_SP = #" & dtglTransaksi.Value & "#" rsSP.Open qSQl, cnn, 3, 4 If rsSP.RecordCount = 0 Then 'belum ada SP cmdAction.Caption = "Create SP" createNewSPNumber Else cmdAction.Caption = "Cetak SP" txtInput(1).Text = rsSP("no_Sp").Value End If rsSP.Close End Sub Private Sub createNewSPNumber() Dim rsNewSP As New ADODB.Recordset

186

Dim kdTahun As String Dim newSPno kodeTahun = Right(Year(Date), 2) qSQl = "Select * from tr_SP_H Where no_SP like 'SP" & kdTahun & "%'" rsNewSP.Open qSQl, cnn, 3, 4 newSPno = "SP" & kdTahun & Format(rsNewSP.RecordCount + 1, "0000") txtInput(1).Text = newSPno rsNewSP.Close End Sub Private Sub dtglTransaksi_Change() setAgen showtransDetail End Sub Private Sub Form_Load() setAgen End Sub Private Sub setAgen() With adoAgen .ConnectionString = sConstring .CommandType = adCmdText .RecordSource = "Select * from qINQSPGroup Where tgl_Sttb = #" & dtglTransaksi.Value & "#" .Refresh End With dGridAgen.Refresh End Sub Private Sub imgClose_Click() Unload Me End Sub Daftar_Agen Dim rsFields As New ADODB.Recordset Dim rsAgen As New ADODB.Recordset Dim qSQl As String Dim qSQLSort As String Dim dupCode As Boolean Private Sub cboSortBy_Click() On Error GoTo errMSG Dim sSort As String If optSortAsc.Value = True Then sSort = "ASC" Else sSort = "DESC" End If qSQl = qSQLSort & " Order by " & cboSortBy.Text & " " & sSort adoAgen.RecordSource = qSQl adoAgen.Refresh dGridAgen.Refresh Exit Sub errMSG: MsgBox Err.Description End Sub Private Sub cmdAction_Click(Index As Integer) Select Case Index

187

Case 0: 'Add If cmdAction(0).Caption = "Add" Then Add_New_Record cmdAction(1).Enabled = False cmdAction(2).Enabled = False cmdAction(3).Enabled = True Else Create_New_Agen If dupCode = False Then Save_Record cmdAction(0).Caption = "Add" cmdAction(3).Enabled = False End If End If Case 1: 'update Save_Record Case 2: 'delete Delete_Record Case 3: 'cancel cmdAction(0).Caption = "Add" cmdAction(3).Enabled = False lblKodeAgen.Caption = "" txtInput(0).Text = "" txtInput(0).SetFocus clear_Fields Case 4: 'keluar 'Unload Me Frame1(0).Visible = True Case 5: Frame1(0).Visible = True cmdAction_Click 0 End Select End Sub Private Sub Delete_Record() Dim bJawab As String bJawab = MsgBox("Kode Agen " & txtInput(0).Text & " akan di hapus , anda yakin ", vbYesNo, "Konfirmasi") If bJawab = vbYes Then qSQl = "Delete from ms_Agen Where kd_Agen = '" & txtInput(0).Text & "'" cnn.Execute qSQl MsgBox "Data telah berhasil dihapus", vbInformation, "Konfirmasi Berhasil" clear_Fields txtInput(0).Text = "" txtInput(0).SetFocus adoAgen.Refresh dGridAgen.Refresh End If End Sub Private Sub Create_New_Agen() qSQl = "Select * from ms_Agen Where kd_Agen = '" & txtInput(0).Text & "'" rsAgen.Open qSQl, cnn, 3, adLockOptimistic If rsAgen.EOF Then rsAgen.AddNew rsAgen("kd_Agen").Value = txtInput(0).Text rsAgen.Update dupCode = False Else MsgBox "Duplicate Kode Agent", vbInformation, "Please input Another Code" txtInput(0).SetFocus dupCode = True End If rsAgen.Close

188

End Sub Private Sub Add_New_Record() 'getNewID qSQl = "Select * from ms_Agen Order By kd_Agen Desc" rsAgen.Open qSQl, cnn, 3, adLockOptimistic lblKodeAgen.Caption = "Last Agen Code : " & rsAgen("kd_Agen").Value lblKodeAgen.Tag = CInt(Mid(rsAgen("kd_Agen").Value, 2, 2)) + 1 txtInput(0).Text = "A" & CInt(Mid(rsAgen("kd_Agen").Value, 2, 2)) + 1 txtInput(1).SetFocus rsAgen.Close cmdAction(0).Caption = "Save" cmdAction(3).Enabled = True clear_Fields End Sub Private Sub Save_Record() qSQl = "Select * from ms_Agen Where kd_Agen = '" & txtInput(0).Text & "'" rsAgen.Open qSQl, cnn, adOpenDynamic, adLockOptimistic rsAgen("nm_agen").Value = txtInput(1).Text rsAgen("kd_Kota").Value = txtInput(2).Text rsAgen("Attn_Agen").Value = txtInput(3).Text rsAgen("ALM_Agen").Value = txtInput(4).Text rsAgen("Telp_Agen").Value = txtInput(5).Text rsAgen("HP_Agen").Value = txtInput(6).Text rsAgen("FAx_Agen").Value = txtInput(7).Text rsAgen.Update rsAgen.Close MsgBox "Saved" adoAgen.Refresh dGridAgen.Refresh End Sub Private Sub cmdGoFind_Click() On Error GoTo msgErr qSQl = "Select * from qINQAgen Where " & cboFields.Text & " like '%" & txtKeyWord & "%'" qSQLSort = qSQl adoAgen.CommandType = adCmdText adoAgen.RecordSource = qSQl adoAgen.Refresh dGridAgen.Refresh Exit Sub msgErr: MsgBox Err.Description End Sub Private Sub dCboKota_Click(Area As Integer) txtInput(2).Text = dCboKota.BoundText End Sub Private Sub dGridAgen_Click() txtInput(0).Text = dGridAgen.Columns(0).Value txtInput_KeyPress 0, 13 End Sub Private Sub dGridAgen_DblClick() If Daftar_Agen.Tag = "cariagen" Then Daftar_Agen.Tag = "" frmTRansaksiPengiriman.txtInput(28).Text = dGridAgen.Columns(0).Value frmTRansaksiPengiriman.txtInput(27).Text = dGridAgen.Columns(1).Value Unload Me End If

189

End Sub Private Sub Form_Load() setCboFields qSQLSort = "Select * from qINQAgen" cmdAction(1).Enabled = False cmdAction(2).Enabled = False cmdAction(3).Enabled = False With adoAgen .ConnectionString = sConstring .CommandType = adCmdText .RecordSource = "Select * from qINQAgen order by kd_Agen " .Refresh End With With adoKota .ConnectionString = sConstring .CommandType = adCmdText .RecordSource = "Select * from ms_kota" .Refresh End With Frame1(0).Visible = False setSec End Sub Private Sub setSec() Select Case uGRoup Case "OPT": cmdAction(4).Visible = False cmdAction(5).Visible = False End Select End Sub Private Sub setCboFields() Dim nFCount As Integer qSQl = "Select * from qINQAgen" rsFields.Open qSQl, cnn, 3, 4 nFCount = rsFields.Fields.Count For i = 0 To nFCount - 1 cboFields.AddItem rsFields(i).Name cboSortBy.AddItem rsFields(i).Name Next i rsFields.Close End Sub Private Sub imgClose_Click() Unload Me End Sub Private Sub imgCloseAgen_Click() Frame1(0).Visible = False End Sub Private Sub optSortAsc_Click() cboSortBy_Click End Sub Private Sub optSortDesc_Click() cboSortBy_Click End Sub Private Sub txtInput_KeyPress(Index As Integer, KeyAscii As Integer)

190

If Index = 0 Then If KeyAscii = 13 And txtInput(Index).Text <> "" Then qSQl = "Select * from ms_agen Where kd_Agen = '" & txtInput(Index).Text & "'" rsAgen.Open qSQl, cnn, 3, 4 If Not rsAgen.RecordCount = 0 Then txtInput(1).Text = rsAgen("nm_agen").Value txtInput(2).Text = rsAgen("kd_Kota").Value dCboKota.BoundText = rsAgen("kd_Kota").Value txtInput(3).Text = IIf(IsNull(rsAgen("Attn_Agen").Value), "", rsAgen("Attn_Agen").Value) txtInput(4).Text = IIf(IsNull(rsAgen("ALM_Agen").Value), "", rsAgen("ALM_Agen").Value) txtInput(5).Text = IIf(IsNull(rsAgen("Telp_Agen").Value), "", rsAgen("Telp_Agen").Value) txtInput(6).Text = IIf(IsNull(rsAgen("HP_Agen").Value), "", rsAgen("HP_Agen").Value) txtInput(7).Text = IIf(IsNull(rsAgen("FAx_Agen").Value), "", rsAgen("Fax_Agen").Value) cmdAction(1).Enabled = True cmdAction(2).Enabled = True Else clear_Fields cmdAction(1).Enabled = False cmdAction(2).Enabled = False End If rsAgen.Close Else clear_Fields cmdAction(1).Enabled = False cmdAction(2).Enabled = False End If End If End Sub Private Sub clear_Fields() For i = 1 To 7 txtInput(i).Text = "" Next dCboKota.Text = "" End Sub Private Sub txtKeyWord_Change() cmdGoFind_Click End Sub frmInfoHarga Dim rsFields As New ADODB.Recordset Dim rsKota As New ADODB.Recordset Dim qSQl As String Dim qSQLSort As String Dim dupCode As Boolean Private Sub cboSortBy_Click() On Error GoTo errMSG Dim sSort As String If optSortAsc.Value = True Then sSort = "ASC" Else sSort = "DESC" End If qSQl = qSQLSort & " Order by " & cboSortBy.Text & " " & sSort adoKota.RecordSource = qSQl adoKota.Refresh dGridKota.Refresh Exit Sub

191

errMSG: MsgBox Err.Description End Sub Private Sub cmdAction_Click(Index As Integer) Select Case Index Case 0: 'Add If cmdAction(0).Caption = "Add" Then Add_New_Record cmdAction(1).Enabled = False cmdAction(2).Enabled = False cmdAction(3).Enabled = True Else Create_New_Agen If dupCode = False Then Save_Record cmdAction(0).Caption = "Add" cmdAction(3).Enabled = False End If End If Case 1: 'update Save_Record Case 2: 'delete Delete_Record Case 3: 'cancel cmdAction(0).Caption = "Add" cmdAction(3).Enabled = False txtInput(0).Text = "" txtInput(0).SetFocus clear_Fields Case 4: 'keluar Unload Me End Select End Sub Private Sub Delete_Record() Dim bJawab As String bJawab = MsgBox("Kode Kota " & txtInput(0).Text & " akan di hapus , anda yakin ", vbYesNo, "Konfirmasi") If bJawab = vbYes Then qSQl = "Delete from ms_kota Where kd_kota = '" & txtInput(0).Text & "'" cnn.Execute qSQl MsgBox "Data telah berhasil dihapus", vbInformation, "Konfirmasi Berhasil" clear_Fields txtInput(0).Text = "" txtInput(0).SetFocus adoKota.Refresh dGridKota.Refresh End If End Sub Private Sub Create_New_Agen() qSQl = "Select * from ms_Kota Where kd_kota = '" & txtInput(0).Text & "'" rsKota.Open qSQl, cnn, 3, adLockOptimistic If rsKota.EOF Then rsKota.AddNew rsKota("kd_kota").Value = txtInput(0).Text rsKota.Update dupCode = False Else MsgBox "Duplicate Kode Kota", vbInformation, "Please input Another Code" txtInput(0).SetFocus dupCode = True End If

192

rsKota.Close End Sub Private Sub Add_New_Record() txtInput(0).SetFocus cmdAction(0).Caption = "Save" cmdAction(3).Enabled = True clear_Fields End Sub Private Sub Save_Record() qSQl = "Select * from ms_kota Where kd_kota = '" & txtInput(0).Text & "'" rsKota.Open qSQl, cnn, adOpenDynamic, adLockOptimistic rsKota("nm_Kota").Value = txtInput(1).Text rsKota.Update rsKota.Close MsgBox "Saved" adoKota.Refresh dGridKota.Refresh End Sub Private Sub cmdGoFind_Click() On Error GoTo msgErr qSQl = "Select * from ms_harga_used Where " & cboFields.Text & " like '%" & txtKeyWord & "%'" qSQLSort = qSQl adoKota.CommandType = adCmdText adoKota.RecordSource = qSQl adoKota.Refresh dGridKota.Refresh Exit Sub msgErr: MsgBox Err.Description End Sub Private Sub cmdInfo_Click() frmDaftarHarga.dCboKota.Text = txtInput(0).Text frmDaftarHarga.SetKota frmDaftarHarga.Show vbModal End Sub Private Sub cmdLihatInfoHarga_Click() frmDaftarHarga.dCboKota.Text = txtInput(0).Text frmDaftarHarga.SetKota frmDaftarHarga.Show vbModal End Sub Private Sub dGridKota_Click() txtInput(0).Text = dGridKota.Columns(0).Value txtInput(1).Text = dGridKota.Columns(1).Value End Sub Private Sub dGridKota_DblClick() If frmInfoHarga.Tag = "carikota" Then frmTRansaksiPengiriman.dCboKota.Text = dGridKota.Columns(0).Value frmInfoHarga.Tag = "" frmTRansaksiPengiriman.SetKota Unload Me End If End Sub Private Sub Form_Activate()

193

GetLastUpdatePrice End Sub Private Sub Form_Load() GetLastUpdatePrice With adoKota .ConnectionString = sConstring .CommandType = adCmdText End With setCboFields qSQLSort = "Select * from ms_harga_used" cmdAction(1).Enabled = False cmdAction(2).Enabled = False cmdAction(3).Enabled = False If frmInfoHarga.Tag = "" Then For i = 0 To 4 cmdAction(i).Visible = False Next End If findFirst 'txtInput(0).SetFocus End Sub Private Sub GetKota() frmTRansaksiPengiriman.dCboKota.Text = dGridKota.Columns(0).Value frmInfoHarga.Tag = "" frmTRansaksiPengiriman.SetKota Unload Me End Sub Private Sub setCboFields() Dim nFCount As Integer qSQl = "Select * from ms_harga_used" rsFields.Open qSQl, cnn, 3, 4 nFCount = rsFields.Fields.Count For i = 0 To nFCount - 1 cboFields.AddItem rsFields(i).Name cboSortBy.AddItem rsFields(i).Name Next i rsFields.Close Set rsFields = Nothing End Sub Private Sub imgClose_Click() Unload Me End Sub Private Sub imgFind_Click() cmdGoFind_Click End Sub Private Sub lblFind_Click() cmdGoFind_Click End Sub Private Sub optSortAsc_Click() cboSortBy_Click End Sub

194

Private Sub optSortDesc_Click() cboSortBy_Click End Sub Private Sub txtInput_KeyPress(Index As Integer, KeyAscii As Integer) If Index = 0 Then If KeyAscii = 13 And txtInput(Index).Text <> "" Then qSQl = "Select * from ms_kota Where kd_kota = '" & txtInput(Index).Text & "'" rsKota.Open qSQl, cnn, 3, 4 If Not rsKota.RecordCount = 0 Then txtInput(1).Text = rsKota("nm_kota").Value cmdAction(1).Enabled = True cmdAction(2).Enabled = True Else clear_Fields cmdAction(1).Enabled = False cmdAction(2).Enabled = False End If rsKota.Close Else clear_Fields cmdAction(1).Enabled = False cmdAction(2).Enabled = False End If End If End Sub Private Sub clear_Fields() For i = 1 To 1 txtInput(i).Text = "" Next End Sub Private Sub txtKeyWord_Change() cmdGoFind_Click End Sub Private Sub findFirst() On Error GoTo msgErr qSQl = "Select * from ms_Harga_Used order by kode_kota" qSQLSort = qSQl adoKota.CommandType = adCmdText adoKota.RecordSource = qSQl adoKota.Refresh dGridKota.Refresh Exit Sub msgErr: MsgBox Err.Description End Sub frmDaftarHarga Dim rsHarga As New ADODB.Recordset Dim qSQl As String Private Sub cmdAction_Click(Index As Integer) Select Case Index Case 0: 'Add If dCboKota.Text = "" Then

195

End If If cmdAction(0).Caption = "Create Harga Baru" Then Add_New_Record cmdAction(1).Enabled = False cmdAction(2).Enabled = False cmdAction(3).Enabled = True Else Create_New_Price If dupCode = False Then Save_Record cmdAction(0).Caption = "Create Harga Baru" cmdAction(3).Enabled = False End If End If Case 1: 'delete ' Delete_Record Case 2: 'update Save_Record Case 3: 'cancel cmdAction(0).Caption = "Create Harga Baru" cmdAction(3).Enabled = False txtInput(1).Text = "" txtInput(1).SetFocus clear_Fields Case 4: 'keluar Unload Me Case 5: If cmdAction(5).Caption = "show detil harga" Then frmDaftarHarga.Height = 7500 cmdAction(5).Caption = "hide detil harga" Else frmDaftarHarga.Height = 4800 cmdAction(5).Caption = "show detil harga" End If Case 6: Unload Me End Select End Sub Private Sub Create_New_Price() qSQl = "Select * from ms_hrg Where kd_kota = '" & dCboKota.Text & "' and tgl_berlaku = #" & txtInput(3).Text & "#" rsHarga.Open qSQl, cnn, 3, adLockOptimistic If rsHarga.EOF Then rsHarga.AddNew rsHarga("kd_kota").Value = dCboKota.Text rsHarga("tgl_berlaku").Value = txtInput(3).Text rsHarga.Update dupCode = False Else MsgBox "Duplicate Kode Kota dan Tanggal", vbInformation, "Please input Another Code" txtInput(1).SetFocus dupCode = True End If rsHarga.Close End Sub Private Sub Add_New_Record() 'getNewID

196

clear_Fields txtInput(1).Text = "" txtInput(1).SetFocus txtInput(3).Text = Format(Date, "mm/dd/yyyy") cmdAction(0).Caption = "Save" cmdAction(3).Enabled = True End Sub Private Sub Save_Record() qSQl = "Select * from ms_hrg Where kd_kota = '" & dCboKota.Text & "' and tgl_berlaku = #" & txtInput(3).Text & "#" rsHarga.Open qSQl, cnn, adOpenDynamic, adLockOptimistic rsHarga("minimum").Value = txtInput(2).Text rsHarga("harga_kg").Value = txtInput(1).Text rsHarga.Update rsHarga.Close MsgBox "Saved" adoHarga.Refresh dGridHarga.Refresh End Sub Private Sub clear_Fields() For i = 1 To 4 txtInput(i).Text = "" Next End Sub Public Sub dCboKota_Click(Area As Integer) SetKota End Sub Public Sub SetKota() If Not dCboKota.Text = "" Then txtKota.Text = dCboKota.BoundText getHargaTerakhir Refreshtable cmdAction(1).Enabled = True cmdAction(2).Enabled = True End If End Sub Private Sub Refreshtable() adoHarga.CommandType = adCmdText adoHarga.RecordSource = "Select * from qINQHarga where kd_kota = '" & dCboKota.Text & "' order by tgl_Berlaku " adoHarga.Refresh dGridHarga.Refresh End Sub Private Sub getHargaTerakhir() qSQl = "Select * from ms_hrg where kd_kota = '" & dCboKota.Text & "' AND tgl_berlaku <= #" & Format(Date, "MM/DD/YYYY") & "# Order by Tgl_berlaku DESC" rsHarga.Open qSQl, cnn, adOpenDynamic, adLockOptimistic If Not rsHarga.EOF Then txtInput(1).Text = IIf(IsNull(rsHarga("harga_kg").Value), "", rsHarga("harga_kg").Value) txtInput(2).Text = IIf(IsNull(rsHarga("minimum").Value), "", rsHarga("minimum").Value) txtInput(3).Text = IIf(IsNull(rsHarga("tgl_berlaku").Value), "", Format(rsHarga("tgl_berlaku").Value, "MM/DD/YYYY")) txtInput(4).Text = IIf(IsNull(rsHarga("ket").Value), "", rsHarga("ket").Value) Else MsgBox "Belum ada info harga untuk kota tujun ini", vbInformation, "" End If

197

rsHarga.Close End Sub Private Sub Form_Load() frmDaftarHarga.Height = 4800 cmdAction(2).Enabled = False cmdAction(3).Enabled = False With adoKota .ConnectionString = sConstring .CommandType = adCmdText .RecordSource = "Select * from ms_kota" .Refresh End With With adoHarga .ConnectionString = sConstring .CommandType = adCmdText .RecordSource = "Select * from qINQHarga where kd_kota = 'jkt' order by tgl_Berlaku " .Refresh End With setSec End Sub Private Sub setSec() Select Case uGRoup Case "OPT": cmdAction(0).Visible = False cmdAction(2).Visible = False cmdAction(3).Visible = False End Select End Sub Private Sub Image1_Click() cmdAction_Click 4 End Sub frmInformasiTransaksi Dim rsKwitansi As New ADODB.Recordset Dim noByr As String Private Sub updateSuccesfull() MsgBox "Status tagihan sudah berhasil dibayar", vbInformation, "Terima kasih" ' cmdAction(7).Enabled = False End Sub Private Sub UpdateMs_Kwitansi() qSQl = "Select * from ms_Kwitansi Where no_Kwitansi = '" & txtKwi(0).Text & "'" rsKwitansi.Open qSQl, cnn, adOpenDynamic, adLockPessimistic With rsKwitansi .Fields("no_byr").Value = txtKwi(2).Text .Fields("isPaid").Value = True .Update End With rsKwitansi.Close End Sub Private Sub Add_Tr_Byr() Dim rsBayar As New ADODB.Recordset qSQl = "Select * from tr_byr" rsBayar.Open qSQl, cnn, adOpenDynamic, adLockPessimistic With rsBayar .Fields("No_byr").Value = txtKwi(2).Text

198

.Fields("No_STTB").Value = txtKwi(1).Text .Fields("tgl_byr").Value = txtKwi(11).Text .Fields("jml_byr").Value = txtKwi(4).Text .Fields("ket_byr").Value = txtKwi(9).Text .Update End With End Sub Private Sub Form_Load() ssTransaksiWizard.Tab = 0 Me.Width = 15100 Me.Height = 9585 End Sub Private Sub imgClose_Click() Unload Me End Sub Private Sub imgFind_Click(Index As Integer) Select Case Index Case 1: 'lihat daftar tagihan frmdaftarTransaksi.Show vbModal End Select End Sub Private Function getPembayaranDate(no_Byr As String) Dim rsTranByr As New ADODB.Recordset qSQl = "Select * from tr_byr Where No_Byr = '" & no_Byr & "'" rsTranByr.Open qSQl, cnn, 3, 4 getPembayaranDate = Format(rsTranByr("tgl_byr").Value, "dd-mmm-YYYY") rsTranByr.Close End Function Private Sub GetLastNoBayar() Dim kodeTahun As String Dim rsTranByr As New ADODB.Recordset qSQl = "Select * from tr_byr Where no_byr like 'B" & kodeTahun & "%'" rsTranByr.Open qSQl, cnn, 3, 4 kodeTahun = Right(Year(Date), 2) noByr = "B" & kodeTahun & Format(rsTranByr.RecordCount + 1, "0000") rsTranByr.Close End Sub Private Sub ssTransaksiWizard_Click(PreviousTab As Integer) If PreviousTab = 0 Then If txtKwi(1).Text = "" Then MsgBox "invalid Kwitansi number" ssTransaksiWizard.Tab = 0 End If End If End Sub Private Sub txtKwi_Change(Index As Integer) If Index = 5 Then If IsNumeric(txtKwi(5).Text) And IsNumeric(txtKwi(4).Text) Then txtKwi(6).Text = FormatNumber(txtKwi(5).Text - txtKwi(4).Text, 0) 'txtKwi(5).Text = FormatNumber(txtKwi(5).Text, 0) End If End If End Sub Public Sub txtKwi_KeyPress(Index As Integer, KeyAscii As Integer) If Index = 0 Then ' No Kwitansi

199

If KeyAscii = 13 And txtKwi(Index).Text <> "" Then qSQl = "Select * from qINQPembayaran Where No_Kwitansi = '" & txtKwi(0).Text & "'" rsKwitansi.Open qSQl, cnn, 3, 4 If Not rsKwitansi.RecordCount = 0 Then txtKwi(1).Text = IIf(IsNull(rsKwitansi("No_STTB").Value), "", rsKwitansi("No_STTB").Value) If (rsKwitansi("isPaid").Value = False) Then 'belum dibayar 'EnabledFields 'getLastNo Pembayaran txtKwi(2).Text = "Tagihan Bulum dibayar" txtKwi(11).Text = "Tagihan Bulum dibayar" Else txtKwi(11).Text = getPembayaranDate(rsKwitansi("No_Byr").Value) txtKwi(2).Text = rsKwitansi("No_Byr").Value End If txtKwi(3).Text = Format(rsKwitansi("tgl_kwitansi").Value, "dd-MMM-yyyy") txtKwi(4).Text = FormatNumber(rsKwitansi("nominal").Value, 0) txtKwi(7).Text = rsKwitansi("kd_plg").Value txtKwi(8).Text = rsKwitansi("nm_plg").Value cboCaraPembayaran.Text = IIf(IsNull(rsKwitansi("cara_byr").Value), "", rsKwitansi("cara_byr").Value) txtKwi(12).Text = IIf(IsNull(rsKwitansi("cara_byr").Value), "", rsKwitansi("cara_byr").Value) setInfoTransaksi Else clear_Fields_Kwitansi End If rsKwitansi.Close Else clear_Fields_Kwitansi End If End If If Index = 5 And IsNumeric(txtKwi(5).Text) And KeyAscii = 13 Then txtKwi(5).Text = FormatNumber(txtKwi(5).Text, 0) End If End Sub Private Sub setInfoTransaksi() Dim rsCust As New ADODB.Recordset txtInput(26).Text = rsKwitansi("kd_plg").Value 'get cust information qSQl = "Select * from ms_plg Where kd_plg = '" & txtInput(26).Text & "'" rsCust.Open qSQl, cnn, 3, 4 If Not rsCust.RecordCount = 0 Then txtInput(25).Text = rsCust("nm_plg").Value txtInput(24).Text = IIf(IsNull(rsCust("alm_plg").Value), "", rsCust("alm_plg").Value) txtInput(23).Text = IIf(IsNull(rsCust("kota_plg").Value), "", rsCust("kota_plg").Value) txtInput(21).Text = IIf(IsNull(rsCust("telp_plg").Value), "", rsCust("telp_plg").Value) txtInput(22).Text = IIf(IsNull(rsCust("fax_plg").Value), "", rsCust("fax_plg").Value) txtInput(19).Text = IIf(IsNull(rsCust("hp_plg").Value), "", rsCust("hp_plg").Value) txtInput(20).Text = IIf(IsNull(rsCust("attn_plg").Value), "", rsCust("attn_plg").Value) chkActive.Value = IIf(rsCust("isActive").Value, Checked, Unchecked) cboCaraPembayaran.Enabled = rsCust("isActive").Value 'cboCaraPembayaran.Text = rsKwitansi("cara_byr").Value End If rsCust.Close txtInput(4).Text = IIf(rsKwitansi("status_Ambil").Value, "Sudah diterima", "Belum Diterima")

200

txtInput(3).Text = IIf(IsNull(rsKwitansi("tgl_terima").Value), "", Format(rsKwitansi("tgl_terima").Value, "dd/mmm/yyyy")) txtInput(2).Text = IIf(IsNull(rsKwitansi("trm_oleh").Value), "", rsKwitansi("trm_oleh").Value) txtInput(1).Text = rsKwitansi("ket").Value txtInput(5).Text = rsKwitansi("nm_penerima").Value txtInput(6).Text = IIf(IsNull(rsKwitansi("alm_penerima").Value), "", rsKwitansi("alm_penerima").Value) txtInput(7).Text = rsKwitansi("kota_penerima").Value txtInput(8).Text = rsKwitansi("Telp_penerima").Value txtInput(27).Text = rsKwitansi("Nm_Agen").Value txtInput(28).Text = rsKwitansi("kd_Agen").Value txtInput(9).Text = rsKwitansi("Isi_Mp").Value txtInput(11).Text = rsKwitansi("Koli").Value txtInput(10).Text = rsKwitansi("Berat").Value txtInput(12).Text = rsKwitansi("brt_Surcharge").Value txtInput(14).Text = rsKwitansi("b_Kirim").Value txtInput(15).Text = FormatNumber(rsKwitansi("Berat").Value * rsKwitansi("B_Kirim").Value, 0) txtInput(13).Text = FormatNumber(rsKwitansi("b_Surcharge").Value, 0) txtInput(16).Text = FormatNumber(rsKwitansi("b_forklift").Value, 0) txtInput(17).Text = FormatNumber(rsKwitansi("b_peti").Value, 0) txtInput(18).Text = FormatNumber(CCur(txtInput(15).Text) + CCur(txtInput(13).Text) + CCur(txtInput(16).Text) + CCur(txtInput(17).Text), 0) End Sub Private Sub clear_Fields_Kwitansi() For i = 1 To 12 txtKwi(i).Text = "" Next i For i = 0 To 28 txtInput(i).Text = "" Next i cboCaraPembayaran.Text = "" End Sub Private Sub EnabledFields() For i = 1 To 10 txtKwi(i).Enabled = False Next i txtKwi(0).Enabled = True txtKwi(5).Enabled = True txtKwi(9).Enabled = True End Sub Private Sub DisabledFields() For i = 0 To 10 txtKwi(i).Enabled = False Next i txtKwi(0).Enabled = True End Sub Private Sub txtKwi_LostFocus(Index As Integer) If Index = 5 Then If IsNumeric(txtKwi(5).Text) Then txtKwi(5).Text = FormatNumber(txtKwi(5).Text, 0) End If End If End Sub

201

frmdaftarTransaksi Dim rsFields As New ADODB.Recordset Dim qSQl As String Dim qSQLSort As String Private Sub setCboFields() Dim nFCount As Integer qSQl = "Select * from qINQTransaksi" rsFields.Open qSQl, cnn, 3, 4 nFCount = rsFields.Fields.Count For i = 0 To nFCount - 1 cboFields.AddItem rsFields(i).Name cboSortBy.AddItem rsFields(i).Name Next i rsFields.Close End Sub Private Sub cboSortBy_Click() On Error GoTo errMSG Dim sSort As String If optSortAsc.Value = True Then sSort = "ASC" Else sSort = "DESC" End If qSQl = qSQLSort & " Order by " & cboSortBy.Text & " " & sSort adoTransaksi.RecordSource = qSQl adoTransaksi.Refresh dGridTransaksi.Refresh Exit Sub errMSG: MsgBox Err.Description End Sub Private Sub cmdGoFind_Click() On Error GoTo msgErr qSQl = "Select * from qINQTransaksi Where " & cboFields.Text & " like '%" & txtKeyWord & "%'" qSQLSort = qSQl adoTransaksi.CommandType = adCmdText adoTransaksi.RecordSource = qSQl adoTransaksi.Refresh dGridTransaksi.Refresh Exit Sub msgErr: MsgBox Err.Description End Sub Private Sub dGridTransaksi_DblClick() frmInformasiTransaksi.txtKwi(0).Text = dGridTransaksi.Columns(0).Value frmInformasiTransaksi.txtKwi_KeyPress 0, 13 Unload Me End Sub Private Sub Form_Load() setCboFields

202

With adoTransaksi .ConnectionString = sConstring .CommandType = adCmdText .RecordSource = "Select * from qINQTransaksi order by No_STTB Desc" .Refresh End With End Sub Private Sub imgClose_Click() Unload Me End Sub Private Sub optSortAsc_Click() cboSortBy_Click End Sub Private Sub optSortDesc_Click() cboSortBy_Click End Sub Private Sub txtKeyWord_Change() cmdGoFind_Click End Sub Daftar_Tagihan Dim rsFields As New ADODB.Recordset Dim rsTagihan As New ADODB.Recordset Dim qSQl As String Dim qSQLSort As String Dim dupCode As Boolean Private Sub cboSortBy_Click() On Error GoTo errMSG Dim sSort As String If optSortAsc.Value = True Then sSort = "ASC" Else sSort = "DESC" End If qSQl = qSQLSort & " Order by " & cboSortBy.Text & " " & sSort adoTagihan.RecordSource = qSQl adoTagihan.Refresh dGridTagihan.Refresh Exit Sub errMSG: MsgBox Err.Description End Sub Private Sub cmdAction_Click(Index As Integer) Dim kdPelanggan Select Case Index Case 5: If cmdAction(5).Caption = "show detil tagihan" Then cmdAction(5).Caption = "hide detil tagihan" Me.Height = 10000 Else Me.Height = 6705 cmdAction(5).Caption = "show detil tagihan"

203

End If cmdEntryPembayaran.Visible = False Case 0: 'cetak laporan per pelanggan Cetak txtkdPelanggan.Text Case 1: frmCetakTagihan.Show vbModal End Select End Sub Private Sub Cetak(kdPelanggan As String) With cRPT .ReportFileName = App.Path & "\report\cetakTagihanByPelanggan.rpt" .SelectionFormula = "{qINQTagihan.kd_plg}= '" & kdPelanggan & "'" .Destination = crptToWindow .WindowState = crptMaximized .RetrieveDataFiles .Action = 1 End With End Sub Private Sub cmdEntryPembayaran_Click() Daftar_Tagihan.Tag = "" frmEntryPembayaran.txtKwi(0).Text = txtInput(2).Text frmEntryPembayaran.txtKwi_KeyPress 0, 13 Unload Me frmEntryPembayaran.Show End Sub Private Sub cmdGoFind_Click() On Error GoTo msgErr If Not cboFields.Text = "" Then qSQl = "Select * from qINQTagihan Where " & cboFields.Text & " like '%" & txtKeyWord & "%'" qSQLSort = qSQl adoTagihan.CommandType = adCmdText adoTagihan.RecordSource = qSQl adoTagihan.Refresh dGridTagihan.Refresh Exit Sub End If msgErr: MsgBox Err.Description End Sub Private Sub dGridTagihan_Click() If Not dGridTagihan.Columns(0).Value = "" Then txtInput(2).Text = dGridTagihan.Columns(0).Value txtInput_KeyPress 2, 13 txtkdPelanggan.Text = dGridTagihan.Columns(3).Value End If End Sub Private Sub dGridTagihan_DblClick() If Daftar_Tagihan.Tag = "carikwitansi" Then Daftar_Tagihan.Tag = "" frmEntryPembayaran.txtKwi(0).Text = dGridTagihan.Columns(0).Value frmEntryPembayaran.txtKwi_KeyPress 0, 13 Unload Me End If End Sub Private Sub Form_Load() setCboFields

204

qSQLSort = "Select * from qINQTagihan" cmdEntryPembayaran.Visible = False With adoTagihan .ConnectionString = sConstring .CommandType = adCmdText .RecordSource = "Select * from qINQTagihan order by kd_plg" .Refresh End With End Sub Private Sub setCboFields() Dim nFCount As Integer qSQl = "Select NO_STTB, TGL_KWITANSI, KD_PLG, NM_PLG from qINQTagihan" rsFields.Open qSQl, cnn, 3, 4 nFCount = rsFields.Fields.Count For i = 0 To nFCount - 1 cboFields.AddItem rsFields(i).Name cboSortBy.AddItem rsFields(i).Name Next i rsFields.Close End Sub Private Sub imgClose_Click() Unload Me End Sub Private Sub optSortAsc_Click() cboSortBy_Click End Sub Private Sub optSortDesc_Click() cboSortBy_Click End Sub Private Sub txtInput_KeyPress(Index As Integer, KeyAscii As Integer) If Index = 0 Then If KeyAscii = 13 And txtInput(Index).Text <> "" Then qSQl = "Select * from qINQTagihan Where kd_plg = '" & txtInput(Index).Text & "'" rsTagihan.Open qSQl, cnn, 3, 4 If Not rsTagihan.RecordCount = 0 Then txtInput(1).Text = rsTagihan("nm_plg").Value txtInput(2).SetFocus Else clear_Fields End If rsTagihan.Close Else clear_Fields End If End If If Index = 2 Then If KeyAscii = 13 And txtInput(Index).Text <> "" Then qSQl = "Select * from qINQTagihan Where No_Kwitansi = '" & txtInput(2).Text & "'" rsTagihan.Open qSQl, cnn, 3, 4 If Not rsTagihan.RecordCount = 0 Then txtInput(0).Text = rsTagihan("kd_plg").Value txtInput(1).Text = rsTagihan("nm_plg").Value txtInput(3).Text = IIf(IsNull(rsTagihan("no_byr").Value), "", rsTagihan("no_byr").Value) txtInput(4).Text = Format(rsTagihan("tgl_kwitansi").Value, "dd-MMM-yyyy") txtInput(5).Text = FormatNumber(rsTagihan("nominal").Value, 0) txtInput(7).Text = rsTagihan("no_STTB").Value If txtInput(3).Text = "" Then

205

txtInput(6).Text = "Belum dibayar" cmdEntryPembayaran.Visible = True Else txtInput(6).Text = "Sudah dibayar" cmdEntryPembayaran.Visible = False End If Else clear_Fields_tagihan cmdEntryPembayaran.Visible = False End If rsTagihan.Close Else clear_Fields_tagihan cmdEntryPembayaran.Visible = False End If End If End Sub Private Sub clear_Fields_tagihan() For i = 3 To 6 txtInput(i).Text = "" Next End Sub Private Sub clear_Fields() For i = 1 To 6 txtInput(i).Text = "" Next End Sub Private Sub txtKeyWord_Change() cmdGoFind_Click End Sub frmCetakTagihan Private Sub cmdAction_Click(Index As Integer) Select Case Index Case 0: 'SetAdo Cetak Case 1: Unload Me End Select End Sub Private Sub Cetak() With cRPT If cboGroup.Text = "Pelanggan" Then .ReportFileName = App.Path & "\report\cetakTagihan.rpt" Else .ReportFileName = App.Path & "\report\cetakTagihanByDate.rpt" End If ' .SelectionFormula = "{ado.tgl_STTB} is Between Date(05,01,01,00,00,00) and Date(05,01,01,00,00,00)" '.SelectionFormula = "{ado.tgl_STTB} = %12/05/2005%"

206

'Crp_Penjualan.SelectionFormula = "year({Jual.TgFak})=" & Year(DTPicker1) & " and Month({Jual.TgFak})=" & Month(DTPicker1) & " and Day({Jual.TgFak})=" & Day(DTPicker1) & " and { Jual.KodePlg}='" & DataCombo1.Text & "'" .SelectionFormula = "year({qINQTagihan.tgl_Kwitansi})= " & Year(dtYear) & " and Month({qINQTagihan.tgl_Kwitansi})= " & Month(dtMonth) .Destination = crptToWindow .WindowState = crptMaximized .RetrieveDataFiles .Action = 1 End With End Sub Private Sub Command1_Click(Index As Integer) End Sub Private Sub Form_Load() End Sub Private Sub imgClose_Click() Unload Me End Sub Daftar_Pelanggan Dim rsFields As New ADODB.Recordset Dim rsCust As New ADODB.Recordset Dim qSQl As String Dim qSQLSort As String Dim dupCode As Boolean Private Sub cboSortBy_Click() On Error GoTo errMSG Dim sSort As String If optSortAsc.Value = True Then sSort = "ASC" Else sSort = "DESC" End If qSQl = qSQLSort & " Order by " & cboSortBy.Text & " " & sSort adoCust.RecordSource = qSQl adoCust.Refresh dGridCust.Refresh Exit Sub errMSG: MsgBox Err.Description End Sub Private Sub chkActive_Click() If chkActive.Value = Checked Then chkActive.Caption = "ya" Else chkActive.Caption = "tidak" End If End Sub Private Sub cmdAction_Click(Index As Integer)

207

Select Case Index Case 0: 'Add If cmdAction(0).Caption = "Add" Then Add_New_Record cmdAction(1).Enabled = False cmdAction(2).Enabled = False cmdAction(3).Enabled = True Else Create_New_Agen If dupCode = False Then Save_Record cmdAction(0).Caption = "Add" cmdAction(3).Enabled = False End If End If Case 1: 'update Save_Record Case 2: 'delete Delete_Record Case 3: 'cancel cmdAction(0).Caption = "Add" cmdAction(3).Enabled = False txtInput(0).Text = "" txtInput(0).SetFocus clear_Fields Case 4: 'keluar Unload Me Case 5: 'show hide If cmdAction(5).Caption = "Add / Edit" Then cmdAction(5).Caption = "hide" Me.Height = 9585 Else Me.Height = 5850 cmdAction(5).Caption = "Add / Edit" End If End Select End Sub Private Sub Delete_Record() Dim bJawab As String bJawab = MsgBox("Kode Pelanggan " & txtInput(0).Text & " akan di hapus , anda yakin ", vbYesNo, "Konfirmasi") If bJawab = vbYes Then qSQl = "Delete from ms_plg Where kd_plg = '" & txtInput(0).Text & "'" cnn.Execute qSQl MsgBox "Data telah berhasil dihapus", vbInformation, "Konfirmasi Berhasil" clear_Fields txtInput(0).Text = "" txtInput(0).SetFocus adoCust.Refresh dGridCust.Refresh End If End Sub Private Sub Create_New_Agen() qSQl = "Select * from ms_plg Where kd_plg = '" & txtInput(0).Text & "'" rsCust.Open qSQl, cnn, 3, adLockOptimistic If rsCust.EOF Then rsCust.AddNew rsCust("kd_plg").Value = txtInput(0).Text rsCust.Update dupCode = False

208

Else MsgBox "Duplicate Kode Pelanggan", vbInformation, "Please input Another Code" txtInput(0).SetFocus dupCode = True End If rsCust.Close End Sub Private Sub Add_New_Record() txtInput(0).Text = "" txtInput(0).SetFocus cmdAction(0).Caption = "Save" cmdAction(3).Enabled = True clear_Fields End Sub Private Sub Save_Record() qSQl = "Select * from ms_plg Where kd_plg = '" & txtInput(0).Text & "'" rsCust.Open qSQl, cnn, adOpenDynamic, adLockOptimistic rsCust("nm_plg").Value = txtInput(1).Text rsCust("alm_Plg").Value = txtInput(2).Text rsCust("kota_plg").Value = txtInput(3).Text rsCust("telp_plg").Value = txtInput(4).Text rsCust("fax_plg").Value = txtInput(5).Text rsCust("hp_plg").Value = txtInput(6).Text rsCust("attn_plg").Value = txtInput(7).Text rsCust("isActive").Value = chkActive.Value rsCust.Update rsCust.Close MsgBox "Saved" adoCust.Refresh dGridCust.Refresh End Sub Private Sub cmdGoFind_Click() On Error GoTo msgErr qSQl = "Select * from ms_plg Where " & cboFields.Text & " like '%" & txtKeyWord & "%'" qSQLSort = qSQl adoCust.CommandType = adCmdText adoCust.RecordSource = qSQl adoCust.Refresh dGridCust.Refresh Exit Sub msgErr: MsgBox Err.Description End Sub Private Sub dGridCust_Click() txtInput(0).Text = dGridCust.Columns(0).Value txtInput_KeyPress 0, 13 End Sub Private Sub dGridCust_DblClick() If Daftar_Pelanggan.Tag = "caripelanggan" Then Daftar_Pelanggan.Tag = "" frmTRansaksiPengiriman.txtInput(26).Text = dGridCust.Columns(0).Value frmTRansaksiPengiriman.txtInput_KeyPress 26, 13 Unload Me End If End Sub Private Sub Form_Load()

209

setCboFields qSQLSort = "Select * from ms_plg" cmdAction(1).Enabled = False cmdAction(2).Enabled = False cmdAction(3).Enabled = False With adoCust .ConnectionString = sConstring .CommandType = adCmdText .RecordSource = "Select * from ms_plg order by kd_Plg" .Refresh End With Me.Height = 5850 setSec End Sub Private Sub setSec() Select Case uGRoup Case "CSR": cmdAction(5).Visible = False Case "OPT": cmdAction(5).Visible = False End Select End Sub Private Sub setCboFields() Dim nFCount As Integer qSQl = "Select * from ms_plg" rsFields.Open qSQl, cnn, 3, 4 nFCount = rsFields.Fields.Count For i = 0 To nFCount - 1 cboFields.AddItem rsFields(i).Name cboSortBy.AddItem rsFields(i).Name Next i rsFields.Close End Sub Private Sub imgClose_Click() Unload Me End Sub Private Sub imgFind_Click() cmdGoFind_Click End Sub Private Sub lblFind_Click() cmdGoFind_Click End Sub Private Sub optSortAsc_Click() cboSortBy_Click End Sub Private Sub optSortDesc_Click() cboSortBy_Click End Sub Private Sub txtInput_KeyPress(Index As Integer, KeyAscii As Integer) If Index = 0 Then If KeyAscii = 13 And txtInput(Index).Text <> "" Then qSQl = "Select * from ms_plg Where kd_plg = '" & txtInput(Index).Text & "'" rsCust.Open qSQl, cnn, 3, 4 If Not rsCust.RecordCount = 0 Then txtInput(1).Text = rsCust("nm_plg").Value

210

txtInput(2).Text = IIf(IsNull(rsCust("alm_plg").Value), "", rsCust("alm_plg").Value) txtInput(3).Text = IIf(IsNull(rsCust("kota_plg").Value), "", rsCust("kota_plg").Value) txtInput(4).Text = IIf(IsNull(rsCust("telp_plg").Value), "", rsCust("telp_plg").Value) txtInput(5).Text = IIf(IsNull(rsCust("fax_plg").Value), "", rsCust("fax_plg").Value) txtInput(6).Text = IIf(IsNull(rsCust("hp_plg").Value), "", rsCust("hp_plg").Value) txtInput(7).Text = IIf(IsNull(rsCust("attn_plg").Value), "", rsCust("attn_plg").Value) chkActive.Value = IIf(rsCust("isActive").Value, Checked, Unchecked) cmdAction(1).Enabled = True cmdAction(2).Enabled = True Else clear_Fields cmdAction(1).Enabled = False cmdAction(2).Enabled = False End If rsCust.Close Else clear_Fields cmdAction(1).Enabled = False cmdAction(2).Enabled = False End If End If End Sub Private Sub clear_Fields() For i = 1 To 7 txtInput(i).Text = "" Next chkActive.Value = Unchecked End Sub Private Sub txtKeyWord_KeyPress(KeyAscii As Integer) cmdGoFind_Click End Sub frmEntryPembayaran Dim rsKwitansi As New ADODB.Recordset Dim noByr As String Private Sub cmdAction_Click(Index As Integer) Select Case Index Case 2: 'entry Pembayaran baru cmdAction(7).Enabled = True clear_Fields_Kwitansi Case 6: 'cancel clear_Fields_Kwitansi Case 7: 'Save Pembayaran UpdateMs_Kwitansi Add_Tr_Byr updateSuccesfull End Select End Sub Private Sub updateSuccesfull() MsgBox "Status tagihan sudah berhasil dibayar", vbInformation, "Terima kasih" cmdAction(7).Enabled = False txtInput(0).Text = "" clear_Fields_Kwitansi End Sub

211

Private Sub UpdateMs_Kwitansi() qSQl = "Select * from ms_Kwitansi Where no_Kwitansi = '" & txtKwi(0).Text & "'" rsKwitansi.Open qSQl, cnn, adOpenDynamic, adLockPessimistic With rsKwitansi .Fields("no_byr").Value = txtKwi(2).Text .Fields("isPaid").Value = True .Update End With rsKwitansi.Close End Sub Private Sub Add_Tr_Byr() Dim rsBayar As New ADODB.Recordset qSQl = "Select * from tr_byr" rsBayar.Open qSQl, cnn, adOpenDynamic, adLockPessimistic With rsBayar .AddNew .Fields("No_byr").Value = txtKwi(2).Text .Fields("No_STTB").Value = txtKwi(1).Text .Fields("tgl_byr").Value = txtKwi(11).Text .Fields("jml_byr").Value = txtKwi(4).Text .Fields("ket_byr").Value = txtKwi(9).Text .Update End With 'update user transaction date qSQl = "Update ms_plg Set Last_Trans_Date = '" & Format(Date, "dd/mm/yyyy") & "' Where kd_plg = '" & txtInput(26).Text & "'" cnn.Execute qSQl End Sub Private Sub Form_Load() ssTransaksiWizard.Tab = 0 Me.Width = 15100 Me.Height = 9585 End Sub Private Sub Frame10_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) For i = 2 To 3 lblBackAction(i).BackStyle = 0 Next i End Sub Private Sub imgClose_Click() Unload Me End Sub Private Sub imgFind_Click(Index As Integer) Select Case Index Case 1: 'lihat daftar tagihan Daftar_Tagihan.Tag = "carikwitansi" Daftar_Tagihan.Show vbModal End Select End Sub Private Function getPembayaranDate(no_Byr As String) Dim rsTranByr As New ADODB.Recordset qSQl = "Select * from tr_byr Where No_Byr = '" & no_Byr & "'" rsTranByr.Open qSQl, cnn, 3, 4 getPembayaranDate = Format(rsTranByr("tgl_byr").Value, "dd-mmm-YYYY") rsTranByr.Close End Function Private Sub GetLastNoBayar() Dim kodeTahun As String

212

Dim rsTranByr As New ADODB.Recordset qSQl = "Select * from tr_byr Where no_byr like 'B" & kodeTahun & "%'" rsTranByr.Open qSQl, cnn, 3, 4 kodeTahun = Right(Year(Date), 2) noByr = "B" & kodeTahun & Format(rsTranByr.RecordCount + 1, "0000") rsTranByr.Close End Sub Private Sub lblAction_Click(Index As Integer) Select Case Index Case 3: 'cetak cmdAction_Click 8 Case 2: 'bayar cmdAction_Click 7 End Select End Sub Private Sub lblAction_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) lblBackAction(Index).BackStyle = 1 End Sub Private Sub ssTransaksiWizard_Click(PreviousTab As Integer) If PreviousTab = 0 Then If txtKwi(1).Text = "" Then MsgBox "invalid Kwitansi number" ssTransaksiWizard.Tab = 0 End If End If End Sub Private Sub txtKwi_Change(Index As Integer) If Index = 5 Then If IsNumeric(txtKwi(5).Text) And IsNumeric(txtKwi(4).Text) Then txtKwi(6).Text = FormatNumber(txtKwi(5).Text - txtKwi(4).Text, 0) 'txtKwi(5).Text = FormatNumber(txtKwi(5).Text, 0) End If End If End Sub Public Sub txtKwi_KeyPress(Index As Integer, KeyAscii As Integer) If Index = 0 Then ' No Kwitansi If KeyAscii = 13 And txtKwi(Index).Text <> "" Then qSQl = "Select * from qINQPembayaran Where No_Kwitansi = '" & txtKwi(0).Text & "'" rsKwitansi.Open qSQl, cnn, 3, 4 If Not rsKwitansi.RecordCount = 0 Then txtKwi(1).Text = IIf(IsNull(rsKwitansi("No_STTB").Value), "", rsKwitansi("No_STTB").Value) If (rsKwitansi("isPaid").Value = False) Then 'belum dibayar EnabledFields 'getLastNo Pembayaran GetLastNoBayar txtKwi(2).Text = noByr fraStatus.Visible = False Else fraStatus.Visible = True lblDatePembayaran = getPembayaranDate(rsKwitansi("No_Byr").Value) txtKwi(2).Text = rsKwitansi("No_Byr").Value DisabledFields End If txtKwi(3).Text = Format(rsKwitansi("tgl_kwitansi").Value, "dd-MMM-yyyy") txtKwi(4).Text = FormatNumber(rsKwitansi("nominal").Value, 0)

213

txtKwi(7).Text = rsKwitansi("kd_plg").Value txtKwi(8).Text = rsKwitansi("nm_plg").Value txtKwi(10).Text = IIf(IsNull(rsKwitansi("cara_byr").Value), "", rsKwitansi("cara_byr").Value) txtKwi(11).Text = Format(Date, "dd-MMM-YYYY") setInfoTransaksi Else clear_Fields_Kwitansi fraStatus.Visible = False End If rsKwitansi.Close Else clear_Fields_Kwitansi fraStatus.Visible = False End If End If If Index = 5 And IsNumeric(txtKwi(5).Text) And KeyAscii = 13 Then txtKwi(5).Text = FormatNumber(txtKwi(5).Text, 0) End If End Sub Private Sub setInfoTransaksi() Dim rsCust As New ADODB.Recordset txtInput(26).Text = rsKwitansi("kd_plg").Value 'get cust information qSQl = "Select * from ms_plg Where kd_plg = '" & txtInput(26).Text & "'" rsCust.Open qSQl, cnn, 3, 4 If Not rsCust.RecordCount = 0 Then txtInput(25).Text = rsCust("nm_plg").Value txtInput(24).Text = IIf(IsNull(rsCust("alm_plg").Value), "", rsCust("alm_plg").Value) txtInput(23).Text = IIf(IsNull(rsCust("kota_plg").Value), "", rsCust("kota_plg").Value) txtInput(21).Text = IIf(IsNull(rsCust("telp_plg").Value), "", rsCust("telp_plg").Value) txtInput(22).Text = IIf(IsNull(rsCust("fax_plg").Value), "", rsCust("fax_plg").Value) txtInput(19).Text = IIf(IsNull(rsCust("hp_plg").Value), "", rsCust("hp_plg").Value) txtInput(20).Text = IIf(IsNull(rsCust("attn_plg").Value), "", rsCust("attn_plg").Value) chkActive.Value = IIf(rsCust("isActive").Value, Checked, Unchecked) cboCaraPembayaran.Enabled = rsCust("isActive").Value 'cboCaraPembayaran.Text = rsKwitansi("cara_byr").Value End If rsCust.Close txtInput(5).Text = rsKwitansi("nm_penerima").Value txtInput(6).Text = rsKwitansi("alm_penerima").Value txtInput(7).Text = rsKwitansi("kota_penerima").Value txtInput(8).Text = rsKwitansi("Telp_penerima").Value txtInput(27).Text = rsKwitansi("Nm_Agen").Value txtInput(28).Text = rsKwitansi("kd_Agen").Value txtInput(9).Text = rsKwitansi("Isi_Mp").Value txtInput(11).Text = rsKwitansi("Koli").Value txtInput(10).Text = rsKwitansi("Berat").Value txtInput(12).Text = rsKwitansi("brt_Surcharge").Value txtInput(14).Text = rsKwitansi("b_Kirim").Value txtInput(15).Text = FormatNumber(rsKwitansi("Berat").Value * rsKwitansi("B_Kirim").Value, 0) txtInput(13).Text = FormatNumber(rsKwitansi("b_Surcharge").Value, 0) txtInput(16).Text = FormatNumber(rsKwitansi("b_forklift").Value, 0) txtInput(17).Text = FormatNumber(rsKwitansi("b_peti").Value, 0)

214

txtInput(18).Text = FormatNumber(CCur(txtInput(15).Text) + CCur(txtInput(13).Text) + CCur(txtInput(16).Text) + CCur(txtInput(17).Text), 0) End Sub Private Sub clear_Fields_Kwitansi() For i = 0 To 11 txtKwi(i).Text = "" Next i EnabledFields End Sub Private Sub EnabledFields() For i = 2 To 10 txtKwi(i).Enabled = False Next i txtKwi(1).Enabled = True txtKwi(5).Enabled = True txtKwi(9).Enabled = True End Sub Private Sub DisabledFields() For i = 0 To 10 txtKwi(i).Enabled = False Next i txtKwi(0).Enabled = True End Sub Private Sub txtKwi_LostFocus(Index As Integer) If Index = 5 Then If IsNumeric(txtKwi(5).Text) Then txtKwi(5).Text = FormatNumber(txtKwi(5).Text, 0) End If End If End Sub frmAddNewUser Dim rsuser As New ADODB.Recordset Private Sub cmdCCancel_Click() Unload Me rsuser.Close Set rsuser = Nothing End Sub Private Sub cmdOK_Click() Dim sql As String If txtConPass.Text <> txtNewPass.Text Then MsgBox "New Password Must Be Same With The Confirmation Password", vbInformation, "Invalid Confirmation Password" txtNewPass.Text = "" txtConPass.Text = "" txtNewPass.SetFocus Else rsuser.MoveFirst rsuser.Find "User_ID = '" & txtCuserID.Text & "'"

215

If rsuser.EOF Then rsuser.AddNew rsuser("user_ID").Value = txtCuserID.Text rsuser("user_Name").Value = txtUName.Text rsuser("user_Group").Value = dCboGroup.BoundText rsuser("user_password").Value = txtNewPass.Text rsuser.Update MsgBox "Add New User Succesful", vbOKOnly, "EIS LG Electronics" rsuser.Close Set rsuser = Nothing Set cnn = Nothing Unload Me Else MsgBox "User ID Already In Use", vbCritical, "Invalid User ID" End If End If End Sub Private Sub Form_Load() rsuser.Open "Select * From ms_User", cnn, adOpenStatic, adLockPessimistic With adoGroup .CommandType = adCmdText .ConnectionString = sConstring .RecordSource = "Select * from ms_Group" .Refresh End With dCboGroup.Refresh End Sub Private Sub imgClose_Click() Unload Me End Sub frmChangePassword Dim rsuser As New ADODB.Recordset Private Sub cmdCCancel_Click() Unload Me 'mdiMain.staBar.Panels(1).Text = "EIS - " & mdiMain.Tag rsuser.Close Set rsuser = Nothing End Sub Private Sub cmdSave_Click() If txtConPass.Text <> txtNewPass.Text Then MsgBox "New Password Must Be Same With The Confirmation Password", vbInformation, "Invalid Confirmation Password" txtNewPass.Text = "" txtConPass.Text = "" txtNewPass.SetFocus Else rsuser("user_Password").Value = txtNewPass.Text

216

rsuser.Update MsgBox "Change Password Succesful", vbOKOnly, "EIS LG Electronics" rsuser.Close Set rsuser = Nothing Unload Me End If End Sub Private Sub Form_Load() Dim sql As String sql = "Select * From ms_User Where User_ID = '" & UID & "'" rsuser.Open sql, cnn, adOpenStatic, adLockPessimistic 'txtNewPass.SetFocus txtCuserID.Text = rsuser("user_ID").Value txtOldPass.Text = rsuser("user_password").Value End Sub Private Sub imgClose_Click() Unload Me End Sub frmEditUser Dim qSQl As String Private Sub cmdCCancel_Click() Unload Me End Sub Private Sub cmdChange_Click() If dCboGroup.Locked = True Then dCboGroup.Locked = False cmdChange.Caption = "Update" Else dCboGroup.Locked = True UpdateGroup User_Refresh cmdChange.Caption = "Change Group" End If End Sub Private Sub UpdateGroup() qSQl = "Update ms_User set user_group = '" & dCboGroup.BoundText & "' Where User_ID = '" & txtCuserID & "'" cnn.Execute qSQl MsgBox "Update Group Succesful" End Sub Private Sub cmdDelete_Click() Dim sJawab As String sJawab = MsgBox("Anda yakin hendak menghapus user " & txtUName.Text, vbYesNo, "Delete user") If sJawab = vbYes Then qSQl = "Delete * from ms_user Where user_ID = '" & txtCuserID.Text & "'" cnn.Execute qSQl MsgBox "User " & txtUName.Text & " berhasil dihapus", vbInformation, "Hapus berhasil"

217

User_Refresh dGridUser_Click End If End Sub Private Sub dGridUser_Click() txtCuserID.Text = dGridUser.Columns("User_ID").Value txtUName.Text = dGridUser.Columns("User_Name").Value dCboGroup.Text = dGridUser.Columns("Group_Name").Value End Sub Private Sub User_Refresh() With adoUser .CommandType = adCmdText .ConnectionString = sConstring .RecordSource = "Select * from qINQUser" .Refresh End With dGridUser.Refresh End Sub Private Sub Form_Load() User_Refresh With adoGroup .CommandType = adCmdText .ConnectionString = sConstring .RecordSource = "Select * from ms_Group" .Refresh End With dCboGroup.Refresh txtCuserID.Locked = True txtUName.Locked = True dCboGroup.Locked = True End Sub Private Sub imgClose_Click() Unload Me End Sub Cetak_Laporan_Pembayaran Private Sub cmdAction_Click(Index As Integer) Select Case Index Case 0: 'SetAdo Cetak Case 1: Unload Me End Select End Sub Private Sub Cetak() With cRPT .ReportFileName = App.Path & "\report\cetakLPB1.rpt" ' .SelectionFormula = "{ado.tgl_STTB} is Between Date(05,01,01,00,00,00) and Date(05,01,01,00,00,00)" '.SelectionFormula = "{ado.tgl_STTB} = %12/05/2005%" 'Crp_Penjualan.SelectionFormula = "year({Jual.TgFak})=" & Year(DTPicker1) & " and Month({Jual.TgFak})=" & Month(DTPicker1) & " and Day({Jual.TgFak})=" & Day(DTPicker1) & " and { Jual.KodePlg}='" & DataCombo1.Text & "'" '.ParameterFields("?Test") = "CunCun" 'CrystalReport1.ParameterFields(0) = "parameter1;red;TRUE"

218

.SelectionFormula = "year({ado.tgl_byr})= " & Year(dtYear) & " and Month({ado.tgl_byr})= " & Month(dtMonth) .Destination = crptToWindow .WindowState = crptMaximized .RetrieveDataFiles .Action = 1 End With End Sub Private Sub Command1_Click(Index As Integer) End Sub Private Sub Form_Load() End Sub Private Sub imgClose_Click() Unload Me End Sub Cetak_Laporan_Penerimaan_Kas Private Sub cmdAction_Click(Index As Integer) Select Case Index Case 0: 'SetAdo Cetak Case 1: Unload Me End Select End Sub Private Sub Cetak() With cRPT .ReportFileName = App.Path & "\report\cetakPK1.rpt" .SelectionFormula = "year({ado.tgl_byr})= " & Year(dtYear) & " and Month({ado.tgl_byr})= " & Month(dtMonth) .Destination = crptToWindow .WindowState = crptMaximized .RetrieveDataFiles .Action = 1 End With End Sub Private Sub Form_Load() End Sub Private Sub imgClose_Click() Unload Me End Sub

219

Cetak_Laporan_Penjualan_Harian Private Sub cmdAction_Click(Index As Integer) Select Case Index Case 0: 'SetAdo Cetak End Select End Sub Private Sub Cetak() With cRPT .ReportFileName = App.Path & "\report\cetakTH1.rpt" ' .SelectionFormula = "{ado.tgl_STTB} is Between Date(05,01,01,00,00,00) and Date(05,01,01,00,00,00)" '.SelectionFormula = "{ado.tgl_STTB} = %12/05/2005%" 'Crp_Penjualan.SelectionFormula = "year({Jual.TgFak})=" & Year(DTPicker1) & " and Month({Jual.TgFak})=" & Month(DTPicker1) & " and Day({Jual.TgFak})=" & Day(DTPicker1) & " and { Jual.KodePlg}='" & DataCombo1.Text & "'" .SelectionFormula = "year({ado.tgl_STTB})= " & Year(dTime) & " and Month({ado.tgl_STTB})= " & Month(dTime) & " and Day({ado.tgl_STTB})=" & Day(dTime) .Destination = crptToWindow .WindowState = crptMaximized .RetrieveDataFiles .Action = 1 End With End Sub Private Sub Form_Load() dTime.Value = Date End Sub Private Sub imgClose_Click() Unload Me End Sub Cetak_Laporan_Penjualan_Bulanan Private Sub cmdAction_Click(Index As Integer) Select Case Index Case 0: 'SetAdo Cetak Case 1: Unload Me End Select End Sub Private Sub Cetak() With cRPT .ReportFileName = App.Path & "\report\cetakTB1.rpt" ' .SelectionFormula = "{ado.tgl_STTB} is Between Date(05,01,01,00,00,00) and Date(05,01,01,00,00,00)" '.SelectionFormula = "{ado.tgl_STTB} = %12/05/2005%" 'Crp_Penjualan.SelectionFormula = "year({Jual.TgFak})=" & Year(DTPicker1) & " and Month({Jual.TgFak})=" & Month(DTPicker1) & " and Day({Jual.TgFak})=" & Day(DTPicker1) & " and { Jual.KodePlg}='" & DataCombo1.Text & "'" .SelectionFormula = "year({ado.tgl_STTB})= " & Year(dtYear) & " and Month({ado.tgl_STTB})= " & Month(dtMonth) .Destination = crptToWindow .WindowState = crptMaximized

220

.RetrieveDataFiles .Action = 1 End With End Sub Private Sub Command1_Click(Index As Integer) End Sub Private Sub Form_Load() End Sub Private Sub imgClose_Click() Unload Me End Sub frmKeluar Private Sub cmdAction_Click(Index As Integer) Select Case Index Case 0: LoggOff Case 1: Unload Me End Select End Sub Private Sub LoggOff() Select Case cboTipe.ListIndex Case 0: End Case 1: Unload Me Unload mdiMain frmLogin.Show vbModal End Select End Sub Private Sub Form_Load() cboTipe.ListIndex = 0 End Sub modGeneral Public cnn As New ADODB.Connection Public sConstring As String Public UID As String Public uGRoup As String Public byForklif As Currency Public pSurchage As Single Public BtsBrtSurchage As Integer

221

Sub Main() Dim qSQl As String sConstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Database\access.mdb;Persist Security Info=False" cnn.Open sConstring ' frmAddInhernRiskComponent.Show 'frmFormulaCreate.Show 'Entry_STTB_Kembalian.Show 'frmAgent.Show 'Daftar_Agen.Show 'Daftar_Harga.Show 'frmInfoHarga.Show 'frmDaftarHarga.Show 'Daftar_Pelanggan.Show ''Daftar_Tagihan.Show 'mdiMain.Show 'Cetak_Laporan_Pembayaran.Show 'frmStatusPelanggan.Show 'frmTRansaksiPengiriman.Show 'frmInformasiTransaksi.Show 'Cetak_SP.Show 'frmSplashScreen.Show 'frmAddNewUser.Show ' UID = "CUN" ' uGRoup = "ADM" ' mdiMain.Show 'frmChangePassword.Show 'frmEditUser.Show 'frmStatusPelanggan.Show 'frmStatusPelanggan.Show 'Cetak_Laporan_Penjualan_Harian.Show 'Cetak_Laporan_Penjualan_Bulanan.Show 'Cetak_Laporan_Pembayaran.Show 'Cetak_Laporan_Penerimaan_Kas.Show 'frmLogin.Show vbModal frmSplashScreen.Show 'mdiMain.Show 'Daftar_Tagihan.Show End Sub Public Sub GetLastUpdatePrice() Dim rsKota As New ADODB.Recordset Dim qSQl As String Dim cLastPrice As Currency Dim kd_kota As String Dim nm_kota As String qSQl = "Delete from Ms_harga_used" cnn.Execute qSQl qSQl = "Select * from ms_kota order by kd_kota" rsKota.Open qSQl, cnn, adOpenDynamic, adLockOptimistic With rsKota .MoveFirst Do While Not .EOF kd_kota = .Fields("kd_kota").Value nm_kota = .Fields("nm_kota").Value cLastPrice = getHargaTerakhir(kd_kota) qSQl = "Insert Into Ms_harga_used values( '" & kd_kota & "','" & nm_kota & "'," & cLastPrice & ")" cnn.Execute qSQl .MoveNext Loop

222

End With End Sub Private Function getHargaTerakhir(kd_kota As String) Dim rsHarga As New ADODB.Recordset qSQl = "Select * from ms_hrg where kd_kota = '" & kd_kota & "' AND tgl_berlaku <= #" & Format(Date, "MM/DD/YYYY") & "# Order by Tgl_berlaku DESC" rsHarga.Open qSQl, cnn, adOpenDynamic, adLockOptimistic If Not rsHarga.EOF Then getHargaTerakhir = IIf(IsNull(rsHarga("harga_kg").Value), "0", rsHarga("harga_kg").Value) Else getHargaTerakhir = 0 End If rsHarga.Close End Function

Tampilan Layar Log In

223

Tampilan Layar Login

224

Tampilan Layar Menu Utama

Tampilan Layar Pengiriman Info Harga & Tujuan

225

Tampilan Layar Pengiriman Info Transaksi

226

Tampilan Layar Pengiriman Info Pembayaran

227

Tampilan Layar Pendataan STTB Kembalian

228

Tampilan Layar Cetak Surat Pengantar

229

Tampilan Layar Daftar Agen

230

Tampilan Layar Edit Daftar Agen

231

Tampilan Layar Daftar Harga

232

Tampilan Layar Daftar Harga(Info Harga)

233

Tampilan Layar Informasi Transaksi

234

Tampilan Layar Informasi Tagihan

235

Tampilan Layar Cetak Daftar Tagihan Bulanan

236

Tampilan Layar Daftar Pelanggan

237

Tampilan Layar Entry Pembayaran

Tampilan Layar Tools Add New User

238

Tampilan Layar Tools Change Password

Tampilan Layar Tools Edit User

239

Tampilan Layar Cetak Laporan Pembayaran

Tampilan Layar Cetak Laporan Penerimaan Kas

240

Tampilan Layar Cetak Laporan Penjualan Harian

Tampilan Layar Cetak Laporan Penjualan Bulanan

241

Tampilan Layar Log Off

242

ANALISIS DAN PERANCANGAN SISTEM INFORMASI

PENJUALAN DAN PENERIMAAN KAS PADA

PT. ARGOTAMA MEGA BUANA

TUGAS AKHIR

Disusun oleh :

Florensia Yossy Natalia Yanti

0600615186 0600650680 0600659326

Disetujui oleh :

Pembimbing

Joni Suhartono, S.Kom., MM.

Kd.Dsn : D1619

UNIVERSITAS BINA NUSANTARA

JAKARTA

2005