Anda di halaman 1dari 7

PROSES PENGEMBANGAN APLIKASI 

ANDROID

Banyak dari kita yang dari developer backend ataupun frontend web


dan desktop beralih menjadi developer frontend mobile, sebagai pembahasan kali ini
adalah menjadi developer Android. Di sini saya mencoba menulis hal-hal yang patut
diperhatikan oleh developer “peralihan” tersebut, agar nantinya lebih matang lagi
mendalami dunia mobile application development. Dan juga bagi Kita yang hendak
mencari dan bekerjasama dengan developer mobile Android untuk produk Kita ataupun
studi kasus/penelitian Kita, agar memahami bagaimana proses pengembangan aplikasi
Android dari awal hingga menerbitkannya di PlayStore, bagian mana yang membuatnya
menjadi panjang prosesnya, dan tahap apa saja di dalam pengembangan aplikasi
mobile Android itu sendiri.
Pembahasan kali ini mencakup tahapan dari proses pengembangan Aplikasi
Android yang sedikit berbeda dengan platform lain seperti Web ataupun Desktop.
Berikut ini gambaran singkat mengenai proses pengembangan aplikasi Android dari
memulai menemukan ide, perancangan sampai dengan menerbitkannya di Google Play
Store.

Gambar 1.
Proses Manajemen Proyek Pengembangan Aplikasi Android
Dari gambar tersebut, saya coba jabarkan secara singkat satu per satu:
1. Dimulai dari mendefinisikan ide dan persyaratan aplikasi
Apabila Kita hendak mengembangkan sebuah aplikasi, yang patut kita lakukan
pertama kali adalah mendefinisikan ide Kita ke dalam sebuah tulisan, kemudian dari
ide tersebut berkembang menjadi sebuah masalah. Dari masalah tersebut, tugas Kita
selanjutnya adalah berusaha memecahkan permasalahan menjadi solusi. Di antara
tahap mencari solusi di dalam sebuah masalah, tentu ada uraian-uraian proses
pemecahan masalah, nah, dari situ kita dapat menentukan kebutuhan apa saja di
dalam aplikasi yang hendak dibuat. Untuk persyaratan (requirements) aplikasi, ada
banyak poin di dalamnya, requirement  aplikasi ini sangat penting sebagai dasar
untuk mendefinisikan dan mengelola scope  pekerjaan atau scope produk. Untuk
mendefinisikan requirements ini ada banyak teknik yang dapat dilakukan,
diantaranya:
 brainstorming ataupun mindmapping
berdiskusi dengan anggota grup tentang ide produk aplikasi yang hendak dibuat,
dan mengupayakan pencarian solusi dari permasalahan yang ada sehingga
menjadi ide yang matang dari berbagai anggota grup, di sini masing-masing
anggota mencoba mem-breakdown masalah agar nantinya masalah tersebut
dapat diselesaikan dengan pendekatan aplikasi.
 interview
mewawancarai orang yang ahli dalam bidangnya atau orang yang memiliki
informasi yang dapat memberikan masukkan terkait requirement aplikasi yang
hendak Kita buat sehingga Kita menjadi tahu detail permasalahan yang dihadapi
dari ahli tersebut, dan tentunya berupaya mencapai solusi dengan pendekatan
aplikasi,
 kuesioner
apabila Kita masih belum yakin apakah ide Kita akan laku di pasaran, langkah
yang bisa Kita ambil adalah membuat kuisoner dan menyebarkannya ke target
pengguna aplikasi, Kita dapat membuat sejumlah pertanyaan dan ditujukan
kepada responden dalam jumlah yang banyak dan bervariasi sehingga didapat
akumulasi informasi dengan cepat,
 observasi
teknik melihat dan mengamati secara langsung orang-orang dilingkungannya,
pekerjaannya dan proses-nya. Observasi dikenal juga dengan nama “job
shadowing”.
 prototype
Kita dapat membuat prototype aplikasi yang hanya berupa tampilan atau model
kerja dari Aplikasi yang hendak dikembangkan. Prototype ini dapat Kita
promosikan ke pengguna ataupun penanam modal, yang nantinya diharapkan Kita
mendapatkan feedback atau bekal requirement untuk aplikasi yang hendak dibuat.
2. Wireframing atau protoyping tampilan antarmuka (UI) aplikasi
Untuk dapat mengembangkan aplikasi, Kita harus mempunyai gambaran jelas
seperti apa nantinya tampilan antarmuka aplikasi Kita. Dan dari tahap wireframing
inilah Kita dapat mengetahui apakah penempatan fitur atau menu ini sudah sesuai
layoutnya atau belum, apakah desainnya sudah sesuai pattern OS Android atau
belum, apakah tampilannya sudah kelihatan nyaman dipkitang atau belum, dan
apakah desain yang diterapkan sudah sesuai User Experience atau belum. Ada
banyak tools prototyping yang akan membantu kita mendesign dengan cepat.
Diantaranya Adobe Photoshop (Win/Mac), Sketch (Mac), Gravit Design
(Win/Mac/Linux), Invision Studio (web), Zeplin.io (web), Figma.com (web),
dan app.studio.design (web). Ketika kita telah membuat wireframing tampilan
antarmuka aplikasinya, selanjutnya adalah membuat desain antarmukanya
menggunakan tools di atas, agar nantinya ketika Kita telah memasuki masa
pengembangan aplikasi, Kita tinggal memindahkan desain tersebut ke layout
Android. Layout Android dikembangkan dengan menggunakan bahasa pemrograman
XML, dan ditaruh di dalam folder resource (res) layout Android. Dan perlu diingat,
ponsel dan tablet Android itu memiliki beragam jenis layar dan ukuran, pentingnya
menyiapkan desain yang adaptive, yang mendukung beragam jenis layar tersebut
(heterokapabilitas). Pembahasan Adaptive Design pernah dibahas di artikel
berikut ini.
3. Pengembangan dan pengujian aplikasi
Pengembangan aplikasi Android secara native dapat menggunakan bahasa
Pemrograman Java ataupun Kotlin. Keduanya mempunyai ciri khas masing-masing.
Dan keduanya didukung penuh oleh Android SDK. Namun, apabila Kita tertarik
mengembangkan aplikasi Android secara hybrid, Kita dapat menggunakan berbagai
bahasa pemrograman yang sudah ada, misal dengan javascript nodejs/angularjs
(react-native, ionic), menggunakan html5 (phonegap), atau .NET
(xamarin/visualstudiocode). Baik native maupun hybrid memiliki keunggulan dan
kelemahan masing-masing. Untuk native sendiri karena sudah didukung penuh oleh
Google Android, tentunya semua fasilitas di dalam SDK sudah pasti paling cepat
mendapatkan layanan. Sedangkan hybrid, sangat mengkitalkan komunitas
developernya. Dan dalam tahap pengembangan aplikasi Android, seorang developer
tidak hanya fokus menulis code dalam bahasa pemrograman Java/Kotlin, namun Kita
juga harus mampu menulis code untuk resource antarmuka pengguna dalam bahasa
pemrograman XML dan juga mampu menguji aplikasi yang Kita buat.
Untuk pengujian Aplikasi, ada banyak tools yang dapat dipakai, salah
satunya TestFairy (web), Firebase Reporting (web), ataupun Fabric.io (web). Dan
yang terpenting adalah Kita dituntut untuk mampu membaca Log di Logcat Android
(DDMS/ Android Studio) ketika aplikasi berjalan, dan juga pentingnya
skill debugging dan bugs fixing code Android. Selain itu, pengaturan aplikasi
di manifests penting untuk diperhatikan, misalnya, permission apa saja yang Kita
cantumkan di  manifests yang nantinya diminta kepada pengguna. Sudah sesuaikan
permission yang Kita definisikan di manifests, jangan sampai Kita menambahkan
permission yang tidak dibutuhkan Aplikasi apalagi yang berbahaya bagi pengguna
aplikasi Kita. Dan juga bagaimana pengaturan tema masing-masing halaman aplikasi
Kita, semua diatur di manifests ini. Pengaturan lainnya seperti background service
dan broadcast (SMS ataupun push notification), penggunaan memory dan jenis
ukuran layar yang didukung oleh Aplikasi Kita. Semua itu diatur di manifests file ini.
Dan tidak lupa juga pengaturan build configuration di gradle, apakah Kita telah
menggunakan library versi terbaru atau yang stable (minim masalah bugs), dan
apakah target OSnya sudah sesuai dengan OS terbaru, dan sebagainya. Itu semua
harus dipersiapkan oleh Kita sebagai developer.
Berikut ini rincian bagaimana source code yang telah Kita kerjakan di-“build”
menjadi sebuah APK (installer) aplikasi Android.

Gambar 2.
Proses sourcecode yang digodok menjadi sebuah installer (APK)

Semua proses, dari sebuah sourcecode mentah, menjadi sebuah Android


Package Kit (APK) alias installer yang nanti digunakan oleh pengguna (user) Kita,
dimulai dari proses compiling source code tersebut. Compiler yang digunakan di
Android Studio adalah Dalvik. Compiler tersebut mengonversi source code yang Kita
kerjakan menjadi file DEX (Dalvik Executable) dan resources yang compiled, yang
menyertakan bytecode yang berjalan pada perangkat Android. Dan setelah DEX
tersebut dibuat, proses selanjutnya adalah mengubah DEX file dan lainnya tersebut
menjadi sebuah APK, dan ini ditkitai dengan kunci (Keystore) ntah
versi debug ataukah versi release. Dan semua proses itu, dari menentukan kunci
mana yang dipakai, menentukan library module dan plugins mana yang akan
dipakai, library versi berapa, OS target versi berapa dan sebagainya, semua itu
diatur
4. Penerbitan aplikasi ke PlayStore
Aplikasi yang telah dikembangkan dan sudah teruji dengan baik, selanjutnya
diterbitkan ke PlayStore. Untuk penerbitan ini Google memiliki syarat stkitar yang
harus dipenuhi. Selain membayar biaya sebesar 25 USD untuk seumur hidup, Kita
juga harus mempersiapkan APK yang telah memiliki status ditkitatangani
(signed) dengan kunci keamanan (KeyStore) versi release yang valid milik Kita.
Seperti yang Kita lihat di gambar sebelumnya (no.3), source code yang kita kerjakan,
akan di-compile dan ditkitai dengan Keystore. Nah, untuk lebih detailnya bagaimana
proses penandatanganan aplikasi oleh Keystore tersebut, perhatikan gambar berikut.

Gambar 3
Proses menkitatangani APK yang telah di-build di Android Studio

Saat menggunakan penandatanganan Aplikasi Google Play, jika Kita


kehilangan kunci unggahan, atau ada risiko keamanan, Kita bisa menghubungi
Google untuk mencabut kunci unggahan lama dan membuat kunci baru. Karena
kunci penandatanganan aplikasi dilindungi oleh Google, Kita bisa terus mengunggah
versi baru aplikasi sebagai pembaruan ke aplikasi asli, meskipun Kita mengubah
kunci unggahan. Namun, daripada Kita repot dengan proses pengembalian kunci
yang lama, sebaiknya Keystore yang sudah Kita buat dan pakai untuk
penandatanganan APK tersebut jangan sampai hilang (bisa dibackup di google
drive ataupun dropbox).
Selain syarat di atas, Kita juga harus mempersiapkan nama aplikasi, deskripsi
yang “menjual” agar orang lain tertarik untuk mencoba aplikasi
Kita, screenshots aplikasi, kata kunci, kategori produk, dan kontak yang dapat
dihubungi. Untuk pasca pengembangan ini, Kita dituntut dapat menjadi mitra
konsumen/pengguna aplikasi yang telah Kita buat. Mengapa? karena nantinya Kita
akan menerima review (baik berupa kritikan, saran, dan hal-hal lain terkait aplikasi
Kita) dan rating. Nantinya, review dan rating ini menjadi bahan evaluasi bagi Kita
apakah yang perlu diperbaiki dan ditingkatkan dari fitur atau layanan yang ada di
Aplikasi Kita. Ini tentunya penting bagi kita yang hendak mengukur apakah aplikasi
yang Kita terbitkan ini sukses di pasaran. Jika tidak, mulailah mengevaluasi dari
kritikan-kritikan di halaman review aplikasi Kita di Playstore, kemudian coba kontak
beberapa pengguna, bagaimana tingkat kepuasan pemakaian aplikasi yang Kita
buat. Dan paling penting, jaga kerahasiaan data dan privasi pengguna Kita, jangan
sampai disalahgunakan oleh siapapun. Untuk itulah mengapa di kebanyakan app
sekarang diminta mencantumkan menu dan halaman “terms of services” atau “terms
and conditions” dan “privacy policies“.

Anda mungkin juga menyukai