• Tidak ada hasil yang ditemukan

BAB III PERANCANGAN ALAT

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III PERANCANGAN ALAT"

Copied!
29
0
0

Teks penuh

(1)

BAB III

PERANCANGAN ALAT

3.1 Perancangan Umum Alat

Rancang bangun door lock face recognition dengan metoda Eigenface menggunakan OpenCV 2.4.9 dan telegram messenger adalah suatu sistem yang dibuat untuk pengamanan rumah dengan mengidentifikasi siapa yang diperbolehkan membuka pintu rumah menggunakan pengenalan wajah dan hasil rekaman wajah tersebut akan dikirim ke telegram penulis. Telegram juga dibuat interaktif untuk mengetahui status pintu, juga berfungi untuk mengunci/membuka pintu dari jarak jauh apabila penulis lupa mengunci pintu dengan menggunakan telegram messenger.

Sistem terdiri dari dua bagian besar, yaitu sebuah aplikasi perangkat lunak yang akan digunakan untuk sistem pengontrolan berbasis python dan linux yang ada pada Raspberry Pi dan sebuah sistem perangkat keras yang berperan dalam sisi mekanisme sistem. Aplikasi perangkat lunak dibuat dengan menggunakan bahasa pemograman python yang memungkinkan user untuk dapat mengakses tombol dan webcam yang digunakan untuk mengenali dan mengidentifikasi wajah yang sudah dibuat dalam database, sehingga apabila wajah dikenali maka system pembuka pintu akan terbuka otomatis, perangkat lunak juga dibuat untuk aplikasi chat interaktif telegram messenger dengan Raspberry Pi. Sistem perangkat keras menggunakan beberapa komponen penting yaitu sebuah PC/Laptop, sebuah Raspberry Pi, push button, webcam, LCD, LED sebagai indicator, dan motor servo.

Untuk input-nya menggunakan kamera webcam yang dihubungkan ke Raspberry Pi, lalu diproses oleh Raspberry Pi dan output-nya berupa motor servo yang diatur PWM nya sedemikian rupa sehingga menyerupai pengunci pintu, terdapat juga LCD 2x16 untuk status dan informasi dari output yang ada. Terdapat LED indikator dengan 3 warna yaitu merah, kuning, dan biru dimana LED

(2)

tersebut memiliki makna merah artinya pintu terkunci, kuning artinya sedang melakukan scanning dan identifikasi wajah, serta biru artinya orang tersebut di ijinkan untuk membuka pintu dan pintu terbuka, dan hasil rekaman wajah yang mencoba mengakses pintu tersebut akan dikirim ke telegram penulis berupa file gambar.

3.2 Tahap Perancangan Hardware Secara Diagram Blok

Pada bagian ini akan dibahas mengenai blok diagram dengan prinsip kerja masing-masing blok diagram. Blok diagram terdiri dari rancangan blok activator (sumber tegangan), rancangan blok input (masukan), rancangan blok proses, dan rancangan blok output (keluaran). Dimana setiap blok memiliki fungsi yang berbeda beda. Dalam merancang sistem pembuka pintu otomatis dengan pengenalan wajah ini, harus di gambarkan terlebih dahulu menggunakan blok diagram tentang konfigurasi dan sebaran pengkawatan yang akan diterapkan. Hal ini akan sangat membantu dalam mengetahui kelemahan dan pencarian kesalahan jika terjadi kegagalan kerja sistem. Gambar 3.1 merupakan bagian yang saling berhubungan antara sumber tegangan yang dibutuhkan, elemen input yang mempengaruhi proses sehingga mengahasilkan suatu keluaran.

Gambar 3.1 Blok Diagram Rangkaian Raspberry Pi Webcam Push button Catu daya Motor servo LCD LED Input Output Lampu sorot Send Photo via Telegram Messenger. Interaktif bot telegram

(3)

Berdasarkan pada Gambar 3.1 dapat dilihat rancangan rangkaian secara blok diagram yang terdiri dari blok sumber tegangan yang berfungsi sebagai sumber tegangan bagi perangkat, blok masukan, blok proses dan blok keluaran. Dimana blok masukan menjelaskan tentang masukan untuk mikrokomputer serta media masukannya, blok proses yaitu perangkat Raspberry Pi menjelaskan proses setelah masukan masuk dan komponen yang berperan sebagai pemroses masukan, sedangkan blok keluaran menjelaskan tentang keluaran yang dihasilkan serta media keluarannya.

Gambar 3.2 Blok Diagram Face Detection dan Face Recognition

Pada Gambar 3.2 adalah alur pendeteksian wajah dari mulai wajah di-capture sampai output image yang sudah disesuaikan database. Pertama-tama yang dilakukan adalah mengambil sebuah gambar yang akan dilakukan proses Face Recognition. Di dalam percobaan yang dilakukan oleh penulis, gambar diperoleh dari video dengan menggunakan webcam. Gambar dari webcam tersebut kemudian harus dilakukan proses-proses lain terlebih dahulu sebelum dilakukan proses Face Detection. Apabila kita langsung melakukan proses Face Detection maka gambar yang akan dideteksi hanya akan mempunyai nilai akurasi atau ketepatan sebesar 10% [7]. Ketepatan sistem dalam mendeteksi wajah sangat dipengaruhi oleh intensitas cahaya yang ada di dalam gambar tersebut, hal ini biasa disebut dengan efek iluminasi. Oleh karena itu, kita melakukan prosses perubahan gambar menjadi grayscale untuk mengurangi efek tersebut.

(4)

Dengan dirubah menjadi grayscale, gambar menjadi berkurang perbedaan warnanya sehingga akan semakin lebih mudah untuk dikenali oleh sistem. Setelah proses perubahan menjadi grayscale, proses berikutnya adalah melakukan histogram equalization pada gambar tersebut. Proses ini bertujuan untuk menyamakan kontras dan brightness yang dimiliki oleh sebuah gambar sehingga efek iluminasi bisa dihilangkan dengan proses ini. Setelah kedua proses tersebut dilakukan, barulah dilakukan proses Face Detection.

Pada Gambar 3.2 kita melihat blok diagram dari sistem analisis wajah yang digunakan di dalam alat ini untuk pengenalan wajah dalam proses membuka pintu. Setelah melakukan proses Face Detection, proses berikutnya yang dilakukan adalah melakukan cropping atau pemotongan gambar menjadi ukuran tertentu. Proses ini bertujuan untuk menyamakan ukuran dari setiap gambar yang akan diproses. Gambar yang dipotong adalah gambar yang telah dilakukan proses Face Detection, jadi gambar tersebut adalah gambar wajah, proses ini dapat dilihat pada Gambar 3.3 diatas. Setelah gambar dipotong, gambar akan dilakukan proses Face Recognition dengan menggunakan Eigenface. Gambar yang telah dilakukan proses Eigenface akan disimpan dalam sebuah database yang ada di dalam sistem, Setelah itu, apabila sistem mendeteksi ada gambar baru yang tidak dikenali oleh sistem sebelumnya maka sistem hanya tinggal membandingkan gambar tersebut dengan database. Apabila gambar ada di dalam database, maka sistem akan memberikan output ke motor servo untuk membuka pintu, apabila sistem tidak mengenali wajah maka pintu akan tetap tertutup dan akan ada notifikasi pada display LCD bahwa wajah tidak dikenali, serta ada notifikasi via telegram messenger hasil poto yang akan diterima penulis.

3.3 Perancangan Perangkat Keras (Hardware)

Bagian hardware khususnya pada rangkaian device, dibutuhkan beberapa komponen untuk menunjang pembuatan alat diantaranya, push button, webcam, Raspberry Pi, motor servo, LED, dan LCD.

(5)

3.3.1 Power Supply

Sebuah piranti elektronika yang berguna sebagai sumber daya untuk piranti lain, terutama daya listrik. Pada dasarnya pencatu daya bukanlah sebuah alat yang menghasilkan energi listrik saja, namun ada beberapa pencatu daya yang menghasilkan energi mekanik, dan energi yang lain. Disini penulis menggunakan adaptor power supply dengan intpu 220v dan output 5V/2A untuk memberikan sumber daya listrik pada Raspberry Pi.

3.3.2 Perancangan Input

Dalam rancangan input, diperlukan sebuah push button dan webcam. Push button berfungsi untuk men-trigger Raspberry Pi untuk melakukan sebuah perintah menjalankan webcam lalu memindai wajah yang terdapat didepan webcam, push button juga dirancang untuk mengunci pintu apabila kunci dalam kondisi terbuka dan ingin kita kunci kembali.

Gambar 3.4 Perancangan Hardware Input

Gambar 3.4 adalah koneksi perangkat input ke Raspberry Pi, webcam dihubungkan ke Raspberry Pi menggunakan kabel USB yang langsung di koneksikan ke port USB pada Raspberry Pi, dan push button dihubungkan ke Raspberry Pi pada pin GPIO 25.

(6)

3.3.3 Perancangan Output

Dalam perancangan output diperlukan beberapa perangkat yaitu LED, LCD, dan motor servo sebagai alat untuk mengunci pintu.

Gambar 3.5 Perancangan Hardware Output

Gambar 3.5 diatas merupakan perancangan output hardware dimana terdapat layar LCD untuk menampilkan status pintu terbuka atau terkunci dengan teks dan menginformasikan apabila ada proses pemindaian wajah, LCD dengan tambahan I2C dihubungkan ke port SDA dan SCL pada port GPIO Raspberry Pi, I2C merupakan komponen IC serial yang dapat menghemat port pada LCD dan Raspberry Pi.

Terdapat juga tiga buah LED indikator yang berwarna merah, kuning, dan Biru dimana masing-masing terhubung ke port GPIO pada Raspberry Pi yaitu GPIO 17, GPIO 27, dan GPIO 22. LED ini berfungsi sebagai output indikator, apabila pintu terkunci maka LED merah akan menyala, apabila sedang proses pemindaian wajah maka LED kuning akan menyala, dan apabila pintu terbuka maka LED biru yang akan menyala.

(7)

Gambar 3.6 Perancangan PWM Pada Hardware Servo

Untuk sistem pengunci pintu digunakan motor servo yang diatur PWM nya oleh Raspberry Pi, apabila pintu terkunci maka posisi servo pada 90o, dan apabila pintu terbuka maka posisi servo pada 0o. Output servo dikoneksi ke pin GPIO 18 pada Raspberry Pi.

3.4 Perancangan Perangkat Lunak (Software)

Perancangan software pada sistem ini dibuat dengan basic linux sebagai sistem operasi Raspberry Pi, untuk mengontrol output GPIO digunakan bahasa python yang sudah include pada os linux debian Raspberry Pi, sedangkan untuk pemrosesan inisial wajah dilakukan oleh database library OpenCV yang merupakan kumpulan library bahasa C.

3.4.1 Instalasi Sistem Operasi

Pengertian debian adalah sistem operasi berbasis open source yang di kembangkan secara terbuka oleh banyak programer sukarelawan yang ingin mengembakan debian. Sistem operasi debian adalah gabungan dari perangkat lunak yang dikembangkan dengan lisensi GNU, dan utamanya menggunakan kernel linux, sehingga lebih suka di sebuat dengan nama Debian GNU/Linux. Sistem operasi ini yang mengunakan kernel linux yang merupakan salah satu distro linux yang populer dengan kesetabilannya. Rata-rata distro turunan dari debian adalah yang paling banyak digunakan di dunia, contoh seperti : Ubuntu, Linux Mint, dan Bactrack. Debian pertama kali diperkenalkan oleh Ian Murdock seorang mahasiswa dari Universitas Purdue Amerika Serikat, pada tanggal 16 Pintu terbuka Pintu tertutup

(8)

Agustus 1993. Nama debian sendiri adalah singkatan, yang berasal dari kombinasi nama Ian Murdock(pembuat debian) dengan mantan kekasihnya Debra Lynn, dan kemudian di singkat menjadi kata “DEBIAN”. Gambar 3.7 dibawah ini merupakan booting awal dari Raspberry Pi.

Gambar 3.7 Boating Awal Raspberry Pi

Berikut dibawah ini adalah langkah – langkah meng-install OS Raspberry Pi, adalah:

1. Mengunduh OS-nya di situs resmi Raspberry Pi, pilih Raspbian “wheezy” lalu klik “direct” download dengan format ZIP file. Selanjutnya download file-nya berupa ZIP sebesar 470MB sampai selesai.

2. Mengunduh Win32DiskImager.

3. Meng-ekstrak kedua file terlebih dahulu, dan file hasil ekstrak di taruh di Drive D atau E pada laptop/PC (jagan di taruh di dalam SD card ).

4. Menyiapkan SD card yang yang kosong sebaiknya minimal 4 GB. 5. Membuka file Win32DiskImager lalu jalankan program-nya.

6. Mencari file OS yang sudah kita ekstrak, selanjutnya kita pilih file OS yang sebelumnya sudah di unduh , di sudut kanan atas pilih device atau drive SD Card yang kita sdh siapkan sebelumnya selanjutnya klik “write” tunggu sampai prosesnya selesai.

7. Setelah prosesnya selesai maka OS sudah siap di gunakan. 8. Tahap selanjutnya yaitu menghidupkan Raspberry Pi :

(9)

b. Menghubungkan kabel RCA (jika monitornya menggunakan TV ) mengunakan kabel RCA jika mengunakan monitor LCD mengunakan kabel HDMI to VGA, jika mengunakan monitor TV LCD mengunakan kabel HDMI to HDMI.

c. Menghubungkan keyboard USB dan mouse USB ke Raspberry Pi-nya pada port USB.

d. Menghubungkan adaptor ke Raspberry Pi (penulis menggunakan charger HP tetapi jangan sampai melebihi 5VDC kalau Amper semakin besar lebih baik).

e. Jika semua sudah terhubung otomatis dilayar akan muncul semacam booting program, tunggu sampai selesai dan berhenti, nanti di bagian paling bawah akan di minta user id “pi” dan enter selanjutnya di minta password “Raspberry Pi” lalu tekan enter.

f.Mengetik ”startx” dan enter.

g. Setelah di enter maka akan masuk ke halaman dekstop Rasberry Pi.

Setelah masuk ke dekstop Raspbian, untuk memulai instal software pendukung, dan software SSH untuk remote Raspberry Pi dari laptop, klik terminal” seperti yang ditunjukkan pada gambar dibawah ini.

(10)

3.4.2 Instalasi OpenCV 2.4.9 Pada Raspberry Pi

Alat ini menggunakan vision komputer pustaka OpenCV Versi 2.4.9 untuk melakukan deteksi dan identifikasi wajah. Sebelum merancang software GPIO dengan bahasa pemograman python, lebih baik instal OpenCV terlebih dahulu pada Raspberry Pi, dibawah ini akan dijelaskan bagaimana cara instalasi dari OpenCV. Instalasi OpenCV pada Raspberry Pi akan memakan waktu sekitar 6 jam, pastikan koneksi power pada Raspberry Pi stabil. Pertama perlu menginstal OpenCV dependensi sebelum dapat mengkompile kode. Pada menu Raspberry Pi, pilih terminal dan jalankan perintah berikut:

Perintah diatas berfungi untuk melakukan pembaharuan yang dirancang untuk memperbaiki masalah dengan memperbaharui sebuah program komputer atau menambah data pendukung, termasuk juga memperbaiki kelemahan-kelemahan (bug) dan meningkatkan kegunaan atau kinerjanya.

Lalu ketik perintah berikut:

Perintah diatas untuk meng-instal beberapa support software untuk meng-kompile OpenCV library.

Lalu ketik perintah berikut untuk men-download library OpenCV, tunggu sampai download selesai:

Lalu ketik perintah dibawah ini untuk meng-ekstrak file yang telah di download tadi:

Lalu masuk ke folder OpenCV tersebut dengan perintah:

Raspberry pi ~$ sudo apt-get update

Raspberry pi ~$ sudo apt-get install build-essential cmake pkg-config python-dev libgtk2.0-dev libgtk2.0 zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libjasper-dev libavcodec-dev swig unzip

Raspberry pi ~$ Wget http://down

loads.sourceforge.net/project/OpenCVlibrary/OpenCV-unix/2.4.9/OpenCV-2.4.9.zip

Raspberry pi ~$ unzip OpenCV-2.4.9.zip

(11)

Lalu gunakan perintah "cmake", untuk membuat "make file", lakukan perintah berikut:

Lalu kompile dengan perintah dibawah ini, proses kompile ini akan memakan waktu selama -+6 jam:

Setelah dikompile, lakukan peng-instalan OpenCV dengan perintah:

Setelah selesai, maka library OpenCV versi 2.4.9 sudah sukses ter-instal pada Raspberry Pi dan siap digunakan untuk melakukan proses komputerisasi identifikasi wajah.

3.5 Instalasi SSH TightVNC

TightVNC dan SSH merupakan aplikasi program untuk bisa me-remote Raspberry Pi dengan laptop sehingga tidak perlu menggunakan TV, keyboard, dan mouse untuk menjalankan Raspberry Pi. Berikut akan dijelaskan bagaimana cara instalasi SSH dan TightVNC server pada Raspberry Pi dan bagaimana cara menggunakannya.

1. Meng-install program TightVNC pada laptop windows.

2. Membuka sesi terminal pada Raspberry Pi dan ketik perintah “sudo

raspi-config” seperti pada Gambar 3.9 untuk mengaktifkan SSH pilih “ssh

enable or disable ssh server”, lalu ketik perintah “sudo apt-get install

tightvncserver” untuk melakukan instal TightVNC server pada Raspberry

Pi. Apabila ada peringatan, pilih saja “yes” lalu enter.

Raspberry pi/OpenCV2.4.9 ~$ cmake DCMAKE_BUILD_TYPE=RELEASE

-DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_PERF_TESTS=OFF

-DBUILD_OpenCV_gpu=OFF -DBUILD_OpenCV_ocl=OFF

Raspberry pi/OpenCV-2.4.9 ~$ make

(12)

Gambar 3.9 Menu Mengaktifkan SSH Server

3. Mengetik perintah “tightvncserver” pada sesi terminal untuk menjalankan program, isi vnc server dengan angka “1”, dan isi username serta password. 4. Membuka sesi terminal dan ketik perintah “cd/home/pi”, lalu ketik “cd

.config”, lalu buat folder dengan perintah “mkdir autostart”, buka folder

tersebut dengan perintah “cd autostart”, lalu edit konfig tersebut dengan perintah “nano tightvnc.desktop” dan masukan perintah berikut:

[Desktop Entry] Type=Application Name=TightVNC Exec=vncserver :1 StartupNotify=false

Lalu keluar tekan “Ctrl+X” dan pilih “Y” lalu “enter

(13)

Gambar 3.10 Sharing Koneksi Internet HP

6. Melakukan koneksi Raspberry Pi dengan koneksi Handphone, dari GUI (Graphic User Interface) Raspberry Pi masuk ke menu internet lalu pilih SSID (Service set identifier) Handphone dan isi password-nya.

7. Meng-install dan buka aplikasi IP Scanner pada laptop, dan isi range IP (Internet Protocol) dari 192.168.43.0 sampai 192.168.43.255 (atau sesuai IP yang diberikan dari Handphone, untuk mengetahui IP range-nya buka

command promt” pada laptop lalu ketik perintah “ipconfig”, cari wireless

adapter dan lihat IP range tersebut) lalu “enter” seperti yang ditampilkan pada Gambar 3.11 dibawah ini. Lalu cari alamat IP yang “alive” yakni IP dari Raspberry Pi itu sendiri.

(14)

8. Membuka aplikasi TightVNC / Putty pada laptop, dan isikan alamat IP Raspberry Pi tersebut.

Raspberry Pi sudah bisa di-remote menggunakan laptop tanpa harus menggunakan TV, mouse, dan keyboard tambahan. Dengan begitu Raspberry Pi akan lebih portable apabila ingin dibawa kemana-mana dan dapat di konfig dengan mudah menggunakan laptop.

3.6 Instalasi Python dan GPIO Pada Raspberry Pi

Bahasa pemograman untuk alat ini ditulis dalam bahasa python dan memiliki beberapa software pendukung yang harus diinstal [3]. Hubungkan Raspberry Pi dengan laptop menggunakan remote SSH menggunakan Putty atau TightVNC, setelah terhubung ke Raspberry Pi dalam sesi terminal, jalankan perintah berikut:

Lakukan seting I2C untuk mengaktifkan port I2C pada Raspberry Pi, masuk ke sesi terminal dan ketik command berikut:

Lalu masuk ke konfig Raspberry Pi dengan perintah “sudo-raspi config” untuk masuk ke menu konfigurasi dari Raspberry Pi, maka akan tampil:

Raspberry pi/OpenCV-2.4.9 ~$ sudo apt-get install python-pip sudo apt-get install python-dev

sudo apt-get install git

sudo pip install rpio git clone http://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git

cd Adafruit-Raspberry-Pi-Python-Code ls

1. sudo apt-get install python-rpi.gpio

2. sudo apt-get install fswebcam

sudo apt-get install -y python-smbus sudo apt-get install -y i2c-tools

(15)

Gambar 3.12 Tampilan Konfig Raspberry Pi Lalu pilih “AdvanceOption”, kemudian akan tampil:

Gambar 3.13 Menu I2C Pada Konfig Raspberry Pi

Lalu pilih “A7 I2C Enable/Disable automatic loading of I2C kernel

module” dan pilih “yes”. Setelah konfigurasi diatas selesai, lakukan instal library

Wiringpi untuk output PWM pada port GPIO Raspberry Pi dengan langkah yang diuraikan dibawah ini.

(16)

3.7 Konfigurasi dan Instalasi BOT Telegram Interaktif

Telegram merupakan aplikasi chatting untuk berkirim pesan dalam bentuk teks, photo, video, maupun suara. Telegram pada alat ini difungsikan sebagai mesin pengirim gambar berupa photo dimana hasil capture-an dari webcam akan diteruskan ke ID Telegram penerima (dalam hal ini ID Telegram penulis sendiri). Dibawah ini akan diuraikan cara konfigurasi dan instalasi telegram agar dapat bekerja baik pada alat ini.

1. Meng-install aplikasi Telegram pada Handphone Android via Google Playstore terlebih dahulu.

2. Mencari ID @BotFather seperti yang di tampilkan pada Gambar 3.14 dibawah ini, tambahkan ID tersebut sebagai teman, ID tersebut di gunakan untuk membuat Bot mesin dan API (Application Programming Interface) yang akan digunakan pada coding-an Python pada Raspberry Pi.

Gambar 3.14 ID BotFather

3. Lalu ketik “/newbot” pada isi chatting BotFather, lalu akan dipinta untuk memberikan nama Bot dan ID Bot, seperti yang ditampilkan pada Gambar 3.15 dibawah ini.

(17)

Gambar 3.15 Membuat Bot Telegram

Pada Gambar 3.15 terdapat keterangan “use description to access the

HTTP API: 253192747:AAGFHz2PJreLU9crkWGY8z8fx11lmQVxWlc”,

kode API tersebut akan digunakan pada kode pemograman Python untuk mengakses Telegram pada Raspberry Pi. Pada pembuatan Bot diatas, nama

(18)

Bot yang penulis buat adalah “Skripsi M.Fauzi UMB”, dan ID nya adalah

@skripfauzi92_bot”.

4. Melakukan pertemanan dengan Bot tersebut dengan mencari ID Bot yang telah dibuat tadi, dalam hal ini ID-nya adalah “@skripfauzi92_bot” seperti yang tertera pada Gambar 3.16 dibawah ini.

Gambar 3.16 Bot Telegram Skripsi M.Fauzi UMB

5. Meng-install library Telegram messenger pada Raspberry Pi. Untuk meng-install library tersebut buka sesi terminal pada Raspberry Pi dan ketik perintah “sudo pip install python-telegram-bot –upgrade” dan tunggu sampai proses instalasi library selesai.

Gambar 3.17 Code Mengirim Photo ke Telegram Penulis

Gambar diatas merupakan contoh coding untuk mengirim sebuah photo dari media penyimpanan Raspberry Pi ke Telegram penerima via Python Raspberry Pi. Pada baris kedua terdapat perintah ‘TOKEN’, token disini diisi dengan kode API yang pada langkah sebelumnya telah dibuat yaitu:

(19)

Chat_id merupakan ID Telegram penerima dalam hal ini adalah ID Telegram penulis sendiri. Untuk mengetahui berapa ID Ttelegram, berikut langkah-langkahnya diuraikan dibawah ini.

1. Membuat grup Telegram baru dan masukan Bot kedalam grup. 2. Mengunjungi halaman web berikut:

https://api.telegram.org/bot<YourBOTToken>/getUpdates

YourBOTTOken” diisi dengan kode API yang sebelumnya sudah dibuat,

dalam hal ini adalah 253192747:AAGFHz2PJreLU9crkWGY8z8fx11lm QVxWlc.

3. Lalu akan muncul informasi berupa kumpulan history grup seperti dibawah ini:

{"ok":true,"result":[{"update_id":150953161,

"message":{"message_id":45,"from":{"id":301378502,"first_name":"F auzi"},

Terdapat ID dan Nama Telegram penulis, dimana nama Telegram

messenger penulis adalah “Fauzi”, dan ID- nya juga tertera : 301378502, ID ini yang digunakan untuk mengirim capture-an photo webcam pada alat ini ke Telegram penulis.

3.8 Perancangan Flowchart

Untuk mempermudah pembuatan program, penulis terlebih dahulu membuat diagram alur atau bisa juga disebut dengan flowchart. Flowchart ini dimaksudkan sebagai pemandu penulis dalam membuat program agar kesalahan dapat diminimalisir, juga bertujuan agar program yang dibuat merupakan suatu algoritma yang tepat.

Dalam flowchart tersebut saat pertama alat dihidupkan, maka akan ada proses loading database, terdapat button triger untuk melakukan pemindaian wajah sebelum proses dilakukan. Ketika tombol ditekan maka akan dilakukan pemindaian wajah dan LED indikator warna kuning akan menyala, lalu di

(20)

komparasi dalam database apakah ini sebuah wajah atau bukan, apabila tidak ada wajah dideteksi didepan webcam maka pintu akan tetap tertutup dan ada notifikasi pada display LCD dengan keterangan "tidak dapat menemukan wajah", LED indikator akan menyala warna merah. Jika saat pemindaian terdapat wajah didepan webcam, maka akan dilakukan komparasi pada database yang telah dibuat dengan metoda Eigenfaces, apabila wajah cocok dengan database atau dibawah treshold yang dibuat maka motor servo akan bekerja dan pintu terbuka, serta indikator LED warna biru akan menyala, notifikasi pada LCD dengan display "Hallo Fauzi, Pintu Terbuka". Namun apabila hasil komparasi tersebut berada diatas treshold maka pintu akan tetap terkunci dengan indikator LED warna merah menyala, dan juga terdapat notifikasi pada LCD dengan display "Bukan Fauzi, Pintu Terkunci". Cara kerja alat secara diagram alur dijabarkan dalam bentuk flowchart pada Gambar 3.18.

(21)

Gambar 3.18 Flowchart Rancangan Alat T T Y Y Y

(22)

Semua hasil pemindaian yang dilakukan webcam akan diproses pada Raspberry Pi dan dikirim ke Telegram penulis serta hasil notifikasi siapa yang mengakses pintu juga akan dikirim ke Telegram penulis, sehingga apabila ada aktifitas mencurigakan yang mencoba mengakses pintu maka wajah orang tersebut akan dengan mudah kita ketahui. Perancangan flowchart diatas juga meliputi proses chat interaktif Telegram, apabila user mengirim chat “Status pintu” maka akan dilakukan perbandingan apakah pintu sedang dalam kondisi terbuka/tertutup, apabila pintu sedang tertutup maka Bot Telegram akan mengirim informasi “Pintu sudah terkunci”, namun apabila pintu sedang terbuka maka Bot Telegram akan mengirim informasi “Pintu dalam kondisi terbuka”. Apabila user mengirim chat “Buka pintu” maka otomatis pintu akan terbuka dan Bot Telegram mengirim informasi “Baik pintu akan segera terbuka”. Sebaliknya apabila user mengirim chat “Kunci pintu” maka otomatis pintu akan tertutup/terkunci dan Bot Telegram mengirim informasi “Baik pintu akan segera terkunci”, hal ini dilakukan apabila user lupa mengunci pintu saat keluar rumah dan user bisa menguncinya dari jarak jauh sehingga sistem keamanan rumah lebih terjaga dan termonitor.

3.9 Perancangan Program Software Python

Perancangan software ini akan membahas mengenai tahap perancangan perangkat lunak yang menggunakan bahasa pemograman Pyhton untuk alat ini. Tujuan perancangan software ini adalah untuk mempermudah dalam mem-program yang akan dimasukan atau ditanamkan kedalam Raspberry Pi menggunakan bahasa Python dan beberapa library pendukungnya.

Langkah pertama buka software Python pada Raspberry Pi, atau bisa dari sesi terminal dengan perintah "sudo nano <nama_file>.py" maka akan muncul jendela untuk melakukan pemograman Python seperti yang ditampilkan pada Gambar 3.19 dibawah ini. Membuat beberapa sub-koding yang akan dimasukan kedalam Raspberry Pi sesuai dengan kebutuhan alat.

(23)

Gambar 3.19 Tampilan Jendela Python

Lalu untuk mengecek struktur dan kebenaran koding dapat dilakukan dengan menu "run" pada tampilan GUI Python, atau apabila dengan menggunakan sesi terminal lakukan perintah "sudo python <nama_file>.py".

Jika program sudah tidak ada kesalahan, maka rancangan alat siap digunakan dan dilakukan pengujian keakurasian pendeteksian wajah untuk membuka pintu.

(24)

Pada Gambar 3.20 diatas merupakan sub-program konfig yang menjelaskan pin servo, buton pin, posisi PWM motor servo saat pintu terkunci dan terbuka, untuk mengaktifkan webcam dengan OpenCV.

Saat pertama memulai menjalankan alat, maka lakukan training data wajah yang diijinkan untuk mengakses buka pintu dalam hal ini adalah wajah penulis sendiri. Program ini berfungsi untuk melakukan identifikasi wajah yang diijinkan dan disimpan di dalam database yang nantinya akan berformat “training.xml” pada directory Raspberry Pi.

Program training wajah terdapat 3 sub-program seperti yang ditampilkan pada Gambar 3.21, Gambar 3.22, dan Gambar 3.23 dibawah ini.

Gambar 3.21 Program Capture-positives.py

Gambar di atas adalah program untuk melakukan capture training wajah kedalam database dan akan disimpan di-database Raspberry Pi. Hasil dari capture wajah akan di konversi kedalam format grayscale untuk memudahkan proses perbandingan wajah dan kumpulan database tersebut akan tersimpan didalam folder “/training/positive”.

(25)

Gambar 3.22 Program Face.py

Gambar di atas adalah program Python untuk mendeteksi adanya wajah didepan kamera, apabila terdapat wajah maka wajah akan di crop sehingga material selain wajah akan dibuang, ini untuk memudahkan penyimpanan wajah kedalam database.

(26)

Gambar 3.23 menjelaskan untuk membuat sebuah struktur rata-rata wajah yang diijinkan untuk membuka pintu dengan menggunakan metode Eigenfaces.

Untuk mengatur dan mengidentifikasi awal sistem secara hardware, maka dibuat sub-program Hardware.py seperti yang ditampilkan pada Gambar 3.24.

Gambar 3.24 Program Hardware.py

Gambar di atas merupakan untuk konfigurasi servo dan posisi tangkai servo agar posisinya pas pada saat pintu terkunci dan terbuka. Lakukan terlebih dahulu kalibrasi pada servo dengan program servo.py seperti yang ditampilkan pada Gambar 3.25 dibawah ini.

(27)

Gambar 3.25 Program Servo.py

Untuk menggunakan program servo.py, buka sesi terminal pada Raspberry Pi dan ketik perintah “sudo python servo.py”, lalu isi input-an mulai dari 1000 sampai 2000 dimana posisi pintu terbuka dan tertutup berada pada angka berapa, apabila sudah didapat, buka program config.py dan isi pada kolom lock_servo_unlocker dan lock_servo_locked, dalam hal ini penulis mengisi 1000 untuk pintu terbuka dan 1700 untuk pintu tertutup.

“LOCK_SERVO_UNLOCKED = 1000” “LOCK_SERVO_LOCKED = 1700”.

Program terakhir adalah program Box.py, dimana untuk menjalankan program alat ini dengan membuka sesi terminal pada Raspberry Pi dan ketik

sudo python box.py”, program Box.py seperti ditampilkan pada Gambar 2.26

dibawah ini. Program Box.py akan memanggil beberapa sub-program yang telah dibuat sebelumnya dengan cukup menambah perintah

(28)

Gambar 3.26 Program Box.py

Untuk program mengirim foto dan informasi setiap ada yang mencoba mengakases pintu ditampilkan pada Gambar 3.27 dibawah ini.

Gambar 3.27 Program Mengirim Foto dan Teks ke Telegram Penulis Penjelasan singkat Gambar 3.27 adalah:

Chat_id : Merupakan chat ID dari Telegram penulis. Text : Isi teks yang dikirim ke Telegram penulis.

Photo : Photo hasil dari webcam yang mencoba mengakses pintu, foto ini disimpan pada media penyimpanan Raspberry Pi.

Sedangkan untuk program chat Bot Telegram interaktif ditampilkan dibawah ini:

(29)

Gambar 3.28 Program Bot Interaktif Telegram

Gambar diatas adalah untuk membuat chat interaktif Telegram messenger dengan penulis untuk mengetahui status pintu apakah sedang terkunci atau terbuka apabila penulis lupa mengunci pintu saat meninggalkan rumah, juga dapat mengirim perintah kunci atau buka pintu dari jarak jauh sehingga tingkat keamanan pintu rumah lebih terjaga.

Gambar

Gambar 3.1  Blok Diagram Rangkaian Raspberry Pi Webcam Push button Catu daya  Motor servo LCD LED    Input    Output Lampu sorot Send Photo via Telegram Messenger
Gambar 3.3  Proses Penyimpanan Hasil Foto Pada Database
Gambar 3.4  Perancangan Hardware Input
Gambar 3.5  Perancangan Hardware Output
+7

Referensi

Dokumen terkait

Kebocoran udara pulmonal spontan terjadi pada 8 (21,6%) pasien yang tidak memiliki riwayat mendapatkan resusitasi VTP dan kelainan paru lain yang mendasarinya.. Spektrum

Gerbangku adalah kegiatan yang paling mendukung pada awal Gerakan Literasi Sekolah di SMP Negeri 2 Pleret. Pelaksanaangerakan sumbang buku ini dilaksanakan

Penelitian ini diharapkan dapat memberikan sumbangan bagi disiplin ilmu Psikologi, terutama bidang Psikologi Perkembangan dan Psikologi Pendidikan Khusus. Bagi

Dalam menunjang Visi, Misi dan Program Kepala dan Wakil Kepala Daerah dalam bidang sumber daya air, maka makna yang terkandung dari visi tersebut adalah “Sulawesi Tengah

Rencana tersebut merupakan kerjasama antara Kementerian Sosial dengan pihak Dinas Kesejahteraan dan Sosial Provinsi Sumatera Utara dan Dinas Kesejahteraan dan Sosial

Keragaman genetik jenis ebony pada keempat sub populasi di kawasan hutan lindung Amaro Barru tergolong rendah, namun pada sub populasi Deppanae menunjukkan nilai

Pada penelitian ini bertujuan untuk mempelajari pengaruh dari corrosion fatigue pada sambungan las SMAW baja API 5L Grade X65 yang dicelup dalam larutan HCl

Hasil penelitian didapatkan bahwa pemberian ASI tidak eksklusif kurang memiliki dukungan dari atasan yaitu sebanyak 23 responden (92%), dibandingkan dengan Ibu yang