Blog Tentang Informasi Tutorial Desain Web Dan Info Terkini

MOBILE PROGRAMING


INTRODUCTION TO ANDROID
Tujuan Instruksional:
1. Memahami apa itu Android.
2. Mengetahui fitur dan versi Android
3. Memahami Arsitektur Android
4. Memahami model security Android

Apa Itu Android?
Android Developer’s Guide mendefinisikan Android sebagai software stack – kumpulan
software subsistem yang diperlukan untuk menghasilkan solusi fungsional yang lengkap – untuk
perangkat mobile. Stack ini meliputi sistem operasi (versi modifikasi kernel linux), middleware
(software yang menghubungkan low-level operating system dan high-level application) yang
berbasis Java, dan aplikasi-aplikasi kunci (yang ditulis dalam Java) seperti web browser
(Browser) dan contact manager (Contacts).

Fitur Android
Android menawarkan beberapa fitur berikut:
• Storage – menggunakan SQLite, relational database kecil, untuk data storage.
• Connectivity – mendukung GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth (yang
meliputi A2DP dan AVRCP), WiFi, LTE, dan WiMAX.
• Messaging – mendukung SMS dan MMS.
• Web browser – berbasis WebKit, dan Chrome’s V8 JavaScript engine
• Media support – meliputi dukungan untuk media: H.263, H.264 (dalam 3GP atau MP4),
MPEG-4 SP, AMR, AMR-WB (dalam 3GP), AAC, HE-AAC (dalam MP4 atau 3GP), MP3,
MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, dan BMP
• Hardware support – Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor,
dan GPS
• Multi-touch – mendukung multi-touch screens
• Multi-tasking – mendukung multi-tasking applications
• Flash support – Android 2.3 mendukung Flash 10.1.
• Tethering – sharing koneksi Internet dengan kabel/wireless hotspot
Versi Android
Beberapa versi Android sejak mulai pertama dirilis:



ANDROID VERSION RELEASE DATE CODENAME
1.1 9 February 2009
1.5 30 April 2009 Cupcake
1.6 15 September 2009 Donut
2.0 / 2.1 26 October 2009 Éclair
2.2 20 May 2010 Froyo
2.3 6 December 2010 Gingerbread
3.0 22 February 2011 Honeycomd

Berbeda dengan versi-versi sebelumnya, Android versi 3.0 Honeycomb secara ekslusif berfokus
pada tablet, seperti pada Motorolla Zoom yang pertama kali dirilis 24 Februari 2011. Disamping
meningkatkan user interface dan kemampuan multi-tasking, versi 3.0 mendukung multi-core
processor, akselerasi hardware, dan menyediakan 3D-desktop dengan widget-widget yang telah
di disain ulang.

Arsitektur Android
Bagian paling atas software stack Android memuat aplikasi-aplikasi kunci, middleware (yang
tersusun atas framework aplikasi, libray-library, dan Android runtime) berada di bagian tengah,
sedangkan kernel Linux dengan beberapa low-level driver berada pada bagian paling bawah.
Gambar berikut menunjukkan Arsitektur Android yang digambarkan dalam bentuk lapisanlapisan:




Android dilengkapi dengan berbagai aplikasi inti, yang meliputi Browser, Contact, dan Phone,
dan lain-lain. Semua aplikasi ditulis dalam bahasa pemrograman Java. Aplikasi inti membentuk
lapisan paling atas dari arsitektur Android.

Dibawah lapisan aplikasi adalah framework aplikasi (application framework), yang merupakan
komponen penting untuk pembuatan aplikasi. Framework aplikasi terdiri atas komponenkomponen
berikut:
• Activity Manager: komponen ini menyediakan siklus hidup aplikasi dan menjaga stack
activity yang di-shared untuk navigasi di dalam dan antar aplikasi.
• Content Provider: komponen ini meng-encapsulasi data yang dapat di-shared antar
aplikasi.
• Location Manager: komponen ini memungkinkan perangkat (Android device) untuk
mengetahui lokasi fisik dimana perangkat berada.
• Notification Manager: komponen ini memungkinkan suatu aplikasi memberitahukan
user mengenai event penting (seperti kedatangan message) tanpa mengganggu apa yang
sedang dikerjakan user.
• Package Manager: komponen ini memungkinkan suatu aplikasi mengenali paket-paket
aplikasi lain yang terinstal dalam device (perangkat).
• Resource Manager: komponen ini memungkinkan aplikasi mengakses resource-nya.
• Telephony Manager: komponen ini memungkinkan aplikasi mengenali service
telephony dari suatu perangkat. Komponen ini juga menangani pengiriman dan
penerimaan panggilan telepon (phone call).
• View System: komponen ini mengelola elemen user interface dan pembangkitan eventevent
yang berbasiskan user interface.
• Window Manager: komponen ini mengorganisasikan bagian screen ke dalam window,
dan menyediakan latar untuk gambar.
Komponen-komponen dalam framework aplikasi bertumpu pada kumpulan library C/C++ untuk
melakukan tugas-tugasnya. Pengembang aplikasi berinteraksi dengan library melalui framework
API:
• FreeType: library ini mendukung rendering bitmap dan vector font.
• libc: library ini merupakan BSD yang diderivasi dari pengimplementasian sistem library
C standar, yang disesuaikan untuk embedded-device yang berbasiskan Linux.
• LibWebCore: library ini menawarkan web browser engine yang cepat dan modern, yang
memberikan kekuatan (power) pada Android browser. Library ini berbasiskan Webkit
dan digunakan dengan browser Google Chrome dan Safari Apple.
• Framework Media: Library ini, didasarkan pada Packet video OpenCORE, mendukung
playback dan recording untuk berbagai format audio dan video, dan file-file image statis.
Mendukung format MPEG4, H.264, MP3, AAC, AMR, JPEG, dan PNG.
• OpenGL|ES: library grafik 3D yang menyediakan implementasi OpenGL berbasis API
OpenGL|ES 1.0. Library ini menggunakan hardware akselerasi 3D yang mencakup
software 3D rasterizer.
• SGL: library ini menyediakan mesin grafik dua dimensi (2D graphics engine).
• SQLite: library ini menyediakan engine database relasional untuk semua aplikasi, dan
juga digunakan Mozilla Firefox dan Aplle’s iPhone sebagai persistent storage.
• SSL: library ini menyediakan pelindung berupa secure socket layer-based (SSL-based)
untuk jaringan komunikasi.

Surface Manager: library ini mengelola akses ke subsistem display, dan
menggabungkan layer-layer grafik 2D dan 3D dari banyak aplikasi.
Android menyediakan runtime environment yang terdiri atas Core libraries (library inti yang
merupakan subset library Java) dan Dalvik Virtual Machine (DVM), yaitu mesin virtual non-
Java yang berbasiskan register prosesor.
Teknologi DVM memungkinkan aplikasi Android secara default dapat dijalankan pada Linux
melalui mesin virtual ini. DVM didisain sedemikian rupa sehingga perangkat dapat menjalankan
banyak mesin virtual secara efisien. Efisiensi ini diwujudkan Dalvik dengan megeksekusi Dalvik
Eexecutable File (DEX). DEX adalah suatu format yang telah dioptimalkan untuk jejak memori
minimal.
Catatan:
Android memulai suatu proses pada saat satu bagian dari aplikasi harus dieksekusi, dan menghentikannya
ketika proses tidak diperlukan lagi dan resource sistem dibutuhkan oleh aplikasi lain.
Mungkin Anda akan bertanya bagaimana sebuah mesin virtual non-Java dapat menjalankan kode
Java. Jawabannya adalah bahwa mesin virtual Dalvik sebenarnya tidak menjalankan kode Java,
melainkan merubah file kelas Java (.class) ke dalam format DEX (.dex), dan menghasilkan kode
yang dapat dieksekusi oleh Dalvik.
Akhirnya, library-library (Libraries) dan Android run time bertumpu pada kernel Linux (versi
2.6) terutama untuk core service seperti threading, manajemen memori low-level, stack jaringan,
manajemen proses, dan model driver. Dengan kata lain, kernel bertindak sebagai sebuah lapisan
abstrak antara hardware dan bagian dari software stack.
Model Security Android
Arsitektur Android meliputi model keamanan untuk mencegah applikasi melakukan operasioperasi
yang berbahaya bagi aplikasi lain, Linux, atau user. Model keamanan ini didasarkan pada
pelaksanaan level proses melalui fitur–fitur Linux standar (seperti user ID dan group ID), dan
meletakkan proses-proses tersebut ke dalam security sandbox.
Secara default security sandbox akan mencegah aplikasi dari pembacaan atau penulisan data
user (seperti contact atau email), pembacaan atau penulisan file aplikasi lain, melakukan akses
jaringan, memelihara perangkat tetap terjaga (awake), pengaksesan kamera, dan lain-lain.
Aplikasi-aplikasi yang memerlukan akses jaringan atau melakukan operasi-operasi sensitif lain
terlebih dahulu harus memperoleh izin (disebut permission).
Android menangani permintaan permission dalam beberapa cara, khususnya secara otomatis
mengizinkan atau tidak mengizinkan permintaan berdasarkan certificate, atau meminta user
untuk membatalkan permission. Permission yang diperlukan oleh aplikasi dideklarasikan dalam
file manifest aplikasi.

Referensi:
1. Dave Smith – Jeff Friesen, 2011, Android Recipes: A Problem-Solution Approach, Apress
Publishing.
2. Wei-Meng Lee, 2011, Beginning Android Application Development, Willey Publishing.
Tag : MATA KULIAH
0 Komentar untuk "MOBILE PROGRAMING"

INFO NEWS UPDATE

loading...
Back To Top