0% menganggap dokumen ini bermanfaat (0 suara)
256 tayangan125 halaman

Modul Android Gabungan 1

Dokumen tersebut membahas tentang materi pelatihan dasar Android yang mencakup tiga topik utama, yaitu perangkat keras dan perangkat lunak Android, perkembangan sistem operasi Android dari versi ke versi, dan kompatibilitas perangkat dan aplikasi Android.

Diunggah oleh

maulana.arya11g
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
256 tayangan125 halaman

Modul Android Gabungan 1

Dokumen tersebut membahas tentang materi pelatihan dasar Android yang mencakup tiga topik utama, yaitu perangkat keras dan perangkat lunak Android, perkembangan sistem operasi Android dari versi ke versi, dan kompatibilitas perangkat dan aplikasi Android.

Diunggah oleh

maulana.arya11g
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 125

DIKLAT

TINGKAT DASAR

MATERI:
1. PERANGKAT
ANDROID
2. ARSITEKTUR
APLIKASI
ANDROID
3. INTEGRATED
DEVELOPMENT
ENVIRONMENT
ANDROID STUDIO
OLEH : DWI WAHYU W
DAFTAR ISI

DAFTAR ISI ............................................................................................... i


DAFTAR GAMBAR .................................................................................. iii
PERANGKAT ANDROID.......................................................................... 1
TUJUAN PEMBELAJARAN: ....................................................................1
A. Perkembangan Sistem Operasi Android ........................................ 1
Urutan Perkembangan Versi Android Hingga Saat Ini .................. 1
1. Android 1.0 & 1.1: Astro (Alpha) & Bender (Beta) ..................... 2
2. Android 1.5: Cupcake .................................................................. 3
3. Android 1.6: Donut ...................................................................... 3
4. Android 2.0 & 2.1: Eclair.............................................................. 4
5. Android 2.2: Froyo (Frozen Yoghurt).......................................... 5
6. Android 2.3: Gingerbread ............................................................ 5
7. Android 3.0 & 3.2: Honeycomb ................................................... 6
8. Android 4.0: Ice Cream Sandwich .............................................. 7
9. Android 4.1 & 4.3: Jelly Bean ...................................................... 7
10. Android 4.4: KitKat .................................................................... 8
11. Android 5.0 & 5.1: Lollipop........................................................ 9
12. Android 6.0: Marshmallow ........................................................ 9
13. Android 7.0 & 7.1: Nougat ....................................................... 10
14. Android 8.0 & 8.1: Oreo ........................................................... 11
15. Android 9.0: Pie ....................................................................... 11
16. Android 10 ................................................................................ 12
17. Android 11: Red Velvet Cake? ................................................ 13
B. Fitur Perangkat Keras dan Perangkat Lunak Android .................. 14
1. Fitur Perangkat Keras Android .................................................. 14
2. Fitur Perangkat Lunak Android .................................................... 15
C. Kompatibilitas Perangkat dan Kompatibilitas Aplikasi Android ..... 16
1. Pengertian “Kompatibilitas” ............................................................. 17

INTEGRATED DEVELOPMENT ENVIRONMENT


I
ANDROID STUDIO
2. Mengontrol ketersediaan aplikasi ke perangkat ........................ 17
3. Versi Platform............................................................................ 19
4. Konfigurasi layar ....................................................................... 22
5. Perangkat yang Mendukung Potongan Layar ........................... 26
D. LEMBAR KERJA ........................................................................... 29
DAFTAR PUSTAKA ............................................................................... 30

INTEGRATED DEVELOPMENT ENVIRONMENT


II
ANDROID STUDIO
DAFTAR GAMBAR
Gambar 1 Berbagai Versi Android , Sumber gambar: businessinsider.com ...............................1
Gambar 2 Android 1.0 dan 1.1 Sumber gambar: bleepingcomputer.com ...................................2
Gambar 3 Android 1.5 Sumber gambar: androidheadlines.com.................................................3
Gambar 4 Android 1.6 Donut Sumber gambar: featuredtechnology.com ...................................3
Gambar 5 Android Éclair Sumber gambar: wired.com...............................................................4
Gambar 6 Android Froyo Sumber gambar: androidheadlines.com.............................................5
Gambar 7 Android Gingerbread Sumber gambar: deviantart.com .............................................5
Gambar 8 Android HoneyComb Sumber foto: cultofandroid.com...............................................6
Gambar 9 Android Ice Cream Sandwich Sumber foto: technobuffalo.com .................................7
Gambar 10 Android Jelly Bean Sumber gambar: technobuffalo.com .........................................7
Gambar 11 Android Kitkat Sumber foto: digitaltrends.com.........................................................8
Gambar 12 Android Lolipop Sumber gambar: extremetech.com................................................9
Gambar 13 Android Marshmallow Sumber gambar: pcmag.com ...............................................9
Gambar 14 Android Nougat Sumber foto: androidpit.com .........................................................10
Gambar 15 Android Oreo Sumber gambar: cnet.com ...............................................................11
Gambar 16 Android Pie Sumber foto: teletec.it..........................................................................11
Gambar 17 Android Q Sumber gambar: computerworld.com ....................................................12
Gambar 18 Android Red Velvet ................................................................................................ 13
Gambar 19 Konfigurasi Layar ...................................................................................................23
Gambar 20 Aplikasi yang sama menggunakan layout berbeda ..................................................... 24
Gambar 21 Pembesaran dari dua perangkat yang berukuran sama tetapi memiliki
kepadatan piksel yang berbeda ................................................................................................ 25
Gambar 22 Potongan Layar ......................................................................................................26
Gambar 23 Contoh Potongan layar potrait ................................................................................27
Gambar 24 Contoh Potongan Layar Landscape .......................................................................28

INTEGRATED DEVELOPMENT ENVIRONMENT


III
ANDROID STUDIO
PERANGKAT ANDROID

TUJUAN PEMBELAJARAN:

Setelah mempelajari materi ini melalui diskusi kelompok dan tanya


jawab peserta mampu:
1. Melakukan analisa urutan perkembangan Sistem Operasi
Android dengan benar
2. Melakukan analisa fitur perangkat keras dan perangkat
lunak Android dengan benar
3. Melakukan analisa kompatibilitas perangkat dengan benar
4. Melakukan analisa kompatibilitas aplikasi android dengan benar

A. Perkembangan Sistem Operasi Android

Perusahaan yang didirikan di Palo Alto, California pada Oktober 2003 ini
digawangi oleh Andy Rubin, yang juga dikenal sebagai Bapak Android
bersama Rich Miner, Nick Sears, dan Chris White. Pada perkembangan
selanjutnya, akhirnya Android dibeli oleh Google hingga pada tahun 2008 lalu
dirilis HTC Dream, ponsel pertama yang dibekali dengan sistem operasi
Android.

Gambar 1 Berbagai Versi Android , Sumber gambar: businessinsider.com

INTEGRATED DEVELOPMENT ENVIRONMENT


1
ANDROID STUDIO
Berikut ini adalah penjelasan secara terperinci urutan versi Android pertama
hingga versi Android terbaru.

1. Android 1.0 & 1.1: Astro (Alpha) & Bender (Beta)

Gambar 2 Android 1.0 dan 1.1 Sumber gambar: bleepingcomputer.com

Kedua versi awal Android ini mungkin agak asing, hal ini karena versi Android 1.0
Astro (Alpha) dan Android 1.1 Bender (Beta) ini belum diluncurkan secara publik
untuk kebutuhan komersil. Platform Android sendiri pertama kali diluncurkan pada
September 2008 dengan andil Andy Rubin yang saat ini dikenal sebagai Bapak
Android. Walau belum menggunakan nama makanan manis, kedua sistem operasi
Android ini tentu menjadi pionir. Pasalnya, di sinilah urutan OS
Android bermula lewat smartphone pertama, HTC Dream.

INTEGRATED DEVELOPMENT ENVIRONMENT


2
ANDROID STUDIO
2. Android 1.5: Cupcake

Gambar 3 Android 1.5 Sumber gambar: androidheadlines.com

Kalau versi Android pertama tadi belum menggunakan nama dessert, maka berbeda
dengan versi Android terbaru yang rilis tahun 2009 ini. Mulai dari versi Android 1.5
ini, nama Android mulai menggunakan nama makanan manis untuk setiap versi
yang diluncurkan. Android 1.5 Cupcake dirilis pada tanggal 30 April 2009 dengan
berbagai fitur di sebuah perangkat smartphone untuk menggantikan featured phone
kala itu.

3. Android 1.6: Donut

Gambar 4 Android 1.6 Donut Sumber gambar: featuredtechnology.com

INTEGRATED DEVELOPMENT ENVIRONMENT


3
ANDROID STUDIO
Tentu pada awal perilisannya, sistem operasi Android tetap memiliki banyak bug yang
mewajibkan pengembangnya untuk mengadakan perbaikan. Hal ini pun dilakukan
pada Android 1.6 Donut yang dirilis pada 15 September 2009. Artinya belum genap
setahun semenjak perilisan Android 1.5 Cupcake atau hanya berselang 5 bulan saja.
Jenis Android pun menambahkan beberapa pembaruan, terutama dukungan pada
layar smartphone yang lebih besar.

4. Android 2.0 & 2.1: Eclair

Gambar 5 Android Éclair Sumber gambar: wired.com

Sama seperti versi sebelumnya, OS Android terbaru selanjutnya, yakni Android 2.0
dan 2.1 Eclair, masih berfungsi untuk menutupi bug yang masih ditemukan pada
sistem operasi mobile ini. Di samping itu, Android juga menambah berbagai fitur
menarik di dalamnya yang siap digunakan oleh para pengguna smartphone berbasis
OS Android ini. Misalnya, dukungan fitur Bluetooth hingga fitur kamera yang mulai
menjadi nilai jual smartphone kala itu. Android 2.0 & 2.1 Eclair digunakan pada
perangkat seperti HTC Nexus One.

INTEGRATED DEVELOPMENT ENVIRONMENT


4
ANDROID STUDIO
5. Android 2.2: Froyo (Frozen Yoghurt)

Gambar 6 Android Froyo Sumber gambar: androidheadlines.com

Mulai dari versi Android ini tampaknya sudah mulai dikenal luas oleh berbagai brand
smartphone. Android 2.2 Frozen Yoghurt alias Froyo ini dirilis pertama kali pada
tanggal 20 Mei 2010. Walaupun sudah mulai dipergunakan pada beberapa brand,
namun tetap saja Android masih kalah bersaing dengan Symbian yang
mendominasi pasar featured phone. Tingkatan Android 2.2 Froyo memberikan
peningkatan pada kecepatan kerja, fitur USB tethering, WiFi hotspot, serta fitur
keamanan.

6. Android 2.3: Gingerbread

Gambar 7 Android Gingerbread Sumber gambar: deviantart.com

INTEGRATED DEVELOPMENT ENVIRONMENT


5
ANDROID STUDIO
Belum setahun berselang, Android 2.3 Gingerbread kembali diluncurkan pada
Desember 2010 dengan berbagai peningkatan yang cukup signifikan. Hal ini terutama
pada tampilan antar muka pengguna/user interface yang digunakan pada tipe Android
yang satu ini. Mulai dari nama versi Android ini, banyak brand smartphone yang mulai
melirik menggunakan sistem operasi Android. Salah satunya Samsung
Galaxy series yang populer hingga saat ini.

7. Android 3.0 & 3.2: Honeycomb

Gambar 8 Android HoneyComb Sumber foto: cultofandroid.com

Untuk para pengguna smartphone mungkin akan agak asing dengan versi Android
yang satu ini. Sebab, penggunaan Android 3.0 & 3.2 Honeycomb yang
menggunakan ikon lebah ini memang diperuntukkan khusus untuk perangkat tablet.
Tentu perilisan Android
3.0 & 3.2 Honeycomb pada 10 Mei 2011 ini untuk mendukung Samsung yang mulai
merilis perangkat tablet Samsung Galaxy Tab Series untuk menyaingi Apple iPad.

INTEGRATED DEVELOPMENT ENVIRONMENT


6
ANDROID STUDIO
8. Android 4.0: Ice Cream Sandwich

Gambar 9 Android Ice Cream Sandwich Sumber foto: technobuffalo.com

Selain itu, Android juga merilis versi Android 4.0 Ice Cream Sandwich yang kembali
diperuntukkan untuk perangkat smartphone. Sistem Android terbaru selanjutnya ini
dirilis pada 19 Oktober 2011 silam dan masih tetap menggunakan nama dessert,
merupakan versi nama paling panjang hingga saat ini. Android 4.0 Ice Cream
Sandwich memberikan banyak pembaruan, mulai dari animasi yang semakin halus,
sederhana, dan mudah digunakan.

9. Android 4.1 & 4.3: Jelly Bean

Gambar 10 Android Jelly Bean Sumber gambar: technobuffalo.com

INTEGRATED DEVELOPMENT ENVIRONMENT


7
ANDROID STUDIO
Bagi para pengguna smartphone Android dari awal Android muncul, pasti menyadari
peningkatan signifikan yang begitu terasa saat menggunakan Android 4.1 & 4.3
Jelly Bean. Sistem operasi Android ini pertama kali dirilis pada Juni 2012 dengan
membawa sejumlah peningkatan terutama di sektor pengolahan grafis. Dengan
begini, tentu Android 4.1 & 4.3 Jelly Bean dengan kode API level 18 bisa memberikan
peningkatan fungsi pada user interface dan teknologi Vsync yang digunakannya.

10. Android 4.4: KitKat

Gambar 11 Android Kitkat Sumber foto: digitaltrends.com

Menggunakan nama brand cemilan terkenal, Android 4.4 KitKat pertama kali dirlis
pada Oktober 2013 lalu. Versi Android terbaik pada masanya ini pun bisa dikatakan
menjadi jenis Android terfavorit karena mendukung hampir seluruh perangkat
smartphone di dunia. Hal ini dikarenakan Android 4.4 KitKat dapat memberikan
optimalisasi yang baik, termasuk pada perangkat smartphone yang memiliki
memadai atau cukup rendah saat itu.

INTEGRATED DEVELOPMENT ENVIRONMENT


8
ANDROID STUDIO
11. Android 5.0 & 5.1: Lollipop

Gambar 12 Android Lolipop Sumber gambar: extremetech.com

Mulai beberapa versi Android ke belakang, Android dan Google pun mulai secara rutin
memperbarui sistem operasi mereka dalam selang waktu setahun. Termasuk
Android
5.0 & 5.1 Lollipop dengan API level 21 yang dirilis dan diresmikan pada Juni 2014.
Bisa dibilang, seri Android ini menjadi pionir dibuatnya smartphone flagship dengan
spesifikasi cukup mumpuni. Versi Android ini sudah mendukung arsitektur 64-bit yang
sudah memungkinan penggunaan RAM di atas 3GB. Salah satunya Asus Zenfone 2
yang sudah mengusung RAM 4GB saat itu.

12. Android 6.0: Marshmallow

Gambar 13 Android Marshmallow Sumber gambar: pcmag.com

INTEGRATED DEVELOPMENT ENVIRONMENT


9
ANDROID STUDIO
Android 6.0 Marshmallow dengan API level 23 menjadi suksesor dari versi Android
sebelumnya. Sistem operasi ini pertama kali diperkenalkan pada Mei 2015 dan mulai
dirilis pada Oktober 2015 silam. Nama OS Android ini secara jelas memberikan
peningkatan pada sistem keamanan dengan dihadirkannya fingerprint sensor
sebagai sistem keamanan biometrik yang digunakan. Selain digunakan untuk
mengunci layar, fingerprint sensor ini dapat digunakan untuk otentikasi Google Play
Store dan pembelian dengan menggunakan Android Pay.

13. Android 7.0 & 7.1: Nougat

Gambar 14 Android Nougat Sumber foto: androidpit.com

Untuk saat ini, sistem operasi Android 7.0 & 7.1 Nougat mungkin masih digunakan
pada beberapa smartphone jadul. Android 7.0 & 7.1 Nougat pertama kali
diperkenalkan pada Juni 2016 dengan menampilkan ikon robot Android dengan
batangan Nougat. Versi Android ini mengalami perubahan dari segi tampilan
antarmuka. Selain itu, ada juga fitur splitscreen untuk membagi tampilan layar
untuk dua aplikasi sekaligus.

INTEGRATED DEVELOPMENT ENVIRONMENT


10
ANDROID STUDIO
14. Android 8.0 & 8.1: Oreo

Gambar 15 Android Oreo Sumber gambar: cnet.com

Selanjutnya, Android 8.0 & 8.1 Oreo menjadi sistem operasi Android yang banyak
digunakan pada beberapa smartphone, salah satunya mungkin smartphone yang
kamu gunakan saat ini. Versi Android ini dirilis secara stabil mulai Agustus 2017 dan
sudah mengalami pembaruan lewat versi Android 8.1.0 Oreo. Android 8.0 & 8.1 Oreo
menjadi versi Android kedua yang menggunakan makanan manis dari nama brand
terkenal setelah Android 4.4 KitKat. Sistem operasi Android Oreo menawarkan
pengalaman multitasking yang makin mumpuni dibanding versi sebelumnya. Ada
juga Project Treble yang memungkinkan pengguna mendapat pembaruan lebih
cepat.

15. Android 9.0: Pie

Gambar 16 Android Pie Sumber foto: teletec.it

INTEGRATED DEVELOPMENT ENVIRONMENT


11
ANDROID STUDIO
Kemudian ada generasi Android 9.0 Pie yang secara resmi diperkenalkan pada
Agustus 2018. Sistem operasi Android ini memberi banyak ubahan, terutama untuk
HP dengan desain baru. Misal Android 9.0 Pie memberikan navigasi berupa gesture
yang menggantikan tombol fisik Home, Back, dan Recent Apps.

Fitur lainnya yang cukup berguna adalah sistem notifikasi, pengatur kecerahan,
hingga sistem screenshoot terbaru yang lebih memudahkan pengguna.

16. Android 10

Gambar 17 Android Q Sumber gambar: computerworld.com

Lalu, ada versi Android terbaru Q atau versi Android 10 yang baru diluncurkan pada
13 Maret 2019 dan saat ini masih terbatas pada beberapa perangkat HP Android saja.
Versi Android tertinggi sekarang yang sudah rilis ini pertama disematkan
pada seri smartphone Google, yakni Google Pixel, Google Pixel XL, Google Pixel 2,
Google Pixel 2 XL, dan lainnya. Salah satu fitur dalam versi Android terbaru 2019 ini
adalah Dark Mode alias mode gelap yang diklaim mampu meningkatkan performa
baterai.

INTEGRATED DEVELOPMENT ENVIRONMENT


12
ANDROID STUDIO
17. Android 11: Red Velvet Cake?

Gambar 18 Android Red Velvet

Siklus penamaan menggunakan nama dessert sempat berhenti setelah Google merilis
Android 10. Nah, pada versi Android terbaru 2020 yang disebut Android 11, Google
kabarnya akan kembali menamainya dengan nama makanan manis, yakni Red Velvet
Cake. Namun, versi Android terbaru ini masih belum dirilis secara resmi sehingga
nama Android 11 masih dipertimbangkan dan hanya digunakan oleh tim developer
saja. Berdasarkan kabar yang beredar, ada sejumlah fitur Android 11 yang
kemungkinan bisa dinikmati setelah versi ini dirilis, misalnya fitur keamanan yang lebih
canggih dari sebelumnya.

INTEGRATED DEVELOPMENT ENVIRONMENT


13
ANDROID STUDIO
B. Fitur Perangkat Keras dan Perangkat Lunak Android

1. Fitur Perangkat Keras Android


Perangkat Android memiliki beberapa fitur perangkat keras didalamnya, yang
dapat dimanfaatkan developer dalam membangun aplikasi.

a. Touchscreen
Perangkat Android memiliki fitur layar sentuh yang memberikan beberapa
kemungkinan bagi pengguna untuk berinteraksi dengan aplikasi dengan
menggunakan jari. Pengguna dapat melakukan swipe, flip, drag, dan pinch
untuk zoom. Android juga mendukung multitouch yang berarti keseluruhan
layar dapat disentuh dengan satu atau lebih jari pada saat ang bersamaan.

b. GPS
Sistem operasi Android mendukung GPS yang memungkinkan develoer untuk
mengakses lokasi pengguna. Contoh aplikasi ang memanfaatkan GPS adalah
aplikasi peta (Map) ang menunjukan lokasi pengguna dan memberikan
petunjuk untuk menuju suatu lokasi.

c. Accelerometer
Android mendukung Accelerometer yaitu perangkat yang digunakan untuk
mengukur percepatan. Accelerometer dapat memberitahukan apabila suatu
perangkat android bergerak atau terguncang atau berbalik arah posisinya.

d. SD Card
Android memiliki fitur yang memungkinkan pengguna atau aplikasi untuk
mengakses (menyimpan atau membuka) file pada SD Card. SD Card
merupakan media penyimpanan medium yang digunakan perangkat android
dan beberapa perangkat mobile lain non android sebagai media penyimpanan.

INTEGRATED DEVELOPMENT ENVIRONMENT


14
ANDROID STUDIO
2. Fitur Perangkat Lunak Android
Android memiliki bayak fitur perangkat lunak yang dapat digunakan oleh
developer dalam mengembangkan aplikasi. Beberapa fitur populer yang akan
dijabarkan disini.

a. Internet
Kemampuan akses internet pada Android memberikan banyak keunggulan.
Berbagai informasi secara reat-time dapat diperoleh dengan mudah dengan
internet. Contoh, sebagai pengguna dapat menggunakan unternet untuk
melihat jadwal pemutaran film bioskop, cuaca suatu area, jadwal
penerbangan dan lainnya. Sebagai developer dapat menggunakan internet
untuk akses secara real-time kepada data, input data. Developer juga dapat
menggunakan internet untuk menyimpanan berbagai asset untuk kemudian
digunakan suatu aplikasi, seperti yang dilakukan Pandora dan Youtube.
Dengan internet dapat dibangun model aplikasi yang disebut client-server
computing. Contoh lain aplikasi peta mengakses data peta dan GPS dari web
server.

b. Audio dan Video Support


Sistem operasi Android memungkinkan developer menyertakan audio dan
video dalam aplikasi dengan mudah. Berbagai str format audio dan video
didukung.

c. Contact
Android memungkinkan akses ke contacs yang tersimpan di perangkat
Android. Developer dapat menggunakan fitur ini menampilkan contacts dalam
cara baru yang berbeda. Hal ini yang dapat dilakukan adalah membangun
aplikasi yang menggabungkan antara contacts dengan GPS yang memberikan
notifikasi kepada pengguna jika pengguna berada didekat alamat satu contact
yang ada.

INTEGRATED DEVELOPMENT ENVIRONMENT


15
ANDROID STUDIO
d. Security
Android memungkinkan aplikasi untuk melakukan banyak hal. Android juga
menyiapkan mekanisme keamanan berupa permission berkaitandengan
beberapa tugas. Contoh: Download image dan penyimpanan di SD Card, maka harus
disetujui terlebih dahulu permission untuk mengakses SD Card.

e. Google APIs
Sistem operasi Android memungkinkan dengan tidak terbatas membuat
panggilan telepon mengorganisasi contacts atau menginstall aplikasi.
Developer dapat mengintegrasikan peta kedalam suatu aplikasi dengan
menggunakan Maps API yang mengandung Map Widgets. Berbagai fitur
dapat ditambahkan dengan Maps API, antara lain:
(1) Menampilkan suatu lokasi di peta
(2) Mendapatkan panduan navigasi
(3) Komunikasi data antara aplikasi dengan clouds

C. Kompatibilitas Perangkat dan Kompatibilitas Aplikasi Android

Android didesain untuk berjalan di banyak jenis perangkat, mulai dari ponsel hingga
tablet dan TV. Sebagai developer, berbagai perangkat memberikan potensi
penggunaan yang sangat besar untuk aplikasi . Agar berhasil di semua perangkat ini,
aplikasi harus memberi toleransi beberapa variasi fitur dan menyediakan antarmuka
pengguna fleksibel yang dapat beradaptasi dengan beragam konfigurasi layar.

Untuk memfasilitasi upaya menuju sasaran tersebut, Android menyediakan


framework aplikasi dinamis tempat dapat menyediakan resource aplikasi khusus
konfigurasi dalam file statis (seperti tata letak XML yang berbeda untuk ukuran layar
yang berbeda). Kemudian Android akan memuat resource yang sesuai berdasarkan
konfigurasi perangkat saat ini. Jadi, dengan beberapa desain aplikasi dan beberapa
resource aplikasi tambahan, dapat memublikasikan paket aplikasi tunggal (APK) yang
memberikan pengalaman pengguna yang dioptimalkan di berbagai perangkat.

INTEGRATED DEVELOPMENT ENVIRONMENT


16
ANDROID STUDIO
Akan tetapi, jika perlu, dapat menentukan persyaratan fitur aplikasi dan mengontrol
jenis perangkat yang dapat menginstal aplikasi dari Google Play Store. Halaman ini
menjelaskan cara dapat mengontrol perangkat yang dapat mengakses aplikasi , dan
cara menyiapkan aplikasi untuk memastikan aplikasi tersebut menjangkau audiens
yang tepat.

1. Pengertian “Kompatibilitas”

Saat membaca lebih lanjut tentang pengembangan Android, mungkin akan


menemukan istilah “kompatibilitas” dalam berbagai situasi. Ada dua jenis
kompatibilitas: kompatibilitas perangkat dan kompatibilitas aplikasi. Karena Android
adalah project open source, setiap produsen hardware dapat membuat perangkat yang
menjalankan sistem operasi Android. Akan tetapi, perangkat dinyatakan
"kompatibel dengan Android" hanya jika perangkat tersebut menjalankan dengan benar
aplikasi yang tertulis untuk lingkungan eksekusi Android. Detail persis tentang lingkungan
eksekusi Android ditentukan oleh program kompatibilitas Android dan setiap perangkat harus
lulus Compatibility Test Suite (CTS) agar dianggap kompatibel. Sebagai developer aplikasi,
tidak perlu khawatir apakah perangkat kompatibel dengan Android, karena hanya perangkat
yang kompatibel dengan Android yang menyertakan Google Play Store. Jadi,dapatmerasa
tenang karena pengguna yang menginstal aplikasi dari Google Play Store menggunakan
perangkat yang kompatibel dengan Android. Akan tetapi,perlu mempertimbangkan apakah
aplikasi kompatibel dengan setiap konfigurasi perangkat yang potensial. Karena Android
berjalan di berbagai konfigurasi perangkat, beberapa fitur tidak tersedia di semua
perangkat. Misalnya, beberapa perangkat mungkin tidak menyertakan sensor kompas. Jika
fungsi inti aplikasi memerlukan penggunaan sensor kompas, maka aplikasi hanya
kompatibel dengan perangkat yang menyertakan sensor kompas.

2. Mengontrol ketersediaan aplikasi ke perangkat

Android mendukung berbagai fitur yang dapat dimanfaatkan aplikasi melalui


API platform. Beberapa fitur berbasis hardware (seperti sensor kompas), beberapa
berbasis

INTEGRATED DEVELOPMENT ENVIRONMENT


17
ANDROID STUDIO
software (seperti widget aplikasi), dan beberapa bergantung pada versi platform.
Tidak semua perangkat mendukung setiap fitur, jadi mungkin perlu mengontrol
ketersediaan aplikasi untuk perangkat berdasarkan fitur yang diperlukan aplikasi .
Untuk mencapai basis pengguna sebesar mungkin bagi aplikasi, harus terus
mendukung sebanyak mungkin konfigurasi perangkat dengan APK tunggal. Di
sebagian besar situasi, dapat melakukannya dengan menonaktifkan fitur opsional
pada waktu proses dan menyediakan resource aplikasi dengan alternatif untuk
berbagai konfigurasi (seperti beragam tata letak untuk berbagai ukuran layar). Akan
tetapi, jika perlu, dapat membatasi ketersediaan aplikasi untuk perangkat melalui
Google Play Store berdasarkan karakteristik perangkat berikut:
 Fitur perangkat
 Versi platform
 Konfigurasi layar

Pengelolaan ketersediaan aplikasi berdasarkan fitur perangkat, Android menentukan


ID fitur untuk setiap fitur hardware atau software yang mungkin tidak tersedia di semua
perangkat. Misalnya, ID fitur untuk sensor
kompas adalah FEATURE_SENSOR_COMPASS dan ID fitur
untuk widget aplikasi adalah FEATURE_APP_WIDGETS.
Jika perlu, dapat mencegah pengguna menginstal aplikasi saat perangkatnya tidak
menyediakan fitur tertentu dengan mendeklarasikannya dengan elemen <uses-
feature> di file manifes aplikasi .
Misalnya, jika aplikasi tidak berfungsi di perangkat yang tidak memiliki sensor
kompas, dapat mendeklarasikan sensor kompas seperti yang diwajibkan dengan tag
manifes berikut:
<manifest ... >
<uses-feature
android:name="android.hardware.sensor.compass"
android:required="true" />
...
</manifest>

INTEGRATED DEVELOPMENT ENVIRONMENT


18
ANDROID STUDIO
Google Play Store membandingkan fitur yang diperlukan aplikasi dengan fitur yang
tersedia di setiap perangkat pengguna untuk menentukan apakah aplikasi kompatibel
dengan masing-masing perangkat. Jika perangkat tidak menyediakan semua fitur
yang diperlukan aplikasi , pengguna tidak akan dapat menginstal aplikasi.
Akan tetapi, jika fungsi utama aplikasi tidak membutuhkan fitur perangkat, harus
menyetel atribut required untuk "false" dan memeriksa fitur perangkat pada waktu
proses. Jika fitur aplikasi tidak tersedia di perangkat saat ini, turunkan versi fitur
aplikasi yang sesuai dengan baik. Misalnya, dapat menanyakan apakah fitur tersedia
dengan memanggil hasSystemFeature() seperti ini:

PackageManager pm = getPackageManager();
if (!pm.hasSystemFeature(PackageManager.FEATURE_SENSOR_COMPASS)) {
// This device does not have a compass, turn off the compass feature
disableCompassFeature();
}

Beberapa izin sistem secara implisit memerlukan ketersediaan fitur perangkat.


Misalnya, jika aplikasi meminta izin untuk mengakses BLUETOOTH, secara implisit
aplikasi membutuhkan fitur perangkat FEATURE_BLUETOOTH. dapat
menonaktifkan pemfilteran berdasarkan fitur ini dan menyediakan aplikasi untuk
perangkat tanpa Bluetooth dengan menyetel atribut required ke "false" dalam tag
<uses-feature>. Untuk mengetahui informasi selengkapnya tentang fitur perangkat
yang diperlukan secara implisit, baca Izin yang Menerapkan Persyaratan Fitur.

3. Versi Platform

Perangkat yang berbeda dapat menjalankan versi platform Android yang berbeda,
seperti Android 4.0 atau Android 4.4. Setiap versi platform setelahnya sering
menambahkan API baru yang tidak tersedia di versi sebelumnya. Untuk
menunjukkan kumpulan API yang

INTEGRATED DEVELOPMENT ENVIRONMENT


19
ANDROID STUDIO
tersedia, setiap versi platform menentukan tingkat API. Misalnya, Android 1.0 adalah
API level 1 dan Android 4.4 adalah API level 19.
Tingkat API memungkinkan untuk mendeklarasikan versi minimum yang kompatibel
dengan aplikasi , menggunakan tag manifes <uses-sdk> dan atribut minSdkVersion.
Misalnya, API Penyedia Kalender ditambahkan di Android 4.0 (API level 14). Jika
aplikasi tidak dapat berfungsi tanpa API ini, harus mendeklarasikan API level 14
sebagai versi minimum yang didukung aplikasi .
Atribut minSdkVersion mendeklarasikan versi minimum yang kompatibel dengan
aplikasi dan atribut targetSdkVersion mendeklarasikan versi tertinggi yang telah
dioptimalkan pada aplikasi.
Akan tetapi, perhatikan bahwa atribut dalam elemen <uses-sdk> digantikan oleh
properti yang sesuai dalam file build.gradle. Jadi, jika menggunakan Android Studio,
harus menentukan nilai minSdkVersion dan targetSdkVersion di sini:
android {
defaultConf
ig {
applicationId 'com.example.myapp'

// Defines the minimum API level required to run the app.


minSdkVersion 15

// Specifies the API level used to test the app.


targetSdkVersion 28

...
}
}

Untuk mengetahui informasi selengkapnya tentang file build.gradle, baca tentang cara
mengonfigurasi build . Setiap versi Android setelahnya memberikan kompatibilitas
untuk aplikasi yang dibuild menggunakan API dari versi platform sebelumnya,
sehingga

INTEGRATED DEVELOPMENT ENVIRONMENT


20
ANDROID STUDIO
aplikasi kompatibel dengan versi Android yang akan datang saat menggunakan
Android API yang didokumentasikan.

Catatan: Atribut targetSdkVersion tidak mencegah aplikasi diinstal di versi platform


yang lebih tinggi dari nilai yang ditentukan, tetapi hal ini penting karena menunjukkan
pada sistem apakah aplikasi harus mewarisi perubahan perilaku dalam versi yang
lebih baru. Jika tidak mengupdate targetSdkVersion ke versi terbaru, sistem
tersebut menganggap bahwa aplikasi memerlukan beberapa perilaku kompatibilitas
dengan versi sebelumnya saat menjalankan versi terbaru. Misalnya, di antara
perubahan perilaku di Android 4.4, alarm yang dibuat dengan API AlarmManager kini
tidak tepat secara default sehingga sistem dapat menetapkan batch pada alarm
aplikasi dan menghemat daya sistem. Akan tetapi, sistem akan mempertahankan
perilaku API sebelumnya untuk aplikasi jika tingkat API target lebih rendah dari "19".
Namun, jika aplikasi menggunakan API yang ditambahkan dalam versi platform yang
lebih baru, tetapi tidak mewajibkannya untuk fungsi utama, harus memeriksa tingkat
API pada waktu proses dan menurunkan dengan baik fitur yang sesuai jika tingkat API
terlalu rendah. Dalam hal ini, setel minSdkVersion ke nilai terendah yang
memungkinkan untuk fungsi utama aplikasi , lalu bandingkan versi sistem saat ini,
SDK_INT, dengan konstanta namakode dalam Build.VERSION_CODES yang sesuai
dengan tingkat API yang ingin diperiksa. Contoh:

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {


// Running on something older than API level 11, so disable
// the drag/drop features that use <code><a
href="/reference/android/content/ClipboardManager.html">ClipboardManager</a>
</code> APIs
disableDragAndDrop();
}

INTEGRATED DEVELOPMENT ENVIRONMENT


21
ANDROID STUDIO
4. Konfigurasi layar

Android berjalan di perangkat dengan berbagai ukuran, dari ponsel, tablet, dan TV.
Untuk menggolongkan perangkat menurut jenis layarnya, Android menentukan dua
karakteristik untuk setiap perangkat: ukuran layar (ukuran fisik layar) dan kepadatan
layar (kerapatan fisik piksel pada layar, yang dikenal sebagai DPI). Untuk
menyederhanakan konfigurasi yang berbeda, Android menggeneralisasi varian ini ke
dalam grup yang membuatnya lebih mudah untuk ditargetkan:
 Empat ukuran umum: kecil, normal, besar, dan xlarge.
 Dan beberapa kepadatan umum: mdpi (sedang), hdpi (tinggi), xhdpi (ekstra tinggi),
xxhdpi (ekstra-ekstra tinggi), dan lainnya.
Secara default, aplikasi kompatibel dengan semua ukuran dan kepadatan layar,
karena sistem membuat penyesuaian yang tepat pada tata letak UI dan resource
gambar yang diperlukan untuk setiap layar. Akan tetapi, harus mengoptimalkan
pengalaman pengguna untuk setiap konfigurasi layar dengan menambahkan tata
letak khusus untuk ukuran layar yang berbeda dan gambar bitmap yang dioptimalkan
untuk kepadatan layar yang umum. Untuk mengetahui informasi tentang cara membuat
resource alternatif untuk berbagai layar dan cara membatasi aplikasi ke ukuran layar
tertentu bila diperlukan,

Android berjalan pada beragam perangkat yang memiliki berbagai ukuran layar dan
kepadatan piksel. Sistem akan melakukan penskalaan dasar dan mengubah ukuran
untuk menyesuaikan antarmuka pengguna ke beragam layar, tetapi masih ada
banyak pekerjaan yang harus dilakukan untuk memastikan User Interface beradaptasi
dengan tepat ke setiap jenis layar.

INTEGRATED DEVELOPMENT ENVIRONMENT


22
ANDROID STUDIO
Gambar 19 Konfigurasi Layar

Ukuran layar adalah ruang terlihat yang disediakan untuk UI aplikasi . Ukuran layar
yang diketahui oleh aplikasi bukanlah ukuran layar perangkat yang sebenarnya—
ukuran ini mempertimbangkan orientasi layar, dekorasi sistem (seperti menu
navigasi), dan perubahan konfigurasi jendela (seperti saat pengguna mengaktifkan
mode multi-jendela. Secara default, Android mengubah ukuran layout aplikasi agar
sesuai dengan layar saat ini. Untuk memastikan layout dapat diubah ukurannya
dengan baik bahkan ketika terdapat perbedaan kecil dalam ukuran layar, harus
mengimplementasikan layout dengan mempertimbangkan fleksibilitas. Prinsip pokok
yang harus diikuti adalah menghindari hard-coding untuk posisi dan ukuran komponen
UI . Sebagai gantinya, buat pengaturan ukuran tampilan untuk membesar dan
menetapkan posisi tampilan relatif terhadap tampilan induk atau tampilan sejenis
lainnya sehingga urutan yang diinginkan dan ukuran relatif tetap sama dengan layout
yang semakin besar.

INTEGRATED DEVELOPMENT ENVIRONMENT


23
ANDROID STUDIO
Layout fleksibel sangatlah penting, tetapi juga harus mendesain layout berbeda yang
mengoptimalkan pengalaman pengguna untuk ruang yang tersedia pada beragam
perangkat seperti ponsel dan tablet. Jadi Android mengizinkan untuk menyediakan
file layout alternatif yang diterapkan sistem saat runtime berdasarkan ukuran layar
perangkat saat ini.

Gambar 20 Aplikasi yang sama menggunakan layout berbeda untuk ukuran layar yang berbeda

Karena layout harus direntangkan agar sesuai dengan ukuran layar , demikian juga
semestinya bitmap yang disematkan ke setiap tampilan layout. Namun,
merentangkan bitmap biasa secara sembarangan bisa menghasilkan artefak
penskalaan yang aneh dan gambar yang tidak simetris. Untuk mengatasi ini, Android
mendukung bitmap nine-patch tempat menentukan area piksel kecil yang dapat
direntangkan—bagian gambar yang lain tidak diubah.

Kepadatan piksel adalah jumlah piksel dalam area fisik layar dan sering disebut
sebagai dpi (dots per inch). Ini berbeda dengan resolusi, yang merupakan jumlah total
piksel pada layar

INTEGRATED DEVELOPMENT ENVIRONMENT


24
ANDROID STUDIO
Gambar 21 Pembesaran dari dua perangkat yang berukuran sama tetapi memiliki
kepadatan piksel yang berbeda.

Aplikasi mencapai "independensi kepadatan" bila mempertahankan ukuran fisik (dari


sudut png pengguna) desain UI saat ditampilkan pada layar dengan kepadatan piksel
yang berbeda (seperti yang ditunjukkan pada gambar 2). Menjaga independensi
kepadatan adalah hal yang penting karena, tanpanya, elemen UI (seperti tombol)
mungkin terlihat lebih besar pada layar berkepadatan rendah dan lebih kecil pada
layar berkepadatan tinggi (karena ketika piksel lebih besar—seperti yang ditunjukkan
pada gambar 2— beberapa piksel bisa meluber).
Sistem Android membantu mencapai independensi kepadatan dengan
menyediakan piksel berkepadatan-independen (dp atau dip) sebagai unit pengukuran
yang harus gunakan sebagai ganti piksel (px).

Untuk memastikan gambar terlihat seoptimal mungkin pada semua layar, harus
menyediakan bitmap alternatif agar pas dengan setiap kepadatan layar. Misalnya, jika
aplikasi hanya menyediakan bitmap untuk layar berkepadatan menengah (mdpi),
Android akan memperbesarnya ketika ditampilkan pada layar berkepadatan-tinggi
sehingga gambar mempergunakan ruang fisik yang sama di layar. Ini bisa
menyebabkan

INTEGRATED DEVELOPMENT ENVIRONMENT


25
ANDROID STUDIO
artefak penskalaan yang terlihat dalam bitmap. Jadi aplikasi harus menyertakan
bitmap alternatif pada resolusi yang lebih tinggi.

Untuk jenis gambar sederhana (biasanya ikon), bisa menghindari pembuatan gambar
terpisah untuk setiap kepadatan dengan menggunakan grafik vektor. Karena grafik
vektor menetapkan ilustrasi dengan jalur garis geometris, bukan piksel, mereka bisa
digambar dalam ukuran apa pun tanpa artefak penskalaan.

Rekomendasi di atas berlaku untuk semua faktor bentuk Android, tetapi jika ingin
membuat aplikasi untuk Wear OS, Android TV, Android Auto, atau perangkat Chrome
OS, harus melakukan lebih banyak pekerjaan.
Masing-masing perangkat ini memiliki model interaksi pengguna mereka sendiri yang
harus diakomodasi aplikasi . Dalam beberapa kasus, seperti Wear OS, harus
memikirkan ulang pengalaman pengguna aplikasi dan membuat aplikasi yang khusus
untuk perangkat tersebut. Dan untuk mendukung perangkat Chrome OS (seperti
Google Pixelbook), mungkin hanya memerlukan sedikit modifikasi pada aplikasi saat
ini untuk mendukung interaksi keyboard/mouse dan layar yang jauh lebih besar.

5. Perangkat yang Mendukung Potongan Layar

Gambar 22 Potongan Layar

INTEGRATED DEVELOPMENT ENVIRONMENT


26
ANDROID STUDIO
Potongan layar adalah area di beberapa perangkat yang meluas ke permukaan
tampilan untuk memberikan pengalaman dari tepi ke tepi, sekaligus memberikan
ruang bagi sejumlah sensor penting di bagian depan perangkat. Android secara resmi
mendukung potongan layar di perangkat yang menjalankan Android 9 (API level 28)
dan yang lebih tinggi. Perhatikan bahwa produsen perangkat juga dapat memilih untuk
mendukung potongan layar di perangkat yang menjalankan Android 8.1 atau yang
lebih rendah.
Topik ini menjelaskan cara menerapkan dukungan untuk perangkat yang memiliki
potongan layar, termasuk cara menangani area potongan--yakni, persegi panjang dari
tepi ke tepi di permukaan tampilan yang berisi potongan.

Untuk memastikan konsistensi dan kompatibilitas aplikasi, perangkat yang


menjalankan Android 9 harus memastikan perilaku potongan layar berikut:
 Satu tepi dapat berisi maksimal satu potongan.
 Perangkat tidak boleh memiliki lebih dari dua potongan.
 Perangkat tidak boleh memiliki potongan layar di tepi panjangnya.
 Dalam orientasi potret tanpa tanda khusus yang ditetapkan, status bar harus
meluas hingga setidaknya setinggi potongan.
 Secara default, dalam orientasi lanskap atau layar penuh, seluruh area potongan
harus diberi letterbox.

Gambar 23 Contoh Potongan layar potrait

INTEGRATED DEVELOPMENT ENVIRONMENT


27
ANDROID STUDIO
Gambar 24 Contoh Potongan Layar Landscape
Perhatikan bahwa potongan di sudut dianggap berada di tepi pendek, sehingga
berlaku perilaku yang sama:

Selain membatasi ketersediaan aplikasi berdasarkan karakteristik perangkat, mungkin


harus membatasi ketersediaan aplikasi karena alasan bisnis atau hukum. Misalnya,
aplikasi yang menampilkan jadwal kereta untuk Kereta Bawah Tanah London
kemungkinan tidak akan berguna bagi pengguna di luar Inggris Raya. Untuk jenis
situasi ini, Google Play Store menyediakan opsi pemfilteran di Konsol Play yang
memungkinkan mengontrol ketersediaan aplikasi karena alasan non-teknis seperti
lokal atau operator nirkabel pengguna.
Pemfilteran untuk kompatibilitas teknis (seperti komponen hardware yang diperlukan)
selalu didasarkan pada informasi yang terdapat dalam file APK . Akan tetapi, memfilter
karena alasan non-teknis (seperti lokal geografis) selalu ditangani di Konsol Google
Play.

INTEGRATED DEVELOPMENT ENVIRONMENT


28
ANDROID STUDIO
LEMBAR KERJA

Diskusikan dan kerjakan dalam kelompok masing-masing, beberapa pertanyaan


berikut ini.

1. Buatlah analisa perkembangan sistem operasi android dari android 1.0 hingga
sekarang beserta penambahan fitur masing-masing versi android tersebut
(Bisa dalam bentuk bagan, table atau bentuk lain sesuai kreativitas tim Anda).
2. Lakukan Analisa fitur perangkat keras dan perangkat lunak pada smartphone
Anda sesuai contoh penjelasan modul, termasuk versi Android, Processor, dan
RAM (Bisa dalam bentuk bagan, table atau bentuk lain sesuai kreativits tim
Anda)
3. Klasifikasikan mana yang termasuk kompatibilitas perangkat dan mana yang
termasuk kompatibilitas aplikasi pada smartphone android anda. Bisa dibuat
dalam bentuk tabel atau bagan atau bentuk lain beserta penjelasan dari setiap
kompatibilitas tersebut.

INTEGRATED DEVELOPMENT ENVIRONMENT


29
ANDROID STUDIO
DAFTAR PUSTAKA

Android Developer, Panduan Android Developer,


https://developer.android.com/guide/ diakses pada 17 September 2020
Earl Triggs, Android App Development in Android Studio, 2020, Kindle Edition, USA
Michael Burton, Android Application Development for Dummies 3rd Edition, 2015,
Wiley & Sons Inc, Canada
Neil Smyth, Android 4.0 Development Essentials -Java Edition, 2020, Payload
Media Inc, USA

INTEGRATED DEVELOPMENT ENVIRONMENT


30
ANDROID STUDIO
ARSITEKTUR APLIKASI
ANDROID

OLEH: DWI WAHYU W

INTEGRATED DEVELOPMENT ENVIRONMENT


31
ANDROID STUDIO
DAFTAR ISI

DAFTAR ISI ............................................................................................................. i


DAFTAR GAMBAR ..................................................................................................ii

A. Arsitektur Sistem Operasi Android ............................................................. 1

1. Linux Kernel .......................................................................................... 2

2. Android Runtime ................................................................................... 2

3. Libraries ................................................................................................. 3

4. Aplication Framework........................................................................... 3

5. Application ............................................................................................ 4

B. Komponen Aplikasi Android ....................................................................... 5

1. Activities ................................................................................................ 5

2. Services ................................................................................................. 7

3. Broadcast Receivers........................................................................... 16

4. Content Providers ............................................................................... 18

C. Penggunaan Intent untuk Mengaktifkan Komponen dalam Aplikasi


Android ........................................................................................................... 19

LEMBAR KERJA ................................................................................................... 22


DAFTAR PUSTAKA .............................................................................................. 23

ARSITEKTUR APLIKASI ANDROID I


DAFTAR GAMBAR

Gambar 1 Lapisan Arsitektur Android .................................................................. 1


Gambar 2 Life Cycle Activities ............................................................................. 6
Gambar 3 Implementasi Services di Android ....................................................... 8
Gambar 4 Perbedaan Daur Hidup Started Service dan Bound Service ............. 14
Gambar 5 Content Provider ............................................................................... 19
Gambar 6 Ilustrasi penggunaan Intent ............................................................... 20
Gambar 7 Ilustrasi Pengaktifan Activity oleh Intent ............................................ 21

ARSITEKTUR APLIKASI ANDROID II


ARSITEKTUR APLIKASI ANDROID

TUJUAN PEMBELAJARAN
Setelah melakukan diskusi kelompok dengan metode windows shoping,
peserta dapat:

1. Melakukan Analisa Lapisan arsitektur sistem operasi android


2. Melakukan Analisa Komponen Aplikasi android
3. Melakukan Analisa penggunaan inten untuk mengaktifkan komponen
dalam aplikasi android

A. Arsitektur Sistem Operasi Android

Arsitektur Android dipandang sebagai sebuah tumpukan software. Setiap lapisan


dari tumpukan ini menghimpun beberapa program yang mendukung fungsi-fungsi
spesifik dari sistem operasi. Berikut ini susunan dari lapisan-lapisan tersebut jika
dilihat dari lapisan dasar hingga lapisan teratas.

Gambar 1 Lapisan Arsitektur Android

ARSITEKTUR APLIKASI ANDROID 1


Berikut ini penjelasan terperinci dari setiap lapisan arsitektur android.

1. Linux Kernel
Tumpukan paling bawah pada arsitektur Android adalah kernel. Google
menggunakan kernel Linux versi 2.6 untuk membangun sistem Android, yang
mencakup memory management, security settting, power management, dan
beberapa driver hardware.
Kernel berperan sebagai abstraction layer antara hardware dan keseluruhan
software.
Sebagai contoh, HTC GI dilengkapi dengan kamera. Kernel Android terdapat
driver kamera yang memungkinkan penggunak mengirimkan perintah ke
hardware kamera.

2. Android Runtime
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 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 prosesnya sendiri,
dengan instance dari Dalvik Virtual Machine. Dalvik telah dibuat sehingga sebuah
piranti yang memakainya dapat menajalankan multi Virtual Machine dengan
efisien. Dalvik VM dapat mengeksekusi file dengan format Dalvik Executable
(.dex) yang telah dioptimasi untuk menggunakan minimal memory footprint. Virtual
Machnie 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 VM menggunakan kernel Linux untuk menjalankan fungsi fungsi seperti
threading dan low-level memory management.

ARSITEKTUR APLIKASI ANDROID 2


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 aplication 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 Packet Video's OpenCORE; library-library
ini mendukung playback dan recording dari berbagai format audio dan
video populer, meliputi MPEG4, H.264, MP3, AAC, AMR, JPG, dan PNG
 Surface Manager, Mengatur akses pada display dan lapisan composites
2D dan 3D graphic dan berbagai aplikasi
 Lib Web Core, Web browser engine modern yang mensupport Android
browser maupun embeddable web view
 SGL, Teh underlyng 2D Graphics Engine
 3D Libraries, Implementasi berdasarkan OpenGL ES 1.0 APIs; library ini
menggunakan hardware 3D acceleration dan highly optimized 3D software
restirezer.
 FreeType, Bitmap dan vector font rendering
 SQLite, Relational databse engine yang powerful dan ringan tersedia
untuk semua aplikasi

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

ARSITEKTUR APLIKASI ANDROID 3


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.

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 (mislnya contacts), atau untuk membagi data yang
dimiliknya.
 Resource Manger, menyediakan akses ke non-code resources misalnya
localized strings, graphics, dan layout files
 Notification Manager, yang memungkinkan semua aplikasi untuk
menampilkan custom alerts pada status bar
 Activity Manager, yang memanage life cycle of dari aplikasi dan
menyediakan common navigation backstack

5. Application
Susunan lapisan teratas terdapat aplikasi itu sendiri. Dalam lapisan inilah
ditemukan fungsi-fungsi dasar smartphone seperti menelepon dan mengirim
pesan singkat, menjalankan web browser, mengakses daftar konten, dan lain-
lalin. Bagi rata-rata pengguna, lapisan inilah yang paling sering diakses.
Pengguna aplikasi android mengakses fungsi-fungsi dasar tersebut melalui user
interface.

ARSITEKTUR APLIKASI ANDROID 4


B. Komponen Aplikasi Android
Komponen aplikasi android adalah suatu bagian yang sangat penting dari suatu
aplikasi Android karena dengan komponen-komponen inilah suatu aplikasi
android dapat berjalan dengan baik. Komponen-komponen ini dikendalikan
oleh AndroidManifest.xml yang mendeskripsikan setiap komponen dan
bagaimana komponen itu berinteraksi.
Berikut ini adalah 4 komponen utama yang dapat digunakan dalam sebuah
aplikasi Android :

Komponen Deskripsi

Suatu komponen yang mengendalikan User Interface dan menangani


Activities
interaksi pengguna ke layar smart phone.

Suatu komponen yang menangani proses di background yang terhubung


Services dengan aplikasi.

Broadcast Suatu komponen yang menangani komunikasi antara Sistem Operasi


Receivers Android dengan aplikasi.

Content Suatu komponen yang menangani data dan masalah manajemen basis
Providers data.

1. Activities
Sebuah activity merepresentasikan sebuah layar dengan User Interface. Dalam
artian, activity yang melakukan aksi pada layar, Contohnya: Ada halaman utama
lalu ada halaman kedua, pada halaman utama ada tombol next menuju halaman
kedua. Halaman utama adalah sebuah activity yang berbeda dengan halaman
kedua. Jika sebuah aplikasi memiliki lebih dari 1 activity, maka salah satu dari
activity tersebut harus ditandai sebagai activity yang ditampilkan secara default
ketika aplikasi dijalankan.

ARSITEKTUR APLIKASI ANDROID 5


Activity adalah komponen yang dapat dilihat oleh pengguna, sehingga pengguna
dapat berinteraksi dengan aplikasi. Bila dibandingkan dengan aplikasi web dan
desktop, Activity pada aplikasi android sama seperti halaman pada aplikasi web
dan form pada aplikasi desktop

Aplikasi Android Aplikasi Web Aplikasi Desktop

Activity Halaman Form

Activity memiliki siklus hidup (lifecycle) yang merupakan kondisi yang akan dialami
saat diciptakan sampai dihancurkan. Ada beberapa kondisi yang akan dialami
oleh Activity seperti yang tergambar pada flow chart berikut ini.

Gambar 2 Life Cycle Activities

ARSITEKTUR APLIKASI ANDROID 6


Penjelasannya:

 onCreate() adalah kondisi awal saat Activity baru diciptakan, biasanya


dilakukan inisialisasi pada tahapan ini.
 onStart() adalah saat Activity dimulai
 onResume() adalah saat Activity dibuka kembali, biasanya dieksekusi
setelah onPause()
 onPause() akan dipanggil saat ada Activity lain yang terbuka.
 onStop() adalah kondisi saat Activity tidak ditampilkan dilayar (biasanya
saat pengguna menekan tombol Home).
 onRestart() adalah kondisi saat Activity kembali dibuka oleh pengguna.
 onDestroy() adalah kondisi saat Activity dihancurkan pada memori

2. Services

Service adalah komponen yang berjalan di background untuk melakukan operasi


yang berjalan panjang, Contohnya: sebuah service dapat memainkan music di
background sementara pengguna dalam aplikasi yang berbeda atau service dapat
mengambil data dalam jaringan tanpa menghalangi interaksi user dengan sebuah
activity. Service merupakan komponen aplikasi yang menjalankan operasi tertentu
yang bisa berjalan lama pada sistem Android, biasanya service itu berjalan di latar
belakang. Service ini tidak menyediakan antarmuka pengguna (UI).
Gambaran dari penggunaan services yaitu aplikasi yang ada di perangkat android
tetap bekerja walaupun aplikasi tersebut tidak terlihat berjalan di depan layar,
contohnya download file, upload foto, dan juga memutar musik. Komponen aplikasi
yang mengurusnya inilah yang dinamakan dengan services, tapi service tidak
memiliki interface, dan juga menjalankan aplikasi berdasarkan prioritas dari
aplikasi itu sendiri. Untuk menggunakan services, perlu membuat atau
menggunakan subclass dari services itu sendiri, yaitu:
 onStartCommand

ARSITEKTUR APLIKASI ANDROID 7


 onCreate
 onBind
 onDestroy
Misalnya ingin mengirim notifikasi (contohnya: chatting) dari server ke aplikasi
sebanyak 10 kali, maka berikut cara kerja Services di Android:

Gambar 3 Implementasi Services di Android


Penjelasan:
1. Yang dilakukan Services pertama kali adalah menerima notifikasi pertama dan
memulai menjalankan onCreate untuk servicesnya.
2. Jika telah berhasil, maka notifikasi selanjutnya berjalan secara background
task menggunakan onStarCommand.
3. Sampai notifikasi didapatkan, dan ketika user berinteraksi dengan notifikasi
tersebut, maka onBind yang dipanggil untuk memproses interaksi tersebut.

Contoh lain dari implementasi services yaitu pada aplikasi facebook. Dimana
services akan terus berjalan secara background walaupun pengguna berinteraksi
atau tidak saat adanya notifikasi friend request. Contoh interaksi langsung dengan
services adalah saat accept friend request. Ada banyak aplikasi yang
mengimplementasikan services ini, terutama aplikasi yang memiliki fitur notifikasi,
chatting, dan sejenisnya.

ARSITEKTUR APLIKASI ANDROID 8


Ada dua macam service pada Android, yaitu :

 Started

Service yang komponen aplikasinya dimulai dengan memanggil

startService(). Service ini akan berjalan selama belum dimatikan atau

proses yang dijalankan selesai. Service akan tetap berjalan walaupun

komponen yang lain dimatikan oleh sistem Android. Service ini digunakan
untuk melakukan proses yang tidak memberikan nilai balik ke komponen

yang memanggil. Contohnya seperti mengunduh atau mengunggah

berkas.

 Bound
Service jenis ini merupakan tipe service yang dijalankan oleh komponen
lain, namun saling mengikat satu sama lain. Hubungan yang terjadi antar
kedua komponen tersebut seperti client-server. Bisa saling menerima
response dan menerima request yang ada. Pada service ini dimungkinkan
terjadi proses IPC (Interprocess Communication). Service ini akan tetap
berjalan di background selama masih ada komponen lain yang
mengikatnya. Jika tidak, maka Service akan dimatikan oleh sistem. Aplikasi
pemutar musik merupakan salah satu jenis aplikasi yang
mengimplementasikan Service jenis ini. Perlu diingat, Service berjalan di
Thread Utama dari proses hostingnya. Service tidak
membuat Thread sendiri dan tidak berjalan di proses terpisah. Kecuali jika
anda menetapkannya.

Jika service akan melakukan pekerjaan yang banyak membutuhkan CPU atau
operasi pemblokiran (seperti pemutaran MP3 atau jaringan), maka memerlukan
pembuatan Thread baru dalam layanan untuk melakukan pekerjaan itu.

ARSITEKTUR APLIKASI ANDROID 9


Penggunaan Thread terpisah, akan mengurangi risiko kesalahan seperti aplikasi
tidak merespons (Application Not Responding/ANR) dan Thread utama aplikasi
bisa terus disediakan untuk interaksi pengguna.

Sebagaimana dengan activity dan komponen lainnya, service harus

dideklarasikan dalam file AndroidManifest.xml. Untuk mendeklarasikan service,

tambahkan elemen <service> sebagai anak dari elemen <application> .

Contohnya :

<?xml version="1.0" encoding="utf-8"?>


<manifest ...>

<application ... >


...
<service
android:name=".DownloadIntentService"
android:exported="false"/>
</application>

</manifest>

Untuk memblokir akses ke service dari aplikasi lainnya, deklarasikan


service sebagai privat. Caranya, lakukan pengaturan atribut

android:exported ke false. Ini akan menghentikan aplikasi lain dari memulai

service, bahkan bila menggunakan Intent eksplisit.

Started Services

1. Komponen aplikasi seperti activity memanggil startService() dan


meneruskannya di Intent. Dalam hal ini Intent menetapkan service dan

menyertakan data yang akan digunakan oleh service.

ARSITEKTUR APLIKASI ANDROID 10


2. Sistem akan memanggil metode onCreate() dan callback lainnya yang sesuai
di thread utama. Selanjutnya mengimplementasikan callback tersebut dengan

perilaku yang sesuai, seperti membuat thread sekunder yang akan digunakan.

3. Sistem akan memanggil metode onStartCommand(), dengan meneruskan

Intent yang disediakan oleh klien di langkah 1. (Klien dalam konteks ini adalah

komponen aplikasi yang memanggil service).

Setelah dimulai, service bisa berjalan di latar belakang tanpa dibatasi waktu,

bahkan jika komponen yang memulainya telah dimusnahkan. Biasanya,


service yang dimulai menjalankan operasi tunggal dan tidak mengembalikan hasil

ke pemanggil. Misalnya, layanan dapat mengunduh atau mengunggah file melalui

jaringan. Bila operasi selesai, service harus berhenti sendiri dengan memanggil

stopSelf(), atau komponen lain bisa menghentikannya dengan memanggil

stopService().

Misalnya, anggaplah aktivitas perlu menyimpan data ke database online. Aktivitas

akan memulai layanan pendamping dengan meneruskan Intent ke startService().

Layanan menerima maksud di onStartCommand(), menghubungkan ke Internet,

dan menjalankan transaksi database. Bila transaksi selesai, layanan akan

menggunakan stopSelf() untuk menghentikan dirinya sendiri dan dimusnahkan.


(Ini adalah contoh layanan yang ingin dijalankan pada worker thread, sebagai

ganti thread utama).

IntentService

Sebagian besar service yang dimulai tidak perlu menangani beberapa permintaan
secara bersamaan, dan jika service melakukannya, maka akan mengakibatkan

ARSITEKTUR APLIKASI ANDROID 11


skenario multi-threading yang berbahaya. Karena itu, sebaiknya
mengimplementasikan service menggunakan kelas IntentService. IntentService

adalah subkelas yang berguna dari Service. Beberapa hal terkait IntentService adalah

sebagai berikut.

 IntentService secara otomatis menyediakan thread pekerja/worker thread


untuk menangani Intent.

 IntentService menangani beberapa kode boilerplate yang diperlukan layanan

umum (seperti memulai dan menghentikan layanan).

 IntentService bisa membuat antrian pekerjaan yang meneruskan

satu intent untuk setiap kalinya ke implementasi onHandleIntent(), sehingga

Anda tidak perlu mengkhawatirkan multi-threading.

Bound Services

“Bound” Services bila komponen aplikasi mengikatnya dengan memanggil


bindService(). Bound Services menawarkan antarmuka client- server yang

memungkinkan komponen berinteraksi dengan service, mengirim request, dan

mendapatkan response, kadang-kadang menggunakan komunikasi interproses


(IPC) untuk mengirim dan menerima informasi di seluruh proses. Service ini hanya

berjalan selama komponen aplikasi terikat padanya. Beberapa komponen bisa

diikat ke service sekaligus, namun bila semuanya telah dilepas, service akan

dimusnahkan. Service ini umumnya tidak mengizinkan memulai komponen

dengan memanggil startService().

Untuk mengimplementasikan Bound Services, definisikan antarmuka yang


menetapkan cara klien bisa berkomunikasi dengan service. Antarmuka ini, yang

ARSITEKTUR APLIKASI ANDROID 12


dikembalikan service Anda dari metode callback onBind(), harus berupa
implementasi IBinder. Untuk mengambil antarmuka IBinder, komponen aplikasi

klien memanggil bindService(). Setelah klien menerima IBinder, klien berinteraksi

dengan service melalui antarmuka itu.

Ada sejumlah cara untuk mengimplementasikan Bound Services, dan

implementasi tersebut lebih rumit daripada Started Services. Untuk mengikat ke

service yang dideklarasikan pada file AndroidManifest.xml dan diimplementasikan

oleh komponen aplikasi, gunakan bindService() dengan Explicit Intent.

Perhatian: Jangan gunakan Implicit Intent untuk mengikat ke service.

Melakukannya adalah bahaya keamanan, karena tidak bisa memastikan

service yang akan merespons Intent tersebut, dan pengguna tidak bisa melihat

service mana yang dimulai. Mulai dengan Android 5.0 (API level 21), sistem

membuat exception jika memanggil bindService() dengan Implicit Intent.

Life Cycle Service

Daur hidup service lebih sederhana daripada activity. Akan tetapi, ini jauh lebih

penting karena memperhatikan dari dekat cara service dibuat dan dimusnahkan.

Karena tidak memiliki UI, service bisa terus berjalan di latar belakang tanpa

diketahui pengguna, bahkan jika pengguna beralih ke aplikasi lain. Ini

menghabiskan sumber daya dan menguras baterai.

ARSITEKTUR APLIKASI ANDROID 13


Seperti activity, service memiliki metode callback daur hidup yang bisa
diimplementasikan untuk memantau perubahan keadaan service dan melakukan

pekerjaan pada waktu yang sesuai. Berikut kerangka service yang memperagakan

setiap metode daur hidup Started Service dan Bound Service. Bound Service

hanya tersedia untuk menyajikan komponen aplikasi yang terikat padanya,

sehingga bila tidak ada lagi komponen yang diikat ke service tersebut, sistem akan

memusnahkannya. Bound Service tidak perlu dihentikan secara eksplisit seperti

halnya Started Service (menggunakan stopService() atau stopSelf()).

Gambar dibawah ini adalah menampilkan perbedaan daur hidup dari keduanya :

Gambar 4 Perbedaan Daur Hidup Started Service dan Bound Service

ARSITEKTUR APLIKASI ANDROID 14


Foreground Service

Walaupun sebagian besar layanan berjalan di latar belakang, sebagian lagi ada

yang berjalan di latar depan (Foreground). Foreground

Service adalah service yang diketahui pengguna, jadi ini bukan layanan yang akan

dimatikan sistem bila memori tinggal sedikit. Misalnya, pemutar musik yang

memutar musik dari service harus disetel untuk berjalan di latar depan, karena

pengguna mengetahui operasinya. Notifikasi di bilah status dapat menunjukkan

lagu saat ini dan memungkinkan pengguna meluncurkan aktivitas untuk

berinteraksi dengan pemutar musik.

Untuk meminta agar layanan berjalan di latar depan, dengan cara memanggil
startForeground() sebagai ganti startService(). Metode ini menggunakan dua

parameter: integer yang secara unik mengidentifikasi notifikasi dan Notification

untuk bilah status. Notifikasi ini sedang berlangsung, artinya tidak bisa ditutup.

Notifikasi tetap berada di bilah status hingga service dihentikan atau dibuang dari

latar depan. Untuk membuang layanan dari latar depan, dengan cara memanggil

stopForeground(). Metode ini memerlukan boolean, yang menunjukkan apakah

akan membuang notifikasi bilah status atau tidak. Metode ini tidak menghentikan

service. Akan tetapi, jika Anda menghentikan service sewaktu masih berjalan di
latar depan, maka notifikasi juga akan dibuang.

Scheduled services

Untuk API level 21 dan yang lebih tinggi, bisa meluncurkan service menggunakan

JobScheduler API. Untuk menggunakan JobScheduler , perlu mendaftarkan

tugas dan menetapkan persyaratannya untuk jaringan dan pengaturan waktu.


Sistem menjadwalkan tugas untuk dieksekusi di waktu yang

ARSITEKTUR APLIKASI ANDROID 15


tepat. Antarmuka JobScheduler menyediakan banyak metode untuk
mendefinisikan ketentuan eksekusi layanan.

3. Broadcast Receivers
Broadcast Receiver adalah sebuah komponen Android yang berfungsi untuk
melakukan broadcast pesan dari aplikasi lain atau dari sistem itu sendiri. Pesan
yang di broadcast disebut event atau intent. Aplikasi melakukan broadcast untuk
memberi tahu aplikasi lainnya bahwa beberapa data telah di unduh ke perangkat
yang tersedia, lalu penerima broadcast akan menerima pesan untuk melakukan
transfer informasi
Berikut ini adalah cara kerja Broadcast Receiver ketika dijalankan, yaitu :
 Register Broadcast Receiver
 Broadcast Intent
 Android mengirimkan Intent ke penerima yang telah terdaftar dengan
memanggil method onReceive()
 Event diterima oleh method onReceive()
Ada beberapa langkah penting untuk membuat Broadcast Receiver, yaitu:
 Creating Broadcast Receiver
 Registering Broadcast Receiver

Sebuah broadcast sesungguhnya adalah pesan yang dibungkus menggunakan


objek Intent. Broadcast bisa dibuat secara implicit atau explicit.
 Sebuah implicit broadcast adalah pesan yang tidak hanya ditujukan pada
aplikasi kita saja tapi siapapun. Untuk menerima pesan implicit ini, kita perlu
menggunakan sebuah IntentFilter dan mendeklarasikannya di dalam
manifest. Kita perlu melakukan langkah ini karena sistem operasi Android
akan memberikan pesan broadcast pada setiap aplikasi yang sudah memiliki
intent filter untuk pesan atau event tertentu. Karena cara kerjanya ini, implicit
broadcast tidak menargetkan aplikasi tertentu. Contoh implicit intent misalnya
adalah event saat ada SMS masuk.

ARSITEKTUR APLIKASI ANDROID 16


 Sebuah explicit broadcast adalah pesan yang ditujukan untuk aplikasi-
aplikasi tertentu karena sudah menyiapkan suatu komponen. Hal ini terjadi
karena ada atribut target yang menyebutkan package name atau nama kelas
dari suatu aplikasi.

Tujuan pembuatan pesan broadcast dari dalam aplikasi yaitu untuk memungkinkan
aplikasi tersebut bereaksi terhadap suatu event yang terjadi di dalamnya. Misalnya
ketika pengguna melakukan suatu aksi, dan ingin melakukan suatu proses setelah
aksi tersebut terjadi. Ada tiga cara untuk mengirimkan broadcast, yakni:
1. Method sendOrderedBroadcast, kita bisa memastikan pesan broadcast
untuk dikirimkan hanya pada satu receiver. Setiap broadcast secara
bergantian bisa mengirimkan data ke broadcast sesudahnya atau
menyelesaikan prosesnya di kelas receiver yang menerima.
2. Method sendBroadcast mirip dengan method di atas, tapi dengan satu
perbedaan. Semua broadcast receiver akan menerima pesan broadcast dan
tidak bergantung pada broadcast lain.
3. Method LocalBroadcastManager.sendBroadcast hanya akan mengirimkan
pesan broadcast ke receiver yang terdapat di dalam aplikasi yang sama dan
tidak mengumumkannya ke aplikasi lain.

Broadcast Receivers merespon terhadap pesan broadcast dari aplikasi lain atau
dari system, Contohnya: aplikasi juga dapat melakukan broadcast agar aplikasi
lain tahu bahwa beberapa aplikasi yang telah di download ke dalam perangkat
dan dapat mereka gunakan. Di sinilah fungsi Broadcast Receivers yang berfungsi
mengambil alih komunikasi seperti ini dan menginisiasi aksi yang tepat.

Hal-hal yang perlu diperhatikan terkait Broadcast receiver adalah sebagai berikut:
 Jangan mengirimkan data sensitif melalui implicit broadcast karena aplikasi
apapun yang menunggu data tersebut bisa menerimanya. Kita bisa mencegah
hal ini dengan menentukan package name atau memberikan sebuah
permission ke pesan broadcast.

ARSITEKTUR APLIKASI ANDROID 17


 Jangan memulai activity dari sebuah broadcast yang diterima. Tampilkan saja
pesan notifikasi
Poin-poin berikut adalah beberapa perubahan pada sistem broadcast receiver
yang relevan. Untuk setiap versi beberapa limitasi diberikan dan perilakunya juga
berubah. Reviu kembali limitasi ini saat akan membuat sebuah broadcast receiver.
 7.0 ke atas (API level 24) —Dua broadcast yang berasal dari sistem
ditiadakan yaitu Action_New_Picture dan Action_New_Video (tapi bisa
kembali lagi di Android O dengan pendaftaran receiver lewat Java/Kotlin)
 8.0 ke atas (API level 26) — Sebagian besar implicit broadcast perlu
diregistrasikan secara dinamis (bukan melalui manifest).
 9.0 ke atas (API level 28) —Informasi yang diterima dari broadcast Wi-FI dari
sistem dikurangi dan adanya action
bernama Network_State_Changed_Action.
Perubahan di Android Q adalah perubahan yang paling penting untuk diketahui.
Perubahan ini dibuat untuk mengatasi masalah performa perangkat, konsumsi
baterai yang boros sehingga bisa mengganggu experience pengguna. Masalah
tersebut terjadi karena banyak aplikasi (bahkan yang sedang tidak aktif) menunggu
event yang terjadi di sistem sehingga ketika terjadi perubahan, sistem akan
memakan sumber daya yang besar untuk mengirimkannya. Bayangkan setiap
aplikasi yang menunggu suatu event tiba-tiba langsung aktif untuk melakukan
sesuatu dalam rangka merespon broadcast yang diterima. Apalagi jika yang
ditunggu adalah perubahan seperti status koneksi Wi-Fi yang amat sering terjadi.

4. Content Providers
Content providers menyediakan cara yang fleksibel untuk membuat data yang
tersedia di seluruh aplikasi. Misalkan ingin membuat semua jenis data dalam
aplikasi (misalnya membuat daftar pengguna dan menyimpannya pada setiap
lokasi penyimpanan, mungkin dalam data base, sistem file atau dalam ruang
penyimpanan online. Kemudian melalui content provider, aplikasi lain dapat
melakukan query, akses atau bahkan memodifikasi data yang telah dibuat.
Dalam cara yang sama pengguna dapat mengakses data yang

ARSITEKTUR APLIKASI ANDROID 18


digunakan utilitas lain, menggunakan content provider , sebagai contoh
database kontak. Content Provider database kontak memungkinkan aplikasi lain
untuk query, membaca, memodifikasi, dan menulis info kontak. Semua content
provider diimplementasikan sebagai subclass dari kelas ContentProvider yang
didefinisikan dalam Android SDK. Komponen content provider menyuplai data dari
satu aplikasi ke aplikasi lainnya pada saat diminta datanya. Request ini ditangani
oleh metode dari kelas Content Resolver. Datanya mungkin dapat disimpan di file
system, di database atau di suatu tempat secara keseluruhan.

Gambar 5 Content Provider

C. Penggunaan Intent untuk Mengaktifkan Komponen dalam Aplikasi


Android

Tiga dari empat tipe komponen, yaitu activities, services, dan broadcast receiver
diaktifkan oleh pesan asinkron yang disebut intent. Tidak seperti aktivities,
services, dan broadcast receiver, Content Providers tidak diaktifkan oleh intent.
Melainkan, diaktifkan saat ditargetkan oleh permintaan dari ContentResolver,
yang menangani semua transaksi langsung dengan Content Provider sehingga

ARSITEKTUR APLIKASI ANDROID 19


komponen yang melakukan transaksi dengan Content Provider tidak perlu dan
sebagai gantinya memanggil metode pada objek ContentResolver. Ini membuat
layer abstraksi antara Content provider dan komponen yang meminta informasi
(demi keamanan).

Intent mengikat antar masing-masing komponen di runtime. Intent dapat dianggap


sebagai messenger yang meminta tindakan dari komponen lain, entah komponen
milik aplikasi atau komponen lainnya. Intent adalah mekanisme untuk melakukan
Action pada komponen dalam satu aplikasi yang sama maupun aplikasi lain.
Pemanfaatannya sebagai berikut :
 Untuk berpindah halaman dari satu Activity ke Activity lain dengan atau tanpa
data
 Untuk menjalankan background Service misal dibutuhkan sebuah proses
service untuk mengambil lokasi pengguna, download file atau sikronisasi
ke server
 Untuk menyampaikan sebuah objek dari komponen Broadcast misal jika ingin
mengetahui jika device Android sudah selesai booting setelah diaktifkan

Gambar 6 Ilustrasi penggunaan Intent

ARSITEKTUR APLIKASI ANDROID 20


Explicit dan Implicit Intent
 Explicit Intent
Untuk mengaktifkan komponen-komponen dalam satu aplikasi yang sama
misal : Berpindah Activity atau mengaktifkan service untuk mendownload
file secara background
 Implicit Intent
Untuk mengaktikan komponen dari aplikasi lain. Misal : mengaktifkan dial
phone pada aplikasi Telp, mengaktifkan driving direction pada Google
Maps atau mengirimkan pesan via Gmail, sms atau aplikasi lainnya.

Ilustrasi bagaimana Intent mengaktifkan Activity pada aplikasi lain.

1. Activity A membuat Intent untuk melakukan sebuah Action dengan

data object yang ada.

2. Sistem Android akan mencari aplikasi yang cocok berdasarkan Intent filter

3. Activity pada aplikasi yang cocok akan ditampilkan.

Gambar 7 Ilustrasi Pengaktifan Activity oleh Intent

ARSITEKTUR APLIKASI ANDROID 21


LEMBAR KERJA
1. Lakukan Analisa Lapisan arsitektur sistem operasi android pada
smartphone Anda. Buatlah Analisa tersebut dalam bentuk table,
bagan atau bentuk lain sesuai kretaivitas tim Anda.
2. Lakukan Analisa Komponen Aplikasi android pada smartphone Anda.
Buatlah Analisa tersebut dalam bentuk table, bagan atau bentuk lain
sesuai kretaivitas tim Anda.
3. Lakukan Analisa penggunaan inten untuk mengaktifkan komponen
dalam aplikasi android pada smartphone Anda. Buatlah Analisa
tersebut dalam bentuk table, bagan atau bentuk lain sesuai kretaivitas
tim Anda.

ARSITEKTUR APLIKASI ANDROID 22


DAFTAR PUSTAKA

Android Developer, Panduan Android


Developer, https://developer.android.com/guide/ diakses pada 17
September 2020
Earl Triggs, Android App Development in Android Studio, 2020,
Kindle Edition, USA
Michael Burton, Android Application Development for Dummies 3rd
Edition, 2015, Wiley & Sons Inc, Canada Neil Smyth, Android 4.0
Development Essentials -Java Edition, 2020, Payload Media Inc,
USA

ARSITEKTUR APLIKASI ANDROID 23


INTEGRATED DEVELOPMENT ENVIRONMENT
I
ANDROID STUDIO
DAFTAR ISI

DAFTAR ISI .............................................................................................. i


DAFTAR GAMBAR.................................................................................. ii
BAB I INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID
STUDIO ...................................................................................................1
1.1 Pengenalan Android Studio Bumblebee ..............................................1
1.2 Struktur Project Android Studio ............................................................2
1.3 LEMBAR KERJA .................................................................................6
A. INSTALASI ANDROID STUDIO BUMBLEBEE ................................6
B. Pembuatan Android Virtual Device (AVD) ...................................15
BAB II PENGATURAN LAYOUT ...........................................................23
2.1 Jenis dan Fungsi Layout ....................................................................23
1. Linear Layout ................................................................................. 23
2. Relative Layout ..............................................................................24
3. Constraint Layout .......................................................................... 24
4. Frame Layout .................................................................................26
5. Table Layout..................................................................................26
2.2 Lembar Kerja 2 Pengaturan Layout ...................................................28
A. Linear Layout ................................................................................. 28
B. Perbedaan Match Parent Dan Wrap Content ...............................32
C. RELATIVE LAYOUT ........................................................................35
D. Constraint Layout ..........................................................................38
E. Frame Layout ..................................................................................41
F. Table Layout ...................................................................................43
BAB 3 PENGGUNAAN INTENT ............................................................46
3.1 Penggunaan Intent pada Activity ....................................................... 46

INTEGRATED DEVELOPMENT ENVIRONMENT


II
ANDROID STUDIO
3.2 Lembar Kerja .....................................................................................46
A. Penggunaan Explicit Intent untuk Perpindahan Activity ............47
B. Pengaturan Running Activity ........................................................52
C. Penggantian Icon Ic Launcher Aplikasi Android .........................54
DAFTAR PUSTAKA ..............................................................................59

INTEGRATED DEVELOPMENT ENVIRONMENT


III
ANDROID STUDIO
DAFTAR GAMBAR

Gambar 1 Android Studio Bumblebee................................................................................ 1


Gambar 2 Lingkungan Kerja Android Studio Bumblebee ................................................... 3
Gambar 3 Struktur Project ................................................................................................. 4
Gambar 4 Linear Layout .................................................................................................. 23
Gambar 5 Relative Layout ............................................................................................... 24
Gambar 6 Constraint Layout ............................................................................................ 25
Gambar 7 Frame Layout.................................................................................................. 26
Gambar 8 Contoh Table Layout ....................................................................................... 27

INTEGRATED DEVELOPMENT ENVIRONMENT


IV
ANDROID STUDIO
BAB I INTEGRATED DEVELOPMENT
ENVIRONMENT ANDROID STUDIO

TUJUAN PEMBELAJARAN
Setelah berdiskusi kelompok dan praktek peserta mampu:
1. Menganalisis Integrated Development Android
Studio Bumblebee dengan benar
2. Melakukan instalasi Android Sudio Bumblebee dengan benar
3. Mengaplikasikan pengaturan layout dengan benar
4. Mengaplikan penggunaan user interface dengan benar
5. Mengaplikasikan penggunaan intent dengan benar
6. Mengaplikasikan penggunaan operator dengan benar

1.1 Pengenalan Android Studio Bumblebee

Android Software Development Kit (SDK) merupakan kit yang bisa


digunakan oleh para developer untuk mengembangkan aplikasi
berbasis Android. SDK di dalamnya terdapat beberapa tools untuk
mengembangkan aplikasi seperti debugger, software libraries,
emulator, dokumentasi, sample code dan tutorial.
Bahasa pemrograman yang sering digunakan untuk
mengembangkan aplikasi Android adalah Java, namun ada
beberapa Bahasa lainnya yang juga support untuk
mengembangkan aplikasi Android seperti C++, dan Go. Dan pada
Google IO 2017 menjadikan Kotlin sebagai Bahasa yang disupport
resmi oleh Google.

Gambar 1 Android Studio Chipmunk

INTEGRATED DEVELOPMENT ENVIRONMENT


1
ANDROID STUDIO
Berbicara tentang pemrograman tentunya tidak lepas dari Integrated
Development Environment (IDE) yang bisa dipakai oleh para Developer. Pada
2014 Google mengeluarkan IDE yang bernama Android Studio yang berbasikan
dari Intellij IDEA. Dengan menggunakan Android Studio para developer dapat
membuat aplikasi dari nol hingga publish ke dalam store. Android Studio juga
mempunyai beberapa fitur built-in yang sangat membantu para developer untuk
memaksimalkan proses pembuatan aplikasi seperti Gradle, Code Completion,
dan terintegrasi dengan beberapa services dari Google seperti Firebase.

Salah satu Bahasa yang bisa digunakan untuk development Android adalah Java.
Selain Java ada beberapa Bahasa lain yang bisa digunakan seperti C/C++, Go,
dan pada May 2017 Google resmi support Kotlin. Pada kegiatan pembelajaran ini
akan menggunakan Java sebagai Bahasa pemrograman. Oleh karena itu
sebelum melakukan instalasi Android Studio maka perlu melakukan instalasi Java
Development Kit (JDK). JDK merupakan Java SE Development Kit, dimana JRE
juga di ada di dalamnya, dan yang lebih penting adalah di dalamnya terdapat
compiler dan tools untuk membuat dan compile program. Sederhananya JRE
untuk menjalankan program, JDK untuk membuat program. Android Studio release
16 May 2013 pada Google IO. Android Studio berbasiskan JetBrains Intellij IDEA,
dan dikhususkan untuk mengembangkan software berplatform Android.

1.2 Struktur Project Android Studio

Android Studio Bumblebee jika sudah terinstall, akan mempunyai lingkungan kerja
seperti tertera pada gambar berikut ini.

INTEGRATED DEVELOPMENT ENVIRONMENT


2
ANDROID STUDIO
Gambar 2 Lingkungan Kerja Android Studio Bumblebee

No PENJELASAN

1. Merupakan bagian dari susunan folder project Android Studio

Merupakan bagian dari Palette yang berisi beberapa tools atau component
2. yang bisa kita gunakan untuk memberi tampilan pada aplikasi yang akan kita
bangun.

Merupakan Component Tree yang memiliki fungsi menampilkan Layout dan


3. susunan dari komponen yang telah kita gunakan di Bagian 4.

Merupakan bagian bidang desain yang digunakan untuk


4. meletakkan Component yang ingin kita gunakan. Tampilannya seperti tampilan
layar pada Mobile Android.

INTEGRATED DEVELOPMENT ENVIRONMENT


3
ANDROID STUDIO
Merupakan bagian Properties, bagian ini akan menampilkan semua informasi
5. dari Component yang kita pilih seperti nama id, ukuran/Size, Font, background,
color, dan lain sebagainya.

Ketika membuat sebuah project pada Android Studio, maka akan terlihat
bagian Struktur Project seperti berikut ini.

Gambar 3 Struktur Project

Berikut ini merupakan penjelasan dari struktur project tersebut.

No PENJELASAN

Pada bagian pertama terdapat folder yang bernama Manifest, di


dalam folder Manifest tersebut terdapat file AndroidManifest.xml.
1
File AndroidManifest.xml berisi informasi tentang package (paket) pada
project yang akn dibangun. Jadi file ini memuat komponen aplikasi
seperti Activity,

INTEGRATED DEVELOPMENT ENVIRONMENT


4
ANDROID STUDIO
Services, Content, dan lain sebagainya. Jika ingin membuat Activity baru
maka akan terdapat di file ini, jika tidak maka periksa kembali, dan jika ingin
membuat aplikasi yang membuatuhkan koneksi Internet, diharuskan
mengisi User Permission di File ini, mengganti judul, icon, dan lain
sebagainya.

Pada bagian kedua terdapat folder Java yang di dalamnya terdapat folder
bernama seperti domain yang diisikan saat pertama kali membuat aplikasi,
pada contoh ini dibuat dengan nama (com.example.dualayar), di dalam
2 folder tersebut terdapat file MainActivity.java, pada bagian file ini akan
memuat program Java untuk aplikasi yang akan dibuat.

Pada bagian ketiga ini terdapat folder drawable, folder drawable ini
merupakan bagian dari folder resource. Folder drawable ini digunakan
3 untuk menyimpan file gambar dengan format .jpg atau .png yang akan
digunakan pada aplikasi yang akan dibangun

Pada bagian keempat ini terdapat file bernama activity_main.xml, File


activity_main.xml ini terdapat di folder layout yang merupakan bagian
4 dari folder resource. Pada file ini akan dibuat tampilan User Interface untuk
aplikasi yang akan dibangun.

Pada bagian kelima terdapat beberapa icon launcher aplikasi yang


5 bernama ic_launcher. Icon ini terdapat pada folder mipmap yang
merupakan bagian dari folder resource.

Pada bagian keenam ini terdapat folder values yang berisi beberapa file
antara lain
:
6
String.xml yang merupakan file berisi resource data-data text
yang akan digunakan sebagai komponen aplikasi.
Style.xml yang merupakan file berisi resource tentang tema seperti
Toolbar, yang akan kita gunakan untuk komponen aplikasi nantinya.
Color.xml yang merupakan file berisi resource warna-warna dari file Style.x
Pada bagian ketujuh terdapat Gradle. Gradle ini merupakan tools untuk
build yang digunakan pada Android Studio, untuk Compile, Run project
7 Aplikasi yang akan dibangun. Jika pernah menggunakan Eclipse, maka
tidak akan menemukan build tools Gradle, karena Eclipse menggunakan
build tools Ant.

INTEGRATED DEVELOPMENT ENVIRONMENT


5
ANDROID STUDIO
1.3 LEMBAR KERJA

Dalam Lembar kerja ini, terdapat langkah-langkah instalasi Android Studio


Bumblebee secara terperinci. Lembar Kerja ini juga memuat cara pembuatan
project pertama di Android Studio Bumblebee, ada juga cara pembuatan Android
Virtual Device (AVD), serta cara menjalankan project android pada AVD yang
telah dibuat.

A. INSTALASI ANDROID STUDIO BUMBLEBEE

Dalam membuat aplikasi android, software yang digunakan dalam kegiatan


pembelajaran ini yaitu Android Studio Bumblebee dengan sistem operasi
Windows 10, 64 bit. Berikut ini adalah tahapan instalasi Android Studio.
1. Download Android Studio pada website developer.android.com/studio
seperti berikut ini

2. Klik Download Android Studio, tunggu hingga proses download selesai

INTEGRATED DEVELOPMENT ENVIRONMENT


6
ANDROID STUDIO
3. Lakukan instalasi JDK versi terbaru yang sesuai dengan sistem operasi
yang anda gunakan.
4. Lakukan instalasi Android studio yang telah didownload tadi, klik dua
kali android studio.exe.
5. Terlihat tampilan seperti gambar berikut ini, lalu klik next.

INTEGRATED DEVELOPMENT ENVIRONMENT


7
ANDROID STUDIO
6. Selanjutnya akan terlihat tampilan berikut ini, beri tanda checklist pada
kedua pilihan yang tersedia.

7. Selanjutnya klik next, maka akan terlihat tampilan pemilihan lokasi


instalasi, seperti berikut ini.

8. Selanjutnya klik next, maka akan terlihat tampilan seperti berikut ini.

INTEGRATED DEVELOPMENT ENVIRONMENT


8
ANDROID STUDIO
9. Selanjutnya, klik install, tungu hingga proses instalasi selesai

INTEGRATED DEVELOPMENT ENVIRONMENT


9
ANDROID STUDIO
10. Setelah proses instalasi selesai/completed, terlihat ampilan seperti berikut ini.

11. Selanjutnya klik next, terlihat tampilan bahwa android studio telah
berhasil diinstal, lalu klik finish.

INTEGRATED DEVELOPMENT ENVIRONMENT


10
ANDROID STUDIO
12. Jalankan Android Studio, pilih don’t import setting, sehingga terlihat
tampilan seperti berikut ini.

13. Selanjutnya klik next, maka akan terlihat tampilan pemilihan tipe
i n s t a l a s i Android Studio, pilih saja standard, lalu klik next.

INTEGRATED DEVELOPMENT ENVIRONMENT


11
ANDROID STUDIO
14. Selanjutnya akan terlihat tampila pemilihan User Interface Theme,
silakan dipilih sesuai keinginan, misal pilih light, seperti berikut ini.

15. Selanjutnya klik next, maka akan terlihat tampilan beberapa komponen
android studio yang telah terinstall.

INTEGRATED DEVELOPMENT ENVIRONMENT


12
ANDROID STUDIO
16. Selanjutnya klik finish, maka akan dilakukan proses download beberapa
komponen android studio. Selama instalasi usahakan computer selalu
terkoneksi internet. Tunggu hingga proses download selesai.

17. Jika proses download selesai, akan terlihat tampilan berikut ini.

18. Selanjutnya klik Finish, maka Android studio siap digunakan.

INTEGRATED DEVELOPMENT ENVIRONMENT


13
ANDROID STUDIO
B. Pembuatan Android Virtual Device (AVD)

1. Buka Android Studio pilih, start A new Android Studio project,


sehingga terlihat tampilan berikut ini, pilih Empty Activity, klik next

2. Selanjutnya akan terlihat tampilan pengisina nama project, beri nama


project seperti berikut ini, lalu klik finish.

INTEGRATED DEVELOPMENT ENVIRONMENT


14
ANDROID STUDIO
3. Maka akan terlihat tampilan source code seperti berikut ini.

4. Buka folder res, buka folder layout, buka file activity_main.xml, maka
akan terlihat layout tampilan berupa text “Hello World”. Klik text,
lalu klik

attributes, ubah text “Hello World” menjadi “Selamat Datang”,


seperti berikut ini.

INTEGRATED DEVELOPMENT ENVIRONMENT


15
ANDROID STUDIO
INTEGRATED DEVELOPMENT ENVIRONMENT
16
ANDROID STUDIO
INTEGRATED DEVELOPMENT ENVIRONMENT
17
ANDROID STUDIO
5. Selanjutnya membuat AVD dengan cara klik menu Tool, pilih Device
Manager. Setelah itu pilih create device.

6. Pilih device yang ingin digunakan seperti berikut ini, lalu klik next

INTEGRATED DEVELOPMENT ENVIRONMENT


18
ANDROID STUDIO
7. Selanjutnya akan diminta download system image, pilih
recommended seperti berikut ini.

8. Tunggu hingga proses download komponen selesai.

INTEGRATED DEVELOPMENT ENVIRONMENT


19
ANDROID STUDIO
9. Jika download komponen sudah selesai, maka kan Kembali ke
tampilan berikut ini, lalu klik next.

10. Selanjutnya kan terlihat tampilan verify configuration, klik finish.

INTEGRATED DEVELOPMENT ENVIRONMENT


20
ANDROID STUDIO
11. Selanjutnya jalankan program, klik run app.

12. Terlihat output program pada AVD yang telah dibuat tadi, berupa
tulisan selamat datang.

INTEGRATED DEVELOPMENT ENVIRONMENT


21
ANDROID STUDIO
INTEGRATED DEVELOPMENT ENVIRONMENT
22
ANDROID STUDIO
BAB II PENGATURAN LAYOUT

2.1 Jenis dan Fungsi Layout

Layout merupakan suatu tampilan tata letak di Android untuk


mengatur penempatan teks, gambar, ataupun komponen lainnya
sehingga tampilan pada aplikasi yang dibuat terlihat rapih dan
nyaman untuk dilihat oleh pengguna. Jenis dan fungsi Layout
adalah sebagai berikut:

1. Linear Layout

Linear Layout adalah layout yang menempatkan semua child


view-nya dalam satu arah, secara vertikal atau horizontal. Dengan
linear layout bisa menetapkan arah layout menggunakan atribut
android:orientation.

Gambar 4 Linear Layout

INTEGRATED DEVELOPMENT ENVIRONMENT


23
ANDROID STUDIO
Linear Layout dengan orientasi horizontal akan berurut secara
horizontal, sedangkan linear layout vertical akan berurut secara
vertical.

2. Relative Layout

Relative Layout adalah layout yang penataannya menempatkan


widget-widget didalamnya seperti layer, sehingga sebuah widget
dapat berada di atas/di bawah widget lainnya atau dengan kata
lain Relative Layout merupakan layout yang penataannya lebih
bebas (Relative) sehingga bisa ditata di mana saja.

Gambar 5 Relative Layout

Jadi dapat diartikan bahwa Relative Layout adalah desain


tampilan pada aplikasi dengan tata letak objek atau komponen
secara bebas tanpa aturan sesuai orientasi (horizontal atau
vertical) seperti yang diterapkan pada Linear Layout.

INTEGRATED DEVELOPMENT ENVIRONMENT


24
ANDROID STUDIO
3. Constraint Layout

Sebenarnya Constraint Layout mirip dengan Relative Layout,


karena letak View bergantung pada View lain dalam satu Layout
ataupun dengan Parent Layoutnya.

Contohnya di Relative Layout kita bisa meletakkan sebuah View


di atas, bawah, atau samping View lain. Kita juga dapat mengatur
posisinya berdasarkan Parent Layout menggunakan tag seperti
centerVertical, alignParentBottom. Akan tetapi, Constraint
Layout jauh lebih fleksibel dan lebih mudah digunakan di Layout
Editor.

Gambar 6 Constraint Layout

Pada Constraint Layout, setiap View memiliki semacam tali


(Constraint) yang menarik tiap sisinya, yang mana tali tersebut

INTEGRATED DEVELOPMENT ENVIRONMENT


25
ANDROID STUDIO
bisa diatur Elastisitasnya, Marginnya, dan sebagainya. Tali
tersebut wajib “diikatkan” kepada anchor point atau suatu titik yang
dapat berupa sisi dari Parent Layout, View lain, ataupun titik bantu
(helper) yang bisa dibuat sendiri.

4. Frame Layout

Frame Layout adalah Layout yang biasanya digunakan untuk


membuat objek yang saling bertindihan contohnya yaitu kita
membuat button di atas image, seperti terlihat pada gambar berikut
ini.

Gambar 7 Frame Layout

INTEGRATED DEVELOPMENT ENVIRONMENT


26
ANDROID STUDIO
5. Table Layout

Table Layout adalah Layout yang digunakan untuk membangun


user interface (tampilan antar muka ) aplikasi android dengan
berdasarkan Baris dan Kolom. Table Layout terdiri dari:

1. Row/ baris pada dasarnya digunakan untuk menyimpan


satu jenis record, hanya satu informasi yang dapat
disimpan.

2. Kolom adalah sub bagian terbagi dari setiap baris dan satu
baris dapat menampung beberapa jenis kolom. Setiap
kolom terdiri dari jenis informasi yang berbeda mengenai
baris tersebut.

Beberapa tag pada Table Layout :

1. TableLayout : Tag pembuka untuk menggunakan TableLayout


2. TableRow : Tag untuk membuat Baris

INTEGRATED DEVELOPMENT ENVIRONMENT


27
ANDROID STUDIO
Gambar 8 Contoh Table Layout

INTEGRATED DEVELOPMENT ENVIRONMENT


28
ANDROID STUDIO
2.2 Lembar Kerja 2 Pengaturan Layout

Dalam Lembar kerja ini, terdapat contoh latihan yang dijelaskan langkah-langkah
pengerjaannya secara terperinci dan sudah ada source codenya untuk
dipraktekkan. Lembar Kerja ini juga memuat tugas berupa soal untuk dicari
pemecahan jawabannya sekaligus dipraktekkan dalam diskusi kelompok pada
kegiatan pembelajaran. Semua Lembar kerja baik latihan maupun tugas
sebaiknya dipraktekkan, dengan tujuan dapat mengaplikasikan topik materi ini.

A. Linear Layout

1. Buat project baru seperti terlihat pada gambar berikut ini

INTEGRATED DEVELOPMENT ENVIRONMENT


29
ANDROID STUDIO
2. Pilih empty activity

3. Beri nama project, atur lokasi penyimpanan, pilih Bahasa


pemrograman java, tentukan minimum versi android yaitu API 21
Lolipop

INTEGRATED DEVELOPMENT ENVIRONMENT


30
ANDROID STUDIO
4. Setelah project terbuka, pilihlah folder res lalu buka folder layout,
pilih file activity_main.xml, klik tab code ubah coding seperti
berikut ini.

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:orientation="vertical" >

<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="62dp"
android:text="BBPPMPV BMTI"
android:textAlignment="center" />

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="password" />

<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="top"
android:hint="isi pesan" />

<Button
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="next" />
</LinearLayout>

INTEGRATED DEVELOPMENT ENVIRONMENT


31
ANDROID STUDIO
5. Klik tab design, silakan atur dari properties untuk mengubah isi
text dan pengaturan lainnya, misal mengatur posisi text di
tengah (alignment center)

INTEGRATED DEVELOPMENT ENVIRONMENT


32
ANDROID STUDIO
6. Jalankan program dengan cara klik run, tombol play hijau, sehingga
akan terlihat output pada emulator android (AVD) seperti berikut ini.

B. Perbedaan Match Parent Dan Wrap Content

Perbedaan match_parent dan wrap_content adalah atribut match_parent


digunakan agar lebar atau tinggi komponen user interface (button,textview, dan
sebagainya), dapat mengikuti layar atau screen pada perangkat Android.
Sedangkan untuk wrap_content digunakan agar lebar atau tinggi, dapat mengikuti
object didalam komponen tersebut.

INTEGRATED DEVELOPMENT ENVIRONMENT


33
ANDROID STUDIO
1. Buat project baru , beri nama project, atur lokasi penyimpanan, atur
minimum API level android seperti pada tahap pembuatan layout linear.
2. Buka activity_main xml dan buat coding berikut ini.

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:background="#FFF5F5F5"
android:gravity="center"
android:orientation="vertical">

<Button
android:id="@+id/contoh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="tombol satu" />

</LinearLayout>

3. Buka tab design tambahkan tombol dua dan tombol tiga dengan
pengaturan width dan height dibedakan menggunakan match parent atau
wrap content, seperti berikut ini.

INTEGRATED DEVELOPMENT ENVIRONMENT


34
ANDROID STUDIO
Atau bisa juga menambahkan button dari tab code, copy coding
bagian tombol satu, ubah menjadi tombol dua lalu atur width dan
height menjadi wrap content atau match parent, seperti berikut ini

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:background="#FFF5F5F5"
android:gravity="center"
android:orientation="vertical">

<Button
android:id="@+id/contoh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="tombol satu" />

<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TOMBOL DUA" />

<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="tombol tiga" />

</LinearLayout>

4. Jalankan program akan terlihat output pada emulator seperti berikut ini.

INTEGRATED DEVELOPMENT ENVIRONMENT


35
ANDROID STUDIO
C. Relative Layout

1. Buat project baru , beri nama project, atur lokasi penyimpanan,


atur minimum API level android seperti pada tahap pembuatan
layout linear.
2. Buka activity_main xml dan buat coding berikut ini.

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Tengah" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentLeft="true"
android:text="Kiri Atas" />

<Button
android:id="@+id/button3"

INTEGRATED DEVELOPMENT ENVIRONMENT


36
ANDROID STUDIO
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="T.Atas" />

<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentRight="true"
android:text="Kanan Atas" />

<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="Kiri.T" />

<Button
android:id="@+id/button6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:text="Kanan.T" />

<Button
android:id="@+id/button7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="Kiri Bawah" />

<Button
android:id="@+id/button8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:text="T.Bawah" />

<Button
android:id="@+id/button9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:text="Kanan Bawah" />
</RelativeLayout>

INTEGRATED DEVELOPMENT ENVIRONMENT


37
ANDROID STUDIO
Hasil

Untuk mengatur posisi elemen UI, misalnya Button, cukup drag pada posisi yang
diinginkan, tapi jika ingin menggunakan kode XML, ada beberapa atribut yang
bisa digunakan pada elemen atau kompenen UI didalam RelativeLayout
yaitu:

 android:layout_centerInParent: jika kita set menjadi "true", elemen


UI akan berada di tengah relatif terhadap lebar dan tinggi Layout.
 android:layout_centerHorizontal: jika kita set menjadi "true", elemen
UI akan berada di tengah relatif terhadap lebar Layout.
 android:layout_centerVertical: jika kita set menjadi "true", elemen UI akan
berada di tengah relatif terhadap tinggi Layout.
 android:layout_alignParentBottom: jika kita set menjadi "true", elemen
UI diletakan rata sisi bawah layout.
 android:layout_alignParentTop: jika kita set menjadi "true", elemen UI
diletakan rata sisi atas layout.

INTEGRATED DEVELOPMENT ENVIRONMENT


38
ANDROID STUDIO
 android:layout_alignParentLeft: jika kita set menjadi "true", elemen
UI diletakan rata sisi kiri layout.
 android:layout_alignParentRight: jika kita set menjadi "true", elemen
UI diletakan rata sisi kanan layout.

Ada beberapa atribut yang bisa


dikombinasikan, misalnya android:layout_centerHorizontal dengan
android:layout_alignParentBotto m jika kedua atribut tersebut di set menjadi
"true", komponen UI akan berada di tengah bagian bawah layout. Selain itu
ada juga beberapa artibut yang tidak bisa dikombinasikan atau bisa disebut
mutual exclusive, yaitu hanya bisa dipilih satu misalnya
android:layout_centerVertical dengan android:layout_alignParentBottom.

Pengaturan posisi relatif antara elemen UI dengan elemen UI lainnya juga dapat
dilakukan, ada beberapa atribut yang bisa digunakan yaitu:

 android:layout_above: jika di set menjadi "true", elemen UI akan


berhimpit atau berada di atas elemen UI yang di picu/dituju.
 android:layout_below: jika di set menjadi "true", elemen UI akan
berhimpit atau berada di bawah elemen UI yang di picu/dituju.
 android:layout_toLeftOf: jika di set menjadi "true", elemen UI
akan berhimpit atau berada di sisi kiri elemen UI yang di
picu/dituju.
 android:layout_toRightOf: jika di set menjadi "true", elemen UI
akan berhimpit atau berada di sisi kanan elemen UI yang di
picu/dituju.

D. Constraint Layout

1. Buat project baru , beri nama project, atur lokasi penyimpanan,


atur minimum API level android seperti pada tahap pembuatan
layout linear.
2. Buka activity_main xml, klik tab design, ubah text hello world
menjadi Selamat datang, serta tambahkan text kedua yaitu Diklat
android 2020

INTEGRATED DEVELOPMENT ENVIRONMENT


39
ANDROID STUDIO
3. Copy sebuah gambar .jpg atau .png ke folder drawable, nama
file harus huruf kecil.
4. Tambahkan image view dari palette widget ke dalam kanvas
lalu atur propertiesnya
5. Jika ingin membuat coding dari tab code lakukan coding seperti
berikut ini.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/androi
d" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DIKLAT ANDROID 2020"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.335" />

<TextView

INTEGRATED DEVELOPMENT ENVIRONMENT


40
ANDROID STUDIO
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Selamat datang di BMTI"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.206" />

<ImageView
android:id="@+id/imageView2"
android:layout_width="210dp"
android:layout_height="198dp"
android:src="@drawable/ikon1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.606"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.6" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NEXT"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.805" />

</androidx.constraintlayout.widget.ConstraintLayout>

6. Jalankan Program sehingga terlihat output berikut ini.

INTEGRATED DEVELOPMENT ENVIRONMENT


41
ANDROID STUDIO
E. Frame Layout

Frame Layout adalah Layout yang biasanya digunakan untuk membuat objek
yang saling bertindihan contohnya yaitu kita membuat button di atas image.
Berikut ini contoh coding frame layout.

<?xml version="1.0" encoding="utf-8"?>


<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#1113">

<ImageView
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_gravity="center"
android:background="@color/colorPrimary"

/>

<Button
android:layout_width="300px"
android:layout_height="100px"
android:layout_gravity="center"
android:text="Tombol"
android:background="@color/colorAccent"
android:textColor="#fff"
android:textSize="20sp" />
</FrameLayout>

INTEGRATED DEVELOPMENT ENVIRONMENT


42
ANDROID STUDIO
Berikut ini adalah tampilan output Frame Layout.

Agar elemen UI didalam FrameLayout terlihat rapih serta bisa diatur sendiri,
dapat menggunakan beberapa atribut berikut ini.

 android:layout_marginLeft: Untuk mengatur jarak (batasan) sudut


kiri elemen UI pada elemen UI lainnya.
 android:layout_marginRight: Untuk mengatur jarak (batasan) sudut
kanan elemen UI pada elemen UI lainnya.
 android:layout_marginTop: Untuk mengatur jarak (batasan) atas elemen
UI pada elemen UI lainnya.
 android:layout_marginBottom: Untuk mengatur jarak (batasan)
bawah elemen UI pada elemen UI lainnya.
 android:layout_gravity: Untuk mengatur posisi rata kanan, kiri, atas,
bawah, center, center horizontal dan center vertical.

INTEGRATED DEVELOPMENT ENVIRONMENT


43
ANDROID STUDIO
F. Table Layout
Table Layout adalah Layout yang digunakan untuk membangun user interface
(tampilan antar muka ) aplikasi android dengan berdasarkan Baris dan Kolom.
Table Layout terdiri dari:

1. Row/ baris pada dasarnya digunakan untuk menyimpan satu jenis record,
hanya satu informasi yang dapat disimpan.
2. Kolom adalah sub bagian terbagi dari setiap baris dan satu baris dapat
menampung beberapa jenis kolom. Setiap kolom terdiri dari jenis informasi
yang berbeda mengenai baris tersebut.

Beberapa tag pada Table Layout :

3. TableLayout : Tag pembuka untuk menggunakan TableLayout


4. TableRow : Tag untuk membuat Baris

Untuk gambaran lebih jelasnya perhatikan contoh di bawah ini

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>

<TableRow
android:paddingTop="10px"
android:gravity="center"
android:layout_marginTop="20px">

<TextView
android:id="@+id/status"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:layout_span="2"
android:text="LOGIN"

INTEGRATED DEVELOPMENT ENVIRONMENT


44
ANDROID STUDIO
android:textColor="#890000"
android:textSize="25sp"
android:textStyle="bold" />

</TableRow>

<TableRow
android:layout_marginTop="20dip" >

<TextView
android:layout_width="wrap_content"
android:text="Username :"
android:textSize="20sp"
android:textColor="#000000"
android:layout_marginLeft="20dip"
></TextView>

<EditText
android:id="@+id/screenName"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_weight="1" >

</EditText>

</TableRow>

<TableRow
android:layout_marginTop="20dip" >

<TextView android:text="Password :"


android:layout_width="wrap_content"
android:textSize="20sp"
android:textColor="#000000"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"></TextView>

<EditText
android:id="@+id/password"
android:layout_height="wrap_content"

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 45


android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_weight="1" >

</EditText>

</TableRow>

<TableRow
android:gravity="center"
android:layout_marginTop="20dip" >

<Button
android:text="Submit"
android:clickable="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/save" android:layout_span="2" ></Button>
</TableRow>

</TableLayout>

Berikut ini adalah tampilan output Table Layout.

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 46


BAB 3 PENGGUNAAN INTENT

3.1 Penggunaan Intent pada Activity

Intent adalah sebuah kelas dalam programming Android yang berfungsi untuk
perpindahan halaman. Intent juga merupakan suatu objek yang terdapat dalam
suatu activity dimana objek tersebut dapat komunikasi dengan activity yang lain,
baik activity pada fungsi internal android misal seperti memanggil activity dalam
satu package atau beda package yang masih berada dalam satu project.

Intent merupakan objek tipe android.content.Intent. Melalui


metode startActivity() yang digunakan untuk memulai sebuah activity lain.
Intent dibagi menjadi 2, yaitu :

1. Explicit Intent berfungsi untuk mengaktifkan komponen-komponen


dalam satu aplikasi yang sama. Misalnya seperti : Berpindah Activity.
2. Implicit Intent berfungsi untuk memanggil fungsi activity yang sudah ada di
fungsi internal android seperti Dial Number, Open Browser dan lainnya.

3.2 Lembar Kerja

Dalam Lembar kerja ini, terdapat contoh latihan yang dijelaskan langkah-langkah
pengerjaannya secara terperinci dan sudah ada source codenya untuk
dipraktekkan. Lembar Kerja ini juga memuat tugas berupa soal untuk dicari
pemecahan jawabannya sekaligus dipraktekkan dalam diskusi kelompok pada
kegiatan pembelajaran. Semua Lembar kerja baik latihan maupun tugas
sebaiknya dipraktekkan, dengan tujuan dapat mengaplikasikan topik materi ini.

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 47


A. Penggunaan Explicit Intent untuk Perpindahan Activity

1. Buat project baru, beri nama project, pilih empty activity


2. Buka activity_main.xml,lalu buat relative layout lalu klik tab desain,
ubah textview dan tambahkan button seperti berikut ini.

3. Atau bisa diubah dari tab code dan buat coding seperti berikut ini

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="18dp"

tools:context=".MainActivity">

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 48


<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Selamat Datang di BMTI!"
android:textSize="20sp"
android:textStyle="bold" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:text="Halaman Selanjutnya" />

</RelativeLayout>

4. Buat activity baru dengan cara klik File, New, Activity, empty activity
seperti berikut ini

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 49


5. Maka akan terlihat tampilan berikut ini lalu klik finish, beri nama activity
baru yang akan dibuat, lalu klik finish

6. Buka file Main_activity2.xml, lalu buat desain seperti berikut ini,


gunakan constraint layout

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 50


7. Atau buka tab code dan buat coding berikut ini

<?xml version="1.0" encoding="utf-8"?>


<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorAccent"
tools:context=".MainActivity2">

<TextView
android:id="@+id/textView"
android:layout_width="302dp"
android:layout_height="82dp"
android:text="HALAMAN KEDUA"
android:textColor="#FF5722"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent
" app:layout_constraintHorizontal_bias="0.549"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"

app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.364" />
</android.support.constraint.ConstraintLayout>

8. Buka MainActivity.java dan buat coding berikut ini

package com.example.duaactivity;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import
android.content.Intent;
import android.view.View;
import
android.widget.Button;

public class MainActivity extends AppCompatActivity {


Button Next; // Variable Button

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Next = findViewById(R.id.button); // Inisialisasi ID pada Button

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 51


Next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Digunakan untuk berpindah activity dari activity sau ke
activity dua
startActivity(new
Intent(MainActivity.this,MainActivity2.class));
}
});

}
}

9. Jalankan program pada emulator android, terlihat output , diklik tombol


halaman selanjutnya maka akan muncul halaman kedua seperti berikut
ini.

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 52


B. Pengaturan Running Activity

Sebuah project dapat memiliki lebih dari satu activity, bisa dua activity , tiga activity
bahkan lebih. Android Studio mengatur default activity adalah activity 1, artinya
activity yang running pertama, ketika project dijalankan adalah activity 1. Tetapi
dalam android studio dapat diatur yang running duluan bukan activity 1, tetapi bisa
activity 2, activity 3, atau activity lain. Pengaturan running activity dapat dilakukan
dengan tahapan seperi berikut ini.

1. Buka Project yang ingin diatur running activitynya.

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 53


2. Klik Menu Run, pilih Edit Configuration,

3. Pilih specified activity pada lunch, lalu pilih activity yang ingin
running pertama seperti berikut ini.

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 54


4. Buka file androidmanifest.xml, lalu tempatkan intent filter pada
activity yang running pertama, misalnya pada activity 3

C. Penggantian Icon Ic Launcher Aplikasi Android


Ketika membuat aplikasi android maka icon ic launchernya adalah default yang
telah dipilih pada system image misal Android R atau Android Pie. Icon ic launcher
ini dapat diganti sesuai keinginan dengan cara seperti berikut ini.

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 55


1. Buka project yang ingin diganti icon launchernya.
2. Siapkan file gambar yang akan dijadikan icon launcher (.png), ukuran
kecil misal 200x200 pixel
3. Copy file gambar tersebut ke folder mipmap seperti berikut ini

4. Buka file androidmanifest.xml, lalu ganti icon launcher seperti coding


berikut ini

<?xml version="1.0" encoding="utf-8"?>


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.duaactivity">

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 56


android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity2"></activity>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>

</manifest>

Coding yang diberi kotak diganti dengan gambar icon yang telah disiapkan,
seperti berikut ini
android:icon="@mipmap/gbr"

android:roundIcon="@mipmap/gbr"

5. Jalankan program pada smartphone atau emulator maka terlihat icon


aplikasi sudah berganti

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 57


TUGAS INTEGRATED DEVELOPMENT
ENVIRONMENT ANDROID STUDIO

Buatlah project penggunaan intent untuk tiga activity dengan tampilan seperti
berikut ini, diklik enter muncul halaman kedua, lalu pada halaman kedua diklik
next, muncul halaman ketiga. Tambahkan background warna atau gambar pada
ketiga activity tersebut, lalu ganti icon ic_launcher untuk project tersebut.

KELOMPOK 1

ANGGOTA:

1. INA
2. IFA
3. IDA

DIKLAT PEMROGRAMAN ANDROID


BBPPMPV BMTI 2022

NEXT

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 58


Keterangan:
 Kelompok 1, Activity 1 Gunakan Layout Linear, Activity 2
Gunakan Layout Relative, Activity 3 Gunakan Layout tabel
 Kelompok 2, Activity 1 Gunakan Layout Relative, Activity 2
Gunakan Layout Linear, Activity 3 Gunakan Layout constraint
 Kelompok 3, Activity 1 Gunakan Layout Constraint, Activity 2
Gunakan Layout tabel, Activity 3 Gunakan Layout relative
 Kelompok 4, Activity 1 Gunakan Layout Tabel, Activity 2
Gunakan Layout Constraint, Activity 3 Gunakan Layout Linear
 Kelompok 5, Activity 1 Gunakan Layout Relative, Activity 2
Gunakan Layout Linear, Activity 3 Gunakan Layout tabel 

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 59


DAFTAR PUSTAKA

Android Developer, Panduan Android Developer,


https://developer.android.com/guide/ diakses pada 17 September 2020
Earl Triggs, Android App Development in Android Studio, 2020, Kindle Edition,
USA
Michael Burton, Android Application Development for Dummies 3rd Edition,
2015, Wiley & Sons Inc, Canada
Neil Smyth, Android 4.0 Development Essentials -Java Edition, 2020, Payload
Media Inc, USA

INTEGRATED DEVELOPMENT ENVIRONMENT ANDROID 60

Anda mungkin juga menyukai