(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
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
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,
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.
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.
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
iii LEMBAR PENGESAHAN SKRIPSI
LEMBAR PENGESAHAN DAN PERSETUJUAN
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
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
vii
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
viii
Gambar 3.18 Desain Halaman Grafik Kehadiran Antar Angkatan ... 34
Gambar 3.19 Desain Halaman Administrator ... 35
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
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
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.
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 :
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.
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
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
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
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
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
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
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
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].
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
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
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
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
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>
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
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.
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
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
Gambar 3.2 DFD Level 1
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
3.1.1.4. DFD Level 2 User Wali Kelas
Gambar 3.4 Level 2 User Wali Kelas
3.1.1.5. DFD Level 2 User Kepala Sekolah
Gambar 3.5 Level 2 User Kepala Sekolah
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 )
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
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.
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
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
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.
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.
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.
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.
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
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
Tabel 3.4. Desain Tabel History Kelas
Tabel 3.5. Desain Tabel History Wali
Tabel 3.6. Desain Tabel Kelas
Tabel 3.8. Desain Tabel submenu User
Tabel 3.9. Desain Tabel Admin
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
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
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
' 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
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 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" Command1.Enabled = False
If Text1.Text = "" Then MsgBox "ID can not empty" Else
Registration.FPRegistration Text1.Text, GetFingerNumber(Combo1.Text)
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"
Combo1.Text = "Left Pinkie" picSample(0) = Nothing Command1.Enabled = True Command2.Enabled = False End Sub
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
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.
<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"
<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>
<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
$cari_username=mysql_query("SELECT * FROM user WHERE kode_user='$username'");
$ketemu_username=mysql_num_rows($cari_username); if($ketemu_username>0)
$password=md5(anti_injection($_POST[password])); $verifikasi=mysql_query("SELECT * FROM user WHERE kode_user='$username' AND password_user='$password'");
$_SESSION[session_user] =$id_session;
mysql_query("UPDATE user SET session_user='$id_session' WHERE kode_user='$r[kode_user]'");
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
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.
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
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
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
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
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
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": 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 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
$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
'$_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
$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.
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": 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 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. 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
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]'"));
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]'"));
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
$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]'"));
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
view untuk menyajikan data Kedatangan pada user, baik user Wali murid, Wali Kelas
dan Kepala sekolah, digunakan query berikut:
case "tampil": 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]'"));
Tampilan grafik antar kelas akan seperti yang ditunjukkan pada gambar 4.22. di bawah
ini
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
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
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
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
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
Gambar 5.8 Login Orang Tua
Gambar 5.10 Login Kepala Sekolah
Apabila berhasil melakukan login baik dari orang tua, guru dan kepala
sekolah maka akan muncul tampilan seperti yang ada pada gambar 5.11 :
Ini adalah tampilan utama setelah login, berikut yang saya contohkan
adalah menu tampilan dari kepala sekolah. Karena menunya lengkap dan yang
membuatnya beda dari menu user orang tua dan wali kelas. Berikut ini saya akan
memberikan tampilan dari setiap menu – menu yang ada. Menu pertama yaitu
menu absensi yang saya contohkan adalah nis 00001 berikut tampilannya seperti
gambar 5.12 :
Gambar 5.12 Data Absensi
Pada gambar di atas nama siswa Dimas Kharesa itu absensinya
menunjukkan keterangan Terlambat.
Berikut ini adalah tampilan menu kedua yaitu grafik kehadiran siswa
Gambar 5.13. grafik kehadiran siswa
Menuju ketampilan menu ketiga yaitu grafik kedatangan siswa yang akan
ditunjukan seperti pada gambar 5.14.
Tampilan ke empat yaitu grafik kehadiran kelas yang akan ditunjukan
seperti pada gambar 5.15 :
Gambar 5.15 Kehadiran Kelas
Menuju ketampilan menu ke lima yaitu grafik kehadiran antar kelas yang
akan ditunjukan seperti pada gambar 5.16 :
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 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