BAB II LANDASAN TEORI Pada bab dua ini, dituliskan landasan teori dari topik tugas akhir. Diantaranya, pengertian Mikrokontroler, Atmel, Motor Servo, Webcam, CCTV, Motion Detector, Model-Mode Perancangan, Konsep Dasar Port, Konsep Dasar Komponen Elektronika, UML, Perangkat Lunak, Software Aplikasi. 2.1 Mikrokontroler [7] Mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus. Sederhananya, cara kerja mikrokontroler sebenarnya hanya membaca dan menulis data. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut "pengendali kecil" dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini. Dengan penggunaan mikrokontroler ini maka : 1. Sistem elektronik akan menjadi lebih ringkas 2. Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem adalah perangkat lunak yang mudah dimodifikasi 3. Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedar menambah jumlah saluran masukan dan keluaran (I/O). Dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler yang langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital dan sebagainya hanya menggunakan sistem minimum yang tidak rumit atau kompleks. II-1 II-2 2.1.1 Macam-Macam Mikrokontroler Secara teknis hanya ada 2 yaitu RISC dan CISC dan masing-masing mempunyai keturunan/keluarga sendiri-sendiri. 1. RISC kependekan dari Reduced Instruction Set Komputer : instruksi terbatas tapi memiliki fasilitas yang lebih banyak 2. CISC kependekan dari Complex Instruction Set Komputer : instruksi bisa dikatakan lebih lengkap tapi dengan fasilitas secukupnya. Secara umum jenis-jenis mikrokontroler yang digunakan sehari-hari dapat dibedakan menurut berikut ini. 1. Keluarga MCS51 Mikrokonktroler ini termasuk dalam keluarga mikrokonktroler CISC. Sebagian besar instruksinya dieksekusi dalam 12 siklus clock. Mikrokontroler ini berdasarkan arsitektur Harvard dan meskipun awalnya dirancang untuk aplikasi mikrokontroler chip tunggal, sebuah mode perluasan telah mengizinkan sebuah ROM luar 64KB dan RAM luar 64KB diberikan alamat dengan cara jalur pemilihan chip yang terpisah untuk akses program dan memori data. Salah satu kemampuan dari mikrokontroler 8051 adalah pemasukan sebuah mesin pemroses boolean yang mengijikan operasi logika boolean tingkatan-bit dapat dilakukan secara langsung dan secara efisien dalam register internal dan RAM. Karena itulah MCS51 digunakan dalam rancangan awal PLC (programmable Logic Control). 2. AVR Mikrokonktroler Alv and Vegard’s Risc processor atau sering disingkat AVR merupakan mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian besar kode instruksinya dikemas dalam satu siklus clock. AVR adalah jenis mikrokontroler yang paling sering dipakai dalam bidang elektronika dan instrumentasi. Secara umum, AVR dapat dikelompokkan dalam 4 kelas. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral dan fungsinya. Keempat kelas tersebut adalah keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx. II-3 3. PIC Pada awalnya, PIC merupakan kependekan dari Programmable Interface Controller. Tetapi pada perkembangannya berubah menjadi Programmable Intelligent Komputer. PIC termasuk keluarga mikrokonktroler berarsitektur Harvard yang dibuat oleh Microchip Technology. Awalnya dikembangkan oleh Divisi Mikroelektronik General Instruments dengan nama PIC1640. Sekarang Microhip telah mengumumkan pembuatan PIC-nya yang keenam PIC cukup popular digunakan oleh para developer dan para penghobi ngoprek karena biayanya yang rendah, ketersediaan dan penggunaan yang luas, database aplikasi yang besar, serta pemrograman (dan pemrograman ulang) melalui hubungan serial pada komputer. 2.1.2 Mikrokontroler Atmel 89S51[7] Untuk dapat memprogram mikrokontroler hal utama dan perlu adalah mengetahui arsitektur mikrokontroler tersebut. Tiap jenis mikrokontroler mempunyai arsitektur detail yang berbeda-beda, akan tetapi meskipun berbeda semuanya mempunyai konsep yang sama yaitu terdiri atas Processor, Memory, I/O, Clock Generator, Reset. Dalam tulisan ini akan di jelaskan sedikit tentang arsitektur mikrokontroler jenis MCS51 yang diwakili oleh AT89S51/52 pada gambar 2.1 pada gambar berikut ini. Gambar 2.1 Arsitektur Mikrokontroler AT89S51 II-4 2.1.3 Konfigurasi Pin Mikrokontroler AT89S51 [10] Susunan pin mikrokontroler AT89S51 diperlihatkan pada gambar 2.2 berikut ini. Gambar 2.2 Konfigurasi Pin AT89S51 Mikrokontroler AT89S51 memiliki pin berjumlah 40 dan umumnya dikemas dalam DIP (Dual Inline Package). Masing-masing pin pada mikrokontroler AT89S51 mempunyai kegunaan sebagai berikut: 1. Port 0 Port 0 merupakan port dua fungsi yang berada pada pin 32-39 dari AT89S51. Dalam rancangan sistem sederhana port ini sebagai port I/O serbaguna. Untuk rancangan yang lebih komplek dengan melibatkan memori eksternal jalur ini dimultiplek untuk bus data dan bus alamat. 2. Port 1 Port 1 disediakan sebagai port I/O dan berada pada pin 1-8. Beberapa pin pada port ini memiliki fungsi khusus yaitu P1.5 (MOSI), P1.6 (MISO), P1.7 (SCK) yang digunakan untuk jalur download program. 3. Port 2 Port 2 ( pin 21-28 ) merupakan port dua fungsi yaitu sebagai I/O serbaguna, atau sebagai bus alamat byte tinggi untuk rancangan yang melibatkan memori eksternal. II-5 4. Port 3 Port 3 adalah port dua fungsi yang berada pada pin 10-17, port ini memiliki multi fungsi, seperti yang terdapat pada tabel 2.1 berikut ini : Tabel 2.1. Fungsi alternatif port BIT NAME BIT ADDRESS ALTERNATE FUNCTION P3.0 RXD B0h Receive data for serial port P3.1 TXD B1h Transmit data for serial port P3.2 INT0 B2h External interrupt 0 P3.3 INT1 B3h External interrupt 1 P3.4 T0 B4h Timer/counter 0 external input P3.5 T1 B5h Timer/counter 1 external input P3.6 WR B6h External data memory write strobe P3.7 RD B7h External data memory read strobe 5. PSEN (Program Store Enable) PSEN adalah sebuah sinyal keluaran yang terdapat pada pin 29. Fungsinya adalah sebagai sinyal kontrol untuk memungkinkan mikrokontroler membaca program (code) dari memori eksternal. Biasanya pin ini dihubungkan ke pin OE EPROM. Jika eksekusi program dari ROM internal atau dari flash memori (ATMEL AT89SXX), maka PSEN berada pada kondisi tidak aktif (high). 6. ALE (Address Latch Enable) Sinyal output ALE yang berada pada pin 30 fungsinya sama dengan ALE pada microprocessor INTEL 8085, 8088 atau 8086. Sinyal ALE dipergunakan untuk demultiplek bus alamat dan bus data. Sinyal ALE membangkitkan pulsa sebesar 1/6 frekuensi oscillator dan dapat dipakai sebagai clock yang dapat dipergunakan secara umum. II-6 7. EA (External Access) Masukan sinyal EA terdapat pada pin 31 yang dapat diberikan logika rendah (ground) atau logika tinggi (+5V). Jika diberikan logika tinggi maka mikrokontroler akan mengakses program dari ROM internal (EPROM/flash memori). Jika diberi logika rendah maka mikrokontroler akan mengakses program dari memori eksternal. 8. RST (Reset) Input reset pada pin 9 adalah reset master untuk AT89S51. Pulsa transisi dari tinggi selama 2 siklus ke rendah akan mereset mikrokontroler. 9. Oscillator Oscillator yang disediakan pada chip dikemudikan dengan XTAL yang dihubungkan pada pin 18 dan pin 19. Diperlukan kapasitor penstabil sebesar 30 pF. Besar nilai XTAL sekitar 3 MHz sampai 33 MHz. XTAL1 adalah input ke pembalikan penguat osilator (inverting oscillator amplifier) dan input ke clock internal pengoperasian rangkaian. Sedangkan XTAL2 adalah output dari pembalikan penguat osilator. Gambar 2.3. Konfigurasi Xtal Osilator 10. Power AT89S51 dioperasikan pada tegangan supply +5v, pin Vcc berada pada nomor 40 dan Vss (ground) pada pin 20. II-7 2.2 Motor Servo [8] Motor servo adalah motor yang mampu bekerja dua arah (CW dan CCW) dimana arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan memberikan pengaturan duty cycle sinyal PWM pada bagian pin kontrolnya. Motor servo adalah jenis motor yang digunakan sebagai penggerak pada sistem servo (servo-system) seperti pada penggerak pada kontrol posisi lengan robot. Motor servo secara struktur mesin listrik ada 2 macam : dc servo motor dan ac servo motor. DC Servo motor mempunyai konstruksi yang sama dengan konstruksi motor dc. Dalam motor dc konvensional sikat dan cincin belah merupakan suatu kerugian. Karena ada gesekan antara sikat dan cincin maka akan terjadi rugi gesek, timbulnya percikan api dan terkikisnya sikat arang maupun cincin. Maka mulai dipikirkan Motor dc tanpa sikat atau disebut Brushless DC Motor. Brushless DC Motor dapat diwujudkan dengan menggunakan prinsip kerja motor induksi 3 phasa (tanpa sikat dan cincin). Dengan menambahkan komponen permanent magnet, electronic inverter (yang menimbulkan medan putar) dan position kontrol (umumnya menggunakan sensor effek Hall), maka akan didapatkan motor dc brushless. Jadi disini rangkaian inverter dan kontrol posisi berfungsi sebagai pengganti komutator mekanik (sikat & cincin belah) dalam membalik medan. Motor dc brushless ini mempunyai karateristik yang mendekati dc motor konvensional. Untuk mengerti cara kerja Motor Servo DC Magnet Permanen haruslah dimengerti bagaimana prinsip kerja Motor DC Magnet Permanen, Motor DC tanpa sikat dan medan putar. 2.2.1 Jenis-Jenis Motor Servo [6] 1. Motor Servo Standar180° Motor servo jenis ini hanya mampu bergerak dua arah (CW dan CCW) dengan defleksi masing-masing sudut mencapai 90° sehingga total defleksi sudut dari kanan–tengah–kiri adalah180°. 2. Motor Servo Continuous Motor servo jenis ini mampu bergerak dua arah (CW dan CCW) tanpa batasan defleksi sudut putar (dapat berputar secara berkesinambungan) II-8 2.2.2 Pensinyalan Motor Servo [6] Gambar 2.4 Pensinyalan Motor Servo Motor Servo akan bekerja secara baik jika pada bagian pin kontrolnya diberikan sinyal PWM (Pulse Width Modulation) dengan frekuensi 50 Hz (pada gambar 2.4). Dimana pada saat sinyal dengan frekuensi 50 Hz tersebut dicapai pada kondisi Ton duty cycle 1.5 ms, maka rotor dari motor akan berhenti tepat ditengah-tengah (sudut 0°/ netral). Pada saat Ton duty cycle dari sinyal yang diberikan kurang dari 1.5ms, maka rotor akan berputar kearah kiri dengan membentuk sudut yang besarnya linier terhadap besarnyaTon duty cycle, dan akan bertahan diposisi tersebut. Dan sebaliknya, jika Ton duty cycle dari sinyal yang diberikan lebih dari 1.5ms, maka rotor akan berputar kearah kanan dengan membentuk sudut yang linier pula terhadap besarnya Ton duty cycle, dan bertahan diposisi tersebut. Untuk motor servo pada gambar 2.5 berbeda dengan DC dan juga Stepper. Pada DC dan Stepper rangkaian searah tanpa ada feedback. dalam motor servo di gunakan sistem umpan balik. Servo sendiri merupaka suatu motor yang di design dengan sistem feedback dimana posisi dari motor akan dinformasikan kembali ke dalam servo tersebut. Prinsip kerja motor didasarkan pada peletakan suatu konduktor dalam suatu medan magnit. Pembahasan mengenai prinsip aliran medan magnit akan membantu kita memahami prinsip kerja dari sebuah motor. Jika suatu konduktor dililitkan dengan kawat berarus maka akan dibangkitkan medan magnit berputar. Kontribusi dari setiap putaran akan merubah intensitas II-9 medan magnit yang ada dalam bidang yang tertutup kumparan. Dengan cara inilah medan magnit yang kuat terbentuk. Tenaga yang digunakan untuk mendorong flux magnit tersebut disebut Manetomotive Force ( MMF ). Gambar 2.5 Motor Servo Flux magnet digunakan untuk mengetahui seberapa banyak flux pada daerah disekitar koil atau magnit permanent. Medan magnit pada motor DC servo dibangkitkan oleh magnit permanent, jadi tidak perlu tenag untuk membuat medan magnit. Flux madan magnit pada stator tidak dipengaruhi oleh arus armature. Oleh karena itu, kurva perbandingan antara kecepatan dengan torsi adalah linier. Pada prinsipnya jika sebuah penghantar dilalui arus listrik, Ia, ia akan menghasilkan medan magnet disekelilingnya. Kemudian bilamana penghantar ini ditempatkan dalam induksi magnetic B, akan memperoleh gaya FB. besarnya gaya yang ditimbulkan sebanding dengan arus listrik Ia dan panjang penghantar L yang memotong induksi magnetik B. atau biasa dinyatakan dengan persamaan, Induksi magnetik : Fb = B . I . L II-10 Motor servo biasanya hanya bergerak mencapai sudut tertentu saja dan tidak kontinyu seperti motor DC maupun motor stepper. Walau demikian, untuk beberapa keperluan tertentu, motor servo dapat dimodifikasi agar bergerak kontinyu. Gambar 2.6 berikut merupakan contoh pengkabelan pada motor servo Gambar 2.6 Kabel Motor Servo 2.3 Webcam [12] Webcam atau web camera adalah sebuah camera video digital kecil yang dihubungkan ke komputer melalui (biasanya) port USB atau port COM. Istilah webcam merujuk pada teknologi secara umumnya, sehingga kata web terkadang diganti dengan kata lain yang mendeskripsikan pemandangan yang ditampilkan di camera. Beberapa contoh pemakaian webcam yaitu TraffiCam yang digunakan untuk memonitor keadaan jalan raya, cuaca dengan WeatherCam, bahkan keadaan gunung berapi dengan VolcanoCam. Sebuah webcam yang sederhana terdiri dari sebuah lensa standar, dipasang disebuah papan sirkuit untuk menangkap sinyal gambar; cassing (penutup), termasuk cassing depan dan cassing samping untuk menutupi lensa standar dan memiliki sebuah lubang lensa di cassing depan yang berguna untuk memasukkan gambar, kabel support, yang dibuat dari bahan yang fleksibel, salah satu ujungnya dihubungkan dengan papan sirkuit dan ujung satu lagi memiliki connector, kabel ini dikontrol untuk menyesuaikan ketinggian, arah dan sudut pandang webcam. Sebuah webcam biasanya dilengkapi dengan software, software ini mengambil gambar-gambar dari camera digital secara terus menerus ataupun dalam interval waktu tertentu dan menyiarkannya melalui koneksi internet. Ada beberapa metode penyiaran, metode yang paling umum adalah software merubah gambar ke dalam bentuk file JPEG dan meng-uploadnya ke webserver menggunakan File Transfer Protocol (FTP). Frame rate mengindikasikan jumlah gambar sebuah software dapat ambil dan transfer dalam II-11 satu detik. Sebuah webcam tidak harus selalu terhubung dengan komputer, ada webcam yang memiliki software webcam dan web server bulit-in, sehingga yang diperlukan hanyalah koneksi internet. Webcam seperti ini dinamakan “network camera”. Sekarang ini webcam yang ada di pasaran pada umumnya terbagi ke dalam dua tipe yang pertama webcam permanen (fixed) dan revolving webcam. Pada webcam permanen terdapat pengapit untuk mengapit lensa standar diposisi yang diinginkan untuk menangkap gambar pengguna. Sedangkan pada revolving webcam terdapat landasan dan lensa standar dipasang dilandasan tersebut sehingga dapat disesuaikan ke sudut pandang yang terbaik untuk menangkap gambar pengguna. Webcam memiliki fitur-fitur dan pengaturan yang bermacammacam, diantaranya adalah: 1. Motion Sensing webcam akan mengambil gambar ketika camera mendeteksi gerakan. 2. Image archiving pengguna dapat membuat sebuah archive yang menyimpan semua gambar dari webcam atau hanya gambar-gambar tertentu saat interval pre-set. 3. Video messaging beberapa program messaging mendukung fitur ini. 4. Advanced connections menyambungkan perangkat home theater ke webcam dengan kabel maupun nirkabel. 5. Automotion camera robotik yang memungkinkan pengambilan gambar sesuai setting program pengambilan frame berdasarkan posisi camera. 6. Streaming media aplikasi profesional, setup webcam dapat menggunakan kompresi MPEG4 untuk mendapatkan streaming audio dan video yang sesungguhnya. 7. Custom coding mengimport kode komputer pengguna untuk memberitahu webcam apa yang harus dilakukan (misalnya automatically refresh). II-12 8. AutoCam memungkinkan pengguna membuat web page untuk webcamnya secara gratis di server perusahaan pembuat webcam. Dengan semakin banyaknya penggunaan webcam di seluruh dunia. Web site ini memungkinkan untuk menemukan live video stream berdasarkan lokasi ataupun kriteria lainnya. Ada beberapa permasalahan yang dihadapi webcam. Secara fisik, kamera-kamera yang beredar dipasaran memiliki kesulitan untuk memenuhi kebutuhan personal pengguna karena desainnya yang cukup bergaya namun hanya memiliki sedikit variasi. Lalu, sudut pandang webcam disesuaikan tidak langsung dalam cara yang tidak nyaman. Dan juga pengguna banyak menemui kesulitan ketika menyesuaikan posisi webcam untuk menangkap gambar. Permasalahan lainnya adalah sebuah program yang dinamakan ‘Trojan Horse’, program ini memungkinkan hacker untuk mengaktifkan webcam tanpa sepengetahuan pengguna camera. Sehingga hacker dapat mengambil gambar live video dari sang pengguna kamera. Untuk menanggulanginya, kamera-kamera dilengkapi penutup lensa ataupun lampu LED yang akan menyala jika kamera dalam keadaan aktif. 2.4 Port [11] Port adalah suatu celah atau pintu atau lubang pada sistem komputer sebagai jalur transfer data. Pada sistem komputer sebenarnya ada dua jenis port, yaitu: 1. Port fisik Adalah soket atau slot atau colokan yang ada di belakang CPU sebagai penghubung peralatan input-output komputer, misalnya mouse, keyboard, printer, dll Yang termasuk dengan port fisik adalah port serial, port parallel, port usb, port SCSI, port infra merah, dll 2. Port logika Atau disebut juga port non fisik adalah port yang digunakan software sebagai jalur untuk melakukan koneksi dengan komputer lain, tentunya termasuk koneksi II-13 internet. Berikut yang merupakan port non fisik adalah port 80, port 81 port 21, port 22, dll. 2.4.1 Port Paralel [9] Ada dua macam konektor parallel port atau port paralel , yaitu 36 pin dan 25 pin. Konektor 36 pin dikenal dengan nama Centronics dan konektor 25 pin dikenal dengan DB25. Centronics lebih dahulu ada dan digunakan dari pada konektor DB-25. DB-25 diperkenalkan oleh IBM (bersamaan dengan DB-9, untuk serial port), yang bertujuan untuk menghemat tempat. Karena DB-25 lebih praktis, maka untuk koneksitor parallel port pada komputer sekarang hanya digunakan DB-25.Di komputer, konektor parallel port yang terpasang adalah DB25 betina , sehingga kabel penghubung keluar adalah DB-25 jantan. Parallel port dapat mengirimkan 8 bit data sekaligus/serentak dalam satu waktu, lebih cepat dibanding serial port. Paralel port ini menggunakan konektor DB25. Panjang kabel maksimum yang diperlukan / diperbolehkan adalah 15 feet. Contoh peralatan yang menggunakan parallel port adalah: printer, scanner, external driver dan lain-lain. Standar port paralel yang baru ialah Institute of Electric and Electronics Enggineer atau disingkat IEEE 1284 dimana dikeluarkan tahun 1994. Standar port parallel IEEE 1284 mendefinisikan 5 mode operasi, yaitu: 1. Mode Compatibilitas. 2. Mode nibble. 3. Mode byte. 4. Mode EPP (Enchanced Parallel Port). 5. Mode ECP (Extented Capability Port). Tujuan dari standar yang baru tersebut ialah untuk mendesain driver dan peralatan yang baru yang kompatibel dengan peralatan lainnya serta standar paralel port sebelumnya (SPP) yangn diluncurkan tahun 1981. Mode Compatibilitas, nibble dan byte digunakan sebagai standar perangkat keras yang tersedia di port paralel orisinal. EPP dan ECP membutuhkan tambahan hardware dimana dapat berjalan dengan kecepatan yang lebih tinggi. Mode kompatibilitas II-14 atau (“Mode Centronics” ) hanya dapat mengirimkan data pada arah maju pada kecepatan 50 KBytes per detik hingga 150 KBytes per detik. Untuk menerima data, harus mengubah mode menjadi mode nibble atau byte. Mode nibble dapat menerima 4 bit (nibble) pada arah yang mundur, misalnya dari alat ke komputer. Mode byte menggunakan fitur bi-directional parallel untuk menerima 1 byte (8 bit) data pada arah mundur. IRQ (Interrupt Request ) pada port paralel biasanya pada IRQ5 atau IRQ7. Port paralel Extend dan Enhanced menggunakan hardware tambahan untuk membangkitkan dan mengatur handshaking. Untuk mengeluarkan 1 byte ke printer menggunakan mode kompatibilitas, software harus : 1. Menulis byte ke data port. 2. Cek untuk melihat apakah printer sibuk, jika sibuk, ia tidak akan menerima data, sehingga data yang telah ditulis akan hilang. 3. Buat strobe (pin 1) rendah. Ini memberitahukan printer bahwa data yang benar telah berada di line data. 4. Buat strobe tinggi lagi setelah menunggu sekitar 5 mikrodetik setelah membuat strobe low. Hal ini membatasi kecepatan data. Sedangkan EPP dan ECP mengizinkan hardware mengecek jika printer sibuk dan mengeluarkan sinyal strobe atau handshaking lainnya. Ini berarti hanya 1 instruksi I/O yang harus dilakukan yang akan meningkatkan kecepatan Port ECP juga mempunyai kelebihan menggunakan saluran DMA dan buffer FIFO, jadi data dapat digeser tanpa menggunakan instruksi I/O. Protokol EPP mempunyai 4 macam siklus transfer data yang berbeda yaitu: 1. Siklus baca data (Data Read). 2. Siklus baca alamat (Address Read). 3. Siklus tulis data (data write). 4. Siklus tulis alamat (Address Write). Siklus data digunakan untuk mentrasfer data antara host dan peripheral. Siklus alamat digunakan untuk mengirimkan alamat, saluran (channel) atau informasi perintah dan kontrol. II-15 Di komputer, konektor parallel port yang terpasang adalah DB-25 betina, sehingga kabel penghubung keluar adalah DB-25 jantan. Susunan/bentuk DB-25 tampak seperti gambar 2.7 berikut ini : Gambar 2.7 Parallel Port DB-25 Dari 25 pin konektor DB-25 tersebut, hanya 17 pin yang digunakan untuk saluran pembawa informasi dan yang berfungsi sebagai ground 8 pin. Ketujuh belas saluran informasi itu terdiri dari tiga bagian, yakni data 8 bit; status 5 bit; dan control 4 bit. Bit control dan status berfungsi dalam “jabat tangan” dalam proses penulisan data ke paralel port. fungsi dari pin konektor DB-25 terdapat pada tabel 2.2. Pada parallel port level tegangan yang digunakan sama dengan level tegangan pada tegangan TTL (Transistor-Transistor Logic). Dimana untuk logika 1 menggunakan level tegangan 3,2 Volt s/d 5 Volt dan untuk logika 0 menggunakan level tegangan 0 volt s/d 2,5 volt. Tabel 2.2 fungsi Port Parallel DB-25 II-16 2.4.2 Port Serial [9] Serial Port atau biasa disebut dalam bahasa Indonesia adalah port seri merupakan sebuah port pada personal komputer yang berfungsi untuk mentransmisikan satu bit informasi pada satu satuan waktu. Dalam serial port, pengiriman informasi tidak memungkinkan untuk melakukan secara banyak sekalius. Hal ini disebabkan karena dalam melakukan pemindahan data, biasanya serial port bekerja seri, misalnya COM 1 dan COM 2. Untuk penggunaan port serial sekarang ini sudah berkurang. Penggunaan port serial telah tergantikan dengan port USB dan Firewire. Sedangkan untuk jaringan (networking) fungsinya sudah tergantikan dengan port Ethernet. Berikut beberapa fungsi serial port yaitu menghubungkan antara peripheral (alat) komputer lain dengan motherboard, penghubung antara mouse dengan motherboard, penghubung antara modem dengan motherboard, dan mentransmisikan informasi-informasi berupa bit-bit dari mainboard ke perangkat lainnya 2.5 Konsep Dasar Elektronika [1] Dalam kehidupan sehari-hari kita banyak menemui suatu alat yang mengadopsi elektronika sebagai basis teknologinya misalnya televisi, radio, telepon, komputer, lampu lalu lintas, dan masih banyak contoh lainnya yang hamper semua peralatan menggunakan elektronika sebagai dasar teknologinya. Revolusi besar-besaran terhadap elektronika terjadi sekitar tahun 1960-an, dimana saat itu mulai ditemukan suatu alat elektronika yang dinamakan Transisor, sehingga dimungkinkan untuk membuat suatu alat dengan ukuran yang kecil dimana sebelumnya alat-alat tersebut masih menggunakan tabung-tabung fakum yang ukurannya besar serta mengkonsumsi listrik yang besar. Hanya dalam kurun waktu 10 tahun sejak ditemukan nya transistor, ditemukan sebuah rangkaian terintegrasi yang dikenal dengan IC ( Integrated Circuit ) merupakan sebuah rangkaian terpadu yang berisi puluhan bahkan jutaan transistor di dalamnya. Sehingga kita bisa melihat sebuah perangkat elektronika semakin kecil bentuknya tetapi semakin banyak fungsinya sebagai contoh telephone genggam (Handphone ) yang kita pakai saat ini. II-17 2.5.1 Resistor Resistor adalah komponen dasar elektronika yang digunakan untuk membatasi jumlah arus yang mengalir dalam satu rangkaian. Sesuai dengan namanya resistor bersifat resistif dan umumnya terbuat dari bahan karbon. Dari hukum Ohms diketahui, resistansi berbanding terbalik dengan jumlah arus yang mengalir melaluinya. Satuan resistansi dari suatu resistor disebut Ohm atau dilambangkan dengan simbol W (Omega). Untuk menyatakan resistansi sebaiknya disertakan batas kemampuan dayanya. Berbagai macam resistor di buat dari bahan yang berbeda dengan sifatsifat yang berbeda. Spesifikasi lain yang perlu diperhatikan dalam memilih resitor pada suatu rancangan selain besar resistansi adalah besar watt-nya. Karena resistor bekerja dengan dialiri arus listrik, maka akan terjadi disipasi daya berupa panas sebesar W=I2R watt. Semakin besar ukuran fisik suatu resistor bisa menunjukkan semakin besar kemampuan disipasi daya resistor tersebut. Umumnya di pasar tersedia ukuran 1/8, 1/4, 1, 2, 5, 10, dan 20 watt. Resistor yang memiliki disipasi daya 5, 10, dan 20 watt umumnya berbentuk kubik memanjang persegi empat berwarna putih, namun ada juga yang berbentuk silinder. Tetapi biasanya untuk resistor ukuran jumbo ini nilai resistansi dicetak langsung dibadannya, misalnya 100W5W. Resistor dalam teori dan prakteknya di tulis dengan perlambangan huruf R. Dilihat dari ukuran fisik sebuah resistor yang satu dengan yang lainnya tidak berarti sama besar nilai hambatannya. Nilai hambatan resistor di sebut resistansi. Tidak semua nilai resistansi sebuah resistor dicantumkan dengan lambang bilangan melainkan dengan cincin kode warna. Banyaknya cincin kode warna pada setiap resistor berjumlah 4 dan ada juga yang berjumlah 5. Resistansi yang mempunyai 5 cincin terdiri dari cincin 1, 2, dan 3 adalah cincin digit, cincin 4 sebagai pengali serta cincin 5 adalah toleransi. Resistansi yang mempunyai 4 cincin terdiri dari cincin 1 dan 2 adalah sebagai digit, cincin 3 adalah cincin pengali dan cincin 4 sebagai toleransi. Pada gambar 2.8 merupakan contoh dari resistor. II-18 Gambar 2.8 Resistor Di bawah ini tabel keterangan warna-warna pada setiap resistor : Tabel 2.3 Kode Warna Pada Resistor Pita Cincin Pita Cincin Pita Cincin Pita Cincin Ke 1 Ke 2 Ke 3 Ke 4 Warna Angka Hitam Coklat Merah Jingga Kuning Hijau Biru Ungu AbuPutih - 1 2 3 4 5 6 7 8 9 - Warna Hitam Coklat Merah Jingga Kuning Hijau Biru Ungu Abu-abu Putih - Angka 0 1 2 3 4 5 6 7 8 9 - Warna Hitam Coklat Merah Jingga Kuning Hijau Biru Ungu Abu-abu Putih Emas Perak Tanpa warna Jumlah nol 101 102 103 104 105 106 107 108 109 10-1 10-2 10-3 Warna Hitam Coklat Merah Jingga Kuning Hijau Biru Ungu Abu-abu Putih Emas Perak Tanpa warna Kode Huruf 1) Huruf I menyatakan nilai resistor dan tanda koma desimal. Jika huruf I adalah : R artinya x 1(kali satu) ohm K artinya x 103(kali 1000) ohm M artinya x 106(kali 1000000) ohm Toleransi ±20% ±1% ±5% ±5% ±10% ±20% II-19 2) Huruf II menyatakan toleransi Jika huruf II adalah : J artinya toleransi ± 5 % K artinya toleransi ± 10 % M artinya toleransi ± 20 % 2.5.2 Transistor Transistor adalah alat semikonduktor yang dipakai sebagai penguat, sebagai sirkuit pemutus dan penyambung, stabilisasi tegangan, modulasi sinyal atau sebagai fungsi lainnya. Transistor dapat berfungsi semacam kran listrik, dimana berdasarkan arus inputnya (BJT) atau tegangan inputnya (FET), memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber listriknya. Pada umumnya, transistor memiliki 3 terminal. Tegangan atau arus yang dipasang di satu terminalnya mengatur arus yang lebih besar yang melalui 2 terminal lainnya. Transistor adalah komponen yang sangat penting dalam dunia elektronik modern. Dalam rangkaian analog, transistor digunakan dalam amplifier (penguat). Rangkaian analog melingkupi pengeras suara, sumber listrik stabil, dan penguat sinyal radio. Dalam rangkaian-rangkaian digital, transistor digunakan sebagai saklar berkecepatan tinggi. Beberapa transistor juga dapat dirangkai sedemikian rupa sehingga berfungsi sebagai logic gate, memori, dan komponen-komponen lainnya. Transistor adalah komponen elektronika multitermal. Secara harfiah, kata ‘Transistor’ berarti ‘ Transfer resistor’, yaitu suatu komponen yang nilai resistansi antara terminalnya dapat diatur. Secara umum transistor terbagi dalam 2 jenis : 1. Transistor Bipolar (Bipolar Junction Transistor) 2. Transistor Unipolar (Field-Effect Transistor) Bipolar adalah salah satu dari dua jenis transistor. Cara kerja BJT dapat dibayangkan sebagai dua dioda yang terminal positif atau negatifnya berdempet, sehingga ada tiga terminal. Ketiga terminal tersebut adalah emiter (E), kolektor II-20 (C), dan basis (B). Transistor bipolar dinamakan demikian karena kanal konduksi utamanya menggunakan dua polaritas pembawa muatan: elektron dan lubang, untuk membawa arus listrik. Dalam BJT, arus listrik utama harus melewati satu daerah/lapisan pembatas dinamakan depletion zone, dan ketebalan lapisan ini dapat diatur dengan kecepatan tinggi dengan tujuan untuk mengatur aliran arus utama tersebut. Beberapa perbandingan transistor bipolar dan unipolar pada tabel 2.4 : Tabel 2.4 Perbandingan Transistor Bipolar dan Unipolar Bipolar Unipolar Dimensi Besar Kecil Daya BW Besar Lebar Kecil Sempit Respon Input Impendansi In Tinggi Arus Sedang Sedang Tegangan Tinggi Pada transistor bipolar, arus yang mengalir berupa arus lubang (hole) dan arus electron atau berupa pembawa muatan mayoritas dan minoritas. Transistor dapat berfungsi sebagai penguat tegangan, penguat arus, penguat daya atau sebagai saklar. Ada 2 jenis transistor yaitu PNP dan NPN. Transistor di desain dari pemanfaatan sifat diode, arus menghantar dari diode dapat dikontrol oleh electron yang ditambahkan pada pertemuan PN diode. Dengan penambahan elekdiode pengontrol ini, maka diode semi-konduktor dapat dianggap dua buah diode yang mempunyai electrode bersama pada pertemuan. Junction semacam ini disebut transistor bipolar dan dapat digambarkan pada gambar 2.9. Dengan memilih electrode pengontrol dari type P atau type N sebagai electrode persekutuan antara dua diode, maka dihasilkan transistor jenis PNP dan NPN Transistor dapat bekerja apabila diberi tegangan, tujuan pemberian tegangan pada transistor adalah agar transistor tersebut dapat mencapai suatu kondisi menghantar atau menyumbat. Baik transistor NPN maupun PNP tegangan antara emitor dan basis adalah forward bias, sedangkan antara basis dengan kolektor adalah reverse bias. II-21 NPN PNP Gambar 2.9 Simbol Transistor Bipolar 2.6 Model-Model Perancangan Ada beberapa model yang digunakan dalam perancangan software seperti model waterfall, model prototype, model RAD, model incremental, model spiral. Model-model ini berfungsi untuk merancang sebuah software yang diminta oleh pengguna. Dalam perancangan ini penulis menggunakan model waterfall yang dijelaskan sebagai berikut : 2.6.1 Model waterfall [13] Model ini memiliki beberapa tahapan yang terurut dan saling terkait satu sama lain. Tahapan-tahapan ini adalah pengambilan data, analisis, perancangan, koding, testing, maintenance tahapan ini lebih jelasnya adalah sebagai berikut: a. Requirements definition Pada tahap ini dilakukan penganalisaan terhadap perangkat keamanan yang telah ada. Tujuan dari analisis tersebut adalah mendefinisikan permasalahanpermasalahan yang terdapat pada keamanan terdahulu sehingga diperoleh kebutuhan secara garis besar sebagai persiapan ketahapan selanjutnya. Proses analisa dilakukan dengan pemodelan menggunakan metode Data Flow Oriented dengan tool Data Flow Diagram (DFD). b. System and software design Pada tahap ini dilakukan proses perancangan setelah semua kebutuhan selesai dikumpulkan secara lengkap. c. Implementation and unit testing Pengkodean dilakukan setelah tahap perancangan selesai. Pada tahap ini dilakukan konversi rancangan perangkat kedalam kode-kode bahasa II-22 pemrograman, dan pembuatan komponen-komponen perangkat keamanan yang meliputi modul program, antar muka / interface. d. Integration and system testing Tahap penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing). Pengujian merupakan tahapan dilakukan uji coba terhadap perangkat lunak yang telah selesai dibangun. Dan memastikan bahwa perangkat lunak yang dihasilkan sesuai dengan yang diharapkan oleh pihak yang bersangkutan. e. Operation and maintenance Tahapan mengoperasikan program di lingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi yang sebenarnya. Untuk lebih singkat setiap tahapan digambarkan pada gambar 2.10 berikut ini: Gambar 2.10 Model Waterfall 2.7 [13] Bahasa Pemodelan UML (Unified Modeling Language) [4] Sebuah aplikasi atau sebuah sistem yang sudah ada, mungkin akan membuat orang-orang yang baru mulai berinteraksi dengan sistem sulit mengerti jalannya proses dari sistem tersebut. Dalam hal ini UML berperan penting sebagai media pembelajaran atau sebagai peta dari sistem. Bagi para pembangun sistem sendiri, UML berfungsi sebagai media dokumentasi untuk pencarian bug, II-23 templeate sistem baru, penelusuran data flow ataupun sebagai dasar untuk meningkatkan kinerja sistem. 2.7.1 Pengertian UML [4] Unified Modeling Language (UML) adalah suatu perlengkapan yang sering digunakan untuk sitem development saat ini. UML memungkinkan pembuat sistem (sistem builder) untuk membuat cetak biru idea-idea mereka menurut standar yang ada, mudah dimengerti dan mengkomunikasikannya ke orang lain. 2.7.2 Diagram Use Case Diagram Use Case terdiri atas beberapa use case dan aktor, mengilustrasikan hubungan antara dua set. diagram use case adalah poin awal dari fase analisis pada pengembangan sistem. Terdapat asosiasi dan terhubung kepada aktor yang bertujuan memproyeksikan keseluruhan struktur dan ketersediaan didalam suatu sistem kepada para pembaca yang bukan berasal dari bidang ini, seperti pada tingkatan manajemen dan para end users. Use case bisa digunakan sebagai diagram dari aliran utama sistem, dimana menggambarkan sistem berjalan tanpa ada error yang terjadi. diagram use case juga bisa digunakan untuk menjelaskan aliran kerja alternatif dari sistem dalam hal ini berkaitan dengan situasi saat penanganan error). Gambaran umum dari diagram use case dapat dilihat dalam gambar 2.11 dibawah ini : Gambar 2.11 Contoh diagram use case II-24 2.7.3 Diagram Class Gambar 2.12 Contoh Diagram Class Diagram Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Diagram Class menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Sehingga menurut Gambaran umum tentang diagram class dapat dilihat pada gambar 2.12 : 2.7.4 Diagram Statechart Diagram statechart digunakan untuk memodelkan subsistem, interaksi antar class dan antarmuka sistem, dan untuk merealisasikan use case. Diagram ini digunakan selama dalam tahapan analisis dan perancangan. Sehingga menurut Gambaran umum tentang diagram statechart dapat dilihat pada gambar 2.13. II-25 2.7.5 Diagram Activity Diagram activity digunakan untuk menganalisa use case secara lebih dalam dan menampilkan interaksi antara use case. Diagram activity memiliki kesamaan dengan diagram statechart, sama-sama menampilkan aliran data. Tetapi, diagram activity digunakan untuk memodelkan kegiatan pada saat tahap perancangan use case. Diagram activity biasanya digunakan untuk menggambarkan kegiatan yang lebih rumit, membantu untuk mengidentifikasi use case atau mengidentifikasi interaksi antara use case dan didalam use case itu sendiri. Sehingga menurut Gambaran umum tentang diagram activity dapat dilihat pada gambar 2.14. Gambar 2.13 Contoh Diagram Statechart II-26 Gambar 2.14 Contoh Diagram Activity 2.7.6 Diagram Sequence Diagram equence menggambarkan interaksi antar objek didalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Diagram Sequence terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Diagram sequence biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Gambaran umum dari sebuah diagram sequence terlihat pada gambar 2.15 di bawah ini : II-27 Gambar 2.15 Contoh Diagram Sequence 2.8 Perangkat Lunak Perangkat lunak yang digunakan dalam pengembangan sistem kamera pengawasan menggunakan webcam ini yaitu sebagai berikut : 2.8.1 Software Sistem Software sistem merupakan background program yang memungkinkan software aplikasi dapat berfungsi pada peralatan hardware sistem komputer. Software sistem dapat dibedakan menjadi 3 bagian yaitu Operating System, Language Translator dan Utility Programs. Pada pembangunan Aplikasi Kamera Pengawas webcam ini menggunakan 2 bagian software sistem, yaitu: 1. Operating System, yang digunakan adalah Windows XP. Operating System tersebut merupakan kumpulan utama dari program yang mengatur aktivitas sistem komputer. 2. Language Translator, yang digunakan pada sistem ini adalah Microsoft Visual Studio 2008. Language Translator merupakan suatu program sistem II-28 yang berfungsi untuk mengkonversikan program aplikasi ke dalam bahasa mesin. 2.8.2 Software Aplikasi Software aplikasi merupakan suatu perangkat yang memungkinkan pemakai (user) memahami sistem komputer . Dalam pembuatan Aplikasi kamera pengawas menggunakan webcam menggunakan language software. 1. Microsoft Visual Basic .Net 2008 [1] Visual Basic dibuat oleh Microsoft, merupakan salah satu bahasa pemrograman berorientasi objek atau berbasis visual. Berikut ini gambar tampilan Microsoft Visual Basic.Net. Tampilan visual basic dapat di bagi menjadi beberapa komponen dimana komponen tersebut sebagai pendukung dalam mendisain tampilan yang akan kita buat atau pendukung dalam pengkodean. Komponen tersebut antara lain : Menu Bar Toolbar Toolbox Form Desaign Objek Properties Gambar 2.16 Tampilan Visual Basic.Net 1. Menu Bar Menu Bar berfungsi untuk memilih tugas-tugas tertentu, seperti memulai, membuka, dan menyimpan project, mengompilasi project menjadi file executable(EXE), dan lain-lain. II-29 2. Toolbar Toolbar memiliki fungsi yang sama seperti menu bar dan juga berfungsi seperti jalan pintas karna lebih praktis dalam penggunaannya. 3. Jendela ToolBox (ToolBox Standard) Toolbox Standard berisi komponen-komponen yang merupakan sarana untuk membentuk user interface. Berikut ini kegunaan masing-masing kontrol secara umum: a) PictureBox : digunakan untuk menampilkan gambar atau image b) Label : digunakan untuk menampilkan teks yang tidak dapat diubah oleh pengguna jika project sudah di-compile menjadi file EXE. c) TextBox : digunakan untuk menampilkan teks yang bisa diubah oleh pengguna. d) Frame, GroupBox, Panel : digunakan untuk mengelompokan controlkontrol yang dianggap memiliki fungsi sejenis. e) Command Button, Button : digunakan untuk memulai proses tertentu pada saat pengguna melakukan klik. f) CheckBox : digunakan untuk memberikan pilihan kepada pengguna. g) Option Button : fungsinya hampir sama dengan CheckBox. Bedanya, pada CheckBox biasanya pengguna bisa memilih lebih dari satu pilihan. h) ListBox : digunakan untuk memberikan pilihan dalam bentuk daftar. i) ComboBox : fungsinya hampir sama dengan dengan ListBox, hanya saja pengguna bisa memasukan pilihan lain. j) HscrollBar : digunakan untuk menggeser layar secara horizontal. k) VscrollBar : digunakan untuk menggeser layar secara vertical. l) Timer : digunakan untuk mengatur proses pada program dalam interval waktu tertentu. m) DriveListBox : digunakan untuk menampilkan drive yang ada. n) DirListBox : digunakan untuk menampilakan direktori pada drive. o) Shape : digunakan untuk menampilkan bentuk-bentuk tertentu. p) Line : digunakan untuk menampilkan garis. q) Image : digunakan untuk menampilkan image, tetapi tidak bisa berfungsi sebagai container. II-30 r) Data, Data Grid Viewer, Data Grid : digunakan untuk menghubungkan program ke database. s) OLE : digunakan untuk menghubungkan form dengan program lain. 4. Objek Properti Jendela ini berisi daftar properti untuk objek (form atau control) yang dipilih dan berfungsi untuk mengatur karakteristiknya, seperti warna, ukuran, dan lainlain. 5. Jendela Form Desaigner Jendela ini merupakan tempat untuk merancang user interface (tampilan program). Disinilah para programmer bisa meletakan kontrol-kontrol yang dibutuhkan. 2. Baskom Bascom-8051 adalah program kompiler menggunakan Basic berbasis Windows yang dapat digunakan untuk mikrokontroler keluarga 8051, misalnya AT89S51/52/55 dan AT89S2051/4051. Versi demo Bascom-8051 yang dikembangkan oleh MCS Electronic ini dapat diunduh di www.mcselec.com secara bebas. Untuk versi demo kode yang dapat dibuat dan dijalankan mikrokontroler dibatasi besarnya maksimal 4 kByte, namun hal ini tidaklah menjadi masalah karena sesuai dengan kapasitas penyimpanan program internal pada AT89S51. II-31 Gambar 2.17 Tampilan Baskom Pada umumnya bahasa yang dipergunakan untuk memprogram mikrokontroler adalah bahasa Assembly. Bahasa Assembly adalah bahasa pemrograman tingkat menengah, dimana program yang dibuat lebih mendekati bahasa mesin, sehingga pemenfaatan memori dapat dilakukan secara optimal, namun di sisi lain pemrogramannya menjadi relatif sulit. Karena bahasa yang dipergunakan Bascom, yaitu Basic, adalah bahasa tingkat tinggi, maka pemrograman menggunakan Bascom sangatlah mudah untuk dipelajari. Sintaksnya tidak jauh berbeda dari Basic pada umumnya, misalnya do-loop, for-next, while-wend, goto, gosub dan sebagainya. Selain itu Bascom dilengkapi dengan fungsi-fungsi khusus, misalnya LCD untuk menampilkan karakter pada LCD, PRINT untuk mengirimkan karakter ke PC melalui kabel RS232, SHIFTIN dan SHIFTOUT untuk komunikasi serial sinkron dan lain sebagainya. Fungsi-fungsi khusus tersebut jika dituliskan dalam bahasa Assembly akan menjadi lebih panjang dan rumit, terutama karena kita harus mengetahui register-register yang ada pada mikrokontroler. Belajar Pemrograman Mikrokontroler Laboratorium Mekatronika AT89S51 Menggunakan Bascom-8051