LANDASAN TEORI
BAB II
LANDASAN TEORI
Pada bab ini akan dijelaskan beberapa teori penunjang dalam pembuatan
proyek akhir, khususnya yang berhubungan dengan piranti lunak. Teori tersebut diantaranya : pengenalan tentang robot, USB DVR, frekuensi radio, komunikasi pemograman BASCOM-AVR, dan pemograman Visual Basic 6.0. serial,
2.1. Robot Perkembangan teknologi robot sama halnya dengan perkembangan teknologi lainnya, seperti handphone dan laptop. Robot berkembang mulai dari sistem yang sederhana sampai robot yang mempunyai sistem yang lebih kompleks. Beberapa penemuan robot yang dapat dijadikan tolak ukur sebagai perkembangan robot, diantaranya : Pada tahun 1770, Pierre Jacquet Droz, seorang pembuat jam berkebangsaan swiss membuat 3 boneka mekanis. Uniknya, boneka tersebut dapat melakukan fungsi spesifik, yaitu dapat menulis, yang lainnya dapat memainkan musik dan organ, dan yang ketiga dapat menggambar. Pada tahun 1898, Nikola Tesla membuat sebuah robot yang dikontrol melalui radio remote kontrol, dan didemokan di Madison Square Garden. Pada tahun 1967, Jepang yang pada saat itu merupakan negara yang baru bangkit, mengimpor robot dari Versatran dari AMF. Awal kejayaan robot yaitu pada tahun 1970, ketika Profesor Victor Scheinman dari Universitas Stanford mendesain lengan standar. Pada tahun 2000 Honda memamerkan robot yang dibangun bertahun – tahun lamanya bernama Asimo, serta disusul oleh Sony yaitu robot anjing Aibo. Sampai saat ini, robot terus dikembangkan dan diterapkan di berbagai bidang kehidupan. Hal ini tidak lepas dari tujuan awal dibuatnya robot yaitu untuk membantu pekerjaan manusia dalam menjalankan aktivitas sehari-hari.
POLITEKNIK NEGERI BANDUNG
6
LANDASAN TEORI
2.1.1. Pengertian dan Fungsi
Istilah robot berasal dari bahasa Cekoslovakia dan berasal dari kosakata “Robota” yang berarti “kerja cepat”. Sedangkan pengertian robot
lebih luas, yaitu sistem atau alat yang dapat berperilaku atau meniru perilaku manusia dengan tujuan untuk menggantikan dan mempermudah
pekerjaan/aktifitas yang dilakukan oleh manusia. Secara umum kegunaan robot adalah untuk menggantikan manusia dalam melakukan pekerjaan yang membutuhkan ketelitian yang tinggi ataupun mempunyai resiko yang sangat besar bahkan mengancam keselamatan
manusia.
Selain untuk menggantikan manusia dalam
melakukan pekerjaan, ada juga sebagian robot yang sengaja diciptakan untuk menemani manusia di dalam aktifitasnya. 2.1.2. Klasifikasi Robot Secara garis besar robot dapat diklasifikasikan ke dalam 4 bagian: a.
Non-Mobile Robot Robot ini tidak dapat berpindah posisi dari satu tempat ke tempat
lainnya, sehingga robot tersebut hanya dapat menggerakkan beberapa bagian dari tubuhnya dengan fungsi tertentu yang telah dirancang. Contoh : robot manipulator berlengan
Gambar 2.1. Robot Manipulator Berlengan
b.
Mobile Robot Mobile dapat diartikan bergerak, sehingga robot ini dapat memindahkan
dirinya dari satu tempat ke tempat lain. Dari segi manfaat, robot ini diharapkan dapat membantu manusia dalam melakukan otomasi dalam
POLITEKNIK NEGERI BANDUNG
7
LANDASAN TEORI
transportasi, platform bergerak untuk robot industri, eksplorasi tanpa awak
dan masih banyak lagi. Contoh: Robot Line Follower
Gambar 2.2. Mobile Robot
c.
Gabungan Mobile Robot dan Non-Mobile Robot Robot ini merupakan penggabungan dari fungsi-fungsi pada robot
mobile dan non-mobile, sehingga keduanya saling melengkapi dimana robot non-mobile dapat terbantu fungsinya dengan bergerak dari satu tempat ke tempat lain. d.
Robot Humanoid Robot ini dirancang dengan menirukan anatomi dan perilaku manusia.
Fungsi-fungsi tubuh manusia baik lengan, kaki, mata, dan pergerakan sendi kepala dan bagian lainnya sebisa mungkin diterapkan dirobot ini. Contoh: robot ASIMO buatan Jepang.
Gambar 2.3. Robot Humanoid
2.2. USB DVR (Digital Video Recorder) USB DVR merupakan alat yang berfungsi untuk menampilkan gambar wireless camera CCTV ke komputer atau laptop. USB DVR ini dapat mengubah sinyal CVBS/AV analog menjadi data yang dapat dilihat lewat komputer Di pasaran terdapat dua jenis USB DVR yaitu 1 channel dan 4 channel. Yang
POLITEKNIK NEGERI BANDUNG
8
LANDASAN TEORI
membedakan kedua jenis tersebut yaitu jumlah kamera CCTV yang dapat
ditampilkan dalam satu monitor. Apabila jenis yang 1 channel hanya dapat
menampilkan 1 kamera CCTV sedangkan yang jenis 4 channel dapat menampilkan 4 kamera CCTV pada satu monitor dalam waktu yang bersamaan. Pada perancangan proyek akhir ini digunakan jenis USB DVR yang 1 channel
karena kamera yang digunakan hanya satu. Cara penggunaan alat ini sangat mudah, user cukup menginstal software yang sudah disediakan, kemudian sambungkan kamera pada alat ini dan hasil gambar dari kamera CCTV dapat dilihat. Spesifikasi USB DVR 1 Channel, yaitu:
Tipe/Interface : Port USB 2.0
Supports NTSC, PAL, Video format
Video Input : 1x S-video, 1x Composite (RCA Video Input)
Audio input : 1x Composite (RCA) L (Left) & R (Right)
Dimension : (L)88mmx(W)28mmx(H)18mm
USB bus power
Supports high quality video resolution NTSC: 720×480 @30fps PAL: 720×576 @25fps
Format Kompresi : DVD, MPEG 4/2/1, AVI
Input Compability Device : VHS, TV, CCTV Camera, DVD Player, Games Console, Camcorder
Bundle Software : Ulead Video Studio 8.0 SE DVD
OS Support : PC with Windows 2000/XP/Vista/Win7
POLITEKNIK NEGERI BANDUNG
9
LANDASAN TEORI
Gambar 2.4. USB DVR 1 Channel
2.3. Frekuensi Radio Frekuensi Radio merupakan bagian dari spektrum elektromagnetis dengan frekuensi antara 10 kilohertz sampai 300 gigahertz. Pada perancangan proyek akhir ini, frekuensi radio digunakan untuk komunikasi antara transmitter dan receiver sehingga data dari PC dapat dikirimkan ke robot. Perbandingan frekuensi dapat dilihat pada tabel 2.1.
Tabel 2.1. Pembagian range frekuensi
Nama Band
Singkatan
Frekuensi
Panjang gelombang
Extremely low
ELF
3–30 Hz
frequency Super low
10000 km SLF
30–300 Hz
frequency Ultra low
100000 km – 10000 km – 1000 km
ULF
300–3000 Hz
frequency
1000 km – 100 km
VLF
3–30 kHz
100 km – 10 km
Low frequency
LF
30–300 kHz
10 km – 1 km
Medium
MF
300–3000 kHz
1 km – 100 m
Very low frequency
frequency POLITEKNIK NEGERI BANDUNG
10
LANDASAN TEORI
High frequency
HF
3–30 MHz
100 m – 10 m
Very high
VHF
30–300 MHz
10 m – 1 m
UHF
300–3000 MHz
1 m – 100 mm
SHF
3–30 GHz
100 mm – 10 mm
EHF
30–300 GHz
10 mm – 1 mm
frequency
Ultra high
frequency Super high
frequency
Extremely high
frequency
2.4. Komunikasi Serial Komunikasi serial adalah salah satu metoda penyampaian informasi dalam komunikasi dimana data
dikirim/diterima secara serial (data dikirim
secara berurutan). Setiap bit data dikirimkan satu persatu melalui saluran tunggal. Dalam pengiriman data secara serial harus ada sinkronisasi atau penyesuaian antara pengirim dan penerima agar data yang dikirimkan dapat diterima dengan tepat dan benar oleh penerima. Dalam komunikasi secara serial terdapat tiga macam mode transmisi serial dalam mentransmisikan bit-bit data, yaitu: syncronous, asyncronous, dan isochronous. Mode transmisi yang paling banyak digunakan, yaitu mode asyncronous. Transmisi serial mode asyncronous
digunakan bila pengiriman data
dilakukan satu karakter tiap pengiriman. Antara satu karakter dengan karakter lainnya tidak ada waktu antara yang tetap. Selain mode transmisi, terdapat pula tiga metoda komunikasi yaitu : mode komunikasi simplex (searah), mode komunikasi half-duplex (dua arah), dan mode komunikasi full-duplex (dua arah secara bersamaan). Dalam teknik komunikasi data serial dikenal istilah format data serial. Format data serial ini terdiri dari parameter-parameter yang dipakai untuk menentukan bentuk data serial yang akan dikomunikasikan. Elemen-elemen format data serial terdiri dari: a) Kecepatan mobilisasi data per bit (baud rate). b) Jumlah bit data per karakter (data length). POLITEKNIK NEGERI BANDUNG
11
LANDASAN TEORI
c) Pariti yang digunakan.
d) Jumlah stop bit dan start bit. Pada umumnya RS-232 biasa digunakan
sebagai
interface
antara
mikrokontroler dengan perangkat eksternal lain misalnya dalam perancangan ini adalah laptop. Dikarenakan pada laptop tidak ada konektor serial DB-9, maka
digunakan kabel USB to Serial RS-232. RS-232 dapat mengkondisikan sinyal yang berasal dari Transmitter mikrokontroler (Tx) dan Receiver mikrokontroler (Rx) agar dapat berkomunikasi dengan laptop. Komunikasi secara serial dapat terganggu jika data yang dikirim tidak
sama dengan data yang diterima, yang disebabkan oleh lemahnya sinyal yang
dikirim, oleh karena itu digunakanlah RS–232 sebagai pengkondisi sinyal agar sinyal yang dikirim sama dengan sinyal yang diterima. Berikut adalah contoh rangkaian RS – 232 yang sederhana dan layout IC MAX232.
Gambar 2.5. Contoh rangkaian RS 232
Gambar 2.6. IC MAX232
Port serial lebih sulit ditangani dari pada port paralel karena peralatan yang dihubungkan
ke port serial
harus berkomunikasi dengan menggunakan
transmisi serial, sedangkan data di komputer diolah secara paralel. Sehingga, data dari / dan ke port serial harus dikonversikan ke (dan dari) bentuk paralel untuk bisa digunakan secara hardware. Hal ini bisa menggunakan UART (Universal Asynchronus Receiver Transmitter). Adapun keunggulan menggunakan port serial daripada port paralel sebagai transfer data yaitu : POLITEKNIK NEGERI BANDUNG
12
LANDASAN TEORI
1. Kabel port serial bisa lebih panjang dibandingkan kabel port paralel.
Hal ini karena port serial mengirimkan logika “1” sebagai –3 Volt
–25 Volt dan logika “0” sebagai +3 Volt hingga +25 Volt,
hingga
sedangkan port paralel menggunakan TTL, yakni hanya 0 Volt untuk
logika 0 dan +5 Volt untuk logika 1. Hal ini berarti port serial memiliki rentang kerja 50 Volt sehingga kehilangan daya karena panjang kabel
bukan merupakan masalah serius jika dibandingkan dengan port paralel.
2. Transmisi serial memerlukan lebih sedikit
kabel dibandingkan
dengan transmisi paralel.
3. Port serial memungkinkan untuk berkomunikasi dengan menggunakan
Infra Red.
Gambar 2.7. Konfigurasi Port Serial DB-9
Keterangan mengenai saluran RS-232 pada konektor DB9 adalah sebagai berikut : 1. Received
Line
Signal
Detect,
dengan
saluran
ini
DCE (Data
Communication Equipment) memberitahukan ke DTE (Data Terminal Equipment) bahwa terminal masukan ada data masukan. 2. Received Data , digunakan DTE menerima data dari DCE. 3. Transmitter Data, digunakan DTE mengirimkan data ke DCE. 4. Data
Terminal
Ready,
pada
saluran
ini
DTE
memberitahukan
kesiapan sinyalnya. 5. Signal Ground , saluran Ground. 6. Ring Indicator, pada saluran ini DCE memberitahukan ke DTE bahwa stasiun menghendaki hubungan dengannya. POLITEKNIK NEGERI BANDUNG
13
LANDASAN TEORI
7. Clear to Send, dengan saluran ini DCE memberitahukan ke DTE
boleh mengirimkan data.
8. Request to Send , dengan saluran ini DCE diminta mengirimkan data
oleh DTE.
9. DCE Ready, sinyal aktif pada saluran ini menunjukan bahwa DCE sudah
siap.
2.5. Pemrograman Bahasa Basic BASCOM-AVR Bahasa pemrograman Basic termasuk kedalam bahasa pemrograman tingkat
tinggi dan dikenal di seluruh dunia sebagai bahasa pemrograman handal, cepat,
dan mudah. Bahasa Basic adalah salah satu bahasa pemrograman yang banyak digunakan untuk aplikasi mikrokontroler karena kemudahan dan kompatibel terhadap mikrokontroler jenis AVR dan didukung oleh compiler software berupa BASCOM-AVR. Pada proyek akhir ini digunakan pemrograman dengan menggunakan software BASCOM-AVR untuk pemrograman pada mikrokontroler yaitu mikrokontroler ATMega8 dan mikrokontroler ATMega16. Pengolahan data pada software BASCOM-AVR merupakan suatu program compiler dengan bahasa pemrograman tingkat tinggi yang dilengkapi oleh simulasi compiler ke bahasa mesin. BASCOM-AVR terdiri dari main windows dan simulator windows. Main windows merupakan
jendela utama yang dapat
digunakan untuk membuat listing program.
Gambar 2.8. Main windows pada BASCOM -AVR
POLITEKNIK NEGERI BANDUNG
14
LANDASAN TEORI
Pemrograman BASCOM-AVR memiliki beberapa jenis variabel data dan
karakter. Jenis – jenis variabel data pada pemrograman BASCOM-AVR yaitu:
1. Bit (1/8 byte)
dengan 1 byte. 2. Byte (1 Byte)
Byte ini memiliki jumlah 8 bit-biner yang bernilai 0-255.
3. Integer (two Bytes)
Sebuah bit hanya memiliki nilai 0 at au 1. Dimana 8 buah bit sama
Integer ini memiliki jumlah 16 bit-biner yang bernilai antara -32,768 sampai dengan +32,767. 4. Word (two bytes) Word ini memiliki jumlah 16 bit-biner yang bernilai antara 0 sampai dengan 65535. 5. Long (four bytes) Long ini memiliki jumlah 32 bit-biner yang bernilai antara 2147483648 sampai dengan 2147483647. 6. Single Single ini memiliki jumlah 32 bit-biner yang bernilai antara 1.5x1045 sampai dengan 3.4x1038 7. String (up to 254 bytes) String ini memiliki panjang dimensi sebanyak 10 byte.
Tabel 2.2. Jenis Karakter pada Pemrograman BASCOM AVR
Karakter ’
Tanda Petik (apostrophe)
*
Tanda Bintang (multiplication symbol)
+
Tanda Tambah (plus)
,
Tanda Koma
/
Tanda Garis Miring
.
Tanda Titik (decimal point)
-
Tanda Kurang (minus)
:
Tanda Titik Dua
POLITEKNIK NEGERI BANDUNG
Nama Karakter
15
LANDASAN TEORI
”
Tanda Petik Ganda (Double quotation mark)
;
Tanda Titik Koma (semicolon)
<
Tanda Kurang Dari (less than)
=
Tanda Sama Dengan ( Equal sign)
>
Tanda Lebih Besar Dari (Greater than)
\
Backslash
^
Pangkat (exponent)
Instruksi yang dapat digunakan pada editor BASCOM-AVR relatif
cukup banyak dan bergantung dari tipe dan jenis AVR yang digunakan.
Berikut ini beberapa instruksi-instruksi dasar yang dapat digunakan pada mikrokontroler ATMega16.
Tabel 2.3. Beberapa Instruksi Dasar BascomAVR
Instruksi DO…LOOP GOSUB
Keterangan Perulangan Memanggil prosedur
IF…THEN
Percabangan
FOR..NEXT
Perulangan
WAIT
Delay atau waktu tunda detik
WAITMS
Delay atau waktu tunda milidetik
WAITUS
Delay atau waktu tunda mikrodetik
SELECT…CASE PULSOUT PULSIN
Pencabangan Membangkitkan pulsa Menerima/membaca pulsa yang diterima
GOTO
Menuju/loncat ke alamat memori tertentu
Pada software BASCOM-AVR telah menyediakan beberapa rutin untuk berkomunikasi secara serial, antara lain:
POLITEKNIK NEGERI BANDUNG
16
LANDASAN TEORI
1. INKEY berfungsi untuk mengubah karakter pertama dalam input buffer serial
menjadi nilai ASCII-nya.
2. INPUT berfungsi untuk mengambil input serial selama program berjalan. 3. INPUTBIN berfungsi untuk membaca nilai biner dari port serial. berfungsi untuk menunggu hingga sebuah karakter diterima pada 4. WAITKEY
buffer serial. 5. PRINT berfungsi untuk mengirim data ke port serial. 6. PRINTBIN berfungsi untuk mengirim isi biner dari variabel ke port serial. berfungsi untuk mengirim variabel dalam format hexadecimal ke 7. PRINTHEX
port serial.
8. BAUD berfungsi untuk memerintahkan kompiler untuk mengubah baud rate ketika program sedang berjalan. BASCOM-AVR adalah software yang khusus dibuat untuk keluarga AVR, software ini berjalan pada sistem operasi Windows. Software ini dapat berjalan pada komputer dengan sistem minimum, tanpa harus membutuhkan spesifikasi komputer yang canggih.
2.6. Pemograman Visual Basic 6.0 Visual Basic adalah bahasa pemrograman berbasis Microsoft Windows yang merupakan Object Oriented Programming (OOP), yaitu pemrograman berorientasi objek, Visual Basic menyediakan objek-objek yang sangat kuat, berguna dan mudah. Dalam pengembangan aplikasi, Visual Basic menggunakan pendekatan Visual untuk merancang user interface dalam bentuk form. Perancangan software dititik beratkan
pada
pembangunan
sebuah
program user interface yang user friendly dan yang terpenting adalah software harus mampu berkomunikasi dengan hardware sehingga dapat menyampaikan informasi yang sesuai. Pada sistem ini software yang digunakan adalah Visual Basic 6.0. Dalam pemrograman berbasis obyek (OOP) kita perlu mengenal istilah object, property, method dan event. Berikut adalah keterangan mengenai hal tersebut di atas : 1. Object adalah komponen di dalam sebuah program. POLITEKNIK NEGERI BANDUNG
17
LANDASAN TEORI
2. Property adalah karakteristik yang dimiliki oleh object.
3. Method adalah aksi yang dapat dilakukan oleh object.
4. Event adalah kejadian yang dapat dialami oleh object. Pada gambar 2.18. memperlihatkan tampilan awal saat akan membuat
sebuah New Project pada Visual Basic 6.0.
Gambar 2.9. Tampilan Awal Visual Basic
Gambar 2.10. Tampilan Integrated Development Environment (IDE)
2.6.1. Lingkungan Kerja Visual Basic a. Project adalah sekumpulan modul/program aplikasi itu sendiri, project disimpan dalam file berekstensi .VBP biasanya berisi form-form. Ada tiga icon dalam proyek, yaitu: View Code : tampilkan jendela editor program POLITEKNIK NEGERI BANDUNG
18
LANDASAN TEORI
View Object : tampilkan bentuk formulir
Togle Folder : tampilkan folder tempat penyimpanan file
b. Form adalah objek yang dipakai untuk tempat bekerja program
aplikasi. Di dalamnya tempat diletakan objek-objek lainnya. Di
dalam form ada grid (garis titik-titik yang berguana untuk pengaturan letak).
c. Toolbox kotak alat berisi icon-icon atau komponen untuk
memasukan objek tertentu kedalam form.
d. Tambah komponen : klik kanan pada toolbox -> komponen atau add tab e. Properti
adalah
untuk
menentukan
setting
suatu
objek,
menentukan cara kerja dari objek saat program dijalankan misal warna, hurup dan lain-lain. f. Kode program adalah serangkaian tulisan perintah yang akan dilaksanakan jika suatu objek dijalankan. 2.6.2. Konstanta dan Variabel Variabel adalah suatu tempat untuk menampung data yang nilainya selalu berubah. Sedangkan konstanta adalah suatu tempat untuk menampung data yang nilainya selalu tetap dan tidak pernah berubah. a. Aturan Penamaan Konstanta & Variabel Harus diawali huruf. Boleh terdiri dari huruf, angka, dan garis bawah. Maksimal 255 karakter. Tidak boleh menggunakan reserved word. b. Deklarasi Konstanta & Variabel Deklarasi konstanta Bentuk umum : [Public | Private] Const nama_konstanta [AS tipe_konstanta]= eksplisit. Deklarasi variabel Bentuk umum : Dim [AS ] POLITEKNIK NEGERI BANDUNG
19
LANDASAN TEORI
Pendeklarasian varibel ada 2 jenis :
1) Deklarasi Eksplisit
Untuk mendeklarasikan nama variabel beserta tipe datanya
pada awal procedure (menempatkan alokasi nama variabel
didalam memori. 2) Deklarasi Implisit
Untuk mendeklarasikan nama variabel beserta tipe datanya
dan langsung mengisi nilai variabelnya (menempatkan alokasi
nilai variabel langsung didalam memori).
2.6.3. Operator
Visual Basic menyediakan operator aritmatika, komparasi dan logika, salah satu hal yang harus dipahami oleh programmer adalah tata urutan operasi dari masing-masing operator tersebut sehingga mampu membuat ekspresi yang akan menghasilkan nilai yang benar. Beberapa operator yang disediakan oleh visual basic, yaitu : a. Operator Aritmatika Contoh : A = 1 + 2 * 3 ‘Akan menghasilkan 7 B = (1 + 2) * 3 ‘Akan menghasilkan 9 b. Operator Penggabungan String (Like) Operator Like digunakan untuk operasi pencocokan pola pada string yang akan sangat membantu programmer. c. Operator Pembandingan (Relasi) Operator ini digunakan untuk membandingkan suatu data atau ekspresi dengan data ekspresi pula dan menghasilkan nilai logika (Boolean) benar atau salah. d. Operator Logika Digunakan untuk mengekspresikan satu atau lebih data logika menghasilkan data logika baru. e. Operator Penugasan Operator ini disimbolkan dengan tanda sama dengan ( = ) dan berfungsi untuk memasukan suatu data kedalam suatu variabel. POLITEKNIK NEGERI BANDUNG
20
LANDASAN TEORI
2.6.4. Pengaksesan Port Serial dengan Visual Basic 6.0
Pada port serial komputer dengan Visual Basic 6.0 dapat diakses dengan menggunakan MSComm. Library untuk pengaksesan port serial
melalui control MSComm yaitu Mscomm32.ocx. Kontrol MSComm pada jendela toolbox didapat dari komponen kontrol Microsoft Comm Control
6.0.
Control MSComm menyediakan fasilitas komunikasi
program
aplikasi dengan port serial untuk mengirim dan menerima data melalui port serial. Setiap MSComm hanya menangani satu port serial sehingga jika
ingin
menggunakan
lebih
dari
satu
port serial, maka harus
menggunakan MSComm sebanyak port serial yang dipakai.
Jumlah properti pada MSComm sangat banyak sehingga tidak akan dibahas secara keseluruhan. Properti yang akan dibahas yaitu properti yang sering dipakai. Properti-properti tersebut yaitu: CommPort : digunakan untuk menentukan nomor port serial yang akan dipakai. Setting : digunakan untuk menset nilai baud rate, pariti, jumlah bit data, dan jumlah bit stop. PortOpen : digunakan untuk membuka ataupun menutup port serial yang dihubungkan dengan MSComm ini. Input : digunakan untuk mengambil data string yang ada pada buffer penerima. Output : digunakan untuk menulis data string pada buffer kirim.
POLITEKNIK NEGERI BANDUNG
21