Top Banner
20 BAB III PEMBAHASAN 3.1 Tinjauan Yayasan Untuk mengetahui lebih banyak tentang sistem informasi pembayaran administrasi sekolah pada Yayasan Islam Nurussalam Al Khoir Sukoharjo maka penulis akan menjabarkan informasi-informasi yang telah didapatkan dari SMP Islam Nurussalam Al Khoir diantaranya adalah : 3.1.1 Sejarah Yayasan Yayasan Nurussalam Al Khoir dipimpin oleh ketua yayasan Bapak Drs. H. Haries Fuady, yayasan ini berdiri pada tahun 2014. Yayasan ini terletak di Kompleks Masjid Nurussalam Al-Khoir Ngasemrejo Triyagan, Kecamatan Mojolaban, Kabupaten Sukoharjo, Jawa Tengah. Yayasan Nurussalam Al Khoir merupakan yayasan yang bergerak dibidang pendidikan. Di Yayasan Nurussalam Al Khoir terdapat beberapa penyelenggaraan lembaga pendidikan yaitu pendidikan taman kanak-kanak (TK) dan Sekolah Menengah Pertama (SMP). Yayasan Nurussalam Al Khoir didirikan dengan tujuan untuk mewujudkan peserta didik yang kokoh akidah , taat ibadah dan berakhlak karimah serta unggul dalam Penguasaan Ilmu Pengetahuan dan Teknologi. Serta memiliki visi dan misi yaitu : VISI : Membina generasi Berakidah, Berakhlak, dan Islami
55

BAB III PEMBAHASAN - Repository BSI

Mar 12, 2023

Download

Documents

Khang Minh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: BAB III PEMBAHASAN - Repository BSI

20

BAB III

PEMBAHASAN

3.1 Tinjauan Yayasan

Untuk mengetahui lebih banyak tentang sistem informasi pembayaran

administrasi sekolah pada Yayasan Islam Nurussalam Al Khoir Sukoharjo maka

penulis akan menjabarkan informasi-informasi yang telah didapatkan dari SMP

Islam Nurussalam Al Khoir diantaranya adalah :

3.1.1 Sejarah Yayasan

Yayasan Nurussalam Al Khoir dipimpin oleh ketua yayasan Bapak Drs. H.

Haries Fuady, yayasan ini berdiri pada tahun 2014. Yayasan ini terletak di

Kompleks Masjid Nurussalam Al-Khoir Ngasemrejo Triyagan, Kecamatan

Mojolaban, Kabupaten Sukoharjo, Jawa Tengah. Yayasan Nurussalam Al Khoir

merupakan yayasan yang bergerak dibidang pendidikan. Di Yayasan Nurussalam

Al Khoir terdapat beberapa penyelenggaraan lembaga pendidikan yaitu

pendidikan taman kanak-kanak (TK) dan Sekolah Menengah Pertama (SMP).

Yayasan Nurussalam Al Khoir didirikan dengan tujuan untuk mewujudkan

peserta didik yang kokoh akidah , taat ibadah dan berakhlak karimah serta unggul

dalam Penguasaan Ilmu Pengetahuan dan Teknologi. Serta memiliki visi dan misi

yaitu :

VISI : Membina generasi Berakidah, Berakhlak, dan Islami

Page 2: BAB III PEMBAHASAN - Repository BSI

21

MISI :

1. Membentuk generasi yang bertauhid sebagai landasan terwujudnya generasi

muslim yang berkualitas berdasar Al-Qur’an dan As Sunnah.

2. Mewujudkan lingkungan berbasis Akhlakul Karimah sebagai dasar

menegakkan nilai-nilai Illahiyah.

3. Mendorong terbentuknya generasi yang berwawasan luas, disiplin, percaya

diri menuju generasi yang berprestasi.

4. Menumbuhkan rasa kasih sayang sesama sebagai wujud pengamalan niali-

nilai ke-Islaman

5. Memberikan kontribusi yang positif kepada umat dengan ilmu, amal menuju

kehidupan yang Islami.

3.1.2 Struktur Organisasi dan Fungsi

Gambar III.1. Stuktur Organisasi

Page 3: BAB III PEMBAHASAN - Repository BSI

22

Berikut ini tugas dan tanggung jawab masing-masing bagian dalam organisasi

yayasan secara garis besar adalah sebagai berikut :

Pembina

1. Membuat keputusan mengenai perubahan Anggaran Dasar.

2. Penetapan kebijakan umum yayasan berdasarkan anggaran dasar yayasan.

3. pengesahan program kerja dan rancangan anggaran tahunan yayasan.

4. Pengesahan laporan tahunan.

5. Pembina berhak untuk memberhentikan dewan pengurus yayasan

6. Pembina berhak untuk menetapkan kebijakan umum yayasan

7. Menjaga dan memastikan pelaksanaan kerja dan kegiatan yayasan sesuai

dengan visi, misi dan tujuan.

8. Memberikan masukan kepada ketua umum dalam pelaksanaan program

Yayasan.

Ketua

1. Menjalankan visi dan misi yayasan sesuai dengan anggaran dasar.

2. Memimpin dan mengkoordinasikan seluruh anggota dan pengurus yayasan.

3. Mengkoordinasikan program kerja yayasan baik perencanaan, pelaksanaan,

evaluasi, maupun pertanggungjawaban.

4. Memberikan wewenang kepada para ketua divisi sehubungan dengan hal-

hal yang berkaitan dengan ruang lingkup masing-masing divisi.

Bendahara

1. Bertanggung jawab atas pengelolaan keuangan yayasan.

2. Membuat laporan keuangan secara periodik dan secara tertulis yang

disampaikan secara berkala.

Page 4: BAB III PEMBAHASAN - Repository BSI

23

3. Menyusun dan mengatur anggaran dengan mengkoordinasikan kepada ketua

umum.

4. Mengatur pencatatan, penerimaan, penyimpanan, dan pengeluaran

keuangan, surat-surat berharga, bukti kas yang berhubungan dengan

kegiatan yayasan dan dlaporkan secara transparan.

5. Mempunyai hak bertanya dan menyelenggarakan audit keuangan pada

setiap kepanitiaan.

6. Bertanggung jawab kepada Ketua.

Serkertaris

1. Mengatur dan menertibkan pengorganisasian administrasi yayasan.

2. Mengatur pengelolaan, pemeliharaan dan inventarisasi barang-barang milik

yayasan.

3. Bertanggung jawab atas terselenggaranya kegiatan operasional harian

yayasan.

4. Berhak dan mempunyai wewenang mendokumentasikan serta mengarsipkan

semua surat-surat masuk maupun keluar.

Devisi Pendanaan

1. Bertanggung jawab dalam menyususn dan mengkoordinir program-program

yayasan yang berkaitan dengan pendanaan dan pemberdayaan ekonomi.

2. Memimpin dan mengatur divisi yang dipimpinnya, meliputi pelaksanaan

program kerja, penggunaan budget dan mengatur/membina anggotanya.

3. Membuat program penggalangan dana yang berkesinambungan untuk

menopang kebutuhan yayasan.

Page 5: BAB III PEMBAHASAN - Repository BSI

24

Wakasek Kurikulum

1. Mengatur penyusunan program pengajaran (Program Semester, Program

Satuan Pelajaran, dan Persiapan Mengajar, Penjabaran dan Penyesuaian

Kurikulum).

2. Mengatur pelaksanaan program penilaian Kriteria Kenaikan Kelas,Kriteria

Kelulusan dan Laporan Kemajuan Belajar Siswa serta pembagian Rapor.

3. Mengkoordinir pengembangan Kurikulum.

4. Menganalisis ketercapaian target kurikulum.

6. Menyusun pembagian tugas guru dan jadwal pelajaran.

7. Mengatur Pengembangan MGMP dan Koordinator mata pelajaran.

Wakasek Kesiswaan

1. Menyusun program pembinaan kesiswaan.

2. Membina dan melaksanakan koordinasi pelaksanaan keamanan, kebersihan,

ketertiban, keindahan, kerindangan, kekeluargaan, dan ketaqwaan.

3. Mengatur dan membina program kegiatan OSIS meliputi Kepramukaan,

Palang Merah Remaja (PMR), Kelompok Ilmiah Remaja (KIR), Usaha

Kesehatan Sekolah (UKS), Patroli Keamanan Sekolah (PKS), Paskibra.

4. Melaksanakan pemilihan calon siswa teladan dan calon siswa penerima bea

siswa.

5. Mengatur pelaksanaan Kurikuler dan Ekstra Kurikuler.

Wakasek Sapres

1. Merencanakan kebutuhan sarana prasarana untuk menunjang proses belajar

mengajar.

Page 6: BAB III PEMBAHASAN - Repository BSI

25

2. Menyediakan, mengatur, memelihara, sarana dan prasarana sekolah dengan

pelaksanaan kegiatan sekolah dan proses belajar mengajar dapat berjalan

dengan tertib dan lancar. Tentu saja hal ini tidak lepas dari pengawasan.

3. Mengatur pemanfaatan Sarana Prasarana.

4. Mengkordinasikan dan mengawasi pemeliharaan, perbaikan, pengembangan

dan penghapusan sarana

5. Menyusun laporan pelaksanaan bidang sarana dan prasarana secara berkala.

6. Mengkoordinasikan pendayagunaan sarana dan prasarana.

Wakasek Humas

1. Mengatur hubungan sekolah dengan orang tua.

2. Mengatur dan menyelenggarakan hubungan Sekolah dengan orangtua/Wali

siswa

3. Membina pengembangan hubungan antar Sekolah dengan lembaga

pemerintah, dunia usaha dan lembaga-lembaga sosial lainnya.

4. Membina hubungan antar Sekolah dengan komite Sekolah.

5. Menjalin hubungan ke luar lembaga sesuai fungsi dan kebutuhan.

6. Membantu pelaksanaan tugas BP3.

Wali Kelas

1. Pengelolaan kelas.

2. Penyelenggaraan administrasi kelas meliputi : Daftar pelajaran kelas, papan

absensi siswa, buku absensi siswa, buku kegiatan pembelajaran/buku kelas,

tata tertib siswa.

3. Mengisi daftar kumpulan nilai (legger).

4. Membuat catatan khusus tentang siswa.

Page 7: BAB III PEMBAHASAN - Repository BSI

26

5. Pencatatan mutasi siswa.

6. Mengisi buku laporan penilaian hasil belajar.

Guru

1. Melaksanakan segala hal kegiatan pembelajaran.

2. Melaksanakan kegiatan Penilaian Proses Belajar, Ulangan (Harian, Umum,

dan Akhir).

3. Bertanggungjawab atas pencapaian target kurikulum dan daya serap.

4. Mencatat dan melaporkan hasil belajar siswa

5. Membantu dan menanggulangi siswa yang kesulitan belajar

6. Melaksanakan program perbaikan dan pengayaan

7. Mengisi daftar nilai siswa

8. Membuat catatan tentang kemajuan dari hasil belajar

9. Mengisi daftar hadir siswa sebelum memulai pelajaran.

3.2 Tinjauan Kasus

3.2.1 Proses Bisnis Sistem Berjalan

Prosedur sistem berjalan merupakan proses keluar masuknya berkas yang

terjadi pada suatu sistem yang sedang dijalankan. Sistem pembayaran administrasi

sekolah pada Yayasan Nurussalam Al Khoir dapat digambarkan sebagai beriku:

Siswa melakukan pembayaran administrasi yang terdiri dari pendaftar

ulang, pembayaran SPP, dana pengembang (uang gedung) dan biaya lain-lain.

Siswa membayar biaya administrasi dengan menyerahkan uang sebagai data

pembayaran dan kartu Administrasi, kemudian bendahara menerima dan

menghitung uang sesuai dengan besarnya pembayaraan administrasi, jika uang

Page 8: BAB III PEMBAHASAN - Repository BSI

27

yang diberikan siswa melebihi biaya pembayaran uang kebaliannya diberikan

kepada siswa. Bendahara mencatat sesuai pembayaran yang dilakukan siswa dan

memberi paraf pada kartu administrasi, lalu mengembalikan seiring dengan

pencatatan dikartu administrasi, bendahara melakukan pencatatan pembayaran

pada rekap administrasi. Kemudian bendahara membuat kwitansi sebagai bukti

pembayaran, selanjutnya bendahara mengembalikan kartu SPP dan kwitansi ke

wali murid. Bendahara membuat laporan pembayaran, kemudian bagian

administrasi memberikan laporan tersebut ke ketua yayasan.

3.2.2 Activity Diagram

Gambar III.2. Activity Diagram Pembayaran Administrasi Sekolah

Page 9: BAB III PEMBAHASAN - Repository BSI

28

3.2.3 Dokumen Masukkan

1. Kartu Pembayaran Administrasi

Nama Dokumen : Kartu Pembayaran Administrasi

Fungsi : Sebagai bukti pembayaran administrasi

Sumber : Bendahara

Tujuan : Diserahkan kepada Siswa

Frekuensi : Setiap murid melakukan pembayaran

Media : kartas

Jumlah Rangkap : 2 (dua) Rangkap

Format : Lihat lampiran –A.1

2. Data Siswa

Nama Dokumen : Data Siswa

Fungsi : Sebagai Biodata Siswa

Sumber : Bendahara

Tujuan : Diserahkan kepada Siswa

Frekuensi : Saat Siswa melakukan pendaftaran

Media : kartas

Jumlah Rangkap : 1 (satu) Rangkap

Format : Lihat lampiran –A.2

3.2.4 Dokumen Keluaran

1. Rekap Pembayaran Adminstrasi

Nama Dokumen : Rekap Pembayaran Administrasi

Fungsi : Mengetahui data pembayaran administrasi Siswa

Sumber : Bendahara

Page 10: BAB III PEMBAHASAN - Repository BSI

29

Tujuan : Diserahkan kepada kepala yayasan

Frekuensi : Setiap murid melakukan pembayaran

Media : Kartas

Jumlah Rangkap : 1(Satu) Rangkap

Format : Lihat lampiran –B.1

2. Kwitansi

Nama Dokumen : Kwitansi

Fungsi : Sebagai Bukti Melakukan Pembayaran

Frekuensi : Setiap murid melakukan pembayaran

Sumber : Bendahara

Tujuan : Diserahkan Kepada Siswa

Jumlah Rangkap : 1 (Satu) Rangkap

Format : Lihat lampiran –B.2

3. Laporan Pembayaran Administrasi

Nama Dokumen : Laporan Pembayaran Adminstrasi

Fungsi : Sebagai Data Keseluruhan pembayaran Adninistrasi

Frekuensi : Setiap Bulan

Sumber : Bendahara

Tujuan : Diserahkan Kepada Kepala yayasan

Jumlah Rangkap : 1 (Satu) Rangkap

Format : Lihat lampiran –B.3

3.2.5 Permasalahan Pokok

Dari hasil riset selama di Yayasan Nurussalam Al-Khoir dapat dilihat

penggunaan sistem pengolahan data pembayaran administrasi sekolah yang

Page 11: BAB III PEMBAHASAN - Repository BSI

30

masih menggunakan cara manual, mengakibatkan timbulnya permasalahan antara

lain, tidak akuratnya pencatatan dan pembuatan laporan pembayaran administrasi

sekolah, karena adanya kesalahan dalam menginput data, tercampurnya data

adminstrasi, penyimpanan dokumen administrasi yang tidak tersusun rapi dapat

menyebabkan rusak dan hilangnya dokumen administrasi. Hal tersebut

menyebabkan keterlambatan dalam proses pelaporan kepada pihak yayasan.

3.2.6 Pemecahan Masalah

Dari permasalahan yang ada diatas, agar permasalahan dapat terselesaikan

dengan baik maka usulan pemecahan masalahnya adalah sebagai berikut:

1. Membuat sistem informasi pembayaran administrasi menggunakan sistem yang

sudah terkomputerisasi. Diharapkan perancangan sistem komputerisasi yang

lebih bermanfaat dan efekif bagi yayasan didalam penyusunan dan

mengevaluasi setiap kegiatan yang ada dalam hal pembayaran administrasi

sekolah.

2. Pembuatan laporan-laporan yang nantinya dapat langsung dicetak dari

komputer. Laporan yang dihasilkan pun lebih akurat dan tepat waktu serta

dapat dengan mudah diaksesnya.

3.3 Analisa Kebutuhan Software

Adapun kebutuhan software yang digunakan dalam perancangan web ini

adalah XAMPP merupakan web server yang didalamnya sudah tersedia database

server MySQL dan Java NetBeans. XAMPP merupakan software yang mudah

digunakan dan mendukung instalasi di windows ataupun Linux, keuntungan

lainnya adalah kita bisa mengatur web server yang akan kita gunakan.

Page 12: BAB III PEMBAHASAN - Repository BSI

31

3.3.1 Analisa Kebutuhan

Bagian bendahara dapat masuk ke sistem informasi pembayaran

administrasi. Didalam sistem informasi pembayaran administrasi, Bendahara

dapat mengakses semua menu dalam sistem. Kepala tata usaha dan yayasan

hanya dapat mengakses data laporannya saja.

A. Halaman Admin

A.1 Admin Login

A.2 Admin Mengelola Data Tingkat

A.3 Admin Mengelola Data Tahun Ajaran

A.4 Admin Mengelola Data Kelas

A.5 Admin Mengelola Data Ruang

A.6 Admin Mengelola Data Jenis Pembayaran Lain

A.7 Admin Mengelola Data Siswa

A.8 Admin Mengelola Data Pengguana

A.9 Admin Mengelola Transaksi Pembayaran

A.10 Admin Mengelola Laporan Data Siswa

A.11 Admin Mengelola Laporan Adminstrasi

A.12 Admin Mengelola Laporan Tunggakan SPP

A.13 Admin Mengelola Laporan Tunggakan Uang Gedung

A.14 Admin Logout

B. Halaman Yayasan

B.1 Yayasan Login

B.2 Admin Mengelola Laporan Data Siswa

B.3 Admin Mengelola Laporan Adminstrasi

Page 13: BAB III PEMBAHASAN - Repository BSI

32

B.4 Admin Mengelola Laporan Tunggakan SPP

B.5 Admin Mengelola Laporan Tunggakan Uang Gedung

B.6 Admin Logout

3.3.2 Use Case Diagram

A. Halaman Admin

Gambar III.3. Use Case Diagram Halaman Admin

Tabel III.1

Tabel Deskripsi Halaman Admin

Use Case Narative

Tujuan : Melakukan Login dan masuk kedalam Aplikasi

Adminstrasi Sekolah

Deskripsi : Sistem akan memungkinkan aktor untuk mengakses

Aplikasi Adminstrasi Sekolah

Skenario Utama

Aktor : Admin

Kondisi Awal : Aktor Membuka Aplikasi Administrasi Sekolah

Aksi Aktor Reaksi Sistem

1. Aktor melakukan login

2. Aktor memilih tombol Batal

3. Aktor memilih tombol Data

Tingkat

4. Aktor memilih tombol Data

Sistem akan menampilakan textbox untuk mengisi nama

pengguna dan password.

Sistem akan membatalkan proses dan keluar dari sistem.

Sistem akan menampilkan halaman data tingkat.

Sistem akan menampilkan halaman data tahun ajaran.

Page 14: BAB III PEMBAHASAN - Repository BSI

33

Tahun Ajaran

5. Aktor memilih tombol Data

Kelas

6. Aktor memilih tombol Data

Ruang

7. Aktor memilih tombol Data

Jenis Bayar

8. Aktor memilih tombol Data

Siswa

9. Aktor memilih tombol Data

pengguna

10. Aktor memilih tombol

Transaksi

11. Aktor memilih tombol

Laporan Data Siswa

12. Aktor memilih tombol

Laporan Transaksi

13. Aktor memilih tombol

Laporan Tunggakan Uang

Gedung

14. Aktor memilih tombol

Laporan Tunggakan SPP

15. Aktor memilih tombol

Logout

Sistem akan menampilkan halaman data kelas.

Sistem akan menampilkan halaman data ruang.

Sistem akan menampilkan halaman data jenis bayar.

Sistem akan menampilkan halaman data siswa.

Sistem akan menampilkan halaman data pengguna.

Sistem akan menampilkan halaman transaksi.

Sistem akan menampilkan halaman laporan data siswa.

Sistem akan menampilkan halaman laporan Transaksi.

Sistem akan menampilkan halaman laporan tunggakan

uang gedung.

Sistem akan menampilkan halaman laporan tunggakan

uang gedung.

Sistem akan keluar dari sistem administrasi sekolah.

Kondisi Akhir Jika perintah sesuai maka sistem akan menampilakan

seperti yang diinginkan oleh aktor.

B. Halaman Yayasan

Gambar III.4. Use Case Diagram Halaman Yayasan

Page 15: BAB III PEMBAHASAN - Repository BSI

34

Tabel III.2

Tabel Deskripsi Halaman Yayasan

Use Case Narative

Tujuan : Melakukan Login dan masuk kedalam Aplikasi

Adminstrasi Sekolah

Deskripsi : Sistem akan memungkinkan aktor untuk mengakses

Aplikasi Adminstrasi Sekolah

Skenario Utama

Aktor : Yayasan

Kondisi Awal : Aktor Membuka Aplikasi Administrasi Sekolah

Aksi Aktor Reaksi Sistem

1. Aktor melakukan login

2. Aktor memilih tombol Batal

3. Aktor memilih tombol

Laporan Data Siswa

4. Aktor memilih tombol

Laporan Transaksi

5. Aktor memilih tombol

Laporan Tunggakan Uang

Gedung

6. Aktor memilih tombol

Laporan Tunggakan SPP

7. Aktor memilih tombol

Logout

Sistem akan menampilakan textbox untuk mengisi nama

pengguna dan password.

Sistem akan membatalkan proses dan keluar dari sistem.

Sistem akan menampilkan halaman laporan data siswa.

Sistem akan menampilkan halaman laporan Transaksi.

Sistem akan menampilkan halaman laporan tunggakan

uang gedung.

Sistem akan menampilkan halaman laporan tunggakan

uang SPP.

Sistem akan keluar dari sistem administrasi sekolah.

Kondisi Akhir Jika perintah sesuai maka sistem akan menampilakan

seperti yang diinginkan oleh aktor.

Page 16: BAB III PEMBAHASAN - Repository BSI

35

3.3.3 Activity Diagram

1. Activity Diagram Menu Log In

Gambar III.5. Activity Diagram Log In

Page 17: BAB III PEMBAHASAN - Repository BSI

36

2. Activity Diagram Menu Data Tingkat

Gambar III.6. Activity Diagram Menu Data Tingkat

Page 18: BAB III PEMBAHASAN - Repository BSI

37

3. Activity Diagram Menu Data Tahun Ajaran

Gambar III.7. Activity Diagram Menu Data Tahun Ajaran

Page 19: BAB III PEMBAHASAN - Repository BSI

38

4. Activity Diagram Menu Data Kelas

Gambar III.8. Activity Diagram Menu Data Kelas

Page 20: BAB III PEMBAHASAN - Repository BSI

39

5. Activity Diagram Menu Data Ruang

Gambar III.9. Activity Diagram Menu Data Ruang

Page 21: BAB III PEMBAHASAN - Repository BSI

40

6. Activity Diagram Menu Data Jenis Pembayaran

Gambar III.10. Activity Diagram Data Jenis Pembayaran

Page 22: BAB III PEMBAHASAN - Repository BSI

41

7. Activity Diagram Menu Data Siswa

Gambar III.11. Activity Diagram Menu Data Siswa

Page 23: BAB III PEMBAHASAN - Repository BSI

42

8. Activity Diagram Menu Data Pengguna

Gambar III.12. Activity Diagram Menu Data Pengguna

Page 24: BAB III PEMBAHASAN - Repository BSI

43

9. Activity Diagram Transaksi Pembayaran

Gambar III.13. Activity Diagram Transaksi

Page 25: BAB III PEMBAHASAN - Repository BSI

44

10. Activity Diagram Laporan

Gambar III.14. Activity Diagram Laporan

Page 26: BAB III PEMBAHASAN - Repository BSI

45

3.4 Desain

3.4.1 Entity Relationship Diagram (ERD)

Jenis

Pembayaran

Jenis

Pembayaran

id_jpid_jp

nm_jpnm_jp Jml_jpJml_jp

Ket_jpKet_jp

Detail bayarDetail bayar

id_thnid_thn

Nominal_sppNominal_sppid_jpid_jp

kd_bsppkd_bspp

Tgl_bsppTgl_bspp

bulanbulan

Kode_bayarKode_bayar

Id_sppId_spp id_siswaid_siswa

pembayaranpembayaran

Id_byrId_byr

Kode_bayarKode_bayar

Tgl_bayarTgl_bayar

kembaliankembalian

Jml_bayarJml_bayar

sub_totalsub_total

SiswaSiswa

Id_siswaId_siswa

nisnis

Nm_siswaNm_siswa

jenkeljenkel

Tgl_lahirTgl_lahir

Tmp_lahirTmp_lahir

Ket_siswaKet_siswa

tlptlp

alamatalamat

Id_tingkatId_tingkat

Id_kelasId_kelas

Id_ruangId_ruang

Id_tahunId_tahun

TingkatTingkat

Id_tingkatId_tingkat

nm_tingkatnm_tingkat

ket_tingkatket_tingkat

KelasKelas

Id_kelasId_kelas

nm_kelasnm_kelas

ket_kelasket_kelas

RuangRuang

nm_ruangnm_ruang

Id_ruangId_ruang Ket_ruangKet_ruang

Tahun

Ajaran

Tahun

Ajaran

nm_thnnm_thn

Id_thnId_thn Ket_thnKet_thn

memilihmemilih

memilihmemilih

BayarBayar

memilikimemiliki

memilikimemiliki

memilikimemiliki

Memiliki Memiliki

id_ruangid_ruang

id_siswaid_siswa

Id_byrId_byr

Id_siswaId_siswa

id_jpid_jp Id_byrId_byr

Id_sppId_spp Id_byrId_byr

Id_kelasId_kelas

Id_siswaId_siswa

Id_tingkatId_tingkat

Id_siswaId_siswa

Id_thnId_thn

Id_siswaId_siswa

Gambar III.15. Entity Relationship Diagram (ERD)

Page 27: BAB III PEMBAHASAN - Repository BSI

46

3.4.2 Logical Record Structure (LRS)

Gambar III.16. Logical Record Structure (LRS)

3.4.3 Spesifikasi File

1. Spesifikasi File Data User

Nama Database : adm_sekolah

Nama File : User

Tipe File : Master file

Akses File : Random

Panjang Record : 177 Karakter

Page 28: BAB III PEMBAHASAN - Repository BSI

47

Field Key : id_user

Tabel III.3.

Spesifikasi File Data User

No Elemen Data Akronim Type Panjang Keterangan

1 Id user id_user Int 11 Primary Key

2 Kode program kode_program Varchar 11

3 Nama lengkap nama_lengkap Varchar 100

4 Username Username Varchar 22

5 Password Password Varchar 22

6 Level Level Varchar 11

2. Spesifikasi File Detail Bayar

Nama Database : adm_sekolah

Nama File : bu_spp

Tipe File : Master File

Akses File : Random

Panjang Record : 86 Karakter

Field Key : id_spp

Tabel III.4.

Spesifikasi File Detail Bayar

No Elemen Data Akronim Type Panjang Keterangan

1 Id spp id_spp Int 7 Primary Key

2 Kode bayar kode_bayar Varchar 20

3 Kode bayar spp kd_bspp Varchar 30

4 Tanggal bayar tgl_bspp Date

5 Id siswa id_siswa Int 3

6 Id jenis pembayaran id_jp Int 3

7 Id tahun id_thn Int 3

8 Bulan Bulan Varchar 20

9 Nominal nominal_spp Double

3. Spesifikasi File Data SPP

Nama Database : adm_sekolah

Nama File : data_spp

Page 29: BAB III PEMBAHASAN - Repository BSI

48

Tipe File : Master File

Akses File : Random

Panjang Record : 65 Karakter

Field Key : id_data

Tabel III.5.

Spesifikasi File Data SPP

No Elemen Data Akronim Type Panjang Keterangan

1 Id data id_data Int 7 Primary Key

2 Nis Nis Varchar 30

3 Id tahun id_thn Int 3

4 Bulan Bulan Varcher 20

5 Status spp stt_spp Varcher 5

4. Spesifikasi File Data Jenis Pembayaran

Nama Database : adm_sekolah

Nama File : m_jp

Tipe File : Master File

Akses File : Random

Panjang Record : 37 Karakter

Field Key : id_jp

Tabel III.6.

Spesifikasi File Data Jenis Pembayaran

No Elemen Data Akronim Type Panjang Keterangan

1 Id jenis pembayaran id_jp Int 7 Primary Key

2 Nama jenis bayar nm_jp Varchar 30

3 Jumlah bayar Jml_jp Double

4 Keterangan ket_jp Text

5. Spesifikasi File Data Jenis Kelas

Nama Database : adm_sekolah

Nama File : m_kelas

Page 30: BAB III PEMBAHASAN - Repository BSI

49

Tipe File : Master File

Akses File : Random

Panjang Record : 17 Karakter

Field Key : id_jp

Tabel III.7.

Spesifikasi File Data Jenis Kelas

No Elemen Data Akronim Type Panjang Keterangan

1 Id kelas id_kelas Int 7 Primary Key

2 Nama kelas nm_kelas Varchar 10

3 Keterangan kelas Ket_kelas Text

6. Spesifikasi File Data Ruang

Nama Database : adm_sekolah

Nama File : m_ruang

Tipe File : Master File

Akses File : Random

Panjang Record : 17 Karakter

Field Key : id_ruang

Tabel III.8.

Spesifikasi File Data Ruang

No Elemen Data Akronim Type Panjang Keterangan

1 Id ruang id_ruang Int 7 Primary Key

2 Nama ruang nm_ruang Varchar 10

3 Keterangan ruang ket_ruang Text

7. Spesifikasi File Data Siswa

Nama Database : adm_sekolah

Nama File : m_siswa

Tipe File : Master File

Akses File : Random

Page 31: BAB III PEMBAHASAN - Repository BSI

50

Panjang Record : 113 Karakter

Field Key : id_siswa

Tabel III.9.

Spesifikasi File Data Siswa

No Elemen Data Akronim Type Panjang Keterangan

1 Id siswa id_siswa Int 7 Primary Key

2 Nis Nis Varchar 30

3 Nama siswa nm_siswa Varchar 30

4 Tempat lahir tmp_lahir Varchar 20

5 Tanggal lahir tgl_lahir Date

6 Jenis kelamin Jenkel Varchar 2

7 Id tingkat id_tingkat Varchar 3

8 Id kelas id_kelas Varchar 3

9 Id ruang id_ruang Varchar 3

10 Id tahun id_tahun Varchar 3

11 Alamat Alamat Text

12 Telepon Tlp Varcharv 12

13 Keterangan siswa ket_siswa Text

8. Spesifikasi File Data Tahun Ajaran

Nama Database : adm_sekolah

Nama File : m_thn

Tipe File : Master File

Akses File : Random

Panjang Record : 17 Karakter

Field Key : id_thn

Tabel III.10.

Spesifikasi File Data Tahun Ajaran

No Elemen Data Akronim Type Panjang Keterangan

1 Id tahun id_ruang Int 7 Primary Key

2 Tahun nm_thn Varchar 10

3 Keterangan tahun ket_thn Text

Page 32: BAB III PEMBAHASAN - Repository BSI

51

9. Spesifikasi File Data Tingkat

Nama Database : adm_sekolah

Nama File : m_tingkat

Tipe File : Master File

Akses File : Random

Panjang Record : 17 Karakter

Field Key : id_tingkat

Tabel III.11.

Spesifikasi File Data Tingkat

No Elemen Data Akronim Type Panjang Keterangan

1 Id tingkat id_tingkat Int 7 Primary Key

2 Nama tingkat nm_tingkat Varchar 10

3 Keterangan tingkat ket_ruang Text

10. Spesifikasi File Data Pembayaran

Nama Database : adm_sekolah

Nama File : Pembayaran

Tipe File : Transaksi

Akses File : Random

Panjang Record : 27 Karakter

Field Key : id_byr

Tabel III.12.

Spesifikasi File Data Pembayaran

No Elemen Data Akronim Type Panjang Keterangan

1 Id bayar id_byr Int 7 Primary Key

2 Kode baya kode_bayar Varchar 20

3 Tanggal bayar tgl_byr Date

4 Sub total sub_total Double

5 Jumlah bayar jml_bayar Double

6 Kembalian Kembalian Double

Page 33: BAB III PEMBAHASAN - Repository BSI

52

3.4.4 Sequence Diagram

Gambar III.17. Sequence Diagram Transaksi

Page 34: BAB III PEMBAHASAN - Repository BSI

53

3.4.5 Deployment Diagram

Gambar III.18. Deployment Diagram

3.4.6 User Interface

1. Form Login

Form login merupakan tampilan awal, ketika pertama kali program dijalankan.

Sebelum masuk form utama, user atau pengguna dihuruskan untuk login

dengan mengisikan username dan password

Gambar III.19. User Interface Log In

Page 35: BAB III PEMBAHASAN - Repository BSI

54

2. Tampilan Menu Utama

Pada form utama terdapat beberapa menu yaitu tab file terdapat data tingkat,

data tahun ajaran, data kelas, data ruang, data jenis pembayaran data siswa dan

data pengguna. Pada tab transaksi terdapat transaksi pembayaran sekolah.

Pada tab laporan terdapat laporan data siswa, laporan transaksi, laporan

tunggakan uang gedung, laporan tunggakan SPP

Gambar III.20. User Interface Menu Utama

Page 36: BAB III PEMBAHASAN - Repository BSI

55

3. Form Data Tingkatan

Form ini digunakan untuk menginput data tingkatan sekolah.

Gambar III.21. User Interface Master Tingkat

4. Form Data Tahun Ajaran

Form ini digunakan untuk menginput data tahun ajaran.

Gambar III.22. User Interface Master Tahun Ajaran

Page 37: BAB III PEMBAHASAN - Repository BSI

56

5. Form Data Kelas

Form ini digunakan untuk menginput kelas.

Gambar III.23. User Interface Master Kela

6. Form Data Ruang

Form ini digunakan untuk menginput data ruang siswa.

Gambar III.24. User Interface Master Ruan

Page 38: BAB III PEMBAHASAN - Repository BSI

57

7. Form Data Jenis Bayar

Pada form dapat digunakan untuk menginput jenis pembayaran.

Gambar III.25. User Interface Data Jenis Pembayaran

8. Form Data Siswa

Form ini digunakan untuk menginputkan data siswa.

Gambar III.26. User Interface Data Siswa

Page 39: BAB III PEMBAHASAN - Repository BSI

58

9. Form users

Pada form ini menampilakan menu kelola data user yang bertujuan untuk

keamanan pada sistem agar sistem tidak digunakan oleh siapa saja.

Gambar III.27. User Interface User

10. Form Pembayaran

Form ini digunakan untuk melakukan transaksi pembayaran administrasi

sekolah.

Gambar III.28. User Interface Pembayaran

Page 40: BAB III PEMBAHASAN - Repository BSI

59

11. Tampilan Kwitansi Pembayaran

Form ini menampilkan form kwitansi pembayaran yang bertujuan untuk

membuktikan bahwa siswa telah melakukan pembayaran

Gambar III.29. User Interface Kwitansi

12. Tampilan Laporan Data Siswa

Form ini digunakan untuk melihat laporan data siswa yang ada di Yayasan

Nurussalam Al – Khoir Sukoharjo

Gambar III.30. User Interface Laporan Data Siswa

Page 41: BAB III PEMBAHASAN - Repository BSI

60

13. Tampilan Laporan Pembayaran Siswa

Form ini digunakan untuk melihat laporan pembayaran siswa yang ada di

Yayasan Nurussalam Al – Khoir Sukoharjo

Gambar III.31. User Interface Laporan Pembayaran Siswa

14. Tampilan Laporan Siswa yang Belum Membayar Uang Gedung

Form ini digunakan untuk melihat Siswa yang memiliki tunggakan uang

gedung yang ada di Yayasan Nurussalam Al – Khoir Sukoharjo

Gambar III.32. User Interface Laporan Tunggakan Uang Gedung

Page 42: BAB III PEMBAHASAN - Repository BSI

61

15. Tampilan Laporan Tunggakan SPP Siswa

Form ini digunakan untuk melihat Siswa yang memiliki tunggakan uang

gedung yang ada di Yayasan Nurussalam Al – Khoir Sukoharjo

Gambar III.33. User Interface Laporan Tunggakan SPP

3.5 Implementasi

3.5.1 Code Generation

package bib.Tampilan; import bib.KonekDB.koneksi; import bib.Class.jTable_RenderingKanan; import bib.Class.jTable_RenderingTengah; import bib.Class.lebartabel; import java.awt.Color; import java.awt.Dimension; import static java.awt.Font.BOLD; import java.awt.Toolkit; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.text.DateFormat; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Date; import javax.swing.JOptionPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; import javax.swing.table.TableCellRenderer; public final class USpp_Input extends javax.swing.JDialog { ResultSet rsdata = null; DefaultTableModel tabModel; DefaultTableModel tabModel2; public class Tanggal {

Page 43: BAB III PEMBAHASAN - Repository BSI

62

private String getTahun() { DateFormat dateFormat = new SimpleDateFormat("yyyy"); java.util.Date date = new java.util.Date(); return dateFormat.format(date); } private String getTanggal() { DateFormat dateFormat = new SimpleDateFormat("yy/MM/dd"); java.util.Date date = new java.util.Date(); return dateFormat.format(date); } private String getWaktu() { DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); java.util.Date date = new java.util.Date(); return dateFormat.format(date); } private String getHari() { DateFormat dateFormat = new SimpleDateFormat("EEEE"); java.util.Date date = new java.util.Date(); return dateFormat.format(date); } } } } public USpp b1; public TableCellRenderer kanan = new jTable_RenderingKanan(); public TableCellRenderer tengah = new jTable_RenderingTengah(); public String nis, nm_siswa, id_siswa; public void dataTerpilih2() { // Faktur_Show_Samsat jpt1 = new Faktur_Show_Samsat(null, true); jTextField2.setText(id_siswa); jTextField3.setText(nis); jTextField5.setText(nm_siswa); jComboBox1.requestFocus(); } public USpp_Input(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); makeCenter(); ComboJenisBayar(); ComboTahun(); CekTmpKode(); } void TampilTabelDetail() { try { // set Judul Tabel Connection c = koneksi.getkoneksi(); Statement stm; stm = c.createStatement(); Object[] judul_kolom = { "Kode Bayar", "Tgl Bayar", "Jenis Bayar", "NIS", "Nama Siswa", "Tahun", "Bulan", "Nominal" }; tabModel2 = new DefaultTableModel(null, judul_kolom); jTable2.setModel(tabModel2); JTableHeader tabelHeader = jTable2.getTableHeader(); tabelHeader.setBackground(Color.white); tabelHeader.setForeground(Color.BLACK); tabelHeader.setFont(new java.awt.Font("Arial", BOLD, 12)); //Set Isi Tabel tabModel2.getDataVector().removeAllElements(); rsdata = stm.executeQuery("SELECT * FROM bu_spp " + "INNER JOIN m_siswa ON bu_spp.id_siswa = m_siswa.id_siswa " + "INNER JOIN m_thn ON bu_spp.id_thn = m_thn.id_thn " + "INNER JOIN m_jp ON bu_spp.id_jp = m_jp.id_jp " + "WHERE bu_spp.kode_bayar='" + jTextField7.getText() + "'"); while (rsdata.next()) { Object[] data = { rsdata.getString("kd_bspp"),//1 rsdata.getString("tgl_bspp"),//1

Page 44: BAB III PEMBAHASAN - Repository BSI

63

rsdata.getString("nm_jp"),//1 rsdata.getString("nis"),//2 rsdata.getString("nm_siswa"),//3 rsdata.getString("nm_thn"),//4 rsdata.getString("bulan"),//5 rsdata.getString("nominal_spp"),};//7 tabModel2.addRow(data); // set lebar kolom this.jTable2.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); lebartabel tca = new lebartabel(jTable2); tca.adjustColumns(); jTable2.getColumnModel().getColumn(0).setCellRenderer(tengah); } } catch (Exception e) { JOptionPane.showMessageDialog(null, "Error." + e); } } void ComboJenisBayar() { try { Connection c = koneksi.getkoneksi(); String query = "SELECT nm_jp FROM m_jp ORDER BY id_jp ASC"; PreparedStatement prestat = c.prepareStatement(query); ResultSet rs = prestat.executeQuery(); while (rs.next()) { jComboBox3.addItem(rs.getString("nm_jp")); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, "TIDAK DAPAT MENAMPILKAN LIST" + ex, "ERROR", JOptionPane.ERROR_MESSAGE); } } void ComboTahun() { try { Connection c = koneksi.getkoneksi(); String query = "SELECT nm_thn FROM m_thn ORDER BY nm_thn ASC"; PreparedStatement prestat = c.prepareStatement(query); ResultSet rs = prestat.executeQuery(); while (rs.next()) { jComboBox1.addItem(rs.getString("nm_thn")); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, "TIDAK DAPAT MENAMPILKAN LIST" + ex, "ERROR", JOptionPane.ERROR_MESSAGE); } } void TampilTabel() { try { // set Judul Tabel Connection c = koneksi.getkoneksi(); Statement stm; stm = c.createStatement(); Object[] judul_kolom = { "Tahun", "Bulan" }; tabModel = new DefaultTableModel(null, judul_kolom); jTable1.setModel(tabModel); JTableHeader tabelHeader = jTable1.getTableHeader(); tabelHeader.setBackground(Color.white); tabelHeader.setForeground(Color.BLACK); tabelHeader.setFont(new java.awt.Font("Arial", BOLD, 12)); //Set Isi Tabel tabModel.getDataVector().removeAllElements(); rsdata = stm.executeQuery("SELECT * FROM data_spp " + "INNER JOIN m_thn ON data_spp.id_thn = m_thn.id_thn " + "WHERE data_spp.nis='" + jTextField3.getText() + "'AND data_spp.stt_spp='" + "belum" + "'AND data_spp.id_thn='" + jTextField4.getText() + "' " + "ORDER BY data_spp.id_data ASC "); while (rsdata.next()) { Object[] data = { rsdata.getString("nm_thn"), rsdata.getString("bln"),};//10 tabModel.addRow(data); // set lebar kolom this.jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); lebartabel tca = new lebartabel(jTable1); tca.adjustColumns(); } } catch (Exception e) {

Page 45: BAB III PEMBAHASAN - Repository BSI

64

JOptionPane.showMessageDialog(null, "Error." + e); } } void CekTmpKode() { try { Connection c = koneksi.getkoneksi(); Statement stm1 = c.createStatement(); Statement stm2 = c.createStatement(); ResultSet rsdata1 = stm1.executeQuery("SELECT * FROM tmp_kode "); if (rsdata1.next()) { jTextField7.setText(rsdata1.getString("kode")); stm2.executeUpdate("DELETE FROM tmp_kode "); TampilDataForm(); TampilTabel(); TampilTabelDetail(); SubTotal(); // Proses.setText("EDIT"); } else { CekKode(); CekKode2(); TampilTabel(); TampilTabelDetail(); SubTotal(); Hapus.setEnabled(false); Date date = new Date(); jDateChooser2.setDate(date); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Error1." + ex); } } void TampilDataForm() { try { Connection c = koneksi.getkoneksi(); Statement stm1 = c.createStatement(); ResultSet rsdata1 = stm1.executeQuery("SELECT * FROM pembayaran " + "WHERE kode_bayar='" + jTextField7.getText() + "'"); if (rsdata1.next()) { jTextField13.setText(rsdata1.getString("sub_total")); jTextField11.setText(rsdata1.getString("jml_bayar")); jTextField12.setText(rsdata1.getString("kembalian")); } else { } } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Error1." + ex); } } void TampilDataFormKlikTabel() { String kdd = (tabModel2.getValueAt(jTable2.getSelectedRow(), 0) + ""); try { Connection c = koneksi.getkoneksi(); Statement stm1 = c.createStatement(); ResultSet rsdata1 = stm1.executeQuery("SELECT * FROM bu_spp " + "INNER JOIN m_siswa ON bu_spp.id_siswa = m_siswa.id_siswa " + "INNER JOIN m_jp ON bu_spp.id_jp = m_jp.id_jp " + "INNER JOIN m_thn ON bu_spp.id_thn = m_thn.id_thn " + "WHERE bu_spp.kd_bspp='" + kdd + "'"); if (rsdata1.next()) { jTextField1.setText(rsdata1.getString("kd_bspp")); jTextField2.setText(rsdata1.getString("id_siswa")); jTextField4.setText(rsdata1.getString("id_thn")); jTextField6.setText(rsdata1.getString("id_jp")); jDateChooser2.setDate(rsdata1.getDate("tgl_bspp")); jTextField3.setText(rsdata1.getString("nis")); jTextField5.setText(rsdata1.getString("nm_siswa")); jComboBox3.setSelectedItem(rsdata1.getString("nm_jp")); jComboBox1.setSelectedItem(rsdata1.getString("nm_thn")); jComboBox2.setSelectedItem(rsdata1.getString("bulan")); jTextField10.setText(rsdata1.getString("nominal_spp")); // jTextArea1.setText(rsdata1.getString("ket_spp")); } else { }

Page 46: BAB III PEMBAHASAN - Repository BSI

65

} catch (Exception ex) { JOptionPane.showMessageDialog(null, "Error1." + ex); } } void RubahJadiId() { try { Connection c = koneksi.getkoneksi(); Statement stm1 = c.createStatement(); Statement stm2 = c.createStatement(); Statement stm3 = c.createStatement(); ResultSet rsdata1 = stm1.executeQuery("SELECT * FROM m_siswa WHERE nis='" + jTextField3.getText() + "'"); if (rsdata1.next()) { jTextField2.setText(rsdata1.getString("id_siswa")); ResultSet rsdata2 = stm2.executeQuery("SELECT * FROM m_thn WHERE nm_thn='" + jComboBox1.getSelectedItem() + "'"); if (rsdata2.next()) { jTextField4.setText(rsdata2.getString("id_thn")); ResultSet rsdata3 = stm3.executeQuery("SELECT * FROM m_jp WHERE nm_jp='" + jComboBox3.getSelectedItem() + "'"); if (rsdata3.next()) { jTextField6.setText(rsdata3.getString("id_jp")); simpan_edit(); } } } } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Error." + ex); } } void simpan_edit() { if (Proses.getText().equals("SIMPAN DETAIL")) { Simpan(); } else { Edit(); } } void KosongkanForm() { jTextField1.setText(""); //jTextField3.setText(""); //jTextField5.setText(""); jTextField10.setText("0"); // jTextArea1.setText(""); jComboBox3.setSelectedItem("Pilih"); jComboBox1.setSelectedItem("Pilih"); jComboBox2.setSelectedItem("Pilih"); jTextField2.setText(""); jTextField6.setText(""); jTextField4.setText(""); } void Simpan() { try { String tampilan = "yyyy-MM-dd"; SimpleDateFormat fm = new SimpleDateFormat(tampilan); String tgl_bspp = String.valueOf(fm.format(jDateChooser2.getDate())); Connection c = koneksi.getkoneksi(); Statement stm = c.createStatement(); Statement stm2 = c.createStatement(); stm.executeUpdate("INSERT INTO bu_spp SET kode_bayar='" + jTextField7.getText() + "'," + "kd_bspp='" + jTextField1.getText() + "'," + "tgl_bspp='" + tgl_bspp + "'," + "id_siswa='" + jTextField2.getText() + "'," + "id_jp='" + jTextField6.getText() + "'," + "id_thn='" + jTextField4.getText() + "'," + "bulan='" + jComboBox2.getSelectedItem() + "'," + "nominal_spp='" + jTextField10.getText() + "'," + "ket_spp='" + "" + "'"); if (jTextField6.getText().equals("1")) { //UANG GEDUNG stm2.executeUpdate("UPDATE m_siswa SET stt_ug='" + "lunas" + "'WHERE id_siswa='" + jTextField2.getText() + "'"); } else if (jTextField6.getText().equals("2")) { //SPP

Page 47: BAB III PEMBAHASAN - Repository BSI

66

stm2.executeUpdate("UPDATE data_spp SET stt_spp='" + "lunas" + "'WHERE nis='" + jTextField3.getText() + "'AND id_thn='" + jTextField4.getText() + "'AND bln='" + jComboBox2.getSelectedItem() + "'"); } } TampilTabelDetail(); SubTotal(); KosongkanForm(); CekKode(); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Error." + e); } } void Edit() { try { String tampilan = "yyyy-MM-dd"; SimpleDateFormat fm = new SimpleDateFormat(tampilan); String tgl_bspp = String.valueOf(fm.format(jDateChooser2.getDate())); Connection c = koneksi.getkoneksi(); Statement stm = c.createStatement(); stm.executeUpdate("UPDATE bu_spp SET nominal_spp='" + jTextField10.getText() + "'WHERE kd_bspp='" + jTextField1.getText() + "'"); TampilTabelDetail(); SubTotal(); KosongkanForm(); CekKode(); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Error." + e); } } void HitungBayar() { try { String dpp = jTextField11.getText(); String ppn = jTextField13.getText(); double nilai1 = Double.parseDouble(dpp); double nilai2 = Double.parseDouble(ppn); DecimalFormat df = new DecimalFormat("#.##"); this.jTextField12.setText(df.format(nilai1 - nilai2)); } catch (Exception e) { } } void SubTotal() { try { Connection c = koneksi.getkoneksi(); Statement stm2 = c.createStatement(); ResultSet rsdata2 = stm2.executeQuery("SELECT SUM(nominal_spp) as nmnl FROM bu_spp WHERE kode_bayar='" + jTextField7.getText() + "'"); if (rsdata2.next()) { jTextField13.setText(rsdata2.getString("nmnl")); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Error." + ex); } } private void ProsesActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (jTextField1.getText().equals("")) { JOptionPane.showMessageDialog(null, "Anda belum memasukan Kode"); jTextField1.requestFocus(); } else if (jDateChooser2.getDate() == null) { JOptionPane.showMessageDialog(null, "Anda belum memasukan tanggal Bayar"); jDateChooser2.requestFocus(); } else if (jTextField3.getText().equals("")) { JOptionPane.showMessageDialog(null, "Anda belum memasukan NIS"); jTextField3.requestFocus(); } else if (jComboBox1.getSelectedItem().equals("Pilih")) { JOptionPane.showMessageDialog(null, "Anda belum memilih tahun"); jComboBox1.requestFocus(); } else if (jComboBox2.getSelectedItem().equals("Pilih")) { JOptionPane.showMessageDialog(null, "Anda belum memilih bulan"); jComboBox2.requestFocus();

Page 48: BAB III PEMBAHASAN - Repository BSI

67

} else if (jComboBox3.getSelectedItem().equals("Pilih")) { JOptionPane.showMessageDialog(null, "Anda belum memilih Jenis bayar"); jComboBox3.requestFocus(); } else { int ok = JOptionPane.showConfirmDialog(null, "Proses ?", "Konfirmasi", JOptionPane.YES_NO_OPTION); if (ok == 0) { RubahJadiId(); } else { } } } } private void HapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: int ok = JOptionPane.showConfirmDialog(null, "Hapus Data ?", "Konfirmasi", JOptionPane.YES_NO_OPTION); if (ok == 0) { HapusTransaksi(); } } private void KembaliActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: b1.dataTerpilih1(); this.dispose(); } private void jTextField3KeyTyped(java.awt.event.KeyEvent evt) { // TODO add your handling code here: if (jTextField3.getText().length() == 30) { evt.consume(); } } private void jTextField1KeyTyped(java.awt.event.KeyEvent evt) { // TODO add your handling code here: if (jTextField1.getText().length() == 30) { evt.consume(); } } private void jTextField5KeyTyped(java.awt.event.KeyEvent evt) { // TODO add your handling code here: if (jTextField5.getText().length() == 30) { evt.consume(); } } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: USpp_Input_ListSiswa satu = new USpp_Input_ListSiswa(null, true); satu.a2 = this; satu.setVisible(true); } private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (jTextField6.getText().equals("2")) { try { Connection c = koneksi.getkoneksi(); Statement stm2 = c.createStatement(); ResultSet rsdata2 = stm2.executeQuery("SELECT * FROM m_thn WHERE nm_thn='" + jComboBox1.getSelectedItem() + "'"); if (rsdata2.next()) { jTextField4.setText(rsdata2.getString("id_thn")); TampilTabel(); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Error." + ex); } } else { try { Connection c = koneksi.getkoneksi(); Statement stm2 = c.createStatement(); ResultSet rsdata2 = stm2.executeQuery("SELECT * FROM m_thn WHERE nm_thn='" + jComboBox1.getSelectedItem() + "'"); if (rsdata2.next()) { jTextField4.setText(rsdata2.getString("id_thn")); //TampilTabel();

Page 49: BAB III PEMBAHASAN - Repository BSI

68

} } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Error." + ex); } } } private void jComboBox3ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try { Connection c = koneksi.getkoneksi(); Statement stm2 = c.createStatement(); ResultSet rsdata2 = stm2.executeQuery("SELECT * FROM m_jp WHERE nm_jp='" + jComboBox3.getSelectedItem() + "'"); if (rsdata2.next()) { jTextField6.setText(rsdata2.getString("id_jp")); jTextField10.setText(rsdata2.getString("jml_jp")); jTextField11.requestFocus(); if (jTextField6.getText().equals("2")) { jComboBox2.setEnabled(true); } else { jComboBox2.setEnabled(false); } } } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Error." + ex); } } private void jTextField11KeyReleased(java.awt.event.KeyEvent evt) { // TODO add your handling code here: HitungBayar(); } private void TrxSelesaiActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try { String tampilan = "yyyy-MM-dd"; SimpleDateFormat fm = new SimpleDateFormat(tampilan); String tgl_bspp = String.valueOf(fm.format(jDateChooser2.getDate())); Connection c = koneksi.getkoneksi(); Statement stm = c.createStatement(); Statement stm2 = c.createStatement(); Statement stm3 = c.createStatement(); ResultSet rsdata3 = stm3.executeQuery("SELECT * FROM pembayaran WHERE kode_bayar='" + jTextField7.getText() + "' "); if (rsdata3.next()) { stm2.executeUpdate("UPDATE pembayaran SET tgl_bayar='" + tgl_bspp + "'," + "sub_total='" + jTextField13.getText() + "'," + "jml_bayar='" + jTextField11.getText() + "'," + "kembalian='" + jTextField12.getText() + "'WHERE kode_bayar='" + jTextField7.getText() + "'"); } else { stm.executeUpdate("INSERT INTO pembayaran SET kode_bayar='" + jTextField7.getText() + "'," + "tgl_bayar='" + tgl_bspp + "'," + "sub_total='" + jTextField13.getText() + "'," + "jml_bayar='" + jTextField11.getText() + "'," + "kembalian='" + jTextField12.getText() + "'"); } } catch (Exception e) { JOptionPane.showMessageDialog(null, "Error." + e); } b1.dataTerpilih1(); this.dispose(); } private void jTextField7KeyTyped(java.awt.event.KeyEvent evt) { // TODO add your handling code here: } private void Hapus1ActionPerformed(java.awt.event.ActionEvent evt) {

Page 50: BAB III PEMBAHASAN - Repository BSI

69

// TODO add your handling code here: int ok = JOptionPane.showConfirmDialog(null, "Hapus Data ?", "Konfirmasi", JOptionPane.YES_NO_OPTION); if (ok == 0) { try { Connection c = koneksi.getkoneksi(); Statement stm1 = c.createStatement(); Statement stm2 = c.createStatement(); Statement stm3 = c.createStatement(); Statement stm4 = c.createStatement(); Statement stm5 = c.createStatement(); ResultSet rsdata3 = stm3.executeQuery("SELECT * FROM m_thn WHERE nm_thn='" + jComboBox1.getSelectedItem() + "'"); if (rsdata3.next()) { jTextField4.setText(rsdata3.getString("id_thn")); ResultSet rsdata4 = stm4.executeQuery("SELECT * FROM m_siswa WHERE nis='" + jTextField3.getText() + "'"); if (rsdata4.next()) { jTextField2.setText(rsdata4.getString("id_siswa")); ResultSet rsdata5 = stm5.executeQuery("SELECT * FROM m_jp WHERE nm_jp='" + jComboBox3.getSelectedItem() + "'"); if (rsdata5.next()) { jTextField6.setText(rsdata5.getString("id_jp")); if (jTextField6.getText().equals("1")) { stm1.executeUpdate("DELETE FROM bu_spp WHERE kd_bspp='" + jTextField1.getText() + "'"); stm2.executeUpdate("UPDATE m_siswa SET stt_ug='" + "belum" + "'WHERE id_siswa='" + jTextField3.getText() + "'"); TampilTabelDetail(); SubTotal(); KosongkanForm(); CekKode();} else if (jTextField6.getText().equals("2")) { } else if (jTextField6.getText().equals("2")) { stm1.executeUpdate("DELETE FROM bu_spp WHERE kd_bspp='" + jTextField1.getText() + "'"); stm2.executeUpdate("UPDATE data_spp SET stt_spp='" + "belum" + "'WHERE nis='" + jTextField3.getText() + "'AND id_thn='" + jTextField4.getText() + "'AND bln='" + jComboBox2.getSelectedItem() + "' "); TampilTabelDetail(); SubTotal(); KosongkanForm(); CekKode(); } else { stm1.executeUpdate("DELETE FROM bu_spp WHERE kd_bspp='" + jTextField1.getText() + "'"); TampilTabelDetail(); SubTotal(); KosongkanForm(); CekKode(); } } } } } catch (Exception e) { e.printStackTrace(); } } } private void jTable2MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: TampilDataFormKlikTabel(); } public static void main(String args[]) { /* Create and display the dialog */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { USpp_Input dialog = new USpp_Input(new javax.swing.JFrame(), true); dialog.addWindowListener(new java.awt.event.WindowAdapter() { @Override public void windowClosing(java.awt.event.WindowEvent e) {

Page 51: BAB III PEMBAHASAN - Repository BSI

70

System.exit(0); } }); dialog.setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JButton Hapus; private javax.swing.JButton Hapus1; private javax.swing.JButton Kembali; private javax.swing.JButton Proses; private javax.swing.JButton TrxSelesai; private javax.swing.JButton jButton1; private javax.swing.JComboBox jComboBox1; private javax.swing.JComboBox jComboBox2; private javax.swing.JComboBox jComboBox3; private com.toedter.calendar.JDateChooser jDateChooser2; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel18; private javax.swing.JLabel jLabel19; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel20; private javax.swing.JLabel jLabel21; private javax.swing.JLabel jLabel22; private javax.swing.JLabel jLabel23; private javax.swing.JLabel jLabel24; private javax.swing.JLabel jLabel25; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel5; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane3; private javax.swing.JTable jTable1; private javax.swing.JTable jTable2; private javax.swing.JTextField jTextField1; private bib.Class.ClassMataUang jTextField10; private bib.Class.ClassMataUang jTextField11; private bib.Class.ClassMataUang jTextField12; private bib.Class.ClassMataUang jTextField13; private javax.swing.JTextField jTextField2; private javax.swing.JTextField jTextField3; private javax.swing.JTextField jTextField4; private javax.swing.JTextField jTextField5; private javax.swing.JTextField jTextField6; private javax.swing.JTextField jTextField7; // End of variables declaration void makeCenter() { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = this.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } this.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); } void CekKode() { KodeOtomatis(); jTextField1.setText("PSPP-" + jTextField1.getText() + ""); jButton1.requestFocus(); } void KodeOtomatis() { Tanggal tgl = new Tanggal(); String thn_sekarang = (tgl.getTanggal()); try { Connection c = koneksi.getkoneksi(); Statement stm = c.createStatement(); ResultSet rsdata = stm.executeQuery("SELECT * FROM bu_spp ORDER BY id_spp DESC"); if (rsdata.next()) { String id_divisi = (rsdata.getString("id_spp")); double nilai1 = Double.parseDouble(id_divisi); DecimalFormat df = new DecimalFormat("#.##");

Page 52: BAB III PEMBAHASAN - Repository BSI

71

this.jTextField1.setText(df.format(nilai1 + 1)); PaketUbahKode(); jTextField1.setText("" + thn_sekarang + "" + jTextField1.getText() + ""); String n1 = jTextField1.getText(); String hsl = n1.replace("/", ""); jTextField1.setText(hsl); } else { jTextField1.setText("1"); PaketUbahKode(); jTextField1.setText("" + thn_sekarang + "" + jTextField1.getText() + ""); String n1 = jTextField1.getText(); String hsl = n1.replace("/", ""); jTextField1.setText(hsl); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, "QUERY ERROR" + ex, "ERROR", JOptionPane.ERROR_MESSAGE); } } void SimpanUbahKode() { try { Connection c = koneksi.getkoneksi(); Statement stm = c.createStatement(); stm.executeUpdate("INSERT INTO ubah_kode SET kode='" + jTextField1.getText() + "'"); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Error." + e); } } void TampilUbahKode() { try { Connection c = koneksi.getkoneksi(); Statement stm = c.createStatement(); Statement stm1 = c.createStatement(); ResultSet rsdata = stm.executeQuery("SELECT * FROM ubah_kode"); if (rsdata.next()) { jTextField1.setText(rsdata.getString("kode")); stm1.executeUpdate("DELETE FROM ubah_kode"); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, "QUERY ERROR" + ex, "ERROR", JOptionPane.ERROR_MESSAGE); } } void PaketUbahKode() { SimpanUbahKode(); TampilUbahKode(); } void CekKode2() { KodeOtomatis2(); jTextField7.setText("NB-" + jTextField7.getText() + ""); jButton1.requestFocus(); } void KodeOtomatis2() { try { Connection c = koneksi.getkoneksi(); Statement stm = c.createStatement(); ResultSet rsdata = stm.executeQuery("SELECT * FROM pembayaran ORDER BY id_byr DESC"); if (rsdata.next()) { String id_divisi = (rsdata.getString("id_byr")); double nilai1 = Double.parseDouble(id_divisi); DecimalFormat df = new DecimalFormat("#.##"); this.jTextField7.setText(df.format(nilai1 + 1)); PaketUbahKode2(); } else { jTextField7.setText("1"); PaketUbahKode2(); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, "QUERY ERROR" + ex, "ERROR", JOptionPane.ERROR_MESSAGE);

Page 53: BAB III PEMBAHASAN - Repository BSI

72

} } void SimpanUbahKode2() { try { Connection c = koneksi.getkoneksi(); Statement stm = c.createStatement(); stm.executeUpdate("INSERT INTO ubah_kode SET kode='" + jTextField7.getText() + "'"); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Error." + e); } } void TampilUbahKode2() { try { Connection c = koneksi.getkoneksi(); Statement stm = c.createStatement(); Statement stm1 = c.createStatement(); ResultSet rsdata = stm.executeQuery("SELECT * FROM ubah_kode"); if (rsdata.next()) { jTextField7.setText(rsdata.getString("kode")); stm1.executeUpdate("DELETE FROM ubah_kode"); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, "QUERY ERROR" + ex, "ERROR", JOptionPane.ERROR_MESSAGE); } } void PaketUbahKode2() { SimpanUbahKode2(); TampilUbahKode2(); } void HapusTransaksi() { try { Connection c = koneksi.getkoneksi(); Statement stm1 = c.createStatement(); Statement stm2 = c.createStatement(); Statement stm3 = c.createStatement(); Statement stm6 = c.createStatement(); ResultSet rsdata6 = stm6.executeQuery("SELECT * FROM bu_spp " + "INNER JOIN m_siswa ON bu_spp.id_siswa = m_siswa.id_siswa " + "WHERE bu_spp.kode_bayar='" + jTextField7.getText() + "'"); while (rsdata6.next()) { String kd_bspp = (rsdata6.getString("kd_bspp")); String id_thn = (rsdata6.getString("id_thn")); String id_siswa = (rsdata6.getString("id_siswa")); String nis = (rsdata6.getString("nis")); String bulan = (rsdata6.getString("bulan")); String id_jp = (rsdata6.getString("id_jp")); if (id_jp.equals("1")) { stm1.executeUpdate("DELETE FROM bu_spp WHERE kd_bspp='" + kd_bspp + "'"); stm2.executeUpdate("UPDATE m_siswa SET stt_ug='" + "belum" + "'WHERE id_siswa='" + id_siswa + "'"); } else if (id_jp.equals("2")) { stm1.executeUpdate("DELETE FROM bu_spp WHERE kd_bspp='" + kd_bspp + "'"); stm2.executeUpdate("UPDATE data_spp SET stt_spp='" + "belum" + "'WHERE nis='" + nis + "'AND id_thn='" + id_thn + "'AND bln='" + bulan + "' "); } else { stm1.executeUpdate("DELETE FROM bu_spp WHERE kd_bspp='" + kd_bspp + "'"); } } stm3.executeUpdate("DELETE FROM pembayaran WHERE kode_bayar='" + jTextField7.getText() + "'"); b1.dataTerpilih1(); this.dispose(); } catch (Exception e) {

Page 54: BAB III PEMBAHASAN - Repository BSI

73

e.printStackTrace(); } } }

3.5.2 Blackbox Testing

Tabel III.13.

Hasil Pengujian Black Box Testing Form Menambah User

No

.

Skenario

pengujian

Test case Hasil yang

diharapkan

Hasil

pengujian

Kesimpulan

1. Nama

Admin,

Username,

Password

dan level,

tidak diisi

kemudian

klik tombol

“Simpan”

Nama lengkap:

(kosong)

Username :

(kosong)

Password:

(kosong)

Level : (kosong)

Sistem akan

menolak akses

dan

menampilkan

pesan “Data

belum

lengkap”

Sesuai

harapan

Valid

2. Mengetikkan

Nama

langkap,

username,

Password

dan level

dengan data

yang benar

kemudian

klik tombol

“Simpan”

Nama lengkap:

Ayu (benar)

Username :

admin1 (benar)

Password: 123

(benar)

Level :

bendahar

(benar)

Sistem akan

menerima

akses input

data user dan

menampilakan

pesan “

Simpan

sebagai data

baru? Ya atau

tidak”

Sesuai

harapan

Valid

3. Sistem dapat

melakukan

proses edit

data user

pada

program

dengan

melilih data

yang akan di

edit,

serikutnya

klik tobol

“edit”

melakukan edit

data

Sistem akan

menampilkan

proses editing,

klik edit maka

akan

menampilkan

data pengguna

yang

diinginkan dan

sistem akan

menampilkan

“Edit data ini ?

ya atau tidak ”

Sesuai

harapan

Valid

Page 55: BAB III PEMBAHASAN - Repository BSI

74

4. Sistem dapat

melakukan

proses hapus

data

pengguna

pada

program

dengan

mengklik

tombol

“hapus”

Melakukan

hapus data

sistem akan

menampilkan

data yang akan

dihapus dan

sistem akan

menampilkan

“Hapus data

ini? Ya atau

tidak”

Sesuai

harapan

Valid

3.5.3 Spesifikasi Hardware dan Software

Tabel III.14.

Spesifikasi Hardware dan Software

Kebutuhan Keterangan

Sistem Microsoft windows 7

Processor Intel® Core™ i3 2330M CPU @ 2.20 GHz

(4CPUs), 2.2 GHz

RAM 2 GB

Harddisk 500 GB

Monitor 14.0 HD LED LCD

Keyboard 108 keys

Printer Printer Inkjet

mouse Standard

Software Kebutuhan menjalankan aplikasi secara local :

Bahasa script programming : Java 8.1

Web Server : PHP

DBSM : MySQL