U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Pengembangan
Aplikasi Perangkat Bergerak
Android dan Android Studio
(CIS61020 / 3 sks)
brone.ub.ac.id
Outline
Get a modern PowerPoint Presentation that is beautifully
designed. I hope and I believe that this Template will your Time.
Konten
01
Get a modern PowerPoint Presentation that is beautifully
designed. I hope and I believe that this Template will your Time.
Konten
02
Get a modern PowerPoint Presentation that is beautifully
designed. I hope and I believe that this Template will your Time.
Konten
03
Get a modern PowerPoint Presentation that is beautifully
designed. I hope and I believe that this Template will your Time.
Konten
04
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Android
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Mengantarkan Konten Mobile
“It isn't just about choosing native
apps or choosing the mobile web, it's
also about looking at who your
customers are and what devices
they use.“
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Aplikasi Perangkat Bergerak
• Mobile App (n.) sebuah program computer yang berjalan pada
sebuah smartphone, tablet, dan perangkat bergerak sejenis
lainnya.
• Native App: dibangun, di-compile, dan diinstal untuk platform
yang spesifik.
• Web (based) App: dibangun dengan teknologi Responsive
Web menggunakan HTML, CSS, dan Javascript.
• Bersifat cross platform, dapat dijalankan di platform yang berbeda.
• Hybrid: Gabungan antara aplikasi Native and Web.
Web
Disadvantages
• Memerlukan web browser
• Mengetikkan alamat URL
berujung pada UX yang buruk
• Jauh lebih lambat dari aplikasi
native
• Aplikasi Web kurang interaktif
dan kurang intuitif daripada
aplikasi native
• Tidak ada icon
• Tidak dapat memaksimalkan
kemampuan perangkat keras
Advantages
• Mudah dibangun
• Mudah di-maintain
• Murah
• Membangun satu aplikasi
untuk semua platform
• iOS, Android, dll, selama
mampu menjalankan sebuah
web browser
Native
• Sangat cepat dan responsif karena
dibangun untuk platform tertentu
• Memiliki performa yang terbaik
• Terdistribusi secara terpusat di app stores
• Lebih interaktif, intuitif, dan berjalan lebih
mulus dalam hal interaksi dengan pengguna
• Memperbolehkan develop mengakses
semua fitur yang ada pada platform dan
melakukan optimalisasi secara penuh pada
sistem.
• Koneksi Internet tidak selalu dibutuhkan,
tergantung pada fungsionalitas aplikasi
• Memiliki UX yang lebih baik, mengalir lebih
alami dengan UI yang standar
• Sulit untuk memahami
bahasa pemrograman yang
digunakan untuk
membangun aplikasi.
• Membutuhkan developer
dengan skill tinggi dan
berpengalaman
• Lebih mahal
• Bukan pilihan yang baik
untuk prototyping
Disadvantages
Advantages
Hybrid
• Dibangun di atas teknologi web—HTML/
CSS/ Javascript—lebih mudah
dikembangkan
• Lebih murah dari aplikasi native
• Satu aplikasi untuk semua platform
menggunakan teknologi seperti Cordova
• Tidak memerlukan web browser yang
terpisah, sudah disertakan di dalam paket
aplikasinya
• Memiliki akses ke API perangkat internal,
media penyimpanan, kamera, dll.
• Lebih cepat dikembangkan dari aplikasi
native karena memiliki basis kode tunggal
• Lebih lambat dari aplikasi native
• Lebih mahal dari aplikasi web standar
karena harus bekerja dengan wrapper-
nya.
• Ketergantungan tinggi pada platform third
party sebagai wrapper-nya
• Kurang interaktif dari aplikasi native
Disadvantages
Advantages
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id
Hardware
• Screens
• Relatively small screen size
• Keypad
• GPS
• Internal Sensor:
• Accelerometer
• Gyroscope
• Digital Compass
• Camera
• WiFi
• Processor ARM/Intel
• Memory
• Bluetooth
• External Output:
• HDMI / Mini HDMI
• USB / Mini USB
• Audio Playback
• Digital Audio Output
• NFC
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Mobile Apps Characteristics
• Aktivitas berdurasi singkat
• Membalas SMS, membaca notifikasi, mengambil foto, upload, dll.
• Fitur dari aplikasi mobile umumnya spesifik, instan, dan
terbatas.
• Dapat diakses dengan cara yang sederhana (touch, slide,
scroll, pinch)
• Ukuran layarnya kecil dan minimalis
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Ekosistem
Google Android
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Apa Itu Android?
• Sistem operasi untuk perangkat bergerak yang berbasis pada
kernel Linux
• Memiliki antarmuka untuk layar sentuh
• Digunakan pada lebih dari 80% smartphone
• Digunakan pada perangkat seperti jam, TV, dan mobil
• Memiliki lebih dari 3,4 juta aplikasi di Google Play store (1Q
2021)
• Mudah dikustomisasi untuk/oleh vendor
• Open source
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Versi Android
Current Version
Android 13 Tiramisu
1.5 Cupcake
1.6 Donut
2.0/2.1 Eclair
2.2 Frozen
Yoghurt
2.3
Gingerbread
3.0
Honeycomb
4.0 Ice Cream
Sandwich
4.1-4.3
Jelly Bean
4.4 KitKat
5.0 Lollipop
6.0
Marshmallow
7.0 Nougat
8.0 Oreo
9.0 Pie
10.0 Q
Quince Tart
11.0 R
Red Velvet Cake
12.0 S
Snow Cone
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Interaksi Pengguna Android
• Menggunakan gestur sentuh
• swiping, tapping, pinching
• Menyediakan keyboard virtual untuk karakter, angka, dan emoji
• Mendukung Bluetooth, Wi-Fi, NFC, kontroler dan perangkat
USB
14
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Home Screen
• Berisi ikon launcher untuk
aplikasi
• Dapat tersusun atas banyak
halaman
• Folders dapat digunakan
untuk mengorganisir aplikasi
• "OK Google“
• Widget dengan konten live
15
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Android dan Sensors
• Sensor dapat menangkap dan merespon aksi pengguna
• Konten dapat diputar ketika diperlukan
• Posisi dalam peta dapat berubah ketika bergerak
• Memiringkan perangkat dapat mengendalikan mobil secara
virtual atau mengendalikan mainan secara fisik
16
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Android Platform Development
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Android Platform
Development
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Android SDK
• Menyediakan kerangka kerja dan API (Application Programming
Interface) sebagai tool untuk membangun aplikasi Android
dengan bahasa pemrograman Java/Kotlin
• API
• Sekumpulan perintah, fungsi, fitur, dan protokol yang digunakan oleh
programmer untuk membangun aplikasi pada sebuah sistem operasi
tertentu
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Fitur Android SDK
• Tool pengembangan (debugger, monitors, editors)
• Libraries (maps, wearables)
• Perangkat virtual (emulators)
• Dokumentasi (developers.android.com)
• Contoh kode program
20
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Android Debug Bridge
• ADB adalah sebuah tool—bagian dari Android SDK—untuk
menghubungkan perangkat Android (baik secara virtual
maupun fisik) untuk melakukan debug dan mengelola aplikasi
yang sedang dibangun.
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Google Play Store
• Google Play adalah sebuah toko aplikasi online di mana
pengguna mencari aplikasi, game, film, buku, dan lain-lain.
• Toko aplikasi resmi untuk Android
• Layanan distribusi aplikasi dan
konten secara digital yang
dioperasikan oleh Google
22
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Google Play Store
• Google mengenakan biaya-satu-kali sebesar $25 untuk
mendapatkan akun developer di Google Play, di mana
developer bisa mempublikasikan aplikasi
Android.
• Aplikasi gratis didistribusikan tanpa
biaya dan Google mengambil 30%
dari pendapatan aplikasi berbayar
sebagai “biaya layanan”.
23
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Google Play Service
• Google Play service adalah sebuah sistem
perangkat lunak inti yang menyediakan
fungsionalitas layanan kunci dari setiap
perangkat Android yang tersertifikasi
• Menyediakan:
• Security and reliability
• Developer APIs
• Core device services
24
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Google Play Service
• Google Play Services juga
mengumpulkan data (pengguna)
• Menyediakan:
• Layanan keamanan dan pencegahan fraud
• Mendukung dan meningkatkan ekosistem Android
• Menyediakan layanan-layanan Google
25
https://support.google.com/android/answer/10546414?hl=en
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Android Runtime Environment
• Sebuah konfigurasi hardware dan software. Menyertakan
informasi terkait jenis CPU, sistem operasi, dan software
lainnya yang diperlukan oleh aplikasi dengan kategori tertentu.
• Dalam sebuah lingkungan runtime, aplikasi dapat mengirimkan
instruksi atau perintah ke prosesor dan mengakses resource
sistem lainnya seperti RAM, GPS, prosesor, GPU, kamera, dll.
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Android Runtime Environment
• Dalvik Virtual Machine (DVM)
• Aplikasi Android berjalan di atas DVM, bukan JVM seperti di Java SE
• DVM adalah sebuah versi modifikasi dari JVM
• Dijalankan oleh Android hingga versi JellyBean
• Android Run Time (ART)
• Digunakan sejak Android KitKat (4.4)
• Dioptimalkan untuk eksekusi aplikasi pada saat runtime (di-compile
pada saat di-install)
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Dalvik VM vs Android Run Time
• Dalvik Virtual Machine (DVM)
• JIT (just in time) compilation. Setiap kali aplikasi dijalankan, bagian
dari kode program yang diperlukan di-compile ke dalam kode mesin.
• Memerlukan memory yang lebih sedikit dan memakan kapasitas
penyimpanan yang lebih kecil.
• Android Run Time (ART)
• Me-ngompile keseluruhan bytecode Dalvik ke system-dependent
binary pada saat instalasi (di-compile hanya satu kali).
• Kode program dapat dieksekusi lebih cepat
• Menggunakan CPU yang lebih sedikit, menghemat penggunaan
baterai
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Android Platform
Architecture
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Arsitektur Google Android
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Aplikasi Sistem dan User
• Aplikasi sistem tidak memiliki status special
• Aplikasi sistem menyediakan kemampuan kunci bagi
pengembang aplikasi
• Aplikasi sistem hanyalah aplikasi yang diletakkan di
folder /system/app (tidak dapat di-uninstall oleh user)
• Aplikasi non-sistem adalah aplikasi biasa yang di-install di
folder /data/app
• Aplikasi non-sistem dapat memanfaatkan fungsionalitas aplikasi
lain dan aplikasi sistem, seperti:
• Menggunakan fungsi aplikasi sistem untuk mengirim SMS atau email
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Application Framework APIs
• Menyediakan set fitur OS Android yang disediakan melalui API
yang dituliskan dengan bahasa pemrograman Java
• Class View menyediakan fungsi untuk membuat tampilan dan
komponen UI
• Pengelolaan notifikasi
• Pengelolaan Activity dalam siklus hidup dan navigasi penggunaan
aplikasi
• Menyediakan content provider untuk bertukar data dengan aplikasi
lainnya.
• API internal Android
32
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Android Runtime
• Runtime (subsistem) yang digunakan oleh aplikasi dan layanan
sistem pada Android
• Mengeksekusi format Dalvik Executable dan Dex bytecode
(aplikasi Android yang di-compile)
• Setiap aplikasi menjalankan prosesnya sendiri dengan instans
Android Runtime-nya sendiri.
33
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
C/C++ libraries
• Library C/C++ menyediakan akses ke dalam komponen dan
layanan native dari sistem inti Android
• Memungkinkan developer untuk menulis programnya dalam
bahasa C/C++
34
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Hardware Abstraction Layer (HAL)
• Antarmuka standar yang mengekspos kemampuan perangkat
keras sebagai library
• Kamera, Bluetooth, GPS, NFC, dan modul Wi-Fi
35
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Linux Kernel
• Inti dari OS Android, sebuah software yang bertindak sebagai
mediator yang menghubungkan aplikasi Android dengan
komponen perangkat keras yang terpasang di dalam perangkat
bergerak.
• Menyediakan layanan threading dan manajemen memori
tingkat rendah
• Menyediakan layanan keamanan
• Menyediakan driver untuk perangkat dan komponen perangkat
kerasnya.
36
U n i v e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e
brone.ub.ac.id
Tim Dosen
Place Your Picture Here
1 2 M. Aminul Akbar, M.T.
aryo@ub.ac.id Muhammad.aminul@ub.ac.id
Aryo, Ph.D.
brone.ub.ac.id
Thank You

Membuat aplikasi mobile Android menggunakan Android Studio

  • 1.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Pengembangan Aplikasi Perangkat Bergerak Android dan Android Studio (CIS61020 / 3 sks)
  • 2.
    brone.ub.ac.id Outline Get a modernPowerPoint Presentation that is beautifully designed. I hope and I believe that this Template will your Time. Konten 01 Get a modern PowerPoint Presentation that is beautifully designed. I hope and I believe that this Template will your Time. Konten 02 Get a modern PowerPoint Presentation that is beautifully designed. I hope and I believe that this Template will your Time. Konten 03 Get a modern PowerPoint Presentation that is beautifully designed. I hope and I believe that this Template will your Time. Konten 04
  • 3.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Android
  • 4.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Mengantarkan Konten Mobile “It isn't just about choosing native apps or choosing the mobile web, it's also about looking at who your customers are and what devices they use.“
  • 5.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Aplikasi Perangkat Bergerak • Mobile App (n.) sebuah program computer yang berjalan pada sebuah smartphone, tablet, dan perangkat bergerak sejenis lainnya. • Native App: dibangun, di-compile, dan diinstal untuk platform yang spesifik. • Web (based) App: dibangun dengan teknologi Responsive Web menggunakan HTML, CSS, dan Javascript. • Bersifat cross platform, dapat dijalankan di platform yang berbeda. • Hybrid: Gabungan antara aplikasi Native and Web.
  • 6.
    Web Disadvantages • Memerlukan webbrowser • Mengetikkan alamat URL berujung pada UX yang buruk • Jauh lebih lambat dari aplikasi native • Aplikasi Web kurang interaktif dan kurang intuitif daripada aplikasi native • Tidak ada icon • Tidak dapat memaksimalkan kemampuan perangkat keras Advantages • Mudah dibangun • Mudah di-maintain • Murah • Membangun satu aplikasi untuk semua platform • iOS, Android, dll, selama mampu menjalankan sebuah web browser
  • 7.
    Native • Sangat cepatdan responsif karena dibangun untuk platform tertentu • Memiliki performa yang terbaik • Terdistribusi secara terpusat di app stores • Lebih interaktif, intuitif, dan berjalan lebih mulus dalam hal interaksi dengan pengguna • Memperbolehkan develop mengakses semua fitur yang ada pada platform dan melakukan optimalisasi secara penuh pada sistem. • Koneksi Internet tidak selalu dibutuhkan, tergantung pada fungsionalitas aplikasi • Memiliki UX yang lebih baik, mengalir lebih alami dengan UI yang standar • Sulit untuk memahami bahasa pemrograman yang digunakan untuk membangun aplikasi. • Membutuhkan developer dengan skill tinggi dan berpengalaman • Lebih mahal • Bukan pilihan yang baik untuk prototyping Disadvantages Advantages
  • 8.
    Hybrid • Dibangun diatas teknologi web—HTML/ CSS/ Javascript—lebih mudah dikembangkan • Lebih murah dari aplikasi native • Satu aplikasi untuk semua platform menggunakan teknologi seperti Cordova • Tidak memerlukan web browser yang terpisah, sudah disertakan di dalam paket aplikasinya • Memiliki akses ke API perangkat internal, media penyimpanan, kamera, dll. • Lebih cepat dikembangkan dari aplikasi native karena memiliki basis kode tunggal • Lebih lambat dari aplikasi native • Lebih mahal dari aplikasi web standar karena harus bekerja dengan wrapper- nya. • Ketergantungan tinggi pada platform third party sebagai wrapper-nya • Kurang interaktif dari aplikasi native Disadvantages Advantages
  • 9.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Hardware • Screens • Relatively small screen size • Keypad • GPS • Internal Sensor: • Accelerometer • Gyroscope • Digital Compass • Camera • WiFi • Processor ARM/Intel • Memory • Bluetooth • External Output: • HDMI / Mini HDMI • USB / Mini USB • Audio Playback • Digital Audio Output • NFC
  • 10.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Mobile Apps Characteristics • Aktivitas berdurasi singkat • Membalas SMS, membaca notifikasi, mengambil foto, upload, dll. • Fitur dari aplikasi mobile umumnya spesifik, instan, dan terbatas. • Dapat diakses dengan cara yang sederhana (touch, slide, scroll, pinch) • Ukuran layarnya kecil dan minimalis
  • 11.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Ekosistem Google Android
  • 12.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Apa Itu Android? • Sistem operasi untuk perangkat bergerak yang berbasis pada kernel Linux • Memiliki antarmuka untuk layar sentuh • Digunakan pada lebih dari 80% smartphone • Digunakan pada perangkat seperti jam, TV, dan mobil • Memiliki lebih dari 3,4 juta aplikasi di Google Play store (1Q 2021) • Mudah dikustomisasi untuk/oleh vendor • Open source
  • 13.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Versi Android Current Version Android 13 Tiramisu 1.5 Cupcake 1.6 Donut 2.0/2.1 Eclair 2.2 Frozen Yoghurt 2.3 Gingerbread 3.0 Honeycomb 4.0 Ice Cream Sandwich 4.1-4.3 Jelly Bean 4.4 KitKat 5.0 Lollipop 6.0 Marshmallow 7.0 Nougat 8.0 Oreo 9.0 Pie 10.0 Q Quince Tart 11.0 R Red Velvet Cake 12.0 S Snow Cone
  • 14.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Interaksi Pengguna Android • Menggunakan gestur sentuh • swiping, tapping, pinching • Menyediakan keyboard virtual untuk karakter, angka, dan emoji • Mendukung Bluetooth, Wi-Fi, NFC, kontroler dan perangkat USB 14
  • 15.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Home Screen • Berisi ikon launcher untuk aplikasi • Dapat tersusun atas banyak halaman • Folders dapat digunakan untuk mengorganisir aplikasi • "OK Google“ • Widget dengan konten live 15
  • 16.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Android dan Sensors • Sensor dapat menangkap dan merespon aksi pengguna • Konten dapat diputar ketika diperlukan • Posisi dalam peta dapat berubah ketika bergerak • Memiringkan perangkat dapat mengendalikan mobil secara virtual atau mengendalikan mainan secara fisik 16
  • 17.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Android Platform Development
  • 18.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Android Platform Development
  • 19.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Android SDK • Menyediakan kerangka kerja dan API (Application Programming Interface) sebagai tool untuk membangun aplikasi Android dengan bahasa pemrograman Java/Kotlin • API • Sekumpulan perintah, fungsi, fitur, dan protokol yang digunakan oleh programmer untuk membangun aplikasi pada sebuah sistem operasi tertentu
  • 20.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Fitur Android SDK • Tool pengembangan (debugger, monitors, editors) • Libraries (maps, wearables) • Perangkat virtual (emulators) • Dokumentasi (developers.android.com) • Contoh kode program 20
  • 21.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Android Debug Bridge • ADB adalah sebuah tool—bagian dari Android SDK—untuk menghubungkan perangkat Android (baik secara virtual maupun fisik) untuk melakukan debug dan mengelola aplikasi yang sedang dibangun.
  • 22.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Google Play Store • Google Play adalah sebuah toko aplikasi online di mana pengguna mencari aplikasi, game, film, buku, dan lain-lain. • Toko aplikasi resmi untuk Android • Layanan distribusi aplikasi dan konten secara digital yang dioperasikan oleh Google 22
  • 23.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Google Play Store • Google mengenakan biaya-satu-kali sebesar $25 untuk mendapatkan akun developer di Google Play, di mana developer bisa mempublikasikan aplikasi Android. • Aplikasi gratis didistribusikan tanpa biaya dan Google mengambil 30% dari pendapatan aplikasi berbayar sebagai “biaya layanan”. 23
  • 24.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Google Play Service • Google Play service adalah sebuah sistem perangkat lunak inti yang menyediakan fungsionalitas layanan kunci dari setiap perangkat Android yang tersertifikasi • Menyediakan: • Security and reliability • Developer APIs • Core device services 24
  • 25.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Google Play Service • Google Play Services juga mengumpulkan data (pengguna) • Menyediakan: • Layanan keamanan dan pencegahan fraud • Mendukung dan meningkatkan ekosistem Android • Menyediakan layanan-layanan Google 25 https://support.google.com/android/answer/10546414?hl=en
  • 26.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Android Runtime Environment • Sebuah konfigurasi hardware dan software. Menyertakan informasi terkait jenis CPU, sistem operasi, dan software lainnya yang diperlukan oleh aplikasi dengan kategori tertentu. • Dalam sebuah lingkungan runtime, aplikasi dapat mengirimkan instruksi atau perintah ke prosesor dan mengakses resource sistem lainnya seperti RAM, GPS, prosesor, GPU, kamera, dll.
  • 27.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Android Runtime Environment • Dalvik Virtual Machine (DVM) • Aplikasi Android berjalan di atas DVM, bukan JVM seperti di Java SE • DVM adalah sebuah versi modifikasi dari JVM • Dijalankan oleh Android hingga versi JellyBean • Android Run Time (ART) • Digunakan sejak Android KitKat (4.4) • Dioptimalkan untuk eksekusi aplikasi pada saat runtime (di-compile pada saat di-install)
  • 28.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Dalvik VM vs Android Run Time • Dalvik Virtual Machine (DVM) • JIT (just in time) compilation. Setiap kali aplikasi dijalankan, bagian dari kode program yang diperlukan di-compile ke dalam kode mesin. • Memerlukan memory yang lebih sedikit dan memakan kapasitas penyimpanan yang lebih kecil. • Android Run Time (ART) • Me-ngompile keseluruhan bytecode Dalvik ke system-dependent binary pada saat instalasi (di-compile hanya satu kali). • Kode program dapat dieksekusi lebih cepat • Menggunakan CPU yang lebih sedikit, menghemat penggunaan baterai
  • 29.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Android Platform Architecture
  • 30.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Arsitektur Google Android
  • 31.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Aplikasi Sistem dan User • Aplikasi sistem tidak memiliki status special • Aplikasi sistem menyediakan kemampuan kunci bagi pengembang aplikasi • Aplikasi sistem hanyalah aplikasi yang diletakkan di folder /system/app (tidak dapat di-uninstall oleh user) • Aplikasi non-sistem adalah aplikasi biasa yang di-install di folder /data/app • Aplikasi non-sistem dapat memanfaatkan fungsionalitas aplikasi lain dan aplikasi sistem, seperti: • Menggunakan fungsi aplikasi sistem untuk mengirim SMS atau email
  • 32.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Application Framework APIs • Menyediakan set fitur OS Android yang disediakan melalui API yang dituliskan dengan bahasa pemrograman Java • Class View menyediakan fungsi untuk membuat tampilan dan komponen UI • Pengelolaan notifikasi • Pengelolaan Activity dalam siklus hidup dan navigasi penggunaan aplikasi • Menyediakan content provider untuk bertukar data dengan aplikasi lainnya. • API internal Android 32
  • 33.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Android Runtime • Runtime (subsistem) yang digunakan oleh aplikasi dan layanan sistem pada Android • Mengeksekusi format Dalvik Executable dan Dex bytecode (aplikasi Android yang di-compile) • Setiap aplikasi menjalankan prosesnya sendiri dengan instans Android Runtime-nya sendiri. 33
  • 34.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id C/C++ libraries • Library C/C++ menyediakan akses ke dalam komponen dan layanan native dari sistem inti Android • Memungkinkan developer untuk menulis programnya dalam bahasa C/C++ 34
  • 35.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Hardware Abstraction Layer (HAL) • Antarmuka standar yang mengekspos kemampuan perangkat keras sebagai library • Kamera, Bluetooth, GPS, NFC, dan modul Wi-Fi 35
  • 36.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Linux Kernel • Inti dari OS Android, sebuah software yang bertindak sebagai mediator yang menghubungkan aplikasi Android dengan komponen perangkat keras yang terpasang di dalam perangkat bergerak. • Menyediakan layanan threading dan manajemen memori tingkat rendah • Menyediakan layanan keamanan • Menyediakan driver untuk perangkat dan komponen perangkat kerasnya. 36
  • 37.
    U n iv e r s i t a s B r a w i j a y a - B u i l d i n g U p N o b l e F u t u r e brone.ub.ac.id Tim Dosen Place Your Picture Here 1 2 M. Aminul Akbar, M.T. aryo@ub.ac.id Muhammad.aminul@ub.ac.id Aryo, Ph.D.
  • 38.