SISTEM INFORMASI AKADEMIK SISWA ONLINErepository.usd.ac.id/32026/2/005314083_Full.pdf · SISTEM...
Transcript of SISTEM INFORMASI AKADEMIK SISWA ONLINErepository.usd.ac.id/32026/2/005314083_Full.pdf · SISTEM...
SISTEM INFORMASI AKADEMIK SISWA ONLINE (Studi Kasus di SMP Negeri 1 Yogyakarta)
SKRIPSI
Untuk Memenuhi Salah Satu Syarat Kelulusan
Program Sarjana (S-1)
Teknik Informatika
Oleh :
Evangeline T F Wullur
005314083
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2007
i
ONLINE STUDENT ACADEMIC INFORMATION SYSTEM (Case Study at SMP Negeri 1 Yogyakarta)
FINAL PROJECT
Presented as Partial Fulfillment of the Requirement
To Obtain The Sarjana Teknik Degree
In Informatics Engineering
By :
Evangeline T F Wullur
005314083
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007
ii
Untuk Papa dan Mama …
v
MOTTO
Kekuatan di hidupku kudapat dalam Yesus, Dia tak pernah tinggalkanku, setia
menopangku… Berseru, berharap dalam Yesus… - Edward Chen
Do all the goods you can, All the best you can, In all times you can, In all
places you can, For all the creatures you can. – Anonim
Hal-hal besar tidak dicapai secara tiba-tiba, melainkan melalui perpaduan dari
serentetan hal-hal kecil yang dilakukan dengan baik dan sempurna - Vincent Van Gogh
There are no secrets to success. It's the result of preparation, hard working, &
learning from failures - Collin Powell
"Kecerdasan tidak banyak berperan dalam proses penemuan. Ada suatu
lompatan dalam kesadaran, sebutlah itu intuisi atau apapun namanya, solusinya muncul begitu saja dan kita tidak tahu bagaimana atau mengapa."
- Albert Einstein
A Champion is someone who always try to get up even when he/she can`t - Anonim
hasta la victoria, siempre ! - Forever, until victory! (Keep fighting until victory!)
- Che Guevara
vi
ABSTRAKSI
Pemantauan terhadap hasil belajar siswa merupakan tanggung jawab
bersama antara pihak sekolah dengan orang tua/wali siswa. Oleh karena itu,
sekolah harus membuat laporan hasil belajar siswa, agar orang tua dan pihak
sekolah yang berkepantingan mendapatkan laporan hasil belajar siswa dengan
mudah dan cepat.
Kendala yang dihadapi adalah kurang cepatnya pelayanan akademik yang ada di
sekolah, karena masih menggunakan cara manual.
Sistem Informasi Akademik Siswa Online dibangun untuk membantu
orang tua/wali siswa dalam pengaksesan informasi akademik siswa, khususnya
informasi nilai.
Aplikasi ini dikhususkan bagi guru dan pegawai Tata Usaha yang masih
aktif, serta siswa/wali siswa yang masih aktif.
Untuk dapat menggunakan aplikasi ini, pengguna memerlukan komputer yang
terhubung dengan jaringan internet.
Aplikasi ini dibangun menggunakan bahasa pemrograman PHP dan
MySQL sebagai pengolah basis datanya.
vii
ABSTRACT
The observation of the student’s report was the responsibility between the
school and the parents. That is why the school have to make the student’s report,
so the parents and the related school subsection could gaining the informations
faster and easier.
One of the obstacle in the education service was the manual system that is make
everything goes slowly.
The Online Information System of Student’s Academic was developed to
help the parents to gained the student’s academic report, especially in their grade.
This application was developed for the active administrative officers, the
active teachers and the active students.
To use this application, the online connected computer was required.
This application was developed using PHP programming language and
OBDC MySQL as the database service.
viii
PERNYATAAN KEASLIAN NASKAH
Saya menyatakan dengan sesungguhnya bahwa, skripsi yang saya tulis ini tidak
memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam
kutipan dan daftar pustaka, sebagaimana layaknya karya tulis ilmiah.
Yogyakarta, September 2007
Penulis
Evangeline T F Wullur
ix
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus atas berkat dan
karunia-Nya sehingga penulis dapat menyelesaikan skripsi dengan judul “Sistem
Informasi Akademik Siswa Online (Studi Kasus di SMP Negeri 1 Yogyakarta)”.
Skripsi ini disusun untuk memenuhi salah satu syarat guna menyelesaikan
program studi Strata-1 pada Program Studi Teknik Informatika Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
Dalam penyusunan dan penyelesaian skripsi ini penulis telah banyak
memperoleh bantuan dari berbagai pihak. Oleh karena itu, pada kesempatan ini
penulis ingin menyampaikan ucapan terima kasih yang sebesar-besarnya kepada :
1. Ir. Gregorius Heliarko S.J.,S.S.,B.S.T,M.A.,M.Sc., selaku Dekan Fakultas
Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.
2. Agnes Maria Polina, S.Kom., M.Sc., selaku ketua Program Studi Teknik
Informatika, yang senantiasa memberikan masukan atas langkah-langkah yang
harus diambil oleh penulis dalam proses menuju Ujian Tugas Akhir.
3. JB. Budi Darmawan, S.T., M.Sc., selaku dosen pembimbing pertama yang
telah banyak membantu penulis dalam proses penelitian dan penyusunan
naskah penelitian.
4. Bernardinus Sri Widodo, S.T., selaku dosen pembimbing kedua yang telah
banyak membantu penulis dalam penyusunan usulan penelitian dan penelitian.
5. Ridowati Gunawan, S.Kom., M.T., selaku ketua tim penguji atas saran serta
kritiknya.
x
6. Drs. Stephanus Hari Suparwito, S.J., M.App.IT., selaku sekretaris tim penguji
atas saran dan kritiknya.
7. Bapak Emanuel Bele Bau SPd, Sdr(i) Fatimah Sina dan Sdr Agus selaku
laboran Komputer Lanjut atas bantuan serta dukungan yang diberikan kepada
penulis.
8. Staff Sekretariat Teknik yang telah membantu dalam penyediaan informasi
akademik yang diperlukan penulis.
9. Kedua orang tua penulis, yang selalu memberikan dukungan doa, dukungan
moril dan bantuan finansial selama penulis menjalankan masa perkuliahan di
Universitas Sanata Dharma Yogyakarta.
10. Bobby J. H, atas doa, dorongan, semangat, kepercayaan, kesabaran, cinta yang
selalu diberikan kepada penulis.
11. Kakak dan Adik penulis, Nana, Jack dan Bayu atas doa dan dukungannya.
12. Tante Ike, Rini dan Mas Totok, atas segala bantuan, dorongan, doa dan
semangat yang diberikan kepada penulis dan telah menyediakan tempat
tinggal bagi penulis selama menyelesaikan skripsi.
13. Keluarga di Manado, Tante Eche, Ma Anne, Tante Ruth, Mama Ani Lies,
yang telah memberikan dukungan doa bagi penulis sewaktu akan menghadapi
Ujian Tugas Akhir.
14. Keluarga di Surabaya, Tim Doa Bethany, Tante Dika, Tante Suzan, Tante
Yanti, Om Frans, Joddy, Stella, Cilya dan semua yang telah memberikan
dukungan doa bagi penulis sewaktu akan menghadapi Ujian Tugas Akhir.
xi
15. Teman-teman yang telah bersama-sama menempuh pendidikan di Prodi
Teknik Informatika Sanata Dharma Yogyakarta, khususnya angkatan 2000,
Gina, Linda, Lisan, Merry, Wiwin, Dion, Dewa, Danang, Gundul, Chandra,
Pande, Bowo, Yudhi, Dwi, Erwin dan lain-lain.
16. Penghuni Pondok Morelia, Bapak Sutrisno, Ibu Endang, Mas Jarrot, Ellen,
Tari, Toro, Kopling, Pak Muhdi untuk kebersamaan selama di Morelia.
17. Teman-teman Kost Canna, Isma, Ohaq, Yuli, Winda, Dewi, Cahya, Mitha,
Nita, Ayu untuk kebersamaan selama di Canna.
18. Teman-teman di Surabaya, Nydda, Monic, Jean, Linda, Mia atas motivasi,
semangat, dukungan, dan doa yang telah diberikan kepada penulis.
19. Teman-teman di Makassar, Olly, Bethy, Ipeh, Lena, Jeffry, Suri, Dian yang
telah menjadi motivator bagi penulis.
20. Semua pihak yang telah membantu penulis dalam menyelesaikan skripsi.
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna. Atas
keterbatasan dan kekurangan dalam penulisan skripsi ini, segala kritik dan saran
yang bersifat membangun sangat penulis harapkan. Semoga skripsi ini bermanfaat
dan memberikan sumbangan bagi perkembangan ilmu pengetahuan dan teknologi.
Yogyakarta, September 2007
Evangeline T F Wullur
xii
DAFTAR ISI
COVER …………………………………………………………………………. i
HALAMAN PERSETUJUAN ………………………………………………... iii
HALAMAN PENGESAHAN ………………………………………………… iv
HALAMAN PERSEMBAHAN ………………………………………………. v
HALAMAN MOTTO ………………………………………………………… vi
ABSTRAKSI ………………………………………………………………….. vii
HALAMAN PERNYATAAN ………………………………………………... ix
KATA PENGANTAR ……………………………………………………….... x
DAFTAR ISI …………………………………………………………………. xiii
DAFTAR TABEL …………………………………………………………….. xv
DAFTAR GAMBAR …………………………………………………………. xvi
BAB I PENDAHULUAN
1.1. Latar Belakang Masalah …………………………………………………… 1
1.2. Rumusan Masalah ………………………………………………………….. 2
1.3. Batasan masalah ……………………………………………………………. 3
1.4. Tujuan ……………………………………………………………………… 3
1.5. Metodologi Penelitian ……………………………………………………… 3
1.6. Sistematika Penulisan ……………………………………………………… 4
BAB II LANDASAN TEORI
2.1. Sistem Informasi …………………………………………………………… 6
2.2. Konsep E-R ………………………………………………………………… 7
2.3. Website …………………………………………………………………….. 9
2.3.1. HTML ……………………………………………………………………. 9
2.3.2. PHP ……………………………………………………………………….12
2.3.3. MySQL …………………………………………………………………...13
xiii
BAB III ANALISA DAN PERANCANGAN
3.1. Analisa …………………………………………………………………….. 16
3.1.1. Analisa Sistem Yang Sudah Ada ………………………………………... 16
3.1.2. Gambaran Umum Sistem Yang Baru …………………………………… 16
3.1.3. Batasan Sistem …………………………………………………………... 18
3.1.4. Analisa Kebutuhan ………………………………………………………. 18
3.1.5. Data Flow Diagram (DFD) ……………………………………………… 20
3.1.5.1. Context Diagram ………………………………………………………. 20
3.1.5.2. Diagram Berjenjang …………………………………………………… 21
3.1.5.3. Overview Diagram …………………………………………………….. 24
3.1.5.4. DFD Level 1 …………………………………………………………… 25
3.2. Perancangan ………………………………………………………………...29
3.2.1. Perancangan Basis Data …………………………………………………. 29
3.2.1.1. Diagram E-R (Entity Relationship) ……………………………………. 29
3.2.1.2. Relasi Antar Tabel ……………………………………………………... 30
3.2.1.3. Prototipe Tabel ………………………………………………………… 31
3.2.2. Perancangan User Interface ……………………………………………... 40
BAB IV IMPLEMENTASI
4.1. Persiapan Implementasi ………………………………………………….... 72
4.1.1. Perangkat Keras ........……………………………………………………. 72
4.1.2. Perangkat Lunak ......…………………………………………………...... 72
4.2. Implementasi User Interface ………………………………………………. 73
BAB V ANALISA HASIL
5.1. Analisa manfaat …………………………………………………………... 141
5.2. Kelebihan dan Kekurangan Program …………………………………….. 141
BAB VI PENUTUP
Kesimpulan dan Saran ………………………………………………………… 143
DAFTAR PUSTAKA ………………………………………………………... 144
xiv
DAFTAR TABEL
No Tabel Keterangan Halaman
1 2.1. Simbol E-R 7
2 2.2. Daftar Atribut Tabel 11
3 2.3. Fungsi MySQL 13
4 3.2.1. Tingkat Kelas 31
5 3.2.2. Kelas 31
6 3.2.3. Mata Pelajaran 32
7 3.2.4. Tahun Ajaran 32
8 3.2.5. Tata Usaha 33
9 3.2.6. Guru 34
10 3.2.7. Siswa 35
11 3.2.8. Kelas Aktif 36
12 3.2.9. Tugas Mengajar 37
13 3.2.10. Siswa Kelas Aktif 38
14 3.2.11. Nilai 39
xv
DAFTAR GAMBAR
No Gambar Keterangan Halaman
1 3.1.1. Context Diagram 20
2 3.1.2. Diagram Berjenjang (Bagian 1) 21
3 3.1.3. Diagram Berjenjang (Bagian 2) 22
4 3.1.4. Diagram Berjenjang (Bagian 3) 23
5 3.1.5. Overview Diagram 24
6 3.1.6. DFD Level 1 Proses 8 25
7 3.1.7. DFD Level 1 Proses 11 25
8 3.1.8. DFD Level 1 Proses 13 26
9 3.1.9. DFD Level 1 Proses 14 27
10 3.1.10. DFD Level 1 Proses 15 28
11 3.2.1. Diagram E-R 29
12 3.2.2. Relasi Antar Tabel 30
13 3.2.2.1. Rancangan Halaman Index 40
14 3.2.2.2. Rancangan Halaman Login Tata Usaha
Admin
41
15 3.2.2.3. Rancangan Halaman Login Tata Usaha 41
16 3.2.2.4. Rancangan Halaman Login Siswa/Wali 42
17 3.2.2.5. Rancangan Halaman Login Guru 42
18 3.2.2.6. Rancangan Pesan Login Gagal 43
19 3.2.2.7. Rancangan Halaman Utama Tata Usaha
Admin
44
20 3.2.2.8. Rancangan Halaman Kelas 45
21 3.2.2.9. Rancangan Halaman Mata Pelajaran 46
22 3.2.2.10. Rancangan Halaman Set Tahun Ajaran 47
23 3.2.2.11. Rancangan Halaman Registrasi Siswa 48
24 3.2.2.12. Rancangan Halaman Registrasi Guru 48
xvi
25 3.2.2.13. Rancangan Halaman Registrasi Tata Usaha 49
26 3.2.2.14. Rancangan Halaman Daftar Siswa Aktif 49
27 3.2.2.15. Rancangan Halaman Data Lengkap Siswa 50
28 3.2.2.16. Rancangan Halaman Daftar Guru Aktif 51
29 3.2.2.17. Rancangan Halaman Data Lengkap Guru 51
30 3.2.2.18. Rancangan Halaman Daftar Tata Usaha
Aktif
52
31 3.2.2.19. Rancangan Halaman Data Lengkap Tata
Usaha
53
32 3.2.2.20. Rancangan Halaman Kelas Aktif 53
33 3.2.2.21. Rancangan Halaman Pengaturan Siswa
Kelas Aktif
55
34 3.2.2.22. Rancangan Halaman Tugas Mengajar 55
35 3.2.2.23. Rancangan Halaman Konfirmasi Logout 56
36 3.2.2.24. Rancangan Halaman Utama Tata Usaha 57
37 3.2.2.25. Rancangan Halaman Daftar Kelas Aktif 58
38 3.2.2.26. Rancangan Halaman Daftar Siswa Kelas
Aktif
58
39 3.2.2.27. Rancangan Halaman Data Lengkap Siswa 59
40 3.2.2.28. Rancangan Halaman Daftar Tugas
Mengajar Guru
59
41 3.2.2.29. Rancangan Halaman Data Lengkap Guru 60
42 3.2.2.30. Rancangan Halaman Nilai 60
43 3.2.2.31. Rancangan Halaman Daftar Nilai 61
44 3.2.2.32. Rancangan Form Update Nilai 61
45 3.2.2.33. Rancangan Halaman Ubah Password Tata
Usaha
62
46 3.2.2.34. Rancangan Halaman Utama Siswa/Wali 63
47 3.2.2.35. Rancangan Halaman Daftar Kelas Siswa 64
xvii
48 3.2.2.36. Rancangan Halaman Transkrip Nilai 64
49 3.2.2.37. Rancangan Halaman Daftar Guru Aktif 65
50 3.2.2.38. Rancangan Halaman Ubah Password Siswa 65
52 3.2.2.39. Rancangan Halaman Konfirmasi Logout 66
53 3.2.2.40. Rancangan Halaman Utama Guru 67
54 3.2.2.41. Rancangan Halaman Daftar Tugas
Mengajar User
68
55 3.2.2.42. Rancangan Halaman Daftar Siswa Didik 68
56 3.2.2.43. Rancangan Halaman Data Lengkap Siswa
Didik
69
57 3.2.2.44. Rancangan Halaman Daftar Nilai Siswa
Didik
70
58 3.2.2.45. Rancangan Halaman Ubah Password Guru 70
59 3.2.2.46. Rancangan Halaman Konfirmasi Logout
Guru
71
60 4.2.1. Tampilan Halaman Index 73
61 4.2.2. Tampilan Halaman Login Tata Usaha
Admin
76
62 4.2.3. Tampilan Halaman Login Tata Usaha 80
63 4.2.4. Tampilan Halaman Login Siswa/Wali
Siswa
84
64 4.2.5. Tampilan Halaman Login Guru 87
65 4.2.6. Tampilan Halaman Utama Tata Usaha
Admin
91
66 4.2.7. Tampilan Halaman Tahun Ajaran 96
67 4.2.8. Tampilan Halaman Kelas Aktif 101
68 4.2.9. Tampilan Halaman Pengaturan Siswa Kelas
Aktif
107
69 4.2.10. Tampilan Halaman Tugas Mengajar Guru 109
xviii
70 4.2.11. Tampilan Halaman Awal Nilai 114
71 4.2.12. Tampilan Halaman Daftar Nilai 116
72 4.2.13. Tampilan Halaman Edit Nilai 120
73 4.2.14. Tampilan Halaman Utama Siswa/Wali
Siswa
121
74 4.2.15. Tampilan Halaman Daftar Kelas User 125
75 4.2.16. Tampilan Halaman Transkrip Nilai 126
76 4.2.17. Tampilan Halaman Daftar Guru 128
77 4.2.18. Tampilan Halaman Utama Guru 129
78 4.2.19. Tampilan Halaman Daftar Tugas Mengajar
Guru
132
79 4.2.20. Tampilan Halaman Daftar Siswa Didik 133
80 4.2.21. Tampilan Halaman Data Lengkap Siswa
Didik
135
81 4.2.22. Tampilan Halaman Daftar Nilai Siswa 138
82 4.2.23. Tampilan Halaman Konfirmasi Logout 140
xix
BAB I
PENDAHULUAN
1.1. Latar Belakang Masalah
Pemantauan terhadap hasil belajar siswa bukan hanya menjadi tanggung
jawab pihak sekolah, tetapi juga merupakan tanggung jawab orang tua/wali siswa.
Pemantauan perlu dilakukan untuk mengetahui perkembangan akademik siswa.
Untuk keperluan tersebut, sekolah harus membuat laporan hasil belajar siswa,
yang harus disajikan dalam bentuk sedemikian rupa, sehingga orang tua/wali
siswa dan pihak sekolah yang berkepentingan dapat membaca hasil belajar siswa
dengan mudah dan cepat.
Permasalahan yang terjadi adalah kurang cepatnya pelayanan akademik
dan sering terjadinya kesalahan pada pelayanan yang ada pada sekolah, karena
masih menggunakan cara manual, yang dirasakan lambat dan kurang akurat.
Seiring perkembangan teknologi informasi, teknologi internet semakin
dikenal dan menjadi media yang tepat untuk memperoleh informasi terbaru secara
cepat dan mudah. Internet dapat menjadi salah satu alternatif media pendidikan
dalam pengolahan data dan penyediaan informasi.
Oleh karena itu, penulis tertarik untuk membuat suatu aplikasi penyediaan
informasi akademik siswa berbasis web, sehingga dapat memberikan kemudahan-
kemudahan bagi pengguna, yaitu membantu pihak administrasi sekolah (dalam
hal ini pegawai Tata Usaha sekolah), sehingga proses pengolahan data menjadi
1
lebih cepat dan meminimalkan kesalahan-kesalahan dalam pencatatan data secara
manual.
Sedangkan bagi pihak sekolah yang berkepentingan dan orang tua/wali siswa,
membantu dalam mendapatkan informasi akademik siswa dengan cepat dan
mudah, dibanding prosedur manual.
Untuk pengembangan aplikasi berbasis web ini, digunakan bahasa
pemograman PHP dengan MySQL sebagai basis datanya.
Untuk dapat menggunakan aplikasi ini, user memerlukan komputer yang
terhubung dengan jaringan internet.
1.2. Rumusan Masalah
Berdasarkan latar belakang permasalahan diatas, dapat dirumuskan :
1. Bagaimana proses pengolahan data akademik dapat dilakukan dengan lebih
cepat dan akurat dibanding cara manual?
2. Bagaimana orang tua/wali siswa dan pihak sekolah yang berkepentingan
mendapatkan laporan hasil belajar siswa dengan lebih mudah dan cepat
dibanding prosedur manual?
3. Bagaimana disain aplikasi ini sehingga mudah digunakan?
2
1.3. Batasan Masalah
Aplikasi yang dibuat membatasi masalah sebagai berikut :
1. Program aplikasi ini mengabaikan masalah keamanan pada saat transmisi
data.
2. Aplikasi ini dikhususkan untuk siswa/wali siswa dan pihak sekolah (dalam hal
ini guru dan pegawai tata usaha) yang masih aktif.
3. Sistem ini dikhususkan untuk penyediaan informasi yang berhubungan dengan
siswa dalam hal pengaturan kelas siswa dan nilai siswa.
1.4. Tujuan
Tujuan dibuatnya aplikasi ini adalah :
Untuk membantu dalam proses pengolahan data dan meminimalkan kesalahan
dalam pencatatan data.
Untuk membantu dalam pengaksesan informasi akademik siswa bagi pihak–
pihak yang berkepentingan.
1.5. Metodologi Penelitian
Dengan melakukan pendekatan SDLC (Software Development Life Cycle), yaitu :
1. Melakukan studi kasus, melalui wawancara dengan pihak sekolah dan melihat
contoh pencatatan data yang dilakukan secara manual.
3
2. Melakukan studi pustaka dengan membaca bahan–bahan tentang sistem
informasi, basis data, PHP, dan MySQL melalui buku-buku, bahan kuliah dan
situs di internet.
3. Mengidentifikasi dan mengevaluasi masalah yang dihadapi, dan menemukan
solusi untuk masalah tersebut, yang disesuaikan dengan kebutuhan user.
4. Melakukan perancangan, yang meliputi gambaran umum sistem, perancangan
basis data dan perancangan user interface.
5. Penulisan Program (Coding)
Mengimplementasikan rancangan–rancangan tersebut dengan membuat
implementasi basis data dengan MySQL dan membangun web dengan PHP.
6. Pengujian (Testing)
Untuk menguji apakah program sudah dapat dijalankan dengan benar dan
apakah hasilnya sudah sesuai dengan rancangan yang diinginkan.
1.6. Sistematika Penulisan
Untuk memudahkan penyusunan dan pemahaman isi dari Tugas Akhir ini,
maka sistematika yang digunakan adalah sebagai berikut :
Bab I : Pendahuluan
Merupakan gambaran umum penulisan, yang berisi Latar Belakang Masalah,
Rumusan Masalah, Batasan Masalah, Tujuan, Metodologi Penelitian, dan
keterangan mengenai Sistematika Penulisan.
4
Bab II : Landasan Teori
Berisi teori – teori yang dipakai dalam pengembangan sistem, yaitu definisi dan
konsep tentang sistem informasi, basis data, PHP dan MySQL.
Bab III : Analisa dan Perancangan Sistem.
Berisi analisa dan perancangan sistem yang akan dibuat.
Analisa berisi analisa sistem yang sudah ada, gambaran sistem yang baru, batasan
sistem, analisa kebutuhan , Data Flow Diagram (DFD).
Perancangan meliputi perancangan basis data dan perancangan user interface.
Bab IV : Implementasi
Berisi persiapan implementasi dan implementasi antarmuka.
Persiapan implementasi berisi persiapan perangkat keras dan perangkat lunak
yang digunakan.
Implementasi antarmuka, yang berisi capture user interface, beserta potongan
listing programnya.
Bab V : Analisa hasil
Berisi analisa manfaat, serta kelebihan dan kekurangan program.
Bab VI : Penutup
Berisi Kesimpulan dan saran.
Daftar Pustaka
Berisi referensi yang digunakan dalam mengerjakan Tugas Akhir.
5
BAB II
LANDASAN TEORI
2.1. Sistem Informasi1
Sistem informasi adalah suatu sistem dalam suatu organisasi yang
mempertemukan kebutuhan pengolahan, transaksi harian, mendukung operasi,
bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan
laporan – laporan yang dibutuhkan oleh pihak luar tertentu.
Sistem informasi terdiri dari blok – blok sebagai berikut :
a. Blok Masukan
Input mewakili data yang masuk kedalam sistem informasi. Input disini
termasuk metode–metode untuk menangkap data yang akan dimasukkan,
dapat berupa dokumen–dokumen dasar.
b. Blok Model
Blok ini terdiri dari kombinasi prosedur , logika dan model matematik yang
akan memanipulasi data input dan data yang tersimpan di basis data dengan
cara tertentu untuk menghasilkan keluaran yang diinginkan.
c. Blok Keluaran
Produk dari sistem informasi adalah keluaran yang merupakan informasi yang
berkualitas dan dokumentasi yang berguna untuk meningkatkan manajemen
dari semua pemakai sistem.
1 Jogiyanto, Analisis dan Desain Sistem Informasi : Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis, Yogyakarta : Penerbit Andi, 2002 hal 12-14.
6
d. Blok Teknologi
Teknologi digunakan untuk menerima input, menjalankan model, menyimpan
dan mengakses data, menghasilkan dan mengirimkan keluaran dan membantu
pengendalian sistem secara keseluruhan.
Teknologi terdiri dari 3 bagian utama, yaitu software (perangkat lunak),
hardware (perangkat keras) dan brainware (pemakai).
e. Blok Basis Data
Basis data merupakan kumpulan data yang saling berhubungan satu dengan
yang lainnya, yang tersimpan di perangkat lunak untuk memanipulasinya.
f. Blok Kendali
Beberapa pengendali perlu dirancang dan diterapkan untuk meyakinkan
bahwa hal–hal yang dapat merusak sistem dapat dicegah atau bila terlanjur
rusak, kesalahan–kesalahan dapat langsung diatasi.
2.2. Konsep E-R (Entity Relationship)
Dalam merancang tabel, hubungan antar tabel, mengidentifikasikan
primary key dan foreign key dan aturannya, serta domain untuk basis data, perlu
dibuat suatu metode yang disebut diagram Entity Relationship(E-R).
Komponen yang digunakan dalam diagram E-R sebagai berikut :
Gambar Keterangan
Entitas
Relationship
Atribut
7
text Cardinality (tipe relationship)
Tabel 2.1 Simbol Konsep E-R
Relationship memiliki 3 tipe, yaitu :
1. One to One
Yaitu hubungan satu ke satu. Sebagai contoh : satu siswa memiliki satu
nomor induk siswa. Relasi One to One tidak dapat diwujudkan dalam bentuk
sebuah tabel tersendiri, melainkan atribut relasi akan ditambahkan pada salah
satu entitas yang ada.
2. One to Many
Yaitu hubungan satu ke banyak. Misalnya satu tingkat kelas memiliki
beberapa kelas, sebaliknya banyak kelas memiliki satu tingkat kelas. Relasi
One to Many tidak diwujudkan ke dalam bentuk sebuah tabel tersendiri,
melainkan atribut relasi akan ditambahkan pada entitas yang bermuatan
many.
3. Many to many
Yaitu hubungan banyak ke banyak. Misalnya banyak siswa terdaftar dalam
banyak kelas aktif. Relasi Many to Many dapat diwujudkan ke dalam bentuk
sebuah tabel baru.
8
2.3. Website (web)
Website adalah sistem informasi dan komunikasi hypertext yang umum digunakan
pada jaringan internet, dengan komunikasi data mengggunakan model client-
server.
Penggunaan database dalam web memungkinkan kemudahan–kemudahan dalam
proses update dan pemeliharaan data.
Platform umum untuk aplikasi web yang menggunakan database adalah
kolaborasi software MySQL, PHP, dan web server Apache.
PHP dan MySQL merupakan kombinasi pasangan tools yang banyak dan umum
digunakan dalam pembangunan dan pengembangan situs web berbasis database.
2.3.1 HTML (Hypertext Markup Language)
HTML adalah suatu bahasa yang digunakan untuk menulis halaman web.
Ciri utama dokumen HTML adalah adanya tag dan elemen.
Untuk dapat menjalankan dokumen html, harus menggunakan web browser.
2.3.1.1 Link
Untuk membuat suatu link, digunakan elemen anchor yang dinyatakan dalam tag
<A> … , </A>. dalam browser.
Link biasanya dinyatakan dalam teks dengan garis bawah. Untuk membuat link ke
dokumen HTML lain digunakan atribut HREF pada tag <A>.
Format penulisannya adalah :
<A HREF=” nama _dokumen”> teks pada browser </A>
9
Contoh :
1. <A HREF=”pengumumansekolah.html”>Pengumuman Sekolah</A>
2. <A HREF=”infosekolah/pengumumansekolah.html”>pengumuman
Sekolah</A>
3. <A HREF=”../indek.html”>Home</A>
2.3.1.2 Tabel
Dalam pembuatan homepage, tabel memiliki fungsi :
• Untuk menampilkan informasi secara terstruktur, ringkas, dan mudah dibaca.
• Untuk mengatur tampilan homepage agar lebih menarik.
Untuk membuat tabel, digunakan tag <TABLE>, dengan atribut–atribut sebagai
berikut
Atribut Fungsi
BORDER Menentukan ukuran border/garis tebal
WIDTH Menentukan lebar tabel
HEIGHT Menentukan tinggi tabel
BGCOLOR Menentukan background tabel
BACKGROUND Menentukan gambar yang digunakan sebagai
background tabel
COLOR Menentukan warna suatu sel dalam tabel
ALIGN Mengatur bentuk perataan horinzontal
VALIGN Mengatur bentuk perataan vertikal
ROWSPAN Menggabungkan beberapa baris
10
COLSPAN Menggabungkan beberapa kolom
CELLSPACING
DAN
CELLPADDING
Mengatur spasi antar sel dan spasi dalam sel
Tabel 2.2. Daftar Atribut Tabel
Untuk membuat baris, setelah menuliskan tag <TABLE>, digunakan tag Table
Row<TR> . dan untuk membuat kolom, digunakan tag Table Data <TD>.
Sedangkan untuk membuat judul tabel, digunakan tag Table Header <TH>.
Sebagian besar atribut dalam tag <TABLE> dapat digunakan dalam tag <TR>
maupun <TD>.
Standar penulisan tabel :
<table>
<tr><td>
... .
</tr></td>
</table>
2.3.1.3 Form
Untuk melakukan interaksi dengan user, biasanya suatu situs menggunakan form
untuk menerima masukan dari user , dan memproses hasil masukan tersebut di
server.
11
User menerima sejumlah informasi melalui sejumlah elemen yang disebut
control. Control ini bisa berupa textbox, checkbox, radio button, list menu, dan
lainnya.
Standar penulisan form :
<form method=”post/get” action=” … , ,”>
… . .
… .
</form>
Atribut method memiliki dua nilai, yaitu post dan get. Metode get mengirimkan
data ke server dengan cara meletakkan data pada bagian akhir URL yang ditunjuk.
Metode post mengirimkan datanya secara terpisah. Jika data masukan banyak,
lebih disarankan untuk menggunakan metode post. Atribut action berisi URL dari
program yang dipanggil oleh form tersebut.
2.3.2 PHP (Hypertext Preprocessor)
PHP adalah bahasa server-side scripting yang menyatu dengan HTML untuk
membuat halaman web yang dinamis. Server-side scripting maksudnya sintaks
dan perintah–perintah yang diberikan akan sepenuhnya dijalankan di server, tetapi
disertakan pada dokumen HTML.
PHP merupakan software yang open source (gratis) dan mampu lintas platform,
yaitu dapat digunakan dengan sistem operasi dan web server apapun. PHP mampu
berjalan di Windows dan beberapa versi linux.
12
2.3.3 MySQL
MySQL merupakan DBMS (Database Management System) yang digunakan
dalam membangun aplikasi web yang menggunakan database sebagai sumber dan
pengelola datanya.
Berikut adalah langkah–langkah yang digunakan dalam aplikasi untuk melakukan
akses kepada database MySQL dengan menggunakan PHP
• Melakukan koneksi ke server
• Memilih database yang akan diakses setelah koneksi ke server berhasil.
• Melakukan proses query yang diinginkan kepada database apabila
pengaksesan database berhasil dilakukan.
• Menutup database.
Untuk mengelola database MySQL, bisa melalui DOS Prompt, dan bisa juga
melalui program utility, seperti PHPmyAdmin.
Berikut daftar beberapa fungsi mysql
Koneksi dan Diskoneksi kepada Server MySQL
mysql_connect Membuka koneksi kepada suatu server MySQL
mysql_pconnect Membuka koneksi persisten kepada suatu server
MySQL
mysql_select_db Memilih database yang akan digunakan setelah
koneksi berhasil
mysql_close Memutuskan koneksi database
mysql_change_user Mengganti nama, pemakai dan password pada
13
koneksi yang sedang aktif
Membuat dan Menghapus Database
mysql_create_db Membuat sebuah databaseMySQL
mysql_dropdb Menghapus sebuah database
MySQL
mysql_usedb Menggunakan database
Koneksi dan Diskoneksi kepada Server MySQL
mysql_db_query Mengeksekusi perintah SQL untuk melakukan query
pada server yang disebutkan
mysql_query Mengeksekusi perintah SQL untuk melakukan query
pada database yang telah dipilih
Penanganan Hasil Query
mysql_fetch_array Mengambil sebuah baris hasil query sebagai sebuah
array asosiatif
mysql_result Memberikan data hasil query
mysql_ fetch_row Menghasilkan baris atau record dalam array enumerated
mysql_ affetch_row Memberikan informasi jumlah record yang diproses
oleh suatu query
mysql_fetch_field Menghasilkan obyek dari informasi kolom suatu hasil
query
mysql_fetch_object Menghasilkan sebuah baris sebagai objek
14
mysql_field_nama Mengambil nama field dari suatu hasil
mysql_field_len Menghasilkan panjang field
mysql_field_seek Memposisikan pointer kepada offset suatu field yang
dinyatakan
mysql_field_flags Menghasilkan flag berasosiasi dengan field yang
dispesifikasikan dalam hasil
mysql_insert_id Menhasilkan id dari operasi insert sebelumnya
mysql_data_seek Menggerakkan pointer hasil internal
mysql_free_result Membersihkan/menghapus memori hasil.
Tabel 2.3 Daftar Beberapa Fungsi dalam MySQL
15
BAB III
ANALISA DAN PERANCANGAN
3.1. Analisa
3.1.1. Analisa Sistem yang Sudah Ada
Untuk mengetahui sistem dan prosedur yang telah diterapkan, maka dilakukan
wawancara singkat dengan pihak sekolah, serta melihat contoh pencatatan data
yang dilakukan secara manual.
3.1.2. Gambaran Umum Sistem yang Baru
Sistem penyediaan informasi akademik ini bekerja dalam sebuah web server
jaringan internet.
Aplikasi ini dikhususkan untuk siswa/wali siswa, guru, dan pegawai Tata
Usaha yang masih aktif, karena user harus melakukan proses login terlebih
dahulu untuk dapat masuk ke sistem, dengan memasukkan status, ID, dan
password user.
o Untuk user dengan status Siswa/wali siswa, ID berupa NIS (Nomor Induk
siswa).
o Untuk user dengan status Tata Usaha, ID berupa NIP (Nomor Induk
Pegawai). User juga diminta untuk memasukkan data tahun ajaran (dengan
16
default tahun ajaran yang sedang aktif), dimana data akademik yang akan
ditampilkan merupakan data akademik pada tahun ajaran yang dipilih.
o Untuk user dengan status Guru, ID berupa ID Guru. User juga diminta
untuk memasukkan data tahun ajaran (dengan default tahun ajaran yang
sedang aktif), dimana data akademik yang akan ditampilkan merupakan
data akademik pada tahun ajaran yang dipilih.
Setelah proses login berhasil, barulah user dapat menggunakan fasilitas yang
terdapat pada aplikasi, sesuai dengan hak masing-masing.
Informasi-informasi yang disediakan, yaitu sebagai berikut :
1. Informasi Tahun Ajaran Aktif
Berisi data tahun ajaran aktif sewaktu penggunaan aplikasi.
2. Data Guru
Berisi daftar guru dan data lengkap guru.
3. Data Siswa
Berisi daftar siswa dan data lengkap siswa.
4. Informasi Kelas Aktif
Berisi data kelas aktif dalam suatu tahun ajaran.
5. Informasi Tugas Mengajar Guru
Berisi tugas mengajar guru dalam suatu tahun ajaran.
6. Informasi Akademik Siswa
Berisi informasi tentang pengaturan kelas siswa dan daftar nilai siswa.
17
3.1.3. Batasan Sistem
Batasan yang terdapat dalam sistem ini, yaitu :
Sistem ini dikhususkan untuk penyediaan informasi yang berhubungan dengan
siswa, dalam hal tertentu saja, seperti yang telah disebutkan.
Data pribadi dan informasi akademik seorang siswa hanya dapat diakses oleh
siswa/wali siswa yang bersangkutan dan pihak sekolah yang berkepentingan,
tidak dapat diakses oleh siswa lain.
Guru hanya dapat mengakses data pribadi siswa didiknya dan data nilai dari
mata pelajaran yang diampunya.
3.1.4. Analisa Kebutuhan
User pengguna aplikasi ini terbagi menjadi 4 kelompok, yaitu :
1. Tata Usaha Admin
Berhak mengolah dan melihat data-data sebagai berikut :
Data Kelas
Data Mata Pelajaran
Data Tahun Ajaran Aktif
Data Tata Usaha
Data Guru
Data Siswa
Data Kelas Aktif
18
Data Tugas Mengajar Guru
Data pengaturan siswa kelas aktif
2. Tata Usaha
Berhak mengupdate nilai dan melihat data-data sebagai berikut :
• Data Tata Usaha
• Data Guru
• Data Siswa
• Data Kelas Aktif
• Data Tugas Mengajar Guru
• Data pengaturan siswa kelas aktif
3. Guru
Berhak melihat data-data sebagai berikut :
Data pribadi guru yang bersangkutan.
Tugas Mengajar pribadi.
Daftar siswa didik.
Data lengkap siswa didik.
Nilai dari mata pelajaran yang diajar oleh guru yang bersangkutan.
4. Siswa/Wali siswa
Berhak melihat data-data sebagai berikut :
Data pribadi dan informasi akademik siswa yang bersangkutan.
Daftar guru.
19
3.1.5. Data Flow Diagram (DFD)
3.1.5.1. Context Diagram
a. Siswa/Wali
Siswa
b.Guru
0
Sistem Informasi Akademik
Siswa OnlineStatus, ID, password, pilihan menu
data pribadi siswa, daftar kelas siswa, transkrip nilai siswa, daftar guru
c.Tata Usaha
Admin
Status, ID, password, pilihan menu,data kelas, data mata pelajaran, data tahun
ajaran aktif, data guru, data siswa, data tata usaha, data kelas aktif, data
pengaturan siswa kelas aktif, data tugas mengajar guru
data pribadi, daftar tugas mengajar pribadi, daftar siswa didik, data pribadi siswa didik, nilai
siswa didik
d.Tata Usaha
daftar kelas aktif, daftar pengaturan siswa kelas aktif, daftar tugas mengajar guru, daftar
nilai, data lengkap siswa, daftar guru, data lengkap guru
Status, ID, password, pilihan tahun ajaran,
pilihan menu, data nilai
Status, ID, password, pilihan tahun ajaran, pilihan menu
Gambar 3.1.1. Context Diagram
20
3.1.5.2. Diagram Berjenjang
6
Pengolahan Data Guru
4
Pengaturan tahun ajaran
aktif
2
Pengolahan Data Kelas
3
Pengolahan Data Mata Pelajaran
1
Login
0
Sistem Informasi Akademik
Siswa Online
5
Pengolahan Data Tata
Usaha
7
Pengolahan Data Siswa
Gambar 3.1.2. Diagram Berjenjang (Bagian 1)
21
0
Sistem Informasi Akademik
Siswa Online
8.1
Update Data Kelas Aktif
8.2
Pengaturan Siswa Kelas
Aktif
8
Pengolahan Data Kelas
Aktif
9
Pengolahan data tugas
mengajar guru
10
Pengolahan nilai
11
Lihat Guru
11.1
Lihat Daftar Guru
11.2
Lihat Data Lengkap Guru
Gambar 3.1.3. Diagram Berjenjang (Bagian 2)
22
14.2
Lihat nilai siswa
14
Lihat Data Akademik
Siswa
14.1
Lihat Pengaturan kelas siswa
13
Lihat Siswa
12
Lihat Tugas Mengajar Guru
15
Ubah Password
0
Sistem Informasi Akademik
Siswa Online
13.1
Lihat Daftar Siswa
13.2
Lihat Data Lengkap Siswa
15.3
Ubah Password Guru
15.2
Ubah Password Tata Usaha
15.1
Ubah PasswordSiswa
Gambar 3.1.4. Diagram Berjenjang (Bagian 3)
23
3.1.5.3. Overview Diagram
c.Tata U saha
A dm in *a.
S isw a/W ali S isw a *
status, ID , passw ord 1
Login
2
Pengolahan D ata K elas
4
Pengaturan Tahun A jaran
b. G uru *
3
Pengolahan D ata M ata Pelajaran
validasi login tata usaha adm in,
data kelas
M ata Pelajaran
Tahun A jaran
K elas
D 6D 3
D 1 D 2
status, ID , passw ord, tahun ajaran
status, ID , passw ord
data pribad i user
data pribadi sisw a
7
Pengolahan D ata S isw a
6
Pengolahan D ata G uru
validasi login tata usaha adm in, data m ata pelajaran
G uru Sisw a
validasi login tata usaha adm in, data sisw a
D 5 D 6
5
Pengolahan D ata Tata U saha
D 4 T ata U saha
validasi login tata usaha
adm in, data tata usaha
validasi login data ta ta usaha adm in, data tahun ajaran
T ata U sahaG uruSisw a D 4D 5
validasi log in tata usaha adm in, data guru
8
Pengolahan D ata K elas
A ktif
validasi login ta ta usaha adm in, data kelas aktif, data pengaturan sisw a
kelas aktif9
Pengolahan D ata Tugas M engajar
G uru
validasi log in tata usaha, data n ilai
validasi login tata usaha adm in, data tugas
m engajar guru
10
Pengolahan N ilai
N ilai
Tugas M engajar
K elas A ktif
D 10
D 8D 7 D 9 Sisw a K elas A ktif
d . T ata U saha *
status, ID , passw ord, tahun ajaran
data pribadi user
data pribadi user
data kelas yang sudah terupdate
data tata usaha yang sudah terupdate
data guru yang sudah terupdate
data sisw a yang sudah terupdate
data kelas aktif yang sudah terupdate
data sisw a kelas aktif yang sudah terupdate
data tugas m engajar yang sudah terupdate
data tahun ajaran yang sudah terupdatedata m ata pelajaran
yang sudah terupdate
data n ilai yang sudah terupdate
D 3 Tahun A jaran
13
L ihat D ata Sisw a
11
Lihat D ata G uru
D 5
D 6
G uru
Sisw a
validasi login , p ilihan sisw a
14
Lihat D ata A kadem ik sisw a
12
Lihat Tugas M engajar G uru
15
U bah Passw ord
validasi login, p ilihan m enu, p ilihan tugas m engajar
daftar tugas m engajar guru
D 8 Tugas M engajar
nilaiS isw a kelas aktif D 10D 9
daftar pengaturan kelas user, transkrip n ilai user
validasi login sisw a, passw ord lam a, passw ord baru
a. S isw a/W ali
Sisw a **
b. G uru **
V alidasi login tata usaha, passw ord lam a, passw ord baru
Sisw a
G uruT ata
U sahaD 6D 5D 4
validasi login tata usaha, p ilihan m enu, p ilihan kelas aktif, p ilihan
tugas m engajar
validasi login sisw a, p ilihan m enu
data passw ord sisw a yang
sudah diubah
data passw ord tata usaha yang sudah
diubah
data passw ord guru yang sudah
diubah
data lengkap guru
validasi login guru, passw ord lam a, passw ord baru
d . T ata U saha
**
daftar sisw a kelas aktif, daftar n ilai
validasi login guru , p ilihan m enu
validasi login tata usaha, p ilihan m enu
daftar tugas m engajar user
validasi login tata usaha, p ilihan sisw a
data lengkap sisw a
data lengkap sisw a
validasi login sisw a, p ilihan
m enu
data guru
Gambar 3.1.5. Overview Diagram
24
3.1.5.4. DFD Level 1
DFD Level 1 Proses 8
8.1
Update Data Kelas Aktif
8.2
Pengaturan Siswa Kelas
Aktif
Kelas AktifD7
D9 Siswa Kelas Aktif
c.Tata Usaha
Admin
Validasi login tata usaha admin, data
kelas aktif
Validasi login tata usaha admin, data siswa kelas aktif
Data kelas aktif terupdate
Data siswa kelas aktif terupdate
Gambar 3.1.6. DFD Level 1 Proses 8
DFD Level 1 Proses 11
25
11.1
Lihat Daftar Guru
11.2
Lihat Data Lengkap Guru
GuruD5
c.Tata Usaha
Admin Daftar guru
Data lengkap guru
d.Tata Usaha
Data lengkap guru
a.Siswa/
Wali Siswa
Daftar guru
Validasi login tata usaha admin,
pilihan menu
Validasi login tata usaha admin, pilihan guru
Validasi login tata usaha, pilihan guru
Validasi login siswa, pilihan menu
Validasi login tata usaha, pilihan
menu
Daftar guru
Gambar 3.1.7. DFD Level 1 Proses 11
DFD Level 1 Proses 13
13.1
Lihat Daftar Siswa
13.2
Lihat Data Lengkap Siswa
SiswaD6
c.Tata Usaha
Admin Daftar siswa
Data lengkap siswa
Validasi login tata usaha admin, pilihan menu
Validasi login tata usaha admin, pilihan siswa
Gambar 3.1.8. DFD Level 1 Proses 13
26
DFD Level 1 Proses 14
14.1
Lihat Pengaturan Kelas Siswa
14.1
Lihat Nilai Siswa
Siswa Kelas AktifD9
c.Tata Usaha
Admin
b.Guru
Daftar nilai siswa
a.Siswa/
Wali Siswa
Daftar kelas siswa
Transkrip nilai siswa
D10 Nilai
d.Tata Usaha
Daftar siswa kelas aktif
validasi login siswa, pilihan menu
validasi login tata usaha, pilihan kelas
aktif
validasi login tata usaha admin, pilihan kelas aktif
Daftar siswa didikDaftar siswa kelas aktif
validasi login guru, pilihan tugas
mengajar
validasi login tata usaha, pilihan
tugas mengajar
Daftar nilai siswa
validasi login siswa, pilihan menu
validasi login guru, pilihan tugas mengajar
Gambar 3.1.9. DFD Level 1 Proses 14
27
DFD Level 1 Proses 15
15.1
Ubah Password
Siswa
15.2
Ubah Password Tata Usaha
SiswaD6
d.Tata Usaha
b. Guru
15.3
Ubah Password Guru
Tata Usaha
GuruD5
D4
a. Siswa/
Wali Siswa
Validasi login tata usaha, Password lama,
password baru
Validasi login siswa,Password lama, password
baru
Validasi login guru, Password lama, password baru
Data password siswa yang terupdate
Data password tata usaha terupdate
Data password guru terupdate
Gambar 3.1.10. DFD Level 1 Proses 15
28
3.2. Perancangan
3.2.1. Perancangan Basis Data
3.2.1.1 Diagram E R
Siswanis terdaftar
pglan_siswa
status_studinama
siswa thn_msk_siswa
nip
nama_tu
status
ID_kls_aktif_ta
Id_ta
nama_ta
Kelas Aktif
Memiliki
Nilai Mengupdate
Tata Usaha
semester
nilai
ID_nilai
Mengajar
Kelas
Tahun Ajaran
Mata Pelajaran
Tingkat kelas
Wali Guru
memiliki
memiliki untuk
pada
status_guru
nama_guruID_guru
tingkat_kls
kode_mp
nama_mp
status_mp
kurikulum
nama_klskode_kls
thn_msk_tu
status_tu
thn_msk_guru
pend_guru
N
11
N
1
N
1
N 1
N
1
N
N
N
1
1
1 1
N
1N
MP Kelas Aktif
untuk
N
N
untuk
ID_mp_kls_aktif_ta
untuk
N
Gambar 3.2.1 Diagram E-R
29
3.2.1.2 Relasi Antar Tabel
Siswa
nis *nama_siswapglan_siswastatus_studithn_msk_siswat4_lhr_siswatgl_lhr_siswasex_siswaagama_siswaalamat_siswatelp_siswaasal_sekolahgol_drhnama_walialamat_walitelp_walipsword_siswa
Guru
ID_guru *nama_gurupglan_gurustatus_gurukepeg_guruthn_msk_gurusex_gurut4_lhr_gurutgl_lhr_gurualamat_gurustatus_nkh_gurutelp_guruagama_Gurupend_Gurupsword_guru
Kelas
kode_kls *nama_klstingkat_kls **
Mata Pelajaran
Kode_mp *Nama_mpkurikulumstatus_mptingkat_kls **
mp_kelas_aktif_ta
ID_mp_kelas_aktif_ta *ID_kls_aktif_ta **ID_Guru_ngajar **Kode_mp **
Nilai
ID_nilai *nis **ID_mp_kelas_aktif_ta **semesternilaiNIP **
siswa_kelas_aktif_ta
ID_siswa_kls_aktif *nis **ID_kls_aktif_ta **
TA
id_ta *nama_tastatus
Tata Usaha
NIP *nama_tupglan_tustatus_tuthn_msk_tujabatansex_tut4_lhr_tutgl_lhr_tustatus_nkh_tualamat_tutelp_tuagama_tupend_tupsword_tu
kelas_aktif_ta
ID_kls_aktif_ta *id_ta **kode_kls **ID_Guru_wali**
tingkat kelas
tingkat_kls *
Gambar 3.2.2 Relasi Antar Tabel
30
3.2.1.3. Prototipe Tabel
1. Tabel Tingkat Kelas
Merupakan tabel yang berisi data tingkat kelas yang ada.
Nama Field Tipe Data Lebar Keterangan
tingkat_kls tinyint Tingkat kelas
(Merupakan Primary Key)
Tabel 3.2. 1 Tabel Tingkat Kelas
2. Tabel kelas
Tabel ini berisi data kelas yang ada.
Nama Field Tipe Data Lebar Keterangan
kode_kls varchar 6 Kode Kelas
Merupakan primary key
nama_kls varchar 6 Nama Kelas
(Unique)
tingkat_kls tinyint Tingkat Kelas
Merupakan foreign key
Tabel 3.2. 2 Tabel Kelas
31
3. Tabel mp
Tabel ini berisi data mata pelajaran yang ada.
Nama Field Tipe Data Lebar Keterangan
kode_mp varchar 5 Kode Mata Pelajaran
Merupakan primary key
nama_mp varchar 30 Nama Mata Pelajaran
(Unique)
kurikulum varchar kurikulum
status_mp varchar 10 Status mata pelajaran
tingkat_kls tinyint Tingkat Kelas
Merupakan foreign key
Tabel 3.2. 3 Tabel Mata Pelajaran
4. Tabel ta
Tabel ini berisi data tahun ajaran.
Nama Field Tipe Data Lebar Keterangan
id_ta tinyint Kode Tahun Ajaran
Merupakan primary key
(Autoincreement)
nama_ta varchar 12 Nama Tahun Ajaran
32
(Unique)
status tinyint Status tahun ajaran
Untuk tahun ajaran aktif,
status=1
Tabel 3.2. 4 Tabel Tahun Ajaran
5. Tabel tata_usaha
Tabel ini berisi data pegawai tata usaha.
Nama Field Tipe Data Lebar Keterangan
nip int Nomor Induk Pegawai Tata Usaha
Merupakan primary key
nama_tu varchar 30 Nama Pegawai Tata Usaha
pglan_tu varchar 10 Panggilan Tata Usaha
status_tu varchar 10 Status Keaktifan Tata Usaha
thn_msk_tu varchar 12 Tahun Masuk Tata Usaha
jabatan varchar 6 Jabatan Tata Usaha
sex_tu varchar 6 Jenis kelamin Tata Usaha
t4_lhr_tu varchar 20 Tempat Lahir Tata Usaha
tgl_lhr_tu varchar 20 Tanggal Lahir Tata Usaha
status_nkh_tu varchar 10 Status Pernikahan Tata Usaha
alamat_tu varchar 30 Alamat Tata Usaha
telp_tu varchar 15 Telepon Tata Usaha
33
agama_tu varchar 7 Agama Tata Usaha
pend_tu varchar 8 Pendidikan Tata Usaha
psword_tu varchar 40 Password Tata Usaha
Tabel 3.2. 5 Tabel Tata Usaha
6. Tabel Guru
Tabel ini berisi data pribadi guru.
Nama Field Tipe Data Lebar Keterangan
ID_guru varchar 15 ID Guru
(Merupakan primary key)
nama_guru varchar 30 Nama Lengkap Guru
pglan_guru varchar 10 Nama Panggilan Guru
kepeg_guru varchar 10 Status kepegawaian Guru
status_guru varchar 10 Status keaktifan guru
thn_msk varchar 12 Tahun Masuk Guru
sex_guru varchar 6 Jenis kelamin Guru
t4_lhr_guru varchar 20 Tempat Lahir Guru
tgl_lhr_guru varchar 20 Tanggal Lahir Guru
status_nkh_guru varchar 10 Status pernikahan guru
alamat_Guru varchar 30 Alamat Guru
telp_guru varchar 15 Telepon/HP Guru
34
agama_guru varchar 7 Agama Guru
pend_guru varchar 8 Pendidikan Guru
psword_guru varchar 40 Password guru
Tabel 3.2. 6 Tabel Guru
7. Tabel Siswa
Tabel ini berisi data pribadi siswa.
Nama Field Tipe Data Lebar Keterangan
nis int Nomor Induk Siswa
(Merupakan primary key)
nama_siswa varchar 30 Nama Lengkap Siswa
pglan_siswa varchar 10 Nama Panggilan Siswa
thn_msk_siswa varchar 12 Tahun Masuk Siswa
status_studi varchar 10 Status Studi Siswa
sex_siswa varchar 6 Jenis Kelamin Siswa
t4_lhr_siswa varchar 20 Tempat Lahir Siswa
tgl_lhr_siswa varchar 20 Tanggal Lahir Siswa
alamat_siswa varchar 30 Alamat Siswa
telp_siswa varchar 15 Telepon/HP Siswa
agama_siswa varchar 7 Agama Siswa
asal_sekolah varchar 25 Asal Sekolah
35
gol_darah varchar 2 Golongan Darah
nama_wali varchar 30 Nama wali siswa
alamat_wali varchar 50 Alamat wali siswa
telp_wali varchar 15 Telepon wali siswa
psword_siswa varchar 40 Password siswa
Tabel 3.2. 7 Tabel Siswa
8. Tabel kelas_aktif_ta
Tabel ini berisi data kelas yang aktif pada suatu tahun ajaran.
Nama Field Tipe
Data
Lebar Keterangan
ID_kls_aktif_ta tinyint ID Kelas Aktif
Merupakan Primary Key
(Autoincreement)
kode_kls varchar 6 Kode Kelas
Merupakan foreign key
id_ta tinyint ID Tahun Ajaran
Merupakan foreign key
ID_guru_wali int ID Guru
Merupakan foreign key
Tabel 3.2. 8 Tabel Kelas Aktif
36
Pada tabel ini ditambahkan 2 constraint unique, yaitu :
- Constraint Unique (kode_kls, id_ta)
Agar tidak terdapat lebih dari satu data kelas aktif yang memiliki kode_kls dan
id_ta yang sama.
- Constraint Unique (id_ta,ID_guru_wali)
Agar dalam satu tahun ajaran aktif seorang guru tidak menjadi wali kelas pada
lebih dari satu kelas aktif.
9. Tabel mp_kelas_aktif_ta
Tabel ini berisi data tugas mengajar guru.
Nama Field Tipe Data Lebar Keterangan
ID_mp_kelas_aktif_ta tinyint ID mengajar
Merupakan primary key
(Autoincreement)
ID_kls_aktif_ta tinyint ID Kelas Aktif
Merupakan foreign key
kode_mp varchar 5 Kode Mata Pelajaran
Merupakan foreign key
ID_guru_ajar int ID Guru
Merupakan foreign key
Tabel 3.2. 9 Tabel mp_kelas_aktif_ta (Tugas Mengajar Guru)
37
Pada tabel ini ditambahkan Constraint Unique (ID_kls_aktif_ta,
kode_mp) agar tidak terdapat lebih dari satu data mp_kelas_aktif_ta yang
memiliki ID_kls_aktif_ta dan kode_mp yang sama.
10. Tabel siswa_kelas_aktif_ta
Tabel ini berisi data pengaturan siswa ke dalam suatu kelas aktif.
Nama Field Tipe Data Lebar Keterangan
ID_siswa_kls_aktif int ID menempati kelas
Merupakan primary key
(Autoincreement)
nis int Nomor Induk Siswa
Merupakan foreign key
ID_kls_aktif_ta tinyint ID Kelas Aktif
Merupakan foreign key
Tabel 3.2. 10 Tabel siswa_kelas_aktif
Pada tabel ini ditambahkan Constraint Unique (ID_kls_aktif_ta,
nis) agar tidak terdapat lebih dari satu data siswa_kelas_aktif_ta yang memiliki
ID_kls_aktif_ta dan nis yang sama.
38
11. Tabel Nilai
Tabel ini berisi data nilai siswa.
Nama Field Tipe Data Lebar Keterangan
ID_nilai int ID_nilai
Merupakan primary key
(Autoincreement)
ID_mp_kelas_aktif_ta tinyint ID mengajar
Merupakan foreign key
semester tinyint semester
nis int Nomor Induk Siswa
Merupakan foreign key
nilai tinyint Nilai mata pelajaran
NIP int NIP tata usaha yang
mengupdate nilai
Merupakan foreign key
Tabel 3.2. 11 Tabel Nilai
Pada tabel ini ditambahkan Constraint Unique
(ID_mp_kelas_aktif_ta, semester, nis) agar tidak terdapat lebih dari
satu data nilai yang memiliki ID_mp_kelas_aktif_ta, semester dan nis yang sama.
39
3.2.2. Perancangan User Interface
Index merupakan halaman awal yang akan ditampilkan sewaktu user mengakses
aplikasi, seperti yang ditunjukkan pada Gambar 3.2.2.1.
Logo
Teks berjalan berisi data tahun ajaran aktif
Gambar
Sistem Informasi Akademik SiswaSMPN 1 Yogyakarta
Copyright 2007
Pilih Status User
Tata UsahaSiswa/Wali Siswa
Guru
Tata Usaha Admin
Gambar 3.2.2 1 Halaman Index
Pada halaman ini, user diminta untuk memilih status user.
Status user terdiri dari 4 pilihan, yaitu Tata Usaha Admin, Tata Usaha,
Siswa/Wali Siswa serta Guru. Status user inilah yang nantinya akan membedakan
tampilan menu antar user.
Setelah user memilih status, selanjutnya user akan dibawa ke halaman login,
sesuai dengan status yang dipilih.
40
Jika user memilih status Tata Usaha Admin, maka akan dibawa ke halaman login
Tata Usaha Admin, seperti yang ditunjukkan pada Gambar 3.2.2.2.
Logo
Tahun Ajaran Aktif
Copyright 2007
Form Login Tata Usaha Admin
ID
Password
Login
Gambar 3.2.2 2 Halaman Login Tata Usaha Admin
Jika user memilih status Tata Usaha, maka akan dibawa ke halaman login Tata
Usaha, seperti yang ditunjukkan pada Gambar 3.2.2.3.
Logo
Tahun Ajaran Aktif
Copyright 2007
Form Login Tata Usaha
ID
Password
Login
XXXXXXPilih Tahun Ajaran
Gambar 3.2.2.3. Halaman Login Tata Usaha
41
Jika user memilih status Siswa/Wali Siswa, maka akan dibawa ke halaman login
Siswa/Wali Siswa, seperti yang ditunjukkan pada Gambar 3.2.2.4
Logo
Tahun Ajaran Aktif
Copyright 2007
Form Login Wali Siswa
Login
ID
Password
Gambar 3.2.2 4 Halaman Login Siswa/Wali Siswa
Jika user memilih status Guru, maka akan dibawa ke halaman login Guru, seperti
yang ditunjukkan pada Gambar 3.2.2.5.
Logo
Tahun Ajaran Aktif
Copyright 2007
Form Login Guru
Login
ID
Password
Pilih Tahun Ajaran XXXXXX
Gambar 3.2.2 5 Halaman Login Guru
42
Pada halaman login Tata Usaha dan Login Guru, selain diminta untuk
memasukkan ID dan password, user juga diminta untuk memilih tahun ajaran
(dengan default tahun ajaran yang sedang aktif), sehingga informasi akademik
yang akan ditampilkan pada halaman-halaman selanjutnya merupakan informasi
akademik pada tahun ajaran yang dipilih sewaktu login.
Data-data yang dimasukkan sewaktu login akan dicocokkan dengan data yang ada
pada tabel sesuai status yang dipilih user.
Jika proses login gagal, maka akan ditampilkan pesan seperti yang ditunjukkan
pada Gambar 3.2.2.6.
Logo
Tahun Ajaran Aktif
Copyright 2007
Login Gagal. Silahkan Periksa Status, ID dan Password Anda
Login Kembali atau Ke Halaman Index
Gambar 3.2.2 6 Pesan Login Gagal
43
3.2.2.1. Login Sebagai Tata Usaha Admin
Jika proses login sebagai Tata Usaha Admin sukses, maka akan ditampilkan
halaman awal Tata Usaha Admin, seperti yang ditunjukkan pada Gambar 3.2.2.7.
Kolom sebelah kiri merupakan daftar menu yang dapat diakses oleh Tata Usaha
Admin. Dan kolom sebelah kanan merupakan tampilan data pribadi user.
Logo
Login ID : XXXXXXX
Registrasi
Update Data
Ubah Password
Copyright 2007
NIP : XXXXXNama : XXXX
Status Peg : XXXXJns Kelamin : XXXX
Tempat, tgl lhr : XXXXAlamat : XXXXTelepon : XXXXAgama : XXXX
Logout
- Siswa- Guru
- Tata Usaha
- Kelas- Mata Pelajaran
Data Pribadi Tata UsahaMenu Tata Usaha
Tugas Mengajar
Kelas Aktif
Set Thn Ajaran
Tahun Ajaran Aktif
Gambar 3.2.2 7 Halaman Utama Tata Usaha Admin
Jika user memilih menu Update Data Kelas, maka akan ditampilkan halaman
Kelas, seperti yang ditunjukkan pada Gambar 3.2.2.8.
Untuk menambah kelas baru, user harus memasukkan melalui form tambah kelas.
44
Pada halaman ini akan ditampilkan juga daftar kelas yang ada. Jadi data kelas
baru yang dimasukkan melalui form Tambah Kelas, nantinya akan ditampilkan di
daftar Kelas.
User juga dapat mengedit data kelas dengan mengklik link Edit pada data kelas
yang ingin diedit, serta dapat menghapus data kelas dengan mengklik link Hapus
pada data kelas yang ingin dihapus.
Logo
Tahun Ajaran Aktif
Copyright 2007
Form Tambah Kelas
No
Edit HapusEdit HapusEdit Hapus
Tingkat KelasNama KelasKode Kelas
[Kembali]
Gambar 3.2.2 8 Halaman Kelas
Jika user memilih menu Update Data Mata Pelajaran, maka akan ditampilkan
halaman Mata Pelajaran, seperti yang ditunjukkan pada Gambar 3.2.2.9.
Untuk menambah mata pelajaran baru, user harus memasukkan melalui form
tambah mata pelajaran.
45
Pada halaman ini akan ditampilkan juga daftar mata pelajaran yang ada. Jadi data
mata pelajaran baru yang dimasukkan melalui form Tambah Mata Pelajaran,
nantinya akan ditampilkan di daftar Mata Pelajaran. User juga dapat mengedit
data mata pelajaram dengan mengklik link Edit pada data mata pelajaran yang
ingin diedit, serta dapat menghapus data mata pelajaran dengan mengklik link
Hapus pada data mata pelajaran yang ingin dihapus.
Logo
Tahun Ajaran Aktif
Copyright 2007
Form Tambah Mata Pelajaran
No
Edit HapusEdit HapusEdit Hapus
StatusNama MPKode MP
[Kembali]
Tingkat KelasKurikulum
Gambar 3.2.2 9 Halaman Mata Pelajaran
Jika user memilih menu Set Thn Ajaran, maka akan ditampilkan halaman Tahun
Ajaran, seperti yang ditunjukkan pada Gambar 3.2.2.10.
User memilih tahun ajaran aktif melalui combo box pada form Tahun Ajaran
Aktif. Data tahun ajaran yang dipilih otomatis akan memiliki status aktif, yang
akan menjadikan status tahun ajaran aktif lainnya menjadi tidak aktif.
Pada halaman ini akan ditampilkan juga daftar tahun ajaran.
46
User juga dapat mengedit data tahun ajaran dengan mengklik link Edit pada data
tahun ajaran yang ingin diedit, serta dapat menghapus data tahun ajaran dengan
mengklik link Hapus pada data tahun ajaran yang ingin dihapus.
Logo
Tahun Ajaran Aktif
Copyright 2007
Form Set Tahun Ajaran Aktif
No
Edit HapusEdit HapusEdit Hapus
StatusNama TAID
[Kembali]
Gambar 3.2.2 10 Halaman Tahun Ajaran
Jika user memilih menu Registrasi Siswa, maka akan ditampilkan halaman
Registrasi siswa untuk menambah data siswa baru melalui form Registrasi Siswa
Baru, seperti yang ditunjukkan pada Gambar 3.2.2.11.
47
Logo
Tahun Ajaran Aktif
Copyright 2007
Form Registrasi Siswa Baru
[Kembali]
Gambar 3.2.2 11 Halaman Registrasi Siswa
Jika user memilih menu Registrasi Guru, maka akan ditampilkan halaman
Registrasi Guru untuk menambah data guru baru melalui form Registrasi Guru
Baru, seperti yang ditunjukkan pada Gambar 3.2.2.12.
Logo
Tahun Ajaran Aktif
Copyright 2007
Form Registrasi Guru Baru
[Kembali]
Gambar 3.2.2 12 Halaman Registrasi Guru
48
Jika user memilih menu Registrasi Tata Usaha, maka akan ditampilkan halaman
Registrasi Tata Usaha untuk menambah data tata usaha baru melalui form
Registrasi Tata Usaha Baru, seperti yang ditunjukkan pada Gambar 3.2.2.13.
Gambar 3.2.2 13 Halaman registrasi Tata Usaha
Jika user memilih menu Profil Siswa, maka akan ditampilkan daftar siswa aktif
pada tahun ajaran aktif, seperti yang ditunjukkan pada Gambar 3.2.2 14.
Logo
Tahun Ajaran Aktif :
Copyright 2007
Daftar Siswa Aktif Tahun Ajaran
No
Selengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit Hapus
Jenis KelaminNamaNIS Tahun Masuk Action
[Kembali]
Gambar 3.2.2 14 Halaman daftar Siswa Aktif
49
Pada halaman ini juga, user dapat mengedit data siswa dengan mengklik link Edit
pada data yang ingin diedit, serta menghapus data siswa dengan mengklik link
Hapus pada data yang ingin dihapus.
Untuk melihat data siswa selengkapnya, user dapat mengklik link Selengkapnya,
pada data yang ingin dilihat, sehingga akan ditampilkan data lengkap siswa yang
dipilih, seperti yang ditunjukkan pada Gambar 3.2.2 15.
Logo
Tahun Ajaran Aktif :
Copyright 2007
NIS : XXXXXNama : XXXX
Tahun Masuk : XXXX/XXXXStatus Studi : XXXXJns Kelamin : XXXX
Tempat, tgl lhr : XXXXAlamat : XXXXTelepon : XXXXAgama : XXXX
Data Lengkap Siswa XXXX
[Kembali]
Gambar 3.2.2 15 Halaman Data Lengkap Siswa
Jika user memilih menu Profil Guru, maka akan ditampilkan daftar guru aktif
pada tahun ajaran aktif, seperti yang ditunjukkan pada Gambar 3.2.2 16.
Pada halaman ini juga, user dapat mengedit data guru dengan mengklik link Edit
pada data yang ingin diedit, serta menghapus data guru dengan mengklik link
Hapus pada data yang ingin dihapus.
50
Logo
Tahun Ajaran Aktif :
Copyright 2007
Daftar Guru Aktif Tahun Ajaran
No
Selengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit Hapus
Jenis KelaminNamaID Tahun Masuk Action
[Kembali]
Gambar 3.2.2 16 Halaman Daftar Guru Aktif
Untuk melihat data guru selengkapnya, user dapat mengklik link Selengkapnya,
pada data yang ingin dilihat, sehingga akan ditampilkan data lengkap guru, seperti
yang ditunjukkan pada Gambar 3.2.2.17.
Logo
Tahun Ajaran Aktif :
Copyright 2007
ID : XXXXXNama : XXXX
Tahun Masuk : XXXX/XXXXStatus Kepegawaian : XXXX
Jns Kelamin : XXXXTempat, tgl lhr : XXXX
Alamat : XXXXTelepon : XXXXAgama : XXXX
Data Lengkap Guru XXXX
[Kembali]
Gambar 3.2.2 17 Halaman Data Lengkap Guru
51
Jika user memilih menu Profil Tata Usaha, maka akan ditampilkan daftar Tata
Usaha yang masih aktif pada tahun ajaran aktif, seperti yang ditunjukkan pada
Gambar 3.2.2 18.
Logo
Tahun Ajaran Aktif :
Copyright 2007
Daftar Tata Usaha Aktif Tahun Ajaran
No
Selengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit HapusSelengkapnya Edit Hapus
Jenis KelaminNamaNIP Tahun Masuk Action
[Kembali]
Gambar 3.2.2 18 Halaman Daftar Tata Usaha
Pada halaman ini juga, user dapat mengedit data Tata Usaha dengan mengklik link
Edit pada data yang ingin diedit, serta menghapus data Tata Usaha dengan
mengklik link Hapus pada data yang ingin dihapus.
Untuk melihat data tata usaha selengkapnya, user dapat mengklik link
Selengkapnya, pada data yang ingin dilihat, sehingga akan ditampilkan data
lengkap tata usaha, seperti yang ditunjukkan pada Gambar 3.2.2.19.
52
Logo
Tahun Ajaran Aktif :
Copyright 2007
ID : XXXXXNama : XXXX
Tahun Masuk : XXXX/XXXXStatus Kepegawaian : XXXX
Jns Kelamin : XXXXTempat, tgl lhr : XXXX
Alamat : XXXXTelepon : XXXXAgama : XXXX
Data Lengkap Tata Usaha XXXX
[Kembali]
Gambar 3.2.2.19 Halaman Data Lengkap Tata Usaha
Jika user memilih menu Kelas Aktif, maka akan ditampilkan halaman kelas aktif,
seperti yang ditunjukkan pada Gambar 3.2.2.20.
Logo
Tahun Ajaran Aktif
Copyright 2007
Daftar Kelas Aktif TA
No Nama Kelas
Pengaturan SiswaPengaturan SiswaPengaturan SiswaPengaturan Siswa
Wali Kelas Action Pengaturan Siswa
Kembali
Form Kelas Aktif TA
Gambar 3.2.2 20 Halaman Kelas Aktif
53
User dapat memasukkan data kelas aktif untuk tahun ajaran aktif melalui form
Kelas Aktif.
Pada halaman ini juga akan ditampilkan daftar kelas aktif, yang merupakan daftar
kelas yang sedang aktif pada tahun ajaran aktif.
Pada halaman ini juga, user dapat mengedit data Kelas Aktif dengan mengklik
link Edit pada data yang ingin diedit, serta menghapus data Kelas Aktif dengan
mengklik link Hapus pada data yang ingin dihapus.
Juga terdapat link Pengaturan Siswa, yang akan membawa user ke halaman
pengaturan siswa kelas aktif, seperti yang ditunjukkan pada Gambar 3.2.2.21.
Untuk mengatur siswa ke dalam kelas aktif yang dipilih, user diminta untuk
memasukkan NIS melalui form Input Siswa. Jika NIS yang dimasukkan benar,
maka NIS yang dimasukkan akan tampil pada daftar siswa di bawahnya lengkap
dengan nama siswa. Jika user ingin memindahkan siswa dari kelas aktif, maka
user dapat mengklik link Pindahkan.
54
Logo
Tahun Ajaran Aktif
Copyright 2007
Input Siswa Kelas XXXX
No
PindahkanPindahkanPindahkan
NamaNIS Pindahkan
[Kembali]
Masukkan NIS :
Daftar Siswa Kelas XXXX
Gambar 3.2.2 21 Halaman Pengaturan Siswa Kelas Aktif Jika user memilih menu Tugas Mengajar, maka akan ditampilkan halaman tugas
Mengajar Guru, seperti yang ditunjukkan pada Gambar 3.2.2.22.
Logo
Tahun Ajaran Aktif
Copyright 2007
Daftar Tugas Mengajar Guru TA Aktif
No Nama Kelas
Edit HapusEdit HapusEdit HapusEdit Hapus
Nama MP Nama Guru Action
Kembali
Form Tugas Mengajar Guru TA Aktif
Gambar 3.2.2.22 Halaman Tugas Mengajar
55
User dapat memasukkan data tugas mengajar guru tahun ajaran aktif melalui form
Tugas Mengajar.
Pada halaman ini akan ditampilkan juga daftar tugas mengajar seluruh guru pada
tahun ajaran aktif.
Pada halaman ini juga, user dapat mengedit data tugas mengajar dengan mengklik
link Edit pada data yang ingin diedit, serta menghapus data tugas mengajar dengan
mengklik link Hapus pada data yang ingin dihapus.
Jika user memilih menu Logout, maka akan ditampilkan halaman konfirmasi
logout, seperti yang ditunjukkan pada Gambar 3.2.2.23.
Logo
Tahun Ajaran Aktif
Copyright 2007
Anda telah berhasil Logout. Untuk masuk lagi ke sistem, silahkan melakukan
login kembali.
Gambar 3.2.2.23 Halaman Konfirmasi Logout
Dimana login merupakan link menuju halaman login tata usaha.
56
3.2.2.2. Login Sebagai Tata Usaha
Jika proses login sebagai Tata Usaha sukses, maka akan ditampilkan halaman
utama Tata Usaha, seperti yang ditunjukkan pada Gambar 3.2.2 24.
Kolom sebelah kiri merupakan daftar menu yang dapat diakses oleh Tata Usaha.
Dan kolom sebelah kanan merupakan data pribadi user.
Logo
Login ID : XXXXXXX
Nilai
Ubah Password
Copyright 2007
NIP : XXXXXNama : XXXX
Status Peg : XXXXJns Kelamin : XXXX
Tempat, tgl lhr : XXXXAlamat : XXXXTelepon : XXXXAgama : XXXXLogout
Data Pribadi Tata UsahaMenu Tata Usaha
Tugas Mengajar
Kelas Aktif
Informasi Akademik Tahun Ajaran XXXX
Gambar 3.2.2.24. Halaman Utama Tata Usaha
Jika user memilih menu Kelas Aktif, maka akan ditampilkan daftar kelas aktif
untuk tahun ajaran yang dipilih sewaktu melakukan login, seperti yang
ditunjukkan pada Gambar 3.2.2.25.
57
Logo
Informasi Akademik Tahun Ajaran XXXX
Copyright 2007
Daftar Kelas Aktif TA
No Nama Kelas
Daftar SiswaDaftar SiswaDaftar SiswaDaftar SiswaDaftar Siswa
Wali Kelas Daftar Siswa
Kembali
Gambar 3.2.2.25. Daftar Kelas Aktif
Jika user mengklik link Daftar Siswa, maka akan ditampilkan daftar siswa kelas
aktif yang dipilih, seperti yang ditunjukkan pada Gambar 3.2.2.26.
Logo
Informasi Akademik Tahun Ajaran XXXX
Copyright 2007
Daftar Siswa Kelas XXXX TA XXXX
No NamaNIS SelengkapnyaJenis KelaminTahun masuk
Kembali
Gambar 3.2.2.26. Daftar Siswa Kelas Aktif
Jika user mengklik link Selengkapnya, maka akan ditampilkan data lengkap siswa
yang dipilih, seperti yang ditunjukkan pada Gambar 3.2.2.27.
58
Logo
Copyright 2007
NIS : XXXXXNama : XXXX
Tahun Masuk : XXXX/XXXXStatus Studi : XXXXJns Kelamin : XXXX
Tempat, tgl lhr : XXXXAlamat : XXXXTelepon : XXXXAgama : XXXX
Data Lengkap Siswa XXXX
[Kembali]
Gambar 3.2.2.27 Data Lengkap Siswa
Jika user memilih menu Tugas Mengajar pada halaman utama Tata Usaha, maka
akan ditampilkan daftar tugas mengajar pada tahun ajaran yang dipilih oleh user
sewaktu login, seperti yang ditunjukkan pada Gambar 3.2.2.28.
Logo
Informasi Akademik Tahun Ajaran XXXX
Copyright 2007
Daftar Tugas Mengajar Guru TA XXXX
No Nama Kelas
Data Lengkap GuruData Lengkap GuruData Lengkap GuruData Lengkap GuruData Lengkap Guru
Nama MP Nama Guru Data Lengkap Guru
Kembali
Gambar 3.2.2.28 Daftar Tugas Mengajar Guru
59
Jika user mengklik link Data Lengkap Guru, maka akan ditampilkan halaman data
lengkap guru yang dipilih, seperti yang ditunjukkan pada Gambar 3.2.2.29.
Logo
Copyright 2007
ID : XXXXXNama : XXXX
Tahun Masuk : XXXX/XXXXStatus Kepegawaian : XXXX
Jns Kelamin : XXXXTempat, tgl lhr : XXXX
Alamat : XXXXTelepon : XXXXAgama : XXXX
Data Lengkap Guru XXXX
[Kembali]
Gambar 3.2.2.29 Data Lengkap Guru
Jika user memilih menu Nilai, maka akan ditampilkan halaman nilai, seperti yang
ditunjukkan pada Gambar 3.2.2.30.
Logo
Informasi Akademik Tahun Ajaran XXXX
Copyright 2007
Daftar Tugas Mengajar Guru TA XXXX
No Nama Kelas
Lihat/Update NilaiLihat/Update NilaiLihat/Update NilaiLihat/Update Nilai
Nama MP Nama Guru Semester I
Kembali
Semester II
Lihat/Update NilaiLihat/Update NilaiLihat/Update NilaiLihat/Update Nilai
Gambar 3.2.2.30 Halaman Nilai
60
Jika user mengklik link Lihat/Update Nilai, maka akan ditampilkan halaman
Nilai, seperti yang ditunjukkan pada Gambar 3.2.2.31.
Logo
Informasi Akademik Tahun Ajaran XXXX
Copyright 2007
Daftar Nilai Mata Pelajaran XXXXKelas XXXX
Tahun Ajaran XXXX Semester X
No NamaNIS Nilai
Diupdate Oleh : XXXX
Update
Gambar 3.2.2.31. Halaman Daftar Nilai
Untuk mengupdate nilai, user mengklik link Update, maka akan ditampilkan
halaman Update Nilai, seperti yang ditunjukkan pada Gambar 3.2.2.32.
Logo
Tahun Ajaran Aktif XXXX
Copyright 2007
Form Edit Nilai Mata Pelajaran XXXXKelas XXXX
Tahun Ajaran XXXX Semester X
No NamaNIS
XXXXXX
XXXXXX
XXXXXX
XXXXXX
XXXXXX
1
2
3
4
5
XXXXXXX
XXXXXXX
XXXXXXX
XXXXXXX
XXXXXXX
Nilai
Kembali
XX
XX
XX
XX
XX
Isi Nilai BatalUbah
Gambar 3.2.2.32. Form Update Nilai
61
Untuk pengisian nilai untuk pertama kali, user harus menekan tombol Isi Nilai,
sedangkan untuk mengupdate nilai yang telah tersimpan, user harus menekan
tombol Ubah.
Jika user memilih menu Ubah Password, maka akan ditampilkan halaman Ubah
password, seperti yang ditunjukkan pada Gambar 3.2.2.33.
Logo
Tahun Ajaran Aktif
Copyright 2007
Form Ubah Password
Kembali
Gambar 3.2.2 33 Halaman Ubah Password Tata Usaha
62
3.2.2.3. Login Sebagai Siswa/Wali Siswa
Jika proses login sebagai wali siswa sukses, maka akan ditampilkan halaman awal
Siswa/Wali Siswa, seperti yang ditunjukkan pada Gambar 3.2.2 34.
Kolom sebelah kiri merupakan daftar menu yang dapat diakses oleh Siswa/Wali
siswa. Dan kolom sebelah kanan merupakan biodata siswa yang bersangkutan.
Pada halaman ini juga akan ditampilkan data kelas siswa pada tahun ajaran aktif.
Logo
Tahun Ajaran Aktif
Kelas Siswa
Ubah Password
Copyright 2007
NIS : XXXXXNama : XXXX
Status Studi : XXXXJns Kelamin : XXXX
Tempat, tgl lhr : XXXXAlamat : XXXXTelepon : XXXXAgama : XXXX
Siswa terdaftar sebagai siswa Kelas XXXX pada Tahun Ajaran Aktif
Logout
Transkrip Nilai
Data Pribadi SiswaMenu Siswa
Daftar Guru
Gambar 3.2.2.34 Halaman Utama Siswa/Wali Siswa
Jika user memilih Kelas siswa, maka akan ditampilkan data kelas siswa sejak
awal masuk hingga tahun ajaran yang sedang berlangsung, seperti yang
ditunjukkan pada Gambar 3.2.2.35.
63
Logo
Tahun Ajaran aktif
Copyright 2007
Daftar Kelas Siswa XXXX
Tahun AjaranNo Nama KelasTingkat Wali Kelas
Kembali
Gambar 3.2.2.35 Halaman Daftar Kelas Siswa
Jika user memilih menu Transkrip Nilai, maka akan ditampilkan transkrip nilai
mata pelajaran yang telah diikuti oleh siswa sejak awal masuk hingga tahun ajaran
yang sedang berlangsung, seperti yang ditunjukkan pada Gambar 3.2.2.36.
Logo
Tahun Ajaran Aktif
Copyright 2007
Transkrip Nilai Siswa XXXXX
Nama MPNo Semester Nilai
Kembali
Gambar 3.2.2.36 Halaman Transkrip Nilai Siswa
64
Jika user memilih menu Daftar Guru, maka akan ditampilkan daftar guru aktif
pada tahun ajaran aktif, seperti yang ditunjukkan pada Gambar 3.2.2 37.
Logo
Tahun Ajaran Aktif :
Copyright 2007
Daftar Guru Aktif Tahun Ajaran XXXX
No NamaID Kepegawaian
[Kembali]
Gambar 3.2.2 37 Halaman Daftar Guru Aktif
Jika user memilih menu Ubah Password, maka akan ditampilkan halaman Ubah
password, seperti yang ditunjukkan pada Gambar 3.2.2.38.
Logo
Tahun Ajaran Aktif
Copyright 2007
Form Ubah Password
Kembali
Gambar 3.2.2 38 Halaman Ubah Password Siswa/Wali siswa
65
Jika user memilih menu Logout, maka akan ditampilkan halaman konfirmasi
logout, seperti yang ditunjukkan pada Gambar 3.2.2.39.
Logo
Tahun Ajaran Aktif
Copyright 2007
Anda telah berhasil Logout. Untuk masuk lagi ke sistem, silahkan melakukan
login kembali.
Gambar 3.2.2 39 Halaman Konfirmasi Logout Siswa/Wali Siswa
Dimana kata login merupakan link menuju halaman login Siswa/Wali Siswa.
66
3.2.2.4. Login Sebagai Guru
Jika proses login sebagai guru sukses, maka akan ditampilkan halaman utama
Guru, seperti yang ditunjukkan pada Gambar. 3.2.2.40.
Kolom sebelah kiri merupakan daftar menu yang dapat diakses oleh Guru, dan
kolom sebelah kanan merupakan tampilan biodata user.
Logo
Informasi Akademik tahun Ajaran
Tugas Mengajar
Ubah Password
Copyright 2007
ID Guru : XXXXXNama : XXXX
Status Peg : XXXXJns Kelamin : XXXX
Tempat, tgl lhr : XXXXAlamat : XXXXTelepon : XXXXAgama : XXXX
Logout
Data Pribadi Guru XXXXXMenu Guru
Gambar 3.2.2 40 Halaman Utama Guru
Data-data yang akan ditampilkan pada halaman-halaman selanjutnya merupakan
data pada tahun ajaran yang dipilih sewaktu login.
Jika user memilih menu Tugas Mengajar, maka akan ditampilkan daftar tugas
mengajar guru pada tahun ajaran yang dipilih, seperti yang ditunjukkan pada
Gambar 3.2.2.41.
67
Logo
Informasi Akademik Tahun Ajaran
Copyright 2007
Daftar Tugas Mengajar Guru XXXXX TA XXXXX
No Nama MP
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX
[Lihat Daftar Siswa] [Lihat Nilai Semester I] [Lihat Nilai Semester II][Lihat Daftar Siswa] [Lihat Nilai Semester I] [Lihat Nilai Semester II][Lihat Daftar Siswa] [Lihat Nilai Semester I] [Lihat Nilai Semester II][Lihat Daftar Siswa] [Lihat Nilai Semester I] [Lihat Nilai Semester II][Lihat Daftar Siswa] [Lihat Nilai Semester I] [Lihat Nilai Semester II][Lihat Daftar Siswa] [Lihat Nilai Semester I] [Lihat Nilai Semester II][Lihat Daftar Siswa] [Lihat Nilai Semester I] [Lihat Nilai Semester II][Lihat Daftar Siswa] [Lihat Nilai Semester I] [Lihat Nilai Semester II][Lihat Daftar Siswa] [Lihat Nilai Semester I] [Lihat Nilai Semester II]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Nama Kelas Action
Kembali
Gambar 3.2.2 41 Halaman Daftar Tugas Mengajar User
Jika user memilih menu Lihat Daftar Siswa, maka akan ditampilkan daftar siswa
kelas yang diajar oleh guru yang bersangkutan, seperti yang ditunjukkan pada
Gambar 3.2.2.42.
Logo
Informasi Akademik Tahun Ajaran XXXX
Copyright 2007
Daftar Siswa Kelas XXXX TA XXXX/XXXX
No NIS Nama
SelengkapnyaSelengkapnyaSelengkapnyaSelengkapnya
Selengkapnya
Kembali
Gambar 3.2.2 42 Halaman Daftar Siswa Didik
68
Jika user mengklik link Selengkapnya, maka akan ditampilkan data lengkap
siswa, seperti yang ditunjukkan pada Gambar 3.2.2.43.
Logo
Informasi Akademik Tahun Ajaran :
Copyright 2007
NIS : XXXXXNama : XXXX
Tahun Masuk : XXXX/XXXXStatus Studi : XXXXJns Kelamin : XXXX
Tempat, tgl lhr : XXXXAlamat : XXXXTelepon : XXXXAgama : XXXX
Data Lengkap Siswa XXXX
[Kembali]
Gambar 3.2.2 43 Halaman Data Lengkap Siswa Didik
Jika user mengklik link Lihat Nilai Semester I atau Lihat Nilai Semester II, maka
akan ditampilkan daftar nilai siswa untuk tugas mengajar dan semester yang
dipilih, seperti yang ditunjukkan pada Gambar 3.2.2.44.
69
Logo
Informasi Akademik Tahun Ajaran
Copyright 2007
Daftar Nilai Mata Pelajaran XXXXKelas XXXX
Tahun Ajaran XXXX Semester X
No NamaNIS Nilai
Diupdate Oleh : XXXX
Kembali
Gambar 3.2.2 44 Halaman Daftar Nilai Siswa Didik
Jika user memilih menu Ubah Pasword, maka akan ditampilkan halaman ubah
password, seperti yang ditunjukkan pada Gambar 3.2.2.45.
Logo
Copyright 2007
Form Ubah Password
Kembali
Gambar 3.2.2 45 Halaman Ubah Password Guru
70
Jika user memilih menu Logout, maka akan ditampilkan halaman konfirmasi
logout, seperti yang ditunjukkan pada Gambar 3.2.2.46.
Logo
Copyright 2007
Anda telah berhasil Logout. Untuk masuk lagi ke sistem, silahkan melakukan
login kembali.
Gambar 3.2.2 46 Halaman Konfirmasi Logout Guru
Dimana Login merupakan link menuju halaman login Guru.
71
BAB IV
IMPLEMENTASI
Setelah melakukan analisa dan perancangan, maka pada bab ini akan
dibahas mengenai implementasi sistem.
Dalam implementasi sistem, diperlukan beberapa persiapan, baik dari sisi
perangkat keras, perangkat lunak, maupun implementasi user interface.
4.1. Persiapan Implementasi
4.1.1. Perangkat Keras
Implementasi sistem dilakukan pada sebuah CPU dengan spesifikasi berikut
- Prosesor Intel(R) Celeron(R) CPU 1,8 GHz
- Hardisk 40 Gb
- Memori 256 Mb
4.1.2. Perangkat Lunak
Implementasi sistem dilakukan pada sebuah CPU dengan spesifikasi :
- Sistem Operasi : Windows XP SP 1
- Editor PHP dan HTML : Editplus2
- Browser : Internet Explorer
- Editor grafis : Adobe Photoshop CS2
72
- Untuk keperluan perangkat lunak web server, digunakan phptriad 2.2.1,
yang mengintegrasikan apache web server dengan mysql 3.2 dan PHP
4.1.1.
4.2. Implementasi User Interface
Pada bagian ini akan dibahas mengenai capture user interface beserta
listing programnya.
Halaman Index
Halaman index ini merupakan halaman awal yang akan ditampilkan sewaktu
mengakses Sistem Informasi Akademik Siswa Online ini, dengan memanggil file
index.php
Gambar 4.2. 1 Halaman Index
73
File index.php terdiri dari 3 bagian penting, yaitu :
1. Bagian untuk menampilkan Tahun Ajaran Aktif dalam teks berjalan
<marquee> <? include("sambung2.php"); $data=mysql_query("select * from ta where status='1' order by id_ta"); $data2=mysql_fetch_array($data); echo"Tahun Ajaran Aktif : ",$data2[nama_ta],""; ?> </marquee>
Awal dari script ini ditandai dengan adanya perintah
include(“sambung2.php”); yang artinya file ini menggunakan fungsi pada
file sambung2.php, yaitu fungsi untuk melakukan koneksi terhadap database si.
Berikut script file sambung2.php.
<? // file sambung2.php $link = @Mysql_Connect("localhost","root","") or die("REPORTGagal Koneksi URL."); @Mysql_select_db("si") or die("tidak berhasil melakukan koneksi database"); ?>
Kemudian program akan membaca data dari tabel ta yang memiliki status=’1’,
dimana data dengan status bernilai 1 ini merupakan data tahun ajaran yang aktif
sewaktu penggunaan aplikasi. Hal ini ditandai dengan script berikut
$data=mysql_query("select * from ta where status='1' order by id_ta"); $data2=mysql_fetch_array($data);
Kemudian hasil pembacaan data tersebut akan ditampilkan dalam teks berjalan,
yang ditunjukkan dengan adanya tag <marquee> … </marquee>.
echo"Tahun Ajaran Aktif : ",$data2[nama_ta],"";
74
2. Bagian untuk menampilkan pilihan status user
<table width=250 height=100 valign=top background=image/bg.bmp align=center cellspacing=0 cellpadding=0> <tr> <td colspan=2 width=250 height=5 align=center valign=top><img src=image/login1.gif width=270 height=30 alt="Halaman Login"></td> </tr> <form method="post" action="index.php"> <tr> <td width=100 height=20 style="padding-left:5"><font color=#3333FF><b>Pilih Status </b></font></td> <td ><select class=status name="status" height=20 align=left style="width:150"> <option value="tu_admin" selected>Tata Usaha Admin</option> <option value="tu" selected>Tata Usaha</option> <option value="guru" selected>Guru</option> <option value="siswa" selected>Siswa/Wali Siswa</option> </select></td> </td> </tr> <tr> <td colspan=2 align=center height=10><input type="submit" value="Ke Login" name="kelogin"></td> </tr> </form> </table>
Terdapat 4 pilihan status user, yang nilainya akan disimpan dalam variabel
$status, dimana nilai dari variabel ini akan dikirm ke file index itu sendiri.
3. Bagian untuk menyeleksi inputan status user.
<? if(isset(kelogin) { if($status=="tu_admin") { header("Location:login tu_admin.php"); } elseif($status=="tu") { header("Location:login tu.php"); } elseif($status=="siswa") { header("Location:login siswa.php"); } elseif($status=="guru") { header("Location:login guru.php"); } } ?>
75
Skrip ini akan mengecek keberadaan variabel kelogin (yaitu jika user menekan
tombol ke login setelah memilih status).
Jika $status=tu_admin, maka user akan diarahkan ke file login
tu_admin.php.
Jika nilai $status = tu, maka user akan diarahkan ke file login tu.php.
Jika $status=siswa, maka user akan diarahkan ke file login siswa.php.
Jika $status=guru, maka user akan diarahkan ke file login guru.php.
Halaman Login Tata Usaha Admin.
Halaman login ini diperuntukkan bagi tata usaha dengan jabatan admin. Halaman
ini ditampilkan dengan memanggil file login tu_admin.php
Gambar 4.2. 2 Halaman Login Tata Usaha Admin
76
File login tu_admin.php.
File ini terdiri dari 2 bagian penting, yaitu :
1. Bagian Untuk Menampilkan Form Login.
<form method="post" action="login tu_admin.php"> <tr> <td width=100 height=20 style="padding-left:20" valign=bottom><b><font>ID </font></b></td> <td ><input type="text" name="nip" size=17 maxlength=15 height=20></td> </tr> <tr> <td width=100 height=20 style="padding-left:20"><b><font>Password </font></b></td> <td ><input type="password" name="password1" size=22 maxlength=20 height=20></td> </tr> <tr> <td colspan=2 width=350 align=center height=10><input type="submit" value="Login" name="login_admin"></td> </tr> </form>
2. Bagian untuk mengecek nip dan password
<? if(isset($login_admin)) { if(empty($nip) OR empty($password1)) { echo"<h3 align=center>ID atau Password belum diisi</h3></td>"; } else { $password=MD5($password1); include"sambung2.php"; $r=mysql_query("select * from tata_usaha where jabatan='admin' AND status_tu='aktif' AND(nip='$nip' AND psword_tu='$password')"); if($row=mysql_fetch_array($r)) { $nip=$row[nip]; $psword_tu=$row[pasword_tu]; $nama_tu=$row[nama_tu]; session_start(); session_register("nip"); session_register("psword_tu"); session_register("nama_tu"); header("Location:tu_admin.php"); } else
77
{ echo"<h3 align=center>Login gagal! Periksa ID,Password dan Status Anda"; echo"<br></br>"; echo"<a href=\"login tu_admin.php\">Login Kembali</a>"; echo"<br></br>"; echo"<a href=\"index.php\">Ke Halaman Utama</a></h3>"; exit(); } } } ?>
Skrip ini akan mengecek keberadaan variabel $login_admin (yaitu jika user
menekan tombol login_admin setelah memasukkan nip dan password pada form
login tata usaha admin). Kemudian skrip akan mengecek isi dari variabel $nip dan
$password. Jika ternyata isi variabel nip atau password1 kosong, maka akan
ditampilkan pesan bahwa user belum mengisi nip atau password.
Sebaliknya, jika $nip dan $password1 tidak kosong, maka data-data login yang
dimasukkan tersebut akan dibandingkan dengan data yang tersimpan dalam tabel
tata usaha, dengan melakukan koneksi dengan database si terlebih dahulu.
Password yang dimasukkan user akan di-hash dengan fungsi md5, dan nilainya
akan disimpan dalam variabel password. Hal ini dinyatakan dengan sintaks
berikut
$password=MD5($password1); Program akan membaca data tata usaha yang memiliki jabatan admin, dengan
status aktif, dengan nip dan password sama nilainya dengan $nip dan $password
dari file login tu_admin.php.
Jika ternyata hasil pembacaan data menghasilkan keluaran, maka variabel nip,
psword_tu, dan nama_tu akan didaftarkan sebagai variabel sesi, untuk digunakan
pada proses otentikasi pada halaman-halaman selanjutnya, dan user akan
78
diarahkan ke halaman utama Tata Usaha Admin, dengan memanggil file
tu_admin.php. Hal ini ditandai dengan skrip berikut
include"sambung2.php"; $r=mysql_query("select * from tata_usaha where jabatan='admin' AND status_tu='aktif' AND(nip='$nip' AND psword_tu='$password')"); if($row=mysql_fetch_array($r)) { $nip=$row[nip]; $psword_tu=$row[pasword_tu]; $nama_tu=$row[nama_tu]; session_start(); session_register("nip"); session_register("psword_tu"); session_register("nama_tu"); header("Location:tu_admin.php");
Sebaliknya, jika hasil pembacaan data tidak menghasilkan keluaran (jika nilai
variabel nip dan password tidak sesuai dengan nilai nip dan psword_tu yang
tersimpan dalam tabel tata usaha), maka akan ditampilkan kesalahan bahwa proses
login gagal, user diminta untuk memeriksa kembali data login yang dimasukkan.
Halaman Login Tata Usaha
Halaman login ini diperuntukkan bagi tata usaha dengan jabatan biasa. Halaman
ini ditampilkan dengan memanggil file login tu.php.
79
Gambar 4.2. 3 Halaman Login Tata Usaha
File login tu.php
File ini terdiri dari 2 bagian penting, yaitu :
1. Bagian untuk menampilkan form login.
<form method="post" action="login tu.php> <tr> <td width=250 height=20 style="padding-left:20" valign=bottom><b><font>ID </font></b></td> <td ><input type="text" name="nip" size=17 maxlength=15 height=20></td> </tr> <tr> <td width=250 height=20 style="padding-left:20"><b><font>Password </font></b></td> <td ><input type="password" name="password1" size=22 maxlength=20 height=20></td> </tr> <tr> <td width=250 height=25 style="padding-left:20"><b>Pilih Tahun Ajaran</b></td> <td > <? echo"<select class=status name=\"id_ta\" height=25 align=left
80
style=\"width:150\">"; include"sambung2.php"; $ta = mysql_query("select * from ta order by id_ta"); while($line = mysql_fetch_array($ta)) { if($data2[id_ta]==$line[id_ta]) { echo "<option value=\"$data2[id_ta]\" selected>$line[nama_ta]</option>"; } else { echo"<option value=\"$line[id_ta]\">$line[nama_ta]</option>";} } echo"</select>"; ?> </td></tr> <tr> <td colspan=2 width=400 align=center height=10><input type="submit" value="Login" name="login"></td> </tr> </form>
2. Bagian untuk mengecek variabel ID dan password.
<? if(isset($login)) { if(empty($nip) OR empty($password1)) { echo"<h3 align=center>ID atau Password belum diisi</h3></td>"; } else { $password=MD5($password1); include"sambung2.php"; $r=mysql_query("select * from tata_usaha where status_tu='aktif' AND(nip='$nip' AND psword_tu='$password')"); if($row=mysql_fetch_array($r)) { $nip=$row[nip]; $psword_tu=$row[pasword_tu]; $nama_tu=$row[nama_tu]; session_start(); session_register("nip"); session_register("psword_tu"); session_register("nama_tu"); header("Location:menutu2.php"); } else { echo"<h3 align=center>Login gagal! Periksa ID,Password dan Status Anda"; echo"<br></br>";
81
echo"<a href=\"login tu.php\">Login Kembali</a>"; echo"<br></br>"; echo"<a href=\"index.php\">Ke Halaman Utama</a></h3>"; exit(); } } } ?>
Skrip ini akan mengecek keberadaan variabel $login (yaitu jika user menekan
tombol login setelah memasukkan nip dan password pada from login tata usaha).
User juga diminta untuk memilih tahun ajaran (dengan default tahun ajaran aktif),
sehingga data-data yang akan ditampilkan nantinya merupakan data-data
akademik pada tahun ajaran yang dipilih.
Kemudian skrip akan mengecek isi dari variabel $nip dan $password1.
Jika ternyata isi variabel nip atau password1 kosong, maka akan ditampilkan
pesan bahwa user belum mengisi nip atau password.
Sebaliknya, jika $nip dan $password1 tidak kosong, maka data-data login yang
dimasukkan tersebut akan dibandingkan dengan data yang tersimpan dalam tabel
tata usaha, dengan melakukan koneksi dengan database si terlebih dahulu.
Password yang dimasukkan user akan di-hash dengan fungsi md5, dan nilainya
akan disimpan dalam variabel password. Hal ini dinyatakan dengan sintaks
berikut
$password=MD5($password1);
Program akan membaca data tata usaha yang memiliki status aktif, dengan nip dan
password sama nilainya dengan $nip dan $password dari file login tu.php.
Jika ternyata hasil pembacaan data menghasilkan keluaran, maka variabel nip,
psword_tu, dan nama_tu akan didaftarkan sebagai variabel sesi bersama dengan
82
data tahun ajaran yang dpilih, untuk digunakan pada proses otentikasi pada
halaman-halaman selanjutnya, dan user akan diarahkan ke halaman utama Tata
Usaha, dengan memanggil file menutu2.php.
Hal ini ditunjukkan dengan dengan skrip berikut
include"sambung2.php"; $r=mysql_query("select * from tata_usaha where status_tu='aktif' AND(nip='$nip' AND psword_tu='$password')"); if($row=mysql_fetch_array($r)) { $nip=$row[nip]; $psword_tu=$row[pasword_tu]; $nama_tu=$row[nama_tu]; session_start(); session_register("nip"); session_register("psword_tu"); session_register("nama_tu"); header("Location:tu_admin.php"); }
Sebaliknya, jika hasil pembacaan data tidak menghasilkan keluaran (jika nilai
variabel nip dan password tidak sesuai dengan nilai nip dan psword_tu yang
tersimpan dalam tabel tata usaha), maka akan ditampilkan kesalahan bahwa proses
login gagal, user diminta untuk memeriksa kembali data login yang dimasukkan,
dan melakukan proses login kembali.
83
Halaman Login Siswa/Wali Siswa
Halaman login ini diperuntukkan bagi user dengan status siswa/wali siswa.
Halaman ini ditampilkan dengan memanggil file login siswa.php.
Gambar 4.2. 4 Halaman Login Siswa/Wali Siswa
File login siswa.php.
File ini terdiri dari 2 bagian penting, yaitu :
1. Bagian untuk menampilkan fom Login Siswa
<form method="post" action="login siswa.php"> <tr> <td width=300 height=20 style="padding-left:20" valign=bottom><b><font>ID </font></b></td> <td ><input type="text" name="id1" size=17 maxlength=15 height=20></td> </tr> <tr> <td width=300 height=20 style="padding-left:20"><b><font>Password </font></b></td> <td ><input type="password" name="password1" size=22 maxlength=20 height=20></td>
84
</tr> <tr> <td colspan=2 width=400 align=center height=10><input type="submit" value="Login" name="login1"></td> </tr> </form>
2. Bagian untuk mengecek data login
<? if(isset($login1)) { if(empty($id1) OR empty($password1)) { echo"<h3 align=center>ID atau Password belum diisi</h3></td>"; } else { $password=MD5($password1); include"sambung2.php"; $r1=mysql_query("select * from siswa where status_studi='aktif' AND (nis='$id1' AND psword_siswa='$password')"); if($row1=mysql_fetch_array($r1)) { $nis=$row1[nis]; $psword_siswa=$row1[psword_siswa]; $nama_siswa=$row1[nama_siswa]; session_start(); session_register("nis"); session_register("psword_siswa"); session_register("nama_siswa"); header("Location:menusiswa2.php"); } else { echo"<h3 align=center>Login gagal! Periksa ID, Password dan Status Anda"; echo"<br></br>"; echo"<a href=\"login siswa.php\">Login Kembali</a>"; echo"<br></br>"; echo"<a href=\"index.php\">Ke Halaman Utama</a></h3>"; exit(); } } } ?>
Skrip ini akan mengecek keberadaan variabel $login1 (yaitu jika user menekan
tombol login setelah memasukkan ID dan password pada from login siswa).
Kemudian skrip akan mengecek isi dari variabel $id1 dan $password1.
85
Jika ternyata isi variabel id1 atau password1 kosong, maka akan ditampilkan
pesan bahwa user belum mengisi ID atau password.
Sebaliknya, jika $id1 dan $password1 tidak kosong, maka data-data login yang
dimasukkan tersebut akan dibandingkan dengan data yang tersimpan dalam tabel
siswa, dengan melakukan koneksi dengan database si terlebih dahulu.
Password yang dimasukkan user akan di-hash dengan fungsi md5, dan nilainya
akan disimpan dalam variabel password. Hal ini dinyatakan dengan sintaks
berikut
$password=MD5($password1);
Program akan membaca data siswa yang memiliki status aktif, dengan nis dan
password sama nilainya dengan $id1 dan $password dari file login
siswa.php.
Jika ternyata hasil pembacaan data menghasilkan keluaran, maka variabel nis,
psword_siswa, dan nama_siswa hasil baca data tersebut akan didaftarkan sebagai
variabel sesi, untuk digunakan pada proses otentikasi pada halaman-halaman
selanjutnya, dan user akan diarahkan ke halaman utama Siswa, dengan memanggil
file menusiswa2.php. Hal ini ditandai dengan skrip berikut
include"sambung2.php"; $r1=mysql_query("select * from siswa where status_studi='aktif' AND (nis='$id1' AND psword_siswa='$password')"); if($row1=mysql_fetch_array($r1)) { $nis=$row1[0]; $psword_siswa=$row1[16]; $nama_siswa=$row1[1]; session_start(); session_register("nis"); session_register("psword_siswa"); session_register("nama_siswa"); header("Location:menusiswa2.php"); }
86
Sebaliknya, jika hasil pembacaan data tidak menghasilkan keluaran (jika nilai
variabel id1 dan password1 tidak sesuai dengan nilai nis dan psword_siswa yang
tersimpan dalam tabel siswa), maka akan ditampilkan pesan kesalahan bahwa
proses login gagal, dan user diminta untuk memeriksa kembali data login yang
dimasukkan.
Halaman Login Guru
Halaman login ini diperuntukkan bagi user dengan status guru. Halaman ini
ditampilkan dengan memanggil file login guru.php.
Gambar 4.2. 5 Halaman Login Guru
File login guru.php
File ini terdiri dari 2 bagian penting, yaitu :
1. Bagian untuk menampilkan form login guru
87
<form method="post" action="login guru.php"> <tr> <td width=250 height=20 style="padding-left:20" valign=bottom><b>ID </b></td> <td ><input type="text" name="id2" size=17 maxlength=15 height=20></td> </tr> <tr> <td width=250 height=20 style="padding-left:20"><b>Password </b></td> <td ><input type="password" name="password2" size=22 maxlength=20 height=20></td> </tr> <tr> <td width=250 height=25 style="padding-left:20"><b>Pilih Tahun Ajaran</b></td> <td > <? echo"<select class=status name=\"id_ta\" height=25 align=left style=\"width:150\">"; include"sambung2.php"; $ta = mysql_query("select * from ta order by id_ta"); while($line = mysql_fetch_array($ta)) { if($data2[id_ta]==$line[id_ta]) { echo"<option value=\"$data2[id_ta]\" selected>$line[nama_ta]</option>"; } else { echo "<option value=\"$line[id_ta]\">$line[nama_ta]</option>"; } echo"</select>"; ?> </td> </tr> <tr> <td colspan=2 width=400 align=center height=10><input type="submit" value="Login" name="login2"></td> </tr> </form>
2. Bagian untuk mengecek data login
<? if(isset($login2)) { if(empty($id2) OR empty($password2)) { echo"<h3 align=center>ID atau Password belum diisi</h3></td>"; } else {
88
$password=MD5($password2); include"sambung2.php"; $r2=mysql_query("select * from guru where status_guru='aktif' AND (ID_guru='$id2' AND psword_guru='$password')"); if($row2=mysql_fetch_array($r2)) { $ID_guru=$row2[ID_guru]; $psword_guru=$row2[psword_guru]; $nama_guru=$row2[nama_guru]; session_start(); session_register("ID_guru"); session_register("psword_guru"); session_register("nama_guru"); session_register("id_ta"); header("Location:menuguru2.php"); } else { echo"<h3 align=center bgcolor=black color=blue>Login gagal! Periksa ID, Password dan Status Anda"; echo"<br></br>"; echo"<a href=\"login guru.php\">Login Kembali</a>"; echo"<br></br>"; echo"<a href=\"index.php\">Ke Halaman Utama</a></h3>"; exit(); }}} ?>
Skrip ini akan mengecek keberadaan variabel $login2 (yaitu jika user menekan
tombol login setelah memasukkan ID dan password pada form login guru).
Kemudian skrip akan mengecek isi dari variabel $id2 dan $password2.
Jika ternyata isi variabel id2 atau password2 kosong, maka akan ditampilkan
pesan bahwa user belum mengisi ID atau password.
Sebaliknya, jika $id2 dan $password2 tidak kosong, maka nilai $password2 akan
di-hash terlebih dahulu dengan fungsi MD5, dan hasilnya akan disimpan dalam
variabel $password. Program akan membaca data guru dengan status aktif, dengan
ID_guru dan psword_guru sama nilainya dengan $id2 dan $password dari file
login guru.php.
89
Jika hasil pembacaan data menghasilkan keluaran, maka variabel ID_guru,
psword_guru, dan nama_guru akan didaftarkan sebagai variabel sesi bersama
dengan data tahun ajaran yang dipilih, dan user akan diarahkan ke halaman utama
Guru, dengan memanggil file menuguru2.php.
Jika hasil pembacaan data tidak menghasilkan keluaran (jika nilai variabel $id2
dan $password2 tidak sesuai dengan nilai ID_guru dan psword_guru dalam tabel
guru), maka akan ditampilkan pesan bahwa proses login gagal.
90
Halaman Utama Tata Usaha Admin
Halaman ini adalah halaman yang akan ditampilkan jika proses login sebagai Tata
Usaha Admin sukses, dengan memanggil file tu_admin.php.
Gambar 4.2. 6 Halaman Utama Tata Usaha Admin
File tu_admin.php
File ini terdiri dari bagian penting, yaitu
1. Bagian untuk mengecek session.
<? session_start(); if(!session_is_registered('nip')) { echo"<h3 align=center>Maaf, Anda Tidak Berhak mengakses halaman ini"; echo"<br></br>"; echo"<a href=\"indexcoba.php\">Silahkan Login</a></h3>"; exit(); } ?>
91
Pada awal skrip terdapat fungsi session_start();
Hal ini menandakan bahwa halaman ini mengandung data sesi, yang artinya
halaman ini tidak dapat diakses melalui jalan pintas oleh user yang tidak berhak,
tanpa melalui proses login terlebih dahulu. Begitu pula dengan halaman-halaman
lain dari aplikasi ini yang tidak dapat diakses tanpa melalui proses login terlebih
dahulu, karena pada setiap awal halaman terdapat fungsi pengecekan session.
2. Bagian untuk menampilkan daftar menu yang dapat diakses oleh user.
<td width=250 valign=top align=left> include"mentu_admin.html"; </td>
Dengan adanya perintah include”mentu_admin.html”, menandakan bahwa file ini
memakai fungsi dari file mentu_admin.html.
File mentu _admin.html.
<table class="navheader" width=250 cellSpacing=0 cellPadding=3 align=center valign=top> <tr> <td width=250 height=10 bgcolor=black style="filter:shadow(color=blue)"></td></tr> <tr> <td width=250 height=10><DIV class="navheader">:: UPDATE ::</DIV></td></tr> <tr> <td width=250 height=3 bgcolor=black></td></tr> <tr> <td width=250 height=10 align=center onmouseover="style.background='#FFCCFF'" onmouseout="style.background='#CC99CC'"><DIV class=navheader><A href="http://localhost/si/tutmbhkls1si.php">KELAS</A></DIV></td> </tr> <tr> <td width=250 height=3 bgcolor=black></td></tr> <tr> <td width=250 height=10 align=center onmouseover="style.background='#FFCCFF'" onmouseout="style.background='#CC99CC'"><DIV class="navheader"><A href="http://localhost/si/tutmbhmpsi.php">MATA PELAJARAN</A></DIV></td></tr>
92
</DIV> <tr> <td width=250 height=15 bgcolor=black></td></tr> <tr> <td width=250 height=10><DIV class=navheader><onmouseover="style.background='#FFCCFF'" onmouseout="style.background='#CC99CC'"><A href="http://localhost/si/tusetta.php">:: SET THN AJARAN ::</A></DIV></td> </tr> <tr> <td width=250 height=15 bgcolor=black></td></tr> <tr> <td width=250 height=10><DIV class="navheader">:: REGISTRASI ::</DIV></td></tr> <tr> <td width=250 height=3 bgcolor=black></td></tr> <tr> <td width=250 height=10 align=center onmouseover="style.background='#FFCCFF'" onmouseout="style.background='#CC99CC'"><DIV class="navheader"><A href="http://localhost/si/turegsislis.php">SISWA</A></DIV></td></tr> <tr> <td width=250 height=3 bgcolor=black></td></tr> <tr> <td width=250 height=10 align=center onmouseover="style.background='#FFCCFF'" onmouseout="style.background='#CC99CC'"><DIV class="navheader"><A href="http://localhost/si/turegguru.php">GURU</A></DIV></td></tr> <tr> <td width=250 height=3 bgcolor=black></td></tr> <tr> <td width=250 height=10 align=center onmouseover="style.background='#FFCCFF'" onmouseout="style.background='#CC99CC'"><DIV class="navheader"><A href="http://localhost/si/turegtu.php">TATA USAHA</A></DIV></td></tr> </DIV> <tr> <td width=250 height=15 bgcolor=black></td><tr> <td width=250 height=10><DIV class="navheader">:: PROFIL ::</DIV></td></tr> <tr> <td width=250 height=3 bgcolor=black></td></tr> <tr> <td width=250 height=10 align=center onmouseover="style.background='#FFCCFF'" onmouseout="style.background='#CC99CC'"><DIV class="navheader"><A href="http://localhost/si/tudftrsiswasi.php">SISWA</A></DIV></td>
93
</tr> <tr> <td width=250 height=3 bgcolor=black></td></tr> <tr> <td width=250 height=10 align=center onmouseover="style.background='#FFCCFF'" onmouseout="style.background='#CC99CC'"><DIV class="navheader"><A href="http://localhost/si/tudftrgurusi.php">GURU</A></DIV></td></tr> <tr> <td width=250 height=3 bgcolor=black></td></tr> <tr> <td width=250 height=10 align=center onmouseover="style.background='#FFCCFF'" onmouseout="style.background='#CC99CC'"><DIV class="navheader"><A href="http://localhost/si/tudftrusi.php">TATA USAHA</A></DIV></td> </tr> </DIV> <tr> <td width=250 height=15 bgcolor=black></td></tr> </tr> <tr> <td width=250 height=10 onmouseover="style.background='#FFCCFF'" onmouseout="style.background='#CC99CC'"><DIV class=navheader><A href="http://localhost/si/tutmbhklsaktif.php">KELAS AKTIF</A></DIV></td></tr> <tr> <td width=250 height=15 bgcolor=black></td></tr> <tr> <td width=250 height=10 onmouseover="style.background='#FFCCFF'" onmouseout="style.background='#CC99CC'"><DIV class=navheader><A href="http://localhost/si/tutmbhmpklsaktif.php">TUGAS MENGAJAR</A></DIV></td></tr> <tr> <td width=250 height=15 bgcolor=black></td></tr> <tr> <td width=250 height=10><DIV class=navheader><onmouseover="style.background='#FFCCFF'" onmouseout="style.background='#CC99CC'"><A href="http://localhost/si/ubahpassword.php">:: UBAH PASSWORD ::</A></DIV></td></tr> <tr> <td width=250 height=10 bgcolor=black style="filter:shadow(color=blue)"></td></tr> </table>
3. Bagian untuk membandingkan variabel sesi $nip dengan data yang tersimpan
dalam tabel tata usaha.
94
<? include"sambung2.php"; $tu=mysql_query("select * from tata_usaha where nip='$nip'"); $d=mysql_fetch_array($tu);
4. Bagian untuk menampilkan data pribadi user.
<? echo"<table class=\"form\" width=500 cellspacing=0 cellpadding=10 align=center valign=top>"; echo"<caption style=\"filter:shadow(color=blue)\"><b>Data Lengkap User <u>",$nama_tu,"</u></b></caption>"; echo"<tr>"; echo"<td height=20></td></tr>"; echo"<tr>"; echo"<td width=500 height=25>NIP : ",$d[nip],"</td></tr>"; echo"<tr>"; echo"<td width=500 height=25>Nama : ",$d[nama_tu],"</td></tr>"; echo"<tr>"; echo"<td width=500 height=25>Panggilan : ",$d[pglan_tu],"</td></tr>"; echo"<tr>"; echo"<td width=500 height=25>Status : ",$d[status_tu],"</td></tr>"; echo"<tr>"; echo"<td width=500 height=25>Tahun Masuk : ",$d[thn_msk_tu],"</td></tr>"; echo"<tr>"; echo"<td width=500 height=25>Jenis Kelamin : ",$d[sex_tu],"</td></tr>"; echo"<tr>"; echo"<td width=500 height=25>Tempat , Tgl Lahir : ",$d[t4_lhr_tu]," , ",$d[tgl_lhr_tu],"</td></tr>"; echo"<tr>"; echo"<td width=500 height=25>Status Nikah : ",$d[status_nkh_tu],"</td></tr>"; echo"<tr>"; echo"<td width=500 height=25>Alamat : ",$d[alamat_tu],"</td></tr>"; echo"<tr>"; echo"<td width=500 height=25>Telepon : ",$d[telp_tu],"</td></tr>";
95
echo"<tr>"; echo"<td width=500 height=25>Agama : ",$d[agama_tu],"</td></tr>"; echo"<tr>"; echo"<td width=500 height=25>Pendidikan Terakhir : ",$d[pend_tu],"</td></tr>"; echo"<tr><td></td></tr>"; echo"</table>"; ?>
Halaman Set Tahun Ajaran
Halaman ini akan ditampilkan dengan memilih menu Link Set Tahun Ajaran,
yang merupakan link menuju file tusetta.php.
Gambar 4.2. 7 Halaman Tahun Ajaran
File tusetta.php.
File ini terdiri dari 2 bagian penting, yaitu :
96
1. Bagian untuk memilih tahun ajaran aktif melalui form set Tahun Ajaran.
<table class="form" background=image/bg.bmp width=650 cellpadding=0 align=center valign=top> <caption style="filter:shadow(color=blue)"><b>Form Set Tahun Ajaran Aktif</b></caption> <tr><td height=10></td></tr> <form method="post" action="setta.php"> <tr> <td width=250 height=25 style="padding-left:20"><b>Pilih Tahun Ajaran</b></td> <td > <? echo"<select class=status name=\"id_ta\" height=25 align=left style=\"width:150\">"; include"sambung2.php"; $ta = mysql_query("select * from ta order by id_ta"); while($line = mysql_fetch_array($ta)) { if($data2[id_ta]==$line[id_ta]) { echo"<option value=\"$data2[id_ta]\" selected>$line[nama_ta]</option>"; } else { echo "<option value=\"$line[id_ta]\">$line[nama_ta]</option>"; } echo"</select>"; ?> </td> </tr><tr><td height=10></td></tr> <tr> <td width=650 colspan=2 align=center height=20><input type=submit value=Aktif name="set_aktif"> <input type="reset" value="Batal" name="batal"></td> </tr> </form> </table>
Variabel id_ta yang dipilih melalui form ini akan dikirim ke file setta.php,
dengan method post, seperti yang ditunjukkan pada sintaks berikut
<form method="post" action="setta.php">
File setta.php
<? if(isset($set_aktif)) { include("sambung2.php");
97
$baca=mysql_query("select * from ta order by id_ta"); while($baca1=mysql_fetch_array($baca)) { $edit=mysql_query("update ta set status='0'"); } $query=mysql_query("update ta set status='1' where id_ta=’$id_ta’") or die ("Belum Berhasil Mengatur Tahun Ajaran Aktif"); echo"<b><h3 align=center>Tahun Ajaran Baru Sudah Diatur"; echo"<br></br>"; echo"<a href=\"tusetta.php\">Kembali</a></h3>"; } ?>
File ini akan mengecek keberadaan variabel $set_aktif (yaitu jika user menekan
tombol set_aktif setelah memilih id_ta.).
Pertama-tama program akan melakukan koneksi dengan database, dengan
mengikutsertakan file sambung2.php pada file ini, dengan perintah
include”sambung2.php”;
Kemudian program akan membaca data dari tabel ta, kemudian mengubah status
dari semua data ta yang dibaca tersebut menjadi bernilai 0 (tidak aktif), yang
ditunjukkan dengan sintaks berikut
$baca=mysql_query("select * from ta order by id_ta"); while($baca1=mysql_fetch_array($baca)) { $edit=mysql_query("update ta set status='0'"); }
Setelah itu, data ta yang dipilih melalui form set ta, akan diganti statusnya menjadi
bernilai 1. Hal ini akan menandakan bahwa tahun ajaran tersebut merupakan
tahun ajaran aktif. Hal ini ditunjukkan dengan sintaks berikut
$query=mysql_query("update ta set status='1' where id_ta='$id_ta'") or die ("Belum Berhasil Mengatur Tahun Ajaran Aktif");
echo"<b><h3 align=center>Tahun Ajaran Baru Sudah Diatur"; echo"<br></br>"; echo"<a href=\"tusetta.php\">Kembali</a></h3>";
98
Setelah proses pengaturan data tahun ajaran aktif berhasil, maka akan ditampilkan
pesan bahwa Tahun Ajaran Baru Sudah Diatur. Dan user akan dialihkan ke
halaman set tahun ajaran kembali jika menekan link Kembali.
2. Bagian untuk menampilkan daftar tahun ajaran dengan membaca data dari tabel
ta yang tersimpan dalam database si. Dan bagian untuk mengedit dan menghapus
data tahun ajaran, melalui link Edit dan link Hapus pada masing-masing data.
<? include("sambung2.php"); $data2=mysql_query("select * from ta order by id_ta desc"); while($data3=mysql_fetch_array($data2)) { echo"<tr>"; echo("<td width=100 height=25 align=center style=\"padding-left:5\" bgcolor=black><small>$data3[id_ta]</small></td>"); echo"<td width=130 height=25 align=center style=\"padding-left:5\" bgcolor=black><small>",$data3[nama_ta],"</small></td>"; echo"<td width=60 height=25 align=center style=\"padding-left:5\" bgcolor=black><small>",$data3[status],"</small></td>"; echo"<td width=150 height=25 align=center style=\"padding-left:5\" bgcolor=black><small><a href=\"tusetta.php?action=hapus&id_ta=$data3[id_ta]\">Hapus</a> <a href=\"edit ta1.php?&id_ta=$data3[id_ta]\">Edit</a><small></td>"; echo"</tr>"; $total++; } ?>
Link Edit merupakan link menuju file edit ta1.php.
3. Bagian untuk menghapus data tahun ajaran.
if($action=="hapus") { include("sambung2.php"); $query=mysql_query("DELETE FROM ta WHERE id_ta='$id_ta'"); $query=stripslashes($query); echo"<font color=yellow><b><h3 align=center>Data Berhasil Dihapus</h3></b></font>"; }
99
File edit ta1.php.
<? if(isset($ubah)) { include"sambung2.php"; $ubh=mysql_query("update ta set status='$status' where id_ta='$id_ta'"); header("Location:tusetta.php"); } ?> <table class="form" background=image/bg.bmp width=400 cellspacing=0 cellpadding=10 align=center valign=top> <caption style="filter:shadow(color=blue)"><b>Form Edit Tahun Ajaran</b></caption> <? include("sambung2.php"); $query=mysql_query("select * from ta WHERE id_ta='$id_ta'"); $hsl=mysql_fetch_array($query); ?> <form method="post" action="edit ta.php"> <<tr> <td width=250 height=25 style="padding-left:20"><b>Tahun Ajaran</b></td> <td > <? echo"<select class=status name=\"id_ta\" height=25 align=left style=\"width:150\">"; include"sambung2.php"; $ta = mysql_query("select * from ta"); while($line = mysql_fetch_array($ta)) { if($hsl[id_ta]==$line[id_ta]) { echo"<option value=\"$hsl[id_ta]\" selected>$line[nama_ta]</option>"; } else {echo"<option value=\"$line[id_ta]\">$line[nama_ta]</option>";}} echo"</select>"; ?> </td></tr><tr> <td width=200 height=25 style="padding-left:5">Status</td> <td ><input type=text name="status" size=2 maxlength=1 height=25 value=<?=$hsl[status]?>></td> </tr> <tr> <td width=400 colspan=2 align=center height=20><input type="submit" value=Ubah name="ubah"> <input type="reset" value=Batal name="batal"></td> </tr></form></table>
100
File ini akan membaca data dari tabel tahun ajaran, yang memiliki nilai id_ta sama
dengan nilai id_ta dari file tuseta.php. Kemudian hasil pembacaan data
tersebut akan ditampilkan dalam form edit untuk diubah.
Kemudian file ini akan mengecek keberadaan variabel ubah (yaitu jika user
menekan tombol Ubah setelah memasukkan data yang telah diubah.), dan akan
menyimpan nilai status yang telah diubah ke dalam variabel status pada tabel ta
Halaman Kelas Aktif
Halaman ini akan ditampilkan dengan memilih menu Link Kelas Aktif, yang
merupakan link menuju file tutmbhklsaktif.php.
Gambar 4.2. 8 Halaman Kelas Aktif
101
File tutmbhklsaktif.php.
File ini terdiri dari 2 bagian penting, yaitu :
1. Bagian untuk menampilkan form Kelas Aktif.
<table class="form" background=image/bg.bmp width=620 cellspacing=0 cellpadding=10 align=center valign=top> <caption style="filter:shadow(color=blue)"><b>Form Tambah Kelas Aktif</b></caption> <form method="post" action="input kls aktif.php"> <tr> <td width=150 height=25 style="padding-left:5">Tahun Ajaran </td> <td ><?=$data1[nama_ta]?><input type="hidden" name="id_ta" size=14 maxlength=12 height=25 value=<?=$data1[id_ta]?>></td> </tr> <tr> <td width=200 height=25 style="padding-left:5">Kelas</td> <td > <select class=status name="kode_kls" height=25 align=left style="width:150" value=<?=$kode_kls?>> <? include"sambung2.php"; $kls = mysql_query("select * from kelas order by kode_kls"); while($line = mysql_fetch_array($kls)) {echo "<option value=\"$line[kode_kls]\">$line[nama_kls]</option>";} echo"</select>"; ?> </td> </tr> <tr> <td width=200 height=25 style="padding-left:5">Wali Kelas</td> <td > <select class=status name="ID_guru" height=25 align=left style="width:150" value=<?=$ID_guru?>> <? include"sambung2.php"; $guru = mysql_query("select * from guru where status_guru='aktif' order by ID_guru"); while($line = mysql_fetch_array($guru)) { echo "<option value=\"$line[ID_guru]\">$line[nama_guru]</option>";} echo"</select>"; ?> </td> </tr> <tr> <td width=610 colspan=2 align=center height=20><input type=submit value=Simpan name="tambah"> </tr> </form> </table>
102
Melalui form ini, user cukup memasukkan data kode_kls (dengan memilih kelas
dari combo box) dan data ID_guru (dengan memilih guru dari combo box), karena
data id_ta sudah diset bernilai id_ta yang sedang aktif, yang ditunjukkan dengan
sintaks
<input type="hidden" name="id_ta" size=14 maxlength=12 height=25 value=<?=$data1[id_ta]?>></td>
Dimana nilai dari $data1[id_ta] merupakan nilai dari id_ta dengan status 1(aktif).
Data Kelas Aktif yang dimasukkan akan dikirim dengan method post ke file
input kls aktif.php, seperti yang ditunjukkan pada sintaks berikut
<form method="post" action="input kls aktif.php">
File input kls aktif.php
<? include("sambung2.php"); $query=mysql_query("insert into kelas_aktif_ta values ('','$id_ta','$kode_kls','$ID_guru')") or die (mysql_error()); echo"<h3 align=center>Data Kelas Aktif Berhasil Disimpan"; echo"<br></br>"; echo"<a href=\"tutmbhklsaktif.php\">Kembali</a></h3>"; ?>
Jika data berhasil disimpan, maka akan ditampilkan pesan bahwa Data Kelas
Aktif berhasil disimpan, dan user akan dibawa ke halaman tambah kelas aktif jika
menekan link Kembali.
2. Bagian untuk menampilkan daftar Kelas Aktif pada Tahun Ajaran aktif, dengan
membaca data dari tabel kelas_aktif_ta yang tersimpan dalam database si. dan
bagian untuk mengedit dan menghapus data Kelas Aktif, dengan mengklik link
103
pada data yang ingin diedit atau dihapus. Dan bagian untuk mengatur siswa kelas
aktif dengan menekan link Pengaturan Siswa, yang merupakan link menuju file
coba input siswa kls.php.
<? include("sambung2.php"); $total=1; $data2=mysql_query("select kelas_aktif_ta.ID_kls_aktif_ta,ta.nama_ta,kelas.nama_kls,guru.nama_guru from ta,kelas,kelas_aktif_ta,guru where kelas_aktif_ta.id_ta='$data1[id_ta]' and kelas_aktif_ta.id_ta=ta.id_ta and (kelas_aktif_ta.kode_kls=kelas.kode_kls and kelas_aktif_ta.ID_guru=guru.ID_guru)"); while($data3=mysql_fetch_array($data2)) { echo"<tr>"; echo"<td width=50 height=25 align=center style=\"padding-left:5\" bgcolor=black><small>",$total,"<small></td>"; echo"<td width=150 height=25 align=center style=\"padding-left:5\" bgcolor=black><small>",$data3[nama_kls],"<small></td>"; echo"<td width=200 height=25 align=left style=\"padding-left:5\" bgcolor=black><small>",$data3[nama_guru],"<small></td>"; echo"<td width=150 height=25 align=center style=\"padding-left:5\" bgcolor=black><small><a href=\"edit kls aktif.php?&ID_kls_aktif_ta=",$data3[ID_kls_aktif_ta],"\">[Edit]</a> <a href=\"tutmbhklsaktif.php?action=hapus&ID_kls_aktif_ta=$data3[ID_kls_aktif_ta]\">[Hapus]</a></small></td>"; echo"<td width=200 height=25 align=center style=\"padding-left:5\" bgcolor=black><small><a href=\"coba input siswa kls.php?&ID_kls_aktif_ta=$data3[ID_kls_aktif_ta]\">[Pengaturan Siswa]</a></small></td>"; echo"</tr>"; $total++; } ?>
Link Edit merupakan link menuju file edit kls aktif.php.
3. Bagian untuk menghapus data kelas aktif.
<? if($action=="hapus") { include("sambung2.php"); $query=mysql_query("DELETE FROM kelas_aktif_ta WHERE ID_kls_aktif_ta='$ID_kls_aktif_ta'"); $query=stripslashes($query);
104
echo"<h3 align=center>Data Berhasil Dihapus</h3>"; } ?>
File edit kls aktif.php
<? if(isset($ubah)) { include"sambung2.php"; $ubh=mysql_query("update kelas_aktif_ta set kode_kls='$kode_kls',ID_guru='$ID_guru' where ID_kls_aktif_ta='$ID_kls_aktif_ta'"); header("Location:tutmbhklsaktif.php"); } include("sambung2.php"); $query=mysql_query("select * from kelas_aktif_ta WHERE ID_kls_aktif_ta='$ID_kls_aktif_ta'"); $hsl=mysql_fetch_array($query); ?> <form method="post" action="edit kls aktif.php">\ <tr> <td width=200 height=25 style="padding-left:5">ID Kelas Aktif</td> <td ><?=$hsl[ID_kls_aktif_ta]?></td> </tr> <tr> <td width=200 height=25 style="padding-left:5">Kelas</td> <td > <select class=status name="kode_kls" height=25 align=left style="width:150"> <? include"sambung2.php"; $kls = mysql_query("select * from kelas order by kode_kls"); while($line = mysql_fetch_array($kls)) { if($hsl[kode_kls]==$line[kode_kls]) { echo "<option value=\"$hsl[kode_kls]\" selected>$line[nama_kls]</option>"; } else { echo "<option value=\"$line[kode_kls]\">$line[nama_kls]</option>"; } } echo"</select>"; ?> </td> </tr> <tr> <td width=200 height=25 style="padding-left:5">Wali Kelas</td>
105
<td > <select class=status name="ID_guru" height=25 align=left style="width:150" value=<?=$hsl[ID_guru]?>> <? include"sambung2.php"; $guru = mysql_query("select * from guru where status_guru='aktif' order by ID_guru"); while($line = mysql_fetch_array($guru)) { if($hsl[ID_guru]==$line[ID_guru]) { echo"<option value=\"$hsl[ID_guru]\" selected>$line[nama_guru]</option>"; } else { echo"<option value=\"$line[ID_guru]\">$line[nama_guru]</option>"; } } echo"</select>"; ?> </td></tr> <tr> <td width=600 colspan=2 align=center height=20><input type="submit" value=Ubah name="ubah"> <input type="reset" value="Batal" name="batal"></td> </tr> <input type="hidden" name="ID_kls_aktif_ta" value=<?=$hsl[ID_kls_aktif_ta]?>> </form> </table>
File ini akan membaca data dari tabel kelas_aktif_ta, yang memiliki nilai
id_kls_aktif_ta sama dengan nilai id_kls_aktif_ta dari file
tutmkbhklsaktif.php. Kemudian hasil pembacaan data tersebut akan
ditampilkan dalam form edit untuk diubah nilainya.
Kemudian file ini akan mengecek keberadaan variabel ubah (yaitu jika user
menekan tombol Ubah setelah memasukkan data yang telah diubah.), dan akan
menyimpan data kelas aktif yang telah diubah ke dalam tabel kelas_aktif_ta, yang
akan mengganti nilai dari data kelas_aktif_ta yang telah tersimpan sebelumnya
106
Halaman Input Siswa Kelas Aktif
Halaman ini akan ditampilkan jika user menekan link Pengaturan Siswa pada
Halaman Kelas Aktif, yang merupakan link menuju file coba input siswa
kls.php.
Gambar 4.2. 9 Halaman Pengaturan Siswa Kelas Aktif
coba input siswa kls.php.
<? include"sambung2.php"; $data=mysql_query("select kelas_aktif_ta.ID_kls_aktif_ta,ta.nama_ta,kelas.nama_kls from kelas_aktif_ta,ta,kelas wherekelas_aktif_ta.ID_kls_aktif_ta='$ID_kls_aktif_ta' AND kelas_aktif_ta.kode_kls=kelas.kode_kls and kelas_aktif_ta.id_ta=ta.id_ta"); $data1=mysql_fetch_array($data); if(isset($tambah)) { $siswa=mysql_query("select * from siswa where nis='$nis'"); $hsl=mysql_fetch_array($siswa);
107
if(!$hsl) { echo"<b><font color=red>Data NIS yang Dimasukkan Salah. Silahkan Ulangi Lagi</font></b>"; } else { $query=mysql_query("insert into siswa_kelas_aktif_ta values ('','$nis','$ID_kls_aktif_ta')") or die(mysql_error()); echo"<font color=yellow><b>Data Berhasil Disimpan</b></font>"; } } if($act=="hapus") { include"sambung2.php"; $del=mysql_query("DELETE FROM siswa_kelas_aktif_ta WHERE (nis='$nis' && ID_kls_aktif_ta='$ID_kls_aktif_ta')"); $query=stripslashes($del); echo"<font color=yellow><b>Data Telah Dipindahkan</b></font>"; } ?> <form method="post" action="coba input siswa kls.php"> <tr> <td width=200 height=25 style="padding-left:20">Masukkan NIS</td> <td ><input type=text name="nis" size=10 maxlength=8 height=25></td> </tr> <tr> <td colspan=2 width=500 align=center height=15><input type="submit" value="Tambahkan Siswa" name="tambah"> <input type="reset" value="Batal" name="batal"></td> </tr> <input type=hidden name=ID_kls_aktif_ta value=<?=$data1[ID_kls_aktif_ta]?>> </form> <? $total=1; include"sambung2.php"; $data2=mysql_query("select kelas_aktif_ta.ID_kls_aktif_ta,siswa_kelas_aktif_ta.ID_kls_aktif_ta,siswa.nis,siswa.nama_siswa,siswa.thn_msk_siswa,siswa.sex_siswa from kelas_aktif_ta,siswa_kelas_aktif_ta,siswa where (kelas_aktif_ta.ID_kls_aktif_ta=siswa_kelas_aktif_ta.ID_kls_aktif_ta AND kelas_aktif_ta.ID_kls_aktif_ta='$ID_kls_aktif_ta') AND siswa_kelas_aktif_ta.nis=siswa.nis order by ID_siswa_kls_aktif"); while($data3=mysql_fetch_array($data2)) { echo"<tr>"; echo"<td width=50 height=25 align=center style=\"padding-left:5\" bgcolor=black><small>",$total,"</small></td>"; echo"<td width=100 height=25 align=center style=\"padding-left:5\" bgcolor=black><small>",$data3[nis],"</small></td>"; echo"<td width=250 height=25 align=left style=\"padding-left:5\"
108
bgcolor=black><small>",$data3[nama_siswa],"</small></td>"; echo"<td width=150 height=25 align=center style=\"padding-left:5\" bgcolor=black><small><a href=\"coba input siswa kls.php?&act=hapus&nis=$data3[nis]&ID_kls_aktif_ta=$data3[ID_kls_aktif_ta]\">Pindahkan</a></small></td>"; echo"</tr>"; $total++; } ?>
Halaman Tugas Mengajar
Halaman ini akan ditampilkan dengan memilih menu Link Tugas Mengajar, yang
merupakan link menuju file tutmbhmpklsaktif.php.
Gambar 4.2. 10 Halaman Tugas Mengajar Guru
File tutmbhmpklsaktif.php.
File ini terdiri dari 2 bagian penting, yaitu :
109
1. Bagian untuk menampilkan form Mata Pelajaran untuk Kelas Aktif pada tahun
ajaran aktif
<form method="post" action="input mp kls aktif.php"> <tr> <td width=150 height=25 style="padding-left:50">Nama Guru</td> <td > <select class=status name="ID_guru" height=25 align=left style="width:200"> <? include"sambung2.php"; $guru = mysql_query("select * from guru where status_guru='aktif' order by ID_guru"); while($line = mysql_fetch_array($guru)) { echo"<small><option value=\"$line[ID_guru]\">$line[nama_guru]</option></small>"; } echo"</select>"; ?> </td> </tr> <tr> <td width=150 height=25 style="padding-left:50">Mata Pelajaran</td> <td > <select class=status name="kode_mp" height=25 align=left style="width:200"> <? include"sambung2.php"; $mp = mysql_query("select * from mp where status_mp='aktif' order by kode_mp"); while($line = mysql_fetch_array($mp)) { echo"<small><option value=\"$line[kode_mp]\">$line[nama_mp]</option></small>"; } echo"</select>"; ?> </td> </tr> <tr> <td width=150 height=25 style="padding-left:50">Kelas Aktif</td> <td > <select class=status name="ID_kls_aktif_ta" height=25 align=left style="width:200"> <? include"sambung2.php"; $kt=mysql_query("select kelas_aktif_ta.ID_kls_aktif_ta,ta.nama_ta,kelas.nama_kls from ta,kelas,kelas_aktif_ta where ta.status='1' AND (kelas_aktif_ta.id_ta=ta.id_ta and kelas_aktif_ta.kode_kls=kelas.kode_kls) order by ID_kls_aktif_ta");
110
while($line = mysql_fetch_array($kt)) { echo"<small><option value=\"$line[ID_kls_aktif_ta]\">Kelas $line[nama_kls] TA $line[nama_ta]</option></small>"; } echo"</select>"; ?> </td> </tr> <tr> <td width=700 colspan=4 align=center height=20><input type=submit value=Simpan name="tambah"> <input type="reset" value="Batal" name="batal"></td> </tr> </form>
2. Bagian untuk menampilkan daftar Mata Pelajaran untuk Kelas Aktif pada
Tahun Ajaran aktif.
<? include("sambung2.php"); $data2=mysql_query("select mp_kelas_aktif_ta.ID_mp_kelas_aktif_ta,mp_kelas_aktif_ta.ID_guru,mp.nama_mp,kelas.nama_kls,guru.nama_guru from kelas,mp_kelas_aktif_ta,kelas_aktif_ta,guru,mp where kelas_aktif_ta.id_ta='$data2[id_ta]' AND (mp_kelas_aktif_ta.ID_kls_aktif_ta=kelas_aktif_ta.ID_kls_aktif_ta AND kelas_aktif_ta.kode_kls=kelas.kode_kls) AND (mp_kelas_aktif_ta.kode_mp=mp.kode_mp AND mp_kelas_aktif_ta.ID_guru=guru.ID_guru)"); while($data3=mysql_fetch_array($data2)) { echo"<tr>"; echo"<td width=50 height=25 align=center style=\"padding-left:5\" bgcolor=black><small>",$data3[ID_mp_kelas_aktif_ta],"<small></td>"; echo"<td width=300 height=25 align=left style=\"padding-left:5\" bgcolor=black><small>",$data3[nama_mp],"<small></td>"; echo"<td width=100 height=25 align=center style=\"padding-left:5\" bgcolor=black><small>",$data3[nama_kls],"<small></td>"; echo"<td width=200 height=25 align=left style=\"padding-left:5\" bgcolor=black><small>",$data3[nama_guru],"<small></td>"; echo"<td width=150 height=25 align=center style=\"padding-left:5\" bgcolor=black><small><a href=\"edit mp kls aktif.php?&ID_mp_kelas_aktif_ta=",$data3[ID_mp_kelas_aktif_ta],"\">[Edit]</a> <a href=\"tutmbhmpklsaktif.php?action=hapus&ID_mp_kelas_aktif_ta=$data3[ID_mp_kelas_aktif_ta]\">[Hapus]</a></small></td>"; echo"</tr>"; $total++; } ?>
111
Link Edit merupakan link menuju file edit mp kls aktif.php.
3. Bagian untuk menghapus data Mata Pelajaran untuk Kelas Aktif.
if($action=="hapus") { include("sambung2.php"); $query=mysql_query("DELETE FROM mp_kelas_aktif_ta WHERE ID_mp_kelas_aktif_ta='$ID_mp_kelas_aktif_ta'"); $query=stripslashes($query); echo"<h3 align=center>Data Telah Terhapus</h3>"; }
File edit mp kls aktif.php
<? if(isset($ubah)) { include"sambung2.php"; $ubh=mysql_query("update mp_kelas_aktif_ta set ID_guru='$ID_guru',kode_mp='$kode_mp',ID_kls_aktif_ta='$ID_kls_aktif_ta' where ID_mp_kelas_aktif_ta='$ID_mp_kelas_aktif_ta'"); header("Location:tutmbhmpklsaktif.php"); } include("sambung2.php"); $query=mysql_query("select * from mp_kelas_aktif_ta WHERE ID_mp_kelas_aktif_ta='$ID_mp_kelas_aktif_ta'"); $hsl=mysql_fetch_array($query); ?> <form method="post" action="edit mp kls aktif.php"> <tr> <td width=200 height=25 style="padding-left:20">ID</td> <td ><?=$hsl[ID_mp_kelas_aktif_ta]?></td> </tr> <tr> <td width=200 height=25 style="padding-left:20">Pengajar</td> <td > <select class=status name="ID_guru" height=25 align=left style="width:150"> <? include"sambung2.php"; $guru = mysql_query("select * from guru where status_guru='aktif' order by ID_guru"); while($line = mysql_fetch_array($guru)) { if($hsl[ID_guru]==$line[ID_guru]) { echo"<option value=\"$hsl[ID_guru]\" selected>$line[nama_guru]</option>"; } else
112
{ echo "<option value=\"$line[ID_guru]\">$line[nama_guru]</option>"; } } echo"</select>"; ?> </td> </tr> <tr> <td width=200 height=25 style="padding-left:20">Mata Pelajaran</td> <select class=status name="kode_mp" height=25 align=left style="width:150"> <? include"sambung2.php"; $mp = mysql_query("select * from mp where status_mp='aktif' order by kode_mp"); while($line = mysql_fetch_array($mp)) { if($hsl[kode_mp]==$line[kode_mp]) { echo"<option value=\"$hsl[kode_mp]\" selected>$line[nama_mp]</option>"; } else { echo"<option value=\"$line[kode_mp]\">$line[nama_mp]</option>";} } echo"</select>"; ?> </td> </tr> <tr> <td width=200 height=25 style="padding-left:20">Kelas Aktif</td> <td > <select class=status name="ID_kls_aktif_ta" height=25 align=left style="width:200"> <? include"sambung2.php"; $kt=mysql_query("select kelas_aktif_ta.ID_kls_aktif_ta,ta.nama_ta,kelas.nama_kls from ta,kelas,kelas_aktif_ta where ta.id_ta='$data2[id_ta]' AND (kelas_aktif_ta.id_ta=ta.id_ta and kelas_aktif_ta.kode_kls=kelas.kode_kls) order by ID_kls_aktif_ta"); while($line = mysql_fetch_array($kt)) { if($hsl[ID_kls_aktif_ta]==$line[ID_kls_aktif_ta]) { echo"<small><option value=\"$hsl[ID_kls_aktif_ta]\" selected>Kelas $line[nama_kls] TA $line[nama_ta]</option></small>"; } else
113
{ echo"<small><option value=\"$line[ID_kls_aktif_ta]\">Kelas $line[nama_kls] TA $line[nama_ta]</option></small>"; } } echo"</select>"; ?>
Jika user memilih menu Nilai, maka user akan diarahkan ke file daftar jadwal
mengajar.php, yang akan menampilkan halaman daftar tugas mengajar guru pada
suatu tahun ajaran, seperti yang ditunjukkan pada Gambar 4.2.11.
Gambar 4.2. 11 Halaman Daftar Tugas Mengajar Guru
File daftar jadwal mengajar.php
<? include("sambung2.php"); $data2=mysql_query("select mp_kelas_aktif_ta.ID_mp_kelas_aktif_ta,mp.nama_mp,kelas.nama_kls,guru.nama_guru from kelas,mp_kelas_aktif_ta,kelas_aktif_ta,guru,mp where kelas_aktif_ta.id_ta='$data2[id_ta]' AND
114
(mp_kelas_aktif_ta.ID_kls_aktif_ta=kelas_aktif_ta.ID_kls_aktif_ta AND kelas_aktif_ta.kode_kls=kelas.kode_kls) AND (mp_kelas_aktif_ta.kode_mp=mp.kode_mp AND mp_kelas_aktif_ta.ID_guru=guru.ID_guru)"); while($data3=mysql_fetch_array($data2)) { echo"<tr>"; echo"<td width=50 height=25 align=center style=\"padding-left:5\" bgcolor=black><small>",$data3[ID_mp_kelas_aktif_ta],"<small></td>"; echo"<td width=300 height=25 align=left style=\"padding-left:5\" bgcolor=black><small>",$data3[nama_mp],"<small></td>"; echo"<td width=100 height=25 align=center style=\"padding-left:5\" bgcolor=black><small>",$data3[nama_kls],"<small></td>"; echo"<td width=200 height=25 align=left style=\"padding-left:5\" bgcolor=black><small>",$data3[nama_guru],"<small></td>"; echo"<td width=150 height=25 align=center style=\"padding-left:5\" bgcolor=black><small><a href=\"lihat nilai.php?&ID_mp_kelas_aktif_ta=$data3[ID_mp_kelas_aktif_ta]&semester=1\">[Lihat / Edit Nilai]</a></small></td>"; echo"<td width=150 height=25 align=center style=\"padding-left:5\" bgcolor=black><small><a href=\"lihat nilai.php?&ID_mp_kelas_aktif_ta=$data3[ID_mp_kelas_aktif_ta]&semester=2\">[Lihat /Edit Nilai]</a></small></td>"; echo"</tr>"; $total++; } ?>
Jika user mengklik link Lihat/Edit Nilai, yang merupakan link ke file lihat
nilai.php, maka akan ditampilkan halaman Lihat/Edit Nilai, seperti yang
ditunjukkan pada Gambar 4.2.12.
115
Gambar 4.2.12 Halaman Daftar Nilai
File lihat nilai.php
<table class="form" width=700 height=50 cellspacing=0 cellpadding=0 align=center border=3> <? include"sambung2.php"; $data=mysql_query("select mp_kelas_aktif_ta.ID_mp_kelas_aktif_ta,mp_kelas_aktif_ta.ID_kls_aktif_ta,kelas.nama_kls,mp.nama_mp,ta.nama_ta from mp_kelas_aktif_ta,kelas_aktif_ta,kelas,mp,ta where mp_kelas_aktif_ta.ID_mp_kelas_aktif_ta='$ID_mp_kelas_aktif_ta' AND (mp_kelas_aktif_ta.ID_kls_aktif_ta=kelas_aktif_ta.ID_kls_aktif_ta AND kelas_aktif_ta.id_ta=ta.id_ta AND kelas_aktif_ta.kode_kls=kelas.kode_kls AND mp_kelas_aktif_ta.kode_mp=mp.kode_mp)"); $data1=mysql_fetch_array($data); ?> <caption style="filter:shadow(color=blue)"><b>Daftar Nilai Mata Pelajaran <?=$data1[nama_mp]?><br> Kelas <?=$data1[nama_kls]?> <br>Tahun Ajaran <?=$data1[nama_ta]?> Semester <?=$semester?></br></b></caption> <tr><td height=10>
116
</td></tr> <tr> <td width=50 height=25 style="padding-left:5" align=center background=image/bg.bmp><small>No</small></td> <td width=100 height=25 style="padding-left:5" align=center background=image/bg.bmp><small>NIS</small></td> <td width=200 height=25 style="padding-left:5" align=center background=image/bg.bmp><small>Nama</small></td> <td width=70 height=25 style="padding-left:5" align=center background=image/bg.bmp><small>Nilai</small></td> </tr> <? include"sambung2.php"; $total=1; //untuk menampilkan daftar nilai siswa $data2=mysql_query("select nilai.ID_nilai,nilai.ID_mp_kelas_aktif_ta,nilai.semester,nilai.nilai,nilai.nis,nilai.nip,siswa.nama_siswa,tata_usaha.nama_tu from nilai,siswa,tata_usaha where nilai.ID_mp_kelas_aktif_ta='$data1[ID_mp_kelas_aktif_ta]' AND nilai.semester='$semester' AND nilai.nis=siswa.nis AND nilai.nip=tata_usaha.nip"); while($data3=mysql_fetch_array($data2)) { echo"<tr>"; echo"<td width=50 height=25 align=center style=\"padding-left:5\" bgcolor=black><small>",$total,"</small></td>"; echo"<td width=100 height=25 align=center style=\"padding-left:5\" bgcolor=black><small>",$data3[nis],"</small></td>"; echo"<td width=200 height=25 align=left style=\"padding-left:5\" bgcolor=black><small>",$data3[nama_siswa],"</small></td>"; echo"<td width=70 height=25 align=center style=\"padding-left:5\" bgcolor=black><small>",$data3[nilai],"</small></td>"; echo"</tr>"; $total++; } $data2=mysql_query("select nilai.ID_nilai,nilai.ID_mp_kelas_aktif_ta,nilai.semester,nilai.nilai,nilai.nis,nilai.nip,siswa.nama_siswa,tata_usaha.nama_tu from nilai,siswa,tata_usaha where nilai.ID_mp_kelas_aktif_ta='$data1[ID_mp_kelas_aktif_ta]' AND nilai.semester='$semester' AND nilai.nis=siswa.nis AND nilai.nip=tata_usaha.nip"); $data3=mysql_fetch_array($data2); echo"<tr>"; echo"<td colspan=4>Diupdate Oleh : ",$data3[nama_tu],"</td>"; echo"</tr>"; echo"</table>"; echo"<br><p align=center><b><a href=\"edit nilai2.php?&ID_mp_kelas_aktif_ta=$data1[ID_mp_kelas_aktif_ta]&semester=$semester&total2\">[Edit]</a></b></p></br>"; ?> </table>
117
Jika user mengklik link Edit, yang merupakan link menuju file edit nilai2.php,
maka akan ditampilkan halaman edit nilai, dengan seperti yang ditunjukkan pada
Gambar 4.2.13.
File edit nilai2.php.
<? if(isset($tambah)) { include"sambung2.php"; for($i=1; $i<$total1 ; $i++) { $query = mysql_query("insert into nilai values ('','$ID_mp_kelas_aktif_ta','$semester','$nis[$i]','$nilai[$i]','$nip')") or die (mysql_error()); } header("Location:daftar jadwal mengajar.php"); } if(isset($update)) { include"sambung2.php"; for($i=1; $i<$total1 ; $i++) { $query = mysql_query("update nilai set nilai='$nilai[$i]',nip='$nip' where ID_mp_kelas_aktif_ta='$ID_mp_kelas_aktif_ta' AND semester='$semester' AND nis='$nis[$i]'") or die (mysql_error()); } header("Location:daftar jadwal mengajar.php"); } include"sambung2.php"; $data=mysql_query("select mp_kelas_aktif_ta.ID_mp_kelas_aktif_ta,mp_kelas_aktif_ta.ID_kls_aktif_ta,kelas.nama_kls,mp.nama_mp from mp_kelas_aktif_ta,kelas_aktif_ta,kelas,mp where mp_kelas_aktif_ta.ID_mp_kelas_aktif_ta='$ID_mp_kelas_aktif_ta' AND (mp_kelas_aktif_ta.ID_kls_aktif_ta=kelas_aktif_ta.ID_kls_aktif_ta AND kelas_aktif_ta.kode_kls=kelas.kode_kls AND mp_kelas_aktif_ta.kode_mp=mp.kode_mp)"); $data1=mysql_fetch_array($data); ?> <form method="post" action="edit nilai2.php"> <table class="form" width=620 height=50 cellspacing=0 cellpadding=0 align=center border=1> <caption style="filter:shadow(color=blue)"><b>Form Nilai Mata Pelajaran <?=$data1[nama_mp]?> <br>Kelas <?=$data1[nama_kls]?><br>Tahun Ajaran <?=$dat[nama_ta]?> Semester <?=$semester?></br></b></caption> <tr><td height=10> </td></tr> <tr>
118
<td width=50 height=25 style="padding-left:5" align=center background=image/bg.bmp><small>No</small></td> <td width=70 height=25 style="padding-left:5" align=center background=image/bg.bmp><small>NIS</small></td> <td width=200 height=25 style="padding-left:5" align=center background=image/bg.bmp><small>Nama</small></td> <td width=70 height=25 style="padding-left:5" align=center background=image/bg.bmp><small>Nilai</small></td> </tr> <? $total1=1; $data2=mysql_query("select mp_kelas_aktif_ta.ID_mp_kelas_aktif_ta,mp_kelas_aktif_ta.ID_kls_aktif_ta,siswa_kelas_aktif_ta.nis,siswa.nama_siswa from mp_kelas_aktif_ta,siswa_kelas_aktif_ta,siswa where mp_kelas_aktif_ta.ID_mp_kelas_aktif_ta='$data1[ID_mp_kelas_aktif_ta]' AND mp_kelas_aktif_ta.ID_kls_aktif_ta=siswa_kelas_aktif_ta.ID_kls_aktif_ta AND siswa_kelas_aktif_ta.nis=siswa.nis"); while($data3=mysql_fetch_array($data2)) { $data4=mysql_query("select * from nilai where nilai.ID_mp_kelas_aktif_ta='$data1[ID_mp_kelas_aktif_ta]' AND nilai.semester='$semester' AND nilai.nis=$data3[nis]"); $data5=mysql_fetch_array($data4); echo"<tr>"; echo"<td width=50 height=25 align=center style=\"padding-left:5\" bgcolor=black><small>",$total1,"</small></td>"; echo"<td width=70 height=25 align=center style=\"padding-left:5\" bgcolor=black><small><input type=hidden name=\"nis[$total1]\" value=\"$data3[nis]\">",$data3[nis],"</small></td>"; echo"<td width=200 height=25 align=left style=\"padding-left:5\" bgcolor=black><small>",$data3[nama_siswa],"</small></td>"; echo"<td width=70 height=25 align=center style=\"padding-left:5\" bgcolor=black><small><input type=text size=4 maxlength=3 name=\"nilai[$total1]\" value=",$data5[nilai],"></small></td>"; echo"</tr>"; $total1++; } echo"<input type=hidden size=13 maxlength=11 name=\"nip\" value=",$nip,"></small></td>"; echo"</tr>"; echo"<tr>"; echo"<td background=image/bg.bmp colspan=4 width=580 align=center height=15><input type=\"submit\" value=\"Isi Nilai\" name=\"tambah\"> <input type=\"submit\" value=\"Ubah Nilai\" name=\"update\"> <input type=\"reset\" value=\"Batal\" name=\"batal\"></td>"; echo"</tr>"; echo"<input type=\"hidden\" name=\"total1\" value=",$total1,">"; echo"<input type=\"hidden\" name=\"semester\" value=",$semester,">"; echo"<input type=\"hidden\" name=\"ID_mp_kelas_aktif_ta\" value=",$ID_mp_kelas_aktif_ta,">"; echo"</form>";
119
?> </table> <br> <br><p align=center style="font-size:12" style="font-family:Helvetica"><b>* Untuk proses Input Nilai Baru, setelah memasukkan data, tekan tombol Simpan. Untuk proses Edit Nilai, setelah update data,tekan tombol Ubah.</b></p> <br><p align=center><b><a href="daftar jadwal mengajar.php">[Kembali]</a></b></p></br> </table>
Gambar 4.2.13 Halaman Edit Nilai
Untuk pengisian nilai pertama kali, user harus menekan tombol Isi Nilai.
Sedangkan untuk pengubahan nilai yang sudah tersimpan, user harus menekan
tombol Ubah Nilai.
120
Halaman Siswa/Wali Siswa.
Halaman ini akan ditampillkan jika proses login sebagai siswa/wali siswa sukses,
dengan memanggil file menusiswa2.php.
Gambar 4.2. 14 Halaman Utama Siswa/Wali Siswa
File menusiswa2.php
File ini terdiri dari bagian penting, yaitu :
1. Bagian untuk mengecek session
<? session_start(); if(!session_is_registered('nis')) { echo"<h3 align=center>Maaf, Anda Tidak Berhak mengakses halaman ini"; echo"<br></br>"; echo"<a href=\"index.php\">Silahkan Login</a></h3>"; exit(); } ?>
121
2. Bagian untuk menampilkan data user.
$siswa=mysql_query("select * from siswa where nis='$nis'"); $d1=mysql_fetch_array($siswa); $data2=mysql_query("select siswa_kelas_aktif_ta.ID_siswa_kls_aktif,siswa_kelas_aktif_ta.nis,siswa_kelas_aktif_ta.ID_kls_aktif_ta,kelas.nama_kls,ta.nama_ta,guru.nama_guru from siswa_kelas_aktif_ta,kelas_aktif_ta,ta,kelas,guru where siswa_kelas_aktif_ta.nis='$nis' AND siswa_kelas_aktif_ta.ID_kls_aktif_ta=kelas_aktif_ta.ID_kls_aktif_ta AND kelas_aktif_ta.id_ta='$dat[id_ta]' AND kelas_aktif_ta.kode_kls=kelas.kode_kls AND kelas_aktif_ta.ID_guru=guru.ID_guru"); $data3=mysql_fetch_array($data2); echo"<table class=\"form\" width=650 cellspacing=0 cellpadding=10 align=center valign=top>"; echo"<caption><b>Data Pribadi User <u>",$nama_siswa,"</u></b></caption>"; echo"<tr>"; echo"<td width=650 height=25>NIS : ",$d1[nis],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=650 height=25>Nama : ",$d1[nama_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=650 height=25>Panggilan : ",$d1[pglan_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=650 height=25>Tahun Masuk : ",$d1[thn_msk_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=650 height=25>Status Studi : ",$d1[status_studi],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=650 height=25>Jenis Kelamin : ",$d1[sex_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=650 height=25>Tempat , Tgl Lahir : ",$d1[t4_lhr_siswa]," , ",$d1[tgl_lhr_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=650 height=25>Alamat
122
: ",$d1[alamat_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=650 height=25>Telepon : ",$d1[telp_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=650 height=25>Agama : ",$d1[agama_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=650 height=25>Asal Sekolah : ",$d1[asal_sekolah],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=650 height=25>Golongan Darah : ",$d1[gol_drh],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=650 height=25>Nama Wali : ",$d1[nama_wali],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=650 height=25>Alamat Wali : ",$d1[alamat_wali],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=650 height=25>Telp Wali : ",$d1[telp_wali],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td height=20>"; echo"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=650 height=25>Siswa ",$nama_siswa," terdaftar sebagai siswa Kelas ",$data3[nama_kls]," pada TA ",$dat[nama_ta],"</td>"; echo"</tr>"; echo"</table>"; ?>
3. Bagian untuk menampilkan daftar menu siswa.
<? echo"<td width=250 valign=top align=left>"; include"menu siswa.html";
123
echo"</td>"; ?>
File menu siswa.html
<table width=250 cellSpacing=0 cellPadding=3 align=center valign=top border=0> <tr><td width=250 height=30 bgcolor=black></td></tr> <tr> <td width=250 height=10 onmouseover="style.background='#CC99FF'" onmouseout="style.background='#9933CC'"><DIV class=navheader><A href="http://localhost/si/dftr kls siswa.php">DAFTAR KELAS SISWA</A></DIV></td> </tr> <tr><td width=250 height=30 bgcolor=black></td></tr> <tr> <td width=250 height=10 onmouseover="style.background='#CC99FF'" onmouseout="style.background='#9933CC'"><DIV class=navheader><A href="http://localhost/si/transkrip nilai.php">TRANSKRIP NILAI</A></DIV></td> </tr> <tr><td width=250 height=30 bgcolor=black></td></tr> <tr> <td width=250 height=10 onmouseover="style.background='#CC99FF'" onmouseout="style.background='#9933CC'"><DIV class=navheader><A href="http://localhost/si/siswa-dftrguru.php">DAFTAR GURU</A></DIV></td> </tr> <tr><td width=250 height=30 bgcolor=black></td></tr> <tr> <td width=250 height=10 onmouseover="style.background='#CC99FF'" onmouseout="style.background='#9933CC'"><DIV class=navheader><A href="http://localhost/si/ubah password siswa.php">UBAH PASSWORD</A></DIV></td> </tr> </table>
124
Halaman Daftar Kelas Siswa
Halaman ini akan ditampilkan jika user memilih menu Daftar Kelas pada halaman
utama siswa, yang merupakan link menuju file dftr kls siswa.php.
Gambar 4.2. 15 Halaman Daftar Kelas User
File dftr kls siswa.php
<? include("sambung2.php"); $total=1; $data2=mysql_query("select siswa_kelas_aktif_ta.ID_siswa_kls_aktif,siswa_kelas_aktif_ta.nis,siswa_kelas_aktif_ta.ID_kls_aktif_ta,kelas.nama_kls,kelas.tingkat_kls,ta.nama_ta,guru.nama_guru from siswa_kelas_aktif_ta,kelas_aktif_ta,ta,kelas,guru where siswa_kelas_aktif_ta.nis='$nis' AND siswa_kelas_aktif_ta.ID_kls_aktif_ta=kelas_aktif_ta.ID_kls_aktif_ta AND kelas_aktif_ta.id_ta=ta.id_ta AND kelas_aktif_ta.kode_kls=kelas.kode_kls AND kelas_aktif_ta.ID_guru=guru.ID_guru"); while($data3=mysql_fetch_array($data2)) { echo"<tr>"; echo"<td width=50 height=25 align=center bgcolor=black style=\"padding-left:5\"><small>",$total,"<small></td>";
125
echo"<td width=120 height=25 align=center bgcolor=black style=\"padding-left:5\"><small>",$data3[nama_ta],"<small></td>"; echo"<td width=120 height=25 align=center bgcolor=black style=\"padding-left:5\"><small>",$data3[tingkat_kls],"<small></td>"; echo"<td width=120 height=25 align=center bgcolor=black style=\"padding-left:5\"><small>",$data3[nama_kls],"<small></td>"; echo"<td width=250 height=25 bgcolor=black align=left style=\"padding-left:5\"><small>",$data3[nama_guru],"<small></td>"; echo"</tr>"; $total++;} ?>
Halaman Transkrip Nilai Siswa
Halaman ini akan ditampilkan jika user memilih menu Transkrip Nilai pada
halaman utama siswa, yang merupakan link menuju file transkrip nilai.php.
Gambar 4.2. 16 Halaman Transkrip Nilai
126
File Transkrip nilai.php
<? include"sambung2.php"; $total=1; $data2=mysql_query("select nilai.ID_mp_kelas_aktif_ta,nilai.semester,nilai.nilai,nilai.nis,guru.nama_guru,mp.nama_mp from nilai,mp_kelas_aktif_ta,mp,guru where nilai.nis='$nis' AND(nilai.ID_mp_kelas_aktif_ta=mp_kelas_aktif_ta.ID_mp_kelas_aktif_ta AND mp_kelas_aktif_ta.kode_mp=mp.kode_mp AND mp_kelas_aktif_ta.ID_guru=guru.ID_guru) order by ID_nilai desc"); while($data3=mysql_fetch_array($data2)) { echo"<tr>"; echo"<td width=50 height=25 align=center bgcolor=black style=\"padding-left:5\"><small>",$total,"</small></td>"; echo"<td width=300 height=25 align=left bgcolor=black style=\"padding-left:5\"><small>",$data3[nama_mp],"</small></td>"; echo"<td width=250 height=25 align=left bgcolor=black style=\"padding-left:5\"><small>",$data3[nama_guru],"</small></td>"; echo"<td width=100 height=25 align=center bgcolor=black style=\"padding-left:5\"><small>",$data3[semester],"</small></td>"; echo"<td width=100 height=25 align=center bgcolor=black style=\"padding-left:5\"><small>",$data3[nilai],"</small></td>"; echo"</tr>"; $total++; } ?>
Halaman daftar guru
Halaman ini akan ditampilkan jika user memilih menu Daftar Guru pada halaman
utama siswa, yang merupakan link menuju file siswa-dftrguru.php.
127
Gambar 4.2. 17 Halaman Daftar Guru File siswa-dftrguru.php
<? include("sambung2.php"); $total=1; $data2=mysql_query("select * from guru where status_guru='aktif' order by ID_guru"); while($data3=mysql_fetch_array($data2)) { echo"<tr>"; echo"<td width=50 height=25 align=center bgcolor=black style=\"padding-left:5\"><small>",$total,"</small></td>"; echo"<td width=150 height=25 align=left bgcolor=black style=\"padding-left:5\"><small>",$data3[ID_guru],"</small></td>"; echo"<td width=250 height=25 align=left bgcolor=black style=\"padding-left:5\"><small>",$data3[nama_guru],"</small></td>"; echo"<td width=200 height=25 align=center bgcolor=black style=\"padding-left:5\"><small>>",$data3[kepeg_guru],"</small></td>"; echo"</tr>"; $total++; }?>
128
Halaman Guru
Halaman ini akan ditampilkan jika proses sebagai guru sukses, dengan memanggil
file menuguru2.php.
Gambar 4.2.18 Halaman Awal Guru
File menuguru2.php
File ini terdiri dari 2 bagian penting, yaitu :
1. Bagian untuk mengecek session
<? session_start(); if(!session_is_registered('ID_guru')) { echo"<h3 align=center>Maaf, Anda Tidak Berhak mengakses halaman
ini"; echo"<br></br>"; echo"<a href=\"index.php\">Silahkan Login</a></h3>"; exit(); } ?>
129
2. Bagian untuk menampilkan daftar menu guru
<tr> <td width=1020 height=20 style="font-size:14" background=image/bg.bmp align=right style="padding-right:5" style="filter:shadow(color=blue)"><a href="daftar jadwal mengajar user.php">[Daftar Tugas Mengajar]</a> <a href="ubah password guru.php">[Ubah Password]</a> <u>Login Guru dengan ID <?=$ID_guru?></u> <a href="logout.php">[Logout]</a></td> </tr>
3. Bagian untuk menampilkan data pribadi user.
<? include"sambung2.php"; $guru=mysql_query("select * from guru where ID_guru='$ID_guru'"); $d1=mysql_fetch_array($guru); echo"<table class=\"form\" width=500 cellspacing=0 cellpadding=10 align=center valign=top>"; echo"<caption><b>Data Pribadi User <u>",$nama_guru,"</u></b></caption>"; echo"<tr>"; echo"<td width=400 height=25>ID Guru : ",$d1[ID_guru],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=400 height=25>Nama : ",$d1[nama_guru],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=400 height=25>Panggilan : ",$d1[pglan_guru],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=400 height=25>Kepegawaian : ",$d1[kepeg_guru],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=400 height=25>Status : ",$d1[status_guru],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=400 height=25>Tahun Masuk
130
: ",$d1[thn_msk],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=400 height=25>Jenis Kelamin : ",$d1[sex_guru],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=500 height=25>Tempat , Tgl Lahir : ",$d1[t4_lhr_guru]," , ",$d1[tgl_lhr_guru],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=400 height=25>Status Nikah : ",$d1[status_nkh_guru],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=400 height=25>Alamat : ",$d1[alamat_guru],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=400 height=25>Telepon : ",$d1[telp_guru],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=400 height=25>Agama : ",$d1[agama_guru],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=400 height=25>Pendidikan Terakhir : ",$d1[pend_guru],"</td>"; echo"</tr>"; echo"</table>"; ?>
131
Halaman Daftar Tugas Mengajar User
Halaman ini akan ditampilkan jika user mengklik link Daftar Tugas Mengajar,
yang merupakan link ke file dftr jadwal mengajar user.php.
Gambar 4.2. 19 Halaman Daftar Tugas Mengajar User
File dftr jadwal mengajar user.php.
<? include("sambung2.php"); $total=1; $data2=mysql_query("select mp_kelas_aktif_ta.ID_mp_kelas_aktif_ta,mp_kelas_aktif_ta.ID_guru,mp_kelas_aktif_ta.ID_kls_aktif_ta,mp.nama_mp,kelas.nama_kls from kelas,mp_kelas_aktif_ta,kelas_aktif_ta,mp where mp_kelas_aktif_ta.ID_guru='$ID_guru' AND kelas_aktif_ta.id_ta='$data1[id_ta]' AND mp_kelas_aktif_ta.ID_kls_aktif_ta=kelas_aktif_ta.ID_kls_aktif_ta AND kelas_aktif_ta.kode_kls=kelas.kode_kls AND mp_kelas_aktif_ta.kode_mp=mp.kode_mp"); while($data3=mysql_fetch_array($data2)) { echo"<tr>"; echo"<td width=30 height=25 bgcolor=black align=center style=\"padding-left:3\"><small>",$total,"<small></td>";
132
echo"<td width=200 height=25 bgcolor=black align=left style=\"padding-left:3\"><small>",$data3[nama_mp],"<small></td>"; echo"<td width=120 height=25 bgcolor=black align=center style=\"padding-left:3\"><small>",$data3[nama_kls],"<small></td>"; echo"<td width=600 height=25 bgcolor=black align=center style=\"padding-left:3\"><small><a href=\"dftr siswa didik1.php?&ID_kls_aktif_ta=$data3[ID_kls_aktif_ta]\">[Lihat Daftar Siswa]</a> <a href=\"lht nilai siswa didik.php?&ID_mp_kelas_aktif_ta=$data3[ID_mp_kelas_aktif_ta]&semester=1\">[Lihat Nilai Semester 1]</a> <a href=\"lht nilai siswa didik.php?&ID_mp_kelas_aktif_ta=$data3[ID_mp_kelas_aktif_ta]&semester=2\">[Lihat Nilai Semester II]</a></small></td>"; echo"</tr>"; $total++; } ?>
Jika user mengklik link Lihat Daftar Siswa, maka user akan dibawa ke file dftr
siswa didik1.php, yang akan menampilkan daftar peserta didik untuk tugas
mengajar yang dipilih, seperti yang ditunjukkan pada Gambar 4.2.20.
Gambar 4.2.20 Halaman Daftar Siswa Didik
133
File dftr siswa didik1.php.
<? include"sambung2.php"; $data=mysql_query("select kelas_aktif_ta.ID_kls_aktif_ta,ta.nama_ta,kelas.nama_kls from kelas_aktif_ta,ta,kelas where kelas_aktif_ta.ID_kls_aktif_ta='$ID_kls_aktif_ta' AND kelas_aktif_ta.kode_kls=kelas.kode_kls and kelas_aktif_ta.id_ta=$dat[id_ta]"); $data1=mysql_fetch_array($data); ?> <table class="form" width=700 cellspacing=0 cellpadding=0 align=center border=1> <caption style="filter:shadow(color=blue)"><b>Daftar Siswa Kelas <?=$data1[nama_kls]?> Tahun Ajaran <?=$dat[nama_ta]?></b></caption> <tr><td height=10></td> </tr> <tr> <td width=50 height=25 style="padding-left:5"background=image/bg.bmp align=center><small>No</small></td> <td width=100 height=25 style="padding-left:5" background=image/bg.bmp align=center><small>NIS</small></td> <td width=250 height=25 style="padding-left:5" background=image/bg.bmp align=center><small>Nama</small></td> <td width=150 height=25 style="padding-left:5" background=image/bg.bmp align=center><small>Jenis Kelamin</small></td> <td width=150 height=25 style="padding-left:5" background=image/bg.bmp align=center><small>Selengkapnya</small></td> </tr> <? $total=1; include"sambung2.php"; $data2=mysql_query("select kelas_aktif_ta.ID_kls_aktif_ta,siswa_kelas_aktif_ta.ID_kls_aktif_ta,siswa.nis,siswa.nama_siswa,siswa.sex_siswa from kelas_aktif_ta,siswa_kelas_aktif_ta,siswa where (kelas_aktif_ta.ID_kls_aktif_ta=siswa_kelas_aktif_ta.ID_kls_aktif_ta AND kelas_aktif_ta.ID_kls_aktif_ta='$ID_kls_aktif_ta') AND siswa_kelas_aktif_ta.nis=siswa.nis order by nis"); while($data3=mysql_fetch_array($data2)) { echo"<tr>"; echo"<td width=50 height=25 align=center bgcolor=black style=\"padding-left:5\"><small>",$total,"</small></td>"; echo"<td width=100 height=25 align=center bgcolor=black style=\"padding-left:5\"><small>",$data3[nis],"</small></td>";
134
echo"<td width=250 height=25 align=left bgcolor=black style=\"padding-left:5\"><small>",$data3[nama_siswa],"</small></td>"; echo"<td width=150 height=25 align=center bgcolor=black style=\"padding-left:5\"><small>",$data3[sex_siswa],"</small></td>"; echo"<td width=150 height=25 align=center bgcolor=black style=\"padding-left:5\"><small><a href=\"data lengkap siswa didik.php?&nis=$data3[nis]\">Selengkapnya</a></small></td>"; echo"</tr>"; $total++; } ?>
Jika user mengklik link Selengkapnya, maka user akan diarahkan ke file data
lengkap siswa didik.php, yang akan menampilkan data lengkap siswa didik yang
dipilih, seperti yang ditunjukkan pada Gambar 4.2.21.
Gambar 4.2.21 Halaman Data Lengkap Siswa Didik
135
File data lengkap siswa didik.php.
<? include"sambung2.php"; $siswa=mysql_query("select * from siswa where nis='$nis'"); $d1=mysql_fetch_array($siswa); echo"<caption><b>Data Lengkap Siswa ",$d1[nama_siswa],"</b></caption>"; echo"<tr>"; echo"<td width=500 height=25>NIS : ",$d1[nis],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=500 height=25>Nama Lengkap : ",$d1[nama_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=500 height=25>Panggilan : ",$d1[pglan_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=500 height=25>Tahun Masuk : ",$d1[thn_msk_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=500 height=25>Status Studi : ",$d1[status_studi],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=500 height=25>Jenis Kelamin : ",$d1[sex_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=500 height=25>Tempat , Tgl Lahir : ",$d1[t4_lhr_siswa]," , ",$d1[tgl_lhr_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=500 height=25>Alamat : ",$d1[alamat_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=500 height=25>Telepon : ",$d1[telp_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=500 height=25>Agama
136
: ",$d1[agama_siswa],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=500 height=25>Asal Sekolah : ",$d1[asal_sekolah],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=500 height=25>Golongan Darah : ",$d1[gol_drh],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=500 height=25>Nama Wali : ",$d1[nama_wali],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=500 height=25>Alamat Wali : ",$d1[alamat_wali],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td width=500 height=25>Telp Wali : ",$d1[telp_wali],"</td>"; echo"</tr>"; ?> </table>
Jika user menekan link Lihat Nilai Semester I pada halaman daftar tugas mengajar
user, maka user akan diarahkan ke file lht nilai siswa didik.php, yang akan
menampilkan daftar nilai semester I untuk tugas mengajar yang dipilih, seperti
yang ditunjukkan pada Gambar 4.2.22.
137
Gambar 4.2. 22 Halaman Daftar Nilai Siswa
File lht nilai siswa didik.php
<? include"sambung2.php"; $data=mysql_query("select mp_kelas_aktif_ta.ID_mp_kelas_aktif_ta,mp_kelas_aktif_ta.ID_kls_aktif_ta,kelas.nama_kls,mp.nama_mp from mp_kelas_aktif_ta,kelas_aktif_ta,kelas,mp where mp_kelas_aktif_ta.ID_mp_kelas_aktif_ta='$ID_mp_kelas_aktif_ta' AND (mp_kelas_aktif_ta.ID_kls_aktif_ta=kelas_aktif_ta.ID_kls_aktif_ta AND kelas_aktif_ta.kode_kls=kelas.kode_kls AND mp_kelas_aktif_ta.kode_mp=mp.kode_mp)"); $data1=mysql_fetch_array($data); ?> <caption style="filter:shadow(color=blue)"><b>Daftar Nilai Mata Pelajaran <?=$data1[nama_mp]?> <br>Kelas <?=$data1[nama_kls]?> <br>Tahun Ajaran <?=$dat[nama_ta]?> Semester <?=$semester?></br></b></caption> <tr><td height=10></td> </tr> <tr> <td width=50 height=25 style="padding-left:5" align=center background=image/bg.bmp><small>No</small></td> <td width=100 height=25 style="padding-left:5" align=center background=image/bg.bmp><small>NIS</small></td> <td width=200 height=25 style="padding-left:5" align=center background=image/bg.bmp><small>Nama</small></td>
138
<td width=70 height=25 style="padding-left:5" align=center background=image/bg.bmp><small>Nilai</small></td> </tr> <? include"sambung2.php"; $total=1; //untuk menampilkan daftar nilai siswa $data2=mysql_query("select nilai.ID_nilai,nilai.ID_mp_kelas_aktif_ta,nilai.semester,nilai.nilai,nilai.nis,siswa.nama_siswa from nilai,siswa where nilai.ID_mp_kelas_aktif_ta='$data1[ID_mp_kelas_aktif_ta]' AND nilai.semester='$semester' AND nilai.nis=siswa.nis"); while($data3=mysql_fetch_array($data2)) { echo"<tr>"; echo"<td width=50 height=25 align=center bgcolor=black style=\"padding-left:5\"><small>",$total,"</small></td>"; echo"<td width=100 height=25 align=center bgcolor=black style=\"padding-left:5\"><small>",$data3[nis],"</small></td>"; echo"<td width=200 height=25 align=left bgcolor=black style=\"padding-left:5\"><small>",$data3[nama_siswa],"</small></td>"; echo"<td width=70 height=25 align=center bgcolor=black style=\"padding-left:5\"><small>",$data3[nilai],"</small></td>"; echo"</tr>"; $total++; } $data2=mysql_query("select nilai.ID_nilai,nilai.ID_mp_kelas_aktif_ta,nilai.semester,nilai.nilai,nilai.nis,nilai.nip,tata_usaha.nama_tu from nilai,tata_usaha where nilai.ID_mp_kelas_aktif_ta='$data1[ID_mp_kelas_aktif_ta]' AND nilai.semester='$semester' AND nilai.nip=tata_usaha.nip"); $data3=mysql_fetch_array($data2); echo"<tr>"; echo"<td colspan=4>Diupdate Oleh : ",$data3[nama_tu],"</td>"; echo"</tr>"; echo"<tr>"; echo"<td></td>"; echo"</tr>"; ?> </table>
Jika user mengklik link Logout, maka user akan diarahkan ke halaman
logout.php, yang akan menghapus data sesi yang terdaftar sewaktu user
melakukan login. Jika proses logout sukses, maka akan ditampilkan pesan
konfirmasi logout, seperti yang ditunjukkan pada Gambar 4.2.23.
139
Gambar 4.2. 23 Halaman Konfirmasi Logout
File logout.php
<? session_start(); session_unset(); session_destroy(); ?> <html> <head> <link href="tes_css.css" rel="stylesheet" type="text/css"> </head> <body bgcolor=black color=white> <? echo"<h3 align=center color=white>Anda telah berhasil logout"; echo"<br></br>"; echo"<a href=\"index.php\">Anda Telah berhasil Logout<br>Ke Halaman Utama</br></a></h3></td>"; echo"</tr>"; exit(); ?> </body> </html>
140
BAB V
ANALISA HASIL
Setelah melakukan pembahasan terhadap implementasi sistem, maka pada
bab ini akan dibahas mengenai hasil implementasi sistem.
5.1. Analisa Manfaat
1. Bagi Tata Usaha
Membantu dalam proses pengolahan dan pengupdate-an data, sehingga proses
layanan akademik menjadi lebih cepat dan mudah.
2. Bagi Siswa/Wali Siswa
Membantu dalam pengaksesan informasi akademik siswa sehingga menjadi
lebih cepat dan mudah.
3. Bagi Guru
Membantu dalam pengaksesan informasi akademik siswa sehingga menjadi
lebih cepat dan mudah.
5.2. Kelebihan dan Kekurangan Program
Kelebihan Program :
- Membantu proses pengolahan data akademik siswa, sehingga menjadi
lebih cepat dan mudah dibanding sistem manual.
- Membantu proses pengaksesan informasi akademik siswa, sehingga
menjadi lebih cepat dan mudah dibanding sistem manual.
141
Kekurangan program :
- Belum diterapkannya fungsi paging untuk halaman-halaman tertentu,
sehingga halaman web akan menjadi sangat panjang.
- Belum ada error handling yang detil untuk beberapa kasus error.
142
BAB VI
PENUTUP
Pada bab ini akan dibahas mengenai Kesimpulan dan Saran.
Kesimpulan
Setelah melakukan pengujian di lab komputer, dapat disimpulkan bahwa sistem
dapat membantu proses pengolahan data akademik dan proses pengaksesan
informasi akademik siswa, sehingga menjadi lebih cepat dan mudah dibanding
sistem manual.
Saran
Untuk pengembangan sistem lebih lanjut, diberikan beberapa saran :
- Penerapan fungsi paging sehingga halaman tidak menjadi terlalu panjang.
- Penerapan error handling yang lebih baik, sehingga user mengerti betul
error yang terjadi.
- Penambahan fungsi sehingga sistem menjadi lebih lengkap.
- Pengembangan menggunakan teknologi yang lebih fleksibel, misalnya
teknologi mobile.
143
144
DAFTAR PUSTAKA
Jogiyanto. Analisis dan Disain Sistem Informasi : Pendekatan Terstruktur Teori
dan Praktek Aplikasi Bisnis. Yogyakarta : Penerbit Andi : 2004.
Bunafit Nugroho. Database Relasional dengan MySQL. Yogyakarta : Penerbit
Andi : 2004.
Raghu Ramakrishnan & Johannes Gehrke. Sistem Manajemen Database Edisi 3.
Yogyakarta : Penerbit Andi, 2003.
M. Syafii. Membangun Aplikasi Berbasis PHP dan MySQL Yogyakarta : Penerbit
Andi, 2004.
Sutarman, S.Kom. Membangun Aplikasi Web dengan PHP dan MySQL.
Yogyakarta : Graha Ilmu, 2003.
Divisi Penelitian dan Pengembangan MADCOMS. Aplikasi Manajemen
Database Pendidikan Berbasis Web dengan PHP dan MySQL. Madiun : Penerbit
Andi, 2005.