RANCANG BANGUN APLIKASI MOBILE REMOTE CONTROL BERBASIS ANDROID PADA ROBOT LEGO MINDSTRORM NXT 2.0 Dona Pramana Pura Program Studi Teknik Informatika Jurusan Teknik Elektro Fakultas Teknik Universitas Tanjungpura
[email protected] ABSTRACT Today the development of technology especially Android smartphone is increase. Many various of Android application that help human life are developed. In the same time of developing smartphone technology, robotic technology is also growing. Many miniature robotic technology (microbot) has ability to mimic the original robot. One of the famous robotic technology is LEGO Mindstorm NXT with NXT-G platform.Lego Mindstorm NXT 2.0 gives the user ability to construct the robot by using a few motors and sensors (touch sensor, light sensor, ultrasonic sensor, temperature sensor, and sound sensor). However, processing capacity, memory, and communication ability of LEGO NXT are far behind what is offered on a smartphone device. Lego Mindstorm NXT 2.0 only offers the capacity of flash memory 256kb and 64kb of RAM.Because of that reason, the writer create Lego NXT controller applications embedded in smartphones based on Android. The Intelligence of robot that used to put in the brick move into this application. This gives us a great advantage because the current android smartphones has higher specifications than the brick components (brain) of Lego NXT. For comparison, android smartphones owned 2GB of RAM and 2-64 GB storage capacity. The brick of Lego NXT only has 64kb RAM and 256kb of flash memory.The applications also allows the robot to switch the modes of manual control mode, control through accelerometer, making robot avoid the obstacle, and line follower robot. After going through the black box testing, all of the functions in application is running according to its function. Based on the kompetibility testing, the application also running well on a variety of different versions of Andoid devices. Keyword : smartphone, robot, Lego Mindstorm NXT 2.0, sensor, accelerometer, line follower
1. PENDAHULUAN Saat ini perkembangan teknologi smartphone berkembang semakin pesat. Berbagai jenis smartphone dengan berbagai platform terus bermunculan. Salah satu smartphone yang saat ini tengah popular adalah smartphone berbasis Android. Dilansir Andy Rubin (VP mobile Google) pada bulan
Juni 2012 sebanyak 900.000 perangkat Android diaktifkan. Sama halnya dengan perkembangan teknologi smartphone, riset yang berkaitan mengenai pengembangan robot juga terus dilakukan. Salah satu teknologi robot yang terkenal sekarang adalah Lego NXT dengan platform Mindstorm NXT-G. NXT merupakan penyempurnaan dari robot Lego seri RIS (Robotic Invention System) yang telah sukses di pasaran. Lego Mindstorm NXT memungkinkan untuk pembangunan robot dengan menggunakan beberapa motor dan juga sensor. Namun daya pemrosesan, memori, dan kemampuan komunikasi LEGO NXT jauh dibelakang apa yang ditawarkan pada perangkat PDA atau laptop. Lego mindstorm NXT 2.0 hanya menawarkan kapasitas flash memory sebesar 256kb dan RAM sebesar 64kb. Hal tersebut tersebut memunculkan gagasan untuk membuat aplikasi pengontrol robot Lego NXT yang ditanamkan pada smartphone berbasis Android. Kecerdasan robot yang biasanya ditanankan dalam komponen brick dipindahkan ke dalam aplikasi ini. Hal ini memberikan keuntungan yang besar karena smartphone Android saat ini dibekali spesifikasi yang jauh diatas komponen brick (otak) Lego NXT. Menjadikan smartphone Android sebagai otak robot memungkinkan dibangunnya aplikasi yang berukuran besar dan kompleks, selain itu programmer dapat memanfaatkan berbagai fasilitas yang ada dalam smartphone tersebut misalnya sensor cahaya, accelerometer, kamera, pengenal suara, dan text to speech. 2. TEORI DASAR 2.1 Smartphone Telepon pintar (smartphone) adalah telepon genggam yang mempunyai
kemampuan tinggi dan dengan fungsi yang hampir menyerupai komputer. Belum ada definisi mutlak dari smartphone ini. Beberapa orang mengatakan, smartphone merupakan telepon yang bekerja menggunakan seluruh piranti lunak sistem operasi yang menyediakan hubungan standar dan mendasar bagi pengembang aplikasi. Bagi yang lainnya, telepon pintar hanyalah merupakan sebuah telepon yang menyajikan fitur canggih seperti e-mail, internet dan kemampuan membaca buku elektronik / e-book atau terdapat keyboard (baik built-in maupun eksternal) dan konektor VGA 2.2 Operating System Android Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam piranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat piranti lunak untuk ponsel. Untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan piranti keras, piranti lunak, dan piranti telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.(Stephanus, 2011) 2.3 Bluetooth Bluetooth merupakan suatu teknologi komunikasi wireless(tanpa kabel) yang beroperasi pada pita frekuensi 2,4 GHz unlicensed ISM (Industrial, Scientific, and Medical). Teknologi Bluetooth ini pertama kali diciptakan oleh Ericsson pada tahun 1994. Awalnya bluetooth digunakan sebagai alternatif pengganti salah satu konektor kabel yang pada akhirnya teknologi ini lebih berkembang kerena kemampuannya untuk terkoneksi pada beberapa perangkat sekaligus. (Siyamta, 2008). 2.4 Robot Lego Mindstorm NXT LEGO Mindstorms NXT adalah robotic kit yang dapat diprogram secara
fleksibel yang dikeluarkan oleh LEGOpada tahun 2006. NXT menggantikan generasi sebelumnya yang disebut dengan Robotic Invention System atau seringkali kita dengar dengan RCX. Kit robotic ini dilengkapi dengan pemrograman software NXT-G atau menggunakan software lainnya yang dibuat oleh pihak lain seperti NXC, NBC, leJOS NXJ, ROBOTC, atau Microsoft Robotic Studio. Lego memiliki beberapa komponen inti yang terdapat didalamnya. Komponentkomponen tersebut terdiri atas brick, motor stepper, dan sensor-sensor yang terdapat didalamnya. Berikut penjelasan mengenai komponen Lego Mindstorm NXT. 2.5 UML Unified Modeling Language (UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi obyek (OOP).(Fowler, 2004). Berdasarkan Jeffery dalam bukunya yang berjudul “Metode desain & analisis system” Unified Modeling Language (UML) merupakan satu kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek (Whitten L. Jeffery et al). 2.6 Visual Block Programming Visual block programming merupakan metode pembuatan program berbasis visual programming language (VPL). Pada metode ini programmer membuat aplikasi dengan membuat koneksi antara objek-objek dengan menggunakan blok-blok yang telah disediakan. Expresi Visual dalam visual block programming berupa simbol-simbol yang menjelaskan tentang alur program, hubungan antar entity, dan impact. Berbeda dengan pemrograman terstruktur atau prosedural yang mengeksekusi kode-kode programnya mulai dari awal sampai akhir program secara beruntun. Metode pemrograman berbasis visual dikembangkan
dengan tujuan untuk meningkatkan language design yang sekarang konvensional seperti textual programming language. 2.7 Google App Inventor Google App Inventor adalah sebuah aplikasi web-based yang memungkinkan pengguna untuk membuat sebuah aplikasi perangkat lunak untuk OS android, Google App Inventor mengunakan graphical interface, hampir mirip dengan graphical interface milik Scratch dan StarLogo TNG, yang memungkinkan pengguna untuk drag and drop objek visual untuk membuat aplikasi yang berjalan pada sistem . Framework visual programming App Inventor merupakan pengembangan dari bahasa pemrograman Scratch dari MIT, yang secara spesifik merupakan implementasi dari Open Block yang didistribusikan oleh MIT Scheller Teacher Education Program yang diambil dari riset yang dilakukan oleh Ricarose Roque.
kendali manual, kendali accelerometer, robot penghindar halangan, dan robot line follower. Selain itu user juga dapat menampilkan bantuan serta tentang aplikasi. 3.2 Activity Diagram Activity diagram (Gambar 3.2) menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Dalam activity diagram berikut terlihat alur aktifitas user saat menggunakan aplikasi ini. Aktifitas yang dilakukan mulai dari masuk ke tampilan utama, memilih menu robot yang diinginkan, mengaktifkan koneksi robot, memilih tentang aplikasi, dan bantuan aplikasi.
3. PERANCANGAN SISTEM 3.1 Perancangan Diagram UseCase Diagram use case berikut menggambarkan perilaku dari aktor yang terlibat dalam aplikasi. Dalam aplikasi ini user dapat melakukan beberapa perilaku meliputi pengaturan koneksi smartphone ke robot, memilih menu kendali robot yang diinginkan, serta menampilkan bantuan dan tentang aplikasi.
Gambar 3.2 Activity diagram aplikasi pengontrol robot secara keseluruhan
Gambar 3.1 Diagram Use Case Dalam diagram use case(gambar 3.1) terlihat bahwa untuk memulai aplikasi user dapat melakukan koneksi smartphone ke robot. Setelah itu user dapat memilih mode kendali robot yang diinginkan meliputi
3.2 Perancangan Struktur Antarmuka Aplikasi pengontrol robot yang dibuat adalah aplikasi berbasis Android yang dirancang memiliki beberapa layout yang disesuaikan dengan kebutuhan aplikasi. Struktur antarmuka aplikasi yang dirancang dapat dilihat pada Gambar 3.3 berikut :
NXT serta enam tombol pada tampilan menu kendali robot yaitu tombol koneksi bluetooth, kendali manual, accelerometer, wall detector, line follower, dan tombol kembali. Tampilan halaman antarmuka menu kendali robot dapat dilihat pada Gambar 4.2.
Gambar 3.3 Struktur antarmuka sistem 4.
HASIL PERANCANGAN Aplikasi yang dirancang merupakan Aplikasi Mobile Remote Control Berbasis Android Pada Robot Lego Mindstrorm NXT 2.0 yang bertujuan untuk mengendalikan robot Lego NXT melalui smartphone Android. Antarmuka aplikasi yang dirancang terdiri dari beberapa menu yang dapat diakses oleh pengguna aplikasi. Adapun perancangan antarmuka tersebut adalah sebagai berikut. Antarmuka halaman utama muncul ketika pengguna membuka aplikasi. Di dalam antar muka ini pengguna dapat memilih beberapa menu yang tersedia yaitu menu kendali robot, bantuan, about, dan menu keluar. Terdapat pula gambar robot NXT pada tampilan halaman utama. Adapun antarmuka halaman utama dapat dilihat pada Gambar 4.1.
Gambar 4.2 Antarmuka kendali robot Antarmuka koneksi bluetooth menampilkan alamat bluetooth yang aktif yang akan dihubungkan dengan smartphone pengguna(Gambar 4.3).
Gambar 4.3 Antarmuka koneksi bluetooth saat bluetooth aktif
Gambar 4.1 Antarmuka menu utama Antara muka menu kendali robot ditampilkan bila pengguna menekan tombol kendali robot pada menu halaman utama. Dalam antarmuka ini terdapat gambar robot
Antarmuka menu kendali manual akan tampil setelah pengguna menekan tombol kendali manual pada halaman sebelumnya. Antar muka menu kendali manual dapat dilihat pada Gambar 4.4.
Gambar 4.4 Antarmuka menu kendali manual Antarmuka menu kendali accelerometer akan tampil setelah pengguna memilih menu accelerometer pada halaman sebelumnya. Dalam antarmuka ini terdapat sebuah tombol untuk mengaktifkan accelerometer. Dalam antarmuka ini trdapat pula keterangan kekuatan pergerakan motor kiri dan kanan robot. Antarmuka menu kendali accelerometer dapat dilihat pada Gambar 4.5.
Gambar 4.5 Antarmuka menu accelerometer sebelum diaktifkan Antarmuka menu wall detector akan tampil setelah pengguna memilih menu wall detector pada halaman sebelumnya. Dalam antarmuka ini terdapat tombol untuk mengaktifkan robot menjadi robot penghindar halangan serta tombol untuk kembali ke menu sebelumnya. Dalam antarmuka ini pengguna juga dapat melihat keterangan jarak dinding penghalang dengan robot serta keterangan arah gerak robot. Antarmuka menu wall detector dapat dilihat pada Gambar 4.6.
Gambar 4.6 Antarmuka Wall Detector sebelum diaktifkan Antar muka line follower ditampilkan jika pengguna memilih menu line follower pada halaman sebelumnya. Pada antarmuka ini terdapat tombol untuk mengaktifkan robot menjadi robot line follower. Tombol tersebut berwarna merah sebelum diaktifkan dan berubah menjadi hijau setelah diaktifkan. Terdapat pula tombol untuk kembali ke menu sebelumnya.Antarmuka menu line follower dapat dilihat pada Gambar 4.7.
Gambar 4.7 Antarmuka menu line follower sebelum diaktifkan Antarmuka menu bantuan tampil jika user memilih tombol bantuan pada menu sebelumnya. Pada antarmuka ini pengguna memiliki empat pilihan bantuan yaitu fungsi aplikasi, minimum requirement, cara menggunakan aplikasi, jika aplikasi error. Antar muka menu bantuan dapat dilihat pada Gambar 4.8.
berpindah dari satu mode ke mode lain meliputi mode kendali manual, accelerometer, wall detector, dan line follower. 3. Aplikasi yang dibangun mampu menjadikan smartphone Android berfungsi sebagai otak robot menggantikan fungsi brick yang biasanya dijadikan otak pengendali robot.
Gambar 4.8 Antarmuka bantuan saat pilihan pertama dipilih. Antarmuka menu tentang aplikasi menampilkan judul aplikasi yang dibuat serta versi aplikasi. Terdapat logo developer info yang jika di klik akan menampilkan detail informasi pembuat aplikasi. Selain itu terdapat pula tombol kembali ke menu sebelumnya. Tampilan antarmuka about dapat dilihat di Gambar 4.9 dan Gambar 4.10.
Referensi [1] Stephanus, B.R. 2011. Mudah Membuat Aplikasi Android. Yogyakarta: C.V Andi Offset [2] Siyamta, 2008. Pengantar Teknologi Bluetooth Artikel Populer lmukomputer.com,(http://ilmukomputer. org/2008/11/25/pengantarteknologibluetooth, Tanggal Akses 10 Mei 2013). [3] Fowler, M. 2005.UML Distilled. Boston: Pearson Education. [4] Jeffry L Whitten, J. et all, 2004, Edisi 6 Metoda Design dan Analisa Sistem, edisi bahasa Indonesia, McGrawHill companies. Biografi Dona Pramana Pura, lahir di Pontianak, Kalimantan Barat, Indonesia, 12 Januari 1991. Mahasiswa Program Studi Teknik Informatika Universitas Tanjungpura Pontianak. Telah menerima gelar ST pada 26 Agustus 2014.
Gambar 4.9 Antarmuka menu tentang aplikasi 5. Kesimpulan Setelah dilakukan analisis dan pengujian terhadap Aplikasi Mobile Remote Control berbasis android pada robot Lego Mindstorm NXT 2.0, dapat disimpulkan bahwa : 1. Aplikasi Mobile Remote Control Berbasis Android pada Robot Lego Mindstorm NXT 2.0 dapat mengontrol pergerakan Robot Lego Mindstorm NXT 2.0 melalui koneksi bluetooth. 2. Aplikasi yang dibangun dapat membuat Robot Lego NXT 2.0