Makalah Android

January 20, 2018 | Author: Bharata Kalbuaji | Category: N/A
Share Embed Donate


Short Description

Download Makalah Android...

Description

MAKALAH ANDROID

Disusun oleh: Kelompok 23 Melati Budiana Putri

/ 18209006

Latifa Dwiyanti

/ 18209010

Bharata Kalbuaji

/ 18209018

Program Studi Sistem dan Teknologi Informasi Sekolah Teknik Elektro dan Informatika - Institut Teknologi Bandung Jl. Ganesha 10, Bandung 40132

1. Sejarah Android Android merupakan salah satu sistem operasi yang dewasa ini semakin terkenal. Android merupakan software stack yang digunakan oleh perangkat mobile yang mencakup sistem operasi, middleware, dan aplikasi kunci, pertama kali didesain oleh Andy Rubin. Android sendiri merupakan sistem operasi yang digunakan untuk telepon selular yang berbasiskan Linux. Android menyediakan platform yang bersifat terbuka sehingga mampu dimanfaatkan pengguna untuk mengembangkan aplikasi mereka sendiri untuk digunakan oleh mobile device. Android Inc. kemudian dibeli oleh Google Inc, untuk mengembangkan Android mereka membentuj Open Headset Alliance yang berisikan berbagai perusahaan besar seperti Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Terdapat dua badan khusus dostributor Android yaitu yang mendapat dukungan penuh dari Google yaitu Google Mail Service (GSM) dan yang sama sekali tidak didukung oleh Google yaitu Open Handset Distribution. Android pertama kali diterapkan sebagai operasi sistem pada perangkat mobile HTC Dream yang dirilis 22 Oktober 2008. Selanjutnya Android mengalami beberapa pengembangan. Android versi 1.1 Dikeluarkan oleh Google pada 9 Maret 2009, dilengkapi dengan penambahan fitur berupa pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email. Android versi 1.5 (Cupcake) Tidak berselang lama dari 9 Maret 2009, yaitu pada Mei 2009, Google kembali merilis telepon seluler dengan menggunakan Android tetapi Android yang kini digunakan merupakan versi 1.5 yang dikenal dengan nama Cupcake. Kemampuan tambahan dari Android 1.1 adalah berupa penambahan fitur merekam dan menonton video dengan menggunakan kamera selular, menggugah video pada website YouTube dan gambar ke Picasa langsung melalui device mobilenya, dukungan Bluetooth A2DP, mampu terhubung secara otomatis pada bluetooth headseat, menampilkan animasi layar, dan menampilkan layar keyboard. Android versi 1.6 (Donut) Donut dirilis pada September 2009 dengan perbaikan sistem dari Android berupa proses pencarian yang lebih baik, penggunaan baterai indikator dan kontrol applet VPN, penyediaan galeri yang memungkinkan pengguna dapat menghapus foto dari koleksi foto yang tersimpan di galerinya, terintegrasinya kamera, camcorder, dan galeri, kemampuan dial kontak, teknologi text to change speech.

Android versi 2.0/2.1 (Eclair) Eclair diluncurkan pada 3 Desmber 2009, menitikberatkan pada pengoptimalkan hardware, peningkatan Google Maps 3.1.2, browser yang telah mendukung pendukung HTML5, penambahan flash untuk kamera dengan 3.2 MP, digital Zoom dan penyediaan Bluetooth 2.1. Android versi 2.2 (Froyo : Frozen Yoghurt) Diluncurkan pada 20 Mei 2010, Froyo diluncurkan dengan penambahan kemampuan berupa kemampuannya untuk mendukung Adobe Flash 10.1, kecepatan kinerja yang menigkat, integrasi V8 JavaScript yang digunakan oleh Google Chrome yang mampu mempercepat kemampuan rendering browser, kemampuan aplikasi dalam SD Card, WiFi Hotspot portabel, dan kemampuan auto update pada Androis Market. Android versi 2.3 (Gingerbread) Pada Android versi 2.3 yang dirilis pada 6 Desember 2010. peningkatan dilakukan dari sisi fungsi copy paste, disein ulang pada user interface, dukungan format video VP8 dan WebM, efek audia tambahan seperti equalization dan bass boost, kemapuan tambahan yang mendukung Near Field Communicatin (NFC). dan mampu mendukung penggunaan kamera lebih dari satu. Android versi 3.0/3.1 (Honeycomb) Versi 3.0 ini dirancang khusus untuk digunakan pada tablet, mendukung penggunaan android pada layar dengan ukuran lebih besar, oleh karena itu terdapat perubahan pada User Interface agar sesuai digunakan pada tablet. Honeycomb mendukung pemakaian multi prosesor dan akselerasi hardware untuk grafis. Tablet pertama yang mengimplemantsikan sistem operasi Android versi 3.0 ini adalah Motorola Xoom. Penggunaan Android versi 3.0 ini mulai masuk pasar Indonesia pada Mei 2011. Android versi 4.0 (Ice Cream Sandwich) Merupakan pengembangan Honeycomb yang kini dipakai untuk smartphone. Diumumkan pada 19 Oktober 2011 dengan penambahan fitur berupa penggunaan deteksi wajah untuk membuka kunci telepon, jaringan data pemantauan pengunaan dan kontrol, terintegrasinya kontak dengan jaringan sosial media, pearangkat tambahan untuk melakukan bidang fotografi, pencarian email secara offline, dan penayampaian informasi menggunakan NFC.

2. Arsitektur Android Sistem operasi android memilik 4 lapisan (layer) yang merupakan komponen sistem android.

Gambar 1 Layer pada Sistem Operasi Android

setiap lapisan yang ada berperan dalam fungsi-fungsi spesifik dari sistem operasi, sebagai berikut : 1. Linux Kernel Lapisan yang berada pada lapisan paling bawah adalah kernel. Google membangun sistem operasi android menggunakan kernel linux 2.6. kernel linux ini mencakup manajemen memori, pengaturan keamanan, manajemen ketersediaan tenaga, dan beberapa driver hardware. Layer kernel menjadi layer abstraksi yang menjadi penghubung antara hardware dan software. Android bukan linux, android hanya berjalan di atas kernel linux 2.6. linux merupakan sistem operasi terbuka yang ahli dalam hal manajemen memori dan manajemen proses. android hanya menyediakan keamanan, manajemen memori, manajemen proses, jaringan dan driver. Linux menyediakan driver layar, kamera, keypad, wifi, flash memory, audio, dan IPC.

2. Android Run Time Android runtime berisi core libraries dan dalvik virtual machine. Core libraries berisi seluruh inti library Java. Android menempatkan sebagian besar fungsi-fungsi yang ada pada library dasar bahasa pemrograman java di dalam librarynya. Dalvik adalah java virtual machine yang berguna untuk optimalisasi sistem android pada telepon selular. dalvik dibuat agar device yang digunakan dapat menjalankan multi virtual machine. Virtual machine ini akan mengeksekusi file dengan format dalvik executable (.dex) yang telah dioptimasi untuk menggunakan minimal memory footprint. virtual machine ini akan menjalankan class-class yang dicompile menggunakan compiler java yang selanjutnya akan diubah formatnya menjadi format .dex. Dalvik virtual machine menggunakan kernel linux untuk menjalankan fungsi-fungsi seperti threading dan lowlevel memory management. 3. Libraries Android menyediakan satu set library-library dalam bahasa C/C++ yang dapat digunakan oleh berbagai komponen yang ada pada sistem android. Library ini dapat diakses oleh programmer melalui android application framework. ● System C Library Didapatkan dari turunan implementasi library standar C (libc) milik BSD, dioptimasi untuk device embedded berbasis linux. ● Media Libraries Library ini mendukung playback dan recording dari berbagai format audio dan video populer, seperti MP3, ACC, JPG, MPEG4, H.264, AMR, dan PNG. ● Surface Manager Mengatur akses pada dispaly dan lapisan composites 2D dan 3D graphic dari berbagai aplikasi. ● Libwebcore Web browser engine yang mensupport android browser maupun embeddable web view. ● SGL Engine Grafik 2D yang dasar. ● 3D libraries Library ini menggunakan hardware akselerasi 3D dan highly optimized 3D software rasterizer ● Free Type Bitmap dan vector font rendering. ● SQLit Engine database relasional yang ringan namun powerful untuk semua aplikasi. Library ini bukan merupakan aplikasi yang dapat berjalan sendiri. Library dapat digunakan oleh program yang ada di level atasnya. namun sejak versi 1.5, programmer dan developer bisa menggunakan library sendiri menggunakan Native Development Toolkit (NDK).

4. Applications Framework Lapisan application framework 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. 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. ● 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. Applications Berada di tingkatan paling atas. Di lapisan ini dapat ditemukan fungsi-fungsi dasar smartphone seperti menelepon dan mengirim pesan singkat, menjalankan web browser, mengakses daftar kontak, dan lain-lain. layer ini merupakan layer yang paling sering diakses oleh pengguna melalui user interface.

3. File System pada Android File system pada Android berstandar pada kernel Linux. Struktur file yang digunakan sama persis dengan sistem operasi Linux. File system yang sering digunakan pada android terbagi kedalam beberapa file system, yaitu : 1. Root Mount Point Device

:/ : Linux Kernel, RAM

Layaknya linux, semua filesystem akan berada di dalam Root. Tidak seperti Windows yang memilah-milahnya ke dalam drive. Dalam linux semua device dapat diakses melalui filesystem dan menggunakan system stream, baik itu penyimpanan, display, ataupun input dan output device. 2. System Mount Point Device

: /system : Internal Memory

Partisi ini berisi file-file system, dimana file-file system operasi Android dan aplikasi-aplikasi bawaannya disimpan. Partisi system ini selalu disimpan dalam Internal Storage (storage pada ponsel), dan tidak dapat diubah isinya kecuali telah dilakukan rooting. Berikut adalah beberapa file-file yang berada pada partisi ini : a. /data/app – Berisi file-file .apk dari aplikasi-aplikasi yang diinstal, baik itu dari market atau dari aplikasi yang diinstall secara manual. b. /data/data – Berisi file-file data aplikasi, baik itu aplikasi system ataupun yang diinstall oleh user. Isi direktori ini memuat berbagai macam data yang disimpan oleh aplikasi, seperti save game, database (sqlite), juga file-file assets dan resource dari aplikasi tersebut. Direktori inilah yang biasanya membesar dan bila kita menginstall banyak aplikasi, maka Low Disk Space biasanya muncul dikarenakan isi direktori ini sudah terlalu besar. c. /data/dalvik-cache – Merupakan tempat penyimpanan file-file .dex untuk dijalankan secara langsung oleh dalvik virtual machine. 3. Boot Mount Point Device

: /boot : Internal Memory

Partisi ini memuat Kernel Linux dan merupakan partisi awal yang akan menerima sinyal booting dari device. Kernel inilah yang secara langsung mengakses hardware pada device kita. 4. SDCard Mount Point : /sdcard, /mnt/sdcard Device : MMC / External Storage Layout : FAT32

Berbeda dengan partisi-partisi lainnya. Partisi ini adalah area bebas, dimana kita dapat melakukan perubahan sesuai dengan keinginan. Kita dapat menyimpan lagu, foto, dan video di dalamnya, kita juga dapat menggunakannya untuk penyimpanan backup data, dan dapat juga digunakan sebagai USB drive. 5. SD-EXT Merupakan modifikasi yang bisa dilakukan pada Custom ROM dimana bila internal Memory tidak mencukupi untuk memuat data-data penting system, maka dilakukanlah pem-partisi-an pada memory card kita. Dimana memory card kita akan dibagi menjadi 2 partisi, partisi pertama berformat FAT32 yang akan dijadikan sebagai /sdcard, dan partisi kedua berformat EXT(x). Inilah kehebatan Linux dan Android, dimana device yang memiliki umur yang tua yang tidak dapat lagi memuat system Android yang semakin hari semakin berukuran besar dan tidak dapat dimuat di dalam Internal Memory yang memiliki keterbatasan ukuran, dapat tetap mengikuti perkembangan zaman. SD-EXT ini memanfaatkan fasilitas Symlink yang didukung oleh Linux, dimana kita dapat melakukan symbolic link (memetakan) suatu file atau direktori dari satu partisi menuju partisi lainnya. Contohnya, kita memiliki direktori /sd-ext/app_s pada SD-EXT, dan lazimnya semua aplikasi system disimpan dalam /system/app, maka kita dapat melakukan symlink dari /sdext/app_s menuju /system/app, sehingga ketika system mengakses file/direktori dari /system/app maka system akan membaca file/direktori itu dari /sd-ext/app_s. Beberapa pengembangan SD-EXT ini telah dilakukan oleh beberapa developer dan customROM chef, seperti app2sd, data2sd, dan Modifikasi yang saya buat sendiri AD2SDX ( Lihat di XDA-Developers ). Dimana mod-mod tersebut memiliki fungsinya masing-masing yang sebenarnya memiliki tujuan yang sama, yaitu memanipulasi filesystem yang terbatas agar dapat memanfaatkan penyimpanan data system di dalam External Memory. 6. Dev, Tmp, Proc Direktori-direktori tersebut bukanlah merupakan Storage, tapi merupakan virtual. dimana /dev merupakan direktori yang memuat semua stream hardware, /tmp merupakan penyimpanan temporary pada ram, dan/proc merupakan direktori untuk menyimpan informasi proses yang berjalan. Seperti halnya linux pada PC, semua akses aplikasi menuju hardware dapat dilakukan dengan mengakses stream pada /dev, seperti halnya kita mengakses file biasa. Kita dapat mengakses framebuffer display secara langsung pada file /dev/graphics/fb0, atau mengakses input device secara langsung pada /dev/input. Sistem Android mengakses hardware melalui /dev ini, dimana /dev ini lah yang diatur oleh Kernel Linux.

Kita juga dapat mengetahui ID suatu proses dan proses apa saja yang sedang berjalan pada direktori /proc. dan dapat juga menyimpan file temporary pada direktori /tmp untuk dilakukan proses selanjutnya. Hanya saja direktori-direktori ini hanya dapat diakses bila Anda memiliki permission root.

4. Manajemen Memori pada Android Proses dapat dibunuh menurut tingkat prioritasnya. proses dengan tingkat prioritas yang lebih rendah akan dibunuh terlebih dahulu. Prioritasnya juga dapat dipengaruhi oleh ketergantungan antar proses. Semua aplikasi Android akan tetap berjalan dan berada dalam memori sampai sistem membutuhkan resource untuk aplikasi lain

Gambar 2 State Aplikasi

Sangat penting untuk merancang aplikasi dengan benar untuk memastikan bahwa prioritas sesuai untuk melakukan pekerjaan itu. Jika tidak, aplikasi tersebut bisa dibunuh ketika berada pada sesuatu yang penting. Berikut rincian masing-masing state dari aplikasi yang ditunjukkan pada gambar di atas : Active Processes Active (foreground) merupakan proses aplikasi hosting yang memugkinkan komponen untuk berinteraksi dengan pengguna. Merupakan upaya Android untuk selalu responsif. Proses Active meliputi:

* Aktivitas yang dilakukan pada keadaan sistem operasai berada pada kondisi “active”, yaitu proses dasar yang memungkinkan terjadinya event yang diminta oleh user. * Baik kegiatan, service, atau penerimaan broadcast yang sedang melaksanakan event handler onReceive. * Layanan saat melaksanakan onStart, OnCreate, atau event handler onDestroy. Visible Processes Visible, Kegiatan hosting bertipe ini memungkinkan proses terlihat, tetapi mereka tidak dapat menanggapi inputan dari pengguna. Proses ini umumnya sangat sedikit, mereka akan berhenti bekerja pada keadaan ekstrim dan proses selanjutnya akan dilakukan oleh proses yang aktif.. Started Service Processes, Layanan ini mendukung proses berkelanjutan, namun dengan tidak menampilkan antarmuka. Started Service Process tidak memungkinkan interaksi langsung dengan pengguna, oleh karena itu proses dengan tipe ini menerima prioritas yang lebih rendah di banding aktivitas “active”. Proses ini tidak akan dihentikan kecuali apabila sumber daya yang mereka butuhkan sama dengan proses “active”. Background Processes, aktivitas proses hosting yang tidak terlihat dan yang tidak memiliki layanan yang telah dimulai dianggap sebagai proses background. pada umumnya terdapat banyak proses background yang akan dibunuh oleh anroid menggunakan pola last seen first killed untuk mendapatkan sumber daya untuk proses foreground. Empty Processes Untuk meningkatkan kinerja sistem secara keseluruhan, Android sering mempertahankan aplikasi dalam memori setelah mereka telah mencapai akhir lifetime. Android mengelola cache untuk meningkatkan waktu start-up aplikasi ketika mereka dijalankan kembali. Proses ini dibunuh secara rutin sesuai kebutuhan. Cara menggunakan memori dengan efisien Android mengelola aplikasi yang berjalan di belakang (belakang). Android menutup aplikasi bila sistem membutuhkan memori dengan jumlah yang lebih banyak. Namun, kebanyakan pengguna android tidak puas dengan cara ini, karena apabila terlalu banyak proses yang dilakukan dapat menyebabkan penurunan kinerjai. Kita dapat menggunakan task manager untuk mengelola memori dengan lebih efisien.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF