Setelah 3 tahun lebih menjadi programer android, ternyata banyak suka duka yang saya alami. Cerita ini bisa anda jadikan referensi apakah anda benar -benar mau menekuni pemrograman android atau tidak. Cerita ini lebih fokus ke parkara teknis, bukan perkara bisnis seperti gaji dan sejenisnya. Sekali lagi, saya fokus menjelaskan perkara teknis yang akan dihadapi oleh programer android itu sendiri. Saya akan mulai dari sukanya dulu baru akan saya jelaskan dukanya secara panjang lebar.

Sukanya menjadi programer android

1. Semua alat dan softwarenya gratis

Anda ingin menjadi programer android? berapa biaya yang dibutuhkan? 0 rupiah. Anda tinggal download JDK (java Development kit) dan ADT (Android Development tool) gratis. Install dan anda bisa mulai. Tidak ada crack software atau trial software. Bandingkan jika menjadi programer Delphi, VB atau XCode. Jika anda ingin menjadi programer dengan Teknologi Microsoft seperti VB atau C# atau ASP.net, anda memang bisa mendapatkan versi trialnya namun saat anda membangun aplikasi komersial, anda harus membeli lisensinya yang jika dirupiahkan sampai jutaan rupiah, sebagian software tadi bahkan harganya lebih mahal dari harga laptop.

2. Bisa mendevelop aplikasi android di OS apa saja

Ini yang saya suka, mau pakai Ubuntu, Windows, Mac OSX, ga ada masalah. Android bisa dipelajari disembarang platform yang mendukung java. Yang lebih menarik, proyek android (source codenya) bisa dibuka disembarang ADT (eclipse) walaupun beda Sistem operasi. Saya pernah mengajari siswa, dia memakai Mac OSX sedangkan saya pakai Windows 8. Ga masalah!

3. Dokumentasi lengkap dan tutorial sangat banyak

Dokumentasi Android tergolong lengkap, dari konsep, desain, API guide, Design guide sampai panduan video dari Google tersedia secara gratis, Mau streaming, mau download bebas. Ga bisa bahasa inggris? tenang saja, buku buku bertebaran dan laris manis di pasar, belum lagi blog blog dan ebook android yang berbahasa indonesia sangat banyak.

4. Forum dan Group banyak

Tutorial masih kurang juga, atau ada masalah error yang ga tau solusinya? buka stackoverflow.com maka anda akan mendapat solusinya (sebagian besar permasalahan coding ada solusinya disini). Ga bisa bahasa inggris? cek forum berbahasa indonesia di Facebook atau di android-indonesia.com. Kurang apa coba?

5. Pasar mobile paling besar

Menurut statistik, 7 dari 10 pengguna smartphone menggunakan android. Nah loh, ini pasar yang luar biasa . Walaupun mobile OS bukan hanya android, namun kenyataannya Androidlah yang menguasai pasar. Mahasiswa pun untuk pemrograman mobile juga menggunakan Android. Artinya pasar sangat luas. Pasar terbanyak juga bisa didapati dari sisi bisnis dan perusahaan.  Pemilik website juga tidak lupa membuatkan aplikasi android untuk websitenya. Sekali lagi pasarnya sangat luas. Sekarang misalkan anda belajar pemrograman Windows phone? Siapa yang jadi pasar? menurut survey,  Dari 100 pemakai smartphone, hanya ada 3 pengguna Windows phone. Mau jadi programer apple iOS? silahkan, tapi klo mengejar pasar indonesia susah mas, kecuali pasarnya luar negeri, ini belum termasuk harus beli Mac Book dan iPhone, modal awal jadi programer iOS 20 juta aja mungkin kurang.

 

Dukanya menjadi programer android

Selain banyak enaknya , android juga banyak dukanya. Ingin tahu?

1. Fragmentasi

Fragmentasi adalah permasalan utama di android. Karena android open source, setiap pabrikan handphone bisa membuat android dengan desain dan ukuran layar suka suka. Ada yang 3 inch, 4inch, 5 inch, dan seterusnya. Efeknya Kita harus membuat beberapa versi android (App for smartphone /app for tablet). Kadang walaupun sudah dibuat seperti itupun tampilannya kadang tidak sesuai.

Masalah lain yang timbul dari fragmentasi adalah tidak ada jaminan aplikasi akan berjalan lancar di setiap device. Mungkin saat anda memakai samsung, aplikasi yang anda buat lancar namun saat di insall di Experia langsung crash dan force close. Itu baru dua model, padahal Hp android rangenya sangat luas dari merek cina sampai merek amerika.

Masalah fragmentasi yang lain adalah versi android itu sendiri. Pemakai android ada yang menggunakan froyo, Gingerbread, ICS, Jellybean dan kitkat. Ini menambah repot programer android. berbeda sekali dengan pengguna iOS iPhone yang hanya satu ukuran layar, satu device dan satu perusahaan.

Jadi kalau diringkas, fragmentasi akan membuat biaya testing menjadi mahal dan lama. Ini belum termasuk biaya Bugfix dan crash karena tidak stabil.

2. Tool Development yang berubah ubah.

Google selaku pembuat SDK dari android boleh dibilang sangat tidak matang dari sisi tool development android. Dulu diawal sekali android muncul (sekitar tahun 2008) android tidak punya IDE , hanya SDK dan anda harus  mengedit dengan teks editor standar, lalu dengan perintah comand line anda menjalankan Emulator, membuat apk dan menginstall di emulator. Luar biasa susah. Buat program aja udah susah eh toolnya apa adanya.

Tahun berganti, Google sadar bahwa SDK saja tidak cukup, maka akhirnya mereka memutuskan menggunakan Eclipse agar lebih mudah. Caranya? cukup membuat plugin adt yang intinya menjembatani Eclipse dengan Android SDK. Kelebihannya, bagi yang terbiasa eclipse akan nyaman, Google juga tidak repot harus buat IDE sendiri. Namun cara ini tergolong ribet. Bahkan di tahun 2010-an, banyak sekali tutorial cara menginstall SDK, Eclipse dan ADT secara terpisah. Buku buku android yang beredar pun harus menyediakan satu bab khusus untuk instalasi saja.

Tahun berganti dan sekitar akhir 2012, Google langsung membundle Eclipse dengan SDKnya biar user pemula tidak repot. Cukup ekstrak dan klik eclipse.exe. Cara ini sudah cukup mudah. Namun di tahun 2013, Google mulai mengembangkan Tool terpadu dengan nama Android Studio, Tool ini mengatasi berbagai macam kekurangan eclipse. Sampai saat ini Android Studio masih dalam tahap pengembangan dan belum stabil. Pergantian tool ini makin parah karena project di eclipse tidak kompatible dengan Android studio.

Google mengatasi hal ini dengan membuat tool untuk mengeksport project eclipse menjadi project android studio. Masalah selesai? Tidak, google tidak menyediakan tool untuk mengkonversi project yang dibuat di android studio ke eclipse. Maka kadang, programer harus menginstall dua-duanya karena kadang sebuah tutorial dibuat dengan eclipse dan sebagian lagi dibuat dengan Android studio. Makin pusing kan?

 

3. Teknik koding yang terus berubah.

Sebelum ICS lahir, pemrograman android masih cukup sederhana. Untuk menampilkan map cukup gunakan mapview, untuk mengambil data dari internet langsung saja fungsi HTTPclient di fungsi utama aplikasi. Semuanya lancar dan terkendali. Lalu munculah negara api, maksudnya munculah ICS yang memporak porandakan seluruh code yang dibuat di android 2.3 . Android 4 mengenalkan Google play service dan Teknik Async auntuk mengambil layanan dari internet dan Google.Efeknya? ribuan tutorial dan buku tentang andoid webservice yang dibuat sebelum era Google play service tidak bisa dipakai lagi.

Contoh realnya adalah cara menampilkan Google map, dulu pakai MapActivity, sekarang map fragment disertai dengan GMS dan APikey. Bingung? sama, gue juga bingung. Kode kode koneksi jaringan di tutorial lama (biasanya sebelum 2011) tidak bisa dipakai lagi, jika dipakai akan crash karena tidak pakai Async?, gimana mantap kan? Bagi yang pemula, bisa-bisa kepala di jedotin tembok tiap hari karena stress.

4. Struktur Project android yang kompleks

Android mempunyai struktur project yang kompleks, dari folder library, aset,resource, dan berbagai jenisnya. Kompleksitas ini akan terasa saat anda melakukan kesalahan kecil saja. Misal ada kesalahan dikit di salah satu file XML. efeknya? seluruh kode java akan eror.Apa yang bisa anda lakukan? PANIK ya panik jawabannya. Pernah kebayang ga? Anda mahasiswa yang mau pendadaran liat seluruh kode eror seperti itu? atau bagi yang sudah jadi programer, mau presentasi ke client terus kode merah semua? Arrgh bisa gila mati berdiri kan?

 

5. Emulator yang super lambat

Emulator android dipakai untuk mengetes aplikasi android. Sayangnya emulator android benar benar boros memori dan prosesor. JIka anda memakai RAM 1 GB, bisa bisa waktu anda habis hanya nunggu loading emulator, Bagi yang pakai 2 GB seperti saya kadang nunggu laoding emulator sampai 5 menit. Nah teman saya ada yang pakai Memori 4 GB saja masih terasa loadingnya . Gimana,mantap kan? sebenarnya bisa saja langsung test dismartphone, namun biasanya ada kendala. Pertama anda tidak punya smartphone android, kedua smarphone android yang anda pakai sudah usang, misalkan android 2.3, padahal anda sedang mengetes fitur yang hanya ada di android kitkat. Gimana? makin mantap!

6. Random error

Kadang, proyek android yang kita kerjakan saat dibuka ga ada error, kita koding dan terus istirahat, eclipse ditutup. Sekarang kita buka lagi dan apa yang terjadi? bushet, kadang tanpa sebab ga ada angin ga ada hujan, Eror menyebar keseluruh proyek. Benar bener Muke gile pokoknya. Solusinya bagaimana biasanya clear project, tutup lagi, buka properties cek apakah ada yang tidak keload dan seterusnya.

 

7. File APK bisa dibongkar dengan mudah

Saya kasih sedikit bocoran disini. Tahukan anda, file APK android sebenarnya hanya file Zip yang di rename menjadi APK. efek sampingnya file desain, gambar,database icon dan komponen lain android yang diletakan di folder “Assets” bisa dibajak dan dipakai oleh programer lain dengan mudah. sebagai contoh saya amembuat aplikasi Juzamma, nah file juzzama (ayatnya) saya simpan dalam format gambar dan saya letakan di assets, maka siapa saja yang mendownload apk tadi dengan mudah bisa mendapatkan gambar file juzamma dengan cara mengekstrak apk tadi, lalu buka assetsnya lagi. Artinya mencuri desain dan resource sangat gampang di android.

Lalu ada yang bilang, ya udah letakan aja semuanya di drawable?  ga segampang itu, karena karena kadang mengakses file di assets jauh lebih mudah dibanding mengakses file di drawable. Lagian file di drawable cendrung file gambar, bagaimana kalau filenya adalah html( misal aplikasi phonegap /JQuery mobile), aplikasi databas sqlite dan sebagainya.

 

8. Banyak yang harus dipelajari

Dibanding belajar pemrograman lain, android termasuk yang paling susah . Contohnya anda menjadi programer VB, maka yang paling penting anda menguasai drag and rop desain, coding Vb dan database (biasanya sih SQLserver atau MS Acess). Belajar android itu artinya anda siap belajar dari Java, XML, JSON, google API, Google play service, Asynctask, Android API, renderscript, SQLite, Service, Intent, Broadcast receiver,Google map service dan API dari pihak ketiga. Pokoknya dijamin Kenyang jika harus belajar android. Ini semua kembali ke anda, Jika suka belajar saya yakin hal diatas bukan hambatan, namun bagi yang suka kopas dan asal run, saya yakin seyakin yakinnya akan mengalami kesulitan saat debuging.

 

 

By Candra Adi Putra

Candra Adi Putra S.Kom adalah Alumni STMIK AKAKOM Yogyakarta. hubungi saya di candraadiputra (at) gmail (dot) com

27 thoughts on “Suka Duka Programer Android”
  1. Waah saya yang pemula baru baca malah jadi sdikit khawatir jadinya. Ternyata banyak tantangan yang nanti dihadapi ya klo jadi programmer android

  2. Mantap artikelnya…Saya cukup familier di delphi. Setelah lihat2 android studio sedikit keder juga tuh. Mencoba untuk tidak pindah kelain hati dengan bangun android app pake delphi XExx. Cuma masih bertanya2 tentang ketersediaan referensi dan tutorial.

  3. lagi merasakan dukanya ni…
    apknya sukses build tanpa error tapi pas di running di device setelah splash screen malah foreclose…
    udah di utak-atik tetep aja…
    huffftttt….
    ada yang punya solusi?

  4. Banyak susahnya ya mas? Ni baru mau belajar, jd trus tambah penasaran, kodenya bikin bingung, lepinya pun tak mendukung :-( lemot ya klo 2gb. Makasih mas ulasannya.

  5. menguras emosi banget emang mas jadi programmer android, kadang pas ngerunningnya itu sampe 1 lagu abis baru bisa muncul, padahal ram leptop ane 4gb, ane pake android studio. apalagi kalo dikejar deadline.. ampuuunnnn deh. pengen banget rasanya nenggak kuah bakso dicampur karbol hehe

    bener tuh kadang juga pas lagi asik ngoding, progress selesai tanpa eror, aplikasi diclose. ditinggal kuliah sebentar, pas dibuka lagi line code eror semua gak tau kenapa-_-

    memang harus lebih banyak eksplorasi lagi sih untuk belajar pemograman andorid. overall lebih banyak dukanya daripada sukanya.. tapi yaa itu tantangannya hehe

    maaf curhat hehe

  6. terimaksih atas info nya gan..
    wah, sepertinya duka yang saya alami sekarang ada di masalah fragmentasi nya..
    smartphone saya pake jelly bean..
    program nya sering force close..
    kira2 ada solusi buat yang ini g gan?

    terimksih byak sblumnya gan,,
    :)

  7. mantap gan,, udah kerasa nih,, nyari tutorial kebanyakan pakai eclipse,, padahal sekarang belajar pake android studio

    1. tergantung suasana, jadi pas lagi dapat solusi hapy banget… apalagi pas lagi mood, ngetik kode itu spt pelajaran mengarang, tapi klo pas lagi kepentok… kepikiran terus berhari hari

  8. Pengen nambahin biar makin terasa menderita.
    Tapi gak tega gan :)

    Gak tega sama diri sendiri :(

    Eh ada lagi tuh yg baru,anget lagi => Materaial Design.
    Ada client minta bisa diterapkan themenya di device dibawah Lolly.
    Minta sama anim2nya juga, sama transparent header ,blablabla…. sama paralax itu, blablabla…
    Alasanya, buktinya gmail,youtube bisa :)

    Custom themenya kebayang dong gan :D

  9. wah ternyata coding dan compatibility java serta SDK di Android sering tidak sinkron, mempersulit untuk develop system yang besar. Kalau aplikasi kecil mungkin recode bisa cepat selesai, tetapi bila codingnya complex bisa kelenger programmernya. Lalu apakah apk yang dulunya jalan di Gingerbread apa juga tetap jalan di KitKat

Leave a Reply to Wildhan Satriady Cancel reply

Your email address will not be published. Required fields are marked *

Discover more from CandraLab

Subscribe now to keep reading and get access to the full archive.

Continue reading