Follow Me

Aspek Performance


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.

Previous
Next Post »