Disusun Oleh:
ANDREAS BUDI WAHYU KATON RAHARJO
1744190005
ii
LEMBAR PENGESAHAN SIDANG
Pada hari selasa tanggal 07 September 2021 pukul 13.00 WIB. Telah
dilaksanakan sidang ujian komprenshif untuk menyelesaikan pendidikan
program strata satu (S1), sebagai berikut:
Disahkan Oleh,
Ketua Sidang
iii
LEMBAR PERNYATAAN
iv
ABSTRAK
Sistem penguncian rumah saat ini masih saja menggunakan kunci
manual atau konvesional, sehingga kurang efisien penggunannya untuk
membuka dan menutup kunci rumah serta terlalu repot membawa banyak
kunci rumah ketika sedang keluar rumah, selain itu kunci konvensional
mudah dibuka oleh pencuri sehingga terjadi tindakan kejahatan. Untuk itu,
diperlukan kunci yang lebih praktis dan efisien, terhindari dari masalah yang
tak diinginkan dan penulis mempunyai gagasan untuk menghasilkan dan
membuat alat pengamanan kunci pintu rumah yang aman dan praktis
berbasis Raspberry Pi dengan menggunakan Sistem aplikasi android
dengan memanfaatkan ID Card sebagai RFID tag serta menggunakan
android dan web client server sebagai autotensi sebagai pengaman pintu
rumah beserta alat-alat tambahan untuk pengamanan pintu rumah.
Kata Kunci: Raspberry Pi, ID Card, RFID, Selonoid, Android, Web Client
Server.
v
KATA PENGANTAR
Puji syukur kami panjatkan kepada Tuhan Yang Maha Esa atas
berkat dan rahmat- Nya dapat menyusun penulisan Tugas Akhir berjudul
“Rancang Bangun Sistem Multi Proteksi Untuk Penguncian Pintu
Rumah Otomatis Menggunakan Raspberry Menggunakan Rasberry Pi
Berbasis Android Dan Web Client Server” yang terlaksanakan dengan
baik dan tanpa ada kendala sehingga dapat menyelesaikan penulisan
dengan baik.
vi
4. Bapak Drs. Ahmad Rosadi, M.Kom selaku Dosen Pembimbing
Tugas Akhir Di Universitas Persada Indonesia Y.A.I.
5. Bapak Drs. Donny Hamzah Parlindungan H, S.Kom, M.M selaku
Dosen Penguji Dan Ibu Susi Wagiyati Purtiningrum, S.Kom, M.Msi
selaku ketua sidang.
6. Para Dosen yang sudah mengajarkan Saya Kuliah Di Universitas
Persada Indonesia Y.A.I.
7. Staf Karyawan di lingkungan Universitas Persada Indonesia Y.A.I.
8. Orang Tua Saya yang sudah mendukung dan membantu Saya
kuliah.
9. Teman-teman dan rekan-rekan Saya yang sudah membantu Saya
kuliah sehingga terlaksannya penulisan Tugas Akhir.
vii
DAFTAR ISI
ABSTRAK ..................................................................................................... v
viii
2.2 Raspberry Pi.......... ............................................................... 10
ix
2.15.5 UML Embedded System ............................................ 31
x
BAB IV IMPLEMENTASI, PENGUJIAN, DAN EVALUASI ......................... 60
xi
BAB V PENUTUP………………… ............................................................. 85
5.1 Kesimpulan……..................................................................... 85
LAMPIRAN....................……………………………………...............................89
xii
DAFTAR GAMBAR
Gambar 2.2 Tampilan Web Client Server Kunci Pintu Rumah Gambar...........9
Gambar 3.5 Diagram Alur Embedded System Kunci Pintu Rumah Otomatis..40
xiii
Gambar 3.6 Diagram Alur Embedded System Membuka Kunci Pintu.........42
xiv
Gambar 4.8 Capture Tampilan Halaman Utama Web Client Server...........65
xv
DAFTAR TABEL
Table 2.1 Tabel Simbol Use Case Diagram....................................................27
xvi
DAFTAR LAMPIRAN
Lampiran 1 – Kusioner Di Google Form............................................................90
xvii
BAB I
PENDAHULUAN
1
rumah dapat dimulai dari suatu hal yang kecil yaitu keamanan rumah dan
keluarga tercinta di Rumah.
2
4) Apa manfaat dan kegunaan dari komponen raspberry pi, RFID,
keypad matrix 4x4, LCD Arduino, dll?
3
1.5 Pengumpulan Data
Dalam rangka menyusun hasil laporan tugas akhir, penulisan
mengumpulkan data hasil penelitian berkaitan dengan pokok permasalahan
pada latar belakang bertujuan untuk mempermudah penyusunan laporan
tugas akhir dan pencatatan data yang diperlukan untuk memperoleh hasil
data penelitian yang dibutuhkan. Maka penulis melakukan sebagai berikut:
1) Observasi
Metode pengumpulan data ini dilakukan dengan mengamati
langsung, melihat dan mengambil data penelitian yang dibutuhkan di
tempat penelitian itu dilakukan. Observasi tersebut juga bisa diartikan
sebagai proses yang kompleks. Pengumpulan data ini dilakukan di Yayasan
Lembaga Peduli Pendidikan Masyarakat Aray yang berlokasi di Jalan Raya
Lenteng Agung No.6 , Jakarta Selatan.
2) Testing
Metode pengumpulan data ini dilakuan dengan cara melakukan
pengujian langsung terhadap perancang sistem program dan meracang
pembuatan alat sistem pengaman kunci pintu otomatis untuk melakukan
demo pengujian program.
3) Studi Pustaka
Metode pengumpulan data ini dilakukan dengan cara mencari data
informasi yang dibutuhkan untuk penelitian pada penulisan tugas akhir
melalui referensi buku, dan internet yang berkaitan dengan laporan tugas
akhir ataupun melalui dokumen, baik secara tertulis, menggunakan foto,
gambar, maupun dokumen elektronik yang dapat mendukung karya
penulisan.
4
4) Dokumentasi Dan Implementasi
Metode pengumpulan data ini dilakukan dengan cara dengan cara
mendokumentasi hasil pengujian sistem serta membuat lampiran penulisan
tugas akhir dengan mengambil gambar hasil uji coba perancangan sistem
serta mengumpulkan data kuesioner untuk melakukan evaluasi sistem.
5) Desain
Metode pengumpulan data ini dilakuan dengan cara membuat
desain dan gambaran perancangan sistem dengan membuat unified
modeling language (UML) serta desain arsitektur untuk rancang bangun
sistem kerja pengaman kunci pintu rumah otomatis sebagai penunjang
laporan tugas akhir.
1) BAB I PENDAHULUAN
Pada bab ini penulis menguraikan latar belakang masalah,
identifikasi masalah, perumusan masalah, batasan masalah,
tujuan penelitian, manfaat penelitian, spesifikasi yang digunakan,
dan serta sistematika penulisan.
5
3) BAB III ANALISA DAN PERANCANGAN SISTEM
Pada bab ini berisi tentang penyusunan dan hasil pengumpulan
data-data perancangan sistem yang dikumpulkan untuk
menyusun sebuah penelitian tugas akhir yang dibutuhkan.
5) BAB V PENUTUPAN
Pada bab ini berisi sebuah penutup yaitu memberi saran dan
kesimpulan berkaitan dengan judul tugas akhir yang dibuat dalam
mengembangkan sistem.
6
BAB II
KAJIAN PUSTAKA
7
keamanan sistem penguncian pintu rumah dan bisa dipasang di
rumah karena di campur dengan tangan manusia sebagai pengguna
untuk mengakses pintu dan sudah diminimalisir. Akses kunci pintu
otomatis ini sudah dielengkapi dengan fitur administrator dan
pengguna.
8
2.1.3 Definisi Web Client Server
Pada dasarnya web client client server (menurut YP Utama)
merupakan konsep arsitektur perangkat lunak atau software yang
menghubungkan dua objek berupa sistem client dan sistem server
yang saling berkomunikasi melalui jaringan komputer maupun satu
komputer yang sama. Server akan menyediakan pengelolaan
aplikasi, data dan keamanan pada penggunaan data client server. 3
9
2.2 Raspberry Pi
Raspberry Pi (menurut T.P Handayani) merupakan sebuah
komponen komputer berukuran kartu kredit yang dikembangkan di Inggris
oleh Yayasan Raspberry Pi dengan tujuan untuk mengembangkan
pengajaran ilmu pengetahuan dasar komputer. Raspberry Pi diproduksi
melalui lisensi manufaktur yang berkaitan dengan elemen 14 Premier
Farnell dan RS komponen.4
10
2.2.1 Perangkat Keras Yang Dibutuhkan
Untuk kepentingan dalam merancang sistem kunci pintu
rumah otomatis, maka disediakan sebuah perangkat keras dan
perangkat lunak untuk mencakup segala peralatan yang diperlukan
secara kasat mata dapat dilihat, sedangkan perangkat lunak
mencakup semua program yang diperlukan supaya sistem komputer
dapat berfungsi pada sistem operasi raspbian.
11
Sebenarnya, Raspbian OS bukan satu-satunya sistem
operasi yang berjalan di perangkat Raspberry Pi. Ada banyak sistem
operasi lain yang dapat digunakan di perangkat ini, baik yang
menggunakan berbasis Linux (distro Linux) pada sistem raspberry
pi.
12
RFID dapat terdiri dari beberapa komponen, seperti tag, tag reader,
tag programming station, circulation reader, sorting equipment, dan tongkat
inventory tag. Kegunaan dari sistem RFID ini adalah untuk mengirimkan
data dari tag yang kemudian dibaca oleh RFID reader dan kemudian
diproses oleh aplikasi computer.
1) RFID TAG
RFID Tag merupakan sebuah alat yang melekat pada
obyek yang akan diidentifikasi oleh RFID Reader. RFID Tag
dapat berupa perangkat pasif atau aktif. Tag pasif artinya tanpa
battery dan Tag aktif artinya menggunakan battery. Tag pasif
lebih banyak digunakan karena murah dan mempunyai ukuran
lebih kecil. RFID Tag dapat berupa perangkat read-only yang
berarti hanya dapat dibaca saja ataupun perangkat read-write
yang berarti dapat dibaca dan ditulis ulang untuk update.
2) RFID READER
RFID Reader merupakan Adalah alat pembaca RFID
Tag. Ada dua macam RFID Reader yaitu Reader Pasif (PRAT)
dan Reader Aktif (ARPT). Reader Pasif memiliki sistem pambaca
pasif yang hanya menerima sinya radio dari RFID Tag Aktif (yang
dioperasikan dengan barrety/sumber daya). Jangkauan
penerima RFID Pasif bisa mencapai 600 meter. Hal ini
memungkinkan aplikasi RFID untuk sistem penguncian pintu
rumah otomatis tersambung dengan raspberry pi.
13
2.3.2 Keunggulan Sensor RFID
RFID memiliki dua memiliki dua keunggulan sangat berbada
sensor tag lain dengan menggunakan barcode optik, yaitu:
14
2.4 Keypad Matrix
Keypad Matriks adalah tombol-tombol yang disusun secara maktriks
(baris x kolom) sehingga dapat mengurangi penggunaan pin input. Keypad
Mаtrіkѕ уаng ѕеrіng dіgunаkаn yaitu Keypad Mаtrіkѕ 4x4 yang tеrdіrі dari
16 tоmbоl dengan 8 pin ѕаjа. Rangkaian tombol tersebut disusun secara
vertikal membentuk kolom dan secara horizontal membentuk baris dan
jumlah tombol yang ada merupakan jumlah perkalian antara kolom dan
baris dari keypad tersebut. Sebagai contoh modul keypad yang terdiri dari
4 kolom dan 4 baris yang totalnya ada 16 tombol (angka 0 sampai 9, tombo1
*, tombo1 #, tombo1 A sampai tombol D). artikel ini merupakan salah satu
contoh keypad yang dapat digunakan untuk berkomunikasi antara manusia
dengan Raspberry Pi. Matrix keypad 4×4 memiliki konstruksi atau susunan
yang simple dan hemat dalam penggunaan port raspberry pi. 7
15
Gambar 2.7 Konstruksi Keypad Matrix 4x4
16
Gambar 2.8 LCD Arduino
17
dapat mengimplementasikan Logical Switching. Relay juga biasa disebut
sebagai komponen electromechanical atau elektromekanis sebagai
penggerak kontak saklar, sehingga dengan menggunakan arus listrik yang
kecil atau low power, dapat menghantarkan tegangan arus listrik yang
memiliki tegangan lebih tinggi. (Hanur,2016:135).
18
2.8 Buzzer
19
2.9.1 Jenis Kabel Jumper
Ada bebera jenis kabel jumper yang dibedakan berdasarkan
konektor kabelnya, yaitu :
1) Male – male
Kabel jumper jenis ini digunakan untuk koneksi male to
male pada kedua ujung kabelnya yang mempunyai jarum pin.
2) Male – female
Kabel jumper jenis ini digunakan untuk koneksi male to
female dengan salah satu ujung kabel dikoneksi male dan satu
ujungnya lagi dengan koneksi female ke raspberrry pi.
20
3) Female – female
Kabel jumper jenis ini digunakan untuk koneksi female
to female pada kedua ujung kabelnya yang tidak mempunyai
jarum pin.
2.10 WI-FI
Wi-Fi (ditulis Wifi atau WiFi) adalah sebuah teknologi yang memanfaatkan
peralatan elektronik untuk bertukar data secara nirkabel (menggunakan
gelombang radio) melalui sebuah jaringan komputer, termasuk koneksi Internet
berkecepatan tinggi. Wi-Fi Alliance mendefinisikan Wi-Fi sebagai "produk jaringan
area lokal nirkabel (WLAN) apapun yang didasarkan pada standar Institute of
Electrical and Electronics Engineers (IEEE) 802.11". Meski begitu, karena
kebanyakan WLAN zaman sekarang didasarkan pada standar tersebut, istilah "Wi-
Fi" dipakai dalam bahasa Inggris umum sebagai sinonim "WLAN".
Sebuah alat yang dapat memakai Wi-Fi (seperti komputer pribadi, konsol
permainan video, telepon pintar, tablet, atau pemutar audio digital) dapat
terhubung dengan sumber jaringan seperti Internet melalui sebuah titik akses
21
jaringan nirkabel. Titik akses (atau hotspot) seperti itu mempunyai jangkauan
sekitar 20 meter (65 kaki) di dalam ruangan dan lebih luas lagi di luar ruangan.
Cakupan hotspot dapat mencakup wilayah seluas kamar dengan dinding yang
memblokir gelombang radio atau beberapa mil persegi — ini bisa dilakukan
dengan memakai beberapa titik akses yang saling tumpang tindih.
"Wi-Fi" adalah merek dagang Wi-Fi Alliance dan nama merek untuk
produk-produk yang memakai keluarga standar IEEE 802.11. Hanya produk-
produk Wi-Fi yang menyelesaikan uji coba sertifikasi interoperabilitas Wi-Fi
Alliance yang boleh memakai nama dan merek dagang "Wi-Fi CERTIFIED".
22
Gambar 2.16 Bahasa Python
23
3) Mendukung OOP
Python mendukung bahasa pemrograman berorientasi
objek (OOP) sehingga programmer semakin mudah dalam
menyelesaikan masalah karena pemrograman berorientasi
objek merupakan teknik pendekatan dengan objekobjek nyata
yang ada di kehidupan sehari-hari.
4) Platform Independent
Maksud dari platform independent adalah program
yang di buat bisa dijalankan di sistem operasi apa saja selama
di sistem operasi tersebut terdapat platform Python
(Interpreter Python).
24
2.13 Pemrograman PHP
Menurut Budi Raharjo, (2012:41-42) PHP adalah salah satu bahasa
pemrograman skrip yang dirancang untuk membangun aplikasi web. Ketika
dipanggil dari web browser, program yang ditulis denga PHP akan di-
parsing di dalam web server oleh interpreter PHP dan diterjemahkan ke
dalam dokumen HTML, yang selanjutnya akan ditampilkan kembali ke web
browser. Karena pemrosesan program PHP dilakukan di lingkungan web
server, PHP dikatakan sebagai bahasa sisi server (server-side). Oleh sebab
itu, seperti yang telah dikemukakan sebelumnya, kode PHP tidak akan
terlihat pada saat user memilih perintah “View Source” pada web browser
yang mereka gunakan. Berdasarkan uraian diatas dapat disimpulkan
bahwa PHP adalah bahasa pemrograman script untuk membangun aplikasi
web dimana membutuhkan website server dalam menjalankan aksinya. 11
25
5) Memiliki GUI aplikasi android lebih mudah,
6) Didukung oleh Google Cloud Platfrom untuk setiap aplikasi yang
dikembangkan.
26
2.15.1 Use Case Diagram
ACTOR
Orang proses, atau sistem lain yang berinteraksi
dengan sistem informasi yang akan dibuat di luar
sistem informasi yang akan dibuat itu sendiri, jadi
walaupun simbol dari actor adalah gambar orang,
biasanya dinyatakan menggunakan kata benda di
awal frase nama actor.
USE CASE
Fungsionalitas yang disediakan sistem sebagai
unit-unit yang saling bertukar pesar antar unit atau
actor biasanya dinyatakan dengan menggunakan
kata kerja di awal frase nama use case.
ASOSIASI/ASSOCIATION
Komunikasi antara actor dan use case yang
berpartisipasi pada use case atau use case
memiliki interraksi dengan actor.
GENERALISASI/GENERALIZATION
27
2.15.2 Activity Diagram
STATUS AWAL/INITIAL
PENGGABUNGAN/ JOIN
28
2.15.3 Sequence Diagram
29
2.15.4 Class Diagram
30
Hubungan dimana perubahan
yang terjadi pada suatu elemen
Dependency
mandiri (independent) akan
mempegaruhi elemen yang
bergantung padanya elemen
yang tidak mandiri.
Apa yang menghubungkan
Association
antara objek satu dengan objek
lainnya.
Table 2.4 Tabel Simbol Class Diagram
31
Model penggambaran UML ini adalah membuat konsep untuk
memasang kerangka-kerangka untuk dijadikan sebuah alat teknologi
canggih dengan memasang komponen nya dengan menggunakan
kabel jumber yang langsung dipasang ke raspberry pi.
32
BAB III
ANALISA DAN PERANCANGAN SISTEM
33
3.2 Analisa Kebutuhan Sistem
Untuk menyediakan sebuah aplikasi dan komponen perancangan
sistem, maka perancangan sistem juga membutuhkan beberapa analisa
kebutuhan untuk merancang sistem penguncian pintu rumah otomatis,
sebagai berikut:
34
e. Menu Logout adalah tombol untuk dari akun aplikasi
sistem.
1. Karakteristik Sistem
a. Membatasi hak akses kunci rumah pada sistem
database monitoring.
b. Sinkronisasi database yang tersambung ke aplikasi
android dan web client server.
c. Memonitoring penggunaan kunci rumah.
2. Perangkat lunak
35
3. Kebutuhan Perangkat Keras PC/Laptop
a. RAM komputer server minimal 4GB atau lebih,
b. VGA minimal 2 GB,
c. Storage 16 GB,
d. Jaringan Internet mencukupi.
4. Kebutuhan Alat
a. Raspberry Pi 3 model b+ dengan sistem operasi
raspbian,
b. Memory Card Micro SD 16GB,
c. Solenoid dan Relay Module,
d. LCD Arduino,
e. Keypad Matrix 4x4,
f. Adaptor dan Kabel Jumper,
g. Sensor RFID,
h. Buzzer.
36
1) Input = Keypad Matrix dan RFID digunakan sebagai alat untuk
menginput kode PIN dan membaca ID Card yang diproses oleh
programan python pada raspberry pi serta kegunaan Android Studio dan
Web Client sebagai menginput dan mengedit nama pengguna dan bisa
juga mengontrol kinerja kunci pintu rumah otomatis yang tersambung
dengan database.
2) Proses = Alat kontrol yang digunakan sebagai pusat otak sistem operasi
membantu kinerja mengembangkan kunci pintu rumah otomatis
menggunakan raspberry pi sebagai alat kunci mengunci pintu rumah
pengganti kunci konvesional dan kunci manual.
3) Output = Setelah diterima oleh raspberry pi, maka kinerja dari hasil input
akan diproses ke output yaitu LCD Arduino dan Relay Module.
Kegunaan dari LCD Arduino menampilkan data hasil output jika
menginput data kode PIN, Mensensor ID Card, mengontrol kunci melalui
Android, dan Web Client. Serta Module Relay berguna untuk
mendapatkan data dari LCD Arduino jika data benar maka otomatis
selonoid bekerja dan pintu dapat dibuka.
37
Gambar 3.2 Flowchart Arsitektur Sistem Komponen
38
digunakan dengan baik saat pemasangannya. Lalu jika sudah
dipasang maka dibuatlah sebuah pada programan python pada LCD
Arduino, Keypad Matrix, RFID untuk perancangan sistem berguna
untuk menginput kode PIN, mensensor ID Card, menampilkan data
Ke LCD Arduino yang nanti akan dijalankan lalu dapat tersambung
dengan Relay Module Board sebagai mengalirkan ke selonoid
berguna untuk membuka kunci pintu rumah serta pengguna data ini
akan tersambung ke databse.
39
3.5 Diagram Alur
Alur penelitian “Rancang Bangun Sistem Multi Proteksi Untuk
Penguncian Pintu Rumah Otomatis Menggunakan Raspberry Pi Berbasis
Android Dan Web Client Server” yang dirancang menggunakan embedded
sistem meliputi sebagai berikut:
Gambar 3.5 Diagram Alur Embedded System Kunci Pintu Rumah Otomatis
Dengan sensor RFID RC522, LCD arduino, serta keypad matrix yang
langsung terhubung dengan raspberry pi 3 model b+ dengan memori micro
SD 16 GB. Ketika program raspberry pi dijalankan, maka raspberry pi akan
membaca dan mengirim data dari sensor RFID, LCD Arduino, Keypad
Matrix langsung diterima oleh sistem komputer. Selain untuk dikirim ke
40
komputer, data sensor RFID digunakan sebagai acuan untuk membaca ID
Card, Keypad matrix 4x4 menginput data berupa angka, sedangkan LCD
arduino sebagai acuan menampilkan data program pembaca sensor RFID
dan input keypad matrix 4x4. Jika data sensor RFID, Keypad matrix 4x4,
LCD arduino tidak berhasil dikirim maka Raspberry akan membaca dan
mengirim ulang kembali data tersebut. Namun, Jika data berhasil dikirim
maka data tersebut akan diterima oleh komputer. Data yang telah diterima
oleh komputer akan otomatis tersimpan kedalam database MySQL.
41
Gambar 3.6 Diagram Alur Embedded System Membuka Kunci Pintu
42
mika akrilik dengan ukuran 30cm x 40cm x 30 cm dengan ukuran yang
besar yang dapat menampung raspberrry dan komponen lainnya. Proses
selanjutnya pemasangan komponen ditempel diluar yaitu LCD Arduino
untuk melihat output data, Keypad matrix berguna untuk menginput kode
PIN, serta RFID berguna untuk mensensor ID Card. Lalu untuk
pemasangan dalam yaitu Buzzer, Relay Module, Solonoid, Raspberry, dan
Adaptor. Kegunaannya adalah Buzzer berguna untuk mengeluarkan suara
jika memasukan kode PIN dan mensensor ID Card, Relay Module sebagai
saklar solonoid jika menjalankan perintah dari Keypad dan Matrix, Solenoid
yang dipasang samping pintu berguna untuk mengunci pintu rumah,
sedangkan Raspberry Pi berguna untuk memproses semua komponen dan
pemrograman sistem.
43
3.7 Arsitektur Perangkat Keras
44
3.8 Arsitektur Perangkat Lunak
45
3.9 Perancangan Sistem Unified Modeling Language
Perancangan sistem UML adalah suatu metode dalam
pemodelan secara visual yang digunakan sebagai sarana
perancangan sistem model berbentuk OOAD (Object Oriented
Analysis Design). UML dalam sistem perancangan penguncian
pintu rumah otomatis menggunakan rasberry pi berbasis android
dan web client server untuk membuka pintu rumah dengan
maksud untuk mempermudah dan meringankan manusia serta
meningkatkan pengurangan angka tindak kejahatan seperti
tindakan pencurian.
46
Gambar 3.10 Use Case Administrator Dan Pengguna
47
1) Activity Diagram Pengguna Mengakses Kunci
48
2) Activity Diagram Pengguna Menggunakan Android Dan Web
Client
49
3) Activity Diagram Pengguna Dan Administrator
50
3.9.3 Sequence Diagram
Sequence diagram merupakan salah satu diagram yang
menjelaskan bagaimana suatu operasi itu
dilakukan; message (pesan) apa yang dikirim dan kapan
pelaksanaannya. Diagram ini diatur berdasarkan waktu. Objek-objek
yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri
ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut.
Berikut ini adalah Sequence diagram rancangan bangun aplikasi
kunci rumah menggunakan raspberry pi, yaitu:
51
2) Sequence Diagram Pengguna Membuka Aplikasi Android
Dan Web Client
52
3) Sequence Diagram Administrator Untuk Monitoring
Pengguna
53
3.9.4 Class Diagram
54
3.10 Perancangan Antarmuka
1) Antarmuka Login
55
2) Antarmuka Halaman Utama
56
Pada tampilan ini menampilkan sebuah profil monitoring yang
dimana pengguna melakukan aktivitas untuk mengakses kunci
rumah dan data profil tersebut sudah dibuat diisi melalui web yang
sudah terhubung dengan database MySQL.
57
3.10.2 Perancangan Aplikasi Android
Perancangan pembuatan pemrograman android pada
pembuatan sistem pengamanan kunci pintu rumah menggunakan
raspberry pi 3 bertujuan untuk mengendalikan sistem kunci rumah
melalui smartphone android. Sesuai perancangan nya aplikasi
android membutuhkan ponsel android versi 6.0 atau Marshmellow
dan membutuhkan spesifikasi yang mumpuni serta menggunakan
pemrograman PHP, dan database untuk menymabungkan ke
aplikasi supaya dapat berjalan dengan baik.
1) Antarmuka Login
58
2) Antarmuka Halaman Utama
59
BAB IV
IMPLEMENTASI, PENGUJIAN, EVALUASI SISTEM
60
4.1.2 Spesifikasi Perangkat Lunak
Dalam membangun aplikasi perangkat lunak pada sistem
penguncian pintu rumah yang digunakan pada sistem operasi
Windows 10 serta beberapa perangkat lunak pendukung lainnya
antara lain:
1) Raspbian,
2) Xampp,
3) Android Studio,
4) Visual Code Studio,
5) Python IDLE 3.9,
6) Browser,
7) Microsoft Visio.
61
melalui aplikasi android studio menggunakan bahasa java dan xml.
Berikut ini adalah tampilan aplikasi android:
1) Tampilan Login
62
3) Tampilan Menu Monitoring
63
5) Tampilan Menu Profil
64
4.2.2 Implementasi Antarmuka Web Client Server
1) Tampilan Login
65
3) Tampilan Menu Monitoring
66
1) Tampilan Coding Pada Keypad
67
3) Tampilan Coding Pada RFID
68
menggunakan form database dan form menu utama. Pada saat form
itu dibuat dan tekan simpan maka form akan tersimpan di history
monitoring. Sehingga untuk masuk form menu utama harus login
dengan mengisi form login terlebih dahulu dengan benar. Untuk
tampilan form bisa dilihat pada tabel dibawah.
69
4.3.2 Pengujian Form Login Web Client Server
Pada saat tombol login ditekan ketika sudah memasukan
username dan password maka diarahkan ke halaman utama pada
web client. Form Login digunakan untuk mengisi username dan
password untuk memverifikasi data untuk pengecekan hasil data.
Form Login ini akan bertuliskan dengan status jika benar maka
berhasil masuk dan jika gagal makanya masukan password dengan
benar maka terlihat pada tabel dibawah ini.
70
No Tujuan Input Output
71
aplikasi berbasis android digunakan untuk mengisi username dan
password untuk memverifikasi data untuk pengecekan hasil data
maka terlihat pada tabel dibawah ini.
72
2 Melihat Data Tidak Ada Data Pengguna
Monitoring Tersimpan Dan
Pengguna Terbaca
73
4.3.7 Pengujian Keypad Kunci Rumah Pada Raspberry
Pi
Pada tahap pengujian ini, penulis melakukan uji coba hasil
merancang, memasang, dan membuat program pada keypad pada
raspberry pi 3 model b+ dengan menggunakan pemrograman
database dan python berguna menginput password berupa angka
dan langsung terhubung dengan database MySQL. Untuk itu,
Penulis melakukan pengujian pada tabel dibawah ini.
74
No Tujuan Input Output
75
No Tujuan Input Output
1) Pemasangan Sistem
76
2) Tata Letak Pemasangan Alat
77
4) Pengujian Sistem Alat Dengan ID Card
78
4.4 Evaluasi Pengujian Sistem
Adapun tahapan evaluasi pengujian sistem dalam merancang
penguncian pintu rumah terbagi menjadi dua yaitu evaluasi yaitu hasil uji
coba sistem dan implementasi hasil uji coba sistem. Evaluasi hasil uji coba
sistem dilakukan untuk mengkroscek kembali semua tahapan dan melihat
program sistem penguncian pintu rumah yang sudah dilakukan dan
mengimplentasikan hasi uji coba sistem bertujuan untuk menarik
kesimpulan dan penelitian terhadap semua hasil uji coba yang dikerjakan
terhadap sistem. Uji coba dilakukan dalam tahapan beberapa uji coba
(testing) yang telah disiapkan sebelumnya.
Segi Pengguna
79
Manusia Untuk Mengurangi Resiko
Tindak Kejahatan?
4 Apakah Setuju Kunci Pintu Rumah 1 0 15 10
Otomtais Memberi Kemudahan
Aksebilitas Dalam Menggunakan
Teknologi?
5 Apakah Setuju Kunci Pintu Rumah 1 3 13 9
Otomtais Untuk Mengendalikan dan
Mengontrol Kunci Harus
Menggunakan Aplikasi Android dan
Web Client?
Segi Antarmuka
80
Segi Sistem
𝑆𝑇𝑆+𝑇𝑆+𝑆+𝑆𝑆
Rumus = 4 𝐽𝑎𝑤𝑎𝑏𝑎𝑛 𝑥 10 x 100%
8+10+208+126
Hasil Kuesioner = x 100 %
4𝑥10
352
= x 100 %
40
= 88%
81
Berdasarkan hasil perhitungan kusioner di atas, didapatkan
nilai kepuasan untuk pembuat perancangan program dan
pembuatan alat sistem penguncian pintu rumah berbasis android
menggunakan rasspberry pi 3 dengan berbaik hati kepada teman-
teman sudah mengisi kuesioner den sejujur-jujurnya dengan
mendapat hasil yang memuaskan dengan nilai 88% kepada 25
penjawab kuesioner. Dengan demikian bisa disimpukan bahwa
penguncian pintu rumah dapat berguna untuk pengguna.
82
7 Ignataius Julius IT Developer 23 L
Andreas
11 Merlis Karyawan 25 L
Swasta
83
23 Maria Dela Mahasiswa 21 P
Angestiningrum
84
BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan hasil analisis penelitian perancangan sistem dan
pembahasan pengumpulan data, penulis memperoleh kesimpulan yang
dapat diambil dari penelitian mengenai sistem penguncian kunci pintu
rumah menggunakan raspberry pi dengan menggunakan sebuah web client
dan aplikasi android, yaitu:
85
5.2 Saran
Dalam penulisan penelitian tugas akhir, Adapun saran yang
dianjurkan agar dapat menjadi masukan dalam merancang Sistem
Pengamanan Kunci Pintu Rumah Menggunkan Raspberry Pi, yaitu berupa:
86
DAFTAR PUSTAKA
1. Budiantoro AH, Sela IE. Akses Kontrol Pintu Garasi Otomatis
Menggunakan Raspberry Pi Berbasis Android. Published online
2018.
87
10. Sofwan A. Belajar Mysql dengan Phpmyadmin. Fakuktas Teknol
Informasi, Univ Budi Luhur. Published online 2007.
88
LAMPIRAN
89
Lampiran 1 – Kusioner Di Google Form
90
Lampiran 2 – Merancang Alat Menggunakan Raspberry Pi
91
Lampiran 3 – Pembuatan Program Android Dan Web Client
Server
92
Lampiran 4 – Hasil Akhir Pembuatan Alat
93
Lampiran 5 – Full Listing Coding Python Raspberry Pi
import smbus
import time
import os
from time import gmtime, strftime
import RPi.GPIO as GPIO
import sys
import MySQLdb
from time import sleep
import time
from mfrc522 import SimpleMFRC522
LCD_BACKLIGHT = 0x08 # On
#LCD_BACKLIGHT = 0x00 # Off
# Timing constants
E_PULSE = 0.0005
E_DELAY = 0.0005
94
# set row pins to output, all to high
GPIO.setmode(GPIO.BCM)
selenoid = 27
buzzer = 17
GPIO.setwarnings(False) # Ignore warning for now
GPIO.setup(selenoid,GPIO.OUT)
GPIO.setup(buzzer,GPIO.OUT)
GPIO.output(selenoid, GPIO.HIGH)
reader = SimpleMFRC522()
key_map=[["1","4","7","*"],\
["2","5","8","0"],\
["3","6","9","#"],\
["A","B","C","D"]]
def simpanDB(cursor,db,id_pengguna,akun,keterangan):
#tgl,jam,id_pengguna,akun,keterangan
tgl=strftime("%Y%m%d",gmtime())
jam=strftime("%H%M%S",gmtime())
95
#print(sql)
v=0
try:
cursor.execute(sql)
db.commit()
v=1
except:
db.rollback()
return v
def updateDB(cursor,db,passkey,idx):
sql = "UPDATE `tb_pengguna` set `passkey`='%s' where `id_penggu
na` ='%s'" % (passkey,idx)
v=0
try:
cursor.execute(sql)
db.commit()
v=1
except:
db.rollback()
return v
def cekDB(cursor,db,passkey):
SQL="SELECT `id_pengguna`,`level`,`nama_pengguna` FROM `tb_pengg
una` where `passkey`='%s'" % (passkey)
#print(SQL)
cursor.execute(SQL)
v=0
for row in cursor.fetchall():
v=1
id_pengguna=row[0]
akun=row[1]
keterangan=row[2]
simpanDB(cursor,db,id_pengguna,akun,keterangan)
return v
def cekDBrfid(cursor,db,rfid):
SQL="SELECT `id_pengguna`,`level`,`nama_pengguna` FROM `tb_pengg
una` where `rfid`='%s'" % (rfid)
#print(SQL)
cursor.execute(SQL)
v=0
for row in cursor.fetchall():
v=1
id_pengguna=row[0]
akun=row[1]
keterangan=row[2]
96
simpanDB(cursor,db,id_pengguna,akun,keterangan)
return v
def lcd_init():
# Initialise display
lcd_byte(0x33,LCD_CMD) # 110011 Initialise
lcd_byte(0x32,LCD_CMD) # 110010 Initialise
lcd_byte(0x06,LCD_CMD) # 000110 Cursor move direction
lcd_byte(0x0C,LCD_CMD) # 001100 Display On,Cursor Off, Blink Off
lcd_byte(0x28,LCD_CMD) # 101000 Data length, number of lines, font
size
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
time.sleep(E_DELAY)
# High bits
bus.write_byte(I2C_ADDR, bits_high)
lcd_toggle_enable(bits_high)
# Low bits
bus.write_byte(I2C_ADDR, bits_low)
lcd_toggle_enable(bits_low)
def lcd_toggle_enable(bits):
# Toggle enable
time.sleep(E_DELAY)
bus.write_byte(I2C_ADDR, (bits | ENABLE))
time.sleep(E_PULSE)
bus.write_byte(I2C_ADDR,(bits & ~ENABLE))
time.sleep(E_DELAY)
def mulaiLCD():
lcd_string("Tulis PIN ",LCD_LINE_1)
lcd_string("...............",LCD_LINE_2)
time.sleep(1)
97
def suksesLCD():
lcd_string("PIN SESUAI.....",LCD_LINE_1)
lcd_string("Silakan Masuk..",LCD_LINE_2)
GPIO.output(selenoid, GPIO.LOW)
sleep(4)
GPIO.output(selenoid, GPIO.HIGH)
time.sleep(1)
def gagalLCD():
lcd_string("PIN SALAH......",LCD_LINE_1)
lcd_string("Pintu Not Open!",LCD_LINE_2)
time.sleep(1)
def infoLCD(pinnya):
buzz()
lcd_string("PIN ANDA : ",LCD_LINE_1)
lcd_string("",LCD_LINE_2)
lcd_string(":"+pinnya,LCD_LINE_2)
time.sleep(1)
def resetLCD():
lcd_string("Reset / Clear !",LCD_LINE_1)
lcd_string("......!!!......",LCD_LINE_2)
time.sleep(1)
mulaiLCD()
def tapkartu():
lcd_string("TAP Kartu Anda !",LCD_LINE_1)
lcd_string("......!!!......",LCD_LINE_2)
time.sleep(1)
def buzz():
GPIO.output(buzzer, GPIO.HIGH)
sleep(0.1)
GPIO.output(buzzer, GPIO.LOW)
def buzz2():
GPIO.output(buzzer, GPIO.HIGH)
sleep(2)
GPIO.output(buzzer, GPIO.LOW)
sleep(0.1)
def bukakunci():
GPIO.output(selenoid, GPIO.LOW)
sleep(3)
GPIO.output(selenoid, GPIO.HIGH)
98
def lcd_string(message,line):
# Send string to display
lcd_byte(line, LCD_CMD)
for i in range(LCD_WIDTH):
lcd_byte(ord(message[i]),LCD_CHR)
########################
lcd_init()
pathAPP = os.getcwd()
print(pathAPP)
# main program
gab0="12345"
gab=""
print("Silakan masukkan PIN ANDA....")
mulaiLCD()
while True:
try:
key=Keypad4x4Read(col_list, row_list)
if key != None:
buzz()
#print("You pressed: "+key)
if key=="A":
buzz2()
print("Reset Password....Ulangi...")
resetLCD()
gab=""
elif key=="B":
pj=len(gab)
if pj>0:
print("Reset Password 1 char before...")
gab=gab[0:pj-1]
infoLCD(gab)
else:
buzz2()
print("Silakan masukkan PIN kembali....")
99
mulaiLCD()
elif key=="C":
print("TAP Kartu Anda !")
lcd_string("TAP Kartu Anda !",LCD_LINE_1)
lcd_string("......!!!......",LCD_LINE_2)
buzz2()
buzz2()
gab0=cekDB(cursor,db, gab)
time.sleep(1)
db.close()
if gab0==0:
print("Pin Tidak Sesuai.")
gagalLCD()
else:
print("PIN Sesuai,,,.....PINTU TERBUKA.")
suksesLCD()
GPIO.output(selenoid, GPIO.HIGH)
100
gab=""
elif key=="D":
buzz2()
gab=gab0
print("Kembali ke Pin Lama.......",gab)
infoLCD(gab)
else:
gab=gab+str(key)
# if id==306500445796:
# GPIO.output(selenoid, GPIO.LOW)
# sleep(4)
# else:
#GPIO.output(selenoid, GPIO.HIGH)
time.sleep(0.1)
except KeyboardInterrupt:
GPIO.cleanup()
sys.exit()
101