PEMANFAATAN MIT APP INVENTOR 2 DALAM MEMBANGUN APLIKASI PENGONTROLAN KECEPATAN PUTARAN MOTOR LISTRIK
Billy Hendrik1 Mardhiah Masril2 Alexyusandria Moenir3
ABSTRACT Android is the most popular platform that has a Linux-based operating system that is low cost and has a large number of the application developer community. One application developed is App Inventor, which App Inventor uses a graphical interface, which allows users to create applications that can run on android devices. Based on the author makes a remote control system reaches 30 meters to the movement speed of the electric motor which is expected to be applied to equipment in the industry by using Bluetooth interface and utilize MIT App Inventor 2, so it will reduce the direct contact between humans and electrical equipment and is expected to reduce the risk of workplace accidents. Keywords: android, app inventor, bluetooth, electric motor INTISARI Android adalah platform paling populer yang memiliki sistem operasi berbasis linux yang berbiaya rendah dan memiliki sejumlah besar komunitas pengembang aplikasi. Salah satu aplikasi yang dikembangkan adalah App Inventor, dimana App Inventor menggunakan antarmuka grafis, yang memungkinkan pengguna untuk menciptakan aplikasi yang bisa dijalankan pada perangkat android. Berdasarkan hal tersebut penulis membuat sistem kontrol jarak jauh mencapai 30 meter terhadap kecepatan pergerakan motor listrik yang diharapkan dapat diterapkan pada peralatan – peralatan pada bidang industri dengan menggunakan antarmuka Bluetooth dan memanfaatkan MIT App Inventor 2, sehingga akan mengurangi kontak langsung antara manusia dengan peralatan listrik dan diharapkan dapat mengurangi resiko kecelakaan kerja. Kata Kunci : android, app inventor, bluetooth, motor listrik.
1
Dosen UPI YPTK Padang Dosen UPI YPTK Padang 3 Dosen Institut Teknologi Padang 2
PENDAHULUAN Teknologi mobile phone saat ini sedang berkembang pesat salah satunya adalah sistem operasi mobile Android (OS Android). Android adalah sistem operasi berbasis linux yang dirancang untuk perangkat seluler layar sentuh dimana memungkinkan perangkat lunak untuk dimodifikasi secara bebas dan didistribusikan oleh para pembuat perangkat, operator nirkabel, dan pengembang aplikasi. Selain itu Android memiliki sejumlah besar komunitas pengembang aplikasi (apps) yang memperluas fungsionalitas perangkat. Pada bulan Oktober 2012 ada sekitar 700.000 aplikasi yang tersedia untuk Android dan sekitar 25 juta aplikasi telah diunduh dari Google Play, toko aplikasi utama Android. Survey pada bulan April 2013 menemukan bahwa Android adalah platform paling populer bagi para pengembang, digunakan oleh 71% pengembang aplikasi seluler (http:// wikipedia.org). Selain itu android juga menjadi pilihan bagi perusahaan teknologi yang menginginkan sistem operasi berbiaya rendah, bisa dikustomisasi dan ringan untuk perangkat berteknologi tinggi tanpa harus mengembangkannya dari awal. Salah satu aplikasi untuk membuat aplikasi android yang dikembanglah oleh Google, dan saat ini dikelola oleh Massachusetts Institute of Technologi (MIT) adalah App Inventor. App Inventor memungkinkan pengguna baru untuk memprogram komputer untuk menciptakan aplikasi perangkat lunak bagi sistem operasi Android. App Inventor menggunakan antarmuka grafis, yang memungkinkan pengguna untuk men-drag-and-drop obyek visual untuk menciptakan aplikasi yang bisa dijalankan pada perangkat android.
Berdasarkan pada perkembangan teknologi mobile phone yang sangat cepat diatas maka penulis mencoba membuat aplikasi untuk pengontrolan kecepatan motor listrik dari jarak jauh dengan antarmuka Bluetooth dan memanfaatkan MIT App Inventor 2. Dimana aplikasi ini diharapkan akan diterapkan pada bidang industri yang banyak menggunakan peralatan listrik yang pergerakannya menggunakan motor listrik. Dengan adanya sistem ini nantinya akan mengurangi kontak langsung antara user sebagai pengontrol dengan peralatan listrik, sehingga diharapkan dapat mengurangi resiko kecelakaan kerja dan mempermudah user dalam mengontrol peralatan listrik karena dapat dikontrol dari jarak jauh hingga 30 meter. PENDEKATAN PEMECAHAN MASALAH 1. ATmega328 ATMega328 merupakan mikrokontroler keluarga AVR 8 bit. Beberapa tipe mikrokontroler yang sama dengan ATMega8 ini antara lain ATMega8535, ATMega16, ATMega32, ATmega328, yang membedakan antara mikrokontroler antara lain adalah, ukuran memori, banyaknya GPIO (pin input/output), peripherial (USART, timer, counter, dll). Dari segi ukuran fisik, ATMega328 memiliki ukuran fisik lebih kecil dibandingkan dengan beberapa mikrokontroler diatas. Namun untuk segi memori dan periperial lainnya ATMega328 tidak kalah dengan yang lainnya karena ukuran memori dan periperialnya relatif sama dengan ATMega8535, ATMega32, hanya saja jumlah GPIO lebih sedikit dibandingkan mikrokontroler diatas.
Gambar 1. Konfigurasi Kaki (Pin) ATmega328 Sumber : ( Ario Gusti Ramakumbo, Magnetic Door Lock Menggunakan Kode Pengaman Berbasis Atmega 328, Volume 1 No.3 2012 ) ATMega328 memiliki 3 buah Port utama yaitu PortB, PortC, dan PortD dengan total pin input/output sebanyak 23 pin. Port tersebut dapat difungsikan sebagai input/output digital atau difungsikan sebagai periperal lainnya. 1. Port B Port B merupakan jalur data 8 bit yang dapat difungsikan sebagai input/output. Selain itu PortB juga dapat memiliki fungsi alternatif seperti di bawah ini. a. ICP1 (PB0), berfungsi sebagai Timer Counter 1 input capture pin. b. OC1A (PB1), OC1B (PB2) dan OC2 (PB3) dapat difungsikan sebagai keluaran PWM (Pulse Width Modulation). c. MOSI (PB3), MISO (PB4), SCK (PB5), SS (PB2) merupakan jalur komunikasi SPI. d. Selain itu pin ini juga berfungsi sebagai jalur pemograman serial (ISP). e. TOSC1 (PB6) dan TOSC2 (PB7) dapat difungsikan
sebagai sumber clock external untuk timer. f. XTAL1 (PB6) dan XTAL2 (PB7) merupakan sumber clock utama mikrokontroler. 2. Port C Port C merupakan jalur data 7 bit yang dapat difungsikan sebagai input/output digital. Fungsi alternatif PORTC antara lain sebagai berikut. a. ADC6 channel (PC0,PC1,PC2,PC3, PC4,PC5) dengan resolusi sebesar 10 bit. ADC dapat kita gunakan untuk mengubah input yang berupa tegangan analog menjadi data digital b. I2C (SDA dan SDL) merupakan salah satu fitur yang terdapat pada PORTC. I2C digunakan untuk komunikasi dengan sensor atau device lain yang memiliki komunikasi data tipe I2C seperti sensor kompas, accelerometer nunchuck. 3. Port D Port D merupakan jalur data 8 bit yang masing-masing pin-nya juga dapat difungsikan sebagai input/output. Sama seperti Port B dan Port C, Port D juga memiliki fungsi alternatif dibawah ini. a) USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial, sedangkan RXD kebalikannya yaitu sebagai pin yang berfungsi untuk menerima data serial. b) Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai interupsi hardware. Interupsi biasanya digunakan sebagai selaan dari program, misalkan pada saat program berjalan kemudian terjadi interupsi hardware/software maka program utama akan
berhenti dan akan menjalankan program interupsi. c) XCK dapat difungsikan sebagai sumber clock external untuk USART, namun kita juga dapat memanfaatkan clock dari CPU, sehingga tidak perlu membutuhkan external clock. d) T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1 dan timer 0. e) AIN0 dan AIN1 keduanya merupakan masukan input untuk analog comparator. ATMega328 adalah mikrokontroler keluaran dari atmel yang mempunyai arsitektur RISC (Reduce Instruction Set Computer) yang mana setiap proses eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set Computer). Mikrokontroler ini memiliki beberapa fitur antara lain: 1. Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanen karena EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan. 2. Memiliki SRAM (Static Random Access Memory) sebesar 2KB. 3. Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width Modulation) output. 4. 32 x 8-bit register serba guna. 5. Dengan clock 16 MHz kecepatan mencapai 16 MIPS. 6. 32 KB Flash memory dan pada arduino memiliki bootloader yang menggunakan 2 KB dari flash memori sebagai bootloader.
7. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock. 2. Smartphone Android Android adalah sistem operasi yang di gunakan di smartphone dan juga tablet PC. Fungsinya sama seperti sistem operasi Symbian di Nokia, iOS di Apple dan BlackBerry OS. Android tidak terikat ke satu merek Handphone saja, beberapa vendor terkenal yang sudah memakai Android antara lain Samsung , Sony Ericsson, HTC, Nexus, Motorolla, dan lain-lain. Android pertama kali dikembangkan oleh perusahaan bernama Android Inc., dan pada tahun 2005 di akuisisi oleh raksasa Internet Google. Android dibuat dengan basis kernel Linux yang telah dimodifikasi, dan untuk setiap release-nya diberi kode nama berdasarkan nama hidangan makanan seperti Enclair, Frozen Yogurt (Froyo), Ice Cream Sandwich, Jelly Bean, Kitkat. Salah satu keunggulan OS Android yaitu mendukung cloud computing (komputasi awan) di mana pengguna dapat memproses informasi yang dibutuhkan menggunakan jaringan internet dan berkomunikasi dengan server sebagai penyedia layanan disebabkan sistem operasi ponsel cerdas Android dikembangkan langsung oleh Coogle yang dirancang tidak hanya dapat berintegrasi dengan berbagai layanan Google (Gmail, Google Maps, GTalk, Picasa, YouTube) juga dapat mendukung layanan dari Yahoo, Facebook, eBay melalui aplikasi eksternal meskipun layanan Google masih memiliki popularitas terbesar jika dibandingkan dengan Update Service yang ditawarkan Yahoo, Apple, dan Nokia.(Prof. Jazi Eko Istianto, Ph.D, 2013; 4). Pada gambar 2. dibawah ini dapat kita lihat blok diagram dari smartphone android.
Gambar 2. Blok Diagram Smartphone Android Sumber : ( Eko Subiyantoro, Arsistektur Sistem Operasi Android, 2013; 3 ) Terlihat pada gambar 2. diatas terdapat beberapa layer didalam blog diagram smartphone android yaitu : 1. Linux Kernel Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan android bukanlah linux, karena dalam android tidak terdapat paket standar yang dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal dalam manajemen memori dan proses. Oleh karenanya pada android hanya terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori, manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar, kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess Communication) untuk mengatur aplikasi dan lubang keamanan. 2. Libraries Android menggunakan beberapa paket pustaka yang terdapat pada C/C++ dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang aslinya untuk tertanam pada kernel Linux. Beberapa pustaka diantaranya: a. Media Library untuk memutar dan merekam berbagai
macam format audio dan video. b. Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi. c. Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan 2D dan 3D. d. SQLite untuk mengatur relasi database yang digunakan pada aplikasi. e. SSl dan WebKit untuk browser dan keamanan internet. 3. Android Runtime Pada android tertanam paket pustaka inti yang menyediakan sebagian besar fungsi android. Inilah yang membedakan Android dibandingkan dengan sistem operasi lain yang juga mengimplementasikan Linux. Android Runtime merupakan mesin virtual yang membuat aplikasi android menjadi lebih tangguh dengan paket pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian utama, diantaranya: 4. Application Framework Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk mengembangkan aplikasi android. Selain itu, juga menyediakan abstraksi generik untuk mengakses perangkat, serta mengatur tampilan user interface dan sumber daya aplikasi. Bagian terpenting dalam kerangka aplikasi android adalah sebagai berikut: a. Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan menjaga keadaan ”Backstack“ untuk navigasi penggunaan. b. Content Providers, berfungsi untuk merangkum data yang memungkinkan digunakan oleh aplikasi lainnya, seperti daftar nama. c. Resuource Manager, untuk mengatur sumber daya yang ada dalam program. Serta
menyediakan akses sumber daya diluar kode program, seperti karakter, grafik, dan file layout. d. Location Manager, berfungsi untuk memberikan informasi detail mengenai lokasi perangkat android berada. e. Notification Manager, mencakup berbagai macam peringatan seperti, pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada status bar. 5. Application Layer Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget. Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Pengguna hanya akan melihat program ketika digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan dalam Android runtime dengan menggunakan kelas dan service yang tersedia pada framework aplikasi. Lapisan aplikasi android sangat berbeda dibandingkan dengan sistem operasi lainnya. Pada android semua aplikasi, baik aplikasi inti (native) maupun aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API (Application Programming Interface) yang sama. 3.
Bluetooth HC-05 Adalah sebuah modul bluetooth SPP (Serial Port Protocol) yang mudah digunakan untuk komunikasi serial wireless (nirkabel) yang mengkonversi port serial ke bluetooth pada gambar 2.4. HC-05 menggunakan modulasi bluetooth V2.0 + EDR (Enchanced Data Rate) 3 Mbps dengan memanfaatkan gelombang radio berfrekuensi 2,4GHz. Modul ini dapat digunakan sebagai slave maupun master. HC05 memiliki dua mode konfigurasi, yaitu AT mode dan Communication
mode. AT mode berfungsi untuk melakukan pengaturan konfigurasi dari HC-05. Sedangkan Communication mode berfungsi untuk melakukan komunikasi bluetooth dengan piranti lain. Dalam penggunaannya, HC-05 dapat beroperasi tanpa menggunakan driver khusus.
Gambar 3. Bluetooth Sumber : ( Sutariya Hardik Jayantilal, Interfacing of AT Command based HC-05 Serial Bluetooth Module with Minicom in Linux, Vol. 2, 2014 )
4.
Pemrograman APP Inventor App Inventor adalah sebuah tool untuk membuat aplikasi android, yang menyenangkan dari tool ini adalah karena berbasis visual block programming, dapat membuat aplikasi tanpa kode satupun. Disebut visual block programming, karena menggunakan, menyusun dan dragdrops “blok” yang merupakan simbol-simbol perintah dan fungsi tertentu dalam membuat aplikasi, dan secara sederhana bisa menyebutnya tanpa menuliskan kode program. Framework visual programming ini terkait dengan bahasa pemrograman Scratch dari MIT, yang secara spesifik merupakan implementasi dari Open Block yang didistribusikan oleh MIT Scheller Teacher Education Program yg diambil dari riset yang dilakukan oleh Ricarose Roque.
App Inventor menggunakan Kawa Language Framework dan Kawa’s dialect yang di develop oleh Per Bothner dan di distribusikan sebagai bagian dari GNU Operating System oleh Free Software Foundation sebagai compiler yang menterjemahkan visual block programming untuk diimplementasikan pada platform Android. 5.
Antarmuka AppInventor
Pemrograman
App Inventor merupakan aplikasi web sumber terbuka sebuah tools untuk membuat aplikasi android yang dikembanglah oleh Google, dan saat ini dikelola oleh Massachusetts Institute of Technologi (MIT). App Inventor memungkinkan pengguna baru untuk memprogram komputer untuk menciptakan aplikasi perangkat lunak bagi sistem operasi Android. App Inventor menggunakan antarmuka grafis, yang memungkinkan pengguna unuk men-drag-and-drop obyek visual untuk menciptakan aplikasi yang bisa dijalankan pada perangkat android. 6.
Context Diagram Context diagram merupakan pendefenisian terhadap sistem yang akan dirancang yang bersifat menyeluruh. Arduin o Uno
0 Androi d Smartp Blueto hone oth HC-05
Google Play Store
Pengontrolan Kecepatan Motor Listrik
Modul App Progra Invento Gambar 4. m Context Diagram r Arduin o Uno
M oto r Lis tri k
Context diagram ini digunakan untuk memudahkan dalam proses penganalisaan sistem yang dirancang secara keseluruhan. Context diagram sistem ini dapat dilihat pada gambar. Berdasarkan gambar diatas dapat dijelaskan untuk mendisain program pada Smartphone dengan sistem operasi Android menggunakan komponen yang ada pada pemrograman App Inventor yang di ambil dari komponen Palette. Pada komponen palette terdapat User Interface untuk medesain tampilan program seperti menambahkan tombol, gambar dan komponen pendukung lainnya yang dapat diambil dengan cara drag-anddrop. Setelah semua desain dan program selesai dibuat kita dapat langsung mencoba aplikasi dengan cara menginstall langsung apk aplikasi pada Smartphone, kemudian aplikasi dapat diupload ke Google Play. Selanjutnya aplikasi ini dapat didownload pada Smartphone android melalui fasilitas Google Play Store. Setelah aplikasi pengontrolan kecepatan motor listrik terinstall pada smartphone android maka smartphone akan berfungsi sebagai media input yang akan melakukan pengontrolan terhadap kecepatan motor listrik yang mana pada smartphone telah di program agar dapat terhubung dengan sistem melalui bluetooth pada smartphone. Proses selanjutnya yaitu mengaktifkan bluetooth pada smartphone untuk dihubungkan dengan bluetooth HC-05 yang akan mengirimkan sinyal ke mikrokontroller Atmega328 (Arduino Uno). Modul program Arduino Uno akan memproses masukan dari smartphone dan menginstruksikan pada pin pin Atmea328 yang terhubung dengan motor listrik untuk dapat bergerak dengan kecepatan pergerakan berdasarkan 3 jenis
input kecepatan yang disediakan pada program. 7.
Blok Diagram Dapat digambarkan blok diagram sebagai berikut input dari user diberikan melalui Android Smartphone, untuk terhubung ke Atmega328 smartphone
mengaktifkan bluetooth pada smartphone untuk dihubungkan dengan bluetooth HC-05. Input yang diberikan user diteruskan ke Atmega328 sebagai pengontrol pergerakan kecepatan motor listrik berdasarkan modul program arduino uno.
Android Smartphone User
Bluetooth Service
Bluetooth Modul HC-05
ATmega328
Motor Listrik Gambar 5 . Blok Diagram sistem HASIL DAN PEMBAHASAN Langkah–langkah dalam pemrograman aplikasi android adalah sebagai berikut : 1. Masuk ke website http://ai2.appinventor.mit.edu/ dengan menggunakan account google, setelah login maka akan muncul tampilan seperti gambar 6.
Gambar 6. Tampilan App Inventor
2.
Pada gambar 6 merupakan tampilan awal dari pemrograman App Inventor, pada halaman ini dapat kita lihat ada beberapa tombol yang dapat digunakan untuk membuat project. Perancangan program dapat dilakukan pada New Project dengan dengan menarik komponen yang terdapat pada menu palette, seperti pada gambar 7.
Gambar 7. Jendela Project 3.
Disain program aplikasi seperti terlihat pada gambar 8.
Gambar 8. Desain Menu Control Pada menu control terdapat beberapa tombol untuk mengontrol sistem yaitu tombol on dan off untuk mengaktifkan dan menonaktifkan motor listrik, kemudian terdapat tiga tombol Speed yang mempunyai besar rpm yang berbeda-beda, dari tombol speed inilah kita dapat mengontrol kecepatan motor listrik berdasarkan nilai rpmnya masing – masing. 4.
Setelah desain program selesai dilanjutkan dengan rancangan blok program dengan cara klik tombol Blocks. Kemudian pilih “Build App (Save apk. to my computer)” untuk membuat format apk seperti pada gambar 9.
Gambar 9. Membuat format apk pada App Inventor 5. Selanjutnya upload aplikasi yang telah di buat ke Google Play Store, setelah aplikasi kita publish atau di unggah ke google play maka aplikasi kita akan dapat di download atau di unduh secara online melalui smartphone Android. 6. Jika user ingin menggunakan aplikasi ini maka user dapat mendownloadnya melalui google play store dengan kata kunci “Controlling The Electric Motor” pada kelompok aplikasi yang terlihat seperti gambar 10.
Gambar 10. Hasil Pencarian Aplikasi di Google Play Store 7.
Selanjutnya lakukan pemasangan aplikasi ke Smartphone user seperti pada gambar 11.
Gambar 13. Tampilan Aplikasi Pada Smartphone
DAFTAR PUSTAKA Istiyanto,
8.
Gambar 11. Proses download dan install aplikasi. Setelah proses download dan install aplikasi selesai, aplikasi telah terpasang di smartphone dan siap untuk digunakan dan dapat dilihat pada deretan aplikasi yang ada pada samartphone yang digunakan oleh user seperti terlihat pada gambar 12 dan gambar 13.
J.E. 2014. Pengantar Elektronika dan Instrumentasi. Yogyakarta: Andi.
Jayantilal, Hardik Sutarya. 2014. ”Jurnal Interfacing of AT Command based HC-05 Serial Bluetoooth Module with Minicom in Linux”. Kadir , Abdul. 2012. Panduan Praktis Mempelajari Aplikasi Mikrokontroler Dan Pemogramannya Menggunakan Arduino. Yogyakarta : Andi. Pratama ,Oky Wahyu., Safitri, Hari Kurnia., Sungkono. Mei 2014 ,”Sistem Kendali Gerak Robot Menggunakan PC Berbasis Bluetooth”. Ramakumbo, A.G. 2012. ”Jurnal Magnetic Door Lock Menggunakan Kode Pengaman Berbasis Atmega 328”.
Gambar 12. Tampilan Aplikasi Setelah Terinstall
Subiyanto, Eko. 2013. “Arsitektur Sistem Operasi Android”: Andi. Syahwil , Muhammad. 2013. Panduan Mudah Simulasi & Praktek Mikrokontroler Arduino. Yogyakarta : Andi. Wolber, David dkk. 2014. App Inventor Creat Your Own Android Apps. Sebastopol : O’Reilly Media, Inc.