teknik monitoring kehadiran mahasiswa dalam perkuliahan ... · absensi dan tidak lagi menggunakan...
TRANSCRIPT
Teknik Monitoring Kehadiran Mahasiswa Dalam
Perkuliahan dengan Fingerprint di FTI UKSW Berbasis
Website dengan Framework Codeigniter
Artikel Ilmiah
Peneliti:
Michael Tedja Iskandar (672015079)
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
April 2019
1
Teknik Monitoring Kehadiran Mahasiswa Dalam
Perkuliahan dengan Fingerprint di FTI UKSW Berbasis
Website dengan Framework Codeigniter
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti:
Michael Tedja Iskandar (672015079)
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
April 2019
6
Pernyataan
Artikel ilmiah berikut ini :
Judul : Teknik Monitoring Kehadiran Mahasiswa Dalam Perkuliahan dengan
Fingerprint di FTI UKSW Berbasis Website dengan Framework
Codeigniter
Pembimbing : Prof. Dr. Ir. Eko Sediyono, M.Kom.
Adalah benar hasil karya saya :
Nama : Michael Tedja Iskandar
NIM : 672015079
Saya menyatakan tidak mengambil sebagian atau seluruhnya dari hasil karya orang lain kecuali
sebagaimana yang tertulis pada daftar pustaka.
Pernyataan ini dibuat dengan sebenar - benarnya sesuai dengan ketentuan yang berlaku dalam
penulisan karya ilmiah.
Salatiga, 5 April 2019
7
Michael Tedja Iskandar
1. Pendahuluan
Pendidikan di Indonesia dalam perkembangannya selama ini oleh sebagian para ahli
masih dirasa kurang. Kurangnya kompetensi yang dimiliki oleh lulusan, pada akhirnya akan
mengakibatkan membengkaknya angka pengangguran terdidik. Kurang terpakainya tenaga kerja terdidik baik di sector formal maupun nonformal bisa berakibat terhadap kehidupan
sosial. Belum lagi ditambah dengan bertambahnya kepadatan penduduk di Indonesia
menjadikan masalah ini menjadi semakin kompleks [1]. Perbaikan pendidikan melalui penjaminan dan peningkatan mutu pendidikan
merupakan tanggung jawab seluruh satuan pendidikan yang harus didukung oleh pemerintah
daerah provinsi dan pemerintah kabupaten/kota sesuai dengan kewenangan masing-masing
juga peran serta masyarakat. Pada tingkat pemerintah dilaksanakan oleh Kementrian Pendidikan dan Kebudayaan, Kementrian Agama, Kementrian Dalam Negeri serta instansi
terkait lainnya.
Implementasi penjaminan mutu pendidikan hingga saat ini masih menghadapi berbagai macam permasalahan antara lain: (1) belum tersosialisasinya secara utuh Standar
Pendidikan Nasional sebagai acuan mutu pendidikan, (2) pelaksanaan penjaminan dan
peningkatan mutu pendidikan masih terbatas pada pemantauan komponen mutu di satuan
pendidikan, (3) pemetaan mutu masih dalam bentuk pendataan pencapaian mutu pendidikan yang belum terpadu dari berbagai penyelenggara pendidikan, dan (4) tindak lanjut hasil
pendataan mutu pendidikan yang belum terkoordinasi dari para penyelenggara dan pelaksana
pendidikan pada berbagai tingkatan [2]. Absensi adalah salah satu implementasi dari penjaminan mutu Pendidikan. Absensi
dapat dikatakan suatu pendataan kehadiran yang merupakan bagian dari aktifitas pelaporan
yang ada dalam sebuah institusi. Absensi disusun dan diatur sehingga mudah untuk dicari dan dipergunakan ketika diperlukan oleh pihak yang berkepentingan. Absensi pada umumnya
memiliki dua cara penggunaannya. Yang pertama yaitu absensi dengan cara manual. Absensi
dengan cara ini merupakan pendataan kehadiran dengan cara menandatangani lembar absen.
Yang kedua yaitu absensi dengan cara non manual. Absensi dengan cara ini merupakan pendataan kehadiran dengan cara yang terkomputerisasi, bisa menggunakan RFID atau
fingerprint.
Absensi di Fakultas Teknologi Informasi Universitas Kristen Satya Wacana (FTI UKSW) digunakan sebagai tolak ukur dalam kelulusan suatu matakuliah. Absensi yang
diperlukan sebagai syarat kelulusan yaitu maksimal tiga kali tidak absen. Selain itu absensi di
FTI UKSW masih menggunakan cara manual. Oleh karena itu sulit bagi pihak yang berkepentingan untuk mengambil data absensi.
Karena yang digunakan adalah absensi dengan cara manual hal itu memungkinkan
mahasiswa untuk menitipkan absennya dengan cara meminta tolong temannya
menandatangani lembar absen tersebut. Solusi dari masalah tersebut bisa diatasi dengan adanya teknik monitoring kehadiran yang berbasis website yang menjadi wadah dari seluruh proses
absensi dan tidak lagi menggunakan sistem yang manual sehingga meminimalisir terjadinya
kecurangan yang dilakukan oleh mahasiswa. Berdasarkan latar belakang masalah yang dikemukakan diatas, maka rumusan
masalah yang dapat diambil adalah bagaimana merancang dan mengimplementasikan teknik
8
monitoring kehadiran dengan framework Codeigniter berdasarkan sistem absen yang sudah
ada. Tujuan dari penelitian ini adalah menghasilkan suatu sistem yang mampu
mengimplementasikan teknik monitoring kehadiran yang masih menggunakan tanda tangan
dari mahasiswa ke dalam bentuk komputerisasi, tujuan lainnya adalah untuk memanajemen
sistem absen yang lebih menyeluruh meliputi absen dosen, absen mahasiswa, materi belajar mengajar, serta hasil kegiatan belajar mengajar selama satu semester.
2. Tinjauan Pustaka
Dalam Penelitian salah satu Universitas di Jakarta dengan menggunakan sistem
absensi berbasi RFID. Diperoleh hasil bahwa dosen akan membawa suatu alat absesni kedalam
kelas dan alat tersebut berfungsi untuk membaca kartu RFID yang dimiliki setiap mahasiswa. Ketika seluruh mahasiswa telah melakukan absensi maka dosen bisa mematikan alat tersebut.
Dan jika ada mahasiswa yang melewati batas keterlambatan yang ditentukan maka mahasiswa
tersebut tidak bisa melakukan absen. Alat tersebut dihubungkan ke dalam jaringan komputer yang sudah ada untuk mengambil datanya. Tetapi sistem ini bisa mengakibatkan mahasiswa
menitipkan kartu RFIDnya ke temannya [3].
Dalam penelitian lain di Universitas di Surabaya dengan menggunakan sistem absensi berbasis fingerprint. Diperoleh hasil bahwa ketika akan dimulai kelas mahasiswa harus
absen dengan fingerprint yang tersedia. Dengan fingerprint selain lebih murah dibandingkan
dengan modul RFID fingerprint juga meminimalisir kecurangan dalam absen. Perangkat yang
digunakan yaitu VF30. Namun belum maksimal penerapanya karena belum memiliki aplikasi yang mengelola fingerprint tersebut [4].
Dalam Penelitian lain di Sekolah Menengah Atas Manado dengan menggunakan
sistem absensi berbasis fingerprint. Diperoleh hasil bahwa dilakukan absensi pada pagi dan siang hari. Mesin ini mengirimkan data sidik jari ke sebuah PC yang sudah memiliki jaringan
dengan mesin fingerprint. Mesin yang digunakan untuk mendeteksi sidik jari juga bukan mesin
yang tergolong baik sehingga keakuratan masih kurang [5]. Berdasarkan penelitian yang sudah ada, maka akan dilakukan penelitian yang
membahas “Teknik Monitoring Mahasiswa dengan Fingerprint di FTI UKSW Berbasis
Website dengan Framework Codeigniter. Dalam aplikasi ini akan bersifat real time jadi begitu
ada yang absen maka otomatis akan masuk ke database dan akan dilakukan penghapusan di log absen pada msein sehingga mesin jadi bersih tanpa log dan tanpa harus menghapus secara
manual pada alat.
Adapun teknologi – teknologi yang dimanfaatkan dalam pembangunan aplikasi monitoring kehadiran untuk memudahkan dalam hal operasional sistem. Apikasi ini dibangun
menggunakan framework Codeigniter dengan Boostrap sebagai front-end, library ZK dan
TAD, jQuery dan Ajax sebagai middle-end dan PHP sebagai back-end web. Dalam
pembangunan sistem digunakan library JQuery Responsive Data Tables sebagai tampilan tabel yang responsive.
Framework Codeigniter adalah kerangka kerja PHP yang kuat dengan tapak yang
sangat kecil, dibangun untuk pengembang yang membutuhkan toolkit sederhana dan elegan untuk membuat aplikasi web berfitur lengkap. Framework Codeigniter merupakan aplikasi
opensource yang berupa framework dengan bahasa pemrograman PHP dengan model MVC
(Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP. Codeigniter memudahkan developer untuk membuat aplikasi web dengan cepat mudah
dibandingkan dengan membuatnya dari awal. [6].
9
Fingerprinting adalah salah satu bentuk biometrik, sebuah ilmu yang menggunakan
karakteristik fisik penduduk untuk mengidentifikasi. Sidik jari sangat ideal untuk tujuan ini karena mereka murah untuk mengumpulkan dan menganalisis dan mereka tidak pernah
berubah, bahkan dengan umur orang [7].
PHP atau Hypertext Preprocessor pertama kali diciptakan oleh seorang kebangsaan
denmark bernama Rasmus Lerdorf pada 1995. PHP merupakan bahasa berbentuk script yang ditempatkan dalam server dan dieksekusi didalam server untuk selanjutnya ditransfer dan
dibaca oleh client. Untuk itu, dalam mengeksekusi PHP dibutuhkan web server. Beberapa web
server yaitu WampServer, Apache, dan Xampp [8]. MySQL merupakan salah satu database yang sering digunakan. MySQL di ciptakan
oleh perusahaan MySQL AB di Swedia. Nama-nama yang berjasa dalam menciptakan MySQL
adalah David Axmark, Allan Larsson, dan Michael “Monty” Widenius. Database ini tersebar
luas secara gratis karena memiliki lisensi GNU (General Public License). Selain itu juga, MySQL dapat disinkronisasi dengan beberapa bahasa pemrograman seperti PHP, Jaca, C++,
C#, Python, dan Ruby [8].
Library JQuery Data Tables berfungsi untuk menghasilkan tabel data yang dinamis, dimana data dapat langsung di urutkan berdasarkan kolom, selain itu dengan Data Tables juga
menyediakan formulir pencarian yang langsung mencari data dari semua kolom yang tampil
tanpa perlu melakukan query dari database terlebih dahulu [9].
3. Metodologi Penelitian
Penelitian ini dilakukkan dan diselesaikan melalui 5 tahapan penelitian yaitu: (a) Analisis kebutuhan dan pengumpulan data. (b) Perancangan sistem. (c) Perancangan aplikasi /
program. (d) Implementasi dan pengujian sistem serta analisis hasil pengujian. (e) Penulisan
laporan hasil penelitian [10]. Tahapan-tahapan penelitian ini dapat dilihat pada gambar 1.
Gambar 1 Tahapan Penelitian [11]
Berdasarkan pada Gambar 1 dapat dijelaskan bahwa data diperoleh dari wawancara
dengan Profesor Eko sebagai koordinator penjaminan mutu FTI UKSW tentang aplikasi yang akan dibuat serta menjelaskan proses dari kehadiran dosen dan mahasiswa dalam perkuliahan.
Berdasarkan hasil wawancara dengan Profesor Eko peneliti mendapatkan alur proses bisnis
yang dilakukan oleh dosen dan mahasiswa serta masalah-masalah yang ada di dalam
10
monitoring kehadiran. Proses monitoring kehadiran menurut wawancara dimulai dengan dosen
melakukan tapping / absen di bagian tata usaha untuk mendaftarkan sidik jarinya yang kemudian akan dipakai dalam absensi di tiap kelas. Lalu data absen tersebut akan masuk ke
sebuah server. Kemudian dari data yang ada di server terdapat Rencana Pembelajaran
Semester (RPS) dari tiap matakuliah yang nantinya akan diajarkan ke mahasiswa. Dan di server
terdapat absensi untuk dosen dan mahasiswa. Kemudian dari data tersebut yang nantinya akan digunakan untuk absen dosen dan mahasiswa pada jam kelas tertentu.
Tahap kedua dilakukan desain perancangan sistem berdasarkan hasil analisis
kebutuhan menggunakan UML (Unified Modelling Language) yang terdiri dari use case diagram, activity diagram, dan sequence diagram. UML merupakan sebuah standar
perancangan, visualisasi dan mendokumentasikan suatu sistem perangkat lunak. UML dapat
digunakan untuk pemodelan pada semua jenis aplikasi piranti lunak, dimana aplikasi tersebut
dapat berjalan pada piranti keras, dalam jaringan dan sistem operasi apapun, serta dapat ditulis
dalam bahasa pemrograman apapun [12].
Gambar 2 Flowchart Teknik Monitoring Kehadiran Mahasiswa
Tahap ketiga adalah perancangan aplikasi / program, yaitu merancang aplikasi sesuai dengan kebutuhan sistem berdasarkan perancangan yang sudah dilakukan. Bahasa
pemrograman yang dipakai adalah PHP dengan menggunakan framework Codeigniter,
database MySQL serta Bootstrap. Tahap keempat adalah implementasi dan pengujian sistem serta analisis hasil
pengujian.
Tahap kelima adalah penulisan laporan hasil penelitian. Tahap ini dilakukan dokumentasi dalam bentuk artikel ilmiah Metode perancangan sistem yang digunakan didalam
pembangunan aplikasi ini adalah Prototype. Metode Prototype merupakan metode
pengembangan sistem yang dilakukkan secara iteratif dengan mementingkan kebutuhan client.
Tahap-tahap yang dilakukkan pada metode prototype ditunjukkan pada Gambar 3.
11
Gambar 3 Metode Prototype [13].
Seperti terlihat pada Gambar 3, tahapan dalam metode Prototyping adalah listen to
customer, bulid/revise mock-up, dan customer test-drives mock-up. Tahap pertama adalah
listen to customer, yaitu mengetahui informasi mengenai kebutuhan pengguna untuk
diimplementasikan dalam sistem. Informasi yang telah didapatkan kemudian dianalisa dan diterjemahkan ke dalam sistem. Pada tahap ini data yang didapat berasal dari client dibagian
produksi. Tahap kedua di dalam model Prototyping adalah build/revise mock-up. Pada tahap
ini perancangan dilakukan secara cepat dan mewakili semua aspek software yang diketahui. Rancangan tersebut menjadi dasar pembutatan prototype. Tahap ketiga adalah customer test-
drives mock-up. Pada tahap ini client mengevaluasi prototype yang telah dibuat. Semua proses
tersebut terus diulang hingga aplikasi yang dirancang sesuai dengan permintaan.
Gambar 4 Arsitektur aplikasi Teknik Monitoring.
Gambar 4 ini menjelaskan secara detail mengenai arsitektur aplikasi teknik
monitoring. Komputer server berperan untuk menghubungkan antara client dan database
server. Data akan dikirim dari alat fingerprint yang ada di setiap kelas ke komputer server dan
nantinya lewat aplikasi akan dimasukkan ke database. Data fingerprint nanti akan di validasi apakah yang di aplikasi uid sama dengan yang di alat fingerprint kemudian nanti setelah sama
maka akan dilakukan absensi. Ketika absen, maka di aplikasi akan di cek apakah statusnya
dosen atau mahasiswa. Baru kemudian data akan masuk database jika dosen absen terlebih dahulu.
12
Gambar 5 Use Case Diagram aplikasi Monitoring Kehadiran.
Gambar 5 merupakan use case diagram dari aplikasi monitoring kehadiran. Aplikasi
tersebut memiliki 3 aktor yaitu dosen, mahasiswa dan admin. Admin memiliki hak untuk
mengelola absen, mengelola data dosen, mengelola data mahasiswa, mengelola data RPS.
Sedangkan untuk dosen bisa input dan view data RPS, bisa edit, input dan view data absen. Sedangkan untuk mahasiswa hanya bisa input dan view data absen.
13
Gambar 6 Activity Diagram Admin aplikasi Monitoring Kehadiran.
Pada Gambar 6 menjelaskan bahwa admin harus telebih dahulu melakukan login.
Apabila berhasil login maka sistem akan menampilkan menu yang terdiri atas Dashboard, Data
Dosen, Data Mahasiswa, Data Matakuliah, Data Kelas, Data Ruangan, Data RPS dan Data
Absensi. Jika admin memilih salah satu dari menu diatas, maka sistem akan mengirimkan request data ke database. Kemudian setelah database menerima request data maka akan
ditampilkan di sistem. Dalam menu utama terdapat logout yang digunakan untuk destroy
session dari admin dan membuatnya keluar dan kembali ke halaman login.
14
Gambar 7 Activity Diagram Dosen aplikasi Monitoring Kehadiran.
Pada Gambar 7 menjelaskan bahwa dosen harus telebih dahulu melakukan login.
Apabila berhasil login maka sistem akan menampilkan menu yang terdiri atas Dashboard, data kelas, data rps dan data Absensi. Jika dosen memilih salah satu dari menu diatas, maka sistem
akan mengirimkan request data ke database. Kemudian setelah database menerima request data
maka akan ditampilkan di sistem. Dalam menu utama terdapat logout yang digunakan untuk
destroy session dari mahasiswa dan membuatnya keluar dan kembali ke halaman login.
15
Gambar 8 Activity Diagram Mahasiswa aplikasi Monitoring Kehadiran.
Pada Gambar 8 menjelaskan bahwa mahasiswa harus telebih dahulu melakukan
login. Apabila berhasil login maka sistem akan menampilkan menu yang terdiri atas Dashboard
dan Data Absensi. Jika mahasiswa memilih salah satu dari menu diatas, maka sistem akan
mengirimkan request data ke database. Kemudian setelah database menerima request data maka akan ditampilkan di sistem. Dalam menu utama terdapat logout yang digunakan untuk
destroy session dari mahasiswa dan membuatnya keluar dan kembali ke halaman login.
Gambar 9 Sequence Diagram Input aplikasi Monitoring Kehadiran.
Pada Gambar 9 menjelaskan bahwa user melakukan request input data pada halaman
view_form_request, selanjutnya request akan dikirimkan ke controller yang kemudian
meneruskannya lagi ke model hingga sampai database. Kemudian database memberi respon
16
balik yang dikirim lewat model kemudian lewat controller kemudian data ditampilkan di
view_form_request sesuai dengan respon yang diberikan dari database ke model dan ke controller.
Gambar 10 Sequence Diagram Menu aplikasi Monitoring Kehadiran.
Pada Gambar 10 menjelaskan bahwa user melakukan request menudata pada
halaman view_menu, selanjutnya request akan dikirimkan ke controller yang kemudian
meneruskannya lagi ke model hingga sampai database. Kemudian database memberi respon
balik yang dikirim lewat model kemudian lewat controller kemudian data ditampilkan di view_menu sesuai dengan respon yang diberikan dari database ke model dan ke controller.
4. Hasil Dan Pembahasan
Dari sistem yang telah dirancang sebelumnya dilakukan implementasi dan pengujian
aplikasi. Implementasi dan pengujian sistem dilakukan dengan tujuan memastikan apakah hasil perancangan sudah sesuai dengan harapan serta dapat menyelesaikan masalah yang dihadapi.
Gambar 11 Form login aplikasi Monitoring Kehadiran.
17
Gambar 11 merupakan form login aplikasi monitoring kehadiran dengan fitur
multiuser. Pada bagian login aplikasi monitoring kehadiran dilengkapi dengan system keamanan yaitu enkripsi password menggunakan md5. Keamanan ini ditujukan agar setiap
akun tetap aman dan terlindungi dari pembobol.
Gambar 12 Menu Utama Admin.
Pada Gambar 12. Setelah berhasil login sebagai admin maka akan diarahkan ke menu
Dashboard yang berisi konten untuk menambah data fingerprint yang diambil langsung dari
mesin fingerprint. Kemudian untuk admin memiliki hak akses ke data dosen, data mahasiswa,
data matakuliah, data kelas dan juga data mahasiswa di tiap kelas, data ruangan, data rps admin yang berisi rencana pembelajaran semester yang ditentukan oleh admin, dan juga data absensi
dosen dan mahasiswa.
Gambar 13 Menu Utama Dosen.
Kemudian pada Gambar 13. Setelah berhasil login sebagai dosen maka akan diarahkan ke menu Dashboard. Kemudian untuk dosen memiliki hak akses data kelas dan juga
data mahasiswa di tiap kelas, data rps admin yang berisi rencana pembelajaran semester yang
ditentukan oleh admin, dan juga data absensi dosen dan mahasiswa.
18
Gambar 14 Menu Utama Mahasiswa.
.
Kemudian pada Gambar 14 Setelah berhasil login sebagai mahasiswa maka akan
diarahkan ke menu Dashboard. Kemudian untuk mahasiswa hanya memiliki hak akses data
absensi dosen dan mahasiswa.
Gambar 15 Menu data absen dari user Mahasiswa.
Kemudian pada Gambar 15 adalah tampilan data absen dari user mahasiswa.
Kode Program 1 Insert data fingerprint dari alat ke database.
1. function insert_finger(){
2. $this->load->view('zklibrary/zklibrary.php');
3. $zk = new ZKLibrary('192.168.1.101', 4370);
4. $zk->connect();
5. $zk->disableDevice();
6.
7. $users = $zk->getUser();
8.
9. //$this->db->truncate('fingerprint');
10. 11. foreach($users as $key=>$user) 12. { 13. if($user[2] == "0"){
14. $uid = $user[0];
15. $nama = $user[1];
16. $status = 0;
17.
19
18. $sql = "REPLACE INTO fingerprint (uid, nama,
status) VALUES ('$uid', '$nama', '$status')";
19. $this->db->query($sql);
20. }
21. }
22. $url=base_url('home'); 23. redirect($url); 24. }
Kode Program 1 merupakan fungsi untuk menambah data berupa UID dan nama dari
mesin fingerprint dan menambahkan variabel status untuk mengeteahui nantinya UID sudah
terpakai pada dosen atau mahasiswa atau belom.
Kode Program 2 Insert data absensi dari mesin fingerprint dengan ZK library dan TAD library.
1. function ajax_absensi(){
2. $this->load->view('zklibrary/zklibrary.php');
3. $this->load->view('tad/lib/TADFactory.php');
4. $this->load->view('tad/lib/TAD.php');
5. $this->load->view('tad/lib/TADResponse.php');
6. $this->load->view('tad/lib/Providers/TADSoap.php');
7. $this->load->view('tad/lib/Providers/TADZKLib.php');
8. $this->load->view('tad/lib/Exceptions/ConnectionError.php');
9. $this->load->view('tad/lib/Exceptions/FilterArgumentError.php');
10. $this->load->view('tad/lib/Exceptions/UnrecognizedArgument.php'); 11. $this->load->view('tad/lib/Exceptions/UnrecognizedCommand.php'); 12. $arrHari = ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"]; 13. $query = $this->db->query("SELECT * FROM ruangan")->result(); 14. foreach ($query as $ruangan) { 15. $koderuang = $ruangan->kode; 16. $zk = new ZKLibrary($ruangan->ip, $ruangan->port); 17. $zk->connect(); 18. $zk->disableDevice(); 19. $attendance = $zk->getAttendance(); 20. foreach($attendance as $key=>$att) { 21. //$att[1] = 2; 22. //$att[2] = 0; 23. //$att[3] = "2019-04-01 09:10:00"; 24. $tanggal = explode(' ', $att[3])[0]; 25. $jam = explode(' ', $att[3])[1]; 26. $hari = $arrHari[date('w', strtotime($att[3]))]; 27. if($att[2] == 0) { 28. $query = $this->db->query("SELECT * FROM kelas WHERE kode_ruang =
'$koderuang' AND hari = '$hari' AND ('$jam'>=SUBTIME(jam_masuk, '0:5:0') AND
'$jam'<=ADDTIME(jam_masuk, '0:15:0')) LIMIT 1");
29. } else { 30. $query = $this->db->query("SELECT * FROM kelas WHERE kode_ruang =
'$koderuang' AND hari = '$hari' AND ('$jam'>=ADDTIME(jam_masuk, '0:15:0') AND
'$jam'<=ADDTIME(jam_keluar, '0:5:0')) LIMIT 1");
31. } 32. $kelas = $query->row(); 33. if($kelas != null) { 34. $query = $this->db->query("SELECT * FROM mahasiswa WHERE uid = " .
$att[1]);
35. $user = $query->row(); 36. $dosenmhs = "mahasiswa"; 37. if($user == null) { 38. $query = $this->db->query("SELECT * FROM dosen WHERE uid = " .
$att[1]);
39. $user = $query->row(); 40. $dosenmhs = "dosen"; 41. } 42. if($user != null) { 43. if($dosenmhs == "mahasiswa") {
20
44. $query = $this->db->query("SELECT * FROM detail_kelas WHERE
kode_kelas = '" . $kelas->kode . "' AND nim = '" . $user->nim . "'");
45. if($query->num_rows() > 0) { 46. $absensimhs = $this->db->query("SELECT * FROM absen WHERE nip_nim
= '" . $user->nim . "' AND kode_kelas = '" . $kelas->kode . "'")->row_array();
47. if($att[2] == 0) { 48. $absensidosen = $this->db->query("SELECT * FROM absen WHERE
kode_kelas = '" . $kelas->kode . "' AND dosen_mhs = 'Dosen'")->row_array();
49. for($i=1; $i<=14; $i++) { 50. $tanggaldosen = $absensidosen["p".$i."_masuk"]; 51. $tanggaldosen = explode(' ', $tanggaldosen)[0]; 52. if ($tanggaldosen == $tanggal) { 53. if ($absensimhs["p".$i."_masuk"] == "0000-00-00 00:00:00")
{
54. //update database mahasiswa masuk 55. $this->db->query("UPDATE absen SET p".$i."_masuk = '" .
$att[3] . "' WHERE nip_nim = '" . $user->nim . "' AND kode_kelas = '" . $kelas-
>kode . "'");
56. } 57. break; 58. } 59. } 60. } else { 61. for($i=1; $i<=14; $i++) { 62. $tanggalmasuk = $absensimhs["p".$i."_masuk"]; 63. $tanggalmasuk = explode(' ', $tanggalmasuk)[0]; 64. if($tanggalmasuk == $tanggal) { 65. if ($absensimhs["p".$i."_pulang"] == "0000-00-00
00:00:00") {
66. //update database mahasiswa pulang 67. $this->db->query("UPDATE absen SET p".$i."_pulang = '" .
$att[3] . "' WHERE nip_nim = '" . $user->nim . "' AND kode_kelas = '" . $kelas-
>kode . "'");
68. } 69. break; 70. } 71. } 72. } 73. } 74. } else { 75. $absensi = $this->db->query("SELECT * FROM absen WHERE nip_nim =
'" . $user->kode . "' AND kode_kelas = '" . $kelas->kode . "'")->row_array();
76. if($att[2] == 0) { 77. if($absensi["p1_masuk"] == "0000-00-00 00:00:00") { 78. //update database dosen masuk 79. $this->db->query("UPDATE absen SET p1_masuk = '" . $att[3] .
"' WHERE nip_nim = '" . $user->kode . "' AND kode_kelas = '" . $kelas->kode . "'");
80. } else { 81. for($i=2; $i<=14; $i++) { 82. if($absensi["p".$i."_masuk"] == "0000-00-00 00:00:00") { 83. $tanggalsebelum = $absensi["p" . ($i - 1) . "_masuk"]; 84. $tanggalsebelum = explode(' ', $tanggalsebelum)[0]; 85. if($tanggalsebelum != $tanggal) { 86. //update database dosen masuk 87. $this->db->query("UPDATE absen SET p".$i."_masuk = '" .
$att[3] . "' WHERE nip_nim = '" . $user->kode . "' AND kode_kelas = '" . $kelas-
>kode . "'");
88. } 89. break; 90. } 91. } 92. } 93. } else { 94. for($i=1; $i<=14; $i++) { 95. $tanggalmasuk = $absensi["p".$i."_masuk"]; 96. $tanggalmasuk = explode(' ', $tanggalmasuk)[0]; 97. if($tanggalmasuk == $tanggal) { 98. if ($absensi["p".$i."_pulang"] == "0000-00-00 00:00:00") {
21
99. //update database dosen pulang 100. $this->db->query("UPDATE absen SET p".$i."_pulang = '"
. $att[3] . "' WHERE nip_nim = '" . $user->kode . "' AND kode_kelas = '" . $kelas-
>kode . "'");
101. }
102. break;
103. }
104. }
105. }
106. }
107. }
Kode program 2 Adalah fungsi untuk menambah data berupa absen dari mesin
fingerprint. Dengan mengecek data yang diinput dosen atau mahasiswa. Jika Mahasiswa terlebih dahulu absen maka data tidak akan masuk ke database. Tetapi ketika dosen absen
terlebih dahulu kemudian diikuti mahasiswa maka data akan masuk ke database. Dengan
ketentuan bisa absen 5 menit sebelum jadwal kelas masuk dan bisa pulang setelah 15 menit kelas berjalan. Untuk pulang bisa mahasiswa dahulu yang absen. Setelah berhasil absen maka
secara otomatis data log yang ada di mesin akan otomatis dihapus, sehingga data di mesin tidak
penuh dan perlu di backup.
Pengujian aplikasi dilakukan pengujian beta. Yaitu pengujian yang diuji oleh pengguna secara langsung di lokai pengguna akhir untuk memvalidasi kegunaan, fungsi,
kompatibilitas, dan uji reliabilitas dari software yang dibuat.
5. Kesimpulan
Berdasarkan penelitian dan pengujian yang dilakukan dapat disimpulkan bahwa
Teknik Monitoring Kehadiran Mahasiswa Dalam Perkuliahan Dengan Fingerprint di FTI
UKSW Berbasis Website sangat membantu karyawan Tata Usaha dalam mengelola absensi tiap semesternya karena menggunakan sistem dan tidak manual lagi. Serta membuat absensi
lebih akurat tanpa adanya kecurangan yang dilakukan oleh mahasiswa.
Adapun saran yang diperlukan oleh sistem ini adalah melakukan pengembangan
lebih lanjut mengenai perbandingan Rencana Pembelajaran Semester (RPS) agar bisa digunakan sebagai acuan penilaian dosen.
6. Daftar Pustaka
[1] Munjin. 2013. “Sistem Penjaminan Mutu Pendidikan di Madrasah”. Jurnal Dakwah
Dakwah dan Komunikasi. Vol.7. No.2.
[2] Moerdiyanto. 2009. “Strategi Pelaksanaan Sistem Penjaminan Mutu Pendidikan (SPPMP) Oleh Pemerintah Kabupaten / Kota”. Jurnal Informasi UNY, No. 2, XXXV.
[3] Rudy Susanto, A. A. 2017. “Sistem Absensi Berbasis RFID”. Teknik Kopmuter, 67 -
74. [4] Noval Aditya Muhammad, F.S. 2013. “Pembuatan Aplikasi Presensi Perkuliahan
Berbasis Fingerprint”. Jurnal ITS, 465 - 469.
[5] Alfien S. Rintjap, Sherwin R.U.A, Sompie, Oktavian Lantang. 2014. “Aplikasi Absensi Siswa Menggunakan Sidik Jari di Sekolah Menengah Atas Negeri 9 Manado”. Jurnal
Unsrat. Vol.3. No.3.
[6] CodeIgniter, http://www.codeigniter.com, [Accessed 27 September 2018]
[7] Penjelasan Mengenai Fingerprint, Teknologi Yang Sangat Berguna. https://www.archivioguerrapolitica.org/2017/12/23/penjelasan-mengenai-fingerprint-
teknologi-yang-sangat-berguna-bagi-manusia/ [Accessed 4 Oktober 2018]
22
[8] Adelheid, Andrea, & Nst, Khairil. 2012. “Buku Pintar Menguasai PHP MySQL”. Jakarta
: Mediakita. [9] Data Tables, http://www.Data Tables.net, [Accessed 27 September 2018]
[10] Hasibuan, Zainal A. 2007. Metodologi Penelitian Pada Bidang Ilmu Komputer dan
Teknologi Informasi : Konsep, Teknik, dan Aplikasi. Jakarta : Ilmu Komputer
Universitas Indonesia [11] Nugroho, Adi. 2005. Analisis dan Perancangan Sistem Informasi. Bandung:
Informatika.
[12] Sulistyorini, P., 2009. “Pemodelan Visual dengan Menggunakan UML dan Rational Rose,” vol. XIV, no. 1, pp. 23–29.
[13] Pressman, Roger S., 2001, Software Engineering: A Practitioner’s Approach, Amerika
Serikat: R.S. Pressman and Associates.