i Universitas Kristen Maranatha
Aplikasi Pengambilan Database Mesin Sidik Jari dan Dikirimkan
secara Nirkabel ke Smartphone Berbasis Android 2.2
Peter Septianus
Jurusan Teknik Elektro, Fakultas Teknik Universitas Kristen Maranatha, Bandung
ABSTRAK
Saat ini, teknologi berkembang secara pesat terutama dalam bidang komputer dan telekomunikasi. Smartphone memenuhi kebutuhan akan banyak pengguna dalam setiap aspek terutama dalam menyediakan keanekaragaman aplikasi-aplikasi. Android merupakan sistem operasi yang dirancang secara khusus untuk smartphone yang menyediakan aplikasi secara cuma-cuma, dan juga platform Android itu sendiri memiliki arsitektur terbuka dan open source yang berarti mengizinkan pengguna mengetahui, mengubah, dan mendistribusikan sumber kode untuk aplikasi tersebut.
Aplikasi pengambilan data dari fingerscanner yang dikirimkan secara nirkabel (WiFi 802.11) ke dalam smartphone Galaxy Mini GT-S5570 berbasis Android 2.2(Froyo) guna akan kebutuhan mobilitas yang tinggi. Aplikasi dibagi menjadi dua program dasar. Bagian pertama akan menggunakan aplikasi pemrograman eclipse-java-galileo yang menggunakan bahasa java. Dan bagian kedua akan menangani koneksi nirkabel antara computer dan smartphone yaitu WAMP versi 5.17 dan PostgreSQL versi 8.3.1.1. Komputer akan menerima informasi mengenai sidik jari dari alat pengenal sidik jari dalam bentuk database yang telah di-share sebelumnya; melalui WiFi smartphone akan menerima data actual dan terbaru dalam bentuk database.
Berdasarkan pengujian dan percobaan, aplikasi Android yang dibangun dari eclipse mampu mengelola data mengenai FPID (ID pemilik sidik jari), EMPNM (nama), dan TEMPFINGER (data mengenai gambar sidik jari) walaupun tampak database terlihat berbeda dikarenakan masing-masing sistem operasi mempunyai layout yang berbeda.
ii Universitas Kristen Maranatha
Application of Finger Scanner Database Acquisition and Transferred
Trough Wireless (802.11) to Android 2.2 Based Smartphone
Peter Septianus/0722007Electrical Engineering, Engineering Faculty, Maranatha Christian University Prof. drg. Suria Sumantri, MPH 65 Street, Bandung 40164, Indonesia
ABSTRACT
Nowadays, technology advances significantly especially in computer and telecommunication. Smartphone catches the eyes of filling the needs of many users in every aspect which can provide various applications. Moreover, it can attract more users if the applications can be freely downloaded. Android as an operating system specifically engineered for Smartphone provides various free applications, and also Android platform itself is open architecture and open source, the user is the developer, in other word the user can customize the Android software with ease.
The application of data acquisition from finger scanner which transferred wirelessly (WiFi 802.11) into Android based smart phone which using Samsung Galaxy Mini GT-S5570 verse 2.2 (Froyo) is needed due to high mobility needs. The application divided into two main programs. The first part will use eclipse-java-Galileo which is java based. And second part that will manage wireless connection between computer and smartphone which is WAMP verse 5.17 and PostgreSQL verse 8.3.1.1. The computer will receive fingerprint information from fingerscanner machine in database form which has been shared before; through WiFi the smartphone can get the actual and updated database in the same form without any changes.
Based on the testing and trials, Android applications which made by eclipse capable of managing and displaying data about FPID (owner's fingerprint ID), EMPNM (name), and TEMPFINGER (data about the fingerprint image) even though the database looks different look due to their respective operating systems have different layouts.
iii Universitas Kristen Maranatha
DAFTAR ISI
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... vii
DAFTAR TABEL ... viii
BAB I PENDAHULUAN 1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Tujuan ... 2
1.4 Pembatasan Masalah ... 2
1.5 Sistematika Penulisan ... 2
BAB II DASAR TEORI 2.1 Sejarah Android ... 4
2.2 Penjelasan Tentang Android ... 6
2.3 Fundamental Aplikasi ... 10
2.4 User Interface (UI) ... 20
2.5 WiFi ... 24
2.6 Sidik Jari ... 27
BAB III PERANCANGAN 3.1 Perancangan Kerja Sistem... 28
3.2 Persiapan User Interface pada Android... 30
3.3 PHP Script ... 38
3.3.1 Kontroler dan PHP ... 38
iv Universitas Kristen Maranatha BAB IV HASIL DAN PEMBAHASAN
4.1 Rancangan Masukan ... 43 4.2 Hasil Aplikasi Android ... 47
BAB V KESIMPULAN DAN SARAN
5.1 Kesimpulan ... 51 5.2 Saran ... 51
v Universitas Kristen Maranatha
Gambar 2.5 Mode Jaringan Infrastruktur ... 27
Gambar 3.1 Diagram Blok Sistem ... 28
Gambar 3.2 Diagram Alir Keseluruhan Sistem ... 30
Gambar 3.3 Layout Menu ... 31
Gambar 3.4 Outline ... 33
Gambar 3.5 Menyimpan ID ... 33
Gambar 3.6 Permission ... 35
Gambar 3.7 Layout GetData ... 36
Gambar 3.8 layout DBaddress dan komponennya ... 38
Gambar 3.9 Model View Controller ... 39
Gambar 3.10 Diagram Alir Pengisian Database ... 40
Gambar 3.11 Persiapan Akun WiFi ... 41
Gambar 3.12 Diagram Alir Penerimaan Database ... 42
Gambar 4.1 Database TBLATTMP... 43
Gambar 4.2 Tabel TBLFTEMP ... 44
Gambar 4.3 Tipe Data dari Database TBLATTMP ... 44
Gambar 4.4 Konfigurasi Hotspot pada Android ... 45
Gambar 4.5 Koneksi WiFi pada Desktop ... 45
Gambar 4.6 IP Address ... 46
Gambar 4.7 Program yang dijalankan ... 47
Gambar 4.8 Hasil Penyimpanan Database ... 47
Gambar 4.9 Tabel Pada Komputer ... 48
Gambar 4.10 Tampilan Menu PostgreSQL ... 49
Gambar 4.11 Pembuatan Database dalam SQL... 49
Gambar 4.12 Tampilan Tabel dalam Web... 50
vi Universitas Kristen Maranatha DAFTAR TABEL
Tabel 2.1 Tabel API Level ... 24
Tabel 2.2 Spesifikasi Wifi 802.11 ... 25
Tabel 3.1 Properti Menu ... 32
Tabel 3.2 Properti GetData ... 36
A- 1 -
Lampiran A
Source Code Gambar 3.3
package biz.multimedia.menutombol;
import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
public class menuTombol extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Set up click listeners for all the buttons
View enterButton = findViewById(R.id.button_enter);
enterButton.setOnClickListener(this);
View aboutButton = findViewById(R.id.button_about);
aboutButton.setOnClickListener(this);
View exitButton = findViewById(R.id.button_exit);
exitButton.setOnClickListener(this);
}
Public void onClick(View v) {
switch (v.getId()) {
A- 2 -
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:padding="60dip"
android:orientation="horizontal">
<LinearLayout
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_gravity="center">
A- 3 - android:text="@string/main_title"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="25dip"
android:textSize="20sp" />
<Button
android:id="@+id/button_enter"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/label_enter" />
<Button
android:id="@+id/button_about"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/label_about" />
<Button
android:id="@+id/button_exit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/label_exit" />
</LinearLayout>
A- 4 - Source Code layout gambar 3.5
<?xml version="1.0" encoding="utf-8"?> android:layout_width="wrap_content" android:text="Edit by ID"
android:layout_x="85dip" android:layout_y="220dip"></Button>
<Button android:layout_height="wrap_content" android:id="@+id/Button03" android:text="Delete by ID" android:layout_width="110dip"
android:layout_x="165dip" android:layout_y="220dip"></Button>
A- 5 - android:text="INFO" android:layout_x="20dip" android:textColor="#FFFFFF"></TextView>
</AbsoluteLayout>
Source Code Gambar 3.7:
import java.io.IOException;
public class GetData extends Activity {
/** Called when the activity is first created. */ @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.main);
A- 6 - );
}
public void fetch() {
String url = "http://127.0.0.1/apsi/tbl_friend.php";
HttpClient httpclient = new DefaultHttpClient(); HttpRequestBase httpRequest = null;
HttpResponse httpResponse = null; InputStream inputStream = null; String response = "";
StringBuffer buffer = new StringBuffer(); httpRequest = new HttpGet(url);
try
byte[] data = new byte[512]; int len = 0;
try {
A- 7 -
buffer.append(new String(data, 0, len)); }
StringParser parser = new StringParser();
ArrayList<Object> output = parser.Parse(response); Object[] Output = output.toArray();
String[] content = new String[Output.length]; for (int i=0;i<content.length;i++)
{
content[i] = Output[i].toString(); }
Spinner spinner = (Spinner)findViewById(R.id.Spinner01);
A- 8 - Source Code gambar 4.7:
package biz.multimedia.menutombol;
import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
public class menuTombol extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Set up click listeners for all the buttons
View enterButton = findViewById(R.id.button_Open);
enterButton.setOnClickListener(this);
View aboutButton = findViewById(R.id.button_about);
aboutButton.setOnClickListener(this);
View exitButton = findViewById(R.id.button_exit);
exitButton.setOnClickListener(this);
}
Public void onClick(View v) {
switch (v.getId()) {
A- 9 - case R.id.button_enter:
Intent Open = new Intent(this, Konversi.class);
startActivity(Address);
break;
case R.id.button_about:
Intent About = new Intent(this, About.class);
startActivity(About);
break;
case R.id.button_exit:
finish();
A- 10 - PHP Script:
<?php
// --- ambil isi dari file tbl_friend.php
require("tbl_friend.php");
// --- hubungkan ke database
$link=open_connection();
// --- menentukan nama tabel
$tablename="anggota";
// --- perintah SQL dimasukkan ke dalam variable string
$sqlstr="select * from $tablename";
// --- jalankan perintah SQL
$result = mysql_query ($sqlstr) or die ("Kesalahan pada perintah SQL!");
// --- putus hubungan dengan database
mysql_close($link);
// --- buat tampilan tabel
echo("<table width=100% cellspacing=1 cellpadding=2 bgcolor=#000000>");
echo("<tr><td bgcolor=#CCCCCC>No</td><td bgcolor=#CCCCCC>EMPNM</td><td
bgcolor=#CCCCCC>FPID</td><td bgcolor=#CCCCCC>TEMPFINGER</td>
tr>");
// --- ambil isi masing-masing record
while ($row = mysql_fetch_object ($result))
{
// --- mengambil isi setiap kolom
$nomor=$row->FPID;
A- 11 - $email=$row->TEMPFINGER;
// --- menampilkan di layar browser
echo("<tr><td bgcolor=#FFFFFF>$EMPNM</td><td
bgcolor=#FFFFFF>$TEMPFINGER</td><td bgcolor=#FFFFFF>$FPID</td>
tr>");
}
echo("</table>");
1 Universitas Kristen Maranatha BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Perkembangan teknologi, khususnya dalam bidang komputer dan
telekomunikasi berkembang dengan sangat pesat. Sebagian besar makin
mengedepankan kemudahan dalam pengambilan data dan mudah untuk
diperbaharui. Salah satu perkembangan teknologi yaitu smartphone yang dituntut
untuk dapat berkembang seiring dengan kebutuhan masyarakat yang meningkat,
terutama dalam hal aplikasi-aplikasi yang mudah digunakan sesuai dengan
kebutuhan pengguna smartphone. Karena kecenderungan masyarakat di Asia
untuk mengunduh free application, maka operating system untuk smartphone,
salah satunya Android, menyediakan berbagai macam aplikasi praktis dan gratis
(open source) pada smartphone yang diluncurkannya.
Aplikasi yang dikembangkan untuk akuisisi gambar sidik jari sebagai
bukti otentik yang mencirikan suatu manusia secara universal dan tidak ada yang
sama setiap individu.
Pada tugas akhir ini, gambar sidik jari akan diambil menggunakan finger
scanner dan komputer selanjutnya dikirimkan secara nirkabel pada smartphone
berbasis Android.
Dengan menggunakan smartphone berbasis Android ini maka setiap data
dan informasi sidik jari yang masuk di komputer dalam bentuk database akan
2
Universitas Kristen Maranatha
1.2 RUMUSAN MASALAH
1. Bagaimana manajemen database yang diterima dari mesin sidik jari di
komputer ke smartphone berbasis Android?
2. Bagaimana membangun hubungan antara user android dengan
database pada server?
1.3 TUJUAN
1. Menggunakan bahasa pemrograman berbasis java untuk pembuatan
aplikasi pengambilan dan penampilan database dari mesin sidik jari
2. Penanganan pengiriman data antara user Android dan database akan
menggunakan WiFi 802.11 dan PHP.
1.4 PEMBATASAN MASALAH
1. Gambar sidik jari akan dikenali menggunakan perangkat fingerscanner.
(Basic Attendance MP4000, berkapasitas 1500 user).
2. Smartphone menggunakan Galaxy Mini GT-S5570 dengan platform
versi 2.2 (Froyo).
3. Data sidik jari akan dikirimkan secara wireless (Wi-Fi 802.11)
4. Tools Pemrograman menggunakan eclipse-java-galileo.
3
Universitas Kristen Maranatha
1.5 SISTEMATIKA PENULISAN
Sistematika dari penulisan laporan tugas akhir di Universitas Kristen
Maranatha ini adalah sebagai berikut:
BAB I PENDAHULUAN
Berisikan tentang Latar Belakang, Rumusan Masalah, Tujuan,
Pembatasan Masalah, dan Sistematika Penulisan. BAB II DASAR TEORI
Berisikan tentang perkembangan dan penggalian secara
komperehensif dari sistem operasi Android, Arsitektur Android,
dan teori mendasar tentang fingerprint
BAB III PERANCANGAN
Berisikan tentang program, layout, user interface serta jalannya
sistem akuisisi sidik jari menggunakan sistem operasi android pada
smartphone
BAB IV PEMBAHASAN MASALAH
Berisikan tentang uraian dan hasil dari jalannya sistem.
BAB V KESIMPULAN DAN SARAN
Berisikan tentang hasil evaluasi dan saran mengenai program dari
51 Universitas Kristen Maranatha
BAB V
KESIMPULAN
5.1 Kesimpulan
Dari hasil perancangan mengenai topik tugas akhir ini, dapat disimpulkan beberapa poin,
sebagai berikut:
1. Interface/ dialog yang dibangun menggunakan aplikasi eclipse-java-galileo dan
PostgreSQL, mampu mengelola database dengan fungsi dan field yang diperlukan
(TEMPNM, FPID, dan TEMPFINGER) dalam penerimaan dan penampilan database.
2. Tools pemrograman eclipse-java-galileo mempunyai keuntungan dalam segi biaya dan
waktu, karena dapat mensimulasikan aplikasi Android secara virtual program yang dibuat
tanpa menggunakan device sesungguhnya adapun terdapat beberapa hardware yang tidak
didukung di dalam emulator, yaitu untuk WiFi dan USB port.
3. Dengan konfigurasi WiFi dan Script PHP, smartphone berbasis Android mampu
menerima dan mengambil informasi dari database yang terdapat pada komputer
4. Ditinjau dari sudut pandang android, Tugas Akhir ini dibuat pada level Applications yang
memanfaatkan :
Libraries yang meliputi: SQLite,LibC, Surface Manager, SGL
Linux Kernel yang meliputi: Display Driver, Keypad, WiFI,
IPC(Interprocess Communication) untuk mengatur aplikasi dan keamanan
5.2 Saran
Pada pengembangan pembuatan aplikasi ini hendaknya melakukan dan merealisasikan
secara langsung dari fingerscanner ke smartphone berbasis Androd yang memerlukan driver
52 Universitas Kristen Maranatha
DAFTAR PUSTAKA
1. Bun Seng, Ciu (2011).Dasar Pengoperasian, Optimasi Sampai Modifikasi.
Jasakom.
2. Elvayandri (2002). Sistem Keamanan Akses Menggunakan Pola Sidik Jari
Berbasis Jaringan Syaraf Tiruan. Bandung.
3. Mulyadi (2010). Membuat Aplikasi Untuk Android. Bandung: Multimedia
Center Publishing
4. Siregar, Michael, et.al (2010). Mengembangkan Aplikasi Enterprise Berbasis
Android. Bandung: Gaya Media.
5. http://andbook.anddev.org (Akses : 20 November 2012)
6. http://developer.android.com/guide/appendix/api-levels.html.
(Akses : 20 November 2012)
7. http://opensource.telkomspeedy.com:5432/furusato/files/wndw-id-ebook.pdf