0% menganggap dokumen ini bermanfaat (0 suara)
67 tayangan95 halaman

Modul Praktikum Mobile Application

Dokumen ini adalah panduan lengkap untuk menginstal dan menggunakan Android Studio, termasuk spesifikasi sistem yang diperlukan dan langkah-langkah instalasi. Selain itu, dokumen ini juga menjelaskan cara membuat aplikasi Android sederhana dengan menampilkan teks 'Hello World' serta penggunaan shell Android untuk menjalankan perintah dasar. Terdapat juga penjelasan mengenai pembuatan proyek berbasis Android dan penggunaan emulator untuk pengujian aplikasi.

Diunggah oleh

eydeltiran1
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)
67 tayangan95 halaman

Modul Praktikum Mobile Application

Dokumen ini adalah panduan lengkap untuk menginstal dan menggunakan Android Studio, termasuk spesifikasi sistem yang diperlukan dan langkah-langkah instalasi. Selain itu, dokumen ini juga menjelaskan cara membuat aplikasi Android sederhana dengan menampilkan teks 'Hello World' serta penggunaan shell Android untuk menjalankan perintah dasar. Terdapat juga penjelasan mengenai pembuatan proyek berbasis Android dan penggunaan emulator untuk pengujian aplikasi.

Diunggah oleh

eydeltiran1
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/ 95

Teknik Komputer dan Jaringan

Mobile Appliacation

Praktikum
Topik

1-8
Mobile App
HANDOUT MOBILE APPLICATION
TOPIK 1
“PENGINSTALAN ANDROID STUDIO”

I. Pendahuluan
Android Studio adalah Integrated Development Environment (IDE) resmi untuk
pengembangan aplikasi Android, yang didasarkan pada IntelliJ IDEA . Selain sebagai
editor kode dan fitur developer IntelliJ yang andal, Android Studio menawarkan banyak
fitur yang meningkatkan produktivitas Anda dalam membuat aplikasi Android.
Untuk menginstal Android Studio harus mempunyai spek laptop/PC seperti
berikut :
 RAM minimal 3GB. Direkomendasikan 8GB RAM.
 Minimal 2 GB penyimpanan yang tersedia. Direkomendasikan 4 GB
(500 MB untuk IDE dan 1,5 GB untuk Android SDK dan sistem
emulator)
 Resolusi layar minimum 1280 x 800.
II. Cara Menginstall Android Studio
1. Setup Android Studio
Berikut ini adalah langkah pertama cara Install Android Studio :
1.1 Download Android Studio
Sebelum melakukan instalasi, hal pertama yang harus dilakukan
adalah mengunduh file Android Studio. Buka link ini
(https://developer.android.com/studio) untuk mengunduh file tersebut
lalu klik Download Android Studio.

1.2 Install Android Studio


Setelah selesai download file Android Studio, buka file
tersebut dan ikuti instruksi instalasi di bawah ini:
Pertama, akan muncul halaman seperti pada gambar di
bawah ini. Klik Next untuk melanjutkan ke proses instalasi.
1.3 Pilih Komponen Tambahan
Kemudian pilih komponen tambahan untuk install Android
Studio. AVD (Android Virtual Device) ini fungsinya adalah untuk
mengkonfigurasi perangkat yang dijalankan dengan emulator Android.
Sesuaikan komponen tambahan yang dipilih seperti pada gambar di
bawah ini. Jika sudah klik Next untuk melanjutkan instalasi.

1.4 Tentukan Lokasi Instalasi


Selanjutnya, pilih lokasi untuk install Android Studio pada
komputer Anda. Pada tutorial ini saya menginstall di lokasi C:\Program
Files\Android\Android Studio. Setelah menentukan lokasi instalasi
Android Studio, klik Next untuk melanjutkan.
1.5 Tentukan Nama Aplikasi Android Studio
Sebenarnya Anda bebas mengganti nama aplikasi Android
Studio yang akan ditampilkan pada Start Menu. Akan tetapi, demi
kemudahan saat mencari aplikasi ini, sebaiknya gunakan nama Android
Studio saja. Klik Install untuk melanjutkan proses.

1.6 Mulai Proses Instalasi


Setelah menentukan nama aplikasi Android Studio, Anda bisa
memulai proses instalasi Android Studio. Gambar di bawah ini adalah
proses instalasi Android Studio, tunggu hingga proses Selesai.

2. Install SDK Android Studio


SDK adalah seperangkat alat dan program perangkat lunak yang
digunakan oleh pengembang untuk membuat aplikasi untuk platform tertentu.
Sebelum menginstall SDK Android Studio, pastikan perangkat Anda
terhubung ke internet. Sebab akan ada proses download untuk komponen-
komponen SDK Android Studio. Berikut ini panduan install SDK Android
Studio.
2.1 Install SDK Android Studio
Sebelumnya, Anda telah berhasil menginstall Android Studio.
Buka aplikasi tersebut dan ikuti instruksi instalasi SDK di bawah ini:
Pertama akan muncul halaman seperti pada gambar di bawah
ini. Klik Next untuk melanjutkan ke proses instalasi.

2.2 Pilih Tipe Instalasi


Selanjutnya, pilih tipe instalasi. Anda akan diberikan dua
pilihan, yaitu:

 Standard: Untuk pilihan standard, Anda akan


mendapatkan default pengaturan dan instalasi tambahan
dari Android Studio.
 Custom: Untuk pilihan custom, Anda bisa memilih
pengaturan dan komponen tambahan yang Anda perlukan
saja.
Pada tutorial ini saya akan memilih Custom agar aplikasi
tambahan yang tidak diinginkan tidak terinstall. Klik Next untuk
melanjutkan instalasi.
2.3 Pilih Tampilam Android Studio
Kemudian, pilih tema untuk tampilan di dashboard Android
Studio. Ada dua pilihan pada tema Android Studio, yaitu:

 Darcula : Bertema warna Dark (Hitam)


 Light : Bertema warna Light (Putih)
Di tutorial ini saya memilih tema Darcula. Lalu klik Next
untuk melanjutkan.

2.4 Pilih Komponen SDK Tambahan


Langkah pemilihan komponen SDK ini hanya akan muncul
kalau Anda memilih tipe instalasi Custom. Jika memilih tipe instalasi
Standard, Anda tidak akan mendapatkan pilihan komponen SDK karena
semua komponen sudah dipilihkan secara default dari Android Studio.
Sesuaikan komponen tambahan yang dipilih seperti pada
gambar di bawah ini. Kemudian klik Next untuk melanjutkan instalasi.
2.5 Tentukan RAM untuk Emulator
Selanjutnya, tentukan RAM. Sebaiknya gunakan RAM
minimal 4GB agar tidak memperlambat proses running Emulator ketika
menjalankan aplikasi yang telah Anda buat. Klik Next untuk
melanjutkan instalasi.

2.6 Review Pengaturan Instalasi


Kemudian, Anda akan diberikan informasi mengenai
komponen tambahan SDK beserta ukuran filenya. Klik Finish untuk
memulai proses download komponen-komponen tersebut.

2.7 Proses Download dan Install SDK Android Studio


Setelah proses download komponen SDK dimulai, Anda
hanya perlu menunggunya sampai selesai mengunduh.
Proses download dan instalasi file komponen SDK cukup
lama karena ukuran filenya yang cukup besar. Oleh karena itu, pastikan
koneksi internet Anda stabil agar tidak terjadi error saat proses instalasi
berlangsung.
Setelah proses download dan install selesai, akan muncul
tampilan seperti gambar di bawah ini.

Android Studion telah terinstal dan dapat digunakan.


III. Membuat Aplikasi Android ” Hello World”
1) Buka atau Jalankan IDE Android Studio
Langkah pertama yang harus dilakukan adalah membuka aplikasi
android studio yang sudah terinstall di laptop atau komputermu. Pada tutorial
ini kita menggunakan android studio yang kalian sudah install.
2) Buat Project Baru
Klik Start a New Android Project untuk mulai membuat project baru
pada android studio.
3) Pilih Activity
Disadur dari android.developer.com Activity (aktivitas) adalah sebuah
komponen aplikasi yang menyediakan layar yang digunakan pengguna untuk
berinteraksi guna melakukan sesuatu, misalnya memilih nomor ponsel,
mengambil foto, mengirim email, atau menampilkan peta.
Tiap Activity (aktivitas) diberi sebuah jendela untuk menggambar
antarmuka penggunanya. Jendela ini biasanya mengisi layar, namun mungkin
lebih kecil daripada layar dan mengambang di atas jendela lain.
Pilih Empty Activity kemudian klik Next.

4) Konfigurasi Project
Setelah memilih activity, langkah selanjutnya yaitu kita harus
memberikan konfigurasi pada project android yang kita buat. Adapun yang
harus di konfigurasi yaitu :
 Name : isikan nama project
 Package name : isikan nama perusahaan atau pembuat aplikasi
 Save location : tentukan file project aplikasi android ini akan disimpan
pada direktori apa
 Language : pilih bahasa pemrograman yang akan digunakan, Java atau
Kotlin. Pada tutorial ini kita menggunakan Java
 Minimum API level : tentukan API berapa yang akan digunakan. Pada
bulan April 2017 google merilis daftar versi OS yang banyak digunakan
tahun 2017 dan hasilnya Lollipop (OS versi 5.0 dengan SDK 21/22) ada
di urutan nomor satu. Jadi untuk minimum SDKnya kita pilih API 15
yaitu untuk versi OS Ice Cream Sandwich ke atas.

5) Proses Gradle
Tunggu sampai proses gradle selesai. Ini biasanya memakan waktu
beberapa menit. Lama atau sebentarnya tergantung spesifikasi ram dan prosesor
yang digunakan pada komputer atau laptopmu.

6) Workspace Android Studio


Jika proses Gradle telah selesai, maka akan terbuka workspace project
Android Studio seperti gambar dibawah ini ( pertama kali terbuka adalah tab
MainActivity.java. Disinilah nantinya kita memberikan kode-kode java agar
aplikasi bisa melakukan sebuah perintah).
7) Atur Layout activity_main.xml
Klik Tab activity_main.xml yang digunakan untuk pengaturan layout
dari aplikasi android yang kita buat ( nantinya semua widget mulai dari
membuat teks, tombol, gambar dan lainnya diatur di activity_main.xml).

8) Jalankan Aplikasi Android


Di project ini kita hanya membuat aplikasi untuk menampilkan Hello
World jadi tidak menambahkan kode apapun pada activity_main.xml dan
MainActivity.java.
IV. DAFTAR PUSTAKA
[1] https://www.niagahoster.co.id/blog/cara-install-android-studio-tutorial-
lengkap/?amp
[2] https://badoystudio.com/belajar-android-untuk-pemula/membuat-aplikasi-
android-pertama/
HANDOUT PRAKTIKUM MOBILE APPLICATION
Topik II Pembuatan Proyek Berbasis Android Dan Shell Android

14
1. Tujuan
 Mahasiswa dapat membuat Proyek yang berbasis android
 Mahasiswa mengerti dan dapat menggunakan perintah yang terdapat pada shell
Sistem Operasi Android

2. Komponen / Peralatan
 PC / Laptop
 Android Studio
 Genymotion Atau Virtual Android Lainnya

3. Dasar Teori
3.1. Android Studio
a. Pada Android Studio, di toolbar menu pilih File  New  Project
sesuai Gambar 1.

Gambar 1. New Project

b. Pada dialog New Project pilih Android Project sesuai Gambar 2.

15
Gambar 2. Wizard Android Project

c. Kemudian pilih next, pada dialog new Android Project isikan sesuai Gambar
3. sebagai berikut :

Gambar 3. Wizard New Android Project

d. Tekan next maka akan akan dikanjutkan menuju menu pemilihan layout yang
dibuat akan terbentuk sesuai Gambar 4.

16
Gambar 4. New Layout

e. Tekan next maka akan akan dikanjutkan menuju menu new activity yang
dibuat akan terbentuk sesuai Gambar 5.

Gambar 5. New Activity

f. Tekan finish maka akan proyek yang dibuat akan terbentuk tampilan
sesuai Gambar 6.

17
Gambar 5. Tampilan Project Baru

g. Untuk menjalankan rogram android dibutuhkan sebuah device untuk


menjalankannya. Selai menggunakan device secara fisik dapat juga
digunakan device virtual, salah satu program nya adalah menggunakan
genymotion caranya buka jendela genymotion terlebih dahulu

Gambar 6. Jendela Genymotion

18
h. Klik create virtual device untuk membuat device baru dan memilih hardware
yang diperlukan seperti gambar 7.

Gambar 7. Memilih hardware virtual device

19
i. Memberikan nama virtual device seperti gambar 8.

Gambar 8. Memberikan Nama Android Virtual Device

j. Tunggu hingga selesai dan Android virtual device yang baru telah terbentuk,
seperti gambar 9.

Gambar 9. Proses pembuatan Android Virtual Device Baru

3.2. Shell Andoroid


Shell merupakan program yang berlaku sebagai perantara antara pengguna
dengan sistem operasi. Pengguna dapat menjalankan program, membuat pipeline
dari proses dan menyimpan output ke file dan menjalankan lebih dari satu
program dalam waktu yang sama. Perintah-perintah yang terdapat dalam sistem
operasi

20
android dapat dilihat pada direktori /system/bin. Untuk masuk pada shell pada
sistem operasi android dapat digunakan perintah ‘adb shell’ pada command
prompt komputer pengembang atau masuk pada emulator melalui menu Dev
Tools lalu pilih terminal emulator
a. Perintah
 ls digunakan untuk menampilkan daftar dari isi sebuah direktori
sintaks : ls : menampilkan isi direktori aktif
ls namafile/namadirektori : menampilkan namafile (jika file ada)
atau isi dari namadirektori
ls –l : menampilkan isi dari direktori dalam format panjang
 cd digunakan untuk berpindah ke sebuah direktori
sintaks :cd namadirektori : berpindah ke namadirektori
cd .. : berpindah ke direktori atasnya
 echo untuk menampilkan teks ke standar keluaran
sintaks :echo ‘abc‘ : menampilkan teks abc ke layar
 mkdir untuk membuat direktori
sintaks : mkdir namadirektori : membuat direktori namadirektori
 rm/rmdir untuk menghapus file atau direktori
sintaks :rm namafile : menghapus file namafile
rmdir namadirektori : menghapus direktori
namadirektori
 pwd digunakan untuk menampilkan nama lengkap dari file direktori aktif
sekarang
sintaks : pwd
 cat menampilkan isi dari sebuah file ke stdout
sintaks : cat namafile : menampilkan isi dari namafile
 ps menampilkan daftar proses yang sedang berjalan
sintaks : ps
 kill mematikan proses yang sedang berjalan
sintaks : kill pid : mematikan proses yang memiliki nomor pid
 date menampilkan waktu

sekarang sintaks : date

b. Pengalihan

21
Fasilitas pengalihan memungkinkan untuk menyimpan keluaran dari sebuah proses
ke suatu file.
Sintaks :

 Perintah > Nama file


Sehingga keluaran dari perintah tersebut akan disimpan pada file namafile.
Shell akan membuat file jika file belum ada atau menulis ulang ke file jika file
telah ada sehingga isi dari file lama akan terhapus.
 Perintah >> Nama file
Perbedaan dengan sintaks sebelumnya adalah keluaran dari perintah tidak
ditulis ulang ke file tapi ditambahkan pada file sehingga isi file lama tidak
terhapus.
c. Proses Background
Jika perintah diikuti dengan karakter ‘&’ maka subshell akan dibuat untuk
menjalankan perintah pada proses background.
Sintaks : perintah &

22
4. Langkah Praktikum
4.1. Membuat Helo Mob App
Untuk Menampilan tulisan ‘Helo Mob App’ pada layar. Buat proyek seperti
langkah yang telah dijelaskan pada dasar teori. Lalu lakukan langkah berikut ini :
 Buka folder Layout lalu buka pada folder res selanjutnya buka sub folder
layout. Tambahkan “android:id="@+id/helo"” pada main.xml untuk
memebrikan id pada text agar dapat diubah melalui pemrograman java.
Hasilnya seperti pada source 1.

<?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"

tools:context="forge.simbah.whitemith.shellapplication.MainAct

ivity">

<TextView
android:id="@+id/helo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=”"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>
Source 1

23
 Buka folder java lalu klik pada package kalian, misalkan
“forge.simbah.whitemith.shellapplication”. Package untuk tipa user mungkin
akan berbeda – beda tergantung keinginan user. Tambahkan :

a. “private TextView teks;” didalam class MainActivity


b. “teks = (TextView)findViewById(R.id.helo);”
c. “teks.setText("Halo Mob App");”
Sehingga hasilnya seperti cource 2.

package forge.simbah.whitemith.shellapplication;

import
android.support.v7.app.AppCompatActivity;

import android.os.Bundle; import

android.widget.TextView;

public class MainActivity extends

AppCompatActivity { private TextView teks;

@Override
protected void onCreate(Bundle

savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

teks = (TextView)findViewById(R.id.helo);

teks.setText("Halo Mob App");


}
}
Source 2

24
 Pilih dan jalankan virtual device genymotion

Gambar 10. Tampilan Genymotion

 Pilih Untuk Menjalankan Program

Gambar 11. Tampilan Jendela Connected Device

25
 Hasil Run Program

Gambar 12. Tampilan Hasil Program

26
4.2. Membuka Shell Android
 Menjalankan Android Virtual Device

Gambar 13. Tampilan Genymotion

 Membuka Virtual Box Dan Tampilkan Android yang Telah Berjalan

Gambar 14. Tampilan Virtual Box

27
 Ketuk “su” dan tekan enter untuk mengubah menjadi super user

Gambar 15.Memasuki Mode Root, Tanda # merupakan tanda super


user

 Ketik “ls” untuk mengetahui isi folder

Gambar 16. Hasil ls

 Ketik “cd (nama folder)”, misal “cd data” Gambar




17. Melakukan Perintah cd

28
 Ketik “mkdir (nama folder)”, misal “mkdir zzz” lalu lakukan “ls”

Gambar 18. Hasil perintah mkdir

 Ketik “cat > (nama folder)”, misal “cat > coba.txt” lalu isi file dengan
tulisan

Untuk meyimpan i tekan “ctrl + d” dan “ctrl + c” untuk keluar


Gambar 19. Hasil perintah cat

29
Handout Praktikum Mobile Application Topik 3
“Creating Menu dan Intents”
1. Tujuan
Mahasiswa dapat memahami User Interface yang digunakan pada sistem operasi
Android dan dapat menerapkannya pada Aplikasi berbasis sistem operasi Android.
2. Komponen / Peralatan
 PC/ Laptop
 Android Studio
 Geny Motion
3. Dasar Teori
Pada aplikasi Android, UI dibangun menggunakan objek dari View dan ViewGroup.
Objek dari View merupakan dasar dari pembangunan UI pada platform Android. Objek
dari View yang berfungsi sebagai UI dengan pengguna disebut widget. Kelas View
menangani dasar untuk sub kelas widget, yang menawarkan seluruh UI objek seperti text
fields dan buttons. Kelas ViewGroup menangani dasar untuk subkelas layout, yang
menawarkan berbagai jenis arsitekture dari layout. Dalam penjelasan sederhana
ViewGroup adalah View yang memiliki beberapa View anak.

Gambar 1. Komponen View dan View Group


1. View
 Teks
Terdapat dua jenis teks yaitu :
TextView merupakan penampil teks standar yang hanya dapat dibaca tidak
mengijinkan adanya pengubahan.

EditText merupakan sebuah box yang berisi teks yang dapat diubah.
Penggunaan properti capitalize untuk mengatur huruf yang besar misalnya pada
awal kalimat. Juga dapat digunakan properti phoneNumber jika diperlukan
penerimaan teks nomor telepon. Selain itu jika dibutuhkan field untuk password
dapat digunakan properti password.
 Button
Button merupakan tombol tekan standar yang berisi teks sebagai
pengidentifikasinya. Digunakan untuk menangani klik event.
ImageButton merupakan tombol tekan yang memiliki gambar untuk
identifikasinya.
 CheckBoxes dan RadioButton
CheckBoxes adalah tombol-tombol yang digunakan apabila diinginkan pilihan
lebih dari satu dengan jawaban ya atau tidak pada setiap pilihan.
RadioButton digunakan apabila hanya diperbolehkan memilih satu pilihan
pada satu waktu.
 Spinner
Spinner digunakan untuk menampilkan List/Dropdown menu, yang terdiri dari
item-item, untuk memudahkan user dalam memilih sebuah konten pada aplikasi.
2. ViewGroup
 Layout
LinearLayout
Akan menempatkan komponen-komponen di dalamnya secara horizontal atau
vertikal. Linearlayout memiliki atribut weight untuk masing-masing child view
yang berguna untuk menentukan porsi ukuran view dalam sebuah ruang (space)
yang tersedia.
Gambar 2. Pilihan pada LinearLayout
RelativeLayout
Layout yang paling fleksible dikarenakan posisi dari masing-masing komponen di
dalamnya dapat mengacu secara relatif pada komponen yang lainnya dan juga
dapat mengacu secara relatif ke batas layar.

Gambar 3. Contoh RelativeLayout


FrameLayout
Frame Layout adalah Layout yang biasanya digunakan untuk membuat objek
yang saling bertindihan contohnya yaitu kita membuat button di atas image.
Gambar 4. Contoh FrameLayout
TableLayout
Susunan komponen di dalam TableLayout akan berada dalam baris dan kolom.
Namun layout jenis ini tidak akan menampilkan garis pembatas untuk baris, kolom
atau cell-nya.

Gambar 5. Contoh TableLayout


 Gallery dan GridView
Gallery menampilkan lebih dari satu item pada daftar horisontal. Item yang
dipilih dikunci pada bagian tengah layar. ViewGroup ini sangat berguna ketika
ingin menampilkan pilihan yang memungkinkan sangat besar ke pengguna tanpa
menggunakan banyak layar.
GridView sangat mirip dengan Gallery, menampilkan banyak view anak
sehingga pengguna dapat menggunakannya. Perbedaannya dengan Gallery
adalah GridView merupakan array 2 dimensi sehingga pengguna dapat
berpindah secara vertikal.
 TabHost
TabHost digunakan ketika diinginkan adanya banyak halaman dan pengguna
dengan mudah berpindah halaman menggunakan label.
3. Dialog
 AlertDialog
Sebuah dialog yang sering digunakan untuk menyampaikan pesan dapat terdiri dari
beberapa tombol dan daftar item terpilih dapat mencakup CheckBox atau
RadioButton.
 ProgressDialog
Dialog yang menampilkan kemajuan (ProgressBar), juga terdapat tombol.
 DatePickerDialog
Dialog yang digunakan untuk mengambil data tanggal dari pengguna.
 TimePickerDialog
Dialog yang dapat digunakan oleh pengguna untuk memilih waktu.
4. Penanganan Event
Dalam pembuatan aplikasi penanganan event merupakan salah satu hal terpenting,
sehingga aplikasi yang dibuat dapat menangani kejadian baik yang dilakukan oleh
pengguna maupun aplikasi itu sendiri.
 EventListener
Event Listener adalah sebuah antarmuka di kelas View yang berisi method
pemanggilan tunggal. Method ini akan dipanggil oleh kerangka kerja Android
ketika Event yang terdaftar dipicu oleh interaksi pengguna pada UI.
onClick() : Event yang terjadi ketika pengguna menyentuh item (bila dalam
modus sentuh) atau menekan tombol di atas trackball.
onLongClick() : Event yang terjadi apabila pengguna menyentuh dan
menahan item (bila dalam modus sentuh), atau berfokus pada item dengantombol
navigasi atau trackball dan menekan dengan ditahan tombol "enter" yang cocok
atau menekan dengan ditahan di atas trackball (untuk satu detik).
onFocusChange() : Event yang terjadi ketika pengguna menavigasi ke atau
pergi dari item dengan menggunakan tombol navigasi atau trackball.
onKey() : Event yang terjadi bila pengguna menekan dan memfokuskan pada
item kemudian melepaskannya.
onTouch() : Event yang terjadi bila pengguna melakukan tindakan sentuhan
ke layar yang dianggap sebagai tindakan sentuhan seperti : menekan, melepas, atau
melakukan gerakan di layar pada batas-batas item.
onCreateContextMenu() : Event yang terjadi ketika menu konteks
dibangun sebagai akibat dari penekanan yang lama (long click).
 EventHandler
Dalam membangun aplikasi dapat ditentukan method beberapa callback digunakan
sebagai event handler default.
onKeyDown(int, KeyEvent) : Dipanggil ketika key baru terjadi.
onKeyUp(int, KeyEvent) : Dipanggil ketika kunci atas peristiwa terjadi..
onTrackballEvent(MotionEvent) : Dipanggil ketika terjadi peristiwa
gerakan trackball.
onTouchEvent(MotionEvent) : Dipanggil ketika gerakan layar sentuh
terjadi.
onFocusChanged(boolean, int, Rect) : Dipanggil ketika fokus
berubah.

4. Langkah Praktikum
1. Buat Project baru di Android Studio dengan nama TugasTopik3, minimal target SDK
yaitu API level 21, tipe activity EmptyActivity, activity name yaitu MainActivity.
(Pastikan laptop/ PC anda sudah terhubung dengan jaringan internet)
2. Buka berkas build.gradle(Module:App) dan tambahkan code berikut di
bagian dependecies. implementation 'de.hdodenhof:circleimageview:3.0.0',

sehingga berkas build.gradle(Module:App) sehingga menjadi seperti


gambar dibawah ini:
Gambar 6. Isi berkas build.gradle(Module:App)
Setelah itu tekan “Sync Now” untuk mengunduh pustaka circleimageview pada
proyek topik 3 ini.
3. Buka berkas strings.xml pada res > values. Dan tuliskan program seperti
gambar 7.
Gambar 7. Code pada strings.xml
4. Selanjutnya tambahkan tiga buah foto dari asisten. Copy tiga foto tersebut, lalu Paste
pada folder res > drawable.
5. Selanjutnya buka file activity_main.xml Tulis program seperti dibawah ini:
Gambar 8(a). Program activity_main.xml
Gambar 8(b). Program activity_main.xml
Gambar 8(c). Program activity_main.xml
Gambar 8(d). Program activity_main.xml
Gambar 8(e). Program activity_main.xml

Gambar 8(f). Program activity_main.xml


6. Kemudian buka file MainActivity.java Tulis program berikut:

Gambar 9. Program MainActivity.java


7. Setelah itu build aplikasi tersebut dan jalankan aplikasinya.
HANDOUT PRAKTIKUM MOBILE APPLICATION

Topik IV Intent dan UI Complex

1
1. Tujuan
Mahasiswa mengerti penggunaan kelas Intent dan pmbuatan UI complex dalam
pembuatan aplikasi sistemoperasi Android.

2. Komponen / Peralatan
Peralatan yang digunakan adalah PC / laptop yang sudah terpasang aplikasi Android Studio.
3. Dasar Teori
Intent merupakan sebuah kelas dalam programming Android yang berfungsi untuk
perpindahan halaman. Lebih jelasnya, ada beberapa fungsi intent yaitu berfungsi untuk
berpidah halaman dari satu activity ke activity lain. Contohnya kita membuat aplikasi
dengan tiga activity, activity pertama berisi tombol informasi dan login, ketika tombol login
ditekan maka akan menampilkan activity login begitu juga jika tombol informasi ditekan
akan menampilkan halaman informasi. Kedua intent berfungsi untuk mengirimkan
data dari satu activity ke activity lain. Contoh, pada saat kita mengisi data pada halaman
login user maka nanti akan ditampilkan informasinya pada activity informasi user. Ketiga,
intent berfungsi untuk memanggil activity pada internal android seperti melakukan
dial number, mengakses kamera, mengakses pesan singkat ataupun buku telepon.

Intent memiliki dua bentuk yaitu, Explicit Intent dan Implicit Intent.

1. Explicit Intent merupakan fungsi untuk mengaktifkan komponen-komponen dalam


satu aplikasi yang sama. Misalkan berpindah dari activity ke activity lainnya.
2. Implicit Intent berfungsi untuk memanggil komponen-komponen yang yang berada
diluar proyek android yang kita buat. Misalkan mengakses browser, membuka buku
telepon di android, membuka e-mail, dan lain-lain.
Permission di android studio, setiap aplikasi Android berjalan dalam sandbox
dengan akses terbatas. Jika aplikasi perlu menggunakan resource atau informasi di
luar sandbox-nya sendiri, Anda dapat mendeklarasikan izin runtime dan menyiapkan
permintaan izin yang menyediakan akses ini. Langkah-langkah ini adalah bagian dari
alur kerja untuk menggunakan izin. Jika Anda mendeklarasikan izin berbahaya dan
jika aplikasi diinstal pada perangkat yang menjalankan Android 6.0 (API level 23)
atau yang lebih tinggi, Anda harus meminta izin berbahaya saat runtime dengan
mengikuti langkah-langkah dalam panduan ini.

2
Jika Anda tidak mendeklarasikan izin berbahaya, atau jika aplikasi diinstal di
perangkat yang menjalankan Android 5.1 (API level 22) atau lebih rendah, izin akan
diberikan secara otomatis.

4. Langkah Praktikum
 Membuat contoh pindah dari Activity ke Activity lain tanpa membawa data.
1. Buat Project pada Android Studio dengan nama project dengan nama MyIntentApp
dengan target minimum SDK Api Level 21.
2. Pada file activity_main.xml tambahkan kode seperti gambar 1.

Gambar 1. Code activity_main.xml


3. Juga pada file stringss.xml, seperti gambar 2.

Gambar 2. Code strings.xml


4. Kemudian pada MainActivity.java tambahkan beberapa baris code untuk
mendeklarasikan objek Button yang kita buat dan tambahkan event onClick pada
objek tersebut sehingga kode program seperti gambar 3.

3
Gambar 3. Code MainActivity.java
5. Button yang dibuat berfungsi untuk berpindah Activity ke Activity lain. Selanjutnya
buat Activity baru dengan cara : klik kanan dipackage utama aplikasi package
name > New > Activity > Empty Activity.
6. Beri nama activity baru dengan nama MoveActivity kemudian klik finish.
7. Tambahkan TextView pada activity_move.xml, sehingga program menjadi
seperti gambar 4.

Gambar 4. Code activity_move.xml


8. Menambahkan Intent pada file MainActivity.java, dengan format
(Intent(KelasAsal, KelasTujuan)).

4
Gambar 5. MainActivity.java
9. Setelah semuanya selesai, jalankan aplikasi.
 Sekarang kita akan membuat sebuah intent yang didalamnya akan membawa data ke
activity tujuan.
1. Melanjutkan project yang sebelumnya. Buka activity_main.xml. Tambahkan
program untuk button.

Gambar 6. Code untuk menambahkan Button


2. Tambahkan beberap baris berikut pada MainActivity.java, sehingga menjadi
seperti gambar 7.

5
Gambar 7. File MainActivity.java
3. Setelah itu buat Activity baru sama seperti cara sebelumnya dengan nama
ActivityMoveWithData.
4. Pada file activity_move_with_data.xml, tambahkan TextViewer yang
memiliki ID untuk menampilkan data yang dikirim dari activity asal

Gambar 8. activity_move_with_data.xml
5. Pada file ActivityMoveWithData.java tulis code seperti gambar 9.

6
Gambar 9. ActivityMoveWithData.java
public static final merupakan sebuah konstanta(variabel yang nilainya
tetap), public(dapat diakses diluar kelas), static(nilai tidak berubah),
final(tidak ada perubahan agi).
6. Setelah itu pada file MainActivity.java tambahkan beberapa baris code berikut
pada percabangan event clickButton.
Intent moveWithDataIntent = new Intent(MainActivity.this,
ActivityMoveWithData.class);
moveWithDataIntent.putExtra(ActivityMoveWithData.EXTRA_NAME,
"Mobile Application");
moveWithDataIntent.putExtra(ActivityMoveWithData.EXTRA_AGE, 20);
startActivity(moveWithDataIntent);
Method putExtra()merupakan metode yang menampung pasangan key-value.
7. Jalankan aplikasi ini.
 Sekarang kita akan membuat intent dengan tipe implisit.
1. Pada file main_activity.xml tambahkan Button 1 lagi.

Gambar 10. Code untuk menambahkan tombol


2. Inisialisasi button yang sudah dibuat pada MainActivity.java.
Button btnDialPhone = findViewById(R.id.btn_dial_number);
btnDialPhone.setOnClickListener(this);

7
3. Setelah itu tambahkan action ketika tombol di klik.
String phoneNumber = "085777666555";
Intent dialPhoneIntent = new Intent(Intent.ACTION_DIAL,
Uri.parse("tel:"+phoneNumber));
startActivity(dialPhoneIntent);
URI merupakan sebuah untaian karakter yang digunakan untuk mengidentifikasi
nama, sumber, atau layanan internet sesuai dengan RFC 2396. Secara struktur, URI
dibagi menjadi :

Gambar 11. Struktur URI


Dimana “tel” merupakan skema untuk sumber daya telepon dan phoneNumber
adalah sebuah variabel yang berisi nomor telepon. Skema lain URI seperti “geo”
untuk peta, “http” untuk browser, dll.
4. Setelah selesai, build aplikasi dan cobalah.
 Membuat aplikasi untuk memfoto dari kamera dan gallery android
1. Buat Project pada Android Studio dengan nama project dengan nama
MyCamera dengan target minimum SDK Api Level 21.
2. Pada file activity_main.xml tambahkan kode seperti gambar 12.

Gambar 12
3. Pada class MainActivity, kalian deklarasikan ImageView.

4. Dalam metode onCreate override, kalian harus menginisialisasi elemen


ImageView dengan menambahkan berikut ini,

5. Membuat Permission RUN-Time untuk Kamera dan Penyimpanan


8
Eksternal. Untuk dua Permission di define di AndroidManifest.xml

6. Oke setelah menambahkan dua izin ini pada file manifes, kalian perlu
membuat fungsi untuk memeriksa izin runtime di MainActivity.
Fungsi ini akan menampilkan sembulan jika pengguna tidak memiliki
izin sehingga pengguna dapat mengklik tombol izinkan untuk
memberikan izin ke aplikasi Anda.

9
7. Kalian perlu Override onRequestPermissionsResult dimana kalian
menangani hasil Permission kalian, jika Permission diberikan maka
kalian dapat memanggil fungsi chosseImage

8. Sekarang kalian perlu Override onRequestPermissionsResult di mana


Anda akan menangani hasil izin Anda. jika izin diberikan maka Anda
dapat melanjutkan untuk memanggil fungsi chooseImage.

10
9. Setelah itu membuat menu dengan tiga pilihan :
 Take Photo
 Choose a Photo from the gallery
 Exit

10. Sekarang untuk menangani hasil startActivityForResult kalian, kalian perlu


mengganti onActivityResult (Fragment)

11
11. Setelah Anda selesai dengan semua langkah, Anda memanggil fungsi pemeriksaan
izin dalam metode onCreate.

12
13
HANDOUT PRAKTIKUM MOBILE APPLICATION
Topik V Penyimpanan Data Dengan Firebase

14
1. Tujuan
 Mahasiswa dapat membuat database dan menggunakannya pada aplikasi.
 Mahasiswa dapat melakukan query melalui Firebase pada android.

2. Komponen / Peralatan
 PC / Laptop
 Android Studio

3. Dasar Teori
Firebase Realtime Database adalah database yang di-host di cloud. Pada database ini,
data akan disimpan sebagai JSON dan disinkronkan secara realtime ke setiap klien yang
terhubung. Dengan kemampuan sinkronisasi secara realtime ini, ketika kita
mengembangkan aplikasi yang cross platform dengan SDK Android, iOS, dan JavaScript,
semua klien akan berbagi sebuah instance Realtime Database dan menerima update data
terbaru secara otomatis.
3.1 Cursordan Content Values
ContentValues digunakan untuk menambahkan baris baru ke tabel. Query di Android
akan mengembalikan obyek Cursor. Cursor merupakan penunjuk dari serangkaian hasil
pokok data. Cursors melayani pengaturan posisi (baris) pada kumpulan hasil dari
query database. Beberapa Method yang ada pada Kelas Cursor:
 moveToFirst() : Memindahkan cursor ke baris pertama dari hasil Query
 moveToNext() : Memindahkan cursor ke baris selanjutnya

15
 moveToPrevious() : Memindahkan cursor ke baris sebelumnya
 getCount() : Mengembalikan jumlah baris pada kumpulan hasil
 getColumnIndexOrThrow() : mengembalikan indeks dari kolom sesuai namayang
diberikan atau melemparkan exception jika tidak ada kolom sesuai nama
tersebut.
 getColumnName() : mengembalikan nama dari indeks kolom yang ditentukan
 getColumnNames() : mengembalikan seluruh nama kolom dari Cursor saat ini
 moveToPosition() : memindahkan cursor ke baris yang ditentukan
 getPosition() : mengembalikan posisi cursor saat ini.

3.2 Bagaimana cara kerja Firebase Realtime Database?

 Firebase Realtime Database memungkinkan kita sebagai developer untuk


membuat aplikasi kolaboratif dan kaya fitur dengan menyediakan akses yang
aman ke database, langsung dari kode sisi klien.

 Realtime Database menyediakan bahasa expresion-based rule yang fleksibel,


atau disebut juga Firebase Realtime Database Security Rules, untuk
menentukan metode strukturisasi data dan kapan data dapat dibaca atau
ditulis.

 Realtime Database adalah database NoSQL, sehingga memiliki


pengoptimalan dan fungsionalitas yang berbeda dengan relational database.
API Realtime Database dirancang agar hanya mengizinkan operasi yang dapat
dijalankan dengan cepat.

3.3 Alur implementasi

 Mengintegrasikan Firebase Realtime Database SDK. Sertakan klien dengan


cepat melalui Gradle, CocoaPods, atau skrip.

 Membuat Referensi Realtime Database. Referensikan data JSON Anda,


seperti "users/user:1234/phone_number", untuk menetapkan data atau
berlangganan perubahan data.

 Menetapkan Data dan Mendeteksi Perubahan. Gunakan referensi ini untuk


menuliskan data atau berlangganan perubahan.

 Mengaktifkan Persistensi Offline. Izinkan penulisan data ke disk lokal

16
perangkat agar tetap tersedia saat offline.

 Melindungi data. Gunakan Aturan Keamanan Firebase Realtime Database


untuk melindungi data Anda.

4. Langkah Praktikum
 Membuat aplikasi note sederhana dengan media penyimpanan menggunakan
Firebase sebagai databasenya.
1. Buat project android baru dengan nama project MyNotesApp(nama terserah).
2. Set up Firebase Database:
Untuk menggunakan Firebase Assistant, kita pilih menu Tools→Firebase, selanjutnya akan
muncul Windows Assistant.

Pilih Real Time Database lalu klik Get started with Realtime Database

Selanjutnya hubungkan aplikasi ke firebase dengan menekan tombol Connect to Firebase

17
Akan muncul window Firebase di browser kalian pakai

Klik Add Project, setelah itu berinama pada project tersebut

Setelah itu klik Continue dan Continue lagi, sampai di halaman Configure Google
Analytics

18
Setelah itu klik Create Project dan tunggu sampai selesai loadingnya dan klik Continue.
Kembali ke Android Studio di window Firebase, setelah Connect your app to Firebase
sudah Connected

Setelah itu klik Add the Realtime Database to your app

Setelah itu akan tampil windows untuk menambahkan dependencies ke dalam aplikasi. Tekan
tombol Accept Changes untuk menambahkan dependencies.

19
3. Membuat Database dan Setup Konfigurasi database
Pada tahapan ini kita akan buat database dan kita atur konfigurasinya. Sekarang kita coba Sign
in ke Firebase Console menggunakan account google kita. Di console Firebase, kita dapat
menemukan project Aplikasi Pengelolaan data mahasiswa yang sudah dibuat di tahap
sebelumnya.

Klik Project yang telah kalian buat tadi untuk menuju ke halaman project.
Di dashboard project kita pilih menu Database.

20
Di halaman ini kita bisa lihat ada dua jenis database, yaitu Firestore dan Real Time Database.
Kita scroll ke bawah, pilih create database untuk Real Time database.

Selanjutnya tampil pengaturan security untuk database. Karena project kita masih tahap
development pilih menu Start in test mode. Setelah itu kita tekan tombol enable.

Selanjutnya tampil halaman database. Itu artinya database siap digunakan untuk pengembangan aplikasi
project.
4. Menambahkan fitur Create Data Mahasiswa
Dalam proses menambahkan data atau insert data ke database, kita perlu dua activity. Yang
pertama kita akan menggunakan MainActivity, kita tambahkan button dan object lainnya. Button ini
kita gunakan untuk masuk ke activity yang kedua yaitu CreateActivity yang nanti akan kita gunakan
untuk menambahkan data ke dalam database.
Pertama buka file activity_main.xml, lalu sesuaikan kode seperti di bawah ini:

21
5. Selanjutnya, buat package baru dengan nama model. Caranya klik kanan pada package utama
→ new → package. Setelah package berhasil dibuat, kita buat satu file java class baru dengan
nama Mahasiswa dan ketik kode berikut ini:

22
23
6. Selanjutnya, buat package baru dengan nama mahasiswa. Caranya klik kanan pada package
utama → new → package lalu isi nama package dengan nama mahasiswa. Setelah package
terbentuk, buat satu activity baru dengan nama CreateActivity dan tipenya adalah empty
activity di dalam package mahasiswa.
Di dalam file activity_main.xml terdapat object button untuk menambahkan data baru, fungsi
button ini ketika diklik pengguna akan diarahkan ke activity yang baru dibuat, yaitu
CreateActivity. Buka file MainActivity lalu sesuaikan codenya menjadi:

7. Tahap selanjutnya adalah membuat form. Buka file activity_create.xml lalu sesuaikan kode
24
seperti di bawah ini.

8. Supaya aplikasi dapat mengakses internet, kita harus mengatur permission di dalam file
AndroidManifest.xml. Buka file AndroidManifest.xml, lalu tambahkan kode:

9. Buat file item_mahasiswa.xml untuk tampilan list dengan cara klik kanan pada direktori
layout → new → layout resource file dan kemudian beri nama item_mahasiswa.xml.
Sesuaikan kodenya menjadi seperti berikut:

25
10. Selanjutnya, buat package baru dengan nama adapter. Di dalamnya buat sebuah kelas baru
dengan nama MahasiswaAdapter. Lalu ketik kode di bawah ini:

26
11. Buat satu activity baru dengan nama UpdateActivity dan tipenya adalah empty activity di
dalam package mahasiswa. Setelah activity selesai dibuat, buka file activity_update.xml dan
sesuaikan menjadi seperti kode berikut ini:

27
12. Selanjutnya tambahkan resource directory baru dengan nama menu pada res directory, dengan
cara klik kanan pada folder res -> new -> Android Resource Directory -> ubah resource type
menjadi menu. Lalu buatlah berkas xml (Menu Resource File) dengan nama menu_form di
dalam direktori menu yang baru saja dibuat.

Kemudian ketik kode dibawah ini pada menu.xml

13. Di dalam baris kode di atas terdapat drawable/ic_clear, itu artinya kita buat file di dalam
directory drawable dengan cara klik kanan pada folder drawable -> new -> Vector Asset -> lalu
pilih clip art dengan icon X dan beri nama ic_clear seperti yang terlihat pada gambar berikut.

Lalu selanjutnya klik tombol next dan finish.

28
14. Selanjutnya buka file UpdateActivity, ketik kode dibawah ini:

29
Soal

 Lakukan semua Langkah-langkah dari praktikum!(20)


 Jelaskan cara kerja coding tersebut!(30)
 Tunjukan Function yang di gunakan untuk menambah, mengedit, dan menghapus data tersebut!(30)
 Tunjukan hasil dari Firebase tersebut!(20)

30
1

HANDOUT PRAKTIKUM MOBILE APPLICATION

Topik VI Sensor GPS


1. Tujuan
 Mahasiswa dapat mengakses GPS dan menggunakannya dalam aplikasi
 Mahasiswa dapat membuat aplikasi GPS

2. Komponen / Peralatan
 PC / Laptop
 Android Studio
 JDK

3. Dasar Teori
Salah satu fitur unik dari aplikasi seluler adalah kesadaran lokasi. Pengguna seluler
membawa perangkat mereka ke mana saja, dan menambahkan kesadaran lokasi ke aplikasi
Anda menawarkan pengalaman yang lebih kontekstual kepada pengguna. API lokasi yang
tersedia di layanan Google Play memfasilitasi penambahan kesadaran lokasi ke aplikasi Anda
dengan pelacakan lokasi otomatis, deteksi sisi jalan yang salah, pembatasan wilayah, dan
pengenalan aktivitas.
 Latitude = garis lintang mengarah dari khatulistiwa (0) ke kutub selatan, atau
khatulistiwa ke kutub utara (sudut 0-90 dan 0 -90)
 Longitude = garis bujur adalah garis horizontal seperti dari khatulistiwa. Sudut 0
(Greenwich) ke arah Hawai adalah 0-180, sedangkan kebalikannya dari 0 ke -180

1. Langkah Praktikum
Menganses Lokasi Perangkat Anda dan menampilkan Longitude dan Latitude
Untuk mempelajari mengakses GPS dapat dilihat pada contoh ini. Contoh ini akan
menampilkan data Longitude dan Latitude.

 Pertama anda harus membuat permission akses lokasi. Di AndroidMainfest.xml

 Setelah menambahkan permission ke Manifest, silahkan tambahkan juga library location


ke dalam Gradle tingkat app seperti file gradle dibawah ini :
3

 Persiapan pertama selesai dilakukan, sekarang tingkat ke tahap berikutnya. Membuat


Layout.
4

 Setelah pembuatan layout, selanjutnya kita membuat coding di file Java nya ya. Kita buka
MainActivity.java dan silahkan ikuti coding seperti dibawah ini
HANDOUT PRAKTIKUM MOBILE APPLICATION

Topik VII SENSOR ACCELEROMETER


1. Komponen / Peralatan
 PC / Laptop
 Android Studio
 JDK

2. Dasar Teori
Platform Android menyediakan beberapa sensor yang memungkinkan Anda memantau
gerakan suatu perangkat. Arsitektur sensor yang mungkin bervariasi berdasarkan jenis sensor:
Sensor gravitasi, akselerasi linear, vektor rotasi, gerakan signifikan, penghitung langkah, dan
pendeteksi langkah berbasis hardware atau berbasis software.
Sensor akselerometer dan giroskop selalu berbasis hardware.
Sebagian besar perangkat yang berbasis Android memiliki akselerometer, dan kini banyak yang
menyertakan giroskop. Ketersediaan sensor berbasis softaware lebih bervariasi karena sering
mengandalkan satu atau lebih sensor hardware untuk memperoleh datanya. Bergantung pada
perangkatnya, sensor berbasis hardware ini dapat memperoleh data mereka baik dari
akselerometer dan magnetometer atau dari giroskop.
Sensor gerak berguna untuk memantau pergerakan perangkat, seperti gerakan miring,
guncangan, rotasi, atau ayunan. Gerakan ini biasanya merupakan refleksi dari input pengguna
langsung (misalnya, pengguna yang menyetir mobil di dalam game atau pengguna yang
mengendalikan bola di dalam game), tetapi itu juga bisa menjadi refleksi dari lingkungan fisik
tempat perangkat itu berada. (misalnya, bergerak bersama Anda saat mengendarai mobil). Dalam
kasus pertama, Anda memantau gerakan yang relatif dengan bingkai referensi perangkat atau
bingkai referensi aplikasi Anda; dalam kasus kedua Anda memantau gerakan yang relatif dengan
bingkai referensi dunia. Sensor gerak sendiri biasanya tidak digunakan untuk memantau posisi
perangkat, tetapi dapat digunakan dengan sensor lain, seperti sensor medan geomagnetik, untuk
menentukan posisi perangkat yang relatif dengan bingkai referensi dunia (lihat Sensor Posisi
untuk informasi lebih lanjut).
Semua sensor gerak menampilkan array multi-dimensi dari nilai-nilai sensor untuk
masing-masing SensorEvent. Misalnya, selama kejadian sensor tunggal, akselerometer
menampilkan data gaya akselerasi untuk tiga sumbu koordinat, dan giroskop menampilkan laju
data rotasi untuk tiga sumbu koordinat. Nilai data ini ditampilkan dalam array float (values)
bersama dengan parameter SensorEvent lainnya. Tabel 1 merangkum sensor gerak yang tersedia
di platform Android.
Tabel 1. Sensor gerak yang didukung pada platform Android.
Data kejadian Keteranga Unit
Sensor
sensor n ukuran
Gaya
akselerasi
di
SensorEvent.values[0] sepanjang
sumbu x
(termasuk
gravitasi).
TYPE_ACCELEROMETER m/s2
Gaya
akselerasi
di
SensorEvent.values[1] sepanjang
sumbu y
(termasuk
gravitasi).
3

Gaya
akselerasi
di
SensorEvent.values[2] sepanjang
sumbu z
(termasuk
gravitasi).
Akselerasi
terukur di
sepanjang
SensorEvent.values[0] sumbu X
tanpa
kompensasi
bias.
SensorEvent.values[1] Akselerasi
terukur di
sepanjang
sumbu Y
tanpa
kompensasi
bias.
SensorEvent.values[2] Akselerasi
terukur di
sepanjang
sumbu Z
tanpa
kompensasi
bias.
SensorEvent.values[3] Akselerasi
TYPE_ACCELEROMETER_UNCALIBRAT
terukur di m/s2
ED
sepanjang
sumbu X
dengan
estimasi
kompensasi
bias.
SensorEvent.values[4] Akselerasi
terukur di
sepanjang
sumbu Y
dengan
estimasi
kompensasi
bias.
SensorEvent.values[5] Akselerasi
terukur di
sepanjang
sumbu Z
dengan
estimasi
kompensasi
bias.
Gaya
TYPE_GRAVITY SensorEvent.values[0] m/s2
gravitasi di
4

sepanjang
sumbu x.
Gaya
gravitasi di
SensorEvent.values[1]
sepanjang
sumbu y.
Gaya
gravitasi di
SensorEvent.values[2]
sepanjang
sumbu z.
Laju rotasi
SensorEvent.values[0] di sekitar
sumbu x.
Laju rotasi
TYPE_GYROSCOPE SensorEvent.values[1] di sekitar rad/s
sumbu y.
Laju rotasi
SensorEvent.values[2] di sekitar
sumbu z.
Laju rotasi
(tanpa
kompensasi
SensorEvent.values[0]
drift) di
sekitar
sumbu x.
Laju rotasi
(tanpa
kompensasi
SensorEvent.values[1]
drift) di
sekitar
sumbu y.
Laju rotasi
(tanpa
kompensasi
TYPE_GYROSCOPE_UNCALIBRATED SensorEvent.values[2] rad/s
drift) di
sekitar
sumbu z.
Estimasi
drift di
SensorEvent.values[3]
sekitar
sumbu x.
Estimasi
drift di
SensorEvent.values[4]
sekitar
sumbu y.
Estimasi
drift di
SensorEvent.values[5]
sekitar
sumbu z.
Gaya
akselerasi
TYPE_LINEAR_ACCELERATION SensorEvent.values[0] di m/s2
sepanjang
sumbu x
5

(tidak
termasuk
gravitasi).
Gaya
akselerasi
di
sepanjang
SensorEvent.values[1]
sumbu y
(tidak
termasuk
gravitasi).
Gaya
akselerasi
di
sepanjang
SensorEvent.values[2]
sumbu z
(tidak
termasuk
gravitasi).
Komponen
vektor
rotasi
SensorEvent.values[0]
sepanjang
sumbu x (x
* sin(θ/2)).
Komponen
vektor
rotasi
SensorEvent.values[1]
sepanjang
sumbu y (y
Tanpa
TYPE_ROTATION_VECTOR * sin(θ/2)).
unit
Komponen
vektor
rotasi di
SensorEvent.values[2]
sepanjang
sumbu z (z
* sin(θ/2)).
Komponen
skalar dari
SensorEvent.values[3] vektor
rotasi
((cos(θ/2)).1
TYPE_SIGNIFICANT_MOTION N/A N/A N/A
Jumlah
langkah
yang
diambil
oleh Langka
TYPE_STEP_COUNTER SensorEvent.values[0]
pengguna h
sejak reboot
terakhir
saat sensor
diaktifkan.
TYPE_STEP_DETECTOR N/A N/A N/A
6

Sensor berikut memberikan data mentah kepada aplikasi Anda tentang gaya linear dan
rotasi yang diterapkan ke perangkat. Untuk menggunakan nilai dari sensor ini secara efektif,
Anda perlu memfilter faktor dari lingkungan, misalnya gravitasi. Anda mungkin juga perlu
menerapkan algoritme perataan untuk tren nilai guna mengurangi derau.
 Menggunakan sensor akselerometer
Sensor akselerasi mengukur akselerasi yang diterapkan pada perangkat, termasuk gaya gravitasi.
Kode berikut ini menunjukkan cara mendapatkan instance sensor akselerasi default:

Secara konseptual, sensor akselerasi menentukan akselerasi yang diterapkan pada


perangkat (Ad) dengan mengukur gaya yang diterapkan pada sensor itu sendiri (Fs)
menggunakan hubungan berikut:

Namun, gaya gravitasi selalu memengaruhi akselerasi yang diukur berdasarkan hubungan
berikut:

Karena alasan ini, saat perangkat berada di atas meja (dan tidak berakselerasi), akselerometer
membaca kekuatan g = 9,81 m/s2. Demikian pula, saat perangkat jatuh bebas dan karenanya
dengan cepat berakselerasi ke tanah pada 9,81 m/s2, akselerometernya membaca kekuatan g = 0
m/s2. Oleh karena itu, untuk mengukur akselerasi nyata perangkat, kontribusi gaya gravitasi
harus dihapus dari data akselerometer. Ini dapat dilakukan dengan menerapkan filter high-pass.
Sebaliknya, filter low-pass dapat digunakan untuk mengisolasi gaya gravitasi. Contoh berikut
menunjukkan cara Anda dapat melakukan ini:

Akselerometer menggunakan sistem koordinat sensor standar. Dalam praktiknya, ini berarti
bahwa kondisi berikut ini berlaku saat perangkat diletakkan datar di atas meja dalam orientasi
7

alami:
 Jika Anda mendorong perangkat di sisi kiri (sehingga bergerak ke kanan), nilai akselerasi
x adalah positif.
 Jika Anda mendorong perangkat di bagian bawah (sehingga menjauh dari Anda), nilai
percepatan y adalah positif.
 Jika Anda mendorong perangkat ke arah langit dengan akselerasi A m/s2, nilai akselerasi
z sama dengan A + 9,81, yang sesuai dengan akselerasi perangkat (+A m/s2) minus gaya
gravitasi (-9,81 m/s2).
 Perangkat yang tidak bergerak akan memiliki nilai akselerasi +9,81, yang sesuai dengan
akselerasi perangkat (0 m/s2 minus gaya gravitasi, yaitu -9,81 m/s2).
Secara umum, akselerometer adalah sensor yang baik untuk digunakan jika Anda memantau
gerakan perangkat. Hampir setiap handset dan tablet berbasis Android memiliki akselerometer,
dan menggunakan daya sekitar 10 kali lebih sedikit daripada sensor gerak lainnya. Salah satu
kelemahannya adalah Anda mungkin harus menerapkan filter low-pass dan high-pass untuk
menghilangkan gaya gravitasi dan mengurangi derau.
3. Langkah Praktikum
 Ubah activity_main.xml kalian ke kode berikut.

 Untuk MainActivity seperti berikut.


8

 Setelah itu buat kelas baru dengan nama “MyCompassView” , dengan code
seperti berikut :
9

 Setelah itu buat kelas baru dengan nama “SensorActivity”, dengan kode seperti
berikut.
10

4. Soal
1. Lakukan langkah praktikum diatas dan lihatkan hasilnya!(20)
2. Jelaskan langkah praktikum diatas dengan jelas!(20)
3. Buatlah sebuah aplikasi Kompas yang dapat menunjukan mata angin!(60)
HANDOUT PRAKTIKUM MOBILE APPLICATION

Topik VIII SENSOR ACCESS TO OTHER APPS USER PERMISSION


1. Komponen / Peralatan
 PC / Laptop
 Android Studio
 JDK

2. Dasar Teori

Setiap aplikasi Android berjalan dalam sandbox dengan akses terbatas. Jika aplikasi perlu
menggunakan resource atau informasi di luar sandbox-nya sendiri, Anda dapat mendeklarasikan
izin runtime dan menyiapkan permintaan izin yang menyediakan akses ini. Langkah-langkah ini
adalah bagian dari alur kerja untuk menggunakan izin.
Jika Anda mendeklarasikan izin berbahaya dan jika aplikasi diinstal pada perangkat yang
menjalankan Android 6.0 (API level 23) atau yang lebih tinggi, Anda harus meminta izin
berbahaya saat runtime dengan mengikuti langkah-langkah dalam panduan ini.
Jika Anda tidak mendeklarasikan izin berbahaya, atau jika aplikasi diinstal di perangkat yang
menjalankan Android 5.1 (API level 22) atau lebih rendah, izin akan diberikan secara otomatis,
dan Anda tidak perlu menyelesaikan langkah-langkah lainnya di halaman ini.
Mengizinkan sistem mengelola kode permintaan izin untuk mengizinkan sistem mengelola kode
permintaan yang terkait dengan permintaan izin, tambahkan dependensi pada library berikut di
file build.gradle modul Anda:
 androidx.activity, versi 1.2.0 atau yang lebih baru
 androidx.fragment, versi 1.3.0 atau yang lebih baru
Kemudian, Anda dapat menggunakan salah satu class berikut:
 Untuk meminta satu izin, gunakan RequestPermission.
 Untuk meminta beberapa izin secara bersamaan, gunakan
RequestMultiplePermissions.
Langkah-langkah berikut menunjukkan cara menggunakan kontrak RequestPermission.
Prosesnya hampir sama untuk kontrak RequestMultiplePermissions.
1. Dalam logika inisialisasi aktivitas atau fragmen, teruskan implementasi
ActivityResultCallback ke dalam panggilan ke registerForActivityResult().
ActivityResultCallback menentukan cara aplikasi Anda menangani respons pengguna
terhadap permintaan izin.
Simpan referensi ke nilai hasil registerForActivityResult(), yang berjenis
ActivityResultLauncher.
2. Untuk menampilkan dialog izin sistem saat diperlukan, panggil metode launch()
pada instance ActivityResultLauncher yang Anda simpan pada langkah sebelumnya.
Setelah launch() dipanggil, dialog izin sistem akan muncul. Saat pengguna menentukan
pilihan, sistem akan memanggil implementasi ActivityResultCallback secara asinkron, yang telah
Anda tentukan pada langkah sebelumnya.
Contoh Codenya :
3

Dan cuplikan kode ini menunjukkan proses yang direkomendasikan untuk memeriksa izin dan meminta
izin dari pengguna jika diperlukan:

Kelola sendiri kode permintaan izin


Sebagai alternatif untuk mengizinkan sistem mengelola kode permintaan izin, Anda dapat mengelola
sendiri kode permintaan izin. Untuk melakukannya, sertakan kode permintaan dalam panggilan ke
requestPermissions().
Cuplikan kode berikut menunjukkan cara meminta izin menggunakan kode permintaan:

Setelah pengguna merespons dialog izin sistem, sistem akan memanggil implementasi
onRequestPermissionsResult() aplikasi Anda. Sistem meneruskan respons pengguna ke dialog izin serta
kode permintaan yang Anda tentukan, seperti yang ditunjukkan dalam cuplikan kode berikut:
4

Untuk daftar permission :


5

3. Langkah Praktikum
 Tambah permission di AndroidManifest.xml

 Untuk MainActivity seperti berikut.


6

 Setelah itu untuk “activity_main.xml” , dengan code seperti berikut :

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}

dependencies {

implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.8.0'
implementation 'com.google.android.gms:play-services-location:21.0.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'com.google.firebase:firebase-auth:21.2.0'
def cameraxVersion = "1.1.0-alpha05"
implementation "androidx.camera:camera-core:${cameraxVersion}"
implementation "androidx.camera:camera-camera2:${cameraxVersion}"
implementation "androidx.camera:camera-lifecycle:${cameraxVersion}"
implementation 'androidx.camera:camera-view:1.0.0-alpha25'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}

Anda mungkin juga menyukai