Upload
trandat
View
225
Download
0
Embed Size (px)
Citation preview
SKRIPSI
PERANCANGAN SISTEM PELAPORAN NILAI UJIAN SEKOLAH
BERSTANDAR NASIONAL PENDIDIKAN AGAMA ISLAM (USBN PAI)
BERBASIS WEB
(STUDI KASUS DIREKTORAT PENDIDIKAN AGAMA ISLAM PADA
SEKOLAH DIREKTORAT JENDERAL PENDIDIKAN ISLAM
KEMENTRIAN AGAMA RI)
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar
Sarjana Komputer
Oleh:
MUHAMAD MAWAHIB
NIM: 105091002916
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2011 M / 1432 H
ii
PERANCANGAN SISTEM PELAPORAN NILAI UJIAN SEKOLAH
BERSTANDAR NASIONAL PENDIDIKAN AGAMA ISLAM (USBN PAI)
BERBASIS WEB
(STUDI KASUS DIREKTORAT PENDIDIKAN AGAMA ISLAM PADA
SEKOLAH DIREKTORAT JENDERAL PENDIDIKAN ISLAM
KEMENTRIAN AGAMA RI)
SKRIPSI
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar
Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh:
Muhamad Mawahib
NIM: 105091002916
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2011 M / 1432 H
ii
PERANCANGAN SISTEM PELAPORAN NILAI UJIAN SEKOLAH
BERSTANDAR NASIONAL PENDIDIKAN AGAMA ISLAM (USBN PAI)
BERBASIS WEB
(Studi Kasus di Direktorat Pendidikan Agama Islam Pada Sekolah
Direktorat Jenderal Pendidikan Islam Kementrian Agama RI)
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer
Pada Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh:
MUHAMAD MAWAHIB
105091002916
Menyetujui,
Pembimbing I,
Khodijah Hulliyah, M.SiNIP. 19730402 200112 2 001
Pembimbing II,
Victor Amrizal, M.KomNIP. 150 411 288
Mengetahui,
Ketua Program Studi Teknik Informatika
Yusuf Durrachman, M. Sc, MITNIP. 19710522 200604 1 002
ii
PERANCANGAN SISTEM PELAPORAN NILAI UJIAN SEKOLAH
BERSTANDAR NASIONAL PENDIDIKAN AGAMA ISLAM (USBN PAI)
BERBASIS WEB
(Studi Kasus di Direktorat Pendidikan Agama Islam Pada Sekolah
Direktorat Jenderal Pendidikan Islam Kementrian Agama RI)
Skripsi Diajukan kepada Fakultas Sains dan Teknologi UIN Jakartauntuk Memenuhi Persyaratan Memperoleh Gelar Sarjana Komputer
Menyetujui,
Mengetahui,
Penguji 1
Herlino Nanang, MTNIP. 19731209 200501 1 002
Penguji 2
Yusuf Durachman, M.Sc, MITNIP. 19710522 200604 1 002
Pembimbing 1
Khodijah Hulliyah, M.SiNIP. 19730402 200112 2 001
Pembimbing 2
Victor Amrizal, M.KomNIP. 150 411 288
Dekan Fakultas Sains dan Teknologi
DR. Syopiansyah Jaya Putra, M.SisNIP. 19680117 200112 1 001
Ketua Prodi Teknik Informatika
Yusuf Durachman, M.Sc, MITNIP. 19710522 200604 1 002
ABSTRAK
Muhamad Mawahib – 105091002916. Perancangan Sistem Pelaporan Nilai Ujian Sekolah Berstandar Nasional Pendidikan Agama Islam (USBN PAI) Berbasis Web (Studi Kasus Direktorat Pendidikan Agama Islam Kementrian Agama RI). (Di bawah bimbingan Ibu Khodijah Huliyah dan Bapak Victor Amrizal)
Secara umum pelaksanaan Ujian Sekolah Berstandar Nasional Pendidikan Agama Islam (USBN PAI) bertujuan untuk meningkatkan mutu pendidikan agama Islam, sebagai bagian dari sistem pendidikan nasional. Evaluasi hasil USBN PAI menjadi sangat penting, terkait dengan tujuan ujian itu sendiri. Kementrian dituntut untuk mampu menangani dan mengevaluasi hasil yang didapatkan melalui USBN PAI ini. Untuk kepentingan mengelola nilai hasil USBN PAI seluruh Indonesia maka dibutuhkan sistem manajemen data yang dapat menampung dan mengolah data nilai. Saat ini data nilai yang dikumpulkan dan diolah belum terintegrasi ke dalam manajemen sistem yang baik, dan masih menggunakan proses manual. Selain itu data hanya diolah di kantor pusat saja, dan kantor wilayah hanya menjadi tempat pengumpulan berkas sebelum dikirimkan ke pusat, sehingga proses pengolahan menjadi cenderung lebih lamakarena terpusat pada satu titik dengan menunggu datangnya sumber data dari berbagai lokasi. Oleh karena itu perlu dikembangkan sistem untuk pelaporan nilai hasil USBN PAI yang lebih mudah dan dapat memenuhi kebutuhan pengguna baik di tingkat pusat maupun di tingkat daerah. Sistem yang dikembangkan ini merupakan aplikasi berbasis web yang menggunakan metode terstruktur dengan model pendekatan System Development Life Cycle Waterfall. Secara umum, sistem ini membantu proses penginputan data nilai hasil USBN dari setiap sekolah dan memudahkan user untuk mendapatkan informasi yang akurat dan relevan. Perangkat yang diperlukan dalam merancang sistem ini adalah PHP sebagai bahasa scripting, Apache Web Server dan MySQL sebagai pengolah database dengan menggunakan bundle software XAMPP.
Kata kunci : Web Based Application, System Development Life Cycle(SDLC), Waterfall, Ujian Sekolah Berstandar Nasional (USBN)
vi
HALAMAN PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-
BENAR ASLI KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN
SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI
ATAU LEMBAGA MANAPUN.
Jakarta, Juni 2011
Muhamad Mawahib
105091002916
vii
KATA PENGANTAR
Segala puji dan syukur penulis panjatkan kepada Allah SWT atas segala
karunia serta petunjuk-Nya sehingga penulis dapat menyelesaikan penulisan
skripsi yang berjudul Perancangan Sistem Pelaporan Nilai Ujian Ekolah
Berstandar Nasional Pendidikan Agama Islam (USBN PAI) Berbasis Web
(Studi Kasus di Direktorat Pendidikan Agama Islam Pada Sekolah
Direktorat Jenderal Pendidikan Islam Kementrian Agama RI) ini dengan
baik. Shalawat serta salam penulis sanjungkan kepada Baginda Nabi Muhammad
SAW, keluarga serta sahabat beliau.
Setelah terselesaikannya penulisan skripsi ini, penulis ingin mengucapkan
terima kasih kepada pihak-pihak yang telah membantu penulis, baik berupa
bimbingan, moril maupun materiil, yang penulis tujukan kepada:
1. DR. Syopiansyah Jaya Putra, M.Sis, selaku Dekan Fakultas Sains dan
Teknologi, UIN Syarif Hidayatullah Jakarta.
2. Yusuf Durachman, MIT, M.Sc, selaku Ketua Program Studi Teknik
Informatika, Fakultas Sains dan Teknologi, UIN Syarif Hidayatullah
Jakarta.
3. Viva Arifin, M.MSI, selaku Seketaris Program Studi Teknik Informatika,
Fakultas Sains dan Teknologi, UIN Syarif Hidayatullah Jakarta.
viii
4. Khodijah Hulliyah, M.Si, selaku dosen pembimbing I yang telah
memberikan pengarahan dan bimbingan dalam menyelesaikan penulisan
skripsi ini.
5. Victor Amrizal, M.Kom, selaku dosen pembimbing II yang telah
memberikan pengarahan dan masukan dalam menyelesaikan skripsi ini.
Penulis sadar bahwa penyusunan skripsi ini masih jauh dari sempurna,
seperti kata pepatah ”tiada gading yang tak retak”. Oleh karena itu penyusun
mengharapkan kritik dan saran yang bersifat membangun agar penyusunan skripsi
ini menjadi lebih baik lagi ke depannya.
Akhir kata, semoga skripsi ini bermanfaat khususnya kepada penulis
sendiri dan bagi yang membacanya.
Jakarta, Juni 2011
Penulis
ix
LEMBAR PERSEMBAHAN
Ya Allah Ya Rabbi
Ayahanda yang mulia
Ibunda yang tercinta titisan doa
Air mata dan peluh perjuanganmu
Telah membawaku memasuki gerbang masa depan
Dari rasa khawatir hingga rasa yakin
Aku mencoba bertahan atas nama ceritaku
Aku selalu yakin.............. dengan dukunganmu
Selalu, dan selalu ingin kuceritakan semua, tapi aku selalu kehabisan kata-kata
Mungkin untuk saat ini, hanya inilah yang mampu kubuktikan kepadamu
Bahwa aku tak pernah lupa pengorbananmu
Tak pernah lupa nasihat dan dukunganmu
Tak pernah lupa segalanya....... dan selamanya
Skripsi ini kupersembahkan seikhlasnya kepada : Bapakku (Tas’an) dan Emakku
(Karmi) yang tercinta serta saudara kandungku yang kusayangi (Irma nur
Octaviani) ”Your Smile are My Inspiration and Strength”
x
Dan penulis mengucapkan terima kasih kepada :
1. Dr. Halvian Lubis. SH. M.Ag. selaku Kepala Seksi Kurikulum dan
Evaluasi Pendidikan Agama Islam, Kementrian Agama RI yang telah
memberikan kesempatan kepada penulis untuk mengembangkan sistem
pelaporan nilai ini.
2. Drs Abdul Aziz Rofiq, M.Pd, selaku staff di Kementrian Agama yang
telah memberikan jalan kepada penulis dalam melakukan penelitian ini.
3. Kakakku Yeni Khairani Lubis, S.Kom, yang telah memberikan dorongan
semangat dan banyak referensi mengenai penulisan skripsi ini.
4. Pasruh Team MAN 4 tidak henti hentinya memberikan suntikan semangat
untuk menyelesaikan skripsi ini. Rasa terima kasih khusus penulis ucapkan
Akhi Tb. Ahmad Rofi’uddin yang selalu memantau perkembangan skripsi
ini.
5. Teman-teman TI/SI: Aryando, Mada, Rizal, Hafidz, Romdhan, Hadi,
Agung, Irzal, khususnya teman-teman seperjuangan dikelas TI-D 2005:
Mirza, Deni Zakya, Shodiq, Zanba, Hari, Ipul, Bayu, Mukhlis, Fahmi, Ery,
Zaki, Wildan, Adit, Khairin, Novan Dianita, Lia, Ale, Rindi, Nahtasya.
6. ISCA team SMK Al Amanah, (Junaedih, S.Kom, Sarbani, Khoirul Iman,
Fandi Ahmad Saktianto, Indra Lesmana) yang sudah mau berbagi
keilmuannya, semoga selalu saling berbagi.
xi
DAFTAR ISI
Halaman Judul ......................................................................................... i
Halaman Sampul ..................................................................................... ii
Lembar Pengesahan Pembimbing ........................................................... iii
Lembar Pengesahan Ujian ...................................................................... iv
Abstrak ..................................................................................................... v
Halaman Pernyataan ............................................................................... vi
Kata Pengantar ........................................................................................ vii
Lembar Persembahan .............................................................................. ix
Daftar Isi .................................................................................................. xi
Daftar Tabel ............................................................................................. xvi
Daftar Gambar ......................................................................................... xviii
BAB I PENDAHULUAN
1.1.Latar Belakang ......................................................................... 1
1.2.Perumusan Masalah .................................................................. 4
1.3.Pembatasan Masalah ................................................................. 4
1.4.Tujuan Penelitian ...................................................................... 5
1.5.Manfaat Penelitian .................................................................... 6
1.6.Metodologi Penelitian ............................................................... 6
1.7.Sistematika Penulisan ............................................................... 7
xii
BAB II LANDASAN TEORI
2.1. Sistem Informasi ...................................................................... 8
2.1.1. Pengertian Sistem ...................................................... 8
2.1.2. Pengertian Data dan Informasi .................................. 8
2.1.3. Pengertian Sistem Informasi ...................................... 10
2.2. USBN PAI ............................................................................... 11
2.2.1. Pengertian USBN PAI ............................................... 11
2.2.2. Tujuan dan Fungsi USBN PAI .................................. 11
2.2.3. Peserta USBN PAI .................................................... 12
2.2.4. Ruang Lingkup USBN PAI ....................................... 13
2.3. Web ........................................................................................ 14
2.3.1. Web Server ............................................................... 15
2.3.2. Web Browser ............................................................ 16
2.4. Konsep Dasar Waterfall ........................................................... 16
2.5. Komponen Perancangan Sistem ............................................... 18
2.5.1. Data Flow Diagram .................................................. 18
2.5.2. Entity Relational Diagram ......................................... 19
2.5.3. Flowchart ................................................................. 21
2.5.4. Normalisasi ............................................................... 23
2.5.5. Kamus Data .............................................................. 25
2.6. PHP ......................................................................................... 26
xiii
2.6.1. Kelebihan PHP .......................................................... 27
2.6.2. Dukungan PHP Terhadap Basis Data ........................ 28
2.7. Server Web Apache ................................................................. 29
2.8. MySQL ................................................................................... 30
2.8.1. Operasi dasar MySQL ............................................... 32
2.9. Profil Direktorat Pendidikan Islam Pada Sekolah ..................... 33
2.9.1. Visi dan Misi DITPAIS ............................................. 35
2.9.1.1. Visi ............................................................. 35
2.9.1.2. Misi ............................................................ 35
2.9.2. Indikator Keberhasilan
Pendidikan Agama Islam di Sekolah ......................... 36
2.10. Studi Sejenis .......................................................................... 37
BAB III METODOLOGI PENELITIAN
3.1. Pengertian Metodologi Peneltian ............................................. 41
3.2. Teknik Pengumpulan Data ....................................................... 41
3.2.1. Observasi .................................................................. 41
3.2.2. Wawancara ............................................................... 42
3.2.3. Studi Pustaka ............................................................ 43
3.2.4. Studi Sejenis ............................................................. 43
3.3. Metodologi Pengembangan Sistem .......................................... 43
BAB IV HASIL DAN PEMBAHASAN
xiv
4.1. Communication ....................................................................... 47
4.1.1. Uraian Sistem Berjalan .............................................. 47
4.1.2. Analisis Kebutuhan ................................................... 50
4.1.3. Kebutuhan Perangkat ................................................ 57
4.2. Planning .................................................................................. 58
4.3. Modelling ................................................................................ 59
4.3.1. Context Diagram ....................................................... 59
4.3.2. DFD .......................................................................... 61`
4.3.2.1. DFD Level 1 ............................................... 61
4.3.2.2. DFD Level 2 ............................................... 62
4.3.2.2.1. DFD Level 2 Proses 1 .................. 62
4.3.2.2.2 DFD Level 2 Proses 2 ................. 63
4.3.2.2.3 DFD Level 2 Proses 3 ................. 64
4.3.2.2.4 DFD Level 2 Proses 4 ................. 66
4.3.2.2.5 DFD Level 2 Proses 5 ................. 67
4.3.3. ERD .......................................................................... 67
4.3.4. Normalisasi ............................................................... 68
4.3.4.1. Bentuk Tidak Normal ................................. 69
4.3.4.2. Bentuk Normal 1 ........................................ 69
4.3.4.3. Bentuk Normal 2 ........................................ 71
4.3.5. Kamus Data .............................................................. 72
4.3.6. Perancangan STD ...................................................... 80
4.3.6.1. STD Menu Utama ....................................... 80
xv
4.3.6.2. STD Modul Masukan (Input ) ..................... 82
4.3.7. Perancangan Antarmuka (Interface) .......................... 87
4.3.7.1. Perancangan Antarmuka Halaman Provinsi.. 87
4.3.7.2. Perancangan Antarmuka Halaman Kabupaten 90
4.3.7.3. Perancangan Antarmuka Halaman Sekolah . 94
4.3.7.4. Perancangan Antarmuka Halaman Siswa .... 96
4.3.7.5. Perancangan Antarmuka Halaman Registrasi 101
4.3.7.6. Perancangan Antarmuka Halaman Login ..... 102
4.3.7.7. Perancangan Antarmuka Halaman
Lupa Password ............................................. 102
4.4. Construction ............................................................................ 103
4.4.1. Pengkodean Sistem ................................................... 104
4.4.1.1. Pembuatan Kode Sistem ............................. 104
4.4.1.2. Pembuatan Antarmuka Sistem .................... 105
4.4.2. Pengujian Sistem ....................................................... 105
4.5. Development ............................................................................ 114
BAB V PENUTUP
5.1. Kesimpulan ............................................................................. 115
5.2. Saran ....................................................................................... 116
DAFTAR PUSTAKA ............................................................................... 117
LAMPIRAN
ii
DAFTAR GAMBAR
Gambar 2.1. Data, Proses, dan Informasi .................................................... 10
Gambar 2.2. Model Sekuensial Linier ........................................................ 16
Gambar 3.1. Model Sekuensial Linier ........................................................ 44
Gambar 4.1. Flowchart Sistem Berjalan ..................................................... 49
Gambar 4.2. Flowchart Sistem yang Diusulkan .......................................... 52
Gambar 4.3. Flowchart Input Provinsi ........................................................ 53
Gambar 4.4. Flowchart Input Kabupaten .................................................... 54
Gambar 4.5. Flowchart Input Sekolah ........................................................ 55
Gambar 4.6. Flowchart Input Siswa dan Nilai ............................................ 56
Gambar 4.7. Diagram Konteks ................................................................... 59
Gambar 4.8. DFD Level 1 .......................................................................... 61
Gambar 4.9. DFD Level 2 Proses 1 ............................................................ 62
Gambar 4.10. DFD Level 2 Proses 2 .......................................................... 64
Gambar 4.11. DFD Level 2 Proses 3 .......................................................... 65
Gambar 4.12. DFD Level 2 Proses 4 .......................................................... 66
Gambar 4.13. DFD Level 2 Proses 5 .......................................................... 67
Gambar 4.14 Entity Relational Diagram (ERD) ......................................... 68
Gambar 4.15. Tabel Tidak Normal ............................................................. 69
Gambar 4.16. Bentuk Normal 1 .................................................................. 71
Gambar 4.17. Bentuk Normal 2 .................................................................. 72
Gambar 4.18. STD Menu Utama User Admin ............................................ 80
iii
Gambar 4.19. STD Menu Utama User ........................................................ 81
Gambar 4.20. STD Input Modul Provinsi ................................................... 82
Gambar 4.21. STD Input Modul Kabupaten ............................................... 83
Gambar 4.22. STD Input Modul Sekolah ................................................... 83
Gambar 4.23. STD Input Modul Siswa User Admin ................................... 85
Gambar 4.24. STD Input Modul Siswa User Sekolah ................................. 86
Gambar 4.25. Antarmuka Halaman Provinsi Level Admin ......................... 88
Gambar 4.26. Antarmuka Input Provinsi .................................................... 89
Gambar 4.27. Antarmuka Halaman Provinsi Level User ............................ 90
Gambar 4.28. Antarmuka Halaman Kabupaten Level Admin ..................... 92
Gambar 4.29. Antarmuka Input Kabupaten ................................................ 92
Gambar 4.30. Antarmuka Halaman Kabupaten Level User ........................ 93
Gambar 4.31. Antarmuka Halaman Sekolah Level Admin ......................... 94
Gambar 4.32. Antarmuka Halaman Input Sekolah ...................................... 95
Gambar 4.33. Antarmuka Halaman Sekolah level User .............................. 96
Gambar 4.34. Antarmuka Halaman Siswa Level Admin ............................. 97
Gambar 4.35. Antarmuka Halaman Siswa Level Sekolah ........................... 98
Gambar 4.36. Antarmuka Halaman Input Siswa ......................................... 99
Gambar 4.37. Antarmuka Halaman Upload Siswa ...................................... 99
Gambar 4.38. Antarmuka Halaman Siswa Level User ................................ 100
Gambar 4.39. Antarmuka Halaman Registrasi ............................................ 101
Gambar 4.40. Antarmuka Halaman Login .................................................. 102
Gambar 4.41. Antarmuka Halaman Lupa Password ................................... 103
xviii
DAFTAR GAMBAR
Gambar 2.1. Data, Proses, dan Informasi .................................................... 10
Gambar 2.2. Model Sekuensial Linier ........................................................ 16
Gambar 3.1. Model Sekuensial Linier ........................................................ 44
Gambar 4.1. Flowchart Sistem Berjalan ..................................................... 49
Gambar 4.2. Flowchart Sistem yang Diusulkan .......................................... 52
Gambar 4.3. Flowchart Input Provinsi ........................................................ 53
Gambar 4.4. Flowchart Input Kabupaten .................................................... 54
Gambar 4.5. Flowchart Input Sekolah ........................................................ 55
Gambar 4.6. Flowchart Input Siswa dan Nilai ............................................ 56
Gambar 4.7. Diagram Konteks ................................................................... 59
Gambar 4.8. DFD Level 1 .......................................................................... 61
Gambar 4.9. DFD Level 2 Proses 1 ............................................................ 62
Gambar 4.10. DFD Level 2 Proses 2 .......................................................... 64
Gambar 4.11. DFD Level 2 Proses 3 .......................................................... 65
Gambar 4.12. DFD Level 2 Proses 4 .......................................................... 66
Gambar 4.13. DFD Level 2 Proses 5 .......................................................... 67
Gambar 4.14 Entity Relational Diagram (ERD) ......................................... 68
Gambar 4.15. Tabel Tidak Normal ............................................................. 69
Gambar 4.16. Bentuk Normal 1 .................................................................. 71
Gambar 4.17. Bentuk Normal 2 .................................................................. 72
Gambar 4.18. STD Menu Utama User Admin ............................................ 80
xix
Gambar 4.19. STD Menu Utama User ........................................................ 81
Gambar 4.20. STD Input Modul Provinsi ................................................... 82
Gambar 4.21. STD Input Modul Kabupaten ............................................... 83
Gambar 4.22. STD Input Modul Sekolah ................................................... 83
Gambar 4.23. STD Input Modul Siswa User Admin ................................... 85
Gambar 4.24. STD Input Modul Siswa User Sekolah ................................. 86
Gambar 4.25. Antarmuka Halaman Provinsi Level Admin ......................... 88
Gambar 4.26. Antarmuka Input Provinsi .................................................... 89
Gambar 4.27. Antarmuka Halaman Provinsi Level User ............................ 90
Gambar 4.28. Antarmuka Halaman Kabupaten Level Admin ..................... 92
Gambar 4.29. Antarmuka Input Kabupaten ................................................ 92
Gambar 4.30. Antarmuka Halaman Kabupaten Level User ........................ 93
Gambar 4.31. Antarmuka Halaman Sekolah Level Admin ......................... 94
Gambar 4.32. Antarmuka Halaman Input Sekolah ...................................... 95
Gambar 4.33. Antarmuka Halaman Sekolah level User .............................. 96
Gambar 4.34. Antarmuka Halaman Siswa Level Admin ............................. 97
Gambar 4.35. Antarmuka Halaman Siswa Level Sekolah ........................... 98
Gambar 4.36. Antarmuka Halaman Input Siswa ......................................... 99
Gambar 4.37. Antarmuka Halaman Upload Siswa ...................................... 99
Gambar 4.38. Antarmuka Halaman Siswa Level User ................................ 100
Gambar 4.39. Antarmuka Halaman Registrasi ............................................ 101
Gambar 4.40. Antarmuka Halaman Login .................................................. 102
Gambar 4.41. Antarmuka Halaman Lupa Password ................................... 103
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Teknologi informasi berkembang dengan pesat, terlebih dengan adanya
internet. Melalui internet, informasi dapat didistribusikan dalam waktu singkat.
Dengan kata lain teknologi informasi berbasis komputer dengan dukungan
internet sebagai media komunikasi cenderung dapat memenuhi kebutuhan
informasi yang akurat dalam tempo singkat karena internet melambangkan
penyebaran informasi dan data secara ekstrim (Wikipedia, 2011).
Perkembangan teknologi informasi berdampak positif pada perkembangan
teknologi web. Pada saat ini, web tidak hanya berfungsi menampilkan informasi,
namun juga mampu untuk menangani dan mengolah data menjadi informasi.
Proses pengolahan informasi dengan memanfaatkan teknologi web inilah yang
menyebabkan web menjadi media yang dinamis.
Ujian Sekolah Berstandar Nasional Pendidikan Agama Islam (USBN PAI)
adalah ujian akhir sekolah mata pelajaran Pendidikan Agama Islam (PAI) yang
memenuhi kualitas standar nasional dan dilaksanakan oleh satuan pendidikan pada
setiap jenjang pendidikan. Tujuan dari ujian ini antara lain adalah sebagai salah
satu dasar pertimbangan kelulusan siswa, dan merupakan umpan balik untuk
perbaikan program pembelajaran Pendidikan Agama Islam (PAI) pada sekolah
(Kemenag, 2010 : 31).
2
Direktorat Pendidikan Agama Islam pada Sekolah (DITPAIS) Kementrian
Agama RI merupakan salah satu Direktorat pada Direktorat Jenderal Pendidikan
Islam Kementrian Agama Republik Indonesia yang secara struktural diatur dalam
PMA No. 3 tahun 2006. Fungsi, tugas, dan tanggung jawab Direktorat Pendidikan
Agama Islam pada Sekolah (DITPAIS) adalah untuk meningkatkan kualitas
pendidikan agama Islam pada sekolah. Secara filosofi ideologis dan
konstitusional, Direktorat Pendidikan Agama Islam pada Sekolah (DITPAIS)
memiliki peran yang sangat strategis sebagaimana tertuang pada pasal 28 ayat (1)
yang menyatakan bahwa setiap orang bebas memeluk agama dan beribadat
menurut agamanya, memilih pendidikan dan pengajaran (Kemenag, 2011).
Demikian halnya tuntutan UU. No. 20 tahun 2003 bahwa tujuan pendidikan
nasional adalah untuk berkembangnya potensi peserta didik agar menjadi manusia
yang beriman dan bertaqwa kepada Tuhan Yang Maha Esa, berakhlak mulia,
sehat, berilmu, cakap, kreatif, mandiri dan menjadi warga negara yang demokrasi
serta bertanggung jawab.
Salah satu rencana strategis yang dijalankan oleh Direktorat Pendidikan
Agama Islam pada Sekolah (DITPAIS) adalah pengembangan kurikulum dan
evaluasi (Kemenag, 2011). Salah satu kegiatan dalam pengembangan kurikulum
dan evaluasi ini adalah analisis nilai Ujian Sekolah Berstandar Nasional
Pendidikan Agama Islam (USBN PAI). Direktorat Pendidikan Agama Islam pada
Sekolah (DITPAIS) dituntut untuk mampu untuk mengumpulkan dan
menganalisis hasil ujian dengan cakupan wilayah dari Sabang sampai Merauke.
3
Cakupan wilayah yang luas inilah menjadi salah satu kendala yang cukup
berarti dalam rekapitulasi hasil ujian. Hasil ujian Pendidikan Agama Islam (PAI)
dari daerah terkadang sampai ke pusat melebihi waktu yang ditentukan sehingga
data yang dikirim tersebut tidak masuk sebagai data yang diolah. Seluruh provinsi
mengirimkan hasil ujian dari wilayahnya dalam bentuk rekapitulasi tertulis
lengkap dengan nama peserta Ujian Sekolah Berstandar Nasional Pendidikan
Agama Islam (USBN PAI) dan nilainya. Nilai hasil ujian ini dikirimkan melalui
jasa pengiriman barang atau kurir, sehingga ada jeda waktu pengiriman dari
masing-masing daerah kepada Kementrian Agama. Pada akhirnya semua nilai
sampai kepada Kementrian Agama dalam waktu yang berbeda-beda. Hal ini
menyebabkan kesulitan untuk melakukan pengolahan nilai menjadi data statistika
yang dibutuhkan oleh Kementrian Agama sebagai bahan evaluasi.
Penulis berencana menggunakan media web sebagai sarana untuk
melakukan input data nilai sehingga nilai akan langsung diolah oleh sistem. Pada
akhirnya setelah semua daerah penyelenggara Ujian Sekolah Berstandar Nasional
Pendidikan Agama Islam (USBN PAI) melakukan input data dari daerahnya
masing-masing, sistem secara otomatis akan melakukan perhitungan nilai dan
menampilkannya dalam bentuk grafik, serta dapat dicetak dalam format dokumen
tertentu, sehingga dapat dilakukan analisis sesuai data yang muncul dari sistem
dan dapat segera diambil tindakan untuk menyikapi hasil yang ditampilkan oleh
sistem.
4
Oleh karena itulah penulis tertarik untuk mengambil judul sesuai dengan
penjabaran yang penulis utarakan, yaitu Perancangan Sistem Pelaporan Nilai
Ujian Sekolah Berstandar Nasional Pendidikan Agama Islam (USBN PAI)
Berbasis Web dengan Studi Kasus di Direktorat Pendidikan Agama Islam
Pada Sekolah Direktorat Jenderal Pendidikan Islam Kementrian Agama
Republik Indonesia.
1.2. Perumusan Masalah
Penulis merumuskan masalah dalam skripsi ini yaitu membuat sebuah
sistem yang mampu melayani pelaporan nilai USBN PAI menggunakan media
web secara efektif dan cepat, mampu menampilkannya kembali berupa
perhitungan total maupun perhitungan secara rinci disertai dengan tampilan
grafik, dan juga mampu untuk menghasilkan laporan dalam format dokumen
tertentu, sehingga memudahkan tim analisis untuk menganalisis hasil yang
ditampilkan oleh sistem.
1.3.Pembatasan Masalah
Dalam penulisan skripsi ini, penulis membatasi masalah yang akan penulis
bahas sebagai berikut :
1. Sistem ini adalah sistem pengolahan data nilai yang hasilnya dapat
dimanfaatkan sebagai salah satu parameter pengambilan keputusan dalam
evaluasi hasil USBN PAI oleh Kementrian Agama.
5
2. Data pengujian terhadap sistem adalah berupa simulasi, karena data yang
penulis teliti berbeda kriteria dengan data yang penulis butuhkan dalam sistem
ini.
3. Simulasi pengujian akan difokuskan pada satu jenjang pendidikan.
1.4. Tujuan Penelitian
Tujuan dibuatnya sistem ini adalah:
1. Membuat sistem pelaporan nilai yang efektif, sehingga mengurangi faktor
keterlambatan data yang sebelumnya terjadi pada sistem pelaporan manual.
2. Membuat sebuah sistem yang mampu menangani dan mengolah data nilai
hasil Ujian Sekolah Berstandar Nasional Pendidikan Agama Islam (USBN
PAI).
3. Menganalisis sistem yang ada (current system) pada Direktorat Pendidikan
Agama Islam pada Sekolah.
4. Merancang sistem baru yang mampu menunjang kinerja Direktorat
Pendidikan Agama Islam pada Sekolah.
6
1.5. Manfaat Penelitian
Manfaat penelitian yang penulis lakukan adalah :
1. Menjadi referensi bagi penelitian berikutnya, di bidang pengembangan sistem
informasi.
2. Dapat Memahami konsep pelaporan nilai Ujian Sekolah Berstandar Nasional
Pendidikan Agama Islam (USBN PAI).
3. Dapat memahami konsep sistem informasi manajemen database dari
pengolahan data nilai mata pelajaran Pendidikan Agama Islam.
1.6. Metodologi Penelian
Metode penelitian yang penulis lakukan terdiri dari metode pengumpulan
dana dan metode pengembangan aplikasi. Metode pengumpulan data terdiri dari
aktivitas berikut ini.
1. Observasi
2. Wawancara
3. Studi Pustaka
4. Studi Sejenis
Metode pengembangan sistem yang penulis gunakan dalam penyusunan
skripsi ini adalah dengan metode Software Development Life Cycle (SDLC)
dengan menggunakan proses model Waterfall.
7
1.7. Sistematika Penulisan
Dalam skripsi ini, pembahasan yang penulis sajikan terbagi dalam lima
bab, yang secara singkat akan diuraikan sebagai berikut :
BAB I PENDAHULUAN
Bab ini berisi latar belakang penelitian, perumusan masalah, pembatasan
masalah, tujuan dan manfaat penelitian, metodologi penelitian dan sistematika
penulisan.
BAB II LANDASAN TEORI
Bab ini membahas teori-teori yang mendukung penelitian skripsi.
BAB III METODOLOGI PENELITIAN
Bab ini menjelaskan metodologi yang penulis gunakan dalam melakukan
penelitian.
BAB IV PEMBAHASAN
Dalam bab ini diuraikan hasil analisis dan perancangan dari aplikasi yang
dibuat.
BAB V PENUTUP
Bab ini adalah bab terakhir yang menyajikan kesimpulan serta saran yang
dihasilkan dari uraian bab sebelumnya.
8
BAB II
LANDASAN TEORI
2.1. Sistem Informasi
2.1.1. Pengertian Sistem
Sistem adalah perangkat unsur yg secara teratur saling berkaitan
sehingga membentuk suatu totalitas. Dengan kata lain sistem adalah
kumpulan dari komponen atau elemen yang saling berhubungan satu dengan
lainnya membentuk satu kesatuan untuk mencapai tujuan tertentu (Jogiyanto,
2005:2).
Definisi di atas menunjukkan bahwa sistem sebagai gugus dari elemen-
elemen yang saling berinteraksi secara teratur dalam rangka mencapai tujuan
atau subtujuan (Marimin, 2008:1).
Dalam bidang sistem informasi, sistem diartikan sebagai sekelompok
komponen yang saling berhubungan, bekerja sama untuk mencapai tujuan
bersama dengan menerima input serta menghasilkan output dalam proses
transformasi yang teratur (Mulyanto, 2009:2).
2.1.2. Pengertian Data dan Informasi
Menurut Laudon dan Laudon data adalah fakta-fakta mentah yang
mewakili kejadian-kejadian yang berlangsung dalam organisasi atau
lingkungan fisik sebelum ditata dan diatur ke dalam bentuk yang dapat
dipahami dan digunakan orang. Menurut Wilkinson data adalah fakta, angka,
9
bahkan simbol mentah, secara bersama-sama merupakan masukan bagi suatu
sistem informasi (Kadir, 2009 : 3).
Informasi adalah data yang diolah menjadi bentuk yang lebih berguna
dan lebih berarti bagi penerimanya (Jogiyanto, 2005: 8). Menurut McFadden
informasi merupakan data yang telah diolah sedemikian rupa sehingga
meningkatkan pengetahuan seseorang yang menggunakan data tersebut
(Mulyanto, 2009:17).
Sejumlah faktor yang mempengaruhi kualitas informasi, yaitu
(Mulyanto, 2009:20) :
1. Akurat, berarti informasi harus bebas dari kesalahan-kesalahan dan tidak
menyesatkan bagi orang yang menerima informasi tersebut. Ketidak
akuratan sebuah informasi dapat terjadi karena sumber informasi (data)
mengalami gangguan sehingga merusak atau mengubah data-data asli
tersebut.
2. Tepat waktu, informasi yang diterima harus tepat pada waktunya, sebab
informasi yang usang (terlambat) tidak mempunyai nilai yang baik,
sehingga bila digunakan sebagai dasar dalam pengembilan keputusan akan
berakibat fatal bagi perusahaan.
3. Relevan, informasi harus mempunyai manfaat bagi penerima.
10
Gambar 2.1. Data, Proses, dan Informasi
(Sumber : Kadir, 2009:5)
2.1.3. Pengertian Sistem Informasi
Menurut Alter pengertian sistem informasi adalah kombinasi antara
prosedur kerja, informasi, orang dan teknologi informasi yang
diorganisasikan untuk mencapai tujuan dalam sebuah organisasi (Kadir, 2009:
7). Dalam sumber lain Robert A. Leitch dan K. Roscoe Davis mendefinisikan
sistem informasi sebagai berikut:
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-laporan yang diperlukan (Jogiyanto, 2005:11).
Turban, McLean, danWaterbe (1999) dalam buku Information
Technology for Management Making Connection for Strategies Advantages
mendefinisikan sistem informasi sebagai sistem yang mengumpulkan,
memproses, menyimpan, menganalisis, dan menyebarkan informasi untuk
tujuan yang spesifik (Mulyanto, 2009:29).
11
Menurut Mulyanto (Mulyanto, 2009:29) sistem informasi merupakan
suatu komponen yang terdiri dari manusia, teknologi informasi, dan prosedur
kerja yang memproses, menyimpan, menganalisis dan menyebarkan
informasi untuk mencapai suatu tujuan.
2.2. Ujian Sekolah Berstandar Nasional Pendidikan Agama Islam
(USBN PAI)
2.2.1. Pengertian USBN PAI
Ujian Sekolah Berstandar Nasional Pendidikan Agama Islam (USBN
PAI) merupakan ujian akhir sekolah mata pelajaran Pendidikan Agama
Islam yang memenuhi kualitas standar nasional dan dilaksanakan oleh
satuan pendidikan pada setiap jenjang pendidikan (Kemenag, 2010 : 31).
2.2.2. Tujuan dan Fungsi USBN PAI
Secara umum pelaksanaan Ujian Sekolah Berstandar Nasional
Pendidikan Agama Islam (USBN PAI) bertujuan untuk meningkatkan mutu
pendidikan agama Islam, sebagai bagian dari sistem pendidikan nasional
(Kemenag, 2010 : 31). Lebih rinci tujuan Ujian Sekolah Berstandar
Nasional Pendidikan Agama Islam (USBN PAI) ini dapat diuraikan sebagai
berikut:
1. Meningkatkan kewibawaan Pendidikan Agama Islam (PAI) sebagai
salah satu mata pelajaran pada tingkat satuan pendidikan.
12
2. Meningkatkan motivasi dan kesungguhan peserta didik dalam
mempelajari Pendidikan Agama Islam (PAI).
3. Mengevaluasi kinerja satuan pendidikan melalui pemetaan berdasarkan
pencapaian hasil belajar, baik pada tingkat kabupaten/kota, provinsi, dan
nasional.
4. Meningkatkan kualitas proses pembelajaran Pendidikan Agama Islam
(PAI) (Kemenag, 2010 : 31).
Sedangkan fungsi Ujian Sekolah Berstandar Nasional Pendidikan
Agama Islam (USBN PAI) adalah :
1. Salah satu dasar pertimbangan dalam penentuan kelulusan.
2. Umpan balik untuk perbaikan program pembelajaran Pendidikan Agama
Islam (PAI) pada sekolah.
3. Peningkatan apresiasi masyarakat terhadap Pendidikan Agama Islam
(PAI).
4. Motivasi pembelajaran Pendidikan Agama Islam (PAI) bagi peserta
didik dan pendidik (Kemenag, 2010 : 31).
2.2.3. Peserta USBN PAI
Berikut ini adalah persyaratan untuk menjadi peserta USBN PAI
(Kemenag, 2010 : 2)
1. Peserta adalah siswa yang beragama Islam kelas terakhir yang terdaftar
pada satuan pendidikan.
13
2. Untuk mengikuti USBN PAI, peserta harus memiliki buku laporan
penilaian hasil belajar pada satuan pendidikan.
3. Peserta USBN PAI karena alasan tertentu dan disertai bukti yang sah
tidak dapat mengikuti USBN PAI di satuan pendidikan yang
bersangkutan, dapat mengikuti USBN PAI di satuan pendidikan lain
pada jenjang dan jenis yang sama atau pada tempat lain yang ditentukan
sebagai penyelenggara ujian.
4. Peserta USBN PAI yang karena alasan tertentu dan disertai bukti yang
sah tidak dapat mengikuti USBN PAI utama dapat mengikuti USBN
PAI susulan sesuai aturan sekolah.
2.2.4. Ruang Lingkup USBN PAI
Ruang lingkup Ujian Sekolah Berstandar Nasional Pendidikan
Agama Islam (USBN PAI) adalah :
1. Aspek kognitif, yakni aspek pengetahuan peserta didik. Alat evaluasi
aspek kognitif berupa ujian tertulis.
2. Aspek prikomotorik, yakni aspek ketrampilan peserta didik
melaksanakan materi ibadah yang bersifat praktik. Alat evaluasi aspek
ini adalah materi ujian praktik yang harus direspon peserta didik dalam
bentuk unjuk kemampuan dihadapan penguji.
3. Aspek afektf, berupa akhlak mulia menjadi bagian evaluasi guru
Pendidikan Agama Islam (PAI) (Kemenag, 2010 : 31).
14
Aspek kognitif diuji melalui Ujian Sekolah Berstandar Nasional
Pendidikan Agama Islam (USBN PAI) yang soalnya terdiri dari 25 % butir
soal yang disebut anchor item, yaitu soal yang telah disahkan oleh Badan
Standar Nasional Pendidikan (BSNP) yang sebelumnya disusun oleh tim
penyusun soal, ditambah oleh 75 % soal yang disusun oleh Tim Penyusun
Ujian Sekolah Berstandar Nasional Pendidikan Agama Islam (USBN PAI)
tingkat provinsi. Aspek Psikomotrik diuji dengan melakukan praktikum
Pendidikan Agama Islam (PAI) yang pengujinya ditunjuk oleh
penyelenggara Ujian Sekolah Berstandar Nasional Pendidikan Agama Islam
(USBN PAI) tingkat provinsi. Aspek akhlak mulia dinilai berdasarkan
penilaian yang dilakukan oleh guru Pendidikan Agama Islam (PAI) masing-
masing sekolah (Kemenag, 2010 : 46).
2.3. Web
Web merupakan sekumpulan dokumen yang dipublikasi melalui jaringan
internet maupun intranet sehingga dapat diakses oleh user melalui web browser
(Sardi, 2005 : 4). Menurut kamus jaringan computer web adalah bagian dari
internet yang mencakup semua sumberdaya dan pengguna yang menggunakan
HTTP (Wahana, 2004: 534).
Web menggunakan protokol yang disebut HTTP (HyperText Transfer
Protocol) yang berjalan pada TCP/IP. Adapun dokumen web ditulis dalam format
HTML (HyperText Markup Language). Dokumen ini diletakkan dalam web
server (server yang melayani permintaan halaman web) dan diakses oleh klien
15
(pengakses informasi) melalui perangkat lunak yang disebut web browser atau
sering disebut browser saja.
2.3.1. Web Server
Web server adalah perangkat keras dan perangkat lunak yang
digunakan untuk menyimpan dan mengirim dokumen untuk digunakan
dalam word wide web (Misky, 2005 : 228).
Web server merupakan suatu aplikasi pusat komputer yang
mengirimkan informasi yang disimpan dalam bentuk file HTML (Hyper
Text Markup Languange) yang membentuk website. Biasanya Web Server
adalah media tempat seseorang membuat website. Server merupakan
semacam pemandu dimana harus mencari website dan memberitahukan
letak halaman yang harus di perlihatkan pada browser.
Server berisi informasi website dan program-program yang
memungkinkan browser melihat informasi dan mengontrol sembarang
perintah yang telah disertakan dalam web page tersebut, karena beberapa
alasan yaitu akses informasi mudah, set-up server lebih mudah, informasi
lebih mudah di distribusikan, dan bebas platform, yaitu informasi dapat
disajikan oleh web browser pada sistem operasi mana saja karena adanya
standar dokumen berbagai tipe data yang dapat disajikan.
Contoh web server antara lain adalah apache web server dan
Internet Information Services (IIS) server.
16
2.3.2. Web Browser
Web Browser adalah aplikasi yang digunakan untuk mengakses
web (Misky, 2005 : 38).
Web Browser merupakan program aplikasi yang digunakan untuk
memperoleh informasi dengan format hypertext. Web browser akan
mengirimkan request ke web server, dan menampilkan hasilnya
kepengguna. Beberapa contoh browser antara lain Mozilla Firefox, Google
Chrome, Opera, Safari, dan Internet Explorer.
2.4. Konsep Dasar Waterfall
Dalam pengembangan sistem pelaporan berbasis web ini, penulis
menggunakan metode terstruktur dengan model pendekatan SDLC (System
Development Life Cycle), yaitu pendekatan melalui beberapa tahap untuk
menganalisis dan merancang sistem berdasarkan siklus kegiatan penganalisis dan
pemakai secara spesifik (Mulyanto, 2009: 243).
Gambar 2.2. Model Sekuensial Linier
(Sumber : Pressman, 2005:79)
Model proses sekuensial linier sering disebut juga dengan ”siklus
kehidupan klasik” atau ”model air terjun (Waterfall)” merupakan SDLC model
klasik yang melingkupi aktivitas-aktivitas sebagai berikut (Pressman, 2005:79):
17
1. Communication
Kegiatan pada tahapan komunikasi ini adalah inisiasi proyek dan juga
merencanakan berbagai kebutuhan yang akan dibutuhkan di dalam proyek.
2. Planning
Pada tahap ini dilakukan estimasi waktu pengerjaan proyek, dan
penjadwalan agar proyek dapat diselesaikan tepat waktu.
3. Modeling
Pada tahap ini dilakukan analisis sistem baru dan pembuatan model
dari perangkat lunak. Maksud pembuatan model ini adalah untuk memperoleh
pengertian yang lebih baik terhadap aliran data dan kontrol, proses-proses
fungsional, tingkah laku operasi dan informasi-informasi yang terkandung di
dalamnya. Terdiri dari aktivitas utama pemodelan proses, pemodelan data dan
desain antarmuka.
4. Construction
Pada tahap ini hasil dari perancangan mulai diterjemahkan ke dalam
bahasa mesin melalui bahasa pemrograman. Terdiri dari dua aktivitas yaitu
pembuatan kode program dan pembuatan antarmuka program untuk navigasi
sistem.
Selanjutnya program harus diuji coba dimana di fokuskan terhadap
pengujian terhadap fungsi-fungsi modul yang telah dibuat pada tahapan
pengkodean.
18
5. Deployment
Tahapan ini berisi kegiatan untuk menerapkan sistem yang telah selesai
dibangun dan dicoba ke dalam lingkungan user atau pengguna, kemudian
penulis akan memberikan support atas sistem baru yang berjalan, kemudian
akan merespon feedback yang diberikan oleh user atas sistem baru.
2.5. . Komponen Perancangan Sistem
2.5.1. Data Flow Diagram (DFD)
Menurut Pressman, Data Flow Diagram (DFD) adalah gambaran
grafis yang menggambarkan aliran dan perubahan data, yang bergerak dari
input ke output (Pressman, 2002: 364). DFD dapat digunakan untuk
menggambarkan sebuah sistem atau perangkat lunak pada beberapa level.
DFD juga dapat dikembangkan ke dalam level-level yang menggambarkan
peningkatan aliran data dan fungsinya secara terperinci (Pressman, 2002:
364).
DFD level 0 juga disebut Context Diagram (Diagram Konteks)
mengambarkan seluruh elemen perangkat lunak sebagai sebuah proses
dengan input dan output data yang ditandai oleh panah masuk dan keluar
berturut-turut. Proses-proses tambahan dan aliran data seperti yang
digambarkan di Context Diagram dipisah untuk menampakkan proses yang
lebih rinci (Mulyanto, 2009:279).
DFD level 1 merupakan diagram yang merepresentasikan proses yang
ada di dalam sistem secara keseluruhan (Mulyanto, 2009:29).
19
Ada beberapa simbol yang umum digunakan dalam Data Flow
Diagram (DFD), antara lain:
Tabel 2.1. Simbol-simbol yang umum digunakan dalam
Data Flow Diagram (DFD)
Simbol Nama
Entitas
Aliran Data
Proses
Penyimpanan Data
(Sumber : Pressman, 2002 : 365)
2.5.2. Entity Relational Diagram(ERD)
Entity Relational Diagram (ERD) adalah suatu model yang digunakan
untuk menggambarkan data dalam bentuk entitas, atribut dan hubungan
antar entitas (Kadir, 2009:30). ERD dapat digunakan pada semua alat-alat
20
pemodelan dan satu-satunya metode untuk menggambarkam sistem
penyimpanan data.
Tabel 2.2. Sejumlah notasi pada Entity Relational Diagram (ERD)
Simbol Penjelasan Resmi Arti Sebenarnya
Entitas (sekelompok orang, tempat atau sesuatu)
Entitas terhubung
(digunakan untuk menghubungkan dua
entitas)
Entitas atribut (Digunakan untuk kelompok terulang)
Ke 1 hubungan (Tepat satu)
Ke banyak hubungan (satu atau lebih)
21
Ke 0 atau 1 hubungan (hanya 0 atau 1)
Ke 0 atau lebih hubungan (Dapat nol, satu atau lebih)
Ke lebih dari 1 hubungan (lebih besar dari satu)
(Sumber : Kadir, 2009:31)
2.5.3. Diagram Alur (Flowchart)
Diagram Alur (Flowchart) adalah bagan yang menunjukkan alir di
dalam program atau prosedur system secara logika (Jogiyanto, 2005 : 795)
Flowchart digunakan terutama untuk alat bantu komunikasi dan untuk
dokumentasi. Flowchart dapat menunjukkan apa yang dikerjakan oleh
sistem. (Jogiyanto, 2005 : 796).
22
Tabel 2.3. Simbol-simbol yang umum digunakan dalam Flowchart
Simbol Nama Fungsi
Terminator Permulaan/akhir program
Garis Alir
(Flow Line)Arah aliran program
ProsesProses perhitungan/proses pengolahan data
Input/Output DataProses input/output data, parameter, informasi
Sub ProgramPermulaan sub program / proses menjalankan sub program
Decision
Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya
Predefined Process Pemberian harga awal
On Page ConnectorPenghubung bagian-bagian flowchart yang berada pada satu halaman
Stored Data Penyimpanan data
23
Off Page ConnectorPenghubung bagian-bagian flowchart yang berada pada halaman berbeda
(Sumber : Jogiyanto, 2005 : 802-803)
2.5.4. Normalisasi
Normalisasi adalah suatu proses yang digunakan untuk menentukan
pengelompokan atribut-atribut dalam sebuah relasi sehingga diperoleh relasi
yang berstruktur baik (Kadir, 2009:116). Dalam hal ini yang dimaksud
dengan relasi yang berstruktur baik adalah relasi yang memenuhi dua
kondisi berikut:
1. Mengandung redudansi yang sedikit mungkin.
2. Memungkinkan baris-baris dalam relasi disisipkan, dimodifikasi, dan
dihapus, tanpa menimbulkan kesalahan atau ketidak konsistenan
(Kadir, 2009:116).
Normalisasi sendiri dilakukan melalui sejumlah langkah. Setiap
langkah berhubungan dengan bentuk normal (normal form) tertentu. Dalam
hal ini yang disebut bentuk normal adalah suatu keadaan relasi yang
dihasilkan oleh penerapan aturan-aturan sederhana yang berhubungan
dengan dependensi fungsional terhadap relasi tersebut. Bentuk normal
dalam normalisasi dapat berupa:
24
1. Bentuk Normal Pertama (1NF/ First Normal Form)
Bentuk normal pertama (1NF) adalah suatu keadaan yang membuat
setiap perpotongan baris dan kolom dalam relasi hanya berisi satu
nilai. Untuk membentuk relasi agar berada dalam bentuk normal
pertama, perlu langkah untuk menghilangkan atribut-atribut yang
bernilai ganda.
2. Bentuk Normal Kedua (2NF/ Second Normal Form)
Bentuk normal kedua adalah suatu bentuk yang menyaratkan bahwa
relasi harus sudah berada dalam bentuk normal pertama dan tidak
mengandung dependensi parsial. Suatu atribut Y dikatakan memiliki
dependensi parsial terhadap X apabila memenuhi dua kondisi berikut:
a. Y adalah atribut non_kunci primer dan X adalah kunci primer.
b. Y memiliki dependensi terhadap bagian dari X (tetapi tidak
terhadap keseluruhan dari X).
3. Bentuk Normal Ketiga (3NF/ Third Normal Form)
Bentuk normal ketiga adalah suatu keadaan yang menyaratkan bahwa
relasi harus sudah berada dalam bentuk normal kedua dan tidak
mengandung dependensi transitif. Suatu atribut Z dikatakan memiliki
dependensi transitif terhadap X apabila memenuhi dua kondisi
berikut:
a. Z memiliki dependensi fungsional (atau kadang disebut dependensi
saja, yaitu kekangan antara dua buah atribut atau dua buah
himpunan atribut) terhadap Y.
25
b. Y memilki dependensi fungsional terhadap X.
Dependensi transitif dapat dinotasikan sebagai berikut:
X Y Z
2.5.5. Kamus Data (Data Dictionary)
Kamus data atau data dictionary atau disebut juga dengan istilah
system data dictionary adalah katalog fakta tentang data dan kebutuhan-
kebutuhan informasi dari suatu sistem informasi. Dengan menggunakan
kamus data, analis sistem dapat mendefinisikan data yang mengalir di
sistem dengan lengkap. Kamus data dibuat pada tahap analisis sistem dan
digunakan baik pada tahap analisis maupun pada tahap perancangan sistem.
Pada tahap analisis, kamus data dapat digunakan sebagai alat komunikasi
antara analisis sistem dengan pemakai sistem tentang data yang mengalir di
sistem, yaitu tentang data yang masuk ke sistem dan tentang informasi yang
dibutuhkan oleh pemakai sistem. Pada tahap perancangan sistem, kamus
data digunakan untuk merancang input, merancang laporan-laporan dan
database. Kamus data dibuat berdasarkan arus data yang ada di DFD. Arus
data di DFD sifatnya adalah global, hanya ditunjukkan nama arus datanya
saja (Jogiyanto, 2005:725).
Hasil akhir dari pendefinisian struktur data dari file-file database
selanjutnya oleh analis sistem didokumentasikan di kamus data file. Kamus
26
data ini sangat diperlukan oleh programmer nantinya untuk membuat file
secara fisik (Jogiyanto HM, 2005 : 407-408).
2.6. PHP
PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada
waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa
sekumpulan script yang digunakan untuk mengolah data form dari web.
Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan
menamakannya PHP/FI, kependekan dari Hypertext Preprocessing'/Form
Interpreter. Dengan perilisan kode sumber ini menjadi open source, maka banyak
programmer yang tertarik untuk ikut mengembangkan PHP.
Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari
interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model
pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan
bahasa pemrograman ke arah paradigma berorientasi objek (Wahana, 2006: 13).
PHP mempunyai fitur text processing yang sangat bermanfaat, dari
POSIX Extended atau Perl Regular Expression untuk memparsing dokumen
XML. Untuk memparsing dan mengakses dokumen XML, PHP 4 mendukung
standart SAXOFON dan DOM. PHP 5 menstandarkan semua ekstensi XML
menladi libxml2 yang tangguh dan memperluas fitur dengan menambahkan
SimpleXML dan mendukung XMLREADER (Wahana, 2006: 15).
27
2.6.1 Kelebihan PHP
Kelebihan dari PHP sehingga dapat diandalkan sebagai skrip
pemrograman web menurut tim Wahana Komputer Semarang adalah
(Wahana, 2006: 13) :
1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak
melakukan sebuah kompilasi dalam penggunaanya.
2. Web Server yang mendukung PHP dapat ditemukan dimana - mana
dari mulai IIS sampai dengan apache, dengan konfigurasi yang
relatif mudah.
3. Dalam sisi pengembangan lebih mudah, karena banyaknya milis -
milis dan developer yang siap membantu dalam pengembangan.
4. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang
paling mudah karena referensi yang banyak.
5. PHP adalah bahasa open source yang dapat digunakan di berbagai
mesin (linux, unix, windows) dan dapat dijalankan secara runtime
melalui console serta juga dapat menjalankan perintah-perintah
sistem.
6. Termasuk bahasa yang embedded (bisa ditempel atau diletakkan
dalam tag HTML).
28
2.6.2. Dukungan PHP terhadap Basis Data (Database)
Salah satu fitur penting pada PHP adalah dukungan terhadap basis
data. Membuat web dinamis yang menampilkan data yang diinputkan
kedalam basis data bukanlah hal yang sulit dalam PHP.
Pada PHP 5, basis data (database) yang telah didukung untuk bisa
dikorelasikan adalah (Wahana, 2006: 14):
1. Adabas D
2. dBase
3. Empress
4. File Pro
5. Hyperwave
6. IBM DB2
7. Informix
8. Ingres
9. Interbase
10. Front Base
11. Direct MySQL
12. MySQL
13. ODBC
14. Oracle
15. Ovrimos
16. PostgreSQL
29
17. SQLite
18. Solid
19. Sybase
20. Velocis
21. Unix dbm
2.7. Server Web Apache (Apache Web Server)
Server web atau web server adalah sebuah perangkat lunak server yang
berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal
dengan browser web dan mengirimkan kembali hasilnya dalam bentuk halaman-
halaman web yang umumnya berbentuk dokumen HTML (Wikipedia, 2011).
Server HTTP Apache atau Server Web/WWW Apache adalah server web
yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft
Windows dan Novell Netware serta platform lainnya) yang berguna untuk
melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani
fasilitas web/www ini mengunakan HTTP (Wikipedia, 2011).
Server HTTP Apache atau Server Web/WWW Apache merupakan produk
yang dikeluarkan oleh Grup Apache. Grup Apache terlibat dalam suatu proyek
yang disebut proyek apache untuk mengembangkan suatu software implementasi
di bidang web server yang andal dan source code nya didistribusikan secara gratis
(Wahana, 2006:24).
30
Menurut statistik dari Netcraft, Apache merupakan server web yang paling
banyak digunakan di dunia per 2005 . Microsoft Internet Information Services
(IIS) merupakan kompetitor utama Apache, diikuti oleh Sun Java Web Server dari
Sun Microsystem (Wikipedia, 2011).
2.8. MySQL
MySQL merupakan sistem manajemen database. Kata SQL pada MySQL
merupakan singkatan dari Structured Query Language. SQL merupakan bahasa
standar yang digunakan untuk mengakses basis data (database) dan ditetapkan
oleh ANSI/ISO SQL Standard (Wahana, 2006: 181) .
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL
(bahasa Inggris: database management system) atau DBMS yang multithread,
multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat
MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General
Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial
untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL
(Wikipedia, 2011).
Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat
lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber
dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh
sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta
hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang
31
Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson,
dan Michael "Monty" Widenius (Wikipedia, 2011).
MySQL sangat populer dalam aplikasi web seperti MediaWiki (perangkat
lunak yang dipakai Wikipedia dan proyek-proyek sejenis) dan PHP-Nuke dan
berfungsi sebagai komponen basis data dalam LAMP. Popularitas sebagai aplikasi
web dikarenakan kedekatannya dengan popularitas PHP, sehingga seringkali
disebut sebagai Dynamic Duo (Wikipedia, 2011).
Sebuah perangkat lunak gratis untuk administrasi basis data MySQL
berbasis web yang sangat populer yaitu phpMyAdmin. Untuk perangkat lunak
untuk administrasi basis data MySQL yang dijual secara komersial antara lain:
MySQL front, Navicat dan EMS SQL Manager for MySQL (Wikipedia, 2011).
Fitur utama MySQL adalah sebagai berikut (Wahana,2006: 182)
1. Ditulis dalam bahasa C dan C++
2. Bekerja multiplatform
3. Menyediakan mesin penyimpan transaksi dan nontransaksi
4. Server tersedia sebagai program terpisah untuk digunakan pada
lingkungan jaringan klien/server.
5. Memiliki library yang dapat ditempelkan pada aplikasi standalone
sehingga aplikasi tersebut dapat digunakan pada komputer yang tidak
terhubung ke jaringan.
6. Memiliki sistem password yang fleksibel dan aman.
32
7. Dapat menangani basis data dalam skala besar. Basis data dalam server
MySQL dapat berisi 50 juta record.
8. Klien dapat berkoneksi ke MySQL server menggunakan socket TCP/IP
pada platform manapun.
9. Server dapat mengirim pesan kesalahan ke klien dalam berbagai bahasa.
2.8.1. Operasi Dasar SQL
Berikut ini merupakan operasi dasar menggunakan sintaks SQL:
a. Membuat basis data
CREATE DATABASE nama_database;
b. Mengkoneksikan ke suatu basis data membentuk tabel
CONNECT TO basis_data USER nama/password;
c. Memasukkan data
CREATE TABLE nama_tabel(
nama_kolom1 tipe_data([ukuran]),
nama_kolom2 tipe_data([ukuran]),…);
d. Memasukkan data
INSERT INTO nama_tabel VALUES(‘…’,’…’,…);
e. Melihat isi tabel
SELECT * FROM nama_tabel;
f. Mengganti struktur tabel
ALTER TABLE nama_tabel
RENAME kolom_lama TO kolom_baru;
33
g. Mengetahui daftar basis data dan tabel
SHOW DATABASES;
h. Menghapus tabel
DROP TABLE nama_tabel;
i. Fungsi aggregate
SUM() menghitung jumlah nilai
AVG() menghitung nilai rata-rata
MAX()mencari nilai maksimal
MIN() mencari nilai minimal
COUNT() menghitung jumlah baris
2.9. Profil Direktorat Pendidikan Agama Islam Pada Sekolah
Direktorat Pendidikan Agama Islam pada Sekolah (DITPAIS) Kementrian
Agama Republik Indonesia merupakan salah satu Direktorat pada Direktorat
Jenderal Pendidikan Islam Kementrian Agama Republik Indonesia yang secara
struktural diatur dalam PMA No. 3 tahun 2006. Fungsi, tugas, dan tanggungjawab
Direktorat Pendidikan Agama Islam pada Sekolah (DITPAIS) adalah untuk
meningkatkan kualitas pendidikan Agama islam pada sekolah. Secara filosofi
ideologis dan konstitusional, Direktorat Pendidikan Agama Islam pada Sekolah
(DITPAIS) memiliki peran yang sangat strategis sebagaimana tertuang apada
pasal 28 ayat (1) "Setiap orang bebas memeluk agama dan beribadat menurut
agamanya, memilih pendidikan dan pengajaran. Demikian halnya tuntutan UU.
No. 20 tahun 2003 sebagaimana yang dinyatakan dalam UU tersebut bahwa
34
tujuan pendidikan nasional adalah untuk berkembangnya potensi peserta didik
agar menjadi manusia yang beriman dan bertaqwa kepada Tuhan Yang Maha Esa,
berakhlak mulia, sehat, berilmu, cakap, kreatif, mandiri dan menjadi warga negara
yang demokrasi serta bertanggung jawab (Kemenag, 2011).
Dalam merealisasikan fungsi dan tujuan seperti yang dijelaskan di atas,
Direktorat Pendidikan Agama Islam pada Sekolah (DITPAIS) perlu menyusun
berbagai program yang akan dilaksanakan dalam sebuah Rencana Strategis
(Renstra) untuk progam jangka menengah tahun 2006-2011. Renstra ini disusun
sebagai acuan dalam pengembangan program-program yang akan dilaksanakan
pada semua subdit. Secara umum renstra ini menguraikan enam bidang utama
yang dipandang strategis, meliputi (Kemenag, 2011):
1. Pengembangan kurikulum dan evaluasi,
2. Peningkatan kualitas tenaga pendidik dan kependidikan,
3. Pemanfaatan bantuan sarana dan beasiswa,
4. Pemberdayaan kelembagaan,
5. Peningkatan mutu lulusan siswa dalam bidang PAI, dan
6. Peningkatan pelayanan administrasi dan ketatausahaan.
35
2.9.1. Visi dan Misi Direktorat Pendidikan Agama Islam pada Sekolah
2.9.1.1. Visi
Sejalan dengan visi pendidikan Nasional, Depag dan Ditjen Pendis,
visi DITPAIS (Kemenag, 2011):
"Terwujudnya siswa sekolah yang menjiwai keimanan dan ketaqwaan terhadap Allah SWT, berakhlaq mulia, memiliki kecerdasan, memahami dan mengamalkan ajaran agama Islam sejalan dengan tujuan pendidikan nasional dan falsafah Negara Kesatuan Republik Indonesia.”
2.9.1.2. Misi
Berikut ini adalah visi Direktorat Pendidikan Agama Islam Pada
Sekolah:
1. Memeratakan pelayanan Pendidikan Agama Islam (PAI) pada
sekolah,
2. Meningkatkan mutu lulusan siswa bidang Pendidikan Agama Islam
(PAI),
3. Mengembangkan kurikulum Pendidikan Agama Islam (PAI),
4. Meningkatkan kualitas guru Pendidikan Agama Islam (PAI) pada
sekolah,
5. Meningkatkan mutu pengawas Pendidikan Agama Islam (PAI),
6. Meningkatkan fasilitas Pendidikan Agama Islam (PAI) pada
sekolah,
36
7. Mengembangkan dan memberdayakan lembaga Pendidikan Agama
Islam (PAI) pada sekolah,
8. Mengembangkan minat siswa sekolah mencintai dan mendalami
dan mengamalkan Pendidikan Agama Islam (PAI),
9. Meningkatkan tata kelola Pendidikan Agama Islam (PAI)
(Kemenag, 2011).
2.9.2. Indikator Keberhasilan Pendidikan Agama Islam Di Sekolah
Berikut ini adalah indikator keberhasilan Pendidikan Agama Islam di
sekolah berdasarkan informasi yang penulis dapatkan melalui situs
kemenag.go.id
1. Proses belajar mengajar Pendidikan Agama Islam (PAI) berjalan
lancar
2. Sekolah memiliki sarana ibadah yang memadai
3. Warga sekolah yang beragama Islam aktif melaksanakan sholat, puasa
pada waktunya
4. Tampilan, prilaku dan sikap siswa dan segenap unsur pendidikan di
sekolah pada setiap waktu mencerminkan nuansa islami
5. Ceramah/diskusi/seminar agama digalakkan dalam berbagai kegiatan
luar sekolah
6. Sekolah menggalakkan aktivitas keagamaan, seperti peringatan HBI,
pengumpulan infaq, aktivitas belajar al-Qur`an, dan lain sebagainya
7. Hasil belajar memenuhi standar isi dan kelulusan (Kemenag, 2011).
37
2.10. Studi Sejenis
Penulis dalam membuat skripsi ini melakukan studi terhadap beberapa
skripsi terdahulu, dengan maksud mempelajari dan mencari beberapa poin yang
dapat penulis lengkapi di dalam skripsi ini.
Qunut Fajri dalam dalam penulisan skripsinya yang berjudul Sistem
Informasi Pembuatan Rapor SDN Pondok Kacang Timur IV tahun 2007
membahas mengenai pembuatan rapor menggunakan media komputer. Skripsi ini
membahas input data nilai sampai dengan mencetak menjadi bentuk halaman
rapor. Metode pengembangan sistem yang digunakan oleh Qunut Fajri dalam
penelitian ini adalah SDLC dengan proses model sequensial linier.
Puji Handayani dalam skripsinya yang berjudul Pengembangan Sistem
Informasi Laporan Prestasi Belajar Siswa Berbasis Web (Studi Kasus : SMA
Negeri 8 Bogor) tahun 2008 menjelaskan tentang pengembangan sistem informasi
laporan prestasi belajar siswa dengan memanfaatkan media internet sebagai media
untuk mengakses data nilai siswa. Puji Handayani melakukan penelitian ini
dengan menggunakan metode pengembangan sistem SDLC dengan proses model
sequensial linier.
Citra Amalia dalam penulisan skripsinya yang berjudul Aplikasi Daftar
Nilai Semester Mahasiswa Berbasis Web Online (Studi Kasus : UIN Syarif
Hidayatullah Jakarta) pada tahun 2009 membahas pembuatan aplikasi berbasis
web yang mampu menjalankan business prosess pengolahan nilai mahasiswa oleh
dosen tertentu sampai dengan mencetak nilai oleh mahasiswa yang bersangkutan.
38
Peneltian yang dilakukan oleh Amalia, menggunakan metode pengembangan
sistem SDLC.
Ibnu Mas’ud dalam penulisan skripsi yang berjudul Sistem Informasi Nilai
Akademik Siswa Berbasis Web (Studi Kasus : SMU Muhammadiyah 7
Sawangan) menggunakan metode pengembangan sistem SDLC dengan proses
model sequensial linier. Mas’ud mengkombinasikan berbagai parameter penilaian
siswa mulai dari sistem absensi, nilai harian, nilai ujian tengah semester, dan ujian
akhir semester menjadi satu kesatuan yang mampu langsung diimplementasikan
sebagai sistem evaluasi siswa baik per hari, per tengah semester, dan juga per
semester.
Keempat referensi ini akan penulis jadikan sebagai referensi untuk
penulisan skripsi ini. Dengan demikian kedua sumber ini akan penulis analisis
sehingga mendapatkan suatu perbandingan untuk hasil yang lebih baik.
39
Berikut ini adalah hasil dari studi sejenis yang penulis lakukan.
Tabel 2.4. Perbandingan Hasil Studi Sejenis
No Penulis Kelebihan Kekurangan
1 Qunut Fajri Dokumen yang dihasilkan
dapat langsung digunakan
sebagai rapor siswa.
1. Sistem dibangun stand
alone, sehingga tidak
dapat dibuat sistem
terintegrasi.
2. Tidak mendukung
platform sistem operasi
selain windows.
3. Tidak adanya fasilitas
laporan berupa grafik.
2 Puji Handayani 1. Web Based, sehingga
dapat diakses secara
massal melalui web
browser.
2. Sistem memungkinkan
monitoring data secara
realtime.
3. Sistem menyediakan
administrasi user sesuai
dengan jabatannya
masing-masing.
1. Sistem tidak
menyediakan fasilitas
pelaporan dengan grafik,
sehingga menyulitkan
informasi ditampilkan
secara monoton berupa
angka-angka saja.
2. Perankingan dilakukan
masih manual, sesuai
dengan nilai rata-rata
rapor siswa.
40
3 Citra Amalia 1. Sistem menyediakan
administrasi user sesuai
dengan jabatannya
masing-masing.
2. Web Based, sehingga
dapat diakses secara
massal melalui web
browser
3. Terdapat Output dokumen
berupa file PDF
4. Adanya sistem hashing
password menggunakan
MD5
1. Tidak disediakan
perbandingan rentang
nilai mahasiswa per mata
kuliah.
2. Tidak adanya fasilitas
laporan berupa grafik.
4 Ibnu Mas’ud 1. Sistem dibangun secara
Web Based.
2. Banyak parameter
penilaian terhadap siswa.
3. Terdapat Laporan
berbentuk grafik yang
sangat membantu proses
evaluasi.
1. Tidak disediakannya
fitur perbandingan nilai
per mata pelajaran.
2. Tidak disediakannya
fitur perbandingan nilai
antar kelas.
41
BAB III
METODOLOGI PENELITIAN
3.1. Pengertian Metodologi Penelitian
Metodologi adalah kesatuan metode-metode, prosedur-prosedur, konsep-
konsep pekerjaan, aturan-aturan dan postulat-postulat yang digunakan oleh suatu
ilmu pengetahuan, seni, atau disiplin yang lainnya. Sedangkan metode adalah
suatu cara, teknik yang sistematik untuk mengerjakan sesuatu. (Jogiyanto, 2005:
59).
3.2. Teknik Pengumpulan Data
Dalam penyusunan skripsi ini, diperlukan data-data serta informasi yang
relatif lengkap sebagai bahan yang dapat mendukung kebenaran materi uraian dan
pembahasan. Oleh karena itu, sebelum penyusunan skripsi ini dilakukan, maka
dilakukan riset atau penelitian terlebih dahulu untuk menjaring data serta
informasi yang terkait.
3.2.1. Observasi
Pengumpulan data dengan observasi atau pengamatan langsung
adalah cara pengambilan data dengan menggunakan mata tanpa ada
pertolongan alat standar lain untuk keperluan tersebut. Penyaksian
terhadap peristiwa-peristiwa itu bisa dengan melihat, mendengarkan,
merasakan, yang kemudian dicatat seobyektif mungkin.
42
Observasi yang penulis lakukan adalah ikut terjun langsung dalam
hal input data nilai Ujian Sekolah Berstandar Nasional Pendidikan Agama
Islam (USBN PAI) yang diadakan oleh Subdit Kurikulum dan Evaluasi.
Data yang diinputkan oleh penulis ke dalam dokumen Microsoft excel
kemudian hasil pengolahan data dengan Microsoft excel tersebut diolah
kembali oleh tim analisa sehingga menjadi sebuah laporan evaluasi hasil
Ujian Sekolah Berstandar Nasional Pendidikan Agama Islam (USBN
PAI).
3.2.2. Wawancara
Wawancara merupakan proses memperoleh keterangan untuk
tujuan penelitian dengan cara tanya jawab sambil bertatap muka.
Walaupun wawancara adalah proses percakapan yang berbentuk tanya
jawab dengan tatap muka, wawancara adalah suatu proses pengumpulan
data untuk suatu penelitian.
Dalam mengumpulkan data, penulis mewawancarai pihak yang
memang memiliki kepentingan khusus dalam pengolahan data hasil Ujian
Sekolah Berstandar Nasional Pendidikan Agama Islam (USBN PAI), yaitu
Bapak Dr. Halfian Lubis.SH.M.Ag selaku Kepala Seksi Kurikulum dan
Evaluasi Pendidikan Agama Islam.
43
3.2.3. Studi Pustaka
Penulis melakukan studi pustaka sebagai bahan tambahan guna
melengkapi kekurangan-kekurangan data yang diperoleh dari wawancara.
Pengumpulan data dengan cara mengambil dari sumber-sumber media
cetak maupun elektronik yang dapat dijadikan acuan pembahasan masalah.
Pada metode pengumpulan data ini, penulis juga mempelajari
buku-buku yang berhubungan dengan masalah yang akan dibahas dalam
penulisan skripsi ini. Adapun data-data buku yang digunakan dalam
penulisan skripsi ini terdapat dalam daftar pustaka. Pencarian melalui
media elektronik seperti internet juga dilakukan dalam memperoleh data-
data tambahan yang pada media cetak tidak ditemukan.
3.2.4. Studi Sejenis
Penulis dalam membuat skripsi ini melakukan studi terhadap
beberapa tulisan bertema sejenis yang sudah ada sebelumnya, dengan
maksud mempelajari skripsi tersebut kemudian mengimplementasikan
kelebihan dan melengkapi kekurangan yang terdapat pada skripsi acuan.
Studi sejenis yang penulis lakukan telah penulis jabarkan pada bab ii.
3.3. Metodologi Pengembangan Sistem
Dalam pengembangan aplikasi sistem pelaporan nilai ini, dengan
menggunakan model pendekatan SDLC (System Development Life Cycle) yakni
pendekatan melalui beberapa tahap untuk menganalisis dan merancang sistem
44
dimana sistem tersebut dikembangkan melalui penggunaan siklus kegiatan
penganalisis dan pemakai secara spesifik.
Gambar 3.1. Model Sekuensial Linier
(Sumber : Pressman, 2002:37)
Model proses sekuensial linier sering disebut juga dengan ”siklus
kehidupan klasik” atau ”model air terjun (Waterfall)”.
Berikut ini adalah alasan penulis menggunakan model proses ini,
1. Memudahkan dalam mereview pada akhir tiap-tiap fase pengembangan,
karena sebelum melangkah ke fase selanjutnya harus dipastikan bahwa hasil
yang diharapkan pada fase tertentu sudah berhasil tercapai.
2. Dokumentasi selalu dibuat di setiap fase.
3. Dapat memastikan kebutuhan sistem tepat sesuai dengan kebutuhan user sejak
fase communication.
Model proses waterfall melingkupi aktivitas-aktivitas sebagai berikut:
1. Communication
Pada tahap communication, penulis melakukan inisiasi proyek atau inisiasi
sistem yang akan penulis buat dengan melakukan observasi untuk memahami
permasalahan yang terjadi, sehingga dapat diketahui informasi yang harus
diakomodasi oleh aplikasi yang akan dibuat.
45
Secara rinci, yang penulis lakukan pada tahap ini adalah
1) Menguraikan sistem yang saat ini berjalan,
2) Menganalisis kebutuhan sistem.
2. Planning
Penulis melakukan perencanaan mengenai sistem yang akan penulis buat.
Perencanaan di sini melibatkan mengenai estimasi waktu dan jadwal pengerjaan.
Tahapan ini dilakukan agar proyek atau sistem yang dibangun dapat selesai tepat
pada waktu yang telah direncanakan.
3. Modeling
Pada tahap ini, dilakukan pemodelan informasi yang harus di akomodasi,
proses-proses yang terjadi pada sistem, antar muka (interface) yang akan
digunakan, dan data yang diperlukan selama pengembangan sistem.
Secara rinci, yang penulis lakukan pada tahap ini adalah
1) Membuat Context Diagram,
2) Membuat Data Flow Diagram,
3) Membuat Entity Relational Diagram,
4) Membuat normalisasi database Merancang Kamus Data,
5) Merancang Antar Muka aplikasi.
46
4. Construction
Tahap ini terdiri dari dua aktivitas yaitu pengkodean dan pengujian
program.
Aktivitas pengkodean sistem berarti perancangan mulai diterjemahkan ke
dalam bahasa mesin melalui bahasa pemrograman, terdiri dari dua aktivitas yaitu
pembuatan kode program sistem dan pembuatan antarmuka untuk navigasi sistem.
Penulis menggunakan paket bundle application yaitu XAMPP 1.7.3 yang
berisi webserver Apache dan database management system MySQL sebagai
program utama dari sistem. Editor yang penulis gunakan untuk melakukan
pembuatan dan pengeditan kode program yaitu Notepad++ 5.8 dan Adobe
Dreamweaver CS3.
Pengujian sistem akan menggunakan pendekatan Black Box dengan
melakukan pengujian fungsi pada setiap halaman sistem. Penulis melakukan input
data dan melihat hasil pengolahan informasi yang ditampilkan sebagai output
sistem. Pada halaman provinsi, penulis akan mencoba melakukan penambahan,
pengeditan, dan juga penghapusan provinsi serta mencoba untuk memperoleh
informasi yang ditampilkan oleh halaman ini. Pengujian pada halaman lain kurang
lebih seperti pada halaman provinsi.
5. Development
Disebut juga sebagai tahapan penerapan aplikasi yang telah dibuat. Pada
tahap ini, penulis melakukan instalasi sistem baru ke dalam komputer yang akan
digunakan sebagai server.
47
BAB IV
HASIL DAN PEMBAHASAN
4.1. Communication
4.1.1. Uraian Sistem Berjalan
Dalam melakukan analisis hasil Ujian Sekolah Berstandar Nasional
Pendidikan Agama Islam (USBN PAI), aspek yang dinilai sebagai parameter
pengujian yaitu :
1. Aspek kognitif, yakni aspek pengetahuan peserta didik. Alat evaluasi
aspek kognitif berupa ujian tertulis.
2. Aspek prikomotorik, yakni aspek keterampilan peserta didik
melaksanakan materi ibadah yang bersifat praktik. Alat evaluasi aspek
ini adalah materi ujian praktik yang harus direspon peserta didik dalam
bentuk unjuk kemampuan dihadapan penguji.
3. Aspek afektif, yakni akhlak mulia menjadi bagian evaluasi guru
Pendidikan Agama Islam (PAI).
Adapun mekanisme pelaporan hasil USBN PAI berupa tiga aspek di
atas adalah sebagai berikut :
1. Sekolah penyelenggara USBN PAI melaporkan hasil ujian kepada panitia
penyelenggara tingkat kabupaten/kota dengan mengisi form yang telah
disediakan oleh panitia penyelenggara tingkat pusat.
2. Panitia penyelenggara tingkat kabupaten/kota melakukan pengumpulan
berkas nilai hasil USBN PAI di wilayahnya. Panitia penyelenggara tingkat
48
provinsi melakukan pengumpulan berkas nilai dari kabupaten yang ada
pada propinsi yang bersangkutan, kemudian melaporkannya kepada
panitia penyelenggara tingkat pusat berupa pengiriman dokumen berkas
nilai USBN PAI.
3. Panitia penyelenggara tingkat pusat melakukan rekap hasil ujian dan
menganalisisnya untuk mengetahui hasil USBN PAI secara nasional dan
melaporkannya ke Direktur Jenderal Pendidikan Islam Kementrian Agama
RI.
Berkas yang dikirimkan adalah data mentah dari tiap kabupaten untuk
selanjutnya diproses di panitia penyelenggara USBN PAI tingkat pusat.
Current System diawali dengan pengiriman berkas secara manual untuk
kemudian diolah menggunakan computer di panitia penyelenggara tingkat
pusat sehingga menghasilkan informasi.
Berikut ini adalah flowchart diagram dari sistem yang saat ini sedang
berjalan.
49
Gambar 4.1. Flowchart Sistem Berjalan
50
4.1.2. Analisis Kebutuhan
Hasil analisis sistem berjalan adalah sebagai berikut:
1. Sistem yang saat ini berjalan masih kurang efektif karena data mentah
dikirim oleh setiap peserta Ujian Sekolah Berstandar Nasional Pendidikan
Agama Islam (USBN PAI) berpotensi memiliki keterlambatan bahkan
tidak sampai kepada tim pengolah data sehingga data yang diproses
menjadi kurang valid karena tidak lengkapnya data dari peserta Ujian
Sekolah Berstandar Nasional (USBN).
2. Laporan yang dibuat menjadi rentan terjadi kesalahan karena data yang
dianalisis kemungkinan tidak lengkap.
3. Adanya waktu kosong selama berkas dikirimkan menggunakan jasa kurir,
sedangkan berkas dikirimkan dari setiap provinsi di Indonesia yang
memungkinkan banyak waktu yang terbuang.
4. Untuk itu, penulis mengajukan suatu inovasi yang dapat diterapkan di
Direktorat Pendidikan Agama Islam pada Sekolah (DITPAIS) dalam hal
pemantauan hasil Ujian Sekolah Berstandar Nasional (USBN) melalui
sistem terintegrasi, dan pelaporannya dalam bentuk aplikasi berbasis web
guna memudahkan akses sistem melalui jaringan internet.
Penulis mengusulkan perancangan sistem pemantauan hasil ujian
Pendidikan Agama Islam (PAI) sebagai berikut :
51
1. Sistem pelaporan dan pemantauan yang penulis bangun merupakan sistem
yang berbasis web agar dapat diakses dimana dan kapan saja, asalkan
jaringan internet tersedia.
2. Sistem mampu memantau perolehan nilai tiap sekolah, kabupaten atau
kota, dan juga tiap provinsi sehingga akan terlihat perbandingan nilai
antara daerah yang satu dengan daerah yang lainnya, sehingga diketahui
seberapa meratanya kemampuan siswa dalam mata pelajaran Pendidikan
Agama Islam (PAI).
3. Sistem mampu melakukan perankingan provinsi, perankingan kabupaten,
sekolah, dan juga siswa.
4. Sistem mampu menggenerasi laporan dalam format dokumen xls
sehingga data dapat diolah kembali, dan juga dapat menghasilkan grafik
atau chart sesuai dengan data pada database yang digunakan oleh sistem.
5. Pada sistem yang penulis buat, terdapat beberapa jenis pengguna, yaitu
user biasa atau user yang tidak melakukan login, sekolah, dan juga
administrator.
52
Diagram Alir Sistem yang penulis usulkan adalah :
Gambar 4.2. Flowchart Sistem yang Diusulkan
53
Berikut ini adalah flowchart diagram untuk setiap proses dari system
yang diusulkan.
1. Admin melakukan penambahan provinsi, kabupaten, dan sekolah.
Gambar 4.3. Flowchart Input Provinsi
54
Gambar 4.4. Flowchart Input Kabupaten
55
2. Sekolah dapat mendaftarkan dirinya sendiri ke dalam sistem, yaitu dari
user biasa menjadi user sekolah setelah verifikasi dari sistem berhasil
dilewati.
Gambar 4.5. Flowchart Input Sekolah
56
3. Sekolah melakukan upload data siswa beserta nilai setelah terlebih dahulu
mengetikkan data pada dokumen sesuai dengan format dokumen yang
ditentukan oleh sistem.
Gambar 4.6. Flowchart Input Siswa dan Nilai
4. Sistem akan menghasilkan grafik nilai secara otomatis berdasarkan nilai
yang diupload oleh user sekolah.
5. Semua tingkatan user dapat melakukan cetak data ke dalam format
dokumen dengan ekstensi xls.
57
4.1.3. Kebutuhan Perangkat
Perangkat yang dibutuhkan oleh komputer klien untuk dapat
mengakses sistem baru adalah sebagai berikut :
1. Perangkat Keras
a. CPU (Central Processing Unit)
Spesifikasi minimum untuk pengguna adalah sebagai berikut:
1) Processor setara dengan Pentium III atau lebih tinggi
2) Harddisk 20 GB
3) RAM 256 MB
4) VGA on board
b. Keyboard
Keyboard adalah alat input yang biasanya didampingi dengan alat
tampilan (display) di layar monitor yang menampilkan apa yang ditekan di
keyboard.
c. Mouse
Mouse adalah alat input komputer yang digunakan oleh berbagai
program aplikasi GUI (Graphical User Interface) dengan petunjuk posisi
yang ditampilkan melalui monitor.
2. Perangkat Lunak
a. Sistem Operasi
Sistem operasi yang penulis sarankan adalah Microsoft Windows XP.
58
b. Web Browser
Web Browser apa saja bisa digunakan, tapi penulis menyarankan
untuk menggunakan Mozilla Firefox, Opera atau Google Chrome terbaru.
4.2. Planning
Pada tahapan ini, penulis membuat timeline pengerjaan. Hal ini
dimaksudkan agar pengerjaan skripsi dan pembuatan aplikasi dapat selesai pada
waktu yang ditentukan. Waktu yang diperlukan dalam menyelesaikan sistem ini
adalah Sembilan minggu.
Berikut ini adalah timeline yang penulis rencanakan :
Tabel 4.1. Planning Pembuatan Aplikasi
Minggu
ke-1
Minggu
ke-2
Minggu
ke-3
Minggu
ke-4
Minggu
ke-5
Minggu
ke-6
Minggu
ke-7
Minggu
ke-8
Minggu
ke-9
Communication
Planning
Modelling
Construction
Deployment
59
4.3. Modelling
4.3.1. Context Diagram
Context Diagram (Diagram Konteks) mengambarkan seluruh
elemen perangkat lunak sebagai sebuah proses dengan input dan output
data yang ditandai oleh panah masuk dan keluar berturut-turut. Proses-
proses tambahan dan aliran data seperti yang digambarkan di Context
Diagram dipisah untuk menampakkan proses yang lebih rinci.
Gambar 4.7. Diagram Konteks
Pada perancangan aplikasi ini terdapat tiga entitas yaitu Admin,
Sekolah, dan user non login.
1. Aliran data dari entitas admin kepada sistem berupa data provinsi, data
kabupaten, data sekolah, dan data siswa.
60
2. Aliran data dari entitas sekolah kepada sistem berupa data siswa dari
sekolah yang bersangkutan.
3. Admin dan kabupaten memiliki hak akses untuk melakukan update data
nilai. Admin dapat melakukan update nilai kepada seluruh siswa dari setiap
sekolah, sedangkan kabupaten hanya dapat melakukan update nilai siswa
hanya dari kabupaten yang bersangkutan.
4. Aliran data dari sistem menuju admin, sekolah, kabupaten dan user berupa
informasi nilai sebanyak tiga jenjang dari rata-rata nasional, tingkat
provinsi, tingkat kabupaten, sampai dengan tingkat sekolah.
61
4.3.2. Data Flow Diagram (DFD)
4.3.2.1. Data Flow Diagram (DFD) Level 1
Data Flow Diagram (DFD) Level 1 merupakan diagram yang
merepresentasikan proses yang ada di dalam sistem secara keseluruhan.
Gambar 4.8. DFD Level 1
62
4.3.2.2. Data Flow Diagram (DFD) Level 2
4.3.2.2.1. Data Flow Diagram (DFD) Level 2 Proses Manajemen
Provinsi
Mendeskripsikan secara detail proses ke-1, yaitu proses
manajemen provinsi yang terdiri dari lihat provinsi, input provinsi,
update provinsi, dan hapus provinsi.
Gambar 4.9. DFD Level 2 Proses 1
Proses 1.1 adalah proses lihat provinsi. Proses ini
mengambil data dari tabel provinsi untuk ditampilkan. Proses 1.2
yaitu proses input provinsi adalah proses memasukkan provinsi
63
baru ke dalam tabel provinsi. Proses 1.3 yaitu proses update
provinsi merupakan proses pembaruan data lama dari tabel
provinsi, dengan menampilkan data yang ada pada tabel untuk
dilakukan perubahan, kemudian data baru ini menggantikan data
yang lama. Proses 1.4 yaitu hapus provinsi merupakan proses
penghilangan data provinsi tertentu atau seluruhnya dari tabel
provinsi.
4.3.2.2.2. Data Flow Diagram (DFD) Level 2 Proses Manajemen
Kabupaten
Mendeskripsikan secara detail proses ke-2, yaitu proses
manajemen kabupaten yang terdiri dari lihat kabupaten, input
kabupaten, update kabupaten, dan hapus kabupaten. Entitas yang
berperan dalam proses ke-2 ini adalah admin.
64
Gambar 4.10. DFD Level 2 Proses 2
4.3.2.2.3. Data Flow Diagram (DFD) Level 2 Proses Manajemen
Sekolah
Mendeskripsikan secara detail proses ke-3, yaitu proses
manajemen sekolah yang terdiri dari lihat sekolah, input sekolah,
update sekolah, dan hapus sekolah. Entitas yang berperan dalam
proses ke-3 ini adalah admin.
65
Gambar 4.11. DFD Level 2 Proses 3
66
4.3.2.2.4. Data Flow Diagram (DFD) Level 2 Proses Manajemen
Siswa
Gambar 4.12. DFD Level 2 Proses 4
67
4.3.2.2.5. Data Flow Diagram (DFD) Level 2 Proses Manajemen
Nilai Siswa
Gambar 4.13. DFD Level 2 Proses 5
4.3.3. Entity Relational Diagram (ERD)
Entity Relational Diagram (ERD) adalah suatu model yang
digunakan untuk menggambarkan data dalam bentuk entitas, atribut dan
hubungan antar-entitas. ERD dapat digunakan pada semua alat-alat
pemodelan dan satu-satunya metode untuk menggambarkan sistem
penyimpanan data.
68
Berikut ini merupakan ERD dari sistem yang penulis buat
berdasarkan proses yang telah dijabarkan dalam DFD.
Gambar 4.14 Entity Relational Diagram (ERD)
4.3.4. Normalisasi
Setelah membuat perancangan database, selanjutnya dibuat
normalisasi dengan tujuan membentuk tabel normal untuk menghindari
redudansi data.
69
4.3.4.1. Bentuk Tidak Normal
Bentuk ini merupakan kumpulan data-data yang akan
direkam, tidak ada keharusan mengikuti format tertentu. Data
dikumpulkan apa adanya sesuai dengan saat menginput.
Gambar 4.15. Tabel Tidak Normal
4.3.4.2. Bentuk Normal 1
Suatu relasi dikatakan dalam bentuk normal pertama jika
dan hanya jika setiap atribut bernilai tunggal untuk setiap baris.
Ketentuan bentuk normal pertama (1-NF) adalah tidak ada atribut
yang berulang, telah ditentukannya primary key untuk tabel/relasi
tersebut, dan setiap atribut hanya memiliki satu pengertian.
70
Pada tabel sekolah dan skl_temp terdapat satu kolom yang
akan berisi data berulang-ulang, yaitu kolom jenjang. Dengan
demikian notasi normalisasi yang terjadi adalah sebagai berikut :
Sekolah (id_skl*, nm_skl, alamat_skl, surat, password, jenjang,
id_kab**, id_session)
Menjadi
Sekolah (id_skl*, nm_skl, alamat_skl, surat, password, id_jen**,
id_kab**, id_session)
Jenjang (id_jen*, nm_jen)
71
Gambar 4.16. Bentuk Normal 1
4.3.4.3. Bentuk Normal 2
Bentuk normal kedua didasari atas konsep full functional
dependency (ketergantungan fungsional sepenuhnya). Ketentuan
dari bentuk normal kedua (2-NF) adalah bentuk data telah
memenuhi kriteria bentuk normal kesatu, atribut bukan kunci (non-
key) haruslah memiliki ketergantungan fungsional sepenuhnya
pada kunci utama/primary key.
72
Gambar 4.17. Bentuk Normal 2
4.3.5. Kamus Data
Berikut ini adalah kamus data dari tabel-tabel yang terlibat dalam
sistem:
1. Tabel Provinsi
Nama Tabel : Provinsi
Keterangan : Berisi provinsi yang digunakan dalam program
Primary Key : id_prop
73
Tabel 4.2. Tabel Provinsi
Nama Field Tipe Ekstra Keterangan
Id_prop Int(11) Auto increment Id_provinsi sebagai primary key
Nm_prop Varchar(50) Nama provinsi
2. Tabel Kabupaten
Nama Tabel : Kabupaten
Keterangan : Berisi data kabupaten
Primary Key : id_kab
Foreign Key : id_prop
Tabel 4.3. Tabel Kabupaten
Nama Field Tipe Ekstra Keterangan
Id_kab Int(11) Auto increment Id kabupaten
Nm_kab Varchar(50) Nama kabupaten
Id_prop Int(11) Sebagai foreign key yang digunakan untuk relasi dengan tabel provinsi
3. Tabel Jenjang
Nama Tabel : jenjang
Keterangan : berisi jenjang pendidikan
Primary Key : id_jen
74
Tabel 4.4. Tabel Jenjang
Nama Field Tipe Ekstra Keterangan
Id_jen Int(11) Auto increment Id jenjang
Nm_jen Varchar(50) Nama jenjang pendidikan
Keterangan Varchar(200) Berisi Keterangan dari baris tabel
4. Tabel Sekolah
Nama Tabel : Sekolah
Keterangan : Berisi data Sekolah
Primary Key : id_skl
Foreign Key : id_kab, id_jen
Tabel 4.5. Tabel Sekolah
Nama Field Tipe Ekstra Keterangan
Id_skl Int(11) Auto increment Id sekolah
Nm_skl Varchar(50) Nama sekolah
Alamat_skl Varchar(200) Alamat sekolah
Surat Varchar(50) Unique Email dari sekolah sekaligus digunakan untuk username ketika login
Password Varchar(50) Password yang digunakan untuk melakukan verivikasi login
Id_kab Int(11) Sebagai foreign key yang digunakan untuk relasi dengan
75
tabel kabupatenId_jen Int(11) Sebagai foreign
key yang digunakan untuk relasi dengan tabel jenjang
Id_session Varchar(100) Id yang dihasilkan dari session php
5. Tabel Siswa
Nama Tabel : Sekolah
Keterangan : Berisi data Sekolah
Primary Key : id_sekolah
Foreign Key : id_sekolah
Tabel 4.6. Tabel Siswa
Nama Field Tipe Ekstra Keterangan
Id_sis Int(11) Auto increment Id siswa
NIS Varchar(45) NIS siswa
Nm_sis Varchar(150) Nama Siswa
Jk Enum(L,P) Jenis kelamin siswa
Id_skl Int(11) Id sekolah berfungsi sebagai foreign key dan digunakan untuk melakukan relasi dengan tabel sekolah
76
6. Tabel Ujian
Nama Tabel : Ujian
Keterangan : Berisi daftar jenis ujian yang diujikan
Primary Key : id_ujian
Foreign Key : -
Tabel 4.7. Tabel Ujian
Nama Field Tipe Ekstra Keterangan
Id_ujian Int(50) Auto increment Id_ujian berfungsi sebagai primary key
Nama_ujian Varchar(30) Nama ujian
7. Tabel Nilai
Nama Tabel : Nilai
Keterangan : Berisi nilai siswa dari tabel siswa
Primary Key : id_nl
Foreign Key : id_sis, id_ujian
77
Tabel 4.8. Tabel Nilai
Nama Field Tipe Ekstra Keterangan
Id_nl Int(11) Auto increment Id kabupatenberfungsi sebagai primary key
Id_sis Int(11) Id siswa berfungsi sebagai foreign key dan digunakan untuk melakukan relasi dengan tabel siswa
Id_ujian Int(50) Id_ujian berfungsi sebagai foreign key dan digunakan untuk melakukan relasi dengan tabel ujian
nilai Float Field atau kolom untuk menampung nilai ujian
8. Tabel Sekolah_Temp
Nama Tabel : Sekolah_temp
Keterangan : Berisi data Sekolah yang sifatnya sementara. Tabel ini
digunakan ketika user non login melakukan registrasi dan
belum diaktivasi. Baris pada tabel ini dihapus ketika
aktivasi berhasil dilakukan sesuai dengan id_temp.
Primary Key : id_skl
Foreign Key :id_kab, id_jen
78
Tabel 4.9. Tabel Sekolah_temp
Nama Field Tipe Ekstra Keterangan
Id_skl Int(11) Auto increment Id sekolah
Nm_skl Varchar(50) Nama sekolah
Alamat_skl Varchar(200) Alamat sekolah
Surat Varchar(50) unique Email dari sekolah sekaligus digunakan untuk username ketika login
Password Varchar(50) Password yang digunakan untuk melakukan verivikasi login
Id_kab Int(11) Sebagai foreign key yang digunakan untuk relasi dengan tabel kabupaten
Id_jen Int(11) Sebagai foreign key yang digunakan untuk relasi dengan tabel jenjang
Id_temp Varchar(100) Id ini dihasilkan dari perhitungan acak sistem dan digunakan sebagai id aktivasi yang diterima dalam email
79
9. Tabel pengguna
Nama Tabel : pengguna
Keterangan : Berisi pengguna yang memiliki hak akses sebagai
administrator
Primary Key : id_pengguna
Tabel 4.10. Tabel Pengguna
Nama Field Tipe Ekstra Keterangan
Id_user Int(20) Auto increment Id_user
Nama_user Varchar(50) unique Nama user yang digunakan sebagai username di saat login
Password Varchar(50) Password yang digunakan untuk melakukan verifikasi login
Id_session Varchar(100) Id yang dihasilkan dari session php untuk kepentingan pengamanan sistem
80
4.3.6. Perancangan State Transition Diagram (STD)
4.3.6.1. STD Menu Utama
Rancangan modul Menu berfungsi untuk memanggil sub-
program lain (modul-modul lain) untuk dijalankan.
a. STD Menu Utama User Administrator dan User Sekolah
Gambar 4.18. STD Menu Utama User Admin
81
b. STD Menu Utama User Biasa
Gambar 4.19. STD Menu Utama User
82
4.3.6.2.Rancangan Modul Masukan (Input)
Rancangan modul masukan dilakukan agar tingkatan
keakuratan data tinggi dan proses pemasukan data benar sehingga
dapat diterima dan dimengerti oleh pengguna sistem.
a. Rancangan Modul Masukan User Administrator
User dengan level administrator memiliki kewenangan
untuk melakukan manipulasi data di setiap halaman atau modul
yang ada. Berikut ini adalah State Transition Diagram (STD) Input
untuk user administrator.
1. Modul Provinsi
Gambar 4.20. STD Input Modul Provinsi
83
2. Modul Kabupaten
Gambar 4.21. STD Input Modul Kabupaten
84
3. Modul Sekolah
Gambar 4.22. STD Input Modul Sekolah
85
4. Modul Siswa
Gambar 4.23. STD Input Modul Siswa User Admin
86
b. Rancangan Modul Masukan User Sekolah
User dengan level sekolah hanya dapat memanipulasi
data pada modul siswa. Modul siswa ini ada di dalam menu
home dari user sekolah.
Klik HomeMasuk Siswa
Siswa
Klik tambahIsi form tambah Siswa
Tambah
Siswa
Keluar
Data berhasil disimpan
Tampilan data Siswa
Klik ubah, hapusMenampilkan data Siswa
Klik searchMenampilkan data Siswa
Klik HomeMasuk Siswa
Cetak
Klik cetakCetak data Siswa
Gambar 4.24. STD Input Modul Siswa User Sekolah
87
4.3.7. Perancangan Antarmuka (Interface)
4.3.7.1 Rancangan Antarmuka Halaman Provinsi
Halaman ini merupakan halaman awal bagi pengunjung
ketika mencari data yang dibutuhkan. Pada halaman ini admin
memiliki kewenangan untuk menambahkan provinsi baru,
sedangkan bagi akun selain admin button tambah provinsi dan
menu pada kolom aksi di tiap baris tidak akan berfungsi.
Pada halaman ini seluruh akun memiliki kewenangan untuk
melakukan proses pencetakan informasi yang ditampilkan ke
dalam format data excel. Informasi yang ditampilkan halaman ini
meliputi nilai rata-rata provinsi di tiga jenis ujian. Pada halaman ini
pula ditampilkan grafik perbandingan nilai provinsi satu dengan
provinsi yang lain.
a. User Administrator
Pada halaman ini, administrator diperkenankan untuk
melakukan hal hal berikut ini.
1. Mengelola data provinsi. Administrator diperkenankan untuk
melakukan penambahan provinsi baru, edit provinsi yang
sebelumnya sudah diinputkan dan juga dapat menghapus
provinsi yang sudah ada.
2. Administrator diperkenankan membuat report berdasarkan data
88
yang ditampilkan dengan melakukan klik pada tombol cetak,
kemudian sistem akan membuatkan dengan otomatis data
mengenai nilai per provinsi.
3. Administrator diperkenankan melihat perbandingan nilai data
siswa seluruh Indonesia. Siswa ditampilkan secara keseluruhan
per jenjang. Hal ini dimaksudkan agar diketahui perbandingan
siswa secara keseluruhan.
4. Administrator dapat melihat grafik nilai rata-rata per provinsi
dan juga nilai siswa seluruh Indonesia dalam bentuk grafik
batang dan juga dalam bentuk grafik lingkaran.
Gambar 4.25. Antarmuka Halaman Provinsi Level Admin
89
Gambar 4.26. Antarmuka Input Provinsi
b. User Selain Administrator
1. User diperkenankan membuat report dari data yang ditampilkan
dengan melakukan klik pada tombol cetak, kemudian sistem akan
membuatkan dengan otomatis data mengenai nilai per provinsi.
2. User diperkenankan melihat perbandingan nilai data siswa seluruh
Indonesia. Siswa ditampilkan secara keseluruhan per jenjang. Hal ini
dimaksudkan agar diketahui perbandingan siswa secara keseluruhan.
3. User dapat melihat grafik nilai rata-rata per provinsi dan juga nilai
siswa seluruh Indonesia dalam bentuk grafik batang dan juga dalam
bentuk grafik lingkaran.
90
Gambar 4.27. Antarmuka Halaman Provinsi Level User
4.3.7.2. Rancangan Antarmuka Halaman Kabupaten
Halaman kabupaten terbuka jika user melakukan klik nama
provinsi tertentu pada halaman provinsi. Dengan demikian
halaman kabupaten sangat bergantung kepada halaman sebelumnya
(halaman provinsi).
Halaman ini menampilkan daftar kabupaten dari provinsi
yang dipilih. Informasi yang ditampilkan meliputi daftar kabupaten
beserta nilai rata rata dari tiga jenis ujian. Grafik yang ditampilkan
adalah grafik perbandingan nilai antara kabupaten satu dengan
lainnya.
91
User dengan tingkatan administrator dapat memanfaatkan
menu tambah provinsi dan juga menu di dalam kolom aksi.
a. User Administrator
1. Administrator diperkenankan mengolah data kabupaten.
Dengan demikian administrator dapat melakukan penambahan
kabupaten, edit kabuapaten yang telah ada sebelumnya, dan
juga dapat melakukan hapus kabupaten yang ada.
2. Administrator dapat membuat laporan berisi data yang
ditampilkan pada halaman ini dalam format xls atau Microsoft
excel.
3. Administrator diperkenankan untuk melihat peringkat siswa
dalam satu provinsi tertentu. Di sini ditampilkan urutan siswa
yang berada dalam provinsi yang dipilih sebelumnya.
92
Gambar 4.28. Antarmuka Halaman Kabupaten Level Admin
Gambar 4.29. Antarmuka Input Kabupaten
93
b. User Selain Administrator
1. User dapat melihat nilai rata-rata dan peringkat kabupaten
dalam satu provinsi.
2. User dapat membuat laporan berisi data yang ditampilkan pada
halaman ini dalam format xls atau Microsoft excel.
3. User diperkenankan untuk melihat peringkat siswa dalam satu
provinsi tertentu. Di sini ditampilkan urutan siswa yang berada
dalam provinsi yang dipilih sebelumnya.
Gambar 4.30. Antarmuka Halaman Kabupaten Level User
94
4.3.7.3.Rancangan Antarmuka Halaman Sekolah
Halaman sekolah ditampilkan setelah user melakukan klik
pada salah satu kabupaten di halaman kabupaten. Halaman ini
menampilkan rata-rata nilai sekolah. Nilai rata-rata ini berdasarkan
nilai yang diperoleh oleh siswa di masing masing sekolah.
Pada user dengan level admin, menu tambah sekolah dapat
digunakan dan menu pada kolom aksi juga dapat digunakan.
Sekolah yang terdaftar di halaman ini merupakan user yang telah
berhasil melakukan proses registrasi ataupun sengaja didaftarkan
oleh administrator.
Gambar 4.31. Antarmuka Halaman Sekolah Level Admin
95
Pada halaman ini terdapat tombol untuk melakukan
penambahan sekolah yang hanya dapat diakses oleh admin. Ketika
tombol ini ditekan, maka akan tampil form isian untuk melakukan
penambahan sekolah baru.
Gambar 4.32. Antarmuka Halaman Input Sekolah
Pada level user, ada beberapa menu ditutup oleh sistem.
Menu yang ditutup ini adalah menu yang bersifat administratif,
yaitu menu untuk menambahkan sekolah, mengedit, dan juga
menghapus.
96
Gambar 4.33. Antarmuka Halaman Sekolah level User
4.3.7.4.Rancangan Antarmuka Halaman Siswa
Halaman siswa menjadi halaman home bagi sekolah yang
telah melakukan login. Sekolah yang telah melakukan login dapat
menambahkan siswa sesuai dengan data sekolahnya masing
masing. Fasilitas input ini ada dua macam, yaitu input langsung
melalui form pada aplikasi, atau input melalui file excel yang
diupload melalui aplikasi.
a. User Administrator
1. Administrator memiliki kewenangan untuk meninjau semua
sekolah termasuk melakukan manajemen siswa di dalamnya.
97
Administrator dapat melakukan penambahan, pengeditan dan
penghapusan siswa di seluruh sekolah. Administrator juga
memiliki keleluasaan untuk melakukan manajemen nilai siswa.
2. Fasilitas upload siswa dapat digunakan oleh administrator jika
ingin menginput siswa tidak dari form pada aplikasi, namun
melalui data yang diketikkan terlebih dahulu melalui Microsoft
excel.
3. Administrator memiliki kewenangan menciptakan dokumen
berformat xls dari data siswa yang ditampilkan pada layar.
4. Administrator memiliki hak akses untuk melihat dan
menyimpan grafik perbandingan nilai siswa.
Gambar 4.34. Antarmuka Halaman Siswa Level Admin
98
b. User Sekolah
1. User dengan level sekolah memiliki kewenangan mengelola siswa
hanya pada sekolahnya saja. User dalam level ini tidak
diperkenankan mengelola siswa pada sekolah lain. Hak akses yang
diberikan meliputi tambah siswa, edit siswa, dan juga hapus siswa.
2. User dengan level sekolah diberi kewenangan oleh sistem untuk
dapat mengelola nilai dari siswa nya.
3. Fasilitas cetak data ke format xls diperkenankan oleh sistem.
4. Fasilitas melihat dan menyimpan grafik perbandingan nilai antar
siswa juga diperkenankan.
Gambar 4.35. Antarmuka Halaman Siswa Level Sekolah
99
Gambar 4.36. Antarmuka Halaman Input Siswa
Gambar 4.37. Antarmuka Halaman Upload Siswa
100
c. User Biasa
User dalam level ini hanya memiliki hak akses sebatas
melihat saja.
1. User diperkenankan melihat nilai dari seluruh sekolah tanpa
ada hak untuk mengelola.
2. User diperkenankan mencetak data yang tampil ke dalam
format dokumen xls.
3. User diperkenankan untuk melihat grafik perbandingan nilai.
Gambar 4.38. Antarmuka Halaman Siswa Level User
101
4.3.7.5.Rancangan Antarmuka Halaman Registrasi
Halaman ini digunakan oleh user yang ingin mendaftarkan
diri menjadi entitas sekolah. Halaman ini terdiri dari form yang
harus diisi lengkap. Setelah data dikirim, maka user akan
mendapatkan kode verifikasi melalui email untuk melakukan
aktivasi user sekolah.
Gambar 4.39. Antarmuka Halaman Registrasi
102
4.3.7.6.Rancangan Antarmuka Halaman Login
Gambar 4.40. Antarmuka Halaman Login
4.3.7.7. Rancangan Antarmuka Halaman Lupa Password
Halaman ini berfungsi sebagai halaman untuk mendapatkan
password baru di kala user lupa dengan password yang telah
dibuat. Halaman ini muncul ketika user memasuki halaman login
dan melakukan klik pada tautan di dekat tombol login yaitu “Lupa
Password..?” .
User diminta untuk memasukkan alamat email yang
berfungsi juga sebagai username pada sistem. Setelah user
memasukkan email, maka sistem akan memproses alamat email
tersebut valid atau tidak, jika valid, maka sistem akan mengirimkan
email yang berisi kode unik untuk melakukan reset password. Hal
103
ini dilakukan untuk mencegah sembarang user melakukan reset
password.
User harus membuka emailnya untuk mendapatkan tautan
yang telah dikirimkan oleh sistem. Setelah tautan diklik oleh user,
maka password baru dibuat dan segera dikirimkan ke email user.
Gambar 4.41. Antarmuka Halaman Lupa Password
4.4. Construction
Pada tahap ini, hasil dari perancangan mulai diterjemahkan ke dalam
bahasa mesin melalui bahasa pemrograman, kemudian dilakukan uji coba modul
yang ada. Terdiri dari dua aktivitas yaitu pengkodean dan juga pengujian.
104
4.4.1. Pengkodean Sistem
Tahap ini perancangan mulai diterjemahkan ke dalam bahasa
mesin melalui bahasa pemrograman, terdiri dari dua aktivitas yaitu
pembuatan kode program sistem dan pembuatan antarmuka program untuk
navigasi sistem.
Tabel 4.11. Daftar Tools Tahap Pengkodean Sistem
No Tools Kegunaan
1 Apache web server Web server
2 MySQL Database server
3 Phpmyadmin Antar muka mysql
4 MySQL workbench Antar muka mysql
5 Adobe Dreamweaver CS3 Editor HTML dan kode PHP
6 Notepad ++ Editor HTML dan kode PHP
4.4.1.1. Pembuatan Kode Sistem
Pada pemrograman sistem baru, penulis
mengimplementasikan DFD, flowchart dan database sistem baru
ke dalam kode pemrograman. Kode pemrogrman yang penulis
tampilkan hanya kode-kode terpenting saja. Kode pemrograman
dapat dilihat pada Lampiran.
105
4.4.1.2. Pembuatan Antarmuka Sistem
Pembuatan antarmuka sistem yaitu melakukan
implementasi dari rancangan yang sebelumnya telah dibuat.
Antarmuka yang penulis buat akan penulis tampilkan pada
Lampiran.
4.4.2. Pengujian Sistem
Setelah melakukan pengkodean, sistem harus diuji untuk
mengantisipasi kesalahan yang mungkin akan terjadi pada penggunaan
oleh end user. Pengujian yang penulis lakukan adalah menguji fungsi pada
setiap halaman.
a. Pengujian Halaman Login
Tabel 4.12. Tabel Pengujian Halaman Login
No Fungsi Keterangan Hasil yang
Diharapkan
Hasil
Pengujian
1. Login Memasukkan
username dan
password
Masuk Halaman
Manajemen Data
OK
2. Lupa Password Memasukkan
alamat email
untuk
mendapatkan
konfirmasi
perubahan
password
User yang lupa
password
mendapatkan email
konfirmasi perubahan
password
OK
106
b. Pengujian Halaman Register
Tabel 4.13. Tabel Pengujian Halaman Register
No Fungsi Keterangan Hasil yang
Diharapkan
Hasil
Pengujian
1. Register sekolah
baru dari sisi
user
Memasukkan
data sekolah
yang ingin
didaftarkan
Data diinputkan
sebagai sekolah baru,
email detail user
dikirimkan.
OK
c. Pengujian Halaman Provinsi
Tabel 4.14. Tabel Pengujian Halaman Provinsi
No Fungsi Keterangan Hasil yang
Diharapkan
Hasil
Pengujian
1. Menampilkan
rekap nilai
Menampilkan
rekap nilai
secara nasional
Sistem dapat
menampilkan data
rekap nilai secara
nasional
OK
2. Menampilkan
daftar provinsi
Menampilkan
daftar provinsi
yang ada di
database
Sistem dapat
menampilkan daftar
provinsi berserta nilai
rata-rata nya
OK
3. Klik tombol
tambah provinsi
Melakukan
penambahan
provinsi baru
Tombol hanya akan
muncul jika user
melakukan login
sebagai admin,
menampilkan form
OK
107
input provinsi
4. Klik tombol lihat
siswa
Melihat siswa
dari seluruh
provinsi
Menampilkan seluruh
siswa dari semua
provinsi sebagai data
siswa secara nasional
OK
5. Klik tombol
cetak
Melakukan
generate
dokumen excel
dari data yang
tampil pada tabel
utama
Menghasilkan
dokumen .xls dari
tabel utama
OK
6. Klik link edit Melakukan
pengeditan
provinsi
Link akan tampil jika
user login sebagai
admin, menghasilkan
form edit provinsi
OK
7. Klik link hapus Melakukan
penghapusan
provinsi
Link akan tampil jika
user melakukan login
sebagai admin,
provinsi yang dihapus
akan hilang beserta
seluruh data yang
berada di dalamnya
OK
8 Menu pencarian Melakukan
pencarian data
User melakukan
pencarian dengan
memasukkan
keywords yang ingin
dijadikan patokan
pencarian
OK
108
d. Pengujian Halaman Kabupaten
Tabel 4.15. Tabel Pengujian Halaman Kabupaten
No Fungsi Keterangan Hasil yang
Diharapkan
Hasil
Pengujian
1. Menampilkan
rekap nilai
Menampilkan
rekap nilai
Sistem dapat
menampilkan data
rekap nilai dari
provinsi yang
sebelumnya dipilih
OK
2. Menampilkan
daftar kabupaten
Menampilkan
daftar kabupaten
yang ada di
database
Sistem dapat
menampilkan daftar
kabupaten dari
provinsi yang dipilih
berserta nilai rata-rata
nya
OK
3. Klik tombol
tambah
kabupaten
Melakukan
penambahan
kabupaten baru
Tombol hanya akan
muncul jika user
melakukan login
sebagai admin,
menampilkan form
input kabupaten
OK
4. Klik tombol lihat
siswa
Melihat daftar
siswa
Menampilkan seluruh
siswa dari seluruh
kabupaten yang ada
di provinsi yang
dipilih
OK
5. Klik tombol
cetak
Melakukan
generate
dokumen excel
dari data yang
Menghasilkan
dokumen .xls dari
tabel utama
OK
109
tampil pada tabel
utama
6. Klik link edit Melakukan
pengeditan
kabupaten
Link akan tampil jika
user login sebagai
admin, menghasilkan
form edit kabupaten
OK
7. Klik link hapus Melakukan
penghapusan
kabupaten
Link akan tampil jika
user melakukan login
sebagai admin,
kabupaten yang
dihapus akan hilang
beserta seluruh data
yang berada di
dalamnya
OK
8 Menu pencarian Melakukan
pencarian data
User melakukan
pencarian dengan
memasukkan
keywords yang ingin
dijadikan patokan
pencarian
OK
110
e. Pengujian Halaman Sekolah
Tabel 4.16. Tabel Pengujian Halaman Sekolah
No Fungsi Keterangan Hasil yang
Diharapkan
Hasil
Pengujian
1. Menampilkan
rekap nilai
Menampilkan
rekap nilai
Sistem dapat
menampilkan rekap
nilai dari kabupaten
yang sebelumnya
dipilih
OK
2. Menampilkan
daftar sekolah
Menampilkan
daftar sekolah
yang ada di
database
Sistem dapat
menampilkan daftar
sekolah dari
kabupaten yang
dipilih berserta nilai
rata-rata nya
OK
3. Klik tombol
tambah sekolah
Melakukan
penambahan
sekolah baru
Tombol hanya akan
muncul jika user
melakukan login
sebagai admin,
menampilkan form
input sekolah
OK
4. Klik tombol lihat
siswa
Melihat daftar
siswa
Menampilkan seluruh
siswa dari seluruh
sekolah yang ada di
kabupaten yang
dipilih
OK
5. Klik tombol
cetak
Melakukan
generate
Menghasilkan
dokumen .xls dari
OK
111
dokumen excel
dari data yang
tampil pada tabel
utama
tabel utama
6. Klik link edit Melakukan
pengeditan
sekolah
Link akan tampil jika
user login sebagai
admin, menghasilkan
form edit sekolah
OK
7. Klik link hapus Melakukan
penghapusan
sekolah
Link akan tampil jika
user melakukan login
sebagai admin,
sekolah yang dihapus
akan hilang beserta
seluruh data yang
berada di dalamnya
OK
8 Menu pencarian Melakukan
pencarian data
User melakukan
pencarian dengan
memasukkan
keywords yang ingin
dijadikan patokan
pencarian
OK
112
f. Pengujian Halaman Siswa
Tabel 4.17. Tabel Pengujian Halaman Siswa
No Fungsi Keterangan Hasil yang
Diharapkan
Hasil
Pengujian
1. Menampilkan
rekap nilai
Menampilkan
rekap nilai
Sistem dapat
menampilkan rekap
nilai dari sekolah
yang sebelumnya
dipilih
OK
2. Menampilkan
daftar siswa
Menampilkan
daftar siswa
yang ada di
database
Sistem dapat
menampilkan daftar
siswa dari sekolah
yang dipilih berserta
nilai rata-rata nya
OK
3. Klik tombol
tambah siswa
Melakukan
penambahan
siswa baru
Tombol hanya akan
muncul jika user
melakukan login
sebagai admin,
menampilkan form
input sekolah
OK
4. Klik tombol
upload siswa
Melakukan input
siswa melalui
file Ms. Excel
Melakukan
penambahan siswa
melalui upload file
tertentu
OK
5. Klik tombol
cetak
Melakukan
generate
dokumen excel
dari data yang
tampil pada tabel
utama
Menghasilkan
dokumen .xls dari
tabel utama
OK
113
6. Klik link edit Melakukan
pengeditan siswa
Link akan tampil jika
user login sebagai
admin, menghasilkan
form edit siswa
OK
7. Klik link hapus Melakukan
penghapusan
siswa
Link akan tampil jika
user melakukan login
sebagai admin, siswa
yang dihapus akan
hilang beserta seluruh
data yang berada di
dalamnya
OK
8 Menu pencarian Melakukan
pencarian data
User melakukan
pencarian dengan
memasukkan
keywords yang ingin
dijadikan patokan
pencarian
OK
114
g. Pengujian Halaman Ganti Password
Tabel 4.18. Tabel Pengujian Halaman Ganti Password
No Fungsi Keterangan Hasil yang
Diharapkan
Hasil
Pengujian
1. Ganti password Merubah
password lama
dengan password
baru
User memasukkan
password lama,
kemudian password
baru dan konfirmasi
password baru untuk
mengganti password
lama dengan
password yang baru
OK
4.5. Development
Disebut juga sebagai tahapan penerapan aplikasi yang telah dibuat. Pada
tahap ini, penulis melakukan instalasi sistem baru ke dalam komputer yang akan
digunakan sebagai server. Pelatihan terhadap user akan sangat dibutuhkan untuk
efektivitas penggunaan sistem.
115
BAB V
PENUTUP
Bab ini adalah bab penutup yang berisi kesimpulan dan saran.
5.1. Kesimpulan
Berdasarkan pembahasan yang sudah diuraikan, penulis mencoba
membuat kesimpulan sebagai berikut :
1. Sistem Pelaporan nilai USBN PAI berbasis web yang penulis buat dapat
membantu monitoring prestasi siswa, sekolah, kabupaten dan juga provinsi
dalam mata pelajaran Pendidikan Agama Islam.
2. Sistem Pelaporan nilai USBN PAI berbasis web dapat mendukung
dihasilkannya informasi yang cepat dan akurat kepada semua pihak yang
membutuhkan informasi mengenai nilai USBN PAI terupdate.
3. Sistem Pelaporan nilai USBN PAI berbasis web memberikan penghematan
biaya yang sebelumnya digunakan untuk melakukan distribusi data dalam
bentuk hardcopy. Data sudah tidak lagi dikirimkan berupa dokumen tertulis,
namun sudah dalam bentuk data mentah yang diinputkan ke dalam sistem
kemudian sampai ke pusat dalam bentuk informasi hasil pengolahan data
mentah oleh sistem.
4. Sistem ini memberikan kemudahan kepada sekolah untuk menyampaikan nilai
hasil ujian siswanya kepada panitia USBN PAI tingkat pusat.
5. Sistem Pelaporan nilai USBN PAI berbasis web memungkinkan adanya
pengolahan data terpusat, dalam hal ini data akan diolah pada server sehingga
116
data tidak akan terserbar dan menjaga informasi yang dihasilkan merupakan
informasi yang valid.
6. Sistem pelaporan yang berbasis web ini merupakan solusi tepat sebuah sumber
informasi untuk diakses secara massal karena tidak membutuhkan instalasi di
sisi client. Client hanya membutuhkan koneksi internet dan web browser
sudah dapat melakukan pengolahan data pada server.
6.2.Saran
Berdasarkan hasil penelitian dari kesimpulan, maka dapat diajukan
beberapa saran sebagai berikut:
1. Training atau pelatihan terhadap user diperlukan untuk efektifitas penggunaan
sistem pelaporan ini.
2. Sistem ini akan lebih baik lagi jika dikembangkan menggunakan web service
untuk mengambil data siswa dari Kementrian Pendidikan Nasional, sehingga
ada sinkronisasi antara data siswa peserta Ujian Nasional (UN) dan Ujian
Sekolah Berstandar Nasional Pendidikan Agama Islam (USBN PAI).
117
DAFTAR PUSTAKA
Jogiyanto, HM., MBA., Akt., Ph.D. 2005. Analisis & Desain Sistem Informasi:
Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis. Andi:
Yogyakarta.
Kadir, Abdul. 2009. Dasar Perancangan dan Implementasi Database Relational.
Andi : Yogyakarta.
Kemenag. 2010. Pedoman Pelaksanaan Ujian Sekolah Berstandar Nasional
Pendidikan Agama Mata Pelajaran Agama Islam. Kementrian Agama RI:
Jakarta.
Kemenag. 2011. Profil Direktorat Pendidikan Agama Islam pada Sekolah[Online]
Tesedia : http://pendis.kemenag.go.id/kerangka/pais.htm.[30 Mei 2011]
Marimin. 2008. Teknik dan Aplikasi Pengambilan Keputusan Kriteria Majemuk.
Grasindo: Jakarta.
Misky, Dudi. 2005. Kamus Informasi dan Teknologi. Edsa Mahkota: Jakarta.
Mulyanto, Agus. 2009. Sistem Informasi Konsep dan Aplikasi. Pustaka Belajar :
Yogyakarta.
Nugroho, Bunafit. 2008. Panduan Lengkap Menguasai Perintah SQL. Media
Kita:Jakarta.
PhpMyAdmin Devel Team. 2003. PhpMyAdmin [Online] Tersedia:
http://www.phpmyadmin.net/home_page/. [1 Pebruari 2010]
Pressman, Roger S. 2002. Rekayasa Perangkat Lunak. Buku 1. Alih bahasa. Andi:
Yogyakarta.
118
Pressman, Roger S. 2005. Software Engineering : A Practitioner’s Approach sixth
edition. Mc Graw Hill: Singapore.
Sardi, Irawan. 2005. Manajemen, Desain, dan Pengembangan Situs Web dengan
Macromedia Dreamweaver MX, dan Adobe Photoshop 7.0. Elex Media
Komputindo: Jakarta.
Simarmata, Janner. 2010. Rekayasa Perangkat Lunak. Andi: Yogyakarta.
Wahana Komputer.2004. Kamus Lengkap Jaringan Komputer. Salemba Infotek:
Jakarta.
Wahana. 2005. Panduan Lengkap Menguasai Pemrograman Web dengan PHP 5.
Andi: Yogyakarta.
Wikipedia . 2011. Apache_HTTP_Server [Online] Tesedia :
http://id.wikipedia.org/wiki/Apache_HTTP_Server.[30 Mei 2011]
Wikipedia . 2011. Internet [Online] Tesedia :
http://id.wikipedia.org/wiki/Internet.[30 Mei 2011]
Wikipedia . 2011. Server Web [Online] Tesedia :
http://id.wikipedia.org/wiki/Web_server.[30 Mei 2011]
A1
LAMPIRAN A
WAWANCARA
Berikut ini adalah pertanyaan utama penulis dengan Bapak Dr. Halvian
Lubis, SH. M.Ag.
1. Proses pengumpulan nilai USBN PAI dari seluruh provinsi di Indomesia.
2. Seberapa penting rekapitulasi nilai USBN PAI terhadap program kerja
DITPAIS.
3. Tanggapan narasumber jika dibuat sistem terkomputerisasi yang mampu
menangani pengumpulan nilai secara nasional.
4. Gambaran sistem yang diinginkan narasumber mengenai pelaporan dan
pengolahan nilai USBN PAI.
Hasil dari wawancara ini telah penulis implementasikan ke dalam bab hasil
dan pembahasan.
B1
LAMPIRAN B
SOURCE CODE
Koneksi.php
<?php$host ="localhost";$username ="root";$password ="";$db ="final";
mysql_connect($host,$username,$password);$koneksi=mysql_select_db($db);if ($koneksi){
//echo "koneksi berhasil";}else{
echo "koneksi gagal";}
?>
Header.php<?php
include "koneksi.php";?><html><head><title>:: Skripsi Wahib ::</title><link href='adminstyle.css' rel='stylesheet' type='text/css' /> <script language='JavaScript'> function konfirmasi() { tanya = confirm('Penghapusan akan mengakubatkan seluruh data di bawah item induk ini akan ikut terhapus'); if (tanya == true) return true; else return false; } function showKab(){<?php
// membaca semua propinsi$query = "SELECT * FROM provinsi";$hasil = mysql_query($query);
// membuat if untuk masing-masing pilihan propinsi beserta isi option untuk combobox keduawhile ($data = mysql_fetch_array($hasil)){
B2
$idProp = $data['id_prop'];
// membuat IF untuk masing-masing propinsi echo "if (document.demo.propinsi.value == \"".$idProp."\")"; echo "{";
// membuat option kabupaten untuk masing-masing propinsi $query2 = "SELECT * FROM kabupaten WHERE id_prop = $idProp"; $query3 = "SELECT count(id_kab) FROM kabupaten WHERE id_prop = $idProp"; $hasil2 = mysql_query($query2); $hitung = mysql_query($query3); if ($hitung > 0) {
$content = "document.getElementById('kabupaten').innerHTML = \"<select name='kab'>";
while ($data2 = mysql_fetch_array($hasil2)){
$content .= "<option value='".$data2['id_kab']."'>".$data2['nm_kab']."</option>";
}$content .= "</select>\";";
} else {
$content = "document.getElementById('kabupaten').innerHTML = \<select name='kab'> </select>\";"; } echo $content; echo "}\n"; }
?> }
</script></head><body>
<div id="header">
<div id="menu"> <?php
include "menu.php"; ?>
<br> </div>
<div id="content">
B3
Footer.php<?php
echo "</div><div id='footer'>
Copyright © 2011 by Mawahib</div>
</div></body></html>";?>
Style.cssbody{
font-family: Tahoma;text-align: center;background-color: #E3EBB1;
} #header {
position: relative;background-image: url(images/header.jpg);background-repeat: no-repeat;margin-right: auto;margin-left: auto;width: 850px;border: 1px solid #00690D;padding-top: 100px;text-align: left;
}
#content {margin-left: 110px;padding-top: 0px;padding-right: 10px;padding-bottom: 0;padding-left: 0;
}#content p {
font-size: 75%;line-height: 1.8em;padding-left: 2em;
}#menu { position: relative; float: left;
top: 0px;left: 0;width: 100px;
}#menu ul {
list-style: none;margin: 0;padding: 0;border: none;
}#menu li {
B4
width: 100px;border-bottom: 1px solid #969BA5;margin: 0;padding: 0;font-size: 80%;vertical-align: bottom;
}
#menu a:link, #menu a:visited {display: block;padding: 5px 5px 5px 0.5em;border-left: 12px solid #719D0A;border-right: 1px solid #00690D;background-color: #FFFFFF;color: #00690D; /** ini buat huruf **/text-decoration: none;
}#menu a:hover {
background-color: #719D0A;color: #FFFFFF;
}
li.tes{display: block;padding: 5px 5px 5px 0.5em;height : 26px;background-color: #719D0A;color: #FFFFFF;font-family: Tahoma;text-align: center;font-size: 8pt;text-transform: uppercase;
}
li.pilih{display: block;padding: 5px 5px 5px 0.5em;height : 26px;background-color: #719D0A;color: #FFFFFF;font-family: Tahoma;text-align: center;font-size: 8pt;text-transform: uppercase;
}
a:link,a:visited { color:#00690D;}a:hover {
color: #000000;text-decoration:none;
}h2 {
font: normal 120% Georgia;line-height: 120%;
B5
color: #00690D;background-color: transparent;border-bottom: 1px dotted #00690D;
}
table {width: 700px;background-color: #FFFFFF;font-family: Tahoma; font-size: 8pt;border-width: 1px;border-style: solid;border-color: #999999;border-collapse: collapse;margin: 10px 0px;text-transform: uppercase;
}
table.register {border-width: 0px;
}table.login {
width: 300px;background-color: #FFFFFF;font-family: Tahoma; font-size: 8pt;border-width: 1px;border-style: solid;border-color: #999999;border-collapse: collapse;margin: 10px 0px;
}th{
color: #FFFFFF;font-size: 7pt;text-transform: uppercase;text-align: center;padding: 0.5em;border-width: 1px;border-style: solid;border-color: #969BA5;border-collapse: collapse;background-color: #719D0A;
}
#judul a:link, #judul a:visited {color: #FFFFFF;
}
td{padding: 0.5em;vertical-align: top;border-width: 1px;border-style: solid;border-color: #969BA5;border-collapse: collapse;
B6
}
input ,select{font-family: Tahoma; font-size: 8pt;
}
textarea{font-family: Tahoma; font-size: 8pt;width: 200px;height : 100px;
}
input.register{font-family: Tahoma; font-size: 8pt;width: 175px;
}
#paging{font-family: Tahoma; font-size: 8pt;
}#footer{ clear :both;
padding: 20px 0 10px 0px;font-size: 70%;color: #FFFFFF;background-color: #719D0A;text-align: center;
}
div.data{ width: 725px;
height: 215px; overflow: auto;
border-top-style: groove; border-bottom-style: groove; border-right-style: groove; border-left-style: groove; border-color: lightblue; border-width: 2px;
}table.jumlah
{ border-width: 2px; border-style: groove; border-color: lightblue; width: 725px; height: 40px;
B7
-moz-border-radius-bottomleft : 9px; -moz-border-radius-bottomright : 9px; -webkit-border-bottom-left-radius : 9px; -webkit-border-bottom-right-radius : 9px;}
th.judul { width: 150px; } td.data {
width: 150px; }
th.angka { width: 75px; } td.angka { width: 75px; } tr.data:hover { background-color: #719D0A; }
B8
Anti_injection.php<?php
function anti_injection($data){$filter =
mysql_real_escape_string(stripslashes(strip_tags(htmlspecialchars($data,ENT_QUOTES))));
return $filter;}
function createRandomPassword() {
$chars = "abcdefghijkmnopqrstuvwxyz023456789"; srand((double)microtime()*1000000); $i = 0; $pass = '' ;
while ($i <= 7) { $num = rand() % 33; $tmp = substr($chars, $num, 1); $pass = $pass . $tmp; $i++; }
return $pass;
} ?>
Captcha.php<?phpsession_start();header("Content-type: image/png");
$captcha_image = imagecreatefrompng("images/captcha.png")or die("Fail to create image !");
$captcha_font = imageloadfont("images/anonymous.gdf");$captcha_text = substr(md5(uniqid('')),-9,9);
$_SESSION['captcha_session'] = $captcha_text;
$captcha_color = imagecolorallocate($captcha_image,0,0,0);imagestring($captcha_image,$captcha_font,15,5,$captcha_text,$captcha_color);imagepng($captcha_image);imagedestroy($captcha_image);?>
B9
Show_provinsi.php<?php
include 'koneksi.php';session_start();
if(empty($_SESSION[jenjang])){
header('location:sesion_jenjang.php?id=1');}
include 'header.php';include 'func/ant.php';
$id_jen = anti_injection($_SESSION[jenjang]);// buat mereload jenjang dari session$nama_jenjang = $_SESSION[nama_jenjang];$key = anti_injection($_POST[key]);echo $key;
echo "<b><a href = #>$nama_jenjang</a></b>";
echo "<h2>Provinsi</h2>";if(!empty($_GET[alert])){
echo $_GET[alert]."<br>";}
if(!empty($_SESSION[level])){
if($_SESSION[level] == 'admin'){
echo "<input type=button value='Tambah Provinsi' onclick=location.href='form_tambah_provinsi.php'>";
}}
echo "<input type=button value='Lihat Siswa' onclick=location.href='show_provinsi2.php'>
<input type=button value='Cetak Data' onclick=location.href='lap/prov.php'>
<form action = 'show_provinsi.php' method = 'post'>Cari Provinsi : <input type = 'text'
name='key'><input type = 'submit' value =
'cari'> </form>";
if(!empty($key)){
echo "<b>Hasil pencarian anda terhadap kata kunci : '".$key."'</b> <a href = 'show_provinsi.php'>kembali</a><br>";
}
echo "<table>
B10
<tr> <th width='25'>no</th> <th class = 'judul'>Provinsi</th> <th class = 'angka'>Jumlah Kabupaten</th> <th class = 'angka'>UASBN</th> <th class = 'angka'>Praktek</th> <th class = 'angka'>Akhlak Mulia</th>"; if($_SESSION[level] == 'admin')
{echo "<th class =
'angka'>aksi</th>";}else {
}echo " </tr></table>";
echo "<div class = 'data'><table>";
if(!empty($key)){
$tampil=mysql_query("select prop.id_prop, prop.nm_prop,count(kab.id_kab) jml_kab,
(select avg(nl.nl1) from kabupaten kab inner join sekolah skl on skl.id_kab = kab.id_kab inner join siswa sis on sis.id_skl = skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where kab.id_prop = prop.id_prop and skl.id_jen = '$id_jen') avg1,
(select avg(nl.nl2) from kabupaten kab inner join sekolah skl on skl.id_kab = kab.id_kab inner join siswa sis on sis.id_skl = skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where kab.id_prop = prop.id_prop and skl.id_jen = '$id_jen') avg2,
(select avg(nl.nl3) from kabupaten kab inner join sekolah skl on skl.id_kab = kab.id_kab inner join siswa sis on sis.id_skl = skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where kab.id_prop = prop.id_prop and skl.id_jen = '$id_jen') avg3
from provinsi prop left join kabupaten kab on kab.id_prop = prop.id_prop where prop.nm_prop LIKE '%$key%'
group by prop.id_prop
");}else{$tampil=mysql_query("select prop.id_prop,
prop.nm_prop,count(kab.id_kab) jml_kab,(select avg(nl.nl1) from kabupaten kab
inner join sekolah skl on skl.id_kab = kab.id_kab
B11
inner join siswa sis on sis.id_skl = skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where kab.id_prop = prop.id_prop and skl.id_jen = '$id_jen') avg1,
(select avg(nl.nl2) from kabupaten kab inner join sekolah skl on skl.id_kab = kab.id_kab inner join siswa sis on sis.id_skl = skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where kab.id_prop = prop.id_prop and skl.id_jen = '$id_jen') avg2,
(select avg(nl.nl3) from kabupaten kab inner join sekolah skl on skl.id_kab = kab.id_kab inner join siswa sis on sis.id_skl = skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where kab.id_prop = prop.id_prop and skl.id_jen = '$id_jen') avg3
from provinsi prop left join kabupaten kab on kab.id_prop = prop.id_prop group by prop.id_prop
");}
$no=1; while ($r=mysql_fetch_array($tampil)){
echo "<tr class = 'data'><td width='25'>$no</td>
<td class = 'data'><a href=sesion_prov.php?id=$r[id_prop]>$r[nm_prop]</a></td>
<td align=center class = 'angka'>$r[jml_kab]</td>
<td align=center class = 'angka'>".number_format($r[avg1], 2, '.', '')."</td>
<td align=center class = 'angka'>".number_format($r[avg2], 2, '.', '')."</td>
<td align=center class = 'angka'>".number_format($r[avg3], 2, '.', '')."</td> ";
if($_SESSION[level] == 'admin'){
echo "<td class = 'angka'><a
href=edit_provinsi.php?id=$r[id_prop]>Edit</a> | <a
href=hapus_provinsi.php?id=$r[id_prop] onclick='return konfirmasi()'>Hapus</a>
</td>";}else {
//echo "<td class = 'angka'> </td>";
}
B12
echo "</tr>";
$no++; } echo "</table></div>";
$rata=mysql_query("select avg(nl.nl1) avg1, avg(nl.nl2) avg2,avg(nl.nl3) avg3,
max(nl.nl1) max1, max(nl.nl2) max2, max(nl.nl3) max3, count(sis.id_sis) jml_sis,
min(nl.nl1) min1, min(nl.nl2) min2, min(nl.nl3) min3from kabupaten kab inner join provinsi pr on pr.id_prop = kab.id_prop
inner join sekolah skl on skl.id_kab = kab.id_kab inner join siswa sis on sis.id_skl= skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where (id_jen = '$id_jen' and pr.nm_prop like '%$key%')");
echo "<table class='jumlah'> <tr> <td colspan = 2><table>
<tr><th>Ujian Tulis</th><th>Praktikum Ibadah</th><th>Akhlak Mulia</th><th>Jumlah Siswa</th></tr>";
while ($avg=mysql_fetch_array($rata)){ echo "<tr>
<td align = center><b>".number_format($avg[avg1], 2, '.', '')."</b> (".number_format($avg[max1], 2, '.', '')."-".number_format($avg[min1], 2, '.', '').")</td> <td align = center><b>".number_format($avg[avg2], 2, '.', '')."</b> (".number_format($avg[max2], 2, '.', '')."-".number_format($avg[min2], 2, '.', '').")</td>
<td align = center><b>".number_format($avg[avg3], 2, '.', '')."</b> (".number_format($avg[max3], 2, '.', '')."-".number_format($avg[min3], 2, '.', '').")</td>
<td align = center><b>$avg[jml_sis]</td></tr>";$jml = $avg[jml_sis];
}echo "</table>";
echo "</td></tr> ";
/**$count1=mysql_query ("select count(nl.nl1) nl1 from
kabupaten kab inner join sekolah skl on skl.id_kab = kab.id_kab inner join siswa sis on sis.id_skl= skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where id_jen = $_SESSION[jenjang] and nl.nl1 between '8' and '10'");
$count2=mysql_query ("select count(nl.nl1) nl1 from kabupaten kab
B13
inner join sekolah skl on skl.id_kab = kab.id_kab inner join siswa sis on sis.id_skl= skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where id_jen = $_SESSION[jenjang] and nl.nl1 between '6' and '7.9'");
$count3=mysql_query ("select count(nl.nl1) nl1 from kabupaten kab inner join sekolah skl on skl.id_kab = kab.id_kab inner join siswa sis on sis.id_skl= skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where id_jen = $_SESSION[jenjang] and nl.nl1 between '0' and '5.9'");
$program1=mysql_fetch_array($count1);$rentang1=$program1[nl1];$program2=mysql_fetch_array($count2);$rentang2=$program2[nl1];$program3=mysql_fetch_array($count3);$rentang3=$program3[nl1];**/if ($jml > 0){echo " <tr>
<td><img
src='grafik/batang_show_prov_uan.php?key=$key'><br><img
src='grafik/batang_show_prov_pr.php?key=$key'><br><img
src='grafik/batang_show_prov_ak.php?key=$key'></td><td>
<img src='grafik/grafik_show_prop.php?key=$key'>
<img src='grafik/grafik_show_prop2.php?key=$key'>
<img src='grafik/grafik_show_prop3.php?key=$key'>
</td></tr>";
}echo "</table>";
include 'footer.php';?>
B14
Show_provinsi2.php<?php
include 'koneksi.php';session_start();if(empty($_SESSION[jenjang])){
header('location:sesion_jenjang.php?id=1');}
include 'header.php';include 'func/ant.php';
$id_jen = $_SESSION[jenjang]; // buat mereload jenjang dari session
$nama_jenjang = $_SESSION[nama_jenjang];$key = anti_injection($_POST[key]);echo $key;
echo "<b><a href = #>$nama_jenjang</a></b>";
echo "<h2>Provinsi</h2> <input type=button value='Lihat Provinsi' onclick=location.href='show_provinsi.php'>
<input type=button value='Cetak Data' onclick=location.href='lap/prov2.php'>
<form action = 'show_provinsi2.php' method = 'post'>Cari Siswa : <input type = 'text'
name='key'><input type = 'submit' value =
'cari'> </form>";
if(!empty($key)){
echo "<b>Hasil pencarian anda terhadap kata kunci : '".$key."'</b> <a href = 'show_provinsi2.php'>kembali</a><br>";
} echo "<div id=judul>
<table> <tr>
<th width='25'>no</th> <th width='50'>Nomor</th> <th class = 'judul'><a href =
show_provinsi2.php?sc=1>Nama</a></th> <th class = 'angka'><a href =
show_provinsi2.php?sc=4>UASBN</a></th> <th class = 'angka'><a href =
show_provinsi2.php?sc=5>Praktek</a></th> <th class = 'angka'><a href =
show_provinsi2.php?sc=6>Akhlak Mulia</a></th> </tr></table></div>"; echo "<div class = 'data'><table>";
if ($_GET[sc]=='1')
B15
{$tampil=mysql_query("select * from provinsi propinner join kabupaten kab on kab.id_prop = prop.id_propinner join sekolah skl on skl.id_kab = kab.id_kabinner join siswa sis on sis.id_skl = skl.id_sklinner join nilai nl on nl.id_sis = sis.id_siswhere id_jen = $_SESSION[jenjang] order by nm_sis asc");
}else if ($_GET[sc]=='2'){
$tampil=mysql_query("select * from provinsi propinner join kabupaten kab on kab.id_prop = prop.id_propinner join sekolah skl on skl.id_kab = kab.id_kabinner join siswa sis on sis.id_skl = skl.id_sklinner join nilai nl on nl.id_sis = sis.id_siswhere id_jen = $_SESSION[jenjang] order by nm_skl asc");
}else if ($_GET[sc]=='3'){
$tampil=mysql_query("select * from provinsi propinner join kabupaten kab on kab.id_prop = prop.id_propinner join sekolah skl on skl.id_kab = kab.id_kabinner join siswa sis on sis.id_skl = skl.id_sklinner join nilai nl on nl.id_sis = sis.id_siswhere id_jen = $_SESSION[jenjang] order by nm_prop asc");
}else if ($_GET[sc]=='5'){
$tampil=mysql_query("select * from provinsi propinner join kabupaten kab on kab.id_prop = prop.id_propinner join sekolah skl on skl.id_kab = kab.id_kabinner join siswa sis on sis.id_skl = skl.id_sklinner join nilai nl on nl.id_sis = sis.id_siswhere id_jen = $_SESSION[jenjang] order by nl2 desc");
}else if ($_GET[sc]=='6'){
$tampil=mysql_query("select * from provinsi propinner join kabupaten kab on kab.id_prop = prop.id_propinner join sekolah skl on skl.id_kab = kab.id_kabinner join siswa sis on sis.id_skl = skl.id_sklinner join nilai nl on nl.id_sis = sis.id_siswhere id_jen = $_SESSION[jenjang] order by nl3 desc");
}else{
$tampil=mysql_query("select * from provinsi propinner join kabupaten kab on kab.id_prop = prop.id_propinner join sekolah skl on skl.id_kab = kab.id_kabinner join siswa sis on sis.id_skl = skl.id_sklinner join nilai nl on nl.id_sis = sis.id_sis
B16
where (id_jen = $_SESSION[jenjang] and sis.nm_sis like '%$key%') or (id_jen = $_SESSION[jenjang] and sis.nis like '%$key%') order by nl1 desc
");}
$no=1; while ($r=mysql_fetch_array($tampil)){
echo "<tr class = 'data'><td width='25'>$no</td>
<td width='50'>$r[nis]</td><td class = 'data'><a
href='#'>$r[nm_sis]</a></td>
<td align=center class = 'angka'>".number_format($r[nl1], 2, '.', '')."</td>
<td align=center class = 'angka'>".number_format($r[nl2], 2, '.', '')."</td>
<td align=center class = 'angka'>".number_format($r[nl3], 2, '.', '')."</td> </tr>";
$no++; } echo "</table></div>";
$rata=mysql_query("select avg(nl.nl1) avg1, avg(nl.nl2) avg2,avg(nl.nl3) avg3,
max(nl.nl1) max1, max(nl.nl2) max2, max(nl.nl3) max3, count(sis.id_sis) jml_sis,
min(nl.nl1) min1, min(nl.nl2) min2, min(nl.nl3) min3from kabupaten kab
inner join sekolah skl on skl.id_kab = kab.id_kab inner join siswa sis on sis.id_skl= skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where (id_jen = $_SESSION[jenjang] and sis.nm_sis like '%$key%') or (id_jen = $_SESSION[jenjang] and sis.nis like '%$key%') ");
echo "<table class='jumlah'> <tr> <td colspan = 2><table>
<tr><th>Ujian Tulis</th><th>Praktikum Ibadah</th><th>Akhlak Mulia</th><th>Jumlah Siswa</th></tr>";
while ($avg=mysql_fetch_array($rata)){ echo "<tr>
<td align = center><b>".number_format($avg[avg1], 2, '.', '')."</b> (".number_format($avg[max1], 2, '.', '')."-".number_format($avg[min1], 2, '.', '').")</td>
B17
<td align = center><b>".number_format($avg[avg2], 2, '.', '')."</b> (".number_format($avg[max2], 2, '.', '')."-".number_format($avg[min2], 2, '.', '').")</td>
<td align = center><b>".number_format($avg[avg3], 2, '.', '')."</b> (".number_format($avg[max3], 2, '.', '')."-".number_format($avg[min3], 2, '.', '').")</td>
<td align = center><b>$avg[jml_sis]</td></tr>";$jml = $avg[jml_sis];
}echo "</table>";
echo "</td></tr> ";
if ($jml > 0){echo " <tr>
<td><img
src='grafik/batang_show_prov_uan2.php?key=$key'><br><img
src='grafik/batang_show_prov_pr2.php?key=$key'><br><img
src='grafik/batang_show_prov_ak2.php?key=$key'></td><td>
<img src='grafik/grafik_show_prop_sis.php?key=$key'>
<img src='grafik/grafik_show_prop2_sis.php?key=$key'>
<img src='grafik/grafik_show_prop3_sis.php?key=$key'>
</td></tr>";
}echo "</table>";
include 'footer.php';?>
B18
Show_kabupaten.php<?php
session_start();
if(empty($_SESSION[jenjang])){
header('location:sesion_jenjang.php?id=1');}else if(empty($_SESSION[id_provinsi])){
header('location:sesion_jenjang.php?id=1');}
include 'header.php';include 'func/ant.php';$id_jen = anti_injection($_SESSION[jenjang]);
// buat mereload jenjang dari session$id_prop = anti_injection($_SESSION[id_provinsi])."<br>";$key = anti_injection($_POST[key]);//echo $key;
//echo $id_prop;
echo "<b><a href = 'show_provinsi.php'>$_SESSION[nama_jenjang]</a> - ";
echo "$_SESSION[nama_provinsi]</b>";
echo "<h2>Daftar Kabupaten di Provinsi $_SESSION[nama_provinsi]</h2>";
if(!empty($_SESSION[level])){
if($_SESSION[level] == 'admin'){
echo "<input type=button value='Tambah Kabupaten' onclick=location.href='form_tambah_kab.php'>";
}}
echo "<input type=button value='Lihat Siswa' onclick=location.href='show_kabupaten2.php'>
<input type=button value='Cetak Data' onclick=location.href='lap/kab.php'>
<form action = 'show_kabupaten.php' method = 'post'>Cari Kabupaten : <input type =
'text' name='key'><input type = 'submit' value =
'cari'> </form>";
if(!empty($key)){
echo "<b>Hasil pencarian anda terhadap kata kunci : '".$key."'</b> <a href = 'show_kabupaten.php'>kembali</a><br>";
}
B19
echo "<div id=judul> <table>
<tr><th width='25'>no</th> <th class = 'judul'><a href =
show_kabupaten.php?sc=1>kabupaten</a></th> <th class = 'angka'><a href =
show_kabupaten.php?sc=2>Jumlah Sekolah</a></th> <th class = 'angka'><a href =
show_kabupaten.php?sc=3>Ujian Tulis</a></th> <th class = 'angka'><a href =
show_kabupaten.php?sc=4>Ujian Praktek</a></th> <th class = 'angka'><a href =
show_kabupaten.php?sc=5>Akhlak Mulia</a></th>";if($_SESSION[level] == 'admin'){
echo " <th width='100'>aksi</th>";}echo "</tr></table></div>";
echo " <div class = 'data'>
<table> ";
if ($_GET[sc]=='1'){
$order = "nm_kab";$type = "asc";
}else if ($_GET[sc]=='2'){
$order = "jml_skl";$type = "desc";
}else if ($_GET[sc]=='3'){
$order = "rata1";$type = "desc";
}else if ($_GET[sc]=='4'){
$order = "rata2";$type = "desc";
}else if ($_GET[sc]=='5'){
$order = "rata3";$type = "desc";
}else{
$order = "rata1";$type = "desc";
}
B20
$tampil=mysql_query("select *, (select count(id_skl) from sekolah skl where skl.id_kab = kab.id_kab and skl.id_jen = '$id_jen') as jml_skl,
(select avg(nl.nl1)as nl1 from sekolah skl inner join siswa sis on sis.id_skl = skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where skl.id_kab = kab.id_kab and skl.id_jen = '$id_jen') as rata1,
(select avg(nl.nl2)as nl1 from sekolah skl inner join siswa sis on sis.id_skl = skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where skl.id_kab = kab.id_kab and skl.id_jen = '$id_jen') as rata2,
(select avg(nl.nl3)as nl1 from sekolah skl inner join siswa sis on sis.id_skl = skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where skl.id_kab = kab.id_kab and skl.id_jen = '$id_jen') as rata3
from kabupaten kab where (id_prop = '$id_prop' and kab.nm_kab like '%$key%') order by $order $type");
$no=1; while ($r=mysql_fetch_array($tampil)){
echo "<tr class = 'data'><td width='25'>$no</td> <td class = 'data'><a href=sesion_kab.php?id=$r[id_kab]>$r[nm_kab]</a></td>
<td align = center class = 'angka'>$r[jml_skl]</td>
<td align = center class = 'angka'>".number_format($r[rata1], 2, '.', '')."</td>
<td align = center class = 'angka'>".number_format($r[rata2], 2, '.', '')."</td>
<td align = center class = 'angka'>".number_format($r[rata3], 2, '.', '')."</td> ";
if($_SESSION[level] == 'admin'){echo " <td width='100'><a
href=edit_kabupaten.php?id=$r[id_kab]>Edit</a> | <a href=hapus_kab.php?id=$r[id_kab]
onclick='return konfirmasi()'>Hapus</a></td>";
}else {
//echo "<td class = 'angka'> </td>";
}
B21
echo "</tr>";
$no++; } echo "</table></div>";
$rata=mysql_query("select avg(nl.nl1) avg1, avg(nl.nl2) avg2,avg(nl.nl3) avg3,
max(nl.nl1) max1, max(nl.nl2) max2, max(nl.nl3) max3, count(sis.id_sis) jml_sis,
min(nl.nl1) min1, min(nl.nl2) min2, min(nl.nl3) min3from kabupaten kab
inner join sekolah skl on skl.id_kab = kab.id_kab inner join siswa sis on sis.id_skl= skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where kab.id_prop = '$id_prop' and id_jen = '$id_jen' and kab.nm_kab like '%$key%'");
echo "<table class='jumlah'> <tr> <td colspan = 2><table>
<tr><th>Ujian Tulis</th><th>Praktikum Ibadah</th><th>Akhlak Mulia</th><th>Jumlah Siswa</th></tr>";
while ($avg=mysql_fetch_array($rata)){ echo "<tr>
<td align = center><b>".number_format($avg[avg1], 2, '.', '')."</b> ($avg[max1]-$avg[min1])</td> <td align = center><b>".number_format($avg[avg2], 2, '.', '')."</b> ($avg[max2]-$avg[min2])</td>
<td align = center><b>".number_format($avg[avg3], 2, '.', '')."</b> ($avg[max3]-$avg[min3])</td>
<td align = center><b>$avg[jml_sis]</td></tr>";$jml = $avg[jml_sis];
}echo "</table>";
echo "</td></tr> ";
if ($jml > 0){
echo "<tr><td>
<img src='grafik/batang_show_kab_uan1.php?key=$key'><br>
<img src='grafik/batang_show_kab_pr2.php?key=$key'><br>
<img src='grafik/batang_show_kab_ak2.php?key=$key'>
</td>
B22
<td>
<imgsrc='grafik/grafik_show_kab.php?key=$key'>
<img src='grafik/grafik_show_kab2.php?key=$key'>
<img src='grafik/grafik_show_kab3.php?key=$key'>
</td></tr>";
} echo "</table>";
include 'footer.php';?>
Show_kabupaten2.php<?php
session_start();if(empty($_SESSION[jenjang])){
header('location:sesion_jenjang.php?id=1');}else if(empty($_SESSION[id_provinsi])){
header('location:sesion_jenjang.php?id=1');}
include 'header.php';include 'func/ant.php';
$id_jen = $_SESSION[jenjang];// buat mereload jenjang dari session$id_prop = $_SESSION[id_provinsi]."<br>";$key = anti_injection($_POST[key]);//echo $key;
echo "<b><a href = 'show_provinsi.php'>$_SESSION[nama_jenjang]</a> - ";
echo "$_SESSION[nama_provinsi]</b>";
echo "<h2>Daftar Siswa Provinsi $_SESSION[nama_provinsi]</h2>
<input type=button value='Lihat Kabupaten' onclick=location.href='show_kabupaten.php'>
<input type=button value='Cetak Data' onclick=location.href='lap/kab2.php'>
<form action = 'show_kabupaten2.php' method = 'post'>
B23
Cari Siswa : <input type = 'text' name='key'>
<input type = 'submit' value = 'cari'>
</form>";
if(!empty($key)){
echo "<b>Hasil pencarian anda terhadap kata kunci : '".$key."'</b> <a href = 'show_kabupaten2.php'>kembali</a><br>";
}
echo "<div id=judul> <table>
<tr> <th width='25'>no</th> <th width='50'>Nomor</th> <th class = 'judul'><a href =
show_kabupaten2.php?sc=1>Nama</a></th> <th class = 'angka'><a href =
show_kabupaten2.php?sc=4>Ujian Tulis</a></th> <th class = 'angka'><a href =
show_kabupaten2.php?sc=5>Ujian Praktek</a></th> <th class = 'angka'><a href =
show_kabupaten2.php?sc=6>Akhlak Mulia</a></th></tr></table></div>";
echo " <div class = 'data'>
<table> ";
//$tampil=mysql_query("SELECT * FROM kabupaten where id_prop = '$id_prop'");
//$tampil=mysql_query("select *, (select count(id_skl) from sekolah skl where skl.id_kab = kab.id_kab and skl.id_jen = '$id_jen') as jml_skl
//from kabupaten kab //where id_prop = '$id_prop'");
if ($_GET[sc]=='1'){
$tampil=mysql_query("select * from kabupaten kab inner join sekolah skl on skl.id_kab = kab.id_kabinner join siswa sis on sis.id_skl= skl.id_sklinner join nilai nl on nl.id_sis = sis.id_siswhere kab.id_prop = $_SESSION[id_provinsi] and id_jen
= $_SESSION[jenjang] order by nm_sis asc");}else if ($_GET[sc]=='2'){
$tampil=mysql_query("select * from kabupaten kab
B24
inner join sekolah skl on skl.id_kab = kab.id_kabinner join siswa sis on sis.id_skl= skl.id_sklinner join nilai nl on nl.id_sis = sis.id_siswhere kab.id_prop = $_SESSION[id_provinsi] and id_jen
= $_SESSION[jenjang] order by nm_skl asc");}else if ($_GET[sc]=='3'){
$tampil=mysql_query("select * from kabupaten kab inner join sekolah skl on skl.id_kab = kab.id_kabinner join siswa sis on sis.id_skl= skl.id_sklinner join nilai nl on nl.id_sis = sis.id_siswhere kab.id_prop = $_SESSION[id_provinsi] and id_jen
= $_SESSION[jenjang] order by nm_kab asc");}else if ($_GET[sc]=='5'){
$tampil=mysql_query("select * from kabupaten kab inner join sekolah skl on skl.id_kab = kab.id_kabinner join siswa sis on sis.id_skl= skl.id_sklinner join nilai nl on nl.id_sis = sis.id_siswhere kab.id_prop = $_SESSION[id_provinsi] and id_jen
= $_SESSION[jenjang] order by nl.nl2 desc");}else if ($_GET[sc]=='6'){
$tampil=mysql_query("select * from kabupaten kab inner join sekolah skl on skl.id_kab = kab.id_kabinner join siswa sis on sis.id_skl= skl.id_sklinner join nilai nl on nl.id_sis = sis.id_siswhere kab.id_prop = $_SESSION[id_provinsi] and id_jen
= $_SESSION[jenjang] order by nl.nl3 desc");}else {
$tampil=mysql_query("select * from kabupaten kab inner join sekolah skl on skl.id_kab = kab.id_kabinner join siswa sis on sis.id_skl= skl.id_sklinner join nilai nl on nl.id_sis = sis.id_siswhere (kab.id_prop = $_SESSION[id_provinsi] and id_jen =
$_SESSION[jenjang] and sis.nm_sis like '%$key%') or(kab.id_prop = $_SESSION[id_provinsi] and id_jen =
$_SESSION[jenjang] and sis.nis like '%$key%')order by nl.nl1 desc");
}
$no=1; while ($r=mysql_fetch_array($tampil)){
echo "<tr class = 'data'><td width='25'>$no</td><td width='50'>$r[nis]</td>
<td class = 'data'>$r[nm_sis]</td>
B25
<td align = center class = 'angka'>".number_format($r[nl1], 2, '.', '')."</td>
<td align = center class = 'angka'>".number_format($r[nl2], 2, '.', '')."</td>
<td align = center class = 'angka'>".number_format($r[nl3], 2, '.', '')."</td> </tr>";
$no++; } echo "</table></div>";
$rata=mysql_query("select avg(nl.nl1) avg1, avg(nl.nl2) avg2,avg(nl.nl3) avg3,
max(nl.nl1) max1, max(nl.nl2) max2, max(nl.nl3) max3, count(sis.id_sis) jml_sis,
min(nl.nl1) min1, min(nl.nl2) min2, min(nl.nl3) min3from kabupaten kab
inner join sekolah skl on skl.id_kab = kab.id_kab inner join siswa sis on sis.id_skl= skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis
where (kab.id_prop = $_SESSION[id_provinsi] and id_jen = $_SESSION[jenjang] and sis.nm_sis like '%$key%')
or(kab.id_prop = $_SESSION[id_provinsi] and id_jen =
$_SESSION[jenjang] and sis.nis like '%$key%') ");
echo "<table class='jumlah'> <tr> <td colspan = 2><table>
<tr><th>Ujian Tulis</th><th>Praktikum Ibadah</th><th>Akhlak Mulia</th><th>Jumlah Siswa</th></tr>";
while ($avg=mysql_fetch_array($rata)){ echo "<tr>
<td align = center><b>".number_format($avg[avg1], 2, '.', '')."</b> (".number_format($avg[max1], 2, '.', '')."-".number_format($avg[min1], 2, '.', '').")</td> <td align = center><b>".number_format($avg[avg2], 2, '.', '')."</b> (".number_format($avg[max2], 2, '.', '')."-".number_format($avg[min2], 2, '.', '').")</td>
<td align = center><b>".number_format($avg[avg3], 2, '.', '')."</b> (".number_format($avg[max3], 2, '.', '')."-".number_format($avg[min3], 2, '.', '').")</td>
<td align = center><b>$avg[jml_sis]</td></tr>";$jml = $avg[jml_sis];
}echo "</table>";
echo "</td></tr> ";
if ($jml > 0)
B26
{echo " <tr>
<td><img
src='grafik/batang_show_kab_uan.php?key=$key'><br><img
src='grafik/batang_show_kab_pr.php?key=$key'><br><img
src='grafik/batang_show_kab_ak.php?key=$key'></td><td>
<img src='grafik/grafik_show_kab_sis.php?key=$key'>
<img src='grafik/grafik_show_kab2_sis.php?key=$key'>
<img src='grafik/grafik_show_kab3_sis.php?key=$key'>
</td></tr>";
} echo "</table>";
include 'footer.php';?>
Show_sekolah.phpShow_kabupaten2.php<?php
session_start();
if(empty($_SESSION[jenjang])){
header('location:sesion_jenjang.php?id=1');}else if(empty($_SESSION[id_provinsi])){
header('location:sesion_jenjang.php?id=1');}else if(empty($_SESSION[id_kabupaten])){
header('location:sesion_jenjang.php?id=1');}
include 'header.php';include 'func/ant.php';
$id_jen = $_SESSION[jenjang];// buat mereload jenjang dari session$id_prop = $_SESSION[id_provinsi];$id_kab = $_SESSION[id_kabupaten];$key = anti_injection($_POST[key]);//echo $key;
B27
echo "<b><a href = 'show_provinsi.php'>$_SESSION[nama_jenjang]</a> - ";
echo "<a href = 'show_kabupaten.php'>$_SESSION[nama_provinsi]</a> - ";
echo "$_SESSION[nama_kab]</b>";
echo "<h2>Daftar Sekolah $_SESSION[nama_kab]</h2>";if(!empty($_SESSION[level])){
if($_SESSION[level] == 'admin'){
echo "<input type=button value='Tambah Sekolah' onclick=location.href='form_tambah_skl.php'>";
}}echo "<input type=button value='Lihat Siswa'
onclick=location.href='show_sekolah2.php'><input type=button value='Cetak Data'
onclick=location.href='lap/skl.php'><form action = 'show_sekolah.php' method =
'post'>Cari Sekolah : <input type = 'text'
name='key'><input type = 'submit' value =
'cari'> </form>";
if(!empty($key)){
echo "<b>Hasil pencarian anda terhadap kata kunci : '".$key."'</b> <a href = 'show_sekolah.php'>kembali</a><br>";
}
echo "<div id=judul><table>
<tr> <th width='25'>no</th> <th class = 'judul'><a href =
show_sekolah.php?sc=1>sekolah</a></th> <th class = 'judul'>Alamat</th> <th class = 'angka'><a href =
show_sekolah.php?sc=2>Jumlah siswa</a></th> <th class = 'angka'><a href =
show_sekolah.php?sc=3>USBN</a></th> <th class = 'angka'><a href =
show_sekolah.php?sc=4>Praktek</a></th> <th class = 'angka'><a href =
show_sekolah.php?sc=5>Akhlak</a></th>";if(!empty($_SESSION[level])){
echo "<th class = 'angka'>aksi</th>";}
B28
echo " </tr> </table></div>";
echo "<div class = 'data'><table>"; //$tampil=mysql_query("SELECT * FROM sekolah where id_kab = '$id_kab' and id_jen = '$id_jen'");
if ($_GET[sc]=='1'){
$tampil=mysql_query("SELECT *, (select count(s.id_sis) from siswa s where s.id_skl = skl.id_skl) jml_sis,
(select avg(nl.nl1) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata,(select avg(nl.nl2) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata2,(select avg(nl.nl3) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata3
FROM sekolah sklwhere id_kab = '$id_kab' and id_jen = '$id_jen' order
by nm_skl asc");}else if ($_GET[sc]=='2'){
$tampil=mysql_query("SELECT *, (select count(s.id_sis) from siswa s where s.id_skl = skl.id_skl) jml_sis,
(select avg(nl.nl1) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata,(select avg(nl.nl2) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata2,(select avg(nl.nl3) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata3
FROM sekolah sklwhere id_kab = '$id_kab' and id_jen = '$id_jen' order
by jml_sis desc");}else if ($_GET[sc]=='3'){
$tampil=mysql_query("SELECT *, (select count(s.id_sis) from siswa s where s.id_skl = skl.id_skl) jml_sis,
(select avg(nl.nl1) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata,(select avg(nl.nl2) from siswa s
B29
inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata2,(select avg(nl.nl3) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata3
FROM sekolah sklwhere id_kab = '$id_kab' and id_jen = '$id_jen' order
by rerata desc");}else if ($_GET[sc]=='4'){
$tampil=mysql_query("SELECT *, (select count(s.id_sis) from siswa s where s.id_skl = skl.id_skl) jml_sis,
(select avg(nl.nl1) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata,(select avg(nl.nl2) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata2,(select avg(nl.nl3) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata3
FROM sekolah sklwhere id_kab = '$id_kab' and id_jen = '$id_jen' order
by rerata2 desc");}else if ($_GET[sc]=='5'){
$tampil=mysql_query("SELECT *, (select count(s.id_sis) from siswa s where s.id_skl = skl.id_skl) jml_sis,
(select avg(nl.nl1) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata,(select avg(nl.nl2) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata2,(select avg(nl.nl3) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata3
FROM sekolah sklwhere id_kab = '$id_kab' and id_jen = '$id_jen' order
by rerata3 desc");}else{
$tampil=mysql_query("SELECT *, (select count(s.id_sis) from siswa s where s.id_skl = skl.id_skl) jml_sis,
B30
(select avg(nl.nl1) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata,(select avg(nl.nl2) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata2,(select avg(nl.nl3) from siswa s inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = skl.id_skl) rerata3
FROM sekolah sklwhere id_kab = '$id_kab' and id_jen = '$id_jen' and
skl.nm_skl like '%$key%' order by rerata desc");}
$no=1; while ($r=mysql_fetch_array($tampil)){ echo "<tr class = 'data'><td align = center width='25'>$no</td> <td class = 'data'><a href=sesion_skl.php?id=$r[id_skl]>$r[nm_skl]</a></td>
<td class = 'data'>$r[alamat_skl]</td><td align = center class =
'angka'>$r[jml_sis]</td><td align = center class =
'angka'>".number_format($r[rerata], 2, '.', '')."</td><td align = center class =
'angka'>".number_format($r[rerata2], 2, '.', '')."</td><td align = center class =
'angka'>".number_format($r[rerata3], 2, '.', '')."</td>"; if($_SESSION[level] == 'admin')
{echo "<td class = 'angka'><a
href=edit_sekolah.php?id=$r[id_skl]>Edit</a> | <a href=hapus_skl.php?id=$r[id_skl]
onclick='return konfirmasi()'>Hapus</a> </td>";
}else{
//echo "<td class = 'angka'> </td>";}echo "</tr>";
$no++; } echo "</table></div>";
echo "<table class='jumlah'> <tr> <td colspan = '2'>";
$rata=mysql_query("select avg(nl.nl1)as nl1,avg(nl.nl2) as nl2,avg(nl.nl3) as
nl3, count(sis.id_sis) as jml_sis,
B31
max(nl.nl1)as max1,max(nl.nl2) as max2,max(nl.nl3) as max3,min(nl.nl1)as min1,min(nl.nl2) as min2,min(nl.nl3) as min3from kabupaten kab
inner join sekolah skl on skl.id_kab = kab.id_kab inner join siswa sis on sis.id_skl = skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis where kab.id_kab = '$_SESSION[id_kabupaten]' and skl.id_jen = '$_SESSION[jenjang]' and skl.nm_skl like '%$key%'");
echo "<table> <tr><th>Ujian Tulis</th><th>Praktikum Ibadah</th><th>Akhlak Mulia</th><th>Jumlah Siswa</th></tr>";
while ($avg=mysql_fetch_array($rata)){ echo "<tr>
<td align = center><b>".number_format($avg[nl1], 2, '.', '')."</b> ($avg[max1]-$avg[min1])</td> <td align = center><b>".number_format($avg[nl2], 2, '.', '')."</b> ($avg[max2]-$avg[min2])</td>
<td align = center><b>".number_format($avg[nl3], 2, '.', '')."</b> ($avg[max3]-$avg[min3])</td>
<td align = center>$avg[jml_sis]</td></tr>";$jml = $avg[jml_sis];
}echo "</table>";echo "</td>
</tr> ";
if ($jml > 0){echo "<tr>
<td>";echo "<img
src='grafik/batang_show_skl_uan.php?key=$key'><br>";echo "<img
src='grafik/batang_show_skl_pr.php?key=$key'><br>";echo "<img
src='grafik/batang_show_skl_ak.php?key=$key'><br>";
echo "</td><td>
<img src='grafik/grafik_show_skl.php?key=$key'>
<img src='grafik/grafik_show_skl2.php?key=$key'>
<img src='grafik/grafik_show_skl3.php?key=$key'>
</td> </tr>";
} echo "</table>";
include 'footer.php';?>
B32
Show_siswa.php<?php
session_start();
if(empty($_SESSION[jenjang])){
header('location:sesion_jenjang.php?id=1');}else if(empty($_SESSION[id_provinsi])){
header('location:sesion_jenjang.php?id=1');}else if(empty($_SESSION[id_kabupaten])){
header('location:sesion_jenjang.php?id=1');}else if(empty($_SESSION[id_sekolah])){
header('location:sesion_jenjang.php?id=1');}
include 'header.php';include 'func/ant.php';
$id_jen = $_SESSION[jenjang];// buat mereload jenjang dari session$id_prop = $_SESSION[id_provinsi];$id_kab = $_SESSION[id_kabupaten];$id_skl = $_SESSION[id_sekolah];$key = anti_injection($_POST[key]);//echo $key;
echo "<b><a href = 'show_provinsi.php'>$_SESSION[nama_jenjang]</a> - ";
echo "<a href = 'show_kabupaten.php'>$_SESSION[nama_provinsi]</a> - ";
echo "<a href = 'show_sekolah.php'>$_SESSION[nama_kab]</a> -";
echo "$_SESSION[nama_skl] </b>";
//mencari rata rata
//echo "<hr>";
echo "<h2>Detail Siswa $_SESSION[nama_skl]</h2>";if(!empty($_SESSION[level])){
if($_SESSION[level] == 'admin'){
echo "<input type=button value='Tambah Siswa'
onclick=location.href='form_tambah_siswa.php'>
B33
<input type=button value='Upload Siswa' onclick=location.href='upload_siswa.php'>
<input type=button value='Download Form Upload' onclick=location.href='?upload_siswa.php'>";
}}
echo "<input type=button value='Cetak Data' onclick=location.href='lap/sis.php'>
<form action = 'show_siswa.php' method = 'post'>Cari Siswa : <input type = 'text'
name='key'><input type = 'submit' value =
'cari'> </form>";
if(!empty($key)){
echo "<b>Hasil pencarian anda terhadap kata kunci : '".$key."'</b> <a href = 'show_siswa.php'>kembali</a><br>";
}
echo "<div id=judul> <table> <tr> <th width = '25'>no</th> <th class = 'angka'><a href =
show_siswa.php?sc=1>nim</a></th> <th class = 'judul'><a href =
show_siswa.php?sc=2>Nama Siswa</a></th> <th class = 'angka'><a href =
show_siswa.php?sc=3>UASBN</a></th> <th class = 'angka'><a href =
show_siswa.php?sc=4>Praktek</a></th> <th class = 'angka'><a href =
show_siswa.php?sc=5>Akhlak</a></th>";if($_SESSION[level] == 'admin'){
echo "<th class = 'angka'>aksi</th>";}echo "</tr>
</table></div>"; echo "<div class = 'data'><table> ";
if ($_GET[sc]=='1'){
$tampil=mysql_query("select s.id_sis, s.nis,s.nm_sis, nl.id_nl, nl.nl1, nl.nl2, nl.nl3 from siswa s
inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = '$id_skl' order by nis asc");
}else if ($_GET[sc]=='2'){
B34
$tampil=mysql_query("select s.id_sis, s.nis,s.nm_sis, nl.id_nl, nl.nl1, nl.nl2, nl.nl3 from siswa s
inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = '$id_skl' order by nm_sis asc");
}else if ($_GET[sc]=='3'){
$tampil=mysql_query("select s.id_sis, s.nis,s.nm_sis, nl.id_nl, nl.nl1, nl.nl2, nl.nl3 from siswa s
inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = '$id_skl' order by nl1 desc");
}else if ($_GET[sc]=='4'){
$tampil=mysql_query("select s.id_sis, s.nis,s.nm_sis, nl.id_nl, nl.nl1, nl.nl2, nl.nl3 from siswa s
inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = '$id_skl' order by nl2 desc");
}else if ($_GET[sc]=='5'){
$tampil=mysql_query("select s.id_sis, s.nis,s.nm_sis, nl.id_nl, nl.nl1, nl.nl2, nl.nl3 from siswa s
inner join nilai nl on nl.id_sis = s.id_siswhere s.id_skl = '$id_skl' order by nl3 desc");
}else{
$tampil=mysql_query("select s.id_sis, s.nis,s.nm_sis, nl.id_nl, nl.nl1, nl.nl2, nl.nl3 from siswa s
inner join nilai nl on nl.id_sis = s.id_siswhere (s.id_skl = '$id_skl' and s.nm_sis like
'%$key%')or(s.id_skl = '$id_skl' and s.nis like '%$key%')order by nm_sis asc");
}
$no=1; while ($r=mysql_fetch_array($tampil)){ echo "<tr class = 'data'><td width = '25'>$no</td>
<td class = 'angka'>$r[nis]</td> <td class = 'data'>$r[nm_sis]</td>
<td align = center class = 'angka'>".number_format($r[nl1], 2, '.', '')."</td> <td align = center class = 'angka'>".number_format($r[nl2], 2, '.', '')."</td>
<td align = center class = 'angka'>".number_format($r[nl3], 2, '.', '')."</td>";
if($_SESSION[level] == 'admin'){
echo "<td class = 'angka'><a href=form_edit_siswa.php?id=$r[id_sis] >Edit</a> |
<a href=hapus_siswa.php?id=$r[id_sis] onclick='return konfirmasi()'>Hapus</a> </td>";
B35
}else{
//echo "<td class = 'angka'> </td>";}
echo "</tr>"; $no++; } echo "</table></div>";
echo "<table class='jumlah'> <tr> <td colspan = '2'>";
$rata=mysql_query("select avg(nl.nl1)as nl1,avg(nl.nl2) as nl2,avg(nl.nl3) as nl3,
max(nl.nl1)as max1,max(nl.nl2) as max2,max(nl.nl3) as max3,min(nl.nl1)as min1,min(nl.nl2) as min2,min(nl.nl3) as min3,count(sis.id_sis) as jml_sis from sekolah skl
inner join siswa sis on sis.id_skl = skl.id_skl inner join nilai nl on nl.id_sis = sis.id_sis where (skl.id_skl = '$_SESSION[id_sekolah]' and sis.nm_sis like '%$key%')
or(skl.id_skl = '$_SESSION[id_sekolah]' and sis.nis like
'%$key%')");
echo "<table> <tr><th>Ujian Tulis</th><th>Praktikum Ibadah</th><th>Akhlak Mulia</th><th>Jumlah Siswa</th></tr>";
while ($avg=mysql_fetch_array($rata)){ echo "<tr>
<td align = center><b>".number_format($avg[nl1], 2, '.', '')."</b> ($avg[max1]-$avg[min1])</td> <td align = center><b>".number_format($avg[nl2], 2, '.', '')."</b> ($avg[max2]-$avg[min2])</td>
<td align = center><b>".number_format($avg[nl3], 2, '.', '')."</b> ($avg[max3]-$avg[min3])</td>
<td align = center><b>$avg[jml_sis]</td></tr>";$jml = $avg[jml_sis];
}echo "</table>";echo "</td>
</tr> ";
if ($jml > 0){
echo "<tr><td width = '300'>";
B36
echo "<img src='grafik/batang_show_siswa_uan.php?key=$key'>";
echo "<img src='grafik/batang_show_siswa_pr.php?key=$key'>";echo "<img src='grafik/batang_show_siswa_ak.php?key=$key'>";echo "</td>
<td><img
src='grafik/grafik.php?key=$key'><img
src='grafik/grafik2.php?key=$key'><img
src='grafik/grafik3.php?key=$key'>";
echo "</td></tr>";
} echo "</table>";
include 'footer.php';?>
C1
LAMPIRAN C
ANTARMUKA SISTEM
1. Halaman Depan (Halaman User)
2. Halaman Login
C2
3. Halaman Register
4. Halaman Provinsi Level Admin
C3
C4
5. Halaman Kabupaten Level Admin
C5
6. Halaman Sekolah Level Admin
C6
7. Halaman Siswa Level Admin
C7
8. Halaman Upload Nilai
Gambar di atas adalah screenshot upload nilai SMK Al Amanah, Kabupaten
Toba Samosir, Sumatera Utara.
C8
9. Halaman Home User Sekolah
D1
LAMPIRAN D
FORM INPUT NILAI
Aplikasi yang penulis buat memiliki fitur untuk mengimpor file excel
untuk kemudian dilakukan parsing sebelum akhirnya data pada file excel tersebut
berhasil diinputkan ke dalam database.
Form input data yang dapat berjalan pada program adalah sebagai berikut:
D1
LAMPIRAN E
DATA PENELITIAN
Berikut ini penulis sertakan contoh data yang penulis teliti untuk kemudian
dikembangkan aplikasi ini.
D2