Dasar pemrograman Android: Pengenalan Java, Android dan Eclipse
Definisi java menurut Sun Microsystem (perusahaan pemilik hak cipta java) adalah nama untuk sekumpulan teknologi yang membuat perangkat lunak dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan/internet (sumber www.sun.com). java berdiri di atas sebuah mesin intepreter yang diberi nama java Virtual Machine (JVM). JVM inilah yang akan membaca bytecode dalam file.class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu bahasa java disebut sebagai bahasa pemrograman yang portable, karena dapat dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM.
Pada tahun 2009 Oracle membeli Sun Microsystem yang berakibat secara tidak langsung java menjadi milik oracle secara penuh . java resmi diakuisi pada 27 Januari 2010 (sumber oracle press release)
Karakteristik java :
Sederhana
Sintaks java seperti sintaks pada C++ tetapi sintaks java tidak memerlukan header file, pointer arithmatic, struktur union, operator overloading, class virtuall base, dan yang lainnya. Jika mengenal C++ dengan baik, maka pengguna dapat berpindah ke sintaks java dengan mudah.
Berorientasi Objek (Object Oriented)
Berorientasi objek merupakan suatu teknik yang memusatkan rancangan pada data (objek) dan interface. Fasilitas pemrograman berorientasi objek pada java pada dasarnya adalah sama dengan C++. perbedaan utama antara java dengan C++ terletak pada penurunan berganda (multiple inheritance). java tidak mengenal multiple inheritance seperti pada C/C++. Multiple Inheritance membingungkan dan berakibat pada sulitnya pembuatan aplikasi. Sebagai gantinya java menggunakan interface.
Portabel
Java dapat digunakan pada segala macam arsitekstur komputer dan perangkat karena sifatnya yang portable. Dapat dieksekusi di beragam platform tanpa harus melakukan perubahan kode secara menyeluruh. Sebagai contoh, aplikasi java yang dapat berjalan di windows maka juga dapat berjalan dengan baik di sistem operasi linux dan mac. Dengan hanya membutuhkan java virtual machine yang serupa tanpa melakukan perubahan pada kode aplikasi tersebut.
Platform java terdiri dari sekumpulan library, compiler, debugger dan alat lain yang dipaket dalam java development kit (JDK). Agar sebuah program java dapat dijalankan, maka file dengan ekstensi .java harus dikompilasi menjadi file bytecode. Untuk menjalankan file bytecode tersebut dibutuhkan JRE (java runtime environment) yang memungkinkan pengguna untuk menjalankan program java. JRE terdiri dari JVM dan pustaka java yang digunakan.
Platform java memiliki tiga buah edisi yang berbeda :
J2EE (java 2 Enterprise Edition)
J2SE (java 2 Second Edition)
J2ME (java 2 Micro Edition)
Gambar Edisi java dan sasaran targetnya pada perangkat
Penjelasan gambar (Sumber: java.com) yaitu:
KVM (K Virtual Machine) adalah : sebuah subset dari java virtual machine yang dioptimalisasikan untuk perangkat bermemori kecil dan perangkat berukuran kecil atau lebih dikenal dengan perangkat CLDC (Connected Limited Device Configuration). KVM support penggunaan memori hingga 512KB
CVM (C Virtual Machine) adalah : sebuah subset dari virtual machine yang dioptimalisasikan untuk perangkat-perangkat berukuran kecil yang penggunaan memorinya diatas +2MB atau lebih dikenal dengan perangkat CDC (Connected Device Configuration).
JVM (Java Virtual Machine) adalah: Java virtual machine yang merupakan pusat dari CVM dan KVM dan meliputi J2ME, J2SE dan J2EE dengan penerapan pada banyak perangkat dan cakupan support memori yang luas
Android
Android merupakan OS mobile yang tumbuh di tengah OS Lainnya yang berkembang dewasa ini. OS lainnya seperti Windows Mobile, iPhone OS, Symbian, dan masih banyak lagi Juga menawarkan kekayaan isi dan keoptimalan berjalan di atas perangkat hardware yang ada. Akan tetapi, OS yang ada ini berjalan dengan memprioritaskan aplikasi inti yang dibangun sendiri tanpa melihat potensi yang cukup besar dari aplikasi pihak ketiga. Oleh karena itu, adanya keterbatasan dari aplikasi pihak ketiga untuk mendapatkan data asli ponsel, berkomunikasi antar proses serta keterbatasan distribusi aplikasi pihak ketiga untuk platform mereka. Android menawarkan sebuah lingkungan yang berbeda untuk pengembang. Setiap aplikasi memiliki tingkatan yang sama. Android tidak membedakan antara aplikasi inti dengan aplikasi pihak ketiga. API yang disediakan menawarkan akses ke hardware, maupun data-data ponsel sekalipun, atau sistem sendiri. Bahkan pengguna dapat menghapus aplikasi inti dan menggantikannya dengan aplikasi pihak ketiga.
Sejarah Android
Android merupakan sistem operasi yang dikembangkan untuk perangkat mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh Android Inc. yang kemudan dibeli oleh Google pada tahun 2005.Dalam usaha mengembangkan Android pada tahun 2007 dibentuklah Open Handset Alliance (OHA), sebuah konsorsium dari beberapa perusahaan, yaitu Texas Intruments,Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, dan T-Mobile dengan tujuan untuk mengembangkan standar terbuka untuk perangkat mobile. Pada tanggal 9 December 2008 diumumkan bahwa 14 anggota baru akan bergabung pada proyek Android,yaitu perusahaan PacketVideo, ARM Holdings, Atheros Communications, Asustek Komputer Inc, Germin Ltd, Softbang, Sony Ericsson, Toshiba Corp, dan Vodafone Group.
Gambar Arsitektur Android
Applications
Lapisan ini adalah lapisan aplikasi, serangkaian aplikasi akan Terdapat pada perangkat mobile. Aplikasi inti yang telah terdapat pada Android termasuk kalender, kontak, SMS, dan lain sebagainya Aplikasi-aplikasi ini ditulis dengan bahasa pemrograman java.
Application Framework
Pengembang aplikasi memiliki akses penuh ke android sama Dengan aplikasi inti yang telah tersedia. Pengembang dapat Dengan mudah mengakses informasi lokasi, mengatur alarm, Menambahkan pemberitahuan ke situs bar dan lain sebagainya. Arsitektur aplikasi ini dirancang untuk menyedarhanakan penggunaan kembali komponen, aplikasi apa pun dapat memublikasikan Kemampuan dan aplikasi lain dapat menggunakan Adalah seperangkat layanan dan sistem yaitu berbagai view yang Digunakan untuk membangun UI, content provider yang memungkinkan aplikasi berbagai data, resource manager menyediakan akses bukan kode seperti grafik, string, dan layout, notification manager yang akan membuat aplikasi dapat menampilkan tanda pada status bar dan activity manager yang berguna mengatur daur hidup dari aplikasi.
Libraries
Satu set libraries dalam bahasa C/C++ yang digunakan oleh berbagai komponen pada sistem Android.
Android Runtime
Satu set libraries inti yang menyediakan sebagai besar fungsi Yang tersedia di libraries inti dari bahasa pemrograman java. Setiap aplikasi akan berjalan sebagai proses sendiri pada DalvikVirtual Machine.
Linux Kernel
Android bergantung pada Linux versi 2.6 untuk layanan sistem inti seperti keamanan, manajemen memori, manajemen proses, Network stack,dan model driver. Kernel juga bertindak sebagai lapisan antara hardware dan seluruh software.
Android adalah sistem operasi yang menarik karena dalam setiap rilisnya selalu menggunakan nama-nama makanan cemilan serta versinya yang selalu alphabet.
Berikut adalah versi android yang dirilis:
Android versi 1.1
Pada 9 Maret 2009, Google merilis Android versi 1.1 Android Versi ini dilengkapi dengan pembaruan pada aplikasi, jam alarm, Voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email.
Android versi 1.5 (Cupcake)
Terdapat beberapa pembaruan termasuk juga penambahan Beberapa fitur dalam versi ini yakni kemampuan mereka dan Menonton video dengan modus kamera, dukungan Bluetooth A2DP, Kemampuan terhubung secara otomatis ke headset Bluetooth, animasi layar, dan keyboard pada layar yang dapat disesuaikan dengan sistem dirilis pada pertengahan mei 2009.
Gambar Tampilan antar muka Android 1.5
Android versi 1.6 (Donut)
Donut(versi 1.6) dirilis pada September 2009 dengan menampilkan proses pencarian yang lebih baik dibanding sebelumnya, Penggunaan baterai indicator dan control applet VPN Fitur Lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan akan dihapus; kamera, camcorder dan galeri Yang dintegrasikan; CDMA / EVDO, VPN, Gestures, dan Text-to-Speech engine; kemampuan dial kontak, dan pengadaan resolusi WVGA .
Gambar Tampilan antar muka Android 1.6
Android versi 2.0/2.1 (Éclair)
Android ini diluncurkan pada 3 December 2009. Dilakukan Perubahan, yaitu pengoptimalan hardware, perubahan UserInterface (UI) dengan browser baru dan dukungan HTML5, daftar Kontak yang baru, peningkatan Google Maps 3.1.2, dukungan Flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1.
Gambar Tampilan antar muka Android 2.1
Android versi 2.2 (Froyo)
Pada 20 Mei 2010 kembali diluncurkan ponsel android dengan versi 2.2 (Froyo) perubahan yang dilakukan melipati optimasi kecepatan, memori,dan kenerja sistem operasi secara Keseluruhan, dukungan untuk menginstalasi aplikasi pada memori eksternal, dukungan adobe flash 10.1 serta fungsi USB tethering Maupun Wifi hotspot. Android versi ini adalah yang paling banyak digunakan di ponsel di sepanjang tahun 2010 – akhir 2011, namun pada sepanjang 2012 android 2.3 menjadi versi yang paling banyak beredar.
Gambar Tampilan antar muka Android 2.2
Android versi 2.3 (Gingerbread)
1 December 2010 Google kembali meluncurkan versi terbaru yaitu Android versi 2.3, Pada versi ini terdapat peningkatan manajemen daya, kontrol melalui aplikasi, penggunaan multipel kamera,Peningkatan performa serta penambahan sensor seperti gyroscope.Versi ini adalah yang paling banyak digunakan di ponsel. Tercatat di tahun 2012 (sumber android.com) bahwa penggunaan versi 2.3 sudah mencapai 60 % lebih. Sebuah ponsel yang menjalankan android versi 2.3 umumnya memiliki spesifikasi ponsel yang cukup tinggi, dikarenakan karena versi ini membutuhkan resource yang berbeda dengan yang sebelumnya sehingga umumnya prosesor ponsel yang menjalankan OS ini memiliki clock diatas 600mhz.
Gambar Tampilan antar muka Android 2.3
Android versi 3.0/3.1 (Honeycomb)
Versi ini berbeda dengan versi-versi sebelumnya. Versi ini dirancang khusus untuk PC Tablet. Selain itu, pada versi ini memungkinkan penggunaan multiprosesor dan akselerasi perangkat keras untuk grafis.
Gambar Tampilan antar muka android 3
Android 4.0 (Ice Cream Sandwich)
Dikeluarkan dikuartal keempat tahun 2011. ICS adalah versi android yang memiliki fitur serba lengkap dibanding versi sebelumnya , seperti fitur unlock menggunakan sensor wajah, tampilan yang menawan dan indah dan fitur NFC
Gambar Tampilan antar muka Android 4.0
Android 4.1 (Jelly Bean)
Diungkap pada ajang Google I/O pada juni 2012 dengan perbaikan UI, tambahan fitur baru dan tentunya support device seperti USB, video game controller, dan lainnya. Dengan API baru serta penyempurnaan disisi NFC.
Gambar Tampilan antar muka Android 4.1-4.3 Jelly bean
Android 4.4 (Kit Kat)
Dirilis pada september 2013 android ini adalah penyempurnaan versi sebelumnya Jelly bean dengan beberapa fitur baru, support hardware baru dan kemampuan berjalan pada perangkat wearable seperti smartwatch, dan pada versi ini pula penggunaan Android Runtime sebagai pengganti Dalvik mulai diperkenalkan sehingga pada versi ini android semakin cepat nan gesit.
Gambar Tampilan antar muka Android 4.4 Kit Kat
Android 5.0 (Lollipop)
Dirilis pada November 2014 pada versi ini Android mengalami perombakan besar-besaran. Dengan tampilan UI yang disebut Material Design Android lollipop menawarkan perbedaan besar dibanding versi sebelumnya. Juga pada versi ini Android Runtime (ART) mengganti secara default penggunaan Dalvik Runtime.Pada android versi ini pula disematkan proyek volta dimana android semakin irit baterai dan bisa disetup untuk penghematan baterai. Beberapa tambahan bahasa baru juga disematkan dan Lockscreen yang semakin interaktif.
Gambar Tampilan antar muka Android 5.0 Lollipop
Pengembangan sistem operasi dan aplikasinya sendiri mengacu Pada empat prinsip, yaitu:
Opensource
Android dibangun untuk menjadi benar-benar opensource. Sebagai contoh sebuah aplikasi dapat mengambil dan mengakses fungsi-fungsi utama ponsel seperti membuat panggilan mengirim pesan teks, menggunakan kamera dan lain-lain. Hal ini memungkinkan para pengembang untuk membuat aplikasi yang lebih baik
Semua Aplikasi Dibuat Sama
Android tidak membedakan antara aplikasi inti ponsel dan aplikasi pihak ketiga. Kedua jenis aplikasi ini dapat dibangun dan memiliki akses yang sama ke ponsel. Pengguna dapat sepenuhnya mengatur telepon sesuai kepentingan mereka.
Mendobrak Batasan Aplikasi
Android membuang berbagai hambatan untuk mambangun aplikasi baru yang inovatif. Misalnya seorang pengembang dapat menggabungkan informasi dari web dengan data individu dari ponsel. Misalnya data kontak, kalender, atau lokasi geografis sehingga memberikan informasi yang lebih relevan. Dengan Android, pengembang juga dapat membangun aplikasi yang memungkinkan pengguna untuk melihat lokasi dan terkoneksi dengan temam-temannya.
Pengembangan Aplikasi yang Cepat dan Mudah
Android menyediakan akses ke berbagai library (pustaka) dan tools yang dapat digunakan untuk membangun aplikasi yang kaya.
Fitur dan Arsitektur Android
Fitur yang tersedia pada Android adalah:
Framework aplikasi : memungkinkan penggunaan dan pemindahan dari componen yang tersedia.
Dalvik virtuall machine: Virtual machine yang dioptimalkan untuk perangkat mobile.
Grafik : grafik 2D dan grafik 3D yang didasarkan pada library OpenGL.
SQLite : untuk penyimpanan data.
Mendukung media : audio, dan berbagai format gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
GSM, Bluetooth, EDGE, 3G, and Wifi (tegantung hardware)
Camera, Global Positioning sistem (GPS), compass, dan accelerometer( tergantung hardware )
Lingkungan pembangunan yang kaya, termasuk Emulator, peralatan debugging, dan plugin untuk eclipse IDE.
SDK Android
Dengan softwaredepelopment kits (SDK) yang lengkap, dilengkapi dengan emulator yang membantu untuk menguji coba aplikasi yang dibuat serta dokumentasi yang lengkap. Tidak ada biaya Lisensi untuk memperoleh SDK ini. Android merupakan pilihan tepat untuk pengembang. Untuk pengembang hal yang perlu diperhatikan bahwa tidak membutuhkan sertifikasi untuk menjadi pengembang Android. Android juga telah menyediakan took aplikasi yang bernama Android Market bagi para pengembang untuk menempatkan dan menjual aplikasi yang dibuatnya. Hal menarik lainnya yang menjadi pembeda Android dengan lainnya adalah:
Opensource
Merupakan platform terbuka (Open Source) bagi para pengembang (programmer) untuk membuat aplikasi.
Android bukan bahasa pemrograman
Android bukan bahasa pemrograman akan tetapi hanya menyediakan lingkungan hidup atau run time environment yang disebut DVM (Dalvik Virtual Machine) yang telah dioptimasi untuk device/alat dengan sistem memori yang kecil.
Pertukaran data dan komunikasi antar proses
Dengan adanya intent dan Content Provider akan Memudahkan pengembang untuk berbagai data maupun Berkomunikasi antar proses.Semua aplikasi sama Tidak ada perbedaan antara aplikasi yang dikembangkan oleh pihak ketiga dengan aplikasi inti bawaan Android. Aplikasi services yang berjalan di background Android memungkinkan sebuah aplikasi berjalan di background dan berjalan diam-diam dengan aplikasi lainnya.
Dukungan Google Maps
Android telah menyediakan Google API yang bisa digunakan dengan Mudah untuk menampilkan, mengatur peta lokasi
Dukungan Google Apps
Android pada sistem operasinya mendapat dukungan penuh dari google salah satunya adanya dukungan aplikasi google atau sering disebut google apps. Contohnya Google Docs (pengolah data), Googles (pencari barang), Talkback (aplikasi aksesbilitas), Google Translate (aplikasi penerjemah), Google Pinyin (aplikasi mandarin) dan yang lainnya.
Eclipse, IDE Standar
Dalam membuat aplikasi android, eclipse adalah IDE standar yang digunakan untuk merancang atau membuat aplikasi android. Walaupun pada praktiknya dalam membuat aplikasi android dapat juga menggunakan IDE seperti Netbeans ataupun yang lain namun eclipse sudah menjadi standar serta paling banyak digunakan dalam mengembangkan aplikasi android. Selain opensource, serta mendapat dukungan dari google sebagai penyedia sdk android, fitur dan plugin yang berlimpah pada eclipse menjadikan IDE ini menjadi mudah digunakan serta superior.
Tabel 2.2 Versi Eclipse
Sumber : www.eclipse.org
Arsitektur Eclipse
Secara standar eclipse selalu dilengkapi dengan JDT (java development tools), plug-in yang membuat eclipse kompatibel untuk mengembangkan program java, dan PDE (plugin development environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman java. Konsep eclipse IDE adalah :
terbuka (open),
mudah diperluas (extensible) untuk apa saja, dan
Mudah digunakan (easy to use)
Dalam struktur eclipse khususnya dalam struktur project aplikasi android memiliki keterangan struktur:
Folder src merupakan folder letak file sumber java (source) sebagai contoh file hello. java.
Folder gen merupakan folder letak file generate java (R.java).
Folder Android 2.x merupakan folder letak semua file libraries untuk Android 2.x. karena kita menetapkan target development untuk device dengan sistem operasi Android 2.3.3 (GingerBread), jadi yang tampil folder-nya nanti adalah Android 2.3.3
Folder assets merupakan folder letak semua asset raw (raw files). File-file yang dalam folder ini contohnya file XML,file-file SQLite.
Folder res (resources) merupakan folder letak file-file string, audio, dan gambar.
Folder drawable-hdpi merupakan folder untuk menyimpan file gambar yang terkompilasi yang ditujukan untuk layar beresolusi tinggi (contoh file XML dan bitmap).
Folder drawable-ldpi merupakan folder untuk menyimpan file gambar yang terkompilasi yang ditujukan untuk layar beresolusi rendah.
Folder drawable-mdpi merupakan folder untuk menyimpan file gambar yang terkompilasi yang ditujukan untuk layar beresolusi sedang.
Folder layout merupakan folder berisi file-file XML yang mendefinisikan tampilan antar muka/userinterface aplikasi kita.
Gambar 2.11 Struktur folder android di eclipse IDE
Folder values merupakan folder berisi file XML yang berisi nilai-nilai API sederhana, seperti colors, integers, strings.
Styles.xml file XML yang merepresentasikan styles (seperti CSS pada HTML).
Arrays.xml file XML yang digunakan untuk mendeklarasikan sebuah array.
Colors.xml file XML yang digunakan untuk mendeklarasikan nilai color, dapat diakses melalui class R.colors.
String.xml file XML yang digunakan untuk menyimpan nilai string, dapat diakses melalui class R.strings.
dimens.xml file XML yang digunakan untuk mendefinisikan nilai dimens/dimensi. Sebagai contoh, nilai 10px sama dengan 10 pixels, dapat di akses melalui class R.dimens.
File Android Manifest.xml merupakan file XML yang berisi segala informasi penting yang dibutuhkan oleh aplikasi kita untuk bekerja. File manifest ini juga berisi nama dari paket java aplikasi kita, komponen aplikasi seperti activities atau background service, informasi minimum platform yang dapat menjalankan aplikasi kita (kita yang menentukan sendiri), deklarasi izin (permission ) dari aplikasi kita.
File default.properties merupakan file yang berisi project setting seperti target platform jangan sampai hilang setting yang ada pada file ini.
Sebagai acuan nilai API android atau kerap disebut juga API Level , untuk minimum platform nya adalah sebagai berikut,:
Android 1.0 SDK, nilai API 1.
Android 1.1 SDK Nilai API 2.
Android 1.5 SDK Nilai API 3.
Android 1.6 SDK Nilai API 4.
Android 2.0 SDK Nilai API 5.
Android 2.0.1 SDK Nilai API 6.
Android 2.1 SDK Nilai API 7.
Android 2.2 SDK Nilai API 8.
Android 2.3.1 SDK Nilai API 9.
Android 2.3.3 SDK Nilai API 10.
Android 3.0 SDK Nilai API 11.
Android 3.1 SDK Nilai API 12.
Android 3.2 SDK Nilai API 13.
Android 4.0 SDK Nilai API 14.
Android 4.0.3 SDK Nilai API 15.
Android 4.1 Jelly Bean (API level 16)
Android 4.2 Jelly Bean (API level 17)
Android 4.3 Jelly Bean (API level 18)
Android 4.4 KitKat (API level 19)
Android 5.0 Lollipop (API level 21)
Sumber:
http://www.tutorialkomputer.info/artikel-697-dasar-pemrograman-android-pengenalan-java-android-dan-eclipse.html#ixzz3nrR92wNb