TUGAS AKHIR
Oleh:
Nama NIM
Istiqlal Fauzan Hidayat 16040030
Mukhamad Iqbal Ghani 17040113
Shintia 17040119
i
HALAMAN PERNYATAAN KEASLIAN
ii
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI
TUGAS AKHIR UNTUK KEPERLUAN AKADEMIS
Sebagai civitas Politeknik Harapan Bersama Tegal, Kami yang bertanda tangan
dibawah ini :
Nama (NIM) : 1. Istiqlal Faauzan Hidayat 16040030
2. Mukhamad Iqbal Ghani 17040113
3. Shintia 17040119
Jurusan / Program Studi : D-III Teknik Komputer
Jenis Karya : Tugass Akhir
Dibuat di : Tegal
Pada Tanggal : 15 Juli 2020
Yang menyatakan
iii
HALAMAN PERSETUJUAN
oleh :
Shintia 17040119
penguji Tugas Akhir (TA) Program Studi DIII Teknik Komputer Politeknik
Menyetujui,
iv
HALAMAN PENGESAHAN
Tim Penguji :
Mengetahui,
Ketua Program Studi DIII Teknik Komputer,
Politeknik Harapan Bersama Tegal
v
HALAMAN MOTTO
Insyirah : 6)
vi
HALAMAN PERSEMBAHAN
vii
ABSTRAK
viii
KATA PENGANTAR
Puji syukur penyusun panjatkan ke hadirat Allah SWT atas berkat rahmat
dan karunia-Nya sehingga terselesaikannya Laporan Tugas Akhir dengan judul
“SISTEM KEAMANAN PINTU RUANG SERVER MENGGUNAKAN
FINGERPRINT BERBASIS IoT”.
Tugas Akhir sebagai salah satu syarat untuk menyelesaikan studi jenjang
Program Diploma Tiga Politeknik Harapan Bersama Tegal. Selama melaksanakan
Tugas Akhir tersusun dalam bentuk laporan ini, banyak pihak yang telah
memberikan bantuan, dukungan dan bimbingan.
Pada kesempatan ini, tidak lupa kami ucapkan terimakasih yang sebesar-
besarnya kepada :
ix
DAFTAR ISI
x
2.2.5 LCD (Liquid Crystal Display) .............................................. 12
2.2.6 Internet of Things ................................................................. 12
2.2.7 NodeMCU ............................................................................ 13
2.2.8 Selonoid Door Lock .............................................................. 13
2.2.9 Buzzer .................................................................................. 14
2.2.10 Kabel Jumper ....................................................................... 15
2.2.11 Adaptor ................................................................................ 15
2.2.12 Relay .................................................................................... 16
2.2.13 PCB ..................................................................................... 17
2.2.14 Push Button .......................................................................... 17
2.2.15 Flowchart ............................................................................. 18
2.2.16 Arduino IDE......................................................................... 20
2.2.17 Draw.io ................................................................................ 21
2.2.18 Telegram .............................................................................. 22
2.2.19 UML .................................................................................... 23
2.2.20 Sublime Text ........................................................................ 30
BAB III METODOLOGI PENELITIAN............................................................ 31
3.1 Prosedur Penelitian .......................................................................... 31
3.1.1 Data Analisis ........................................................................ 31
3.1.2 Desain .................................................................................. 31
3.1.3 Coding ................................................................................. 31
3.1.4 Implementasi ........................................................................ 32
3.2 Metode Pengumpulan Data .............................................................. 32
3.2.1 Observasi ............................................................................. 32
3.2.2 Studi Literatur ...................................................................... 32
3.2.3 Wawancara........................................................................... 32
3.3 Waktu dan Tempat Penelitian .......................................................... 34
3.3.1 Waktu .................................................................................. 34
3.3.2 Tempat Pelaksanaan ............................................................. 34
BAB IV ANALISA DAN PERANCANGAN SISTEM ..................................... 35
4.1 Analisa Permasalahan ...................................................................... 35
xi
4.2 Analisa Kebutuhan Sistem ............................................................... 36
4.2.1 Analisa Perangkat Keras ....................................................... 36
4.2.2. Analisa Perangkat Lunak ...................................................... 37
4.3. Perancangan Sitem .......................................................................... 37
4.3.1. Diagram Blok Sistem ........................................................... 37
4.3.2. Flowchart Sistem.................................................................. 38
4.3.3. Use Case Diagram ................................................................ 40
4.4.3. Squence Diagram ................................................................. 41
4.5.3. Activity Diagram................................................................... 42
4.6.3. Class Diagram ...................................................................... 43
4.4. Desain Input/Output......................................................................... 44
BAB V IMPLEMENTASI SISTEM .................................................................. 47
5.1. Implementasi ................................................................................... 47
5.1.1 Implementasi Perangkat Keras ............................................. 47
5.1.2 Implementasi Perangkat Lunak............................................. 48
5.2 Hasil Pengujian................................................................................ 49
BAB VI KESIMPULAN DAN SARAN ........................................................... 55
6.1 Kesimpulan ..................................................................................... 55
6.2 Saran ............................................................................................... 56
DAFTAR PUSTAKA ........................................................................................ 57
xii
DAFTAR TABEL
Halaman
Tabel 2.1. Simbol Flowchart .............................................................................. 18
Tabel 2.2. Simbol Use Case Diagram................................................................. 24
Tabel 2.3. Simbol Activity Diagram.................................................................... 26
Tabel 2.4. Simbol Squence Diagram .................................................................. 28
Tabel 2.5. Simbol Class Diagram ....................................................................... 29
Tabel 4.1. Skenario Use Case Monitoring Keamanan Pintu Ruang Server.......... 41
Tabel 4.2. Mengirim Data Sidik Jari................................................................... 42
Tabel 4.3. Monitoring Data Sidik Jari ................................................................ 42
Tabel 5.1. Hasil Pengujian ................................................................................. 50
xiii
DAFTAR GAMBAR
Halaman
Gambar 2.1. Fingerprint ..................................................................................... 12
Gambar 2.2. LCD (Liquid Crystal Display) ........................................................ 12
Gambar 2.3. NodeMCU ..................................................................................... 13
Gambar 2.4. Selenoid door lock ......................................................................... 14
Gambar 2.5. Buzzer ............................................................................................ 15
Gambar 2.6. Kabel Jumper ................................................................................ 15
Gambar 2.7. Adaptor.......................................................................................... 16
Gambar 2.8. Relay ............................................................................................. 17
Gambar 2.9. PCB (Printed Circuit Board) ......................................................... 17
Gambar 2.10. Push button .................................................................................. 18
Gambar 2.11. Arduino IDE ................................................................................ 21
Gambar 2.12. Draw.io........................................................................................ 22
Gambar 2.13. Sublime Text ................................................................................ 30
Gambar 4.1. Diagram Blok ................................................................................ 38
Gambar 4.2. Flowchart Sistem Keamanan Pintu Ruang Server Menggunakan
Fingerprint Berbasis IoT .................................................................................... 39
Gambar 4.3. Use Case Sistem Monitoring Keamanan Pintu Ruang Server ......... 40
Gambar 4.4. Squence Diagram Monitoring Keamanan Pintu Ruang Server ........ 41
Gambar 4.5. Activity Diagram Dashboard .......................................................... 43
Gambar 4.6. Class Diagram Dashboard ............................................................. 44
Gambar 4.3. Desain Input/Output....................................................................... 44
Gambar 5.1. Sistem Keamanan Pintu Ruang Server Menggunakan Fingerprint
Berbasis IoT ...................................................................................................... 48
Gambar 5.2. Tampilan notifikasi Telegram ........................................................ 49
Gambar 5.3. Tampilan Akses Daftar ................................................................. 53
Gambar 5.4. Tampilan Akses Masuk .................................................................. 53
Gambar 5.5. Tampilan Website Monitoring Sidik Jari ........................................ 54
xiv
DAFTAR LAMPIRAN
Halaman
xv
BAB I
PENDAHULUAN
yang dapat kita lakukan salah satunya adalah pemanfaatan teknologi dalam
menjaga keamanan ruang server. Sistem keamanan ruang server yang ada
masih dianggap kurang sempurna, hal tersebut bisa dilihat dari banyaknya
yang memiliki anak kunci atau duplikatnya dapat memasuki ruangan, baik
Terlebih lagi sering terjadi kasus dimana seseorang kehilangan anak kunci
yang dimilikinya, sehingga pintu tidak bisa dibuka. Hal itu menjadikan
1
2
kunci pintu konvensional menjadi kurang efektif dan kurang aman jika
adalah lebih efisien karena tidak menggunakan anak kunci, sehingga tidak
akan ada kasus kehilangan kunci atau ketinggalan, dan lebih aman, karena
SMK Negeri 1 Brebes, diperlukan sebuah ruang server dengan kunci pintu
pintar yang hanya dapat dibuka oleh petugas administrator server atau staff
IT Sekolah tersebut.
pembuka pintu dan waktu saat pintu terbuka. Sehingga orang – orang yang
1.4 Tujuan
adalah:
notifikasi Telegram.
1.5 Manfaat
perkuliahan.
inovasi.
5
dalam perkuliahan.
masyarakat.
BAB II
TINJAUAN PUSTAKA
bahwa ada saat ini teknologi keamanan semakin berkembang, salah satunya
adalah sistem keamanan pada pintu. Terdapat banyak sistem keamanan pada
pintu yang telah dibuat seperti pintu dengan alarm otomatis, password
angka dan lain sebagainya. Namun terkadang password dengan angka dirasa
masih belum cukup dalam menjaga keamanan pada pintu. Maka harus
digunakan password yang lebih spesifik dan mudah diingat sehingga hanya
bisa dibuka oleh orang-orang yang terdaftar pada sistem keamanan tersebut
[1].
bahwa faktor keamanan adalah hal yang harus selalu diutamakan. Banyak
hal yang kita lakukan untuk menciptakan suatu kondisi yang aman. Salah
satunya adalah keamanan rumah. Sistem keamanan rumah yang ada masih
dianggap kurang sempurna, hal tersebut bisa dilihat dari banyaknya tindak
6
7
kekerasan, 482 kasus pencurian dengan senjata api dan 880 kasus pencurian
tersebut banyak hal yang dapat kita lakukan salah satunya adalah
seringkali dosen menyimpan barang atau arsip penting didalam ruang dosen
mudah sekali dilumpuhkan oleh pelaku tindak kejahatan. Selain itu dengan
sehingga sistem ini dirasa kurang praktis dan rentang terhadap tindakan
pencurian [3].
pesatnya dan merupakan salah satu bidang yang mempunyai peran yang
Berbasis IoT”, menjelaskan bahwa hasil penelitian tersebut adalah data rata-
rata waktu respon sistem ketika memproses suatu data baik berupa sidik jari
Pengendalian tersebut tampil dalam bentuk waktu dan hari melalui web [5].
atau orang yang akan mengakses ke dalam ruangan tersebut menjadi lebih
terseleksi karena orang – orang yang memiliki akses atau orang yang ID dan
benda-benda yang bisa diberi motor penggerak seperti pintu garasi, pintu
pagar dan sebagainya. Dengan pengaturan on dan off atau buka – tutup
2.2.1 Sistem
materi atau energi untuk mencapai suatu tujuan. Istilah ini sering
tersebut tidak dapat berdiri sendiri. Komponen atau sub sistem harus
2.2.2 Keamanan
tidak hanya mencegah rasa sakit atau cedera tapi keamanan juga
ruang server harus memiliki standar kemanan yang tinggi agar dapat
karena itu ruangan ini harus selalu terjaga dengan baik. Salah satu
Salah satu contoh dari sistem biometrika adalah sidik jari yaitu
sidik jari ini memiliki tingkat keamanan yang tinggi, terbukti sistem
yang tinggi.
2.2.4 Fingerprint
Internet
2.2.7 NodeMCU
2.2.9 Buzzer
seperti lebih murah, relatif lebih ringan dan lebih mudah dalam
2.2.11 Adaptor
tegangan listrik (AC) yang tinggi jadi tegangan listrik (DC) yang
tegangan listrik yang rendah jadi tegangan listrik yang tinggi, dan
2.2.12 Relay
2.2.13 PCB
konduktornya.
listrik. Suatu sistem saklar tekan push button terdiri dari saklar
tekan start, stop reset dan saklar tekan untuk emergency. Push
18
2.2.15 Flowchart
Simbol Keterangan
Input output / Masukan keluaran
Merupakan simbol yang digunakan untuk
memasukkan nilai dan untuk
menampilkan nilai dari suatu variabel.
Ciri dari simbol ini adalah tidak ada
operator baik operator aritmatika hingga
operator perbandingan.
Yang membedakan antara masukan dan
keluaran adalah jika Masukan cirinya
adalah variabel yang ada didalamnya
belum mendapatkan operasi dari operator
tertentu, apakah pemberian nilai tertentu
atau penambahan nilai tertentu. Adapun
ciri untuk keluaran adalah biasanya
variabelnya sudah pernah dilakukan
pemberian nilai atau sudah dilakukan
operasi dengan menggunakan operator
terntentu.
Process / Proses
Merupakan simbol yang digunakan untuk
memberikan nilai tertentu, apakah berupa
rumus, perhitungna counter atau hanya
pemrian nilai tertentu terhadap suatu
variabel.
Predefined Process / Proses Terdefinisi
Merupakan simbol yang penggunaannya
seperti link atau menu. Jadi proses yang
ada di dalam simbol ini harus dibuatkan
penjelasan flowchart programnya secara
tersendiri yang terdiri dari terminator dan
diakhiri dengan terminator.
Decision / simbol Keputusan
Digunakan untuk menentukan pilihan
suatu kondisi (Ya atau tidak). Ciri simbol
ini dibandingkan dengan simbol-simbol
flowchart program yang lain adalah
simbol keputusan ini minimal keluaran
arusnya 2 (dua), jadi Jika hanya satu
keluaran maka penulisan simbol ini
adalah salah, jadi diberikan pilihan jika
kondisi bernilai benar (true) atau salah
(false). Sehingga jika nanti keluaran dari
simbol ini adalah lebih dari dua bisa
dituliskan.
Khusus untuk yang keluarannya dua,
20
Simbol Keterangan
harus diberikan keterangan Ya dan
Tidaknya pada arus yang keluar.
Connector
Konektor dalam satu halaman merupakan
penghubung dari simbol yang satu ke
simbol yang lain. Tanpa harus
menuliskan arus yang panjang. Sehingga
akan lebih menyederhanakan dalam
penggambaran aliran programnya, simbol
konektornya adalah lingkaran, sedangkan
Konektor untuk menghubungkan antara
simbol yang satu dengan simbol yang
lainnya yang berbeda halaman, maka
menggunakan simbol konektor yang segi
lima, dengan deberikan identitasnya, bisa
berupa charater alpabet A – Z atau a – z
atau angka 1 sampai dengan 9.
Arrow / Arus
Merupakan simbol yang digunakan untuk
menentukan aliran dari sebuah flowchart
program. Karena berupa arus, maka
dalam menggambarkan arus data harus
diberi simbol panah.
atau disebut juga source code Arduino, dengan ekstensi file source
code.ino
2.2.17 Draw.io
2.2.18 Telegram
paket data internet yang sama untuk email, browsing web, dan lain-
2.2.19 UML
Language):
2. Activity Diagram
3. Squence Diagram
apa saja yang terjadi secara internal dan output apa yang
4. Class Diagram
bersangkutan
METODOLOGI PENELITIAN
3.1.2 Desain
3.1.3 Coding
31
32
3.1.4 Implementasi
Hasil dari penelitian ini akan diuji coba secara real untuk
3.2.1 Observasi
3.2.3 Wawancara
2. Jika ada orang lain masuk ke ruang server selain dari petugas
3.3.1 Waktu
keamanan pintu secara otomatis. Alat ini dibuat dengan tujuan agar
keamanan dalam mengunci sebuah pintu ruang server dapat menjadi lebih
sedemikian rupa agar alat ini dapat berkerja sendiri secara otomatis.
untuk mendeteksi sidik jari dan selonoid door lock sebagai pengunci pintu
diharapkan dapat mencatat identitas pembuka pintu dan waktu saat pintu
35
36
terhadap sistem.
1. NodeMCU
2. Fingerprint
4. Relay 2 channel
5. Buzzer
7. Kabel Jumper
8. Adaptor 12V
1. Arduino IDE
2. Telegram
3. MySql v10.1.34.
4. Sublime Text 3.
pemilihan komponen, rangkaian yang akan dimuat dan bahan atau material
dan blok rangkaian yang satu dengan blok rangkain yang lain
gambar 4.1.
38
kunci pintu dengan menarik tuas pengait dari selenoid door lock.
40
dan sistem.
Actor : User
ruang server.
41
Actor : NodeMCU
Actor : User
kerja sistem.
43
ruang server.
LCD Buzzer
sebagai berikut :
3 pin PWM, 1 x ADC Channel, dan pin RX TX, 3 pin ground, tombol
doorlock yang akan digunakan pada sistem ini, selenoid doorlock yang
akan diperlakukan ada satu yang bertegangan 12v, yang mana untuk
solenoid doorlock.
4. Rangkain Buzzer
sesuai atau tidak sesuai. Maka saat solenoid terbuka artinya sidik jari
waktu kejadian, yang secara tidak langsung menjadi sistem history dari
alat tersebut.
merupakan pola pikir dari alat atau hardware dan memegang peranan
yang penting.
BAB V
IMPLEMENTASI SISTEM
5.1. Implementasi
fingerprint berbasis IoT pada pembahasan bab ini terdiri dari implementasi
1. Fingerprint
2. NodeMCU
3. Selonoid doorlock
4. Relay 2 channel
5. Kabel jumper
6. Buzzer
47
48
di bawah ini:
1. Arduino IDE
49
2. Web Browser
3. Bot Telegram
apakah perangkat lunak dan perangkat keras sudah berjalan dengan lancar
dan sudah sesuai yang diharapkan. Pengujian yang dilakukan pada sistem
50
Doorlock
Jika solenoid doorlock off Sidik jari salah
menampilkan
interface LCD
serta mengirim
notifikasi ke
Telegram
51
akan
menampilkan ke
interface LCD
serta mengirim
notifikasi ke
Telegram
Telegram
Telegram
terlebih dahulu
di menu
dashboard pada
52
website
ganti daftar
terlebih dahulu
di menu
dashboard pada
website
a. Sistem hanya membaca sidik jari yang telah didaftarkan serta dapat
b. Sistem akan terbuka jika sidik jari yang di-input telah terdaftar
d. Jika sensor fingerprint mendeteksi sidik jari yang benar maka akan
Telegram.
e. Jika ingin mendaftarkan sidik jari yang baru maka akses di ganti
sidik jari pada website, sistem dapat bekerja sesuai dengan apa
jari yang telah terdaftar dan terdapat akses untuk mengubah jika
dashboard dan user juga dapat mengubah nama sidik jari sesuai
6.1 Kesimpulan
sebagai berikut :
keamanan pintu ruang server, dimana ketika sidik jari yang dikenali
terdaftar
harus membeli yang baru. Tetapi dengan sistem ini tidak perlu membeli
4. Output yang dihasilkan oleh sistem ini berupa pergerakan relay lock
dan buzzer serta LCD ketika sidik jari yang ditempelkan pada sensor
55
56
6.2 Saran
authentication)
DAFTAR PUSTAKA
[5] Juwariyah, T., et all., "Purwa Rupa Sistem Pengaman Sepeda Motor
Berbasis IoT (Internet of Things)", vol. 11, 2019.
[7] Purnawan P W, and Rosita, Y.,, "Rancang Bangun Smart Home System
Menggunakan NodeMCU Esp8266 Berbasis Komunikasi Telegram
Messenger", vol. 18, 2019.
[12] Tappi, J., et all.,, "Rancang Bangun Perangkat Kendali Pintu Rumah
Menggunakan Fingerprint Berbasis Arduino Leonardo", vol. 4, 2018.
57
58
59
Lampiran 1 Surat Ijin Observasi
A-1
A-2
Lampiran 2 Foto Observasi
B-1
Lampiran 3 Surat Kesediaan Membimbing TA
C-1
C-2
Lampiran 4 Kode Program NodeMCU
#include <Adafruit_Fingerprint.h>
/***************************************************
----> http://www.adafruit.com/products/751
interface
****************************************************/
D-1
// On Leonardo/Micro or others with hardware serial, use those! #0
is green wire, #1 is white
Adafruit_Fingerprint finger =
Adafruit_Fingerprint(&mySerial);//pembuatan objek finger untuk
sensor sidik jari
#define pinSelenoid D1
#define pinBuzzer D2
#define pinWifi D3
#define pinFinger D4
void setup()
Serial.begin(9600);
pinMode(pinSelenoid, OUTPUT);
pinMode(pinBuzzer, OUTPUT);
pinMode(pinWifi, OUTPUT);
pinMode(pinFinger, OUTPUT
D-2
digitalWrite(pinSelenoid, HIGH);
digitalWrite(pinBuzzer, HIGH);
digitalWrite(pinWifi, LOW);
digitalWrite(pinFinger, LOW);
Serial.println("Starting TelegramBot...");
myBot.wifiConnect(ssid, pass);
// set the telegram bot token
myBot.setTelegramToken(token);
if (myBot.testConnection()){
Serial.println("\ntestConnection OK");
digitalWrite(pinWifi, HIGH);
}else{
Serial.println("\ntestConnection NOK");
digitalWrite(pinWifi, LOW);
D-3
finger.begin(57600);//memulai sensor sidik jari
delay(5);
if (finger.verifyPassword()) {//cek sensor sidik terkoneksi atau
tidak
digitalWrite(pinFinger, LOW);
while (1) { delay(1); }
{
getFingerprintIDez();//membaca sidik jari
}
uint8_t getFingerprintID() {//deklarasi function
D-4
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
Serial.println("Communication error");
return p;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
return p;
default:
Serial.println("Unknown error");
return p;
}
// OK success!
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image converted");
break;
case FINGERPRINT_IMAGEMESS:
Serial.println("Image too messy");
D-5
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
case FINGERPRINT_FEATUREFAIL:
return p;
default:
Serial.println("Unknown error");
return p;
// OK converted!
if (p == FINGERPRINT_OK) {
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_NOTFOUND) {
Serial.println("Did not find a match");
return p;
} else {
Serial.println("Unknown error");
return p;
D-6
}
p = finger.image2Tz();
p = finger.fingerFastSearch();
// found a match!
Serial.print("Found ID #");
Serial.print(finger.fingerID);//menampilkan id sidik jari
Serial.print(" with confidence of ");
Serial.println(finger.confidence);//menampilkan nilai kemiripan
case 1:
D-7
myBot.sendMessage(idBot, "Pintu telah dibuka oleh Ratono");
break;
case 2:
myBot.sendMessage(idBot, "Pintu telah dibuka oleh Iqlal");
break;
case 3:
myBot.sendMessage(idBot, "Pintu telah dibuka oleh Iqbal");
break;
case 4:
break;
default:
return finger.fingerID;
Serial.println("Nyalakan Buzzer");
digitalWrite(pinBuzzer, LOW);//koding nyalakan buzzer
delay(1000);//koding lama buzzer berbunyi
Serial.println("Buka pintu");
D-8