Marketplace Siswa
Marketplace Siswa
Nama: Stefanus Yosua Mamamoba NRP: 5025231066 Kelas: Pemrograman Perangkat Bergerak B
Repository (GitHub)
1. Gambaran Umum
Marketplace Siswa adalah aplikasi Android yang menampilkan produk-produk buatan siswa. Aplikasi ini menggunakan pendekatan Material Design 3, seperti penggunaan card, elevation, chip kategori, search bar, floating action button, dan dialog input.
Tujuan aplikasi ini adalah membantu siswa melihat, mencari, memfilter, dan menambahkan produk kreatif seperti makanan, fashion, alat tulis, dan jasa.
2. Fitur Aplikasi
Fitur utama yang sudah tersedia:
Halaman Utama Marketplace
Menampilkan daftar produk siswa dalam bentuk card yang rapi dan mudah dibaca.Kategori Produk
User dapat memilih kategori:- Semua
- Makanan
- Fashion
- Alat Tulis
- Jasa
Saat kategori dipilih, daftar produk akan otomatis berubah sesuai kategori tersebut.
Search Bar
Search bar dapat digunakan untuk mencari produk berdasarkan:- Nama produk
- Kategori
- Nama penjual
- Harga
- Deskripsi
Tambah Produk
Tombol + membuka dialog tambah produk. User dapat mengisi:- Nama produk
- Kategori
- Nama penjual
- Harga
- Deskripsi
Setelah disimpan, produk baru langsung muncul di daftar.
Tampilan Material Design
Aplikasi memakai elemen Material Design seperti:- Top App Bar
- Card dengan elevation
- Assist Chip
- Floating Action Button
- Alert Dialog
- Text Field
3. Struktur Proyek
├── app
│ ├── src
│ │ ├── main
│ │ │ ├── java/com/example/marketplacesiswa
│ │ │ │ ├── MainActivity.kt
│ │ │ │ └── ui/theme
│ │ │ │ ├── Color.kt
│ │ │ │ ├── Theme.kt
│ │ │ │ └── Type.kt
│ │ │ ├── res
│ │ │ │ ├── values
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ └── themes.xml
│ │ │ └── AndroidManifest.xml
│ └── build.gradle.kts
├── build.gradle.kts
├── settings.gradle.kts
└── gradle
Penjelasan singkat:
MainActivity.kt
Berisi seluruh tampilan utama aplikasi, data produk, fitur search, filter kategori, dan dialog tambah produk.Theme.kt
Mengatur tema Material Design aplikasi.Color.kt
Berisi definisi warna utama aplikasi.Type.kt
Berisi pengaturan tipografi aplikasi.strings.xml
Berisi nama aplikasi, yaitu Marketplace Siswa.
4. Penjelasan Program Secara Garis Besar
Program dimulai dari MainActivity, lalu memanggil MarketplaceSiswaTheme dan menampilkan composable utama bernama MarketplaceSiswaApp.
Di dalam MarketplaceSiswaApp, aplikasi menyimpan beberapa state penting:
- selectedCategory
- searchKeyword
- showAddProductDialog
- products
State tersebut digunakan untuk mengatur kategori aktif, kata kunci pencarian, status dialog tambah produk, dan daftar produk yang tampil.
Daftar produk difilter berdasarkan dua hal:
- val matchesCategory = selectedCategory == "Semua" || product.category == selectedCategory
- val matchesSearch = searchKeyword.isBlank() || ...
Artinya, produk hanya ditampilkan jika sesuai kategori dan cocok dengan kata kunci pencarian.
Komponen utama aplikasi terdiri dari:
HeroSection()
Menampilkan sapaan “Halo, Siswa!” dan deskripsi singkat.SearchField()
Menampilkan search bar untuk mencari produk.CategoryRow()
Menampilkan chip kategori yang bisa dipilih.ProductCard()
Menampilkan informasi setiap produk.AddProductDialog()
Menampilkan form tambah produk.Demo
Comments
Post a Comment