Posts

PPB: TUGAS 10

Image
Nama      : Shazia Ingeyla Naveeda NRP         : 5025211203 Kelas      : PPB (A) Membuat Aplikasi Unscramble Link Github Game ini mengajak pengguna untuk menyusun ulang huruf acak menjadi kata yang benar, sekaligus melatih pemahaman tentang state management , penerapan ViewModel , serta pembuatan antarmuka dengan Jetpack Compose. Tujuan Pembelajaran Melalui proyek ini, mahasiswa belajar: Menerapkan arsitektur Model-View-ViewModel (MVVM) menggunakan Jetpack Compose. Mengelola state dan logika aplikasi dengan ViewModel . Mendesain tampilan interaktif berbasis Compose. Melakukan pemisahan kode secara modular antara data ( WordsData.kt ) dan logika ( GameViewModel.kt ). Fitur Utama Aplikasi Tampilan Interaktif : Menampilkan susunan huruf acak dan kolom input jawaban. Validasi Jawaban : Mengecek kebenaran susunan kata dari pengguna. Skor Otomatis : Poin bertambah jika jawaban benar. Navigasi Soal : Lanjut ke kat...

PPB: TUGAS 9

Image
Nama      : Shazia Ingeyla Naveeda NRP         : 5025211203 Kelas      : PPB (A) Membuat Aplikasi Dessert Clicker Link Github Pada pertemuan ke-12 mata kuliah Pemrograman Perangkat Bergerak , mahasiswa diberikan tugas membuat aplikasi Android bertema makanan penutup (dessert) yang interaktif. Proyek ini dirancang untuk melatih keterampilan pengelolaan state , pembuatan antarmuka berbasis gambar, serta implementasi Intent Android untuk berbagi data. Tujuan Pembelajaran Melalui tugas ini, mahasiswa akan: Membangun UI dinamis menggunakan Jetpack Compose. Memahami konsep stateful UI , di mana tampilan berubah berdasarkan interaksi pengguna. Menggunakan Intent untuk berbagi skor ke aplikasi lain. Menerapkan modularisasi data melalui pemisahan model dan sumber data. Struktur Utama Proyek MainActivity.kt : Menampilkan gambar dessert, skor, dan mengelola interaksi klik. Datasource.kt : Menyediakan daftar dessert sebagai ...

PPB: EVALUASI AKHIR SEMESTER

Image
Nama : Shazia Ingeyla Naveeda NRP : 5025211203 Kelas : PPB (A) Anggota Kelompok Yohanes Teguh Ukur Ginting 5025211179 Shazia Ingeyla Naveeda 5025211203 Armadya Hermawan Sarwono 5025211243 GYM Member Link PPT  | Link Video Presentasi  | Link Source Code Tema Aplikasi Manajemen Keanggotaan Gym berbasis digital yang memudahkan pihak admin dalam mengelola data member secara efisien dan real-time. Tujuan Membangun sistem yang terpusat dan praktis untuk mengatur, memantau, dan memproses data keanggotaan gym tanpa perlu pencatatan manual. Aplikasi ini bertujuan untuk meningkatkan efisiensi kerja admin, meminimalkan kesalahan data, dan memberikan pengalaman kerja yang lebih modern. Target Pengguna Admin/staff dari pusat kebugaran (gym), pelatih pribadi, atau pemilik gym yang bertanggung jawab atas pengelolaan keanggotaan. Fitur Utama Dashboard Menampilkan ringkasan jumlah total member yang terdaftar. Member dikelompokkan berdasarkan kategori keanggotaan sehingga admin ...

PPB: TUGAS 8

Image
Nama      : Shazia Ingeyla Naveeda NRP         : 5025211203 Kelas      : PPB (A) Membuat Animasi Water Bottle Link Github Pada pertemuan kedelapan, mahasiswa diberikan tugas untuk mengembangkan sebuah aplikasi Android sederhana yang memanfaatkan Jetpack Compose sebagai kerangka kerja utama. Aplikasi yang dirancang berfungsi untuk memvisualisasikan bentuk botol air yang dapat diisi maupun dikosongkan, sesuai dengan interaksi yang dilakukan oleh pengguna. Tujuan Pengembangan Melalui proyek ini, mahasiswa diharapkan dapat memahami dan menerapkan beberapa konsep fundamental dalam pengembangan aplikasi Android, antara lain: Pengenalan konsep state management atau pengelolaan status komponen dalam Jetpack Compose. Implementasi animasi antarmuka pengguna ( User Interface ) menggunakan fungsi seperti animateFloatAsState dan animateIntAsState untuk menghasilkan transisi visual yang halus. Penerapan struktur kode yang modular dan ef...

PPB: ETS

Image
Nama : Shazia Ingeyla Naveeda NRP : 5025211203 Kelas : PPB (A) MyMoney Notes Link PPT Link Blogspot Link Video Presentasi Link Source Code Deskripsi Aplikasi manajemen keuangan sederhana yang dirancang untuk membantu pengguna mencatat pemasukan dan pengeluaran harian secara praktis. Pengguna dapat dengan mudah memilih jenis transaksi, apakah itu pemasukan atau pengeluaran, lalu memasukkan nominal dan memilih kategori yang sesuai, seperti gaji, belanja, makanan, atau hiburan. Seluruh transaksi akan ditampilkan dalam daftar yang rapi, sehingga memudahkan pengguna memantau aktivitas keuangan mereka sehari-hari. Fitur Utama: Dashboard: Pengguna dapat melihat total saldo, jumlah pemasukan dan pengeluaran, serta daftar transaksi terbaru secara real-time. Daftar Transaksi: Menampilkan semua transaksi pemasukan dan pengeluaran secara lengkap. Statistik: Menampilkan ringkasan keuangan berupa total pemasukan, pengeluaran dengan grafik kategori yang menunjukkan sumber pemasukan dan pen...

PPB: TUGAS 7

Image
Nama      : Shazia Ingeyla Naveeda NRP         : 5025211203 Kelas      : PPB (A) Membuat Halaman Login Sederhana Link Github Pada pertemuan ke tujuh, diminta untuk membuat halaman login sederhana menggunakan Jetpack Compose. Halaman ini digunakan untuk menerima inputan email dan password, serta melakukan validasi sederhana sebelum login. 1. LoginScreen() Ini adalah komponen utama UI halaman login. Di dalamnya terdapat: OutlinedTextField untuk email: menerima input email dengan keyboard khusus untuk format email. OutlinedTextField untuk password: input disembunyikan menggunakan PasswordVisualTransformation. Button Login: tombol utama untuk aksi login, saat ini belum memiliki logika otentikasi (hanya UI). TextButton Forgot Password: sebagai placeholder untuk navigasi ke fitur lupa password. Semua elemen diletakkan dalam Card agar tampil rapi, dengan padding dan jarak antar elemen yang proporsional. 2. MainActivity dan setContent Di dalam M...

PPB: TUGAS 6

Image
Nama      : Shazia Ingeyla Naveeda NRP         : 5025211203 Kelas      : PPB (A) Membuat Aplikasi Konversi Nilai Mata Uang   Link Github Pada pertemuan keenam, diminta untuk membuat aplikasi yang dapat mengkonversi mata uang menggunakan bahasa pemrograman Kotlin berbasis console. Fokus utamanya adalah mengubah nilai dari satu mata uang ke mata uang lain menggunakan nilai tukar statis. 1. CurrencyConverterApp() Ini adalah fungsi utama UI aplikasi. Di dalamnya, pengguna bisa memasukkan nominal uang (OutlinedTextField), memilih mata uang asal dan tujuan melalui dropdown, lalu menekan tombol "Convert". Hasil konversi akan ditampilkan dalam bentuk teks di bawahnya. 2. CurrencyDropdown() Fungsi ini menampilkan dropdown untuk memilih mata uang. Gunakan dua kali dalam UI: satu untuk memilih "From", satu lagi untuk "To". Memanfaatkan ExposedDropdownMenuBox dari Material3 untuk tampilan modern dan mudah digunakan. 3. converter() Fungsi inilah...

PPB: TUGAS 5

Image
Nama      : Shazia Ingeyla Naveeda NRP         : 5025211203 Kelas      : PPB (A) Membuat Aplikasi Kalkulator Menggunakan Kotlin Link Github Pada pertemuan kelima, diminta untuk membuat Aplikasi kalkulator sederhana ini dibuat menggunakan Jetpack Compose, toolkit modern dari Android untuk membangun UI dengan cara yang lebih deklaratif. Di dalamnya, terdapat dua kolom input (TextField) untuk memasukkan angka pertama dan kedua. Lalu, tersedia empat tombol (Button) untuk melakukan operasi matematika dasar: penjumlahan (Add), pengurangan (Sub), perkalian (Mul), dan pembagian (Div). Setiap kali tombol ditekan, hasil perhitungan akan ditampilkan di dalam sebuah kartu (Card) yang tampil dengan desain bersih dan modern. Untuk mengelola input dan hasil, digunakan konsep state dari Jetpack Compose, yaitu dengan remember dan mutableStateOf. Hal ini membuat aplikasi bisa secara otomatis memperbarui UI setiap kali ada perubahan nilai, tanpa perlu meny...

PPB: TUGAS 4

Image
Nama      : Shazia Ingeyla Naveeda NRP         : 5025211203 Kelas      : PPB (A) Membuat A plikasi Dice Roller Interaktif Link Github Pada pertemuan keempat ini akan membuat aplikasi Dice Roller interaktif yang memungkinkan pengguna melempar dadu dengan mengetuk composable Button. Hasil lemparan ditampilkan dengan composable Image di layar. Menggunakan Jetpack Compose dengan Kotlin untuk membuat tata letak aplikasi, lalu menulis logika bisnis untuk menangani peristiwa yang terjadi saat composable Button diketuk.  MainActivity class MainActivity : ComponentActivity() { override fun onCreate (savedInstanceState: Bundle?) { super .onCreate(savedInstanceState) setContent { DiceRollerTheme { Surface ( modifier = Modifier. fillMaxSize (), color = MaterialTheme. colorScheme . background ) { DiceRollerApp () ...

PPB: TUGAS 3

Image
Nama      : Shazia Ingeyla Naveeda NRP         : 5025211203 Kelas      : PPB (A) Membuat Aplikasi Ulang Tahun dari CodeLab Link Github Pada pertemuan ketiga, diberikan tugas untuk menyiapkan project di Android Studio dengan template Empty Activity dan mengubah pesan teks menjadi ucapan ulang tahun yang dipersonalisasi.  MainActivity class MainActivity : ComponentActivity() { override fun onCreate (savedInstanceState: Bundle?) { super .onCreate(savedInstanceState) setContent { HappyBirthdayTheme { // A surface container using the 'background' color from the theme Surface ( modifier = Modifier. fillMaxSize (), color = MaterialTheme. colorScheme . background ) { GreetingText ( message = "Happy Birthday Shazia!" , from = "From Jennie <3" , ...