Anda di halaman 1dari 293

Aplikasi Program PHP dan MySQL untuk Membuat Website Interaktif

Dalam perkembangan dunia web (world wide web) yang semakin lama semakin cepat ini, penggunaan program yang bekerja dalam website sebagai pengolah data dan database sebagai media penyimpanan data tidak dapat ditinggalkan lagi. Karena website yang sifatnya statis atau dalam arti hanya menyajikan data-data statis, dan pengunjung tidak dapat berinteraksi dalam memberikan argumennya dapat mengakibatkan kejenuhan bagi para pengunjung untuk membukanya kembali. Agar pengunjung tertarik dan dapat berinteraksi dengan web server atau pengunjung yang lain, maka Anda perlu untuk menggunakan sebuah program dan database yang dapat menangani masalah ini, sehingga mampu menjadikan website Anda menjadi lebih interaktif. Bertolak dari permasalahan tersebut, buku ini memberikan tip dan trik dengan menggunakan bahasa yang singkat namun mudah dipahami, termasuk bagi pembaca yang baru mengenal pemrograman PHP dan MySQL. Setelah Anda membaca dan mempelajari buku ini, Anda akan dapat membuat serta mengelola aplikasi-aplikasi website yang interaktif. Adapun materi-materi yang dibahas dalam buku ini mencakup: Instalasi Webserver, Modul PHP dan MySQL Mengawali Penulisan Kode Program PHP Jenis Data, Variabel dan Operator dalam Program PHP Struktur Control Fungsi Data Array Fungsi Pengolah String Fungsi Tanggal dan Waktu Operasi File Session dan Cookies Fungsi Mengirim Email Menggunakan Database MySQL Aplikasi Buku Tamu Aplikasi Counter Aplikasi Jajak Pendapat Aplikasi Berita Online.

Daftar Isi
Kata Pengantar .............................................................. Daftar Isi ........................................................................
BAB 1 PENGENALAN DAN INSTALASI PHP

iii v

Mengapa Menggunakan PHP ? ..................................................... Menggunakan Buku Ini ................................................................... Instalasi Program PHP ....................................................................
Instalasi Modul PHP .......................................................... Instalasi Server Microsoft IIS ............................................ Instalasi MySQL ................................................................

2 2 3 4 6 10 13

Mencoba Program PHP dan MySQL .............................................


BAB 2 STRUKTUR & PENULISAN PROGRAM PHP

Kode PHP dalam HTML..................................................................


BAB 3 TIPE DATA DALAM PROGRAM PHP

15

Tipe Data .........................................................................................


Tipe Data Integer .............................................................. Tipe Data Floating Point.................................................... Tipe Data String ................................................................ Tipe Data Array .................................................................

19 19 19 20 22

Aplikasi Program PHP dan MySQL Tipe Data Object ............................................................... 25

BAB 4 VARIABEL DALAM PEMROGRAMAN PHP

Pengertian Variabel .........................................................................


Variabel dari Form HTML .................................................. Konstanta ..........................................................................

27 29 31

BAB 5 OPERATOR PROGRAM PHP

Operator Aritmatika ......................................................................... Operator Increment / Decrement .................................................... Operator String ................................................................................ Operator Bitwise .............................................................................. Operator Perbandingan .................................................................. Operator Logika............................................................................... Operator Presedence...................................................................... Operasi Nilai Variabel dari Form HTML..........................................

33 34 35 36 37 37 38 39

BAB 6 STRUKTUR KENDALI DALAM PHP

Pernyataan If ...................................................................................
Fungsi If dalam Satu Statement .................................... Fungsi If Else .......................................................... Fungsi If Elseif sebagai Alternatif Ganda ...............

43 43 45 47 48 52

Pernyataan Switch .......................................................................... Loop .................................................................................................


2

Aplikasi Program PHP dan MySQL While Loop ........................................................................ Do While ....................................................................... For Loop............................................................................ 52 54 55

BAB 7 BEKERJA DENGAN ARRAY DAN FUNGSI

Array ................................................................................................
Membuat dan Mengakses Array ....................................... Array Multidimensi............................................................. Menambah Data Array ...................................................... Menggabungkan Array ...................................................... Menghapus Data Array ..................................................... Mengurutkan Array............................................................ Membuat Data Array dari Mengakses File ........................ Menampilkan String ......................................................... Menghitung Panjang String ............................................... Mengirimkan Argumen ...................................................... Include dan Require .......................................................... Mengambil dan Menggabung Elemen...............................

57 58 60 62 64 65 66 68 69 69 72 75 77 80

Fungsi ..............................................................................................

BAB 8 FUNGSI PENGOLAH STRING / TEKS

Fungsi-Fungsi String / Teks ............................................................


Fungsi Pemberi Tanda "\" pada Karakter .......................... Fungsi Pemberi Tanda "\" pada Tanda Petik Tunggal dan Tanda Petik Ganda ........................................................... Fungsi Penghitung Jumlah Karakter .................................

85 85 87 88

Aplikasi Program PHP dan MySQL Fungsi Penghapus Spasi pada String ............................... Fungsi Pemecah String ..................................................... Fungsi Pengubah Bentuk Penulisan Huruf........................ Fungsi Pengulang Penulisan String .................................. Fungsi Pencari String ........................................................ Contoh Penggunaan Fungsi Ereg() dalam Program ......... Fungsi Pencari dan Pengganti String ................................ Fungsi Crc32 ..................................................................... Fungsi Crypt() ................................................................... Fungsi Md5() ..................................................................... Fungsi HTMLentities ......................................................... Fungsi Nl2br ...................................................................... Fungsi Strip_Tags ............................................................. 90 91 95 98 100 105 109 112 112 113 115 118 118 120 122

Enkripsi Data ...................................................................................

Fungsi-Fungsi Konversi HTML .......................................................

BAB 9 OPERASI FILE

Mengecek Keberadaan File ............................................................ Mengakses File ............................................................................... Membaca Isi File ............................................................................. Menambah Isi File ........................................................................... Menyalin File ................................................................................... Mengganti Nama dan Menghapus File .......................................... Men-download File ..........................................................................

125 127 128 129 131 139 141

BAB 10 MENGGUNAKAN FUNGSI TANGGAL DAN WAKTU

Fungsi Checkdate ...........................................................................


4

147

Aplikasi Program PHP dan MySQL

Fungsi Date ..................................................................................... Fungsi Microtime ............................................................................. Fungsi Date dengan Dua Argumen ................................................
BAB 11 MENGGUNAKAN SESSION DAN COOKIES

152 155 156

Session ............................................................................................
Membuat Session ............................................................. Membuat Session dengan Fungsi Session_Register() ..... Mengecek Hasil Registrasi ................................................ Menghapus Variabel Session ........................................... Membuat Cookies ............................................................. Set Cookies dengan Batas Waktu .................................... Menghapus Cookies .........................................................

159 160 162 166 168 169 169 174 176

Cookies............................................................................................

BAB 12 MENGIRIM EMAIL

Validasi Email ..................................................................................


BAB 13 MENGGUNAKAN DATABASE MYSQL

185

Koneksi ke Database ...................................................................... Membuat Database ......................................................................... Membuat Tabel ............................................................................... Tipe Data Field ................................................................................ Tipe Data Numerik ............................................................

188 190 192 195 196 5

Aplikasi Program PHP dan MySQL Tipe Data String ................................................................ Tipe Data Char() dan Varchar()......................................... Tipe Data Tanggal ............................................................. 197 198 199 199 206 212 219 222 223 225 227

Memasukkan Data .......................................................................... Mencari dan Menampilkan Data ..................................................... Mengubah Data............................................................................... Menghapus Data ............................................................................. Mengubah Struktur Tabel .................................................. Menambah Field Tabel...................................................... Mengubah Field Tabel ...................................................... Menghapus Field Tabel .....................................................

BAB 14 APLIKASI BUKU TAMU

Buku Tamu dengan Database MySQL ..........................................


Struktur Database ............................................................. Form Pengisian Data Tamu .............................................. Program untuk Memproses Data Masukan ....................... Program untuk Menampilkan Data Pengunjung ................

235 236 239 242 244

BAB 15 APLIKASI JAJAK PENDAPAT

Struktur Database ........................................................................... Bagian Administrator ....................................................................... Bagian Tampilan Pertanyaan Jajak Pendapat ............................... Tampilan Hasil Jajak Pendapat ......................................................

252 255 271 276

Aplikasi Program PHP dan MySQL

BAB 16 APLIKASI COUNTER

Membuat Counter Sederhana ........................................................


BAB 17 APLIKASI BERITA ONLINE

286

Membuat Database dan Tabel ....................................................... File Koneksi PHP dengan MySQL.................................................. Halaman Anggota............................................................................
Halaman Pendaftaran ....................................................... Halaman Login ..................................................................

293 295 296 296 320 334 351 352 363 367

Kirim Artikel...................................................................................... Menampilkan Halaman Berita.........................................................


Halaman Index .................................................................. Halaman Kategori Berita ................................................... Halaman Pencarian...........................................................

Aplikasi Program PHP dan MySQL

PENGERTIAN DATABASE
Buku ini membahas tentang pembuatan program aplikasi database sistem informasi manajemen pendidikan berbasis web, yaitu menggunakan bahasa pemrograman PHP dan database MySQL. Dalam pembahasannya nanti juga disertai keterangan-keterangan dari masing-masing listing program, sehingga Anda mudah untuk memahami maksud dan tujuan pembuatan program ini. Selain penjelasan tentang pembuatan dan listing script PHP juga membahas tentang database MySQL yang sangat terkenal handal dalam menangani database berbasis web. Pada program ini khususnya membahas tentang pembuatan program sistem informasi manajemen online berbasis web. Sub sistem yang ada dalam program ini mulai input data pengolahan data siswa, pengolahan data nilai siswa, input dan pengolahan data instruktur, juga komponen-komponen lain yang mendukung program ini. Mengapa menggunakan bahasa program PHP dan berbasis web dalam membuat program ini? Alasannya adalah: 1. 2. Bahasa program PHP terbukti sangat handal dalam membangun sebuah program berbasis web. Waktu yang digunakan untuk memproses data dan menjalankan printah-perintah query sangat cepat.

Aplikasi Program PHP dan MySQL 3. 4. Dengan berjalan dalam sebuah web server, maka secara otomatis program ini bersifat multiuser. Database MySQL dalam menyimpan data ditempatkan ke dalam direktori khusus dan terpisah dengan file program PHP yang lain, sehingga keamanan data dari orang usil lebih terjaman. Web server dan database server terpisah sehingga menyulitkan pihak luar yang tidak punya akses untuk mengakses data yang di dalam database. Bahasa program PHP dan database MySQL lebih fleksibel, karena dapat diakses dalam sistem operasi Windows maupun linux. Program dapat diakses dari komputer manapun tanpa harus menginstall program client. Program bantuan untuk mengakses sistem ini hanya sebuah browser yang mudah dicari.

5.

6.

7.

Dalam pembuatan sebuah program aplikasi yang baik, pengolahan data merupakan kunci utama dari kesempurnaan fungsi. Dengan adanya pengolahan data yang baik, maka Anda dapat dengan mudah mengakses data yang dibutuhkan. Sebelum Anda memasuki tahap pembuatan aplikasi yang memanfaatkan fasilitas database, sebaiknya Anda mengenal lebih dulu tentang database. Database adalah sekumpulan data yang terdiri atas satu atau lebih tabel yang saling berhubungan. Anda atau user mempunyai wewenang untuk mengakses data tersebut, baik menambah mengubah atau menghapus data yang ada dalam tabel-tabel tersebut.

TABEL
Tabel adalah media untuk menyimpan data yang telah diolah dan mempunyai sesuatu tema tertentu, misalnya tabel yang digunakan untuk menyimpan data tentang karyawan berisikan tentang nomor induk karyawan, nama karyawan alamat karyawan dan status karyawan yang disimpan kedalam field-field tertentu. 9

Aplikasi Program PHP dan MySQL Berikut ini adalah contoh tabel yang digunakan untuk menyimpan data tentang karyawan: Tabel 1.1 Contoh tabel karyawan NIK Nama_karyawan Yeni cahyono Susiana Heri Purwanto Wawan Mei Lenawati alamat Jl. Arumdalu 25 Ponorogo Jl. Manggis 43 Ponorogo Jl. Lawu 59 Madiun Jl.Arjuna 63 Madiun Jl. Melati 54 Madiun jabatan Instruktur Administrasi Instruktur Kepala Bagian Bendahara

k-001 k-002 k-003 k-004 k-005

A
Keterangan: A : Kolom atau Field B : Baris atau Record Field adalah tempat dimana data atau informasi dalam kelompok sejenis dimasukkan. Record adalah data lengkap dalam jumlah tunggal yang tersimpan dalam bentuk baris horisontal pada tabel. Dalam satu tabel dapat diinputkan beberapa record sekaligus.

SKEMA DATABASE
Database digunakan untuk menampung beberapa tabel atau query yang dijadikan median untuk menyimpan data sebagai sumber pengolahan data. Berikut ini adalah salah satu contoh skema database:

10

Aplikasi Program PHP dan MySQL

database_siswa
data_siswa Nim Nama Alamat Tgl_lahir Sex Asal_sekolah Agama Kelas jurusan data_nilai Nim Kelas Jurusan nilai_harian nilai_uts nilai_uas nilai_akhir absensi Kelas Jurusan Nim nama krs Nim Nama Kelas Jurusan Materi Instruktur Nilai_harian Nilai_tugas Nilai_uts Nilai_uas Nilai_akhir grade

Gambar 1.1 Contoh skema database

Skema yang ditampilakan di atas menunjukkan bahwa sebuah database dapat menampung beberapa tabel. Kemudian dalam tiap-tiap tabel terdiri dari beberapa field. Dalam suatu program database berbasis web, seperti sebuah web berita, web komunitas, forum diskusi, buku tamu sebaiknya dibuat sebuah database terstruktur dan sistematis. Dengan demikian program tersebut dapat berumur panjang dan dapat dioperasikan dengan kecepat yang optimal. Yang perlu diperhatikan dalam membuat database adalah memori yng digunakan untuk menyimpan data di dalamnya. Semakin tidak efisiensi dalam penggunaan tipe dan lebar field, maka akan semakin tidak hemat memori penyimpanan data. Oleh karena itu dalam membuat tabel Anda harus memperhatikan panjang field dengan panjang data yang akan Anda inputkan dalam field tersebut. Misalkan untuk membuat filed tahun lebih baik menggunakan panjang 4, karena untuk tahun hanya mempunyai 4 karakter saja. Selain panjang field yang perlu Anda perhatikan 11

Aplikasi Program PHP dan MySQL adalah tipe field. Tipe field sebaikkan sesuaikan dengan jenis data yang akan diinputkan, misalkan data angka, teks atau data tanggal. Hal yang perlu Anda perhatikan adalah pemberian nama tabel dan field. Untuk memberikan nama database, tabel dan filed membedakan huruf kapital dan huruf kesil. Selain itu juga tidak mengijinkan penggunakan spasi dan karakter-karakter khusus seperti ? < > * & ^ # @ !.

STRUKTUR RELASI DATABASE


Hubungan data antar tabel dalam database juga disebut relasi. Relasi digunakan untuk meringkas data yang ada dalam database sehingga penggunaan data akan lebih fleksibel dan untuk memori penyimpananpun akan lebih efisien. Salah satu contoh relasi data antar tabel adalah pada saat program akan menampilkan data nama siswa pada data nilai maka pada tabel nilai tidak perlu lagi membaut field nama_siswa, namun cukup membuat nama filed nis, sehingga dengan adanya data nis tersebut halaman tampilan data nilai cukup mengambil data nama siswa yang ada dalam tabel data_siswa dengan merujuk data nis yang ada dalam tabel data nilai. Dengan sistem tersebut dapat diambil beberapa manfaat yang besar yaitu: 1. Penyimpanan data lebih efisien, karena tidak perlu menuliskan nama siswa secara berulang-ulang. 2. Tingkat efektifitas dan konsisten data lebih terjamin, Contoh kasus apabila ada kesalahan penulisan nama siswa kemudian akan diganti dengan nama yang benar, administrator cukup mengganti data nama siswa yang ada dalam tabel data siswa. Data nama siswa di setiap daftar nilai yang ada di tabel data_nilai akan berubah keseluruhan secara otomatis mengikuti data siswa yang ada dalam tabel data_siswa. 3. Memudahkan bagi administrator untuk memantau ata mengontrol data yang ada dalam database. Penggunaan relasi dalam sistem ini dilaksanakan pada saat script PHP membaca dan mengolah data yang ada dalam database. Script PHP mampu melaksanakan korelasi antar tabel hanya berdasarkan data tabel yang dibaca dari tiap-tiap tabel. Type field tidak

12

Aplikasi Program PHP dan MySQL mempengaruhi penggunaan relasi ini. Karena relasi dijalankan setelah data dibaca oleh script PHP.

13

Aplikasi Program PHP dan MySQL

GAMBARAN UMUM PEMBUATAN PROGRAM

SISTEM INFORMASI MANAJEMEN PENDIDIKAN ONLINE


Program ini digunakan dalam sistem informasi manajemen pendidikan di sebuah lembaga pendidikan komputer. Sistem yang buat bersifat intern, artinya pengguna program ini hanya kalangan tertentu saja yang diberi hak akses oleh program. Program ini bekerja dalam sebuah web server dan dapat diakses melalui jaringan intranet maupun internet. Karena program ini berjalan dalam sebuah jaringan intranet atau internet, maka dapat dijalankan secara multiuser, yaitu dapat diakses oleh banyak user / pengguna secara bersamaan dari komputer yang berbeda-beda. Bagian-bagian yang akan mengakses program ini adalah: 8. Administrasi / Administrator Bagian ini mempunyai hak dan akses yang paling luas. Seorang administrator dapat memasukkan data-data cetak ke dalam sistem. Data-data yang dapat dimasukkan dan diubah oleh administrator ini adalah:

14

Aplikasi Program PHP dan MySQL a. Data karyawan Data karyawan ini mencakup nama, alamat, tempat dan tanggal lahir, nomor telepon, pendidikan terakhir,status perkawinan, status jabatan, jabatan, mulai kerja, UserID dan password karyawan. b. Data siswa Data siswa baru yang akan dimasukkan ke dalam program adalah nama, jenis kelamin, alamat, tempat tanggal lahir,agama, nomor telepon,pendidikan terakhir, asal sekolah, nama orang tua, pekerjaan orang tua, mulai masuk, nama kelas, UserID dan password siswa untuk login siswa tersebut ke dalam sistem. c. Data kelas Data kelas adalah informasi tentang kelas tersebut, antara lain nama dan jenis jenjang pendidikan yaitu Diploma dan Reguler. d. Data jurusan Data jurusan yang dimasukkan administrator adalah nama jurusan, kode jurusan dan keterangan tentang jurusan tersebut. e. Data materi. Untuk data materi ini ada dua jenis, yaitu bagian untuk memasukkan data materi baru yang mencakup informasi tentang nama materi dan jumlah session. Bagian yang kedua adalah untuk membuat tabel baru yang digunakan untuk menampung data-data siswa dan materi yang di tempuh oleh siswa dari kelas tertentu. Informasi yang dimasukkan adalah nama materi, instruktur, assisten 1, assisten 2, nama kelas, jumlah session, mulai masuk, jam masuk dan hari masuk. Selain itu seorang passwordnya sendiri. administrator juga dapat mengganti

15

Aplikasi Program PHP dan MySQL Hak akses administrator yang ke dua adalah melihat dan mengamati perkembangan siswa dalam proses belajar, yaitu meliputi nilai harian, nilai tugas, nilai tengah semester, nilai semester yang dimasukkan oleh Instrukturnya. Data yang ke dua adalah data absensi atau keaktifan siswa tersebut dalam mengikuti pelajaran. Selain itu seorang Administrator juga dapat mencetak laporan nilai dan keaktifan siswa tiap kelas atau materi yang ditempuh. 9. Instruktur / Karyawan Instruktur adalah karyawan yang bertugas mengajar materimateri tertentu dalam proses belajar mengajar. Dalam sistem ini seorang instruktur mempunyai hak akses untuk memberikan laporan nilai siswa dan laporan keaktifan siswa dalam menempuh pelajaran. 10. Siswa Siswa dalam program ini hanya memiliki hak akses untuk melihat nilai dan data keaktifan siswa tersebut. Jadi siswa tidak dapat melihat nilai dan data keaktifan siswa lain walaupun sama-sama satu kelas dan menempuh materi pelajaran yang sama. 11. Orang tua siswa / Wali siswa Orang tua siswa atau wali siswa dalam sistem ini berperan sebagai subyek yang mengontrol anaknya yang telah menempuh pelajaran dalam lembaga ini. Orang tua siswa dapat melihat perkembangan anaknya dengan melihat data yang ada dalam program ini dengan menggunakan fasilitas userID dan password yang diberikan oleh administrator.

16

Aplikasi Program PHP dan MySQL

TARGET DAN SASARAN PENGGUNAKAN

SISTEM INFORMASI MANAJEMEN PENDIDIKAN ONLINE


Setiap program yang dibuat dan digunakan pasti memiliki target yang ingin dicapai dan juga memiliki sasarnan yang dituju. Adapun target dan sasaran yang ingin dicapai adalah: 1. Dengan menggunakan program ini diharapkan aktifitas administrasi pada sebuah lembaga pendidikan dapat tercatat dengan rapi dan efisien baik media, waktu dan tenaga. Target yang kedua diharapkan dengan adanya sistem yang dijalankan ini akan memperkecil tindak keteledoran dalam bentuk kurang ketelitian seorang instruktur untuk mengecek absensi dan juga menuliskan nilai siswa yang dibimbingnya. Tagert yang ingin dicapai yang ke tiga adalah memacu siswa untuk lebih rajin belajar dan lebih giat mengikuti pelajaran. Orang tua siswa ikut aktif mengawasi anaknya yang sedang menempuh pelajaran di lembaga pendidikan dengan melihat perkembangan dan nilai siswa yang bersangkutan melalui internet dengan membuka halaman web yang berisi tentang informasi perkembangan pendidikan anaknya dengan fasilitas UserID dan password.

2.

3. 4.

STRUKTUR DAN ALUR SISTEM INFORMASI

MANAJEMEN PENDIDIKAN
Untuk memperjelas gambaran sistem informasi manajemen pendidikan berbasis website yang akan dibuat ini akan digambarkan sebuah struktur dan alur sistem di bawah ini: Alur data dan aktivitas yang dilakukan oleh administrator

Proses / alur input data

17

Aplikasi Program PHP dan MySQL

Data karyawan Data siswa

Tabel karyawan Tabel siswa Tabel Data_materi Input data Tabel jurusan Tabel Data_materi Tabel kelas Tabel Kelas_n1,n2,..

Data untuk materi baru Data jurusan Data materi baru Kelas kelas

Gambar 2.1. Struktur / alur input data oleh administrator

Keterangan:
Masing-masing data dapat dimasukkan pada satu database dengan tabel yang berbeda-beda sesuai dengan jenis data yang dimasukkan. Untuk tabel kelas_1, kelas_2, kelas_3, kelas_n1,n2 adalah tabel baru yang akan dibuat secara otomatis oleh program apabila ada kelas baru. Tabel tersebut dibuat mengacu pada nama kelas yang dimasukkan pada tabel kelas. Artinya setiap ada data kelas baru yang dimasukkan pada tabel kelas, maka pada database juga akan di buatkan tabel baru dengan nama kelas_n ( n adalah nomor id dari data kelas dari tabel kelas ).

Proses / alur membuat materi baru dari kelas yang sudah terdaftar

18

Aplikasi Program PHP dan MySQL

Materi kelas baru

Data kelas dari tabel kelas

Data siswa dari tabel siswa

Proses buat materi kelas untuk pelajaran baru

Data materi dari tabel data_materi

Data instruktur dari tabel karyawan

Tabel kelas_n

Gambar 2.2. Struktur / alur membuat materi pelajaran untuk kelas yang sudah terdaftar oleh administrator

Keterangan:
Yang dimaksud dengan membuat materi baru pada kelas yang sudah terdaftar adalah proses mendaftarkan siswa pada kelas tertentu kedalam tabel kelas_n tersebut. Proses ini dilaksanakan berdasarkan data-data yang sudah ada. Untuk materi baru ini membutuhkan beberapa data, yang pertama adalah data kelas yang menempuh materi tersebut. Yang ke dua adalah nama materi diambil dari tabel data_materi, kemudian juga nama-nama siswa dari kelas tersebut dengan membaca tabel siswa. Yang terakhir adalah membaca tabel

19

Aplikasi Program PHP dan MySQL karyawan untuk mengambil nama instruktur sebagai pembimbing kelas dengan materi tersebut. Data-data tersebut kemudian dimasukkan ke dalam tabel kelas_n tersebut, sehingga dapat diakses dengan mudah oleh administrator, instruktur, siswa dan juga orang tua siswa.

Proses / alur mencetak laporan nilai dan kehadiran siswa

20

Aplikasi Program PHP dan MySQL Formulir untuk login

Data administrator

Proses Login (cek password)

tidak

cocok

tabel materi

Baca tabel materi dan kelas

tabel kelas

tabel kelas_n

Baca tabel kelas_n berdasarkan data materi dan kelas Tampilan cetak data absensi Hasil cetak data abseni

Tampilan cetak data nilai Hasil cetak data nilai

Gambar 2.3. Struktur / alur membuat laporan kehadiran dan nilai siswa oleh administrator

21

Aplikasi Program PHP dan MySQL

Keterangan:
Salah satu tugas administrator adalah mencetak arsip yang dibutuhkan adalah data nilai siswa dan data absensi siswa. Untuk mencetak data tersebut dibutuhkan beberapa urutan tingkatan. Yang pertama administrator harus melakukan login untuk mauk ke dalam sistem. Apabila userid dan password sesuai maka sistem akan membaca data materi dan kelas. Apabila password tidak sesuai maka sistem akan membawa administtrator ke halaman login kembali. Data materi dan kelas yang telah dibaca kemudian digunakan untuk membaca data kelas_n yang berisikan tentang siswa, nilai siswa, kehadiran siswa, data instruktur. Data tersebut kemudian ditampilkan dalam bentuk tampilan cetak yang kemudian dapat dicetak oleh administrator sebagai arsip manual. Alur data dan aktivitas yang dilakukan oleh instruktur Proses / alur mengisi data absensi dan nilai siswa.

22

Aplikasi Program PHP dan MySQL Formulir untuk login

Data karyawan

Proses Login (cek password)

tidak

cocok

Tabel kelas

Membaca data kelas dan materi Membaca data siswa berdasarkan materi tertentu Tampilan data absensi / nilai Formulir ubah data kehadiran siswa berdasar session Proses ubah data absensi / nilai berhasil

Tabel materi

Tabel Kelas_n

23

Aplikasi Program PHP dan MySQL


Gambar 2.4. Struktur / alur mengisi data kehadiran dan nilai siswa oleh instruktur

Keterangan:
Tugas dari instruktur dalam sistem ini adalah mengisi formulir kehadiran dan nilai siswa untuk laporan ke bagian administrasi / administrator. Tahap yang pertama instruktur harus melakukan login pada halaman formulir untuk login. Apabila data password yang diisikan sesuai dengan data password yang ada dalam tabel karyawan, maka sistem akan membaca tabel kelas dan materi. Apabila password yang dimasukkan tidak sesuai dengan data password yang ada pada tabel karyawan, maka akan dialihkan ke halaman formulir login kembali untuk mengulaginya. Data yang dibaca dari tabel kelas dan data materi yang dibaca dari tabel materi tersebut digunakan untuk membaca data siswa yang ada di tabel kelas tertentu yang telah mengikuti materi tertentu tersebut. Data siswa akan ditampilkan menjadi dua halaman yaitu data kehadiran siswa dan data nilai siswa. Kedua jenis data tersebut dapat diubah nilainya oleh instruktur. Hasil perubahan tersebut akan dikirim kembali ke tabel kelas_n tersebut. Setelah proses selesai maka akan diarahkan kembali pada halaman tampilan data kehadiran maupun nilai siswa. Alur data dan aktivitas yang dilakukan oleh siswa untuk melihat data nilai dan kehadiran siswa tersebut. Proses / alur melihat data absensi dan nilai siswa.

24

Aplikasi Program PHP dan MySQL Formulir untuk login

Data siswa

Proses Login (cek password)

tidak

cocok

Tabel Kelas_n

Membaca data siswa berdasarkan materi tertentu

Tampilan data absensi

Tampilan data nilai

keluar
Gambar 2.4. Struktur / alur melihat data kehadiran dan nilai siswa oleh siswa

Keterangan:
Karena siswa hanya mempunyai hak akses melihat data saja, maka alur data dalam sistem juga lebih sederhana dari pada alur data yang dijalankan oleh administrator atau instruktur. 25

Aplikasi Program PHP dan MySQL Yang pertama siswa harus login melalui formulir login. Apabila data password yang dimasukkan sesuai dengan data password yang ada dalam database, maka akan dibuka halaman siswa yang menginformasikan tentang data pribadi siswa, data kehadiran siswa dan data nilai siswa. Alur data dan aktivitas yang dilakukan oleh wali siswa untuk melihat data nilai dan kehadiran siswa. Proses / alur melihat data absensi dan nilai siswa.

26

Aplikasi Program PHP dan MySQL Formulir untuk login

Data Wali siswa

Proses Login (cek password)

tidak

cocok

Tabel Kelas_n

Membaca data siswa berdasarkan materi tertentu

Tampilan data absensi

Tampilan data nilai

keluar
Gambar 2.4. Struktur / alur melihat data kehadiran dan nilai siswa oleh wali siswa

Keterangan:
Wali siswa atau orang tua siswa dalam sistem ini aktivitasnya hanya melihat data nilai dan kehadiran anaknya. Jadi alur data dan sistemnya tidak jauh berbeda dengan alur data yang dilakukan oleh 27

Aplikasi Program PHP dan MySQL siswa. Bedanya pada alur data yang dilakukan oleh siswa membaca tabel siswa terlebih dahulu, tetapi alur data untuk wali siswa membaca data wali siswa terlebih dahulu.

MEMBUAT DATABASE
Untuk menyimpan semua data yang ada dalam sistem informasi manajemen pendidikan ini dibutuhkan sebuah database yang dibuat dalam MySQL. Database ini diberi nama pendidikan. Database pendidikan dibuat menggunakan script php yang disimpan pada sebuah file dan dijalankan dibrowser yang sebelumnya disimpan pada web server. Script php yang digunakan untuk membuat database tersebut adalah: <?php $host="localhost"; $userdb="root"; $passdb=""; $sambung=mysql_connect($host,$userdb,$passdb); mysql_create_db("pendidikan",$sambung); echo"Database pendidikan berhasil dibuat."; ?> Keterangan: Sebelum membuat sebuah database dibutuhkan script yang berfungsi untuk melakukan koneksi dengan Mysql, yaitu menggunkan fungsi mysql_conect() dengan hosting localhost, userid root dan password dalam kasus ini tidak ada. Kemudian untuk membuat database baru menggunakan fungsi mysql_create_db(pendidikan, $sambung); .

28

Aplikasi Program PHP dan MySQL

MEMBUAT TABEL
Tabel adalah bagian dari database yang berfungsi untuk menyimpan data-data tertentu. Pada program ini dibutuhkan banyak tabel, karena jenis data yang akan dimasukkan juga bermacam-macam. Dengan menggunakan tabel akan memudahkan seorang pembuat program dalam mengatur dan merancang struktur program. Tabel yang akan dibuat untuk program sistem informasi manajemen pendidikan ini dibuat berdasarkan jenis data yang akan dimasukkan.

TABEL KARYAWAN
Tabel karyawan digunakan untuk menampung data-data yang berhubungan dengan karyawan. Berikut adalah field-field yang dibuat dalam tabel karyawan:

Tabel 2.1 struktur tabel karyawan


Field name Id int Type Field Size 2 Keterangan Nomor id karyawan / instruktur (primary key, index) Nama karyawan Alamat karyawan Tempat tanggal lahir Agama karyawan Telepon karyawan Pendidikan terakhir Status perkawinan Status jabatan Jabatan karyawan Mulai menjadi karyawan Masa kerja User id kaeyawan Password karyawan

Nama Alamat Ttl Agama telepon Pendidikan Perkawinan Stt_jabatan Jabatan Mulai Masa Userid password

varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar

30 100 200 15 15 50 30 30 20 30 30 10 10

29

Aplikasi Program PHP dan MySQL Untuk membuat tabel karyawan tersebut menggunakan script php sebagai berikut: <?php $host="localhost"; $userdb="root"; $passdb=""; $sambung=mysql_connect($host,$userdb,$passdb); mysql_select_db($namadb,$sambung); $buat_tabel=mysql_query(CREATE TABLE karyawan ( id INT( 2 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , nama VARCHAR( 30 ) NOT NULL , alamat VARCHAR( 100 ) NOT NULL , ttl VARCHAR( 200 ) NOT NULL , agama VARCHAR( 15 ) NOT NULL , telepon VARCHAR( 15 ) NOT NULL , pendidikan VARCHAR( 50 ) NOT NULL , perkawinan VARCHAR( 30 ) NOT NULL , stt_jabatan VARCHAR( 30 ) NOT NULL , jabatan VARCHAR( 20 ) NOT NULL , mulai VARCHAR( 30 ) NOT NULL , masa VARCHAR( 30 ) NOT NULL , userid VARCHAR( 10 ) NOT NULL , password VARCHAR( 10 ) NOT NULL )); If($buat_tabel){ EchoTabel karyawan berhasil dibuat; }else{ EchoTabel karyawan gagal dibuat; }

30

Aplikasi Program PHP dan MySQL

TABEL SISWA
Tabel 2.2 Struktur tabel siswa
Field name Id nama sex alamat tempat_lahir tgl_lahir agama telepon pendidikan asal_sekolah orang_tua pekerjaan masuk kelas userid password status Type int varchar varchar varchar varchar int varchar varchar varchar varchar varchar varchar int varchar varchar varchar int Field Size 2 30 10 200 20 30 20 15 30 50 50 100 20 20 50 10 1 Keterangan Nomor id siswa (primary key, index) Nama siswa Jenis kelamin Alamat siswa Tempat lahir siswa Tanggal lahir siswa Agama siswa Nomor telepon siswa Pendidikan terakhir siswa Asal sekolah siswa Nama orang tua siswa Pekerjaan orang tua Mulai masuk Kelas Userid siswa Password siswa Status keaktifan

Script untum membuat tabel siswa tersebut adalah sebagai berikut: <?php $host="localhost"; $userdb="root"; $passdb=""; $sambung=mysql_connect($host,$userdb,$passdb); mysql_select_db($namadb,$sambung); $buat_tabel=mysql_query(CREATE TABLE siswa (

31

Aplikasi Program PHP dan MySQL id int(4) NOT NULL auto_increment, nama varchar(30) NOT NULL default '', sex varchar(10) NOT NULL default '', alamat varchar(200) NOT NULL default '', tempat_lahir varchar(20) NOT NULL default '', tgl_lahir int(30) NOT NULL default '0', agama varchar(20) NOT NULL default '', telepon varchar(15) NOT NULL default '', pendidikan varchar(30) NOT NULL default '', asal_sekolah varchar(50) NOT NULL default '', orang_tua varchar(50) NOT NULL default '', pekerjaan varchar(100) NOT NULL default '', masuk int(20) NOT NULL default '0', kelas varchar(20) NOT NULL default '', userid varchar(50) NOT NULL default '', password varchar(10) NOT NULL default '', status int(1) NOT NULL default '1', PRIMARY KEY (id) )); If($buat_tabel){ EchoTabel siswa berhasil dibuat; }else{ EchoTabel siswa gagal dibuat; }

TABEL KELAS
Tabel kelas digunakan untuk menampung data-data nama kelas. Filed-field yang digunakan adalah:

Tabel 2.3 Struktur tabel kelas


Field name Id nama jenis 32 Type int varchar varchar Field Size 3 15 10 Keterangan Nomor id kelas (primary key, index) Nama kelas Jenis kelas

Aplikasi Program PHP dan MySQL status varchar 10 Status kelas

Script php yang digunakan untuk membuat tabel kelas tersebut adalah: <?php $host="localhost"; $userdb="root"; $passdb=""; $sambung=mysql_connect($host,$userdb,$passdb); mysql_select_db($namadb,$sambung); $buat_tabel=mysql_query(CREATE TABLE kelas ( id int(3) NOT NULL auto_increment, nama varchar(15) NOT NULL default '', jenis varchar(10) NOT NULL default '', status varchar(10) NOT NULL default '', PRIMARY KEY (id) )); If($buat_tabel){ EchoTabel kelas berhasil dibuat; }else{ EchoTabel kelas gagal dibuat; }

TABEL JURUSAN
Tabel jurusan ini khusus digunakan untuk menampung data-data nama materi. Filed-field yang digunakan adalah:

Tabel 2.4 Struktur tabel jurusan


Field name Id Type int Field Size 3 Keterangan Nomor id jurusan (primary 33

Aplikasi Program PHP dan MySQL key, index) Kode jurusan Nama jurusan Keterangan jurusan

kode nama keterangan

varchar varchar varchar

10 255 255

Script php yang digunakan untuk membuat tabel jurusan tersebut adalah: <?php $host="localhost"; $userdb="root"; $passdb=""; $sambung=mysql_connect($host,$userdb,$passdb); mysql_select_db($namadb,$sambung); $buat_tabel=mysql_query(CREATE TABLE jurusan ( id int(3) NOT NULL auto_increment, kode varchar(10) NOT NULL default '', nama varchar(255) NOT NULL default '', keterangan varchar(255) NOT NULL default '', PRIMARY KEY (id) )); If($buat_tabel){ EchoTabel jurusan berhasil dibuat; }else{ EchoTabel jurusan gagal dibuat; }

TABEL MATERI
Berikut ini adalah struktur tabel materi yang akan digunakan untuk menampung data materi:

Tabel 2.5 Struktur tabel materi

34

Aplikasi Program PHP dan MySQL Field name Id Type int Field Size 3 Keterangan

nama varchar kelas int instruktur varchar Assisten1 Varchar Assisten2 Varchar Jml_session Int Mulai Varchar Jam_masuk Varchar Hari_masuk Varchar Status Int Script php yang digunakan adalah: <?php $host="localhost"; $userdb="root"; $passdb="";

Nomor id materi (primary key, index) 15 Nama materi 2 id kelas 30 Id karyawan 30 Id karyawan 30 Id karyawan 2 Jumlah pertemuan 15 Waktu mulai pelajaran 15 Jam masuk pelajaran 200 Hari masuk pelajaran 1 Status pelajaran untuk membuat tabel materi tersebut

$sambung=mysql_connect($host,$userdb,$passdb); mysql_select_db($namadb,$sambung); $buat_tabel=mysql_query(CREATE TABLE materi ( id int(3) NOT NULL auto_increment, nama varchar(15) NOT NULL default '', kelas int(2) NOT NULL default '0', instruktur varchar(30) NOT NULL default '', assisten1 varchar(30) NOT NULL default '', assisten2 varchar(30) NOT NULL default '', jml_session int(2) NOT NULL default '0', mulai varchar(15) NOT NULL default '', jam_masuk varchar(15) NOT NULL default '', hari_masuk varchar(200) NOT NULL default '', status int(1) NOT NULL default '1', PRIMARY KEY (id) 35

Aplikasi Program PHP dan MySQL )); If($buat_tabel){ EchoTabel materi berhasil dibuat; }else{ EchoTabel materi gagal dibuat; }

TABEL DATA_MATERI
Tabel data_materi ini berbeda dengan tabel materi. Tabel data_materi ini berisikan data materi saja. Berikut adalah fieldfield yang ada pada tabel data_materi tersebut:

Tabel 2.6 Struktur tabel data_materi


Field name Id Type int Field Size 3 Keterangan

Nomor id materi (primary key, index) nama varchar 200 Nama materi session int 2 Jumlah session Script php yang digunakan untuk membuat tabel data_materi tersebut adalah: <?php $host="localhost"; $userdb="root"; $passdb=""; $sambung=mysql_connect($host,$userdb,$passdb); mysql_select_db($namadb,$sambung); $buat_tabel=mysql_query(CREATE TABLE data_materi ( id int(3) NOT NULL auto_increment, nama varchar(200) NOT NULL default '', session int(2) NOT NULL default '0', PRIMARY KEY (id) 36

Aplikasi Program PHP dan MySQL )); If($buat_tabel){ EchoTabel data_materi berhasil dibuat; }else{ EchoTabel data_materi gagal dibuat; }

TABEL WALISISWA
Tabel walisiswa digunakan untuk menampung data walisiswa, seperti nama, userid dan password. Berikut adalah filed-field yang ada dalam tabel walisiswa:

Tabel 2.7 Struktur tabel walisiswa


Field name Id Type int Field Size 4 Keterangan

Nomor id wali siswa (primary key, index) Id_siswa varchar 4 ID siswa Nama_siswa varchar 30 Nama siswa nama varchar 50 Nama wali siswa userid varchar 10 Userid wali siswa password varchar 10 Password wali siswa Script php yang digunakan untuk membuat tabel walisiswa tersebut adalah: <?php $host="localhost"; $userdb="root"; $passdb=""; $sambung=mysql_connect($host,$userdb,$passdb); mysql_select_db($namadb,$sambung); $buat_tabel=mysql_query(CREATE TABLE wali_siswa (

37

Aplikasi Program PHP dan MySQL id int(4) NOT NULL auto_increment, id_siswa int(4) NOT NULL default '0', nama_siswa varchar(30) NOT NULL default '', nama varchar(50) NOT NULL default '', userid varchar(10) NOT NULL default '', password varchar(10) NOT NULL default '', PRIMARY KEY (id) )); If($buat_tabel){ EchoTabel walisiswa berhasil dibuat; }else{ EchoTabel walisiswa gagal dibuat; }

TABEL ADMINISTRATOR
Tabel administrator digunakan untuk menampung data untuk administrator / administrasi, seperti nama, userid dan password. Berikut adalah filed-field yang ada dalam tabel administrator:

Tabel 2.8 Struktur tabel administrator


Field name Id Type int Field Size 4 Keterangan

nama varchar 20 userid varchar 8 password varchar 8 Script php yang digunakan untuk tersebut adalah: <?php $host="localhost"; $userdb="root"; $passdb=""; 38

Nomor id administrator (primary key, index) Nama Administrator Userid administrator Password administrator membuat tabel administrator

Aplikasi Program PHP dan MySQL $sambung=mysql_connect($host,$userdb,$passdb); mysql_select_db($namadb,$sambung); $buat_tabel=mysql_query(CREATE TABLE administrator ( id int(2) NOT NULL auto_increment, userid varchar(8) NOT NULL default '', password varchar(8) NOT NULL default '', nama varchar(20) NOT NULL default '', PRIMARY KEY (id) )); If($buat_tabel){ EchoTabel administrator berhasil dibuat; }else{ EchoTabel administrator gagal dibuat; }

39

Aplikasi Program PHP dan MySQL

PENGERTIAN SCRIPT PENDUKUNG


Setiap program yang dibuat dengan terstruktur dan sistematis pasti mengandung banyak file yang berisikan script-script dengan fungsi yang berbeda-beda. Pada bagian fungsi-fungsi tertentu dalam program kadang membutuhkan script yang mempunyai kegunaan yang sama, misalkan script yang difungsikan sebagai koneksi parogram dengan database MySQL. Jadi setiap file yang akan membaca database selalu menggunakan script ini di awal script program untuk melakukan koneksi kedatabase terlebih dahulu. Agar program efektif dan efisien tarhadap banyaknya file yang akan diakses, maka untuk fungsi yang sering digunakan secara berulang-ulang ditulis dan disimpan pada file pendukung dan dapat dipanggil dari file lain yang menbutuhkan menggunakan fungsi include nama_file.php; .

SCRIPT PENDUKUNG
Script pendukung dalam file ini ada beberapa yang akan dibuat. Script tersebut akan disimpan ke dalam file, sehingga file tersebut dapat dipanggil oleh file lain yang membutuhkannya.

40

Aplikasi Program PHP dan MySQL

SCRIPT KONEKSI DATABASE


Script ini digunakan untuk melakukan koneksi dengan database. Jadi setiap ada file yang akan membaca data pada database akan memanggil file ini terlebih dahulu. Berikut adalah script koneksi database: <?php // sambung.php $host="localhost"; $userdb="root"; $passdb=""; $sambung=mysql_connect($host,$userdb,$passdb); mysql_select_db($namadb,$sambung); ?>

MEMBUAT DATA TANGGAL DAN JAM SEKARANG


Pada halaman-halaman tertentu ditampilkan data tangga atau data jam pada saat file tersebut diakses oleh user. Halamanhalaman tersebut tentunya lebih dari satu. Untuk meringkas script yang harus ditulis berulang-ulang, maka lebih efektif jika script tersebut disimpan pada file tersendiri dan dapat dipanggil oleh script yang membutuhkan. Berikut adalah script untuk membaca tanggal dan jam sekarang: <?php // tanggal.php $y=date("Y"); $d=date("d"); $m=date("M"); $bln=array('Januari', 'Pebruari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'Nopember',

41

Aplikasi Program PHP dan MySQL 'Desember'); $bulan=$bln[$m+1]; $tahun="$y"; $jam= date("H:i:s"); $hari_ini="$d $bulan $y"; ?>

Keterangan:
Pada script ini menggunakan beberapa fungsi, yang pertama adalah fungsi date() yang digunakan untuk membaca data waktu sekarang pada server. Kemudian untuk mendeklarasikan data bulan dalam bahasa Indnesia, maka harus diterjemahkan sendiri menggunakan fungsi array() yang memiliki data nama-nama bulan dalam bahasa Indonesia.

SCRIPT CEK SESSION


Script ini digunakan untuk memeriksa data sesi, apakah sudah terdaftar apa belum. Setiap halaman yang diakses melalui formulir login oleh user anggota harus diperiksa terlebih dahulu, apakah melalui halaman login atau melalui jalan pintas artinya menuliskan langsung lokasi file pada bagian address pada browser. <? session_start(); if(!session_is_registered("password ")){ header("location:../index.php"); exit; } ?>

Keterangan:

42

Aplikasi Program PHP dan MySQL Script ini berisi dua fungsi utama yaitu fungsi if dan dan fungsi session_is_registerd(). Fungsi ini memeriksa keberadaan data sesi yang terdaftar. Apabila data sesi tidak terdaftar maka pengunjung akan dialihkan ke halaman index.php.

MENGHAPUS SESSION
Script ini berfungsi untuk menghapus data sesi. Apabila seorang user atau anggota meninggal halaman anggota, agar data sesi dihapus maka data sesi harus dihapus. Hal ini dilakukan agar kemanan data terjaga karena pengunjung lain tidak dapat mengakses halaman anggota tanpa melakukan login terlebih dahulu. Script yang digunakan untuk menghapus data sesi ini adalah sebagai berikut: <? session_start(); session_destroy(); header("location:index.php"); ?>

Keterangan:
Fungsi yang digunakan untuk menghapus data sesi adalah session_destroy();. Setelah data sesi terhapus maka pengunjung akan dialihkan ke halaman index.php menggunakan fungsi header();.

43

Aplikasi Program PHP dan MySQL

Halam utama dalam sebuah program berbasis web disebut juga dengan nama halaman index. Halaman ini adalah halaman yang akan diakses pertama kali oleh user. Biasanya halaman ini diberi nama index.php, index.htm, index.html dan juga dapat diberi nama index.asp. Halaman index ini biasanya memiliki pintu-pintu yang menghubungkan ke halaman yang lain. Pintu yang menghubungkan halaman satu dengan yang lain dinamakan link. Link dalam halaman web ini dapat berupa obyek / gambar atau tulisan ditandakan dengan perubahan cursor dari gambar panah menjadi tangan menunjuk apabila melintasi sebuah link. Berikut adalah salah satu tampilan halaman index dan link yang ada di dalamnya.

44

Aplikasi Program PHP dan MySQL

Gambar 4.1 Halaman Index dan link.

Halaman utama / index ini disusun menggunakan bahasa pemrograman HTML. Untuk mendesain halaman index ini dapat menggunakan software Frontpage, dreamweaver dan masih ada beberapa lagi software sejenis. Yang perlu diperhatikan dalam mendesain halaman web adalah: 1. Menentukan ukuran halaman web. Ukuran standard dari halaman web adalah 800 X 600 pixel. Namun tidak ada ketentuan tentang ukuran website tersebut. Yang harus diperhatikan adalah tujuan mendesain halaman website ini salah satunya adalah memudahkan pengunjung. Dengan menggunakan ukuran standard monitor yang sering digunakan pengujung, maka pengunjung tidak perlu lagi menggerser scrol ke kanan atau ke kiri pada browser. 2. Memilih warna yang tepat.

45

Aplikasi Program PHP dan MySQL Pewarnaan dalam mendesain halaman web biasanya disesuaikan dengan topik atau isi dari website tersebut. Usahakan dengan menggunakan warna yang sesuai dengan misi dari website dan enak untuk dipandang. 3. Perhatikan keseimbangan dari isi halaman web tersebut, misalkan apabila disebelah kanan mengandung obyek, maka disebelah kiri juga imbangi dengan obyek atau pewarnaan yang berbeda. Hal ini dimaksudkan untuk menyeimbangkan pandangan dari pengunjung yang mengunjungi website tersebut. 4. Periksa setiap pembuatan link. Adanya link terputus akan merugikan pengelola website, karena pengunjung akan kebingungan dan akan kehilangan informasi pada halaman-halaman yang dain dalam website Anda. Berkut adalah salah satu contoh bentuk link yang dibuat dengan bahasa HTML: <a href="http://localhost/siswa/administrator/index.php"> administrator</a>

Keterangan:
Setiap tag-tag HTML selalu diawali dengan tanda < dan diakhiri dengan >. Jadi karakter yang ada diantara kedua tanda tersebut dianggap sebagai tag HTML. Perhatikan pada tag html diatas yaitu tag html dengan nama link. Tag link diawali dengan huruf a href=. Karekter setelah tanda samadengan adalah nilai dari link tersebut. Nilai dari link adalah lokasi dan nama file yang akan dituju jika link tersebut diklik. Berikutnya diikuti teks administrator yang akan ditampilkan dihalaman website sebagai link. Yang terakhir tag link di tutup dengan tanda </a> sebagai penutup tag link.

46

Aplikasi Program PHP dan MySQL

Pada program sistem informasi manajemen pendidikan ini dibagibagi menjadi beberapa bagian berdasarkan hak akses dari masingmasing user. Yang akan dibahas pertama kali adalah bagian program yang mengolah data dari user dengan hak akses paling luas, yaitu administrator atau admonistrasi. Dalam pembahasan buku ini pada masing-masing script, akan ditampilkan bagian-bagian yang perlu penjelasan saja. Untuk mencoba dan mempelajari program sepenuhnya, Anda dapat menggunakan listing program dari buku ini.

HALAMAN LOGIN
Halaman login adalah halaman paling awal yang akan diakses oleh pengujung dengan atribut sebagai administrator. Pada halaman ini memiliki beberapa obyek formulir, yaitu action, kotak teks untuk userid, kotak teks untuk password dan tombol submit untuk login. Berikut adalah tampilan halaman login untuk administrator:

47

Aplikasi Program PHP dan MySQL

Gambar 5.1 Halaman login administrator.

Halaman login administrator ini dibuat menggunakan tag-tag HTML, sehingga dapat ditampilkan di browser. Berikut adalah tag-tag HTML yang membentuk halaman login tersebut: <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr> <td width="182" valign="top">&nbsp;</td> <td valign="top"> <form method="POST" action="login.php"> <hr width="95%"> <? if($error){ echo"<p align=\"center\"><font color=\"#FF0000\">UserID atau

48

Aplikasi Program PHP dan MySQL Password yang Anda lagi.</font></p>";} ?> <p align="center">User ID<br> <input type="text" name="userid_admin" size="20" style="fontfamily: Arial; font-size: 10pt; color: #000080"></p> <p align="center">Password<br> <input type="password" name="password_admin" size="20" style="font-family: Arial; font-size: 10pt; color: #000080"></p> <p align="center"> <input type="submit" value="L O G I N" name="login" style="color: #000080; font-size: 10pt; font-weight: bold"></p> <hr width="95%"> </form> <p align="left" style="margin-right: 5px">&nbsp;</td> </tr> </table> masukkan salah.<br> Silakan ulangi

Keterangan:
Yang perlu diperhatikan dalam membuat formulir dari tag HTML adalah obyek-obyek yang ada di dalamnya. Pada tag-tag di atas ada beberapa bagian yang harus diperhatikan. Tag formulir diawali dengan tanda <form action= > dan iawali dengan </form>. Tag formulir di atas memiliki beberapa obyek, yang pertama adalah kotak teks yang digunakan untuk menuliskan userid berikut <input type="text" name="userid_admin" size="20" style="font-family: Arial; font-size: 10pt; color: #000080">. Yang kedua adalah kotak teks yang digunakan untuk menuliskan password tag-nya adalah <input type="password" name="password_admin" size="20" style="fontfamily: Arial; font-size: 10pt; color: #000080">. Kemudian yang terakhir adalah tombol dengan tipe submit yang digunakan untuk

49

Aplikasi Program PHP dan MySQL mengirim data userid dan password apabila diklik. Data tersebut akan dikirimkan ke file login.php sebagai script untuk memeriksa dan mencocokkan data dari formulir login dengan data yang dibaca dari tabel administrasi.

SCRIPT AUTORISASI USERID DAN

PASSWORD ADMINISTRATOR
Script yang digunakan untuk memeriksa apakah data userid dan password sesuai dengan data administrator dari tabel administrator ini disimpan ke dalam sebuah file dengan nama login.php. Berikut adalah script yang ada dalam file login.php: <? session_start(); include"../sambung.php"; $data=mysql_query("select * from administrator where userid='$userid_admin'"); $user=mysql_fetch_array($data); if($userid_admin ==""){ header("Location:./index.php?error=1"); }else{ if($password_admin=="$user[password]"){ $id_admin="$user[id]"; session_register("id_admin"); session_register("userid_admin"); session_register("password_admin"); header("Location:./admin.php"); }else{ header("Location:./index.php?error=1");

50

Aplikasi Program PHP dan MySQL }} ?>

Keterangan:
Script di atas diawali dengan fungsi start_session(), Fungsi ini digunakan untuk mendeklarasikan bahwa pada file ini memiliki data sesi. Fungsi strat_session() harus dituliskan pada awal script. Apabila dituliskan pada tengah atau akhir script, fungsi ini tidak akan berjalan dan dianggap sebuah kesalahan. Fungsi berikutnya adalah include, Fungsi ini digunakan memanggil file lain yang dibutuhkan pada script ini. Nilai dari fungsi include ini adalah ../sambung.php, artinya pada script di file ini membutuhkan script yang ada pada file sambung.php, yaitu untuk melakukan koneksi ke database. Setelah melakukan konesi dengan database menggukanan file sambung.php, berikutnya dalah membaca data yang ada dalam tabel administrator, yaitu bagian script pada: $data=mysql_query("select * from administrator where userid='$userid_admin'"); $user=mysql_fetch_array($data); Langkah berikutnya adalah membuat script yang berfungsi untuk memeriksa data masukan dari formulir login yaitu userid dan password. Jika data userid yang dimasukkan kosong maka akan dialihkan kembali pada halaman login. Kemudian apabila data yang dimasukkan lengkap, maka script akan mencocokkan data userid dan password yang dikirim dari formulir login dengan data administrator yang dibaca oleh script sebelumnya seperti pada potongan script dibawah ini: if($userid_admin ==""){ header("Location:./index.php?error=1"); }else{ if($password_admin=="$user[password]"){ $id_admin="$user[id]"; session_register("id_admin"); session_register("userid_admin"); 51

Aplikasi Program PHP dan MySQL session_register("password_admin"); header("Location:./admin.php"); }else{ header("Location:./index.php?error=1"); }} Apabila data userid dan password cocok dengan data yang dibaca dari database, maka script akan mendaftarkan id_admin, userid_admin dan password_admin ke dalam data sesi, kemudian administrator akan diarahkan ke halaman admin.php menggunakan fungsi header(). Apabila data userid dan data password tidak sesuai dengan data yang ada dalam database, maka administrator akan dialihkan ke halaman login kembali.

HALAMAN ADMIN
Halaman admin ini adalah halaman yang akan tampil apabila administrator telah login. Pada halaman ini akan menampilkan beberapa data yang ada dalam database dan juga pilihan menu berupa link untuk mengakses data-data tertentu, seperti data siswa, data karyawan, data kelas dan lain-lain. Berikut adalah script yang digunakan untuk membaca database dan menampilkan data pada halaman admin dengan nama file admin.php tersebut: <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr> <td width="182" valign="top"><p style="margin-left: 10px; marginright: 20px; margin-top: 2px; margin-bottom: 2px" align="left"> <font size="2">TAMBAH DATA</font></p> <p style="margin-left: 10px; margin-right: 20px; margin-top: 2px; margin-bottom: 2px" align="left"> <?

52

Aplikasi Program PHP dan MySQL // Bagian untuk menampilkan menu link ?> <font size="2"><a href="admin.php">Utama</a></font></p> <p style="margin-left: 10px; margin-right: 20px; margin-top: 2px; margin-bottom: 2px" align="left"><font size="2"><a href="admin.php?menu=karyawan">Data karyawan</a></font></p><p style="margin-left: 10px; margin-right: 20px; margin-top: 2px; margin-bottom: 2px" align="left"> <font size="2"><a href="admin.php?menu=siswa">Data siswa</a></font></p> <p style="margin-left: 10px; margin-right: 20px; margin-top: 2px; margin-bottom: 2px" align="left"> <font size="2"><a href="admin.php?menu=kelas">Data kelas</a></font></p> <p style="margin-left: 10px; margin-right: 20px; margin-top: 2px; margin-bottom: 2px" align="left"> <font size="2"><a href="admin.php?menu=jurusan">Data jurusan</a></font></p> <p style="margin-left: 10px; margin-right: 20px; margin-top: 2px; margin-bottom: 2px" align="left"> <font size="2"><a href="admin.php?menu=materi">Data materi</a></font><p style="margin-left: 10px; margin-right: 20px; margin-top: 2px; margin-bottom: 2px" align="left">&nbsp;<p style="margin-left: 10px; margin-right: 20px; margin-top: 2px; margin-bottom: 2px" align="left"> <font size="2"><a href="admin.php?menu=password">Ganti password</a></font><p style="margin-left: 10px; margin-right: 20px; margin-top: 2px; margin-bottom: 2px" align="left"> <font size="2"><a href="../keluar.php">Keluar</a></font></td> <td valign="top"> <?

53

Aplikasi Program PHP dan MySQL //batas awal if(isset($menu)){ include"$menu.php"; }else{ // membaca data pada database include"../sambung.php"; $data1=mysql_query("select * from karyawan"); $t_karyawan=mysql_num_rows($data1); $data2=mysql_query("select * from siswa"); $t_siswa=mysql_num_rows($data2); $data3=mysql_query("select * from kelas"); $t_kelas=mysql_num_rows($data3); $data4=mysql_query("select * from jurusan"); $t_jurusan=mysql_num_rows($data4); $data5=mysql_query("select * from materi"); $t_materi=mysql_num_rows($data5); //Ditampilkan pada tabel dengan tag-tag HTML. ?> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table3"> <tr> <td align="center" bgcolor="#93CDF5">Keterangan</td> <td width="183" align="center" bgcolor="#93CDF5"> Jumlah Data</td> </tr> <tr>

54

Aplikasi Program PHP dan MySQL <td> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Jumlah data karyawan</font></td> <td width="183"><p style="margin-left: 5px; margin-right: 5px"> <font size="2"><?=$t_karyawan?> orang</font></td> </tr> <tr> <td><p style="margin-left: 5px; margin-right: 5px"><font size="2">Jumlah data siswa</font></td> <td width="183"><p style="margin-left: 5px; margin-right: 5px"> <font size="2"><?=$t_siswa?> siswa</font></td> </tr> <tr><td><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Jumlah data kelas</font></td> <td width="183"><p style="margin-left: 5px; margin-right: 5px"> <font size="2"><?=$t_kelas?> kelas</font></td> </tr> <tr><td><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Jumlah data jurusan</font></td> <td width="183"><p style="margin-left: 5px; margin-right: 5px"> <font size="2"><?=$t_jurusan?> jurusan</font></td> </tr> <tr><td><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Jumlah data materi</font></td> <td width="183"><p style="margin-left: 5px; margin-right: 5px"> <font size="2"><?=$t_materi?> materi</font></td>

55

Aplikasi Program PHP dan MySQL </tr> </table> <? } ?> </td></tr></table>

Keterangan:
Ada beberapa bagian yang perlu diperhatikan dalam script di atas. Yang pertama adalah pada saat membuat menu link. Pada masingmasing menu link memiliki variabel dengan nama menu dan memiliki nilai yang berbeda-beda sesuai nama link. Contohnya adalah seperti pada potongan script di bawah ini: <a href="admin.php?menu=siswa">Data siswa</a> Perhatikan tag HTML yang membentuk link di atas, nilai dari link tersebut adalah admin.php?menu=siswa. Artinya apabila link diklik, maka pengunjung akan diarahkan ke file admin.php yaitu file itu sendiri dengan variabel menu yang memiliki nilai siswa yang akan membedakan data tampilannya. Yang kedua adalah bagian script if(isset($menu)){ include"$menu.php"; }else{ // membaca data pada database include"../sambung.php"; $data1=mysql_query("select * from karyawan"); $t_karyawan=mysql_num_rows($data1);

56

Aplikasi Program PHP dan MySQL awal script menggunakan fungsi if dengan memeriksa keberadaan variabel menu. Artinya jika pengunjung mengakses file admin.php dari menu link maka memiliki variabel menu, maka script akan membaca file lain menggunakan fungsi include yaitu include"$menu.php";. Jika nilai variabel menu adalah siswa maka script tersebut akan membaca file siswa.php. Apabila variabel menu tidak ditemukan, maka script akan membaca data keseluruhan dari database seperti pada bagian include"../sambung.php"; $data1=mysql_query("select * from karyawan"); $t_karyawan=mysql_num_rows($data1); Berikut adalah tampilan halaman admin:

Gambar 5.2 Tampilan halaman admin

Yang perlu diperhatikan pada halaman admin ini adalah menu link yang ada disebelah kiri. Di sini ada beberapa pilihan menu, diantaranya data karyawan, data siswa, data kelas, data jurusan dan data materi. Setiap akan mengakses halaman data tertentu seorang

57

Aplikasi Program PHP dan MySQL administrator harus menekan menu link tersebut. Untuk lebih jelasnya perhatikan gambar 5.3 berikut:

Menu untuk melihat data karyawan Menu untuk melihat data siswa Menu untuk melihat data kelas Menu untuk melihat data jurusan Menu untuk melihat data materi
Gambar 5.3 tampilan pilihan menu link.

HALAMAN DATA KARYAWAN


Halaman ini digunakan untuk mengakses dan menampilkan data karyawan yang ada dalam database. Pada program halaman ini tidak berdiri sendiri, namun akan dipanggil dari file lain yaitu file admin.

58

Aplikasi Program PHP dan MySQL Halaman data karyawan diberi nama karyawan.php, akan muncul apabila dipanggil menggunakan menu link yang ada pada halaman atau file admin.php dengan alamat / nilai admin.php?menu=karyawan. Berikut adalah script yang menampilkan data karyawan: <? include"../sambung.php"; if($act=="edit"){ $data1=mysql_query("select id='$id_data'"); $d=mysql_fetch_array($data1); } if(!isset($act)){ $data=mysql_query("select id from karyawan order by id desc limit 1"); $userbaru=mysql_fetch_array($data); $baru=101+$userbaru[0]; $userid="KAR-$baru"; }else{ $userid="$d[userid]"; } ?> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr> <td align="center" bgcolor="#93CDF5" colspan="2">Tambah Data Karyawan</td></tr><form method="POST" * from karyawan where digunakan untuk membaca dan

59

Aplikasi Program PHP dan MySQL action="proses_tambah.php"> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Nama</font></td> <td width="74%"><input type="text" name="nama" size="73" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; paddingtop: 1px; padding-bottom: 1px" value="<?=$d[nama]?>"></td> </tr> <tr> <td width="25%"> <p style="margin-left: 5px; margin-right: 5px"><font size="2">Alamat</font></td><td width="74%"> <input type="text" name="alamat" size="73" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" value="<?=$d[alamat]?>"></td> </tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Tempat tanggal lahir</font></td><td width="74%"> <input type="text" name="ttl" size="73" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; paddingbottom: 1px" value="<?=$d[ttl]?>"></td> </tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Agama</font></td><td width="74%">

60

Aplikasi Program PHP dan MySQL <input type="text" name="agama" size="73" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" value="<?=$d[agama]?>"></td> </tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Nomor telepon / hp</font></td> <td width="74%"><input type="text" name="telepon" size="73" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; paddingtop: 1px; padding-bottom: 1px" value="<?=$d[telepon]?>"></td> </tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Pendidikan terakhir</font></td> <td width="74%"><input type="text" name="pendidikan" size="73" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; paddingtop: 1px; padding-bottom: 1px" value="<?=$d[pendidikan]?>"></td> </tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Status perkawinan</font></td><td width="74%"> <input type="text" name="perkawinan" size="73" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" value="<?=$d[perkawinan]?>"></td></tr> <tr><td width="25%">

61

Aplikasi Program PHP dan MySQL <p style="margin-left: 5px; margin-right: 5px"><font size="2">Status jabatan</font></td><td width="74%"><input type="text" name="stt_jabatan" size="73" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; paddingbottom: 1px" value="<?=$d[stt_jabatan]?>"></td></tr> <tr> <td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Jabatan</font></td><td width="74%"> <input type="text" name="jabatan" size="73" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" value="<?=$d[jabatan]?>"></td></tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Mulai kerja</font></td><td width="74%"> <? if($act=="edit"){ $mulai=date("j / n / Y",$d[mulai]); } ?> <input type="text" name="mulai" size="30" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; paddingbottom: 1px" value="<?=$mulai?>"> &nbsp;<font size="2">Format <b>dd/mm/yyyy</b></font></td> </tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Masa kerja</td>

62

Aplikasi Program PHP dan MySQL <? if($act=="edit"){ $now=time(); $dl=date("d m Y",$d[mulai]); $sk=date("d m Y",$now); $sekarang=explode(" ",$sk); $dulu=explode(" ",$dl); $hari=$sekarang[0]-$dulu[0]; $bulan=$sekarang[1]-$dulu[1]; $tahun=$sekarang[2]-$dulu[2]; if($sekarang[0]<$dulu[0]){ $hari+=30; $bulan+=11; $tahun-=1; } if($sekarang[1]<$dulu[1]){ $hari+=30; $bulan+=11; $tahun-=1; } if($hari>=30){ $hari=$hari-30; $bulan+=1; } if($bulan>=12){

63

Aplikasi Program PHP dan MySQL $bulan=$bulan-12; $tahun+=1; } echo"<td width=\"74%\">&nbsp;<b>$tahun</b> <b>$bulan</b> bulan <b>$hari</b> hari.</font>"; } ?></td></tr> <tr><td width="74%">&nbsp;</td></tr> width="25%">&nbsp;</td><td tahun

<tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">User ID</font></td><td width="74%"> <input type="hidden" name="userid" size="24" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" value="<?=$userid?>">&nbsp; <font size="2"><b><?=$userid?></b></font></td> </tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Password</font></td><td width="74%"> <input type="text" name="password" size="24" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" value="<?=$d[password]?>"></td></tr> <tr><td width="25%">&nbsp;</td><td width="74%"> &nbsp;</td></tr> <tr><td width="25%">&nbsp;</td><td width="74%"> <?

64

Aplikasi Program PHP dan MySQL if($act!=="edit"){ ?> <input type="submit" value="TAMBAH" style="font-family: Arial; color: #000080"> <?}else{?> <input type="submit" value=" UBAH " name="ubah" style="fontfamily: Arial; color: #000080"> <input type="submit" value=" HAPUS " name="hapus" style="fontfamily: Arial; color: #000080"> <?}?></td></tr> <input type="hidden" name="id_data" value="<?=$d[id]?>"> <input type="hidden" name="menu" value="<?=$menu?>"> </form></table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table5"> <tr><td align="center" bgcolor="#93CDF5" colspan="3"> Data Karyawan</td></tr> <tr><td width="31%" bgcolor="#FBA53F"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Nama</font></td><td width="25%" bgcolor="#FBA53F"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Jabatan</font></td> <td width="43%" bgcolor="#FBA53F"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Alamat</font></td> </tr> <? name="tambah"

65

Aplikasi Program PHP dan MySQL $total=0; $data2=mysql_query("select * from karyawan order by nama"); while($data=mysql_fetch_array($data2)){ echo"<tr><td width=\"31%\"> <p style=\"margin-left: 5px; margin-right: 5px\"> <font size=\"2\"> <a href=\"admin.php?menu=karyawan&act=edit& id_data=",$data[id],"\"> ",$data[nama],"</font></td> <td width=\"25%\"><p style=\"margin-left: 5px; margin-right: 5px\"> <font size=\"2\">",$data[jabatan],"</font></td> <td width=\"43%\"><p style=\"margin-left: 5px; margin-right: 5px\"> <font size=\"2\">",$data[alamat],"</font></td> </tr>"; $total++; } ?> <tr><td width="99%" colspan="3"><p align="center"><font size="2">Jumlah total karyawan adalah <b><?=$total?></b> orang.</font></td></tr>0 .</table>

Keterangan:
Pada dasarnya script ini akan menampilkan formulir dengan isi tentang karyawan tertentu yang akan diubah datanya dan informasi daftar karyawan yang telah tercatat dalam databse. Pada bagian pertama adalah script dan tag HTML yang menampilkan data karyawan tertentu secara lengkap. Pada bagian ini ada beberapa script yang perlu diperhatikan. Diawal script ini akan dituliskan script yang berfungsi untuk 66

Aplikasi Program PHP dan MySQL membaca databse karyawan. include"../sambung.php"; if($act=="edit"){ $data1=mysql_query("select * from karyawan where id='$id_data'"); $d=mysql_fetch_array($data1); } Untuk koneksi dengan database selalu menggunakan script yang ada dalam file sambung.php, kemudian membaca database karyawan berdasarkan id dari masing-masing karyawan yang akan ditampilkan. Babarapa script yang perlu diperhatikan lagi adalah bagian script untuk menghitung masa kerja. Script ini menghitung waktu sekarang dikurangi dengan mulai kerja, kemudian dikonverikan kedalam format waktu tahun, bulan dan hari. Berikut adalah potongan script tersebut: $now=time(); $dl=date("d m Y",$d[mulai]); $sk=date("d m Y",$now); $sekarang=explode(" ",$sk); $dulu=explode(" ",$dl); $hari=$sekarang[0]-$dulu[0]; $bulan=$sekarang[1]-$dulu[1]; $tahun=$sekarang[2]-$dulu[2]; if($sekarang[0]<$dulu[0]){ $hari+=30; $bulan+=11; $tahun-=1; } if($sekarang[1]<$dulu[1]){ Bagian script tersebut adalah

67

Aplikasi Program PHP dan MySQL $hari+=30; $bulan+=11; $tahun-=1; } if($hari>=30){ $hari=$hari-30; $bulan+=1; } if($bulan>=12){ $bulan=$bulan-12; $tahun+=1; } echo"<td width=\"74%\">&nbsp;<b>$tahun</b> tahun <b>$bulan</b> bulan <b>$hari</b> hari.</font>"; } Paling awal dalam script ini adalam mengambil waktu sekarang menggunakan fungsi now(). Berikutnya mendeklarasikan waktu sekarang dan waktu mulai kerja kedalam format tanggal, bulan dan tahun menggunakan fungsi date(). Kedua data waktu tersebut di cari selisihnya dan dirubah menjadi format data waktu tahun, bulan dan tahun. Untuk mengakses halaman ini seorang administrator harus menekan menu link data karyawan setelah login.

68

Aplikasi Program PHP dan MySQL

Menu karyawan

Gambar 5.4 Lokasi menu link data karyawan

Apabila menu link telah ditekan maka halaman admin.php ini akan mengakses file karyawan menggunakan fungsi include dan menampilkan pada halaman admin seperti terlihat pada gambar 5.4 berikut:

69

Aplikasi Program PHP dan MySQL

Namanama karyawan

Gambar 5.5 tampilan halaman data karyawan

Jika da data karyawan baru yang harus dtambahkan ke dalam database, seorang administrator harus mengisi data karyawan tersebut dengan lengkap kemudian tekan tombol TAMBAH yang ada di bawah formulir. Untuk menampilkan masing-masing data karyawan secara lengkap, dapat menekan link berupa nama dari masing-masing karyawan yang berada dihalaman karyawan di bawah formulir. Berikut contoh tampilan data lengkap salah satu karyawan:

70

Aplikasi Program PHP dan MySQL

Gambar 5.6 tampilan halaman data lengkap seorang karyawan.

Dari tampilan data lengkap karyawan ini, seorang administrator dapat merubah data atau menghapus data karyawan yang sedang aktif.

FILE PROSES TAMBAH.PHP

71

Aplikasi Program PHP dan MySQL File ini adalah file yang digunakan untuk tujuan setiap akan mengubah, menambah atau menghapus data. Data yang akan diproses oleh file ini tidak hanya data karyawan, namun juga data siswa, data kelas dan juga data yang lain dalam database. Berikut adalah script yang ada dalam file proses_tambah.php tersebut: <? include"./cek_session.php"; include"../sambung.php"; include"input_$menu.php"; ?>

Keterangan:
Fungsi yang digunakan dalam file ini adalah fungsi include. Artinya script yang digunakan untuk mengolah masing-masing data menggunakan file lain sesuai dengan data yang diproses. Misalkan Data yang diproses adalah data karyawan maka script ini akan memanggil file input_karyawan.php dengan menggunakan fungsi includeinput_$menu.php; Variabel $menu akan membawa nilai karyawan, sehingga nama file yang dipanggil adalah input_karyawan.php.

FILE INPUT KARYAWAN.PHP


File ini berisikan script yang berfungsi untuk mengolah data masukan dari formulir karyawan. Dalam script ini memiliki tiga bagian penting, yaitu script yang berfungi untuk menambah data dalam databse karyawan, mengubah dan juga menghapus data karyawan dari halaman karyawan. Berikut adlah script yang ada dalam file input_karyawan.php: <? $msk=explode("/",$mulai);

72

Aplikasi Program PHP dan MySQL $mulai= mktime (0,0,0,$msk[1],$msk[0],$msk[2]); if(isset($tambah)){ $tbh=mysql_query("INSERT INTO `karyawan` ( `id` , `nama` , `alamat` , `ttl` , `agama` , `telepon` , `pendidikan` , `perkawinan` , `stt_jabatan` , `jabatan` , `mulai` , `masa` , `userid` , `password` ) VALUES ( '', '$nama', '$alamat', '$ttl', '$agama', '$telepon', '$pendidikan', '$perkawinan', '$stt_jabatan', '$jabatan', '$mulai', '$masa', '$userid', '$password' )"); header("location:./admin.php?menu=karyawan"); }elseif(isset($ubah)){ $ub=mysql_query("update karyawan set nama='$nama' , alamat='$alamat' , ttl='$ttl' , agama='$agama' , telepon='$telepon' , pendidikan='$pendidikan' , perkawinan='$perkawinan' , stt_jabatan='$stt_jabatan' , jabatan='$jabatan' , mulai='$mulai' , masa='$masa' , userid='$userid' , password='$password' where id='$id_data'"); header("location:./admin.php?menu=karyawan"); }elseif(isset($hapus)){ $hp=mysql_query("delete from karyawan where id='$id_data'"); header("location:./admin.php?menu=karyawan"); }else{ header("location:./admin.php?menu=karyawan"); } ?>

Keterangan:
Dalam satu rangkaian script di atas memiliki 3 bagian penting untuk mengolah data masukan. Yang pertama adalah bagian script dengan 73

Aplikasi Program PHP dan MySQL fungsi untuk menambahkan data karyawan dari formulir tambah data karyawan. Script ini dipisahkan dengan fungsi if dengan memeriksa keberadaan variabel $tambah sepertia pada potongan script berikut: if(isset($tambah)){ $tbh=mysql_query("INSERT INTO `karyawan` ( `id` , `nama` , `alamat` , `ttl` , `agama` , `telepon` , `pendidikan` , `perkawinan` , `stt_jabatan` , `jabatan` , `mulai` , `masa` , `userid` , `password` ) VALUES ( '', '$nama', '$alamat', '$ttl', '$agama', '$telepon', '$pendidikan', '$perkawinan', '$stt_jabatan', '$jabatan', '$mulai', '$masa', '$userid', '$password' )"); Setelah variabel $tambah diperiksa dan mempunyai nilai true / benar, maka langkah berikutnya adalah proses memasukkan data karyawan ke dalam database karyawan. Bagian script yang kedua adalah untuk mengubah data karyawan. Pada bagian ini juga dipisahkan dengan fungsi if yang berfungsi memeriksa keberadaan variabel $ubah. Apabila variabel $ubah ini dipilih, maka data yang berhubungan salah satu karyawan akan diubah. Potongan script tersebut adalah seperti dibawah ini: }elseif(isset($ubah)){ $ub=mysql_query("update karyawan set nama='$nama' , alamat='$alamat' , ttl='$ttl' , agama='$agama' , telepon='$telepon' , pendidikan='$pendidikan' , perkawinan='$perkawinan' , stt_jabatan='$stt_jabatan' , jabatan='$jabatan' , mulai='$mulai' , masa='$masa' , userid='$userid' , password='$password' where id='$id_data'"); Bagian yang ketiga adalah script yang berfungsi untuk menghapus data karyawan. Seperti halnya bagian untuk menambah dan mengubah data karyawan, pada bagian script ini juga dipisahkan dengan fungsi if yang memeriksa keberadaan variabel $hapus.

74

Aplikasi Program PHP dan MySQL Apabila variabel $hapus ini ada dan bernilai true, maka pada script dibawahnya yang berfungsi menghapus data karyawan akan dijalankan. Bagian script tersebut adalah sebagai berikut: }elseif(isset($hapus)){ $hp=mysql_query("delete from karyawan where id='$id_data'"); Dibawah dari script untuk menghapus data karyawa tersebut masih ada satu bagian lagi yang berfungsi akan mengalihkan pengunjung yang membuka halaman ini, namun tidak mengikuti prosedur program. Script tersebut menggunakan fungsi header dengan nilai alamat file admin.php?menu=karyawan seperti pada potongan script berikut: }else{ header("location:./admin.php?menu=karyawan"); }

HALAMAN DATA SISWA


Halaman ini digunakan oleh administrator untuk melihat, memasukkan, mengubah dan menghapus data siswa. Untuk membuka halaman ini, seorang administrator harus login dan membuka halaman admin terlebih dahulu. Pada halaman admini ini akan disediakan sebuah menu link untuk menuju halaman data siswa ini. Menu link ini berada di sisi kiri dari tiap-tiap halaman yang diakses oleh administrator. Berikut adalah script yang membentuk halaman siswa: <? include"../sambung.php"; if($act=="edit"){ $data1=mysql_query("select * from siswa where id='$id_data'"); $d=mysql_fetch_array($data1); $lahir=date("j n Y",$d[tgl_lahir]);

75

Aplikasi Program PHP dan MySQL $waktu=explode(" ",$lahir); $start=date("j n Y",$d[masuk]); $mulai=explode(" ",$start); $bln=array('Januari','Pebruari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus','September','Oktober','Nopember','Desember'); $msk=$mulai[1]; $bulan=$waktu[1]; } $th=date("Y"); ?> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5" colspan="2">Tambah Data Siswa</td> </tr><form method="POST" action="proses_tambah.php"> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Nama</td> <td width="74%"><input type="text" name="nama" size="40" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; paddingtop: 1px; padding-bottom: 1px" value="<?=$d[nama]?>"> <? if($act=="edit"){ ?> <font size="2"> Status</font> <select size="1" name="status" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"><option value="1" selected>Masih Aktif</option>

76

Aplikasi Program PHP dan MySQL <option value="0">Sudah Keluar</option> </select><?}?></td></tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Jenis Kelamin</font></td><td width="74%"> <? if($d[sex]=="Pria"){ $pria="checked"; $wanita=""; }else{ $pria=""; $wanita="checked"; } ?> <input type="radio" value="Pria" name="sex" <?=$pria?>> <font size="2">Pria&nbsp; <input type="radio" value="Wanita" name="sex" <?=$wanita?>> Wanita</font></td></tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Alamat</font></td><td width="74%"> <input type="text" name="alamat" size="66" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" value="<?=$d[alamat]?>"></td> </tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px">

77

Aplikasi Program PHP dan MySQL <font size="2">Tempat tanggal lahir</font></td> <td width="74%"><input type="text" name="tempat" size="27" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; paddingtop: 1px; padding-bottom: 1px" value="<?=$d[tempat_lahir]?>"> <select size="1" name="tanggal" style="color: #000080; fontfamily: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ echo"<option value=\"$waktu[0]\" selected>$waktu[0]</option>"; } for($s=1;$s<=31;$s++){ echo"<option value=\"$s\">$s</option>"; } ?> </select><select size="1" name="bulan" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ echo"<option value=\"$waktu[1]\" selected>$bln[$bulan]</option>"; } ?> <option value="01" >Januari</option> <option value="02">Pebruari</option> <option value="03">Maret</option> <option value="04">April</option>

78

Aplikasi Program PHP dan MySQL <option value="05">Mei</option> <option value="06">Juni</option> <option value="07">Juli</option> <option value="08">Agustus</option> <option value="09">September</option> <option value="10">Oktober</option> <option value="11">Nopember</option> <option value="12">Desember</option> </select> <select size="1" name="tahun" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ echo"<option value=\"$waktu[2]\" selected>$waktu[2]</option>"; } for($s=$th-35;$s<=$th-10;$s++){ echo"<option value=\"$s\">$s</option>"; } ?> </select></td></tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Agama</font></td> <td width="74%"><select size="1" name="agama" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"> <?

79

Aplikasi Program PHP dan MySQL if($act=="edit"){ echo"<option value=\"$d[agama]\" selected>$d[agama]</option>"; }?> <option value="Islam">Islam</option> <option value="Kristen Protestan">Kristen Protestan</option> <option value="Kristen Katolik">Kristen Katolik </option> <option value="Hindu">Hindu</option> <option value="Budha">Budha</option> <option value="lainnya">Lainnya</option> </select></td></tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Nomor telepon / hp</font></td> <td width="74%"><input type="text" name="telepon" size="34" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; paddingtop: 1px; padding-bottom: 1px" value="<?=$d[telepon]?>"></td> </tr> <tr> <td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Pendidikan terakhir</font></td> <td width="74%"> <input type="text" name="pendidikan" size="34" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" value="<?=$d[pendidikan]?>"></td>

80

Aplikasi Program PHP dan MySQL </tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Sekolah asal</font></td><td width="74%"> <input type="text" name="asal_sekolah" size="34" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" value="<?=$d[asal_sekolah]?>"></td> </tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Nama orang tua</font></td> <td width="74%"><input type="text" name="orang_tua" size="40" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; paddingtop: 1px; padding-bottom: 1px" value="<?=$d[orang_tua]?>"></td> </tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Pekerjaan Orang tua</font></td> <td width="74%"><input type="text" name="pekerjaan" size="40" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; paddingtop: 1px; padding-bottom: 1px" value="<?=$d[pekerjaan]?>"></td> </tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Mulai masuk</font></td> <td width="74%">

81

Aplikasi Program PHP dan MySQL <select size="1" name="masuk1" style="color: #000080; fontfamily: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ echo"<option value=\"$mulai[0]\" selected>$mulai[0]</option>"; } for($s=1;$s<=31;$s++){ echo"<option value=\"$s\">$s</option>"; } ?> </select><select size="1" name="masuk2" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ echo"<option value=\"$mulai[1]\" selected>$bln[$msk]</option>"; } ?><option value="01">Januari</option> <option value="02">Pebruari</option> <option value="03">Maret</option> <option value="04">April</option> <option value="05">Mei</option> <option value="06">Juni</option> <option value="07">Juli</option> <option value="08">Agustus</option> <option value="09">September</option> <option value="10">Oktober</option>

82

Aplikasi Program PHP dan MySQL <option value="11">Nopember</option> <option value="12">Desember</option> </select><select size="1" name="masuk3" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ echo"<option value=\"$mulai[2]\" selected>$mulai[2]</option>"; } for($s=$th-10;$s<=$th;$s++){ echo"<option value=\"$s\">$s</option>"; } ?> </select></td></tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Kelas</font></td><td width="74%"> <select size="1" name="kelas" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ $data3=mysql_query("select nama from kelas where id='$d[kelas]'"); $hasil=mysql_fetch_array($data3); echo"<option value=\"$d[kelas]\" selected>$hasil[nama]</option>"; } $data2=mysql_query("select * from kelas order by nama");

83

Aplikasi Program PHP dan MySQL while($data=mysql_fetch_array($data2)){ echo"<option value=\"",$data[id],"\">",$data[nama],"</option>"; } ?> </select></td></tr> <tr><td width="25%">&nbsp;</td><td width="74%">&nbsp;</td> </tr><tr> <td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">User ID</font></td> <td width="74%"> <select size="1" name="userid1" style="color: #000080; fontfamily: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ $data4=mysql_query("select userid from siswa where id='$id_data'"); $hasil=mysql_fetch_array($data4); $userid1=explode("_",$hasil[userid]); echo"<option value=\"$userid1[0]\" selected>$userid1[0]</option>"; } $data2=mysql_query("select * from kelas order by nama"); while($data=mysql_fetch_array($data2)){ echo"<option value=\"",$data[nama],"\">",$data[nama],"</option>"; }

84

Aplikasi Program PHP dan MySQL ?> </select>_<input type="text" name="userid2" size="15" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; paddingtop: 1px; padding-bottom: 1px" value="<?=$userid1[1]?>">&nbsp;</tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"><font size="2">Password</font></td><td width="74%"> <input type="text" name="password" size="24" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" value="<?=$d[password]?>"></td></tr> <tr><td width="25%">&nbsp;</td><td width="74%"> &nbsp;</td></tr> <tr><td width="25%">&nbsp;</td><td width="74%"> <? if($act!=="edit"){ ?> <input type="submit" value="TAMBAH" name="tambah" style="font-family: Arial; color: #000080"> <?}else{?> <input type="submit" value=" UBAH " name="ubah" style="fontfamily: Arial; color: #000080"> <input type="submit" value=" HAPUS " name="hapus" style="fontfamily: Arial; color: #000080"> <?}?></td></tr> <input type="hidden" name="id_data" value="<?=$d[id]?>"> <input type="hidden" name="menu" value="siswa">

85

Aplikasi Program PHP dan MySQL </form></table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table5"><tr><td align="center" bgcolor="#93CDF5" colspan="3">Data Siswa</td></tr> <tr><td width="31%" bgcolor="#FBA53F"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Nama</font></td> <td width="25%" bgcolor="#FBA53F"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Kelas</font></td> <td width="43%" bgcolor="#FBA53F"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Alamat</font></td> </tr> <? $total=0; $data3=mysql_query("select * from siswa where status='1' order by id desc"); while($data=mysql_fetch_array($data3)){ $baca=mysql_query("select nama from kelas where id='$data[kelas]'"); $data2=mysql_fetch_array($baca); echo"<tr><td width=\"31%\"><p style=\"margin-left: 5px; marginright: 5px\"><font size=\"2\"><a href=\"admin.php?menu=siswa&act=edit&id_data=",$data[id],"\"> ",$data[nama],"</a></font></td> <td width=\"16%\"><p style=\"margin-left: 5px; margin-right: 5px\"> <font size=\"2\">",$data2[nama],"</font></td> <td width=\"52%\"><p style=\"margin-left: 5px; margin-right: 5px\"> <font size=\"2\">",$data[alamat],"</font></td> </tr>"; 86

Aplikasi Program PHP dan MySQL $total++; } ?> <tr><td width="99%" colspan="3"><p align="center"><font size="2">Jumlah total siswa adalah <b><?=$total?></b> orang.</font></td></tr></table>

Keterangan:
Pada awal dari script ini akan memanggil file sambung.php untuk melakukan koneksi ke database. Kemudian pada bagian-bagian tertentu membutuhkan fungsi if untuk memeriksa keberadaan variabel $act dengan nilai edit. Hal ini dilakukan karena dalam satc script ini dapat digunakan untuk menampilkan formulir yang digunakan untuk menambah data siswa dan juga dapat digunakan untuk menampilkan data lengkap dari masing-masing siswa. Jika Halaman ini langsung diakses dari menu link data siswa, maka yang akan tampil adalah formulir kosong yang digunakan untuk menambah data siswa baru seperti tampak pada gambar 5.7 berikut:

87

Aplikasi Program PHP dan MySQL

Gambar 5.7 tampilan halaman depan data siswa

Untuk menambah data siswa, seorang administrator cukup mengisikan data siswa baru tersebut ke dalam formulir. Apabila administrator ingin mengubah data salah satu siswa, langkah pertama harus memilih nama siswa yang akan di ubah pada daftar siswa yang ada di bawah formulir. Klik salah satu nama siswa, karena 88

Aplikasi Program PHP dan MySQL nama tersebut adalah sebuah menu link. Suatu contoh alamat link tersebut adalah: http://localhost/siswa/administrator/admin.php?menu=siswa&act=ed it&id_data=19 Jika diperhatikan, alamat link tersebut memiliki beberapa bagian penting, yang pertama adalah file tujuan dari link tersebut apabila link tersebut diklik yaitu admin.php. kemudian link tersebut juga memiliki beberapa variabel yang dikirim ke file admin.php, yaitu menu dengan nilai siswa, variabel act dengan nilai edit dan yang terakhir adalah variabel id_data dengan nilai 19. Artinya menu link tersebut akan menuju file admin.php dengan menu pilihannya adalah siswa, kemudian bertujuan menampilkan data siswa yaitu ditandai dengan membawa variabel act dengan nilai edit dan menampilkan data siswa dengan nomor id 19 dari database. Berikut adalah tampilan data siswa secara lengkap setelah link salah satu nama siswa dipilih:

89

Aplikasi Program PHP dan MySQL


Gambar 5.8 tampilan data lengkap siswa.

Data lengkap salah satu siswa akan ditampilkan ke dalam formulir yang ada di atas daftar siswa yang sudah terdaftar. Data siswa yang ditampilkan secara lengkap tersebut dapat diubah atau di hapus oleh administrator. Proses tersebut diawali dengan menekan tombol UBAH atau HAPUS.

FILE INPUT DATA SISWA


File ini digunakan untuk menulis script pengolah data siswa dari formulir tambah data siswa. Script yang ada dalam file ini memiliki tiga bagian penting, yaitu bagian yang berfungsi menambah data siswa ke dalam database, bagian mengubah data siswa dan menghapus data siswa dari database siswa. Berikut adalah script yang ada dalam file input data siswa: <? include"cek_session.php"; include"../sambung.php"; $tanggal_lahir= mktime (0,0,0,$tanggal,$bulan,$tahun); $masuk= mktime (0,0,0,$masuk1,$masuk2,$masuk3); $userid=$userid1."_".$userid2; $data4=mysql_query("select * from siswa where userid='$userid'"); $hasil=mysql_num_rows($data4); if(isset($tambah)){ if($hasil<1){ $tbh=mysql_query("INSERT INTO siswa ( id , nama , sex , alamat , tempat_lahir , tgl_lahir , agama , telepon , pendidikan , asal_sekolah , orang_tua , pekerjaan , masuk , kelas , userid , password ) VALUES ( 90

Aplikasi Program PHP dan MySQL '', '$nama', '$sex', '$alamat', '$tempat', '$tanggal_lahir', '$agama', '$telepon', '$pendidikan', '$asal_sekolah', '$orang_tua', '$pekerjaan', '$masuk', '$kelas', '$userid', '$password' )"); $wali=mysql_query("INSERT INTO wali_siswa ( nama_siswa , nama , userid , password )VALUES ('$nama', '$orang_tua', '$user_wali', '')"); header("location:./admin.php?menu=siswa"); }else{ ?> <html> <head> <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> <style> </table> </body> </html> <? } }elseif(isset($ubah)){ $ub=mysql_query("update siswa set nama='$nama' , sex= '$sex',alamat='$alamat' , tempat_lahir='$tempat' , tgl_lahir='$tanggal_lahir', agama='$agama' , telepon='$telepon' , pendidikan='$pendidikan' ,asal_sekolah='$asal_sekolah', orang_tua='$orang_tua' , pekerjaan='$pekerjaan' , masuk='$masuk' , kelas='$kelas' , userid='$userid' , password='$password' , status='$status' where id='$id_data'");

91

Aplikasi Program PHP dan MySQL $ubah_wali=mysql_query("update wali_siswa set nama_siswa='$nama',nama='$orang_tua' , userid='$user_wali' WHERE id_siswa='$id_data'"); header("location:./admin.php?menu=siswa"); }elseif(isset($hapus)){ $hp=mysql_query("delete from siswa where id='$id_data'"); $hps=mysql_query("delete from wali_siswa where id_siswa='$id_data'"); header("location:./admin.php?menu=siswa"); }elseif(isset($nilai)){ header("location:./nilai.php?id=$userid"); }else{ header("location:./admin.php?menu=siswa"); }

Keterangan:
Tiap-tiap bagian dalam script tersebut dipisahkan menggunakan fungsi if. Bagian pertama adalah script untuk menambah data siswa ke dalama database siswa, diawali dengan script if(isset($tambah)){ Kemudian diikuti script yang berguna untuk memasukkan data siswa baru. Pada bagian ke dua juga diawali dengan fungsi if yang berfungsi memerikan keberadaan variabel $ubah. Bagian ke dua ini berfungsi untuk mengubah data siswa yang sudah terdaftar. Bagian yang terakhir adalah script yang berfungsi untuk menghapus data siswa yang sudah keluar. Script ini juga diawali dengan fungsi if yang memeriksa keberadaan variabel $hapus.

HALAMAN DATA KELAS


Halaman ini berfungsi untuk menampilkan data kelas. Selain menampilkan data kelas yang sudah pernah dimasukkan, dari 92

Aplikasi Program PHP dan MySQL halaman ini, administrator juga dapat memasukkan data kelas baru, mengubah data kelas yang sudah ada atau juga menghapus data kelas yang sudah tidak terpakai. Pada halaman ini akan menampilkan dua bagian utama, yaitu bagian formulir yang digunakan untuk memasukkan data kelas baru atau menampilkan data kelas yang akan diubah tau dihapus, kemudian bagian yang kedua adalah menampilkan data kelas yang sudah terdaftar. Berikut adalah script yang digunakan untuk menampilkan halaman data kelas: <? include"../sambung.php"; if($act=="edit"){ $data1=mysql_query("select * from kelas where id='$id_data'"); $d=mysql_fetch_array($data1); } ?> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5" colspan="2">Tambah Data Kelas</td></tr><form method="POST" action="proses_tambah.php"> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Nama Kelas</font></td><td width="74%"> <input type="text" name="nama" size="40" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; paddingbottom: 1px" value="<?=$d[nama]?>"></td></tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Jenis Kelas</font></td> <td width="74%"> <?

93

Aplikasi Program PHP dan MySQL if($d[jenis]=="Diploma"){ $diploma="checked"; $regular=""; }else{ $diploma=""; $regular="checked"; } ?> <input type="radio" value="Diploma" name="jenis" <?=$diploma?>> <font size="2">Diploma<input type="radio" value="Regular" name="jenis" <?=$regular?>> Regular</font></td></tr> <tr><td width="25%">&nbsp;</td> <td width="74%">&nbsp;</td></tr> <tr><td width="25%">&nbsp;</td><td width="74%"> <? if($act!=="edit"){ ?> <input type="submit" value="TAMBAH" name="tambah" style="font-family: Arial; color: #000080"> <?}else{?> <input type="submit" value=" UBAH " name="ubah" style="fontfamily: Arial; color: #000080"> <input type="submit" value=" HAPUS " name="hapus" style="fontfamily: Arial; color: #000080"> <?}?></td></tr> <input type="hidden" name="id_data" value="<?=$d[id]?>">

94

Aplikasi Program PHP dan MySQL <input type="hidden" name="menu" value="kelas"></form> </table><p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p><table border="1" width="98%" cellspacing="0" cellpadding="0" id="table5"> <tr><td align="center" bgcolor="#93CDF5" colspan="4"> Data Kelas</td></tr> <tr><td width="31%" bgcolor="#FBA53F"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Nama Kelas</font></td> <td width="25%" bgcolor="#FBA53F"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Jenis</font></td> <td width="22%" bgcolor="#FBA53F"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Status</font></td> </tr> <? $total=0; $kelas=mysql_query("select * from kelas order by id desc"); while($data=mysql_fetch_array($kelas)){ echo"<tr> <td width=\"31%\"><p style=\"margin-left: 5px; margin-right: 5px\"> <font size=\"2\"><a href=\"admin.php?menu=kelas &act=edit&id_data=",$data[id],"\"> ",$data[nama],"</a></font></td> <td width=\"25%\"><p style=\"margin-left: 5px; margin-right: 5px\"> <font size=\"2\">",$data[jenis],"</font></td> <td width=\"22%\"><p style=\"margin-left: 5px; margin-right: 5px\"> <font size=\"2\">",$data[status],"&nbsp;</font></td> </tr>";

95

Aplikasi Program PHP dan MySQL $total++; } ?> <tr><td width="99%" colspan="4"><p align="center"><font size="2">Jumlah total elas adalah <b><?=$total?></b> kelas.</font></td></tr></table>

Keterangan:
Script ini digunakan untuk mengakses data yang ada pada database kelas dan ditampilkan dalam halaman kelas. Halaman ini memuat sebuah formulir yang digunakan untuk memasukkan data kelas baru atau mengubah dan menghapus data kelas yang sudah pernah dimasukkan dan pada bagian dibawahnya menampilkan data siswa yang telah terdaftar. Berikut adalah tampilan halaman kelas apabila di akses menggunakan browser:

Gambar 5.9 tampilan data kelas.

96

Aplikasi Program PHP dan MySQL

FILE INPUT DATA KELAS


File input data kelas ini digunakan untuk menuliskan script sebagai pemroses data kelas baru yang dimasukkan, data kelas yang akan diubah dan data kelas yang akan dihapus. Berikut adalah script yang ada dalam file input_kelas.php: <? $mulai= mktime (0,0,0,$masuk1,$masuk2,$masuk3); if(isset($tambah)){ $tbh=mysql_query("INSERT INTO kelas ( id , nama , jenis , status )VALUES ('', '$nama', '$jenis', '$status')"); $buat_tabel=mysql_query("select id from kelas where nama='$nama'"); $hasil=mysql_fetch_array($buat_tabel); $tabel="CREATE TABLE kelas_$hasil[0] ( id INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , id_materi VARCHAR( 200 ) NOT NULL , kelas VARCHAR( 200 ) NOT NULL , id_instruktur VARCHAR( 200 ) NOT NULL , id_assisten1 VARCHAR( 200 ) NOT NULL , id_assisten2 VARCHAR( 200 ) NOT NULL , jml_session INT( 2 ) NOT NULL , id_siswa VARCHAR( 10 ) NOT NULL , absen_1 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_2 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_3 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_4 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_5 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , 97

Aplikasi Program PHP dan MySQL absen_6 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_7 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_8 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_9 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_10 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_11 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_12 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_13 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_14 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_15 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_16 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_17 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_18 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , nilai_harian INT( 3 ) NOT NULL , nilai_tugas INT( 3 ) NOT NULL , nilai_tengah INT( 3 ) NOT NULL , nilai_akhir INT( 3 ) NOT NULL , status VARCHAR( 200 ) NOT NULL )"; $sql=mysql_db_query("pendidikan",$tabel); header("location:./admin.php?menu=kelas"); }elseif(isset($ubah)){ $ub=mysql_query("update kelas set nama='$nama' , jenis='$jenis' , status='$status' where id='$id_data'"); header("location:./admin.php?menu=kelas"); }elseif(isset($hapus)){

98

Aplikasi Program PHP dan MySQL $hp=mysql_query("delete from kelas where id='$id_data'"); header("location:./admin.php?menu=kelas"); }else{ header("location:./admin.php?menu=kelas"); } ?>

Keterangan:
Pada script ini mempunyai tiga bagian besar, yang pertama adalah bagian script yang berfungsi untuk menambah data kelas. Untuk menambah data kelas ini, script akan memasukkan data kelas baru ke dalam database kelas dan membuat sebuah tabel baru dengan nama kelas_id kelas. Tabel baru inilah yang pada program berikutnya digunakan untuk menampung data kelas aktif. Berikut adalah potongan script tersebut: if(isset($tambah)){ $tbh=mysql_query("INSERT INTO kelas ( id , nama , jenis , status )VALUES ('', '$nama', '$jenis', '$status')"); $buat_tabel=mysql_query("select id from kelas where nama='$nama'"); $hasil=mysql_fetch_array($buat_tabel); $tabel="CREATE TABLE kelas_$hasil[0] ( id INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , id_materi VARCHAR( 200 ) NOT NULL , kelas VARCHAR( 200 ) NOT NULL , id_instruktur VARCHAR( 200 ) NOT NULL , id_assisten1 VARCHAR( 200 ) NOT NULL , id_assisten2 VARCHAR( 200 ) NOT NULL , jml_session INT( 2 ) NOT NULL ,

99

Aplikasi Program PHP dan MySQL id_siswa VARCHAR( 10 ) NOT NULL , absen_1 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_2 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_3 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_4 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_5 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_6 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_7 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_8 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_9 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_10 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_11 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_12 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_13 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_14 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_15 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_16 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_17 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , absen_18 VARCHAR( 10 ) DEFAULT '#93CDF5' NOT NULL , nilai_harian INT( 3 ) NOT NULL , nilai_tugas INT( 3 ) NOT NULL , nilai_tengah INT( 3 ) NOT NULL , nilai_akhir INT( 3 ) NOT NULL , status VARCHAR( 200 ) NOT NULL )";
$sql=mysql_db_query("pendidikan",$tabel);

100

Aplikasi Program PHP dan MySQL Bagian yang kedua adalah script yang berfungsi untuk mengubah data kelas. Pada intinya script ini akan mengubah data kelas berdasarkan id tertentu pada tabel kels. Berikut adalah potongan script tersebut }elseif(isset($ubah)){ $ub=mysql_query("update kelas set nama='$nama' , jenis='$jenis' , status='$status' where id='$id_data'"); Pada bagian yang terakhir adalah script yang berguna untuk menghapus data kelas yang tidak terpakai. Berikut adalah potongan script yang berfungsi untuk menghapus data kelas: }elseif(isset($hapus)){
$hp=mysql_query("delete from kelas where id='$id_data'");

HALAMAN MATERI UNTUK KELAS AKTIF


Yang dimaksud halaman materi untuk kelas aktif dalam program ini adalah halaman yang digunakan untuk menambah data materi dan kelas yang akan aktif dalam proses belajar mengajar dan juga menampilkan data materi untuk kelas aktif. Data-data yang ditampilkan adalah nama kelas, nama materi, nama instruktur, nama assisten, jumlah session dan data-data lain yang berhubungan dengan data materi. Berikut adalah script yang dituliskan pada halaman materi: <? include"../sambung.php"; if($act=="edit"){ $data1=mysql_query("select * from siswa where id='$id_data'"); $d=mysql_fetch_array($data1); $lahir=date("j n Y",$d[tgl_lahir]); $waktu=explode(" ",$lahir); $start=date("j n Y",$d[masuk]); 101

Aplikasi Program PHP dan MySQL $mulai=explode(" ",$start); $bln=array('Januari','Pebruari','Maret','April','Mei','Juni','Juli', 'Agustus','September','Oktober','Nopember','Desember'); $msk=$mulai[1]; $bulan=$waktu[1]; } $th=date("Y"); ?> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5" colspan="2">Tambah Data Siswa</td> </tr> <form method="POST" action="proses_tambah.php"> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Nama</td><td width="74%"> <input type="text" name="nama" size="40" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; paddingbottom: 1px" value="<?=$d[nama]?>"> <? if($act=="edit"){ ?> <font size="2"> Status</font> <select size="1" name="status" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"><option value="1" selected>Masih Aktif</option> <option value="0">Sudah Keluar</option></select><?}?></td></tr>

102

Aplikasi Program PHP dan MySQL <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Jenis Kelamin</font></td><td width="74%"> <? if($d[sex]=="Pria"){ $pria="checked"; $wanita=""; }else{ $pria=""; $wanita="checked"; } ?> <input type="radio" value="Pria" name="sex" <?=$pria?>> <font size="2">Pria&nbsp; <input type="radio" value="Wanita" name="sex" <?=$wanita?>> Wanita</font></td></tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Alamat</font></td> <td width="74%"> <input type="text" name="alamat" size="66" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" value="<?=$d[alamat]?>"></td> </tr> <tr> <td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Tempat tanggal lahir</font></td><td width="74%"> <input type="text" name="tempat" size="27" style="color: 103

Aplikasi Program PHP dan MySQL #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" value="<?=$d[tempat_lahir]?>"> <select size="1" name="tanggal" style="color: #000080; fontfamily: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ echo"<option value=\"$waktu[0]\" selected>$waktu[0]</option>"; } for($s=1;$s<=31;$s++){ echo"<option value=\"$s\">$s</option>"; } ?> </select> <select size="1" name="bulan" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ echo"<option value=\"$waktu[1]\" selected>$bln[$bulan]</option>"; } ?> <option value="01" >Januari</option><option value="02">Pebruari</option> <option value="03">Maret</option><option value="04">April</option> <option value="05">Mei</option><option value="06">Juni</option> <option value="07">Juli</option><option value="08">Agustus</option>

104

Aplikasi Program PHP dan MySQL <option value="09">September</option><option value="10">Oktober</option> <option value="11">Nopember</option><option value="12">Desember</option> </select> <select size="1" name="tahun" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ echo"<option value=\"$waktu[2]\" selected>$waktu[2]</option>"; } for($s=$th-35;$s<=$th-10;$s++){ echo"<option value=\"$s\">$s</option>"; } ?> </select></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"><font size="2">Agama</font></td> <td width="74%"><select size="1" name="agama" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ echo"<option value=\"$d[agama]\" selected>$d[agama]</option>"; }?> <option value="Islam">Islam</option>

105

Aplikasi Program PHP dan MySQL <option value="Kristen Protestan">Kristen Protestan</option> <option value="Kristen Katolik">Kristen Katolik</option> <option value="Hindu">Hindu</option><option value="Budha">Budha</option> <option value="lainnya">Lainnya</option></select></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"><font size="2">Nomor telepon / hp</font></td> <td width="74%"><input type="text" name="telepon" size="34" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; paddingtop: 1px; padding-bottom: 1px" value="<?=$d[telepon]?>"></td> </tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Pendidikan terakhir</font></td><td width="74%"> <input type="text" name="pendidikan" size="34" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" value="<?=$d[pendidikan]?>"></td> </tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"><font size="2">Sekolah asal</font></td> <td width="74%"><input type="text" name="asal_sekolah" size="34" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" value="<?=$d[asal_sekolah]?>"></td> </tr>

106

Aplikasi Program PHP dan MySQL <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Nama orang tua</font></td> <td width="74%"><input type="text" name="orang_tua" size="40" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; paddingtop: 1px; padding-bottom: 1px" value="<?=$d[orang_tua]?>"></td> </tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Pekerjaan Orang tua</font></td> <td width="74%"><input type="text" name="pekerjaan" size="40" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; paddingtop: 1px; padding-bottom: 1px" value="<?=$d[pekerjaan]?>"></td> </tr><tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Mulai masuk</font></td> <td width="74%"><select size="1" name="masuk1" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ echo"<option value=\"$mulai[0]\" selected>$mulai[0]</option>"; } for($s=1;$s<=31;$s++){ echo"<option value=\"$s\">$s</option>"; } ?> 107

Aplikasi Program PHP dan MySQL </select><select size="1" name="masuk2" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ echo"<option value=\"$mulai[1]\" selected>$bln[$msk]</option>"; } ?><option value="01">Januari</option><option value="02">Pebruari</option> <option value="03">Maret</option><option value="04">April</option> <option value="05">Mei</option><option value="06">Juni</option> <option value="07">Juli</option><option value="08">Agustus</option> <option value="09">September</option><option value="10">Oktober</option> <option value="11">Nopember</option><option value="12">Desember</option> </select><select size="1" name="masuk3" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ echo"<option value=\"$mulai[2]\" selected>$mulai[2]</option>"; } for($s=$th-10;$s<=$th;$s++){ echo"<option value=\"$s\">$s</option>"; } ?>

108

Aplikasi Program PHP dan MySQL </select></td></tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Kelas</font></td> <td width="74%"><select size="1" name="kelas" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ $data3=mysql_query("select nama from kelas where id='$d[kelas]'"); $hasil=mysql_fetch_array($data3); echo"<option value=\"$d[kelas]\" selected>$hasil[nama]</option>"; } $data2=mysql_query("select * from kelas order by nama"); while($data=mysql_fetch_array($data2)){ echo"<option value=\"",$data[id],"\">",$data[nama],"</option>"; } ?> </select></td></tr> <tr><td width="25%">&nbsp;</td><td width="74%">&nbsp;</td></tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">User ID</font></td><td width="74%"> <select size="1" name="userid1" style="color: #000080; fontfamily: Arial; font-size: 10pt; background-color: #FFFFFF">

109

Aplikasi Program PHP dan MySQL <? if($act=="edit"){ $data4=mysql_query("select userid from siswa where id='$id_data'"); $hasil=mysql_fetch_array($data4); $userid1=explode("_",$hasil[userid]); echo"<option value=\"$userid1[0]\" selected>$userid1[0]</option>"; } $data2=mysql_query("select * from kelas order by nama"); while($data=mysql_fetch_array($data2)){ echo"<option value=\"",$data[nama],"\">",$data[nama],"</option>"; } ?> </select> </tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Password</font></td> <td width="74%"><input type="text" name="password" size="24" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; paddingtop: 1px; padding-bottom: 1px" value="<?=$d[password]?>"></td> </tr> <tr> <td width="25%">&nbsp;</td><td width="74%">&nbsp;</td></tr> <tr><td width="25%">&nbsp;</td><td width="74%"> <? if($act!=="edit"){

110

Aplikasi Program PHP dan MySQL ?> <input type="submit" value="TAMBAH" name="tambah" style="font-family: Arial; color: #000080"> <?}else{?> <input type="submit" value=" UBAH " name="ubah" style="fontfamily: Arial; color: #000080"> <input type="submit" value=" HAPUS " name="hapus" style="fontfamily: Arial; color: #000080"> <?}?></td></tr> <input type="hidden" name="id_data" value="<?=$d[id]?>"> <input type="hidden" name="menu" value="siswa"></form> </table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table5"> <tr><td align="center" bgcolor="#93CDF5" colspan="3">Data Siswa</td></tr> <tr><td width="31%" bgcolor="#FBA53F"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Nama</font></td><td width="25%" bgcolor="#FBA53F"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Kelas</font></td><td width="43%" bgcolor="#FBA53F"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Alamat</font></td></tr> <? $total=0; $data3=mysql_query("select * from siswa where status='1' order by id desc"); while($data=mysql_fetch_array($data3)){

111

Aplikasi Program PHP dan MySQL $baca=mysql_query("select nama from kelas where id='$data[kelas]'"); $data2=mysql_fetch_array($baca); echo"<tr><td width=\"31%\"><p style=\"margin-left: 5px; marginright: 5px\"><font size=\"2\"><a href=\"admin.php?menu=siswa&act=edit&id_data=",$data[id],"\"> ",$data[nama],"</a></font></td><td width=\"16%\"><p style=\"margin-left: 5px; margin-right: 5px\"><font size=\"2\">",$data2[nama],"</font></td><td width=\"52%\"> <p style=\"margin-left: 5px; margin-right: 5px\"><font size=\"2\">",$data[alamat],"</font></td></tr>"; $total++; } ?> <tr><td width="99%" colspan="3"><p align="center"><font size="2">Jumlah total siswa adalah <b><?=$total?></b> orang.</font></td></tr></table>

Keterangan:
Pada script yang ada dalam halaman kelas aktif ini banyak sekali memuat fungsi-fungsi PHP. Fungsi-fungsi ini digabung dan difungsikan untuk mengolah data sesuai dengan kondisi program dan datanya. Pada bagian awal script ini memanggil file sambung.php untuk mengkoneksikan program dengan database, yaitu menggunakan fungsi include. Berikutnya dilanjutkan dengan rangkaian script yang berfungsi untuk mengambil data dari database dan mengkonversikan dalam bentuk format tanggal dalam bahasa Indonesia, potongan script tersebut adalah: if($act=="edit"){ $data1=mysql_query("select * from siswa where id='$id_data'"); $d=mysql_fetch_array($data1); $lahir=date("j n Y",$d[tgl_lahir]);

112

Aplikasi Program PHP dan MySQL $waktu=explode(" ",$lahir); $start=date("j n Y",$d[masuk]); $mulai=explode(" ",$start); $bln=array('Januari','Pebruari','Maret','April','Mei','Juni','Juli', 'Agustus','September','Oktober','Nopember','Desember'); $msk=$mulai[1]; $bulan=$waktu[1]; } $th=date("Y"); Berikutnya untuk menampilkan data pada halaman website, program menggunkan tag-tag HTML. Namun pada bagian-bagian tertentu, script ini membutuhkan script PHP untuk membuat obyek-obyek formulir. Berikut adalah script PHP digunakan untuk membuat obyek drop down untuk mentukan pilihan tanggal: <select size="1" name="tanggal" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"> <? if($act=="edit"){ echo"<option value=\"$waktu[0]\" selected>$waktu[0]</option>"; } for($s=1;$s<=31;$s++){ echo"<option value=\"$s\">$s</option>"; } ?> </select> Pada script ini, untuk menuliskan pilihan tanggal dari angka 1 sampai angka 31 tidak perlu menuliskan opsi pilihan berulang sampai tiga pulih satu kali, namun cukup menggunakan fungsi for dari kode PHP.

113

Aplikasi Program PHP dan MySQL Untuk menentukan pilihan nama kelas, script ini tidak menulis lagi tiap-tiap nama kelas yang sudah terdaftar, namun script akan membaca database nama kelas aktif dan menampilkan sebagai opsi. Potongan script tersebut adalah: $data2=mysql_query("select * from kelas order by nama"); while($data=mysql_fetch_array($data2)){ echo"<option value=\"",$data[nama],"\">",$data[nama],"</option>"; } ?> </select> Pada bagian paling bawah dari script ini adalah befungsi untuk membaca data kelas dari database dan menampilkan ke halaman kelas menggunakan tag-tag HTML. Berikut adalah potongan script tersebut: <? $total=0; $data3=mysql_query("select * from siswa where status='1' order by id desc"); while($data=mysql_fetch_array($data3)){ $baca=mysql_query("select nama from kelas where id='$data[kelas]'"); $data2=mysql_fetch_array($baca); echo"<tr><td width=\"31%\"><p style=\"margin-left: 5px; marginright: 5px\"><font size=\"2\"><a href=\"admin.php?menu=siswa&act=edit&id_data=",$data[id],"\"> ",$data[nama],"</a></font></td><td width=\"16%\"><p style=\"marginleft: 5px; margin-right: 5px\"><font size=\"2\">",$data2[nama],"</font></td><td width=\"52%\"> <p style=\"margin-left: 5px; margin-right: 5px\"><font size=\"2\">",$data[alamat],"</font></td></tr>";

114

Aplikasi Program PHP dan MySQL $total++; } ?> Apabila ditampilkan pada browser, tampilan halaman kelas seperti pada gambar 5.10 berikut:

Gambar 5.10 tampilan halaman kelas aktif.

Untuk melihat data lengkap dari salah satu data materi kelas aktif, anda dapat pilih dan klik salah satu nama kelas aktif pada daftar

115

Aplikasi Program PHP dan MySQL kelas aktif. Berikut adalah tampilan data kelas aktif detail apbila salah satu nama kelas aktif telah dipilih:

Gambar 5.11 tampilan halaman data detal kelas aktif.

Apabila anda perhatikan pada gambar 5.10 dan gambar 5.11 ada beberapa perbedaan. Pada gambar 5.10 hanya digunakan untuk menambah kelas aktif baru, jadi hanya membutuhkan satu tombol yaitu tambah saja. Namun pada halaman kelas aktif dengan data detail akan ditampilkan beberapa tombol dengan fungsi yang berbedabeda. Tombol ubah digunakan untuk mengubah data kelas aktif, tombol hapus digunakan untuk menghapus data kelas aktif, 116

Aplikasi Program PHP dan MySQL kemudian tombol nilai digunakan untuk melihat nilai siswa dari kelas dan materi tersebut dan tombol lihat absensi digunakan untuk melihat data absensi siswa dari kelas yang sedang diakses.

FILE INPUT DATA MATERI KELAS AKTIF


File ini berisikan script yang digunakan untuk mengolah data masukan dari formulir data kelas aktif. Pada script ini dibagi menjadi tiga bagian fungsi pengolahan data. Yang pertama adalah script dengan fungsi menambahkan data kelas aktif, fungsi kedua adalah untuk mengubah data kelas aktif dan yang ketiga adalah script dengan fungsi untuk menghapus data kelas aktif. Berikut adalah script yang ada dalam file input_materi.php: <? $mulai= mktime (0,0,0,$masuk1,$masuk2,$masuk3); if(isset($tambah)){ $tbh=mysql_query("INSERT INTO materi ( id , nama , kelas , instruktur , assisten1 , assisten2 , jml_session , mulai , jam_masuk , hari_masuk , status ) VALUES ('', '$nama', '$kelas' , '$instruktur', '$assisten1', '$assisten2','$session', '$mulai', '$jam_masuk', '$hari', '1')"); $kls=mysql_query("select * from siswa where kelas='$kelas'"); $jml_siswa=mysql_num_rows($kls); for($a=0;$a<$jml_siswa;$a++){ $siswa=mysql_fetch_array($kls); $add_siswa=mysql_query("INSERT INTO kelas_$kelas ( id , id_materi , kelas , id_instruktur , id_assisten1 , id_assisten2 , jml_session , id_siswa , absen_1 , absen_2 , absen_3 , absen_4 , absen_5 , absen_6 , absen_7 , absen_8 , absen_9 , absen_10 , absen_11 , absen_12 , absen_13 , absen_14 , absen_15 , absen_16 , absen_17 , absen_18 , nilai_harian , nilai_tugas , nilai_tengah , nilai_akhir , status )

117

Aplikasi Program PHP dan MySQL VALUES ( '', '$nama', '$kelas' , '$instruktur', '$assisten1', '$assisten2', '$session', '$siswa[id]', '#93CDF5', '#93CDF5', '#93CDF5', '#93CDF5', '#93CDF5', '#93CDF5', '#93CDF5', '#93CDF5', '#93CDF5', '#93CDF5', '#93CDF5', '#93CDF5', '#93CDF5', '#93CDF5', '#93CDF5', '#93CDF5', '#93CDF5', '#93CDF5', '0', '0', '0', '0', '1' )"); } header("location:./admin.php?menu=materi"); }elseif(isset($ubah)){ $ub=mysql_query("update materi set nama='$nama' , instruktur='$instruktur' , assisten1='$assisten1' , assisten2='$assisten2' , jml_session='$session' , mulai='$mulai' , jam_masuk='$jam_masuk' , hari_masuk='$hari' , status='$status' where id='$id_data'"); $add_siswa=mysql_query("update kelas_$kelas set id_materi='$materi', kelas='$kelas' , id_instruktur='$instruktur' , id_assisten1='$assisten1' , id_assisten2='$assisten2' , jml_session='$session' where id_materi='$nama' and kelas='$kelas' and id_instruktur='$instruktur'"); header("location:./admin.php?menu=materi"); }elseif(isset($hapus)){ $hp=mysql_query("delete from materi where id='$id_data'"); header("location:./admin.php?menu=materi"); }elseif(isset($materi_baru)){ header("location:./admin.php?menu=materi_baru"); }elseif(isset($nilai)){ header("location:./admin.php?menu=nilai&kelas=$kelas& inst=$instruktur&materi=$nama"); }elseif(isset($absensi)){ 118

Aplikasi Program PHP dan MySQL header("location:./admin.php?menu=absensi&kelas=$kelas& inst=$instruktur&materi=$nama"); }else{ header("location:./admin.php?menu=materi"); } ?>

Keterangan:
Pada bagian pertama dalam script di atas adalah berfungsi untuk menambah data pada database kelas dan kelas aktif. Script ini diawali dengan fungsi if yang memeriksa keberadaan variabel $tambah seperti pada potongan script di bawah ini: if(isset($tambah)){ $tbh=mysql_query("INSERT INTO materi ( id , nama , kelas , instruktur , assisten1 , assisten2 , jml_session , mulai , jam_masuk , hari_masuk , status ) VALUES ('', '$nama', '$kelas' , '$instruktur', '$assisten1', '$assisten2','$session', '$mulai', '$jam_masuk', '$hari', '1')"); $kls=mysql_query("select * from siswa where kelas='$kelas'"); $jml_siswa=mysql_num_rows($kls); for($a=0;$a<$jml_siswa;$a++){ $siswa=mysql_fetch_array($kls); Pada bagian kedua adalah script yang berfungsi untuk mengubah data kelas aktif yang sudah terdaftar. Bagian ini diawali dengan fungsi if dengan memeriksa keberadaan variabel $ubah seperti pada potongan script dibawah ini: }elseif(isset($ubah)){ $ub=mysql_query("update materi set nama='$nama' , instruktur='$instruktur' , assisten1='$assisten1' , assisten2='$assisten2' , jml_session='$session' , mulai='$mulai' ,

119

Aplikasi Program PHP dan MySQL jam_masuk='$jam_masuk' , hari_masuk='$hari' , status='$status' where id='$id_data'"); Bagian ketiga dari script ini adalah digunakan untuk menghapus data kelas aktif yang sudah terdaftar. Seperti pada bagian sebelumnya, bagian ini juga diawali dengan fungsi if yang memeriksa keberadaan variabel $hapus. Berikut adalah bagian script yang digunakan untuk menghapus data kelas aktif: }elseif(isset($ubah)){ $ub=mysql_query("update materi set nama='$nama' , instruktur='$instruktur' , assisten1='$assisten1' , assisten2='$assisten2' , jml_session='$session' , mulai='$mulai' , jam_masuk='$jam_masuk' , hari_masuk='$hari' , status='$status' where id='$id_data'"); $add_siswa=mysql_query("update kelas_$kelas set id_materi='$materi', kelas='$kelas' , id_instruktur='$instruktur' , id_assisten1='$assisten1' , id_assisten2='$assisten2' , jml_session='$session' where id_materi='$nama' and kelas='$kelas' and id_instruktur='$instruktur'"); Di bawah dari bagian script yang berfungsi untuk menghapus data kelas, masih ada beberapa fungsi lagi yaitu link redirect ke halaman tambah data materi baru jika tombol tambah data materi baru dipilih, kemudian link kehalaman data absensi siswa apabila tombol lihat absensi di pilih dan bagian script yang terakhir dengan fungsi mengalihkan administrator ke halaman data nilai apabila administrator menekan tombol lihat nilai.

HALAMAN TAMBAH DATA MATERI BARU


Halaman ini digunakn untuk menambah data materi baru atau mengubah data materi baru yang sudah ada. Untuk mengakses halaman ini, seorang administrator harus membuka terlebih dahulu halaman kelas aktif dan menekan tombol ubah/tambah materi baru yang berada di bagian atas halaman tersebut.

120

Aplikasi Program PHP dan MySQL Halaman ini berisikan formulir untuk menambah data materi baru dan daftar materi yang sudah dimasukkan sebelumnya. Berikut adalah script yang digunakan untuk membuat halaman tambah data materi baru ini. <? include"../sambung.php"; if($act=="edit"){ $data1=mysql_query("select * from data_materi where id='$id_data'"); $d=mysql_fetch_array($data1); } ?> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5" colspan="2">Tambah Data Materi</td></tr> <form method="POST" action="proses_tambah.php"> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Nama Materi</font></td> <td width="74%"><input type="text" name="nama" size="40" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; paddingtop: 1px; padding-bottom: 1px" value="<?=$d[nama]?>"></td></tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Jumlah session</font></td> <td width="74%"><input type="text" name="session" size="2" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-

121

Aplikasi Program PHP dan MySQL top: 1px; padding-bottom: 1px" value="<?=$d[session]?>"> pertemuan.</td></tr> <tr><td width="25%">&nbsp;</td> <td width="74%">&nbsp;</td></tr> <tr><td width="25%">&nbsp;</td><td width="74%"> <? if($act!=="edit"){ ?> <input type="submit" value="TAMBAH" name="tambah" style="font-family: Arial; color: #000080"> <?}else{?> <input type="submit" value=" UBAH " name="ubah" style="fontfamily: Arial; color: #000080"> <input type="submit" value=" HAPUS " name="hapus" style="fontfamily: Arial; color: #000080"> <?}?></td></tr> <input type="hidden" name="id_data" value="<?=$d[id]?>"> <input type="hidden" name="menu" value="materi_baru"></form> </table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table5"> <tr><td align="center" bgcolor="#93CDF5" colspan="4">Data Kelas</td></tr> <tr><td width="31%" bgcolor="#FBA53F"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Nama Materi</font></td> <td width="25%" bgcolor="#FBA53F"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Jumlah Session</font></td> <td width="22%" bgcolor="#FBA53F"><p style="margin-left: 5px; 122

Aplikasi Program PHP dan MySQL margin-right: 5px"><font size="2">Status</font></td></tr> <? $total=0; $materi=mysql_query("select * from data_materi order by id desc"); while($data=mysql_fetch_array($materi)){ echo"<tr><td width=\"31%\"><p style=\"margin-left: 5px; marginright: 5px\"><font size=\"2\"> <a href=\"admin.php?menu=materi_baru&act=edit& id_data=",$data[id],"\"> ",$data[nama],"</a></font></td> <td width=\"25%\"><p style=\"margin-left: 5px; margin-right: 5px\"> <font size=\"2\">",$data[session],"</font></td><td width=\"22%\"> <p style=\"margin-left: 5px; margin-right: 5px\"><font size=\"2\">",$data[status],"&nbsp;</font></td> </tr>"; $total++; } ?> <tr><td width="99%" colspan="4"><p align="center"><font size="2">Jumlah total kelas adalah <b><?=$total?></b> kelas.</font></td></tr></table>

Keterangan:
Awal dari script ini akan melakukan koneksi dengan database materi, yaitu memanggil file sambung.php menggunakan fungsi include. Kemudian pada script berikutnya adalah membentuk formulir yang digunakan untuk menambah data materi baru. Pada bagian kedua script ini akan membaca data materi yang sudah terdaftar dan menampilkan di bawah formulir kosong. Script yang dimaksud adalah seperti pada potongan script berikut: <? 123

Aplikasi Program PHP dan MySQL $total=0; $materi=mysql_query("select * from data_materi order by id desc"); while($data=mysql_fetch_array($materi)){ echo"<tr><td width=\"31%\"><p style=\"margin-left: 5px; marginright: 5px\"><font size=\"2\"> <a href=\"admin.php?menu=materi_baru&act=edit& id_data=",$data[id],"\"> ",$data[nama],"</a></font></td> <td width=\"25%\"><p style=\"margin-left: 5px; margin-right: 5px\"> <font size=\"2\">",$data[session],"</font></td><td width=\"22%\"> <p style=\"margin-left: 5px; margin-right: 5px\"><font size=\"2\">",$data[status],"&nbsp;</font></td> </tr>"; $total++; } ?> Berikut adalah tampilan halaman tambah data materi baru:

124

Aplikasi Program PHP dan MySQL

Gambar 5.12 Ttampilan halaman data materi.

FILE PROSES INPUT DATA MATERI BARU


Untuk mengolah data yang dimasukkan melalui formulir tambah data materi baru ini, maka dibuat sebuah script yang akan menanganinya. Script ini disimpan ke dalam file input_data_materi.php.Berikut adalah script yang ada dalam file tersebut: <? $mulai= mktime (0,0,0,$masuk1,$masuk2,$masuk3); if(isset($tambah)){ $tbh=mysql_query("INSERT INTO data_materi ( id , nama , session )VALUES ('', '$nama', '$session')");

125

Aplikasi Program PHP dan MySQL header("location:./admin.php?menu=materi_baru"); }elseif(isset($ubah)){ $ub=mysql_query("update data_materi session='$session' where id='$id_data'"); set nama='$nama' ,

header("location:./admin.php?menu=materi_baru"); }elseif(isset($hapus)){ $hp=mysql_query("delete from data_materi where id='$id_data'"); header("location:./admin.php?menu=materi_baru"); }else{ header("location:./admin.php?menu=materi_baru"); } ?>

Keterangan:
Sama halnya dengan script pengolah data yang ada pada bahasan sebelumnya, bahwa pada script ini juga dibagi menjadi tiga bagian yaitu bagian yang berfungsi untuk menambahkan data pada database, bagian yang kedua adalah script yang berfungi untuk mengubah data materi yang telah trdaftar dan yang ke tiga adalah script yang berfungsi untuk menghapus data materi yang sudah tidak digunakan. Pada masing-masing bagian dibatasi dengan fungsi if yang memeriksa variabel-variabel dari formulir tambah data materi.

DATA NILAI SISWA


Pada program ini juga ada fasilitas untuk melihat data nilai siswa berdasarkan nama masing-masing kelas aktif oleh administrator. Hal ini dimaksudkan untuk memberikan laporan nilai siswa dari instruktur atau pembimbing kelas tersebut kepada bagian administrator. Jadi sudah barang tentu pada halaman ini akan menampilkan data-data siswa yang mengikuti materi tertentu dan juga nilai yang diperoleh, baik nilai harian, nilai tugas, nilai tengah

126

Aplikasi Program PHP dan MySQL semester dan juga nilai akhir semester. Berikut adalah script yang digunakan untuk membangun halaman data nilai siswa tersebut: <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Data Nilai Siswa <?=$nama?></td></tr> <tr><td width="99%"><form method="POST" action="nilai_cetak.php?kelas=<?echo"$kelas&inst=$inst& materi=$materi"?>" target="_blank"> <table border="1" width="602" id="table5" cellspacing="0"> <? include"../sambung.php"; $mtr=@mysql_query("select nama from data_materi where id='$materi'"); $mtr2=@mysql_fetch_array($mtr); ?> <tr><td bgcolor="#93CDF5" width="37" align="center" rowspan="2"> <font size="2">No.</font></td> <td bgcolor="#93CDF5" align="center" width="173" rowspan="2"><font size="2">Nama</font></td> <td bgcolor="#93CDF5" align="center" width="383" colspan="6"><font size="2">Nilai materi <?=$mtr2[nama]?></font></td></tr> <tr> <td bgcolor="#93CDF5" width="63"><p align="center"><font size="2">Harian</font></td> <td bgcolor="#93CDF5" width="63"><p align="center"><font size="2">Tugas</font></td> <td bgcolor="#93CDF5" width="64"><p align="center"><font 127

Aplikasi Program PHP dan MySQL size="2">Tengah sms</font></td> <td bgcolor="#93CDF5" width="64"><p align="center"><font size="2">Akhir sms</font></td> <td bgcolor="#93CDF5" width="64"><p align="center"><font size="2">Total</font></td> <td bgcolor="#93CDF5" width="64"><p align="center"><font size="2">Nilai Huruf</font></td></tr> <? $nomor=1; $baca=mysql_query("select * from kelas_$kelas where id_instruktur='$inst' and id_materi='$materi' and kelas='$kelas'"); while($data=mysql_fetch_array($baca)){ $siswa=mysql_query("select nama from siswa where id='$data[id_siswa]'"); $siswa2=mysql_fetch_array($siswa); $total[$nomor]=number_format(((($data[nilai_harian]+ $data[nilai_tugas]+$data[nilai_tengah])/3)+($data[nilai_akhir]))/2,2); if($total[$nomor]<=50){ $n[$nomor]="E"; $bg_color="#FFCC99"; }elseif($total[$nomor]<=75){ $n[$nomor]="D"; }elseif($total[$nomor]<=82){ $n[$nomor]="C"; }elseif($total[$nomor]<=92){ $n[$nomor]="B"; }else{ $n[$nomor]="A"; 128

Aplikasi Program PHP dan MySQL } echo"<tr><td bgcolor=\"$bg_color\" width=\"37\"><font size=\"2\"> <center>$nomor</center></font></td> <td bgcolor=\"$bg_color\" width=\"173\"><font size=\"2\">$siswa2[nama]</font></td> <td bgcolor=\"$bg_color\" width=\"63\" align=\"center\"><font size=\"2\">$data[nilai_harian]</font></td> <td bgcolor=\"$bg_color\" width=\"63\" align=\"center\"><font size=\"2\">$data[nilai_tugas]</font></td> <td bgcolor=\"$bg_color\" width=\"64\" align=\"center\"><font size=\"2\">$data[nilai_tengah]</font></td> <td bgcolor=\"$bg_color\" width=\"64\" align=\"center\"><font size=\"2\">$data[nilai_akhir]</font></td> <td bgcolor=\"$bg_color\" width=\"64\" align=\"center\"><font size=\"2\">$total[$nomor]</font></td> <td bgcolor=\"$bg_color\" width=\"64\" align=\"center\"><b><font size=\"2\" color=\"#FF0000\">$n[$nomor]</font></b></td> </tr>"; $nomor++; } ?> </table><center><input type="submit" value="Format Cetak" name="tambah" style="font-family: Arial; color: #000080"> </form></td></tr></table>

Keterangan:
Pada dasarnya script di atas mempunyai fungsi membaca data siswa dan instruktur berdasarkan materi dan kelas aktif tertentu yang ada dalam tabel kelas_n1,n2, n.

129

Aplikasi Program PHP dan MySQL Bagian-bagian penting yang harus diperhatikan dalam script diatas adalah script yang membaca data siswa berdasarkan instruktur, materi dan kelas seperti yang ditampilkan dibawah ini: $baca=mysql_query("select * from kelas_$kelas where id_instruktur='$inst' and id_materi='$materi' and kelas='$kelas'"); while($data=mysql_fetch_array($baca)){ $siswa=mysql_query("select nama from siswa where id='$data[id_siswa]'"); $siswa2=mysql_fetch_array($siswa); $total[$nomor]=number_format(((($data[nilai_harian]+ $data[nilai_tugas]+$data[nilai_tengah])/3)+($data[nilai_akhir]))/2,2); Kemudian pada halaman nilai ini juga ditampilkan nilai dalam format abjad. Untuk menuliskan nilai abjad ini, script akan membaca total nilai siswa dan mendeklarasikan nilai dalam bentuk abjad berdasarkan rate tertentu. Berikut adalah bagian script yang mengalah data tersebut: if($total[$nomor]<=50){ $n[$nomor]="E"; $bg_color="#FFCC99"; }elseif($total[$nomor]<=75){ $n[$nomor]="D"; }elseif($total[$nomor]<=82){ $n[$nomor]="C"; }elseif($total[$nomor]<=92){ $n[$nomor]="B"; }else{ $n[$nomor]="A"; }

130

Aplikasi Program PHP dan MySQL Pada script berikutnya adalah menampilkan data tersebut ke dalam halaman nilai siswa menggunakan fungsi PHP dan tag-tag HTML. Berikut adalah tampilan halaman nilai siswa:

Gambar 5.13 Tampilan halaman data nilai siswa.

Jika diperhatikan pada halaman nilai ini terdapat sebuah tombol dengan nama format cetak. Tombol ini adalah pintu yang digunakan untuk membuka halaman nilai siswa dalam format cetak. Artinya jika seorang administrasi ingin mencetak laporan dalam media kertas, maka administrator dapat mencetak dari browser.

HALAMAN CETAK NILAI SISWA


Halaman cetak nilai siswa ini pada dasarnya mempunyai sistem script yang sama dengan halaman nilai siswa. Bedanya pada halaman

131

Aplikasi Program PHP dan MySQL cetak nilai siswa ini dibuatkan sebuah format halaman tanpa warna yang mencolok dan dengan format hitam putih saja. Tujuan dari halaman ini adalah digunakan untuk dicetak oleh administrasi apabila dibutuhkan laporan dengan media kertas. Berikut adalah script yang digunakan untuk membuat halaman cetak nilai: <? include"../sambung.php"; $mtr=@mysql_query("select nama from data_materi where id='$materi'"); $mtr2=@mysql_fetch_array($mtr); $kls=@mysql_query("select * from kelas where id='$kelas'"); $kls2=@mysql_fetch_array($kls); $instr=@mysql_query("select * from karyawan where id='$inst'"); $inst2=@mysql_fetch_array($instr); $materi2=mysql_query("select * from materi where id='$kelas'"); $materi1=mysql_fetch_array($materi2); ?> <html><head><title>Data Nilai Siswa</title></head> <body><center><br> <table border="1" width="72%" cellspacing="0" cellpadding="0" id="table1"> <tr><td colspan="8"><p align="center"><img border="0" src="../images/logomadcoms.gif" width="577" height="110"></td></tr> <tr><td colspan="8"><p align="center"><font face="Arial" size="4">Laporan Nilai Siswa Kelas <?=$kls2[nama]?></font></td></tr> <tr><td colspan="8"><table border="0" width="100%" cellspacing="0" cellpadding="0" id="table2">

132

Aplikasi Program PHP dan MySQL <tr><td width="125"><p style="margin-left: 10px"> <font face="Arial" size="2" color="#000080">Materi</font></td> <td><font face="Arial" size="2" color="#000080">:<?=$mtr2[nama]?></font></td></tr> <tr><td width="125"><p style="margin-left: 10px"><font face="Arial" size="2" color="#000080">Instruktur</font></td> <td><font face="Arial" size="2" color="#000080">:<?=$inst2[nama]?></font></td></tr> <tr><td width="125"><p style="margin-left: 10px"> <font face="Arial" size="2" color="#000080">Hari Masuk</font></td> <td><font face="Arial" size="2" color="#000080">:<?=$materi1[hari_masuk]?></font></td></tr> <tr><td width="125"><p style="margin-left: 10px"><font face="Arial" size="2" color="#000080">Jam Masuk</font></td> <td><font face="Arial" size="2" color="#000080">:<?=$materi1[jam_masuk]?></font></td> </tr></table></td></tr> <tr><td width="4%" rowspan="2" align="center"><b><font face="Arial" size="2" color="#000080">No.</font></b></td> <td width="26%" rowspan="2" align="center"><b><font face="Arial" size="2" color="#000080">Nama Siswa</font></b></td><td width="68%" colspan="6" align="center"><b><font face="Arial" size="2" color="#000080">Nilai</font></b></td></tr> <tr><td width="12%" align="center"><b><font face="Arial" size="2" color="#000080">Harian</font></b></td><td width="12%" align="center"><b><font face="Arial" size="2" color="#000080">Tugas</font></b></td><td width="11%" align="center"><b><font face="Arial" size="2" color="#000080">Tengah sms</font></b></td><td width="11%" align="center"><b><font face="Arial" size="2" color="#000080">Akhir sms</font></b></td><td width="11%" 133

Aplikasi Program PHP dan MySQL align="center"><b><font face="Arial" size="2" color="#000080">Total</font></b></td><td width="11%" align="center"><b><font face="Arial" size="2" color="#000080">Nilai Abjad</font></b></td></tr> <? $nomor=1; $baca=mysql_query("select * from kelas_$kelas where id_instruktur='$inst' and id_materi='$materi' and kelas='$kelas'"); while($data=mysql_fetch_array($baca)){ $siswa=mysql_query("select nama from siswa where id='$data[id_siswa]'"); $siswa2=mysql_fetch_array($siswa); $total[$nomor]=number_format(((($data[nilai_harian]+ $data[nilai_tugas]+$data[nilai_tengah])/3)+($data[nilai_akhir]))/2,2); if($total[$nomor]<=50){ $n[$nomor]="E"; $bg_color="#FFCC99"; }elseif($total[$nomor]<=75){ $n[$nomor]="D"; }elseif($total[$nomor]<=82){ $n[$nomor]="C"; }elseif($total[$nomor]<=92){ $n[$nomor]="B"; }else{ $n[$nomor]="A"; } echo"<tr><td width=\"4%\"><p align=\"center\"><font face=\"Arial\" size=\"2\" color=\"#000080\">$nomor</font></td>

134

Aplikasi Program PHP dan MySQL <td width=\"26%\"><p style=\"margin-left: 5px; margin-right: 5px\"><font face=\"Arial\" size=\"2\" color=\"#000080\">$siswa2[nama]</font></td> <td width=\"12%\" align=\"center\"><font face=\"Arial\" size=\"2\" color=\"#000080\">$data[nilai_harian]</font></td> <td width=\"12%\" align=\"center\"><font face=\"Arial\" size=\"2\" color=\"#000080\">$data[nilai_tugas]</font></td> <td width=\"11%\" align=\"center\"><font face=\"Arial\" size=\"2\" color=\"#000080\">$data[nilai_tengah]</font></td> <td width=\"11%\" align=\"center\"><font face=\"Arial\" size=\"2\" color=\"#000080\">$data[nilai_akhir]</font></td> <td width=\"11%\" align=\"center\"><font face=\"Arial\" size=\"2\" color=\"#000080\">$total[$nomor]</font></td> <td width=\"11%\" align=\"center\"><font face=\"Arial\" size=\"2\" color=\"#000080\">$n[$nomor]</font></td></tr>"; $nomor++; } ?> </table></center></body></html>

Keterangan:
Fungsi-fungsi yang digunakan untuk membuat halaman cetak adalah sama dengan script yang digunakan untuk menampilkan data nilai siswa, bedanya adalah tag-tag HTML yang dibuat dalam halaman ini adalah tag-tag HTML untuk membuat tampilan yang sederhana saja. Berikut adalah tampilan halaman cetak nilai siswa:

135

Aplikasi Program PHP dan MySQL

Gambar 5.14 Tampilan cetak data nilai siswa

DATA ABSENSI SISWA


Seperti halnya dengan halaman nilai siswa, dalam halaman data absensi siswa ini menampilkan data keaktifan siswa untuk mengikuti tatap muka proses belajar mengajar. Script dari halaman ini juga tidak jauh berbeda dengan halaman data nilai siswa. Jika dalam halaman data nilai siswa, script mengakses data-data nilai siswa dari kelas aktif dengan materi tertentu, dalam halaman data absensi siswa ini akan membaca data absensi siswa walaupun tabel yang dibaca tetap sama yaitu tabel kelas_n1 Berikut adalah bagian script PHP dengan fungsi mengakses database absensi yang ada dalam halaman data absensi siswa ini: 136

Aplikasi Program PHP dan MySQL <? include"../sambung.php"; $nomor=1; $baca=@mysql_query("select * from kelas_$kelas where id_instruktur='$inst' and id_materi='$materi' and kelas='$kelas'"); while($data=@mysql_fetch_array($baca)){ $siswa=@mysql_query("select nama from siswa where id='$data[id_siswa]'"); $siswa2=@mysql_fetch_array($siswa); echo"<tr><td width=\"34\"><font size=\"2\"><center>$nomor</center></font></td> <td width=\"127\"><font size=\"2\">$siswa2[nama]</font></td> <td width=\"21\" bgcolor=\"$data[absen_1]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_2]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_3]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_4]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_5]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_6]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_7]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_8]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_9]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_10]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_11]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_12]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_13]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_14]\">&nbsp;</td> <td width=\"22\" bgcolor=\"$data[absen_15]\">&nbsp;</td>

137

Aplikasi Program PHP dan MySQL <td width=\"22\" bgcolor=\"$data[absen_16]\">&nbsp;</td> <td width=\"22\" bgcolor=\"$data[absen_17]\">&nbsp;</td> <td width=\"22\" bgcolor=\"$data[absen_18]\">&nbsp;</td> </tr>"; $nomor++; } ?>

Keterangan:
Sengaja saya tidak menampilkan script data absensi siswa ini secara keseluruhan, karena terlalu panjngnya tag-tag HTML yang dibutuhkan. Saya hanya menampilkan bagian-bagian penting saja pada script data absensi siswa ini. Untuk melihat script keseluruhan , anda dapat membuka file absensi.php pada folder administrator dalam cd yang disertakan bersama buku ini. Script di atas dimulai dengan memanggil file sambung.php yang berfungsi untuk melakukan koneksi dengan database. Berikutnya script dilanjutkan dengan perintah query untuk membaca tabel kelas_n1 dengan filter atau syarat pembacaan data berdasarkan id_instruktur, id_materi dan berdasarkan kelas tertentu. Langkah berikutnya diikuti dengan tag-tag HTML dengan disisipkan beberapa variabel untuk menampilkan data pada halaman data absensi siswa ini. Berikut adalah gambar halaman keaktivan siswa:

138

Aplikasi Program PHP dan MySQL

Gambar 5.16 halaman data absensi siswa

TAMPILAN CETAK HALAMAN DATA

ABSENSI SISWA
Tujuan dibuatnya halaman cetak data absensi siswa ini juga sama dengan halaman cetak data nilai siswa, yaitu apabila administrasi ingin mencetak laporan keaktivan siswa. Script yang digunakanpun intinya sama denhan halaman data absensi siswa. Perbedaannya adalah tag-tag HTML yang digunakan. Berikut adalah tampilan halaman cetak data absensi siswa tersebut: 139

Jumlah titiktitik per inchi berjum-lah 4 buah

Aplikasi Program PHP dan MySQL

Gambar 5. 17 Tampilan cetak halaman data absensi siswa

140

Aplikasi Program PHP dan MySQL

PENGERTIAN HALAMAN INSTRUKTUR


Hak akses tingkat kedua diberikan kepada para pembimbing siswa. Dalam system ini disebut instruktur. Dikarenakan instruktur memiliki hak akses khusus, maka halaman-halaman yang dapat diaksespun juga dibedakan. Instruktur dalam system ini mempunyai hak untuk memeriksa dan memasukkan absensi keaktivan siswa yang dibimbingnya. Selain itu instruktur juga dapat memasukkan nilai ke dalama database dan dapat mengubahnya jika ada kesalaman. Jadi masing-masing instruktur hanya dapat mengakses data kelas dan siswa yang dibimbingnya saja. Halaman yang dapat diakses oleh instruktur dalam program ini dimasukkan pada sebuah folder dengan nama pengajar.

HALAMAN INDEX
Seperti pada halaman administrator, halaman instruktur ini juga memiliki halaman utama yang disebut halaman index. Halaman ini yang akan diakses paling awal oleh seorang instruktur. Halaman indek instruktur menampilkan sebuah formulir untuk melakukan login. Apabila instruktur akan mengakses halaman ini, maka

141

Aplikasi Program PHP dan MySQL instruktur harus membuka halaman index utama dari program ini, kemudian memilih menu link instruktur. Berikut adalah script yang digunakan untuk menampilkan halaman index instruktur: <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Login Instruktur</td> </tr> <form method="POST" action="login.php"> <tr><td width="99%"> <? if($error){ echo"<p align=\"center\"><font color=\"#FF0000\">UserID atau Password yang Anda masukkan salah.<br> Silakan ulangi lagi.</font></p>";} ?> <p style="margin-left: 5px; margin-right: 5px" align="center"> &nbsp;<p style="margin:2px 5px; " align="center"> <font size="2">Nama</font><p style="margin:2px 5px; " align="center"> <select size="1" name="id" style="color: #000080; font-family: Arial; font-size: 10pt"> <option selected value="-">Pilih Nama</option> <? include"../sambung.php"; $baca=mysql_query("select id,nama from karyawan order by nama"); while($data=mysql_fetch_array($baca)){

142

Aplikasi Program PHP dan MySQL echo"<option value=\"$data[id]\">$data[nama]</option>"; } ?> </select><p style="margin:2px 5px; " align="center"> <font size="2">Password</font><p style="margin:2px 5px; " align="center"> <input type="password" name="password" size="18" style="color: #000080; font-family: Arial; font-size: 10pt"><p align="center"> <input type="submit" value=" LOGIN " name="login" style="fontfamily: Arial; color: #000080"></td></tr> <input type="hidden" name="id_data" value="<?=$data[id]?>"> </form> </table>

Keterangan:
Pada script di atas saya cantumkan bagian script yang perlu dijelaskan saja, karena pnjangnya tag-tag HTML di dalamnya. Script ini intinya memuat tag-tag HTML yang membentuk sebuah formulir dengan dua obyek saja. Obyek yang pertama adalah sebuah drop down dengan menampilkan nilai nama-nama instruktur. Jadi apabila instruktur akan melakukan login tidak perlu menuliskan nama atau user id lagi, namun cukup mencari namanya yang ada dalam pilihan dropdown ini. Data nama-nama instruktur ini diambil dari hasil pembacaan data instruktur dari tabel karyawan. Bagian dari fungsi membaca dan menampilkan nama instruktur ini adalah: <? include"../sambung.php"; $baca=mysql_query("select id,nama from karyawan order by nama"); while($data=mysql_fetch_array($baca)){ echo"<option value=\"$data[id]\">$data[nama]</option>";

143

Aplikasi Program PHP dan MySQL } ?> Kemudian diikuti dengan obyek formulir yang kedua adalah kotak teks jenis password. Fungsi dari kotak teks ini adalah digunakan untuk menuliskan password dari masing-masing instruktur. Script tersebut adalah pada bagian: <input type="password" name="password" size="18" style="color: #000080; font-family: Arial; font-size: 10pt"> Tampilan dari halaman index instruktur tersebut adalah sebagai berikut:

Gambar 6.1 Tampilan halaman index instruktur.

FILE PROSES LOGIN


Seperti namanya, file ini menampung script dengan fungsi untuk memproses data-data yang dikirim dari halaman index atau login instruktur. Data yang ditulis pada halaman login akan dibawa oleh

144

Aplikasi Program PHP dan MySQL variabel-variabel tertentu kemudian akan diolah pada script ini. Berikut adalah data script pengolah data login tersebut: <? session_start(); include"../sambung.php"; $data=mysql_query("select * from karyawan where id='$id'"); $user=mysql_fetch_array($data); $pengajar="$user[nama]"; if($userid =="-" || $password==""){ header("Location:./index.php?error=1"); }else{ if($password=="$user[password]"){ session_register("id"); session_register("password"); session_register("pengajar"); header("Location:./utama.php"); }else{ header("Location:./index.php?error=1"); }} ?>

Keterangan:
Yang harus ditulis paling atas dalam script ini adalah fungsi sesi, yaitu session_start(); Fungsi untuk mendeklarasikan adanya data sesi dalam sebuah halaman php ini harus dituliskan pada bagian paling awal dari script keseluruhan. Apabila fungsi session_start() ini ditulis di tengah script maka php akan mendefinisikan sebuah kesalahan. Kemudian script akan memanggil file sambung.php untuk melakukan koneksi dengan 145

Aplikasi Program PHP dan MySQL database. Data yang ada dalam tabel karyawan akan dibaca menggunakan perintah query berdasarkan id instruktur yang sedang login. Data yang dibaca adalah nama instruktur, id instruktur dan password instruktur tersebut, kemudian oleh fungsi if akan dicocokkan dengan data password yang dikirim dari formulir login. Apabila data password yang dibaca tersebut sama, maka script akan mengarahkan instruktur untuk membuka halaman data utama instruktur. Apabila data password tersebut tidak sesuai, maka instruktur akan diarahkan ke halaman login kembali untuk memperbaiki password yang salah ketik.

HALAMAN DATA UTAMA


Halaman data utama ini adalah halaman pertama setelah instruktur sukses melakukan login. Dalam halaman ini akan menampilkan data kelas dan materi yang dibimbing oleh instruktur bersangkutan. Script yang ada dalam halaman ini melakukan pembacaan data kelas dan materi yang ada dalam tabel kelas aktif. Berikut adalah script yang ada pada halaman data utama ini: <? include"ceksession.php"; ?> <html><head> <title>Sistem Manajemen Pendidikan online</title> </head> <center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"><img src="../images/img_1.gif" width="800" height="108"

146

Aplikasi Program PHP dan MySQL alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td><p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr></table> </td></tr> <tr><td colspan="3" valign="top" height="18"><img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"><img src="../images/img_04.gif" width="180" height="74" alt=""></td><td valign="top" height="74" width="20" bgcolor="#D5EBFB"><img src="../images/img_05.gif" width="20" height="74" alt=""></td><td valign="top" height="74" width="600" bgcolor="#D5EBFB"><p align="center"><b>Halaman Untuk Instruktur</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"><table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top"><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> Data Kelas</p><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <? include"../sambung.php"; $nomor=1; $kelas=mysql_query("select nama from kelas order by nama"); while($data=mysql_fetch_array($kelas)){ echo"<font size=\"2\">$nomor. $data[nama]<br></font>";

147

Aplikasi Program PHP dan MySQL $nomor++; } ?> </p><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</p><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">Pengaturan</p><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"><font size="2"><a href="ganti_password.php">Ganti Password</a></font></p><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"><font size="2"><a href="../keluar.php">Keluar</a></font></p><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</td><td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Halaman utama</td></tr> <tr><td width="99%">Data Kelas yang sedang di bimbing oleh <?=$pengajar?><br>&nbsp;<table border="1" width="100%" cellspacing="0" cellpadding="0" id="table5"> <tr><td width="48" align="center"><font size="2">No.</font></td> <td width="123" align="center"><font size="2">Nama Kelas</font></td><td width="204" align="center"><font size="2">Materi</font></td> <td width="108" align="center"><font size="2">Jumlah Session</font></td> <td align="center"><font size="2">Status</font></td></tr> <? include"../sambung.php"; $baca1=mysql_query("select id,nama, kelas,jml_session,status

148

Aplikasi Program PHP dan MySQL from materi where instruktur='$id' limit 0,20"); $no=1; while($data1=mysql_fetch_array($baca1)){ $baca2=mysql_query("select id,nama from data_materi where id='$data1[nama]'"); $data2=mysql_fetch_array($baca2); $baca3=mysql_query("select id,nama from kelas where id='$data1[kelas]'"); $data3=mysql_fetch_array($baca3); if($data1[status]=="1"){ $status="Aktif"; }else{ $status="<font size=\"2\" color=\"#FF0000\">Sudah selesai</font>"; } echo"<tr><td width=\"48\"><p align=\"center\"><font size=\"2\">$no</font></td><td width=\"123\"><p style=\"marginleft: 2px; margin-right: 2px\"><font size=\"2\"><a href=\"kelas.php?kelas=$data1[kelas]&materi=$data1[nama]\"> $data3[nama]</a></font></td><td width=\"204\"><p style=\"marginleft: 2px; margin-right: 2px\"><font size=\"2\"><a href=\"kelas.php?kelas=$data1[kelas]&materi=$data1[nama]\"> $data2[nama]</a></font></td><td width=\"108\"><p align=\"center\"><font size=\"2\">$data1[jml_session] kali.</font></td><td><p align=\"center\"><font size=\"2\">$status</font></td></tr>"; $no++; } ?>

149

Aplikasi Program PHP dan MySQL </table></td></tr> <input type="hidden" name="id_data" value="$d[id_data]"> </table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p></td></tr></table></td></tr> <tr><td colspan="3" valign="top"><img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr></table></body></html>

Keterangan:
Bagian utama dari script di atas adalah script yang berfungsi untuk membaca data kelas aktif yang ada pada tabel kelas. Data kelas yang dibaca dan ditampilkan dalam halaman ini adalah data kelas berdasarkan id dari instruktur yang sedang membuka halaman ini. Berikut adalah potongan script tersebut: include"../sambung.php"; $baca1=mysql_query("select id,nama, kelas,jml_session,status from materi where instruktur='$id' limit 0,20"); $no=1; while($data1=mysql_fetch_array($baca1)){ $baca2=mysql_query("select id,nama from data_materi where id='$data1[nama]'"); $data2=mysql_fetch_array($baca2); $baca3=mysql_query("select id,nama from kelas where id='$data1[kelas]'"); $data3=mysql_fetch_array($baca3); if($data1[status]=="1"){ $status="Aktif"; }else{ $status="<font size=\"2\" color=\"#FF0000\">Sudah selesai</font>"; }

150

Aplikasi Program PHP dan MySQL echo"<tr><td width=\"48\"><p align=\"center\"><font size=\"2\">$no</font></td><td width=\"123\"><p style=\"margin-left: 2px; margin-right: 2px\"><font size=\"2\"><a href=\"kelas.php?kelas=$data1[kelas]&materi=$data1[nama]\"> $data3[nama]</a></font></td><td width=\"204\"><p style=\"marginleft: 2px; margin-right: 2px\"><font size=\"2\"><a href=\"kelas.php?kelas=$data1[kelas]&materi=$data1[nama]\"> $data2[nama]</a></font></td><td width=\"108\"><p align=\"center\"><font size=\"2\">$data1[jml_session] kali.</font></td><td><p align=\"center\"><font size=\"2\">$status</font></td></tr>"; $no++;

}
Pada awal dari potongan script tersebut adalah membaca file sambung.php menggunakan fungsi include, kemudian menggunaan perintah query $baca1=mysql_query("select id,nama, kelas,jml_session,status from materi where instruktur='$id' limit 0,20"); while($data1=mysql_fetch_array($baca1)){ untuk membaca data pada tabel materi. Selain membaca tabel materi, script ini berikutnya membaca tabel kelas menggunakan query $baca2=mysql_query("select id,nama from data_materi where id='$data1[nama]'"); $data2=mysql_fetch_array($baca2); berdasarkan id kelas yang disimpan pada variabel $data1[nama] dari tabel materi yang telah dibaca untuk menampilkan nama kelas. Langkah terakhir kemudian data hasil pembacaan dari database ditampilkan pada halaman ini menggunakan perintah echo. Berikut adalah tampilan halaman data utama instruktur:

151

Aplikasi Program PHP dan MySQL

Nama kelas aktif

Gambar 6.2 Tampilan halaman data utama instruktur.

HALAMAN DATA SISWA KELAS AKTIF


Setiap instruktur dapat memiliki kelas bimbingannya lebid dari satu. Seperti pada contoh di atas, bahwa instruktur dengan nama Yeni Cahyono memiliki tiga kelas aktif. Data ini ditampilkan pada halaman data utama instruktur. Data ini dapat anda perhatikan pada gambar 6.2 di atas. Pada masing-masing nama kelas tersebut adalah sebuah menu link, apabila diklik akan ditampilkan halaman data siswa kelas aktif. Data yang ditampilkan dalam halaman ini adalah data siswa yang menjadi anak didik dari instruktur tersebut untuk materi tertentu. Halaman data siswa kelas aktif ini mengakses data siswa yang ada pada kelas aktif berdasarkan id instruktur dan materi tertentu. Berikut adalah script yang ada pada halaman data siswa kelas aktif: <?

152

Aplikasi Program PHP dan MySQL include"ceksession.php"; include"../sambung.php"; ?> <html><head> <title>Sistem Manajemen Pendidikan online</title> </head> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"><img src="../images/img_1.gif" width="800" height="108" alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"><tr> <td><p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr> </table> </td></tr> <tr><td colspan="3" valign="top" height="18"><img src="../images/img_03.gif" width="800" height="18" alt=""></td> </tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"><img src="../images/img_04.gif" width="180" height="74" alt=""></td><td valign="top" height="74" width="20" bgcolor="#D5EBFB"><img src="../images/img_05.gif" width="20" height="74" alt=""></td><td valign="top" height="74" width="600" bgcolor="#D5EBFB"><p align="center"><b>Halaman Untuk Instruktur</b></td></tr>

153

Aplikasi Program PHP dan MySQL <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top"><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"><a href="utama.php">DATA KELAS</a></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="absensi.php?kelas=<?=$kelas?>&materi=<?=$materi?>"> Absensi</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"><font size="2"><a href="nilai.php?kelas=<?=$kelas?>&materi=<?=$materi?>"> Nilai</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">Pengaturan</p><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="ganti_password.php">Ganti Password</a></font></p><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="../keluar.php">Keluar</a></font></p><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</td><td valign="top"> <? $baca1=mysql_query("select nama from kelas where id='$kelas'"); $data1=mysql_fetch_array($baca1); ?>

154

Aplikasi Program PHP dan MySQL <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Data Siswa <?=$data1[nama]?></td></tr> <tr><td width="99%"><table border="1" width="100%" id="table5" cellspacing="0"> <tr><td bgcolor="#93CDF5" width="49" align="center"><font size="2">No.</font></td><td bgcolor="#93CDF5" align="center"> <font size="2">Nama</font></td><td bgcolor="#93CDF5" align="center" width="106"><font size="2">Jenis Kelamin</font></td><td bgcolor="#93CDF5" width="226" align="center"><font size="2">Alamat</font></td></tr> <? $no=1; $baca2=mysql_query("select id,nama,sex,alamat,kelas from siswa where kelas='$kelas'"); while($data2=mysql_fetch_array($baca2)){ ?> <tr><td width="49"><font size="2"><?=$no?></font></td><td><font size="2"><?=$data2[nama]?></font></td><td width="106"><font size="2"><?=$data2[sex]?></font></td><td width="226"><font size="2"><?=$data2[alamat]?></font></td></tr> <? $no++; }?> </table> <form method="POST" action="absensi.nilai.php"><p align="right" style="margin-right: 10px"> <input type="submit" value="Ke halaman sebelumnya"

155

Aplikasi Program PHP dan MySQL name="utama" style="color: #000080; font-family: Arial; font-size: 10pt">&nbsp;&nbsp; <input type="submit" value="Periksa Absensi" name="absensi" style="color: #000080; font-family: Arial; font-size: 10pt">&nbsp;&nbsp; <input type="submit" value=" Periksa Nilai " name="nilai" style="color: #000080; fontfamily: Arial; font-size: 10pt"></p> <input type="hidden" name="kelas" value="<?=$kelas?>"> <input type="hidden" name="materi" value="<?=$materi?>"> <input type="hidden" name="nama_kelas" value="<?=$data1[nama]?>"> </form> </td></tr></table><p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p></td></tr></table></td></tr> <tr><td colspan="3" valign="top"><img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr></table></body></html>

Keterangan:
Paling awal dari script ini adalah memanggil file ceksession.php yang berfungsi memeriksa data sesi. Kemudian dipanggil juga file sambung.php untuk melakukan koneksi dengan database. Bagian yang penting lagi adalah pada script yang mengunkan query untuk membaca data siswa pada tabel kelas aktif dan menampilakan data tersebut pada sela-sela tag-tag HTML. Potongan script tersebut adalah sebagai berikut: <? $no=1; $baca2=mysql_query("select id,nama,sex,alamat,kelas from siswa where kelas='$kelas'"); while($data2=mysql_fetch_array($baca2)){ ?> <tr><td width="49"><font size="2"><?=$no?></font></td><td><font size="2"><?=$data2[nama]?></font></td><td width="106"><font size="2"><?=$data2[sex]?></font></td><td width="226"><font size="2"><?=$data2[alamat]?></font></td></tr>

156

Aplikasi Program PHP dan MySQL <? $no++; }?> Dibagian paling bawah dari script ini adalah menampilkan tiga buah tombol navigasi, yang pertama adalah tombol untuk kembali ke halaman sebelumnya, kemudian tombol yang kedua digunakan untuk melihat data nilai siswa dan yang ketiga tombol untuk melihat data absensi siswa. Script tersebut adalah sebagai berikut: <form method="POST" action="absensi.nilai.php"><p align="right" style="margin-right: 10px"> <input type="submit" value="Ke halaman sebelumnya" name="utama" style="color: #000080; font-family: Arial; font-size: 10pt">&nbsp;&nbsp; <input type="submit" value="Periksa Absensi" name="absensi" style="color: #000080; font-family: Arial; font-size: 10pt">&nbsp;&nbsp; <input type="submit" value=" Periksa Nilai " name="nilai" style="color: #000080; font-family: Arial; font-size: 10pt"></p> <input type="hidden" name="kelas" value="<?=$kelas?>"> <input type="hidden" name="materi" value="<?=$materi?>"> <input type="hidden" name="nama_kelas" value="<?=$data1[nama]?>"> </form> Berikut tampilan halaman data siswa kelas aktif apabila anda pilih salah satu nama kelas aktif dari halaman utama instruktur:

157

Aplikasi Program PHP dan MySQL

Gambar 6.3 Tampilan halaman data siswa dari kelas aktif.

Pada bagian bawah dari halaman data siswa kelas aktif ini ada tiga tombol yang memiliki fungsi berbeda-beda. Sebenarnya tombol tersebut merupakan sebuah formulir yang memuat tiga obyek formulir submit dan tiga obyek hidden yang digunakan untuk menyimpan data kelas, materi dan data nama instruktur. Formulir ini memiliki nilai action / tujuan formulir apabila salah satu tombol tersebut di tekan ke file absensi.nilai.php. file ini akan memilah-milah atau membedakan tombol yang telah dipilih, kemudian mengarahkan ke halaman yang sesuai dengan tombol pilihan. Berikut adalah script yang ada dalam file absensi.nilai.php tersebut:

158

Aplikasi Program PHP dan MySQL <? include"ceksession.php"; if(isset($nilai)){ header("Location:./nilai.php?kelas=$kelas&materi=$materi& nama=$nama_kelas"); }elseif(isset($absensi)){ header("Location:./absensi.php?kelas=$kelas&materi=$materi& nama=$nama_kelas"); }elseif(isset($utama)){ header("Location:./utama.php"); }else{ header("Location:../keuar.php"); } ?>

HALAMAN ABSENSI SISWA


Halaman ini digunakan untuk menampilkan data keaktivan dan juga digunakan untuk mengisi data keaktivan siswa pada materi dan kelas aktif oleh instruktur atau pembimbingnya. Halaman ini dapat diakses dengan memilih tombol periksa absensi dari halaman data siswa kelas aktif. Script utama dari halaman ini adalah membaca data siswa dengan data keaktivannya dari tabel kelas aktif dengan pembacaan berdasarkan kelas, materi dan instruktur tertentu. Berikut adalah script yang ada pada halaman absensi siswa ini: <? include"ceksession.php"; ?>

159

Aplikasi Program PHP dan MySQL <html><head> <title>Sistem Manajemen Pendidikan online</title> </head><center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"><img src="../images/img_1.gif" width="800" height="108" alt=""></td> </tr><tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td><p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr></table> </td></tr> <tr><td colspan="3" valign="top" height="18"><img src="../images/img_03.gif" width="800" height="18" alt=""></td> </tr><tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"> <img src="../images/img_04.gif" width="180" height="74" alt=""></td><td valign="top" height="74" width="20" bgcolor="#D5EBFB"><img src="../images/img_05.gif" width="20" height="74" alt=""></td><td valign="top" height="74" width="600" bgcolor="#D5EBFB"><p align="center"><b>Halaman Untuk Instruktur</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top"><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">Data Kelas</p><p style="margin-left: 5px; margin-right: 15px; 160

Aplikasi Program PHP dan MySQL margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="utama.php">Daftar Kelas</a><br> <a href="nilai.php?kelas=<?=$kelas?>&materi=<?=$materi?>& nama=<?=$nama?>">Nilai</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> Pengaturan</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="ganti_password.php">Ganti Password</a> </font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="../keluar.php">Keluar</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Data Absensi Siswa <?=$nama?></td></tr> <tr><td width="99%"> <table border="0" width="100%" cellspacing="0" cellpadding="0" id="table6"> <tr><td width="341" valign="top"><p align="center"> <font size="2">Keterangan kehadiran siswa</font></td> <td valign="top" align="center" bgcolor="#008000"><p align="center"> 161

Aplikasi Program PHP dan MySQL <font size="2" color="#00FFFF"><b>hadir</b></font></td> <td valign="top" align="center" bgcolor="#FF0000" width="131"> <font size="2" color="#00FFFF"><b>tidak hadir</b></font></td></tr></table> <table border="1" width="602" id="table5" cellspacing="0"> <tr><td bgcolor="#93CDF5" width="34" align="center" rowspan="2"><font size="2">No.</font></td> <td bgcolor="#93CDF5" align="center" width="127" rowspan="2"> <font size="2">Nama</font></td> <td bgcolor="#93CDF5" align="center" width="382" colspan="18"> <font size="2">Session</font></td></tr> <tr><td bgcolor="#93CDF5" align="center" width="21"><font size="2"> <a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=1">1</a></font></td> <td bgcolor="#93CDF5" align="center" width="21"><font size="2"> <a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=2">2</a></font></td> <td bgcolor="#93CDF5" align="center" width="21"><font size="2"> <a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=3">3</a></font></td> <td bgcolor="#93CDF5" align="center" width="21"><font size="2"> <a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=4">4</a></font></td> <td bgcolor="#93CDF5" align="center" width="21"><font size="2"> <a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=5">5</a></font></td> <td bgcolor="#93CDF5" align="center" width="21"><font size="2"> <a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=6">6</a></font></td> 162

Aplikasi Program PHP dan MySQL <td bgcolor="#93CDF5" align="center" width="21"><font size="2"> <a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=7">7</a></font></td> <td bgcolor="#93CDF5" align="center" width="21"><font size="2"> <a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=8">8</a></font></td> <td bgcolor="#93CDF5" align="center" width="21"><font size="2"> <a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=9">9</a></font></td> <td bgcolor="#93CDF5" align="center" width="21"><font size="2"> <a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=10">10</a></font> </td><td bgcolor="#93CDF5" align="center" width="21"><font size="2"><a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=11">11</a></font> </td><td bgcolor="#93CDF5" align="center" width="21"><font size="2"><a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=12">12</a></font> </td><td bgcolor="#93CDF5" align="center" width="21"><font size="2"><a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=13">13</a></font> </td><td bgcolor="#93CDF5" align="center" width="21"><font size="2"><a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=14">14</a></font> </td><td bgcolor="#93CDF5" align="center" width="22"><font size="2"><a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=15">15</a></font> </td><td bgcolor="#93CDF5" align="center" width="22"><font size="2"><a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=16">16</a></font> </td><td bgcolor="#93CDF5" align="center" width="22"><font

163

Aplikasi Program PHP dan MySQL size="2"><a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=17">17</a></font> </td><td bgcolor="#93CDF5" align="center" width="22"><font size="2"><a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=18">18</a></font> </td></tr> <? include"../sambung.php"; $nomor=1; $baca=@mysql_query("select * from kelas_$kelas where id_instruktur='$id' and id_materi='$materi' and kelas='$kelas'"); while($data=@mysql_fetch_array($baca)){ $siswa=@mysql_query("select nama from siswa where id='$data[id_siswa]'"); $siswa2=@mysql_fetch_array($siswa); echo"<tr><td width=\"34\"><font size=\"2\"><center>$nomor </center></font></td> <td width=\"127\"><font size=\"2\">$siswa2[nama]</font></td> <td width=\"21\" bgcolor=\"$data[absen_1]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_2]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_3]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_4]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_5]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_6]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_7]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_8]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_9]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_10]\">&nbsp;</td> 164

Aplikasi Program PHP dan MySQL <td width=\"21\" bgcolor=\"$data[absen_11]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_12]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_13]\">&nbsp;</td> <td width=\"21\" bgcolor=\"$data[absen_14]\">&nbsp;</td> <td width=\"22\" bgcolor=\"$data[absen_15]\">&nbsp;</td> <td width=\"22\" bgcolor=\"$data[absen_16]\">&nbsp;</td> <td width=\"22\" bgcolor=\"$data[absen_17]\">&nbsp;</td> <td width=\"22\" bgcolor=\"$data[absen_18]\">&nbsp;</td></tr>"; $nomor++; } ?> </table> </td></tr> <input type="hidden" name="id_data" value="$d[id_data]"> </table><p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p> </td></tr></table> </td></tr> <tr><td colspan="3" valign="top"><img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr></table></body></html>

Keterangan:
Dalam rangkaian script di atas memiliki dua bagian utama yang harus diperhatikan. Yang pertama adalah bagian menu link untuk masing-masing data tatap muka materi yang sedang aktif. Link tersebut digunakan untuk memasukkan data keaktivan dari masingmasing siswa. Menu link tersebut dibuat dengan tag HTML dengan membawa beberapa variabel yang memiliki nilai dari hasil pembacaan database. Salah satu bagian tag untuk membuat menu link tersebut adalah: 165

Aplikasi Program PHP dan MySQL <a href="input_absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&kls=<?=$nama?>&ses=1">1</a> Pada link tersebut memiliki alamat file tujuan input_absensi.php kemudian memiliki variabel kelas dengan nilai $kelas, hasil dari pembacaan database, variabel mater dan vasiabel ses=1, artinya link tersebut digunakan untuk membuka halaman input data absensi pada pertemuan ke satu. Bagian ke dua adalah data keaktivan siswa. Pada halaman ini data keaktivan siswa digambarkan dengan warna dari sel pertemuan kolom pertemuan dan nama siswa. Tanda gambar ini dibuat emggunakan tag HTML dengan memberikan nilai warna dasar hasil dari pembacaan database. Berikut adalah salah satu script yang digunakan untuk menampilkan data keaktivan siswa tersebut: <? include"../sambung.php"; $nomor=1; $baca=@mysql_query("select * from kelas_$kelas where id_instruktur='$id' and id_materi='$materi' and kelas='$kelas'"); while($data=@mysql_fetch_array($baca)){ $siswa=@mysql_query("select nama from siswa where id='$data[id_siswa]'"); $siswa2=@mysql_fetch_array($siswa); echo"<tr><td width=\"34\"><font size=\"2\"><center>$nomor </center></font></td> <td width=\"127\"><font size=\"2\">$siswa2[nama]</font></td> <td width=\"21\" bgcolor=\"$data[absen_1]\">&nbsp;</td> Berikut adalah tampilan halaman absensi siswa yang dapat diakses oleh instruktur:

166

Aplikasi Program PHP dan MySQL

Menu link untuk memasukkan data absensi pada masing-masing session

Gambar 6.4 Tampilan halaman data absensi siswa.

HALAMAN INPUT DATA ABSENSI SISWA


Seorang Instruktur dalam system ini memiliki hak untuk mengirimkan data absensi siswa didiknya ke dalam database. Data inilah nantinya yang akan menjadi laporan absensi / keaktivan kelas aktif dalam materi tertentu. Halaman ini dapat diakses oleh instruktur dari menu link session pada halaman data absensi siswa. Masing-masing session memiliki menu link sendiri agar dapat diakses oleh instruktur yang akan memberikan data absensi. Menu link ini berupa teks angka yang ada pada judul kolom absensi dihalaman data absesnsi. Jadi apabila instruktur akan mengisi data absensi siswa pada session / tatap muka

167

Aplikasi Program PHP dan MySQL ke tujuh, maka instruktur harus pilih / klik nomor 7 yang ada pada kolom tujuh. Halaman input data absensi ini berupa formulir yang memiliki obyek pilihan radio dengan nilai masuk dan tidak masuk. Pilihan radion ini dimiliki pada masing-masing nama siswa. Berikut adalah script yang ada pada halaman input data absensi:

<? include"ceksession.php"; ?> <html><head> <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> </head><center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"><img src="../images/img_1.gif" width="800" height="108" alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td><p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr> </table> </td></tr>

168

Aplikasi Program PHP dan MySQL <tr><td colspan="3" valign="top" height="18"><img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"><img src="../images/img_04.gif" width="180" height="74" alt=""></td> <td valign="top" height="74" width="20" bgcolor="#D5EBFB"> <img src="../images/img_05.gif" width="20" height="74" alt=""></td> <td valign="top" height="74" width="600" bgcolor="#D5EBFB"> <p align="center"><b>Halaman Untuk Instruktur</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top"><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">Data Kelas</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"><font size="2"> <a href="absensi.php?kelas=<?=$kelas?>&materi=<?=$materi?>& nama=<?=$kls?>">Absensi</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="nilai.php?kelas=<?=$kelas?>&materi=<?=$materi?>& nama=<?=$kls?>">Nilai</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">

169

Aplikasi Program PHP dan MySQL Pengaturan</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="ganti_password.php">Ganti Password</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="../keluar.php">Keluar</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <form method="POST" action="proses_input_absensi.php"> <tr><td align="center" bgcolor="#93CDF5">Input Data Absensi Siswa <?=$kls?></td> </tr> <tr><td width="99%"> <table border="1" width="602" id="table5" cellspacing="0"> <tr><td bgcolor="#93CDF5" width="54" align="center"><font size="2">No.</font></td> <td bgcolor="#93CDF5" align="center" width="132"><font size="2">Nama</font></td> <td bgcolor="#93CDF5" align="center" width="382">Masukkan data absensi siswa session ke <?=$ses?>.</td></tr> <? include"../sambung.php"; $nomor=1; $baca=mysql_query("select * from kelas_$kelas where 170

Aplikasi Program PHP dan MySQL id_instruktur='$id' and id_materi='$materi' and kelas='$kelas'"); while($data=mysql_fetch_array($baca)){ $siswa=mysql_query("select nama from siswa where id='$data[id_siswa]'"); $siswa2=mysql_fetch_array($siswa); echo"<tr><td width=\"54\"> <p align=\"center\"><font size=\"2\">$nomor</font></td> <td width=\"132\"><font size=\"2\">$siswa2[nama]</font></td> <td width=\"382\"><input type=\"radio\" value=\"#008000\" checked name=\"n[$nomor]\"><font size=\"2\"> Masuk </font><input type=\"radio\" name=\"n[$nomor]\" value=\"#FF0000\"><font size=\"2\">Tidak masuk</font></td></tr>"; $nomor++; } ?> <input type="hidden" name="jml_siswa" value="<?=$nomor-2?>"> <input type="hidden" name="kelas" value="<?=$kelas?>"> <input type="hidden" name="materi" value="<?=$materi?>"> <input type="hidden" name="nama" value="<?=$kls?>"> <input type="hidden" name="ses" value="<?=$ses?>"> </table> <p align="right"><input type="submit" value=" K I R I M " name="kirim" style="color: #000080; font-weight: bold"></td></tr></form> </table><p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p></td></tr></table> </td></tr> 171

Aplikasi Program PHP dan MySQL <tr><td colspan="3" valign="top"> <img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr> </table> </body></html>

Keterangan:
Secara umum script ini disusun menggunakan tag-tag html, namun pada bagian-bagian tertentu yang difungsikan untuk membaca database script ini menggunakan kode-kode PHP. Bagian yang perlu anda perhatikan adalah bagian script yang berfungsi mengakses database dan menampilkan tag HTML pilihan radio secara berulangulang berdasarkan jumlah siswa yang ada dalam kelas tertentu. Script tersebut adalah: <? include"../sambung.php"; $nomor=1; $baca=mysql_query("select * from kelas_$kelas where id_instruktur='$id' and id_materi='$materi' and kelas='$kelas'"); while($data=mysql_fetch_array($baca)){ $siswa=mysql_query("select nama from siswa where id='$data[id_siswa]'"); $siswa2=mysql_fetch_array($siswa); echo"<tr><td width=\"54\"> <p align=\"center\"><font size=\"2\">$nomor</font></td> <td width=\"132\"><font size=\"2\">$siswa2[nama]</font></td> <td width=\"382\"><input type=\"radio\" value=\"#008000\" checked name=\"n[$nomor]\"><font size=\"2\"> Masuk </font><input type=\"radio\" name=\"n[$nomor]\" value=\"#FF0000\"><font size=\"2\">Tidak masuk</font></td></tr>"; 172

Aplikasi Program PHP dan MySQL $nomor++; } ?> Apabila halaman tersebut diakses menggunakan browser akan ditampilkan seperti berikut:

Gambar 6.5 Tampilan halaman input data absensi siswa.

FILE PROSES INPUT DATA ABSENSI SISWA


File ini berfungsi untuk mengolah data yang dikirim dari halaman input data absensi siswa. Script yang digunakan untuk mengolah data ini tidak terlalu banyak. Keseluruhan script dibuat dengan kode-kode 173

Aplikasi Program PHP dan MySQL PHP dan perintah query untuk memasukkan data ke dalam database. Berikut adalah script untuk mengolah data absensi tersebut: <? include"ceksession.php"; include"../sambung.php"; if(isset($kirim)){ $nomor=1; $baca=mysql_query("select * from kelas_$kelas where id_instruktur='$id' and id_materi='$materi' and kelas='$kelas'"); while($data=mysql_fetch_array($baca)){ $add_absen=mysql_query("update kelas_$kelas set absen_$ses='$n[$nomor]' where id_siswa='$data[id_siswa]' and id_materi='$data[id_materi]'"); $nomor++; } header("location:./absensi.php?kelas=$kelas&materi=$materi& nama=$kelas"); } ?>

Keterangan:
Awal dari script ini adalah memanggil file ceksession.php yang berfungsi untuk keamanan hak akses, kemudian memanggil file sambung.php untuk melakukan koneksi dengan database MySQL. Script untuk memasukkan data absensi ini menggunakan perintahperintah query seperti pada potongan script di bawah ini: $add_absen=mysql_query("update kelas_$kelas set absen_$ses='$n[$nomor]' where id_siswa='$data[id_siswa]' and id_materi='$data[id_materi]'");

174

Aplikasi Program PHP dan MySQL Query di atas berfungsi untuk mengudate data yang ada pada tabel kelas_aktif dengan nilai data yang dimasukkan pada field absent_session berdasarkan id_siswa dan materi tertentu.

HALAMAN NILAI SISWA


Seperti namanya halaman ini digunakan untuk menampilkan nilai siswa dari materi dan kelas aktif tertentu yang di dibimbing oleh seorang instruktur. Halaman ini diakses melalui tombol periksa nilai dari halaman utama data siswa yang diakses oleh instruktur. Berikut adalah script yang digunakan untuk menampilkan halaman nilai siswa: <? include"ceksession.php"; ?><html> <head><title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"></head><center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"><img src="../images/img_1.gif" width="800" height="108" alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td><p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr> </table></td></tr>

175

Aplikasi Program PHP dan MySQL <tr><td colspan="3" valign="top" height="18"><img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"><img src="../images/img_04.gif" width="180" height="74" alt=""></td> <td valign="top" height="74" width="20" bgcolor="#D5EBFB"><img src="../images/img_05.gif" width="20" height="74" alt=""></td> <td valign="top" height="74" width="600" bgcolor="#D5EBFB"><p align="center"><b>Halaman Untuk Instruktur</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top"><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> Data Kelas</p><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="utama.php">Daftar Kelas</a><br> <a href="absensi.php?kelas=<?=$kelas?>&materi=<?=$materi?>& nama=<?=$nama?>">Absensi</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> &nbsp;</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> Pengaturan</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; 176

Aplikasi Program PHP dan MySQL margin-bottom: 2px"> <font size="2"><a href="ganti_password.php">Ganti Password</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="../keluar.php">Keluar</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Data Nilai Siswa <?=$nama?></td></tr> <tr><td width="99%"><table border="1" width="602" id="table5" cellspacing="0"> <? include"../sambung.php"; $mtr=@mysql_query("select nama from data_materi where id='$materi'"); $mtr2=@mysql_fetch_array($mtr); ?> <tr><td bgcolor="#93CDF5" width="37" align="center" rowspan="2"><font size="2">No.</font></td> <td bgcolor="#93CDF5" align="center" width="173" rowspan="2"><font size="2">Nama</font></td> <td bgcolor="#93CDF5" align="center" width="383" colspan="6"><font size="2">Nilai materi <?=$mtr2[nama]?></font></td></tr> <tr><td bgcolor="#93CDF5" width="63"><p align="center"><font size="2">

177

Aplikasi Program PHP dan MySQL <a href="input_nilai.php?kelas=<?=$kelas?>&materi=<?=$materi?> &nama=<?=$nama?>&n=harian"> Harian</a></font></td> <td bgcolor="#93CDF5" width="63"><p align="center"><font size="2"> <a href="input_nilai.php?kelas=<?=$kelas?>&materi=<?=$materi?> &nama=<?=$nama?>&n=tugas"> Tugas</a></font></td><td bgcolor="#93CDF5" width="64"><p align="center"><font size="2"> <a href="input_nilai.php?kelas=<?=$kelas?>&materi=<?=$materi?> &nama=<?=$nama?>&n=tengah"> Tengah sms</a></font></td> <td bgcolor="#93CDF5" width="64"><p align="center"><font size="2"> <a href="input_nilai.php?kelas=<?=$kelas?>&materi=<?=$materi?> &nama=<?=$nama?>&n=akhir"> Akhir sms</a></font></td> <td bgcolor="#93CDF5" width="64"><p align="center"><font size="2">Total</font></td> <td bgcolor="#93CDF5" width="64"><p align="center"><font size="2">Nilai Huruf</font></td></tr> <? $nomor=1; $baca=@mysql_query("select * from kelas_$kelas where id_instruktur='$id' and id_materi='$materi' and kelas='$kelas'"); while($data=@mysql_fetch_array($baca)){

178

Aplikasi Program PHP dan MySQL $siswa=@mysql_query("select nama from siswa where id='$data[id_siswa]'"); $siswa2=@mysql_fetch_array($siswa); $total[$nomor]=number_format(((($data[nilai_harian]+ $data[nilai_tugas]+$data[nilai_tengah])/3)+($data[nilai_akhir]))/2,2); if($total[$nomor]<=50){ $n[$nomor]="E"; $bg_color="#FFCC99"; }elseif($total[$nomor]<=75){ $n[$nomor]="D"; }elseif($total[$nomor]<=82){ $n[$nomor]="C"; }elseif($total[$nomor]<=92){ $n[$nomor]="B"; }else{ $n[$nomor]="A"; } echo"<tr><td bgcolor=\"$bg_color\" width=\"37\"><font size=\"2\"><center>$nomor</center></font></td> <td bgcolor=\"$bg_color\" width=\"173\"><font size=\"2\">$siswa2[nama]</font></td> <td bgcolor=\"$bg_color\" width=\"63\" align=\"center\"><font size=\"2\">$data[nilai_harian]</font></td> <td bgcolor=\"$bg_color\" width=\"63\" align=\"center\"><font size=\"2\">$data[nilai_tugas]</font></td> <td bgcolor=\"$bg_color\" width=\"64\" align=\"center\"><font size=\"2\">$data[nilai_tengah]</font></td> <td bgcolor=\"$bg_color\" width=\"64\" align=\"center\"><font

179

Aplikasi Program PHP dan MySQL size=\"2\">$data[nilai_akhir]</font></td> <td bgcolor=\"$bg_color\" width=\"64\" align=\"center\"><font size=\"2\">$total[$nomor]</font></td> <td bgcolor=\"$bg_color\" width=\"64\" align=\"center\"><b><font size=\"2\" color=\"#FF0000\">$n[$nomor]</font></b></td></tr>"; $nomor++; }?> </table></td></tr></table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p> </td></tr></table></td></tr> <tr><td colspan="3" valign="top"><img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr></table> </body></html>

Keterangan:
Halaman data nilai siswa ini digunakan untuk menampilkan data nilai dari masing-masing siswa, yaitu nilai harian, nilai tugas, nilai tengah semester, nilai akhir semester dan nilai dengan format abjad. Pada script data nilai siswa ini ada beberapa yang harus diperhatikan, yang pertama adalah menu link untuk membuka halaman input data nilai siswa, ditunjukkan pada potongan script berikut: <a href="input_nilai.php?kelas=<?=$kelas?>&materi=<?=$materi?> &nama=<?=$nama?>&n=harian">Harian</a></font></td><td bgcolor="#93CDF5" width="63"><p align="center"><font size="2"><a href="input_nilai.php?kelas=<?=$kelas?>&materi=<?=$materi?> &nama=<?=$nama?>&n=tugas">Tugas</a></font></td><td bgcolor="#93CDF5" width="64"><p align="center"><font size="2"><a href="input_nilai.php?kelas=<?=$kelas?>&materi=<?=$materi?> &nama=<?=$nama?>&n=tengah">Tengah sms</a></font></td><td bgcolor="#93CDF5" width="64"><p align="center"><font size="2"><a 180

Aplikasi Program PHP dan MySQL href="input_nilai.php?kelas=<?=$kelas?>&materi=<?=$materi?> &nama=<?=$nama?>&n=akhir"> Akhir sms</a> Kemudian script untuk membaca data nilai siswa, yaitu membaca database pada tabel kelas_aktif seperti pada potongan script berikut: <? $nomor=1; $baca=@mysql_query("select * from kelas_$kelas where id_instruktur='$id' and id_materi='$materi' and kelas='$kelas'"); while($data=@mysql_fetch_array($baca)){ $siswa=@mysql_query("select nama from siswa where id='$data[id_siswa]'"); $siswa2=@mysql_fetch_array($siswa); Berikutnya script yang digunakan untuk mengkonversi data angka menjadi data abjad. Bagian ini digunakan untuk menampilkan data nilai abjad berdasarkan data nilai total pada masing-masing siswa. Berikut adalah potongan script tersebut: $total[$nomor]=number_format(((($data[nilai_harian]+ $data[nilai_tugas]+$data[nilai_tengah])/3)+($data[nilai_akhir]))/2,2); if($total[$nomor]<=50){ $n[$nomor]="E"; $bg_color="#FFCC99"; }elseif($total[$nomor]<=75){ $n[$nomor]="D"; }elseif($total[$nomor]<=82){ $n[$nomor]="C"; }elseif($total[$nomor]<=92){ $n[$nomor]="B"; }else{

181

Aplikasi Program PHP dan MySQL $n[$nomor]="A"; } Script di atas menggunakan fungsi if dengan membaca jumlah total dari nilai siswa kemudian dijadikan filter untuk menentukan nilai abjad. Berikut adalah tampilan halaman data nilai siswa tersebut:

Gambar 6.6 Tampilan halaman data nilai siswa.

HALAMAN INPUT DATA NILAI SISWA


Halaman ini menampilkan sebuah formulir yang digunakan untuk mengirim data nilai pada masing masing siswa berdasarkan jenis nilai. Halaman ini dapat diakses dengan memilih menu link yanga da pada halaman data nilai siswa. Menu link tersebut berada pada judul kolom masing-masing data nilai. Misalkan seorang instruktur akan

182

Aplikasi Program PHP dan MySQL mengisi data nilai harian siswa, maka menu link yang harus dipilih oleh instruktur adalah menu link harian. Berikut adalah script yang digunakan untuk menampilkan formulir input data nilai siswa: <? include"ceksession.php"; ?> <html> <head> <title>Sistem Manajemen Pendidikan online</title> </head> <center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"><img src="../images/img_1.gif" width="800" height="108" alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td><p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr></table> </td></tr> <tr><td colspan="3" valign="top" height="18"><img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"><img src="../images/img_04.gif" width="180"

183

Aplikasi Program PHP dan MySQL height="74" alt=""></td><td valign="top" height="74" width="20" bgcolor="#D5EBFB"> <img src="../images/img_05.gif" width="20" height="74" alt=""></td> <td valign="top" height="74" width="600" bgcolor="#D5EBFB"><p align="center"><b>Halaman Untuk Instruktur</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top"><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">Data Kelas</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="absensi.php?kelas=<?=$kelas?>& materi=<?=$materi?>&nama=<?=$nama?>">Absensi</a></font> </p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="nilai.php?kelas=<?=$kelas?>&materi=<?=$materi?>& nama=<?=$nama?>">Nilai</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">Pengaturan</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="ganti_password.php">Ganti Password</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; 184

Aplikasi Program PHP dan MySQL margin-bottom: 2px"> <font size="2"><a href="../keluar.php">Keluar</a></font></p><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <form method="POST" action="proses_input_nilai.php"> <tr><td align="center" bgcolor="#93CDF5">Data Nilai Siswa kelas <?=$nama?></td></tr> <tr><td width="99%"> <table border="1" width="602" id="table5" cellspacing="0"> <tr><td bgcolor="#93CDF5" width="37" align="center"><font size="2">No.</font></td> <td bgcolor="#93CDF5" align="center" width="274"><font size="2">Nama</font></td> <td bgcolor="#93CDF5" align="center" width="128"><font size="2">Jenis kelamin</font></td> <td bgcolor="#93CDF5" align="center" width="146"><font size="2">Nilai <?=$n?></font></td></tr> <? include"../sambung.php"; $nomor=1; $baca=mysql_query("select * from kelas_$kelas where id_instruktur='$id' and id_materi='$materi' and kelas='$kelas'"); while($data=mysql_fetch_array($baca)){ $siswa=mysql_query("select nama,sex from siswa where id='$data[id_siswa]'"); $siswa2=mysql_fetch_array($siswa);

185

Aplikasi Program PHP dan MySQL echo"<tr><td width=\"37\"><font size=\"2\">$nomor</font></td> <td width=\"274\"><font size=\"2\">$siswa2[nama]</font></td> <td width=\"128\"><p align=\"center\"><font size=\"2\">$siswa2[sex]</font></td> <td width=\"146\" align=\"center\"><select size=\"1\" name=\"n[$nomor]\" style=\"color: #000080; font-family: Arial; font-size: 10pt\">"; for($nilai=100;$nilai>=10;$nilai--){ echo"<option value=\"$nilai\">$nilai</option>"; } echo"</select></td></tr>"; $nomor++; } ?> <input type="hidden" name="kelas" value="<?=$kelas?>"> <input type="hidden" name="materi" value="<?=$materi?>"> <input type="hidden" name="nama" value="<?=$nama?>"> <input type="hidden" name="nilai" value="<?=$n?>"> </table> <p> <input type="submit" value=" K I R I M " name="kirim" style="color: #000080; font-weight: bold; float: right"></td></tr> </form> </table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p></td></tr></table> </td></tr>

186

Aplikasi Program PHP dan MySQL <tr><td colspan="3" valign="top"><img src="../images/img_09.gif" width="800" height="56" alt=""></td> </tr></table> </body> </html>

Keterangan:
Inti dari script di atas adalah bagian script PHP yang membaca data siswa dan menampilkan formulir yang memiliki obyek drop down sejumlah banyaknya siswa. Berikut adalah potonghan script tersebut: <? include"../sambung.php"; $nomor=1; $baca=mysql_query("select * from kelas_$kelas where id_instruktur='$id' and id_materi='$materi' and kelas='$kelas'"); while($data=mysql_fetch_array($baca)){ $siswa=mysql_query("select nama,sex from siswa where id='$data[id_siswa]'"); $siswa2=mysql_fetch_array($siswa); echo"<tr><td width=\"37\"><font size=\"2\">$nomor</font></td> <td width=\"274\"><font size=\"2\">$siswa2[nama]</font></td> <td width=\"128\"><p align=\"center\"><font size=\"2\">$siswa2[sex]</font></td> <td width=\"146\" align=\"center\"><select size=\"1\" name=\"n[$nomor]\" style=\"color: #000080; font-family: Arial; fontsize: 10pt\">"; for($nilai=100;$nilai>=10;$nilai--){ echo"<option value=\"$nilai\">$nilai</option>"; } echo"</select></td></tr>"; 187

Aplikasi Program PHP dan MySQL $nomor++; } ?> Langkah awal dari script di atas adalah membaca data siswa dari database kelas aktif berdasarkan materi dan instruktur yang sedang membuka halaman ini. Kemudian data siswa tersebut dihitung jumlahnya yang akan dijadikan ketentuan jumlah dropdown pada formulir tersebut. Berikut adalah tampilan halaman input data nilai siswa:

188

Aplikasi Program PHP dan MySQL


Gambar 6.7 Tampilan halaman input data nilai siswa.

FILE PROSES DATA INPUT DATA NILAI

SISWA
Setiap formulir yang akan digunakan untuk mengolah data, pasti membutuhkan script tujuan yang berfungsi untuk mengolah data masukkan tersebut. Demikian juga untuk formulir input data nilai siswa di atas, membutuhkan script pengolah data masukkan. Script tersebut disimpan ke dalam sebuah file yang diberi nama proses_input _nilai.php. berikut adalah listing script tersebut: <? include"ceksession.php"; include"../sambung.php"; if(isset($kirim)){ $nomor=1; $baca=mysql_query("select * from kelas_$kelas where id_instruktur='$id' and id_materi='$materi' and kelas='$kelas'"); while($data=mysql_fetch_array($baca)){ $add_absen=mysql_query("update kelas_$kelas set nilai_$nilai='$n[$nomor]' where id_siswa='$data[id_siswa]' and id_materi='$data[id_materi]'"); $nomor++; } header("location:./nilai.php?kelas=$kelas&materi=$materi& nama=$nama"); } ?>

Keterangan:

189

Aplikasi Program PHP dan MySQL Script ini diawali dengan memanggil file ceksession.php untuk memeriksa keberadaan data sesi, kemudian juga memanggil file sambung.php untuk melakukan koneksi dengan database. Langkah berikutnya adalah menggunakan perintah query untuk memasukkan data dari formulir ke dalama database kelas aktif.

HALAMAN GANTI PASSWORD


Instruktur juga diberi fasilitas untuk mengganti passwordnya sendiri. Halaman ini diakses dari halaman utama instuktur dengan memilih menu link ubah password. Halaman ini menampilkan sebuah formulir sederhana yang berfungsi untuk memasukkan password lama dan password baru. Berikut adalah script yang digunakan untuk menampilkan formulir ganti password tersebut: <? include"ceksession.php"; ?> <html> <head> <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> </head> <center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"> <img src="../images/img_1.gif" width="800" height="108"

190

Aplikasi Program PHP dan MySQL alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td><p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr></table> </td></tr> <tr><td colspan="3" valign="top" height="18"> <img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"> <img src="../images/img_04.gif" width="180" height="74" alt=""></td> <td valign="top" height="74" width="20" bgcolor="#D5EBFB"> <img src="../images/img_05.gif" width="20" height="74" alt=""></td> <td valign="top" height="74" width="600" bgcolor="#D5EBFB"> <p align="center"><b>Halaman Untuk Instruktur</b></td> </tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top">&nbsp;</td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr>

191

Aplikasi Program PHP dan MySQL <td align="center" bgcolor="#93CDF5">Ganti Password</td> </tr> <form method="POST" action="ganti.php"> <tr><td width="99%"><p style="margin-left: 5px; margin-right: 5px" align="center"> <font color="#FF0000"><?=$err?></font><br><p style="margin:2px 5px; " align="center"> <font size="2">Password Lama</font><p style="margin:2px 5px; " align="center"> <input type="password" name="password_lama" size="18" style="color: #000080; font-family: Arial; font-size: 10pt"><p style="margin:2px 5px; " align="center"> <font size="2">Password Baru</font><p style="margin:2px 5px; " align="center"> <input type="password" name="password1" size="18" style="color: #000080; font-family: Arial; font-size: 10pt"><p style="margin:2px 5px; " align="center"> <font size="2">Password Baru ( <font color="#FF0000">ulangi</font> )</font><p style="margin:2px 5px; " align="center"> <input type="password" name="password2" size="18" style="color: #000080; font-family: Arial; font-size: 10pt"><p align="center"> <input type="submit" value="G A N T I" name="ganti" style="fontfamily: Arial; color: #000080"> <input type="submit" value="B A T A L" name="batal" style="fontfamily: Arial; color: #000080"></td> </tr> </form> </table>

192

Aplikasi Program PHP dan MySQL <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p> </td></tr> </table> </td></tr> <tr><td colspan="3" valign="top"> <img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr> </table> </body> </html>

Keterangan:
Inti dari script di atas adalah tag-tag HTML yang digunakan untuk membentuk formulir ganti password instruktur. Formulir ini mempunyai empat obyek formulir, yaitu kotak teks yang digunakan untuk mengirim data password dan tombol submit. Berikut adalah tampilan halaman formulir ganti password:

193

Aplikasi Program PHP dan MySQL

Gambar 6.7 Tampilan halaman ganti password.

FILE PROSES GANTI PASSWORD


File ini dibuat dan digunakan untuk mengolah data password lama diganti dengan password yang baru milik instruktur. Data password dari formulir ganti password tersebut akan diolah dan dimasukkan ke dalam database oleh script berikut: <? include"ceksession.php"; if(isset($ganti)){ if($password_lama!==$password){ $pesan="<br>Password lama yang Anda masukkan salah. Periksa kembali.<br>"; header("location:./ganti_password.php?err=$pesan"); }elseif($password1!==$password2){

194

Aplikasi Program PHP dan MySQL $pesan="<br>Password baru Anda harus sama dengan password konfirmasi dibawahnya.<br>"; header("location:./ganti_password.php?err=$pesan"); }else{ include"../sambung.php"; $ganti_pass=mysql_query("UPDATE karyawan set password='$password1' WHERE id='$id'"); session_unregister ("password"); $password="$password1"; session_register("password"); } }else{ header("location:./utama.php"); } ?> <html> <head> <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> </head><center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"><img src="../images/img_1.gif" width="800" height="108" alt=""></td>

195

Aplikasi Program PHP dan MySQL </tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td><p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr> </table> </td></tr> <tr><td colspan="3" valign="top" height="18"> <img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"><img src="../images/img_04.gif" width="180" height="74" alt=""></td> <td valign="top" height="74" width="20" bgcolor="#D5EBFB"> <img src="../images/img_05.gif" width="20" height="74" alt=""></td> <td valign="top" height="74" width="600" bgcolor="#D5EBFB"> <p align="center"><b>Halaman Untuk Instruktur</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top">&nbsp;</td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Konfirmasi Ganti Password</td>

196

Aplikasi Program PHP dan MySQL </tr> <tr><td width="99%"><p style="margin-left: 5px; margin-right: 5px" align="center">&nbsp;<p style="margin-left: 5px; marginright: 5px" align="center">Password anda telah diganti dengan :<p style="margin-left: 5px; margin-right: 5px" align="center"> <b><?=$password1?></b><p style="margin-left: 5px; margin-right: 5px" align="center">Untuk melanjutkan tekan tombol di bawah ini<form method="POST" action="utama.php"><p style="marginleft: 5px; margin-right: 5px" align="center"> <input type="submit" value="L A N J U T" name="lanjut" style="color: #000080; font-family: Arial; font-size: 10pt"></p> </form> <p style="margin-left: 5px; margin-right: 5px" align="center"> &nbsp;</td></tr> </table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p></td> </tr> </table> </td></tr> <tr><td colspan="3" valign="top"> <img src="../images/img_09.gif" width="800" height="56" alt=""></td> </tr> </table> </body> </html>

Keterangan:

197

Aplikasi Program PHP dan MySQL Script di atas dibagi menjadi dua bagian utama. Yang pertama adalah script yang berfungsi untuk mengolah data password baru instruktur. Berikut adalah bagian script tersebut: <? include"ceksession.php"; if(isset($ganti)){ if($password_lama!==$password){ $pesan="<br>Password lama yang Anda masukkan salah. Periksa kembali.<br>"; header("location:./ganti_password.php?err=$pesan"); }elseif($password1!==$password2){ $pesan="<br>Password baru Anda harus sama dengan password konfirmasi dibawahnya.<br>"; header("location:./ganti_password.php?err=$pesan"); }else{ include"../sambung.php"; $ganti_pass=mysql_query("UPDATE karyawan set password='$password1' WHERE id='$id'"); session_unregister ("password"); $password="$password1"; session_register("password"); } }else{ header("location:./utama.php"); } ?> Script tersebut diawali deangan memanggil file ceksession.php untuk memeriksa keberadaan data sesi. Kemudian memeriksa apakah password yang dimasukkan pada bagian password lama apa sama 198

Aplikasi Program PHP dan MySQL dengan data password yang disimpan pada variable sesi. Apabila password yang dimasukkan pada variable password lama tidak sama dengan data sesi password, maka akan dimasukkan keterangan bahwa data password lama tidak benar. Apabila data password lama yang dimasukkan sudah benar, maka script akan dilanjutkan memeriksa data password 1 dengan password 2. kedua data tersebut di periksa kesamaannya.. Apabila kedua syarat tersebut terpenuhi, maka script akan memasukkan data password baru untuk mengganti password lama menggunakan perintah query berikut: $ganti_pass=mysql_query("UPDATE karyawan set password='$password1' WHERE id='$id'"); Data password lama akan diganti dengan data password baru setelah script diatas dijalankan. Namun pada data sesi masih memiliki data password yang lama. Hal ini akan ditolah oleh halaman-halaman yang lain apabila instruktur membuka halaman berikutnya. Maka dari itu dibuat sebuah script yang menghapus data password lama dan memasukkan data password baru ke dalam variable sesi seperti pada script di bawah ini: session_unregister ("password"); $password="$password1"; session_register("password"); bagian yang kedua adalah tag-tag HTML yang berfungsi menampilkan halaman ganti password apabila password sudah sukses diganti. Berikut adalah tampilan halaman sukses ganti password:

199

Jumlah titiktitik per inchi berjum-lah 4 buah

Aplikasi Program PHP dan MySQL

Gambar 6.8 Tampilan halaman sukses ganti password.

200

Aplikasi Program PHP dan MySQL

PENGERTIAN HALAMAN SISWA


Halaman siswa adalah tampilan atau bentuk laporan yang hanya dapat diakses oleh seorang siswa.Siswa dalam system ini memiliki hak akses lebih sempit lagi dibanding dengan instruktur. Hak siswa hanya dapat melihat hasil laporan dari masing-masing siswa. Laporan tersebut berupa laporan nilai dan laporan keaktivan siswa tersebut. Selain itu setiap siswa juga memiliki hak untuk mengganti passwordnya masing-masing. Jadi setiap siswa tidak dapat melihat data siswa lain, apabila siswa tersebut tidak mengetahui passwordnya.

HALAMAN INDEX / LOGIN SISWA


Halaman index atau halaman login siswa adalah halaman yang paling utama diakses oleh seorang siswa. Halaman ini dapat dibuka setelah siswa menekan menu link siswa dari halaman utama system. Pada halaman ini menampilkan sebuah formulir yang dapat digunakan oleh setiap siswa yang ingin membuka halaman siswa dan melihat data laporan nilai dan laporan keaktivan siswa tersebut.

201

Aplikasi Program PHP dan MySQL Berikut adalah script yang digunakan untuk menampilkan halaman index siswa: <html> <head> <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> </head><center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"><img src="../images/img_1.gif" width="800" height="108" alt=""></td> </tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td><p style="margin-left: 170px; margin-right: 50px" align="right"><span class=menu><font size="2"><a href="../index.php">HOME</a> | <a href="../siswa/index.php">LOGIN SISWA</a> | <a href="../walisiswa/index.php">WALI SISWA </a>| <a href="../pengajar/index.php">INSTRUKTUR </a>| <a href="../administrator/index.php">ADMINISTRASI </a> </font> </span></td></tr> </table> </td>

202

Aplikasi Program PHP dan MySQL </tr> <tr><td colspan="3" valign="top" height="18"> <img src="../images/img_03.gif" width="800" height="18" alt=""></td> </tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"><img src="../images/img_04.gif" width="180" height="74" alt=""></td><td valign="top" height="74" width="20" bgcolor="#D5EBFB"><img src="../images/img_05.gif" width="20" height="74" alt=""></td><td valign="top" height="74" width="600" bgcolor="#D5EBFB"> <p align="center"><b>Halaman Untuk Siswa</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top">&nbsp;</td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Login Siswa</td></tr> <form method="POST" action="login.php"> <tr><td width="99%"><p style="margin-left: 5px; margin-right: 5px" align="center">&nbsp;<p style="margin:2px 5px; " align="center"><font size="2">User ID</font><p style="margin:2px 5px; " align="center"> <select size="1" name="userid1" style="color: #000080; fontfamily: Arial; font-size: 10pt; background-color: #FFFFFF"> <? include"../sambung.php";

203

Aplikasi Program PHP dan MySQL $data2=mysql_query("select * from kelas order by nama"); while($data=mysql_fetch_array($data2)){ echo"<option value=\"",$data[nama],"\">",$data[nama],"</option>"; } ?> </select>_<input type="text" name="userid2" size="15" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; paddingtop: 1px; padding-bottom: 1px"><p style="margin:2px 5px; " align="center"> <font size="2">Password</font><p style="margin:2px 5px; " align="center"> <input type="password" name="password" size="18" style="color: #000080; font-family: Arial; font-size: 10pt"><p align="center"> <input type="submit" value=" LOGIN " name="login" style="fontfamily: Arial; color: #000080"></td></tr> </form> </table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p> </td></tr> </table> </td></tr> <tr><td colspan="3" valign="top"><img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr> </table> </body> </html>

Keterangan:
204

Aplikasi Program PHP dan MySQL Dalam script di atas lebih banyak memuat tag-tag HTML, namun yang perlu anda perhatikan adalah tag dank ode PHP yang digunakan untuk membentuk sebuah formulir. Formulir untuk login ini bukan sebuah formulir kosong, namun formulir yang beberapa obyeknya sudah memiliki nilai atau value. Setiap tag yang membentuk formulir akan diawali dengan tag <form> yang memiliki beberapa nilai. Berikut adalah tag yang digunakan untuk membuat formulir tersebut: <form method="POST" action="login.php"> Artinya apabila formulir tersebut dijalankan dan tombol login ditekan, maka data yang ada pada obyek / variabel akan dikirim ke file login.php, sebagai script pengalah data. Script berikutnya dilanjutnkan dengan obyek formulir dropdown dengan nilai atau value hasil pembacaan nama kelas dari database kelas. Berikut adalah script untuk membentuk dropdown tersebut: <select size="1" name="userid1" style="color: #000080; font-family: Arial; font-size: 10pt; background-color: #FFFFFF"> <? include"../sambung.php"; $data2=mysql_query("select * from kelas order by nama"); while($data=mysql_fetch_array($data2)){ echo"<option value=\"",$data[nama],"\">",$data[nama],"</option>"; } ?> </select> Nama dari dropdown tersebut adalah userid1 dengan hasil pembacaan data kelas menggunakan kode-kode PHP dan perintah query. Data kemudian ditampilkan sebagai pilihan nama kelas siswamenggunakan fungsi echo. Obyek dropdown ditutup dengan tag </select>. Script berikutnya dilanjutkan dengan menampilkan obyek kotak teks untuk userid2 dan password. Seperti dibawah ini:

205

Aplikasi Program PHP dan MySQL <input type="text" name="userid2" size="15" style="color: #000080; font-size: 10pt; font-family: Arial; border: 1px solid #FFFFFF; padding-left: 4px; padding-right: 4px; padding-top: 1px; paddingbottom: 1px"><p style="margin:2px 5px; " align="center"> <font size="2">Password</font><p style="margin:2px 5px; " align="center"> <input type="password" name="password" size="18" style="color: #000080; font-family: Arial; font-size: 10pt"><p align="center"> Kemudian script ditutup dengan menampilkan tombol submit dan tag penutup formlulir yaitu: <input type="submit" value=" LOGIN " name="login" style="fontfamily: Arial; color: #000080"></td></tr> </form> Berikut adalah tampilan halaman login untuk siswa:

Gambar 7.1 Tampilan halaman index siswa.

SCRIPT PROSES LOGIN


206

Aplikasi Program PHP dan MySQL Untuk mengolah data login dibutuhkan sebuah script khusus. Script ini berfungsi untuk memeriksa data yang dikirim dari formulir login dengan data hasil pembacaan dari database. Apabila kedua data tersebut cocok maka script akan mengarahkan siswa yang sedang login ke halaman utama untuk siswa. Apabila kedua data tersebut tidak sama, maka siswa akan diarahkan ke halaman login kembali untuk melakukan login ulang. Berikut adalah script pengolah data login tersebut: <? session_start(); $userid=$userid1."_".$userid2; include"../sambung.php"; $data=mysql_query("select * from siswa where userid='$userid'"); $user=mysql_fetch_array($data); $id_siswa="$user[id]"; $nama="$user[nama]"; $kelas="$user[kelas]"; if($userid =="" || $password==""){ header("Location:./index.php?error=1"); }else{ if($password=="$user[password]"){ session_register("id_siswa"); session_register("password"); session_register("kelas"); session_register("nama"); header("Location:./utama.php"); }else{ header("Location:./index.php?error=2");

207

Aplikasi Program PHP dan MySQL } } ?>

Keterangan:
Script di atas di awali dengan fungsi untuk mendeklarasikan adanya data sesi, yaitu session_start(); kemudian diikuti kode php untuk menggabung userid1 dan userid2 menjadi sebuah variabel userid yaitu bagian kode $userid=$userid1."_".$userid2;. Berikutnya script akan membaca data yang da pada tabel siswa menggunakan perintah query. Hasil pembacaan data tersebut dimasukkan ke dalam variabelvariabel dan dicocokkan dengan data yang telah dikirim dari formulir login. Apabila data tersebut tidak sesuai maka siswa akan diarahkan ke halaman login kembali menggunakan fungsi header seperti bagian script berikut: header("Location:./index.php?error=2");. Apabila hasil dari pemeriksaan data tersebut sesuai, maka siswa akan diarahkan ke halaman berikutnya yaitu halaman utama siswa seperti pada bagian script di bawah ini: if($password=="$user[password]"){ session_register("id_siswa"); session_register("password"); session_register("kelas"); session_register("nama"); header("Location:./utama.php");

HALAMAN UTAMA SISWA


Stelah siswa berhasil melakukan login, maka siswa akan diarahkan untuk membuka halaman utama siswa. Halaman ini menampilkan data-data pribadi siswa. Data-data ini diambil dari hasil pembacaan database. Selain itu halaman ini juga menampilkan beberapa menu link yang digunakan untuk menelusuri halaman yang lain dan menjadi halaman hak akses dari siswa tersebut.

208

Aplikasi Program PHP dan MySQL Berikut adalah script yang ada pada halaman utama siswa: <? include"ceksession.php"; include"../sambung.php"; $data1=mysql_query("select * from siswa where id='$id_siswa'"); $d=mysql_fetch_array($data1); $lahir=date("j n Y",$d[tgl_lahir]); $waktu=explode(" ",$lahir); $start=date("j n Y",$d[masuk]); $mulai=explode(" ",$start); $bln=array('Januari','Pebruari','Maret','April','Mei','Juni','Juli', 'Agustus','September','Oktober','Nopember','Desember'); $msk=$mulai[1]; $bulan=$waktu[1]; $kls=mysql_query("select nama from kelas where id='$d[kelas]'"); $kls2=mysql_fetch_array($kls); ?> <html> <head> <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> </head> <center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" 209

Aplikasi Program PHP dan MySQL cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"> <img src="../images/img_1.gif" width="800" height="108" alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td><p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr> </table> </td></tr> <tr><td colspan="3" valign="top" height="18"> <img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"> <img src="../images/img_04.gif" width="180" height="74" alt=""></td> <td valign="top" height="74" width="20" bgcolor="#D5EBFB"> <img src="../images/img_05.gif" width="20" height="74" alt=""></td> <td valign="top" height="74" width="600" bgcolor="#D5EBFB"> <p align="center"><b>Halaman Untuk Siswa</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top"> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px;

210

Aplikasi Program PHP dan MySQL margin-bottom: 2px">Informasi<p style="margin-left: 5px; marginright: 15px; margin-top: 2px; margin-bottom: 2px"> <a href="data_absensi.php">Lihat Absensi</a><p style="marginleft: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <a href="data_nilai.php">Lihat Nilai</a><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;<p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;<p style="marginleft: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">Pengaturan</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="ganti_password.php">Ganti Password</a><br> <a href="../keluar.php">Keluar</a></font></p> </td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td width="99%" colspan="2" align="center" bgcolor="#93CDF5">Biodata Siswa</td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Nama</font></td> <td width="74%"> <p style="margin: 0px 5px"><font size="2"> <?=$d[nama]?>&nbsp;</font></td></tr>

211

Aplikasi Program PHP dan MySQL <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Jenis Kelamin</font></td> <td width="74%"> <p style="margin: 0px 5px"><font size="2"> <?=$d[sex]?>&nbsp;</font></td> </tr> <tr> <td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Alamat</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?=$d[alamat]?>&nbsp;</font></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Tempat tanggal lahir</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?=$d[tempat_lahir]?>,&nbsp; <?echo"$waktu[0] $bln[$bulan] $waktu[2]"?>&nbsp;</font></td> </tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Agama</font></td> <td width="74%"> <p style="margin: 0px 5px"><font size="2">

212

Aplikasi Program PHP dan MySQL <?=$d[agama]?>&nbsp;</font></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Nomor telepon / hp</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?=$d[telepon]?>&nbsp;</font></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Pendidikan terakhir</font></td> <td width="74%"> <p style="margin: 0px 5px"><font size="2"> <?=$d[pendidikan]?>&nbsp;</font></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Sekolah asal</font></td> <td width="74%"> <p style="margin: 0px 5px"><font size="2"> <?=$d[asal_sekolah]?>&nbsp;</font></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Nama orang tua</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?=$d[orang_tua]?>&nbsp;</font></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px">

213

Aplikasi Program PHP dan MySQL <font size="2">Pekerjaan Orang tua</font></td> <td width="74%"> <p style="margin: 0px 5px"><font size="2"> <?=$d[pekerjaan]?>&nbsp;</font></td></tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Mulai masuk</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?echo"$mulai[0] $bln[$msk] $mulai[2]"?>&nbsp;</font></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Kelas</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?=$kls2[nama]?>&nbsp;</font></td></tr> <tr><td width="25%">&nbsp;</td> <td width="74%">&nbsp;</td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">User ID</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?=$d[userid]?>&nbsp;</font></td></tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Password</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?=$d[password]?>&nbsp;</font></td></tr> <tr><td width="25%">&nbsp;</td>

214

Aplikasi Program PHP dan MySQL <td width="74%">&nbsp;</td></tr></table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p></td> </tr></table> </td></tr> <tr><td colspan="3" valign="top"> <img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr></table> </body> </html>

Keterangan:
Script untuk halaman utama siswa ini diawali dengan memanggil file ceksession.php untuk memeriksa keberadan data sesi, kemudinan memanggil file sambung.php untuk melakukan koneksi dengan database menggunakan fungsi include(). Setelah data sesi diperiksa dan sudah melakukan koneksi dengan database, maka script akan membaca data siswa berdasarkan userid siswa yang sedang login menggunakan perintah query SQL. Data hasil pembacaan data dari database siswa ini, kemudian disimpan kedalam variabel-variabel dengan nama variabel sesuai data yang ada didalamnya. Perintah query tersebut adalah: $data1=mysql_query("select * from siswa where id='$id_siswa'"); $d=mysql_fetch_array($data1); Khusus untuk data tanggal lahir dan data tanggal mulai masuk sebagai siswa perlu dikonversikan ke dalam format tanggal/bulan/tahun menggukan fungsi date(). Hal ini dilakukan karena data tersebut dalam database masih menggunakan format microtime. Berikut adalahbagian script yang mengubah data micro menjadi format tanggal normal: $lahir=date("j n Y",$d[tgl_lahir]); $waktu=explode(" ",$lahir); $start=date("j n Y",$d[masuk]);

215

Aplikasi Program PHP dan MySQL $mulai=explode(" ",$start); Misalkan hasil dari pembacaan data tanggal lahir pada salah satu siswa pada database disimpan kedalam variabel $d[tgl_lahir] maka script untuk mengkonversikan data tersebut ke dalam format tanggal menjadi $lahir=date("j n Y",$d[tgl_lahir]);. Hasil dari konversi tanggal tersebut masih dalam bentuk tanggal standart yaitu dd/mm/yyy, kemudian kalau ingin mengubah sebuah data bulan menjadi format penulisan nama bulan dalam bahasa Indonesia, Anda harus menggunakan script yang berfungsi mengubahdata bulan dalam bentuk angka menjadi data bulan dalam bentuk nama lengkap. Hal ini dapat dilakukan menggunakan bagian script berikut: $bln=array('Januari','Pebruari','Maret','April','Mei','Juni','Juli', 'Agustus','September','Oktober','Nopember','Desember'); $msk=$mulai[1]; $bulan=$waktu[1]; Data kelas yang ada pada tabel siswa tersebut masih berupa id dari nama kelas yang ada pada tabel kelas. Oleh karena itu untuk menampilkan nama kelas pada halaman ini, script akan membaca data nama kelas yang ada pada tabel kelas bedasarkan id kelas yang telah dibaca dari tabel siswa. Berikut adalah bagian script tersebut: $kls=mysql_query("select nama from kelas where id='$d[kelas]'"); $kls2=mysql_fetch_array($kls); Bagian script di atas yang terakhir adalah menampilkan data hasil pembacaan data siswa dari database. Data siswa tersebut ditampilkan dengan menggunakan tag-tag HTML dengan menyisipkan variabelvariabel PHP yang mempunyai nilai data-data siswa tersebut. Berikut adalah tampilan halaman utama siswa:

216

Aplikasi Program PHP dan MySQL

Gambar 7.2 Tampilan halaman utama siswa.

HALAMAN LAPORAN ABSENSI SISWA


Halaman laporan absensi ini digunakan untuk menampilkan data absensi tiap materi yang ditempuh oleh siswa tersebut. Siswa hanya dapat melihat data absensi saja, tanpa dapat mengganti datanya. Data absensi ditampilkan dalam sebuah tabel dengan memuat beberapa materi yang ditempuh dan juga data pertemuan / tatap muka pelajaran. Data yang menyatakan siswa tersebut masuk atau tidak masuk digambarkan dengan tanda warna pada masing-masing pertemuan dalam masing-masing materi yang ada pada tabel tersebut. Berikut adalah script yang digunakan untuk menampilkan halaman laporan absensi tersebut: 217

Aplikasi Program PHP dan MySQL <? include"ceksession.php"; ?> <html> <head> <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> <style> <!-body { color: #000080; font-family: Arial; font-size: 10pt }

A:link {COLOR: #000080; TEXT-DECORATION: none; fontsize:10pt; font-family:Arial } A:visited {COLOR: #000080; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt } A:active {COLOR: #000080; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt } A:hover {COLOR: #00FFFF; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt; font-weight:bold } .topbar A:visited {FONT-WEIGHT: normal; COLOR: white; TEXTDECORATION: none } .topbar A:hover {FONT-WEIGHT: bold; COLOR: yellow; TEXTDECORATION: none

218

Aplikasi Program PHP dan MySQL } .topbar A:link {FONT-WEIGHT: normal; COLOR: white; TEXTDECORATION: none } .menu A:visited {COLOR: #0000FF; TEXT-DECORATION: none; font-size:10pt; font-family:Arial } .menu A:hover {COLOR: #00FFFF; TEXT-DECORATION: none; font-family:Arial; font-size:10pt; font-weight:bold } .menu A:link {COLOR: #0000FF; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt } --> </style></head> <center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"> <img src="../images/img_1.gif" width="800" height="108" alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td><p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr> </table> 219

Aplikasi Program PHP dan MySQL </td></tr> <tr><td colspan="3" valign="top" height="18"> <img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"><img src="../images/img_04.gif" width="180" height="74" alt=""></td> <td valign="top" height="74" width="20" bgcolor="#D5EBFB"> <img src="../images/img_05.gif" width="20" height="74" alt=""></td> <td valign="top" height="74" width="600" bgcolor="#D5EBFB"> <p align="center"><b>Halaman Untuk Siswa</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top"><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="utama.php">Halaman Utama</a></font></p><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"><font size="2"> <a href="data_nilai.php">Lihat Nilai</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">Pengaturan</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"><font size="2"><a href="ganti_password.php">Ganti Password</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px;

220

Aplikasi Program PHP dan MySQL margin-bottom: 2px"> <font size="2"><a href="../keluar.php">Keluar</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</td> <td valign="top"> <table border="1" width="99%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Data Absensi <?=$nama?></td></tr> <tr><td width="99%"> <table border="0" width="100%" cellspacing="0" cellpadding="0" id="table6"> <tr><td width="341" valign="top"> <p align="center"><font size="2">Keterangan kehadiran siswa</font></td> <td valign="top" align="center" bgcolor="#008000"><p align="center"> <font size="2" color="#00FFFF"><b>hadir</b></font></td> <td valign="top" align="center" bgcolor="#FF0000" width="131"> <font size="2" color="#00FFFF"><b>tidak hadir</b></font></td></tr></table> <table border="1" width="608" id="table5" cellspacing="0"> <tr><td bgcolor="#93CDF5" width="34" align="center" rowspan="2"><font size="2">No.</font></td> <td bgcolor="#93CDF5" align="center" width="218" rowspan="2"> <font size="2">Nama Materi</font></td> <td bgcolor="#93CDF5" align="center" width="335" colspan="18"> <font size="2">Session</font></td></tr>

221

Aplikasi Program PHP dan MySQL <tr><td bgcolor="#93CDF5" align="center" width="19"> <font size="2">1</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">2</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">3</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">4</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">5</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">6</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">7</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">8</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">9</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">10</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">11</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">12</font></td> <td bgcolor="#93CDF5" align="center" width="19">

222

Aplikasi Program PHP dan MySQL <font size="2">13</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">14</font></td> <td bgcolor="#93CDF5" align="center" width="20"> <font size="2">15</font></td> <td bgcolor="#93CDF5" align="center" width="20"> <font size="2">16</font></td> <td bgcolor="#93CDF5" align="center" width="20"> <font size="2">17</font></td> <td bgcolor="#93CDF5" align="center" width="20"> <font size="2">18</font></td></tr> <? include"../sambung.php"; $nomor=1; $baca=mysql_query("select * from kelas_$kelas where id_siswa='$id_siswa'"); while($data=mysql_fetch_array($baca)){ $materi1=mysql_query("select nama from data_materi where id='$data[id_materi]'"); $materi2=mysql_fetch_array($materi1); echo"<tr><td width=\"34\"><font size=\"2\"><center>$nomor</center></font></td> <td width=\"218\"><font size=\"2\">$materi2[nama]</font></td> <td width=\"19\" bgcolor=\"$data[absen_1]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_2]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_3]\">&nbsp;</td>

223

Aplikasi Program PHP dan MySQL <td width=\"19\" bgcolor=\"$data[absen_4]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_5]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_6]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_7]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_8]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_9]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_10]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_11]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_12]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_13]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_14]\">&nbsp;</td> <td width=\"20\" bgcolor=\"$data[absen_15]\">&nbsp;</td> <td width=\"20\" bgcolor=\"$data[absen_16]\">&nbsp;</td> <td width=\"20\" bgcolor=\"$data[absen_17]\">&nbsp;</td> <td width=\"20\" bgcolor=\"$data[absen_18]\">&nbsp;</td> </tr>"; $nomor++; } ?> </table> </td></tr> </table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p> </td></tr> </table>

224

Aplikasi Program PHP dan MySQL </td></tr> <tr><td colspan="3" valign="top"> <img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr> </table> </body> </html>

Keterangan:
Pada script di atas didominasi oleh tag-tag HTML untuk menampilkan halaman data absensi siswa, namun yang perlu anda perhatikan adalah bagian kode PHP yang berfungsi untuk membaca data absensi pada database kelas aktif dan beberapa kode PHP dalam bentuk variable yang disisipkan pada tag HTML untuk menampilkan data absensi siswa tesebut. Bagian kode PHP yang digunakan untuk membaca data tersebut adalah: <? include"../sambung.php"; $nomor=1; $baca=mysql_query("select * from kelas_$kelas where id_siswa='$id_siswa'"); while($data=mysql_fetch_array($baca)){ $materi1=mysql_query("select nama from data_materi where id='$data[id_materi]'"); $materi2=mysql_fetch_array($materi1); Sebelum membaca data dari database kelas aktif, script memanggil file sambung.php untuk melakukan koneksi terlebih dahulu. Kemudian data dibaca menggunakan perintah query SQL. Setelah data dibaca oleh kode PHP kemudian ditampilkan dengan cara menyisipkan variabel PHP ke dalam tag-tag HTML seperti dibawah ini: <td width=\"218\"><font size=\"2\">$materi2[nama]</font></td> 225

Aplikasi Program PHP dan MySQL <td width=\"19\" bgcolor=\"$data[absen_1]\">&nbsp;</td> Pada baris yang pertama tag HTML tersebut digunakan untuk menampilkan bagian nama materi dengan cara menyisipkan variabel $mater2[nama] yang memiliki nilai nama materi, kemudian pada baris kedua digunakan untuk menampilkan data session / pertemuan ke satu dan memberikan warna background dengan cara menyisipkan nilai warna hasil dari pembacaan database yang sudah dimasukkan ke dalam variabel $data[absent_1]. Berikut adalah tampilan halaman laporan absensi siswa:

Gambar 7.3 Tampilan halaman laporan absensi siswa.

HALAMAN LAPORAN NILAI SISWA


Halaman laporan nilai siswa ini digunakan untuk menampilkan data nialai tiap materi yang ditempuh oleh siswa tersebut. Siswa hanya dapat melihat data nilai saja, tanpa dapat mengganti datanya. Data nilai ditampilkan dalam sebuah tabel dengan memuat beberapa materi yang ditempuh dan juga data nilai pelajaran. Data nilai tiaptiap materi memiliki beberapa bagian nilai, yaitu nilai harian, nilai

226

Aplikasi Program PHP dan MySQL tugas, nilai tengah semester, nilai akhir semester nilai total dan nilai dalam bentuk abjad. Berikut adalah script yang digunakan untuk menampilkan halaman laporan absensi tersebut: <? include"ceksession.php"; ?> <html> <head> <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> <style> <!-body{ color: #000080; font-family: Arial; font-size: 10pt } A:link {COLOR: #000080; TEXT-DECORATION: none; fontsize:10pt; font-family:Arial } A:visited {COLOR: #000080; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt } A:active {COLOR: #000080; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt } A:hover {COLOR: #00FFFF; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt; font-weight:bold } .topbar A:visited {FONT-WEIGHT: normal; COLOR: white; TEXT-

227

Aplikasi Program PHP dan MySQL DECORATION: none } .topbar A:hover {FONT-WEIGHT: bold; COLOR: yellow; TEXTDECORATION: none } .topbar A:link {FONT-WEIGHT: normal; COLOR: white; TEXTDECORATION: none } .menu A:visited {COLOR: #0000FF; TEXT-DECORATION: none; font-size:10pt; font-family:Arial } .menu A:hover {COLOR: #00FFFF; TEXT-DECORATION: none; font-family:Arial; font-size:10pt; font-weight:bold } .menu A:link {COLOR: #0000FF; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt } --> </style> </head><center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"> <img src="../images/img_1.gif" width="800" height="108" alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" 228

Aplikasi Program PHP dan MySQL background="../images/img_02.gif" id="table2" height="23"> <tr><td> <p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td> </tr></table> </td></tr> <tr><td colspan="3" valign="top" height="18"> <img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"> <img src="../images/img_04.gif" width="180" height="74" alt=""></td> <td valign="top" height="74" width="20" bgcolor="#D5EBFB"> <img src="../images/img_05.gif" width="20" height="74" alt=""></td> <td valign="top" height="74" width="600" bgcolor="#D5EBFB"> <p align="center"><b>Halaman Untuk Siswa</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top"> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="utama.php">Halaman Utama</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">

229

Aplikasi Program PHP dan MySQL <font size="2"><a href="data_absensi.php">Absensi</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> &nbsp;</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> Pengaturan</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="ganti_password.php">Ganti Password</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="../keluar.php">Keluar</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Data Nilai <?=$nama?></td> </tr> <tr><td width="99%"> <table border="1" width="602" id="table5" cellspacing="0"> <tr><td bgcolor="#93CDF5" width="37" align="center" rowspan="2">

230

Aplikasi Program PHP dan MySQL <font size="2">No.</font></td> <td bgcolor="#93CDF5" align="center" width="173" rowspan="2"> <font size="2">Nama</font></td> <td bgcolor="#93CDF5" align="center" width="383" colspan="6"> <font size="2">Nilai</font></td></tr> <tr><td bgcolor="#93CDF5" width="63"> <p align="center"><font size="2">Harian</font></td> <td bgcolor="#93CDF5" width="63"> <p align="center"><font size="2">Tugas</font></td> <td bgcolor="#93CDF5" width="64"> <p align="center"><font size="2">Tengah sms</font></td> <td bgcolor="#93CDF5" width="64"> <p align="center"><font size="2">Akhir sms</font></td> <td bgcolor="#93CDF5" width="64"> <p align="center"><font size="2">Total</font></td> <td bgcolor="#93CDF5" width="64"> <p align="center"><font size="2">Nilai Huruf</font></td></tr> <? include"../sambung.php"; $nomor=1; $baca=mysql_query("select * from kelas_$kelas where id_siswa='$id_siswa'"); while($data=mysql_fetch_array($baca)){ $materi1=mysql_query("select nama from data_materi where id='$data[id_materi]'"); $materi2=mysql_fetch_array($materi1);

231

Aplikasi Program PHP dan MySQL $total[$nomor]=number_format(((($data[nilai_harian]+ $data[nilai_tugas]+$data[nilai_tengah])/3)+($data[nilai_akhir]))/2,2); if($total[$nomor]<=50){ $n[$nomor]="E"; $bg_color="#FFCC99"; }elseif($total[$nomor]<=75){ $n[$nomor]="D"; }elseif($total[$nomor]<=82){ $n[$nomor]="C"; }elseif($total[$nomor]<=92){ $n[$nomor]="B"; }else{ $n[$nomor]="A"; } echo"<tr> <td width=\"37\" bgcolor=\"#FFCC99\"><font size=\"2\"><center>$nomor.</center></font></td> <td width=\"173\" bgcolor=\"#FFCC99\"><font size=\"2\">$materi2[nama]</font></td> <td width=\"63\" align=\"center\" bgcolor=\"#FFCC99\"> <font size=\"2\">$data[nilai_harian]</font></td> <td width=\"63\" align=\"center\" bgcolor=\"#FFCC99\"> <font size=\"2\">$data[nilai_tugas]</font></td> <td width=\"64\" align=\"center\" bgcolor=\"#FFCC99\"> <font size=\"2\">$data[nilai_tengah]</font></td> <td width=\"64\" align=\"center\" bgcolor=\"#FFCC99\">

232

Aplikasi Program PHP dan MySQL <font size=\"2\">$data[nilai_akhir]</font></td> <td width=\"64\" align=\"center\" bgcolor=\"#FFCC99\"> <font size=\"2\">$total[$nomor]</font></td> <td width=\"64\" align=\"center\" bgcolor=\"#FFCC99\"> <b><font size=\"2\" color=\"#FF0000\">$n[$nomor]</font></b></td></tr>"; $nomor++; } ?> </table> </td></tr> </table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p> </td></tr> </table> </td></tr> <tr><td colspan="3" valign="top"> <img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr> </table> </body> </html>

Keterangan:
Seperti halnya untuk menampilkan halaman laporan absensi, script untuk halaman laporan nilai siswa ini juga didominasi dengan tag-tag HTML. Namun untuk membaca data nilai dari database kelas aktif dibutuhkan kode-kode PHP. Fungsi kode PHP yang pertama adalah

233

Aplikasi Program PHP dan MySQL membaca data nilai dari database seperti pada bagian script dibawah ini: <? include"../sambung.php"; $nomor=1; $baca=mysql_query("select * from kelas_$kelas where id_siswa='$id_siswa'"); while($data=mysql_fetch_array($baca)){ $materi1=mysql_query("select nama from data_materi where id='$data[id_materi]'"); $materi2=mysql_fetch_array($materi1); Untuk koneksi dengan database tetap menggunakan file sambung.php dan perintah yang digunakan untuk membaca data dari database adalah perintah Query SQL. Yang perlu diperhatikan lagi adalah bagian script yang digunakan untuk menampilkan data nilai dalam bentuk abjad. Script ini menggunakan fungsi if yang mengambil data total nilai yaitu hasil penjumlahan dan pembagian dari nilai-nilai keseluruhan masingmasing siswa berdasarkan tiap materi yang ditempuh. Bagian script tersebut adalah: $total[$nomor]=number_format(((($data[nilai_harian]+ $data[nilai_tugas]+$data[nilai_tengah])/3)+($data[nilai_akhir]))/2,2); if($total[$nomor]<=50){ $n[$nomor]="E"; $bg_color="#FFCC99"; }elseif($total[$nomor]<=75){ $n[$nomor]="D"; }elseif($total[$nomor]<=82){ $n[$nomor]="C"; }elseif($total[$nomor]<=92){ 234

Aplikasi Program PHP dan MySQL $n[$nomor]="B"; }else{ $n[$nomor]="A"; } Bagian paling atas dari script tersebut adalah menjumlah data semua nilai siswa dan kemudian mengambil rata-rata keseluruhan dengan membagi dengan angka tertentu. Hasil dari pembagian tersebut kemudian dijadikan filter pada fungsi if untuk menterjemahkan ke dalam bentuk nilai abjad. Misalkan pada pilihan paling atas, apabila nilai rata-rata kurang dari 50, maka akan dimasukkan dalam kategori nailai E, kemudian apabila nilai rata-rata kurang dari 75 akan dimasukkan dalam kategori E dan seterusnya. Berikut adalah tampilan halaman laporan nilai siswa tersebut:

Gambar 7.4 Tampilan halaman laporan nilai siswa.

HALAMAN GANTI PASSWORD


Seperti halnya instruktur, siswa pun diberi fasilitas untuk mengganti passwordnya sendiri. Ini dimaksudkan apabila siswa ingin mengganti 235

Aplikasi Program PHP dan MySQL password dikarenakan password lama telah diketahui siswa lain, maka siswa tidak perlu menghubungi administrasi untuk mengganti password. Halaman untuk mengganti password ini menampilkan sebuah formulir sederhana yang memuat beberapa obyek kotak teks. Berikut adalah script yang digunakan untuk membuat halaman ganti password: <? include"ceksession.php"; ?> <html> <head> <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> </head> <center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"> <img src="../images/img_1.gif" width="800" height="108" alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td> <p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr>

236

Aplikasi Program PHP dan MySQL </table> </td></tr> <tr><td colspan="3" valign="top" height="18"> <img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"> <img src="../images/img_04.gif" width="180" height="74" alt=""></td> <td valign="top" height="74" width="20" bgcolor="#D5EBFB"> <img src="../images/img_05.gif" width="20" height="74" alt=""></td> <td valign="top" height="74" width="600" bgcolor="#D5EBFB"> <p align="center"><b>Halaman Untuk Siswa</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top">&nbsp;</td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Ganti Password</td></tr> <form method="POST" action="ganti.php"> <tr><td width="99%"> <p style="margin-left: 5px; margin-right: 5px" align="center"> <font color="#FF0000"><?=$err?></font><br><p style="margin:2px 5px; " align="center"> 237

Aplikasi Program PHP dan MySQL <font size="2">Password Lama</font><p style="margin:2px 5px; " align="center"> <input type="password" name="password_lama" size="18" style="color: #000080; font-family: Arial; font-size: 10pt"><p style="margin:2px 5px; " align="center"> <font size="2">Password Baru</font><p style="margin:2px 5px; " align="center"> <input type="password" name="password1" size="18" style="color: #000080; font-family: Arial; font-size: 10pt"><p style="margin:2px 5px; " align="center"> <font size="2">Password Baru ( <font color="#FF0000">ulangi</font> )</font><p style="margin:2px 5px; " align="center"> <input type="password" name="password2" size="18" style="color: #000080; font-family: Arial; font-size: 10pt"><p align="center"> <input type="submit" value="G A N T I" name="ganti" style="fontfamily: Arial; color: #000080"> <input type="submit" value="B A T A L" name="batal" style="fontfamily: Arial; color: #000080"></td></tr> </form> </table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p></td> </tr> </table> </td></tr> <tr><td colspan="3" valign="top"> <img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr> </table> 238

Aplikasi Program PHP dan MySQL </body> </html>

Keterangan:
Script di atas berfungsi untuk menampilkan formulir ganti password. Formulir untuk ganti password ini memiliki empat obyek, yaitu kotak teks untuk menuliskan password lama, kemudian kotak teks untuk menuliskan password baru, kotak teks untuk menuliskan password baru yang kedua dan sebuah tombol submit untuk mengirim data tersebut. Berikut adalah tampilan halaman untuk mengubah password siswa:

Gambar 7.5 Tampilan halaman ganti password siswa.

FILE PROSES GANTI PASSWORD


File ini digunakan untuk menyimpan script yang berfungsi untuk mengolah data password. Data password lama yang ada pada database aklan dibanti dengan data password baru yang dikirim dari

239

Aplikasi Program PHP dan MySQL formulir dalam halaman ganti password. Berikut adalah script untuk mengganti password lama dengan password baru: <? include"ceksession.php"; if(isset($ganti)){ if($password_lama!==$password){ $pesan="<br>Password lama yang Anda masukkan salah. Periksa kembali.<br>"; header("location:./ganti_password.php?err=$pesan"); }elseif($password1!==$password2){ $pesan="<br>Password baru Anda harus sama dengan password konfirmasi dibawahnya.<br>"; header("location:./ganti_password.php?err=$pesan"); }else{ include"../sambung.php"; $ganti_pass=mysql_query("UPDATE siswa set password='$password1' WHERE id='$id_siswa'"); session_unregister ("password"); $password="$password1"; session_register("password"); } }else{ header("location:./utama.php"); } ?> <html> <head>

240

Aplikasi Program PHP dan MySQL <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> </head> <center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"> <img src="../images/img_1.gif" width="800" height="108" alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td><p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr> </table> </td></tr> <tr><td colspan="3" valign="top" height="18"> <img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"> <img src="../images/img_04.gif" width="180" height="74" alt=""></td> <td valign="top" height="74" width="20" bgcolor="#D5EBFB"> <img src="../images/img_05.gif" width="20" height="74" alt=""></td>

241

Aplikasi Program PHP dan MySQL <td valign="top" height="74" width="600" bgcolor="#D5EBFB"> <p align="center"><b>Halaman Untuk Siswa</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top">&nbsp;</td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Konfirmasi Ganti Password</td></tr> <tr><td width="99%"> <p style="margin-left: 5px; margin-right: 5px" align="center"> &nbsp;<p style="margin-left: 5px; margin-right: 5px" align="center">Password anda telah diganti dengan :<p style="margin-left: 5px; margin-right: 5px" align="center"> <b><?=$password1?></b><p style="margin-left: 5px; margin-right: 5px" align="center">Untuk melanjutkan tekan tombol di bawah ini<form method="POST" action="utama.php"> <p style="margin-left: 5px; margin-right: 5px" align="center"> <input type="submit" value="L A N J U T" name="lanjut" style="color: #000080; font-family: Arial; font-size: 10pt"></p> </form> <p style="margin-left: 5px; margin-right: 5px" align="center"> &nbsp;</td></tr></table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p></td></tr> </table>

242

Aplikasi Program PHP dan MySQL </td></tr> <tr><td colspan="3" valign="top"> <img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr> </table> </body> </html>

Keterangan:
Script di atas dibagi menjadi dua bagian utama. Yang pertama adalah script yang berfungsi untuk mengolah data password baru siswa. Berikut adalah bagian script tersebut: <? include"ceksession.php"; if(isset($ganti)){ if($password_lama!==$password){ $pesan="<br>Password lama yang Anda masukkan salah. Periksa kembali.<br>"; header("location:./ganti_password.php?err=$pesan"); }elseif($password1!==$password2){ $pesan="<br>Password baru Anda harus sama dengan password konfirmasi dibawahnya.<br>"; header("location:./ganti_password.php?err=$pesan"); }else{ include"../sambung.php"; $ganti_pass=mysql_query("UPDATE siswa set password='$password1' WHERE id='$id_siswa'"); session_unregister ("password"); $password="$password1";

243

Aplikasi Program PHP dan MySQL session_register("password"); } }else{ header("location:./utama.php"); } ?> Script tersebut diawali deangan memanggil file ceksession.php untuk memeriksa keberadaan data sesi. Kemudian memeriksa apakah password yang dimasukkan pada bagian password lama apa sama dengan data password yang disimpan pada variable sesi. Apabila password yang dimasukkan pada variable password lama tidak sama dengan data sesi password, maka akan dimasukkan keterangan bahwa data password lama tidak benar. Apabila data password lama yang dimasukkan sudah benar, maka script akan dilanjutkan memeriksa data password 1 dengan password 2. kedua data tersebut di periksa kesamaannya.. Apabila kedua syarat tersebut terpenuhi, maka script akan memasukkan data password baru untuk mengganti password lama menggunakan perintah query berikut: $ganti_pass=mysql_query("UPDATE siswa set password='$password1' WHERE id='$id'"); Data password lama akan diganti dengan data password baru setelah script diatas dijalankan. Namun pada data sesi masih memiliki data password yang lama. Hal ini akan ditolah oleh halaman-halaman yang lain apabila instruktur membuka halaman berikutnya. Maka dari itu dibuat sebuah script yang menghapus data password lama dan memasukkan data password baru ke dalam variable sesi seperti pada script di bawah ini: session_unregister ("password"); $password="$password1"; session_register("password"); Bagian yang kedua adalah tag-tag HTML yang berfungsi menampilkan halaman ganti password apabila password sudah

244

Jumlah titiktitik per inchi berjum-lah 4 buah

Aplikasi Program PHP dan MySQL sukses diganti. Berikut adalah tampilan halaman sukses ganti password:

Gambar 7.6 Tampilan halaman sukses ganti password siswa.

245

Aplikasi Program PHP dan MySQL

PENGERTIAN HALAMAN WALI SISWA


Sistem informasi manajemen pendidikan ini juga melibatkan wali siswa untuk ikut serta aktif dalam mensukseskan keberhasilan siswa dalam aktivitasnya belajar. Fungsi dari wali siswa adalah mengontrol siswa dalam aktivitas belajarnya. Oleh karena itu wali siswa diberi hak akses untuk melihat laporan absensi dan juga laporan nilai siswa. Hak akses wali siswa hanya membuka dan melihat laporan absensi dan nilai siswa yang menjadi tanggung jawabnya. Wali siswa diberikan halaman khusus yang dapat diakses menggunakan password yaitu halaman wali siswa.

HALAMAN INDEX / LOGIN SISWA


Halaman index wali siswa atau halaman login wali siswa adalah halaman yang paling utama diakses oleh seorang wali siswa. Halaman ini dapat dibuka setelah seorang wali siswa menekan menu link wali siswa dari halaman utama system ini. Pada halaman index ini menampilkan sebuah formulir yang dapat digunakan oleh setiap wali siswa yang ingin membuka halaman wali siswa dan melihat data laporan nilai dan laporan keaktivan siswa tersebut.

246

Aplikasi Program PHP dan MySQL Berikut adalah script yang digunakan untuk menampilkan halaman index wali siswa: <html> <head> <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> <style> <!-body { color: #000080; font-family: Arial; font-size: 10pt } A:link {COLOR: #000080; TEXT-DECORATION: none; fontsize:10pt; font-family:Arial} A:visited {COLOR: #000080; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt} A:active {COLOR: #000080; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt} A:hover {COLOR: #00FFFF; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt; font-weight:bold} .topbar A:visited {FONT-WEIGHT: normal; COLOR: white; TEXTDECORATION: none} .topbar A:hover {FONT-WEIGHT: bold; COLOR: yellow; TEXTDECORATION: none} .topbar A:link {FONT-WEIGHT: normal; COLOR: white; TEXTDECORATION: none} .menu A:visited {COLOR: #0000FF; TEXT-DECORATION: none; font-size:10pt; font-family:Arial} .menu A:hover {COLOR: #00FFFF; TEXT-DECORATION: none; font-family:Arial; font-size:10pt; font-weight:bold} .menu A:link {COLOR: #0000FF; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt} 247

Aplikasi Program PHP dan MySQL --> </style> </head><center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"> <img src="../images/img_1.gif" width="800" height="108" alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td><p style="margin-left: 170px; margin-right: 50px" align="right"><span class=menu><font size="2"><a href="../index.php">HOME</a> | <a href="../siswa/index.php">LOGIN SISWA</a> | <a href="../walisiswa/index.php">WALI SISWA </a>| <a href="../pengajar/index.php">INSTRUKTUR </a>| <a href="../administrator/index.php">ADMINISTRASI </a> </font> </span></td></tr></table> </td></tr> <tr><td colspan="3" valign="top" height="18"> <img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"> <img src="../images/img_04.gif" width="180" height="74" alt=""></td> 248

Aplikasi Program PHP dan MySQL <td valign="top" height="74" width="20" bgcolor="#D5EBFB"> <img src="../images/img_05.gif" width="20" height="74" alt=""></td> <td valign="top" height="74" width="600" bgcolor="#D5EBFB"> <p align="center"><b>Halaman Untuk Wali Siswa</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top">&nbsp;</td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Login Wali Siswa</td></tr> <form method="POST" action="login.php"> <tr><td width="99%"> <? if($error){ echo"<p align=\"center\"><font color=\"#FF0000\">Password yang Anda masukkan salah.<br> Silakan ulangi lagi.</font></p>";} ?> <p style="margin-left: 5px; margin-right: 5px" align="center"> &nbsp;<p style="margin:2px 5px; " align="center"> <font size="2">Nama Siswa</font><p style="margin:2px 5px; " align="center"> <select size="1" name="id_siswa" style="color: #000080; fontfamily: Arial; font-size: 10pt">

249

Aplikasi Program PHP dan MySQL <option selected value="-">Pilih Nama Siswa</option> <? include"../sambung.php"; $baca=mysql_query("select * from wali_siswa order by nama_siswa"); while($data=mysql_fetch_array($baca)){ echo"<option value=\"$data[id_siswa]\">$data[nama_siswa]</option>"; } ?> </select><p style="margin:2px 5px; " align="center"> <font size="2">Password</font><p style="margin:2px 5px; " align="center"> <input type="password" name="password" size="18" style="color: #000080; font-family: Arial; font-size: 10pt"><p align="center"> <input type="submit" value=" LOGIN " name="login" style="fontfamily: Arial; color: #000080"></td></tr> </form> </table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p></td> </tr></table> </td></tr> <tr><td colspan="3" valign="top"> <img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr> </table> </body>

250

Aplikasi Program PHP dan MySQL </html>

Keterangan:
Dalam script di atas lebih banyak memuat tag-tag HTML, namun yang perlu anda perhatikan adalah tag dan kode PHP yang digunakan untuk membentuk sebuah formulir. Formulir untuk login ini bukan sebuah formulir kosong, namun formulir yang beberapa obyeknya sudah memiliki nilai atau value. Setiap tag yang membentuk formulir akan diawali dengan tag <form> yang memiliki beberapa nilai. Berikut adalah tag yang digunakan untuk membuat formulir tersebut: <form method="POST" action="login.php"> Artinya apabila formulir tersebut dijalankan dan tombol login ditekan, maka data yang ada pada obyek / variabel akan dikirim ke file login.php, sebagai script pengolah data. Script berikutnya dilanjutkan dengan obyek formulir dropdown dengan nilai atau value hasil pembacaan nama siswa dari database wali siswa. Berikut adalah script untuk membentuk dropdown tersebut: <select size="1" name="id_siswa" style="color: #000080; font-family: Arial; font-size: 10pt"> <option selected value="-">Pilih Nama Siswa</option> <? include"../sambung.php"; $baca=mysql_query("select * from wali_siswa order by nama_siswa"); while($data=mysql_fetch_array($baca)){ echo"<option value=\"$data[id_siswa]\">$data[nama_siswa]</option>"; } ?> </select> Nama dari dropdown tersebut adalah id_siswa dengan hasil pembacaan data wali_siswa menggunakan kode-kode PHP dan

251

Aplikasi Program PHP dan MySQL perintah query. Data kemudian ditampilkan sebagai pilihan nama siswa menggunakan fungsi echo. Obyek dropdown ditutup dengan tag </select>. Script berikutnya dilanjutkan dengan menampilkan obyek kotak teks untuk userid2 dan password. Seperti dibawah ini: <input type="password" name="password" size="18" style="color: #000080; font-family: Arial; font-size: 10pt"><p align="center"> <input type="submit" value=" LOGIN " name="login" style="fontfamily: Arial; color: #000080"></td></tr> </form> Berikut adalah tampilan halaman login untuk siswa:

Gambar 8.1 Tampilan halaman index wali siswa.

SCRIPT PROSES LOGIN


Untuk mengolah data login dibutuhkan sebuah script khusus. Script ini berfungsi untuk memeriksa data yang dikirim dari formulir login dengan data hasil pembacaan dari database. Apabila kedua data 252

Aplikasi Program PHP dan MySQL tersebut cocok maka script akan mengarahkan wali siswa yang sedang login ke halaman utama untuk wali siswa. Apabila kedua data tersebut tidak sama, maka wali siswa akan diarahkan ke halaman login kembali untuk melakukan login ulang. Berikut adalah script pengolah data login tersebut: <? session_start(); include"../sambung.php"; $data=mysql_query("select * from wali_siswa where id_siswa='$id_siswa'"); $user=mysql_fetch_array($data); $pengajar="$user[nama]"; if($id=="-"){ header("Location:./index.php?error=1"); }else{ if($password=="$user[password]"){ session_register("id_siswa"); session_register("password"); session_register("nama"); header("Location:./utama.php"); }else{ header("Location:./index.php?error=2"); }} ?>

Keterangan:
Script di atas di awali dengan fungsi untuk mendeklarasikan adanya data sesi, yaitu session_start(); Berikutnya script akan membaca data yang ada pada tabel wali_siswa menggunakan perintah query. Hasil

253

Aplikasi Program PHP dan MySQL pembacaan data tersebut dimasukkan ke dalam variabel-variabel dan dicocokkan dengan data yang telah dikirim dari formulir login. Apabila data tersebut tidak sesuai maka wali siswa akan diarahkan ke halaman login kembali menggunakan fungsi header seperti bagian script berikut: header("Location:./index.php?error=2");. Apabila hasil dari pemeriksaan data tersebut sesuai, maka wali siswa akan diarahkan ke halaman berikutnya yaitu halaman utama wali siswa seperti pada bagian script di bawah ini: if($password=="$user[password]"){ session_register("id_siswa"); session_register("password"); session_register("nama"); header("Location:./utama.php"); }

HALAMAN UTAMA WALI SISWA


Apabila wali siswa sudah melakukan login, maka wali siswa akan diarahkan untuk membuka halaman utama wali siswa. Halaman ini menampilkan data-data pribadi siswa. Data-data ini diambil dari hasil pembacaan database. Selain itu halaman ini juga menampilkan beberapa menu link yang digunakan untuk menelusuri halaman yang lain dan menjadi halaman hak akses dari wali siswa tersebut. Berikut adalah script yang ada pada halaman utama wali siswa: <? include"ceksession.php"; include"../sambung.php"; $data1=mysql_query("select * from siswa where id='$id_siswa'"); $d=mysql_fetch_array($data1); $lahir=date("j n Y",$d[tgl_lahir]); $waktu=explode(" ",$lahir); 254

Aplikasi Program PHP dan MySQL $start=date("j n Y",$d[masuk]); $mulai=explode(" ",$start); $bln=array('Januari','Pebruari','Maret','April','Mei','Juni','Juli', 'Agustus','September','Oktober','Nopember','Desember'); $msk=$mulai[1]; $bulan=$waktu[1]; $kls=mysql_query("select nama from kelas where id='$d[kelas]'"); $kls2=mysql_fetch_array($kls); ?> <html> <head> <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> </head> <center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"> <img src="../images/img_1.gif" width="800" height="108" alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td><p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr>

255

Aplikasi Program PHP dan MySQL </table> </td></tr> <tr><td colspan="3" valign="top" height="18"> <img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"> <img src="../images/img_04.gif" width="180" height="74" alt=""></td> <td valign="top" height="74" width="20" bgcolor="#D5EBFB"> <img src="../images/img_05.gif" width="20" height="74" alt=""></td> <td valign="top" height="74" width="600" bgcolor="#D5EBFB"> <p align="center"><b>Halaman Untuk Siswa</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top"> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">Informasi<p style="margin-left: 5px; marginright: 15px; margin-top: 2px; margin-bottom: 2px"> <a href="data_absensi.php">Lihat Absensi</a><p style="marginleft: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <a href="data_nilai.php">Lihat Nilai</a><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;<p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;<p style="marginleft: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> 256

Aplikasi Program PHP dan MySQL <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">Pengaturan</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="ganti_password.php">Ganti Password</a><br> <a href="../keluar.php">Keluar</a></font></p> </td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td width="99%" colspan="2" align="center" bgcolor="#93CDF5">Biodata Siswa</td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Nama</font></td> <td width="74%"> <p style="margin: 0px 5px"><font size="2"> <?=$d[nama]?>&nbsp;</font></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Jenis Kelamin</font></td> <td width="74%"> <p style="margin: 0px 5px"><font size="2"> <?=$d[sex]?>&nbsp;</font></td> </tr> <tr>

257

Aplikasi Program PHP dan MySQL <td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Alamat</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?=$d[alamat]?>&nbsp;</font></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Tempat tanggal lahir</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?=$d[tempat_lahir]?>,&nbsp; <?echo"$waktu[0] $bln[$bulan] $waktu[2]"?>&nbsp;</font></td> </tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Agama</font></td> <td width="74%"> <p style="margin: 0px 5px"><font size="2"> <?=$d[agama]?>&nbsp;</font></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Nomor telepon / hp</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?=$d[telepon]?>&nbsp;</font></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px">

258

Aplikasi Program PHP dan MySQL <font size="2">Pendidikan terakhir</font></td> <td width="74%"> <p style="margin: 0px 5px"><font size="2"> <?=$d[pendidikan]?>&nbsp;</font></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Sekolah asal</font></td> <td width="74%"> <p style="margin: 0px 5px"><font size="2"> <?=$d[asal_sekolah]?>&nbsp;</font></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Nama orang tua</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?=$d[orang_tua]?>&nbsp;</font></td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Pekerjaan Orang tua</font></td> <td width="74%"> <p style="margin: 0px 5px"><font size="2"> <?=$d[pekerjaan]?>&nbsp;</font></td></tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"> <font size="2">Mulai masuk</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?echo"$mulai[0] $bln[$msk] $mulai[2]"?>&nbsp;</font></td></tr>

259

Aplikasi Program PHP dan MySQL <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">Kelas</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?=$kls2[nama]?>&nbsp;</font></td></tr> <tr><td width="25%">&nbsp;</td> <td width="74%">&nbsp;</td></tr> <tr><td width="25%"> <p style="margin-left: 5px; margin-right: 5px"> <font size="2">User ID</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?=$d[userid]?>&nbsp;</font></td></tr> <tr><td width="25%"><p style="margin-left: 5px; margin-right: 5px"><font size="2">Password</font></td> <td width="74%"><p style="margin: 0px 5px"><font size="2"> <?=$d[password]?>&nbsp;</font></td></tr> <tr><td width="25%">&nbsp;</td> <td width="74%">&nbsp;</td></tr></table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p></td> </tr></table> </td></tr> <tr><td colspan="3" valign="top"> <img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr></table> </body> </html>

260

Aplikasi Program PHP dan MySQL

Keterangan:
Script untuk halaman utama wali siswa ini diawali dengan memanggil file ceksession.php untuk memeriksa keberadan data sesi, kemudinan memanggil file sambung.php untuk melakukan koneksi dengan database menggunakan fungsi include(). Setelah data sesi diperiksa dan sudah melakukan koneksi dengan database, maka script akan membaca data siswa berdasarkan userid wali siswa yang sedang login menggunakan perintah query SQL. Data hasil pembacaan data dari database wali siswa ini, kemudian disimpan kedalam variabel-variabel dengan nama variabel sesuai data yang ada didalamnya. Perintah query tersebut adalah: $data1=mysql_query("select * from siswa where id='$id_siswa'"); $d=mysql_fetch_array($data1); Khusus untuk data tanggal lahir dan data tanggal mulai masuk sebagai siswa perlu dikonversikan ke dalam format tanggal/bulan/tahun menggukan fungsi date(). Hal ini dilakukan karena data tersebut dalam database masih menggunakan format microtime. Berikut adalah bagian script yang mengubah data micro menjadi format tanggal normal: $lahir=date("j n Y",$d[tgl_lahir]); $waktu=explode(" ",$lahir); $start=date("j n Y",$d[masuk]); $mulai=explode(" ",$start); Misalkan hasil dari pembacaan data tanggal lahir pada salah satu siswa pada database disimpan ke dalam variabel $d[tgl_lahir] maka script untuk mengkonversikan data tersebut ke dalam format tanggal menjadi $lahir=date("j n Y",$d[tgl_lahir]);. Hasil dari konversi tanggal tersebut masih dalam bentuk tanggal standart yaitu dd/mm/yyy, kemudian kalau ingin mengubah sebuah data bulan menjadi format penulisan nama bulan dalam bahasa Indonesia, Anda harus menggunakan script yang berfungsi mengubahdata bulan dalam bentuk angka menjadi data bulan dalam bentuk nama lengkap. Hal ini dapat dilakukan menggunakan bagian script berikut:

261

Aplikasi Program PHP dan MySQL $bln=array('Januari','Pebruari','Maret','April','Mei','Juni','Juli', 'Agustus','September','Oktober','Nopember','Desember'); $msk=$mulai[1]; $bulan=$waktu[1]; Data kelas yang ada pada tabel siswa tersebut masih berupa id dari nama kelas yang ada pada tabel kelas. Oleh karena itu untuk menampilkan nama kelas pada halaman ini, script akan membaca data nama kelas yang ada pada tabel kelas bedasarkan id kelas yang telah dibaca dari tabel siswa. Berikut adalah bagian script tersebut: $kls=mysql_query("select nama from kelas where id='$d[kelas]'"); $kls2=mysql_fetch_array($kls); Bagian script di atas yang terakhir adalah menampilkan data hasil pembacaan data siswa dari database. Data siswa tersebut ditampilkan dengan menggunakan tag-tag HTML dengan menyisipkan variabelvariabel PHP yang mempunyai nilai data-data siswa tersebut. Berikut adalah tampilan halaman utama wali siswa:

262

Aplikasi Program PHP dan MySQL

Gambar 8.2 Tampilan halaman utama wali siswa.

Halaman-halaman yang diakses oleh wali siswa memang hampir sama dengan halaman yang diakses oleh siswa. Karena data yang dibaca oleh script PHP memang sama, yaitu membaca data siswa tertentu berdasarkan id siswa.

HALAMAN LAPORAN ABSENSI SISWA


Halaman laporan absensi yang diakses oleh wali siswa ini digunakan untuk menampilkan data absensi tiap materi yang ditempuh oleh anaknya. Wali siswa hanya dapat melihat data absensi saja, tanpa dapat mengganti datanya. Data absensi ditampilkan dalam sebuah tabel dengan memuat beberapa materi yang ditempuh dan juga data pertemuan / tatap muka pelajaran. Data yang menyatakan siswa tersebut masuk atau tidak masuk digambarkan dengan tanda warna

263

Aplikasi Program PHP dan MySQL pada masing-masing pertemuan dalam masing-masing materi yang ada pada tabel tersebut. Berikut adalah script yang digunakan untuk menampilkan halaman laporan absensi tersebut: <? include"ceksession.php"; ?> <html> <head> <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> <style> <!-body { color: #000080; font-family: Arial; font-size: 10pt }

A:link {COLOR: #000080; TEXT-DECORATION: none; fontsize:10pt; font-family:Arial } A:visited {COLOR: #000080; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt } A:active {COLOR: #000080; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt } A:hover {COLOR: #00FFFF; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt; font-weight:bold } .topbar A:visited {FONT-WEIGHT: normal; COLOR: white; TEXT-

264

Aplikasi Program PHP dan MySQL DECORATION: none } .topbar A:hover {FONT-WEIGHT: bold; COLOR: yellow; TEXTDECORATION: none } .topbar A:link {FONT-WEIGHT: normal; COLOR: white; TEXTDECORATION: none } .menu A:visited {COLOR: #0000FF; TEXT-DECORATION: none; font-size:10pt; font-family:Arial } .menu A:hover {COLOR: #00FFFF; TEXT-DECORATION: none; font-family:Arial; font-size:10pt; font-weight:bold } .menu A:link {COLOR: #0000FF; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt } --> </style></head> <center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"> <img src="../images/img_1.gif" width="800" height="108" alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" 265

Aplikasi Program PHP dan MySQL background="../images/img_02.gif" id="table2" height="23"> <tr><td><p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr> </table> </td></tr> <tr><td colspan="3" valign="top" height="18"> <img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"><img src="../images/img_04.gif" width="180" height="74" alt=""></td> <td valign="top" height="74" width="20" bgcolor="#D5EBFB"> <img src="../images/img_05.gif" width="20" height="74" alt=""></td> <td valign="top" height="74" width="600" bgcolor="#D5EBFB"> <p align="center"><b>Halaman Untuk Wali Siswa</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top"><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="utama.php">Halaman Utama</a></font></p><p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"><font size="2"> <a href="data_nilai.php">Lihat Nilai</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">Pengaturan</p>

266

Aplikasi Program PHP dan MySQL <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"><font size="2"><a href="ganti_password.php">Ganti Password</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="../keluar.php">Keluar</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</td> <td valign="top"> <table border="1" width="99%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Data Absensi <?=$nama?></td></tr> <tr><td width="99%"> <table border="0" width="100%" cellspacing="0" cellpadding="0" id="table6"> <tr><td width="341" valign="top"> <p align="center"><font size="2">Keterangan kehadiran siswa</font></td> <td valign="top" align="center" bgcolor="#008000"><p align="center"> <font size="2" color="#00FFFF"><b>hadir</b></font></td> <td valign="top" align="center" bgcolor="#FF0000" width="131"> <font size="2" color="#00FFFF"><b>tidak hadir</b></font></td></tr></table> <table border="1" width="608" id="table5" cellspacing="0"> <tr><td bgcolor="#93CDF5" width="34" align="center" rowspan="2"><font size="2">No.</font></td> <td bgcolor="#93CDF5" align="center" width="218" rowspan="2">

267

Aplikasi Program PHP dan MySQL <font size="2">Nama Materi</font></td> <td bgcolor="#93CDF5" align="center" width="335" colspan="18"> <font size="2">Session</font></td></tr> <tr><td bgcolor="#93CDF5" align="center" width="19"> <font size="2">1</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">2</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">3</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">4</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">5</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">6</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">7</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">8</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">9</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">10</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">11</font></td>

268

Aplikasi Program PHP dan MySQL <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">12</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">13</font></td> <td bgcolor="#93CDF5" align="center" width="19"> <font size="2">14</font></td> <td bgcolor="#93CDF5" align="center" width="20"> <font size="2">15</font></td> <td bgcolor="#93CDF5" align="center" width="20"> <font size="2">16</font></td> <td bgcolor="#93CDF5" align="center" width="20"> <font size="2">17</font></td> <td bgcolor="#93CDF5" align="center" width="20"> <font size="2">18</font></td></tr> <? include"../sambung.php"; $nomor=1; $baca=mysql_query("select * from kelas_$kelas where id_siswa='$id_siswa'"); while($data=mysql_fetch_array($baca)){ $materi1=mysql_query("select nama from data_materi where id='$data[id_materi]'"); $materi2=mysql_fetch_array($materi1); echo"<tr><td width=\"34\"><font size=\"2\"><center>$nomor</center></font></td> <td width=\"218\"><font size=\"2\">$materi2[nama]</font></td>

269

Aplikasi Program PHP dan MySQL <td width=\"19\" bgcolor=\"$data[absen_1]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_2]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_3]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_4]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_5]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_6]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_7]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_8]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_9]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_10]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_11]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_12]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_13]\">&nbsp;</td> <td width=\"19\" bgcolor=\"$data[absen_14]\">&nbsp;</td> <td width=\"20\" bgcolor=\"$data[absen_15]\">&nbsp;</td> <td width=\"20\" bgcolor=\"$data[absen_16]\">&nbsp;</td> <td width=\"20\" bgcolor=\"$data[absen_17]\">&nbsp;</td> <td width=\"20\" bgcolor=\"$data[absen_18]\">&nbsp;</td> </tr>"; $nomor++; } ?> </table> </td></tr> </table>

270

Aplikasi Program PHP dan MySQL <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p> </td></tr> </table> </td></tr> <tr><td colspan="3" valign="top"> <img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr> </table> </body> </html>

Keterangan:
Script halaman laporan absensi siswa ini didominasi oleh tag-tag HTML untuk menampilkan halaman pada browser, namun yang perlu anda perhatikan adalah bagian kode PHP yang berfungsi untuk membaca data absensi pada database kelas aktif dan beberapa kode PHP dalam bentuk variabel yang disisipkan pada tag HTML untuk menampilkan data absensi siswa tesebut. Bagian kode PHP yang digunakan untuk membaca data tersebut adalah: <? include"../sambung.php"; $nomor=1; $baca=mysql_query("select * from kelas_$kelas where id_siswa='$id_siswa'"); while($data=mysql_fetch_array($baca)){ $materi1=mysql_query("select nama from data_materi where id='$data[id_materi]'"); $materi2=mysql_fetch_array($materi1); Sebelum membaca data dari database kelas aktif, script memanggil file sambung.php untuk melakukan koneksi terlebih dahulu. Kemudian data dibaca menggunakan perintah query SQL.

271

Aplikasi Program PHP dan MySQL Setelah data dibaca oleh kode PHP kemudian ditampilkan dengan cara menyisipkan variabel PHP ke dalam tag-tag HTML seperti dibawah ini: <td width=\"218\"><font size=\"2\">$materi2[nama]</font></td> <td width=\"19\" bgcolor=\"$data[absen_1]\">&nbsp;</td> Pada baris yang pertama tag HTML tersebut digunakan untuk menampilkan bagian nama materi dengan cara menyisipkan variabel $mater2[nama] yang memiliki nilai nama materi, kemudian pada baris kedua digunakan untuk menampilkan data session / pertemuan ke satu dan memberikan warna background dengan cara menyisipkan nilai warna hasil dari pembacaan database yang sudah dimasukkan ke dalam variabel $data[absent_1]. Berikut adalah tampilan halaman laporan absensi siswa:

Gambar 8.3 Tampilan halaman laporan absensi siswa.

HALAMAN LAPORAN NILAI SISWA


Halaman laporan nilai siswa yang diakses oleh wali siswa ini digunakan untuk menampilkan data nilai tiap materi yang ditempuh

272

Aplikasi Program PHP dan MySQL oleh anaknya. Wali siswa hanya dapat melihat data nilai saja, tanpa dapat mengganti datanya. Data nilai ditampilkan dalam sebuah tabel dengan memuat beberapa materi yang ditempuh dan juga data nilai pelajaran. Data nilai tiap-tiap materi memiliki beberapa bagian nilai, yaitu nilai harian, nilai tugas, nilai tengah semester, nilai akhir semester nilai total dan nilai dalam bentuk abjad. Berikut adalah script yang digunakan untuk menampilkan halaman laporan nilai tersebut: <? include"ceksession.php"; ?> <html> <head> <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> <style> <!-body{ color: #000080; font-family: Arial; font-size: 10pt } A:link {COLOR: #000080; TEXT-DECORATION: none; fontsize:10pt; font-family:Arial } A:visited {COLOR: #000080; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt } A:active {COLOR: #000080; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt } A:hover {COLOR: #00FFFF; TEXT-DECORATION: none; font-

273

Aplikasi Program PHP dan MySQL family:Arial; font-size:10pt; font-weight:bold } .topbar A:visited {FONT-WEIGHT: normal; COLOR: white; TEXTDECORATION: none } .topbar A:hover {FONT-WEIGHT: bold; COLOR: yellow; TEXTDECORATION: none } .topbar A:link {FONT-WEIGHT: normal; COLOR: white; TEXTDECORATION: none } .menu A:visited {COLOR: #0000FF; TEXT-DECORATION: none; font-size:10pt; font-family:Arial } .menu A:hover {COLOR: #00FFFF; TEXT-DECORATION: none; font-family:Arial; font-size:10pt; font-weight:bold } .menu A:link {COLOR: #0000FF; TEXT-DECORATION: none; fontfamily:Arial; font-size:10pt } --> </style> </head><center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"> <img src="../images/img_1.gif" width="800" height="108" 274

Aplikasi Program PHP dan MySQL alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td> <p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td> </tr></table> </td></tr> <tr><td colspan="3" valign="top" height="18"> <img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"> <img src="../images/img_04.gif" width="180" height="74" alt=""></td> <td valign="top" height="74" width="20" bgcolor="#D5EBFB"> <img src="../images/img_05.gif" width="20" height="74" alt=""></td> <td valign="top" height="74" width="600" bgcolor="#D5EBFB"> <p align="center"><b>Halaman Untuk Wali Siswa</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top"> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="utama.php">Halaman

275

Aplikasi Program PHP dan MySQL Utama</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="data_absensi.php">Absensi</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> &nbsp;</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> Pengaturan</p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="ganti_password.php">Ganti Password</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px"> <font size="2"><a href="../keluar.php">Keluar</a></font></p> <p style="margin-left: 5px; margin-right: 15px; margin-top: 2px; margin-bottom: 2px">&nbsp;</td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Data Nilai <?=$nama?></td> </tr> <tr><td width="99%">

276

Aplikasi Program PHP dan MySQL <table border="1" width="602" id="table5" cellspacing="0"> <tr><td bgcolor="#93CDF5" width="37" align="center" rowspan="2"> <font size="2">No.</font></td> <td bgcolor="#93CDF5" align="center" width="173" rowspan="2"> <font size="2">Nama</font></td> <td bgcolor="#93CDF5" align="center" width="383" colspan="6"> <font size="2">Nilai</font></td></tr> <tr><td bgcolor="#93CDF5" width="63"> <p align="center"><font size="2">Harian</font></td> <td bgcolor="#93CDF5" width="63"> <p align="center"><font size="2">Tugas</font></td> <td bgcolor="#93CDF5" width="64"> <p align="center"><font size="2">Tengah sms</font></td> <td bgcolor="#93CDF5" width="64"> <p align="center"><font size="2">Akhir sms</font></td> <td bgcolor="#93CDF5" width="64"> <p align="center"><font size="2">Total</font></td> <td bgcolor="#93CDF5" width="64"> <p align="center"><font size="2">Nilai Huruf</font></td></tr> <? include"../sambung.php"; $nomor=1; $baca=mysql_query("select * from kelas_$kelas where id_siswa='$id_siswa'"); while($data=mysql_fetch_array($baca)){

277

Aplikasi Program PHP dan MySQL $materi1=mysql_query("select nama from data_materi where id='$data[id_materi]'"); $materi2=mysql_fetch_array($materi1); $total[$nomor]=number_format(((($data[nilai_harian]+ $data[nilai_tugas]+$data[nilai_tengah])/3)+($data[nilai_akhir]))/2,2); if($total[$nomor]<=50){ $n[$nomor]="E"; $bg_color="#FFCC99"; }elseif($total[$nomor]<=75){ $n[$nomor]="D"; }elseif($total[$nomor]<=82){ $n[$nomor]="C"; }elseif($total[$nomor]<=92){ $n[$nomor]="B"; }else{ $n[$nomor]="A"; } echo"<tr> <td width=\"37\" bgcolor=\"#FFCC99\"><font size=\"2\"><center>$nomor.</center></font></td> <td width=\"173\" bgcolor=\"#FFCC99\"><font size=\"2\">$materi2[nama]</font></td> <td width=\"63\" align=\"center\" bgcolor=\"#FFCC99\"> <font size=\"2\">$data[nilai_harian]</font></td> <td width=\"63\" align=\"center\" bgcolor=\"#FFCC99\"> <font size=\"2\">$data[nilai_tugas]</font></td> <td width=\"64\" align=\"center\" bgcolor=\"#FFCC99\">

278

Aplikasi Program PHP dan MySQL <font size=\"2\">$data[nilai_tengah]</font></td> <td width=\"64\" align=\"center\" bgcolor=\"#FFCC99\"> <font size=\"2\">$data[nilai_akhir]</font></td> <td width=\"64\" align=\"center\" bgcolor=\"#FFCC99\"> <font size=\"2\">$total[$nomor]</font></td> <td width=\"64\" align=\"center\" bgcolor=\"#FFCC99\"> <b><font size=\"2\" color=\"#FF0000\">$n[$nomor]</font></b></td></tr>"; $nomor++; } ?> </table> </td></tr> </table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p> </td></tr> </table> </td></tr> <tr><td colspan="3" valign="top"> <img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr> </table> </body> </html>

Keterangan:
Seperti halnya untuk menampilkan halaman laporan absensi, script untuk halaman laporan nilai siswa ini juga didominasi dengan tag-tag 279

Aplikasi Program PHP dan MySQL HTML. Namun untuk membaca data nilai dari database kelas aktif dibutuhkan kode-kode PHP. Fungsi kode PHP yang pertama adalah membaca data nilai dari database seperti pada bagian script dibawah ini: <? include"../sambung.php"; $nomor=1; $baca=mysql_query("select * from kelas_$kelas where id_siswa='$id_siswa'"); while($data=mysql_fetch_array($baca)){ $materi1=mysql_query("select nama from data_materi where id='$data[id_materi]'"); $materi2=mysql_fetch_array($materi1); Untuk koneksi dengan database tetap menggunakan file sambung.php dan perintah yang digunakan untuk membaca data dari database adalah perintah Query SQL. Yang perlu diperhatikan lagi adalah bagian script yang digunakan untuk menampilkan data nilai dalam bentuk abjad. Script ini menggunakan fungsi if yang mengambil data total nilai yaitu hasil penjumlahan dan pembagian dari nilai-nilai keseluruhan masingmasing siswa berdasarkan tiap materi yang ditempuh. Bagian script tersebut adalah: $total[$nomor]=number_format(((($data[nilai_harian]+ $data[nilai_tugas]+$data[nilai_tengah])/3)+($data[nilai_akhir]))/2,2); if($total[$nomor]<=50){ $n[$nomor]="E"; $bg_color="#FFCC99"; }elseif($total[$nomor]<=75){ $n[$nomor]="D"; }elseif($total[$nomor]<=82){

280

Aplikasi Program PHP dan MySQL $n[$nomor]="C"; }elseif($total[$nomor]<=92){ $n[$nomor]="B"; }else{ $n[$nomor]="A"; } Bagian paling atas dari script tersebut adalah menjumlah data semua nilai siswa dan kemudian mengambil rata-rata keseluruhan dengan membagi dengan angka tertentu. Hasil dari pembagian tersebut kemudian dijadikan filter pada fungsi if untuk menterjemahkan ke dalam bentuk nilai abjad. Misalkan pada pilihan paling atas, apabila nilai rata-rata kurang dari 50, maka akan dimasukkan dalam kategori nailai E, kemudian apabila nilai rata-rata kurang dari 75 akan dimasukkan dalam kategori E dan seterusnya. Berikut adalah tampilan halaman laporan nilai siswa tersebut:

Gambar 8.4 Tampilan halaman laporan nilai siswa.

281

Aplikasi Program PHP dan MySQL

HALAMAN GANTI PASSWORD


Seperti halnya siswa dan instruktur, wali siswa pun diberi fasilitas untuk dapat mengganti passwordnya sendiri. Ini dimaksudkan apabila wali siswa tersebut ingin mengganti password, maka wali siswa tidak perlu menghubungi administrasi untuk mengganti password. Halaman untuk mengganti password ini menampilkan sebuah formulir sederhana yang memuat beberapa obyek kotak teks. Berikut adalah script yang digunakan untuk membuat halaman ganti password: <? include"ceksession.php"; ?> <html> <head> <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> </head> <center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"> <img src="../images/img_1.gif" width="800" height="108" alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23">

282

Aplikasi Program PHP dan MySQL <tr><td> <p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr> </table> </td></tr> <tr><td colspan="3" valign="top" height="18"> <img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"> <img src="../images/img_04.gif" width="180" height="74" alt=""></td> <td valign="top" height="74" width="20" bgcolor="#D5EBFB"> <img src="../images/img_05.gif" width="20" height="74" alt=""></td> <td valign="top" height="74" width="600" bgcolor="#D5EBFB"> <p align="center"><b>Halaman Untuk Wali Siswa</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top">&nbsp;</td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Ganti Password</td></tr> <form method="POST" action="ganti.php"> <tr><td width="99%"> 283

Aplikasi Program PHP dan MySQL <p style="margin-left: 5px; margin-right: 5px" align="center"> <font color="#FF0000"><?=$err?></font><br><p style="margin:2px 5px; " align="center"> <font size="2">Password Lama</font><p style="margin:2px 5px; " align="center"> <input type="password" name="password_lama" size="18" style="color: #000080; font-family: Arial; font-size: 10pt"><p style="margin:2px 5px; " align="center"> <font size="2">Password Baru</font><p style="margin:2px 5px; " align="center"> <input type="password" name="password1" size="18" style="color: #000080; font-family: Arial; font-size: 10pt"><p style="margin:2px 5px; " align="center"> <font size="2">Password Baru ( <font color="#FF0000">ulangi</font> )</font><p style="margin:2px 5px; " align="center"> <input type="password" name="password2" size="18" style="color: #000080; font-family: Arial; font-size: 10pt"><p align="center"> <input type="submit" value="G A N T I" name="ganti" style="fontfamily: Arial; color: #000080"> <input type="submit" value="B A T A L" name="batal" style="fontfamily: Arial; color: #000080"></td></tr> </form> </table> <p style="margin-top: 1px; margin-bottom: 1px">&nbsp;</p></td> </tr> </table> </td></tr> <tr><td colspan="3" valign="top"> 284

Aplikasi Program PHP dan MySQL <img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr> </table> </body> </html>

Keterangan:
Script di atas berfungsi untuk menampilkan formulir ganti password. Formulir untuk ganti password ini memiliki empat obyek, yaitu kotak teks untuk menuliskan password lama, kemudian kotak teks untuk menuliskan password baru, kotak teks untuk menuliskan password baru yang kedua dan sebuah tombol submit untuk mengirim data tersebut. Berikut adalah tampilan halaman untuk mengubah password wali siswa:

Gambar 8.5 Tampilan halaman ganti password wali siswa.

FILE PROSES GANTI PASSWORD


285

Aplikasi Program PHP dan MySQL File ini digunakan untuk menyimpan script yang berfungsi untuk mengolah data password. Data password lama yang ada pada database akan diganti dengan data password baru yang dikirim dari formulir halaman ganti password. Berikut adalah script untuk mengganti password lama dengan password baru: <? include"ceksession.php"; if(isset($ganti)){ if($password_lama!==$password){ $pesan="<br>Password lama yang Anda masukkan salah. Periksa kembali.<br>"; header("location:./ganti_password.php?err=$pesan"); }elseif($password1!==$password2){ $pesan="<br>Password baru Anda harus sama dengan password konfirmasi dibawahnya.<br>"; header("location:./ganti_password.php?err=$pesan"); }else{ include"../sambung.php"; $ganti_pass=mysql_query("UPDATE wali_siswa set password='$password1' WHERE id='$id_siswa'"); session_unregister ("password"); $password="$password1"; session_register("password"); } }else{ header("location:./utama.php"); } ?>

286

Aplikasi Program PHP dan MySQL <html> <head> <title>Sistem Manajemen Pendidikan online</title> <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1"> </head> <center><br> <body bgcolor="#A9C5BE" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="Table_01" width="800" height="296" border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="3" valign="top" height="108"> <img src="../images/img_1.gif" width="800" height="108" alt=""></td></tr> <tr><td colspan="3" valign="top" height="23"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_02.gif" id="table2" height="23"> <tr><td><p style="margin-left: 170px; margin-right: 50px" align="right">&nbsp;</td></tr> </table> </td></tr> <tr><td colspan="3" valign="top" height="18"> <img src="../images/img_03.gif" width="800" height="18" alt=""></td></tr> <tr><td valign="top" height="74" width="180" bgcolor="#D5EBFB"> <img src="../images/img_04.gif" width="180" height="74" alt=""></td> <td valign="top" height="74" width="20" bgcolor="#D5EBFB"> 287

Aplikasi Program PHP dan MySQL <img src="../images/img_05.gif" width="20" height="74" alt=""></td> <td valign="top" height="74" width="600" bgcolor="#D5EBFB"> <p align="center"><b>Halaman Untuk Wali Siswa</b></td></tr> <tr><td colspan="3" valign="top" height="19" bgcolor="#D5EBFB"> <table border="0" width="100%" cellspacing="0" cellpadding="0" background="../images/img_07.gif" id="table1"> <tr><td width="182" valign="top">&nbsp;</td> <td valign="top"> <table border="1" width="98%" cellspacing="0" cellpadding="0" id="table4"> <tr><td align="center" bgcolor="#93CDF5">Konfirmasi Ganti Password</td></tr> <tr><td width="99%"> <p style="margin-left: 5px; margin-right: 5px" align="center"> &nbsp;<p style="margin-left: 5px; margin-right: 5px" align="center">Password anda telah diganti dengan :<p style="margin-left: 5px; margin-right: 5px" align="center"> <b><?=$password1?></b><p style="margin-left: 5px; margin-right: 5px" align="center">Untuk melanjutkan tekan tombol di bawah ini<form method="POST" action="utama.php"> <p style="margin-left: 5px; margin-right: 5px" align="center"> <input type="submit" value="L A N J U T" name="lanjut" style="color: #000080; font-family: Arial; font-size: 10pt"></p> </form> <p style="margin-left: 5px; margin-right: 5px" align="center"> &nbsp;</td></tr></table> <p style="margin-top: 1px; margin-bottom:

288

Aplikasi Program PHP dan MySQL 1px">&nbsp;</p></td></tr> </table> </td></tr> <tr><td colspan="3" valign="top"> <img src="../images/img_09.gif" width="800" height="56" alt=""></td></tr> </table> </body> </html>

Keterangan:
Script di atas dibagi menjadi dua bagian utama. Yang pertama adalah script yang berfungsi untuk mengolah data password baru wali siswa. Berikut adalah bagian script tersebut: <? include"ceksession.php"; if(isset($ganti)){ if($password_lama!==$password){ $pesan="<br>Password lama yang Anda masukkan salah. Periksa kembali.<br>"; header("location:./ganti_password.php?err=$pesan"); }elseif($password1!==$password2){ $pesan="<br>Password baru Anda harus sama dengan password konfirmasi dibawahnya.<br>"; header("location:./ganti_password.php?err=$pesan"); }else{ include"../sambung.php"; $ganti_pass=mysql_query("UPDATE wali_siswa set password='$password1' WHERE id='$id_siswa'");

289

Aplikasi Program PHP dan MySQL session_unregister ("password"); $password="$password1"; session_register("password"); } }else{ header("location:./utama.php"); } ?> Script tersebut diawali deangan memanggil file ceksession.php untuk memeriksa keberadaan data sesi. Kemudian memeriksa apakah password yang dimasukkan pada bagian password lama apa sama dengan data password yang disimpan pada variabel sesi. Apabila password yang dimasukkan pada variabel password lama tidak sama dengan data sesi password, maka akan dimasukkan keterangan bahwa data password lama tidak benar. Apabila data password lama yang dimasukkan sudah benar, maka script akan dilanjutkan memeriksa data password 1 dengan password 2. kedua data tersebut di periksa kesamaannya.. Apabila kedua syarat tersebut terpenuhi, maka script akan memasukkan data password baru untuk mengganti password lama menggunakan perintah query berikut: $ganti_pass=mysql_query("UPDATE wali_siswa set password='$password1' WHERE id='$id'"); Data password lama akan diganti dengan data password baru setelah script diatas dijalankan. Namun pada data sesi masih memiliki data password yang lama. Hal ini akan ditolak oleh halaman-halaman yang lain apabila instruktur membuka halaman berikutnya. Maka dari itu dibuat sebuah script yang menghapus data password lama dan memasukkan data password baru ke dalam variabel sesi seperti pada script di bawah ini: session_unregister ("password"); $password="$password1"; session_register("password"); 290

Aplikasi Program PHP dan MySQL Bagian yang kedua adalah tag-tag HTML yang berfungsi menampilkan halaman ganti password apabila password sudah sukses diganti. Berikut adalah tampilan halaman sukses ganti password:

Gambar 8.6 Tampilan halaman sukses ganti password wali siswa.

291

Anda mungkin juga menyukai