ANDROID
- Pengertian
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 peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. 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, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler.
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).
Sumber : http://www.aingindra.com/2012/06/android.html diakses pada 19 Desember 2012 pada pukul 22.15 WIB
- Kelebihan dan Kekurangan Android
Keunggulan dan Kelebihan Android
– Ponsel Android memiliki sejumlah keunggulan dan ini yang membuat
mereka sangat diburu. Ada sejumlah keuntungan Google Android yang akan
anda dapatkan disamping sebagai perangkat lunak open source. Beberapa
keuntungan antara lain:
- Kemampuan bagi siapa saja untuk menyesuaikan platform Google Android akan membuka kesempatan membuat aplikasi untuk pemain kecil dan baru yang tidak memiliki kekuatan finansial untuk berinteraksi dengan operator nirkabel seperti AT & T dan Orange.
- Konsumen akan mendapatkan keuntungan dari memiliki berbagai aplikasi mobile sebagai pilihan lain sejak monopoli mobile phone yang dipecahkan oleh Google Android.
- Meskipun ini akan tergantung pada operator, seseorang dapat mengkustomisasi ponsel menggunakan platform Google Android tidak seperti sebelumnya, bahkan sampai ke layar.
- Fitur seperti rincian cuaca, membuka layar, RSS feed dan bahkan ikon pada layar pembukaan akan dapat disesuaikan.
- Selain itu, sebagai akibat dari banyak ponsel yang membawa Android, perusahaan akan datang dengan produk inovatif seperti layanan berdasarkan lokasi akan menyediakan pengguna dengan informasi yang mungkin mereka butuhkan.
- Informasi ini dapat termasuk mengetahui lokasi dari sebuah toko terdekat atau pompa bensin. Selain itu fungsi hiburan akan menjadi lebih tinggi dengan Android untuk menawarkan game online real time multi player.
Sumber:http://www.zeen-studio.com/keunggulan-dan-kelebihan-android-515.htm diakses pada Rabu, 19 Desember 2012 pada pukul 21.15 WIB
- Perbedaan Android dengan Blackberry
Dari segi fitur dan kegunaan, secara teknis hardware Android jauh diatas Blackberry. Untuk software, bisa dibilang Blackberry sangat kaku. Sebagai contoh Android sanggup play dengan 25 fps HD pada saat kita mengcopy file avi 1GB tanpa converting. Sedangkan Blackberry mengharuskan kita menggunakan converting
Android adalah sistem operasi telepon seluler yang berbasis Linux. Ada beberapa alasan mengapa Android memiliki potensi untuk sukses besar,alasannya sebagai berikut :
Pertama, ini merupakan platform terbuka, yang berarti bahwa setiap orang dapat men-download software development kit dan membuat aplikasi untuk Android. Hal ini memungkinkan kita untuk dapat menikmati/mendownload aplikasi tersebut lebih banyak. semuanya ada di Android Market.
sistem operasi Android banyak di gunakan oleh perusahaan-perusahaan smartphone besar seperti SAMSUNG, MOTOROLA dan HTC. sistem operasi Android pemiliknya adalah si raja internet terbesar, tiada lain adalah si mbah GOOGLE.
Blackberry :
Research In Motion (RIM). Blackberry mempunyai keunggulan seperti layanan push email (dimana email akan tehubung terus diponsel kita layaknya sebuah sms), chatting dengan fitur Blackberry Messengger (BBM), dan Browsing. Untuk fitur browsing dan Email pada BlackBerry akan dikompresi dahulu sehingga diterima dengan ukuran yang lebih kecil dan lebih cepat di buka.
BIS(Blackbarry internet service) perangkat lunak yang mampu mengintegrasi smartphon dengan 10 akun email yang berbasis post office protocol dan internet massage access protocol.BIS juga dapat membuka tambahan data dalam bentuk excel, word, powerpoint, pdf, zip, jpg, gif dengan tingkat kompresi data yang tinggi.
Sumber :
http://ilmuko.blogspot.com/2012/03/perbedaan-android-dan-blackberry.html diakses pada Rabu, 19 Desember 2012 pada pukul 21,17 WIB
-Cara Kerja Android
Ada 4 hal yang harus dipahami dalam membangun aplikasi
berbasis Android :
·
Activity adalah
tampilan grafis yang kita lihat ketika menjalankan sebuah aplikasi. Sebuah
aplikasi dapat mempunyai lebih dari satu activity.
· Intent adalah
serangkaian value yang menunjukan apa yang harus dilakukan ketika terjadi
perpindahan layar.
·
Service adalah layanan
yang bekerja di Backend
·
Content provider
memungkinkan sebuah aplikasi untuk dapat menyimpan dan menerima data dari
database.
Secara sederhana arsitektur android merupakan sebuah
kernel Linux dan sekumpulan pustaka C / C++ dalam suatu framework yang
menyediakan dan mengatur alur proses aplikasi.[Google IO, Android Anatomy and
Physiology].
1. Linux Kernel
Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan android
bukanlah linux, karena dalam android tidak terdapat paket standar yang dimiliki
oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal dalam
manajemen memori dan proses. Oleh karenanya pada android hanya terdapat
beberapa servis yang diperlukan seperti keamanan, manajemen memori, manajemen
proses, jaringan dan driver. Kernel linux menyediakan driver layar, kamera,
keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess Communication) untuk
mengatur aplikasi dan lubang keamanan.
2. Libraries
Android menggunakan beberapa paket pustaka yang
terdapat pada C/C++ dengan standar Berkeley Software Distribution (BSD) hanya
setengah dari yang aslinya untuk tertanam pada kernel Linux. Beberapa pustaka
diantaranya:
• Media Library untuk memutar dan merekam berbagai
macam format audio dan video.
• Surface Manager untuk mengatur hak akses layer dari
berbagai aplikasi.
• Graphic Library termasuk didalamnya SGL dan OpenGL,
untuk tampilan 2D dan 3D.
• SQLite untuk mengatur relasi database yang digunakan
pada aplikasi.
• SSl dan WebKit untuk browser dan keamanan internet.
Pustaka-pustaka tersebut bukanlah aplikasi yang berjalan sendiri, namun
hanya dapat digunakan oleh program yang berada di level atasnya. Sejak versi
Android 1.5, pengembang dapat membuat dan menggunakan pustaka sendiri
menggunakan Native Development Toolkit (NDK).
3. Android Runtime
Pada android tertanam paket pustaka inti yang menyediakan sebagian besar
fungsi android. Inilah yang membedakan Android dibandingkan dengan sistem
operasi lain yang juga mengimplementasikan Linux. Android Runtime merupakan
mesin virtual yang membuat aplikasi android menjadi lebih tangguh dengan paket
pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian utama,
diantaranya:
• Pustaka Inti, android dikembangkan melalui bahasa pemrograman Java, tapi Android Runtime bukanlah mesin virtual Java. Pustaka inti android menyediakan hampir semua fungsi yang terdapat pada pustaka Java serta beberapa pustaka khusus android.
• Mesin Virtual Dalvik, Dalvik merupakan sebuah mesin virtual yang dikembangkan oleh Dan Bornstein yang terinspirasi dari nama sebuah perkampungan yang berada di Iceland. Dalvik hanyalah interpreter mesin virtual yang mengeksekusi file dalam format Dalvik Executable (*.dex). Dengan format ini Dalvik akan mengoptimalkan efisiensi penyimpanan dan pengalamatan memori pada file yang dieksekusi. Dalvik berjalan di atas kernel Linux 2.6, dengan fungsi dasar seperti threading dan manajemen memori yang terbatas. [Nicolas Gramlich, Andbook, anddev.org]
• Pustaka Inti, android dikembangkan melalui bahasa pemrograman Java, tapi Android Runtime bukanlah mesin virtual Java. Pustaka inti android menyediakan hampir semua fungsi yang terdapat pada pustaka Java serta beberapa pustaka khusus android.
• Mesin Virtual Dalvik, Dalvik merupakan sebuah mesin virtual yang dikembangkan oleh Dan Bornstein yang terinspirasi dari nama sebuah perkampungan yang berada di Iceland. Dalvik hanyalah interpreter mesin virtual yang mengeksekusi file dalam format Dalvik Executable (*.dex). Dengan format ini Dalvik akan mengoptimalkan efisiensi penyimpanan dan pengalamatan memori pada file yang dieksekusi. Dalvik berjalan di atas kernel Linux 2.6, dengan fungsi dasar seperti threading dan manajemen memori yang terbatas. [Nicolas Gramlich, Andbook, anddev.org]
4. Application Framework
Kerangka aplikasi menyediakan kelas-kelas yang dapat
digunakan untuk mengembangkan aplikasi android. Selain itu, juga menyediakan
abstraksi generik untuk mengakses perangkat, serta mengatur tampilan user
interface dan sumber daya aplikasi. Bagian terpenting dalam kerangka aplikasi android
adalah sebagai berikut [Hello Android 2nd Edition]:
1. Activity Manager, berfungsi untuk mengontrol siklus
hidup aplikasi dan menjaga keadaan ”Backstack“ untuk navigasi penggunaan.
2. Content Providers, berfungsi untuk merangkum data
yang memungkinkan digunakan oleh aplikasi lainnya, seperti daftar nama.
3. Resuource Manager, untuk mengatur sumber daya yang
ada dalam program. Serta menyediakan akses sumber daya diluar kode program,
seperti karakter, grafik, dan file layout.
4. Location Manager, berfungsi untuk memberikan
informasi detail mengenai lokasi perangkat android berada.
5. Notification Manager, mencakup berbagai macam peringatan seperti, pesan
masuk, janji, dan lain sebagainya yang akan ditampilkan pada status bar.
5. Application Layer
Puncak dari diagram arsitektur android adalah lapisan
aplikasi dan widget. Lapisan aplikasi merupakan lapisan yang paling tampak pada
pengguna ketika menjalankan program. Pengguna hanya akan melihat program ketika
digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi.
Lapisan ini berjalan dalam Android runtime dengan menggunakan kelas dan service
yang tersedia pada framework aplikasi.
Lapisan aplikasi android sangat berbeda dibandingkan dengan sistem operasi
lainnya. Pada android semua aplikasi, baik aplikasi inti (native) maupun
aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan
pustaka API (Application Programming Interface) yang sama.
§ Komponen Aplikasi
Fitur penting android adalah bahwa satu aplikasi dapat
menggunakan elemen dari aplikasi lain (untuk aplikasi yang memungkinkan).
Sebagai contoh, sebuah aplikasi memerlukan fitur scroller dan aplikasi lain
telah mengembangkan fitur scroller yang baik dan memungkinkan aplikasi lain
menggunakannya. Maka pengembang tidak perlu lagi mengembangkan hal serupa untuk
aplikasinya, cukup menggunakan scroller yang telah ada [developer.android.com].
Agar fitur tersebut dapat bekerja, sistem harus dapat
menjalankan aplikasi ketika setiap bagian aplikasi itu dibutuhkan, dan
pemanggilan objek java untuk bagian itu. Oleh karenanya android berbeda dari
sistem-sistem lain, Android tidak memiliki satu tampilan utama program seperti
fungsi main() pada aplikasi lain. Sebaliknya, aplikasi memiliki komponen
penting yang memungkinkan sistem untuk memanggil dan menjalankan ketika
dibutuhkan.
1. Activities
Activity merupakan bagian yang paling penting dalam
sebuah aplikasi, karena Activity menyajikan tampilan visual program yang sedang
digunakan oleh pengguna. Setiap Activity dideklarasikan dalam sebuah kelas yang
bertugas untuk menampilkan antarmuka pengguna yang terdiri dari Views dan
respon terhadap Event. Setiap aplikasi memiliki sebuah activity atau lebih.
Biasanya pasti akan ada activity yang pertama kali tampil ketika aplikasi
dijalankan.
Perpindahan antara activity dengan activity lainnya
diatur melalui sistem, dengan memanfaatkan activity stack. Keadaan suatu
activity ditentukan oleh posisinya dalam tumpukan acitivity, LIFO (Last In
First Out) dari semua aplikasi yang sedang berjalan. Bila suatu activity baru
dimulai, activity yang sebelumnya digunakan maka akan dipindahkan ketumpukan
paling atas. Jika pengguna ingin menggunakan activity sebelumnya, cukup menekan
tombol Back, atau menutup activity yang sedang digunakan, maka activity yang berada
diatas akan aktif kembali. Memory Manager android menggunakan tumpukkan ini
untuk menentukan prioritas aplikasi berdasarkan activity, memutuskan untuk
mengakhiri suatu aplikasi dan mengambil sumber daya dari aplikasi tersebut.
Ketika activity diambil dan disimpan dalam tumpukkan
activity terdapat 4 kemungkinan kondisi transisi yang akan terjadi [Reto Meier,
Profesional Android Application Development, Wiley Publishing, Canada, 2009]:
1) Active, setiap activity yang berada
ditumpukan paling atas, maka dia akan terlihat, terfokus, dan menerima masukkan
dari pengguna. Android akan berusaha untuk membuat activity aplikasi ini untuk
untuk tetap hidup dengan segala cara, bahkan akan menghentikan activity yang
berada dibawah tumpukkannya jika diperlukan. Ketika activity sedang aktif, maka
yang lainnya akan dihentikan sementara.
2) Paused, dalam beberapa kasus activity akan
terlihat tapi tidak terfokus pada kondisi inilah disebut paused. Keadaan ini
terjadi jika activity transparan dan tidak fullscreen pada layar. Ketika
activity dalam keadaan paused, dia terlihat active namun tidak dapat menerima
masukkan dari pengguna. Dalam kasus ekstrim, android akan menghentikan activity
dalam keadaan paused ini, untuk menunjang sumber daya bagi activity yang sedang
aktif.
3) Stopped, ketika sebuah activity tidak
terlihat, maka itulah yang disebut stopped. Activity akan tetap berada dalam
memori dengan semua keadaan dan informasi yang ada. Namun akan menjadi kandidat
utama untuk dieksekusi oleh sistem ketika membutuhkan sumberdaya lebih. Oleh
karenanya ketika suatu activity dalam kondisi stopped maka perlu disimpan data
dan kondisi antarmuka saat itu. Karena ketika activity telah keluar atau
ditutup, maka dia akan menjadi inactive.
4) Inactive, kondisi ketika activity telah
dihentikan dan sebelum dijalankan. Inactive activity telah ditiadakan dari
tumpukan activity sehingga perlu restart ulang agar dapat tampil dan digunakan
kembali.
Kondisi transisi ini sepenuhnya ditangani oleh manajer memori android.
Android akan memulai menutup aplikasi yang mengandung activity inactive,
kemudian stopped activity, dan dalam kasus luar biasa paused activity juga akan
di tutup.
2. Services
Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di
background untuk waktu yang tidak terbatas. Komponen service diproses tidak
terlihat, memperbarui sumber data dan menampilkan notifikasi. Service digunakan
untuk melakukan pengolahan data yang perlu terus diproses, bahkan ketika
Activity tidak aktif atau tidak tampak.
3. Intents
Intens merupakan sebuah mekanisme untuk menggambarkan tindakan tertentu,
seperti memilih foto, menampilkan halaman web, dan lain sebagainya. Intents
tidak selalu dimulai dengan menjalankan aplikasi, namun juga digunakan oleh
sistem untuk memberitahukan ke aplikasi bila terjadi suatu hal, misal pesan
masuk. Intents dapat eksplisit atau implisit, contohnya jika suatu aplikasi
ingin menampilkan URL, sistem akan menentukan komponen apa yang dibutuhkan oleh
Intents tersebut.
4. Broadcast Receivers
Broadcast Receivers merupakan komponen yang sebenarnya tidak melakukan
apa-apa kecuali menerima dan bereaksi menyampaikan pemberitahuan. Sebagian
besar Broadcast berasal dari sistem misalnya, Batre sudah hampir habis,
informasi zona waktu telah berubah, atau pengguna telah merubah bahasa default
pada perangkat. Sama halnya dengan service, Broadcast Receivers tidak
menampilkan antarmuka pengguna. Namun, Broadcast Receivers dapat menggunakan
Notification Manager untuk memberitahukan sesuatu kepada pengguna.
5. Content Providers
Content Providers digunakan untuk mengelola dan berbagi database. Data
dapat disimpan dalam file sistem, dalam database SQLite, atau dengan cara lain
yang pada prinsipnya sama. Dengan adanya Content Provider memungkinkan antar
aplikasi untuk saling berbagi data. Komponen ini sangat berguna ketika sebuah
aplikasi membutuhkan data dari aplikasi lain, sehingga mudah dalam
penerapannya.
§ Tipe Aplikasi Android
Terdapat tiga kategori aplikasi pada android [Reto
Meier, Profesional Android Application Development, Wiley Publishing, Canada,
2009] :
1. Foreground Activity
Aplikasi yang hanya dapat dijalankan jika tampil pada layar dan tetap
efektif walaupun tidak terlihat. Aplikasi dengan tipe ini pasti mempertimbangkan
siklus hidup activity, sehingga perpindahan antar activity dapat berlangsung
dengan lancar.
2. Background Service
Aplikasi yang memiliki interaksi terbatas dengan user, selain dari
pengaturan konfigurasi, semua dari prosesnya tidak tidak tampak pada layar.
Contohnya aplikasi penyaringan panggilan atau sms auto respon.
3. Intermittent Activity
Aplikasi yang masih membutuhkan beberapa masukkan dari
pengguna, namun sebagian sangat efektif jika dijalankan di background dan jika
diperlukan akan memberi tahu pengguna tentang kondisi tertentu. Contohnya
pemutar musik.
Untuk aplikasi yang kompleks akan sulit untuk menentukan kategori aplikasi
tersebut apalagi aplikasi memiliki ciri-ciri dari semua kategori. Oleh
karenanya perlu pertimbangan bagaimana aplikasi tersebut digunakan dan
menentukan kategori aplikasi yang sesuai.
§ Siklus Hidup Aplikasi Android
Siklus hidup aplikasi android dikelola oleh sistem,
berdasarkan kebutuhan pengguna, sumberdaya yang tersedia, dan sebagainya.
Misalnya Pengguna ingin menjalankan browser web, pada akhirnya sistem yang akan
menentukan menjalankan aplikasi. Sistem sangat berperan dalam menentukan apakah
aplikasi dijalankan, dihentikan sementara, atau dihentikan sama sekali. Jika
pengguna ketika itu sedang menjalankan sebuah Activity, maka sistem akan
memberikan perioritas utama untuk aplikasi yang tersebut. Sebaliknya, jika
suatu Activity tidak terlihat dan sistem membutuhkan sumber daya yang lebih,
maka Activity yang prioritas rendah akan ditutup. [Sayed . Y. Hashimi and Satya
Komatineni, Pro Android, Apress, USA 2009]
Android menjalankan setiap aplikasi dalam proses
secara terpisah, yang masing-masing memliki mesin virtual pengolah sendiri,
dengan ini melindungi penggunaan memori pada aplikasi. Selain itu juga android
dapat mengontrol aplikasi mana yang layak menjadi prioritas utama. Karenanya
android sangat sensitive dengan siklus hidup aplikasi dan komponen-komponennya.
Perlu adanya penanganan terhadap setiap kondisi agar aplikasi menjadi stabil.
Sumber: http://tips-droid.blogspot.com/2012/09/cara-kerja-dan-arsitektur-android_13.html
diakses pada Rabu, 19 Desember 2012 pada pukul 23.00 WIB
Tidak ada komentar:
Posting Komentar