PENGERTIAN ANDROID
Android adalah sebuah kumpulan perangkat lunak untuk perangkat mobile yang
mencakup sistem operasi, middleware dan aplikasi utama mobile.
Android memiliki empat karakteristik sebagai berikut:
1. Terbuka
Android dibangun untuk benar-benar terbuka sehingga sebuah
aplikasi dapat memanggil salah satu fungsi inti ponsel seperti membuat
panggilan, mengirim pesan teks, menggunakan kamera, dan lain-lain. Android
menggunakan sebuah mesin virtual yang dirancang khusus untuk
mengoptimalkan sumber daya memori dan perangkat keras yang terdapat di
dalam perangkat. Android merupakan open source, dapat secara bebas
diperluas untuk memasukkan teknologi baru yang lebih maju pada saat
teknologi tersebut muncul. Platform ini akan terus berkembang untuk
membangun aplikasi mobile yang inovatif.
2. Semua aplikasi dibuat sama
Android tidak memberikan perbedaan terhadap aplikasi utama dari
telepon dan aplikasi pihak ketiga (third-party application). Semua aplikasi
dapat dibangun untuk memiliki akses yang sama terhadap kemampuan sebuah
telepon dalam menyediakan layanan dan aplikasi yang luas terhadap para
pengguna.
3. Memecahkan hambatan pada aplikasi
Android memecah hambatan untuk membangun aplikasi yang baru
dan inovatif. Misalnya, pengembang dapat menggabungkan informasi yang
diperoleh dari web dengan data pada ponsel seseorang seperti kontak
pengguna, kalender, atau lokasi geografis.
4. Pengembangan aplikasi yang cepat dan mudah
Android menyediakan akses yang sangat luas kepada pengguna untuk
menggunakan library yang diperlukan dan tools yang dapat digunakan untuk
membangun aplikasi yang semakin baik. Android memiliki sekumpulan tools
yang dapat digunakan sehingga membantu para pengembang dalam
meningkatkan produktivitas pada saat membangun aplikasi yang
dibuat.
Google Inc. sepenuhnya membangun Android dan menjadikannya
bersifat terbuka (open source) sehingga para pengembang dapat
menggunakan Android tanpa mengeluarkan biaya untuk lisensi dari Google
dan dapat membangun Android tanpa adanya batasan-batasan. Android
Software Development Kit (SDK) menyediakan alat dan Application
Programming Interface (API) yang diperlukan untuk mulai mengembangkan
aplikasi pada platform Android menggunakan bahasa pemrograman Java.
SEJARAH SISTEM OPERASI ANDROID
Telepon seluler menggunakan berbagai macam sistem operasi seperti Symbian OS®,
Microsoft’s Windows Mobile®, Mobile Linux®, iPhone OS® (berdasarkan Mac OS
X), Moblin® (dari Intel), dan berbagai macam sistem operasi lainnya. API yang
tersedia untuk mengembangkan aplikasi mobile terbatas dan oleh karena itulah
Google mulai mengembangkan dirinya. Platform Android menjanjikan keterbukaan,
kemudahan untuk menjangkau, source code yang terbuka, dan pengembangan
framework yang high end.
Google membeli perusahaan Android Inc., yang merupakan sebuah
perusahaan kecil berbasis pengembangan perangkat lunak untuk ponsel, pada tahun
2005 untuk memulai pengembangan pada platform Android. Tokoh utama pada
Android Inc. meliputi Andy Rubin, Rich Miner, Nick Sears, dan Chris White.
Pada tanggal 5 November 2007, kelompok pemimpin industri bersama-sama
membentuk Open Handset Alliance (OHA) yang diciptakan untuk mengembangkan
standar terbuka bagi perangkat mobile. OHA terdiri dari 34 anggota besar dan
beberapa anggota yang terkemuka diantaranya sebagai berikut: Sprint Nextel®, TMobile
®, Motorola®, Samsung®, Sony Ericsson®, Toshiba®, Vodafone®, Google,
Intel® dan Texas Instruments.
Android SDK dirilis pertama kali pada 12 November 2007 dan para
pengembang memiliki kesempatan untuk memberikan umpan balik dari
pengembangan SDK tersebut. Pada bulan September 2008, T-Mobile
memperkenalkan ketersediaan T-Mobile G1 yang merupakan smart phone pertama
berbasiskan platform Android. Beberapa hari kemudian, Google merilis Android
SDK 1.0. Google membuat source code dari platform Android menjadi tersedia di
bawah lisensi Apache’s open source.
Google merilis perangkat genggam (disebut Android Dev Phone 1) yang
dapat menjalankan aplikasi Android tanpa terikat oleh berbagai jaringan provider
telepon seluler pada akhir 2008. Tujuan dari perangkat ini adalah memungkinkan
pengembang untuk melakukan percobaan dengan perangkat sebenarnya yang dapat
menjalankan Android OS tanpa berbagai kontrak. Google juga merilis versi 1.1 dari
sistem operasi Android pada waktu yang tidak lama. Versi 1.1 dari Android tidak
mendukung adanya soft keyboards dan membutuhkan perangkat yang memiliki
keyboard secara fisik. Android menyelesaikan masalah ini dengan merilis versi 1.5
pada bulan April 2009 dengan sejumlah tambahan fitur seperti kemampuan
perekaman media,widgets, dan live folders.
Versi 1.6 dari Android OS dirilis pada bulan September 2009 dan hanya
dalam waktu satu bulan versi Android 2.0 dirilis dan membanjiri seluruh perangkat
Android. Versi ini memiliki kemampuan advanced search, text to speech, gestures,
dan multi touch. Android 2.0 memperkenalkan kemampuan untuk menggunakan
HTML karena didukung oleh HTML 5. Semakin banyak aplikasi berbasiskan
Android setiap harinya yang terdapat pada application store secara online atau
dikenal sebagai Android Market.
FITUR SISTEM OPERASI ANDROID
1. Kerangka kerja aplikasi (application framework)
Digunakan untuk menulis aplikasi di Android sehingga memungkinkan
penggunaan kembali dan penggantian komponen. Kerangka kerja ini
didukung oleh berbagai open source libraries seperti openssl, sqlite,dan libc
serta didukung oleh libraries utama Android. Kerangka kerja sistem operasi
Android didasarkan pada UNIX file system permission yang menjamin bahwa
aplikasi-aplikasi tersebut hanya memiliki kemampuan yang diberikan oleh
pemilik ponsel pada waktu penginstalan.
2. Dalvik Virtual Machine (DVM)
Dalvik Virtual Machine (DVM) adalah sebuah mesin virtual yang
menggunakan memori yang sangat rendah dan secara khusus dirancang untuk
Android untuk dijalankan pada embedded system. DVM bekerja dengan baik
pada situasi dengan tenaga yang rendah dan mengoptimalkan perangkat
mobile. DVM juga mengatur atribut dari Central Processing Unit (CPU)
serta membuat sebuah format file yang spesial (.DEX) yang dibuat selama
build time post processing. DVM mengambil file yang dihasilkan oleh class
Java dan menggabungkannya ke dalam satu atau lebih Dalvik Executable
(.dex). DVM dapat menggunakan kembali salinan informasi dari beberapa
class file dan secara efektif mengurangi kebutuhan penyimpanan oleh
setengah dari Java Archive (.jar) file tradisional. Konversi antara kelas Java
dan format (.dex) dilakukan dengan memasukkan “dx tool”.
DVM menggunakan assembly-code yang berbeda dimana DVM
menggunakan register sebagai unit utama dari penyimpanan data daripada
menggunakan stack. Hasil akhir dari executable-code pada Android,
merupakan hasil dari DVM yang didasarkan bukan pada Java byte-code
melainkan pada file (.dex). Hal ini berarti bahwa Java byte-code tidak
dieksekusi secara langsung melainkan dimulai dari Java classfile terlebih
dahulu dan kemudian mengkonversikannya ke dalam file (.dex) yang
berhubungan.
a. Browser yang terintegrasi
b. Grafik yang teroptimasi
c. SQLite
d. Dukungan media untuk suara, video dan format
e. GSM Telephony (bergantung dari perangkat keras yang digunakan)
f. Bluetooth, Enhanced Data rates for GSM Evolution (EDGE), 3rd
Generation (3G), dan WiFi™ (bergantung dari perangkat keras yang
digunakan)
g. Kamera, Global Postioning System (GPS), kompas
dan accelerometer (bergantung dari perangkat keras yang digunakan).
h. Lingkungan pengembangan yang lengkap, seperti
emulator, peralatan untuk debugging, memori dan performance.
profiling, serta plug-in untuk Eclipse IDE.
ARSITEKTUR SISTEM OPERASI ANDROID
1. Aplikasi
Android berisi sekumpulan aplikasi utama seperti : email client, program
Short Message Service (SMS), kalender, peta, browser, daftar kontak, dan
lain-lain. Semua aplikasi ditulis dengan menggunakan bahasa pemgrograman
Java.
2. Kerangka kerja aplikasi
Kerangka kerja aplikasi yang ditulis dengan menggunakan bahasa
pemrograman Java merupakan peralatan yang digunakan oleh semua aplikasi,
baik aplikasi bawaan dari ponsel seperti daftar kontak, dan kotak SMS,
maupun aplikasi yang ditulis oleh Google ataupun pengembang Android.
Android menawarkan para pengembang kemampuan untuk membangun
aplikasi yang inovatif. Pengembang bebas untuk mengambil keuntungan dari
perangkat keras, akses lokasi informasi, menjalankan background services,
mengatur alarm, menambahkan peringatan ke status bar, dan masih banyak
lagi. Pengembang memiliki akses yang penuh ke dalam kerangka kerja API
yang sama yang digunakan oleh aplikasi utama. Pada dasarnya, kerangka
kerja aplikasi memiliki beberapa komponen sebagai berikut:
➧ Activity Manager
Mengatur siklus dari aplikasi dan menyediakan navigasi backstack
untuk aplikasi yang berjalan pada proses yang berbeda.
➧ Package Manager
Untuk melacak aplikasi yang di-instal pada perangkat.
➧ Windows ManagerMerupakan abstraksi dari bahasa pemrograman Java pada bagian atas
dari level services (pada level yang lebih rendah) yang disediakan oleh
Surface Manager.
➧ Telephony Manager
Berisi sekumpulan API yang diperlukan untuk memanggil aplikasi.
➧ Content Providers
Digunakan untuk memungkinkan aplikasi mengakses data dari aplikasi
lain (seperti contacts) atau untuk membagikan data mereka sendiri.
➧ Resource Manager
Digunakan untuk menagkses sumber daya yang bersifat bukan code
seperti string lokal, bitmap, deskripsi dari layout file dan bagian
eksternal lain dari aplikasi.
➧ View System
Digunakan untuk mengambil sekumpulan button, list, grid, dan text
box yang digunakan di dalam antarmuka pengguna.
➧ Notification Manager
Digunakan untuk mengatur tampilan peringatan dan fungsi-fungsi lain.
3. Libraries
Android memiliki sekumpulan library C/C++ yang digunakan oleh berbagai
komponen dalam sistem Android. Kemampuan-kemampuan ini dilihat oleh
para pengembang melalui kerangka kerja aplikasi.
Beberapa dari library utama dijelaskan sebagai berikut:
➧ System C Library
Merupakan implementasi turunan dari standar system library C (libc)
yang diatur untuk peralatan berbasis embedded Linux.
➧ Media Libraries
Disediakan oleh PacketVideo (salah satu anggota dari OHA) yang
memberikan library untuk memutar ulang dan menyimpan format suara
dan video, serta static image file seperti MPEG4, MP3, AAC, AMR, JPG,
and PNG.
➧ Surface Manager
Mengatur akses ke dalam subsistem tampilan dan susunan grafis layer 2D
dan 3D secara mulus dari beberapa aplikasi dan menyusun permukaan
gambar yang berbeda pada layar ponsel.
➧ LibWebCore
Merupakan web browser modern yang menjadi kekuatan bagi browser
Android dan sebuah embeddable web view.
➧ Scalable Graphics Library (SGL)SGL mendasari mesin grafis 2D dan bekerja bersama-sama dengan
lapisan pada level yang lebih tinggi dari kerangka kerja (seperti
Windows Manager dan Surface Manager) untuk
mengimplementasikan keseluruhan graphics pipeline dari Android.
➧ 3DLibraries
Implementasi yang didasarkan pada OpenGL ES 1.0 APIs dimana
library menggunakan baik akselerasi perangkat keras 3D (jika
tersedia) ataupun yang disertakan, dengan rasterisasi perangkat lunak
3D yang sangat optimal.
➧ FreeType Library
Digunakan untuk menghaluskan semua tulisan bitmap dan vektor.
➧ SQLite
Merupakan relational database yang kuat dan ringan serta tersedia
untuk semua aplikasi.
4. Android Runtime
Merupakan lokasi dimana komponen utama dari DVM ditempatkan. DVM
dirancang secara khusus untuk Android pada saat dijalankan pada lingkungan
yang terbatas, dimana baterai yang terbatas, CPU, memori, dan penyimpanan data
menjadi fokus utama. Android memiliki sebuah tool yang terintegrasi yaitu “dx”
yang mengkonversi generated byte code dari (.JAR) ke dalam file (.DEX)
sehingga byte code menjadi lebih efisien untuk dijalankan pada prosesor yang
kecil. Hal ini memungkinkan untuk memiliki beberapa jenis dari DVM berjalan
pada suatu peralatan tunggal pada waktu yang sama. Core libraries ditulis dalam
bahasa Java dan berisi kumpulan class, I/O dan peralatan lain.
5. Linux Kernel
Arsitektur Android berdasarkan pada Linux 2.6 kernel yang dapat digunakan
untuk mengatur keamanan, manajemen memori, manajemen proses, network
stack, dan driver model. Kernel juga bertindak sebagai lapisan abstrak antara
perangkat keras dan seluruh software stack. Diagram di bawah ini menunjukkan
komponen utama dari sistem operasi Android:
EmoticonEmoticon