TUGAS AKHIR
Karya Tulis Sebagai Salah Satu Syarat Lulus Pendidikan
Program Studi Diploma IV Teknik Navigasi Udara Angkatan ke-26 C
Oleh
NAZRIZZA DESTI YANI
NIT. 22418090
Oleh:
NAZRIZZA DESTI YANI
NIT: 22418090
Program Studi D.IV Teknik Navigasi Udara
Angkatan ke-26 C
Kata Kunci:
Security, Kamera, Raspberry Pi, Telegram, Sistem Pengawasan
i
ABSTRACT
By:
NAZRIZZA DESTI YANI
NIT: 22418090
D.IV Air Navigation Engineering Study Program
Batch of-26 C
To ensure the smooth operation of the flight, safety and security is the main
responsibility. Aviation Security is a condition that provides protection to flights
from unlawful acts through the integrated use of human resources, facilities, and
procedures. Limited human resources make some security areas cannot be directly
guarded by the security forces or the security forces. One of the security programs
carried out in limited areas at the airport is only limited to periodic patrols and
surveillance through CCTV. Thus, supervision is not monitored directly. So the
supervisory function becomes less effective and efficient because it is unable to
prevent crimes that occur. The purpose of this design is to design a monitoring
system design so that it can help improve security and be able to monitor remotely
in real-time. This camera will be programed to detect objects that exist, namely
humans. When humans are detected, the Raspberry Pi 3b microcomputer will be
integrated by sending object data to the smartphone. The results of the object data
will be received by security via Telegram. If the object is indicated as a dangerous
security, it can go directly to the location and carry out the command to turn on or
turn off the Buzzer alarm that has been programmed through the Telegram
Botfather.
Keyword:
Security, Camera, Raspberry Pi, Telegram, Surveillance System
ii
PENGESAHAN PEMBIMBING
PEMBIMBING I PEMBIMBING II
Mengetahui,
iii
PENGESAHAN PENGUJI
KETUA SEKRETARIS
ANGGOTA
iv
LEMBAR PERNYATAAN KEASLIAN
v
PEDOMAN PENGGUNAAN TUGAS AKHIR
Tugas akhir D.IV yang tidak dipublikasikan terdaftar dan tersedia di Perpustakaan
Politeknik Penerbangan Indonesia, dan terbuka untuk umum dengan ketentuan
bahwa hak cipta ada pada pengarang dengan mengikuti aturan HaKI yang berlaku
di Politeknik Penerbanagan Indonesia. Referensi kepustakaan diperkenankan
dicatat, tetapi pengutipan atau peringkasan hanya dilakukan seizin pengarang dan
harus disertai kaidah ilmiah untuk menyebutkan sumbernya.
Sitasi hasil penelitian Tugas akhir ini dapat ditulis dalam bahasa Indonesia sebagai
berikut:
Yani, N.D. (2022): Rancangan Sistem Pengawasan Berbasis Human Detection
Menggunakan Telegram Pada Restricted area di Bandar Udara, Tugas
Akhir Program Diploma IV, Politeknik Penerbangan Indonesia.
Memperbanyak atau menerbitkan sebagian atau seluruh tugas akhir haruslah seizin
Ketua Program Studi Teknik Navigasi Udara, Politeknik Penerbangan Indonesia.
vi
HALAMAN PERUNTUKAN
Motto:
Teruslah Bernafas
“Saat kamu bernafas sekarang, orang lain mengambil nafas terakhirnya. Jadi
berhentilah mengeluh, dan belajarlah menjalani hidupmu dengan apa yang kamu
miliki”
(Nazrizza Desti Yani)
vii
KATA PENGANTAR
Segala puji dan syukur hanya bagi Tuhan Yang Maha Esa, oleh karena
anugerah-Nya yang melimpah, kemurahan dan kasih setia-Nya yang besar
akhirnya penulis dapat menyelesaikan penulisan tugas akhir ini dengan lancar
tanpa adanya hambatan yang berarti sesuai dengan waktu yang telah ditentukan.
Dalam penyusunan Tugas Akhir ini banyak pihak yang telah memberikan
bantuan, perhatian dan dorongan kepada penulis. Untuk itu secara khusus penulis
juga ingin mengucapkan rasa terimakasih yang sebesar-besarnya kepada :
1. Bapak Asri Santosa, S.T., S.SiT., M.T., selaku Direktur Politeknik Penerbangan
Indonesia Curug.
2. Bapak Muh. Wildan., S.T., M.T., selaku Ketua Progam Studi Teknik Navigasi
Udara.
3. Bapak Sabdo Purnomo, ST., S.SiT., M.Si., selaku Dosen Pembimbing I.
4. Bapak Irvan, S.Tr.T., selaku Dosen Pembimbing II.
5. Seluruh Dosen, Pengajar dan Staff di Progam Studi Teknik Navigasi Udara.
6. Kedua Orang Tua saya Bapak Rudi setiawan dan Ibu Komariyah serta adik saya
Nazwa yang senantiasa memberikan dukungan, dan semangat yang luar biasa
untuk penyusunan Tugas Akhir.
7. Rekan hidup saya Lindu yang selalu membantu dan menenami dalam penulisan
Tugas Akhir ini.
8. Rekan-rekan D IV TNU 26 C terkhusus Barak Kilo 4 atas segala cerita,
perjuangan, dukungan dan bantuan.
9. Adik-Adik taruni D IV TNU 28 terkhusus Culin, Anis, Dita, Briana dan Tia
serta taruni D IV TNU 29 terkhusus Madhawi dan Chintya tercinta yang telah
membantu dan mendukung dalam penyelesaian Tugas Akhir ini.
viii
Penulis menyadari bahwa masih banyak kekurangan dalam penyusunan
Tugas Akhir ini. Peneliti mengharapkan kritik dan saran yang bersifat membangun
untuk kesempurnaan penelitian di masa yang akan datang. Tugas Akhir ini
diharapkan pula dapat bermanfaat bagi pembacanya.
ix
DAFTAR ISI
ABSTRAK ............................................................................................................... i
ABSTRACT ............................................................................................................ ii
PENGESAHAN PEMBIMBING ........................................................................... iii
PENGESAHAN PENGUJI .................................................................................... iv
LEMBAR PERNYATAAN KEASLIAN ................................................................v
PEDOMAN PENGGUNAAN TUGAS AKHIR ................................................... vi
HALAMAN PERUNTUKAN .............................................................................. vii
KATA PENGANTAR .......................................................................................... viii
DAFTAR GAMBAR ............................................................................................ xii
DAFTAR TABEL ................................................................................................ xiv
DAFTAR LAMPIRAN ..........................................................................................xv
BAB I PENDAHULUAN ......................................................................................1
A. Latar Belakang Masalah ..................................................................................1
B. Identifikasi Masalah ........................................................................................2
C. Batasan Masalah ..............................................................................................3
D. Rumusan Masalah ...........................................................................................3
E. Tujuan ..............................................................................................................4
F. Manfaat ............................................................................................................4
G. Sistematika Penulisan ......................................................................................4
BAB II TINJAUAN PUSTAKA ............................................................................6
A. Tinjauan Teori .................................................................................................6
1. Rasberry Pi..............................................................................................6
2. Modul pi camera ...................................................................................11
3. Python ...................................................................................................11
4. Computer Vision ...................................................................................12
5. Open Source Computer Vision (OpenCV) ...........................................13
6. TensorFlow ...........................................................................................14
7. Geany ....................................................................................................15
8. Buzzer ....................................................................................................16
9. Telegram ...............................................................................................16
10. Angry IP Scanner .................................................................................17
11. VNC Viewer .........................................................................................18
BAB III METODOLOGI PENELITIAN ............................................................21
x
A. Metodologi Penelitian ...................................................................................21
B. Konsep Rancangan ........................................................................................21
C. Waktu Dan Lokasi Perancangan ....................................................................24
D. Penentuan Alat Dan Bahan ............................................................................25
E. Kriteria Perancangan ......................................................................................26
BAB IV PEMBAHASAN .....................................................................................27
A. Gambaran Umum Perancangan .....................................................................27
B. Tahapan Perancangan ....................................................................................28
D. Interpretasi Hasil Uji Coba Rancangan .........................................................53
BAB V KESIMPULAN DAN SARAN ................................................................55
DAFTAR PUSTAKA ............................................................................................56
LAMPIRAN ...........................................................................................................58
xi
DAFTAR GAMBAR
xii
Gambar IV. 28 Skript Program Bot Telegram .......................................................41
Gambar IV. 29 Skript Program Buzzer ..................................................................42
Gambar IV. 30 Start Proses Scanning ....................................................................42
Gambar IV. 31 Scanning Conpleted.......................................................................43
Gambar IV. 32 Ip Raspberry ..................................................................................43
Gambar IV. 33 New Connection VNC Viewer ......................................................44
Gambar IV. 34 Label Projek ..................................................................................44
Gambar IV. 35 Tampilan Beranda VNC Viewer ...................................................45
Gambar IV. 36 Authenticate to VNC Server .........................................................45
Gambar IV. 37 Tampilan Dekstop Raspberry ........................................................46
Gambar IV. 38 Menu Terminal ..............................................................................46
Gambar IV. 39 Penginputan Perintah cd code .......................................................47
Gambar IV. 40 Penginputan Perintah “python3 main.py” .....................................47
Gambar IV. 41 Rancangan Program Berjalan ........................................................48
Gambar IV. 42 Tampilan Hasil Gambar Objek di Telegram .................................48
Gambar IV. 43 Melakukan Perintah Menghidupkan Buzzer .................................49
Gambar IV. 44 Objek Manusia Terdeteksi ............................................................50
Gambar IV. 45 Hasil Tangkapan Objek di Telegram ............................................50
Gambar IV. 46 Objek Hewan Kucing ....................................................................51
Gambar IV. 47 Objek Benda Botol ........................................................................51
Gambar IV. 48 Objek Benda Buku ........................................................................51
Gambar IV. 49 Perintah Pada Bot Telegram ..........................................................52
Gambar IV. 50 Buzzer on dan off ..........................................................................53
xiii
DAFTAR TABEL
xiv
DAFTAR LAMPIRAN
xv
BAB I
PENDAHULUAN
1
dilakukan pada daerah restricted area di bandar udara sebatas patroli secara
berkala dan pengawasan melalui CCTV. Dengan demikian pengawasan tidak
terpantau langsung. Maka fungsi pengawasan pun menjadi kurang efektif dan
efisien karena tidak mampu mencegah tindak kejahatan yang terjadi.
Contoh kasus yang telah ditemui penulis dalam pelaksanaan OJT di
Yogyakarta ialah kurang terpantaunya daerah restricted area dimana terdapat
warga sekitar yang terus berupaya masuk ke dalam shelter Localizer. Hal ini
kadang terjadi menyebabkan ganguan pancaran pada antenna dan
mengakibatkan alarm pada Localizer.
Oleh karena itu dibuatkan suatu sistem kamera yang mampu menyeleksi
objek yang dikehendaki serta untuk meningkatkan pengawasannya dapat
menggunakan smartphone dimana akan sangat berguna dan memudahkan untuk
pemantauan situasi restricted area. Berdasarkan latar belakang diatas, maka
dapat diangkat tugas penyusunan tugas akhir dengan judul “RANCANGAN
SISTEM PENGAWASAN BERBASIS HUMAN DETECTION
MENGGUNAKAN TELEGRAM PADA RESTRICTED AREA DI
BANDAR UDARA”
Beberapa perancangan sistem pengawasan yang telah ada diantaranya
dilakukan oleh Dwi Ely Kurniawan dan rekan dalam sebuah jurnal “Perancangan
Sistem Kamera Pengawas Berbasis Perangkat Bergerak Menggunakan
Raspberry Pi” [4], pada perancangan ini masih menggunakan sensor gerak untuk
mendeteksi objek. Kemudian menurut Basworo Ardi Pramono dan rekan dalam
sebuah jurnal “Raspberry Pi dengan Modul Kamera dan Motion Sensor Sebagai
Solusi CCTV Lab FTIK UNIV.Semarang” [5], Perancangan ini tidak
menambahkan notifikasi pada Telegram. Dan menurut Riki Rifandi dan rekan
dalam sebuah jurnal “Rancang Bangun Kamera Pengawas Menggunakan
Raspberry dengan Aplikasi Telegram Berbasis Internet of Things” [6], yang
menjadi pembeda adalah tidak adanya alarm pada perancangan.
B. Identifikasi Masalah
Berikut penulis mengidentifikasi masalah berdasarkan latar belakang yang
dijelaskan di atas:
2
1. Pemantauan restricted area Localizer di Yogyakarta hanya dilakukan patroli
secara berkala dan pengawasan melalui CCTV tidak dilakukan secara terus
menerus dipantau maka informasi yang disajikan hanya berupa rekaman
2. Faktor human reability menjadikan pemantauan menggunakan CCTV tidak
dapat mengetahui kejadian yang terjadi secara aktual.
3. Saat ini belum efektifnya pemantauan keamanan menggunakan CCTV
dikarnakan belum adanya alert pengidentifikasian objek manusia.
C. Batasan Masalah
Menyadari akan adanya keterbatasan, maka diperlukan batasan untuk
membatasi permasalahan yang ada, selain itu juga agar penulisan tugas akhir ini
lebih mengarah pada pokok permasalahan yang sesuai dengan judul tugas akhir.
Pada tugas akhir ini masalah yang akan dibatasi yaitu:
1. Rancangan sistem pengawasan menggunakan human detection berbasis
kamera.
2. Rancangan sistem pengawasan menggunakan Telegram sebagai media untuk
pengawasan.
3. Pendeteksian rancangan sistem pengawasan dilakukan terhadap manusia.
D. Rumusan Masalah
Berdasarkan latar belakang, identifikasi masalah dan batasan masalah yang
ada pada rancangan tugas akhir maka penulis membuat rumusan masalah
sebagai berikut:
1. Bagaimana merancang sistem pengawasan berbasis human detection
menggunakan Telegram?
2. Bagaimana cara kerja rancangan sistem pengawasan menggunakan
Raspberry Pi yang terhubung ke Telegram?
3. Apakah rancangan dapat mendeteksi objek manusia serta efektif dalam
membantu proses pengawasan dari jarak jauh serta meningkatkan keamanan?
3
E. Tujuan
Tujuan dari perancangan yang penulis buat adalah sebagai berikut:
1. Merancang sebuah rancangan sitem pengawasan berbasis human detection
menggunakan Telegram.
2. Mengimplementasikan rancangan sitem pengawasan berbasis human
detection menggunakan Telegram pada restricted area di Bandar Udara.
3. Dapat membantu dalam meningkatkan keamanan serta mampu dilakukannya
pengawasan jarak jauh secara real-time.
F. Manfaat
Adapun manfaat perancangan yang dimaksud dalam penelitian ini adalah:
1. Hasil dari penelitian diharapkan dapat membantu dalam meningkatkan
keamanan.
2. Perancangan alat system pengamanan menggunakan aplikasi Telegram dapat
memberikan kemudahan terhadap pengawasan jarak jauh.
3. Diharapkan hasil penelitian ini dapat digunakan sebagai bahan referensi
untuk penelitian selanjutnya
G. Sistematika Penulisan
BAB I : PENDAHULUAN
Merupakan bab pendahuluan yang berisi latar belakang masalah,
identfikasi masalah, pembatasan masalah, perumusan masalah,
metodologi penelitian, dan sistematika penulisan.
4
Pada bab ini akan menjabarkan arsitektur umum dari penelitian
yang dilakukan. Setiap tahap yang dilakukan pada proses deteksi
dan pengenalan objek manusia dan perancangan aplikasi yang
dibuat dalam penelitian ini akan dijabarkan.
BAB IV : PEMBAHASAN
Pada bab ini berisi pembahasan tentang implementasi dan
perancangan. Selain itu, hasil yang didapatkan dari tahap pengujian
terhadap implementasi yang dilakukan juga akan dijabarkan pada
bab ini
5
BAB II
TINJAUAN PUSTAKA
A. Tinjauan Teori
1. Rasberry Pi
Raspberry Pi adalah komputer papan tunggal berukuran kartu kredit
atau SBC. Raspberry Pi dirancang dengan semua fitur komputer lengkap
menggunakan ARM SoC (System-on-a-Chip) yang dikemas dan
diintegrasikan ke dalam papan sirkuit tercetak atau PCB. Perangkat ini
menggunakan kartu SD untuk booting dan penyimpanan jangka panjang.
Raspberry Pi adalah open source (berbasis Linux) dan Raspberry Pi
dapat disesuaikan dengan kebutuhan. Sistem operasi utama, Raspberry
Pi, menggunakan Debian GNU/Linux dan bahasa pemrograman Python.
Salah satu pengembang OS pada Raspberry Pi telah meluncurkan sistem
operasi bernama Raspbian. Raspbian dikatakan mampu memaksimalkan
empat perangkat Raspberry Pi. Sistem operasinya berbasis Debian, salah
satu distro sistem operasi Linux.[7]
6
Raspberry Pi hadir dalam beberapa model dengan spesifikasi dan
keunggulannya masing-masing untuk setiap model. Dan inilah
perbandingannya model setiap generasi Raspberry Pi
1.1 Rasberry Pi 3
Raspberry Pi 3 adalah generasi ketiga dari keluarga Raspberry Pi.
Dengan RAM 1GB dan grafis Broadcom VideoCore IV, Raspberry Pi
3 berjalan pada 250MHz dengan kecepatan clock yang lebih tinggi dari
sebelumnya.
Spesifikasi Keterangan
Soc BCM2837
Procesor 1.2GHz 64-bit quad-core ARMv8
CPU
Memory /RAM 1 GB SDRAM 400MHz
GPU VideoCore IV 3D graphics core
Wireless 802.1 In Wireless LAN
Adapter/LAN
7
Bluetooth Bluetooth 4.1 (built in), Bluetooth
Low Energy(BLE)
GPIO 40 Pin
Port USB 4 USB Ports
Card Stroge Micro SD card slot (now push-pull
rather than push-
push)
Jaringan Ethernet Port
External Audio Full HDMI port, Camera interface
and (CSI), Display
Video interface (DSI), Combined 3.5mm
audio jack andcomposite video
Sistem Operassi Debian GNU/Linux,Fedora, Arch
Linux ARM, RISC
OS
8
Gambar II. 3 Arsitektur Raspberry
Keterangan:
1. : Pin GPIO (40 Pin)
2. : On Board Bluetooth 4.1 and BCM 43143 Wi-fi
3. : DSI Display Port
4. : BCM2837 1.2GHz -64-bit quad-core ARMv8 CPU dan 1GB
RAM
5. : Micro USB Power Input Up to 2.5A
6. : HDMI Video Output
7. : CSI Camera Port
8. : 3.5 mm 4-pole Composite Video and Audio Output Jack
9. :Ethernet Port
10.: 4 Usb Port
9
1.3 Pin GPIO
Jumlah pin GPIO Raspberry 3 memiliki 40pin. Berikut Konfigurasi
Pin GPIO [9].
Dari 40 pin, 26 pin GPIO dan yang lain adalah pin power atau ground.
a. 3.3V dan 5V Pin: Pin ini digunakan untuk memberi daya pada
komponen seperti sensor, LED, motor, dan relai. Pin ini terhubung ke pin
vcc komponen.
b. Pin GND atau ground. Pin ini terhubung ke pin ground atau negatif
(-) pada LED, sensor, motor, atau relay.
c. GPIO pin: Kontrol pin ini menggunakan bahasa pemrograman
Python. Dengan Python, dapat mengatur pin ini aktif, nonaktif, atau
berdasarkan kriteria spesifik dari program yang dibuat.
10
2. Modul pi camera
Pi camera adalah perangkat kamera yang terintegrasi dengan modul
Raspberry Pi. Modul kamera dirancang khusus add –on. Cara
mengaksesnya cukup mudah, Kamera terhubung ke Raspberry Pi melalui
konektor CSI Raspberry Pi.
3. Python
Python adalah bahasa pemrograman yang ditafsirkan untuk tujuan
umum dengan filosofi desain yang berpusat pada keterbacaan kode. Python
diklaim sebagai bahasa yang menggabungkan kapabilitas, dengan sintaks
kode yang sangat jelas, serta dilengkapi dengan fungsionalitas library
standar yang luas dan lengkap. Python adalah bahasa pemrograman yang
tujuan keseluruhannya adalah membuat kode sumber mudah dibaca. Python
juga memiliki pustaka lengkap yang memungkinkan pemrogram untuk
membuat aplikasi kompleks menggunakan kode sumber sederhana [11].
11
Gambar II. 6 Logo Python
4. Computer Vision
12
1) Pengolahan citra, area yang terkait dengan pemrosesan gambar dan
proses konversi gambar. Proses ini bertujuan untuk mendapatkan kualitas
gambar yang lebih baik.
2) Pengenalan pola, Bidang ini mengacu pada proses mengidentifikasi
objek dalam gambar atau menafsirkan gambar. Proses ini bertujuan untuk
mengekstrak informasi/pesan yang disampaikan melalui gambar/image.
13
d. Pemrosesan gambar dasar (penyaringan, deteksi tepi, deteksi tepi,
pengambilan sampel dan interpolasi, konversi warna, manipulasi
morfologis, histogram, piramida gambar)
e. Analisis struktur
f. Kamera kalibrasi
g. Gerak deteksi
h. Deteksi objek
i. GUI Dasar (tampilan gambar / video, kontrol mouse / keyboard,
bilah gulir)
j. Keterangan (garis, kerucut, poligon, gambar teks)
6. TensorFlow
TensorFlow adalah framework yang digunakan untuk mengeksekusi
algoritma machine learning dan mengeksekusi perintah menggunakan data
yang dimiliki oleh suatu objek atau target, dimana dapat membedakan satu
objek dengan objek lainnya. Data yang digunakan untuk mengidentifikasi
objek berasal dari banyak gambar yang kompleks. TensorFlow sangat
fleksibel dan dapat digunakan untuk mewakili berbagai algoritme.
TensorFlow memiliki kemampuan untuk melatih model unit pemrosesan
grafis (GPU). Ini membutuhkan lebih sedikit waktu pelatihan daripada
menggunakan unit pemrosesan pusat (CPU) dan memungkinkan pemetaan
komputasi ke banyak computer [15].
14
6.1 TensorFlow Lite
TensorFlow Lite TensorFlow Lite adalah ekstensi library machine
learning yang dirancang khusus untuk perangkat mobile. TensorFlow Lite
memungkinkan mesin untuk "belajar" pada perangkat dengan latensi
rendah dan ukuran biner kecil. Untuk menggunakan TensorFlow Lite di
perangkat mobile, pengguna harus menyediakan model dalam format
.tflite yang telah dilatih atau "dipelajari" dari contoh gambar yang
disediakan atau beberapa kasus [15].
7. Geany
15
editor teks memungkinkan Geany menyederhanakan operasinya sebagai
IDE. Geany adalah aplikasi perangkat lunak yang menyediakan alat lengkap
untuk pengembangan perangkat lunak. Geany juga open source atau
perangkat lunak bebas dan dilisensikan di bawah GNU (General Public
License). Geany sangat ringan dan ideal untuk perangkat dengan spesifikasi
terbatas seperti Raspberry Pi dan Dragonboard [16].
8. Buzzer
Buzzer adalah komponen elektronik yang mengubah getaran listrik
menjadi getaran suara. Prinsip pengoperasian Buzzer hampir sama dengan
loudspeaker, jadi Buzzer juga terdiri dari kumparan yang dipasang pada
diafragma dan selanjutnya kumparan tersebut dikuatkan sehingga menjadi
elektromagnet. Buzzer umumnya digunakan untuk alarm karena mudah
digunakan, artinya Buzzer akan mengeluarkan bunyi ketika tegangan input
diberikan. Frekuensi suara yang dikeluarkan oleh Buzzer antara 1-5 kHz.
9. Telegram
Telegram adalah aplikasi pesan instan berbasis cloud dengan
penekanan pada kecepatan dan keamanan. Telegram memiliki API
16
(Application Programming Interface) yang terbuka dan gratis, salah satunya
adalah Bot API. Ini adalah antarmuka berbasis HTTP (HyperText Transfer
Protocol) yang dibuat oleh pengembang untuk membuat Bot untuk
Telegram [18].
Ada dua jenis API yang disediakan oleh Telegram. API pertama adalah
klien Telegram, yang memungkinkan siapa saja untuk membuat,
memodifikasi, dan mendistribusikan versi aplikasi pesan instan mereka
sendiri. Untuk itu disediakan source code yang saat ini digunakan agar
developer tidak perlu menulis aplikasi Telegram dari awal.
Jenis lainnya adalah API Telegram Bot. Jenis API kedua ini
memungkinkan pengembang untuk membuat yang dapat merespons pesan
dari semua pengguna saat mengirim pesan perintah yang ditentukan oleh
Bot itu sendiri. Layanan ini hanya tersedia untuk pengguna Telegram, jadi
memerlukan aplikasi dan akun Telegram untuk berkomunikasi dengan Bot
Telegram. Telegram Bot adalah akun khusus yang tidak memerlukan nomor
telepon tambahan sebagai syarat khusus. Akun Bot bertindak sebagai
antarmuka ke kode yang berjalan di server pengembang [19].
17
mendeteksi keberadaan IP aktif di jaringan, yaitu dengan menggunakan
perangkat lunak Angry IP Scanner [20].
18
dan klien untuk kendali jarak jauh layar komputer lain antar computer
[22].
Pada sistem server dan klien, server dapat mengkonfigurasi port dan
alamat IP untuk terhubung ke klien menggunakan Remote Desktop.
Dalam komputasi, Virtual Network Computing (VNC) adalah metode
berbagi grafis desktop yang menggunakan protokol Framebuffer Protocol
(RFB) untuk kendali jarak jauh antar komputer. Sistem VNC terdiri dari
VNC server yaitu program yang berjalan di komputer target, dan program
ini berjalan di komputer server sedangkan VNC client adalah Viewernya
[22].
B. Kerangka Berfikir
Dalam pembuatan tugas akhir ini langkah pertama yang dilakukan yakni
rumusan masalah, kemudian mengumpulkan data yang diperlukan. Setelah
mendapatkan data-data yang diperlukan dilanjutkan dengan membuat konsep
rancangan yang akan diimplementasikan dan melakukan uji coba hingga
rancangan tersebut sesuai dengan target, jika rancangan belum sesuai maka akan
dilakukan revisi rancangan dan melakukan pengujian ulang hingga sesuai
dengan yang diinginkan. Berikutnya adalah kerangka berpikir dalam bentuk
flowchart yang gunakan dalam penelitian:
19
Gambar II. 14 FlowChart Kerangka Berfikir
20
BAB III
METODOLOGI PENELITIAN
A. Metodologi Penelitian
Metode yang digunakan dalam penelitian ini adalah metode Research and
Development (R & D). Menurut Prof. Sugiyono, terdapat 4 level dalam R&D
dan penelitian akan menggunakan R&D Level 3. Penelitian dan Pengembangan
pada Level 3, adalah peneliti melakukan penelitian untuk mengembangkan
(merevisi) produk yang telah ada, membuat produk revisi dan menguji
keefektifan produk tersebut [23]. Berikut ini alur penelitian R&D Level 3.
21
Gambar III. 2 Kondisi Saat Ini
22
3. Flowchart rancangan
23
C. Waktu Dan Lokasi Perancangan
Bulan
N
Tahapan Kegiatan 1 1 1
o
0 1 2 1 2 3 4 5 6 7
1 Penentuan Tema Judul
2 Pengumpulan Data
3 Penyusun Proposal Tugas Akhir
4 Seminar Proposal Tugas Akhir
5 Perbaikan Proposal
6 Konsultasi dengan Pembimbing
7 Koleksi Data
Pencarian Komponen yang
8 dibutuhkan
9 Pembuatan Rancangan
10 Pengujian Rancangan
11 Penulisan BAB I
13 Bimbingan BAB I
14 Penulisan BAB II
15 Bimbingan BAB II
16 Penulisan BAB III
17 Bimbingan BAB III
18 Penulisan BAB IV dan V
19 Bimbingan BAB IV dan V
20 Seminar Tugas Akhir
21 Perbaikan Tugas Akhir
24
D. Penentuan Alat Dan Bahan
25
E. Kriteria Perancangan
26
BAB IV
PEMBAHASAN
27
Dalam rancangan ini, pendeteksian objek tidak menggunakan sensor
melainkan langsung dari kamera. Kamera ini akan diprogramkan untuk
mendeteksi objek yang ada yakni manusia. Ketika manusia terdeteksi,
mikrokotroler Raspberry Pi 3b akan terintegrasi dengan mengirim data objek
ke smartphone. Hasil data objek tersebut akan diterima security melalui
Telegram. Apabila objek terindikasi berbahaya security dapat menuju lokasi
secara langsung serta melakukan perintah menghidupkan atau mematikan
alarm Buzzer yang telah terprogram melalui Botfather Telegram.
B. Tahapan Perancangan
a. Raspberry Pi 3b
28
Gambar IV. 3 Raspberry Pi 3b
b. Pi camera
29
Gambar IV. 5 Interkoneksi Kabel CSI
30
c. Buzzer
Buzzer sebagai output alarm berupa suara. Terdapat tiga buah pin
yang terdapat pada Buzzer, adapun pin tersebut adalah pin VCC, pin
OUT dan pin GND.
suplai daya, pin GND adalah pin yang digunakan untuk ground.
Berbeda dengan pin OUT yang berfungsi sebagai output dari Buzzer,
Untuk lebih detailnya berikut ini akan ditampilkan tiga buah pin
31
Gambar IV. 8 Pin Pada Buzzer
Agar Buzzer dengan Raspberry Pi dapat saling terhubung
Raspberry Pi. Berikut ini adalah contoh kabel jumper yang digunakan:
Pi itu sendiri. GPIO memiliki komponen pin 3.3V dan 5V, pin ground
dan pin GPIO. Berikut ini adalah header GPIO pada Raspberry Pi.
32
Berikut dibawah ini adalah hasil cabeling pada GPIO Raspberry Pi dan
Raspberry Pi
33
Gambar IV. 10 Download Angry Ip Scanner
2) Atur lokasi installasi, Lalu klik install hingga finish atau tahapan
installasi telah selesai.
34
Gambar IV. 12 Tampilan Aplikasi Angry Ip Scanner
3) Lalu klik OK dan akan masuk ke Welcome Page VNC Viewer Setup,
klik next, seperti gambar dibawah ini:
35
4) Kemudian akan dilanjutkan ke halaman End-User License Agreement,
centang I Accept untuk melanjutkan instalasi kemudian next.
5) Setelah itu klik instal dan finish. Instalasi VNC telah selesai
c. Telegram
1.) Langkah pertama akan dilakukan adalah instalasi. Untuk mengunduh
Telegram buka Google Play Store pada android atau Appstore pada
IOS.
36
Gambar IV. 17 Google Play Store
3.) Setelah terinstal, daftar akun Telegram dengan mengisi nomor serta asal
negara.
37
4.) Kode OTP akan diterima melalui sms, lalu input kode OTP tersebut.
5.) Setelah memasukan biodata diri, Telegram selesai diinstalasi dan siap
digunakan
38
Gambar IV. 22 Pencarian Akun BotFather
39
9) Setelah itu akan diperoleh alamat Bot untuk pengguna dan token API
yang akan didaftarkan pada Raspberry.
d. Raspberry Pi
40
Gambar IV. 26 Skript Program TensorFlow
[2] Setelah scanning selesai akan muncul hasil host yang aktif
42
Gambar IV. 31 Scanning Conpleted
43
Gambar IV. 33 New Connection VNC Viewer
[2] Kemudian masukan alamat ip pada Raspberry dan buat nama projeknya
44
Gambar IV. 35 Tampilan Beranda VNC Viewer
45
Gambar IV. 37 Tampilan Dekstop Raspberry
46
Gambar IV. 39 Penginputan Perintah cd code
47
Gambar IV. 41 Rancangan Program Berjalan
48
Gambar IV. 43 Melakukan Perintah Menghidupkan Buzzer
g. Gambar akan otomatis dikirim ke Bot Telegram apabila objek terdeteksi dan
security dapat menghidupkan alarm bila diperlukan.
Pada uji coba ini dilakukan percobaan dengan objek yang diinginkan
yakni manusia. Ketika kamera menangkap objek manusia, maka kamera
akan meng-capture tangkapan objek.
49
Gambar IV. 44 Objek Manusia Terdeteksi
50
Selanjutnya uji coba ini dilakukan percobaan dengan objek selain
manusia. Ketika kamera menangkap objek bukan manusia maka kamera
tidak akan akan meng-capture tangkapan objek dan proses pengiriman
gambar tidak terjadi. Uji coba akan dilakukan terhadap hewan dan benda.
51
c. Uji coba alarm Buzzer
Yang terakhir dilakukan uji coba melakukan perintah menghidupkan
serta mematikan alarm Buzzer. Ketika kamera menangkap objek manusia,
kamera akan meng-capture tangkapan objek dan akan dikirimkan ke
security melalui Telegram. Apabila objek ter-indikasi berbahaya maka
security dapat menghidupkan serta mematikan alarm bila diperlukan.
52
Gambar IV. 50 Buzzer on dan off
53
Objek deteksi bukan Berhasil Sample objek yang
manusia digunakan adalah buku
serta kucing. Kamera
tidak mengidentifikasi
objek oleh karena itu
proses pengiriman
gambar atau alert
kepada security tidak
terjadi. Maka rancangan
sesuai dengan kriteria.
54
BAB V
KESIMPULAN DAN SARAN
A. Kesimpulan
B. Saran
Menyadari bahwa rancangan ini masih belum sempura, penulis berharap ada
pengembangan selanjutnya mengenai objek-objek yang dapat dideteksi sehingga
dapat menyesuaikan dengan perkembangan teknologi.
55
DAFTAR PUSTAKA
56
Convolutional Neural Network,” J. Manaj. Inform. Sist. Informasi), vol.
4, no. 2, pp. 84–91, 2021, [Online]. Available: http://e-
journal.stmiklombok.ac.id/index.php/misi
[16] T. Elektro, U. Sam, R. Manado, and J. K. B. Manado, “Aplikasi
Pengenalan Wajah Untuk Sistem Absensi Kelas Berbasis Raspberry Pi,”
J. Tek. Inform., vol. 15, no. 3, pp. 179–188, 2020, [Online]. Available:
https://ejournal.unsrat.ac.id/index.php/informatika/article/view/31290/29
990
[17] D. Rofifah, “Motor Listrik DC,” Pap. Knowledge. Towar. a Media Hist.
Doc., pp. 12–26, 2020.
[18] N. K. Yap HK, Liu ID, “Perancangan Tempat Sampah Berbasis Internet
Of Things Menggunakan Aplikasi Telegram,” A Psicanal. dos contos
fadas. Tradução Arlene Caetano, p. 466, 2019.
[19] A. Cokrojoyo, J. Andjarwirawan, and A. Noertjahyana, “Pembuatan Bot
Telegram Untuk Mengambil Informasi dan Jadwal Film Menggunakan
PHP,” J. Infra, vol. 5, no. 1, pp. 224–227, Program Studi Teknik
Informatika Fakultas, 2017, [Online]. Available:
http://studentjournal.petra.ac.id/index.php/teknik-
informatika/article/view/5163
[20] D. Harjowinoto, A. Noertjahyana, and J. Andjarwirawan, “Vulnerability
Testing pada Sistem Administrasi” J. Infra, vol. 4, no. 1, p. pp.227-p.232,
2016.
[21] W. Aris Syah Putra, “Analisis dan Pengukuran Tingkat Keamanan
Layanan Hotspot ” pp. 9–25, 2019.
[22] Y. Ariyanto, “Implementasi Remote Desktop Komputer Menggunakan
Virtual Network Computing ( Vnc ) Server Dan Vnc Viewer Berbasis
Android,” 2017.
[23] M. Peneliian and D. A. N. Pengembangan, “Metode peneliian dan
pengembangan research & development”.
57
LAMPIRAN
58
Lampiran B. Lembar Konsultasi Bimbingan Tugas Akhir
59
Lampiran C. Skript Konfigurasi TensorFlow
# Path to .tflite file, which contains the model that is used for object detection
PATH_TO_CKPT = os.path.join(CWD_PATH,MODEL_NAME,GRAPH_NAME)
# Have to do a weird fix for label map if using the COCO "starter model" from
# https://www.tensorflow.org/lite/models/object_detection/overview
# First label is '???', which has to be removed.
if labels[0] == '???':
del(labels[0])
interpreter.allocate_tensors()
60
width = input_details[0]['shape'][2]
input_mean = 127.5
input_std = 127.5
# Check output layer name to determine if this model was created with TF2 or TF1,
# because outputs are ordered differently for TF2 and TF1 models
outname = output_details[0]['name']
61
Lampiran D. Skript Konfigurasi Kamera
class VideoStream:
"""Camera object that controls video streaming from the Picamera"""
def __init__(self,resolution=(640,480),framerate=30):
# Initialize the PiCamera and the camera image stream
self.stream = cv2.VideoCapture(0)
ret = self.stream.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc(*'MJPG'))
ret = self.stream.set(3,resolution[0])
ret = self.stream.set(4,resolution[1])
def start(self):
# Start the thread that reads frames from the video stream
Thread(target=self.update,args=()).start()
return self
def update(self):
# Keep looping indefinitely until the thread is stopped
while True:
# If the camera is stopped, stop the thread
if self.stopped:
# Close camera resources
self.stream.release()
return
def read(self):
# Return the most recent frame
return self.frame
def stop(self):
# Indicate that the camera and thread should be stopped
self.stopped = True
62
action='store_true')
args = parser.parse_args()
MODEL_NAME = args.modeldir
GRAPH_NAME = args.graph
LABELMAP_NAME = args.labels
min_conf_threshold = float(args.threshold)
resW, resH = args.resolution.split('x')
imW, imH = int(resW), int(resH)
use_TPU = args.edgetpu
63
Lampiran E. Skript Konfigurasi Bot Telegram
#user1 = "1238554346"
user1 = "5093089735"
def handle(msg):
chat_id = msg['chat']['id']
command = msg['text']
print(chat_id)
print('Perintah yang diterima: %s' % command)
if command == '/start':
bot.sendMessage(chat_id, "Telegram bot aktif")
elif command == 'on':
buzzer.start(50)
bot.sendMessage(chat_id, "Buzzer On")
elif command =='off':
buzzer.stop()
bot.sendMessage(chat_id, "Buzzer Off")
else:
bot.sendMessage(chat_id, "Perintah tidak ditetapkan")
bot = telepot.Bot('5438731832:AAGnJAbxG2Kaemmspqf2kfxVUV6NT1fouH0')
bot.message_loop(handle)
print('Menunggu perintah ...')
while True:
64
Lampiran F. Skript Konfigurasi Buzzer
GPIO.setwarnings(False)
flag = 0
GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.OUT)
buzzer = GPIO.PWM(4, 1047)
65
Lampiran G. Skript Program Rancangan
import telepot
import RPi.GPIO as GPIO
import os
import argparse
import cv2
import numpy as np
import sys
import time
from threading import Thread
import importlib.util
from datetime import datetime
import pytz
class VideoStream:
"""Camera object that controls video streaming from the Picamera"""
def __init__(self,resolution=(640,480),framerate=30):
# Initialize the PiCamera and the camera image stream
self.stream = cv2.VideoCapture(0)
ret = self.stream.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc(*'MJPG'))
ret = self.stream.set(3,resolution[0])
ret = self.stream.set(4,resolution[1])
def start(self):
# Start the thread that reads frames from the video stream
Thread(target=self.update,args=()).start()
return self
def update(self):
# Keep looping indefinitely until the thread is stopped
while True:
# If the camera is stopped, stop the thread
if self.stopped:
# Close camera resources
self.stream.release()
return
66
def read(self):
# Return the most recent frame
return self.frame
def stop(self):
# Indicate that the camera and thread should be stopped
self.stopped = True
args = parser.parse_args()
MODEL_NAME = args.modeldir
GRAPH_NAME = args.graph
LABELMAP_NAME = args.labels
min_conf_threshold = float(args.threshold)
resW, resH = args.resolution.split('x')
imW, imH = int(resW), int(resH)
use_TPU = args.edgetpu
67
if use_TPU:
from tensorflow.lite.python.interpreter import load_delegate
# Path to .tflite file, which contains the model that is used for object detection
PATH_TO_CKPT = os.path.join(CWD_PATH,MODEL_NAME,GRAPH_NAME)
# Have to do a weird fix for label map if using the COCO "starter model" from
# https://www.tensorflow.org/lite/models/object_detection/overview
# First label is '???', which has to be removed.
if labels[0] == '???':
del(labels[0])
interpreter.allocate_tensors()
68
input_mean = 127.5
input_std = 127.5
# Check output layer name to determine if this model was created with TF2 or TF1,
# because outputs are ordered differently for TF2 and TF1 models
outname = output_details[0]['name']
GPIO.setwarnings(False)
flag = 0
GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.OUT)
buzzer = GPIO.PWM(4, 1047)
#user1 = "1238554346"
user1 = "5093089735"
def handle(msg):
chat_id = msg['chat']['id']
command = msg['text']
print(chat_id)
print('Perintah yang diterima: %s' % command)
if command == '/start':
bot.sendMessage(chat_id, "Telegram bot aktif")
elif command == 'on':
buzzer.start(50)
bot.sendMessage(chat_id, "Buzzer On")
elif command =='off':
buzzer.stop()
bot.sendMessage(chat_id, "Buzzer Off")
else:
bot.sendMessage(chat_id, "Perintah tidak ditetapkan")
69
bot = telepot.Bot('5438731832:AAGnJAbxG2Kaemmspqf2kfxVUV6NT1fouH0')
bot.message_loop(handle)
print('Menunggu perintah ...')
while True:
# Perform the actual detection by running the model with the image as input
interpreter.set_tensor(input_details[0]['index'],input_data)
interpreter.invoke()
# Loop over all detections and draw detection box if confidence is above minimum threshold
for i in range(len(scores)):
if ((scores[i] > min_conf_threshold) and (scores[i] <= 1.0)):
object_name = labels[int(classes[i])] # Look up object name from "labels" array using class
index
70
cv2.rectangle(frame, (xmin,ymin), (xmax,ymax), (10, 255, 0), 2)
label = '%s: %d%%' % (object_name, int(scores[i]*100)) # Example: 'person: 72%'
labelSize, baseLine = cv2.getTextSize(label, cv2.FONT_HERSHEY_SIMPLEX, 0.7, 2)
# Get font size
label_ymin = max(ymin, labelSize[1] + 10) # Make sure not to draw label too close to
top of window
cv2.rectangle(frame, (xmin, label_ymin-labelSize[1]-10), (xmin+labelSize[0],
label_ymin+baseLine-10), (255, 255, 255), cv2.FILLED) # Draw white box to put label text in
cv2.putText(frame, label, (xmin, label_ymin-7), cv2.FONT_HERSHEY_SIMPLEX, 0.7,
(0, 0, 0), 2) # Draw label text
# WRITE IMAGE
cv2.imwrite("img/{}.jpg".format(currentTimezone), frame)
bot.sendPhoto(user1, photo=open("img/{}.jpg".format(currentTimezone), 'rb'))
flag = 1
else:
flag = 0
#print(flag)
# Draw framerate in corner of frame
cv2.putText(frame,'FPS:
{0:.2f}'.format(frame_rate_calc),(30,50),cv2.FONT_HERSHEY_SIMPLEX,1,(255,255,0),2,cv2.L
INE_AA)
# All the results have been drawn on the frame, so it's time to display it.
cv2.imshow('Object detector', frame)
# Calculate framerate
t2 = cv2.getTickCount()
time1 = (t2-t1)/freq
frame_rate_calc= 1/time1
# Press 'q' to quit
if cv2.waitKey(1) == ord('q'):
break
# Clean up
cv2.destroyAllWindows()
videostream.stop()
71
Lampiran H. Hasil Pengecekan Trunitin
72