sistem informasi pendataan siswa 025314012
TRANSCRIPT
SISTEM INFORMASI PENDATAAN SISWA SE-KABUPATEN
( Studi Kasus Kabupaten Wonogiri )
Tugas Akhir
Dikerjakan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika
Oleh :
Yohana Karuniawati P. NIM. 025314012
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA
YOGYAKARTA 2007
REGIONAL DISTRICT STUDENTS INFORMATION SYSTEM
( A Case Study at Wonogiri District )
A Thesis
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Teknik Degree in Informatics Engineering
by : Yohana Karuniawati P.
NIM. 025314012
DEPARTMENT OF INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
2007
PERNYATAAN KEASLIAN KARYA
Dengan ini saya menyatakan bahwa dalam tugas akhir saya ini tidak terdapat
karya yang pernah diajukan untuk memperoleh gelar sarjana di suatu perguruan
tinggi, dan sepanjang sepengetahuan saya juga tidak terdapat karya atau pendapat
yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang diacu dalam naskah
ini dan disebutkan dalam daftar pustaka sebagaimana layaknya karya ilmiah.
Yogyakarta, 4 September 2007
Peneliti
Yohana Karuniawati P.
v
MOTTO
Orang-orang yang menabur dengan mencucurkan air mata,
akan menuai dengan bersorak-sorai (Mazmur 126 : 5).
Write your plans in pencil but give GOD the eraser.
His way is always so much better than we could have chosen
(Proverbs 16 : 9).
YOU CAN IF YOU THINK YOU CAN
vi
ABSTRAKSI
Setiap ada penambahan dan perubahan data siswa pada suatu sekolah, maka
harus dilaporkan ke Dinas Pendidikan Kabupaten. Jika data yang dimasukkan
mencapai ribuan maka Dinas Pendidikan Kabupaten dan tiap sekolah perlu membuat
database siswa dan setiap perubahan maupun penambahan data disimpan ke file
kemudian baru di-update-kan ke Dinas Pendidikan Kabupaten. Hal ini dilakukan
supaya sekolah dan Dinas Pendidikan Kabupaten mempunyai dokumentasi
pendidikan yang terorganisasi dalam suatu database sehingga memudahkan pencarian
data siswa.
Sistem ini dibuat dengan studi kasus di Dinas Pendidikan Kabupaten
Wonogiri, dan data-data siswa dari SD N 1 Ploso, SMP N 1 Bulukerto, dan SMA N 1
Purwantoro. Sistem Informasi Pendataan Siswa dibangun menggunakan teknologi
Java Server Pages dengan database MySQL dan web server yang digunakan adalah
Apache Tomcat.
Hasil akhir yang diperoleh adalah Sistem Informasi Pendataan Siswa yang
dapat berjalan dengan baik, yang memiliki fasilitas pencarian data siswa berdasarkan
bakat dan prestasi, mencari nilai siswa, jumlah nilai dan rata-rata persemester, data
beasiswa dan juga fasilitas cetak laporan. Perubahan data siswa dari sekolah disimpan
ke sebuah file dengan menekan satu tombol saja, kemudian file tersebut dicopy ke
dalam media penyimpanan kemudian dibawa ke Dinas Pendidikan Kabupeten untuk
digunakan dalam update database. Adapun kekurangan dari sistem ini adalah
penamaan, tipe dan lokasi file yang sudah ditentukan secara default, dan
penyimpanan dalam file belum bisa dilakukan jika sudah terdapat file yang sama.
vii
ABSTRACT
Every single change on students' data in school has to be reported to the
department of education in the district. If the input data reaches the number of
thousands, so the district department of education and school in the district need to
create a students database, and every single change is saved in a file then it is updated
to the district department of eduaction so that district department of education has an
organized documentation in the form of a database to make easy the search of
students' data.
This system was built with the department of eduaction in district Wonogiri
and the students data taken from Ploso 1 Elementasry School, Bulukerto 1 Junior
High School, and Purwantoro 1 Senior High School as the case study. Students
Information System was built using Java Server Pages with MySQL database and
Apache Tomcat as the web server.
The final result is Students Information System functions well, that provides
fasilities such as searching students data based on talent and achievement, searching
students' grade, searching the sum and average grade in each semester, schollarship
data and also printed report facility. Students data's change from a school is saved to a
file by pressing a button then the file is copied to a storeage then brought that to the
district department of education to used in the database update. The weakness of this
system are the naming, the type and the file's location are already in default, also the
saving process can't be done of there's already file with the same name.
viii
KATA PENGANTAR
Puji syukur peneliti panjatkan ke hadirat Tuhan yang Maha Esa atas segala
limpahan berkat dan kasihNya sehingga peneliti dapat menyelesaikan Tugas Akhir ini
dengan judul : “Sistem Informasi Pendataan Siswa Se-Kabupaten”. Tugas akhir ini
disusun untuk memenuhi salah satu starat untuk memperoleh gelar sarjana strata satu
program studi Teknik Informatika jurusan Teknik Informatika Fakultas Teknik
Universitas Sanata Dharma Yogyakarta.
Dengan segala kerendahan hati, peneliti mengucapkan terima kasih kepada
semua pihak yang telah banyak membantu dan memberikan dukungan sehingga
peneliti dapat menyelesaikan Tugas Akhir ini, antara lain kepada :
1. Tuhan Yesus Kristus, Bapa dan Sahabat Sejatiku, yang memberi kekuatan dan
penghiburan, melimpahiku dengan berkat dan kasihNYA.
2. Kedua orang tuaku dan Advent adikku atas doa dan dorongannya yang tak
henti-henti sehingga peneliti bisa menyelesaikan Tugas Akhir ini.
3. Dr. Ir. P. Wiryono P., S.J. selaku Rektor Universitas Sanata Dharma
Yogyakarta.
4. Romo Ir. Gregorius Heliarko S.J., S.S., B.ST., M.A., M.Sc. selaku Dekan
Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.
5. Ibu A.M. Polina, S.Kom, M.Sc selaku Ketua Jurusan Teknik dan Dosen
Pembimbing yang telah meluangkan waktu dan tenaga dalam membimbing
dan membantu peneliti menyelesaikan Tugas Akhir ini dengan baik.
ix
6. Bapak B. Sri Widodo, S.T selaku Dosen Pembimbing yang telah meluangkan
waktu dan tenaga untuk membimbing dan membantu peneliti sehingga
peneliti dapat menyelesaikan Tugas Akhir ini dengan baik.
7. Semua Dosen Teknik Informatika, sekretariat, laboran, seluruh karyawan
Kampus III Universitas Sanata Dharma yang telah memberikan bantuan dan
dukungan kepada peneliti untuk dapat menyelesaikan Tugas Akhir ini dengan
baik.
8. Staff / BAPPEDA Kabupaten Wonogiri dan Dinas Pendidikan Kabupaten
Wonogiri yang telah memberikan izin untuk melakukan penelitian dan atas
data-data yang telah diberikan.
9. Kepala Sekolah, guru dan karyawan SD Negeri 1 Ploso, SMP Negeri 1
Bulukerto dan SMA Negeri 1 Purwantoro.
10. Papi Tiri yang selalu setia memberi support, doa dan keceriaan setiap
begadang...aku mengasihimu ☺
11. Kristi my soulmate, tengkyu jeng atas kerjasamanya, tanpamu aku pasti masih
bermalas-malasan nih....☺
12. Teman-teman TI '02 : Mak Ika yang banyak ngasih ide dan minjemin kompie,
Bik Tere, Abang Widy yang endut lucu thx untuk doa barengnya, maaf nggak
bisa menepati janji ya, Fabian yang udah ngurusin kompie-ku waktu bad
sector, nganterin beli hardisk dan install linux dan netbeans, Merlyn yang
udah minjemin buku JSP, Kristin yang ngambilin buku ke kost merlyn,
Gwendy dan Yudho yang banyak memberi masukan, Rika, Danik, Neetha,
Brigita, Tata, Nine, dan semuanya....lulus juga akhirnya..
x
13. Manu '01 thx atas konsultasi onlinenya, Dicky '99 atas tips-tipsnya, Dwi
Monic dan Nur atas dukungannya.
14. Yudit yang bersedia meluangkan waktu nungguin pas ujian, Yuli yang baek
hati ngasih tumpangan bobo dan teman2 Filadelphia dan teman KOMPA,
mmakasih banyak dukungan doanya .
15. Butet yang selalu ngece membuat aku semangat menyelesaikan TA ini, Braam
yang sering minjemin motor dan Modhon dan Agung Angkringan yang
banyak ngutangin pulsa untuk yam-yaman.....☺
16. Sari Simorangkir, Sidney Mohede dan Adon yang selalu bersedia bernyanyi
menemaniku begadang siang dan malam.
17. Semua yang belum disebutkan, terima kasih banyak.
Peneliti menyadari bahwa dalam penelitian ini masih terdapat banyak
kekurangan dan demi sempurnanya penulisan Tugas Akhir ini peneliti menerima
kritik dan saran membangun dari pembaca. Semoga Tugas Akhir ini dapat
memberikan manfaat bagi kita semua.
Yogyakarta, September 2007
Peneliti
Yohana Karuniawati P.
xi
DAFTAR ISI
HALAMAN JUDUL ................................................................................... i
HALAMAN PERSETUJUAN ..................................................................... iii
HALAMAN PENGESAHAN ...................................................................... iv
HALAMAN PERNYATAAN KEASLIAN KARYA................................... v
HALAMAN MOTO .................................................................................... vi
ABSTAKSI ................................................................................................. vii
ABSTRACT ................................................................................................ viii
KATA PENGANTAR ................................................................................. ix
DAFTAR ISI ............................................................................................... xii
DAFTAR GAMBAR ................................................................................... xvii
BAB I PENDAHULUAN
1.1. Latar Belakang.................................................................... 1
1.2. Rumusan Masalah............................................................... 2
1.3. Batasan Masalah ................................................................. 3
1.4. Tujuan Penelitian ................................................................ 3
1.5. Metodologi Penelitian......................................................... 4
1.6. Sistematika Penulisan ......................................................... 5
BAB II LANDASAN TEORI
2.1. Sistem Informasi.................................................................. 7
2.2. HTML (HYPERTEXT MARKUP LANGUAGE)................ 7
xii
2.3. Pemodelan Terstruktur ........................................................ 8
2.3.1. Perancangan Database ..................................................... 8
2.3.2. Use Case Modelling ........................................................ 13
2.3.3. Diagram Konteks ............................................................ 14
2.3.4. Diagram Arus Data ......................................................... 14
2.4. JSP (JAVA SERVER PAGES) ........................................... 16
2.4.1. Arsitektur JSP ................................................................ 18
2.5. Database .............................................................................. 19
2.6. MySQL ............................................................................... 20
2.6.1. Backup dan Restore ........................................................ 22
2.6.1.1 MySQL Dump ............................................................... 22
2.6.1.2 Back Up Table dan Restore Table .................................. 23
2.6.1.3 Select Into OutFile dan Load Data Infile ........................ 24
BAB III ANALISA DAN PERANCANGAN SISTEM
3.1. Analisa Sistem.................................................................... 25
3.1.1. Use Case Diagram............................................................ 26
3.1.2. Pemodelan Proses ............................................................ 27
3.1.2.1. Diagram Konteks .......................................................... 27
3.1.2.2. Diagram Berjenjang ...................................................... 29
3.1.2.3. Diagram Arus Data / Data Flow Diagram...................... 31
3.1.2.3.1. DFD Level 0 .............................................................. 32
3.1.2.3.2. DFD Level 1 Proses Mengolah Data Siswa ................ 34
3.1.2.3.3. DFD Level 1 Proses Mengolah Data Beasiswa ........... 35
xiii
3.1.2.3.4. DFD Level 1 Proses Mengolah Data Nilai.................. 36
3.1.2.3.5. DFD Level 1 Proses Simpan/Update Database ........... 37
3.1.3. Pemodelan Data ............................................................... 38
3.1.3.1. ER Diagram .................................................................. 38
3.2. Perancangan Sistem ............................................................ 40
3.2.1. Perancangan Basis Data ................................................... 40
3.2.1.1. Relasi Antar Tabel ........................................................ 40
3.2.2. Desain User Interface....................................................... 41
3.2.2.1. Desain Halaman Utama................................................. 41
3.2.2.2. Desain Halaman Data Siswa.......................................... 43
3.2.2.3. Desain Halaman Data Sekolah ...................................... 44
3.2.2.4. Desain Halaman Data Kepala Sekolah........................... 45
3.2.2.5. Desain Halaman Data Beasiswa .................................... 46
3.2.2.6. Desain Halaman Daftar Nilai......................................... 47
3.2.2.7. Desain Halaman Kenaikan Kelas................................... 48
3.2.2.8. Desain Halaman Kelulusan ........................................... 49
3.2.2.9. Desain Halaman Login.................................................. 50
3.2.2.10. Desain Halaman Simpan Data ..................................... 50
3.2.2.11. Desain Halaman Update Data...................................... 51
3.2.3. Desain Input..................................................................... 52
3.2.3.1. Desain Input Data Siswa ............................................... 52
3.2.3.2. Desain Input Data Sekolah ............................................ 53
3.2.3.3. Desain Input Data Kepala Sekolah ................................ 55
xiv
3.2.3.4. Desain Input Data Beasiswa .......................................... 55
3.2.3.6. Desain Input Data Nilai................................................. 56
BAB IV IMPLEMENTASI SISTEM .................................................... 57
4.1. Kebutuhan Sistem............................................................... 57
4.2. Instalasi .............................................................................. 57
4.2.1. Koneksi dengan database ................................................. 66
4.3. Implementasi Antar Muka................................................... 69
4.3.1. SIPS Sekolah ................................................................... 69
4.3.1.1. Login ............................................................................ 69
4.3.1.2. Halaman Utama ............................................................ 73
4.3.1.3. Tampil Data Siswa ........................................................ 74
4.3.1.4. Tambah Data Siswa ...................................................... 77
4.3.1.5. Tampil Data Nilai ......................................................... 79
4.3.1.6. Tambah Nilai Siswa ...................................................... 81
4.3.1.7. Olah Nilai Siswa ........................................................... 84
4.3.1.8. Simpan Data ke File ...................................................... 87
4.3.2. SIPS Dinas....................................................................... 91
4.3.2.1. Halaman Utama ............................................................ 91
4.3.2.2. Data Sekolah................................................................. 94
4.3.2.3. Data Siswa .................................................................... 96
4.3.2.4. Detail Nilai ................................................................... 99
4.3.2.5. Kenaikan Kelas ............................................................. 102
4.3.2.6. Update database ............................................................ 104
xv
BAB V ANALISA HASIL IMPLEMENTASI
5.1. Kelebihan Sistem................................................................ 106
5.2. Kekurangan Sistem............................................................. 106
5.3. Analisa Teknologi............................................................... 107
BAB V PENUTUP
6.1. Kesimpulan......................................................................... 108
6.2. Saran .................................................................................. 109
DAFTAR PUSTAKA .................................................................................. 110
LAMPIRAN ................................................................................................ 112
xvi
DAFTAR GAMBAR
Gambar 2.1. Contoh dari ER Diagram........................................................ 9
Gambar 2.2. Contoh dari Entity.................................................................. 9
Gambar 2.3. Contoh dari Atribut ................................................................ 10
Gambar 2.4. Contoh dari identifier atau key............................................... 12
Gambar 2.5. Contoh dari Relasi ................................................................. 11
Gambar 2.6. Notasi dari Cardinality ........................................................... 12
Gambar 2.7. Simbol Use Case.................................................................... 13
Gambar 2.8. Simbol Aktor ......................................................................... 13
Gambar 2.9. Simbol Proses menurut Gaen dan Sarson ............................... 14
Gambar 2.10. Simbol dari Arus Data............................................................ 15
Gambar 2.11. Simbol Kesatuan Luar menurut Gane dan Sarson................... 15
Gambar 2.12. Simbol Penyimpanan Data menurut Gane dan Sarson ............ 15
Gambar 2.13. Java Server Pages .................................................................. 16
Gambar 2.14. Arsitektur JSP........................................................................ 18
Gambar 2.15. Visualisasi Database .............................................................. 19
Gambar 2.16. Visualisasi Tabel.................................................................... 20
Gambar 3.1. Use Case Diagram ................................................................. 27
Gambar 3.2. Context Diagram.................................................................... 28
Gambar 3.3. Diagram Berjenjang ............................................................... 30
Gambar 3.4. Diagram Arus Data Level 0.................................................... 32
Gambar 3.5. Diagram Arus Data Level 1 Proses Mengolah Data Siswa...... 34
Gambar 3.6. Diagram Arus Data Level 1 Proses Mengolah Data Beasiswa 35
xvii
Gambar 3.7. Diagram Arus Data Level 1 Proses Mengolah Data Nilai ....... 36
Gambar 3.8. Diagram Arus Data Level 1 Proses Simpan/Update Database. 38
Gambar 3.9. ER Diagram........................................................................... 39
Gambar 3.10. Relasi Tabel .......................................................................... 40
Gambar 3.11. Desain User Interface............................................................. 42
Gambar 3.12. Desain Halaman Data Siswa .................................................. 43
Gambar 3.13. Desain Halaman Data Sekolah ............................................... 44
Gambar 3.14. Desain Halaman Data Kepala Sekolah ................................... 45
Gambar 3.15. Desain Halaman Beasiswa ..................................................... 46
Gambar 3.16. Desain Halaman Daftar Nilai ................................................ 47
Gambar 3.17. Desain Halaman Kenaikan Kelas ........................................... 48
Gambar 3.18. Desain Halaman Kelulusan .................................................... 49
Gambar 3.19. Desain Halaman Login........................................................... 50
Gambar 3.20. Desain Halaman Simpan Data ............................................... 50
Gambar 3.20. Desain Halaman Update Data ............................................... 51
Gambar 3.21. Desain Halaman Tambah Data Siswa..................................... 52
Gambar 3.22. Desain Halaman Tambah Data Sekolah.................................. 53
Gambar 3.23. Desain Halaman Tambah Data Kepala Sekolah...................... 54
Gambar 3.24. Desain Halaman Tambah Beasiswa........................................ 55
Gambar 3.25. Desain Halaman Tambah Data Nilai ..................................... 56
Gambar 3.26. Desain Halaman Update Data ............................................... 51
Gambar 4.1. Tampilan Welcome Screen ................................................... 58
Gambar 4.2. Lisence Agreement ................................................................ 58
xviii
Gambar 4.3. Direktori Instalasi .................................................................. 59
Gambar 4.4. Pemilihan J2SE JDK.............................................................. 60
Gambar 4.5. Konfirmasi Instalasi ............................................................... 60
Gambar 4.6. Proses Instalasi ..................................................................... 61
Gambar 4.7. Instalasi Sukses ..................................................................... 61
Gambar 4.8. Koneksi ke Database.............................................................. 67
Gambar 4.9. Tampilan Tes Koneksi ........................................................... 68
Gambar 4.10. Listing Login Sekolah............................................................ 69
Gambar 4.11. Tampilan Login Sekolah ........................................................ 70
Gambar 4.12. Listing Otentikasi Sekolah .................................................... 70
Gambar 4.13. Listing Validasi...................................................................... 72
Gambar 4.14. Tampilan Halaman Utama ..................................................... 73
Gambar 4.15. Listing Halaman Utama ........................................................ 73
Gambar 4.16. Listing Data Siswa ................................................................. 74
Gambar 4.17. Tampilan Data Siswa ............................................................. 76
Gambar 4.18. Listing Tambah Data Siswa ................................................... 77
Gambar 4.19. Tampilan Tambah Data Siswa ............................................... 78
Gambar 4.20. Listing Nilai Siswa................................................................. 79
Gambar 4.21. Tampilan Nilai Siswa ............................................................ 81
Gambar 4.22. Listing Tambah Nilai Siswa ................................................... 81
Gambar 4.23. Tampilan Tambah Nilai Siswa ............................................... 83
Gambar 4.24. Listing Nilai Olah ................................................................. 84
Gambar 4.25. Tampilan Olah Nilai Siswa .................................................... 85
xix
Gambar 4.26. Listing Tambah Kenaikan ...................................................... 85
Gambar 4.27. Tampilan Tambah Data Kenaikan ......................................... 87
Gambar 4.28. Listing Pengelolaan Database................................................. 87
Gambar 4.29. Tampilan Pengelolaan Database............................................. 89
Gambar 4.30. Listing Simpan Database........................................................ 89
Gambar 4.31. Tampilan Simpan Database Sukses ....................................... 90
Gambar 4.32. Tampilan Simpan Database Gagal ......................................... 91
Gambar 4.33. Listing Halaman Utama ........................................................ 92
Gambar 4.34. Tampilan Halaman Utama ..................................................... 94
Gambar 4.35. Listing Halaman Data Sekolah............................................... 94
Gambar 4.36. Tampilan Halaman Data Sekolah .......................................... 96
xx
BAB I
PENDAHULUAN
1.1. LATAR BELAKANG MASALAH
Setiap sekolah bekerja di bawah naungan Departemen Pendidikan Nasional
(Depdiknas), lebih tepatnya Dinas Pendidikan Kabupaten. Dinas Pendidikan
Kabupaten memiliki semua data siswa dari semua sekolah dibawah naungannya.
Setiap terjadi pergantian tahun ajaran, Dinas Pendidikan Kabupaten perlu mengetahui
data-data siswa baru yang masuk, dan perubahan data siswa lama. Untuk itu setiap
sekolah harus melaporkan perkembangan sekolahnya, termasuk perkembangan dan
perubahan pendataan siswa kepada Dinas Pendidikan Kabupaten.
Akan tetapi ada beberapa kendala yang mungkin dihadapi, pada tahun ajaran
baru, Dinas Pendidikan Kabupaten harus memasukkan ratusan data siswa baru dari
masing-masing sekolah, sedangkan di Kapubaten tersebut terdapat ratusan sekolah
mulai dari SD, SMP, dan SMA. Demikian juga halnya ketika harus memasukkan data
nilai. Sehingga total data siswa yang perlu dimasukkan ke penyimpanan data siswa di
Dinas Pendidikan Kabupaten jumlahnya mencapai ribuan record. Untuk
menyelesaikan pekerjaan tersebut dibutuhkan waktu yang sangat lama dan juga
memerlukan ketelitian dan ketepatan seakurat mungkin. Hal ini sangat beresiko,
karena kemungkinan terjadinya kesalahan sangat besar. Untuk mengatasi
kemungkinan terjadinya kesalahan yang semakin besar, maka tiap sekolah juga perlu
membuat suatu database untuk menyimpan data-data siswa sekolahnya dari tahun ke
tahun. Untuk lebih memudahkan pembaruan database siswa di Dinas Pendidikan
1
Kabupaten, maka tiap sekolah harus dikoneksikan secara online dengan Dinas
Pendidikan Kabupaten.
Akan tetapi, karena berbagai kendala maka tiap sekolah tidak bisa
dikoneksikan secara online dengan Dinas Pendidikan Kabupaten, bahkan ada
kemungkinan ada sekolah yang tidak memiliki komputer sehingga untuk bisa
memperbarui database di Dinas Pendidikan Kabupaten maka tiap sekolah harus
menyimpan database-nya di suatu media penyimpanan sementara (seperti disket, CD,
USB flash disk atau dalam bentuk lembaran kertas). Media penyimpanan seperti
disket, CD, USB flash disk tersebut dihubungkan dengan komputer Dinas Pendidikan
Kabupaten, dan dengan bantuan suatu program maka database Dinas Pendidikan
Kabupaten akan ter-update secara otomatis. Sedangkan data dari lembaran kertas
dapat dimasukkan melalui komputer di Dinas Pendidikan Kabupaten.
Dari latar belakang tersebut di atas, peneliti tertarik untuk mengembangkan
Sistem Informasi Pendataan Siswa Se-Kabupaten dengan mengambil studi kasus di
Kabupaten Wonogiri, khususnya Dinas Pendidikan Kabupaten Wonogiri dan SMP
Negeri 1 Bulukerto.
1.2. RUMUSAN MASALAH
Dari latar belakang masalah maka rumusan masalah dari penelitian ini adalah
bagaimana mengimplementasikan sistem informasi pendataan siswa sekolah.
2
1.3. BATASAN MASALAH
Dalam penelitian ini dilakukan peneliti menentukan beberapa batasan
masalah sebagai berikut :
1. Studi kasus dilakukan di Dinas Pendidikan Kabupaten Wonogiri dan data dari SD
N 1 Ploso, SMP N 1 Bulukerto dan SMA N 1 Purwantoro.
2. Sistem yang diterapkan di Dinas Pendidikan Kabupaten dan di sekolah adalah
sistem yang relatif sama, yaitu menggunakan JSP (Java Server Pages) dan
database yang digunakan adalah MySQL.
3. File yang disimpan bertipe txt (text document).
4. Tidak membahas masalah jaringan dan keamanan sistem.
1.4. TUJUAN PENELITIAN
Penelitian ini dibuat untuk tujuan berikut :
1. Membuat suatu sistem informasi pendataan siswa dan mengintegrasikan data dari
tiap-tiap sekolah dengan data yang berada di kabupaten dengan analisis dan
desain terstruktur.
2. Membuat dokumentasi pendidikan yang terorganisasi dalam suatu database
sehingga memudahkan pencarian data siswa dari suatu sekolah.
1.5. METODOLOGI PENELITIAN
Metode penelitian yang digunakan untuk penelitian ini adalah metode studi
kasus yang dilakukan di Kabupaten Wonogiri, dengan menggunakan tahap-tahap
sebagai berikut :
3
1. Studi Kepustakaan
Metode kepustakaan adalah proses mengumpulkan data melalui buku,
majalah, surat kabar, internet, dan sejenisnya. Dalam hal ini sumber kepustakaan
yang digunakan adalah buku dan internet.
2. Pengembangan Sistem
Metodologi pengembangan sistem yang digunakan adalah menggunakan
metodologi pendekatan terstruktur dengan tahapan sebagai berikut :
a. Analisis Sistem
Melakukan berbagai analisis untuk mengidentifikasi masalah pada sistem
yang akan dibuat dan melakukan pengumpulan data dengan melakukan observasi
dan interview dengan pihak yang terkait. Analisis sistem akan menggunakan
usecase diagram, diagram berjenjang dan Data Flow Diagram (DFD).
b. Perancangan Sistem
Melakukan perancangan sistem informasi yang meliputi ER Diagram,
perancangan masukan (input design), perancangan keluaran (output design), dan
perancangan antarmuka pengguna (user interface design).
c. Implementasi Sistem
Setelah melakukan perancangan sistem, maka tahap selanjutnya yaitu
melakukan implementasi pada sistem dengan menterjemahkannya dalam bahasa
pemrograman yang dimengerti oleh mesin. Penelitian ini menggunakan bahasa
pemrograman Java Server Pages (JSP) dengan database MySQL.
4
d. Pengujian
Dilakukan untuk menguji apakah hasil yang didapat sudah sesuai dengan
perancangan yang dibuat dan mencari kesalahan-kesalahan yang mungkin terjadi.
1.6. SISTEMATIKA PENULISAN
Sistematika penulisan yang yang digunakan untuk penelitian ini adalah
sebagai berikut:
BAB I PENDAHULUAN
Menguraikan tentang latar belakang mengapa masalah timbul, apa yang ada
di sekeliling masalah, serta hal-hal yang terjadi sebelum masalah utama muncul.
Diuraikan juga rumusan masalah yang merupakan inti penelitian, batasan masalah,
tujuan penelitian ini dilakukan, metode penelitian yang digunakan, dan juga diuraikan
tentang sistematika penulisan untuk mempermudah pemahamannya.
BAB II LANDASAN TEORI
Merupakan uraian landasan teori yang digunakan dalam penelitian ini,
antara lain pengertian sistem informasi, HTML, JSP, dan MySQL.
BAB III ANALISA DAN PERANCANGAN SISTEM
Menguraikan tentang analisa tentang permasalahan yang ada dan
menjelaskan tentang perancangan yang akan dibuat, meliputi perancangan sistem,
perancangan tabel dalam database dan perancangan antar muka, baik untuk admin
maupun untuk user umum.
5
BAB IV IMPLEMENTASI SISTEM
Menjelaskan implementasi sistem informasi pendataan siswa yang dibuat
berdasarkan perancangan sistem pada bab III. Pada bab ini dijelaskan pula kebutuhan
sistem, proses instalasi, dan penjelasan program.
BAB V ANALISA HASIL IMPLEMENTASI
Bab ini berisi tentang analisa hasil implementasi yang mencakup kelebihan
dan kekurangan sistem yang telah dibuat.
BAB VI PENUTUP
Bab ini berisi tentang kesimpulan dan saran dari pembahasan, perancangan
serta implementasi yang telah dilakukan dalam tugas akhir ini.
6
BAB II
LANDASAN TEORI
2.1 SISTEM INFORMASI
Sistem informasi adalah suatu sistem di 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 yang diperlukan (Jogiyanto, 1995).
2.2 HTML (HYPERTEXT MARKUP LANGUAGE)
Dokumen HTML merupakan salah satu dokumen yang ditampilkan dalam
browser web yang umumnya halaman web yang bersifat statik. Pada umumnya
dokumen ini berisi informasi atau aplikasi di dalam internet. Dokumen HTML dapat
dibuat dengan menggunakan HTML editor (misalnya Frontpage atau Macromedia
Dreamweaver) atau dengan editor teks biasa (misalnya notepad). Dokumen HTML
biasanya diberi nama dengan cara menambahkan ekstensi .htm atau .html di belakang
nama dokumen (contoh : dokumen.htm atau dokumen.html).
Pada suatu dokumen HTML terdapat tag-tag yang terdiri atas sebuah kurung
sudut kiri (<, tanda lebih kecil), sebuah nama tag, sebuah kurung sudut kanan (>,
tanda lebih besar). Tag-tag tersebut umumnya berpasangan, contohnya <HTML>
dengan </HTML>. Tag pertama <HTML> menunjukkan tag awal yang berarti awal
elemen, sedangkan tag kedua </HTML> menunjukkan tag akhir yang berarti akhir
elemen.
7
Secara umum struktur dokumen HTML terdiri dari tiga tag utama yaitu tag
HTML, HEAD dan BODY. Struktur dasar penulisan HTML yaitu :
<HTML>
<HEAD>
… informasi tentang dokumen HTML, misalnya judul dokumen
</HEAD>
<BODY>
… informasi yang ditampilkan dalam browser web
</BODY>
</HTML>
Setiap dokumen HTML dibuka dengan tag<HTML> dan ditutup dengan tag
</HTML>. Dapat juga diberi judul dengan tag<TITLE> yang harus berada di dalam
<HEAD>.
2.3 PEMODELAN TERSTRUKTUR
Pemodelan terstruktur merupakan alat-alat (tools) dan teknik-teknik
(techniques) yang dibutuhkan dalam pengembangan sistem, sehingga hasil akhir dari
sistem yang dikembangkan akan didapatkan sistem yang strukturnya didefinisikan
dengan baik dan jelas.
2.3.1 PERANCANGAN DATABASE
Merancang database merupakan suatu hal yang sangat penting. Kesulitan
utama dalam merancang database adalah bagaimana merancang struktur database
sehingga database dapat memfasilitasi keperluan saat ini dan masa mendatang.
8
Perancangan model konseptual akan menunjukan Entity dan relasinya berdasarkan
proses yang diinginkan instansi. Ketika menentukan Entity dan relasinya dibutuhkan
analisis data tentang ADO yang ada dalam spesifikasi di masa yang akan datang.
Pada perancangan model konseptual penekanan tinjauan dilakukan pada
struktur data relasi antar file. Pendekatan yang dilakukan pada perancangan model
konseptual adalah menggunakan model data relational. Terdapat dua buah teknik
yaitu teknik normalisasi dan teknik Entity RelationShip. Pada penulisan Tugas Akhir
ini peneliti hanya menjelaskan mengenai teknik Entity RelationShip.
Entity Relationship Diagram (ERD) merupakan sebuah data model yang
memanfaatkan beberapa notasi untuk menggambarkan data dalam Entity dan relasi
yang dijelaskan oleh data. Data model adalah sebuah teknik untuk mengorganisasikan
dan mendokumentasikan data dari sistem. Juga disebut dengan database Modeling.
Gambar 2.1. Contoh dari E-R Diagram
Entity adalah sebuah objek yang nyata ada dan dapat dibedakan dari sesuatu
yang lain.
Gambar 2.2 Contoh dari Entity
9
Atribut merupakan sebuah properti yang deskriptif atau karakteristik dari
sebuah Entity .
Gambar 2.3 Contoh dari Atribut
Key merupakan sebuah atribut atau kelompok atribut yang diasumsikan
memiliki nilai yang unik untuk setiap instance. Sering juga disebut dengan identifier.
1. Concatenated key merupakan sekelompok atribut yang memiliki identitas
instance dari sebuah Entity yang unik.
2. Candidate key merupakan satu dari nilai key yang akan berfungsi sebagai primary
key dari sebuah Entity.
3. Primary key merupakan sebuah candidate key yang paling umum digunakan
untuk mengidentifikasikan secara unik instance dari Entity yang tunggal.
4. Alternate key merupakan sebuah candidate key yang tidak dapat dipilih untuk
menjadi primary key.
10
Gambar 2.4. Contoh dari identifier atau key
Relationship adalah sebuah asosiasi bisnis normal yang ada antara satu atau
lebih Entity atau merupakan hubungan antar Entity .
Gambar 2.5. Contoh dari Relasi
Cardinality merupakan minimum dan maksimum kejadian dari sebuah Entity
yang dihubungkan dengan kejadian tunggal dari Entity yang lain. Karena seluruh
relasi adalah bidirectional maka cardinality baru didefinisikan pada kedua direction
untuk setiap relasi.
11
Cardinality Interpretation
(Minimum, Maximum) Instances
Graphic Notation
One-to-one (1,1)
One-to-many (1,N)
Many-to-many (N,N)
Gambar 2.6. Notasi dari Cardinality
Foreign key adalah sebuah primary key dari sebuah Entity yang digunakan
oleh Entity yang lain untuk mengidentifikasikan instance dari sebuah relasi.
Nonspecific RelationShip merupakan relasi dimana banyak instance dari
sebuah Entity berasosiasi dengan banyak instance dari Entity yang lainnya. Disebut
juga dengan relasi many-to-many RelationShip. Nonspecific RelationShip harus
diselesaikan.
Key-base data model bertujuan untuk mengeliminasikan nonspecific
RelationShip jika ada, menambah asosiatif Entity termasuk primary dan alternate
key, dan kardinalitas yang tepat.
Fully attributed data model bertujuan untuk memasukkan seluruh atribut.
12
2.3.2 USE CASE MODELLING
Use Case Modeling merupakan sebuah proses untuk memodelkan fungsi-
fungsi sistem yang terdapat dalam bisnis even, siapa yang melakukan kejadian dan
bagaimana sistem memberikan respon terhadap even
Use Case Diagram adalah sebuah diagram yang menggambarkan interaksi
antara sistem dan eksternal sistem dan user . Berbasisi grafik yang menggambarkan
siapa yang menggunakan dan bagaimana user berinteraksi dengan sistem. Use Case
merupakan bagian dari suluruh fungsi sistem dan digambarkan secara grafik dengan
elips yang horizontal dengan nama dari Use Case tertera diatas, dibawah atau di
dalam ellips
Gambar 2.7. Simbol Use Case
Aktor merupakan segala sesuatu yang dibutuhkan untuk berinteraksi dengan
sistem untuk mengubah ADO. Dapat berupa orang, organisasi atau sistem ADO yang
lain atau juga suatu waktu kejadian.
Gambar 2.8. Simbol Aktor
Simbol Use case
Simbol Aktor
13
Use Case depends on Relationship merupakan sebuah relasi Use Case yang
menentukan bahwa Use Case yang lain harus dibuat sebelum Use Case yang
sekarang. Digambarkan sebagai anak panah yang dimulai dari satu Use Case dan
menunjuk ke Use Case yang depend on kepadanya. Setiap relasi depend on diberi
label “<<depend on>>”
2.3.3 DIAGRAM KONTEKS
Diagram konteks merupakan awal dari Diagram Arus Data, sebelum masuk ke
dalam diagram yang lebih rinci. Diagram konteks digunakan untuk melihat apa yang
diproses atau dikerjakan sistem.
2.3.4 DIAGRAM ARUS DATA
Data Flow Diagram merupakan sebuah model proses yang digunakan untuk
mengambarkan aliran dari data yang melalui sebuah sistem dan proses yang dibentuk
oleh sistem. DFD terdiri dari 4 buah simbol yaitu :
1. Proses (Process)
Proses adalah kerja yang dilakukan oleh sistem dalam merespon arus data yang
datang atau suatu kondisi.
Gambar 2.9 Simbol Proses menurut Gane dan Sarson
14
2. Arus data (Data Flow)
Arus data adalah data sebagai masukan ke proses atau keluaran dari sebuah
proses. Arus data ini mengalir diantara proses, simpanan data dan kesatuan luar.
Nama arus data
Gambar 2.10 Simbol dari arus data
Arus data adalah data yang bergerak. Arus data juga digunakan untuk mewakili
creation, reading, deleting, atau updating dari data dalam file atau database (disebut
dataStore atau penyimpanan data).
3. Kesatuan Luar (External Agent).
Kesatuan luar adalah orang, unit organisasi, sistem atau organisasi luar yang
berinteraksi dengan sistem. Disebut juga dengan external Entity.
Gambar 2.11 Simbol kesatuan luar menurut Gane dan Sarson
4. Penyimpanan data (Data Store )
Penyimpanan data digunakan untuk menyimpan data hasil proses maupun
menyediakan data untuk diproses. Sinonim dengan file dan database .
Gambar 2.12 Simbol penyimpanan data menurut Gane dan Sarson
15
2.4 JSP (JAVA SERVER PAGES)
Java Server Pages (www.ukdw.ac.id/lecturer/budsus/) merupakan perluasan
dari spesifikasi Java Servlet, yang bertujuan untuk menyederhanakan dalam
pengembangan suatu content yang dinamis. JSP merupakan bagian dari teknologi
J2EE, bersama-sama dengan Servlet, EJB, JNDI, XML.
JSP dan Servlet bekerja dalam suatu lingkungan web container yang
menyediakan koneksi dan service, sedangkan JSP dan Servlet mengontrol presentasi
data yang dihasilkan dari suatu proses untuk dikirimkan ke client.
Server yang menangani permintaan JSP seperti sebuah kompiler halaman
yang menggabungkan template HTML dengan kode Java yang dinyatakan pada
elemen JSP.
Sebuah JSP ketika akan dijalankan, web container akan memeriksa status
class servlet terakhir, jika belum Ada atau berstatus lama, maka container akan
melakukan kompilasi terhadap file JSP untuk dihasilkan suatu servlet yang
Gambar 2.13 Java Server Pages
16
menerapka interface HttpJspPage berdasar isi dari halaman JSP. Dari Servlet inilah
kemudian dijalankan method _jspService untuk menghasilkan response dengan
menggunakan class HttpServletRequest dan HttpServletResponse.
Dua alasan penting yang membuat JSP banyak digunakan oleh para
pengembang aplikasi Web :
1. JSP menggunakan bahasa Java.
Bagi para pemrogram yang telah mengenal Java, sangatlah mudah
untuk membuat aplikasi Web dengan JSP mengingat dasar JSP adalah bahasa
Java. Dengan demikian, mereka tidak perlu lagi belajar bahasa baru untuk
membuat aplikasi Web.
2. JSP mendukung multiplatform.
Dalam hal ini, JSP memang bukanlah satu-satunya perangkat lunak
pembuat aplikasi Web yang bersifat multiplatform. PHP misalnya juga
bersifat multiplatform. Keunggulan dari adanya dukungan multiplatform
adalah memungkinkan kode dapat dipindah-pindahkan ke berbagai platform
tanpa perlu melakukan perubahan apapun pada kode tersebut. Sebagai contoh,
Anda bisa menulis kode JSP yang pada awalnya ditujukan untuk dijalankan
pada Windows, dan kemudian dipindahkan ke lingkungan lain, misalnya
Linux.
17
2.4.1 ARSITEKTUR JSP
Pemakai yang ingin mengakses halaman Web mula-mula mengirimkan
permintaan halaman Web melalui protokol HTTP (HyperText Transfer Protocol)
dalam bentuk JSP (berekstensi .jsp). Permintaan ini akan disampaikan ke Web server.
Kemudian, Web server mengambil dokumen JSP dan mengirimkan ke JSP Servlet
Engine. Bagian inilah yang melakukan pemrosesan kode-kode JSP (termasuk di
dalamnya melakukan pengompilasian) dan membentuk kode HTML. Berikutnya,
kode HTML ini disampaikan oleh Web server ke client yang memintanya. Kode
HTML ini selanjutnya diproses oleh browser sehingga pemakai bisa memperoleh
informasi dari halaman Web yang dikehendakinya.
Gambar 2.14 Arsitektur JSP
18
2.5 DATABASE
Database adalah sebuah file yang mengkoordinasi tabel-tabel data yang saling
berhubungan dan memiliki suatu kepentingan yang sama sehingga akan
mempermudah pengolahan. Karena database merupakan kumpulan dari beberapa
tabel maka untuk dapat membuat tabel, database harus dibuat terlebih dahulu sebagai
‘induk’ yang memayungi tabel-tabel di bawahnya (Sanjaya, 2005).
Tabel adalah kumpulan data dalam record-record yang disatukan untuk
kepentingan tertentu. Record adalah kumpulan field-field yang disatukan dalam satu
baris. Sedangkan field adalah jenis atau tipe data dari suatu item data beserta batasan
nilainya (Sanjaya, 2005).
Gambar 2.15 Visualisasi Database
19
2.6 MySQL
MySQL adalah Relational Database Management System (RDBMS) yang
menggunakan instruksi SQL untuk menerima request dari SQL.
RDBMS bertanggung jawab atas konsistensi database, yaitu dengan
melakukan hal-hal berikut ini :
1. Menjaga hubungan (relationship) antar data di database
2. Data tersimpan secara konsisten sesuai dengan aturan / rules yang telah
didefinisikan dan rules tersebut tidak dilanggar
3. Mampu untuk mengembalikan kondisi database ke posisi di mana
diketahui pada posisi tersebut database dalam kondisi konsisten. Hal ini
terjadi terutama bila di tengah proses transaksi terjadi kegagalan atau
crash (posisi aman ini disebut sebagai checkpoint).
MySQL mendukung aplikasi internet melalui database relational yang
diintegrasikan dengan HTML, XHTML, dan XML melalui program seperti PHP dan
JSP.
Gambar 2.16 Visualisasi Tabel
20
MySQL adalah database berbasis relational, artinya struktur data diatur
melalui pembuatan tabel-tabel yang satu dengan lainnya mempunyai keterkaitan atau
relasi.
Tiga elemen yang merupakan model fundamental dari relasi adalah :
1. Struktur Tabel
Terdiri atas baris (record atau row) dan setiap baris terdiri atas kolom-
kolom (column atau field) yang terdefinisi melalui tipe data pada kolom
tersebut.
2. Integritas data
Mempunyai arti bahwa data sesuai dengan kondisi “real”, misalnya
sebuah field “umur”, maka nilai yang terjadi tidak boleh negatif, karena
memang tidak ada umur yang negatif. Kesesuaian data dengan nilai “real” ini
disebut juga sebagai “batasan nilai untuk integritas data” atau “integrity
constraints”.
3. Manipulasi data
Data yang tersimpan dapat dimanipulasi melalui bahasa pemrograman
terstruktur seperti SQL.
Dalam MySQL dapat juga dibuat fungsi dan prosedur. Fungsi dan prosedur
adalah dua hal yang hampir sama, keduanya adalah seperti paket yang berisi
sekumpulan perintah-perintah yang sama dan sering digunakan / dipanggil. Dengan
demikian tidak perlu menuliskan perintah-perintah yang sama secara berulang-ulang,
cukup dengan memanggil fungsi dan prosedur tersebut, maka MySQL akan
21
menjalankan perintah-perintah yang ditulis dalam fungsi dan prosedur tersebut.
Perbedaan antara keduanya adalah fungsi memiliki nilai yang dikirim balik ke
program yang memanggil, sedangkan prosedur tidak. Keuntungan penggunaan fungsi
dan prosedur adalah membuat kerja MySQL menjadi lebih cepat karena data yang
dikirimkan sedikit. (Sanjaya, 2005).
2.6.1 BACKUP DAN RESTORE
BACKUP adalah proses menyalin database dan membuat cadangannya. Hal
ini dilakukan dengan tujuan supaya pengguna mempunyai cadangan data sehingga
ketika database mengalami kerusakan atau data hilang, maka cadangan data tersebut
dapat digunakan. Sedangkan RESTRORE adalah proses kebalikannya, yaitu menyalin
semua data yang terdapat pada file backup yang telah dibuat sebelumnya ke dalam
sebuah database MySQL. (Rahmat Priyanto, 2007 : 203). Beberapa cara yang dapat
dilakukan untuk membuat backup dan restore database antara lain adalah
MYSQLDUMP, BACK UP TABLE dan RESTRORE TABLE, SELECT INTO
OUTFILE dan LOAD DATA INFILE.
2.6.1.1 MySQL Dump
MYSQLDUMP merupakan salah satu tool yang sangat berguna untuk
melakukan proses backup dan restore ke dalam sebuah file sql. Tool ini berada pada
direktori bin dari direktori instalasi MySQL. MYSQLDUMP tidak menyalin file data
dari sebuah database, namun menyalin semua perintah yang sudah ada atau yang
sudah dibuat sebelumnya.
22
Contoh penggunaannya adalah sebagai berikut :
mysqldump – u root –p siswa_3 > /data/backup.sql
Perintah tersebut membuat file backup bernama backup.sql yang diletakkan pada
direktori /data. File backup.sql akan berisi perintah-perintah pembuatan tabel-table
dalam database siswa_3 dan perintah memasukkan data pada database yang
dimaksud.
Untuk melakukan proses restore pada sebuah database dari sebuah file backup, maka
perintah yang digunakan adalah sebagai berikut :
mysql – u root –p siswa_3 < /data/backup.sql
2.6.1.2 Back Up Table dan Restore Table
Kedua perintah ini hanya dapat digunakan pada tabel bertipe MyISAM saja.
Perbedaan antara perintah BACKUP TABLE dan tool MYSQLDUMP yaitu
BACKUP TABLE menyalin file data dari tabel, sedangkan MYSQLDUMP menyalin
perintah SQLnya saja. Contoh penggunaan perintah backup table adalah sebagai
berikut :
BACKUP TABLE siswa TO ‘/data/backup/’;
Untuk melakukan proses RESTORE perintah yang digunakan adalah :
RESTORE TABLE siswa_3 FROM ‘/data/backup/’;
Perintah restore tersebut akan mengembalikan file data dari tabel siswa yang telah
dibuat sebelumnya pada direktori /data/backup.
23
2.6.1.3 Select Into OutFile dan Load Data Infile
Untuk melakukan proses backup melalui perintah SELECT, maka harus
menggunakan kata kunci INTO OUTFILE yang berguna untuk menyimpan hasil
query dari perintah SELECT ke dalam sebuah file txt. Proses backup dengan cara ini
hanya akan menyalin data-data yang ada dalam sebuah tabel, sedangkan struktur
database tidak akan ikut tersalin. Contoh penggunaannya adalah sebagai berikut :
SELECT * FROM siswa
INTO OUTFILE ‘/data/siswa.txt’
FIELDS TERMINATED BY ‘,’;
Pernyataan tersebut akan menyimpan hasil query dari perintah SELECT ke dalam
sebuah file bernama siswa.txt dan membedakan setiap kolom dengan karakter ‘,’.
Untuk melakukan proses restore dari fiile backup tersebut, maka perintah yang
digunakan adalah seperti berikut ini.
DELETE FROM SISWA;
LOAD DATA INFILE ‘data/siswa.txt’
FIELDS TERMINATED BY ‘,’
LINES TERMINATED BY ‘\n’
(nis,nosekolah,namasiswa,ttlsiswa,jk,ketsiswa);
Pernyataan LOCAL DATA INFILE tersebut akan menambahkan semua data yang
tersimpan dalam file siswa.txt ke dalam tabel siswa.
24
BAB III
ANALISA DAN PERANCANGAN SISTEM
3.1 ANALISA SISTEM
Sistem yang akan dibuat adalah Sistem Informasi Pendataan Siswa Sekolah
dengan menggunakan JSP (Java Server Pages) sebagai bahasa pemrogramannya dan
MySQL sebagai media penyimpanan database-nya. Dalam sistem ini, terdapat 4
proses utama yaitu proses mengolah data siswa, proses mengolah data beasiswa,
proses mengolah data nilai dan simpan/update database.
Proses login dilakukan untuk dapat mengakses sistem ini. Proses mengolah
data siswa terdiri dari proses mengolah data bakat siswa, proses mengolah data
prestasi siswa, dan proses mengolah data history siswa. Proses mengolah data
beasiswa meliputi proses mengolah data peneerima beasiswa, proses mengolah data
beasiswa bakat, dan proses mengolah data beasiswa prestasi. Proses mengolah data
nilai terdiri dari proses mengolah daftar nilai, proses mengolah data kenaikan kelas,
proses mengolah data kelulusan, dan proses mengolah data mata pelajaran. Proses
simpan/update database meliputi simpan database dan update database.
Adapun user yang terlibat dalam sistem ini antara lain administrator sekolah
administrastor dinas dan global user yang terdiri dari sekolah dan dinas.
Administrator adalah orang yang bertugas memasukkan dan mengolah data serta
melakukan pemeliharaan sistem. Pemasukan data dan pengolahannya hanya
dilakukan di sekolah, kemudian data tersebut disimpan dalam suatu file yang akan di-
copy ke dalam media penyimpanan sementara seperti disket, CD, ataupun USB flash
25
disk. Media penyimpanan tersebut dibawa ke DPK supaya bisa digunakan untuk
pengubahan data di DPK.
3.1.1 USE CASE DIAGRAM
Untuk memulai perancangan sistem yang pertama dibuat adalah use case
diagram. Use Case sistem yang akan dibuat terdiri dari 3 aktor, admin sekolah, admin
dinas dan global user yang terdiri dari sekolah dan DPK. Admin Sekolah melakukan
proses login, untuk masuk ke dalam sistem. Proses yang bisa dilakukannya antara lain
mengolah data sekolah, mengolah data kepala sekolah, mengolah data siswa,
mengolah data beasiswa, mengolah data nilai, kemudian menyimpan isi database ke
file. Admin dinas juga melakukan login, untuk mengupdate database di Dinas dari file
yang telah disimpan dari masing-masing sekolah., selain itu juga bisa melihat data
sekolah, data kepala sekolah, data siswa, data beasiswa, dan data nilai. Global user
yang yang terdiri dari sekolah dan DPK hanya bisa melihat data saja, antara lain data
sekolah, data kepala sekolah, data siswa, data beasiswa, dan data nilai. Gambar 3.1
menunjukkan use case diagram dari sistem yang akan dibuat.
26
3.1.2 PEMODELAN PROSES
3.1.2.1 DIAGRAM KONTEKS
Gambar 3.2 adalah diagram konteks (context diagram) dari sistem yang akan
dibuat.
Gambar 3.1 Use Case Diagram
27
SEKOLAH DPKSISTEM INFORMASIPENDATAAN SISWA
ADMINSEKOLAH
username,password,datasekolah,data kepsek,datasiswa,data beasiswa,data
nilai,data bakat,dataprestasi,data pelajaran
Data sekolah,datakepsek,data siswa,databeasiswa,data nilai,databakat,data prestasi,data
pelajaran
data sekolah,datakepsek,data siswa,databeasiswa,data nilai,databakat,data prestasi,data
pelajaran
username,password,datasekolah,data kepsek,datasiswa,data beasiswa,data
nilai,data bakat,dataprestasi,data pelajaran
ADMINDINAS
username,password,datasekolah,data kepsek,datasiswa,data beasiswa,data
nilai,data bakat,dataprestasi,data pelajaran
username,password,datasekolah,data kepsek,datasiswa,data beasiswa,data
nilai,data bakat,dataprestasi,data pelajaran
Dari context diagram dapat diuraikan kegiatan masing-masing aktor sebagai
berikut :
1. Admin sekolah
Petugas administrasi (admin) adalah orang yang bertugas memasukkan dan
mengubah data serta melakukan pemeliharaan sistem. Untuk masuk ke dalam
pengelolaan sistem, maka admin sekolah harus melakukan login terlebih
dahulu. Admin sekolah bertugas memasukkan semua data ke dalam sistem,
meliputi data sekolah, data kepala sekolah, data siswa, data beasiswa, data
Gambar 3.2 Context Diagram
28
nilai, data bakat dan prestasi, dan juga data pelajaran. Selain itu admin sekolah
bertugas menyimpan data baru atau data yang telah diubah ke media
penyimpanan sementara untuk diupdate ke DPK
2. Admin Dinas
Berbeda dengan admin sekolah, admin dinas hanya bertugas mengupdate
database dengan menggunakan file yang dibawa oleh admin sekolah melalui
media penyimpanan sementara. Admin Dinas juga harus login terlebih dahulu
untuk bisa masuk ke area admin.
3. Sekolah dan Dinas Pendidikan Kabupaten (DPK)
Sekolah (guru, TU, dan Kepala Sekolah) dan DPK hanya bisa melihat hasil
olahan data-data yang telah di-input-kan oleh admin. Informasi yang tersedia
antara lain informasi nama semua sekolah se-kabupaten, nama dan biodata
kepala sekolah se-kabupaten, nama dan biodata siswa se-kabupaten, nilai
siswa per mata pelajaran tiap semester, berikut kenaikan kelas dan kelulusan,
dan lain-lain.
3.1.2.2 DIAGRAM BERJENJANG
Gambar 3.3 menunjukkan diagram berjenjang dari sistem yang akan dibuat.
Diagram ini menunjukkan proses apa saja yang nantinya akan dibuat dalam sistem
yang akan dibangun.
29
0
SIPSKAB. WONOGIRI
1
LOGIN
4
MENGOLAHDATA SISWA
5
MENGOLAHDATA BEASISWA
6
MENGOLAHDATA NILAI
6.2
MENGOLAHDATA
KENAIKANKELAS
6.3
MENGOLAHDATA
KELULUSAN
8
LOGOUT
4.1
MENGOLAHDATA BAKAT
SISWA
4.2
MENGOLAHDATA
PRESTASISISWA
5.1
MENGOLAHDATA
PENERIMABEASISWA
2
MENGOLAHDATA SEKOLAH
3
MENGOLAH DATAKEPALA SEKOLAH
5.2
MENGOLAHDATA
BEASISWABAKAT
5.3
MENGOLAHDATA
BEASISWAPRESTASI
4.3
MENGOLAHDATA
HISTORYSISWA
6.1
MENGOLAHDAFTAR
NILAI
6.4
MENGOLAHDATA MATAPELAJARAN
7
SIMPAN/UPDATE
DATABASE
7.1
SIMPANDATABASE
7.2
UPDATEDATABASE
Dari diagram berjenjang tersebut dapat dilihat bahwa pada level 0 terdapat 8
proses, meliputi proses mengolah data siswa, proses mengolah data beasiswa, dan
mengolah data nilai, simpan dan update database yang mana keempat proses tersebut
merupakan proses utama. Sedangkan proses login, proses mengolah data sekolah,
proses mengolah data kepala sekolah, dan proses logout merupakan proses
pendukung.
Adapun proses mengolah data siswa terdiri dari proses mengolah data bakat
siswa, proses mengolah data prestasi siswa, dan proses mengolah data history siswa.
Gambar 3.3 Diagram Berjenjang
30
Sedangkan proses mengolah data beasiswa terdiri dari proses mengolah data
penerima beasiswa, proses mengolah data beasiswa bakat, dan proses mengolah data
beasiswa prestasi. Proses mengolah data nilai terdiri dari proses mengolah daftar
nilai, proses mengolah data kenaikan kelas, proses mengolah data kelulusan, dan
proses mengolah data mata pelajaran. Proses Simpan dan Update Database terdiri dari
proses simpan database dan proses update database.
3.1.2.3. DIAGRAM ARUS DATA / DATA FLOW DIAGRAM
Data Flow Diagram (DFD) digunakan untuk menggambarkan suatu sistem
yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa
mempertimbangkan lingkungan fisik di mana data tersebut mengalir atau lingkungan
fisik di mana data tersebut akan disimpan. DFD merupakan alat yang digunakan pada
metodologi pengembangan sistem yang terstruktur (Structured Analysis and Design).
Berdasarkan diagram berjenjang, maka dapat dibuat Diagram Arus Data /
Data Flow Diagram seperti ditunjukkan oleh gambar 3.4 sampai gambar 3.7.
31
3.1.2.3.1. DFD LEVEL 0
1
LOGIN
4
MENGOLAHDATA SISWA
5
MENGOLAHDATA BEASISWA
6
MENGOLAHDATA NILAI
8
LOGOUT
2
MENGOLAHDATA SEKOLAH
3
MENGOLAH DATAKEPALA SEKOLAH
ADMIN SEKOLAH
SEKOLAH
KEPSEK
SISWA
BEASISWA
DAFTARNILAI
username,password
validasi login
validitas login
Nip kepsek,no sekolah,namasekolah,alamat sekolah,no telp
sekolah,status sekolah
No sekolah,nama sekolah,namakepsek,alamat sekolah,no telp
sekolah,status sekolah
No sekolah,namasekolah,alamat sekolah,no telp
sekolah,status sekolah
validitas login
Nip kepsek, nama kepsek, alamatkepsek, no telp kepsek, foto Nip kepsek, nama kepsek, alamat
kepsek, no telp kepsek, foto
Nip kepsek, namakepsek, alamat kepsek,
no telp kepsek, foto
Validitas login
Nis,nama siswa, ttlsiswa,jenis kelamin, kelas, foto,
ket siswa
Nis,nama siswa, ttlsiswa, jeniskelamin, kelas, foto, ket siswa
Nis,nama siswa, ttlsiswa, jeniskelamin, kelas, foto, ket siswa
Validitas login
Kodebeasiswa,namabeasiswa,sumber,jmlbeasiswa,jangka waktu
Nis,kodebeasiswa,namabeasiswa,sumber,
jmlbeasiswa,jangka waktu
Kodebeasiswa,namabeasiswa,sumber,
jmlbeasiswa,jangkawaktu
Nis,kodepelajaran,semester,kelas, thnajaran,nilai
Val
idas
i log
in
Sta
tus
logo
ut
PENERIMABEASISWA
Nis,kodebeasiswa,tglterima,uraian
Nis,kodebeasiswa,tglterima,uraian
Nip kepsek, nama kepsek, alamatkepsek, no telp kepsek, foto
HISTORYSISWANis,nama siswa, ttlsiswa, jenis kelamin,
kelas, thnajaran,foto, ket siswa
Nis,namasiswa,kelas,thnajaran
Nis,namasiswa
MATAPELAJARANKodepelajaran,mapel
Nis,kodepelajaran,semester,kelas, thnajaran,nilaiNis,kodepelajaran,semester,
kelas, thnajaran,nilai
Validitas login
HISTORYKENAIKAN
HISTORYKELULUSAN
PRESTASI
Nis,semester,kelas,thnajaran,jmlnilai,keterangan
Nis,semester,kelas,thnajaran,jmlnilai,keterangan
BAKATData bakat
Dataprestasi
Nis,data bakat
Nis,data prestasi
Nis,nama siswa, ttlsiswa, jenis kelamin,kelas, thnajaran,foto, ket siswa
Kodepelajaran,mapel
Nis,semester,kelas,thnajaran,jmlnilai,keterangan
Nis,semester,kelas,thnajaran,jmlnilai,keterangan
7
SIMPAN/UPDATE
DATABASE
Validasi login
Status logout
Nis,semester,kelas,thnajaran,jmlnilai,keteranganNis,semester,kelas,thnajaran,jmlnilai,keterangan
Kodepelajaran,mapelNis,kodepelajaran,semester,kelas, thnajaran,nilai
Nis,nama siswa, ttlsiswa, jenis kelamin, kelas, thnajaran,foto, ket siswa
SEKOLAH * KEPSEK * SISWA * BEASISWA *
PENERIMABEASISWA *
PRESTASI *
BAKAT * Nis,data bakat
Nis,dataprestasi
Nis,kode-beasiswa,tglterima,
uraian
Nipkepsek,
nosekolah,
namasekolah,alamat
sekolah,no telp
sekolah,status
sekolah
Nipkepsek,nama
kepsek,alamatkepsek,no telpkepsek,
foto
Nis,namasiswa,
ttlsiswa,jenis
kelamin,kelas,
foto, ketsiswa
Kodebeasiswa,namabeasiswa,sumber,jmlbeasiswa,jangkawaktu
Gambar 3.4 Diagram Arus Data Level 0
32
DFD level 0 merupakan gambar kerja sistem. Admin sekolah dan admin dinas
melakukan login terlebih dahulu untuk masuk ke dalam sistem. Jika username dan
password sesuai maka login berhasil.
1. Admin Sekolah
a. Melakukan proses mengolah data sekolah, antara lain tambah, ubah, hapus
data sekolah. Data yang diolah disimpan di penyimpanan data sekolah.
b. Melakukan proses menambah data kepala sekolah, antara lain tambah, ubah,
hapus data kepala sekolah. Data yang diolah disimpan di penyimpanan data
kepsek.
c. Melakukan proses mengolah data siswa, antara lain tambah, ubah, hapus yang
melibatkan data siswa, bakat, prestasi, dan history siswa.
d. Melakukan proses mengolah data beasiswa, antara lain tambah, ubah, hapus
yang melibatkan data beasiswa, siswa, dan penerima beasiswa.
e. Melakukan proses mengolah data nilai, antara lain tambah, ubah, hapus yang
melipatkan data history siswa, mata pelajaran, daftar nilai, history kenaikan,
dan history kelulusan.
f. Melakukan proses simpan/update database, yang melibatkan semua
penyimpanan data mulai dari data sekolah, kepsek, siswa, mata pelajaran,
daftar nilai, beasiswa, history siswa, penerima beasiswa, bakat, prestasi,
history kenaikan dan history kelulusan.
2. Admin Dinas
Melakukan proses simpan/update database, yang melibatkan semua penyimpanan
data mulai dari data sekolah, kepsek, siswa, mata pelajaran, daftar nilai, beasiswa,
33
history siswa, penerima beasiswa, bakat, prestasi, history kenaikan dan history
kelulusan.
3.1.2.3.2 DFD LEVEL 1 PROSES MENGOLAH DATA SISWA
Admin sekolah mengolah data siswa, antara lain dengan melakukan proses
mengolah bakat siswa, antara lain tambah, ubah, hapus yang melibatkan data siswa
dan data bakat, melakukan proses mengolah data prestasi siswa antara lain tambah,
ubah, hapus yang melibatkan data siswa dan data prestasi, melakukan proses
Gambar 3.5 Diagram Arus Data Level 1 Proses Mengolah Data Siswa
34
mengolah data history siswa antara lain tambah, ubah, hapus yang melibatkan data
siswa dan data history siswa.
3.1.2.3.3 DFD LEVEL 1 PROSES MENGOLAH DATA BEASISWA
Admin sekolah mengolah data beasiswa dalam 3 sub proses yaitu proses
mengolah data penerima beasiswa, proses mengolah data beasiswa bakat, dan proses
mengolah data beasiswa prestasi, ketiganya melibatkan data siswa, beasiswa, dan
penerima beasiswa, masing-masing sub proses dapat tambah, ubah dan hapus data.
Gambar 3.6 Diagram Arus Data Level 1 Proses Mengolah Data Beasiswa
35
3.1.2.3.4 DFD LEVEL 1 PROSES MENGOLAH DATA NILAI
Admin Sekolah melakukan proses mengolah data nilai dalam 4 sub proses,
antara lain proses mengolah daftar nilai, proses mengolah data kenaikan kelas, proses
mengolah data kelulusan, dan proses mengolah data mata pelajaran, tiap-tiap proses
dapat melakukan tambah, ubah, dan hapus. Semua sub proses tersebut melibatkan
data history siswa, daftar nilai, mata pelajaran, history kenaikan, dan history
kelulusan.
Gambar 3.7 Diagram Arus Data Level 1 Proses Mengolah Data Nilai
36
3.1.2.3.5 DFD LEVEL 1 PROSES SIMPAN/UPDATE DATABASE
Gambar 3.8 Diagram Arus Data Level 1 Proses Simpan/Update Database
37
Admin Sekolah melakukan proses simpan database dari data sekolah, kepsek,
siswa, history siswa, bakat, prestasi, mata pelajaran, daftar nilai, history kenaikan,
history kelulusan, beasiswa, penerima beasiswa.
Admin Dinas melakukan proses update database dari data sekolah, kepsek,
siswa, history siswa, bakat, prestasi, mata pelajaran, daftar nilai, history kenaikan,
history kelulusan, beasiswa, penerima beasiswa.
3.1.2 PEMODELAN DATA
3.1.2.1 ER DIAGRAM
ER (Entity Relational) Diagram merupakan diagram yang menggambarkan
hubungan antar entitas dengan masing-masing atribut yang menyertainya. Gambar
3.9 menunjukkan diagram ER dari sistem yang akan dibuat.
38
Gambar 3.9 ER Diagram
39
3.2 PERANCANGAN SISTEM
3.2.1 PERANCANGAN BASIS DATA
3.2.1.1 RELASI ANTAR TABEL
Relasi tabel menunjukkan hubungan antar tabel dalam database. Hubungan
antar tabel dari sistem yang akan dibuat ditunjukkan pada gambar 3.10.
Gambar 3.10 Relasi Tabel
40
3.2.2 PERANCANGAN USER INTERFACE
3.2.2.1 PERANCANGAN HALAMAN UTAMA
Gambar 3.11 menunjukkan perancangan user interface untuk halaman
utama dari Sistem Informasi Pendataan Siswa (SIPS). Menu yang terdapat di halaman
ini antara lain :
Home : Link untuk menuju halaman ini (index).
Data Sekolah : Link untuk menuju halaman yang menampilkan nama
dan alamat semua sekolah di seluruh kabupaten.
Data Kepala Sekolah : Link untuk menuju halaman yang menampilkan nama
dan alamat semua kepala sekolah di seluruh kabupaten.
Data Siswa : Link untuk menuju halaman yang menampilkan nama
siswa yang saat ini masih bersekolah (siswa aktif).
Beasiswa : Link untuk menuju halaman yang menampilkan tentang
beasiswa dan penerima beasiswa tersebut.
Daftar Nilai : Link untuk menuju halaman yang menampilkan nilai
siswa tiap mata pelajaran pada tiap semester.
Kenaikan Kelas : Link untuk menuju halaman yang menampilkan data
kenaikan kelas dan juga jumlah nilai masing-masing
siswa.
Kelulusan : Link untuk menuju halaman yang menampilkan data
kelulusan dan juga jumlah nilai masing-masing siswa.
Login Admin : Link ke halaman login
SI Guru : Link ke Sistem Informasi Pendataan Guru.
41
SI Sarana & Prasarana: Link ke Sistem Informasi Sarana & Prasarana.
SISTEM INFORMASI PENDATAAN SISWAKABUPATEN WONOGIRI
HOME | DATA SISWA | BEASISWA | DAFTAR NILAI | KENAIKAN KELAS | KELULUSAN | DATABASEHOME
DATASEKOLAH
DATA SISWA
BEASISWA
DAFTARNILAI
KENAIKANKELAS
KELULUSAN
ALUMNI
LINKTERKAIT
PENCARIAN
Copyrights © 2007 Dinas Pendidikan Kabupaten WonogiriAll Rights Reserved
INI HOME
Gambar 3.11 Desain User Interface
42
3.2.2.2 DESAIN HALAMAN DATA SISWA
SISTEM INFORMASI PENDATAAN SISWAKABUPATEN WONOGIRI
HOME | DATA SISWA | BEASISWA | DAFTAR NILAI | KENAIKAN KELAS | KELULUSAN | DATABASEHOME
DATASEKOLAH
DATA SISWA
BEASISWA
DAFTARNILAI
KENAIKANKELAS
KELULUSAN
ALUMNI
LINKTERKAIT
PENCARIAN
Copyrights © 2007 Dinas Pendidikan Kabupaten WonogiriAll Rights Reserved
NIS NAMA SISWA
DATA SISWA
Gambar 3.12 Desain Halaman Data Siswa
43
3.2.2.3 DESAIN HALAMAN DATA SEKOLAH
SISTEM INFORMASI PENDATAAN SISWAKABUPATEN WONOGIRI
HOME | DATA SISWA | BEASISWA | DAFTAR NILAI | KENAIKAN KELAS | KELULUSAN | DATABASEHOME
DATASEKOLAH
DATA SISWA
BEASISWA
DAFTARNILAI
KENAIKANKELAS
KELULUSAN
ALUMNI
LINKTERKAIT
PENCARIAN
Copyrights © 2007 Dinas Pendidikan Kabupaten WonogiriAll Rights Reserved
NO SEKOLAH NAMA SEKOLAH ALAMAT NO TELP SEKOLAH STATUS
DATA SEKOLAH
Gambar 3.13 Desain Halaman Data Sekolah
44
3.2.2.4 DESAIN HALAMAN DATA KEPALA SEKOLAH
SISTEM INFORMASI PENDATAAN SISWAKABUPATEN WONOGIRI
HOME | DATA SISWA | BEASISWA | DAFTAR NILAI | KENAIKAN KELAS | KELULUSAN | ALUMNIHOME
DATASEKOLAH
DATA SISWA
BEASISWA
DAFTAR NILAI
KENAIKANKELAS
KELULUSAN
ALUMNI
LINK TERKAIT
PENCARIAN
Copyrights © 2007 Dinas Pendidikan Kabupaten WonogiriAll Rights Reserved
DATA KEPALA SEKOLAH
NIP NAMA KEPALA SEKOLAH ALAMAT NO TELP
Gambar 3.14 Desain Halaman Data Kepala Sekolah
45
3.2.2.5 DESAIN HALAMAN DATA BEASISWA
SISTEM INFORMASI PENDATAAN SISWAKABUPATEN WONOGIRI
HOME | DATA SISWA | BEASISWA | DAFTAR NILAI | KENAIKAN KELAS | KELULUSAN | ALUMNIHOME
DATASEKOLAH
DATA SISWA
BEASISWA
DAFTAR NILAI
KENAIKANKELAS
KELULUSAN
ALUMNI
LINK TERKAIT
PENCARIAN
Copyrights © 2007 Dinas Pendidikan Kabupaten WonogiriAll Rights Reserved
DATA BEASISWA
KODE BEASISWA NAMA BEASISWA SUMBER JUMLAH JANGKA WAKTU
Gambar 3.15 Desain Halaman Beasiswa
46
3.2.2.6 DESAIN HALAMAN DAFTAR NILAI
SISTEM INFORMASI PENDATAAN SISWAKABUPATEN WONOGIRI
HOME | DATA SISWA | BEASISWA | DAFTAR NILAI | KENAIKAN KELAS | KELULUSAN | ALUMNIHOME
DATASEKOLAH
DATA SISWA
BEASISWA
DAFTAR NILAI
KENAIKANKELAS
KELULUSAN
ALUMNI
LINK TERKAIT
PENCARIAN
Copyrights © 2007 Dinas Pendidikan Kabupaten WonogiriAll Rights Reserved
DAFTAR NILAI
NAMA :KELAS :SEMESTER :TAHUN AJARAN :
MATA PELAJARAN NILAI
Gambar 3.16 Desain Halaman Daftar Nilai
47
3.2.2.7 DESAIN HALAMAN KENAIKAN KELAS
SISTEM INFORMASI PENDATAAN SISWAKABUPATEN WONOGIRI
HOME | DATA SISWA | BEASISWA | DAFTAR NILAI | KENAIKAN KELAS | KELULUSAN | ALUMNIHOME
DATASEKOLAH
DATA SISWA
BEASISWA
DAFTAR NILAI
KENAIKANKELAS
KELULUSAN
ALUMNI
LINK TERKAIT
PENCARIAN
Copyrights © 2007 Dinas Pendidikan Kabupaten WonogiriAll Rights Reserved
KENAIKAN KELAS
NIS NAMA SISWA KELAS JUMLAH NILAI KETERANGAN
Gambar 3.17 Desain Halaman Kenaikan Kelas
48
3.2.2.8 DESAIN HALAMAN KELULUSAN
SISTEM INFORMASI PENDATAAN SISWAKABUPATEN WONOGIRI
HOME | DATA SISWA | BEASISWA | DAFTAR NILAI | KENAIKAN KELAS | KELULUSAN | ALUMNIHOME
DATASEKOLAH
DATA SISWA
BEASISWA
DAFTAR NILAI
KENAIKANKELAS
KELULUSAN
ALUMNI
LINK TERKAIT
PENCARIAN
Copyrights © 2007 Dinas Pendidikan Kabupaten WonogiriAll Rights Reserved
KENAIKAN KELAS
NIS NAMA SISWA KELAS JUMLAH NILAI KETERANGAN
Gambar 3.18 Desain Halaman Kelulusan
49
3.2.2.9 LOGIN
LOGIN ADMINISTRATOR
Username
Password
LOGIN RESET
3.2.2.10 SIMPAN DATA
SISTEM INFORMASI PENDATAAN SISWAKABUPATEN WONOGIRI
HOME | DATA SISWA | BEASISWA | DAFTAR NILAI | KENAIKAN KELAS | KELULUSAN | DATABASEHOME
DATASEKOLAH
DATA SISWA
BEASISWA
DAFTARNILAI
KENAIKANKELAS
KELULUSAN
ALUMNI
LINKTERKAIT
PENCARIAN
Copyrights © 2007 Dinas Pendidikan Kabupaten WonogiriAll Rights Reserved
TABEL SISWA SIMPAN
TABEL DAFTARNILAI SIMPAN
TABEL SEKOLAH SIMPAN
TABEL BEASISWA SIMPAN
……………… SIMPAN
PENGELOLAANDATABASE
Gambar 3.19 Desain Halaman Login
Gambar 3.20 Desain Halaman Simpan Data
50
3.2.2.11 UPDATE DATA
SISTEM INFORMASI PENDATAAN SISWAKABUPATEN WONOGIRI
HOME | DATA SISWA | BEASISWA | DAFTAR NILAI | KENAIKAN KELAS | KELULUSAN | DATABASEHOME
DATASEKOLAH
DATA SISWA
BEASISWA
DAFTARNILAI
KENAIKANKELAS
KELULUSAN
ALUMNI
LINKTERKAIT
PENCARIAN
Copyrights © 2007 Dinas Pendidikan Kabupaten WonogiriAll Rights Reserved
TABEL SISWA UPDATE
TABEL DAFTARNILAI UPDATE
TABEL SEKOLAH UPDATE
TABEL BEASISWA UPDATE
……………… UPDATE
PENGELOLAANDATABASE
Gambar 3.21 Desain Halaman Update Data
51
3.2.3 DESAIN INPUT
3.2.3.1 DESAIN INPUT DATA SISWA
SISTEM INFORMASI PENDATAAN SISWAKABUPATEN WONOGIRI
HOME | DATA SISWA | BEASISWA | DAFTAR NILAI | KENAIKAN KELAS | KELULUSAN | ALUMNIHOME
DATASEKOLAH
DATA SISWA
BEASISWA
DAFTAR NILAI
KENAIKANKELAS
KELULUSAN
ALUMNI
LINK TERKAIT
PENCARIAN
Copyrights © 2007 Dinas Pendidikan Kabupaten WonogiriAll Rights Reserved
Nama Sekolah
NIS
Nama Lengkap
Tanggal Lahir
Jenis Kelamin
Keterangan
TAMBAH DATA SISWA
Laki-laki Perempuan
SIMPAN BATAL
Gambar 3.22 Desain Halaman Tambah Data Siswa
52
3.2.3.2 DESAIN INPUT DATA SEKOLAH
SISTEM INFORMASI PENDATAAN SISWAKABUPATEN WONOGIRI
HOME | DATA SISWA | BEASISWA | DAFTAR NILAI | KENAIKAN KELAS | KELULUSAN | ALUMNIHOME
DATASEKOLAH
DATA SISWA
BEASISWA
DAFTAR NILAI
KENAIKANKELAS
KELULUSAN
ALUMNI
LINK TERKAIT
PENCARIAN
Copyrights © 2007 Dinas Pendidikan Kabupaten WonogiriAll Rights Reserved
No Sekolah
Nama Sekolah
Alamat
No Telp
Status
TAMBAH DATA SEKOLAH
SIMPAN BATAL
Gambar 3.23 Desain Halaman Tambah Data Sekolah
53
3.2.3.3 DESAIN INPUT DATA KEPALA SEKOLAH
SISTEM INFORMASI PENDATAAN SISWAKABUPATEN WONOGIRI
HOME | DATA SISWA | BEASISWA | DAFTAR NILAI | KENAIKAN KELAS | KELULUSAN | ALUMNIHOME
DATASEKOLAH
DATA SISWA
BEASISWA
DAFTAR NILAI
KENAIKANKELAS
KELULUSAN
ALUMNI
LINK TERKAIT
PENCARIAN
Copyrights © 2007 Dinas Pendidikan Kabupaten WonogiriAll Rights Reserved
NIP
Nama Lengkap
Alamat
No Telp
TAMBAH DATA KEPALA SEKOLAH
SIMPAN BATAL
Gambar 3.24 Desain Halaman Tambah Data Kepala Sekolah
54
3.2.3.4 DESAIN INPUT DATA BEASISWA
SISTEM INFORMASI PENDATAAN SISWAKABUPATEN WONOGIRI
HOME | DATA SISWA | BEASISWA | DAFTAR NILAI | KENAIKAN KELAS | KELULUSAN | ALUMNIHOME
DATASEKOLAH
DATA SISWA
BEASISWA
DAFTAR NILAI
KENAIKANKELAS
KELULUSAN
ALUMNI
LINK TERKAIT
PENCARIAN
Copyrights © 2007 Dinas Pendidikan Kabupaten WonogiriAll Rights Reserved
Kode Beasiswa
Nama Beasiswa
Sumber
Jumlah
Jangka Waktu
TAMBAH DATA BEASISWA
SIMPAN BATAL
Gambar 3.25 Desain Halaman Tambah Beasiswa
55
3.2.3.5 DESAIN INPUT DATA NILAI
SISTEM INFORMASI PENDATAAN SISWAKABUPATEN WONOGIRI
HOME | DATA SISWA | BEASISWA | DAFTAR NILAI | KENAIKAN KELAS | KELULUSAN | ALUMNIHOME
DATASEKOLAH
DATA SISWA
BEASISWA
DAFTAR NILAI
KENAIKANKELAS
KELULUSAN
ALUMNI
LINK TERKAIT
PENCARIAN
Copyrights © 2007 Dinas Pendidikan Kabupaten WonogiriAll Rights Reserved
NIS
Nama Siswa
Kelas
Semester
Tahun Ajaran
Mata Pelajaran
Nilai
TAMBAH DATA NILAI
SIMPAN BATAL
Gambar 3.26 Desain Halaman Tambah Data Nilai
56
BAB IV
IMPLEMENTASI SISTEM
4.1 KEBUTUHAN SISTEM
Kebutuhan Sistem untuk mengimplementasikan SIPS (Sistem Informasi
Pendataan Siswa) antara lain :
Sistem Operasi : Windows atau Linux
Java Server Pages
Apache Tomcat
Data Base MySQL
MySQL JDBC Driver
4.2 INSTALASI
Sebelum implementasi terhadap program ini dilakukan, perlu melakukan
beberapa instalasi terlebih dahulu, antara lain :
Netbeans
Untuk menginstal program tersebut pertama-tama menjalankan file
netbeans4-1-linux.bin kemudian akan muncul tampilan seperti pada gambar
4.1.
57
Gambar 4.1 Tampilan Welcome Screen
Setelah pilihan Next ditekan maka akan muncul halaman Licence Agreement
yang berisi penjelasan-penjelasan mengenai program yang akan diinstal yaitu
netbeans 4.1-linux. Tampilan Licence Agreement seperti ditunjukkan pada
gambar 4.2.
Gambar 4.2 Licence Agreement
58
Selanjutnya setelah memilih pilihan I accept the terms ... kemudian menekan
tombol Next, maka tampilan selanjutnya yang muncul adalah di direktori
mana program tersebut akan diinstal, seperti ditunjukkan pada gambar 4.3.
Gambar 4.3 Direktori instalasi
Setelah mengisikan di direktori mana program akan diinstal, kemudian
menekan kembali tombol Next dan akan muncul tampilan untuk mengisikan
direktori J2SE JDK (Java 2 Standard Edition Java Development Kit) yang
dibutuhkan. Untuk netbeans 4.1 memerlukan minimal J2SE JDK 1.4.2.
Tampilannya seperti pada gambar 4.4.
59
Gambar 4.4 Pemilihan J2SE JDK
Setelah itu, setelah menekan tombol Next maka akan muncul tampilan
konfirmasi dari berbagai pilihan instalasi yang telah dipilih sebelumnya,
gambar 4.5 menunjukkan tampilan tersebut.
Gambar 4.5 Konfirmasi instalasi
Jika isi konfirmasi seperti pada gambar 4.5 telah sesuai, maka instalasi akan
segera diproses. Tampilan proses instalasi dapat dilihat pada gambar 4.6.
60
Gambar 4.6 Proses instalasi
Jika proses telah mencapai 100% maka proses instalasi telah selesai,
kemudian muncul tampilan seperti ditunjukkan gambar 4.7.
Gambar 4.7 Instalasi sukses
Setelah instalasi sukses, muncul laporan hasil instalasi yang memberitahukan
di mana letak program untuk menjalankan netbeans 4.1 yang baru saja selesai
61
diinstal, dan juga memberitahukan di mana letak uninstaller dari netbeans 4.1
tersebut. Untuk mengakhiri instalasi yaitu dengan menekan tombol Finish.
Database MySQL
Untuk menginstal database MySQL, file yang digunakan adalah
mysql-5.0.19.tar.gz. File tersebut masih berupa file kompres (file gzip). Untuk
menjalankannya, dapat di-unzip terlebih dulu dengan menggunakan Terminal
Program (Konsole). Perintah yang digunakan untuk meng-unzip file tersebut
adalah :
shell> gunzip mysql-5.0.19.tar.gz | tar -xvf
Kemudian masuk ke direktori mysql yang baru saja di-unzip tersebut, perintah
yang digunakan adalah :
shell> cd mysql-5.0.19
Sebelum penginstalan, perlu dilakukan konfigurasi terlebih dahulu direktori
mana yang akan dipakai dalam instalasi. Perintah untuk meng-konfigurasi
adalah :
shell> ./configure –prefix=/opt/mysql
shell> make
Sedangkan untuk menginstal mysql, perintah yang digunakan adalah :
shell> make install
Setelah instalasi selesai, kemudian masuk ke direktori instalasi mysql
tersebut, perintah yang digunakan adalah :
shell> cd /opt/mysql
Untuk membuat MySQL grant table, perintah yang digunakan adalah :
62
shell> bin/mysql_install_db --user=mysql
Kemudian secara manual me-restart server. Selanjutnya, mengubah
kepemilikan (ownership). Perintah yang digunakan adalah :
shell> chown -R root . --> mengubah atribut file ke user 'root'
shell> chown -R mysql var --> mengubah atribut direktori data ke user 'mysql'
shell> chgrp -R mysql . --> mengubah atribut group ke group mysql
Untuk menjalankan server mysql, perintah yang digunakan adalah :
shell> '/opt/mysql/bin/mysqld_safe' --user=mysql
Membangun database beserta tabel-tabelnya
1. Tabel Kepala Sekolah
CREATE TABLE kepsek ( nip_ks int(12) NOT NULL default '0', nama_ks varchar(50) default '', alamatkepsek text, notelpkepsek varchar(15) default '', PRIMARY KEY (nip_ks) )
2. Tabel Sekolah
CREATE TABLE sekolah ( nosekolah varchar(9) NOT NULL default '', nip_ks int(12) default '0', namasekolah varchar(50) default '', alamatsekolah text, notelpsekolah varchar(15) default '', statsekolah varchar(15) default '', PRIMARY KEY (nosekolah) )
3. Tabel Siswa
63
CREATE TABLE siswa ( nis varchar(12) NOT NULL default '', nosekolah varchar(9) default '', namasiswa varchar(50) default '', ttlsiswa varchar(40) default '', jk varchar(9) default '', ketsiswa varchar(30) default '', PRIMARY KEY (nis) )
4. Tabel Mata Pelajaran
CREATE TABLE `matapelajaran` ( `kodepelajaran` varchar(10) NOT NULL default '', `mapel` varchar(25) default NULL, `ketmapel` text, PRIMARY KEY (`kodepelajaran`) )
5. Tabel History Siswa
CREATE TABLE historysiswa ( idhs int(6) NOT NULL auto_increment, nis varchar(12) NOT NULL default '', kelas varchar(6) NOT NULL default '', thnajaran varchar(10) NOT NULL default '', PRIMARY KEY (idhs) )
6. Tabel Daftar Nilai
CREATE TABLE daftarnilai ( idhs int(6) default '0', kodepelajaran varchar(10) NOT NULL default '', semester int(2) NOT NULL default '0', nilai float default '0' )
7. Tabel History Kenaikan
CREATE TABLE historykelulusan ( idhs int(6) default '0', jmlnilai float default '0', ketlulus varchar(11) default 'LULUS' )
64
8. Tabel History Kelulusan
CREATE TABLE historykelulusan ( idhs int(6) default '0', jmlnilai float default '0', ketlulus varchar(11) default 'LULUS' )
9. Tabel Beasiswa
CREATE TABLE beasiswa ( kodebeasiswa varchar(8) NOT NULL default '', namabeasiswa varchar(50) default '', sumber varchar(15) default '', jmlbeasiswa int(10) default '0', jkwaktu varchar(10) default '', PRIMARY KEY (kodebeasiswa) )
10. Tabel Penerima Beasiswa
CREATE TABLE penerimabeasiswa ( nis varchar(12) default '', kodebeasiswa varchar(7) default '', tglterima varchar(15) default NULL, uraianbeasiswa text )
11. Tabel Bakat
CREATE TABLE `bakat` ( `nis` varchar(12) default ``, `bakat1` varchar(100) default ``, `bakat2` varchar(100) default ``, `bakat3` varchar(100) default ``, `bakat4` varchar(100) default ``, `bakat5` varchar(100) default ``, `bakat6` varchar(100) default ``, `bakat7` varchar(100) default ``, `bakat8` varchar(100) default ``, `bakat9` varchar(100) default ``, `bakat10` varchar(100) default `` ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
65
12. Tabel Prestasi
CREATE TABLE `prestasi` ( `nis` varchar(12) default ``, `prestasi1` varchar(100) default ``, `prestasi2` varchar(100) default ``, `prestasi3` varchar(100) default ``, `prestasi4` varchar(100) default ``, `prestasi5` varchar(100) default ``, `prestasi6` varchar(100) default , `prestasi7` varchar(100) default ``, `prestasi8` varchar(100) default ``, `prestasi9` varchar(100) default ``, `prestasi10` varchar(100) default `` ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Java Connector
Java Connector yang digunakan adalah mysql-connector-java-3.0.17-
ga-bin.jar. File tersebut harus diletakkan di direktori libraries setiap kali
membuat proyek baru pada netbeans.
4.2.1 KONEKSI DENGAN DATABASE
Untuk koneksi dengan database, Java menyediakan API (Applicationn
Programming Interface), yaitu JDBC (Java Data Base Connectivity). Dasar terpenting
dalam membangun koneksi antara JSP dan database adalah sejumlah interface yang
ada dalam paket “Java.sql.*”, supaya JSP bisa mengakses database.
Terdapat empat interface yang mutlak harus dipakai ketika membangun
koneksi JSP dengan database, yaitu :
1. Connection, berfungsi untuk mendefinisikan koneksi ke database. Kelas yang
digunakan adalah DriverManager dan metodenya getConnection.
66
2. Driver, berfungsi untuk mendefinisikan driver yang digunakan untuk melakukan
koneksi ke database. Driver yang digunakan untuk MySQL adalah
“com.MySQL.jdbc.Driver”.
3. Statement, berfungsi untuk mendefinisikan statement SQL.
4. Resultset, berfungsi untuk menangkap hasil pengaksesan ke database.
Untuk mencoba tes koneksi dengan database adalah dengan cara menjalankan
script seperti ditunjukkan pada gambar 4.8.
<HTML> <HEAD> <TITLE>Tes Koneksi Database</TITLE> </HEAD> <BODY> <%@ page import="java.sql.*" %> <% boolean ada_kesalahan = false; try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception ex) { out.println("Kesalahan1: " + ex); ada_kesalahan = true; } if (!ada_kesalahan) { // Bentuk koneksi Connection koneksi = null; try { koneksi = DriverManager.getConnection("jdbc:mysql://localhost/mysql","root", "linux"); out.println("Koneksi berhasil bo..!"); } catch (Exception ex) { out.println("Kesalahan2: " + ex); } } %> </BODY> </HTML>
Gambar 4.8. Koneksi ke database
67
Jika koneksi tersebut berhasil, maka tampilan yang akan muncul adalah
seperti pada gambar 4.9.
Gambar 4.9. Tampilan tes koneksi database
68
4.3 IMPLEMENTASI ANTAR MUKA
4.3.1 SIPS SEKOLAH
4.3.1.1 LOGIN
Untuk masuk ke sistem, admin sekolah harus melakukan login terlebih dahulu.
Listing program untuk login yaitu seperti yang ditunjukkan gambar 4.10.
<HTML> <HEAD> <TITLE>Login Page</TITLE> </HEAD> <BODY> <p> </p><p> </p> <TABLE BACKGROUND="images/blue-bend.jpg" ALIGN="CENTER" WIDTH="600" HEIGHT="480"> <TR ALIGN="CENTER"><TD> <FORM ACTION="index.jsp" METHOD="POST"> <H2>LOGIN ADMINISTATOR</H2> <TABLE ALIGN="CENTER" BORDER="0"> <TR> <TD>Username</TD> <TD> : <% String pemakai = gantiKosong( request.getParameter("pemakai")); %> <INPUT TYPE="TEXT" NAME="pemakai" VALUE = "<%= pemakai %>"> </TD> </TR> <TR> <TD>Password</TD> <TD> : <INPUT TYPE="PASSWORD" NAME="sandi"> </TD> </TR> </TABLE><BR> <INPUT TYPE="SUBMIT" VALUE="Login"> <INPUT TYPE="RESET" VALUE="Reset"> <% String msg = request.getParameter("msg"); if (msg != null) out.println("<h3>"+msg + "</h3><BR>\n"); %> </FORM> </TD> </TR>
69
</TABLE> </BODY> </HTML>
Tampilan login sekolah ditunjukkan pada gambar 4.11.
Untuk otentikasinya ditunjukkan oleh gambar 4.12.
<%@ page import="java.sql.Connection, java.sql.DriverManager, java.sql.Statement, java.sql.ResultSet" %> <%@ include file="definisi.jsp" %> <%!
Gambar 4.11. Tampilan login sekolah
database
Gambar 4.10. Listing login sekolah
database
70
public boolean otentikasi(String pemakai, String password) { if (pemakai == null || password == null) return(false); if (pemakai.equals("") || password.equals("")) return(false); boolean ada_kesalahan = false; boolean password_cocok = false; try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception ex) { ada_kesalahan = true; } if (!ada_kesalahan) { // Bentuk koneksi Connection koneksi = null; try { koneksi = DriverManager.getConnection("jdbc:mysql://localhost/db_03121001", "root","linux"); } catch (Exception ex) { ada_kesalahan = true; } if (!ada_kesalahan) { ResultSet hasilQuery = null; try { Statement stm = koneksi.createStatement(); hasilQuery = stm.executeQuery( "SELECT * FROM user " + "WHERE nama = '" + pemakai + "'"); } catch (Exception ex) { ada_kesalahan = true; } if (!ada_kesalahan) { String data_password = ""; try { if (hasilQuery.next()) data_password = hasilQuery.getString("password"); } catch (Exception ex) { ada_kesalahan = true; } if (!ada_kesalahan) if (password.equals(data_password)) password_cocok = true;
71
} } } return(password_cocok); } %>
Untuk validasinya yaitu menggunakan fasilitas session seperti ditunjukkan gambar
4.13.
String sesi_user = gantiKosong(request.getParameter("pemakai")); String sesi_pass = gantiKosong(request.getParameter("sandi")); if (! otentikasi(sesi_user, sesi_pass)) { String msg = "<center>Harap diisi dengan benar"; response.sendRedirect("login_sekolah.jsp?msg=" + msg + "&user=" + sesi_user); } else { // --- Hapus sesi sekarang session.invalidate(); // --- Bentuk sesi baru session = request.getSession(true); // --- Bentuk dua buah atribut session.setAttribute("sesi_user", sesi_user); session.setAttribute("sesi_pass", sesi_pass); }
Gambar 4.12. Listing otentikasi sekolah
Gambar 4.13. Listing validasi
72
4.3.1.2 HALAMAN UTAMA
Jika login berhasil, maka admin bisa masuk halaman utama seperti ditunjukan
gambar 4.14.
Pada halaman utama, nama user ditampilkan dengan cara memanggil sesi_user yang
terlah ditangkap dari proses login, dengan demikian nama sekolah dari admin tersebut
juga bisa ditampilkan. Listing halaman utama dapat dilihat pada gambar 4.15.
boolean ada_kesalahan = false; try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception ex) {
Gambar 4.14. Tampilan halaman utama
73
out.println("Kesalahan: " + ex); ada_kesalahan = true; } if (!ada_kesalahan) { // Bentuk koneksi Connection kon = null; try { kon = DriverManager.getConnection( "jdbc:mysql://localhost/db_03121001","root", "linux"); } catch (Exception ex) { out.println("Kesalahan: " + ex); ada_kesalahan = true; } if (!ada_kesalahan) { ResultSet hasilQuery = null; try { Statement st = kon.createStatement(); hasilQuery = st.executeQuery( "SELECT u.*,s.* FROM user u,sekolah s WHERE u.nosekolah = s.nosekolah AND u.nama = \'"+sesi_user+"\'"); } catch (Exception ex) { out.println("Kesalahan: " + ex); ada_kesalahan = true; }
4.3.1.3 Tampil Data Siswa
Untuk menanpilkan data siswa, listing programnya ditunjukkan pada gambar 4.16
berikut ini.
<% String kelas = request.getParameter("kelas"); String thnajaran = request.getParameter("thnajaran"); //out.println("<FORM ACTION=siswa_tambah.jsp?kelas="+kelas+"&thnajaran="+thnajaran+" METHOD=post>"); out.println("<FORM ACTION=nilai_tambahkelas.jsp?kelas="+kelas+"&thnajaran="+thnajaran+" METHOD=post>");
Gambar 4.15. Listing halaman utama
74
out.println("<INPUT TYPE=HIDDEN NAME=kelas VALUE="+kelas+"><INPUT TYPE=HIDDEN NAME=thnajaran VALUE="+thnajaran+">"); if (!ada_kesalahan) { ResultSet hasilQuery = null; try { Statement stm = koneksi.createStatement(); hasilQuery = stm.executeQuery( "SELECT s.*,h.* FROM siswa s,historysiswa h " + "WHERE s.nis = h.nis " + "AND h.kelas=\'"+kelas+"\' AND h.thnajaran=\'"+thnajaran+"\' " + "GROUP BY h.nis ORDER BY h.nis"); } catch (Exception ex) { out.println("Kesalahan: " + ex); ada_kesalahan = true; } if (!ada_kesalahan) { out.println("<p><h2> DATA SISWA</h2></p>"); out.println("<FONT SIZE=2>"); out.println("<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 ALIGN=CENTER WIDTH='30%'>"); out.println("<TR><TD WIDTH='50%'>KELAS</TD><TD>:</TD><TD>"+kelas+"</TD></TR>"); out.println("<TR><TD>THN AJARAN</TD><TD>:</TD><TD>"+thnajaran+"</TD></TR>"); out.println("</TABLE></FONT>"); out.println("<P></P>"); out.println("<FONT SIZE=2>"); out.println("<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>"); out.println( "<TR><TH>NIS</TH><TH>NAMA</TH><TH COLSPAN=3></TH></TR>"); try { while (hasilQuery.next()) { String idhs = hasilQuery.getString("idhs"); String nis = hasilQuery.getString("nis"); String namasiswa = hasilQuery.getString("namasiswa"); out.println("<TR ALIGN=CENTER><TD>" + nis + //"</TD><TD ALIGN=LEFT><a href=nilai_siswa.jsp?nis=" + nis +"&kelas="+kelas+"&semester="+semester+"&thnajaran="+thnajaran+">" + namasiswa +"</a>"+"</TD><TD ALIGN=LEFT>" + namasiswa + "</TD><TD ALIGN=LEFT><a href=siswa_detail.jsp?nis=" + nis +">Detail</a>"+
75
"</TD><TD ALIGN=LEFT><a href=siswa_tambahnilai.jsp?idhs=" + idhs +">Tambah Nilai</a>"+ "</TD><TD ALIGN=LEFT><a href=nilai_pertahun.jsp?idhs=" + idhs +">Lihat Nilai</a>"+ "</TD></TR>"); } out.println("</TABLE></FONT>"); } catch (Exception ex) { out.println("Kesalahan: " + ex); }} }} %>
Sedangkan tampilannya ditunjukkan gambar 4.17.
Gambar 4.16. Listing data siswa
Gambar 4.17. Tampilan data siswa
76
4.3.1.4 TAMBAH DATA SISWA
Listing tambah data siswa ditunjukkan gambar 4.18.
<FORM ACTION="siswa_prosestambah_1.jsp" METHOD="POST"> <H2 ALIGN=CENTER>TAMBAH DATA SISWA</H2> <FONT SIZE="2"> <TABLE BORDER=0 CELLPADDING=2 CELLSPACING=0 ALIGN=CENTER WIDTH="60%"> <TR> <TD>NIS </TD> <TD> : </TD><TD><INPUT TYPE= "TEXT" NAME = "nis" SIZE="30"> </TD> </TR> <TR> <TD>Nama Lengkap</TD> <TD> : </TD><TD><INPUT TYPE= "TEXT" NAME = "namasiswa" SIZE="30"> </TD> </TR> <TR> <TD>Tempat/Tanggal Lahir </TD> <TD> : </TD><TD><INPUT TYPE= "TEXT" NAME = "t4" SIZE="30"> / </TD> </TR><TR><TD></TD><TD> </TD><TD> <%@ include file="tanggal.jsp" %> </TD> </TR> <TR> <TD>Jenis Kelamin</TD> <TD> : </TD><TD><INPUT TYPE="RADIO" NAME ="jk" VALUE="Laki-laki" CHECKED>Laki-laki <INPUT type="RADIO" value="Perempuan" name="jk">Perempuan </TD> </TR> <TR> <TD>Keterangan </TD> <TD ALIGN="TOP">: </TD><TD> <TEXTAREA NAME = "ketsiswa" ROWS="5" COLS="26"></TEXTAREA> </TD> </TR> </TABLE> <p> </p> <TABLE BORDER="0" ALIGN=CENTER> <TR> <TD> <INPUT TYPE="SUBMIT" VALUE="SIMPAN"> <INPUT TYPE="BUTTON" VALUE="KEMBALI" ONCLICK="self.history.back();">
77
<INPUT TYPE="RESET" VALUE="BATAL"> </TD> </FORM> </TR> </TABLE>
Tampilan tambah data siswa ditunjukkan pada gambar 4.19.
Gambar 4.18. Listing tambah data siswa
Gambar 4.19. Tampilan tambah data siswa
78
4.3.1.5 TAMPIL DATA NILAI
Untuk menanpilkan data nilai per tahun ajaran seorang siswa, listing programnya
ditunjukkan pada gambar 4.20.
<% String idhs = request.getParameter("idhs"); if (idhs == ""){ String msg = "Salah Pemakaian"; response.sendRedirect("info.jsp?msg="+msg); } if (!ada_kesalahan) { ResultSet hasilQuery = null; ResultSet hasilQuery2 = null; try { //query semester gasal Statement stm = koneksi.createStatement(); hasilQuery = stm.executeQuery( "SELECT s.*,h.*,d.*,m.* " + "from siswa s,historysiswa h, daftarnilai d, matapelajaran m " + "where (s.nis=h.nis) and (h.idhs=d.idhs) and (m.kodepelajaran = d.kodepelajaran) and d.idhs = \'"+ idhs + "\' and (select mod(d.semester,2) = 1) "); hasilQuery.next(); //query semester genap Statement stm2 = koneksi.createStatement(); hasilQuery2 = stm2.executeQuery( "SELECT s.*,h.*,d.*,m.* " + "from siswa s,historysiswa h, daftarnilai d, matapelajaran m " + "where (s.nis=h.nis) and (h.idhs=d.idhs) and (m.kodepelajaran = d.kodepelajaran) and d.idhs = \'"+ idhs + "\' and (select mod(d.semester,2) = 0)"); } catch (Exception ex) { out.println("Kesalahan: " + ex); ada_kesalahan = true; } if (!ada_kesalahan) { String namasiswa = hasilQuery.getString("namasiswa").toUpperCase(); String kelas = hasilQuery.getString("kelas"); String thnajaran = hasilQuery.getString("thnajaran"); out.println("<FONT SIZE=2>"); out.println("<p><h2>NILAI SISWA "+namasiswa+"</h2></p>"); out.println("<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 ALIGN=CENTER WIDTH='30%'>");
79
out.println("<TR><TD WIDTH='50%'>KELAS</TD><TD>:</TD><TD>"+kelas+"</TD></TR>"); out.println("<TR><TD>THN AJARAN</TD><TD>:</TD><TD>"+thnajaran+"</TD></TR>"); out.println("</TABLE>"); out.println("<P></P>"); out.println("<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>"); out.println( "<TR><TH>MATA PELAJARAN</TH><TH>SEMESTER GANJIL</TH><TH>SEMESTER GENAP</TH></TR>"); try { while (hasilQuery.next()) { String mapel = hasilQuery.getString("mapel"); String nilai = hasilQuery.getString("nilai"); out.println("<TR><TD ALIGN=LEFT>" + mapel + "</TD><TD ALIGN=CENTER>" + nilai); if (hasilQuery2.next()) { String nilai2 = hasilQuery2.getString("nilai"); out.println("</TD><TD ALIGN=CENTER>" + nilai2); } else {out.println("</TD><TD ALIGN=CENTER>Belum ada nilai");} } out.println("</TD></TR>"); } catch (Exception ex) { out.println("Kesalahan: " + ex); } out.println("</TABLE></FONT>"); } } } %>
Gambar 4.20. Listing nilai siswa
80
Tampilan data nilai siswa per tahun ajaran adalah seperti ditunjukan oleh gambar
4.21.
4.3.1.6 TAMBAH NILAI SISWA
Untuk menambah nilai siswa, listingnya ditunjukkan pada gambar 4.22.
<% String idhs = request.getParameter("idhs"); try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception ex) { out.println("Kesalahan: " + ex); }
Gambar 4.21. Tampilan nilai siswa
81
Connection kon = DriverManager.getConnection( "jdbc:mysql://localhost/db_03121001","root", "linux"); Statement s = kon.createStatement(); ResultSet hasilQuery = s.executeQuery( "SELECT s.*,h.* FROM siswa s,historysiswa h " + "WHERE s.nis = h.nis " + "AND h.idhs=\'"+idhs+"\'" ); hasilQuery.next(); %> <FORM ACTION="siswa_prosesnilai.jsp" method="post"> <p><h2> Tambah Nilai </h2></p> <FONT SIZE=2> <TABLE BORDER=0 CELLPADDING=2 CELLSPACING=0 ALIGN=CENTER> <TR> <TD>NIS</TD> <TD> : <%=hasilQuery.getString("nis")%> </TD> </TR> <TR> <TD>Nama Siswa</TD> <TD> : <%=hasilQuery.getString("namasiswa")%> </TD> </TR--> <TR> <TD>Kelas</TD> <TD> : <%=hasilQuery.getString("kelas")%> </TD> </TR> <TR> <TD>Tahun Ajaran</TD> <TD> : <%=hasilQuery.getString("thnajaran")%> </TD> </TR> <TR> <TD>Semester</TD> <TD> : <SELECT NAME=semester><option selected> </option> <% for (int i=1;i<=12;i++){ out.println("<option>"+i+"</option>"); }%> </select> </TD> </TR> <TR> <TD>Mata Pelajaran</TD> <TD> : <SELECT NAME="kodepelajaran"><%@ include file = "namamapel.jsp" %></SELECT> </TD> </TR> <TR> <TD>Nilai</TD> <TD> : <INPUT TYPE="TEXT" NAME="nilai" SIZE="10"> </TD>
82
</TR> <TR><td colspan="2"><font size="1">Gunakan tanda <b>titik (.)</b> untuk menunjukkan nilai desimal (2 angka desimal)</font></td></TR> </TABLE>
Tampilannya seperti ditunjukkan gambar 4.23.
Gambar 4.22. Listing tambah nilai siswa
Gambar 4.22. Tampilan tambah nilai siswa
83
4.3.1.7 OLAH NILAI SISWA
Untuk memproses nilai yang sudah masuk, listing ditunjukkan pada gambar 4.24.
<% // Validasi Data boolean ada_kesalahan = false; String idhs = request.getParameter("idhs"); String semester = request.getParameter("semester"); String jmlnilai = request.getParameter("jumlah"); //String jmlnilai = request.getParameter("rata"); try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception ex) { out.println("Kesalahan: " + ex); ada_kesalahan = true; } if (!ada_kesalahan) { // Bentuk koneksi Connection koneksi = null; try { koneksi = DriverManager.getConnection( "jdbc:mysql://localhost/db_03121001","root", "linux"); } catch (Exception ex) { out.println("Kesalahan: " + ex); ada_kesalahan = true; } if (!ada_kesalahan) { try { Statement stm = koneksi.createStatement(); stm.executeUpdate("insert into historykenaikan (idhs,semester,jmlnilai,ketnaik)" + "values (\'"+idhs+"\',\'"+semester+"\'," + "\'"+jmlnilai+"\','NAIK KELAS')"); } catch (Exception ex) { out.println("Kesalahan: " + ex); ada_kesalahan = true; } } } %>
Gambar 4.24. Listing nilai olah
84
Tampilannya adalah seperti ditunjukkan gambar 4.25.
Untuk menambahkan siswa tersebut ke history kenaikan ditunjukkan pada gambar
4.26.
<% boolean ada_kesalahan = false; String nis = request.getParameter("nis"); try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception ex) { out.println("Kesalahan: " + ex); } Connection kon = DriverManager.getConnection(
Gambar 4.25. Tampilan olah nilai siswa
85
"jdbc:mysql://localhost/db_03121001","root", "linux"); Statement st = kon.createStatement(); ResultSet hasilQuery = st.executeQuery( "SELECT * from siswa WHERE nis = \'"+nis+"\'"); hasilQuery.next(); %> <FORM ACTION="siswa_proseskelas.jsp" method="post"> <p><h2> Ubah Data <%=hasilQuery.getString("namasiswa")%></h2></p> <FONT SIZE="2"> <TABLE BORDER=0 CELLPADDING=2 CELLSPACING=0 ALIGN=CENTER> <TR> <TD>NIS</TD> <TD> : </TD><TD><%=nis%> </TD> </TR> <TR> <TD>Nama Siswa</TD> <TD> : </TD><TD><%=hasilQuery.getString("namasiswa")%> </TD> </TR> <TR> <TD>Kelas </TD> <TD> : </TD><TD><%@ include file="kelas.jsp"%> </TD> </TR> <TR> <TD>Tahun Ajaran</TD> <TD> : </TD><TD><SELECT NAME="thnajaran"><%@ include file="thnajaran.jsp" %></SELECT> </TD> </TR> </TABLE>
Gambar 4.26. Listing tambah kenaikan
86
Sedangkan tampilannya ditunjukkan pada gambar 4.27.
4.3.1.8 SIMPAN DATA KE FILE
Untuk memilih tabel mana yang akan disimpan datanya ke file, listing program yang
digunakan adalah seperti pada gambar 4.28
<table width="90%" align="center" border="0" cellpadding="2" cellspacing="0"> <tr><td><h2 align="center">PENGELOLAAN DATABASE</h2></td></tr> <tr><td> <table cellpadding="2" cellspacing="0" align="center" border="1"> <tr><th align="center">NAMA TABEL</th><th> </th></tr> <tr><td align="left">Tabel Beasiswa</td><td align="center"><a href="tblbeasiswa_simpan.jsp" title="Simpan Tabel Beasiswa">Simpan</a></td></tr>
Gambar 4.27. Tampilan tambah data kenaikan
87
<tr><td align="left">Tabel Bakat</td><td align="center"><a href="tblbakat_simpan.jsp" title="Simpan Tabel Bakat">Simpan</a></td></tr> <tr><td align="left">Tabel Daftar Nilai</td><td align="center"><a href="tblnilai_simpan.jsp" title="Simpan Tabel Daftar Nilai">Simpan</a></td></tr> <!--tr><td align="left">Tabel History Kelulusan</td><td align="center"><a href="tbl_kelulusan.jsp" title="Lihat Tabel History Kelulusan">Lihat</a></td></tr--> <tr><td align="left">Tabel History Kenaikan</td><td align="center"><a href="tblkenaikan_simpan.jsp" title="Simpan Tabel History Kenaikan">Simpan</a></td></tr> <tr><td align="left">Tabel History Siswa</td><td align="center"><a href="tbltorsis_simpan.jsp" title="Simpan Tabel History Siswa">Simpan</a></td></tr> <tr><td align="left">Tabel Kepala Sekolah</td><td align="center"><a href="tblkepsek_simpan.jsp" title="Simpan Tabel Kepala Sekolah">Simpan</a></td></tr> <!--tr><td align="left">Tabel Komentar</td><td align="center"><a href="tbl_komentar.jsp" title="Lihat Tabel Komentar">Lihat</a></td></tr--> <tr><td align="left">Tabel Mata Pelajaran</td><td align="center"><a href="tblmapel_simpan.jsp" title="Simpan Tabel Mata Pelajaran">Simpan</a></td></tr> <tr><td align="left">Tabel Penerima Beasiswa</td><td align="center"><a href="tblpenerima_simpan.jsp" title="Simpan Tabel Penerima Beasiswa">Simpan</a></td></tr> <tr><td align="left">Tabel Prestasi</td><td align="center"><a href="tblprestasi_simpan.jsp" title="Simpan Tabel Prestasi">Simpan</a></td></tr> <tr><td align="left">Tabel Sekolah</td><td align="center"><a href="tblsekolah_simpan.jsp" title="Simpan Tabel Sekolah">Simpan</a></td></tr> <tr><td align="left">Tabel Siswa</td><td align="center"><a href="tblsiswa_simpan.jsp" title="Simpan Tabel Siswa">Simpan</a></td></tr> <!--tr><td align="left">Tabel User</td><td align="center"><a href="tbl_user.jsp" title="Lihat Tabel User">Lihat</a></td></tr--> </table>
Gambar 4.28.Listing pengelolaan database
88
Tampilan pengelolaan database ditunjukkan gambar 4.29.
Untuk melakukan penyimpanan data ke file, listing programnya ditunjukkan pada
gambar 4.30.
<% if (!ada_kesalahan){ if (!ada_kesalahan) { //ResultSet hasilQuery = null; try { Statement st = koneksi.createStatement(); st.execute("select * from siswa " + "into outfile \'/data/siswa.txt\'" + "fields terminated by \',\'"); out.println("<p> </p>Penyimpanan data berhasil.<br>File disimpan di direktori <b>/data</b> dengan nama <b>siswa.txt.</b>"); }
Gambar 4.29. Tampilan pengelolaan database
89
catch (Exception ex) { //out.println("Kesalahan: " + ex); ada_kesalahan = true; out.println("<br><b>Penyimpanan gagal.</b><br>" + "Silakan hapus file siswa.txt pada direktori <b>/data</b>, <br>kemudian lakukan penyimpanan ulang."); } } } }
%>
Tampilan setelah proses simpan database sukses, ditunjukkan pada gambar 4.31.
Gambar 4.30. Listing simpan database
Gambar 4.31. Tampilan simpan database sukses
90
Tampilan jika proses simpan database gagal ditunjukkan gambar 4.32.
4.3.2 SIPS DINAS
4.3.2.1 HALAMAN UTAMA
Halaman Utama untuk Dinas terdiri dari header, informasi hari dan tanggal, link-link
utama yang terdiri dari data sekolah, data kepala sekolah, data siswa, data beasiswa,
dan daftar nilai. Terdapat juga link-link pendukung antara lain kritik/saran, kenaikan
kelas, kelulusan, dan terdapat pula link untuk menuju ke situs terkait yaitu Sistem
Informasi Pendataan Guru dan Sistem Informasi Pendataan Sarana/Prasarana. Untuk
melakukan pencarian (searching) dapat pula dilakukan di halaman utama ini. Dengan
Gambar 4.32. Tampilan simpan database gagal
91
memasukkan sembarang kata, pencarian dilakukan berdasarkan nama sekolah, nama
siswa, bakat, dan prestasi. Selain itu ditampilkan pula link menuju situs software
yang digunakan dalam implementasi SIPS yaitu Netbeans, Mysql, Tomcat dan Java
Sun Microsystem.
Gambar 4.33 berikut ini adalah potongan program untuk menampilkan halaman data
siswa.
<table align="center" border="0"> <tr><td colspan="3"> </td></tr> <tr> <td width="250"> </td> <td align="center" background="images/SIPS.jpg" width="280" height="280"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="280" height="280"> <param name="movie" value="WELCOME.swf"> <param name="quality" value="high"> <embed src="images/WELCOME.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="280" height="280"></embed></object> </td> <td width="250"> </td> </tr> <tr> <td colspan="3"> <font size="2"> <table align="center" border="0"> <tr><td width="5" colspan="2"> </td></tr> <tr><td width="500" align="justify" colspan="2"> Sistem Informasi Pendataan Siswa (SIPS) Kabupaten Wonogiri adalah suatu sistem yang digunakan untuk menyimpan data siswa dari semua sekolah di seluruh Kabupaten Wonogiri dan mengolah data tersebut untuk keperluan pendidikan. Data yang disimpan dan diolah oleh sistem meliputi data pribadi siswa, nilai siswa, dan beasiswa. Semua data-data tersebut akan diolah untuk mengetahui kenaikan kelas, kelulusan, dan penerimaan beasiswa. <br><br>
92
Sistem ini dapat digunakan oleh Dinas Pendidikan Kabupaten Wonogiri dan oleh instansi sekolah, baik Sekolah Dasar, Sekolah Menengah Pertama maupun Sekolah Menengah Atas. Akan tetapi untuk penggunaan di sekolah, data yang disimpan hanyalah meliputi data dari sekolah tersebut saja. Sedangkan untuk penggunaan di Dinas Pendidikan, menampung semua data dari seluruh sekolah.<br><br> Melalui sistem ini Anda bisa melihat sejauh apa seorang siswa berprestasi, bakat apa saja yang ia miliki, Anda juga bisa mengetahui di sekolah mana saja siswa tersebut bersekolah, mulai dari SD, SMP, hingga SMA, juga nilai siswa
tersebut dari tiap mata pelajaran setiap semesternya, akan tetapi
nilai yang ditampilkan adalah nilai akhir saja
(nilai raport) dan tentu saja nilai kelulusannya.<br><br> Anda juga bisa membandingkan siswa dari tiap-tiap sekolah dari seluruh wilayah Kabupaten Wonogiri. </td></tr> <tr><td colspan="2"><p> </p></td></tr> <tr><td width="255" valign="top"><font size="1"> <b>Dinas Pendidikan Kabupaten Wonogiri : </b><br> Jl. Durian No. 11 Sanggrahan <br> WONOGIRI 57612<br> Telp. (0273) 321121, 321050 </font> </td> <td width="255" valign="top"><font size="1"> <b>Link Terkait : </b><br> <b><a href="http://localhost/SI_guru" target="_blank" title="Sistem Informasi Pendataan Guru">Sistem Informasi Pendataan Guru</a></b><br><br> <b><a href="http://localhost/SI_sarana" target="_blank" title="Sistem Informasi Pendataan Sarana dan Prasarana Sekolah">Sistem Informasi Pendataan Sarana Sekolah</a></b> </font></td> </tr> </table> </font> </td></tr> </table>
Gambar 4.33 Listing Halaman Utama
93
Gambar 4.34 menunjukkan tampilan halaman utama user global.
4.3.1.2 DATA SEKOLAH
Halaman data sekolah menampilkan semua data lengkap semua sekolah di seluruh
kabupaten. Gambar 4.35 menunjukkan listing program untuk halaman data sekolah.
<p><h2> DATA SEKOLAH</h2></p> <table border="0"><tr><td> <form action="siswa_persekolah.jsp"> Pilih Sekolah <br><select name="sekolah"> <%if (!ada_kesalahan) { ResultSet hasil = null; try {
Gambar 4.34 Tampilan Halaman Utama
94
Statement stm = koneksi.createStatement(); hasil = stm.executeQuery( "SELECT nosekolah,namasekolah from sekolah order by nosekolah"); } catch (Exception ex) { out.println("Kesalahan: " + ex); ada_kesalahan = true; } if (!ada_kesalahan) { out.println("<option selected> </option>"); try { while (hasil.next()) { out.println("<option value=\'"+hasil.getString("nosekolah")+"\'>" + hasil.getString("namasekolah") + "</option>"); } } catch (Exception ex) { out.println("Kesalahan: " + ex);} } }%> </select> <input type="submit" value="LIHAT"></form> </td> <td width="100"> </td> <td>Cari Berdasarkan Nama Sekolah <form action="cari_sekolah.jsp"> <input type="text" name="carisekolah" value=""> <input type="submit" value="CARI"> </form></td> </tr></table> <% if (!ada_kesalahan) { ResultSet hasilQuery = null; try { Statement stm = koneksi.createStatement(); hasilQuery = stm.executeQuery( "SELECT * FROM sekolah ORDER BY nosekolah"); } catch (Exception ex) { out.println("Kesalahan: " + ex); ada_kesalahan = true; } if (!ada_kesalahan) { out.println("<font size=1><div align=right><b><a href=print/print_datasekolah.jsp>Print Preview</a></b> </div></font><br>"); out.println("<FONT SIZE=2>"); out.println("<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0 WIDTH='98%'>"); out.println( "<TR><TH>NO SEKOLAH</TH><TH>NAMA SEKOLAH</TH><TH>ALAMAT</TH>" + "<TH>NO TELP SEKOLAH</TH><TH>STATUS</TH></TR>"); try { while (hasilQuery.next()) { String nosekolah = hasilQuery.getString("nosekolah"); String nip_ks = hasilQuery.getString("nip_ks"); String namasekolah = hasilQuery.getString("namasekolah"); String alamat = hasilQuery.getString("alamatsekolah"); String telpsekolah = hasilQuery.getString("notelpsekolah"); String status = hasilQuery.getString("statsekolah"); out.println("<TR ALIGN=CENTER><TD>" + nosekolah + "</TD><TD ALIGN=LEFT><a href=sekolah_detail.jsp?no="+nosekolah+"&nip_ks="+nip_ks+">" + namasekolah + "</a></TD><TD ALIGN=LEFT>" + alamat +</TD><TD>" + telpsekolah + </TD><TD>" + status + "</TD></TR>"); } }catch (Exception ex) {out.println("Kesalahan: " + ex); } out.println("</TABLE></FONT>"); }}}%>
Gambar 4.35 Listing Halaman Data Sekolah
95
Gambar 4.36 berikut ini menunjukkan tampilan dari halaman data sekolah.
4.3.1.3 DATA SISWA
Halaman data siswa menampilkan data-data siswa dari semua sekolah di seluruh
kabupaten. Listingnya dapat dilihat pada gambar 4.36 berikut ini.
<h2>DATA SISWA</h2><BR><BR> <table border="0" align="center"><tr align="center"><td> <form action="siswa_persekolah.jsp"> Pilih Sekolah <br><select name="sekolah"> <%if (!ada_kesalahan) { ResultSet hasil = null; try { Statement stm = koneksi.createStatement(); hasil = stm.executeQuery( "SELECT nosekolah,namasekolah from sekolah order by nosekolah"); } catch (Exception ex) { out.println("Kesalahan: " + ex); ada_kesalahan = true; } if (!ada_kesalahan) { out.println("<option selected> </option>");
Gambar 4.36 Tampilan Halaman Data Sekolah
96
try { while (hasil.next()) { out.println("<option value=\'"+hasil.getString("nosekolah")+"\'>" + hasil.getString("namasekolah") + "</option>"); } } catch (Exception ex) { out.println("Kesalahan: " + ex); } //out.println("</SELECT>"); } }%> </select> <input type="submit" value="LIHAT"></form> </td> <td width="30"> </td> <td>Cari Sekolah <form action="cari_sekolah.jsp"> <input type="text" name="carisekolah" value=""> <input type="submit" value="CARI"> </form> </td> <td width="30"> </td> <td>Cari Siswa <form action="cari_siswa.jsp"> <input type="text" name="carisiswa" value=""> <input type="submit" value="CARI"> </form> </td> </tr></table> <p> </p> <% if (!ada_kesalahan) { ResultSet hasilQuery = null; try { Statement stm = koneksi.createStatement(); hasilQuery = stm.executeQuery( "SELECT * FROM sekolah ORDER BY nosekolah"); } catch (Exception ex) { out.println("Kesalahan: " + ex); ada_kesalahan = true; } if (!ada_kesalahan) { out.println("<FONT SIZE=2>"); out.println("<p><h2> DATA SEKOLAH</h2></p>"); out.println("<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>"); out.println( "<TR><TH>NO SEKOLAH</TH><TH>NAMA SEKOLAH</TH><TH></TH>"); try { while (hasilQuery.next()) { String nosekolah = hasilQuery.getString("nosekolah"); String nip_ks = hasilQuery.getString("nip_ks"); String namasekolah = hasilQuery.getString("namasekolah"); String alamat = hasilQuery.getString("alamatsekolah"); String telpsekolah = hasilQuery.getString("notelpsekolah"); String status = hasilQuery.getString("statsekolah"); out.println("<TR ALIGN=CENTER><TD>" + nosekolah + "</TD><TD ALIGN=LEFT><a href=sekolah_detail.jsp?no="+nosekolah+"&nip_ks="+nip_ks+">" + namasekolah + "</a>"+ "<TD><a href=siswa_persekolah.jsp?sekolah="+nosekolah+">Lihat Siswa</a></TD></TR>"); } }
97
catch (Exception ex) { out.println("Kesalahan: " + ex); } out.println("</TABLE></FONT>"); } } } %>
Untuk melihat tampilan halaman data siswa, dapat dilihat pada gambar 4.37.
Gambar 4.36 Listing Halaman Data Siswa
Gambar 4.37 Tampilan Halaman Data Siswa
98
4.3.1.4 DETAIL NILAI
Halaman Detail Nilai menampilkan rekap nilai siswa pada masing-masing mata
pelajaran dalam tiap semester. Listing programnya ditampilkan pada gambar 4.38.
<h2>DATA SISWA</h2><BR><BR> <table border="0" align="center"><tr align="center"><td> <form action="siswa_persekolah.jsp"> Pilih Sekolah <br><select name="sekolah"> <%if (!ada_kesalahan) { ResultSet hasil = null; try { Statement stm = koneksi.createStatement(); hasil = stm.executeQuery( "SELECT nosekolah,namasekolah from sekolah order by nosekolah"); } catch (Exception ex) { out.println("Kesalahan: " + ex); ada_kesalahan = true; } if (!ada_kesalahan) { //out.println("<SELECT NAME=\"sekolah\">"); out.println("<option selected> </option>"); try { while (hasil.next()) { out.println("<option value=\'"+hasil.getString("nosekolah")+"\'>" + hasil.getString("namasekolah") + "</option>"); } } catch (Exception ex) { out.println("Kesalahan: " + ex); } } }%> </select> <input type="submit" value="LIHAT"></form> </td> <td width="30"> </td> <td>Cari Sekolah <form action="cari_sekolah.jsp"> <input type="text" name="carisekolah" value=""> <input type="submit" value="CARI"> </form> </td> <td width="30"> </td> <td>Cari Siswa <form action="cari_siswa.jsp"> <input type="text" name="carisiswa" value=""> <input type="submit" value="CARI">
99
</form> </td> </tr></table> <p> </p> <% if (!ada_kesalahan) { ResultSet hasilQuery = null; try { Statement stm = koneksi.createStatement(); hasilQuery = stm.executeQuery( "SELECT * FROM sekolah ORDER BY nosekolah"); } catch (Exception ex) { out.println("Kesalahan: " + ex); ada_kesalahan = true; } if (!ada_kesalahan) { out.println("<FONT SIZE=2>"); out.println("<p><h2> DATA SEKOLAH</h2></p>"); out.println("<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>"); out.println( "<TR><TH>NO SEKOLAH</TH><TH>NAMA SEKOLAH</TH><TH></TH>"); try { while (hasilQuery.next()) { String nosekolah = hasilQuery.getString("nosekolah"); String nip_ks = hasilQuery.getString("nip_ks"); String namasekolah = hasilQuery.getString("namasekolah"); String alamat = hasilQuery.getString("alamatsekolah"); String telpsekolah = hasilQuery.getString("notelpsekolah"); String status = hasilQuery.getString("statsekolah"); out.println("<TR ALIGN=CENTER><TD>" + nosekolah + "</TD><TD ALIGN=LEFT><a href=sekolah_detail.jsp?no="+nosekolah+"&nip_ks="+nip_ks+">" + namasekolah + "</a>"+ "<TD><a href=siswa_persekolah.jsp?sekolah="+nosekolah+">Lihat Siswa</a></TD></TR>"); } } catch (Exception ex) { out.println("Kesalahan: " + ex); } out.println("</TABLE></FONT>"); } } } %>
Gambar 4.38 Listing Halaman Detail Nilai Siswa
100
Sedangkan tampilannya dapat dilihat pada gambar 4.39 berikut ini.
Gambar 4.39 Tampilan Halaman Detail Nilai Siswa
101
4.3.1.5 KENAIKAN KELAS
Halaman kenaikan kelas menunjukkan siswa yang naik kelas tiap tahunnya. Listing
program ditampilkan pada gambar 4.40.
<% String nosekolah = request.getParameter("nosekolah"); Statement s = koneksi.createStatement(); ResultSet namaskol = s.executeQuery("select namasekolah from sekolah where nosekolah = \'" +nosekolah+ "\'"); namaskol.next(); String namasekolah = namaskol.getString("namasekolah"); String kelas = request.getParameter("kelas"); String semester = request.getParameter("semester"); String thnajaran = request.getParameter("thnajaran"); if (!ada_kesalahan) { ResultSet hasilQuery = null; try { Statement stm = koneksi.createStatement(); hasilQuery = stm.executeQuery( "SELECT s.*,h.*,d.*,n.* " + "FROM siswa s,historysiswa h,daftarnilai d,historykenaikan n " + "WHERE s.nis=h.nis AND h.idhs = d.idhs AND h.idhs = n.idhs AND d.semester = n.semester " + "AND h.kelas=\'"+kelas+"\' AND n.semester=\'"+semester+"\' " + "AND h.thnajaran=\'"+thnajaran+"\' GROUP BY s.nis,n.idhs ORDER BY n.jmlnilai desc"); } catch (Exception ex) { out.println("Kesalahan: " + ex); ada_kesalahan = true; } if (!ada_kesalahan) { out.println("<FONT SIZE=2>"); out.println("<p><h2> DAFTAR KENAIKAN KELAS<br>"+namasekolah.toUpperCase()+"</h2></p>"); out.println("<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 ALIGN=CENTER WIDTH='30%'>"); out.println("<TR><TD WIDTH='50%'>KELAS</TD><TD>:</TD><TD>"+kelas+"</TD></TR>"); out.println("<TR><TD WIDTH='30%'>SEMESTER</TD><TD>:</TD><TD>"+semester+"</TD></TR>"); out.println("<TR><TD>THN AJARAN</TD><TD>:</TD><TD>"+thnajaran+"</TD></TR>"); out.println("</TABLE>");
102
out.println("<P></P>"); out.println("<font size=1><div align=right><b><a href=print/print_kenaikanpersemester.jsp?nosekolah="+nosekolah+"&kelas="+kelas+"&thnajaran="+thnajaran+"&semester="+semester+">Print Preview</a></b> </div></font><br>"); out.println("<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>"); out.println( "<TR><TH>NIS</TH><TH>NAMA</TH><TH>JUMLAH NILAI</TH><TH></TH></TR>"); try { while (hasilQuery.next()) { String nis = hasilQuery.getString("nis"); String idhs = hasilQuery.getString("idhs"); String namasiswa = hasilQuery.getString("namasiswa"); String ketnaik = hasilQuery.getString("ketnaik"); String jmlnilai = hasilQuery.getString("jmlnilai"); out.println("<TR ALIGN=CENTER><TD>" + nis + //"</TD><TD ALIGN=LEFT><a href=nilai_siswa.jsp?nis=" + nis +"&kelas="+kelas+"&semester="+semester+"&thnajaran="+thnajaran+">" + namasiswa +"</a>"+ "</TD><TD align=left>" + namasiswa + "</TD><TD>" + jmlnilai + //"</TD><TD ALIGN=LEFT><a href=nilai_siswa.jsp?idhs=" + idhs +"&semester="+semester+">"+ketnaik+"</a>"+ "</TD><TD ALIGN=LEFT>"+ketnaik+ "</TD></TR>"); } } catch (Exception ex) { out.println("Kesalahan: " + ex); } out.println("</TABLE></FONT>"); } } } %>
Gambar 4.40 Listing kenaikan kelas
103
Tampilan halaman kenaikan kelas ditunjukkan pada gambar 4.41 berikut ini.
4.3.1.6 UPDATE DATABASE
Halaman update database dipergunakan untuk memasukkan data dari file, pada SIPG
Dinas file diambil dari disket. Listing yang digunakan adalah seperti ditunjukkan
gambar 4.42.
<% if (!ada_kesalahan){ if (!ada_kesalahan) { //ResultSet hasilQuery = null; try { Statement st = koneksi.createStatement(); st.executeUpdate("delete from siswa"); st.execute("load data infile \'A:/siswa.txt\'" + "into table siswa fields terminated by \',\'" +
Gambar 4.41 Tampilan kenaikan kelas
104
"lines terminated by \'\\n\'" + "(nis,nosekolah,namasiswa,ttlsiswa,jk,ketsiswa)"); out.println("<p> </p>Update data berhasil."); } catch (Exception ex) { //out.println("Kesalahan: " + ex); ada_kesalahan = true; out.println("<br><b>Update Data gagal.</b>"); } } } } %>
Tampilan halaman update database ditunjukkan pada gambar 4.43.
Gambar 4.42 Update database
Gambar 4.43 Tampilan Update database sukses
105
BAB V
ANALISA HASIL IMPLEMENTASI
Setelah mengimplementasikan perancangan sistem yang dibuat pada bab IV
dalam bentuk perangkat lunak, maka diperoleh hasil bahwa program dapat di
implementasikan dengan baik sesuai dengan rancangan yang telah dibuat. Secara
umum sistem yang dibuat dapat berjalan dengan baik.
5.1 KELEBIHAN SISTEM
Kelebihan-kelebihan yang terdapat pada sistem ini antara lain adalah sebagai
berikut :
1. Sistem ini mempermudah / membantu sekolah dan Dinas Pendidikan
Kabupaten untuk mendokumentasikan data pendidikan khususnya data siswa
dalam suatu database.
2. Mempermudah pencarian data siswa, misalnya berdasarkan bakat, prestasi,
nilai siswa, dan beasiswa yang diperoleh.
3. Dapat menyimpan dan mengupdate data masing-masing dengan
menggunakan satu tombol.
4. Terdapat fasilitas untuk mencetak laporan.
5.2 KEKURANGAN SISTEM
Adapun kekurangan dari sistem ini adalah :
106
1. Penyimpanan data ke dalam media penyimpanan sementara belum bisa
dilakukan dengan memilih lokasi penyimpanan, karena harus disimpan ke
dalam local disk terlebih dahulu, kemudian baru di-copy ke media
penyimpanan sementara yang diinginkan.
2. Penyimpanan file tidak bisa dilakukan jika dalam direktori yang dituju sudah
ada file dengan nama yang sama.
3. Proses update data dari file diawali dengan delete data terlebih dahulu.
4. File yang disimpan hanya bertipe text document saja (*.txt) dan nama file
sudah ditentukan secara default.
5.3 ANALISA TEKNOLOGI
Dalam implementasi sistem, teknologi yang digunakan adalah Netbeans
sebagai JSP editor, sangat mudah untuk menggunakannya karena sudah termasuk
web server Apache Tomcat, sehingga tidak perlu menginstal web server lagi. Untuk
menjalankan netbeans tersebut tidak membutuhkan ruang yang terlalu besar, yaitu
138.7 MB. Sedangkan database MySQL sangant menguntungkan karena daya
tampungnya sangat besar dan tidak memerlukan biaya untuk menginstalnya.
107
BAB VI
PENUTUP
6.1 KESIMPULAN
Kesimpulan secara umum yang dapat diambil setelah melakukan analisa dan
implementasi “Sistem Informasi Pendataan Siswa” adalah sebagai berikut :
1. Program dapat diimplementasikan dengan baik, yaitu komputerisasi
pendokumentasian data siswa dan hal-hal yang terkait.
2. Kelebihan sistem ini antara lain memudahkan pencarian siswa berdasarkan
bakat, prestasi, nilai siswa, beasiswa, tersedia pula fasilitas pencetakan
laporan, penyimpanan dan peng-update-an data menggunakan bantuan file
dan media penyimpanan sementara dengan menekan satu tombol saja.
3. Adapun kekurangan sistem ini yaitu dalam hal lokasi penyimpanan data yang
belum bisa ditentukan sendiri oleh user (dalam hal ini administrator), karena
lokasi penyimpanan ditentukan secara default di local disk. Selain itu, file
yang disimpan belum bisa dilakukan dalam berbagai tipe file, akan tetapi baru
bisa bertipe txt (text document) saja.
6.2 SARAN
Dari hasil analisa peneliti menyarankan beberapa hal berikut :
108
1. Sistem Informasi sebaiknya dibuat lebih cermat untuk melakukan perhitungan
nilai siswa.
2. Untuk penyimpanan data dari database ke media, sebaiknya dibuat supaya
user dapat menentukan sendiri lokasi penyimpanannya.
3. Sebaiknya nama dan tipe file yang akan disimpan bisa ditentukan sendiri oleh
user.
109
DAFTAR PUSTAKA
Buku : Deitel, H.M. dan H.J. Deitel. Java How To Program Fifth Edition. 2003. Prentice
Hall.
Hartono, Jogiyanto, MBA, Ph.D. 1999. Analisis dan Disain Sistem Informasi : Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis. ANDI Yogyakarta
Hernawan, Julius. 2003. Analisa-Desain dan Pemrograman Berorientasi Obyek dengan UML dan VB.NET. ANDI Yogyakarta
Kadir, Abdul. 2004. Dasar Pemrogaman Java 2. ANDI Yogyakarta.
Prasetuo, Didik Dwi. 2004. Tip dan Trik Pemrograman Java 2. PT Elek Media
Komputindo. Jakarta.
Priyanto, Rahmat. 2007. Belajar Sendiri Menguasai MySQL 5. PT. Elex Media
Komputindo. Jakarta.
Purnomo, Rangsang. 2003. Tuntunan Pemrograman Java Jilid 2. Prestasi Pustaka.
Jakarta.
Sanjaya, Ridwan dan Onno Purbo. 2002. Membangun Web dengan JSP. PT. Elex
Media Komputindo, Jakarta.
Internet: http://www.mysqlAB.com/
http://www.ukdw.ac.id/lecturer/budsus/
110
http://www.devarticles.com/c/a/MySQL/Backing-Up-Your-MySQL-Databases-With-
MySQLDump/
http://www.dotnetindex.com/articles/2174_Writing_Form_Data_to_Text_Files.asp
111