7 Mobile Computing 2 SKS

21
7 Mobile Computing 2 SKS Dedy Alamsyah, S.Kom.

description

7 Mobile Computing 2 SKS. Dedy Alamsyah , S.Kom . ANDROID. Sejarah Android OS. - PowerPoint PPT Presentation

Transcript of 7 Mobile Computing 2 SKS

Page 1: 7 Mobile Computing 2 SKS

7Mobile Computing

2 SKSDedy Alamsyah, S.Kom.

Page 2: 7 Mobile Computing 2 SKS

ANDROID

Page 3: 7 Mobile Computing 2 SKS

Sejarah Android OS

Android Inc, adalah sebuah perusahaan software kecil yang didirikan pada bulan Oktober 2003 di Palo Alto, California, USA. Didirikan oleh beberapa senior di beberapa perusahaan yang berbasis IT & Communication; Andy Rubin, Rich Miner, Nick Sears dan Chris White.

Konsep yang dimiliki Android Inc, ternyata menggugah minat raksasa Google untuk memilikinya. Pada bulan Agustus 2005, akhirnya Android Inc diakuisisi oleh Google Inc. Seluruh sahamnya dibeli oleh Google. Nilai pembelian Android Inc ini oleh google tidak ada release pastinya. Tetapi banyak yang memperkirakan nilai pembelian Android Inc oleh Google adalah sebesar USD 50 juta. Saat itu banyak yang berspekulasi, bahwa akuisisi ini adalah langkah awal yang dilakukan Google untuk masuk ke pasar mobile phone.

Andy Rubin, Rich Miner, Nick Sears dan Chris White tetap di Android Inc yang dibeli Google, sehingga akhirnya mereka semua menjadi bagian dari raksasa Google dan sejarah android. Saat itulah mereka mulai menggunakan platfor linux untuk membuat sistem operasi bagi mobile phone.

Page 4: 7 Mobile Computing 2 SKS

Sejarah Android OS -2 Pada bulan nopember 2007, terbentuklan Open Handset Alliance yang merupakan

konsorsium dari beberapa perusahaan : Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, T-Mobile dan Texas Instruments. Mereka sepakat untuk membuat open standart bagi mobile phone. Pada hari yang sama, mereka mengumumkan produk pertama mereka, yaitu Android yang berbasis Linux kernel versi 2.6.

Bulan Desember 2008, bergabunglah 14 perusahaan lainnya yaitu : ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd, PacketVideo, Softbank, Sony Ericsson, Toshiba Corp dan Vodafone Group Plc. Hal ini merupakan langkah besar dalam sejarah Android untuk menjadi pemimpin dalam sistem operasi untuk mobile phone.

Page 5: 7 Mobile Computing 2 SKS

Versi Android OS

Android Cupcake 1.5

Android Donut 1.6

Android Eclair 2.0.x/2.1.x

Android Froyo 2.2.x

Android Gingerbread 2.3

Android Gingerbread 2.3.3

Android Honeycomb 3.0

Android Ice Cream Sandwitch 4.0

Android Jelly Bean 4.2

Page 6: 7 Mobile Computing 2 SKS

Fitur Android OS

Kerangka aplikasi (Framework) : itu memungkinkan penggunaan dan penghapusan komponen yang tersedia.Dalvik virtual machine: mesin virtual dioptimalkan untuk perangkat telepon seluler.Grafik: grafik di 2D dan grafis 3D berdasarkan pustaka OpenGL.SQLite: untuk penyimpanan data.Mendukung media: audio, video, dan berbagai format gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)GSM, Bluetooth, EDGE, 3G, 4G dan WiFi (tergantung piranti keras)Kamera, Global Positioning System (GPS), kompas, NFC dan accelerometer (tergantung piranti keras)

Page 7: 7 Mobile Computing 2 SKS

Fakta tentang Android

1. OS Mobile paling banyak di dunia.

2. Setiap hari ada sekitar lebih dari 1 juta handphone berbasis Android di luncurkan

3. Ada sekitar 1.5 Aplikasi setiap bulan diluncurkan di google play

4. Android berbasis Linux (Kernal Linux)

5. Open Source

6. Framework berbasis bahasa Java

Page 8: 7 Mobile Computing 2 SKS

Arsitektur Android

Page 9: 7 Mobile Computing 2 SKS

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. Kernel berperan sebaagai 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.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.

Page 10: 7 Mobile Computing 2 SKS

2. Android Run Time

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. Dalvik telah dibuat sehingga sebuah piranti yang memakainya dapat menjalankan multi Virtual Machine dengan efisien. Dalvik VM dapat mengeksekusi file dengan format Dalvik Executable (.dex) yang telah dioptimasi untuk menggunakan minimal memory footprint. Virtual Machine ini register-based, dan menjalankan class-class yang dicompile menggunakan compiler Java yang kemudian ditransformasi menjadi format .dex menggunakan “dx” tool yang telah disertakan. Dalvik Virtual Machine (VM) menggunakan kernel Linux untuk menjalankan fungsi-fungsi seperti threading dan low-level memory management.

Page 11: 7 Mobile Computing 2 SKS

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.Media Libraries, berdasarkan PacketVideo’s OpenCORE; library-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.

Page 12: 7 Mobile Computing 2 SKS

SGL, the underlying 2D graphics engine.3D libraries, implementasi berdasarkan OpenGL ES 1.0 APIs; library ini menggunakan hardware 3D acceleration dan highly optimized 3D software rasterizerFreeType, bitmap dan vector font renderingSQLit, relational database engine yang powerful dan ringan tersedia untuk semua aplikasi.Library-library 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).

Page 13: 7 Mobile Computing 2 SKS

4. Applications 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.

Page 14: 7 Mobile Computing 2 SKS

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 common navigation backstack.

Page 15: 7 Mobile Computing 2 SKS

5. Applications

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.

Page 16: 7 Mobile Computing 2 SKS

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.Gambar prioritas dari aplikasi

Page 17: 7 Mobile Computing 2 SKS
Page 18: 7 Mobile Computing 2 SKS

Berikut ini adalah deskripsi dari method override dari class Activity untuk daur hidup activityonCreate()method ini dipanggil saat activity pertama kali dibuat. Di sinilah inisialisasi dilakukan – membuat UI, mendapatkan data yang diperlukan, dan lainnya.onStart()method ini dipanggil sesaat sebelum activity ditampilkan ke pengguna.onResume()method ini dipanggil ketika activity berinteraksi dengan pengguna.onPause()method ini berjalan ketika activity berada di balik layar (background), tidak terlihat oleh pengguna tapi masih berjalan. Biasanya hal ini terjadi saat ada activity lainnya yang dijalankan. Di state inilah seharusnya data program kita disimpan ke persistent state.onStop()method ini berjalan ketika activity sudah tidak terlihat lagi oleh pengguna dalam waktu yang cukup lama dan activity tidak diperlukan untuk sementara waktu.onRestart()jika method ini dipanggil, berarti activity sedang ditampilkan ulang ke pengguna dari state berhenti (stop).onDestroy()method ini dipanggil sebelum activity dimusnahkan (hilang dari memori).

Page 19: 7 Mobile Computing 2 SKS

Tool untuk membangun Aplikasi Android

1. Komputer dengan Sistem Operasi Windows, Linux, Mac OSX

2. Eclipse IDE atau Netbeans IDE (Aplikasi untuk coding dengan fitur

autocomplete, error checking, inline help, dll)

3. ADT Plugin (Android Device Toolkit Plugin, adalah sebuah plugin, supaya

IDE kita bisa men-develop .apk)

4. Android SDK (Framework atau Pustaka berisi Librari siap pakai)

Page 20: 7 Mobile Computing 2 SKS

Langkah-langkah persiapan untuk membangun Aplikasi berbasis Android1. Download Android SDK di http://developer.android.com/sdk/index.html Jika yang

didownload berupa file archive (zip atau tgz), ekstrak archive tersebut ke folder manapun.

2. Download JDK, karena kita menggunakan Java untuk membuat aplikasi Android.3. Download Eclipse dan pastikan sudah terinstal dengan baik.4. Install ADT Plugin dengan mengikuti cara instalasinya.

Download komponen SDK yang sesuai dengan versi Android dari aplikasi yang akan dibuat. 1. Dari Eclipse: masuk ke Window > Android SDK and AVD Manager2. Dari Windows: buka file SDK Manager.exe yang ada di folder Android SDK3. Dari Mac atau Linux: buka Terminal dan masuk ke folder tools/, kemudian jalankan perintah:

android

Page 21: 7 Mobile Computing 2 SKS

Q & A