BAB III PERANCANGAN ALAT

dokumen-dokumen yang mirip
TUGAS AKHIR RANCANG BANGUN DOOR LOCK FACE RECOGNITION DENGAN METODA EIGENFACES MENGGUNAKAN OPENCV2.4.9 DAN TELEGRAM MESSENGER PADA RASPBERRY PI

BAB IV PENGUJIAN DAN ANALISA ALAT

CARA INSTALL DAN REMOVE APLIKASI. Pemerintah Daerah Kabupaten Sleman repo.slemankab.go.id

BAB III PERANCANGAN SISTEM

BAB IV HASIL DAN PEMBAHASAN Instalasi Operating System (OS) pada Raspberry Pi

IMPLEMENTASI DAN ANALISA

BAB IV PENERAPAN DAN ANALISA

BAB III ANALISIS DAN PERANCANGAN

BAB III PERANCANGAN SISTEM

BAB IV HASIL PENGUJIAN DAN PENGAMATAN. transmisi data dari Arduino ke Raspberry Pi 2 dan Arduino ke PC pembanding.

MEMBANGUN SMART TV DENGAN RASPBERRY PI

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB 3 PERANCANGAN ALAT

BAB IV HASIL DAN PEMBAHASAN

BAB IV HASIL DAN UJI COBA

BAB III PERANCANGAN ALAT

BAB IV IMPLEMENTASI SISTEM DAN PENGUJIAN. meliputi pembahasan mengenai proses perekaman gambar berdasarkan interval

BAB III ANALISA DAN DESAIN SISTEM

ABSTRAK & EXECUTIVE SUMMARY PENELITIAN SKIM PEMBINAAN

Instalasi Aplikasi TeamViewer Pada Debian Linux

BAB III PERANCANGAN DAN PEMBUATAN ALAT KENDALI

INSTALASI WEB SERVER PADA LINUX Oleh Dwi Kurnivan Setiono

BAB III METODOLOGI 3.1 Analisis Kebutuhan Analisis Kebutuhan Fungsi Analisis Kebutuhan Input

Silahkan ikuti langkah-langkah berikut :

BAB III METODOLOGI 3.1 Analisis Kebutuhan Sistem Kebutuhan Perangkat Keras

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN DAN PEMBUATAN ALAT Block Diagram Perancangan dari Konfigurasi System

BAB I PENDAHULUAN. maju, seperti adanya perangkat wireless yang dapat menggantikan peranan kabel

BAB IV HASIL DAN UJI COBA

BAB III PERENCANAAN SISTEM DAN PEMBUATAN ALAT

BAB III ANALISIS DAN PERANCANGAN SISTEM. secara otomatis. Sistem ini dibuat untuk mempermudah user dalam memilih locker

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISIS DAN DESAIN SISTEM. a. Alarm main controller (kontrol utama sistem alarm)

SWITCH ACCESS POINT WEB SERVER. dan DATABASE SERVER KOMPUTER KASIR PERANGKAT ANDROID. = Koneksi menggunakan kabel. = Koneksi menggunakan wireless

Pertemuan 1. Riza Kurniawan Ahmad Wildan L Kelas G _ Pendidikan Teknik Informatika

BAB IV HASIL DAN PEMBAHASAN. b. Microprocessor minimal Pentium IV. c. VGA dengan resolusi 1280 x 600 dan mendukung Microsoft Windows

BAB IV DISKRIPSI KERJA PRAKTIK. Bab ini membahas tentang proses instalasi VMWare Workstation dan

BAB III ANALISIS DAN PERANCANGAN

BAB III PERENCANGAN DAN PEMBUATAN ALAT

BAB 3 PERANCANGAN SISTEM

SISTEM MONITORING MENGGUNAKAN MINI PC RASPBERRY PI

BAB III PERANCANGAN ALAT

BAB IV HASIL PENGUJIAN DAN PENGAMATAN. mengetahui komponen komponen dari sistem tersebut apakah sistem berjalan

Kernel. Sistem Operasi. STMIK Indonesia Padang Yayasan Amal Bakti Mukmin LINATI IFFAH ( )

LAPORAN INSTALASI SISTEM OPERASI DEBIAN 6. pada VIRTUAL BOX

BAB IV HASIL DAN UJI COBA

BAB IV IMPLEMENTASI DAN UJI COBA

BAB II PROSES INSTALASI LINUX MANDRAKE 9.0

MENGOPTIMALKAN FUNGSI WEBCAM SEBAGAI CCTV MENGGUNAKAN RASPBERRY PI

BAB IV PENGUJIAN DAN ANALISA ALAT

PENGEMBANGAN PROJECT MICROCONTROLLER DENGAN ARDUINO IDE

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III METODE PENELITIAN DAN PERENCANAAN SISTEM. komputer, program yang dibuat menggunakan bahasa pemrograman C#.

BAB IV HASIL DAN UJI COBA

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB IV HASIL DAN PEMBAHASAN

BAB III PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB IV HASIL DAN UJI COBA. permodul hingga pengujian sistem secara keseluruhan serta monitoring unjuk

BAB III PERANCANGAN SISTEM

BAB III METODE PENELITIAN. Tujuan dari pengembangan tugas akhir ini adalah pengaturan temperature handphone

DT-PROTO Application Note AN219 Kontrol Lampu Secara Nirkabel berbasiskan Smarphone Android dan

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

Buku Panduan bagi Pengguna MODEM USB Model : BRG-U100 Ver. USB B

RANCANG BANGUN OPEN/CLOSE PINTU RUANGAN OTOMATIS MENGGUNAKAN VOICE RECOGNITION BERBASIS RASPBERRY PI

BAB IV PENGUJIAN DAN ANALISIS SISTEM

BAB III PERANCANGAN ALAT. Pada bagian ini akan dijelaskan mengenai bagaimana alat dapat

BAB III PERANCANGAN ALAT

Bab 1 Pendahuluan 1.1 Latar Belakang

BAB IV PENGUJIAN ALAT

TUGAS 1 Aplikasi Web Dinamis Lanjut. Disusun Oleh : Rina Septiana ( )

BAB III PERENCANAAN SISTEM DAN PEMBUATAN ALAT

BAB III PERANCANGAN ALAT

BUKU PANDUAN CCTV ATM Text Inserter

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN PERANCANGAN

Perancangan Alat Pengontrol Pengaman Pintu Ruangan dengan Bluetooth Berbasis Android

MODUL PRAKTIKUM ADMINISTRASI SERVER OS DEBIAN 6

SISTEM INFORMASI AKADEMIK DI SMP MUHAMMADIYAH AL-KAUTSAR PROGRAM KHUSUS KARTASURA BERBASIS MOBILE

PC STAND ALONE. Alat yang menyediakan dan mengalirkan listrik secara kontinu dan tidak terputus kepada komputer adalah :

BAB III PERANCANGAN ALAT

TUGAS 1 Aplikasi Web Dinamis Lanjut Composer dan Github

diantaranya pengoperasian perangkat lunak pada komputer Server, pengoperasian

TUGAS 1 WEB DINAMIS LANJUT COMPOSER DAN GITHUB DISUSUN OLEH : DUROTUL MADAROYAN ( )

BAB IV IMPLEMENTASI DAN EVALUASI. aplikasi yang dibangun baik aplikasi berbasis mobile maupun berbasis desktop. Implementasi

BAB III ANALISA DAN PERANCANGAN

BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISA DAN PERANCANGAN

DT-AVR. Application Note AN214

BAB III PERANCANGAN ALAT

Panduan Operasional Streaming

BAB III ANALISIS DAN DESAIN SISTEM

Embeded Sistem. Raspberry

Pengenalan Linux Konfigurasi TCP/IP

BAB III ANALISA DAN PERANCANGAN

BAB IV PERANCANGAN. Gambar 4.1 Blok diagram program

BAB IV ANALISA DAN PENGUJIAN ALAT

Transkripsi:

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 47

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. Catu daya Lampu Webcam Push button Raspberry Pi Motor servo LCD LED Input Output Gambar 3.1 Blok Diagram Rangkaian Send Photo via Telegram Messenger. Interaktif bot telegram 48

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 dicapture 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. Gambar 3.3 Proses Penyimpanan Hasil Foto Pada Database 49

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. 50

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. 51

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. 52

Pintu tertutup Pintu terbuka 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 90 o, dan apabila pintu terbuka maka posisi servo pada 0 o. 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 53

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 : a. Memasang SD Card yang sudah kita instal sebelumnya. 54

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. Gambar 3.8 LX Terminal Pada Raspberry Pi 55

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: Raspberry pi ~$ sudo apt-get update 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: 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 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: Raspberry pi ~$ Wget http://down loads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.9/opencv- 2.4.9.zip Lalu ketik perintah dibawah ini untuk meng-ekstrak file yang telah di download tadi: Raspberry pi ~$ unzip OpenCV-2.4.9.zip Lalu masuk ke folder OpenCV tersebut dengan perintah: Raspberry pi ~$ cd OpenCV-2.4.9 56

Lalu gunakan perintah "cmake", untuk membuat "make file", lakukan perintah berikut: Raspberry pi/opencv-2.4.9 ~$ cmake -DCMAKE_BUILD_TYPE=RELEASE - DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_PERF_TESTS=OFF - DBUILD_OpenCV_gpu=OFF -DBUILD_OpenCV_ocl=OFF Lalu kompile dengan perintah dibawah ini, proses kompile ini akan memakan waktu selama -+6 jam: Raspberry pi/opencv-2.4.9 ~$ make Setelah dikompile, lakukan peng-instalan OpenCV dengan perintah: Raspberry pi/opencv-2.4.9 ~$ sudo make install 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 raspiconfig 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. 57

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 5. Melakukan tethering koneksi internet dari Handphone. 58

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. Gambar 3.11 Aplikasi IP Scanner 59

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: 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. sudo apt-get install python-rpi.gpio. sudo apt-get install fswebcam Lakukan seting I2C untuk mengaktifkan port I2C pada Raspberry Pi, masuk ke sesi terminal dan ketik command berikut: sudo apt-get install -y python-smbus sudo apt-get install -y i2c-tools Lalu masuk ke konfig Raspberry Pi dengan perintah sudo-raspi config untuk masuk ke menu konfigurasi dari Raspberry Pi, maka akan tampil: 60

Gambar 3.12 Tampilan Konfig Raspberry Pi Lalu pilih Advance Option, 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. sudo apt-get install -y wiringpi 61

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. 62

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 63

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 menginstall 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: 253192747:AAGFHz2PJreLU9crkWGY8z8fx11lmQVxWlc, 64

Chat_id merupakan ID Telegram penerima dalam hal ini adalah ID Telegram penulis sendiri. Untuk mengetahui berapa ID Ttelegram, berikut langkahlangkahnya 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 65

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. 66

Y T Y T Y Gambar 3.18 Flowchart Rancangan Alat 67

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 memprogram 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. 68

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. Gambar 3.20 Program Config.py 69

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. 70

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. Gambar 3.23 Program Training.py 71

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. 72

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 import<nama_sub_program> pada baris program Python Box.py. 73

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 Text : Merupakan chat ID dari Telegram penulis. : 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: 74

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. 75