Fakultas Ilmu Komputer
915
Implementasi Sistem Tracking Kereta Api dengan Protokol Publish
Subscribe
Sapta Oryza Putra1, Adhitya Bhawiyuga2, Mochammad Hannats Hanafi l.3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya
Email: 1greenlifetian@gmail.com, 2bhawiyuga@ub.ac.id, 3hanas.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
which will sends GPS’s signals that contains position data at a certain time’s interval to a server via a
webservice 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 produced delay is in compliance with the author’s hypothesis, that the delays required 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 XML RPC 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.
1. PENDAHULUAN
M
enurut (Sniady & Soler, 2013), sudahmenjadi pengetahuan umum bahwa kereta api sebagai salah satu sarana transportasi yang dibutuhkan oleh setiap lapisan masyarakat.
Kereta api merupakan alat transportasi massal
yang umumnya terdiri dari lokomotif
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.
Menurut (Lim & Rizos, 2008), Global
Positioning System (GPS) Tracking adalah 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
Tracking dimulai dari beberapa Satelit GPS yang menangkap signal GPS yang dikeluarkan perangkat (boleh jadi perangkat tersendiri atau
berupa mobile phone), kemudian menghasilkan
titik koordinat, data tersebut dikirim melalui
GSM/GPRS ke pusat data (server), yang
kemudian disimpan, hasil akhir data tersebut
dapat dilihat oleh pengguna Tracking melalui
WebsiteTracking dalam bentuk peta digital dan dapat pula melalui ponsel yang berupa berita
SMS dengan pengamanan khusus sehingga
kerahasiaan data tetap terjaga, dan dapat di
akses dimanapun pengguna tracking berada.
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
server melalui mekanisme web service dengan memanfaatkan teknologi XML RPC. Seperti yang dijelaskan oleh (Nurwidyanto, 2005),
XML-Remote Procedure Call (XML RPC) dan
Simple Object Access Protocol (SOAP) adalah
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.
SOAP adalah perspektif middleware pertukaran
data terdistribusi dan interaksi yang loosely
coupled (tak terikat erat). XML-RPC adalah 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
server dapat diakses oleh pengguna aplikasi 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.
Pada salah satu jurnal (Eugster, et al.,
2003) juga mengungkapkan bahwa,
Publish/subscribe mendukung: 1) multicast delivery, 2) asynchronous connectivity (spatial
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
satu sama lain mengabaikan topologi dari
sistem. Sedangkan pada paradigma
client-server tradisional, client tidak dapat mengirim
pesan ke server jika proses server tidak
berjalan, server juga tidak dapat menerima
pesan jika client tidak berjalan.
Publish/subscribe 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.
2. LANDASAN KEPUSTAKAAN
2.1 Publish/Subscribe
Skema interaksi publish/subscribe
mendapatkan banyak perhatian dan diakui dapat
menyediakan bentuk interaksi yang loosely
coupled yang dibutuhkan dalam lingkungan
skala besar. Subscriber memiliki kemampuan
untuk menyatakan ketertarikannya pada sebuah
event, atau pola-pola event tertentu, dan seterusnya akan menerima notifikasi ketika
terdapat event 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
manager) dan para konsumen melakukan
subscribe terhadap informasi apapun yang mereka inginkan dari jalur tersebut. Informasi
ini biasanya disebut dengan nama event,
sedangkan kegiatan untuk melakukan
pengiriman informasi ini disebut sebagai notifikasi.
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
Tabel 1. Kajian Pustaka
No. Nama Penulis, Tahun
dan Judul Persamaan
Perbedaan
Persamaan Terdahulu Rencana Penelitian
1. Bhawiyuga, Adhitya,
et al. 2011. Sistem
ditampilkan pada Google
Maps saja.
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.
Sistem Entracked dapat melakukan
protokol pelaporan secara adaptif. Sistem
EnTracked memanfaatkan sensor accelerometer
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 diaplikasikan pada sistem tracking
tunggal.
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
tracking, node sensor WSN yang aktif. Hal ini dapat mengurangi penggunaan energi dan pengurangan latency pada jaringan.
2.3 Tracking Menggunakan GPS pada
Kereta Api
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
mobile berbasis Android dengan aplikasi untuk
mengirim sinyal GPS melalui koneksi GPRS ke
server melalui mekanisme web service. Data 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
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 melalui SMS
gateway. Berikut perbedaan pada penelitian sebelumnya dan rencana penelitian yang dibangun seperti terlihat pada Tabel 1.
3. METODOLOGI
tersebut. Diagram alur tahapan dalam proses pengerjaan penelitian ini ditunjukan pada Gambar 1. sebagai berikut.
Gambar 1. Diagram Alur Tahapan Penelitian
3.1 Studi Literatur
Tahapan penelitian ini membutuhkan studi literatur untuk merealisasikan implementasi sistem pelacakan kereta api dengan protokol
publish/subscribe. Informasi dan pustaka yang 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
a. Skema Interaksi Dasar
Space Decoupling
Time Decoupling
Synchronization Decoupling
b. Kerabat Jauh: Paradigma Komunikasi
Alternatif
Message Passing
RPC
Notifikasi
Shared Spaces
Message Queuing
c. Kerabat Dekat: Bermacam-macam
Publish/Subscribe
Topic-Based Publish/Subscribe
Content-Based Publish/Subscribe
Type-Based Publish/Subscribe
2. Tracking pada Lingkungan Bergerak 3. Tracking Menggunakan GPS pada Kereta
Api
3.2 Perancangan
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.
Gambar 2. Diagram Blok Sistem
Percancangan sistem ini menggunakan diagram model yang menjelaskan cara kerja sistem secara terstruktur yang terdiri dari
preliminary research yang dilakukan sebagai dasar penelitian dan aplikasi perangkat bergerak yang dihasilkan dari penelitian ini dengan
broker/server MQTT sebagai pusat pertukaran data. Diagram model perancangan sistem dapat dilihat pada Gambar 2.
A. Preliminary research dilakukan guna menentukan apakah penilitian ini layak untuk dilanjutkan atau tidak sebelum
penulis memulai penelitian. Preliminary
research ini dilakukan dengan
membandingkan delay pada XML RPC dan
MQTT dalam mengirimkan pesan data
posisi dengan skenario one-to-many dan
many-to-one. Protokol yang digunakan pada penelitian ini didapat dari protokol
yang memiliki hasil pengujian dengan delay
yang paling kecil jika dibandingkan satu sama lain.
B. Percancangan sistem ini menggunakan
diagram model yang menjelaskan cara kerja sistem secara terstruktur yang terdiri dari
input yang dimasukkan, proses sistem, dan
output yang dihasilkan. Diagram model
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
Gambar 3. Diagram Model Perancangan Service Publish
Model perancangan sistem secara umum berdasarkan Gambar 3. adalah sebagai berikut:
Input
Input pada sistem ini yaitu:
1. 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. 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
Mosquitto, melakukan penanganan kegagalan koneksi, melaksanakan
publish, dan lain-lain.
2. Request posisi via GPS, yaitu
proses melakukan permintaan
longitude dan latitude melaui GPS terhadap satelit untuk mendapatkan data posisi terkini perangkat yang ditanami aplikasi.
3. Publish data posisi dengan topik id
unit kereta api, yaitu proses untuk mengirimkan data posisi melalui
mekanisme publish menuju broker
Mosquitto dengan topik berupa id
unit kereta api.
Output
Output pada sistem ini yaitu JSON data
posisi yang berbentuk JSON String
yang berisikan data topik, waktu
pengiriman, waktu diterima, longitude
dan latitude.
C. Percancangan sistem ini menggunakan
diagram model yang menjelaskan cara kerja sistem secara terstruktur yang terdiri dari
input yang dimasukkan, proses sistem, dan
output yang dihasilkan. Diagram model
perancangan sistem untuk service subscribe
pada Gambar 4.
Gambar 4. Diagram Model Perancangan Service Subscribe
Model perancangan sistem secara umum berdasarkan Gambar 4. adalah sebagai berikut:
Input
Input pada sistem ini yaitu:
1. 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. 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.
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.
3. Tampilkan data posisi dalam
Google Maps, untuk memproses data posisi yang didapat dengan
mengambil data longitude dan
latitude pada JSON data posisi tersebut untuk dijadikan sebagai
koordinat lokasi yang akan
ditampilkan dalam peta digital
Google.
Output
Output pada sistem ini yaitu tampilan
marker yang menandai identitas unit kereta api yang dikehendaki pada koordinat lokasi keberadaan unit kereta api tersebut
dalam peta digital Google.
3.3 Implementasi
Tahap implementasi di sini adalah mulai mengimplementasikan metode yang sudah
ditawarkan oleh penulis pada beberapa
pembahasan sebelumnya yaitu
publish/subscribe pada sistem pelacakan kereta
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.
3.4 Pengujian Delay
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.
Gambar 5. Skenario Pengujian One-to-Many
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
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.
Gambar 6. Skenario Pengujian Many-to-One
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.
4. REKAYASA
PERSYARATAN/KEBUTUHAN
4.1 Kebutuhan Fungsional
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.
1. Sistem dapat melakukan publish posisi,
yaitu dapat mengirimkan informasi lokasi
saat ini secara terus menerus ke
server/broker MQTT.
2. Sistem dapat melakukan subscribe posisi,
yaitu dapat mengambil dan menampilkan
pesan berupa informasi posisi yang
dikirimkan oleh publisher untuk kemudian
ditampilkan dalam bentuk lokasi pada
Google Maps.
Sistem dapat melakukan penanganan apabila terjadi putus koneksi.
4.2 Kebutuhan Non-Fungsional
Kebutuhan perangkat keras yaitu spesifikasi minimal komputer yang digunakan untuk membangun aplikasi sistem pelacakan kereta api pada penelitian ini.
1. Kebutuhan Perangkat Keras
a. Processor Intel® Core™ i5-3210M Processor (2.5 GHz, Cache 3 MB)
b. RAM 8 GB DDR3 PC-12800
2. Kebutuhan Perangkat Lunak
a) Sistem Operasi: Windows 10 64-bit
b) Server Software: Mosquitto
c) Android Studio 2.2.3
d) JRE 1.8.0_76-release-b03 amd64
e) VMWare WorkStation 12.5.2
f) GenyMotion 2.8
5. PERANCANGAN & IMPLEMENTASI 5.1 PRELIMINARY RESEARCH
Diagram alir berikut menggambarkan
proses pelaksanaan preliminary research.
Berikut akan dijelaskan proses pada Gambar 7. secara rinci:
Gambar 7. Diagram Alir Preliminary Research Per Sesi
1. Mulai.
2. Rencana percobaan yang dilakukan total
berjumlah 20 kali percobaan. Percobaan dibagi menjadi 4 sesi dan tiap sesi terdiri dari 5 kali percobaan. Masing-masing protokol memiliki 2 sesi percobaan yaitu
sesi pengujian delayone-to-many dan sesi
pengujian delay many-to-one. Untuk
pengujian protokol XML RPC
many-to-one, X adalah jumlah klien sender.
Sedangkan untuk sesi one-to-many, X
adalah jumlah klien receiver. Namun,
untuk pengujian protokol MQTT sesi
many-to-one, X adalah jumlah klien
publisher. Sedangkan untuk sesi
one-to-many, X adalah jumlah klien subscriber.
Untuk tiap sesi pengujian, 5 kali percobaan tersebut dilakukan menggunakan klien secara berurutan yaitu, percobaan dengan 10 klien, 20 klien, 30 klien, 40 klien, dan 50 klien.
3. Menjalankan performance monitor untuk
memantau pemakaian memori dan
persentase pemakaian prosesor bilmana sewaktu-waktu dibutuhkan datanya.
4. Pengujian delay dilakukan dengan
mengirimkan pesan yang disisipi oleh
timeStamp yang berisikan waktu pengeriman pesan. Ketika pesan tersebut
diterima, sisi klien penerima/subscriber
akan mencatat waktu kedatangan pesan
sehingga delay pesan dapat dilihat dari
selisih antara waktu kedatangan dan waktu pengiriman.
5. Tiap kali satu sesi pengujian telah selesai, maka dilakukan perekapan data, menyalin
catatan delay tersebut ke dalam datasheet
agar dapat diolah dan dibaca.
6. Selesai.
5.2 IMPLEMENTASI SISTEM
Implementasi adalah tahapan penerapan di mana sistem telah selesai dirancang setelah melewati tahapan analisis dan perancangan.
Dalam penelitian ini, penulis
mengimplementasikan metode
publish/subscribe menggunakan MQTT (MQ Telemetry Transport) yang berlisensi bebas dengan aplikasi yang dibangun menggunakan bahasa pemrograman java pada perangkat
bergerak berbasis Android.
Implementasi sistem berdasarkan hasil analisa sistem yang sudah dilakukan dibagi menjadi beberapa bagian berikut:
Mulai
X=10, X<=50, X+10;
Mulai Perfmon
Pengujian Delay
Selesai
Rekap Hasil Pengujian
1. Implementasi service publish.
2. Implementasi service subscribe.
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) MQTT XML-RPC
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
delay rata-rata secara berurutan yaitu 386.20ms, 514.95ms, 520.99ms, 743.08ms, dan 635.11ms.
Pada pengujian protokol MQTT
ditunjukkan oleh Tabel 3. 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 25.41ms, 30.56ms,
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
10 25.41 458.41
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.
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
publish/subscribe pada perangkat bergerak
berbasis Android dimulai dengan membangun
service publish posisi dan service subscribe
posisi menggunakan bahasa pemrograman Java
dan library MQTT eksternal yakni
org.eclipse.paho.android.service-1.0.2 dan
org.eclipse.paho.client.MQTTv3-1.0.2 yang berguna untuk melakukan penanganan hal-hal
yang berkaitan dengan proses publish/subscribe
sehingga aplikasi publisher dapat berhasil
mengirimkan pesan data posisi berupa
longitude dan latitude dalam bentuk JSON String hingga sampai diterima oleh pihak
subscriber untuk diolah dan ditampilkan dalam
bentuk lokasi pada Google Maps.
DAFTAR PUSTAKA