net/publication/329525878
CITATIONS READS
0 2,257
3 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Ghifari Munawar on 10 December 2018.
Jurusan Teknik Komputer dan Informatika, Politeknik Negeri Bandung, Bandung 40012
E-mail : 1niko.sumanda.tif414@polban.ac.id, 2ghifari.munawar@polban.ac.id, 3bwisnu@jtk.polban.ac.id
ABSTRAK
Perkembangan aplikasi android dari tahun ke tahun semakin meningkat. Untuk memenuhi kebutuhan pasar
tersebut dibutuhkan perangkat lunak yang dapat berjalan maksimal di berbagai perangkat android. Penelitian ini
membandingkan 2 bahasa pemrograman yang popular digunakan dalam pengembangan aplikasi android yakni
Java dan Kotlin dengan melakukan analisis performa pada aplikasi yang dibangun dengan masing-masing bahasa
pemrograman tersebut. Eksperimen dilakukan dengan mengukur performa aplikasi pada saat aplikasi berjalan di
perangkat android dengan mengoperasikan fitur-fitur yang tersedia pada aplikasi tersebut. Eksperimen yang
dilakukan memperlihatkan bahwa aplikasi dengan bahasa pemrograman Kotlin lebih minim dalam penggunaan
CPU walaupun kedua bahasa pemrograman tidak menunjukkan perbedaan yang signifikan. Hasil menunjukkan
CPU usage kedua nya hanya berbeda 0.65 %. Bahasa pemrograman Kotlin juga lebih kecil dalam memory usage
dengan perhitungan lebih dari 2 kali lipat penggunaan memori pada bahasa Java. Sementara pada execution time
program terlihat bahwa bahasa pemrograman kotlin lebih cepat dibandingkan bahasa pemrograman Java.
Berdasarkan hasil keseluruhan pengukuran dapat disimpulkan bahwa bahasa pemrograman Kotlin memiliki
performa yang lebih baik dibandingkan bahasa pemrograman Java untuk aplikasi berbasis android.
Kata Kunci: Analisis performa, Kotlin, Java, CPU usage, Memory usage, Execution time
320
2.5 Snapdragon Profiller 3.1 Studi Pustaka
Snapdragon Profiler adalah perangkat lunak yang Mempelajari hal-hal teknis yang terkait dengan
berjalan pada platform Windows, Mac, dan Linux. masalah yang akan diselesaikan melalui penelitian
Ini terhubung dengan perangkat Android yang ini. Beberapa hal yang dipelajari adalah sebagai
didukung oleh prosesor Snapdragon melalui USB. berikut:
Snapdragon Profiler memungkinkan pengembang 1. Kajian pustaka dari penelitian sebelumnya
untuk menganalisis data CPU, GPU, DSP, memori, 2. Pustaka terkait pemrograman Java
daya, termal, dan jaringan, sehingga dapat 3. Pustaka terkait pemrograman Kotlin
menemukan dan memperbaiki bug kinerja pada 4. Pengembangan aplikasi android
aplikasi. Fitur dan keuntungan yang diperoleh 5. Pustaka terkait pengukuran performa aplikasi
menggunakan Snapdragon Profiler adalah [10]: mobile
1. Terdapat tampilan realtime yang memudahkan
untuk memantau resource pada perangkat 3.2 Pengembangan Aplikasi
seperti CPU, GPU, DSP, memory, power, Pengembangan aplikasi dilakukan analisis,
jaringan dan lain-lain. perancangan, implementasi dan pengujian terhadap
2. Mode Trace Capture yang memungkinkan aplikasi. Tahap ini bertujuan untuk menganalisis
pengguna untuk memvisualisasikan kejadian kebutuhan aplikasi, merancangan sistem secara
pada sistem dan perangkat seperti CPU, GPU keseluruhan, melakukan implementasi dan pengujian
dan lain-lain. aplikasi untuk memastikan aplikasi yang akan
3. Melihat dan mengedit tampilan dan preview digunakan sudah berjalan sesuai dengan requirement.
hasil capture pada perangkat. Aplikasi yang dibangun adalah aplikasi Pencari
Rumah Makan dengan kebutuhan seperti pada
3. METODOLOGI subbab 3.2.1 dan 3.2.2. Aplikasi dibangun dengan
Metodologi penelitian menjelaskan metode yang menggunakan bahasa pemrograman Java dan Kotlin
digunakan dalam analisis perbandingan performa kemudian kedua aplikasi akan dilakukan pengukuran
aplikasi menggunakan Java dan Kotlin pada performa untuk mengetahui performa aplikasi mana
perangkat android. Penelitian ini akan yang lebih baik. Sebelum dilakukan pengukuran,
mengembangkan 2 aplikasi yang masing-masing terlebih dahulu dilakukan pengujian yang bertujuan
mewakili bahasa pemrogaman Java dan Kotlin. untuk mengetahui kesesuaian antara input dan output
Kedua aplikasi memiliki requirement yang sama yang diharapkan pada aplikasi.
untuk kemudian dibandingkan performanya. Gambar
4 adalah tahapan-tahapan yang dilakukan dalam 3.2.1 Usecase Diagram
penelitian ini. Aplikasi yang diuji adalah aplikasi dengan kebutuhan
seperti pada Gambar 5. Usecase diagram dibuat
untuk mengambarkan interaksi antar pengguna
dengan aplikasi. Secara umum, fitur utama aplikasi
adalah mencari dan menampilkan rumah makan.
Gambar 5 adalah usecase diagram aplikasi Pencari
Rumah Makan.
321
3.2.2 Package Diagram kemudian mengoperasikan setiap fitur pada aplikasi.
Arsitektur aplikasi yang dibangun adalah seperti pada Percobaan dilakukan sebanyak tiga kali pada setiap
Gambar 6 ditunjukkan dengan package diagram. fitur aplikasi kemudian hasilnya dirata-ratakan.
Aplikasi dengan CPU, memory dan execution time
yang lebih rendah adalah aplikasi dengan performa
yang lebih baik. Eksperimen dilakukan pada
perangkat dengan spesifikasi 4GB RAM, processor
Snapdragon 626 dengan sistem operasi android oreo
(8.0)
322
CPU Usage (%) Execution Time (ms)
20.00 6000.00
18.00 5000.00
16.00
14.00 4000.00
12.00 3000.00
10.00
8.00 2000.00
6.00
1000.00
4.00
2.00 0.00
REQ- REQ- REQ- REQ- Avera
0.00 01 02 03 04 ge
REQ- REQ- REQ- REQ- Avera
01 02 03 04 ge Java 5234.33 334.00 2535.33 970.67 2268.58
Java 4.87 11.52 8.97 18.01 10.84 Kotlin 3237.33 295.33 2107.33 844.00 1621.00
Java Kotlin
Gambar 9. Hasil pengukuran execution time
Gambar 7. Hasil Pengukuran CPU Usage
4.4 Analisis Hasil
4.2.2 Penggunaan Memori pada device Berdasarkan pada pengukuran yang telah dilakukan
Pengukuran penggunaan memori pada perangkat ini diatas dengan melihat penggunaan CPU, memori dan
dibagi per fitur aplikasi. Aplikasi dijalankan pada execution time pada setiap fitur pada aplikasi. Untuk
perangkat dan mengoperasikan fitur aplikasi. pada 4 mengetahui bahasa pemrograman mana yang
requirement aplikasi. Hasil pengukuran penggunaan memiliki performa yang lebih baik untuk digunakan
memori pada perangkat ditunjukkan oleh Gambar 8. pada aplikasi berbasis android maka hasil
pengukuran tersebut dirangkum seperti berikut.
Memory Usage (MB) Tabel 5 adalah hasil rekapitulasi dari seluruh
pengukuran yang dilakukan. Hasil pengukuran pada
250.00
seluruh fitur aplikasi di rata-ratakan.
200.00
Tabel 5 Rekapitulasi Pengukuran Performa
150.00
Parameter Hasil
Kotlin Java
100.00
CPU Usage (%) 10.19 10.84
Memory 25.72 63.29
Usage(MB)
50.00
Execution 1621.00 2268.58
Time(ms)
0.00
REQ- REQ- REQ- REQ- Averag
01 02 03 04 e
Berdasarkan hasil tersebut, terlihat bahwa bahasa
Java 12.22 2.55 2.47 235.93 63.29
pemrograman Kotlin memiliki performa lebih baik
Kotlin 14.72 0.26 0.80 87.11 25.72
untuk ketiga variabel (CPU Usage, Memory Usage,
Java Kotlin
Execution Time) dibandingkan bahasa pemrograman
java.
Gambar 8. Hasil Pengukuran Memory Usage
5. KESIMPULAN
4.2.3 Kecepatan eksekusi program Berdasarkan pada penelitian yang telah dilakukan,
Pengukuran penggunaan memori pada perangkat didapatkan kesimpulan sebagai berikut:
android ini dibagi per fitur aplikasi. Aplikasi 1. Pengukuran dilakukan dengan membangun
dijalankan pada perangkat dan mengoperasikan fitur aplikasi pada masing-masing bahasa
aplikasi. pada 4 requirement aplikasi. Hasil pemrograman Java dan Kotlin. Kemudian
pengukuran penggunaan memori pada perangkat mengukur performa aplikasi dengan
ditunjukkan oleh Gambar 9. mengoperasikan setiap fitur yang ada pada
aplikasi. Dari operasi tersebut didapatkan hasil
penggunaan CPU, memori dan kecepatan
eksekusi aplikasi pada perangkat android.
323
2. Pengukuran yang telah dilakukan menunjukkan Available: https://id.techinasia.com/riset-tren-
bahwa bahasa Kotlin lebih sedikit dalam pengembangan-aplikasi-mobile. [Diakses 25
penggunaan CPU walaupun kedua bahasa 25 2018].
pemrograman tidak menunjukkan perbedaan
[2] S. Doug, High Performance Android Apps,
yang signifikan. Hasil menunjukkan penggunaan
Sebastopol: O'Reilly Media, Inc, 2010.
CPU kedua nya memiliki selisih 0.65 %.
3. Pengukuran penggunaan memori dari kedua [3] T. S. Fernandes, ´. Cota dan . ´. F. Moreira,
bahasa pemrograman menunjukkan hasil yang “Performance Evaluation of Android
sangat signifikan. Bahasa pemrograman Kotlin Applications: a Case Study,” Institute of
lebih kecil dalam penggunaan memori dengan Informatics, Porto Alegre.
perhitungan lebih dari 2 kali lipat penggunaan [4] A. Leiva, Kotlin for Android Developers,
memori pada bahasa Java. Lean Publishing, 2017.
4. Pengukuran kecepatan eksekusi juga [5] R. K. Panchal dan A. K. Patel, “A comparative
menunjukkan hasil yang signifikan. Terlihat study: Java Vs kotlin Programming in
bahwa bahasa pemrograman kotlin lebih cepat Android,” International Journal of Innovative
dalam mengeksekusi program dibandingkan Trends in Engineering & Research, vol. 2, no.
bahasa pemrograman Java. 9, 2017.
5. Berdasarkan hasil keseluruhan pengukuran dapat
[6] J. Friesen, Learn Java for Android
disimpulkan bahwa bahasa pemrograman Kotlin
Development, Appress Media, 2014.
memiliki performa yang lebih baik dibandingkan
bahasa pemrograman Java untuk aplikasi [7] Wikipedia, “Java (Programming Language),”
berbasis android. Wikipedia, [Online]. Available:
https://en.wikipedia.org/wiki/Java_(program
UCAPAN TERIMAKASIH ming_language). [Diakses 2 Juli 2018].
Penulis mengucapkan terimakasih kepada semua [8] ISO, “ISO/IEC 25010:2011,” 2011. [Online].
pihak yang telah membantu dalam penulisan artikel Available:
ini. Ucapan terimakasih disampaikan kepada orang https://www.iso.org/obp/ui/#iso:std:iso-
tua dan keluarga yang senantiasa memberikan doa iec:25010:ed-1:v1:en.
dan dukungan kepada penulis baik material maupun [9] Wikipedia, “Object-oriented programming,”
non material, kepada Bapak/Ibu dosen di Jurusan Wikipedia, [Online]. Available:
Teknik Komputer dan Informatika POLBAN yang https://en.wikipedia.org/wiki/Object-
memberikan masukan dan arahan yang sangat berarti oriented_programming. [Diakses 2 Juli 2018].
dalam penulisan karya ilmiah ini, juga rekan-rekan [10] Qualcomm Technology Inc, “Snapdragon
mahasiswa/i D-IV Teknik Informatika angkatan Profiller,” Qualcomm Developer Network,
2014 yang telah memberikan dukungan dalam [Online]. Available:
menyelesaikan penulisan karya ilmiah ini. Serta https://developer.qualcomm.com/software/sn
seluruh pihak yang telah memberikan doa dan apdragon-profiler. [Diakses 2 Juli 2018].
dukungan demi kelancaran dan kemudahan selama
mengerjakan penelitian dan penulisan karya ilmiah. [11] M. Arias dan R. Chakraborty, Functional
Kotlin, Birmingham: Packt Publishing Ltd,
DAFTAR PUSTAKA 2018.
[1] K. K. Wijaya, “Riset Tren Pengembangan
Aplikasi Mobile,” Techinasia, [Online].
324