i
KUNCI PINTU DENGAN SMARTPHONE ANDROID
MENGGUNAKAN NFC – ENABLED DAN PASSWORD
TUGAS AKHIR
Oleh :
BOREYS MAYRANDIKA PASARIBU
4211301037
PROGRAM STUDI TEKNIK MEKATRONIKA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI BATAM
2017
ii
KUNCI PINTU DENGAN SMARTPHONE ANDROID
MENGGUNAKAN NFC – ENABLED DAN PASSWORD
TUGAS AKHIR
Oleh :
BOREYS MAYRANDIKA PASARIBU
NIM : 4211301037
Disusun untuk memenuhi salah satu syarat kelulusan Program Diploma IV Program Studi Teknik Mekatronika
Politeknik Negeri Batam
PROGRAM STUDI TEKNIK MEKATRONIKA
POLITEKNIK NEGERI BATAM
iii
PERNYATAAN KEASLIAN TUGAS AKHIR
Saya yang bertanda tangan dibawah ini menyatakan bahwa isi sebagian maupun keseluruhan Tugas Akhir saya yang berjudul : “Kunci Pintu dengan Smartphone Android menggunakan NFC-Enabled dan Password” adalah hasil karya sendiri, diselesaikan tanpa menggunakan bahan yang tidak diijinkan dan bukan merupakan karya pihak lain yang saya akui sebagai karya sendiri. Semua referensi yang dikutip atau dirujuk telah ditulis secara lengkap pada daftar pustaka.
Apabila ternyata pernyataan saya ini tidak benar, saya bersedia menerima sanksi sesuai peraturan yang berlaku.
Batam, 15 Mei 2017
iv
LEMBAR PENGESAHAN TUGAS AKHIR
Tugas Akhir disusun untuk memenuhi salah satu syarat memperoleh gelar Sarjana Terapan Teknik (S.Tr.T)
di
Politeknik Negeri Batam
Oleh
Boreys Mayrandika Pasaribu 4211301037
Tanggal Sidang : 15 Mei 2017
Disetujui oleh :
Dosen Penguji : Dosen Pembimbing :
1. Abdullah Sani, S. ST., M. Sc Siti Aisyah, S. T., M. Sc.
NIK. 113119 NIK. 109063
2. Indra Hardian Mulyadi, S. T., M. Eng NIK. 117179
v
KUNCI PINTU DENGAN SMARTPHONE ANDROID
MENGGUNAKAN NFC – ENABLED DAN PASSWORD
Nama Mahasiswa : Boreys Mayrandika Pasaribu NIM : 4211301037
Pembimbing : Siti Aisyah, S.T., M. Sc. Email : [email protected]
ABSTRAK
Keamanan merupakan sesuatu hal yang sangat penting terutama bagi mereka yang memiliki barang – barang atau benda yang berharga. Terkadang kunci gembok atau kunci biasa belum cukup untuk melindungi dari bahaya pencurian. Oleh karena itu perlunya suatu sistem keamanan selain kunci mekanik sehingga dapat menghindari bahaya pencurian. Kunci tersebut dapat diimplementasikan pada smartphone android sebagai kunci kedua pada pintu sehingga sulit untuk dibuka secara paksa. Pada pintu akan terbuka atau terkunci dengan motor servo. Untuk kunci menggunakan sistem NFC – Enabled pada smartphone dengan cara mengaktifkan konektivitas NFC dari pengaturan smartphone. Ketika perangkat NFC berdekatan dengan NFC Reader, maka secara otomatis sistem yang terpasang pada kunci pintu akan meminta password dan kemudian password tersebut dimasukkan oleh pengguna melalui keypad, ketika smartphone dan password yang dimasukkan benar motor akan menggerakkan kunci pintu sehingga kunci pintu dalam keadaan tidak terkunci. Pengujian dilakukan menggunakan 5 jenis smartphone yang berbeda untuk membuktikan kompetibel atau kecocokan sistem NFC – Enabled. Smartphone bermerek Sony M4 Aqua, LG G3 dan HTC Desire Eye memilki UID(Unique ID) yang sama sedangkan smartphone bermerek Samsung Note 3 dan Samsung S4 memiliki UID yang selalu berubah – ubah ketika proses pengiriman data ke NFC Reader. Berdasarkan hasil pengujian, 5 jenis smartphone yang diuji belum dapat dijadikan kunci pintu jika menggunakan sistem NFC – Enabled, ini dikarenakan data yang diterima tidak sesuai dengan data yang tersimpan dan ada smartphone yang memiliki UID yang sama sehingga menyulitkan mikrokontroler mengenali smartphone namun hal ini dapat diatasi dengan password pada lapisan keamanan kedua yang terdapat pada sistem.
vi
DOOR LOCK WITH SMARTPHONE ANDROID USING
NFC-ENABLED AND PASSWORD
Student Name : Boreys Mayrandika Pasaribu NIM : 4211301037
Supervisor : Siti Aisyah, S. T., M. Sc. Email : [email protected]
ABSTRACT
Security is a very important thing especially for those who have valuable goods or things. Sometimes a lock or a regular key is not enough to protect against the danger of theft. Therefore, the need for a security system must be other than a mechanical key to avoid the danger of theft. The key can be implemented on the android smartphone as the second key on the door making it hard to forcibly open. At the door will be open or locked with servo motor. For keys using NFC – Enabled system on smartphone by enabling NFC connectivity from smartphone settings. When the NFC device is adjacent to the NFC Reader, then the installed system on the door lock will ask for the password and then the password is entered by the user through the keypad, when the smartphone and password are entered correctly the motor will move the door lock so that the door lock is unlocked. Testing is done using 5 different types of smartphone to prove the compatibility or compatibility of NFC system - Enabled. The Sony M4 Aqua, LG G3 and HTC Desire Eye smartphones have the same UID (Unique ID), while the Samsung Note 3 and Samsung S4 branded smartphones have an ever-changing UID when shipping data to NFC Reader. Based on the test results, 5 types of smartphones tested can not be used as a door lock if using NFC system - Enabled, this is because the data received does not match the data stored and there is a smartphone that has the same UID making it difficult for microcontrollers recognize the smartphone, however it can be resolved by a password in the second layer security that found on the system .
vii
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa karena atas berkat dan rahmat-Nyalah penulis dapat menyelesaikan Tugas Akhir yang berjudul “Kunci Pintu dengan Smartphone Android Menggunakan NFC – Enabled dan Password”. Adapun tujuan penulisan laporan Tugas Akhir ini adalah sebagai salah satu syarat untuk kelulusan. Tugas Akhir ini tidak akan tercapai tanpa bantuan, dukungan, dan motivasi dari berbagai pihak, untuk itu penulis mengucapkan terima kasih kepada :
1. Ibu Siti Aisyah, S. T., M. Sc selaku Dosen Pembimbing yang telah memberikan masukan dan solusi dalam pengerjaan.
2. Bapak Abdulah Sani, Bapak Budi Sugandi dan Bapak Indra Hardian Mulyadi selaku dosen penguji, atas saran dan kritikannya yang membangun.
3. Kedua orang tua dan seluruh keluarga tercinta, yang telah memberikan doa dan dukungan kepada penulis.
4. Kepada teman – teman Program Studi Mekatronika Angkatan 2013 yang telah membantu dalam proses pembuatan Tugas Akhir.
5. Seluruh pihak yang tidak dapat disebutkan satu persatu, yang telah banyak membantu selama ini.
Dalam penyusunan Tugas Akhir ini, penulis menyadari masih banyak kekurangan di dalam laporan Tugas Akhir ini sehingga penulis mengharapkan bantuan berupa kritik dan saran yang membangun dari berbagai pihak guna penyempurnaan untuk selanjutnya. Akhir kata penulis mengucapkan terima kasih, semoga tulisan ini dapat bermanfaat bagi pembaca dan pihak – pihak yang membutuhkan.
Batam, 15 Mei 2017 Penulis
viii
DAFTAR ISI
PERNYATAAN KEASLIAN TUGAS AKHIR ... iii
LEMBAR PENGESAHAN TUGAS AKHIR ... iv
ABSTRAK ... v
ABSTRACT ... vi
KATA PENGANTAR ... vii
DAFTAR ISI ... viii
DAFTAR GAMBAR ... x DAFTAR TABEL ... xi BAB I PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Perumusan Masalah ... 2 1.3 Batasan Masalah ... 2
1.4 Tujuan dan Manfaat ... 2
1.5 Sistematika Penulisan ... 2
BAB II DASAR TEORI ... 4
2.1 NFC (Near Field Communication) ... 4
2.2 Motor Servo ... 7
2.3 Arduino Mega 2560 ... 7
BAB III PERANCANGAN SISTEM ... 9
3.1 Rancangan Sistem ... 9
3.2 Rancangan Perangkat Keras (Hardware) ... 9
3.3 Rancangan Mekanik ... 9
3.4 Rancangan Perangkat Lunak (Software) ... 10
BAB IV ANALISA DAN HASIL ... 14
4.1 Buka Kunci Pintu ... 15
ix
4.3 Perubahan PIN ... 16
4.4 Keluar atau Menu Awal ... 17
4.5 Pengujian data NFC Smartphone ... 18
BAB V KESIMPULAN DAN SARAN ... 21
5.1 Kesimpulan ... 21
5.2 Saran ... 21
DAFTAR PUSTAKA ... 22
x
DAFTAR GAMBAR
Gambar 2.1 Antena NFC pada Smartphone ... 4
Gambar 2.2 NFC Handover ... 5
Gambar 2.3 NFC Transmission ... 5
Gambar 2.4 NFC Shield PN532 ... 6
Gambar 2.5 Motor Servo Tower MG995 ... 7
Gambar 2.6 Arduino Mega 2560 ... 8
Gambar 3.1 Proses Perangkat Keras... 9
Gambar 3.2 Prototype pintu ... 10
Gambar 3.3 Bagian Depan pintu ... 10
Gambar 3.4 Sistem dalam program Arduino ... 10
Gambar 3.5 Login atau Buka Kunci ... 11
Gambar 3.6 Daftar User Baru ... 12
Gambar 3.7 Ubah Password ... 13
Gambar 4.1 NFC – Enabled ... 14
Gambar 4.2 proses masuk /buka kunci ... 15
Gambar 4.3 Pintu dapat dibuka ... 15
Gambar 4.4 Verifikasi admin ... 16
Gambar 4.5 Pengguna baru dan PIN baru ... 16
Gambar 4.6 proses merubah PIN ... 17
Gambar 4.7 PIN lama dan PIN baru ... 17
Gambar 4.8 Lock the door atau Exit ... 17
Gambar 4.9 ID NFC Samsung Note 3 ... 18
Gambar 4.10 ID NFC Sony M4 Aqua ... 18
Gambar 4.11 ID NFC Samsung S4 ... 19
Gambar 4.12 ID NFC HTC Desire Eye ... 19
xi
DAFTAR TABEL
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan dunia telekomunikasi saat ini semakin baik dan maju. Hal ini ditunjukkan melalui banyaknya sistem komunikasi. Bahkan komunikasi saat ini tidak hanya digunakan sebagai untuk berkomunikasi atau bertukar informasi, namun juga sebagai media untuk mengendalikan sesuatu. Sistem komunikasi NFC (Near Field Communication) merupakan teknologi komunikasi yang sedang berkembang dan dapat mengirim suatu informasi dengan cepat dan praktis hanya dengan mendekatkan perangkat[1].
Dalam suatu jurnal menyatakan bahwa perlu adanya suatu saluran keamanan untuk mengisolasi komunikasi antar perangkat saat melakukan pengiriman data, ini dilakukan untuk mencegah terjadinya Data Corruption and Manipulation. Dalam jurnal tersebut menyebutkan bahwa solusi dari keamanan pada NFC adalah menggunakan 3DES atau AES sebagai saluran keamanan[2].
Keamanan NFC memiliki tingkat keamanan yang baik, sehingga dapat digunakan sebagai kunci dalam suatu sistem. NFC sering digunakan sebagai metode pembayaran atau
payment. Begitu amannya teknologi NFC sehingga memicu perkembangan dalam dunia
keamanan kedepannya seperti kunci untuk membuka pintu dengan mendekatkan perangkat NFC (NFC Tag, smartphone atau kartu NFC) ke NFC Reader, secara otomatis kunci dari pintu akan terbuka[1]. Pada suatu jurnal mengatakan bahwa dengan menggunakan
smartphone dalam mode HCE, maka sangat memungkinkan bagi orang banyak untuk
menggunakan smartphone sebagai satu jenis kunci untuk semua sistem keamanan. Tetapi dalam sistem kunci pintu memiliki kelemahan yang sama dengan kunci mekanik pada umumnya, jika ada orang lain yang dapat kunci atau perangkat NFC tersebut maka orang lain dapat membukanya[3].
Dari hal tersebut maka akan mengembangkan penelitian sistem kunci pintu dengan
smartphone menggunakan NFC-Enabled serta menambahkan password sebagai keamanan
kedua saat selesai melakukan verifikasi UID (Unique ID) NFC smartphone maka secara otomatis sistem akan meminta password untuk dikirim ke sistem keamanan kunci pintu melalui keypad, jika perangkat smartphone terdaftar dalam NFC reader maka kunci pintu akan terbuka.
2
1.2 Perumusan Masalah
Permasalahan dalam penelitian ini adalah sebagai berikut :
1. Bagaimana menggunakan metode autentikasi perangkat dan password dalam NFC ?
1.3 Batasan Masalah
Pada penelitian ini permasalahan yang dibahas, dibatasi dalam beberapa hal sebagai berikut :
1. NFC hanya dapat berkomunikasi dengan jarak maksimal kurang dari 5 cm. 2. Sistem kunci pintu hanya berbentuk prototype.
1.4 Tujuan dan Manfaat
Tujuan dari penelitian ini adalah
1. Membuat smartphone android untuk membuka kunci pintu. 2. Membuat kunci pintu yang dapat terbuka dan mengunci kembali.
3. Membuat NFC Reader mengenali perangkat smartphone dan password tertentu. 4. Membuat password dapat diubah dari Arduino.
Adapun manfaat dari penelitian ini adalah membuat suatu kunci dari smartphone
android untuk dapat membuka pengunci pintu.
1.5 Sistematika Penulisan
Sistematika penulisan penelitian ini adalah sebagai berikut : BAB I : Pendahuluan
Pada bagian ini berisi mengenai latar belakang, perumusan masalah, batasan masalah, tujuan dan manfaat, serta sistematika penulisan.
BAB II : Dasar Teori
Pada bagian ini menjelaskan secara umum tentang NFC, Motor Servo dan Arduino Mega.
BAB III : Perancangan Sistem
Pada bagian ini menampilkan perancangan sistem, perancangan perangkat keras dan perancangan perangkat lunak.
3 BAB IV : Hasil dan Analisa
Pada bagian ini menjelaskan data yang didapat saat melakukan pengujian dalam penelitian serta menganalisa setiap data dalam pengujian.
BAB V : Kesimpulan dan Saran
Pada bagian ini memberi kesimpulan dari hasil dan analisa dalam penelitian serta saran dalam perbaikan sistem.
4
BAB II
DASAR TEORI
2.1 NFC (Near Field Communication)
Komunikasi jarak-dekat (atau Near-field communication) (NFC) merupakan bentuk komunikasi nirkabel jarak-pendek di mana antena yang digunakan lebih pendek daripada gelombang sinyal operator (yang mencegah interferensi gelombang dari antena yang sama). Pada jarak-dekat (tidak ada definisi universal berapa panjang gelombang jarak-pendek namun untuk tujuan praktikal anggap saja panjang gelombangnya seperempat dari gelombang biasa) antena dapat menghasilkan medan elektrik, atau medan magnetik, namun tidak medan elektromagnetik. Komunikasi NFC merupakan medan eletrik yang termodulasi, atau medan magnetik termodulasi, namun tidak berasal dari gelombang elektromagnetik radio. Sebagai contoh, antena putaran kecil (juga dikenal sebagai putaran magnetis) menghasilkan medan magnet, yang dapat diambil oleh antena putar kecil lainnya, jika cukup dekat[2].
2.1.1 NFC Smartphone
Pada mode peer to peer, dua perangkat NFC saling bertukar informasi satu dengan yang lain serta menggunakan power yang lebih sedikit, ini dikarenakan masing – masing perangkat menggunakan tenaga yang terdapat pada perangkat itu sendiri. Pada mode HCE,
smartphone berperan sebagai sebuah kartu pasif biasa pada umumnya[4].
NFC smartphone memiliki antena yang sama dengan perangkat NFC lainnya. Ada beberapa smartphone yang menempatkan antena NFC pada bagian baterai ada juga langsung tertanam pada bagian dalam belakang casing smartphone. Antena inilah yang nantinya akan memancarakan medan magnetik[5].
5 2.1.2 Handover NFC dan Transmision NFC
Dalam teknologi NFC, komunikasi yang terjadi memang menggunakan NFC tetapi pengiriman datanya dilakukan dengan teknologi yang berbeda seperti Wi – Fi atau Bluetooth. NFC yang menggunakan Bluetooth sebagai pengiriman data menggunakan power yang sedikit dan tidak membutuhkan pairing tetapi data yang ditransfer hanyalah (424 Kbit/s) ini lebih sedikit dibanding dengan menggunakan Bluetooth V2.1 (2.1 Mbit/s)[4].
Gambar 2.2 NFC Handover
NFC menggunakan teknik coupling induktif sebanding dengan prinsip transformator yaitu magnetik NFC dari dua kumparan konduktor digunakan untuk memasangkan inisiator (Polling) perangkat dan sasaran (Listener) perangkat. Dalam melakukan pairing kumparan inisiator dan sasaran, pasif perangkat listening juga mempengaruhi perangkat polling yang aktif. Sebuah variasi dalam impedansi dari listening hasil perangkat dalam amplitudo atau perubahan tegangan antena polling perangkat, terdeteksi oleh perangkat polling[4].
6 2.1.2 NFC Shield Arduino
NFC Shield memiliki modul pemancar PN532 yang terintegrasi yang menangani komunikasi contactless di 13.56MHz. Shield ini dapat membaca dan menulis, shield ini menerapkan titik ke titik pertukaran data dengan NFC Shield dan smartphone. Dalam versi baru ini, ditetapkan PCB independen yang dapat dengan mudah meregang keluar dari setiap selungkup yang digunakan, meninggalkan lebih banyak ruang untuk merancang eksterior proyek[6].
Gambar 2.4 NFC Shield PN532 Adapun fitur yang terdapat pada shield ini adalah sebagai berikut :
1. Input Voltage : 5 V 2. Typical Current : 100mA 3. <5 cm max effective range 4. SPI pin saving interface
5. Serve for contactless communication at 13.56MHz 6. Support P2P communication
7. Support ISO 14443 Type A and Type B protocols
Pada NFC PN532 menggunakan komunikasi I2C selain karena penggunaan kabel yang sedikit, I2C juga merupakan komunikasi yang paling banyak digunakan diindustri. Untuk dapat menghubungkan PN532 dengan arduino menggunakan komunikasi I2C perlu menambahkan suatu sintaks sebagai berikut.
#include <Wire.h> #include <PN532_I2C.h> #include <PN532.h>
PN532_I2C pn532i2c(Wire); PN532 nfc(pn532i2c);
7
2.2 Motor Servo
Motor servo adalah sebuah motor DC dengan sistem umpan balik tertutup di mana posisi rotor-nya akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo. Motor ini terdiri dari sebuah motor DC, serangkaian gear, potensiometer dan rangkaian control. Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel motor [7].
Gambar 2.5 Motor Servo Tower MG995 Spesifikasi motor servo Tower MG995 [7] :
1. Berat : 55g
2. Dimensi : 40.7 x 19.7 x 42.9 mm
3. Kecepatan Operasi : 0.2 s/60o (4.8 V), 0.16 s/60o (6 V) 4. Tegangan Operasi : 4.8 V – 7.2 V
5. Dead band width : 5 us 6. Jarak suhu : 0oC– 55oC
2.3 Arduino Mega 2560
Mikrokontroler Mega 2560 adalah suatu board yang berbasis ATmega2560. Board ini memiliki 54 digital input/output dimana terdapat 15 pin yang dapat digunakan sebagai keluaran PWM, 16 input analog, 4 UARTs, memiliki 16Mhz crystal oscillator, koneksi USB, jack untuk power arduino, ICSP header dan tombol reset [8]. Arduino dapat dijalankan dengan menghubungkan arduino ke komputer melalui kabel USB atau menggunakan AC to DC adapter atau juga dapat menggunakan batrei sebagai sumber power dari arduino mega 2560. Bentuk fisik arduino mega sebagai berikut.
8 Gambar 2.6 Arduino Mega 2560
2.3.1 EEPROM (Electrically Erasable Programmable Read – Only Memory)
Pada mikrokontroler arduino terdapat suatu memori yang disebut EEPROM, fungsi memori ini sebagai tempat penyimpanan suatu data atau nilai saat arduino/mikrokontroler dalam keadaan mati atau turned off , memori ini seperti hard drive pada umumnya namun dalam bentuk yang kecil. EEPROM pada arduino memiliki nilai yang variasi tergantung jenis arduino, ATmega328 memiliki ruang penyimpanan sebesar 1024 bytes, ATmega 168 dan ATmega 8 memiliki penyimpanan sebesar 512 bytes, ATmega1280 dan ATmega2560 memiliki ruang penyimpanan sebesar 4 KB (4096 bytes) [9]. Dalam penelitian ini menggunakan EEPROM pada arduino mega 2560 sebesar 4KB, kegunaan memori ini sebagai penyimpanan UID dan password.
9
BAB III
PERANCANGAN SISTEM
3.1 Rancangan Sistem
Dalam sistem terdapat beberapa proses yang menjadi pendukung dalam perancangan sistem kunci pintu ini, didalam sistem terdapat 3 proses antara lain:
1. Proses Masuk
Proses ini berfungsi jika pengguna hendak membuka kunci dengan menekan keypad “A”.
2. Proses Pendaftaran Pengguna Baru.
Proses ini berfungsi untuk mendaftar kan pengguna baru dengan menekan keypad “B” dan melewati proses verifikasi admin.
3. Proses Perubahan PIN atau password.
Proses ini berfungsi memantu pengguna atau admin untuk melakukan perubahan PIN atau password
3.2 Rancangan Perangkat Keras (Hardware)
Dalam prototype ini, perangkat keras berfungsi sebagai bukti sistem dapat berjalan dengan baik. Dalam sistem ini menggunakan mikrokontroler arduino mega 2560 sebagai otak atau perangkat untuk memproses jalannya sistem. Pada NFC Reader menggunakan PN532 dan penggerak kunci pintu adalah motor servo..
Gambar 3.1 Proses Perangkat Keras
3.3 Rancangan Mekanik
Perancangan mekanik merupakan prototype sebuah pintu terbuat dari bahan kayu, dimana bagian kunci pintu berbahan besi seperti kunci pintu rumah pada umumnya, pada bagian depan pintu hanya terlihat LCD dan keypad sedangkan NFC Reader PN532, Arduino Mega 2560 dan data logger terdapat pada bagian dalam pintu.
10
Gambar 3.2 Prototype pintu
Gambar 3.3 Bagian Depan pintu
3.4 Rancangan Perangkat Lunak (Software)
Peran perangkat lunak sebagai pengirim data dan penerima data serta sebagai penggerak dari motor servo. Perangkat lunak dioperasikan melalui program pada Arduino mega 2560. Hal ini dapat jelas terlihat dari Gambar 3.4 yang menjelaskan cara kerja sistem secara umum.
11 3.4.1 Proses Login / Masuk
Pada proses login, sistem akan meminta pengguna untuk melakukan scan perangkat NFC yang ada pada smartphone android. Kemudian jika perangkat smartphone tidak dikenal maka akan kembali ke proses awal atau “Start”, tetapi jika dikenal maka sistem akan meminta PIN, PIN dimasukkan dengan menekan keypad. Jika PIN benar maka kunci akan terbuka dan kembali ke proses awal
12 3.4.2 Proses Daftar Pengguna Baru
Dalam proses ini memerlukan id atau NFC dari admin, jika bukan admin maka tidak bisa melakukan proses pendaftaran user baru. Jika NFC admin dan PIN admin sudah sesuai maka sistem akan meminta scan NFC untuk pengguna yang baru. Saat proses scan sistem akan memastikan tidak ada 2 pengguna yang memiliki ID yang serupa. Jika ada yang sama akan kembali ke proses awal. Jika belum ada, sistem akan meminta password baru untuk pengguna baru, setelah itu sistem kembali ke awal.
13 3.4.3 Proses Perubahan Password
Proses perubahan password, melakukan scan id pengguna smartphone setelah itu masukan password yang lama kemudian sistem akan mengecek password yang lama merupakan password yang benar, jika iya pengguna dapat memasukkan password yang baru.
14
BAB IV
HASIL DAN ANALISA
Pengujian NFC dilakukan pada 5 jenis smartphone yang berbeda dan memiliki fitur NFC. NFC pada smartphone harus diaktifkan agar menjadi mode HCE atau host-card
emulation dan smartphone dalam posisi writer. Hal ini harus dilakukan agar perangkat NFC smartphone dapat terbaca oleh NFC Reader. Sedangkan pada NFC Reader menggunakan
protokol ISO-14443A dalam menerima data NFC smartphone.
Gambar 4.1 NFC – Enabled
Berikut sintaks program pada Arduino mega untuk mengaktifkan protokol ISO14443A pada PN532 NFC Reader, dengan sintaks ini PN532 dapat membaca HCE dari
smartphone.
void selectUser(){ uint8_t success;
uint8_t uid[] = { 0, 0, 0, 0 }; uint8_t uidLength;
success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength); if(success) {
//berisi program untuk dieksekusi
} }
15 Pada bagian isi program berisi mengenai masing – masing proses sesuai dengan tujuan dalam penelitian ini.
4.1 Buka Kunci Pintu
Pengujian ini dilakukan sesuai dengan proses pada rancangan sistem. Menekan keypad “A”, kemudian Smartphone didekatkan dengan NFC Reader yang tersembunyi dibelakang keypad, ketika smartphone terdeteksi dan dibaca oleh NFC Reader, sistem akan meminta pengguna untuk memasukkan 4-digit PIN.
Gambar 4.2 proses masuk /buka kunci
Gambar 4.3 Pintu dapat dibuka
Ketika smartphone yang terbaca dan PIN yang dimasukkan benar, maka motor bergerak membuka kunci pintu, dan pintu pun dapat dibuka.
4.2 Pendaftaran pengguna baru
Dalam sistem hanya admin yang dapat menambah pengguna baru sehingga diperlukan verifikasi admin terlebih dahulu. Pengguna menekan keypad “B” untuk masuk kedalam proses pembuatan pengguna baru. Kemudian sistem akan meminta pengguna untuk memverifikasi bahwa disetujui admin dengan mendekatkan kartu admin dan memasukkan
16 PIN admin, dari dua hal ini dapat menjadi bukti bahwa penambahan pengguna disetujui oleh admin. Setelah melewati proses verifikasi admin pengguna yang baru diminta untuk mendekatkan smartphone ke NFC Reader dan memasukkan PIN baru.
Gambar 4.4 Verifikasi admin
Setelah melakukan verifikasi admin, sistem memperbolehkan penambahan pengguna baru. Pengguna mendekatkan perangkat smartphone ke NFC Reader, jika sudah terbaca UID(Unique ID) dari smartphone selanjutnya pengguna diminta untuk memasukkan 4-digit PIN sebagai kunci kedua saat ingin membuka kunci pintu.
Gambar 4.5 Pengguna baru dan PIN baru
4.3 Perubahan PIN
Perubahan PIN dapat dilakukan pada menu utama dengan menekan keypad “C”, kemudian mendekatkan smartphone ke NFC Reader. Secara ototmatis sistem akan meminta pengguna untuk memasukkan PIN yang lama sebagai bukti bahwa pengguna ingin merubah PIN, jika PIN lama yang dimasukkan benar maka sistem akan meminta pengguna untuk memasukkan PIN yang baru dan secara otomatis PIN yang baru akan disimpan kedalam EEPROM.
17
Gambar 4.6 proses merubah PIN
Gambar 4.7 PIN lama dan PIN baru
4.4 Keluar atau Menu Awal
Dalam setiap proses dalam sistem terdapat perintah keluar atau kembali ke menu awal sebagai jalan keluar jika proses dalam keadaan stuck atau error. Dalam sistem jika ingin kembali ke menu awal atau keluar cukup dengan menekan “*” atau “#”. Seperti pada gambar 4.8.
18 Semua proses diatas berjalan dengan baik tanpa terkecuali satupun, ini dikarenakan UID pada smartphone dengan UID yang tersimpan dimemori Arduino itu serupa sehingga saat melakukan proses login/masuk untuk membuka pintu sistem langsung merespon dengan baik, begitu pula proses penambahan pengguna baru dan perubahan password/PIN.
4.5 Pengujian data NFC Smartphone
Dalam pengujian dilakukan menggunakan 5 smartphone yang berbeda merek dan seri guna mengetahui kecocokan smartphone bermerek lain terhadap sistem ini. hasil data sebagai berikut :
1. Pengujian 1 pada Samsung Note 3 N900
Data yang dimiliki oleh Samsung Note 3 cenderung melakukan perubahan setiap melakukan scan terhadap NFC Reader.
Gambar 4.9 ID NFC Samsung Note 3 2. Pengujian 2 pada Sony M4 Aqua
Sony M4 Aqua memiliki UID yang tetap tidak ada perubahan pada UID saat melakukan scan terhadap NFC Reader.
19 3. Pengujian 3 pada Samsung S4 I9500
Samsung S4 menunjukan nilai UID yang selalu berubah – ubah saat terdeteksi NFC Reader.
Gambar 4.11 ID NFC Samsung S4 4. Pengujian 4 pada HTC Desire Eye
Smartphone HTC memiliki nilai UID yang tetap ketika berdekatan dengan NFC Reader
Gambar 4.12 ID NFC HTC Desire Eye 5. Pengujian 5 pada LG G3
LG G3 menghasilkan UID yang tetap tidak ada perubahan data setiap terbaca oleh NFC Reader.
20 Gambar 4.13 ID NFC LG G3
Berikut rangkuman data pengujian dari 5 jenis smartphone dalam penelitian disusun kedalam tabel 4.1
Tabel 4.1 UID Smartphone
No. Merek Smartphone Data UID 1 Data UID 2 Ket.
1. Samsung Note 3 N900 08 A7 CE 24 08 2E 41 AB BERUBAH
2. Sony M4 Aqua 01 02 03 04 01 02 03 04 TETAP
3. Samsung S4 I9500 08 DC 10 24 08 A9 13 E1 BERUBAH
4. HTC Desire Eye 01 02 03 04 01 02 03 04 TETAP
5. LG G3 01 02 03 04 01 02 03 04 TETAP
Dari hasil data diatas smartphone bermerek Samsung S4 dan Note 3 cenderung memiliki UID yang berubah – ubah dan smartphone merek lainnya memiliki UID yang sama. Karena perubahan UID inilah NFC Reader tidak dapat mengenali perangkat sehingga mengakibatkan kunci pintu tidak dapat terbuka. Sedangkan jenis smartphone lainnya memiliki UID yang tetap, kunci pintu dapat terbuka namun ketiga smartphone tersebut juga memiliki UID yang sama sehingga terdapat masalah saat memasukkan PIN dan penambahan pengguna baru, sistem menyatakan bahwa perangkat sudah terdaftar pada perangkat belum pernah di daftar kedalam sistem.
21
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan hasil dan analisa maka dapat disimpulkan sebagai berikut :
1. Smartphone bermerek samsung cenderung melakukan perubahan ID NFC sehingga sangat sulit bagi sistem untuk mengenali perangkat NFC sedangkan NFC pada smartphone lainnya memiliki ID NFC yang sama.
2. smartphone yang memiliki ID NFC yang sama dapat diatasi dengan adanya password sebagai keamanan kedua dalam ssistem ini.
5.2 Saran
Adapun saran bagi peneliti untuk mengembangkan sistem kunci pintu menggunakan NFC – Enabled adalah sebagai berikut :
1. Sistem HCE dapat menjadi sangat berperan sebagai pertukaran informasi jika sistem HCE dapat mengirim data ke NFC Reader, baik itu angka, huruf atau data lainnya.
2. Akan lebih menarik jika sistem kunci dapat diterapkan secara online sehingga dapat memonitor dimana saja dan kapan saja
22
DAFTAR PUSTAKA
[1] Garima Jain and Sanjeet Dahiya, “NFC : Advantages, Limits and Future Scope” International Journal on Cybernetics & Informatics (IJCI) Vol. 4, No. 4, August 2015. [2] Collin Mulliner, “Vulnerability Analysis and Attacks on NFC-enables Mobile Phones” International Conference on Availability, Reliability and Security, 2009
[3] Nurbek Saparkhojayev, Aybek Nurtajev and Gulnaz Baimenshina, “Access Control and Management System Based on NFC – Technology by the Use of Smartphone as Keys” Middle – East Journal of Scientific Research, 2014
[4] Roland Minihhold, “Near Field Communication (NFC) Technology and Measurements” White paper Rohde & Schwarz GmbH, 2011.
[5] Byungje Lee, Byeongkwan Kin and Sunghyun Yang. “Enhanced Loop Structure of NFC Antenna for Mobile Handset Applications” International Journal of Antennas and Propagation Volume 2014, Article ID 187029, 6 pages, Kwangwoon University, 8 April 2014
[6] Maulidar, Septian Rizky. “Smart Car Parking System pada Apartemen menggunakan Teknologi Near Field Communication (NFC)” Tugas Akhir, Universitas Widyatama, Bandung, 2014
[7] Motor Servo. Tower MG955, (online),
(http://www.electronicoscaldas.com/datasheet/MG995_Tower-Pro.pdf, diakses 31 Mei 2016)
[8] Arduino. Arduino Mega 2560, (online),
(https://www.arduino.cc/en/Main/arduinoBoardMega2560, diakses 30 Mei 2016).
[9] Arduino. EEPROM, (online), (https://www.arduino.cc/en/Reference/EEPROM, diakses 15 Mei 2017).
23
LAMPIRAN A. Program Arduino
//=====================NFC Library===================== #include <Wire.h> #include <PN532_I2C.h> #include "PN532.h" PN532_I2C pn532i2c(Wire); PN532 nfc(pn532i2c); uint8_t uid[] = { 0, 0, 0, 0 }; int id_hex[4] = {0,0,0,0};
//===================Date & Time Library================= #include <TimeLib.h>
#include <DS1307RTC.h> int timEx;
int timEx2=0;
//===================Data Logger Library================= #include <SPI.h>
#include <SD.h> File userLog;
//===================EEPROM============================= #include <EEPROM.h>
int i=0;int k=0;int j=0; int conf=0;
byte userByte;
//=============Motor, Keypad & LCD Library============== #include <Servo.h>
#include <Keypad.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x3F // lcd address
/** the current address in the EEPROM (i.e. which byte we're going to write to next) **/
LiquidCrystal_I2C lcd(I2C_ADDR, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address
Servo ServoMotor; const byte ROWS = 4; const byte COLS = 4; char keys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} };
//===============Variable and User Container============== char _pass[4] = {'-','-','-','-'};
int position = 0; int button = 48; //pi int buttonState; int doorState=0; int a=7; //lcd cursor
24
byte rowPins[ROWS] = { 7, 6, 5, 4 }; byte colPins[COLS] = { 3, 2, 1, 0 };
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); void setup()
{
lcd.begin(16,2); //Start LCD
setSyncProvider(RTC.get); // the function to get the time from the RTC
sdStart(); //Checking SD Card as Data Logger nfcStart(); //Checking NFC Shield
ServoMotor.attach(9); //Pin Analog for Servo
LockedPosition(true); //Door position must be locked
pinMode(button,INPUT_PULLUP); //push button default for NO
adminID(); //if want to reset the admin password uncomment this line }
//===============Endless Program============== void loop(){
timEx = millis(); //LCD refresh to get the RTC
char key = keypad.getKey(); //Get Key from the keypad
lcd.setCursor(a,1); //lcd position if(key) {
LcdCursor(); //to display * while push the key }
if (key == '*' || key == '#') //to reset the program and back to home {
LockedPosition(true); position = 0;
}
if (key == _pass[position]) //password true then position = 4 { position ++; } if(a>11){ passSalah(); }
if (position == 4) //position = 4 it means motor make the lock open { LockedPosition(false); } //login user if(key == 'A'){ selectUser(); }
//create user or forgot user password, administrator required if(key == 'B'){
adminVerification(); }
//change password
25
if(key == 'C'){ changePass(); }
//delete all the user if(key == 'D'){ for(i=0;i<240;i++){ EEPROM.write(i,0); } lcdReset(); } //Button in NO Mode buttonState = digitalRead(button); if(buttonState == LOW){ if(doorState == 0){ LockedPosition(false); } else{ LockedPosition(true); } delay(2000); } //Home Display..
if(timEx-timEx2 >= 1000 && conf == 0){ timEx2 = timEx; lcd.setCursor(0,0); lcd.print("|"); lcd.print(hour()); printDigits2(minute()); printDigits2(second()); lcd.print("|-NFC-|"); } }
void LockedPosition(int locked) { if (locked) { closeDoor(); ServoMotor.write(0); doorState=0; lcdReset(); } else { openDoor(); ServoMotor.write(90); conf=1; doorState=1; lcd.setCursor(0,0); lcd.print("Press '*' or '#'"); lcd.setCursor(0,1);
lcd.print("To Lock the Door"); position=0;
} }
26 void lcdReset(){ a=7;position=0; conf=0; passKey(); lcd.setCursor(0,1); lcd.print(" -- Welcome -- "); }
//Show if password is wrong void passSalah(){ position = 0; lcd.setCursor(0,0); lcd.print("Pasword Salah! "); lcd.setCursor(0,1); lcd.print("---"); delay(1000); lcdReset(); } //Password reset void passKey(){
_pass[0] = 'x'; _pass[1] = 'x'; _pass[2] = 'x'; _pass[3] = 'x'; }
//to display * while touch the keypad void LcdCursor(){ lcd.setCursor(a,1); lcd.print('*'); a++; } //==============================================================// //============= Initial Start/checking device =================// void nfcStart(){
nfc.begin(); //memulai komunikasi NFC
uint32_t versiondata = nfc.getFirmwareVersion(); //mengecek NFC aktif atau tidak if (! versiondata) { while (1); // halt } lcd.setCursor(0,0); lcd.print("Find PN532 NFC "); lcd.setCursor(0,1); lcd.print("---"); delay(1000); nfc.SAMConfig(); }
//mengecek SD card ada atau tidak void sdStart(){ if(!SD.begin(10)){ lcd.setCursor(0,0); lcd.print("No SD Card "); lcd.setCursor(0,1); lcd.print("---"); delay(1000); } else{ lcd.setCursor(0,0); lcd.print("Find SD Card ");
27 lcd.setCursor(0,1); lcd.print("---"); delay(1000); } }
//Admin id car and admin default password "1234" void adminID(){ EEPROM.write(240,234); EEPROM.write(241,243); EEPROM.write(242,148); EEPROM.write(243,165); EEPROM.write(244,49); EEPROM.write(245,50); EEPROM.write(246,51); EEPROM.write(247,52); } //=============================================================// //======================Ubah Password==========================// //Fungsi untuk melakukan perubahan password pengguna
void changePass(){ uint8_t success;
uint8_t uid[] = { 0, 0, 0, 0 }; // Buffer to store the returned UID uint8_t uidLength;
lcd.setCursor(0,0);
lcd.print("Change Password?"); lcd.setCursor(0,1);
lcd.print("Scan Your Device");
j=0; //start reading nfc i=0;
a=4; //posisi cursor pada LCD
success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength); //mendeteksi ada perangkat nfc atau tidak
if(success) {
//mengambil data dari pengguna for(k=0;k<4;k++){
id_hex[k] = uid[k]; }
//mengecek data pengguna dengan data yang ada pada EEPROM while(i<248){ userByte = EEPROM.read(i); if(userByte == uid[j]){ i++; if(j==3){ j=0; lcd.setCursor(0,0);
28
lcd.print("old Password? "); lcd.setCursor(0,1);
lcd.print("=>> "); delay(1000);
//mengecek password pengguna dengan yang ada pada EEPROM for(k=0;k<4;k++){
_pass[k] = EEPROM.read(i); char key = keypad.getKey(); while(key == 0){ key = keypad.getKey(); } LcdCursor(); if(_pass[k] == key){ i++;j++; } else{ j=0; } }
//memasukkan password baru if(j==4){ i=i-4; lcd.setCursor(0,0); lcd.print("New Password "); lcd.setCursor(0,1); lcd.print("=>> "); a=4;position=0;
//mengambil data dari keypad untuk disimpan di EEPROM for(k=0;k<4;k++){
char key = keypad.getKey(); while(key == 0){ key = keypad.getKey(); } _pass[k] = key; LcdCursor(); }
code_save(); //menyimpan password baru ke EEPROM
changePassDate(); //menyimpan tanggal perubahan password ke SD card
lcdReset(); //kembali ke menu utama i=250; } else{ passSalah(); } }
29 j++; } else { i=i+8; } }
//mencapai batas maksimun user yang di cek if(i==248){
lcd.setCursor(0,0);
lcd.print(" User Not Found "); lcd.setCursor(0,1);
lcd.print("---"); delay(1000);
lcdReset(); //kembali ke menu utama }
} else{
lcd.setCursor(0,1);
lcd.print(" --Time Out-- "); delay(1000);
lcdReset(); }
}
//============Save Password ke EEPROM========================//
//fungsi menyimpan password baru ke dalam EEPROM sesuai alamat memorinya void code_save(){ EEPROM.write(i,_pass[0]); i++; EEPROM.write(i,_pass[1]); i++; EEPROM.write(i,_pass[2]); i++; EEPROM.write(i,_pass[3]); i++; } //============================================================// //=====================Buat User Baru=========================// //fungsi untuk membuat pengguna baru
void newUser(){ uint8_t success;
uint8_t uid[] = { 0, 0, 0, 0 }; // Buffer to store the returned UID uint8_t uidLength;
lcd.setCursor(0,0);
lcd.print("Create New User?"); lcd.setCursor(0,1);
lcd.print("Scan Your Device");
success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength); //mendeteksi ada perangkat nfc atau tidak
//mengecek pengguna sudah ada atau belum if(success){
i=0;j=0;
//mengecek sampai batas memori 247 while(i<248){
30
userByte = EEPROM.read(i);
//jika sudah ada maka akan kembali ke menu awal if(userByte == uid[j]){ if(j==3){ lcd.setCursor(0,0); lcd.print("-Already Exist- "); delay(3000); i=250; lcdReset(); } j++;i++; } else{ i=i+8; } } if(i==248){ i=0; userByte = EEPROM.read(i); while(userByte>0){ i=i+8; userByte = EEPROM.read(i); }
//menyimpan data ID ke dalam memori EEPROM while(userByte==0){
EEPROM.write(i,uid[0]); i++; EEPROM.write(i,uid[1]); i++; EEPROM.write(i,uid[2]); i++; EEPROM.write(i,uid[3]); i++;
//menyalin id ke id_hex untuk masuk kedalam history for(k=0;k<4;k++){ id_hex[k] = uid[k]; } a=7; //memasukkan password inputPass();
//mengambil data password for(int k=0;k<4;k++){
char key = keypad.getKey(); while(key == 0){ key = keypad.getKey(); } _pass[k] = key; LcdCursor(); }
31
newUserDate(); //membuat tanggal penambahan pengguna baru ke SD card
lcdReset(); //kembali ke menu awal i=250;
userByte=1; }
} }
//tidak terdeteksi perangkat NFC else{
lcd.setCursor(0,1);
lcd.print(" --Time Out-- "); delay(1000); lcdReset(); } } //=============================================================// void loginDate(){ userLog = SD.open("login.txt",FILE_WRITE); DateTime(); userId();
userLog.println(" has Log In"); userLog.close(); } void changePassDate(){ userLog = SD.open("login.txt",FILE_WRITE); DateTime(); userId();
userLog.println(" has Change Password"); userLog.close(); } void newUserDate(){ userLog = SD.open("login.txt",FILE_WRITE); DateTime(); userId();
userLog.println(" has Sign Up"); userLog.close();
}
//menyimpan data user void userId(){ i=0; userLog.print(id_hex[i],HEX);i++; userLog.print(" "); userLog.print(id_hex[i],HEX);i++; userLog.print(" "); userLog.print(id_hex[i],HEX);i++; userLog.print(" "); userLog.print(id_hex[i],HEX);i++; }
//format tanggal pada SD card void DateTime(){ userLog.print(hour()); printDigits(minute()); printDigits(second()); userLog.print(" "); userLog.print(day());
32 userLog.print("/"); userLog.print(month()); userLog.print("/"); userLog.print(year()); userLog.print(" ==== "); } void openDoor(){ userLog = SD.open("login.txt",FILE_WRITE); DateTime(); userLog.println("Unlocked"); userLog.close(); } void closeDoor(){ userLog = SD.open("login.txt",FILE_WRITE); DateTime(); userLog.println("Locked / Reset"); userLog.close(); }
void printDigits(int digits){
// utility function for digital clock display: prints preceding colon and leading 0 userLog.print(":"); if(digits < 10) userLog.print('0'); userLog.print(digits); }
void printDigits2(int digits2){
// utility function for digital clock display: prints preceding colon and leading 0 lcd.print(":"); if(digits2 < 10) lcd.print('0'); lcd.print(digits2); } //============================================================// //====================== User Login ==========================// void selectUser(){ uint8_t success;
uint8_t uid[] = { 0, 0, 0, 0 }; // Buffer to store the returned UID uint8_t uidLength;
lcd.setCursor(0,0);
lcd.print("User Login ! "); lcd.setCursor(0,1);
lcd.print("Scan Your Device");
j=0; //start reading nfc i=0;
a=7;
success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength);
if(success) {
33 id_hex[k] = uid[k]; } while(i<248){ userByte = EEPROM.read(i); if(userByte == uid[j]){ i++; if(j==3){ inputPass(); for(k=0;k<4;k++){ _pass[k] = EEPROM.read(i); i++; } loginDate(); } j++; } else { i=i+8; } } if(i==248){ lcd.setCursor(0,0);
lcd.print(" User Not Found "); lcd.setCursor(0,1); lcd.print("---"); delay(1000); lcdReset(); } } else{ lcd.setCursor(0,1);
lcd.print(" --Time Out-- "); delay(1000); lcdReset(); } } void inputPass(){ lcd.setCursor(0,1); lcd.print("Pass : ---"); } //============================================================// //=====================Verifikasi Admin=======================// void adminVerification(){ uint8_t success;
uint8_t uid[] = { 0, 0, 0, 0 }; // Buffer to store the returned UID uint8_t uidLength;
lcd.setCursor(0,0);
lcd.print("Admin only !!! "); lcd.setCursor(0,1);
34
lcd.print("Scan Your Device"); j=0; //start reading nfc int k=0; i=0; a=7;
success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength); if(success) { i=240; userByte = EEPROM.read(i); while(i<244){ userByte = EEPROM.read(i); if(userByte == uid[k]){ k++; } else{ lcd.setCursor(0,0);
lcd.print("Are you admin ? "); delay(3000); userByte=0; lcdReset(); i=250; } i++; } while(i<248){ inputPass(); for(k=0;k<4;k++){ _pass[k] = EEPROM.read(i); char key = keypad.getKey(); while(key==0){ key = keypad.getKey(); } LcdCursor(); if(_pass[k]==key){ j++; } else{ j=0; } i++; } if(j==4){ newUser(); }
35 else{ passSalah(); } } } else{ lcd.setCursor(0,1);
lcd.print(" --Time Out-- "); delay(1000);
lcdReset(); }
36
BIOGRAFI PENULIS
Nama : Boreys Mayradika Pasaribu Tempat / tanggal lahir : Batam, 30 Mei 1995
Agama : Kristen Protestan
Alamat Rumah : Sagulung Bahagia Gg. Sempurna II No 33, Batam, KepulaunRiau
Email : [email protected]
Riwayat Pendidikan :
1. 2010 – 2013 : SMK Teladan Batam 2. 2007 – 2010 : SMP Negeri 9 Batam
3. 2001 – 2007 : SD Negeri 004 Sagulung Batam 4. 2000 – 2001 : TK Immanuel Batam