Implementasi Big Data Pada Data Transaksi Tiket Elektronik BUS RAPID Transit PDF
Implementasi Big Data Pada Data Transaksi Tiket Elektronik BUS RAPID Transit PDF
Abstract— Salah satu bentuk angkutan massal yang ada di dan kompleksitas yang variatif. Hal ini membutuhkan
Indonesia adalah Bus Rapid Transit (BRT). Penerapan tiket arsitektur, teknis, algoritma dan model analisa baru yang
elektronik pada BRT telah diterapkan sejak tahun 2013 ditujukan untuk mengelola, memanfaatkan dan
hingga saat ini. Data yang dihasilkan dari transaksi tiket memunculkan pengetahuan yang ada didalamnya [8].
elektronik tersebut dapat dikelola untuk memperbaiki rute
Dalam perencanaan dan pengelolaan sistem
dan pelayanan dengan lebih maksimal sesuai dengan
kebutuhan dari pengguna BRT. Namun, terdapat masalah transportasi umum, informasi mengenai bagaimana
yaitu data yang dihasilkan dari transaksi tiket elektronik perjalanan penumpang adalah hal yang penting. Matriks
tersebut sangat besar mencapai ratusan gigabyte. Oleh Asal-Tujuan (AT) sering digunakan para ahli tranportasi
karena itu diperlukan teknologi yang mampu malakukan untuk menemukan hal tersebut. Matriks AT adalah
proses pengolahan, penyimpanan dan analisis data dalam matriks yang menunjukkan total perjalanan pada suatu
beragam bentuk/format, berjumlah besar dan pertambahan jaringan transportasi, serta menyediakan informasi
data yang sangat cepat yaitu big data. Dalam penelitian ini dimana perjalanan tersebut dimulai dan berakhir [12].
akan dibangun infrastruktur big data yang terdiri dari tiga Penelitian ini menggunakan API dari Apache
teknologi utama yaitu Apache Kafka, Apache Spark dan
Spark yaitu Spark Streaming sebagai data streaming
Apache Cassandra. Integrasi dari ketiga teknologi tersebut
akan membentuk workflow yang mampu mengelola data process yang dikombinasikan dengan java regular
transaksi tiket elektronik BRT menjadi informasi mengenai expression untuk ekstraksi log data transaksi BRT secara
asal-tujuan penumpang. API dari Apache Spark yaitu near-realtime. Data ekstraksi akan disimpan pada Apache
Spark Streaming sebagai data streaming process akan Cassandra dan divisualisasikan menggunakan salah satu
dikombinasikan dengan java regular expression untuk Business Intelegence tool yaitu Tableau.
ekstraksi log data transaksi BRT secara near-realtime. Data Penelitian ini bertujuan membangun infrastuktur
ekstraksi akan disimpan pada Apache Cassandra, diolah big data dengan tiga teknologi utama yaitu Apache
oleh Apache Spark dan divisualisasikan menggunakan salah Kafka, Apache Spark dan Apache Cassandra kemudian
satu Business Intelegence tool yaitu Tableau. Informasi yang
mengelola data transaksi tiket elektronik bus rapid transit
disajikan Tableau yaitu informasi mengenai asal-tujuan
penumpang dalam bentuk grafik. (BRT) menggunakan infrastruktur tersebut untuk
mendapatkan informasi mengenai asal-tujuan penumpang.
Kata Kunci : Spark, regular expression, big data, BRT.
II. TINJAUAN PUSTAKA
I. PENDAHULUAN Kreps dkk. melakukan penelitian tentang Apache
Salah satu bentuk angkutan massal yang ada di Kafka. Kreps membandingkan performa dari tiga
Indonesia adalah Bus Rapid Transit (BRT). Penerapan software messaging systems yaitu Apache Kafka,
tiket elektronik pada salah satu BRT di Indonesia telah Apache ActiveMQ dan RabitMQ dengan metode
diterapkan sejak tahun 2013 hingga saat ini. Data yang ekperimen. Ada dua hal utama yang dilakukan dalam
dihasilkan dari transaksi tiket elektronik tersebut dapat eksperimen tersebut yaitu producer test dan consumer
dikelola untuk memperbaiki rute dan pelayanan dengan test. Procedure test menjalankan single producer dengan
lebih maksimal sesuai dengan kebutuhan dari pengguna total 10 juta pesan, setiap pesannya terdiri dari 200 bytes.
BRT. Namun, terdapat masalah yaitu data yang dihasilkan Kafka diatur untuk mengirim pesan dengan ukuran batch
dari transaksi tiket elektronik tersebut sangat besar 1 dan 50 sedangkan ActiveMQ dan RabitMQ cukup sulit
mencapai ratusan gigabyte. Selain itu, pertumbuhan data untuk mengatur ukuran batch, sehingga hanya
yang dihasilkan dari transaksi tiket elektronik pada BRT menggunakan 1 batch. Hasil yang didapat adalah Kafka
sangat cepat karena terjadi setiap hari serta banyak halte rata-rata mampu mengirimkan 50000 hingga 400000
sehingga data akan bertambah dalam kurun waktu relatif pesan sedangkan ActiveMQ dan RabitMQ hanya konstan
singkat. Pengelolaan data tersebut tidak dapat dikelola kurang dari 50000 pesan. Pada consumer test, ketiga
hanya dengan menggunakan MySQL. Oleh karena itu software diatur untuk menerima permintaan pesan lebih
diperlukan teknologi yang mampu malakukan proses dari 1000 pesan. Hasil yang didapat, Kafka rata-rata
pengolahan, penyimpanan dan analisis data dalam mampu menerima 22000 pesan per detik yaitu 4 kali
beragam bentuk/format, berjumlah besar dan pertambahan lebih besar dari ActiveMQ dan RabitMQ [7].
data yang sangat cepat yaitu big data. Big data Matei dkk menjelaskan mengenai framework
merupakan data yang memiliki volume besar, keragaman dalam big data yaitu Spark. Spark menggunakan sebuah
dataset yang di sebut Resilent Distributed Datasets
(RDDs) [9]. RDD adalah sebuah read-only partisi dari yakni BRT merupakan sebuah mode transit cepat yang
sebuah objek, dimana saat partisi tersebut hilang, ada fleksibel menggunakan ban karet yang
semacam backup yang telah dibuat oleh Spark[10]. mengkombinasikan stasiun (halte), kendaraan, pelayanan,
Bansod dkk. (2015) dalam penelitiannya jalur khusus, dan elemen dari Intelligent Transportation
menganalisis efisiensi big data yang menggunakan System (ITS) ke dalam suatu sistem yang terintegrasi
framework dari Apache Spark dan HDFS serta dengan identitas yang kuat [6].
keuntungan dari penggunaaan framework Hadoop. Hasil
C. Apache Spark
dari penelitian ini adalah Apache Spark terbukti memiliki
performa dan skalabilitas yang tinggi serta bersifat fault- Apache Spark adalah tools big data yang dirancang
tolerant untuk analisis big data [1]. untuk melakukan komputasi dan analisis data dengan
MadhaviLatha dkk. membangun infrastruktur cepat. Fitur utama dari Spark adalah komputasi klaster
big data untuk menganalisis data twitter secara realtime dalam memori yang menambah kecepatan pemrosesan
menggunakan Apache Flume, Spark, Cassandra dan data. Spark diciptakan menggunakan sebuah konsep
Zeppelin. Pada penelitian ini, Cassandra dapat bernama Resilient Distributed Dataset (RDD). RDD pada
diintegrasikan dengan hdfs, kemudian data yang berasal dasarnya adalah sebuah dataset. RDD bertindak sebagai
dari flume dan spark streaming disimpan dalam abstraksi dari spark. Abstraksi adalah proses representasi
Cassandra menggunakan beberapa fungsi khusus antara data dan program [9].
Cassandra dan StreamingContext dari Spark yaitu
com.datastax.spark.connector.streaming. Tujuan dari
menyimpan data di Cassandra yaitu untuk keperluan
analisis lebih lanjut [3].
Mallikarjuna dkk. melakukan penelitian
mengenai Pre Processing dalam analisis big data. Dari
penelitiannya disebutkan bahwa algoritma untuk pre-
processing membutuhkan waktu cukup lama.
Penggunaan regular expression diklaim lebih efisien
dibandingkan algoritma java pre-processing karena
regex menggunakan pattern matcher. Regular expression
pada penelitian ini digunakan untuk data filtering atau
data filling. Framework yang digunakan adalah hadoop Gambar 1. Cara kerja RDD pada DStream
MapReduce. Hasil yang didapat yaitu penggunaan
regular expression pada pre-processing data unggul 10 Apache spark memiliki API untuk melakukan
kali lebih cepat dibandingkan dengan metode pre- streaming data yaitu Spark streaming. Spark streaming
processing biasa [4]. bersifat high-throughput dan fault-tolerant. High-
Pada penelitian sebelumnya telah dijelaskan throughput berarti spark streaming mampu mengalirkan
mengenai kelebihan Apache Kafka, Apache Spark dan data cukup besar sedangkan fault-tolerant berarti spark
Apache Cassandra, java regular expression serta streaming mampu tetap beroperasi saat terjadi kegagalan
pentingnya informasi mengenai bagaimana perjalanan karena adanya redudansi saat spark streaming
penumpang yang dijabarkan dalam bentuk matriks AT. mengalirkan data [10].
Oleh karena itu, penelitian ini akan menggunakan
D. Apache Kafka
framework Apache Kafka, Apache Spark dan Apache
Cassandra sebagai framework big data untuk mengelola Apache Kafka adalah sebuah platform untuk mengirim
log transaksi BRT menjadi matriks AT. Ekstraksi data- dan menerima pesan yang terdistribusi. Kafka
data penting dari log transaksi BRT akan menggunakan dikembangkan oleh perusahaan LinkedIn dan saat ini
java regular expressions pada framework Apache Spark. menjadi bagian dari proyek Apache. Kafka didesain untuk
memiliki kecepatan, skalabilitas, terdistribusi, terpartisi,
A. Big Data dan tereplikasi dalam melakukan layanan pengiriman
Big data sebagai kumpulan data yang memiliki pesan. Perbedaan Kafka dengan platform pengirim pesan
ukuran besar dan melebihi kapasitas dari perangkat lunak lainnya adalah:
basis data untuk mengelola dan menganalisanya. Big Data 1) Kafka didesain terdistribusi sehingga sangat
muncul dari proses transaksi data, interaksi data dan mudah untuk menambah kapasitas
observasi data yang terus menerus [8]. kemampuannya.
2) Kafka menyediakan throughput yang tinggi untuk
B. Bus Rapid Transit
publisher (pengirim) dan subscriber (penerima).
Bus Rapid Transit (BRT) merupakan sebuah sistem 3) Kafka mendukung multi-subscribers dan mampu
transportasi publik dengan menggunakan bus yang menyeimbangkan penerima saat terjadi kesalahan.
mengintegrasikan perbaikan modal dan operasional untuk 4) Kafka akan tetap menyimpan pesan pada disk
dapat memberikan pelayanan yang lebih cepat dan lebih sehingga pesan dapat digunakan untuk analisis
berkualitas dibandingkan jalur bus standar pada umumnya lebih lanjut [11].
[5]. Definisi yang lebih detil dikembangkan dalam proyek
Transit Cooperative Research Program (TCRP) A-23,
E. Apache Cassandra
Apache Cassandra adalah sebuah sistem manajemen
basis data open source terdistribusi. Cassandra adalah
sebuah projek level atas dari Apache Software Foundation
yang didesain untuk meng-handle data yang sangat besar
dan dengan jaminan tidak ada data yang hilang ataupun
rusak. Cassandra merupakan basis data NoSQL yang
awalnya dikembangkan oleh Facebook dan digunakan
untuk fitur “Inbox Search” pada Facebook hingga akhir
tahun 2010. API dari Cassandra dikelola oleh Datastax, Gambar 4. Diagram penelitian
perusahaan yang fokus mengembangkan Apache
1. Tahap Perancangan dan Instalasi.
Cassandra [2].
Tahap pertama yaitu merancang infrastruktur big data
F. Regular Expression
yang sesuai untuk diimplementasikan dengan data
Regular expressions adalah sebuah urutan karakter transaksi BRT. Tahap instalasi dalam penelitian ini yaitu
khusus yang membantu kita mencocokkan atau melakukan instalasi tool big data yang dibutuhkan yaitu
menemukan string atau sekumpulan string dengan Apache Kafka, Apache Spark, Apache Cassandra dan
menggunakan sintaks berbentuk suatu pola. Pola tersebut Tableau. Adapun sistem operasi yang diperlukan dalam
dapat digunakan untuk mencari, mengedit atau penelitian ini adalah Windows 8.1 dengan RAM 16 GB,
memanipulasi teks atau data. Java. Java menyediakan storage HDD 1TB dan CPU Xeon 3.6 GHz dengan 8 inti
paket java.util.regex untuk pencocokan pola yang core dimana semua core akan digunakan untuk penelitian
menggunakan regular expressions. Paket java.util.regex ini. Sofware lain yang diperlukan adalah Java
terdiri dari tiga class yaitu Pattern Class, Matcher Class Development Kit (JDK) 1.8, eclipse-Scala, Scala-SBT dan
dan PatternSyntaxException [14]. python 2.7.
G. Matriks Asal-Tujuan Berdasarkan keterangan dari penanggung jawab
Matrix perjalanan atau matrix asal-tujuan adalah perusahaan pengelola data transaksi BRT, BRT
matrix dua dimensi yang mana kolom dan baris menggunakan infrastruktur interkoneksi jaringan kabel
merepresentasikan sebuah zona perjalanan. (wire) serta jaringan wireless. Untuk
mengimplementasikan framework big data pada data
transaksi BRT sesuai dengan keadaan tersebut, diperlukan
scenario pengujian. Penelitian ini menggunakan dua
macam skenario serta menggunakan data dummy dari log
data BRT. Skenario pertama yaitu menggunakan jaringan
lokal yang dibuat khusus untuk penelitian menggunakan 5
PC client yang semuanya terhubung menggunakan kabel
LAN ke 1 Switch Ethernet 100Mbps membentuk topologi
Star. Skenario kedua yaitu menggunakan jaringan wireless
internal kampus yang terhubung dengan UGM-Hotspot
sehingga dibutuhkan login menggunakan email UGM.
Jumlah Kafka broker pada kedua skenario ini adalah dua
Gambar 3. Ilustrasi Matrix AT
broker, menyesuaikan jumlah core processor pada sisi
server.
Sel pada tiap baris i berisi perjalanan yang berasal dari
zona i yang memiliki tujuan j di kolom yang sesuai. Tij
menunjukkan jumlah perjalanan antara asal i dan tujuan j.
Oi adalah jumlah total perjalanan yang berasal dari zona i
Berikut ini adalah dua skenario yang digunakan dalam streaming secara langsung akan di simpan pada Apache
penelitian ini: Cassandra dalam bentuk tabel. Waktu proses dari Kafka,
Spark dan Cassandra akan tercatat pada Spark UI
application. Dari Apache Cassandra ada proses join data
untuk mendapatkan data halte yang relevan. Proses
selanjutnya yaitu pencarian matriks AT menggunakan
algoritma sebagai berikut
Berikut adalah tabel pengujian dalam penelitian ini: TABEL 3. Sample Hasil Pengujian 500000 transaksi 10 detik/batch
(Wireless)
TABEL 1. Tabel pengujian penelitian Batch Input Scheduling Processing Total Delay
Time Size Delay Time
No Jumlah Transaksi Batch (detik) Tipe Jaringan
22:33:50 35400 1 ms 5s 5s
1 500000 1 LAN
2 500000 3 LAN 22:33:40 58600 1 ms 7s 7s
3 500000 5 LAN
4 500000 10 LAN 22:33:30 54400 0 ms 4s 4s
5 3500000 1 LAN 22:33:20 56000 0 ms 4s 4s
6 3500000 3 LAN
7 3500000 5 LAN 22:33:10 53000 0 ms 4s 4s
8 3500000 10 LAN
22:33:00 58400 0 ms 4s 4s
9 500000 1 Wireless
10 500000 3 Wireless 22:32:50 55000 0 ms 4s 4s
11 500000 5 Wireless
12 500000 10 Wireless 22:32:40 55600 0 ms 4s 4s
13 3500000 1 Wireless 22:32:30 60600 1 ms 7s 7s
14 3500000 3 Wireless
15 3500000 5 Wireless 22:32:20 13000 6 ms 5s 5s
16 3500000 10 Wireless
tinggi adalah mengatur batch menjadi 10 detik. Pada penumpang pada hari itu. Pada akhirnya, akan ditemukan
media kabel LAN dengan jumlah transaksi 3500000, bahwa halte asal terakhir dari perjalanan penumpang
formulasi terbaik untuk mendapatkan rerata streaming adalah halte pada transaksi terakhir dan halte tujuan
data yang tinggi adalah mengatur batch menjadi 5 atau 10 terakhir dari perjalanan penumpang adalah halte pada
detik karena perbedaannya yang tidak terlalu signifikan. transaksi pertama pada hari itu.
dapat mengirimkan data lebih cepat. Dengan Networked Systems Design and Implementation,
memperbesar waktu dalam 1 kali batch (dalam hal 2012.
ini 10 detik) dapat meningkatkan rerata streaming [11] N. Garg, Apache Kafka, Packt Publishing Ltd,
data hingga 2 kali lipat dibandingkan pada 1 batch 1 2013.
detik. Hal ini terjadi karena kecepatan proses dari
spark cukup tinggi dan harus disesuaikan dengan [12] Y. W. Tang, "Application of Conditional Demand
besarnya data yang dikirim. Semakin tinggi waktu Analysis in Origin-Destination (OD) Matrix
dalam 1 batch maka data yang ditumpuk akan Estimation Using Traffic Counts and Zonal
semakin besar dan sesuai dengan kecepatan proses Characteristics," City University of Hong Kong,
spark. Hong Kong, 2004.
4. Algoritma yang digunakan pada penelitian ini dapat [13] A. Spark, "Apache Spark," [Online]. Available:
digunakan untuk mencari matirks AT. Namun masih http://spark.apache.org/docs/2.0.1/streaming-
terdapat beberapa anomali yaitu ada penumpang programming-guide.html#monitoring-applications.
yang melakukan beberapa transaksi tetapi berasal [Accessed 23 Juni 2017].
hanya dari 1 halte yang sama. Anomali tersebut [14] P. Tutorials, "Java - Regular Expressions,"
belum dapat dihilangkan karena algoritma yang Tutorials Point, [Online]. Available:
digunakan pada penelitian ini bersifat asumsi https://www.tutorialspoint.com/java/java_regular_
sehingga masih perlu dikembangkan pada penelitian expressions. [Accessed 23 Juni 2017].
berikutnya. [15] T. V. Mathew, K. V. K. Rao, “Introduction to
DAFTAR PUSTAKA Transportation Engineering,” National Programme
on Technology Enhanced Learning, India, 2007.
[1] A. Bansod, "Efficient big data analysis with
Apache spark in HDFS," Int J Eng Adv Technol,
vol. 4, pp. 313-316, 2015.
[2] A. Cassandra, "Apache cassandra," 2014. [Online].
Available: http://planetcassandra.org/what-is-
apache-cassandra. [Accessed 23 06 2017].
[3] A. MadhaviLatha and G. V. Kumar, "Streaming
Data Analysis using Apache Cassandra and
Zeppelin," International Journal of Innovative
Science, Engineering & Technology, vol. 3, no. 10,
2016.
[4] G. M. Reddy, V. H. Kumar, D. Ganesh and R. A.
Kumar, "Pre Processing in Big Data Analytics
using Regular Expressions," International Journal
of Science, Engineering and Technology Research
(IJSETR), vol. 06, no. 04, 2017.
[5] G. N. Carey, "Applicability of bus rapid transit to
corridors with intermediate levels of transit
demand," Journal of public Transportation, vol. 5,
no. 2, p. 1, 2002.
[6] H. S. Levinson, S. Zimmerman, J. Clinger and G.
S. Rutherford, "Bus rapid transit: An overview,"
Journal of Public Transportation, vol. 5, no. 2, p.
1, 2002.
[7] J. Kreps, N. Narkhede and J. Rao, "Kafka: A
distributed messaging system for log processing,"
in NetDB, 2011.
[8] M. James, "Big data: the next frontier for
innovation, competition, and productivity," The
McKinsey Global Institute, 2011.
[9] M. Zaharia, M. Chowdhury, M. J. Franklin, S.
Shenker and I. Stoica, "Spark: Cluster Computing
with Working Sets," HotCloud, vol. 10, no. 10-10,
p. 95, 2010.
[10] M. Zaharia, "Resilient distributed datasets: A fault-
tolerant abstraction for in-memory cluster
computing," in The 9th USENIX conference on