LATAR BELAKANGSeiring perkembangan zaman, perkembangan teknologi
pun semakin pesat, berbicara tentang teknologi dan informasi,
komputer merupakan suatu media elektronik yang memegang peranan
yang sangat penting dalam perkembangan teknologi saat ini, serta
terus menerus mendominasi berbagai proses kerja agar dapat lebih
mudah, efektif dan efisien.
Perkembangan teknologi komputer juga telah merambat kedalam
dunia pendidikan, hampir seluruh sekolah telah memiliki teknologi
yang canggih dalam pengolahan data sekolah, seperti pencatan data
pembayaran SPP dan pembuatan laporan pembayaran SPP.
Dalam pencatatan pembayaran SPP, kesalahan sekecil apapun dapat
mengakibatkan tidak teraturnya data yang disimpan. Oleh karena itu
staff TU membutuhkan ketelitian dalam mengolah data pembayaran agar
dapat menangani hal tersebut. Proses pencatatan data pembayaran
yang sedang berjalan saat ini masih terlihat tidak tepat sasaran,
hal itu dapat mempersulit dalam pembuatan laporan, sehingga dalam
penyerahannya tidak tepat waktu. Melihat banyaknya data pembayaran
SPP disimpan dalam bentuk berkas, maka perlu suatu media
penyimpanan yang terpusat sebagai pengganti buku besar.
Staff TU sebagai aktor yang yang berperan penting dalam proses
pencatatan data pembayaran SPP terkadang mendapat kesulitan, proses
pencatatan kedalam buku besar, kerusakan dokumen pada saat
disimpan, kehilangan dokumen, proses penyimpanan data masih
berbentuk fisik.1. TUJUAN PROYEKTujuan dari pembuatan sistem ini
adalah untuk menciptakan pencatatan data pembayaran SPP berbasis
layanan sistem informasi.
2. SIGNIFIKASI PROYEKPenerapan aplikasi database dilakukan
karena proses pencatatan yang berjalan saat ini tidak tepat dalam
menangani data pembayaran SPP. Hal itu akan menyebabkan pembuatan
laporan tertunda.Proyek ini menekankan pada usaha menertibkan cara
dan mekanisme pencatatan pembayaran yang berbasis komputer dengan
maksud menghilangkan ketidakakuratan informasi penanganan
pencatatan yang selama ini digunakan.
3. MASALAH PROYEKa. Identifikasi MasalahPermasalahan yang dapat
diidentifikasi dari lingkup projek yaitu:1. Pencatatan data
pembayaran spp tidak tepat.2. Sering terjadi kekeliruan saat proses
pencatatan data pembayaran.3. Tertundanya pembuatan data laporan
pembayaran. b. Pokok MasalahBerdasarkan identifikasi permasalahan
di atas, maka dapat ditetapkan pokok masalahnya yaitu: penanganan
data pembayaran SPP tidak tepat sasaran.c. Rumusan
MasalahBerdasarkan pokok permasalahan di atas, maka dapat
dirumuskan: Bagaimana menerapkan aplikasi database untuk pelayanan
pencatatan data pembayaran SPP pada SMP ANGKASA BOGOR ?d.
Keterbatasan MasalahKeterbatasan pada saat membangun penerapan
aplikasi database untuk pelayanan pencatatan data pembayaran SPP
ini adalah belum adanya peralatan di sekolah ini yang mendukung
untuk membangun penerapan aplikasi database, karena sistem
sebelumnya hanya menggunakan alat tulis kantor biasa dan sulitnya
pengumpulkan data yang sudah diarsipkan.
PENDEKATAN PROYEK1. Feasibilitya. Economic
FeasibiltyBIAYA-BIAYATAHUN0TAHUN1TAHUN2TAHUN3
1Biaya persiapan perangkat lunak
ABiaya Perlengkapan Perangkat Lunak Sistem2.000.000
BBiaya Instalasi Perangkat Lunak Sistem250.000
Total biaya operasional2.250.000
2Biaya proyek
ABiaya konsultan
1. Orang analis sistem2.000.000
2. Orang programmer1.500.000
3. Biaya Akomodasi Dan Perjalanan500.000
Total Biaya Persiapan Operasional4.000.000
BTahap analis sistem
1. Biaya Untuk Mengumpulkan Data150.000
2. Biaya Untuk Dokumentasi (Fotocopy, Kertas)250.000
3. Biaya Rapat150.000
Total Biaya Tahap Analis Sistem550.000
CTahap Design Sistem
1. Biaya Dokumentasi250.000
2. Biaya Rapat150.000
Total Biaya Tahap Design Sistem400.000
DTahap Penerapan Sistem
1. Biaya Pembuatan Formulir Baru250.000
2. Biaya Latihan Personil400.000
Total Biaya Penerapan Sistem650.000
Total Biaya Pengembangan Sistem7.800.000
3Biaya Operasi Dan Perawatan
ABiaya Personil200.000250.000300.000
BBiaya Perawatan Hardware (reparasi dan
service)750.000800.000850.000
CBiaya Perawatan Software (modifikasi
software)500.000600.000700.000
Total Biaya Operasi dan Perawatan1.450.0001.650.0001.850.000
Total Biaya-biaya7.800.0001.450.0001.650.0001.850.000
ManfaatTAHUN 0TAHUN 1TAHUN 2TAHUN 3
1Keuntungan Berwujud
APengurangan biaya operasi750.000750.000750.000
BPengurangan biaya telekomunikasi250.000250.000250.000
CPengurangan kesalahan proses400.000400.000400.000
DPeningkatan proses pembayaran
spp1.500.0001.500.0001.500.000
Total Keuntungan Berwujud2.900.0002.900.0002.900.000
2Keuntungan Tak Berwujud
Apeningkatan kepuasaan staff terhadap
sekolah1.500.0002.000.0002.500.000
Bpeningkatan kinerja staff750.0001.250.0002.000.000
Cpeningkatan keputusan sekolah750.000750.000750.000
Total Keuntungan Tak Berwujud3.000.0004.000.0005.250.000
Total Manfaat5.900.0006.900.0008.150.000
Selisih Total Manfaat Dengan Total
Biaya7.800.0004.450.0005.250.0006.300.000
Tabel 1. Economic feasibility
Metode Return Of Investment (ROI)Metode ini digunakan untuk
mengukur prosentase manfaat yang dihasilkan oleh proyek
dibandingkan dengan biaya yang dikeluarkannya. Atau besarnya
keuntungan yang bisa diperoleh dalam (%) selama periode yang telah
ditentukan
ManfaatManfaat tahun ke-1=Rp 4.450.000;Manfaat tahun ke-2=Rp
5.250.000;Manfaat tahun ke-3=Rp 6.300.000; +Total Manfaat=Rp
16.000.000;BiayaBiaya tahun ke-0=Rp. 7.800.000;Biaya tahun ke-1=Rp.
1.450.000;Biaya tahun ke-2=Rp 1.600.000;Biaya tahun ke-3=Rp
1.750.000; +Total Biaya=Rp 12.200.000;
Suatu proyek investasi yang mempunyai ROI (Return Of Investment)
lebih besar dari 0 adalah proyek yang dapat diterima. pada nilai
ROI proyek ini adalah 31 %, maka akan dikatakan proyek ini dapat
diterima, karena proyek ini akan memberikan keuntungan sebesar 31%
dari biaya investasinya.
b. Operational FeasibilityItem PenilaianPenilaian
Kemampuan PersonilMampu
kemampuan pengendalian operasi sistem informasiBaik
Kemampuan sistem informasi yang menghasilkan informasiBaik
Tabel 2. Operational feasibility
Dalam menggunakan aplikasi database yang akan dibangun tidak
perlu lagi menggunakan personil yang bersifat khusus, karena dalam
penggunaan komputer itu sendiri staff TU sudah memiliki pengetahuan
yang baik tentang komputer, sehingga tidak perlu lagi biaya untuk
pelatihan personil dalam menggunakan komputer, hal ini
dikarenakan:1. Waktu lebih efisien, karena pencatatan pembayaran
SPP telah terkomputerisasi.2. Kemudahan dalam penyimpanan data ke
dalam database.3. Proses pembuatan laporan lebih akurat.
Item PenilaianPenilaian
Ketersediaan Teknologi Di PasaranMudah
Kemudahan Dalam MengoperasikanMudah
Tabel 3. Item Penilaian
Kebutuhan teknologi mudah ditemui dan didapat di pasaran,
kapasitas yang diperlukan oleh perangkat lunak cukup menjangkau
sehingga tidak perlu lagi menambah biaya untuk membeli atau
menambah kapasitas untuk penyimpanan data yang lebih besar,
pengoperasian komputer yang didapat sangat mudah dioperasikan
karena teknologi di pasaran bersifat umum.c. Legal FeasibilitySemua
perangkat lunak yang digunakan dalam sistem ini antara lain
menggunakan :Windows XP Professional service pack 2.Program
JAVABisa didownload di http://netbeans.org/downloads/
Database MySQL 1.5Bisa didownload di
http://mysql.brothersoft.com/mysql-2.0.1.5.htmlFirefox 10.0 for
Windows.Bisa didownload di
http://www.mozilla.org/en-US/firefox/new/ secara gratis.
d. Schedule FeasibilityTabel Daftar Aktivitas Proyek dengan
Waktu yang Diharapkan (Expected Time)NoKegiatanId KegiatanWaktu
Optimis (a)Waktu Realistis (m)Waktu Pesimis (b)Waktu Yang
Diharapkan (ET)
1Identifikasi Masalah11121.2
2Rumusan Masalah21232
3Analisa Implementasi3.12343
4Analisa Kebutuhan Sistem3.21353
5Pembuatan Proposal Proyek4.17898
6Pengajuan Proposal Proyek 4.23575
7Seminar Proposal4.31121.2
8Desain Database5.15797
9Desain Sistem5.22464
10Pembuatan Modul63575
11Pengujian73685.9
12Dokumentasi81121.2
13Seminar Proyek91121.2
14Implementasi Sistem102464
15Evaluasi dan Perbaikan114696.2
16Perawatan121121.2
Tabel 4. Shedule feasibility
ET= a+4(m)+b 6
Keterangan Formula:ET= Expected Timea= Waktu Optimisb= Waktu
Pesimism= Waktu Realistis
Melalui tabel diatas diketahui bahwa proyek ini di harapkan
dapat selesai paling cepat dalam jangka waktu 59 hari (jumlah waktu
realistis), dengan estimasi bahwa paling lama proyek ini memerlukan
waktu selama 59.1 hari (jumlah total waktu yang diharapkan
(Expected Time)) untuk selesai, maka dapat disimpulkan bahwa proyek
ini telah memenuhi kelayakan jadwal pengerjaannya.e.
Penjadwalan
Gambar 1. Penjadwalan
ISPM-STIKOM BINANIAGA BOGOR 201282
ISPM-STIKOM BINANIAGA BOGOR 201283
2. Pemikiran Teoritisa. Database dan AplikasiSecara sederhana
database (basis data) dapat diungkapkan sebagai suatu
pengorganisasian data dengan bantuan komputer yang memungkinkan
data dapat diakses dapat mencakup pemerolehan data maupun
pemanipulasian data, seperti menambah dan menghapus data (Abdul
Kadir, p2)Menurut Jogiyanto (2001) aplikasi merupakan penerapan,
menyimpan sesuatu hal, data, permasalahan, pekerjaan kedalam suatu
sarana atau media yang dapat digunakan untuk menerapkan atau
menginplementasikan hal atau permasalahan yang ada sehingga berubah
menjadi suatu bentuk yang baru tanpa menghilangkan nilai-nilai
dasar dari hal data, permasalahan, pekerjaan itu sendiri.b.
Pembayaran SPPSPP adalah salah satu sumber dana terpenting bagi
sekolah. Dana dari SPP ini digunakan untuk biaya operasional
sekolah dan juga kegiatan yang ada disekolah. Biaya SPP dibebankan
kepada siswa dan dibayarkan setiap bulannya sebesar yang telah
ditentukan oleh sekolah. SPP diatur dalam PERATURAN PEMERINTAH
REPUBLIK INDONESIA NOMOR 48 TAHUN 2008 TENTANG PENDANAAN PENDIDIKAN
pasal 49 ayat ( 1 ) dan ( 2 ), pasal 51 ayat ( 1 ) dan ( 6 ) yang
bunyinya : Pasal 49 ayat ( 1 )Masyarakat di luar penyelenggara dan
satuan pendidikan yang didirikan masyarakat serta peserta didik
atau orang tua/walinya dapat memberikan sumbangan pendidikan secara
sukarela dan sama sekali tidak mengikat kepada satuan
pendidikan.Pasal 49 ayat ( 2 )Sumbangan pendidikan sebagaimana
dimaksud pada ayat (1) dibukukan dan dipertanggungjawabkan secara
transparan kepada pemangku kepentingan satuan pendidikan .Pasal 51
ayat ( 1 )Pendanaan pendidikan bersumber dari Pemerintah,
pemerintah daerah, dan masyarakat.
Pasal 51 ayat ( 6 )Dana pendidikan satuan pendidikan yang
diselenggarakan oleh penyelenggara atau satuan pendidikan yang
didirikan masyarakat dapat bersumber dari: a.bantuan dari
penyelenggara atau satuan pendidikan yang bersangkutan; b.bantuan
dari Pemerintah; c.bantuan dari pemerintah daerah; d.pungutan dari
peserta didik atau orang tua / walinya yang dilaksanakan sesuai
peraturan perundang-undangan; e.bantuan dari pemangku kepentingan
satuan f.pendidikan di luar peserta didik atau orang tua/walinya;
g.bantuan pihak asing yang tidak mengikat; dan/atau h.sumber
lainnya yang sah.
3. Kerangka PemecahanPada metode pendekatan sistem penulis
menggunakan metode Object Oriented (OO) karena sistem informasi
yang digunakan sebelumnya masih belum jelas, sehingga dengan
menggunakan metode ini penulis dapat memfokuskan kepada sistem
informasi yang akan dibangun.4. Konsepsi PemecahanPerancangan
sistem ini menggunakan program Netbeans dengan bahasa pemrograman
Java sebagai Aplikasi dan mySQL sebagai Database, sehingga tewujud
sebuah aplikasi database yang mampu mengolah data pembayaran SPP
lebih akurat pada sekolah tersebut. Hasil akhir dari aplikasi
database ini dapat membantu Staff TU dalam pencatatan data
pembayaran SPP yang akurat.5. Analisisa. Pengumpulan data Observasi
(Pengamatan Lapangan), mengenai tata cara atau proses pencatatan
data pembayaran ke dalam buku besar mulai dari tahap awal sampai
tahap pembuatan laporan. Wawancara, menanyakan tentang data-data
dan sistem pembayaran spp yang sedang berjalan. Ini merupakan data
yang didapat dari hasil wawancara langsung tanpa diolah terlebih
dahulu. Studi Kepustakaan, membaca informasi tertulis dari arsip
laporan pembayaran SPP sebagai landasan untuk membandingkan masalah
yang diteliti dan ini merupakan data yang diperoleh dari
dokumen-dokumen yang ada pada Sekolah tersebut.
b. Analisa dataMenganalisa data pembayaran spp di
pengarsipan.Menganalisa data siswa di buku besar.
c. Persiapan proposal Menyajikan analisis biaya. Mempersiapkan
proposal. Menyajikan proposal.d. Proses Bisnis
Gambar 2. Proses bisnis
PEMODELAN DAN STRUKTUR1. Arsitektur
Gambar diatas menunjukan kerangka arsitektur yang dijalankan
pada sistem pembayaran SPP dengan rincian sebagai berikut :a.
HardwareItem HardwareSpesifikasi
ProsesorIntel B960 ( 2.2 GHz, 2MB L3 cache )
Memory2 GB DDR3 ( 1333 Mhz )
Display14 HD Color Shine (LED) res (1366 x 768 )
Hard Drive500 GB ( 5400 rpm )
I/O Ports1x USB 3.0 , 2x USB 2.0, HDMI
PrinterCanon 280 mp
Tabel 5. Hardwareb. SoftwareItem SoftwareSpesifikasi
Operating SystemWindows 7 Ultimate SP1 32-bit Lite
Program AplikasiADPSPP.exe
DatabaseMicrosoft SQL Server 2005
DriverDriver canon 280 mp series
Tabel 6. Softwarec. JaringanPada bagian ini digunakan usb cable
untuk mengkoneksikan antara printer dan komputer.
2. Komponen Struktura. SkenarioPada Sistem Informasi Pembayaran
SPP melibatkan dua user yaitu Staff TU dan Kepala Sekolah. Staff TU
dan Kepala Sekolah memiliki Username dan Password untuk bisa masuk
ke dalam sistem, sistem akan melakukan validasi berupa
authentifikasi terhadap username dan password yang dimasukkan serta
menentukan otorisasi untuk user tersebut. Sistem ini di mulai dari
Staff TU input data siswa, input data pembayaran dan Cetak laporan
pembayaran sehingga data pembayaran telah tercatat ke dalam
database. Kepala Sekolah akan meminta laporan pembayaran yang
sebelumnya telah diinputkan kedalam database oleh Staff TU,
sehingga data pembayaran bisa dicetak setelah Kepala Sekolah
meminta data pembayaran tersebut.Dalam poses pendataan, Staff TU
bertindak sebagai individu yang memiliki hak akses penuh terhadap
input data siswa, input data pembayaran dan cetak laporan
pembayaran terhadap data yang telah diinput sebelumnya. Kemudian
laporan pembayaran tersebut akan diberikan kepada Kepala Sekolah
sebagai dokumentasi.Dalam proses pencatatan data pembayaran, Siswa
akan memberikan kartu pembayaran kepada Staff TU sebelum proses
input data pembayaran. Kemudian Staff TU mengembalikan kartu
pembayaran setelah proses penginputan data pembayaran selesai
dilakukan. Staff TU melakukan input data siswa sebagai data untuk
menginputkan data pembayaran kedalam sistem lalu disimpan kedalam
database. Dan dalam proses menyerahkan laporan pembayaran, Staff TU
akan mencetak laporan pembayaran setiap bulan dan tahunnya. Kepala
sekolah akan menerima laporan pembayaran dari Staff TU. Hal ini
dibutuhkan database untuk membuat jadwal laporan pembayaran diakhir
bulan. Kepala sekolah dan siswa tidak dapat mengakses ke dalam
sistem.
b. Diagram Konteks
Gambar 3. Diagram konteks
c. Identifikasi AktorAktorIstilahDeskripsi
Staff TUTata UsahaUser berperan sebagai individu yang mempunyai
hak akses penuh terhadap sistem. Staff TU memiliki peranan sangat
penting dalam sistem ini. Staff TU menginputkan data siswa dan
pembayaran yang sebelumnya melakukan transaksi kepada siswa, dan
menyimpannya didalam database, kemudian mencetak hasil pembayaran
tersebut.
Kepala SekolahUser berperan sebagai penerima laporan pembayaran
yaitu laporan pembayaran perbulan dan pertahun dari Staff TU.
Kepala sekolah memiliki hak akses kedalam sistem.
SiswaUser berperan sebagai pelaku transaksi yakni melakukan
pembayaran spp. Siswa tidak memiliki hak akses didalam sistem.
Tabel 7. Identifikasi Aktor
d. Identifikasi Use CaseNama Use CaseDeskripsi Use CasePelaku
Utama
LoginUse case ini mendeskripsikan tentang kegiatan yang
dilakukan Staff TU dalam menginputkan username dan password yang
telah ditentukan.Staff TU
Input data siswaUse case ini mendeskripsikan tentang kegiatan
yang dilakukan Staff TU dalam menginputkan data siswa sebelum
menginputkan data pembayaran kedalam sistem.Staff TU
Input data pembayaranUse case ini mendeskripsikan tentang
kegiatan yang dilakukan Staff TU dalam menginputkan data pembayaran
kedalam database.Staff TU
Cetak laporan pembayaranUse case ini mendeskripsikan tentang
kegiatan yang dilakukan Staff TU dalam mencetak laporan pembayaran
di dalam database.Staff TU
Tabel 8. Identifikasi Use Case
e. Matriks RangkingNama Use CaseKriteria Rangking 1 Sampai 5Skor
TotalPrioritasSiklus Pembangunan
123456
Login54555327Tinggi1
Input data siswa54545326Tinggi2
Input data pembayaran44334523Tinggi3
Cetak laporan pembayaran34334219Sedang4
Tabel 9. Matriks Rangking
Keterangan Rangking :1. Mudah diimplementasikan tetapi berisi
fungsi yang signifikan2. Mencantumkan resiko waktu kritis atau
fungsi kompleks3. Melibatkan penyelidikan yang signifikan, baru
atau teknologi yang beresiko4. Menyertakan fungsi bisnis utama5.
Dampak signifikan pada desain struktur
f. Diagram Use Case
Gambar 4. Diagram Use Case
g. Diagram Activity
Gambar 5. Diagram Activity Login
Gambar 6. Diagram Activity Input Data Siswa
Gambar 7. Diagram Activity Input Data Pembayaran
Gambar 8. Diagram Activity Cetak Laporan Pembayaran
h. Diagram Sequence
Gambar 9. Diagram Sequence Login
Gambar 10. Diagram Sequence Input Data Siswa
Gambar 11. Diagram Sequence Input Data Pembayaran
Gambar 12. Diagram Sequence Cetak Laporan Pembayaran
3. Dokumentasi Databasea. Data Siswa
Tabel 10. Daftar Nama Siswab. Kartu SPPNama : Ade NKelas: 7B
Tabel 11. Kartu SPP
c. Buku laporan pembayaran SPP7BTabel 12. Buku Laporan
Pembayaran
d. ERD
Tgl_bayar
agama
jk
nisnama
jml_bayar
kelas
No_spp
Membayar SPP
1 *SPPSiswa
e. Normalisasia) Bentuk Tidak Normal (Unormalized
Form/UNF)Bentuk ini merupakan kumpulan data yang akan direkam,
tidak ada keharusan mengikukti format tertentu, dapat saja data
tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai
dengan saat
menginput.KelasNISNISNNamaJKagamano_sppjumlahtgl_bayar
7A1213070019936251478Ahmad FauziLIslam1001750003/7/2012
3/8/2012
3/9/2012
7A1213070029936251479Ahmad Nazarudin
NLIslam1002750003/7/2012
3/8/2012
3/9/2012
Tabel 13. Bentuk Tidak Normal (Unormalized Form/UNF)
Untuk mentransformasikan tabel yang belum ternomalisasi di atas
menjadi tabel yang memenuhi kriteria 1NF adalah kita harus merubah
seluruh atribut yang multivalue menjadi atribut single value,
dengan cara menghilangkan repeating group pada tabel di atas.
Repeating Group (elemen data berulang) adalah (kelas , NIS, NISN,
Nama, JK, agama, no_spp, jumlah)
b) Bentuk Normal ke Satu (First Normal Form/1 NF)Pada tahap ini
dilakukan penghilangan beberapa group elemen yang berulang agar
menjadi satu harga tunggal yang berinteraksi di antara setiap baris
pada suatu tabel, dan setiap atribut harus mempunyai nilai data
yang atomic (bersifat atomic value). Atom adalah zat terkecil yang
masih memiliki sifat induknya, bila terpecah lagi maka ia tidak
memiliki sifat induknya. Syarat normal ke satu (1-NF) antara
lain:1) Setiap data dibentuk dalam flat file, data dibentuk dalam
satu record demi satu record nilai dari field berupa atomic
value.2) Tidak ada set atribute yang berulang atau bernilai
ganda.3) Telah ditentukannya primary key untuk tabel / relasi
tersebut.4) Tiap atribut hanya memiliki satu
pengertian.KelasNISNISNNamaJKagamano_sppjumlahtgl_bayar
7A1213070019936251478Ahmad FauziLIslam1001750003/7/2012
7A1213070019936251478Ahmad FauziLIslam1001750003/8/2012
7A1213070019936251478Ahmad FauziLIslam1001750003/9/2012
7A1213070029936251479Ahmad Nazarudin
NLIslam1002750003/7/2012
7A1213070029936251479Ahmad Nazarudin
NLIslam1002750003/8/2012
7A1213070029936251479Ahmad Nazarudin
NLIslam1002750003/9/2012
Tabel 14. Bentuk Normal Kesatu (First Normal Form/1NF)
c) Bentuk Normal ke Dua (Second Normal Form/2 NF)
Bentuk normal kedua memungkinkan suatu relasi memiliki composite
key, yaitu relasi dengan primary key yang terdiri dari dua atau
lebih atribut. Suatu relasi yang memiliki sigle atribut untuk
primary keynya secara otomatis pada akhirnya menjadi 2-NF.Syarat
normal kedua (2-NF) sebagai berikut.1) Bentuk data telah memenuhi
kriteria bentuk normal kesatu.2) Atribute bukan kunci (non-key)
haruslah memiliki ketergantungan Fungsional sepenuhnya (fully
functional dependency) pada kunci utama / primary key.
1) Tabel SiswakelasNISNISNNamaJKagama
7A1213070019936251478Ahmad FauziLIslam
7A1213070019936251478Ahmad FauziLIslam
7A1213070019936251478Ahmad FauziLIslam
7A1213070029936251479Ahmad Nazarudin NLIslam
7A1213070029936251479Ahmad Nazarudin NLIslam
7A1213070029936251479Ahmad Nazarudin NLIslam
Tabel 14. Tabel Siswa
2) Tabel SppNISno_sppjumlahtgl_bayar
1213070011001750003/7/2012
1213070011001750003/8/2012
1213070011001750003/9/2012
1213070021002750003/7/2012
1213070021002750003/8/2012
1213070021002750003/9/2012
Tabel 15. Tabel SPP
Langkah pertama kita harus mengidentifikasi ketergantungan
fungsional dalam relasi Siswa, Kelas, dan spp, sebagai berikut.NIS:
NISN, Nama, JK, agamano_spp: NIS, jumlah, tgl_bayar
d) Bentuk Normal ke Tiga (Third Normal Form/3 NF)Syarat normal
ketiga (Third Normal Form / 3 NF) sebagai berikut.1) Bentuk data
telah memenuhi kriteria bentuk normal kedua.2) Atribute bukan kunci
(non-key) harus tidak memiliki ketergantungan transitif, dengan
kata lain suatu atribut bukan kunci (non_key) tidak boleh memiliki
ketergantungan fungsional (functional dependency) terhadap atribut
bukan kunci lainnya, seluruh atribut bukan kunci pada suatu relasi
hanya memiliki ketergantungan fungsional terhadap priamry key di
relasi itu saja.
1) Tabel SiswaNISNISNNamaJKagama
1213070019936251478Ahmad FauziLIslam
1213070029936251479Ahmad Nazarudin NLIslam
Tabel 16. Tabel Siswa
2) Tabel KelaskelasNIS
7A121307001
7A121307002
Tabel 17. Tabel Kelas
3) Tabel SppNISno_spp
1213070011001
1213070021002
Tabel 18. Tabel SPP
4) Tabel Tanggal Bayarno_spptgl_bayarjumlah
10013/7/201275000
10013/8/201275000
10013/9/201275000
10023/7/201275000
10023/8/201275000
10023/9/201275000
Tabel 19. Tabel Tanggal BayarRelasi / Tabel Siswa terdiri dari
atribut-atribut:NIS: NISN, Nama, JK, agama{NIS sebagai primary
key}Relasi / Tabel Kelas terdiri dari atribut-atribut:Kelas:
NIS{Kelas sebagai primary key}{NIS sebagai foreign key}Relasi /
Tabel spp terdiri dari atribut-atributNo_spp : NIS{No_spp sebagai
primary key}{NIS sebagai foreign key}Relasi / Tabel Tgl bayar
terdiri dari atribut-atributTgl_bayar : No_spp, jumlah{No_spp
sebagai foreign key}Relasi di atas sudah dalam bentuk BCNF, di mana
masing-masing relasi memiliki hanya memiliki satu determinan yaitu
candidate keynya, walaupun relasi Biaya kenyataannya memiliki 3
determinan yaitu (NIS, No_spp), (NIS, tgl_bayar), dan (No_spp,
Tgl_Bayar) seperti terlihat di bawah ini.NIS, no_spp: tgl_bayar,
kelasNIS, tgl_bayar: no_spp, kelasNo_spp, tgl_bayar: NIS, jumlahf.
Transformasi ER Tabel Siswa Tabel SppNisnamakelasjkagama
nisno_SPP
Tabel Kelaskelasnis
Tabel Tanggal bayarno_spptgl_bayarjml_bayar
Gambar 13. Transformasi Entity Relationship
g. Relasi Tabel
Gambar 14. Relasi Antar Tabelh. Kamus DataNama File :
tbl_siswaPrimary Key : nisNoNamaTipeUkuranDeskripsi
1nisVarchar15Primary Key
2namaVarchar35Nama yang ditampilkan pada statusbar
3kelasVarchar5Kelas siswa
4JkVarchar1Jenis kelamin siswa
5agamaVarchar9Tahun ajaran siswa
Tabel 20. Kamus Data Tabel SiswaTbl_siswa= nis+ nama + jk +
kelas + thn_ajarannis= nama= kelas= jk= thn_ajaran=
Nama File : tbl_sppPrimary Key :nisNoNamaTipeUkuranDeskripsi
1no_sppVarchar15Primary Key
2nisVarchar35Nomor induk siswa
Tabel 21. Kamus Data Tabel SPP
tbl_spp= no_spp + nisNo_spp= nis=
Nama File : tbl_kelasPrimary Key :
-NoNamaTipeUkuranDeskripsi
1kelasVarchar5Kelas siswa
2nisVarchar15Foreign Key yang terhubung dengan tbl_siswa
Tabel 22. Kamus Data Tabel Kelas
tbl_kelas= kelas + nis kelas= nis=
Nama File : tbl_tglbayarPrimary key :
-NoNamaTipeUkuranDeskripsi
1no_sppInteger5Foreign Key yang terhubung pada tbl_spp
2tgl_bayarDateTanggal pembayaran
3jml_bayarInteger10Jumlah pembayaran
Tabel 23. Kamus Data Tabel Siswa
tbl_tglbayar= no_spp + tgl_bayar + jml_bayarno_spp= tgl_bayar=
jml_bayar=
i. Diagram Kelas
Gambar 15. Diagram Kelas
j. Diagram Komponen
Gambar 16. Diagram Komponen
k. Diagram Deployment
Gambar 17. Diagram Deployment
IMPLEMENTASI
Gambar 18. Interface Login
Gambar 19. Form Menu Utama
Gambar 20. Form Input Data Siswa
Gambar 21. Form Input Data Pembayaran
Gambar 22. Form Laporan Pembayaran
Gambar 23. ERD
(HALAMAN INI SENGAJA DIKOSONGKAN)
IMPLIKASIDengan penerapan aplikasi database untuk pencatatan
pembayaran spp tentunya akan banyak membantu pekerjaan Staff TU
dalam proses pencatatan pembayaran SPP seperti menginputkan data
pembayaran dan mencetak laporan pembayaran, serta dengan
tersimpannya data didalam database maka akan meminimalisasi biaya
pembelian alat tulis kantor.
(HALAMAN INI SENGAJA DIKOSONGKAN)
DAFTAR PUSTAKA Memo dari Kepala Sekolah SMP ANGKASA BOGOR Kadir
Abdul. 2003. Dasar Aplikasi Database MySQL-Delphi. Andi Publisher.
Jogiyanto. 2001. Analisis & Desain Sistem Informasi :
pendekatan terstruktur teori dan praktek aplikasi bisnis. Andi,
Yogyakarta.
https://docs.google.com/viewer?a=v&q=cache:Yo7bEjB5Dl8J:elib.unikom.ac.id/download.php%3Fid%3D84401+Jogiyanto+(2001)+aplikasi&hl=en&gl=id&pid=bl&srcid=ADGEEShRNmZMD7OUbGbgbN9fvFYsc-0GeSZXGcA-123PlGsuLNPNmyPK9ukUi5hx_BbbsU7OV2Tppf51v2UkF3aLzeh0OXtIUW0uBwaNYOx98ESjy1xAsvC7Dg5TCt58euarWlyb61TC&sig=AHIEtbRc62ByrvNwJjF1fHPW20zszYPEmw
[diakses pada tanggal 8 November 2012, 2:59] LEMBARAN NEGARA
REPUBLIK INDONESIA TAHUN 2008 NOMOR 91 (jakarta 4 Juli 2008)
p.35
TENTANG PELAKSANA PROYEK
Muhamad Amsor, lahir di bogor pada tanggal 2 juni 1988. Putra ke
enam dari tujuh bersaudara, bertempat tinggal di Kp. Kukupu RT.
03/06 Kelurahan Cibadak Kecamatan Tanah Sareal Bogor. Pada tahun
2001 lulus Sekolah Madrasah Ibtidaiyah Mathlaul Anwar Bogor. Dan
melanjutkan pendidikan ke Madrasah Tsanawiyah Al-hamidy Bogor pada
tahun 2001 - 2004. Dan kemudian melanjutkan pendidikan ke SMK Tri
Dharma 2 Bogor pada tahun 2004 - 2007. Tahun 2009 melanjutkan ke
Sekolah Tinggi Ilmu Komputer BINANIAGA dengan jurusan Sistem
Informasi (S1).
Erick Ramdhani Sukaman, lahir di Bogor pada tanggal 13 April
1990. Putra ke dua dari dua bersaudara, bertempat tinggal di
Cilendek Timur RT 02/05 Kelurahan Cilendek Timur Kecamatan Bogor
Barat. Pada tahun 2002 lulus sekolah SDN Cilendek Tengah Bogor. Dan
melanjutkan pendidikan ke SMP Negeri 12 Bogor pada tahun 2002 -
2005. Dan kemudian melanjutkan pendidikan ke SMA Negeri 10 Bogor
pada tahun 2005 - 2008. Tahun 2009 melanjutkan ke Sekolah Tinggi
Ilmu Komputer BINANIAGA dengan jurusan Sistem Informasi (S1).
LAMPIRANUse Case NarativePengarang: TIM ISPM ADPSPPTanggal :
Nopember 2012Versi : 1.0Nama Use CaseLoginType Use Case
ID Use Case1.1Persyaratan Bisnis
PrioritasTinggi
Sumber-
Pelaku Bisnis UtamaUser
Pelaku Partisipan LainSistem
Stakeholder yang berminat lain-
DeskripsiUse case ini mendeskripsikan tentang kegiatan yang
dilakukan user dalam menginputkan username dan password yang sudah
ditentukan sebelumnya.
PrakondisiUser menginputkan Username dan password ke dalam
sistem.
SasaranUse Case ini diawali pada saat sistem akan melakukan
validasi.
Bidang khas suatu eventKegiatan PelakuRespons Sistem
Langkah 1 :User menyiapkan dan menginputkan username dan
password untuk masuk kedalam sistemLangkah 2:Sistem akan merespon
dengan mengautentifikasi username dan password.
Langkah 3:Sistem akan meotorisasi username dan password
user.
Bidang AlternatifAlternatif Langkah 1:Apabila penginputan
username dan password salah. Maka user tidak dapat mengakses ke
dalam sistem.
KesimpulanUse Case ini menyimpulkan tentang tahap-tahap validasi
yang harus dilakukan oleh user sebelum diterima oleh sistem.
Pasca KondisiSistem akan menampilkan menu-menu pilihan bagi
setiap user yang login. Menu pilihan yang ditampilkan tergantung
username dan password yang diinputkan.
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi :
1.0Aturan BisnisUser login dengan menggunakan username dan password
yang disesuaikan NIP masing-masing. User dapat merubah password
jika dihendaki. Apabila user id dan password tidak sesuai maka user
tidak dapat mengakses kedalam sistem
Batasan dan spesifikasi implementasi Validasi harus terpenuhi,
jika salah satu tidak terpenuhi, maka istema kan menolaknya.
AsumsiUser harus tepat dalam menginputkan username dan
password.
Masalah Terbuka User lupa password dan cara penulisan
password.
Tabel 24. Persyaratan Bisnis Login
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi : 1.0Nama
Use CaseLoginType Use Case
ID Use Case1.1Analisis Sistem
PrioritasTinggi
Sumber-
Pelaku Bisnis UtamaUser
Pelaku Partisipan LainSistem
Stakeholder yang berminat lain-
DeskripsiUse case ini mendeskripsikan tentang kegiatan yang
dilakukan user dalam menginputkan username dan password yang sudah
ditentukan.
PrakondisiUser menginputkan Username dan password ke dalam
sistem.
PemicuUse Case ini dilakukan pertama kali saat user masuk ke
dalam sistem. Agar tidak terjadinya kesalahan pengecekan akses ke
dalam sistem.
Bidang khas suatu eventKegiatan PelakuRespons Sistem
Langkah 1 :User akan mengaktifkan log in.
Langkah 2 : User akan menginputkan username dan password.
Langkah 3 : Sistem akan melakukan validasi username dan password
yang telah diinputkan.
Langkah 4 :Sistem akan menampilkan Menu Utama.
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi :
1.0Bidang AlternatifLangkah Alternatif 3 :Apabila penginputan
username dan password salah. Maka user tidak dapat mengakses ke
dalam sistem dan Sistem akan meminta user untuk memasukkan username
dan password kembali.
KesimpulanUse Case ini menyimpulkan tentang tahap-tahap validasi
yang harus dilakukan sebelum diterima oleh sistem.
Pasca kondisiSistem akan menampilkan menu-menu pilihan bagi
setiap user yang login. Menu pilihan yang ditampilkan adalah menu
yang akan dijadikan penginputan.
Aturan BisnisUser login dengan menggunakan masing-masing
username dan password yang sudah disesuaikan NIP. User tidak dapat
merubah Password. Apabila username dan password tidak sesuai maka
user tidak dapat mengakses kedalam sistem.
Batasan dan spesifikasi implementasi - Validasi harus terpenuhi-
jika salah satu ada yang tidak terpenuhi, sistem akan
menolaknya
AsumsiUser harus tepat dalam menginputkan username dan
password
Masalah Terbuka User lupa password dan cara penulisan
password
Tabel 25. Analisis System Login
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi : 1.0Nama
Use CaseLoginType Use Case
ID Use Case1.1Design sistem
PrioritasTinggi
Sumber-
Pelaku Bisnis UtamaUser
Pelaku Partisipan LainSistem
Stakeholder yang berminat lain-
DeskripsiUse case ini mendeskripsikan tentang kegiatan yang
dilakukan user dalam menginputkan user id dan password yang sudah
ditentukan.
PrakondisiUser menginputkan User Id dan password ke dalam
sistem.
PemicuUse Case ini dilakukan paa saat user masuk pertama kali ke
sistem .agar tidak adanya kesalahan pengecekan akses ke dalam
sistem.
Bidang khas suatu eventKegiatan PelakuRespons Sistem
Langkah 1 :User menekan tombol menu log in.
Langkah 3 : User menginputkan username dan password
Langkah 4 :User menekan tombol loginLangkah 2 :Sistem merespon
dengan menampilkan FORM LOGIN
Langkah 5 :Sistem merespon dengan mengautentifikasi username dan
password
Langkah 6 :Sistem melakukan otorisasi username dan password.
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi :
1.0Bidang AlternatifAlternatif Langkah 2 :Apabila penginputan
username dan password salah. Maka user tidak dapat mengakses ke
dalam sistem dan akan sistem memberikan pesan kepada user untuk
memasukkan username dan password kembali.
kesimpulanUse Case ini menyimpulkan tentang tahap-tahap validasi
yang harus dilakukan sebelum diterima dan masuk ke dalam
sistem.
Pasca kondisiSistem akan menampilkan menu-menu pilihan bagi
setiap user yang login. Menu pilihan yang ditampilkan tergantung
user id dan password yang diinputkan.
Aturan BisnisUser login dengan menggunakan user id dan password
yang disesuaikan NIP masing-masing. User dapat merubah password
jika dihendaki. Apabila user id dan password tidak sesuai maka user
tidak dapat mengakses kedalam sistem
Batasan dan spesifikasi implementasi - Validasi harus terpenuhi-
jika salah satu ada yang tidak terpenuhi, sistem akan
menolaknya
AsumsiUser harus tepat dalam menginputkan username dan
password
Masalah Terbuka User lupa password dan cara penulisan
password
Tabel 26. Design System Login
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi : 1.0Nama
Use CaseInput Data SiswaType Use Case
ID Use Case1.2Persyaratan Bisnis
PrioritasTinggi
Sumber-
Pelaku Bisnis UtamaStaff TU
Pelaku Partisipan LainSistem
Stakeholder yang berminat lain-
DeskripsiUse case ini mendeskripsikan tentang kegiatan yang
dilakukan Staff TU dalam menginputkan data siswa kedalam
database
PrakondisiStaff TU sudah mengetahui data siswa yang akan di
inputkan kedalam sistem.
SasaranUse case ini dilakukan agar penginputan data sesuai
dengan data yang akan disimpan kedalam database.
Bidang khas suatu eventKegiatan Pelaku Respon Sistem
Langkah 1:Staff TU melakukan penginputan data siswa kedalam
sistem.Langkah 2 :Sistem akan mengecek kelengkapan data yang telah
diinputkan
Langkah 3 :Sistem menyimpan data yang telah diinputkan .
Bidang AlternatifLangkah 1Apabila dalam penginputan data kedalam
database tidak lengkap. Maka sistem akan mengirimkan pesan kepada
Staff TU untuk melengkapi data tersebut.
KesimpulanUse case ini menyimpulkan kejadian pada saat
penginputan data siswa.
Pasca KondisiSistem akan menyimpan data siswa yang telah
diinputkan kedalam database.
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi :
1.0Aturan BisnisData siswa diinputkan sesuai dengan data yang
sebenarnya.
Batasan dan spesifikasi implementasi Sistem akan memberikan
respon terhadap data yang sudah terisi dengan lengkap.
AsumsiStaff TU mengisi data dengan lengkap kedalam sistem sesuai
ketentuan yang berlaku.
Masalah Terbuka Kesalahan dalam menginputkan data siswa.
Tabel 27. Persyaratan Bisnis Input Data Siswa
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi : 1.0Nama
Use CaseInput Data SiswaType Use Case
ID Use Case1.2
Analisis system
PrioritasTinggi
Sumber-
Pelaku Bisnis UtamaStaff TU
Pelaku Partisipan LainSistem
Stakeholder yang berminat lain-
DeskripsiUse case ini mendeskripsikan tentang kegiatan Staff TU
dalam menginputkan data siswa kedalam database
PrakondisiStaff TU sudah mengetahui data siswa yang akan di
inputkan kedalam sistem
PemicuUse Case ini dilakukan untuk pendataan siswa yang wajib
dilakukan untuk melakukan pembayaran SPP.
Bidang khas suatu eventKegiatan PelakuRespons Sistem
Langkah 1 :Staff TU akan mengaktifkan FORM DATA SISWA
Langkah 2 :Staff TU akan menginputkan data siswa. Kemudian akan
mengklik tombol simpanLangkah 3 :Sistem akan mengecek kelengkapan
data siswa
Langkah 4 : Sistem akan menyimpan data siswa
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi :
1.0Bidang AlternatifLangkah Alternatif 2 :Apabila penginputan yang
dilakukan oleh Staff TU tidak lengkap. Maka sistem akan meminta
Staff TU untuk melengkapi data tersebut.
kesimpulanUse Case ini menyimpulkan tahapan penginputan data
siswa setiap melakukan transaksi pembayaran.
Pasca kondisiSistem akan menggunakan data siswa apabila suatu
saat data itu diperlukan untuk keperluan yang menyangkut segala
sesuatu yang berhubungan dengan pembayaran.
Aturan BisnisData siswa diinputkan dengan benar sesuai dengan
data yang sebenarnya.
Batasan dan spesifikasi implementasi sistem akan merespon bila
data sudah terisi dengan lengkap.
AsumsiStaff TU memasukan data siswa dengan lengkap sesuai dengan
data yang sebenarnya.
Masalah Terbuka Staff TU tidak mengisi data siswa dengan
lengkap.
Tabel 28. Analisis System Input Data Siswa
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi : 1.0Nama
Use CaseInput Data SiswaType Use Case
ID Use Case1.2
Design system
PrioritasTinggi
Sumber-
Pelaku Bisnis UtamaStaff TU
Pelaku Partisipan LainSistem
Stakeholder yang berminat lain-
DeskripsiUse case ini mendeskripsikan tentang kegiatan Staff TU
dalam menginputkan data siswa kedalam database.
PrakondisiStaff TU sudah mengetahui data siswa yang akan di
inputkan kedalam sistem
PemicuUse Case ini dilakukan untuk pendataan siswa yang wajib
dilakukan untuk melakukan transaksi pembayaran.
Bidang khas suatu eventKegiatan PelakuRespons Sistem
Langkah 1Staff TU mengklik FORM DATA SISWA
Langkah 3Staff TU menginputkan biodata siswa, kemudian menekan
tombol simpan Langkah 2Sistem menampilkan FORM DATA SISWA
Langkah 4Sistem mengecek kelengkapan data, apabila data yang
diinputkan tidak lengkap maka sistem akan menampilkan message box.
Dan sistem akan Meminta staff TU untuk melengkapi data siswa.
Langkah 5Sistem menyimpan data siswa kedalam database.
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi :
1.0Bidang AlternatifLangkah Alternatif 3 :Apabila dalam penginputan
data tidak lengkap. Maka sistem akan memberikan pesan dan Staff TU
akan diminta untuk melakukan penginputan data kembali.
kesimpulanUse Case ini menyimpulkan tahapan penginputan data
siswa setiap melakukan transaksi pembayaran
Pasca kondisiApabila suatu saat data itu diperlukan untuk
keperluan yang menyangkut segala sesuatu yang berhubungan dengan
pembayaran maka sistem akan menggunakan data siswa tersebut.
Aturan BisnisData siswa diinputkan sesuai dengan data yang
sebenarnya.
Batasan dan spesifikasi implementasi sistem akan memberikan
respon terhadap data yang telah terisi dengan lengkap.
AsumsiStaff TU memasukan data siswa dengan lengkap sesuai dengan
data yang sebenarnya.
Masalah Terbuka Staff TU tidak mengisi data siswa dengan
lengkap.
Tabel 29. Design System Input Data Siswa
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi : 1.0Nama
Use CaseInput Data PembayaranType Use Case
ID Use Case1.3Persyaratan Bisnis
PrioritasTinggi
Sumber-
Pelaku Bisnis UtamaStaff TU
Pelaku Partisipan LainSistem
Stakeholder yang berminat lain-
DeskripsiUsecase ini mendeskripsikan tentang kegiatan yang
dilakukan Staff TU dalam menginputkan data pembayaran kedalam
database
PrakondisiStaff TU sudah mengetahui data pembayaran yang akan di
inputkan kedalam sistem.
SasaranUse case ini dilakukan agar penginputan data sesuai
dengan data yang akan di simpan kedalam database.
Bidang khas suatu eventKegiatan Pelaku Respon Sistem
Langkah 1:Staff TU melakukan penginputan data pembayaran kedalam
sistem.Langkah 2 :Sistem akan mengecek kelengkapan data yang telah
diinputkan
Langkah 3 :Sistem menyimpan data yang telah diinputkan .
Bidang AlternatifLangkah 1Apabila dalam penginputan data kedalam
database tidak lengkap. Maka sistem akan mengirimkan pesan kepada
Staff TU untuk melengkapi data tersebut.
KesimpulanUse case ini menyimpulkan kejadian pada saat
penginputan data pembayaran.
Pasca KondisiSistem akan menyimpan data pembayaran yang telah
diinputkan kedalam database.
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi :
1.0Aturan BisnisData pembayaran diinputkan sesuai dengan data yang
sebenarnya.
Batasan dan spesifikasi implementasi Sistem akan memberikan
respon terhadap data yang sudah terisi dengan lengkap.
AsumsiStaff TU mengisi data dengan lengkap kedalam sistem sesuai
ketentuan yang berlaku.
Masalah Terbuka Kesalahan dalam menginputkan data
pembayaran.
Tabel 30. Persyaratan Bisnis Input Data Pembayaran
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi : 1.0Nama
Use CaseInput Data PembayaranType Use Case
ID Use Case1.3
Analisis system
PrioritasTinggi
Sumber-
Pelaku Bisnis UtamaStaff TU
Pelaku Partisipan LainSistem
Stakeholder yang berminat lain-
DeskripsiUse case ini mendeskripsikan tentang kegiatan Staff TU
dalam menginputkan data pembayaran kedalam database
PrakondisiStaff TU sudah mengetahui data pembayaran yang akan di
inputkan kedalam sistem
PemicuUse Case ini dilakukan untuk pendataan pembayaran yang
wajib dilakukan untuk melakukan transaksi pembayaran.
Bidang khas suatu eventKegiatan PelakuRespons Sistem
Langkah 1 :Staff TU akan mengaktifkan FORM DATA PEMBAYARAN
Langkah 2 :Staff TU akan menginputkan NIS.
Langkah 4 :Staff TU akan menginputkan Data Pembayaran.
Langkah 3 :Sistem akan mengecek data siswa.
Langkah 5 : Sistem akan megecek data pembayaran.
Langkah 6 :Sistem akan menyimpan data pembayaran.
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi :
1.0Bidang AlternatifLangkah Alternatif 2 :Apabila penginputan yang
dilakukan oleh Staff TU tidak lengkap. Maka sistem akan meminta
Staff TU untuk melengkapi data tersebut.
kesimpulanUse Case ini menyimpulkan tahapan penginputan data
pembayaran setiap melakukan transaksi pembayaran.
Pasca kondisiSistem akan menggunakan data pembayaran apabila
suatu saat data itu diperlukan untuk keperluan yang menyangkut
segala sesuatu yang berhubungan dengan pembayaran.
Aturan BisnisData pembayaran diinputkan dengan benar sesuai
dengan data yang sebenarnya.
Batasan dan spesifikasi implementasi sistem akan merespon bila
data sudah terisi dengan lengkap.
AsumsiStaff TU memasukan data pembayaran dengan lengkap sesuai
dengan data yang sebenarnya.
Masalah Terbuka Staff TU tidak mengisi data pembayaran dengan
lengkap.
Tabel 31. Analisis System Input Data Pembayaran
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi : 1.0Nama
Use CaseInput Data PembayaranType Use Case
ID Use Case1.3
Design system
PrioritasTinggi
Sumber-
Pelaku Bisnis UtamaStaff TU
Pelaku Partisipan LainSistem
Stakeholder yang berminat lain-
DeskripsiUse case ini mendeskripsikan tentang kegiatan Staff TU
dalam menginputkan data pembayaran kedalam database
PrakondisiStaff TU sudah mengetahui data pembayaran yang akan di
inputkan kedalam sistem
PemicuUse Case ini dilakukan untuk pendataan pembayaran yang
wajib dilakukan untuk melakukan transaksi pembayaran.
Bidang khas suatu eventKegiatan PelakuRespons Sistem
Langkah 1Staff TU menampilkan FORM DATA PEMBAYARAN
Langkah 3Staff TU menginputkan data berdasarkan NIS. Langkah
2Sistem menampilkan FORM DATA PEMBAYARAN
Langkah 4Sistem mengecek data, apabila data yang diinputkan
tidak ditemukan maka sistem tidak akan menampilkan data didalam
kolom textbox. Dan apabila data yang diinputkan ditemukan, maka
sistem akan menampilkan data didalam kolom textbox yang kosong.
Langkah 5Sistem menampilkan data siswa berdasarkan NIS
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi :
1.0Bidang khas suatu eventKegiatan PelakuRespons Sistem
Langkah 6Staff TU menginputkan data pembayaran kemudian menekan
tombol simpanLangkah 7Sistem mengecek kelengkapan data pembayaran,
apabila data yang diinputkan tidak lengkap, maka system akan
menampilkan message box Data yang diinputkan tidak lengkap Staff TU
menekan tombol OK, kemudian sistem akan menutup message box.
Langkah 8Sistem menyimpan data ke dalam database.
Bidang AlternatifLangkah Alternatif 3 :Apabila dalam pengecekan
data siswa tidak ditemukan, maka sistem tidak akan menampilkan data
siswa tersebut
Langkah Alternatif 7 :Apabila dalam penginputan data tidak
lengkap. Maka sistem akan memberikan pesan dan admin akan diminta
untuk melakukan penginputan data kembali.
kesimpulanUse Case ini menyimpulkan tahapan penginputan data
pembayaran setiap melakukan transaksi pembayaran
Pasca kondisiApabila suatu saat data itu diperlukan untuk
keperluan yang menyangkut segala sesuatu yang berhubungan dengan
siswa tersebut maka sistem akan menggunakan data pembayaran
tersebut.
Aturan BisnisData pembayaran diinputkan sesuai dengan data yang
sebenarnya.
Batasan dan spesifikasi implementasiSistem akan memberikan
respon terhadap data yang telah terisi dengan lengkap.
AsumsiStaff TU memasukan data pembayaran dengan lengkap sesuai
dengan data yang sebenarnya.
Masalah TerbukaStaff TU tidak mengisi data pembayaran dengan
lengkap.
Tabel 32. Design System Input Data Pembayaran
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi : 1.0Nama
Use CaseCetak Laporan PembayaranType Use Case
ID Use Case1.4Persyaratan Bisnis
PrioritasSedang
Sumber1.5
Pelaku Bisnis UtamaStaff TU
Pelaku Partisipan LainSistem
Stakeholder yang berminat lainKepala Sekolah
DeskripsiUse case ini mendeskripsikan tentang kegiatan Staff TU
dalam mencetak laporan pembayaran untuk keperluan kepala
sekolah
PrakondisiKepala sekolah memerlukan data pembayaran sebagai
keperluan untuk pengecekan dan pendataan
SasaranUse case ini dilakukan oleh Staff TU untuk pengecekan
data pembayaran sebelum dijadikan sebuah laporan
Bidang khas suatu eventKegiatan PelakuRespons Sistem
Langkah 1 :Staff TU mencetak laporan data pembayaranLangkah 2
:Sistem akan mencetak data tersebut.
Bidang Alternatif-
KesimpulanUse case ini menyimpulkan tentang pencetakan laporan
pembayaran yang dilakukan oleh Staff TU untuk pengecekan terhadap
data pembayaran oleh kepala sekolah.
Pasca KondisiKepala sekolah dapat meminta laporan pembayaran
setiap bulan kepada Staff TU dengan cara yang lebih cepat.
Aturan BisnisLaporan pembayaran dicetak apabila penginputan data
telah dilakukan dengan lengkap dan benar.
Batasan dan spesifikasi implementasiStaff TU hanya mencetak
laporan pembayaran dan diberikan kepada kepala sekolah.
AsumsiStaff TU harus memberikan laporan dengan data-data yang
akurat dan dijamin kebenarannya
Masalah TerbukaAdanya kesalahan pada data.
Tabel 33. Persyaratan Bisnis Cetak Laporan Pembayaran
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi : 1.0Nama
Use CaseCetak Laporan PembayaranType Use Case
ID Use Case1.4 Analisis system
PrioritasSedang
Sumber1.5
Pelaku Bisnis UtamaStaff TU
Pelaku Partisipan LainSistem
Stakeholder yang berminat lainKepala Sekolah
DeskripsiUse case ini mendeskripsikan tentang kegiatan Staff TU
dalam mencetak laporan pembayaran untuk keperluan kepala
sekolah
PrakondisiKepala sekolah memerlukan laporan pembayaran sebagai
keperluan untuk pengecekan dan pendataan
PemicuUse case ini diperlukan untuk pengecekan data oleh kepala
sekolah
Bidang khas suatu eventKegiatan PelakuRespons Sistem
Langkah 1 :Staff TU akan mengaktifkan FORM LAPORAN PEMBAYARAN
Langkah 2 :Staff TU akan menginputkan bulan dan tahun. Kemudian
akan menekan tombol view
Langkah 3 :Sistem akan mengecek data berdasarkan data yang
diinputkan. Kemudian menampilkan data tersebut
Langkah 4 :Sistem akan mencetak Laporan.
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi :
1.0Bidang Alternatif-
kesimpulanUse case ini menyimpulkan tentang pencetakan laporan
pembayaran yang dilakukan oleh Staff TU untuk pengecekan terhadap
data pembayaran
Pasca kondisiKepala sekolah dapat meminta laporan data
pembayaran setiap saat kepada Staff TU dengan cara yang lebih
cepat.
Aturan BisnisLaporan data pembayaran dicetak apabila penginputan
data telah dilakukan dengan lengkap dan benar.
Batasan dan spesifikasi implementasi Staff TU hanya mencetak
laporan data pembayaran dan diberikan kepada kepala sekolah
AsumsiStaff TU harus memberikan laporan dengan data-data yang
akurat dan dijamin kebenarannya
Masalah Terbuka Adanya kesalahan pada data saat
memprint-out.
Tabel 34. Analisis System Cetak Laporan Pembayaran
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi : 1.0Nama
Use CaseCetak Laporan PembayaranType Use Case
ID Use Case1.4Design system
PrioritasSedang
Sumber1.5
Pelaku Bisnis UtamaStaff TU
Pelaku Partisipan LainSistem
Stakeholder yang berminat lainKepala Sekolah
DeskripsiUse case ini mendeskripsikan tentang kegiatan Staff TU
dalam mencetak laporan data siswa untuk keperluan ketua
bendahara
PrakondisiKepala sekolah memerlukan data pembayaran sebagai
keperluan untuk pengecekan dan pendataan
PemicuUse case ini diperlukan untuk pengecekan data oleh kepala
sekolah
Bidang khas suatu eventKegiatan PelakuRespons Sistem
Langkah 1Staff TU mengklik FORM LAPORAN PEMBAYARANLangkah 3Staff
TU menampilkan data pembayaran, kemudian menekan tombol viewLangkah
5Staff TU menekan tombol OKLangkah 7Staff TU memilih dan menekan
tombol cetakLangkah 2Sistem menampilkan FORM DATA PEMBAYARANLangkah
4Sistem mengecek data pembayaran, apabila data yang diinputkan
tidak ditemukan maka system akan menampilkan messagebox Data tidak
ditemukan Langkah 6Sistem menutup message boxLangkah 8Sistem akan
mencetak data tersebut
Pengarang: TIM ISPM ADPSPPTanggal : Nopember 2012Versi :
1.0Bidang Alternatif-
kesimpulanUse case ini menyimpulkan tentang pencetakan laporan
pembayaran yang dilakukan oleh Staff TU untuk pengecekan terhadap
data pembayaran oleh kepala sekolah
Pasca kondisiKepala sekolah dapat meminta laporan data
pembayaran setiap saat kepada Staff TU dengan cara yang lebih
cepat.
Aturan BisnisLaporan pembayaran dicetak apabila penginputan data
telah dilakukan dengan lengkap dan benar.
Batasan dan spesifikasi implementasi Staff TU hanya mencetak
laporan pembayaran dan diberikan kepada kepala sekolah
AsumsiStaff TU harus memberikan laporan dengan data-data yang
akurat dan dijamin kebenarannya
Masalah Terbuka Adanya kesalahan pada data
Tabel 35. Design System Cetak Laporan Pembayaran
(HALAMAN INI SENGAJA DIKOSONGKAN)
Source Kode
Form Login
package sppsmpangkasa;
import java.sql.ResultSet;import javax.swing.JOptionPane;*
@author Ericpublic class frm_login extends javax.swing.JFrame {
ublic frm_login() { initComponents(); } private void
jLabel2MouseClicked(java.awt.event.MouseEvent evt) { // TODO add
your handling code here: String pass =
String.valueOf(txt_pass.getPassword()); koneksi kon = new
koneksi(); kon.konek(); try { String sql = "select * from tbl_user
where username = '" + txt_user.getText() + "' and password= '" +
pass + "'"; ResultSet res = (ResultSet) kon.getData(sql);
System.out.println(); if (res.next()) { {
JOptionPane.showMessageDialog(null, "Access Confirmed"); frm_menu a
= new frm_menu(); a.setVisible(true); this.setVisible(false); } }
else { JOptionPane.showMessageDialog(null, "Access Denied"); }
txt_user.requestFocus();
} catch (Exception ex) { JOptionPane.showMessageDialog(null,
"Access Denied"); txt_user.setText(""); txt_pass.setText(""); } }
private void txt_passActionPerformed(java.awt.event.ActionEvent
evt) { // TODO add your handling code here: jLabel2.requestFocus();
String pass = String.valueOf(txt_pass.getPassword()); koneksi kon =
new koneksi(); kon.konek(); try { String sql = "select * from
tbl_user where username = '" + txt_user.getText() + "' and
password= '" + pass + "'"; ResultSet res = (ResultSet)
kon.getData(sql); System.out.println(); if (res.next()) { {
JOptionPane.showMessageDialog(null, "Access Confirmed"); frm_menu a
= new frm_menu(); a.setVisible(true); this.setVisible(false); } }
else { JOptionPane.showMessageDialog(null, "Access Denied"); }
txt_user.requestFocus();
} catch (Exception ex) { JOptionPane.showMessageDialog(null,
"Access Denied"); txt_user.setText(""); txt_pass.setText(""); } }
public static void main(String args[]) { try { for
(javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) { if
("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; }
} } catch (ClassNotFoundException ex)
{java.util.logging.Logger.getLogger(frm_login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } catch (InstantiationException ex)
{java.util.logging.Logger.getLogger(frm_login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(frm_login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex)
{
java.util.logging.Logger.getLogger(frm_login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } //
/* * Create and display the form
java.awt.EventQueue.invokeLater(new Runnable() { public void run()
{ new frm_login().setVisible(true); } }); }Form Menu
package sppsmpangkasa;
import javax.imageio.ImageIO;import javax.swing.JFrame;import
java.awt.image.BufferedImage;import java.awt.Dimension;import
java.awt.Toolkit;import java.io.IOException;import
javax.swing.JOptionPane;* @author Ericpublic class frm_menu extends
javax.swing.JFrame { public frm_menu() { initComponents(); }
private void cmb_siswaActionPerformed(java.awt.event.ActionEvent
evt) { // TODO add your handling code here: frm_siswa a = new
frm_siswa(); a.setVisible(true); this.dispose(); }
private void
cmb_logoutActionPerformed(java.awt.event.ActionEvent evt) { // TODO
add your handling code here: if
(JOptionPane.showConfirmDialog(null, "Apakah Anda yakin akan
Keluar?", "Konfirmasi", JOptionPane.OK_OPTION,
JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) { frm_login
a = new frm_login(); a.setVisible(true); this.dispose(); } }
private void
cmb_laporanActionPerformed(java.awt.event.ActionEvent evt) { //
TODO add your handling code here: frm_laporan a = new
frm_laporan(); a.setVisible(true); this.dispose(); }
private void
cmb_pembayaran1ActionPerformed(java.awt.event.ActionEvent evt) { //
TODO add your handling code here: frm_spp a = new frm_spp();
a.setVisible(true); this.dispose(); }
private void cmb_aboutActionPerformed(java.awt.event.ActionEvent
evt) { // TODO add your handling code here:
} public static void main(String args[]) { try { for
(javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) { if
("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; }
} } catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(frm_menu.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(frm_menu.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(frm_menu.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex)
{
java.util.logging.Logger.getLogger(frm_menu.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } java.awt.EventQueue.invokeLater(new Runnable() {
public void run() { new frm_menu().setVisible(true); } }); }
Form Input Siswa
package sppsmpangkasa;
import groovy.model.DefaultTableModel;import
java.awt.Color;import java.sql.ResultSet;import
java.text.SimpleDateFormat;import javax.swing.JOptionPane;* @author
Eric public class frm_siswa extends javax.swing.JFrame { static
javax.swing.table.DefaultTableModel tabMode; private void tabel()
{
Object[] row = {"NO","NIS","NAMA","JENIS KELAMIN","KELAS","TAHUN
AJARAN"};tabMode = new javax.swing.table.DefaultTableModel(null,
row);tabel.setBorder(null);tabel.setModel(tabMode); koneksi kon=new
koneksi();kon.konek(); int a=1;try {String sql="select * from
tbl_siswa";ResultSet res = kon.getData(sql);while (res.next())
{String b = String.valueOf(a); String nis =
res.getString("nis");String nama = res.getString("nama"); String jk
= res.getString("jk"); String kls = res.getString("kelas"); String
thn = res.getString("thn_ajaran"); String[] data =
{b,nis,nama,jk,kls,thn};tabMode.addRow(data); a++;}} catch
(Exception ex) {}
jScrollPane1.getViewport().add(tabel); }
private void cmd_baruActionPerformed(java.awt.event.ActionEvent
evt) { // TODO add your handling code here: tabel();
txt_nis.setEditable(true); cb_jk.setEditable(true);
txt_nama.setEditable(true); cb_kls.setEditable(true);
txt_thn.setEditable(true); txt_nis.requestFocus();
tabel.setEnabled(true); cmd_hapus.setEnabled(true);
cmd_simpan.setEnabled(true); cmd_ubah.setEnabled(true);
txt_nis.setText(""); txt_nama.setText("");
cb_jk.setSelectedItem(""); cb_kls.setSelectedItem("");
txt_thn.setText(""); txt_nis.requestFocus(); }
private void cmd_simpanMouseClicked(java.awt.event.MouseEvent
evt) { // TODO add your handling code here: }
private void
cmd_simpanActionPerformed(java.awt.event.ActionEvent evt) { // TODO
add your handling code here:
String a, b, c, d, e, sql; a =
String.valueOf(txt_nis.getText()); b =
String.valueOf(txt_nama.getText()); c =
String.valueOf(cb_jk.getSelectedItem()); d =
String.valueOf(cb_kls.getSelectedItem()); e =
String.valueOf(txt_thn.getText());
koneksi kon = new koneksi(); kon.konek();
if ((a.isEmpty()) | (b.isEmpty()) | (c.isEmpty()) |
(d.isEmpty()) | (e.isEmpty())) {
JOptionPane.showMessageDialog(null, "Data tidak boleh kosong,
silahkan dilengkapi");
txt_nis.setEditable(true); cb_jk.setEnabled(true);
txt_nama.setEditable(true); cb_kls.setEnabled(true);
txt_thn.setEditable(true);
} else { sql = "insert into tbl_siswa values('" + a + "'," + "'"
+ b + "'," + "'" + c + "'," + "'" + d + "'," + "'" + e + "')"; try
{ kon.stat = kon.con.createStatement(); kon.stat.execute(sql);
JOptionPane.showMessageDialog(null, "Data sudah tersimpan"); }
catch (Exception ex) { JOptionPane.showMessageDialog(null, "Data
sudah ada"); //return; } txt_nis.setEditable(false);
cb_jk.setEnabled(false); txt_nama.setEditable(false);
cb_kls.setEnabled(false); txt_thn.setEditable(false);
cmd_simpan.setEnabled(false); cmd_ubah.setEnabled(false);
cmd_hapus.setEnabled(false);
tabel(); } }
private void cmd_ubahActionPerformed(java.awt.event.ActionEvent
evt) { // TODO add your handling code here: String a, b, c, d, e,
g, h, thn, sql; a = String.valueOf(txt_nis.getText()); b =
String.valueOf(txt_nama.getText()); c =
String.valueOf(cb_jk.getSelectedItem()); d =
String.valueOf(cb_kls.getSelectedItem()); e =
String.valueOf(txt_thn.getText());
koneksi kon = new koneksi(); kon.konek(); if ((a.isEmpty()) |
(b.isEmpty()) | (c.isEmpty()) | (d.isEmpty()) | (e.isEmpty())) {
JOptionPane.showMessageDialog(null, "Data tidak boleh kosong,
silahkan dilengkapi");
txt_nis.setEditable(true); cb_jk.setEnabled(true);
txt_nama.setEditable(true); cb_kls.setEnabled(true);
txt_thn.setEditable(true); } else { sql = "update tbl_siswa set nis
= '"+ a +"',nama = '" + b + "',jk = '" + c + "',kelas = '" + d +
"',thn_ajaran = '" + e + "' where nis = '" + a + "'";
kon.exec(sql);
txt_nis.setEditable(true); cb_jk.setEditable(true);
txt_nama.setEditable(true); cb_kls.setEditable(true);
txt_thn.setEditable(true); txt_nis.setText("");
cb_jk.setSelectedItem(""); txt_nama.setText("");
cb_kls.setSelectedItem(""); txt_thn.setText("");
txt_nis.requestFocus();
tabel(); } }
private void cmd_hapusActionPerformed(java.awt.event.ActionEvent
evt) { // TODO add your handling code here: koneksi a = new
koneksi(); a.konek(); if (JOptionPane.showConfirmDialog(null,
"Apakah Anda yakin akan menghapus data ini?", "Konfirmasi",
JOptionPane.OK_OPTION, JOptionPane.QUESTION_MESSAGE) ==
JOptionPane.OK_OPTION) {
String sql = "delete from tbl_siswa where nis ='" +
txt_nis.getText() + "'"; a.exec(sql);
txt_nis.setText(""); txt_nama.setText("");
cb_kls.setSelectedItem(""); cb_jk.setSelectedItem("");
txt_thn.setText(""); txt_nis.requestFocus();
tabel(); } }
private void
cmd_keluarActionPerformed(java.awt.event.ActionEvent evt) { // TODO
add your handling code here: frm_menu a = new frm_menu();
a.setVisible(true); this.dispose(); }
private void tabelMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here: String nis =
String.valueOf(tabel.getValueAt(tabel.getSelectedRow(), 1)); String
nama = String.valueOf(tabel.getValueAt(tabel.getSelectedRow(), 2));
String jk = String.valueOf(tabel.getValueAt(tabel.getSelectedRow(),
3)); String kls =
String.valueOf(tabel.getValueAt(tabel.getSelectedRow(), 4)); String
thn = String.valueOf(tabel.getValueAt(tabel.getSelectedRow(), 5));
cmd_simpan.setEnabled(false); cmd_hapus.setEnabled(true);
cmd_ubah.setEnabled(true); cb_jk.setEnabled(true);
txt_nis.setEditable(true); txt_nama.setEditable(true);
cb_kls.setEnabled(true); txt_thn.setEditable(true);
txt_nis.requestFocus(); txt_nis.setText(nis);
txt_nama.setText(nama); cb_jk.setSelectedItem(jk);
cb_kls.setSelectedItem(kls); txt_thn.setText(thn); tabel(); } try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) { if
("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; }
} } catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(frm_siswa.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(frm_siswa.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(frm_siswa.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex)
{
java.util.logging.Logger.getLogger(frm_siswa.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); }
public void run() { new frm_siswa().setVisible(true); } });
}
Form Input Data Pembayaran
package sppsmpangkasa;
import java.sql.ResultSet;import java.util.Date;import
javax.swing.JOptionPane;import
javax.swing.table.DefaultTableModel;
* @author Ericpublic class frm_spp extends javax.swing.JFrame
{static javax.swing.table.DefaultTableModel tabMode; private void
tabel() { Object[] row = {"No","ID","TANGGAL BAYAR","NIS","BULAN
BAYAR","TAHUN","JUMLAH BAYAR","STATUS"};tabMode = new
javax.swing.table.DefaultTableModel(null,
row);tabel.setBorder(null);tabel.setModel(tabMode);koneksi kon=new
koneksi();kon.konek(); int a=1;try {String sql="select * from
tbl_pembayaran";ResultSet res = kon.getData(sql);while (res.next())
{String b = String.valueOf(a); String id =
res.getString("id_pembayaran"); String tgl =
res.getString("tgl_bayar"); String nis = res.getString("nis");
String bln = res.getString("bulan_bayar"); String thn =
res.getString("tahun"); String jml = res.getString("jml_bayar");
String st = res.getString("status"); String[] data =
{b,id,tgl,nis,bln,thn,jml,st};tabMode.addRow(data); a++;}} catch
(Exception ex) {}
jScrollPane1.getViewport().add(tabel); } /** * Creates new form
frm_spp */ public frm_spp() { initComponents(); Date tanggal=new
Date();
lbl_tanggal.setText(""+(String.format("%1$tY-%1$tm-%1$td",tanggal)));
txt_id.setEditable(false); txt_nis.setEditable(false);
cb_bln.setEditable(false); txt_thn.setEditable(false);
txt_jml.setEditable(false); tabel.setEnabled(false);
cmd_hapus.setEnabled(false); cmd_simpan.setEnabled(false);
cmd_ubah.setEnabled(false); txt_nama.setEditable(false);
txt_kls.setEditable(false); private void
txt_nisActionPerformed(java.awt.event.ActionEvent evt) { // TODO
add your handling code here: txt_nis.requestFocus(); koneksi kon =
new koneksi(); kon.konek(); try { String sql = "select * from
tbl_siswa where nis = '" + txt_nis.getText() + "'"; ResultSet res =
kon.getData(sql); if (res.next()) {
txt_nama.setText(res.getString(2));
txt_kls.setText(res.getString(4)); } res.next(); } catch (Exception
ex) { System.out.println("error"); } } private void
cmd_baruActionPerformed(java.awt.event.ActionEvent evt) { // TODO
add your handling code here: tabel(); txt_id.setEditable(true);
txt_nis.setEditable(true); txt_nama.setEditable(false);
txt_kls.setEditable(false); cb_bln.setEditable(true);
txt_thn.setEditable(true); txt_jml.setEditable(true);
txt_id.requestFocus(); tabel.setEnabled(true);
cmd_hapus.setEnabled(true); cmd_simpan.setEnabled(true);
cmd_ubah.setEnabled(true); txt_id.setText(""); txt_nis.setText("");
txt_nama.setText(""); txt_kls.setText("");
cb_bln.setSelectedItem(""); txt_thn.setText("");
txt_jml.setText(""); txt_id.requestFocus(); } private void
cmd_simpanActionPerformed(java.awt.event.ActionEvent evt) { // TODO
add your handling code here:String
a,b,c,d,e,f,sql;a=String.valueOf(txt_id.getText());b=String.valueOf(lbl_tanggal.getText());c=String.valueOf(txt_nis.getText());d=String.valueOf(cb_bln.getSelectedItem());e=String.valueOf(txt_thn.getText());f=String.valueOf(txt_jml.getText());
koneksi kon = new koneksi(); kon.konek(); if ((a.isEmpty()) |
(b.isEmpty())|(c.isEmpty()) | (d.isEmpty()) |
(e.isEmpty())|((f.isEmpty()))) {
JOptionPane.showMessageDialog(null, "Data tidak boleh kosong,
silahkan dilengkapi"); txt_id.setEditable(true);
txt_nis.setEditable(true); cb_bln.setEditable(true);
txt_thn.setEditable(true); txt_jml.setEditable(true); } else { sql
= "insert into tbl_pembayaran values('" + a + "'," + "'" + b + "',"
+ "'" + c + "'," + "'" + d + "'," + "'" + e + "'," + "'" + f +
"','SUDAH BAYAR')"; try { kon.stat = kon.con.createStatement();
kon.stat.execute(sql); JOptionPane.showMessageDialog(null,"Data
sudah tersimpan"); } catch (Exception ex) {
JOptionPane.showMessageDialog(null,"Data sudah ada"); }
txt_id.setEditable(false); txt_nis.setEditable(false);
cb_bln.setEditable(false); txt_thn.setEditable(false);
txt_jml.setEditable(false); cmd_simpan.setEnabled(false);
cmd_ubah.setEnabled(false); cmd_hapus.setEnabled(false); tabel(); }
} private void cmd_hapusActionPerformed(java.awt.event.ActionEvent
evt) { // TODO add your handling code here: koneksi a = new
koneksi(); a.konek(); if (JOptionPane.showConfirmDialog(null,
"Apakah Anda yakin akan menghapus data ini?", "Konfirmasi",
JOptionPane.OK_OPTION, JOptionPane.QUESTION_MESSAGE) ==
JOptionPane.OK_OPTION) {
String sql = "delete from tbl_pembayaran where id_pembayaran ='"
+ txt_id.getText() + "'"; a.exec(sql); txt_id.setText("");
txt_nis.setText(""); cb_bln.setSelectedItem("");
txt_thn.setText(""); txt_jml.setText("");
txt_id.requestFocus();
tabel(); } } private void
cmd_ubahActionPerformed(java.awt.event.ActionEvent evt) { // TODO
add your handling code here:String
a,b,c,d,e,f,sql;a=String.valueOf(txt_id.getText());b=String.valueOf(lbl_tanggal.getText());c=String.valueOf(txt_nis.getText());d=String.valueOf(cb_bln.getSelectedItem());e=String.valueOf(txt_thn.getText());f=String.valueOf(txt_jml.getText());
koneksi kon = new koneksi(); kon.konek(); if ((a.isEmpty()) |
(b.isEmpty())|(c.isEmpty()) | (d.isEmpty()) |
(e.isEmpty())|(f.isEmpty())) { JOptionPane.showMessageDialog(null,
"Data tidak boleh kosong, silahkan dilengkapi");
txt_id.setEditable(true); txt_nis.setEditable(true);
cb_bln.setEditable(true); txt_thn.setEditable(true);
txt_jml.setEditable(true); } else { sql = "update tbl_pembayaran
set tgl_bayar = '" + b + "',nis = '"+c+"',bulan_bayar =
'"+d+"',tahun = '"+e+"',jml_bayar = '"+f+"' where id_pembayaran =
'" + a + "'"; kon.exec(sql); txt_id.setEditable(true);
txt_nis.setEditable(true); cb_bln.setEditable(true);
txt_thn.setEditable(true); txt_jml.setEditable(true);
txt_id.setText(""); txt_nis.setText("");
cb_bln.setSelectedItem(""); txt_thn.setText("");
txt_jml.setText(""); txt_id.requestFocus(); tabel(); } } private
void cmd_keluarActionPerformed(java.awt.event.ActionEvent evt) { //
TODO add your handling code here: frm_menu a = new frm_menu();
a.setVisible(true); this.dispose(); } private void
tabelMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your
handling code here: String id =
String.valueOf(tabel.getValueAt(tabel.getSelectedRow(), 1)); String
nis = String.valueOf(tabel.getValueAt(tabel.getSelectedRow(), 3));
String bln =
String.valueOf(tabel.getValueAt(tabel.getSelectedRow(), 4)); String
tahun = String.valueOf(tabel.getValueAt(tabel.getSelectedRow(),
5)); String jml =
String.valueOf(tabel.getValueAt(tabel.getSelectedRow(), 6));
cmd_simpan.setEnabled(false); txt_id.setEditable(true);
txt_nis.setEditable(true); cb_bln.setEditable(true);
txt_thn.setEditable(true); txt_jml.setEditable(true);
txt_id.requestFocus(); txt_id.setText(id); txt_nis.setText(nis);
cb_bln.setSelectedItem(bln); txt_thn.setText(tahun);
txt_jml.setText(jml); } private void
jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO
add your handling code here: frm_cari a = new frm_cari();
a.setVisible(true); this.dispose(); } } public static void
main(String args[]) { try { for
(javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) { if
("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; }
} } catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(frm_spp.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(frm_spp.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(frm_spp.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex)
{
java.util.logging.Logger.getLogger(frm_spp.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } java.awt.EventQueue.invokeLater(new Runnable() {
public void run() { new frm_spp().setVisible(true); } }); }
Form Laporan Pembayaran
package sppsmpangkasa;
import com.mysql.jdbc.Connection;import java.io.File;import
java.sql.Date;import java.sql.DriverManager;import
java.sql.ResultSet;import java.sql.SQLException;import
java.text.SimpleDateFormat;import java.util.HashMap;import
java.util.logging.Level;import java.util.logging.Logger;import
net.sf.jasperreports.engine.*;import
net.sf.jasperreports.engine.xml.JRXmlLoader;import
net.sf.jasperreports.view.JasperViewer;import java.io.File;import
java.util.HashMap;import java.util.Map;import
javax.swing.JOptionPane;import
net.sf.jasperreports.engine.JasperCompileManager;import
net.sf.jasperreports.engine.JasperFillManager;import
net.sf.jasperreports.engine.JasperPrint;import
net.sf.jasperreports.engine.JasperReport;import
net.sf.jasperreports.engine.design.JasperDesign;import
net.sf.jasperreports.engine.util.JRLoader;import
net.sf.jasperreports.engine.xml.JRXmlLoader;import
net.sf.jasperreports.view.JasperViewer;
/** * * @author Eric */public class frm_laporan extends
javax.swing.JFrame {private Date tgl; public frm_laporan() {
initComponents(); jPanel1.setVisible(false);
jPanel2.setVisible(false); } private void
cmd_keluarActionPerformed(java.awt.event.ActionEvent evt) { // TODO
add your handling code here: frm_menu a = new frm_menu();
a.setVisible(true); this.dispose(); }
private void jButton1ActionPerformed(java.awt.event.ActionEvent
evt) { // TODO add your handling code here: Object[] row =
{"No","Id","Tanggal Bayar","Nis","Nama","Kelas","Bulan
Bayar","Tahun","Jumlah Bayar","Status"};tabMode = new
javax.swing.table.DefaultTableModel(null,
row);tabel.setBorder(null);tabel.setModel(tabMode); koneksi kon=new
koneksi();kon.konek(); int a=1;try { String sql = "select
tbl_pembayaran.id_pembayaran, tbl_pembayaran.tgl_bayar,
tbl_siswa.nis, tbl_siswa.nama," + "tbl_siswa.kelas,
tbl_pembayaran.bulan_bayar, " + "tbl_pembayaran.tahun,
tbl_pembayaran.jml_bayar, tbl_pembayaran.status " + "FROM
tbl_pembayaran, tbl_siswa " + "WHERE tbl_pembayaran.nis =
tbl_siswa.nis " + "AND tbl_pembayaran.bulan_bayar = '"+
cb_bln.getSelectedItem() +"' " + "AND tbl_pembayaran.tahun = '"+
txt_thn.getText() +"'"; ResultSet res = kon.getData(sql);while
(res.next()) {String b = String.valueOf(a); String id =
res.getString("id_pembayaran"); String tglbyr =
res.getString("tgl_bayar"); String nis = res.getString("nis");
String nama = res.getString("nama"); String kls =
res.getString("kelas"); String bln = res.getString("bulan_bayar");
String thn = res.getString("tahun"); String jml =
res.getString("jml_bayar"); String st = res.getString("status");
String[] data =
{b,id,tglbyr,nis,nama,kls,bln,thn,jml,st};tabMode.addRow(data);
a++;}} catch (Exception ex)
{}jScrollPane1.getViewport().add(tabel); }
private void jButton2ActionPerformed(java.awt.event.ActionEvent
evt) { // TODO add your handling code here: try{String nmFile =
"C://Program Files//SPP//rptbln.jrxml";String driver =
"com.mysql.jdbc.Driver";String con =
"jdbc:mysql://localhost/db_spp";String user = "root";String
password = "";
HashMap hash = new HashMap();hash.put("bulan_bayar",
cb_bln.getSelectedItem());hash.put("tahun",
txt_thn.getText());Class.forName(driver);java.sql.Connection
koneksi = DriverManager.getConnection(con, user, password);File
file = new File(nmFile);JasperReport jasperreport =
JasperCompileManager.compileReport(nmFile);JasperPrint jasperPrint
=
JasperFillManager.fillReport(jasperreport,hash,koneksi);JasperViewer.viewReport(jasperPrint,false);}catch(Exception
ex){ JOptionPane.showMessageDialog(null, ex);} }
private void cmd_bulanActionPerformed(java.awt.event.ActionEvent
evt) { // TODO add your handling code here:
jPanel1.setVisible(true); jPanel2.setVisible(false);
tabel.removeAll(); } private void
jButton3ActionPerformed(java.awt.event.ActionEvent evt) { // TODO
add your handling code here: Object[] row = {"No","Id","Tanggal
Bayar","Nis","Nama","Kelas","Bulan Bayar","Tahun","Jumlah
Bayar","Status"};tabMode = new
javax.swing.table.DefaultTableModel(null,
row);tabel.setBorder(null);tabel.setModel(tabMode); koneksi kon=new
koneksi();kon.konek(); int a=1;try { String sql = "select
tbl_pembayaran.id_pembayaran, tbl_pembayaran.tgl_bayar, " +
"tbl_siswa.nis, tbl_siswa.nama, " + "tbl_siswa.kelas,
tbl_pembayaran.bulan_bayar, " + "tbl_pembayaran.tahun,
tbl_pembayaran.jml_bayar, " + "tbl_pembayaran.status FROM
tbl_pembayaran, tbl_siswa WHERE tbl_pembayaran.nis = tbl_siswa.nis
AND tbl_pembayaran.tahun = '"+ txt_thn.getText() +"'"; ResultSet
res = kon.getData(sql);while (res.next()) { String b =
String.valueOf(a); String id = res.getString("id_pembayaran");
String tglbyr = res.getString("tgl_bayar"); String nis =
res.getString("nis"); String nama = res.getString("nama"); String
kls = res.getString("kelas"); String bln =
res.getString("bulan_bayar"); String thn = res.getString("tahun");
String jml = res.getString("jml_bayar"); String st =
res.getString("status"); String[] data =
{b,id,tglbyr,nis,nama,kls,bln,thn,jml,st};tabMode.addRow(data);
a++;}} catch (Exception ex)
{}jScrollPane1.getViewport().add(tabel); } private void
jButton4ActionPerformed(java.awt.event.ActionEvent evt) { // TODO
add your handling code here: } private void
cmd_tahunActionPerformed(java.awt.event.ActionEvent evt) { // TODO
add your handling code here: jPanel2.setVisible(true);
jPanel1.setVisible(false); tabel.removeAll(); } public static void
main(String args[]) { try { for
(javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) { if
("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; }
} } catch (ClassNotFoundException | InstantiationException |
IllegalAccessException |
javax.swing.UnsupportedLookAndFeelException ex)
{java.util.logging.Logger.getLogger(frm_laporan.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex); } java.awt.EventQueue.invokeLater(new Runnable() {
@Override public void run() { new
frm_laporan().setVisible(true); } }); }
(HALAMAN INI SENGAJA DIKOSONGKAN)
DOKUMENTASI
Buku Pembayaran SPP
Gambar 24. Buku Laporan SPP
Kartu Pembayaran SPP
Gambar 25. Kartu SPP
Gambar 26. Dokumentasi dan Implementasi 1
Gambar 27. Dokumentasi dan Implementasi 2