• Tidak ada hasil yang ditemukan

Implementasi Sistem Tracking Kereta Api dengan Protokol Publish Subscribe

N/A
N/A
Protected

Academic year: 2018

Membagikan "Implementasi Sistem Tracking Kereta Api dengan Protokol Publish Subscribe"

Copied!
10
0
0

Teks penuh

(1)

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), sudah

menjadi 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

(2)

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

(3)

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

(4)

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

(5)

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

(6)

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.

(7)

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

(8)

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

(9)

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.

(10)

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

Bhawiyuga, A., Shiddiqi, A. M. &

Adipratomo,

B.,

2011.

Sistem

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

Network-Based Tracking of Moving

Objects.

IEEE Trans. Data Eng.

Eugster, P., Guerraoui, R. & Damm, C.,

2001. On Objects and Events. In:

Proceedings of the OOPSLA ’01

Conference on Object Oriented

Programming Systems Languages

and Applications.

s.l.:ACM Press, p.

254

269.

Eugster, P. T., Felber, P. A., Guerraoui, R.

& Kermarrec, A.-M., 2003.

The

Many Faces of Publish/Subscribe,

s.l.: ACM Computing Survey.

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

Reckoning Protocol for Updating

Location Information.

Proceedings

of 16 th Int. Parallel and Distributed

Processing Symposium.

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-Dispersive Errors of Network-Based

Real-Time Kinematic Positioning.

Journal

of

Global

Positioning

Systems,

7(2), pp. 148-155.

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].

Nurwidyanto, M., 2005.

XMLRPC: Sebuah

Perkenalan.

[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

Gambar

Tabel 1. Kajian Pustaka
Gambar 1. Diagram Alur Tahapan Penelitian
Gambar 4. Diagram Model Perancangan Service
Gambar 6. Skenario Pengujian Many-to-One
+3

Referensi

Dokumen terkait

Kecenderungan lebih banyaknya frase eksosentris direktif yang berfungsi sebagai penanda nomina lokatif di dalam novel ini berkaitan dengan data struktur dan makna

Dengan menerapkan metode pembelajaran yang terintegrasi dengan teknologi komputer (seperti SPC) akan memberikan suatu model yang berbasis unjuk kerja, hal ini

Knowledge Sharing and Distribution merupakan tahapan untuk membagikan dan menyebarkan pengetahuan yang sudah dimiliki oleh organisasi atau perusahaan.Pada tahap ini mempunyai

3) Peneliti selanjutnya dapat menggali lagi keterkaitan antara compassion dengan pola asuh orangtua, untuk mengetahui apakah orangtua dengan tingkar compassion

Lantikan tenaga pakar daripada organisasi atau universiti dari dalam atau luar negara bagi mendapatkan kepakaran dan pengalaman yang akan dapat memberi faedah

LPPM (Lembaga Penelitian dan Pengabdian pada Masyarakat) adalah sebuah unit kegiatan yang berfungsi mengelola semua kegiatan penelitian dan pengabdian kepada

Dapat menjadi sumber ilmu tambahan untuk berbagai pihak misalnya Aparatur penegak hukum seperti Polisi, Hakim, dan Jaksa yang mengawal jalannya penyelesaian kasus-kasus

Hasil penelitian menunjukkan bahwa pinjaman dana bergulir dari Dinas Koperasi dan Usaha Mikro Kota Semarang dapat membantu meningkatkan produk, omzet penjualan,