Penulis:
Putri Elfa Mas`udia, S.T., M.Cs
Adzikirani, S.S.T., M.Tr.T
Dimas Rossiawan Hendra Putra, S.Kom., M.Tr.T.
Penyunting:
Dhega Febiharsa
ISBN :
Cetakan Pertama : 2022
Penerbit :
Cerdas Ulet Kreatif
Jl. Manggis 72 RT 03 RW 04 Jember Lor - Patrang
Jember - Jawa Timur 68118
Telp. 0331-4431347, 412387 Faks. 4431347
e-mail : info@cerdas.co.id
Distributor Tunggal:
Cerdas Ulet Kreatif
Jl. Manggis 72 RT 03 RW 04 Jember Lor - Patrang
Jember - Jawa Timur 68118
Telp. 0331-4431347, 412387 Faks. 4431347
e-mail : info@cerdas.co.id
Segala puji bagi Allah, Tuhan Yang Maha Esa atas rahmat dan
karunia-Nya, sehingga penulis dapat menyelesaikan buku ajar
dengan baik. Tak lupa juga kami mengucapkan shalawat serta salam
kepada Nabi Besar Muhammad SAW, karena berkat beliau, kita
mampu keluar dari kegelapan menuju jalan yang lebih terang.
Kami sadar, buku ini masih banyak luput dan kekeliruan yang
tentu saja jauh dari sempurna. Oleh sebab itu kami mohon agar
pembaca memberi kritik dan juga saran terhadap karya buku ini untuk
perbaikan. Semoga buku ini dapat bermanfaat bagi penulis dan
pembaca
LA
POL
NG
MATA KULIAH KODE RUMPUN MATA BOBOT (sks) SEMESTER TGL. PENYUSUNAN
KULIAH
Pemrograman
Pemrograman Aplikasi RTT157006 Aplikasi Mobile 2 4 7 Februari 2021
Mobile
OTORISASI Dosen Pengembang RPS Koordinator RMK Ka PRODI
Putri Elfa Mas`udia, ST.,M.Cs Hendro Darmono, M.Nanak Zakaria, ST., MT
B.Eng, M.T,
Capaian Pembelajaran Capaian Pembelajaran Lulusan Program Studi(CPL-
(CP) Prodi)
Mahasiswa mampu membangun aplikasi android sederhana menggunakan android studio yang
dapat dikoneksikan dengan database
Diskripsi Singkat Mata Pada Matakuliah Pemrograman Aplikasi Mobile, mahasiswa dikenalkan dengan konsep dasar
Kuliah teknologi mobile, dan diberikan materi praktikum menggunakan android studio untuk bisa membuat
aplikasi android sederhana yang dapat dikoneksikan dengan database firebase maupun SQL Lite
Materi Pembelajaran / 1. Konsep Dasar Teknologi Mobile Internet, Arsitektur dan Struktur Android.
Pokok Bahasan 2. IDE: Lembar kerja dan Project Android
3. Layout (linier, relative, constrain)
4. Komponen Graphical User Interface (Button dengan onClickListener, Button dengan cara klasik,
Checkbox, Radio Button, Spinner)
5. Multi Screen. (Intent dan fragment)
6. Akses Google Maps, GPS
7. Akses Internal Device (Kamera, Accelerometer dll)
8. Database sederhana menggunakan Firebase
9. Database sederhana menggunakan Sql lite
Pustaka Utama :
1. Dimarzio, J.F. (2008). Android Programmer’s Guide. MC Graw Hill, New York Chicago San
Pendukung :
--
Media Pembelajaran Software : Hardware :
Android Studio Laptop/PCS
LCD
Whiteboard
Nama Dosen Pengampu Putri Elfa Mas`udia, ST., M.Cs
Matakuliah Syarat Algoritma dan Pemgrograman
Min Kemampuan Bahan kajian Bentuk dan Estima Pengalaman Kriteria & Indikator Bob
ggu Akhir Yang (Materi Metode si Belajar Bentuk Penilaian ot
Ke Direncanakan Pembelajaran Pembelajar Waktu Mahasiswa Penilaian Penil
(Sub-CP-MK) ) an aian
(%)
A. Pendahuluan .......................................................................................... 14
A. Activity .................................................................................................... 39
C. Latihan ................................................................................................... 44
A. LAYOUT ................................................................................................. 56
A. INTENT .................................................................................................. 63
BAB 7 FRAGMENT....................................................................................... 83
B. Persiapan ..............................................................................................107
GLOSARIUM ....................................................................................................166
1 .........................................................................................................................166
Activity ...............................................................................................................166
2 .........................................................................................................................166
Accelerometer ...................................................................................................166
4......................................................................................................................... 166
: Set inti yang disediakan class Activity untuk menavigasi transisi diantara
tahap siklus proses aktivitas ........................................................................... 166
5......................................................................................................................... 166
6......................................................................................................................... 166
7......................................................................................................................... 166
8......................................................................................................................... 166
9......................................................................................................................... 166
: berfungsi untuk mengaktifkan activity yang dibuat oleh user dalam satu
aplikasi yang sama .......................................................................................... 166
10 ...................................................................................................................... 166
Fragmen............................................................................................................ 166
11 ...................................................................................................................... 166
12 ...................................................................................................................... 166
14 ....................................................................................................................... 167
15 ....................................................................................................................... 167
16 ....................................................................................................................... 167
17 ....................................................................................................................... 167
: Hasil instansiasi dari sebuah Class, memiliki atribut dan behaviour .......... 167
18 ....................................................................................................................... 167
Palette................................................................................................................ 167
19 ....................................................................................................................... 167
20 ....................................................................................................................... 167
E. Android Studio
Terdapat berbagai macam aplikasi yang dapat digunakan untuk
pengembangan Android, salah satunya adalah Android Studio,
kita membutuhkan dua hal sebelum memulai diantaranya adalah:
(1) Java Development KIT (JDK) Kita membutuhkan software
yang dinamakan Java Development Kit (JDK) yang
menerjemahkan koding yang telah dibuat ke bentuk kode DEX
yang dijalankan ke dalam DVM di dalam perangkat Android
A. Pendahuluan
Menginstall aplikasi Android studio memiliki beberapa persyaratan
minimum dan persyaratan rekomendasi spesifikasi perangkat
yang kita gunakan, diantaranya adalah:
1. RAM Minimal adalah 3 GB, direkomendasikan 4 Hingga 8 GB
(Catatan: Ram dibawah 4 GB sebaiknya tidak menggunakan
Virtual Device yang tersedia didalam Android Studio dalam
menampilkan hasil aplikasi yang telah kita buat, namun
melalui perangkat android yang kita miliki, Langkah-langkah
tersebut akan kita pelajari lebih lanjut di materi selanjutnya)
2. Penyimpanan yang tersedia direkomendasikan diatas 4 GB,
perhatikan sisa memori di Hard Disk atau SSD.
3. Resolusi layar minimum adalah 1280 * 800
A. Struktur Project
Setiap project di Android Studio terdiri dari beberapa modul
dengan file kode sumber dan file resource. Jenis modul meliputi:
• Modul aplikasi Android
• Modul library
• Modul Google App Engine
Secara default, Android Studio menampilkan file project dalam
tampilan project Android, Tampilan ini disusun menurut modul
untuk memberikan akses cepat ke file sumber utama project
(Android.developer)
Secara umum struktur project android terdiri dari tiga folder utama,
yaitu :
1. Manifest: Digunakan untuk menjelaskan informasi penting
tentang aplikasi dan dapat melakukan beberapa pengaturan
yang dibutuhkan dalam project, seperti Nama aplikasi, icon
aplikasi, theme style, User permission (jika membuat
aplikasi yang membutuhkan akses hardware smartphone
maupun internet). Setiap aktivitas yang dibuat harus
terdaftar pada file manifest.
2. Java: Berisi file kode sumber Java, yaitu tempat untuk
mendeklarasikan atribut, pengenalan komponen dan fungsi
– fungsi termasuk kode pengujian JUnit.
3. Res: Berisi semua resource non-kode seperti drawable dan
mipmap untuk menyimpan icon atau gambar, file layout
XML untuk mendesain tampilan, dan berisi kode-kode yang
sederhana seperti string, integer dan warna.
2. <application>
Application merupakan icon dan label default untuk setiap
komponen aplikasi yang merupakan sub element dari
manifest. Application digunakan untuk mendeklarasian icon,
nama judul aplikasi, pendeklarasian tema, dll
• android:allowBackup= untuk mengizinkan aplikasi untuk
merestore infrastructure
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
2. Java (MainActivity.java)
Dalam folder java, terdapat 3 folder dengan nama yang sama
sesuai dengan package name pada file manifest, dimana pada
manifest package name nya adalah
polinema.ac.id.projectpertamaku. Ketiga folder tersebut meski
memiliki nama yang sama akan tetapi memiliki fungsi yang
berbeda.
A. Activity
Activity adalah komponen yang menampilkan dan mengatur
halaman aplikasi sebagai tempat interaksi antara pengguna
dengan aplikasi Android. Ketika membuat project maka Class
MainActivity akan tergenerate secara otomatis, Class tersebut
merupakan extends dari Class Activity.
Sebagian besar aplikasi terdiri dari beberapa layar, satu layar
tersebut itulah yang disebut activity, jadi satu aplikasi bisa memiliki
banyak activity. Activity terdiri dari file Java class dan file xml
untuk mendesain layout.
Biasanya, dalam sebuah aplikasi akan ditetapkan satu aktivitas
sebagai aktivitas utama, yang merupakan layar pertama yang
dibuka saat pengguna menjalankan aplikasi. Setiap aktivitas dapat
memanggil aktivitas lain untuk melakukan tindakan yang berbeda
yang biasa disebut dengan intent. Semua aktifitas dalam aplikasi
harus terdaftar pada file manifest, aktivitas utama yang dijalankan
pertama kali ditandai dengan kategori Launcher pada file
manifest.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_simple);
inputName = findViewById(R.id.input_name);
outputText = findViewById(R.id.output_name);
button = findViewById(R.id.button_submit);
}
}
Untuk even handling, perlu ditambahkan Layout pada
Android menggunakan struktur xml. Setiap komponen
mempunyai atribut-atribut dengan format key dan value.
Atribut android:id digunakan untuk memberikan identitas
pada suatu komponen Android.
8. Buka file activity_simple.xml pada bagian text, lalu pada
tag button tambahkan android:onClick="handleSubmit"
kemudian pindahkan cursor pada baris yang memuat kode
“handleSubmit” kemudian tekan tombol shortcut Alt +
Enter dan pilih Create 'handleSubmit(View view)' in
'SimpleActivity'. Android Studio akan menambahkan
secara otomatis method pada file SimpleActivity. Proses
ini digunakan untuk menambahkan logika pada Activity
ketika tombol ditekan.
//even handling
public void handleSubmit(View view) {
String name = inputName.getText().toString();
outputText.setText("Hello " + name);
}
SOAL
1. Bagaimana membuat tulisan “Masukkan nama” pada project
diatas menjadi transparant ?
2. Buatlah Activity sederhana yang dapat digunakan untuk
memasukkan dan menampilkan data-data mahasiswa seperti
dibawah ini :
Nim :
Nama :
Kelas :
IPK :
A. LAYOUT
Secara bahasa, layout adalah tata letak. Menurut Surianto
Rustan, layout adalah tata letak dari komponen-komponen
desain terhadap suatu bidang dalam media tertentu untuk
mendukung konsep atau pesan yang dibuat. (Rustan, Suriyanto
2001)
Secara sederhana, definisi layout adalah desain tata letak,
sedangkan arti dari layout adalah suatu susunan, rancangan,
atau tata letak ruang dari sebuah elemen yang sengaja didesain
untuk bisa ditempatkan dalam suatu bidang yang telah di desain
sebelumnya. (Rheny, Silvia, 2022)
Desain layout mencakup pengaturan teks, gambar, dan elemen
visual dalam kotak untuk menyampaikan pesan tertentu. Fungsi
dan tujuan layout adalah untuk mempermudah komunikasi
antara pengguna dengan aplikasi, atau membuat interface yang
bersifat user friendly.
Terdapat 3 jenis layout utama pada android studio yaitu Linear
Layout, Realtife Layout dan Constraint Layout. Akan tetapi
default layout pada android studio adalah constraint layout.
B. LINEAR LAYOUT
LinearLayout adalah kelompok tampilan yang menampilkan
semua komponen dalam satu arah, yaitu vertikal maupun
horizontal. Semua komponen LinearLayout akan disejajarkan
satu sama lain, sehingga orientasi vertikal hanya akan memiliki
satu turunan per baris, dan orientasi horizontal hanya akan
setinggi satu baris.
Linear layout adalah salah satu layout termudah untuk
mendesain sebuah aplikasi, karena pengguna hanya tinggal
drag and drop komponen, dan secara otomatis komponen akan
tersusun secara vertikal maupun secara horizontal.
D. CONSTRAINT LAYOUT
ConstraintLayout memungkinkan pengguna untuk membuat tata
letak yang kompleks dan besar dengan hierarki tampilan datar
(tidak ada kelompok tampilan bertingkat). ConstraintLayout
serupa dengan RelativeLayout yang mana semua tampilannya
diletakkan sesuai kehendak user, asal tetap memperhatikan tata
letak induk, ConstrainLayout lebih fleksibel
daripada RelativeLayout dan lebih mudah digunakan dengan
Layout Editor Android Studio. (android developers 2022)
Dengan menggunakan constraint Layout, pengguna dapat
mendesain komponen secara flexible, constrain layout juga
menawarkan kecanggihan yang tidak dimiliki linear layout
maupun relatif layout.
Fitur Visual Layout Editor menawarkan semua kecanggihan
ConstrainLayout, karena API layout dan Layout Editor dibuat
khusus untuk digunakan bersama-sama.
A. INTENT
Intent adalah sebuah jembatan penghubung yang digunakan
untuk perpindahan halaman antar activity dalam aplikasi. Suatu
activity dapat berpindah dari satu activity ke activity lain dengan
membawa data maupun tidak, bahkan intent dapat membuka
aplikasi lain seperti Gmail, GoogleMap, dll
Sebagai contoh, dalam sebuah halaman activity terdapat sebuah
button yang mana ketika user menekan tombol tersebut, maka
user bisa berpindah ke halaman activity lain, dapat membuka peta
atau dapat mengakses internal device seperti kamera.
startActivity() adalah sebuah method yang digunakan untuk
memulai sebuah activity lain. Untuk dapat memanggil methode
tersebut maka pengguna harus membuat object terlebih dahulu
dari class android.content.intent.
<Button
android:id="@+id/button_implicit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:onClick="HandleImplicit"
android:text="IMPLICIT INTENT" />
<Button
android:id="@+id/button_extra"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="HandleIntentExtra"
android:text="Intent with Extra" />
SOAL
RATA2 =
intent.putExtra("key2",
ke.getText().toString());
int selectedId =
radio_group_1.getCheckedRadioButtonId();
intent.putExtra("key3", w);
startActivity(intent);
ArrayAdapter arrayAdapter;
B. MEMBUAT FRAGMEN
Dalam membuat fragmen, subclass fragment harus dibuat terlebih
dahulu. Kelas fragment memiliki kode yang mirip seperti Activity
dan kelas ini juga memiliki metode callback yang mirip dengan
Activity, seperti onCreate(), onStart(), onPause(), dan onStop().
Saat mengkonversi aplikasi Andoid untuk menggunakan fragmen.
Memindahkan kode dari metode callback aktivitas ke masing-
masing metode callback fragmen dapat dilakukan, dimana
umumnya metode daur hidup berikut perlu diimplementasikan.
D. Kode Fragmen
Sebelum Fragmen diperkenalkan, pengembang hanya dapat
menampilkan hanya satu activitas di layar pada satu waktu
tertentu. Pengguna tidak dapat membagi layar dan mengontrol
bagian yang berbeda secara terpisah. Dengan bantuan Fragmen,
pengembang dapat membagi layar di berbagai bagian dan
mengontrol bagian-bagian yang berbeda secara terpisah.
A. Persiapan Instalasi
Bab ini akan menampilkan Google Maps dengan menunjuk pada
koordinat yang telah kita tentukan. Namun sebelum menampilkan
Maps, ada beberapa tahapan yang harus dilakukan, yaitu:
Instalasi Google Play Service dan mendaftar pada Google Maps
API untuk mendapatkan API Key.
Silahkan download project yang telah disediakan pada link berikut
Ekstrak dan buka proyek Android tersebut, pastikan bahwa
Google Play services telah terinstall pada Android Studio dengan
cara buka: Tools > SDK Manager,
maka akan muncul kotak dialog seperti pada gambar di bawah ini.
Pilih tab SDK Tools dan ceklis pada Google Play Services, jika
statusnya Not Installed, klik Apply pada bagian bawah untuk
memulai proses instalasi. Proses dari langkah ini ditampilkan
dalam Gambar 8.1.
A. Pendahuluan
Kamera merupakan salah satu perangkat keras pada Android dan
dapat diakses dalam pengembangan aplikasi mobile. Android
menyediakan akses penuh ke perangkat keras kamera.
Kerangka kerja Android mencakup dukungan untuk berbagai
kamera dan fitur kamera yang tersedia di perangkat,
memungkinkan untuk mengambil gambar di aplikasi. Lembar kerja
ini membahas tentang cara mengakses kamera dan mengambil
gambar dari aplikasi kamera yang dibuat.
Catatan: buku ini menjelaskan kelas android.hardware.camera,
yang sebenarnya sudah tidak digunakan lagi. Untuk kelas kamera
yang lebih baru terdapat camera2 dan cameraX. Namun
penggunaannya lebih sulit untuk dipelajari, oleh karena itu yang
digunakan adalah kelas camera.
B. Persiapan
Sebelum mengaktifkan aplikasi untuk menggunakan kamera pada
perangkat Android, perhatikan beberapa hal berikut :
1. Camera – Smartphone yang digunakan harus memiliki
minimal 1 kamera yang dapat diakses.
2. Kelas Kamera yang digunakan,
android.hardware.camera sudah kuno dan sudah tidak
disupport oleh android (deprecated) oleh karena itu,
tampilan pada android studio dicoret namun tetap dapat
digunakan.
2. Menambahkan Izin
Langkah pertama yang perlu dilakukan adalah menambahkan
izin untuk penggunaan kamera, dan izin untuk melakukan
penyimpanan gambar atau video ke dalam perangkat pada file
AndroidManifest.xml
4. Mengakses kamera
Untuk mengakses camera, langkah pertama yang perlu
dilakukan yaitu mendapatkan objek Camera, Untuk itu fungsi
Camera.open() perlu dipanggil. Dan untuk memudahkan
penggunaan, buat sebuah method Camera dengan nama
getCamera()
6. Class Preview
Untuk mulai menampilkan preview, diperlukan class Preview.
Preview memerlukan implementasi
android.view.SurfaceHolder.Callback, yang digunakan untuk
membuat dan menutup tampilan kamera.
Tambahkan Class Preview berikut pada mainActivity sebagai
local Class.
Dimana Fungsi :
• setPreviewDisplay digunakan untuk menentukan tampilan
preview
• startPreview untuk menampilkan tampilan preview
Camera
• dan setDisplayOrientation digunakan untuk mengatur
orientasi kamera
7. Mengambil Foto
Tugas
• Mengerjakan Latihan diatas untuk menggunakan kamera pada
perangkat smartphone / emulator
• Ubah program diatas untuk kamera depan / kamera lainnya.
A. Pendahuluan
Sebagian besar perangkat Android memiliki sensor bawaan yang
dapat digunakan untuk mengukur dan mendeteksi gerakan,
orientasi, dan berbagai kondisi lingkungan lainnya. Sensor ini
dapat memberikan data dengan akurasi dan presisi tinggi dan
dapat digunakan untuk memantau posisi atau pergerakan
perangkat serta memantau perubahan kondisi di lingkungan
sekitar perangkat.
Misalnya, jika membuat aplikasi game, maka memerlukan sensor
untuk mendeteksi gerakan dan gestur dari perangkat. Seperti tilt,
wobble, rotasi, swing, atau game yang menggunakan Virtual
Reality.
Demikian juga, jika perangkat mendukung sensor suhu, maka
dapat menggunakan sensor untuk mengetahui suhu dan
kelembaban perangkat.
B. Tipe Sensor
Secara garis besar, android mendukung 3 jenis tipe sensor, yaitu:
1. Sensor Gerak ( Motion Sensor)
Sensor dalam kategori ini mengukur akselerasi, akselerasi,
dan gaya rotasi perangkat berdasarkan sumbu x,y,z. Contoh:
Accelerometer, sensor gravitasi, giroskop, dan sensor vektor
rotasi.
2. Sensor Kondisi Lingkungan ( Environment Sensor)
Sensor dalam kategori ini mengukur parameter kondisi
lingkungan, seperti tekanan udara, suhu, pencahayaan, dan
kelembapan lingkungan di sekitar perangkat. Contoh:
barometer, fotometer, dan termometer.
3. Sensor Posisi (Position Sensor)
Sensor ini mengukur posisi fisik perangkat yang digunakan.
Contoh perangkat ini adalah Orientasi dan magnetometer.
C. Pengenalan Sensor
Kerangka kerja sensor Android memungkinkan untuk mengakses
berbagai jenis sensor. Beberapa sensor ini berbasis perangkat
keras dan beberapa berbasis perangkat lunak. Sensor berbasis
D. Framework Sensor
Akses sensor sensor diatas dan untuk mendapatkan data mentah
hasil pengukuran diperlukan menggunakan Android sensor
framework. Framework sensor ini adalah bagian dari
android.hardware dan memiliki beberapa class dan tampilan
antarmuka seperti berikut
1. SensorManager
Class ini digunakan untuk membuat instance layanan sensor.
Class ini menyediakan berbagai metode untuk mengakses dan
mendaftar sensor, mendaftarkan dan membatalkan
4. SensorEventListener
Method ini dapat digunakan interface ini untuk memanggil 2
method call back untuk menerima notifikasi dan data, ketika
data yang diambil berubah atau ketika akurasi sensor berubah.
void onAccuracyChanged(Sensor sensor, int accuracy)
Akan dipanggil ketika akurasi berubah
void onSensorChanged(SensorEvent event)
Akan dipanggil ketika data hasil pengukuran sensor
berubah
7. Tugas
1. Kerjakan latihan diatas untuk menampilkan list
sensor, mengecek ketersediaan sensor, dan langkah-
langkah untuk menggunakan sensor Accelerometer
2. Ubah Apilkasi untuk Accelerometer tersebut
menggunakan jenis sensor lain selain sensor
Accelerometer yang tersedia pada perangkat yang
digunakan
A. Pendahuluan
Firebase adalah platform yang dikembangkan oleh Google yang
digunakan untuk membuat aplikasi seluler dan web. Ini awalnya
dibuat oleh perusahaan independen pada tahun 2011, dan pada
tahun 2014 dibeli oleh Google. Dan kini firebase adalah platform
yang ditawarkan oleh Google untuk mempermudah proses
pengembangan aplikasi
B. Firebase Realtime Database
Dan tambahkan
apply plugin: 'com.google.gms.google-services'
Dan
implementation platform('com.google.firebase:firebase-
bom:27.1.0')
Dimana
Tugas
• Mengerjakan Latihan diatas untuk menggunakan Database
SQLite
• Buat program sederhan menggunakan database SQLite
yang berbeda dengan program diatas.