Perangkat mobile
memiliki perbedaan dengan perangkat PC atau laptop diantaranya pada daya
baterai, processor, memori, serta
koneksi jaringan sehingga teknik pengujian performansinya pun berbeda. Daya
baterai pada mobile platform cenderung lebih kecil dibanding
pada laptop, sehingga konsumsi baterai harus diperhatikan dalam pengembangan
aplikasi mobile. Demikian dengan prosessor dan memori juga cenderung
lebih kecil kemampuanya, serta kendala koneksi jaringan yang sering muncul seperti
rendahnya bandwidth dan paket data
yang sering hilang (Jamo Solutions, 2013) .
Secara tradisional performace
sering dikaitkan dengan kecepatan, seperti kecepatan load, kecepatan operasi basis data atau jaringan, dan banyaknya
transaksi per menit. Di dunia mobile,
performance tidak hanya tentang
kecepatan. Sekarang ini perangkat mobile
cenderung seperti asisten pribadi yang diharapkan selalu ada setiap waktu dan
setiap dibutuhkan. Namun, kadang masalah timbul dari perangkat mobile seperti baterai yang tidak tahan
lama, memori leak, dan paket data
yang habis sebelum waktu yang ditargetkan. Masalah-masalah tersebut dapat
ditimbulkan dari aplikasi yang terinstal pada perangkat tersebut. Sehingga
hal-hal tersebutlah yang dapat dijadikan parameter dalam mengukur performance suatu aplikasi mobile selain aspek kecepatan (Rangarajan, 2013) .
Senada dengan Jamo Solutions dan Rangarajan, Newman Yang
juga mengungkapkan bahwa mengevaluasi dan menguji kinerja suatu aplikasi mobile tidak sama dengan mengevaluasi
dan menguji kinerja aplikasi web karena ada beberapa variabel seperti struktur
aplikasi (browser vs native), jaringan yang digunakan (2G, 3G, 4G, WiFi), dan
struktur payload. Setiap aplikasi
memiliki kebutuhan yang berbeda-beda antara aplikasi satu dengan aplikasi
lainnya. Misalnya kebutuhan CPU, memori, dan koneksi data. Dalam melakukan
kinerjanya aplikasi harus mampu berbagi dengan aplikasi lain dalam hal
penggunaan CPU, daya baterai, memori, dan koneksi data, sehingga dapat
menghasilkan performansi aplikasi yang memenuhi kepuasan penggunanya (Yang,
n.d.).
Hal terpenting dalam performansi aplikasi mobile adalah perilaku aplikasi saat
berjalan di background. Aplikasi
seharusnya tidur dengan baik saat berada di background
dan tidak melakukan konsumsi power baterai, CPU, dan data seperti saat berjalan
di foreground. Memori leak adalah salah satu isu yang dapat
menurunkan nilai performansi suatu aplikasi. Memori leak terjadi akibat besarnya memori dalvik yang terus meningkat
hingga mencapai batas memori dalvik. Jika memori dalvik menyentuh batasnya,
maka sistem Android akan menghentikan aplikasi (force close) akibat kekurangan memori atau out of memory (Aditya PK, 2013).
Terjadinya memori leak
memicu proses garbage collection (GC)
Jika sebuah aplikasi menghasilkan banyak garbage
collection (GC), maka akan menimbulkan pause
time pada aplikasi yaitu menghentikan aplikasi sejenak untuk membebaskan
memori. Tipe GC ada yang sifatnya mahal atau disebut allocation GC yang membutuhkan kinerja CPU yang besar. Tipe GC yang
tidak mahal disebut concurrent GC
yang tidak menuntut CPU untuk bekerja terlalu keras karena dilakukan secara
periodik. Performansi aplikasi dapat meningkat jika allocation GC dapat diturunkan atau dijadikan 0. Besar rata-rata
penggunaan CPU yang menjadi standar software
Little Eye untuk menentukan performansi aplikasi adalah 15% dari total
penggunaan pada device (Rangarajan,
2013).
Penggunaan kode program sangat berpengaruh terhadap
performansi aplikasi. Kode program yang baik dapat menciptakan kelancaran
jalannya aplikasi, memperkecil kinerja CPU, efisiensi penggunaan memori, serta cepatnya
load data dari jaringan. Jaringan
yang digunakan oleh perangkat mobile
memiliki kecepatan yang bervariasi seperti WiFi, 3G, dan 2G. Sebaiknya aplikasi
yang dikembangkan dapat memberikan performansi yang baik saat menggunakan
jaringan yang memiliki kemampuan load
data paling rendah. Karena kecepatan load
data dapat mempengaruhi kepuasan pengguna (Jamo Solution, 2013).
Berdasarkan uraian di atas aspek yang menjadi indikator performance suatu aplikasi mobile yang baik adalah: 1) Saat
aplikasi berada di background aplikasi
tidak mengkonsumsi power, CPU, dan data seperti saat berada di foreground; 2) Penggunaan CPU tidak lebih
dari 15% dari penggunaan total CPU pada device;
3) Tidak terjadi memori leak; dan 4)
Aplikasi memiliki kecepatan load data
yang masih dapat diterima oleh pengguna.
Sign up here with your email
ConversionConversion EmoticonEmoticon