Posts

Tugas 11 Authentication

Image
        Aplikasi Authentication Vito Febrian Ananta 5025211224 Pemrograman Perangkat Bergerak (D) Kode: ( Github Repository ) Pada tugas ke-11 ini, telah dibuat aplikasi untuk implementasi authentication. Untuk mengembangkan kemampuan secara teknis dan kreatifitas, saya memutuskan untuk mendalami aplikasi ini dengan beberapa poin berikut: 1.  Implementasi Arsitektur MVVM 2.  Implementasi Database Room Berikut adalah penjelasan detail dari kodenya: 1. Implementasi StateFlow untuk Mengelola UI State StateFlow adalah cara modern untuk mengelola state dalam ViewModel yang bersifat reactive. Dengan menggunakan MutableStateFlow sebagai private property dan StateFlow sebagai public property, kita memastikan bahwa hanya ViewModel yang dapat mengubah state, sementara UI hanya dapat mengobservasi perubahan state. Penggunaan _uiState.update() memungkinkan kita melakukan perubahan state secara immutable dan thread-safe, yang sangat penting untuk menjaga konsistens...

Tugas 10 Unscramble Word

Image
       Aplikasi Unscramble Word Vito Febrian Ananta 5025211224 Pemrograman Perangkat Bergerak (D) Kode: ( Github Repository ) Pada tugas ke-10 ini, telah dibuat aplikasi/game Unscramble Word. Untuk mengembangkan kemampuan secara teknis dan kreatifitas, saya memutuskan untuk mendalami aplikasi ini dengan beberapa poin berikut: 1. Implementasi StateFlow untuk Mengelola UI State 2. Pemisahan State Lokal dan Global dengan mutableStateOf 3. Observasi State dalam Composable dengan collectAsState Berikut adalah penjelasan detail dari kodenya: 1. Implementasi StateFlow untuk Mengelola UI State StateFlow adalah cara modern untuk mengelola state dalam ViewModel yang bersifat reactive. Dengan menggunakan MutableStateFlow sebagai private property dan StateFlow sebagai public property, kita memastikan bahwa hanya ViewModel yang dapat mengubah state, sementara UI hanya dapat mengobservasi perubahan state. Penggunaan _uiState.update() memungkinkan kita melakukan...

Tugas 9 Desert Clicker

Image
      Aplikasi Desert Clicker Vito Febrian Ananta 5025211224 Pemrograman Perangkat Bergerak (D) Kode: ( Github Repository ) Pada tugas ke-9 ini, telah dibuat aplikasi yang menampilkan Desert Clicker. Untuk mengembangkan kemampuan secara teknis dan kreatifitas, saya memutuskan untuk mendalami aplikasi ini dengan beberapa poin berikut: 1. Implementasi Lengkap Activity Lifecycle Methods 2. Penggunaan rememberSaveable untuk State Management 3. Logging untuk Monitoring Lifecycle Events Berikut adalah penjelasan detail dari kodenya: 1. Implementasi Lengkap Activity Lifecycle Methods Aplikasi ini mendemonstrasikan implementasi semua method lifecycle utama dalam Android Activity. Setiap method dilengkapi dengan logging menggunakan Log.d() yang memungkinkan developer untuk memantau kapan setiap tahap lifecycle dipanggil. Ini sangat penting untuk debugging dan memahami alur hidup aplikasi, terutama ketika aplikasi berpindah antar state seperti saat user meminimalkan aplikasi, ...

Tugas 8 Woof

Image
      Aplikasi Woof Vito Febrian Ananta 5025211224 Pemrograman Perangkat Bergerak (D) Kode: ( Github Repository ) Pada tugas ke-8 ini, telah dibuat aplikasi yang menampilkan list anjing yang meengunakan Material Design. Untuk mengembangkan kemampuan secara teknis dan kreatifitas, saya mendalami aplikasi ini pada beberapa poin berikut: 1. Cara Menerapkan Tema Material ke Aplikasi Compose 2. Cara Menambahkan Palet Warna Kustom ke Aplikasi 3. Cara Menambahkan Font Kustom ke Aplikasi 4. Cara Menambahkan Bentuk Kustom ke Elemen di Aplikasi 5. Cara Menambahkan Panel Aplikasi Atas ke Aplikasi Berikut adalah penjelasan detail dari kodenya: 1. Cara Menerapkan Tema Material ke Aplikasi Compose Penerapan tema Material di Compose dilakukan dengan membuat fungsi tema kustom yang membungkus MaterialTheme . Fungsi ini menentukan skema warna berdasarkan mode gelap/terang dan versi Android, kemudian menggabungkan semua elemen desain (warna, bentuk, tipografi) dalam satu tem...

Tugas 7 Login Page

Image
     Aplikasi Login Page Vito Febrian Ananta 5025211224 Pemrograman Perangkat Bergerak (D) Kode: ( Github Repository ) Pada tugas ke-7 ini, telah dibuat aplikasi yang menampilan halaman login page. Untuk mengembangkan kemampuan secara teknis dan kreatifitas, saya memutuskan untuk mengembangkan aplikasi ini dengan menambah beberapa poin berikut: 1. Menghandle hanya angka value pada password phone number 2. Menambahkan fitur visibility pada password field 3. Menambahkan tampilan dengan social media login Berikut adalah penjelasan detail dari kodenya: 1.  Welcome Text Cuplikan kode ini menggunakan composable Text untuk menampilkan pesan selamat datang. Ini mengatur konten teks, ukuran font, ketebalan font (bold), tinggi baris, dan menerapkan padding di akhir teks untuk tujuan tata letak. 2. Phone Field Bagian ini mendefinisikan OutlinedTextField untuk pengguna memasukkan nomor telepon mereka. Ini mencakup variabel state value untuk menampung teks yang dimasukkan, l...

Tugas 6 Converter

Image
    Aplikasi Converter Vito Febrian Ananta 5025211224 Pemrograman Perangkat Bergerak (D) Kode: ( Github Repository ) Pada tugas ke-6 ini, telah dibuat aplikasi converter. Untuk mengembangkan kemampuan secara teknis dan kreatifitas, saya memutuskan untuk mengembangkan aplikasi ini dengan menambah beberapa poin berikut: 1. Menghandle length dan speed converter. 2. Di currency converter menghandle mata uang sebagai berikut: - IDR - USD - EUR - JPY 3. Di length converter meng-handle satuan pajang sebagai berikut: - mm - cm - m - km 4. Di speed converter meng-handle satuan kecepatan sebagai berikut: - kph - mph Berikut adalah penjelasan detail dari kodenya: 1.  App Structure and UI Design Aplikasi konverter menggunakan Jetpack Compose dengan prinsip desain Material 3 untuk menciptakan antarmuka yang bersih dan intuitif dengan navigasi berbasis tab. Layar utama memungkinkan pengguna untuk beralih di antara berbagai konverter melalui chip filter, memberikan pengalaman yang konsi...

Tugas 5: Calculator

Image
   Aplikasi Calculator Vito Febrian Ananta 5025211224 Pemrograman Perangkat Bergerak (D) Kode: ( Github Repository ) Pada tugas ke-5 ini, telah dibuat aplikasi calculator yang dapat menghandle beberapa operasi seperti "+", "-", "x", "/". Pembelajaran ini dilaksanakan berdsarakan referensi sebagai berikut:  https://www.youtube.com/watch?v=HlE8MEtKBr0 https://developer.android.com/codelabs/basic-android-kotlin-compose-build-a-dice-roller-app#0 . Untuk mengembangkan kemampuan secara teknis dan kreatifitas, saya memutuskan untuk mengembangkan aplikasi ini dengan menambah beberapa poin berikut: 1. Mengganti desain yang tersinpirasi dari calucator IOS app. 2. Menambahkan operasi "decimal", "negate", "clear" dan "delete". 3. Menghandle beberapa case seperti "divided by 0". Berikut adalah penjelasan detail dari kodenya: 1. Fungsi formatNumer Fungsi ini mengubah tampilan angka agar lebih mudah dibaca denga...