penerapan sistem one time password dengan motor servo...
TRANSCRIPT
Penerapan Sistem One Time Password Dengan Motor Servo Untuk
Pengaman Rumah
ARTIKEL ILMIAH
Peneliti :
Bronto Kuncoro 672011096.
Prof.Dr.Ir. Eko Sediyono ,M.Kom.
Winarso Martyas Edi, S.Kom., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
July 2016
Penerapan Sistem One Time Password Dengan Motor Servo Untuk
Pengaman Rumah
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh gelar Sarjana Komputer
Peneliti:
Bronto Kuncoro 672011096.
Prof.Dr.Ir. Eko Sediyono ,M.Kom.
Winarso Martyas Edi, S.Kom., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen SatyaWacana
Salatiga
July 2016
Penerapan Sistem One Time Password Dengan Motor Servo Untuk
Pengaman Rumah Laporan Penelitian
Oleh :
Bronto Kuncoro
NIM : 672011096
Telah disetujui diuji :
Tanggal : ............................................
Pembimbing 1 Pembimbing 2
Prof.Dr.Ir. Eko Sediyono ,M.Kom Winarso Martyas Edi, S.Kom., M.Cs.
Penerapan Sistem One Time Password Dengan Motor Servo Untuk
Pengaman Rumah
1)Bronto Kuncoro,
2) Prof.Dr.Ir. Eko Sediyono ,M.Kom
3) Winarso Martyas
Edi, S.Kom., M.Cs
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
Email: 1)
[email protected] 2) [email protected]
Abstract
The use of manual key for a door is less secure which make something lost, broken and
someone could duplicate this kind of key. Move over it is not effective applying double protection
using manual key. Developer servo motor can guaranty. The security, unforturatey servo motor is
not secure enough that an authentication process using OTP is conceded. The identification
recognition in servo motor use double protection MAC address and one time login applied to
android smartphone. An application within the smartphone produces a command to the server to
open and close the door. The package data sent from the application to the server commanding. the
time to open and to close the door need more security. to support the user security and
convenience, the writer use OTP to handle his problem. using this methode, it will be no problem
if someone knowing the package data we sent for it, because would be no longer valid in a certain
short time.
Keyword : Motor servo, MAC address, username, password, One Time Password
Abstrak
Penggunaan kunci manual pada rumah yang kurang aman dan masih rentan terhadap
kehilangan, kerusakan dan penduplikasian kunci menyebabkan kunci manual kurang efektif
digunakan sebagai kunci pada pintu rumah. Membuat keamanan ganda yang lebih menjamin
keamanannya dengan menggunakan motor servo yang banyak di kembangkan saat ini. Namun,
masih ada kekurangan dalam pengamanannya, oleh sebab itu proses Otentikasi dengan
menggunakan One Time Password sangat diperlukan dalam pengamanan motor servo. Identitas
pengenalan dalam pengamanan ganda pada motor servo dengan menggunakan MAC address dan
time login yang ada pada smartphone Android. Aplikasi yang terdapat pada smartphone
memberikan perintah kepada server untuk membuka membuka dan menutup pintu. Paket data
yang di kirim dari aplikasi ke server untuk memberikan perintah saat membuka dan menutup pintu
sangat memerlukan keamanan lebih, dalam mendukung keamanan dan kenyamanan pengguna,
penulis mencoba mengatasi masalah tersebut dengan menggunakan metode One Time Password.
One Time Password adalah metode agar paket data yang dimiliki oleh user selalu berubah.
Dengan cara tersebut tidak ada masalah apabila ada orang lain yang mengetahui paket data yang di
kirim karena paket data tersebut sudah tidak berlaku kembali untuk waktu terbatas.
Kata Kunci : Motor servo, MAC address, username, password, One Time Password
1 Mahasiswa Fakultas Teknologi Informasi Universitas Kristen Satya Wacana
2 Staf Pengajar Fakultas Teknologi Informasi Universitas Kristen Satya Wacana
3 Staf Pengajar Fakultas Teknologi Informasi Universitas Kristen Satya Wacana
1. Pendahuluan
Pengamanan rumah dengan menggunakan kunci manual kurang aman karena
kunci pintu berwujud fisik yang sangat mudah untuk diduplikat dan lubang kunci
yang terdapat pada kunci manual sering dibuka dengan kunci universal
merupakan kelemahan dari kunci pintu biasa. Teknologi elektronik motor servo
yang sudah banyak beredar luas dapat membantu mengatasi masah keamanan
rumah. Pengendalian secara jarak jauh merupakan keunggulan dari motor servo
sehingga, mempermudah dalam pengoperasiannya. Keamanan yang ada pada
motor servo juga perlu diperhatikan kembali, karena apabila faktor keamanan dan
sistem keamanannya kurang tepat, dapat menimbulkan kerugian pada pihak
penggunanya. Paper ini menggunakan pengaman motor servo di tambah
pengaman server yaitu dengan OTP yang dapat dikontrol lewat smartphone
Android.
Ada beberapa metode untuk melakukan Otentikasi, salah satunya dan paling
umum digunakan adalah username dan password. Metode Otentikasi dengan
menggunakan username dan password statis adalah yang paling banyak
digunakan saat ini. Tetapi jika user menggunakan password yang sama (password
statis) beberapa kali untuk masuk ke dalam suatu sistem, password tersebut akan
menjadi rentan terhadap sniffer[1]. One Time Password (OTP) adalah password
yang berlaku hanya untuk satu sesi login atau transaksi. OTP menghindari
sejumlah kelemahan yang berkaitan dengan password tradisional (statis).
Kelemahan yang paling penting yang ditujukan oleh OTP berbeda dengan
password statis, mereka tidak rentan terhadap serangan replay, hal Ini berarti jika
penyusup potensial berhasil merekam OTP yang sudah digunakan untuk masuk ke
layanan atau untuk melakukan transaksi, ia tidak akan dapat menyalah
gunakannya karena tidak berlaku lagi[2].
One Time Password (OTP) tidak hanya berfungsi sebagai pengamanan data
login saja, melainkan juga dapat dimanfaatkan sebagai pengamanan paket data
yang berisikan perintah. User memberikan perintah kepada server untuk
menggerakkan motor servo pada saat membuka pintu. Paket tersebut juga sangat
penting karena apa bila sniffer mengetahui paket kersebut maka sniffer juga dapat
memberi perintah kepada server untuk membuka pintu.
Berdasarkan uraian di atas, motor servo memiliki beberapa keunggulan yang
perlu dikaji lebih dalam. Oleh karena itu dirancang sebuah simulasi sederhana
mengenai sistem One Time Password pada motor servo dalam penerapan pada
sistem otentikasinya dan proses pengamanan paket data yang dikirim untuk
memberikan perintah kepada server melalui smartphone Android. Pengaturan
gerakan motor servo yang digunakan untuk membuka dan mengunci pintu
menjadi salah satu masalah dalam penelitian. Memberikan kemudahan dalam
mengontrol ruangan yang akan dibuka dan ditutup secara jarak jauh, serta
diharapkan dapat memberikan kemudahan dan efektifitasnya. Memberikan
keamanan yang lebih dibandingkan kunci manual. Diharapkan hasil penelitian ini
dapat memberikan alternatif lain dalam keamanan ganda pada pintu rumah yang
saat ini digunakan. Selain itu perancangan ini juga memiliki manfaat sebagai
pengetahuan bahwa One Time Password tidak hanya dimanfaatkan sebagai
pengamanan saat login saja, tapi dapat juga diterapkan pada pengamanan data.
2. Tinjauan Pustaka Penelitian tentang proses Otentikasi pada jaringan wireless dan Raspberry Pi
telah banyak dilakukan, dengan masalah dan latar belakang kasus yang berbeda-
beda. Authentication, integrity, confidentiality, dan authorization merupakan
aspek penting dalam keamanan. Dalam penelitian yang pernah dilakukan
sebelumya juga perlu diperhatikan bahwa elemen jaringan penting untuk
diperhatikan dan salah satu aspek penting dalam keamanan jaringan adalah
mekanisme Otentikasi[3].
Password merupakan hal yang identik dengan keamanan, terlebih lagi
penggunaan password yang berulang kali. Membuat password yang panjang
ataupun bermacam-macam bertujuan user account lebih aman, namun membuat
user seringkali melakukan kesalahan. One Time Password dapat menjadi salah
satu solusi pengamanan kata sandi karena meskipun ada yang berhasil melakukan
pencurian, password tersebut password tidak dapat digunakan kembali karena
password hanya dapat digunakan satu kali. Dikesempatan berikutnya password
tersebut sudah tidak dapat digunakan lagi[2].
Raspberry Pi adalah komputer mikro berukuran seperti kartu kredit yang
dikembangkan oleh Raspberry Pi Foundation, Inggris. Komputer ini
dikembangkan dengan tujuan untuk mengajarkan dasar-dasar ilmu komputer dan
pemrograman untuk siswa sekolah diseluruh dunia. Raspberry Pi memiliki
ukuran mini dan hanya sebesar kartu kredit. Raspberry Pi memiliki sistem
Broadcom BCM2835 chip (SoC), yang mencakup ARM1176JZF-S 700 MHz
processor (firmware termasuk sejumlah mode "Turbo" sehingga pengguna dapat
mencoba overclocking, hingga 1 GHz, tanpa mempengaruhi garansi), VideoCore
IV GPU, dan awalnya dikirim dengan 256 megabyte RAM, kemudian upgrade ke
512MB[4].
Android adalah sebuah sistem operasi yang berbasis Java yang beroperasi
pada kernel Linux 2.6. Android merupakan sebuah environment untuk
menjalankan aplikasi. Android terdiri dari 3 element utama yaitu Operating
System, Middleware, dan Key Application. Android merupakan sebuah perangkat
mobile yang berbasis linux yang bersifat open source sehingga memudahkan
pengembang untuk menciptakan aplikasi mereka sendiri. Aplikasi Android
dikembangkan menggunakan Java dan diimplementasikan dengan lebih mudah ke
platform yang baru. Android juga dapat dikembangkan menggunakan program UI
dan mendukung XML-Based UI Layout yang terbaru. XML UI Layout adalah
sebuah konsep baru yang ditujukan untuk pengembangan dekstop[5].
Wi-Fi merupakan singkatan dari Wireless Fidelity. Wi-fi adalah teknologi
jaringan tanpa kabel yang menggunakan frekuensi tinggi, frekuensi yang
digunakan oleh teknologi Wi-Fi berada pada spektrum 2,4 Ghz [6]. Wi-Fi dapat
memancarkan sinyal radio hingga 90 meter. Wi-Fi dapat mengirim data dengan
sangat cepat bahkan dapat lebih cepat dari koneksi modem menggunakan kabel.
Teknologi Wi-Fi juga mempunyai kemampuan standar interoperability. Wi-Fi
menggunakan teknologi Direct Sequence Spread Spectrum (DSSS), yang secara
ekstrem mampu mengantisipasi perubahan, interferensi, jamming, dan
pendeteksian.
Pengamanan login yang lebih baik adalah dengan OTP (One Time
Password) dan enkripsi. Beberapa keuntungan yang diperoleh dengan metode
yang digunakan antara lain OTP dengan Hash MD5 memiliki hasil yang tidak
mungkin sama sehingga sulit ditebak oleh hacker[7]. Jika Penyusup berhasil
merekam OTP yang sudah digunakan untuk masuk ke layanan atau untuk
melakukan transaksi, ia tidak akan dapat menyalah gunakannya karena tidak
berlaku lagi.
Servomechanism disingkat servo adalah suatu device yang digunakan
untuk memberikan kontrol mekanik pada jarak. Servomotor mempunyai keluaran
shaft (poros). Gerakan pada motor servor dapat di tentukan dengan memberikan
sinyal kode pada saluran kontrol motor servo, motor servo dapat mengunci sudut
poros apabila berada pada sudut yang benar. Motor servo akan terus berputar
apabila mendapati sudut yang sudah di tentukan tidak benar[8].
3. Metode Penelitian PPDIOO (Prepare, Plan Design, Implement, Operate, Optimize) adalah
metode yang dipakai dalam implementasi pembuatan alat pada Simulasi Sistem
Otentikasi pada motor servo dengan One Time Password yang menggunakan
username, password, MAC addresss dan time login yang digunakan sebagai
token. Metode PPDIOO adalah metode pendekatan yang dibuat oleh Cisco
tentang bagaimana merancang jaringan yang baik. Metode PPDIOO meliputi
enam tahap, masing-masing mendefinisikan aktifitas yang saling berkaitan satu
dengan yang lainnya[9]. Tahap-tahap tersebut digambarkan pada Gambar 1.
Gambar 1 Metode PPDIOO [10]
Dalam penelitian ini, dilakukan tahap persiapan dan perencanaan secara
bersamaan, karena antara persiapan dan perencanaan keduanya saling
berhubungan dan menjadi dasar untuk diperhatikan sehingga pada tahap
selanjutnya menjadi lebih terarah dan tidak terjadi kesalahan yang dapat
merugikan. Dalam penelitian Simulasi Sistem Otentikasi pada motor servo dengan
One Time Password yang menggunakan time login dan token sebagai pengaman
motor servo. Perangkat keras yang digunakan pada penelitian ini ditunjukkan
pada Tabel 1.
Tabel 1 Tabel Spesifikasi Hardware yang Digunakan
Hardware Spesifikasi Keterangan Server
(spesifikasi
raspberry pi 2
b+) [11]
- A 900MHz quad-core ARM
Cortex-A7 CPU CPU, 700Mhz
ARM1176JZF-S
- 1GB RAM
- 1 buah Gigabit Ethernet Card
Berfungsi sebagai server
database dan master
program
Smartphone 1 - Android 4.1.2
- Dual Core 1 GHz
- 1 GB RAM
Digunakan sebagai client
Smartphone 2 - Android 4.4.2
- Dual Core 1,2 GHz
- 1 GB RAM
Digunakan sebagai
penyerang yang
menggunakan Simple
Socket Tester
Motor servo[12] - +9v to +12v power supply
- 555 Timer IC
- 33KΩ, 10KΩ (2peices), 68KΩ
and 220Ω resistors
Digunakan sebagai alat
untuk mengunci pintu
Komputer server database dan master program merupakan server yang
dibangun dalam satu pc(Raspberry Pi). Alat ini merupakan personal computer
yang dibangun untuk menjalankan perintah-perintah yang digunakan sebagai
master dari jalannya program dan aplikasi. Aplikasi yang dibutuhkan dalam
penelitian ini adalah Raspbian 3.18, Python 2, Android (minimal 2.6), yang
digunakan Android 4.1, MySQL, Smart Pi Connector, Simple Socket Tester.
Design merupakan tahap dalam perancangan aplikasi dan jaringan yang
digunakan dalam penelitian ini. Gambar 3. adalah topologi jaringan yang
digunakan dalam penelitian ini ditunjukkan oleh arsitektur sistem.
Gambar 3 Arsitektur Sistem
Gambar 3 menjelaskan tentang bagaimana proses yang terjadi pada saat
user mengakses motor servo tersebut. Proses awal adalah smartphone melakukan
koneksi dengan Wi-Fi, selanjutnya smartphone yang telah mendapatkan IP
address melakukan koneksi dengan server. Selanjutnya server merespon
permintaan koneksi dari smartphone tersebut. Saat Aplikasi pada smartphone
dibuka oleh user maka aplikasi tersebut mengirimkan data yang berisikan MAC
Address, Username dan password ke server, selanjutnya server menyimpan data
tersebut ditambah waktu user saat melakukan login ke dalam database. User
melakukan login selanjutnya dengan mengirimkan username dan password,
kemudian smartphone mengirim data yang berisikan IP address, MAC address,
username, password dan time login. Time login adalah waktu dimana user
melakukan login terakhir kali dan waktu tersebut akan disimpan oleh server ke
dalam database. Waktu yang sudah disimpan digunakan kembali sebagai private
key. Controller melakukan checking terhadap data yang dikirimkan oleh user
dengan data yang sudah tersimpan di database. Apabila cocok, server
memberikan hak akses ke smartphone untuk membuka motor servo sesuai dengan
hak akses yang ada pada akun tersebut.
Gambar 4 Diagram Alir Aplikasi Pada Android
Gambar 4 menunjukkan bagaimana jalannya aplikasi yang terdapat pada
Android. Langkah pertama adalah smartphone Android melakukan checking
koneksi kepada Wi-Fi, bila smartphone mendeteksi ada konektifitas dari Wi-Fi,
maka smartphone melakukan koneksi dengan Wi-Fi. Aplikasi akan berjalan
secara otomatis apabila smartphone terkoneksi dengan Wi-Fi. Selanjutnya Server
meminta MAC address pada aplikasi yang berada pada smartphone Android,
selanjutnya controller melakukan checking pada database dimana MAC address
tersebut terdaftar atau tidak. Bila data MAC address terdaftar atau sesuai dengan
yang ada pada database, aplikasi menampilkan form login untuk memasukkan
username dan password. Aplikasi menampilkan pintu mana saja yang dapat
diakses oleh user dan menampilkan menu buka atau tutup pintu. bila tidak sesuai
maka aplikasi menampilkan login gagal.
Kode Program 1. Fungsi Memeriksa Hak Akses.
28. if data.strip() == 'cek':
29. datakey=self.request.recv(1024)
hasil=cb.cekmac(mac.get(str(self.client_address).split("'")[1]), str(self.client_address).split("'")[1], datakey.strip())
30.
31. self.request.send(hasil + '\n')
Yes
Yes
Yes
No
No
No
Start
Aplikasi melakukan
checking koneksi Wi-Fi
Server meminta MAC address
Controller mencocokkan
data pada database
Data bind cocok dengan
database
End
Aplikasi menampilkan
form login
MAC address, username dan
password di-binding
Aplikasi menampilkan
tampilan hak akses
Remember ?
Fungsi memeriksa hak akses digunakan untuk memeriksa data login yang
di kirim oleh user dan pemilah siapa yang mendapatkan hak sebagai super user
dan user seperti yang terdapat pada Kode Program 1.
Kode Program 2. Fungsi Meminta MAC Address.
Permintaan MAC address yang digunakan dan menampilkan MAC
address yang ada pada smartphone Android yang telah terkoneksi dengan server
motor servo seperti yang terdapat Pada Kode Program 2.
Kode Program 3. Fungsi menggerakkan motor servo.
1. def get(ip):
2. import pdb, os
3. import subprocess
4. import re
5. from subprocess import Popen, PIPE
6. process = subprocess.Popen(["ping", "-c","4", ip],
stdout=subprocess.PIPE)
7. process.wait()
8. result = process.stdout.read()
9. pid = Popen(["arp", "-n", ip], stdout=PIPE)
10. s = pid.communicate()[0]
11. mac=re.search(r"(([a-f\d]1,2\:)5[a-f\d]1,2)",s).groups()[0]
12. return mac
33. def satu(x,y,z,mac):
34. db = MySQLdb.connect("localhost","root","creet93","rumah")
35. cursor = db.cursor()
36. sql = "select counter from user where maca = '"+mac+"'"
37. cursor.execute(sql)
38. results = cursor.fetchall()
39. jumlah=""
40. for row in results:
41. jumlah=str(row[0])
42. print("jumlah")
43. print(jumlah)
44. print(z)
45. if str(z) == jumlah:
46. GPIO.setmode(GPIO.BOARD)
47. GPIO.setup(x,GPIO.OUT)
48. p = GPIO.PWM(x,50)
49. p.start(7.5)
50. if y == 1:
51. p.ChangeDutyCycle(7.5)
52. else:
53. p.ChangeDutyCycle(3.1)
54. time.sleep(1)
55. p.stop()
56. GPIO.cleanup()
57. jumlah = int(jumlah) + 1
58. sql1 = "update rumah.user set counter = '"+str(jumlah)+"' where
maca = '"+mac+"'"
59. try:
60. cursor.execute(sql1)
61. db.commit()
62. except:
63. db.rollback()
64. db.close()
Kode Program 3 berfungsi untuk menggerakkan motor servo. Motor servo
akan bergerak jika user mengirimkan perintah pada server, jika kondisi pintu
terkunci (y=1) maka akan menjalankan fungsi ChangeDutyCycle(7.5) untuk
memutar 900
, jika tidak maka menjalankan fungsi ChangeDutyCycle(3.1) untuk
memutar 00. Setelah motor servo berjalan maka program akan memperbaharui
nilai counter yang ada di database sebagai token baru.
Server memiliki database yang berfungsi sebagai penyimpan data yang
diinputkan oleh administrator seperti pada Tabel 2.1 Pada database tersebut
terdapat tiga data yang berisi kode_akses, kode_pintu dan kode_user. Tabel akses
diperlihatkan user dapat mengakses pintu mana saja. Isi dari tabel akses
diperlihatkan pada Tabel 3.
Tabel 3 Tabel Akses
No Nama Field Tipe Panjang Keterangan
1 Kode_akses Varchar 5 Kode akses untuk setiap user
2 Kode_pintu Varchar 5 Kode untuk pintu
3 Kode_user Varchar 10 Kode untuk setiap user
Pada tabel pintu berisikan tabel kode_pintu, pin dan pintu. Tabel tersebut
berfungsi sebagai tabel yang menunjukkan pin 11 digunakan untuk membuka
pintu depan, pin 13 digunakan untuk membuka pintu Alan, pin 15 digunakan
untuk membuka pintu Geby. Isi dari tabel pintu dapat dilihat pada Tabel 4.
Tabel 4 Tabel Pintu
No Nama Field Tipe Panjang Keterangan
1 Kode_pintu Varchar 10 Kode untuk pintu
2 Pin Integer 5 Pin yang digunakan pada Raspberry Pi B+
3 Pintu Varchar 30 Nama pintu menurut nama ruang
Kode_user, nama_user, mac_address, username, password dan ip_address
merupakan tabel user. Kode_user adalah tabel yang berisi kode yang digunakan
untuk penamaan pada user, nama_user adalah tabel yang berisikan nama – nama
user yang terdaftar. Pada tabel mac_address berisikan MAC address device user
yang digunakan. Username adalah tabel yang berisikan username yang
digunakan oleh user untuk melakukan login, tabel password berisikan password
yang digunakan oleh user. Pada tabel yang terkahir yaitu tabel ip_address, tabel
ini berisikan IP address yang digunakan oleh user tersebut untuk melakukan
koneksi dengan server. Counter adalah tabel yang berisikan bilangan yang
digunakan sebagai tambahan saat user memberikan perintah untuk membuka dan
mengunci pintu, bilangan akan ditambah 1 dan disimpan setiap kali user
memberikan perintah. Isi dari tabel user dapat dilihat pada Tabel 5.
Tabel 5 Tabel User
No Nama Field Tipe Panjang Keterangan
1 Kode_address Varchar 30 MAC address pada device user
2 User_name Varchar 30 Username yang digunakan oleh user
3 Password Varchar 30 Password yang digunakan oleh user
4 Ip_address Varchar 20 IP address yang digunakan oleh user
5 Key Varchar 30 Waktu login yang disimpan sebagai
token
6 Counter Integer 5 Bilangan yang digunakan untuk
tambahan pada saat memberi perintah
untuk membuka dan menutup
pintu(nambah 1(satu) bialangan setiap
memberi perintah)
Setelah tahap implementasi selesai, tahap selanjutnya adalah ujicoba terhadap
Penerapan Sistem One Time Password Dengan Motor Servo Untuk Pengaman
Rumah. Dari sisi client, client dapat memberi perintah kepada server untuk
membuka dan mengunci pintu menggunakan smartphone Android dalam
memudahkan pengoperasiannya. Pada tahap operate juga dilakukan analisis
terhadap sistem yang berjalan. Analisis terhadap sistem yang berjalan termasuk
dalam tahap operate. Analisa ini bertujuan untuk mengetahui sistem tersebut
sudah berjalan sesuai dengan landasan teori atau tidak. One Time Password yang
menggunakan time login sebagai token dalam pengaman ganda pada motor servo.
Optimize adalah tahap dimana dilakukan ujicoba yang digunakan sebagai langkah
terakhir dalam percobaan simulasi keamanan One Time Password pada motor
servo. Analisa dalam simulasi tersebut dapat disimpulkan berdasarkan
pengamatan dari simulasi yang dilakukan
4. Hasil dan Pembahasan
Tahap implementasi yang dilakukan meliputi pemanfaatan motor servo
sebagai alat pengunci pintu dan implementasi aplikasi pada smartphone. Setelah
pemasangan motor servo pada pintu selesai dan implementasi aplikasi berjalan
dengan baik maka dilakukan pengujian kembali pada keamanan OTP dengan cara
pengujian login. Untuk memastikan fitur OTP berjalan dengan baik maka
diperlukan pengujinan dengan memastikan setelah server mengenali user yang
sudah terdaftar maka langkah selanjutnya adalah melakukan uji coba login pada
aplikasi. Pengujian selanjutnya adalah dengan menginputkan username dan
password ke dalam form login yang sesuai dengan username yang sudah terdaftar
pada smartphone. Setiap user memiliki hak akses yang berbeda – beda sesuai
dengan kepentingan masing – masing, maka aplikasi tersebut hanya menampilkan
pintu mana saja yang dapat dibuka oleh user tersebut. Berikut ini adalah tabel
pengujian untuk fungsi login super user tampak pada Tabel 6.
Tabel 6 Pengujian pada user bron
No Sekenario
Pengujian
Test Case Hasil Yang
Diharapkan
Hasil Pengujian kesimpulan
1 Mengosongk
an username
dan
password,
lalu langsung
menekan
tombol
“login”.
Sistem akan
menolak
akses login
dan tidak
dapat
melakukan
login
valid
2 Hanya
mengisi
username
dan
mengosongk
an password,
lalu langsung
menekan
tombol
“login”.
Sistem akan
menolak
akses login
dan tidak
dapat
melakukan
login
valid
3 Hanya
mengisi
password
dan
mengosongk
an username,
lalu langsung
menekan
tombol
“login”.
Sistem akan
menolak
akses login
dan tidak
dapat
melakukan
login
valid
4 Mengisi
username
dan
password
dengan
sembarang
Sistem akan
menolak
akses login
dan
menampilka
n pesan
valid
5 Mengisi
username
dan
password
dengan benar
Sistem
menerima
Login masuk
dan
menampilka
n hak akses
pintu
valid
Memastikan perintah untuk membuka dan mengunci pintu berjalan dengan
baik makan diperlukan pengujian dengan memastikan serpon time pada motor
servo. Pengujian selanjutnya adalah dengan memberi perintah membuka dan
menutup pintu pada user yang sudah melakukan login dan sudah mendapatkan
pintu mana saja yang dapat diakses oleh user. Berikut ini adalah tabel pengujian
fungsi membuka dan menutup pintu tampak pada tabel 8, 9 dan 10.
Tabel 8 Hasil test respon gerak pada motor servo pintu depan
No Motor servo Volt derajat Respon(second)
1 Pintu depan 3 600
3.7
2 Pintu depan 3 600 3.5
3 Pintu depan 3 900 3.8
4 Pintu depan 3 900 4.1
5 Pintu depan 3 1200 4.5
6 Pintu depan 3 1200 4.3
Tabel 9 Hasil test respon gerak pada motor servo pintu alan
No Motor servo Volt derajat Respon(second)
1 Pintu alan 5 600 3.1
2 Pintu alan 5 600 3.1
3 Pintu alan 5 900 3.5
4 Pintu alan 5 900 3.6
5 Pintu alan 5 1200 3.9
Pintu alan 5 1200 4.2
Tabel 10 Hasil test respon gerak pada motor servo pintu geby
Dari hasil rata – rata respon time pada gambar 4.1 setiap perintah user
untuk membuka dan mengunci menunjukan rata – rata waktu yang diberikan tidak
mengalami timeout. Waktu respon tidak absolut dikarenakan banyaknya faktor
yang mempengaruhi hasil respon yang diberikan server kepada smartphone
Android di antaranya, perintah posisi derajat tuas motor servo < 900 dengan
tegangan sebesar 5 Volt akan menghasilkan respon lebih cepat karena waktu
delay yang dihasilkan kurang dari 3.5 detik. Posisi tuas motor servo pada > 900
dengan tegangan sebesar 5 Volt akan menghasilkan respon lebih lambat dengan
delay yang di hasilkan lebih dari 3.9 detik, akan tetapi pemberian tegangan pada
motor servo sebesar 3 Volt memberikan pengaruh delay pada posisi < 900
menjadi
kurang dari 3.8 detik dan pada posisi > 900 menjadi lebih dari 4.1 detik.
Pengujian keamanan paket data dilakukan untuk membuktikan apakah
lalu-lintas paket data yang melalui jaringan tersebut dinyatakan aman. Pengujian
kemanan data yang dilakukan menggunakan Wireshark sebagai tool aplikasi yang
digunakan untuk merekam paket data yang sedang berjalan pada jaringan tersebut.
Paket data sebelum ditambahkan enkripsi dan penerapan OTP, masih dapat
dikirim ulang untuk memberikan perintah kepada server untuk membuka pintu
seperti pada gambar 5, 6, 7 dan 8.
Gambar 5 Aplikasi meminta untuk membuka pintu
No Motor servo Volt derajat Respon(second)
1 Pintu geby 5 600 2.8
2 Pintu geby 5 600 3.1
3 Pintu geby 5 900 3.5
4 Pintu geby 5 900 3.5
5 Pintu geby 5 1200 4.0
6 Pintu geby 5 1200 4.1
Gambar 6 Server menanyakan pin/pintu yang akan dibuka
Gambar 7 Aplikasi meminta untuk membuka pin 11/pintu 1
Gambar 8 Server mengkonfirmasi pin 11 / pintu 1 telah terbuka
Paket data setelah ditambahkan enkripsi dan penerapan OTP, tidak dapat
dibaca dan dikirim ulang oleh sniffer jaringan untuk memberi perintah kepada
server untuk membuka pintu. Perintah untuk membuka dan mengunci pintu akan
selalu berubah seperti pada gambar 9, 10, 11 dan 12.
Gambar 9 Aplikasi meminta untuk membuka pintu
Gambar 10 Server menanyakan pin/pintu yang akan dibuka
Gambar 11 Aplikasi meminta untuk membuka pin 11/pintu 1
Gambar 12 Server mengkonfirmasi pin 11 / pintu 1 telah terbuka
Aplikasi atau user memberikan perintah kepada server untuk membuka
atau menutup pintu seperti pada gambar 5 dan 9, selanjutnya server menerima
perintah tersebut dan mengkonfirmasikan pintu mana yang akan dibuka atau
ditutup seperti pada gamabar 6 dan 10. Aplikasi mengirimkan paket yang
berisikan pin atau pintu mana yang akan dibuka atau ditutup seperti pada gambar
7 dan 11, selanjutnya server mengirimkan informasi bahwa pin atau pintu sudah
dibuka atau di tutup kepada aplikasi.
5. Simpulan
Berdasarkan penelitian yang telah dilakukan Raspberry Pi dapat digunakan
sebagai penggerak motor yang dapat diatur berapa berajat gerak tuas motor servo
dan dapat digunakan sebagai kunci tambahan dalam pengamanan pada ruangan.
Memberikan alternative lain dalam metode pengamanan ganda pada motor servo.
Simulasi Sistem Otentikasi pada Motor Servo dengan Menggunakan Sistem
Keamanan OTP yang memanfaatkan username, MAC address dan time login
pada tahap implementasi menunjukkan bahwa Raspberry Pi dapat digunakan
sebagai pengontrol penggerak yang digunakan dalam simulasi sederhana yang
memanfaatkan motor servo sebagai pengaman pada ruangan. posisi derajat tuas
motor servo dapat diatur sesuai dengan kebutuhan user pada kunci rumah yang
digunakan.
Selanjutnya, sistem keamanan pada proses Otentikasi dengan menggunakan
OTP dapat dikategorikan aman. Sistem keamanan OTP masih dapat sadap, akan
tetapi penyadap atau sniffer tetap tidak dapat mengakses motor servo, karena
sniffer tidak memiliki username dan password, serta aplikasi yang digunakan
untuk mengakses motor servo tersebut. Sistem keamanan OTP yang
memanfaatkan MAC address, username, password dan time login sebagai token
dapat dikatakan aman apabila digunakan sebagai pengaman pintu rumah.
Saran pengembangan dalam penelitian selanjutnya, metode keamanan
menggunakan OTP masih dapat dikatakan kurang aman apabila digunakan untuk
mengatasi pencurian data dan sniifing. Karena pada metode ini, hanya
menggunakan sistem enkripsi yang sudah ada. Apabila data yang sedang berjalan
dapat disadap dan dapat memecahkan enkripsi tersebut, maka sniffer dapat
mengetahui aktifitas apa saja yang sedang berjalan. Sehingga pada
pengembangan selanjutnya, perlu keamanan tambahan sistem enkripsi yang
dibuat sendiri untuk melindungi data yang sedang dikirimkan, sehingga pencurian
data dan sniffing dapat diminimalisir.
6. Daftar Pustaka
[1] Kartika Imam Santoso1., 2013 , Dua Faktor Pengamanan Login
WebMenggunakan Otentikasi One Time Password Dengan Hash SHA,
SEMINAR NASIONAL TEKNOLOGI INFORMASI & KOMUNIKASI
TERAPAN 2013
[2] Dian Rahma L.H., Waskitho Wibisono, dan Baskoro Adi Pratomo., 2013 ,
Pengembangan Mekanisme One Time Password dengan Menggunakan
Strategi Dual Channel pada Aplikasi Web Vol.2, No.1
[3] Wirdasari, Dian, 2011, Mekanisme Sistem Otentikasi Pada Protokol
Kerberos Versi 5, Saintikom, 10(3): 219-220.
[4] Decy Nataliana, Iqbal Syamsu, Galih Giantar, 2014, Sistem Monitoring
Parkir Mobil menggunakan Sensor Infrared berbasis RASPBERRY PI Vol.2,
No.1.
[5] Murtiwiyati dan Glenn Lauren., 2013, Rancang Bangun Aplikasi
Pembelajaran Budaya Indonesia Untuk Anak Sekolah Dasar Berbasis
Android. Vol 12, No 2
[6] Endah Budi Purnomowat., 2008, Integrasi Wireless Fidelity (WiFi) pada
jaringan Universal Mobile Telecommunication System(UMTS) Vol 2, No.1.
[7] E. Sediyono, K. I. Santoso and Suhartono, "Secure login by using One-time
Password authentication based on MD5 Hash encrypted SMS," Advances in
Computing, Communications and Informatics (ICACCI), 2013 International
Conference on, Mysore, 2013, pp. 1604-1608.
[8] Syahrul, 2011, KARAKTERISTIK DAN
[9] Allen A. Jostein, Meicsy E.I. Najoan, danPinrolinvic D.K. Manembu, 2015,
Perancangan Routing Protocol Di Jaringan PT. PENGONTROLAN
SERVOMOTOR Majalah Ilmiah UNIKOM Vol.8, No.2.Kawanua
Internetindo Vol.4, No.4
[10] Journey ,https://ccie-or-null.net/2011/05/09/the-cisco-ppdioo-life-cycle/.
Diakses tanggal 29 juni 2016.
[11] https://www.raspberrypi.org/products/raspberry-pi-2-model-b/ Diakses
tanggal 12 july 2016.
[12] http://circuitdigest.com/electronic-circuits/servo-motor-tester-circuit
Diakses tanggal 12 july 2016.