relative sangat mahal, untuk industri yang bersekala magnet di sekitar perangkat.
kecil, namun sebaliknya harga perangkat Smartphone
semakin terjangkau. Sensor pada perangkat Android dapat diatur untuk
Penelitian ini, akan mengeksplorasi bagaimana piranti memperbaharui data dalam 4 tingkatan waktu yang
smartphone dapat menggantikan piranti HMI. Bagaimana berbeda-beda[9], yaitu:
pengembangan aplikasi antarmuka dalam sistem • SENSOR_DELAY_FASTEST – kecepatan
Android, dan menguji kinerja serta interoperabilitasnya pembaharuan yang paling cepat.
dengan piranti standar industri. • SENSOR_DELAY_NORMAL – kecepatan
Tujuan pengembangan ini, yaitu memberdayakan pembaharuan standar, cocok untuk mengukur
penggunaan smartphone sebagai perangkat input pada perubahan orientasi layar.
sistem IIoT yang dapat mengirimkan data yang berasal • SENSOR_DELAY_GAME – kecepatan pembaharuan
dari sensor gyroscope, acceleration, dan proximity, ke yang cocok untuk digunakan sebagai input di aplikasi
perangkat PLC melalui protokol Modbus/TCP. Lebih permainan
spesifik dari penelitian ini adalah mengembangkan • SENSOR_DELAY_UI – kecepatan pembaharuan
program aplikasi antarmuka (API) berbasis Android yang sesuai refresh rate tampilan.
mampu mengirimkan data sensor tersebut ke perangkat Pada smartphone Google Nexus 4 kecepatan
PLC menggunakan protokol Modbus TCP secara real pembaharuan tingkat SENSOR_DELAY_FASTEST
time. kurang lebih 4 kali lebih cepat dari pada
Beberapa studi sebelumnya, belum memberdayakan SENSOR_DELAY_NORMAL dan mengonsumsi baterai
sensor sensor smartphone berbasis Android sebagai ~33% - 40% lebih banyak [10]. Baik untuk sensor
komponen untuk interaksi antara manusia dengan mesin gyroscope dan accelerometer, sampling
dalam dunia industri [4][5]. SENSOR_DELAY_NORMAL memiliki rata-rata
periode waktu 20 milidetik dan sampling
SENSOR_DELAY_FASTEST 5 milidetik. Nilai ini
II. METODOLOGI
dapat bervariasi antar perangkat.
A. Sensor pada Perangkat Android
Android adalah sistem operasi piranti bergerak yang B. Pengembangan Aplikasi Android
dikembangkan oleh Google dan dirilis pertama kali pada Proses pengembangan aplikasi Android adalah
tahun 2008. Android dikembangkan dari basis kernel langkah dan tata cara pengembangan perangkat lunak
Linux dan dirilis secara open source [5]. Sistem operasi yang ditargetkan untuk dijalankan pada platform
ini diperuntukkan untuk perangkat berbasis layar sentuh Android. Google menyediakan Software Develompent Kit
seperti smartphone, smartwatch, dan tablet. Belakangan (SDK) yang berisi alat-alat untuk compiling, debugging,
ini, Android juga digunakan dalam sistem seperti smart mengatur beberapa versi SDK yang ditujukan untuk versi
TV, automotif, game console, hingga kamera digital. Android yang berbeda, hingga emulasi perangkat
Pada perangkat smartphone Android yang relatif modern Android virtual [11]. SDK Android tidak bersifat
dengan sistem operasi versi Android 4.4 (Kitkat) dan backward-compatible [12]. Hal ini berarti jika
generasi yang lebih baru, telah dilengkapi dengan pemrogram menggunakan versi SDK yang terbaru, maka
beberapa sensor, antara lain; sensor accelerometer, hasil aplikasi tersebut hanya bisa dijalankan di perangkat
temperatur, gravitasi, gyroscope, cahaya, medan keluaran terbaru. Untuk mengatasi hal ini, biasanya
magnetik, orientasi perangkat, tekanan, proximity, dan pemrogram tidak secara khusus menggunakan SDK versi
kelembaban [6]. Umumnya, perangkat Android terbaru, namun menggunakan SDK versi beberapa rilis
mendukung koneksi eksternal berupa GSM/3G/4G, Wifi, sebelumnya. Jikalau pemrogram membutuhkan suatu
atau sambungan USB mikro, dan bluetooth. Sensor pada fitur atau panggilan library yang hanya tersedia di SDK
sistem Android walaupun telah diteliti cukup reliabel versi terbaru, maka perlu dibuat pemanggilan kondisional
untuk mengukur suatu sudut dan gerakan tangan [7], yang hanya terjadi atau hanya aktif pada perangkat
namun memiliki kendala berupa drift atau pergeseran keluaran baru saja [13]. Pengembangan aplikasi Android
yang membuat akurasi sensor memburuk seiring waktu dapat dilakukan dalam berbagai bahasa. Bahasa yang
[8]. secara resmi didukung oleh SDK Android adalah Java,
Sensor-sensor yang umumnya ditemukan pada Kotlin, dan C++ [14]. Namun, terdapat banyak third
perangkat Android: party tools yang memungkinkan pengembangan
• Sensor accelerometer – mengukur percepatan menggunakan bahasa pemrograman lain seperti Python,
perangkat. Javascript, Go, dll.
• Sensor temperatur – mengukur suhu udara sekitar Software untuk pengembangan aplikasi Android yang
perangkat. paling umum dipakai sekaligus didukung secara resmi
• Sensor cahaya – mengukur tingkat intensitas cahaya oleh Google adalah Integrated Development Environment
yang mengenai perangkat. (IDE) Android Studio [15]. IDE ini menyediakan
• Sensor proximity – mengukur nilai jauh/dekat integrasi proses pembangunan aplikasi menggunakan
perangkat dengan suatu benda di depannya. Gradle, code refactor, linter untuk inspeksi kode yang
• Sensor gyroscope – mengukur nilai rotasi angular dan kurang baik, editor User Interface (UI) gaya WYSIWYG,
orientasi perangkat.
• Sensor medan magnet – mengukur besaran medan
pengaturan versi-versi SDK yang berbeda, kerangka kerja 1) Aplikasi dapat berjalan di Android versi Kitkat dan
tes, emulasi perangkat Android virtual, dll. [16]. yang lebih baru. Pemilihan versi Kitkat ini
dikarenakan versi ini adalah versi terlama Android
C. Protokol Modbus TCP yang masih memiliki persentase pengguna yang
Modbus adalah protokol komunikasi serial yang signifikan, yaitu sebesar 10,3% dan akumulasi
pertama kali dipublikasikan oleh Schnieder Electric pada pengguna dari versi ini hingga versi terbaru 8.1 Oreo
tahun 1979. Protokol ini memiliki desain yang simpel dan adalah 95%[20]. Aplikasi ini tidak membutuhkan fitur
telah menjadi standar de facto sebagai protokol yang terdapat di versi SDK lebih tinggi sehingga tidak
komunikasi perangkat elektronik di bidang industri. masalah jika menggunakan versi SDK lama.
Spesifikasi Modbus bersifat terbuka dan dapat 2) Aplikasi dapat membaca sensor accelerometer,
diimplementasikan secara bebas [17]. gyroscope, dan proximity. Pemilihan sensor ini
memungkinkan penggunaan smartphone sebagai
Komunikasi dalam Modbus memiliki pola master- pengendali intuitif yaitu menggunakan gerakan
slave seperti pada Gambar 2.1. Perangkat master akan tangan yang dibaca oleh sensor accelerometer dan
mengendalikan dan mengubah data yang disimpan oleh gyroscope. Penggunaan gerakan tangan yang
perangkat slave [18]. Berdasarkan lapisan jaringan ISO, ditangkap oleh sensor smartphone ini telah diteliti
protokol Modbus bekerja pada lapisan aplikasi dan cukup intuitif [7] dan cukup akurat untuk mereplika
implementasi pengiriman data pada lapisan jaringan posisi tangan hingga akurasi 0.3⁰ [4].
dapat menggunakan protokol internet seperti TCP dan 3) Aplikasi dapat mengirim data ke perangkat master
UDP, protokol mesh network seperti Zigbee [19], atau Modbus berupa PLC yang terkoneksi ke jaringan
koneksi serial. LAN.
B. Desain Arsitektur Aplikasi
Layanan ModbusSlaveService
Layanan ModbusSlaveService bertanggung jawab
untuk melakukan komunikasi eksternal dengan perangkat
PLC. Layanan ini memfasilitasi kerja fitur pengiriman
data sensor (SensorManagerService) dan fitur melihat
data memori modbus (ModbusMemoryActivity). Layanan
ini mulai berjalan seiring dengan dimulainya aplikasi
sekaligus memulai layanan SensorManagerService.
Dalam layanan ModbusSlaveService melayani beberapa
aktivitas dengan aplikasi antarmuka pengguna yaitu
ModbusMemoryActivity, HomePageActivity, dan
SettingActivity. Secara keseluruhan, aksi yang dilakukan
layanan ModbusSlaveService dapat digambarkan
Gambar 3- Arsitektur Aplikasi Android menggunakan diagram alir di Gambar 4.
Layanan SensorManagerService
Layanan ini bertanggung jawab untuk mengaktifkan
perangkat sensor yang ada pada smartphone dan
membuat objek SensorListener sehingga data dari
perangkat sensor tersebut dapat dimanfaatkan. Layanan
SensorManagerService merupakan bounded service yang
dikaitkan dengan ModbusSlaveService. Ini berarti bahwa
layanan SensorManagerService akan selalu aktif selama
aplikasi berjalan.
2) Mengeksplorasi penggunaan desain bounded [11] Google Developers, “Command Line Tools | Android API
services pada aplikasi Android untuk memperlancar Documentation [Technical Documentation],” 5 Juni 2018,
throughput pengiriman data sensor ke jaringan. Available: https://developer.android.com /studio/command-
line/. [Diakses 25 Juli 2018].
REFERESI [12] Google Developers, “Device Compatibility Overview |
Android API Documentation [Technical Documentation],”
[1] Drath, R., dan Horch, A., “Industrie 4.0: Hit or Hype? 8 Mei 2018, Available: https://developer.android.com/
[IEEE Magazine],” IEEE Industrial Electronics Magazine, guide/practices/compatibility#defined. [Diakses 25 Juli
vol. 8, no. 2, pp. 56-58, Juni 2014. 2018].
[2] Banerjee,P., Daugherty, P.,W. Negm dan Alter, A. E. [13] Google Developers, “Support Different Platform Versions |
“Driving Unconventional Growth through the Industrial Android API Documentation [Technical Documentation],”
Internet of Things,” 2015. [Online]. Available: 8 Mei 2018, Available: https://developer.android.com
https://www.accenture.com/mz-en/_acnmedia/Accenture /training/basics/supporting-devices/platforms. [Diakses 25
/next-gen/reassembling-industry/pdf/Accenture-Driving- Juli 2018].
Unconventional-Growth-through-IIoT.pdf. [Diakses 18 Juli [14] Google Developers, “Application Fundamentals | Android
2018]. Developers,” 30 April 2018. [Online]. Available:
[3] Bojanova,I.,“What Makes Up the Internet of Things?,” 31 https://developer.android.com/guide/components/fundament
Maret 2015. [Online]. Available: https://www.computer.org als. [Diakses 25 Juli 2018].
/web/sensing- [15] Google Developers, “Download Android Studio and SDK
iot/content?g=53926943&type=article&urlTitle=what-are- Tools,” March 2018, Available: https:
the-components-of-iot-. [Diakses 18 Juli 2018]. //developer.android.com/studio/. [Diakses 25 Juli 2018].
[4] Mourcou,Q., A. Fleury, C. Franco, F. Klopcic dan N. [16] Google Developers, “Meet Android Studio, Android
Vuillerme, “Performance Evaluation of Smartphone Inertial Developers,” 5 Juni 2018, Available: https://developer.
Sensors Measurement for Range of Motion [Journal],” android.com/studio/intro/. [Diakses 25 Juli 2018].
Sensors, vol. 15, no. 9, pp. 23168-23187, 15 September [17] Modbus-IDA, “MODBUS Messaging on TCP/IP
2015. Implementation Guide,” 24 Oktober 2006, Available:
[5] Google Developers, “About the Android Open Source http://www.modbus.org/docs/Modbus_Messaging_Impleme
Project,” 2018., Available: https://source.android.com/. ntation_Guide_V1_0b.pdf. [Diakses 2018 Juli 25].
[Diakses 22 Juli 2018]. [18] Modbus Organization, “About the Protocol,” 2018.
[6] Google, “Sensors Overview,” 24 April 2018, Available: [Online]. Available: http://www.modbus.org/faq.php.
https://developer.android.com/guide/topics/sensors/sensors_ [Diakses 22 Juli 2018].
overview#sensor-availability. [Diakses 22 Juli 2018]. [19] Zigbee Alliance, “What is Zigbee?,” 2018. [Online].
[7] Devine,S. K. Rafferty dan S. Ferguson, “Real time robotic Available: http://www.zigbee.org/what-is-zigbee/. [Diakses
arm control using hand gestures with multiple end 22 Juli 2018].
effectors,” dalam UKACC 11th International Conference on [20] Rossmann-engineering, “EasymodbusTCP Modbus
Control (CONTROL), Belfast, UK, 2016. Library for .NET and Java with Mqqt-bridge –
[8] Leal,R. L. A. G. M. Lopez, A. L. H. May dan J. M. Castillo, Communication library and professional tools for industrial
“Reliability Analysis Sensors Based on Embedded,” dalam communication,” 2017, Available: http:
International Conference on Computing Systems and //easymodbustcp.net/en/. [Diakses 2018 Juli 30].
Telematics (ICCSAT), Xalapa, Mexico, 2015. [21]Rossmann-engineering,“EasyModbusTCP/UDP RTU.java,”
[9] Google Developers, “SensorManager | Android API 16 Juli 2017. [Online]. Available: https://sourceforge.net
Documentation [Technical Documentation],” 6 Juni 2018,]. /projects/easymodbustcp-udp-java. [Diakses 31 Juli 2018].
Available: https://developer.android.com/reference /android
/hardware/SensorManager. [Diakses 1 Agustus 2018].
[10] Z. Ma, Y. Qiao, B. Lee dan E. Fallon, “Experimental
Evaluation of Mobile Phone Sensors,” dalam Irish Signals
and Systems Conference, Letterkenny, Ireland, 2013.