0% menganggap dokumen ini bermanfaat (0 suara)
267 tayangan34 halaman

Modul Pertemuan 1 Pemrograman Mobile (Android Studio)

Modul ini membahas pengenalan aplikasi mobile, cara penginstallan Android Studio, dan cara debug dengan virtual device dan physical device. Modul ini juga menjelaskan kebutuhan perangkat lunak dan hardware serta dasar-dasar teori tentang Android dan pemrograman mobile.

Diunggah oleh

sharon maruanaja
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)
267 tayangan34 halaman

Modul Pertemuan 1 Pemrograman Mobile (Android Studio)

Modul ini membahas pengenalan aplikasi mobile, cara penginstallan Android Studio, dan cara debug dengan virtual device dan physical device. Modul ini juga menjelaskan kebutuhan perangkat lunak dan hardware serta dasar-dasar teori tentang Android dan pemrograman mobile.

Diunggah oleh

sharon maruanaja
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/ 34

MODUL 1

Pengenalan Aplikasi Mobile

CAPAIAN PEMBELAJARAN

1. Mahasiswa diharapkan dapat memahami dan mengetahui tentang aplikasi


mobile, cara penginstallan Android Studio, debug dengan virtual device dan
debug dengan physical device.
2. Mahasiswa Mampu memahami tentang Pengembangan Aplikasi Android

KEBUTUHAN ALAT/BAHAN/SOFTWARE

1. Android Studio 3.4.


2. Handphone Android versi 7.0 (Nougat)
3. Kabel data USB.
4. Driver ADB.

DASAR TEORI

1.1. Pendahuluan.
Selamat datang di Praktikum Pemrograman Mobile. Kita akan menggunakan Android Kotlin untuk
praktikum ini. Praktikum ini menggunakan codelab yang menuntun kita membangun aplikasi
Android menggunakan Kotlin. Prasyarat untuk dapat mengikuti praktikum ini dengan baik adalah
memiliki pengetahuan dalam bahasa pemrograman berorientasi objek penuh seperti Java, C ++.
Untuk pengembangan, disarankan untuk menggunakan sumber referensi selain modul praktikum
ini.
Kita juga harus terbiasa menavigasi GitHub dan terbiasa dengan konsep-konsep:
Algoritma pemrograman, penanganan error, bagaimana kode dibangun, dikompilasi, dan
dieksekusi, secara umum.

1
Kita akan menggunakan sumber referensi utama pada link andriod developer dan codelab
berikut:
1. https://kotlinlang.org/docs/reference/ untuk belajar dasar pemrograman kotlin.
2. https://developer.android.com/kotlin untuk pemahaman kenapa android menggunakan
kotlin.
3. https://developer.android.com/courses/kotlin-android-fundamentals/toc untuk codelab
review untuk dasar pemrograman kotlin.
4. https://codelabs.developers.google.com/android-kotlin-fundamentals/ untuk belajar
koding project kotlin.
5. https://developer.android.com/kotlin/learn untuk belajar tentang pemrograman kotlin
untuk android.
6. https://developer.android.com/kotlin/resources untuk mengakses sumber-sumber yang
digunakan.

1.2. Android dan Pemrograman Mobile.


Android adalah sistem operasi mobile yang open source. Tahun 2005, Google meng-akusisi
perusahaan Android Inc. untuk memulai mengembangkan platform Android. Tahun 2007,
sekelompok pemimpin industri datang bersama membentuk Open Handset Alliance
(http://www.openhandsetalliance.com). November 2007, Android SDK dirilis pertama kali dengan
“tampilan awal” (early look). September 2008, T-Mobile mengumumkan ketersediaan HTC
Dream G1, smartphone pertama yang berbasiskan platform Android. •Beberapa hari berikutnya
Google mengumumkan ketersediaan Android SDK Release Candidate 1.0. Oktober 2008,
Google membuat kode program dari platform Android tersedia di bawah ”Apache’s open source
license”.
Android adalah platform mobile pertama yang lengkap, terbuka dan bebas. Sistem operasi
yang mendasari android dilisensikan dibawah GNU, General Public Lisensi Versi 2 (GPL), yang
sering dikenal dengan istilah “copyleft” lisensi di mana setiap perbaikan pihak ketiga harus terus
jatuh di bawah terms. Android didistribusikan dibawah lisensi Apache Software (ASL/Apache2),
yang memungkinkan untuk distribusi kedua dan seterusnya.
Android disusun dalam bentuk software stack yang terdiri dari aplikasi, sistem operasi,
lingkungan run-time, middleware, layanan dan pustaka (library). Setiap lapisan dari tumpukan,
dan unsur-unsur yang sesuai dalam setiap lapisan, saling terintegrasi untuk memberikan
pengembangan aplikasi dan lingkungan eksekusi yang optimal untuk perangkat mobile. Arsitektur
ini ditampilkan pada Gambar 1-1.

2
Gambar 1-1. Arsitektur Aplikasi Android

Dalam rangka mengembangkan aplikasi Android di Android Studio akan diperlukan untuk
mengkompilasi dan menjalankan aplikasi beberapa kali. Aplikasi Android dapat diuji dengan
menginstal dan menjalankannya baik pada perangkat fisik atau dalam Virtual Device (AVD)
lingkungan emulator Android. Sebelum AVD dapat digunakan, terlebih dahulu harus dibuat dan
dikonfigurasi untuk mencocokkan spesifikasi model perangkat tertentu. Tujuan dari bab ini, oleh
karena itu, adalah untuk bekerja melalui langkah-langkah yang terlibat dalam menciptakan suatu
perangkat virtual menggunakan Nexus 7 tablet sebagai contoh referensi.
AVD pada dasarnya adalah emulator yang memungkinkan aplikasi Android untuk diuji
tanpa perlu menginstal aplikasi pada perangkat berbasis Android fisik. Sebuah AVD dapat
dikonfigurasi untuk meniru berbagai fitur perangkat keras termasuk pilihan ukuran layar,
kapasitas memori dan fitur seperti kamera, dukungan navigasi GPS atau accelerometer. Sebagai
bagian dari instalasi Android Studio standar, memungkinkan emulator dipasang dan dikonfigurasi
untuk berbagai perangkat yang berbeda. AVD baru dibuat dan dikelola dengan menggunakan
Android Virtual Device Manager, yang dapat digunakan dalam mode baris perintah atau dengan
lebih antarmuka grafis yang user-friendly.

PRAKTIK

I. Install Android Studio

1. Android studio didapatkan melalui website resmi https://developer.android.com/studio, jika


Android Studio telah didownload maka anda dapat langsung menginstall dengan cara, klik 2x
pada android-studio-ide-183.5452501-windows.exe

2. Tunggu beberapa saat sampai proses loading verifying installer selesai.

3
3. Setelah proses loading verifying installer selesai, akan terlihat jendela Android Studio Setup,
klik button Next > untuk melanjutkan proses penginstallan.

4. Beri tanda checklist atau centang bagian Android Virutal Device. Fungsi dari komponen
Android Virtual Device yaitu untuk menampilkan interface android dalam bentuk virtual.
Langkah selanjutnya klik pada button Next >

5. Pada bagian Configuration Settings akan diminta untuk memilih lokasi penginstallan, secara
default lokasi penginstallan pada direktori C:\Pragram Files\Android\Android Studio. Jika
ingin menggunakan lokasi defult maka dapat langsung menuju proses selanjutnya dengan
meng-klik button Next >

4
6. Pada bagian Choose Start Menu Folder, klik button Install

7. Tunggulah beberapa saat sampai proses penginstallan Android Studio selesai. Setelah
proses penginstallan Android Studio selesai, klik button Next >

5
8. Proses penginstallan Android Studio telah selesai, klik button Finish untuk menutup jendela
Android Studio Setup. Jika ingin menjalankan langsung program Android Studio maka beri
tanda checklist atau centang pada bagian Start Android Studio sebelum menekan button
Finish.

II. Running Program Android Studio


Dalam menjalankan program program Android Studio sama halnya dalam menjalankan program-
program lainnya, agar mudah dalam memahami cara menjalankan Android Studio dapat dengan
mengikuti langkah-langkah berikut:

6
1. Buka Android Studio dari komputer yang dipakai.
2. Maka akan muncul jendela Welcome to Android Studio.

III. Membuat Project Dengan Android Studio


Pembuatan project dengan Android Studio dapat dilakukan dengan langkah-langkah sebagai
berikut :
1. Dalam membuat project awal dengan Android Studio dengan cara klik pada + Start a new
Android Studio project

2. Kemudian akan terlihat jendela Create New Project, pada bagian ini programmer dapat
memilih bentuk dari project yang akan dibuat (hal ini menyesuaikan dengan project yang akan
dibuat). Sebagai latihan awal maka pilih pada bagian Empty Activity, kemudian klik button
Next.

7
3. Pada jendela Create New Project, maka secara default Name project yaitu My Application,
penamaan ini dapat dirubah sesuai dengan nama project yang dibuat.

8
4. Sebagai bahan latihan, beri nama pada bagian Name : ProjectPertama kemudian pada
bagian Save location : ..... (gunakan folder kerja anda), kemudian klik button Finish.

5. Pada saat awal atau pertamakali membuat project maka akan muncul sebuah jendela dengan
nama Tips of The Day yaitu informasi tentang pemrograman yang dapat dijadikan acuan para
programmer, untuk menutup jendela Tips of The Day dapat dengan cara klik button Close.

9
6. Jendela ProjectPertama akan muncul seperti pada gambar dibawah ini, dan tentunya belum
secara utuh. Tunggulah beberapa saat sampai proses loading fitur-fitur atau library dan tools
muncul.

7. Jika proses loading fitur-fitur atau library selesai dan tools telah muncul, maka akan terlihat
pada jendela IDE seperti pada gambar dibawah ini. Terdapat 3 bagian jendela pada Android
Studio yaitu jendela Project, jendela Sourcecode dan jendela Built Output.

8. Pada jendela kiri atas, jika tab Project belum dipilih, klik tab Project.

10
9. Hirarki Project dapat dipilih dengan menggunakan drop down menu. Hirarki standar adalah
Android.

dan
10. Untuk selanjutnya kita akan menggunakan hirarki Android.
11. Sekarang akan kita lihat panel Project. Yang pertama kita mengeksplorasi folder app.
12. Di panel Project> Android, eksplore folder app. Di dalam folder app ada empat subfolder:
manifest, java, generateJava, dan res.
13. Buka folder java, dan kemudian ekspan folder akakom.nomhs.android.ProjectPertama
untuk melihat file MainActivity Kotlin.

11
14. Folder java berisi semua kode Kotlin utama untuk aplikasi Android. Ada alasan historis
mengapa kode Kotlin Anda muncul di folder java. Konvensi itu memungkinkan Kotlin untuk
beroperasi tanpa hambatan dengan kode yang ditulis dalam bahasa pemrograman Java,
bahkan dalam proyek dan aplikasi yang sama.
15. File kelas aplikasi kita terkandung dalam tiga subfolder, seperti yang ditunjukkan pada
gambar di atas. Folder akakom.nomhs.android.ProjectPertama berisi semua file untuk
paket app. Secara khusus, kelas MainActivity adalah titik masuk utama untuk app kita. Dua
folder lain di folder java digunakan untuk kode yang terkait dengan pengujian, seperti tes unit.
16. Dalam sistem file, file Kotlin memiliki ekstensi .kt dan ikon K. Pada tampilan Proyek, Android
Studio menunjukkan nama kelas (MainActivity) tanpa ekstensi.
17. Catat folder generatedJava. Folder ini berisi file yang dihasilkan Android Studio saat
membangun aplikasi. Jangan edit apa pun di folder ini, karena perubahan yang dilakukan,
mungkin ditimpa ketika kita membangun kembali app. Tetapi penting untuk mengetahui
tentang folder ini ketika kita perlu melihat file-file ini selama debugging.
18. Kemudian kita akan melihat folder berikutnya, yaitu res. Di panel Project> Android, ekspand
folder res.
19. Folder res menyimpan sumber daya. Sumber daya di Android adalah konten statis yang
digunakan dalam aplikasi kita. Sumber daya termasuk gambar, string teks, tata letak layar,
gaya, dan nilai-nilai seperti warna heksadesimal atau dimensi standar.
20. Aplikasi Android memisahkan kode dan sumber daya Kotlin sebanyak mungkin. Itu
membuatnya lebih mudah untuk menemukan semua string atau ikon yang digunakan di UI
app. Juga, ketika kita mengubah salah satu file sumber daya ini, perubahan itu berlaku di
mana-mana file tersebut digunakan dalam aplikasi.
21. Di dalam folder res, ekspand folder layout untuk melihat file activity_main.xml.

12
22. Activity kita biasanya dikaitkan dengan file tata letak UI, yang didefinisikan sebagai file XML
di direktori res/layout. File tata letak itu biasanya dinamai berdasarkan aktivitasnya. Dalam
hal ini, nama aktivitas adalah MainActivity, jadi layout yang terkait adalah activity_main.
23. Sekarang kita akan menjelajahi folder manifest dan AndroidManifest.xml
24. Folder manifes berisi file yang memberikan informasi penting tentang app kita ke sistem
Android.
25. Buka folder manifest dan klik dua kali AndroidManifest.xml untuk membukanya. File
AndroidManifest.xml mencakup detail yang dibutuhkan sistem Android untuk menjalankan
app kita, termasuk aktivitas apa yang merupakan bagian dari app.

26. Perhatikan bahwa MainActivity direferensikan di elemen <activity>. Aktivitas apa pun di app
kita harus dinyatakan dalam manifest. Contoh manifest untuk MainActivity.
27. Catat elemen <intent-filter> ……. <activity>. Elemen <action> dan <category> dalam filter
maksud ini memberi tahu Android tempat memulai app ketika pengguna mengklik ikon run.
28. File AndroidManifest.xml juga merupakan tempat kita menentukan izin apa pun yang
dibutuhkan aplikasi kita. Izin mencakup kemampuan aplikasi kita untuk membaca kontak

13
telepon, mengirim data melalui internet, atau mengakses perangkat keras seperti kamera
perangkat.
29. Terakhir, kita akan menjelajahi folder Script Gradle.
30. Gradle adalah sistem otomasi bangunan yang menggunakan bahasa khusus domain untuk
menggambarkan struktur, konfigurasi, dan dependensi project app. Ketika kita mengkompilasi
dan menjalankan aplikasi kita, kita melihat informasi tentang Gradle build running. kita juga
melihat informasi tentang Android Package Kit (APK) yang diinstal. (APK adalah format file
paket yang digunakan sistem operasi Android untuk mendistribusikan dan menginstal aplikasi
seluler.)

31. Kita akan fokus pada dua bagian pada bagian script program pada project Android yaitu .kt
dan .xml. Untuk .kt dapat dibaca kotlin yaitu bahasa pemrograman pada Android Studio untuk
membangun sistem. Sedangkan .xml dapat dibaca Extensible Markup Language yaitu
bahasa pemrograman pada Android Studio untuk membangun user interface. Klik pada
bagian activity_main.xml untuk melihat design atau atampilan project ProjectPertama.

IV. Pengenalan Aplikasi Android dan IDE Android Studio


Untuk dapat membuat aplikasi mobile dengan Android Studio maka perlu mengenali
lingkungan Aplikasi Android dan IDE Android Studio. Berikut beberapa IDE pada Android
Studio yang nantinya akan digunakan selama proses pembuatan project :
1. Open edit Run/Debug configurations dialog
Bagian ini berfungsi untuk memilih atau membuka, edit dan melakukan debug/run aplikasi.

2. Run App
Pada bagian ini berfungsi untuk menjalankan aplikasi mobile yang telah dibuat.

3. Debug App

14
Debug App berfungsi untuk melakukan compile script dan melakukan pengecekan
apakah terdapat script yang error atau tidak, jika script tidak mengalami error maka
Android Studio akan membuat APK (Application Package File).

4. Profile App
Profile App merupakan alat pembuatan profil baru yang menyediakan data realtime untuk
CPU, memori, dan aktivitas jaringan aplikasi Anda. Programmer dapat melakukan
pelacakan metode berbasis sampel untuk mengukur waktu eksekusi script, merekam
heap-dump, menampilkan alokasi memori, dan memeriksa detail file yang dikirim melalui
jaringan.

Dengan debugger Android Studio, maka programmer dapat :


a. Memilih perangkat untuk men-debug pada aplikasi yang dibuat.
b. Menyetel breakpoint dalam kode Java dan C/C++ pada aplikasi yang dibuat.
c. Memeriksa variabel dan mengevaluasi ekspresi pada saat waktu proses.
d. Mengambil tangkapan layar dan video dari aplikasi yang dibuat.

5. Attach Debugger to Android Process


Fungsi dari Attach Debugger to Android Procces yaitu melakukan debugging dan running
proses dari script yang telah diubah atau update programmer dengan syarat emulator
sudah dijalankan.

6. Sync Project with Gradle Files


Jika programmer membuat perubahan pada file konfigurasi build dalam project Android
yang dibuat, maka Android Studio mewajibkan programmer melakukan sinkronisasi file
project sehingga sistem dapat mengimpor perubahan konfigurasi build dan menjalankan
beberapa pemeriksaan untuk memastikan konfigurasi tidak akan menimbulkan kesalahan
build.

7. AVD Manager
AVD atau Android Virtual Device adalah fitur pada Android Studio untuk membuat device
dalam bentuk virtual sehingga ketika aplikasi atau project dirunning maka akan muncul di
virtual device tersebut. Namun AVD juga dapat untuk membuat physical device yaitu
melakukan running aplikasi atau project melalui smartphone secara langsung.

15
8. SDK Manager
SDK Manger adalah fitur untuk melihat, menginstal, memperbarui, dan menghapus paket
untuk Android SDK.

9. Search Everywhere
Search Everywhere adalah sebuah fitur untuk menampilkan daftar Gradle Daemon aktif
di Android Studio.

V. Materi Pengayaan

a. Penggunaan Kotlin untuk Pengembangan Android.


Kotlin/Native memungkinkan developer untuk menggunakannya sebagai bahasa pemrograman
dalam pengembangan aplikasi di platform lain seperti embedded system, desktop, macOS, dan
iOS. Bahkan tak menutup kemungkinan Kotlin juga bisa digunakan untuk data
science dan machine learning. Kotlin sangat cocok untuk mengembangkan aplikasi Android,
membawa semua keunggulan bahasa modern ke platform Android tanpa memperkenalkan
batasan baru:
1. Compatibility. Kotlin sepenuhnya kompatibel dengan JDK 6. Ini memastikan bahwa aplikasi
yang dibangun dengan Kotlin dapat berjalan pada perangkat Android yang lebih lama tanpa
ada masalah. Android Studio pun mendukung penuh pengembangan dengan bahasa Kotlin.
2. Performance. Dengan struktur bytecode yang sama dengan Java, aplikasi yang dibangun
dengan Kotlin dapat berjalan setara dengan aplikasi yang dibangun dengan Java. Terdapat
juga fitur seperti inline function pada Kotlin yang membuat kode yang dituliskan
dengan lambda bisa berjalan lebih cepat dibandingkan kode yang sama dan dituliskan
dengan Java.
3. Interoperability. Semua library Android yang tersedia, dapat digunakan pada Kotlin.
4. Compilation Time. Kotlin mendukung kompilasi inkremental yang efisien. Oleh karena itu,
proses build biasanya sama atau lebih cepat dibandingkan dengan Java.

b. Memulai kotlin
Kita akan membuat program kotlin dengan dibandingkan dengan java. Gunakan laman web
(https://try.kotlinlang.org) untuk mencoba menjalankan program kotlin.

Dikutip dari https://kotlinlang.org/docs/reference/basic-syntax.html


Defining packages.
Package specification should be at the top of the source file:
package my.demo

import java.util.*

16
// ...

It is not required to match directories and packages: source files can be placed arbitrarily in the
file system.
See Packages.

Defining functions
Function having two Int parameters with Int return type:
fun sum(a: Int, b: Int): Int {
return a + b
}
Target platform: JVMRunning on kotlin v. 1.3.41

Function with an expression body and inferred return type:


fun sum(a: Int, b: Int) = a + b
Target platform: JVMRunning on kotlin v. 1.3.41

Function returning no meaningful value:

fun printSum(a: Int, b: Int): Unit {


println("sum of $a and $b is ${a + b}")
}
Target platform: JVMRunning on kotlin v. 1.3.41
Unit return type can be omitted:

fun printSum(a: Int, b: Int) {


println("sum of $a and $b is ${a + b}")
}
Target platform: JVMRunning on kotlin v. 1.3.41
See Functions.

Defining variables
Read-only local variables are defined using the keyword val. They can be assigned a value only once.

val a: Int = 1 // immediate assignment


val b = 2 // `Int` type is inferred
val c: Int // Type required when no initializer is provided
c=3 // deferred assignment
Target platform: JVMRunning on kotlin v. 1.3.41

Variables that can be reassigned use the var keyword:


var x = 5 // `Int` type is inferred
x += 1
Target platform: JVMRunning on kotlin v. 1.3.41

Top-level variables:

val PI = 3.14
var x = 0

fun incrementX() {
x += 1
}
Target platform: JVMRunning on kotlin v. 1.3.41

17
See also Properties And Fields.

Comments
Just like Java and JavaScript, Kotlin supports end-of-line and block comments.

// This is an end-of-line comment

/* This is a block comment


on multiple lines. */
Unlike Java, block comments in Kotlin can be nested.
See Documenting Kotlin Code for information on the documentation comment syntax.

Using string templates

var a = 1
// simple name in template:
val s1 = "a is $a"

a=2
// arbitrary expression in template:
val s2 = "${s1.replace("is", "was")}, but now is $a"
Target platform: JVMRunning on kotlin v. 1.3.41
See String templates.

Using conditional expressions

fun maxOf(a: Int, b: Int): Int {


if (a > b) {
return a
} else {
return b
}
}
Target platform: JVMRunning on kotlin v. 1.3.41
Using if as an expression:

fun maxOf(a: Int, b: Int) = if (a > b) a else b


Target platform: JVMRunning on kotlin v. 1.3.41
See if-expressions.

Using nullable values and checking for null


A reference must be explicitly marked as nullable when null value is possible.
Return null if str does not hold an integer:
fun parseInt(str: String): Int? {
// ...
}
Use a function returning nullable value:
fun printProduct(arg1: String, arg2: String) {
val x = parseInt(arg1)
val y = parseInt(arg2)

// Using `x * y` yields error because they may hold nulls.


if (x != null && y != null) {

18
// x and y are automatically cast to non-nullable after null check
println(x * y)
}
else {
println("either '$arg1' or '$arg2' is not a number")
}
}
Target platform: JVMRunning on kotlin v. 1.3.41
or
// ...
if (x == null) {
println("Wrong number format in arg1: '$arg1'")
return
}
if (y == null) {
println("Wrong number format in arg2: '$arg2'")
return
}

// x and y are automatically cast to non-nullable after null check


println(x * y)
Target platform: JVMRunning on kotlin v. 1.3.41
See Null-safety.

Using type checks and automatic casts


The is operator checks if an expression is an instance of a type. If an immutable local variable or
property is checked for a specific type, there's no need to cast it explicitly:
fun getStringLength(obj: Any): Int? {
if (obj is String) {
// `obj` is automatically cast to `String` in this branch
return obj.length
}

// `obj` is still of type `Any` outside of the type-checked branch


return null
}
Target platform: JVMRunning on kotlin v. 1.3.41
or
fun getStringLength(obj: Any): Int? {
if (obj !is String) return null

// `obj` is automatically cast to `String` in this branch


return obj.length
}
Target platform: JVMRunning on kotlin v. 1.3.41
or even
fun getStringLength(obj: Any): Int? {
// `obj` is automatically cast to `String` on the right-hand side of `&&`
if (obj is String && obj.length > 0) {
return obj.length
}

return null
}
Target platform: JVMRunning on kotlin v. 1.3.41

19
See Classes and Type casts.

Using a for loop


val items = listOf("apple", "banana", "kiwifruit")
for (item in items) {
println(item)
}
Target platform: JVMRunning on kotlin v. 1.3.41
or
val items = listOf("apple", "banana", "kiwifruit")
for (index in items.indices) {
println("item at $index is ${items[index]}")
}
Target platform: JVMRunning on kotlin v. 1.3.41
See for loop.
Using a while loop
val items = listOf("apple", "banana", "kiwifruit")
var index = 0
while (index < items.size) {
println("item at $index is ${items[index]}")
index++
}
Target platform: JVMRunning on kotlin v. 1.3.41
See while loop.
Using when expression
fun describe(obj: Any): String =
when (obj) {
1 -> "One"
"Hello" -> "Greeting"
is Long -> "Long"
!is String -> "Not a string"
else -> "Unknown"
}
Target platform: JVMRunning on kotlin v. 1.3.41
See when expression.
Using ranges
Check if a number is within a range using in operator:
val x = 10
val y = 9
if (x in 1..y+1) {
println("fits in range")
}
Target platform: JVMRunning on kotlin v. 1.3.41
Check if a number is out of range:
val list = listOf("a", "b", "c")

if (-1 !in 0..list.lastIndex) {


println("-1 is out of range")
}
if (list.size !in list.indices) {
println("list size is out of valid list indices range, too")
}
Target platform: JVMRunning on kotlin v. 1.3.41
Iterating over a range:

20
for (x in 1..5) {
print(x)
}
Target platform: JVMRunning on kotlin v. 1.3.41
or over a progression:
for (x in 1..10 step 2) {
print(x)
}
println()
for (x in 9 downTo 0 step 3) {
print(x)
}
Target platform: JVMRunning on kotlin v. 1.3.41
See Ranges.

Using collections
Iterating over a collection:
for (item in items) {
println(item)
}
Target platform: JVMRunning on kotlin v. 1.3.41
Checking if a collection contains an object using in operator:
when {
"orange" in items -> println("juicy")
"apple" in items -> println("apple is fine too")
}
Target platform: JVMRunning on kotlin v. 1.3.41

Using lambda expressions to filter and map collections:


val fruits = listOf("banana", "avocado", "apple", "kiwifruit")
fruits
.filter { it.startsWith("a") }
.sortedBy { it }
.map { it.toUpperCase() }
.forEach { println(it) }
Target platform: JVMRunning on kotlin v. 1.3.41
See Higher-order functions and Lambdas.

Creating basic classes and their instances:


val rectangle = Rectangle(5.0, 2.0) //no 'new' keyword required
val triangle = Triangle(3.0, 4.0, 5.0)
Target platform: JVMRunning on kotlin v. 1.3.41
See classes and objects and instances.

LATIHAN

1. Pelajari dan cobalah bahasa pemrograman kotlin lebih lanjut dari laman web kotlinlang.org

21
TUGAS

1. Install Android Studio pada perangkat komputer anda masing-masing di rumah


2. Silakan mempelajari bahasa pemrograman kotlin lebih lanjut dari laman web kotlinlang.org

REFERENSI

1. https://kotlinlang.org/docs/reference/
2. https://developer.android.com/kotlin
3. https://developer.android.com/courses/kotlin-android-fundamentals/toc
4. https://codelabs.developers.google.com/android-kotlin-fundamentals/
5. https://developer.android.com/kotlin/learn
6. https://developer.android.com/kotlin/resources

22
MODUL 2
Membuat Aplikasi dan Menjalankannya

CAPAIAN PEMBELAJARAN

1. Mahasiswa mampu membuat aplikasi sederhana dengan desain standard yang


disediakan dan menjalankan aplikasi di emulator maupun di perangkat mobile
(keluaran)

KEBUTUHAN ALAT/BAHAN/SOFTWARE

1. Android Studio 3.4.


2. Handphone Android versi 7.0 (Nougat)
3. Kabel data USB.
4. Driver ADB.

DASAR TEORI

Programmer yang menggunakan bahasa pemrograman berorientasi objek seperti Java akan
terbiasa karena aplikasi Android ditulis di Kotlin, ini masih sangat banyak terjadi. Android,
bagaimanapun juga, mengambil konsep yang dapat digunakan kembali komponen ke tingkat
yang lebih tinggi.
Aplikasi Android diciptakan dengan menggunakan satu atau lebih komponen bersama,
yang dikenal sebagai Activity. Sebuah Activity adalah satu, modul mandiri dari aplikasi yang
biasanya berkorelasi langsung ke layar antarmuka pengguna. Activity dimaksudkan sebagai
komponen, yang dapat digunakan kembali dan dapat dipertukarkan, dan bisa dibagi di antara
aplikasi yang berbeda. Sebuah aplikasi email yang ada, misalnya, mungkin berisi Activity khusus
untuk membuat dan mengirim pesan email. Seorang pengembang mungkin menulis sebuah

23
aplikasi yang juga memiliki persyaratan untuk mengirim pesan email. Daripada mengembangkan
Activity komposisi email khusus untuk aplikasi baru, pengembang hanya dapat menggunakan
Activity dari aplikasi email yang ada.
Activity diciptakan sebagai subclass dari kelas Activity Android dan harus dieksekusi
sehingga menjadi terpisah sepenuhnya dari Activity lain dalam aplikasi. Dengan kata lain, Activity
bersama tidak bisa dipanggil langsung dalam program (karena aplikasi lain dapat menggunakan
Aktivitas) dan satu Activity tidak bisa langsung memanggil metode atau mengakses data Activity
lain. Sebagai gantinya, untuk mencapai tujuan ini, dengan menggunakan Intents dan Content
Providers. Secara default, suatu Activity tidak dapat memberikan hasil dengan aktivitas yang ia
dipanggil. Jika fungsi ini diperlukan, Activity harus secara khusus dimulai sebagai sub-aktivitas.
Aplikasi Manifest
File yang mengatur berbagai elemen dalam aplikasi adalah file Manifest. Berkas Manifest
berbasis XML ini, menguraikan Activity, Service, Content Provider dan permisson yang
membentuk suatu aplikasi secara lengkap. Selain file Manifest dan file Dex yang berisi kode-kode
byte, paket aplikasi Android biasanya berisi kumpulan berkas Resources (sumber daya). Berkas
ini mengandung sumber daya seperti string, gambar, huruf dan warna yang muncul dalam
antarmuka pengguna secara bersama-sama, dengan representasi XML layout antarmuka
pengguna. Secara default, berkas ini disimpan dalam /res, sub-direktori dalam hirarki proyek
aplikasi.
Bila aplikasi dikompilasi, kelas bernama R dibuat, yang berisi referensi ke sumber daya
aplikasi. File manifest dan sumber daya ini digabungkan untuk membuat apa yang dikenal
sebagai Konteks Aplikasi. Konteks ini, diwakili oleh kelas Context Android, dapat digunakan
dalam kode aplikasi untuk mendapatkan akses ke sumber daya aplikasi pada saat runtime. Selain
itu, berbagai metode dapat dipanggil pada konteks aplikasi untuk mengumpulkan informasi dan
membuat perubahan pada lingkungan aplikasi pada saat runtime.

Jelajahi file activity dan layout.


Kita akan fokus pada dua file paling penting yang membentuk aplikasi kita: File MainActivity
Kotlin, dan file layout activity_main.xml.
Langkah 1: Periksa MainActivity
MainActivity adalah contoh Activity. Suatu Activity adalah kelas inti Android yang menggambar
antarmuka pengguna aplikasi Android (UI) dan menerima acara masukan. Saat aplikasi kita
diluncurkan, aplikasi meluncurkan aktivitas yang ditentukan dalam file AndroidManifest.xml.
Banyak bahasa pemrograman menentukan metode utama yang memulai program. Aplikasi
Android tidak memiliki metode utama. Sebaliknya, file AndroidManifest.xml menunjukkan bahwa
MainActivity harus diluncurkan ketika pengguna mengetuk ikon peluncur aplikasi. Untuk
meluncurkan suatu kegiatan, OS Android menggunakan informasi dalam manifes untuk mengatur
lingkungan aplikasi dan membangun MainActivity. Kemudian MainActivity melakukan beberapa
pengaturan secara bergantian. Setiap aktivitas memiliki file layout terkait. Activity dan layout
dihubungkan oleh proses yang dikenal sebagai layout inflasi. Saat Activity dimulai, tampilan yang
didefinisikan dalam file tata letak XML diubah menjadi (atau "digelembungkan" menjadi) objek
tampilan Kotlin di memori. Setelah ini terjadi, Activity dapat menarik objek-objek ini ke layar dan
juga secara dinamis memodifikasinya.

Run Emulator
Uji coba aplikasi wajib dilakukan seorang developer. Proses running atau debugging bisa
dilakukan dengan dua cara, yaitu running dengan emulator atau peranti (device). Baik emulator

24
maupun peranti memiliki kelebihan dan kekurangan masing-masing. Kita
sebagai developer tinggal pilih mana yang sesuai keperluan.

Persiapan Running Menggunakan Emulator


Sebelum menggunakan emulator, pastikan beberapa hal berikut ini:

Virtualization
Untuk menjalankan emulator di dalam Android Studio, pastikan aspek virtualization. Sistem kita
harus memenuhi persyaratannya, yakni ketentuan prosesor dan sistem operasi dari laptop / PC
yang kita gunakan.
Processor
 Prosesor Intel: Jika laptop/pc kita menggunakan prosesor Intel, maka pastikan ia
mendukung Intel VT-x, Intel EM64T (Intel 64), dan Execute Disable (XD) Bit functionality.
 Prosesor AMD: Jika laptop/pc kita menggunakan AMD, maka pastikan bahwa ia support
dengan AMD Virtualization (AMD-V) dan Supplemental Streaming SIMD Extensions 3
(SSSE3).
Sistem Operasi
 Intel : Jika menggunakan processor Intel maka kita dapat menjalankannya di sistem
operasi Windows, Linux, maupun Mac.
 AMD : Untuk prosesor AMD maka hanya bisa menjalankannya di sistem operasi Linux.

Menginstal Hardware Accelerated Execution Manager (HAXM)

Setelah memenuhi persyaratan di atas, langkah selanjutnya adalah menginstal HAXM. HAXM
adalah hardware-assisted virtualization engine yang menggunakan teknologi VT dari Intel untuk
mempercepat aplikasi Android yang diemulasi di mesin host. HAXM diperlukan untuk
menjalankan emulator di Android Studio.
HAXM diperlukan jika sistem operasi yang kita gunakan adalah Windows atau Mac. Untuk
menginstalnya, ikuti petunjuk berikut ini.
1. Buka SDK Manager.
2. Pilih SDK Update Sites, kemudian hidupkan Intel HAXM.
3. Tekan OK.
4. Cari berkas installer-nya di directory folder sdk komputer Anda,
~sdk\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe.
5. Jalankan installer dan ikuti petunjuknya sampai selesai.

PRAKTIK

1. Memulai membuat project baru, gunakan langkah2 yang sudah dikerjakan pada pertemuan
pertama.
2. Buat menjadi tampilan seperti berikut

25
3. Pada MainActivity, terdapat beberapa koding yang dapat dijelaskan sebagai berikut.
4. Kelas MainActivity extends AppCompatActivity.
class MainActivity : AppCompatActivity() { …
5. AppCompatActivity adalah subkelas Kegiatan yang mendukung semua fitur Android modern
sambil memberikan kompatibilitas dengan versi Android yang lebih lama. Untuk membuat
aplikasi kita tersedia untuk sejumlah besar perangkat dan pengguna mungkin, selalu gunakan
AppCompatActivity.
6. Perhatikan metode onCreate(). Activity tidak menggunakan konstruktor untuk menginisialisasi
objek. Sebagai gantinya, serangkaian metode yang telah ditentukan (disebut "metode siklus
hidup") disebut sebagai bagian dari pengaturan aktivitas. Salah satu metode siklus hidup
tersebut adalah onCreate (), yang selalu ditimpa di aplikasi kita sendiri.
7. Di onCreate (), kita menentukan layout mana yang dikaitkan dengan aktivitas, dan Anda
mengembang tata letak. Metode setContentView () melakukan kedua hal itu.

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
8. Metode setContentView() mereferensikan layout menggunakan R.layout.activity_main, yang
sebenarnya merupakan referensi integer. Kelas R dihasilkan ketika kita membangun aplikasi
kita. Kelas R mencakup semua aset aplikasi, termasuk konten direktori res.
9. Dalam kasus ini, R.layout.activity_main merujuk ke kelas R yang dihasilkan, folder layout, dan
file layout activity_main.xml. (Sumber daya tidak termasuk ekstensi file.) Kita akan merujuk
ke banyak sumber daya aplikasi (termasuk gambar, string, dan elemen dalam file layout)
menggunakan referensi serupa di kelas R.
10. Periksa dan jelajahi file layout aplikasi. Semua activity di aplikasi kita memiliki file layout terkait
di direktori res/layout aplikasi. File layout adalah file XML yang mengungkapkan seperti apa
sebenarnya aktivitas itu. File layout melakukan ini dengan menentukan tampilan dan
menentukan di mana tampilan muncul di layar.
11. Tampilan adalah hal-hal seperti teks, gambar, dan tombol yang memperluas kelas tampilan.
Ada banyak jenis tampilan, termasuk TextView, Button, ImageView, dan CheckBox.
12. Tampilan file layout adalah sebagai berikut.

26
13. Untuk menjalankan aplikasi, dapat dilakukan dengan dua cara, pertama pada emulator,
kedua pada perangkat mobile.
14. Menjalankan pada Virtual Device.
Telah dijelaskan sebelumnya tentang Virtual Device yaitu konfigurasi yang mendefinisikan
karakteristik ponsel Android, tablet, Wear OS, atau perangkat Android TV yang ingin
disimulasikan di Android Emulator.
Dalam membuat Virtual Device dapat melalui langkah-langkah berikut :
1. Klik pada AVD Manger yang terdapat pada toolbar Android Studio.

2. Pada jendela Android Virtual Device Manger, klik button + Create Virtual Device.

3. Pada jendela Virtual Device Configuration, pilih device yang akan digunakan untuk
menampilkan hasil running project Android yang dibuat. Pilih pada Pixel 2 kemudian klik
button Next

27
4. Jika pertamakali membuat emulator maka akan diminta untuk mendownload system
images atau OS Android yang akan digunakan pada emulator. Silahkan klik pada bagian
Q download

5. Pilih radio button Accept pada License Agreement, kemudian klik pada button Next

6. Tunggu beberapa saat sampai proses Download dan unzip selesai.

28
7. Setelah proses download dan unzipped selesai, klik button Finish

8. Langkah selanjutnya, pilih pada system image Q yang telah diinstall kemudian klik menu
tab other images.

9. Kemudian sesuaikan dengan rekomendasi (Recommendation), agar emulator dapat


dijalankan dengan mudah. Dikarenakan hardware yang digunakan untuk menjalankan

29
emulator Android yaitu Intel Dual Code dengan RAM 4GB maka penulis memilih system
image Kitkat dengan API 19, ABI armeabi-v7a, selanjutnya klik Download.

10. Proses download memerlukan waktu (pastikan anda terkoneksi internet), tunggu sampai
proses download dan unzipped selesai, kemudian klik button Finish.

11. Maka akan terlihat system image KitKat telah berhasil didownload, klik button Next untuk
melanjutkan ke proses selanjutnya.

30
12. Pada bagian AVD Name akan terlihat secara default dengan nama Pixel 2 API 19 (dapat
diganti dengan nama lain sesuai dengan kebutuhan), lalu pada bagian Startup orientation
terdapat pilihan antara Potrait dan Landscape, secara default akan terpilih Potrait. Klik
button Finish.

13. Proses pembuatan Android Virtual Device membutuhkan waktu beberapa detik, silahkan
tunggu sampai proses pembuatan Android Virtual Device selesai.

14. Jika pembuatan Android Virtual Device telah selesai dilakukan maka akan muncul Android
Virtual Device yang telah dibuat seperti terlihat pada gambar dibawah ini. Untuk
menjalankan Virutal Device, klik pada icon play.

15. Pada bagian GPU Driver Issue akan terlihat informasi tentang Graphic Processing Unit
pada laptop atau komputer anda, klik button OK.

16. Maka akan muncul virtual device yang berfungsi untuk menampilkan hasil coding Android
nantinya.

31
17. Jalankan aplikasi pada virtual device yang baru saja dibuat.

15. Physical Device.


Selain menggunakan virtual device dalam melakukan debug, anda dapat menggunakan
physical deivce.
Bila Anda hendak melakukan run atau debugging, lebih baik Anda menjalankannya pada
peranti smartphone asli. Running dengan menggunakan peranti memiliki beberapa
kelebihan jika dibandingkan dengan emulator yaitu :
 Lebih cepat;
 Fitur seperti geo-location, push notif bisa digunakan;
 Bisa mengetahui daya serap baterai terhadap aplikasi;
 Lebih mudah.
Dengan menggunakan peranti smartphone asli, kita dapat memastikan bahwa aplikasi kita
berjalan dengan wajar ketika sudah sampai di tangan pengguna. Kendala dari pendekatan ini
adalah beragamnya model peranti yang ada di pasaran. Namun, pembahasan mengenai hal
tersebut tidak tercakup dalam kelas ini.
Mari ikuti langkah-langkah untuk menjalankan proses run atau debugging. Tampilan dari
langkah berikut bisa dipastikan akan berbeda dengan peranti yang Anda pakai. Akan tetapi
secara garis besar langkahnya akan sama.
1. Pastikan peranti yang akan dipakai sesuai dengan target SDK atau paling tidak
mendukung versi SDK terendah yang digunakan aplikasi.
2. Buka setting dan masuk ke dalam menu About. Pada halaman menu ini, Anda perlu
menemukan informasi tentang Build number.
Berikut persiapan yang harus dilakukan :
1. Siapkan smartphone dan kabel data. Smartphone dengan OS Mobile Android, sedangkan
kabel data adalah kabel yang dapat membaca data dari smartphone ke laptop (karena

32
beberapa kasus terdapat kabel data yang hanya dapat digunakan untuk mengisi power
atau batrei).

2. Penggunaan physical device dalam melakukan debug memerlukan beberapa pengaturan


pada smartphone yaitu mengaktifkan developer option pada smartphone. Silakan mencari
referensi untuk mengaktifkan developer option dari handphone yang anda pakai.
3. Kemudian aktifkan USB Debugging sampai pada bagian USB debugging terlihat aktif.

4. Jalankan aplikasi Anda pada perangkat handphone.

33
LATIHAN

1. Jalankan aplikasi buat helloworld!

34

Anda mungkin juga menyukai