Sabtu, September 09, 2017

Dasar pemrograman Android

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