www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
APLIKASI PEMBAYARAN SPP VB 6.0 Peminat silakan hubungi : Email :
[email protected] Facebook :
[email protected] (Uus Rusmawan) Phone : 0812 8438 1118 Program ini digunakan di setiap institusi pendidikan baik formal maupun non formal seperti di TK, SD, SMP, SMU, AMIK dan sekolah tinggi. Program ini dibuat sesimpel mungkin dengan mengakomidasi berbagai kebutuhan informasi yang diperlukan.
7.1 Merancang Database Dan Bentuk Relasi Tabel Langkah awal yang harus dilakukan dalam pembuatan program Pembayaran SPP ini adalah : 1.
Membuat database dengan nama DBSPP.mdb
2.
Membuat tabel MAHASISWA, yang terdiri dari field : •
NIM
•
Nama
•
Kelas
•
Jurusan
Catatan : Pembaca dipersilakan untuk menambahkan field yang dianggap perlu, seperti field jenis kelamin, agama, asal sekolah, alamat, telepon dan sebagainya.
3.
4.
5.
Membuat tabel KASIR, yang terdiri dari field : •
Kode kasir
•
Nama kasir
•
Password Kasir
Membuat tabel SPP, yang terdiri dari field : •
Nomor
•
NIM
•
Tanggal
•
Jumlah
•
Kode Kasir
Membuat tabel TUNGGAKAN, yang terdiri dari field :
1
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
6.
•
Nim
•
Nama
•
Bulan
•
Jumlah
Membuat tabel temporer untuk mencari data tunggakan, yang terdiri dari field : •
Nomor
•
Nim
•
Nama
•
Bulan
•
Jumlah
Demikianlah ilustrasi awal rancangan database untuk program Pembayaran SPP ini. Langkah selanjutnya adalah membuat project di VB. Bentuk relasi tabel dalam program Pembayaran SPP ini terlihat pada gambar di bawah ini :
Gambar 7.1 Relasi Tabel Program Pembayaran SPP
7.2
Membuat Modul
Hal ini dibuat agar melakukan koneksi ke database cukup dengan memanggil nama prosedurnya saja. Lakukanlah langkah di bawah ini : •
Buka VB
•
Klik menu project
•
Pilih add module
•
Klik open
•
Kemudian ketiklah koding di bawah ini :
2
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Public Public Public Public
Conn As New ADODB.Connection RSSPP As ADODB.Recordset RSMAHASISWA As ADODB.Recordset RSKASIR As ADODB.Recordset
Public Sub BukaDB() Set Conn = New ADODB.Connection Set RSSPP = New ADODB.Recordset Set RSMAHASISWA = New ADODB.Recordset Set RSKASIR = New ADODB.Recordset Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DBSPP.mdb" End Sub
7.3 Login Setelah membuat module, buatlah form login kasir dengan bentuk seperti gambar di bawah ini.
Gambar 7.2 Login kasir
7.4 Data mahasiswa Setelah membuat form login kasir, buatlah form Mahasiswa dengan bentuk seperti gambar di bawah ini.
3
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Gambar 7.3 Data Mahasiswa
Proses dalam form ini adalah sebgaai berikut: Input data dilakukan dengan memilih jurusan terlebih dahulu, jika jurusannya MI, maka program akan mencari berapa jumlah mahasiswa yang sudah mendaftar di jurusan MI, jika jumlah 0 – 5 maka dia termasuk kelas MI1A, jika 6 – 10 maka masuk ke kelas MI1B dan seterusnya. Dan proses input ini dibuat autonumber dengan pola nim YY99999. YY adalah tahun masuk 99 adalah jurusan (01 = MI, 02, KA dan 03 = TK), 999 adalah nomor urut. Adapun edit data cukup dengan mengetik NIM saja.
7.5 Pembayaran SPP Kemudian buatlah form untuk mengolah transaksi pembayaran SPP dengan bentuk seperti gambar di bawah ini :
Gambar 7.4 Pembayaran SPP
Proses dalam form pembayaran SPP ini adalah sebgai berikut: Input data dilakukan dengan memilih NIM dalam combo atau mengetiknya, jika siswa tersebut telah melakukan pembayaran maka akan tampil data pembayarannya dalam list, jika siswa tersebut belum bayar pada bulan yang bersangkutan maka setelah memilih NIM kursor akan menuju ke jumlah pembayaran. Jika jumlah pembayaran masih kosong dan data disimpan maka muncul pesan bahwa jumlah pembayaran masih kosong. Nomor pembayaran akan muncul secara otomatis. Jika pembayaran telah dilakukan maka akan tampil kwitansi pembayarannya yang telah dirancang dengan Crystal Report.
4
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 7.5 Kwitansi Pembayaran SPP
7.6
Mencari Data Tunggakan
Proses selanjutnya adalah mencari data tunggakan. Proses dalam program ini adalah sebagai berikut : Tahap awal adalah memilih bulan dan tahun berapa data tunggakan yang akan ditampilkan. Jika bulan dan tahun tunggakan lebih besar dari bulan dan tahun sekarang, maka akan tampil pesan bahwa tunggakan bulan tersebut tidak dapat diproses. Jika bulan dan tahun tunggakan lebih kecil dari tanggal sekarang maka secara otomatis tgl akhir pembayarannya adalah tanggal 5 bulan tersebut. Jika tanggal akhir pembayaran lebih kecil dari tanggal saat ini maka proses tunggakanpun tidak dapat diproses. Jika pilihan tunggakan sudah sesuai persyaratan maka klik command tampilkan data tunggakan, setelah itu grid akan menampilkan datanya. Untuk menyimpan data tersbut klik command simpan data tunggakan. Jika data tunggakan pada bulan dan tahun yang sama disimpan dua kali, maka akan tampil pesan.
5
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 7.6 Mencari Data Tunggakan
Koding : Private Sub Form_Load() TGLSEKARANG = Date Call BukaDB Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DBSPP.mdb" Adodc1.RecordSource = "TRTUNGGAKAN" Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.Refresh Call Tabel_Kosong End Sub Private Sub Command1_Click() 'tgl akhir pembayaran ditentukan tgl 5 setiap bulannya TGLAKHIR = "05" + "/" + Mid(BLNTUNGGAKAN, 4, 2) + "/" + Right(BLNTUNGGAKAN, 2) 'jika tgl akhir pembayarn > dari tanggal saat ini, maka tampilkan pesan If CDate(TGLAKHIR) > CDate(TGLSEKARANG) Then Call Tabel_Kosong MsgBox "TUNGGAKAN BULAN " & Format(TGLAKHIR, "MMMM") & " TAHUN " & Format(TGLAKHIR, "YYYY") & " TIDAK DAPAT DIPROSES" & Chr(13) & _ "CARI BULAN DAN TAHUN YANG LEBIH KECIL DARI BULAN DAN TAHUN HARI INI" BLNTUNGGAKAN.SetFocus Exit Sub Else 'jika tgl akhir lebih kecil dari gl sekarang, maka lakupan proses pencarian tunggakan Call BukaDB Dim RSCARI1 As New ADODB.Recordset 'cari data di tabel mahasiswa dan spp yang nim di di tabel mahasiswa tidak ada di tabel spp
6
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi 'dan bulannya lebih kecil dari tgl akhir pembayaran RSCARI1.Open "SELECT DISTINCT MAHASISWA.NIM,NAMA,TANGGAL FROM MAHASISWA,SPP WHERE MAHASISWA.NIM NOT IN " & _ "(SELECT NIM FROM SPP WHERE MONTH(TANGGAL) <=CDATE(MONTH('" & TGLAKHIR & "')))", Conn 'jika data ditemukan maka tampilkan dalam grid If Not RSCARI1.EOF Then Call Tabel_Kosong RSCARI1.MoveFirst NOMOR = 0 Do While Not RSCARI1.EOF NOMOR = NOMOR + 1 Adodc1.Recordset.AddNew Adodc1.Recordset!NO = NOMOR Adodc1.Recordset!NIM = RSCARI1!NIM Adodc1.Recordset!NAMA = RSCARI1!NAMA Adodc1.Recordset!BULAN = TGLAKHIR Adodc1.Recordset!JUMLAH = 130000 Adodc1.Recordset.Update RSCARI1.MoveNext Loop Adodc1.Recordset.MoveFirst Conn.Close Else 'jika data tidak ditemukan, maka ambil datanya langsung dari tabel mahasiswa dan tampilkan dalam grid Call BukaDB Dim RSCARI2 As New ADODB.Recordset RSCARI2.Open "SELECT MAHASISWA.NIM,NAMA FROM MAHASISWA ", Conn Call Tabel_Kosong RSCARI2.MoveFirst NOMOR = 0 Do While Not RSCARI2.EOF NOMOR = NOMOR + 1 Adodc1.Recordset.AddNew Adodc1.Recordset!NO = NOMOR Adodc1.Recordset!NIM = RSCARI2!NIM Adodc1.Recordset!NAMA = RSCARI2!NAMA Adodc1.Recordset!BULAN = TGLAKHIR Adodc1.Recordset!JUMLAH = 130000 Adodc1.Recordset.Update RSCARI2.MoveNext Loop Adodc1.Recordset.MoveFirst End If End If 'Text1 = Adodc1.Recordset.RecordCount & " ORANG" End Sub Private Sub Command1_KeyPress(Keyascii As Integer) If Keyascii = 27 Then Unload Me End Sub 'jika datagrid masih kosong, kemudian coba disimpan 'maka tampilkan pesan bahwa data tidak dapat disimpan Private Sub Command2_Click() If Adodc1.Recordset.RecordCount = 0 Then MsgBox "TIDAK ADA DATA YANG DAPAT DISIMPAN" & Chr(13) & _ "PILIH BULAN DAN TAHUN YANG BENAR" BLNTUNGGAKAN.SetFocus Exit Sub Else 'jika data dalam grid tampil, maka Call BukaDB 'cari data yang bulan dan tahun tunggakannya sama dengan bulan dan tahun tgl akhir pembayaran
7
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi RSTUNGGAKAN.Open "SELECT * FROM TUNGGAKAN WHERE MONTH(BULAN)=MONTH('" & TGLAKHIR & "') AND YEAR(BULAN)=YEAR('" & TGLAKHIR & "')", Conn 'jika data tidak ditemukan maka simpan data dalam grid ke tabel tunggakan If RSTUNGGAKAN.EOF Then Adodc1.Recordset.MoveFirst Do While Not Adodc1.Recordset.EOF Dim SIMPANTUNGGAKAN As String SIMPANTUNGGAKAN = "INSERT INTO TUNGGAKAN(NIM,NAMA,BULAN,JUMLAH) VALUES " & _ "('" & Adodc1.Recordset!NIM & "','" & Adodc1.Recordset!NAMA & "','" & TGLAKHIR & "','" & Adodc1.Recordset!JUMLAH & "')" Conn.Execute SIMPANTUNGGAKAN Adodc1.Recordset.MoveNext Loop Call Tabel_Kosong MsgBox "DATA TELAH BERHASIL DISIMPAN" Else 'jika data telah ada, maka tampilkan pesan bahwa data telah disimpan sebelumnya MsgBox "DATA TELAH DISIMPAN SEBELUMNYA" Call Tabel_Kosong End If End If End Sub 'prosedur untuk mengosongkan tabel transaksi Function Tabel_Kosong() If Adodc1.Recordset.RecordCount > 0 Then Adodc1.Recordset.MoveFirst Do While Not Adodc1.Recordset.EOF Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext Loop End If End Function
7.7
Pembayaran Tunggakan
Setelah pencarian tunggakan SPP dilakukan, langkah selanjutnya adalah proses pembayaran tunggakan. Pola program ini hampir sama dengan pembayaran SPP sebelumnya. Buatlah form dengan bentuk seperti gambar di bawah ini.
8
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 7.7 Pembayaran Tunggakan
7.8 Pembuatan Laporan 7.8.1 Laporan SPP per nim dan per kelas Setelah proses pembayaran SPP, pencarian tunggakan dan pembayaran tunggakan selesai, langkah berikutnya adalah membuat laporan. Laporan pertama adalah laporan pembayaran SPP berdasarkan NIM dan berdasarkan kelas. Buatlah form dengan bentuk seperti gambar di bawah ini.
Gambar 7.8 Laporan Pembayaran SPP
9
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Koding : Private Sub Form_Load() Call BukaDB RSSPP.Open "Select Distinct NIM From SPP order By 1", Conn RSSPP.Requery Do Until RSSPP.EOF Combo1.AddItem RSSPP!NIM RSSPP.MoveNext Loop Dim RSTHN As New ADODB.Recordset RSTHN.Open "select distinct year(TANGGAL) Do While Not RSTHN.EOF Combo2.AddItem RSTHN!Tahun Combo4.AddItem RSTHN!Tahun RSTHN.MoveNext Loop
as Tahun from SPP", Conn
RSMAHASISWA.Open "Select Distinct KELAS FROM MAHASISWA order By 1", Conn RSMAHASISWA.Requery Do Until RSMAHASISWA.EOF Combo3.AddItem RSMAHASISWA!KELAS RSMAHASISWA.MoveNext Loop Conn.Close End Sub Private Sub Command1_Click() Call BukaDB RSSPP.Open "SELECT * FROM SPP WHERE NIM='" & Combo1 & "' AND YEAR(TANGGAL)='" & Combo2 & "'", Conn If RSSPP.EOF Then MsgBox "DATA TIDAK DITEMUKAN" Exit Sub Else CR.SelectionFormula = "{SPP.NIM}='" & Combo1 & "' and Year({SPP.TANGGAL})=" & Val(Combo2.Text) CR.ReportFileName = App.Path & "\Lap spp per nim.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End If End Sub Private Sub Command2_Click() Call BukaDB RSSPP.Open "SELECT KELAS,TANGGAL FROM MAHASISWA,SPP WHERE MAHASISWA.NIM=SPP.NIM AND KELAS='" & Combo3 & "' AND YEAR(TANGGAL)='" & Combo4 & "'", Conn If RSSPP.EOF Then MsgBox "DATA TIDAK DITEMUKAN" Exit Sub Else CR.SelectionFormula = "{MAHASISWA.KELAS}='" & Combo3 & "' and Year({SPP.TANGGAL})=" & Val(Combo4.Text) CR.ReportFileName = App.Path & "\Lap spp per KELAS.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End If End Sub
Hasil laporan terlihat pada gambar di bawah ini.
10
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 7.9 Laporan Pembayaran SPP Per Siswa
Gambar 7.10 Laporan Pembayaran SPP Per Kelas
7.8.2 Laporan SPP Per Hari, Per Minggu Dan Per Bulan Laporan berikutnya adalah laporan pembayaran SPP berkala (harian, mingguan dan bulanan), untuk itu buatlah form dengan bentuk seperti gambar di bawah ini. Laporan inilah yang paling sering diminta oleh pihak-pihak yang terkait.
11
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 7.11 Laporan Harian, Mingguan Dan Bulanan
Koding : Private Sub Form_Load() Call BukaDB RSSPP.Open "Select Distinct TANGGAL From RSSPP.Requery Do Until RSSPP.EOF Combo1.AddItem Format(RSSPP!TANGGAL, Combo2.AddItem Format(RSSPP!TANGGAL, Combo3.AddItem Format(RSSPP!TANGGAL, RSSPP.MoveNext Loop Conn.Close
SPP order By 1", Conn
"DD-MMM-YYYY") "YYYY ,MM, DD") "YYYY ,MM, DD")
Call BukaDB Dim RSTGL As New ADODB.Recordset RSTGL.Open "select distinct month(TANGGAL) as Bulan from SPP", Conn Do While Not RSTGL.EOF Combo4.AddItem RSTGL!BULAN & Space(5) & MonthName(RSTGL!BULAN) RSTGL.MoveNext Loop Conn.Close Call BukaDB Dim RSTHN As New ADODB.Recordset RSTHN.Open "select distinct year(TANGGAL) Do While Not RSTHN.EOF Combo5.AddItem RSTHN!Tahun RSTHN.MoveNext Loop Conn.Close End Sub
as Tahun from SPP", Conn
Private Sub Command1_Click() If Combo1 = "" Then MsgBox "PILIH TANGGALNYA DULU..." Exit Sub Else CR.SelectionFormula = "Totext({SPP.TANGGAL})='" & CDate(Combo1) & "'"
12
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi CR.ReportFileName = App.Path & "\Lap SPP Harian.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End If End Sub Private Sub Command2_Click() If Combo2 = "" Or Combo3 = "" Then MsgBox "PILIH TANGGAL AWAL DAN TANGGAL AKHIRNYA..." Exit Sub Else CR.SelectionFormula = "{SPP.TANGGAL} in date (" & Combo2.Text & ") to date (" & Combo3.Text & ")" CR.ReportFileName = App.Path & "\Lap SPP Mingguan.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End If End Sub Private Sub Command3_Click() If Combo4 = "" Or Combo5 = "" Then MsgBox "PILIH BULAN DAN TAHUNYA DULU..." Exit Sub Else Call BukaDB RSSPP.Open "select * from SPP where month(TANGGAL)='" & Val(Combo4) & "' and year(TANGGAL)='" & (Combo5) & "'", Conn If RSSPP.EOF Then MsgBox "Data tidak ditemukan" Exit Sub Combo4.SetFocus End If CR.SelectionFormula = "Month({SPP.TANGGAL})=" & Val(Combo4.Text) & " and Year({SPP.TANGGAL})=" & Val(Combo5.Text) CR.ReportFileName = App.Path & "\Lap SPP Bulanan.rpt" CR.WindowState = crptMaximized CR.RetrieveDataFiles CR.Action = 1 End If End Sub
Hasil laporan berkala dapat dilihat pada beberapa gambar di bawah ini.
13
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Gambar 7.12 Laporan Pembayaran SPP Harian
Gambar 7.13 Laporan Pembayaran SPP Mingguan
Gambar 7.14 Laporan Pembayaran SPP Bulanan
7.8.3 Laporan Tunggakan SPP
14
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Hal yang tidak kalah pentingnya dalam pembuatan laporan adalah laporan tunggakan. Dalam hal ini laporan tunggakan dibagi dua bentuk yaitu laporan tunggakan per bulan dan per kelas. Buatlah form dengan bentuk seperti gambar di bawah ini.
Gambar 7.15 Laporan Tunggakan
Hasil laporan tunggakan SPP dapat di lihat pada gambar di bawah ini.
Gambar 7.16 Laporan Tunggakan SPP Bulanan
15
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Gambar 7.17 Laporan Tunggakan SPP Per Kelas
16