Langkah yang harus dilakukan agar menjadi programmer Android

Dewasa ini Saya lihat dibeberapa forum-forum pemrograman lokal (Indonesia), baik itu di facebook, google + ataupun forum di website tertentu banyak yang bertanya tentang bagaimana cara mudah menjadi seorang programmer android.

Ada banyak tanggapan dari pertanyaan tersebut, ada yang bilang “pelajari dari dasarnya dulu“, ada yang bilang “banyaklah latihan” dan ada juga yang mengatakan “Kursus sajalah, beres!“.

Pada hakikatnya, saran-saran tersebut semuanya benar, tinggal bagaimana mengimplementasikannya pada diri kalian masing-masing. Yang mau saya katakan adalah tidak ada cara mudah menjadi programmer android (atau programmer bahasa programan lainnya), semua perlu kemauan dan latihan yang tekun.

Apa hubungannya kemauan dan latihan dalam mempelajari pemrograman? Ada! untuk bagian ini akan saya jelaskan nanti di ujung artikel ini, jadi sabar :D.

Melalui artikel ini saya akan memberikan beberapa gambaran yang mungkin bisa dijadikan referensi bagaimana langkah belajar programming android dengan benar.

1. Familiar dengan bahasa pemrograman Java

Java adalah bahasa utama dalam pemrograman Android (ya meskipun ada banyak sih, ada Xamarin, Kotlin, dan lainnya, cuma nativenya pake Java). Oleh karena itu, paling tidak kalian sudah pernah menulis program dengan Java (IDE Netbeans) agar mempermudah menulis program di Android.

Apa yang harus dipelajari di Java agar memudahkan kita membuat program di Android?

Ada beberapa hal yang harus di pahami sebelum langsung belajar android, yaitu :

A. Encapsulation (Enkapsulasi) 

Apa itu Enkapsulasi? Enkapsulasi adalah pembungkus, artinya menjaga suatu proses yang terjadi dalam satu kelas agar tidak dapat di akses atau di intervensi oleh kelas lainnya dalam project tersebut dengan se enaknya.

Penjelasan lain dari Enkapsulasi adalah si pemberi akses terhadap kelas tertentu. Ada beberapa hak akses yang digunakan dalam pemrograman Java, antara lain :

  1. Public
  2. Private, dan
  3. Protected

B. Polymorphism 

Polymorphism adalah banyak bentuk, artinya ada banyak method dengan nama yang sama tapi menggunakan parameter konstruktor yang berbeda. Pada bagian ini kalian akan mengenal istilah :

  1. Override
  2. Overload

Silakan baca artikel saya tentang Mengenal Istilah Encapsulation dan Polymorphism pada OOP Java, disana sudah ada contoh kodingannya, jadi kalian akan lebih mudah memahami apa yang dimaksud Encapsulation dan Polymorphism.

C. Inheritance

Inherintance adalah pewarisan sifat dari  parent class ke child class. Misalnya saya memiliki Class A dan Class B. Class B meng extends Class A. Jadi apapun yang dimiliki oleh Class A (parent class)  juga akan di miliki oleh si class B (child class), asalkan enkapsulasinya tidak private.

Silakan baca postingan saya tentang detail pengertian Inheritance serta contoh programnya, disana saya menjelaskan intisari tentang apa itu Inheritance.

D. Interface dan Abstract

Fungsi ini akan sering kalian gunakan di programming android, terutama interface. Contoh yang simple adalah saat kalian membuat proses onclick di adapter.

Bisa saja sih kita membuat onclick menggunakan view yang ada di adapter, tapi kode program tidak akan bagus kelihatannya. Interface dibuat ya untuk hal-hal seperti ini, jadi kenapa tidak di manfaatkan?

Untuk mempelajari abstract dan interface silakan baca postingan saya tentang pengertian interface dan cara penggunaannya dalam Java serta Perbedaan interface dan abstract secara sederhana.

Meskipun cara menggunakannya masih bingung, setidaknya kalian paham konsep dari interface dan abstract pada sebuah pemrograman.

2. Latihan membuat program android sederhana

Jika sudah familiar dengan kode-kode java, silakan kalian buat program-program sederhana menggunakan android studio. Ini dimaksudkan agar kalian kalian paham apa-apa saja yang harus di setting sebelum memulai program android.

Akan ada banyak hambatan saat pertama kali kalian memulai membuat project android dengan menggunakan Android Studio. Dari pengalaman saya, hambatan yang saya alami :

  1. Error zero exit value 1, 2 atau 3
  2. Java heap space
  3. Error.java.lang.OutOfMemoryError
  4. Error:Execution failed for task ‘:app:packageInstantRunResourcesDebug’. Java heap space
  5. Gradle error (build yang tidak sempurna)
  6. Device tidak terdeteksi
  7. Project tidak terlihat saat pertama kali import (project di ambil dari project orang lain)
  8. dll

Lalu bagaimana cara solving dari malasah error tersebut?

Kalau ditanya seperti itu, saya juga bingung bagaimana cara solving dari masalah-masalah diatas. Saya biasanya searching sendiri, mencoba segala solusi yang saya temui di internet. Ketika saja errornya apa maka akan keluar suggestion solusinya (biasanya sih paling banyak dari stackoverflow).

Ada spesifikasi khusus gak untuk memulai belajar android menggunakan android studio?

Spesifikasi laptop yang seperti apa yang paling recommended untuk memulai membuat program android?

Dari pengalaman saya, saya pernah menggunakan spesifikasi berikut :

  • OS : Windows 7/8/10 32 bit
  • Prosesor : Core i5
  • RAM 4GB
  • ROM 500GB

Error yang ditemui :

  • Build gradle jadi lama (bahkan lama banget) sehingga membuat keinginan belajar/ngulik android jadi berkurang bahkan sampai gak jadi haha
  • Sering not responding, ketika baru ketik beberapa kode, layar tiba2 freeze dan muncul warna semi transparent .
  • Saat meng-clone project orang lain, sering menemui error heap space, masalah memory, exit value 0, dan lainnya.
  • dan lainnya
  • tidak bisa kerja multitasking. Misalnya saat buka android studio dibarengi buka browser dengan 10 tab ditambah dengan buka windows exproler dan juga buka postman, bisa dipastikan kalian akan emosi karena sering not responding haha
  • Sering mengedit gradle.properties untuk menyesuaikan penggunaan memori, tapi kadang-kadang tidak memberikan efek apapun.
  • dan lainnya

Kelebihannya :

  • Bagus untuk melatih kesabaran

Pengalaman kedua menggunakan spesifikasi berikut :

  • OS : Ubuntu 14/15/16 32 bit
  • Prosesor : Core i5
  • RAM : 4GB
  • ROM : 500GB

Error yang pernah ditemui :

  • Terkadang masih mengedit gradle.properties untuk menyesuaikan penggunaan memori, kadang berhasil kadang tidak (tapi seringan berhasil)
  • Instalasi program program yang dibutuhkan terasa susah karna harus menggunakan terminal, kadang – kadang gagal mengakibatkan ubuntu crash
  • dan lainnya

Kelebihannya :

  • Jarang terjadi lagging saat mengetik program
  • Bisa membukan banyak program (browser dengan banyak tab, postman, dan lainnya)
  • Ya pokoknya lebih nyaman ngoding dari pada di windows (dengan spesifikasi yang sama)

Pengalaman ketiga menggunakan spesifikasi berikut :

Karena merasa kesulitan instalasi software dan kebutuhan lainnya, waktu itu mau belajar javascript dan harus menginstall nodejs serta npm, proses instalasinya ribet dan terjadi error yang susah saya temui solusinya haha, akhirnya saya memutuskan untuk menggunakan windows dan mengupgrade RAM menjadi 8GB.

Nah, spesifikasi seperti berikut inilah yang paling recommended digunakan saat ingin membuat program android menggunakan OS Windows.

  • OS : Windows 10 64bit
  • Prosesor : Core i5
  • RAM : 8GB
  • ROM : 500GB

Error yang paling sering ditemui :

  • Jarang ada error yang ditemui
  • Masalah error exit zero value 0, OutOfMemoryError, Heap space jarang ditemui (ya sampai saat ini belum pernah menemui error tsb)

Kelebihannya :

  • Build gradle menjadi lebih cepat
  • Running program jadi lancar (cepat)
  • Nyaman, bisa multi tasking
  • Tidak pernah not responding saat buka browser dengan banyak tab
  • dan lainnya

Agar lebih nyaman dalam belajar programming android, silakan upgrade RAM minimal menjadi 8GB dan gunakan OS Windows 64bit.

3. Pelajari lifecycle android

Untuk yang dasar, kalian harus pelajari lifeclycle android. Ada beberapa method Lifecycle pada android yang akan sering kalian gunakan dalam membuat program android :

  • onCreate()
  • onResume()
  • onPause()
  • onStop()
  • onDestroy()
  • onRestart()

Foto : Lifecycler Android

Lifecycle ini akan kerasa penggunaannya ketika kalian sudah membuat big project dengan materi dan feature yang komplex. Silakan buka dokumentasi android untuk mempelajari lebih lanjut tentang lifecycle.

4. Pelajari view-view yang ada pada Android

View yang dimaksud adalah EditText, Recyclerview, Textview, Spinner, Checkbox, ScrollView, LinearLayout, RelativeLayout, TableLayout, SlidingTab dan lainnya

Coba buat program yang menggunakan view-view diatas, tujuannya adalah agar kalian paham apa fungsi dari view tersebut dan tau bagaimana cara menggunakannya

Usahkan ketika kalia membuat layout, kalian menulisnya dengan manual menggunakan kode XML nya, jangan menggunakan menu drop drag nya. Tujuannya agar kalian tau cara menulis layout dengan menggunakan XML. Percayalah nanti ketika kalian sudah handle project besar, kalian akan paham apa keuntungan dari memahami kode XML.

5. Pelajari Networking

Networking yang dimaksud disini bukan seperti pelajaran jaringan yaitu tentang IP, subnetmask, dan kawan-kawannya. Networking disini maksudnya adalah proses transfer data dari server ke client (android) menggunakan API (Application programming interface).

Output dari API biasanya berbentuk JSON (JavaScript Object Notation). Pernah dengan JSON sebelumnya? Jika belum bentuk dari JSON itu adalah seperti ini :

Yang ada dalam format tersebut adalah data yang dikirim dari server untuk dikonsumsi oleh client nya. Lalu bagaimana proses mengambil data tersebut agar bisa ditampilkan di android?

Nah untuk itulah kalian harus pelajari proses networking pada android. Referensi dari saya, kalian coba pelajari beberapa library yang mempermudah untuk mengambil/kirim data dari/ke server, antar lain :

  1. Retrofit
  2. Volley

Saya sudah pernah membuat postingan proses kirim/ambil data menggunakan retrofit dan volley, coba baca menampilkan data menggunakan Retrofit dan menampilkan data menggunakan Volley. Silakan pelajari semuanya, kalau saya sedang menggunakan Retrofit.

Mungkin itu beberapa hal yang perlu dipelajari agar bisa menjadi programmer android. Seiring berjalan waktu kalian akan mempelajari hal-hal baru yang kalian temui dalam proses pembelajarannya. Semoga sukses!



Baca juga :


About The Author

Related Posts

Add Comment

Berlangganan Artikel

Untuk mendaftarkan tutorial pemrograman terbaru dari putuguna[dot]com, silakan tuliskan email kalian dibawah ini