Bibliografi |
|
Pengarang |
Mario Serano,
Antonius Anggito,
Rafi Muhammad; |
Barcode |
|
Cat. Karya |
|
No. Induk |
|
Pembimbing |
Rizal Fathoni Aji |
Kata Kunci |
racking, performa, bikun, Bikunku, gRPC, Kafka, Firebase, Flutter |
Pembimbing 3 |
|
Pembimbing 2 |
|
Tahun buku |
2023 |
Barcode RFID baru |
11800117 |
Tahun Angkatan |
2019 |
Progam Studi |
Ilmu Komputer |
Lokasi |
FASILKOM-UI; |
Tanggal Datang |
25/07/2023 |
Abstrak Indonesia |
ABSTRAK
Nama Penulis : Mario Serano
Antonius Anggito Arissaputro
Rafi Muhammad
Program Studi : Ilmu Komputer
Judul : Implementasi Peningkatan Performa pada Aplikasi
Bikunku
Pembimbing : Dr. Rizal Fathoni Aji, S.Kom., M.Kom.
Muhammad Hafizhuddin Hilman, S.Kom., M.Kom., Ph.D.
Bikunku merupakan suatu aplikasi penunjang informasi bis kuning (bikun); sara-
na transportasi di lingkungan Universitas Indonesia; yang dibuat oleh Alamsyah
et al. melalui penelitiannya pada tahun 2022. Salah satu fitur penting yang di-
tawarkan dalam aplikasi ini adalah tracking lokasi bikun yang sedang beroperasi
secara real-time. Meskipun secara keseluruhan sistem ini dapat menjalankan tugas-
nya melakukan tracking lokasi bikun, sistem yang menggunakan frontend React,
komunikasi WebSocket, dan database PostgreSQL ini kurang optimal untuk me-
nangani data lokasi yang dikirim oleh driver bikun dan dibaca oleh ribuan sivitas
akademik Universitas Indonesia. Penelitian ini bertujuan melakukan improvement
berupa peningkatan performa pada sistem tracking bikun pada aplikasi Bikunku
yang meliputi pengukuran end-to-end response time, throughput, CPU usage, me-
mory usage, FPS dan rendering speed. Penelitian terdiri dari pengembangan dari
sisi backend protokol komunikasi menggunakan gRPC dengan Kafka, sisi database
menggunakan Firebase Cloud Firestore sebagai Realtime Database pada backend,
dan sisi frontend menggunakan Flutter sebagai aplikasi mobile. Implementasi fron-
tend Flutter pada akhirnya diinkorporasikan dengan pilihan implementasi backend
dengan hasil performa yang terbaik. Dengan pengembangan menggunakan tekno-
logi tersebut, improvement yang dilakukan pada penelitian ini meliputi pengubahan
cara penyaluran data lokasi tracking dan database dari sistem polling menjadi sis-
tem pushing, pengubahan arsitektur sistem yang lebih performant, digunakannya
protokol komunikasi yang lebih unggul, perbaikan implementasi pada autentikasi
driver sebagai salah satu penyebab bottleneck, pengubahan aplikasi menjadi mobile
app, dan digunakannya implementasi maps yang lebih siap untuk production. Pe-
ngetesan dilakukan dengan load testing membandingkan performa masing-masing
x
xi
sistem implementasi baru terhadap sistem terdahulu Alamsyah. Skenario pengetes-
an sistem backend dan database meliputi request pengiriman lokasi oleh 11 driver
bikun, disertai 1800 concurrent user di sisi client untuk membaca simulasi data
lokasi terbaru bikun yang beroperasi. Sementara pada sisi frontend dilakukan pe-
ngetesan dengan resource profiling dan observasi terhadap simulasi bikun yang ber-
jalan di frontend. Hasil pengetesan menunjukkan sistem gRPC-Kafka lebih cepat
sebesar 96% dengan throughput yang dihasilkan lebih baik 216% dibandingkan de-
ngan sistem Alamsyah, sistem Firebase lebih cepat sebesar 91% dengan throughput
yang dihasilkan lebih baik 127% dibandingkan sistem Alamsyah. Dari hasil yang
didapat, sistem gRPC-Kafka kemudian dipilih sebagai sistem backend yang diin-
korporasikan dengan implementasi Flutter. Hasil pengetesan sistem Flutter dengan
gRPC-Kafka mendapatkan hasil yang lebih baik pada OS Android di semua ske-
nario dengan peningkatan performa metrik CPU usage, max CPU usage, memory
usage, dan rendering speed sebesar 27%, 18%, 42%, dan 33%. Sistem Flutter de-
ngan gRPC-Kafka mayoritas lebih baik pada OS iOS di semua skenario, yakni pada
metrik memory usage, FPS, dan rendering speed dengan peningkatan performa se-
besar 40%, 28%, dan 16%. Sementara dari segi CPU usage dan max CPU usage,
sistem Alamsyah lebih baik sebesar 9% dan 0,3% dari sistem Flutter dengan gRPC-
Kafka.
Kata kunci:
tracking, performa, bikun, Bikunku, gRPC, Kafka, Firebase, Flutter |
Daftar Isi |
|
Cat. Umum |
|
Judul |
Implementasi peningkatan performa pada aplikasi bikunku |
Asal |
Depok |
Korporasi |
|
NPM |
1906398484, 1906292912, 1906398603 |
Abstrak English |
ABSTRACT
Writers : Mario Serano
Antonius Anggito Arissaputro
Rafi Muhammad
Study Program : Ilmu Komputer
Title : Implementation of Performance Improvement in Bikunku
Application
Counsellor : Dr. Rizal Fathoni Aji, S.Kom., M.Kom.
Muhammad Hafizhuddin Hilman, S.Kom., M.Kom., Ph.D.
Bikunku is an information system application for bikun, a bus transportation fa-
cility within the University of Indonesia environment, developed by Alamsyah et
al. through their research in 2022. One of the important features offered in this
application is real-time tracking of the bikuns’ location. Although the overall sys-
tem is capable of tracking the bikun’s location, the system, which utilizes React for
the frontend, WebSocket for communication, and PostgreSQL for the database, it
is not optimized to handle the location data sent by bikun drivers and accessed by
thousands of University of Indonesia stakeholders. This research aims to improve
the performance of the bikun tracking system in the Bikunku application, including
measuring end-to-end response time, throughput, CPU usage, memory usage, FPS,
and rendering speed. The research consists of the development of backend commu-
nication protocol using gRPC with Kafka, development of backend using Firebase
Cloud Firestore as Realtime Database, and development of the frontend mobile ap-
plication using Flutter. The implementation of Flutter frontend is then integrated
with the best performing backend implementation. With the development using te-
chnologies listed, improvements made in this research include changing the method
of location tracking data delivery and database from a polling system to a pushing
system, modifying the system architecture for better performance, utilizing superior
communication protocol, improving the implementation of driver authentication as
one of the bottleneck causes, transforming the application into a mobile app, and
utilizing a more production-ready maps implementation. Load testing is conducted
to compare the performance of each new implementation with Alamsyah’s previous
system. The testing scenarios for the backend and database systems involve loca-
tion request submissions by 11 bikun drivers, along with 1800 concurrent users on
xii
xiii
the client side to simulate reading the latest location data of operating bikuns. On
the frontend side, testing is performed using resource profiling and observation of
the running bikun simulations. The test results show that the gRPC-Kafka system is
96% faster with a 216% better throughput compared to Alamsyah’s system, while
the Firebase system is 91% faster with a 127% better throughput compared to Alam-
syah’s system. Based on these findings, the gRPC-Kafka system is then chosen as
the backend system to be integrated with the Flutter implementation. The testing
results of Flutter with gRPC-Kafka demonstrate better performance on Android OS
in all scenarios, with improvements in CPU usage, max CPU usage, memory usage,
and rendering speed by 27%, 18%, 42%, and 33%, respectively. The Flutter with
gRPC-Kafka system performs better on iOS OS in all scenarios for the majority,
which are in terms of memory usage, FPS, and rendering speed, with performan-
ce improvements of 40%, 28%, and 16%, respectively. However, in terms of CPU
usage and max CPU usage, the Alamsyah system performs better by 9% and 0.3%
to the Flutter with gRPC-Kafka system.
Key words:
tracking, performance, bikun, Bikunku, gRPC, Kafka, Firebase, Flutter |
Pengarang 2 |
|
Subjek |
|
Penguji 2 |
Made Harta Dwijaksara |
Penguji 3 |
|
Pembimbing 1 |
Muhammad Hafizhuddin Hilman |
Fisik |
xxii, 132 hlm, ill, 30 cm |
Bahasa |
Ind |
Lulus Semester |
Ganjil 2023 |
Penerbitan |
Depok: Fakultas Ilmu Komputer UI, 2023 |
No. Panggil |
SK-2108 (Softcopy SK-1590) |
Penguji 1 |
Amril Syalim |
Lulus semester SI |
|