20
3.1 Tinjauan Yayasan
Untuk mengetahui lebih banyak tentang sistem informasi pembayaran
administrasi sekolah pada Yayasan Islam Nurussalam Al Khoir Sukoharjo maka
penulis akan menjabarkan informasi-informasi yang telah didapatkan dari SMP
Islam Nurussalam Al Khoir diantaranya adalah :
3.1.1 Sejarah Yayasan
Yayasan Nurussalam Al Khoir dipimpin oleh ketua yayasan Bapak Drs. H.
Haries Fuady, yayasan ini berdiri pada tahun 2014. Yayasan ini terletak di
Kompleks Masjid Nurussalam Al-Khoir Ngasemrejo Triyagan, Kecamatan
Mojolaban, Kabupaten Sukoharjo, Jawa Tengah. Yayasan Nurussalam Al Khoir
merupakan yayasan yang bergerak dibidang pendidikan. Di Yayasan Nurussalam
Al Khoir terdapat beberapa penyelenggaraan lembaga pendidikan yaitu
pendidikan taman kanak-kanak (TK) dan Sekolah Menengah Pertama (SMP).
Yayasan Nurussalam Al Khoir didirikan dengan tujuan untuk mewujudkan
peserta didik yang kokoh akidah , taat ibadah dan berakhlak karimah serta unggul
dalam Penguasaan Ilmu Pengetahuan dan Teknologi. Serta memiliki visi dan misi
yaitu :
MISI :
1.
Membentuk generasi yang bertauhid sebagai landasan terwujudnya generasi
muslim yang berkualitas berdasar Al-Qur’an dan As Sunnah.
2.
Mewujudkan lingkungan berbasis Akhlakul Karimah sebagai dasar
menegakkan nilai-nilai Illahiyah.
3.
Mendorong terbentuknya generasi yang berwawasan luas, disiplin, percaya
diri menuju generasi yang berprestasi.
4.
Menumbuhkan rasa kasih sayang sesama sebagai wujud pengamalan
niali-nilai ke-Islaman
5.
Memberikan kontribusi yang positif kepada umat dengan ilmu, amal menuju
kehidupan yang Islami.
3.1.2
Struktur Organisasi dan Fungsi
Berikut ini tugas dan tanggung jawab masing-masing bagian dalam organisasi
yayasan secara garis besar adalah sebagai berikut :
Pembina
1.
Membuat keputusan mengenai perubahan Anggaran Dasar.
2.
Penetapan kebijakan umum yayasan berdasarkan anggaran dasar yayasan.
3.
pengesahan program kerja dan rancangan anggaran tahunan yayasan.
4.
Pengesahan laporan tahunan.
5.
Pembina berhak untuk memberhentikan dewan pengurus yayasan
6.
Pembina berhak untuk menetapkan kebijakan umum yayasan
7.
Menjaga dan memastikan pelaksanaan kerja dan kegiatan yayasan sesuai
dengan visi, misi dan tujuan.
8.
Memberikan masukan kepada ketua umum dalam pelaksanaan program
Yayasan.
Ketua
1.
Menjalankan visi dan misi yayasan sesuai dengan anggaran dasar.
2.
Memimpin dan mengkoordinasikan seluruh anggota dan pengurus yayasan.
3.
Mengkoordinasikan program kerja yayasan baik perencanaan, pelaksanaan,
evaluasi, maupun pertanggungjawaban.
4.
Memberikan wewenang kepada para ketua divisi sehubungan dengan
hal-hal yang berkaitan dengan ruang lingkup masing-masing divisi.
Bendahara
1.
Bertanggung jawab atas pengelolaan keuangan yayasan.
2.
Membuat laporan keuangan secara periodik dan secara tertulis yang
disampaikan secara berkala.
3.
Menyusun dan mengatur anggaran dengan mengkoordinasikan kepada ketua
umum.
4.
Mengatur pencatatan, penerimaan, penyimpanan, dan pengeluaran
keuangan, surat-surat berharga, bukti kas yang berhubungan dengan
kegiatan yayasan dan dlaporkan secara transparan.
5.
Mempunyai hak bertanya dan menyelenggarakan audit keuangan pada
setiap kepanitiaan.
6.
Bertanggung jawab kepada Ketua.
Serkertaris
1.
Mengatur dan menertibkan pengorganisasian administrasi yayasan.
2.
Mengatur pengelolaan, pemeliharaan dan inventarisasi barang-barang milik
yayasan.
3.
Bertanggung jawab atas terselenggaranya kegiatan operasional harian
yayasan.
4.
Berhak dan mempunyai wewenang mendokumentasikan serta mengarsipkan
semua surat-surat masuk maupun keluar.
Devisi Pendanaan
1.
Bertanggung jawab dalam menyususn dan mengkoordinir program-program
yayasan yang berkaitan dengan pendanaan dan pemberdayaan ekonomi.
2.
Memimpin dan mengatur divisi yang dipimpinnya, meliputi pelaksanaan
program kerja, penggunaan budget dan mengatur/membina anggotanya.
3.
Membuat program penggalangan dana yang berkesinambungan untuk
Wakasek Kurikulum
1.
Mengatur penyusunan program pengajaran (Program Semester, Program
Satuan Pelajaran, dan Persiapan Mengajar, Penjabaran dan Penyesuaian
Kurikulum).
2.
Mengatur pelaksanaan program penilaian Kriteria Kenaikan Kelas,Kriteria
Kelulusan dan Laporan Kemajuan Belajar Siswa serta pembagian Rapor.
3.
Mengkoordinir pengembangan Kurikulum.
4. Menganalisis ketercapaian target kurikulum.
6. Menyusun pembagian tugas guru dan jadwal pelajaran.
7. Mengatur Pengembangan MGMP dan Koordinator mata pelajaran.
Wakasek Kesiswaan
1.
Menyusun program pembinaan kesiswaan.
2.
Membina dan melaksanakan koordinasi pelaksanaan keamanan, kebersihan,
ketertiban, keindahan, kerindangan, kekeluargaan, dan ketaqwaan.
3.
Mengatur dan membina program kegiatan OSIS meliputi Kepramukaan,
Palang Merah Remaja (PMR), Kelompok Ilmiah Remaja (KIR), Usaha
Kesehatan Sekolah (UKS), Patroli Keamanan Sekolah (PKS), Paskibra.
4.
Melaksanakan pemilihan calon siswa teladan dan calon siswa penerima bea
siswa.
5.
Mengatur pelaksanaan Kurikuler dan Ekstra Kurikuler.
Wakasek Sapres
1.
Merencanakan kebutuhan sarana prasarana untuk menunjang proses belajar
mengajar.
2.
Menyediakan, mengatur, memelihara, sarana dan prasarana sekolah dengan
pelaksanaan kegiatan sekolah dan proses belajar mengajar dapat berjalan
dengan tertib dan lancar. Tentu saja hal ini tidak lepas dari pengawasan.
3.
Mengatur pemanfaatan Sarana Prasarana.
4.
Mengkordinasikan dan mengawasi pemeliharaan, perbaikan, pengembangan
dan penghapusan sarana
5.
Menyusun laporan pelaksanaan bidang sarana dan prasarana secara berkala.
6.
Mengkoordinasikan pendayagunaan sarana dan prasarana.
Wakasek Humas
1.
Mengatur hubungan sekolah dengan orang tua.
2.
Mengatur dan menyelenggarakan hubungan Sekolah dengan orangtua/Wali
siswa
3.
Membina pengembangan hubungan antar Sekolah dengan lembaga
pemerintah, dunia usaha dan lembaga-lembaga sosial lainnya.
4.
Membina hubungan antar Sekolah dengan komite Sekolah.
5.
Menjalin hubungan ke luar lembaga sesuai fungsi dan kebutuhan.
6.
Membantu pelaksanaan tugas BP3.
Wali Kelas
1.
Pengelolaan kelas.
2.
Penyelenggaraan administrasi kelas meliputi : Daftar pelajaran kelas, papan
absensi siswa, buku absensi siswa, buku kegiatan pembelajaran/buku kelas,
tata tertib siswa.
3.
Mengisi daftar kumpulan nilai (legger).
4.
Membuat catatan khusus tentang siswa.
5.
Pencatatan mutasi siswa.
6.
Mengisi buku laporan penilaian hasil belajar.
Guru
1.
Melaksanakan segala hal kegiatan pembelajaran.
2.
Melaksanakan kegiatan Penilaian Proses Belajar, Ulangan (Harian, Umum,
dan Akhir).
3.
Bertanggungjawab atas pencapaian target kurikulum dan daya serap.
4.
Mencatat dan melaporkan hasil belajar siswa
5.
Membantu dan menanggulangi siswa yang kesulitan belajar
6.
Melaksanakan program perbaikan dan pengayaan
7.
Mengisi daftar nilai siswa
8.
Membuat catatan tentang kemajuan dari hasil belajar
9.
Mengisi daftar hadir siswa sebelum memulai pelajaran.
3.2
Tinjauan Kasus
3.2.1
Proses Bisnis Sistem Berjalan
Prosedur sistem berjalan merupakan proses keluar masuknya berkas yang
terjadi pada suatu sistem yang sedang dijalankan. Sistem pembayaran administrasi
sekolah pada Yayasan Nurussalam Al Khoir dapat digambarkan sebagai beriku:
Siswa melakukan pembayaran administrasi yang terdiri dari pendaftar
ulang, pembayaran SPP, dana pengembang (uang gedung) dan biaya lain-lain.
Siswa membayar biaya administrasi dengan menyerahkan uang sebagai data
pembayaran dan kartu Administrasi, kemudian bendahara menerima dan
menghitung uang sesuai dengan besarnya pembayaraan administrasi, jika uang
yang diberikan siswa melebihi biaya pembayaran uang kebaliannya diberikan
kepada siswa. Bendahara mencatat sesuai pembayaran yang dilakukan siswa dan
memberi paraf pada kartu administrasi, lalu mengembalikan seiring dengan
pencatatan dikartu administrasi, bendahara melakukan pencatatan pembayaran
pada rekap administrasi. Kemudian bendahara membuat kwitansi sebagai bukti
pembayaran, selanjutnya bendahara mengembalikan kartu SPP dan kwitansi ke
wali murid. Bendahara membuat laporan pembayaran, kemudian bagian
administrasi memberikan laporan tersebut ke ketua yayasan.
3.2.2
Activity Diagram
3.2.3
Dokumen Masukkan
1.
Kartu Pembayaran Administrasi
Nama Dokumen : Kartu Pembayaran Administrasi
Fungsi
: Sebagai bukti pembayaran administrasi
Sumber
: Bendahara
Tujuan
: Diserahkan kepada Siswa
Frekuensi
: Setiap murid melakukan pembayaran
Media
: kartas
Jumlah Rangkap : 2 (dua) Rangkap
Format
: Lihat lampiran –A.1
2.
Data Siswa
Nama Dokumen : Data Siswa
Fungsi
: Sebagai Biodata Siswa
Sumber
: Bendahara
Tujuan
: Diserahkan kepada Siswa
Frekuensi
: Saat Siswa melakukan pendaftaran
Media
: kartas
Jumlah Rangkap : 1 (satu) Rangkap
Format
: Lihat lampiran –A.2
3.2.4
Dokumen Keluaran
1.
Rekap Pembayaran Adminstrasi
Nama Dokumen : Rekap Pembayaran Administrasi
Fungsi
: Mengetahui data pembayaran administrasi Siswa
Sumber
: Bendahara
Tujuan
: Diserahkan kepada kepala yayasan
Frekuensi
: Setiap murid melakukan pembayaran
Media
: Kartas
Jumlah Rangkap : 1(Satu) Rangkap
Format
: Lihat lampiran –B.1
2.
Kwitansi
Nama Dokumen : Kwitansi
Fungsi
: Sebagai Bukti Melakukan Pembayaran
Frekuensi
: Setiap murid melakukan pembayaran
Sumber
: Bendahara
Tujuan
: Diserahkan Kepada Siswa
Jumlah Rangkap : 1 (Satu) Rangkap
Format
: Lihat lampiran –B.2
3.
Laporan Pembayaran Administrasi
Nama Dokumen : Laporan Pembayaran Adminstrasi
Fungsi
: Sebagai Data Keseluruhan pembayaran Adninistrasi
Frekuensi
: Setiap Bulan
Sumber
: Bendahara
Tujuan
: Diserahkan Kepada Kepala yayasan
Jumlah Rangkap : 1 (Satu) Rangkap
Format
: Lihat lampiran –B.3
3.2.5
Permasalahan Pokok
Dari hasil riset selama di Yayasan Nurussalam Al-Khoir dapat dilihat
penggunaan sistem pengolahan data pembayaran administrasi sekolah yang
masih menggunakan cara manual, mengakibatkan timbulnya permasalahan antara
lain, tidak akuratnya pencatatan dan pembuatan laporan pembayaran administrasi
sekolah, karena adanya kesalahan dalam menginput data, tercampurnya data
adminstrasi, penyimpanan dokumen administrasi yang tidak tersusun rapi dapat
menyebabkan rusak dan hilangnya dokumen administrasi. Hal tersebut
menyebabkan keterlambatan dalam proses pelaporan kepada pihak yayasan.
3.2.6
Pemecahan Masalah
Dari permasalahan yang ada diatas, agar permasalahan dapat terselesaikan
dengan baik maka usulan pemecahan masalahnya adalah sebagai berikut:
1.
Membuat sistem informasi pembayaran administrasi menggunakan sistem yang
sudah terkomputerisasi. Diharapkan perancangan sistem komputerisasi yang
lebih bermanfaat dan efekif bagi yayasan didalam penyusunan dan
mengevaluasi setiap kegiatan yang ada dalam hal pembayaran administrasi
sekolah.
2.
Pembuatan laporan-laporan yang nantinya dapat langsung dicetak dari
komputer. Laporan yang dihasilkan pun lebih akurat dan tepat waktu serta
dapat dengan mudah diaksesnya.
3.3
Analisa Kebutuhan Software
Adapun kebutuhan software yang digunakan dalam perancangan web ini
adalah XAMPP merupakan web server yang didalamnya sudah tersedia database
server MySQL dan Java NetBeans. XAMPP merupakan software yang mudah
digunakan dan mendukung instalasi di windows ataupun Linux, keuntungan
lainnya adalah kita bisa mengatur web server yang akan kita gunakan.
3.3.1
Analisa Kebutuhan
Bagian bendahara dapat masuk ke sistem informasi pembayaran
administrasi. Didalam sistem informasi pembayaran administrasi, Bendahara
dapat mengakses semua menu dalam sistem. Kepala tata usaha dan yayasan
hanya dapat mengakses data laporannya saja.
A.
Halaman Admin
A.1
Admin Login
A.2
Admin Mengelola Data Tingkat
A.3
Admin Mengelola Data Tahun Ajaran
A.4
Admin Mengelola Data Kelas
A.5
Admin Mengelola Data Ruang
A.6
Admin Mengelola Data Jenis Pembayaran Lain
A.7
Admin Mengelola Data Siswa
A.8
Admin Mengelola Data Pengguana
A.9
Admin Mengelola Transaksi Pembayaran
A.10 Admin Mengelola Laporan Data Siswa
A.11 Admin Mengelola Laporan Adminstrasi
A.12 Admin Mengelola Laporan Tunggakan SPP
A.13 Admin Mengelola Laporan Tunggakan Uang Gedung
A.14 Admin Logout
B.
Halaman Yayasan
B.1
Yayasan Login
B.2
Admin Mengelola Laporan Data Siswa
B.3
Admin Mengelola Laporan Adminstrasi
B.4
Admin Mengelola Laporan Tunggakan SPP
B.5
Admin Mengelola Laporan Tunggakan Uang Gedung
B.6
Admin Logout
3.3.2
Use Case
Diagram
A.
Halaman Admin
Gambar III.3. Use Case Diagram Halaman Admin
Tabel III.1
Tabel Deskripsi Halaman Admin
Use Case Narative
Tujuan
: Melakukan Login dan masuk kedalam Aplikasi
Adminstrasi Sekolah
Deskripsi
: Sistem akan memungkinkan aktor untuk mengakses
Aplikasi Adminstrasi Sekolah
Skenario Utama
Aktor : Admin
Kondisi Awal : Aktor Membuka Aplikasi Administrasi Sekolah
Aksi Aktor
Reaksi Sistem
1.
Aktor melakukan login
2.
Aktor memilih tombol Batal
3.
Aktor memilih tombol Data
Tingkat
4.
Aktor memilih tombol Data
Sistem akan menampilakan textbox untuk mengisi nama
pengguna dan password.
Sistem akan membatalkan proses dan keluar dari sistem.
Sistem akan menampilkan halaman data tingkat.
Tahun Ajaran
5.
Aktor memilih tombol Data
Kelas
6.
Aktor memilih tombol Data
Ruang
7.
Aktor memilih tombol Data
Jenis Bayar
8.
Aktor memilih tombol Data
Siswa
9.
Aktor memilih tombol Data
pengguna
10.
Aktor memilih tombol
Transaksi
11.
Aktor memilih tombol
Laporan Data Siswa
12.
Aktor memilih tombol
Laporan Transaksi
13.
Aktor memilih tombol
Laporan Tunggakan Uang
Gedung
14.
Aktor memilih tombol
Laporan Tunggakan SPP
15.
Aktor memilih tombol
Logout
Sistem akan menampilkan halaman data kelas.
Sistem akan menampilkan halaman data ruang.
Sistem akan menampilkan halaman data jenis bayar.
Sistem akan menampilkan halaman data siswa.
Sistem akan menampilkan halaman data pengguna.
Sistem akan menampilkan halaman transaksi.
Sistem akan menampilkan halaman laporan data siswa.
Sistem akan menampilkan halaman laporan Transaksi.
Sistem akan menampilkan halaman laporan tunggakan
uang gedung.
Sistem akan menampilkan halaman laporan tunggakan
uang gedung.
Sistem akan keluar dari sistem administrasi sekolah.
Kondisi Akhir
Jika perintah sesuai maka sistem akan menampilakan
seperti yang diinginkan oleh aktor.
B. Halaman Yayasan
Tabel III.2
Tabel Deskripsi Halaman Yayasan
Use Case Narative
Tujuan
: Melakukan Login dan masuk kedalam Aplikasi
Adminstrasi Sekolah
Deskripsi
: Sistem akan memungkinkan aktor untuk mengakses
Aplikasi Adminstrasi Sekolah
Skenario Utama
Aktor : Yayasan
Kondisi Awal : Aktor Membuka Aplikasi Administrasi Sekolah
Aksi Aktor
Reaksi Sistem
1.
Aktor melakukan login
2.
Aktor memilih tombol Batal
3.
Aktor memilih tombol
Laporan Data Siswa
4.
Aktor memilih tombol
Laporan Transaksi
5.
Aktor memilih tombol
Laporan Tunggakan Uang
Gedung
6.
Aktor memilih tombol
Laporan Tunggakan SPP
7.
Aktor memilih tombol
Logout
Sistem akan menampilakan textbox untuk mengisi nama
pengguna dan password.
Sistem akan membatalkan proses dan keluar dari sistem.
Sistem akan menampilkan halaman laporan data siswa.
Sistem akan menampilkan halaman laporan Transaksi.
Sistem akan menampilkan halaman laporan tunggakan
uang gedung.
Sistem akan menampilkan halaman laporan tunggakan
uang SPP.
Sistem akan keluar dari sistem administrasi sekolah.
Kondisi Akhir
Jika perintah sesuai maka sistem akan menampilakan
3.3.3
Activity Diagram
1.
Activity Diagram Menu Log In
2.
Activity Diagram Menu Data Tingkat
3.
Activity Diagram Menu Data Tahun Ajaran
4.
Activity Diagram Menu Data Kelas
5.
Activity Diagram Menu Data Ruang
6.
Activity Diagram Menu Data Jenis Pembayaran
7.
Activity Diagram Menu Data Siswa
8.
Activity Diagram Menu Data Pengguna
9.
Activity Diagram Transaksi Pembayaran
10. Activity Diagram Laporan
3.4
Desain
3.4.1
Entity Relationship Diagram
(ERD)
Jenis Pembayaran Jenis Pembayaran id_jp id_jp nm_jp nm_jp Jml_jpJml_jp Ket_jp Ket_jp Detail bayar Detail bayar id_thn id_thn Nominal_spp Nominal_spp id_jp id_jp kd_bspp kd_bspp Tgl_bspp Tgl_bspp bulan bulan Kode_bayar Kode_bayar Id_spp
Id_spp id_siswaid_siswa
pembayaran pembayaran Id_byr Id_byr Kode_bayar Kode_bayar Tgl_bayar Tgl_bayar kembalian kembalian Jml_bayar Jml_bayar sub_total sub_total Siswa Siswa Id_siswa Id_siswa nis nis Nm_siswa Nm_siswa jenkel jenkel Tgl_lahir Tgl_lahir Tmp_lahir Tmp_lahir Ket_siswa Ket_siswa tlp tlp alamat alamat Id_tingkat Id_tingkat Id_kelas Id_kelas Id_ruang Id_ruang Id_tahun Id_tahun Tingkat Tingkat Id_tingkat Id_tingkat nm_tingkat nm_tingkat ket_tingkat ket_tingkat Kelas Kelas Id_kelas Id_kelas nm_kelas nm_kelas ket_kelas ket_kelas Ruang Ruang nm_ruang nm_ruang Id_ruang
Id_ruang Ket_ruangKet_ruang Tahun Ajaran Tahun Ajaran nm_thn nm_thn Id_thn
Id_thn Ket_thnKet_thn
memilih memilih memilih memilih Bayar Bayar memiliki memiliki memiliki memiliki memiliki memiliki Memiliki Memiliki id_ruang id_ruang id_siswa id_siswa Id_byr Id_byr Id_siswa Id_siswa id_jp
id_jp Id_byrId_byr Id_spp
Id_spp Id_byrId_byr Id_kelas Id_kelas Id_siswa Id_siswa Id_tingkat Id_tingkat Id_siswa Id_siswa Id_thn Id_thn Id_siswa Id_siswa
3.4.2
Logical Record Structure
(LRS)
Gambar III.16.
Logical Record Structure
(LRS)
3.4.3
Spesifikasi
File
1.
Spesifikasi
File
Data
User
Nama Database
: adm_sekolah
Nama File
: User
Tipe File
: Master file
Akses File
: Random
Panjang Record
: 177 Karakter
Field Key
: id_user
Tabel III.3.
Spesifikasi
File
Data User
No
Elemen Data
Akronim
Type
Panjang
Keterangan
1
Id user
id_user
Int
11
Primary Key
2
Kode program
kode_program
Varchar
11
3
Nama lengkap
nama_lengkap
Varchar
100
4
Username
Username
Varchar
22
5
Password
Password
Varchar
22
6
Level
Level
Varchar
11
2.
Spesifikasi
File
Detail Bayar
Nama Database
: adm_sekolah
Nama File
: bu_spp
Tipe File
: Master File
Akses File
: Random
Panjang Record
: 86 Karakter
Field Key
: id_spp
Tabel III.4.
Spesifikasi
File
Detail Bayar
No
Elemen Data
Akronim
Type
Panjang
Keterangan
1
Id spp
id_spp
Int
7
Primary Key
2
Kode bayar
kode_bayar
Varchar
20
3
Kode bayar spp
kd_bspp
Varchar
30
4
Tanggal bayar
tgl_bspp
Date
5
Id siswa
id_siswa
Int
3
6
Id jenis pembayaran
id_jp
Int
3
7
Id tahun
id_thn
Int
3
8
Bulan
Bulan
Varchar
20
9
Nominal
nominal_spp
Double
3.
Spesifikasi
File
Data SPP
Nama Database
: adm_sekolah
Nama File
: data_spp
Tipe File
: Master File
Akses File
: Random
Panjang Record
: 65 Karakter
Field Key
: id_data
Tabel III.5.
Spesifikasi
File
Data SPP
No
Elemen Data
Akronim
Type
Panjang
Keterangan
1
Id data
id_data
Int
7
Primary Key
2
Nis
Nis
Varchar
30
3
Id tahun
id_thn
Int
3
4
Bulan
Bulan
Varcher
20
5
Status spp
stt_spp
Varcher
5
4.
Spesifikasi
File
Data Jenis Pembayaran
Nama Database
: adm_sekolah
Nama File
: m_jp
Tipe File
: Master File
Akses File
: Random
Panjang Record
: 37 Karakter
Field Key
: id_jp
Tabel III.6.
Spesifikasi
File
Data Jenis Pembayaran
No
Elemen Data
Akronim
Type
Panjang
Keterangan
1
Id jenis pembayaran
id_jp
Int
7
Primary Key
2
Nama jenis bayar
nm_jp
Varchar
30
3
Jumlah bayar
Jml_jp
Double
4
Keterangan
ket_jp
Text
5.
Spesifikasi
File
Data Jenis Kelas
Nama Database
: adm_sekolah
Nama File
: m_kelas
Tipe File
: Master File
Akses File
: Random
Panjang Record
: 17 Karakter
Field Key
: id_jp
Tabel III.7.
Spesifikasi
File
Data Jenis Kelas
No
Elemen Data
Akronim
Type
Panjang
Keterangan
1
Id kelas
id_kelas
Int
7
Primary Key
2
Nama kelas
nm_kelas
Varchar
10
3
Keterangan kelas
Ket_kelas
Text
6.
Spesifikasi
File
Data Ruang
Nama Database
: adm_sekolah
Nama File
: m_ruang
Tipe File
: Master File
Akses File
: Random
Panjang Record
: 17 Karakter
Field Key
: id_ruang
Tabel III.8.
Spesifikasi
File
Data Ruang
No
Elemen Data
Akronim
Type
Panjang
Keterangan
1
Id ruang
id_ruang
Int
7
Primary Key
2
Nama ruang
nm_ruang
Varchar
10
3
Keterangan ruang
ket_ruang
Text
7.
Spesifikasi
File
Data Siswa
Nama Database
: adm_sekolah
Nama File
: m_siswa
Tipe File
: Master File
Akses File
: Random
Panjang Record
: 113 Karakter
Field Key
: id_siswa
Tabel III.9.
Spesifikasi
File
Data Siswa
No
Elemen Data
Akronim
Type
Panjang
Keterangan
1
Id siswa
id_siswa
Int
7
Primary Key
2
Nis
Nis
Varchar
30
3
Nama siswa
nm_siswa
Varchar
30
4
Tempat lahir
tmp_lahir
Varchar
20
5
Tanggal lahir
tgl_lahir
Date
6
Jenis kelamin
Jenkel
Varchar
2
7
Id tingkat
id_tingkat
Varchar
3
8
Id kelas
id_kelas
Varchar
3
9
Id ruang
id_ruang
Varchar
3
10 Id tahun
id_tahun
Varchar
3
11 Alamat
Alamat
Text
12 Telepon
Tlp
Varcharv
12
13 Keterangan siswa
ket_siswa
Text
8.
Spesifikasi
File
Data Tahun Ajaran
Nama Database
: adm_sekolah
Nama File
: m_thn
Tipe File
: Master File
Akses File
: Random
Panjang Record
: 17 Karakter
Field Key
: id_thn
Tabel III.10.
Spesifikasi
File
Data Tahun Ajaran
No
Elemen Data
Akronim
Type
Panjang
Keterangan
1
Id tahun
id_ruang
Int
7
Primary Key
2
Tahun
nm_thn
Varchar
10
9.
Spesifikasi
File
Data Tingkat
Nama Database
: adm_sekolah
Nama File
: m_tingkat
Tipe File
: Master File
Akses File
: Random
Panjang Record
: 17 Karakter
Field Key
: id_tingkat
Tabel III.11.
Spesifikasi
File
Data Tingkat
No
Elemen Data
Akronim
Type
Panjang
Keterangan
1
Id tingkat
id_tingkat
Int
7
Primary Key
2
Nama tingkat
nm_tingkat
Varchar
10
3
Keterangan tingkat
ket_ruang
Text
10.
Spesifikasi
File
Data Pembayaran
Nama Database
: adm_sekolah
Nama File
: Pembayaran
Tipe File
: Transaksi
Akses File
: Random
Panjang Record
: 27 Karakter
Field Key
: id_byr
Tabel III.12.
Spesifikasi
File
Data Pembayaran
No
Elemen Data
Akronim
Type
Panjang
Keterangan
1
Id bayar
id_byr
Int
7
Primary Key
2
Kode baya
kode_bayar
Varchar
20
3
Tanggal bayar
tgl_byr
Date
4
Sub total
sub_total
Double
5
Jumlah bayar
jml_bayar
Double
3.4.4
Sequence Diagram
3.4.5
Deployment
Diagram
Gambar III.18.
Deployment
Diagram
3.4.6
User Interface
1.
Form Login
Form login merupakan tampilan awal, ketika pertama kali program dijalankan.
Sebelum masuk form utama, user atau pengguna dihuruskan untuk login
dengan mengisikan username dan password
2.
Tampilan Menu Utama
Pada form utama terdapat beberapa menu yaitu tab file terdapat data tingkat,
data tahun ajaran, data kelas, data ruang, data jenis pembayaran data siswa dan
data pengguna. Pada tab transaksi terdapat transaksi pembayaran sekolah.
Pada tab laporan terdapat laporan data siswa, laporan transaksi, laporan
tunggakan uang gedung, laporan tunggakan SPP
3.
Form Data Tingkatan
Form ini digunakan untuk menginput data tingkatan sekolah.
Gambar III.21.
User Interface
Master Tingkat
4.
Form Data Tahun Ajaran
Form ini digunakan untuk menginput data tahun ajaran.
5.
Form Data Kelas
Form ini digunakan untuk menginput kelas.
Gambar III.23.
User Interface
Master Kela
6.
Form Data Ruang
Form ini digunakan untuk menginput data ruang siswa.
7.
Form Data Jenis Bayar
Pada form dapat digunakan untuk menginput jenis pembayaran.
Gambar III.25.
User Interface
Data Jenis Pembayaran
8.
Form Data Siswa
Form ini digunakan untuk menginputkan data siswa.
9.
Form users
Pada form ini menampilakan menu kelola data
user yang bertujuan untuk
keamanan pada sistem agar sistem tidak digunakan oleh siapa saja.
Gambar III.27.
User Interface User
10.
Form Pembayaran
Form ini digunakan untuk melakukan transaksi pembayaran administrasi
sekolah.
11. Tampilan Kwitansi Pembayaran
Form ini menampilkan form kwitansi pembayaran yang bertujuan untuk
membuktikan bahwa siswa telah melakukan pembayaran
Gambar III.29.
User Interface
Kwitansi
12.
Tampilan Laporan Data Siswa
Form ini digunakan untuk melihat laporan data siswa yang ada di Yayasan
Nurussalam Al – Khoir Sukoharjo
13.
Tampilan Laporan Pembayaran Siswa
Form ini digunakan untuk melihat laporan pembayaran siswa yang ada di
Yayasan Nurussalam Al – Khoir Sukoharjo
Gambar III.31.
User Interface
Laporan Pembayaran Siswa
14. Tampilan Laporan Siswa yang Belum Membayar Uang Gedung
Form ini digunakan untuk melihat Siswa yang memiliki tunggakan uang
gedung yang ada di Yayasan Nurussalam Al – Khoir Sukoharjo
15. Tampilan Laporan Tunggakan SPP Siswa
Form ini digunakan untuk melihat Siswa yang memiliki tunggakan uang
gedung yang ada di Yayasan Nurussalam Al – Khoir Sukoharjo
Gambar III.33. User Interface Laporan Tunggakan SPP
3.5
Implementasi
3.5.1
Code Generation
package bib.Tampilan; import bib.KonekDB.koneksi; import bib.Class.jTable_RenderingKanan; import bib.Class.jTable_RenderingTengah; import bib.Class.lebartabel; import java.awt.Color; import java.awt.Dimension;
import static java.awt.Font.BOLD; import java.awt.Toolkit; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.text.DateFormat; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Date; import javax.swing.JOptionPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; import javax.swing.table.TableCellRenderer;
public final class USpp_Input extends javax.swing.JDialog { ResultSet rsdata = null;
DefaultTableModel tabModel; DefaultTableModel tabModel2; public class Tanggal {
private String getTahun() {
DateFormat dateFormat = new SimpleDateFormat("yyyy"); java.util.Date date = new java.util.Date();
return dateFormat.format(date); }
private String getTanggal() {
DateFormat dateFormat = new SimpleDateFormat("yy/MM/dd"); java.util.Date date = new java.util.Date();
return dateFormat.format(date); }
private String getWaktu() {
DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); java.util.Date date = new java.util.Date();
return dateFormat.format(date); }
private String getHari() {
DateFormat dateFormat = new SimpleDateFormat("EEEE"); java.util.Date date = new java.util.Date();
return dateFormat.format(date); } } } } public USpp b1;
public TableCellRenderer kanan = new jTable_RenderingKanan(); public TableCellRenderer tengah = new jTable_RenderingTengah(); public String nis, nm_siswa, id_siswa;
public void dataTerpilih2() {
// Faktur_Show_Samsat jpt1 = new Faktur_Show_Samsat(null, true); jTextField2.setText(id_siswa);
jTextField3.setText(nis); jTextField5.setText(nm_siswa); jComboBox1.requestFocus(); }
public USpp_Input(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); makeCenter(); ComboJenisBayar(); ComboTahun(); CekTmpKode(); } void TampilTabelDetail() { try {
// set Judul Tabel
Connection c = koneksi.getkoneksi(); Statement stm; stm = c.createStatement(); Object[] judul_kolom = { "Kode Bayar", "Tgl Bayar", "Jenis Bayar", "NIS", "Nama Siswa", "Tahun", "Bulan", "Nominal" };
tabModel2 = new DefaultTableModel(null, judul_kolom); jTable2.setModel(tabModel2);
JTableHeader tabelHeader = jTable2.getTableHeader(); tabelHeader.setBackground(Color.white);
tabelHeader.setForeground(Color.BLACK);
tabelHeader.setFont(new java.awt.Font("Arial", BOLD, 12)); //Set Isi Tabel
tabModel2.getDataVector().removeAllElements(); rsdata = stm.executeQuery("SELECT * FROM bu_spp "
+ "INNER JOIN m_siswa ON bu_spp.id_siswa = m_siswa.id_siswa " + "INNER JOIN m_thn ON bu_spp.id_thn = m_thn.id_thn "
+ "INNER JOIN m_jp ON bu_spp.id_jp = m_jp.id_jp "
+ "WHERE bu_spp.kode_bayar='" + jTextField7.getText() + "'"); while (rsdata.next()) {
Object[] data = {
rsdata.getString("kd_bspp"),//1 rsdata.getString("tgl_bspp"),//1
rsdata.getString("nm_jp"),//1 rsdata.getString("nis"),//2 rsdata.getString("nm_siswa"),//3 rsdata.getString("nm_thn"),//4 rsdata.getString("bulan"),//5 rsdata.getString("nominal_spp"),};//7 tabModel2.addRow(data);
// set lebar kolom
this.jTable2.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); lebartabel tca = new lebartabel(jTable2);
tca.adjustColumns();
jTable2.getColumnModel().getColumn(0).setCellRenderer(tengah); }
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Error." + e); }
}
void ComboJenisBayar() { try {
Connection c = koneksi.getkoneksi();
String query = "SELECT nm_jp FROM m_jp ORDER BY id_jp ASC"; PreparedStatement prestat = c.prepareStatement(query); ResultSet rs = prestat.executeQuery();
while (rs.next()) {
jComboBox3.addItem(rs.getString("nm_jp")); }
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "TIDAK DAPAT MENAMPILKAN LIST" + ex, "ERROR", JOptionPane.ERROR_MESSAGE);
} }
void ComboTahun() { try {
Connection c = koneksi.getkoneksi();
String query = "SELECT nm_thn FROM m_thn ORDER BY nm_thn ASC"; PreparedStatement prestat = c.prepareStatement(query);
ResultSet rs = prestat.executeQuery(); while (rs.next()) {
jComboBox1.addItem(rs.getString("nm_thn")); }
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "TIDAK DAPAT MENAMPILKAN LIST" + ex, "ERROR", JOptionPane.ERROR_MESSAGE);
} }
void TampilTabel() { try {
// set Judul Tabel
Connection c = koneksi.getkoneksi(); Statement stm; stm = c.createStatement(); Object[] judul_kolom = { "Tahun", "Bulan" };
tabModel = new DefaultTableModel(null, judul_kolom); jTable1.setModel(tabModel);
JTableHeader tabelHeader = jTable1.getTableHeader(); tabelHeader.setBackground(Color.white);
tabelHeader.setForeground(Color.BLACK);
tabelHeader.setFont(new java.awt.Font("Arial", BOLD, 12)); //Set Isi Tabel
tabModel.getDataVector().removeAllElements(); rsdata = stm.executeQuery("SELECT * FROM data_spp "
+ "INNER JOIN m_thn ON data_spp.id_thn = m_thn.id_thn " + "WHERE data_spp.nis='" + jTextField3.getText() + "'AND data_spp.stt_spp='" + "belum" + "'AND data_spp.id_thn='" + jTextField4.getText() + "' "
+ "ORDER BY data_spp.id_data ASC "); while (rsdata.next()) {
Object[] data = {
rsdata.getString("nm_thn"), rsdata.getString("bln"),};//10 tabModel.addRow(data);
// set lebar kolom
this.jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); lebartabel tca = new lebartabel(jTable1);
tca.adjustColumns(); }
JOptionPane.showMessageDialog(null, "Error." + e); } } void CekTmpKode() { try { Connection c = koneksi.getkoneksi(); Statement stm1 = c.createStatement(); Statement stm2 = c.createStatement();
ResultSet rsdata1 = stm1.executeQuery("SELECT * FROM tmp_kode "); if (rsdata1.next()) {
jTextField7.setText(rsdata1.getString("kode")); stm2.executeUpdate("DELETE FROM tmp_kode "); TampilDataForm(); TampilTabel(); TampilTabelDetail(); SubTotal(); // Proses.setText("EDIT"); } else { CekKode(); CekKode2(); TampilTabel(); TampilTabelDetail(); SubTotal(); Hapus.setEnabled(false); Date date = new Date(); jDateChooser2.setDate(date); }
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error1." + ex); } } void TampilDataForm() { try { Connection c = koneksi.getkoneksi(); Statement stm1 = c.createStatement();
ResultSet rsdata1 = stm1.executeQuery("SELECT * FROM pembayaran " + "WHERE kode_bayar='" + jTextField7.getText() + "'"); if (rsdata1.next()) { jTextField13.setText(rsdata1.getString("sub_total")); jTextField11.setText(rsdata1.getString("jml_bayar")); jTextField12.setText(rsdata1.getString("kembalian")); } else { }
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error1." + ex); } } void TampilDataFormKlikTabel() { String kdd = (tabModel2.getValueAt(jTable2.getSelectedRow(), 0) + ""); try { Connection c = koneksi.getkoneksi(); Statement stm1 = c.createStatement();
ResultSet rsdata1 = stm1.executeQuery("SELECT * FROM bu_spp "
+ "INNER JOIN m_siswa ON bu_spp.id_siswa = m_siswa.id_siswa " + "INNER JOIN m_jp ON bu_spp.id_jp = m_jp.id_jp "
+ "INNER JOIN m_thn ON bu_spp.id_thn = m_thn.id_thn " + "WHERE bu_spp.kd_bspp='" + kdd + "'"); if (rsdata1.next()) { jTextField1.setText(rsdata1.getString("kd_bspp")); jTextField2.setText(rsdata1.getString("id_siswa")); jTextField4.setText(rsdata1.getString("id_thn")); jTextField6.setText(rsdata1.getString("id_jp")); jDateChooser2.setDate(rsdata1.getDate("tgl_bspp")); jTextField3.setText(rsdata1.getString("nis")); jTextField5.setText(rsdata1.getString("nm_siswa")); jComboBox3.setSelectedItem(rsdata1.getString("nm_jp")); jComboBox1.setSelectedItem(rsdata1.getString("nm_thn")); jComboBox2.setSelectedItem(rsdata1.getString("bulan")); jTextField10.setText(rsdata1.getString("nominal_spp")); // jTextArea1.setText(rsdata1.getString("ket_spp")); } else { }
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error1." + ex); } } void RubahJadiId() { try { Connection c = koneksi.getkoneksi(); Statement stm1 = c.createStatement(); Statement stm2 = c.createStatement(); Statement stm3 = c.createStatement();
ResultSet rsdata1 = stm1.executeQuery("SELECT * FROM m_siswa WHERE nis='" + jTextField3.getText() + "'");
if (rsdata1.next()) {
jTextField2.setText(rsdata1.getString("id_siswa"));
ResultSet rsdata2 = stm2.executeQuery("SELECT * FROM m_thn WHERE nm_thn='" + jComboBox1.getSelectedItem() + "'");
if (rsdata2.next()) {
jTextField4.setText(rsdata2.getString("id_thn"));
ResultSet rsdata3 = stm3.executeQuery("SELECT * FROM m_jp WHERE nm_jp='" + jComboBox3.getSelectedItem() + "'"); if (rsdata3.next()) { jTextField6.setText(rsdata3.getString("id_jp")); simpan_edit(); } } }
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error." + ex); } } void simpan_edit() { if (Proses.getText().equals("SIMPAN DETAIL")) { Simpan(); } else { Edit(); } } void KosongkanForm() { jTextField1.setText(""); //jTextField3.setText(""); //jTextField5.setText(""); jTextField10.setText("0"); // jTextArea1.setText(""); jComboBox3.setSelectedItem("Pilih"); jComboBox1.setSelectedItem("Pilih"); jComboBox2.setSelectedItem("Pilih"); jTextField2.setText(""); jTextField6.setText(""); jTextField4.setText(""); } void Simpan() { try {
String tampilan = "yyyy-MM-dd";
SimpleDateFormat fm = new SimpleDateFormat(tampilan);
String tgl_bspp = String.valueOf(fm.format(jDateChooser2.getDate())); Connection c = koneksi.getkoneksi();
Statement stm = c.createStatement(); Statement stm2 = c.createStatement();
stm.executeUpdate("INSERT INTO bu_spp SET kode_bayar='" + jTextField7.getText() + "'," + "kd_bspp='" + jTextField1.getText() + "'," + "tgl_bspp='" + tgl_bspp + "'," + "id_siswa='" + jTextField2.getText() + "'," + "id_jp='" + jTextField6.getText() + "'," + "id_thn='" + jTextField4.getText() + "'," + "bulan='" + jComboBox2.getSelectedItem() + "'," + "nominal_spp='" + jTextField10.getText() + "'," + "ket_spp='" + "" + "'");
if (jTextField6.getText().equals("1")) { //UANG GEDUNG
stm2.executeUpdate("UPDATE m_siswa SET stt_ug='" + "lunas" + "'WHERE id_siswa='" + jTextField2.getText() + "'");
stm2.executeUpdate("UPDATE data_spp SET stt_spp='" + "lunas" + "'WHERE nis='" + jTextField3.getText() + "'AND id_thn='" + jTextField4.getText() + "'AND bln='" + jComboBox2.getSelectedItem() + "'"); } } TampilTabelDetail(); SubTotal(); KosongkanForm(); CekKode(); } catch (Exception e) {
JOptionPane.showMessageDialog(null, "Error." + e); }
}
void Edit() { try {
String tampilan = "yyyy-MM-dd";
SimpleDateFormat fm = new SimpleDateFormat(tampilan);
String tgl_bspp = String.valueOf(fm.format(jDateChooser2.getDate())); Connection c = koneksi.getkoneksi();
Statement stm = c.createStatement();
stm.executeUpdate("UPDATE bu_spp SET nominal_spp='" +
jTextField10.getText() + "'WHERE kd_bspp='" + jTextField1.getText() + "'"); TampilTabelDetail();
SubTotal(); KosongkanForm(); CekKode(); } catch (Exception e) {
JOptionPane.showMessageDialog(null, "Error." + e); } } void HitungBayar() { try { String dpp = jTextField11.getText(); String ppn = jTextField13.getText(); double nilai1 = Double.parseDouble(dpp); double nilai2 = Double.parseDouble(ppn); DecimalFormat df = new DecimalFormat("#.##");
this.jTextField12.setText(df.format(nilai1 - nilai2)); } catch (Exception e) { } } void SubTotal() { try { Connection c = koneksi.getkoneksi(); Statement stm2 = c.createStatement();
ResultSet rsdata2 = stm2.executeQuery("SELECT SUM(nominal_spp) as nmnl FROM bu_spp WHERE kode_bayar='" + jTextField7.getText() + "'");
if (rsdata2.next()) {
jTextField13.setText(rsdata2.getString("nmnl")); }
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error." + ex); }
}
private void ProsesActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
if (jTextField1.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Anda belum memasukan Kode"); jTextField1.requestFocus();
} else if (jDateChooser2.getDate() == null) {
JOptionPane.showMessageDialog(null, "Anda belum memasukan tanggal Bayar");
jDateChooser2.requestFocus();
} else if (jTextField3.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Anda belum memasukan NIS"); jTextField3.requestFocus();
} else if (jComboBox1.getSelectedItem().equals("Pilih")) {
JOptionPane.showMessageDialog(null, "Anda belum memilih tahun"); jComboBox1.requestFocus();
} else if (jComboBox2.getSelectedItem().equals("Pilih")) {
JOptionPane.showMessageDialog(null, "Anda belum memilih bulan"); jComboBox2.requestFocus();
} else if (jComboBox3.getSelectedItem().equals("Pilih")) {
JOptionPane.showMessageDialog(null, "Anda belum memilih Jenis bayar"); jComboBox3.requestFocus();
} else {
int ok = JOptionPane.showConfirmDialog(null, "Proses ?", "Konfirmasi", JOptionPane.YES_NO_OPTION); if (ok == 0) { RubahJadiId(); } else { } } } }
private void HapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
int ok = JOptionPane.showConfirmDialog(null, "Hapus Data ?", "Konfirmasi", JOptionPane.YES_NO_OPTION);
if (ok == 0) {
HapusTransaksi(); }
}
private void KembaliActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
b1.dataTerpilih1(); this.dispose(); }
private void jTextField3KeyTyped(java.awt.event.KeyEvent evt) { // TODO add your handling code here:
if (jTextField3.getText().length() == 30) { evt.consume();
}
}
private void jTextField1KeyTyped(java.awt.event.KeyEvent evt) { // TODO add your handling code here:
if (jTextField1.getText().length() == 30) { evt.consume();
}
}
private void jTextField5KeyTyped(java.awt.event.KeyEvent evt) { // TODO add your handling code here:
if (jTextField5.getText().length() == 30) { evt.consume();
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
USpp_Input_ListSiswa satu = new USpp_Input_ListSiswa(null, true); satu.a2 = this;
satu.setVisible(true); }
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
if (jTextField6.getText().equals("2")) { try {
Connection c = koneksi.getkoneksi(); Statement stm2 = c.createStatement();
ResultSet rsdata2 = stm2.executeQuery("SELECT * FROM m_thn WHERE nm_thn='" + jComboBox1.getSelectedItem() + "'");
if (rsdata2.next()) {
jTextField4.setText(rsdata2.getString("id_thn")); TampilTabel();
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error." + ex); }
} else { try {
Connection c = koneksi.getkoneksi(); Statement stm2 = c.createStatement();
ResultSet rsdata2 = stm2.executeQuery("SELECT * FROM m_thn WHERE nm_thn='" + jComboBox1.getSelectedItem() + "'");
if (rsdata2.next()) {
jTextField4.setText(rsdata2.getString("id_thn")); //TampilTabel();
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error." + ex); }
}
}
private void jComboBox3ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
try {
Connection c = koneksi.getkoneksi(); Statement stm2 = c.createStatement();
ResultSet rsdata2 = stm2.executeQuery("SELECT * FROM m_jp WHERE nm_jp='" + jComboBox3.getSelectedItem() + "'"); if (rsdata2.next()) { jTextField6.setText(rsdata2.getString("id_jp")); jTextField10.setText(rsdata2.getString("jml_jp")); jTextField11.requestFocus(); if (jTextField6.getText().equals("2")) { jComboBox2.setEnabled(true); } else { jComboBox2.setEnabled(false); } }
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error." + ex); }
}
private void jTextField11KeyReleased(java.awt.event.KeyEvent evt) { // TODO add your handling code here:
HitungBayar(); }
private void TrxSelesaiActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
try {
String tampilan = "yyyy-MM-dd";
SimpleDateFormat fm = new SimpleDateFormat(tampilan);
String tgl_bspp = String.valueOf(fm.format(jDateChooser2.getDate())); Connection c = koneksi.getkoneksi();
Statement stm = c.createStatement(); Statement stm2 = c.createStatement(); Statement stm3 = c.createStatement();
ResultSet rsdata3 = stm3.executeQuery("SELECT * FROM pembayaran WHERE kode_bayar='" + jTextField7.getText() + "' ");
if (rsdata3.next()) {
stm2.executeUpdate("UPDATE pembayaran SET tgl_bayar='" + tgl_bspp + "',"
+ "sub_total='" + jTextField13.getText() + "'," + "jml_bayar='" + jTextField11.getText() + "'," + "kembalian='" + jTextField12.getText() + "'WHERE kode_bayar='" + jTextField7.getText() + "'");
} else {
stm.executeUpdate("INSERT INTO pembayaran SET kode_bayar='" + jTextField7.getText() + "'," + "tgl_bayar='" + tgl_bspp + "'," + "sub_total='" + jTextField13.getText() + "'," + "jml_bayar='" + jTextField11.getText() + "'," + "kembalian='" + jTextField12.getText() + "'"); } } catch (Exception e) {
JOptionPane.showMessageDialog(null, "Error." + e); }
b1.dataTerpilih1(); this.dispose();
}
private void jTextField7KeyTyped(java.awt.event.KeyEvent evt) { // TODO add your handling code here:
}
// TODO add your handling code here:
int ok = JOptionPane.showConfirmDialog(null, "Hapus Data ?", "Konfirmasi", JOptionPane.YES_NO_OPTION); if (ok == 0) { try { Connection c = koneksi.getkoneksi(); Statement stm1 = c.createStatement(); Statement stm2 = c.createStatement(); Statement stm3 = c.createStatement(); Statement stm4 = c.createStatement(); Statement stm5 = c.createStatement();
ResultSet rsdata3 = stm3.executeQuery("SELECT * FROM m_thn WHERE nm_thn='" + jComboBox1.getSelectedItem() + "'");
if (rsdata3.next()) {
jTextField4.setText(rsdata3.getString("id_thn"));
ResultSet rsdata4 = stm4.executeQuery("SELECT * FROM m_siswa WHERE nis='" + jTextField3.getText() + "'");
if (rsdata4.next()) {
jTextField2.setText(rsdata4.getString("id_siswa")); ResultSet rsdata5 = stm5.executeQuery("SELECT * FROM m_jp WHERE nm_jp='" + jComboBox3.getSelectedItem() + "'");
if (rsdata5.next()) {
jTextField6.setText(rsdata5.getString("id_jp")); if (jTextField6.getText().equals("1")) {
stm1.executeUpdate("DELETE FROM bu_spp WHERE kd_bspp='" + jTextField1.getText() + "'");
stm2.executeUpdate("UPDATE m_siswa SET stt_ug='" + "belum" + "'WHERE id_siswa='" + jTextField3.getText() + "'");
TampilTabelDetail(); SubTotal(); KosongkanForm(); CekKode();} else if (jTextField6.getText().equals("2")) { } else if (jTextField6.getText().equals("2")) { stm1.executeUpdate("DELETE FROM bu_spp WHERE kd_bspp='" + jTextField1.getText() + "'");
stm2.executeUpdate("UPDATE data_spp SET stt_spp='" + "belum" + "'WHERE nis='" + jTextField3.getText() + "'AND id_thn='" +
jTextField4.getText() + "'AND bln='" + jComboBox2.getSelectedItem() + "' "); TampilTabelDetail();
SubTotal(); KosongkanForm(); CekKode(); } else {
stm1.executeUpdate("DELETE FROM bu_spp WHERE kd_bspp='" + jTextField1.getText() + "'"); TampilTabelDetail(); SubTotal(); KosongkanForm(); CekKode(); } } } } } catch (Exception e) { e.printStackTrace(); } } }
private void jTable2MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here:
TampilDataFormKlikTabel();
} public static void main(String args[]) { /* Create and display the dialog */
java.awt.EventQueue.invokeLater(new Runnable() { public void run() {
USpp_Input dialog = new USpp_Input(new javax.swing.JFrame(), true);
dialog.addWindowListener(new java.awt.event.WindowAdapter() { @Override
System.exit(0); } }); dialog.setVisible(true); } }); }
// Variables declaration - do not modify private javax.swing.JButton Hapus;
private javax.swing.JButton Hapus1; private javax.swing.JButton Kembali; private javax.swing.JButton Proses; private javax.swing.JButton TrxSelesai; private javax.swing.JButton jButton1; private javax.swing.JComboBox jComboBox1; private javax.swing.JComboBox jComboBox2; private javax.swing.JComboBox jComboBox3;
private com.toedter.calendar.JDateChooser jDateChooser2; private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel18; private javax.swing.JLabel jLabel19; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel20; private javax.swing.JLabel jLabel21; private javax.swing.JLabel jLabel22; private javax.swing.JLabel jLabel23; private javax.swing.JLabel jLabel24; private javax.swing.JLabel jLabel25; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel5;
private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane3; private javax.swing.JTable jTable1;
private javax.swing.JTable jTable2;
private javax.swing.JTextField jTextField1; private bib.Class.ClassMataUang jTextField10; private bib.Class.ClassMataUang jTextField11; private bib.Class.ClassMataUang jTextField12; private bib.Class.ClassMataUang jTextField13; private javax.swing.JTextField jTextField2; private javax.swing.JTextField jTextField3; private javax.swing.JTextField jTextField4; private javax.swing.JTextField jTextField5; private javax.swing.JTextField jTextField6; private javax.swing.JTextField jTextField7; // End of variables declaration void makeCenter() {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = this.getSize();
if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } this.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); } void CekKode() { KodeOtomatis(); jTextField1.setText("PSPP-" + jTextField1.getText() + ""); jButton1.requestFocus(); } void KodeOtomatis() {
Tanggal tgl = new Tanggal();
String thn_sekarang = (tgl.getTanggal()); try {
Connection c = koneksi.getkoneksi(); Statement stm = c.createStatement();
ResultSet rsdata = stm.executeQuery("SELECT * FROM bu_spp ORDER BY id_spp DESC");
if (rsdata.next()) {
String id_divisi = (rsdata.getString("id_spp")); double nilai1 = Double.parseDouble(id_divisi); DecimalFormat df = new DecimalFormat("#.##");
this.jTextField1.setText(df.format(nilai1 + 1)); PaketUbahKode();
jTextField1.setText("" + thn_sekarang + "" + jTextField1.getText() + ""); String n1 = jTextField1.getText(); String hsl = n1.replace("/", ""); jTextField1.setText(hsl); } else { jTextField1.setText("1"); PaketUbahKode();
jTextField1.setText("" + thn_sekarang + "" + jTextField1.getText() + "");
String n1 = jTextField1.getText(); String hsl = n1.replace("/", ""); jTextField1.setText(hsl);
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "QUERY ERROR" + ex, "ERROR", JOptionPane.ERROR_MESSAGE); } } void SimpanUbahKode() { try { Connection c = koneksi.getkoneksi(); Statement stm = c.createStatement();
stm.executeUpdate("INSERT INTO ubah_kode SET kode='" + jTextField1.getText() + "'");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Error." + e); } } void TampilUbahKode() { try { Connection c = koneksi.getkoneksi(); Statement stm = c.createStatement(); Statement stm1 = c.createStatement();
ResultSet rsdata = stm.executeQuery("SELECT * FROM ubah_kode"); if (rsdata.next()) {
jTextField1.setText(rsdata.getString("kode")); stm1.executeUpdate("DELETE FROM ubah_kode"); }
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "QUERY ERROR" + ex, "ERROR", JOptionPane.ERROR_MESSAGE); } } void PaketUbahKode() { SimpanUbahKode(); TampilUbahKode(); } void CekKode2() { KodeOtomatis2(); jTextField7.setText("NB-" + jTextField7.getText() + ""); jButton1.requestFocus(); } void KodeOtomatis2() { try { Connection c = koneksi.getkoneksi(); Statement stm = c.createStatement();
ResultSet rsdata = stm.executeQuery("SELECT * FROM pembayaran ORDER BY id_byr DESC");
if (rsdata.next()) {
String id_divisi = (rsdata.getString("id_byr")); double nilai1 = Double.parseDouble(id_divisi); DecimalFormat df = new DecimalFormat("#.##"); this.jTextField7.setText(df.format(nilai1 + 1)); PaketUbahKode2(); } else { jTextField7.setText("1"); PaketUbahKode2(); }
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "QUERY ERROR" + ex, "ERROR", JOptionPane.ERROR_MESSAGE);