US
Windows 11
PROGRAM STUDI TEKNIK 2023-07-06 11:13:14
INFORMATIKA
--------------------------------------------
FAKULTAS TEKNIK DAN ILMU KOMPUTER
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
Website : http/www.unindra.ac.id Email : university@unindra.ac.id
LEMBAR PENGESAHAN
DI KB & TK AL - IKHLAS
PADA TANGGAL 06 APRIL 2023 s.d. 15 JUNI 2023
Disusun oleh :
Mengetahui,
Mengetahui,
Dosen Pembimbing
Ketua Program Studi
i
ii
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang telah
dapat menyelesaikan penyusunan laporan KKP ini. Laporan KKP ini dibuat dalam
rangka melengkapi syarat untuk mengajukan skripsi Program Strata Satu (S1) pada
hormat dan ucapan terimakasih kepada semua pihak yang dengan tulus ikhlas telah
1. Yth. Bapak Prof. Dr. H. Sumaryoto, SE, M.M. selaku Rektor Universitas
Indraprasta PGRI
2. Yth. Ni Wayan Parwati, S., M.M., M.kom selaku Dosen Pembimbing Kuliah
Kerja Praktek
3. Ibu Mei Lestari, M.Kom. selaku ketua Program Studi Teknik Informatika
4. Ibu Risma Nurul Auliya. S.Si, M.Pd. selaku Dosen Pembimbing Akademik
Kelas R9.
Penulis menyadari bahwa laporan Kuliah Kerja Praktek (KKP) ini masih
banyak kekurangan baik dari kata-kata maupun cara penulisan dan pembahasan
iii
pada laporan ini karena keterbatasan kemampuan yang penulis miliki, sehingga
laporan ini dapat disempurnakan kembali dan bermanfaat bagi penulis dan pembaca
pada umumnya.
Penulis
iv
DAFTAR ISI
C. Tujuan Penulisan........................................................................................... 2
E. Metodologi .................................................................................................... 3
BAB II ..................................................................................................................... 7
ORGANISASI ........................................................................................................ 7
A. Sejarah Sekolah............................................................................................. 7
v
BAB III ................................................................................................................. 11
INFRASTRUKTUR .............................................................................................. 11
A. Spesifikasi Hardware .................................................................................... 11
vi
J. Spesifikasi Proses Sistem Yang Diusulkan ................................................ 33
1. Normalisasi ............................................................................................. 41
2. ERD (Entity Relationship Diagram) ...................................................... 44
3. Spesifikasi File Basisdata ....................................................................... 45
Keluaran………… ............................................................................................ 49
BAB V................................................................................................................... 67
PENUTUP ............................................................................................................. 67
A. Simpulan ..................................................................................................... 67
B. Saran……………………………………. .................................................. 67
vii
DAFTAR SIMBOL
Menggambarkan suatu
proses yang
Proses menyatakan beberapa
tindakan yang
dijalankan.
Menggambarkan suatu
entitas (orang, tempat,
Entitas atau sesuatu yang
memberi dan
menerima data)
Menggambarkan suatu
Penyimpanan Data tempat penyimpanan
suatu proses
viii
B. Bagan Terstruktur
Simbol ini
Module menunjukkan suatu
modul
Simbol ini
menunjukkan suatu
data atau elemen
kontrol yang
dikirimkan dari suatu
modul ke modul
lainnya. Panah dengan
Couple lingkaran kosong
menunjukkan data
yang dikirimkan
sedangkan panah
dengan lingkaran
hitam menunjukkan
elemen kontrol yang
dikirimkan
ix
Simbol ini
menunjukan suatu
Loop
perulangan di dalam
modul
Simbol ini
menunjukan suatu
Decision
penyeleksian kondisi
di dalam modul.
Medeskripsikan karakter
Atribut
entitas
Menunjukan hubungan
Relasi
antar entitas
x
DAFTAR TABEL
xi
DAFTAR GAMBAR
Gambar 2. 1. Struktur Organisasi KB & TK Al-Ikhlas ............................................ 8
Al-Ikhlas ................................................................................................................. 23
xii
Gambar 4. 21 Rancangan Menu Utama ................................................................ 50
xiii
Gambar 4. 44 Tampilan Laporan Data Guru ......................................................... 63
xiv
DAFTAR LAMPIRAN
xv
BAB I
PENDAHULUAN
A. Latar Belakang
Perkembangan teknologi yang sangat pesat menumbuhkan berbagai
sarana untuk mendapatkan informasi dengan mudah dan cepat. Kemajuan
Teknologi saat ini sangat berkembang secara luas dan tak terbatas, seiring
berjalannya waktu telah banyak kemajuan dan kegunaan bidang Teknologi
dalam kehidupan sehari- hari untuk membantu mempermudah mencari sumber
informasi dan komunikasi. Mudahnya orang untuk mengakses berbagai
informasi yang cepat dan akurat membuat penggunaan teknologi semakin
digemari oleh semua masyarakat.
Penggunaan teknologi sangat penting karena akan memudahkan proses
kegiatan belajar mengajar di sekolah. Sistem informasi akan sangat membantu
proses kegiatan operasional di sekolah. Salah satunya dalam administrasi
sekolah. Unit kerja keuangan KB & TK Al-Ikhlas memiliki alur kerja yang
berhubungan dengan pengelolaan data keuangan terkait pencatatan dana,
pencairan dana, pengajuan dana, rekap segala jenis pencatatan dan membuat
laporan keuangan setiap bulannya.
Dari hasil wawancara yang dilakukan, KB dan TK Al-Ikhlas terdapat
tiga permasalahan yaitu pengajuan dana, pencatatan alur pemasukan dan
pengeluaran dan pelaporan keuangan perbulan.
1
2
B. Rumusan Masalah
Berdasarkan latar belakang di atas, maka dapat disimpulkan rumusan
masalah sebagai berikut :
1. Bagaimana merancang sistem informasi administrasi yang
terkomputerisasi pada KB & TK Al-Ikhas?
2. Bagaimana cara untuk meminimalisir waktu dan tenaga dalam proses
laporan?
C. Tujuan Penulisan
Adapun tujuan dari penelitian kuliah kerja praktek ini adalah :
1. Merancang sistem informasi administrasi pada KB & TK Al-Ikhlas yang
terkomputerisasi agar informasi yang dihasilkan dapat cepat, tepat dan
akurat.
2. Merancang sistem informasi untuk dapat meminimalisir waktu dan tenaga
dalam proses mencetak laporan
2
3
D. Batasan Masalah
Pada penulisan Kuliah Kerja Praktek ini, penulis membatasi masalah
pada permasalahan yang akan dibahas pada Perancangan Sistem Administrasi
pada KB dan TK Al-Ikhlas yang meliputi:
1. Aplikasi berbasis desktop, sehingga tidak dapat diakses melalui jaringan.
2. Data pembayaran hanya berlaku 2 semester atau selama 1 tahun ajaran,dan
update data pembayaran diperbarui secara manual mengikuti pembaruan
data siswa.
3. Aplikasi menggunakan bahasa pemrograman java sehingga sistem ini
hanya bisa dijalankan di sistem operasi windows saja.
E. Metodologi
Untuk melaksanakan sebuah penelitian mengenai Tugas Akhir
diperlukan adanya sebuah metodologi penelitian, karena dalam metodologi
penelitian dibutuhkan sebuah informasi dan data agar dapat mencapai hasil
yang maksimal. Oleh karena itu adapun metodologi yang diterapkan dalam
penelitian Tugas Akhir ini adalah sebagai berikut :
1) Sumber Data
a. Data Primer
Data primer adalah data yang diperoleh secara langsung tanpa
melalui perantara yaitu dengan cara datang langsung ke sekolah KB
& TK Al-Ikhlas untuk mencari dan mendapatkan informasi yang
dibutuhkan.
b. Data Sekunder
Data sekunder adalah data yang diperoleh secara tidak
langsung yaitu melalui perantara dari seseorang.
2) Metodologi Pengumpulan Data
a. Studi Pustaka
Studi pustaka dilakukan dengan cara membaca buku yang
berkaitan dengan penelitian Tugas Akhir, lalu mempelajarinya
3
4
4
5
d. Ujicoba (Test)
Selanjutnya program harus di uji coba dimana di fokuskan
terhadap tiga aktivitas yakni logika internal perangkat lunak,
pemastian bahwa semua perintah yang ada telah di coba, dan fungsi
eksternal untuk memastikan bahwa dengan masukan tertentu suatu
fungsi akan menghasilkan output sesuai dengan yang dikehendaki.
e. Penerapan dan penggunaan program
Penerapan program merupakan tahap dimana tim pengembang
menerapkan atau menjalankan software yang telah selesai dibuat dan
diuji.
F. Sistematika Penulisan
Penulisan Kuliah Kerja Praktek ini dibagi atas 5 bab, disusun
berdasarkan sistematika sebagai berikut :
BAB I PENDAHULUAN
Bab ini menguraikan tentang latar belakang,
masalah, tujuan penulisan, batasan
permasalahan, metodologi dan sistematika
penulisan.
BAB II ORGANISASI
Bab ini berisikan sejarah perusahaan, struktur
organisasi instansi dan penjelasan unit kegiatan
yang menjadi tempat kerja praktek.
5
6
BAB IV PEMBAHASAN
Bab ini menjelaskan tentang proses bisnis yang
berjalan, aturan bisnis yang berjalan,dekomposisi
fungsi, analisa masukan (input), analisa proses,
analisa keluaran (output), diagram alir data,
kamus data, spesifikasi proses, bagan terstruktur,
spesifikasi modul, analisa basisdata, rancangan
layer, rancangan form masukan, dan rancangan
form keluaran.
BAB V PENUTUP
6
BAB II
ORGANISASI
7
perusahaan harus sesuai dengan kebutuhan dan sewaktu-waktu dapat
disesuaikan lagi menurut perkembangan perusahaan.
Struktur organisasi KB & TK Al-Ikhlas dapat digambarkan sebagai berikut:
1. Struktur Organisasi
8
1) Bertanggung jawab dalam mengelola sumber dana dan
pengeluaran pada TK Al-Ikhlas
2) Memproses pelaporan keuangan perbulan dengan seluruh
rekapan pemasukan dan pengeluaran dana yang telah di catat
sebelumya pada buku keuangan
3) Mencatat pemasukan dan pengeluaran dana pada buku keuangan
4) Memproses pencairan dana setelah menunggu diverifikasi oleh
kepala sekolah
c. Sekretaris
1) Menginput data ke sistem
2) Bertanggung jawab dalam pemberkasan data
3) Mengemban tugas sebagai tata usaha
d. Wali Kelas A
1) Membimbing murid dengan rentan usia 4 sampai 5 tahun
2) Mengenal dan memahami situasi kelasnya
3) Mengajarkan banyak pelajaran baik akademik maupun non
akademik
4) Mengajarkan tata krama, sopan santun, tata tertib di sekolah
maupun luar sekolah
e. Wali Kelas B
1) Membimbing murid dengan rentan usia 5 sampai 6 tahun
2) Mengenal dan memahami situasi kelasnya
3) Mengajarkan banyak pelajaran baik akademik maupun non
akademik
4) Mengajarkan tata krama, sopan santun, tata tertib di sekolah
maupun luar sekolah
9
C. Penjelasan Unit kegiatan di KB & TK Al-Ikhlas
1. Pengembangan perilaku melalui pembiasaan
Kegiatan yang dilakukan secara terus menerus dan ada di
dalam kehidupan sehari-hari anak, sehingga akan menjadi
kebiasaan yang baik dalam pengembangan moral dan nilai-nilai
agama.
2. Pengembangan kemampuan dasar
Kegiatan yang dipersiapkan oleh guru pembimbing untuk
meningkatkan kemampuan dan kreatifitas anak sesuai dengan
tahapan perkembangannya seperti kemampuan berbahasa dan
juga seni.
3. Kegiatan Pendukung
Untuk menambah wawasan pada anak, internalisasi nilai
dan lebih memperkenalkan anak kepada kehidupan nyata, maka
program ini diadakan seperti Manasik Haji dan juga Bakti Sosial.
10
BAB III
INFRASTRUKTUR
A. Spesifikasi Hardware
1. Teori singkat tentang hardware
a. Pengertian Hardware
“Hardware adalah komponen pembentuk komputer secara fisik
yang pada umumnya disusun oleh berbagai hardware atau perangkat
keras yang dikelompokan menjadi 4 bagian yang masing- masing
mempunyai fungsi" (Yudhanto, 2018:5).
“Perangkat keras komputer (hardware) adalah komponen-
komponen fisik yang membentuk satu kesatuan sistem Personal
Computer (PC). Biasanya perangkat-perangkat ini dirakit dan
sebagian besar dimasukkan ke dalam sebuah casing komputer dan
sebagian lain berada diluar casing” (Sutono, 2014:1).
Sementara itu menurut (Sutabri, 2014:122) mengemukakan
bahwa, istilah perangkat keras merujuk pada perkakas mesin. Karena
itu, perangkat keras terdiri dari komputer itu sendiri yang terkadang
disebut sebagai CPU beserta semua perangkat pendukungnya. Jadi
bisa dikatakan jika hardware adalah peralatan fisik komputer yang
berguna untuk melakukan proses input, proses,dan output.
Hardware umumnya juga terlihat sebagai bentuk output dari
setiap proses sistem operasi sebuah komputer. Akan tetapi untuk
mendukung kerja perangkat tersebut tetap diperlukan software atau
perangkat lunak tertentu. Dengan begitu setiap perintah yang
diinginkan dapat beroperasi dengan baik.
11
b. Jenis-jenis Hardware Beserta Contohnya
Secara umum, hardware dapat dibedakan jenisnya berdasarkan
setiap fungsi yang ada. Di bawah ini beberapa hardware yang
dibedakan menurut fungsi atau kegunaannya tersebut:
1) Perangkat input
Salah satu jenis hardware yang berguna untuk
memasukkan informasi maupun data. Baik itu dalam bentuk
video, teks, gambar, audio, dan yang lainnya ke dalam sebuah
komputer. Berikut beberapa contoh hardware tersebut:
a) Mouse
Merupakan salah satu jenis hardware yang berfungsi
untuk menggerakkan kursor yang ada di layar komputer.
Selain itu, dengan menggunakan mouse, user juga akan lebih
mudah dalam memilih menu apa saja yang diinginkan pada
komputer (Sutono, 2014:3).
b) Keyboard
Jenis hardware yang berfungsi untuk membantu
pengguna dalam memasukkan angka, simbol, dan huruf-
huruf ke dalam komputer.
c) Scanner
mengubah dokumen dari hard copy menjadi soft
copy. Jenis hardware yang satu ini umumnya sangat penting
untuk digunakan. Pasalnya, ada banyak orang yang
memerlukannya untuk mengarsipkan dokumendokumen
yang penting dengan adanya tanda tangan dan stempel
(Sutono, 2014:4).
2) Perangkat output
Merupakan jenis hardware yang berguna dalam
menampilkan informasi dan mencetak hasil input data yang user
lakukan. Data ataupun infromasi tersebut berasal dari hardware
12
input yang sudah melewati hardware process. Misalnya seperti
monitor, proyektor, hingga printer. Di bawah ini penjelasannya:
a) Monitor
Merupakan komponen yang perlu dimiliki oleh
setiap perusahaan dalam melakukan berbagai pekerjaan.
Umumnya pekerjaan tersebut berhubungan dengan dokumen
maupun data (Sutono, 2014:4).
b) Printer
Salah satu jenis perangkat keras yang dapat Anda
gunakan dalam mencetak segala macam keperluan dokumen
yang diinginkan (Sutono, 2014).
c) Proyektor LCD
Perangkat keras yang berguna untuk memudahkan
Anda dalam menampilkan video maupun gambar ke layar
LCD dari komputer. Hal ini berarti, saat menggunakan
proyektor LCD, Anda bisa menampilkan suatu presentasi
dengan lebih jelas.
3) Perangkat proses
Jenis perangkat keras yang satu ini dapat berguna dalam
mengolah data sekaligus menjalankan proses yang ada pada
sistem komputer. Process device tersebut seperti CPU, RAM,
VGA, dan masih banyak lagi.
a) CPU
Merupakan perangkat yang berguna dalam
mengontrol seluruh proses kerja yang ada pada komputer.
Baik itu dari instruksi, pengelolahan, sampai menghasilkan
ouput yang diinginkan (Sutono, 2014:1).
13
b) VGA
Perangkat yang berfungsi mengolah maupun
memproses data grafis sehingga hasilnya nanti dapat Anda
tampilkan pada layar monitor komputer (Sutono, 2014:2).
c) RAM
Merupakan jenis perangkat keras yang dapat
menentukan kecepatan akses dalam sebuah komputer
(Sutono, 2014:1).
4) Perangkat untuk menyimpan
Storage device atau yang lebih dikenal sebagai perangkat
untuk menyimpan merupakan salah satu jenis hardware yang
berfungsi menyimpan data-data komputer. Contohnya seperti di
bawah ini:
a) Hard disk
Merupakan perangkat yang berfungsi dalam
menyimpan informasi maupun data dalam komputer dengan
kapasitas yang cukup besar. Perangkat ini memiliki bentuk
seperti portable.
b) Flash disk
Merupakan alat penyimpan data dari komputer yang
memiliki konektor berupa USB. Konektor tersebut nantinya
akan memudahkan perangkat ini terhubung ke komputer
maupun media lainnya yang digunakan. Flash disk ini sendiri
bisa Anda pakai untuk memindahkan sebuah data dari satu
komputer ke komputer yang lainnya.
c) Optical Disk
Merupakan media penyimpanan data yang bisa dibaca
maupun ditulis oleh cahaya laser. Umumnya optical disk
disini berupa CD/Compact Disk atau DVD/Digital Versaitle
Disc.
14
5) Perangkat tambahan
Perangkat tambahan berguna dalam membantu komputer
menjalankan perintah user. Perangkat ini umumnya disebut
dengan istilah periferal yang berguna dalam menghubungkan
perangkat komputer dengan jaringan internet. Salah satu
contohnya adalah modem. Modem disini dapat Anda gunakan
sebagai alat komunikasi untuk mengubah sinyal digital menjadi
sinyal analog ataupun sinyal analog menjadi sinyal digital.
OS : Windows 10 Home
SSD : 512GB
B. Spesifikasi Software
1. Teori singkat tentang software
a. Pengertian Software
“Perangkat lunak (software) adalah program komputer yang
terasosiasi dengan dokumentasi perangkat lunak seperti dokumentasi
kebutuhan, model desain, dan cara penggunaan atau user manual”
(Sukamto dan & Shalahuddin, 2018).
“Software adalah istilah umum yang digunakan untuk
mendeskripsikan kumpulan program-program komputer yang terdiri
dari prosedur-prosedur dan dokumentasi untuk melakukan tugas
tertentu” (Mulyani, 2016). Perangkat ini sendiri tidak memiliki bentuk
fisik, Anda bisa mengoperasikannya lewat perangkat
15
komputer.
16
yang terjadi dan diperintahkan oleh user pada CPU
sehingga perintah user tersebut dapat dikerjakan komputer
dengan baik.
b) Bahasa Pemrograman (Programming Language)
“Bahasa pemrograman adalah perintah-perintah yang
dimengerti oleh komputer untuk melakukan tugas-tugas
tertentu” (Kusrini & Andri Koniyo, 2017).
Jenis perangkat lunak yang satu ini adalah bahasa
yang digunakan dalam pembuatan sebuah program. Jika
ditelusuri berdasarkan contohnya, terdapat beberapa macam
bahasa yang bisa Anda ketahui. Seperti JAVA, PHP, HTML,
C, C++, dan masih banyak lainnya. Dalam membuat bahasa
pemrograman ini nantinya masih memerlukan perangkat
lunak khusus untuk merancang program sesuai metode dan
struktur yang ada pada bahasa pemrograman itu sendiri.
c) Program Aplikasi
Menurut (Setyawan & Munari, 2020:4) aplikasi
merupakan suatu subkelas perangkat lunak komputer yang
memanfaatkan kemampuan komputer langsung untuk
melakukan suatu tugas yang diinginkan pengguna.
Program aplikasi disini merupakan sebuah perangkat
lunak yang umumnya sudah banyak digunakan dalam
menyelesaikan tugas-tuigas tertentu. Dalam hal ini software
dapat berfungsi sesuai dengan tujuan pembuatannya. Salah
satu contohnya adalah Excel, Microsoft Word, Calculator,
dan yang lainnya.
2) Jenis Software / Perangkat Lunak Berdasarkan Distribusinya
Selain beberapa jenis perangkat lunak yang dijelaskan
di atas, Anda juga perlu mengetahui beberapa jenis software yang
dibedakan berdasarkan distribusinya. Di bawah ini
17
beberapa pengelompokannya yang bisa Anda simak:
a) Firmware
Merupakan jenis penyimpanan perangkat lunak yang
hanya bisa dibaca. Anda tidak dapat mengubah sifat tersebut
sehingga tidak perlu lagi melakukan modifikasi maupun
pengembangan lebih lanjut meskipun terjadi masalah pada
fungsinya.
b) Freeware
Merupakan salah satu jenis software yang tidak
memiliki batas waktu tertentu. Akan tetapi, kebanyakan
software jenis ini memiliki fitur yang tidak begitu lengkap
sehingga penggunaannya pun kurang maksimal.
c) Adware
Jenis perangkat lunak ini dapat diperoleh serta
digunakan tanpa biaya. Akan tetapi, perangkat lunak ini
masih menyediakan kompensasi dengan adanya iklan yang
muncul pada perangkat komputer yang digunakan.
d) Opensource
Yakni sejenis perangkat lunak yang dapat dibuka kode
sumbernya. Anda juga bisa mengubah, meningkatkan,hingga
menyebarluaskannya. Umumnya, software jenis inidiperoleh
tanpa biaya dan dikembangkan oleh orang lain menggunakan
lisensi yang bernama GPL (General Public License).
e) Malware
Merupakan salah satu jenis dari software yang
dianggap berbahaya dan bisa merusak apabila
disalahgunakan penggunaannya.perangkat lunak apa pun
yang sengaja dirancang untuk menyebabkan kerusakan pada
komputer, peladen, klien, atau jaringan komputer Berbagai
jenis malware ada, termasuk virus komputer.
18
f) Shareware
Shareware merupakan sebuah perangkat lunak yang
dapat digunakan untuk keperluan tertentu. Anda bisa
menggunakannya secara gratis. Pada umumnya, jenis
perangkat lunak yang satu ini digunakan sebagai demonstrasi
dengan fitur dan waktu pengguaan yang terbatas.
g) Spyware
Adalah software yang khusus digunakan dalam
memata-matai setiap aktivitas pengguna komputer.
Teknologi informasi yang mengacu kepada salah satu bentuk
program berbahaya yang memasang dirinya sendiri ke dalam
sebuah sistem untuk mencuri data pengguna atau merusak
sistem pengguna tersebut.
19
BAB IV
PEMBAHASAN
A. Proses Bisnis
Setelah penulis melakukan peninjauan langsung, diketahui bahwa
sistem yang sedang berjalan di perusahaan seperti pengajuan dana yang masih
menggunakan form manual, Pencatatan dana masih menggunakan buku
manual dan tidak terarsip dengan baik, serta proses pelaporan keuangan
perbulan dilakukan dengan menggunakan seluruh rekapan pemasukan dan
pengeluaran dana yang telah di catat sebelumya oleh bendahara pada buku
keuangan di KB dan TK Al- Ikhlas. Sistem yang dibuat harus dapat
meningkatkan pelayanan serta meningkatkan kinerja sistem informasi
keuangan pada KB dan TK Al-Ikhlas.
20
agar nantinya memudahkan untuk mendata siapa admin yang
bertanggung jawab atas pengoperasian sistem ini.
3. Kebijakan pada Form Data Murid
Untuk form data murid ini bertujuan untuk memudahkan admin menginput
data murid seperti Id Murid, Nama, Tempat Tanggal Lahir, Jenis Kelamin,
Kelas, dan Alamat. Nantinya, akan disimpan kedalam data murid,
sehingga akan memudahkan saat pencarian data siswa.
4. Aturan Bisnis Pendataan Kelas
Dalam proses ini pendataan kelas akan dilakukan oleh sekretaris kepada
Wali Kelas yang mengajar. Berikut tentang cara kerja dan tentang
keuangan di KB dan TK Al-Ikhlas.
5. Aturan Bisnis Pendataan Wali Murid
Dalam proses ini pendataan wali murid akan dilakukan oleh sekretaris
kepada Wali Kelas. Kemudian Wali Kelas akan mendata walimurid siswa
yang ada di sesuai kelas yang dibimbing. Berikut tentang cara kerja dan
tentang keuangan di KB dan TK Al-Ikhlas.
6. Aturan Bisnis Laporan Pembayaran dan Keuangan
Proses laporan pembayaran dan keuangan akan dilakukan olehbendahara
untuk dilaporakan kepada kepala sekolah sebagai bukti laporan
pembayaran di KB dan TK Al-Ikhlas. Bagian bendahara akan melakukan
kegiatan ini untuk membuat rekapan yang akan digunakan sampai nanti.
21
3. Kebijakan pada Form Data Murid
Untuk form data murid ini bertujuan untuk memudahkan admin menginput
data murid seperti Id Murid, Nama, Tempat Tanggal Lahir,Jenis Kelamin,
Kelas, dan Alamat. Nantinya, akan disimpan kedalam data murid,
sehingga akan memudahkan saat pencarian data siswa.
4. Kebijakan pada Form Data Guru
Pada form data guru, admin menginput data guru seperti Id Guru, Nama,
Jabatan, Jenis Kelamin, No Telpon, dan Alamat yang akan disimpan
kedalam data guru. Dengan begitu pihak KB & Tk Al-Ikhlasakan mudah
untuk melakukan pencarian data guru yang ada.
5. Kebijakan pada Form Data Kelas
Pada form data kelas ini admin akan dimudahkan dalam mengetahui siapa
wali kelas dan jumlah murid yang ada dikelas tersebut.
6. Kebijakan pada Form Data Jenis Pembayaran
Pada form data jenis pembayaran ini admin akan dimudahkan dalam
menginput informasi pembayaran berdasarkan kode pembayaran, nama
pembayaran dan nominalnya untuk memudahkan dalam penghitungan saat
pembayaran.
7. Kebijakan pada Form Data Wali Murid
Pada form data wali murid ini admin akan dimudahkan dalam mengetahui
wali murid siswa yang akan diinput datanya berdasarkan id murid, dan
nama murid. Admin akan menginput data berupa Nama wali, Jenis
Kelamin, Alamat, Tempat Tanggal Lahir, Pekerjaan dan No. Telpon.
8. Kebijakan pada Form Transaksi Pembayaran
Pada Form transaksi pembayaran ini, admin melakukan input data berupa
No. Transaksi, Id Murid, Nama Murid, Kode Pembayaran, Nama
Pembayaran, Nominal, Jumlah, dan Keterangan. Dengan begitu
pembayaran akan tersimpan di data pembayaran. Dengan begitu akan
memudahkan admin mencari data pembayaran yang ingin dicari.
22
E. Dekomposisi Fungsi
Dekomposisi fungsi bertujuan untuk mengetahui pemisahan dari fungsi
- fungsi yang ada di dalam sistem yang diusulkan. Adapun dekomposisi fungsi
sistem pada KB dan TK Al-Ikhlas, sebagai berikut :
F. Hirarki Fungsi
Gambaran dari hirarki fungsi yang ada pada sistem yang dibahas adalah
tidak perlunya melakukan manual pada penginputan data dan prosesnya,
menghemat waktu, membantu pekerjaan lebih efisien tidak perlu dilakukan
secara manual karena penyimpanan datanya sudah disimpan secara berkala.
23
G. Analisa Masukan (Input), Proses dan Keluaran (Output)
1. Analisa Masukan
a. Nama Masukan : Admin
Fungsi : Mengetahui Informasi Admin
Media : Kertas
Sumber : Admin
Frekuensi : Setiap ada admin baru
Keterangan : Sebagai Data Admin
b. Nama Masukan : Input Guru
Fungsi : Untuk Proses Pendataan Guru
Media : Kertas
Sumber : Admin
Frekuensi : Setiap admin ingin mendata guru
Keterangan : Sebagai Data Guru
c. Nama Masukan : Input Murid
Fungsi : Untuk Proses Pendataan Murid
Media : Kertas
Sumber : Admin
Frekuensi : Setiap admin ingin mendata murid
Keterangan : Sebagai Data Murid
d. Nama Masukan : Input Kelas
Fungsi : Untuk Proses Pendataan Kelas
Media : Kertas
Sumber : Admin
Frekuensi : Setiap admin ingin mendata kelas
Keterangan : Sebagai Data Kelas
e. Nama Masukan : Jenis Pembayaran
Fungsi : Untuk Mengetahui Informasi Pembayaran
Media : Kertas
Sumber : Admin
Frekuensi : Setiap ada jenis pembayaran
24
Keterangan : Sebagai Data Jenis Pembayaran
f. Nama Masukan : Input Wali Murid
Fungsi : Untuk Proses Pendataan Wali Murid
Media : Kertas
Sumber : Admin
Frekuensi : Setiap admin ingin mendata wali murid
Keterangan : Sebagai Data Wali Murid
2. Analisa Proses
a. Admin melakukan penginputan data guru
b. Admin melakukan penginputan data murid
c. Admin melakukan penginputan data kelas
d. Admin melakukan penginputan data jenis pembayaran
e. Admin melakukan penginputan data wali murid
f. Setelah proses penginputan data guru, murid, kelas, jenis pembayaran,
dan wali murid, admin akan memproses transaksi pembayaran
g. Admin akan membuat laporan data guru, data murid, data wali murid,
pembayaran murid dan keuangan per semester.
3. Analisa Keluaran
Tujuan dari analisa keluaran ini adalah untuk mengetahui apa saja
yang dihasilkan oleh sistem, berikut adalah rincian analisanya :
a. Nama Masukan : Data Guru
Fungsi : Kumpulan Data Guru
Media : Kertas
Sumber : Admin
Frekuensi : Setiap adanya proses pembayaran
Keterangan : Sebagai Laporan Data Guru
b. Nama Masukan : Data Murid
Fungsi : Kumpulan Data Murid
25
Media : Kertas
Sumber : Admin
Frekuensi : Setiap adanya proses pembayaran
Keterangan : Sebagai Laporan Data Murid
Media : Kertas
Sumber : Admin
26
Gambar 4.2. Diagram Konteks Sistem Yang Berjalan
(Sumber: Penulis)
27
Gambar 4.3. Diagram Nol Sistem Yang Diusulkan
(Sumber: Penulis)
28
Gambar 4.4. Diagram Rinci Level 1 Proses 1 Sistem Usulan
(Sumber: Penulis)
29
5. Diagram Rinci Level 1 Proses 3 Yang Diusulkan
Pada Diagram Rinci Level 1 Proses 3, Admin memberikan laporan
daftar murid, laporan daftar guru, laporan daftar wali murid, laporan
transaksi dan laporan keuangan per smester kepada kepala sekolah.
30
I. Kamus Data Sistem Yang Diusulkan
1. Data Murid
Nama arus data : Data Murid
Alias : Daftar Murid
Bentuk data : Dokumen
Arus data : Pendataan Murid – Proses 1.1
Penjelasan : Untuk mendata murid
Periode : Setiap ada pendataan murid
Struktur data : id_murid, nama_murid, tempat_lahir,
tanggal_lahir,kelas, alamat, foto_siswa
2. Data Guru
Nama arus data : Data Guru
Alias : Daftar Guru
Bentuk data : Dokumen
Arus data : Pendataan Guru – Proses 1.2
Penjelasan : Untuk mendata guru
Periode : Setiap ada pendataan guru
31
Struktur data : id_guru, nama_guru, jabatan, tempat_lahir,
tanggal_lahir, jenis_kelamin, alamat, foto
guru
4. Data Pembayaran
Nama arus data : Pendataan Pembayaran
Alias : Data Transaksi
Bentuk data : Dokumen
Arus data : Pendataan Transaksi – Proses 2.0
Penjelasan : Untuk memproses transaksi
Periode : Setiap murid melakukan transaksi
Struktur data : no_transaksi, tanggal_transaksi, id_murid,
keterangan, biaya_pmb, bayar, kembali, total
5. Laporan
Nama arus : Laporan
Alias :-
Bentuk data : Dokumen
Arus data : Proses 3.0 – Kepala Sekolah
32
Penjelasan : Untuk melaporkan data murid, data guru,
data wali murid, data transaksi
Periode : Setiap 1 bulan
2. Proses 1.2
Nama Proses : Daftar Guru
Masukan : Daftar Guru
Keluaran : File Daftar Guru
Uraian : Data pada guru diproses dan disimpan pada
file data guru
3. Proses 1.3
Nama Proses : Daftar Wali Murid
Masukan : Daftar Wali Murid
Keluaran : File Daftar Wali Murid
Uraian : Data pada wali murid diproses dan
disimpan pada file data wali murid
33
4. Proses 2.1
Nama Proses : Daftar Transaksi
Masukan : Daftar Pembayaran
Keluaran : File Transaksi
Uraian : Data pada pembayaran dan disimpan pada
file transaksi
5. Proses 2.2
Nama Proses : Menerima Bukti Transaksi
Masukan : Kwitansi Pembayaran
Keluaran : File Pembayaran
Uraian : Data pada file pembayaran diproses dan
diterima oleh Admin
6. Proses 3.1
Nama Proses : Cetak Laporan Daftar Murid
Masukan : File Daftar Murid
Keluaran : Laporan Daftar Murid
Uraian : Data pada file data murid dibuatkan laporan
data murid
7. Proses 3.2
Nama Proses : Cetak Laporan Daftar Guru
Masukan : File Daftar Guru
Keluaran : Laporan Daftar Guru
Uraian : Data pada file data guru dibuatkan laporan
data guru
8. Proses 3.3
Nama Proses : Cetak Laporan Daftar Wali Murid
Masukan : File Daftar Wali Murid
34
Keluaran : Laporan Daftar Wali Murid
Uraian : Data pada file data wali murid dibuatkan
laporan data wali murid
9. Proses 3.4
Nama Proses : Cetak Laporan Daftar Transaksi
Masukan : File Transaksi
Keluaran : Laporan Data Transaksi
Uraian : Data pada file Transaksi dibuatkan laporan
data Transaksi
35
Gambar 4.8. Bagan Terstruktur Rinci Input Data Guru
(Sumber: Penulis)
36
5. Bagan Terstruktur 2.2
37
Gambar 4.13. Bagan Terstruktur Rinci Buat Laporan Data Guru
(Sumber: Penulis)
38
L. Spesifikasi Modul Sistem Yang Diusulkan
1. Modul Input Data Murid
Begin
Do input data murid
Baca data murid
Simpan data pada file data murid
End do
End
39
End
40
End do
End
M. Analisa Basisdata
1. Normalisasi
Normalisasi adalah proses pembentukan struktur basis data,
sehingga sebagian besar ambiguity bisa dihilangkan. Tahap normalisasi
dimulai dari tahap paling ringan (1NF), hingga paling ketat (5NF).
Biasanya hanya sampai tingkat 3NF atau BCNF karena sudah cukup
memadai untuk menghasilkan tabel-tabel yang berkualitas.
41
a. Bentuk Tidak Normal (Unnormalized)
id_murid
nama_murid
tempat_lahir
tanggal_lahir
kelas
alamat
foto_siswa
id_guru
nama_guru
jabatan
tempat_lahir
tanggal_lahir
jenis_kelamin
alamat
foto guru id_murid
nama_murid
nama_wali alamat
tempat_lahir
tanggal_lahir
pekerjaan no_telp
no_transaksi
tanggal_transaksi
id_murid
keterangan
biaya pmb
bayar
kembali
total
42
b. Normalisasi Pertama (1st Normal Form)
Data Pembayaran
*no_transaksi
tanggal_transaksi
id_murid
keterangan
biaya_pmb
bayar
kembali
total
43
Gambar 4.17. Bentuk Normalisasi Pertama (1st Normal Form)
(Sumber: Penulis)
hubungan antara data dan basis data yang digambarkan dengan sebuah
44
Gambar 4.19. ERD (Entity Relationship Diagram)
(Sumber: Penulis)
45
3. tempat_lahir Varchar 50 Tempat Lahir
46
6. Alamat Varchar 100 Alamat
47
9. Notel Varchar 20 Nomor Telepon
48
Tabel 4.4. Data Transaksi
(Sumber: Penulis)
49
Gambar 4.21. Rancangan Menu Utama
(Sumber: Penulis)
50
b. Rancangan Form Data Murid
51
d. Rancangan Form Data Wali Murid
52
Gambar 4.26. Rancangan Form Data Kelas
(Sumber: Penulis)
53
g. Rancangan Form Transaksi
3. Rancangan Keluaran
a. Rancangan Tampilan Laporan Data Murid
54
b. Rancangan Tampilan Laporan Data Guru
55
d. Rancangan Tampilan Laporan Data Transaksi
56
O. Hasil Uji Coba Program
1. Tampilan Layar
a. Tampilan Login
b. Tampilan Menu
c.
57
2. Tampilan Form Masukan Data
a. Form Admin
b. Form Murid
58
Gambar 4.37. Tampilan Form Murid
(Sumber: Penulis)
c. Form Guru
59
d. Form Wali Murid
e. Form Kelas
60
Gambar 4.40. Tampilan Form Kelas
(Sumber: Penulis)
g. Form Transaksi
61
(Sumber: Penulis)
62
Gambar 4.43. Tampilan Laporan Data Murid
(Sumber: Penulis)
63
Gambar 4.45. Tampilan Laporan Data Wali Murid
(Sumber: Penulis)
64
65
Gambar 4.46. Tampilan Laporan Data Transaksi
(Sumber: Penulis)
66
BAB V
PENUTUP
a. Kesimpulan
Dengan dibuatnya aplikasi sistem informasi keuangan KB & TK Al-
Ikhlas, seluruh kegiatan yang berkaitan dengan pengelolaan data sudah tidak
lagi menggunakan cara manual. Penulis berharap dengan adanya aplikasi ini
mempermudah berjalannya proses keuangan pada KB & TK Al-Ikhlas. Penulis
mengambil kesimpulan dengan adanya perancangan aplikasi juga dapat
memberikan keuntungan bagi KB & TK Al-Ikhlas sebagai berikut:
1. Dengan menggunakan sistem terkomputerisasi seperti saat ini, maka KB
& TK Al-Ikhlas akan mengalami peningkatan dalam memberikan
pelayanan kepada wali murid.
2. Pendataan murid, pendataan wali murid dan pendataan guru, pendataan
mengenai pembayaran lebih efektif, serta keamanan dapat terjamin.
3. Proses pembuatan laporan yang akan diproses dapat dilakukan dengan
cepat dan akurat.
b. Saran
Bersamaan dengan aplikasi yang penulis buat, demi tercapainya tujuan
dan sasaran yang diharapkan, maka penulis dapat memberi saran sebagai
berikut:
1. Menjaga keamanan sistem dengan cara mempercayakan pada petugas
yang bertanggung jawab dan memahami bagaimana berjalannya sebuah
database.
2. Penulis berharap aplikasi yang dibuat dapat digunakan dan dapat
membantu mengatasi permasalahan yang ada pada KB & TK Al-Ikhlas,
walaupun penulis pun menyadari aplikasi ini masih jauh dari kata
sempurna.
67
Demikian kesimpulan serta saran yang dapat penulis sampaikan.
Penulis sangat berharap aplikasi tersebut dapat membantu dan mempermudah
dalam meningkatkan kinerja pegawai KB & TK Al-Ikhlas
68
DAFTAR PUSTAKA
Modula.
Sri, Mulyani. 2016. Metode Analisis dan Perancangan Sistem. Bandung: Abdi
SisteMatika.
Komputindo.
69
Lampiran 1. Listing program
a. Form Login
1. public class Login extends javax.swing.JFrame {
2. private Connection conn= new koneksi ().connect();
3. public Login() {
4. initComponents();
5. kosong();}
6. void kosong(){
7. tpass.setText("");
8. tuser.requestFocus();}
9. private void ckbxActionPerformed(java.awt.event.ActionEvent evt) {
10. // TODO add your handling code here:
11. if (ckbx.isSelected())
12. tpass.setEchoChar((char)0);
13. else
14. tpass.setEchoChar('*');}
15. private void blogActionPerformed(java.awt.event.ActionEvent evt){
16. // TODO add your handling code here:
17. String user = tuser.getText();
18. String pass = tpass.getText();
19. String sql = "select * from admin where username='"+user+"' and
password='"+pass+"'";
20. try{
21. Statement s = conn.createStatement();
22. ResultSet rs = s.executeQuery(sql);
23. if (rs.next()){
24. JOptionPane.showMessageDialog(null, " Berhasil Login ");
25. kosong();
26. this.dispose();
27. new Menu().setVisible(true);
28. } else {
70
29. JOptionPane.showMessageDialog(null, "Password Salah");
30. kosong(); } }
31. catch (Exception ex){
32. JOptionPane.showMessageDialog(null, ex.getMessage()); } }
33. private void bcanActionPerformed(java.awt.event.ActionEvent evt){
34. // TODO add your handling code here:
35. dispose(); }
71
22. }
23. private void badminActionPerformed(java.awt.event.ActionEvent evt)
{
24. // TODO add your handling code here:
25. this.dispose();
26. new Admin().setVisible(true);
27. }
28. private void bguruActionPerformed(java.awt.event.ActionEvent evt) {
29. // TODO add your handling code here:
30. this.dispose();
31. new Guru().setVisible(true);
32. }
33. private void bmuridActionPerformed(java.awt.event.ActionEvent evt) {
34. // TODO add your handling code here:
35. this.dispose();
36. new Murid().setVisible(true);
37. }
38. private void bkelasActionPerformed(java.awt.event.ActionEvent evt) {
39. // TODO add your handling code here:
40. this.dispose();
41. new Kelas().setVisible(true);
42. }
43. private void bwamurActionPerformed(java.awt.event.ActionEvent evt)
{
44. // TODO add your handling code here:
45. this.dispose();
46. new Walimurid().setVisible(true);
47. }
48. private void blaporanActionPerformed(java.awt.event.ActionEvent evt)
{
49. // TODO add your handling code here:
72
50. this.dispose();
51. new Laporan().setVisible(true);
52. }
c. Form Admin
1. public class Admin extends javax.swing.JFrame {
2. private Connection conn= new koneksi().connect();
3. private DefaultTableModel tabmode;
4. public Admin() {
5. initComponents();
6. datatable();
7. kosong();
8. aktif();
9. }
10. void aktif(){
11. tuser.setEnabled(true);
12. tpass.setEnabled(true);
13. tpet.setEnabled(true);
14. tstat.setEnabled(true);
15. tuser.requestFocus();
16. }
17. void kosong(){
18. tuser.setText("");
19. tpass.setText("");
20. tpet.setText("");
21. tstat.setText("");
22. tcari.setText("");
23. }
24. protected void datatable(){
25. Object [] baris = {"Username", "Password","Petugas","Status"};
26. tabmode = new DefaultTableModel(null, baris);
73
27. tabeladmin.setModel(tabmode);
28. String sql = "select * from admin";
29. try{
30. java.sql.Statement stat = conn.createStatement();
31. ResultSet hasil = stat.executeQuery(sql);
32. while (hasil.next()){
33. String a = hasil.getString("username");
34. String b = hasil.getString("password");
35. String c = hasil.getString("petugas");
36. String d = hasil.getString("status");
37. String [] data = {a,b,c,d};
38. tabmode.addRow(data);
39. }
40. } catch (Exception e){}
41. }
42. private void tabeladminMouseClicked(java.awt.event.MouseEvent evt)
{
43. // TODO add your handling code here:
44. int bar = tabeladmin.getSelectedRow();
45. String a = tabmode.getValueAt(bar, 0).toString();
46. String b = tabmode.getValueAt(bar, 1).toString();
47. String c = tabmode.getValueAt(bar, 2).toString();
48. String d = tabmode.getValueAt(bar, 3).toString();
49. tuser.setText(a);
50. tpass.setText(b);
51. tpet.setText(c);
52. tstat.setText(d);
53. }
54. private void bsimpanActionPerformed(java.awt.event.ActionEvent evt)
{
55. // TODO add your handling code here:
74
56. String sql = "insert into admin values(?,?,?,?)";
57. try{
58. PreparedStatement stat = conn.prepareStatement(sql);
59. stat.setString(1, tuser.getText());
60. stat.setString(2, tpass.getText());
61. stat.setString(3, tpet.getText());
62. stat.setString(4, tstat.getText());
63. stat.executeUpdate();
64. JOptionPane.showMessageDialog(null, "Data Berhasil Disimpan");
65. kosong();
66. tuser.requestFocus();
67. datatable();
68. }catch (SQLException e){
69. JOptionPane.showMessageDialog(null, "Data Gagal Disimpan");
70. }
71. }
72. private void bubahActionPerformed(java.awt.event.ActionEvent evt) {
73. // TODO add your handling code here:
74. String sql = "update admin set password=?, petugas=?, status=? where
username=?";
75. try{
76. PreparedStatement stat = conn.prepareStatement(sql);
77. stat.setString(1, tpass.getText());
78. stat.setString(2, tpet.getText());
79. stat.setString(3, tstat.getText());
80. stat.setString(4, tuser.getText());
81. stat.executeUpdate();
82. JOptionPane.showMessageDialog(null, "Data Berhasil Diubah");
83. kosong();
84. tuser.requestFocus();
85. datatable();
75
86. }catch (SQLException e){
87. JOptionPane.showMessageDialog(null, "Data Gagal Diubah");
88. }
89. }
90. private void bhapusActionPerformed(java.awt.event.ActionEvent evt) {
91. // TODO add your handling code here:
92. String sql = "delete from admin where username=?";
93. try{
94. PreparedStatement stat = conn.prepareStatement(sql);
95. stat.setString(1, tuser.getText());
96. stat.executeUpdate();
97. JOptionPane.showMessageDialog(null, "Data Berhasil Dihapus");
98. kosong();
99. tuser.requestFocus();
100. datatable();
101. }catch (SQLException e){
102.JOptionPane.showMessageDialog(null, "Data Gagal Dihapus");
103. }
104. }
105. private void bkembaliActionPerformed(java.awt.event.ActionEvent
evt) {
106. // TODO add your handling code here:
107. this.dispose();
108. new Menu().setVisible(true);
109. }
110. private void bbersihkanActionPerformed(java.awt.event.ActionEvent
evt) {
111. // TODO add your handling code here:
112. kosong();
113. datatable();
114.}
76
115. private void bcariActionPerformed(java.awt.event.ActionEvent evt) {
116. // TODO add your handling code here:
117. Object [] baris = {"Username", "Password", "Petugas", "Status"};
118. tabmode = new DefaultTableModel(null, baris);
119. tabeladmin.setModel(tabmode);
120. String sql = "select * from admin where username like
'%"+tcari.getText()+"%'";
121. try{
122. java.sql.Statement stat = conn.createStatement();
123. ResultSet hasil = stat.executeQuery(sql);
124. while (hasil.next()){
125. String a = hasil.getString("username");
126. String b = hasil.getString("password");
127. String c = hasil.getString("petugas");
128. String d = hasil.getString("status");
129. String [] data = {a,b,c,d};
130. tabmode.addRow(data);
131. }
132. } catch (Exception e){}
133. }
d. Form Murid
1. public class Murid extends javax.swing.JFrame {
2. private Connection conn= new koneksi().connect();
3. private DefaultTableModel tabmode;
4. public Murid() {
5. initComponents();
6. datatable();
7. kosong();
8. aktif();
9. }
77
10. void aktif(){
11. tid.setEnabled(true);
12. tnama_murid.setEnabled(true);
13. tttl.setEnabled(true);
14. talm.setEnabled(true);
15. tid.requestFocus();
16. }
17. void kosong(){
18. tid.setText("");
19. tnama_murid.setText("");
20. tttl.setText("");
21. cjk.setSelectedIndex(0);
22. ckls.setSelectedIndex(0);
23. talm.setText("");
24. tcari.setText("");
25. }
26. protected void datatable(){
27. Object [] baris = {"Nomor Induk Siswa", "Nama Murid",
"Tempat,Tanggal Lahir", "Jenis Kelamin", "Kelas", "Alamat"};
28. tabmode = new DefaultTableModel(null, baris);
29. tabelmurid.setModel(tabmode);
30. String sql = "select * from murid";
31. try{
32. java.sql.Statement stat = conn.createStatement();
33. ResultSet hasil = stat.executeQuery(sql);
34. while (hasil.next()){
35. String a = hasil.getString("id_murid");
36. String b = hasil.getString("nama_murid");
37. String c = hasil.getString("ttl");
38. String d = hasil.getString("jk");
39. String e = hasil.getString("kelas");
78
40. String f = hasil.getString("alamat");
41. String [] data = {a,b,c,d,e,f};
42. tabmode.addRow(data);
43. }
44. } catch (Exception e){}
45. }
46. private void bsimpanActionPerformed(java.awt.event.ActionEvent evt)
{
47. // TODO add your handling code here
48. String sql = "insert into murid values(?,?,?,?,?,?)";
49. try{
50. PreparedStatement stat = conn.prepareStatement(sql);
51. stat.setString(1, tid.getText());
52. stat.setString(2, tnama_murid.getText());
53. stat.setString(3, tttl.getText());
54. stat.setString(4, cjk.getSelectedItem().toString());
55. stat.setString(5, ckls.getSelectedItem().toString());
56. stat.setString(6, talm.getText());
57. stat.executeUpdate();
58. JOptionPane.showMessageDialog(null, "Data Berhasil
Disimpan");
59. kosong();
60. tid.requestFocus();
61. datatable();
62. }catch (SQLException e){
63. JOptionPane.showMessageDialog(null, "Data Gagal
Disimpan");
64. }
65. }
66. private void bcariActionPerformed(java.awt.event.ActionEvent evt) {
67. // TODO add your handling code here:
79
68. Object [] baris = {"ID Murid", "Nama Murid", "Tempat,Tanggal
Lahir", "Jenis Kelamin", "Kelas", "Alamat"};
69. tabmode = new DefaultTableModel(null, baris);
70. tabelmurid.setModel(tabmode);
71. String sql = "select * from murid where id_murid like
'%"+tcari.getText()+"%'";
72. try{
73. java.sql.Statement stat = conn.createStatement();
74. ResultSet hasil = stat.executeQuery(sql);
75. while (hasil.next()){
76. String a = hasil.getString("id_murid");
77. String b = hasil.getString("nama_murid");
78. String c = hasil.getString("ttl");
79. String d = hasil.getString("jk");
80. String e = hasil.getString("kelas");
81. String f = hasil.getString("alamat");
82. String [] data = {a,b,c,d,e,f};
83. tabmode.addRow(data);
84. }
85. } catch (Exception e){}
86. }
87. private void tabelmuridMouseClicked(java.awt.event.MouseEvent
evt) {
88. // TODO add your handling code here:
89. int bar = tabelmurid.getSelectedRow();
90. String a = tabmode.getValueAt(bar, 0).toString();
91. String b = tabmode.getValueAt(bar, 1).toString();
92. String c = tabmode.getValueAt(bar, 2).toString();
93. String d = tabmode.getValueAt(bar, 3).toString();
94. String e = tabmode.getValueAt(bar, 4).toString();
95. String f = tabmode.getValueAt(bar, 5).toString();
80
96. tid.setText(a);
97. tnama_murid.setText(b);
98. tttl.setText(c);
99. cjk.setSelectedItem(d);
100. ckls.setSelectedItem(e);
101. talm.setText(f);
102. }
103. private void bubahActionPerformed(java.awt.event.ActionEvent evt)
{
104. // TODO add your handling code here:
105. String sql = "update murid set nama_murid=?, ttl=?, jk=?, kelas=?,
alamat=? where id_murid=?";
106. try{
107. PreparedStatement stat = conn.prepareStatement(sql);
108. stat.setString(1, tnama_murid.getText());
109. stat.setString(2, tttl.getText());
110. stat.setString(3, cjk.getSelectedItem().toString());
111. stat.setString(4, ckls.getSelectedItem().toString());
112. stat.setString(5, talm.getText());
113. stat.setString(6, tid.getText());
114. stat.executeUpdate();
115. JOptionPane.showMessageDialog(null, "Data Berhasil
Disimpan");
116. kosong();
117. tid.requestFocus();
118. datatable();
119. }catch (SQLException e){
120. JOptionPane.showMessageDialog(null, "Data Gagal
Disimpan");
121. }
122. }
81
123. private void bbatalActionPerformed(java.awt.event.ActionEvent evt)
{
124. // TODO add your handling code here:
125. kosong();
126. datatable();
127. }
128. private void bhapusActionPerformed(java.awt.event.ActionEvent evt)
{
129. // TODO add your handling code here:
130. String sql = "delete from murid where id_murid=?";
131. try{
132. PreparedStatement stat = conn.prepareStatement(sql);
133. stat.setString(1, tid.getText());
134. stat.executeUpdate();
135. JOptionPane.showMessageDialog(null, "Data Berhasil
Dihapus");
136. kosong();
137. tid.requestFocus();
138. datatable();
139. }catch (SQLException e){
140. JOptionPane.showMessageDialog(null, "Data Gagal Dihapus");
141. }
142. }
143. private void bkeluarActionPerformed(java.awt.event.ActionEvent
evt) {
144. // TODO add your handling code here:
145. this.dispose();
146. new Menu().setVisible(true);
147. }
148. private void bcetakActionPerformed(java.awt.event.ActionEvent evt)
{
82
149. // TODO add your handling code here:
150. try{
151. File file = new File ("src/Laporan/laporan_murid.jrxml");
152. Class.forName("com.mysql.jdbc.Driver");
153. Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost/tkalikhlas","root
","");
154. JasperDesign jasperDesign = JRXmlLoader.load(file);
155.JasperReport jasperReport =
JasperCompileManager.compileReport(jasperDesign);
156. JasperPrint jasperPrint =
JasperFillManager.fillReport(jasperReport, null, con);
157. JasperViewer.viewReport(jasperPrint,false);
158. }
159. catch(Exception exc)
160. {JOptionPane.showMessageDialog(null, "Data tidak dapat
dicetak!"+exc.getMessage(),"Cetak
Data",JOptionPane.ERROR_MESSAGE);}
161.}
e. Form Guru
1. public class Guru extends javax.swing.JFrame {
2. private Connection conn= new koneksi().connect();
3. private DefaultTableModel tabmode;
4. public Guru() {
5. initComponents();
6. datatable();
7. kosong();
8. aktif();
9. }
10. void aktif(){
83
11. tid.setEnabled(true);
12. tnama_guru.setEnabled(true);
13. tjabatan.setEnabled(true);
14. tnot.setEnabled(true);
15. talm.setEnabled(true);
16. tid.requestFocus();
17. }
18. void kosong(){
19. tid.setText("");
20. tnama_guru.setText("");
21. tjabatan.setText("");
22. cjk.setSelectedIndex(0);
23. tnot.setText("");
24. talm.setText("");
25. tcari.setText("");
26. }
27. protected void datatable(){
28. Object [] baris = {"Nomor Induk Guru", "Nama", "Jabatan", "Jenis
Kelamin", "Nomor Telepon", "Alamat"};
29. tabmode = new DefaultTableModel(null, baris);
30. tabelguru.setModel(tabmode);
31. String sql = "select * from guru";
32. try{
33. java.sql.Statement stat = conn.createStatement();
34. ResultSet hasil = stat.executeQuery(sql);
35. while (hasil.next()){
36. String a = hasil.getString("id_guru");
37. String b = hasil.getString("nama_guru");
38. String c = hasil.getString("jabatan");
39. String d = hasil.getString("jenis_kelamin");
40. String e = hasil.getString("no_telpon");
84
41. String f = hasil.getString("alamat");
42. String [] data = {a,b,c,d,e,f};
43. tabmode.addRow(data);
44. }
45. } catch (Exception e){}
46. }
47. private void tabelguruMouseClicked(java.awt.event.MouseEvent evt) {
48. // TODO add your handling code here:
49. int bar = tabelguru.getSelectedRow();
50. String a = tabmode.getValueAt(bar, 0).toString();
51. String b = tabmode.getValueAt(bar, 1).toString();
52. String c = tabmode.getValueAt(bar, 2).toString();
53. String d = tabmode.getValueAt(bar, 3).toString();
54. String e = tabmode.getValueAt(bar, 4).toString();
55. String f = tabmode.getValueAt(bar, 5).toString();
56. tid.setText(a);
57. tnama_guru.setText(b);
58. tjabatan.setText(c);
59. cjk.setSelectedItem(e);
60. tnot.setText(e);
61. talm.setText(f);
62. }
63. private void bcariActionPerformed(java.awt.event.ActionEvent evt) {
64. // TODO add your handling code here:
65. Object [] baris = {"id_guru",
"nama","jabatan","jenis_kelamin","no_telpon","alamat"};
66. tabmode = new DefaultTableModel(null, baris);
67. tabelguru.setModel(tabmode);
68. String sql = "select * from guru where nama like
'%"+tcari.getText()+"%'";
69. try{
85
70. java.sql.Statement stat = conn.createStatement();
71. ResultSet hasil = stat.executeQuery(sql);
72. while (hasil.next()){
73. String a = hasil.getString("id_guru");
74. String b = hasil.getString("nama_guru");
75. String c = hasil.getString("jabatan");
76. String d = hasil.getString("jenis_kelamin");
77. String e = hasil.getString("no_telpon");
78. String f = hasil.getString("alamat");
79. String [] data = {a,b,c,d,e,f};
80. tabmode.addRow(data);
81. }
82. } catch (Exception e){}
83. }
84. private void bsimpanActionPerformed(java.awt.event.ActionEvent
evt) {
85. // TODO add your handling code here:
86. String sql = "insert into guru values(?,?,?,?,?,?)";
87. try{
88. PreparedStatement stat = conn.prepareStatement(sql);
89. stat.setString(1, tid.getText());
90. stat.setString(2, tnama_guru.getText());
91. stat.setString(3, tjabatan.getText());
92. stat.setString(4, cjk.getSelectedItem().toString());
93. stat.setString(5, tnot.getText());
94. stat.setString(6, talm.getText());
95. stat.executeUpdate();
96. JOptionPane.showMessageDialog(null, "Data Berhasil
Disimpan");
97. kosong();
98. tid.requestFocus();
86
99. datatable();
100. }catch (SQLException e){
101. JOptionPane.showMessageDialog(null, "Data Gagal
Disimpan");
102. }
103. }
104. private void bubahActionPerformed(java.awt.event.ActionEvent evt)
{
105. // TODO add your handling code here:
106. String sql = "update guru set nama_guru=?, jabatan=?,
jenis_kelamin=?, no_telpon=?, alamat=? where id_guru=?";
107. try{
108. PreparedStatement stat = conn.prepareStatement(sql);
109. stat.setString(1, tnama_guru.getText());
110. stat.setString(2, tjabatan.getText());
111. stat.setString(3, cjk.getSelectedItem().toString());
112. stat.setString(4, tnot.getText());
113. stat.setString(5, talm.getText());
114. stat.setString(6, tid.getText());
115. stat.executeUpdate();
116. JOptionPane.showMessageDialog(null, "Data Berhasil
Diubah");
117. kosong();
118. tid.requestFocus();
119. datatable();
120. }catch (SQLException e){
121. JOptionPane.showMessageDialog(null, "Data Gagal Diubah");
122. }
123. }
124. private void bbersihkanActionPerformed(java.awt.event.ActionEvent
evt) {
87
125. // TODO add your handling code here:
126. kosong();
127. datatable();
128. }
129. private void bhapusActionPerformed(java.awt.event.ActionEvent evt)
{
130. // TODO add your handling code here:
131. String sql = "delete from guru where id_guru=?";
132. try{
133. PreparedStatement stat = conn.prepareStatement(sql);
134. stat.setString(1, tid.getText());
135. stat.executeUpdate();
136. JOptionPane.showMessageDialog(null, "Data Berhasil
Dihapus");
137. kosong();
138. tid.requestFocus();
139. datatable();
140. }catch (SQLException e){
141. JOptionPane.showMessageDialog(null, "Data Gagal Dihapus");
142. }
143. }
144. private void bkembaliActionPerformed(java.awt.event.ActionEvent
evt) {
145. // TODO add your handling code here:
146. this.dispose();
147. new Menu().setVisible(true);
148. }
149. private void
bcetak_guruActionPerformed(java.awt.event.ActionEvent evt) {
150. // TODO add your handling code here:
151. try{
88
152. File file = new File ("src/Laporan/laporan_guru.jrxml");
153. Class.forName("com.mysql.jdbc.Driver");
154. Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost/tkalikhlas","root
","");
155. JasperDesign jasperDesign = JRXmlLoader.load(file);
156. JasperReport jasperReport =
JasperCompileManager.compileReport(jasperDesign);
157. JasperPrint jasperPrint =
JasperFillManager.fillReport(jasperReport, null, con);
158. JasperViewer.viewReport(jasperPrint,false);
159. }
160. catch(Exception exc)
161. {JOptionPane.showMessageDialog(null, "Data tidak dapat
dicetak!"+exc.getMessage(),"Cetak
Data",JOptionPane.ERROR_MESSAGE);}
162. }
f. Form Kelas
1. public class Kelas extends javax.swing.JFrame {
2. private Connection conn= new koneksi().connect();
3. private DefaultTableModel tabmode;
4. void aktif(){
5. tkelas.setEnabled(true);
6. twakel.setEnabled(true);
7. tjumsiswa.setEnabled(true);
8. tcarikelas.setEnabled(true);
9. tkelas.requestFocus();
10. }
11. void kosong(){
12. tkelas.setText("");
89
13. twakel.setText("");
14. tjumsiswa.setText("");
15. tcarikelas.setText("");
16. cwakel.setSelectedIndex(0);
17. }
18. protected void datatable(){
19. Object [] baris = {"Kelas", "Nomor Induk Guru", "Wali Kelas",
"Jumlah Siswa"};
20. tabmode = new DefaultTableModel(null, baris);
21. tablekelas.setModel(tabmode);
22. String sql = "select * from kelas";
23. try{
24. java.sql.Statement stat = conn.createStatement();
25. ResultSet hasil = stat.executeQuery(sql);
26. while (hasil.next()){
27. String a = hasil.getString("nama_kelas");
28. String b = hasil.getString("id_guru");
29. String c = hasil.getString("wakel");
30. String d = hasil.getString("jumsiswa");
31. String [] data = {a,b,c,d};
32. tabmode.addRow(data);
33. }
34. } catch (Exception e){}
35. }
36. void tampil_comboGuru(){
37. String sql = "select id_guru from guru order by id_guru asc";
38. try {
39. java.sql.Statement stat = conn.createStatement();
40. ResultSet hasil = stat.executeQuery(sql);
41. while (hasil.next()){
42. Object [] obj = new Object [1];
90
43. obj[0] = hasil.getString("id_guru");
44. cwakel.addItem((String)obj[0]);
45. }
46. } catch (Exception e){}
47. }
48. void tampil_Guru(){
49. String sql = "select nama_guru from guru where
id_guru='"+cwakel.getSelectedItem()+"'";
50. try {
51. java.sql.Statement stat = conn.createStatement();
52. ResultSet hasil = stat.executeQuery(sql);
53. while (hasil.next()){
54. Object [] obj = new Object [1];
55. obj[0] = hasil.getString("nama_guru");
56. twakel.setText((String)obj[0]);
57. }
58. } catch (Exception e){}
59. }
60. public Kelas() {
61. initComponents();
62. datatable();
63. aktif();
64. kosong();
65. tampil_comboGuru();
66. }
67. private void bexitActionPerformed(java.awt.event.ActionEvent evt) {
68. // TODO add your handling code here:
69. this.dispose();
70. new Menu().setVisible(true);
71. }
72. private void bsaveActionPerformed(java.awt.event.ActionEvent evt) {
91
73. // TODO add your handling code here:
74. String sql = "insert into kelas values(?,?,?,?)";
75. try{
76. PreparedStatement stat = conn.prepareStatement(sql);
77. stat.setString(1, tkelas.getText());
78. stat.setString(2, cwakel.getSelectedItem().toString());
79. stat.setString(3, twakel.getText());
80. stat.setString(4, tjumsiswa.getText());
81. stat.executeUpdate();
82. JOptionPane.showMessageDialog(null, "Data Berhasil
Disimpan");
83. kosong();
84. tkelas.requestFocus();
85. datatable();
86. }catch (SQLException e){
87. JOptionPane.showMessageDialog(null, "Data Gagal
Disimpan");
88. }
89. }
90. private void beditActionPerformed(java.awt.event.ActionEvent evt) {
91. // TODO add your handling code here:
92. String sql = "update kelas set id_guru=?, wakel=?, jumsiswa=?
where nama_kelas=?";
93. try{
94. PreparedStatement stat = conn.prepareStatement(sql);
95. stat.setString(1, cwakel.getSelectedItem().toString());
96. stat.setString(2, twakel.getText());
97. stat.setString(3, tjumsiswa.getText());
98. stat.setString(4, tkelas.getText());
99. stat.executeUpdate();
100. JOptionPane.showMessageDialog(null, "Data Berhasil
92
Diubah");
101. kosong();
102. tkelas.requestFocus();
103. datatable();
104. }catch (SQLException e){
105. JOptionPane.showMessageDialog(null, "Data Gagal Diubah");
106. }
107. }
108. private void bclearActionPerformed(java.awt.event.ActionEvent evt)
{
109. // TODO add your handling code here:
110. kosong();
111. datatable();
112. }
113. private void bdelActionPerformed(java.awt.event.ActionEvent evt) {
114. // TODO add your handling code here:
115. String sql = "delete from kelas where nama_kelas=?";
116. try{
117. PreparedStatement stat = conn.prepareStatement(sql);
118. stat.setString(1, tkelas.getText());
119. stat.executeUpdate();
120. JOptionPane.showMessageDialog(null, "Data Berhasil
Dihapus");
121. kosong();
122. tkelas.requestFocus();
123. datatable();
124. }catch (SQLException e){
125. JOptionPane.showMessageDialog(null, "Data Gagal Dihapus");
126. }
127. }
128. private void tablekelasMouseClicked(java.awt.event.MouseEvent evt)
93
{
129. // TODO add your handling code here:
130. int bar = tablekelas.getSelectedRow();
131. String a = tabmode.getValueAt(bar, 0).toString();
132. String b = tabmode.getValueAt(bar, 1).toString();
133. String c = tabmode.getValueAt(bar, 2).toString();
134. String d = tabmode.getValueAt(bar, 3).toString();
135. tkelas.setText(a);
136. cwakel.setSelectedItem(b);
137. twakel.setText(c);
138. tjumsiswa.setText(d);
139. }
140. private void cwakelActionPerformed(java.awt.event.ActionEvent evt)
{
141. // TODO add your handling code here:
142. tampil_Guru();
143. }
144. private void bcarikelasActionPerformed(java.awt.event.ActionEvent
evt) {
145. // TODO add your handling code here:
146. Object [] baris = {"Kelas", "ID Guru", "Wali Kelas", "Jumlah
Siswa"};
147. tabmode = new DefaultTableModel(null, baris);
148. tablekelas.setModel(tabmode);
149. String sql = "select * from kelas where nama_kelas like
'%"+tcarikelas.getText()+"%'";
150. try{
151. java.sql.Statement stat = conn.createStatement();
152. ResultSet hasil = stat.executeQuery(sql);
153. while (hasil.next()){
154. String a = hasil.getString("nama_kelas");
94
155. String b = hasil.getString("id_guru");
156. String c = hasil.getString("wakel");
157. String d = hasil.getString("jumsiswa");
158. String [] data = {a,b,c,d};
159. tabmode.addRow(data);
160. }
161. } catch (Exception e){}
162. }
95
22. tnama_murid.setText("");
23. tnama_wali.setText("");
24. cjk.setSelectedIndex(0);
25. talm.setText("");
26. tttl.setText("");
27. tpekerjaan.setText("");
28. tnot.setText("");
29. tcari.setText("");
30. }
31. protected void datatable(){
32. Object [] baris = {"Nomor Induk Siswa", "Nama Murid", "Nama Wali",
"Jenis Kelamin", "Alamat", "Tempat Tanggal Lahir", "Pekerjaan", "No
Telpon"};
33. tabmode = new DefaultTableModel(null, baris);
34. tabelwalimurid.setModel(tabmode);
35. String sql = "select * from walimurid";
36. try{
37. java.sql.Statement stat = conn.createStatement();
38. ResultSet hasil = stat.executeQuery(sql);
39. while (hasil.next()){
40. String a = hasil.getString("id_murid");
41. String b = hasil.getString("nama_murid");
42. String c = hasil.getString("nama_wali");
43. String d = hasil.getString("alamat");
44. String e = hasil.getString("jk");
45. String f = hasil.getString("ttl");
46. String g = hasil.getString("pekerjaan");
47. String h = hasil.getString("notel");
48. String[] data = {a,b,c,d,e,f,g,h};
49. tabmode.addRow(data);
50. }
96
51. } catch (Exception e) {
52. }
53. }
54. Private void bsimpanActionPerformed(java.awt.event.ActionEvent evt)
{
55. // TODO add your handling code here:
56. String sql = "insert into walimurid values(?,?,?,?,?,?,?,?)";
57. try{
58. PreparedStatement stat = conn.prepareStatement(sql);
59. stat.setString(1, tid_murid.getText());
60. stat.setString(2, tnama_murid.getText());
61. stat.setString(3, tnama_wali.getText());
62. stat.setString(4, cjk.getSelectedItem().toString());
63. stat.setString(5, talm.getText());
64. stat.setString(6, tttl.getText());
65. stat.setString(7, tpekerjaan.getText());
66. stat.setString(8, tnot.getText());
67. stat.executeUpdate();
68. JOptionPane.showMessageDialog(null, "Data Berhasil Disimpan");
69. kosong();
70. tnama_wali.requestFocus();
71. datatable();
72. }catch (SQLException e){
73. JOptionPane.showMessageDialog(null, "Data Gagal Disimpan");
74. }
75. }
76. private void
tabelwalimuridMouseClicked(java.awt.event.MouseEvent evt) {
77. // TODO add your handling code here:
78. int bar = tabelwalimurid.getSelectedRow();
79. String a = tabmode.getValueAt(bar, 0).toString();
97
80. String b = tabmode.getValueAt(bar, 1).toString();
81. String c = tabmode.getValueAt(bar, 2).toString();
82. String d = tabmode.getValueAt(bar, 3).toString();
83. String e = tabmode.getValueAt(bar, 4).toString();
84. String f = tabmode.getValueAt(bar, 5).toString();
85. String g = tabmode.getValueAt(bar, 6).toString();
86. String h = tabmode.getValueAt(bar, 7).toString();
87. tid_murid.setText(a);
88. tnama_murid.setText(b);
89. tnama_wali.setText(c);
90. cjk.setSelectedItem(d);
91. talm.setText(e);
92. tttl.setText(f);
93. tpekerjaan.setText(g);
94. tnot.setText(h);
95. }
96. private void bubahActionPerformed(java.awt.event.ActionEvent evt)
{
97. // TODO add your handling code here:
98. String sql = "update walimurid set id_murid=?, nama_murid=?,
jk=?, alamat=?, ttl=?, pekerjaan=?, notel=? where nama_wali=?";
99. try{
100. PreparedStatement stat = conn.prepareStatement(sql);
101. stat.setString(1, tid_murid.getText());
102. stat.setString(2, tnama_murid.getText());
103. stat.setString(3, cjk.getSelectedItem().toString());
104. stat.setString(4, talm.getText());
105. stat.setString(5, tttl.getText());
106. stat.setString(6, tpekerjaan.getText());
107. stat.setString(7, tnot.getText());
108. stat.setString(8, tnama_wali.getText());
98
109. stat.executeUpdate();
110. JOptionPane.showMessageDialog(null, "Data Berhasil Ubah");
111. kosong();
112. tnama_wali.requestFocus();
113. datatable();
114. }catch (SQLException e){
115. JOptionPane.showMessageDialog(null, "Data Gagal Ubah");
116. }
117. }
118. private void bbersihkanActionPerformed(java.awt.event.ActionEvent
evt) {
119. // TODO add your handling code here:
120. kosong();
121. datatable();
122. }
123. private void bhapusActionPerformed(java.awt.event.ActionEvent evt)
{
124. // TODO add your handling code here
125. String sql = "delete from walimurid where nama_wali=?";
126. try{
127. PreparedStatement stat = conn.prepareStatement(sql);
128. stat.setString(1, tnama_wali.getText());
129. stat.executeUpdate();
130. JOptionPane.showMessageDialog(null, "Data Berhasil
Dihapus");
131. kosong();
132. tnama_wali.requestFocus();
133. datatable();
134. }catch (SQLException e){
135. JOptionPane.showMessageDialog(null, "Data Gagal Dihapus");
136. }
99
137. }
138. private void bkembaliActionPerformed(java.awt.event.ActionEvent
evt) {
139. // TODO add your handling code here:
140. this.dispose();
141. new Menu().setVisible(true);
142. }
143. private void tcariActionPerformed(java.awt.event.ActionEvent evt) {
144. // TODO add your handling code here:
145. String sql = "select * from murid where id_murid =
'"+tid_murid.getText()+"'";
146. try{
147. java.sql.Statement stat = conn.createStatement();
148. ResultSet hasil = stat.executeQuery(sql);
149. while(hasil.next()){
150. String a = hasil.getString("nama_murid");
151. tnama_murid.setText(a);
152. tnama_murid.setEnabled(false);
153. }
154. } catch (Exception e){}
155. }
156. private void jButton1ActionPerformed(java.awt.event.ActionEvent
evt) {
157. // TODO add your handling code here:
158. try{
159. File file = new File ("src/Laporan/laporan_walimurid.jrxml");
160. Class.forName("com.mysql.jdbc.Driver");
161. Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost/tkalikhlas","root
","");
162. JasperDesign jasperDesign = JRXmlLoader.load(file);
100
163. JasperReport jasperReport =
JasperCompileManager.compileReport(jasperDesign);
164. JasperPrint jasperPrint =
JasperFillManager.fillReport(jasperReport, null, con);
165. JasperViewer.viewReport(jasperPrint,false);
166. }
167. catch(Exception exc)
168. {JOptionPane.showMessageDialog(null, "Data tidak dapat
dicetak!"+exc.getMessage(),"Cetak
Data",JOptionPane.ERROR_MESSAGE);}
169. }
101
19. tnominal.setText("");
20. tcari.setText("");
21. }
22. protected void datatable(){
23. Object [] baris = {"Kode Pembayaran", "Nama Pembayaran",
"Nominal"};
24. tabmode = new DefaultTableModel(null, baris);
25. tabeljenis_pembayaran.setModel(tabmode);
26. String sql = "select * from jenispembayaran";
27. try{
28. java.sql.Statement stat = conn.createStatement();
29. ResultSet hasil = stat.executeQuery(sql);
30. while (hasil.next()){
31. String a = hasil.getString("kodepem");
32. String b = hasil.getString("namapem");
33. String c = hasil.getString("nominaljp");
34. String [] data = {a,b,c};
35. tabmode.addRow(data);
36. }
37. } catch (Exception e){}
38. }
39. private void bsimpanActionPerformed(java.awt.event.ActionEvent evt)
{
40. String sql = "insert into jenispembayaran values(?,?,?)";
41. try{
42. PreparedStatement stat = conn.prepareStatement(sql);
43. stat.setString(1, tkode.getText());
44. stat.setString(2, tnama_pembayaran.getText());
45. stat.setInt(3, Integer.parseInt(tnominal.getText()));
46. stat.executeUpdate();
47. JOptionPane.showMessageDialog(null, "Data Berhasil Disimpan");
102
48. kosong();
49. tkode.requestFocus();
50. datatable();
51. } catch (SQLException e){
52. JOptionPane.showMessageDialog(null, "Data Gagal Disimpan");
53. }
54. }
55. private void bcariActionPerformed(java.awt.event.ActionEvent evt) {
56. Object [] baris = {"Kode Pembayaran", "Nama Pembayaran",
"Nominal"};
57. tabmode = new DefaultTableModel(null, baris);
58. tabeljenis_pembayaran.setModel(tabmode);
59. String sql = "select * from jenispembayaran where kodepem like
'%"+tcari.getText()+"%'";
60. try{
61. java.sql.Statement stat = conn.createStatement();
62. ResultSet hasil = stat.executeQuery(sql);
63. while (hasil.next()){
64. String a = hasil.getString("kodepem");
65. String c = hasil.getString("namapem");
66. String d = hasil.getString("nominaljp");
67. String [] data = {a,c,d};
68. tabmode.addRow(data);
69. }
70. } catch (Exception e){}
71. }
72. private void
tabeljenis_pembayaranMouseClicked(java.awt.event.MouseEvent evt) {
73. int bar = tabeljenis_pembayaran.getSelectedRow();
74. String a = tabmode.getValueAt(bar, 0).toString();
75. String b = tabmode.getValueAt(bar, 1).toString();
103
76. String c = tabmode.getValueAt(bar, 2).toString();
77. tkode.setText(a);
78. tnama_pembayaran.setText(b);
79. tnominal.setText(c);
80. }
81. private void bubahActionPerformed(java.awt.event.ActionEvent evt)
{
82. String sql = "update jenispembayaran set namapem=?, nominaljp=?
where kodepem=?";
83. try{
84. PreparedStatement stat = conn.prepareStatement(sql);
85. stat.setString(1, tnama_pembayaran.getText());
86. stat.setString(2, tnominal.getText());
87. stat.setString(3, tkode.getText());
88. stat.executeUpdate();
89. JOptionPane.showMessageDialog(null, "Data Berhasil
Diubah");
90. kosong();
91. tkode.requestFocus();
92. datatable();
93. } catch (SQLException e){
94. JOptionPane.showMessageDialog(null, "Data Gagal Diubah");
95. }
96. }
97. private void bbatalActionPerformed(java.awt.event.ActionEvent evt)
{
98. kosong();
99. datatable();
100. }
101. private void bhapusActionPerformed(java.awt.event.ActionEvent evt)
{
104
102. String sql = "delete from jenispembayaran where kodepem=?";
103. try{
104. PreparedStatement stat = conn.prepareStatement(sql);
105. stat.setString(1, tkode.getText());
106. stat.executeUpdate();
107. JOptionPane.showMessageDialog(null, "Data Berhasil
Dihapus");
108. kosong();
109. tkode.requestFocus();
110. datatable();
111. } catch (SQLException e){
112. JOptionPane.showMessageDialog(null, "Data Gagal Dihapus");
113. }
114. }
115. private void bkeluarActionPerformed(java.awt.event.ActionEvent
evt) {
116. this.dispose();
117. new Menu().setVisible(true);
118. }
i. Form Transaksi
1. public class Transaksi extends javax.swing.JFrame {
2. private Connection conn = new koneksi().connect();
3. private DefaultTableModel tabmode;
4. public String tgl;
5. SimpleDateFormat format = new SimpleDateFormat ("yyyy-MM-dd");
6. Statement st;
7. ResultSet rs;
8. public Transaksi() {
9. initComponents();
10. dbayar.setDateFormatString("yyyy-MM-dd");
105
11. tampil_comboPmb();
12. }
13. void kosong (){
14. tnomor_trans.setText("");
15. dbayar.setDate(null);
16. tnis.setText("");
17. tnama_siswa.setText("");
18. tkelas.setText("");
19. tketerangan.setText("");
20. tbiaya_pmb.setText("");
21. cjp_bayar.setSelectedIndex(0);
22. tnapem.setText("");
23. tnominaljp.setText("");
24. tjumlah.setText("");
25. ltotal.setText("0");
26. tbayar.setText("");
27. tkembali.setText("");
28. tnomor_trans.requestFocus();
29. }
30. void tampil_comboPmb(){
31. String sql = "select kodepem from jenispembayaran order by kodepem
asc";
32. try {
33. java.sql.Statement stat = conn.createStatement();
34. ResultSet hasil = stat.executeQuery(sql);
35. while (hasil.next()){
36. Object [] obj = new Object [1];
37. obj[0] = hasil.getString("kodepem");
38. cjp_bayar.addItem(obj[0])
39. }
40. } catch (Exception e){}
106
41. }
42. void tampil_pembayaran(){
43. String sql = "select namapem, nominaljp from jenispembayaran where
kodepem='"+cjp_bayar.getSelectedItem()+"'";
44. try {
45. java.sql.Statement stat = conn.createStatement();
46. ResultSet hasil = stat.executeQuery(sql);
47. while (hasil.next()){
48. Object [] obj = new Object [2];
49. obj[0] = hasil.getString("namapem");
50. obj[1] = hasil.getString("nominaljp");
51. tnapem.setText((String)obj[0]);
52. tnominaljp.setText((String)obj[1]);
53. }
54. } catch (Exception e){}
55. }
56. void totalBayarPmb(){
57. String Qtotal = "select sum(subtotal) from bayar_pmb where
no_transaksi='"+tnomor_trans.getText()+"'";
58. try {
59. st = conn.createStatement();
60. rs = st.executeQuery(Qtotal);
61. while (rs.next()){
62. tbiaya_pmb.setText(rs.getString(1));
63. }
64. } catch (Exception ex){JOptionPane.showMessageDialog(null,
ex.getMessage());}
65. }
66. protected void tampil_jual(){
67. Object [] baris = {"No. Transaksi","Kode Pembayaran","Nama
Pembayaran","Nominal","Jumlah","Subtotal"};
107
68. tabmode = new DefaultTableModel(null, baris);
69. tabeljp.setModel(tabmode);
70. String sql = "select * from bayar_pmb JOIN jenispembayaran where
bayar_pmb.kodepem=jenispembayaran.kodepem and no_transaksi='" +
71. tnomor_trans.getText()+"'";
72. try{
73. java.sql.Statement stat = conn.createStatement();
74. ResultSet hasil = stat.executeQuery(sql);
75. while (hasil.next()){
76. String a = hasil.getString(1);
77. String b = hasil.getString(3);
78. String c = hasil.getString(8);
79. String d = hasil.getString(5);
80. String e = hasil.getString(4);
81. String f = hasil.getString(6);
82. String [] data = {a,b,c,d,e,f};
83. tabmode.addRow(data);
84. }
85. } catch (Exception e) {JOptionPane.showMessageDialog(null,
e.getMessage());}
86. }
87. void updateTotalTransaksi(){
88. int bo = Integer.parseInt(tbiaya_pmb.getText());
89. int tb = bo;
90. try{
91. st.executeUpdate("update transaksi set biaya_pmb ="+bo+" , total
="+tb+" where no_transaksi='"+tnomor_trans.getText()+"'");
92. ltotal.setText(String.valueOf(tb));
93. }catch (Exception ex) {JOptionPane.showMessageDialog(null,
ex.getMessage())
94. }
108
95. void clear_obat(){
96. cjp_bayar.setSelectedIndex(0);
97. tnapem.setText("");
98. tnominaljp.setText("");
99. tjumlah.setText("");
100. }
101. private void bcariActionPerformed(java.awt.event.ActionEvent evt) {
102. // TODO add your handling code here:
103. String sql = "select * from murid where id_murid =
'"+tnis.getText()+"'";
104. try {
105. java.sql.Statement stat = conn.createStatement();
106. ResultSet hasil = stat.executeQuery(sql);
107. while (hasil.next()){
108. String a = hasil.getString("nama_murid");
109. String b = hasil.getString("kelas");
110. tnama_siswa.setText(a);
111. tkelas.setText(b);
112. tnama_siswa.setEnabled(false);
113. tkelas.setEnabled(false);
114. }
115. }catch (Exception e) {}
116. }
117. private void cjp_bayarActionPerformed(java.awt.event.ActionEvent
evt) {
118. // TODO add your handling code here:
119. tampil_pembayaran();
120. tjumlah.requestFocus();
121. }
122. private void btambahActionPerformed(java.awt.event.ActionEvent evt)
{
109
123. // TODO add your handling code here:
124. int subtotal , nominaljp ,jumlah ;
125. jumlah = Integer.parseInt(tjumlah.getText());
126. nominaljp = Integer.parseInt(tnominaljp.getText());
127. subtotal = nominaljp*jumlah;
128. String noTrans = tnomor_trans.getText();
129.
130. try{
131. jumlah = Integer.parseInt(tjumlah.getText());{
132. PreparedStatement stat = conn.prepareStatement("insert into
bayar_pmb values (?,?,?,?,?,?)");
133. stat.setString(1, noTrans);
134. stat.setString(2, noTrans);
135. stat.setString(3, cjp_bayar.getSelectedItem().toString());
136. stat.setInt(4, jumlah);
137. stat.setInt(5, nominaljp);
138. stat.setInt(6, subtotal);
139. stat.executeUpdate();
140. JOptionPane.showMessageDialog(null, "Data ditambahkan");
141. totalBayarPmb();
142. tampil_jual();
143. tampil_pembayaran();
144. updateTotalTransaksi();
145. clear_obat();
146. }
147. } catch (Exception ex) {JOptionPane.showMessageDialog(null,
ex.getMessage());}
148. }
149.
150. private void bkurangActionPerformed(java.awt.event.ActionEvent
evt) {
110
151. // TODO add your handling code here:
152.
153. try{
154. st.executeUpdate("delete from bayar_pmb where
kodepem='"+cjp_bayar.getSelectedItem().toString()+"'");
155.
156. tampil_jual();
157. clear_obat();
158. totalBayarPmb();
159. updateTotalTransaksi();
160.
161. } catch (Exception ex) {JOptionPane.showMessageDialog(null,
ex.getMessage());}
162. }
163.
164. private void tabeljpMouseClicked(java.awt.event.MouseEvent evt) {
165. // TODO add your handling code here:
166. int bar = tabeljp.getSelectedRow();
167. String b = tabmode.getValueAt(bar, 1).toString();
168. String c = tabmode.getValueAt(bar, 2).toString();
169. String d = tabmode.getValueAt(bar, 3).toString();
170. String e = tabmode.getValueAt(bar, 4).toString();
171.
172. cjp_bayar.setSelectedItem(b);
173. tnapem.setText(c);
174. tnominaljp.setText(d);
175. tjumlah.setText(e);
176. }
177.
178. private void bsaveActionPerformed(java.awt.event.ActionEvent evt)
{
111
179. // TODO add your handling code here:
180.
181. try{
182. PreparedStatement stat = conn.prepareStatement("insert into
transaksi values (?,?,?,?,?,?,?,?)");
183. stat.setString(1, tnomor_trans.getText());
184. stat.setString(2, tgl);
185. stat.setString(3, tnis.getText());
186. stat.setString(4, tketerangan.getText());
187. stat.setInt(5, Integer.parseInt(tbiaya_pmb.getText()));
188. stat.setDouble(6, Double.parseDouble(ltotal.getText()));
189. stat.setString(7, tbayar.getText());
190. stat.setString(8, tkembali.getText());
191. stat.executeUpdate();
192. JOptionPane.showMessageDialog(null, "Data berhasil
disimpan");
193. kosong();
194. clear_obat();
195. } catch (Exception ex) {JOptionPane.showMessageDialog(null,
ex.getMessage());}
196. }
197.
198. private void bexitActionPerformed(java.awt.event.ActionEvent evt) {
199. // TODO add your handling code here:
200. dispose();
201. new Menu().setVisible(true);
202. }
203.
204. private void bclearActionPerformed(java.awt.event.ActionEvent evt)
{
205. // TODO add your handling code here:
112
206. kosong();
207. }
208.
209. private void dbayarPropertyChange(java.beans.PropertyChangeEvent
evt) {
210. // TODO add your handling code here:
211. if (dbayar.getDate()!=null){
212. tgl = format.format(dbayar.getDate());
213. }
214. }
215.
216. private void tbayarActionPerformed(java.awt.event.ActionEvent evt)
{
217. // TODO add your handling code here:
218. double total,bayar , kembali;
219. total = Integer.parseInt(ltotal.getText());
220. bayar = Integer.parseInt(tbayar.getText());
221. kembali = bayar-total;
222. tkembali.setText(String.valueOf(kembali));
223. }
224.
225. private void tbayarKeyReleased(java.awt.event.KeyEvent evt) {
226. // TODO add your handling code here:
227. double total,bayar , kembali;
228. total = Integer.parseInt(ltotal.getText());
229. bayar = Integer.parseInt(tbayar.getText());
230. kembali = bayar-total;
231. tkembali.setText(String.valueOf(kembali));
232. }
233.
234. private void bprintActionPerformed(java.awt.event.ActionEvent evt)
113
{
235. // TODO add your handling code here:]
236. String nt = JOptionPane.showInputDialog("Masukan Nomor
Transaksi yang akan di cetak");
237. try{
238. Map<String, Object> parameter = new HashMap <String,
Object>();
239. parameter.put("nota",nt);
240. File file = new File ("src/Laporan/kuitansi.jrxml");
241. Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost/tkalikhlas","root
","");
242. JasperDesign jasperDesign = JRXmlLoader.load(file);
243. JasperReport jasperReport =
JasperCompileManager.compileReport(jasperDesign);
244. JasperPrint jasperPrint =
JasperFillManager.fillReport(jasperReport, parameter, con);
245. JasperViewer.viewReport(jasperPrint,false);
246. }
247. catch(Exception exc)
248. {JOptionPane.showMessageDialog(null, "Data tidak dapat
dicetak!"+exc.getMessage(),"Cetak
Data",JOptionPane.ERROR_MESSAGE);}
249. }
114
5. // TODO add your handling code here:
6. this.dispose();
7. new Menu().setVisible(true);
8. }
9. private void bprintActionPerformed(java.awt.event.ActionEvent evt) {
10. // TODO add your handling code here:]
11. try{
12. Map<String, Object> parameter = new HashMap <String, Object>();
13. parameter.put("awal",dawal.getDate());
14. parameter.put("akhir",dakhir.getDate());
15. File file = new File ("src/Laporan/laporansemester.jrxml");
16. Connection con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost/tkalikhlas","root
","");
17. JasperDesign jasperDesign = JRXmlLoader.load(file);
18. JasperReport jasperReport =
JasperCompileManager.compileReport(jasperDesign);
19. JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
parameter, con);
20. JasperViewer.viewReport(jasperPrint,false);
21. }
22. catch(Exception exc)
23. {JOptionPane.showMessageDialog(null, "Data tidak dapat
dicetak!"+exc.getMessage(),"Cetak
Data",JOptionPane.ERROR_MESSAGE);}
24. }
115
Lampiran 2. Form Kehadiran Kerja Praktek
116
117
118
119
120
121
Lampiran 3. Lembar Penilaian Kerja Praktek
122
123
124
125
126
127