• Tidak ada hasil yang ditemukan

MONITORING LAJU KENDARAAN BERBASIS IP CAMERA MENGGUNAKAN METODE HAAR TUGAS AKHIR RATIH ANEGTORI BEATRIX SITANGGANG

N/A
N/A
Protected

Academic year: 2021

Membagikan "MONITORING LAJU KENDARAAN BERBASIS IP CAMERA MENGGUNAKAN METODE HAAR TUGAS AKHIR RATIH ANEGTORI BEATRIX SITANGGANG"

Copied!
49
0
0

Teks penuh

(1)

MONITORING LAJU KENDARAAN BERBASIS IP CAMERA

MENGGUNAKAN METODE HAAR

TUGAS AKHIR

RATIH ANEGTORI BEATRIX SITANGGANG

182408069

PROGRAM STUDI D3 FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2021

(2)

MONITORING LAJU KENDARAAN BERBASIS IP CAMERA

MENGGUNAKAN METODE HAAR

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh gelar Ahli Madya

RATIH ANEGTORI BEATRIX SITANGGANG

182408069

PROGRAM STUDI D3 FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2021

(3)
(4)

ii

PERNYATAAN ORISINALITAS

MONITORING LAJU KENDARAAN BERBASIS IP CAMERA

MENGGUNAKAN METODE HAAR

TUGAS AKHIR

Saya menyatakan bahwa Tugas Akhir ini adalah hasil karya sendiri,

kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan

sumbernya.

Medan, Juli 2021

Ratih Anegtori Beatrix Sitanggang

182408069

(5)

iii

MONITORING LAJU KENDARAAN BERBASIS IP CAMERA

MENGGUNAKAN METODE HAAR

ABSTRAK

Judul penelitian ini adalah monitoring laju kendaraan berbasis ip camera menggunakan metode haar. Penelitian ini bertujuan untuk merancang suatu alat ukur kelajuan kendaraan dengan menggunakan IP Camera. IP Camera adalah jenis kamera video digital yang biasa digunakan untuk melakukan pemantauan keamanan dan dapat mengirim dan menerima data melalui jaringan komputer dan internet. Penelitian ini menggunakan metode haar cascade adalah salah satu algoritma yang digunakan untuk mendeteksi kendaraan. Algoritma tersebut mampu mendeteksi dengan cepat dan realtime sebuah benda termasuk kendaraan. Alat ini bekerja dengan menggunakan IP Camera sebagai input, kemudian input tersebut dihubungkan ke pc/laptop dalam satu jaringan menggunakan Wi-Fi. Kemudian video hasil rekaman IP Camera akan ditampilkan dan diolah. Lalu dilakukan pendeteksian kendaraan menggunakan metode haar cascade. Kemudian jarak dan waktu dihitung ketika kendaraan melewati garis pembatas yang pertama dan kedua. Selanjutnya, kelajuan kendaraan akan ditampilkan di dalam program dan Microsoft Excel.

Kata kunci : Bahasa Python, Haar Cascade, IP Camera, Kelajuan Kendaraan, Monitoring

(6)

iv

VEHICLE RATE MONITORING BASED ON IP CAMERA

USING HAAR METHOD

ABSTRACT

The title of this research is monitoring the speed of vehicles based on IP cameras using the Haar method. This study aims to design a vehicle speed measurement tool using an IP Camera. IP Camera is a type of digital video camera that is commonly used for security monitoring and can send and receive data through computer networks and the internet. This study uses the haar cascade method, which is one of the algorithms used to detect vehicles. The algorithm is able to quickly and real-time detect an object, including a vehicle. This tool works by using an IP Camera as input, then the input is connected to a PC/laptop in a network using Wi-Fi. Then the video recorded by the IP Camera will be displayed and processed. Then the vehicle is detected using the haar cascade method. Then the distance and time are calculated when the vehicle crosses the first and second dividing lines. Next, the speed of the vehicle will be displayed in the program and in Microsoft Excel.

(7)

v

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang, dengan limpah karunia-Nya penulis dapat menyelesaikan Tugas Akhir ini dengan judul ” Monitoring Laju Kendaraan Berbasis IP Camera Menggunakan Metode Haar.

Ucapan terimakasih penulis sampaikan kepada berbagai pihak yang telah banyak membantu penulis dalam menyelesaikan laporan praktik proyek ini yaitu Kepada:

1. Ibu Dr. Nursahara Pasaribu, M.Sc, selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

2. Bapak Drs.Takdir Tamba,M.Eng.Sc selaku Ketua Program Studi D-III Fisika Fakultas MIPA Universitas Sumatera Utara.

3. Bapak Tua Raja Simbolon, S.Si., M.Si. selaku Pembimbing yang telah membimbing dan mengarahkan Kepada Penulis dalam menyelesaikan Laporan Proyek.

4. Seluruh staf pengajar/Pegawai Program Studi Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

5. Kepada mendiang kedua orangtua penulis P. Sitanggang dan N. Manullang yang terkasih. Dan juga kepada saudara/i penulis yang telah memberikan motivasi, dana, dan moral kepada penulis.

6. Bang Nur Muhammad Fahmi yang telah memberikan bantuan berupa Ilmu dan Motivasi dalam menyelesaikan Laporan Proyek.

7. Rekan Fisika Instrumentasi D-III yang memberikan bantuan penulisan untuk menyelesaikan Laporan.

Medan, Juli 2021

(8)

vi

DAFTAR ISI

PENGESAHAN TUGAS AKHIR ... Error! Bookmark not defined.

PERNYATAAN ORISINALITAS ... ii

ABSTRAK ... iii

ABSTRACT ... iv

KATA PENGHARGAAN ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... ix BAB 1 PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Rumusan Masalah ... 2 1.3 Tujuan ... 2 1.4 Batasan Masalah ... 2 1.5 Sistematika Penulisan ... 3

BAB 2 LANDASAN TEORI ... 4

2.1 IP Camera... 4

2.1.1 Spesifikasi IP Camera ... 5

2.1.2 Instalasi IP Camera EZVIZ C1C Via Android ... 6

2.2 Real Time Streaming Protocol (RTSP) ...10

2.3 Python ...11

2.3.1 Kelebihan Python...12

2.3.2 Kekurangan Python ...13

2.3.3 Instalasi Python dalam paket Anaconda ...13

2.4 Metode Haar Cascade...16

2.5 OpenCV ...16

2.6 NumPy ...18

BAB 3 PERANCANGAN SISTEM ... 19

3.1 Metodologi Perancangan ...19

3.1.1 Tahap Perancangan Alat ...19

3.1.2 Tahap Perancangan Pemrograman Alat ...19

3.1.3 Tahap pengukuran, Analis dan Kesimpulan...19

3.2 Perancangan Sistem ...20

3.2.1 Diagram Blok Sistem ...20

3.2.2 Perancangan Setiap Blok Diagram ...21

3.2.3 Perancangan Perangkat Lunak Sistem ...23

3.3 Pengujian Komponen ...24

3.3.1 Pengujian IP Camera EZVIZ C1C ...25

3.3.2 Pengujian Video Stream IP Camera EZVIZ C1C di laptop ....25

3.3.3 Pengujian 2 Garis Vertikal sebagai Jarak pada IP Camera EZVIZ C1C ...26

(9)

vii

3.3.4 Pengujian Pendeteksian Kendaraan pada IP Camera EZVIZ

C1C ...26

3.3.5 Pengujian Waktu pada IP Camera EZVIZ C1C ...27

3.3.6 Pengujian Kelajuan Kendaraan pada IP Camera EZVIZ C1C 28 3.3.7 Pengujian Kelajuan Kendaraan pada Excel...29

BAB 4 PEMBAHASAN HASIL PENGUKURAN ... 31

4.1 Analisis Hasil Pengukuran dan Perbandingan dengan Hasil Alat Standar ...31

4.2 Analisis dan Pembahasan ...31

BAB 5 KESIMPULAN DAN SARAN ... 33

5.1 Kesimpulan ...33

5.2 Saran ...33

DAFTAR PUSTAKA ... 34

(10)

viii

DAFTAR GAMBAR

Gambar 2. 1 IP Camera CS-CIC-D0-1D2WFR ... 4

Gambar 2. 2 Pendaftaran Akun EZVIZ ... 7

Gambar 2. 3 Layar Utama Aplikasi EZVIZ ... 7

Gambar 2. 4 Konfigurasi Wi-Fi ... 8

Gambar 2. 5 Video Streaming di Aplikasi EZVIZ ... 8

Gambar 2. 6 Menu Tampilan Langsung LAN ... 9

Gambar 2. 7 Masukkan Nama dan Kata Sandi... 9

Gambar 2. 8 Konfigurasi Kamera ... 9

Gambar 2. 9 Tampilan VLC dengan URL ...10

Gambar 2. 10 Website untuk mengunduh Anaconda ...14

Gambar 2. 11 Pilihan platform ...14

Gambar 2. 12 Tampilan Starter Guide ...14

Gambar 2. 13 Tampilan License Agreement ...15

Gambar 2. 14 Instalasi Anaconda ...15

Gambar 2. 15 Tampilan command prompt Anaconda ...15

Gambar 2. 16 logo library OpenCV...17

Gambar 2. 17 Logo NumPy ...18

Gambar 3. 1 Diagram Blok ... 20

Gambar 3. 2 Hubungan antara adaptor dengan IP Cam ...21

Gambar 3. 3 Hubungan antara IP Cam dengan Wi-fi ...21

Gambar 3. 4 Hubungan antara laptop dan Wi-Fi...21

Gambar 3. 5 Hubungan antara IP Cam dengan tampilan video ...22

Gambar 3. 6 Hubungan antara laptop dengsn tampilan video ...22

Gambar 3. 7 Flowchart Sistem ...23

Gambar 3. 8 IP Camera EZVIZ C1C Siap Digunakan ...25

Gambar 3. 9 Tampilan Video Stream dari IP Camera EZVIZ C1C di Laptop ...25

Gambar 3. 10 Tampilan 2 Garis Vertikal sebagai Jarak pada IP Camera EZVIZ C1C di Laptop ...26

Gambar 3. 11 Tampilan Pendeteksian Kendaraan pada IP Camera EZVIZ C1C di Laptop ...27

Gambar 3. 12 Tampilan Waktu ketika Kendaraan Melewati 2 Garis Verikal (Jarak) pada IP Camera EZVIZ C1C di Laptop ...28

Gambar 3. 13 Tampilan Kelajuan Kendaraan pada IP Camera EZVIZ C1C di Laptop ...28

(11)

ix

DAFTAR TABEL

Tabel 2.1 Spesifikasi IP Cam ... 5

Tabel 2.2 Operasi Matematika ... 12

Tabel 3. 1 Kelajuan dan Waktu Kendaraan pada Excel ... 29

Tabel 4.1 Hasil pengukuran alat dan speedometer ... 31

(12)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Kecelakaan lalu lintas merupakan salah satu penyebab kematian ketiga terbesar di Indonesia setelah HIV/AIDS dan TBC. Jumlah kendaraan bermotor yang meningkat setiap tahunnya dan kelalaian manusia, menjadi faktor utama terjadinya peningkatan kecelakaan lalu lintas. Informasi Kepolisian RI menyebutkan, pada 2012 terjadi 109.038 kasus kecelakaan dengan korban meninggal dunia sebanyak 27.441 orang, dengan potensi kerugian sosial ekonomi sekitar Rp 203 triliun - Rp 217 triliun per tahun (2,9% - 3,1%) dari Pendapatan Domestik Bruto/PDB Indonesia). Sedangkan pada 2011, terjadi kecelakaan sebanyak 109.776 kasus, dengan korban meninggal sebanyak 31.185 orang. Salah satu faktor yang menyebabkan meningkatnya angka kecelakaan adalah pengemudi kendaraan yang memacu kendaraan dengan sangat cepat dan melebihi batas kelajuan yang ditentukan. Upaya yang telah dilakukan adalah dengan memasang kamera Closed Circuit Television (CCTV) pada tempat-tempat strategis sekitar jalan. Penggunaan kamera dalam metode ini dapat dimanfaatkan dengan menambahkan teknologi image processing di dalamnya. Adapun salah satu parameter yang dapat dipantau melalui sistem monitoring ini adalah kelajuan setiap kendaraan yang melewati jalan raya.

Teknologi image processing merupakan salah satu bidang riset yang berkembang pesat beberapa tahun belakangan ini. Kemunculan metode-metode pengenalan pola, bentuk benda, dan pengukuran berbasis pengolahan citra telah dimanfaatkan pada beragam aplikasi kehidupan. Untuk dapat menghitung kelajuan kendaraan yang melewati suatu jalan maka sistem harus mampu melakukan deteksi terhadap kendaraan yang terekam kamera.

Deteksi objek menggunakan fungsi Haar berdasarkan cascade classifier adalah metode deteksi objek Paul Viola dan Michael Jones. Pada tahun 2001, mereka mempresentasikan makalah yang disebut "Deteksi Objek Cepat Menggunakan Perangkat Tambahan Sederhana". Haar Cascade adalah kumpulan fungsi Haar-Like, yang digabungkan untuk membentuk pengklasifikasi. Fiturnya adalah jumlah nilai piksel putih yang dikurangkan dari nilai piksel pada area hitam.

(13)

2

Berdasarkan latar belakang ini maka dalam penelitian ini akan diimplementasikan pengolahan citra digital pada sistem pendeteksi kelajuan kendaraan. Deteksi gerakan merupakan subjek penting dalam bidang computer vision yang digunakan oleh banyak sistem pada aplikasi video pengawas, monitoring trafik, kompresi video, perhitungan kelajuan dan sebagainya. Oleh karena itu, judul dari tugas akhir ini adalah “ MONITORING LAJU KENDARAAN BERBASIS IP CAMERA MENGGUNAKAN METODE HAAR”.

1.2 Rumusan Masalah

Berdasarkan latar belakang tersebut maka dapat dirumuskan masalah sebagai berikut:

1. Bagaimana IP Camera dapat mengukur kelajuan kendaraan.

2. Bagaimana pengaruh intensitas cahaya dalam mengukur kelajuan kendaraan pada IP Camera.

3. Bagaimana persentase kesalahan program dalam mengukur kelajuan kendaraan.

1.3 Tujuan

Adapun tujuan dari penulisan praktik proyek ini adalah:

1. Untuk membuat alat ukur kelajuan kendaraan berbasis IP Camera. 2. Untuk memahami prinsip kerja IP Camera.

3. Untuk menggunakan bahasa Python untuk mengintegrasikan kerja alat ukur yang dibuat.

1.4 Batasan Masalah

Mengingat pembahasan dalam perancangan alat yang dibuat dapat meluas maka penulis mempunyai batasan masalah sebagai berikut :

1. Menggunakan IP Camera untuk menghitung kelajuan kendaraan.

2. Menggunakan tinggi IP Camera ke permukaan jalan 247 cm, jarak dari IP Camera ke jalan 732 cm, jarak yang diukur (yang dilalui kendaraan) 860 cm, dan intensitas cahaya 4154 lux.

3. Menggunakan bahasa Python sebagai bahasa pemrogramannya. 4. Mendeteksi kelajuan kendaraan satu arah.

(14)

3

1.5 Sistematika Penulisan

Untuk mempermudah penyusun laporan serta memahami tentang sistematika kinerja dari ALAT UKUR KELAJUAN KENDARAAN BERBASIS IP CAM, maka dalam hal ini penulis membagi dalam beberapa bab, serta memberikan gambaran secara garis besar isi dari tiap-tiap bab sebagai berikut :

BAB 1 : PENDAHULUAN

Bab ini berisikan pendahuluan yaitu membahas mengenai latar belakang, rumusan masalah, tujuan, batasan masalah, serta sistematika penulisan.

BAB 2 : LANDASAN TEORI

Bab ini merupakan landasan teori yang membahas tentang teori-teori yang mendukung dalam penyelesaian masalah.

BAB 3 : PERANCANGAN ALAT

Bab ini membahas tentang perncangan dan pebuatan sistem secara keseluruhan.

Bab 4 : HASIL DAN PEMBAHASAN

Berisi tentang uji coba alat yang telah dibuat, pengopersian dan spesifikasi alat danlain-lain.

BAB 5 : PENUTUP

Bab ini menjelaskan tentang kesimpulan dari pengujian dan saran masukan untuk mengembangkan dan melengkapi sistem yang sudah dibangun untuk masa yang mendatang.

(15)

4

BAB 2

LANDASAN TEORI

2.1 IP Camera

IP Camera adalah jenis kamera video digital yang biasa digunakan untuk pemantauan keamanan dan dapat mengirim dan menerima data melalui jaringan komputer dan internet. Walaupun webcam juga dapat melakukan hal ini namun istilah ” IP Camera” atau “Network Kamera” biasanya hanya digunakan untuk sistem pengawasan keamanan. Kamera Closed Circuit Television (CCTV) jenis ini berfungsi sebagai pemantauan keamanan yang data videonya dapat dikirim dan diterima melalui komputer dengan bantuan internet sebagai penyambungnya. IP Camera pertama kali digunakan pada tahun 1996. Beberapa keuntungan dari IP Camera diantaraya minimnya kabel-kabel untuk menghubungkan kamera ke monitor pengawas. Kamera ini juga tidak membutuhkan terlalu banyak biaya, dikarenakan hanya harus terhubung dengan Wireless Fidelity (Wi-Fi), kemudian hanya perlu melakukan penginstallan dan sudah bisa digunakan tanpa harus melakukan installasi terlebih dahulu yang membutuhkan kabel bermeter-meter.

Gambar 2. 1 IP Camera CS-CIC-D0-1D2WFR

Keuntungan selanjutnya yaitu, kamera mampu menangkap gambar sesuatu yang bergerak di depannya lantas mengirim gambar ataupun video ke e-mail pengguna, sehingga pengguna dapat mengawasi dimana saja dan dapat melakukan tindakan pencegahan terhadap kejahatan dengan lebih cepat. Kamera ini juga dibagi menjadi dua tipe, yaitu IP Camera terpusat dan IP Camera desentralisasi. Pada IP Camera terpusat diperlukan adanya Network Video Recorder (NVR) yang digunakan sebagai manajemen penyimpanan, perekaman dan juga alarm. Sedangkan IP Camera

(16)

5

desentralisasi tidak memerlukan Network Video Recorder (NVR) dikarenakan tipe ini memiliki fungsi perekam dan penyimpanan yang terpasang pada kamera, sehingga kamera mampu merekam dan langsung masuk pada media penyimpanan seperti NAS (Network Attached), SD Card, komputer ataupun server. (Angga R, 2019).

2.1.1 Spesifikasi IP Camera

Berikut adalah spesifikasi IP Camera yang digunakan Tabel 2. 1 Spesifikasi IP Camera

Name C1C 1080p Model CS-C1C-D0-1D2WFR Camera -Image Sensor -Shutter Speed -Lens -Lens Mount -Day & Night -DNR

-1/2.9" Progressive Scan CMOS -Self-adaptive shutter

-2.8mm, view angle:106° (Horizontal), 130°(Diagonal)

-M12

-IR-cut filter with auto-switching -3D DNR

Image

-Max. Resolution -Frame Rate

-1920 x 1080

-Max. 25fps; Self-adaptive during network transmission

Compression

-Video Compression -H.264 Type

-Video Bit Rate -Auto Bit Rate -Max. Bitrate

-H.264 -Main profile

-Ultra-HD; HD; Standard. Adaptive bit rate -Self-adaptive -2Mbps Network -Smart Alarm -Wi-Fi Pairing -Protocol -Motion detection -AP pairing

(17)

6

-Interface Protocol -General Features

-EZVIZ cloud proprietary protocol -Anti-Flicker, Dual-Stream, Heart Beat, Mirror Image, Password Protection, Watermark

Interface -Storage -Power

-Support Micro SD card (Max. 256G) -Micro USB Wi-Fi -Standard -Frequency Range -Channel Bandwidth -Security -Transmission Rate -IEEE802.11b, 802.11g, 802.11n -2.4 GHz ~ 2.4835 GHz -Supports 20MHz

-64/128-bit WEP, WPA/WPA2, WPA--PSK/WPA2-PSK -11b: 11 Mbps, 11g: 54 Mbps, 11n: 72 Mbps General -Requirements -Power Supply -Power Consumption -IR Range -Product Dimensions -Packaging Dimensions -Weight -- 10 - 45°C (14 - 113°F) Humidity 95% or less (non-condensing) -DC 5V±10% -Max. 4.0W -Max. 12 meters -64mm x 64mm x 103mm -123mm x 79mm x 125.5mm -96g

2.1.2 Instalasi IP Camera EZVIZ C1C Via Android

Instalasi IP Camera EZVIZ C1C Via Android dapat dilakukan sebagai berikut: Langkah 1: Nyalakan daya

- Colokkan kabel daya ke kamera dan ke adaptor daya lalu ke stop kontak daya. Ketika IP Camera EZVIZ C1C menyala ditandai dengan lampu indikator bewarna merah pekat yang artinya kamera sedang memulai.

(18)

7

- Tahan tombol RESET selama 5 detik saat kamera sedang berjalan, lalu kamera memulai ulang dan semua parameter di atur ulang ke pengaturan awal.

Langkah 2: Pengaturan kamera 1. Buat akun pengguna

- Sambungkan telepon seluler ke Wi-Fi

- Unduh dan pasang aplikasi EZVIZ dengan mencari “EZVIZ” di App Store dan Google Play.

- Buka aplikasi dan lakukan pendaftaran akun pengguna EZVIZ.

Gambar 2. 2 Pendaftaran Akun EZVIZ 2. Tambahkan kamera ke EZVIZ

- Masuk ke aplikasi EZVIZ

Gambar 2. 3 Layar Utama Aplikasi EZVIZ

- Dari layar utama aplikasi EZVIZ, klik tambah perangkat untuk membuka antarmuka pemindaian kode QR.

- Pindai kode QR yang terletak pada bagian bawah kamera.

(19)

8

Gambar 2. 4 Konfigurasi Wi-Fi

Jika indikator LED berkedip bewarna merah secara perlahan artinya sambungan Wi-Fi gagal.

Jika indikator LED berkedip bewarna biru secara cepat artinya kamera siap untuk sambungan Wi-Fi.

- Setelah tersambung ke Wi-Fi, tampilan ruangan akan muncul.

Gambar 2. 5 Video Streaming di Aplikasi EZVIZ

Jika indikator LED berkedip bewarna biru secara perlahan artinya kamera berjalan dengan baik.

Jika indikator LED bewarna biru pekat artinya video sedang ditampilkan atau diputar di aplikasi EZVIZ.

Connect IP Camera EZVIZ C1C ke PC/laptop

Sebelum IP Camera EZVIZ C1C dapat terhubung ke PC/laptop dilakukan langkah-langkah sebagai berikut:

- Mencari URL IP Camera EZVIZ C1C

(20)

9

Gambar 2. 6 Menu Tampilan Langsung LAN - Klik mulai memindai.

- Masukkan nama dan kata sandi akun.

Gambar 2. 7 Masukkan Nama dan Kata Sandi

- Konfigurasi

- Konfigurasi kamera

Gambar 2. 8 Konfigurasi Kamera

IP Camera EZVIZ C1C dapat terhubung ke PC/laptop melaui URL yang terdapat pada Gambar 2.7.

(21)

10

- Dari Gambar 2.7, terlihat IP Camera : 192.168.100.24 dengan informasi URL IP Camera EZVIZ C1C dari https://www.ispyconnect.com/man.aspx?n=EZVIZ - Sehingga URL untuk IP Camera EZVIZ C1C adalah

rtsp://admin:[email protected]/h264_stream

Untuk mengecek apakah URL tersebut sudah benar, dilakukan langkah berikut: - Buka VLC

- Klik media kemudian pilih buka stream jaringan, lalu ketik alamat URL rtsp://admin:[email protected]/h264_stream

Gambar 2. 9 Tampilan VLC dengan URL rtsp://admin:[email protected]/h264_stream

Klik play, jika muncul tampilan video, maka URL tersebut benar.

2.2 Real Time Streaming Protocol (RTSP)

RTSP merupakan sebuah protokol level aplikasi untuk kontrol atas pengiriman data dengan sifat real time. RTSP menyediakan kerangka extensible untuk mengaktifkan kendali pada pengiriman data real time, seperti audio dan video, dengan menggunakan Transmission Control Protocol (TCP) atau User Data Protocol (UDP). RTSP sangat banyak digunakan oleh industri pengembang teknologi streaming media, hingga saat ini untuk media player pada handphone dan smartphone telah terintegrasi dengan protokol RTSP. Media player pada handphone dan smartphone yang terintegrasi dengan protocol RTSP seperti pada vendor handphone dan smartphone, baik berbasis Java J2ME, Symbian maupun Android yang telah bergabung dengan project Helix Player DNA yang merupakan produk yang dikembangkan oleh Real Networks telah mampu memutar streaming media dengan format RA, RV, RM, H264/AAC, H263/AMR, MPEG-4/AAC dan

(22)

11

MPEG4/AMR secara langsung. Protokol yang dikembangkan pertama kali oleh Real Networks adalah protokol standard untuk pendistribusian streaming media. Port default yang digunakan adalah 544 (Ady Rombe.dkk,2019)

2.3 Python

Python adalah bahasa pemrograman interpretatif yang dianggap mudah dipelajari serta berfokus pada keterbacaan kode. Dengan kata lain, python diklaim sebagai bahasa pemrograman yang memiliki kode-kode pemrograman yang sangat jelas, lengkap, dan mudah untuk dipahami. Karena python dianggap memiliki kehebatan untuk menangani pembuatan aplikasi-aplikasi kekinian yang mengandung kata kunci big data, data mining, deep learning, data science, hingga machine learning. Dengan kata lain, python adalah bahasa pemrograman sederhana untuk pembuatan aplikasi berbasis kecerdasan buatan (artificial intelligence).

Python secara umum berbentuk pemrograman berorientasi objek, pemrograman imperatif, dan pemrograman funsional. Istilah lainnya, bahasa pemrograman multi-paradigma. Python dapat digunakan untuk berbgai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem operasi. Oleh karena itu, distribusi aplikasi yang dibuat menggunakan python sangat luas dan multi-platform. Beberapa platform yang mendukung python di antaranya: Linux/Unix, Windows, Mac OS X, Java Virtual Machine, OS/2, Amiga, Palm, dan Symbian (untuk produk-produk Nokia). Pada prinsipnya, python dapat diperoleh dan digunakan secara bebas oleh siapapun, bahkan bagi para developer yang menggunakan bahasa pemrograman ini untuk kepentingan komersial. Namun demikian, penggunaan packages atau module-module dari pihak ketiga, mungkin saja membutuhkan lisensi yang berbeda, misalnya lisensi berbayar. Python dikembangkan oleh Guido Van Rossum, programmer kelahiran Belanda, pada tahun 1991 di CWI, Amsterdam sebagai kelanjutan dari bahasa pemrograman ABC. Nama python dipilih oleh Guido sebagai nama ciptaannya karena kecintaan Guido pada acara televisi Monty Python’s Flying Circus. Saat ini pengembangan python terus dikordinir Guido dan Python Software Foundation. (Jubilee Enterprise,2019).

Python merupakan bahasa pemrograman yang bersifat open source, sehingga dapat digunakan tanpa berbayar. Python juga menyediakan berbagai macam package

(23)

12

index yang dapat diunduh di https://pypi.python.org/pypi. Package index ini dapat digunakan untuk berbagai macam keperluan, misalkan text processing, database, multimedia, dan termasuk untuk permasalahan kecerdasan komputasional. Seperti halnya bahasa pemrograman yang lain, beberapa tipe data dasar yang dikenal dalam python adalah integer, float, string, boolean. Hanya saja di dalam python, tipe data ini tidak perlu dideklarasikan secara eksplisit. Suatu variabel langsung dapat digunakan, dan python akan secara otomatis mendefinisikan type data tersebut berdasarkan penggunaan variabel pertama kali.

Kecerdasan komputasional akan melibatkan beberapa operasi matematika, dan operasi-operasi ini telah disediakan oleh bahasa pemrograman python. Macam-macam operasi tersebutdapat dilihat pada tabel 2.1

Tabel 2. 2 Operasi Matematika

Operasi Syntax Contoh

Perkalian * 5*3 = 15 Penjumlahan + 4+6 = 10 Pembagian / 7/2 = 3,5 Pembagian Integer // 7//2 =3 Modulus % 7%2 = 1 Pangkat ** 7**2 = 49

Jika tedapat beberapa operasi matematika dalam satu syntax maka operasi tersebut akan dieksekusi sesuai dengan urutannya di dalam operator precedence, antara lain: parantheses, pangkat atau exponential, perkalian atau pembagian, penjumlahan atau pengurangan.(Indah S,2018).

2.3.1 Kelebihan Python

Adapun kelebihan bahasa pemrogrman python adalah sebagai berikut:

1. Python adalah bahasa pemrograman yang populer. Per september 2018, python berada di urutan ke-3 bahasa pemrograman yang paling populer di dunia.

2. Python relatif lebih mudah dipelajari dan digunakan dibandingkan bahasa pemrograman yang lain. Sintaksnya sederhana, mudah dibaca, dan diingat karena filosofi python sendiri menekankan pada aspek kemudahan dibaca

(24)

13

(readibility). Kode python mudah ditulis dan mudah dibaca, sehingga lebih mudah diperbaiki kalau ada kesalahan, dan juga muda untuk dipelihara. 3. Python merupakan bahasa multifungsi. Dengan python, anda mudah

mengembangkan sebuah produk, baik itu web, software, aplikasi web, maupun vidio game, robotika, data mining, sampai dengan kecerdasan buatan. Anda juga bisa membuat aplikasi berbasis desktop maupun berbasis smartphone.

4. Penulisan kode lebih efisien dibandingkan bahasa lain seperti C, C++, maupun Java. Untuk melakukan sesuatu dengan 5 baris kode pada bahasa lain, bisa jadi di python hanya diperlukan 1 baris kode. Hal ini menyebabkan pembuatan program dalam python menjadi lebih ringkas dan lebih cepat dibandingkan bahasa lain.

5. Python kaya akan dukungan library (pustaka) standar. Tersedia banyak sekali modul-modul dan ekstensi program yang sudah siap dipakai untuk membuat program sesuai kebutuhan.

2.3.2 Kekurangan Python

Adapun kekurangan python adalah sebagai berikut:

1. Beberapa penugasan terdapat di luar jangkauan kemampuan python. Seperti bahasa pemrograman dinamis lainnya, python tidak secepat atau seefisien sebagai statis, tidak seperti bahasa pemrograman C.

2. Python cukup baru untuk pengembangan platform mobile (android/ios). 3. Python merupakan interpreter sehingga bukan perangkat bantu terbaik untuk

pengantar komponen kinerja kritis. Jadi, python bukan pilihan yang baik untuk tugas-tugas intensif memori.

4. Hampir mustahil untuk membuat game 3D grafis tinggi menggunakan python.

5. Memiliki keterbatasan dengan akses basis data.

2.3.3 Instalasi Python dalam paket Anaconda

Langkah pertama sebelum memprogram adalah melakukan instalasi bahasa pemrograman. Salah satu paket pengelolaan yang mendistribusikan python secara

(25)

14

free dan open-source adalah Anaconda. Langkah-langkah instalasi Anaconda sebagai berikut:

1. Buka laman github.com/wiradkp. Laman ini menyediakan paket Anaconda untuk diunduh secara bebas.

Gambar 2. 10 Website untuk mengunduh Anaconda

2. Terdapat beberapa menu, pilih Repositories. Pada menu repositories klik supervised_learning.

Gambar 2. 11 Pilihan platform

3. Setelah itu ikuti starter Guide yang ada pada laman tersebut dan download materi yang akan digunakan.

(26)

15

4. Setelah itu lakukan instalasi Miniconda. Saat tampilan License Agreement, Pilih I Agree

Gambar 2. 13 Tampilan License Agreement 5. Kemudian tunggu sampai proses intalasi selesai

Gambar 2. 14 Instalasi Anaconda

6. Setelah proses instalasi selesai, lakukan cek hasil. Paket anaconda akan tampil pada start menu. Lakukan cek package, dengan masuk melalui command prompt Anaconda kemudian ketik conda. Jika muncul tampilan seperti dibawah berarti instalasi berjalan dengan baik.

(27)

16

2.4 Metode Haar Cascade

Deteksi objek menggunakan fungsi Haar berdasarkan cascade classifier adalah metode deteksi objek Paul Viola dan Michael Jones. Pada tahun 2001, mereka mempresentasikan makalah yang disebut "Deteksi Objek Cepat Menggunakan Perangkat Tambahan Sederhana". Haar Cascade adalah kumpulan fungsi Haar-Like, yang digabungkan untuk membentuk pengklasifikasi. Fiturnya adalah jumlah nilai piksel putih yang dikurangkan dari nilai piksel pada area hitam. Fungsi Haar-like-feature atau biasa disebut juga dengan Haar cascade classifier adalah fungsi persegi panjang (persegi) yang memberikan indikasi spesifik pada gambar. Pengklasifikasi Haar Cascade berasal dari gabungan piksel hitam dan piksel putih yang membentuk kotak. Umumnya, fungsi seperti haar digunakan untuk mendeteksi objek dalam gambar digital. Kata Haar sendiri dinyatakan sebagai fungsi matematika dalam bentuk kotak (wavelet Haar). Awalnya, pengolahan citra hanya didasarkan pada nilai RGB dari setiap piksel, tetapi cara pengolahan seperti itu tidak efektif. Kemudian, Viola dan Jones mengembangkan dan membentuk fungsi Haar-Like. Fitur Haar-like menangani gambar dalam kotak, di mana ada beberapa piksel dalam satu bingkai. Kemudian proses setiap kotak dan hasilkan nilai yang berbeda untuk menunjukkan area gelap dan terang. Nilai-nilai ini akan digunakan sebagai dasar untuk pengolahan citra.(Galang.dkk, 2021).

2.5 OpenCV

OpenCV merupakan singkatan dari Open Source Computer Vision adalah sustu library yang dikhususkan untuk melakukan penglihatan komputer secara real time/waktu sebenarnya yang dikembangkan oleh pusat penelitian Intel di Nizhny Novgorod, Rusia. Penggunaan/pemanfaatan library OpenCV ini tanpa di kenakan biaya, bila kita ingin menggunakaannya kita tidak perlu melakukan proses crack, karena library OpenCV ini sudah dirilis/diterbitkan dibawah lisesnsi BSD atau singkatan dari Barkeley Software Distribution. Kata open pada library OpenCV adalah open source yakni gratis., tidak berbayar, dapat di download oleh siapa saja. Sedangkan CV pada kata library OpenCV merupakan singkatan dari computer vision, dimana komputer yang digunakan untuk mengolah/mengerjakan image atau citra/gambar yang ditangkap oleh alat perekam seperti webcam atau kamera yang

(28)

17

dikonversi/di transformasi dari bentuk analog ke dalam bentuk digital lalu diolah di dalam komputer tersebut. Tujuan melakukan proses pengolahan image ini ada banyak, di antaranya yaitu untuk memperbaiki/menyempurnakan dari kualitas gambar atau untuk dilakukan proses identifikasi pada gambar.

Library OpenCV ini dapat dimanfaatkan dalam berbagai bahasa pemrograman, seperti bahasa pemrograman Python, Java, C++, C dan support dengan menggunakan Windows, Mac OS, iOS, Linux, dan juga oleh Android. Library OpenCV didesain untuk efisiensi komputasi dan dengan fokus yang kuat pada aplikasi real-time. Di seluruh dunia, library opencv ini sudah digunakan/dimanfaatkan lebih dari 47 ribu pengguna/user dan jumlah downloadnya diperkirakan telah melebihi dari 7 juta kali.

Cara kerja yang digunakan pada computer vision ini adalah dengan berusaha meniru cara kerja dari system penglihatan/visual manusia, dimana objek di dapat dengan menggunakan penglihatan mata dan selanjutnya citra yang ditangkap oleh mata diteruskan/dilanjutkan menuju otak. Di otak data citra yang didapat akan diinterpretasi/diklarifikasi atau diproses sehingga kita dapat memahami objek apa yang kita lihat. Selanjutnya hasil dari proses penglihatan tadi dapat digunakan untuk mengambil langkah maupun suatu keputusan/kesimpulan selanjutnya, misalkan tersenyum saat berpapasn/berhadapan dengan seorang cewek yang kita taksir, sehingga computer vision ini termasuk/tergolong kedalam kecerdasan buatan atau biasa disebut dengan artificial intelligence. Tujuan dari ini adalah bagaimana si komputer dapat melihat dan juga membedakan objek a dengan objek b dari apa yang dilihatnya. (Nisa dan Miftahul,2020).

(29)

18

2.6 NumPy

Gambar 2. 17 Logo NumPy

NumPy adalah library python yang digunakan para data scientist. Berguna untuk mengolah data numerical. NumPy merupakan singkatan dari Numerical Python ialah salah satu library teratas yang dilengkapi dengan sumber daya yang berfungsi untuk menolong para data scientist merubah python menjadi suatu alat analisis dan juga pemodelan ilmiah yang kuat. Library Open source terpopuler/terkenal ini ada di bawah lisensi BSD. Library open source ini merupakan suatu pustaka python dasar untuk melakukan tugas yaitu dalam hal komputasi ilmiah. NumPy adalah bagian dari ekosistem berbasis python yang lebih besar dari tool open source yang disebut SciPy. NumPy merupakan singkatan dari Numerical Python merupkan suatu library python yang fokus/inti pada bahasan scientific computing, NumPy mempunyai kemampuan/kekuatan untuk membentuk suatu objek N-dimensional array, yang hampir sama dengan list pada python. Keunggulan dari NumPy array dibandingkan dengan keunggulan list pada python yaitu penggunaan memory yang lebih kecil dan juga runtime yang lebih cepat. NumPy juga memudahkan kita pada aljabar linear, terutama operasi pada vector (1-d array) dan Matrix (2-d array). Perpustakaan memberdayakan python dengan struktur/bagan data substansi untuk mudah melaksanakan perhitungan multi-dimensional arrays dan juga pada perhitungan matriks. Selain penggunaannya dalam menyelesaikan persamaan aljabar linier (linear algebra equations) dan perhitungan matematis lainnya, NumPy juga digunakan sebagai wadah multi-dimensi serbaguna untuk berbagai jenis data generik. Lebih bagusnya, library NumPy menyatu dengan bahasa pemrograman C, C++, dan juga FORTRAN. Kelenturan perpustakaan dari library NumPy mengharuskannya untuk dengan mudah cepat berintegrasi dengan berbagai database dan juga berbagai tools. (Nisa dan Miftahul,2020).

(30)

19

BAB 3

PERANCANGAN SISTEM

3.1 Metodologi Perancangan

Metode perancangan yang digunakan adalah metode perancangan sistem berjalan melalui tahap pembuatan flowchart yang dirancang sesuai alat yang yang akan dibuat. Perancangan alat menggunakan konsep diagram blok. Metode ini dimaksudkan untuk mengetahui bagaimana melakukan pembuatan dan perancangan alat yang saling terhubung.

3.1.1 Tahap Perancangan Alat

Dalam perancangan ini, komponenya berupa IP Camera dan PC/Laptop. Keduanya dihubungkan secara wireless. IP Camera berada di pasang pada ketinggian 247 cm dari permukaan tanah dan 732 cm dari objek yang dideteksi.

3.1.2 Tahap Perancangan Pemrograman Alat

Dalam perancangan pemrograman ini, program yang digunakan adalah python. Python akan menghubungkan IP Camera dan PC/Laptop secara wireless dan python akan digunakan untuk mengolah citra sehingga didapatkan pengukuran yang diinginkan.

3.1.3 Tahap pengukuran, Analis dan Kesimpulan 1. Tahap Pengukuran

- Pengukuran ketinggian IP Camera terhadap permukaan tanah - Pengukran jarak IP Camera terhadap kendaraan yang diukur

kelajuannya

- Pengukuran jarak objek yang dilewati - Pengukuran intensitas cahaya

2. Tahap Analisis

Melakukan perbandingan hasil pengukuran dengan hasil perhitungan. Kemudian dihitung persentase kesalahan dari pengukuran alat tersebut.

3. Kesimpulan

(31)

20

3.2 Perancangan Sistem

3.2.1 Diagram Blok Sistem

Untuk mempermudah perancangan sistem diperlukan sebuah diagram blok sistem yang mana tiap blok mempunyai fungsi dan cara kerja tertentu. Adapun diagram blok dari sistem yang dirancang adalah sebagai berikut.

Gambar 3. 1 Diagram Blok Adaptor IP Cam Tampilkan video Membuat garis vertikal sebagai jarak Deteksi kendaraan Menghitung kelajuan kendaran Menampilkan kelajuan kendaraan Wi-Fi PC/Laptop

(32)

21

3.2.2 Perancangan Setiap Blok Diagram 1. Perancangan Adaptor dengan IP Cam

Perancangan ini melalui Adaptor sebagai sumber tegangan DC yang akan memberikan tegangan bagi IP Camera. Sebuah rangkaian yang berguna untuk mmengubahtegangan AC yang tinggi menjadi DC yang rendah.

Gambar 3. 2 Hubungan antara adaptor dengan IP Cam

2. Perancangan IP Cam dengan Wi-Fi

Perancangan ini menggunakan Wi-Fi sebagai jaringan nirkabel yang akan menghubungkan IP Cam dengan komponen lainnya dalam satu jaringan.

Gambar 3. 3 Hubungan antara IP Cam dengan Wi-fi

3. Perancangan Wi-Fi dengan laptop

Perancangan ini menggunkan laptop untuk menghubungkan Wi-Fi dengan IP Cam.

Gambar 3. 4 Hubungan antara laptop dan Wi-Fi

220V

Adaptor 5V, 1A

(33)

22

4. Hubungan IP Cam dengan tampilan video

Perancangan ini akan mengolah video hasil rekaman IP Cam dengan metode Haar untuk mendeteksi kelajuan kendaraan yang akan ditampilkan di excel.

Gambar 3. 5 Hubungan antara IP Cam dengan tampilan video

5. Hubungan Laptop dengan tampilan video

Perancangan ini menentuan jarak dan waktu dihitung ketika kendaraan melewati garis pembatas pertama dan kedua. Jarak dan waktu adalah variabel yang digunakan untuk menghitung kelajuan kendaraan. Selanjutnya, kelajuan akan ditampilkan di dalam program dan microsoft excel.

Gambar 3. 6 Hubungan antara laptop dengsn tampilan video

860 cm Kelajuan : km/jam Waktu : detik 860 cm Kelajuan : km/jam Waktu : detik

(34)

23

3.2.3 Perancangan Perangkat Lunak Sistem

Mulai Nyalakan IP Camera Streaming IP Camera Streaming IP Camera sudah tampil? Tetapkan 2 garis vertikal sebagai jarak

Deteksi kendaraan

Kendaraan terdeteksi?

Simpan waktu saat kendaraan melewati garis vertikal pertama

Simpan waktu saat kendaraan melewati garis vertikal kedua

Selisihkan kedua waktu

Hitung kelajuan kendaraan Tampilkan kelajuan kendaraan dalam Excel

Selesai Tidak

Ya

Tidak

Ya

(35)

24

Mulai menyalakan ip camera di tandai dengan berkedipnya led warna biru, kemudian ip camera akan melakukan streaming. Streaming dilakukan untuk mengetahui apakah video stream sudah tampil di laptop atau belum. Jika hasil video stream belum tampil maka akan dilakukan streaming ulang, dan jika hasil stream sudah tampil selanjutnya di dalam program python dibuat dua garis vertikal sebagai jarak. Untuk mendeteksi kendaraan dengan cara mengubah citra menjadi grayscale, kemudian citra akan dihaluskan menggunakan metode Gaussian. Kemudian Haar like features akan menandai kendaraan dengan cara memberi pola rectangular (persegi) features, yang memberikan indikasi secara spesifik pada sebuah gambar atau image. Kemudian dilakukan Integral image untuk menentukan reperesentasi citra baru yang digunakan untuk untuk menentukan ada atau tidaknya dari fitur haar pada sebuah gambar secara efisien. Setelah itu Adaboost machine learning akan digunakan untuk menentukan fitur-fitur yang spesifik yang akan digunakan untuk mengatur nilai ambang (threshold), Dalam proses pembentukan classifier kuat dilakukan penambahan bobot terhadap classifier lemah dan digabungkan untuk mengevaluasi bagian citra mengandung objek atau tidak. Kemudian Cascade classifier digunakan untuk menentukan metode klasifikasi bertingkat dengan menggunakan fitur yang diseleksi dengan menggunakan algoritma Adaboost, cascade classifier memiliki beberapa tingkatan dalam melakukan klasifikasi, pada setiap tingkatan dipisahkan antara subcitra yang mengandung gambar positif (gambar yang memiliki objek yang diinginkan) dengan gambar negatif (gambar yang tidak memiliki objek yang diinginkan), dimana bagian subcitra yang tidak mengandung objek positif akan ditolak sedangkan subcitra yang mengandung objek akan dijadikan input pada tingkatan klasifikasi berikutnya dengan kriteria penyaringan yang lebih spesifik hingga didapatkan subcitra yang merupakan objek yang terdeteksi. Jika kendaraan tidak terdeteksi maka akan dilakukan pendeteksian kendaraan lagi tapi jika kendaran terdeteksi maka waktu saat kendaraan melewati garis vertikal pertama yang dibuat akan disimpan. Lalu waktu saat kendaraan melewati garis vertikal kedua juga akan disimpan. Setelah itu selisih kedua waktu akan diproses dan kelajuan kendaraan akan dihitung kemudian hasil dari kelajuan kendaraan akan ditampilkan dalam excel. Selesai.

(36)

25

3.3 Pengujian Komponen

3.3.1 Pengujian IP Camera EZVIZ C1C

Pengujian IP Camera EZVIZ C1C bertujuan untuk mengetahui apakah IP Camera EZVIZ C1C sudah dapat digunakan sebagai input video atau belum dapat digunakan. Jika indikator LED IP Camera EZVIZ C1C bewarna merah, artinya IP Camera EZVIZ C1C belum dapat digunakan. Tetapi jika indikator LED IP Camera EZVIZ C1C bewarna biru, artinya IP Camera EZVIZ C1C sudah dapat digunakan.

Gambar 3. 8 IP Camera EZVIZ C1C Siap Digunakan

3.3.2 Pengujian Video Stream IP Camera EZVIZ C1C di laptop

Pengujian video stream dari IP Camera EZVIZ C1C di laptop dilakukan untuk mengetahui apakah video stream sudah tampil di laptop atau belum. Video stream IP Camera EZVIZ C1C dapat diakses dengan terlebih dahulu mengetahui URL stream pada IP Camera EZVIZ C1C tersebut.

Kemudian python akan membaca video stream yang ada pada alamat cam tersebut. Untuk mengindari kesalahan ataupun lag saat menampilkan video stream, ukuran layar kan disesuaikan dalam hal ini akan diperkecil sebesar 0,5 kalinya.

Gambar 3. 9 Tampilan Video Stream dari IP Camera EZVIZ C1C di Laptop cam=cv2.VideoCapture("rtsp://admin:[email protected]/h264_ stream")

ret,img=cam.read()

(37)

26

3.3.3 Pengujian 2 Garis Vertikal sebagai Jarak pada IP Camera EZVIZ C1C

Setelah menampilkan video stream IP Camera EZVIZ C1C di laptop yang dapat diakses dengan mengetahui URL stream pada IP Camera EZVIZ C1C tersebut, langkah selanjutnya adalah memberi program pada python untuk membuat dua garis vertikal sebagai jarak dengan perintah:

Dengan bx1=200, by=2000, by2=10, ax1=1000, ay=1000, dan ay2=10.

Gambar 3. 10 Tampilan 2 Garis Vertikal sebagai Jarak pada IP Camera EZVIZ C1C di Laptop

3.3.4 Pengujian Pendeteksian Kendaraan pada IP Camera EZVIZ C1C Setelah menampilkan video stream IP Camera EZVIZ C1C dan menampilkan 2 garis vertikal sebagai jarak, langkah selanjutnya adalah memberi program pada python agar dapat mendeteksi kendaraan yang melewati area IP Camera EZVIZ C1C dengan perintah:

Selanjutnya, menjadikannya hitam dan putih (gray).

Mendeteksi kendaraan, dengan menghasilkan nilai x dan y (koordinat titik pojok kiri atas wajah), nilai w (width = lebar kotak) dan h (height = tinggi kotak).

Menggambar ROI (Region Of Interest) dalam bentuk kotak warna biru tua sesuai dengan koordinat dan dimensinya (nilai x,y,w,h):

cv2.line(img,(bx1,by),(bx1,by2),(255,0,0),2) cv2.line(img,(ax1,ay),(ax1,ay2),(255,255,0),2)

car_cascade = cv2.CascadeClassifier(‘haar.html’)

gray = cv2.cvtColor(blurred, cv2.COLOR_BGR2GRAY)

(38)

27

Gambar 3. 11 Tampilan Pendeteksian Kendaraan pada IP Camera EZVIZ C1C di Laptop

3.3.5 Pengujian Waktu pada IP Camera EZVIZ C1C

Pengujian waktu adalah waktu dimana program akan mengurangkan ketika kendaraan yang terdeteksi melewati garis biru tua dengan ketika kendaraan yang terdeteksi melewati garis biru muda. Untuk kendaraan yang terdeteksi melewati garis biru tua, catat waktu:

Untuk kendaraan yang terdeteksi melewati garis biru muda, catat waktu lalu kurangkan kedua waktu tersebut:

Lalu tampilkan waktu dalam satuan detik: cv2.rectangle(img,(x,y),(x+w,y+h),(0,0,255),2)

cv2.circle(img,(int((x+x+w)/2),int((y+y+h)/2)),1,(0,255,0),-1)

cv2.line(img,(bx1,by),(bx1,by2),(255,0,0),2) tim1= time.time()

cv2.line(img,(ax1,ay),(ax1,ay2),(255,255,0),2) total_time= time.time() - tim1

cv2.putText(frame1, "Waktu: " + str(total_waktu)+"detik", (10, 100), cv2.FONT_HERSHEY_SIMPLEX, 1,(0, 0, 0), 2)

(39)

28

Gambar 3. 12 Tampilan Waktu ketika Kendaraan Melewati 2 Garis Verikal (Jarak) pada IP Camera EZVIZ C1C di Laptop

3.3.6 Pengujian Kelajuan Kendaraan pada IP Camera EZVIZ C1C

Pengujian kelajuan kendaraan dapat dilakukan setelah proses pengujian waktu.

Dengan speed_cal adalah:

Kelajuan akan diolah ke dalam persamaan (8.600*3600)/(time*1000) yang sudah dikonversikan ke dalam km/jam (jarak 8,6 meter). Kemudian “Kelajuan” di tampilkan dalam km/jam.

Gambar 3. 13 Tampilan Kelajuan Kendaraan pada IP Camera EZVIZ C1C di Laptop cv2.line(img,(ax1,ay),(ax1,ay2),(255,255,0),2) kelajuan=speed_cal((datetime.datetime.now()-tim1).total_seconds()) kelajuan=speed_cal((datetime.datetime.now()-tim1).total_seconds()) def speed_cal(time): try: kelajuan = (8.600*3600)/(time*1000)

cv2.putText(frame1, "Kelajuan: " + str(kelajuan)+"km/jam", (10, 100), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 0), 2)

print(kelajuan) return kelajuan

(40)

29

3.3.7 Pengujian Kelajuan Kendaraan pada Excel

Pengujian kelajuan kendaraan pada Excel dapat dilakukan setelah semua pengujian sebelumnya berhasil dilakukan.

Tabel 3. 2 Kelajuan dan Waktu Kendaraan pada Excel

Diperlukan perintah melalui python untuk membuat tabel kelajuan kendaraan seperti pada Tabel 3.1 terlebih dahulu.

thin_border = Border(left=Side(border_style='dashed',color='FF000000'), right=Side(border_style='dashed',color='FF000000'), top=Side(border_style='thin',color='FF000000'), bottom=Side(border_style='thin',color='FF000000') ) thick_border = Border(left=Side(border_style='thin',color='FF000000'), right=Side(border_style='thin',color='FF000000'), top=Side(border_style='thin',color='FF000000'), bottom=Side(border_style='medium',color='FF000000') ) Double_border = Border(left=Side(border_style='dashed',color='FF000000'), right=Side(border_style='dashed',color='FF000000'), top=Side(border_style='double',color='FF000000'), bottom=Side(border_style='double',color='FF000000') ) fill_cell PatternFill(fill_type=fills.FILL_SOLID,start_color='FFFFFF',end_color='00FFFF00'

Waktu Kelajuan Kendaraan (km/jam) Sun Apr 18 17:55:09 2021 24,97828855

(41)

30 ) row_num=50 col_num=2 row_loc=0 col_loc=0 Table_num=1 dis=2 for _ in range(Table_num):

for i in range (row_loc,row_loc+row_num): for j in range (col_loc,col_num+col_loc):

ws.cell(row=i+1, column=j+1).border=thin_border if i ==row_loc: ws.cell(row=i+1, column=j+1).border=Double_border ws.cell(row=i+1, column=j+1).fill=fill_cell if i == row_loc+row_num-1: ws.cell(row=i+1, column=j+1).border=thick_border row_loc= row_loc+row_num+dis

Untuk ”Waktu” dan ”Kelajuan Kendaraan (km/jam)” sudah diisi terlebih dahulu kemudian di save dengan nama “Kelajuan Kemdaraan.xlsx”.

ws[“A1”]=”Waktu”

ws[“B1”]=”Kelajuan Kendaraan (km/jam)” wb.save("Kelajuan Kendaraan.xlsx”)

(42)

31

BAB 4

PEMBAHASAN HASIL PENGUKURAN

4.1 Analisis Hasil Pengukuran dan Perbandingan dengan Hasil Alat Standar Analisis yang dilakukan berupa analisa perbedaan antara pengujian kelajuan kendaraan yang diukur oleh kamera dan dengan menggunakan speedometer.

Tabel 4.1 Hasil pengukuran alat dan speedometer No Waktu Hasil Penelitian

(Km/Jam)

Speedometer (Km/Jam) 1 10:40 WIB 10,0104 km/jam 10 km/jam 2 10:41 WIB 15.0156 km/jam 15 km/jam 3 15:31 WIB 10,0104 km/jam 10 km/jam 4 15:33 WIB 6,00624 km/jam 6 km/jam 5 15:47 WIB 15;0156 km/jam 15 km/jam

4.2 Analisis dan Pembahasan

Pengukuran ini dialakukan sebanyak 5 kali. Berikut hasil pengukuran dan persentasi ralat:

Tabel 4.2 Hasil pengukuran dan persentasi ralat No Waktu Hasil Penelitian

(Km/Jam)

Speedometer (Km/Jam)

Ralat (%) 1 10:40 WIB 10,0104 km/jam 10 km/jam 0,104 % 2 10:41 WIB 15.0156 km/jam 15 km/jam 0,104 % 3 15:31 WIB 10,0104 km/jam 10 km/jam 0,104 % 4 15:33 WIB 6,00624 km/jam 6 km/jam 0,104 % 5 15:47 WIB 15;0156 km/jam 15 km/jam 0,104 %

(43)

32

Dari tabel di atas, maka hasil persentasi ralat dapat kita hitung:

1. % 104 , 0 % 100 10 0104 , 0 % 100 10 10 0104 , 10 % 100       x Kesalahan Persentase x Kesalahan Persentase x r Speedomete Kelajuan r Speedomete Kelajuan Penelitian Hasil Kesalahan Persentase 2. % 104 , 0 % 100 15 0156 , 0 % 100 15 15 0156 , 15 % 100       x Kesalahan Persentase x Kesalahan Persentase x r Speedomete Kelajuan r Speedomete Kelajuan Penelitian Hasil Kesalahan Persentase 3. % 104 , 0 % 100 10 0104 , 0 % 100 10 10 0104 , 10 % 100       x Kesalahan Persentase x Kesalahan Persentase x r Speedomete Kelajuan r Speedomete Kelajuan Penelitian Hasil Kesalahan Persentase 4. % 104 , 0 % 100 6 00624 , 0 % 100 6 6 00624 , 6 % 100       x Kesalahan Persentase x Kesalahan Persentase x r Speedomete Kelajuan r Speedomete Kelajuan Penelitian Hasil Kesalahan Persentase 5. % 104 , 0 % 100 15 0156 , 0 % 100 15 15 0156 , 15 % 100       x Kesalahan Persentase x Kesalahan Persentase x r Speedomete Kelajuan r Speedomete Kelajuan Penelitian Hasil Kesalahan Persentase

(44)

33

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. IP Camera dapat digunakan untuk mengukur kelajuan kendaraan dengan cara menggunakan IP Camera sebagai input kamera kemudian dihubungkan dengan WiFi ke pc/laptop, selanjutnya video hasil rekaman akan diolah dan dilakukan pendeteksian kendaraan menggunakan metode haar cascade. Penentuan jarak dan waktu dihitung ketika melawati garis pembatas pertama dan kedua. Selanjutnya hasil akan ditampilkan dalam program dan Microsoft Excel.

2. IP Camera dapat mengukur kelajuan kendaraan dengan baik pada siang hari karena intensitas cahaya tidak gelap ataupun terlalu terang. Kamera kurang baik bekerja ketika malam karena intensitas cahaya yang terlalu sedikit dan pagi hari karena intensitas cahaya yang terlalu banyak membuat kamera menjadi silau sehingga sulit untuk kamera mendeteksi objek yang lewat. 3. Dari hasil pengujian persentase kesalahan program dalam mengukur kelajuan

adalah kurang dari 0,104%.

5.2 Saran

1. Sistem pengukuran kelajuan kendaraan berbasis IP Camera ini dapat dikembangkan pada sistem dengan objek kendaraan yang lebih banyak. 2. Perlunya dilakukan penelitian lebih lanjut dengan sistem yang juga dapat

menangkap plat kendaraan yang melebihi batas kelajuan yang seharusnya. 3. Sistem pengukuran kelajuan kendaraan berbasis IP Camera ini hendaknya

dikembangkan sehingga dapat mengukur kelajuan kendaraan dengan dua arah yang berbeda.

(45)

34

DAFTAR PUSTAKA

Anarki G,Auliasari K,Orisa M,2021.Penerapan Metode Haar Cascade Pada Aplikasi Deteksi Masker.Jurnal Mahasiswa Teknik Informatika,5[1]:179-186.

Enterprise Jubilee.2019.Python Untuk Programmer Pemula.Jakarta: PT Elex Media Komputindo.

Fredianto AR, 2019.Rancang Bangun Modul Kamera Deteksi Kecepatan Kendaraan Menggunakan Nvidia Jatson Nano Dengan Metode Image Pixel Manipulation And Calculation. [Skripsi]. Jember: Universitas Jember, Program Strata 1. Harani Nisa N, Hasanah Miftaful.2020.Deteksi Objek Dan Pengenalan Karakter Plat Nomor Kendaraan Indonesia Berbasis Python.Bandung: Kreatif Industri Nusantara.

Herawati.2014.Karakteristik Dan Penyebab Kecelakaan Lalu Lintas Di Indonesia Tahun 2012.Warta Penelitian Perhubungan,26[3]:133-1421

Rombe AN, Aksara LM, Surimi L,2019.Analisis Perbandingan Real Time Streaming Protocol (RTSP) Dan Hypertext Transfer Protocol (HTTP) Pada Layanan Live Video Streaming.SemanTIK,5:149-156.

Siradjuddin, Indah A.2018.Kecerdasan Komputasional Dan Aplikasinya Dengan Menggunakan Python.Yogyakarta:Teknosain.

Wardana.2019.Belajar Pemrograman Dan Hacking Menggunakan Python.Jakarta:PT Elex Media Komputindo.

(46)

35

LAMPIRAN

Program Akhir

import cv2 import numpy as np import time import datetime import os import sys import pandas as pd

from openpyxl import Workbook

from openpyxl.styles import PatternFill, Border, Side, Alignment, Font, fills wb = Workbook() ws = wb.active bx1=200 by=2000 by2=10 ax1=1000 ay=1000 ay2=10 cam=cv2.VideoCapture('rtsp://admin:[email protected]/h264_stream') kendaraan = cv2.CascadeClassifier(‘kendaraan.html’) thin_border = Border(left=Side(border_style='dashed',color='FF000000'), right=Side(border_style='dashed',color='FF000000'), top=Side(border_style='thin',color='FF000000'), bottom=Side(border_style='thin',color='FF000000') ) thick_border = Border(left=Side(border_style='thin',color='FF000000'), right=Side(border_style='thin',color='FF000000'), top=Side(border_style='thin',color='FF000000'), bottom=Side(border_style='medium',color='FF000000')

(47)

36 ) Double_border = Border(left=Side(border_style='dashed',color='FF000000'), right=Side(border_style='dashed',color='FF000000'), top=Side(border_style='double',color='FF000000'), bottom=Side(border_style='double',color='FF000000') ) fill_cell = PatternFill(fill_type=fills.FILL_SOLID,start_color='FFFFFF',end_color='00FFFF00' ) row_num=50 col_num=2 row_loc=0 col_loc=0 Table_num=1 dis=2 for _ in range(Table_num):

for i in range (row_loc,row_loc+row_num): for j in range (col_loc,col_num+col_loc):

ws.cell(row=i+1, column=j+1).border=thin_border if i ==row_loc: ws.cell(row=i+1, column=j+1).border=Double_border ws.cell(row=i+1, column=j+1).fill=fill_cell if i == row_loc+row_num-1: ws.cell(row=i+1, column=j+1).border=thick_border row_loc= row_loc+row_num+dis ws["A1"] = "Waktu"

ws["B1"] = "Kelajuan Kendaraan (km/jam)" wb.save("Kelajuan Kendaraan.xlsx")

def speed_cal(waktu): try:

(48)

37

cv2.putText(frame1, "Kelajuan: " + str(kelajuan)+" km/jam", (10, 100), cv2.FONT_HERSHEY_SIMPLEX, 1,(0, 0, 0), 3) ws["D2"] = kelajuan wb.save("Kelajuan Kendaraan.xlsx") print("Kelajuan: " +str(kelajuan)+"km/jam") return kelajuan except ZeroDivisionError: print ("unknown")while True: ret,img=cam.read()

img = cv2.resize(img, None, fx = 0.5, fy = 0.5) if (type(img) == type(None)):

break

blurred = cv2.blur(img,ksize=(15,15))

gray = cv2.cvtColor(blurred, cv2.COLOR_BGR2GRAY) objek = kendaraan.detectMultiScale(gray, 1.1, 2)

cv2.line(img,(bx1,by),(bx1,by2),(255,0,0),2) cv2.line(img,(ax1,ay),(ax1,ay2),(255,255,0),2) for (x,y,w,h) in objek:

cv2.rectangle(img,(x,y),(x+w,y+h),(0,0,255),2)

cv2.circle(img,(int((x+x+w)/2),int((y+y+h)/2)),1,(0,255,0),-1) while int(ay) == int((y+y+h)/2):

t = datetime.datetime.now() waktu_pertama = t.strftime("%S") while int(ay) <= int((y+y+h)/2):

if int(by) <= int((y+y+h)/2)&int(by+10) >= int((y+y+h)/2): cv2.line(img,(bx1,by),(bx2,by),(0,255,0),2)

t2 = datetime.datetime.now() waktu_kedua = t2.strftime("%S")

waktu = int(t2.strftime("%S")) - int(t.strftime("%S")) kelajuan=speed_cal(waktu)

localtime=time.asctime(time.localtime(time.time())) ws["A2"] = localtime

(49)

38 cv2.imshow("Streaming",img) if(cv2.waitKey(1)==ord('q')): break cam.release() cv2.destroyAllWindows()

Gambar

Gambar 2. 5 Video Streaming di Aplikasi EZVIZ
Gambar 2. 6 Menu Tampilan Langsung LAN -  Klik mulai memindai.
Gambar 2. 9 Tampilan VLC dengan URL rtsp://admin:HILJKA@192.168.1.2/h264_stream
Tabel 2. 2 Operasi Matematika
+7

Referensi

Dokumen terkait

LSP - FPSB Indonesia akan menjaga kerahasiaan data pribadi setiap calon, namun dalam melaksanakan tugasnya LSP - FPSB Indonesia dapat—sepanjang tidak bertentangan

Tugas Akhir Penciptaan karya seni patung yang berjudul Visualisasi Lagu Efek Rumah Kaca Album “Sinestesia” Dalam Karya Patung , disadari bukan hanya sekedar syarat

Nilai Ekivalen Tetap (NET) dari suatu kejadian tak pasti adalah suatu nilai tertentu dimana pembuat keputusan merasa tidak berbeda antara menerima hasil yang dicerminkan

Karena banyaknya pihak yang berkepentingan dengan profesi akuntan publik, maka diharapkan dalam RUU ini juga mengakomodasi kepentingan pihak-pihak lainnya, oleh karena itu

bahwa dalam rangka meningkatkan disiplin dan wibawa serta motivasi kerja pegawai khususnya dalam hal tertib berpakaian dinas di lingkungan Pemerintah Kabupaten Sampang

Serta Limpahan rahmat dan salam semoga tetap tercurahkan kepada junjungan Nabi besar Muhammad SAW yang telah membimbing kita semua menuju arah kebenaran dan

Akan tetapi sebaliknya, penelitian oleh Muhe et al pada anak usia 2–59 bulan di rural Ethiopia, menunjukkan bahwa gejala demam saja, dengan menggunakan pemeriksaan

Pasal 33 UUD 1945 tersebut dipandang sebagai satu-satunya Pasal yang menunjuk pada sistem ekonomi dan menjadi asas dasar bagi perekonomian nasional 33 yang