REPUBLIK INDONESIA
KEMENTERIAN HUKUM DAN HAK ASASI MANUSIA
SURAT PENCATATAN
CIPTAAN
Dalam rangka pelindungan ciptaan di bidang ilmu pengetahuan, seni dan sastra berdasarkan Undang-Undang Nomor 28 Tahun 2014 tentang Hak Cipta, dengan ini menerangkan:
Nomor dan tanggal permohonan : EC00201944592, 3 Juli 2019
PenciptaNama : Adjat Sudradjat, M.Kom, Agus Salim, M. Kom, , dkk
Alamat : Sunter Muara Rt. 018 Rw. 05 Kelurahan Sunter Agung Kecamatan Tanjung Priok, Jakarta Utara, Dki Jakarta, 14350
Kewarganegaraan : Indonesia
Pemegang Hak Cipta
Nama : Adjat Sudradjat, M.Kom, Agus Salim, M. Kom, , dkk
Alamat : Sunter Muara Rt. 018 Rw. 05 Kelurahan Sunter Agung Kecamatan Tanjung Priok, Jakarta Utara, 7, 14350
Kewarganegaraan : Indonesia
Jenis Ciptaan : Program Komputer
Judul Ciptaan : Sistem Informasi Penerimaan Santri Baru (SISFO PSB) Taman
Pendidikan Al Qur’an Nurul Huda Versi. 1.0Tanggal dan tempat diumumkan untuk pertama kali di wilayah Indonesia atau di luar wilayah Indonesia
: 3 Juli 2019, di Jakarta Utara
Jangka waktu pelindungan : Berlaku selama 50 (lima puluh) tahun sejak Ciptaan tersebut pertama kali dilakukan Pengumuman.
Nomor pencatatan : 000145740
adalah benar berdasarkan keterangan yang diberikan oleh Pemohon.
Surat Pencatatan Hak Cipta atau produk Hak terkait ini sesuai dengan Pasal 72 Undang-Undang Nomor 28 Tahun 2014 tentang Hak Cipta.
a.n. MENTERI HUKUM DAN HAK ASASI MANUSIA DIREKTUR JENDERAL KEKAYAAN INTELEKTUAL
Dr. Freddy Harris, S.H., LL.M., ACCS.
NIP. 196611181994031001
LAMPIRAN PENCIPTA
No Nama Alamat
1 Adjat Sudradjat, M.Kom Sunter Muara Rt. 018 Rw. 05 Kelurahan Sunter Agung Kecamatan Tanjung Priok
2 Agus Salim, M. Kom Jl. Manunggal IX No. 17 RT. 009/002 Condet, Kel. Balekambang Kec.
Kramat Jati
3 Rahdian Kusuma Atmaja, M.
Kom Kampung Tengah RT. 001/001 No. 34 Kel. Tengah Kec. Kramat Jati 4 Ispandi, M. Kom Jl. Albaidho I No. 84 RT. 005/006 Kel. Lubang Buaya Kec. Cipayung 5 Andry Rustiawan, M. Kom Jl. Blok Rambutan RT. 007/004 Kel. Cipayung Kec. Cipayung
6 Nandang Iriadi, M. Kom Perumahan Griya Setu Permai Blok C3/9 RT. 008/010 Kel. Ciledug Kec. Setu
LAMPIRAN PEMEGANG
No Nama Alamat
1 Adjat Sudradjat, M.Kom Sunter Muara Rt. 018 Rw. 05 Kelurahan Sunter Agung Kecamatan Tanjung Priok
2 Agus Salim, M. Kom Jl. Manunggal IX No. 17 RT. 009/002 Condet, Kel. Balekambang Kec.
Kramat Jati
3 Rahdian Kusuma Atmaja, M.
Kom Kampung Tengah RT. 001/001 No. 34 Kel. Tengah Kec. Kramat Jati 4 Ispandi, M. Kom Jl. Albaidho I No. 84 RT. 005/006 Kel. Lubang Buaya Kec. Cipayung 5 Andry Rustiawan, M. Kom Jl. Blok Rambutan RT. 007/004 Kel. Cipayung Kec. Cipayung
6 Nandang Iriadi, M. Kom Perumahan Griya Setu Permai Blok C3/9 RT. 008/010 Kel. Ciledug Kec. Setu
Powered by TCPDF (www.tcpdf.org)
BUKU PANDUAN PENGOPERASIAN
SISTEM INFORMASI PENERIMAAN SANTRI BARU ( SISFO PSB ) TAMAN PENDIDIKAN AL QURAN
NURUL HUDA VERSI 1.0
Tim Pembuat :
ADJAT SUDRADJAT, M.Kom AGUS SALIM, M. Kom
RAHDIAN KUSUMA ATMAJA, M. Kom ISPANDI, M. Kom
ANDRY RUSTIAWAN, M. Kom NANDANG IRIADI, M. Kom
Jakarta
2018
ii
KATA PENGANTAR
Segala puja dan puji, beserta syukur kami panjatkan ke hadirat Allah SWT, Tuhan Maha Kuasa yang telah memberikan kemampuan kepada kami untuk menyelesaikan aplikasi Sistem Informasi Penerimaan Santri Baru ( SISFO PSB ) Taman Pendidikan Al Quran Nurul Huda yang dibangun untuk memenuhi kebutuhan pengurus TPQ (Taman Pendidikan Al Qur’an) Nurul Huda dalam mengelola data penerimaan santri baru. Aplikasi ini dibutuhkan untuk memudahkan pengurus TPQ Nurul Huda dalam proses penerimaan santri baru di setiap awal tahun ajaran. Kami masih terus mengembangkan dan melengkapi aplikasi tersebut ke versi selanjutnya, sesuai kebutuhan pengurus TPQ Nurul Huda. Akhir kata, semoga aplikasi SISFO PSB TPQ Nurul Huda ini bermanfaat bagi penggunanya dalam rangka efektifitas dan efisiensi kerja saat proses penerimaan santri baru setiap tahun.
Jakarta, 1 Juli 2019
Tim Pembuat
iii
DAFTAR ISI
Halaman
KATA PENGANTAR ……… ii
DAFTAR ISI ……….. iii
I. TAMPILAN FORM LOGIN ……… 1
II. TAMPILAN MENU UTAMA ……… 2
III. TAMPILAN MENU-MENU APLIKASI ………... 3
A. Menu Daftar Reguler ……… 3
B. Menu Daftar Khusus ………. 4
C. Menu Biodata Santri Baru ……… 6
D. Menu Test Pengelompokan Santri (Mastasa) ………... 7
E. Menu Pengukuran Seragam Santri ……… 8
F. Menu Browse ……… 9
G. Menu Cetak ………... 13
H. Menu Khusus ……… 16
IV. SOURCE CODE ………. 18
1 I. TAMPILAN FORM LOGIN
Untuk menggunakan aplikasi SISFO PSB TPQ Nurul Huda, pengguna harus melakukan Login lebih dahulu, untuk memverifikasi siapa saja yang berhak menggunakan aplikasi tersebut. Langkah yang dilakukan sebagai berikut ;
1. Klik Shortcut aplikasi SISFO PSB TPQ Nurul Huda.
2. Kemudian tampil Form Login untuk memasukan User ID dan Password.
3. Klik tombol Masuk untuk menuju Menu Utama atau tombol Keluar untuk batal menggunakan aplikasi.
Gambar I.1 Tampilan Form Login
Jika User ID yang dimasukan salah, maka akan tampil pesan “Maaf, USER ID tidak dikenal”. Jika Password yang dimasukan salah, maka tampil pesan password yang dimasukkan salah, maka akan tampil pesan “Maaf, PASSWORD Anda Salah”. Jika User ID dan Password benar, maka akan tampil menu utama aplikasi SISFO PSB TPQ Nurul Huda.
Gambar I.2 Pesan Kesalahan User ID dan Password
2 II. TAMPILAN MENU UTAMA
Berikut ini adalah tampilan Menu Utama dari aplikasi Sistem Informasi Penerimaan Santri Baru (SISFO PSB) TPQ Nurul Huda.
Gambar II.1 Menu Utama SISFO PSB TPQ Nurul Huda Versi .1.0
Pada menu utama aplikasi Sistem Informasi Penerimaan Santri Baru (SISFO PSB) TPQ Nurul Huda terdapat beberapa sub menu pilihan, sebagai berikut :
1. Daftar Reguler 2. Daftar Khusus 3. Data Santri 4. Test Mastasa 5. Ukur Seragam 6. Browse 7. Cetak
8. Menu Khusus
9. Keluar
3 III. TAMPILAN MENU-MENU APLIKASI
Berikut ini adalah tampilan dan penjelasan dari setiap sub menu yang ada pada aplikasi Sistem Informasi Penerimaan Santri Baru (SISFO PSB) TPQ Nurul Huda.
A. Menu Daftar Reguler
Modul ini berfungsi untuk memproses pendaftaran santri baru yang reguler. Pendaftaran reguler adalah pendaftaran yang umumnya dilakukan oleh calon santri baru dan diproses oleh petugas pendaftaran. Pada pendaftaran regular, semua biaya pendaftaran harus dibayarkan.
Gambar III.1 Menu Pendaftaran Santri Baru (Reguler) Berikut adalah cara pengoperasian modul ini :
1. Klik tombol Tambah, sehingga No. Induk Santri muncul otomatis dan kursor terletak di kolom isian Nama Lengkap.
2. Isi nama lengkap, nama panggilan, jenis kelamin, kelompok usia, kelengkapan persyaratan dan seluruh jenis pembayaran. Total Bayar akan muncul secara otomatis.
3. Klik tombol Simpan untuk menyimpan transaksi pendaftaran atau tombol
Batal untuk membatalkan transaksi pendaftaran.
4
4. Bila transaksi pendaftaran disimpan, maka akan tampil kwitansi pembayaran PSB, seperti berikut :
Gambar III.2 Kwitansi Pembayaran PSB (Reguler)
B. Menu Daftar Khusus
Modul ini berfungsi untuk memproses pendaftaran santri baru yang
khusus. Pendaftaran khusus adalah pendaftaran yang dilakukan oleh calon santri
baru yang tidak perlu membayar seluruh jenis biaya seperti pendaftaran santri
baru reguler. Petugas pendaftaran akan menentukan biaya apa saja yang harus
dibayarkan dan biaya mana saja yang bisa tidak dibayarkan oleh calon santri pada
pendaftaran santri baru yang khusus.
5
Gambar III.3 Menu Pendaftaran Santri Baru (Khusus) Berikut adalah cara pengoperasian modul ini :
1. Klik tombol Tambah, sehingga No. Induk Santri muncul otomatis dan kursor terletak di kolom isian Nama Lengkap.
2. Isi nama lengkap, nama panggilan, jenis kelamin, kelompok usia, kelengkapan persyaratan.
3. Pilih Jenis Pembayaran yang harus dibayar menurut petugas dan sudah dibayarkan oleh calon santri baru.
4. Pilih Jenis Pembayaran yang harus dibayar menurut petugas, tapi belum dibayarkan oleh calon santri baru.
5. Total Bayar akan muncul secara otomatis.
6. Klik tombol Simpan untuk menyimpan transaksi pendaftaran atau tombol Batal untuk membatalkan transaksi pendaftaran.
7. Bila transaksi pendaftaran disimpan, maka akan tampil kwitansi pembayaran
PSB, seperti berikut :
6
Gambar III.4 Kwitansi Pembayaran PSB (Khusus)
C. Menu Biodata Santri Baru
Modul ini berfungsi untuk melengkapi biodata santri baru yang mendaftar.
Gambar III.5 Menu Biodata Santri Baru
7 Berikut adalah cara pengoperasian modul ini :
1. Klik tombol Cari [ ]. Masukan No. Induk Santri (NIS) yang dicari. Jika NIS ada, maka data akan ditampilkan. Dan jika NIS tidak ada, maka akan muncul pesan informasi “Data tidak ditemukan..!”.
2. Setelah data tampil, klik tombol Edit [ ] untuk dapat melengkapi biodata santri baru, kemudian lengkapi data santri baru. Kemudian klik tombol Simpan [ ] untuk menyimpan data santri baru yang sudah dilengkapi.
3. Untuk menghapus data santri, klik tombol Hapus [ ] setelah mencari data yang akan disimpan.
4. Klik tombol Refresh [ ] untuk membatalkan proses penyimpanan atau penghapusan data. Klik tombol Keluar [ ] untuk keluar dari Menu Biodata Santri Baru.
D. Menu Test Pengelompokan Santri (Mastasa)
Modul ini berfungsi untuk memasukan data hasil test pengelompokan santri (MASTASA).
Gambar III.6 Menu Test Pengelompokan Santri (Mastasa)
Berikut adalah cara pengoperasian modul ini :
1. Klik tombol Tambah untuk mengaktifkan isian data hasil test. Masukan No.
Induk Santri (NIS) yang dicari. Jika NIS ada, maka akan ditampilkan nama
8
lengkap dan nama panggilan. Dan jika NIS tidak ada, maka akan muncul pesan informasi “Data tidak ditemukan..!”.
2. Proses hasil test pengelompokan santri pada bagian Kemampuan,Penilaian, dan Penempatan Kelompok. Total Nilai dan Grade akan muncul secara otomatis.
3. Klik tombol Simpan untuk menyimpan data hasil test pengelompokan santri baru yang sudah diisi.
4. Klik tombol Batal untuk membatalkan proses data hasil test. Klik tombol Tutup untuk keluar dari Menu Test Pengelompokan Santri (MASTASA).
E. Menu Pengukuran Seragam Santri
Modul ini berfungsi untuk memasukan data hasil pengukuran seragam santri baru.
Gambar III.7 Menu Pengukuran Seragam Santri
Berikut adalah cara pengoperasian modul ini :
1. Klik tombol Tambah untuk mengaktifkan isian data hasil test. Masukan No.
Induk Santri (NIS) yang dicari. Jika NIS ada, maka akan ditampilkan nama
lengkap dan nama panggilan. Dan jika NIS tidak ada, maka akan muncul pesan
informasi “Data tidak ditemukan..!”.
9
2. Isikan data hasil pengukuran Seragam Batik dan Seragam Olah Raga santri baru tersebut.
3. Klik tombol Simpan untuk menyimpan data hasil pengukuran seragam santri baru yang sudah diisi.
4. Klik tombol Batal untuk membatalkan proses data hasil pengukuran. Klik tombol Tutup untuk keluar dari Menu Pengukuran Seragam Santri.
F. Menu Browse
Menu Browse adalah menu yang terdiri dari beberapa modul pencarian data, sebagai berikut.
1. Modul Browse Data Pendaftaran Santri Baru
Modul ini berfungsi untuk melakukan pencarian data pendaftaran santri baru berdasarkan kriteria yang dipilih.
Gambar III.8 Menu Browse Data Pendaftaran Santri Baru
Berikut adalah cara pengoperasian modul ini :
a. Pilih Kriteria Pencarian pada bagian pencarian data. Kemudian masukan kata kunci pencarian, dan tekan tombol Enter pada keyboard.
b. Jika data yang dicari berdasarkan kriteria yang dipilih tersebut ada, maka
akan tampil di grid Data Santri Baru, Data Biaya Pendaftaran Sudah Lunas,
dan Data Biaya Pendaftaran Belum Lunas (jika ada yg belum dilunasi).
10
c. Jika data yang dicari berdasarkan kriteria yang dipilih tersebut tidak ada, maka akan tampil kotak pesan, “Data Tidak Ditemukan..!”, kemudian browse data akan direfresh.
d. Klik tombol Tutup untuk keluar dari Menu Browse Data Pendaftaran Santri Baru.
2. Modul Browse Biodata Santri Baru
Modul ini berfungsi untuk melakukan pencarian biodata santri baru berdasarkan kriteria yang dipilih.
Gambar III.9 Menu Browse Biodata Santri Baru
Berikut adalah cara pengoperasian modul ini :
a. Pilih Kriteria Pencarian pada bagian pencarian data. Kemudian masukan kata kunci pencarian, dan tekan tombol Enter pada keyboard.
b. Jika data yang dicari berdasarkan kriteria yang dipilih tersebut ada, maka akan tampil di grid Biodata Santri Baru.
c. Jika data yang dicari berdasarkan kriteria yang dipilih tersebut tidak ada, maka akan tampil kotak pesan, “Data Tidak Ditemukan..!”, kemudian browse data akan direfresh.
d. Klik tombol Tutup untuk keluar dari Menu Browse Biodata Santri Baru.
11
3. Modul Browse Data Hasil Test Pengelompokan
Modul ini berfungsi untuk melakukan pencarian data hasil test pengelompokan (Mastasa) berdasarkan kriteria yang dipilih.
Gambar III.10 Menu Browse Data Hasil Test Pengelompokan
Berikut adalah cara pengoperasian modul ini :
a. Pilih Kriteria Pencarian pada bagian pencarian data. Kemudian masukan kata kunci pencarian, dan tekan tombol Enter pada keyboard.
b. Jika data yang dicari berdasarkan kriteria yang dipilih tersebut ada, maka akan tampil di grid Data Hasil Test Pengelompokan.
c. Jika data yang dicari berdasarkan kriteria yang dipilih tersebut tidak ada, maka akan tampil kotak pesan, “Data Tidak Ditemukan..!”, kemudian browse data akan direfresh.
d. Tombol Awal, Sebelum, Sesudah dan Akhir digunakan untuk navigasi data hasil test pengelompokan.
e. Klik tombol Tutup untuk keluar dari Menu Browse Data Hasil Test
Pengelompokan.
12 4. Modul Browse Data Seragam Santri Baru
Modul ini berfungsi untuk melakukan pencarian data hasil pengukuran seragam santri baru berdasarkan kriteria yang dipilih.
Gambar III.11 Menu Browse Data Seragam Santri Baru
Berikut adalah cara pengoperasian modul ini :
a. Pilih Kriteria Pencarian pada bagian pencarian data. Kemudian masukan kata kunci pencarian, dan tekan tombol Enter pada keyboard.
b. Jika data yang dicari berdasarkan kriteria yang dipilih tersebut ada, maka akan tampil di grid Data Seragam Santri Baru.
c. Jika data yang dicari berdasarkan kriteria yang dipilih tersebut tidak ada, maka akan tampil kotak pesan, “Data Tidak Ditemukan..!”, kemudian browse data akan direfresh.
d. Tombol Awal, Sebelum, Sesudah dan Akhir digunakan untuk navigasi data seragam santri baru.
e. Klik tombol Tutup untuk keluar dari Menu Browse Data Seragam Santri
Baru.
13 G. Menu Cetak
Menu Cetak adalah menu yang terdiri dari beberapa modul pencetakan data, diantaranya :
1. Modul Cetak Name Tag Santri Baru
Modul ini berfungsi untuk melakukan pencetakan name tag santri baru berdasarkan kriteria pencetakan yang dipilih.
Gambar III.12 Menu Cetak Name Tag Santri Baru
Berikut adalah cara pengoperasian modul ini :
a. Pilih menu cetak di Menu Utama, pilih Cetak Name Tag Santri Baru,
kemudian akan tampil Form Cetak Name Tag Santri Baru.
14
b. Pilih Kriteria Pencetakan (Per Santri atau Seluruh Santri). Tombol Preview untuk melihat tampilan sebelum dicetak ke printer. Tombol Print untuk langsung cetak ke printer. Tombol Export untuk mengkonversi tampilan cetakan program ke file word (.doc).
c. Jika memilih cetak per santri, maka setelah klik salah satu tombol (Preview, Print, atau Export) akan tampil kotak filter input No. Induk Santri.
d. Masukan NIS yang akan dicetak. Jika data ada, maka akan tampil Name Tag Santri Baru yang sudah dipilih. Jika data tidak ada, maka akan tampil kotak pesan, “Data tidak ditemukan..!”.
e. Klik simbol X (Silang) di kanan atas untuk keluar dari Menu Cetak Name Tag Santri Baru.
2. Modul Cetak Hasil Test Mastasa
Modul ini berfungsi untuk melakukan pencetakan hasil test pengelompokan santri baru berdasarkan kriteria pencetakan yang dipilih.
Gambar III.13 Menu Cetak Hasil Test Pengelompokan Santri Baru (Mastasa)
Berikut adalah cara pengoperasian modul ini :
a. Pilih menu cetak di Menu Utama, pilih Cetak Hasil Test Mastasa, kemudian
akan tampil Form Cetak Hasil Test Mastasa.
15
b. Pilih Kriteria Pencetakan (Per Santri atau Seluruh Santri). Tombol Preview untuk melihat tampilan sebelum dicetak ke printer. Tombol Print untuk langsung cetak ke printer. Tombol Export untuk mengkonversi tampilan cetakan program ke file word (.doc).
c. Jika memilih cetak per santri, maka setelah klik salah satu tombol (Preview, Print, atau Export) akan tampil kotak filter input No. Induk Santri.
d. Masukan NIS yang akan dicetak. Jika data ada, maka akan tampil Hasil Test Mastasa yang sudah dipilih. Jika data tidak ada, maka akan tampil kotak pesan, “Data tidak ditemukan..!”.
e. Klik simbol X (Silang) di kanan atas untuk keluar dari Menu Cetak Hasil Mastasa.
3. Modul Cetak Laporan Biaya Pendaftaran
Modul ini berfungsi untuk melakukan pencetakan laporan biaya pendaftaran santri baru berdasarkan kriteria pencetakan yang dipilih
Gambar III.14 Menu Cetak Laporan Biaya Pendaftaran Santri Baru
16 Berikut adalah cara pengoperasian modul ini :
a. Pilih menu cetak di Menu Utama, pilih Cetak Laporan Biaya Pendaftaran Santri Baru, kemudian akan tampil Laporan Biaya Pendaftaran Santri Baru.
b. Klik simbol X (Silang) di kanan atas untuk keluar dari Menu Cetak Laporan Biaya Pendaftaran Santri Baru.
H. Menu Khusus
Menu Khusus adalah menu yang terdiri dari beberapa modul khusus, sebagai berikut.
1. Modul Jenis-Jenis Biaya Pengajian
Modul ini berfungsi untuk mengelola master data jenis-jenis biaya apa saja yang harus dibayarkan oleh calon santri baru di setiap awal tahun ajaran.
Gambar III.15 Menu Jenis – Jenis Pengajian
Berikut adalah cara pengoperasian modul ini :
a. Klik tombol Tambah ( ), kemudian pilih Tahun Mengaji, Kelompok Usia, Jenis Pembayaran dan Isikan jumlah nominal.
b. Klik tombol Simpan ( ) untuk menyimpan data, dan klik tombol Edit ( ) untuk melakukan update data.
c. Klik tombol Hapus ( ) untuk melakukan penghapusan data.
d. Klik tombol Refresh untuk merefresh data dan tombol Tutup untuk keluar
dari Menu Jenis-Jenis Biaya Pengajian.
17
2. Modul Pelunasan Biaya Pendaftaran Santri Baru
Modul ini berfungsi untuk memproses pelunasan biaya pendaftaran santri baru, bagi calon santri yang belum membayar penuh semua biaya di awal pendaftaran.
Gambar III.16 Menu Pelunasan Biaya Pendaftaran Santri Baru
Berikut adalah cara pengoperasian modul ini :
a. Klik tombol Tambah untuk melakukan transaksi pelunasan biaya pendaftaran santri baru.
b. Masukan No. Induk Santri. Jika data pembayaran sebelumnya ada, maka akan tampil data santri, kelengkapan persyaratan dan jenis biaya yang belum dibayarkan.
c. Proses pembayaran pada bagian Biaya PSB yang belum lunas. Kemudian klik tombol Simpan untuk menyimpan data pelunasan biaya atau tombol Batal untuk membatalkan proses pelunasan biaya.
d. Klik tombol Tutup untuk keluar dari Menu Pelunasan Biaya Pendaftaran Santri Baru
3. Modul Manajemen User
Modul ini berfungsi untuk mengelola data user yang berhak menggunakan
aplikasi SISFO PSB TPQ Nurul Huda.
18
Gambar III.17 Menu Manajemen User
Berikut adalah cara pengoperasian modul ini :
a. Klik tombol Tambah ( ) untuk memasukan data user baru.
Masukan data user baru, pilih status user, pilih menu akses user sesuai akses yang akan diberikan oleh administrator.
b. Klik tombol Simpan ( ) untuk menyimpan data user baru.
c. Klik tombol Hapus ( ) untuk melakukan penghapusan data user.
d. Klik tombol Refresh ( ) untuk merefresh data dan tombol Tutup untuk keluar dari Menu Manajemen User.
IV. SOURCE CODE A. Modul Koneksi
Public Ado_PSB As New ADODB.Connection Public Rs_User As New ADODB.Recordset Public Rs_Santri As New ADODB.Recordset Public Rs_Kwitansi As New ADODB.Recordset Public konek As String
Sub Buka_Koneksi()
konek = "Driver={MySQL ODBC 3.51 Driver};" & _ "Server=localhost;" & _
"Uid=xxxxxxxx;Pwd=xxxxxxxx;" & _ "Database=nurul_huda;" & _ "Option=NUM"
Ado_PSB.ConnectionString = konek Ado_PSB.CursorLocation = adUseClient Ado_PSB.Open
End Sub
19
Sub Tutup_Koneksi() Ado_PSB.Close
Set Ado_PSB = Nothing Exit Sub
End Sub
B. Modul Tampilan
Sub MenuAktif()
MdiMenuUtama.Toolbar1.Enabled = True End Sub
Sub MenuTidakAktif()
MdiMenuUtama.Toolbar1.Enabled = False End Sub
Function Num2Word(ByVal n As Currency) As String Dim Satuan As Variant
Satuan = Array("", "Satu ", "Dua ", "Tiga ", "Empat ", "Lima ",
"Enam ", "Tujuh ", "Delapan ", "Sembilan ", "Sepuluh ", "Sebelas
")
Select Case n Case 0 To 11
Num2Word = " " + Satuan(Fix(n)) Case 12 To 19
Num2Word = Num2Word(n Mod 10) + "Belas "
Case 20 To 99
Num2Word = Num2Word(Fix(n / 10)) + "Puluh" + Num2Word(n Mod 10)
Case 100 To 199
Num2Word = " Seratus" + Num2Word(n - 100) Case 200 To 999
Num2Word = Num2Word(Fix(n / 100)) + "Ratus" + Num2Word(n Mod 100)
Case 1000 To 1999
Num2Word = " Seribu" + Num2Word(n - 1000) Case 2000 To 999999
Num2Word = Num2Word(Fix(n / 1000)) + "Ribu" + Num2Word(n Mod 1000)
Case 1000000 To 999999999
Num2Word = Num2Word(Fix(n / 1000000)) + "Juta" + Num2Word(n Mod 1000000)
Case Else
Num2Word = Num2Word(Fix(n / 1000000000)) + "Milyar" + Num2Word(n Mod 1000000000)
End Select End Function
Public Sub TglIndonesia(TglObj As Date, HasilTgl As Object) Dim hari, bulan, tahun As String
HasilTgl = ""
hari = ""
bulan = ""
tahun = ""
hari = Format(TglObj, "dd") bulan = Format(TglObj, "MM") tahun = Format(TglObj, "yyyy")
Select Case bulan Case "01"
bulan = "Januari"
Case "02"
bulan = "Februari"
20
Case "03"
bulan = "Maret"
Case "04"
bulan = "April"
Case "05"
bulan = "Mei"
Case "06"
bulan = "Juni"
Case "07"
bulan = "Juli"
Case "08"
bulan = "Agustus"
Case "09"
bulan = "September"
Case "10"
bulan = "Oktober"
Case "11"
bulan = "Nopember"
Case "12"
bulan = "Desember"
End Select
HasilTgl = hari & " " & bulan & " " & tahun End Sub
Sub Cek_Angka(txtInputbox As Object, KeyCode As Integer)
If ((KeyCode >= 48 And KeyCode <= 57) Or (KeyCode >= 96 And KeyCode < 106) Or KeyCode = 8 Or KeyCode = 36.37 Or KeyCode = 38.39 Or KeyCode = 46) Then
txtInputbox.Locked = False Else
txtInputbox.Locked = True End If
End Sub
Sub Cek_Huruf(txtInputbox As Object, KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
C. Form Login
Dim a As Byte Private Sub Masuk() a = a + 1
If 3 - a = 0 Then
MsgBox "Maaf ... Anda harus keluar dari program ini...!", ,
"Peringatan"
Else
MsgBox "Kesempatan anda tinggal " & (3 - a) & " kali lagi", ,
"Peringatan"
End If
If a = 3 Then End End If End Sub
Sub Akses_Menu()
If Rs_User.Fields("akses_a") = "1" Then
MdiMenuUtama.Tlb1.Buttons(13).ButtonMenus(5).Visible = True Else
MdiMenuUtama.Tlb1.Buttons(13).ButtonMenus(5).Visible = False End If
If Rs_User.Fields("akses_b") = "1" Then
MdiMenuUtama.Tlb1.Buttons(13).ButtonMenus(6).Visible = True
21
Else
MdiMenuUtama.Tlb1.Buttons(13).ButtonMenus(6).Visible = False End If
If Rs_User.Fields("akses_c") = "1" Then
MdiMenuUtama.Tlb1.Buttons(13).ButtonMenus(12).Visible = True Else
MdiMenuUtama.Tlb1.Buttons(13).ButtonMenus(12).Visible = False End If
If Rs_User.Fields("akses_d") = "1" Then
MdiMenuUtama.Tlb1.Buttons(13).ButtonMenus(13).Visible = True Else
MdiMenuUtama.Tlb1.Buttons(13).ButtonMenus(13).Visible = False End If
If Rs_User.Fields("akses_e") = "1" Then
MdiMenuUtama.Tlb1.Buttons(13).ButtonMenus(14).Visible = True Else
MdiMenuUtama.Tlb1.Buttons(13).ButtonMenus(14).Visible = False End If
If Rs_User.Fields("akses_f") = "1" Then
MdiMenuUtama.Tlb1.Buttons(15).ButtonMenus(1).Visible = True Else
MdiMenuUtama.Tlb1.Buttons(15).ButtonMenus(1).Visible = False End If
If Rs_User.Fields("akses_g") = "1" Then
MdiMenuUtama.Tlb1.Buttons(15).ButtonMenus(3).Visible = True Else
MdiMenuUtama.Tlb1.Buttons(15).ButtonMenus(3).Visible = False End If
End Sub
Private Sub Form_Activate() TxtUserID.SetFocus End Sub
Private Sub Form_Load() Buka_Koneksi
Rs_User.Open "SELECT*FROM user ORDER BY user_id", Ado_PSB, adOpenDynamic, adLockOptimistic
End Sub
Private Sub CmdKeluar_Click() End
End Sub
Private Sub CmdMasuk_Click() If TxtUserID.Text = "" Then MsgBox "Masukan USER ID..!"
TxtUserID.SetFocus Exit Sub
ElseIf TxtPassword.Text = "" Then MsgBox "Masukan PASSWORD..!"
TxtPassword.SetFocus Exit Sub
Else
With Rs_User
.Find "user_id = '" & TxtUserID.Text & "'", , adSearchForward, 1
22
If .EOF Then
MsgBox "Maaf, USER ID Tidak Dikenal", 64,
"Konfirmasi"
TxtUserID.Text = ""
TxtUserID.SetFocus Call Masuk
Else
If Trim(!Password) <> Trim(TxtPassword.Text) Then MsgBox "Maaf, PASSWORD anda salah", 64,
"Konfirmasi"
TxtPassword.SetFocus TxtPassword.Text = ""
Call Masuk Else
Call Akses_Menu MdiMenuUtama.Show FrmLogin.Hide
MdiMenuUtama.StatusBar1.Panels(1).Text = "Nama User : " & Rs_User.Fields(1).Value
MdiMenuUtama.StatusBar1.Panels(2).Text = "Status User : " & Rs_User.Fields(3).Value
TglIndonesia Date, Text1
MdiMenuUtama.StatusBar1.Panels(3).Text = "Tanggal : " & Text1
FrmWelcome.Show End If
End If End With End If End Sub
Private Sub TxtUserId_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then
If TxtUserID.Text = "" Then
MsgBox "Masukan User ID....!", vbExclamation, "User ID"
TxtUserID.SetFocus Else
TxtPassword.SetFocus End If
End If End Sub
Private Sub TxtUserID_KeyPress(KeyAscii As Integer) Call Cek_Huruf(TxtUserID, KeyAscii)
End Sub
Private Sub TxtPassword_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then
If TxtPassword.Text = "" Then
MsgBox "Masukan Password...!", vbExclamation, "Password"
TxtPassword.SetFocus Else
CmdMasuk.SetFocus End If
End If End Sub
D. Form menu Utama
Dim Kd_Ass As String Dim Jns_Lap As String Dim P_Daftar As String Dim W_Mengaji As String
23
Private Sub Timer1_Timer()
MdiMenuUtama.StatusBar1.Panels(4).Text = "Pukul : " &
Format(Time, "hh:mm:ss") End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key
Case "Daftar_Reguler"
FrmEntryDaftar.Show Case "Daftar_Khusus"
FrmEntryDaftarKhusus.Show
Case "Data_Santri"
FrmEntrySantri.Show
Case "Test_Masuk"
FrmTest.Show
Case "Ukur_Seragam"
FrmUkurBaju.Show Case "Keluar"
Dim Pilihan As String
Pilihan = MsgBox("Yakin akan keluar dari Program..?", vbYesNo, "Konfirmasi")
If Pilihan = vbYes Then End
End If End Select End Sub
Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu)
Select Case ButtonMenu.Key Case "Browse_Daftar"
FrmBrowseDaftar.Show
Case "Browse_Santri"
FrmBrowseSantri.Show
Case "Browse_Test"
FrmBrowseHasilTest.Show
Case "Browse_Seragam"
FrmBrowseSeragam.Show
Case "BuktiDaftar"
FrmCetakBuktiDaftar.Show 1
Case "NameTag"
FrmCetakNameTag.Show 1
Case "TestMastasa"
FrmCetakHasiltest.Show 1
Case "SuratPSB"
FrmCetakSuratPSB.Show 1
Case "LampSuratPSB"
FrmCetakLampSuratPSB.Show 1
Case "UkuranSeragam"
FrmCetakBuktiUkurSeragam.Show 1
24
Case "LapSantriBaru"
FrmLapSantriBaru.Show 1
Case "LapBiayaDaftar"
FrmLapBiayaDaftar.Show 1
Case "LapBelumLunas"
FrmLapBelumLunas.Show 1
Case "LapSyaratPSBKurang"
FrmLapSyaratBelumLengkap.Show 1
Case "LapMastasa"
FrmLapHasilMastasa.Show 1
Case "LapUkuranSeragam"
FrmLapUkuranSeragam.Show 1
Case "Jenis_Biaya"
FrmEntryBiaya.Show
Case "PelunasanBiayaPSB"
FrmEntryPelunasanPSB.Show
Case "Manaj_User"
FrmManajUser.Show End Select
End Sub
E. Form Pendaftaran Santri Baru
Dim isi_jenkel As String Sub Aktif()
TxtNoKwitansi.Locked = True TxtNIS.Locked = True
TxtNmLengkap.Locked = False TxtNmPanggilan.Locked = False TxtPeriode.Locked = True ChkFormulir.Enabled = True ChkPasFoto.Enabled = True
ChkAktaKelahiran.Enabled = True CmbJenisBayar.Locked = False CmdTambah.Enabled = False
CmdBatal.Enabled = True
CmdHapusRincian.Enabled = False CmdSimpan.Enabled = True
End Sub
Sub TidakAktif()
TxtNoKwitansi.Locked = True TxtNIS.Locked = True
TxtNmLengkap.Locked = True TxtNmPanggilan.Locked = True TxtPeriode.Locked = True ChkFormulir.Enabled = False ChkPasFoto.Enabled = False
ChkAktaKelahiran.Enabled = False CmbJenisBayar.Locked = True CmdTambah.Enabled = True
CmdBatal.Enabled = False
CmdHapusRincian.Enabled = False CmdSimpan.Enabled = False End Sub
25
Sub Bersih()
TxtNoKwitansi.Text = ""
TxtNIS.Text = ""
TxtNmLengkap.Text = ""
TxtNmPanggilan.Text = ""
OptLaki.Value = False OptPerempuan.Value = False TxtPeriode.Text = ""
ChkFormulir.Value = 0 ChkPasFoto.Value = 0 ChkAktaKelahiran.Value = 0 TxtBiaya.Text = ""
TxtTotal.Text = ""
TxtBiaya2.Text = ""
TxtBiaya3.Text = ""
TxtTotal2.Text = ""
TxtTerbilang.Text = ""
End Sub
Sub Auto_Kwitansi()
Dim V_Kwitansi As String * 10 Dim No_Urut As Integer
V_NIS = "K." & Format(Date, "mmyy") & ".001"
With Rs_Kwitansi
If .RecordCount = 0 Then
V_Kwitansi = "K." & Format(Date, "mmyy") & ".001"
Else
.MoveLast
If Format(Date, "mmyy") <> Mid(!no_kwitansi, 3, 4) Then V_Kwitansi = "K." & Format(Date, "mmyy") & ".001"
Else
No_Urut = Val(Right(!no_kwitansi, 3)) + 1
V_Kwitansi = "K." & Format(Date, "mmyy") & "." &
Right("000" & No_Urut, 3) End If
End If End With
TxtNoKwitansi.Text = V_Kwitansi End Sub
Sub Auto_NIS()
Dim V_NIS As String * 7 Dim No_Urut As Integer
V_NIS = Format(Date, "yyyy") & "001"
With Rs_Santri
If .RecordCount = 0 Then
V_NIS = Format(Date, "yyyy") & "001"
Else
.MoveLast
If Format(Date, "yyyy") <> Left(!nis, 4) Then V_NIS = Format(Date, "yyyy") & "001"
Else
No_Urut = Val(Right(!nis, 3)) + 1
V_NIS = Format(Date,"yyyy") & Right("000"&No_Urut,3) End If
End If End With
TxtNIS.Text = V_NIS End Sub
Private Sub CmbJenisBayar_Click()
If CmbKelompok.Text = "Pilih Kelompok" Then
MsgBox "Pilih kelompok usia dahulu...!", vbCritical,
"Perhatian"
CmbKelompok.SetFocus
26
ElseIf CmbJenisBayar.Text = "Pilih Jenis Pembayaran" Then Exit Sub
Else
With AdoBiaya.Recordset
.Find "kd_biaya = '" & Left(CmbJenisBayar.Text, 7) & "'", , adSearchForward, 1
If .EOF Then Exit Sub Else
TxtBiaya.Text = Format(.Fields("nominal"), "#,##0") TxtBiaya2.Text = .Fields("nominal")
End If End With
Bayar_Biaya = MsgBox("Masukan Pembayaran " &
Trim(Mid(CmbJenisBayar.Text, 10, 30)) & " ?", vbYesNo,
"Konfirmasi")
If Bayar_Biaya = vbNo Then
CmbJenisBayar.Text = "Pilih Jenis Pembayaran"
CmbJenisBayar.SetFocus TxtBiaya.Text = ""
TxtBiaya2.Text = ""
Else
AdoSmt.ConnectionString = konek AdoSmt.CommandType = adCmdText
AdoSmt.RecordSource = "SELECT * FROM psb_kwitansi_smt ORDER BY no_kwitansi, kd_biaya"
AdoSmt.Refresh
Set DtgBayar.DataSource = AdoSmt
With AdoSmt.Recordset
.Find "kd_biaya = '" & Left(CmbJenisBayar.Text, 7) &
"'", , adSearchForward, 1 If .EOF Then
Ado_PSB.Execute "INSERT INTO psb_kwitansi_smt" &_
"(no_kwitansi,nis, kd_biaya, nm_biaya, nominal)"
& _
"VALUES('" & TxtNoKwitansi.Text & "','" &
TxtNIS.Text & "','" & Left(CmbJenisBayar.Text, 7)
& "','" & Trim(Mid(CmbJenisBayar.Text, 10, 30)) &
"','" & Val(TxtBiaya2.Text) & "')"
TxtTotal2.Text = Val(TxtTotal2.Text) + Val(TxtBiaya2.Text)
TxtTotal.Text = Format(TxtTotal2.Text, "#,##0")
AdoSmt.ConnectionString = konek AdoSmt.CommandType = adCmdText AdoSmt.RecordSource = "SELECT * FROM
psb_kwitansi_smt ORDER BY no_kwitansi, kd_biaya"
AdoSmt.Refresh
Set DtgBayar.DataSource = AdoSmt
If (Not AdoSmt.Recordset.EOF) And (Not AdoSmt.Recordset.BOF) Then
CmdHapusRincian.Enabled = True Else
CmdHapusRincian.Enabled = False End If
TxtNmLengkap.Locked = True
TxtNmPanggilan.Locked = True OptLaki.Enabled = False OptPerempuan.Enabled = False
27
ChkFormulir.Enabled = False ChkPasFoto.Enabled = False ChkAktaKelahiran.Enabled = False
Tambah_Biaya = MsgBox("Pembayaran " &
Trim(Mid(CmbJenisBayar.Text, 10, 30)) & " Sudah Masuk. " & Chr(13) & "Pilih Jenis Pembayaran lain..?", vbYesNo, "Konfirmasi")
If Tambah_Biaya = vbNo Then
CmbJenisBayar.Text = "Pilih Jenis Pembayaran"
TxtBiaya.Text = ""
TxtBiaya2.Text = ""
CmdSimpan.SetFocus Else
CmbJenisBayar.Text = "Pilih Jenis Pembayaran"
TxtBiaya.Text = ""
TxtBiaya2.Text = ""
CmbJenisBayar.SetFocus End If
Else
Lagi = MsgBox("Pembayaran " &
Trim(Mid(CmbJenisBayar.Text, 10, 30)) & " Sudah Masuk. Pilih Jenis Pembayaran Lainnya !", vbYesNo, "Konfirmasi")
If Lagi = vbNo Then
CmbJenisBayar.Text = "Pilih Jenis Pembayaran"
TxtBiaya.Text = ""
TxtBiaya2.Text = ""
CmdSimpan.SetFocus Else
CmbJenisBayar.Text = "Pilih Jenis Pembayaran"
TxtBiaya.Text = ""
TxtBiaya2.Text = ""
CmbJenisBayar.SetFocus End If
End If End With End If End If End Sub
Private Sub CmbKelompok_Click() CmbJenisBayar.Clear
CmbJenisBayar.Text = "Pilih Jenis Pembayaran"
AdoBiaya.ConnectionString = konek AdoBiaya.CommandType = adCmdText
AdoBiaya.RecordSource = "SELECT * FROM biaya WHERE LEFT(kd_biaya,2) = '" & Mid(TxtNIS.Text, 3, 2) & "' AND MID(kd_biaya,4,1) = '" & Left(CmbKelompok.Text, 1) & "' AND RIGHT(kd_biaya,2) IN ('01','02','03','04','05','06','07') ORDER BY kd_biaya"
AdoBiaya.Refresh
If (Not AdoBiaya.Recordset.EOF) And (Not AdoBiaya.Recordset.BOF) Then
AdoBiaya.Recordset.MoveFirst While Not AdoBiaya.Recordset.EOF
CmbJenisBayar.AddItem AdoBiaya.Recordset.Fields(0) & ". "
& AdoBiaya.Recordset.Fields(1) AdoBiaya.Recordset.MoveNext Wend
End If End Sub
28
Private Sub CmdBatal_Click()
Batal_Daftar = MsgBox("Batalkan Pendaftaran..?", vbYesNo,
"Konfirmasi")
If Batal_Daftar = vbNo Then CmdSimpan.SetFocus Else
AdoSmt.ConnectionString = konek AdoSmt.CommandType = adCmdText
AdoSmt.RecordSource = "SELECT * FROM psb_kwitansi_smt ORDER BY no_kwitansi, kd_biaya"
AdoSmt.Refresh
If (Not AdoSmt.Recordset.EOF) And (Not AdoSmt.Recordset.BOF) Then
Ado_PSB.Execute "DELETE FROM psb_kwitansi_smt WHERE no_kwitansi = '" & TxtNoKwitansi.Text & "'"
MsgBox "Data Pendaftaran Santri Baru dengan NIS : " &
Trim(TxtNIS.Text) & " telah dibatalkan..!", 64,
"Konfirmasi"
AdoSmt.Refresh End If
Call Form_Activate CmbJenisBayar.Clear
CmbJenisBayar.Text = "Pilih Jenis Pembayaran"
End If End Sub
Private Sub CmdHapusRincian_Click() Hapus_Biaya = MsgBox("Hapus Biaya " &
AdoSmt.Recordset.Fields("kd_biaya") & ". " &
AdoSmt.Recordset.Fields("nm_biaya") & " ?", vbYesNo,
"Konfirmasi")
If Hapus_Biaya = vbYes Then
TxtBiaya3.Text = AdoSmt.Recordset.Fields("nominal") Ado_PSB.Execute "DELETE FROM psb_kwitansi_smt WHERE
no_kwitansi ='" & Trim(TxtNoKwitansi.Text) & "' AND kd_biaya
= '" & AdoSmt.Recordset.Fields("kd_biaya") & "'"
TxtTotal2.Text = Val(TxtTotal2.Text) - Val(TxtBiaya3.Text) TxtTotal.Text = Format(TxtTotal2.Text, "#,##0")
AdoSmt.ConnectionString = konek AdoSmt.CommandType = adCmdText
AdoSmt.RecordSource = "SELECT * FROM psb_kwitansi_smt ORDER BY no_kwitansi, kd_biaya"
AdoSmt.Refresh
Set DtgBayar.DataSource = AdoSmt TxtBiaya3.Text = ""
If (Not AdoSmt.Recordset.EOF) And (Not AdoSmt.Recordset.BOF) Then
CmdHapusRincian.Enabled = True Else
CmdHapusRincian.Enabled = False End If
End If End Sub
Private Sub CmdSimpan_Click() If TxtNmLengkap.Text = "" Then
MsgBox "Nama lengkap santri belum diisi..!", 64, "Perhatian"
Call Aktif
TxtNmLengkap.SetFocus
29
ElseIf TxtNmPanggilan.Text = "" Then
MsgBox "Nama panggilan santri belum diisi..!", 64,
"Perhatian"
Call Aktif
TxtNmPanggilan.SetFocus
ElseIf OptLaki.Value = False And OptPerempuan.Value = False Then MsgBox "Jenis kelamin santri belum dipilih..!", 64,
"Perhatian"
Call Aktif
ElseIf CmdHapusRincian.Enabled = False Then
MsgBox "Rincian biaya pembayaran masih kosong..!", 64,
"Perhatian"
Call Aktif
CmbJenisBayar.SetFocus Else
If OptLaki.Value = True Then isi_jenkel = "L"
Else
isi_jenkel = "P"
End If
TxtPeriode.Text = Trim(LblPeriode.Caption) If TxtTotal2.Text <> "" Or TxtTotal2.Text = "0" Then
TxtTerbilang.Text = Num2Word(TxtTotal2.Text) + "Rupiah"
Else
TxtTerbilang.Text = ""
End If
TxtNmLengkap.Text = Replace(TxtNmLengkap.Text, "'", "''") TxtNmPanggilan.Text = Replace(TxtNmPanggilan.Text, "'", "''")
AdoSmt.ConnectionString = konek AdoSmt.CommandType = adCmdText
AdoSmt.RecordSource = "SELECT * FROM psb_kwitansi_smt WHERE RIGHT(kd_biaya,2) = '07'"
AdoSmt.Refresh
If (Not AdoSmt.Recordset.EOF) And (Not AdoSmt.Recordset.BOF) Then
TxtInfak.Text = "1"
Else
TxtInfak.Text = "0"
End If
Ado_PSB.Execute "INSERT INTO santri " & _
"(nis, nm_lengkap, nm_panggilan, jenkel, tgl_masuk, periode, sts_infak, sts_mengaji, wkt_mengaji, kel_usia) " & _
"VALUES('" & Trim(TxtNIS.Text) & "','" &
Trim(TxtNmLengkap.Text) & "','" & Trim(TxtNmPanggilan.Text) &
"', '" & isi_jenkel & "','" & Format(Date, "yyyy-mm-dd") &
"','" & Trim(TxtPeriode.Text) & "','" & Trim(TxtInfak.Text) &
"','1', '" & Left(CmbKelompok.Text, 1) & "', '" &
Left(CmbKelompok.Text, 1) & "')"
Ado_PSB.Execute "INSERT INTO psb_kwitansi " & _
"(no_kwitansi, tgl_kwitansi, nis, tot_kwitansi, user_id, tgl_indo, tot_indo) " & _
"VALUES('" & Trim(TxtNoKwitansi.Text) & "','" & Format(Date,
"yyyy-mm-dd") & "','" & Trim(TxtNIS.Text) & "','" &
Val(TxtTotal2.Text) & "','" & Trim(FrmLogin.TxtUserID.Text) &
"','" & Trim(FrmLogin.Text1.Text) & "','" &
Trim(TxtTerbilang.Text) & "')"
AdoSyarat.ConnectionString = konek
30
AdoSyarat.CommandType = adCmdText
AdoSyarat.RecordSource = "SELECT kd_syarat FROM syarat ORDER BY kd_syarat"
AdoSyarat.Refresh
a = 1
AdoSyarat.Recordset.MoveFirst
Do While a <= AdoSyarat.Recordset.RecordCount Ado_PSB.Execute "INSERT INTO psb_syarat" & _ "(nis, kd_syarat, sts_syarat ) " & _
"VALUES('" & Trim(TxtNIS.Text) & "','" &
AdoSyarat.Recordset.Fields(0) & "', '0')"
a = a + 1
AdoSyarat.Recordset.MoveNext Loop
AdoBiaya.ConnectionString = konek AdoBiaya.CommandType = adCmdText
AdoBiaya.RecordSource = "SELECT kd_biaya FROM biaya WHERE LEFT(kd_biaya,2) = '" & Right(LblPeriode.Caption, 2) & "' AND MID(kd_biaya,4,1) = '" & Left(CmbKelompok.Text, 1) & "' AND RIGHT(kd_biaya,2) IN('01','02','03','04','05','06','07') ORDER BY kd_biaya"
AdoBiaya.Refresh b = 1
AdoBiaya.Recordset.MoveFirst
Do While b <= AdoBiaya.Recordset.RecordCount Ado_PSB.Execute "INSERT INTO psb_biaya " & _ "(nis, kd_biaya, sts_bayar ) " & _
"VALUES('" & Trim(TxtNIS.Text) & "','" &
AdoBiaya.Recordset.Fields(0) & "', '0')"
b = b + 1
AdoBiaya.Recordset.MoveNext Loop
Ado_PSB.Execute "UPDATE psb_syarat SET sts_syarat = '" &
ChkFormulir.Value & "' WHERE nis = '" & Trim(TxtNIS.Text) &
"' AND kd_syarat = '1'"
Ado_PSB.Execute "UPDATE psb_syarat SET sts_syarat = '" &
ChkPasFoto.Value & "' WHERE nis = '" & Trim(TxtNIS.Text) & "' AND kd_syarat = '2'"
Ado_PSB.Execute "UPDATE psb_syarat SET sts_syarat = '" &
ChkAktaKelahiran.Value & "' WHERE nis = '" &
Trim(TxtNIS.Text) & "' AND kd_syarat = '3'"
AdoSmt.ConnectionString = konek AdoSmt.CommandType = adCmdText
AdoSmt.RecordSource = "SELECT * FROM psb_kwitansi_smt ORDER BY no_kwitansi, kd_biaya"
AdoSmt.Refresh c = 1
AdoSmt.Recordset.MoveFirst
Do While c <= AdoSmt.Recordset.RecordCount
Ado_PSB.Execute "INSERT INTO psb_kwitansi_detail " & _ "(no_kwitansi,kd_biaya) " & _
"VALUES('" & AdoSmt.Recordset.Fields("no_kwitansi") &
"','" & AdoSmt.Recordset.Fields("kd_biaya") & "')"
Ado_PSB.Execute "UPDATE psb_biaya SET sts_bayar = '1' WHERE nis = '" & AdoSmt.Recordset.Fields("nis") & "' and kd_biaya = '" & AdoSmt.Recordset.Fields("kd_biaya") & "'"
c = c + 1
AdoSmt.Recordset.MoveNext Loop
31
If AdoSmt.Recordset.RecordCount = 7 And (ChkFormulir.Value = 1 And ChkPasFoto.Value = 1 And ChkAktaKelahiran.Value = 1) Then
With CrtKwitansi
.Destination = crptToWindow .ReportFileName = App.Path &
"\Report\psb_kwitansi.rpt"
.SelectionFormula = "{v_psb_kwitansi.no_kwitansi}='"
& Trim(TxtNoKwitansi.Text) & "'"
.WindowShowPrintBtn = True .WindowShowRefreshBtn = True .RetrieveDataFiles
.WindowState = crptMaximized .Action = 1
End With
ElseIf AdoSmt.Recordset.RecordCount = 7 And (ChkFormulir.Value
= 0 Or ChkPasFoto.Value = 0 Or ChkAktaKelahiran.Value = 0) Then
With CrtKwitansi
.Destination = crptToWindow .ReportFileName = App.Path &
"\Report\psb_kwitansi_sub_syarat.rpt"
.SelectionFormula = "{v_psb_kwitansi.no_kwitansi}='"
& Trim(TxtNoKwitansi.Text) & "'"
.WindowShowPrintBtn = True .WindowShowRefreshBtn = True .RetrieveDataFiles
.WindowState = crptMaximized .Action = 1
End With
ElseIf AdoSmt.Recordset.RecordCount < 7 And (ChkFormulir.Value
= 1 And ChkPasFoto.Value = 1 And ChkAktaKelahiran.Value = 1) Then
With CrtKwitansi
.Destination = crptToWindow .ReportFileName = App.Path &
"\Report\psb_kwitansi_sub_biaya.rpt"
.SelectionFormula = "{v_psb_kwitansi.no_kwitansi}='"
& Trim(TxtNoKwitansi.Text) & "'"
.WindowShowPrintBtn = True .WindowShowRefreshBtn = True .RetrieveDataFiles
.WindowState = crptMaximized .Action = 1
End With
ElseIf AdoSmt.Recordset.RecordCount < 7 And (ChkFormulir.Value = 0 Or ChkPasFoto.Value = 0 Or ChkAktaKelahiran.Value = 0) Then
With CrtKwitansi
.Destination = crptToWindow .ReportFileName = App.Path &
"\Report\psb_kwitansi_sub_biaya_syarat.rpt"
.SelectionFormula = "{v_psb_kwitansi.no_kwitansi}='"
& Trim(TxtNoKwitansi.Text) & "'"
.WindowShowPrintBtn = True .WindowShowRefreshBtn = True .RetrieveDataFiles
.WindowState = crptMaximized .Action = 1
End With Else
MsgBox "Ada yang salah di sini...!", 64, "Peringatan"
End If
32
Ado_PSB.Execute "DELETE FROM psb_kwitansi_smt"
AdoSmt.ConnectionString = konek AdoSmt.CommandType = adCmdText
AdoSmt.RecordSource = "SELECT * FROM psb_kwitansi_smt ORDER BY no_kwitansi, kd_biaya"
AdoSmt.Refresh
Set DtgBayar.DataSource = AdoSmt Call Form_Activate
CmbJenisBayar.Clear
CmbJenisBayar.Text = "Pilih Jenis Pembayaran"
End If End Sub
Private Sub CmdTambah_Click() Bersih
Auto_Kwitansi Auto_NIS Aktif
TxtNmLengkap.SetFocus CmdSimpan.Enabled = True CmdBatal.Enabled = True CmdTambah.Enabled = False End Sub
Private Sub Form_Activate() Tutup_Koneksi
Buka_Koneksi
LblPeriode.Caption = Format(Date, "yyyy")
Rs_Santri.Open "SELECT nis, nm_lengkap, nm_panggilan, jenkel, tgl_masuk, periode, sts_infak, sts_mengaji FROM santri WHERE LEFT(periode,4) = '" & LblPeriode.Caption & "' ORDER BY nis", Ado_PSB, adOpenDynamic, adLockPessimistic
Rs_Kwitansi.Open "SELECT * FROM psb_kwitansi WHERE LEFT(nis,4) = '" & LblPeriode.Caption & "' ORDER BY no_kwitansi", Ado_PSB, adOpenDynamic, adLockPessimistic
Bersih TidakAktif End Sub
Private Sub Form_Load()
Me.Left = Screen.Width - 20340 Me.Top = Screen.Height - 13925 Me.Width = 13179
Me.Height = 5900 MenuTidakAktif
CmbKelompok.AddItem "1. TK"
CmbKelompok.AddItem "2. SD"
CmbKelompok.AddItem "3. SMP/SMA"
End Sub
Private Sub CmdTutup_Click() Do
DoEvents
Me.Top = Trim(Str(Int(Me.Top) - 1)) Loop Until Me.Top < -Me.Width
Unload Me End Sub
Private Sub Form_Unload(Cancel As Integer) MenuAktif
End Sub
33
Private Sub Timer1_Timer() Me.Top = Me.Top + 400 If Me.Top > -100 Then Timer1.Enabled = False End If
End Sub
F. Form Biodata Santri Baru
Dim isi_jenkel As String Sub Bersih()
TxtNIS.Text = ""
TxtNmLengkap.Text = ""
TxtNmPanggilan.Text = ""
OptLaki.Value = False OptPerempuan.Value = False TxtTmpLahir.Text = ""
DtpTglLhr.Value = Format(Date, "dd MMMM yyyy") TxtAlamat.Text = ""
TxtRT.Text = ""
TxtRW.Text = ""
TxtNoRumah.Text = ""
TxtKelurahan.Text = ""
TxtKecamatan.Text = ""
TxtKota.Text = ""
TxtKdPos.Text = ""
TxtNoTelpon.Text = ""
TxtNmWali.Text = ""
TxtPeriode.Text = ""
End Sub
Sub Aktif()
TxtNIS.Locked = True
TxtNmLengkap.Locked = False TxtNmPanggilan.Locked = False OptLaki.Enabled = True
OptPerempuan.Enabled = True TxtTmpLahir.Locked = False DtpTglLhr.Enabled = True TxtAlamat.Locked = False TxtRT.Locked = False TxtRW.Locked = False TxtNoRumah.Locked = False TxtKelurahan.Locked = False TxtKecamatan.Locked = False TxtKota.Locked = False TxtKdPos.Locked = False TxtNoTelpon.Locked = False DtpTglMasuk.Enabled = True TxtNmWali.Locked = False End Sub
Sub TidakAktif()
TxtNIS.Locked = True TxtNmLengkap.Locked = True TxtNmPanggilan.Locked = True OptLaki.Enabled = False OptPerempuan.Enabled = False TxtTmpLahir.Locked = True DtpTglLhr.Enabled = False TxtAlamat.Locked = True TxtRT.Locked = True TxtRW.Locked = True End Sub
34
Sub Pilih_Pendidikan() On Error Resume Next Rs_Pendidikan.MoveFirst While Not Rs_Pendidikan.EOF
CmbPdkWali.AddItem Rs_Pendidikan.Fields(0) & ". " &
Rs_Pendidikan.Fields(1) Rs_Pendidikan.MoveNext Wend
On Error GoTo 0 End Sub
Sub Pilih_Pekerjaan() On Error Resume Next Rs_Pekerjaan.MoveFirst While Not Rs_Pekerjaan.EOF
CmbKerjaWali.AddItem Rs_Pekerjaan.Fields(0) & ". " &
Rs_Pekerjaan.Fields(1) Rs_Pekerjaan.MoveNext Wend
On Error GoTo 0 End Sub
Private Sub Tampil_Data() On Error GoTo salah
AdoFoto.ConnectionString = konek
AdoFoto.RecordSource = "SELECT*FROM santri_foto WHERE nis = '" &
AdoSantri.Recordset.Fields("nis") & "'"
AdoFoto.CommandType = adCmdText AdoFoto.Refresh
If AdoSantri.Recordset.RecordCount > 0 Then With AdoSantri.Recordset
If (.Fields("nis") <> "") Then
TxtNIS.Text = .Fields("nis").Value Else
TxtNIS.Text = ""
End If
If (.Fields("nm_lengkap") <> "") Then
TxtNmLengkap.Text = .Fields("nm_lengkap").Value Else
TxtNmLengkap.Text = ""
End If
If (.Fields("nm_panggilan") <> "") Then
TxtNmPanggilan.Text = .Fields("nm_panggilan").Value Else
TxtNmPanggilan.Text = ""
End If
If (.Fields("jenkel") = "L") Then OptLaki.Value = True
Else
If (.Fields("jenkel") = "P") Then OptPerempuan.Value = True Else
OptLaki.Value = False OptPerempuan.Value = False End If
End If
If (.Fields("tmp_lahir") <> "") Then
TxtTmpLahir.Text = .Fields("tmp_lahir").Value Else
TxtTmpLahir.Text = ""
End If
35
If (.Fields("tgl_lahir") <> "") Then
DtpTglLhr.Value = Format(.Fields("tgl_lahir").Value,
"dd MMMM yyyy") Else
DtpTglLhr.Value = Format(Date, "dd MMMM yyyy") End If
If (.Fields("alm_rumah") <> "") Then
TxtAlamat.Text = .Fields("alm_rumah").Value Else
TxtAlamat.Text = ""
End If
If (.Fields("rt_rumah") <> "") Then
TxtRT.Text = .Fields("rt_rumah").Value Else
TxtRT.Text = ""
End If
If (.Fields("rw_rumah") <> "") Then
TxtRW.Text = .Fields("rw_rumah").Value Else
TxtRW.Text = ""
End If
If (.Fields("no_rumah") <> "") Then
TxtNoRumah.Text = .Fields("no_rumah").Value Else
TxtNoRumah.Text = ""
End If
If (.Fields("kelurahan") <> "") Then
TxtKelurahan.Text = .Fields("kelurahan").Value Else
TxtKelurahan.Text = ""
End If
If (.Fields("kecamatan") <> "") Then
TxtKecamatan.Text = .Fields("kecamatan").Value Else
TxtKecamatan.Text = ""
End If
If (.Fields("kotamadya") <> "") Then
TxtKota.Text = .Fields("kotamadya").Value Else
TxtKota.Text = ""
End If
If (.Fields("kd_pos") <> "") Then
TxtKdPos.Text = .Fields("kd_pos").Value Else
TxtKdPos.Text = ""
End If
If (.Fields("no_telpon") <> "") Then
TxtNoTelpon.Text = .Fields("no_telpon").Value Else
TxtNoTelpon.Text = ""
End If
If (.Fields("tgl_masuk") <> "") Then
DtpTglMasuk.Value =
Format(.Fields("tgl_masuk").Value, "dd MMMM yyyy")
36
Else
DtpTglMasuk.Value = Format(Date, "dd MMMM yyyy") End If
If (.Fields("nm_ortu") <> "") Then
TxtNmWali.Text = .Fields("nm_ortu").Value Else
TxtNmWali.Text = ""
End If
If (.Fields("kd_pdk") <> "") Then
Rs_Pendidikan.Find "kd_pdk='" & .Fields("kd_pdk") &
"'", , adSearchForward, 1 If Not Rs_Pendidikan.EOF Then
CmbPdkWali.Text = Rs_Pendidikan.Fields(0) & ". "
& Rs_Pendidikan.Fields(1) Else
Exit Sub End If Else
CmbPdkWali.Text = "Pilih Pendidikan"
End If
If (.Fields("kd_kerja") <> "") Then
Rs_Pekerjaan.Find "kd_kerja='" & .Fields("kd_kerja")
& "'", , adSearchForward, 1 If Not Rs_Pekerjaan.EOF Then
CmbKerjaWali.Text = Rs_Pekerjaan.Fields(0) & ". "
& Rs_Pekerjaan.Fields(1) Else
Exit Sub End If Else
CmbKerjaWali.Text = "Pilih Pekerjaan"
End If
If (.Fields("wkt_mengaji") = "1") Then CmbWktMengaji.Text = "1. Pagi"
ElseIf (.Fields("wkt_mengaji") = "2") Then CmbWktMengaji.Text = "2. Sore"
ElseIf (.Fields("wkt_mengaji") = "3") Then CmbWktMengaji.Text = "3. Malam"
Else
CmbWktMengaji.Text = "Pilih Waktu"
End If
If (.Fields("sts_mengaji") = "1") Then CmbStsMengaji.Text = "1. Aktif"
ElseIf (.Fields("sts_mengaji") = "2") Then CmbStsMengaji.Text = "2. Pindah"
ElseIf (.Fields("sts_mengaji") = "3") Then CmbStsMengaji.Text = "3. Lulus"
ElseIf (.Fields("sts_mengaji") = "4") Then CmbStsMengaji.Text = "4. Keluar"
Else
CmbStsMengaji.Text = "Pilih Status Mengaji"
End If End With Else
Exit Sub End If salah:
If Err.Number = "3021" Then
37
Exit Sub End If End Sub
Sub Navigasi() On Error GoTo 0
With AdoSantri.Recordset If .RecordCount < 1 Then TxtRecordAktif.Text = 0 Else
TxtRecordAktif.Text = .AbsolutePosition End If
TxtRecordAkhir.Text = .RecordCount End With
Exit Sub End Sub
Private Sub CmdCari_Click()
Input_NIS = InputBox("Masukan NIS yang akan diedit..!",
"Pencarian No. Induk Santri") If Input_NIS = "" Then
Exit Sub Else
With AdoSantri.Recordset
.Find "nis = '" & Input_NIS & "'", , adSearchForward, 1 If .EOF Then
MsgBox "Data Santri dengan NIS : " & Input_NIS & "
tidak ada di angkatan " & LblPeriode.Caption & "..!", 64, "Konfirmasi"
Form_Activate Else
Tampil_Data Aktif
CmdSimpan.Enabled = True CmdHapus.Enabled = True TxtNmLengkap.SetFocus Call Navigasi
End If End With End If End Sub
Private Sub CmdEdit_Click() Aktif
TxtNmLengkap.SetFocus CmdSimpan.Enabled = True End Sub
Private Sub CmdHapus_Click()
Input_NIS = InputBox("Masukan NIS yang akan dihapus..!",
"Pencarian No. Induk Siswa") If Input_NIS = "" Then Exit Sub
Else
With AdoSantri.Recordset
.Find "nis = '" & Input_NIS & "'", , adSearchForward, 1 If .EOF Then
MsgBox "Data Santri dengan NIS : " & Input_NIS & "
tidak ada di angkatan " & LblPeriode.Caption & "..!", 64, "Konfirmasi"
Else
Tampil_Data Call Navigasi
Hapus_Data = MsgBox("Yakin akan menghapus data santri..?", vbOKCancel, "Penghapusan Data")