PEMBUATAN APLIKASI ABSENSI ONLINE MENGGUNAKAN SENSOR SIDIK JARI (STUDI KASUS SMA ULUL ALB@B).
(STUDI KASUS SMA ULUL ALB@B)
TUGAS AKHIR
OLEH:
DIMAS KHARESA OKTAVIANO NPM: 0634010094
K e p a d a
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
JAWA TIMUR
(2)
FAKULTAS TEKNOLOGI INDUSTRI
________________________________________________________________________________________________________________________
HALAMAN PENGESAHAN
Mahasiswa dengan nama dan NPM yang tetera di bawah ini: Nama : Dimas Kharesa Oktaviano
NPM : 0634010094
Progdi : Teknik Informatika
Dengan ini telah melaksanakan Ujian Negara Lisan pada tahun akademik 2010/2011. Judul Tugas Akhir:
PEMBUATAN APLIKASI ABSENSI ONLINE MENGGUNAKAN SENSOR (STUDI KASUS SMA ULUL ALB@B)
Menyetujui, Dosen Pembimbing I
Basuki Rahmat, S.Si, MT NPT. 3690 7060 213
Dosen Pembimbing II
Wahyu S.J. Saputra S.Kom NPT. 386081002951
Ketua Program Studi Teknik Informatika
Basuki Rahmat, S.Si, MT NPT. 3690 7060 213
D E K A N
Fakultas Teknologi Industri
Ir. Sutiyono, MT NIP. 030 191 025
YAYASAN KESEJAHTERAAN PENDIDIKAN DAN PERUMAHAN
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
(3)
TUGAS AKHIR
PEMBUATAN APLIKASI ABSENSI ONLINE MENGGUNAKAN SENSOR SIDIK JARI
(STUDI KASUS SMA ULUL ALB@B)
Disusun oleh:
DIMAS KHARESA OKTAVIANO NPM ; 0634010094
Telah dipertahankan dan diterima di hadapan Tim Penguji Tugas Akhir Program Studi Teknik Informatika Fakultas Teknologi Industri
Universitas Pembangunan Nasional ”Veteran” Jawa Timur Pada tanggal 26 November 2010
Susunan Tim Penguji: 1. Penguji I,
Ir. Moch. Rochmad, MT NIP. 19620304 199103 1 002 2. Penguji II,
Basuki Rahmat, S.Si, MT NPT. 3690 7060 213 3. Penguji III,
Intan Yuniar Purbasari, S.Kom NPT. 3800 6040 198
(4)
NPM : 0634010094
Nama : Dimas Kharesa Oktaviano
Judul :Pembuatan Aplikasi Absensi Online dengan menggunakan Sensor sidik jari. Pembimbing I : Basuki Rahmat, S.Si., MT
Pembimbing II : Wahyu S.J. Saputra S.Kom
Pencatatan kehadiran siswa merupakan salah satu hal penting dari suatu sistem pendidikan,pada SMA Ulul Alb@b masih menggunakan sistem pencatatan kehadiran siswa secara manual. data kehadiran siswa juga digunakan sebagai pembanding prestasi seorang siswa. Pencatatan kehadiran manual sendiri yaitu dengan memangil satu persatu siswa pada lembar absensi yang telah disediakan sesuai dengan nama masing-masing siswa. Setelah lembar absensi terkumpul, guru BP akan merekap data kehadiran Dalam buku rekapitulasi data absensi.Masih banyak kelemahan dalam sistem pencatatan kehadiran secara manual tersebut antara lain siswa dapat memanipulasi data kehadiran tersebut sehingga pihak yang akan mengolah data tersebut akan kesulitan menentukan apakah siswa tersebut kesekolah atau tidak. Serta orang tua juga akan kesulitan untuk mengecek kehadiran putra-putrinya. Sehingga diperlukan suatu aplikasi pencatatan kehadiran yang lebih akurat.
Dalam Tugas Akhir ini telah dikembangkan suatu Aplikasi Pencatatan Kehadiran siswa menggunakan sidik jari siswa dengan berbasis online yang bias di akses lewat internet. Aplikasi ini dibuat untuk mengurangi bahkan menghilangkan adanya manipulasi data kehadiran oleh siswa. Hal ini dikarenakan sidik jari merupakan salah satu bagian unik dari manusia, sidik jari siswa yang satu akan berbeda dengan sidik jari siswa yang lain. Aplikasi pencatatan kehadiran siswa menggunakan sidik jari dapat meningkatkan keakuratandata kehadiran karena sidik jari siswa tidak mungkin dititipkan pada siswa lain.
(5)
i
Puji syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa, karena anugerah dan rahmatNya, salah satu dari sekian banyaknya karunia-Nya yang berupa Skripsi dan masih banyak kekurangan dalam laporan ini dapat terselesaikan. Semoga nikmat ini dapat mendorong menuntut ilmu yang lebih tinggi serta semangat pengabdian yang tulus karena ridho-Nya, amin.
Laporan Skripsi ini disusun berdasarkan proses tinjauan lapangan yang telah kami laksanakan di SMA Ulul Alb@b. Proses tersebut adalah pembuatan aplikasi
Pembuatan Aplikasi Absensi Online Menggunakan Sensor Sidi jari di SMA Ulul
Alb@b berbasis website dan aplikasi desktop dengan menggunakan PHP dan visual basic 6.0
Ucapan terima kasih, kami sampaikan kepada pihak-pihak yang turut berperan dalam kesuksesan penyusunan laporan Skripsi ini, diantaranya adalah :
1. Bapak Prof. Dr. Ir. Teguh Soedarto, MP selaku Rektor Universitas Pembangunan Nasional “Veteran” Jawa Timur.
2. Ir. Sutiyono, MS selaku Dekan Fakultas Teknik Industri UPN “Veteran” Jawa Timur.
3. Basuki Rahmat, S.Si. MT selaku Ketua Program Studi Teknik Informatika UPN “Veteran” Jawa Timur.
4. Basuki Rahmat, S.Si. MT selaku dosen pembimbing I Skripsi. 5. Wahyu S.J Saputra S.kom selaku dosen pembimbing II Skripsi. 6. Fitian Abudllah, SE selaku wakil kepala sekolah SMA Ulul Alb@b. 7. Seluruh staff SMA Ulul Alb@b.
(6)
ii
pada ilmu pengetahuan. Ibu tercinta, mama Ir.Sri Suhartatik, yang telah membina dan mendidik mereka dengan penuh kesabaran dan kasih sayang. Demikian juga kepada kakak-kakak tercinta yang telah mendorong untuk menuntut ilmu yang lebih tinggi.
9. K.H. A. Nasrullah almarhum yang telah mendidik penulis dalam bidang agama. Tidak lupa pula K.H. Ghozali Muchsin walaupun dalam waktu yang singkat. 10.M.Mabrur selaku Pembimbing Spiritual
11.Kekasih tersayang dian yang mendukung dengan penuh cinta
12.Teman-teman 06, BBC, dan tak lupa juga geng kost yang sering nunggak
13.Dan seluruh pihak yang telah membantu hingga tugas akhir ini dapat terselesaikan tepat waktu.
Penulis menyadari hanya kata terima kasih yang dapat penulis ucapkan dan hanya doa semoga amal kalian semua dibalas yang setimpal oleh Allah Swt. Bagaimanapun juga, Penulis juga menyadari akan banyaknya kekurangan pada penulisan laporan ini, kritik dan saran dari berbagai pihak demi sempurnanya laporan praktek kerja lapangan ini Penulis harapkan.
Surabaya, November 2010
(7)
iii LEMBAR PENGESAHAN SKRIPSI
LEMBAR PENGESAHAN DAN PERSETUJUAN ABSTRAK
KATA PENGANTAR ... i
DAFTAR GAMBAR ... vii
DAFTAR TABEL ... x
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Perumusan Masalah ... 2
1.3. Batasan Masalah ... 2
1.4. Tujuan Penelitian ... 2
1.5. Manfaat ... 3
1.6. Metodologi Penulisan ... 3
1.7 Sistematika Penulisan ... 4
BAB II TINJAUAN PUSTAKA ... 6
2.1. Sejarah ... 7
2.1.1 Profile SMA Ulul Alba@b ... 6
2.1.2 Visi dan Misi SMA Ulul Alba@b ... 8
2.2 Pengertian Biometrik ... 8
2.3. Pengenalan Sidik Jari ... 9
2.4. Representasi Citra Sidik Jari ... 10
(8)
iv
2.6 PHP ... 14
2.6.1 Konsep Kerja PHP ... 15
2.6.2 Dasar-dasar PHP ... 16
2.6.3 Fungsi-fungsi Skrip PHP Untuk Mengakses MYSQL ... 17
2.7 MYSQL ... 17
2.7.1 Keunggulan MYSQL ... 18
BAB III ANALISA DAN PERANCANGAN SISTEM ... 19
3.1. Data Flow Diagram ... 19
3.1.1. Berbasis Website ... 19
3.1.1.1. Context Diagram ... 19
3.1.1.2. DFD Level 1 ... 21
3.1.1.3. DFD Level 2 User wali murid ... 23
3.1.1.4. DFD Level 2 User Wali Kelas ... 24
3.1.1.5. DFD Level 2 User Kepala Sekolah ... 25
3.1.1.6. DFD Level 2Admin ... 26
3.1.1.7. CDM ... 26
3.1.1.8. PDM ... 28
3.2. Desain Graphical User Interface ... 29
3.2.1. Berbasis Website ... 29
3.2.1.1. Desain Halaman Utama ... 29
3.2.1.2. Desain Halaman User ... 30
(9)
v
BAB IV HASIL DAN PEMBAHASAN ... 39
4.1. Kebutuhan Sistem ... 39
4.2. Implementasi Sistem ... 39
4.2.1. Berbasis Desktop ... 40
4.2.1.1. Form Tampilan Halaman depan ... 40
4.2.1.2. Form Tampilan Registrasi ... 41
4.2.1.3. Form Tampilan Absensi ... 45
4.2.2. Berbasis Website ... 46
4.2.2.1. Halaman Utama ... 46
4.2.2.2. Halaman User ... 50
4.2.1.3. Halaman Administrator ... 53
4.2.3. Database ... 56
4.2.3.1. Berbasis Website ... 56
4.2.3.1.1. Menu Data Absensi ... 56
4.2.3.1.2. Menu Kehadiran... 56
4.2.3.1.3. Menu Kedatangan ... 59
4.2.3.1.4. Menu Kelas ... 60
4.2.3.1.5. Menu Antar Kelas ... 61
4.2.3.1.6. Menu Tingkatan ... 63
4.2.3.1.7. Menu Angkatan ... 64
BAB V PENGUJIAN SISTEM ... 65
(10)
vi
5.1.1.2. Form Tampilan Registrasi ... 66
5.1.1.3. Form Tampilan Absensi ... 68
5.2.1. Berbasis Website ... 69
5.2.1.1. Halaman Utama ... 69
5.2.1.2. Halaman Administrator ... 76
BAB VI PENUTUP ... 78
6.1. Kesimpulan ... 78
6.2. Saran ... 78
(11)
vii
Gambar 2.2 Kesesuaian ridge pada Sidik Jari... 12
Gambar 2.3 Proses Otentifikasi Sidik Jari ... 12
Gambar 2.4 Sidik Jari yang diletakkan di sensor ... 13
Gambar 2.5 Sidik Jari Hasil Scan ... 14
Gambar 2.6 Ridge Ending dan Ridge Bifurtion ... 14
Gambar 2.7 Konsep Kerja PHP ... 15
Gambar 2.8 Output dari file contoh1.php ... 16
Gambar 3.1 DFD Level 0 context Diagram ... 20
Gambar 3.2 DFD Level 1 Berbasis Website ... 22
Gambar 3.3 DFD Level 2 User Wali Murid ... 23
Gambar 3.4 DFD Level 2 User Wali Kelas ... 24
Gambar 3.5 DFD Level 2 User Kepala Sekolah ... 25
Gambar 3.6 DFD Level 2 Admin ... 26
Gambar 3.7 CDM ... 27
Gambar 3.8 PDM ... 28
Gambar 3.9 Desain Halaman Utama... 30
Gambar 3.10 Desain Halaman User Wali Murid ... 30
Gambar 3.11 Desain Halaman User Absensi Siswa ... 31
Gambar 3.12 Desain Halaman Grafik Kehadiran Siswa... 31
Gambar 3.13 Desain Halaman Grafik kedatangan Siswa ... 32
Gambar 3.14 Desain Halaman Pengaturan Profil ... 32
(12)
viii
Gambar 3.18 Desain Halaman Grafik Kehadiran Antar Angkatan ... 34
Gambar 3.19 Desain Halaman Administrator ... 35
Gambar 4.1 Halaman Utama ... 40
Gambar 4.2 Form NIS ... 41
Gambar 4.3 Form Verifikasi data Siswa ... 41
Gambar 4.4 From proses Regestrasi ... 42
Gambar 4.5 Form proses Absensi ... 45
Gambar 4.6 Halaman Utama website ... 46
Gambar 4.7 Desain Halaman User Wali Murid ... 50
Gambar 4.8 Desain Halaman User Wali Kelas ... 51
Gambar 4.9 Desain Halaman User Kepala Sekolah ... 51
Gambar 4.10 Desain Halaman menu Manajemen User ... 52
Gambar 4.11 back-end Administrator ... 54
Gambar 4.12 Halaman admin website ... 55
Gambar 4.13 Menu Data Absensi ... 57
Gambar 4.14 Menu Kehadiran Siswa ... 60
Gambar 4.15 Menu Kedatangan Siswa ... 61
Gambar 4.16 Menu Kehadiran Kelas ... 61
Gambar 4.17 Menu Kehadiran Antar Kelas ... 62
Gambar 4.18 Menu Tingkatan Antar Kelas ... 63
Gambar 4.19 Menu Kehadiran Antar Angkatan ... 64
(13)
ix
Gambar 5.4 From proses Regestrasi ... 67
Gambar 5.5 From proses Regestrasi Salah ... 68
Gambar 5.6 Form proses Absensi ... 68
Gambar 5.7 Form Proses Absensi yang belum regestrasi . ... 69
Gambar 5.8 Login Orang Tua ... 70
Gambar 5.9 Login Guru ... 70
Gambar 5.10 Login Kepala Sekolah ... 71
Gambar 5.11 Home Kepala Sekolah ... 71
Gambar 5.12 Data absensi ... 72
Gambar 5.13 Grafik kehadiran siswa ... 73
Gambar 5.14 Grafik kedatangan siswa ... 73
Gambar 5.15 Grafik kehadiran Kelas ... 74
Gambar 5.16 Kehadiran Antar Kelas ... 74
Gambar 5.17 Kehadiran Antar Tingkatan Kelas ... 75
Gambar 5.18 Grafik kehadiran antar angkatan ... 76
Gambar 5.19 Back-end Administrator ... 77
(14)
x
Tabel 3.2 Desain Tabel Wali Kelas ... 36
Tabel 3.3 Desain Tabel Siswa ... 36
Tabel 3.4 Desain Tabel History Kelas ... 37
Tabel 3.5 Desain Tabel History wali ... 37
Tabel 3.6 Desain Tabel Kelas ... 37
Tabel 3.7 Desain Tabel User ... 37
Tabel 3.8 Desain Tabel Submenu User ... 38
Tabel 3.9 Desain Tabel Admin ... 38
(15)
1 1.1 Latar Belakang
Perkembangan ilmu pengetahuan di segala bidang dalam era globalisasi saat ini begitu pesat. Terutama dalam bidang IT yang semakin maju seiring dengan kebutuhan pemakai (user) untuk memperoleh suatu karya atau inovasi maksimal serta memperoleh kemudahan dalam segala aktivitas untuk mencapai suatu tujuan.Absensi siswa memegang peranan penting dalam setiap kegiatan belajar mengajar.Oleh karena itu absensi merupakan salah satu penunjang yang dapat mendukung atau memotivasi setiap kegiatan yang dilakukan di dalamnya. Disamping itu, absensi siswa dapat juga sebagai informasi tentang bagaimana kedisiplinan siswa yang bersangkutan.`
Dalam Proses Rekapitulasi data kehadiran siswa di SMA ULUL ALB@B dilakukan dengan cara manual yaitu dengan memangil satu persatu siswa pada lembar absensi yang telah disediakan sesuai dengan nama masing-masing siswa. Setelah lembar absensi terkumpul, guru BP akan merekap data kehadiran
Dengan sistem manual yang di lakukan SMA ULUL ALB@B maka timbul banyak permasalahan yaitu siswa dapat memanipulasi, proses yang dilakukan cukup rumit serta banyak orang tua yang merasa kesulitan untuk mengetahui data kehadiran Putra putrinya.maka perlu adanya pembangunan sistem yang lebih akurat yaitu sistem absensi online dengan menggunakan sensor sidik jari .
Dalam buku rekapitulasi data absensi.
tujuan utamanya adalah memperoleh hasil analisa dari aplikasi yang dibuat diperuntukan untuk top menajemen, dengan begitu top manajemen bisa mengetahui kehadiran siswa.
(16)
1.2 Perumusan Masalah
Berdasarkan latar belakang diatas maka Perumusan masalah dari proyek akhir ini sebagai berikut:
a. Bagaimana sistem absensi siswa yang sedang berjalan saat ini di SMA ULUL ALB@B?
b. Bagaimana waktu yang diperlukan dalam pengolahan data absensi siswa? c. Sistem seperti apakah yang dapat menjadi solusi masalah-masalah absensi
siswa tersebut?
d. Bagaimana membuat rekapitulasi kehadiran siswa untuk top management?
1.3 Batasan Masalah
Dalam Tugas Akhir ini, yang akan dibahas adalah suatu Aplikasi Pencatatan Kehadiran Siswa Menggunakan Sidik Jari dengan batasan masalah sebagai berikut :
a. Studi kasus yang akan diambil adalah SMA ULUL ALB@B.
b. Input sidik jari yang disimpan dalam database untuk tiap-tiap orang adalah 4 c. Tidak menangani penjadwalan.
d. Hanya difokuskan pada pencatatan kehadiran siswa
e. Aplikasi ini diperuntukan untuk kepala sekolah dan wali murid
1.4 Tujuan Penelitian
Berdasarkan pada masalah yang telah didefinisikan di atas maka tujuan Tugas Akhir ini adalah sebagai berikut :
a. Membuat aplikasi pencatatan kehadiran siswa berdasarkan sidik jari siswa sehingga dapat meningkatkan keakuratan data kehadiran siswa.
(17)
b. Menganalisis keefesienan aplikasi pencatatan kehadiran siswa menggunakan sidik jari dibanding dengan pencatatan kehadiran secara manual.
1.5 Manfaat
Adanya tugas akhir ini diharapkan dapat bermanfaat bagi:
Mahasiswa dapat menerapkan ilmu yang sudah di dapat dari bangku kuliah ke dalam dunia kerja serta memecahkan suatu permasalahan yang ada dan mencari solusi yang baik.
1.6 Metodologi
Pendekatan sistematis/metodologi yang akan digunakan dalam merealisasikan tujuan dan pemecahan masalah di atas adalah dengan menggunakan langkah-langkah berikut :
1. Studi Literatur
Mempelajari metode otentikasi sidik jari yang diperoleh dari buku-buku, artikel, dan dari sumber-sumber lain yang relevan untuk menunjang penyelesaian tugas akhir ini.
2. Pengumpulan data dan survey untuk memperoleh data yang diperlukan dan gambaran nyata mengenai kebutuhan sistem.
3. Pengembangan sistem akan dilakukan menggunakan metode pengembangan perangkat lunak dengan tahapan sebagai berikut :
a. Perencanaan
Tahapan ini dilakukan untuk melakukan perencanaan tentang apa yang akan dikerjakan dan perlu dipersiapkan.
(18)
Tahapan ini menentukan rancangan sistem yang akan dibuat, berdasarkan desain yang diusulkan dan analisis system yang telah dilakukan. Rancangan system menggunakan desain terstruktur.
c. Implementasi
Tahapan ini adalah tahapan untuk implementasi rancangan sistem yang telah disetujui dengan menggunakan bahasa pemrograman dan alat bantu yang sesuai.
d. Pengujian
Tahap terakhir yang dilakukan untuk pengujian sistem secara fungsional yaitu per proses dan menganalisis sistem baru terhadap sistem lama.
1.7 Sistematika Penulisan
Tugas Akhir ini akan disusun berdasarkan sistematika pembahasan sebagai berikut :
BAB I PENDAHULUAN
Berisi latar belakang, perumusan masalah, tujuan penelitian, batasan masalah, metodologi dan sistematika penulisan.
BAB II TINJAUAN PUSTAKA
Menguraikan berbagai teori yang mendukung dan mendasari penulisan tugas akhir ini.
BAB III ANALISA DAN PERANCANGAN SISTEM
Pada bab ini akan dilakukan analisa alternatif sistem yang akan diaplikasikan.
(19)
BAB IV IMPLEMENTASI SISTEM
Pada bab ini akan membahas tentang implementasi berdasarkan konsep perancangan yang ada pada BAB III beserta penjelasan tentang kebutuhan sistem supaya aplikasi yang dikerjakan sesuai dengan tujuan dari penulisan Tugas Akhir.
BAB V UJI COBA DAN ANALISA SISTEM
Bab ini menjelaskan tentang pengujian yang dilakukan untuk mengetahui apakah aplikasi yang dibuat bisa bekerja sesuai dengan konsep yang sebenarnya. Selain itu pada bab ini dijelaskan bagaimana tahapan-tahapan yang dilakukan dalam melakukan pembuatan aplikasi
BAB VI PENUTUP
Bab ini akan menjelaskan tentang Kesimpulan dari keseluruhan isi dari laporan Tugas Akhir serta Saran yang disampaikan penulis untuk pengembangan aplikasi yang ada demi kesempurnaan aplikasi yang lebih baik.
DAFTAR PUSTAKA
Pada bagian ini akan dipaparkan tentang sumber-sumber literatur, tutorial, buku maupun situs-situs yang digunakan dalam pembutan laporan Tugas Akhir ini.
(20)
6 2.1 Sejarah SMA ULUL ALB@B .
Dalam lingkup ini akan dijelaskan tentang profil SMA ULUL ALB@B dengan menjelaskan Visi dan Misi berdirinya SMA ULUL ALB@B, serta struktur Keorganisasian dan Profil Laboratorium Bahasa Programan Teknik Informatika
2.1.1 Profil SMA ULUL ALB@B
Ketua Yayasan : Drs.Ec.H.A.Hidayat
Bapak ketua yayasan yang terkenal tegas ini, membangun SMA Ulul Alb@b sejak tahun 2006, jadi, SMA Ulul Alb@b sudah ada sejak tahun 2006. Tujuan awal membangun sekolah swasta ini adalah untuk mengembangkan dunia pendidikan khusunya di daerah Sepanjang-Taman, dan tujuan lainnya adalah menampung lulusan SMP Ulul Alb@b yang tidak memilih sekolah swasta dan ingin tetap bersekolah di sekolah Ulul Alb@b. usul ini di lontarkan oleh yayasan At-Thohiriyah, awalnya memang pada angkatan pertama tidak banyak siswa SMP Ulul Alb@b yang ingin masuk ke SMA Ulul Alb@b karena mungkin nilainya lebih mencukupi untuk masuk negeri dan memang selain itu juga karena mereka ingin mendapat pengalaman dan suasana yang baru. SMA Ulul Alb@b pada waktu itu baru mempunyai dua kelas (angkatan pertama). Seiring berjalannya waktu, bapak yang mempunyai putra dan putri ini, memiliki inisiatif dan dorongan untuk mendirikan gedung SMA sendiri oleh yayasan yang dibangunnya. Namun karena memang kurangnya dana utnuk pembangunan, beliau mengusahakan bagaimana caranya agar bisa membangun gedung yang megah seperti SMP Ulul Alb@b yang digarapnya untuk SMA Ulul Alb@b, hingga bapak kelahiran Surabaya, 22 Agustus 1942 inipun rela menjual
(21)
rumah-rumahnya, tanah-tanahnya, dan beberapa mobil-mobilnya. Selama ini beliau meraih impiannya dengan kerja keras dan keuletannya. Impian agar SMA Ulul Alb@b memiliki gedung sendiri, desain kelas sendiri, ruang laboratorium sendiri, lapangan sendiripun tercapai walaupun belum semegah SMPnya, namun bapak kebanggaan Ulul Alb@b ini mempunyai mimpi yang besar untuk bisa membangun SMA Ulul Alb@b menjadi sekolah fullday yang baik dimata masyarakat dan bisa di percaya oleh masyarakat luas, serta bisa terakreditasi A untuk bisa bersaing sehat dengan sekola-sekolah swasta lainnya yang sma-sama berkeinginan mendapatkan banyak kepercayaan dari halayak luar. Dan tidak lupa bisa ikut membangun pendidikan bangsa Indonesia agar tercipta masyarakat islam yang sebenar-benarnya.
Guru-guru yang mengajar di SMA Ulul Alb@b adalah guru-guru professional pastinya, guru-guru terpilih dengan pendidikan minimal S1 yang mempunyai wawasan luas dalam bidangnya, kedisiplinan tinggi dan peduli kepada anak didiknya.
Bapak yang menjadi salah satu pahlawan pendidikan karena dedikasi tingginya ini sempat berpesan untuk SMA Ulul Alb@b kedepannya, “ kalau ingin membesarkan SMA Ulul Alb@b harus ada loyalitas dan partisipasi dari warga sekolah sendiri. Oleh karena itu, harapan saya SMA Ulul Alb@b harus bisa berjkembang pesat, mandiri, dan bisa melakukan perbaikan beberapa pembangunan yang belum tercapai. ”kata beliau mengakhiri pembicaraan dengan tim laskar pelangi journalist SMA Ulul Alb@b.
(22)
2.1.2 Visi dan Misi SMA Ulul Alb@b
2.1.2.1 Visi
Unggul dalam mutu berpijak pada IPTEK dan IMTAQ serta berwawasan global
2.1.2.2 Misi
1. Menghasilkan lulusan yang unggul dalam perolehan NUAN dan siap bersaing untuk memasuki perguruan tinggi favorit
2. Menerapkan sistem pembelajaran dan bimbingan dengan mengacu pada perkembangan IPTEK
3. Meningkatkan pengamalan pembelajaran agama dan budi pekerti luhur dilingkungan sekolah
4. Menerapkan disiplin yang tinggi baik dalam belajar maupun beribadah kepada Allah SWT
5. Meningkatkan Kompetensi siswa agar dapat berprestasi baik dalam bidang akademik maupun non akademik
2.2 Pengertian Biometrik
Biometrik adalah metode untuk mengindentifikasi atau mengenali seseorang berdasarkan karakteristik fisik atau perilakunya. Biometrik berhubungan dengan identifikasi otomatis seorang manusia berdasarkan karakteristik fisiologis atau perilaku. Tidak seperti karakteristik perilaku, selain memiliki basis fisiologis yang relatif stabil, tetapi juga dipengaruhi oleh kondisi psikologis manusia yang mudah berubah, sedangkan karakteristik fisiologis relatif lebih stabil[5].
(23)
Beberapa karakteristik fisiologis yang dapat dijadikan basis sistem biometric antara lain : wajah, pola retina, iris mata, geometri telapak tangan, sidik jari dan lain-lain.
Ada empat persyaratan yang harus dipenuhi agar karakteristik fisiologis dapat digunakan sebagai indikator karakteristik biometrik dalam identifikasi personal, yaitu:
• Karakteristik tersebut harus dimiliki oleh semua orang (universal).
• Tidak ada dua orang atau lebih identik dalam karakteristik tersebut (unik) • Karakteristik tersebut tidak dapat diubah (permanen)
• Karakteristik tersebut dapat diambil atau diukur secara kuantitatif
Sidik jari memenuhi kriteria tersebut. Sidik jari merupakan salah satu teknologi biometrik yang paling handal[5].
Sampai saat ini, teknologi yang sering digunakan adalah sidik jari, sementara pengenalan iris mata atau titik khusus wajah belum banyak diaplikasikan karena alasan faktor ekonomis. Penggunaan sidik jari adalah paling sering digunakan untuk umum, karena lebih komersial, dan mudah untuk digunakan semua orang daripada system kepastian pengenalan menggunakan wajah ataupun mata seseorang.
2.3 Pengenalan sidik jari
Sistem ini meliputi sebuah perangkat keras scanner dan perangkat lunak. Merekam karakteristik sidik jari yang spesifik, menyimpan data tiap-tiap user ke dalam sebuah template, ketika user mencoba lagi mengakses maka perangkat lunak akan membandingkan data yang tersimpan pada template dengan
(24)
pembacaan sidik jari dari scanner.
Sistem sidik jari sangat akurat tetapi dapat dipengaruhi oleh perubahan-perubahan di dalam sidik jari (terbakar, bekas luka dan sebagainya), kotoran dan faktor-faktor lain yang menimbulkan gangguan pada gambar
2.4 Representasi Citra Sidik Jari
Representasi yang berbasis pada profil citra sidik jari grayscale sudah lazim dalam sistem verifikasi menggunakan pencocokkan optikal. Keperluan dari sistem yang menggunakan representasi tersebut masih terbatas karena faktor-faktor seperti variasi terang-gelap citra, variasi kualitas citra, goresan bekas luka, dan distorsi global yang muncul dalam citra sidik jari. Representasi yang mengandalkan struktur alur sidik jari sebagian besar tidak berbeda pada variasi terang-gelap citra, namun lebih sensitif pada kualitas citra sidik jari[6].
Representasi tersebut terutama berbasis pada alur berhenti (ridge ending) atau alurbercabang (ridge bifurcation), keduanya dikenal dengan istilah
minutiae[6].
2.5 Otentifikasi Sidik Jari
Diantara semua teknik biometrik, identifikasi fingerprint-based adalah metoda yang paling tua yang telah sukses digunakan pada banyak aplikasi. Semua orang mempunyai sidik jari yang unik. Suatu sidik jari dibuat dari satu rangkaian kerut pada permukaan jari. Keunikan suatu sidik jari dapat ditentukan oleh pola ridge dan kerut seperti halnya poin-poin rincian yang tidak penting.
Poin-Poin Rincian yang tidak penting adalah karakteristik ridge lokal yang terjadi baik pada suatu pencabangan dua ridge maupun suatu ridge berakhir
(25)
Teknik sidik jari dapat ditempatkan ke dalam dua kategori: minutiae-based dan berdasarkan korelasi.
Teknik minutiae-based yang pertama temukan poin-poin rincian yang tidak penting dan kemudian memetakan penempatan yang sejenis pada Bagaimanapun, penggunaan pendekatan ini ada beberapa kesulitan. Hal itu sukar untuk menyadap poin-poin rincian yang tidak penting itu dengan teliti sehingga sidik jari mutunya menjadi rendah. Metoda ini juga tidak mempertimbangkan pola ridge kerut dan hubungan yang global berbagai kesulitan pendekatan yang minutiae-based. Bagaimanapun, masing-masing mempunyai penempatan yang tepat untuk suatu pendaftaran dan di buat buat oleh terjemahan gambar dan perputaran[7].
(26)
Gambar 2.2. Kesesuaian Ridge Pada Sidik Jari
Kesesuaian dasar sidik jari pada minutiae mempunyai permasalahan dalam penyesuaian perbedaan ukuran pola minutiae. Struktur ridge lokal tidak bisa dengan sepenuhnya ditandai oleh minutiae.
Dalam otentifikasi sidik jari terdapat 3 komponen utama perancangan, yaitu : akuisisi, ekstraksi feature, dan pencocokkan[8].
Gambar 2.3 Proses Otentifikasi Sidik Jari
2.5.1 Akuisisi Citra Sidik Jari
Akuisisi citra sidik jari mempunyai dua metode yaitu offline (inked) dan
online (livescan). Pada metode offline, sidik jari dicetak pada kertas dan setelah itu dilakukan scanning. Metode ini biasanya menghasilkan image dengan kualitas
(27)
yang kurang bagus karena non-uniform spread pada tinta yang digunakan untuk mencetak sidik jari tersebut.
Sedangkan metode online, kualitas gambar yang dihasilkan lebih baik dan biasanya resolusinya 512 dpi dimana dapat meningkatan keandalan pada proses pencocokan dibandingkan dengan metode sidik jari diprint di kertas.
Teknologi yang paling terkenal untuk memperoleh citra sidik jari yang diambil secara langsung (live-scan) adalah berbasis pada konsep optikal. Ketika jari diletakkan pada satu sisi dari prisma, daerah yang menonjol pada jari (ridge), akan menyentuh permukaan prisma, sedangkan bagian lembahnya tidak menyentuh. Cahaya yang mengenai bagian kaca yang tersentuh oleh alur sidik jari akan disebarkan secara acak, sementara pada bagian lembah dari jari, cahaya akan dipantulkan kembali ke dalam, dan menghasilkan citra sidik jari pada bagian citra. Sebagai akibatnya, bagian citra yang terbentuk oleh alur sidik jariakan terlihat gelap dan bagian citra yang terbentuk dari lembah sidik jari akan terlihat terang[9].
Gambar 2.4 Sidik Jari Yang Diletakkan Di Sensor [
(28)
Gambar 2.5 Sidik Jari Hasil Scan
2.5.2 Ekstraksi Feature
Ekstraksi minutiae mendapatkan alur berhenti dan alur bercabang dari citra masukkan sidik jari. Performansi dari algoritma ekstraksi minutiae sangat bergantung kepada kualitas dari citra sidik jari. Tujuan pemilihan feature citra adalah untuk mencari ciri yang paling optimum dari suatu objek yang dapat membedakan objek tersebut dengan objek-objek yang lain[6].
Gambar 2.6 Ridge Ending dan Ridge Bifurtion
2.6 PHP
PHP merupakan singkatan dari Hypertext Preprocessor yaitu bahasa berbentuk skrip yang disimpan dan jalankan pada sisi server. Sedangkan hasil (output) eksekusi dari server ditampilkan pada client dengan menggunkan web server.
(29)
Dari semua pengunaan PHP, penggunaan pada server-side scripting
merupakan yang paling sering digunakan. Terutama bila membutuhkan website berbasis web yang dinamis.
PHP dapat dijalankan pada hampir semua operasi windows yang ada saat ini diantaranya : Linux, Unix (HP-UX, Solaris, OpenSD), Microsoft Windows, Mac OS X, RISC, dan lain-lain. PHP juga mendukung banyak web server diantaranya : Apache, Miacrosoft Information Server (IIS), Personal Web Server (PWS), Netscape Server,iPlanet Server, dan lain-lain.
Dalam melakukan penulisan program PHP dapat menggunkan procedural programming. Selain iru dapat juga menggunkan gabungan keduanya. Dengan menggunakan PHP output (hasil keluaran) tidak harus berupa HTML, namun PHP mempunyai kemampuan unutk menghasilkan gambit PDF bahkan file Flash yang dihasilkan secara On fly[1]
2.6.1 Konsep kerja PHP
Gambar 2.7 Konsep Kerja PHP
Secara umum konsep kerja dari PHP hamper sama dengan konsep kerja dari HTML. Dimana terdpat client yang meminta berkas tertentu yang disimpan pada sisi server. Kemudian server tersebut mengirimkan berkas tersebut pada client. Perbedaanya adalah pada konsep kerja HTML berkas yang dikirimkan sama dengan yang disimpan pada sisi server sehingga bisa terdapat perbedaan
(30)
antara source code yang disimpan pada sisi server dengan yang dikirim pada client.
2.6.2 Dasar-dasar PHP
<?PHP
... ... ?>
File contoh1.PHP: <html>
<head> <title>
Contoh Sederhana </title>
</head> <body> <?PHP
Echo (”Hello apakabar? Nama saya PHP script”); ?>
</body> </html>
(31)
2.6.3 Fungsi-fungsi Skrip PHP Untuk Mengakses Mysql
PHP memiliki sejumlah fungsi untuk mengakses berbagai database (dalam hal ini, PHP merupakan preprosesor yang memiliki fungsi akses database terlengkap), termasuk database MySQL. Bahkan pada versi terbaru, PHP telah mengkompilasi driver untuk MySQL bersama dengan programnya, sehingga pada saat instalasi tidak perlu melakukan kompilasi tambahan untuk database ini. Langkah-langkah yang harus ditempuh untuk mengakses MySQL adalah sebagai berikut :
Membuka koneksi dengan server database. Gunakan perintah mysql_connect.
Melakukan query terhadap sebuah database pada server. Langkah ini dapat dilakukan menggunakan dua perintah mysql_select_db dan mysql_query atau dengan satu perintah mysql_db_query.
Untuk perintah (SQL) mengambil data, lakukan pengambilan data baris-demi-baris menggunakan perintah mysql_fetch_rows atau mysql_fetch_array.
Menutup koneksi dengan server database apabila semua transaksi telah selesai dengan perintah mysql_closei.
2.7 MYSQL
MySQL adalah sebuah server database SQL multiuser dan multi-threaded. SQL sendiri adalah salah satu bahasa database yang paling populer di dunia. Implementasi program server database ini adalah program daemon 'mysqld' dan beberapa program lain serta beberapa pustaka.
(32)
MySQL dibuat oleh TcX dan telah dipercaya mengelola sistem dengan 40 buah database berisi 10,000 tabel dan 500 di antaranya memi liki 7 juta baris (kira-kira 100 gigabyte data). Database ini dibuat untuk keperluan sistem database yang cepat, handal dan mudah digunakan. Walaupun memiliki kemampuan yangcukup baik, MySQL untuk sistem operasi Unix bersifat freeware, dan terdapat versi shareware untuk sistem operasi windows. Menurut pembuatnya, MySQL disebut seperti "my-ess-que-ell" dan bukan my-sequel !.
2.6.1 Keunggulan Mysql
a. MySQL merupakan program yang multi-threaded, sehingga dapat dipasang pada server yang memiliki multi-CPU.
b. Didukung program-program umum seperti C, C++, Java, Perl, PHP, Python, TCL APIs dls.
c. Bekerja pada berbagai platform. (tersedia berbagai versi untuk berbagai sistem operasi).
d. Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi sistem database.
e. Memiliki sistem sekuriti yang cukup baik dengan verifikasi host. f. Mendukung ODBC untuk sistem operasi Microsoft Windows
(33)
Gambar 3.1 Context Diagram
DFD context digaram digambarkan dengan 6 entitas luar. Entitas pertama user wali murid adalah user yang memiliki hak akses username dan password khusus. Pada aplikasi ini, seorang hanya bisa melakukan proses view data dan report pada semua siswa dengan memasukkan nis dan punya hak akses untuk menambah user. Kedua wali kelas adalah user yang mempunyai hak akses
username (NIP) dan password khusus. Pada aplikasi ini, seseorang wali kelas hanya bisa melakukan proses view data dan report pada siswanya saja, yaitu dengan lingkup satu kelas saja. Ketiga Kepala Sekolah adalah user yang mempunyai hak akses username dan password khusus.pada aplikasi ini, seorang kepala sekolah han.pada aplikasi ini, seorang kepala sekolah bisa melakukan view data dan report pada semua siswa dalam bentuk data maupun grafik. Keempat admin adalah user yang mempunyai hak akses username dan password untuk
(34)
mengatur tentang absensi, menambah siswa, menambah admin, menambah user , serta mengelola content website setiap waktu.
Pada DFD context diagram di atas, entitas Wali Murid, Wali Kelas dan Kepala Sekolah sama-sama mengalirkan data permintaan record Absensi ke dalam sistem. yang membedakan user Wali Murid, Wali Kelas dan Kepala Sekolah adalah hak akses pada tiap menu menunya daari waali kelas ada grafik kelas dan antar kelas sedangkan Kepala Sekolah ada tambahan grafik absensi antar tingkatan dan angkatan. Entitas Admin hanya bertugas mengalirkan info-info menambah user, menu dan mengelola absensi.
3.1.1.2. DFD Level 1
Data flow diagram level 1 terdiri dari beberapa bagian proses yang terjadi didalam aplikasi, tapi yang diturunkan ke level 2 hanya beberapa proses yaitu wali murid yang ingin mengetahui absensi anaknya. Kemuadian dari Wali kelas yang ingin memonitoring anak didiknya sendiri lewat grafik kelas dan antar kelas lalu Kepala Sekolah yang ingin menganalisa semua siswanya khususnya di dalam absensi dalam bentuk grafik dari tahun ke tahun. Admin website berisikan penambahan user baru dan mengelola content website.
(35)
Gambar 3.2 DFD Level 1
Di dalam proses Login, entitas User memasukkan username dan password yang kemudian dicocokkan dengan username dan password yang tersimpan di dalam database user. Selain mengambil username dan password, proses Login juga mengambil informasi mengenai level user dari dalam database untuk kemudian diolah menjadi hak akses bagi setiap User yang melakukan proses
(36)
Login. Proses Login juga memberikan umpan balik berupa konfirmasi status proses Login, apakah berhasil atau tidak.
Segera setelah proses Login dilakukan, User yang semula belum dikenali langsung diberikan hak akses sesuai levelnya masing-masing. Dan kemudian ketiga kelompok user itu mengakses prosesnya masing-masing, entitas Wali Murid mengakses proses Menampilkan record untuk Wali Murid, entitas Wali Kelas mengakses proses Menampilkan record untuk Wali Kelas, entitas Kepala Sekolah mengakses proses Menampilkan record untuk Kepala Sekolah. entitas dan admin website mengakses proses Mengelola content website dan menambah user baru.
3.1.1.3.DFD Level 2 User Wali Murid
Gambar 3.3 DFD Level 2 User Wali Murid
DFD Level 2 Menjemen User wali murid Terdapat empat proses utama, yaitu menyajikan data absensi, Menyajikan Grafik Kedatangan siswa, menyajikan Kehadiran siswa serta pengaturan profil
(37)
3.1.1.4. DFD Level 2 User Wali Kelas
data Absensi data Absensi
data Absensi
data Absensi profil baru
profil baru KELAS data Absensi WALI 51 MENYAJIKAN GRAFIK KEHADIRAN KELAS 52 MENYAJIKAN GRAFIK KEDATANGAN SISWA 53 MENYAJIKAN GRAFIK KEHADIRAN SISWA 54 MENYAJIKAN GRAFIK ANTAR KELAS 56 MENGATUR PROFIL 7 ABSENSI 3 USER
data Absensi 55
MENYAJIKAN DATA ABSENSI SISWA 11 SISWA NIS NIS NIS data Siswa data Absensi data Absensi data Absensi
Gambar 3.4 Level 2 User Wali Kelas
DFD Level 2 user wali murid terdapat enam proses utama, didalam user Wali kelas ini intinya sama dengan user wali murid cuman yang membedakan disini ada proses tambahan yaitu menyajikan grafik absensi perkelas dan antar kelas.
(38)
3.1.1.5. DFD Level 2 User Kepala Sekolah
Gambar 3.5 Level 2 User Kepala Sekolah
DFD Level 2 Kepala Sekolah 8 proses utama, dari enam prosesnya itu sama yang membedakan adalah dalam menu penyajian data absensi angkata dan tingkatan ada menu driil down yang grafiknya bisa melihat di kelas dan data absensi sehingga data absensi akan terlihat detail.
(39)
3.1.1.6. DFD Level 2 Admin
Gambar 3.6 Level 2 Admin
DFD Level 2 Administrator menggambarkan fungsionalitas seorang Administrator Website, untuk administrator mengelola wesbite dari belakang layar. Terdapat dua proses utama, yaitu Meng-update content website serta Mengelola User. Dalam proses Meng-update content website, entitas Administrator menginputkan karya ilmiah dan karya tulis terbaru yang ingin ditampilkan pada halaman utama website. Sedangkan pada proses Menglola user, Administrator menginputkan data user terbaru, baik itu user baru atau update profile user atau bahkan penghapusan user. Yang dimaksud user untuk dikelola di sini ialah Admin lain yang levelnya editor.
3.1.1.7. Conceptual Data Model ( CDM )
CDM memodelkan struktur logis dari keseluruhan aplikasi data, tidak tergantung pada software atau pertimbangan model struktur data. CDM yang valid dapat dikonversi ke PDM atau OOM. CDM mirip dengan konsep ERD yang diajukan oleh Elmasri, hanya ada beberapa perbedaan sintaks.
(40)
Dalam CDM ini digambarkan ada 11 buah tabel data yang saling terkoneksi satu dengan yang lainnya, dengan beberapa perbedaan relasi hubungan yang semuanya akan saling bergantung antara satu sama lainya. Hal ini terjadi karena antar satu tabel dengan tabel lainya nantinya akan saling memerlukan data pada masing-masing tabel, dimana tabel siswa terkoneksi dengan tabel kelas karena tabel kelas merupakan bagian siswa, dan juga tabel siswa terkoneksi dengan tabel absensi karena tabel absensi terdapat data NIS siswa yang telah melakukan absensi dalam sistemdan tabel yang tidak terkoneksi dengan tabel lain adalah tabel User dan tabel login_admin, seperti dapat dilihat pada Gambar 3.7. dibawah ini
(41)
3.1.1.8. Physical Data Model ( PDM )
PDM memodelkan struktur fisik dari database, dengan mempertimbangkan software DBMS serta model struktur yang akan digunakan. PDM yang valid dapat dikonversi ke CDM atau OOM. PDM dapat dihasilkan (di-generate) dari CDM yang valid. Seperti yang kita lihat dari Gambar 3.12, Gambar 3.13 merupakan hasil generate dari CDM tersebut, sehingga lebih kompleks lagi relasi hubungan dari masing-masing table, karena foreign key yang merupakan penghubung masing-masing tabel telah masuk kedalam tabel dan menjadi field didalam tabel yang dibutuhkan terkoneksi dengan yang m enjadi
domain atau inti pusat data.
(42)
3.2. Desain Graphical User Interface
Desain Graphical User Interface (GUI) merupakan hal yang sangat penting dalam tahap analisa dan desain. Hal ini dikarenakan GUI merupakan penghubung antara sistem dengan end user. desain GUI haruslah dibuat
se-friendly mungkin agar memudahkan user dalam pengaksesan navigasi berbasis website.
Pada Sistem Penyajian Data Absensi siswa ini, desain GUI dibagi menjadi bagian utama, yaitu berbasis website. Untuk berbasis website, yaitu Halaman Utama, Halaman User Kepala Sekolah.
3.2.1. Berbasis Website
Portal web merupakan istilah dalam dunia internat dimaksudkan untuk website yang menyediakan beraneka ragam informasi untuk para pengunjungnya dan merupakan halaman yang pertama kali dibuka oleh pengunjung.
3.2.1.1. Desain Halaman Utama
Halaman Utama adalah halaman yang akan pertama kali tampil pada saat website dibuka. Karena dalam studi kasus yang diangkat ini, merupakan website utama, maka desain Halaman Utama dibuat se-friendly mungkin agar memudahkan user dalam pengaksesan navigasi website. Menu yang ditampilkan di Halaman Utama hanyalah Login yang bisa mengakses tiga user
(43)
Gambar 3.9 Desain Halaman Utama 3.2.1.2. Desain Halaman User
Halaman User dibagi lagi menjadi 3 bagian, halaman user Wali Murid, Wali kelas dan Kepala Sekolah. Halaman User Wali Murid memiliki tampilan sebagaimana Gambar 3.10 berikut ini.
Gambar 3.10 Desain Halaman User Wali Murid
Di halaman ini, user Wali Murid langsung disapa dengan nama lengkap User.
(44)
Menu yang disediakan untuk Wali Murid Yang ingin mengetahui Absensi anaknya. Jika menu Data Absensi siswa , maka akan muncul tampilan seperti pada Gambar 3.11 berikut ini.
Gambar 3.11 Desain Halaman data Absensi siswa
Jika menu Grafik Kehadiran dipilih, maka akan muncul tampilan seperti pada Gambar 3.12 berikut ini.
(45)
Jika menu Grafik kedatangan dipilih, maka akan muncul tampilan seperti pada Gambar 3.13 berikut ini.
Gambar 3.13 Desain Halaman Grafik Kedatangan Siswa
Jika menu Pengaturan profil dipilih, maka akan muncul tampilan seperti pada Gambar 3.14 berikut ini.
(46)
Masuk Pada user Wali Kelas Jika menu Kelas dipilih, maka akan muncul tampilan seperti pada Gambar 3.15 berikut ini.
Gambar 3.15 Desain Halaman Grafik Kehadiran Kelas
Masuk Pada user Wali Kelas Jika menu absensi antar kelas dipilih, maka akan muncul tampilan seperti pada Gambar 3.19 berikut ini.
(47)
Msuk Pada User Kepala sekolah .disini menu menu yang diteapkan sama persis hanya membedakan ada menu tingkata absensi dan menu angkatan jika kita memilih tingkatan pada Gambar 3.17 berikut ini.
Gambar 3.17. Desain Halaman grafik Kehadiran Antar Tingkatan Kelas
Jika menu Angkatan dipilih, maka akan muncul tampilan seperti pada Gambar 3.18 berikut ini.
(48)
3.2.1.3. Desain Halaman Administrator
halaman administrator website Halaman administrator website sebagaimana Gambar 3.18. berikut.
Gambar 3.18. Desain Halaman Administrator
3.3. Desain Database
Kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu.
3.3.1 Database dbabsensi
Database yang digunakan sebagai studi kasus dalam pengerjaan Tugas Akhir ini adalah Desain Database SMA Ulul Alb@b. Tujuannya adalah agar sistem yang dibuat pada Tugas Akhir ini sedapat mungkin selaras dengan sistem yang telah ada, karena memang tujuan dari pengerjaan Tugas Akhir ini bukanlah
(49)
menggantikan sistem yang telah ada, namun menambahkan sebuah sistem penyajian data sebagai solusi.
Desain Database Absensi SMA Ulul Alb@b seperti pada gambar 3. Adalah
Tabel 3.1. Desain Tabel Absensi
Tabel3.2. Desain Tabel Wali kelas
(50)
Tabel 3.4. Desain Tabel History Kelas
Tabel 3.5. Desain Tabel History Wali
Tabel 3.6. Desain Tabel Kelas
(51)
Tabel 3.8. Desain Tabel submenu User
Tabel 3.9. Desain Tabel Admin
(52)
39
BAB IV
HASIL DAN PEMBAHASAN
Pada bab IV ini akan dibahas hasil Pembuatan Aplikasi Absensi Online Menggunakan Sensor Sidik Jari
4.1 Kebutuhan Sistem
Ada beberapa hal dalam pengembangan aplikasi yang harus diperhatikan sebelum akhirnya sampai pada langkah menjalankan program atau aplikasi, antara lain perangkat keras (hardware), perangkat lunak (software) serta bagaimana akhirnya aplikasi dapat sampai ke tangan user / pemakai.
Sistem Penyajian Data Absensi Siswa dilakukan secara Online dengan menggunakan Sensor Sidik jari dan ditulis dengan menggunakan bahasa PHP untuk pembuatan system onlinenya serta Visual basic 6.0 untuk aplikasi desktopnya.adapun proses online ini membutuhkan web server serta database server dalam proses implementasinya. Adapun web server yang digunakan dalam Tugas Akhir ini adalah XAMPP Server dan database servernya adalah MYSQL. 4.2.Implementasi Sistem
Seperti yang telah disinggung pada bagian Kebutuhan Sistem di atas, sistem yang dibangun ini terdiri atas dua unsur utama, GUI dan basis data. GUI direpresentasikan oleh website dan sensor sidik jari dipresentasikan oleh Aplikasi desktop, sedangkan data yang disajikan berasal dari database. Karena itu, uraian pada bagian Implementasi Sistem ini akan dibagi berdasarkan kedua unsur tersebut dengan tujuan agar proses implementasi sistemnya lebih mudah.
(53)
4.2.1. Berbasis desktop
Pada sub bab implementasi aplikasi desktop ini dengan menggunakan desain antarmuka menjelaskan form apa saja yang terlibat dalam aplikasi tersebut yang menampilkan beberapa aplikasi form yaitu :
4.2.1.1.Form Tampilan Halaman Depan
Pada form tampilan utamadidesain sedemikian rupa sehingga menjadi tampilan utama yang menarik pengguna. Pada halaman utama terdapat terdapat list menu yang dapat digunakan yaitu menu absensi dan Registrasi dilihat pada Gambar 4.1.
Gambar 4.1. Form Halaman Utama
Private Sub absensi_Click() Form4.Show
End Sub
Private Sub reg_Click() Form3.Show
(54)
4.2.1.2.Form Tampilan Regestrasi
Pada Form Regestrasi ada tiga tahapan yaitu dengan mengetikan NIS ( no. Induk siswa) kemudian verifikasi data siwa setelah itu melakukan proses regestrasi. seperti Gambar 4.2. no.induk siswa, gambar 4.3. verifikasi data
Gambar 4.2. Form NIS
Gambar 4.3. Form verifikasi data siswa
Dim con As ADODB.Connection Dim rsSiswa As ADODB.Recordset Private Sub Form_Load()
Set con = New ADODB.Connection con.Open "dsn=abs"
End Sub
Private Sub txtInduk_KeyPress(KeyAscii As Integer) On Error GoTo salah
If KeyAscii = 13 Then
Form1.lblNis.Caption = txtInduk.Text
(55)
' lblNis.Caption = Form3.txtInduk.Text
Set rsSiswa = New ADODB.Recordset rsSiswa.CursorLocation = adUseClient
rsSiswa.Open "select * from siswa where nis = '" & txtInduk.Text & "'", con, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = rsSiswa
Form1.txtNamaSiswa.Text = DataGrid1.Columns(1) Form1.cbJk.Text = DataGrid1.Columns(2)
Form1.txtAlamatSiswa.Text = DataGrid1.Columns(3) Form1.txtStatus.Text = DataGrid1.Columns(5) Form1.txtIterasi.Text = DataGrid1.Columns(6) Me.Hide
Form1.Show End If
Exit Sub salah:
MsgBox "Data Siswa Tidak Ditemukan !", vbInformation, "" End Sub
Setelah mengetikan NIS maka akan tampil form Verifikasi data siwa dimana form ini sifatnya hanya menampilkan saja tanpa adanya inputan. Setelah itu melakukan proses registrasi sidik jari seperti pada gambar 4.4. proses regestrasi
(56)
ion Explicit
Dim FPDatabase As New UareUSDK.clsFPDatabase
Dim WithEvents Registration As UareUSDK.clsFPRegistration Private Sub Command2_Click()
Registration.FPRegistrationCancel Text1.Text = ""
Combo1.Text = "Left Pinkie" picSample(0) = Nothing picSample(1) = Nothing picSample(2) = Nothing picSample(3) = Nothing dot(0).Visible = False dot(1).Visible = False dot(2).Visible = False dot(3).Visible = False Command1.Enabled = True Command2.Enabled = False End Sub
Private Sub Form_Load() On Error GoTo ErrMsg
If FPDatabase.ActiveConnection("DRIVER={Microsoft Access Driver (*.mdb)};" & _
"pwd=;" & _ "UID=Admin;" & _
"DBQ=" & App.Path & "\SampleDB.mdb") = sc_Fail Then
MsgBox "Database Connection Fail" Else
Set Registration = New UareUSDK.clsFPRegistration
Registration.PictureSamplePath = App.Path & "\FPTemp.BMP" Registration.PictureSampleHeight = picSample(0).Height Registration.PictureSampleWidth = picSample(0).Width End If
Exit Sub ErrMsg:
If Err.Number = 430 Then
MsgBox "You need to recompile your aplication to use the latest SDK version"
Else
MsgBox Err.Description End If
End Sub
Private Sub Command1_Click() Command1.Enabled = False
If Text1.Text = "" Then MsgBox "ID can not empty" Else
Registration.FPRegistration Text1.Text, GetFingerNumber(Combo1.Text)
Command1.Enabled = False Command2.Enabled = True End If
(57)
End Sub
Private Sub Registration_FPRegistrationImage(CurentSample As Integer)
picSample(CurentSample) = LoadPicture(App.Path & "\FPTemp.BMP") dot(CurentSample).Visible = True
End Sub
Private Sub Registration_FPRegistrationStatus(Status As RegistrationStatus)
Command1.Enabled = True Select Case Status Case r_OK
MsgBox "Registration Success" Case r_FpIdAlreadyExist
MsgBox "ID dan finger number already exist" Case r_NoDevice
MsgBox "Device not exits" Case r_WrongDeviceSN
MsgBox "Wrong Device Serial Number 2" Case r_RegFailed
MsgBox "Registration Failed" Case r_WrongFingerNr
MsgBox "Finger number must between 0 to 9" End Select
Text1.Text = ""
Combo1.Text = "Left Pinkie" picSample(0) = Nothing picSample(1) = Nothing picSample(2) = Nothing picSample(3) = Nothing dot(0).Visible = False dot(1).Visible = False dot(2).Visible = False dot(3).Visible = False Command1.Enabled = True Command2.Enabled = False End Sub
Private Function GetFingerNumber(Finger As String) As FingerNumber Dim j As Byte
'Finger Number Select Case Finger Case "Left Pinkie" j = 0
Case "Left Ring" j = 1
Case "Left Middle" j = 2
Case "Left Index" j = 3
Case "Left Thumb" j = 4
Case "Right Thumb" j = 5
Case "Right Index" j = 6
Case "Right Middle" j = 7
(58)
Setelah melakukan regestrasi pendaftaran maka siswa bisa langsung melakukan proses absensi
4.2.1.3.Form Tampilan Absensi
Pada melakukan absensi proses yang dilakukan tidak jauh beda dengan proses regestrasi yaitu pertama kita dengan mengetikan NIS lalu akan tampil form Absensi siwa kemudian melakukan proses absen dengan meletakkan sidik jari kita ke finger print kemudian tekan tombol absen maka akn ada verifikasi terlambat atau masuk seperti gambar
Gambar 4.5. Form Proses Absensi
j = 8
Case "Right Pinkie" j = 9
Case "(None)" j = 10 Case Else j = 10 End Select
GetFingerNumber = j End Function
(59)
4.2.2. Berbasis Website
Penggunaan sarana website sebagai antar muka sistem dikarenakan sistem penyajian data ini ditujukan untuk menjadi website dari
www.smaululalbab/absensi.sch.id yang merupakan website utama SMA Ulul Alb@b.
Website ini terdiri atas dua halaman yaitu Halaman User, Halaman Administrator. Halaman User adalah halaman yang pertama kali diakses oleh pengunjung website yang merupakan inti dari sistem penyajian data ini. Sedangkan Halaman Administrator adalah halaman bagi administrator website untuk mengelola content website. Halaman Administrator diakses melalui back-end.
4.2.2.1. Halaman Utama
Halaman Utama memiliki tampilan seperti yang ditunjukkan pada Gambar 4.1 berikut ini.
(60)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title> ULUL ALB@B LOGIN</title> <link rel="stylesheet" type="text/css"
href="css/jquery/jquery.ui.all.css" media="screen"/>
<link rel="stylesheet" type="text/css" href="css/table_data.css" media="screen"/>
<link rel="stylesheet" type="text/css"
href="css/lightbox/style.css" media="screen"/>
<link rel="stylesheet" type="text/css" href="css/style.css" title="style_blue" media="screen"/>
<link rel="alternate stylesheet" type="text/css"
href="css/style_green.css" title="style_green" media="screen" /> <link rel="alternate stylesheet" type="text/css"
href="css/style_red.css" title="style_red" media="screen" /> <link rel="alternate stylesheet" type="text/css"
href="css/style_purple.css" title="style_purple" media="screen" />
<!--[if IE]><script type="text/javascript" src="js/excanvas.js"></script><![endif]--> <script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.2.js"></script>
<script type="text/javascript" src="js/jquery.fancybox-1.3.2.js"></script>
<script type="text/javascript" src="js/jquery.validate.js" ></script>
<script type="text/javascript" src="js/jquery.wysiwyg.js" ></script>
<script type="text/javascript"
src="js/jquery.dataTables.js"></script>
<script type="text/javascript" src="js/jquery.flot.js"></script> <script type="text/javascript"
src="js/jquery.flot.stack.js"></script>
<script type="text/javascript" src="js/styleswitch.js"></script> <script type="text/javascript" src="js/custom.js"></script> </head>
<body>
<div id="wrapper"> <ul id="topbar">
<li><a class="button white fl" title="preview" href="index.php"><span class="icon_single preview"></span></a></li>
<li class="s_1"></li>
<li class="logo"><strong>LUL ALB@B</strong> LOGIN user</li> </ul>
<div id="content-login"> <div class="logo"></div>
<h2 class="header-login">Form Login </h2>
<form id="box-login" action="cek_login.php" method="post"><p> <label class="req"> username </label>
<br/>
<input type="text" name="username" value="" id="username"/> </p>
(61)
<label class="req"> password </label> <br/>
<input type="password" name="password" value="" id="password"/> </p>
<p class="fl">
<input type="checkbox" name="remember" value="1" id="remember"/> <label class="rem"> Remember me </label>
</p>
<p class="fr">
<input type="button" value="Error test" class="button black" id="error"/>
<input type="submit" value="Login" class="button themed" id="login"/>
</p>
<div class="clear"></div> </form>
<a class="forgot" href="#"> Forgot password? </a>
<span class="message error">Error Test <strong>Username</strong> and/or <strong>Password</strong> are wrong</span>
<span class="message information">hanya tekan
<strong>Login</strong> atau <strong>Error Test</strong></span> </div>
</div>
<div id="footer">
<p class="copy fl">Copyright 2010<strong> ULUL ALB@B </strong>LOGIN user. All rights reserved.</p>
<ul class="button language_button white fr"> <li class="icon_single language fl"></li> <li class="clear"></li>
</ul> </body> </html> }
Ketika tombol Login ditekan, maka sesuai dengan action form Login di atas, inputan user akan dikirim dengan metode POST, kemudian akan akan diperiksa dengan skrip di bawah ini.
<?php
include "config/koneksi.php";
include "config/fungsi_anti_injeksi.php";
if(empty($_POST[username]) OR empty($_POST[password])) header('location:index.php?warning=1'); elseif(strlen($_POST[password])<4) header('location:index.php?warning=2'); elseif(!ctype_alnum($_POST[username]) OR !ctype_alnum($_POST[password])) header('location:index.php?warning=3'); else { $username=anti_injection($_POST[username]);
$cari_username=mysql_query("SELECT * FROM user WHERE kode_user='$username'");
$ketemu_username=mysql_num_rows($cari_username); if($ketemu_username>0)
(62)
$password=md5(anti_injection($_POST[password])); $verifikasi=mysql_query("SELECT * FROM user WHERE kode_user='$username' AND password_user='$password'");
$cocok=mysql_num_rows($verifikasi); if($cocok>0) { $r=mysql_fetch_array($verifikasi); if($r[blokir_user]=='N') { session_start();
$_SESSION[login_date] =date("d-m-Y");
$_SESSION[login_time] =date("H:i:s");
$_SESSION[kode_user] =$r[kode_user];
$_SESSION[nama_user] =$r[nama_user];
$_SESSION[password_user] =$r[password_user];
$_SESSION[level_user] =$r[level_user];
session_regenerate_id(); $id_session=session_id();
$_SESSION[session_user] =$id_session;
mysql_query("UPDATE user SET session_user='$id_session' WHERE kode_user='$r[kode_user]'"); header('location:user/media.php?module=home'); } else header('location:index.php?warning=4'); } else header('location:index.php?warning=5'); } else header('location:index.php?warning=6'); } ?>
inputan user tadi akan diperiksa dulu, apakah berupa huruf atau angka, inputan disaring lagi dengan fungsi anti_injeksi() yang penulis tambah. Fungsi ini mengandung fungsi-fungsi bawaan PHP, seperti mysql_real_escape_string(), stripslashes(), strip_tags() dan htmlspecialchars() yang berguna untuk menyaring setiap karakter atau tag membahayakan yang terkandung dalam inputan user.
Setelah lolos dari filter, barulah username yang dimasukkan oleh user tadi diperiksa apakah ada atau tidak di dalam database. Proses pemeriksaan ini sekaligus mengambil semua data user dari database, yang apabila proses login ini berhasil, semua data tersebut akan langsung didaftarkan pada session untuk memberikan hak akses pada user. Selain username dan password, proses login juga memeriksa status user di blokir
(63)
atau tidak, sebelum memberikan hak akses. Untuk lebih jelasnya dapat dilihat pada potongan script berikut ini:
Statement header ('location:user/media.php?module=home'); di dalam potongan script di atas menandakan apabila user berhasil melakukan proses Login, maka dia akan diarahkan pada halaman lain yang merupakan Halaman User.
4.2.2.2. Halaman User
Halaman User adalah halaman bagi user yang telah terdaftar dan telah berhasil melakukan proses Login. Halaman User ini digunakan oleh 3 kelompok user, yaitu Wali murid, Wali kelas, Kepala Sekolah. Perbedaan bagi kedua kelompok user itu ada pada menu yang ditampilkan. Untuk lebih jelas, perhatikan Gambar 4.7., Gambar 4.8. dan Gambar 4.9. berikut ini.
(64)
Gambar 4.8. Halaman User Wali Kelas
Gambar 4.9. Halaman User Kepala Sekolah
Pada Halaman User Wali Murid, menu yang ditampilkan hanyalah menu-menu standar untuk mendapatkan data Absensi, serta melihat Grafik kehadiran dan grafik
(65)
kedatangan sedangkan pada Halaman User Wali Kelas terdapat menu tambahan yaitu Grafik Kelas dan Grafik antar Kelas.khusus untuk Halaman User Kepala Sekolah terdapat menu tambahan berupa Grafik Tingkatan dan Grafik Angkatan
Menu Manajemen User adalah menu yang diperuntukkan bagi user Wali Murid untuk merubah informasi profil mereka. Informasi yang dimaksud melingkupi password, email serta notlp/hp, untuk username dan nama_lengkap tidak bisa dirubah, untuk User Internal menu Menejemen User merupakan menu untuk menambah user baru seperti pada Gambar 4.10. berikut ini.
Gambar 4.10. Menu Manajamen User Wali Murid
Sama seperti form Login pada Halaman Utama, form Manajemen User ini sangat terbuka dengan kemungkinan injeksi oleh user yang tidak bertanggung jawab. Karena itu semua fungsi filter inputan yang diimplementasikan pada form Login juga dilakukan di sini. Hanya saja bedanya pada form Manajemen User ini menu filter
(66)
ditambah lagi dengan pencocokan format inputan dengan format field pada database, dengan tujuan agar inputan user dapat disimpan dengan sukses ke dalam database.
Untuk mendukung kerapian file yang digunakan, terutama untuk Halaman User ini, maka penulis mengembangkan sistem sederhana yang memanfaatkan potongan script di bawah ini:
if ($_GET[siswa]=='mainmenu'){
if ($_SESSION[leveluser]=='admin'){
include "modul/mod_mainmenu/mainmenu.php"; }
}
Dengan statement GET yang ada di atas, maka setiap menu yang dipilih oleh user akan dibedakan berdasarkan module-nya. Jika module-nya sudah didapatkan, maka akan dicocokkan dengan daftar menu yang ada di dalam database. Kemudian setelah ketemu yang cocok dengan module tersebut, maka statement include akan dieksekusi. Hal ini berarti setiap script menu terletak di dalam directory “modul/mod_mainmenu/mainmenu.php” Dengan cara itu maka setiap script tertata rapi di dalam folder modul dan terpisah-pisah berdasarkan namanya. Hal ini juga memudahkan apabila ada penambahan menu di kemudian hari, karena hanya perlu menambahkan data module-nya di database menu_user dan meletakkan script menunya pada folder menu.
Penulis menggunakan cara seperti di atas pada Halaman Administrator juga. Dengan begitu, jadilah sebuah manajemen konten yang dinamis. Hal ini sangat menguntungkan untuk pengembangan selanjutnya.
4.2.2.3. Halaman Administrator
Halaman Administrator website diakses melalui back-end begitu juga yang SMS Akademik seperti yang terlihat pada Gambar 4.11 berikut.
(67)
Gambar 4.11 Back-end Administrator
Script yang digunakan untuk membuat form Login di atas dan untuk memeriksa dan menyaring inputan administrator sama persis dengan yang telah diimplementasikan pada Halaman User sebelumnya. Jika administrator berhasil melewati proses Login ini, maka dia akan diarahkan pada Halaman Administrator yang berfungsi sebagai sarana pengelolaan konten website terutama konten yang disajikan pada user yang terigistrasi. Hal itu ditunjukkan dengan menu-menu yang tersedia bagi administrator, seperti yang terlihat pada Gambar 4.12 berikut ini.
(68)
Gambar 4.12 Halaman Admin Website
Sama seperti Halaman User, pada Halaman Administrator ini juga terdapat lebih dari satu kelompok user yang bisa mengaksesnya, yaitu Administartor dan Editor. Administrator di sini adalah super administrator yang berhak penuh atas segala pengaturan konten website. Pada Halaman Administrator ini, administrator diberikan keleluasaan dalam navigasi halaman. Di bagian kana disediakan menu-menu untuk mengatur konten website, Manajemen Absensi, Manajemen Siswa, Manajemen User untuk mengelola user administrator, Manajemen Modul untuk mengelola menu di Halaman Administrator ini sendiri.
4.2.3. Database
Seperti yang telah dibahas di Bab III, database yang digunakan untuk kepentingan penyajian data akademik dan syahriyah siswa, terdiri dari database asli untuk mendukung performa aplikasi desktop dan website terutama dalam hal query.
(69)
4.2.3.1. Berbasis Website
Layanan berbasis website ini menampilkan semua informasi Absensi di sekolah secara online melalui media internet. Layanan ini menampilkan data-data yang bersifat dinamis seperti absensi yang dapat membantu untuk melakukan evaluasi.
4.2.3.1.1. Menu Data Absensi
Menu Data ini mengakses table siswa dengan menggunakan view yang ada pada database asli. Untuk menyajikan data Absensi pada user, baik user Wali murid, Wali Kelas dan Kepala sekolah, digunakan query berikut:
case "tampil": if($_SESSION[level_user]=='ortu') $nis=$_SESSION[kode_user]; elseif($_SESSION[level_user]=='guru') { $nis=$_POST[kode_user]; $ambil_kelas=mysql_fetch_array(mysql_query("select distinct kode_kelas as SISWA from absensi
where nis='$nis' and tanggal_absen between '$_POST[date1]' and '$_POST[date2]'
order by kode_kelas desc"));
$ketemu=mysql_num_rows(mysql_query("select * from history_wali where nip='$_SESSION[kode_user]' and
kode_kelas='$ambil_kelas[SISWA]'")); if($ketemu<1) header('location:?module=data&warning=1'); } elseif($_SESSION[level_user]=='kasek') $nis=$_POST[kode_user];
$nama=mysql_fetch_array(mysql_query("select nama_siswa from siswa where nis='$nis'"));
$ambil=mysql_fetch_array(mysql_query("select distinct kode_kelas as KELAS from absensi
where nis='$nis' and tanggal_absen between '$_POST[date1]' and '$_POST[date2]'
order by kode_kelas desc"));
$kelas=mysql_fetch_array(mysql_query("select nama_kelas from kelas where kode_kelas='$ambil[KELAS]'"));
$total=mysql_query("select distinct tanggal_absen from absensi
where kode_kelas='$ambil[KELAS]' and tanggal_absen between '$_POST[date1]' and '$_POST[date2]' order by 1");
(70)
$nis adalah NIS yang ingin ditampilkan datanya. Tampilannya akan seperti pada Gambar 4.16. berikut.
Gambar 4.13. Menu Data Absensi
4.2.3.1.2. Menu Kehadiran
Menu Kehadiran ini mengakses table NIS yang ada pada database asli. Dalam hal untuk mempermudah join table maka penulis menggunakan view untuk menyajikan data Kehadiran pada user, baik user Wali murid, Wali Kelas dan Kepala sekolah digunakan query berikut:
case "tampil":
if($_SESSION[level_user]=='ortu')
$_SESSION[xy_ortu_kehadiran_nis]=$_SESSION[kode_user]; elseif($_SESSION[level_user]=='guru')
{
$ambil_kelas=mysql_fetch_array(mysql_query("select distinct kode_kelas as SISWA from absensi
(71)
'$_POST[date1]' and '$_POST[date2]' order by kode_kelas desc"));
$ketemu=mysql_num_rows(mysql_query("select * from history_wali where nip='$_SESSION[kode_user]' and
kode_kelas='$ambil_kelas[SISWA]'")); if($ketemu<1)
header('location:?module=hadir&warning=1'); else
$_SESSION[xy_ortu_kehadiran_nis]=$_POST[kode_user]; }
elseif($_SESSION[level_user]=='kasek')
$_SESSION[xy_ortu_kehadiran_nis]=$_POST[kode_user];
$nama=mysql_fetch_array(mysql_query("select nama_siswa from siswa where nis='$_SESSION[xy_ortu_kehadiran_nis]'"));
$ambil=mysql_fetch_array(mysql_query("select distinct kode_kelas as KELAS from absensi
where nis='$_SESSION[xy_ortu_kehadiran_nis]'
and tanggal_absen between '$_POST[date1]' and '$_POST[date2]' order by kode_kelas desc"));
$kelas=mysql_fetch_array(mysql_query("select nama_kelas from kelas where kode_kelas='$ambil[KELAS]'"));
$_SESSION[xy_ortu_kehadiran_date1]=$_POST[date1]; $_SESSION[xy_ortu_kehadiran_date2]=$_POST[date2];
$nis adalah NIS yang ingin ditampilkan datanya. Tampilannya akan seperti pada Gambar 4.14. berikut.
(72)
4.2.3.1.3. Menu Kedatangan
Menu Kedatangan ini mengakses table NIS dan Mengikuti yang ada pada database asli. Dalam hal untuk mempermudah join table maka penulis menggunakan view untuk menyajikan data Kedatangan pada user, baik user Wali murid, Wali Kelas dan Kepala sekolah, digunakan query berikut:
case "tampil": if($_SESSION[level_user]=='ortu') $_SESSION[xy_ortu_kedatangan_nis]=$_SESSION[kode_user]; elseif($_SESSION[level_user]=='guru') { $ambil_kelas=mysql_fetch_array(mysql_query("select distinct kode_kelas as SISWA from absensi
where nis='$_POST[kode_user]' and tanggal_absen between '$_POST[date1]' and '$_POST[date2]'
order by kode_kelas desc"));
$ketemu=mysql_num_rows(mysql_query("select * from history_wali where nip='$_SESSION[kode_user]' and
kode_kelas='$ambil_kelas[SISWA]'")); if($ketemu<1) header('location:?module=datang&warning=1'); else $_SESSION[xy_ortu_kedatangan_nis]=$_POST[kode_user]; } elseif($_SESSION[level_user]=='kasek') $_SESSION[xy_ortu_kedatangan_nis]=$_POST[kode_user];
$nama=mysql_fetch_array(mysql_query("select nama_siswa from siswa where nis='$_SESSION[xy_ortu_kedatangan_nis]'"));
$ambil=mysql_fetch_array(mysql_query("select distinct kode_kelas as KELAS from absensi
where nis='$_SESSION[xy_ortu_kedatangan_nis]'
and tanggal_absen between '$_POST[date1]' and '$_POST[date2]' order by kode_kelas desc"));
$kelas=mysql_fetch_array(mysql_query("select nama_kelas from kelas where kode_kelas='$ambil[KELAS]'"));
$_SESSION[xy_ortu_kedatangan_date1]=$_POST[date1]; $_SESSION[xy_ortu_kedatangan_date2]=$_POST[date2];
$nis adalah NIS yang ingin ditampilkan datanya. Tampilannya akan seperti pada Gambar 4.15. berikut.
(73)
Gambar 4.15. Menu Kedatangan Siswa 4.2.3.1.4. Menu Kelas
Menu Kelas ini mengakses table Kelas yang ada pada database asli. Dalam hal untuk mempermudah join table maka penulis menggunakan view untuk menyajikan grafik absensi perkelas pada user Wali kelas, digunakan query berikut:
case "tampil":
if($_SESSION[level_user]!='guru') header('location:?module=home'); else
{
$kelas=mysql_fetch_array(mysql_query("select * from history_wali where nip='$_SESSION[kode_user]' order by kode_kelas desc")); $total_hari=mysql_num_rows(mysql_query("select distinct
tanggal_absen from absensi where kode_kelas='$kelas[kode_kelas]' and tanggal_absen between '$_POST[date1]' and
'$_POST[date2]'"));
$_SESSION[xy_guru_kelas_kode_kelas]=$kelas[kode_kelas]; $_SESSION[xy_guru_kelas_date1]=$_POST[date1];
$_SESSION[xy_guru_kelas_date2]=$_POST[date2]; $_SESSION[xy_guru_kelas_total]=$total_hari;
$ambil=mysql_fetch_array(mysql_query("select * from kelas where kode_kelas='$kelas[kode_kelas]'"));
Dari skrips diatas akan memunculkan suatu grafik data kehadiran siswa di kelas seperti Gambar 4.16 berikut ini.
(74)
Gambar 4.16. Menu Kehadiran Kelas
4.2.3.1.5. Menu Antar kelas
Menu Antar Kelas ini mengakses table Kelas, history_kelas dan kode kelas yang ada pada database asli. Dalam hal untuk mempermudah join table maka penulis menggunakan view untuk menyajikan data Nilai pada user, baik user Wali murid maupun Internal, digunakan query berikut:
case "tampil":
if($_SESSION[level_user]!='guru') header('location:?module=home'); else
{
$kelas=mysql_fetch_array(mysql_query("select * from history_wali where nip='$_SESSION[kode_user]' order by kode_kelas desc")); $total_hari1=mysql_num_rows(mysql_query("select distinct
tanggal_absen from absensi where kode_kelas='$kelas[kode_kelas]' and tanggal_absen between '$_POST[date1]' and
'$_POST[date2]'"));
$total_hari2=mysql_num_rows(mysql_query("select distinct tanggal_absen from absensi where kode_kelas='$_POST[kelas2]'
(75)
and tanggal_absen between '$_POST[date1]' and '$_POST[date2]'"));
$ambil1=mysql_fetch_array(mysql_query("select * from kelas where kode_kelas='$kelas[kode_kelas]'"));
$ambil2=mysql_fetch_array(mysql_query("select * from kelas where kode_kelas='$_POST[kelas2]'")); $_SESSION[xy_guru_kelas_kelas1]=$kelas[kode_kelas]; $_SESSION[xy_guru_kelas_kelas2]=$_POST[kelas2]; $_SESSION[xy_guru_kelas_nama_kelas1]=$ambil1[nama_kelas]; $_SESSION[xy_guru_kelas_nama_kelas2]=$ambil2[nama_kelas]; $_SESSION[xy_guru_kelas_date1]=$_POST[date1]; $_SESSION[xy_guru_kelas_date2]=$_POST[date2]; $_SESSION[xy_guru_kelas_total1]=$total_hari1; $_SESSION[xy_guru_kelas_total2]=$total_hari2; echo
Tampilan grafik antar kelas akan seperti yang ditunjukkan pada gambar 4.17 di bawah ini.
Gambar 4.17 Menu Kehadiran Antar Kelas 4.2.3.1.6. Menu Tingkatan
Menu ini mengakses tabel jenis dan transaksi yang ada pada database Syahriyah. Dalam hal untuk mempermudah join table maka penulis menggunakan view untuk menyajikan data Nilai pada user, baik user Wali Murid maupun Internal, seperti pada query berikut ini:
case "tampil":
if($_SESSION[level_user]!='kasek') header('location:?module=home'); else
(76)
$total_hari1=mysql_num_rows(mysql_query("select distinct tanggal_absen from absensi, kelas
where absensi.kode_kelas=kelas.kode_kelas and kelas.tingkatan_kelas='$_POST[tingkat1]' and tahun_ajaran='$_POST[ta1]'
and absensi.tanggal_absen between '$_POST[date1]' and '$_POST[date2]'"));
$total_hari2=mysql_num_rows(mysql_query("select distinct tanggal_absen from absensi, kelas
where absensi.kode_kelas=kelas.kode_kelas and kelas.tingkatan_kelas='$_POST[tingkat2]' and tahun_ajaran='$_POST[ta2]'
and absensi.tanggal_absen between '$_POST[date1]' and '$_POST[date2]'")); $_SESSION[xy_kasek_tingkatan_tingkat1]=$_POST[tingkat1]; $_SESSION[xy_kasek_tingkatan_ta1]=$_POST[ta1]; $_SESSION[xy_kasek_tingkatan_tingkat2]=$_POST[tingkat2]; $_SESSION[xy_kasek_tingkatan_ta2]=$_POST[ta2]; $_SESSION[xy_kasek_tingkatan_date1]=$_POST[date1]; $_SESSION[xy_kasek_tingkatan_date2]=$_POST[date2]; $_SESSION[xy_kasek_tingkatan_total1]=$total_hari1; $_SESSION[xy_kasek_tingkatan_total2]=$total_hari2; echo
Tampilan grafik antar kelas akan seperti yang ditunjukkan pada gambar 4.18 di bawah ini
Gambar 4.18. Menu Tingkatan Antar Kelas 4.2.3.1.7. Menu Angkatan
Menu Angkatan ini mengakses table history dan Mengikuti yang ada pada database asli. Dalam hal untuk mempermudah join table maka penulis menggunakan
(77)
view untuk menyajikan data Kedatangan pada user, baik user Wali murid, Wali Kelas dan Kepala sekolah, digunakan query berikut:
case "tampil": if($_SESSION[level_user]!='kasek') header('location:?module=home'); else { $total_hari1=mysql_num_rows(mysql_query("select distinct tanggal_absen from absensi, kelas
where absensi.kode_kelas=kelas.kode_kelas and tahun_ajaran='$_POST[ta1]'
and absensi.tanggal_absen between '$_POST[date1]' and '$_POST[date2]'"));
$total_hari2=mysql_num_rows(mysql_query("select distinct tanggal_absen from absensi, kelas
where absensi.kode_kelas=kelas.kode_kelas and tahun_ajaran='$_POST[ta2]'
and absensi.tanggal_absen between '$_POST[date1]' and '$_POST[date2]'")); $_SESSION[xy_kasek_angkatan_ta1]=$_POST[ta1]; $_SESSION[xy_kasek_angkatan_ta2]=$_POST[ta2]; $_SESSION[xy_kasek_angkatan_date1]=$_POST[date1]; $_SESSION[xy_kasek_angkatan_date2]=$_POST[date2]; $_SESSION[xy_kasek_angkatan_total1]=$total_hari1; $_SESSION[xy_kasek_angkatan_total2]=$total_hari2; echo
Tampilan grafik antar kelas akan seperti yang ditunjukkan pada gambar 4.22. di bawah ini
(78)
65
PENGUJIAN SISTEM
Pada bab ini akan dijelaskan tentang ujicoba dan evaluasi program yang menerangkan bagaimana jalannya program dengan kemungkinan langkah-langkah yang dilakukan admin maupun wali murid. Proses-proses yang ada pada aplikasi online dengan menggunakan sidik jari ini akan dijelaskan secara detail.
Pada pembuatan Sistem aplikasi ini untuk membatu wali murid dan kepala sekolah memonitoring kegiatan siswa di sekolah. ini dilakukan ujicoba pada masing-masing menu dan command yang ada. Ujicoba ini dilakukan untuk mengetahui bagaimana proses jalannya sistem dalam menangani permasalahan dengan diagnosa yang diberikan berdasarkan analisa terhadap permasalahan tersebut. Proses ujicoba pada masing-masing menu tersebut adalah:
5.1. Halaman Interface
Halaman Interface merupakan tampilan halaman yang pertama kali di akses, dan halaman ini dibagi menjadi dua yaitu Halaman login di peruntukkan user (wali murid ,wali kelas dan kepala sekolah) dan form regestrasi dan absensi berupa aplikasi desktop serta halaman Absensi hanya berhak diakses oleh admin sebagai user dalam aplikasi ini, karena kedua menu ini pintu masuk pada Menu absensi .
5.1.1.Berbasis Desktop
Pada sub bab implementasi aplikasi desktop ini dengan menggunakan desain antarmuka menjelaskan form apa saja yang terlibat dalam aplikasi tersebut yang menampilkan beberapa aplikasi form yaitu :
(79)
5.1.1.1. Form Tampilan Halaman Depan
Pada form tampilan utama didesain sedemikian rupa sehingga menjadi tampilan utama yang menarik pengguna. Pada halaman utama terdapat terdapat list menu yang dapat digunakan yaitu menu absensi dan Registrasi dilihat pada Gambar 5.1.
Gambar 5.1. Form Halaman Utama
5.1.1.2Form Tampilan Regestrasi
Pada Form Regestrasi ada tiga tahapan yaitu dengan mengetikan NIS ( no. Induk siswa) kemudian verifikasi data siwa setelah itu melakukan proses regestrasi. seperti Gambar 5.2. no.induk siswa, gambar 5.3. verifikasi data
(80)
Gambar 5.3. Form verifikasi data siswa
Setelah mengetikan NIS maka akan tampil form Verifikasi data siwa dimana form ini sifatnya hanya menampilkan saja tanpa adanya inputan. Setelah itu melakukan proses registrasi sidik jari seperti pada gambar 5.4. proses regestrasi
(81)
Proses diatas hanya bisa dilakukan hanya pada jari yang sama apabila beda maka akan muncul tampilan gambar 5.5. sebagai berikut
Gambar 5.5. Form Proses Regestrasi salah
5.1.1.3. Form Tampilan Absensi
Pada melakukan absensi proses yang dilakukan Hanya menggunakan jari yang telah di regestrasi.jika berhasil maka akan muncul tampilan seperti yang ada di gambar 5.6 sebagai berikut
(82)
Apabila anda belum teregestrasi maka data yang terisikan kosong dan anda tidak dapat absensi seperti yang ada di gambar 5.7
Gambar 5.7. Form Proses Absensi yang belum regestrasi
5.2.1. Berbasis Website
Penggunaan sarana website sebagai antar muka sistem dikarenakan sistem penyajian data ini ditujukan untuk menjadi website utama Absensi SMA Ulul Alb@b. Website ini terdiri atas dua halaman yaitu Halaman User, Halaman Administrator. Halaman User adalah halaman yang pertama kali diakses oleh pengunjung website yang merupakan inti dari sistem penyajian data ini. Sedangkan Halaman Administrator adalah halaman bagi administrator website untuk mengelola content website. Halaman Administrator diakses melalui back-end.
5.2.1.1. Halaman Utama
Halaman Utama ini ada 3 user memiliki tampilan seperti yang ditunjukkan pada Gambar 5.8. 5.9. dan 5.10 berikut ini.
(83)
Gambar 5.8 Login Orang Tua
(1)
75
Menuju ketampilan menu ke enam yaitu grafik antar tingkatan kelas yang akan ditunjukan seperti pada gambar 5.17 :
Gambar 5.17 Kehadiran Antar Tingkatan Kelas
Di dalam grafik ini terdapat menu driildon dimana kepala sekolah bisa menganalisa grafik di atas semisal bila di klik dari salah satu grafik di atas maka akan menuju grafik kelas, setelah dari grafik kelas kalu di klik dari salah satu grafiknya lagi maka langsung menuju ke grafik kehadiran siswa. Grafik tingkatan yang saya contohkan di atas yaitu tingkatan antara kelas satu dengan kelas dua dalam tahun ajaran yang sama yaitu tahun 2010 – 2011.
Menu ke tujuh yaitu grafik angkatan dan antar kelas ini sama halnya grafik di atas memiliki meni driildon, dimana kepala sekolah bisa membandingkan dari setiap tahun mengalami peningkatan dalam hal kehadiran atau tidak. Berikut gambar grafik angkatan kelas 2010 – 2011 seperti gambar 5.18 :
(2)
76
Gambar 5.18 Grafik Kehadiran Antar Angkatan
Di dalam grafik ini terdapat menu driildon dimana kepala sekolah bisa menganalisa grafik di atas semisal bila di klik dari salah satu grafik di atas maka akan menuju grafik kelas, setelah dari grafik kelas kalu di klik dari salah satu grafiknya lagi maka langsung menuju ke grafik kehadiran siswa.
5.2.1.2. Halaman Administrator Website
Halaman Administrator website diakses melalui back-end begitu juga yang SMS Akademik seperti yang terlihat pada Gambar 5.19 berikut :
(3)
77
Gambar 5.19 Back-end Administrator
Apabila Administrator tidak berhasil melakukan login, maka seperti pada gambar 5.3 dan melakukan login ulang. Jika administrator berhasil melewati proses Login ini, maka dia akan diarahkan pada Halaman Administrator yang berfungsi sebagai sarana pengelolaan konten website, terutama konten yang disajikan pada user yang terigistrasi. Hal itu ditunjukkan dengan menu-menu yang tersedia bagi administrator, seperti yang terlihat pada Gambar 5.20.
(4)
78
BAB VI
KESIMPULAN DAN SARAN
6.1 Kesimpulan
Kesimpulan yang dapat diambil dengan dibangunnya perangkat lunak Aplikasi Pencatatan Kehadiran siswa Menggunakan Sidik Jari bebbasis online, maka dapat ditarik kesimpulan mengenai beberapa hal dalam penulisan laporan tugas akhir sebagai berikut :
a. Aplikasi pencatatan kehadiran menggunakan sidik jari bisa meningkatkan keakuratan data kehadiran siswa
b. Aplikasi ini bisa menghilangkan manipulasi data kehadiran siswa
c. Waktu yang dibutuhkan siswa melakukan absensi dengan menggunakan aplikasi pencatatan kehadiran menggunakan sidik jari lebih cepat daripada menggunakan pencatatan kehadiran secara manual
6.2 Saran
Dari laporan tugas akhir pembuatan aplikasi Online dengan menggunakan sensor sidik jari ini dapat dikemukan saran yang diharapkan mampu memperbaiki aplikasi ini untuk ke depannya.
a. Perbaikan hak akses internal antara top management dan administrator Sehingga tugasnya dapat dibedakan.
b. Aplikasi ini dapat dikembangkan dengan menggunakan sensor yang lebih bagus untuk meningkatkan toleransi inputan sidik jari pada sensor
(5)
79
DAFTAR PUSTAKA
Mayhew, Deborah J. Principles and Guidelines in Software User Interface Design, Prentice Hall, United States of America, 1992
Jain,Anil., and Ross, Arun., and Prabhakar, Salil. Fingerprint matching using minutiae and texture features,Michigan State University, 2001
Pressman, Roger S. Software Engineering a Practitional’s Approach, McGraw Hill, New York America, 2001
Budiharto, Widodo., Aplikasi Databse dengan SQL Server 2000 dan Visual Basic 6, Elex Media Komputindo, 2002
Dwi Prasetyo, Didik. Aplikasi Database Client/Server menggunakan Delphi dan MySQL, Elex Media Komputindo, 2003
Santoso, Harip. Pemrograman Client-Server menggunakan SQL Server 2000 dan Visual Basic 6.0,Elex Media Komputindo, 2004
R. Blahut, T. Secure Middleware for Infrastructure Systems, University of Illinois, 2004 Charles Clancy, T. Secure SmartcardBased Fingerprint Aunthentication, University of
Maryland, College Park
Tjiptono, fandy. 2006. Pemasaran jasa. Bayumedia, malang.
Alma, Buchari. 2003. Pemasaran stratejik jasa pendidikan. Atlfabeta, bandung. Hakim, lukmanul. 2008. Membongkar trik rahasia para master php. Lokomedia,
Yogyakarta.
Hakim, lukmanul. 2009.Trik rahasia master php terbongkar lagi. Lokomedia, Yogyakarta.
(6)
80
Jain,Anil., and Ross, Arun., and Prabhakar, Salil. Fingerprint matching using minutiae
and texture features,Michigan State University, 2001
Teguh, Salman Pemanfaatan MIME Base64 Untuk Menyembunyikan Source Code PHP.
Tugas Akhir.[Oktober 2009].
Elearning ITB, Aplikasi database dengan PHP dan Mysql, (Online),
http://students.ee.itb.ac.id/~s_man/files/TAppab.pdf. [diakses Oktober 2010].
Aditus Consulting, 2009, “JpGraph – PHP Graph Creating Library”, (Online),
http://www.aditus.nu/jpgraph/index.php/, [diakses Oktober 2010].
Ilmu Komputer, (Online), http://www.ilmukomputer.com//2003/Anon%20Kuncoro%20Widigno.
[diakses November 2009].
http://www.ravirajtech.com/biometrics_fingerprint_technology.html
http://www.cim.mcgill.ca/~vleves/homepage/research/taxel/image_acq/acq.htm