79
TUGAS AKHIR SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN BARCODE BERBASIS RASPBERRY PI Diajukan untuk memenuhi salah satu syarat Memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro Jurusan Teknik Elektro Fakultas Sains dan Teknologi Universitas Sanata Dharma Disusun oleh : BONIFASIUS KRISTIAWAN NIM : 145114056 JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2017 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

  • Upload
    lyminh

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

TUGAS AKHIR

SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN

BARCODE BERBASIS RASPBERRY PI

Diajukan untuk memenuhi salah satu syarat

Memperoleh gelar Sarjana Teknik pada

Program Studi Teknik Elektro

Jurusan Teknik Elektro

Fakultas Sains dan Teknologi Universitas Sanata Dharma

Disusun oleh :

BONIFASIUS KRISTIAWAN

NIM : 145114056

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2017

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

ii

FINAL PROJECT

SECURITY ROOM ACCESS SYSTEM WITH BARCODE BASED ON

RASPBERRY PI

In a partial fulfilment of the requirements

For the degree of Sarjana Teknik

Department of Electrical Engineering

Faculty of Science and Technology, Sanata Dharma University

BONIFASIUS KRISTIAWAN

NIM : 145114056

DEPARMENT OF ELECTRICAL ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2017

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

iii

LEMBAR PERSETUJUAN

TUGAS AKHIR

SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN

BARCODE BERBASIS RASPBERRY PI

Oleh :

BONIFASIUS KRISTIAWAN

NIM : 145114056

telah disetujui oleh :

Pembimbing

Djoko Untoro Suwarno, S.Si., M.T. Tanggal :________________

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

iv

LEMBAR PENGESAHAN

TUGAS AKHIR

SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN

BARCODE BERBASIS RASPBERRY PI

disusun oleh :

BONIFASIUS KRISTIAWAN

NIM : 145114056

Telah dipertahankan di depan tim penguji pada tanggal .. Januari 2017

dan dinyatakan memenuhi syarat

Susunan Tim Penguji

Nama Lengkap Tanda Tangan

Ketua : Martanto, S.T.,M.T.

Sekretaris : Djoko Untoro Suwarno, S.Si.,M.T.

Anggota : Ir. Th. Prima Ari Setiyani, M.T.

Yogyakarta,

Fakultas Sains dan Teknologi

Universitas Sanata Dharma

Dekan,

Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO :

NOTHING TO LOSE …

HARD WORK BEATS TALENT WHEN TALENT DOESN’T

WORK HARD…

Skripsi ini kupersembahkan untuk…..

Yesus Kristus

ST. Mikael Pelindungku

PAPA, MAMA ,ADEK

Sahabat dan Teman-teman Seperjuangan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

vi

LEMBAR PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya

atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka

sebagaimana layaknya karya ilmiah.

Yogyakarta, 30 Juni 2016

Bonifasius Kristiawan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

vii

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA

ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : Bonifasius Kristiawan

Nomor Mahasiswa : 145114056

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas

Sanata Dharma karya ilmiah saya yang berjudul :

SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN

BARCODE BERBASIS RASPBERRY PI

beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada

Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk

media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas

dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa

perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap

mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini yang saya buat dengan sebenarnya.

Yogyakarta, 30 Juni 2016

(Bonifasius Kristiawan)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

viii

INTISARI

Penelitian ini mengembangkan teknologi mikrokontroler dan barcode yang

digunakan untuk security system yaitu membuat sistem keamanan akses suatu ruangan yang

dapat diaplikasikan pada suatu ruangan yang membutuhkan keamanan khusus. Dengan

memanfaatkan teknologi barcode dan sistem penyimpanan database, diharapkan penelitian

ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji

menggunakan kartu mahasiswa sebagai kuncinya.

Prototype sistem keamanan akses ruang dengan masukan barcode berbasis

raspberry pi menggunakan 1 buah webcam dengan resolusi video VGA sebagai alat

pemindai barcode, 2 buah LED berwarna hijau sebagai penanda sistem, 2 buah solenoid

door lock sebagai pengunci gerbang, dan 1 buzzer sebagai penanda kesalahan sistem.

Berdasarkan pengujian, penelitian ini menghasilkan prototype sistem keamanan

akses ruang dengan masukan barcode dapat mencatat data dalam bentuk satuan waktu.

Sistem database yang sudah dirancang dan dibuat sudah dapat menyimpan, menambah,

mengubah dan menghapus data yang dimasukkan oleh operator. GUI dapat ditampilkan pada

monitor agar operator dapat mengoperasikan secara mudah dengan fitur – fitur yang ada.

Webcam dapat membaca barcode dan menunjukkan nomor barcode beserta jenis barcode.

Kerja dari output yaitu solenoid door lock dan LED sebagai simulasi dari pengunci pintu

ruangan dan penanda bahwa sistem sudah bekerja sesuai dengan perancangan.

Kata Kunci : Sistem Keamanan Akses Ruang, Raspberry Pi, Barcode, Database.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

ix

ABSTRACT

This research develop microcontroler and barcode technology that use for security

system which is to makes security room access system that can be applied to some rooms

that need to be secure. Using barcode technology and database system, this research can be

expected to produce a prototype access door device and student card as the key.

Prototype security room access with barcode based on raspberry pi made with one

webcam with VGA video resolution device for barcode scanner, 2 green LED to detect

system, two solenoid door lock as gate lock and one buzzer to detect error system.

Based on testing, this research produced security room access with barcode based

on raspberry pi as the key pass that came out in a unit of time. The database system that has

been included before. GUI can be displayed on the monitor so it will perform easily with

existing features. The webcam can read the barcode and shows the barcode number, in

addition it can show the types of barcode. Solenoid door lock and LED performs as an output.

It works as a simulation of the room door lock and a marker which the system could perform

in according with the design that has been created.

Keyword : The Security Room Access, Raspberry Pi, Barcode, Database.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

x

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus atas segala rahmat-

Nya. Berkat Kasih dan KaruniaNya selama menjalani proses pembuatan tugas akhir ini,

penulis dapat menyelesaikan tugas akhir dengan judul “Sistem Keamanan Akses Ruang

Dengan Masukan Barcode Bersbasis Raspberry Pi”.

Tugas akhir ini disusun untuk memenuhi salah satu syarat memperoleh gelar Sarjana

Teknik (S.T) bagi mahasiswa program S-1 Jurusan Teknik Elektro Universitas Sanata

Dharma Yogyakarta. Selama proses penyusunan proposal ini, penulis banyak mendapat

bantuan dan dukungan dari berbagai pihak, untuk itu penulis mengucapkan terimakasih

kepada:

1. Bapak Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik Elektro

Universitas Sanata Dharma Yogyakarta.

2. Bapak Djoko Untoro Suwarno, S.Si., M.T. selaku Dosen Pembimbing tugas akhir yang

telah banyak meluangkan waktu untuk memberikan bimbingan.

3. Bapak Martanto, M.T., dan Ibu Ir. Th. Prima Ari Setiyani, M.T. yang telah memberikan

saran dan kritik dalam menyelesaikan penulisan tugas akhir.

4. Seluruh dosen Teknik Elektro yang telah memberikan ilmu yang bermanfaat kepada

penulis selama kuliah.

5. Papa, Mama, Adek yang telah memberikan perhatian dan dukungan yang lebih dari

cukup.

6. Keluargaku tercinta Yangti dan Yangkung yang selalu mendoakan dan terus

memberikan semangat dalam mengerjakan.

7. Seluruh teman-teman prodi Teknik Elektro angkatan 2014 atas kerjasama dan

kebersamaannya selama menjalani studi.

8. Teman - teman kost ADZIN dan kost 127 yang selalu menjadi penggembira dan

penyemangat.

9. Semua pihak yang tidak bisa penulis sebutkan satu per satu atas bantuan, bimbingan,

kritik dan saran.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

xi

Dalam penyusunan tugas akhir ini, penulis menyadari masih banyak kekurangan,

karena itu penulis mengharapkan kritik dan saran yang membangun demi kesempurnaan

tugas akhir ini.

Yogyakarta, 30 Juni 2016

Penulis,

Bonifasius Kristiawan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

xii

DAFTAR ISI

HALAMAN JUDUL (Bahasa Indonesia) ........................................................................... i

HALAMAN JUDUL (Bahasa Inggris)................................................................................ ii

LEMBAR PERSETUJUAN ............................................................................................... iii

LEMBAR PENGESAHAN ................................................................................................ iv

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ................................................... v

LEMBAR PERNYATAAN KEASLIAN KARYA ........................................................... vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK

KEPENTINGAN AKADEMIS ......................................................................................... vii

INTISARI ........................................................................................................................ viii

ABSTRACT ....................................................................................................................... ix

KATA PENGANTAR ......................................................................................................... x

DAFTAR ISI .................................................................................................................... xii

DAFTAR GAMBAR ....................................................................................................... xiv

DAFTAR TABEL .........................................................................................................xiviii

BAB I PENDAHULUAN ................................................................................................... 1

1.1 Latar Belakang ................................................................................................................. 1

1.2 Tujuan dan Manfaat ......................................................................................................... 2

1.3 Batasan Masalah .............................................................................................................. 3

1.4 Metodologi Penelitian...................................................................................................... 3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

xiii

BAB II DASAR TEORI ...................................................................................................... 5

2.1 Raspberry Pi ................................................................................................................... 5

2.2 Bahasa Pemrograman Pyhton .......................................................................................... 7

2.2.1 Modul Tkinter ................................................................................................... 8

2.2.2 Modul MySQLdb .............................................................................................. 8

2.2.3 Modul RPi.GPIO .............................................................................................. 8

2.2.4 Modul Pexpect .................................................................................................. 8

2.3 Elektrik Solenoid ............................................................................................................. 8

2.4 Sistem Database ............................................................................................................... 8

2.4.1 Membuat Database MySQL ............................................................................. 9

2.4.2 Operasi Pembuatan Tabel ............................................................................... 10

2.4.3 Operasi Penambahan Data .............................................................................. 11

2.4.4 Operasi Pemilihan Data .................................................................................. 11

2.4.5 Operasi Memperbarui Data ............................................................................. 12

2.4.6 Operasi Menghapus Data ................................................................................ 13

2.5 Barcode .......................................................................................................................... 14

BAB III RANCANGAN PENELITIAN ............................................................................. 16

3.1 Perancangan Sistem ....................................................................................................... 16

3.2 Perancangan Database .................................................................................................. 17

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

xiv

3.3 Perancangan Software.................................................................................................... 18

3.3.1 Diagram Alir Pintu Masuk .................................................................................. 18

3.3.2 Diagram Alir Pintu Keluar .................................................................................. 20

3.4 Perancangan Hardware ................................................................................................. 24

BAB IV HASIL DAN PEMBAHASAN ........................................................................... 25

4.1 Pengujian Keseluruhan Sistem ...................................................................................... 31

4.2 Hasil Perancangan Perangkat Lunak (GUI) .................................................................. 25

4.2.1 Proses Pengunduhan Library Python .................................................................. 33

4.2.2 Halaman Utama Program (GUI) ......................................................................... 33

1 Menu Utama ....................................................................................................... 34

2 Tombol "INPUT" ............................................................................................... 35

3 Menu Detail ........................................................................................................ 35

4.3 Hasil Perancangan Database ......................................................................................... 36

4.4 Hasil Pengujian Pembacaan Barcode Dengan Webcam ................................................ 39

4.4.1 Pengujian Dengan Webcam Genius FaceCam 320 ............................................. 41

4.4.2 Pengujian Dengan Webcam Logitech C170 ........................................................ 42

4.5 Hasil Pengujian Hardware ........................................................................................... 43

BAB V KESIMPULAN DAN SARAN ........................................................................... 44

5.1 Kesimpulan .................................................................................................................... 44

5.2 Saran .............................................................................................................................. 44

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

xv

DAFTAR PUSTAKA ........................................................................................................ 45

LAMPIRAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

xvi

DAFTAR GAMBAR

Gambar 1.1 Diagram blok sistem ............................................................................ 3

Gambar 2.1 Konfigurasi pin pada port GPIO ......................................................... 6

Gambar 2.2 Contoh Door Lock solenoid................................................................. 8

Gambar 2.3 contoh kode Python untuk pembuatan database SQLite ..................... 9

Gambar 2.4 hasil tulisan bahwa database berhasil dibuat ....................................... 10

Gambar 2.5 contoh kode python untuk membuat tabel dalam database ................. 10

Gambar 2.6 hasil tulisan bahwa tabel dalam database sudah terbuat ...................... 10

Gambar 2.7 Contoh kode python untuk menambahkan data kedalam tabel ........... 11

Gambar 2.8 hasil tulisan bahwa tabel berhasil dibuat ............................................. 11

Gambar 2.9 Contoh kode Python untuk memilih suatu data dalam tabel ............... 11

Gambar 2.10 Hasil pemilihan data yang sudah dibuat .............................................. 11

Gambar 2.11 Contoh kode python untuk memperbarui data yang sudah ada ........... 12

Gambar 2.12 Menunjukkan hasil kode python untuk memperbarui data.................. 13

Gambar 2.13 contoh kode python untuk menghapus data......................................... 13

Gambar 2.14 hasil eksekusi program penghapusan data ........................................... 14

Gambar 2.15 Contoh CODE 39 ................................................................................. 15

Gambar 3.1 Diagram blok sistem .............................................................................. 17

Gambar 3.2 Diagram alir pada saat akan masuk ruangan ......................................... 20

Gambar 3.3 Diagram alir pada saat akan keluar ruangan .......................................... 21

Gambar 3.4 Tampilan rencana antar muka (GUI) pada software Python ................. 22

Gambar 4.1 Pengunduhan file - file library untuk Python ........................................ 25

Gambar 4.2 peletakan webcam pada monitor LCD .................................................. 26

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

xvii

Gambar 4.3 Rangkaian PCB untuk simulasi hardware ............................................. 27

Gambar 4.4 langkah mengaktifkan webcam untuk pintu masuk .............................. 27

Gambar 4.5 proses pemindaian barcode dengan NIM 145114003 saat pintu masuk 28

Gambar 4.6 hasil pemindaian muncul pada python shell .......................................... 28

Gambar 4.7 NIM 145114003 muncul pada entry box untuk pencatatan database .... 28

Gambar 4.8 muncul peringatan "SELAMAT DATANG" pada layar monitor ......... 28

Gambar 4.9 NIM 145114003 sudah tercatat waktu masuk pada database bagian paling

bawah ........................................................................................................................ 28

Gambar 4.10 simulasi hardware pada pintu masuk pengunci pintu dan led aktif .... 29

Gambar 4.11 langkah mengaktifkan webcam pada pintu keluar............................... 29

Gambar 4.12 proses pemindaian barcode dengan NIM 145114003 saat pintu keluar

............................................................................................................................... 29

Gambar 4.13 hasil pemindaian muncul pada python shell ........................................ 29

Gambar 4.14 NIM 145114003 muncul pada entry box untuk pencatatan database . 30

Gambar 4.15 muncul peringatan "SELAMAT JALAN" pada layar monitor ........... 30

Gambar 4.16 NIM 145114003 sudah tercatat waktu keluar pada database bagian paling

bawah ......................................................................................................................... 31

Gambar 4.17 simulasi hardware untuk pintu keluar pengunci pintu dan led aktif ... 31

Gambar 4.18 Pengunduhan file – file library untuk Python ...................................... 32

Gambar 4.19 Listing program untuk import package pada Python 2.7 ..................... 33

Gambar 4.20 Hasil GUI (Graphical User Interface) ................................................ 34

Gambar 4.21 listing program untuk menubar ............................................................ 34

Gambar 4.22 Menu Bar Utama pada GUI ................................................................. 34

Gambar 4.23 listing program untuk menu "INPUT" ................................................. 35

Gambar 4.24 Tombol INPUT untuk pencatatan pada database ................................ 35

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

xviii

Gambar 4.25 listing program untuk menu detail ....................................................... 35

Gambar 4.26 Menu Detail untuk menampilkan detail identitas member .................. 36

Gambar 4.27 Tabel identitas pada database roomaccess .......................................... 37

Gambar 4.28 Form pengisian identitas ada tabel identitas ........................................ 37

Gambar 4.29 Isi tabel History pada database roomaccess ........................................ 38

Gambar 4.30 Editor untuk pengujian penambahan data waktu pada tabel History .. 39

Gambar 4.31 EER-Diagram Perancangan Database ................................................. 39

Gambar 4.32 Kode Python yang digunakan untuk pembacaan barcode ................... 40

Gambar 4.33 Pengujian jarak terdekat pada webcam Genius FaceCam 320 ............ 41

Gambar 4.34 pembacaan barcode oleh webcam tertampil pada LCD monitor......... 41

Gambar 4.35 Hasil pembacaan barcode tertampil pada Pyton Shell ........................ 41

Gambar 4.36 Pengujian pembacaan barcode pada jarak terdekat ............................. 42

Gambar 4.37 Pengujian pembacaan barcode pada jarak terjauh ............................... 42

Gambar 4.38 Hasil dari pembacaam webcam Logitech C170 ................................... 43

Gambar 4.39 Kode python untuk pengujian hardware ............................................. 44

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

xix

DAFTAR TABEL

Gambar 3.1 Perancangan database identitas .............................................................. 17

Gambar 3.2 Perancangan database History ............................................................... 18

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Perkembangan teknologi pada masa kini sangat pesat khususnya di bidang

komputerisasi dan elektronika. Teknologi yang dikembangkan salah satunya bertujuan untuk

membantu memberikan keamanan, baik keamanan diri maupun keamanan terhadap barang

– barang berharga contohnya laptop, dokumen – dokumen perusahaan dan lain sebagainya.

Agar suatu barang berharga terhindar dari tindak kriminalitas khususnya pencurian, barang

– barang berharga tadi biasanya disimpan dalam suatu ruangan khusus agar tidak diambil

oleh orang – orang yang tidak berhak. Keamanan suatu ruang menjadi faktor penting dalam

pengamanan suatu barang.

Berdasar pada ide pembuatan sistem keamanan ruang, maka pada penelitian kali ini

akan dibuat prototipe sistem keamanan akses ruang menggunakan barcode. Pada penelitian

sistem keamanan akses ruang menggunakan salah satu mikrokontroler yang sedang

berkembang yaitu Raspberry Pi. Raspberry pi adalah salah satu mikrokontroler berbasis

SBC (System Board Chip). Raspberry Pi atau yang sering disingkat dengan nama Raspi,

adalah komputer papan tunggal (Single Board Circuit/SBC) yang berukuran sebesar kartu

kredit. Bisa dikatakan Raspi adalah PC(Personal Computer) karena fungsinya dapat

menggantikan komputer desktop jaman sekarang dan ukurannya yang kecil sehingga praktis

dibawa ke mana saja.

Pada penelitian yang dilakukan oleh Bambang ( Bambang Tri Atmojo, 2013)

berjudul “Model Sistem Kendali Pintu Otomatis Menggunakan Barcode Berbasis PC Pada

Gerbang Laboratorium Teknik Elektro Unila” menjelaskan bahwa sistem dibuat untuk

menjaga keterriban dan kenyamanan laboratorium. Pada penelitian tersebut dibuat

pemodelan pintu otomatis menggunakan barcode. Selain itu model tersebut akan

mempunyai data dokumentasi kehadiran secara digital agar lebih mudah dalam proses

monitoring data mahasiswa yang melakukan kegiatan diluar jam kerja.

Pada penelitian yang dilakukan oleh Hendi (Hendi Handian Rachmat, 2014) berjudul

“Pemanfaatan Sistem RFID Sebagai Pembatas Akses Ruangan” dijelaskan bahwa sistem

RFID (Radio Frequency Identification) dimanfaatkan sebagai kartu identifikasi personal

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

2

pada sistem akses ruangan. Keberadaan sistem tersebut ditujukan untuk menjaga keamanan

dan privasi ruangan dari seseorang yang tidak memiliki otoritas untuk memasuki ruangan

tersebut.

Pada penelitian yang dilakukan oleh Mulki (Mulki Syahputra Muharram, 2015) yang

berjudul “Implementasi Kunci Pintu Otomatis Dengan RFID Berbasis Raspberry Pi Sebagai

Sub Sustem Dari Kunci Otomatis Pada Ruang Dosen Universitas Telkom” dijelaskan bahwa

pengamanan ruangan menggunakan suatu perangkat yaitu RFID (Radio Frequency

Identification) sebagai kunci pembuka pintu. RFID menjadi pemicu fungsi – fungsi yang

terkait yaitu fungsi solenoid (buka/tutup kunci), fungsi buzzer (alarm), dan fungsi sensor

magnetik (deteksi pergerakan pintu). Terdapat juga pencatatan RFID tag pada log sistem.

Sistem ini akan digunakan untuk mengamankan suatu ruangan dari tindak kriminal

khususnya pencurian. Dengan menggunakan barcode sebagai syarat untuk membuka pintu

ruangan. Raspberry Pi sendiri berfungsi sebagai otak dari pemrosesan sistem keamanan yang

terdiri dari GUI (Graphical User Interface) atau tampilan pada layar LCD, GPIO (General

Purpose Input Output) sebagai pengendali kunci pintu dan sensor pintu, dan SQLite3

sebagai manajemen database. Seseorang yang akan memasuki ruangan tersebut harus

memiliki kartu yang terdapat barcode.

Raspberry Pi dan akan digunakan monitor LCD sebagai output nya yaitu berupa

tampilan menggunakan program Python.

1.2. Tujuan dan Manfaat

Tujuan penelitian ini yaitu menghasilkan sebuah sistem keamanan akses ruang yang

dapat diaplikasikan di lingkungan kampus. Sistem keamanan akses ruang ini diharapkan

mampu meningkatkan keamanan akses ruang di lingkungan kampus.

Manfaat dari penelitian ini :

a. Manfaat bagi masyarakat

Masyarakat kampus dapat mengaplikasikan sistem keamanan akses ruang ini di

lingkungan kampus yang memiliki ruangan yang membutuhkan keamanan yang khusus.

b. Manfaat bagi ilmu pengetahuan

Penelitian ini akan menambah aplikasi penggunaan Raspberry Pi. Pada saat

penelitian ini dibuat, Raspberry Pi merupakan perangkat yang baru dikembangkan. Hasil

penelitian ini diharapkan dapat lebih dikembangkan dengan menambah fitur yang lain yang

belum terdapat pada penelitian ini.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

3

1.3. Batasan Masalah

Perancangan sistem keamanan akses ruang dengan masukan barcode berbasis

Raspberry Pi ini mencakup batasan – batasan masalah sebagai berikut :

a. Alat ini akan berupa prototipe.

b. Menggunakan Raspberry Pi 3.

c. Masukan data berupa scan dari barcode scanner yang ada di kartu mahasiswa.

d. Terbatas hanya 20 data atau identitas (Kartu mahasiswa).

e. Menggunakan elektrik solenoid sebagai pengunci pintu.

f. Menggunakan bahasa pemrograman Python.

g. Terdapat catatan waktu masuk dan keluar ruangan.

h. Perangkat lunak dapat ditampilkan pada monitor.

1.4. Metodologi Penelitian

a. Studi Pustaka

Studi pustaka dilakukan dengan pengumpulan informasi dari berbagai literatur.

Literatur tersebut antara lain berupa buku, jurnal, datasheet. Selain itu, informasi

dikumpulkan dari berbagai artikel dari internet. Informasi yang dikumpulkan mencakup

informasi mengenai datasheet Raspberry Pi, bahasa pemrograman Python, dan datasheet

barcode scanner.

b. Perancangan dan Pembuatan Alat

Gambar 1.1 Diagram blok sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

4

Perancangan dan pembuatan alat dimulai dari pembuatan hardware. Hardware yang

dibuat berupa rangkaian elektronik pada port GPIO. Perancangan selanjutnya yaitu

perancangan program pengolahan data pada Raspberry Pi yaitu pembuatan antar muka.

Diagram blok sistem bisa dilihat pada gambar 1.1

c. Pengujian alat dan Pengambilan data

Pengambilan data alat dimulai dari pengujian sistem apakah sudah sesuai dengan

tujuan seperti pencatatan identitas apakah sudah sesuai atau belum, fungsi dari tiap

komponen apakah sudah sesuai tugasnya masing – masing atau belum.

d. Pembuatan Analisa dan Kesimpulan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

5

BAB II

DASAR TEORI

2.1. Raspberry Pi

Pada penelitian ini akan digunakan salah satu mikrokontroler yaitu Raspberry Pi.

Jenis Raspberry pi yang akan digunakan yaitu Raspi versi 3, dikarenakan versi ini sudah

dilengkapi dengan fitur wifi dan bluetooth serta memiliki kapasistas ram yang lebih besar

dari yang sebelumnya yaitu sebesar 1 gigabyte. Raspberry Pi merupakan komputer dalam

satu singleboard.. Chip mengintegrasikan sebuah prosesor (CPU), graphics processing unit

(GPU), dan memori pada suatu unit tunggal [1]. Bagian – bagian Raspberry pi adalah

sebagai berikut :

1. Prosesor

Prosesor berupa chip 32 bit, 1.2 GHz System on a Chip (SOC) dengan merk Broadcom

BCM2837. Menggunakan empat inti merk ARM Cortex-A53 dengan kecepatan 1,2

GHz. Raspberry Pi model 3 mempunyai RAM sebesar 1 GB[1].

2. Slot Secure Digital Card (SD Card)

Raspberry Pi menggunakan SD Card sebagai media penyimpanan seluruh data (hard

drive).

3. Port USB

Raspberry Pi Model 3 mempunyai 4 port USB sedangkan Raspberry Pi Model A hanya

mempunyai sebuah Port USB.

4. Port Ethernet, Wifi, dan Bluetooth

Raspberry Pi model 3 mempunyai port ethernet dengan standar RJ45 dan antena

berkecepatan 2.4 GHz 802.11n untuk penangkap sinyal wifi. Raspberry model 3 juga

terdapat bluetooth untuk transfer data dan koneksi dengan sebuah hardware yang

menggunakan koneksi tersebut.

5. Konektor HDMI (High-Definition Multimedia Interface)

Port HDMI digunakan sebagai penyedia keluaran video dan audio digital. Sinyal HDMI

mampu dikonversi menjadi DVI (Digital Visual Interface) sehingga dapat digunakan

untuk berbagai monitor.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

6

6. Output Audio Analog

Port audio analog digunakan sebagai penyedia keluaran audio analog untuk speaker

dengan jack standar 3,5 mm mini analog audio jack.

7. Keluaran Composite Video

Jack standar tipe RCA menyediakan keluaran untuk sinyal video NTSC dan PAL [2].

8. Port GPIO

Selain itu terdapat port General Purpose Input/Output (GPIO) digunakan untuk

berhubungan dengan suatu hardware eksternal. Raspberry Pi mempunyai 26 pin GPIO.

Gambar 2.1. menunjukkan konfigurasi pin pada port GPIO.

Gambar 2.1. Konfigurasi pin pada port GPIO [3]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

7

Basis Operating System (OS) pada Raspberry Pi yaitu Linux. Prosesor Broadcom

[1][2]mempunyai device driver dan kode yang tidak terdapat dalam standar Linux

distribution. Ukuran RAM (Read Access Memory) pada Raspberry Pi berbeda dengan

ukuran RAM komputer desktop. Linux distribution khusus untuk Raspberry pi

dikembangkan dalam mengatasi ketidaksesuaian Raspberry Pi dengan standar Linux. Linux

distribution yang dibuat di antaranya Raspbian (direkomendasikan secara resmi), Adafruit

Raspberry PI Educational Linux, Arch Linux, Xbian, Qton Pi.

Raspi ini nantinya berfungsi untuk menyimpan database yang berisikan identitas

dari pemilik kartu ruangan. Untuk mempermudah pengecekan data yang masuk maupun

keluar, akan dibuat sebuat antar muka (interface) yaitu dengan menggunakan perangkat

lunak (software) dengan python.

2.2. Bahasa Pemrograman Python

Python ditemukan oleh Guido van Rossum. Bahasa Python merupakan bahasa

pemrograman yang dikategorikan highlevel language . Berbeda dengan lowlevel language,

highlevel language tidak dapat langsung dijalankan oleh mesin, perlu diproses terlebih

dahulu agar dapat dijalankan oleh mesin. Pada sisi interface, digunakan modul Tkinter yang

merupakan interface standar yang biasa digunakan pada pemrograman Python [2].

Program atau script Python dapat langsung dieksekusi, tidak perlu proses

compiling ke kode mesin. Dalam Python, pemrograman tidak perlu menegaskan sebuah

variabel berupa number, list, atau string [2]. Python merupakan open source software.

Bahasa pemrograman python masih dikembangkan dan diperbaiki[2].

2.2.1. Modul Tkinter

Tkinter merupakan modul Python untuk pembuatan tampilan atau biasa disebut

Graphical User Interface. Modul mempunyai widget atau komponen yang dapat diatur

dengan kode – kode tertentu untuk menghasilkan tampilan yang dapat dikendalikan dari

layar monitor LCD.

2.2.2. Modul MySQLdb

Merupakan paket modul yang disediakan python untuk dapat membuat dan

mengakses database. Paket modul ini dapat menyimpan data – data transaksi yang telah

dilakukan dalam satuan waktu dan tipe data yang lain.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

8

2.2.3. Modul RPi.GPIO

GPIO merupakan modul untuk membaca dan mengendalikan port GPIO pada

Raspberry Pi [2].

2.2.4. Modul Pexpect

Pexpect merupakan modul Python untuk mengendalikan suatu aplikasi secara

otomatis.

2.3. Elektrik Solenoid

Elektrik solenoid ini adalah salah satu solenoid pengunci otomatis yang difungsikan

khusus sebagai solenoid untuk pengunci pintu yang biasa disebut Door Lock Solenoid. Alat

ini membutuhkan tegangan supply 12v. Prinsip kerja dari elektrik solenoid adalah

elektromagnet dimana arus listrik yang berasal dari sumber DC maupun AC menimbulkan

medan magnet sehingga dapat menggerakan batang besi yang ada pada solenoid. Sistem

kerja solenoid ini adalah NC (Normally Close). Katup solenoid akan tertarik jika ada

tegangan dan sebaliknya katup solenoid akan memanjang jika tida ada tegangan. Contoh

gambar bisa dilihat pada gambar 2.2.

Solenoid yang akan digunakan adalah Door Solenoid 12v, dengan material metal.

Solenoid ini mempunyai panjang langkah sepanjang 10mm dan gaya sebesar 50gr. Ukuran

totalnya 6,6 x 4 x 2,7 cm dengan panjang kabel 24 cm dan berat kotornya 147gr. Solenoid

ini membutuhkan suplai daya 650 mA pada tegangan 12V dan 500 mA pada 9V.

Gambar 2.2 Contoh Door Lock solenoid

2.4. Sistem Database

Bagi sebagian besar programmer istilah “database” pada umumnya mengacu ke

model database relasional (Relational Database Management System, atau RDBMS). Dalam

model ini, data tersimpan di dalam suatu tabel yang terdiri dari baris dan kolom. Data

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

9

tersebut kemudian dapat dimanipulasi dan diatur menggunakan statement – statement yang

ditulis dalam bahasa SQL (Structured Query Language). Python telah menyediakan MySQL

sebagai RDBMS standar yang dapat digunakan untuk pemrograman database. Artinya, kita

tidak perlu melakukan instalasi software atau driver tambahan untuk bekerja dengan modul

MySQL sudah disediakan di dalam pustaka standar Python. Meskipun demikian Python juga

memiliki dukungan penuh terhadap RDBMS lain seperti, MySQL, Oracle, PostgreSQL,

DB2 dan lain sebagainya.

MySQL merupakan sebuah sistem manajemen basisdata relasional yang dirancang

untuk mengelola data pada sebuah aplikasi dengan cara yang nyaman dan tanpa biaya yang

mahal [11]. Kelebihan dari MySQL adalah mudah digunakan, efisien dan dapat diandalkan

[12].

Selain MySQL, Python juga menyertakan dukungan terhadap jenis database

manager (DBM) di dalam pustaka standar. DBM sering digunakan di lingkungan

UNIX/Linux, yang merupakan jenis database dengan data berupa pasangan kunci – nilai,

(key – value pair). DBM sangat mirip dengan struktur data dictionary di dalam Python.

Perbedaannya ada pada DBM datanya di simpan ke dalam disk sedangkan dictionary

datanya hanya disimpan di dalam memori komputer.

2.4.1. Membuat Database MySQL

Pembuatan database MySQL dapat dilakukan dengan mudah menggunakan kode

Python. Caranya dengan menyertakan nama pada saat kita membuat objek koneksi. Jika

nama yang kita sertakan ke dalam parameter connect() belum ada di direktori kerja, maka

secara otomatis file baru yang merupakan file database MySQL akan terbuat. Jika file sudah

ada sebelumnya, maka database tersebut akan dibuka. Berikut adalah contoh gambar

pembuatan database MySQL dengan metode kode python sqlite yang diberi nama test.db

[7].

Gambar 2.3 contoh kode Python untuk pembuatan database SQLite

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

10

Jika database SQLite sudah terbuat maka akan muncul tulisan “Opened database

successfully”, yang berarti database berhasil dibuat dan disimpan dalam direktori kerja.

Berikut ini adalah contoh gambar jika database berhasil dibuat.

Gambar 2.4 hasil tulisan bahwa database berhasil dibuat

2.4.2. Operasi Pembuatan Tabel (Create a Table)

Selanjutnya akan dibuat tabel pada database SQLite yang sudah terbuat tadi.

Berikut adalah contoh kode Pythonnya yang ditunjukkan pada gambar 2.5 [7].

Gambar 2.5 contoh kode python untuk membuat tabel dalam database

Jika sudah terbuat maka akan muncul tulisan “Table created successfully” seperti

ditunjukkan pada gambar 2.6.

Gambar 2.6 hasil tulisan bahwa tabel dalam database sudah terbuat

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

11

2.4.3. Operasi Penambahan Data (Insert Operation)

Berikut ini adalah kode python yang berfungsi untuk menambahkan suatu data di

dalam tabel yang sudah kita buat, bisa dilihat pada gambar 2.7 [7].

Gambar 2.7 Contoh kode python untuk menambahkan data kedalam tabel

Jika tabel sudah terbuat, maka akan muncul tulisan “Records created successfully”

yang bisa dilihat pada gambar 2.8.

Gambar 2.8 hasil tulisan bahwa tabel berhasil dibuat

2.4.4. Operasi Pemilihan Data (Select Operation)

Jika diinginkan memilih dan memunculkan suatu data yang ada di dalam tabel, bisa

digunakan perintah cursor = conn.execute(). Bisa dilihat pada gambar 2.9 [7].

Gambar 2.9 Contoh kode Python untuk memilih suatu data dalam tabel

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

12

Jika kita sudah memilih salah satu data yang ada pada tabel, maka akan muncul

data yang kita inginkan yaitu nomor ID, Name, Address, dan Salary. Bisa dilihat pada

gambar 2.10.

Gambar 2.10 Hasil pemilihan data yang sudah dibuat

2.4.5. Operasi Memperbarui Data (Update Operation)

Berikut adalah cara untuk mengganti data yang sudah ada dengan data yang baru.

Misalnya kita menginginkan data ID nomor 1 dengan salary 25000 yang sebelumnya 20000.

Bisa dilihat pada gambar 2.11 [7].

Gambar 2.11 Contoh kode python untuk memperbarui data yang sudah ada

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

13

Jika pembaruan data sudah terbuat, maka akan muncul data yang ada pada database

beserta pembaruannya yaitu Salary nomor ID 1 yang sebelumnya 20000 menjadi 25000.

Bisa dilihat pada gambar 2.12.

Gambar 2.12 menunjukkan hasil kode python untuk memperbarui data

2.4.6. Operasi Menghapus Data (Delete Operation)

Berikut adalah cara untuk menghapus data yang ada pada tabel database SQL,

misalnya saja menghapus data dengan nomor ID 2. Bisa dilihat pada gambar 2.13 [7].

Gambar 2.13 contoh kode python untuk menghapus data

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

14

Ketika program diatas dieksekusi, maka akan muncul data yang tersisa pada tabel

database SQL. Bisa dilihat pada gambar 2.14.

Gambar 2.14 hasil eksekusi program penghapusan data

2.5. Barcode

Barcode atau kode batang adalah suatu kumpulan data optik berbentuk sebuah blok

persegi paralel bar . Kode batang ini mengumpulkan suatu data dalam bentuk garis lebar dan

spasi garis paralel atau simbologi linear atau 1D (1 dimensi) [8]. Kode batang juga memiliki

bentuk persegi, titik, heksagon da nbentuk geometri lainnya yang disebut juga kode matriks

atau 2D (2 dimensi).

Barcode atau kode batang ini berisikan data atau suatu informasi penting

contohnya seperti informasi tentang harga, informasi tentang identitas suatu barang atau

orang, dan lain sebagainya sesuai kebutuhan dan jenis kode batangnya. Dengan merubah

sebuah data menjadi suatu kode batang agar dapat dibaca oleh sistem komputer dengan

mudah.

Pada pembuatan barcode akan digunakan software yaitu Inkscape yang dimana

nantinya merubah angka menjadi gambar barcode. Fungsi dari inkscape sendiri adalah

untuk membuat barcode atau kode batang yang nantinya menjadi inputan bagi raspi.

Barcode yang akan digunakan yaitu tipe Code 39.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

15

Inkscape adalah perangkat lunak editor gambar vektro yang bersifat perangkat

lunak bebas dibawah lisensi GNU GPL. Fungsi utama Inkscape adlah menjadi perangkat

grafik mutakhir yang memenuhi standar XML, SVG, dan CSS [6].

Inkscape dirintis pada 2003 sebagai sebuah fork dari proyek Sodipodi. Sodipodi

sendiri, yang dikembangkan sejak 1999, didasarkan pada Gill (Gnome Illustration

Application), buah karya dari Raph Levien [6].

Seperti program menggambar lainnya, Inkscape menawarkan pembuatan bentuk

dasar (seperti elips, persegi panjang, bintang, poligon, dan spiral) serta kemampuan untuk

mengubah dan memanipulasi bentuk – bentuk dasar oleh rotasi, peregangan, dan skewing.

Inkscape juga memungkinkan pengguna untuk memanipulasi objek secara tepat

dengan menyesuaikan titik simpul dan kurva. Seniman canggih menemukan fungsi – fungsi

ini sangat diperlukan dalam menggambar software untuk bebas menciptakan apa yang

mereka bayangkan.

Pada penelitian kali ini akan digunakan kode batang bertipe Code 39 yang dimana

barcode tersebut tertera pada kartu masuk ruangan. Ada banyak jenis dari kode batang

tersebut, misalnya saja EAN-13, Code 39, EAN-8, UPC-E. Bisa dilihat pada gambar 2.15

Gambar 2.15 Contoh CODE 39

Tipe barcode atau kode batang yang banyak di Indonesia adalah EAN-13, yaitu

kode batang dengan 13 digit. Dimana 3 kode awalnya merupakan kode negara Indonesia

yaitu 899. Kemudian empat angka berikutnya menunjukkan kode perusahaan. Selanjutnya

lima angka berturut – turut merupakan kode produk dan angka terakhir berupa validasi atau

cek digit [8].

Berikut adalah cara membaca barcode atau kode batang :

1. Barcode terdiri dari garis hitam dam putih. Ruang putih di antara garis garis hitam

adalah bagian dari kode.

2. Ada perbedaan ketebalan garis. Garis paling tipis = “1”, yang sedang = “2”, yang

lebih tebal = “3”, dan yang paling tebal = “4”.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

16

3. Setiap digit angka terbentuk dari urutan empat angka. 0 = 3211, 1 = 2221, 2 = 2122,

3 = 1411, 4 = 1132, 5 = 1231, 6 = 1114, 7 = 1312, 8 = 1213, 9 = 3112

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

16

BAB III

RANCANGAN PENELITIAN

3.1. Perancangan Sistem

Sistem ini terdiri dari 3 subsistem yaitu Database, Mikrokontroler, dan Software

seperti yang ditunjukkan pada gambar 3.1. Subsistem database akan diolah dalam Raspberry

Pi. Subsistem database akan berisi tentang informasi – informasi pemilik kartu mahasiswa

seperti nama, nomor induk mahasiswa (NIM), dan pencacatan waktu masuk dan keluar

ruangan yang berasal dari masukan barcode yang terdapat pada kartu. Sistem database akan

menggunakan MySQL. Database tersebut akan dibagi menjadi dua yaitu database pemilik

kartu dan database pencatatan waktu atau data logger dalam jangka waktu 1 hari.

Subsistem mikrokontroler sendiri yaitu Raspberry Pi itu sendiri yang berfungsi

sebagai prosesor. Raspberry Pi akan menerima inputan dari barcode scnanner melalui port

USB yang ada pada Raspberry Pi dan mengolah database yang nantinya akan mengeluarkan

sinyal pada port GPIO (General Purpose Input/Ouput) Raspberry Pi untuk gerakan buka

dan tutup solenoid pada pintu. Elektrik solenoid dihubungkan pada port GPIO Raspberry

Pi. Barcode scanner dihubungkan melalui usb port pada Raspberry Pi yang berfungsi

sebagai inputan data. Keyboard dan mouse dihubungkan melalui USB port pada Raspberry

Pi sebagai alat untuk pembuatan program pada raspberry. Monitor LCD dihubungkan

melalui port HDMI untuk tampilan GUI (Graphical User Interface).

Subsistem software atau perangkat lunak akan menggunakan program Python 2.7.

Pada Software, yang berhak untuk mengubah data – data dalam database adalah operator.

Operator berfungsi sebagai pembuat program, pembuat database identitas dan monitoring

database seperti siapa saja yang telah masuk dan keluar ruangan beserta waktunya. Software

akan dibuat dengan pemrograman Python. Python akan dibuat sebuah sistem antar muka

atau GUI (Graphical User Interface) untuk memudahkan pengecekan data – data yang akan

diolah. Dalam GUI akan tertampil identitas seseorang yang menggunakan ruangan tersebut

yang terdiri dari foto , nama, nomor induk mahasiswa (NIM), dan waktu masuk dan keluar

ruangan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

17

Gambar 3.1 Diagram blok sistem

3.2. Perancangan Database

Perancangan database menggunakan software Python 2.7 yang sudah ada dalam

OS Raspbian. Software Python nantinya akan mengunduh paket – paket aplikasi untuk

membuat database. Database yang akan digunakan pada Python yaitu SQLite3 yang

tentunya sudah kompatibel dengan Python 2.7.

Database dibagi menjadi dua yaitu database identitas yang berisikan nama, dan

nomor induk mahasiswa serta database history atau pencatatan waktu pengguna ruangan

baik waktu masuk maupun waktu keluar dengan jangka watu harian. Tabel 3.1 adalah

perancangan database untuk identitas dan Tabel 3.2 perancangan database untuk History.

Tabel 3.1 Perancangan database identitas

ID Tipe Data

Nama Text

NIM Text

Prodi Text

Jabatan Text

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

18

Tabel 3.2 Perancangan database History

ID Tipe Data

NIM (Nomor Induk

Mahasiswa)

Text

Nama Text

Waktu Masuk Datetime

Waktu Keluar Datetime

3.3. Perancangan Software

Perangkat lunak yang ada pada sistem Raspberry Pi mengggunakan bahasa Python

2 yang nantinya akan dibuat antar muka untuk memudahkan operator dalam merancang dan

memantau apakah sistem sudah berjalan dengan benar atau belum. Operator mempunyai hak

akses penuh untu dapat menambahkan dan menghapus database sistem. Rancangan

tampilan atau GUI bisa dilihat pada gambar 3.4.

Pada sisi database digunakan MySQL, dimana akan terdapat database identitas

pemilik kartu, dan database pencatatan waktu masuk. Pada database identitas akan dibuat

tabel yang berisikan nama, nomor induk mahasiswa. Database tersebut berfungsi untuk

pencocokan data dengan masukan dari barcode apakah benar pemilik kartu tercatat pada

database. Jika benar, maka raspberry akan mengeluarkan sinyal untuk membuka solenoid

agar pintu bisa terbuka. Jika masukan barcode tidak tercatat pada database maka muncul

peringatan pada monitor dan solenoid tidak menerima inputan yang menyebabkan pintu

tidak terbuka.

3.3.1. Diagram Alir Pintu Masuk

Program dimulai dari input barcode yang berasal dari barcode scanner yang

terdapat pada kartu mahasiswa. Lalu dari barcode tersebut dicocokan dengan database yang

ada pada database sistem, jika tidak ada maka buzzer akan berbunyi dan muncul peringatan

pada GUI, jika ada maka akan muncul nama, NIM, dan tercatat waktu masuknya. Lalu

Raspberry Pi mengirimkan sinyal ke port GPIO 19 untuk mengaktifkan solenoid agar pintu

masuk dapat dibuka. Setelah beberapa detik maka solenoid tidak aktif. Diagram alir pintu

masuk bisa dilihat pada gambar 3.2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

19

3.3.2. Diagram Alir Pintu Keluar

Hampir sama dengan proses pintu masuk, seseorang yang akan keluar dari ruangan

harus dipindai terlebih dahulu barcode nya agar dapat membuka kunci pintu. Masukan

barcode yang ada pada kartu mahasiswa akan dicocokan dengan database yang ada pada

sistem. Jika tidak ada maka buzzer akan berbunyi dan muncul peringatan pada GUI, jika ada

maka akan muncul nama, NIM, dan tercatat waktu keluar ruangan. Lalu Raspberry pi akan

mengirimkan sinyal ke port GPIO 26 untuk mengaktifkan solenoid agar pintu keluar dapat

terbuka. Setelah beberapa detik solenoid kembali ke posisi awal atau OFF dan pintu keluar

terkunci. Diagram alir pintu keluar bisa dilihat pada gambar 3.3.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

20

Gambar 3.2 Diagram alir pada saat akan masuk ruangan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

21

Gambar 3.3 Diagram alir pada saat keluar ruangan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

22

Gambar 3.4 Tampilan rencana antar muka (GUI) pada software Python

3.4. Perancangan Hardware

Pada perancangan hardware, akan dibuat miniatur pintu akses ruangan yang dimana

terdapat barcode scanner dan monitor LCD pada sisi dalam pintu. Sedangkan pada sisi

dalam terdapat raspberry sebagai otak dari pemrosesan database, adaptor sebagai suplai daya

dan juga UPS sebagai antisipasi jika terjadi listrik padam.

Untuk buzzer dihubungkan pada port GPIO nomor 13 untuk keluaran. Pada port

GPIO nomor 19 dan 26 digunakan untuk keluaran menuju relay yang nantinya berfungsi

untuk pengaktifan solenoid.

Keyboard dan Mouse dipasang pada Raspberry Pi melalui USB Port. Untuk

melihat tampilan dipasang juga LCD monitor yang dihubungkan dengan kabel HDMI yang

ada pada Raspberry Pi.

Akan dibuat juga hardware untuk simulasi yang menjelaskan bagaimana sistem ini

bekerja dalam bentuk PCB dan terdapat komponen – komponen yang dibutuhkan seperti

LED, solenoid door lock, dan buzzer.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

23

Orang yang akan masuk maupun keluar ruangan harus memindai kartunya sebagai

kunci untuk membuka pintu ruangan dengan memberikan kartu mahasiswa kepada operator.

Solenoid door lock digunakan sebagai pengunci pintu. Sebagai penanda bahwa proses

pemindaian dan pencatatan data berhasil, maka LED berwarna hijau akan menyala dan

solenoid door lock aktif. Apabila proses pemindaian gagal, maka buzzer akan berbunyi

beberapa kali untuk memberi tahu bahwa telah terjadi kesalahan pada sistem dan orang yang

akan masuk ruangan tidak dapat membuka pintu masuk.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

25

BAB IV

HASIL DAN PEMBAHASAN

Bab ini menjelaskan tentang pengamatan implementasi sistem keamanan ruangan

berbasis raspberry pi 3 dengan barcode sebagai inputan. Suatu program dapat diakatan

bekerja dengan baik apabila disertai dengan pembuktian terhadap hasil kerja sesuai dengan

yang dikenhendaki. Hasil implementasi dan pembahasan dibagi menjadi dua topik yaitu

perancangan pada perangkat lunak, hasil perancangan database yang terdiri dari informasi

pengguna hingga perekaman data inputan yang ada pada database (history).

Hasil dari pengujian berfungsi untuk mengetahui sejauh mana keberhasilan suatu

perancangan serta dapat mengetahui kelebihan dan kekurangan sistem yang telah dibuat,

sehingga hasil pengujian tersebut dapat digunakan sebagai acuan dalam penyempurnaan

kinerja dan dapat digunakan untuk pengembangan selanjutnya.

4.1. Pengujian Keseluruhan Sistem

Hasil perancangan prototype dari sistem keamanan ruangan dengan masukan

barcode berbasis raspberry pi dilihat pada gambar 4.1. Terdapat monitor LCD, webcam,

rangkaian hardware untuk simulasi, dan juga raspberry pi itu sendiri.

Gambar 4.1 gambar posisi komponen keseluruhan sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

26

Pada input sistem terdapat webcam yang bisa diletakkan pada monitor LCD yang

berfungsi untuk menerima masukan data berupa barcode yang bersasal dari kartu

mahasiswa. Terdapat juga keyboard dan mouse yang berfungsi untuk pengontrolan program

pada sistem operasi raspbian Pixel . Gambar peletakan webcam bisa dilihat pada gambar 4.2.

Gambar 4.2 peletakan webcam pada monitor LCD

Pada pengolah sistem, terdapat Raspberry Pi yang berfungsi sebagai pemroses data

– data yang ada dalam database baik itu untuk pencatatan, penambahan dan pengurangan

data. Data tersebut antara lain data identitas, data waktu masuk dan waktu keluar, dan juga

data perintah untuk mengeluarkan output raspberry pi yang sudah dibuat melalui perangkat

lunak python 2.7.

Pada output sistem, terdapat rangkaian PCB yang terdiri dari relay, pin – pin GPIO,

LED, pin solenoid, solenoid doorlock, buzzer, resistor, transistor BC547 dan pin power

supply 12v. Relay berfungsi untuk driver dari solenoid door lock agar pengunci pada pintu

terbuka jika ada data yang sesuai masuk. Pin – pin GPIO berfungsi untuk jalur keluaran yang

berasal dari pin – pin GPIO yang berasal dari raspberry Pi. LED berfungsi untuk memberikan

tanda bahwa sistem berjalan dengan benar. Terdapat dua LED berwarna hijau yang masing

– masing untuk pintu masuk dan pintu keluar. Pin – pin solenoid berfungsi untuk input power

yang berasal dari relay yaitu 12v agar solenoid door lock dapat aktif jika raspberry pi

memberikan sinyal keluaran. Buzzer berfungsi untuk memberikan tanda berupa bunyi jika

terjadi kesalahan pada sistem. Pin power supply berfungsi penyuplai daya yang dibutuhkan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

27

oleh solenoid door lock yaitu sebesar 12v. Gambar hasil rangkaian bisa dilihat pada gambar

4.3 dibawah ini.

Gambar 4.3 Rangkaian PCB untuk simulasi hardware

Mekanisme kerja dari prototype adalah Pada awalnya operator harus mengaktifkan

webcam melalui menu Utama dan memilih tombol Aktifkan Webcam, setelah itu akan

muncul jendela webcam yang artinya webcam siap untuk digunakan. Proses pemindaian

dilakukan dengan cara mendekatkan kartu mahasiswa yang terdapat barcode ke arah

webcam dengan jarak sekitar 5 – 10 cm. Setelah webcam berhasil membaca barcode maka

akan muncul pada python shell yaitu value atau nilai yang terdapat pada barcode, lalu

webcam bisa dimatikan dengan cara menekan tombol X atau close pada jendela webcam.

Setelah itu maka nilai barcode tadi akan muncul pada entry box lalu tekan tombol INPUT

untuk mencatat waktu masuk. Lalu muncul peringatan berupa “SELAMAT DATANG”

yang menandakan bahwa data berhasil ditambahkan. Gambar proses ditunjukkan pada

gambar 4.4, 4.5, 4.6, 4.7, 4.8, 4.9 dan 4.10 dibawah ini.

Gambar 4.4 langkah mengaktifkan webcam untuk pintu masuk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

28

Gambar 4.5 proses pemindaian barcode dengan NIM 145114003 saat pintu masuk

Gambar 4.6 hasil pemindaian muncul pada python shell

Gambar 4.7 NIM 145114003 muncul pada entry box untuk pencatatan database

Gambar 4.8 muncul peringatan “SELAMAT DATANG” pada layar monitor

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

29

Gambar 4.9 NIM 145114053 sudah tercatat waktu masuk pada database bagian paling

bawah

Gambar 4.10 simulasi hardware pada pintu masuk pengunci pintu dan led aktif

Untuk pencatatan waktu keluar prosesnya hampir sama dengan proses waktu

masuk, yang membedakan adalah pencatatan pada database saja. Jika seseorang akan keluar

ruangan maka harus memindai barcode yang ada pada kartu mahasiswa dan operator harus

mengaktifkan webcam melalui menu Utama dan memilih tombol Aktifkan Webcam, setelah

itu akan muncul jendela webcam yang artinya webcam siap untuk digunakan. Proses

pemindaian dilakukan dengan cara mendekatkan kartu mahasiswa yang terdapat barcode ke

arah webcam dengan jarak sekitar 5 – 10 cm. Setelah webcam berhasil membaca barcode

maka akan muncul pada python shell yaitu value atau nilai yang terdapat pada barcode, lalu

webcam bisa dimatikan dengan cara menekan tombol X atau close pada jendela webcam.

Setelah itu maka nilai barcode tadi akan muncul pada entry box lalu tekan tombol INPUT

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

30

untuk mencatat waktu keluar. Gambar proses ditunjukkan pada gambar 4.11, 4.12, 4.13,

4.14, 4.15, 4.16 dan 4.17 dibawah ini.

Gambar 4.11 langkah mengaktifkan webcam pada pintu keluar

Gambar 4.12 proses pemindaian barcode dengan NIM 145114003 saat pintu keluar

Gambar 4.13 hasil pemindaian muncul pada python shell

Gambar 4.14 NIM 145114003 muncul pada entry box untuk pencatatan database

Gambar 4.15 muncul peringatan “SELAMAT JALAN” pada layar monitor

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

31

Gambar 4.16 NIM 145114003 sudah tercatat waktu keluar pada database bagian paling

bawah

Gambar 4.17 simulasi hardware untuk pintu keluar pengunci pintu dan led aktif

Pada saat kondisi tertentu perangkat lunak akan muncul suatu bug seperti jika ada

nim yang belum terdaftar pada database, sistem akan menganggap nim tersebut ada akan

tetapi database tidak akan mencatat nim yang tidak terdaftar kedalam tabel history. Hal ini

disebabkan oleh miss komputasi pada bagian pengondisian database yang menyebabkan

tidak munculnya peringatan “TIDAK ADA NAMA DALAM DATABASE” sehingga perlu

diteliti lebih lanjut untuk penyelesaian dari bug tersebut.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

32

4.2. Hasil Perancangan Perangkat Lunak (GUI)

Pada hasil perancangan perangkat lunak akan dijelaskan tentang penggunaan

software Python 2.7 dan software MySQL. Perangkat lunak dapat berisikan informasi untuk

melihat daftar pengguna akses ruangan dan dapat melihat riwayat (history) siapa saja yang

telah menggunakan suatu ruangan berdasarkan pada pencatatan nomor induk mahasiswa,

pencatatan waktu masuk dan waktu keluar.

4.2.1 Proses Pengunduhan Library Python

Sebelum dapat digunakan fungsi –fungsi yang dibutuhkan pada Python, maka harus

mengunduh file – file library dari internet. File –file library yang dibutuhkan yaitu library

database MySql, library Zbar untuk pembacaan barcode, library OpenCv untuk pencitraan

pada webcam. Pengunduhan file –file library melalui Terminal yang ada di Raspberry

dengan menggunakan perintah sudo apt-get install. Contoh pengunduhan bisa dilihat pada

gambar 4.18.

Gambar 4.18 Pengunduhan file – file library untuk Python

Install update berfungsi untuk memperbarui sistem pada raspberry pi yang dapat

meningkatkan kegunaan dan kinerja sistem sedangkan upgrade berfungsi untuk menginstall

versi terbaru paket – paket yang sudah terinstall pada sistem. Install pip-opencv2 berfungsi

untuk menginstall paket – paket pada sistem yang berfungsi untuk pengolahan citra pada

raspberry pi, misalnya untuk pendeteksian gerakan melalui kamera. Install zbarcam untuk

menginstall paket pada sistem yang berfungsi untuk pengolahan citra dengan masukan

barcode yang menggunakan webcam atau Raspicam. Install python-mysql untuk menginstall

paket pada sistem yang berfungsi untuk penggunaan database pada penelitian kali ini.

Sebelum membuat GUI, penulis mengunduh paket – paket library yang nantinya

akan digunakan untuk menjalankan fungsi –fungsi yang dibutuhkan seperti library

pembacaan barcode, library MySql untuk koneksi database, library Tkinter untuk

pembuatan GUI, library time untuk menunjukkan waktu secara real-time pada GUI.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

33

Dengan menggunakan perintah khusus yang sudah ditentukan seperti sudo apt-get

install update oleh Raspbian OS kita dapat mengunduh file – file library yang dibutuhkan.

Sebaiknya dilakukan update library Raspbian OS agar tetap up to date dengan sistem

terbaru yang telah dikembangkan oleh developer Linux karena basis utama dari Raspbian

OS adalah software Linux.

Pada gambar 4.19 dituliskan program untuk mengimport suatu fungsi –fungsi pada

program agar dapat digunakan fitur – fitur library pada Python 2.7. Listing program bisa

dilihat pada gambar 4.19. Berikut adalah program (coding) dari graphical user interface

(GUI) dengan menggunakan program Python 2.7.

Gambar 4.19 Listing program untuk import package pada Python 2.7

4.2.2 Halaman Utama Program (GUI)

Pada perangkat lunak atau GUI (Graphical User Interface), dapat terlihat siapa saja

yang telah terdaftar dan memiliki hak akses ruangan dalam database. Terdapat informasi

detail daftar identitas pengguna ruangan diantaranya adalah nama pengguna, nomor induk

mahasiswa (NIM), prodi (program studi), dan jabatan pengguna ruangan.

Pada kolom input nantinya muncul hasil dari pembacaan barcode yaitu nomor induk

mahasiswa (NIM), menjadi trigger untuk pencatatan pada database. Pada kolom nomor 2

menunjukkan isi daftar member pengguna ruangan. Pada kolom detail terdapat informasi

rincian dari identitas member pengguna ruangan. Pada kolom nomor 3 terdapat tabel yang

berisikan history dari pengguna siapa saja yang telah mengakses ruangan. Gambar 4.20

menunjukkan tampilan GUI pada monitor. Tampilan GUI pada gambar 4.20 tidak sesuai

dengan perancangan awal, seperti penampil foto member pengguna ruangan tidak dapat

muncul dikarenakan sistem database tidak dapat menyimpan file gambar, penambahan detail

informasi identitas tidak hanya nama dan nomor induk mahasiswa (NIM) saja akan tetapi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

34

ditambahkan progam studi dan jabatan. Tertampil juga daftar nama - nama pengguna yang

telah terdaftar dalam database.

Gambar 4.20 Hasil GUI (Graphical User Interface)

Terdapat beberapa fitur yang dapat digunakan pada GUI. Pengoperasian fitur

program dijelaskan sebagai berikut :

1. Menu Utama

Pada menu Utama terdapat 2 tombol yaitu tombol Aktifkan Webcam dan EXIT

seperti yang ditunjukkan pada gambar 4.22. Tombol Aktifkan Webcam berfungsi

untuk mengaktifkan tampilan webcam untuk mendeteksi barcode. Sedangkan

Tombol EXIT digunakan untuk keluar dari program GUI. Sedangkan listing

program untuk membuat fitur tersebut ada pada gambar 4.21.

Gambar 4.21 listing program untuk menubar

Gambar 4.22 Menu Bar Utama pada GUI

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

35

2. Tombol “INPUT”

Pada halaman utama GUI terdapat tombol INPUT yang berfungsi sebagai tombol

untuk mencatat NIM yang berasal dari barcode yang ada di kartu mahasiswa,

mencatat waktu masuk serta waktu keluar seperti yang ditunjukkan pada gambar

4.24. Sedangkan listing program untuk membuat fitur tersebut ada pada gambar 4.23.

Gambar 4.23 listing program untuk menu “INPUT”

Gambar 4.24 Tombol INPUT untuk pencatatan pada database

3. Menu Detail

Menu ini akan menampilkan detail identitas member pengguna ruangan. Terdapat

detail nomor induk mahasiswa, nama, program studi, jabatan seperti yang

ditunjukkan pada gambar 4.26. Sedangkan listing program untuk membuat fitur

tersebut ada pada gambar 4.25.

Gambar 4.25 listing program untuk menu detail

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

36

Gambar 4.26 Menu Detail untuk menampilkan detail identitas member

4.3. Hasil Perancangan Database

Pada hasil perancangan database sudah dibuat data – data yang berisikan informasi

– informasi yang berhubungan dengan penggunaan akses ruangan dan diberi nama database

”roomaccess”. Dalam database ini terdapat dua buah tabel, yaitu tabel identitas dan tabel

history.

Agar GUI bisa terkoneksi dengan database, diperlukan connector dengan cara

mengunduh library MySql connector pada terminal Raspi, menggunakan perintah sudo apt-

get install mysql-server terlebih dahulu, lalu gunakan perintah sudo apt-get install mysql-

connector-python.

Tabel identitas berisikan identitas dari semua daftar pengguna ruangan yang terdiri

dari nama, nomor induk mahasiswa (NIM), program studi (prodi), dan jabatan (mahasiswa

atau dosen). Pada tabel identitas terdapat 4 kolom terdiri dari ididentitas, nama, program

studi (prodi), dan jabatan. Pada kolom ididentitas yaitu nomor induk mahasiswa (NIM)

dengan tipe data varchar(15). Kolom ididentitas dijadikan sebagai Primary Key karena

nantinya digunakan untuk pencatatan pada tabel History. Kolom kedua terdapat nama

dengan tipe data tinytext, kolom ketiga terdapat program studi (prodi) dengan tipe data

varchar(45), dan kolom keempat yaitu jabatan dengan tipe data tinytext. Isi dari

identitas dapat dilihat pada gambar 4.27.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

37

Gambar 4.27 Tabel identitas pada database roomaccess

Pengujian database pada tabel identitas yaitu dengan menambah jumlah member

dengan cara mengisi informasi – informasi yang sesuai pada setiap kolom dan untuk

eksekusinya tinggal menekan tombol GO pada editor database yaitu PHPMyAdmin. Form

pengisian identitas bisa dilihat pada gambar 4.28 dibawah ini.

Gambar 4.28 Form pengisian identitas ada tabel identitas

Pada tabel history terdapat 4 kolom yang terdiri dari kolom idhistory, kolom

waktu_masuk, kolom waktu_keluar, dan kolom member. Pada kolom idhistory yang bertipe

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

38

data int(11) berisikan nomor urutan pencatatan pengguna ruangan. Pada kolom

waktu_masuk yang bertipe data datetime berisikan pencatatan waktu masuk penggunaan

ruangan. Pada kolom waktu_keluar yang bertipe data datetime berisikan pencatatan waktu

keluar ruangan. Pada kolom member yang bertipe data varchar(45) berisikan nomor induk

mahasiswa (NIM) yang akan dicatat pada tabel history, kolom ini mengacu pada tabel

ididentitas. Kolom member dijadikan sebagai primary key pada tabel History. Apabila

nomor induk mahasiswa tidak ada pada tabel ididentitas maka tidak akan tercatat pada tabel

history. Isi tabel history bisa dilihat pada gambar 4.29.

Untuk pengujian pada tabel history, digunakan perintah – perintah query pada

editor database yaitu INSERT INTO `history`(`idhistory`, `waktu_masuk`, `waktu_keluar`,

`member`) VALUES ([value-1],[value-2],[value-3],[value-4]). Untuk pengujian kolom

waktu masuk pada tabel history digunakan query SQL INSERT INTO, begitu juga untuk

waktu keluar dengan query INSERT INTO `history`(`idhistory`, `waktu_masuk`,

`waktu_keluar`, `member`) VALUES ([value-1],[value-2],[value-3],[value-4]) dan untuk

mengeksekusi query tersebut tinggal menekan tombol GO pada editor seperti pada gambar

4.30.

Gambar 4.29 Isi tabel History pada database roomaccess

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

39

Gambar 4.30 Editor untuk pengujian penambahan data waktu pada tabel History

Hasil pembuatan database ditampilkan dengan EER-Diagram seperti pada gambar

4.31 yang menunjukkan hubungan atau relasi setiap tabel dan data – data apa saja yang akan

disimpan dalam sistem database yang sudah dibuat.

Gambar 4.31 EER-Diagram Perancangan Database

Agar GUI Python bisa berinteraksi dengan database diperlukan koneksi database

ke GUI. Dengan menggunakan connector, maka python dengan GUI dapat berinteraksi

untuk melakukan fungsinya yaitu membaca isi database dan mencatat waktu pada tabel

history.

4.4. Hasil Pengujian Pembacaan Barcode Dengan Webcam

Pada perancangan di bab III pembacaan barcode menggunakan sebuah alat

pemindai, maka digunakanlah USB webcam sebagai alat pembaca barcode dan akan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

40

dilakukan pengujian pada webcam untuk mengetahui kemampuan webcam mana yang lebih

akurat dan lebih cepat pembacaannya. Webcam pertama dengan merk webcam GENIUS

FaceCam 320 yang beresolusi VGA 640 x 480 pixel (video) dengan manual focus dan

webcam kedua dengan merk Logitech C170 yang beresolusi VGA 640 x 480 pixel (video)

dengan fixed focus. Agar dapat barcode pada kartu mahasiswa terbaca oleh webcam

diperlukan library Zbarcam. Kode python juga disertakan agar dapat diolah dalam satu

program utama. Hasil pengamatan pembacaan barcode pada kartu mahasiswa dan kode

Python ditunjukkan pada gambar 4.33, gambar 4.34 dan gambar 4.35 berurutan.

Sebuah kode python dibutuhkan untuk mengaktifkan webcam. Dengan memanggil

library Zbarcam dan pada alamat /dev/video0, maka webcam akan aktif dan siap digunakan.

Jika barcode terbaca pada webcam, maka perintah print ‘Got Barcode :’, code akan muncul

pada python shell sesuai dengan jenis barcode yang tertera pada kartu mahasiswa. Kode

python bisa dilihat pada gambar 4.32.

Gambar 4.32 Kode Python yang digunakan untuk pembacaan barcode

4.4.1. Pengujian Pembacaan Barcode Dengan Webcam Genius FaceCam

320

Percobaan pertama menggunakan webcam Genius FaceCam 320 dengan sedikit

penyesuaian pada webcam yaitu dengan mengatur pada fokus pada lensa webcam. Pada

gambar 4.34 jenis barcode yang tertera pada kartu mahasiswa tersebut yaitu berjenis

CODE39 dan berisi 145114056 dengan jarak 13 - 19 cm. Pengujian dengan webcam Genius

FaceCam 320 bisa dilihat pada gambar 4.33 4.34 dan 4.35 dibawah ini.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

41

Gambar 4.33 Pengujian jarak terdekat pada webcam Genius FaceCam 320

Gambar 4.34 pembacaan barcode oleh webcam tertampil pada LCD monitor

Gambar 4.35 Hasil pembacaan barcode tertampil pada Pyton Shell

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

42

4.4.2. Pengujian Pembacaan Barcode Dengan Webcam Logitech C170

Pada percobaan kedua menggunakan webcam Logitech C170. Hasil pemindaian

barcode dapat didapatkan akan tetapi sedikit lebih lama dikarenakan lensa tidak dapat diatur

atau fixed focus. Webcam Logitech C170 dapat mendeteksi barcode dengan jarak 10 – 15,5

cm. Gambar pengujian bisa dilihat pada gambar 4.36, 4.37 dan gambar 4.38 dibawah ini.

Gambar 4.36 Pengujian pembacaan barcode pada jarak terdekat

Gambar 4.37 Pengujian pembacaan barcode pada jarak terjauh

Pengujian kedua menggunakan kartu dengan nomor barcode 145114053. Hasil dari

pembacaan pada webcam Logitech C170 tertampil pada python shell dengan bertuliskan

‘Got Barcode : CODE-39 145114053’. Gambar pengujian bisa dilihat pada gambar 4.38

dibawah ini.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

43

Gambar 4.38 Hasil dari pembacaam webcam Logitech C170

Dari hasil kedua pengujian tersebut dapat disimpulkan bahwa kedua webcam

mempunyai kemampuan pembacaan yang berbeda walaupun dengan resolusi yang sama

yaitu 640 x 480 atau kualitas VGA. Hanya saja yang membedakan kedua webcam tersebut

adalah kemampuan untuk mendapatkan titik fokus yang tepat. Pada webcam Genius

FaceCam 320 titik fokusnya dapat diatur secara manual sehingga kecepatan dalam

menangkap dan membaca barcode lebih cepat dibandingkan dengan webcam Logitech C170

yang mempunyai titik fokus yang fixed focus atau fokus tetap.

Hasil pembacaan barcode pada webcam akan tertampil di GUI pada bagian entry

“INPUT”, yang nantinya entry tersebut menjadi trigger untuk pencatatan waktu masuk dan

waktu keluar pada database.

4.5 Hasil Pengujian Hardware

Untuk mengetahui proses kerja apakah sudah sesuai dengan perancangan pada

penelitian kali ini, dibuat juga proses keluaran dari sistem ini. Seperti yang sudah dibahas

pada bab III, keluaran dari sistem ini adalah pada pin – pin GPIO pada raspberry pi. Keluaran

pada raspberry pi yaitu solenoid door lock yang berfungsi untuk membuka pintu gerbang,

light-emitting diode (LED) berwarna hijau yang berfungsi untuk menunjukkan pengguna

bisa mengakses ruangan dan pintu gerbang terbuka. Masing – masing LED nantinya bisa

diletakkan pada pintu masuk dan pintu keluar. Keluaran yang terakhir adalah buzzer yang

berfungsi untuk memberi tanda bahwa ada kesalahan pada input pada webcam yaitu data

tidak ada dalam database.

Pada program utama, dibutuhkan paket – paket library python agar raspberry pi

dapat mengeluarkan sinyal keluaran pada aktuator. Paket –paket library python tersebut

diantara lain adalah port GPIO dengan cara menambahkan kode python yaitu import

Rpi.GPIO as gpio. Fungsi import tersebut berfungsi untuk menginisialisasi pin – pin pada

raspberry pi agar dapat mengeluarkan sinyal pada akatuator. Pada penelitian kali ini pin –

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

44

pin yang digunakan yaitu pin 5, 6, 13, 19 dan 26 dengan menyeting port GPIO dengan kode

gpio.setmode(gpio.BCM) yang berarti port ini menggunakan inisialisasi dari Broadcom

SOC. Pin 5 dan 6 digunakan untuk keluaran LED, pin 19 dan 26 digunakan untuk keluaran

solenoid dan pin 13 digunakan untuk keluaran buzzer.

Dari skematik tersebut sudah dibuat sebuah PCB yang nantinya terdapat LED,

buzzer dan solenoid door lock.

Kode python juga diperlukan untuk pengujian hardware. Kode python ini berfungsi

untuk menghidupkan LED, solenoid door lock, dan buzzer.

Pada subprogram pintu masuk, berisikan kode untuk memberikan sinyal keluaran

pada port GPIO Raspberry Pi pin 5, 6, 19, dan 23 yang nantinya sinyal tersebut akan

mengaktifkan LED dan solenoid lock door. Begitu juga dengan subprogram pintu keluar.

Subprogram buzzer berfungsi untuk memberikan sinyal keluaran pada port GPIO pin 13

yang nantinya buzzer akan berbunyi ketika subprogram tersebut dipanggil. Kode python bisa

dilihat pada gambar 4.39.

Gambar 4.39 Kode python untuk pengujian hardware

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

44

BAB IV

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Setelah melakukan perancangan, pembuatan, dan pengujian sistem keamanan

Raspberry Pi dengan masukan barcode kesimpulan sebagai berikut :

1. GUI pada monitor dapat tertampil dan tombol – tombol fitur dapat bekerja sesuai

dengan fungsinya.

2. Database dapat mencatat waktu masuk dan keluar.

3. Webcam dapat membaca barcode dan dapat menunjukkan nomor dari barcode

beserta jenis barcodenya pada jarak 13 – 19 cm.

4. Masih terdapat bug pada program yaitu pada pengondisian jika tidak ada nama

dalam database.

5. Database dapat menyimpan data identitas lebih dari 20 data.

6. Simulasi hardware dapat bekerja untuk menunjukkan bahwa sistem sudah

bekerja sesuai dengan perancangan.

5.2. Saran

Berdasarkan hasil implementasi yang diperoleh, untuk pengembangan lebih lanjut

terdapat beberapa saran agar alat ini dapat bekerja lebih baik, yaitu :

1. Penggantian webcam dengan spesifikasi yang lebih baik seperti tingkat resolusi

gambar HD (High Definition) dan autofocus sehingga pendeteksian barcode

dapat lebih cepat pembacaannya.

2. Pembuatan hardware agar sistem dapat di implementasikan pada ruangan yang

sebenarnya.

3. Penggantian tampilan pada GUI agar tampilan lebih baik dan user-friendly.

4. Pembenahan bug pada program pengondisian jika tidak ada nama dalam

database agar sistem dapat berfungsi dengan sempurna.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

43

DAFTAR PUSTAKA

[1] Schmidt, M., 2012, Raspberry Pi: A Quick-Start Guide, The Pramatic Programmers,

United States of America.

[2] Richardson, M., Wallace S., 2012, Getting Started with Raspberry Pi, O’Reilly Media,

United States of America.

[3] McManus, Sean., Mike Cook, 2013, Raspberry Pi For Dummies, Wiley Brand, United

States of America.

[4] Bresert, E., 2013, SciPy and NumPy, 2nd ed, O’Reilly Media, United States of America.

[5] ----, ----, Motor Servo,

http://elektronika-dasar.web.id/teori-elektronika/motor-servo/ ,

diakses pada tanggal 2 Mei 2016

[6] Facemyer, Joshua, Inkscape E-Book, Free Software Foundation, Inc., United States of

America.

[7] Raharjo, Budi, 2015, Mudah Belajar Python Untuk Aplikasi Desktop dan Web, Penerbit

Informatika, Indonesia.

[8] ----, ----, Bar Coding for Books E-Book

http://www.barcodefaq.com/ , diakses pada tanggal 13 Juni 2016.

[9] Downey, Allen, 2012, Think Python, Green Tea Press, United States of America.

[10] Lundh, Fredrik, 1999, An Introduction to Tkinter, ----, United States of America.

[11] http://www.tutorialspoint.com/sqlite/sqlite_python.htm diakses pada tanggal 12 Juni

2016.

[12] Owens, M., 2006, The Definitve Guide To SQLite, Apress, United States of America.

[13] ----, ----, Raspberry Pi Forum

http://raspberrypi.stackexchange.com/, diakses pada tanggal 20 September 2016

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

44

[14] ----, ----, Python Coding Forum

http://stackoverflow.com/, diakses pada tanggal 3 November 2016

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

LAMPIRAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

L A M P I R A N | 1

LISTING PROGRAM PYTHON 2.7

from Tkinter import *

from tkMessageBox import *

import tkMessageBox as mb

import MySQLdb

import sys

import ttk

import time

import zbar

import os

import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)

GPIO.setwarnings(False)

GPIO.setup(16, GPIO.OUT) #LED Masuk

GPIO.setup(20, GPIO.OUT) #LED Keluar

GPIO.setup(13, GPIO.OUT) #Buzzer

GPIO.setup(19, GPIO.OUT) #Solenoid Masuk

GPIO.setup(26, GPIO.OUT) #Solenoid Keluar

judul_kolom = ("WAKTU MASUK", "WAKTU KELUAR", "NIM")

class Data(Frame):

def __init__(self, parent):

Frame.__init__(self, parent)

self.parent = parent

self.parent.geometry("900x500")

self.parent.resizable(False, False)

self.teksJam = StringVar()

self.initUI()

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

L A M P I R A N | 2

self.koneksi()

self.isiidentitas(self.sql)

self.isiTabel()

self.detail()

self.listboxData.bind('<ButtonRelease>', self.klik)

self.closecam()

def initUI(self):

self.update() # memanggil def update dan menjalankanya

self.teksJam = StringVar()

self.datJam_menu = time.strftime("SECURITY ROOM ACCESS BASED ON RASPI

WITH BARCODE - BONIFASIUS KRISTIAWAN", time.localtime())

# atur ukuran window

# menempatkan window di tengah layar PC/Laptop

lebar = 850

tinggi = 500

# ************************* penggunaan fungsi winfo_screenwidth()

************************ #

setTengahX = (self.parent.winfo_screenwidth() - lebar) // 2

# ************************* penggunaan fungsi winfo_screenheight()

setTengahY = (self.parent.winfo_screenheight() - tinggi) // 2

self.parent.geometry("%ix%i+%i+%i" % (lebar, tinggi, setTengahX, setTengahY))

# ****************************************************************

mainFrame = Frame(self.parent, bg='blue', relief=RIDGE, bd=7)

mainFrame.pack(fill=BOTH, expand=YES)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

L A M P I R A N | 3

self.main = mainFrame

self.parent.title(self.datJam_menu)

# *********************** tampilan menubar ********************* #

self.menubar = Menu(self.parent)

self.parent.config(menu=self.menubar)

self.menu = Menu(self.menubar)

self.menu.add_command(label="Aktifkan Webcam 1", command=self.runscan)

self.menu.add_command(label="EXIT", command=quit)

self.menubar.add_cascade(label="Utama", menu=self.menu)

self.fr_inti = Frame(mainFrame, bg='black')

self.fr_inti.pack(expand=YES)

# ************************* Fitur Entry ********************** #

fr_c = Frame(self.fr_inti, bg='black')

fr_c.pack(expand = YES)

self.button1 = Button(fr_c, text='INPUT :', bg='gray', fg='black', relief=RAISED, bd=2,

command=self.masuk)

self.button1.pack(side=LEFT)

self.entryc = Entry(fr_c, relief=RIDGE, bd=2)

self.entryc.pack(side=LEFT, ipadx=20, expand=YES)

# *********************** BUAT TABEL *********************** #

# buat frame untuk tabel beserta scrollbar-nya

fr_data = Frame(self.fr_inti, bd=2)

fr_data.pack(side=LEFT, fill=BOTH, expand=NO)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

L A M P I R A N | 4

# buat tabel dengan Treeview

self.trvTabel = ttk.Treeview(fr_data, columns=judul_kolom,

show='headings')

# buat scrollbar

sbVer = Scrollbar(fr_data, orient='vertical',

command=self.trvTabel.yview)

sbVer.pack(side=LEFT, fill=BOTH)

self.trvTabel.pack(side=RIGHT, fill=Y, expand=NO)

# ************************* fitur listbox n scroll *************************

self.listboxData = Listbox(self.fr_inti, bg='black', fg='white', width=25, height=3)

self.listboxData.pack(side=TOP, expand=NO)

s = ttk.Style()

s.theme_use('default')

# ************************* fitur detail identitas ************************* #

self.fr_kanan = LabelFrame(self.fr_inti, text='DETAIL', fg='white', bg='black')

self.fr_kanan.pack(side=RIGHT, padx=2, pady=2 , expand=NO )

fr_hdr = Frame(self.fr_kanan, bg='black')

fr_hdr.pack(side=BOTTOM , expand=YES, pady=10)

# ************************* fitur detail nama, nim dan jabatan

*************************

fr_nn=Frame(self.fr_kanan, bg='black')

fr_nn.pack(fill=X, expand=YES, padx=50, pady=50)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

L A M P I R A N | 5

self.entrynn4 = Entry(fr_nn, relief=RIDGE, bd=4)

self.entrynn4.pack(side=BOTTOM, fill=X, expand=YES, pady=3)

self.entrynn3 = Entry(fr_nn, relief=RIDGE, bd=4)

self.entrynn3.pack(side=BOTTOM, fill=X, expand=YES, pady=3)

self.entrynn2 = Entry(fr_nn, relief=RIDGE, bd=4)

self.entrynn2.pack(side=BOTTOM, fill=X, expand=YES, pady=3)

self.entrynn1 = Entry(fr_nn, relief=RIDGE, bd=4)

self.entrynn1.pack(side=BOTTOM, fill=X, expand=YES, pady=3)

# ************************* label untuk jam() *************************

self.fr_out = LabelFrame(mainFrame, bg='grey')

self.fr_out.pack(side=RIGHT , expand=YES)

self.jam = Label(self.fr_out, bg='black', textvariable=self.teksJam

, compound='right', fg='white', font=('Comic Sans MS', 10))

self.jam.pack(side=BOTTOM)

#***********************Fungsi-Fungsinya*************************

# *********************** Koneksi Database *****************************#

def koneksi(self):

self.conn = MySQLdb.connect("localhost", "root", "raspberry", "roomaccess")

self.cur = self.conn.cursor()

self.sql = "SELECT * FROM identitas"

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

L A M P I R A N | 6

def eksekusi(self, sql):

self.cur.execute(self.sql)

result = self.cur.fetchall()

totData = len(result)

return result, totData

# ******************************* Menampilkan Isi tabel identitas

*********************** #

def isiidentitas(self, sql=None):

self.listboxData.delete(0, END)

sql = self.sql + "ORDER BY ididentitas"

baris, jumData = self.eksekusi(sql)

if jumData == 0:

print("from isiidentitas")

mb.showwarning("Perhatian!",

"Tidak Ada Nama Dalam Database!")

else:

for data in range(jumData):

teks = "%s" %(baris[data][1])

self.listboxData.insert(END, teks)

self.listboxData.selection_set(0)

self.baris = baris

self.jumData = jumData

# ****************************** Fungsi Untuk menampilkan Detail Nama

********************* #

def detail(self):

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

L A M P I R A N | 7

index = self.listboxData.curselection()

kode = self.listboxData.get(index)

sql ="SELECT * FROM identitas WHERE nama = '%s'"%kode

#print 'kode: ', kode

self.cur.execute(sql)

result = self.cur.fetchall()

#print 'result :', result

self.entryKosong()

self.entrynn1.insert(END, result[0][0])

self.entrynn2.insert(END, result[0][1])

self.entrynn3.insert(END, result[0][2])

self.entrynn4.insert(END, result[0][3])

#print sql

# ************************** Isi Tabel *********************** #

def isiTabel(self):

sql = "SELECT history.*, identitas.ididentitas FROM history LEFT JOIN identitas ON

history.member = identitas.ididentitas ORDER BY idhistory ASC"

self.cur.execute(sql)

result = self.cur.fetchall()

c = 0

for kolom in result:

self.trvTabel.insert('', 'end', text=str(c), values=(kolom[1], kolom[2], kolom[3]))

c += 1

# isi judul tabel

for kolom in judul_kolom:

self.trvTabel.heading(kolom, text=kolom)

# ************************* Fungsi Kejadian Untuk Klik Detail Nama

*************************** #

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

L A M P I R A N | 8

##

def masuk(self):

ididentitas = str(self.entryc.get())

joinSQL = "SELECT identitas.ididentitas FROM history LEFT JOIN identitas ON

identitas.ididentitas = history.member WHERE identitas.ididentitas = '%s'"%(ididentitas)

self.cur.execute(joinSQL)

cekIdentitas = len(self.cur.fetchall()) == 0

if cekIdentitas:

historySQL = "SELECT * FROM history WHERE member = '%s' AND

waktu_keluar = '0000-00-00 00:00:00'"%(ididentitas)[:9]

self.cur.execute(historySQL)

cekHistory = len(self.cur.fetchall()) == 0

if cekHistory:

SQL = "INSERT INTO history(waktu_masuk, waktu_keluar, member) VALUES

(NOW(), '0000-00-00 00:00:00', '%s')"%(ididentitas)[:9]

mb.showwarning("Perhatian!", "SELAMAT DATANG")

self.pintuMasuk()

else:

SQL = "UPDATE history SET waktu_keluar = Now() WHERE member = '%s'

AND waktu_keluar = '0000-00-00 00:00:00'"%(ididentitas)[:9]

mb.showwarning("Perhatian!", "SELAMAT JALAN")

self.cur.execute(SQL)

self.conn.commit()

self.isiTabel()

self.pintuKeluar()

else:

mb.showwarning("Perhatian!", "Tidak Ada Nama Dalam Database!")

self.buzzer()

# ********************************** Aktifkan barcode scanner dari webcam

**************#

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

L A M P I R A N | 9

def runscan(self):

try:

p = os.popen('LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so zbarcam /dev/video','r')

print('Scanning')

data = p.readline()

print(data)

qrcode = str(data)[8:]

self.entryc.insert(END, qrcode)

if(qrcode):

test = qrcode

print(test)

finally:

p.close()

def closecam(self):

ididentitas = str(self.entryc.get())[8:]

# ************************* OUTPUT *************************** #

def pintuMasuk(self):

##coding LED & Solenoid

for i in range(0, 1):

GPIO.output(16, GPIO.HIGH)

GPIO.output(19, GPIO.HIGH)

time.sleep(1.5)

GPIO.output(16, GPIO.LOW)

GPIO.output(19, GPIO.LOW)

time.sleep(0.5)

GPIO.cleanup()

root.update()

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

L A M P I R A N | 10

def pintuKeluar(self):

for i in range (0, 1):

GPIO.output(20, GPIO.HIGH)

GPIO.output(26, GPIO.HIGH)

time.sleep(1.5)

GPIO.output(20, GPIO.LOW)

GPIO.output(26, GPIO.LOW)

time.sleep(0.5)

GPIO.cleanup()

root.update()

def buzzer(self):

for i in range (0, 2):

GPIO.output(13, GPIO.HIGH)

time.sleep(0.1)

GPIO.output(13, GPIO.LOW)

time.sleep(0.1)

GPIO.output(13, GPIO.HIGH)

time.sleep(0.1)

GPIO.output(13, GPIO.LOW)

time.sleep(0.1)

GPIO.output(13, GPIO.HIGH)

time.sleep(0.1)

GPIO.output(13, GPIO.LOW)

time.sleep(1)

GPIO.cleanup()

root.update()

# ************************* Fungsi Kejadian Untuk Klik Detail Nama

*************************** #

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

L A M P I R A N | 11

def klik(self, event):

self.detail()

def dblklik(self, event):

self.entrynn1.configure(state=NORMAL)

self.entrynn2.configure(state=NORMAL)

self.entrynn3.configure(state=NORMAL)

self.entrynn4.configure(state=NORMAL)

self.listboxData.configure(state=DISABLED)

self.entrynn1.focus_set()

self.klik()

def entryKosong(self):

self.entrynn1.delete(0, END)

self.entrynn2.delete(0, END)

self.entrynn3.delete(0, END)

self.entrynn4.delete(0, END)

# **************************** Insert Hasil Input Ke Tampilan Grid GUI

******************** #

def update(self):

# strftime() berfungsi untuk merubah data waktu secara lokal

# menjadi bentuk string yang kita inginkan.

datJam = time.strftime("%d / %m / %Y %H : %M : %S %p ",

time.localtime())

# mengubah teks jam sesuai dengan waktu saat ini

self.teksJam.set(datJam)

# perubahan teks jam dalam selang waktu 1 detik (1000 ms)

self.timer = self.parent.after(1000, self.update)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: SISTEM KEAMANAN AKSES RUANG DENGAN MASUKAN … · ini akan menghasilkan suatu alat prototype berupa akses pintu atau gerbang dan diuji menggunakan kartu mahasiswa sebagai kuncinya

L A M P I R A N | 12

if __name__ =='__main__':

root = Tk()

app = Data(root)

root.mainloop()

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI