Mobile Programming

Android Kotlin: Aplikasi Tiket Transportasi Offline dengan NFC HCE dan Secure Storage

Bangun aplikasi tiket transportasi offline yang aman dengan Kotlin, Jetpack Compose, NFC HCE, dan secure storage.

Diperbarui 23 Agu 2026id7 bagian · 35 pelajaran4 jam 30 menit
Belum ada ulasan
Level Advanced
Kategori Mobile Programming
Perkiraan Durasi 4 jam 30 menit

Skill yang dibangun

Apa yang akan Anda pelajari

Merancang domain model, state flow, dan arsitektur aplikasi tiket transportasi offline menggunakan Kotlin, Jetpack Compose, dan pola arsitektur Android modern.

Mengimplementasikan NFC Host Card Emulation dengan HostApduService serta memahami alur APDU request dan response antara reader dan perangkat Android.

Menyimpan dan mengelola data sensitif secara lebih aman menggunakan Android Keystore dan EncryptedSharedPreferences atau mekanisme secure storage yang sesuai.

Mendesain validasi tiket offline, mencegah replay sederhana, menangani tiket kedaluwarsa, serta menguji edge case dan failure state tanpa bergantung pada koneksi internet.

Siapa Target Audiens Kursus Ini

Pengembang Android yang sudah menguasai Kotlin, Jetpack Compose, arsitektur aplikasi, coroutine, serta dasar pengembangan aplikasi jaringan dan ingin mempelajari sistem pembayaran atau tiket digital berbasis NFC yang aman dan dapat beroperasi secara offline.

Project outcomes

Apa yang Akan Anda Buat

Kamu akan membangun prototype aplikasi tiket transportasi Android. Pengguna bisa membuat dan melihat tiket, menyimpan data tiket secara lokal, lalu memakai perangkat sebagai NFC card melalui Host Card Emulation. Aplikasi validator akan membaca APDU dari perangkat tersebut dan memeriksa tiket secara offline berdasarkan signature atau token yang sudah disiapkan. Proyek ini juga mencakup UI Jetpack Compose, state management, secure storage, validasi masa berlaku, pencegahan replay sederhana, logging yang aman, dan penanganan perangkat yang tidak mendukung NFC. Prototype ini bukan sistem pembayaran produksi, tapi fondasinya dibuat dengan pola pikir security-aware supaya kamu ngerti bagian mana yang wajib diperkuat sebelum masuk ke deployment nyata.

Konten Kursus

Fondasi Sistem Tiket Offline dan Arsitektur Android

5 pelajaran | 180 menit
Memetakan Alur Tiket Transportasi Offline
30 menit
Threat Model untuk Tiket Digital Berbasis NFC
35 menit
Merancang Arsitektur Offline-First dengan Kotlin
40 menit
Membuat State Machine untuk Lifecycle Tiket
35 menit
Setup Project Android dan Baseline Quality
40 menit

Pemodelan Tiket dan Penyimpanan Lokal

5 pelajaran | 210 menit
Mendesain Ticket Domain Model yang Aman
35 menit
Menyimpan Data Tiket dengan Room Database
45 menit
Membuat Repository dan Transaction yang Konsisten
40 menit
Mengelola Konflik Data dan Idempotency Offline
40 menit
Guided Practice: Offline Ticket Store
50 menit

Secure Storage dan Kriptografi Praktis di Android

5 pelajaran | 220 menit
Memahami Android Keystore dan Key Lifecycle
40 menit
Enkripsi Payload dengan AES-GCM
50 menit
Menyimpan Secret dengan Praktik yang Benar
35 menit
Membuat Signed Ticket dan Verifikasi Integritas
50 menit
Debugging Crypto: IV, Encoding, dan Key Invalidated
45 menit

NFC HCE dan Komunikasi APDU

5 pelajaran | 240 menit
Memahami NFC HCE dan ISO-DEP
40 menit
Mendesain APDU Command dan Response
50 menit
Membuat HostApduService di Android
55 menit
Menghubungkan APDU Handler ke Secure Ticket Store
50 menit
Testing HCE Tanpa Reader Produksi
45 menit

Validasi Offline, Anti-Replay, dan Sinkronisasi

5 pelajaran | 250 menit
Membangun Offline Validation Pipeline
50 menit
Merancang Anti-Replay dengan Nonce dan Counter
45 menit
Audit Log dan Recovery Setelah Crash
50 menit
Sinkronisasi Event Saat Online Kembali
55 menit
Security Review dan Failure Injection
50 menit

UI Compose, Observability, dan Quality Assurance

5 pelajaran | 220 menit
Membangun Ticket Wallet dengan Jetpack Compose
45 menit
Menampilkan NFC Tap Flow dan Error State
40 menit
Testing Strategy dari Unit sampai Device Test
50 menit
Observability untuk Transaksi Offline
40 menit
Hardening Build dan Release Checklist
45 menit

Proyek Akhir: Membangun TapPass Offline

5 pelajaran | 420 menit
Perancangan & Setup Proyek TapPass Offline
75 menit
Implementasi Wallet, Secure Storage, dan Ticket Lifecycle
90 menit
Integrasi NFC HCE, APDU Handler, dan Anti-Replay
90 menit
Sinkronisasi, Recovery, dan Observability
80 menit
Pengujian, Security Review, dan Presentasi Hasil
85 menit

Deskripsi Kursus

Kamu akan membangun aplikasi tiket transportasi Android yang tetap bisa memvalidasi tiket tanpa koneksi internet. Fokusnya bukan sekadar membuat UI, tapi memahami alur transaksi offline, komunikasi NFC Host Card Emulation, penyimpanan data sensitif, dan cara menjaga integritas tiket saat aplikasi berada di kondisi jaringan yang tidak stabil.

Materi disusun dari fondasi ke implementasi. Kamu akan mulai dari desain domain tiket dan threat model sederhana, lalu lanjut ke arsitektur aplikasi, state management dengan Jetpack Compose, pembuatan service NFC HCE, serta secure storage menggunakan API Android yang nyata dan sesuai praktik modern. Setiap bagian mengarah ke proyek akhir, jadi kamu tidak belajar konsep yang menggantung.

Kita juga akan membedah alur kode, membahas trade-off keamanan, dan menguji skenario seperti tiket kedaluwarsa, replay attempt, data korup, serta perangkat tanpa dukungan NFC. Ada guided practice untuk mengikuti implementasi langkah demi langkah dan independent practice untuk melatih kamu mengambil keputusan teknis seperti di code review atau proyek kerja nyata. Intinya, kamu akan punya fondasi kuat untuk mengembangkan prototype sistem tiket digital offline yang aman dan bisa dikembangkan lebih lanjut.

Rating & Ulasan

0 ratings