Implementasi Sistem Tracking Kereta Api dengan Protokol Publish Subscribe
Vol. 1, No. 9, Juni 2017, hlm. 915-924 http://j-ptiik.ub.ac.id
Implementasi Sistem Tracking Kereta Api dengan Protokol Publish
1 Subscribe 2 3 Sapta Oryza Putra , Adhitya Bhawiyuga , Mochammad Hannats Hanafi l.Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: greenlifetian@gmail.com, bhawiyuga@ub.ac.id, hanas.hanafi@ub.ac.id
Abstrak
Sudah menjadi pengetahuan umum bahwa kereta api sebagai salah satu sarana transportasi, dibutuhkan oleh setiap lapisan masyarakat. Pada penelitian sebelumnya, tracking kereta api menggunakan GPS dilakukan dengan teknologi XML RPC. Pada tiap kereta yang akan dilacak dipasang sebuah perangkat mobile berbasis Android dengan aplikasi untuk mengirim sinyal GPS berupa data posisi dalam selang waktu tertentu menuju server melalui mekanisme webservice dengan memanfaatkan teknologi XML RPC. Penulis meyakini bahwa metode publish/subscribe dapat digunakan untuk menggantikan metode pada penelitian sebelumnya dengan hasil kinerja yang tidak kalah dari XML RPC client-server. Penelitian ini menggunakan protokol MQTT (MQ Telemetry Transport) dan broker Mosquitto guna mengimplementasikan arsitektur publish/subscribe. Dari pengukuran performa sistem yang telah dibangun dapat disimpulkan bahwa kualitas delay yang dihasilkan telah memenuhi hipotesa penulis, yakni delay yang dihasilkan oleh protokol publish/subscribe lebih kecil daripada delay pengiriman pesan ketika menggunakan protokol XML RPC seperti yang telah ditunjukkan pada pengujian preliminary research, dimana delay yang dihasilkan XML RPC selalu lebih besar daripada protokol MQTT. Hal ini dibuktikan dalam 2 skenario pengujian untuk masing-masing protokol, yaitu skenario pengujian one-to-many dan skenario pengujian many-to-one.
Kata kunci: mqtt, publish/subscribe, pelacakan, perangkat bergerak, android, sensor.
Abstract
It’s a common sense that the railways as a means of transportation is needed by all kind of people. In
previous studies, GPS train tracking is done with XML RPC technology. For each train that will going
to be tracked, it’s being installed with an Android based mobile device that comes with an application
wh ich will sends GPS’s signals that contains position data at a certain time’s interval to a server via awebservice mechanism by utilizing XML RPC technology. The author believes, the method of
publish/subscribe can be used to replace the method in the previous studies without having a result
that inferior to XML RPC client-server. This study uses MQTT protocol (MQ Telemetry Transport)
and Mosquitto broker to implement publish/subscribe architecture. Finally, it can be concluded that
the quality of the produ ced delay is in compliance with the author’s hypothesis, that the delaysrequired to deliver messages generated by the publish/subscribe protocol are smaller than XML RPC
protocol ’s delays, as has been shown in the preliminary research, where the resulting delay of XMLRPC protocol are always greater than MQTT. This is being proved using 2 testing scenarios for each
protocol, these are one-to-many testing and many-to-one testing.Keywords: mqtt, publish/subscribe, tracking, mobile, android, sensor.
Kereta api merupakan alat transportasi massal 1.
PENDAHULUAN yang umumnya terdiri dari lokomotif
(kendaraan dengan tenaga gerak yang berjalan
M enurut (Sniady & Soler, 2013), sudah
sendiri) dan rangkaian kereta atau gerbong menjadi pengetahuan umum bahwa kereta api (dirangkaikan dengan kendaraan lainnya). sebagai salah satu sarana transportasi yang
Rangkaian kereta atau gerbong tersebut dibutuhkan oleh setiap lapisan masyarakat.
Fakultas Ilmu Komputer Universitas Brawijaya
915 berukuran relatif luas sehingga mampu memuat penumpang maupun barang dalam skala besar. Karena sifatnya sebagai angkutan massal efektif, beberapa negara berusaha memanfaatkannya secara maksimal sebagai alat transportasi utama angkutan darat baik di dalam kota, antarkota, maupun antar negara. Oleh karena banyaknya masyarakat yang membutuhkan sarana kereta api, maka dibutuhkan pula keamanan dan kenyamanan kereta api.
Penggunaan GPS dan sistem satelit lain untuk melacak kereta api dan menyampaikan informasi secara real-time telah lama menjadi alat yang ditunggu-tunggu oleh para calon penumpang kereta api untuk mengetahui informasi dengan cepat perihal kenapa kereta mereka terlambat, dimana kereta mereka berada dan dan kapan akan tiba di stasiun (Lim & Rizos, 2008). Penggunaan sistem tracking berbasis satelit ini tidak terbatas untuk pelayanan kepada calon penumpang, tetapi juga untuk mencegah serta memperkecil resiko terjadinya bencana kecelakaan dan mengarahkan pengiriman layanan darurat ke lokasi yang tepat ketika kemungkinan terburuk terjadi.
XML-Remote Procedure Call (
dan temporal decoupling), dan 3) scalability. Semua fitur ini dapat digunakan untuk mendukung sistem pelaporan yang kokoh dan fleksibel untuk lingkungan bergerak. Publishers bersifat loosely coupled terhadap subscriber, artinya ia tetap dapat berjalan sendiri tanpa perlu mengetahui akan adanya subscriber. Oleh karena itu masing-masing publisher dan
Publish/subscribe mendukung: 1) multicast delivery , 2) asynchronous connectivity (spatial
Pada salah satu jurnal (Eugster, et al., 2003) juga mengungkapkan bahwa,
untuk melihat posisi kereta api pada peta berbasis Google Maps. Selain itu, data posisi masing-masing kereta juga dimanfaatkan untuk mengirimkan pemberitahuan kepada setiap penjaga pintu perlintasan kereta api jika terdapat kereta yang mendekati perlintasan dengan jarak kurang dari 20 km.
server dapat diakses oleh pengguna aplikasi
spesifikasi final yang lebih sederhana dan mudah diimplementasikan dibanding SOAP. Secara fundamental perubahan yang dibawa oleh kedua adalah kemampuan untuk memindahkan data kemana pun melalui web. Sebelumnya hal itu hanya mampu ditangani oleh Electronic Data Interchange (EDI). EDI mendefiniskan message dan protocol yang digunakan untuk pertukaran data melalu jaringan. Tapi hal ini mengunci jaringan- jaringan yang tergabung pada satu standar tertentu, dan membuat mahal implementasi pada jaringan baru yang akan digabungkan. Pada penelitian ini (Bhawiyuga, et al., 2011), data posisi yang tersimpan dalam database
coupled (tak terikat erat). XML-RPC adalah
data terdistribusi dan interaksi yang loosely
SOAP adalah perspektif middleware pertukaran
protokol-protokol berbasis XML. Keduanya adalah teknologi web service yang dihasilkan dari perkembangan lanjutan dari XML. Jadi keduanya secara literal merupakan kombinasi dari Web dan HTTP yang membuka kemungkinan baru pertukaran data antar lingkungan yang terhubung dalam jaringan.
Simple Object Access Protocol (SOAP) adalah
XML RPC) dan
melalui mekanisme web service dengan memanfaatkan teknologi XML RPC. Seperti yang dijelaskan oleh (Nurwidyanto, 2005),
Menurut (Lim & Rizos, 2008), Global
server
Pada penelitian sebelumnya (Bhawiyuga, et al., 2011), tracking menggunakan GPS dilakukan dengan teknologi XML RPC. Pada tiap kereta yang akan dilacak dipasang sebuah perangkat mobile berbasis Android dengan aplikasi untuk mengirim sinyal GPS berupa data posisi dalam selang waktu tertentu menuju
kerahasiaan data tetap terjaga, dan dapat di akses dimanapun pengguna tracking berada.
SMS dengan pengamanan khusus sehingga
dapat pula melalui ponsel yang berupa berita
Website Tracking dalam bentuk peta digital dan
kemudian disimpan, hasil akhir data tersebut dapat dilihat oleh pengguna Tracking melalui
GSM /GPRS ke pusat data (server), yang
yang menangkap signal GPS yang dikeluarkan perangkat (boleh jadi perangkat tersendiri atau berupa mobile phone), kemudian menghasilkan titik koordinat, data tersebut dikirim melalui
Tracking dimulai dari beberapa Satelit GPS
suatu sistem pemantauan jarak jauh yang menggunakan satelit GPS sebagai penentu lokasi kendaraan/asset bergerak dengan tepat dan akurat dalam bentuk titik koordinat yang kemudian diimplementasikan ke dalam bentuk peta digital, sehingga dapat dimengerti dengan mudah bagi penggunanya. Cara kerja GPS
Positioning System (GPS) Tracking adalah
subscriber dapat berjalan normal terlepas dari satu sama lain mengabaikan topologi dari sistem. Sedangkan pada paradigma client-
server tradisional, client tidak dapat mengirim
manager ) dan para konsumen melakukan subscribe terhadap informasi apapun yang
yang cocok dengan ketertarikannya tersebut, yang mana event tersebut dihasilkan oleh sebuah publisher. Sebuah event disebarkan secara asynchronous kepada semua subscriber yang memiliki ketertarikan yang sama dengan event tersebut. Keunggulan dari interaksi bergaya event-based seperti ini terletak pada decoupling penuh dalam hal waktu, ruang dan sinkronisasi antara
publisher dan subscriber. Banyak sistem-sistem
industrial dan purwarupa-purwarupa penelitian mendukung interaksi dengan gaya ini, dan terdapat beberapa usaha penelitian skema interaksi publish/subscribe terkemuka dalam bentuk-bentuk yang baru. Namun, karena banyaknya perkembangan sistem-sistem dan purwarupa semacam ini, menyebabkan sulitnya untuk mencari kesamaan dan menggolongkan mereka ke dalam macam-macam jenis utamanya.
Paradigma interaksi publish/subscribe menyediakan subscriber dengan kemampuan untuk menyatakan ketertarikannya pada sebuah
event atau pola dari event-event dengan tujuan
untuk mendapatkan notifikasi secara terus- menerus ketika terdapat event apapun yang diproduksi oleh sebuah publisher dan cocok dengan ketertarikannya. Dengan kata lain, para produsen mem-publish informasi ke dalam sebuah jalur perangkat lunak (sebuah event
mereka inginkan dari jalur tersebut. Informasi ini biasanya disebut dengan nama event, sedangkan kegiatan untuk melakukan pengiriman informasi ini disebut sebagai notifikasi.
pesan ke server jika proses server tidak berjalan, server juga tidak dapat menerima pesan jika client tidak berjalan.
2.2 Tracking pada Lingkungan Bergerak
Proses tracking dikatakan ideal, apabila dapat mengirimkan perubahan lokasi secara
robust dalam kondisi yang berubah-ubah.
Beberapa penelitian sebelumnya (Leonhardi & Rothermel, 2001) (Leonhardi, et al., 2002) (Civilis, et al., 2005) telah mengusulkan adanya
tracking secara dinamis untuk memperbarui
lokasi. Dalam sistem EnTracked (Kjaergaard, et al., 2009) sebuah sistem tracking yang efisien
event
seterusnya akan menerima notifikasi ketika terdapat
event , atau pola-pola event tertentu, dan
skala besar. Subscriber memiliki kemampuan untuk menyatakan ketertarikannya pada sebuah
Publish/subscri
be juga menyediakan skalabilitas yang lebih baik daripada client-
server tradisional melalui operasi pararel, message caching, tree-based atau network- based routing dan lain-lain.
MQTT adalah singkatan dari MQ
Telemetry Transport , merupakan sebuah
protokol pengiriman pesan yang sangat sederhana dan ringan yang didesain untuk perangkat-perangkat yang memiliki kemampuan terbatas dan bandwidth kecil, tingkat latensi tinggi atau berada dalam jaringan yang tidak dapat dihandalkan (MQTT.org, n.d.), yang mana digunakan bersama dengan
Mosquitto , yaitu sebuah broker pengiriman
pesan yang mengimplementasikan protokol MQTT dan menyediakan sebuah metode layanan pengiriman pesan yang ringan dengan model publish/subscribe (Mosquitto.org, n.d.).
Pada penelitian ini penulis juga telah melaksanakan preliminary research dengan melakukan pengujian terhadap XML RPC yang berbasis client-server dan MQTT yang berbasis
publish/subscribe untuk membuktikan hipotesa
peneliti dan menjadikannya sebagai dasar penelitian. Atas dasar hal-hal yang telah disebutkan di atas, penulis meyakini bahwa metode publish/subscribe dapat digunakan untuk membangun sebuah sistem pelacakan kereta api dengan menggunakan metode baru dengan hasil kinerja yang tidak kalah dengan metode pada penelitian sebelumnya.
Oleh karena itu penulis tertarik mengambil topik publish/subscribe sebagai metode pengiriman data untuk membangun sebuah sistem pelacakan kereta api yang tidak kalah layaknya atau bahkan lebih baik daripada ketika menggunakan metode XML RPC client-server pada penelitian sebelumnya, khusunya dalam hal delay yang diperlukan dalam melakukan pengiriman pesan.
Skema interaksi publish/subscribe mendapatkan banyak perhatian dan diakui dapat menyediakan bentuk interaksi yang loosely
coupled yang dibutuhkan dalam lingkungan
2. LANDASAN KEPUSTAKAAN
2.1 Publish/Subscribe
Tabel 1. Kajian Pustaka No.
tracking , node sensor WSN yang aktif. Hal ini
Bab ini membahas mengenai langkah- langkah dalam melakukan penelitian. Penelitian ini merupakan tipe penelitian implementatif- pengembangan lanjut. Penelitian ini dimulai dari tahapan studi literatur yaitu mencari referensi untuk menemukan dan memahami permasalahan. Kemudian dilanjutkan dengan mencari dan mempelajari arsitektur sistem yang sudah ada dan telah dikembangkan pada penelitian sebelumnya. Setelah itu melakukan implementasi dengan melakukan perancangan aplikasi terlebih dahulu menggunakan metode alternatif yang diusulkan. Setelah rancangan arsitektur yang baru diimplementasikan, barulah dilakukan pengujian dan analisa untuk mengetahui kinerja sistem yang baru. Jika sudah sesuai, maka diambillah kesimpulan serta saran dari hasil penelitian
3. METODOLOGI
sebelumnya dan rencana penelitian yang dibangun seperti terlihat pada Tabel 1.
gateway . Berikut perbedaan pada penelitian
masing kereta juga dimanfaatkan untuk mengirimkan pemberitahuan kepada setiap penjaga pintu perlintasan kereta api jika terdapat kereta yang mendekati perlintasan dengan jarak kurang dari 20 km melalui SMS
Google Maps . Selain itu, data posisi masing-
yang dikirim berupa data posisi dalam selang waktu tertentu menuju server melalui mekanisme web service dengan memanfaatkan teknologi XML RPC. Data yang masuk kemudian mengalami proses pembacaan dan penerjemahan. Data masing-masing kereta dimanfaatkan untuk menggambar posisi kereta dengan bantuan Google Maps. Data posisi yang tersimpan dalam database server ini kemudian dapat diakses oleh pengguna aplikasi untuk melihat posisi kereta api pada peta berbasis
server melalui mekanisme web service. Data
mengirim sinyal GPS melalui koneksi GPRS ke
mobile berbasis Android dengan aplikasi untuk
Pada penelitian sebelumnya (Bhawiyuga, et al., 2011), tracking menggunakan GPS dilakukan dengan teknologi XML RPC. Sistem ini terdiri dari beberapa aplikasi yang dibangun pada perangkat mobile berbasis Android dan perangkat lunak berbasis web. Pada tiap kereta yang akan dilacak dipasang sebuah perangkat
dapat mengurangi penggunaan energi dan pengurangan latency pada jaringan.
Target tracking dapat melibatkan satu objek maupun lebih. Semakin banyak objek yang di-tracking maka semakin besar energi yang dibutuhkan dan pembaharuan posisi yang terjadi. Perbedaan arah pergerakan, variasi kecepatan serta konektifitas pada jaringan tak handal menjadi faktor utama dalam tracking banyak objek. Dalam penelitian sebelumnya (Bhawiyuga, et al., 2011) mengajukan metode target kinematika dalam tracking pada lingkungan WSN (Wireless Sensor Networks). Proses tracking hanya aktif ketika sebuah obyek memasuki area tertentu. Hanya pada area
Nama Penulis, Tahun dan Judul Persamaan Perbedaan
EnTracked diaplikasikan pada sistem tracking tunggal.
untuk meminimalkan penggunaan GPS. Ketika perangkat bergerak, dilakukan estimasi kecepatan sehingga diketahui lokasi berikutnya. Ketika mencapai batas waktu tertentu, digunakan sensor GPS kembali. Sistem
EnTracked memanfaatkan sensor accelerometer
Sistem Entracked dapat melakukan protokol pelaporan secara adaptif. Sistem
pada lingkungan perangkat bergerak untuk target tunggal. Sistem ini dapat secara adaptif menentukan kebutuhan presisi penentuan lokasi pada lingkungan bergerak. Penentuan lokasi dapat memanfaatkan sensor GPS atau estimasi kecepatan obyek.
Pembangunan aplikasi cukup hanya sampai dapat ditampilkan pada Google Maps saja.
Mengimplementasikan metode pengiriman data menggunakan teknologi publish/subscribe.
Pembangunan aplikasi meliputi perhitungan jarak, kecepatan dan estimasi kedatangan kereta api.
Mengimplementasikan metode pengiriman data menggunakan teknologi XML RPC.
Melakukan pelacakan posisi kereta api menggunakan bantuan GPS
.
1. Bhawiyuga, Adhitya, et al. 2011. Sistem Pelaporan dan Informasi Posisi Kereta Api Berbasis Global Positioning System (GPS) pada Device Berbasis Android
Persamaan Terdahulu Rencana Penelitian
2.3 Tracking Menggunakan GPS pada Kereta Api
tersebut. Diagram alur tahapan dalam proses pengerjaan penelitian ini ditunjukan pada Gambar 1. sebagai berikut.
preliminary research yang dilakukan sebagai
perancangan sistem untuk service publish dapat dilihat pada Gambar 3. XML RPC MQTT Preliminary Research Pengujian Delay Publisher Subscriber Aplikasi Perangkat Bergerak Broker/Server MQTT Vs. A B C
input yang dimasukkan, proses sistem, dan output yang dihasilkan. Diagram model
Percancangan sistem ini menggunakan diagram model yang menjelaskan cara kerja sistem secara terstruktur yang terdiri dari
B.
pada penelitian ini didapat dari protokol yang memiliki hasil pengujian dengan delay yang paling kecil jika dibandingkan satu sama lain.
many-to-one . Protokol yang digunakan
membandingkan delay pada XML RPC dan MQTT dalam mengirimkan pesan data posisi dengan skenario one-to-many dan
research ini dilakukan dengan
Preliminary research dilakukan guna menentukan apakah penilitian ini layak untuk dilanjutkan atau tidak sebelum penulis memulai penelitian. Preliminary
A.
data. Diagram model perancangan sistem dapat dilihat pada Gambar 2.
broker/server MQTT sebagai pusat pertukaran
dasar penelitian dan aplikasi perangkat bergerak yang dihasilkan dari penelitian ini dengan
Percancangan sistem ini menggunakan diagram model yang menjelaskan cara kerja sistem secara terstruktur yang terdiri dari
Gambar 1. Diagram Alur Tahapan Penelitian
Gambar 2. Diagram Blok Sistem
Tahap perancangan dilakukan ketika penulis telah melakukan analisa sistem karena perancangan untuk mengembangkan sistem nantinya akan diikuti dari arsitektur awal sistem yang sudah dikembangkan sebelumnya. Pada tahap perancangan ini penulis terlebih dahulu akan memulai dengan menggambarkan secara umum arsitektur awal sistem dan setelah itu dilakukan perancangan arsitektur sistem yang akan dikembangkan dengan menerapkan protokol publish/subscribe.
3.2 Perancangan
3.1 Studi Literatur
Api
Topic-Based Publish/Subscribe Content-Based Publish/Subscribe Type-Based Publish/Subscribe 2. Tracking pada Lingkungan Bergerak 3. Tracking Menggunakan GPS pada Kereta
Publish/Subscribe
Kerabat Dekat: Bermacam-macam
Alternatif Message Passing RPC Notifikasi Shared Spaces Message Queuing c.
Skema Interaksi Dasar Space Decoupling Time Decoupling Synchronization Decoupling b. Kerabat Jauh: Paradigma Komunikasi
Publish/Subscribe a.
memiliki keterkaitan dengan penelitian ini didapat dari buku, situs internet, jurnal, dosen pembimbing, dan rekan-rekan mahasiswa. Adapun teori-teori yang dipelajari tentang: 1.
publish/subscribe . Informasi dan pustaka yang
Tahapan penelitian ini membutuhkan studi literatur untuk merealisasikan implementasi sistem pelacakan kereta api dengan protokol Gambar 3. Diagram Model Perancangan Service Publish
Model perancangan sistem secara umum berdasarkan Gambar 3. adalah sebagai berikut:
C.
Jalankan service subscribe, yaitu memulai proses service yang mana akan menjalankan segala aktivitas yang diperlukan untuk menampilkan data posisi dalam bentuk lokasi pada Google Maps misalnya seperti kegiatan subscribe terhadap topik unit kereta api yang dikehendaki, melakukan koneksi terhadap broker Mosquitto , melakukan penanganan kegagalan koneksi, dan lain-lain.
JSON data posisi, digunakan untuk menyediakan longitude dan latitude yang dibutuhkan untuk menampilkan lokasi unit kereta api pada Google Maps. Proses Proses pada sistem ini yaitu dengan menjalankan service publish. Langkah- langkah proses service publish yang dilakukan adalah: 1.
Input pada sistem ini yaitu: 1.
Input
Model perancangan sistem secara umum berdasarkan Gambar 4. adalah sebagai berikut:
Gambar 4. Diagram Model Perancangan Service Subscribe
perancangan sistem untuk service subscribe pada Gambar 4.
output yang dihasilkan. Diagram model
yang dimasukkan, proses sistem, dan
input
Percancangan sistem ini menggunakan diagram model yang menjelaskan cara kerja sistem secara terstruktur yang terdiri dari
posisi yang berbentuk JSON String yang berisikan data topik, waktu pengiriman, waktu diterima, longitude dan latitude.
Input
Output pada sistem ini yaitu JSON data
Output
Mosquitto dengan topik berupa id unit kereta api.
3. Publish data posisi dengan topik id unit kereta api, yaitu proses untuk mengirimkan data posisi melalui mekanisme publish menuju broker
terhadap satelit untuk mendapatkan data posisi terkini perangkat yang ditanami aplikasi.
longitude dan latitude melaui GPS
2. Request posisi via GPS, yaitu proses melakukan permintaan
kegagalan koneksi, melaksanakan publish , dan lain-lain.
Mosquitto , melakukan penanganan
Jalankan service publish, yaitu memulai proses service yang mana akan menjalankan segala aktivitas yang diperlukan untuk melakukan pengiriman pesan misalnya seperti kegiatan request posisi GPS, melakukan koneksi terhadap broker
Id unit kereta api yang akan digunakan sebagai topik untuk melakukan publish data posisi. Proses Proses pada sistem ini yaitu dengan menjalankan service publish. Langkah- langkah proses service publish yang dilakukan adalah: 1.
Input pada sistem ini yaitu: 1.
2. Subscribe data posisi dengan topik id unit kereta api, yaitu proses melakukan subscription terhadap topik dengan id unit kereta api yang dikehendaki untuk mengambil dan menerima pesan data posisi. Id Unit Kereta Api Request posisi via GPS Publish data posisi dengan topik id unit kereta api Jalankan service publish JSON data posisi INPUT PROSES OUTPUT JSON data posisi Subscribe data posisi dengan topik id unit kereta api Tampilkan data posisi dalam Google map Jalankan service subscribe Tampilan lokasi data posisi pada Google map INPUT PROSES OUTPUT
3. Tampilkan data posisi dalam
6. Untuk skenario pengujian one-to-many, dilakukan 5 kali percobaan dengan perlakuan yang berbeda secara berurutan yaitu, percobaan dengan 10 klien, 20 klien, 30 klien, 40 klien, dan 50 klien sehingga total percobaan keseluruhan yang dilakukan dalam pengujian ini berjumlah 10 kali percobaan. Untuk tiap-tiap percobaan, masing-masing klien melakukan pengiriman data sebanyak 60 kali dengan interval waktu pengiriman satu detik.
Longlat Send: Longlat Request: null null Send: null Request: Longlat
Longlat Send: Longlat Request: null null Send: null Request: Longlat Broker Mosquitto Server XML-RPC n Publisher Subscriber n Sender Client Receiver Client Performance Monitor Performance Monitor Publish: Longlat Subscribe: Longlat
Sender Client Performance n Receiver Client Monitor Performance Monitor Publish: Longlat Subscribe: Longlat
2. Sistem dapat melakukan subscribe posisi, yaitu dapat mengambil dan menampilkan Broker Mosquitto Server XML-RPC Publisher n Subscriber
1. Sistem dapat melakukan publish posisi, yaitu dapat mengirimkan informasi lokasi saat ini secara terus menerus ke server/broker MQTT.
Kebutuhan fungsional merupakan jenis kebutuhan berisi tentang proses-proses yang dilakukan oleh sistem, informasi apa saja yang harus ada dan dihasilkan oleh sistem. Kebutuhan fungsional pada sistem antara lain sebagai berikut.
4.1 Kebutuhan Fungsional
4. REKAYASA PERSYARATAN/KEBUTUHAN
Untuk skenario pengujian many-to-one, dilakukan 5 kali percobaan dengan perlakuan yang berbeda secara berurutan yaitu, percobaan dengan 10 klien, 20 klien, 30 klien, 40 klien, dan 50 klien sehingga total percobaan keseluruhan yang dilakukan dalam pengujian ini berjumlah 10 kali percobaan. Untuk tiap-tiap percobaan, masing-masing klien melakukan pengiriman data sebanyak 60 kali dengan interval waktu pengiriman satu detik.
Gambar 6. Skenario Pengujian Many-to-One
Google Maps , untuk memproses
data posisi yang didapat dengan mengambil data longitude dan
Gambar 5. Skenario Pengujian One-to-Many
Karena keterbatasan sarana, pada skenario pengujian ini akan diwakili oleh hasil dari pengujian preliminary research, yang menggunakan protokol pengiriman data identik dengan yang digunakan oleh aplikasi yaitu MQTT.
3.4 Pengujian Delay
api. Penelitian ini didasarkan pada kebutuhan akan aktifitas pemberian informasi berupa posisi menggunakan perangkat bergerak dengan mengedepankan aspek kemudahan dan efisiensi waktu. Sehingga dalam penelitian ini akan dibangun sebuah aplikasi berbasis mobile yang kompatibel dengan perangkat bersistem operasi Android .
publish/subscribe pada sistem pelacakan kereta
Tahap implementasi di sini adalah mulai mengimplementasikan metode yang sudah ditawarkan oleh penulis pada beberapa pembahasan sebelumnya yaitu
3.3 Implementasi
yang menandai identitas unit kereta api yang dikehendaki pada koordinat lokasi keberadaan unit kereta api tersebut dalam peta digital Google.
Output pada sistem ini yaitu tampilan marker
tersebut untuk dijadikan sebagai koordinat lokasi yang akan ditampilkan dalam peta digital Google . Output
latitude pada JSON data posisi
Terdapat 4 skenario pengujian, yang terdiri atas 2 skenario pengujian untuk masing-masing protokol, yaitu skenario pengujian one-to-many dan skenario pengujian many-to-one seperti yang ditunjukkan pada Gambar 5. dan Gambar pesan berupa informasi posisi yang 1.
Mulai. dikirimkan oleh publisher untuk kemudian 2.
Rencana percobaan yang dilakukan total ditampilkan dalam bentuk lokasi pada berjumlah 20 kali percobaan. Percobaan . dibagi menjadi 4 sesi dan tiap sesi terdiri
Google Maps
dari 5 kali percobaan. Masing-masing Sistem dapat melakukan penanganan apabila protokol memiliki 2 sesi percobaan yaitu terjadi putus koneksi. sesi pengujian delay one-to-many dan sesi pengujian delay many-to-one. Untuk
4.2 Kebutuhan Non-Fungsional
pengujian protokol XML RPC many-to- Kebutuhan perangkat keras yaitu spesifikasi one , X adalah jumlah klien sender. minimal komputer yang digunakan untuk
Sedangkan untuk sesi one-to-many, X membangun aplikasi sistem pelacakan kereta adalah jumlah klien receiver. Namun, api pada penelitian ini. untuk pengujian protokol MQTT sesi 1. Kebutuhan Perangkat Keras many-to-one , X adalah jumlah klien a.
Processor Intel® Core™ i5-3210M
publisher . Sedangkan untuk sesi one-to-
Processor (2.5 GHz, Cache 3 MB) many , X adalah jumlah klien subscriber.
b.
RAM 8 GB DDR3 PC-12800 Untuk tiap sesi pengujian, 5 kali percobaan 2. Kebutuhan Perangkat Lunak tersebut dilakukan menggunakan klien a)
Sistem Operasi: Windows 10 64-bit secara berurutan yaitu, percobaan dengan
b) Server Software: Mosquitto 10 klien, 20 klien, 30 klien, 40 klien, dan
c) Android Studio 2.2.3 50 klien.
d) JRE 1.8.0_76-release-b03 amd64 3.
Menjalankan performance monitor untuk
e)
VMWare WorkStation 12.5.2 memantau pemakaian memori dan
f) GenyMotion 2.8 persentase pemakaian prosesor bilmana sewaktu-waktu dibutuhkan datanya.
Pengujian delay dilakukan dengan
5. PERANCANGAN & IMPLEMENTASI 4.
mengirimkan pesan yang disisipi oleh
5.1 PRELIMINARY RESEARCH
timeStamp yang berisikan waktu
Diagram alir berikut menggambarkan pengeriman pesan. Ketika pesan tersebut proses pelaksanaan preliminary research. diterima, sisi klien penerima/subscriber Berikut akan dijelaskan proses pada Gambar 7. akan mencatat waktu kedatangan pesan secara rinci: Mulai sehingga delay pesan dapat dilihat dari selisih antara waktu kedatangan dan waktu pengiriman.
5. X=10, X<=50, Tiap kali satu sesi pengujian telah selesai, maka dilakukan perekapan data, menyalin
Ya Tidak X+10;
catatan delay tersebut ke dalam datasheet agar dapat diolah dan dibaca.
6. Selesai.
Mulai Perfmon
5.2 IMPLEMENTASI SISTEM
Implementasi adalah tahapan penerapan di mana sistem telah selesai dirancang setelah
Pengujian Delay melewati tahapan analisis dan perancangan.
Dalam penelitian ini, penulis mengimplementasikan metode
publish/subscribe menggunakan MQTT (MQ Telemetry Transport ) yang berlisensi bebas Rekap Hasil
dengan aplikasi yang dibangun menggunakan
Pengujian
bahasa pemrograman java pada perangkat Selesai bergerak berbasis Android.
Implementasi sistem berdasarkan hasil analisa sistem yang sudah dilakukan dibagi
Gambar 7. Diagram Alir Preliminary Research Per
menjadi beberapa bagian berikut:
Sesi
1. Implementasi service publish.
10 25.41 458.41
33.86ms, 48.24ms, dan 88.17ms. Pada pengujian protokol XML RPC untuk skenario
many-to-one , dilakukan 5 kali percobaan
dengan perlakuan yang berbeda secara berurutan yaitu, percobaan dengan 10 klien, 20 klien, 30 klien, 40 klien, dan 50 klien masing- masing menghasilkan rata-rata dari delay rata- rata secara berurutan yaitu, 458.41ms, 455.46ms, 520.99ms, 381.87ms, dan 490.18ms.
Tabel 3. Perbandingan Skenario Many-to-One Many to One
Rata-rata dari Delay Rata-Rata (ms) Skenario (klien)
MQTT
XML-RPC
20 30.56 455.46
to-one , dilakukan 5 kali percobaan dengan
30 33.86 520.99
40 48.24 381.87
50 88.17 490.18 7.
KESIMPULAN
Dari pengukuran performa sistem yang telah dibangun dapat disimpulkan bahwa kualitas delay yang dihasilkan telah memenuhi hipotesa penulis, yakni delay yang dihasilkan oleh protokol publish/subscribe lebih kecil daripada delay pengiriman pesan ketika menggunakan protokol XML RPC seperti yang telah ditunjukkan pada pengujian preliminary
research . Hal ini dibuktikan dalam 2 skenario
pengujian untuk masing-masing protokol, yaitu skenario pengujian one-to-many dan skenario pengujian many-to-one . Pada pengujian protokol MQTT untuk skenario one-to-many, dilakukan 5 kali percobaan dengan perlakuan yang berbeda secara berurutan yaitu, percobaan dengan 10 klien, 20 klien, 30 klien, 40 klien, dan 50 klien masing-masing menghasilkan rata- rata dari delay rata-rata secara berurutan yaitu 2.91ms, 8.40ms, 16.16ms, 27.94ms dan 31.22ms. Sedangkan untuk skenario many-to- one masing-masing secara berurutan yaitu, 25.41ms, 30.56ms, 33.86ms, 48.24ms, dan 88.17ms. Pada pengujian protokol XML RPC untuk skenario one-to-many, dilakukan 5 kali percobaan dengan perlakuan yang berbeda secara berurutan yaitu, percobaan dengan 10 klien, 20 klien, 30 klien, 40 klien, dan 50 klien masing-masing menghasilkan rata-rata dari
delay rata-rata secara berurutan yaitu 386.20ms, 514.95ms, 520.99ms, 743.08ms, dan 635.11ms.
perlakuan yang berbeda secara berurutan yaitu, percobaan dengan 10 klien, 20 klien, 30 klien, 40 klien, dan 50 klien masing-masing menghasilkan rata-rata dari delay rata-rata secara berurutan yaitu 25.41ms, 30.56ms,
Pada pengujian protokol MQTT ditunjukkan oleh Tabel 3. untuk skenario many-
2. Implementasi service subscribe.
MQTT
6. PENGUJIAN DELAY
Untuk mengetahui apakah delay pada pengiriman pesan menggunakan teknologi
publish/subscribe telah layak atau tidak,
dilakukanlah pengujian dengan membandingkan hasil kinerja pengiriman pesan menggunakan protokol MQTT dengan hasil kinerja pengiriman pesan yang menggunakan teknologi pada penelitian sebelumnya, yakni
XML RPC. Pengujian delay pada aplikasi yang dibangun di sini dapat diwakili oleh hasil dari pengujian pada preliminary research yang menggunakan protokol pengiriman data yang identik yaitu MQTT.
Tabel 2. Perbandingan Skenario One-to-Many One to Many
Rata-rata dari Delay Rata-Rata (ms) Skenario (klien)
XML-RPC
delay rata-rata secara berurutan yaitu 386.20ms, 514.95ms, 520.99ms, 743.08ms, dan 635.11ms.
10 2.91 386.20
20 8.40 514.95
30 16.16 520.99
40 27.94 743.08
50 31.22 635.11
Pada pengujian protokol MQTT ditunjukkan oleh Tabel 2. untuk skenario one-
to-many , dilakukan 5 kali percobaan dengan
perlakuan yang berbeda secara berurutan yaitu, percobaan dengan 10 klien, 20 klien, 30 klien, 40 klien, dan 50 klien masing-masing menghasilkan rata-rata dari delay rata-rata secara berurutan yaitu 2.91ms, 8.40ms, 16.16ms, 27.94ms dan 31.22ms. Sedangkan pada pengujian protokol XML RPC untuk skenario one-to-many , dilakukan 5 kali percobaan dengan perlakuan yang berbeda secara berurutan yaitu, percobaan dengan 10 klien, 20 klien, 30 klien, 40 klien, dan 50 klien masing-masing menghasilkan rata-rata dari
Sedangkan untuk skenario many-to-one masing-masing secara berurutan yaitu, 458.41ms, 455.46ms, 520.99ms, 381.87ms, dan 490.18ms.
Pembangunan sistem pelacakan kereta api menggunakan GPS dan teknologi
Reckoning Protocol for Updating Location Information. Proceedings of 16 th Int. Parallel and Distributed Processing Symposium.
Journal of Global Positioning Systems, 7(2), pp. 148-155.
publish/subscribe pada perangkat bergerak
Mosquitto.org, n.d. Home Page. [Online] Available at: https://Mosquitto.org/ [Accessed 12 Desember 2016]. MQTT.org, n.d. Frequently Asked
Question. [Online] Available at: http://MQTT.org/faq [Accessed 12 Desember 2016].
DAFTAR PUSTAKA
Nurwidyanto, M., 2005. XMLRPC: Sebuah Perkenalan.
Bhawiyuga, A., Shiddiqi, A. M. & Adipratomo,
Dispersive Errors of Network-Based Real-Time Kinematic Positioning.
longitude dan latitude dalam bentuk JSON String hingga sampai diterima oleh pihak subscriber untuk diolah dan ditampilkan dalam bentuk lokasi pada Google Maps.
berguna untuk melakukan penanganan hal-hal yang berkaitan dengan proses publish/subscribe sehingga aplikasi publisher dapat berhasil mengirimkan pesan data posisi berupa
org.eclipse.paho.android.service-1.0.2 dan org.eclipse.paho.client. MQTTv3-1.0.2 yang
posisi menggunakan bahasa pemrograman Java dan library MQTT eksternal yakni
service publish posisi dan service subscribe
berbasis Android dimulai dengan membangun
Leonhardi, A. & Rothermel, K., 2001. A Comparison of Protocols for Updating Location Information. s.l.:Cluster Computing. Lim, S. & Rizos, C., 2008. Application of Running Average Function to Non-
B., 2011. Sistem
Kjaergaard, M. B., Langdal, J., Godsk, T. & Toftkjaer, T., 2009. EnTracked: Energy-Efficient Robust Position Tracking for Mobile Devices. s.l.:s.n. Leonhardi, A., Nicu, C. & Rothermel, K., 2002. A Map-Based Dead
254 –269. Eugster, P. T., Felber, P. A., Guerraoui, R.
Proceedings of the OOPSLA ’01 Conference on Object Oriented Programming Systems Languages and Applications. s.l.:ACM Press, p.
Network-Based Tracking of Moving Objects. IEEE Trans. Data Eng. Eugster, P., Guerraoui, R. & Damm, C., 2001. On Objects and Events. In:
[Online] Available at: http://meta.wacana.net/archives/8- xmlrpc-sebuah-perkenalan.html [Accessed 12 Desember 2016]. Sniady, A. & Soler, J., 2013. Impact of the Traffic Load on Performance of an
Alternative LTE Railway Communication Network. 13th International Conference on ITS Telecommunications (ITST).
Pelaporan dan Informasi Posisi Kereta Api Berbasis Global, s.l.: Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember. Civilis, A., Jensen, C. S. & Pakalnis, S., 2005. Techniques for Efficient Road
& Kermarrec, A.-M., 2003. The Many Faces of Publish/Subscribe, s.l.: ACM Computing Survey.