Android
adalah sistem operasi untuk telepon seluler yang
berbasis Linux. Android menyediakan platform terbuka bagi para pengembang untuk
menciptakan aplikasi mereka sendiri dan digunakan oleh bermacam perangkat
mobile. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat
peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android,
dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan hardware,
software, dan telekomunikasi, termasuk Google, HTC,
Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
Gambar Android
Pada saat
perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan
mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di
bawah lisensi Apache.
Di dunia ini
terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat
dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua
adalah yang benar–benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD).
Fitur Android
Android
memiliki beberapa fitur yang menarik sebagai media untuk membuat sistem
ooperasi ini menjadi lebih maju disbanding lainnya. Di bawah ini adalah fitur
yang terdapat pada android :
- Application
Framewok yang memungkinkan penggunaan dan penghapusan komponen yang tersedia.
- Dalvik
Virtual Machine, yaitu mesin virtual yang dioptimalkan untuk perangkat mobile.
- Integrated
browser based, adalah sebuah browser terintegrasi dari android.
- Graphic
Library, yang mendukung grafik 2D dan 3D berdasarkan OpenGL Library.
- SQLite,
adalah fitur yang terdapat pada android yang digunakan untuk membuat database.
- Media
Supported, yang mendukung beberapa media seperti : audio, video, dan berbagai
format gambar( GIF, PNG, BMP, JPG).
- Hardware
Independent, mendukung GSM, Bluetooth, EDGE, 3G, Wifi, kamera, Global
Positioning System (GPS), kompas, dan accelerometer.
- Rich
Development Environment mencakup perangkat emulator, tools untuk debug, memory
dan performance profiling serta plugin untuk Eclipse IDE.
Perkembangan Aplikasi Android
Pada
mulanya terdapat berbagai macam sistem operasi pada perangkat selular,
diantaranya sistem operasi Symbian, Microsoft Windsos Mobile, Mobile Linux,
iPhone, dan sistem operasi lainnya. Namun diantara sistem operasi yang ada
belum mendukung standar dan penerbitan API yang dapat dimanfaatkan secara
keseluruhan dan dengan biaya yang murah. Kemudian Google ikut berkecimpung
didalamnya dengan platform Android, yang menjanjikan keterbukaan,
keterjangkauan, open source, dan framework berkualitas.
Pada
tahun 2005, Google mengakuisisi perusahaan Android Inc. untuk memulai
pengembangan platform Android. Dimana terlibat dalam pengembangan ini Andy
Rubin, Rich Miner, Nick Sears, dan Chris White. Pada pertengahan 2007
sekelompok pemimpin industry bersama-sama membentuk aliansi perangkat selular
terbuka, Open Handset Alliance (OHA). Bagian dari tujuan aliansi ini adalah
berinovasi dengan cepat dan menanggapi kebutuhan konsumen dengan lebih baik,
dengan produk awalnya adalah platform Android. Dimana Android dirancang untuk
melayani kebutuhan operator telekomunikasi, manufaktur handset, dan pengembang
aplikasi. OHA berkomitmen untuk membuat Android open source dengan
lisensi Apache versi 2.0.
Android pertama kali diluncurkan
pada 5 November 2007, dan smartphone pertama yang menggunakan sistem
operasi Android dikeluarkan oleh T-Mobile dengan sebutan G1 pada bulan
September 2008. Hingga saat ini Android telah merilis beberapa versi
Android untuk menyempurnakan versi sebelumnya. Selain berdasarkan
penomoran, pada setiap versi Android terdapat kode nama berdasarkan
nama-nama kue. Hingga saat ini sudah terdapat beberapa versi yang telah
diluncurkan, diantaranya:
Tabel
2.2 Versi Android
Versi
|
Penjelasan
|
Versi
1.1
|
Rilis
9 Maret 2009, dilengkapi pembaruan estetis pada aplikasi, jam alarm, voice
search, pengiriman pesan dengan Gmail, dan pemberitahuan email.
|
Versi
1.5
|
Rilis
pertengahan Mei 2009, dilengkapi kemampuan merekan dan menonton video dengan
modus kamera, mengunggah video ke YouTube dan gambar ke Picasa, dukungan
Bluetooth A2DP, animasi layar, serta keyboard pada layar dapat disesuaikan
dengan sistem.
|
Versi
1.6
|
Rilis
September 2009, dilengkapi proses pencarian lebih baik, baterai indicator dan
control applet VPN, galeri foto, Text-to-speech engine, kemampuan dial
kontak, teknologi text to change speech, VPN, gesture, CDMA/EVDO, 802.1x, dan
integrasi kamera, camcorder, dan galeri.
|
Versi
2.0/2.1
|
Rilis
3 Desember 2009, pengoptimalan hardware, peningkatan Google Maps 3.1.2,
perubahan User Interface dengan browser baru dan dukungan HTML5, dukungan
flash untuk kamera 3,2 MP, digital zoom, Bluetooth 2.1.
|
Versi
2.2
|
Rilis
20 Mei 2010, dilengkapi dukungan Adobe Flash 10.1, kecepatan kinerja,
integrasi V8 javascript engine I yang dipakai Google Chrome, pemasangan
aplikasi dalam SD card, kemampuan WiFi hotspot portable, dan auto update
dalam aplikasi Android Market.
|
Versi
2.3
|
Rilis
6 Desember 2010, dilengkapi peningkatan kemampuan gaming, fungsi copy-paste,
efek audio baru (reverbm equalization, headphone virtualization, dan bass
boost), kemampuan Near Field Communication (NFC), dan jumlah kamera lebih
dari satu.
|
Versi
3.0
|
Versi
ini dirancang untuk tablet, mendukung layar yang lebih besar dan User
Interface yang didesain untuk tablet, multi prosesor, dan akselarasi hardware
untuk grafis.
|
Versi
4.0
|
Diumumkan
pada 19 Oktober 2011, membawa fitur HoneyComb untuk smartphone dan menambahkan
fitur baru termasuk membuka kunci dengan pengenalan wajah, jaringan data
pemantauan penggunaan dan control, terpadu kontak jaringan social, perangkat
tambahan fotografi, mencari email secara offline, dan berbagi informasi
dengan NFC.
|
Arsitektur Android
Di dalam sistem operasi android
memilik 4 lapisan (layer) yang merupakan komponen dari suatu sistem android.
Seperti yang yang tampak pada gambar 2.3 di bawah ini, Berikut penjelasan
masing-masing komponenya yang penting untuk di ketahui :
Gambar
Arsitektur Sistem Operasi Android
Linux Kernel
Lapisan yang berada pada lapisan
paling bawah adalah kernel. Google membangun sistem operasi android menggunakan
kernel linux 2.6. kernel linux ini mencakup manajemen memori, pengaturan keamanan,
manajemen ketersediaan tenaga, dan beberapa driver hardware. Layer kernel
menjadi layer abstraksi yang menjadi penghubung antara hardware dan software.
Android bukan linux, android hanya berjalan di atas kernel linux 2.6. linux
merupakan sistem operasi terbuka yang ahli dalam hal manajemen memori dan
manajemen proses. android hanya menyediakan keamanan, manajemen memori,
manajemen proses, jaringan dan driver. Linux menyediakan driver layar, kamera,
keypad, wifi, flash memory, audio, dan IPC.
Android Run Time
Android runtime berisi core
libraries dan dalvik virtual machine. Core libraries berisi seluruh inti
library Java. Android menempatkan sebagian besar fungsi-fungsi yang ada pada
library dasar bahasa pemrograman java di dalam librarynya. Dalvik adalah java
virtual machine yang berguna untuk optimalisasi sistem android pada telepon
selular. dalvik dibuat agar device yang digunakan dapat menjalankan multi
virtual machine. Virtual machine ini akan mengeksekusi file dengan format
dalvik executable (.dex) yang telah dioptimasi untuk menggunakan minimal memory
footprint. virtual machine ini akan menjalankan class-class yang dicompile
menggunakan compiler java yang selanjutnya akan diubah formatnya menjadi format
.dex. Dalvik virtual machine menggunakan kernel linux untuk menjalankan
fungsi-fungsi seperti threading dan low-level memory management.
Libraries
Android
menyediakan satu set library-library dalam bahasa C/C++ yang dapat digunakan
oleh berbagai komponen yang ada pada sistem android. Library ini dapat diakses
oleh programmer melalui android application framework. Beberapa library-library
pada android diantaranya:
- System
C Library, Didapatkan
dari turunan implementasi library standar C (libc) milik BSD, dioptimasi untuk
device embedded berbasis linux.
- Media
Libraries, Library
ini mendukung playback dan recording dari berbagai format audio dan video
populer, seperti MP3, ACC, JPG, MPEG4, H.264, AMR, dan PNG.
- Surface
Manager, Mengatur
akses pada dispaly dan lapisan composites 2D dan 3D graphic dari berbagai
aplikasi.
- Libwebcore, Web browser engine yang mensupport android browser
maupun embeddable web view.
- SGL, Engine Grafik 2D yang dasar.
- 3D
libraries, Library ini menggunakan hardware akselerasi 3D dan highly
optimized 3D software rasterizer.
- Free
Type, Bitmap dan vector font rendering.
- SQLite, Engine database relasional yang ringan namun
powerful untuk semua aplikasi. Library ini bukan merupakan aplikasi yang dapat
berjalan sendiri. Library dapat digunakan oleh program yang ada di level atasnya.
namun sejak versi 1.5, programmer dan developer bisa menggunakan library
sendiri menggunakan Native Development Toolkit (NDK).
Applications Framework
Lapisan application framework
mencakup program untuk mengatur fungsi-fungsi dasar smartphone. Application
Framework merupakan serangkaian tool dasar seperti alokasi resource smartphone,
aplikasi telepon, pergantian antar – proses atau program, dan pelacakan lokasi
fisik telepon. Programmer mendapatkan akses penuh untuk memanfaatkan API-API (Android
Protocol Interface) yang juga digunakan core applications. Arsitektur aplikasi
didesain untuk menyederhanakan pemakaian kembali komponen-komponen, setiap
aplikasi dapat menunjukkan kemampuannya dan aplikasi lain dapat memakai
kemampuan tersebut. Mekanisme yang sama memungkinkan pengguna mengganti
komponen-komponen yang dikehendaki. Di dalam semua aplikasi terdapat servis dan
sistem yang meliputi :
- Satu set Views yang dapat digunakan
untuk membangun aplikasi meliputi lists, grids, text boxes, buttons, dan
embeddable web browser.
- Content Providers yang memungkinkan aplikasi
untuk mengakses data dari aplikasi lain (misalnya Contacts), atau untuk membagi data
yang dimilikinya.
- Resource Manager, menyediakan akses ke
non-code resources misalnya localized strings, graphics, dan layout files.
- Notification Manager yang memungkinkan
semua aplikasi untuk menampilkan custom alerts pada the status bar.
- Activity Manager yang memanage life
cycle of dari aplikasi dan menyediakan.
Applications
Berada di tingkatan paling atas. Di
lapisan ini dapat ditemukan fungsi-fungsi dasar smartphone seperti menelepon
dan mengirim pesan singkat, menjalankan web browser, mengakses daftar kontak,
dan lain-lain. layer ini merupakan layer yang paling sering diakses oleh
pengguna melalui user interface.
Kelebihan
Android
Sudah banyak platform untuk perangkat
selular saat ini, termasuk didalamnya Symbian, iPhone, Windows Mobile,
BlackBerry, Java Mobile Edition, Linux Mobile (LiM0), dan banyak lagi. Namun
ada beberapa hal yang menjadi kelebihan Android. Walaupun beberapa fitur-fitur
yang ada telah muncul sebelumnya pada platform lain, Android adalah yang
pertama menggabungkan hal seperti berikut:
1. Keterbukaan, Bebas pengembangan tanpa dikenakan
biaya terhadap sistem karena berbasiskan Linux dan open source. Pembuat
perangkat menyukai hal ini karena dapat membangun platform yang sesuai
yang diinginkan tanpa harus membayar royality. Sementara pengembang software
menyukai karena Android dapat digunakan diperangkat manapun dan tanpa terikat
oleh vendor manapun.
2. Arsitektur komponen dasar Android terinspirasi
dari teknologi internet Mashup. Bagian dalam sebuah aplikasi dapat
digunakan oleh aplikasi lainnya, bahkan dapat diganti dengan komponen lain yang
sesuai dengan aplikasi yang dikembangkan.
3. Banyak dukungan service, kemudahan
dalam menggunakan berbagai macam layanan pada aplikasi seperti penggunaan
layanan pencarian lokasi, database SQL, browser dan penggunaan
peta. Semua itu sudah tertanam pada Android sehingga memudahkan dalam
pengembangan aplikasi.
4. Siklus hidup aplikasi diatur secara otomatis,
setiap program terjaga antara satu sama lain oleh berbagai lapisan keamanan,
sehingga kerja sistem menjadi lebih stabil. Pengguna tak perlu kawatir dalam
menggunakan aplikasi pada perangkat yang memorinya terbatas.
5. Dukungan grafis dan suarat terbaik, dengan
adanya dukungan 2D grafis dan animasi yang diilhami oleh Flash menyatu
dalam 3D menggunakan OpenGL memungkinkan membuat aplikasi maupun game
yang berbeda.
6. Portabilitas aplikasi, aplikasi dapat
digunakan pada perangkat yang ada saat ini maupun yang akan datang. Semua
program ditulis dengan menggunakan bahasa pemrograman Java dan dieksekusi oleh
mesin virtual Dalvik, sehingga kode program portabel antara ARM, X86, dan
arsitektur lainnya. Sama halnya dengan dukungan masukan seperti penggunaan keyboard,
layar sentuh, trackball dan resolusi layar semua dapat disesuaikan
dengan program.
Android
SDK
Android SDK (Software
Development Kit) mencakup tools pengembangan yang komprehensif. Android SDK
terdiri dari debugger, libraries, handset emulator, dokumentasi, contoh kode
program dan tutorial. Persyaratan mencakup JDK, Apache Ant dasn Phyton 2.2 atau
lebih. IDE yang menggunakan plugin Android Development Tools (ADT), dengan ini
pengembangan dapat menggunakan IDE untuk mengedit dokumen Java dan XML, serta
menggunakan peralatan command line untuk menciptkan, membangun, melakukan debug
aplikasi Android dan pengendalian perangkat Android (misalnya reboot,
menginstal paket perangkat lunak).
Aplikasi
android di paketkan ke dalam format .apk dan disimpan di direktori data/app.
Pengguna dapat menjalankan perintah adb root untuk mengakses direktori tersebut
karena root memiliki izin untuk mengaksesnya.
Konfigurasi Android SDK
Pada tahap awal konfigurasi Android SDK yaitu menginstallnya
terlebih dahulu. Proses install Android SDK dimulai dengan mengunjungi alamat
developer Android( developer.android.com/sdk/index.html). pilih fill yang sesuai
dengan sistem operasi yang sedang dipakai (tersedia Windows).
Setelah
didownload, instalasi Android SDK dimulai. Sebelum install dimulai, pastikan
untuk menginstall Java Development Kit terlebih dahulu, hal ini sesuai dengan
spesifikasi yang dibutuhkan untuk menginstall Android. Proses Installasi
Android SDK cukup sederhana, yaitu dengan mensetting direktori tujuan Android
untuk diinstall.
Setelah
tahap install selesai, Android SDK telah siap digunakan. Namun untuk dapat
membuat emulator Android perlu untuk mengkonfigurasi emulator tersebut. Pada
saat masuk Android SDK, akan terlihat sebuah list Avaible packages di sebelah
kiri.
Ada
beberapa packages yang diperlukan untuk kembali didownload. Pertama yaitu
Android SDK Tools dan Android SDK Platform-tools. Kedua packages ini berfungsi
sebagai komponen dari Android. Komponen
ini mempunyai peranan dalam membaca aplikasi yang dijalankan pada Android itu
sendiri. SDK Platform Android memiliki banyak versi, namun versi yang sedang
saya gunakan pada beberapa ponsel kali ini adalah versi 2.3.
Setelah
3 komponen tersebut terinstall, maka masuk ke dalam tahap pembuatan Android
Virtual Device (AVD), pada akhirnya AVD inilah yang akan disebut dengan emulator pada
Android. Pilih Virtual Device pada Android SDK, pilih New.
Setelah itu konfigurasi nama dari
AVD, hanya sebagai sebutan dari emulator yang akan dipakai nanti. Untuk target
pilih Android 2.3 – API Level 10 ( sesuai dengan komponen yang telah di
download sebelumnya). Untuk kolom lainnya dapat dikosongkan untuk menerapkan
pengaturan default.
Untuk menjalankan AVD, pilih start
pada virtual devices Android SDK. Tunggu sejenak hingga proses pembukaan
emulator selesai.
Gambar Tampilan Emulator Android