Skip to main content

Kata Pengantar

Kotlin adalah bahasa pemrograman yang dibuat oleh JetBrains dan berjalan di atas Java Virtual Machine (JVM). Bahasa ini dirancang untuk mengatasi berbagai permasalahan yang ada pada Java, seperti kode yang terlalu verbose, null pointer exception, tantangan concurrency, serta kurangnya dukungan pemrograman fungsional. Kotlin menawarkan pendekatan pemrograman yang lebih modern dan ringkas, sambil tetap kompatibel dengan kode serta library Java yang sudah ada. Google kemudian mengakui Kotlin sebagai bahasa utama untuk membangun aplikasi Android, yang mendorong upaya besar dalam memberikan dukungan bagi para developer.

Buku ini mengadopsi pendekatan yang berfokus pada kebutuhan industri, mempersiapkan kamu untuk berperan sebagai Android developer di berbagai perusahaan. Isinya mengikuti cara terkini yang direkomendasikan oleh tim Android Google, dengan wawasan yang didasarkan pada pengalaman praktis.

Melalui contoh-contoh praktis, buku ini membimbing kamu dalam mengembangkan aplikasi Android menggunakan Kotlin, sekaligus memberikan pengetahuan hands-on yang penting untuk menjadi Android developer yang andal. Topik yang dibahas mencakup pembuatan aplikasi dengan Jetpack Compose, penerapan Material Design 3 untuk sentuhan yang lebih personal, serta penataan aplikasi menggunakan arsitektur MVVM. Panduan ini juga menunjukkan cara meningkatkan arsitektur aplikasi dengan fitur-fitur seperti dependency injection, penggunaan Jetpack Libraries seperti Room untuk penyimpanan data lokal, serta penerapan teknik debugging.

Selain itu, buku ini membahas pengujian aplikasi, identifikasi masalah kode menggunakan aplikasi seperti Ktlint dan Detekt, serta memandu proses publikasi aplikasi di Google Play Store. Otomatisasi rilis berkelanjutan melalui GitHub Actions dan distribusi build pengujian menggunakan Firebase App Distribution juga turut dibahas. Sebagai pelengkap, buku ini mengulas strategi peningkatan kualitas aplikasi, termasuk penggunaan alat pelaporan crash, tips untuk meningkatkan keterlibatan pengguna, serta wawasan mengenai pengamanan aplikasi.

Untuk Siapa Buku Ini

Buku ini ditujukan untuk calon Android developer maupun Android developer yang saat ini bekerja dengan Java. Melalui buku ini, kamu akan belajar membangun aplikasi Android menggunakan Kotlin dari nol, memahami arsitektur aplikasi serta topik-topik penting lainnya dalam pengembangan Android, hingga mengetahui cara memublikasikan aplikasi ke Google Play Store.

Buku ini ditulis dengan mempertimbangkan cara terkini yang digunakan di industri dan sekaligus membimbing kamu dalam mempersiapkan diri untuk berkarier sebagai seorang Android developer.

Apa Saja yang Dibahas dalam Buku Ini

Bab 1, Memulai Pengembangan Android dengan Kotlin, memperkenalkan Kotlin sebagai bahasa pemrograman. Bab ini membahas fitur-fitur Kotlin yang berguna untuk pengembangan Android serta pentingnya Kotlin bagi Android developer. Selain itu, dibahas juga cara melakukan migrasi dari Java ke Kotlin serta beberapa tips yang bermanfaat bagi developer dengan latar belakang Java.

Bab 2, Membuat Aplikasi Android Pertama, membahas cara membuat aplikasi Android. Bab ini mengenalkan kamu pada Android Studio, Integrated Development Environment (IDE) yang akan digunakan untuk mengembangkan aplikasi Android. Selain itu, dibahas berbagai tips, shortcut, dan fitur Android Studio yang berguna, serta proses pembuatan project di Android Studio.

Bab 3, Dasar-Dasar Layout Jetpack Compose, membahas Jetpack Compose sebagai pendekatan deklaratif untuk membuat antarmuka pengguna aplikasi. Bab ini mencakup dasar-dasar Jetpack Compose dan berbagai jenis layout yang tersedia.

Bab 4, Mendesain dengan Material Design 3, memperkenalkan Material Design 3 beserta fitur-fitur yang ditawarkannya. Bab ini juga membahas cara menggunakan Material Design 3 dalam aplikasi Android serta beberapa komponen utamanya.

Bab 5, Merancang Arsitektur Aplikasi, mengeksplorasi berbagai arsitektur yang tersedia untuk project Android. Bab ini membahas secara mendalam arsitektur MVVM, lapisan-lapisannya, serta cara menggunakan beberapa Jetpack libraries di dalamnya. Selain itu, ditunjukkan pula cara menggunakan fitur arsitektur lanjutan seperti dependency injection, Kotlin Gradle DSL, dan version catalog untuk mendefinisikan dependensi.

Bab 6, Request Network dengan Kotlin Coroutines, membahas cara melakukan network call menggunakan library networking Retrofit. Bab ini menunjukkan cara mengonsumsi Application Programming Interface (API) dengan library tersebut, serta memanfaatkan Kotlin coroutines untuk menjalankan permintaan network secara asynchronous.

Bab 7, Navigasi di Dalam Aplikasi, menjelaskan cara menggunakan library Jetpack Compose Navigation untuk berpindah antar layar di Jetpack Compose. Bab ini membahas tips dan cara terbaik dalam menggunakan library ini, cara mengirim argumen saat berpindah layar, serta penanganan navigasi pada layar besar dan perangkat foldable.

Bab 8, Penyimpanan Data Lokal dan Background Work, membahas cara menyimpan data ke database lokal menggunakan Room, yang merupakan bagian dari Jetpack libraries. Bab ini menunjukkan cara menyimpan dan membaca data dari database Room, serta membahas cara menjalankan operasi berdurasi panjang menggunakan WorkManager beserta beberapa cara terbaik dalam penggunaannya.

Bab 9, Runtime Permissions, membahas secara mendalam tentang runtime permissions dan cara meminta izin pada aplikasi Android.

Bab 10, Debugging Aplikasi, membahas tips dan trik debugging, cara mendeteksi kebocoran memori menggunakan LeakCanary, memeriksa request dan response network menggunakan Chucker, serta menginspeksi database Room, network request, dan background task menggunakan App Inspection.

Bab 11, Meningkatkan Kualitas Kode, mengeksplorasi gaya penulisan Kotlin dan cara terbaik dalam menulis kode Kotlin. Bab ini juga menunjukkan cara menggunakan plugin seperti Ktlint dan Detekt untuk melakukan formatting, linting, serta mendeteksi code smell sejak dini.

Bab 12, Pengujian Aplikasi, membahas cara menambahkan pengujian pada berbagai lapisan dalam arsitektur MVVM. Bab ini menjelaskan pentingnya pengujian serta cara menambahkan unit test, integration test, dan instrumentation test.

Bab 13, Publikasi Aplikasi, membahas cara memublikasikan aplikasi baru ke Google Play Store. Bab ini memandu proses pembuatan signed app bundle, menjawab pertanyaan terkait konten aplikasi, membuat rilis, mengatur akses pengguna—baik melalui jalur pengujian terbatas maupun rilis publik—serta berbagai topik lainnya. Selain itu, dibahas pula beberapa kebijakan Google Play Store dan cara tetap patuh agar aplikasi tidak dihapus atau akun tidak diblokir.

Bab 14, Continuous Integration dan Continuous Deployment, berfokus pada penggunaan GitHub Actions untuk mengotomatiskan berbagai tugas manual, seperti melakukan deploy build baru ke Google Play Store. Bab ini juga membahas cara menjalankan pengujian pada pipeline CI/CD dan mengirim build ke Google Play Store menggunakan GitHub Actions.

Bab 15, Meningkatkan Kualitas Aplikasi, membahas teknik-teknik untuk meningkatkan kualitas aplikasi, seperti menambahkan analytics, Firebase Crashlytics, serta memanfaatkan cloud messaging untuk meningkatkan keterlibatan pengguna. Bab ini juga membahas cara mengirim notifikasi ke aplikasi melalui Firebase Console, serta tips dan trik untuk mengamankan aplikasi agar data pengguna tetap terlindungi.

Untuk mendapatkan hasil paling optimal dari buku ini kita silahkan gunakan Android Studio Hedgehog atau yang lebih baru dengan sistem operasi Windows, macOS maupun LInux.

Mengunduh File Contoh

Kamu dapat mengunduh file contoh untuk buku ini dari GitHub di https://github.com/PacktPublishing/Mastering-Kotlin-for-Android. Jika terdapat pembaruan pada kode, pembaruan tersebut akan tersedia di repository GitHub tersebut.