bab1 pengenalan android
DESCRIPTION
tip dan trik belajar android untuk pemulaTRANSCRIPT
Tujuan
1. Mengetahui Sejarah Android dan Perkembangannya
2. Mengetahui Keunggulan-keunggulan Android
3. Mengetahui Fitur-fitur dari Android
4. Mengetahui dan Memahami Arsitektur Android
5. Mengetahui dan Memahami Terminology Android
Materi Pembelajaran
1. 1. Sejarah Android
Pada Juli 2005, Google mengakuisisi Android Inc. sebuah perusahaan baru
berkembang yang bergerak di bidang aplikasi ponsel. Perusahaan ini berbasis di Palo Alto
California Amerika Serikat. Pendiri Android Inc. salah satunya adalah Andy Rubin yang saat
ini menjadi direktur Google Mobile Platform. Rumorpun berkembang saat Google
mengakuisisi Android Inc. Google berencana untuk masuk ke pasar ponsel meski belum
diketahui akan seperti apa andil Google di dunia ponsel.
Di Google tim yang dipimpin oleh Andy Rubin mengembangkan platform perangkat
bergerak dengan dasar kernel Linux yang dipasarkan kepada produsen handset dan layanan
telekomunikasi. Saat itu beredar kabar bahwa Google telah memiliki jajaran komponen
hardware dan partner software serta memberi tanda kepada penyedia layanan
telekomunikasi bahwa yang mereka tawarkan bersifat terbuka. Spekulasi sasaran Google
untuk ponsel pun semakin berkembang bahwa mereka akan segera mengumumkannya di
bulan Desember 2006. Kemudian September 2007, Google diketahui sedang mengajukan
hak paten di bidang telepon selular. Pada 5 November 2007 baru Android resmi di rilis
dengan dibentuknya Open Handset Alliance (OHA) untuk pusat pengembangannya.
Perangkat pertama yang menjalankan Android adalah smartphone yang
dikembangkan oleh HTC Dream atau T-Mobile G1, yang secara resmi diluncurkan pada 23
September 2008. Penjualan perangkat ini di pasar AS dimulai pada bulan Oktober 2008.
Versi 1.0 Created by Meruvian Education 1
Segera setelah itu beberapa produsen smartphone juga mengumumkan niat mereka untuk
merilis perangkat berdasarkan platform Android.
Google Android tidak hanya diatur di smartphone, platform ini juga cocok untuk
netbook. Jadi beberapa produsen netbook seperti Asus, MSI, Dell dan Acer segera
mengumumkan rilis perangkat berdasarkan platform mobile dari Google.
1.2. Perkembangan Android
Android telah mengalami pembaharuan sejak peluncuran awalnya.
1. Android Versi 1.1
a. Dirilis pada tanggal 9 Februari 2009
b. User Interface
c. Aplikasi Standart Alarm
d. Aplikasi olah pesan
2. Android Versi 1.5 (Cupcake)
Merupakan pengembangan dari versi 1.1 . Interface Android lebih dipercantik dengan
penambahan efek – efek animasi
a. Cupcake dirilis pada tanggal 30 April 2009
b. Kemampuan merekam dan memutar video di modus camcorder
c. Upload video ke Youtube dan foto ke Picasa
d. Tombol soft keyboard dengan fitur "autocomplete"
e. Kemampuan koneksi langsung ke headset Bluetooth A2DP
f. Widget dan folder baru mengikuti pola pada desktop
g. Tambahan pilihan copas pada internet berbasis web page
Versi 1.0 Created by Meruvian Education 2
3. Android Versi 1.6 (Donut)
Pada Android versi 1.6 banyakk terobosan baru di sistem jaringan dan konektivitas
a. Dirilis pada 15 September 2009
b. Android Market diperbaharui
c. Antarmuka kamera, camcorder, dan galeri terintegrasi
d. Penghapusan foto di galeri bisa dilakukan secara multiple
e. Peningkatan fitur voice search dan pengembangan voice dial
f. Pengembangan fitur pencarian untuk bookmark, kontak dan
halaman web plus kecepatan pencarian
g. Pembaharuan dukungan teknologi CDMA/EVDO, Wifi, Gesture,
dan mesin text-to-speech
h. Mendukung layar dengan resolusi WVGA
4. Android Versi 2.0 / 2.1 (Eclair)
Android versi ini banyak mengalami pembaharuan dari segi optimasi hardware dan
juga segi perangkat lunaknya
a. Dirilis pada 3 Desember 2009
b. Kecepatan hardware di maksimalkan
c. Aplikasi baru "Car Home"
d. Dukungan resolusi dan ukuran layar dikembangkan
e. Rasio hitam-putih untuk background lebih baik
f. Penggunaan browser baru dan mendukung HTML5
g. Google Maps 3.1.2
Versi 1.0 Created by Meruvian Education 3
h. Dukungan Microsoft Exchange
i. Kamera dengan flash dan zoom digital
j. Keyboard Virtual
k. Bluetooth 2.1
5. Android Versi 2.2 (Froyo)
Android Versi 2.2 ini merupakan penyempurnaan dari Android Versi 2.0
a. Dirilis pada 20 Mei 2010, perbaikan 20 Juni 2010
b. Kinerja Hardware lebih cepat
c. Dukungan Adobe Flash 10.1
d. Fitur Wifi bisa dibuat hotspot
e. Bisa instalasi aplikasi ke memori eksternal
f. Fungsi update otomatis di Android Market sudah ada
6. Android Versi 2.3 (Gingerbread)
Android Versi 2.3 ini merupakan penyempurnaan dari Android Versi 2.2 Froyo
a. Perubahan user interface
b. Adanya penambahan toko musik online di Market
c. Dukungan format Video VP8 dan WebM
d. Peningkatan fungsi copy paste
e. Peningkatan kemampuan permainan (gaming)
Versi 1.0 Created by Meruvian Education 4
1. 3. Keunggulan Android
Beberapa keunggulan Android adalah :
1. Keterbukaan
Android menyediakan akses ke fungsi dasar perangkat mobile menggunakan standar
panggilan ke API.
2. Penghancuran perbatasan
anda dapat menggabungkan informasi dari Internet ke dalam telepon, seperti informasi
kontak, atau data pada lokasi geografis untuk mendapatkan kesempatan baru.
3. Kesamaan aplikasi
untuk Android ada perbedaan antara telepon utama aplikasi dan perangkat lunak lain.
anda bahkan dapat mengubah program untuk memutar nomor, atau screen saver.
4. Cepat dan mudah perkembangan
dalam SDK memiliki semua yang anda butuhkan untuk membuat dan menjalankan
aplikasi Android, termasuk simulator ini instrumen dan alat debugging maju.
1. 4. Fitur-fitur Android
• Application Framework
mendukung pemakaian komponen-komponen yang mudah diganti dan digunakan
kembali (reusable)
• Dalvik Virtual Machine
mesin virtual di optimalkan untuk perangkat mobile
Versi 1.0 Created by Meruvian Education 5
• Integrated Browser
dibangun dari engine browser open source WebKit
• Optimized Graphics
didukung oleh custom 2D graphics library, 3D graphics dibangun berdasarkan OpenGL
ES 1.0 specification (dukungan hardware acceleration optional)
• SQLite
untuk penyimpanan database terstruktur
• Media support
unuk mendukung berbagai audio, video, dan still image formats (MPEG4, H.264, MP3,
AAC, AMR, JPG, PNG, GIF)
• Hardware Dependent
GSM, Bluetooth, EDGE, 3G, Wifi, Kamera, GPS, kompas dan accelerometer
1. 5. Arsitektur Android
Diagram berikut menunjukkan komponen-komponen utama dari sistem operasi
Android
Versi 1.0 Created by Meruvian Education 6
Google mengibaratkan Android sebagai sebuah tumpukan software. Setiap lapisan
dari tumpukan ini menghimpun beberapa program yang mendukung fungsi-fungsi spesifik
dari sistem operasi. Berikut ini susunan dari lapisan – lapisan tersebut jika di lihat dari
lapisan dasar hingga lapisan teratas:
1. Linux Kernel
Tumpukan paling bawah pada arsitektur Android ini adalah kernel. Google
menggunakan kernel Linux versi 2.6 untuk membangun sistem Android, yang
mencakup memory management, security setting, power management, dan beberapa
driver hardware.
Versi 1.0 Created by Meruvian Education 7
Kernel berperan sebagai abstraction layer antara hardware dan keseluruhan software.
Sebagai contoh, HTC GI dilengkapi dengan kamera. Kernel Android terdapat driver
kamera yang memungkinkan pengguna mengirimkan perintah kepada hardware
kamera.
2. Android Runtime
Lapisan setelah Kernel Linux adalah Android Runtime. Android Runtime ini berisi Core
Libraries dan Dalvik Virtual Machine.
Core Libraries mencakup serangkaian inti library Java, artinya Android menyertakan
satu set library-library dasar yang menyediakan sebagian besar fungsi-fungsi yang ada
pada library-library dasar bahasa pemrograman Java.
Dalvik adalah Java Virtual Machine yang memberi kekuatan pada sistem Android.
Dalvik VM ini di optimalkan untuk telepon seluler. Setiap aplikasi yang berjalan pada
Android berjalan pada processnya sendiri, dengan instance dari Dalvik Virtual Machine
3. Libraries
Bertempat di level yang sama dengan Android Runtime adalah Libraries. Android
menyertakan satu set library-library dalam bahasa C/C++ yang digunakan oleh
berbagai komponen yang ada pada sistem Android. Kemampuan ini dapat diakses
oleh programmer melewati Android application framework. Sebagai contoh Android
mendukung pemutaran format audio, video, dan gambar.
Berikut ini beberapa core library tersebut :
• System C library
diturunkan dari implementasi standard C system library (libc) milik BSD, dioptimasi
untuk piranti embedded berbasis Linux
Versi 1.0 Created by Meruvian Education 8
• Media Libraries
berdasarkan PacketVideo's OpenCORE, ibrary-library ini mendukun playback dan
recording dari berbadai format audio and video populer, meliputi MPEG4, H.264, MP3,
AAC, AMR, JPG, and PNG
• Surface Manager
mengatur akses pada display dan lapisan composites 2D and 3D graphic dari berbagai
aplikasi
• LibWebCore
web browser engine modern yang mensupport Android browser maupun embeddable
web view
• SGL
dengan dasar 2D graphic engine
• 3D libraries
implementasi berdasarkan OpenGL ES 1.0 APIs. Library ini menggunakan hardware
3D acceleration dan highly optimized 3D software rasterizer
• FreeType
bitmap dan vector font rendering
• SQLite
relational database engine yang powerful dan ringan tersedia untuk semua aplikasi
Versi 1.0 Created by Meruvian Education 9
4. Application Framework
Lapisan selanjutnya adalah application framework, yang 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. Para
pengembang aplikasi memiliki aplikasi penuh kepada tool-tool dasar tersebut, dan
memanfaatkannya untuk menciptakan aplikasi yang lebih kompleks.
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
Versi 1.0 Created by Meruvian Education 10
• 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 common
navigation backstack
5. Application
Di lapisan teratas bercokol aplikasi itu sendiri. Di lapisan inilah anda menemukan
fungsi-fungsi dasar smartphone seperti menelepon dan mengirim pesan singkat,
menjalankan web browser, mengakses daftar kontak, dan lain-lain. Bagi rata-rata
pengguna, lapisan inilah yang paling sering mereka akses. Mereka mengakses fungsi-
fungsi dasar tersebut melalui user interface.
1. 6. Android Terminology
Untuk membangun aplikasi Android, seorang programmer dituntut telah akrab dengan
bahasa pemrograman Java. Bila syarat pertama ini telah dipenuhi, langkah selanjutnya
adalah men-download software development kit (SDK) yang disediakan Android. SDK ini
membukakan jalan bagi programmer untuk mengakses application programming interface
(API)Android.
SDK yang diinstall di PC ini mencakup beberapa tool, termasuk aplikasi contoh dan
emulator Android. Emulator Android adalah program yang menduplikasi fungsi-fungsi
smartphone yang berjalan di atas platform Android. Emulator juga berfungsi sebagai ajang
pengujian aplikasi di PC,sebelum disematkan ke dalam smartphone Android.
Versi 1.0 Created by Meruvian Education 11
1. Service
Service yaitu serupa dengan service di PC dan server, program yang berjalan di
belakang layar, tanpa interferensi dari pengguna.. Contoh kerja service adalah ketika
anda sedang mendengarkan musik, kemudian anda ingin mengirim sms atau email.
Dalam kasus ini tentu saja anda bisa melakukan keduanya karena ketika anda
mengirim sms atau email, musik akan bekerja sebagai background.
2. Content Providers
yaitu mekanisme yang memungkinkan sebuah aplikasi berbagi informasi dengan
aplikasi lainnya.
3. Intent / Broadcast Receiver
ntent merupakan pemberi informasi. Intent memberikan informasi kepada aplikasi
terhadap apa yang terjadi terkait dengan handset seperti sdcard yang dimasukan, sms
yang masuk, aplikasi yang dijalankan tinggal bagaimana kita meresponnya.
4. Resources
Resource adalah elemen externall yang kita gunakan dalam aplikasi. Resource
disimpan dalam file xml yang berada dalam “res” folder. Resource tersedia dalam
kode java menggunakan “R.java” file. File “R.java” ini untuk menghubungkan sumber
daya visual (dari main.xml) ke kode sumber java (file java yang berada di Activity
kelas).
Versi 1.0 Created by Meruvian Education 12