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:
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.
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
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 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
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
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
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
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
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
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
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)
Tidak ada komentar:
Posting Komentar