• Tidak ada hasil yang ditemukan

VISKOMETER BERBASIS IP CAMERA MENGGUNAKAN METODE BACKGROUND SUBTRACTION LAPORAN TUGAS AKHIR HERA LEVINA M. SIMANJUNTAK

N/A
N/A
Protected

Academic year: 2021

Membagikan "VISKOMETER BERBASIS IP CAMERA MENGGUNAKAN METODE BACKGROUND SUBTRACTION LAPORAN TUGAS AKHIR HERA LEVINA M. SIMANJUNTAK"

Copied!
53
0
0

Teks penuh

(1)

VISKOMETER BERBASIS IP CAMERA MENGGUNAKAN METODE BACKGROUND SUBTRACTION

LAPORAN TUGAS AKHIR

HERA LEVINA M. SIMANJUNTAK 182408058

PROGRAM STUDI D3 FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2021

(2)

VISKOMETER BERBASIS IP CAMERA MENGGUNAKAN METODE BACKGROUND SUBTRACTION

LAPORAN TUGAS AKHIR

DIAJUKAN UNTUK MELENGKAPI TUGAS DAN MEMENUHI SYARAT MEMPEROLEH GELAR AHLI MADYA

HERA LEVINA M. SIMANJUNTAK 182408058

PROGRAM STUDI D3 FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2021

(3)

i

PERNYATAAN ORISINALITAS

VISKOMETER BERBASIS IP CAMERAMENGGUNAKAN METODE BACKGROUND SUBTRACTION

LAPORAN TUGAS AKHIR

Saya menyatakan bahwa laporan Tugas Akhir ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 15 Juli 2021

Hera Levina M. Simanjuntak 182408058

(4)

ii

(5)

iii

VISKOMETER BERBASIS IP CAMERA MENGGUNAKAN METODE BACKGROUND SUBTRACTION

ABSTRAK

Pada penelitian ini memiliki judul viskometer berbasis ip camera menggunakan metode background subtraction, bahan yang akan menjadi objek penelitian adalah Cairan gliserin dan air. Dimana yang akan diukur dari kedua objek tersebut adalah kelajuan dan kekentalan menggunakan bola padat, obejek yang akan diteliti akan menggukan ip camera. IP Camera adalah kamera video yang berisi en- coder video perangkat keras dan prosesor tertanam dengan antarmuka TCP / IP.

Dimana IP Camera dapat digunakan untuk mengukur kelajuan dengan cara IP Camera sebagai Input kamera dihubungkan dengan wi-fike Pc/laptop, kemudian video hasil rekaman akan diolah dan dilakukan pendeteksian bola menggunakan menggunakan background subtraction. Penentuan jarak dan waktu dihitung ketika bola melewati garis pembatas pertama dan kedua. Dengan mengandalkan perhitungan komputasi, hasil kelajuan dan kekentalan zat cair akan ditampilkan dalam program dan Microsoft Excel.

Kata kunci: IP Camera , Background Subtraction, Bahasa Phyton, Kekentalan Cairan

(6)

iv

VISCOMETER BASED ON IP CAMERA USING BACKGROUND SUBTRACTION METHOD

ABSTRACT

In this study the title of viscometer based on ip camera uses the background subtraction method, The materials that will be the object of research are glycerin and water. Where to be measured from the two objects is the speed and viscosity using a solid ball, the object to be studied will use an ip camera. An IP Camera is a video camera that contains a hardware video en-coder and an embedded processor with a TCP/IP interface. Where the IP Camera can be used to measure speed by means of an IP Camera as a camera input connected to a Wi-Fike PC / laptop, then the recorded video will be processed and the ball is detected using background subtraction. The determination of distance and time is calculated when the ball crosses the first and second dividing lines. By relying on computational calculations, the results of the velocity and viscosity of the liquid will be displayed in the program and Microsoft Excel.

Keywords: IP Camera, Background Subtraction, Python Language, Viscosity Fluid

(7)

v

KATA PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang, dengan limpah karunia-Nya penulis dapat menyelesaikan penyusunan laporan Tugas Akhir ini dengan judul Viskometer Berbasis IP Camera Menggunakan Metode Background Subtraction

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 Orangtua tercinta (Mikarita Novita Sinaga) yang telah memberikan semangat, motivasi, bantuan berupa dukungan moral dan material yang sangat membantu dalam menyelesaikan Laporan Proyek.

6 Bg Nur Muhammad Fahmi yang telah memberi bantuan berupa tenaga, ilmu dan motivasi dalam menyelesaikan tugas laporan proyek.

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

Medan,15 Juli 2021

Hera Levina M. Simanjuntak

(8)

vi

DAFTAR ISI

ABSTRAK...iii

ABSTRACT...iv

KATA PENGHARGAAN... v

DAFTAR ISI...vi

DAFTAR GAMBAR...viiiii

DAFTAR TABEL...viii

BAB 1 PENDAHULUAN ... Error! Bookmark not defined. 1.1 Latar BelakangError! Bookmark not defined. 1.2 Rumusan Masalah ... Error! Bookmark not defined. 1.3 Batasan Masalah ... Error! Bookmark not defined. 1.4 Tujuan ... Error! Bookmark not defined. 1.5 Manfaat ...3

1.6 Metode Penelitian...3

1.7 Sistematika Penulisan...4

BAB 2 LANDASAN TEORI ... 5

2.1 IP Camera ... 5

2.1.1 Spesifikasi IP Camera ... 6

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

2.3 Python ... 10

2.3.1 Bahasa Pemograman Phyton ... 10

2.3.2 Pemograman Dalam Bahasa Phyton ... Error! Bookmark not defined. 2.3.3Instalasi Python dalam paket Anaconda...Error! Bookmark not defined. 2.4 Backgrund Subtraktion ... Error! Bookmark not defined. 2.5 Viskositas ... Error! Bookmark not defined. BAB 3 PERANCANGAN SISTEM ... 20

3.1 Metode Perancangan...20

3.1.1 Tahap Perancangan Alat...20

3.1.2 Tahap Perancangan Pemrograman Alat...20

3.1.3 Tahap pengukuran, Analis dan Kesimpulan...20

3.2 Perancangan Sistem...21

3.2.1 Diagram Blok Sistem...21

3.2.2 Perancangan Setiap Blok Diagram...22

3.2.3 Perancangan Perangkat Lunak Sistem...24

3.3 Pengujian Komponen...25

3.3.1 Pengujian Video StreamIP Camera EZVIZ C1C dilaptop...25

3.3.2 Pengujian Video StreamIP Camera EZVIZ C1C dilaptop...26

3.3.3 Penguji 2 Garis Horizontal Sebagai Ketinggian Pada IP Camera EZVIZ C1C...26

3.3.4 Pengujian Pendeteksi Bola Pada IP Camera EZVIZ C1C...27

3.3.5 Pengujian Waktu pada IP camera EZVIZC1C...28

3.3.6 Penguji Kelajuan Bola Pada IP Camera EZVIZ C1C...29

(9)

vii

3.3.7 pengujian Kelajuan Bola Pada Excel...30

BAB 4 HASIL DAN PEMBAHASAN...36

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

4.2 Analisis dan Pembahasan...36

BAB 5 KESIMPULAN DAN SARAN ... 39

5.1 Kesimpulan ... 39

5.2 Saran ... 39

DAFTAR PUSTAKA ... 41

(10)

viii

DAFTAR GAMBAR

Gambar 2.1 Langkah Interpreter...10

Gambar 2.2 Langkah Compiler...10

Gambar 2.3 Website untuk mengunduh Anaconda...15

Gamabr 2.4 Pilihan platform...15

Gamabr 2.5 Tampilan Starter Guide...15

Gambar 2.6 Tampilan LicenseAgreement...16

Gambar 2.7 Instalasi Anaconda...16

Gamabr 2.8 Tampilan commandprompt Anaconda...16

Gambar 2.9 Pita Superdeformasi ...18

Gambar 2.10 Jumlah Energi dan Distribusi...19

Gambar 3.1 Diagram Blok...21

Gambar 3.2 Perancangan Antar Muka Adaptor dengan IP Cam...22

Gambar 3.3 Perancangan Antar Muka IP Camera dengan Wi-fi...22

Gambar 3.4 Perancangan Antar Muka PC/Laptop dengan Wi-fi...23

Gambar 3.5 Perancangan Antar Muka IP Camera dengan Tampilan Video...23

Gambar 3.6 Perancangan Antar Muka PC/Laptop dengan Tampilan Video...23

Gambar 3.7 Flowchart...24

Gambar 3.8 IP Cam EZVIZ C1C Siap Digunakan...25

Gambar 3.9 Tampilan Video Strean dari IP Camera EZVIZ C1C di Labtop...26

Gambar 3.10 Tampilan 2 Garis Horizontal Sebagai Ketinggian Pada IP Camera EZVIZ C1C di Labtop...26

Gambar 3.11 Tampilan Pendeteksian Bola Pada IP Camera EZVIZ C1C di labtop...28

Gambar 3.12 Tampilan Waktu Ketika Bola Melewati 2 Garis Horizantal (Ketinggian) pada IP Camera EZVIZ C1C di Labtop...29

Gambar 3.13 Tampilan Kelajuan Bola Pada IpCamera EZVIZ C1C di labtop...30

(11)

ix

DAFTAR TABEL

Tabel 2.1.1 Spesifikasi IP Camera ...8

Tabel 3.3.7 Kelajuan dan Waktu Bola pada Excel...30

Tabel 4.1 Hasil Pengukuran Alat...36

Tabel 4.2 Hasil Pengukuran dan Persentasi Alat...36

(12)

x

(13)

1 BAB I PENDAHULUAN

1.1 Latar Belakang

Pada bidang penindustrian kualitas produk sangatlah penting untuk diperhatikan dalam meningkatkan jumlah konsumen, dimana pihak penindustrian bagian minyak goreng dapat mengukur kualitas minyak goreng dari kekentalan yang dimiliki minyak goreng tersebut dengan cara melihat kelajuan cairan terebut. Untuk melihat kelajuan cairan ini diperlukan suatu alat ukur yang dapat mengukur kelajuan bola dalam zat cair. Alat ini secara otomatis akan dapat menghitung kelajuan bola dalam zat cair dengan akurat. Alat yang Perlu digunakan dalam mengukur kelajuan cairan ini adalah IP Camera, dimana IP Camera in akan merekam kelajuan bolaJatuh didalam zat cair sehingga akan menghasilkan tampilan video dan akan diolah dengan menggunakan metode background subtractor. Salah satu sifat dari zat cair adalah memiliki koefisien kekentalan yang berbeda-beda.Fluida yang lebih cair akan lebih mudah mengalir. Kecepatan aliran berbeda karena adanya perbedaan viskositas.

Besarnya viskositas dinyatakan dengan suatu bilangan yang menyatakan kekentalan suatu zat cair. Berdasarkan penelitian yang dilakukan Budianto (2008), telah diuji kekentalan air, minyak goreng, oli, serta pengaruh suhu terhadap kekentalan masing- masing cairan. Metode yang digunakan adalah metode bola jatuh. Dari penelitian menunjukan bahwa kekentalan air, minyak goreng, dan oli pada suhu 27°C berturut- turut yaitu (0,259±0,01) poise, (2,296±0,01) poise, (8,519±0,151) poise. Pada suhu 90oC nilai kekentalan air, minyak goreng, dan oli masing-masing adalah (0,234±0,013) poise, (1,353±0,048) poise, (1,492±0,043) poise, Penulis melihat bahwa dari percobaan-percobaan terdahulu tersebut semua percobaan masih menggunakan sistem pengambilan data yang manual, sehingga hasil yang diperoleh kurang akurat. Selain itu alat ukur viskositas yang saat ini beredar di masyarakat harganya sangat mahal sehingga kebanyakan hanya digunakan untuk kebutuhan industri. Untuk itu penulis mengadakan penelitian penentuan kelajuan bola jatuh di dalam cairan dengan IP Camera. Sebab itu, judul dari tugas proyek ini adalah

“ALAT UKUR KELAJUAN BOLA JATUH DI DALAM ZAT CAIR BERBASIS IP CAM”.

(14)

1.2 Rumusan Masalah

Berdasarkan latar belakang tersebut maka dapat dirumuskan masalah sebagai berikut:

1. Bagaimana prinsip kerja alat ukur kekentalan cairan menggunakan bola jatuh?

2. Bagaimana prinsip kerja IP Camera?

3. Bagaimana pengaruh jarak IP Camera dengan gelas ukur dan ketinggian bola saat dijatuhkan dalam mengukur kelajuan bola jatuh pada IP Camera?

1.3 Batasan Masalah

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

1. Menggunakan IP Camera untuk menghitung kelajuanbola jatuh pada zat cair.

2. Menggunakan intensitas cahaya 2845 lux, jarak IP Camera dengan gelas ukur16 cm,dari wadah yang berisi 900 ml zat cair,tinggi IP Camera 8 cm dari permukaan meja, dan ketinggian bola saat dijatuhkan 16 cm dari dasar gelas ukur.

3. Menggunakan bahasa python sebagai bahasa pemrogramannya.

1.4 Tujuan

1. Memahami prinsip kerja IP camera.

2. Memanfaatkan IP Camera sebagai alat untuk mendeteksi kelajuan bola jatuh dalam zat cair.

3. Menggunakan bahasa phyton untuk mengintegrasikan kerja alat ukur yang dibuat.

1.5 Manfaat

Manfaat dari penulisan Tiugas Akhir ini adalah : Untuk mengetahui kelajuan bola jatuh dalam zat cair

(15)

3

1.6 Metode Penelitian

Dalam menyelesaikan Tugas Akhir ini, langkah-langkah yang dilakukan adalah sebagai berikut :

1. Studi Literatur dan Diskusi

Merupakan metode yang dilakukan oleh penulis dengan membaca buku, diskusi dengan dosen pembimbing, mengunjungi dan mempelajari website atau situs-situs yang berhubungan dengan judul.

2. Perancangan Konsep

Metode perancangan desain dan bentuk alat ukur yang dilakukan penulis.

3. Perancangan dan Pembuatan Alat

Merupakan proses dalam membuat alat ukurnya.

4. Analisis dan Pengujian

Metode analisis dan Pengujian dimaksudkan untuk mengetahui sejauh mana alat yang dibuat pada tugas akhir ini dapat berfungsi sesuai dengan yang diharapkan

5. Penyusunan Laporan

Tahap akhir pada Tugas Akhir ini adalah penyusunan laporan dengan tahap- tahap diatas.

1.7 Sistematika Penulisan

Untuk mempermudah penyusun laporan serta memahami tentang sistematika kinerja dari VISKOMETER BERBASIS IP CAMERA MENGGUNAKAN

METODE BACKGROUND SUBTRACTION, 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.

(16)

BAB 3 : PERANCANGAN ALAT

Bab ini membahas tentang perncangan dan pebuatan sistem secara keseluruhan.

BAB 4 : PENGUJIAN DAN PEMBAHASAN

Bab ini membahas tentang uji coba alat yang telah dibuat, pengoperasian dan spesifikasi alat dan lain-lain.

BAB 5 : KESIMPULAN DAN SARAN

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

(17)

5 BAB II

LANDASAN TEORI

2.1 IP Camera

Kamera IP (IP Camera) adalah kamera video yang berisi en-coder video perangkat keras dan prosesor tertanam dengan antarmuka TCP / IP.Ini adalah unit yang berdiri sendiri yang dapat langsung dihubungkan ke internet tanpa memerlukan komputer terpisah.Ia juga memiliki server web built-in, yang menyediakan kemampuan untuk mengakses gambar digital dan mengkonfigurasi kamera. Keluaran digitalnya memungkinkan kamera diintegrasikan dengan mudah dengan berbagai aplikasi, termasuk pengawasan elektronik, atraksi web, dan pemantauan jarak jauh.Dalam aplikasi ini, IP Camera biasanya digunakan di lingkungan dengan lokasi dinamis. Tanpa informasi alamat IP statis, sulit mengakses server web yang terkait dengan IP Camera. Selain itu, untuk konsumen layanan, tidak mungkin selalu memiliki gambaran umum Lengkap atas aplikasi ini dan ketersediaannya.Dinamika jaringan terkini membuat proses ini semakin kompleks. Salah satu cara untuk mengatasi masalah tersebut adalah dengan menggunakan protokol service discovery, seperti SLP(Service Location Protocol), UPnP (Universal Plug-and-Play) dan Zeroconf. Di lingkungan penemuan layanan, IP Camera dan perangkat lain mengiklankan dirinya sendiri, memberikan detail tentang kemampuannya dan informasi yang harus diketahui seseorang untuk mengakses layanan misalnya, alamat IP.Namun demikian, protokol penemuan layanan yang ada hanya terbatas pada jaringan area lokal (LANS).Untuk banyak aplikasi IP Camera, diperlukan akses jarak jauh.Oleh karena itu, protokol yang efektif untuk layanan jarak jauh IP Camera diinginkan untuk aplikasi ini.Makalah ini mengusulkan kerangka kerja berbasis SIP (Session Initiation Protocol) baru, yang disebut STDP(Service Trader Discovery Protocol), untuk akses jarak jauh IP Camera.SIP adalah protokol yang dikembangkan oleh IETF untuk membantu menyediakan layanan telepon lanjutan di internet. Pada dasarnya ini adalah protokol pensinyalan yang digunakan untuk membuat sesi dalam jaringan IP. Di SIP, lokasi klien dipertahankan dan diperbarui di server pencatat. Alamat IP dari node target dapat diperoleh dengan permintaan ke server, Meskipun penyebaranSIP langsung ke IP Camera dimungkinkan untuk

(18)

mengakses gambar digital, sejumlah modifikasi diperlukan. Untuk banyak aplikasi jaringan rumah.konfigurasi awal manusia yang mahal harus dihindari. Namun, penerapan SIP memerlukan penetapan pasangan unik SIP URI dan kata sandi untuk menyimpan cache IP Camera. Hal ini dapat mengakibatkan biaya pra-konfigurasi mannal yang tinggi jika peniru IP Cameraberukuran besar.Sebaliknya, tidak ada biaya pra-konfigurasi untuk protokol penemuan layanan yang ada yang mengizinkan akses hanya ke LAN.Oleh karena itu, tujuan STDP adalah untuk menyederhanakan / menghilangkan urusan administrasi yang terkait dengan akses jarak jauh.protokol untuk aplikasi IP Camera.Protokol STDP yang diusulkan adalah kombinasi hybrid dari protokol Zeroconf dan SIP.Protokol Zeroconf adalah protokol ringan yang mendukung penemuan layanan di LAN.Dibandingkan dengan protokol penemuan layanan lainnya, protokol ini membebankan biaya Zeroconf dapat digunakan dengan plug-and-play sederhana.Akibatnya, kombinasi hibrida memungkinkan akses jarak jauh IP Camera sambil menikmati biaya pra-konfigurasi yang rendah.Untuk mengimplementasikan STDP, SIP harus digunakan hanya pada satu node, disebut trader, di LAN.Ini menjamin biaya pra-konfigurasi minimal untuk sistem. Pedagang bertanggung jawab untuk mengumpulkan informasi layanan yang disediakan oleh semua node lain di LAN melalui protokol Zeroconf. Akses jarak jauh ke IP Cameraapa pun di LAN dapat dilakukan denganimplementasi minimal untuk sistem tertanam. IP Camera yang menggunakan protokol mengambil informasi layanan terlebih dahulu dari pedagang menggunakan SIP.Berdasarkan informasi tersebut, alamat IP dari semua IP Cameradi LAN dapat ditemukan. Node jarak jauh kemudian dapat mengakses server web yang terkait dengan IP Camera target berdasarkan informasi layanan yang diambil. Protokol STDP yang diusulkan telah diimplementasikan dalam lingkungan jaringan yang dinamis. Tes fisik mengungkapkan bahwa IP Camera yang mendukung hanya protokol Zeroconf sederhana dapat dengan mudah diakses oleh host jarak jauh. Oleh karena itu, protokol STDP yang diusulkan bermanfaat untuk berbagai aplikasi IP Camera yang memerlukan penerapan dinamis.(Rong,C, 2008)

2.1.1 Spesifikasi IP Camera

Name C1C 1080p

(19)

7

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

-Interface Protocol -General Features

-Motion detection -AP pairing

-EZVIZ cloud proprietary protocol -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 -IEEE802.11b, 802.11g, 802.11n

(20)

-Frequency Range -Channel Bandwidth -Security

-Transmission Rate

-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

Tabel 2.1.1 Spesifikasi IP Camera(Sumber: https://m.ezvizlife.com)

2.2 RTSP (Real TimeStreamingProtocol)

D-Link gencar mempromosikan kamera keamanan Internet nirkabel akhir- akhir ini, dengan DCS-2120 sebagai salah satu model terbaru mereka yang diluncurkan. Fitur paling unik yang dimiliki oleh sedikit kamera lain adalah dapat menempatkan video berformat MPEG-4 ke dalam wadah 3GPP, memungkinkan perangkat seluler apa pun yang terhubung ke Internet yang memiliki pemutar 3GPP (kebanyakan ponsel 3G dan Windows Mobile), untuk melihat video langsung dari kamera, terlepas dari lokasinya. Protokol "RTSP" digunakan untuk streaming video dan untuk smartphone Windows Mobile, pengguna bisa mendapatkan salinan gratis dari pemutar platform4 Philips dari situs web seperti www.pdagold.com. D-Link menyatakan bahwa sebagian besar ponsel dan perangkat PDA yang dilengkapi dengan koneksi Internet (Wi-Fi, GPRS, dll.), Serta pemutar RTSP dan 3GPP, seharusnya dapat melihat video streaming dari DCS-2120. Untuk menyiapkan perangkat, pengguna harus menghubungkan kamera ke komputer dengan Ethernet

(21)

9

kabel terlebih dahulu dan menginstal utilitas Wizard Instalasi yang terdapat pada CD produk. Dari sana, Anda dapat mengakses pengaturan konfigurasi baik dengan utilitas, atau melalui Internet Explorer. Kebetulan, pengguna harus menggunakan Internet Explorer untuk mengakses halaman konfigurasi web karena diperlukan Active X. CD juga menyertakan perangkat lunak Pengawasan IP yang dapat diinstal secara opsional jika Anda perlu mengelola dan memantau hingga 16 kamera D-Link dalam satu jaringan. Fitur lain dari kamera ini termasuk dukungan Wi-Fi (802.11g), 4X digital zoom, deteksi gerakan, empat resolusi berbeda untuk merekam video, mikrofon built-in untuk merekam audio, dan tentu saja dukungan DDNS. Layanan DDNS (Dynamic Domain Name Server) gratis seperti DynDNS.org menetapkan nama domain permanen ke alamat IP Internet yang sering berubah. Selain itu, hingga tiga zona deteksi gerakan dapat ditentukan dan diubah ukurannya. D-Link merekomendasikan pengaturan persentase sensitivitas tinggi dan pengaturan persentase rendah untuk memicu pengambilan snapshot dengan benar. Perekaman video berkelanjutan dapat dilakukan melalui folder bersama jaringan Windows yang diatur pada PC dan jadwal juga dapat diatur. Pengaturan video dan audio yang berbeda dapat dikonfigurasi secara terpisah untuk komputer atau situasi tampilan seluler. Saat kamera dihubungkan ke Ethernet dan pengaturan kualitas tetap diatur ke "Luar Biasa", gerakan tampak mulus, sedangkan untuk 802.11g nirkabel, pengaturan ke "Terperinci" menghasilkan gerakan yang lebih halus. Sensitivitas audio masih tidak dapat disesuaikan (sama seperti model D-Link sebelumnya), jadi apa pun yang berada di luar beberapa meter dari kamera akan sulit untuk didengar.

Jika anda berencana mengakses kamera dari perangkat seluler, ingatlah bahwa kamera akan memerlukan nama domain dinamis yang disiapkan, dengan port yang sesuai diteruskan oleh router Anda, dan untuk menambahkan live.sdp "ke URL di bagian akhir. (sebagai contoh, rtsp // camera.dyndns.org / live.sdp). Kami menguji beberapa ponsel dan mencoba menghubungkan ke kamera demonstrasi jarak jauh D- Link tetapi tidak berhasil. Hanya ketika kami mengetikkan URL RTSP ke pemutar media VLC kami di PC, kami berhasil melihat videonya. Jadi secara keseluruhan, jika Anda berencana untuk menggunakannya sebagai solusi keamanan seluler, penting untuk memeriksa di toko, jika memungkinkan, apakah model ponsel Anda berfungsi dengan kamera.(Chen, A, 2006)

(22)

2.3 Phyton

2.3.1 Bahasa PemogramanPhyton

Python merupakan salah satu contoh bahasa tingkat tinggi. Contoh lain bahasa tingkat tinggi adalah Pascal, C+, Perl, Java, dan sebagainya. Sedangkan bahasa tingkat rendah merupakan bahasa mesin atau bahasa assembly. Secara sederhana, sebuah komputer hanya dapat mengeksekusi program yang ditulis dalam bentuk bahasa mesin. Oleh karena itu, jika suatu program ditulis dalam bentuk bahasa tingkat tinggi, maka program tersebut harus diproses dulu sebelum bisa dijalankan dalam komputer. Hal ini merupakan salah satu kekurangan bahasa tingkat tinggi yang memerlukan waktu untuk memproses suatu program sebelum program tersebut dijalankan. Akan tetapi, bahasa tingkat tinggi mempunyai banyak sekali keuntungan. Bahasa tingkat tinggi mudah dipelajari, mudah ditulis, mudah dibaca, dan tentu saja mudah dicari kesalahannya. Bahasa disesuaikan dengan mesin yang menjalankannya. Hal ini berbeda dengan bahasa mesin yang hanya dapat digunakan untuk mesin tersebut. Dengan berbagai kelebihan ini, maka banyak aplikasi ditulis menggunakan bahasa tingkat tinggi. tingkat tinggi juga mudah diubah portabel untuk Proses mengubah dari bentuk bahasa tingkat tinggi ke tingkat rendah dalam bahasa pemrograman ada dua tipe, yakni interpreter dan compiler, Interpreter membaca program berbahasa tingkat tinggi kemudian mengeksekusi program tersebut. Hal ini berarti interpreter melakukan apa yang dikatakan dalam program tersebut, seperti terlihat pada Gambar 2.3.1 (a)

Gambar 2.1 Langka interpreter

Sedangkan compiler membaca menerjemahkannya secara keseluruhan, kemudian baru diesksekusi. Bisa juga mengkompile suatu program yang program dan merupakan bagian program lain. Dalam kasus ini, program tingkat tinggi ini dinamakan kode sumber (sourcecode) dan hasil terjemahan sering dinamakan objectcode atau executebleseperti terlihat pada Gambar 2.3.1 (b)

Gambar 2.2 Langkah Compiler

input interpreter output

Input compilar Objek kode

k

executor output

(23)

11

Sejarah bahasa pemrograman Pyhton dimulai pada awal 1990 dan diciptakan oleh Guido Van Rossum di StichtingMathematishCentrum (CWI), Belanda yang merupakan kelanjutan dari bahasa pemrograman ABC. Rilis terakhir Python dari CWI adalah versi 1.2 pada tahun 1995. Kemudian, Guido melanjutkan Python pada Corporation for National Research (CNRI) di Virginia. Python versi 1.6 merupakan versi terakhir yang dikembangkan oleh CNRI. Pada tahun 2000, Guido dan pengembang Python berpindah ke BeOpen.com dan hanya merilis satu versi, yakni 2.0. Kemudian, Guido pindah lagi ke Digital Creations. Kini Python merupakan perangkat lunak dengan lisensi di bawah PythonSoftwareFoundation yang merupakan bentuk nonprofit kedua setelah ApacheSoftwareFoundation. Python merupakan salah satu bahasa pemrograman tingkat tinggi dengan tipe bahasa interpreted karena program- program Python langsung dieksekusi oleh interpretertanpa harus melalui tahap kompilasi. Python dapat dijalankan dengan dua cara, yakni:

a. Mode command-line

Dengan mode ini, program dapat dilakukan dengan memanggil interpreter, kemudian memberi statementPython dan interpreter akan menampilkan hasil,Baris pertama dalam contoh di atas adalah perintah untuk memanggil interpreter Python.

Dua baris kemudian merupakan pesan dari interpreter yang menunjukkan versi dan informasi copyright, credit, dan lisensi-nya. Sedangkan baris keempat merupakan prompt interpreter yang menunjukkan bahwa interpreter siap menerima input. Dalam contoh di atas diberi inputprint 1+1, interpreter menghasilkan 2. Contoh lain: bash- 2.05b$ pythonPython 2.1.3 (#1, Apr 20 2002, 10:14:34) [GCC 2.95.4 20011002 (Debianprerelease)] on linux2 Type "copyright", "credits" or "license"

formoreinformation.

>>> 'A'<'E'

1

>>> 6>2

1

>>> 3>7 0

<<

(24)

Bisa juga melakukan pengujian, dalam hal ini menggunakan operator perbandingan.

Apabila ekspresi yang diuji benar, maka interpreter akan memberi hasil 1, sedangkan bila salah, maka interpreter memberi hasil 0.

b. Modescript

Adalah sebuah aplikasi yang mendukung fungsi-fungsi skripting di dalam sistem operasi Windows 2000, Windows NT Option Pack, Windows 98, Windows XP, dan Windows Vista yang mengizinkan para administrator untuk mengeksekusi skrip- skirp untuk beberapa tugas administratif, baik itu

menggunakan cscript.exe maupun wscript.exe . Windows Scripting Host ini mendukung banyak bahasa skrip, meski yang sering digunakan adalah VBScript dan JScript.WSH mengizinkan skrip-skrip tersebut agar dapat dijalankan secara langsung tanpa harus dimasukkan ke dalam dokumen HTML.Selain VBScript dan JScript, kita juga dapat menambahkan bahasa skrip lainnya seperti Perl atau REXX.

2.3.2 Pemograman Dalam Bahasa Phyton

program adalah urut-urutan instruksi untuk menjalankan suatu komputasi.

Komputasi dapat berupa matematis, seperti pencarian bilangan prima, persamaan kuadrat, atau yang lainnya. Akan tetapi, juga dapat berupa pencarian dan penggantian teks dalam dokumen. Instruksi (atau perintah atau statement) pada masing-masing bahasa pemrograman dapat berbeda, namun beberapa instruksi dasar secara prinsip hampir di semua bahasa pemrograman sama, seperti:

1. Input Mengambil data dari keyboard, mouse, file, atau dari device lain.

2. Output Menampilkan data pada tampilan monitor atau pada device lain.

3. Math Melakukan operasi dasar matematika seperti penambahan dan perkalian.

4. Conditional Pemilihan suatu kondisi dan mengeksekusi sesuai dengan statement

selanjutnya.

5. Repetisi Operasi perulangan.

Masih banyak hal lain yang belum tercakup di atas, namun program-program bagaimanapun kompleksnya pasti akan terdiri kumpulan instruksi-instruksi di atas.

Pemrograman merupakan proses yang kompleks yang memungkinkan terjadi kesalahan. Berbagai macam kesalahan dapat terjadi dalam pemrograman dinamakan

(25)

13

bug. Sedangkan proses pencarian kesalahan dinamakan debugging. Dalam pemrograman, kesalahan dapat dibagi menjadi tiga macam, yakni kesalahan sintaks(syntaxerror), kesalahan run-time (run-timeerror), dan kesalahan logika (logicerror). Pembagian jenis kesalahan dalam pemrograman dapat menjadikan pencarian kesalahan lebih cepat.

1. Kesalahan sintaksPython hanya dapat dieksekusi jika dan hanya jika program tersebut sintaksnya telah sepenuhnya benar. Jika tidak, maka proses akan berhenti dan memberi pesan kesalahan. Sintaks menunjukkan struktur program dan aturannya.

Sintaks dalam bahasa Indonesia bisa diumpamakan sebuah kalimat yang harus diawali dengan huruf besar dan diakhiri dengan titik. Bila terjadi kesalahan sintaks dalam bahasa, maka beberapa pembaca tidak akan begitu mempermasalahkan, tetapi Python tidak demikian. Python harus ditulis dengan benar tanpa ada satupun kesalahan sintaks.

2. Kesalahan run-time Kesalahan tipe kedua adalah kesalahan run-time. Disebut demikian karena kesalahan ini tidak akan muncul sebelum program dijalankan.

Kesalahan ini juga sering disebut exception karena kesalahan ini biasanya menunjukkan sesuatu yang ganjil (dan tidak benar) terjadi.

3.Kesalahan logika Kesalahan tipe ketiga adalah kesalahan logika atau semantik.

Jika terjadi kesalahan tipe ini, program akan tetap berjalan dengan sukses tanpa pesan kesalahan, namun tidak menjalankan program dengan benar atau tidak menjalankan program sesuai dengan maksud yang diinginkan pemrogram.

Elemen dasar pemrograman Python sama dengan pemrograman lain seperti:

1. Pengenal Pengenal atau identifier merupakan nama yang digunakan untuk variabel, fungsi, dan konstanta yang didefinisikan oleh pemrogram. Pengenal memiliki aturan dalam penulisan seperti:

a. Nama variabel harus diawali dengan huruf atau karakter garis bawah (), selanjutnya dapat diikuti dengan huruf maupun angka atau tanda garis bawah.

Nama variabel tidak boleh diawali dengan angka.

b. Nama variabel tidak boleh menggunakan operator- operator aritmatika seperti +,-,/,* dan karakter- karakter khusus seperti :,;,#,@, dan sebagainya.

c. Jika nama variabel terdiri dari dua kata atau lebih, maka antarkata tidak dibolehkan menggunakan spasi.

(26)

d. Nama variabel tidak boleh menggunakan kata- kata yang telah memiliki arti khusus dalam bahasa Python.

e. Penggunaan huruf kecil dan huruf besar dibedakan.

f. Panjang maksimal suatu variabel adalah 32 karakter sehingga jika

mendeklarasikan suatu variabel yang panjangnya lebih dari 32 karakter, secara otomatis sistem tetap akan mengenali sepanjang 32 karakter saja 2. Kata kunci (keyword) dalam Python merupakan kumpulan kata yang dicadangkan.

Kata-kata ini tidak boleh digunakan sebagai identifier. Kata-kata kunci dalam Python adalah sebagai berikut:

classelifandassertbreakcontinueexceptdefdelelsefinallyforfromexec global ifimport in is lambda print not returnorpasswhileraisetry.

3.Tipe data dasar Nilai dalam Python merupakan salah satu hal yang pokok, seperti huruf atau angka. Nilai dapat berupa hasil penjumlahan (misal 1+1) atau berupa string (misal "Hello, World!"). Nilai yang lain adalah integer dan desimal. Integer merupakan seluruh angka seperti 12, sedangkan desimal adalah angka dengan desimalnya seperti 3.145.

4.Variabel merupakan nama yang menunjukkan nilai tertentu. Dalam Python, untuk membentuk variabel cukup memberi nama pada nilai yang kita inginkan. Statement yang melakukan hal tersebut disebut assignment.(utami Ema, 2004)

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

(27)

15

Gambar 2.3 Website untuk mengunduh Anaconda

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

Gambar 2.4 Pilihan platform

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

Gambar 2.5 Tampilan Starter Guide

(28)

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

Gambar 2.6 Tampilan LicenseAgreement 5. Kemudian tunggu sampai proses intalasi selesai

Gambar 2.7 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.

(29)

17

Gambar 2.8 Tampilan commandpromptAnaconda

2.4 BackgroundSubtraction

Dalam metode dasar BackgroundSubtraction, gambar latar belakang statis tanpa objek diambil terlebih dahulu sebagai gambar referensi. Setelah itu gambar video saat ini dikurangi piksel demi piksel dari gambar latar belakang dan gambar yang dihasilkan diubah menjadi gambar biner menggunakan nilai ambang batas.

Gambar biner ini bekerja sebagai topeng latar depan. Untuk konversi di ambang gambar biner diperlukan. Dari [1] kita dapat menulis | 1 * (x, y) B (x, y)> T (1) Dimana, 1 '(x, y) adalah intensitas pikselframe pada waktu t, B (x, y) adalah intensitas rata-rata pada piksel latar belakang dan T adalah ambang batas. Ketika perbedaan mencapai di luar ambang batas, piksel dikategorikan sebagai piksel latar depan. Jadi efektifitas pendeteksian objek tergantung dari nilai threshold. Meskipun metode ini sangat cepat, namun sangat sensitif terhadap perubahan iluminasi dannoise. Prosedur BackgroundSubtraction yang ditingkatkan dan umum yang baru (T. Lauritsen, T.L Khoo, MP Carpenter, dan RVF Janssens) Untuk menghilangkan kuasi-kontinum gamma nys secara kebetulan dengan pita superdeformasi (SD), sangat penting untuk melakukan pengurangan hackground yang tepat. Diketahui untuk beberapa waktu bahwa secara signifikan lebih sulit untuk mengurangkan pita SD di latar belakang dengan benar di wilayah massa A = 150 daripada di wilayah massa A = 190. Masalahnya adalah bahwa di wilayah A = 150 gerbang SD diatur di wilayah energi jauh lebih tinggi daripada energi rata-rata spektrum gamma tanpa gerbang. Jadi, spektrum latar belakang biasa (total) tidak sesuai untuk digunakan dalam BackgroundSubtraction. Versi baru yang lebih baik dari program penyortiran bersudut, pemberontak, dikembangkan yang menggunakan latar belakang lokasi

(30)

dekat gerbang ganda SD elips. Selanjutnya, program menghindari penggunaan wilayah di area hackground lokal di mana puncak yang kuat kami hadirkan Persyaratan terakhir diperlukan di eder untuk mencegah individu kebetulan normal yang kuat mendominasi dalam sampling spektrum backgrouux yang lebih kecil secara statistik. Dengan perangkat lunak baru ini, untuk pertama kalinya dimungkinkan untuk mengekstrak sinar gamma kuasi-kontinum secara andal untuk pita SD yrast di 151.152Dy. Prosedur pengurangan hackground berfungsi pada musim panasnergi dan distribusi multiplisitas(HK) dan spektrum massa guted gamma raygutedanwell. Distribusi HK mengukur titik-titik pada bidang spin dan energi di mana partikel terakhir menguap dan nukleus mulai mendingin dengan memancarkan sinar gamma. Gambar 1-66 menunjukkan SD band-1 di 151Dy setelah BackgroundSubtractionbaru diterapkan. Spektrum uga dibuka, dihubungkan untuk efek penjumlahan, efisiensi dijalankan dan dinormalisasi ke 10.000 kaskade gamma.

Gambar 1-67 menunjukkan penjumlahan energi dan distribusi multiplisitas yang diamati di Gammasphere ketika gerbang ditempatkan pada garis di pita SD ini.

Distribusi HK adalah latar belakang dikurangi menggunakan metode BackgroundSubtraction umum yang baru.

Gambar. 2.9 Pita superdeformasiyrast di I5I Dybarkgrmund dikurangi dengan prosedur baru menggunakan spektrum latar-hackerounud dan puncak-backgrounud lokal, Spektru digunakan untuk mengekstraksi kuasi-kontinum sinar gamuma bertepatan dengan yrastsuperdeformed di inti

(31)

19

Gambar 2.10 Jumlah energi dan distribusi multiplisitas (HK) diamati di Gammasphere ketika gerbang ditempatkan pada garis di pita SD yrast di 151Dy.

Distribusi HK yang hackgrounddisuberaksi menggunakan metode pengurangan latar belakang baru.(Henning, W. F.1998)

2.5 Viskositas

Viskositas suatu fluida merupakan daya hambat yang disebabkan oleh gesekan antara molekul-molekul cairan, yang mampu menahan aliran fluida sehingga dapat dinyatakan sebagai indikator tingkat kekentalannya. Nilai kuantitatif dari viskositas dapat dihitung dengan membandingkan gaya tekan per satuan luas terhadap gradien kecepatan aliran dari fluida. Prinsip dasar ini yang dipergunakan untuk menghitung viskositas secara eksperimen menggunakan metode putar, yaitu dengan memasukkan penghambat ke dalam fluida dan kemudian diputar. Semakin lambat putaran penghambat tersebut maka semakin tinggi nilai viskositasnya Metode lain yang sudah dikenal sejak lama untuk mendapatkan nilai viskositas adalah metode bola jatuh (fallingballmethod) dengan prinsip Hukum Stokes.

Ŋ = 2

9 𝑟2 g

𝑣 (ρ0 – ρ1)

Dimana r adalah jari-jari bola, g adalah percepatan gravitasi, 0 adalah massa jenis bola, dan 1 adalah massa jenis fluida. Francis (1933), memberikan fungsi Efek Wall yang hingga sekarang menjadi rujukan utama pengembangan metode bola jatuh.

Efek Wall tersebut merupakan parameter faktor koreksi dalam menentukan nilai viskositas cairan menggunakan metode bola jatuh disebabkan oleh rasio diameter bola (d) terhadap diameter tabung (D). ( Warsito, 2012)

(32)

20 BAB III

PERANCANGAN SISTEM

3.1 Metode 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 di pasang pada ketinggian 8 cm dari permukaan meja dan ketinggian bola saat dijatuhkan 16 cm dari dasar gelas ukur, jarak IP Camera dengan gelasukur 16 cm, dari wadah yang berisi 900 ml zat cair.

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 meja - Pengukran jarak IP Camera terhadap cairan yang akan diukur

kekentalannya

- Pengukuran jarak objek yang dilewati - Pengukuran intensitas cahaya

(33)

21

2. Tahap Analisis

Melakukan perbandingan hasil pengukuran dengan hasil perhitungan.

Kemudian dihitung persentase kesalahan dari pengukuran alat tersebut.

3. Kesimpulan

Kesimpulan dari tahap ini untuk menghasilkan kerja alat yang baik.

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 darisistem yang dirancang adalah sebagai berikut :

Gambar 3.1 Diagram Blok Adaptor

IP Cam

Tampilkan Video

Membuat Garis Horizontal Sebagai Ketinggian

Cairan

Deteksi Bola

Menghitung Kelajuan Bola dan Viskositas

Cairan

Menampilkan Kelajuan Bola dan Viskositas Cairan

Wifi

PC/Labtop

(34)

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 HubunganAntara Adaptor dan IP Camera

2 Perancangan Antar Muka IP Camera dengan Wi-fi

IP Camera akan bekerja sebagai input dan mengubah Wi-fi sebagai penghubung IP Camera dengan PC/ laptop dalam 1 jaringan

Gambar 3.3 Hubungan Antara IP Camera dan Wi-fi

3 Perancangan Antar Muka PC/Laptop dengan Wi-fi

Dari PC/Laptop akan ditampilkan Video live streaming dari IP Camera yang dikirim melalui Wi-fi

220V

Adaptor 5V, 1A

(35)

23

Gambar 3.4 Hubungan Antara PC Labtop dan Wi-fi

4 Perancangan Antar Muka IP Camera dengan Tampilan Video

Kemudian video hasil rekaman ip camera akan ditampilkan dan diolah kemudian dilakukan pendeteksian menggunakan metode background substraction.

Gambar 3.5 Hubungan Antara IP Camera dengan Tampilan Video

5 Perancangan Antar Muka PC/Laptop dengan Tampilan Video

Lalu penentuan ketinggian dan waktu dihitung ketika bola melewati garis pembatas pertama dan kedua. Kemudian ketinggian dan waktu adalah variabel yang digunakan untuk menghitung kelajuan bola. Selanjutnya kelajuan bola yang didapat akan ditampilkan di dalam program.

Gambar 3.6 Hubungan Antara IP Camera dengan Tampilan Video

900 ml Kelajuan : m/detik Waktu : detik

900 ml Kelajuan : m/detik Waktu : detik

(36)

3.2.3 Perancangan Perangkat Lunak Sistem

Mulai

Nyalakan IP Camera

Streaming IP Camera

Streaming IP Camera sudah

tampil?

Tetapkan 2 garis horizontal sebagai ketinggian cairan

Deteksi bola

Bola terdeteksi?

Simpan waktu saat bola melewati garis horizontal

pertama

Simpan waktu saat bola melewati garis horizontal

kedua

Selisihkan kedua waktu

Hitung kelajuan bola dan viskositas cairan

Tampilkan kelajuan bola dan viskositas cairan dalam Excel

Selesai Tidak

Ya

Tidak

Ya

Gambar 3.7 Flowchart

(37)

25

IP Camera mulai dinyalakan ditandai dengan adanya kedipan LED berwarna biru, kemudian IP Camera akan mulai melakukan streaming. Dimana 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 horizontal sebagai ketinggian cairan. Untuk mendeteksi bola dengan cara mengubah citra menjadi grayscale, kemudian citra akan dihaluskan menggunakan metode Gaussian.

Jika bola tidak terdeteksi maka akan dilakukan pendeteksian bola lagi tapi jika bola terdeteksi maka waktu saat bola melewati garis horizontal pertama yang dibuat akan disimpan. Lalu waktu saat bola melewati garis horizontal kedua juga akan disimpan.

Setelah itu selisih kedua waktu akan diproses dan kelajuan bola dan viskositas cairan akan dihitung, kemudian hasil dari kelajuan kendaraan akan ditampilkan dalam excel. Selesai.

3.3 Pengujian Komponen

3.3.1 Pengujian Video StreamIP Camera EZVIZ C1C dilaptop

Pengujian IP Camera EZVIZ C1C bertujuan untuk mengetahui apakah IP Camera EZVIZ C1C sudah dapat digunakansebagai 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 CameraEZVIZ C1C Siap Digunakan

(38)

3.3.2 Pengujian Video StreamIP Camera EZVIZ C1C dilaptop

Pengujian video stream dari IP Camera EZVIZ C1C di laptop dilakukanuntuk mengetahui apakah video streamsudahtampil di laptop atau belum.Video streamIP Camera EZVIZ C1C dapat diakses dengan terlebih dahulu mengetahui URL stream pada IP Camera EZVIZ C1Ctersebut.

cam=cv2.VideoCapture("rtsp://admin:[email protected]/h264_stream") 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.

if y <= 120 and y > 100 and x >= 320:

matches.remove((x,y))

Gambar 3.9 Tampilan Video Stream dari IP Camera EZVIZ C1C di Laptop

3.3.3 Pengujian 2 Garis Horizontal sebagai Ketinggian pada IP Camera EZVIZC1C

Setelah menampilkan video streamIP 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 horizontal sebagai ketinggian dengan perintah :

cv2.line(frame1, (320, garis_sumbu_y), (650, garis_sumbu_y), (255,0,0), 2) cv2.line(frame1, (330, garis_sumbu_y2), (620, garis_sumbu_y2), (255,255,0), 2)

Dengan garis_sumbu_y=120, garis_sumbu_y2=400.

(39)

27

Gambar 3.10 Tampilan 2 Garis Horizontal sebagai Ketinggian pada IP Camera EZVIZC1Cdi Laptop

3.3.4 Pengujian Pendeteksian Bola pada IP Camera EZVIZC1C

Setelah menampilkan video streamIP Camera EZVIZ C1C dan menampilkan 2 garis horizontal sebagai ketinggian, langkah selanjutnya adalah memberi program pada python agar dapat mendeteksi bola yang melewati area IP Camera EZVIZ C1C dengan perintah:

d = cv2.absdiff(frame1,frame2)

grey = cv2.cvtColor(d,cv2.COLOR_BGR2GRAY) frame1 = cv2.resize(frame1, None, fx = 0.5, fy = 0.5) blur = cv2.GaussianBlur(grey,(5,5),0)

ret , th = cv2.threshold(blur,60,200,cv2.THRESH_BINARY) th = cv2.resize(th, None, fx = 0.5, fy = 0.5)

dilated = cv2.dilate(th,np.ones((3,3)))

kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (2, 2)) closing = cv2.morphologyEx(dilated, cv2.MORPH_CLOSE, kernel)

contours,h=cv2.findContours(closing,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMP LE)

(40)

for(i,c) in enumerate(contours):

(x,y,w,h) = cv2.boundingRect(c)

contour_valid = (w >= min_contour_width) and ( h >= min_contour_height)

if not contour_valid:

continue

cv2.rectangle(frame1,(x-10,y-10),(x+w+10,y+h+10),(255,0,0),2)

Gambar 3.11 Tampilan Pendeteksian Bola pada IP Camera EZVIZ C1C di Laptop 3.3.5 Pengujian Waktu pada IP Camera EZVIZC1C

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

if y <= 120 and y > 100 and x >= 320:

matches.remove((x,y)) t = datetime.datetime.now() tim1 = t.second

Untuk bola yang terdeteksi melewati garis biru muda, catat waktu lalu

(41)

29

kurangkan kedua waktu tersebut:

if y >= 350 and y < 400 and x >= 330:

matches.remove((x,y)) t2 = datetime.datetime.now() total_waktu=t2.second-tim1

Lalu tampilkan waktu dalam satuan detik:

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

Gambar 3.12 Tampilan Waktu ketika Bola Melewati 2 Garis Horizontal (Ketinggian) pada IP Camera EZVIZ C1C di Laptop

3.3.6 Pengujian Kelajuan Bola padaIP Camera EZVIZC1C

Pengujian kelajuan Bola dapat dilakukan setelah proses pengujian waktu.

total_waktu=t2.second-tim1 kelajuan=speed_cal(total_waktu)

Dengan speed_cal adalah:

def speed_cal(total_waktu):

try:

kelajuan = (0.1/total_waktu)

cv2.putText(frame1,"Kelajuan:"+str(kelajuan)+"m/detik",(10,100),cv2.FONT_HERS HEY_SIMPLEX, 1, (0, 0, 0), 2)

print(kelajuan) return kelajuan

(42)

Kelajuan akan diolah ke dalam persamaan (0.1/total_waktu). Kemudian

“Kelajuan” di tampilkan dalam m/detik.

Gambar 3.13 Tampilan Kelajuan Bolapada IP Camera EZVIZ C1C di Laptop

3.3.7 Pengujian Kelajuan Bola pada Excel

Pengujian kelajuanbolapadaExcel dapat dilakukan setelah semua pengujian sebelumnya berhasil dilakukan.

1 Air 22:44 WIB 4,54 m/s 4,53 m/s

2 Gliserin 00:18 WIB 3,089999 m/s 3,089701m/s

Tabel3.3.7 Kelajuan dan Waktu Bola pada Excel

Diperlukan perintah melalui python untuk membuat tabel kelajuan bola.

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'),

(43)

31

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' )

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 Bola (m/detik)”sudah diisi terlebih dahulu kemudian di savedengan nama “Kelajuan Bola.xlsx”.

ws[“A1”]=”Waktu”

ws[“B1”]=”Kelajuan Bola (m/detik)”

(44)

wb.save("Kelajuan Bola.xlsx")

3.4 Pengujian Sistem

Berikut ini adalah kode program yang digunakan untuk menghitung kelajuan Bola Jatuh lalu menampilkannya di excel.

Kode Program:

import cv2 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

min_contour_width=40 min_contour_height=40 garis_sumbu_y=120 garis_sumbu_y2=400

cam=cv2.VideoCapture('rtsp://admin:[email protected]/h264_stream') 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'),

(45)

33

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 Bola (m/detik)"

wb.save("Kelajuan Bola.xlsx") def speed_cal(waktu_total):

try:

kelajuan = (0.1/waktu_total) ws["B2"] = kelajuan

wb.save("Kelajuan Bola.xlsx")

(46)

cv2.putText(frame1, "Kelajuan: " + str(kelajuan)+"m/detik", (10, 100), cv2.FONT_HERSHEY_SIMPLEX, 1,(255, 255, 255), 2)

print(kelajuan) return kelajuan

except ZeroDivisionError:

print ("unknown")

def get_centroid(x, y, w, h):

x1 = int(w / 2) y1 = int(h / 2) cx = x + x1 cy = y + y1 return cx,cy if cam.isOpened():

ret,frame1 = cam.read() else:

ret = False

ret,frame1 = cam.read() ret,frame2 = cam.read() while ret:

d = cv2.absdiff(frame1,frame2)

grey = cv2.cvtColor(d,cv2.COLOR_BGR2GRAY) frame1 = cv2.resize(frame1, None, fx = 0.5, fy = 0.5) blur = cv2.GaussianBlur(grey,(5,5),0)

ret , th = cv2.threshold(blur,60,200,cv2.THRESH_BINARY) th = cv2.resize(th, None, fx = 0.5, fy = 0.5)

dilated = cv2.dilate(th,np.ones((3,3)))

kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (2, 2)) closing = cv2.morphologyEx(dilated, cv2.MORPH_CLOSE, kernel)

contours,h=cv2.findContours(closing,cv2.RETR_TREE,cv2.CHAIN_APPROX_SI MPLE)

for(i,c) in enumerate(contours):

(x,y,w,h) = cv2.boundingRect(c)

(47)

35

contour_valid = (w >= min_contour_width) and ( h >= min_contour_height)

if not contour_valid:

continue

cv2.rectangle(frame1,(x-10,y-10),(x+w+10,y+h+10),(255,0,0),2)

cv2.line(frame1, (320, garis_sumbu_y), (650, garis_sumbu_y), (255,0,0), 2) cv2.line(frame1, (330, garis_sumbu_y2), (620, garis_sumbu_y2), (255,255,0), 2) centroid = get_centroid(x, y, w, h)

matches.append(centroid)

cv2.circle(frame1,centroid, 5, (0,255,0), -1) cx,cy= get_centroid(x, y, w, h)

font=cv2.FONT_HERSHEY_PLAIN for (x,y) in matches:

if y <= 120 and y > 100 and x >= 320:

matches.remove((x,y))

t = datetime.datetime.now() tim1 = t.second

if y >= 350 and y < 400 and x >= 330:

matches.remove((x,y))

t2 = datetime.datetime.now() total_waktu=t2.second-tim1 kelajuan=speed_cal(total_waktu)

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

cv2.imshow("Streaming" , frame1) if(cv2.waitKey(1)==ord('q')):

break

cv2.destroyAllWindows() cam.release()

(48)

36 BAB IV

HASIL DAN PEMBAHASAN

4.1 Analisis Hasil Pengukuran dan Perbandingan dengan Hasil Alat Standar Pada penelitian ini, IP Camera berjarak 16 cm dari wadah yang berisi 900 ml zat cair (air maupun gliserin) dengan intensitas cahaya ke wadah adalah 2845 lux dan bola dijatuhkan dari ketinggian 16 cm dari permukaan wadah

Tabel 4.1 Hasil Pengukuran alat.

No

Fluida

Waktu

Hasil Penelitian

Hasil Perhitungan

Kelajuan Kelajuan

1 Air 22:44 WIB 4,54 m/s 4,53 m/s

2 Gliserin 00:18 WIB 3,089999 m/s 3,089701m/s

No

Fluida Waktu

Hasil Penelitian

Hasil Sebenarnya Viskositas Viskositas

1 Air 22:44 WIB 0.99 m Pa.s 1

2 Gliserin 00:18 WIB 1,4099 m Pa.s 1,410

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

Fluida

Waktu

Hasil Penelitian

Hasil Perhitungan

Ralat Kelajuan Kelajuan

1 Air 22:44 4,54 m/s 4,53 m/s 0,22 %

(49)

37

WIB 2 Gliserin 00:18

WIB

3,089999 m/s

089701 ,

3 m/s 0,009654 %

No

Fluida Waktu

Hasil Penelitian

Hasil Sebenarnya

Ralat Viskositas Viskositas

1 Air 22:44

WIB

0.99 m Pa.s 1 0,2 %

2 Gliserin 00:18 WIB

1,4099 m Pa.s

1,410 0,007092 %

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

Untuk Kelajuan Terminal Bola:

Untuk Koefisien Viskositas:

% 22 , 0

% 53 100 , 4

01 , 0

% 53 100

, 4

53 , 4 54 , 4

% 100

 

 

x Kesalahan

Persentase

x Kesalahan

Persentase

n x Perhitunga Hasil

n Perhitunga Hasil

Penelitian Hasil

Kesalahan Persentase

% 2 , 0

% 1 100

002 , 0

% 1 100

1 998 , 0

% 100

x Kesalahan

Persentase

x Kesalahan

Persentase

Sebenarnya x Data

Sebenarnya Data

Penelitian Hasil

Kesalahan Persentase

(50)

Untuk Kelajuan Terminal Bola:

Untuk Koefisien Viskositas:

% 009645 ,

0

% 089701 100

, 3

000298 ,

0

% 089701 100

, 3

089701 ,

3 089999 ,

3

% 100

x Kesalahan

Persentase

x Kesalahan

Persentase

n x Perhitunga Hasil

n Perhitunga Hasil

Penelitian Hasil

Kesalahan Persentase

% 007092 ,

0

% 410 100

, 1

0001 , 0

% 410 100

, 1

410 , 1 4099 , 1

% 100

x Kesalahan

Persentase

x Kesalahan

Persentase

Sebenarnya x Data

Sebenarnya Data

Penelitian Hasil

Kesalahan Persentase

(51)

39 BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. IP Camera dapat digunakan untuk mengukur kelajuan bola dengan cara menggunakan IP Camera sebagai input kamera kemudian dihubungkan dengan Wi-Fi ke pc/laptop, selanjutnya video hasil rekaman akan diolah dan dialakukan pendeteksian bola menggunakan metode background subtraction.

Penentuan jarak dan waktu dihitung ketika bola melawati garis pembatas pertama dan kedua. Selanjutnya dengan mengandalkan perhitungan komputasi, hasil kelajuan dan kekentalan zat cair akan ditampilkan dalam program dan Microsoft Excel.

2. Prinsip kerja IP Camera adalah mentransfer gambar dengan memanfaatkan jaringan internet. IP Camera digunakan untuk memantau atau mengamati suatu objek atau tempat baik untuk tujuan keamanan maupunmonitoring.Pada penelitian tugas akhir ini, IP Camera dimanfaatkan sebagai alat untuk mendeteksi kelajuan dan kekentalan zat cair.

3. Jarak IP Camera dapat mempengaruhi hasil pengukuran, karena ketika jarak IP Camera dengan gelas ukur terlalu jauh, maka garis horizontal yang dibuat tidak akan persis berada pada batasan zat cair dalam gelas ukur, sehingga jarak IP Camera dengan gelas ukur pada penelitian ini adalah 16 cm. Begitu juga dengan ketinggian bola saat dijatuhkan, ketinggian bola saat dijatuhkan pada penelitian ini adalah 16 cm dari dasar gelas ukur. Jika ketinggian dibuat berubah-ubah maka kelajuan bola juga akan berubah-ubah.

4. Persentase kesalahan pengukuran kelajuan terminal bola pada air adalah 0,2%.

5.2 Saran

1. Perlunya dilakukan penelitian lebih lanjut jika bola padatnya divariasikan dengan berbagai ukuran.

Referensi

Dokumen terkait