184
i SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA BIMBINGAN BELAJAR Studi Kasus ”NEUTRON” Yogyakarta SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika ./0 0 Disusun Oleh : Surya Astana NIM : 055314103 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS dan TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2009

SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

i

SISTEM INFORMASI AKADEMIK dan ADMINISTRASI

LEMBAGA BIMBINGAN BELAJAR

Studi Kasus ”NEUTRON” Yogyakarta

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Informatika

./0

0

Disusun Oleh :

Surya Astana

NIM : 055314103

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS dan TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2009

Page 2: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

ii

ACADEMIC and ADMINISTRATION INFORMATION SYSTEM

Of GUIDANCE LEARNING AGENCY

Case Study on ”NEUTRON” Yogyakarta

A THESIS

Presented as Partial Fulfillment of the Requirements

To Obtain the Sarjana Teknik Degree

In Informatics Engineering Department

./0

0

Created By :

Surya Astana

NIM : 055314103

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2009

Page 3: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

iii

Page 4: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

iv

Page 5: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

v

HALAMAN MOTTO

”USAHA DAN DOA, TIDAK BISA TERPISAHKAN”

”KEGAGALAN MERUPAKAN PENGALAMAN,

DAN TERKADANG PENGALAMAN SANGAT MAHAL HARGANYA

TAPI PENGALAMAN ADALAH GURU TERBAIK”

Page 6: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

vi

PERNYATAAN KEASLIAN KARYA

Saya menyatakan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat

karya orang lain kecuali yang telah disebutkan dalam kutipan atau daftar

pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 02 November 2009

Penulis,

Surya Astana

Page 7: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

vii

ABSTRAK

Pencatatan data siswa, data nilai, dan data administrasi siswa menjadi hal

pokok di Lembaga Bimbingan Belajar Neutron Yogyakarta. Pemrosesan data-data

siswa yang masih menggunakan spreadsheet menyebabkan efisiensi waktu dan

kinerja masih kurang dalam hal pencatatan, pemrosesan dan pencarian data akademik

(nilai) dan administrasi (pembayaran). Siswa juga tidak bisa secara mandiri melihat

data nilai maupun adminisrasinya. Dari latar belakang itu, dengan dibuatnya sistem

ini diharapkan dapat membantu pegawai dalam pengolahan nilai, pendataan siswa,

dan pengolahan data pembayaran, serta sebagai sarana informasi siswa untuk

mengetahui data-data nilai dan pembayaran.

Sistem ini dibuat dengan menggunakan metode pengembangan sistem secara

terstruktur. Sistem ini dibuat dengan menggunakan bahasa pemrograman java dengan

menggunakan MySQL sebagai database dan memakai jasperSoft iReport dalam

pembuatan laporan. Sistem ini dibuat dengan menggunakan teknologi client-sever

dengan rancangan two tier client server.

Hasil akhir adalah sebuah sistem informasi akademik dan administrasi dengan

kemampuan menyimpan data, mengupdate data, mencari data, serta menyediakan

laporan-laporan akademik dan administrasi, sehingga mampu memberikan

kemudahan dan membantu pegawai dan siswa dalam mendapatkan informasi

akademik dan administrasi.

Page 8: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

viii

ABSTRACT

The recording of biography, mark, and administration data of the student,

become the important things in a Neutron Yogyakarta Guidance Learning Agency.

Those data are processed by using spreadsheet that make the less efficiency and

performance of bussines process (store, update, search of biography, mark, and

administration data of the student). The students can help themselves to get the

information of academic and administration. By developing this system, it can help

the employees to process academic and administration data and students to get their

information of academic and administration.

The making of this system is based on Structured System Analysis and Design

Method. This system is made with java language program with MySQL as database

and jasperSoft iReport to make reports. This system use client-sever technology with

two tier client server model.

The result is academic and administion information system which has

capability to store, update, search student‟s academic and administration data, and

provide reports, that it can help the employees and students to get the student‟s

academic and administration information.

Page 9: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

ix

KATA PENGANTAR

Puji syukur kepada Allah SWT atas segala berkat dan rahmat-Nya sehingga

penulis dapat menyelesaikan skripsi dengan berjudul ”Sistem Informasi Akademik

dan Administrasi Lembaga Bimbingan Belajar” studi kasus pada LBB NEUTRON

Yogyakarta (cabang Klaten) .

Penulisan skripsi ini diajukan untuk memenuhi salah satu syarat memperoleh

Gelar Sarjana Teknik Program Studi Teknik Informatika Universitas Sanata Dharma

Yogyakarta.

Dengan terselesaikannya penulisan skripsi ini, penulis mengucapkan terima

kasih kepada pihak-pihak yang telah membantu dan memberikan dukungan baik

berupa masukan ataupun saran. Ucapan terima kasih ditujukan kepada:

1. Bapak dan Ibu yang telah memberi dukungan kepada penulis baik moral,

spiritual maupun material selama masa studi saya.

2. Ibu A.M. Polina, S.Kom., M.Sc selaku Dosen Pembimbing yang telah

memberikan dukungan, bantuan dan dorongan kepada penulis selama mengikuti

proses perkuliahan sampai dengan penyelesaian skripsi ini.

3. Bapak Yosef Agung Cahyanta, S.T., M.T. selaku Dekan Fakultas Sains dan

Teknologi Universitas Sanata Dharma Yogyakarta.

4. Bapak Puspaningtyas Sanjaya Adi, S.T., M.T. selaku Ketua Jurusan Teknik

Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma

Yogyakarta.

5. Bapak Drs. Nicolaus Subiakto yang telah memberikan kesempatan studi kasus

di LBB NEUTRON Yogyakarta, atas semua saran, fasilitas dan semua informasi

yang diberikan.

6. Adik tersayang, untuk doa dan dukungannya.

7. Kartika Mandasari tercinta, untuk semua dukungan, doa, dan motivasinya.

Semoga cita-cita kita dapat segera terwujud. Amin.

8. Seluruh pegawai dan staff NEUTRON Yogyakarta cabang Klaten, atas

informasi dan masukan-masukan yang diberikan untuk pembuatan sistem.

Page 10: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

x

9. Beny, Wawan, Andriyanto, Dimas, Hendri Cahyana, Sony, F.X. Adi Putra,

Yuanita dan banyak lagi terima kasih telah banyak membantu penulis sehingga

skripsi ini dapat terselesaikan.

10. Untuk teman-teman semasa SMA yang telah banyak memberi motivasi.

Dalam penulisan skripsi ini, dirasa masih banyak kekurangannya. Oleh karena

itu segala saran ataupun kritik yang bersifat membangun dari para pembaca sekalian

sangat diharapkan guna menyempurankan isi dari skripsi ini.

Akhir kata, semoga penulisan skripsi ini berguna bagi para pembaca sekalian

khususnya para mahasiswa Teknik Informatika, dan dapat menambah wawasan para

pembaca sekalian.

Yogyakarta, 02 November 2009

Penulis

Page 11: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

xi

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertandatangan dibawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : Surya Astana

NIM : 055314103

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan

Universitas Sanata Dharma, karya ilmiah saya yang berjudul :

SISTEM INFORMASI AKADEMIK dan ADMINISTRASI

LEMBAGA BIMBINGAN BELAJAR

Studi Kasus “Neutron” Yogyakarta

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya berikan kepada

Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam

bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan

secara terbatas, dan mempublikasikannya dalam Internet atau media lain untuk

kepentingan akademis tanpa harus meminta ijin dari saya atau mamberikan royalti

kepada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya.

Dibuat di Yogyakarta,

Pada tanggal : 02 November 2009

Yang menyatakan

Surya Astana

Page 12: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

xii

DAFTAR ISI

HALAMAN JUDUL ………………………………………………………………. i

HALAMAN JUDUL (ING)……………………………………………………….... ii

HALAMAN PERSETUJUAN PEMBIMBING……….…………………………… iii

HALAMAN PENGESAHAN……………………………………………………… iv

HALAMAN MOTTO ……….…..………………………………………………… v

PERNYATAAN KEASLIAN KARYA ..…………………………………………. vi

ABSTRAK ………………………………………………………………………… vii

ABSTRACT………………………………………………………………………... viii

KATA PENGANTAR …………………………………………………………….. ix

LEMBAR PERNYATAAN PERSETUJUAN…………………………………….. xi

DAFTAR ISI ....……………………………………………………………………. xii

DAFTAR TABEL …………………………………………………………………. xvii

DAFTAR GAMBAR ……………………………………………………………… xviii

DAFTAR LISTING PROGRAM………………………………………………….. xxi

BAB I PENDAHULUAN ..………………………………………………………... 1

I.1 Latar Belakang ……………..………………………………………...... 1

I.2 Rumusan Masalah …………………………………………………....... 2

I.3 Batasan Masalah …..…………………………………………………… 3

I.4 Tujuan dan Manfaat Penulisan …………...……………………………. 3

I.5 Metodologi Penelitian …………………………………………………. 4

I.6 Sistematika Penulisan ……………………………………….................. 5

BAB II LANDASAN TEORI ……………………………………………………. 7

II.1 Konsep Dasar Sistem ………………………………………………... 7

Page 13: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

xiii

II.1.1 Karakteristik Sistem ………... ………………………………. 7

II.1.2 Elemen Sistem ………….…………………………………… 7

II.2 Konsep Dasar Sistem Informasi……………………..………………. 8

II.2.1 Komponen Sistem Informasi………………………………… 8

II.3 Rekayasa Perangkat Lunak………………. ………………………… 10

II.4 DFD (Data Flow Diagram)…………………………………………. 12

II.5 Entity Relationship Diagram (E-R Diagram)……………………….. 13

II.6 Teknologi Client Server……………………………….. …………… 15

II.7 Java………………………....……………………………………….. 16

II.7.1 JDBC………………………………………………………… 16

II.7.2 Java Socket………………………………………………….. 17

II.8 MySQL……………………………………………………………… 18

BAB III ANALISIS DAN PERANCANGAN SISTEM ………………………….. 21

III.1. Analisis Sistem ……………………. ………………………………. 21

III.1.1 Gambaran Umum Sistem yang Baru………………………….. 21

III.1.2 Analisa Kebutuhan Sistem..………………………………….. 22

III.1.3 Use Case Diagram…………………………………………….. 25

III.1.4 DFD (Data Flow Diagram)……………………………………. 25

III.1.4.1 Context Diagram……………………………………… 26

III.1.4.2 Bagan Berjenjang……………………………………… 27

III.1.4.3 DFD Level 0…………………………………………… 28

III.1.4.4 DFD Level 1 Proses 3…………………………………. 28

III.1.4.5 DFD Level 1 Proses 4…………………………………. 29

III.1.4.6 DFD Level 1 Proses 5…………………………………. 29

III.1.5 Pemodelan Data (ER D)……………………………………….. 30

Page 14: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

xiv

III.2. Desain / Perancangan Sistem……………………………………….. 31

III.2.1. Desain Basis Data Sistem…………………………………….. 31

III.2.1.1 Logical Database System…….……………………….. 32

III.2.1.2 Perancangan Tabel (Physical Design)..……………….. 32

III.2.2. Desain Antarmuka (Desain Interface)………..…………….. 36

III.2.2.1 Form Login…………………………………………… 37

III.2.2.2 Form Bagian Akademik dan Administrasi…………… 38

III.2.2.2.a Form Pembuka...……………………………….. 38

III.2.2.2.b Form Menu Akademik…………………………. 38

III.2.2.2.b.i Form Pendaftaran…………………………. 39

III.2.2.2.b.ii Form Edit Data Siswa…………………….. 40

III.2.2.2.b.iii Form Lihat dan Cari Data Siswa…………. 41

III.2.2.3 Form Menu Nilai……………………………………… 42

III.2.2.3.a Form Insert Data Nilai………………………….. 42

III.2.2.3.b Form Edit Data Nilai……………………………. 43

III.2.2.3.c Form Lihat dan Cari Data Nilai…………………. 43

III.2.2.4 Form Menu Pembayaran……………………………… 44

III.2.2.4.a Form Lihat Biaya Bimbingan…………………… 44

III.2.2.4.b Form Edit Biaya Bimbingan…………………….. 45

III.2.2.4.c Form Pembayaran Pertama dan Update Pembayaran 46

III.2.2.4.d Form Lihat dan Cari Data Pembayaran……….…. 47

III.2.2.5 Form Siswa…………………………………………….. 48

III.2.2.5.a Form Menu Siswa……………………………….. 48

III.2.2.5.a.i Form Lihat Data Pribadi Siswa…………….. 48

III.2.2.5.a.ii Form Lihat Data Nilai……………………… 49

Page 15: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

xv

III.2.2.5.a.iii Form Lihat Data Pembayaran…………….. 50

III.2.3 Desain Teknologi Secara Terinci…………………………… 51

III.2.4 Desain Hak Akses……………………………..…………… 52

BAB IV IMPLEMENTASI …………………………………….………………… 53

IV.1 Pembuatan Database……………… ………………………….……. 53

IV.2 Setting Koneksi dari Java ke MySQL..…………………... ……….. 57

IV.3 Pembuatan User Interface………………………………………….. 58

IV.3.1 Form Utama………………………………….. …………… 58

IV.3.2 Form LOGIN……………………………...... …………….. 59

IV.3.3 Form Menu Siswa…. ………………………………………. 62

IV.3.3.a Form Lihat Data Pribadi………………………….. 64

IV.3.3.b Form Lihat Data Nilai…………………………….. 66

IV.3.3.c Form Lihat Data Bayar……………………………. 68

IV.3.3.d Form Rubah Password Siswa….…………………. 71

IV.3.4 Form Menu Pegawai……………………………………….. 74

IV.3.4.A Form Menu Akademik……………………………. 75

IV.3.4.A.a Form Pendaftaran……………………….. 76

IV.3.4.A.a.i Form Pembayaran Biaya

Pendaftaran dan Biaya Bimbingan…. 84

IV.3.4.A.b Form Menu Data Siswa………………… 89

IV.3.4.A.b.i Form Lihat Data Siswa..……… 90

IV.3.4.A.b.ii Form Edit Data Siswa……….. 96

IV.3.4.A.b.iii Form Hapus Data Siswa……. 99

IV.3.4.A.b.iv Form Revisi Pendaftaran…….. 101

IV.3.4.A.b.v Form Pembayaran Revisi

Page 16: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

xvi

Pendaftaran………………………… 104

IV.3.4.A.b.vi Laporan Data Siswa…………. 108

IV.3.4.A.c Form Menu Data Nilai…………………. 110

IV.3.4.A.c.i Form Insert Nilai……………… 111

IV.3.4.A.c.ii Form Cari Data Nilai………… 127

IV.3.4.A.c.iii Form Laporan Data Nilai…… 129

IV.3.4.B Form Menu Administrasi………………………… 134

IV.3.4.B.a Form Pembayaran Bimbingan…………. 136

IV.3.4.B.a.i Form Nota Pembayaran………. 138

IV.3.4.B.b Form Lihat Data Pembayaran Siswa…… 142

IV.3.4.B.c Form Data Biaya Bimbingan……..…….. 146

IV.3.4.B.d Form Laporan Administrasi……………. 147

IV.3.4.B.d.i Form Laporan Pembayaran

Jatuh Tempo………………………... 151

BAB V ANALISA HASIL…..………………………….……………………........ 156

V.3 Kelebihan Sistem yang Dibuat………………………………………. 156

V.4 Kekurangan Sistem yang Dibuat…………………………………….. 157

BAB VI PENUTUP ……...……………………………….……………………........ 158

VI.1. Kesimpulan……………………… ……………………...…….……. 158

VI.2. Saran…………………………………………………...…....………. 159

DAFTAR PUSTAKA………………………………………………………………. 160

Page 17: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

xvii

DAFTAR TABEL

3.1 Tabel Data Siswa ……………………………………………………………….. 33

3.2 Tabel Program…………………………………………. ………………………. 33

3.3. Tabel Ambil Program………… ……………………………………………….. 34

3.4 Tabel Kelas……………………………………………………………………... 34

3.5 Tabel Nilai…………………….. ……………………………………………….. 34

3.6 Tabel Mata Pelajaran……..…………………………………………………….. 35

3.7 Tabel Pembayaran……………… …….….………………………………..…… 35

3.8 Tabel Data User……….……………….….…………………………….……… 36

Page 18: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

xviii

DAFTAR GAMBAR

2.1 Elemen-elemen Sistem……. …………………………………………………... 7

2.2 Contoh E-R Diagram…………………………………………………………… 14

2.3 Hubungan Java Program, JDBC API, JDBC Driver…………………………… 16

2.4 Hubungan Antar Socket………………………………………………………... 18

3.1 Use Case Diagram……………………………………………………………… 25

3.2 Context Diagram…………………………………..……………………………. 26

3.3 Bagan Berjenjang ………………………………….….………………………... 27

3.4 DFD Level 0……………………………………………………………………. 28

3.5 DFD Level 1 Proses 3..………………....………………………………………. 28

3.6 DFD Level 1 Proses 4….. …………………..…………………………………. 29

3.7 DFD Level 1 Proses 5……………..……...……………………………………. 29

3.8 ER Diagram……………………………………………………………………. 30

3.9. Relational Table.……………...........................………………………………. 32

3.10 Desain Form Login……………………………………. …...……………….. 37

3.11. Desain Pesan Kesalahan .………………………………………………….... 37

3.12 Desain Form Awal…. ……………………………………………………….. 38

3.13 Desain Form Menu Akademik……………………………………………….. 38

3.14 Desain Form Pendaftaran… …………………………………………………. 39

3.15 Desain Form Edit Data Siswa…. …………………………………………… 40

3.16 Desain Form Lihat dan Cari Data Siswa…………………………………….. 41

3.17 Desain Form Menu Nilai……………………………………………………. 42

3.18. Desain Form Insert Data Nilai….……..…………………………………….. 42

3.19 Desain Form Edit Data Nilai………….. ..………………………………….. 43

3.20 Desain Form Cari Data Nilai…………..…………………………………….. 43

Page 19: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

xix

3.21 Desain Form Menu Pembayaran …. ..……………………………………….. 44

3.22 Desain Form Lihat Biaya Bimbingan.……………………………………….. 44

3.23 Desain Form Update Biaya Bimbingan………………………………………. 45

3.24 Desain Form Update Pembayaran. .…………………………………………. 46

3.25 Desain Form Cari Data Pembayaran …………………………………………. 47

3.26 Desain Form Menu Siswa……………… ..…………………………………. 48

3.27 Desain Form Lihat Data Pribadi Siswa… ……………………………………. 48

3.28 Desain Form Lihat Data Nilai………………………………………………… 49

3.29 Desain Form Lihat Data Pembayaran………………………………………… 50

4.1. Database Sistem Informasi Akademik dan Administrasi (SQLyog)…………. 56

4.2. Form Utama………... …………………………….......………………………. 58

4.3. Form Login…….. .....................………………………………………………. 59

4.4. Pesan Tidak Bisa Login.....……………………..………………………..……. 62

4.5. Form Menu Siswa………….....………………………………………………... 62

4.6. Form Lihat Data Pribadi………………………………………………………. 64

4.7. Form Lihat Data Nilai.……………………………………………………...…. 66

4.8. Form Lihat Data Pembayaran………………………………………………….. 68

4.9. Form Rubah Password………………………..……………………...………… 71

4.10. Form Menu Pegawai…………………….…..……………………...………… 74

4.11. Form Menu Akademik……….. .. …………..……………………...………… 75

4.12. Form Pendaftaran……………………………… …..……………...………… 76

4.13. Form Bayar Daftar…………………….…....……………………...………… 84

4.14. Form Menu Data Siswa…………………………. …..………...…………… 89

4.15. Form Lihat Data Siswa……….…………………. …..………...…………… 90

4.16. Form Edit Data Siswa..…………………………. …..………...…………… 96

Page 20: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

xx

4.17. Form Hapus Data Siswa…………………………. …..………...…………… 99

4.18. Form Revisi Pendaftaran………………………... …..………...…………… 101

4.19. Form Pembayaran Revisi Pendaftaran.…………. …..………...…………… 104

4.20. Form Laporan Akademik………………………. …..………...…………… 108

4.21. Tampilan Laporan Data Siswa Per Program……. …..………...…………… 109

4.22. Form Menu Data Nilai….………………………. …..………...…………… 110

4.23. Form Insert Nilai……..…………………………. …..………...…………… 111

4.24. Form Cari Data Nilai……………………………. …..………...…………… 127

4.25. Form Laporan Data Nilai.………………………. …..………...…………… 129

4.26. Tampilan Laporan Data Nilai Lengkap…………. …..………...…………… 132

4.27. Tampilan Laporan Data Nilai Per Jenis Nilai .…. …..………...…………… 133

4.28. Tampilan Laporan Data Nilai Per Siswa..………. …..………...…………… 134

4.29. Form Menu Administrasi……….………………. …..………..…………… 134

4.30. Form Pembayaran Bimbingan.…………………. …..………...…………… 136

4.31. Form Nota Pembayaran…………………………. …..………...…………… 138

4.32. Tampilan Print Nota Pembayaran………………. …..………...…………… 140

4.33. Form Lihat Data Pembayaran Siswa……………. …..………...…………… 142

4.34. Form Data Biaya Bimbingan……………………. …..………...…………… 146

4.35. Form Laporan Administrasi……………………………....………...……..… 147

4.36. Tampilan Laporan Pembayaran Siswa Per Program ...………...…………… 149

4.37 Tampilan Laporan Data Pembayaran Lengkap Per Siswa…………………… 150

4.38 Form Laporan Pembayaran Jatuh Tempo…………………………………….. 151

4.39 Tampilan Laporan Pembayaran Jatuh Tempo………………………………... 154

4.40 Tampilan Laporan Pembayaran Jatuh Tempo Pada Tanggal………………… 155

4.41 Tampilan Laporan Pembayaran Jatuh Tempo Dari Sampai Tanggal………… 156

Page 21: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

xxi

DAFTAR LISTING PROGRAM

4.1 Koneksi.java ……. …………………………………………………................... 57

4.2 Action button login ………………………….…………………………………. 59

4.3 Action button exit ……………………………………………………………… 59

4.4 Listing Button Login Form Login ……………………………………………… 61

4.5 Listing Button Back Form Login ……………………..………………….……. 61

4.6 method getValidasi………………………………….….…………………..…... 61

4.7 Action Button Menu Form Menu Siswa ……………………………………..…. 63

4.8 Action field NIS Form Lihat Data Siswa…....…………………………………. 65

4.9 method getDataSiswa ….. …………………..…………………………………. 65

4.10 Store Procedure get_data_siswa ……..……...……………………………..…. 66

4.11 Action Combo Box Semester …………………………………………………. 67

4.12 Method getNila..i.……………...........................………………………………. 67

4.13 Store Procedure siswa_nilai. ……………………………. …...……………….. 68

4.14 Action field NIS Form Lihat Data Bayar.…………………………………….... 69

4.15 Listing Method getDataBayarSiswa ……..…………………………………….. 70

4.16 Store Procedure siswa_bayar ……………….………………………………….. 70

4.17 Listing Program Button Proses Form Rubah Password..………………………. 72

4.18 Listing Method RubahPassword …. …………………..……………………… 73

4.19 Strore Procedure RubahPasswordSiswa ………………..…………………….. 73

4.20 Action Button-Button Menu Form Menu Pegawai………..……………………. 74

4.21 Action Button-Button Menu Form Menu Akademik ……………………….….. 75

4.22 Action Button BROWSE..................................................................................... 77

4.23 Action Button PROSES Pendaftaran................................................................... 78

Page 22: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

xxii

4.24 Action Handler Form Pendaftaran........................................................................ 80

4.25 Method Tambah Siswa......................................................................................... 81

4.26 Store Procedure Tambah Data Siswa................................................................... 82

4.27 Store Procedure Generate Nilai............................................................................ 83

4.28 Trigger add_user................................................................................................... 83

4.29 Trigger program_bayar......................................................................................... 83

4.30 Action Button Bayar Pendaftaran dan Bayar Bimbingan..................................... 86

4.31 Method BayarDaftar............................................................................................. 86

4.32 Method BayarPertama.......................................................................................... 87

4.33 StoreProcedure bayar_dft_pot.............................................................................. 87

4.34 StoreProcedure bayar_1st..................................................................................... 88

4.35 StoreProcedure cek.............................................................................................. 89

4.36 Action Button-Button Form Menu Data Siswa................................................... 90

4.37 Pencarian dan Lihat Data Siswa.......................................................................... 92

4.38 Method CariSiswaNama...................................................................................... 92

4.39 Method CariSiswaProgram................................................................................. 93

4.40 Method CariSiswaKelas...................................................................................... 94

4.41 Method getDataSiswa......................................................................................... 94

4.42 StoreProcedure cari_Bnama................................................................................ 95

4.43 StoreProcedure cari_Bprog.................................................................................. 95

4.44 StoreProcedure cariB_klas.................................................................................. 95

4.45 StoreProcedure get_data_siswa.......................................................................... 96

4.46 Action Button PROSES Form Edit Data Siswa.................................................. 97

4.47 Method EditSiswa............................................................................................... 98

4.48 StoreProcedure edit_DataSiswa......................................................................... 98

Page 23: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

xxiii

4.49 Action Button HAPUS Form HapusSiswa......................................................... 99

4.50 Method HapusDataSiswa................................................................................... 100

4.51 StoreProcedure hapus_siswa2.............................................................................. 100

4.52 Action Button PROSES Form Revisi Pendaftaran.............................................. 102

4.53 Method RegUlangSiswa...................................................................................... 103

4.54 StoreProcedure reg_ulang_siswa......................................................................... 103

4.55 Action Button SALIN Form Pembayaran Revisi Pendaftaran............................. 106

4.56 Action Button BAYAR Form Pembayaran Revisi Pendaftaran.......................... 106

4.57 Action Button BAYAR Form Pembayaran Revisi Pendaftaran.......................... 107

4.58 StoreProcedure bayar_ulang................................................................................. 107

4.59 Action Button PRINT Form Laporan Data Siswa................................................ 108

4.60 Query Laporan Data Siswa Per Program.............................................................. 109

4.61 Action Button Menu Form Menu Data Nilai...................................................... 110

4.62 Listing Program Form Insert Nilai..................................................................... 121

4.63 Method gen_combo............................................................................................. 122

4.64 Method get_cariNIS............................................................................................. 123

4.65 Method get_DataNilai......................................................................................... 123

4.66 Method get_Nilai.................................................................................................. 124

4.67 Method masuk_nilai............................................................................................. 124

4.68 Store Procedure generate_combo......................................................................... 125

4.69 Store Procedure cari_nis_nama............................................................................ 125

4.70 Store Procedure get_data_NilaiN......................................................................... 126

4.71 Store Procedure get_data_Nilai........................................................................... 126

4.72 Store Procedure insertNH1................................................................................. 127

4.73 Action Combo Box SEMESTER Form Cari Data Nilai Siswa.......................... 128

Page 24: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

xxiv

4.74 Method getNilai................................................................................................... 128

4.75 Store Procedure siswa_nilai……………………………………………………. 129

4.76 Action Button PRINT Form Laporan Data Nilai................................................ 132

4.77 Query Laporan Data Nilai Siswa Per Program.................................................... 132

4.78 Query Laporan Data Nilai Siswa Per Jenis Nilai................................................ 133

4.79 Query Laporan Data Nilai Siswa Per Jenis Nilai................................................ 134

4.80 Action Button Form Menu Administrasi............................................................. 135

4.81 Action Button BAYAR Form Pembayaran Bimbingan...................................... 138

4.82 Action Button PROSES Form Nota Pembayaran Ketiga................................... 139

4.83 Method BayarKetiga........................................................................................... 139

4.84 StoreProcedure bayar_1st................................................................................... 140

4.85 StoreProcedure bayar_2nd.................................................................................. 141

4.86 StoreProcedure bayar_3rd................................................................................... 141

4.87 Action Form Lihat Data Pembayaran Siswa....................................................... 143

4.88 ClassLihatBayar.java........................................................................................... 144

4.89 StoreProcedure SiswaBayarProgram................................................................... 145

4.90 StoreProcedure SiswaBayarKelas....................................................................... 145

4.91 StoreProcedure SiswaBayarJTP......................................................................... 145

4.92 Action Button UPDATE Form Data Biaya Bimbingan....................................... 146

4.93 Method UpdateBiaya.......................................................................................... 146

4.94 StoreProcedure upd_Biaya.................................................................................. 147

4.95 Action Button-Button Form Laporan Administrasi............................................ 148

4.96 Query Laporan Pembayaran Siswa Per Program............................................... 149

4.97 Query Laporan Data Bayar Per Siswa................................................................ 150

4.98 Action Button-Button PRINT Form Laporan Pembayaran Jatuh Tempo........... 153

Page 25: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

xxv

4.99 Query Laporan Pembayaran Jatuh Tempo Per Program..................................... 154

4.100 Query Laporan Pembayaran Jatuh Tempo Pada Tanggal.................................. 155

4.101 Query Laporan Pembayaran Jatuh Tempo Antara Tanggal............................... 156

Page 26: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

1

BAB I

PENDAHULUAN

I.1 Latar Belakang Masalah

Pada saat ini, setiap lembaga pendidikan pasti memiliki data dengan jumlah yang

terus bertambah dan beraneka ragam. Data-data tersebut sebagian harus melalui proses

pengolahan untuk kemudian menjadi informasi yang diinginkan dan berguna. Informasi

ini dapat digunakan oleh pihak yang berkepentingan dalam menentukan langkah atau

kebijakan serta sebagai pedoman untuk mendapatkan solusi dari problem yang muncul.

Muncul dan berkembangnya sistem informasi salah satunya karena sistem lama

tidak lagi sesuai dengan perkembangan, baik itu data-data ataupun informasi yang

dihasilkannya. Sistem informasi yang baru diharapkan dapat membantu dan membuat

suatu perkerjaan lebih efektif dan efisien.

Lembaga Bimbingan Belajar Neutron Yogyakarta sebagai salah satu lembaga

pendidikan luar sekolah yang turut berperan dalam mencerdaskan kehidupan bangsa

merasakan masih belum maksimal dalam pemberdayaan “sumber daya” yang

dimilikinya. Saat ini Lembaga Bimbingan Neutron Yogyakarta belum memiliki sistem

informasi yang menangani secara khusus tentang administrasi dan akademik siswa.

Proses yang dilakukan masih sederhana, hanya dengan menggunakan spreadsheet

sehingga efisiensi waktu dan kinerja masih kurang. Pemrosesan data banyak yang

dilakukan secara manual seperti pencatatan dan pencarian data akademik, pencatatan dan

pencarian data administrasi siswa (tagihan untuk siswa, informasi pembayaran,dll).

Pihak Lembaga Bimbingan Belajar Neutron Yogyakarta mengalami kendala,

pemasalahan yang ditemui berkaitan dengan pencarian data (baik data siswa, data nilai

Page 27: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

2

ataupun data administrasi siswa), penyimpanan data, pemrosesan data dan pembuatan

laporan.

Data-data yang telah diolah menjadi informasi harus disimpan secara benar,

karena tidak menutup kemungkinan dibutuhkan dalam penganalisaan ataupun dalam

pembuatan laporan dikemudian hari. Apabila arsip disimpan secara manual atau dalam

kertas, sering ada kehilangan data atau terjadi kerusakan fisik. Redudansi pekerjaan

mungkin juga terjadi, sehingga menjadi tidak efisien. Dunia kerja saat ini memerlukan

suatu sistem informasi yang dapat membantu menyelesaikan suatu pekerjaan dengan

mengutamakan efisiensi waktu dan tenaga.

Dari latar belakang itulah, penulis tertarik untuk mengembangkan Sistem

Informasi Akademik dan Administrasi Lembaga Bimbingan Belajar bagi Lembaga

Bimbingan Belajar Neutron Yogyakarta, sehingga dapat mengatasi permasalahan yang

ada.

I.2 Rumusan Masalah

Berdasarkan latar belakang permasalahan yang dikemukakan di atas, maka

rumusan masalahnya adalah :

Bagaimana membuat suatu sistem informasi yang dapat menangani masalah-

masalah akademik dan administrasi yang dihadapi Lembaga Bimbingan Belajar Neutron

Yogyakarta?

Page 28: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

3

I.3 Batasan Masalah

Sistem informasi yang dibuat mempunyai batasan masalah sebagai berikut:

1. Sistem informasi ini dapat mengolah data pribadi siswa (proses pendaftaran), data

nilai siswa pada tiap mata pelajaran yang ada di setiap program yang diambil dan

data tentang pembayaran biaya bimbingan. Untuk studi kasus ini akan berfokus

pada pengelolaan data untuk siswa SMU.

2. Sistem informasi ini digunakan untuk menangani data pada satu cabang saja, tidak

menangani keseluruhan data siswa Lembaga Bimbingan Belajar Neutron

Yogyakarta.

3. Pada bagian akademik dari sistem informasi ini hanya menangani permasalahan

tentang penilaian saja, tidak menyangkut tentang absensi dan lain-lain, sedangkan

untuk bagian administrasi, menangani permasalahan pembayaran biaya

bimbingan untuk tiap siswa.

4. Sistem Informasi ini berbasis client-server dengan model 2-tier dengan pengguna

sistem adalah bagian administrasi-akademik dan siswa bimbingan.

I.4 Tujuan dan Manfaat Penulisan

Tujuan dibuatnya aplikasi ini adalah untuk mewujudkan sistem informasi

akademik yang meliputi pelayanan informasi data siswa, informasi nilai dan informasi

administrasi siswa dalam Lembaga Bimbingan Belajar Neutron Yogyakarta. Sistem

informasi ini dapat menunjang kinerja karyawan sehingga perkembangan lembaga

pendidikan ini menjadi lebih baik.

Manfaat dibuatnya aplikasi ini adalah siswa bimbingan dan pegawai bagian

administrasi dan akademik Lembaga Bimbingan Belajar Neutron Yogyakarta dapat

Page 29: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

4

dengan mudah memperoleh informasi akademik dan administrasi, pekerjaan pihak

lembaga bimbingan belajar menjadi lebih ringan karena untuk menyediakan informasi

akademik dan administrasi pihak lembaga bimbingan hanya perlu menyimpan data-data

tersebut didalam database server, pemrosesan data nilai dan data pembayaran sudah

dilaksanakan oleh sistem, sehingga mempermudah kerja pegawai.

I.5 Metodologi Penelitian

Metode penelitian yang digunakan dalam sistem informasi ini adalah studi kasus

dengan langkah-langkah sebagai berikut :

1. Pengamatan langsung di Lembaga Bimbingan Belajar Neutron Yogyakarta

dan interview dengan pihak terkait guna mendapat gambaran cara kerja sistem

ini nantinya dan fasilitas yang ada.

2. Studi literatur dengan mempelajari dari berbagai referensi yang terkait dengan

pemograman dalam tugas akhir ini. Metode pembelajaran bersumber dari

buku–buku yang berhubungan dalam pembuatan sistem ini, dan sintaks atau

aturan-aturan dalam pemograman yang berhubungan dengan pengolahan data-

data.

3. Metode pengembangan sistem dengan menggunakan metodologi

pengembangan sistem secara tersturktur (Structured System Analysis and

Design Method).

Metodologi ini terbagi menjadi beberapa fase yaitu :

a. Fase Analisis Sistem (Analysis Phase)

Analisis sistem bertujuan untuk mengidentifikasikan dan mengevaluasi

permasalahan–permasalahan yang dihadapi dan kebutuhan–kebutuhan

Page 30: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

5

yang diharapkan sehingga dapat menyelesaikan hambatan–hambatan

yang terjadi kearah perbaikan sistem.

b. Fase Perancangan (Design Phase)

Merupakan langkah multiproses yang memusatkan kerja pada

perancangan sistem secara umum misalnya perancangan menu,

perancangan tampilan dan user interface.

c. Fase Implementasi (Implementation Phase)

Setelah melakukan perancangan sistem yang diinginkan maka hasil

rancangan tersebut diimplementasikan, yaitu diterjemahkan kedalam

bahasa pemrograman.

d. Fase Pengujian (Testing Phase)

Pengujian ini dimaksudkan untuk menguji apakah hasil sudah sesuai

dengan perancangan yang diinginkan serta mencari segala kesalahan

yang mungkin terjadi.

I.7 Sistematika Penulisan

Untuk mempermudah dalam pemahaman dan penyusunan tugas akhir ini, penulis

membuat suatu sistematika penulisan sebagai berikut :

BAB I : PENDAHULUAN

Bab ini berisi pengantar, latar belakang masalah, rumusan masalah, batasan

masalah yang merupakan pokok permasalahan, tujuan masalah, metodologi

penelitian, dan sistematika penulisan.

Page 31: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

6

BAB II : LANDASAN TEORI

Bab ini berisi landasan teori yang digunakan yaitu pengertian dasar sistem

informasi, rekayasa perangkat lunak, teknologi client-server, Java dan

MySQL.

BAB III : ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi tentang penganalisa sistem dan gambaran yang dibuat,

sedangkan perancangan sistem tersebut meliputi desain proses, perancangan

basis data dan perancangan user interface.

BAB IV : IMPLEMENTASI SISTEM

Bab ini merupakan penjelasan tentang implementasi terhadap basis data,

implementasi antar muka, dan implementasi program atau tentang pembuatan

database dan interfacenya.

BAB V : ANALISA HASIL

Bab ini merupakan penjelasan dari analisa hasil yang meliputi analisa

metodologi, teknologi, dan kelebihan kekurangan program.

BAB VI : PENUTUP

Bab ini merupakan penutup yang berisi kesimpulan yang menjawab rumusan

masalah serta beberapa saran untuk pengembangan program untuk di waktu

yang akan datang.

Page 32: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

7

BAB II

LANDASAN TEORI

II.1 Konsep Dasar Sistem

Pada sistem informasi ini mempunyai dua pendekatan, yaitu pendekatan yang

menekankan pada prosedurnya mendefinisikan sistem sebagai berikut:

“suatu sistem adalah jaringan kerja dari prosedur-prosedur yang saling

berhubungan, berkumpul bersama untuk melakukan suatu kegiatan atau untuk

menyelesaikan suatu sasaran yang tertentu” (Jerry FiztGerald, dkk, 1981).

II.1.1 Karakteristik Sistem

Sistem mempunyai sifat tertentu yang mempunyai komponen-komponen, yang

meliputi : batasan sistem, lingkungan luar sistem, penghubung, sasaran, tujuan.

II.1.2 Elemen Sistem

Elemen-elemen yang terdapat di sistem meliputi: tujuan, batasan, kontrol,

masukkan, proses, keluaran dan umpan balik. Hubungan antar elemen dalam sistem

dapat dilihat pada gambar di bawah ini:

Gambar 2.1 Elemen-elemen sistem

TUJUAN

BATASAN

KONTROL

PROSES KELUARAN MASUKAN

N

UMPAN BALIK

Page 33: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

8

Dari gambar 2.1, dapat dijelaskan bahwa : tujuan, batasan dan kontrol sistem

berpengaruh pada masukan, proses dan keluaran. Masukan yang diterima sistem

diproses sehingga menghasilkan keluaran. Keluaran dianalisa menjadi umpan balik.

Bagi penerima dari umpan balik ini muncul segala macam pertimbangan untuk

masukkan selanjutnya. Siklus ini berlanjut dan berkembang sesuai dengan

permasalahan yang ada.

II.2 Konsep Dasar Sistem Informasi

Informasi sangat penting dalam suatu organisasi. Suatu informasi dapat

diperoleh dari sistem informasi. Sesuai dengan yang dikutip oleh Jogiyanto, menurut

Robert A. Leitch dan K. Roscoe Davis sistem informasi didefinisikan sebagai berikut:

“Sistem informasi adalah suatu sistem dalam suatu organisasi yang

mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi,

bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan

pihak luar tertentu dengan laporan-laporan yang diperlukan. ” (Jogiyanto, 1989

: 11)

II.2.1 Komponen Sistem Informasi

John Burch dan Gery Grundnitski mengemukakan bahwa untuk membangun

suatu sistem informasi tersusun dari komponen atau blok pembangun sebagai berikut :

Masukan, Model, Keluaran, Basis data, Teknologi, dan Kendali.

Keenam blok berinteraksi membentuk sistem informasi yang mencapai

sasarannya adalah :

1. Blok Masukan

Masukan mewakili data yang masuk ke dalam sistem informasi. Masukan

disini termasuk metode-metode dan media untuk menangkap data yang akan

dimasukkan, yang dapat berupa dokumen-dokumen dasar.

Page 34: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

9

2. Blok Model

Blok ini terdiri dari kombinasi prosedur, logika dan model matematik yang

akan memanipulasi data masukkan dan data yang tersimpan di basis data dengan cara

tertentu untuk menghasilkan keluaran yang diinginkan.

3. Blok Keluaran

Merupakan informasi yang berkualitas dan dokumentasi yang berguna untuk

semua tingkat manajemen serta semua pemakai sistem.

4. Blok Teknologi

Teknologi merupakan “kotak alat” (tool-box) dalam sistem informasi.

Teknologi digunakan untuk menerima masukkan, menjalankan model, menyimpan

dan mengakses data, menghasilkan dan mengirimkan keluaran dan membantu

pengendalian dari sistem secara keseluruhan. Teknologi terdiri dari 3 bagian utama

yaitu teknisi (humanware atau brainware), perangkat lunak (software) dan perangkat

keras (hardware).

5. Blok Basis Data (Database)

Basis data merupakan kumpulan dari data-data yang saling berhubungan satu

dengan yang lain, tersimpan di perangkat keras komputer dan digunakan oleh

perangkat lunak untuk memanipulasinya. Data dalam basis data perlu diorganisasikan

sedemikian rupa agar informasi yang dihasilkan berkualitas. Basis data diakses atau

dimanipulasi dengan menggunakan perangkat lunak paket yang disebut dengan

DBMS (Basis data Management Systems).

6. Blok Kendali

Beberapa pengendalian perlu dirancang dan diterapkan untuk meyakinkan

bahwa hal-hal yang dapat merusak sistem dapat dicegah ataupun bila terlanjur terjadi

kesalahan-kesalahan dapat segera diatasi, seperti bencana alam, api, temperatur, air,

Page 35: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

10

debu, kecurangan-kecurangan, kegagalan-kegagalan sistem itu sendiri, kesalahan-

kesalahan, ketidakefisienan, sabotase dan lain sebagainya.

II.3 Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak memiliki tahapan–tahapan kegiatan yang bertujuan

untuk mencapai (Pressman, R.S., 2002) :

1. Pengoptimalan sumber daya (biaya, personil maupun peralatan).

2. Pembangunan perangkat lunak yang sesuai dengan jadwal (cepat).

3. Pemeliharaan perangkat lunak yang lebih mudah.

4. Hasil yang memuaskan customer.

Terdapat empat tahapan dalam rakayasa perangkat lunak, yaitu :

a. Pengumpulan Kebutuhan

Tahapan ini merupakan tahapan dasar yang digunakan oleh pengembangan

untuk mengumpulkan seluruh informasi yang akan dikelola suatu perangkat lunak.

Informasi–informasi yang dikumpulkan untuk pengembangan adalah informasi yang

dinilai dapat bermanfaat atau dibutuhkan oleh pengguna (user). Ada berapa kegiatan

yang dilakukan dalam mengumpulkan informasi ,antara lain:

1. Mengumpulkan informasi mengenai penyebab masalah.

2. Mengumpulkan informasi yang menjadi dasar dalam proses pengambilan

keputusan.

3. Mengumpulkan informasi untuk mengidentifikasikan personil–personil kunci

yang akan menggunakan sistem.

b. Analisis Sistem

Tahapan ini merupakan tahapan pemodelan sistem dalam bentuk diagram,

berupa Data Flow Diagram dan E-R Diagram.

c. Perancangan

Page 36: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

11

Perancangan perangkat lunak meliputi beberapa kegiatan, yaitu :

1. Perancangan Data

Kegiatan ini berupa perancangan tabel–tabel basis data yang akan berpengaruh

bagi perangkat lunak. Perancangan ini sudah mulai mendefinisikan tabel–tabel

basis data secara terperinci. Field–field apa saja yang akan digunakan dalam

perangkat lunak, tipe–tipe dari field yang digunakan, dan lain sebagainya.

2. Perancangan Arsitektural (fungsi serta proses pada perangkat lunak)

Perancangan arsitektural meliputi :

- Pembuatan Data Flow Diagram yang rinci.

- Pendefinisian dari algoritma modul.

- Pembuatan struktur modul.

3. Perancangan Antar Muka Pemakai

Antar muka pemakai merupakan jembatan penghubung antara entitas-entitas

dan sistem . Desain antar muka yang baik sangat dibutuhkan supaya user

mampu untuk mengoperasikan perangkat lunak dengan mudah. Selain itu,

antar muka juga memiliki peranan untuk membentuk “image” user terhadap

citra, misi, dan visi perangkat lunak yang dibangun. Perancangan antar muka

user meliputi beberapa hal, yaitu :

- Perancangan Struktur Menu

Merancang menu–menu yang akan ditampilkan dalam suatu system.

- Perancangan jendela–jendela yang ditampilkan.

Merancang tata letak (lay out) jendela aplikasi yang ingin ditampilkan.

d. Implementasi

Tahapan ini merupakan tahapan pengkodean dari hasil perancangan. Di dalam

tahapan ini, pengembang mulai membuat sistem aplikasi dengan menggunakan

Page 37: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

12

bahasa pemrograman, misalnya PHP (Personal Home Pages). Pengkodean ini

disesuaikan dengan diagram–diagram yang telah dibuat, tabel–tabel basis data yang

telah dirancang ataupun algoritma dan struktur dari modul.

II .4 DFD (Data Flow Diagram)

Data Flow Diagram (DFD) adalah diagram yang menggunakan notasi-notasi

untuk menggambarkan arus dari data secara logika tanpa mempertimbangkan

lingkungan fisik dimana data tersebut mengalir atau akan disimpan. DFD merupakan

alat yang digunakan pada metodologi pengembangan sistem yang terstruktur

(structure analysis and design).

Beberapa simbol yang digunakan dalam DFD :

1. External Entity (kesatuan luar)

Kesatuan luar merupakan kesatuan di luar lingkungan sistem yang dapat

berupa orang, organisasi atau sistem lainnya yang akan memberikan input atau

menerima output dari sistem. Kesatuan luar disimbolkan sebagai berikut :

2. Data flow (arus data)

Arus data dalam DFD diberi simbol suatu panah, yang dapat mengalir

dari data yang berupa masukan untuk sistem atau hasil dari suatu sistem. Arus

data biasanya diberi nama yang jelas dan mempunyai arti. Arus data

disimbolkan sebagai berikut :

Nama Arus Data

3. Process (proses)

Suatu proses adalah kegiatan atau yang dilakukan oleh orang, mesin atau

komputer dari hasil suatu arus data yang masuk ke dalam proses untuk

Page 38: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

13

dihasilkan arus data yang akan keluar dari proses. Notasi proses dalam DFD

adalah sebagai berikut :

Indetifikasi

Nama Proses

4. Data store (simpanan data)

Simpanan data merupakan simpanan dari data yang dapat berupa:

Suatu file atau database di dalam sistem komputer.

Suatu arsip atau catatan manual.

Suatu tabel acuan manual.

Suatu agenda atau buku.

Simpanan data dalam DFD disimbolkan dengan sepasang garis

horisontal paralel yang tertutup di salah satu ujungnya.

Nama data store

Med

ia

II.5 Entity Relationship Diagram (E-R Diagram)

Hubungan antar entiti (Entity Ralationship modelling) merupakan salah satu

implementasi pendekatan dari atas ke bawah yang paling umum digunakan. Hal ini

dilakukan untuk merancang tabel, hubungan antar tabel, mengidentifikasikan, primary

key dan foreign key, dan aturannya, serta domain untuk database. Dalam pemodelan

ini, tahapan yang dilakukan adalah sebagai berikut:

1. memilih entity-entity yang akan disusun oleh database dan menentukan

hubungan antar entiti yang telah dipilih.

2. melengkapi atribut-atribut yang sesuai pada entiti dan hubungan, sehingga

diperoleh tabel normal yang penuh (tabel ternormalisasi).

Page 39: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

14

Sama dengan alat yang lain pada diagram E-R yang kita sebut kemudian,

diagram ini memiliki simbol-simbol antara lain:

TEXT

Entity kesatuan luar

Hubungan / ralasi

Atribut

Relasi antar tabel

Nama Relasi

memilikiSiswa Nilai

I

No Induk Siswa

Nama Siswa

Mata Pelajaran

Guru mata

pelajaran

Gambar 2.2 contoh E-R Diagram

Dalam diagram E-R dikenal adanya derajat hubungan (relationship) antara

entity yang menyatakan jumlah anggota entity yang terlibat dalam ikatan atau relasi

yang terjadi. Derajat hubungan tersebut antara lain :

a. Relasi one to one (1:1)

Relasi ini terjadi bila tiap anggota entiti A hanya boleh berpasangan dengan

tepat satu anggota entiti B. Hubungan 1:1 mencakup juga relasi 1:0 dan 0:1

b. Relasi one to many (1:m)

Relasi ini terjadi bila tiap anggota entiti A berpasangan lebih dari satu

anggota entiti B. hubungan one to many mencakup relasi 1:1, 0:1, 1:1

c. Relasi many to many (m : m)

Relasi ini terjadi bila tiap anggota entiti A boleh berpasangan dengan lebih

dari satu anggota entiti B, begitu juga sebaliknya tiap anggota B boleh

Page 40: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

15

berpasangan dengan lebih dari satu anggota entiti A. Relasi ini mencakup

1:m, 1:1, 1:0, 0:1

II.6 Teknologi Client-Server

Client/Server merupakan relasi antara program di dua komputer di mana

komputer client dapat meminta layanan dari program lain seperti email, akses web

dan akses basis data yang berbasis client/server. Di mana pada sistem ini terdapat dua

aplikasi yang terpisah yaitu aplikasi client dan aplikasi server. Client merupakan

sebuah komputer yang berisi aplikasi, dan memiliki tanggung jawab untuk melakukan

interaksi dengan user. Jadi setiap yang dikehendaki para user akan ditangani terlebih

dahulu oleh client. Sebagai contoh adalah, client menerima masukan dari user yang

dilakukan melalui keyboard. Server merupakan sebuah komputer yang berisi DBMS

serta database, dan menjadi pusat seluruh kegiatan menangani permintaan-permintaan

yang dilakukan oleh client.

Kunci utama untuk memahami sistem ini adalah, aplikasi client membuat

suatu permintaan (make a request) kemudian server merespon permintaan (server

responding). Dengan adanya dua aplikasi yang terpisah ini sebelun aplikasi client

dapat terhubung ke server, aplikasi server harus dijalankan terlebih dahulu.

Mekanisme keamanan data diterapkan pada sistem client/server sangat tinggi,

sehingga aplikasi client tidak dapat dibuka file-file data yang berada di server secara

langsung. Pada dasarnya client harus melakukan login dengan memasukkan userid

serta password yang telah ditentukan. Begitu proses login berhasil kemudian aplikasi

server akan memberikan layanan untuk membuka database yang diminta user (client).

Dalam hal pengaksesan data juga masih ditentukan oleh hak akses (access granted),

sehingga tidak semua layanan dapat dilakukan client, akan tetapi bergantung pada hak

akses yang diberikan.

Page 41: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

16

II.7 Java

II.7.1 JDBC

JDBC merupakan teknologi Java yang ditujukan untuk pengolahan data.

JDBC ini merupakan Java API yang mendukung program Java untuk mengakses

relational databases. Dengan menggunakan JDBC API, aplikasi yang menggunakan

bahasa pemrograman Java dapat melakukan eksekusi perintah SQL, mendapatkan

hasil, menampilkan data dengan tampilan yang user-friendly dan mengembalikan

perubahan data ke database. Gambar di bawah ini menunjukkan hubungan antara

program Java, JDBC API dan JDBC Driver. JDBC Driver ini menghubungkan antara

JDBC API dengan database seperti MySQL, Oracle dan Microsoft Access sehingga

program Java dapat mengakses database tersebut.

Gambar 2.3 Hubungan Java Program, JDBC API, JDBC Driver

Dalam pemrograman JDBC dikenal komponen-komponen sebagai berikut :

1. Driver

Interface ini menangani komunikasi dengan database server dan

mengenkapsulasi proses internal dalam interaksi dengan database. Sangat jarang

Page 42: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

17

berhubungan dengan object Driver tapi akan langsung berurusan dengan

DriverManager.

2. DriverManager

Menggunakan object DriverManager untuk menangani objek Driver

dimana objek DriverManager juga mengabstraksi detail dari proses kerja objek

Driver

3. Connection

Objek ini merepresentasikan koneksi fisik ke database. Kita dapat

mengatur sifat result set dan operasi transaksi dengan object Connection ini.

4. Statement

Kita akan menggunakan objek dari interface ini untuk mengirimkan

perintah SQL ke database. Interface turunan dari Statement memungkinkan

untuk menerima parameter untuk mengeksekusi store procedure

5. ResultSet

Objek ini akan menyimpan data yang di dapat dari database setelah

menjalankan query sql dengan menggunakan objek Statement. Objek ini

bertindak sebagai iterator untuk menavigasi data.

6. SQLException

Objek ini merupakan objek turunan dari Exception yang sering

digunakan untuk penanganan error dari pemrograman JDBC.

II.7.2 JAVA SOCKET

Socket adalah sebuah abstraksi perangkat lunak yang digunakan sebagai suatu

"terminal" dari suatu hubungan antara dua mesin atau proses yang saling

berinterkoneksi. Di tiap mesin yang saling berinterkoneksi, harus terpasang socket.

Page 43: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

18

Java menyediakan stream sockets dan datagram sockets yang mengatasi

koneksi pada level rendah. Dengan stream socket, sebuah proses akan membangun

koneksi ke proses yang lain. Ketika koneksi telah dibangun, maka data akan mengalir

antara proses-proses tersebut melalui stream. Stream socket ini menyediakan layanan

berorientasi koneksi dengan menggunakan protocol TCP(Transmission Control

Protocol). Dengan datagram socket, paket-paket informasi dikirimkan melalui

protokol UDP(User Datagram Protocol). Dengan protokol ini, tidak ada jaminan

bahwa data yang dikirim tidak akan hilang, mengalami duplikasi atau dikirim secara

berurutan.

Pada J2SE telah disediakan paket java.net yang berisi kelas-kelas dan interface

yang menyediakan API (Application Programming Interface) level rendah (Socket,

ServerSocket, DatagramSocket).

Gambar 2.4 Hubungan Antar Socket

II.8 MYSQL

MySql adalah sebuah sistem manajemen basis data. Basis data merupakan

kumpulan dari data yang terstruktur. Data tersebut bisa berupa daftar belanja yang

sederhana hingga suatu kumpulan gambar atau informasi yang sangat besar

jumlahnya dalam suatu jaringan perusahaan. Untuk menambah, mengakses, dan

memproses data yang tersimpan dalam basis data komputer, diperlukan suatu sistem

manajemen basis data seperti MySql. Sejak komputer dapat menangani data yang

Page 44: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

19

besar dengan baik, manajemen basis data memainkan peran inti dalam dunia

komputer, baik sebagai perlengkapan yang berdiri sendiri, maupun sebagai bagian

dari aplikasi lain.

MySql merupakan sistem manajemen basis data relasional. Relasional basis

data biasanya menempatkan data dalam tabel-tabel yang terpisah daripada

menempatkan semuanya ke dalam suatu ruang penyimpanan besar. Hal tersebut

bertujuan untuk meningkatkan kecepatan dan fleksibilitas.

Perintah-perintah dasar dalam MySQL

1. Untuk membuat basis data.

Contoh :

CREATE BASIS DATA MYSQL;

Perintah diatas untuk membuat basis data dengan nama MYSQL.

2. Untuk menghapus basis data.

Contoh :

DROP BASIS DATA MYSQL;

Perintah diatas digunakan untuk menghapus basis data MYSQL.

3. Untuk melihat / menampilkan semua basis data yang ada pada server.

Contoh :

SHOW BASIS DATAS;

4. Untuk masuk atau menggunakan basis data yang dikehendaki.

Contoh :

USE MYSQL;

5. Untuk membuat tabel.

Contoh :

CREATE TABLE CITY (id_kota SMALLINT NOT NULL, nama_kota

VARCHAR(25));

Page 45: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

20

6. Untuk melihat tabel-tabel yang ada didalam basis data.

Contoh :

SHOW TABLES;

7. Untuk menghapus tabel yang ada didalam basis data.

Contoh :

DROP TABLE CITY;

8. Untuk menampilkan secara lengkap atau detail suatu tabel ataupun field-field

dan tipe data.

Contoh :

DESC CITY;

9. Untuk menampilkan data-data dari basis data sesuai dengan yang diinginkan.

Contoh :

SELECT * FROM CITY;

SELECT id_kota, nama_kota FROM CITY;

SELECT * FROM CITY WHERE nama_kota = “YOGYA”;

10. Untuk memasukan data ke dalam basis data.

Contoh :

INSERT INTO CITY (id_kota, nama_kota) VALUES (“274”, “YOGYA”);

11. Untuk mengudate ataupun mengubah data yang ada pada basis data.

Contoh :

UPDATE CITY SET id_kota = “275” WHERE nama_kota = “YOGYA”;

12. Untuk menghapus data-data yang ada pada basis data.

Contoh :

DELETE FROM CITY WHERE nama_kota = “YOGYA”;

Page 46: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

21

BAB III

ANALISIS DAN PERANCANGAN SISTEM

III.1 Analisis Sistem

Sistem informasi ini muncul karena permasalahan mekanisme sistem lama

yang masih manual dalam menyimpan data-data dan pengolahan serta pencatatannya

masih berulang-ulang, sehingga dimungkinkan adanya data-data yang hilang ataupun

efisiensi kerja kurang. Salah satu pemecahan masalah tersebut adalah dengan

membuat sistem informasi akademik dengan program yang ber-database yang lebih

mudah penggunaannya. Sistem informasi akademik dan administrasi merupakan

perangkat lunak yang digunakan untuk menyediakan jasa informasi data siswa, nilai

akademik, pembayaran biaya bimbingan (administrasi). Sistem ini ditujukan untuk

bagian pengajaran dan administrasi siswa.

Fokus dari sistem informasi ini pertama adalah melakukan pengolahan nilai

dari data masukan bagian pengajaran dan yang kedua adalah melakukan pengolahan

data administrasi untuk mengetahui pembayaran biaya bimbingan oleh siswa.

III.1.1 Gambaran Umum Sistem yang Baru

Dalam kerja awal dari sistem ini membutuhkan proses login yang

membedakan antara tiap-tiap user. Administrator dalam sistem ini adalah bagian

pengajaran dan administrasi, dan pihak user lainnya yaitu siswa. Pada pihak

bagian pengajaran sistem ini dapat menyimpan rekam data dari data-data siswa,

menyimpan data-data nilai dari mata pelajaran yang ada serta mencari data siswa

berdasar nomor induk siswa. Sedangkan dari pihak siswa dapat melihat data

pribadi, data pembayaran dan data nilai mereka masing-masing.

Page 47: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

22

III.1.2 Analisis Kebutuhan Sistem

Dalam melihat segi kebutuhan dari Sistem Informasi Akademik dan

Administrasi Lembaga Bimbingan Belajar Neutron Yogyakarta maka dapat ditinjau

dari 2 sisi yaitu sisi server (server side) dan sisi klien (client side). Kebutuhan yang

harus disediakan sistem adalah dapat melayani berbagai pihak.

Sisi bagian pengajaran (akademik) dan administrasi (User Administrator)

Fasilitas yang diharapkan dari sistem adalah:

a. Mengolah data seperti input, edit data siswa, data mata pelajaran,

informasi dari data nilai, dan informasi administrasi siswa.

b. Sebagai pihak yang mengkoordinasi semua hak-hak dari user.

c. Menampilkan informasi dari semua data yang telah diinputkan.

Sisi Siswa(User)

Fasilitas yang akan di dapatkan oleh user yaitu:

a. Menampilkan informasi nilai akademik siswa.

b. Menampilkan informasi mengenai pembayaran biaya bimbingan.

c. Menampilkan informasi mengenai data diri siswa.

LBB Neutron Yogyakarta, memiliki beberapa program untuk siswa-siswanya.

Adapun program tersebut yaitu :

Untuk kelas 1 SMA : reguler 1 SMA.

Untuk kelas 2 SMA : reguler 2 SMA IPA dan reguler 2 SMA IPS.

Untuk kelas 3 SMA :reguler 3 SMA IPA, reguler 3 SMA IPS, Program

Minggu 3 SMA IPA, Program Minggu 3 SMA IPS, SPMB 3 IPA,

SPMB 3 IPS, PIKPU Murni 3 IPA, PIKPU Murni 3 IPS, dan PIKPU

Murni 3 IPC.

Page 48: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

23

Program reguler berjalan sesuai tahun ajaran sekolah, masuk 3 kali dalam 1

minggu. Siswa dapat memilih satu dari empat pilihan kelompok kelas untuk tiap

program yang telah dijadwalkan berdasar hari dan jam masuk. Sedangkan program

minggu, merupakan penyederhanaan dari program reguler, masuk setiap hari minggu

dengan fokus pembahasan soal. Program SPMB dan PIKPU, dibuka dan dilaksanakan

pada semester akhir menjelang kelulusan, dengan fokus membantu siswa

mempersiakan diri menghadapi SPMB dan PIKPU. Siswa kelas 3 diperbolehkan

untuk mengambil beberapa program, semisal reguler dengan SPMB atau reguler

dengan PIKPU.

Setelah mendaftar, siswa akan mendapatkan nomor induk dengan format 2

digit pertama merupakan kode program yang diambil, diikuti 2 digit tahun angkatan,

dan 3 digit nomor urut. Dengan format NIS seperti diatas, siswa akan mendapatkan

NIS baru setiap mengambil program.

Contoh : Anto tahun 2006 mengambil program reguler 1 SMA, dia mendapat

NIS 0106075, tahun berikutnya dia tidak ikut bimbingan, pada tahun 2008, dia

mendaftar ikut program reguler 3 IPA, dia mendapat NIS 0408006. Menjelang

kelulusan, Anto mendaftar program PIKPU 3 IPC, dia mendapat NIS lagi yaitu

1108025. Hal seperti ini dianalogikan seperti mahasiswa yang mengambil 2 jurusan

(misal Teknik Mesin dan Sastra Inggris).

Siswa juga mendapatkan nomor pembayaran untuk tiap program yang mereka

ambil, nomor pembayaran akan memiliki format 3 digit pertama adalah kode cabang

LBB, diikuti nomor induk siswa.

Pada contoh diatas, maka Anton pada waktu tahun 2006 mengambil program

reguler 1 SMA, dia mempunyai nomor pembayaran 1110106075. Sedangkan pada

Page 49: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

24

tahun 2008, untuk program reguler 3 IPA nomor pembayarannya adalah 1110408006

sedangkan untuk program PIKPU 3 IPC nomor pembayarannya adalah 1111209025.

Dalam proses pembayarannya, siswa pertama kali membayar biaya

pendaftaran. Kemudian ada kriteria dari pihak LBB Neutron untuk memberikan

keringanan biaya, semisal siswa berprestasi, siswa anak dari bapak atau ibu guru

kerjasama, siswa yang mendapat surat rekomendasi. Siswa diperkenankan untuk

melakukan pembayaran satu kali lunas atau melakukan angsuran pembayaran, dengan

jumlah angsuran maksimal 3 kali angsuran. Jangka waktu antar angsuran

diberlakukan 30 hari setelah tanggal pembayaran terakhir. Pembayaran angsuran yang

pertama minimal 50% atau setengah dari total biaya bimbingan. Untuk siswa jatuh

tempo pembayaran akan dilakukan pemanggilan.

Page 50: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

25

III.1.3 Use Case Diagram

Bagian

Administrasi

dan Akademik

Siswa

Login

Rekam Data Siswa

Edit Data Siswa

Lihat Data Siswa

Cari Data Siswa

Rekam Data Nilai

Edit Data Nilai

Lihat Data Nilai

Cari Data Nilai

Rekam Data

Administrasi

Update Data

Administrasi

Lihat Data

Administrasi

Cari Data

Administrasi

Depend on

Gambar 3.1 Use Case Diagram

III.1.4 DFD (Data Flow Diagram)

DFD adalah diagram untuk menggambarkan proses data yang mengalir dari

entitas ke sistem ataupun sebaliknya. Identifikasi kesatuan luar dari sistem dan

masukkan ataupun keluaran yang terlibat dengan kesatuan tersebut.

Page 51: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

26

III.1.4.1 Context Diagram

0

SISTEM INFORMASI

AKADEMIK dan

ADMINISTRASI

A. Bagian

Akademik dan

Administrasi

B. Siswa

Data Siswa, Data

User, Data Mapel,

Data Nilai, Data

Admnistrasi

Data Siswa, Data

Mapel, Data Nilai,

Data Admnistrasi

ID User, Login_As,

Password, Data Siswa,

Data Administrasi, Data

Mapel, Kode Mapel, Data

Nilai, Data Program, Kode

Program, Data Kelas,

Kode Kelas

ID User, Login_As,

Password, Data

Siswa

Gambar 3.2 Context Diagram

Page 52: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

27

III.1.4.2 Bagan Berjenjang

0

SI

Ak

adem

ik d

an

Ad

min

istr

asi

LB

B

4

Pen

go

lah

an D

ata

Ak

adem

ik /

Nil

ai

3

Pen

go

lah

an D

ata

Sis

wa

1

Lo

gin

2

Val

idas

i

Use

r

5

Pen

go

lah

an D

ata

Ad

min

istr

asi

3.1

p

Rek

am D

ata

Sis

wa

3.3

p

Lih

at D

ata

Sis

wa

3.2

p

Ed

it

Dat

a S

isw

a

3.4

p

Car

i

Dat

a S

isw

a

4.1

p

Rek

am D

ata

Nil

ai

4.3

p

Lih

at D

ata

Nil

ai

4.2

p

Ed

it

Dat

a N

ilai

4.4

p

Car

i

Dat

a N

ilai

5.1

p

Rek

am D

ata

Ad

min

istr

asi

5.3

p

Lih

at D

ata

Ad

min

istr

asi

5.2

p

Ed

it D

ata

Ad

min

istr

asi

5.4

p

Car

i D

ata

Ad

min

istr

asi

Gambar 3.3 Bagan Berjenjang

Page 53: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

28

III.1.4.3 DFD Level 0

A. Bagian

Administrasi dan

Akademik

B. Siswa

User, password

validasi

D1 SISWA

Data siswa

Data baru siswaData siswa

User, NIS

Data siswa

Data nilai

D2 NILAIData nilai baru

Data nilai

D3 PEMBAYARAN

Data Nilai

Data Administrasi

validasiD4 USER

Keterangan validasiValidasi OK

Validasi OK

NIS, Nilai, Id_Mapel

No_Resi, Tgl, Jml_dibayar

1

Login

2

Validasi User

3

Pengolahan

Data Siswa

4

Pengolahan

Data

Administrasi

5

Pengolahan

Data

AdministrasiData Administrasi

Data Administrasi

baru

Data Administrasi

baru

Gambar 3.4 DFD Level 0

III.1.4.4 DFD Level 1 Proses 3

A. Bagian

Administrasi

dan

Akademik

B. Siswa

Data siswa, tgl Data siswa baru

Data siswa baru

Data siswa

Data siswa

D1 SISWA

Data siswa

Nama/NIS

Data Siswa

Cari data siswa

Data Pribadi Siswa

NIS

Data Pribadi Siswa

User, PasswordValidasi OK

Validasi OK

Validasi OK

Validasi OK

User, Password

3.1p

Rekam Data

Siswa

3.2p

Edit Data

Siswa

3.3p

Lihat Data

Siswa

3.4p

Cari Data

Siswa

1

Login

Gambar 3.5 DFD Level 1 Proses 3

Page 54: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

29

III.1.4.5 DFD Level 1 Proses 4

A. Bagian

Administrasi

dan

Akademik

B. Siswa

NIS,nilai,id_mapel Data nilai baru

Data nilai baru

Data nilai

D2 NILAI

NIS,nilai,id_mapel

Nama/NIS

Data Nilai

Cari data nilai

Data Nilai Siswa

NIS

Data Nilai Siswa

User, Password

Validasi OK

Validasi OK

Validasi OK

Validasi OK

User, Password

D5 MATA PELAJARAN

Data Nilai

Data Mapel

Data Mapel

4.1p

Rekam Data

Nilai

4.2p

Edit Data

Nilai

4.3p

Lihat Data

Nilai

4.4p

Cari Data

Nilai

1

Login

Gambar 3.6 DFD Level 1 Proses 4

III.1.4.6 DFD Level 1 Proses 5

A. Bagian

Administrasi

dan

Akademik

B. Siswa

NIS,no_resi,jml_byr,tgl Data pembayaran baru

Data pembayaran baru

Data pembayaran

D3 PEMBAYARAN

NIS,no_resi,jml_byr,tgl

Nama/NIS

Data pembayaran

Cari data pembayaran

Data Pembayaran Siswa

NIS

Data Pembayaran Siswa

User, Password

Validasi OK

Validasi OK

Validasi OK

Validasi OK

User, Password

Data pembayaran

5.1p

Rekam Data

Administrasi

1

Login

5.2p

Edit Data

Administrasi

5.3p

Lihat Data

Administrasi

5.4p

Cari Data

Administrasi

Gambar 3.7 DFD Level 1 Proses 5

Page 55: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

30

III.1.5 Pemodelan Data (ER D)

Gambar 3.8 ER Diagram

1

Am

bil

11

Pro

gra

m

Punya

User

Id_

Use

r

Pa

ssw

ord

Log

in_A

s

No_

Pe

mb

aya

ran

NIS

Tgl_

Daft

ar

Bia

ya

_P

end

afta

ran

Bia

ya

_B

imb

inga

n

No

_R

esi1

Po

ton

ga

n

Tg

l_B

aya

r_1

Jm

l_B

aya

r_1

Te

rbilan

g_

1

No_

Re

si_

2

Tg

l_B

aya

r_2

Jm

l_B

ayar_

2

Te

rbilan

g_2

No

_R

esi_

3

Tg

l_B

ayar_

3

Jm

l_B

ayar_

3

Terb

ilan

g_3

Tgl_

Jatu

h_

Te

mpo

Jm

l_B

iaya

Tota

l_D

iba

yar

Ke

tera

nga

n

Ma

ta P

ela

jara

n

Na

ma_

Ma

pel

Bia

ya

Pu

nya

Punya

NIS

Id_

Pro

gra

m

Id_

Ma

pel

NR

N3

N2

N1

Data

Sis

wa

Nam

a

TT

L

Asa

l_S

ekola

hK

ela

s

Nam

a_

Ort

u

Ala

mat_

Ru

ma

h

Peke

rjaa

n_

Ru

ma

h

No

_Telp

Foto

Th

_A

ng

ka

tan

NIS

Id_P

rog

ram

Na

ma_

Pro

gra

m

NIS

Id_

Pro

gra

mId

_P

rog

ram

Id_K

ela

s

Kela

s

Id_

Ke

las

Id_P

rog

ram

Ru

an

gJa

dw

al

Pu

nya

Bia

ya

N

N

N

N

Id_

Ma

pe

l

1

1

N

NN

11

NIS

Id_

Ke

las

Page 56: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

31

III.2 Desain / Perancangan Sistem

III.2.1 Desain Basis Data Sistem

Dalam merancang struktur basis data sistem ini, pertama-tama yang dilakukan

adalah membuat E-R Diagram (Entity Relational Diagram) yang mana diagram

didasarkan atas persepsi obyek tersebut benar-benar ada (entities) dan terdapat

hubungan antar obyek (relationship). Kemudian dari ERD tersebut dapat kita buat

relasi antar tabel. Pada relasi antara tabel many to many dapat membentuk tabel baru

pada Logical Design, sehingga langkah berikutnya kita dapat merancang tabel-tabel

pada basis data tersebut. Penjelasan tersebut agar lebih jelas dapat kita lihat sebagai

berikut:

Page 57: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

32

III.2.1.1 Logical Database Design

Data_Siswa

PK NIS

Nama

TTL

Asal_Sekolah

Kelas

Program

Kel_Kelas

Nama_Ortu

Alamat_Rumah

Pekerjaan_Ortu

No_telp

Foto

Thn_Angkatan

Program

PK id_program

nama_program

Biaya

Punya_Kelas

Id_Program

Id_Kelas

Mapel

PK id_mapel

id_program (FK)

nama_mapel

Nilai

NIS

id_mapel

id_program

id_kelas

N1

N2

N3

NR

Pembayaran

PK No_pembayaran

NIS (FK)

Id_Program (FK)

Tgl_Daftar

biaya_pendaftaran

dispensasi

no_resi1

jml_bayar1

tgl_bayar1

no_resi2

jml_bayar2

tgl_bayar2

no_resi3

jml_bayar3

tgl_bayar3

tgl_jatuh_tempo

total_dibayar

total_biaya

User

PK id_user

login_as

password

Kelas

PK Id_Kelas

Id_Program (FK)

Ruang

Jadwal

Punya_Program1

NIS

id_program

Gambar 3.9 Relational Tabel

III.2.1.2 Perancangan Tabel (Physical Database Design)

Informasi akademik yang berhubungan dengan nilai akan disimpan dalam

database. Desain database ini dibuat didasarkan atas entitas dan hubungannya antar

Page 58: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

33

obyek pada ER diagram dan desain logika atau relasi tabel. Banyaknya file database

yang akan dibuat terdiri dari beberapa tabel yaitu tabel

Tabel-tabel dari entitas yang mendukung serta atribut dalam perancangan

database ini adalah sebagai berikut :

1. Tabel Data Siswa

Tabel data siswa merupakan tabel yang menyimpan seluruh data

pribadi siswa, yang diperlukan oleh Lembaga Bimbingan Belajar Neutron

Yogyakarta. Dimana nantinya tabel ini akan menjadi tabel induk.

Nama Kolom Tipe Data Keterangan

NIS Varchar (10) Nomor Induk Siswa, sebagai Primary Key

Nama Varchar(250) Nama Siswa Didik

TTL Varchar(50) Tempat Tanggal Lahir

Asal_Sekolah Varchar(100) Sekolah Asal Siswa Didik

Kelas Varchar(10) Tingkat Kelas Siswa Didik

Nama_Ortu Varchar(250) Nama Orangtua Siswa Didik

Alamat_Rumah Varchar(300) Alamat Rumah Siswa Didik

Pekerjaan_Ortu Varchar(50) Pekerjaan Orangtua Siswa Didik

No_Telp Varchar(20) Nomor Telepon Orangtua / Rumah Siswa Didik

Foto Varchar(50) Direktori File Foto Disimpan

Th_Angkatan Integer(4) Tahun Angkatan Siswa

Id_Kelas Varchar(5) Kelas yang dipilih Siswa

Tabel 3.1 Tabel Data Siswa

2. Tabel Program

Tabel program berisi semua program yang ada atau tersedia di

Lembaga Bimbingan Belajar Neutron Yogyakarta.

Nama Kolom Tipe Data Keterangan

Id_Program Varchar(10) ID dari program yang ada, sebagai Primary Key

Nama_Program Varchar(100) Nama program yang ada

Biaya Integer(6) Nominal biaya bimbingan

Tabel 3.2 Tabel Program

Page 59: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

34

3. Tabel Ambil Program

Tabel Ambil Program berisi daftar dari siswa dan prorgam yang

diambil oleh siswa tersebut.

Nama Kolom Tipe Data Keterangan

NIS Varchar(10) Nomor Induk Siswa

Id_Program Varchar(10) ID dari Program yang dipilih

Tgl_Daftar Date Tanggal pendaftaran program Siswa

Tabel 3.3 Tabel Ambil Program

4. Tabel Kelas

Tabel Kelas berisi daftar semua kelas yang ada di Lembaga Bimbingan

Belajar Neutron Yogyakarta, dimana di dalamnya akan berisi data ruang kelas

dan jadwal kelas tersebut masuk.

Nama Kolom Tipe Data Keterangan

Id_Kelas Varchar(10) ID dari Kelas yang ada, sebagai Primary Key

Id_Program Varchar(10) ID dari Program untuk tiap kelas, Foreign Key

NIS Varchar(10) Nomor Induk Siswa

Ruang Varchar(5) Nomor Ruang Kelas

Jadwal Varchar(200) Daftar hari dan jam masuk

Tabel 3.4 Tabel Kelas

5. Tabel Nilai

Tabel Nilai berisi daftar nilai dari siswa untuk setiap mata pelajaran

yang siswa tersebut ambil. Jenis program akan mempengaruhi jenis mata

pelajaran.

Nama Kolom Tipe Data Keterangan

NIS Varchar(10) Nomor Induk Siswa

Id_Program Varchar(10) ID Program yang diambil

Id_Kelas Varchar(10) ID dari Kelas yang diambil

Id_Mapel Varchar(10) ID dari Mata Pelajaran yang diambil

N1 Integer(3) Nilai test 1

N2 Integer(3) Nilai test 2

N3 Integer(3) Nilai test 3

NR Integer(3) Nilai rata-rata

Smester Integer(2) Semester tempuh

Tabel 3.5 Tabel Nilai

Page 60: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

35

6. Tabel Mata Pelajaran

Tabel Mata Pelajaran akan berisi daftar dari semua mata pelajaran

yang ada.

Nama Kolom Tipe Data Keterangan

Id_Mapel Varchar(10) ID dari Mata Pelajaran, sebagai Primary Key

Id_Program Varchar(10) ID dari Program untuk tiap kelas, Foreign Key

Nama_Mapel Varchar(100) Nama Mata Pelajaran yang ada

Tabel 3.6 Tabel Mata Pelajaran

7. Tabel Pembayaran

Tabel Pembayaran berisi data lengkap dari pembayaran biaya

bimbingan dari setiap siswa.

Nama Kolom Tipe Data Keterangan

No_Pembayaran Varchar(15) Nomor Pembayaran Biaya Bimbingan, Primary Key

NIS Varchar(10) Nomor Induk Siswa, Foreign Key

Tgl_Daftar Date Tanggal Pendaftaran

Biaya_Pendaftaran Integer(5) Biaya Pendaftaran

Biaya_Bimbingan Integer(6) Biaya Bimbingan, sesuai Program yang diambil

Potongan Integer(5) Potongan Pembayaran

No_Resi_1 Varchar(15) Nomor Kuitansi Pembayaran Pertama

Tgl_Bayar_1 Date Tanggal Pembayaran Pertama

Jml_Bayar_1 Integer(6) Nominal Pembayaran Pertama

No_Resi_2 Varchar(15) Nomor Kuitansi Pembayaran Kedua

Tgl_Bayar_2 Date Tanggal Pembayaran Kedua

Jml_Bayar_2 Integer(6) Nominal Pembayaran Kedua

No_Resi_3 Varchar(15) Nomor Kuitansi Pembayaran Ketiga

Tgl_Bayar_3 Date Tanggal Pembayaran Ketiga

Jml_Bayar_3 Integer(6) Nominal Pembayaran Ketiga

Tgl_Jatuh_Tempo Date Tanggal Jatuh Tempo Pembayaran

Total_Dibayar Integer(6) Nominal yang sudah Dibayar

Jml_Biaya Integer(6) Jumlah Keseluruhan Biaya

Keterangan Varchar(10) Keterangan Pembayaran (Lunas atau Belum)

Tabel 3.7 Tabel Pembayaran

Page 61: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

36

8. Tabel User

Tabel user berisi daftar dari setiap user yang dapat masuk kedalam

sistem. Untuk siswa password akan berisi nomor induk siswa. Sedangkan

untuk karyawan, akan memiliki password tersendiri.

Nama Kolom Tipe Data Keterangan

Id_User Integer(3) Nomor User, sebagai Primary Key

Login_As Varchar(25) User Login Sebagai

Password Varchar(10) Password untuk tiap user

Tabel 3.8 Tabel User

III.2.2 Desain Antar Muka (Desain Interface)

Desain antar muka merupakan rancangan halaman yang digunakan oleh user

atau pengguna sistem dalam memasukkan atau menampilkan data-data dari sistem

sehingga terjadi interaksi di keduanya. Desain untuk user dirancang memudahkan

penggunaan sehingga pemakai dapat mengerti langkah demi langkah dalam

pengoperasiannya dalam menampilkan, menginputkan atau mengolah data-data yang

berhubungan dengan sistem. Pada sistem Informasi Nilai Akademik ini, rancangan

sistem antar muka yang akan dibuat adalah sebagai berikut:

Page 62: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

37

III.2.2.1 Form Login

Gambar 3.10 Desain Form Login

Pada saat awal sistem dibuka maka muncul halaman tersebut, User diminta

memasukan inputan pada dua textbox diatas, Login As akan diisi dan menekan

tombol login untuk dapat menjalankan sistem, kemudian oleh sistem terdapat proses

pengecekan dari basis data user untuk menentukan hak akses. Namun jika data

inputan yang dimasukkan tidak sesuai maka muncul pesan dibawah ini.

Berupa tampilan pesan kesalahan dan untuk dapat kembali harus menekan tombol

„OK‟ dan kembali kehalaman sebelumnya.

Pesan kesalahan ……

OK

icon

********** Login As

********** Password

MASUK

NEUTRON YOGYAKARTA

SISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

Gambar 3.11 Desain Pesan Kesalahan

Login

Page 63: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

38

III.2.2.2 Form Bagian Akademik dan Administrasi

III.2.2.2.a Form Pembuka

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

AKADEMIK ADMINISTRASI

KELUAR

Gambar 3.12 Desain Form Awal

User memilih untuk mengakses data akademik atau data administrasi. Jika

tidak, tombol „keluar‟ akan berfungsi untuk keluar dari halaman tersebut ke halaman

login.

III.2.2.2.b Form Menu Akademik

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

AKADEMIK

KELUAR

LIHAT DATA SISWAPENDAFTARAN

CARI DATA SISWAEDIT DATA SISWA

NILAI

Gambar 3.13 Desain Form Menu Akademik

Saat dipilih tombol „Akademik‟, maka user akan dihadapkan pada menu yang

berhubungan dengan data akademik. Mulai dari pendaftaran, edit data siswa, lihat

data siswa, cari data siswa, dan nilai.

Page 64: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

39

III.2.2.2.b.i Form Pendaftaran

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

DATA PRIBADI

DATA ORANGTUA

NIS

NAMA

TTL

ASAL SEKOLAH

KELAS

PROGRAM

KELOMPOK KELAS

FOTO

NAMA ORTU

ALAMAT RUMAH

PEKERJAAN

No. TELP

BATAL SIMPAN LANJUT

Gambar 3.14 Desain Form Pendaftaran

Saat user memilih tombol „Pendaftaran‟ maka akan dihadapkan pada form

untuk mengisi data siswa baru. Kolom NIS sudah akan terisi. Pada form tersebut juga

terdapat 3 tombol, yaitu „batal‟ untuk membatalkan proses, „simpan‟ untuk

menyimpan data siswa, dan „lanjut‟ untuk menuju ke form pembayaran. Kolom

„Kelas‟ diisi tingkat kelas siswa tersebut di sekolah, sedangkan kelompok kelas diisi

kelas pilihan program.

Page 65: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

40

III.2.2.2.b.ii Form Edit Data Siswa

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

DATA PRIBADI

DATA ORANGTUA

NIS

NAMA

TTL

ASAL SEKOLAH

KELAS

PROGRAM

KELOMPOK KELAS

FOTO

NAMA ORTU

ALAMAT RUMAH

PEKERJAAN

No. TELP

BATAL SIMPAN

Gambar 3.15 Desain Form Edit Data Siswa

Saat user memilih edit data siswa, maka user akan dihadapkan pada form

seperti di atas. Sebelumnya, user akan diminta untuk mencari data siswa yang akan

diedit. Kolom NIS tidak akan dapat diedit. User akan disediakan dua buah tombol

untuk membatalkan proses atau menyimpan perubahan data.

Page 66: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

41

III.2.2.2.b.iii Form Lihat dan Cari Data Siswa

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

KELUARKEMBALI

DATA PRIBADI

KELOMPOK KELAS

NAMA

TTL

ASAL SEKOLAH

KELAS

PROGRAM

NIS

DATA ORANGTUA

NAMA ORTU

ALAMAT RUMAH

PEKERJAAN

No. TELP

Gambar 3.16 Desain Form Lihat dan Cari Data Siswa

Untuk menu lihat dan cari data siswa, sebenarnya saling terkait. Untuk

memudahkan operasi, maka dalam form lihat data siswa akan terdapat juga menu

untuk mencari. Sedangkan pada menu cari, akan terdapat pula form lihat data siswa.

Akan terdapat dua tombol, „lanjut‟ untuk melanjutkan ke form lihat data administrasi,

dan „keluar‟ untuk keluar dari proses.

Page 67: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

42

III.2.2.3 Form Menu Nilai

DATA NILAI

KELUAR

LIHAT NILAI

CARI NILAI

INSERT NILAI

EDIT NILAI

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

Gambar 3.17 Desain Form Menu Nilai

Saat user memilih tombol „Nilai‟ pada awal setelah masuk form akademik,

user akan dihadapkan pada form nilai yang berisi menu insert nilai, edit nilai, lihat

nilai, dan cari nilai.

III.2.2.3.a Form Insert Data Nilai

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

NIS

MATA PELAJARAN

JENIS NILAI

NILAI

INSERT DATA NILAI

KELUARSIMPAN

Gambar 3.18 Desain Form Insert Data Nilai

Pada form insert nilai, user pertama memilih NIS sesuai dengan kreiteria

program, kemudian memilih mata pelajaran dan jenis nilai, dan masukkan nilai

kemudian tekan tombol simpan untuk menyimpan data.

Page 68: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

43

III.2.2.3.b Form Edit Data Nilai

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

NIS

MATA PELAJARAN

JENIS NILAI

NILAI

EDIT DATA NILAI

KELUARSIMPAN

Gambar 3.19 Desain Form Edit Data Nilai

Untuk proses edit nilai, user memasukkan NIS, kemudian memilih mata

pelajaran dan jenis nilai yang akan diedit, masukkan nilai baru, dan tekan tombol

„simpan‟ untuk menyimpan perubahan yang dilakukan.

III.2.2.3.c Form Lihat dan Cari Data Nilai

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

NIS

DATA NILAI

KELUAR

CARI

MATA PELAJARAN N1 N2 N3 NR

Gambar 3.20 Desain Form Cari Data Nilai

User akan dihadapkan pada form seperti diatas saat memilih menu lihat dan

cari nilai. Konsep yang digunakan sama dengan form lihat dan cari data siswa. Jadi

dalam satu form terdapat 2 fungsi untuk melihat dan mencari data.

Page 69: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

44

III.2.2.4 Form Menu Pembayaran

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

DATA PEMBAYARAN

KELUAR

LIHAT DATA PEMBAYARAN

CARI DATA PEMBAYARAN

UPDATE DATA PEMBAYARAN

UPDATE BIAYA BIMBINGAN

LIHAT BIAYA BIMBINGAN

Gambar 3.21 Desain Form Menu Pembayaran

Untuk form pembayaran/administrasi, user dihadapkan pada menu untuk

melihat dan mengupdate biaya bimbingan, mengupdate, melihat, dan mencari data

pembayaran.

III.2.2.4.a Form Lihat Biaya Bimbingan

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

PROGRAM

BIAYA

BIAYA BIMBINGAN

KELUARKEMBALI

Gambar 3.22 Desain Form Lihat Biaya Bimbingan

Form melihat biaya bimbingan adalah seperti diatas, jadi user akan memilih

jenis program, setelah memilih program maka akan muncul biaya dari program

tersebut.

Page 70: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

45

III.2.2.4.b Form Update Biaya Bimbingan

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

PROGRAM

BIAYA LAMA

BIAYA BARU

UPDATE BIAYA BIMBINGAN

KELUARBATAL SIMPAN

Gambar 3.23 Desain Form Update Biaya Bimbingan

Form untuk update dapat dilihat seperti diatas, user akan memilih jenis

program, muncul biaya lama, kemudian user memasukkan biaya baru, dan menekan

tombol „simpan‟ untuk menyimpan perubahan, atau „batal‟ untuk membatalkan

proses.

Page 71: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

46

III.2.2.4.c Form Pembayaran Pertama dan Update Pembayaran

NIS

No Resi 1

Pembayaran 1

Terbilang

Tanggal Pembayaran 1

No Resi 2

Pembayaran 2

Terbilang

Tanggal Pembayaran 2

No Resi 3

Pembayaran 3

Terbilang

Tanggal Pembayaran 3

Tanggal Jatuh Tempo

Kekurangan Pembayaran

Biaya Bimbingan

Keterangan

KELUARKEMBALI

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

Gambar 3.24 Desain Form Update Pembayaran

Untuk form pembayaran pertama dan update pembayaran akan memiliki

bentuk yang sama. Jadi setelah user memilih siswa, maka akan muncul form seperti

diatas. Untuk setiap pembayaran, akan mengisi no_resi, jumlah dibayar dan

terbilangnya, dan tanggal pembayaran. Kolom „tangal jatuh tempo‟ akan menapilkan,

akan pembayaran berikutnya jatuh tempo. Kolom keterangan akan menampilkan

informasi, apakah pembayaran sudah lunas atau belum.

Page 72: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

47

III.2.2.4.d Form Lihat dan Cari Data Pembayaran

CARI

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

DATA PEMBAYARAN

NIS

Tanggal Jatuh Tempo

Kekurangan Pembayaran

Biaya Bimbingan

Keterangan

NIS

No Resi 1

Pembayaran 1

Tanggal Pembayaran 1

PEMBAYARAN 1

No Resi 2

Pembayaran 2

Tanggal Pembayaran 2

PEMBAYARAN 2

No Resi 3

Pembayaran 3

Tanggal Pembayaran 3

PEMBAYARAN 3

Gambar 3.25 Desain Form Cari Data Pembayaran

Pada form ini, kolom yang sebelumnya sudah terisi, tidak dapat dilakukan

pengeditan. Fungsi dari form ini hanya untuk mencari dan melihat data pembayaran

saja.

Page 73: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

48

III.2.2.5 Form Siswa

III.2.2.5.a Form Menu Siswa

SELAMAT DATANG

KELUAR

LIHAT DATA NILAI

LIHAT DATA PEMBAYARAN

LIHAT DATA PRIBADI

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

Gambar 3.26 Desain Form Menu Siswa

Form untuk login sebagai siswa akan tertampil seperti diatas. User akan

dihadapkan pada menu untuk melihat data pribadi, data nilai, dan data pembayaran.

III.2.2.5.a.i Form Lihat Data Pribadi Siswa

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

KELUARKEMBALI

DATA PRIBADI

KELOMPOK KELAS

NAMA

TTL

ASAL SEKOLAH

KELAS

PROGRAM

NIS

DATA ORANGTUA

NAMA ORTU

ALAMAT RUMAH

PEKERJAAN

No. TELP

Gambar 3.27 Desain Form Lihat Data Pribadi Siswa

Page 74: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

49

Form lihat data pribadi akan tertampil seperti di atas. Dalam form ini, user

tidak bisa mengubah data apapun.

III.2.2.5.a.ii Form Lihat Data Nilai

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

KELUARKEMBALI

MATA PELAJARAN N1 N2 N3 NR

DATA NILAI

NIS

Gambar 3.28 Desain Form Lihat Data Nilai

Form melihat data nilai akan tertampil seperti di atas. User dapat mengetahui

semua nilai dari semua mata pelajaran yang dia ikuti.

Page 75: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

50

III.2.2.5.a.iii Form Lihat Data Pembayaran

Gambar 3.29 Desain Form Lihat Data Pembayaran

Form untuk melihat data pembayaran akan terlihat seperti diatas. User akan

dapat mengetahui semua pembayaran yang telah dilakukan dan mengetahui semua

data administrasi user tersebut.

CARI

NEUTRON YOGYAKARTASISTEM INFORMASI AKADEMIK dan ADMINISTRASI

Langkah Pasti Meraih Prestasi

DATA PEMBAYARAN

NIS

Tanggal Jatuh Tempo

Kekurangan Pembayaran

Biaya Bimbingan

Keterangan

NIS

No Resi 1

Pembayaran 1

Tanggal Pembayaran 1

PEMBAYARAN 1

No Resi 2

Pembayaran 2

Tanggal Pembayaran 2

PEMBAYARAN 2

No Resi 3

Pembayaran 3

Tanggal Pembayaran 3

PEMBAYARAN 3

Page 76: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

51

III.2.3 Desain Teknologi Secara Terinci

i. Teknologi minimum yang dibutuhkan oleh sistem adalah:

a) Rincian kebutuhan hardware

Server

- Processor pentium IV

- Monitor VGA ke atas

- Kapasitas harddisk 40GB

- RAM 512MB

- LAN card

Client

- Processor pentium IV

- Monitor VGA ke atas

- Kapasitas harddisk minimal 2GB

- RAM minimal 512MB

- LAN card

b) Rincian Kebutuhan Software

Server

- Sistem Operasi Windows 98 keatas

- MySQL basis data

Client

- Sistem Operasi Windows 98 keatas

c) Rincian Kebutuhan Brainware

Minimal menguasai aplikasi under windows.

Page 77: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

52

III.2.4 Desain Hak Akses

Hak akses merupakan suatu batasan yang digunakan untuk membatasi

seorang user dalam mengakses sistem. Hak akses ini sangatlah penting dalam suatu

sistem informasi yang memiliki banyak pemakai atau user, dengan adanya hak akses

pemakai tidak dapat mengunakan sistem secara bebas. Hak akses ini disesuaikan

dengan kebutuhan user terhadap sistem.

Dalam sistem informasi akademik dan administrasi ini, berdasarkan

proses–proses dalam sistem maka terdapat berbagai macam hak akses, seperti proses

penginputan data, proses tampil data, proses edit data, proses cari data untuk bagian

staff akademik dan administrasi, dan proses tampil data untuk siswa bimbingan

belajar, sehingga penting dirasakan untuk membuat hak akses tersebut.

Page 78: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

53

BAB IV

IMPLEMENTASI

Setelah selesai merancang dan menganalisis sistem yang akan dibuat, langkah

selanjutnya adalah mencoba mengimplementasikan ke dalam bahasa yang dapat

dimengerti oleh mesin. Sistem ini dibuat menggunakan software dan hardware

dengan spesifikasi sebagai berikut :

Spesifikasi Software :

1. Sistem Operasi Windows XP Professional.

2. NetBeans 6.5 RC2.

3. MySQL 5.0.

4. SQLyog.

Spesifikasi Hardware :

1. Prosesor AMD Turion X2 2.0 Ghz.

2. Memori 512 Mb.

3. Hard Disk 160 Gb.

IV.1 Pembuatan Database

Pertama yang dilakukan dalam pembuatan Sistem Informasi Akademik dan

Administrasi Lembaga Bimbingan Belajar(LBB) adalah membuat database terlebih

dahulu. Database yang digunakan dalam pengimplementasian sistem ini adalah

dengan menggunakan MySql database dan menggunakan SQLyog untuk melakukan

pemrosesan query.

Langkah-langkah Pembuatan Database:

1. Membuat database baru pada MySQL lewat SQLyog, yang di dalamnya

mengandung semua tabel-tabel yang dibutuhkan.

Page 79: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

54

2. Untuk membuat tabel, mengetik script SQL yaitu create table sesuai dengan

tabel yang diinginkan, dan field yang diinginkan.

Setelah mengetik script SQL, kemudian kita menggunakan program SQLyog

untuk memproses script tersebut sehingga tabel akan berbentuk pada database

MySQL. Dalam database Sistem terdapat 8 tabel yang dibuat sesuai dengan desain

sistem, antara lain :

Database neutron_ta terdiri dari struktur tabel-tabel sebagai berikut :

a. Tabel ambil_program, dibuat dengan sintak SQL:

CREATE TABLE `ambil_program` (

`NIS` varchar(10) NOT NULL,

`Id_Program` varchar(2) NOT NULL default '00',

`Tgl_Daftar` date NOT NULL default '0000-00-00'

);

b. Tabel data_siswa, dibuat dengan sintak SQL sebagai berikut :

CREATE TABLE `data_siswa` (

`NIS` varchar(10) NOT NULL,

`Nama` varchar(150) NOT NULL,

`TTL` varchar(50) NOT NULL,

`Asal_Sekolah` varchar(100) NOT NULL,

`Kelas` varchar(10) NOT NULL,

`Nama_Ortu` varchar(150) NOT NULL,

`Alamat_Rumah` varchar(300) NOT NULL,

`Pekerjaan_Ortu` varchar(50) NOT NULL,

`No_Telp` varchar(20) NOT NULL,

`Foto` varchar(50) NOT NULL,

`Th_Angkatan` varchar(4) NOT NULL,

`Id_Kelas` varchar(2) NOT NULL,

PRIMARY KEY (`NIS`)

);

c. Tabel kelas, dibuat dengan sintak SQL sebagai berikut :

CREATE TABLE `kelas` (

`Id_Kelas` varchar(10) NOT NULL,

`Id_Program` varchar(10) NOT NULL,

`Ruang` varchar(5) NOT NULL,

`Jadwal` varchar(200) NOT NULL,

PRIMARY KEY (`Id_Kelas`,`Id_Program`)

);

Page 80: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

55

d. Tabel mapel, dibuat dengan sintak SQL sebagai berikut :

CREATE TABLE `mapel` (

`Id_Mapel` varchar(10) NOT NULL,

`Id_Program` varchar(10) NOT NULL,

`Nama_Mapel` varchar(50) NOT NULL,

PRIMARY KEY (`Id_Mapel`,`Id_Program`)

);

e. Tabel nilai, dibuat dengan sintak SQL sebagai berikut :

CREATE TABLE `nilai` (

`NIS` varchar(10) NOT NULL,

`Id_Program` varchar(10) NOT NULL,

`Id_Kelas` varchar(10) NOT NULL,

`Id_Mapel` varchar(10) NOT NULL,

`N1` int(2) NOT NULL,

`N2` int(2) NOT NULL,

`N3` int(2) NOT NULL,

`NR` int(2) NOT NULL,

`Smster` int(2) NOT NULL

);

f. Tabel pembayaran, dibuat dengan sintak SQL sebagai berikut :

CREATE TABLE `pembayaran` (

`No_Pembayaran` varchar(15) NOT NULL,

`NIS` varchar(10) NOT NULL,

`Tgl_Daftar` date NOT NULL,

`Biaya_Pendaftaran` int(5) NOT NULL,

`Biaya_Bimbingan` int(6) NOT NULL,

`Potongan` int(5) NOT NULL,

`No_Resi_1` varchar(15) NOT NULL,

`Tgl_Bayar_1` date NOT NULL,

`Jml_Bayar_1` int(6) NOT NULL,

`No_Resi_2` varchar(15) NOT NULL,

`Tgl_Bayar_2` date NOT NULL,

`Jml_Bayar_2` int(6) NOT NULL,

`No_Resi_3` varchar(15) NOT NULL,

`Tgl_Bayar_3` date NOT NULL,

`Jml_Bayar_3` int(6) NOT NULL,

`Tgl_Jatuh_Tempo` date NOT NULL,

`Total_Dibayar` int(6) NOT NULL,

`Jml_Biaya` int(6) NOT NULL,

`Keterangan` varchar(15) NOT NULL,

PRIMARY KEY (`No_Pembayaran`)

);

g. Tabel program, dibuat dengan sintak SQL sebagai berikut :

Page 81: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

56

CREATE TABLE `program` (

`Id_Program` varchar(10) NOT NULL,

`Nama_Program` varchar(100) NOT NULL,

`Biaya` int(7) NOT NULL,

PRIMARY KEY (`Id_Program`)

);

h. Tabel user, dibuat dengan sintak SQL sebagai berikut :

CREATE TABLE `user` (

`Id_User` varchar(10) NOT NULL,

`Login_As` varchar(20) NOT NULL,

`Password` varchar(10) NOT NULL,

PRIMARY KEY (`Id_User`)

);

4. Hasil terakhir database neutron_ta untuk Sistem Informasi Akademik

dan Administrasi LBB, menggunakan mysql dapat dilihat pada gambar

dibawah ini :

Gambar 4.1 Database Sistem Informasi Akademik dan Administrasi (SQLyog)

IV.2 Setting Koneksi dari Java ke MySql

Implementasi sistem informasi nilai akademik ini menggunakan java dan

MySql sebagai databasenya maka membutuhkan class yang berisi statement yang

digunakan untuk melakukan koneksi dari java ke mysql database. Pada class ini

Page 82: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

57

diperlukan melakukan import class ”java.sql.Connection” untuk melakukan koneksi

dari java ke MySql serta ”java.sql.DriverManager” untuk mengidentifikasi driver

dari MySql untuk java, sebelumnya dilakukan penambahan library MySql untuk

java. Berikut adalah listing dari class Koneksi.java :

package NEUTRON;

import javax.swing.*;

import java.sql.Connection;

import java.sql.DriverManager;

public class Koneksi

{

String addr = "jdbc:mysql://localhost:3307/neutron_ta";

Connection sambung;

String user = "root";

String pass = "yayak";

public Koneksi() {}

public void connect()

{

try

{

Class.forName("com.mysql.jdbc.Driver");

sambung = DriverManager.getConnection(addr,user,pass);

} catch(Exception e) {

JOptionPane.showMessageDialog(null,"Koneksi Gagal",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

}

}

}

Listing Program 4.1 Koneksi.java

Class ini akan membuka koneksi tiap kali program dijalankan, inisialisasi

alamat database ditujukan ke localhost lewat port sesuai saat melakukan instalasi

MySql (kali ini memakai port 3306), dengan nama database neutron_ta. Sedangkan

user dan pass diisi sesuai sama dengan sudah didapat dan dibuat saat instalasi MySql.

Page 83: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

58

Jika ketiga aspek tersebut sudah benar, maka proses pembanguna koneksi

berhasil, jika ada salah satu yang salah, akan ditampilkan pesan “Koneksi Gagal”,

sebagai tanda bahwa proses pembangunan koneksi tidak berhasil.

IV.3 Pembuatan User Interface

Setelah proses koneksi berhasil, dimulai pembuatan user interface.

Userinterface dibuat agar user (pemakai program) dapat dengan mudah menjalankan

program tersebut.

IV.3.1 Form UTAMA

Gambar 4.2 Form Utama

Gambar 4.2 merupakan interface form utama yang sekaligus sebagai tampilan

awal dari sistem. Pada form di atas terdapat dua buah tombol yaitu ‟LOGIN‟ dan

‟EXIT‟. Tombol ‟LOGIN‟ digunakan untuk masuk ke form login. Sedangkan tombol

‟EXIT‟ digunakan untuk keluar dari sistem. Kode program untuk action dari kedua

button tersebut di atas adalah sebagai berikut :

Action button Login

Action button login ini digunakan untuk masuk ke form login. Listing program

4.2 merupakan listing program untuk action button login.

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

Page 84: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

59

FormLogin baru = new FormLogin();

baru.setVisible(true);

}

Listing Program 4.2 Action button login

Action button Exit

Action button exit ini digunakan untuk keluar dari sistem informasi ini. Listing

program 4.3 merupakan listing program untuk action button exit.

private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

System.exit(0);

}

Listing Program 4.3 Action button exit

IV.3.2 Form LOGIN

Gambar 4.3 Form Login

Gambar 4.3 merupakan interface form login dari sistem ini. Form Login

merupakan tampilan awal untuk melakukan validasi username dan password sebelum

user masuk ke dalam sistem informasi. Form ini akan muncul jika user menekan

tombol login pada form utama. Form login ini menyediakan sebuah combo box untuk

status login, pemakai sistem akan memilih dia akan login sebagai ‟siswa‟ atau

‟pegawai‟, field input untuk memasukkan username, field password untuk

memasukkan password, serta dua buah button, yaitu : button login dan butteon

kembali. Button login digunakan untuk memulai validasi login setelah user

memasukan status, username dan password. Jika validasi sukses, maka user akan

Page 85: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

60

masuk ke form menu utama. Listing program 4.4 merupakan listing program untuk

action button login

private void LOGIN_ASItemStateChanged(java.awt.event.ItemEvent evt) {

if(LOGIN_AS.getSelectedIndex() == 1) {

status = "SISWA";

} else if(LOGIN_AS.getSelectedIndex() == 2) {

status = "PEGAWAI";

}

}

private void BUTT_LOGINMouseClicked(java.awt.event.MouseEvent evt) {

String pass = new String(IN_PASSW.getPassword());

siswa baru = new siswa();

if(baru.getValidasi(status,IN_USER.getText(),pass)) {

if(LOGIN_AS.getSelectedIndex() == 1) {

this.setVisible(false);

FormMenuSiswa baru1 = new FormMenuSiswa();

baru1.setVisible(true);

baru1.setNis(getNis());

} else if(LOGIN_AS.getSelectedIndex() == 2) {

this.setVisible(false);

FormMenuPegawai baru1 = new FormMenuPegawai();

baru1.setVisible(true);

}

} else {

JOptionPane.showMessageDialog(null,"Anda Tidak bisa Login",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

LOGIN_AS.setSelectedIndex(0);

IN_USER.setText("");

IN_PASSW.setText("");

}

}

Listing Program 4.4 Listing Button Login Form Login

Button yang kedua adalah button back. Button tersebut digunakan untuk

kembali ke form utama. Listing program 4.5 merupakan listing program untuk action

button back

private void BUTT_BACKMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormUtama baru = new FormUtama();

baru.setVisible(true);

}

Listing Program 4.5 Listing Button Back Form Login

Page 86: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

61

Untuk dapat melakukan proses validasi login, diperlukan sebuah method untuk

mendapatkan validasi login user adalah method getValidasi(). Method ini terdapat

dalam kelas siswa. Listing program 4.6 merupakan listing program method

getValidasi().

public boolean getValidasi(String a,String b,String c) {

boolean kondisi = false;

query = "select * from user where Login_As= '"+a+"' and Id_User='"+b+"'

and " + "Password='"+c+"';";

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

while(RS.next()) {

kondisi = true;

}

return kondisi;

} catch(Exception e) {

kondisi = false;

}

return kondisi;

}

Listing Program 4.6 method getValidasi

Jika login salah, baik username dan atau passwordnya, maka akan muncul

peringatan seperti pada gambar 4.4 berikut

Gambar 4.4 Pesan Tidak Bisa Login

IV.3.3 Form Menu Siswa

Page 87: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

62

Gambar 4.5 Form Menu Siswa

Gambar 4.5 merupakan halaman menu untuk siswa, setelah melakukan login

dengan username dan password yang benar. Pada form tersebut siswa tinggal memilih

menu button yang tersedia, yaitu data pribadi, data nilai, data pembayaran dan ubah

password. Listing program 4.7 merupakan listing program untuk tiap menu button

yang ada :

// Action untuk button DATA PRIBADI

private void BUTT_DT_PRBMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormDataDiri dtD = new FormDataDiri();

dtD.setVisible(true);

dtD.setNis(getNis());

}

// Action untuk button DATA NILAI

private void BUTT_DT_NILAIMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormDataNilaiSiswa dtN = new FormDataNilaiSiswa();

dtN.setVisible(true);

dtN.setNis(getNis());

}

// Action untuk button DATA BAYAR

private void BUTT_DT_BYRMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormDataBayar dtB = new FormDataBayar();

dtB.setVisible(true);

dtB.setNis(getNis());

}

Page 88: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

63

// Action untuk button UBAH PASSWORD

private void PASSWDMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormRubahPasswordSiswa dtN = new FormRubahPasswordSiswa();

dtN.setVisible(true);

dtN.setNis(getNis());

}

// Action untuk button KELUAR

private void BUTT_KELUARMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormUtama bru = new FormUtama();

bru.setVisible(true);

}

Listing Program 4.7 Action Button Menu Form Menu Siswa

IV.3.3.a Form Lihat Data Pribadi

Page 89: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

64

Gambar 4.6 Form Lihat Data Pribadi

Gambar 4.6 merupakan form untuk melihat data pribadi siswa. Form ini akan

muncul setelah siswa menekan menu button „DATA PRIBADI‟. Form ini berisi

keseluruhan data pribadi siswa. Siswa tidak diperkenankan untuk merubah data

sendiri. Berikut adalah listing program untuk menampilkan data tersebut :

private void IN_NISCaretUpdate(javax.swing.event.CaretEvent evt) {

siswa baru = new siswa();

String[] data = new String[12];

data = baru.getDataSiswa(IN_NIS.getText());

Nama.setText(data[1]);

TTL.setText(data[2]);

Asl_Sklh.setText(data[3]);

Kelas.setText(data[4]);

Nama_Ortu.setText(data[5]);

Almt.setText(data[6]);

Pkrjan.setText(data[7]);

No_Tlp.setText(data[8]);

IN_FOTO.setIcon(new javax.swing.ImageIcon("D:\\Neutron

TA\\Gambar\\"+data[9]));

Klp_Kelas.setText(data[10]);

Prog.setText(data[11]);

}

// NIS didapat dari nilai passing sewaktu login

Listing Program 4.8 Action field NIS Form Lihat Data Siswa

Untuk mendapatkan informasi data siswa ini diperlukan kelas koneksi.java

untuk melakukan koneksi ke database dan method getDataSiswa pada kelas

siswa.java untuk memanggil stored procedure yang tersimpan di database. Listing

program 4.9 adalah listing program method getDataSiswa yang terdapat pada kelas

siswa.java

public String[] getDataSiswa(String a) {

String[] data=new String[12];

query = "call get_data_siswa('"+a+"');";

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

while(RS.next()) {

Page 90: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

65

data[0] = RS.getString(1);

data[1] = RS.getString(2);

data[2] = RS.getString(3);

data[3] = RS.getString(4);

data[4] = RS.getString(5);

data[5] = RS.getString(6);

data[6] = RS.getString(7);

data[7] = RS.getString(8);

data[8] = RS.getString(9);

data[9] = RS.getString(10);

data[10] = RS.getString(11);

data[11] = RS.getString(12);

}

ST.close();

return data;

} catch(Exception e) {

System.out.print("error get data siswa");

}

return null;

}

Listing Program 4.9 method getDataSiswa

Listing program 4.10 adalah listing program stored procedure get_data_siswa.

Stored procedure ini digunakan untuk menampilkan data siswa yang tersimpan pada

database.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`get_data_siswa`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `get_data_siswa`(in_nis

varchar(10))

BEGIN

select a.NIS,upper(a.Nama),upper(a.TTL),upper(a.Asal_Sekolah),a.Kelas,

upper(a.Nama_Ortu),upper(a.Alamat_Rumah),upper(a.Pekerjaan_Ortu),a.No_Telp,a.Foto,

a.Id_Kelas,c.Nama_Program from data_siswa a,ambil_program b,

program c where a.NIS=b.NIS and b.Id_Program=c.Id_Program

and a.NIS = in_nis;

END$$

DELIMITER ;

Listing Program 4.10 Store Procedure get_data_siswa

IV.3.3.b Form Lihat Data Nilai

Page 91: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

66

Gambar 4.7 Form Lihat Data Nilai

Gambar 4.7 merupakan form untuk melihat data nilai siswa. Form ini akan

muncul setelah siswa menekan menu button „DATA NILAI‟. Form ini berisi

keseluruhan data nilai siswa (per semester) yang tercatat. Untuk melihat nilai, siswa

sebelumnya harus memilih „Semester‟ yang dikehendaki siswa. Berikut adalah listing

program yang bertugas menampilkan data nilai tersebut :

private void semBoxItemStateChanged(java.awt.event.ItemEvent evt) {

if(semBox.getSelectedIndex() == 1) {

sem = "1";

TabelNilai.setModel(new Nilai(IN_NIS.getText(),sem));

} else

sem = "2";

TabelNilai.setModel(new Nilai(IN_NIS.getText(),sem));

}

Listing Program 4.11 Action Combo Box Semester

Untuk dapat menampilkan informasi data nilai ini diperlukan kelas

koneksi.java untuk melakukan koneksi ke database dan kelas Nilai.java konstruktor

Nilai(NIS,sem) method getNilai untuk memanggil stored procedure yang tersimpan di

database. Stored procedure yang dimaksud adalah stored procedure siswa_nilai.

Listing program 4.12 adalah listing program method getNilai yang terdapat pada kelas

Nilai.java

Page 92: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

67

public void getNilai(String a, String b) {

query = "call siswa_nilai('"+a+"','"+b+"');";

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

while(RS.next()) {

Object[] r =

{

RS.getString(1), RS.getString(2),

RS.getString(3), RS.getString(4), RS.getString(5)

};

bar.addElement(r);

r=null;

}

} catch(Exception e) {

System.out.print("error");

}

}

Listing Program 4.12 Method getNilai

Listing program 4.13 adalah listing program stored procedure siswa_nilai.

Stored procedure ini digunakan untuk menampilkan data nilai seorang siswa yang

tersimpan pada database.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`siswa_nilai`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `siswa_nilai`(p_no varchar(10),p_sms

varchar(2))

BEGIN

declare pr varchar(2);

select substr(p_no,1,2) into pr;

select b.Nama_Mapel,a.N1,a.N2,a.N3,a.NR from nilai a, mapel b

where NIS=p_no and Smster=p_sms and a.Id_Mapel=b.Id_Mapel

and b.Id_Program=pr;

END$$

DELIMITER ;

Listing Program 4.13 Store Procedure siswa_nilai

IV.3.3.c Form Lihat Data Bayar

Page 93: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

68

Gambar 4.8 Form Lihat Data Pembayaran

Gambar 4.8 merupakan form untuk melihat data pembayaran siswa. Form ini

akan muncul setelah siswa menekan menu button „DATA BAYAR‟. Form ini berisi

keseluruhan data pembayaran siswa yang tercatat. Berikut adalah listing program

yang bertugas menampilkan data pembayaran tersebut :

private void IN_NISCaretUpdate(javax.swing.event.CaretEvent evt) {

bayar sis = new bayar();

String[] data = new String[15];

data = sis.getDataBayarSiswa(IN_NIS.getText());

NoBayar.setText(data[1]);

Resi1.setText(data[2]);

Bayar1.setText(data[3]);

Tgl1.setText(data[4]);

Resi2.setText(data[5]);

Bayar2.setText(data[6]);

Tgl2.setText(data[7]);

Resi3.setText(data[8]);

Bayar3.setText(data[9]);

Tgl3.setText(data[10]);

Tempo.setText(data[11]);

Kurang.setText(data[12]);

Biaya_Bimb.setText(data[13]);

Keterangan.setText(data[14]);

Page 94: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

69

}

Listing Program 4.14 Action field NIS Form Lihat Data Bayar

Untuk dapat menampilkan informasi data bayar ini diperlukan kelas

koneksi.java untuk melakukan koneksi ke database dan kelas bayar.java method

getDataBayarSiswa untuk memanggil stored procedure yang tersimpan di database.

Stored procedure yang dimaksud adalah stored procedure siswa_bayar. Listing

program 4.15 adalah listing program method getDataBayarSiswa yang terdapat pada

kelas bayar.java

public String[] getDataBayarSiswa(String a) {

String[] data=new String[15];

query = "call siswa_bayar('"+a+"');";

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

while(RS.next()) {

data[0] = RS.getString(1);

data[1] = RS.getString(2);

data[2] = RS.getString(3);

data[3] = RS.getString(4);

data[4] = RS.getString(5);

data[5] = RS.getString(6);

data[6] = RS.getString(7);

data[7] = RS.getString(8);

data[8] = RS.getString(9);

data[9] = RS.getString(10);

data[10] = RS.getString(11);

data[11] = RS.getString(12);

data[12] = RS.getString(13);

data[13] = RS.getString(14);

data[14] = RS.getString(15);

}

ST.close();

return data;

} catch(Exception e) {

System.out.print("error get data bayar siswa");

}

return null;

}

Page 95: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

70

Listing Program 4.15 Listing Method getDataBayarSiswa

Listing program 4.16 adalah listing program stored procedure siswa_bayar.

Stored procedure ini digunakan untuk menampilkan data bayar seorang siswa yang

tersimpan pada database.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`siswa_bayar`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `siswa_bayar`(p_no varchar(10))

BEGIN

select NIS,No_Pembayaran,No_Resi_1,Jml_Bayar_1,Tgl_Bayar_1,

No_Resi_2,Jml_Bayar_2,Tgl_Bayar_2,No_Resi_3,Jml_Bayar_3,Tgl_Bayar_3,

Tgl_Jatuh_Tempo,Jml_Biaya-Total_Dibayar as Kekurangan,

Biaya_Bimbingan,Keterangan

from pembayaran where NIS=p_no;

END$$

DELIMITER ;

Listing Program 4.16 Store Procedure siswa_bayar

IV.3.3.d Form Rubah Password Siswa

Gambar 4.9 Form Rubah Password

Gambar 4.9 merupakan form untuk melihat data pembayaran siswa. Form ini

akan muncul setelah siswa menekan menu button „UBAH PASSWORD. Form ini

berfungsi untuk mengubah password user (siswa). Ketiga data (password lama,

password baru, dan ulang password baru) harus diisi semua, dan harus benar, dengan

Page 96: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

71

ketentuan bahwa password baru panjangnya tidak lebih dari 10 karakter. Berikut

adalah listing program yang bertugas memproses perubahan password tersebut :

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {

if(jPasswordField1.getText().compareTo("")<1 ||

jPasswordField2.getText().compareTo("")<1 ||

jPasswordField3.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"ISI LENGKAP PASSWORD",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

jPasswordField1.setText("");

jPasswordField2.setText("");

jPasswordField3.setText("");

} else if(jPasswordField1.getPassword().toString().compareTo("")>1 &&

jPasswordField2.getPassword().toString().compareTo("")>1 &&

jPasswordField3.getPassword().toString().compareTo("")>1) {

siswa br = new siswa();

String pas;

pas=br.getPassword(NIS);

System.out.println(pas);

if(jPasswordField1.getText().compareTo(pas)<1) {

if(jPasswordField2.getText().compareTo(jPasswordField3.getText())<1) {

siswa baru = new siswa();

baru.RubahPassword(NIS,jPasswordField1.getText(),

jPasswordField2.getText());

this.setVisible(false);

FormUtama ba = new FormUtama();

ba.setVisible(true);

} else {

JOptionPane.showMessageDialog(null,"VALIDASI PASSWORD BARU

GAGAL","MESSAGE",JOptionPane.ERROR_MESSAGE );

jPasswordField1.setText("");

jPasswordField2.setText("");

jPasswordField3.setText("");

}

}

else {

JOptionPane.showMessageDialog(null,"VALIDASI PASSWORD LAMA

GAGAL","MESSAGE",JOptionPane.ERROR_MESSAGE );

jPasswordField1.setText("");

jPasswordField2.setText("");

jPasswordField3.setText("");

}

}

}

Listing Program 4.17 Listing Program Button Proses Form Rubah Password

Page 97: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

72

Untuk dapat menjalankan listing program 4.17 tersebut, diperlukan kelas

koneksi.java untuk melakukan koneksi ke database dan method RubahPassword dan

getPassword untuk validasi password lamapada kelas siswa.java untuk memanggil

stored procedure yang tersimpan di database. Stored procedure yang dimaksud adalah

stored procedure RubahPasswordSiswa. Listing program 4.18 adalah listing program

method getPassword dan RubahPassword.

public String getPassword(String a) {

String name=null;

query = "call get_password('"+a+"');";

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

while(RS.next()) {

name = RS.getString(1);

}

return name;

} catch(Exception e) {

System.out.print("error get password");

}

return name;

}

public void RubahPassword(String a,String b,String c) {

query = "call RubahPasswordSiswa('"+a+"','"+b+"','"+c+"');";

try {

conn.connect();

Statement ST = conn.sambung.createStatement();

ST.executeUpdate(query);

ST.close();

conn.sambung.close();

JOptionPane.showMessageDialog(null,"Rubah Password Berhasil, Silakan LOGIN

KEMBALI",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

} catch(Exception esql) {

JOptionPane.showMessageDialog(null,"!!!Operasi Gagal!!!",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

}

}

Listing Program 4.18 Listing Method RubahPassword

Page 98: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

73

Listing program 4.19 adalah listing program stored procedure

RubahPasswordSiswa. Stored procedure ini digunakan untuk mengubah password

lama seorang siswa, sesuai password yang diingini siswa tersebut.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`RubahPasswordSiswa`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `RubahPasswordSiswa`

(id varchar(10),pass_lama varchar(10),pass_baru varchar(10))

BEGIN

update user set Password=pass_baru where Id_User=id;

END$$

DELIMITER ;

Listing Program 4.19 Strore Procedure RubahPasswordSiswa

IV.3.4 Form Menu Pegawai (Login Sebagai Pegawai)

Gambar 4.10 Form Menu Pegawai

Gambar 4.10 adalah interface menu untuk pegawai. Form ini akan ditampilkan

jika status login user adalah sebagai pegawai. Dari gambar 4.10 dapat dilihat hak-hak

yang diberikan oleh sistem kepada pegawai. Diwujudkan dalam bentuk button menu.

Yaitu button akademik dan button administrasi, button akademik akan menuju pada

form menu akademik, sedangkan button administrasi akan menuju pada form menu

administrasi. Listing program 4.20 merupakan listing program untuk button menu

yang tersedia.

Page 99: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

74

// Action Button AKADEMIK

private void BUTT_AKDMMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormAkademik akdm = new FormAkademik();

akdm.setVisible(true);

}

// Action Button ADMINISTRASI

private void BUTT_ADMNMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormAdministrasi admn = new FormAdministrasi();

admn.setVisible(true);

}

Listing Program 4.20 Action Button-Button Menu Form Menu Pegawai

IV.3.4.A Form Menu Akademik

Gambar 4.11 Form Menu Akademik

Gambar 4.11 adalah interface form menu akademik. Form ini memiliki button

menu yang berhubungan tentang akademik, yaitu button pendaftaran untuk menuju

form pendaftaran, button data siswa untuk menuju form data siswa dan button nilai

untuk menuju form nilai. Listing program 4.21 merupakan listing program untuk

button menu yang tersedia.

// Action Button PENDAFTARAN

private void BUTT_DAFTARMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormPendaftaran baru = new FormPendaftaran();

baru.setVisible(true);

Page 100: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

75

}

// Action Button NILAI

private void BUTT_NILAIMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormMenuNilai baru = new FormMenuNilai();

baru.setVisible(true);

}

// Action Button DATA SISWA

private void BUTT_DATA_SISWAMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormMenuDataSiswa baru = new FormMenuDataSiswa();

baru.setVisible(true);

}

Listing Program 4.21 Action Button-Button Menu Form Menu Akademik

IV.3.4.A.a Form Pendaftaran

Gambar 4.12 Form Pendaftaran

Gambar 4.12 adalah interface form pendaftaran. Form ini digunakan jika

pegawai melakukan proses pendaftaran siswa bimbingan. Pegawai diwajibkan

mengisi field-field yang tersedia seperti yang terlihat pada gambar 4.12. Field-field

tersebut kesemuanya diisi dengan huruf balok. Hal ini dilakukan untuk keseragaman

Page 101: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

76

data yang disimpan. Proses pendaftaran, dimulai dengan memasukkan foto siswa,

pencarian foto siswa menggunakan tombol „BROWSE‟. Listing program 4.22

merupakan listing program untuk button browse.

private void BUTT_BROWSEMouseClicked(java.awt.event.MouseEvent evt) {

FormBrowse fsfOpen = new FormBrowse();

returnValOpen = fsfOpen.jFileChooser1.showOpenDialog(this);

File f;

FileInputStream fis;

if (returnValOpen == JFileChooser.APPROVE_OPTION) {

// Ambil file yang dipilih...

f = fsfOpen.jFileChooser1.getSelectedFile();

// Buat file-input-stream...

try {

fis = new FileInputStream(f);

} catch (FileNotFoundException fe) {

fe.printStackTrace();

return;

}

foto.setText(f.getName());

IN_FOTO.setIcon(new javax.swing.ImageIcon("D:\\Neutron

TA\\Gambar\\"+f.getName()));

}

}

Listing Program 4.22 Action Button BROWSE

Setelah user mengisi semua data, pegawai tinggal menekan tombol proses. Maka

sistem akan secara otomatis memproses data tersebut dan menyimpannya ke dalam

database. Jika masih ada data yang belum dimasukkan, atau terdapat kekeliruan

penulisan nama dan ataupun nomor telepon, sistem akan memberikan peringatan.

Listing program 4.23 adalah listing program untuk action button proses.

if(IN_NAMA.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Nama Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(IN_TEMPAT.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Tempat Lahir Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(jDateChooser1.getDate()==null) {

JOptionPane.showMessageDialog(null,"Tanggal Lahir Belum Diisi",

Page 102: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

77

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(IN_ASL.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Asal Sekolah Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Kelas.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"Kelas Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(IN_ORT.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Nama Orang Tua Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(IN_ALM.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Alamat Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(KLP_KRJ.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"Pekerjaan Orang Tua Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(foto.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Foto Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(KLP_KELAS.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"Kelompok Kelas Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

Calendar c = jDateChooser1.getCalendar();

int bulan = c.get(c.MONTH)+1;

int day = c.get(c.DATE);

String bln="";

String hr="";

if(bulan < 10)

bln = "0"+bulan;

else

bln = ""+bulan;

if(day < 10)

hr = "0"+c.get(c.DATE);

else

hr = ""+c.get(c.DATE);

IN_TTL = IN_TEMPAT.getText()+","+hr+"-"+bln+"-"+c.get(c.YEAR);

int tlp;

tlp = Integer.parseInt(IN_TLP.getText());

siswa baru = new siswa();

baru.TambahSiswa(IN_NAMA.getText(),IN_TTL,IN_ASL.getText(),IN_KLS,

IN_ORT.getText(),IN_ALM.getText(),IN_KRJ,tlp,

foto.getText(),PROGRAM1.getSelectedItem().toString(),IN_KLP);

Page 103: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

78

this.setVisible(false);

FormBayarDaftar bdf = new FormBayarDaftar();

bdf.setVisible(true);

bdf.setNama(getNama());

}

Listing Program 4.23 Action Button PROSES Pendaftaran

Listing 4.24 berisi contoh handler yang terdapat pada kolom nama, tempat

lahir, nama orangtua, dan nomor telepon untuk menghindari kesalahan penulisan.

// Action Handler Untuk Field Nama (digunakan juga pada field Tempat Lahir

// dan Nama Orangtua

private void IN_NAMACaretUpdate(javax.swing.event.CaretEvent evt) {

int z = IN_NAMA.getSelectionEnd();

int a = 0;

for(int i=0;i<z;i++) {

try {

if(IN_NAMA.getText(i, 1).compareTo(" ")<1) {

a=0;

} else if(IN_NAMA.getText(i, 1).compareTo("1")<1) {

a=a+1;

} else if(IN_NAMA.getText(i, 1).compareTo("2")<1) {

a=a+1;

} else if(IN_NAMA.getText(i, 1).compareTo("3")<1) {

a=a+1;

} else if(IN_NAMA.getText(i, 1).compareTo("4")<1) {

a=a+1;

} else if(IN_NAMA.getText(i, 1).compareTo("5")<1) {

a=a+1;

} else if(IN_NAMA.getText(i, 1).compareTo("6")<1) {

a=a+1;

} else if(IN_NAMA.getText(i, 1).compareTo("7")<1) {

a=a+1;

} else if(IN_NAMA.getText(i, 1).compareTo("8")<1) {

a=a+1;

} else if(IN_NAMA.getText(i, 1).compareTo("9")<1) {

a=a+1;

} else if(IN_NAMA.getText(i, 1).compareTo("0")<1) {

a=a+1;

} else {

a=0;

}

} catch (BadLocationException ex) {

Logger.getLogger(FormPendaftaran.class.getName()).log(Level.SEVERE,

null, ex);

}

if(a==1) {

Page 104: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

79

JOptionPane.showMessageDialog(null,"Keliru Penulisan Nama",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

}

}

}

// Action Handler Pada Field Nomor Telepon

private void IN_TLPCaretUpdate(javax.swing.event.CaretEvent evt) {

// TODO add your handling code here:

int z = IN_TLP.getSelectionEnd();

int a = 0;

for(int i=0;i<z;i++) {

try {

if(IN_TLP.getText(i, 1).compareTo(" ")<1) {

a=1;

} else if(IN_TLP.getText(i, 1).compareTo("1")<1) {

a=0;

} else if(IN_TLP.getText(i, 1).compareTo("2")<1) {

a=0;

} else if(IN_TLP.getText(i, 1).compareTo("3")<1) {

a=0;

} else if(IN_TLP.getText(i, 1).compareTo("4")<1) {

a=0;

} else if(IN_TLP.getText(i, 1).compareTo("5")<1) {

a=0;

} else if(IN_TLP.getText(i, 1).compareTo("6")<1) {

a=0;

} else if(IN_TLP.getText(i, 1).compareTo("7")<1) {

a=0;

} else if(IN_TLP.getText(i, 1).compareTo("8")<1) {

a=0;

} else if(IN_TLP.getText(i, 1).compareTo("9")<1) {

a=0;

} else if(IN_TLP.getText(i, 1).compareTo("0")<1) {

a=0;

} else {

a=1;

}

//System.out.println(""+a);

} catch (BadLocationException ex) {

Logger.getLogger(FormPendaftaran.class.getName()).log(Level.SEVERE,

null, ex);

}

if(a==1) {

JOptionPane.showMessageDialog(null,"Keliru Penulisan NOMOR

TELEPON","MESSAGE",JOptionPane.ERROR_MESSAGE );

}

Page 105: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

80

}

}

Listing Program 4.24 Action Handler Form Pendaftaran

Untuk dapat menjalankan listing program 4.23 tersebut, diperlukan kelas

koneksi.java untuk melakukan koneksi ke database dan method TambahSiswa pada

kelas siswa.java untuk memanggil stored procedure yang tersimpan di database.

Stored procedure yang dimaksud adalah stored procedure cba_add_siswa. Listing

program 4.25 adalah listing program method TambahSiswa.

public void TambahSiswa(String a,String b,String c,String d,String e,String f,String

g,int h,String i,String j,String k) {

query = "call

cba_add_siswa('"+a+"','"+b+"','"+c+"','"+d+"','"+e+"','"+f+"','"+g+"','"+h+"','"+i+"',

'"+j+"','"+k+"');";

try {

conn.connect();

Statement ST = conn.sambung.createStatement();

ST.executeUpdate(query);

ST.close();

conn.sambung.close();

JOptionPane.showMessageDialog(null,"Data Siswa Berhasil Ditambahkan",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

} catch(Exception esql) {

JOptionPane.showMessageDialog(null,"!!!Operasi Gagal!!!",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

}

}

Listing Program 4.25 Method Tambah Siswa

Berikut adalah listing program 4.26 yang merupakan listing program stored

procedure cba_add_siswa.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`cba_add_siswa`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `cba_add_siswa`(p_nama varchar(150), p_ttl

varchar(50), p_sklh varchar(50), p_kls varchar(10), p_ortu varchar(150),

p_almt varchar(300), p_krj varchar(50), p_tlp varchar(20), p_gb varchar(50), p_prog

varchar(20),p_klp varchar(1))

BEGIN

declare v_th varchar(4);

declare v_dt date;

declare p_no,num,in_NIS,num1,v_id varchar(10);

select substr(now(),1,10) into v_dt;

select substr(now(),1,4) into v_th;

Page 106: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

81

if p_prog='SLD 1 SMA' then set p_no=concat('01',substr(now(),1,2));

elseif p_prog='SLD 2 SMA IPA' then set p_no=concat('02',substr(now(),1,2));

elseif p_prog='SLD 2 SMA IPS' then set p_no=concat('03',substr(now(),1,2));

elseif p_prog='SLD 3 SMA IPA' then set p_no=concat('04',substr(now(),1,2));

elseif p_prog='SLD 3 SMA IPS' then set p_no=concat('05',substr(now(),1,2));

elseif p_prog='Program Minggu 3 SMA IPA' then set p_no=concat('06',substr(now(),1,2));

elseif p_prog='Program Minggu 3 SMA IPS' then set p_no=concat('07',substr(now(),1,2));

elseif p_prog='SPMB 3 IPA' then set p_no=concat('08',substr(now(),1,2));

elseif p_prog='SPMB 3 IPS' then set p_no=concat('09',substr(now(),1,2));

elseif p_prog='PIKPU Murni 3 IPA' then set p_no=concat('10',substr(now(),1,2));

elseif p_prog='PIKPU Murni 3 IPS' then set p_no=concat('11',substr(now(),1,2));

else set p_no=concat('12',substr(now(),1,2));

end if;

select NIS from data_siswa where substr(NIS,1,4)=p_no order by NIS desc limit 1

into num;

if num is NOt NULL then set num1=concat('0',num+1);

else

set num1=concat(p_no,'001');

end if;

select Id_Program from program where Nama_Program=p_prog into v_id;

insert into data_siswa

values(num1,p_nama,p_ttl,p_sklh,p_kls,p_ortu,p_almt,p_krj,p_tlp,p_gb,v_th,p_klp);

insert into ambil_program values(num1,v_id,v_dt);

call gen_nilai(num1,v_id,p_klp);

END$$

DELIMITER ;

Listing Program 4.26 Store Procedure Tambah Data Siswa

Dari listing 4.26 tersebut, dapat dilihat bahwa store procedure itu akan

melakukan insert pada tabel siswa, tabel ambil_program, nilai. Akan terlihat listing

4.26 tersebut masih melakukan pemanggilan store procedure lain, yaitu gen_nilai

yang berfungsi untuk mengenerate daftar nilai siswa. Listing program 4.27 adalah

listing program stored procedure gen_nilai.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`gen_nilai`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `gen_nilai`(p_no varchar(10),p_prog

varchar(2),p_klp varchar(2))

BEGIN

declare a,b varchar(10);

declare done int default 0;

declare cur1 cursor for select Id_Mapel from mapel where Id_Program=p_prog;

declare continue handler for sqlstate '02000' set done = 1;

Page 107: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

82

select NIS from data_siswa where NIS=p_no into b;

open cur1;

repeat

fetch cur1 into a;

if not done then

insert into nilai set

NIS=b,Id_Program=p_prog,Id_Mapel=a,Id_Kelas=p_klp,Smster='1';

insert into nilai set

NIS=b,Id_Program=p_prog,Id_Mapel=a,Id_Kelas=p_klp,Smster='2';

end if;

until done end repeat;

close cur1;

END$$

DELIMITER ;

Listing Program 4.27 Store Procedure Generate Nilai

Untuk menambahkan data pembayaran dan user (untuk login siswa), dilakukan lewat

trigger. Untuk trigger add_user, disematkan pada table data_siswa, sedangkan trigger

program_bayar, disematkan pada table ambil_program. Berikut listing 4.28 dan 4.29

berturut-turut adalah lisitng program untuk trigger add_user dan add_program_bayar.

DELIMITER $$

DROP TRIGGER `neutron_ta`.`add_user`$$

create trigger `neutron_ta`.`add_user` AFTER INSERT on `neutron_ta`.`data_siswa`

for each row BEGIN

insert into user values (new.NIS,'Siswa',new.NIS);

END;

$$

DELIMITER ;

Listing Program 4.28 Trigger add_user

DELIMITER $$

DROP TRIGGER `neutron_ta`.`program_bayar`$$

create trigger `neutron_ta`.`program_bayar` AFTER INSERT on

`neutron_ta`.`ambil_program`

for each row BEGIN

declare v_noByr varchar(10);

declare v_biaya int(6);

select ifnull((select max(No_Pembayaran)+1 from

pembayaran),concat('111',substr(now(),3,2),'001')) into v_noByr;

select Biaya from program where Id_Program=new.Id_Program into v_biaya;

insert into pembayaran set No_pembayaran=v_noByr, NIS=new.NIS,

Tgl_Daftar=substr(now(),1,10),

Tgl_Jatuh_Tempo=substr((date_add(now(),interval 30

day)),1,10),Biaya_Bimbingan=v_biaya,Jml_Biaya=v_biaya,Keterangan='BELUM BAYAR';

END;

Page 108: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

83

$$

DELIMITER ;

Listing Program 4.29 Trigger program_bayar

IV.3.4.A.a.i Form Pembayaran Biaya Pendaftaran dan Biaya Bimbingan

Gambar 4.13 Form Bayar Daftar

Gambar 4.13 adalah interface form bayar daftar. Form ini akan muncul setelah

proses pendaftaran siswa berhasil. Nama siswa yang baru saja terdaftar, akan muncul

pada field „NAMA‟, dari nama tersebut, akan muncul data dari siswa pada table

dibawahnya, hal ini digunakan untuk memperkecil kesalahan query untuk mencari

NIS. Setelah diketahui dengan pasti, pegawai memilih data siswa pada table yang

selanjutnya data bayar siswa tersebut akan muncul pada field-field yang telah tersedia.

Pada form ini, terdapat proses untuk melakukan pembayaran biaya daftar dan

penentuan potongan biaya yang didapat siswa, dan proses pembayaran biaya

bimbingan yang hanya dapat dilakukan setelah melakukan pembayaran pendaftaran.

Berikut adalah listing 4.30 yang merupakan listing program untuk button proses biaya

daftar dan button proses untuk pembayaran bimbingan.

// Action BUTTON PEMBAYARAN PENDAFTARAN

private void BUTT_BAYAR_DAFTARMouseClicked(java.awt.event.MouseEvent evt) {

if(B_Dftar.getText().compareTo("")<1) {

Page 109: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

84

JOptionPane.showMessageDialog(null,"ISI BIAYA DAFTAR",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(dft!=0) {

JOptionPane.showMessageDialog(null,"SUDAH BAYAR PENDAFTARAN dan

MENDAPATKAN POTONGAN","MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

bayar byr = new bayar();

byr.BayarDaftar(NIS.getText(),B_Dftar.getText(),Potongan.getText());

}

bayar bay = new bayar();

String[] data = new String[1];

data = bay.getMinBayar(NIS.getText());

MinCil.setText(data[0]);

bayar bar = new bayar();

String[] dat = new String[5];

dat = bar.getDataBayar(NIS.getText());

No_Bayar.setText(dat[0]);

Tempo.setText(dat[1]);

Biaya_Bimb.setText(dat[2]);

B_Dftar.setText(dat[3]);

Potongan.setText(dat[4]);

}

// Action BUTTON PROSES PEMBAYARAN BIMBINGAN

private void BUTT_BAYAR_1MouseClicked(java.awt.event.MouseEvent evt) {

bayar byr = new bayar();

int aa = Integer.parseInt(Biaya_Bimb.getText());

int ab = Integer.parseInt(Potongan.getText());

int a = aa-ab;

int b = 0;

if(Jum_Bayar.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"MASUKKAN NOMINAL UANG YANG

DIBAYARKAN","MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Jum_Bayar.getText().compareTo("")>1) {

b = Integer.parseInt(Jum_Bayar.getText());

if(b>a) {

JOptionPane.showMessageDialog(null,"PEMBAYARAN TERLALU

BESAR","MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(b<a/2) {

JOptionPane.showMessageDialog(null,"PEMBAYARAN TERLALU

KECIL","MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if (Terbilang.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"TULIS DENGAN HURUF NOMINAL

UANG YANG DIBAYAR","MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

int z=Integer.parseInt(Jum_Bayar.getText());

int y=Integer.parseInt(Potongan.getText());

Page 110: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

85

int x=Integer.parseInt(Biaya_Bimb.getText());

byr.BayarPertama(Jum_Bayar.getText(), NIS.getText());

if((x-y)==z) {

JOptionPane.showMessageDialog(null,"PEMBAYARAN LUNAS",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

}

this.setVisible(false);

FormAkademik baru = new FormAkademik();

baru.setVisible(true);

}

}

}

Listing Program 4.30 Action Button Bayar Pendaftaran dan Bayar Bimbingan

Untuk dapat menjalankan listing program 4.30 tersebut, diperlukan kelas

koneksi.java untuk melakukan koneksi ke database dan method BayarDaftar untuk

memproses data biaya pendaftaran dan BayarPertama untuk melakukan proses

pembayaran biaya bimbingan, pada kelas bayar.java untuk memanggil stored

procedure yang tersimpan di database. Listing program 4.31 dan 4.32 adalah listing

program method BayarDaftar dan BayarPertama.

public void BayarDaftar(String a,String b,String c) {

query = "call bayar_dft_pot('"+a+"',"+b+","+c+");";

try {

conn.connect();

Statement ST = conn.sambung.createStatement();

ST.executeUpdate(query);

ST.close();

conn.sambung.close();

JOptionPane.showMessageDialog(null,"Sudah Bayar Pendaftaran",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

} catch(Exception esql) {

JOptionPane.showMessageDialog(null,"!!!Operasi Gagal!!!",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

}

}

Listing Program 4.31 Method BayarDaftar

public void BayarPertama(String b,String d) {

query = "call bayar_1st("+b+",'"+d+"');";

try {

conn.connect();

Statement ST = conn.sambung.createStatement();

Page 111: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

86

ST.executeUpdate(query);

ST.close();

conn.sambung.close();

JOptionPane.showMessageDialog(null,"Pembayaran Berhasil",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

} catch(Exception esql) {

JOptionPane.showMessageDialog(null,"!!!Operasi Gagal!!!",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

}

}

Listing Program 4.32 Method BayarPertama

Method bayar daftar (listing 4.31) dan bayar pertama (listing 4.32) berfungsi untuk

memanggil store procedure yang akan memproses kedalam database. Berikut listing

4.33 dan 4.34 berturut-turut adalah lisitng program untuk store procedure

bayar_dft_pot untuk memproses pembayaran pendaftaran, dan bayar_1st untuk

memproses pembayaran biaya bimbingan.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`bayar_dft_pot`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `bayar_dft_pot`(in_nis varchar(10), bdf

int(5), pot int(6))

BEGIN

update pembayaran set Biaya_Pendaftaran=bdf,Potongan=pot,Jml_Biaya=(Jml_Biaya-pot)

where NIS = in_nis;

END$$

DELIMITER ;

Listing Program 4.33 StoreProcedure bayar_dft_pot

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`bayar_1st`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `bayar_1st`(p_uang int(7), p_nis

varchar(10))

BEGIN

declare byr int(7);

declare tby varchar(10);

declare jtp varchar(10);

declare tot int(7);

declare p_nR varchar(9);

select substr(now(),1,10) into tby;

select substr((date_add(now(),interval 30 day)),1,10) into jtp;

select (Total_Dibayar/2) from pembayaran where NIS=p_nis into byr;

start transaction;

if (p_uang>=byr) then

Page 112: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

87

update pembayaran

set

No_Resi_1=concat(p_nR,‟1‟),Tgl_Bayar_1=tby,Jml_Bayar_1=p_uang,Total_Dibayar=p_uang,Tgl

_Jatuh_Tempo=jtp

where NIS=p_nis;

call cek(p_nis);

select Jml_Biaya from pembayaran where NIS=p_nis into tot;

if(p_uang=tot) then

update pembayaran

set No_Resi_2='000000',Tgl_Bayar_2='0000-00-00',Jml_Bayar_2=0,

No_Resi_3='000000',Tgl_Bayar_3='0000-00-00',Jml_Bayar_3=0

where NIS=p_nis;

end if;

commit;

else

rollback;

end if;

END$$

DELIMITER ;

Listing Program 4.34 StoreProcedure bayar_1st

Dalam listing 4.34, terlihat bahwa masih terdapat pemanggilan store procedure, yaitu

store procedure cek, yang berfungsi untuk melakukan pengecekan pembayaran yang

dilakukan bisa melunasi biaya yang ada. Berikut listing 4.35 adalah listing program

untuk store procedure cek.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`cek`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `cek`(p_nis varchar(10))

BEGIN

declare tb,jb int(6);

select Total_Dibayar from pembayaran where NIS=p_nis into tb;

select Jml_Biaya from pembayaran where NIS=p_nis into jb;

if tb=jb then

update pembayaran set Keterangan='LUNAS',Tgl_Jatuh_Tempo=' ' where NIS=p_nis;

else

update pembayaran set Keterangan='KREDIT' where NIS=p_nis;

end if;

END$$

DELIMITER ;

Listing Program 4.35 StoreProcedure cek

IV.3.4.A.b Form Menu Data Siswa

Page 113: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

88

Gambar 4.14 Form Menu Data Siswa

Gambar 4.14 adalah interface form menu data siswa. Form ini memiliki button

menu yang berhubungan tentang data siswa, yaitu button lihat data siswa untuk

menuju form lihat data siswa, button edit data siswa untuk menuju form edit data

siswa, button hapus data siswa untuk menuju form hapus data siswa, button revisi

pendaftaran untuk menuju form revisi daftar, dan button laporan untuk menuju form

laporan data siswa. Listing program 4.36 merupakan listing program untuk button

menu yang tersedia.

// Action BUTTON HAPUS DATA SISWA

private void BUTT_HAPUSMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormHapusDataSiswa baru = new FormHapusDataSiswa();

baru.setVisible(true);

}

// Action BUTTON REVISI PENDAFTARAN

private void BUTT_DAFTAR_ULANGMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormDaftarUlang baru = new FormDaftarUlang();

baru.setVisible(true);

}

// Action BUTTON EDIT DATA SISWA

private void BUTT_EDITMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormEditDataDiri baru = new FormEditDataDiri();

baru.setVisible(true);

Page 114: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

89

}

// Action BUTTON LIHAT DATA SISWA

private void BUTT_LIHATMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormLihatDataDiri baru = new FormLihatDataDiri();

baru.setVisible(true);

}

// Action BUTTON LAPORAN

private void LAPORANMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormLaporanAkademik baru = new FormLaporanAkademik();

baru.setVisible(true);

}

Listing Program 4.36 Action Button-Button Form Menu Data Siswa

IV.3.4.A.b.i Form Lihat Data Siswa

Gambar 4.15 Form Lihat Data Siswa

Gambar 4.15 adalah interface form menu lihat data siswa. Form ini berfungsi

untuk mencari dan melihat tentang data siswa. Terdapat 3 macam fungsi pencarian,

yaitu, berdasar nama, program-kelas, dan berdasar nis. Listing program 4.37

merupakan listing program untuk fungsi pencarian dan penampilan data siswa.

// Action Click Tabel (cari berdasar program)

private void TabelCariProgMouseClicked(java.awt.event.MouseEvent evt) {

String a = TabelCariProg.getValueAt(TabelCariProg.getSelectedRow(),0).toString();

IN_NIS.setText(a);

Page 115: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

90

}

// Pencarian berdasar Program (hasil:table cari program)

private void PROGRAMItemStateChanged(java.awt.event.ItemEvent evt) {

if(PROGRAM.getSelectedIndex() == 1) {

IN_PROG = "01";

IN_KLS.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 2) {

IN_PROG = "02";

IN_KLS.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 3) {

IN_PROG = "03";

IN_KLS.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 4) {

IN_PROG = "04";

IN_KLS.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 5) {

IN_PROG = "05";

IN_KLS.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 6) {

IN_PROG = "06";

IN_KLS.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 7) {

IN_PROG = "07";

IN_KLS.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 8) {

IN_PROG = "08";

IN_KLS.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 9) {

IN_PROG = "09";

IN_KLS.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 10) {

IN_PROG = "10";

IN_KLS.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 11) {

IN_PROG = "11";

IN_KLS.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 12) {

IN_PROG = "12";

IN_KLS.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 0) {

IN_KLS.setSelectedIndex(0);

}

TabelCariProg.setModel(new siswa(IN_PROG,IN_THUN.getText()));

}

Listing Program 4.37 Pencarian dan Lihat Data Siswa

Page 116: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

91

Untuk dapat menjalankan proses pencarian pada listing program 4.37 tersebut,

diperlukan kelas koneksi.java untuk melakukan koneksi ke database dan konstruktor,

method CariSiswaNama, CariSiswaProgram, CariSiswaKelas, dan getDataSiswa,

pada kelas siswa.java untuk memanggil stored procedure yang tersimpan di database.

Listing program 4.38, 4.39, 4.40 dan 4.41 adalah listing program method

CariSiswaNama, CariSiswaProgram, CariSiswaKelas, dan getDataSiswa.

// Dipanggil lewat konstruktor berikut

public siswa(String a) {

nama = a;

CariSiswaNama(nama);

}

public void CariSiswaNama(String a) {

query = "call cari_Bnama('"+a+"');";

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

while(RS.next()) {

Object[] r =

{ RS.getString(1), RS.getString(2),RS.getString(3),RS.getString(4)};

bar.addElement(r);

r=null;

}

ST.close();

} catch(Exception e) {

System.out.print("error cari siswa Bnama");

}

}

Listing Program 4.38 Method CariSiswaNama

public siswa(String a,String b) {

nama = a;

tahun = b;

CariSiswaProgram(nama,tahun);

}

public void CariSiswaProgram(String a,String b) {

query = "call cari_Bprog('"+a+"','"+b+"');";

try {

Page 117: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

92

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

while(RS.next()) {

Object[] r =

{ RS.getString(1),RS.getString(2),RS.getString(3),RS.getString(4)};

bar.addElement(r);

r=null;

}

ST.close();

} catch(Exception e) {

System.out.print("error cari siswa Program");

}

}

Listing Program 4.39 Method CariSiswaProgram

// Dipanggil lewat konstruktor berikut

public siswa(String a,String b,String c) {

nama = a;

tahun = b;

klp = c;

CariSiswaKelas(nama,tahun,klp);

}

public void CariSiswaKelas(String a,String b,String c) {

query = "call cari_Bklas('"+a+"','"+b+"','"+c+"');";

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

while(RS.next()) {

Object[] r =

{RS.getString(1),RS.getString(2),RS.getString(3),RS.getString(4)};

bar.addElement(r);

r=null;

}

ST.close();

} catch(Exception e) {

System.out.print("error cari siswa Kelas");

}

}

Listing Program 4.40 Method CariSiswaKelas

public String[] getDataSiswa(String a) {

String[] data=new String[12];

query = "call get_data_siswa('"+a+"');";

Page 118: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

93

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

while(RS.next()) {

data[0] = RS.getString(1);

data[1] = RS.getString(2);

data[2] = RS.getString(3);

data[3] = RS.getString(4);

data[4] = RS.getString(5);

data[5] = RS.getString(6);

data[6] = RS.getString(7);

data[7] = RS.getString(8);

data[8] = RS.getString(9);

data[9] = RS.getString(10);

data[10] = RS.getString(11);

data[11] = RS.getString(12);

}

ST.close();

return data;

} catch(Exception e) {

System.out.print("error get data siswa");

}

return null;

}

Listing Program 4.41 Method getDataSiswa

Method-method diatas berfungsi untuk memanggil store procedure yang akan

memproses kedalam database. Berikut listing 4.42. 4.43, 4.44 dan 4.45 berturut-turut

adalah listing program untuk store procedure cari_Bnama untuk mencari siswa

berdasar nama, cari_Bprog untuk mencari siswa berdasar program dan tahun

angkatan, cari_Bklas untuk mencari siswa berdasar dan get_data_siswa untuk

mendapatkan data siswa.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`cari_Bnama2`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `cari_Bnama2`(p_nm varchar(250))

BEGIN

select a.NIS,upper(a.Nama),upper(a.Asal_Sekolah),a.Kelas

from data_siswa a, pembayaran b where a.NIS = b.NIS and

a.Nama like concat(p_nm,"%") order by b.Tgl_Daftar;

Page 119: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

94

END$$

DELIMITER ;

Listing Program 4.42 StoreProcedure cari_Bnama

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`cari_Bprog`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `cari_Bprog`(p_nm varchar(2),p_th

varchar(4))

BEGIN

select NIS,upper(Nama),upper(Asal_Sekolah),Kelas

from data_siswa where substr(NIS,1,2) = p_nm and Th_Angkatan = p_th;

END$$

DELIMITER ;

Listing Program 4.43 StoreProcedure cari_Bprog

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`cari_Bklas`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `cari_Bklas`(p_nm varchar(2),p_th

varchar(4),p_kls varchar(1))

BEGIN

select NIS,upper(Nama),upper(Asal_Sekolah),Kelas

from data_siswa where substr(NIS,1,2) = p_nm and Th_Angkatan = p_th and

Id_Kelas = p_kls;

END$$

DELIMITER ;

Listing Program 4.44 StoreProcedure cariB_klas

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`get_data_siswa`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `get_data_siswa`(in_nis varchar(10))

BEGIN

select a.NIS,upper(a.Nama), upper(a.TTL), upper(a.Asal_Sekolah), a.Kelas,

upper(a.Nama_Ortu), upper(a.Alamat_Rumah), a.Pekerjaan_Ortu, a.No_Telp, a.Foto,

a.Id_Kelas, c.Nama_Program

from data_siswa a,ambil_program b,program c where a.NIS=b.NIS

and b.Id_Program=c.Id_Program and a.NIS = in_nis;

END$$

DELIMITER ;

Listing Program 4.45 StoreProcedure get_data_siswa

IV.3.4.A.b.ii Form Edit Data Siswa

Page 120: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

95

Gambar 4.16 Form Edit Data Siswa

Gambar 4.16 adalah interface form menu lihat data siswa. Form ini berfungsi

untuk mealakukan edit data siswa. Untuk menampilkan data siswa yang akan diedit,

dilakukan lewat pencarian yang listing program untuk pencariannya sama pada proses

pencarian form lihat data siswa (gambar 4.15), listing program 4.37. Pada form edit

siswa, pegawai dapat melakukan fungsi edit data siswa, kecuali untuk data kelas, hal

ini dikarenakan data kelas akan berpengaruh pada data program. Dimana data

program berkaitan dengan seluruh data akademik (nilai) dan pembayaran. Berikut

listing 4.46 merupakan listing untuk button proses.

private void BUTT_PROSESMouseClicked(java.awt.event.MouseEvent evt) {

if(IN_NAMA.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Nama Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(TTL.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Tempat Lahir Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Asl_Sklh.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Asal Sekolah Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Nama_Ortu.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Nama Orang Tua Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Almt.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Alamat Belum Diisi",

Page 121: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

96

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Pkrjan.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"Pekerjaan Orang Tua Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(foto.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Foto Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Klp_Klas.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"Kelompok Kelas Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

siswa sis = new siswa();

String pkrj = Pkrjan.getSelectedItem().toString();

sis.EditSiswa(NIS.getText(),Nama.getText(),TTL.getText(),Asl_Sklh.getText(),Kelas.getT

ext(), Nama_Ortu.getText(), Almt.getText(), pkrj, No_Tlp.getText(),

foto.getText(),IN_KLP_1);

}

}

Listing Program 4.46 Action Button PROSES Form Edit Data Siswa

Untuk dapat menjalankan proses edit data siswa tersebut, diperlukan kelas

koneksi.java untuk melakukan koneksi ke database dan method EditSiswa pada kelas

siswa.java. Listing program 4.47 adalah listing program method EditSiswa.

public void EditSiswa(String a,String b,String c,String d,String e,String f,String

g,String h,String i,String j,String k) {

query = "call

edit_DataSiswa('"+a+"','"+b+"','"+c+"','"+d+"','"+e+"','"+f+"','"+g+"','"+h+"','"+i+"'

,'"+j+"','"+k+"');";

try {

conn.connect();

Statement ST = conn.sambung.createStatement();

ST.executeUpdate(query);

ST.close();

conn.sambung.close();

JOptionPane.showMessageDialog(null,"Edit Data Siswa Berhasil",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

} catch(Exception esql) {

JOptionPane.showMessageDialog(null,"!!!Operasi Gagal!!!",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

}

}

Listing Program 4.47 Method EditSiswa

Method diatas (listing program 4.47) berfungsi untuk memanggil store procedure

yang akan memproses kedalam database. Berikut listing 4.48 adalah listing program

Page 122: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

97

untuk store procedure edit_DataSiswa untuk melakukan pengeditan data siswa

tertentu.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`edit_DataSiswa`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `edit_DataSiswa`(p_nom varchar(10),p_nama

varchar(150), p_ttl varchar(50), p_sklh varchar(50), p_kls varchar(10), p_ortu

varchar(150),

p_almt varchar(300), p_krj varchar(50), p_tlp varchar(20), p_gb varchar(50), p_klp

varchar(5))

BEGIN

update data_siswa set

Nama=p_nama,TTL=p_ttl,Asal_Sekolah=p_sklh,Kelas=p_kls,Nama_Ortu=p_ortu,Alamat_Rumah=p_

almt,Pekerjaan_Ortu=p_krj,No_Telp=p_tlp,Foto=p_gb,Id_Kelas=p_klp where NIS=p_nom;

END$$

DELIMITER ;

Listing Program 4.48 StoreProcedure edit_DataSiswa

IV.3.4.A.b.iii Form Hapus Data Siswa

Page 123: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

98

Gambar 4.17 Form Hapus Data Siswa

Gambar 4.17 adalah interface form menu hapus data siswa. Form ini berfungsi

untuk melakukan penghapusan data siswa (dalam konteks ini, data tidak dihapus

secara permanen dari database melainkan dipindah ke tabel history, dikarenakan data

tersebut masih berguna untuk tahun mendatang sebagai tahap promosi LBB. Untuk

menampilkan data siswa yang akan dihapus, dilakukan lewat pencarian yang listing

program untuk pencariannya sama pada proses pencarian form lihat data siswa

(gambar 4.15), listing program 4.37. Berikut listing 4.49 merupakan listing untuk

button proses.

private void BUTT_HAPUSMouseClicked(java.awt.event.MouseEvent evt) {

siswa sis = new siswa();

sis.HapusDataSiswa(IN_NIS.getText());

IN_NIS.setText("");

}

Listing Program 4.49 Action Button HAPUS Form HapusSiswa

Untuk dapat menjalankan proses hapus data siswa tersebut, diperlukan kelas

koneksi.java untuk melakukan koneksi ke database dan method HapusDataSiswa pada

kelas siswa.java. Listing program 4.50 adalah listing program method

HapusDataSiswa.

public void HapusDataSiswa(String a) {

Page 124: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

99

query = "call hapus_siswa2('"+a+"');";

try {

conn.connect();

Statement ST = conn.sambung.createStatement();

ST.executeUpdate(query);

ST.close();

conn.sambung.close();

JOptionPane.showMessageDialog(null,"Hapus Data Siswa Berhasil",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

} catch(Exception esql) {

JOptionPane.showMessageDialog(null,"!!!Operasi Gagal!!!",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

}

}

Listing Program 4.50 Method HapusDataSiswa

Method diatas (listing program 4.50) berfungsi untuk memanggil store procedure

yang akan memproses kedalam database. Berikut listing 4.51 adalah listing program

untuk store procedure hapus_siswa2 untuk melakukan proses menghapus data siswa

tertentu.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`hapus_siswa2`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `hapus_siswa2`(p_no varchar(10))

BEGIN

insert into history_data_siswa select * from data_siswa where NIS=p_no;

insert into history_ambil_program select * from ambil_program where NIS=p_no;

insert into history_nilai select * from nilai where NIS=p_no;

insert into history_pembayaran select * from pembayaran where NIS=p_no;

Delete from data_siswa where NIS=p_no;

Delete from ambil_program where NIS=p_no;

Delete from nilai where NIS=p_no;

Delete from pembayaran where NIS=p_no;

Delete from user where Id_User=p_no;

END$$

DELIMITER ;

Listing Program 4.51 StoreProcedure hapus_siswa2

IV.3.4.A.b.iv Form Revisi Pendaftaran

Page 125: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

100

Gambar 4.18 Form Revisi Pendaftaran

Gambar 4.18 adalah interface form revisi pendaftaran. Form ini berfungsi

untuk melakukan revisi pendaftaran siswa. Revisi pendaftaran terjadi jika pada waktu

pendaftaran, terjadi kekeliruan pengambilan kelas dan atau program. Form ini akan

menghapus semua data terdahulu dari siswa bersangkutan secara permanen dari

database, kemudian menambahkan kembali data siswa tersebut ke dalam database

dengan kondisi data yang benar. Form ini akan berkaitan erat dengan form

selanjutnya. Berikut listing 4.52 merupakan listing untuk button proses.

private void BUTT_PROSESMouseClicked(java.awt.event.MouseEvent evt) {

String kerja=Pkrjan.getSelectedItem().toString();

if(Nama.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Nama Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(TTL.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Tempat Lahir Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Asl_Sklh.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Asal Sekolah Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Nama_Ortu.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Nama Orang Tua Belum Diisi",

Page 126: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

101

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Almt.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Alamat Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Kelas.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"Kelas Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Pkrjan.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"Pekerjaan Orang Tua Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(foto.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Foto Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Klp_Klas.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"Kelompok Kelas Belum Diisi",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

siswa baru = new siswa();

baru.RegUlangSiswa(NOM,Nama.getText(),TTL.getText(),Asl_Sklh.getText(),

IN_KLS,Nama_Ortu.getText(),Almt.getText(),kerja,No_Tlp.getText(),

foto.getText(),PROGRAM2.getSelectedItem().toString(),IN_KLP_1);

this.setVisible(true);

FormDaftarUlangPembayaran dft = new FormDaftarUlangPembayaran();

dft.setVisible(true);

dft.setNIS(getNis());

dft.setNama(getNama());

}

Listing Program 4.52 Action Button PROSES Form Revisi Pendaftaran

Untuk dapat menjalankan proses revisi pendaftaran tersebut, diperlukan kelas

koneksi.java untuk melakukan koneksi ke database dan method RegUlangSiswa pada

kelas siswa.java. Listing program 4.53 Adalah listing program method

RegUlangSiswa.

public void RegUlangSiswa(String a,String b,String c,String d,String e,String f,String

g,String h,String i,String j,String k,String l) {

query = "call

reg_ulang_siswa('"+a+"','"+b+"','"+c+"','"+d+"','"+e+"','"+f+"','"+g+"','"+h+"','"+i+"

','"+j+"','"+k+"','"+l+"');";

try {

conn.connect();

Statement ST = conn.sambung.createStatement();

ST.executeUpdate(query);

ST.close();

conn.sambung.close();

JOptionPane.showMessageDialog(null,"Revisi Pendaftaran Berhasil",

Page 127: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

102

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

} catch(Exception esql) {

JOptionPane.showMessageDialog(null,"!!!Operasi Gagal!!!",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

}

}

Listing Program 4.53 Method RegUlangSiswa

Method diatas (listing program 4.53) berfungsi untuk memanggil store procedure

yang akan memproses kedalam database. Berikut listing 4.54 adalah listing program

untuk store procedure reg_ulang_siswa untuk melakukan proses revisi pendaftaran

siswa tertentu.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`reg_ulang_siswa`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `reg_ulang_siswa`(p_nom varchar(10),p_nama

varchar(150), p_ttl varchar(50), p_sklh varchar(50), p_kls varchar(10), p_ortu

varchar(150), p_almt varchar(300), p_krj varchar(50), p_tlp varchar(20), p_gb

varchar(50), p_prog varchar(20),p_klp varchar(5))

BEGIN

call cba_add_siswa(p_nama, p_ttl, p_sklh, p_kls, p_ortu, p_almt, p_krj, p_tlp,

p_gb, p_prog ,p_klp);

delete from data_siswa where NIS=p_nom;

delete from ambil_program where NIS=p_nom;

delete from user where Id_User=p_nom;

delete from nilai where NIS=p_nom;

END$$

DELIMITER ;

Listing Program 4.54 StoreProcedure reg_ulang_siswa

IV.3.4.A.b.v Form Pembayaran Revisi Pendaftaran

Page 128: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

103

Gambar 4.19 Form Pembayaran Revisi Pendaftaran

Gambar 4.19 adalah interface form pembayaran revisi pendaftaran. Form ini

berfungsi untuk melakukan pembayaran setelah melakukan revisi pendaftaran siswa.

Form ini akan menyalin data pembayaran siswa bersangkutan yang terdahulu ke data

pembayaran siswa bersangkutan yang baru, hal ini terjadi dikarenakan setiap siswa

mendaftar susatu program, maka akan mendapatkan nomor pembayaran yang baru,

dan adanya kemungkinan biaya bimbingan yang berbeda unutk program-program

yang ada. Terdapat 2 button penting pada form ini, yaitu button ‟SALIN‟ untuk

melakukan penyalinan data bayar dari data pembayaran lama menuju data

pembayaran baru dalam tingkat form, tidak sampai melakukan penyimpanan kedalam

database, dan button ‟BAYAR‟, untuk melakukan proses pembayaran dan

menyimpan data pembayaran baru kedalam database. Berikut listing 4.55 dan 4.56

berturut-turut adalah listing untuk button ‟SALIN‟ dan ‟BAYAR‟.

private void BUTT_SALINMouseClicked(java.awt.event.MouseEvent evt) {

if(NIS1.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"KLIK PADA TABEL UNTUK MEMUNCULKAN

DATA PEMBAYARAN BARU SISWA BERSANGKUTAN","MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

int a=Integer.parseInt(Potongan.getText());

int b=Integer.parseInt(Biaya_Bimb1.getText());

Page 129: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

104

int c=b-a;

int d=c/2;

String xx=""+c;

String yy=""+d;

Potongan1.setText(Potongan.getText());

Jml_Biaya1.setText(xx);

MinBayar1.setText(yy);

if(Bayar1.getText().compareTo("")>1) {

int e = Integer.parseInt(Bayar1.getText());

if((e<c) && (Bayar2.getText().compareTo("")>1)) {

int f = Integer.parseInt(Bayar2.getText());

int g = e+f;

if((g<c) && (Bayar3.getText().compareTo("")>1)) {

int h = Integer.parseInt((Bayar3.getText()));

int i = g+h;

if(i<c) {

Bayar5.setText(""+i);

int k = c-i;

Kekurangan1.setText(""+k);

Keterangan1.setText("KREDIT");

} else {

int j = i-c;

Bayar5.setText(""+c);

Kembalian.setText(""+j);

Kekurangan1.setText(""+0);

Keterangan1.setText("LUNAS");

}

} else if((g<c) && (Bayar3.getText().compareTo("")<1)) {

Bayar5.setText(""+g);

int l = c-g;

Kekurangan1.setText(""+l);

Keterangan1.setText("KREDIT");

} else {

int y = g-c;

Bayar5.setText(""+c);

Kembalian.setText(""+y);

Kekurangan1.setText(""+0);

Keterangan1.setText("LUNAS");

}

} else if((e<c) && (Bayar2.getText().compareTo("")<1)) {

if(e<d) {

JOptionPane.showMessageDialog(null,"PINDAHAN PEMBAYARAN TIDAK

MENCUKUPI MINIMAL BAYAR","MESSAGE",JOptionPane.ERROR_MESSAGE );

FormPembayaranPertama baru = new FormPembayaranPertama();

baru.setVisible(true);

baru.setNIS(getNIS());

baru.setUang(getUang());

Page 130: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

105

} else {

Bayar5.setText(""+e);

int m = c-e;

Kekurangan1.setText(""+m);

Keterangan1.setText("KREDIT");

}

} else {

int z = e-c;

Bayar5.setText(""+c);

Kembalian.setText(""+z);

Kekurangan1.setText(""+0);

Keterangan1.setText("LUNAS");

}

} else {

JOptionPane.showMessageDialog(null,"BELUM MELAKUKAN PEMBAYARAN",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE);

}

}

}

Listing Program 4.55 Action Button SALIN Form Pembayaran Revisi Pendaftaran

private void BUTT_BAYAR_IMouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

bayar by = new bayar();

by.BayarDaftarUlang(NIS.getText(),NIS1.getText(),Bayar5.getText(),Keterangan1.getText(

));

this.setVisible(false);

}

Listing Program 4.56 Action Button BAYAR Form Pembayaran Revisi Pendaftaran

Untuk dapat menjalankan proses penyimpanan data pembayaran baru tersebut

(button BAYAR), diperlukan kelas koneksi.java untuk melakukan koneksi ke

database dan method BayarDaftarUlang pada kelas bayar.java. Listing program 4.57

adalah listing program method BayarDaftarUlang.

public void BayarDaftarUlang(String a,String b,String c,String f) {

query = "call bayar_ulang('"+a+"','"+b+"',"+c+",'"+f+"');";

try {

conn.connect();

Statement ST = conn.sambung.createStatement();

ST.executeUpdate(query);

ST.close();

conn.sambung.close();

JOptionPane.showMessageDialog(null,"Pembayaran Berhasil",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

Page 131: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

106

} catch(Exception esql) {

JOptionPane.showMessageDialog(null,"!!!Operasi Gagal!!!",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

}

}

Listing Program 4.57 Action Button BAYAR Form Pembayaran Revisi Pendaftaran

Method diatas (listing program 4.57) berfungsi untuk memanggil store procedure

yang akan memproses kedalam database. Berikut listing 4.58 adalah listing program

untuk store procedure bayar_ulang untuk melakukan proses pembayaran ulang

(pemindahan data bayar siswa).

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`bayar_ulang`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `bayar_ulang`(nis_lma varchar(10), nis_bru

varchar(10), byr int(7), ket varchar(20))

BEGIN

declare v_bd,pot int(6);

declare jtp varchar(10);

declare no_resi varchar(10);

select substr((date_add(now(),interval 30 day)),1,10) into jtp;

select Biaya_Pendaftaran from pembayaran where NIS=nis_lma into v_bd;

select Potongan from pembayaran where NIS=nis_lma into pot;

select No_Pembayaran from pembayaran where NIS=nis_bru into no_resi;

update pembayaran set Biaya_Pendaftaran = v_bd, Potongan = pot, No_Resi_1 =

concat(„P‟,no_resi,‟1‟), Jml_Bayar_1 = byr, Tgl_Bayar_1 = substr(now(),1,10),

Total_Dibayar = byr, Tgl_Jatuh_Tempo = jtp, Keterangan = ket where NIS=nis_bru;

delete from pembayaran where NIS=nis_lma;

call cek(nis_bru);

END$$

DELIMITER ;

Listing Program 4.58 StoreProcedure bayar_ulang

Store procedure tersebut akan melakukan proses pemindahan data bayar dari siswa

yang melakukan revisi pendaftaran. Kemudian melakukan penghapusan data bayar

lama siswa tersebut, dan terakhir melkukan pengecekan pembayaran.

IV.3.4.A.b.vi Form Laporan Data Siswa

Page 132: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

107

Gambar 4.20 Form Laporan Akademik

Gambar 4.20 adalah interface form laporan data siswa. Form ini berfungsi

untuk melakukan penampilan dan pencetakan data siswa per program yang ada.

Berikut listing 4.58 merupakan listing untuk button print.

private void PRINT_1MouseClicked(java.awt.event.MouseEvent evt) {

if(PROGRAM2.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"Pilih PROGRAM !!",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

try {

Koneksi baru = new Koneksi();

baru.connect();

Connection konek=baru.getConnDB();

Map<String, String> params = new HashMap<String, String>();

params.put("parameter1", IN_PROG);

System.out.println("Filling report...");

String print = JasperFillManager.fillReportToFile

("report/DataSiswaPerProgram.jasper", params, konek);

System.out.println("Done!");

JasperViewer.viewReport(print, false, false);

} catch (Exception e) {

}

}

Listing Program 4.59 Action Button PRINT Form Laporan Data Siswa

Pada listing program 4.59, fungsi print dijalankan dengan memanggil file jasper

bernama DataSiswaPerProgram.jasper. File tersebut berfungsi untuk menampilkan

data siswa per program dalam bentuk laporan yang dapat langsung dicetak. Berikut

gambar 4.21 merupakan gambaran dari laporan yang ditampilkan.

Page 133: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

108

Gambar 4.21 Tampilan Laporan Data Siswa Per Program

Untuk mendapatkan data tersebut, diperlukan query dari file jesper tersebut ke

database. Berikut listing 4.60 adalah query pada file jesper tersebut.

select NIS, upper(Nama), upper(Asal_Sekolah) as Sekolah,Kelas, upper(Nama_Ortu),

upper(Alamat_Rumah) as Alamat,No_Telp as Telepon, Id_Kelas as GK from data_siswa

where substr(NIS,1,2) = $P{parameter1} order by Asal_Sekolah;

Listing Program 4.60 Query Laporan Data Siswa Per Program

Query tersebut akan mengambil data siswa yang diperlukan dari tabel data_siswa

yang diurutkan berdasarkan sekolah asal siswa-siswa tersebut.

IV.3.4.A.c Form Menu Data Nilai

Page 134: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

109

Gambar 4.22 Form Menu Data Nilai

Gambar 4.22 adalah interface form menu data nilai. Form ini memiliki button

menu yang berhubungan tentang data nilai siswa, yaitu button insert nilai siswa untuk

menuju form insert data nilai siswa, button cari data nilai siswa untuk menuju form

data nilai siswa, dan button laporan untuk menuju form laporan data nilai siswa.

Listing program 4.61 merupakan listing program untuk button menu yang tersedia.

// Action Button Menu CARI DATA NILAI SISWA

private void BUTT_CARIMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormCariDataNilaiSiswa baru = new FormCariDataNilaiSiswa();

baru.setVisible(true);

}

// Action Button Menu INSERT DATA NILAI SISWA

private void BUTT_INSERTMouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

FormInsertNilai1 baru = new FormInsertNilai1();

this.setVisible(false);

baru.setVisible(true);

}

// Action Button Menu LAPORAN

private void LAPORANMouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

this.setVisible(false);

FormLaporanDataNilai ni = new FormLaporanDataNilai();

ni.setVisible(true);

}

Listing Program 4.61 Action Button Menu Form Menu Data Nilai

IV.3.4.A.c.i Form Insert Nilai

Page 135: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

110

Gambar 4.23 Form Insert Nilai

Gambar 4.23 adalah interface form insert nilai. Form ini berfungsi untuk

memasukkan data nilai siswa berdasarkan program, mata pelajaran, kelas, semester

(1,2) dan jenis nilainya (N1, N2, N3). Listing program 4.62 merupakan listing

program untuk menjalankan proses insert nilai.

// Action Combo Box PROGRAM, akan berpengaruh pada Combo Box MATA PELAJARAN,

// Pengambilan data mata pelajaran memakai method gen_combo pada kelas

// nilai.java

private void PROGRAMItemStateChanged(java.awt.event.ItemEvent evt) {

if(PROGRAM.getSelectedIndex() == 1) {

IN_PROG = "SLD 1 SMA";

Nilai baru = new Nilai();

String[][] data_combo = new String[6][1];

data_combo = baru.gen_combo(IN_PROG);

COMBO_MAPEL.setModel(new javax.swing.DefaultComboBoxModel(new String[] {

data_combo[0][0],data_combo[1][0],data_combo[2][0],data_combo[3][0], data_combo[4][0],

data_combo[5][0]}));

for(int i=0; i<30; i++){

jTable1.setValueAt("", i,0);

jTable1.setValueAt("", i,1);

jTable1.setValueAt("", i,2);

}

KLP_KELAS.setSelectedIndex(0);

semBox.setSelectedIndex(0);

Page 136: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

111

combo_nilai.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 2) {

IN_PROG = "SLD 2 SMA IPA";

Nilai baru = new Nilai();

String[][] data_combo = new String[6][1];

data_combo = baru.gen_combo(IN_PROG);

COMBO_MAPEL.setModel(new javax.swing.DefaultComboBoxModel(new String[] {

data_combo[0][0],data_combo[1][0],data_combo[2][0],data_combo[3][0], data_combo[4][0],

data_combo[5][0]}));

for(int i=0; i<30; i++){

jTable1.setValueAt("", i,0);

jTable1.setValueAt("", i,1);

jTable1.setValueAt("", i,2);

}

KLP_KELAS.setSelectedIndex(0);

semBox.setSelectedIndex(0);

combo_nilai.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 3) {

IN_PROG = "SLD 2 SMA IPS";

Nilai baru = new Nilai();

String[][] data_combo = new String[6][1];

data_combo = baru.gen_combo(IN_PROG);

COMBO_MAPEL.setModel(new javax.swing.DefaultComboBoxModel(new String[] {

data_combo[0][0],data_combo[1][0],data_combo[2][0],data_combo[3][0], data_combo[4][0],

data_combo[5][0]}));

for(int i=0; i<30; i++){

jTable1.setValueAt("", i,0);

jTable1.setValueAt("", i,1);

jTable1.setValueAt("", i,2);

}

KLP_KELAS.setSelectedIndex(0);

semBox.setSelectedIndex(0);

combo_nilai.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 4) {

IN_PROG = "SLD 3 SMA IPA";

Nilai baru = new Nilai();

String[][] data_combo = new String[6][1];

data_combo = baru.gen_combo(IN_PROG);

COMBO_MAPEL.setModel(new javax.swing.DefaultComboBoxModel(new String[] {

data_combo[0][0],data_combo[1][0],data_combo[2][0],data_combo[3][0], data_combo[4][0],

data_combo[5][0]}));

for(int i=0; i<30; i++){

jTable1.setValueAt("", i,0);

jTable1.setValueAt("", i,1);

jTable1.setValueAt("", i,2);

}

KLP_KELAS.setSelectedIndex(0);

semBox.setSelectedIndex(0);

combo_nilai.setSelectedIndex(0);

Page 137: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

112

} else if(PROGRAM.getSelectedIndex() == 5) {

IN_PROG = "SLD 3 SMA IPS";

Nilai baru = new Nilai();

String[][] data_combo = new String[6][1];

data_combo = baru.gen_combo(IN_PROG);

COMBO_MAPEL.setModel(new javax.swing.DefaultComboBoxModel(new String[] {

data_combo[0][0],data_combo[1][0],data_combo[2][0],data_combo[3][0], data_combo[4][0],

data_combo[5][0]}));

for(int i=0; i<30; i++){

jTable1.setValueAt("", i,0);

jTable1.setValueAt("", i,1);

jTable1.setValueAt("", i,2);

}

KLP_KELAS.setSelectedIndex(0);

semBox.setSelectedIndex(0);

combo_nilai.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 6) {

IN_PROG = "Program Minggu 3 SMA IPA";

Nilai baru = new Nilai();

String[][] data_combo = new String[6][1];

data_combo = baru.gen_combo(IN_PROG);

COMBO_MAPEL.setModel(new javax.swing.DefaultComboBoxModel(new String[] {

data_combo[0][0],data_combo[1][0],data_combo[2][0],data_combo[3][0], data_combo[4][0],

data_combo[5][0]}));

for(int i=0; i<30; i++){

jTable1.setValueAt("", i,0);

jTable1.setValueAt("", i,1);

jTable1.setValueAt("", i,2);

}

KLP_KELAS.setSelectedIndex(0);

semBox.setSelectedIndex(0);

combo_nilai.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 7) {

IN_PROG = "Program Minggu 3 SMA IPS";

Nilai baru = new Nilai();

String[][] data_combo = new String[6][1];

data_combo = baru.gen_combo(IN_PROG);

COMBO_MAPEL.setModel(new javax.swing.DefaultComboBoxModel(new String[] {

data_combo[0][0],data_combo[1][0],data_combo[2][0],data_combo[3][0], data_combo[4][0],

data_combo[5][0]}));

for(int i=0; i<30; i++){

jTable1.setValueAt("", i,0);

jTable1.setValueAt("", i,1);

jTable1.setValueAt("", i,2);

}

KLP_KELAS.setSelectedIndex(0);

semBox.setSelectedIndex(0);

combo_nilai.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 8) {

Page 138: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

113

IN_PROG = "SPMB 3 IPA";

Nilai baru = new Nilai();

String[][] data_combo = new String[6][1];

data_combo = baru.gen_combo(IN_PROG);

COMBO_MAPEL.setModel(new javax.swing.DefaultComboBoxModel(new String[] {

data_combo[0][0],data_combo[1][0],data_combo[2][0],data_combo[3][0], data_combo[4][0],

data_combo[5][0]}));

for(int i=0; i<30; i++){

jTable1.setValueAt("", i,0);

jTable1.setValueAt("", i,1);

jTable1.setValueAt("", i,2);

}

KLP_KELAS.setSelectedIndex(0);

semBox.setSelectedIndex(0);

combo_nilai.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 9) {

IN_PROG = "SPMB 3 IPS";

Nilai baru = new Nilai();

String[][] data_combo = new String[6][1];

data_combo = baru.gen_combo(IN_PROG);

COMBO_MAPEL.setModel(new javax.swing.DefaultComboBoxModel(new String[] {

data_combo[0][0],data_combo[1][0],data_combo[2][0],data_combo[3][0], data_combo[4][0],

data_combo[5][0]}));

for(int i=0; i<30; i++){

jTable1.setValueAt("", i,0);

jTable1.setValueAt("", i,1);

jTable1.setValueAt("", i,2);

}

KLP_KELAS.setSelectedIndex(0);

semBox.setSelectedIndex(0);

combo_nilai.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 10) {

IN_PROG = "PIKPU Murni 3 IPA";

Nilai baru = new Nilai();

String[][] data_combo = new String[6][1];

data_combo = baru.gen_combo(IN_PROG);

COMBO_MAPEL.setModel(new javax.swing.DefaultComboBoxModel(new String[] {

data_combo[0][0],data_combo[1][0],data_combo[2][0],data_combo[3][0], data_combo[4][0],

data_combo[5][0]}));

for(int i=0; i<30; i++){

jTable1.setValueAt("", i,0);

jTable1.setValueAt("", i,1);

jTable1.setValueAt("", i,2);

}

KLP_KELAS.setSelectedIndex(0);

semBox.setSelectedIndex(0);

combo_nilai.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 11) {

IN_PROG = "PIKPU Murni 3 IPS";

Page 139: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

114

Nilai baru = new Nilai();

String[][] data_combo = new String[6][1];

data_combo = baru.gen_combo(IN_PROG);

COMBO_MAPEL.setModel(new javax.swing.DefaultComboBoxModel(new String[] {

data_combo[0][0],data_combo[1][0],data_combo[2][0],data_combo[3][0], data_combo[4][0],

data_combo[5][0]}));

for(int i=0; i<30; i++){

jTable1.setValueAt("", i,0);

jTable1.setValueAt("", i,1);

jTable1.setValueAt("", i,2);

}

KLP_KELAS.setSelectedIndex(0);

semBox.setSelectedIndex(0);

combo_nilai.setSelectedIndex(0);

} else if(PROGRAM.getSelectedIndex() == 12) {

IN_PROG = "PIKPU Murni 3 IPC";

Nilai baru = new Nilai();

String[][] data_combo = new String[6][1];

data_combo = baru.gen_combo(IN_PROG);

COMBO_MAPEL.setModel(new javax.swing.DefaultComboBoxModel(new String[] {

data_combo[0][0],data_combo[1][0],data_combo[2][0],data_combo[3][0], data_combo[4][0],

data_combo[5][0]}));

for(int i=0; i<30; i++){

jTable1.setValueAt("", i,0);

jTable1.setValueAt("", i,1);

jTable1.setValueAt("", i,2);

}

KLP_KELAS.setSelectedIndex(0);

semBox.setSelectedIndex(0);

combo_nilai.setSelectedIndex(0);

}

}

// Action Combo Box MATA PELAJARAN, menampilkan data nilai siswa pada mapel

// tertentu memakai method get_Nilai pada kelas nilai.java jika combo box

// yang lain telah terisi semua (Cuma mangganti jenis mapel)

private void COMBO_MAPELItemStateChanged(java.awt.event.ItemEvent evt) {

for(int i = 0;i<30;i++) {

jTable1.setValueAt("0",i,2);

}

if(combo_nilai.getSelectedIndex() == 1) {

nilai = "N1";

Nilai nil = new Nilai();

String [][] data = new String[30][3];

data=nil.get_Nilai(IN_PROG,IN_KLP,sem,COMBO_MAPEL.getSelectedItem().toString(),nilai);

for(int i=0; i<30; i++){

jTable1.setValueAt(data[i][0], i,0);

Page 140: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

115

jTable1.setValueAt(data[i][1], i,1);

jTable1.setValueAt(data[i][2], i,2);

}

} else if(combo_nilai.getSelectedIndex() == 2) {

nilai = "N2";

Nilai nil = new Nilai();

String [][] data = new String[30][2];

data=nil.get_Nilai(IN_PROG,IN_KLP,sem,COMBO_MAPEL.getSelectedItem().toString(),nilai);

for(int i=0; i<30; i++){

jTable1.setValueAt(data[i][0], i,0);

jTable1.setValueAt(data[i][1], i,1);

jTable1.setValueAt(data[i][2], i,2);

}

} else {

nilai = "N3";

Nilai nil = new Nilai();

String [][] data = new String[30][2];

data=nil.get_Nilai(IN_PROG,IN_KLP,sem,COMBO_MAPEL.getSelectedItem().toString(),nilai);

for(int i=0; i<30; i++){

jTable1.setValueAt(data[i][0], i,0);

jTable1.setValueAt(data[i][1], i,1);

jTable1.setValueAt(data[i][2], i,2);

}

}

}

// Action Combo Box Kelompok Kelas, menampilkan data siswa per kelompok kelas

// memakai method get_cariNIS pada kelas nilai.java

private void KLP_KELASItemStateChanged(java.awt.event.ItemEvent evt) {

if(KLP_KELAS.getSelectedIndex() == 1) {

if(PROGRAM.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"PILIH PROGRAM",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

IN_KLP = "A";

Nilai nil = new Nilai();

String[][] data = new String[30][2];

data=nil.get_cariNIS(IN_PROG,IN_KLP);

for(int i=0; i<30; i++){

jTable1.setValueAt(data[i][0], i,0);

jTable1.setValueAt(data[i][1], i,1);

jTable1.setValueAt("", i, 2);

}

combo_nilai.setSelectedIndex(0);

Page 141: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

116

semBox.setSelectedIndex(0);

}

} else if(KLP_KELAS.getSelectedIndex() == 2) {

if(PROGRAM.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"PILIH PROGRAM",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

IN_KLP = "B";

Nilai nil = new Nilai();

String[][] data = new String[30][2];

data=nil.get_cariNIS(IN_PROG,IN_KLP);

for(int i=0; i<30; i++){

jTable1.setValueAt(data[i][0], i,0);

jTable1.setValueAt(data[i][1], i,1);

jTable1.setValueAt("", i, 2);

}

combo_nilai.setSelectedIndex(0);

semBox.setSelectedIndex(0);

}

} else if(KLP_KELAS.getSelectedIndex() == 3) {

if(PROGRAM.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"PILIH PROGRAM",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

IN_KLP = "C";

Nilai nil = new Nilai();

String [][] data = new String[30][2];

data=nil.get_cariNIS(IN_PROG,IN_KLP);

for(int i=0; i<30; i++){

jTable1.setValueAt(data[i][0], i,0);

jTable1.setValueAt(data[i][1], i,1);

jTable1.setValueAt("", i, 2);

}

combo_nilai.setSelectedIndex(0);

semBox.setSelectedIndex(0);

}

} else if(KLP_KELAS.getSelectedIndex() == 4) {

if(PROGRAM.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"PILIH PROGRAM",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

IN_KLP = "D";

Nilai nil = new Nilai();

String [][] data = new String[30][2];

data=nil.get_cariNIS(IN_PROG,IN_KLP);

for(int i=0; i<30; i++){

Page 142: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

117

jTable1.setValueAt(data[i][0], i,0);

jTable1.setValueAt(data[i][1], i,1);

jTable1.setValueAt("", i, 2);

}

combo_nilai.setSelectedIndex(0);

semBox.setSelectedIndex(0);

}

}

}

// Action Combo Box SEMESTER, menampilkan data Nilai pada semester tertentu

// memakai method get_DataNilai pada kelas nilai.java

private void semBoxItemStateChanged(java.awt.event.ItemEvent evt) {

if(semBox.getSelectedIndex() == 1) {

sem = "1";

Nilai nil = new Nilai();

String [][] data = new String[30][2];

data=nil.get_DataNilai(IN_PROG,IN_KLP,sem,COMBO_MAPEL.getSelectedItem().toString());

for(int i=0; i<30; i++){

jTable1.setValueAt(data[i][0], i,0);

jTable1.setValueAt(data[i][1], i,1);

}

} else if(semBox.getSelectedIndex()==2) {

sem = "2";

Nilai nil = new Nilai();

String [][] data = new String[30][2];

data=nil.get_DataNilai(IN_PROG,IN_KLP,sem,COMBO_MAPEL.getSelectedItem().toString());

for(int i=0; i<30; i++){

jTable1.setValueAt(data[i][0], i,0);

jTable1.setValueAt(data[i][1], i,1);

}

}

}

// Action Combo Box Jenis NILAI, method dipakai : get_Nilai pada kelas

// nilai.java

private void combo_nilaiItemStateChanged(java.awt.event.ItemEvent evt) {

if(combo_nilai.getSelectedIndex() == 1) {

nilai = "N1";

Nilai nil = new Nilai();

String [][] data = new String[30][3];

data=nil.get_Nilai(IN_PROG,IN_KLP,sem,COMBO_MAPEL.getSelectedItem().toString(),nilai);

for(int i=0; i<30; i++){

jTable1.setValueAt(data[i][0], i,0);

Page 143: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

118

jTable1.setValueAt(data[i][1], i,1);

jTable1.setValueAt(data[i][2], i,2);

}

} else if(combo_nilai.getSelectedIndex() == 2) {

nilai = "N2";

Nilai nil = new Nilai();

String [][] data = new String[30][2];

data=nil.get_Nilai(IN_PROG,IN_KLP,sem,COMBO_MAPEL.getSelectedItem().toString(),nilai);

for(int i=0; i<30; i++){

jTable1.setValueAt(data[i][0], i,0);

jTable1.setValueAt(data[i][1], i,1);

jTable1.setValueAt(data[i][2], i,2);

}

} else {

nilai = "N3";

Nilai nil = new Nilai();

String [][] data = new String[30][2];

data=nil.get_Nilai(IN_PROG,IN_KLP,sem,COMBO_MAPEL.getSelectedItem().toString(),nilai);

for(int i=0; i<30; i++){

jTable1.setValueAt(data[i][0], i,0);

jTable1.setValueAt(data[i][1], i,1);

jTable1.setValueAt(data[i][2], i,2);

}

}

}

// Action Button PROSES, memasukkan data nilai ke database.

// 1 tabel = 1 kelas memuat 30 siswa

// Menggunakan method masuk_nilai pada kelas nilai.java

private void BUTT_PROSESMouseClicked(java.awt.event.MouseEvent evt) {

int jml_brs;

System.out.println(jTable1.getValueAt(0,2));

if(jTable1.getValueAt(0,2)==null ||

jTable1.getValueAt(0,2).toString().compareTo("")<1) {

jml_brs = 0;

} else if(jTable1.getValueAt(1,2)==null ||

jTable1.getValueAt(1,2).toString().compareTo("")<1) {

jml_brs = 1;

} else if(jTable1.getValueAt(2,2)==null ||

jTable1.getValueAt(2,2).toString().compareTo("")<1) {

jml_brs = 2;

} else if(jTable1.getValueAt(3,2)==null ||

jTable1.getValueAt(3,2).toString().compareTo("")<1) {

jml_brs = 3;

} else if(jTable1.getValueAt(4,2)==null ||

jTable1.getValueAt(4,2).toString().compareTo("")<1) {

jml_brs = 4;

Page 144: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

119

} else if(jTable1.getValueAt(5,2)==null ||

jTable1.getValueAt(5,2).toString().compareTo("")<1) {

jml_brs = 5;

} else if(jTable1.getValueAt(6,2)==null ||

jTable1.getValueAt(6,2).toString().compareTo("")<1) {

jml_brs = 6;

} else if(jTable1.getValueAt(7,2)==null ||

jTable1.getValueAt(7,2).toString().compareTo("")<1) {

jml_brs = 7;

} else if(jTable1.getValueAt(8,2)==null ||

jTable1.getValueAt(8,2).toString().compareTo("")<1) {

jml_brs = 8;

} else if(jTable1.getValueAt(9,2)==null ||

jTable1.getValueAt(9,2).toString().compareTo("")<1) {

jml_brs = 9;

} else if(jTable1.getValueAt(10,2)==null ||

jTable1.getValueAt(10,2).toString().compareTo("")<1) {

jml_brs = 10;

} else if(jTable1.getValueAt(11,2)==null ||

jTable1.getValueAt(11,2).toString().compareTo("")<1) {

jml_brs = 11;

} else if(jTable1.getValueAt(12,2)==null ||

jTable1.getValueAt(12,2).toString().compareTo("")<1) {

jml_brs = 12;

} else if(jTable1.getValueAt(13,2)==null ||

jTable1.getValueAt(13,2).toString().compareTo("")<1) {

jml_brs = 13;

} else if(jTable1.getValueAt(14,2)==null ||

jTable1.getValueAt(14,2).toString().compareTo("")<1) {

jml_brs = 14;

} else if(jTable1.getValueAt(15,2)==null ||

jTable1.getValueAt(15,2).toString().compareTo("")<1) {

jml_brs = 15;

} else if(jTable1.getValueAt(16,2)==null ||

jTable1.getValueAt(16,2).toString().compareTo("")<1) {

jml_brs = 16;

} else if(jTable1.getValueAt(1,2)==null ||

jTable1.getValueAt(17,2).toString().compareTo("")<1) {

jml_brs = 17;

} else if(jTable1.getValueAt(18,2)==null ||

jTable1.getValueAt(18,2).toString().compareTo("")<1) {

jml_brs = 18;

} else if(jTable1.getValueAt(19,2)==null ||

jTable1.getValueAt(19,2).toString().compareTo("")<1) {

jml_brs = 19;

} else if(jTable1.getValueAt(20,2)==null ||

jTable1.getValueAt(20,2).toString().compareTo("")<1) {

jml_brs = 20;

} else if(jTable1.getValueAt(21,2)==null ||

jTable1.getValueAt(21,2).toString().compareTo("")<1) {

jml_brs = 21;

} else if(jTable1.getValueAt(22,2)==null ||

jTable1.getValueAt(22,2).toString().compareTo("")<1) {

Page 145: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

120

jml_brs = 22;

} else if(jTable1.getValueAt(23,2)==null ||

jTable1.getValueAt(23,2).toString().compareTo("")<1) {

jml_brs = 23;

} else if(jTable1.getValueAt(24,2)==null ||

jTable1.getValueAt(24,2).toString().compareTo("")<1) {

jml_brs = 24;

} else if(jTable1.getValueAt(25,2)==null ||

jTable1.getValueAt(25,2).toString().compareTo("")<1) {

jml_brs = 25;

} else if(jTable1.getValueAt(26,2)==null ||

jTable1.getValueAt(26,2).toString().compareTo("")<1) {

jml_brs = 26;

} else if(jTable1.getValueAt(27,2)==null ||

jTable1.getValueAt(27,2).toString().compareTo("")<1) {

jml_brs = 27;

} else if(jTable1.getValueAt(28,2)==null ||

jTable1.getValueAt(28,2).toString().compareTo("")<1) {

jml_brs = 28;

} else if(jTable1.getValueAt(29,2)==null ||

jTable1.getValueAt(29,2).toString().compareTo("")<1) {

jml_brs = 29;

} else {

jml_brs = 30;

}

Nilai baru = new Nilai();

for(int i=0; i<jml_brs; i++)

{

String a = jTable1.getValueAt(i,0).toString();

String c = jTable1.getValueAt(i,2).toString();

baru.masukNilai(a,COMBO_MAPEL.getSelectedItem().toString(),sem,

combo_nilai.getSelectedItem().toString(), c);

}

}

Listing Program 4.62 Listing Program Form Insert Nilai

Listing program 4.62 diatas akan memproses tiap data nilai yang masuk. Yang perlu

diperhatikan untuk menjalankan form ini adalah urutan pemilihan combo box,

pertama dimulai dengan pemilihan program (berpengaruh pada jenis mata pelajaran

pada combo box mapel), diikuti berturut-turut mata pelajaran (memilih mata pelajaran

yang akan diisi nilai), kelompok kelas (memilih kelompok kelas siswa), semester

(memilih semester untuk nilai mapel yang akan diisi), terakhir adalah jenis nilai

(memilih jenis nilai yang akan diisi). Jika terjadi kekeliruan pemilihan, akan muncul

Page 146: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

121

peringatan utuk membenarkan urutan. Selanjutnya listing program 4.63 untuk method

gen_combo pada combo box program untuk mendaftar mata pelajaran, listing

program 4.64 untuk method get_cariNIS untuk mendaftar NIS yang termasuk pada

suatu program, listing program 4.65 untuk method get_DataNilai untuk mendapatkan

daftar NIS yang termasuk pada kelompok kelas tertentu, listing program 4.66 untuk

method get_Nilai untuk menampilkan data nilai siswa pada program, mata pelajaran,

kelas, semester, dan jenis nilai tertentu, listing program 4.67 untuk method

masuk_nilai untuk memasukkan data nilai kedalam database.

public String[][] gen_combo(String a)

{

String[][] data=new String[6][1];

query = "call generate_combo('"+a+"');";

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

int i = 0;

while(RS.next()) {

data[i][0] = RS.getString(1);

i++;

}

ST.close();

return data;

} catch(Exception e) {

System.out.print("error generate Combo Box Mapel");

}

return null;

}

Listing Program 4.63 Method gen_combo

public String[][] get_cariNIS(String a,String b) {

String[][] data=new String[30][2];

query = "call cari_nis_nama('"+a+"','"+b+"');";

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

Page 147: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

122

int i = 0;

while(RS.next()) {

data[i][0] = RS.getString(1);

data[i][1] = RS.getString(2);

i++;

}

ST.close();

return data;

} catch(Exception e) {

System.out.print("error cari nis nama");

}

return null;

}

Listing Program 4.64 Method get_cariNIS

public String[][] get_DataNilai(String a,String b,String c,String d) {

String[][] data=new String[30][2];

query = "call get_data_NilaiN('"+a+"','"+b+"','"+c+"','"+d+"');";

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

int i = 0;

while(RS.next()) {

data[i][0] = RS.getString(1);

data[i][1] = RS.getString(2);

i++;

}

ST.close();

return data;

} catch(Exception e) {

System.out.print("error get data Nilai");

}

return null;

}

Listing Program 4.65 Method get_DataNilai

public String[][] get_Nilai(String a,String b,String c,String d,String e) {

String[][] data=new String[30][3];

query = "call get_data_Nilai('"+a+"','"+b+"','"+c+"','"+d+"','"+e+"');";

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

Page 148: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

123

int i = 0;

while(RS.next()) {

data[i][0] = RS.getString(1);

data[i][1] = RS.getString(2);

data[i][2] = RS.getString(3);

i++;

}

ST.close();

return data;

} catch(Exception ex) {

System.out.print("error get Nilai");

}

return null;

}

Listing Program 4.66 Method get_Nilai

public void masukNilai(String a,String b,String c,String d,String e) {

query = "call InsertNH1('"+a+"','"+b+"','"+c+"','"+d+"','"+e+"');";

try {

conn.connect();

Statement ST = conn.sambung.createStatement();

ST.executeUpdate(query);

ST.close();

conn.sambung.close();

JOptionPane.showMessageDialog(null,"Data Nilai Berhasil Diproses",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

} catch(Exception esql) {

JOptionPane.showMessageDialog(null,"!!!Operasi Gagal!!!",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

}

}

Listing Program 4.67 Method masuk_nilai

Method-method diatas berfungsi untuk memanggil store procedure yang terdapat

dalam database. Berikut listing program 4.68 store procedure generate_combo untuk

mendapatkan data mata pelajaran tiap program, listing program 4.69 store procedure

cari_nis_nama untuk medapatkan data nis dan nama siswa per program, listing

program 4.70 store procedure get_data_NilaiN untuk mendapatkan data siswa per

program-kelompok kelas-semseter, listing program 4.71 store procedure

get_data_Nilai untuk mendapatkan data nilai menurut jenis nilai, listing program 4.72

Page 149: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

124

store procedure insertNH1 untuk memasukkan data nilai tiap siswa untuk program,

mata pelajaran, kelompok kelas, semester, dan jenis nilai tertentu.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`generate_combo`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `generate_combo`(in_prog varchar(100))

BEGIN

declare id varchar(10);

select Id_Program from program where Nama_Program = in_prog into id;

select Nama_Mapel from mapel where Id_Program = id;

END$$

DELIMITER ;

Listing Program 4.68 Store Procedure generate_combo

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`cari_nis_nama`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `cari_nis_nama`(p_prog varchar(25), p_klas

varchar(1))

BEGIN

declare p_no varchar(2);

if p_prog='SLD 1 SMA' then set p_no='01';

elseif p_prog='SLD 2 SMA IPA' then set p_no='02';

elseif p_prog='SLD 2 SMA IPS' then set p_no='03';

elseif p_prog='SLD 3 SMA IPA' then set p_no='04';

elseif p_prog='SLD 3 SMA IPS' then set p_no='05';

elseif p_prog='Program Minggu 3 SMA IPA' then set p_no='06';

elseif p_prog='Program Minggu 3 SMA IPS' then set p_no='07';

elseif p_prog='SPMB 3 IPA' then set p_no='08';

elseif p_prog='SPMB 3 IPS' then set p_no='09';

elseif p_prog='PIKPU Murni 3 IPA' then set p_no='10';

elseif p_prog='PIKPU Murni 3 IPS' then set p_no='11';

else set p_no='12';

end if;

select NIS, upper(Nama) from data_siswa where substr(NIS,1,2)=p_no and

Id_Kelas=p_klas;

END$$

DELIMITER ;

Listing Program 4.69 Store Procedure cari_nis_nama

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`get_data_NilaiN`$$

Page 150: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

125

CREATE DEFINER=`root`@`localhost` PROCEDURE `get_data_NilaiN`(p_prog

varchar(25),p_klas varchar(1),p_sem varchar(1),p_Mapel varchar(15))

BEGIN

declare aa varchar(2);

declare ab varchar(10);

select Id_Program from program where Nama_Program=p_prog into aa;

select Id_Mapel from mapel where Nama_Mapel=p_mapel and Id_Program=aa into ab;

select a.NIS, upper(b.Nama) from nilai a,data_siswa b

where a.NIS=b.NIS and a.Id_Program=aa

and a.Smster=p_sem and b.Id_Kelas=p_klas and a.Id_Mapel=ab;

END$$

DELIMITER ;

Listing Program 4.70 Store Procedure get_data_NilaiN

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`get_data_Nilai`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `get_data_Nilai`(p_prog varchar(25),p_klas

varchar(1),p_sem varchar(1),p_Mapel varchar(15),jnis varchar(2))

BEGIN

declare aa varchar(2);

declare ab varchar(10);

select Id_Program from program where Nama_Program=p_prog into aa;

select Id_Mapel from mapel where Nama_Mapel=p_mapel and Id_Program=aa into ab;

if jnis='N1' then

select a.NIS,upper(b.Nama),a.N1 from nilai a,data_siswa b

where a.NIS=b.NIS and a.Id_Program=aa

and a.Smster=p_sem and b.Id_Kelas=p_klas and a.Id_Mapel=ab;

elseif jnis='N2' then

select a.NIS, upper(b.Nama),a.N2 from nilai a,data_siswa b

where a.NIS=b.NIS and a.Id_Program=aa

and a.Smster=p_sem and b.Id_Kelas=p_klas and a.Id_Mapel=ab;

else

select a.NIS, upper(b.Nama),a.N3 from nilai a,data_siswa b

where a.NIS=b.NIS and a.Id_Program=aa

and a.Smster=p_sem and b.Id_Kelas=p_klas and a.Id_Mapel=ab;

end if;

END$$

DELIMITER ;

Listing Program 4.71 Store Procedure get_data_Nilai

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`InsertNH1`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `InsertNH1`(nom varchar(10),p_mapel

varchar(15),sem varchar(1),j_nil varchar(2),p_NH decimal(5,0))

BEGIN

declare prg varchar(2);

declare mpl varchar(10);

Page 151: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

126

select substr(nom,1,2) into prg;

select Id_Mapel from mapel where Nama_Mapel=p_mapel and Id_Program=prg into mpl;

if j_nil='N1' then

update nilai set N1=p_NH,NR=p_NH where NIS=nom and Id_Mapel=mpl and Smster=sem;

elseif j_nil='N2' then

update nilai set N2=p_NH,NR=(NR+p_NH)/2 where NIS=nom and Id_Mapel=mpl

and Smster=sem;

else

update nilai set N3=p_NH,NR=((NR*2)+p_NH)/3 where NIS=nom and

Id_Mapel=mpl and Smster=sem;

end if;

END$$

DELIMITER ;

Listing Program 4.72 Store Procedure insertNH1

IV.3.4.A.c.ii Form Cari Data Nilai

Gambar 4.24 Form Cari Data Nilai

Gambar 4.24 adalah interface form menu cari data nilai. Form ini berfungsi

untuk mencari dan melihat data nilai siswa tertentu per semester untuk semua mata

pelajaran dan semua jenis nilai. Form ini dimulai dengan mencari data siswa yang

diinginkan, kemudian setelah siswa yang dimaksud dipilih, tinggal memilih pada

combo box semester untuk mendapatkan data nilai siswa tersebut. Berikut listing

program 4.73 merupakan listing program untuk combo box semester.

private void semBoxItemStateChanged(java.awt.event.ItemEvent evt) {

if(semBox.getSelectedIndex() == 1) {

sem = "1";

jTable3.setModel(new Nilai(NIS.getText(),sem));

Page 152: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

127

} else

sem = "2";

jTable3.setModel(new Nilai(NIS.getText(),sem));

}

Listing Program 4.73 Action Combo Box SEMESTER Form Cari Data Nilai Siswa

Untuk mendapatkan data nilai dari siswa bersangkutan, lewat listing program 4.73,

diperlukan method getNilai yang terdapat pada konstruktor class Nilai.java. Listing

program 4.74 berikut adalah listing method getNilai.

public void getNilai(String a, String b) {

query = "call siswa_nilai('"+a+"','"+b+"');";

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

while(RS.next()) {

Object[] r =

{

RS.getString(1), RS.getString(2),

RS.getString(3), RS.getString(4), RS.getString(5)

};

bar.addElement(r);

r=null;

}

} catch(Exception e) {

System.out.print("error");

}

}

Listing Program 4.74 Method getNilai

Method getNilai (listing program 4.74) tersebut akan memanggil store procedure

siswa_nilai untuk mendapatkan data nilai siswa yang dimaksud. Berikut listing

program 4.75 store procedure siswa_nilai.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`siswa_nilai`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `siswa_nilai`(p_no varchar(10),p_sms

varchar(2))

BEGIN

declare pr varchar(2);

select substr(p_no,1,2) into pr;

Page 153: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

128

select b.Nama_Mapel,a.N1,a.N2,a.N3,a.NR from nilai a, mapel b where NIS=p_no

and Smster=p_sms and a.Id_Mapel=b.Id_Mapel and b.Id_Program=pr;

END$$

DELIMITER ;

Listing Program 4.75 StoreProcedure siswa_nilai

IV.3.4.A.c.iii Form Laporan Data Nilai

Gambar 4.25 Form Laporan Data Nilai

Gambar 4.25 adalah interface form menu laporan data nilai. Form ini

berfungsi untuk melihat dan mencetak data nilai per program-mapel-kelompok kelas-

semester, data nilai per program-mapel-kelompok kelas-semester-jenis nilai, dan data

nilai per siswa untuk tiap semseter. Berikut listing program 4.76 merupakan listing

program untuk tiap button print pada form laporan data nilai diatas (gambar 4.25).

// Action Button PRINT laporan data nilai per program-mapel-kelompokkelas

//-semester

private void PRINT_1MouseClicked(java.awt.event.MouseEvent evt) {

if(PROGRAM2.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"Pilih PROGRAM !!",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

try {

Koneksi baru = new Koneksi();

baru.connect();

Connection konek=baru.getConnDB();

Map<String, String> params = new HashMap<String, String>();

params.put("parameter1", IN_PROG);

params.put("parameter2", sem);

Page 154: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

129

params.put("parameter3", IN_KLP);

params.put("parameter4",COMBO_MAPEL.getSelectedItem().toString());

System.out.println("Filling report...");

String

print=JasperFillManager.fillReportToFile("report/DataNilaiPerProgramMapelKelasSem.jasp

er", params, konek);

System.out.println("Done!");

JasperViewer.viewReport(print, false, false);

} catch (Exception e) {

}

}

// Action Button PRINT laporan data nilai per program-mapel-kelompokkelas

//-semester-jenisnilai

private void PRINT_2MouseClicked(java.awt.event.MouseEvent evt) {

if(nilai.compareTo("N1")<1) {

try {

Koneksi baru = new Koneksi();

baru.connect();

Connection konek=baru.getConnDB();

Map<String, String> params = new HashMap<String, String>();

params.put("parameter1", IN_PROG);

params.put("parameter2", sem);

params.put("parameter3", IN_KLP);

params.put("parameter4",COMBO_MAPEL.getSelectedItem().toString());

System.out.println("Filling report...");

String

print=JasperFillManager.fillReportToFile("report/DataNilaiSiswaN1.jasper", params,

konek);

System.out.println("Done!");

JasperViewer.viewReport(print, false, false);

} catch (Exception e) {

}

} else if(nilai.compareTo("N2")<1) {

try {

Koneksi baru = new Koneksi();

baru.connect();

Connection konek=baru.getConnDB();

Map<String, String> params = new HashMap<String, String>();

params.put("parameter1", IN_PROG);

params.put("parameter2", sem);

params.put("parameter3", IN_KLP);

params.put("parameter4",COMBO_MAPEL.getSelectedItem().toString());

System.out.println("Filling report...");

String

print=JasperFillManager.fillReportToFile("report/DataNilaiSiswaN2.jasper", params,

konek);

System.out.println("Done!");

JasperViewer.viewReport(print, false, false);

Page 155: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

130

} catch (Exception e) {

}

} else if(nilai.compareTo("N3")<1) {

try {

Koneksi baru = new Koneksi();

baru.connect();

Connection konek=baru.getConnDB();

Map<String, String> params = new HashMap<String, String>();

params.put("parameter1", IN_PROG);

params.put("parameter2", sem);

params.put("parameter3", IN_KLP);

params.put("parameter4",COMBO_MAPEL.getSelectedItem().toString());

System.out.println("Filling report...");

String

print=JasperFillManager.fillReportToFile("report/DataNilaiSiswaN3.jasper", params,

konek);

System.out.println("Done!");

JasperViewer.viewReport(print, false, false);

} catch (Exception e) {

}

}

}

// Action Button PRINT laporan data nilai tiap siswa tiap semester

private void PRINT_3MouseClicked(java.awt.event.MouseEvent evt) {

if(semBox1.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"PILIH SEMESTER",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

}

if(IN_NAMA.getText().compareTo("")<1 && NIS.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Cari DATA SISWA dengan MENGETIKKAN

NAMA, atau NIS pada KOLOM YANG DIDEDIAKAN", "MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

try {

Koneksi baru = new Koneksi();

baru.connect();

Connection konek=baru.getConnDB();

Map<String, String> params = new HashMap<String, String>();

params.put("parameter1", NIS.getText());

params.put("parameter2", semB);

System.out.println("Filling report...");

String

print=JasperFillManager.fillReportToFile("report/DataNilaiSiswa.jasper", params,

konek);

System.out.println("Done!");

JasperViewer.viewReport(print, false, false);

} catch (Exception e) {

}

Page 156: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

131

}

}

Listing Program 4.76 Action Button PRINT Form Laporan Data Nilai

Pada listing program 4.76, fungsi button print1 dijalankan dengan memanggil file

jasper bernama DataNilaiPerProgramMapelKelasSem.jasper. File tersebut berfungsi

untuk menampilkan data siswa per program dalam bentuk laporan yang dapat

langsung dicetak. Berikut gambar 4.26 merupakan gambaran dari laporan yang

ditampilkan.

Gambar 4.26 Tampilan Laporan Data Nilai Lengkap

Untuk mendapatkan data tersebut, diperlukan query dari file jesper tersebut ke

database. Berikut listing 4.77 adalah query pada file jesper tersebut.

select a.NIS, upper(b.Nama),a.N1,a.N2,a.N3,a.NR

from nilai a,data_siswa b,program c,mapel d

where a.NIS=b.NIS

and c.Nama_Program=$P{parameter1} and a.Id_Program=c.Id_Program

and a.Smster=$P{parameter2}

and b.Id_Kelas=$P{parameter3}

and d.Nama_Mapel=$P{parameter4} and d.Id_Mapel=a.Id_Mapel;

Listing Program 4.77 Query Laporan Data Nilai Siswa Per Program

Pada listing program 4.76, fungsi button print2 dijalankan dengan memanggil file

jasper bernama DataNilaiSiswaN1.jasper, DataNilaiSiswaN2.jasper, dan

DataNilaiSiswaN3.jasper bergantung pada jenis nilai yang dipilih. File tersebut

Page 157: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

132

berfungsi untuk menampilkan data siswa per program dalam bentuk laporan yang

dapat langsung dicetak. Berikut gambar 4.27 merupakan gambaran dari laporan yang

ditampilkan.

Gambar 4.27 Tampilan Laporan Data Nilai Per Jenis Nilai

Untuk mendapatkan data tersebut, diperlukan query dari file jesper tersebut ke

database. Berikut listing 4.78 adalah query pada file jesper tersebut.

select a.NIS, upper(b.Nama),a.N1 from nilai a,data_siswa b,program c,mapel d where

a.NIS=b.NIS and c.Nama_Program=$P{parameter1} and a.Id_Program=c.Id_Program and

a.Smster=$P{parameter2} and b.Id_Kelas=$P{parameter3} and d.Nama_Mapel=$P{parameter4}

and d.Id_Mapel=a.Id_Mapel;

Listing Program 4.78 Query Laporan Data Nilai Siswa Per Jenis Nilai

Pada listing program 4.76, fungsi button print3 dijalankan dengan memanggil file

jasper bernama DataNilaiSiswa.jasper. File tersebut berfungsi untuk menampilkan

data siswa per program dalam bentuk laporan yang dapat langsung dicetak. Berikut

gambar 4.28 merupakan gambaran dari laporan yang ditampilkan.

Page 158: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

133

Gambar 4.28 Tampilan Laporan Data Nilai Per Siswa

Untuk mendapatkan data tersebut, diperlukan query dari file jesper tersebut ke

database. Berikut listing 4.79 adalah query pada file jesper tersebut.

select a.NIS,upper(c.Nama),b.Nama_Mapel,a.N1,a.N2,a.N3,a.NR from nilai a,mapel

b,data_siswa c where a.NIS=c.NIS and a.Id_Mapel=b.Id_Mapel and a.NIS=$P{parameter1}

and Smster=$P{parameter2};

Listing Program 4.79 Query Laporan Data Nilai Siswa Per Jenis Nilai

IV.3.4.B Form Menu Administrasi

Gambar 4.29 Form Menu Administrasi

Gambar 4.29 adalah interface form menu administrasi. Form ini memiliki

button menu yang berhubungan tentang data administrasi siswa, yaitu pembayaran

bimbingan untuk menuju form pembayaran bimbingan siswa, button data bayar siswa

Page 159: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

134

untuk menuju form lihat data bayar siswa, button data biaya bimbingan untuk menuju

form daftar biaya bimbingan, dan button laporan untuk menuju form laporan data

administrasi siswa. Listing program 4.80 merupakan listing program untuk button

menu yang tersedia.

// Action Button PEMBAYARAN BIMBINGAN

private void BUTT_BAYARMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormDataBayarSiswa baru = new FormDataBayarSiswa();

baru.setVisible(true);

}

// Action Button DATA BAYAR SISWA

private void BUTT_DATA_BIAYAMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormLihatDataBayarSiswa baru = new FormLihatDataBayarSiswa();

baru.setVisible(true);

}

// Action Button DATA BIAYA BIMBINGAN

private void BUTT_BIAYA_BIMBMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormDataBiayaBimbingan baru = new FormDataBiayaBimbingan();

baru.setVisible(true);

}

// Action Button LAPORAN

private void LAPORANMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormLaporanAdministrasi lad = new FormLaporanAdministrasi();

lad.setVisible(true);

}

Listing Program 4.80 Action Button Form Menu Administrasi

IV.3.4.B.a Form Pembayaran Bimbingan

Page 160: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

135

Gambar 4.30 Form Pembayaran Bimbingan

Gambar 4.30 adalah interface form pembayaran bimbingan. Form ini

berfungsi untuk menjalankan proses pembayaran bimbingan. Form ini akan

menampilkan data pembayaran lengkap seorang siswa. Untuk melakukan

pembayaran, maka pegawai tinggal memilih dan menekan tombol bayar yang ada

(bayar 1, bayar 2, atau bayar 3), dan akan menuju ke form nota bayar. Listing

program 4.81 merupakan listing program untuk button bayar yang tersedia.

// Action Button BAYAR 1

private void BUTT_BAYAR_IMouseClicked(java.awt.event.MouseEvent evt) {

String vv = Keterangan.getText();

if(Bayar1.getText().compareTo("")>1) {

JOptionPane.showMessageDialog(null,"PEMBAYARAN PERTAMA SUDAH

DILAKUKAN","MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(vv.length()==5) {

JOptionPane.showMessageDialog(null,"SUDAH LUNAS PEMBAYARAN",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(NIS.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"DATA SISWA KOSONG",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

FormPembayaranPertama bdf = new FormPembayaranPertama();

bdf.setVisible(true);

bdf.setNIS(getNIS());

}

Page 161: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

136

}

// Action Button BAYAR 2

private void BUTT_BAYAR_IIMouseClicked(java.awt.event.MouseEvent evt) {

String vv = Keterangan.getText();

if(NIS.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"DATA SISWA KOSONG",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Bayar1.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"BELUM MELAKUKAN PEMBAYARAN

PERTAMA","MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Bayar2.getText().compareTo("")>1) {

JOptionPane.showMessageDialog(null,"PEMBAYARAN KEDUA SUDAH DILAKUKAN",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(vv.length()==5) {

JOptionPane.showMessageDialog(null,"SUDAH LUNAS PEMBAYARAN",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

this.setVisible(true);

FormPembayaranKedua bdf = new FormPembayaranKedua();

bdf.setVisible(true);

bdf.setNIS(getNIS());

}

}

// Action Button BAYAR 3

private void BUTT_BAYAR_IIIMouseClicked(java.awt.event.MouseEvent evt) {

String vv = Keterangan.getText();

if(NIS.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"DATA SISWA KOSONG",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Bayar1.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"BELUM MELAKUKAN PEMBAYARAN

PERTAMA","MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(Bayar2.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"BELUM MELAKUKAN PEMBAYARAN KEDUA",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(vv.length()==5) {

JOptionPane.showMessageDialog(null,"SUDAH LUNAS PEMBAYARAN",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

this.setVisible(true);

FormPembayaranKetiga bdf = new FormPembayaranKetiga();

bdf.setVisible(true);

bdf.setNIS(getNIS());

}

}

Page 162: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

137

Listing Program 4.81 Action Button BAYAR Form Pembayaran Bimbingan

IV.3.4.B.a.i Form Nota Pembayaran

Gambar 4.31 Form Nota Pembayaran

Gambar 4.31 adalah interface form nota pembayaran bimbingan (pembayaran

ke-3). Form ini berfungsi untuk melakukan proses pembayaran bimbingan. Bentuk

dari form bayar 1 dan 2 hampir sama, perbedaannya terletak pada field jumlah bayar

yang editable. Pada nota bayar ketiga ini, field jumlah bayar dibuat non-editable

dikarenakan field tersebut akan langsung terisi kekurangan pembayaran yang ada,

sehingga pada pembayaran ketiga ini, pembayaran bimbingan sudah terlunasi. Listing

program 4.81 merupakan listing program untuk button proses.

private void BUTT_PROSESMouseClicked(java.awt.event.MouseEvent evt) {

bayar byr = new bayar();

String[] data = new String[1];

data = byr.cekBayar(NIS.getText());

int a = Integer.parseInt(data[0]);

int b;

if(Jum_Bayar.getText().compareTo("")>1) {

b = Integer.parseInt(Jum_Bayar.getText());

if(b>a) {

JOptionPane.showMessageDialog(null,"PEMBAYARAN TERLALU

BESAR","MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if(b<a) {

JOptionPane.showMessageDialog(null,"PEMBAYARAN TERLALU

KECIL","MESSAGE",JOptionPane.ERROR_MESSAGE );

} else if (Terbilang.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"TULIS DENGAN HURUF NOMINAL

UANG YANG DIBAYAR","MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

byr.BayarKetiga(Jum_Bayar.getText(), NIS.getText());

try {

Koneksi baru = new Koneksi();

baru.connect();

Connection konek=baru.getConnDB();

Map<String, String> params = new HashMap<String, String>();

Page 163: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

138

params.put("parameter1", NIS.getText());

System.out.println("Filling report...");

String

print=JasperFillManager.fillReportToFile("report/NotaBayarKetiga.jasper", params,

konek);

System.out.println("Done!");

JasperViewer.viewReport(print, false, false);

} catch (Exception e) {

}

this.setVisible(false);

}

}

}

Listing Program 4.82 Action Button PROSES Form Nota Pembayaran Ketiga

Listing program 4.82 akan menjalankan proses pembayaran, melakukan penyimpanan

kedalam database, dan mencetak nota pembayaran. Proses penyimpanan kedalam

database dilakukan dengan memanggil method BayarKetiga pada kelas bayar.java.

Untuk bayar 1 dan bayar 2, akan memanggil method BayarPertama dan BayarKedua.

Sedangkan untuk mencetak nota, akan memanggil file jasper NotaBayarPertama

untuk bayar 1, NotaBayarKedua untuk bayar 2, dan NotaBayarKetiga untuk bayar 3.

Berikut dibawah ini berturut-turut adalah listing program 4.83 method BayarKetiga

dan gambar 4.32 adalah gambar nota pembayaran untuk dicetak.

public void BayarKetiga(String b,String d) {

query = "call bayar_3rd("+b+",'"+d+"');";

try {

conn.connect();

Statement ST = conn.sambung.createStatement();

ST.executeUpdate(query);

ST.close();

conn.sambung.close();

JOptionPane.showMessageDialog(null,"Pembayaran Berhasil",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

} catch(Exception esql) {

JOptionPane.showMessageDialog(null,"!!!Operasi Gagal!!!",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

}

}

Listing Program 4.83 Method BayarKetiga

Page 164: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

139

Gambar 4.32 Tampilan Print Nota Pembayaran

Method BayarKetiga (listing 4.83), digunakan untuk memanggil store procedure

bayar_3rd di dalam database. Sedangkan untuk proses bayar 1 dan bayar 2, akan

memanggil store procedure bayar_1st dan bayar_2nd. Berikut listing 4.84 store

procedure bayar_1st, listing 4.85 store procedure bayar_2nd, dan listing 4.86 store

procedure bayar_3rd.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`bayar_1st`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `bayar_1st`(p_uang int(7),p_nis

varchar(10))

BEGIN

declare byr int(7);

declare tby varchar(10);

declare jtp varchar(10);

declare tot int(7);

declare p_nR varchar(9);

select substr(now(),1,10) into tby;

select No_Pembayaran from pembayaran where NIS=p_nis into p_nR;

select substr((date_add(now(),interval 30 day)),1,10) into jtp;

select (Total_Dibayar/2) from pembayaran where NIS=p_nis into byr;

start transaction;

if (p_uang>=byr) then

update pembayaran

set

No_Resi_1=concat(p_nR,‟1‟),Tgl_Bayar_1=tby,Jml_Bayar_1=p_uang,Total_Dibayar=p_uang,Tgl

_Jatuh_Tempo=jtp where NIS=p_nis;

call cek(p_nis);

select Jml_Biaya from pembayaran where NIS=p_nis into tot;

if(p_uang=tot) then

update pembayaran

set No_Resi_2='000000',Tgl_Bayar_2='0000-00-00',Jml_Bayar_2=0,

No_Resi_3='000000',Tgl_Bayar_3='0000-00-00',Jml_Bayar_3=0

where NIS=p_nis;

end if;

commit;

else

rollback;

end if;

END$$

DELIMITER ;

Listing Program 4.84 StoreProcedure bayar_1st

Page 165: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

140

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`bayar_2nd`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `bayar_2nd`(p_uang int(7), p_nis

varchar(10))

BEGIN

declare tby varchar(10);

declare jtp varchar(10);

declare jby,tot int(6);

declare p_nR varchar(9);

select substr(now(),1,10) into tby;

select No_Pembayaran from pembayaran where NIS=p_nis into p_nR;

select substr((date_add(now(),interval 30 day)),1,10) into jtp;

update pembayaran

set No_Resi_2=concat(p_nR,‟2‟),Tgl_Bayar_2=tby,Jml_Bayar_2=p_uang,

Total_Dibayar=(Total_Dibayar+p_uang),Tgl_Jatuh_Tempo=jtp

where NIS=p_nis;

call cek(p_nis);

select Jml_Biaya from pembayaran where NIS=p_nis into jby;

select Total_Dibayar from pembayaran where NIS=p_nis into tot;

if(tot=jby) then

update pembayaran

set No_Resi_3='000000', Tgl_Bayar_3='0000-00-00', Jml_Bayar_3=0

where NIS=p_nis;

end if;

END$$

DELIMITER ;

Listing Program 4.85 StoreProcedure bayar_2nd

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`bayar_3rd`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `bayar_3rd`(p_uang int(7), p_nis

varchar(10))

BEGIN

declare tby varchar(10);

declare p_nR varchar(9);

select substr(now(),1,10) into tby;

select No_Pembayaran from pembayaran where NIS=p_nis into p_nR;

update pembayaran

set No_Resi_3=concat(p_nR,‟3‟),Tgl_Bayar_3=tby,Jml_Bayar_3=p_uang,

Total_Dibayar=(Total_Dibayar+p_uang)

where NIS=p_nis;

call cek(p_nis);

END$$

DELIMITER ;

Listing Program 4.86 StoreProcedure bayar_3rd

Masing-masing store procedure tersebut akan melakukan update pada tabel

pembayaran untuk tiap proses pembayaran, baik pembayaran pertama, pembayaran

kedua, atau pembayaran ketiga. Juga akan dilakukan untuk pengecekan pada

pembayaran pertama dan kedua, apakah pembayaran yang dilakukan sudah bias

melunasi biaya bimbingan.

Page 166: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

141

IV.3.4.B.b Form Lihat Data Pembayaran Siswa

Gambar 4.33 Form Lihat Data Pembayaran Siswa

Gambar 4.33 adalah interface form lihat data pembayaran siswa. Form ini

berfungsi untuk melihat pembayaran bimbingan siswa per program, program-kelas,

dan melihat data jatuh tempo per program. Listing program 4.87 merupakan listing

program pada form lihat data pembayaran siswa.

// Action Combo Box PROGRAM

private void PROGRAMItemStateChanged(java.awt.event.ItemEvent evt) {

if(PROGRAM.getSelectedIndex() == 1) {

IN_PROG = "01";

} else if(PROGRAM.getSelectedIndex() == 2) {

IN_PROG = "02";

} else if(PROGRAM.getSelectedIndex() == 3) {

IN_PROG = "03";

} else if(PROGRAM.getSelectedIndex() == 4) {

IN_PROG = "04";

} else if(PROGRAM.getSelectedIndex() == 5) {

IN_PROG = "05";

} else if(PROGRAM.getSelectedIndex() == 6) {

IN_PROG = "06";

} else if(PROGRAM.getSelectedIndex() == 7) {

IN_PROG = "07";

} else if(PROGRAM.getSelectedIndex() == 8) {

IN_PROG = "08";

} else if(PROGRAM.getSelectedIndex() == 9) {

IN_PROG = "09";

} else if(PROGRAM.getSelectedIndex() == 10) {

IN_PROG = "10";

} else if(PROGRAM.getSelectedIndex() == 11) {

IN_PROG = "11";

} else if(PROGRAM.getSelectedIndex() == 12) {

IN_PROG = "12";

Page 167: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

142

}

jTable1.setModel(new LihatBayar(IN_PROG));

jTable1.getModel();

IN_KLS.setSelectedIndex(0);

}

// Action Combo Box KELAS

private void IN_KLSItemStateChanged(java.awt.event.ItemEvent evt) {

if(IN_KLS.getSelectedIndex() == 1) {

IN_KLP = "A";

} else if(IN_KLS.getSelectedIndex() == 2) {

IN_KLP = "B";

} else if(IN_KLS.getSelectedIndex() == 3) {

IN_KLP = "C";

} else if(IN_KLS.getSelectedIndex() == 4) {

IN_KLP = "D";

} else {

IN_KLP = "";

}

jTable1.setModel(new LihatBayar(IN_PROG,IN_KLP));

jTable1.getModel();

}

// Action Button JATUH TEMPO PROGRAM

private void BUTT_JATUH_TEMPOMouseClicked(java.awt.event.MouseEvent evt) {

jTable1.setModel(new LihatBayar(IN_PROG,IN_KLP,""));

jTable1.getModel();

}

Listing Program 4.87 Action Form Lihat Data Pembayaran Siswa

Untuk menjalankan tiap proses pada listing 4.87, diperlukan method-method pada

kelas LihatBayar.java. Berikut listing 4.88 merupakan kelas LihatBayar.java.

public class LihatBayar extends javax.swing.table.AbstractTableModel {

Koneksi conn = new Koneksi();

private String kol[] ={"NIS","NAMA","BIAYA","KEKURANGAN","JATUH

TEMPO","KETERANGAN"};

private java.util.Vector bar = new java.util.Vector();

String query;

public LihatBayar() {

}

public LihatBayar(String a) {

getPembayaran(a);

}

public LihatBayar(String a,String b) {

getPembayaranKelas(a,b);

}

public LihatBayar(String a,String b,String c) {

getPembayaranJTP(a,b);

}

public LihatBayar(String a,String b,int c) {

getPembayaranJTP2(a,b,c);

}

private void getPembayaran(String a) {

query = "call SiswaBayarProgram('"+a+"');";

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

while(RS.next()) {

Object[] r =

{RS.getString(1),RS.getString(2),RS.getString(3),

RS.getString(4),RS.getString(5),RS.getString(6)};

bar.addElement(r);

Page 168: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

143

r=null;

}

} catch(Exception e) {

System.out.print("error void get Pembayaran Program");

}

}

private void getPembayaranJTP(String a, String b) {

query = "call SiswaBayarJTP('"+a+"','"+b+"');";

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

while(RS.next()) {

Object[] r =

{RS.getString(1),RS.getString(2),RS.getString(3),

RS.getString(4),RS.getString(5),RS.getString(6)};

bar.addElement(r);

r=null;

}

} catch(Exception e) {

System.out.print("error void get Pembayaran JTP");

}

}

private void getPembayaranJTP2(String a, String b, int c) {

throw new UnsupportedOperationException("Not yet implemented");

}

private void getPembayaranKelas(String a, String b) {

query = "call SiswaBayarKelas('"+a+"','"+b+"');";

try {

conn.connect();

java.sql.Statement ST = conn.sambung.createStatement();

java.sql.ResultSet RS = ST.executeQuery(query);

bar.removeAllElements();

while(RS.next()) {

Object[] r =

{RS.getString(1),RS.getString(2),RS.getString(3),

RS.getString(4),RS.getString(5),RS.getString(6)};

bar.addElement(r);

r=null;

}

} catch(Exception e) {

System.out.print("error void get Pembayaran Kelas");

}

}

Listing Program 4.88 ClassLihatBayar.java

Class LihatBayar.java (listing 4.88), bertugas untuk mengambil data dari database

untuk ditampilkan pada form lihat data pembayaran siswa (gambar 4.33). Terdapat 3

store procedure yang dipanggil pada class LihatBayar.java, yaitu

SiswaBayarProgram, SiswaBayarKelas, dan SiswaBayarJTP. Berikut berturut-turut

listing 4.89, 4.90, 4.91 adalah store procedure SiswaBayarProgram, SiswaBayarKelas,

dan SiswaBayarJTP.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`SiswaBayarProgram`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SiswaBayarProgram`(prog varchar(2))

BEGIN

Page 169: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

144

select a.NIS, upper(b.Nama), a.Jml_Biaya, (a.Jml_Biaya-

a.Total_Dibayar),a.Tgl_Jatuh_Tempo,a.Keterangan from pembayaran a, data_siswa b

where substr(a.NIS,1,2)=prog and a.NIS=b.NIS;

END$$

DELIMITER ;

Listing Program 4.89 StoreProcedure SiswaBayarProgram

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`SiswaBayarKelas`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SiswaBayarKelas`(prog varchar(2),kls

varchar(1))

BEGIN

select a.NIS,upper(b.Nama),a.Jml_Biaya,(a.Jml_Biaya-a.Total_Dibayar) as

Kekurangan,a.Tgl_Jatuh_Tempo,a.Keterangan from pembayaran a, data_siswa b

where substr(a.NIS,1,2)=prog and a.NIS=b.NIS and b.Id_Kelas=kls;

END$$

DELIMITER ;

Listing Program 4.90 StoreProcedure SiswaBayarKelas

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`SiswaBayarJTP`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SiswaBayarJTP`(prog varchar(2),kls

varchar(1))

BEGIN

if(kls='E') then

select a.NIS,upper(b.Nama),a.Jml_Biaya,(a.Jml_Biaya-a.Total_Dibayar) as

Kekurangan,a.Tgl_Jatuh_Tempo,a.Keterangan from pembayaran a,data_siswa b

where substr(a.NIS,1,2)=prog and a.Tgl_Jatuh_Tempo <= date(now()) and

a.Tgl_Jatuh_Tempo != '0000-00-00' and a.NIS=b.NIS;

else

select a.NIS,upper(b.Nama),a.Jml_Biaya,(a.Jml_Biaya-a.Total_Dibayar) as

Kekurangan,a.Tgl_Jatuh_Tempo,a.Keterangan from pembayaran a,data_siswa b

where substr(a.NIS,1,2)=prog and a.NIS=b.NIS and b.Id_Kelas=kls and

Tgl_Jatuh_Tempo <= date(now()) and Tgl_Jatuh_Tempo != '0000-00-00';

end if;

END$$

DELIMITER ;

Listing Program 4.91 StoreProcedure SiswaBayarJTP

Page 170: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

145

IV.3.4.B.c Form Data Biaya Bimbingan

Gambar 4.34 Form Data Biaya Bimbingan

Gambar 4.34 adalah interface form lihat data biaya bimbingan. Form ini

berfungsi untuk melihat dan melakukan update data biaya bimbingan. Listing

program 4.92 merupakan listing program button update form data biaya bimbingan

private void BUTT_UPDATEMouseClicked(java.awt.event.MouseEvent evt) {

bayar bay = new bayar();

bay.UpdateBiaya(Nama_Prog.getText(), Biaya.getText());

}

Listing Program 4.92 Action Button UPDATE Form Data Biaya Bimbingan

Untuk menjalankan proses update data biaya bimbingan, lewat listing program 4.92,

diperlukan method UpdateBiaya yang terdapat pada class bayar.java. Listing program

4.93 berikut adalah listing method UpdateBiaya.

public void UpdateBiaya(String a,String b) {

query = "call upd_biaya('"+a+"',"+b+");";

try {

conn.connect();

Statement ST = conn.sambung.createStatement();

ST.executeUpdate(query);

ST.close();

conn.sambung.close();

JOptionPane.showMessageDialog(null,"Update Biaya Bimbingan Berhasil",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

} catch(Exception esql) {

JOptionPane.showMessageDialog(null,"!!!Operasi Gagal!!!",

"MESSAGE",JOptionPane.INFORMATION_MESSAGE );

}

}

Listing Program 4.93 Method UpdateBiaya

Page 171: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

146

Method UpdateBiaya (listing program 4.93) tersebut akan memanggil store procedure

upd_Biaya untuk mengupdate data biaya bimbingan suatu program. Berikut listing

program 4.94 store procedure upd_Biaya.

DELIMITER $$

DROP PROCEDURE IF EXISTS `neutron_ta`.`upd_Biaya`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `upd_Biaya`(p_nm varchar(50), p_hrg

int(6))

BEGIN

update program set Biaya=p_hrg where Nama_Program=p_nm;

END$$

DELIMITER ;

Listing Program 4.94 StoreProcedure upd_Biaya

IV.3.4.B.d Form Laporan Administrasi

Gambar 4.35 Form Laporan Administrasi

Gambar 4.35 adalah interface form menu laporan data adminsitrasi. Form ini

berfungsi untuk melihat dan mencetak data administrasi siswa per program, data

administrasi tiap siswa, dan data jatuh pembayaran tempo lewat button menu. Berikut

listing program 4.95 merupakan listing program untuk tiap button print dan button

menu pada form laporan data administrasi diatas (gambar 4.35).

// Action Button PRINT Data Bayar Siswa Per Program

private void PRINT_1MouseClicked(java.awt.event.MouseEvent evt) {

if(PROGRAM2.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"Pilih PROGRAM !!",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

try {

Koneksi baru = new Koneksi();

Page 172: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

147

baru.connect();

Connection konek=baru.getConnDB();

Map<String, String> params = new HashMap<String, String>();

params.put("P1", IN_PROG);

System.out.println("Filling report...");

String

print=JasperFillManager.fillReportToFile("report/DataBayarSiswaPerProgram.jasper",

params, konek);

System.out.println("Done!");

JasperViewer.viewReport(print, false, false);

} catch (Exception e) {

}

}

}

// Action Button PRINT Data Bayar Siswa

private void PRINT_3MouseClicked(java.awt.event.MouseEvent evt) {

if(IN_NAMA.getText().compareTo("")<1 && NIS.getText().compareTo("")<1) {

JOptionPane.showMessageDialog(null,"Cari DATA SISWA dengan MENGETIKKAN

NAMA, atau NIS pada KOLOM YANG DIDEDIAKAN",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

try {

Koneksi baru = new Koneksi();

baru.connect();

Connection konek=baru.getConnDB();

Map<String, String> params = new HashMap<String, String>();

params.put("P1", NIS.getText());

System.out.println("Filling report...");

String

print=JasperFillManager.fillReportToFile("report/DataBayarPerSiswa.jasper", params,

konek);

System.out.println("Done!");

JasperViewer.viewReport(print, false, false);

} catch (Exception e) {

}

}

}

// Action Button KLIK DISINI Menuju Form Laporan Pembayaran Jatuh Tempo

private void BUTT_LAP_JTPMouseClicked(java.awt.event.MouseEvent evt) {

this.setVisible(false);

FormLaporanJTP baru = new FormLaporanJTP();

baru.setVisible(true);

}

Listing Program 4.95 Action Button-Button Form Laporan Administrasi

Pada listing program 4.95, fungsi button print (Laporan Data Bayar Siswa Per

Program) akan menjalankan perintah untuk memanggil file jasper bernama

DataBayarSiswaPerProgram.jasper. File tersebut berfungsi untuk menampilkan data

bayar siswa per program dalam bentuk laporan yang dapat langsung dicetak. Berikut

gambar 4.36 merupakan gambaran dari laporan yang ditampilkan.

Page 173: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

148

Gambar 4.36 Tampilan Laporan Pembayaran Siswa Per Program

Untuk mendapatkan data pada gambar 4.36, diperlukan query dari file jesper tersebut

ke database. Berikut listing 4.96 adalah query pada file jesper tersebut.

select a.NIS,upper(b.Nama),a.Biaya_Bimbingan as Biaya,a.Potongan,a.Jml_Bayar_1 as

'Bayar 1',a.Jml_Bayar_2 as 'Bayar 2',a.Jml_Bayar_3 as 'Bayar 3',a.Tgl_Jatuh_Tempo as

Jatuh_Tempo,(a.Jml_Biaya-a.Total_Dibayar) as Kekurangan,a.Keterangan from pembayaran

a,data_siswa b where substr(a.NIS,1,2)=$P{P1} and a.NIS=b.NIS

Listing Program 4.96 Query Laporan Pembayaran Siswa Per Program

Pada listing program 4.95, fungsi button print (Laporan Data Bayar Siswa) akan

menjalankan perintah untuk memanggil file jasper bernama

DataBayarPerSiswa.jasper. File tersebut berfungsi untuk menampilkan data bayar

lengkap untuk seorang siswa dalam bentuk laporan yang dapat langsung dicetak.

Berikut gambar 4.37 merupakan gambaran dari laporan yang ditampilkan.

Page 174: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

149

Gambar 4.37 Tampilan Laporan Data Pembayaran Lengkap Per Siswa

Untuk mendapatkan data pada gambar 4.37, diperlukan query dari file jesper tersebut

ke database. Berikut listing 4.97 adalah query pada file jesper tersebut.

select a.NIS,upper(b.Nama) as NAMA,

a.Biaya_Bimbingan as 'Biaya Bimbingan',

a.No_Pembayaran as 'Nomor Pembayaran',

a.No_Resi_1 as 'Nomor Resi 1',

a.Jml_Bayar_1 as 'Jumlah Bayar 1',

a.Tgl_Bayar_1 as 'Tanggal Bayar 1',

a.No_Resi_2 as 'Nomor Resi 2',

a.Jml_Bayar_2 as 'Jumlah Bayar 2',

a.Tgl_Bayar_2 as 'Tanggal Bayar 2',

a.No_Resi_3 as 'Nomor Resi 3',

a.Jml_Bayar_3 as 'Jumlah Bayar 3',

a.Tgl_Bayar_3 as 'Tanggal Bayar 3',

a.Tgl_Jatuh_Tempo as 'Jatuh Tempo Pembayaran',

a.Jml_Biaya-a.Total_Dibayar as Kekurangan,

a.Keterangan from pembayaran a,data_siswa b where a.NIS=b.NIS

and a.NIS=$P{P1};

Listing Program 4.97 Query Laporan Data Bayar Per Siswa

Sedangkan untuk button menu pembayaran jatuh tempo, akan merujuk kepada

form Laporan Pembayaran Jatuh Tempo, pada gambar berikutnya (gambar 4.38)

Page 175: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

150

IV.3.4.B.d.i Form Laporan Pembayaran Jatuh Tempo

Gambar 4.38 Form Laporan Pembayaran Jatuh Tempo

Gambar 4.38 adalah interface form laporan data pembayaran jatuh tempoi.

Form ini berfungsi untuk melihat dan mencetak data pembayaran siswa yang telah

jatuh tempo, baik per program, pada tanggal tertentu, dan antara tanggal yang

dikehendaki. Berikut listing program 4.98 merupakan listing program untuk tiap

button print pada form laporan pembayaran jatuh tempo (gambar 4.38).

// Action Button PRINT Laporan Pembayaran Jatuh Tempo Per Program

private void BUTT_PRINTMouseClicked(java.awt.event.MouseEvent evt) {

if(PROGRAM.getSelectedIndex()==0) {

JOptionPane.showMessageDialog(null,"Pilih PROGRAM !!",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

try {

Koneksi baru = new Koneksi();

baru.connect();

Connection konek=baru.getConnDB();

Map<String, String> params = new HashMap<String, String>();

params.put("parameter1", IN_PROG);

System.out.println("Filling report...");

String

print=JasperFillManager.fillReportToFile("report/DataBayarJatuhTempoPerProgram.jasper"

, params, konek);

System.out.println("Done!");

JasperViewer.viewReport(print, false, false);

} catch (Exception e) {

}

}

Page 176: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

151

}

// Action Button PRINT Laporan Pembayaran Jatuh Tempo Pada Tanggal Tertentu

private void BUTT_PRINT1MouseClicked(java.awt.event.MouseEvent evt) {

if(jDateChooser1.getDate()==null) {

JOptionPane.showMessageDialog(null,"ISI TANGGAL",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

Calendar c = jDateChooser1.getCalendar();

int bulan = c.get(c.MONTH)+1;

int day = c.get(c.DATE);

String bln="";

String hr="";

if(bulan < 10)

bln = "0"+bulan;

else

bln = ""+bulan;

if(day < 10)

hr = "0"+c.get(c.DATE);

else

hr = ""+c.get(c.DATE);

String tgl = c.get(c.YEAR)+"-"+bln+"-"+hr;

System.out.println(tgl);

try {

Koneksi baru = new Koneksi();

baru.connect();

Connection konek=baru.getConnDB();

Map<String, String> params = new HashMap<String, String>();

params.put("parameter1", tgl);

System.out.println("Filling report...");

String

print=JasperFillManager.fillReportToFile("report/DataJTPTanggal.jasper", params,

konek);

System.out.println("Done!");

JasperViewer.viewReport(print, false, false);

} catch (Exception e) {

}

}

}

// Action Button PRINT Laporan Pembayaran Jatuh Tempo Antara Tanggal Tertentu

private void BUTT_PRINT2MouseClicked(java.awt.event.MouseEvent evt) {

if(jDateChooser2.getDate()==null || jDateChooser3.getDate()==null) {

JOptionPane.showMessageDialog(null,"LENGKAPI TANGGAL DARI dan SAMPAI",

"MESSAGE",JOptionPane.ERROR_MESSAGE );

} else {

Calendar a = jDateChooser2.getCalendar();

int bulan = a.get(a.MONTH)+1;

int day = a.get(a.DATE);

String bln="";

String hr="";

if(bulan < 10)

bln = "0"+bulan;

else

bln = ""+bulan;

if(day < 10)

hr = "0"+a.get(a.DATE);

else

hr = ""+a.get(a.DATE);

String tgl = a.get(a.YEAR)+"-"+bln+"-"+hr;

System.out.println(tgl);

Page 177: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

152

Calendar b = jDateChooser3.getCalendar();

int bulan1 = b.get(b.MONTH)+1;

int day1 = b.get(b.DATE);

String bln1="";

String hr1="";

if(bulan1 < 10)

bln1 = "0"+bulan1;

else

bln1 = ""+bulan1;

if(day1 < 10)

hr1 = "0"+b.get(b.DATE);

else

hr1 = ""+b.get(b.DATE);

String tgl1 = b.get(b.YEAR)+"-"+bln1+"-"+hr1;

System.out.println(tgl1);

try {

Koneksi baru = new Koneksi();

baru.connect();

Connection konek=baru.getConnDB();

Map<String, String> params = new HashMap<String, String>();

params.put("parameter1", tgl);

params.put("parameter2", tgl1);

System.out.println("Filling report...");

String

print=JasperFillManager.fillReportToFile("report/DataJTPTglDariMpe.jasper", params,

konek);

System.out.println("Done!");

JasperViewer.viewReport(print, false, false);

} catch (Exception e) {

}

}

}

Listing Program 4.98 Action Button-Button PRINT Form Laporan Pembayaran Jatuh Tempo

Pada listing program 4.98, fungsi button print (Laporan Pembayaran Jatuh Tempo Per

Program) akan menjalankan perintah untuk memanggil file jasper bernama

DataBayarJatuhTempoPerProgram.jasper. File tersebut berfungsi untuk menampilkan

data bayar jatuh tempo untuk program tertentu dalam bentuk laporan yang dapat

langsung dicetak. Berikut gambar 4.39 merupakan gambaran dari laporan yang

ditampilkan.

Page 178: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

153

Gambar 4.39 Tampilan Laporan Pembayaran Jatuh Tempo

Untuk mendapatkan data pada gambar 4.39, diperlukan query dari file jesper tersebut

ke database. Berikut listing 4.99 adalah query pada file jesper tersebut.

select a.NIS, upper(b.Nama), b.Nama_Ortu as Nama_OrangTua,b.No_Telp as

Telepon,a.Jml_Biaya,(a.Jml_Biaya-a.Total_Dibayar) as Kekurangan,a.Tgl_Jatuh_Tempo as

Jatuh_Tempo,a.Keterangan from pembayaran a,data_siswa b where

substr(a.NIS,1,2)=$P{parameter1} and a.NIS=b.NIS and a.Tgl_Jatuh_Tempo <= date(now())

and a.Tgl_Jatuh_Tempo != '0000-00-00';

Listing Program 4.99 Query Laporan Pembayaran Jatuh Tempo Per Program

Pada listing program 4.98, fungsi button print (Laporan Pembayaran Jatuh Tempo

Pada Tanggal) akan menjalankan perintah untuk memanggil file jasper bernama

DataJTPTanggal.jasper. File tersebut berfungsi untuk menampilkan data bayar yang

jatuh tempo pada tanggal tertentu dalam bentuk laporan yang dapat langsung dicetak.

Berikut gambar 4.40 merupakan gambaran dari laporan yang ditampilkan.

Page 179: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

154

Gambar 4.40 Tampilan Laporan Pembayaran Jatuh Tempo Pada Tanggal

Untuk mendapatkan data pada gambar 4.40, diperlukan query dari file jesper tersebut

ke database. Berikut listing 4.100 adalah query pada file jesper tersebut.

select a.NIS,upper(b.Nama), a.Jml_Bayar_1 as 'Bayar 1',a.Jml_Bayar_2 as 'Bayar

2',a.Jml_Bayar_3 as 'Bayar 3',a.Jml_Biaya-a.Total_Dibayar as

Kekurangan,a.Tgl_Jatuh_Tempo as 'Jatuh Tempo' from pembayaran a,data_siswa b

where a.NIS=b.NIS and a.Tgl_Jatuh_Tempo <=$P{parameter1};

Listing Program 4.100 Query Laporan Pembayaran Jatuh Tempo Pada Tanggal

Pada listing program 4.98, fungsi button print (Laporan Pembayaran Jatuh Tempo

Antara Tanggal) akan menjalankan perintah untuk memanggil file jasper bernama

DataJTPTglDariMpe.jasper. File tersebut berfungsi untuk menampilkan data bayar

yang jatuh tempo antara tanggal/waktu tertentu dalam bentuk laporan yang dapat

langsung dicetak. Berikut gambar 4.41 merupakan gambaran dari laporan yang

ditampilkan.

Page 180: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

155

Gambar 4.41 Tampilan Laporan Pembayaran Jatuh Tempo Dari Sampai Tanggal

Untuk mendapatkan data pada gambar 4.41, diperlukan query dari file jesper tersebut

ke database. Berikut listing 4.101 adalah query pada file jesper tersebut.

select a.NIS,upper(b.Nama),a.Jml_Bayar_1 as 'Bayar 1',a.Jml_Bayar_2 as 'Bayar

2',a.Jml_Bayar_3 as 'Bayar 3',a.Jml_Biaya-a.Total_Dibayar as

Kekurangan,a.Tgl_Jatuh_Tempo as 'Jatuh Tempo' from pembayaran a,data_siswa b

where a.NIS=b.NIS and a.Tgl_Jatuh_Tempo between $P{parameter1} and $P{parameter2};

Listing Program 4.101 Query Laporan Pembayaran Jatuh Tempo Antara Tanggal

Page 181: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

157

BAB V

ANALISA HASIL

Dari hasil uji coba di lab dan di Lembaga Bimbingan Neutron Yogyakarta

perangkat lunak Sistem Informasi Akademik dan Administrasi Lembaga Bimbingan

Belajar secara umum dapat berjalan dan berfungsi dengan baik.

V.1 Kelebihan Sistem yang dibuat

1. Informasi nilai siswa bisa cepat diketahui oleh dirinya sendiri, serta informasi

nilai yang terdahulu dapat diakses langsung tanpa harus meminta kepada

pegawai.

2. Informasi pembayaran siswa bisa cepat diketahui oleh siswa sendiri. Siswa

dapat mengetahui bagaimana catatan pembayaran mereka masing-masing.

3. Sistem informasi akademik dan administrasi ini dapat mencetak laporan yang

diperlukan. Untuk tiap proses pembayaran, pegawai tidak direpotkan untuk

menulis kuitansi pembayaran.

4. Tampilan progam dibuat secara user friendly dimaksud agar user tidak merasa

kesulitan dalam menjalankan program tersebut.

5. Terdapat keamanan privasi atas hak dalam program ini dengan cara

memasukan password dalam login sesuai dengan kebutuhan dasar dari setiap

user tersebut

6. Sistem informasi akademik dan administrasi ini dilengkapi dengan error

handling untuk meminimalisir kesalahan yang dibuat oleh user sewaktu proses

pemasukan data.

7. Data-data yang diberikan oleh sistem dapat dipisahkan dengan jelas, data yang

berkatan dengan data pribadi dan nilai masuk ke dalam kelompok data

Page 182: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

158

akademik, sedangkan data pembayaran siswa masuk ke dalam kelompok

administrasi, sehingga user tidak dibingungkan oleh menu-menu yang ada.

V.2 Kekurangan Sistem yang dibuat

Sistem informasi akademik dan administrasi ini juga mempunyai kekurangan

dalam hal :

1. Dalam proses pembayaran pendaftaran, penampilan data bayar siswa baru

dilakukan lewat proses pencarian siswa dengan dasar pencarian nama siswa,

hal ini dilakukan karena NIS siswa didapat secara otomatis dari sistem, untuk

mendapatkan NIS siswa baru tersebut, langkah paling mudah dengan mencari

berdasar nim, tetapi proses ini kurang efektif jika nama dari siswa ada yang

benar-benar sama. Penulis menyiasati hal ini dengan menggunakan tabel untuk

menampilkan hasil pencarian dengan diurutkan berdasarkan tanggal daftar

paling akhir.

2. Dalam proses Revisi Pendaftaran, sistem tidak bisa melakukan break

operation atau pembatalan proses.

3. Validasi dalam pemasukan data nilai, masih dilakukan per siswa.

Page 183: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

159

BAB VI

PENUTUP

VI.1 Kesimpulan

Setelah sistem informasi akademik dan administrasi ini selesai dibuat, maka

diperoleh beberapa kesimpulan, antara lain :

1. Secara keseluruhan, sistem dapat berjalan dengan baik, sistem mampu

mengelola dan mengolah data pribadi siswa, data nilai siswa, serta data

administrasi siswa.

2. Sistem mampu menyediakan informasi dan laporan seputar data akademik dan

administrasi yang diperlukan baik siswa maupun pegawai.

VI.2 Saran

1. Untuk pengembangan sistem informasi akademik dan administrasi secara

lebih lanjut, dapat menambahkan fasilitas lain yang akhirnya lebih menambah

nilai fungsi, seperti misalnya pengembangan sistem untuk pengembangan ke

arah pembuatan sistem informasi keuangan secara keseluruhan, merambah

seluruh data siswa (yang dibuat sekarang baru untuk siswa SMU),

menambahkan informasi yang berguna bagi pengambilan keputusan di

kemudian hari, seperti informasi perkembangan penerimaan siswa tiap tahun.

Page 184: SISTEM INFORMASI AKADEMIK dan ADMINISTRASI LEMBAGA ...repository.usd.ac.id/32456/2/055314103_Full.pdf · vii ABSTRAK Pencatatan data siswa, data nilai, dan data administrasi siswa

160

DAFTAR PUSTAKA

Jeffery L. Whitten, Lonnie D. Bentley, Kevin C. Dittman, 2004, Metode Desain &

Analisis Sistem edisi 6, Tim Penerjemah ANDI, Yogyakarta.

Pressman, R.S., 2002, Rekayasa Perangkat Lunak Pendekatan Praktisi (Buku II),

Diterjemahkan oleh : CN.Harnaningrum, Yogyakarta : Andi.

Azteni P, Ceri S., Paraboschi S., Torlone R., 2000, Database Systems, McGraw-Hill

Publishing Company.

Harip Santoso, Pemrograman Client-Server menggunakan SQL Server 2000 dan

Visual Basic 6.0. Penerbit PT. Elex Media Komputindo, Kelompok Gramedia,

Jakarta, 2003

Hartono, Jogiyanto, 1999, Analisis dan Disain, Andi, Yogyakarta.

Kristanto, Harianto, Agustus 1994, Konsep dan Perancangan Database, Andi,

Yogyakarta

Kristanto, Andri, 2003, Perancangan Sistem Informasi dan Aplikasinya, Gava Media,

Yogyakarta

Jogiyanto Hartono, MBA, Ph.D. Analisa dan Desain, Sistem Informasi: pendekatan

terstruktur teori dan praktek aplikasi bisnis. Penerbit Andi Yogyakarta,1989