Upload
dokien
View
218
Download
0
Embed Size (px)
Citation preview
i
PEMANFAATAN MEDIA WEB SITE SEBAGAI MEDIA
KOMUNIKASI PENDIDIKAN ANTARA SEKOLAH DAN
ORANG TUA SISWA DENGAN STUDI KASUS SMAK 3
BPK PENABUR CIBEUREUM
LAPORAN TUGAS AKHIR
Diajukan Untuk Memenuhi Persyaratan Akademik Dalam Menyelesaikan
Pendidikan Pada Program Studi D3 Teknologi Informasi Universitas Kristen
Maranatha Bandung
Disusun oleh:
Lily
0271136
Program Studi D3 Teknologi Informasi
Fakultas Teknologi Informasi
Universitas Kristen Maranatha
Bandung
2006
ii
LEMBAR PENGESAHAN TUGAS AKHIR
PEMANFAATAN MEDIA WEB SITE SEBAGAI MEDIA KOMUNIKASI PENDIDIKAN ANTARA SEKOLAH DAN ORANG TUA SISWA DENGAN
STUDI KASUS SMUK 3 BPK PENABUR CIBEUREUM
Oleh :
Lily - 0271136
Diterima Oleh :
Program D-III Teknologi Informasi Fakultas Teknologi Informasi
Universitas Kristen Maranatha
Bandung, 7 Februari 2006 Pembimbing :
Tim Penguji :
Ketua Program D-III Teknologi Informasi :
Dekan Fakultas Teknologi Informasi :
iii
PERNYATAAN ORISINALITAS LAPORAN
Yang bertandatangan di bawah ini :
Nama : Lily
NRP : 0271136
Menyatakan bahwa Tugas Akhir ini merupakan hasil karya saya sendiri dan
bukan duplikasi dari orang lain.
Apabila di kemudian hari diketahui bahwa pernyataan ini tidak benar adanya
maka saya bersedia menerima seluruh sanksi yang diberikan.
Demikian pernyataan saya.
Bandung, 7 Februari 2006
( Lily )
iv
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS
Sebagai mahasiswi Universitas Kristen Maranatha Bandung, yang bertanda tangan di
bawah ini, saya :
Nama : Lily
NRP : 0271136
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada
Universitas Kristen Maranatha Hak Bebas Royalti Non-Eksklusif (Non-exclusive).
Dengan Hak Bebas Royalti Non-ekslusif ini Universitas Kristen Marantha
Bandung berhak menyimpan, mengalih media / format-kan, mengelola dalam bentuk
pangkalan data (database), mendistribusikannya dan menampilkan /
mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa
perlu meminta ijin dari saya selama tetap mencantumkan nama saya sebagai penulis /
pencipta.
Saya bersedia untuk menanggung secara pribadi, tanpa melibatkan pihak
Universtas Kristen Maranatha Bandung, segala bentuk tuntutan hukum yang timbul
atas pelanggaran Hak Cipta dalam karya ilmiah saya ini.
Demikian pernyataan ini yang saya buat dengan sebenarnya.
Dibuat di : Bandung
Pada tanggal : 7 Februari 2006
( L i l y )
v
Abstrak
Cara berkomunikasi tradisional face to face antara orang tua dan guru
membuat komunikasi kurang efisien dan menghabiskan banyak waktu. Sistem ini
dibuat untuk memudahkan orang tua dalam melakukan komunikasi dengan guru
mengenai pembelajaran anak, yang dibuat dengan menggunakan program PHP,
MySQL dan HTML.
Dengan menggunakan sistem ini akan mempermudah orang tua yang berada
diluar kota atau orang tua yang sibuk sehingga tidak sempat datang ke sekolah untuk
berkomunikasi dengan guru.
vi
Abstract
The traditional way to communicate (face-to-face) between parents and
teachers reduce the effectiveness of communication and require lots time. This is the
main reason that this new system try to conquer. This system will help parents and
teachers to exchange information about student’s progress in school. This system was
made using PHP, MySQL, and HTML.
Parents whom are out of town or busy parents whom seldom have time to
come to their children’s school to communicate with teachers will take great benefits
of this system.
vii
Kata Pengantar
Pertama – tama penulis panjatkan puji syukur kepada Tuhan Yang Maha Esa
atas segala berkat, rahmat, anugerah dan karunianya yang tak terhingga, sehingga
penulis dapat menyelesaikan penyusunan tugas akhir ini.
Tugas Akhir ini diajukan untuk memenuhi persyaratan akademik dalam
menyelesaikan pendidikan kasus pada Program Studi D-III Teknologi Informasi,
Fakultas Teknologi Informasi, Universitas Kristen Maranatha.
Penulis menyadari bahwa penulisan Tugas Akhir ini masih jauh dari sempurna
dan tak akan berarti tanpa bantuan dan dorongan yang penulis terima. Oleh karena
itu, pada kesempatan ini dengan segala kerendahan hati, penulis mengucapkan terima
kasih sebesar-besarnya kepada :
1. Yth. Ibu Yenni M. Djajalaksana, MBA selaku Dekan Fakultas Teknologi
Informasi, Universitas Kristen Maranatha.
2. Yth. Bapak Hapnes Toba, MSc selaku Koordinator Tugas Akhir dan Ketua
Program Studi D-III Teknologi Informasi, Fakultas Teknologi Informasi,
Universitas Kristen Marantha.
3. Yth. Bapak Djoni Setiawan, ST selaku pembimbing utama atas waktu, tenaga dan
pikiran yang selalu diberikan disela-sela kesibukannya serta dorongannya untuk
membimbing penulisan dalam penyusunan tugas akhir ini.
4. Yth. Bapak Radiant Victor Imbar, ST, MT selaku dosen wali atas bimbingannya
viii
selama penulis menyelesaikan masa studi di Universitas Kristen Maranatha
Bandung.
5. Yth. Para dosen, staf pengajar, staf tenaga administrator dan perpustakaan, yang
telah banyak membantu penulis selama masa perkuliahan dan penyusunan tugas
akhir.
6. Keluarga : Papa, Mama, Cici dan Dede atas doa, semangat dan dukungan yang
diberikan selama perkuliahan dan penyusunan Tugas Akhir.
7. Suwardi, terima kasih atas dukungan dan bantuan yang diberikan selama
penyusunan Tugas Akhir (thanks for everything).
8. Ronald SP, Nova Noviana, Corollus, Roy, Jemi, Bony terima kasih atas dukungan
dan bantuan yang diberikan selama kuliah dan penyusunan tugas akhir.
9. Buat teman-teman angkatan 2002 : Tejo, Chris, Irwan, Erick, Jeni, Kristin, Jefry
dan yang tidak bisa disebutkan namanya satu persatu, terima kasih atas
kebersamaan dan segala bantuan selama kuliah dan penyusunan Tugas Akhir.
ix
DAFTAR ISI
Lembar Pengesahan Tugas Akhir…………………………………………………….. i
Pernyataan Orisinalitas Laporan………………………………………………………ii
Lembar Pernyataan Persetujuan Publikasi Karya Ilmiah untuk Kepentingan
Akademis……………………………………………………………………………..iii
Abstrak……………………………………………………………………………….iv
Kata Pengantar………………………………………………………………………..vi
Daftar Isi…………………………………………………………………………….viii
Daftar Gambar……………………………………………………………...………..xii
Daftar Tabel…………………………………………………………………………xiv
Daftar Program………………………………………………………………………xv
Bab I Pendahuluan
I.1 Latar Belakang Masalah…………………………………………….…….I-1
I.2 Perumusan Masalah…………………………………………….…………I-2
I.3 Tujuan Penelitian………………………………………………….………I-3
I.4 Pembatasan Masalah…………………………………………………...…I-3
Bab II Landasan Teori
II.1 HTML (Hyper Text Markup Language)……………………………….II-1
II.2 PHP…………………………………………………………………….II-2
II.2.1 Pengenalan PHP………………………………………………...II-2
x
II.2.2 Cara Kerja PHP………………………………………………....II-3
II.3 MySQL……………………………………………………………...….II-5
II.4 Psikologi Pendidikan…………………………………………………..II-6
Bab III Analisa dan Perancangan Sistem
III.1 Analisa Sistem………………………………………………………..III-1
III.1.1 Analisa Kebutuhan Sistem…………………………………...III-1
III.1.2 Analisa Fitur………………………………………………….III-2
III.1.3 Analisa Sistem Informasi…………………………………….III-3
III.1.3.1 DFD (Data Flow Diagram)………………….………III-3
III.1.3.2 Kamus Data……………………………………..….III-13
III.1.3.3 ER – Diagram……………………………………...III-14
III.1.3.4 Skema Relasi……………………………………….III-15
III.2 Perancangan Sistem…………………………………………………III-16
III.2.1 Sturktur Web Site…………………………………………...III-16
III.2.2 Desain Layout………………………………………………III-20
III.2.2.1 Desain Layout Pada User………………………….III-20
III.2.2.2 Desain Layout Pada Administrator………………...III-24
Bab IV Hasil Tercapai
IV.1 Realisasi Rancangan Layout………………………………………....IV-1
IV.1.1 Realisasi Desain Layout User………………………………..IV-1
IV.1.2 Realisasi Desain Layout Administrator……………………...IV-6
xi
Bab V Evaluasi Sistem
V.1 Evaluasi Perumusan Masalah……………………….…………………V-1
V.2 Evaluasi Tujuan…………………………………………..……………V-2
V.3 Evaluasi Dengan Metoda Questionaire…………...……………………V-3
Bab VI Kesimpulan dan Saran
VI.1 Kesimpulan…………………………………………………………..VI-1
VI.2 Saran……………………………………………………………...…..VI-2
Daftar Referensi……………………………………………………………………
Lampiran Kode Program………………………………………………………...…A-1
xii
Daftar Gambar
Gambar 2.1 Proses HTML……………………………………………………….…II-4
Gambar 2.2 Proses PHP…………………………………………………………….II-4
Gambar 3.1 Diagram Konteks…………………………...………………………...III-4
Gambar 3.2 DFD Level 1………………………………………………………….III-5
Gambar 3.3 DFD Level 2 (Proses 2)………………………………………………III-6
Gambar 3.4 DFD Level 2 (Proses 3)………………………………………………III-7
Gambar 3.5 DFD Level 3 (Proses 3.1)…………………………………………….III-8
Gambar 3.6 DFD Level 3 (Proses 3.2)…………………………………………….III-9
Gambar 3.7 DFD Level 3 (Proses 3.3)…………………………………………...III-10
Gambar 3.8 DFD Level 3 (Proses 3.4)…………………………………………...III-11
Gambar 3.9 DFD Level 3 (Proses 3.5)…………………………………………...III-12
Gambar 3.10 ER – Diagram……………………………………………………...III-14
Gambar 3.11 Skema Relasi Basis Data…………………………………………..III-15
Gambar 3.12 Site Map User……………………………………………………...III-17
Gambar 3.13 Site Map Administrasi……………………………………………..III-19
Gambar 3.14 Tampilan Halaman Login………………………………………….III-20
Gambar 3.15 Tampilan Halaman Utama…………………………………………III-21
Gambar 3.16 Tampilan Halaman Nilai…………………………………………..III-21
Gambar 3.17 Tampilan Search Go Nilai…………………………………………III-22
Gambar 3.18 Tampilan Halaman Catatan Perilaku Siswa……………………….III-22
Gambar 3.19 Tampilan Halaman Komunikasi…………………………………...III-23
Gambar 3.20 Tampilan Halaman Kirim Komunikasi……………………………III-23
Gambar 3.21 Tampilan Halaman Ganti Password……………………………….III-24
Gambar 3.22 Tampilan Halaman Login Admin………………………………….III-24
Gambar 3.23 Tampilan Halaman Utama Admin…………………………………III-25
xiii
Gambar 3.24 Tampilan Halaman Insert Data Siswa……………………………..III-25
Gambar 3.25 Tampilan Halaman Insert Komunikasi…………………………….III-26
Gambar 3.26 Tampilan Halaman Insert Data Nilai………………………………III-27
Gambar 3.27 Tampilan Halaman Insert Data Orang Tua………………………..III-27
Gambar 3.28 Tampilan Halaman Insert Data Perilaku…………………………..III-28
Gambar 3.29 Tampilan Halaman Edit Data Siswa…………………………….…III-29
Gambar 3.30 Tampilan Halaman Edit Data Nilai………………………………..III-30
Gambar 3.31 Tampilan Halaman Edit Data Orang Tua………………………….III-31
Gambar 3.32 Tampilan Halaman Delete Data Siswa…………………………….III-31
Gambar 3.33 Tampilan Halaman Delete Data Komunikasi……………………...III-32
Gambar 3.34 Tampilan Halaman Delete Data Nilai…………………….……….III-32
Gambar 3.35 Tampilan Halaman Delete Data Orang Tua……………………….III-33
Gambar 3.36 Tampilan Halaman Delete Data Perilaku………………………….III-33
Gambar 3.37 Tampilan Halaman Reply Komunikasi……………………………III-34
Gambar 4.1 Halaman Login User………………………………………..………..IV-1
Gambar 4.2 Halaman Utama Situs………………………………….…….……….IV-2
Gambar 4.3 Halaman Nilai………………………………………………………..IV-2
Gambar 4.4 Halaman Cari Data……………………………………….…………..IV-3
Gambar 4.5 Halaman Perilaku……………………………………….……………IV-3
Gambar 4.6 Halaman Komunikasi…………………………………….…….…….IV-4
Gambar 4.7 Halaman Kirim Komunikasi………………………………...……….IV-4
Gambar 4.8 Halaman Ganti Password…………………………………...………..IV-5
Gambar 4.9 Halaman Login Admin……………………………….…..….……….IV-6
Gambar 4.10 Halaman Utama Admin………………………………....…….…….IV-8
Gambar 4.11 Halaman Daftar Nama Siswa……………….………..……..………IV-8
Gambar 4.12 Halaman Insert Siswa…………………………………………….…IV-9
Gambar 4.13 Halaman Edit Siswa…………………………………………...…..IV-10
Gambar 4.14 Halaman Delete Siswa………………………………………….…IV-11
Gambar 4.15 Halaman Search Go Siswa……………………………..………….IV-12
xiv
Gambar 4.16 Halaman Komunikasi……………………………………………...IV-13
Gambar 4.17 Halaman Insert Komunikasi………………..………………...……IV-13
Gambar 4.18 Halaman Delete Komunikasi……………………….……………..IV-14
Gambar 4.19 Halaman Reply Komunikasi………………………………………IV-15
Gambar 4.20 Halaman Nilai……………………………………………………..IV-16
Gambar 4.21 Halaman Insert Nilai……………………………………..………..IV-16
Gambar 4.22 Halaman Edit Nilai……………………………...…………………IV-17
Gambar 4.23 Halaman Delete Nilai……………………………………..……….IV-18
Gambar 4.24 Halaman Search Go Nilai………………………………….………IV-19
Gambar 4.25 Halaman Orang Tua……………………………………………….IV-21
Gambar 4.26 Halaman Insert Data Orang Tua…………………..……………….IV-21
Gambar 4.27 Halaman Edit Data Orang Tua…………………………………….IV-22
Gambar 4.28 Halaman Delete Data Orang Tua ................................................... IV-23
Gambar 4.29 Halaman Perilaku ........................................................................... IV-24
Gambar 4.30 Halaman Insert Perilaku……………………………………...……IV-25
Gambar 4.31 Halaman Delete Perilaku…………………………………………..IV-26
Daftar Tabel
Tabel 3.1 Kamus Data……………………………………..………………….….III-13
xv
Daftar Program
Program 4.1 Proses Login……………………………………...………………….IV-7
Program 4.2 Insert Data Siswa…………………………………………………….IV-9
Program 4.3 Edit Data Siswa………………………………………………...…..IV-10
Program 4.4 Delete Data Siswa……………………………………………….…IV-11
Program 4.5 Search Go Pada Halaman Siswa………………………………...…IV-12
Program 4.6 Insert Data Komunikasi…………………………………………….IV-14
Program 4.7 Delete Data Komunikasi………………………………….………..IV-15
Program 4.8 Insert Nilai………………………………………………………….IV-17
Program 4.9 Edit Nilai………………………………….………………………..IV-18
Program 4.10 Delete Nilai……………………………..……………….…..…….IV-19
Program 4.11 Search Go Pada Halaman Nilai………………………………..….IV-20
Program 4.12 Insert Data Orang Tua…………………………………………….IV-22
Program 4.13 Edit Data Orang Tua…………………………………..…………..IV-23
Program 4.14 Delete Data Orang Tua…………………………...……………….IV-24
Program 4.15 Insert Data Perilaku………………………………...……….…….IV-25
Program 4.16 Delete Data Perilaku…………………………………..……….….IV-26
I-1
BAB I
Pendahuluan
Dalam kegiatan pembelajaran di sekolah. Informasi dan komunikasi dalam
suatu sistem pendidikan merupakan dua hal yang utama dalam kelangsungan sistem
tersebut. Ketika tatap muka menjadi kendala, web site menjadi alternatif pilihan
untuk menjaga komunikasi dan informasi agar tetap berjalan.
Pada umumnya, banyak aktivitas anak-anak di sekolah yang tidak diketahui
oleh orang tuanya. Terkadang orang tua yang terlalu sibuk, sehingga tidak ada waktu
untuk memberikan perhatian pada anak-anaknya di bidang pembelajaran di sekolah.
Kurangnya perhatian tersebut dapat menyebabkan prestasi belajar anak menjadi
menurun. Untuk itu web site ini dibuat. Web site ini ditujukan untuk membantu para
orang tua untuk mengetahui bagaimana keadaan dan prestasi anaknya
I.1 Latar Belakang Masalah Sebagai lembaga pendidikan, sekolah bertujuan untuk menghasilkan tunas-
tunas bangsa yang memiliki potensi dan daya kreasi yang dapat dikembangkan
sebagai bekal menuju jenjang pendidikan yang lebih tinggi.
Dengan terus meningkatnya sistem pembelajaran di sekolah, anak-anak
membutuhkan bimbingan orang tua dan pendekatan dari guru supaya anak-anak tidak
merasa jenuh dalam belajar. Selain itu juga antara orang tua dan sekolah harus selalu
terjadi komunikasi agar dapat memantau kondisi perkembangan anak-anak dalam
mengikuti pembelajaran di sekolah. Tetapi kendala yang muncul adalah orang tua dan
I-2
guru jarang sekali dapat melakukan komunikasi, karena orang tua kerap kali terlalu
sibuk sehingga tidak punya cukup waktu untuk berkonsultasi dengan sekolah. Maka
dari itu dengan adanya web site ini diharapkan antara orang tua dan guru dapat saling
berkonsultasi untuk memecahkan masalah anak-anak mereka di sekolah sehingga
prestasi belajar anak-anak mereka meningkat.
I.2 Perumusan Masalah
Dalam hubungan konsultasi antara orang tua dan guru banyak ditemukan
kendala, seperti :
• Ketidakcocokan waktu pertemuan antara orang tua dan guru karena orang tua
sibuk bekerja.
• Anak sering membohongi orang tua tentang nilai ulangan.
• Bila anak ditegur disekolah sering kali tidak menyampaikan kepada orang
tuanya.
• Anak yang mendapatkan surat pemanggilan orang tua dari sekolah tidak
disampaikan oleh anak tersebut.
Dengan dibuatnya web ini diharapkan :
• Orang tua dapat melihat perkembangan nilai anaknya melalui Internet tanpa
harus datang kesekolah
• Orang tua dapat mengetahui sikap dan perilaku anak di sekolah.
• Orang tua dapat berkonsultasi mengunakan koneksi Internet dengan pihak
sekolah.
I-3
• Teguran dari guru kepada anak dapat langsung sampai ke orang tuanya.
1.3 Tujuan Penelitian
Dengan web site yang dibuat maka orang tua akan mendapat beberapa
informasi, diantaranya:
1. Sikap dan perilaku anak di sekolah.
2. Prestasi belajar anak di sekolah.
3. Konsultasi perkembangan anak.
Tujuan utama dari web site ini kita akan dapat memperoleh informasi
diantaranya:
1. Orang tua dapat mengetahui nilai anaknya di sekolah.
2. Terjalin komunikasi yang lancar antara orang tua dan guru.
3. Komunikasi orang tua dan sekolah melalui lembar komunikasi yang ada pada
web site.
1.4 Pembatasan Masalah
Dari pembuatan web site di atas ada beberapa masalah yang dibatasi seperti :
1. Komunikasi antara orang tua dan sekolah akan dilakukan melalui lembar
komunikasi.
2. Nilai yang ditampilkan sudah merupakan nilai jadi.
3. Orang tua diasumsikan dapat menggunakan komputer.
I-4
Tools serta bahasa pemrograman yang akan digunakan dalam pembangunan
sistem antara lain:
• Bahasa pemrograman yang digunakan dalam membuat situs ini adalah HTML dan
PHP sebagai koneksi dinamis dengan database.
• Program pengolah situs (web editor) yang akan digunakan untuk pengolahan
yaitu Macromedia Dreamweaver MX.
• Program pengolah gambar (image editor) yang akan digunakan Adobe Photoshop
7.0.
• Program basis data yang digunakan adalah My SQL
• Pengujian tampilan digunakan Internet Explorer 6.0.
Penulisan laporan Tugas Akhir ini dilakukan penyusunan sebagai berikut :
1. Bab I Pendahuluan
Latar belakang, perumusan masalah, tujuan, pembatasan masalah dan
sistematika penulisan laporan Tugas Akhir akan dibahas di dalam bab ini.
2. Bab II Landasan Teori
Pembahasan materi-materi yang digunakan dalam mendukung serta
membantu penyusun laporan dalam membuat laporan Tugas Akhir.
3. Bab III Analisa dan Perancangan Sistem
Analisa kebutuhan serta spesifikasi sistem yang dibutuhkan oleh situs yang
akan dibangun. Selain itu juga dipaparkan proses pembuatan desain sistem
hingga mencapai format dan perencanaan yang diinginkan.
I-5
4. Bab IV Hasil Tercapai
Tampilan serta implementasi akhir dari sistem. Fungsionalitas utama dari
sistem juga akan dipaparkan sesuai dengan tujuan pembuatan.
5. Bab V Evaluasi Sistem
Evaluasi tujuan awal dari penelitian dengan hasil akhir yang dicapai.
6. Bab VI Penutup
Berisi kesimpulan serta saran membangun yang memungkinkan
pengembangan lebih lanjut dari situs yang dibuat.
II-1
BAB II
LANDASAN TEORI
II. 1 HTML (Hyper Text Markup Language)
HTML ( Hyper Text Markup Language ) merupakan bahasa pemrograman
standar dalam pemrograman web yang dipakai di seluruh dunia. Hypertext berarti text
yang dapat menghubungkan satu bagian dengan suatu bagian lainnya. Markup berarti
catatan tambahan yang berada disamping teks atau dapat disebut pula TAG. Language
berarti bahasa yang telah distandarisasi aturan - aturannya jadi di seluruh dunia sama
[1].
Dalam pemrograman HTML kita dihadapkan dalam 3 bagian dasar, yaitu tag
pembuka, isi dan tag penutup. Seluruh isi yang akan ditampilkan dalam web site
(teks, gambar, suara, movie) harus didahului dengan tag pembuka dan diakhiri
dengan tag penutup. TAG, merupakan spesial teks yang ditandai dengan karakter “<”
dan “>” dan tag penutup selalu ditandai dengan “/” setelah tanda “<”, contohnya
<body> dan </body>. Jenis istilah pada tag yang dapat digunakan sangat bervariasi
mulai dari tag untuk format tulisan , misalnya : <h1>, <p>, <b>, sampai kepada
format elemen misalnya : <table> , <format>, <form>. Selain itu implementasi file
gambar pada dokumen HTML dapat dilakukan dengan tag <img> yang
dimodifikasikan dengan berbagai gaya pemformatan lain. TAG tidak case sensitive
sehingga <Head> isi </hEAD> adalah sama.
II-2
Selain tidak case sensitive ada juga spesial karakter dalam HTML. Spesial
karakter dalam HTML diawali dengan menggunkan karakter &. Sebagai contoh
karakter “<” diwaliki oleh < dan “>” diwaliki oleh > dan karakter “&” diwaliki
oleh &. Bila nilai dari suatu atribut ingin mengandung tanda kutip dua kita dapat
menggunakan “"”. Spesial karakter juga digunakan untuk beberapa karakter
yang tidak mudah diwakili oleh keyboard. Sebagai contoh simbol copyright “©”
diwakili dengan ©. Sebagai alternative lain dari spesial karakter , kita pun dapat
juga menggunakan karakter numeric sebagai references. Sebagai contoh kita pun
dapat menggunakan © untuk mewakili simbol copyright.
Didalam pemrograman HTML tidak hanya dicirikan dengan adanya tag saja,
tetapi terdapat juga LINK, yaitu perintah penghubung yang tersembunyi dalam teks
atau gambar yang berguna menghubungkan suatu halaman dengan halaman lainnya.
Perintah dasarnya adalah <a name=“…” Href=“URLnya”>Label</a>.
II.2 PHP
II.2.1 Pengenalan PHP
PHP merupakan bahasa pemrograman berbentuk skrip yang ditempatkan
dalam dan diproses di server. Hasilnya adalah yang dikirimkan ke klien, tempat
pemakai menggunakan browser.
Secara khusus, PHP dirancang untuk membentuk web dinamis. Artinya, ia
dapat membentuk suatu tampilan berdasarkan permintaan terkini[2], misalnya, kita
II-3
bisa menampilkan isi database ke halaman web. Pada prinsipnya, PHP mempunyai
fungsi yang sama dengan skrip-skrip seperti ASP (Actives Server Page), Cold Fusion,
ataupun Perl.
Kelahiran PHP bermula saat Rasmus Lerdorf membuat sejumlah skrip Perl
yang dapat mengamati siapa saja yang melihat-lihat daftar riwayat hidupnya. Skrip-
skrip ini selanjutnya dikemas menjadi tool yang disebut “Personal Home Page”.
Paket inilah yang menjadi cikal bakal PHP. Pada tahun 1995, Rasmus menciptakan
PHP/FI versi 2. Pada versi inilah pemrogram dapat menempelkan kode terstruktur di
dalam tag HTML. Yang menarik, kode PHP juga bisa berkomunikasi dengan
database dan melakukan perhitungan-perhitungan yang kompleks sambil jalan.
II.2.2 Cara Kerja PHP
Model kerja HTML diawali dengan permintaan suatu halaman web oleh
browser. Berdasarkan URL (Uniform Resource Locator) atau dikenal dengan sebutan
alamat Internet, browser mendapatkan alamat dari web server, mengidentifikasikan
halaman yang dikehendaki, dan menyampaikan segala informasi yang dibutuhkan
oleh web server.
Selanjutnya, web server akan mencarikan berkas yang diminta dan
memberikan isinya ke browser. Browser yang mendapatkan isinya segera melakukan
proses penerjemahan kode HTML dan menampilkan ke layar pemakai.
II-4
Gambar 2. 1 Proses HTML
Bagaimana halnya kalau yang diminta adalah sebuah halaman PHP. Prinsipnya
serupa dengan kode HTML. Hanya saja, ketika berkas PHP yang diminta oleh web
server didapatkan, isinya segera dikirimkan ke mesin PHP dan mesin inilah yang
memproses dan memberikan hasilnya (berupa kode HTML) ke web server.
Selanjutnya, web server menyampaikan ke klien.
Skrip PHP
Kode HTML
Mesin PHP
Web Server
Browser Client
Pemintaan HTTP (sesuatu.php)
Gambar 2. 2 Proses PHP
Tanggapan HTTP
II-5
Kemampuan (featur) PHP yang paling diandalkan dan signifikan adalah
dukungan kepada banyak database. Membuat halaman web yang menggunakan data
dari database dengan sangat mudah dapat dilakukan. Berikut adalah daftar database
yang didukung oleh PHP : [3] Adabas D, dBase, Empress, FilePro, FrontBase,
Hyperware, IBM DB2, Informix, Ingres, Interbase, MSQL, Direct M SQL, MySQL,
ODBC, Oracle, PostgresSQL, Solid, SQLite, Sybase, Velocis, dan Unix DBM.
II.3 MySQL
MySQL adalah salah satu jenis database server yang sangat terkenal.
Kepopulerannya disebabkan MySQL menggunakan SQL sebagai bahasa dasar untuk
mengakses databasenya. Selain itu, ia bersifat free (tidak perlu membayar untuk
menggunakannya) pada pelbagai platform. Perangkat lunak MySQL sendiri bisa di –
download dari http://www.mysql.org atau http://www.mysql.com.
MySQL termasuk jenis RDBMS (Relational Database Management System).
Relational Database Management System ( RDBMS ) merupakan sekumpulan data
yang disimpan sedemikian rupa sehingga mudah diambil informasinya bagi
pengguna, dan data tersebut saling berhubungan. RDBMS merupakan suatu paket
perangkat lunak yang kompleks digunakan untuk memanipulasi database.
Itulah sebabnya istilah seperti tabel, baris, dan kolom digunakan pada
MySQL. Pada MySQL, sebuah database mengandung satu atau sejumlah tabel. Tabel
terdiri atas sejumlah baris dan setiap baris mengandung satu atau beberapa kolom.
II-6
Dalam bahasa SQL pada umumnya informasi tersimpan dalam tabel-tabel
yang secara logik merupakan struktur dua dimensi terdiri dari baris (row atau record)
dan kolom(column atau field). Sedangkan dalam sebuah database dapat terdiri dari
beberapa table.
Kelebihan memakai MySQL antara lain adalah menggunakan bahasa query
standar yang dimiliki SQL (Standard Query Language). SQL adalah suatu bahasa
permintaan yang terstruktur yang telah distandarkan untuk semua program
pengaksesan database seperti Oracle, Progres, SQ1, SQL, server, dan lain-lain.
Karena digunakan banyak orang pada saat developer mengalami kesulitan mereka
bisa mendapatkan solusi dari forum-forum yang tersedia. Konektivitas dan keamanan.
MySOL fully networked dan database dapat diakses dari manapun melalui Internet,
sehingga user dapat berbagi datamu dengan seseorang, di manapun. Walaupun dapat
diakses dari manapun melalui internet, MySQL mempunyai akses kontrol sehingga
siapa yang seharusnya tidak berhak mengakses data orang lain tidak akan bisa
melakukannya.
II.4 Psikologi Pendidikan
Psikologi pendidikan adalah studi bagaimana pembelajaran terjadi dan
bagaimana pengajaran dapat membantu pembelajaran terjadi. Psikologi pendidikan
meliputi pengetahuan tentang kesiapan atau pengembangan pelajar, bagaimana
gagasan atau perilaku spesifik benar-benar dipelajari, dan bagaimana pelajar bisa
(atau tidak bisa) termotivasi yang untuk belajar. Dan meliputi bagaimana para guru
II-7
dapat menerapkan semua perhatian ini untuk mengajar lebih secara efektif dan untuk
mengevaluasi pelajaran secara wajar. Untuk berhubungan dengan semua topik ini ,
psikologi bidang pendidikan menggunakan berbagai teori psikologis dan pendekatan,
yang mempunyai persamaan terkait kepada pengajaran atau pembelajaran atau kedua-
duanya.
Psikologi pendidikan berfokus pada empat topik yang penting untuk pengajaran yang
efektif, yaitu : pengembangan, pelajaran dan instruksi, motivasi, evaluasi.
Yang akan penulis bahas adalah pada point motivasi. Dalam soal belajar,
motivasi itu sangat penting. Motivasi adalah syarat mutlak untuk belajar. Di sekolah
seringkali terdapat anak yang malas, tidak menyenangkan, suka membolos, dan
sebagainya. Dalam hal demikian berarti bahwa guru dan orang tua tidak berhasil
memberikan motivasi yang tepat untuk mendorong agar ia berkerja dengan segenap
tenaga dan pikirannya,. Dalam hubungan ini, perlu diingat, bahwa nilai buruk pada
suatu mata pelajaran belum tertentu berarti bahwa anak itu bodoh terhadap mata
pelajaran itu. Seringkali terjadi seorang anak malas terhadap suatu mata pelajaran,
tetapi sangat giat dalam mata pelajaran yang lain.
Orang tua dan guru menjadi point utama dalam hal memberikan motivasi
kepada anak. Komunikasi antara orang tua murid dan guru menjadi sangat penting
dalam hal ini. Tetapi tidak semua orang tua punya waktu senggang untuk datang ke
sekolah dan berkomunikasi dengan guru untuk bertukar informasi mengenai anak
mereka.
II-8
Dengan adanya situs ini dapat memberikan kemudahan interaksi antara
sekolah, guru dan orang tua. Dan memungkinkan orang tua untuk terkoneksi dengan
situs Web ini dan mencari informasi tentang anak-anak mereka yang berada di
sekolahan. Orang tua bisa mengetahui dan melihat nilai harian, nilai ujian tengah
semester maupun ujian akhir semester serta berkomunikasi dengan guru yang
mengajar anak mereka jika mereka merasa ada persoalan dengan kemajuan
pendidikan anak mereka. Sehingga orang tua dan guru bisa memberikan motivasi
kepada anak yang bersangkutan.
III-1
BAB III
ANALISA DAN PERANCANGAN SISTEM
Analisa dan perancangan sistem terdiri dari dua bagian yaitu analisa sistem
dan perancangan sistem.
III.1 Analisa Sistem
Analisa sistem terdiri analisa kebutuhan sistem, analisa fitur dan analisa
sistem informasi.
III.1.1 Analisa Kebutuhan Sistem
Sistem yang dikembangkan diharapkan dapat mampu memenuhi kebutuhan
orang tua akan informasi dan perkembangan anak mereka di sekolah. Berikut adalah
beberapa hal yang menjadi titik berat dalam pembuatan sistem.
• User Friendly
Sistem yang tersedia dibuat sederhana tanpa mengurangi fungsinya supaya
memudahkan para user dalam melihat informasi.
• Interaktif
User memiliki wadah untuk berkomunikasi dan berkonsultasi kepada para
guru wali.
• Availability
Menjamin informasi selalu tersedia sehingga user dapat memperoleh
informasi yang ter – up to date.
• Security
III-2
Menjamin pengguna yang sah agar bisa mengakses informasi sumber
miliknya sendiri. Jadi tujuannya adalah untuk memastikan bahwa orang-orang
yang memang berhak tidak ditolak untuk mengakses informasi yang memang
menjadi haknya. Menjamin informasi yang diberikan adalah tanpa rekayasa
dan hanya bisa di akses oleh pihak yang bersangkutan.
III.1.2 Analisa Fitur
Beberapa fitur yang ingin ditampilkan dari sistem akan di bagi menjadi 2,
yaitu: fitur user (orang tua) dan administrator (guru).
1. User
Pada halaman khusus user akan tersedia informasi dan fitur, antara lain :
a. Tersedia informasi mengenai nilai anak (nilai Harian, Ujian Tengah
Semester dan Ujian Akhir Semester)
b. Tersedia informasi mengenai perilaku anak di kelas
c. Tersedia Lembar Komunikasi dimana orang tua bisa berkomunikasi
langsung ke guru wali yang bersangkutan.
d. Tersedia halaman untuk menganti password
2. Administrator
Pada halaman khusus administrator akan tersedia informasi dan fitur
sebagai bahan pengontrol atau peninjauan, antara lain :
a. Menambah, meng-edit, menghapus nilai anak.
b. Menjawab, menghapus lembar komunikasi.
III-3
c. Menambah, menghapus list sikap dan perilaku anak.
d. Menambah, meng-edit, menghapus data orang tua.
e. Menambah, meng-edit, menghapus data guru.
III.1.3 Analisa Sistem Informasi
Analisa sistem informasi terdiri dari Data Flow Diagram, ER-Diagram dan
skema relasi.
III.1.3.1 DFD (Data Flow Diagram)
Berikut analisa sistem dalam bentuk data flow diagram :
1. Diagram Konteks (DFD level 0)
Proses sistem komunikasi memiliki 2 terminator yaitu guru dan orangtua.
Orang tua dan guru adalah 2 terminator utama dalam sistem komunikasi ini.
Dimana setelah orang tua mengakses ke dalam situs orang tua dapat melihat
nilai anak mereka, catatan perilaku dan berkomunikasi dengan guru. Dan guru
selaku administrator bisa memasukkan, meng-edit, menghapus data-data
dalam sistem.
III-4
Berikut ini adalah gambaran dari diagram konteks:
Gambar 3. 1 Diagram Konteks
III-5
2. Data Flow Diagram Level 1 (DFD Level 1)
Sistem komunikasi terbagi menjadi 3 proses utama yaitu proses login,
proses orang tua dan proses administrasi. Dimana orang tua dan guru harus
melakukan login terlebh dahulu untuk masuk ke dalam situs.Setelah
melakukan proses login terdapat proses orang tua bagi orang tua dan proses
administrasi bagi guru.
Gambar 3.2 DFD Level 1
III-6
3. Data Flow Diagram Level 2 (Proses 2)
Proses orang tua terbagi menjadi 4 proses yaitu proses lihat nilai,
proses lihat perilaku, proses komunikasi dan proses ganti password.
Gambar 3. 3 DFD Level 2 (Proses 2)
III-7
4. Data Flow Diagram Level 2 (Proses 3)
Proses administrator terbagi menjadi 5 proses utama yaitu proses nilai,
proses perilaku, proses siswa, proses komunikasi dan proses orang tua.
Dalam proses nilai guru dapat memasukkan, mengubah dan menghapus nilai
siswa. Pada proses perilaku guru dapat memasukkan catatan baru perilaku dan
menghapus catatan perilaku.
Guru
3.1nilai
3.2perilaku
3.3siswa
3.4komunikasi
3.5ortu
menu_nilai
menu_siswa
menu_ortu
menu_komunikasi
menu_perilakunilai_id,tgl,uts,uas,harian,nama_mk
perilaku_id, tgl,kekurangan,kelebihan,
pelanggaran
nis,nama,kelassemester,tahun_ajaran
kom_id,tgl,arah,pesan_guru,
pesan_ortu ortu_id,tglalamat,nama
Gambar 3. 4 DFD Level 2 (Proses 3)
III-8
5. Data Flow Diagram Level 3 (Proses 3.1)
Proses nilai terbagi menjadi 3 proses yaitu proses insert nilai, edit
nilai, delete nilai. Guru dapat memasukkan nilai baru pada proses insert nilai,
mengubah nilai pada proses edit nilai dan menghapus nilai pada proses delete
nilai.
Gambar 3. 5 DFD Level 3 (Proses 3.1)
III-9
6. Data Flow Diagram Level 3 (Proses 3.2)
Proses perilaku terbagi menjadi 2 proses yaitu proses insert perilaku,
delete perilaku. Proses insert perilaku adalah untuk memasukkan catatan baru
prilaku siswa dan proses delete perilaku untuk menghapus catatan perilaku
yang sudah ada.
Gambar 3. 6 DFD Level 3 (Proses 3.2)
III-10
7. Data Flow Diagram Level 3 (Proses 3.3)
Proses siswa terbagi menjadi 3 proses yaitu proses insert siswa, edit siswa,
delete siswa. Guru dapat melakukan pemasukan nilai baru pada proses insert
siswa, pengubahan data siswa pada proses edit siswa dan penghapusan data
siswa pada proses delete siswa.
Gambar 3. 7 DFD Level 3 (Proses 3.3)
III-11
8. Data Flow Diagram Level 3 (Proses 3.4)
Proses komunikasi terbagi menjadi 2 proses yaitu proses insert
komunikasi dan delete komunikasi. Pada proses insert komunikasi guru dapat
mengirim komunikasi kepada orang tua dan pada proses delete komunikasi
guru dapat menghapus komunukasi yang sudah ada.
Gambar 3. 8 DFD Level 3 (Proses 3.4)
III-12
9. Data Flow Diagram Level 3 (Proses 3.5)
Proses orang tua terbagi menjadi 3 proses yaitu proses insert orang
tua, edit orang tua, delete orang tua. Pada proses insert orang tua guru dapat
memasukkan data orang tua baru, pada proses edit orang tua guru dapat
mengubah data orang tua dan pada proses delete orang tua guru dapat
menghapus data orang tua.
Gambar 3. 9 DFD Level 3 (Proses 3.5)
III-13
III.1.3.2 Kamus Data
NAMA DESKRIPSI TIPE DATA
Menu_siswa Menu yang terdiri dari proses delete (hapus) data siswa, insert (memasukkan) data siswa dan edit (mengubah) data siswa.
Varchar, Char, Enum
Menu_ortu Menu yang terdiri dari proses delete (hapus) data orang tua, insert (memasukkan) data orang tua dan edit (mengubah) data orang tua.
Varchar
Menu_nilai Menu yang terdiri dari proses delete (hapus) data nilai, insert (memasukkan) data nilai dan edit (mengubah) data nilai.
Int, Char, Enum
Menu_kom Menu yang terdiri dari proses delete (hapus) data komunikasi dan insert (memasukkan) data komunikasi.
Int, Text, Enum, Varchar
Menu_perilaku Menu yang terdiri dari proses delete (hapus) data perilaku dan insert (memasukkan) data perilaku.
Int, Enum, Varchar, Tinytext
Tabel 3. 1 Kamus Data
III-14
III.1.3.3 ER - Diagram
Sementara diagram Entity Relationship (ERD) yang dihasilkan adalah sebagai
berikut:
Gambar 3. 10 ER Diagram
III-15
III.1.3.4 Skema Relasi
Berikut skema dari beberapa table utama yang digunakan dalam basis data
yang terintegrasi dengan situs :
Gambar 3.11 Skema Relasi Basis Data
III-16
III.2 Perancangan Sistem
Perancangan sistem terdiri dari struktur web site dan desain layout.
III.2.1 Struktur web site
Struktur yang diterapkan untuk sistem adalah struktur hierarkis. Untuk
pelanggan dan administrator akan memiliki struktur situs tersendiri.
1. User ( orang tua )
Terdiri dari beberapa menu :
• LOGIN
Sebelum masuk halaman utama setiap user harus login terlebih dahulu.
• HOME
Merupakan halaman awal pada saat user masuk web site.
• NILAI
Berisi informasi tentang nilai ulangan harian, ujian tengah semester dan
ujian akhir semester yang bisa di filter dari jenis ujian dan nama mata
pelajaran.
• PERILAKU
Berisi catatan informasi perilaku siswa di sekolah yang meliputi
pelanggaran, kekurangan dan kelebihan siswa.
• KOMUNIKASI
Berisi catatan komunikasi antara orang tua dan guru.
• Kirim
III-17
Halaman untuk orang tua berkomunikasi dengan guru.
• LOGOUT
Fungsi untuk keluar dari halaman user.
Gambar 3.12 Site Map User
2. Administrator
Pada halaman khusus administrasi akan tersedia informasi dan fitur sebagai
bahan pengontrol atau peninjauan, antara lain:
• LOGIN
III-18
Sebelum masuk halaman administrator setiap user harus login terlebih dahulu.
• HOME
Merupakan tampilan awal setelah user login.
• SISWA
Menu untuk menambah, mengedit dan menghapus data siswa.
• KOMUNIKASI
Menu untuk menghapus, dan membalas komunikasi yang dikirimkan oleh
orang tua.
• NILAI
Menu untuk menambah, mengedit dan menghapus data nilai.
• ORANG TUA
Menu untuk menambah, mengedit dan menghapus data orang tua.
• PERILAKU
Menu untuk menambah dan menghapus catatan perilaku siswa.
• LOGOUT
Fungsi untuk keluar dari halaman administrator.
III-19
Gambar 3. 13 Site Map Administrator
III-20
Header
Username :
Password :
Enter
III.2.2 Desain Layout
Desain pada setiap halaman situs memiliki warna dan struktur yang sama
untuk memberikan keseragaman. Halaman situs terbagi menjadi 2 bagian, yaitu
bagian halaman utama dan halaman user.
III.2.2.1 Desain Layout Pada User
Berikut ini merupakan desain halaman login bagi user. Setiap user harus
memasukkan username dan password untuk bisa mengakses ke dalam situs. Setelah
mengisi username dan password klik tombol Enter untuk masuk ke dalam situs.
Gambar 3. 14 Tampilan Halaman Login
Footer
III-21
Berikut ini merupakan desain halaman utama pada user.
Header
Footer
Gambar 3. 15 Tampilan Halaman Utama
Kita bisa melihat nilai anak dengan menekan ke tombol Lihat Nilai yang
terletak pada halaman utama.
Gambar 3. 16 Tampilan Halaman Nilai
Content
Data Siswa Lihat Nilai Lihat
Nilai siswa
III-22
Berikut ini adalah tampilan Cari Data Nilai. Orang tua bisa melihat tampilan
nilai berdasarkan kategori kelas, mata pelajaran dan jenis ujian (ulangan harian, ujian
tengah semester atau ujian akhir semester).
Gambar 3.17 Tampilan Search Go Nilai
Orang tua bisa melihat catatan perilaku anak mereka di sekolah dengan
menekan tombol Lihat Perilaku. Berikut ini adalah tampilan halaman catatan perilaku
siswa.
Gambar 3.18 Tampilan Halaman Catatan Periku Siswa
Kls MP Jns Ujian Cari
Nilai
Hasil Search Go
Data Siswa Lihat Nilai Lihat
Catatan perilaku siswa
III-23
Berikut ini adalah tampilan halaman komunikasi pada halaman orang tua.
Gambar 3. 19 Tampilan Halaman Komunikasi
Berikut ini adalah tampilan halaman kirim komunikasi pada bagian user.
Pesan diketikkan pada kolom pesan yang tersedia dan klik tombol Enter untuk
mengirim pesan ke guru.
Gambar 3.20 Tampilan Halaman Kirim Komunikasi
Komunikasi
Tgl Arah Pesan Ortu Pesan Guru Action
Kirim Komunikasi
Pesan :
Enter
III-24
Header
Username :
Password :
Submit
Berikut ini adalah halaman untuk menganti password. User harus
memasukkan password lama kemudian password baru yang dikehendaki dan klik
tombol Enter untuk mengganti password.
Gambar 3. 21 Tampilan Halaman Ganti Password
III.2.2.2 Desain Layout Pada Administrator
Berkut ini adalah tampilan halaman login pada administrator.
Gambar 3. 22 Tampilan Halaman Login Admin
Ganti Password
Password Lama :
Password Baru :
Confirm Password Baru : Enter
Footer
III-25
Berikut ini adalah tampilan halaman utama pada administrator.
Gambar 3. 23 Tampilan Halaman Utama Admin
Berikut ini adalah tampilan halaman untuk memasukkan data siswa baru. Klik
tombol Enter untuk memasukkan data siswa baru dan klik Cancel jika ingin
membatalkannya.
Gambar 3. 24 Tampilan Halaman Insert Data Siswa
Insert Data Siswa
NIS :
Orang tua :
Nama :
Semester :
Kelas : Enter Cancel
Header
Content
III-26
Berikut ini adalah tampilan halaman untuk memasukkan komunikasi baru.
Untuk mengirim komunikasi baru klik tombol Enter dan tombol Cancel untuk
membatalkannya.
Gambar 3. 25 Tampilan Halaman Insert Komunikasi
Insert Komunikasi Baru
Orang tua :
Tgl Komunikasi : Pesan Guru :
Enter Cancel
III-27
Berikut ini adalah tampilan halaman untuk memasukkan data nilai baru.
Untuk memasukkan data nilai baru klik tombol Enter dan Cancel untuk batal.
Gambar 3. 26 Tampilan Halaman Insert Data Nilai
Berikut ini adalah tampilan halaman untuk memasukkan data orang tua baru.
Tombol Enter untuk memasukkan data orang tua baru dan tombol Cancel untuk
membatalkan.
Gambar 3. 27 Tampilan Halaman Insert Data Orang Tua
Insert Nilai Baru
Kode MP : Nama MP : Tanggal : Nilai : Jenis ujian :
Enter Cancel
Insert Data Orang Tua Baru
No KTP : Username :
Nama Lengkap :
Enter Cancel
III-28
Berikut ini adalah tampilan untuk memasukkan data perilaku baru. Untuk
memasukkan data perilaku baru tekan tombol Enter dan untuk membatalkan
pemasukkan data tekan tombol Cancel.
Gambar 3. 28 Tampilan Halaman Insert Data Perilaku
Insert Data Perilaku Baru
Nama Anak : Tanggal : Keterangan : Jenis Perilaku :
Enter Cancel
III-29
Berikut ini adalah tampilan untuk meng-edit data siswa. Untuk pengubahan
data siswa tekan tombol Enter dan untuk membatalkan pengubahan tekan Cancel.
Gambar 3. 29 Tampilan Halaman Edit Data Siswa
Edit Data Siswa
Orang tua : Nama : Semester : Kelas : Tahun Ajaran :
Enter Cancel
III-30
Berikut ini adalah tampilan untuk meng-edit data nilai. Untuk mengubah data
nilai tekan tombol Enter dan untuk membatalkan tekan tombol Cancel.
Gambar 3. 30 Tampilan Halaman Edit Data Nilai
Edit Data Nilai
Mata Pelajaran : Nama Siswa : Tanggal Ujian : Nilai : Jenis ujian :
Enter Cancel
III-31
Berikut ini adalah tampilan untuk meng-edit data orang tua. Tekan tombol
Enter untuk pengubahan data orang tua dan tombol Cancel untuk membatalkan.
Gambar 3. 31 Tampilan Halaman Edit Data Orang Tua
Berikut adalah tampilan halaman untuk menghapus data siswa. Untuk
menghapus data siswa tekan tombol Delete.
Gambar 3. 32 Tampilan Halaman Delete Data Siswa
Edit Data Orang Tua
Username :
Nama Lengkap : :
Enter Cancel
Delete Data Siswa
NIS Nama Action
Edit Delete
III-32
Berikut ini adalah tampilan halaman untuk menghapus data komunikasi.
Untuk menghapus data komunikasi tekan tombol Delete.
Gambar 3. 33 Tampilan Halaman Delete Data Komunikasi
Berikut ini adalah tampilan halaman untuk menghapus data nilai. Untuk
menghapus data nilai tekan tombol Delete.
Delete Data Nilai
Tgl Mata
Pelajaran NIS Kelas Nilai Jenis Ujian Action
Edit
Delete
Gambar 3. 34 Tampilan Halaman Delete Data Nilai
Delete Data Komunikasi
Tgl ID Arah Pesan Pesan Guru Pesan Ortu Action
Delete Reply
III-33
Berikut ini adalah tampilan untuk menghapus data orang tua. Untuk
menghapus data orang tua tekan tombol Delete.
Delete Data Orang Tua
Gambar 3. 35 Tampilan Halaman Delete Data Orang Tua
Berikut ini adalah tampilan untuk menghapus data perilaku. Untuk
menghapus data perilaku tekan tombol Delete.
Delete Data Perilaku
Tgl NIS Keterangan Jenis Action
Delete
Gambar 3. 36 Tampilan Halaman Delete Data Perilaku
ID Username Nama Nama Anak Action
Edit Delete
III-34
Berikut ini adalah tampilan halaman untuk membalas komunikasi. Untuk
mengirimkan balasan komunikasi tekan tombol Enter dan tombol Cancel untuk
pembatalan.
Gambar 3. 37 Tampilan Halaman Reply Komunikasi
Reply Komunikasi
Tgl :
Pesan :
Enter Cancel
IV-1
BAB IV
Hasil Tercapai
IV.1 Realisasi Rancangan Layout
Realisasi situs dimulai dengan melakukan design interface dan dilanjutkan
dengan pengimplementasian aplikasi ke dalam situs.
IV.1.1 Realisasi Desain Layout User
Tampilan pada halaman difokuskan kepada kenyamanan dan kemudahan user.
Berikut hasil realisasi tampilan layout interface final untuk situs pada bagian user.
Ini adalah halaman login untuk user.
Gambar 4. 1 Halaman login user
IV-2
Berikut ini adalah halaman utama pada situs. Disini terdapat nama anak dari
orang tua yang bersangkutan.
Gambar 4. 2 Halaman utama situs
Berikut ini adalah halaman nilai dimana orang tua bisa melihat nilai anaknya
dengan menekan ke tombol nilai.
Gambar 4. 3 Halaman nilai
IV-3
Didalam halaman nilai terdapat fitur search go, dimana orang tua bisa melihat
nilai dengan kategori tertentu.
Gambar 4. 4 Halaman Cari Data
Berikut ini adalah halaman dimana orang tua bisa melihat catatan perilaku
anak.
Gambar 4. 5 Halaman perilaku
IV-4
Halaman komunikasi berisi pesan – pesan yang telah dikirim oleh orang tua
dan guru.
Gambar 4. 6 Halaman komunikasi
Berikut ini halaman kirim komunikasi.
Gambar 4. 7 Halaman kirim komunikasi
IV-5
Berikut ini adalah halaman untuk mengganti password.
Gambar 4. 8 Halaman ganti password
IV-6
IV.1.2 Realisasi Desain Layout Administrator
Berikut hasil realisasi tampilan layout interface final untuk situs pada bagian
user.
Berikut adalah halaman login untuk administrator.
Gambar 4. 9 Halaman login admin
IV-7
Pada saat proses login dijalankan terdapat pemeriksaan terhadap user name
dan password yang diisi oleh pengakses. Proses login dijalankan dengan
menggunakan program sebagai berikut:
if (isset($_POST['username'])) { $loginUsername=$_POST['username']; $password=md5( $_POST['password'] ); $MM_fldUserAuthorization = ""; $MM_redirectLoginSuccess = "index.php"; $MM_redirectLoginFailed = "login.php"; $MM_redirecttoReferrer = false; mysql_select_db($database_lee, $lee);
$LoginRS__query=sprintf("SELECT guru_username, guru_password FROM tbl_guru WHERE guru_username='%s' AND guru_password='%s'", get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
$LoginRS = mysql_query($LoginRS__query, $lee) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS); if ($loginFoundUser) { $loginStrGroup = ""; //declare two session variables and assign them $GLOBALS['MM_Username'] = $loginUsername; $GLOBALS['MM_UserGroup'] = $loginStrGroup; //register the session variables session_register("MM_Username"); session_register("MM_UserGroup"); if (isset($_SESSION['PrevUrl']) && false) { $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; } header("Location: " . $MM_redirectLoginSuccess ); } else {
header("Location: ". $MM_redirectLoginFailed . "?msg=" . base64_encode( "Wrong Username / Password" ) );
} }
Program 4. 1 Proses Login
IV-8
Ini adalah halaman utama pada halaman administrator.
Gambar 4. 10 Halaman utama admin
Berikut ini adalah halaman daftar data siswa.
Gambar 4. 11 Halaman daftar nama siswa
IV-9
Berikut adalah halaman untuk memasukan data siswa baru.
Gambar 4. 12 Halaman insert siswa
Program dibawah ini adalah program untuk memasukkan data siswa baru.
$insertSQL = sprintf("INSERT INTO tbl_anak (NIS, ortu_id,nama, semester, kelas, thn_ajaran) VALUES (%s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['NIS'], "text"), GetSQLValueString($_POST['orangtua'], "text"), GetSQLValueString($_POST['Nama'], "text"), GetSQLValueString($_POST['semester'], "text"), GetSQLValueString($_POST['kelas'], "text"), GetSQLValueString($_POST['tahunajaran'], "text")); mysql_select_db($database_lee, $lee); $Result1 = mysql_query($insertSQL, $lee) or die(mysql_error());
Program 4. 2 Insert Data Siswa
IV-10
Berikut adalah halaman untuk mengedit data siswa.
Gambar 4. 13 Halaman edit data siswa
Pengubahan data siswa dapat dilakukan dengan menggunakan program
dibawah ini :
$updateSQL = sprintf("UPDATE tbl_anak SET ortu_id=%s,nama=%s, semester=%s, kelas=%s, thn_ajaran=%s WHERE NIS=%s",
GetSQLValueString($_POST['ortu_id'], "text"), GetSQLValueString($_POST['nama'], "text"), GetSQLValueString($_POST['semester'], "text"), GetSQLValueString($_POST['kelas'], "text"), GetSQLValueString($_POST['thn_ajaran'], "text"), GetSQLValueString($_POST['NIS'], "text")); mysql_select_db($database_lee, $lee); $Result1 = mysql_query($updateSQL, $lee) or die(mysql_error());
Program 4. 3 Edit Data Siswa
IV-11
Untuk menghapus data siswa, klik ke link delete.
Gambar 4. 14 Halaman delete siswa
Penghapusan data siswa dapat menggunakan program dibawah ini :
$deleteSQL = sprintf("DELETE FROM tbl_anak WHERE NIS=%s",
GetSQLValueString($_GET['NIS'], "text"));
mysql_select_db($database_lee, $lee);
$Result1 = mysql_query($deleteSQL, $lee) or die(mysql_error());
Program 4. 4 Delete Data Siswa
IV-12
Berikut ini adalah fitur Search Go untuk melihat tampilan daftar siswa
berdasarkan kategori kelas.
Gambar 4. 15 Halaman search go siswa
Program berikut ini adalah program untuk menjalankan tombol search go
pada halaman siswa.
$colname_RecordsetAnak = "%"; if (isset($_GET['kelas'])) { $colname_RecordsetAnak = (get_magic_quotes_gpc()) ? x$_GET['kelas'] : addslashes($_GET['kelas']); } mysql_select_db($database_lee, $lee); $query_RecordsetAnak = sprintf("SELECT * FROM tbl_anak WHERE kelas *LIKE '%s' ORDER BY NIS ASC", $colname_RecordsetAnak); $query_limit_RecordsetAnak = sprintf("%s LIMIT %d, %d", s$query_RecordsetAnak, $startRow_RecordsetAnak, $$maxRows_RecordsetAnak); $RecordsetAnak = mysql_query($query_limit_RecordsetAnak, $lee) or ddie(mysql_error()); $row_RecordsetAnak = mysql_fetch_assoc($RecordsetAnak);
Program 4. 5 Search Go Pada Halaman Siswa
IV-13
Berikut ini adalah halaman tampilan komunikasi.
Gambar 4. 16 Halaman komunikasi
Berikut ini adalah halaman untuk mengirim komunikasi ke orang tua.
Gambar 4. 17 Halaman insert komunikasi
IV-14
Untuk memasukkan data komunikasi baru menggunakan program dibawah
ini :
$insertSQL = sprintf("INSERT INTO tbl_komunikasi (ortu_id, tgl_kom, arah, pesan_guru) VALUES (%s, %s, %s, %s)", GetSQLValueString($_POST['orangtua'], "text"),
GetSQLValueString($_POST['tanggalkomunikasi'], "int"),
GetSQLValueString("go", "text"), GetSQLValueString($_POST['pesan_guru'], "text")); mysql_select_db($database_lee, $lee); $Result1 = mysql_query($insertSQL, $lee) or die(mysql_error());
Program 4. 6 Insert Data Komunikasi
Berikut ini halaman untuk menghapus data komunikasi.
Gambar 4. 18 Halaman delete komunikasi
IV-15
Penghapusan data komunikasi dapat dijalankan dengan menggunakan
program dibawah ini :
$deleteSQL = sprintf("DELETE FROM tbl_komunikasi WHERE kom_id=%s", GetSQLValueString($_GET['kom_id'], "text")); mysql_select_db($database_lee, $lee); $Result1 = mysql_query($deleteSQL, $lee) or die(mysql_error());
Program 4. 7 Delete Data Komunikasi
Berikut ini halaman untuk membalas komunikasi yang dikirim oleh orang tua.
Gambar 4. 19 Halaman reply komunikasi
IV-16
Berikut ini adalah halaman nilai siswa.
Gambar 4. 20 Halaman nilai
Berikut ini adalah halaman untuk memasukan nilai baru.
Gambar 4. 21 Halaman insert nilai
IV-17
Pemasukkan nilai baru siswa dapat dijalankan dengan menggunakan program
dibawah ini:
$insertSQL = sprintf("INSERT INTO tbl_nilai (kode_mk, NIS, tgl, nilai_angka, nilai_tipe) VALUES (%s, %s, %s, %s, %s)", GetSQLValueString($_POST['kodemk'], "text"), GetSQLValueString($_POST['nis'], "text"), GetSQLValueString($_POST['tanggal'], "int"), GetSQLValueString($_POST['nilai'], "int"),
GetSQLValueString($_POST['jenisujian'],"text")); mysql_select_db($database_lee, $lee); $Result1 = mysql_query($insertSQL, $lee) or die(mysql_error());
Program 4. 8 Insert Nilai
Berikut ini adalah halaman untuk meng-edit nilai siswa
Gambar 4. 22 Halaman edit nilai
IV-18
Pengubahan nilai siswa dijalankan dengan program berikut ini :
$updateSQL = sprintf("UPDATE tbl_nilai SET kode_mk=%s, NIS=%s, tgl=%s, nilai_angka=%s, nilai_tipe=%s WHERE nilai_id=%s", GetSQLValueString($_POST['kode_mk'], "text"), GetSQLValueString($_POST['NIS'], "text"), GetSQLValueString($_POST['tgl'], "int"), GetSQLValueString($_POST['nilai_angka'], "int"), GetSQLValueString($_POST['nilai_tipe'], "text"), GetSQLValueString($_POST['nilai_id'], "int")); mysql_select_db($database_lee, $lee); $Result1 = mysql_query($updateSQL, $lee) or die(mysql_error());
Program 4. 9 Edit Nilai
Berikut ini adalah halaman untuk menghapus nilai siswa
Gambar 4. 23 Halaman Delete Nilai
IV-19
Penghapusan data nilai dapat dilakukan dengan menjalankan program
dibawah ini :
$deleteSQL = sprintf("DELETE FROM tbl_nilai WHERE nilai_id=%s", GetSQLValueString($_GET['nilai_id'], "text")); mysql_select_db($database_lee, $lee); $Result1 = mysql_query($deleteSQL, $lee) or die(mysql_error());
Program 4. 10 Delete Nilai
Berikut adalah halaman search go pada nilai.
Gambar 4. 24 Halaman Search Go Nilai
IV-20
Program berikut ini adalah program untuk menjalankan tombol search go
pada halaman nilai.
$colname2_RecordsetNilai = "%"; if (isset($_GET['kode_mk'])) { $colname2_RecordsetNilai = (get_magic_quotes_gpc()) ? $_GET['kode_mk'] : addslashes($_GET['kode_mk']); } $colname3_RecordsetNilai = "%"; if (isset($_GET['nilai_tipe'])) { $colname3_RecordsetNilai = (get_magic_quotes_gpc()) ? $_GET['nilai_tipe'] : addslashes($_GET['nilai_tipe']); } $colname1_RecordsetNilai = "%"; if (isset($_GET['kelas'])) { $colname1_RecordsetNilai = (get_magic_quotes_gpc()) ? $_GET['kelas'] : addslashes($_GET['kelas']); } mysql_select_db($database_lee, $lee); $query_RecordsetNilai = sprintf("SELECT tbl_nilai.*, tbl_mk.nama_mk, tbl_anak.kelas FROM tbl_nilai, tbl_mk, tbl_anak WHERE tbl_nilai.NIS=tbl_anak.NIS AND (tbl_anak.kelas LIKE '%s' AND tbl_nilai.kode_mk LIKE '%s' AND tbl_nilai.nilai_tipe LIKE '%s') AND tbl_nilai.kode_mk=tbl_mk.kode_mk ORDER BY tbl_nilai.tgl DESC", $colname1_RecordsetNilai,$colname2_RecordsetNilai,$colname3_RecordsetNilai); $query_limit_RecordsetNilai = sprintf("%s LIMIT %d, %d", $query_RecordsetNilai, $startRow_RecordsetNilai, $maxRows_RecordsetNilai); $RecordsetNilai = mysql_query($query_limit_RecordsetNilai, $lee) or die(mysql_error()); $row_RecordsetNilai = mysql_fetch_assoc($RecordsetNilai);
Program 4. 11 Search Go Pada Halaman Nilai
IV-21
Berikut ini adalah halaman daftar nama orang tua.
Gambar 4. 25 Halaman orang tua
Berikut ini adalah halaman untuk memasukkan data orang tua baru.
Gambar 4. 26 Halaman insert data orang tua
IV-22
Berikut ini merupakan program yang digunakan untuk melakukan insert data
orang tua oleh Administrator:
$insertSQL = sprintf("INSERT INTO tbl_ortu (ortu_id, username, nama) VALUES (%s, %s, %s)", GetSQLValueString($_POST['ktp'], "text"), GetSQLValueString($_POST['username'], "text"), GetSQLValueString($_POST['nama'], "text")); mysql_select_db($database_lee, $lee); $Result1 = mysql_query($insertSQL, $lee) or die(mysql_error());
Program 4. 12 Insert Data Orang Tua
Berikut ini adalah halaman untuk meng-edit data orang tua.
Gambar 4. 27 Halaman edit data orang tua
IV-23
Pengubahan data orang tua dijalankan dengan menggunakan program sebagai
berikut :
$updateSQL = sprintf("UPDATE tbl_ortu SET username=%s, nama=%s WHERE ortu_id=%s", GetSQLValueString($_POST['username'], "text"), GetSQLValueString($_POST['nama'], "text"), GetSQLValueString($_POST['ortu_id'], "text")); mysql_select_db($database_lee, $lee); $Result1 = mysql_query($updateSQL, $lee) or die(mysql_error());
Program 4. 13 Edit Data Orang Tua
Berikut ini adalah halaman untuk menghapus data orang tua.
Gambar 4. 28 Halaman delete data orang tua
IV-24
Penghapusan data orang tua dapat menggunakan program dibawah ini :
$deleteSQL = sprintf("DELETE FROM tbl_ortu WHERE ortu_id=%s", GetSQLValueString($_GET['ortu_id'], "text")); mysql_select_db($database_lee, $lee); $Result1 = mysql_query($deleteSQL, $lee) or die(mysql_error());
Program 4. 14 Delete Data Orang Tua
Berikut halaman ini berisi data perilaku anak.
Gambar 4. 29 Halaman perilaku
IV-25
Berikut ini adalah halaman untuk memasukkan data perilaku anak.
Gambar 4. 30 Halaman insert perilaku
Untuk memasukkan data perilaku siswa yang baru dijalankan dengan
menggunakan program berikut ini :
$insertSQL = sprintf("INSERT INTO tbl_perilaku (NIS, tgl_perilaku, keterangan, jenis_perilaku) VALUES (%s, %s, %s, %s)", GetSQLValueString($_POST['nis'], "text"), GetSQLValueString($_POST['tanggal'], "int"), GetSQLValueString($_POST['keterangan'], "text"), GetSQLValueString($_POST['jenisperilaku'], "text")); mysql_select_db($database_lee, $lee); $Result1 = mysql_query($insertSQL, $lee) or die(mysql_error());
Program 4. 15 Insert Data Perilaku
IV-26
Berikut ini adalah halaman untuk menghapus data perilaku anak.
Gambar 4. 31 Halaman delete perilaku
Penghapusan data perilaku dijalankan dengan menggunakan program sebagai
berikut:
$deleteSQL = sprintf("DELETE FROM tbl_perilaku WHERE perilaku_id=%s", GetSQLValueString($_GET['perilaku_id'], "text")); mysql_select_db($database_lee, $lee); $Result1 = mysql_query($deleteSQL, $lee) or die(mysql_error());
Program 4. 16 Delete Data Perilaku
V-1
BAB V
Evaluasi Sistem
V.1 Evaluasi Perumusan Masalah
Sistem yang dihasilkan diharapkan mampu memberikan solusi dan memenuhi
target yang telah dipaparkan pada bagian rumusan masalah. Berikut hasil evaluasi
sistem terhadap beberapa rumusan masalah yang dimaksud:
1. Bagaimana situs mememenuhi kebutuhan informasi orang tua mengenai anak
mereka disekokah?
Informasi tentang siswa disediakan tanpa ada rekayasa. Orang tua bisa mengetahui
nilai anak, sikap dan perilaku mereka di sekolah.
2. Kesibukan orang tua atau guru tidak akan terganggu karena proses komunikasi
dapat dilakukan pada waktu senggang yang fleksibel.
Proses komunikasi dapat dilakukan pada malam hari, pagi hari atau kapan pun
asalkan orang tua atau guru terkoneksi lewat jaringan Internet.
Komunikasi tidak harus dilakukan secara bersamaan. Orang tua dapat menanyakan
sesuatu hal pada pagi hari dan guru dapat membalasnya saat senggang di malam hari.
3. Bagaimana kendala jadwal dapat diatasi karena waktu untuk konsultasi secara
online tidaklah terbatas.
V-2
Melalui teknologi komunikasi yang beraneka ragam, orang tua dan guru tidak perlu
mengatur waktu untuk berkonsultasi secara tatap muka karena komunikasi dapat
dilakukan secara online. Komunikasi yang dilakukan secara online tidak terbatas
lokasi dan waktu. Orang tua dan guru tetap dapat berkonsultasi kendati terpisah
ribuan mil, atau berada dalam garis waktu yang berbeda.
V.2 Evaluasi Tujuan
Tujuan utama pembuatan proyek Tugas Akhir ini adalah pengembangan sebuah
sistem dalam bentuk aplikasi web yang mengakomodasikan website sebagai media
komunikasi antara orang tua dan guru. Dengan berdasarkan tujuan tersebut, maka
dikembangkanlah sejumlah modul atau fitur. Berikut fitur atau modul yang telah
berhasil dikembangkan:
1. Dua jenis user dengan hak akses yang berbeda.
2. Menampilkan informasi nilai siswa di sekolah.
3. Menampilkan informasi catatan perilaku siswa di sekolah.
4. Fasilitas komunikasi dalam bentuk email.
5. Disediakan menu untuk melihat daftar nilai siswa dalam beberapa kategori
(filter).
6. Fasilitas ganti password untuk user.
V-3
V.3 Evaluasi dengan Metoda Questionaire
Evaluasi sistem yang dihasilkan juga diujicobakan dengan menggunakan
metode Kuesioner. Respoden merupakan guru, wakil kepala sekolah dan kepada
sekolah dari SMAK 3 BPK Penabur.
Questionare yang diberikan dalam bentuk pilihan. Pengisian questionare
dilakukan setelah responden melakukan pengetesan pada situs. Jumlah pertanyaan
sebanyak 4. Berikut pertanyaan yang ada pada questionare:
1. Apakah fasilitas – fasilitas yang terdapat pada web site ini sudah memenuhi
persyaratan untuk berkomunikasi antara guru dan orang tua?
a. Ya
b. Cukup
c. Kurang
Responden yang menjawab Ya sebanyak 80 %.
Responden yang menjawab Cukup sebanyak 20%.
2. Apakah website ini mudah digunakan?
a. Ya
b. Cukup
c. Kurang
Responden yang menjawab Ya sebanyak 60%.
Responden yang menjawab Cukup sebanyak 40%.
V-4
3. Apakah Anda menerima pesan error jika Anda salah memasukkan password
atau username pada saat login?
a. Ya
b. Tidak
Responden yang menjawab Ya sebanyak 100%.
4. Apakah web site ini dapat membantu orang tua untuk memantau perkembangan
anak mereka di sekolah?
a. Ya
b. Cukup
c. Kurang
Responden yang menjawab Ya sebanyak 80%.
Responden yang menjawab Cukup sebanyak 20%.
VI-1
BAB VI
Kesimpulan dan Saran
VI.1 Kesimpulan
Setelah sistem dibuat, dianalisa serta dievaluasi maka dapat ditarik beberapa
kesimpulan sebagai berikut :
1. Komunikasi antara orang tua dan guru dapat dilakukan dimana saja dan kapan
saja melalui koneksi Internet.
2. Orang tua dapat mengetahui prestasi belajar anak di sekolah dengan adanya
halaman nilai yang menginformasikan nilai ulangan harian, ujian tengah
semester dan ujian akhir semester anak. Orang tua juga dapat mengetahui
perkembangan sikap dan perilaku anak di sekolah dengan adanya halaman
perilaku yang memuat catatan kelebihan, kekurangan dan pelanggaran anak di
sekolah.
3. Dengan adanya situs ini orang tua dapat dengan mudah mengetahui
perkembangan nilai anak.
.
VI-2
VI.2 Saran
Aplikasi ini masih berada dalam tahap awal perancangan. Sangat mungkin
untuk dikembangkan menjadi sebuah sistem komunikasi yang lebih baik lagi.
Pengembangan tersebut mencakup :
1. Pengembangan lebih lanjut untuk bentuk Lembar Komunikasi menjadi
forum. Sehingga setiap user bisa ikut berpartisipasi dalam forum.
2. Website dapat dikembangkan dengan menambahkan fitur untuk online
chatting dengan webcam dan microphone.
3. Komunikasi melalui teknologi komunikasi wireless. Orang tua dapat
melakukan komunikasi melalui telepon genggam via SMS.
REFERENSI
1. Christensen, Eric. 2003. Modul Pemrograman Web. Bandung. Universitas
Kristen Maranatha.
2. Abdul Kadir, 2002. Dasar Pemrograman Web Dinamis Menggunakan PHP.
Penerbit Andi, Yogyakarta.
3. Klik Kanan, http://www.klik-kanan.com/tutorial/php/intro.shtml, diakses
tanggal 5 Januari 2006.
4. M. Farid Azis, 2001. Belajar Sendiri Pemrograman PHP 4. Penerbit PT. Elex
Media Komputindo, Jakarta.
5. Wiki Wiki Web, Benefit of My SQL, http://c2.com/cgi/wiki?MySql, diakses
tanggal 13 April 2005.
6. Michael Presley, Christine B. McCormick, 1996. Educational Psychology :
Learning, Instructions, Assessment. Penerbit Longman Art Resource, New
York.
7. Sekolah 2000, Sekolah Web sarana menuju Masyarakat Adil dan Modern,
http://www.sekolah2000.or.id/03/index.php?subaction=showfull&id=1081461
914&archive=&start_from=&ucat=3&, diakses pada tanggal 5 Januari 2006.
8. Wankyu Choi, Allan Kent, Chris Lea, Ganesh Prasad, Chris Ulman with john
Blank and Sean Cazzell, 1999. Programmer to Programmer Beginning PHP ,
Penerbit Wrox Press LTD, USA.
A-1
Lampiran A
Lampiran Kode Program
Halaman Front End
Login.php
<?php
require_once('Connections/lee.php');
// *** Validate request to login to this site.
session_start();
$loginFormAction = $_SERVER['PHP_SELF'];
if ($_GET['accesscheck'] != '') {
$GLOBALS['PrevUrl'] = $_GET['accesscheck'];
session_register('PrevUrl');
}
if (isset($_POST['username'])) {
$loginUsername=$_POST['username'];
$password=md5( $_POST['password'] );
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "index.php";
$MM_redirectLoginFailed = "login.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_lee, $lee);
$LoginRS__query=sprintf("SELECT tbl_ortu.ortu_id,
tbl_ortu.username FROM tbl_ortu WHERE username='%s' AND
password='%s'",
A-2
get_magic_quotes_gpc() ? $loginUsername :
addslashes($loginUsername), get_magic_quotes_gpc() ? $password :
addslashes($password));
$LoginRS = mysql_query($LoginRS__query, $lee) or
die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
$Res = mysql_fetch_array( $LoginRS );
if ($loginFoundUser) {
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_OrtuId'] = $Res['ortu_id'];
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed . "?msg=" .
base64_encode( "Username atau Password Anda Salah" ) );
}
}
include_once( 'top.php' );
?>
<script type="text/javascript" defer="defer">
window.onload = document.auth.username.focus();
</script>
<form action="<?php echo $loginFormAction; ?>" method="POST"
name="auth">
<input name="ortu_id" type="hidden" value="<?php echo $ortu_id; ?>">
<table width="200" height="100%" border="0" align="center"
cellspacing="0" cellpadding="4" class="none">
A-3
<tr><td colspan="3" align="center"><?php echo base64_decode(
$_GET['msg'] ); ?></td></tr>
<tr>
<td class="none">Username</td>
<td class="none">:</td>
<td class="none"><input name="username" type="text"
id="username" maxlength="20"></td>
</tr>
<tr>
<td class="none">Password</td>
<td class="none">:</td>
<td class="none"><input name="password" type="password"
id="password"></td>
</tr>
<tr>
<td colspan="3" class="none"><div align="center">
<input type="submit" name="Submit" value="Enter">
</div></td>
</tr>
<tr class="none" align="center">
<td class="none" colspan="3"><a
href="http://127.0.0.1/lee_back/" target="_parent">Back</a></td>
</tr>
</table>
</form>
<?php include_once( 'bottom.php' ); ?>
Index.php <?php require_once('Connections/lee.php'); ?>
<?php
//initialize the session
session_start();
A-4
if( !isset($_SESSION['MM_Username']) ||
!isset($_SESSION['MM_OrtuId']) ) {
Header( 'Location: login.php?accesscheck=' .
$_SERVER['PHP_SELF'] );
}
?>
<?php
$maxRows_RecordsetAnak = 10;
$pageNum_RecordsetAnak = 0;
if (isset($_GET['pageNum_RecordsetAnak'])) {
$pageNum_RecordsetAnak = $_GET['pageNum_RecordsetAnak'];
}
$startRow_RecordsetAnak = $pageNum_RecordsetAnak *
$maxRows_RecordsetAnak;
mysql_select_db($database_lee, $lee);
$query_RecordsetAnak = "SELECT tbl_anak.NIS, tbl_anak.nama FROM
tbl_anak WHERE tbl_anak.ortu_id='" . $_SESSION['MM_OrtuId'] . "'
ORDER BY tbl_anak.ortu_id";
$query_limit_RecordsetAnak = sprintf("%s LIMIT %d, %d",
$query_RecordsetAnak, $startRow_RecordsetAnak,
$maxRows_RecordsetAnak);
$RecordsetAnak = mysql_query($query_limit_RecordsetAnak, $lee) or
die(mysql_error());
$row_RecordsetAnak = mysql_fetch_assoc($RecordsetAnak);
if (isset($_GET['totalRows_RecordsetAnak'])) {
$totalRows_RecordsetAnak = $_GET['totalRows_RecordsetAnak'];
} else {
$all_RecordsetAnak = mysql_query($query_RecordsetAnak);
$totalRows_RecordsetAnak = mysql_num_rows($all_RecordsetAnak);
}
$totalPages_RecordsetAnak =
ceil($totalRows_RecordsetAnak/$maxRows_RecordsetAnak)-1;
A-5
mysql_select_db($database_lee, $lee);
$query_RecordsetKelas = "SELECT kelas FROM tbl_sekolah";
$RecordsetKelas = mysql_query($query_RecordsetKelas, $lee) or
die(mysql_error());
$row_RecordsetKelas = mysql_fetch_assoc($RecordsetKelas);
$totalRows_RecordsetKelas = mysql_num_rows($RecordsetKelas);
mysql_select_db($database_lee, $lee);
$query_RecordsetMK = "SELECT kode_mk, nama_mk FROM tbl_mk";
$RecordsetMK = mysql_query($query_RecordsetMK, $lee) or
die(mysql_error());
$row_RecordsetMK = mysql_fetch_assoc($RecordsetMK);
$totalRows_RecordsetMK = mysql_num_rows($RecordsetMK);
?>
<?php include_once( 'top.php' ); ?><p>
<img src="images/button_home_on.jpg" alt="Halaman utama">
<a href="komunikasi.php"><img src="images/button_komunikasi_on.jpg"
alt="Halaman komunikasi"></a>
<a href="komunikasi_new.php"><img
src="images/button_komunikasi_kirim_on.jpg" alt="Halaman untuk
mengirim komunikasi"></a>
<a href="change_password.php"><img
src="images/button_gantipwd_on.jpg" alt="Halaman untuk mengganti
password"></a>
<a href="<?php echo $logoutAction ?>"><img
src="images/button_logout_on.jpg" alt="Keluar dari situs"></a>
</p>
<p><strong>Halo, <?php echo $_SESSION['MM_Username']
?>.</strong></p>
<?php if ($totalRows_RecordsetAnak > 0) { // Show if recordset not
empty ?>
<table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
A-6
<th>NIS</th>
<th>Nama Anak</th>
<th colspan="2">Action</th>
</tr>
<?php do { ?>
<tr>
<td width="75" align="center"><?php echo
$row_RecordsetAnak['NIS']; ?></td>
<td><?php echo ucfirst($row_RecordsetAnak['nama']); ?></td>
<td width="100" align="center"><a href="?mode=nilai&NIS=<?php
echo $row_RecordsetAnak['NIS']; ?>"><img
src="images/button_lihat_nilai_on.jpg" alt="Klik di sini untuk
melihat nilai siswa"></a></td>
<td width="100" align="center"><a
href="?mode=perilaku&NIS=<?php echo $row_RecordsetAnak['NIS'];
?>"><img src="images/button_lihat_perilaku_on.jpg" alt="Klik di sini
untuk melihat catatan perilaku siswa"></a></td>
</tr>
<?php } while ($row_RecordsetAnak =
mysql_fetch_assoc($RecordsetAnak)); ?>
</table>
<?php } // Show if recordset not empty ?>
<?php
if( isset( $_GET['NIS'] ) )
{
echo "<hr>";
switch( $_GET['mode'] )
{
case "nilai" :
$colname1_RecordsetNilai = "%";
if (isset($_GET['NIS'])) {
$colname1_RecordsetNilai = (get_magic_quotes_gpc()) ? $_GET['NIS']
: addslashes($_GET['NIS']);
}
A-7
$colname3_RecordsetNilai = "%";
if (isset($_GET['kode_mk'])) {
$colname3_RecordsetNilai = (get_magic_quotes_gpc()) ?
$_GET['kode_mk'] : addslashes($_GET['kode_mk']);
}
$colname4_RecordsetNilai = "%";
if (isset($_GET['nilai_tipe'])) {
$colname4_RecordsetNilai = (get_magic_quotes_gpc()) ?
$_GET['nilai_tipe'] : addslashes($_GET['nilai_tipe']);
}
mysql_select_db($database_lee, $lee);
$query_RecordsetNilai = sprintf("SELECT tbl_nilai.*, tbl_mk.nama_mk
FROM tbl_nilai, tbl_anak, tbl_mk WHERE tbl_nilai.NIS = '%s' AND
tbl_nilai.kode_mk LIKE '%s' AND tbl_nilai.nilai_tipe LIKE '%s' AND
tbl_anak.NIS=tbl_nilai.NIS AND tbl_nilai.kode_mk=tbl_mk.kode_mk",
$colname1_RecordsetNilai,$colname3_RecordsetNilai,$colname4_Recordse
tNilai);
$RecordsetNilai = mysql_query($query_RecordsetNilai, $lee) or
die(mysql_error());
$row_RecordsetNilai = mysql_fetch_assoc($RecordsetNilai);
$totalRows_RecordsetNilai = mysql_num_rows($RecordsetNilai);
?>
<?php
mysql_select_db($database_lee, $lee);
$query_RecordsetAnak2 = "SELECT nama FROM tbl_anak
WHERE NIS='" . $_GET['NIS'] . "'";
$RecordsetAnak2 =
mysql_query($query_RecordsetAnak2, $lee) or die(mysql_error());
$row_RecordsetAnak2 =
mysql_fetch_assoc($RecordsetAnak2);
echo "<P> <strong>Nilai " .
$row_RecordsetAnak2['nama'] . "</strong></P>";
?>
<form name="form1">
A-8
Mata Pelajaran :
<select name="kode_mk" id="kode_mk">
<option value="%" <?php if (!(strcmp("%", $_GET['kode_mk'])))
{echo "SELECTED";} ?>></option>
<?php
do {
?>
<option value="<?php echo $row_RecordsetMK['kode_mk']?>"<?php if
(!(strcmp($row_RecordsetMK['kode_mk'], $_GET['kode_mk']))) {echo
"SELECTED";} ?>><?php echo $row_RecordsetMK['nama_mk']?></option>
<?php
} while ($row_RecordsetMK = mysql_fetch_assoc($RecordsetMK));
$rows = mysql_num_rows($RecordsetMK);
if($rows > 0) {
mysql_data_seek($RecordsetMK, 0);
$row_RecordsetMK = mysql_fetch_assoc($RecordsetMK);
}
?>
</select>
Jenis Ulangan :
<select name="nilai_tipe" id="nilai_tipe">
<option value="%" <?php if (!(strcmp("%", $_GET['nilai_tipe'])))
{echo "SELECTED";} ?>></option>
<option value="harian" <?php if (!(strcmp("harian",
$_GET['nilai_tipe']))) {echo "SELECTED";} ?>>Ulangan Harian</option>
<option value="uts" <?php if (!(strcmp("uts",
$_GET['nilai_tipe']))) {echo "SELECTED";} ?>>Ujian Tengah
Semester</option>
<option value="uas" <?php if (!(strcmp("uas",
$_GET['nilai_tipe']))) {echo "SELECTED";} ?>>Ujian Akhir
Semester</option>
</select>
<input type="Button" name="Submit" value="Cari Data"
onClick="location.href='?kode_mk=' +
this.form.kode_mk[this.form.kode_mk.selectedIndex].value +
A-9
'&nilai_tipe=' +
this.form.nilai_tipe[this.form.nilai_tipe.selectedIndex].value +
'&&mode=nilai&NIS=<?php echo $_GET['NIS']; ?>'">
</form>
<?php
echo "<table border=\"1\" width=\"100%\">";
echo " <tr>";
echo " <td><strong>Mata
Pelajaran</strong></td>";
echo " <td><strong>Tgl</strong></td>";
echo "
<td><strong>Nilai</strong></td>";
echo " <td><strong>Type</strong></td>";
echo " </tr>";
do {
echo " <tr>";
echo " <td>" .
$row_RecordsetNilai["nama_mk"] . "</td>";
if($row_RecordsetNilai["tgl"] != null){
echo " <td>" . date( "d M Y",
$row_RecordsetNilai["tgl"] ) . "</td>";
}
else {
echo " <td>" . "</td>";
}
echo " <td>" .
$row_RecordsetNilai["nilai_angka"] . "</td>";
echo " <td>" .
$row_RecordsetNilai["nilai_tipe"] . "</td>";
echo " </tr>";
} while($row_RecordsetNilai =
mysql_fetch_assoc($RecordsetNilai));
echo "</table>";
break;
case "perilaku" :
A-10
$colname_RecordsetPerilaku = "1";
if (isset($_GET['NIS'])) {
$colname_RecordsetPerilaku =
(get_magic_quotes_gpc()) ? $_GET['NIS'] : addslashes ($_GET['NIS']);
}
mysql_select_db($database_lee, $lee);
$query_RecordsetPerilaku = sprintf("SELECT
tgl_perilaku, keterangan, jenis_perilaku FROM tbl_perilaku WHERE NIS
= '%s'", $colname_RecordsetPerilaku);
$RecordsetPerilaku =
mysql_query($query_RecordsetPerilaku, $lee) or die(mysql_error());
$row_RecordsetPerilaku =
mysql_fetch_assoc($RecordsetPerilaku);
$totalRows_RecordsetPerilaku =
mysql_num_rows($RecordsetPerilaku);
mysql_select_db($database_lee, $lee);
$query_RecordsetAnak2 = "SELECT nama FROM tbl_anak
WHERE NIS='" . $_GET['NIS'] . "'";
$RecordsetAnak2 =
mysql_query($query_RecordsetAnak2, $lee) or die(mysql_error());
$row_RecordsetAnak2 =
mysql_fetch_assoc($RecordsetAnak2);
echo "<P> <strong>Perilaku " .
$row_RecordsetAnak2['nama'] . "</strong></P>";
echo "<table border=\"1\" width=\"100%\">";
echo " <tr>";
echo " <td><strong>Tgl</strong></td>";
echo "
<td><strong>Keterangan</strong></td>";
echo "
<td><strong>Jenis</strong></td>";
echo " </tr>";
do {
A-11
echo " <tr>";
if ($row_RecordsetPerilaku["tgl_perilaku"]
!= null)
{
echo " <td>" . date( "d M Y",
$row_RecordsetPerilaku["tgl_perilaku"] ) . "</td>";
}
else
{
echo " <td>" . "</td>";
}
echo " <td>" .
$row_RecordsetPerilaku["keterangan"] . "</td>";
echo " <td>" .
$row_RecordsetPerilaku["jenis_perilaku"] . "</td>";
echo " </tr>";
} while($row_RecordsetPerilaku =
mysql_fetch_assoc($RecordsetPerilaku));
echo "</table>";
break;
}
}
include_once( 'bottom.php' );
mysql_free_result($RecordsetAnak);
mysql_free_result($RecordsetNilai);
mysql_free_result($RecordsetPerilaku);
mysql_free_result($RecordsetKelas);
mysql_free_result($RecordsetMK);
?>
A-12
Insert Komunikasi.php <?php require_once('Connections/lee.php'); ?>
<?php
require_once('Connections/lee.php');
function GetSQLValueString($theValue, $theType, $theDefinedValue =
"", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) :
$theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" :
"NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) .
"'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" :
"NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue :
$theNotDefinedValue;
break;
}
return $theValue;
A-13
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
?>
<?php
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] ==
"form1")) {
$updateSQL = sprintf("UPDATE tbl_komunikasi SET pesan_ortu=%s
WHERE kom_id=%s",
GetSQLValueString($_POST['pesan_ortu'],
"text"),
GetSQLValueString($_POST['kom_id'], "int"));
mysql_select_db($database_lee, $lee);
$Result1 = mysql_query($updateSQL, $lee) or die(mysql_error());
$updateGoTo = "komunikasi.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}
?>
<?php
$colname_RecordsetReply = "1";
if (isset($_GET['id'])) {
$colname_RecordsetReply = (get_magic_quotes_gpc()) ? $_GET['id'] :
addslashes($_GET['id']);
}
mysql_select_db($database_lee, $lee);
A-14
$query_RecordsetReply = sprintf("SELECT tgl_kom, arah, pesan_guru,
pesan_ortu FROM tbl_komunikasi WHERE kom_id = %s",
$colname_RecordsetReply);
$RecordsetReply = mysql_query($query_RecordsetReply, $lee) or
die(mysql_error());
$row_RecordsetReply = mysql_fetch_assoc($RecordsetReply);
$totalRows_RecordsetReply = mysql_num_rows($RecordsetReply);
?>
<?php mysql_free_result($RecordsetReply); include_once( 'top.php' );
?>
<form name="form1" method="POST" action="<?php echo $editFormAction;
?>">
<input name="kom_id" type="hidden" value="<?php echo $_GET['id'];
?>">
<table class="none" width="100%" border="0" cellspacing="4">
<tr>
<td class="none">Tanggal</td>
<td class="none">:</td>
<td class="none"><?php echo date( "d/M/Y",
$row_RecordsetReply['tgl_kom'] ); ?></td>
</tr>
<tr>
<td valign="top" class="none">Arah Komunikasi</td>
<td valign="top" class="none">:</td>
<td class="none">
<?php echo ( $row_RecordsetReply['arah'] == 'og' ) ?
"Orang Tua - Guru" : "Guru - Orang Tua"; ?>
</td>
</tr>
<tr>
<td valign="top" class="none">Pesan Guru </td>
<td valign="top" class="none">:</td>
<td class="none"><textarea name="pesan_guru" disabled
cols="100" rows="10" id="pesan_guru" <?php echo (
A-15
$row_RecordsetReply['arah'] == 'go' ) ? "readonly" : ""; ?>><?php
echo $row_RecordsetReply['pesan_guru']; ?></textarea></td>
</tr>
<tr>
<td valign="top" class="none">Pesan Orang Tua </td>
<td valign="top" class="none">:</td>
<td class="none"><textarea name="pesan_ortu" cols="100"
rows="10" id="pesan_ortu" <?php echo ( $row_RecordsetReply['arah']
== 'og' ) ? "readonly" : ""; ?>><?php echo
$row_RecordsetReply['pesan_ortu']; ?></textarea></td>
</tr>
<tr>
<td class="none"> </td>
<td class="none"> </td>
<td class="none"> </td>
</tr>
<tr>
<td class="none"> </td>
<td class="none"> </td>
<td class="none"><input type="submit" name="Submit"
value="Submit"></td>
</tr>
</table>
<input type="hidden" name="MM_update" value="form1">
</form>
<?php include_once( 'bottom.php' ); ?>
<?php
mysql_free_result($RecordsetReply);
?>
A-16
Change Password.php
<?php
session_start();
if( isset( $_POST['change'] ) )
{
require_once('Connections/lee.php');
mysql_select_db($database_lee, $lee);
$query = "UPDATE tbl_ortu SET password='" . md5(
$_POST['password1'] ) . "' WHERE ortu_id='" . $_SESSION['MM_OrtuId']
. "' AND password='" . md5( $_POST['old_password'] ) . "'";
mysql_query($query, $lee) or die(mysql_error());
Header( "Location: ?msg=Password sudah dirubah" );
exit();
}
include_once "top.php";
?>
<p></p>
<a href="index.php"><img src="images/button_home_on.jpg"
alt="Halaman utama"></a>
<a href="komunikasi.php"><img src="images/button_komunikasi_on.jpg"
alt="Halaman komunikasi"></a>
<a href="komunikasi_new.php"><img
src="images/button_komunikasi_kirim_on.jpg" alt="Halaman untuk
mengirim komunikasi"></a>
<img src="images/button_gantipwd_on.jpg" alt="Halaman untuk
mengganti password">
A-17
<a href="<?php echo $logoutAction ?>"><img
src="images/button_logout_on.jpg" alt="Keluar dari situs"></a>
</p>
<p><strong>Halo, <?php echo $_SESSION['MM_Username']
?>.</strong></p>
<p>Ketik password baru yang Anda kehendaki </p>
<script type="text/javascript">
function changePassword( o )
{
if( o.password1.value != o.password2.value ||
o.password1.length != o.password2.length )
{
window.alert( 'Password tidak sama' );
return false;
}
if( o.password1.value == "" || o.password2.value == "" )
{
window.alert( 'Password tidak boleh kosong' );
return false;
}
return true;
}
</script>
<form method="post" onSubmit="return changePassword( this )">
<input type="hidden" name="change" value="1">
<table width="100%" border="1">
<tr><td colspan="5"><div align="center"><strong><?php echo
$_GET['msg']; ?></strong></div></td>
</tr>
<tr>
<td> </td>
<td> </td>
A-18
<td>Password Lama </td>
<td><div align="center">:</div></td>
<td><input name="old_password" type="password"
id="old_password"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>Password Baru </td>
<td><div align="center">:</div></td>
<td><input name="password1" type="password"
id="password1"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>Confirm Password Baru </td>
<td><div align="center">:</div></td>
<td><input name="password2" type="password"
id="password2"></td>
</tr>
<tr>
<td colspan="5"><div align="center">
<input type="submit" name="Submit" value="Ganti Password">
</div></td>
</tr>
</table>
</form>
<?php include_once "bottom.php"; ?>
A-19
Halaman Back End
Anak_insert.php <?php require_once('Connections/lee.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue =
"", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) :
$theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" :
"NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) .
"'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" :
"NULL";
break;
case "defined":
A-20
$theValue = ($theValue != "") ? $theDefinedValue :
$theNotDefinedValue;
break;
}
return $theValue;
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] ==
"form1")) {
$insertSQL = sprintf("INSERT INTO tbl_anak (NIS, ortu_id, nama,
semester, kelas, thn_ajaran) VALUES (%s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['NIS'], "text"),
GetSQLValueString($_POST['orangtua'],
"text"),
GetSQLValueString($_POST['Nama'], "text"),
GetSQLValueString($_POST['semester'],
"text"),
GetSQLValueString($_POST['kelas'], "text"),
GetSQLValueString($_POST['tahunajaran'],
"text"));
mysql_select_db($database_lee, $lee);
$Result1 = mysql_query($insertSQL, $lee) or die(mysql_error());
$insertGoTo = "anak.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
A-21
}
mysql_select_db($database_lee, $lee);
$query_rsOrtu = "SELECT ortu_id, nama FROM tbl_ortu";
$rsOrtu = mysql_query($query_rsOrtu, $lee) or die(mysql_error());
$row_rsOrtu = mysql_fetch_assoc($rsOrtu);
$totalRows_rsOrtu = mysql_num_rows($rsOrtu);
mysql_select_db($database_lee, $lee);
$query_rsKelas = "SELECT DISTINCT(kelas) FROM tbl_sekolah";
$rsKelas = mysql_query($query_rsKelas, $lee) or die(mysql_error());
$row_rsKelas = mysql_fetch_assoc($rsKelas);
$totalRows_rsKelas = mysql_num_rows($rsKelas);
include_once( "top.php" );
?>
<P>
<a href="index.php"><img src="images/button_home_on.jpg"
alt="Halaman utama"></a>
|
<a href="anak.php"><img src="images/button_siswa_on.jpg"
alt="Halaman daftar siswa"></a>
|
<a href="komunikasi.php"><img src="images/button_komunikasi_on.jpg"
alt="Halaman daftar komunikasi"></a>
|
<a href="nilai.php"><img src="images/button_nilai_on.jpg"
alt="Halaman daftar nilai"></a>
<?php if( $_SESSION['MM_UserPosition'] == "admin" ) { ?>
|
<a href="ortu.php"><img src="images/button_orangtua_on.jpg"
alt="Halaman data orang tua"></a>
<?php } ?>
|
A-22
<a href="perilaku.php"><img src="images/button_perilaku_on.jpg"
alt="Halaman data catatan perilaku"></a>
<?php if( $_SESSION['MM_UserPosition'] == "admin" ) { ?>
|
<a href="guru.php"><img src="images/button_guru_on.jpg" alt="Halaman
data guru"></a>
<?php } ?>
|
<a href="change_password.php"><img
src="images/button_gantipwd_on.jpg" alt="Halaman untuk mengganti
password guru"></a> |</P>
<?php if( $_SESSION['MM_UserPosition'] == "admin" ) { ?>
<P><a href="sekolah.php"><img src="images/button_sekolah_on.jpg"
alt="Halaman data sekolah"></a><?php } ?>
|
<a href="<?php echo $logoutAction ?>"><img
src="images/button_logout_on.jpg" alt="Keluar dari situs"></a>
</P>
<p><strong>Halo, <?php echo $_SESSION['MM_Username']
?>.</strong></p>
<form name="form1" method="POST" action="<?php echo $editFormAction;
?>">
<table width="100%" border="1">
<tr>
<td>NIS</td>
<td><div align="center">:</div></td>
<td><input name="NIS" type="text" id="NIS"></td>
</tr>
<tr>
<td>Orang Tua </td>
<td><div align="center">:</div></td>
<td><select name="orangtua" id="orangtua">
<?php
do {
A-23
?>
<option value="<?php echo $row_rsOrtu['ortu_id']?>"><?php
echo $row_rsOrtu['nama']?></option>
<?php
} while ($row_rsOrtu = mysql_fetch_assoc($rsOrtu));
$rows = mysql_num_rows($rsOrtu);
if($rows > 0) {
mysql_data_seek($rsOrtu, 0);
$row_rsOrtu = mysql_fetch_assoc($rsOrtu);
}
?>
</select></td>
</tr>
<tr>
<td>Nama</td>
<td><div align="center">:</div></td>
<td><input name="Nama" type="text" id="Nama"></td>
</tr>
<tr>
<td>Semester</td>
<td><div align="center">:</div></td>
<td><select name="semester" id="semester">
<option value="genap">Genap</option>
<option value="ganjil">Ganjil</option>
</select></td>
</tr>
<tr>
<td>Kelas</td>
<td><div align="center">:</div></td>
<td><select name="kelas" id="kelas">
<?php
do {
?>
<option value="<?php echo $row_rsKelas['kelas']?>"><?php
echo $row_rsKelas['kelas']?></option>
A-24
<?php
} while ($row_rsKelas = mysql_fetch_assoc($rsKelas));
$rows = mysql_num_rows($rsKelas);
if($rows > 0) {
mysql_data_seek($rsKelas, 0);
$row_rsKelas = mysql_fetch_assoc($rsKelas);
}
?>
</select></td>
</tr>
<tr>
<td>Tahun Ajaran </td>
<td><div align="center">:</div></td>
<td><select name="tahunajaran" id="tahunajaran">
<option value="20052006">2005/2006</option>
</select></td>
</tr>
<tr>
<td colspan="3"><div align="center">
<input type="submit" name="Submit" value="Enter">
<input name="Reset" type="submit" id="Reset" value="Cancel">
</div></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1">
</form>
<?php
include_once( "bottom.php" );
mysql_free_result($rsOrtu);
?>
<?php
mysql_free_result($rsKelas);
?>
A-25
Anak_update.php <?php require_once('Connections/lee.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue =
"", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) :
$theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" :
"NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) .
"'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" :
"NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue :
$theNotDefinedValue;
break;
}
A-26
return $theValue;
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] ==
"form1")) {
$updateSQL = sprintf("UPDATE tbl_anak SET ortu_id=%s, nama=%s,
semester=%s, kelas=%s, thn_ajaran=%s WHERE NIS=%s",
GetSQLValueString($_POST['ortu_id'], "text"),
GetSQLValueString($_POST['nama'], "text"),
GetSQLValueString($_POST['semester'],
"text"),
GetSQLValueString($_POST['kelas'], "text"),
GetSQLValueString($_POST['thn_ajaran'],
"text"),
GetSQLValueString($_POST['NIS'], "text"));
mysql_select_db($database_lee, $lee);
$Result1 = mysql_query($updateSQL, $lee) or die(mysql_error());
$updateGoTo = "anak.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}
mysql_select_db($database_lee, $lee);
$query_rsOrtu = "SELECT ortu_id, nama FROM tbl_ortu";
$rsOrtu = mysql_query($query_rsOrtu, $lee) or die(mysql_error());
A-27
$row_rsOrtu = mysql_fetch_assoc($rsOrtu);
$totalRows_rsOrtu = mysql_num_rows($rsOrtu);
$colname_rsAnak = "1";
if (isset($_GET['NIS'])) {
$colname_rsAnak = (get_magic_quotes_gpc()) ? $_GET['NIS'] :
addslashes($_GET['NIS']);
}
mysql_select_db($database_lee, $lee);
$query_rsAnak = sprintf("SELECT * FROM tbl_anak WHERE NIS = '%s'",
$colname_rsAnak);
$rsAnak = mysql_query($query_rsAnak, $lee) or die(mysql_error());
$row_rsAnak = mysql_fetch_assoc($rsAnak);
$totalRows_rsAnak = mysql_num_rows($rsAnak);
mysql_select_db($database_lee, $lee);
$query_rsKelas = "SELECT DISTINCT(kelas) FROM tbl_sekolah";
$rsKelas = mysql_query($query_rsKelas, $lee) or die(mysql_error());
$row_rsKelas = mysql_fetch_assoc($rsKelas);
$totalRows_rsKelas = mysql_num_rows($rsKelas);
include_once "top.php";
?>
<P>
<a href="index.php"><img src="images/button_home_on.jpg"
alt="Halaman utama"></a>
|
<a href="anak.php"><img src="images/button_siswa_on.jpg"
alt="Halaman daftar siswa"></a>
|
<a href="komunikasi.php"><img src="images/button_komunikasi_on.jpg"
alt="Halaman daftar komunikasi"></a>
|
A-28
<a href="nilai.php"><img src="images/button_nilai_on.jpg"
alt="Halaman daftar nilai"></a>
<?php if( $_SESSION['MM_UserPosition'] == "admin" ) { ?>
|
<a href="ortu.php"><img src="images/button_orangtua_on.jpg"
alt="Halaman data orang tua"></a>
<?php } ?>
|
<a href="perilaku.php"><img src="images/button_perilaku_on.jpg"
alt="Halaman data catatan perilaku"></a>
<?php if( $_SESSION['MM_UserPosition'] == "admin" ) { ?>
|
<a href="guru.php"><img src="images/button_guru_on.jpg" alt="Halaman
data guru"></a>
<?php } ?>
|
<a href="change_password.php"><img
src="images/button_gantipwd_on.jpg" alt="Halaman untuk mengganti
password guru"></a> |</P>
<?php if( $_SESSION['MM_UserPosition'] == "admin" ) { ?>
<P><a href="sekolah.php"><img src="images/button_sekolah_on.jpg"
alt="Halaman data sekolah"></a><?php } ?>
|
<a href="<?php echo $logoutAction ?>"><img
src="images/button_logout_on.jpg" alt="Keluar dari situs"></a>
</P>
<p><strong>Halo, <?php echo $_SESSION['MM_Username']
?>.</strong></p>
<form name="form1" method="POST" action="<?php echo $editFormAction;
?>">
<input name="NIS" type="hidden" id="NIS" value="<?php echo
$_GET['NIS']; ?>">
<table width="100%" border="1">
<tr>
A-29
<td> Orang Tua </td>
<td><div align="center">:</div></td>
<td><select name="ortu_id" id="ortu_id">
<?php
do {
?>
<option value="<?php echo $row_rsOrtu['ortu_id']?>"<?php if
(!(strcmp($row_rsOrtu['ortu_id'], $row_rsAnak['ortu_id']))) {echo
"SELECTED";} ?>><?php echo $row_rsOrtu['nama']?></option>
<?php
} while ($row_rsOrtu = mysql_fetch_assoc($rsOrtu));
$rows = mysql_num_rows($rsOrtu);
if($rows > 0) {
mysql_data_seek($rsOrtu, 0);
$row_rsOrtu = mysql_fetch_assoc($rsOrtu);
}
?>
</select></td>
</tr>
<tr>
<td>Nama</td>
<td><div align="center">:</div></td>
<td><input name="nama" type="text" id="nama" value="<?php echo
$row_rsAnak['nama']; ?>"></td>
</tr>
<tr>
<td>Semester</td>
<td><div align="center">:</div></td>
<td><select name="semester" id="semester">
<option value="genap" <?php if (!(strcmp("genap",
$row_rsAnak['semester']))) {echo "SELECTED";} ?>>Genap</option>
<option value="ganjil" <?php if (!(strcmp("ganjil",
$row_rsAnak['semester']))) {echo "SELECTED";} ?>>Ganjil</option>
</select></td>
</tr>
A-30
<tr>
<td>Kelas</td>
<td><div align="center">:</div></td>
<td><select name="kelas" id="kelas">
<?php
do {
?>
<option value="<?php echo $row_rsKelas['kelas']?>"<?php if
(!(strcmp($row_rsKelas['kelas'], $row_rsAnak['kelas']))) {echo
"SELECTED";} ?>><?php echo $row_rsKelas['kelas']?></option>
<?php
} while ($row_rsKelas = mysql_fetch_assoc($rsKelas));
$rows = mysql_num_rows($rsKelas);
if($rows > 0) {
mysql_data_seek($rsKelas, 0);
$row_rsKelas = mysql_fetch_assoc($rsKelas);
}
?>
</select></td>
</tr>
<tr>
<td>Tahun Ajaran </td>
<td><div align="center">:</div></td>
<td><select name="thn_ajaran" id="thn_ajaran">
<option value="20052006" <?php if (!(strcmp(20052006,
$row_rsAnak['thn_ajaran']))) {echo "SELECTED";} ?>>2005 /
2006</option>
</select></td>
</tr>
<tr>
<td colspan="3"><div align="center">
<input type="submit" name="Submit" value="Enter">
<input name="Reset" type="reset" id="Reset" value="Cancel">
</div></td>
</tr>
A-31
</table>
<input type="hidden" name="MM_update" value="form1">
</form>
<?php
include_once "bottom.php";
mysql_free_result($rsOrtu);
mysql_free_result($rsAnak);
mysql_free_result($rsKelas);
?>
Komunikasi_delete.php <?php require_once('Connections/lee.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue =
"", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) :
$theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" :
"NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
A-32
$theValue = ($theValue != "") ? "'" . doubleval($theValue) .
"'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" :
"NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue :
$theNotDefinedValue;
break;
}
return $theValue;
}
if ((isset($_GET['kom_id'])) && ($_GET['kom_id'] != "")) {
$deleteSQL = sprintf("DELETE FROM tbl_komunikasi WHERE kom_id=%s",
GetSQLValueString($_GET['kom_id'], "text"));
mysql_select_db($database_lee, $lee);
$Result1 = mysql_query($deleteSQL, $lee) or die(mysql_error());
$deleteGoTo = "komunikasi.php";
header(sprintf("Location: %s", $deleteGoTo));
}
?>