DISUSUN OLEH :
PGRI
2022
UNIVERSITAS INDRAPRASTA PGRI
FAKULTAS TEKNIK & ILMU KOMPUTER
PROGRAM STUDI TEKNIK
INFORMATIKA
Jl. Nangka No. 58 C Tanjung Barat Jagakarsa, Jakarta Selatan Telp. (021) 78835283 Fax.: (021)
78835283 Jl.Raya tengah, Kelurahan Gedong, Pasar Rebo, Jakarta Timur. Telp: (021)
87797409
LEMBAR PENGESAHAN
Disusun Oleh :
Mengetahui, Menyetujui,
Ketua Program Studi Dosen Pembimbing
Segala puji dan syukur dipanjatkan kepada Tuhan Yang Maha Esa yang
telah melimpahkan rahmat dan karunia-Nya yang begitu besar kepada kami
sehingga kami dapat menyelesaikan laporan kerja praktek yang telah dilaksankan
di pondok Pesantren al Hidayah Nurul Ummah) dengan lancar. Penulisan laporan
tugas praktek berjudul “SISTEM INFORMASI PEMBAYARAN BIAYA
PENDIDIKAN DI PESANTREN AL HIDAYAH NURUL UMMAH” ini
bertujuan untuk memenuhi syarat pada mata Kuliah Kerja Praktek pada
Universitas Indraprasta PGRI (Unindra).
ii
7. Bapak Yuli Haryanto, M. Kom. Dosen Penasihat Akademik Kelas SC
angkatan 2018 Program Studi Teknik Informatika Fakultas Teknik dan Ilmu
Komputer Universitas Indraprasta PGRI.
8. Bapak M.Adhi Rohadi, S.Ag, M.MPd selaku kepala sekolah dari Pondok
Pesantren Al-Hidayah Nurul Ummah yang telah memfasilitasi penulis untuk
melakukan penelitian serta selalu memberikan semangat dan dukungan moril.
9. Seluruh Bapak/Ibu dosen khususnya pada program studi Teknik Informatika,
seluruh staf dan karyawan, serta civitas Universitas Indraprasta PGRI.
10. Kedua orang tua serta keluarga besar yang selalu memberikan semangat dan
bantuan baik moral maupun kepada praktikan.
11. Teman-teman dan guru pembimbing di di Pondok Pesantren al Hidayah Nurul
Ummah yang telah memberikan bimbingan serta pelajaran yang sangat banyak
kepada praktikan, serta telah memberikan pengetahuan dan pengalaman yang
baru kepada praktikan mengenai dunia kerja.
Di dalam proses penulisan laporan tugas praktik ini, banyak masalah dan
kesulitan yang telah kami alami, namun dengan semangat, fokus serta dedikasi
yang besar, maka segala permasalahan yang dialami dapat dilewati dengan baik.
Maka dari itu, kami mengucapkan puji syukur dan terimakasih sebanyak-
banyaknya kepada semua pihak yang berperan langsung maupun tidak langsung.
Semoga dengan adanya laporan tugas akhir ini dapat memberi manfaat untuk
semua pihak.
Tim KKP
iii
DAFTAR ISI
LEMBAR PENGESAHAN..........................................................................i
KATA PENGANTAR..................................................................................ii
DAFTAR ISI................................................................................................iv
DAFTAR SIMBOL....................................................................................vii
DAFTAR GAMBAR....................................................................................x
DAFTAR TABEL.....................................................................................xiii
BAB I.............................................................................................................1
PENDAHULUAN.........................................................................................1
A. Latar Belakang..............................................................................................1
B. Masalah.........................................................................................................2
C. Tujuan Penulisan..........................................................................................3
D. Batasan Masalah...........................................................................................3
E. Metodologi.....................................................................................................3
F. Sistematika Penulisan...................................................................................4
BAB II...........................................................................................................6
ORGANISASI..............................................................................................6
A. Sejarah Perusahaan......................................................................................6
C. Unit Kegiatan..............................................................................................14
BAB III........................................................................................................15
INFRASTRUKTUR...................................................................................15
A. Spesifikasi Hardware...................................................................................15
1. Teori Singkat Tentang Hardware........................................................15
B. Spesifikasi Software.....................................................................................19
1. Teori Singkat Tentang Software..........................................................19
iv
BAB IV........................................................................................................24
PEMBAHASAN.........................................................................................24
A. Proses Bisnis................................................................................................24
C. Aturan Sistem..............................................................................................25
D. Kebijakan Sistem........................................................................................25
E. Dekomposisi Fungsi....................................................................................26
I. Kamus Data.................................................................................................34
J. Spesifikasi Proses........................................................................................36
K. Bagian Terstruktur.....................................................................................38
L. Spesifikasi Modul........................................................................................42
M. Analisa Basisdata........................................................................................43
B. Saran............................................................................................................71
DAFTAR PUSTAKA.................................................................................72
LAMPIRAN................................................................................................73
Lampiran 1. Listing Program..............................................................................73
A. koneksi.java...........................................................................................73
B. login.java................................................................................................73
C. menu.java..............................................................................................76
D. guru.java................................................................................................87
v
E. siswa.java...............................................................................................97
F. spp.java................................................................................................108
G. ujian.java.............................................................................................125
H. fasilitas.java.........................................................................................141
I. laporan.java.........................................................................................158
vi
DAFTAR SIMBOL
Alir Data
Menggambarkan suatu arus data yang
dijalankan.
Storage
vii
B. Bagan Terstruktur
pemilihan.
Modul
Menunjukkan suatu modul.
Pengulangan
Kopel Data
Aliran data dari modul yang memanggilke
viii
C. Entity Relationship Diagram
Entitas
Relasi
Menunjukkan relasi
Atribut
Hubungan
ix
DAFTAR GAMBAR
x
Gambar 4.19 Rancangan Layar Form Data Guru..................................................49
xi
Gambar 4.44 Tampilan Keluaran Faktur Pembayaran Ujian................................68
xii
DAFTAR TABEL
xiii
BAB I
PENDAHULUAN
A. Latar Belakang
Kebutuhan informasi semakin penting dan mendesak sejalan
dengan arus perkembangan teknologi yang semakin maju. Banyak
perusahaan berskala besar maupun kecil menggunakan komputer untuk
mendukung kegiatan dalam perusahaannnya. Komputer serta aplikasi di
dalamnya pada saat ini bukanlah merupakan sesuatu hal yang baru lagi,
karena hampir seluruh badan usaha yang besar maupun kecil telah
menggunakan komputer sebagai salah satu sarana pendukung dalam
kegiatan pada perusahaan. Pengelolaan informasi yang baik senantiasa
dapat mengatasi masalah- masalah yang terjadi dan dapat menghasilkan
informasi secara tepat, cepat dan akurat. Dengan informasi yang
dihasilkan, kita dapat segera melakukan pengambilan keputusan yang
cepat dan tepat.
1
Melihat pentingnya kebutuhan informasi tersebut di atas, maka
dibuatlah sebuah sistem informasi pembayaran yang dapat memenuhi
kebutuhan pesantren agar dapat mempercepat dan mempermudah kegiatan
pesantren terutama dalam mengatur dan memantau keuangan yang ada
pada bagian pesantren.
B. Masalah
Berdasarkan latar belakang diatas, maka dapat dirumuskan masalah
sebagai berikut:
2
C. Tujuan Penulisan
Adapun tujuan penelitian ini adalah :
3
1. Teknik Observasi
Observasi merupakan teknik pengumpulan data dengan cara
melakukan pengamatan keadaan yang ada di lapangan. Dengan
melakukan teknik ini, penulis menjadi lebih memahami tentang
subyek dan obyek yang sedang diteliti.
2. Teknik Wawancara
Wawancara atau interview merupakan teknik pengumpulan
data dengan cara bertatap muka secara langsung antara pewawancara
dengan informan. Wawancara dilakukan jika data yang diperoleh
melalui observasi kurang mendalam.
3. Konsultasi Pembimbing
Melakukan konsultasi dengan pembimbing kerja praktek, yaitu
salah satu manajer yang telah ditentukan dari pihak perusahaan agar
memudahkan penelitian.
4. Studi Pustaka
Studi pustaka merupakan metode pungumpulan data yang
diarahkan kepada pencarian data dan informasi melalui dokumen-
dokumen, baik dokumen tertulis, foto-foto, gambar, maupun
dokumen elektronik yang dapat mendukung proses penulisan.
5. Studi Lapangan
Penelitian yang dilakukan langsung, serta melakukan
wawancara kepada karyawan terkait di lapangan.
F. Sistematika Penulisan
Untuk mengetahui secara ringkas penulisan laporan kerja praktek,
maka digunakan sistematika penulisan yang bertujuan untuk
mempermudah pembaca menelusuri dan memahami isi laporan kerja
praktek ini, antara lain:
4
BAB I PENDAHULUAN
Bab ini berisi tentang penjelasan secara umum tentang
sistem informasi persediaan barang serta uraian mengenai
latar belakang, masalah, tujuan penulisan, batasan masalah,
metodologi, dan sistematika penulisan.
BAB II ORGANISASI
Bab ini menjelaskan tentang sejarah perusahaan,
struktur organisasi instansi pada Pondok Pesantren Al-
Hidayah Nurul Ummah serta penjelasan tugas dari masing-
masing unit atau bagian yang ada.
BAB III INFRASTRUKTUR
Bab ini menjelaskan hal-hal yang berkaitan dengan
spesifikasi perangkat keras dan perangkat lunak komputer
atau sistem informasi yang relevan yang ada pada Pondok
Pesantren Al-Hidayah Nurul Ummah
BAB IV PEMBAHASAN
Bab ini menjelaskan tentang tugas spesifik, yang mana
adalah penjabaran masalah dan penyelesaiannya yang diteliti
selama kerja praktek berlangsung.
BAB V PENUTUP
Bab ini berisi tentang ringkasan pembahasan yang
merupakan jawaban dari tujuan penelitian dan saran yang
diajukan untuk menyelesaikan permasalahan yang ada.
5
BAB II
ORGANISAS
A. Sejarah Perusahaan
Cikal bakal Pondok Pesantren Al-Hiidayah Nurul Ummah adalah
pengajian malem “ santri kalong “ pertama kali dirintis pada Tahun 1958
oleh Ust.H.Anwar dan Hj.Imah Binti H.Amat (Al-Magfurllah) dengan
dukungan dari guru, kelurga sekaligus sahabat beliau Ust.H.sirojuddin Bin
Noang (Al-Magfurrallah).
7
tanah. Setelah sholat subuh mereka membersihkan Kobong dan rumah
guru dengan istilah PATROL bahkan bertugas mengisi GOMBANGAN
(bak air) dengan TIMBA yang terbuat dari tambang dadung dan itu semua
dikerjakan dengan rasa senang dan penuh keikhlasan, bahkan disaat libur
seperti hari Ahad para santri kalong saat itu membantu mengerjakan
MEMEACUL (Pertanian) dan mencarikan kayu bakar buat guru memasak
nasi di Hau (tempat memasak nasi dg kayu bakar) lalu dipagi hari mereka
pulang kerumah masing-masing.dan para santri kalong akan kembali lagi
pada sore harinya.
8
tadinya Gedung Majlis Taklim yang sederhana direhab total atas bantuan
Kemenag Pusat melalui H.Mujani,SH (Staf Pekapontren Kemenag kota
bekasi) yang selanjutnnya menjadi Kepala Kemenag kota bekasi sampai
tahun 2020, dibangun menjadi gedung dua lantai yang permanen dan
dilanjutkan Tahun 2008 dibangun gedung tiga lantai dan pada hari Jumat
Tangal 24 April 2015 dibentuk Yayasan yang berbadan Hukum dan
terdaftar di Kementrian Hukum dan Ham diberi nama Yayasan Pendidikan
Islam Al-Hidayah Nurul Ummah, nama Al-Hidayah diambil sebagai
penghargaan kepada pendiri yang sejak awal bernama Majlis Taklim Al-
Hidayah, adapun nama Nurul diambil dari nama Pendiri Anwar dan
Ummah diambil dari nama istri beliau Immah ( wafat hari kamis tanggal
21 April 1989 ), dengan diberi nama tersebut agar kelak para genrasi
penerusnya tidak melupakan jasa dan perjuangan para perintis sekaligus
pendiri Pondok Pesantren Al-Hidayah. Dan pada Tahun 2016-2017
dibangun gedung empat lantai atas bantuan dari ketua Komisi V DPRD
Provinsi Jawabarat yaitu Ibu DR. Siti Aisyah Ahmad Zurpaih melalui
APBD Provinsi Jawa Barat Tahun 2016
9
kembangkan pondok Pesantren Al-Hidayah Nurul Ummah dipimpin oleh
purta satu-satunya yaitu H.Ismail Anwar.S.Ag. dan dibantu dengan anak-
anak dan para menantu dan cucunya sehingga saat ini.
10
SMP-IT ) dan direncanakan akan membuka Sekolah Lanjutan Tingkat
Atas ( SLTA ) bahkan sampai Perguruan Tingginya
11
B. Struktur Organisasi Pondok pesantren
1. Gambar Struktur Organisasi
Gambar 2. 1 Struktur
Diolah, 2022)
2. Tugas dan Wewenang
a. Pendiri
Sebutan kiai dimaksudkan untuk para pendiri dan
pemimpin pesantren, yang sebagai muslim terhormat telah
membaktikan hidupnya untuk Allah SWT serta menyebarluaskan
dan memperdalam ajaran-ajaran serta pandangan Islam melalui
pendidikan.
Kiai berkedudukan sebagai tokoh sentral dalam tata
kehidupan pesantren, sekaligus sebagai pemimpin pesantren.
Dalam kedudukan ini nilai kepesantrenannya banyak tergantung
pada kepribadian kiai sebagai suri teladan dan sekaligus
pemegang kebijaksanaan mutlak dalam tata nilai pesantren.
b. Pembina
Pembina adalah orang yang bertanggung jawab
menentukan kebijaksanaan dan mengawasi pelaksanaan program
sesuai dengan bidangnya. Bertanggung jawab atas pelaksanaan
program sesuai dengan bidangnya.
12
c. Pengawas
Dalam pelaksanaan suatu tugas untuk mencapai suatu
tujuan di perlukan pengawasan/controlling. Dimana bertugas
mengawasi seluruh rangkaian pelaksanaan yang terjadi di bawah
tanggung jawabnya. Tujuan dari controlling sendiri untuk
mengetahui apakah sudah sesuai dengan perencanaan yg telah
disusun atau justru mengalami kendala bahkan sampai ada yg
tidak sesuai hasilnya. Maka dengan pengawasan kita dapat terus
meningkat kan apa yg sudah sesuai dan melakukan perbaikan
atau mengatur ulang pada bagian-bagian yg belum sesuai.
d. Ketua
1. Menjadi pemimpin yang baik serta bijaksanaan
2. Mengkoordinir, mengawasasi dan mengevaluasi proses
pelaksanaan tugas seluruh anggota organisasi
3. Memimpin semua rapat harian pengurus.
4. Mengambil dan menetapkan keputusan dengan musyawarah
dan mufakat.
e. Seketaris
1. Mendampingi ketua dalam memimpin rapat harian pengurus
2. Mendata dan menyimpan biodata santri,anggota pengurus
dan seluruh yang ada di pondok pesantren
3. Menyimpan seluruh surat dan arsip yang berhubungan
dengan pondok pesantren
4. Bertanggung jawab atas tata tertib administrasi dan
kesekretarisan pondok pesantren
f. Bendahara
1. Mendata segala pemasukan,pengeluaran dan pengolahan
finansial biaya pondok pesantren
2. Membuat tanda bukti setiap pemasukan dan pengeluran
3. Menyampaikan laporan keuangan secara berkala.
4. Meminta uang kas kepada seluruh santri.
13
g. Kasi Paud, TK, SD & SMP
Kasi harus bertanggung jawab penuh terhadap bagian
tanggung jawabnya. Agar lebih fokus pada pembagian tugas
perlu di tunjuk kasi pada setiap tingkatan jenjang pendidikan
pada PAUD, TK, SD dan SMP. Setiap dari kasi wajib
melaporkan hasil pantauan nya terhadap hal-hal yg sudah di
sepakati bersama. Hal ini dilakukan agar dapat menjadi bahan
evaluasi nantinya dan juga apabila dalam pelaksanaan nya
muncul kendala/permasalahan dapat dengan cepat di atasi.
h. Kasi Pondok Pesantren
Kasi Pondok Pesantren memiliki tugas melaksanakan
pelayanan, bimbingan, pembinaan, dan pengelolaan sistem
informasi di bidang pendidikan diniyah dan pondok pesantren
berdasarkan kebijakan teknis yang ditetapkan oleh Kepala
Kantor Wilayah Kementerian Agama.
i. Kasi Sosial
Merupakan kasi yg berhubungan dengan masyarakat sosial.
Bertanggung jawab untuk memastikan pembauran yayasan
dalam implementasi sosialnya. Seperti kecenderungan perilaku
dalam hubungan sosial dimana santri sudah dapat hidup mandiri,
bergaul, ramah, dan patuh pada tata tertib yang dapat dilihat dari
perilaku sopan santun di dalam kehidupan sehari-hari di
lingkungan sosial. Tugas lain nya seperti mengawasi kegiatan
sosial atau program khusus dalam penyaluran dana sosial kepada
masyarakat yang berhak menerima.
j. Kasi Dakwah
Memfasilitasi kegiatan pengajian dan da'wah kepada
masyarakat berbasis pondok pesantren. Seperti adanya partisipasi
dari para santri untuk mengisi ceramah di pengajian ibu-ibu.
14
k. Kasi Koperasi
Bertanggung jawab pada bidang keuangan seperti aktivitas
pinjaman dan memfasilitasi penyaluran keuangan alat tulis
menulis yang di butuhkan para santri.
l. Kasi Pembangunan & Pengembangan
Bertanggung untuk memantau pengembangan dalam kurun
waktu tertentu. Memantau terlaksana nya pemenuhan sarana dan
prasarana. Seperti penambahan maupun perbaikan pembangunan
di dalam yayasan.
C. Unit Kegiatan
Dalam pelaksanaan kerja praktek kami ditempatkan di bagian
kantor untuk dapat meneliti kegiatan yang ada di sana. Kegiatan yang kami
lakukan adalah meneliti dan meriset data-data yang ada dan diperlukan
mulai dari data guru, data siswa, data pembayaran spp, data pembayaran
fasilitas, data pembayaran ujian dan data laporan. Data tersebut dibutuhkan
untuk dapat membangun sistem informasi pembayaran biaya pendidikan
nantinya agar tidak terdapat kesalahan dan dapat dipergunakan dengan
baik.
15
BAB III
INFRASTRUKTUR
A. Spesifikasi Hardware
1. Teori Singkat Tentang Hardware
Pengertian dari hardware atau dalam Bahasa Indonesia
disebut juga dengan "perangkat keras" adalah salah satu komponen
dari sebuah komputer yang sifat alatnya bisa dilihat dan diraba
secara langsung atau yang berbentuk nyata, yang berfungsi untuk
mendukung proses komputerisasi.
Hardware dapat bekerja berdasarkan perintah yang telah
ditentukan ada padanya, atau yang juga disebut dengan dengan
istilah instruction set. Dengan adanya perintah yang dapat
dimengerti oleh hardware tersebut, maka hardware tersebut dapat
melakukan berbagai kegiatan yang telah ditentukan oleh pemberi
perintah. Secara fisik, Komputer terdiri dari beberapa komponen
yang merupakan suatu sistem. Sistem adalah komponen-komponen
yang saling bekerja-sama membentuk suatu kesatuan. Apabila salah
satu komponen tidak berfungsi, dapat mengakibatkan tidak
berfungsinya proses-proses yang ada pada komputer dengan baik.
Komponen komputer ini termasuk dalam kategori elemen perangkat
keras (hardware). Berdasarkan fungsinya, perangkat keras
komputer dibagi menjadi:
a. Unit masukan (Input Device)
b. Unit pemrosesan (Process Device)
c. Unit keluaran (Output Device)
d. Unit penyimpanan (Backing Storage)
e. Unit tambahan (Periferal)
16
Komponen dasar pada komputer terdiri dari input, process,
output dan storage. Input device terdiri dari keyboard dan mouse,
Process device adalah microprocessor (ALU, Internal
Communication, Registers dan control section), Output device
terdiri dari monitor dan printer, Storage external memory terdiri
dari harddisk, Floppy drive, CD ROM, Magnetic tape. Storage
internal memory terdiri dari RAM dan ROM. Sedangkan komponen
Periferal Device merupakan komponen tambahan atau sebagai
komponen yang belum ada atau tidak ada sebelumnya. Komponen
Periferal ini contohnya : TV Tuner Card, Modem dan Capture
Card.
2. Hardware Pada Pesantren Al-hidayah Nurul Ummah
Hardware yang ada dan digunakan pada Pesantren AL-
Hidayah Nurul Ummah adalah sebagai berikut:
a. Komputer
Komputer adalah alat yang dipakai untuk mengolah data
menurut prosedur yang telah dirumuskan. Kata computer
semula dipergunakan untuk menggambarkan orang yang
perkerjaannya melakukan perhitungan aritmatika, dengan atau
tanpa alat bantu, tetapi arti kata ini kemudian dipindahkan
kepada mesin itu sendiri. Asal mulanya, pengolahan informasi
hampir eksklusif berhubungan dengan masalah aritmatika,
tetapi komputer modern dipakai untuk banyak tugas yang tidak
berhubungan dengan matematika. Komputer terhubung oleh
beberapa alat tambahan untuk dapat bekerja.
b. Monitor
Monitor adalah salah satu jenis soft-copy device, karena
keluarannya adalah berupa sinyal elektronik, dalam hal ini
berupa gambar yang tampil di layar monitor. Gambar yang
tampil adalah hasil pemrosesan data ataupun informasi
masukan. Monitor memiliki berbagai ukuran layar seperti
layaknya sebuah televisi. Tiap merek dan ukuran monitor
17
memiliki tingkat resolusi yang berbeda. Resolusi inilah yang
akan menentukan ketajaman gambar yang dapat ditampilkan
pada layar monitor. Jenis-jenis monitor saat ini sudah sangat
beragam, mulai dari bentuk yang besar dengan layar cembung,
sampai dengan bentuk yang tipis dengan layar datar (flat).
c. Keyboard
Keyboard atau papan ketik merupakan unit input yang
paling penting dalam suatu pengolahan data dengan komputer.
Keyboard dapat berfungsi memasukkan huruf, angka, karakter
khusus serta sebagai media bagi user (pengguna) untuk dapat
melakukan perintah-perintah lainnya yang diperlukan, seperti
menyimpan dan membuka file.
d. Mouse
Mouse atau tetikus adalah peranti penunjuk yang
digunakan untuk memasukkan data dan perintah ke dalam
komputer selain keyobard. Tetikus memperoleh nama demikian
karena kabel yang menjulur berbentuk seperti ekor tikus.
Bentuk tetikus yang paling umum mempunyai dua tombol
utama, masing-masing di sebelah kiri atas dan kanan atas yang
dapat ditekan. Tetikus modern umumnya dilengkapi dengan
tombol scroll yang juga dapat ditekan sebagai tombol ketiga.
e. Printer
Arti printer lebih spesifik menurut ilmu komputer berarti
alat untuk mencetak hasil kerja digital berupa file gambar
dan tulisan. Printer pada umumnya terhubung dengan komputer
maupun laptop untuk dapat bisa menghasilkan suatu pekerjaan
cetak. Printer bekerja melalui perintah yang terprogram pada
komputer melalui perintah manusia yang menjalankan program.
f. Konsep jaringan komputer
Jaringan komputer adalah sebuah sistem yang terdiri atas
komputer-komputer yang di atur sedemikian rupa segingga
dapat
18
berbagi sumber daya, berkomunikasi dan mengakses informasi
satu sama lain ataupun melalui internet. Tujuan dari jaringan
komputer adalah agar dapat mencapai tujuannya masing-
masing, sehingga setiap bagian dari jaringan komputer dapat
memminta dan memberikan layanan satu sama lain.
Jaringan yang ada pada Pesantren AL-Hidayah Nurul
Ummah
(sumber: https://www.pintarkomputer.com)
19
Artinya, kinerja topologi star sangat tergantung dengan
hub atau switch yang menjadi pusat lalu lintas data. Jika hub
atau switch terjadi suatu kendala atau kerusakan maka semua
komputer yang terhubung dengannya akan mengalami kendala
juga. Kendala di sini adalah kendala pada arus lalu lintas data
atau internet.
B. Spesifikasi Software
1. Teori Singkat Tentang Software
Software atau perangkat lunak adalah sekumpulan data
elektronik yang disimpan dan diatur oleh komputer. Data elektronik
yang disimpan dapat berupa program atau instruksi yang akan
menjalankan suatu perintah. Melalui software atau perangkat lunak
inilah suatu komputer dapat menjalankan suatu perintah.
a. Jenis-jenis Software
Software atau perangkat lunak komputer berdasarkan
distribusinya dibedakan menjadi beberapa macam, yaitu
software berbayar, software gratis ( freeware, free software dan
shareware).
1) Freeware
Freeware atau perangkat lunak gratis adalah perangkat
lunak komputer yang mempunyai hak cipta dan gratis atau
bebas digunakan tanpa batasan waktu, berbeda dari
shareware yang mewajibkan penggunanya membayar.
Para pengembang perangkat gratis seringkali membuat
perangkat gratus atau freeware untuk disumbangkan kepada
komunitas, namun juga tetap ingin mempertahankan hak
mereka sebagai pengembang dan memiliki kontrol terhadap
pengembangan selanjutnya. Freeware juga didefinisikan
sebagai program apapun yang didistribusikan gratis, tanpa
biaya tambahan.
20
2) Free Software
Free Software adalah perangkat lunak yang bersumber
terbuka (open source) yang mana dapat disalin, dimodifikasi
dan disebarkan secara bebas.
Perbedaan antara free software dan freeware adalah,
freeware merupakan perangkat lunak yang bebas disalin,
dimodifikasi dan disebarkan memerlukan sebuah lisensi
untuk keperluan tersebut. Sedangkan freeware merupakan
perangkat lunak yang berlisensi dan pengembang
mempunyai hak terhadap kontrol untuk pengembangan
selanjutnya.
3) Shareware
Shareware adalah perangkat lunak terbatas yang
didistribusikan baik sebagai demonstrasi atau versi evaluasi
dengan fitur atau fungsi yang terbatas. Dengan kata lain
terdapat batas waktu yang ditetapkan untuk penggunaannya.
Dengan demikian, memberikan kesempatan kepada
pengguna untuk mencoba perangkat lunak sebelum
membelinya dalam versi lengkap atau berbayar.
2. Software Pada Pesantren AL-Hidayah Nurul Ummah
Software yang ada dan digunakan pada Pesantren AL-Hidayah
Nurul Ummah adalah sebagai berikut:
a. Microsoft Windows
Microsoft Windows atau yang lebih dikenal dengan
sebutan Windows saja adalah keluarga sistem operasi.
Sistem operasi Windows telah berevolusi dari MS-DOS,
sebuah sistem operasi yang berbasis modus teks dan command-
line. Beberapa versi terakhir dari Windows merupakan sistem
operasi mandiri yang tidak lagi bergantung kepada sistem
operasi MS-DOS. Microsoft Windows kemudian bisa
berkembang dan dapat menguasai penggunaan sistem operasi
hingga mencapai 90%.
21
b. Web Browser
Web Browser adalah suatu program atau software yang
digunakan untuk menjelajahi internet atau untuk mencari
informasi dari suatu web yang tersimpan didalam komputer.
Awalnya, web browser berorientasi pada teks dan belum dapat
menampilkan gambar. Namun, web browser sekarang tidak
hanya menampilkan gambar dan teks saja, tetapi juga memutar
file multimedia seperti video dan suara. Web browser juga dapat
mengirim dan menerima email, mengelola HTML, input dan
menjadikan halaman web sebagai hasil output yang informatif.
c. Microsoft Office
Microsoft Office adalah perangkat lunak paket aplikasi
perkantoran buatan Microsoft dan dirancang untuk dijalankan
di bawah sistem operasi Microsoft Windows dan MacOS X.
Beberapa aplikasi di dalam Microsoft Office yang terkenal
adalah Excel, Word, dan PowerPoint.
d. Java
Java adalah bahasa pemrograman yang dapat dijalankan
di berbagai komputer termasuk telepon genggam. Bahasa ini
awalnya dibuat oleh James Gosling saat masih bergabung di Sun
Microsystems yang saat ini merupakan bagian dari Oracle dan
dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang
terdapat pada C dan C++ namun dengan sintaksis model objek
yang lebih sederhana serta dukungan rutin-rutin aras bawah
yang minimal. Aplikasi-aplikasi berbasis Java umumnya
dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan
pada berbagai Mesin Virtual Java (JVM).
Java merupakan bahasa pemrograman yang bersifat
umum atau non-spesifik (general purpose), dan secara khusus
didisain untuk memanfaatkan dependensi implementasi
seminimal mungkin. Karena fungsionalitasnya yang
22
memungkinkan aplikasi Java mampu berjalan di beberapa
platform sistem operasi yang berbeda, java dikenal pula dengan
slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java
merupakan bahasa pemrograman yang paling populer
digunakan, dan secara luas dimanfaatkan dalam pengembangan
berbagai jenis perangkat lunak aplikasi ataupun aplikasi.
e. NetBeans IDE
NetBeans IDE adalah suatu serambi pengembangan
perangkat lunak yang ditulis dalam bahasa pemrograman Java.
Pada serambi NetBeans, pengembangan suatu aplikasi dapat
dilakukan dimulai dari setelan perangkat lunak modular
bernama modules. Semula, aplikasi NetBeans IDE ini
diperuntukkan bagi pengembangan dalam Java. Namun, aplikasi
ini juga mendukung program-program pembuatan bahasa lain
secara khusus seperti PHP, C/C++ dan HTML5.
f. XAMPP
XAMPP adalah perangkat lunak bebas, yang mendukung
banyak sistem operasi, merupakan kompilasi dari beberapa
program. Fungsinya adalah sebagai server yang berdiri sendiri
(localhost), yang terdiri atas program Apache HTTP Server,
MySQL database, dan penerjemah bahasa yang ditulis dengan
bahasa pemrograman PHP dan Perl. Nama XAMPP merupakan
singkatan dari X (tempat sistem operasi apapun), Apache,
MySQL, PHP dan Perl. Program ini tersedia dalam GNU
(General Public License) dan bebas.
g. MySQL (Database)
MySQL adalah suatu perangkat lunak relasi database
(Relational Database Management System atau RDBMS).
MySQL tersedia di berbagai platform baik itu Linux atau
Windows. Perkembangan MySQL sampai saat ini dirilis sebagai
produk open source.
23
Suatu sistem yang data tidak lepas dari penggunaan
penyimpanan data. Database adalah sebuah bentuk media yang
digunakan untuk menyimpan data. Dimana penyimpanan data
dapat diilustrasikan sebagai sebuah gudang yang dijadikan
tempat menyimpan berbagai macam barang yang terdapat dalam
suatu database, barang adalah data. Dalam sebuah database
terdiri dari dua bagian dasar yang membangun sebuah database
yaitu tabel dan kolom.
24
BAB IV
PEMBAHASAN
A. Proses Bisnis
Dari hasil penelitian proses bisnis yang ada saat ini maka
kami dapat menganalisa permasalahn yang ada saat ini maka kami
dapat menganalisa permasalahan yang ada pada pelayanan
PESANTREN AL HIDAYAH NURUL UMMAH, yaitu:
25
1. Perancangan sistem pembayaran biaya pendidikan berbasis
dekstop.
1. Siswa harus mengisi data yang jelas pada saat pengisian form
26
E. Dekomposisi Fungsi
27
Gambar 4.2 Hirarki Fungsi Sistem yang Dibahas
28
c. Nama Masukkan : Data
SPP Sumber : Guru
Media : Form
Fungsi : Sebagai informasi transaksi pembayaran spp
Frekuensi : Setiap ada siswa yang
melakukan pembayaran SPP
29
c. Proses Laporan
Pada proses ini, guru mencetak laporan untuk diserahkan
kepada kepala sekolah.
3. Analisa Keluaran (Output)
a. Nama Keluaran :
Faktur Sumber : Guru
Bentuk Data : Kertas Faktur
Fungsi : Sebagai bukti pembayaran
Frekuensi : Setiap siswa melakukan pembayaran
Keterangan : Berisi detail faktur
b. Nama Keluaran : Laporan Data
Siswa Sumber : Guru
Bentuk Data : File
Fungsi : Sebagai arsip laporan data siswa
Frekuensi : Setiap 1 kali dalam sebulan
Keterangan : Berisi detail laporan data
siswa
c. Nama Keluaran : Laporan Data
SPP Sumber : Guru
Bentuk Data : File
Fungsi : Sebagai arsip laporan data spp
Frekuensi : Setiap 1 kali dalam sebulan
Keterangan : Berisi detail laporan data spp
d. Nama Keluaran : Laporan Data
Fasilitas Sumber : Guru
Bentuk Data : File
Fungsi : Sebagai arsip laporan data fasilitas
Frekuensi : Setiap 1 kali dalam satu bulan
Keterangan : berisi detai laporan data fasilitas
e. Nama Keluaran : Laporan Data
Ujian Sumber : Guru
Bentuk Data : File
30
Fungsi : Sebagai arsip laporan data ujian
Frekuensi : Setiap 1 kali dalam satu bulan
Keterangan : Berisi detail laporan data ujian
Diolah, 2022)
31
2. Diagram Nol
32
3. Diagram Rinci
a. Diagram Rinci 2.0 Pembayaran
33
b. Diagram Rinci 3.0 Cetak Laporan
34
I. Kamus Data
1. Kamus Data Masukan
a. Nama arus data : Pendataan
siswa Alias : PS
Bentuk data : Dokumen cetakan komputer
Arus data : Siswa – 1.0 – Guru
Penjelasan : Sebagai data siswa
Periode : Setiap ada siswa yang ingin
melakukan Pembayaran
Volume : Sesuai kebutuhan
+jenis_kelamin+alamat+notelp
b. Nama arus data : Pembayaran
SPP Alias : PSPP
Bentuk data : Dokumen cetakan komputer
Arus data : Guru – 2.1 - Siswa
Penjelasan : Sebagai pembayaran SPP
Periode : Setiap ada pembayaran SPP
Volume : Sesuai kebutuhan
Struktur data : id_spp+nisn+bulan+tgl_bayarspp+ket+total
c. Nama arus data : Pembayaran
fasilitas Alias : PF
Bentuk data : Dokumen cetakan komputer
Arus data : Guru – 2.2 - Siswa
Periode : Setiap ada pembayaran fasilitas
Volume : Sesuai kebutuhan
Struktur data : id_fasilitas+nisn+jenis_fasilitas+
tgl_bayarfasilitas+ket+jumlah
35
d. Nama arus data : Pembayaran
ujian Alias : PU
Bentuk data : Bentuk cetakan komputer
Arus data : Guru – 2.3 - Siswa
Periode : Setiap ada pembayaran ujian
Volume : Sesuai kebutuhan
Struktur data : id_ujian+nisn+ujian+
tgl_bayarujian+ket+harg
a
2. Kamus Data Keluaran
a. Nama arus data : Buat laporan data
siswa Alias : BLDS
Bentuk data : Kertas
Arus : Guru – 3.1 – Kepala sekolah
Penjelasan : Sebagai laporan data siswa
Periode : Setiap tahun ajaran baru
Volume : Sesuai kebutuhan
Sturuktur data : nisn+nama+kelas+status+tgl_lahir
+jenis_kelamin+alamat+notelp
b. Nama arus data : Buat laporan data
SPP Alias : BLDSSPP
Bentuk data : Kertas
Arus : Guru – 3.2 – kepala sekolah
Penjelasan : Sebagai laporan data SPP
Periode : Setiap ajaran baru
Volume : Sesuai kebutuhan
Struktur data : id_spp+nisn+bulan+tgl_bayarspp+ket+total
c. Nama arus data : Buat laporan data
fasilitas Alias : BLDF
Bentuk data : Kertas
Arus : Guru – 3.3 – kepala sekolah
Penjelasan : Sebagai laporan data fasilitas
36
Periode : Setiap ajaran baru
Volume : Sesuai kebutuhan
Struktur data : id_fasilitas+nisn+jenis_fasilitas+
tgl_bayarfasilitas+ket+jumlah
d. Nama arus data : Buat laporan data
ujian Alias : BLDU
Bentuk data : Kertas
Arus : Guru – 3.4 – kepala sekolah
Penjelasan : Sebagai laporan data ujian
Periode : Setiap ajaran baru
Volume : Sesuai kebutuhan
Struktur data :
id_ujian+nisn+ujian+
tgl_bayarujian+ket+harga
J. Spesifikasi Proses
1. Nomor Proses : 1.0
Nama Proses : Pendataan
siswa Masukan : Data siswa
Keluaran : Data siswa
Uraian : Siswa mengisi data siswa untuk pembayaran dan
37
Uraian : Guru menyerahkan nota pembayaran fasilitas ke
38
siswa
4. Nomor Proses : 2.3
Nama Proses : Input pembayaran
ujian Masukan : Data pembayaran ujian
Keluaran : Faktur
Uraian : Guru menyerahkan nota pembayaran ujian ke
siswa
5. Nomor Proses : 3.1
Nama Proses : Buat laporan data
siswa Masukan : Lap.data siswa
Keluaran : Terima Lap. data siswa
Uraian : Guru mencetak laporan data siswa untuk
diserahkan kepada kepala sekolah
6. Nomor Proses : 3.2
Nama Proses : Buat laporan data
SPP Masukan : Lap. Data SPP
Keluaran : Terima Lap. Data SPP
Uraian : Guru mencetak laporan pembayaran spp untuk
diserahkan kepada kepala sekolah
7. Nomor Proses : 3.3
Nama Proses : Buat laporan Data
fasilitas Masukan : Lap. Data fasilitas
Keluaran : Terima Lap. Data fasilitas
Uraian : Guru mencetak laporan pembayaran spp untuk
diserahkan kepada kepala sekolah
8. Nomor Proses : 3.4
Nama Proses : buat laporan data
ujian Masukan : Lap. Data ujian
Keluaran : Terima Lap. Data ujian
Uraian : Guru mencetak laporan pembayaran spp untuk
diserahkan kepada kepala sekolah.
39
K. Bagian Terstruktur
1. Bagan Terstruktur Proses 1.0 Pendataan Siswa
40
3. Bagan Terstruktur Proses 2.2 Input pembayaran fasilitas
41
5. Bagan Terstruktur Proses 3.1 Buat laporan data siswa
42
7. Bagan Terstruktur Proses 3.3 Buat laporan data fasilitas
43
L. Spesifikasi Modul
1. Modul Pendataan
Siswa Mulai
Input data siswa
Simpan data siswa
Selesai
2. Modul Input pembayaran
SPP Mulai
Input data pembayaran
spp Pilih siswa
Simpan data pembayaran
spp Selesai
3. Modul Input pembayaran Fasilitas
Mulai
Input data pembayaran fasilitas
Pilih siswa
Simpan data pembayaran fasilitas
Selesai
4. Modul Input pembayaran Ujian
Mulai
Input data pembayaran ujian
Pilih siswa
Simpan data pembayaran ujian
Selesai
5. Modul Buat laporan data siswa
Mulai
Panggil data siswa
Cetak data siswa
Selesai
44
6. Modul Buat laporan data SPP
Mulai
Panggil data SPP
Cetak data SPP
Selesai
7. Modul Buat laporan data fasilitas
Mulai
Panggil data fasilitas
Cetak data fasilitas
Selesai
8. Modul Buat laporan data ujian
Mulai
Panggil data ujian
Cetak data ujian
Selesai
M. Analisa Basisdata
1. ERD (Entity Relationship Diagram)
45
2. Spesifikasi File Basisdata
a. Nama File : Guru
Media : Storage
Primary Key : id_guru
Panjang Record :
11+100+13+null+20+50+20 Jumlah Record : 214
Byte
Tabel 4.1 Tabel data guru
(Sumber: Data diolah, 2022)
47
c. Nama File : SPP
Media :
Storage
Primary Key : id_spp
Panjang Record :
20+20+20+null+null+11 Jumlah Record :
71 Byte
d. Nama File :
Fasilitas Media : Storage
Primary Key : id_fasilitas
Panjang Record :
20+20+100+null+null+11 Jumlah Record :
151 Byte
49
e. Nama File : Ujian
Media :
Storage
Primary Key : id_ujian
Panjang Record :
20+20+20+null+null+11 Jumlah Record :
71 Byte
Tabel 4.5 Tabel data ujian
(Sumber: Data diolah, 2022)
50
b. Form Menu Utama
51
c. Form menu Data Siswa
52
d. Form Data Guru
53
e. Form Pembayaran SPP
54
f. Form Pembayaran Ujian
55
g. Form Pembayaran Fasilitas
h. Form Laporan
56
2. Rancangan Form Keluaran
a. Laporan Data Siswa
57
c. Laporan Pembayaran Ujian
58
e. Laporan Faktur SPP
59
g. Laporan Faktur Fasilitas
60
O. Tampilan dan Penjelasan Layar, Tampilan Format Masukkan ,
dan Tampilan Format Keluaran
1. Tampilan Layar Login
61
2. Tampilan Layar Menu Utama
62
3. Tampilan Layar Data Siswa
63
4. Tampilan Layar Data Guru
64
5. Tampilan Layar Pembayaran SPP
65
6. Tampilan Layar Pembayaran Ujian
66
7. Tampilan Layar Pembayaran Fasilitas
67
8. Tampilan Layar Laporan
68
9. Tampilan Layar Laporan Data Siswa
69
11. Tampilan Layar Laporan Pembayaran Ujian
70
12. Tampilan Layar Laporan Pembayaran Fasilitas
71
14. Tampilan Layar Faktur Pembayaran Ujian
72
15. Tampilan Layar Faktur Pembayaran Fasilitas
73
BAB V
PENUTU
A. Kesimpulan
Sistem Informasi Pembayaran Biaya Pendidikan telah
berhasil di implementasikan Pada Pesantren Al Hidayah Nurul
Ummah Jatisari Bekasi. Dari hasil kegiatan KKP yang dilakukan
pada Pesantren Al Hidayah Nurul Ummah, disimpulkan beberapa
hal sebagai berikut:
74
B. Saran
Sejalan dengan sistem usulan yang penulis buat, maka
demi tercapainya tujuan dan saran yang diharapkan, maka
penulisan dapat memberi saran sebagai berikut:
75
DAFTAR PUSTAKA
Ahadi, A. H., & Effiyaldi, E. (2019). Analisis Dan Perancangan Sistem Informasi
Administrasi Pembayaran Biaya Pendidikan Berbasis Web Dan Sms
Gateway Pada Pondok Pesantren Nurul Iman Muaro Sebapo. Jurnal
Manajemen Sistem Informasi, 4(2), 159-170.
76
LAMPIRAN
B. login.java
package gui;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
77
public class login extends javax.swing.JFrame
{ public login() {
initComponents();
try{
Connection c = koneksi.getKoneksi();
Statement s = c.createStatement();
ResultSet r = s.executeQuery(sql);
if (r.next()){
n.show();
this.dispose();
}else{
txpass.requestFocus();
}catch(SQLException e){
System.out.println("error");
78
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
*/
try {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
//</editor-fold>
79
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
new login().setVisible(true);
});
C. menu.java
package gui;
import java.awt.Color;
import javax.swing.JPanel;
import javax.swing.table.DefaultTableModel;
/**
80
*
* @author shadow
*/
public class main extends javax.swing.JFrame {
//private Color primaryColor = new Color(0,153,153);
private Color primaryColorHover = new Color(0,204,204);
private DefaultTableModel model;
/**
* Creates new form main
*/
public main() {
initComponents();
initHome();
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
81
jLabel11 = new javax.swing.JLabel();
laporan = new javax.swing.JPanel();
jLabel12 = new javax.swing.JLabel();
jLabel15 = new javax.swing.JLabel();
jMenuBar1 = new
javax.swing.JMenuBar(); jMenu1 = new
javax.swing.JMenu(); jMenu2 = new
javax.swing.JMenu();
jMenuItem8.setText("jMenuItem8");
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setMinimumSize(new java.awt.Dimension(1100, 560));
setSize(new java.awt.Dimension(1100, 560));
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/logo_.png"))); //
NOI18N
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel5)
82
.addComponent(jLabel6)
.addComponent(jLabel4))
.addContainerGap(58, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel4)
.addGap(45, 45, 45))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel2)
.addGap(0, 0, Short.MAX_VALUE))
);
83
.addGroup(homeLayout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
homeLayout.setVerticalGroup( homeLayout.createParallelGroup(javax.swing.GroupLayout.Align
ment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
homeLayout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel1)
.addContainerGap())
);
84
);
85
javax.swing.GroupLayout fasilitasLayout = new
javax.swing.GroupLayout(fasilitas); fasilitas.setLayout(fasilitasLayout);
fasilitasLayout.setHorizontalGroup( fasilitasLayout.createParallelGroup(javax.swing.GroupLayout.
Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
fasilitasLayout.createSequentialGroup()
.addContainerGap(21, Short.MAX_VALUE)
.addComponent(jLabel11)
.addGap(19, 19, 19))
);
fasilitasLayout.setVerticalGroup( fasilitasLayout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
fasilitasLayout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel11)
.addContainerGap())
);
86
laporanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
laporanLayout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel12)
.addContainerGap())
);
87
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(laporan, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
jLabel15.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image/pesantren.jpeg"))); //
NOI18N
getContentPane().add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 180, 1100,
490));
jMenu1.setText("Data");
jMenu1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jMenu1MouseClicked(evt);
}
});
jMenuBar1.add(jMenu1);
jMenu2.setText("Logout");
jMenu2.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jMenu2MouseClicked(evt);
}
});
jMenuBar1.add(jMenu2);
setJMenuBar(jMenuBar1);
setSize(new java.awt.Dimension(1117,
720)); setLocationRelativeTo(null);
}// </editor-fold>
88
private void sppMouseClicked(java.awt.event.MouseEvent evt) {
spp spp = new spp();
spp.show();
this.dispose();
}
/**
* @param args the command line arguments
89
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
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(main.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(main.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(main.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(main.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
}
//</editor-fold>
90
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar
jMenuBar1;
private javax.swing.JMenuItem jMenuItem8;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel laporan;
private javax.swing.JPanel spp;
private javax.swing.JPanel ujian;
// End of variables declaration
}
D. guru.java
package gui;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
91
private DefaultTableModel model;
92
public void clear(){
nik.setText("");
txnama.setText("");
txnotelp.setText("");
txalamat.setText("");
txUser.setText("");
txPass.setText("");
Baris); try{
Statement s = cn.createStatement();
String sql = "SELECT * FROM guru where id_guru like '%" + txcari.getText() + "%' or
nama like '%" + txcari.getText() + "%' order by id_guru asc" ;
ResultSet r = s.executeQuery(sql);
while(r.next()){
o [0] = r.getString("id_guru");
o [1] = r.getString("nama");
o [2] = r.getString("notelp");
o [3] = r.getString("alamat");
o [4] = r.getString("jenis_kelamin");
o [5] = r.getString("username");
93
o [6] =
r.getString("password");
model.addRow(o);
jTable1.setModel(model);
jTable1.removeColumn(jTable1.getColumnModel().getColumn(7));
}catch(SQLException e){
System.out.println("terjadi kesalahan");
public guru() {
initComponents();
loadData();
home.show();
dispose();
siswa.show();
dispose();
94
private void guruMouseClicked(java.awt.event.MouseEvent evt) {
guru.show();
this.dispose();
siswa.show();
dispose();
try{
Connection c = koneksi.getKoneksi();
PreparedStatement p = c.prepareStatement(sql);
p.setString(1, nik.getText());
p.setString(2, txnama.getText());
p.setString(3, txnotelp.getText());
p.setString(4, txalamat.getText());
p.setString(5, cbjk.getSelectedItem().toString());
p.setString(6, txUser.getText());
p.setString(7, txPass.getText());
95
p.executeUpdate();
p.close();
clear();
}catch(SQLException e){
}finally{ load
Data();
{ try{
Connection c = koneksi.getKoneksi();
PreparedStatement p = c.prepareStatement(sql);
p.setString(1, nik.getText());
p.setString(2, txnama.getText());
p.setString(3, txnotelp.getText());
p.setString(4, txalamat.getText());
p.setString(5, cbjk.getSelectedItem().toString());
p.setString(6, txUser.getText());
p.setString(7, txPass.getText());
96
p.executeUpdate();
p.close();
btnSimpan.setEnabled(true);
clear();
}catch(SQLException e){
}finally{ load
Data();
if (ok==0){
try{
Connection c = koneksi.getKoneksi();
stat.executeUpdate();
clear();
nik.requestFocus();
97
catch (SQLException e){
loadData();
btnSimpan.setEnabled(false);
nik.setText(jTable1.getModel().getValueAt(baris, 0).toString());
txnama.setText(jTable1.getModel().getValueAt(baris, 1).toString());
txnotelp.setText(jTable1.getModel().getValueAt(baris, 2).toString());
txalamat.setText(jTable1.getModel().getValueAt(baris, 3).toString());
cbjk.setSelectedItem(jTable1.getModel().getValueAt(baris, 4).toString());
txUser.setText(jTable1.getModel().getValueAt(baris, 5).toString());
txPass.setText(jTable1.getModel().getValueAt(baris, 6).toString());
loadData();
{ clear();
98
}
log.show();
this.dispose();
/**
*/
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
*/
try {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
99
java.util.logging.Logger.getLogger(guru.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(guru.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(guru.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(guru.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
new guru().setVisible(true);
});
private javax.swing.JButton
btnSimpan;
100
private javax.swing.JComboBox<String> cbjk;
101
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JScrollPane
jScrollPane1; private
javax.swing.JScrollPane jScrollPane2;
private javax.swing.JPasswordField
txnotelp;
E. siswa.java
package gui;
import java.sql.Connection;
import java.sql.PreparedStatement;
102
import java.sql.ResultSet;
103
import java.sql.SQLException;
import java.sql.Statement;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
txnisn.setText("");
txnama.setText("");
txkelas.setText("");
cbjenis.setSelectedItem("");
txAlamat.setText("");
txnelp.setText("");
public siswa() {
initComponents();
loadData();
104
main home = new
main(); home.show();
dispose();
guru.show();
this.dispose();
try{
Connection c = koneksi.getKoneksi();
PreparedStatement p = c.prepareStatement(sql);
p.setString(1, txnisn.getText());
p.setString(2, txnama.getText());
p.setString(3, txkelas.getText());
p.setString(4, cbstatus.getSelectedItem().toString());
p.setString(5, tanggal1);
p.setString(6, cbjenis.getSelectedItem().toString());
p.setString(7, txAlamat.getText());
p.setString(8, txnelp.getText());
p.executeUpdate();
p.close();
105
clear();
}catch(SQLException e){
}finally{ load
Data();
try{
Connection c = koneksi.getKoneksi();
String sql = "UPDATE siswa SET nisn = ?, nama = ?, kelas = ?, status=?, tgl_lahir = ?,
jenis_kelamin = ?, alamat = ?, notelp = ? WHERE nisn = '" +txnisn.getText()+"'";
PreparedStatement p = c.prepareStatement(sql);
p.setString(1, txnisn.getText());
p.setString(2, txnama.getText());
p.setString(3, txkelas.getText());
p.setString(4, cbstatus.getSelectedItem().toString());
p.setString(5, tanggal1);
p.setString(6, cbjenis.getSelectedItem().toString());
p.setString(7, txAlamat.getText());
p.setString(8, txnelp.getText());
p.executeUpdate();
106
p.close();
btnsimpan.setEnabled(true);
clear();
}catch(SQLException e){
}finally{ load
Data();
data
ini?","Konfirmasi",JOptionPane.YES_NO_OPTION);
if (ok==0){
try{
Connection c = koneksi.getKoneksi();
stat.executeUpdate();
clear();
txnisn.requestFocus();
loadData();
btnsimpan.setEnabled(false);
txnisn.setText(jTable1.getModel().getValueAt(baris, 0).toString());
txnama.setText(jTable1.getModel().getValueAt(baris, 1).toString());
txkelas.setText(jTable1.getModel().getValueAt(baris, 2).toString());
cbstatus.setSelectedItem(jTable1.getModel().getValueAt(baris, 3).toString());
try {
txdate.setDate(date);
} catch (ParseException e) {
cbjenis.setSelectedItem(jTable1.getModel().getValueAt(baris, 5).toString());
txAlamat.setText(jTable1.getModel().getValueAt(baris, 6).toString());
txnelp.setText(jTable1.getModel().getValueAt(baris, 7).toString());
108
loadData();
if (txdate.getDate()!=null){
tanggal1=Format.format(txdate.getDate());
clear();
log.show();
this.dispose();
try{
109
Statement sc = cn.createStatement();
String sql = "SELECT * FROM siswa where nisn like '%" + txcari.getText() + "%' or
nama like '%" + txcari.getText() + "%' order by nisn asc" ;
ResultSet r = sc.executeQuery(sql);
while(r.next()){
model.addRow(new Object[]{
r.getString(1)
r.getString(2)
r.getString(3)
r.getString(4)
r.getString(5)
r.getString(6)
r.getString(7)
r.getString(8)
});
jTable1.setModel(model);
jTable1.removeColumn(jTable1.getColumnModel().getColumn(8));
110
}catch(SQLException e){
System.out.println("terjadi kesalahan");
/**
111
*/
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
*/
try {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
java.util.logging.Logger.getLogger(siswa.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(siswa.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(siswa.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
112
java.util.logging.Logger.getLogger(siswa.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
new siswa().setVisible(true);
});
113
private javax.swing.JLabel jLabel16;
private javax.swing.JMenuBar
jPanel1;
private javax.swing.JScrollPane
jScrollPane1; private
javax.swing.JScrollPane jScrollPane2;
private javax.swing.JPanel
pendaftaran; private
114
javax.swing.JPanel spp;
115
private javax.swing.JTextField txcari;
F. spp.java
package gui;
import java.nio.file.Paths;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.logging.Level;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import net.sf.jasperreports.engine.JasperFillManager;
116
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
Baris); try {
String sql = "SELECT spp.*, siswa.nisn, siswa.nama, siswa.kelas, siswa.status FROM spp
INNER JOIN siswa ON spp.nisn=siswa.nisn where spp.id_spp like '%" + txcari.getText() + "%' or
siswa.nisn like '%" + txcari.getText() + "%' or siswa.nama like '%" + txcari.getText() + "%' order
by spp.id_spp ASC" ;
ResultSet hasil =
stat.executeQuery(sql); while
(hasil.next()) {
model.addRow(new Object[]{
hasil.getString(1),
hasil.getString(7),
hasil.getString(8),
hasil.getString(9),
hasil.getString(10),
117
hasil.getString(3)
hasil.getString(4)
hasil.getString(5)
hasil.getString(6)
});
tblspp.setModel(model);
} catch (Exception e) {
Object[] Baris = {"NISN", "Nama", "Kelas", "Status", "Tanggal Lahir", "Jenis Kelamin",
"Alamat", "No Telp", ""};
try{
Statement sc = cn.createStatement();
String sql = "SELECT * FROM siswa where nisn like '%" + txCari1.getText() + "%' or
nama like '%" + txCari1.getText() + "%' order by nisn asc" ;
ResultSet r = sc.executeQuery(sql);
118
while(r.next()){
119
Object[] o = new
Object[8]; o [0] =
r.getString("nisn");
o [1] = r.getString("nama");
o [2] = r.getString("kelas");
o [3] = r.getString("status");
o [4] = r.getString("tgl_lahir");
o [5] = r.getString("jenis_kelamin");
o [6] = r.getString("alamat");
o [7] = r.getString("notelp");
model.addRow(o);
tsiswa.setModel(model);
tsiswa.removeColumn(tsiswa.getColumnModel().getColumn(8));
}catch(SQLException e){
System.out.println("terjadi kesalahan");
autonumber();
txnisn.setText("");
txnama.setText("");
txkelas.setText("");
txbulan.setText("")
120
;
121
txket.setText("");
txharga.setText("");
loadData();
try {
Statement s = cn.createStatement();
if(rs.next()) {
String noStok =
} else {
txkodespp.setText("SPP001");
rs.close();
122
s.close();
} catch (Exception e) {
System.out.println("autonumber error");
/**
*/
public spp() {
initComponents();
loadData();
autonumber();
txkodespp.setEnabled(false);
txnisn.setEnabled(false);
txnama.setEnabled(false);
txkelas.setEnabled(false);
// txstatus.setEnabled(false);
txharga.setEnabled(false);
txnisn.setText(tsiswa.getModel().getValueAt(baris,
0).toString());
txnama.setText(tsiswa.getModel().getValueAt(baris, 1).toString());
txkelas.setText(tsiswa.getModel().getValueAt(baris, 2).toString());
123
cbstatus.setSelectedItem(tsiswa.getModel().getValueAt(baris, 3).toString());
txkodespp.requestFocus();
jDialog1.setVisible(false);
tabelSiswa();
{ tabelSiswa();
jDialog1.setVisible(true);
txCari1.setText(null);
350); txCari1.requestFocus();
try {
stat.setString(1, txkodespp.getText());
stat.setString(2, txnisn.getText());
stat.setString(3, txbulan.getText());
124
stat.setString(4, tanggal1);
stat.setString(5, txket.getText());
stat.setString(6, txharga.getText());
stat.executeUpdate();
} catch (SQLException e) {
clear();
try {
String sql = "update spp set nisn=?, bulan=?, tgl_bayarspp=?, ket=?, total=? where id_spp
='" + txkodespp.getText() + "' ";
stat.setString(1, txnisn.getText());
stat.setString(2, txbulan.getText());
stat.setString(3, tanggal1);
stat.setString(4, txket.getText());
stat.setString(5, txharga.getText());
stat.executeUpdate();
} catch (SQLException e) {
e);
}
125
clear();
if (ok == 0) {
String sql = "delete from spp where id_spp ='" + txkodespp.getText() + "'";
try {
stat.executeUpdate();
} catch (SQLException e) {
clear();
clear();
if (txdate.getDate()!=null){
126
tanggal1=Format.format(txdate.getDate());
loadData();
btntambah.setEnabled(false);
txkodespp.setText(tblspp.getModel().getValueAt(baris, 0).toString());
txnisn.setText(tblspp.getModel().getValueAt(baris, 1).toString());
txnama.setText(tblspp.getModel().getValueAt(baris, 2).toString());
txkelas.setText(tblspp.getModel().getValueAt(baris, 3).toString());
cbstatus.setSelectedItem(tblspp.getModel().getValueAt(baris, 4).toString());
txbulan.setText(tblspp.getModel().getValueAt(baris, 5).toString());
try {
txdate.setDate(date);
} catch (ParseException e) {
txket.setText(tblspp.getModel().getValueAt(baris, 7).toString());
127
txharga.setText(tblspp.getModel().getValueAt(baris, 8).toString());
if (jum == "Pesantren")
{ tot = 1000000;
{ tot = 300000;
} else {
txharga.setText(String.valueOf(tot));
if (evt.getKeyCode() == 10) {
if (txbulan.getText().equals("")) {
} else {
128
txharga.setText(Integer.toString(tot));
siswa.show();
dispose();
log.show();
this.dispose();
home.show();
dispose();
129
spp.show();
this.dispose();
ujian.show();
this.dispose();
fasilitas.show();
this.dispose();
laporan.show();
this.dispose();
try {
130
HashMap parameter = new HashMap();
parameter.put("satu", txkodespp.getText());
parameter.put("ImgDir",setImageRelativeDirectory);
JasperViewer.viewReport(print, false);
/**
*/
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
*/
try {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
131
}
java.util.logging.Logger.getLogger(spp.class.getName()).log(java.util.logging.Level.SEVERE, null,
ex);
java.util.logging.Logger.getLogger(spp.class.getName()).log(java.util.logging.Level.SEVERE, null,
ex);
java.util.logging.Logger.getLogger(spp.class.getName()).log(java.util.logging.Level.SEVERE, null,
ex);
java.util.logging.Logger.getLogger(spp.class.getName()).log(java.util.logging.Level.SEVERE, null,
ex);
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
new spp().setVisible(true);
});
132
// Variables declaration - do not modify
133
private javax.swing.JLabel jLabel22;
private javax.swing.JMenuBar
jPanel1;
private javax.swing.JPanel
jPanel2; private
javax.swing.JPanel jPanel3;
private javax.swing.JPanel
jPanel4;
private javax.swing.JScrollPane
jScrollPane1; private
javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane
laporan;
134
private javax.swing.JPanel spp;
135
private javax.swing.JTextField txbulan;
G. ujian.java
package gui;
import java.nio.file.Paths;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
136
import java.util.logging.Level;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
Baris); try {
String sql = "SELECT ujian.*, siswa.nisn, siswa.nama, siswa.kelas FROM ujian INNER
JOIN siswa ON ujian.nisn=siswa.nisn where ujian.id_ujian like '%" + txcari.getText() + "%' or
siswa.nisn like '%" + txcari.getText() + "%' or siswa.nama like '%" + txcari.getText() + "%' order
by ujian.id_ujian ASC" ;
ResultSet hasil =
stat.executeQuery(sql); while
137
(hasil.next()) {
138
model.addRow(new Object[]{
hasil.getString(1),
hasil.getString(7),
hasil.getString(8),
hasil.getString(9),
hasil.getString(3),
hasil.getString(4),
hasil.getString(5),
hasil.getString(6)
});
tblUjian.setModel(model);
} catch (Exception e) {
try{
Statement sc = cn.createStatement();
139
String sql = "SELECT * FROM siswa where nisn like '%" + txCari1.getText() + "%'
or nama like '%" + txCari1.getText() + "%' order by nisn asc" ;
ResultSet r = sc.executeQuery(sql);
while(r.next()){
Object[] o = new
Object[8]; o [0] =
r.getString("nisn");
o [1] = r.getString("nama");
o [2] = r.getString("kelas");
o [3] = r.getString("status");
o [4] = r.getString("tgl_lahir");
o [5] = r.getString("jenis_kelamin");
o [6] = r.getString("alamat");
o [7] = r.getString("notelp");
model.addRow(o);
tsiswa.setModel(model);
tsiswa.removeColumn(tsiswa.getColumnModel().getColumn(8));
}catch(SQLException e){
System.out.println("terjadi kesalahan");
autonumber();
140
txnisn.setText("");
txnama.setText("");
txkelas.setText("");
cbujian.setSelectedItem("");
txket.setText("");
txharga.setText("");
loadData();
try {
Statement s = cn.createStatement();
ResultSet rs = s.executeQuery(sql);
if(rs.next()) {
String noStok =
141
} else {
txkodeujian.setText("UJ001");
rs.close();
s.close();
} catch (Exception e) {
System.out.println("autonumber error");
public ujian() {
initComponents();
loadData();
autonumber();
txkodeujian.setEnabled(false);
txnisn.setEnabled(false);
txnama.setEnabled(false);
txkelas.setEnabled(false);
txharga.setEnabled(false);
txnisn.setText(tsiswa.getModel().getValueAt(baris, 0).toString());
txnama.setText(tsiswa.getModel().getValueAt(baris, 1).toString());
txkelas.setText(tsiswa.getModel().getValueAt(baris, 2).toString());
142
txkodeujian.requestFocus();
jDialog1.setVisible(false);
tabelSiswa();
{ tabelSiswa();
jDialog1.setVisible(true);
txCari1.setText(null);
350); txCari1.requestFocus();
{ tot = 130000;
{ tot = 130000;
tot = 150000;
143
} else if (jum == "PAS - GENAP")
{ tot = 150000;
}else {
txharga.setText(String.valueOf(tot));
clear();
try {
stat.setString(1, txkodeujian.getText());
stat.setString(2, txnisn.getText());
stat.setString(3, cbujian.getSelectedItem().toString());
stat.setString(4, tanggal1);
stat.setString(5, txket.getText());
stat.setString(6, txharga.getText());
stat.executeUpdate();
} catch (SQLException e) {
144
JOptionPane.showMessageDialog(null, "data gagal disimpan" + e);
clear();
if (txdate.getDate()!=null){
tanggal1=Format.format(txdate.getDate());
try {
String sql = "update ujian set nisn=?, ujian=?, tgl_bayarujian=?, ket=?, harga=? where
id_ujian ='" + txkodeujian.getText() + "' ";
stat.setString(1, txnisn.getText());
stat.setString(2, cbujian.getSelectedItem().toString());
stat.setString(3, tanggal1);
stat.setString(4, txket.getText());
stat.setString(5, txharga.getText());
stat.executeUpdate();
} catch (SQLException e) {
e);
145
}
clear();
if (ok == 0) {
String sql = "delete from ujian where id_ujian ='" + txkodeujian.getText() + "'";
try {
stat.executeUpdate();
} catch (SQLException e) {
clear();
btntambah.setEnabled(false);
txkodeujian.setText(tblUjian.getModel().getValueAt(baris, 0).toString());
txnisn.setText(tblUjian.getModel().getValueAt(baris, 1).toString());
txnama.setText(tblUjian.getModel().getValueAt(baris, 2).toString());
146
txkelas.setText(tblUjian.getModel().getValueAt(baris, 3).toString());
cbujian.setSelectedItem(tblUjian.getModel().getValueAt(baris, 4).toString());
try {
txdate.setDate(date);
} catch (ParseException e) {
txket.setText(tblUjian.getModel().getValueAt(baris, 6).toString());
txharga.setText(tblUjian.getModel().getValueAt(baris, 7).toString());
loadData();
log.show();
this.dispose();
147
siswa.show();
dispose();
home.show();
dispose();
spp.show();
this.dispose();
ujian.show();
this.dispose();
fasilitas.show();
148
this.dispose();
laporan.show();
this.dispose();
{ try {
parameter.put("dua", txkodeujian.getText());
parameter.put("ImgDir",setImageRelativeDirectory);
JasperViewer.viewReport(print, false);
/**
149
*/
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
*/
try {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
java.util.logging.Logger.getLogger(ujian.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(ujian.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(ujian.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
150
java.util.logging.Logger.getLogger(ujian.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
new ujian().setVisible(true);
});
151
private javax.swing.JLabel jLabel11;
private javax.swing.JMenuBar
jPanel1;
152
private javax.swing.JPanel
jPanel3; private
javax.swing.JPanel jPanel4;
private javax.swing.JScrollPane
jScrollPane1; private
javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane
laporan;
private javax.swing.JTextField
txCari1; private
javax.swing.JTextField txcari;
private javax.swing.JTextField
txkodeujian; private
javax.swing.JPanel ujian;
153
H. fasilitas.java
package gui;
import java.nio.file.Paths;
154
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.logging.Level;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
/**
* @author shadow
*/
155
/**
*/
public fasilitas() {
initComponents();
loadData();
autonumber();
txkodefasilitas.setEnabled(false);
txnisn.setEnabled(false);
txnama.setEnabled(false);
txkelas.setEnabled(false);
try {
parameter.put("id_fasilitas", txkodefasilitas.getText());
parameter.put("ImgDir",setImageRelativeDirectory);
JasperViewer.viewReport(print, false);
156
JOptionPane.showMessageDialog(null, "DokumenTidak Ada " + ex);
tabelSiswa();
jDialog1.setVisible(true);
txCari1.setText(null);
350); txCari1.requestFocus();
try {
stat.setString(1, txkodefasilitas.getText());
stat.setString(2, txnisn.getText());
stat.setString(3, txjenis.getText());
stat.setString(4, tanggal1);
stat.setString(5, txket.getText());
stat.setString(6, txharga.getText());
stat.executeUpdate();
loadData();
157
} catch (SQLException e) {
clear();
if (txdate.getDate()!=null){
tanggal1=Format.format(txdate.getDate());
{ btntambah.setEnabled(false);
txkodefasilitas.setText(tblFas.getModel().getValueAt(baris, 0).toString());
txnisn.setText(tblFas.getModel().getValueAt(baris, 1).toString());
txnama.setText(tblFas.getModel().getValueAt(baris, 2).toString());
txkelas.setText(tblFas.getModel().getValueAt(baris, 3).toString());
txjenis.setText(tblFas.getModel().getValueAt(baris, 4).toString());
try {
txdate.setDate(date);
158
} catch (ParseException e) {
txket.setText(tblFas.getModel().getValueAt(baris, 6).toString());
txharga.setText(tblFas.getModel().getValueAt(baris, 7).toString());
try {
stat.setString(1, txnisn.getText());
stat.setString(2, txjenis.getText());
stat.setString(3, tanggal1);
stat.setString(4, txket.getText());
stat.setString(5, txharga.getText());
stat.executeUpdate();
loadData();
} catch (SQLException e) {
e);
clear();
}
159
private void txcariKeyReleased(java.awt.event.KeyEvent evt) {
loadData();
if (ok == 0) {
"'"; try {
stat.executeUpdate();
} catch (SQLException e) {
clear();
loadData();
{ clear();
160
private void tsiswaMouseClicked(java.awt.event.MouseEvent evt) {
txnisn.setText(tsiswa.getModel().getValueAt(baris, 0).toString());
txnama.setText(tsiswa.getModel().getValueAt(baris, 1).toString());
txkelas.setText(tsiswa.getModel().getValueAt(baris, 2).toString());
txkodefasilitas.requestFocus();
jDialog1.setVisible(false);
tabelSiswa();
home.show();
dispose();
spp.show();
this.dispose();
161
private void ujianMouseClicked(java.awt.event.MouseEvent evt) {
ujian.show();
this.dispose();
fasilitas.show();
this.dispose();
laporan.show();
this.dispose();
log.show();
dispose();
162
siswa siswa = new
siswa(); siswa.show();
dispose();
{ cetak();
Baris); try {
ResultSet hasil =
stat.executeQuery(sql); while
(hasil.next()) {
model.addRow(new Object[]{
hasil.getString(1),
hasil.getString(7),
hasil.getString(8),
163
hasil.getString(9)
hasil.getString(3)
hasil.getString(4)
hasil.getString(5)
hasil.getString(6)
});
tblFas.setModel(model);
// tblFas.removeColumn(tblFas.getColumnModel().getColumn(1));
} catch (Exception e) {
Object[] Baris = {"NISN", "Nama", "Kelas", "Status", "Tanggal Lahir", "Jenis Kelamin",
"Alamat", "No Telp", ""};
try{
Statement sc = cn.createStatement();
164
String sql = "SELECT * FROM siswa where nisn like '%" + txCari1.getText() + "%' or
nama like '%" + txCari1.getText() + "%' order by nisn asc" ;
ResultSet r = sc.executeQuery(sql);
165
while(r.next()){
Object[] o = new
Object[8]; o [0] =
r.getString("nisn");
o [1] = r.getString("nama");
o [2] = r.getString("kelas");
o [3] = r.getString("status");
o [4] = r.getString("tgl_lahir");
o [5] = r.getString("jenis_kelamin");
o [6] = r.getString("alamat");
o [7] = r.getString("notelp");
model.addRow(o);
tsiswa.setModel(model);
tsiswa.removeColumn(tsiswa.getColumnModel().getColumn(8));
}catch(SQLException e){
System.out.println("terjadi kesalahan");
autonumber();
txnisn.setText("");
txnama.setText("");
166
txkelas.setText("");
txjenis.setText("");
txket.setText("");
txharga.setText("");
try {
Connection c = koneksi.getKoneksi();
Statement s = c.createStatement();
ResultSet rs = s.executeQuery(sql);
if(rs.next()) {
String noStok =
+ (Integer.parseInt(noStok) + 1);
} else {
txkodefasilitas.setText("FS001");
167
}
rs.close();
s.close();
} catch (Exception e) {
System.out.println("autonumber error");
/**
*/
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
*/
try {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
168
java.util.logging.Logger.getLogger(fasilitas.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(fasilitas.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(fasilitas.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(fasilitas.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
new fasilitas().setVisible(true);
});
169
private javax.swing.JButton btntambah;
170
private javax.swing.JLabel jLabel5;
private javax.swing.JMenuBar
jPanel1;
private javax.swing.JPanel
jPanel2; private
javax.swing.JPanel jPanel3;
private javax.swing.JPanel
jPanel4;
private javax.swing.JScrollPane
jScrollPane1; private
javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane
laporan;
private javax.swing.JTextField
txCari1; private
javax.swing.JTextField txcari;
171
private com.toedter.calendar.JDateChooser txdate;
private javax.swing.JTextField
txket;
172
private javax.swing.JTextField
txkodefasilitas; private
javax.swing.JTextField txnisn;
I. laporan.java
package gui;
import java.io.InputStream;
import java.nio.file.Paths;
import java.sql.Connection;
import java.util.HashMap;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
/**
*/
public laporan() {
initComponents();
173
siswa siswa = new
siswa(); siswa.show();
dispose();
{ try {
reportFile =
getClass().getResourceAsStream(path); HashMap
parameter.put("ImgDir",setImageRelativeDirectory);
JasperViewer.viewReport(print, false);
{ try {
reportFile = getClass().getResourceAsStream(path);
174
HashMap parameter = new HashMap();
parameter.put("ImgDir",setImageRelativeDirectory);
JasperViewer.viewReport(print, false);
{ try {
reportFile =
getClass().getResourceAsStream(path); HashMap
parameter.put("ImgDir",setImageRelativeDirectory);
JasperViewer.viewReport(print, false);
175
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
try {
reportFile =
getClass().getResourceAsStream(path); HashMap
parameter.put("ImgDir",setImageRelativeDirectory);
JasperViewer.viewReport(print, false);
log.show();
dispose();
home.show();
dispose();
176
}
spp.show();
this.dispose();
ujian.show();
this.dispose();
fasilitas.show();
this.dispose();
laporan.show();
this.dispose();
177
/**
*/
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
*/
try {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
java.util.logging.Logger.getLogger(laporan.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(laporan.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
178
java.util.logging.Logger.getLogger(laporan.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
java.util.logging.Logger.getLogger(laporan.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
new laporan().setVisible(true);
});
179
private javax.swing.JLabel jLabel12;
private javax.swing.JMenuBar
jPanel1;
180