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
163
Embed
SISTEM INFORMASI AKADEMIK SISWA ONLINErepository.usd.ac.id/32026/2/005314083_Full.pdf · SISTEM INFORMASI AKADEMIK SISWA ONLINE (Studi Kasus di SMP Negeri 1 Yogyakarta) SKRIPSI Untuk
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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,
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>.
[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]
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>.
$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.
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>"; }
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
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>
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\"
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
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>
?> </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(); } ?>
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>";
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>";