www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
APLIKASI PEMBAYARAN SPP - SQL SERVER Peminat silakan hubungi : Email :
[email protected] Facebook :
[email protected] (Uus Rusmawan) Phone : 0812 8438 1118
Membuat Database Dengan Sql Server 2005 Express Untuk menjalankan aplikasi pembayaran SPP, anda harus melakukan langkah-langkah yang sudah dibahas pada bab operasi database terutama pada langkah attach atau restore database dan membuat DSN. Membuat database umumnya dilakukan dengan cara sebagai berikut: 1.
Buka SQL server 2005 Express
2.
Isilah user name dan password (jika ada)
3.
Kemudian klik Connect dan tunggu hingga sql server terbuka
4.
Kemudian klik kanan databases > new database
5.
Tulis nama database misal DBSPP > OK
6.
Selanjutnya buatlah beberapa tabel sesuai kebutuhan
Ilustrasi cara membuat database dapat dilihat pada gambar-gambar di bawah ini dengan mengikutipetunjuk kursor pada setiap gambar.
1
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Login sql server
Membuat database baru
2
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Memberi nama database Membuat Tabel Beberapa tabel yang harus dibuat untuk keperluan aplikasi pembayaran SPP antara lain : 1.
Tabel User
2.
Tabel Siswa
3.
Tabel Guru
4.
Tabel WaliKelas
5.
Tabel SPP
Struktur masing-masing tabel dapat dilihat pada gambar-gambar berikut ini :
3
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Bentuk relasi tabel dapat dilihat pada ilustrasi di bawah ini. Gambar ini diambil dari hasil relasi pada crystal report.
4
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Relasi tabel
Membuat Project Baru Tahapan selanjutnya dalam pembuatan aplikasi pembayaran SPP ini adalah : 1.
Membuat project baru
2.
Membuat module koneksi
3.
Membuat beberapa form sesuai kebutuhan
4.
Membuat coding untuk masing-masing form
5.
Membuat laporan
Catatan : nama project ini akan secara otomatis membentuk nama folder yang sama dengan nama project-nya jika opsi “Create directory for solution” di centang. Membuat Module
5
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Membuat module Tujuan utama membuat module ini adalah agar koneksi ke database cukup dibuat satu kali dan dapat digunakan berkali-kali pada semua form dalam project yang bersangkutan. Coding : Imports System.Data.SqlClient Module Module1 Public CONN As SqlConnection Public DA As SqlDataAdapter Public DS As New DataSet Public CMD As SqlCommand Public DR As SqlDataReader Public Sub Koneksi() CONN = New SqlConnection("data source=userpc\sqlexpress;initial catalog=dbspp;integrated security =true") CONN.Open() End Sub End Module Catatan : dalam buku ini sql server yang digunakan tidak memakai user name dan password.
Logika program : 1.
Setelah mengisi nama user lalu menekan enter maka kursor pindah ke password
2.
Setelah mengisi password lalu menekan enter maka kursor pindah ke button Login
3.
Pada saat Login di klik maka
6
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi 4.
Cari nama user dan password ke tabel user
5.
Jika data tidak ditemukan maka munculkan pesan “password salah”
6.
Jika data ditemukan, maka form login disembunyikan dan menu utama ditampilkan
7.
Pada Menu utama panel1 tampilkan kode user, di panel2 tampilkan nama user, di panel3 tampilkan status user
8.
jika panel3 di menu utama statusnya USER atau Operator, maka matikan menu user
Catatan : sebelumnya menu utama harus dibuat terlebih dahulu dengan menambahkan MenuStrip dan StatusStrip. Pembahasan tentang hal tersebut telah kami lakukan pada dua buku VB.NET sebelumnya.
Pada menu utama ini ditambahkan sebuah PictureBox yang akan digunakan untuk menampilkan gambar background. Properti PicturBox pada opsi Doc=FILL.
7
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Logika program dalam form User adalah sebagai berikut : 1.
Ketik kode user, maka program akan mencari kode tersebut ke tabel user
2.
Jika kodenya ditemukan maka akan tampil nama, password dan status di masing-masing textbox
3.
Jika kode user tidak ada maka akan dianggap sebagai data baru
4.
Pada saat button simpan di klik maka, program akan mencari kode tersebut ke dalam tabel user
5.
Jika kodenya tidak ada maka data tersebut akan disimpan sebagai data baru
6.
Jika kode tersebut ada maka data tersebut akan diedit.
Dalam pembuatan sebuah form, sebaiknya menggunakan GroupBox agar mengatur posisi objek-objek di dalamnya lebih mudah. Pada pembahasan selanjutnya, proses program dalam form-form master sama saja dan kode program pada proses tersebut akan diberi tanda kotak agar tidak dijelaskan berulang-ulang.
Pada form siswa beberapa asumsi dipergunakan sebagai gambaran nyata di lapangan. Misalnya 1.
NIS tampil secara otomatis dengan awalan angka 13 sebagai tahun masuk
2.
Kelas muncul secara otomatis dengan asumsi 1 kelas kapasitas 5 orang siswa
8
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi 3.
Biaya untuk siswa pertama kali masuk dengan asumsi Rp. 150.000
4.
Jatuh tempo pertama pembayaran adalah tanggal 10 bulan Juli tahun sistem komputer
5.
Tahun ajaran otomatis mengikuti sistem komputer
9
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Satu orang guru boleh menjadi wali kelas untuk dua kelas yang berbeda. Transaksi Pembayaran SPP Logika dan proses program dalam transaksi pembayaran SPP adalah sebagai berikut : 1.
Nomor pembayaran tampil secara otomatis dengan pola yyMMdd + 0001 = “1310250001”
2.
Tanggal bayar bisa digunakan untuk simulasi pembayaran tunggakan, oleh karena itu digunakan DatetimePicker
3.
Jika NIS tidak ditemukan tersedia fasilitas daftar siswa yang akan muncul secara otomatis dan tinggal dipilih kemudian menekan enter
10
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
4.
Cara pembayaran dengan memilih record dalam grid, kemudian klik Button “BAYAR”
5.
Record yang sudah dibayar tidak dapat di bayar ulang
6.
Record yang sudah dibayar dapat dicetak berdasarkan nomor pembayaran dan berdasarkan tanggal cukup dengan memilih record yang akan dicetak dalm datagrid
7.
Tersedia fasilitas cetak data SPP yang sudah terbayar
8.
Tersedia fasilitas cetak data SPP yang belum dibayar
9.
Terlihat di bagian bawah akumulasi SPP yang sudah dibayar dan yang belum dibayar dalam bentuk nominal dan jumlah bulan
10.
Jika tanggal pembayaran melebihi tanggal jatuh tempo, maka keterangan =LUNASI TUNGGAKAN
11.
Jika tanggal pembayaran lebih kecil dari tanggal jatuh tempo maka keterangan = LUNAS
12.
Kode user secara otomatis terekam dari login 11
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Coding : Imports System.Data.SqlClient Public Class Pembayaran Sub Bayarotomatis() Call Koneksi() CMD = New SqlCommand("select * from TBLSPP where No_bayar in(select max(No_Bayar) from TBLSPP)", CONN) DR = CMD.ExecuteReader DR.Read() If Not DR.HasRows Then TextBox1.Text = Format(Now, "yyMMdd") + "0001" nomor pembayaran dengan pola yyMMdd+0001 = 1310250001 Else If Microsoft.VisualBasic.Left(DR.Item("no_Bayar"), 6) = Format(Now, "yyMMdd") Then TextBox1.Text = DR.Item("no_Bayar") + 1 Else TextBox1.Text = Format(Now, "yyMMdd") + "0001" End If End If End Sub Private Sub Pembayaran_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call Bayarotomatis() Button1.Enabled = False Button4.Enabled = False Button5.Enabled = False Me.Top = 100 End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.Close() End Sub Sub TotalTelahDibayar() Mencari total pembayaran
12
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Dim hitung As Integer = 0 For baris As Integer = 0 To DGV.RowCount - 1 hitung = hitung + DGV.Rows(baris).Cells(5).Value Label13.Text = Format(hitung, "###,###,###") Next Mencari jumlah bulan yang sudah dibayar Call Koneksi() CMD = New SqlCommand("select count(keterangan) from TBLSPP where nis='" & TextBox3.Text & "' and keterangan<>'-'", CONN) DR = CMD.ExecuteReader DR.Read() Label17.Text = DR.Item(0) & " Bulan" End Sub
Sub TotalBelumDibayar() Call Koneksi() Mencari jumlah bulan yang belum dibayar CMD = New SqlCommand("select count(keterangan) from TBLSPP where nis='" & TextBox3.Text & "' and keterangan='-'", CONN) DR = CMD.ExecuteReader DR.Read() Label18.Text = DR.Item(0) & " Bulan" Label15.Text = Val(Microsoft.VisualBasic.Str(Label9.Text) * DR.Item(0)) Label15.Text = FormatNumber(Label15.Text, 0) End Sub Mencetak laporan-laporan dengan kriteria tertentu. Prinsip utama query dalam crystal report adalah dengan SELECTION FORMULA dilanjutkan dengan menulis Nama_Tabel.Nama_Field = “Kriteria” Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click CetakData.Show() CetakData.CRV.ReportSource = Nothing CetakData.CRV.RefreshReport()
13
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi CetakData.CRV.SelectionFormula = "{TBLSPP.no_bayar}='" & DGV.Rows(DGV.CurrentCell.RowIndex).Cells(0).Value & "'" CetakData.CRV.ReportSource = "master SPP.rpt" End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click CetakData.Show() CetakData.CRV.ReportSource = Nothing CetakData.CRV.RefreshReport() CetakData.CRV.SelectionFormula = "{TBLSPP.nis}='" & TextBox3.Text & "' and totext({TBLSPP.tgl_bayar})='" & DGV.Rows(DGV.CurrentCell.RowIndex).Cells(1).Value & "'" CetakData.CRV.ReportSource = "master SPP.rpt" End Sub Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click CetakData.Show() CetakData.CRV.ReportSource = Nothing CetakData.CRV.RefreshReport() CetakData.CRV.SelectionFormula = "{TBLSPP.nis}='" & TextBox3.Text & "' and {TBLSPP.jumlah}>0 " CetakData.CRV.ReportSource = "master SPP.rpt" End Sub Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click CetakData.Show() CetakData.CRV.ReportSource = Nothing CetakData.CRV.RefreshReport() CetakData.CRV.SelectionFormula = "{TBLSPP.nis}='" & TextBox3.Text & "' and {TBLSPP.jumlah}=0 " CetakData.CRV.ReportSource = "master SPP.rpt" End Sub Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click CetakData.Show() CetakData.CRV.ReportSource = Nothing CetakData.CRV.RefreshReport()
14
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi CetakData.CRV.SelectionFormula = "{TBLSPP.nis}='" & TextBox3.Text & "'" CetakData.CRV.ReportSource = "master SPP.rpt" End Sub Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged If TextBox3.Text = "" Then Call KondisiAwal() End If End Sub End Class Laporan SPP Perorangan Sebelum membahas tentang pembuatan laporan pada aplikasi pembayaran SPP ini, pastikan anda telah membaca bab tentang pembuatan DSN dan crystal report sebelumnya. Tahapan pembuatan laporan dimulai dengan mendesain bentuk-bentuk laporan yang diperlukan, silakan gunakan Ms. Word atau Ms. Excel sebagai model awalnya atau bahkan dengan coretan tangan pada lembaran kertas kosong, kemudian masing-masing laporan tersebut diprediksi tabel apa yang terlibat di dalamnya. Setelah desain selesai dan prediksi tabel-tabel yang diperlukan diketahui, maka mulailah membuat DSN dan dilanjutkan dengan pembuatan laporan dengan Crystal report.
Laporan SPP per nomor
15
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi Jika tabel-tabel dalam database sudah terhubung dengan baik dan benar, maka pembuatan laporan akan menjadi lebih mudah. Syarat utama relasi tabel yang baik antara lain : 1.
Nama field harus sama
2.
Tipe field harus sama
3.
Ukuran fiels harus sama
4.
Besar – kecilnya huruf pada field sebaiknya sama
Laporan SPP per tanggal bayar
16
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Laporan SPP yang sudah dibayar
Laporan SPP yang belum dibayar
17
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Laporan SPP keseluruhan
18
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Laporan data siswa per kelas
Laporan data siswa per tahun ajaran
19
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Laporan data siswa berdasarkan nama
Laporan pembayaran SPP umum per tanggal
20
www.konsultasivb.com Pusat Kursus VB 6.0 - VB.Net - Bimbingan Tugas Akhir & Skripsi
Laporan pembayaran SPP umum per bulan dan tahun
Laporan pembayaran SPP umum per kelas
21