APLIKASI PASSWORD MEMANFAATKAN SENSOR GERAK
PADA PERANGKAT ANDROID
NASKAH PUBLIKASI
diajukan oleh
Andrian Jalu Wardana
09.11.2827
kepada
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM YOGYAKARTA
YOGYAKARTA
2014
APLIKASI PASSWORD MEMANFAATKAN SENSOR GERAK
PADA PERANGKAT ANDROID
Andrian JaluWardana
1), Dr. Kusrini, M.Kom
2),
1)
Teknik Informatika STMIK AMIKOM Yogyakarta
2)
Magister Teknik Informatika STMIK AMIKOM Yogyakarta
Jl Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia 55283 Email: andrianjalu@gmail.com1), email@amikom.ac.id2)
Abstract - Lockscreen application will utilizes motion
sensor type accelerometer contained on android devices. Accelerometer sensor itself is a motion sensor that can aware of any changes in the acceleration experienced in the vector x, y, z, including the force of gravity. In this lockscreen application, which is usually a password input characters, numbers, or symbols will be replaced with movements data changes of the android device experienced itself. Movement can be a shake, rotate, flip, reverse and others in accordance with the wishes of privileged users.
Keywords – Lockscreen, Android, Accelerometer
1. Pendahuluan
1.1 Latar Belakang Masalah
Beragam informasi dapat diolah dan disimpan pada perangkat android. Sebagian informasi-informasi yang diolah dan disimpan dengan perangkat android memiliki sifat rahasia, sehingga membutuhkan jaminan keamanan agar informasi tersebut tidak dapat diakses oleh pengguna yang tidak berhak. Sebagai langkah untuk mengamankan hak akses, setiap perangkat android memiliki sistem pengamanan standar berupa password, personal identification number (PIN) dan lockscreen pattern.
Macam tipe sensor gerak yang dimiliki perangkat android adalah tipe accelerometer yang berfungsi untuk mengukur gaya gerak yang terpengaruhi gravitasi, tipe gyroscope yang berfungsi untuk mengukur kecepatan rotasi pada sumbu x y z, tipe linear acceleration yang berfungsi untuk mengukur gaya gerak tanpa terpengaruh gaya gravitasi, dan tipe rotation vector yang berfungsi untuk mengukur komponen vector rotasi terhadap sumbu x y z.
1.2 Rumusan Masalah
Bertitik tolak dari latar belakang masalah diatas penelitian ini akan membahas masalah-masalah sebagai berikut :
i. Bagaimana menganalisis dan merancang aplikasi
lockscreen yang memanfaatkan sensor gerak pada
perangkat android ?
ii. Bagaimana mengimplemen-tasikan aplikasi lockscreen
yang memanfaatkan sensor gerak pada perangkat android, yang telah selesai dianalisis dan dirancang pada perangkat sesungguhnya ?
1.3 Tujuan Penelitian
Tujuan dari penelitian ini adalah membangun alternatif aplikasi pengamanan yang dapat digunakan untuk mengamankan hak akses pada telepon pintar android.
1.4 Metodologi Penelitian
Metodologi penelitian yang digunakan dalam proses penelitian ini adalah metode prototyping. Prototyping adalah proses iteratif dalam pengembangan sistem dimana kebutuhan diubah ke dalam sistem yang secara terus-menerus diperbaiki melalui kerjasama antara pengguna dan perancang sistem [1].
2. Landasan Teori
2.1 Android
Sistem operasi android merupakan sistem operasi yang dikembangkan dengan basis linux. Terlihat dengan digunakannya kerrnel linux, pustaka linux, dan framework linux, dengan penambahan Dalvik Virtual Machine (DVM). Sehingga meskipun identik dengan sistem operasi linux aplikasi yang berjalan di linux tidak dapat dijalankan di android dan sebaliknya.
2.2 Sensor Gerak
Sistem operasi android menyediakan beberapa sensor yang memperbolehkan pengguna memonitor gerakan telepon pintar. Sensor gerak yang berbasiskan perangkat keras (accelerometer dan gyroscpe) dan sensor gerak yang dapat berbasiskan perangkat keras maupun perangkat lunak (gravity, linear acceleration, dan rotation vector).
Sensor gerak digunakan untuk memonitor gerakan-gerakan yang dialami perangkat seperti membalik, mengguncang, memutar, atau mengayun.
Kode dibawah ini digunakan untuk membaca instansi sensor tipe accelerometer, apabila yang digunakan adalah sensor gerak tipe yang lain, maka pada bagian kode Sensor.TYPE_ACCELEROMETER dapat diganti dengan kode yang sesuai.
2.3 UML
UML adalah bahasa grafis untuk mendokumentasikan, menspesifikasikan, dan membangun system perangkat lunak. UML berorientasi objek, menerapkan banyak level abstraksi, tidak bergantung proses pengembangan, tidak bergantung bahasa dan teknologi, pemaduan beberapa notasi di beragam metodologi, usaha bersama dari banyak pihak, dan didukung oleh banyak tools yang diintegrasikan melalui XML [2].
Gambar 1 Diagram-diagram UML[3] 3. Analisis Dan Perancangan 3.1 Analisis Sistem
Metode analisis SWOT digunakan untuk menganalisa sebuah system berdasarkan kekuatan (strength), kelemahan (weakness), kesempatan (oppurtunity), dan ancaman (threat) yang dimiliki oleh system yang akan dibuat [4]. Berikut ini adalah analisa SWOT dari system yang akan dibuat :
i. Strength
Beberapa metode dapat digunakan untuk membantu memonitor perubahan nilai pada sensor gerak. Salah satu metodenya menggunakan logcat aplikasi eclipse ketika
proses pembuatan aplikasi dengan
menghubungkan eclipse dengan telepon pintar. ii. Weakness
Penggunaan sensor gerak memiliki kelemahan pada kenyataan bahwa sensor gerak sangat sensitif dengan gerakan sekecil apapun.
iii. Oppurtunity
Penggunaan sensor gerak memberikan kelebihan pada keunikan dan variasi gerakan.
iv. Threat
Adanya aplikasi password lain yang memberikan keamanan dan kemudahan lebih baik.
3.2 Rancangan UML
2.3.1 Use Case
Dibawah ini adalah diagram use case aplikasi pengaturan.
Gambar 2 Use Case Pengaturan
3.2.2 Activity Diagram
Berikut ini adalah gambar diagram activity ketika akan membuka lockscreen.
private SensorManager mSensorManager; private Sensor mSensor; mSensorManager = (SensorManager)getSystemService(C ontext.SENSOR_SERVICE); mSensor = mSensorManager.getDefaultSensor (Sensor.TYPE_ACCELEROMETER );
Gambar 3. Diagram Activity Membuka Lockscreen
3.3 Rancangan Basis Data
Tabel Kunci utama dalam tabel ini berfungsi untuk menyimpan masukkan dari sensor accelerometer pada setiap titik waktu dengan id kunci 100-2000 dengan interval 100ms.
Tabel 1. Rancangan Tabel Kunci
Name Type key
XYZ varchar(4) Primary
key
KeyId integer(2) Foreign
key
X float(5) -
Y float(5) -
3.4 Rancangan Antarmuka
Berikut ini adalah tampilan antarmuka aplikasi pengaturan.
Gambar 4. Rancangan Pengaturan
Berikut ini adalah tampilan antarmuka aplikasi lockscreen.
Gambar 5. Rancangan Lockscreen
4. Implementasi Dan Pembahasan
4.1 Implementasi Basis Data
Pembuatan basis data untuk aplikasi ini tidak membutuhkan banyak tabel karena basis data dalam aplikasi AcceLocks digunakan untuk menyimpan data kunci, data kunci utama, data kunci alternatif dan data status pemakaian aplikasi. Dibawah ini adalah gambar relasi basis data.
Gambar 6. Relasi Antar Tabel
4.2 Implementasi Antarmuka
Halaman pengguna adalah tampilan yang dilihat dari sisi pengguna aplikasi.
Gambar 4. Antarmuka Aplikasi
4.3 Pembahasan Kode Program
Method dibawah ini digunakan untuk merekam gerakan kode akses utama dan membandingkannya dengan kode akses utama di basis data.
private void scan() {
final Handler handler = new Handler();
getData = new Thread() {
public void run() { int time = 0; while (time < 2000) { time += 100; db = dbHelper.getReadableDatabase(); cursor = db.rawQuery("SELECT * FROM xyz WHERE keyid=" + time,
null); if (cursor.moveToFirst()) { if ((x - 1 <= cursor.getFloat(1) && cursor.getFloat(1) <= x + 1) && (y - 1 <= cursor.getFloat(2) && cursor.getFloat(2) <= y + 1) && (z - 1 <= cursor.getFloat(3) && cursor.getFloat(3) <= z + 1)) { cek = true; ok += 1; } else { cek = false; } }
4.4 Pengujian BlackBox
Pengujian yang dilakukan oleh penulis adalah dengan menjalankan aplikasi AcceLocks yang telah dibuat sehingga bisa terlihat kekurangan dari program ini. Beberapa kategori yang akan di uji adalah sebagai berikut :
1. Fungsi –fungsi yang tidak benar atau hilang
2. Kesalahan kinerja 3. Kesalahan tampilan
4. Kesalahan dalam struktur data
5. Kesimpulan
Berdasarkan penjelasan dari bab-bab sebelumnya maka dapat disimpulkan
bahwa :
i. Aplikasi AcceLocks dibuat melalui tahapan analisis dan perancangan sistem.
ii. Hasil dari proses analisis dan desain dapat diimplementasikan dan telah diuji kelayakannya.
Untuk lebih menyempurnakan program ini penulis memberikan beberapa saran diantaranya :
i. Menambahkan ukuran skala dalam simulasi gerakan.
ii. Menambahkan menu yang berfungsi untuk merubah tingkat ketepatan dalam membaca kode akses utama.
iii. Menambahkan menu yang berfungsi untuk merubah panjang periode waktu kode akses utama.
Daftar Pustaka
[1] Al Fatta, Hanif.2007. Analisis dan Desain Sistem
Informasi. Yogyakarta : Andi. pp. 36.
[2] Suprianto, Dodit, dkk.. Pemrograman Aplikasi
Android.
[3] Hariyanto, Bambang. 2010. Rekayasa Sistem
Berorientasi Objek.. Bandung : Informatika. pp. 256.
[4] Al Fatta, Hanif.2007. Analisis dan Desain Sistem
Informasi. Yogyakarta : Andi. pp. 44.
Biodata Penulis
Andrian Jalu Wardana, memperoleh gelar Sarjana Komputer (S.Kom), Jurusan Teknik Informatika STMIK AMIKOM Yogyakarta, lulus tahun 2014.
Dr. Kusrini, M. Kom., Magister Teknik Informatika STMIK AMIKOM Yogyakarta.
try { sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } if (cek && ok > 15) { finish(); } else { attemp++; handler.post(new Runnable() {
public void run() {
prompt.setText ("KodeSalah !!!"); btnBuka.setVisibili ty (View.VISIBLE); btnBuka.setText(" Coba Lagi"); } }); if (attemp == 5) { waiting(); } }