BAB II LANDASAN TEORI
2.1.
Definisi sistem Keamanan
2.1.1 Sistem Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu. 2.1.2 Keamanan Keamanan adalah suatu kinerja dalam menghadapi masalah baik internal maupun exsternal yang terjadi terhadap suatu ruang lingkup demi terciptanya suatu keadaan yang seharusnya. 2.2 Definisi Kendaraan Bermotor Kendaraan bermotor adalah setiap kendaraan yang digerakkan oleh peralatan mekanik berupa mesin selain kendaraan yang berjalan di atas rel (PP No. 44 Tahun 1993). Jenis-jenis kendaraan bermotor menurut Peraturan Pemerintah Republik Indonesia Nomor 44 Tahun 1993, yaitu:
5
6
a. Sepeda motor adalah kendaraan bermotor beroda dua, atau tiga tanpa rumahrumah baik dengan atau tanpa kereta samping. b. Mobil penumpang adalah kendaraan bermotor beroda empat yang dilengkapi sebanyak-banyaknya 8 (delapan) tempat duduk, tidak termasuk tempat duduk pengemudi, baik dengan maupun tanpa perlengkapan pengangkutan bagasi. c. Mobil bus adalah setiap kendaraan bermotor yang dilengkapi lebih dari 8 (delapan) tempat duduk tidak termasuk tempat duduk pengemudi, baik dengan maupun tanpa perlengkapan bagasi. d. Mobil barang adalah setiap kendaraan bermotor selain dari yang termasuk dalam sepeda motor, mobil penumpang, dan mobil bus. e. Kendaraan khusus adalah kendaraan bermotor selain dari kendaraan bermotor untuk
penumpang
dan
kendaraan
bermotor
untuk
barang,
yang
penggunaannya untuk keperluan khusus atau mengangkut barang-barang khusus. f. Kendaraan umum adalah kendaraan bermotor yang disediakan untuk dipergunakan oleh umum dengan dipungut bayaran.
2.3 Raspberry Pi Raspberry Pi adalah komputer berukuran kartu kredit yang dikembangkan di Inggris oleh Yayasan Raspberry Pi dengan tujuan untuk mempromosikan pengajaran ilmu pengetahuan dasar komputer di sekolah. Raspberry Pi sendiri dikembangkan untuk tujuan pendidikan di seluruh dunia, khususnya belajar pemrogaman komputer
7
siswa sekolah. Adalah Eben upon dan rekan-rekannya dari university of Cambridge menyadari saat ini mahasiswa tidak memiliki keterampilan dalam bidang pemograman komputer, Raspberry Pi diproduksi melalui lisensi manufaktur yang berkaitan dengan elemen 14/Premier Farnell dan RS komponen. Perusahaan ini menjual Raspberry Pi online. Raspberry Pi memiliki sistem Broadcom BCM2835 chip (SoC), yang mencakup ARM1176JZF-S 700 MHz processor (firmware termasuk sejumlah mode "Turbo" sehingga pengguna dapat mencoba overclocking, hingga 1 GHz, tanpa mempengaruhi garansi), VideoCore IV GPU, dan awalnya dibuat dengan 256 megabyte RAM, kemudian upgrade ke 512MB.Termasuk built-in hard disk atau solid-state drive, akan tetapi menggunakan SD Card untuk booting dan penyimpanan jangka panjang. Yayasan ini bertujuan untuk menawarkan dua versi, dengan harga US$ 25 dan US$ 35. yayasan ini memberikan Debian dan Arch Linux ARM untuk di-download. Juga mendukung Python sebagai bahasa pemrograman utama, dengan dukungan untuk BBC BASIC,(melalui gambar RISC OS atau clone "Brendybasic" untuk Linux), C, dan Perl.[5] Pada 17 Desember 2012 Yayasan Raspberry Pi, bekerjasama dengan IndieCity dan Velocix, membuka "Store Pi", sebagai "one-stop shop untuk semua kebutuhan Raspberry Pi (perangkat lunak)". Dengan menggunakan aplikasi termasuk dalam Raspbian, pengguna dapat menelusuri beberapa kategori dan men-download apa yang mereka inginkan. Perangkat lunak juga dapat di-upload untuk moderasi dan rilis.
8
Tabel 2.1 Spesifikasi Raspberry Pi
Harga SoC:
Model A
Model B
US$ 25
US$ 35
Broadcom BCM2835(CPU, GPU, DSP,SDRAM dan single USB port)
CPU:
700 MHz ARM1176JZF-S core (ARM11 family)
GPU:
Broadcom VideoCore IV OpenGL ES 2.0 (24 GFLOPS) MPEG-2 and VC-1 (dengan license), 1080p30 h.264/MPEG-4 AVC High-profile decoder and encoder
Memory
256 MB (shared with GPU)
512 MB (share with GPU)
1 (direct from BCM2835 chip)
2 (via the built in
(SDRAM) : USB 2.0 ports :
integrated 3-port USB hub) Video outputs :
Composite RCA (PAL and NTSC), HDMI (rev 1.3 & 1.4), raw LCD panels via DSI 14 HDMI dengan resolusi mulai dari 640x350 sampai 1920x1200 plus various PAL dan NTSC standar.
Audio outputs :
3.5 mm jack, HDMI, and as of revision 2 boards, I2S audio (also potentially for audio input)
Onboard
SD / MMC / SDIO card slot (3,3 V card power support only)
storage : Onboard network :
None
10/100 Ethernet (8P8C) USB adapter on the third port of the USB hub
Low-level
8 x GPIO, UART, I2C bus, SPI bus with two chip selects, I2S
9
peripherals :
audio +3.3 V, +5V, ground
Power ratings :
300 mA (1.5 W)
Power source :
5 volt via microUSB or GPIO header
Size :
85.60 mm x 53.98 mm (3.370 in x 2.125 in)
Weight :
45 g (1.6 oz)
Operating
Debian GNU/Linux, Raspbian OS, Fendora, Arch Linux ARM,
systems :
RISC OS, FreeBSD, Plan 9
700 mA (3.5 W)
Keterangan : 1. Model A dan Model B adalah model asli Inggris pendidikan BBC mikro komputer, dikembangkan oleh Acorn komputer, yang awalnya dikembangkan ARM prosesor (arsitektur Raspberry Pi) dan sistem operasi RISC OS, yang juga akan dapat dijalankan pada Raspberry Pi (versi 5.17). 2. Pada board beta model B, 128 MB ini dialokasikan secara default untuk GPU, meninggalkan 128 MB untuk CPU. Pada saat rilis 256 MB pertama (model B dan Model A), tiga perbedaan perpecahan yang memungkinkan. Default perpecahan itu yaitu 192 MB (CPU RAM), yang harus cukup untuk standalone 1080p decoding video, atau untuk 3D sederhana, tapi mungkin tidak untuk keduanya secara bersama-sama. 224 MB hanya untuk Linux, dengan hanya framebuffer 1080p, dan cenderung terjadi kegagalan untuk setiap video 3D. 128 MB adalah heavy3D, mungkin juga dengan video decoding (misalnya XBMC). Relatif Nokia 701 menggunakan 128 MB untuk Broadcom VideoCore IV. Untuk model baru B dengan 512MB RAM awalnya ada memori standar baru file split dirilis (arm256_start.elf, arm384_start.elf,
10
arm496_start.elf) untuk 256MB, 384MB dan 496MB CPU RAM (dan 256MB, 128MB dan 16MB video RAM). Tapi kemudian RPF merilis versi baru dari start.elf yang bisa membaca entri baru dalam config.txt (gpu_mem = xx) dan secara dinamis dapat menetapkan jumlah RAM (dari 16 hingga 256MB dalam langkah 8MB) untuk GPU, jadi metode yang lebih tua dari pembagian memori menjadi absolut, dan start.elf tunggal bekerja sama untuk 256 dan 512 MB Pis. 3. Tingkat 2 Cache adalah 128 kB, digunakan terutama oleh GPU, tidak CPU. 4. ARM11 didasarkan pada versi 6 dari arsitektur ARM (ARMv6), yang karena umurnya tidak lagi didukung oleh beberapa versi Linux yang populer, termasuk Ubuntu yang menjatuhkan dukungan untuk prosesor di bawah ARMv7 pada tahun 2009. 5. Raspberry Pi (model B) juga mengandung 15-pin MIPI kamera antarmuka (CSI) konektor, yang pada saat ini belum mendukung, tetapi Yayasan berencana untuk melepaskan modul kamera untuk itu, dalam waktu dekat. 6. . Dukungan untuk LCD panel tersedia di hardware melalui konektor DSI tersedia dari Aliansi Mobile industri prosesor interface (MIPI). Software pendukungan yang direncanakan. 7. Didukung resolusi video digital adalah: 640 × 350 EGA; VGA 640 × 480; SVGA 800 × 600; XGA 1024 × 768; 1280 × 720 720 p HDTV; Varian WXGA 1280 × 768; Varian WXGA 1280 × 800; SXGA 1280 × 1024; Varian
11
1366 × 768 WXGA; 1400 × 1050 SXGA +; UXGA 1600 × 1200; 1680 × 1050 WXGA +; HDTV 1080p 1920 × 1080; 1920 × 1200 WUXGA.[78] Untuk didukung adalah generasi 576i dan 480i sinyal video komposit untuk PAL-BGHID, PAL-M, PAL-N, NTSC dan NTSC-J 8. Awalnya port USB on-board dirancang untuk perangkat USB yang menggunakan salah satu "unit load" (100 mA) saat ini. Perangkat menggunakan lebih dari 100 mA yang bertentangan dengan Raspberry Pi, dan untuk itu self-powered USB hub diperlukan. Namun, karena umpan balik pengguna, RPF, pada akhir Agustus 2012, memutuskan untuk menghapus polyfuses USB yang sebagian besar disebabkan perilaku ini. Namun, arus maksimum yang dapat dikirimkan ke port USB pada board diubah sebatas kemampuan catu daya yang digunakan, dan main A 1.1.poly fuse terjadi kerugian dari cara memodifikasi dilakukan, bahwa tidak mungkin untuk hotplug perangkat USB langsung ke PI, ketika hotplugging diperlukan dapat dilakukan di pusat. 9. Versi firmware berisi lima pilihan presets overclock ("turbo") yang bila diaktifkan untuk mendapatkan kinerja yang paling baik dari SoC tanpa merusak masa Pi. Hal ini dilakukan oleh pemantauan suhu inti chip, dan beban CPU, dan secara dinamis menyesuaikan kecepatan clock dan tegangan inti. Jadi ketika ada permintaan yang rendah pada CPU, atau sudah terlalu panas, kinerja menjadi terhambat, tetapi jika CPU memiliki banyak yang harus dilakukan, dan memungkinkan chip's temperatur, kinerja sementara
12
meningkat, dengan jam kecepatan hingga 1 GHz, tergantung pada setiap board individu, dan di mana pengaturan "turbo" digunakan. Lima pengaturan :
"None"; 700 MHz ARM, 250 MHz core, 400 MHz SDRAM, 0 overvolt,
"Modest"; 800 MHz ARM, 250 MHz core, 400 MHz SDRAM, 0 overvolt,
"Medium"; 900 MHz ARM, 250 MHz core, 450 MHz SDRAM, 2 overvolt,
"High"; 950 MHz ARM, 250 MHz core, 450 MHz SDRAM, 6 overvolt,
"Turbo"; 1000 MHz ARM, 500 MHz core, 600 MHz SDRAM, 6 overvolt.
13
Gambar 2.1 Raspberry Pi model B rev2
2.3.1
Arsitektur Raspberry Pi Raspberry Pi menggunakan sistem operasi berbasis kernel Linux.Raspbian
merupakan Sistem operasi berbasis Debian yang dapat bebas dioptimalkan untuk perangkat keras Raspberry Pi, yang dilengkapi dengan lebih dari 35.000 paket precompiled untuk Raspberry Pi.
14
Gambar 2.2 Diagram blok arsitektur Raspberry Pi
GPU hardware diakses melalui gambar firmware yang di-load ke GPU saat boot dari SD-card. Gambar firmware dikenal sebagai kumpulan biner, sementara driver Linux yang terkait adalah sumber tertutup (closed source). Aplikasi perangkat lunak menggunakan panggilan ke sumber tertutup run-time library yang pada gilirannya menjadi panggilan open source driver dalam Linux kernel. API driver kernel spesifik untuk perpustakaan tersebut bersifat tertutup. Aplikasi video menggunakan OpenMAX, aplikasi 3D menggunakan OpenGL ES dan 2D aplikasi menggunakan OpenVG yang pada nantinya menggunakan EGL. OpenMAX dan EGL menggunakan open source kernel driver. Pada 19 Februari 2012, yayasan Raspberry Pi merilis bukti konsep kartu SD image yang dapat di muat ke SD card untuk menghasilkan sebuah sitem oprasi yang
15
pertama. Image didasarkan pada Debian 6.0 dengan LXDE desktop dan Midori browser, ditambah berbagai alat pemograman. Image tersebut berjalan pada QEMU yang memungkinkan Raspberry Pi akan ditiru berbagai platform lain. 2.3.2
Software system Raspberry Pi Pada 8 Maret 2012 Yayasan Pi Raspberry merilis Raspberry Pi Fedora Remix
direkomendasikan sebagai distribusi Linux, yang dikembangkan di Seneca College di Kanada. Yayasan ini berniat untuk membuat situs Web App Store bagi orang untuk program pertukaran. Slackware ARM (secara resmi ARMedslack) versi 13.37 dan kemudian berjalan pada Raspberry Pi tanpa modifikasi. 128–496 MB dari memori yang tersedia di Raspberry Pi adalah dua kali minimum 64 MB yang diperlukan untuk menjalankan Slackware Linux pada sistem ARM atau i386. (Sementara Slackware dapat memuat dan menjalankan GUI, yang dirancang untuk dijalankan dari shell). Fluxbox window manager berjalan di bawah X Window System memerlukan tambahan 48 MB RAM. Selain itu, pekerjaan yang sedang dilakukan pada distribusi Linux seperti IPFire,OpenELEC, Raspbmc dan XBMC membuka sumber digital media center. Eben Upton secara terbuka mendekati RISC OS pada bulan Juli 2011 untuk menanyakan tentang bantuan dengan port potensial. Adrian Lees di Broadcom sejak itu bekerja pada port, dengan karyanya yang disebutkan dalam sebuah diskusi tentang driver grafis. Pada 24 Oktober 2012 Yayasan Raspberry Pi mengumumkan bahwa "semua kode driver VideoCore yang berjalan pada ARM" telah dirilis sebagai perangkat
16
lunak bebas di bawah lisensi BSD-style, membuat "multi media pertama berbasis ARM multimedia SoC dengan banyak-fungsional, vendor menyediakan (sebagai lawan dari parsial, reverse rekayasa) sepenuhnya open-source driver", meskipun klaim ini tidak diterima secara universal. 2.3.3 Sistem Operasi Raspberry Pi 1. Python Python dikembangkan oleh Guido Van Rossum pada tahun 1990 di CWI, Amsterdam sebagai kelanjutan dari bahasa pemrograman ABC, Versi terakhir yang dikeluarkan CWI adalah 1.2.
Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python pindah ke BeOpen.com yang merupakan
sebuah
perusahaan
komersial
dan
membentuk
BeOpen
PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan beberapa anggota tim PythonLabs pindah ke Digital Creations. Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang dikoordinir Guido dan Python Software Foundation, sebuah organisasi non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python sejak versi 2.1 dan dengan demikian mencegah Python dimiliki oleh perusahaan komersial. Saat ini distribusi Python sudah mencapai versi 2.6.1 dan versi 3.0.
17
Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya karena kecintaan Guido pada acara televisi Monty python’s Flying Circus. Oleh karena itu seringkali ungkapan-ungkapan khas dari acara tersebut seringkali muncul dalam korespondensi antar pengguna Python. Python adalah bahasa pemrograman interpreaktif multiguna dengan filosofi perancangan yang berfokus pada tingkat keterbacaan kode. Python diklaim sebagai bahasa yang menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang sangat jelas, dan dilengkapi dengan fungsionalitas pustaka standar yang besar serta komprehensif. Python mendukung multi paradigma pemrograman, utamanya; namun tidak dibatasi; pada pemrograman berorientasi objek, pemrograman imperatif, dan pemrograman fungsional. Salah satu fitur yang tersedia pada python adalah sebagai bahasa pemrograman dinamis yang dilengkapi dengan manajemen memori otomatis. Seperti halnya pada bahasa pemrograman dinamis lainnya, python umumnya digunakan sebagai bahasa skrip meski pada praktiknya penggunaan bahasa ini lebih luas mencakup konteks pemanfaatan yang umumnya tidak dilakukan dengan menggunakan bahasa skrip. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem oprasi. Saat ini kode python dapat dijalankan di berbagai platform sistem oprasi, beberapa diantaranya dalah:
18
-
Linux/unix, Windows, Max OS X, Java Virtual Machine , OS/2,
Amiga, Palm, Symbian. Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi. Lihat sejarahnya di Pythone Copyright. Namun pada prinsipnya Python dapat diperoleh dan dipergunakan secara bebas, bahkan untuk kepentingan komersial. Lisensi Python tidak bertentangan baik menurut definisi Open Source maupun General public License (GLP). Beberapa fitur yang dimiliki Python adalah:
memiliki kepustakaan yang luas; dalam distribusi Python telah disediakan modul-modul 'siap pakai' untuk berbagai keperluan.
memiliki tata bahasa yang jernih dan mudah dipelajari.
memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan kembali dan penulisan ulang kode sumber.
berorientasi obyek.
memiliki sistem pengelolaan memori otomatis (garbage collection, seperti java)
modular, mudah dikembangkan dengan menciptakan modul-modul baru; modul-modul tersebut dapat dibangun dengan bahasa Python maupun C/C++.
memiliki fasilitas pengumpulan sampah otomatis, seperti halnya pada bahasa
pemrogramanJava,
python
memiliki
fasilitas
pengaturan
19
penggunaan ingatan komputer sehingga para pemrogram tidak perlu melakukan pengaturan ingatan komputer secara langsung.
memiliki
banyak
faslitas
pendukung
sehingga
mudah
dalam
pengoprasiannya. 2.3.4 Komunikasi GPIO Raspberry Pi GPIO merupakan sederet pin yang terdiri dari 26 pin dengan berbagai fungsi diantaranya:
Gambar 2.3 Raspberry Pi GPIO pin [8] a) Sumber tegangan : 3.3V, 5V dan 0V b) General purpose digital inputs/outputs – 8 pin
20
c) I2C - 2 pin Digunakan ke berbagai antar muka I2C diantaranya :
Digital to analogue converter
Analogue to digital converter
Oscillators
Output expander
input expander
d) SPI - 5 pin Digunakan untuk antarmuka ke berbagai IC
Flash memory
Output expander
Input expander
Digital to analogue convertor
Analogue to digital converter
Oscillators
e) UART - 2 pin Digunakan untuk data serial input dan output dan komunikasi untuk ke peripheral external seperti RS232 atau modbus. f) Tidak digunakan - 6 pin
21
Jangan pernah menghubungkan apa-apa ke pin yang ditandai tidak digunakan. Pin tersebut disediakan untuk fungsi internal BCM2836 hardware. Apabila menghubungkan hal apapun untuk pin ini akan mengakibatkan kerusakan pada Raspberry Pi. Dengan batas arus maximum < 100 mA di pin 5V dan batas arus maximum < 50 mA di pin 3,3V, pada setiap pin digital baik input/output memiliki logika high 3,3V dan logika low 0V.Apabila tegangan > 3,3V pada setiap pin mana pun maka dapat mengakibatkan kerusakan.
Gambar 2.4 Header GPIO pada Raspberry Pi Kerusakan permanen pada Raspberry Pi dapat disebabkan oleh beberapa indikator diantaranya adalah terhubungnya pasokan tegangan 5v ke pin apapun, terjadinya konstelting pasokan tegangan 3.3v atau 5v ke setiap pin, perangkat lain seperti arduino (5V) terhubung dengan Raspberry Pi (3.3V).
22
Pada setiap pin digital dapat di set input maupun output, pada saat pin tersebut dikofigurasi sebagai output maka akan mengeluarkan tegangan 3.3V sebagai high yang dapat memerintahkan ke sebuah perangkat untuk menyala sebagai contoh perangkat LED. 2.4 Relay Untuk memutuskan dan menyambungkan rangkaian suatu rangkaian primer dengan sekunder, diperlukan sebuah alat yaitu relay, relay adalah sebuah saklar dengan elektromagentik yang dapat mengubah kontak- kontak saklar normally open (NO) menjadi normally close (NC) dan sebaliknya, pada saat alat menerima arus listrik. Pada dasarnya, relay terdiri dari lilitan kawat (kumparan,koil) yang terlilit pada suatu inti dari besi lunak. Bila kumparan ini di aliri arus maka inti menjadi magnet sehingga inti ini akan menarik jangkar dan kontak A dan B terputus ( membuka ), sedangkan kontak antara B dengan C akan tertutup. Jenis relay ini di kelal dengan nama jenis kontak luar. Macam-macam relay dikenal berdasarkan prinsip kerjanya, yaitu: a. Normally open (NO), saklar akan terbuka jika di aliri arus. b. Normally close (NC), saklar akan tertutup jika di aliri arus. c. Cange over (CO), relay ini mempunyai saklar tunggal dimana akan pada saat kondisi normal akan tertutup lama, bila kumparan satu dialiri arus maka saklar
23
akan terhubung ke terminal A, sebaliknya bila kumparan dua dialiri arus maka saklar akan terhubung ke terminal B. Analogi rangkain relay yang di gunakan pada tugas akahir ini adalah saat basis transistor di aliri arus, maka transistor dalam keadaan tertutup, yang dapat menghubungkan arus dari kolektor ke emitter yang mengakibatkan relay terhubung. Sedangkan fungsi dioda disini untuk melindungi transistor dari induksi tegangan lebih, dimana tegangan ini dapat merusak transistor.
Gambar 2.5 Rangkaian driver dan simbol Relay 2.5 Optocoupler IC PC817 2.5.1 Pengertian optocoupler Optocoupler adalah suatu piranti yang terdiri dari 2 bagian yaitu transmitter dan receiver, yaitu antara bagian cahaya dengan deteksi sumber cahaya terpisah.
24
Biasanya optocoupler digunakan sebagai saklar elektrik, yang bekerja secara otomatis. Optocoupler atau optoisilator merupakan komponen penggandeng (coupling) antara rangkaian input dengan rangkaian output yang menggunakan media cahaya (opto) sebagai penghubung. Dengan kata lain, tidak ada bagian yang konduktif antara kedua rangkaian tersebut. Optocoupler sendiri terdiri dari 2 bagian, yaitu transmitter (pengirim) dan receiver (penerima). 1. Transmitter Merupakan bagian yang terhubung dengan rangkaian input atau rangkaian kontrol. Pada bagian ini terdapat sebuah LED infra merah (IR LED) yang berfungsi untuk mengirimkan sinyal kepada receiver. Pada transmitter dibangun dari sebuah LED infra merah. Jika dibandingkan dengan menggunakan LED biasa, LED infra merah memiliki ketahanan yang lebih baik terhadap sinyal tampak. Cahaya yang dipancarkan oleh LED infra merah tidak terlihat oleh mata telanjang. 2. Receiver Merupakan bagian yang terhubung dengan rangkaian output atau rangkaian beban, dan berisi komponen penerima cahaya yang dipancarkan oleh transmitter. Komponen penerima cahaya ini dapat berupa photodioda ataupun phototransistor. Phototransistor merupakan suatu transistor yang peka terhadap tenaga cahaya. Suatu sumber cahaya yang menghasilkan energi panas, begitu pula dengan spektrum infra merah. Karena spektrum infra mempunyai efek panas dari cahaya tampak, maka phototransistor lebih peka untuk menangkap radiasi dari sinar infra merah. Jika dilihat dari penggunaannya, optocoupler biasa digunakan untuk mengisolasi common rangkaian input dengan common rangkaian output. Sehingga
25
suplay tegangan untuk masing-masing rangkaian tidak saling terbebani dan juga untuk mencegah kerusakan pada rangkaian kontrol (rangkaian input). Sensor Cahaya (Optocoupler) dan Piringan Sensor
Gambar 2.6 Sensor Cahaya Tujuan utama dari digunakan sensor cahaya dan piringan sensor adalah untuk mendapatkan data kecepatan putaran dari setiap roda. Piringan sensor yang digunakan dibuat dari negatif-film yang dijepit oleh dua buah acrylic transparan agar semakin presisi pembacaan datanya. Sedangkan sensor cahaya
yang digunakan oleh optocoupler yang prinsip
kerjanya adalah ketika ada benda yang berada diantara celah sensornya, maka cahaya yang dikirimkan tidak bisa diterima oleh bagian penerimanya, sehingga menghasilkan tegangan keluaran yang nilainya mendekati mendekati VCC, begitu juga sebaliknya, jika tidak ada benda diantara celah sensornya maka akan menghasilkan tegangan keluaran yang nilainya mendekati 0 volt.
26
Gambar 2.7 Optocoupler Optocoupler merupakan gabungan dari LED infra merah dengan phototransistor yang terbungkus menjadi satu chips. Cahaya infra merah termasuk dalam gelombang elektromagnetik yang tidak tampak oleh mata telanjang. Sinar tidak tampak oleh mata karena mempunyai panjang gelombang berkas cahaya yang terlalu panjang bagi tanggapan mata manusia. Sinar infra merah mempunyai daerah frekuensi 1×1012 Hz sampai dengan 1×1014 Ghz atau daerah frekuensi dengan panjang gelombang 1µm – 1mm. LED infra merah ini merupakan komponen elektronika yang memancarkan cahaya infra merah dengan konsumsi daya sangat kecil. Jika diberi prasikap maju, LED infra merah yang terdapat pada optocoupler akan mengeluarkan panjang gelombang sekitar 0,9 mikrometer. Proses terjadinya pancaran cahaya pada LED infra merah dalam optocoupler adalah sebagai berikut. Saat dioda menghantar arus, elektron lepas dari ikatannya karena memerlukan tenaga dari catu daya listrik. Setelah elektron lepas, banyak elektron yang bergabung dengan lunak yang ada disekitarnya (memasuki lubang lain
27
yang kosong). Pada saat masuk lubang yang lain, elektron melepaskan tenaga yang akan diradiasikan dalam bentuk cahaya, sehingga dioda akan menyala atau memancarkan cahaya pada saat dilewati arus. Cahaya infra merah yang terdapat pada optocoupler tidak perlu lensa untuk memfokuskan cahaya karena dalam satu chip mempunyai jarak yang dekat dengan penerimanya. Pada optocoupler yang bertugas sebagai penerima cahaya infra merah adalah phototransistor merupakan komponen elektronika yang berfungsi sebagai detektor cahaya infra merah. Detektor cahaya ini mengubah efek cahaya menjadi sinyal listrik, oleh sebab itu phototrasistor termasuk dalam golongan detektor optik. Phototransistor memiliki sambungan kolektor-basis yang besar dengan cahaya infra merah, karena cahaya ini dapat membangkitkan pasangan lubang elektron. Dengan diberi cahaya maju, cahaya yang masuk akan menimbulkan arus pada kolektor. Phototransistor memiliki bahan utama yaitu germanium atau silikon yang sama dengan bahan pembuat transistor. Tipe phototransistor juga sama dengan transistor pada umumnya yaitu PNP dan NPN. Perbedaan transistor dengan phototransistor hanya terletak pada rumahnya yang memungkinkan cahaya infra merah mengaktifkan daerah basis, sedangkan transistor biasa ditempatkan pada rumah logam yang tertutup. Simbol optocoupler seperti terlihat pada Gambar berikut :
28
: Gambar 2.8 Rangkaian Optocoupler 2.6 Catu daya (power supply) Catu daya (Power Supply) digunakan untuk memberikan tegangan pada raspberry,Tegangan masukan pada raspberry biasanya sekitar 5 VDC. Pada raspberry catu daya biasa tidak termasuk dalam sistem raspberry itu sendiri, biasanya di jual terpisah.
Gambar 2.9 rangkaan catu daya raspberry pi Catu daya biasanya tidak digunakan untuk memberikan daya secara langsung ke input maupun output, yang berarti input dan output murni hanya merupakan saklar
29
saja. Jadi user harus menyediakan sendiri catu daya untuk input dan output (beban) raspberry . Dengan cara demikian diharapkan raspberry tidak akan cepat rusak. 2.7 Camera pi raspberry Camera pi merupakan sebuah kamera yang di ciptakan oleh Dave Jones untuk mendukung sebuah pemrograman aplikasi, biasanya di pasangkan dengan sebuah perangkat raspberry pi dengan bahasa pemrograman python yang dapat di gunakan dalam pengambilan gambar dan Video, dalam sebuah aplikasi berbasis program.
Gambar 2.10 Camera Pi a. Spesifikasi camera pi
Jenis Sensor: OmniVision OV5647 [4] Warna CMOS QSXGA (5megapiksel)
Ukuran sensor: 3.67 x 2.74 mm
Pixel Count: 2592 x 1944
30
Ukuran pixel : 1.4 x 1.4 um
Lens: f = 3.6 mm, f/2.9
Angle of View : 54 x 41 derajat
Bidang View: 2,0 x 1,33 m pada 2 m
Lensa SLR full-frame setara: 35 mm
Jarak Fokus: 1 m sampai tak terhingga
Video: 1080p pada 30 fps dengan codec H.264 (AVC) Sampai dengan 90 fps Video di VGA
Ukuran papan: 25 x 24 mm (tidak termasuk kabel flex)
Karena panjang fokus lensa kira-kira sama dengan lebar sensor, sangat mudah untuk mengingat jarak pandang: pada x meter, dapat melihat sekitar x meter horizontal, dengan asumsi modus stills 4x3. Bidang pandang horizontal dalam modus video 1080p adalah 75% dari itu (75% x 55% H sensor V untuk 1:01 piksel di 1920x1080). 2.8 Teori khusus yang Berhubungan dengan Tofik yang di Bahas 2.8.1 Identifikasi Wajah Wajah manusia memainkan peran penting dalam interaksi sosial kita, menyampaikan identitas masyarakat. Saat ini wajah manusia digunakan sebagai kunci untuk keamanan, teknologi pengenalan wajah biometrik telah menerima perhatian yang signifikan dalam beberapa tahun terakhir karena potensinya untuk berbagai macam aplikasi baik dalam penegakan hukum dan penegakan non-hukum.
31
Dibandingkan dengan sistem biometrik lainnya menggunakan sidik jari, palm print dan retina mata, pengenalan wajah memiliki kelebihan karena tidak perlu adanya proses kontak langsung. Gambar wajah dapat ditangkap dari jarak jauh tanpa menyentuh orang yang sedang diidentifikasi, dan identifikasi yang tidak memerlukan berinteraksi dengan orang tersebut. Selain itu, pengenalan wajah melayani tujuan pembasmian kejahatan karena wajah gambar yang telah direkam dan diarsipkan nantinya dapat membantu mengidentifikasi seseorang. Identifikasi wajah (face recognition) merupakan identifikasi biometrik. Biometrik maksudnya pengenalannya berdasarkan keunikan seseorang berdasarkan keadaan fisik maupun karakteristiknya. Meskipun pengenalan wajah sudah dapat dilakukan oleh sistem komputer namun belum dapat melakukannya seperti apa yang dilakukan manusia. Salah satu dari aspek utama dalam identifikasi wajah adalah robustness. Skema pengenalan wajah secara robust memerlukan kedua representasi fitur dimensi rendah untuk keperluan kompresi data dan kemampuan diskriminasi ditingkatkan untuk pengambilan gambar berikutnya. Metode representasi biasanya mulai dengan prosedur reduksi dimensi sejak dimensi tinggi dari ruang visual asli membuat estimasi statistik sangat sulit dan memakan waktu. Ada tiga Fase yang diperlukan mesin untuk mengenali wajah. Ketiga fase tersebut adalah detection, feature extraction, recognition (Gandhe, Talele, & Keskar, 2007, pp. 53-54).
32
1. Detection Banyak algoritma yang melaksanakan tugas pendeteksian wajah sebagai tugas klasifikasi pola biner. Hal ini dimaksudkan isi dari bagian tertentu dari suatu gambar diubah menjadi fitur, setelah itu classifier dilatih pada wajah untuk memutuskan apakah daerah tertentu dari gambar wajah atau tidak. 2. Feature extraction Tiga jenis metode ekstraksi fitur:
Metode generik berdasarkan tepi, garis, dan kurva.
Fitur template berbasis metode yang digunakan untuk mendeteksi fitur wajah seperti mata.
Struktural yang cocok metode yang memperhitungkan kendala pertimbangan geometris pada fitur.
3. Recognition Selama berapa dekade sudah banyak metode yang ditawarkan. Pada umumnya metode yang ada terbagi menjadi tiga yaitu holistic matching methods, feature based matching methods dan hybrid methods.
33
Gambar 2.11 Contoh identifikasi wajah 2.8.2 Local Binary Pattern untuk Detection Tujuan deteksi adalah untuk menentukan lokasi dan besarnya wajah manusia pada gambar atau citra. Pada proses local binary pattern detection yang diterapkan OpenCV ada dua tahapan penting dalam mendeteksi wajah yaitu Multi-scale Block Local Binary Pattern dan Gentle AdaBoost a. Multi-scale Block Local Binary Pattern Operator LBP asli label pixel dari suatu gambar dengan thresholding tetangga 3x3 masing-masing pixel nilai pusat dan mempertimbangkan hasil sebagai string biner atau angka desimal. Kemudian histogram dari label dapat digunakan sebagai descriptor tekstur. Sebuah ilustrasi dari operator LBP dasar ditampilkan pada gambar 2.9. Multiscale LBP merupakan pengembangan dari LBP, sehubungan dengan penggunaan pixel tetangga (Liao, Zun, Lei, Zhang, & Li, 2007, p. 3).
34
Gambar 2.12 Proses operator LBP dan MB-LBP(a) LBP operator dasar (b) 9x9 MBLBP Operator Dalam MB-LBP, operator perbandingan antara pixel tunggal dalam LBP hanya diganti dengan perbandingan antara nilai-nilai abu-abu rata-rata pada sebagian daerah. Setiap wilayah sub blok persegi yang mengandung pixel tetangga. Keseluruhan filter terdiri dari 9 blok. kita mengambil ukuran s sebagai parameter, dan S X S yang menunjukkan skala operator MB-LBP (khususnya, 3 x 3 MB-LBP sebenarnya adalah LBP asli). Perhatikan bahwa nilai-nilai skalar dari rata-rata selama blok dapat dihitung sangat efisien dari tabel. Untuk alasan ini, MB-LBP ekstraksi fitur juga bisa sangat cepat karena hanya menimbulkan biaya lebih sedikit dari 3 x 3 LBP operator. Pada gambar 2.12 diberikan contoh MB-LBP gambar wajah disaring oleh 3 x 3, 9 x 9 dan 15 x 15 blok. Dari contoh ini kita bisa melihat pengaruh parameter s. Untuk skala kecil, lokal, pola mikro dari struktur wajah juga terwakili, yang bermanfaat untuk membedakan rincian lokal wajah. Di sisi lain, menggunakan daerah rata-rata nilai daerah, filter skala besar mengurangi kebisingan, dan membuat representasi yang lebih kuat, dan informasi skala besar memberikan informasi melengkapi rincian skala kecil. Tapi banyak informasi diskriminatif juga turun.
35
Biasanya, filter dari berbagai skala harus hati-hati dipilih dan kemudian disatukan untuk mencapai kinerja yang lebih baik.
Gambar 2.13 Perbedaan citra pada jenis MB-LBP(a) gambar awal (b) 3x3 MBLBP (c) 9x9 MB-LBP (d) 15x15 MB-LBP
Pada gambar 2.13 menunjukkan MB-LBP fitur untuk gambar perbedaan intrapersonal dan ekstra-personal (piksel yang terang menunjukkan perbedaan yang lebih
besar).
Perbedaan
diskriminatif dari MB-LBP.
gambar digunakan untuk
menunjukkan
kekuatan
36
Gambar 2.14 Perbedaan citra pada intra dan extra personal image (a)(b)gambar intrapersonal image (c)(d)(e)hasil gambar dari 3x3,9x9,15x15 MB-LBP (f)(g)gambar extra-personal image (h)(i)(j)hasil gambar dari 3x3,9x9,15x15 MB-LBP b. Gentle AdaBoost Gentle AdaBoost merupakan pengembangan dari metode AdaBoost. Gentle AdaBoost menggunakan regresi pangkat terkecil untuk meminimasi fungsi (Ferreira, 2007, pp. 6-7).
Gambar 2.15 Algoritma Gentle AdaBoost
37
Pada gambar 2.15, fungsi H dicari dengan menentukan kuadrat terkecil y dan x dengan nilai weight w. Kemudian dilakukan perulangan pada fungsi yang didapat dengan fungsi baru. Penambahan kedua fungsi menghasilkan fungsi baru. Setelah didapat fungsi yang baru dilakukan normalisasi. Tujuan gentle adaboost adalah menentukan suatu fungsi yang mewakili seluruh hasil data training yang telah dimasukkan. Kemudian dari hasil fungsi tersebut ditentukan batas error yang digunakan sebagai tolak ukur data input baru.
Gambar 2.16 Fungsi garis terbentuk dari AdaBoost
Klasifikasi menggunakan AdaBoost dilakukan dalam beberapa tahap. Tahapan tersebut dilakukan
dengan menetapkan penambahan jumlah bin setiap
kenaikan tahap klasifikasi data citra wajah. Pada gambar 2.16, klasifikasi dilakukan bertahap dengan tujuan menghemat waktu komputasi. Penghematan waktu komputasi
38
terjadi pada klasifikasi kasar pada tahap awal. Sehingga tidak perlu dilakukan klasifikasi detail atau menggunakan semua bin pada semua data citra wajah.
Gambar 2.17 Proses klasifikasi AdaBoost
c. Local Binary Pattern Histogram untuk Recognition Pada proses LBP, dibentuk histogram dengan menambahkan nilai setiap blok sesuai dengan pola biner yang sama. Pola biner tersebut yang digunakan berdasakan pattern uniform yang digunakan. Pada prakteknya suatu image dibagi menjadi beberapa bagian/blok. Hal ini dilakukan untuk mempercepat proses komputasi yang dilakukan. Pada Gambar 2.17, proses ekstrasi wajah dilakukan dengan menggunakan local binary pattern. Uniform pattern yang digunakan adalah 2. Alasan digunakan pengambilan pola biner hanya pada U2 karena pola biner U2 mewakili sekitar 80% dari jumalh pixel yang ada(Lopez, 2010, p. 9). Sehingga hal ini tidak mengganggu proses identifikasi wajah. Dari 8 biner terdapat 256 pola biner yang di dapat dari 2 pangkat 8. Namun pola biner uniform pattern 2 hanya terdapat 58 pola biner uniform. Tapi perlu ditambah kan 1 lagi sebagai non-uniform sebagai perwakilan dari semua pola nonuniform. Sehingga jumlah bin yang digunakan adalah 59 bin.
39
Gambar 2.18 Proses penentuan nilai pada LBP a) Contoh gambar wajah b) LBP image label c) Histogram LBP uniform pattern 2
d. Euclidean Distance Euclidean distance adalah matrik yang paling sering digunakan untuk menghitung kesamaan 2 Vektor. Euclidean distance menghitung akar dari kiadrat perbedaan 2 Vektror (Picas.2008). Rumus dari Euclidian distance:
Contoh : Terdapat 2 vektor ciri berikut:
40
Euclidean Distance dari vektor A dan B adalah
Euclidean distance adalah kasus istimewa dari Minkowski distance dengan
2.8.3 OpenCV OpenCV (Open Computer Vision) adalah program opensource berbasiskan C++ yang saat ini banyak digunakan sebagai program computer vision. Dengan OpenCV dapat membuat interaksi antara manusia dan computer, misalnya wajah dari manusia dideteksi oleh camera/webcam, lalu di proses oleh computer, untuk melakukan aksi tertentu seperti mengikuti/mengenal wajah orang tersebut. Kesemuanya itu membutuhkan openCV sebagai program utama antara webcam dan perangkatnya yaitu computer maupun smartphone. Library ini terdiri dari fungsi-fungsi computer vision dan API (Aplication Programming Interface) untuk image processing high level maupun low level dan sebagai optimisasi aplikasi realtime. OpenCV sangat disarankan untuk programmer yang akan berkutat pada bidang computer vision, karena library ini mampu menciptakan aplikasi yang handal,
41
kuat dibidang digital vision, dan mempunyai kemampuan yang mirip dengan cara pengolahan pada manusia. a. Fitur Open CV Berikut ini adalah fitur-fitur pada library OpenCV :
Manipulasi data gambar (alokasi memori, melepaskan memori, kopi gambar, setting serta konversi gambar)
Image/video I/O (bisa menggunakan camera yang sudah didukung oleh library ini)
Manipulasi matriks dan vector serta terdapat juga routines linear algebra (products, solvers, eigenvalues, SVD)
Image processing dasar (filtering, edge detection, pendeteksian tepi, sampling dan interpolasi, konversi warna, operasi morfologi, histograms, image pyramids)
Analisis structural
Kalibrasi kamera
Pendeteksian gerak
Pengenalan objek
Basic GUI (Display gambar/video, mouse/keyboard control, scrollbar)
Image Labelling (line, conic, polygon, test drawing)