materi kuliah
apa itu Android
1. Apa itu Android? Android adalah Perangkat Lunak (Software) untuk perangkat mobile yang berbasis linux dan mencakup sebuah sistem operasi, aplikasi dan middleware. Platform Android bersifat terbuka bagi pengembangan maupun banyak perangkat mobile lainnya yang mendukung Android. Android juga telah hadir dalam netbooks, tablet internet(contoh ARCHOS 5), ebook reader, FrameFoto digital dan banyak perangkat elektronik lainnya. Bahkan juga telah dikembangkan konsep microwave berbasis android dan juga pengering maupun pencuci. Operator perangkat Mobile dan sejenisnya melakukan kampanye serius dan mengeluarkan biaya besar-besaran untuk mengembangkan Android pada perangkat mobile
2. Sejarah Singkat Android Pada tahun 2007, sekelompok pengusahan handset, perangkat wireless dan pengembang perangkat lunak (software) termasuk Google membentuk suatu organisasi yang dinamai Open Handset Alliance, yang bertujuan mengembangkan generasi terbaru platform wireless yang bersifat nonproprietarydan terbuka yang dapat mengurangi biaya dan meningkatkan keuntungan. Pengembang perangkat lunak (software) juga dapat memiliki akses yang lebih jauh terhadap fitur-fitur handsetserta inovasi yang lebih jauh lagi. Open Handset Allianceterdiri dari 34 perusahaan perangkat keras dan perangkat lunak juga telekomunikasi antara lain Google, Intel, Motorola, Qualcomm, T-Mobile dan Nvidia. Terdapat 2 jenis Distributor Android yakni GMS (Google Mail Services) yang mendapat dukungan penuh dari Google dan OHD(Open Handset Distribution) yang distribusinya benar-benar bebas tanpa dukungan langsung Google. Pada tahun 2008 Open Handset Alliance mengumumkan platform Android dan mengumumkan program beta bagi pengembang. Beberapa revisi dan perbaikan dilakukan terhadap Android Software Development Kit (SDK) yang dirilis dan pada akhir 2008. Memasuki tahun 2009, banyak handset Android dan tipe perangkat yang didukung Android memasuki pasaran dunia. Ada lebih dari 36 telephone Android yang tersedia dari banyak pembawanya di seluruh dunia. Dan ini belum termasuk sejumlah perangkat Table Android maupun e-book reader yang juga tersedia.
Modul Perkuliahan Aplikasi Nirkabel, STTI semester Ganjil 2015-2016 @copyright 2015, Andri, Mkom.
Pada 9 Desember 2008 diumumkan anggota baru yang bergabung dalam program kerja Android antara lain ARH Holdings, Atheros Communication, yang diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericson, Toshiba corp dan Vodafone Group. Juga dilakukan pembentukan OHA (Open Handset Alliance) yang mengumumkan produk perdananya, Android, perangkat mobile yang merupakan modifikasi kernel linux 2.6 yakni Handset Android pertama (T-Mobile G1). Pada masa kini vendor-vendor smartphone telah memproduksi banyak smartphone berbasis Android, vendor-vendornya antara lain HTC, Motorola, Samsung, LG, HKC, Huawei, Archos, Webstation Camangi, Dell, Nexus, SciPhone, WayteQ, Sony Ericson, Acer, Phillips, T-Mobile, Nexian, Asus dan masih banyak vendor lainnya yang memproduksi Android karena bebas didistribusikan vendor manapun dengan sistem operasi open source. Android juga menjadi pesaing Apple untuk Tablet PC.
3. Platform Android Platform berbasis Android tidak mahal dan mudah dikembangkan serta tersedua jutaan hingga miliaran pengguna potensial di seluruh dunia, serta memiliki keterbatasan yang lebih sedikit ketimbang platform lainnya. Platform Android masih terbilang sangat baru dan muda sehingga belum semua potensialitas Android terpenuhi. Yang berarti banyak perbaikan atau update SDK sehingga memunculkan banyak perangkat baru di pasaran, yang juga akan menambah lapangan pekerjaan terbaru yang bersifat full-time di seluruh dunia. Android adalah Aplikasi mobile bebas platform pertama yang lengkap, dimana pengembang (developer) dapat menikmati sebuah perangkat pengembangan yang komprehensif dengan tool-tool yang hebat, aplikasi yang kaya fitur. Platformnya yang open-source akrab dengan pengembang(developer) standar yang terbuka dan juga tidak ada biaya yang dibebankan bagi pengembang untuk mencoba memasuki pengembangan aplikasi berbasis Android. Biaya dibutukan untuk publikasi distribusi aplikasi bagi pihak ketiga seperti Android Market. Pengembang Android memiliki banyak pilihan untuk mendistribusikan serta mengkomersialisasikan aplikasi mereka. Sehingga Platform Android dapat disingkat dengan tiga kalimat : Lengkap, Bebas dan Terbuka. Android didistribusikan dibawah Lisensi Apache Software yang memungkinkan untuk distribusi kedua dan seterusnya, sistem operasi yang mendasarinya
Modul Perkuliahan Aplikasi Nirkabel, STTI semester Ganjil 2015-2016 @copyright 2015, Andri, Mkom.
dilisensikan dibawah GNU (General Public Lisensi) Versi 2 yang dikenal dengan istilah “copyleft”. Sebagian besar pengembang menggunakan Eclipse yang tersedia secara bebas untuk merancang dan mengembangkan aplikasi Android. Eclipse adalah IDE paling populer untuk pengembangan Android, karena memiliki Android plug-in yang tersedia untuk memfasilitasi pengembangan Android dan mendapat dukungan Google untuk menjadi IDE pengembangan. Namun hal ini tidak menutup kemungkinan pengembangan Android dengan menggunakan IDE lainnya seperti NetBeans. Aplikasi Android dapat dikembangkan pada sistem operasi berikut : Windows XP/7 Mac OS X Linux
4. DVM (Dalvik Virtual Machine) dan JVM(Java Virtual Machine) Salah satu elemen utama Android adalah Dalvik Virtual Machine (DVM) ketimbang menggunakan Java Virtual Machine (JVM) tradisional seperti JAVA ME (Java Mobile Edition). Android menggunakan VM yang didesain sendiri untuk memastikan banyak instan yang dapat berjalan secara efisien pada sebuah perangkat tunggal. DVM menggunakan menggunakan perangkat yang ditangani menggunakan kernel Linux untuk menangani fungsionalitas low-level seperti security, thread dan manajemen proses maupun memori. Juga mungkin untuk menuliskan aplikasi dengan C/C++ yang dapat berjalan secara langsung dibawah Sistem Operasi Linux. Jika dibutuhkan kecepatan dan efisiensi C/C++ untuk pembuatan Aplikasi, Android menyediakan fitur yang dikenal dengan nama Native Development Kit (NDK). NDK memungkinkan pengembang untuk membuat library C++ menggunakan library libc dan libm yang memungkinkan untuk akses ke OpenGL. Semua akses layanan sistem dan perangkat keras Android diatur menggunakan Dalvik sebagai tier perantara. Dengan menggunakan sebuah VM untuk eksekusi aplikasi host, pengembang memiliki sebuah layer abstraksi yang memastikan bahwa mereka tidak harus khawatir untuk implementasi pada perangkat keras (hardware) yang berbeda.
Modul Perkuliahan Aplikasi Nirkabel, STTI semester Ganjil 2015-2016 @copyright 2015, Andri, Mkom.
DVM menjalankan sebuah file Dalvid yang dapat dieksekusi, sebuah format yang dioptimalkan untuk memastikan memori minimal. Pengembang membuat .dex yang dapat dijalankan dengan mentransformasikan file kelas(.class) bahasa Java menggunakan tool yang diberikan dalam SDK. DVM didesain dan ditulis oleh Dan Bornstein untuk Google. Kode dikompilasi menjadi instruksi berbahasa mesin yang independen yang dikenal dengan bytecodes yang kemudian dijalankan oleh DVM pada perangkat Mobile. Walaupun format bytecode sedikit berbeda, Dalvid secara esensinya adalah sebuah JVM yang dioptimalkan untuk kebutuhan memori rendah, yang memungkinkan instan VM untuk berjalan satu kali dan memanfaatkan security dan proses isolation seperti pada sistem operasi Linux. DVM adalah implementasi Java ala Google, yang seperti telah dikemukakan sebelumnya, dioptimalkan untuk perangkat mobile. Semua kode yang dituliskan untuk Android ditulis dalam bahasa Java dan berjalan menggunakan VM. Dalvik berbeda dengan Java tradisional dalam dua hal penting yakni : DVM menjalankan file .dex yang dikonversikan waktu kompilasi dari file standar .class dan file .jar, file .dex lebih padat dan efisien ketimbang file class, sebuah pertimbangan penting yang ditargetkan Android untuk memori yang terbatas dan perangkat dengan tenaga bateri. Library core Java yang ada di Android berbeda dengan library Java Standard Edition (JAVA SE) dan Library Java Mobile Edition (Java ME) Gambaran utama implementasi dari JVM ala Dan Bornstein – yang menuliskan DVM, Dalvik adalah nama tempat pemancingan di Islandia -, Pertama : DVM menggunakan file kelas Java dan mengkombinasikan menjadi satu atau lebih file Dalvik Executable (.dex), yang menggunakan kembali informasi duplikat dari banyak file kelas yang secara efektif mengurangi kebutuhan ruang (yang tidak dikompresi) menjadi separuh dari sebuah file .jar tradisonal. Sebagai contoh file .dex dari aplikasi browser web pada Android adalah sekitar 200K yang ekuivalen dengan versi .jar yang tidak dikompresi sekitar 500K. File .dex dari suatu aplikasi alarm jam adalah sekitar 50K sementara ukuran versi .jar dua kali lipatnya. Kedua, Google telah memperbaiki garbage collection dalam DVM, dengan memilih untuk menghilangkankompiler JIT (Just-in-time) pada rilis yang terbaru. Yang terakhir, DVM menggunakan semacam generate untuk kode asembli yang berbeda, dimana ia menggunakan peregister sebagai unit penyimpanan data utama.
Modul Perkuliahan Aplikasi Nirkabel, STTI semester Ganjil 2015-2016 @copyright 2015, Andri, Mkom.
Perbandingan lainnya untuk konfigurasi perangkat (device), dimana Java ME menggunakan dua kelas perangkat mikro dan menawarkan solusi standar yang berbeda untuk masing-masingnya. Di sisi lain, Android hanya menerapkan satu model saja. Yang tidak akan berjalan pada perangkat low-end melainkan sampai konfigurasi perangkat tersebut ditingkatkan. Mudah difahami : Android lebih mudah difahami dibandingkan dengan Java ME, karena Java ME memiliki model UI yang banyak untuk masingmasing konfigurasi perangkatnya, bergantung pada fitur-fitur yang didukung perangkat seperti : MIDlets, Xlets, AWT dan Swing. JSR untuk masing-masing spesifikasi JavaME sulit untuk diikuti. Membutuhkan waktu yang panjang untuk menjadi matang dan untuk menemukan implementasinya juga sulit. Lebih Responsif : DVM diciptakan lebih optimal dan lebih responsif jika dibandingkan dengan JVM Standard yang didukung pada sebuah perangkat yang telah dikonfigurasikan secara sama. Kompatibel denganJava : DVM kompatibel untuk Java, karena DVM selain menjalankan bytecode .dex juga menjalankan kode Java, selagi Java di kompilasi menjadi standar file kelas java, yang tidak mungkin hanya menginterpretasi runtime kode Java dengan menggunakan DVM. Dukungan Java SW : Bila dibandingkan dengan dukung Java SE ada CDC, maka dukungan Android untuk Java SE sedikit lebih lengkap, kecuali AWT dan Swing. Seperti telah dijelaskan sebelumnya bahwa Android memiliki pendekatan UI-nya sendiri dan UI Android memiliki platform UI yang lebih lebih canggih seperti Microsoft Silverlight dan Sun’s JavaFX. Aplikasi pada sebuah perangkat Android seperti T-Mobile G1 atau Motorola Droid dikembangkan menggunakan Java dan dapat dijalankan menggunakan DVM
5. Android SDK (Software Development Kit) dan ADT (Android Development Tools) Android SDK adalah tool API (Application Programming Interface) yang dibutuhkan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Android merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middlewaredan aplikasi kunci yang dirilis oleh Google. Saat ini disediakan Android SDK sebagai alat bantu dan
Modul Perkuliahan Aplikasi Nirkabel, STTI semester Ganjil 2015-2016 @copyright 2015, Andri, Mkom.
API untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Sebagai platform aplikasi-netral, Android memberi kesempatan untuk membuat aplikasi yang dibutuhkan bukan merupakan aplikasi bawaan smartphone. Beberapa fitur-fitur Android yang paling penting adalah : Tanpa biaya lisensi, distribusi dan pengembangan serta proses persetujuan untuk versi yang dirilis. Akses perangkat keras menggunakan WiFi Jaringan GSM, EDGE dan 3G untuk telefon dan transfer data memudahkan untuk melakukan panggilan maupun menerima telepon, pesan SMS atau untuk mengirimkan dan menerima data melalui jaringan perangkat mobile. API yang komprehensif untuk layanan berbasis lokasi seperti GPS Pengendalian perangkat keras multimedia secara penuh termasuk menjalankan maupun merekam penggunaan kamera dan mikropon API untuk penggunaan sensor perangkat keras termasuk accelerometer dan librari penunjuk arah dalam penggunaan Bluetooth sebagai pentransfer data peer-to-peer. Penyimpanan data menggunakan SQLite Aplikasi backround dan proses Widget, Live Folder dan Wallpaper Sebuah browser terintegrasi berbasis HTML5 yang bersifat open-source Dukungan penuh bagi aplikasi yang mengintegrasikan kendali map(peta) pada UI. Grafik untuk dukungan perangkat keras dengan akselerasi mobile yang dioptimalkanm termasuk librari grafik 2Ddan dukungan Grafik 3D menggunakan OpenGL Librari media untuk menjalankan berbagai macam audio/video atau format gambar. Framework aplikasi yang mendorong penggunaan kembali komponenkomponen aplikasi serta menggantikan komponen sebelumnya. VDM dioptimalkan untuk perangkat mobile Software SDK Android dapat diunduh langsung dari situs resmi pengembang SDK Android di http://www.developer.android.com ADT adalah plugin yang didesain untuk IDE Eclipse yang memberikan kemudahan dalam mengembangkan aplikasi dengan menggunakan IDE Eclipse.
Modul Perkuliahan Aplikasi Nirkabel, STTI semester Ganjil 2015-2016 @copyright 2015, Andri, Mkom.
Dengan menggunakan ADT untuk Eclipse akan memudahkan kita dalam membuat aplikasi proyek Android, membuat GUI aplikasi dan menambahkan komponen-komponen lainnya. Dengan menggunakan ADT dapat dibuat package android (.apk) yang digunakan untuk distribusi aplikasi android yang telah dirancang. Beberapa versi ADT yang telah dirilis untuk Eclipse adalah sbb : ADT 20.0.3(Agustus 2012)
ADT 20.0.2(Juli 2012) ADT 20.0.1(Juli 2012) ADT 20.0.0(Juni 2012) ADT 18.0.0(April 2012) ADT 17.0.0(Maret 2012) ADT 16.0.1(Desember 2011) ADT 16.0.0(Desember 2011) ADT 15.0.1(November 2011) ADT 15.0.0(Oktober 2011) ADT 14.0.0(Oktober 2011) ADT 12.0.0(Juli 2011) ADT 11.0.0(Juni 2011) ADT 10.0.0(March 2011) ADT 9.0.0(Februari 2011) ADT 8.0.1(Januari 2011) ADT 8.0.0(Desember 2010) ADT 0.9.9(September 2010) ADT 0.9.8(September 2010) ADT 0.9.7(May 2010) ADT 0.9.6(March 2010) ADT 0.9.5(Desember 2009) ADT 0.9.4(Oktober 2009) Untuk download ADT dapat dilakukan di : http://developer.android.com/sdk/eclipse-adt.html
Modul Perkuliahan Aplikasi Nirkabel, STTI semester Ganjil 2015-2016 @copyright 2015, Andri, Mkom.
6. Arsitektur Android Secara garis besar Arsitektur Android dapat digambarkan sebagai berikut : Application dan Widgets/Application Layer Semua aplikasi baik native dan pihak ketiga dibangun di layer aplikasi (Application layer) dengan menggunakan librari API yang sama. Layer aplikasi berjalan dalam runtime Android, menggunakan class dan service yang disediakan dari framework aplikasi (application framework) Application Frameworks Framework aplikasi menyediakan kelas yang digunakan untuk membuat aplikasi Android, juga menyediakan abstraksi generik untuk akses perangkat keras dan mengatur UI serta sumber daya (resource) aplikasi. Komponen-komponen yang termasuk di dalam Application Frameworksadalah sebagai berikut : a) Views b) Content Provider c) Resource Manager d) Notification Manager e) Activity Manager Libraries Librari berjalan pada bagian atas Kernel Android termasuk beberapa librari inti C/C++ seperti libc dan SSL bersama dengan o Sebuah Librari media untuk menjalankan media audio dan video o Surface Manager, librariyang menyajikan manajemen tampilan o Librari grafik yang memasukkan SGL dan OpenGL untuk grafik 2D dan 3D o Librari SQLite untuk dukungan database. o Librari SSL dan WebKit untuk keamanan internet dan terintegrasi dengan browser web. o Librari LiveWebCore mencakup web browser modern dengan engine embedded web view. o Librari 3D yang mencakup implementasi OpenGL ES 1.0 API Android Run Time Yang membuat handphone android sebagai sebuah handphone android ketimbang sebuah implementasi Linux yang bersifat mobile adalah Android Run Time. Yang termasuk di dalamnya librari inti dan DVM,
Modul Perkuliahan Aplikasi Nirkabel, STTI semester Ganjil 2015-2016 @copyright 2015, Andri, Mkom.
Adroid Run Time adalah mesin yang memperkuat aplikasi serta bersamaan dengan itu librari menjadi basis framework aplikasi. o Librari inti (Core Libraries) :Ketika pengembangan Android dilakukan dengan Java, Dalvik bukan JVM. Librari inti Android menyedikan fungsionalitas yang tersedia dalam libraru java inti sebagai librari spesifik Android. o DVM adalah Virtual Mesin yang telah dioptimalkan untuk memastikan bahwa sebuah perangkat atau device dapat menjalankan banyak instan secara efisien. Yang tersedia pada kernel linux untuk manajemen memori low-level dan thread. Linux Kernel Layanan inti Linux Kernel(termasuk driver hardware, proses dan manajemen memori, keamanan, jaringan dan manajemen power) ditangani oleh Linux Kernel 2.6.
Gambar Arsitektur Android
7. Versi Android
Modul Perkuliahan Aplikasi Nirkabel, STTI semester Ganjil 2015-2016 @copyright 2015, Andri, Mkom.
Versi-versi Android yang pernah dirilis adalah sebagai berikut : 1. Android versi 1.1 Pada 9 Maret 2009, Google merilis Android versi 1.1. Android versi ini dilengkapi dengan pembaharuan estetis pada aplikai, jam, alarm, voice search, pengiriman pesan dengan Gmail dan pemberitahuan Email. 2. Android versi 1.5 (Cupcake) Pada pertengahan Mei 2009, Google kembali merilis telefon seluler dengan menggunakan Android dan SDK dengan versi 1.5(cupcake). Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan menonton video dengan kamera, meng-upload video ke Youtube dan gambar ke Picasa langsung dari telefon, dukungan Bluetooth A2DP, kemampuan terhubung secara otomatis ke headset Bluetooth, animasi layar, dan keyboardpada layar yang dapat dapat disesuaikan dengan sistem. 3. Android versi 1.6 (Donut) Dirilis pada bulan September dengan menampilkan proses pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai indikator dan kontrol applet VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus; kamera, camcorderdan galeri yang terintegrasi, CDMA/EVDO, 802.1x, VPN, Gestures dan Textto-speech engine, kemampuan dial kontak, kemampuan text to change speech (tidak tersedia pada semua ponsel, pengadaan resolusi VWGA. 4. Android versi 2.0/2.1(Eclair) Pada desember 2009 kembali diluncurkan ponsel Android versi 2.0/2.1(Eclair), perubahan yang dilakukan adalah pengoptimalan perangkat keras (hardware), peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk karema 3,2MP, digital zoom dan Bluetooh 2.1. 5. Android versi 2.2(Froyo: Frozen Yoghurt) Pada Mei 2010 Android versi 2.2. Rev 1 diluncurkan. Android ini lah yang sekarang banyak bereda di pasaran, salah satunya di gunakan Samsung FX Tab yang sudah beredar di pasaran. Fitur yang tersedia di android versi ini sudah termasuk kompleks. Diantaranya adalah : Kerangka aplikasi memungkinkan penggunaan dan penghapusan komponen yang tersedia.
Modul Perkuliahan Aplikasi Nirkabel, STTI semester Ganjil 2015-2016 @copyright 2015, Andri, Mkom.
DVM dioptimalkan untuk perangkat mobile. Grafik 2D dan grafif 3D yang berdasarkan librari OpenGL SQLite untuk penyimpanan data. Mendukung media: audio, video dan berbagai format gambar (MPEG4, MP3, AME, AAC, JPG, PNG, GIF) GSM, Bluetooth,EDGE, 3G dan WiFi Kamera, GPS, Kompas dan Accelerometer 6. Android versi 2.3 (Gingerbread) Android versi 2.3 diluncurkan pada desember 2010, hal-hal yang direvisi dari android versi sebelumnya adalah sebagai berikut : SIP-based VOIP Near Field Communication(NFC) Gyroscope dan Sensor Multiple cameras support Mixable audio effects Download manager 7. Android versi 3.0 (Honeycomb) Dirilis februari 2011 sebagai android 3.0 revisi 1 serta android versi 3.0 revision 2 telah dirilis pada juli 2011. 8. Android versi 3.1 dirilis mei 2011, sedangkan android 3.1 revisi 2 juga dirilis mei 2011, serta android 3.1 revision 3 dirilis pada Juli 2011. 9. Android versi 3.2 dirilis Juli 2011 10. Android versi 4.0 dirilis November 2011 Android versi 3.0 ke atas adalah generasi platform yang digunakan untuk tablet pc. Sementara versi 4.0 sudah merupakan platformyang bisa dipakai di smartphone dan tablet pc.



Posting Komentar
0 Komentar