Anda di halaman 1dari 9

1.

Android Fundamental
A. Arsitektur Android

Gambar 1.1 Arsitektur Android (https://www.semanticscholar.org)

Arsitektur android terdiri dari 5 bagian yang harus diketahui oleh setiap developer apabila ingin
membangun sebuah aplikasi berbasis android. Masing-masing bagian ini menghimpun beberapa
program yang mendukung fungsi-fungsi spesifik dari sistem operasi.

Berikut penjelasan masing-masing bagian dari arsitektur android.

I. Applications

Applications merupakan tingkatan pertama dan lapisan terluar pada arsitektur android. Yang
dimaksud dengan applications disini adalah aplikasi-aplikasi baik yang merupakan bawaan dari
android tersebut ataupun yang diinstall sendiri yang dipakai secara langsung oleh penggunanya
seperti Web Browser, Message, Contact, dan lain-lain. Pada lapisan ini pengguna dapat memakai
aplikasi tanpa harus mengetahui proses kerja di balik aplikasi tersebut.

II. Application Framework

Application Framework menyediakan class-class yang dapat digunakan untuk mengembangkan


sebuah aplikasi android. Ketika ingin membuat aplikasi android, developer dapat memiliki akses
framework API yang sama yang digunakan oleh aplikasi dasar atau bawaan. API tersebut
digunakan untuk mengatur kerja aplikasi tersebut.

Berikut dibawah ini contoh-contoh application framework.

1. Activity Manager – mengatur lifecycle dari sebuah aplikasi dan activity stack.
2. Window Manager – mengatur atau mengalokasikan layar dari sebuah aplikasi. Contohnya
dalam sebuah aktivitas saat mengakses aplikasi muncul sebuah pop-up window.
3. Content Provider – memberikan izin untuk dapat mengakses data dari aplikasi lain
contohnya kontak, album foto, dan lain-lain.
4. View System – serangkaian tampilan yang dapat digunakan untuk user interface sebuah
aplikasi diantaranya termasuk daftar, kotak teks, tombol, dan bahkan browser web yang
dapat disematkan.
5. Package Manager – mengatur berbagai macam informasi yang berkaitan dengan aplikasi
yang ter-install pada perangkat tersebut.
6. Telephony Manager – mengizinkan aplikasi untuk menggunakan kemampuan telepon pada
perangkat.
7. Resource Manager – menyediakan akses ke resource yang bersifat non-code seperti strings,
grafik dan layout user interface.
8. Location Manager – mengizinkan aplikasi untuk melacak lokasi dari perangkat untuk
kepentingan aplikasi tersebut contohnya maps.
9. Notification Manager - menampilkan pemberitahuan atau pengingat pada aplikasi.
III. Libraries

Libraries adalah sekumpulan kode yang berbasis bahasa C/C++ untuk memproses atau
menangani berbagai macam tipe data.

Berikut dibawah ini beberapa kegunaan libraries:

1. Surface Manager – menyusun atau mengelola penggambaran dan komposisi komponen


pada tampilan windows di layar aplikasi.
2. SGL – sebagai engine grafis 3 dimensi
3. Open GL|ES – sebagai engine grafis 2 dimensi
4. Media Framework – mengatur perekaman atau pemutaran dari berbagai macam format
audio, video, dan gambar.
5. Free Type – menerjemahkan font
6. WebKit – sebagai engine web browser.
7. libc (System C libraries) – library dari fungsi-fungsi standard yang digunakan oleh semua
C program.
8. SQLite – mengelola database yang digunakan pada aplikasi.
9. SSL – mengatur keamanan komunikasi jaringan.
IV. Android Runtime

Core library di android sebagai penyedia fungsi-fungsi khusus untuk android. Inilah yang
membedakan android dengan sistem operasi lain yang berbasis Linux juga. Android menjadi
lebih unggul dengan core library yang sudah tersedia.

Aplikasi android dibuat dari bahasa pemrograman Java dimana setiap aplikasi dapat menjalankan
prosesnya sendiri karena dijalankan di VM tanpa harus re-compile untuk perangkat lain. Akan
tetapi android tidak menggunakan Java Virtual Machine (JVM) melainkan menggunakan Dalvik
Virtual Machine (DVM). Dalvik Virtual Machine merupakan virtual machine yang diatur untuk
perangkat dengan memori yang kecil, resource yang terbatas dan processor yang kecil.

Sebelum aplikasi dijalankan, source code (.java) di compile menjadi java byte code berupa binary
(.class) yang kemudian diterjemahkan lagi menjadi file dengan format Dalvik Executable (.dex)
untuk meminimalisir memori footprints. Setelah itu .dex file akan dikelompokkan bersama
resource, certificate, dan file lainnya menjadi format .apk menggunakan aapt. File .apk ini yang
kita kenal sebagai aplikasi android.

Gambar 1.2 Proses Compile pada Android (https://www.javatpoint.com/)

V. Linux Kernel

Android merupakan sistem operasi berbasis Linux yang tentunya memiliki kernel. Kernel adalah
bagian atau inti utama dari sistem operasi Linux ataupun android yang mendukung berbagai
macam komponen hardware. Dan tugasnya untuk mengelola dan berkomunikasi dengan
hardware.
B. Komponen Aplikasi Android
Terdapat empat tipe utama dari komponen aplikasi android, diantaranya sebagai berikut.
1. Activity
Activity merupakan task yang pengguna jalankan melalui grafik user interface. Contohnya
adalah saat ingin mengirim pesan pengguna mencari nomor penerima pesan dengan cara
mencari kontak orang yang dimaksud dengan menampilkan daftar kontak di aplikasi
contact.

Setiap android pada umumnya memiliki lebih dari satu activity.Dari sebagian activity ada
satu activity yang bersifat main atau utama dan activity lainnya disebut child. Perlu
diketahui juga ada yang disebut back stack. Jadi apabila ada sebuah window baru mulai,
activity sebelumnya di-push ke belakang stack dan diberhentikan sampai activity yang baru
prosesnya sudah selesai. Dan activity yang baru tersebut di popped out dari stack dan
activity sebelumnya dilanjutkan.

Gambar 1.3 Android Activity dan Back Stack (https://www.wideskills.com/)

2. Services
Berbeda dengan activity, proses services berjalan di background tanpa ada interaksi dari
pengguna ataupun GUI. Contohnya mendengarkan musik di aplikasi streaming meskipun
sedang membuka aplikasi lain. Services biasanya ditulis dengan format xml file
"AndroidManifest.xml".

3. Broadcast Receivers
Digunakan untuk menerima dan merespon broadcast announcements. Contohnya adalah
pemberitahuan bahwa baterai perangkat sudah ingin habis. Broadcast receivers
menggunakan notification manager untuk menampilkan peringatan atau pemberitahuan
ketika ada broadcast.

4. Content Provider
Digunakan untuk mengelola kumpulan data apakah bersifat private atau dapat dibagikan ke
aplikasi lain. Aplikasi dapat memodifikasi data dengan bantuan content resolver interface
yang merupakan class didalam Android system.
C. Versi Android
Name Version API Level Released

Pie 9.0 28 Aug 2018

Oreo 8.1 27 Dec 2017

Oreo 8.0 26 Aug 2017

Nougat 7.1 25 Dec 2016

Nougat 7.0 24 Aug 2016

Marshmallow 6.0 23 Aug 2015

Lollipop 5.1 22 Mar 2015

Lollipop 5.0 21 Nov 2014

Kitkat Watch 4.4W 20 Jun 2014

Kitkat 4.4 19 Oct 2013

Jelly Bean 4.3 18 Jul 2013

Jelly Bean 4.2- 17 Nov 2012


4.2.2

Jelly Bean 4.1- 16 Jun 2012


4.1.1
Name Version API Level Released

Ice Cream 4.0.3- 15 Dec 2011


Sandwich 4.0.4

Ice Cream 4.0- 14 Oct 2011


Sandwich 4.0.2

Honeycomb 3.2 13 Jun 2011

Honeycomb 3.1.x 12 May 2011

Honeycomb 3.0.x 11 Feb 2011

Gingerbread 2.3.3- 10 Feb 2011


2.3.4

Gingerbread 2.3- 9 Nov 2010


2.3.2

Froyo 2.2.x 8 Jun 2010

Eclair 2.1.x 7 Jan 2010

Eclair 2.0.1 6 Dec 2009

Eclair 2.0 5 Nov 2009

Donut 1.6 4 Sep 2009


Name Version API Level Released

Cupcake 1.5 3 May 2009

Base 1.1 2 Feb 2009

Base 1.0 1 Oct 2008

2. Development Environment
A. Language
Java adalah bahasa pemrograman yang disupport oleh Google dan juga merupakan bahasa
pemrograman yang paling terkenal dan banyak digunakan untuk membuat aplikasi android. Selain
Java ada beberapa bahasa pemrograman yang dapat digunakan untuk membuat aplikasi android
berikut penjelasan lebih lanjut.

 Java
Menurut Andy Rubin, selaku co-founder dari Android Inc, Java dipakai sebagai bahasa
pemrograman khusus untuk android dikarenakan pada saat itu Java merupakan bahasa
pemrograman yang popular di kalangan developer.
 Kotlin
Kotlin menjadi urutan kedua dalam bahasa pemrograman yang dapat digunakan untuk
membuat aplikasi android. Dikarenakan memiliki banyak kemiripan dengan Java dan
mudah untuk dipelajari. Perbedaannya terletak pada “boiler plate” code yang artinya
lebih efisien dan lebih muda dibaca. Bahasa Kotlin juga di-support oleh Android Studio
salah satu development tools android.
 C/C++
Penggunaan bahasa C/C++ dalam pembuatan aplikasi android dapat dilakukan namun
tidak dianjurkan karena kurang fleksible. Android studio menyediakan Android NDK
(Native Development Kit) yang support C/C++, artinya code tidak akan dijalankan di Java
Virtual Machine (JVM) melainkan dijalankan secara natively pada perangkat yang
memberikan kontrol salah satunya pada bagian memori.
 C#
Berbeda dengan C/C++, C# lebih mudah dipakai untuk membuat aplikasi android. Bahasa
ini di-support oleh Unity dan Xamarin yang merupakan tools yang bagus untuk digunakan
untuk pembuatan aplikasi game.
 Basic
Satu bahasa pemrograman lain yang dapat digunakan untuk membuat aplikasi android.
Namun bahasa ini belum di-support oleh Android Studio, Unity ataupun Xamarin.
 Corona
Bahasa pemrograman satu ini lebih simple dari Java dan support semua native libraries.
 PhoneGap
Apabila sudah sering menggunakan HTML,CSS dan javascript dalam membuat website
maka PhoneGap salah satu solusi yang tepat untuk membuat aplikasi android.

B. Tools
1. Android SDK
Android Software Development Kit adalah tools yang dapat digunakan untuk membuat aplikasi
android yang dilengkapi dengan sample project, development tools dan emulator untuk
mencoba menjalankan program yang sudah dibuat.

Gambar 2.1 Android SDK

IntelliJ IDEA adalah salah satu Integrated Development Environment (IDE) yang paling populer
untuk pengembangan Java. Android Studio adalah versi IDEA yang mencakup versi SDK Android
dan alat GUI tambahan untuk membantu dalam pembuatan aplikasi android.

2. Eclipse
Eclipse merupakan Integrated Development Environment (IDE) yang digunakan untuk membuat
aplikasi sama halnya seperti Android Studio. Bahasa pemrograman yang didukung selain Java
diantaranya adalah C/C++, Python, dan lain-lain. Dengan hadirnya Android Studio, Google
memberhentikan support kepada Eclipse secara penuh pada tahun 2016.

3. Java Development Kit


Java Development Kit (JDK) adalah software dan tools yang digunakan untuk compile, debug ,
dan menjalankan aplikasi yang sudah dibuat menggunakan bahasa Java. Sebelum memakai
Android Studio sebaiknya cek terlebih dahulu versi JDK dan Java Runtime Edition (JRE) yang
dibutuhkan.

Anda mungkin juga menyukai