62
DAFTAR PUSTAKA
Android, 2013 http://www.vogella.com/articles/ AndroidSQLite/article.html
Diakses pada 29 ustus 2014
Falas, T., Kashani, H. 2007. Two-Dimensional Barcode Decoding with Camera
Equipped Mobile Phones. Proceedings of the Fifth Annual IEEE
International
Conference
on
Pervasive
Computing
and
Communications Workshops.
Diakses pada 3 September 2014
Galore Indonesia (2010). Sistem Absensi Elektronik, http://galoreindonesia.com
Diakses pada 25 Agustus 2014
Husodo, A. Y. 2011. Pengembangan Metode Kompresi Arithmetic Coding Hybrid
di Dalam Memampatkan Data Short Message Service (SMS). Laporan
Tugas Akhir. Insititut Teknologi Bandung
Diakses pada 22 Agustus 2014
Indonesia Finance Today (2011). Qr Code dan Android Pada Smartphone di
github http://www.indonesiafinancetoday.com/read/16855/,
Diakses pada 27 Agustus 2014
ITSC. 2008. Section 3: QR Code. Synthesis Journal. Information Technology
Standards
Committee
Singapore.
http://www.itsc.org.sg/pdf/synthesis08/Three_QR_Code.pdf
Diakses pada 30 juli 2014
Lumbantoruan,
S.R
(2011).
Sistem
Absensi
Sidik
Jari,
http://susirohani.com/06/sistim-informasipsikologi-sistim_10.html
Diakses pada 25 Juli 2014
63
Nico
Yan
Bernard
(2012).
android
development
http://www.infoteknologi.com/selular/apa-itu-android/
Diakses Pada 25 Agustus 2014
Nugraha, M. P. 2009. Pengembangan Aplikasi QR Code Generator dan QR Code
Reader dari Data Berbentuk Image, , Tugas Akhir Program Sarjana,
Institut Teknologi Bandung, Bandung.
PC
Magazine.
2011
Definition
of
Smartphone
.
http://www.pcmag.com/encyclopedia_term/
Diakses pada 3 September 2014
Purwanto,
Edy
:Keamanan
Sistem
Informasi,
http://
edipurwanto1988.com/keamanansistem-informasi-absensi.html.
Diakses pada 3 September 2014
Rachmasari,
W.
2001
Fingerprint,
http://worldofzwha.com/2011/22/fingerprint.html
Diakses pada 3 September 2014
TeknoJurnal. 2011. Apa Sistem Operasi Mobile Favorit Pengembang Aplikasi?.
http://www.teknojurnal.com/2011/05/23/apa-sistem-operasimobile-favorit-pengembang-aplikasi/
Diakses pada 12 Agustus 2014
Zxing . 2008. Zebra Crossing (Zxing), Library QR Code Reader for Smartphone
Android http://code.google.com/ p/zxing/
64
65
Lampiran 1
Baris Perintah Pada Form koneksi
<?PHP
SESSION_START();
$host="localhost"; #your host $user="root"; #username $pswd=""; #your password $db="qrcode"; #database name mysql_connect($host, $user, $pswd);
mysql_select_db($db); #memilih database mysqlnya ?>
Lampiran 2 Baris Perintah Pada Form Login
Gambar 6.1 Login Interface Login Admin
a<?php
error_reporting(0);
$host="localhost"; #your host $user="root"; #username $pswd=""; #your password $db="qrcode"; #database name mysql_connect($host, $user, $pswd); mysql_select_db($db);
//include"koneksi.php"; print"daftar mahasiswa
<br><a href='login.html'>Login Admin</a> <br> <table> <tr> <td>no</td><td>nama</td><td>nim</td><td>kelas</td > </tr> "; $no=1;
$tampil =mysql_query("select * from mahasiswa order by id_mahasiswa desc");
while ($lihat=mysql_fetch_array($tampil)) { $id=$lihat['id_mahasiswa']; $nama=$lihat['nama_mahasiswa']; $nim=$lihat['nim_mahasiswa']; $kelas=$lihat['kelas_mahasiswa']; print" <tr> <td>$no</td><td>$nama</td><td>$nim</td><td>$kelas </td><td>
66
</tr> "; $no++; } print" </table> "; ?>Lampiran 3 Baris Perintah Pada Form Index Home Absensi
Gambar 6.2 View Index Home Absensi <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head></head> <body> halaman admin | <a href="?page=tambah_mahasiswa"></a> | <a href="?page=edit_admin"></a> | | <a href="../view.php"></a> | <a href="../login.html"></a> <br></br> daftar mahasiswa <br></br> <br></br> <table></table> </body> </html>
67
Lampiran 4 Baris Perintah Pada Form Edit Data Mahasiswa
Gambar 6.3 Form Edit Data Mahasiswa
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title>
</head> <body> <?php
$tampil =mysql_query("select * from mahasiswa where id_mahasiswa='$_GET[id]'"); $lihat=mysql_fetch_array($tampil);
?>
<form action="aksi_edit.php" method="post" enctype="multipart/form-data"> <input type="text" name="id_mahasiswa" value="<?php echo $lihat['id_mahasiswa'] ?>" /><br><br>
<input type="text" name="nama_mahasiswa" value="<?php echo $lihat['nama_mahasiswa'] ?>" /><br><br>
<input type="text" name="nim_mahasiswa" value="<?php echo $lihat['nim_mahasiswa'] ?>"/><br><br>
<input type="text" name="kelas_mahasiswa" value="<?php echo $lihat['kelas_mahasiswa'] ?>" /><br><br>
<input type="submit" value="SAVE" /> </form>
</body> </html>
68
Lampiran 5
Baris Perintah Pada Form View Absensi Mahasiswa
Gambar 6.4 View Absensi Mahasiswa
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title>
</head> <body>
<form id="form2" name="form2" method="get" action="view.php"> <table width="" border="0" cellspacing="5" cellpadding="5"> <tr>
<td><label>
<select name="k" id="kelas"> <option>D3TI1A</option> <option>D3TI1B</option> <option>D3TI1C</option> <option>D3TI1D</option> <option>D3TI1E</option> <option>D3TI2A</option> <option>D3TI2B</option> <option>D3TI2C</option> <option>D3TI2D</option> <option>D3TI2E</option> <option>D3TI3A</option> <option>D3TI3B</option> <option>D3TI3C</option>
69
<option>D3TI3D</option> <option>D3TI3E</option> <option>D3TI4A</option> <option>D3TI4B</option> <option>D3TI4C</option> <option>D3TI4D</option> <option>D3TI4E</option> <option>D3TI5A</option> <option>D3TI5B</option> <option>D3TI5C</option> <option>D3TI5D</option> <option>D3TI5E</option> <option>D3TI6A</option> <option>D3TI6B</option> <option>D3TI6C</option> <option>D3TI6D</option> <option>D3TI6E</option> </select> </label></td> <td><label> <select name="s"> <option>ARKOM</option> <option>Kalkulus</option> <option>Rangkaian Listrik</option> <option>Fisika Dasar</option> <option>B.Inggris 1</option> <option>B.Indonesia</option> <option>Agama</option> <option>PPKN</option> <option>Sistem Operasi</option> <option>Elektronika Dasar</option> <option>Rangkaian Digital</option> <option>B. Inggris 2</option> <option>ALPRO</option> <option>PSI</option> <option>DPT</option> <option>Basis Data</option> <option>Matematika Diskrit</option> <option>PBO (java)</option> <option>Teknik Pengukuran</option> <option>JARKOM 1</option> <option>A.Mikroprosesor</option> <option>Sistem Konikasi</option> <option>Desain Grafis</option> <option>STTP</option> <option>Struktur Data</option> <option>IMDK</option> <option>PSD</option> <option>JARKOM 2</option> <option>Logika Matematika</option> <option>Metode Numerik</option> <option>Komunikasi Data</option> <option>Pemrograman Web</option> <option>RPL</option> <option>Pengolahan Citra</option> <option>Artifisial Intelijen</option> <option>Riset Teknologi Informasi</option> <option>Admin & Sekuriti Jaringan</option> <option>Jaringan Nirkabel</option> <option>Etika Profesi</option> <option>Manajemen Proyek</option> <option>ERP</option> <option>Multimedia</option> </select> </label></td><td><input name="" type="submit" value="view" /></td> </tr>
</table> </form>
<table width="1086" border="1" cellpadding="0" cellspacing="5"> <tr>
<td width="960"><p align="center"><strong>ABSENSI</strong> <strong>MAHASISWA</strong></p>
70
</td>
<td width="85" rowspan="2"><img src="../polindra.png" width="125" height="118" /></td>
</tr> <tr>
<td><div align="center"><strong>JURUSAN TEKNIK INFORMATIKA - POLINDRA </strong></div></td>
</tr> </table>
<p align="center"> </p>
<table border="1" cellspacing="" cellpadding="" style="float:left"> <tr> <td>no</td> <td>nama</td> <td>nim</td> </tr> <?php $nm=array(); $nim=array(); error_reporting(0);
$host="localhost"; #your host $user="root"; #username $pswd=""; #your password $db="qrcode"; #database name mysql_connect($host, $user, $pswd); mysql_select_db($db);
$n=1;
$kelas=$_GET['k']; $stud=$_GET['s'];
$ck =mysql_query("select * from absensi where stud='$stud'"); while ($abl=mysql_fetch_array($ck)) { $tg[$n]=$abl['waktu']; $nm[$n]=$abl['nim']; $n++; } $no=1;
$tampil =mysql_query("select * from mahasiswa where kelas_mahasiswa='$kelas' order by nim_mahasiswa asc"); while ($lihat=mysql_fetch_array($tampil)) { $id=$lihat['id_mahasiswa']; $nama=$lihat['nama_mahasiswa']; $nim[$no]=$lihat['nim_mahasiswa']; $kelas=$lihat['kelas_mahasiswa']; print " <tr><td>$no</td><td>$nama</td><td>$nim[$no]</td></tr>"; $no++; } ?> </table>
<table border="1" cellspacing="" cellpadding=""> <tr> <?php $i=1; $j=1; $ht=1; while($ht<=$n){ print "<td>$tg[$ht]</td>"; $ht++;
71
} echo "</tr><tr>"; while($i<=$no){ $sen=substr_count($nm[$j],$nim[$i]); echo "<td>".str_replace('1','Hadir',str_replace('0','-',$sen))."</td>"; if($j==$n){ $j=0; $i++; echo "</tr><tr>"; } $j++; } ?> </tr> </table> <p><br />Kelas <? echo $kelas ?> Matkul <?php echo $stud ?> type <? echo $tipe ?> <br />
<a onClick="window.print();return false">print</a ></p> <table cellspacing="0" cellpadding="0">
<tr>
<td height="20" colspan="9" width="360">Ketua Jurusan/Program Studi Teknik Informatika,</td>
</tr> </table> <p> </p> <p> </p>
<table cellspacing="0" cellpadding="0"> <col width="40" span="7" />
<tr height="21">
<td colspan="7" height="21" width="280"><div align="center">A. Sumarudin, S. Pd., MT., M. Sc</div></td> </tr> <tr height="21"> <td height="21"></td> <td></td> <td colspan="3">NIK : 09098630</td> <td></td> <td></td> </tr> </table> <p> </p> </body> </html>
Lampiran 6
Membuat Aplikasi Qr Code Reader (Pembaca Qr Code)
Untuk membuat sebuah Aplikasi absensi menggunakan metode QR Code
berbasis Android dibutuhkan aplikasi Qr Reader (pembaca Qr Code). Untuk
mendapatkan QR code Reader berbasis android dibutuhkan aplikasi pengolah
seperti Eclipse. untuk membuat QR Code reader penulis akan menerangkan
langkah – langkah setting manual Barcode Scanner pada Eclipse. Dalam
Pembuatan aplikasi Qr reader ini penulis tidak membuat Qr reader buatan sendiri
tetapi menggunakan library yang sudah disediakan khusus untuk Barcode oleh
72
eclipse. untuk menggunakan library tersebut dibutuhkan Setting manual dan
membutuhkan beberapa Plugin seperti :
1. cordova-2.7.0 .Jar
2. cordova-2.7.0 .Js
3. xml
4. BarcodeScanner.java
5. Library 2.2.0
File tersebut dapat di download di situs internet dengan gratis. Untuk memulai
membuat program Scanner absensi dapat dilihat dari langkah – langkah berikut :
1. Membuat projek baru di Eclipse langkah pertama adalah Mulai
Eclipse > File > New > Projects… (atau tekan Ctrl+N) > pilih ‘Android
Application Project’
73
Gambar 6.6 Configure Project
74
Gambar 6.8 Membuat Create Activity
Gambar 6.9 Tampilan Utama Project Absensi Qr Code Polindra
2. Setelah Configurasi New projek selesai, kamudian berlanjut untuk configurasi
Memasukan Plugin Dan Library ke dalam projek ini. Pertama menambahkan
folder baru yang disebut www dalam folder aset (aset / www) dan di dalam
75
folder www menambahkan file baru yang disebut index.html (Klik kanan pada
folder aset> New> Folder> Nama Folder: www dan kemudian klik kanan pada
www> New> file> file Name: index.html)
Gambar 6.10 setting assets
3. Berikutnya masukan plugin yang sudah disediakan kedalam Projek. Untuk
susunan letak penempatan plugin sebagai berikut :
a. Copy cordova-2.7.0.jar dan paste ke folder libs dalam proyek Android
b. Salin cordova-2.7.0.js ke folder www dalam proyek Android
c. Salin folder xml ke folder res dalam proyek Android
Gambar 6.11 conigurasi plugin
cordova-2.7.0.js cordova-2.7.0.jar xml
76
4. Kemudian untuk langkah selanjutnya harus menambahkan 'LibraryProject' ke
Eclipse. buka File -> New -> Project -> Android> Android Projects From
Existing Code.
5. Untuk mencari lokasi LibraryProject (yaitu
/phonegap-plugins-
master/Android-Sw/phonegap-plugins-master/Android/BarcodeScanner/2.2.0/LibraryProject).
6. Setelah
selesai
pergi
untuk
membuka
MainActivity.java
(src>
com.mayukh.AplikasiQRCodePolindra> MainActivity.java) dan tambahkan
sintak berikut .
package com.mayukh.AplikasiQRCodePolindra; import org.apache.cordova.DroidGap; import android.os.Bundle;public class MainActivity extends DroidGap {
/** Called when the activity is first created. */ @Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html"); }
}
7.
Tambahkan script berikut ke file AndroidManifest.xml. Perlu ditambahkan di
dalam <aplikasi> </ application> tag.
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package=" com.mayukh.AplikasiQRCodePolindra " android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.RECORD_VIDEO"/> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.READ_CONTACTS" />
77
<uses-permission android:name="android.permission.WRITE_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.BROADCAST_STICKY" /> <activity android:name="org.apache.cordova.DroidGap" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden"> <intent-filter></intent-filter> </activity> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.mayukh.doniprojekandro.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="org.apache.cordova.DroidGap" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden"> <intent-filter></intent-filter> </activity> <!-- ZXing activities --> <activity android:name="com.google.zxing.client.android.CaptureActivity" android:screenOrientation="landscape" android:clearTaskOnLaunch="true" android:configChanges="orientation|keyboardHidden" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden" android:exported="false"> <intent-filter> <action android:name="com.phonegap.plugins.barcodescanner.SCAN"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> <activity android:name="com.google.zxing.client.android.encode.EncodeActivity" android:label="@string/share_name"> <intent-filter> <action android:name="com.phonegap.plugins.barcodescanner.ENCODE"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> <activity android:name="com.google.zxing.client.android.HelpActivity" android:label="@string/share_name"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> </application> </manifest>1. Untuk memanggil fungsi QR Code Scanner dibutuhkan script java plugin
barsode scanner, buka file index.html tambahkan kode berikut
<!DOCTYPE HTML> <html>
78
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" /> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no, width=device-width">
<title>My Barcode/QR Code Scanner</title> <style>
body{
background:#888888 none repeat scroll 0 0; }
input[type='text']{ width:18em;
border:1px solid black; }
input[type='button']{ width:20em;
border:1px solid black; color:#ffffff;
font-family:"Times New Roman",Times,serif; font-size:0.9em;
font-weight:bold; background:#737CA1; }
</style>
<script type="text/javascript" src="cordova-2.7.0.js"></script> <script type="text/javascript" src="barcodescanner.js"></script> <script type="text/javascript">
function scanCode(){
window.plugins.barcodeScanner.scan( function(result){
alert("Scanned Code: " + result.text + ". Format: " + result.format
+ ". Cancelled: " + result.cancelled); },
function(error){
alert("Scan failed: " + error); }
); }
function encodeData(){
var data = document.getElementById("data").value; if (data != ''){
window.plugins.barcodeScanner.encode( BarcodeScanner.Encode.TEXT_TYPE, data, function(success){
alert("Encode success: " + success); },
function(fail){
alert("Encoding failed: " + fail); }
); } else{
alert("Please enter some data."); return false; } } </script> </head> <body>
<h3>Barcode/QR Code Scanner And Encoder</h3>
<input type="button" value="Scan Code" onclick="scanCode();"/><br/><br/>
Data : <br/>
<input type="text" name="data" id="data" /><br/><br/>
<input type="button" value="Encode Data" onclick="encodeData();"/> </body>