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:

  1. Halaman Utama Marketplace
    Menampilkan daftar produk siswa dalam bentuk card yang rapi dan mudah dibaca.

  2. Kategori Produk
    User dapat memilih kategori:

    • Semua
    • Makanan
    • Fashion
    • Alat Tulis
    • Jasa

    Saat kategori dipilih, daftar produk akan otomatis berubah sesuai kategori tersebut.

  3. Search Bar
    Search bar dapat digunakan untuk mencari produk berdasarkan:

    • Nama produk
    • Kategori
    • Nama penjual
    • Harga
    • Deskripsi
  4. 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.

  5. 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

MarketplaceSiswa
├── 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

Popular posts from this blog

MyMoney Notes