BAB II LANDASAN PUSTAKA
Bab II merupakan bab yang mengkaji landasan pustaka yang manjadi dasar dalam pelaksanaan kegiatan tugas akhir. Landasan teori tersebut meliput definisi robot, mobile robot, penggunaan SDK, dan penjelasan tentang komponen-komponen yang digunakan dalam kegiatan tugas akhir. Landasan pustaka tersebut dijabarkan pada bab ini mulai dari sub bab 2.1 sampai dengan sub bab 2.13.
2.1 Robot Istilah robot berasal dari kata robota, bahasa Czech, yang artinya bekerja. Istilah ini pertama kali oleh dikenalkan Carel Capek pada tahun 1921. Berdasarkan catatan sejarah, robot sudah digunakan manusia pada abad 210 SM, yaitu pada zaman Yunani Kuno. Ctesibus, membangun organ dan jam air dengan komponen yang dapat dipindahkan. Pada masa kejayaan peradaban Mesir Kuno, masyarakat Mesir Kuno sudah menggunakan alat pelontar batu yang berfungsi sebagai senjata dalam berperang. Selanjutnya, pada tahun 1770, Pierre Jacquet Droz, membuat boneka yang dapat menulis, memainkan musik, dan menggambar. Pada tahun 1898 Nikola Tesla membuat boat yang dikontrol melalui radio kontrol. Kejayaan robot dimulai pada tahun 1970 ketika profesor Victor Scheinman dari Stanford University mendesain mekanika lengan standar[7]. Saat ini robot dapat diartikan sebagai alat mekanik yang dapat melaksanakan tugas fisik dengan cara dikendalikan oleh manusia maupun dikendalikan oleh program atau kecerdasan buatan (Artificial Intelligence) yang ditanam pada sistem robot itu sendiri. Pada umumnya, robot digunakan pada dunia industri untuk mengerjakan pekerjaan berat, berbahaya dan pekerjaan yang berulang-ulang[7].
II - 1
II - 2
2.2 Mobile Robot Mobile robot merupakan jenis robot darat yang memiliki ciri khas yaitu memiliki aktuator berupa alat gerak yang berfungsi untuk melakukan perpindahan dari satu tempat ke tempat lainnya. Aktuator tersebut dapat berupa roda atau pun mekanika yang menyerupai kaki-kaki. Secara umum, mobile robot dikategorikan ke dalam dua buah kategori yaitu mobile robot yang mobile robot yang diklasifikasikan berdasarkan lingkungan dari mobile robot tersebut bekerja, dan yang kedua adalah klasifikasi mobile robot berdasarkan alat gerak yag digunakannya dalam melakukan perpindahan[5]. Untuk mobile robot yang diklasifikasikan berdasarkan lingkungan tempatnya bererja dibagi ke dalam 4 kategori yaitu : 1. Mobile robot yang bekerja di atas permukaan tanah (land robot) 2. Mobile robot yang bekerja di udara (UAV, Unmanned Aerial VehICle) 3. Mobile robot yang bekerja di bawah permukaan air (AUVs,autonomous underwater vehicles) 4. Mobile robot yang bekerja pada permukaan tanah yang dilapisi es (polar mobile robot) Sedangkan untuk mobile robot yang diklasifikasikan berdasarkan alat gerak yang digunakan untuk berpindah, mobile robot dikategorikan ke dalam 2 kategori, antara lain : 1. Mobile robot berlengan atau berkaki a. Lengan atau kaki menyerupai manusia (Android/Humanoid) b. Lengan atau kaki menyerupai hewan 2. Mobile robot beroda
2.3 Penggunaan Roda untuk Mobile Robot Mobile robot jenis land robot, merupakan mobile robot yang bergerak di atas permukaan tanah, jenis alat gerak yang digunakan dapat berupa roda maupun alat gerak yang menyerupai kaki-kaki. Untuk mobile robot beroda, dapat digunakan
II - 3
berbagai jenis roda yang dapat membantu mobile robot dalam melakukan perpindahan. Adapun jenis roda yang dapat digunakan untuk alat gerak dari mobile robot akan dikaji pada sub bab berikut ini[3].
2.3.1 Penggunaan Roda Standar Roda standar merupakan bentuk roda yang memiliki bentuk standar, roda berentuk lingkaran. Pada tengah-tengah garis diameter terdapat sebuah poros yang digunakan untuk menghubungkan roda pada alat penggerak (motor). Bentuk roda seperti ini lazim digunakan untuk medan yang relatif datar dan lurus. Pada gambar di bawah ini merupakan salah satu contoh roda standar yang digunakan pada mobile robot. Bentuk roda standar dapat dilihat pada gambar 2.1.
Gambar 2.1 Roda Standar
2.3.2 Penggunaan Roda Universal Caster Roda jenis universal caster merupakan jenis roda yang dapat bergerak ke berbagai arah. Bentuk roda ini pada umumnya digunakan untuk roda depan dari mobile robot. Karena, roda ini membantu memudahkan mobile robot untuk berbelok ke berbagai macam arah. Roda jenis ini sering dijumpai pada implementasi robot pengikut garis (line follower robot). Pada gambar 2.2 merupakan tampilan dari roda jenis universal caster.
II - 4
Gambar 2.2 Roda Jenis Universal Caster
2.3.3 Penggunaan Roda Omni Caster Roda jenis omni caster merupakan bentuk roda yang cukup unik, karena secara struktur, roda omni caster terbentuk dari 1 buah roda standar yang dikelilingi oleh roda-roda kecil dibagian tepinya, sehingga roda ini dapat bergerak secara bebas. Pada gambar 2.3 merupakan bentuk roda omni caster.
Gambar 2.3 Roda Omni Caster
2.3.4 Penggunaan Roda Tank Treaded (Caterpillar) Roda jenis caterpillar merupakan jenis roda yang menyerupai roda pada kendaraan tempur (tank) atau excavator. Roda jenis ini memiliki mekanika yang berbeda dengan roda pada umumnya. Roda jenis tank treaded menghubungkan roda depan
II - 5
dan roda belakng menggunakan sebuah sabuk (belt). Pada umunya sebuah mobile robot setidaknya menggunakan 2 buah roda tank treaded yang diimplementasikan di sisi kiri dan sisi kanan robot. Roda jenis ini dianggap ideal untuk digunakan pada medan yang cenderung tidak datar, hal ini dikarenakan struktur roda yang menyerupai sabuk tersebut menekan pada permukaan yang lebih luas dan daya cengkram cenderung lebih luas dibandingkan roda standar. Pada gambar 2.4 merupakan gambar roda jenis tank treaded / caterpillar.
Gambar 2.4 Roda Tank Treaded
2.4 Android Perangkat mobile (non-PC) seperti smartphone dan tabletdalam beberapa tahun terakhir mengalami perkembangan yang begitu cepat. Salah satu penyebabnya adalah berkembangnya salah satu sistem operasi untuk perangkat mobile yang dikenal dengan nama Android. Pada sub bab 2.4.1 sampai dengan 2.4.2 akan dikaji mengenai sejarah dan versi dari sistem poerasi Android tersebut.
II - 6
2.4.1 Sejarah Android Android adalah sebuah operating system yang pada awalnya dikhususkan untuk perangkat mobile (bukan PC). Basis dari Android adalah open source yang dikenal dengan nama Linux. Sebelumnya Android Inc. berdiri secara independen yang didirikan pada tahun 2003 oleh Andy Rubin, Rich Miner, Chris White, dan Nicks Sears. Android Inc. bermarkas di Palo Alto, California. Perusahaan berusaha untuk mengembangkan sebuah operating system mobile yang lebih canggih dari operating system mobile kala itu. Kemudian pada Agustus 2005 Google mengajukan penawaran untuk mengakuisisi perusahaan tersebut[4]. Dimulai pada tahun 2005, Android Inc. dibawah naungan Google Inc. berusaha membuat sebuah operating system mobile baru. Sejak saat itulah mulai beredar rumor bahwa Google akan melakukan ekspansi bisnis ke industri seluler. Akhirnya pada bulan September 2007 Google mengajukan hak paten atas produknya yang dinamai Nexus One. Kemudian pada akhir tahun 2008, dibentuk sebuah tim kerja sama yang dinamai Open Handset Alliance (OHA). OHA ini terdiri dari beberapa produsen perangkat telekomunikasi ternama dunia, antara lain ASUS, Toshiba, Sony Ericsson (sekarang Sony), Garmin, Vodafone, dan Softbank. OHA bekerja sama untuk mengembangkan sebuah kernel Linux yang akan dijadikan sebuah program untuk perangkat seluler. Hingga akhirnya OHA berhasil dan mengumumkan produk operating system mobile yang diberi nama Android. Ponsel yang mendapat kehormatan untuk mencoba pertama kali sistem operasi Android adalah HTC Dream. HTC Dream dirilis pada bulan Oktober tahun 2008. Sejak saat itu banyak perusahaan perangkat seluler di dunia ikut menggunakan Android sebagai operating system ponsel mereka.
II - 7
2.4.2 Versi Android Berikut adalah sejarah dan fitur sistem operasi Android semua versi: a. Android Versi 1.0 (Apple pie) Android 1.0 dirilis pada tanggal 23 September 2008 yang memiliki kode nama Apple pie serta ukuran layar 320×480 HVGA. b. Android Versi 1.1 (Banana bread) Android 1.1 dirilis pada tanggal 9 Februari 2009 yang memiliki kode nama Banana bread serta ukuran layar 320×480 HVA. c. Android 1.5 (Cupcake) Android 1.5 dirilis pada tanggal 30 April 2009 yang memiliki kode nama Cupcake. Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur yakni kemampuan merekam dan menonton video, mengunggah video ke Youtube dan gambar ke Picasa langsung dari telepon seluler, dukungan Bluetooth, animasi layar, dan keyboard pada layar yang dapat disesuaikan dengan sistem. d. Android 1.6 (Donut) Android 1.6 dirilis pada tanggal 15 September 2009 yang memiliki kode nama Donut. Versi ini perbaikan dari Android Cupcake dengan menampilkan proses pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai indikator dan kontrol applet VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus; kemampuan dial kontak; teknologi text to change speech (tidak tersedia pada semua ponsel); pengadaan resolusi VWGA. e. Android versi 2.0/2.1 (Eclair) Android versi 2.0/2.1 dirilis pada tanggal 3 Desember 2009 yang memiliki kode nama Eclair. Perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1.
II - 8
f. Android versi 2.2 (Froyo) Android versi 2.2 dirilis pada tanggal 20 Mei 2010 yang memiliki kode nama Froyo. Froyo akan memperkenalkan peningkatan kecepatan dengan JIT optimalisasi dan Chrome V8 mesin JavaScript, dan menambahkan Wi-Fi hotspot dan dukungan Adobe Flash. g. Android versi 2.3 (Gingerbread) Android versi 2.3 dirilis pada tanggal 6 Desember 2010 yang memiliki kode nama Gingerbread. Android Gingerbread adalah Android yang mempermudah pengguna antarmuka , meningkatkan keyboard lunak dan fitur copy / paste, dan menambahkan dukungan untuk Near Field Communication. Pada versi ini Android telah melakukan update sebanyak 5 kali yang dirilis pada tanggal yang berbeda-beda serta penambahan difitur-fitur baru, mereka masing-masing adalah Android 2.3.3, Android 2.3.4, Android, 2.3.5, Android 2.3.6, dan terahir Android 2.3.7 h. Android versi 3.0 (Honeycomb) Android versi 3.0 dirilis pada tanggal 15 Juli 2011 yang memiliki kode nama Honeycomb. Pada versi ini Android akhirnya jalan pada sebuah tablet, dan tablet pertama yang menggunakan sistem operasi Honeycomb adalah Motorola Xoom. i.
Android versi 4.0 (ICe Cream Sandwich) Android versi 4.0 dirilis pada tanggal 19 Oktober 2011 yang memiliki kode nama ICe Cream Sandwich. Pada versi Android menyempurnakan seluruh GUI yang dibangun dan penambahan fitur seperti Facial recognition (Face Unlock), UI use hardware acceleration, better voICe recognition (dICtating/VoICe typing), Web browser, allows up to 16 tabs, Updated launcher (customizable), Android Beam app to exchange data through NFC, Resizeable widgets.
2.5 Arduino Arduino merupakan development board yang bersifat open hardware, artinya bahwa Arduino dikembangkan dengan sumber daya terbuka (tujuan awal dari pembuatan Arduino adalah untuk memudahkan berbagai macam project di bidang
II - 9
elektronika). Arduino pertamakali diproduksi di Ivea, Italia. Adapun developer pertama sekaligus founder dari Arduino adalah Massimo Banzi dan David Cuartielles. Arduino memproduksi jenis Arduino dengan berbagai macam controller, diantaranya Arduino Lily, Arduino Mega, Arduino Uno, Arduino Leonardo, Arduino Mini, Arduino Nano dan lain sebagainya.
2.5.1 Arduino Duemilanove Arduino Duemilanove merupakan salah satu jenis board Arduino yang diproduksi oleh tim developer Arduino. Pada Arduino Duemilanove digunakan ATMega328PPU sebagai microcontrollernya[9]. Pada tabel 2.1 merupakan spesifikasi Arduino Duemilanove : Tabel 2.1 Spesifikasi Arduino Duemilanove Microcontroller Operating Voltage Input Voltage (recommended) Input Voltage (limits) Digital I/O Pins Analog Input Pins DC Current per I/O Pin DC Current for 3.3V Pin Flash Memory SRAM EEPROM Clock Speed
ATmega168 atau ATMega 328P-PU 5V 7-12V 6-20V 14 (of whICh 6 provide PWM output) 6 40 mA 50 mA 16 KB (ATmega168) or 32 KB (ATmega328) of whICh 2 KB used by bootloader 1 KB (ATmega168) or 2 KB (ATmega328) 512 bytes (ATmega168) or 1 KB (ATmega328) 16 MHz
2.5.2 Power Supply untuk Arduino Duemilanove Power supply merupakan sumber listrik yang digunakan untuk menghidupkan komponen elektronika pada Arduino. Jenis arus yang digunakan adalah arus DC. Pada Arduino Duemilanove maupun beberapa Arduino lainnya, pada boardnya
II - 10
telah tersedia sebuah female jack untuk power jack. Besarnya voltase yang direkomendasikan untuk Arduino Duemilanove adalah sebesar 7-12 VDC. Pemberian power tersebut dapat diberikan dari baterai atau pun dari adaptor. Pemberian power di bawah 7 V dapat mengakibatkan pin 5 Vout tidak dapat berfungsi dengan baik, nilai Vout-nya tidak tepat 5 V melainkan di bawah 5 V selain itu, sistem kerja board tidak akan stabil. Sebaliknya, jika pada Arduino diberikan power di atas 12 V akan mengakibatkan terjadinya overheat pada regulatornya, semakin overheat regulator dapat mengakibatkan rusaknya regulator sehingga dapat terjadi brick pada board Arduino tersebut[9]. Selain menggunakan power jack, Arduino telah dilengkapi dengan pin Vin yang dapat menerima input power ke microcontroller. Namun untuk power ini dianjurkan hanya untuk voltase sebesar 5 V saja. Disamping penggunaan power jack dan pin Vin pada board, proses pemberian power dapat pula dilakukan dengan cara pemberian power melalui port USB FTDI. Jadi, ketika board Arduino terpasang ke PC, secara langsung board Arduino akan memperoleh power melalui kabel USB FTDI tersebut.
2.5.3 Input – Output pada Arduino Duemilanove Pada Arduino Duemilanove seluruhnya terdapat 14 pin digital (I/O) dan 6 pin analog (I). Dari keempat belas pin digital tersebut diantaranya memiliki funsi khusus. Sepert untuk pengaturan PWM dan pin komunikasi (Rx/Tx)[9]. 1. PWM dapat digunakan pada pin 3,5,6,9,10,11 2. Komunikasi serial dapat digunakan pada pin 0 dan 1 3. Komunikasi via SPI (MOSI,MISO,SS,SCK) dapat digunakan pin 10,11,12 dan 13. 4. LED pin sebagai indikator atau running test program dapat digunakan pada pin 13
II - 11
2.5.4 Komunikasi Serial pada Arduino Duemilanove Arduino Duemilanove memiliki pin khusus untuk melakukan komunkasi serial. Komunikasi serial tersebut dapat dilakukan dari Arduino ke PC, Arduino ke Arduino, maupun Arduino ke perangkat keras lain yang mendukung komukasi serial. Pin komunikasi serial pada Arduino Duemilanove terdapat pada pin 0 dan 1. Pin 0 berfungsi sebagai Rx atau penerima data dan pin 1 berfungsi sebagai Tx atau pengirim data. Namun pada kondisi tertentu, pin digital lainnya dapat digunakan sebagai pin untuk komunikasi serial. Untuk hal tersebut dibutuhkan library serial communication untuk diterapkan pada direktori library Arduino[9].
2.6 DFRobot Mega 2560 DFRobot Mega 2560 ADK merupakan development board yang menggunakan ATMega 2560. DFRobot Mega 2560 ADK merupakan versi compatible dari Arduino Mega 2560 ADK. DFRobot Mega 2560 ADK memiliki 54 pin digital untuk input/output (dimana 14 diantaranya dapat dijadikan untuk pengendalian PWM), 16 pin analog input, 4 pin UART untuk komunikasi serial,16 MHz crystal oscilator, USB Host, power jack, ICSP Header dan Reset Button[9]. DFRobot Mega 2560 ADK memiliki fungsi yang lebih spesifik dibandingkan DFRobot Mega 2560 versi standar. Pada DFRobot Mega 2560 ADK dapat dihubungkan secara langsung dengan perangkat smartphone berbasis Android versi 2.3.4 dan setelahnya. Komunikasi dari DFRobot Mega 2560 ADK dengan perangkat Android dilakukan melalui port USB yang terdapat pada development board tersebut.
2.6.1 Power Supply untuk DFRobot Mega 2560 ADK[7] Power supply untuk DFRobot Mega 2560 ADK tidak berbeda dengan power supply untuk Arduino Mega 2560 ADK, pasalnya kedua board ini memiliki spesifikasi yang sama dan dikembangkan secara open source. Besarnya tegangan yang dapat diberikan pada DFRobot Mega 2560 ADK adalah dari 7 sampai dengan 12 VDC.
II - 12
Begitu pula dengan sumber tegangan, DFRobot Mega 2560 ADK dapat disupply dari adaptor DC, USB maupun dari baterai. Seperti telah dijelaskan di atas, bahwa DFRobot Mega 2560 ADK memiliki konektor / port USB yang dapat dijadikan USB Host, ketika ada perangkat elektronik yang terhubung via USB tersebut, port USB pun akan berfungsi sebagai port data dan juga menghantarkan tegangan. Jadi, ketika perangkat seperti handphone terpasang ke host tersebut akan secara langsung melakukan charging atau pengisian baterai.
2.6.2 Spesifikasi DFRobot Mega 2560 ADK Pada tabel 2.2 merupakan spesifikasi yang dimiliki oleh DFRobot Mega 2560 ADK. Spesifikasi DFRobot Mega 2560 ADK memiliki kesamaan dengan Arduino Mega 2560 ADK[9]. Tabel 2.2 Spesifikasi DFRobot Mega 2560 ADK Microcontroller
ATmega2560
Operating Voltage Input Voltage (recommended)
5V 7-12V
Input Voltage (limits)
6-20V
Digital I/O Pins Analog Input Pins
54 (of whICh 15 provide PWM output) 16
DC Current per I/O Pin
40 mA
DC Current for 3.3V Pin Flash Memory
50 mA 256 KB of whICh 8 KB used by bootloader
SRAM
8 KB
EEPROM Clock Speed
4 KB 16 MHz
2.6.3 Input – Output pada DFRobot Mega 2560 ADK DFRobot Mega 2560 ADK memiliki 54 pin digital untuk input output dan 16 pin analog. Jumlah ini jauh berbeda dengan Arduino Duemilanove atau pun arduino Uno yang hanya memiliki 14 pin Digital dan 6 pin analog. Perbedaan ini
II - 13
dikarenakan pada DFRobot Mega 2560 ADK menggunakan mICrocontroller ATmega 2560 yang memiliki arsitektur port I/O lebih banyak dibandingkan ATMega328P-PU. Dari sejUMLah pin digital yang terdapat pada DFRobot Mega 2560 ADK, diantaranya dapat digunakan sebagai pin-pin dengan tujuan khusus. Di bawah ini merupakan penggunaan pin digital pada DFRobot Mega 2560 ADK : 1. Komunikasi Serial Pada pin digital DFRobot Mega 2560 ADK terdapat 4 buah saluran untuk komunikasi serial. Dari setiap saluran tersebut terdapat 2 pin digital yang berfungsi sebagai RX dan TX. RX merupakan pin yang berfungsi untuk menerima input dan TX berfungsi untuk mengirimkan atau transmitting data. Tabel 2.3 merupakan tabel yang menampilkan data alamat pin digital yang digunakan untuk komunikasi serial.
Tabel 2.3 Saluran I/O untuk komunikasi serial No
Saluran Komunikasi Serial
1
Nomor Pin Digital Rx
Tx
Saluran I/O Serial 1
0
1
2
Saluran I/O Serial 2
19
18
3
Saluran I/O Serial 3
17
16
4
Saluran I/O Serial 4
15
14
2. PWM Pada DFRobot Mega 2560 ADK disediakan juga pin-pin yang berfungsi sebagai pengaturan PWM atau Pulse Width Modulation. Adapun jUMLah pin PWM yang disediakan oleh DFRobot Mega 2560 ADK adalah sebanyak 15 pin yang meliputi pin 2 digital sampai dengan pin 15 digital dan pin 44 digital sampai pin 46 digital. 3. Komunikasi via SPI DFRobot Mega 2560 ADK mendukung untuk komunikasi dengan board melalui SPI. Adapun pin digital yang digunakan untuk komunikasi SPI
II - 14
adalah pin digital 50 (MOSI), pin digital 51 (MOSI), pin digital 52 (SCK), pin digital 53 (SS)
2.7 XBee XBee adalah perangkat keras untuk komunikasi secara nirkabel (wireless) yang diproduksi oleh perusahaan elektronika bernama Digi International. XBee diproduksi berdasarkan pada standar komunikasi ZigBee 802.15.4. XBee merupakan perangkat komunikasi yang memiliki jangkauan lebih luas dari pada Bluetooth, namun lebih hemat daya jika dibandingkan Wifi (802.11). XBee modul sangat ideal untuk komunikasi nirkabel karena konsumsi dayanya cukup rendah dan biaya operasioanlnya tidak terlalu besar[8].
2.7.1 Seri dari Perangkat XBee Saat ini terdapat 2 seri XBee yang dapat ditemukan di pasaran perangkat elektronik. Yang pertama adalah XBee Series 1, dan yang kedua adalah XBee Series 2. Secara penglihatan fisik, tidak begitu nampak perbedaan dari XBee Series 1 maupun XBee Series 2 [8]. Pada tabel 2.4 merupakan perbandingan antara XBee Series 1 dan XBee Series 2 : Tabel 2.4 Tabel Spesifikasi XBee Series 1 dan 2
Spesifikasi
XBee Series 1
XBee Series 2
Indoor/Urban range Outdoor RF line-ofsight range Transmit Power Output RF Data Rate Receiver Sensitivity Supply Voltage Transmit Current (typICal)
up to 100 ft. (30m)
up to 133 ft. (40m)
up to 300 ft. (100m)
up to 400 ft. (120m)
1 mW (0dbm) 250 Kbps -92dbm (1% PER) 2.8 - 3.4 V
2 mW (+3dbm) 250 Kbps -98dbm (1% PER) 2.8 - 3.6 V
45 mA (@ 3.3 V)
40 mA (@ 3.3 V)
II - 15
Idle/Receive Current (typICal) Power-down Current Frequency Dimensions Operating Temperature Antenna Options Network Topologies Number of Channels Filtration Options
50 mA (@ 3.3 V)
40 mA (@ 3.3 V)
10 uA 1 uA ISM 2.4 GHz ISM 2.4 GHz 0.0960" x 1.087" 0.0960" x 1.087" -40 to 85 C -40 to 85 C PCB, Integrated Whip, PCB, Integrated Whip, U.FL, RPSMA U.FL, RPSMA Point to point, Star, Mesh (with DigiMesh Point to point, Star, Mesh firmware) 16 Direct Sequence 16 Direct Sequence Channels Channels PAN ID, Channel & PAN ID, Channel & Source/Destination Source/Destination
2.7.2 Setting XBee Series 2 Pada dasarnya XBee Series 2 dapat digunakan secara langsung untuk komunikasi point to point. Namun, untuk tujuan khusus, diperlukan proses penggantian firmware dari perangkat XBee yang akan digunakan. Ada 3 jenis firmware yang dapat diterapkan pada perangkat XBee tersebut, yaitu : ZigBee Coordinator, ZigBee Router, atau ZigBee End Device[8]. Untuk melakukan flashing firmware diperlukan perlengkapan baik hardware maupun sofware, yang diantaranya : Hardware : 1. PC 2. Kabel USB FTDI 3. XBee Shield
Software : X-CTU
2.7.2.1 Setting XBee sebagai Coordinator Dalam melakukan komunikasi nirkabel dengan topology mesh menggunakan perangkat XBee, diperlukan satu buah XBee yang akan bekerja sebagai coordinator. XBee sebagai Coordiantor merupakan penggunaan XBee sebagai root dari sebuah
II - 16
jaringan mesh yang selanjutnya XBee Coordinator ini dapat berkomunikasi ke setiap childnya. Child yang dibentuk dari XBee ini adalah XBee sebagai Router dan atau XBee sebagai End Device[8]. Di bawah ini merupakan langkah-langkah yang dapat dilakukan untuk menjadikan suatu XBee sebagai coordinator : 1. Langkah pertama adalah pasangkan XBee pada XBee shield seperti pada gambar 2.5.
Gambar 2.5 XBee Series 2 terpasang pada XBee Shield (Libelium)
2. Langkah selanjutnya adalah pemasangan XBee Shield tersebut pada Arduino Duemilanove. Untuk Arduino Duemilanove yang digunakan harus dilepas microcontrollernya, akan tetapi, jika microcontroller yang digunakan susah atau tidak dapat dilepaskan maka dapat dilakukan cara lain, yaitu dengan cara flashing blank action pada program Arduino. Blank action merupakan program Arduino yang tidak memiliki aksi apapun, pada gambar 2.6, merupakan cuplikan baris program blank action :
II - 17
Gambar 2.6 Cuplikan Program Blank
3. Setelah XBee Shield terpasang pada Arduino, tahap selanjutnya adalah pasangkan kabel USB FTDI ke Arduino dan ke PC. 4. Setelah PC dan Arduino terpasang, buka aplikasi untuk flashing firmware ke XBee, aplikasi tersebut adalah X-CTU dari Digi International. Aplikasi ini dapat di unduh dari situs resmi Digi. 5. Setelah aplikasi X-CTU terbuka, pada tab PC Setting pastikan bahwa COM port terbaca oleh X-CTU. Set baudrate pada posisi 9600. 6. Masih pada tab PC Setting, tekan tombol Test/Query untuk pengecekan apakah XBee terbaca oleh X-CTU atau tidak. Jika terbaca, maka akan muncul tampilan seperti yang terlihat pada gambar 2.7.
II - 18
Gambar 2.7 X-CTU Test/Query Result
7. Tahap selajutnya, masih pada X-CTU, klik pada tab Modem Configuration 8. Setelah masuk pada tab Configuration, ada beberapa hal yang harus dilakukan pada tahap ini. a. Klik Always Update firmware b. Klik tombol Read c. Selanjutnya pada combo box Function Set, pilih firmware ZigBee Coordinator AT. d. Set PAN ID dari XBee. PAN ID ini berfungsi untuk identifikasi manakala menghubungkan dengan XBee lainnya. Suatu XBee dapat berkomunikasi dengan XBee lainnya salah satu syaratnya adalah memiliki PAN ID yang sama. Misal, set PAN ID menjadi “1234” e. Set Node ID. Node ID berfungsi untuk memberikan identifikasi node terhadap perangkat XBee tersebut.
II - 19
Gambar 2.8 XBee Setup
f. Pada structure tree Addressing, catat nilai SH dan SL, itu merupakan source ID dari XBee coordinator, selanjutnya SH akan di inputkan pada DH dan DL pada XBee Router. g. Setelah setting tersebut, berikutnya adalah flashing, caranya adalah dengan menekan tombol Write pada X-CTU. Tunggu beberapa saat, hingga pada X-CTU bagian bawah terdapat pesan flashing selesai.
II - 20
Gambar 2.9 Flashing XBee Sukses
2.7.2.2 Setting XBee sebagai Router XBee sebagai Router merupakan pemasangan XBee yang akan dijadikan router yang akan menghubungkan XBee Coordiantor dan XBee End Device maupun XBee End Device ke XBee End Device lainnya. Untuk konfigurasi pemasangan firmware dapat dilakukan dengan cara menuru langkah 1 sampai dengan 7 seperti pada sub bab 2.6.2.1 tentang Setting XBee sebagai Coordinator [8]. Namun, untuk langkah berikutnya dapat dilakukan sebagai berikut : 1. Klik Always Update Firmware 2. Klik tombol Read 3. Selanjutnya pada combo box Function Set, pilih firmware ZigBee Router AT.
II - 21
4. Set PAN ID dari XBee. PAN ID yang digunakan harus sama dengan XBee Coordinatornya. Misal, contoh pada sub bab sebelumnya PAN ID yang digunakan adalah “1234”. Maka pada XBee Router ini PAN ID-nya harus sama, yakni “1234” 5. Set Node ID. Node ID berfungsi untuk memberikan identifikasi node terhadap perangkat XBee tersebut. Misal, Node ID nya “XBee Saya”
Gambar 2.10 Setting XBee Router
6. Pada structure tree Addressing, catat nilai SH dan SL, itu merupakan source ID dari XBee Router, selanjutnya SH akan di inputkan pada DH dan DL pada XBee Coordinator. 7. Setelah setting tersebut, berikutnya adalah flashing, caranya adalah dengan menekan tombol write pada X-CTU. Tunggu beberapa saat, hingga pada XCTU bagian bawah terdapat pesan flashing selesai.
2.7.2.3 Pengecekan Hasil Setting XBee Router dan Coordinator Setelah melakukan konfigurasi pada XBee Coordinator dan XBee Router dapat dilakukan pengecekan konfigurasi. Pengecekan konfigurasi adalah membaca
II - 22
identitas firmware. Pengecekan tersebut dapat dilakukan pada X-CTU, pilih tab Terminal. Dengan menggunakan perintah AT Command pada terminal tersebut dapat dilakukan pengecekan firmware[8]. Sebagai contoh dapat dilihat pada gambar 2.11.
Gambar 2.11 Cek Konfigurasi
2.8 Arduino SDK Arduino SDK merupakan SDK atau Software Development Kit yang digunakan unruk melakukan pemrograman untuk perangkat Arduino atau pun perangkat development board lain yang compatible dengan Arduino, seperti DFRobot atau Freeduino dan Seeeduino. Arduino SDK dapat melakukan flashing terhadap berbagai macam board Arduino (dan Arduino compatible)[3].
II - 23
Gambar 2.12 Arduino SDK board support
Arduino SDK dikembangkan dari berbagai macam sumber yang diantaranya adalah Java-Processing, AVR-GCC dan beberapa perangkat lunak open source lainnya. Arduino SDK dapat diinstall pada Windows, Linux dan Mac OS. Arduino SDK dapat dijalankan dalam 2 jenis arsitektur, yakni x86 dan x64 (32 dan 64 bit OS). Arduino SDK
dapat
diunduh
secara
gratis
di
situs
resmi
Arduino,
http://arduino.cc/en/main/software.
2.9 IC Motor Driver IC motor driver merupakan IC yang digunakan sebagai pengendali motor DC agar bergerak 2 arah. Pada umumnya, motor DC hanya dapat bergerak pada satu arah saja, dengan adanya IC motor diver ini diharapkan motor driver dapat bergerak ke 2 arah. Dalam perakitan robot, IC motor driver digunakan untuk mengendalikan perputaran roda atau alat gerak lainnya yang menggunakan motor DC. Jenis IC motor driver yang lazim digunakan adalah IC jenis L293D atau L298N.
II - 24
Gambar 2.13 Schematic Diagram IC Motor Driver L293D dan L298N
2.10 ISIS Proteus 7 ISIS Proteus 7 merupakan perangkat lunak yang digunakan untuk melakukan perancangan alur circuit perangkat elektronika. Pada ISIS Proteus 7 telah disediakan library berbagai macam komponen elektronika seperti IC, Dioda, Capacitor, Transistor, Power supply, LCD dan komponen elektronika lainnya. Disamping itu, pada ISIS Proteus 7 daat dilakukan simulasi sistem kerja dari perangkat yang sedang dirancang. Pada gambar 2.14 merupakan tampilan dari ISIS Proteus 7 :
Gambar 2.14 ISIS Proteus 7
II - 25
2.11 Eclipse IDE Eclipse IDE merupakan perangkat lunak pengembangan yang pertama kali dikembangkan oleh IBM untuk menggantikan perangkat lunak IBM Visual Age for Java 4.0. produk ini dikembangkan oleh IBM pada 5 Nopember 2001. Berikut ini merupakan karakteristik dari Eclipse IDE[4] : 1. Multi Platform, artinya Eclipse IDE dapat diinstall pada berbagai macam sistem operasi seprti Windows, Linux, Solaris, Mac OS, AIX, dan HP-UX. 2. Multi Language, pada dasarnya Eclipse IDE dikembangkan dari bahasa pemrograman Java, namun dalam penggunaanya Eclipse IDE mendukung untuk pengembangan berbagai macam bahasa pemrograman seperti Java, C++, PHP, Cobol, Perl dan lain sebagainya. 3. Multi-role, artinya Ecipse IDE selain digunakan dalam pengembangan aplikasi, dapat juga digunakan dalam aktivitas siklus pengembanagn perangkat lunak seperti untuk testing, dokumentasi dan pengujian perangkat lunak. Salah satu hal unik yang menjadi ciri khas dari Eclipse adlaah penamaan dari versi Eclipse tersebut. Penamaan versi Eclipse IDE menggunakan nama atau istilahistilah dalam astronomi seperti Eclips Callisto, Europa, Ganymede, Galileo, Helios, Indigo dan Juno.
Gambar 2.15 GUI Eclipse IDE
II - 26
2.12 UML (Unified Modelling Language) UML merupakan suatu bahasa notasi berupa garfik atau gambar yang digunakan untuk merancang, menjabarkan, mendokumentasikan, dan membuat struktur solusi dalam perancangan pernagkat lunak. Saat ini UML merupakan bahasa pemodelan yang cukup diandalkan oleh user, developer, system analyst, maupun pihak lain yang terlibat dalam perancangan pernagkat lunak. Hal ini dikarenakan UML cukup mudah dipahami dan dikomunikasikan. Pada dasarnya UML tidak terikat oleh suatu bahasa pemrograman tertentu. Hal ini membuat UML digunakan secara luas. Dalam penggunaanya, UML mengunakan notasi-notasi khusus. Notasi pad UML merupakan sekumpulan bentuk khusus yang menggambarkan berbagai diagram yang memiliki arti dan tujuan yang spesifik. Pada sub bab berikut ini akan dijabarkan beberapa jenis UML[1]..
2.12.1 Use case Diagram Use case diagram adalah sebuah diagram yang memvisualisasikan fungsionalitas yang diharapkan dari sebuah sistem. Pada umumnya, pada use case diagram terdiri dari komponen yang meliputi use case dan aktor. Use case merupakan sebuah interaksi antara aktor dan sistem. Sedangkan aktor adalah manusia, entitas, mesin atau sistem lain yang berinteraksi dan melakukan aktivitas tertentu. Penggunaan use case diagram dapat membantu dalam menyusun requirement sebuah sistem dan merancang test case untuk fitur pada sebuah sistem[1].
2.12.2 Class Diagram Class diagram adalah diagram UML yang menggambarkan tentang keadaan suatu sistem yang dialamnya terdapat fungsi atau prosedur-prosedur. Selain itu, class diagram dapat digunakan untuk memvisualisasikan struktur dan deskripsi dari sebuah class, package serta hubungan satu dengan lainnya, seperti pewarisan, asosiasi dan lain sebagainya[1].
II - 27
2.12.3 Activity Diagram Activity diagram adalah diagram UML yang menggambarkan berbagai aliran aktivitas dalam sistem yang sedang dirancang. Activity diagram merupakan state diagram khusus, dimana sebagian besar state merupakan sebuah aksi (action). Activity diagram tidak menggambarkan behavior dari sebuah sistem, melainkan lebih menggambarkan pada proses-proses dan jalur-jalur aktivitas.
2.12.4 Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan disekitar sistem dalam bentuk message yang digambarkan terhadap waktu. Sequence diagram biasa digunakan unruk menggambarkan skenario atau rangkaian langkahlangkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu[1].
2.12.5 Collaboration Diagram Collaboration diagram memiliki fungsi yang sama seperti sequence diagram. Namun lebih netitik beratkan pada peran masing-masing objek dan bukan pada waktu penyampaian message. Setiap message memiliki sequence number , di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama[1].
2.12.6 Deployment Diagram Deployment/physical diagram menggambarkan detail bagaimana komponen dideploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Sebuah node adalah server, workstation , atau piranti keras lain yang digunakan untuk men- deploy komponen dalam lingkungan sebenarnya[1].
II - 28
2.13 Tethering WIFI Tethering WIFI merupakan salah satu fitur yang terdapat pada smartphone android. Dengan fitur ini, user dapat menjadikan smartphone tersebut menjadi access point dengan menggunakan koneksi WIFI. Pada fitur ini dapat dilakukan share koneksi internet dan broadcast ip. Gambar di bawah ini merupakan layout tethering WIFI :
2.16 Tethering WIFI