You are on page 1of 42

Scribd * Explore * Community Upload a Document Search Books, Presentations, Business, Academics...

* LoginSpinner_mac_gray * Sign Up * * Log In 1 First Page Previous Page Next Page / 86 Zoom Out Zoom In Fullscreen Exit Fullscreen Select View Mode View Mode BookSlideshowScroll Readcast Add a Comment Embed & Share Reading should be social! Post a message on your social networks to let others k now what you're reading. Select the sites below and start sharing. Readcast this DocumentTransparent Login to Add a Comment Share & Embed Link / URL: Embed Size & Settings: * * * * Width: Auto Height: (proportional to specified width) Start on page: Preview View:

More share options Add to Collections Download Auto-hide: on Quantcast PROYEK AKHIR APLIKASI WEB CAM UNTUK MENANGKAP OBYEK WARNA MERAH PADA ROBOT BANTENG DALAM PERMAINAN MATADOR Agung Pangestu Harseno NRP. 7103 030 036 Dosen Pembimbing: Eru Puspita, ST, M.Kom NIP. 132 127 285 JURUSAN TEKNIK ELEKTRONIKA POLITEKNIK ELEKTRONIKA NEGERI SURABAYA SURABAYA 2006

2 APLIKASI WEB CAM UNTUK MENANGKAP OBYEK WARNA MERAH PADA ROBOT BANTENG DALAM PERMAINAN MATADOR Oleh : AGUNG PANGESTU HARSENO 7103 030 036 Proyek Akhir ini Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Ahli Madya (A.Md.) di Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya Disetujui Oleh: Tim Penguji Proyek Akhir : Dosen Pembimbing: 1. Firman Arifin, ST 1. Eru Puspita, ST, M.Kom NIP. 132 296 743 NIP. 132 127 285 2. Ir. Wahjoe Tjatur S, MT NIP. 131 964 945 3. Ir. Rika Rokhana, MT NIP. 132 206 863 Mengetahui : Ketua Jurusan Teknik Elektronika Ir. Dedid Cahya Happyanto, MT NIP. 131 694 603 3 ABSTRAK Pada proyek akhir ini dibuat software untuk mengontrol gerakan robot banteng dal am suatu permainan matador. Robot banteng akan bergerak mencari obyek warna mera h. Untuk mendeteksi obyek warna merah tersebut digunakan sensor kamera. Setelah obyek tertangkap hasil capture akan di proses untuk mendapatkan obyek yang sesua i, metode yang digunakan adalah segmentasi warna. Hasil dari pendeteksian obyek dari komputer akan dikirim melalui komunikasi serial RS232 ke mikrokontroller ya ng telah terhubung dengan motor. Dari hasil pengolahan capture tersebut robot di harapkan dapat melakukan penyerangan terhadap robot matador secara berulang-ulan g sampai beberapa kali. Dimana range penyeangan antara 63 pixels 30 pixels luas obyek pada layar. Jarak terjauh dimana obyek masih terdeteksi adalah 495 cm dan terdekat adalah 30 cm. Dalam penyelesaiannya, digunakan software Microsoft Visua l Basic 6.0 yang menyediakan berbagai macam tool yang diperlukan. Selain metode segmentasi juga digunakan metode tresholding hal ini untuk mengatur pencahayaan. Kata kunci: Robot, Kamera, Pengolahan gambar, Mikrokontroller, RS232. 4 ABSTRACT At this final project was made software to control movement of bull robot in mat ador game. Bull robot will have moved to look for red color object. Sensor camer a uses to detect red color object. After object caught, result of capture will b e process to get appropriate object by method of color segmentation. The Result of object detection from computer will be sent through RS232 serial communicatio n to microcontroller which have connected with motor. With image processing resu lt, robot will be claimed to attack the matador robot by repeatedly until severa l times. Where range of attack between 63 pixels- 30 pixels wide of object. Furt hermost distance where object still detected in 495 cm and closest in 30 cm. The solution uses Software Microsoft Visual Basic 6.0 that provides tools. Besides

segmentation method also used method of tresholding this matter to arrange illum ination. Keyword: Robot, Camera, Image Processing, Microcontroller, RS232 5 KATA PENGANTAR Alhamdulillah, segala puji hanya milik Allah SWT yang mana kami memuji, memohon bantuan, memohon ampunan dan perlindungan kepada-Nya, dari kejahatan jiwa dan ke burukan perilaku kami. Sholawat serta salam pada junjungan nabi besar Muhammad S AW yang telah memberikan kekuatan kepada kami sehingga dapat menyelesaikan buku laporan tugas akhir ini yang berjudul: APLIKASI WEB CAM UNTUK MENANGKAP OBYEK WARNA MERAH PADA ROBOT BANTENG DALAM PERMAINAN MATADOR Tugas akhir ini kami susun sebagai syarat untuk menyelesaikan program pendidikan Diploma III di Politeknik Elektronika Negeri Surabaya. Penyusun sadar bahwa didalam penyusunan buku laporan tugas akhir ini masih jauh dari kesempurnaan, untuk itu dengan segala kerendahan hati penyusun mohon maaf a pabila terdapat penulisan kata yang tidak sesuai dan dengan besar hati menerima kritik dan saran yang bersifat membangun demi hasil yang lebih baik dimasa yang akan datang. Penyusun berharap semoga buku laporan tugas akhir ini akan bermanfaat bagi kita bersama. Surabaya, Agustus 2006 Penyusun 6 UCAPAN TERIMA KASIH Alhamdullillah, atas segala limpahan rahmat, taufik, hidayah yang diberikan oleh Allah swt sehingga Tugas Akhir ini dapat terselesaikan sesuai dengan jadwal yan g telah ditentukan. Disamping itu juga penulis ingin megucapkan terima kasih kepada semua pihak yang telah memberikan bantuan bimbingan dan dorongan serta fasilitas sarana dan pras arana, baik material maupun spiritual sehingga penulis dapat menyusun buku lapor an proyek akhir ini tepat pada waktunya. Diantaranya adalah : 1. Ayah dan Ibu tercinta yang telah memberikan banyak sekali dukungan, nasehat b aik moral maupun spiritual, serta doa yang senantiasa menyertai langkah kaki pen ulis kemana pun berada. Semoga Allah senantiasa memberikan lindungan kepada mere ka, dan di golongkan bersama dengan orang-orang yang dicintaiNya. 2. Kakakku Wahyu, terima kasih atas saran, nasehat serta dukungannya. 3. Adikku Herri, semoga ini bisa menjadi contoh yang baik buat kamu. 4. Bapak Ir. Titon Dutono, M.Eng, selaku direktur PENS-ITS. 5. Bapak Ir. Dedid. CH, selaku kepala jurusan elektronika. 6. Bapak Eru Puspita, ST, M.Kom, selaku dosen pembimbing yang telah memberi peng arahan dan bimbingan dengan penuh kesabaran untuk menyelesaikan Tugas Akhir ini. 7. Seluruh dosen penguji yang telah memberikan saran dan bimbingan. 8. Mas Adi, bang Miko, kang Sobirin, Aa Rosyd, akh Wildan, den TW dan senior-senior yang lain atas saran dan bimbingan mereka. 9. Anggota Kalisari Damen fun s club terima kasih atas supportnya. 10. Crew (Baguz_good, Mr. Lee dan Robot d8) perjuangan kita belum berakhir.

11. Teman-teman seperjuangan 3EB (Ogrish fun s club) semoga persahabatan kita tida k hanya sampai disini, indahnya kebersamaan yang terjalin selama ini menimbulkan semangat untuk terus menapaki perjalanan hidup ini. 12. Teman-teman Angkatan 2003 terima kasih semuanya jaga terus persahabatan ini. 13. Semua pihak yang tak dapat kami sebutkan satu persatu terima kasih atas bantuannya dalam penyelesaian tugas akhir ini. 7 DAFTAR ISI Halaman Judul i Lembar Pengesahan ii Abstrak iii Abstract iv Kata Pengantar v Ucapan Terima Kasih vi Daftar Isi vii Daftar Gambar ix Daftar Tabel x BAB I. PENDAHULUAN 1.1 Latar Belakang 1 1.2 Tujuan 1 1.3 Permasalahan 2 1.4 Perumusan Masalah 2 1.5 Batasan Masalah 2 1.6 Metodologi 2 1.7 Sistematika Penulisan 3 BAB II. TEORI PENUNJANG 2.1 Model Warna 5 2.2 Pixel 7 2.3 Warna RGB 8 2.4

Grey Scale 10 2.5 Segmentasi 10 2.6 Operasi Peningkatan Citra 10 2.6.1 Kualitas Citra 10 2.6.2 Tresholding 11 2.7 Euclidean Distance 12 2.8 Bahasa Pemrograman 13 2.8.1 Variabel 13 2.8.2 Kontrol Program 14 2.8.2.1 If.....Then 15 2.8.2.2 If.....Then.....Else 15 2.8.2.3 Select.....Case 16 2.8.2.4 For......Next 16 2.8.2.5 GoTo 16 2.8.2.6 Exit 17 8 2.8.3 Prosedur 17 2.8.3.1Sub Procedure 17 2.8.3.2Function Procedure 18 2.8.4 Operator 21 2.8.4.1 Operator Matematik 21 2.8.4.2 Operator Perbandingan 22 2.8.4.3 Operator Logika 22 BAB III. PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK 3.1 Sistem Konfigurasi 25

3.2 Setting Mekanik 27 3.3 Pengolahan Gambar Oleh PC 28 3.4 Pengambilan Gambar 28 3.5 Pengenalan Obyek 29 3.5.1 Titik Tengah Obyek 30 3.5.2 Luas Obyek 31 3.6 Jarak Penyerangan Obyek 32 3.7 Komunikasi Data antara PC dengan Mikrokontroller 33 3.8 Komunikasi data dari PC ke PC 37 BAB IV. PENGUJIAN DAN ANALISA 4.1 Pengujian dan Pengambilan Data 38 4.2 Analisa 44 BAB V. PENUTUP 5.1 Kesimpulan 45 5.2 Saran 45 Daftar Pustaka 47 Lampiran Daftar Riwayat Hidup 9 DAFTAR GAMBAR Gambar 2.1 Blok diagram 5 Gambar 2.2 Nilai Hexadesimal 5 Gambar 2.3 Konversi sistem koordinat citra diskrit 6 Gambar 2.4 Definisi warna RGB dan CMY 9 Gambar 3.1

Sistem diagram blok Robot Banteng 25 Gambar 3.2 Diagram alir pengolahan citra 27 Gambar 3.3 Peletakan kamera pada mekanik robot 28 Gambar 3.4 KameraVimicro USB PC Camera 29 Gambar 3.5 Kontrol Kamera Logitech Quick Zoom 29 Gambar 3.6 Prosesscanning dan pencarian titik tengah 31 Gambar 3.7 Sintak program penentuan posisi robot 32 Gambar 3.8 Jalur RS232 pada DB9 33 Gambar 3.9 Form dan properties pada Visual Basic 34 Gambar 3.10 Daftar komponen pada Visual Basic 35 Gambar 3.11 Daftar komponen Winsock 37 Gambar 3.12 Properties Winsock 38 Gambar 4.1 Tampilan form program 40 Gambar 4.2 Posisi 1 41 Gambar 4.3 Posisi 2 42 Gambar 4.4 Posisi 3 42 Gambar 4.5 Posisi 4 42 Gambar 4.6 Posisi 5 43 Gambar 4.7 Posisi 6 43 Gambar 4.8 Posisi 7 44 10

DAFTAR TABEL Tabel 2.1 Tipe Data Pada Visual Basic 14 Tabel 2.2 Fungsi-Fungsi Manipulasi String 20 Tabel 2.3 Fungsi-Fungsi Konversi Data 21 Tabel 2.4 Tabel Operator Matematik 22 Tabel 2.5 Tabel Operator Perbandingan 22 Tabel 2.6 Tabel Operator Logika 23 Tabel 4.1 Tabel Data Hasil Pengujian 41 11 BAB I PENDAHULUAN 1.1 Latar Belakang Image proccessing telah banyak di aplikasikan dalam berbagai bidang teknologi, d iantaranya bidang kesehatan, entertainment, militer, IPTEK, industri, robotika d an lain sebagainya. Image I/O merupakan proses pemasukan dan pengeluaran data yang berupa gambar ata u citra kedalam sebuah program aplikasi dalam hal ini Microsoft Visual Basic 6.0 . Sehingga didapatkan informasi tertentu yang untuk selanjutnya dapat diolah, di analisa dan diberikan sebuah keputusan yang tepat untuk pengendalian, dalam hal ini sebagai pandangan (vision) dari sebuah robot banteng. Pembuatan robot banteng sebelumnya telah direalisasikan oleh Dewi Supriatin Resma h cs . Meskipun memiliki kelebihan dapat mengikuti obyek warna merah, tetapi tekni k ini kurang menarik apabila dipertontonkan di depan umum. Karena tidak ada aksi lebih lanjut yang dilakukan robot setelah mengikuti obyek warna merah. Dalam proyek akhir ini, akan direalisasikan pengolahan obyek warna merah, menggu nakan image processing dalam robot banteng. Proyek ini meliputi dua bagian yaitu hardware dan software. Robot ini memiliki kelebihan antara lain dapat mencari o byek warna merah, mengatur jarak dengan obyek dan melakukan penyerangan kemudian akan melakukan pencarian ulang obyek tersebut layaknya seperti banteng yang seb enarnya. Untuk mengatur pergerakan motor dan syncronisasi dengan web cam digunakan microc ontroller AT89S51, karena di dalamnya sudah ada program untuk mengenali software compilernya. Untuk image processing menggunakan software MS Visual Basic 6.0 karena bahasa le bih sederhana dan lebih aplikatif walaupun memiliki kelemahan kinerja lebih lamb at. Tetapi hal ini bisa diatasi dengan penggunaan algoritma yang benar dan tepat . 1.2 Tujuan Tujuan dari pembuatan proyek akhir ini adalah untuk membuat suatu robot otomatis

dengan menggunakan sensor kamera yang dapat mengidentifikasi obyek warna merah dan kemudian diproses untuk dapat melakukan action, dalam hal ini dapat menyeran g obyek tersebut secara berulang-ulang. 12 1.3 Permasalahan Dalam perancangan alat pendeteksi, dalam hal ini adalah kamera, diperlukan suatu cara bagaimana hasil dari gambar yang ditangkap oleh kamera dapat diolah oleh k omputer. Dari pengolahan tersebut, data yang diperoleh kemudian dijadikan acuan untuk melakukan suatu tindakan. Dalam tugas akhir ini robot diharapkan dapat men deteksi keberadaan obyek berupa Matador. Robot dapat menentukan tindakan yang ha rus diambil setelah mengetahui posisi obyek yang telah ditentukan. 1.4 Perumusan Masalah Bentuk permasalahan yang dihadapi dalam proyek akhir ini adalah sebagai berikut: 1. Pengiriman data ke microcontroller. 2. Pengaturan kecepatan pergerakan robot. 3. Respon kecepatan WebCam dalam pengambilan gambar obyek. 4. Pencarian obyek yang dilakukan berulang-ulang. 5. Komunikasi dari PC ke PC. 6. Pengaturan jarak robot dengan obyek. 7. Pengenalan warna merah pada berbagai macam kondisi cahaya. 1.5 Batasan Masalah Asumsi berikut ini sebagai batasan masalah yang dipakai dalam tugas akhir untuk mengoptimalkan kinerja dari alat: 1. Simulasi robot berlokasi di suatu arena. 2. Mobilitas robot hanya pada lantai yang rata atau memiliki ketinggian yang sama. 3. Posisi bendera yang akan di deteksi berada pada sumbu X 4. Pencahayaan pada arena haruslah cukup terang. 5. Obyek berwarna merah dengan bentuk persegi. 6. Kaki robot diganti dengan roda. 7. Software yang digunakan untuk image processing adalah MS Visual Basic 6.0. 1.6 Metodologi Untuk mencapai penyelesaian proyek akhir, langkah yang akan dilakukan adalah: 1. Melakukan studi literatur yaitu mempelajari literatur yang berhubungan dengan perangkat lunak yang akan digunakan dan juga mikrokontroller. Software yang dig unakan adalah Visual Basic 6.0 untuk melakukan pengolahan citra. 13 2. Melakukan perancangan perangkat lunak yaitu merancang software yang akan di t erapkan didalam sistem robot. Robot yang akan dibuat memiliki ketentuan sebagai berikut: Obyek yang dideteksi adalah bendera warna merah. Setelah robot dapat mendeteksi letak obyek maka robot akan melakukan penyerangan terhadap obyek tersebut. Sebelum melakukan penyerangan robot akan melakukan perhitungan jarak yang tepat sesuai dengan setting point yang telah di tentukan sebelumnya. Jika jarak yang diperoleh sudah sesuai robot akan melakukan penyerangan terhadap obyek tersebut. Setelah melakukan penyerangan robot akan melakukan proses pencarian ulang lagi beberapa kali.

3. Melakukan pembuatan dan pengujian perangkat lunak yaitu membuat perangkat lun ak untuk mendeteksi obyek warna merah dalam hal ini adalah robot matador yang be rada didepannya dengan bahasa pemrograman MS. Visual Basic 6.0. Proses pengolaha n disini antara lain : Pengambilan gambar, segmentasi dengan thresholding sehing ga didapat RGB dari obyek, scanning untuk menentukan titik tengah obyek yang ter lihat dilayar. 4. Melakukan integrasi dan pegujian sistem yaitu menghubungkan antara perangkat lunak yang telah dibuat dengan perangkat keras kemudian dilakukan pengujian pada keseluruhan sistem agar diketahui kinerjanya. 5. Melakukan evaluasi dan presentasi hasil yaitu melakukan evaluasi cara kerja d ari sistem yang telah dibuat untuk mengetahui aspek- aspek yang mempengaruhinya, seperti : keberhasilan pengambilan gambar, pengujian data dan ketepatan dengan kontrol robot. 6. Melakukan penyusunan buku tugas akhir yaitu melakukan penulisan laporan lengkap dan detail tentang tugas akhir. 1.7 Sistematika Penulisan Sistematika penulisan dapat dijelaskan sebagai berikut: BAB I. PENDAHULUAN Berisi latar belakang masalah, tujuan, perumusan masalah, batasan masalah, kontr ibusi proyek akhir, metodologi, dan sistematika penulisan. BAB II. TEORI PENUNJANG Menjelaskan mengenai teori-teori yang dijadikan landasan dan rujukan perhitungan dalam mengerjakan proyek akhir ini. 14 BAB III. PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK Berisi tentang perencanaan dan pembuatan perangkat lunak yang akan diterapkan pada robot. BAB IV. PENGUJIAN DAN ANALISA Berisi pembahasan tentang pengujian dari sistem yang telah dibuat beserta analisanya. BAB V. PENUTUP Berisi tentang kesimpulan dan saran yang didapat selama proses perencanaan dari sistem yang diterapkan. DAFTAR PUSTAKA Berisi tentang referensi-referensi yang digunakan dan dijadikan acuan selama pembuatan proyek akhir ini. 15 BAB II TEORI PENUNJANG 1Image I/O merupakan proses pemasukan dan pengeluaran data yang berupa gambar atau citra kedalam sebuah program aplikasi dalam hal ini MS V isual Basic 6.0. Sehingga didapatkan informasi tertentu yang untuk selanjutnya d apat diolah, dianalisa dan diberikan sebuah keputusan yang tepat untuk pengendal ian, dalam hal ini sebagai pandangan (vision) dari sebuah perangkat keras atau r obot. Gambar 2.1 Blok Diagram Dasar dari robot vision adalah pengolahan citra dimana informasi yang dapat diam bil dari sebuah perangkat I/O adalah berupa informasi warna RGB (Red, Green dan Blue) pada posisi tertentu. Dalam pengolahan citra warna direpresentasikan denga n nilai hexadesimal dari 0x00000000 sampai 0x00ffffff. Warna hitam adalah 0x0000 0000 dan warna putih adalah 0x00ffffff. Gambar 2.2 Nilai Hexadesimal Berikut akan dijelaskan secara singkat hal-hal yang berhubungan dengan pengolahan citra.

2.1 Model Warna 2Citra merupakan matrik dua dimensi dari fungsi intensitas cahaya, maka referensi citra menggunakan dua variabel yang 1 B.D, Bima Sena, Image Prosesing dan Aplikasinya, hal.2 2 Bachtiar Novan, Andi, Robot Penyerang dalam Permainan Sepak Bola , hal.16 16 menunjukkan posisi pada bidang dengan sebuah fungsi intensitas cahaya yang dapat dituliskan sebagai f(x,y) dimana f adalah nilai amplitudo pada koordinat spasia l (x,y). Karena cahaya merupakan salah satu bentuk energi, f(x,y) tidak berharga nol atau negatif dan merupakan bilangan berhingga, yang dalam pernyataan matema tis adalah sebagai berikut, 0 < f (x,y). Konversi sistem koordinat citra diskrit ditunjukkan oleh gambar berikut, Gambar 2.3 Konversi sistem koordinat citra diskrit Citra yang kita lihat sehari-hari merupakan cahaya yang direfleksikan oleh sebua h obyek. Fungsi f(x,y) dapat dilihat sebagai fungsi dengan dua unsur, pertama me rupakan besarnya sumber cahaya yang melingkupi pandangan kita terhadap obyek (il lumination), kedua merupakan besarnya cahaya yang direfleksikan oleh obyek dalam pandangan kita (reflectance component). Keduanya dituliskan dengan fungsi yang berturut-turut i(x,y) dan r(x,y). Fungsi i(x,y) dan r(x,y) merupakan kombinasi p erkalian untuk membentuk fungsi f(x,y) yang dapat dituliskan dengan persamaan, F (x,y) = i (x,y) . r (x,y) 0 < i (x,y) < ~ ......(2-1) 0 < r (x,y) < 1 Persamaan diatas menandakan bahwa nilai kerefleksian dibatasi oleh nilai 0 (tota l absorption) dan nilai 1 (total reflectance). Fungsi (x,y) ditentukan oleh sumb er atau asal sinar, sedangkan fungsi r(x,y) ditentukan oleh karakteristik dari o byek. Citra digital adalah citra kontinyu f(x,y) yang sudah didiskritkan baik koordina t spasial maupun tingkat kecerahannya. Kata kontinyu disini menjelaskan bahwa in deks x dan y hanya bernilai bulat. Kita dapat menganggap citra digital sebagai m atrik dengan ukuran MxN yang baris 17 dan kolomnya menunjukkan titik-titiknya, yang diperlihatkan pada persamaan berikut, f(0,0) f(0,1)................f(0,N-1) f(1,0) f(0,1)................f(1,N-1) f(0,0)=................... ............ ............ ... ....................................(2-2) f(M-1,0) f(M-1,1)......f(M-1,N-1) f(M,0) f(M,1)................f(M,N) Citra yang tidak berwarna atau hitam putih dikenal pula sebagai citra dengan der ajat keabuan (citra grey level). Derajat keabuan yang dimiliki ini bisa beragam mulai dari 2 derajat keabuan (yaitu 0 dan 1) yang dikenal juga sebagai citra mon ochrome, 16 derajat keabuan dan 256 derajat keabuan. Semakin besar derajat keabu an yang dimiliki maka semakin halus citra tersebut. Dalam sebuah citra monochrome, sebuah pixel diwakili oleh 1 bit data yang berisi kan data tentang derajat keabuan yang dimiliki pixel tersebut. Data akan berisik an 1 bila pixel tersebut berwarna putih dan data tersebut akan berisikan 0 bila pxel tersebut berwarna hitam. Citra yang memiliki 16 derajat keabuan (mulai dari 0 yang mewakili warna hitam s ampai dengan 15 yang mewakili warna putih) direpresentasikan oleh 4 bit data, se

dangkan citra dengan 256 derajat keabuan (nilai 0 mewakili warna hitam sampai 25 5 yang mewakili warna putih) direpresentasikan oleh 8 bit data. Dalam citra berwarna, jumlah warna bisa beragam mulai 16, 256, 65536, atau 16 ju ta warna, yang masing-masing direpresentasikan ole 4, 8, 16, atau 24 bit data un tuk setiap pixelnya. Warna yang terdiri dari komponen utama, yaitu nilai merah ( red), nilai hijau (green), dan nikai biru (blue). Paduan ketiga komponen utama p embentuk warna ini dikenal sebagai RGB color. 2.2 Pixel 3Salah satu komponen dari gambar yang menentukan resolusi dari gambar tersebut adalah pixel, misalnya sebuah gambar dikatakan resolusinya sebes ar 800 x 600 maka berarti panjang pixel horisontalnya 800 dan panjang pixel vert ikalnya 600 dan jumlah total keseluruhan 3 Bachtiar Novan, Andi, Robot Penyerang dalam Permainan Sepak Bola , hal. 18 18 pixel dari gambar tersebut yaitu 480000 atau dapat dikatakan bahwa gambar tersebut terdiri dari 480000 pixel. Dalam pengolahan citra, pixel mempunyai hubungan antara satu dengan yang yang la innya. Sebuah pixelp pada koordinat (x,y) mempunyai empat tetangga horisontal da n vertikal yang koorfinat- koordinatnya sebagai berikut, (x+1,y+1), (x+1,y-1), (x,y+1), dan (x,y-1).................(2-3) Kumpulan dari pixel diatas yang disebut 4-neighbours ofp dapat dinyatakan sebaga i N4(p), kecuali jika p(x,y) posisinya terletak digaris batas gambar, sehingga j umlah pixel tetangga tidak terdiri dari 4 tetangga. Selain 4 tetangga diatas, p juga mempunyai 4 tetangga diagonal, yaitu : (x+1,y+1), (x+1,y-1), (x-1,y+1), dan (x-1,y-1). ................(2-4) Pixel-pixel tersebut dinyatakan sebagai Np(p). Gabungan dari N4(p) dan Np(p) did efinisikan sebagai 8-neighbours of p dan dinyatakan sebagai N8(p). Hubungan antar pixel merupakan suatu konsep yang sangat penting, yang digunakan untuk mendefinisikan batas-batas dari suatu obyek serta bagian-bagian daerah kec il dari suatu gambar. Hubungan antar pixel ada beberapa kriteria, diantaranya ad alah prinsip kedekatan kedua pixel yang sesuai dengan konsep yang telah ditentuk an, seperti konsep 4-neighbours atau 8-neighbours. Selain itu, apakah kedua pixe l tersebut memiliki nilai gray scale yang sesuai dengan kriteria yang diinginkan . Sebagai contoh, bila dua pixel mempunyai nilai masing- masing 0 dan 1 dan kedu anya merupakan bagian dari 4-neighbours, maka dinyatakan bahwa kedua pixel terse but tidak ada hubungan, hal ini karena keduanya memiliki nilai yang berbeda. 2.3 Warna RGB 4Model warna RGB (Red, Green, Blue) mendiskrpsikan warna sebagai kombinasi positif dari warna yaitu: merah, hijau dan biru sehingga membentuk sebuah warna C dengan rumusan sebagai berikut: C = rR + gG + bB.. ..... ............................. ..............(2-5) 4Bachtiar Novan, Andi, Robot Penyerang dalam Permainan Sepak Bola , hal. 19 19 Jika skalar r, g, b diberi harga antara 0 dan 1 maka definisi warna akan berada dalam kubus seperti gambar beikut: Gambar 2.4Definisi warna RGB dan CMY Ruang warna ini adalah dasar dari warna display monitor komputer. Garis sepanjan g titik hitam (0,0,0) RGB hingga titik putih (1,1,1) RGB disebut dengan titik ke abuan atau greyscale. Sehingga dengan mudah kita dapatkan hubungan antara rgb de ngan greyscale sebagai berikut: (a )G (a ,a ,a ) RGB...........................(2-6) Sementara hubungan antara RGB dengan CMY diberikan oleh

rumusan, (r,g,b)RGB = (1,1,1) + (c,m,y)CMY ......(2-7) Sehingga apabila nilai dari b diturunkan akan menyebabkan warna bergeser menjadi kekuningan. Pada proses penjumlahan warna, warna yang dideskripsikan dengan RGB adalah pemet aan yang mengacu pada panjang gelombang dari RGB. Pemetaan tersebut menghasilkan nuansa warna sekitar 16 juta (2563=16.777.216) yaitu 256 (8 bit) untuk masing-m asing R, G, dan B. Masing-masing R, G, dan B didiskritkan dalam skala 256, sehingga RGB akan memili ki indeks antara 0 sampai 255. penjumlahan warna RGB ini adalah, C = C1 + C2 = 2 ) 2 , 2 , 2 ( ) 1 , 1 , 1 ( bC gC rC bC gC rC + .......(2-8) 20 Penjumlahan ini menghasilkan nilai RGB yang tidak bulat, sehingga kita harus mem bulatkannya nilainya, yaitu dengan metode bulat keatas atau kebawah. Misalkan du a warna yaitu hitam (0, 0, 0) kita jumlahkan dengan warna putih (255, 255, 255) akan menghasilkan warna abu-abu antara warna hitam dan putih (127, 127, 127). Ha sil akhir dibulatkan kebawah. Contoh lain misalnya ingin menjumlahkan warna mera h (255, 0, 0) dengan warna hijau (0, 255, 0) maka akan menghasilkan warna kuning (127, 127, 0). 2.4Grey Scale Adalah sebuah format warna dengan mengambil rata dari nilai r, g, b dari sebuah format gambar berwarna. Persamaan yang digunakan adalah sebagai berikut: Gray scale=(?R+?G+??B) / (???+??) ........(2-9) Dengan nilai?=0.35,?=0.25, dan?=0.4 sehingga nilai???+?? = 1. Fungsi dari format warna gray ini adalah untuk memudahkan proses selanjutnya kar ena kita akan kesulitan apabila kita menjalankan proses selanjutnya dengan mengg unakan format gambar berwarna karena nilai r, g, dan b yang dihasilkan dengan fo rmat gambar itu akan bervariasi. Dengan format warna gray ini maka dihasilkan ni lai R=G=B. 2.5 Segmentasi

5Segmentasi adalah suatu proses untuk memisahkan obyek yang kita ambil dengan sisi latar belakangnya, dimana pendekatan yang diambil adalah dengan mengelompokkan (clustering) warna-warna sehingga mendekati bagian warna y ang sejenis dengan menggunakan teknikfiltering. Pada akhir proses segmentasi ini akan diperoleh dua warna yang menonjol yaitu hitam dan putih 2.66Operasi Peningkatan Citra 2.6.1 Kualitas Citra Seringkali citra yang kita hasilkan memiliki kualitas yang kurang bagus. Hal ini dikarenakan adanya gangguan teknis peralatan yang kita gunakan atau ada tidakny a noise disekitarnya, dapat juga karena kurang 5 Bachtiar Novan, Andi, Robot Penyerang dalam Permainan Sepak Bola , hal. 21 6 Bachtiar Novan, Andi, Robot Penyerang dalam Permainan Sepak Bola , hal. 21 21 bagusnya pencahayaan. Untuk itu perlu dilakukan manipulasi data-data untuk memperbaiki kualitas citra. Opersi peningkatan kualitas citra banyak dilakukan untuk mendapatkan suatu perba ikan kualitas citra dengan melakukan pemanipulasian data-data atau parameter-par ameter yang ada pada citra tersebut. Beberapa manipulasi yang dilakukan pada pro ses peningkatan kualitas citra adalah prosesfiltering, sharpening, dan softening . Setiap gambar dapat dianalisa dengan melihatimage histogram- nya.Image histogram adalah grafik yang menunjukkan frekuensi suatu warna, dimana sumbu horisontalny a menunjukkan nomor warna yang dipakai (skala 0 sampai 255). Sedangkan sumbu ver tikal menunjukkan jumlah titik yang mempergunakan titik yang bersangkutan. Denga n adanya analisa histogram ini kita dapat memodifikasi gambar tersebut diantaran ya adalah dengan jalan: 1. Linier Addition Dengan jalan penambahan intensitas dari setiap titik hingga memiliki nomor warna yang lebih besar (lebih terang) tanpa mengubah perbedaan warnanya. 2. Linier Scaling Selain melakukan penambahan intensitas pada setiap warna titik, juga dilakukan p erkalian setiap titik dengan suatu variabel sehingga diperoleh perbedaan warn ya ng besar. 3. Linier Multiplication Dengan cara mengkuadratkan warna seluruh titik pada citra sehingga diperoleh gam bar yang jauh lebih terang karena perbedaan warna sangatlah besar. Dengan beberapa cara lain sepertihistogram equalitation, pembersih gambar denganintensity filtering yang diantaranya dengan low passdan high pass filtering. 2.6.2Tresholding Prinsip kerja dari metode ini adalah untuk mengurangi pemakaian intensitas cahay a warna yang ada dalam suatu citra, dimana dalam metode ini ditentukan nilai T s etelah melihatgreyscale dari citra tersebut. T adalah nilai minimum diantara dua nilai maksimum yang ada padagreyscale dari citra tersebut. Proses selanjutnya a dalah mengganti setiap intensitas warna yang ada dalam citra tersebut. Jika inte nsitasnya diganti dengan 0 , sedangkan jika intensitas warnanya lebih besar maka in tensitasnya diganti dengan K-1, dimana K adalah konstanta yang sudah ditentukan sebelumnya, misalnya 256. 22 Metodetresholding ini sangat baik digunakan untuk memisahkan obyek denganbackgro und yang agak gelap atau sebaliknya. Secara matematis metode tersebut memiliki m

odel sebagai berikut: g2 (x,y)= ????? ????? > < T y x g K T y x g ) , ( 1 , 1 ) , ( 1 , 0 ..........(2-10) Metode ini digunakan untuk mengkonversi data image menjadi data biner dengan tuj uan agar proses selanjutnya menjadi lebih mudah. Dari prosestresholding ini, aka n didapat hasilnya apabila jumlah warna pixel mempunyai intensitas kedalaman war na kurang dari harga tresholdingmaka warna pixel tersebut akan menjadi warna putih (255). Teknik in berdasarkan pada konsep yang sederhana. Parameter Tr disebut dengan am bang kecerahan yang dipilih dan diterapkan pada suatu citra. Jadi warnabackgroun d dengan warna obyek saling berkebalikan. Berikut ini dijelaskan dua jenis alter natif pemilihan treshold. a) Fixed treshold (nilai Tr yang selalu tetap) Salah satu alternatif memilih nilai treshold secara bebas dari data citra. Hal i ni diterapkan dengan memacu suatu ketetapan. Missal citra mempunyai perbedaan ya ng sangat tinggi dan obyek yang diamatidalam citra tersebut adalah gelap danback ground dari citra adalah hamper sama dengan terang dan kemudian konstan threshol d kita pilih 128 pada skala 0 sampai 255. Hal ini mungkin akan menghasilkan hasi l yang cukup akurat. Akurat disini berarti kita meminimumka pixel yang salah dal am pengelompokannya. b) Histogram devided treshold Didalam banyak kasus, nilai treshold (ambang) dipilih berdasarkan histogram kecerahan dari suatu citra yang diamati. 2.7Euclidean Distance 7Euclidean distance adalah suatu metode statistika yang digunakan untuk mengelompokkan data dengan jarak tertentu terhadap mean data tersebut sehingga diperoleh suatu penyebaran data yang 7 Bachtiar Novan, Andi, Robot Penyerang dalam Permainan Sepak Bola , hal. 23 23 memiliki pola terhadap nilai mean. Rumus dari Euclidean distance

adalah sebagai berikut: Akar kuadrat :E=( ) 2 1 2X X......(2-11) AtauAbsolut :E= ) 1 2 ( X X......(2-12) Dimana: E = Euclidean Distance X1 = Titik tengah layar monitor X2 = Titik tengah obyek Karakteristik dari metode ini cukup sederhana karena tidak memiliki penguatan se hingga bidang atau luasan yang terbentuk cenderung berbentuk lingkaran. Alasan d igunakan metode ini adalah sesuai dengan konsep yang telah kami buat, yaitu untu k perhitungan selisih titik tengah obyek yang terlihat dilayar dengan titik teng ah layar yang mana hasilnya digunakan untuk kontrol robot. 2.8 Bahasa Pemrograman 8Bahasa Pemrograman yang digunakan untuk menyelesaikan tugas akhir ini adalah bahasa pemrograman Visual Basic 6.0. Berikut akan dijelas kan beberapa hal mengenai bahasa pemrograman Visual Basic. 2.8.1 Variabel Dalam melakukan pemrograman akan selalu diperlukan tempat penyimpanan data, misa lnya untuk menampung data hasil perhitungan, menampung data hasil pembacaan inte ger, atau lainnya. Seperti pada bahasa pemrograman lainnya, dalam penggunaan var iabel harus memiliki nama dan tipe data tertentu. Nama variabel menunjukkan suat u tempat dalam memori komputer sedangkan tipe data mengontrol besarnya memori ya ng disediakan untuk variabel tersebut. Berikut ini adalah tipe data pada Visual Basic beserta ukuran byte dan range tipe data tersebut. 8Retna P, Catur Edi W, Interfacing Port Paralel dan Port Serial Komputer dengan Visual Basic 6.0, hal. 23 24 Tabel 2.1 Tipe Data Pada Visual Basic Tipe Data Ukuran Byte Range Integer 2 byte -32.768 sampai 32.767 Long Integer 4 byte -2.147.483.648 sampai 2.147.483.647

Single-precision Floating point 4 byte -3,402823 E38 sampai 3,402823 E38 Double-precision Floating point 8 byte -1,79769313486232 D303 sampai 1,79769313486232 D303 Currency 8 byte -922337203685477,5808 sampai 922337203685477,5808 String 1 byte per karakter 0 sampai 65.535 Boolean 2 byte True atau False Date 8 byte 1 january 100 sampai 31 Desember999 9 Byte 1 byte 0 sampai 255 2.8.2 Kontrol Program 9Kekuatan pemrograman adalah terletak pada kontrol program ini. Dengan kontrol program ini, kita akan mengendalikan alur eksekusi program d an menentukan keputusan apa yang harus dikerjakan oleh program pada kondisi tert entu. Kontrol program pada Visual Basic meliputi kontrol pertimbangan kondisi da n keputusan, kontrol pengulangan serta kontrol penyaluran alternatif. Pada bagia n ini akan dijelaskan beberapa kontrol yang disediakan Visual Basic dan digunaka n pada pemrograman tugas akhr ini. 9Bachtiar Novan, Andi, Robot Penyerang dalam Permainan Sepak Bola , hal. 25 25 2.8.2.1 If.......Then Dengan peryataan seperti ini kita dapat mengetes suatu kondisi tertentu dan kemu dian menentukan suatu tindakan jika kondisi tersebut terpenuhi. Sintak penulisan nya adalah sebagai berikut: If<syarat kondisi> Then<pernyataan> Bisa juga dengan multiple-line, sebagai berikut: If<syarat kondisi> Then <pernyataan pertama> <pernyataan kedua> ???. ???. <pernyataan ke-n> End If 2.8.2.210If??..Then??.Else Pernyataan ini hamper sama dengan pernyataanIf?..Then, yaitu digunakan untuk men

tes suatu kondisi tertentu. Hanya saja, jika kondisi tidak terpenuhi, maka alur program akan mengeksekusi pernyataan lain. Berikut adalah sintak penggunaannya. If <syarat kondisi>Then <blok pernyataan pertama> Else If<syarat kondisi> Then <blok pernyataan kedua> ??.. Else If<syarat kondisi> Then <blok pernyataan ke-n> Else <blok pernyataan> End If Visual Basic pertama kali akan mentes kondisi 1. jika kondisi 1 tidak terpenuhi, Visual Basic akan mentes kondisi 2 dan seterusnya sampai menemukan kondisi yang terpenuhi. Jika Visual Basic menemukan kondisi yang memenuhi, maka Visual Basic akan mengerjakan blok pernyataannya. Jika Visual Basic tidak menemukan kondisi yang memenuhi maka blok pernyataanElse yang akan dieksekusi. 10 Retna P, Catur Edi W, Interfacing Port Paralel dan Port Serial Komputer denga n Visual Basic 6.0, hal. 29 26 2.8.2.311Select??..Case Pada dasarnya perintah ini sama dengan perintah If....Then?Else, yaitu akan mengeksekusi satu blok pernyataan dari beberapa pilihan blok pernyataan. Hanya saja penulisannya lebih ringkas dan lebi h mudah dimengerti. Sintak penulisannya adalah sebagai berikut: Select....Case <kondisi yang diujikan> Case <syarat kondisi 1> <blok pernyataan pertama> Case <syarat kondisi 2> <blok pernyataan kedua> ......... Case Else <blok pernyataan ke-n> End Select 2.8.2.4 For.........Next Perintah ini digunakan untuk melakukan perulangan suatu blok pernyataan sampai dipenuhi syarat kondisi yang ditetapkannya. Dengan For bisa ditentukan nilai awal dan nilai akhir perulangan serta nilai kenaikannya. Sintak penggunannya adalah sebagai berikut: For<namavariable>=<nilai_awal> To<nilai_akhir> [Step <nilai_kenaikan>] <Blok pernyataan> Next 2.8.2.5 GoTo PerintahGoTo digunakan untuk melakukan percabangan ke suatu baris label tertentu . Dengan perintahGoTo, program dapat langsung melompat ke baris tertentu sehingg a kode-kode program yang dilewatinya tidak akan dieksekusi. Sintak penulisannya adalah sebagai berikut: GoTo <nama_label> <blok pernyataan> <nama_label>:

Biasanya perintahGoTo digunakan bersama dengan perintahOn Error untuk menangani error, yaitu untuk memerintahkan program 11 Retna P, Catur Edi W, Interfacing Port Paralel dan Port Serial Komputer denga n Visual Basic 6.0, hal. 30 27 melompat ke baris tertentu jika terjadi kesalahan / error. Error dapat terjadi k arena kesalahan logika program kita, kesalahan perhitungan (misal pembagian deng an nol), kesalahan yang disebabkan oleh hardware, maupun kesalahan lainnya. Pena nganan error dalam pemrograman adalah sangat penting karena error dapat menyebab kan program berhenti dan dapat menyebabkan komputer menjadihang. Sintak penulisa nnya adalah sebagai berikut: On Error GoTo <nama_label> <Blok pernyataan> <nama_label> 2.8.2.6 Exit Perintah exit digunakan untuk keluar secara langsung dari blok program For.....N ext, Do.....Loop, Sub Procedure, atau Function Prcedure. Sintak penulisannya ada lah sebagai berikut: Exit....Do, digunakan untuk keluar dari blok program Do....Loop. Exit....For, digunakan untuk keluar dari blok program For....Next. Exit Sub, digunakan untuk keluar dari Sub Procedure. Exit Function, digunakan untuk keluar dari Function Procedure. 2.8.3 Prosedur Kita bisa membangun program lebih mudah dengan memecah program menjadi blok-blok komponen yang lebih kecil yang disebut prosedur. Prosedur sangat berguna ketika kita sering menggunakan berulang-ulang tugas yang sama atau bermaksud membagika nnya pada program lain. Dengan prosedur, kita akan lebih mudah men-debug program karena kita dapat melakukan pengujian per prosedurdaripada pengujian seluruh pr ogram. 2.8.3.1 Sub Procedure Sub prosedur adalah blok kode yang dijalankan sebagai tanggapan atas terbentukny a even, baik even itu merupakan even pemanggilan dari prosedur lain maupun even yang terjadi dari pemakai program, misal even penekanan tombol kiri mouse. Sinta k penulisan sub prosedur adalah senagai berikut: [Private/Public][Static]Sub <nama_prosedur> (argumen) <blok pernyataan> .. .. End Sub 28 Setiap kali procedur dipanggil, blok pernyataan yang ada diantara Sub dan End Su b akan dijalankan. Argumen untuk sebuah prosedur adalah mirip dengan deklarasi v ariabel, yaitu pemakaian suatu nilai yang melewati pemanggilan prosedur. Berikut contoh pemakaiannya. Private Sub Tebak_angka(Angka As Integer ) Select Case Angka Case Is > 10 Print? angka > 10? Case Is < 10 Print? angka < 10? Case Else

Print? angka = 10? End Select End Sub Untuk memanggilnya kita bisa menuliskan nama prosedur tersebut disertai argumenn ya dengan tipe data yang harus sama. Setiap kali prosedur ini dipanggil, prosedu r ini akan menentukan angka apa yang dilewatkan pada argumen dan akan mencetakny a pada form. Berikut adalah contoh pemanggilan prosedur tersebut melalui prosedu r even, yaitu prosedur Command1_Click. Private SubCommand1_Click() Input_angka% = InputBox(?Masukkan angka sembarang!?,?Masukkan angka?) Tebak_angkainput_angka% End Sub Command1_Click juga merupakan Sub Procedur yang tanpa argument. Procedure Comman d1_Click akan dipanggil jika pemakai program menekan tombol kiri mouse pada obye k Command1. Prosedur semacam ini disebutEvent Procedure. 2.8.3.2 Function Procedure 12Function Procedure sebenarnya hampir sama dengan Sub Procedure, tetapi Function Procedure ini akan mengembalikan nilai tertentu setel ah pemanggilannya. Sintak penulisannya adalah sebagai berikut. 12Retna P, Catur Edi W, Interfacing Port Paralel dan Port Serial Komputer dengan Visual Basic 6.0, hal. 38 29 [Private/Public] [Static]Function <nama_prosedur> (argumen) [As tipe data] <blok pernyataan> End Sub Berikut adalah contoh penggunaannya. Kita akan membuat fungsi tebak_angka seperti pada contoh sebelumnya. Function Tebak_angka(Angka As Integer ) AsString Select Case Angka Case Is > 10 Tebak_angka =? angka > 10? Case Is < 10 Tebak_angka =? angka < 10? Case Else Tebak_angka =? angka = 10? End Select End Sub Cara kerja fungsi tebak-angka ini adalah sama seperti prosedur tebak_angka, yait u menentukan nilai angka yang dilewatkan pada argumen. Akan tetapi, fungsi tebak _angka ini langsung mengembalikan karakter string yang bisa dilewatkan sebagai a rgumen pada fungsi atau prosedur lain. Berikut contoh pemanggilan fungsi tebak_a ngka sehingga jelas perbedaannya dengan prosedur tebak_angka. Private SubCommand1_Click() Input_angka% = InputBox(?Masukkan angka sembarang!?,?Masukkan angka?) PrintTebak_angka input_angka% Label1.Caption = Tebak_angka (Input_angka%) End Sub Pada contoh pemanggilan tersebut dapat kita lihat. Karena fungsi Tebak_angka ada

lah mengembalikan nilai karakter string, maka nilai ini dapat langsung dilewatka n pada fungsi Print maupun sebagai nilai dari properti Caption obyek Label1. hal ini tidak dapat dilakukan dengan menggunakan Sub Procedure. Selain fungsi yang dapat kita buat sendiri seperti pada contoh di atas, Visual B asic telah menyediakan banyak sekali fungsi yang siap pakai. Kita tinggal memang gil nama fungsi tersebut beserta argumen yang harus dilewatkan. Berikut adalah s ebagian fungsi yang telah disediakan oleh Visual Basic yang sering digunakan. 30 Fungsi-Fungsi Manipulasi String Fungsi-fungsi dalam kelompok manipulasi string ini biasa digunkan untuk tugas-tu gas yang berhubungan dengan pemrosesan string. Berikut adalah tabel fungsi_fungs i tersebut dan contoh penggunaannya. Tabel 2.2 Fungsi-Fungsi Manipulasi String Nama Fungsi Keterangan Contoh Penggunaan Len Menentukan panjang sebuah string. Len( pipit ) Menghasilkan 5 Ucase Mengubah huruf string menjadi huruf besar. Ucase( pipit ) Menghasilkan PIPIT Lcase Mengubah huruf string menjadi huruf kecil. Lcase ( PIPIT ) Menghasilkan pipit Right Menghasilkan karakter yang dihitung dari sisi kanan string Right ( abcdefg ,3) Menghasilkan efg Left Menghasilkan karakter yang dihitung dari sisi kiri string Left ( abcdefg ,3) Menghasilkan abc Mid Menghasilkan karakter yang dihitung dari tengah-tengah string dimulai dari titik awal tertentu. Mid ( abcdefg ,3,3) Menghasilkan cde StringMengulangi karakter string String (3, a ) Menghasilkan aaa Asc Menghasilkan kode ASCII dari huruf tertentu. Asc ( A ) Menghasilkan 65 Chr Menghasilkan karakter untuk kode ASCII tertentu.

Chr$ (65) Menghasilkan A Trim Menghasilkan karakter dengan menghilangkan karakter space-nya. Trim ( <a> ) Menghasilkan <a> Str Menghasilkan karakter yang mempresentasikan angka numeriknya. Str$ (-12.34) Menghasilkan -12.34 InStr Mencari titik awal dari sebuah string dalam string yang besar. Instr ( abcdef , cd ) Menghasilkan 3. Val Menghasilkan numerik angka yang terkandung dalam string. Val ( 12.34abcdefg ) Mengahasilkan 12,34 31 13Fungsi-Fungsi Konversi Data Fungsi-fungsi dalam kelompok konversi data ini biasa digunakan untuk konversi data. Tabel 2.3 Fungsi-Fungsi Konversi Data Nama Fungsi Keterangan Contoh Penggunaan Cint Mengembalikan nilai integer dan membulatkan pecahan ke integer tertinggi. Cint( 12.34 ) Menghasilkan 12 CStr Mengembalikan nilai string CStr (12.34) Menghasilkan 12,34 Cbyte Mengembalikan nilai Byte, nilai maksimumnya adalah 255. Cbyte ( 12.34 ) Menghasilkan 13 Fix Memotong bagian fraksial, tetapi untuk bilangan negatif akan mengembalikan nilai yang lebih besar atau sama dengan bilangan tersebut. Fix (1.23) Menghasilkan 1 Fix (-1.23)

Menghasilkan -1 Int Memotong bagian fraksial, tetapi untuk bilangan negatif akan mengembalikan nilai yang lebih kecil atau sama dengan bilangan tersebut. Fix (1.23) Menghasilkan 1 Fix (-1.23) Menghasilkan -2 Hex Menghasilkan nilai hexadesimal dari nilai numerik yang dilewatkan. Hex (10) Menghasilkan A 2.8.4 Operator Operator digunakan pada Visual Basic untuk memanipulasi data maupun untuk melaku kan perhitungan. Operator Pada Visual Basic dapat dikelompokkan menjadi tiga kel ompok, yaitu operator matematik, operator perbandingan, dan operator logika. 2.8.4.1 Operator Matematik Operator matematik digunakan untuk melakukan operasi perhitungan matematik. Dalam Visual Basic, jika suatu ekspresi 13Retna P, Catur Edi W, Interfacing Port Paralel dan Port Serial Komputer dengan Visual Basic 6.0, hal. 41 32 mempunyai operator lebih dari satu kategori, maka operator matematik yang akan d ievaluasi lebuh dulu dilanjutkan dengan operator perbandingan, dan terakhir oper ator logika. Berikut adalah tabel operator matematika dimulai dari hirarki palin g tinggi ke paling rendah. Tabel 2.4 Tabel Operator Matematik Operator Operasi. ^ Pemangkatan. Tanda negatif. *,/ Perkalian dan pembagian . \ Pembagian integer. Mod Modulus (sisa pembagian). +,Penambahan dan pengurangan. & Penggabungan String 2.8.4.2 Operator Perbandingan Operator perbandingan digunakan untuk membandingkan suatu ekspresi dengan ekspre si yang lain yang menghasilkan nilai Boolean (False atau True). Berikut adalah o perator perbandingan pada Visual Basic. Tabel 2.5 Tabel Operator Perbandingan Operator

Operasi. = Sama dengan. <> Tidak sama dengan. < Lebih kecil. > Lebih besar. <= Lebih kecil atau sama dengan. >= Lebih besar atau sama dengan. Like Mempunyai ciri yang sama. Is Mempunyai referensi obyek yang sama. 2.8.4.3 Operator Logika Operator logika digunakan untuk mengespresikan satu atau lebih ekspresi logika y ang akan menghasilkan nilai boolean. Tabel berikut adalah operator logika dimula i dari hirarki paling tinggi ke paling rendah beserte tabel kebenarannya. 33 Tabel 2.6 Tabel Operator Logika Tabel Kebenaran Operasi Operator Keterangan Operan Hasil Not True False Not Akan menghasilkan nilai kebalikan dari nilai eksprresi operan Not False True True And True True True And False False False And True False And Akan menghasilkan nilai True hanya jika opersi operannya keduanya bernilai logik a True False And False False True Or True True True Or False True False Or True True Or Akan menghasilkan nilai True jika salah satu operasi operannya bernilai logika T rue False Or False False True Xor True

False True Xor False True True Xor False True Xor Akan mengembalikan nilai True jika ekspresi operannya bernilai logika berbeda False Xor False False True Eqv True True True Eqv False False True Eqv False False Eqv Akan menghasilkan nilai True jika eksoresi operannya bernilai logika sama. False Eqv False True True Eqv True True True Eqv False False True Eqv False True Imp Akan menghaslkan nilai false jika ekspresi operan sebelah kiri operator bernilai logika True dan kanan bernilai logika false. False Eqv False True 34 Halaman Ini Sengaja Di Kosongkan 35 DRIVER MOTOR DC MIKROKONTROLLER AT89S51 RS232 USB BAB III PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK Didalam bab tiga ini pembahasan materi meliputi perencanaan dan pembuatan perang kat lunak yang akan diterapkan dalam sistem kerja Robot Banteng. 3.1 Sistem Konfigurasi Secara keseluruhan kerja Robot Banteng ini sangat ditentukan oleh perangkat luna k yang diterapkan didalamnya. Perangkat lunak yang dibangun didalam robot ini ad alah perangkat lunak untuk pengolahan gambar. Agar robot dapat berjalan dengan b aik dan sesuai dengan yang diinginkan maka sangat diperlukan piranti keras sebag ai pendukungnya, antara lain mekanik robot itu sendiri, penggerak motor serta mi krokontroller AT89S51 sebagai penghubung antara PC dengan penggerak motor. Secara keseluruhan gambaran sistem yang dibangun di robot banteng adalah sebagai berikut: Gambar 3.1 Sistem diagram blok Robot Banteng 36 Berikut adalah diagram alir untuk pengolahan gambar (image processing):

37 Gambar 3.2 Diagram alir pengolahan citra 3.2. Setting Mekanik Agar robot dapat berjalan sesuai yang diharapkan, maka perlu dilakukan pengatura n posisi kamera dengan baik pada mekanik robot. Hal ini bertujuan agar gerakan r obot selaras dengan obyek yang ditangkap oleh kamera. Berikut gambar mengenai pe ngaturan letak kamera pada mekanik robot: 38 Gambar 3.3Peletakan kamera pada mekanik robot 3.3. Pengolahan gambar oleh PC Dalam pengolahan gambar digunakan segmentasi untuk memisahkan obyek tersebut den gan latar belakangnya. Metode yang dipakai adalah segmentasi warna. Obyek yang a kan di deteksi adalah bendera berwarna merah dalam hal ini adalah robot matador. Pada saat pertama kali robot dijalankan gerakan robot adalah memutar kekanan. G erakan memutar ini dilakukan untuk mendapatkan obyek yang dimaksud. Apabila obyek telah ditemukan, maka akan dilakukan perhitungan-perhitungan untuk mendapatkan titik-titik (x,y) bendera. Untuk menentukan jarak penyerangan obyek oleh robot, dilakukan langkah-langkah perhitungan titik-titik x,y yang telah di temukan tadi. Secara garis besar langkah-langkah yang diproses didalam PC adalah sebagai berikut: 1. Pengambilan gambar. 2. Segmentasi warna. 3. Proses penentuan titik tengah obyek (x,y), panjang obyek(nX), lebar obyek(nY) dan Luas obyek (L). 4. Proses perhitungan jarak penyerangan obyek dengan menghitung luas obyek.. 5. Proses penyerangan. Setelah dilakukan berbagai macam perhitungan, maka akan dihasilkan suatu keputus an yang kemudian dikirim ke mikrokontroller melalui komunikasi serial. 3.4. Pengambilan Gambar Untuk pengambilan gambar digunakanweb cam Vimicro USB PC Camera dengan USB sebagai konektornya. Kamera tersebut memiliki fokus yang harus diset secara manual (bukanautofokus). 39 Gambar 3.4Ka m er aVimicro USB PC Camera Untuk mengatasi pencahayaan agar obyek yang ditangkap dapat benar-benar baik, ma ka kita juga perlu mengeset tingkat kecerahan, kontras serta ketajaman pada saat kamera mengambil gambar. Cara mengesetnya adalah dengan cara manual. Untuk mela kukannya kita cukup menggunakan fasilitas software dari Vimicro itu sendiri. Gambar 3.5Kontrol Kamera Logitech Quick Zoom 3.5. Pengenalan Obyek Pengenalan Obyek yang dimaksud disini adalah obyek matador. Pengenalan obyek ter sebut dilakukan dengan carascanning. Scanning digunakan untuk menelusuriframe se telah dilakukan segmentasi, apakah ada obyek yang dimaksud atau tidak. Sebelum d ilakukan scanning obyek, terlebih dahulu dilakukan penskalaan untuk memperkecil ukuran 40 gambar sehingga lebih cepat diproses. Setelah obyek yang di maksud didapatkan selanjutnya akan dilakukan langkah-langkah sebagai berikut: 3.5.1. Titik Tengah Obyek Agar gerakan robot sesuai dengan yang diharapkan, maka diperlukan perhitungan an tara titik tengah obyek yang ditangkap dengan titik tengah layar. Hal ini dilaku kan agar gerakan robot dapat lurus terhadap obyek. Sebelumnya dilakukan proses s

canning obyek terlebih dahulu. Scanning dimulai secara vertikal dengan memanfaatkan titik koordinat antara y = 0 sampai y = 23 (dari bawah ke atas frame), kemudian dilanj utkanscanning secara horisontal dengan titik koordinat antara x = 0 sampai x = 3 1 (dari kiri ke kanan frame). Apabila pada saat prosesscanning tersebut ditemuka n perubahan warna maka akan diketahuinx sebagai koordinat titik x danny sebagai koordinat titik y dari obyek. Apabila nilai dari x dan y dari hasil proses scann ing tersebut sudah didapatkan, maka dilakukan proses perhitungan hingga didapatk an nilai titik tengah obyek. Persamaan pencarian titik tengah obyek seperti beri kut: xObyek = nx / n * 10 + 5 yObyek = ny / n * 10 + 5 dimana: xObyek = titik tengah pada sumbu x yObyek = titik tengah pada sumbu y nx = perubahan nilai x ny = perubahan nilai y n = jumlah perubahan Pada proses segmentasi sebelumnya telah didapatkan nilai r, g dan b sebesar 255, hal tersebut akan menyebabkan obyek berwarna putih dan latar belakangnya berwar na hitam. Gambaran dari prosesscanning dan pencarian titik tengah adalah sebagai berikut: 41 Gambar 3.6Prosesscanning dan pencarian titik tengah Pada robot nilaitreshold dapat diatur secara manual. Hal ini dilakukan untuk mem permudah user mengoperasikannya. Karena warna obyek yang ditangkap kamera tidak semua bagiannya sama. Seperti contoh yang kita ketahui bahwa buah apel yang berw arna merah tidak seluruh bagiannya berwarna merah, mungkin pada bagian pinggirny a ada yang berwarna terang dan ada yang berwarna gelap. Hal tersebut menyebabkan nilai warna merah untuk setiap pixel gambar menjadi tidak sama. Untuk mengatasi hal tersebut maka diperlukan penentuan nilaitreshold. 3.5.2. Luas Obyek Penentuan Luas obyek dimaksudkan untuk mengetahui seberapa besar pixel obyek dil ayar. Hal ini perlu diketahui untuk menentukan jarak tendang obyek. Sebelumnya d icari dahulu panjang dan lebar obyek dengan menggunakan rumus berikut: xL = xMax - xMin + 1 yL = yMax - yMin + 1 dimana: xL = panjang obyek (sumbu x) yL = lebar obyek (sumbu y) xMax = nilai x hasil scanning xMin = nilai x hasil scanning yMax = nilai x hasil scanning yMin = nilai x hasil scanning : Arahscanning (0,0) 24 32 ? Keterangan: 42

yang yang yang yang

lebih besar kurang dari lebih besar kurang dari

dari -1 32 dari -1 24

Apabila panjang dan lebar obyek sudah didapatkan, maka dilakukan perhitungan hin gga didapatkan luas obyek. Untuk mencari Luas tersebut digunakan persamaan sebag

ai berikut: Luas = xL * yL 3.6. Jarak Penyerangan Obyek Jarak penyerangan pada robot banteng dapat diatur dengan memperhatikan luas obye k yang telah didapat. Jarak penyerangan dapat kita atur sesuai dengan keperluan. Panjang obyek yang akan di deteksi adalah 18 cm dan lebar 15 cm. Dengan panjang dan lebar seperti itu dapat diketahui luas obyek. Untuk mendapatkan jarak sesua i dengan yang diperlukan maka dilakukan pengukuran langsung. Misal kita mengingi nkan jarak sejauh 1 meter, maka ukur jarak kamera dengan obyek sejauh 1 meter. K emudian lihat besar luas obyek pada layar. Nilai luas pixel pada layar tersebut mewakili jarak antara robot dengan obyek. Pada robot banteng jarak penyerangan ditentukan antara range 80 cm (63 pixel) sa mpai dengan 120 cm (30 pixel). Apabila luas obyek lebih besar dari 63 pixel robo t akan mundur dan sebaliknya apabila luas kurang dari 30 pixel robot akan maju. Untuk mempermudahkan penggunaan range penyerangan juga dapat diatur secara manua l dengan memasukkan nilai Luas pada textbox yang telah ditentukan. Untuk menentukan obyek sudah tepat berada pada tengah layar maka dilakukan perhitungan error seperti berikut: e = ( 160-x ) \ 40 dimana: x = nilai titik tengah obyek pada sumbu x Berikut sintak programnya: Gambar 3.7 Sintak program penentuan posisi robot If e = 0 Then frmUtama.txtPerintah = "Maju" frmUtama.MSComm1.Output = "F" ElseIf e < 0 Then frmUtama.txtPerintah = "Putar ke Kiri : " & Abs(e) frmUtama.MSComm1.Output = "L" ElsefrmUtama.txtPerintah = "Putar ke Kanan : " & Abs(e) frmUtama.MSComm1.Output = "R" End If 43 apabila nilai error (e) sama dengan 0 berarti posisi obyek sudah tepat ditengahtengah layar. Apabila kurang dari 0 posisi obyek terlalu ke kanan dan sebaliknya bila lebih besar dari 0 posisi obyek terlalu ke kiri. 3.7. Komunikasi Data antara PC dengan Mikrocontroller Untuk mengaktifkan seluruh sistem sesuai dengan fungsinya, perlu dibuat perangka t keras dan perangkat lunak. Perangkat lunak disini yaitu untuk mengatur jalanny a data yang dikirim oleh komputer ke mikrokontroller agar data yang terkirim dit erima dengan sempurna oleh mikrokontroller. Ada dua perangkat lunak pada komunik asi data yaitu perangkat lunak untuk komunikasi data pada PC dan perangkat lunak untuk komunikasi data pada mikrokontroller. Dalam proyek akhir ini akan membuat robot otomatis dengan menggunakan komunikasi serial. Pada bagian pemroses gambar dalam hal ini warna terdiri dari kamera, US B (Universal Serial Bus), komputer, rangkaian pengubah level tegangan, sedangkan bagian pengaturan gerak robot terdiri dari rangkaian mikrokontroller dan rangka ian driver sebagai penggerak motor. Sedangkan untuk perancangan komunikasi data menggunakan RS232. Dengan perangkat tersebut dapat digunakan untuk mengirimkan d ata/karakter dari komputer ke mikrokontroller dengan sempurna. Gambar 3.8Jalur RS232 pada DB9 Saat ini penggunaan bahasa pemrograman berbasis objek sedang menjadi trend yang

tak terhindarkan.Vendor perangkat lunak menawarkan bahasa dengan karakter terseb ut dengan sebuah kosakata yang cantik, yakniVisual, sehingga kita kenal Delphi m ilik Borland, Visual C++, Visual Basic, atau Oracle, PowerBuilder, Visual dBase, Visual Foxpro, untuk aplikasi database. Tak terkecuali dalam aplikasi sistem ko ntrol industri, perangkat yang ditawarkan paravendor-nya juga 44 semakin mendukung penggunaan pemrograman visual. Seperti Visual Basic, misalnya, kalangan industri sistem kontrol memberikan peluang untuk pengembangan sistem m ereka dengan bahasa ini, terutama di kalangan pengguna sistem berbasisWindows.Yo kogawa, ABB, Wonderware, adalah nama yang bisa disebutkan untuk hal ini. Pada aplikasi ini, akan dibahas menggunakan Visual Basic dengan pertimbangan bahasa p emrograman yang paling banyak dipakai pada develop sistem. Komuniaksi serial dapat digolongkan menjadi dua: Pooling yaitu suatu teknik pengiriman dan penerimaan data secara terus menerus. Interupt yaitu suatu pengiriman data jika ada data yang masuk baru akan mendapat respon dan begitu sebaliknya sehingga computer tidak terlalu sibuk. Gambar 3.9 Form dan properties pada Visual Basic Pengiriman informasi dari PC menuju mikrokontroler menggunakan data serial denga n baudrate 9600 bps non parity data bit 8 dan stop bit 1 (9600, n, 8, 1). Untuk mengatur data serial pada visual basic telah disediakan properti pengaturan (lih at gambar diatas). Untuk menambahkan serial comm pada visual basic lakukan langk ah sebagai berikut : Klik kanan toolbox kemudian klik component, kemudian pilih microsoft comm control 6.0, lalu klik OK. Lihat gambar berikut: 45 Gambar 3.10 Daftar komponen pada Visual Basic Untuk membuat aplikasi sederhana, kita berikan contoh pemrograman chating atau p engiriman data dari PC1 ke PC 2 (dari DTE ke DTE) menggunakan system interrupt. Langkah-langkah : 1. Buat form seperti pada gambar form diatas ,tambahkan komponen komunikasi seri al menggunakan Microsoft Comm Control dan ubah propertiesnya sesuai dengan keper luan, boudrate, parity, databit dan stop bitnya. 2. Pada Load Form aktifkan port komunikasi serial Private Sub Form_Load() MSComm1.PortOpen = True Text2 = "" End Sub 3. Untuk prosedure pengiriman data dari PC ke PC lain maka setelah data pada Tex t1(textbox) diisi dengan data, maka agar command button Kirim bias melakukan pen giriman data lakukan perintah dibawah ini : Private Sub Command1_Click() MSComm1.Output = Text1 + Chr(13) + Chr(10) End Sub 46 4. Sedangkan untuk menerima hasil kiriman data dari PC lain maka hasil informasi nya tampilkan pada Text2 (Textbox) tetapi property multiline jadikan true agar b isa menampilkan lebih dari satu baris. Kemudian lakukan pengecekan, apakah ada d ata yang masuk, gunakan procedure OnComm dengan cara double clik komponen MsComm 1 lalu ketik listing program seperti dibawah ini :

Private Sub MSComm1_OnComm() Text2 = Text2 + MSComm1.Input If Right(Text2, 1) = Chr(13) Then Text2 = Text2 + Chr(10) End If End Sub Pada perancangan perangkat lunak ini untuk pengiriman data dari komputer ke mikr okontroler digunakan komunikasi serial secara interupt yaitu apabila ada data ya ng dikirimkan ke mikrokontroler maka data tersebut langsung diolah oleh mikrokon troler untuk diperoleh responnya. Untuk mempermudah pengolahan serta pengiriman data melalui komunikasi serial, maka pada perancangan perangkat lunak data yang dikirimkan ke mikrokontroler adalah berupa satu karakter huruf atau satu karakte r angka. Pada mikrokontroler huruf atau karakter angka yang diterima tersebut ak an diolah sesuai dengan subrutin yang telah ditunjukkan pada program mikro itu s endiri. Karakter yang dikirimkan ke mikrokontroler tersebut antara lain adalah: Karakter F = untuk perintah maju Karakter B = untuk perintah mundur Karakter R = untuk perintah berputar kekanan Karakter L = untuk perintah berputar kekiri Karakter S = untuk perintah berhenti Karakter A = untuk perintah Serang Karakter C = untuk perintah Scanning obyek Karakter E = untuk perintah menghentikan seluruh proses penerimaan data dari PC Untuk mengirimkan karakter diatas pada Visual Basic, cukup digunakan perintah sebagai berikut: Mscomm1.Portopen = True Mscomm1.Output = karakter 47 3.8. Komunikasi data dari PC ke PC Komunikasi data dari PC ke PC pada robot banteng digunakan untuk mengirimkan dat a dari robot matador apabila robot banteng telah tertusuk. Apabila data telah di terima oleh robot banteng maka akan terjadi interrupt untuk menghentikan semua a ktifitas robot banteng. Sehingga pertandingan dianggap telah selesai. Apabila be lum ada data yang dikirim oleh robot matador maka robot banteng akan melakukan p encarian obyek terus menerus sampai beberapa kali looping. Untuk komunikasi digunakan kontrol winsock. Kontrol ini terdapat dalam komponen Microsoft Winsock Control. Untuk mengaktifkan control ini Klik kanan toolbox kem udian klik component, kemudian pilih microsoft winsock control 6.0, lalu klik OK . Lihat gambar berikut:Gambar 3.11 Daftar komponen Winsock Untuk membuat aplikasi pertama adalah setting dahulu nilai LocalPort(terserah), RemotePort (sesuai dengan LocalPort PC yang akan dikoneksikan), RemoteHost (IP P C yang akan dikoneksikan), Protocol (1-sckUDPProtokol). 48 Contoh aplikasi dari control winsock adalah sebagai berikut:

1. Buat form seperti dibawah ini dan tambahkan komponen winsock pada form terseb ut, ubah propertiesnya seperti keterangan diatas. Gambar 3.12 Properties Winsock 2. Pada load form aktifkan winsock Private Sub Form_Load() Winsock1.Bind End Sub 3. Untuk prosedure pengiriman data dari PC ke PC lain maka di gunakan commandbut ton isi dari perintahnya adalah sebagai berikut: Private Sub Command1_Click() Winsock1.SendData "stop" End Sub 4. Sedangkan untuk menerima hasil kiriman data dari PC lain maka datanya ditampi lkan pada Text1 (Textbox) tetapi property multiline jadikan true agar bisa menam pilkan lebih dari satu baris. Lalu ketik listing program seperti dibawah ini : Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim data Winsock1.GetData data, vbString Text1 = Text1 + data + Chr(13) + Chr(10) End Sub 49 BAB IV PENGUJIAN DAN ANALISA Pada bab ini akan dilakukan pengujian untuk mengetahui tingkat keberhasilan proy ek akhir yang telah direncanakan seperti pada Bab III . Dengan adanya pengujian akan diketahui kekurangan-kekurangan yang ada, sehingga dapat dilakukan perbaika n. Secara keseluruhan jalannya program yang telah dibuat dengan bahasa pemrograman Visual Basic 6.0 ini berjalan dengan baik sesuai dengan yang diharapkan. Dalam s istem perangkat lunak penyusun menggunakan komputer dengan spesifikasi sebagai b erikut : Prosesor Pentium IV LGA 2,66 GHz Memori 256 MB 4 buah port USB 1 buah port serial Operating system Windows XP Profesional 4.1 Pengujian dan Pengambilan Data Proses pengujian dan pengambilan data dilakukan di dalam ruangan yang memiliki c ahaya cukup terang. Sehingga pengaturan threshold pun dapat dilakukan dengan mud ah. Pengambilan gambar harus dilakukan dengan cepat dan tepat untuk mendapatkan hasil yang maksimal. Dalam setiap pengambilan gambar frame rate adalah 12 fps. F rame rate adalah jumlah gambar yang dapat ditangkap kamera setiap detiknya. Data yang akan diambil pada pengujian ini adalah panjang, lebar, luas, posisi dan ja rak obyek. Berikut tampilan form untuk mempermudah membaca data-data tersebut se rta melihat proses pengolahan gambar bagi para pengguna: 50 Gambar 4.1 Tampilan form program Pada saat pertama kali robot dijalankan, robot akan menscan obyek secara otomati s apabila obyek yang dicari tidak di temukan robot akan bergerak memutar kekanan untuk mencari obyek tersebut. Setelah dapat menemukan obyek yang dimaksud, maka akan dilakukan perhitungan untuk mencari titik tengahnya terhadap frame kamera.

Setelah robot dijalankan, gerakan yang didapat sesuai dengan yang diharapkan. Ro bot akan bergerak maju apabila jarak penyerangan kurang dekat. Dan robot akan mu ndur apabila jatak penyerangan terlalu dekat. Sebelum melakukan gerakan, robot t erlebih dulu harus berada pada posisi menghadap lurus dengan obyek gawang. Oleh sebab itu pada saat berjalan, robot akan selalu melakukan koreksi titik tengah o byek terhadap titik tengah layar. Jarak terjauh yang dapat di deteksi robot dengan ukuran obyek 18 x 15 cm adalah 495 cm sedangkan jarak terdekat adalah 30 cm semuanya tergantung dari pencahayaa n dalam ruangan tersebut. Berikut adalah tabel data yang didapat dari hasil peng ujian dengan nilai threshold10. Jarak ditentukan sebesar 75 cm sampai 125 cm dengan waktu pengambilan siang hari dalam ruangan lab TA. 51 Tabel 4.1: Tabel data hasil pengujian Jarak(cm) Fps Panjang(yL) (pixels) Lebar(xL) (pixels) Luas (pixels) TitikX (pixels) TitikY (pixels) Posisi Kondisi 12,61 10 7 70 55 132 kanan Ptr kiri 12,13 10 7 70 155 132 Tengah Mundur 75 12,23 10 7 70 276 131 kiri Ptr kanan 12,61 9 6 54 50

146 Kanan Ptr kiri 12,55 9 6 54 160 145 Tengah Serang 80 12,22 9 6 54 280 136 kiri Ptr kanan 12,49 8 5 40 66 132 kanan Ptr kiri 12,27 8 5 40 155 130 Tengah Serang 100 12,45 8 5 40 254 126 Kiri Ptr kanan 12,19 7 4 28 40 139 Kanan Ptr kiri 12,39 7 4 28 141 136 Tengah

Maju 120 12,51 6 4 24 260 130 Kiri Ptr kanan 12,48 6 4 24 71 139 Kanan Ptr kiri 12,57 6 4 24 151 129 Tengah Maju 125 12,26 6 4 24 270 130 Kiri Ptr kanan Gambar-gambar dibawah ini merupakan beberapa gambar dari data diatas. 1. Gambar 4.2 Posisi 1 Keterangan: Koordinat obyek telah diketahui, posisi obyek sudah di tengah tetapi luas melebi hi dari yang diharapkan sehingga robot diperintahkan untuk mundur. Jarak robot d engan obyek di set sebesar 75 cm. 52 2. Gambar 4.3 Posisi 2 Keterangan: Koordinat obyek telah diketahui, posisi obyek sudah tepat di tengah- tengah luas obyek juga sudah sesuai dengan yang diharapkan sehingga robot diperintahkan unt uk menyerang. Jarak obyek di set 80 cm. 3. Gambar 4.4 Posisi 3 Keterangan: Koordinat obyek telah diketahui, posisi obyek sudah tepat di tengah- tengah luas obyek juga sudah sesuai dengan yang di harapkan sehingga robot di perintahkan u ntuk menyerang. Jarak obyek di set 100 cm. 4.

Gambar 4.5 Posisi 4 53 Keterangan: Koordinat obyek telah diketahui, posisi obyek sudah tepat di tengah- tengah luas obyek masih kurang dari yang di harapkan robot di perintahkan untuk maju. Jarak obyek di set 120 cm. 5. Gambar 4.6 Posisi 5 Keterangan: Koordinat obyek telah diketahui, posisi obyek sudah tepat di tengah- tengah luas obyek masih kurang dari yang di harapkan robot di perintahkan untuk maju. Jarak obyek di set 125 cm. 6. Gambar 4.7 Posisi 6 Keterangan: Koordinat obyek telah diketahui, posisi obyek terlalu ke kanan obyek di perintahkan untuk berputar ke kiri . Jarak obyek di set 75 cm. 54 7. Gambar 4.8 Posisi 7 Keterangan: Koordinat obyek telah diketahui, posisi obyek terlalu ke kiri obyek di perintahkan untuk berputar ke kanan . Jarak obyek di set 80 cm. 4.2 Analisa Faktor utama yang sangat berpengaruh dalam pengenalan obyek adalah pencahayaan, dimana setiap ruangan yang memiliki intensitas cahaya berbeda harus digunakan ni lai treshold yang berbeda pula. Jarak antara obyek dengan robot yang tidak selal u sama, hal ini akan menyebabkan perubahan pada nilai RGB-nya, karena perbedaan jarak akan mempengaruhi intensitas cahaya yang jatuh ke atas permukaan obyek. Data yang diperoleh dari robot adalah berupa gambar dua dimensi, sehingga hasil gambar yang didapat pada saat robot berada didepan obyek akan berbeda dengan has il gambar yang didapat pada saat robot berada pada sudut kemiringan tertentu ter hadap obyek. Posisi robot yang berada di sebelah kiri atau di sebelah kanan obye k sangat mempengaruhi perhitungan titik koordinat obyek, sehingga hal tersebut m enyebabkan luas obyek sebagai acuan jarak penyerangan tidak sama dengan nilai lu as obyek yang diperoleh bila robot berada tepat didepan obyek. Untuk itu apabila robot belum tepat berada di tengah-tengah robot di perintahkan untuk berputar k e kiri atau ke kanan. 55 BAB V PENUTUP 5.1 Kesimpulan Dari hasil pengujian proyek akhir ini dapat ditarik beberapa kesimpulan, antara lain: 1. Pengenalan obyek berjalan dengan baik pada nilaitreshold 10 dan dilakukan pada siang hari di dalam ruangan lab TA. 2. Proses penyerangan obyek dapat dilakukan dengan baik dan pencarian ulang pun dapat dilaksanakan dengan baik pula. 3. Proses pengiriman data dari PC ke mikro tidak ada hambatan begitu pula peneri maan data yang di kirimkan dari PC robot Matador untuk menghentikan seluruh akti fitas robot banteng dapat berjalan dengan baik. 4. Penentuan posisi kamera dan pencahayaan memiliki pengaruh besar dalam pengena lan obyek, untuk itu dibutuhkan pengesetan kamera dan pencahayaan yang cukup pad a saat robot akan dijalankan.

5. Jarak maksimal robot dapat mendeteksi obyek adalah 495 cm sedangkan jarak minimal adalah 30 cm. 6. Keberhasilan robot dalam penyerangan tergantung dari kelincahan robot dalam menghindari serangan balik dari robot matador. 7. Algoritma penentuan titik tengah obyek dengan titik tengah layar serta tolera nsi selisih nilai diantara keduanya (koreksi titik tengah layar dengan titik ten gah obyek) berjalan dengan baik. 8. Dari pengujian, range untuk batas penyerangan obyek di els - 30 pixels luas obyek pada layar atau 80 cm 120 cm dari 30 pixels robot di perintahkan untuk maju dan lebih obot di perintahkan untuk mundur. Perintah tersebut dapat ncar. 5.2 Saran tentukan antara 63 pix jarak sebenarnya. Kurang besar dari 63 pixels r dilaksanakan dengan la

Dari kekurangan-kekurangan yang diperoleh pada saat pengujian program, ada beber apa hal yang perlu diperhatikan untuk pembuatan perangkat dengan menggunakan sen sor kamera. 1. Sebelum menjalankan peralatan sebaiknya dilakukan pengesetan kamera lebih dah ulu agar gambar yang didapatkan sesuai dengan ketentuan referensi data yang tela h ditetapkan pada program. Pengesetan tersebut diantaranya adalah pengaturan pen cahayaan kamera sesuai dengan tempat 56 pengambilan gambar, peletakan sensor kamera pada mekanik atauplan yang dijalanka n serta waktu peralatan tersebut dijalankan. 2. Pada form aplikasi program sebaiknya dibuat semi otomatis agar para pengguna dapat dengan mudah menggunakannya, seperti penentuan jarak penyerangan. 3. Untuk pengembangan robot otomatis dengan menggunakan pemrosesan gambar (image processing), sebaiknya digunakan kamera yang lebih bagus agar respon yang didap at bisa lebih cepat apabila terjadi perubahan-perubahan secara mendadak pada oby ek yang ditangkap. Aplikasi Web Cam Untuk Menangkap Obyek Reads: 6,125 Uploaded: 01/15/2009 Category: Uncategorized. Rated: (18 Ratings) DownloadPrintMobileCollectionsReport Document This is a private document. Question_small 1279314856 sinyorita Follow Share & Embed Link / URL: Embed Size & Settings: * * * * Width: Auto Height: (proportional to specified width) Start on page: Preview View:

More share options Related 1. 21 p. Mengoperasikan Software Multimedia Reads: 2199 78 p. Rancang Bangun Robot Pemancing Ika... Reads: 2613 74 p. Robot Sumo Reads: 3999 2. 183 p. Modul Rekayasa Perangkat Lunak Jil... Reads: 5882 92 p. Mengoperasikan Software Gambar Ras... Reads: 5518 4 p. ArahMotorDC Reads: 462 3. 33 p. BukuAjarModul1 Reads: 2740 9 p. kendali posisi cannon menggunakan ... Reads: 1961 44 p. Photoshop Reads: 2554 4. 59 p. Membuat Mail Server Dengan Windows... Reads: 5241 11 p. Robot Avoider

Reads: 1713 276 p. Panduan Lengkap Linux Opensuse Reads: 9696 5. 376 p. Kelas IX SMP IPA Dewi Ganawati Reads: 14609 33 p. 00 (Orientalis Dan Kebudayaan Isla... Reads: 1149 28 p. CorelDraw Reads: 257 6. 28 p. Dasar Dasar Reads: 345 165 p. Modul Rekaysa Perangkat Lunak Jili... Reads: 11016 26 p. Tips Reads: 2045 7. 1 p. Sam Reads: 0 31 p. Complete Refernence of J Meter Reads: 0 8 p. The Flight to the Land Beyond the ... Reads: 0 8. 53 p. <html><body><h1>503 Service Unavai...

Reads: 0 1 p. Session Note Taking Form Reads: 0 1 p. LID:MRY - RNAV (RNP) Z RWY 28L (10... Reads: 0 9. 1 p. LID:ALB - COPTER ILS OR LOC/DME RW... Reads: 0 More from this user 1. 69 p. Robot Tukang Batu Sebagai Alat ... From: sinyorita Reads: 4,004 74 p. Robot Sumo From: sinyorita Reads: 4,569 77 p. Robot Pemukul Gamelan Versi 2 From: sinyorita Reads: 3,156 2. 78 p. Rancang Bangun Robot Pemancing ... From: sinyorita Reads: 2,874 106 p. PENGEMBANGAN KONVERTER From: sinyorita Reads: 2,201 86 p. Aplikasi Web Cam Untuk Menangka...

From: sinyorita Reads: 6,255 3. 87 p. Algoritma Robot Pemanjat Tiang From: sinyorita Reads: 2,608 72 p. Algoritma Posisi Batu Bata From: sinyorita Reads: 2,806 Login to Add a Comment memec read this 4 days agoLearn more about Readcast. Odie Saputra read this 06 / 22 / 2010Learn more about Readcast. Edelweis Flower read this 06 / 18 / 2010Learn more about Readcast. Chaster Sky left a comment tlg krimin proect ini donk bos,, ke chaster_sky@yahoo.com 05 / 17 / 2010 Reply mentoz left a comment sinyorita gk mau tulisannya di sedot 07 / 15 / 2009 Reply pemancar left a comment mengapa tidak bisa di download? 06 / 08 / 2009 Reply justiandi left a comment kok ga' bs di download siiih? 05 / 27 / 2009 Reply Print this document High Quality Open the downloaded document, and select print from the file menu (PDF reader re quired). Browser Printing Coming soon!

Your download will begin shortly... But first, we need a bit more information. Import more of your profile informati on from Facebook to help use find more content that you'll be interested in and build your social network on and off Scribd. No, thanks Your download will begin shortly... But first, we need a bit more information. Import more of your profile informati on from Facebook to help use find more content that you'll be interested in and build your social network on and off Scribd. No, thanks Sign up Use your Facebook login and see what your friends are reading and sharing. Other login options Login with FacebookSpinner_mac_white Signup I don't have a Facebook account email address (required) create username (required) password (required) Send me the Scribd Newsletter, and occasional account related communicat ions. Privacy policy Spinner_mac_white You will receive email notifications regarding your account activity. You can ma nage these notifications in your account settings. We promise to respect your pr ivacy. Why Sign up? Num_1 Discover and connect with people of similar interests. Num_2 Publish your documents quickly and easily. Num_3 Share your reading interests on Scribd and social sites. Social-icons Already have a Scribd account? email address or username password Spinner_mac_white Trouble logging in? Login Successful Now bringing you back... Spinner_large_mac_white Back to Login Reset your password Please enter your email address below to reset your password. We will send you a n email with instructions on how to continue. Email address: You need to provide a login for this account as well. Login:

Upload a Document Search Books, Presentations, Business, Academics...

Scribd * * * * * * Legal * * * * Terms - General Terms - API Terms - Privacy Copyright About Press Jobs Contact Blog Scribd Store

Help & Tools * * * * Getting Started Community Guidelines Support & FAQ Web Stuff

Partners * Partners / Publishers * Branded Reader * Developers / API Subscribe to Us * On Scribd * On Twitter * On Facebook Enter your email address: or Spinner_mac_white What's New * We have updated our Terms of Service * Branded Reader * Desktop Uploader scribd. scribd. scribd. scribd. scribd. scribd. scribd. scribd. scribd. scribd. scribd. scribd. scribd. scribd. scribd. scribd. scribd.

You might also like