Final Project

 Mohammad Ahnaf Fauzan

5025211170

PBKK A

ABC Aplikasi Jual Beli Barang Bekas 

Berikut referensi yang saya gunakan :Referensi Paper




  • Buatlah Deskribsi studi kasus aplikasi ditinjau dari MVCnya
Studi kasus ini membahas pengembangan aplikasi jual beli barang bekas bernama ABC yang memanfaatkan arsitektur Model-View-Controller (MVC). Aplikasi ini bertujuan untuk memberikan platform bagi pengguna untuk membeli dan menjual barang bekas secara online, menciptakan lingkungan perdagangan yang nyaman dan efisien.

Model dalam aplikasi ini mencakup struktur data untuk barang bekas, termasuk informasi seperti deskripsi barang, harga, kondisi barang, dan informasi penjual. Model juga menangani logika bisnis, seperti validasi data, perhitungan harga, dan manajemen transaksi. Contoh kelas dalam Model dapat mencakup "Item" dan "TransactionManager."

Bagian View berfokus pada antarmuka pengguna yang memungkinkan pengguna melihat daftar barang bekas yang dijual, menambahkan barang bekas untuk dijual, dan melihat riwayat transaksi. Tampilan juga menyediakan fitur pencarian dan filtrasi untuk membantu pengguna menemukan barang dengan cepat. Kelas dalam View mungkin mencakup "ItemView" dan "TransactionView."

Controller berperan sebagai penghubung antara Model dan View. Ketika pengguna ingin menambahkan barang bekas yang akan dijual, Controller menerima input dari View, memvalidasi data, dan memperbarui Model dengan informasi barang. Controller juga menangani proses transaksi, mengelola perhitungan harga, dan memperbarui Model sesuai. Contoh kelas dalam Controller bisa mencakup "ItemController" dan "TransactionController."

Ketika seorang pengguna menambahkan barang bekas untuk dijual melalui antarmuka pengguna, View mengirimkan permintaan ke Controller. Controller kemudian memproses permintaan tersebut, memperbarui Model dengan data barang bekas baru, dan mengirim pembaruan ke View untuk menampilkan barang tersebut. Selama transaksi, Controller memastikan perhitungan harga yang benar, mengelola transaksi, dan memberi tahu View untuk menyegarkan tampilan transaksi.

  • Buatlah rancangan umum fitur yang ada dalam aplikasi ini
    Berikut beberapa fitur dan penjelasan singkat terkait fitur tersebut:

1. Daftar Barang:
- Pengguna dapat melihat daftar barang bekas yang tersedia untuk dibeli.
- Fitur pencarian dan filtrasi untuk membantu pengguna menemukan barang dengan cepat.
- Informasi detail barang termasuk deskripsi, harga, kondisi barang, dan informasi penjual.

2. Jual Beli Barang:
- Pengguna dapat menambahkan barang bekas yang ingin dijual.
- Proses validasi data untuk memastikan informasi barang diisi dengan benar.
- Penghitungan harga otomatis berdasarkan parameter tertentu (misalnya, kondisi barang, harga awal).

3. Transaksi:
- Pengguna dapat melihat riwayat transaksi, termasuk detail pembelian dan penjualan.
- Notifikasi atau konfirmasi setelah transaksi berhasil atau gagal.
- Proses transaksi yang aman dan terjamin.

4. Profil Pengguna:
- Pengguna dapat membuat dan mengelola profil pribadi.
- Informasi profil mencakup data pengguna, alamat, dan riwayat transaksi.
- Pengaturan keamanan, seperti kata sandi dan preferensi notifikasi.

5. Sistem Komentar dan Rating:
- Pengguna dapat memberikan komentar dan rating untuk barang dan penjual.
- Umpan balik tersebut membantu membangun reputasi dan kepercayaan antar pengguna.

6. Pembayaran dan Pengiriman:
- Sistem pembayaran aman untuk menyelesaikan transaksi.
- Informasi pengiriman dan pelacakan pesanan.
- Konfirmasi pembayaran dan pengiriman.

7. Pemberitahuan dan Notifikasi:
- Pemberitahuan untuk pengguna terkait transaksi, penawaran, atau kejadian penting lainnya.
- Notifikasi melalui email atau aplikasi untuk memberi tahu pengguna tentang perubahan status -              transaksi atau pesan masuk.

8. Analitik dan Laporan:
- Pemantauan kinerja transaksi, popularitas barang, dan aktivitas pengguna.
- Laporan analitik untuk membantu pemilik platform memahami tren pasar dan perilaku pengguna.

9. Pusat Bantuan dan Dukungan:
- Panduan dan FAQ untuk membantu pengguna memahami cara menggunakan aplikasi.
- Sistem tiket atau chat untuk dukungan pelanggan jika pengguna mengalami masalah.

10. Keamanan:
- Langkah-langkah keamanan untuk melindungi data pengguna, transaksi, dan informasi pribadi.
- Sistem otentikasi ganda untuk melindungi akun pengguna.

  • Rancang desain databasenya
Desain basis data untuk aplikasi jual beli barang bekas butuh mempertimbangkan kebutuhan fungsionalitas yang telah dijelaskan sebelumnya. Berikut adalah rancangan desain database yang mungkin diterapkan untuk aplikasi abc barang bekas ini:

Entitas dan Atribut:

1. User (Pengguna):

  • UserID (Primary Key)
  • Username
  • Password
  • Email
  • NamaLengkap
  • Alamat
  • NomorTelepon
  • TanggalRegistrasi

2. Item (Barang):
  • ItemID (Primary Key)
  • UserID (Foreign Key ke User)
  • NamaBarang
  • Deskripsi
  • Harga
  • Kondisi
  • TanggalDitambahkan

3. Transaction (Transaksi):
  • TransactionID (Primary Key)
  • BuyerID (Foreign Key ke User)
  • SellerID (Foreign Key ke User)
  • ItemID (Foreign Key ke Item)
  • Jumlah
  • TotalHarga
  • TanggalTransaksi
  • StatusTransaksi (Misalnya: Dalam Proses, Berhasil, Gagal)

4. Comment (Komentar):
  • CommentID (Primary Key)
  • ItemID (Foreign Key ke Item)
  • UserID (Foreign Key ke User)
  • IsiKomentar
  • TanggalKomentar
  • Rating (Skala 1-5)

Hubungan Antar Tabel:

  • Tabel Item memiliki hubungan dengan Tabel User melalui UserID.
  • Tabel Transaction memiliki hubungan dengan Tabel User melalui BuyerID dan SellerID.
  • Tabel Transaction memiliki hubungan dengan Tabel Item melalui ItemID.
  • Tabel Comment memiliki hubungan dengan Tabel Item melalui ItemID dan dengan Tabel User melalui UserID.

Normalisasi:

Melakukan normalisasi untuk meminimalkan redundansi data dan memastikan integritas data.

Indeks:

Menambahkan indeks pada kolom-kolom yang sering dicari, seperti UserID, ItemID, dan TransactionID, untuk meningkatkan kinerja pencarian.

  • Buat desain front end 
Beikut merupakan desain front end untuk aplikasi ABC saya :
- ini merupakan tampilan awal ketika masuk ke aplikasi


- kemudian tampilan ketika kita mengklik tombol jual/sell





- Kemudian tampilan ketika kita melakukan search item, saya menggunakan contoh pencarian home and furniture. ketika kita mencari sesuatu akan muncul tampilan seperti dibawah dimana ada informasi seperti harga dan lainnya. Disini juga terdapat tampilan untuk melakukan filter kriteria barang yang diinginkan.



- Kemudian ketika kita ingin mendaftar akun kita dapat masuk ke halaman regist



- kemudian setelah membuat akun kita bisa melakukan dan juga melihat settings profile kita dan tampilannya seperti ini




  • Tentukan logika yang mengandle logika back end
Dalam konteks aplikasi jual beli barang bekas berbasis MVC, controller bertanggung jawab menerima inputan user dan memproses inputan tersebut, dan memicu pembaruan model atau view pada aplikasi tersebut. berikut merupakan control yang menghandle logika back-end:

1. UserController:
  • RegisterUser(): Menerima data pendaftaran pengguna baru, memvalidasi input, membuat akun pengguna, dan menyimpan informasi pengguna ke dalam model.
  • LoginUser(): Memvalidasi kredensial login pengguna, membuat sesi otentikasi, dan mengelola alur navigasi pengguna.
  • UpdateUserProfile(): Mengelola pembaruan informasi profil pengguna, seperti alamat, nomor telepon, atau kata sandi.
2. ItemController:
  • AddItem(): Menerima data barang bekas yang akan dijual, memvalidasi input, dan menambahkan item ke dalam model.
  • EditItem(): Menerima data edit barang bekas, memvalidasi input, dan memperbarui informasi item di dalam model.
  • DeleteItem(): Menerima permintaan pengguna untuk menghapus barang bekas dan menghapus item dari model.
3. TransactionController:
  • InitiateTransaction(): Mengelola proses inisiasi transaksi, memvalidasi data transaksi, dan menciptakan catatan transaksi baru di dalam model.
  • CompleteTransaction(): Memproses penyelesaian transaksi, menghitung total harga, memperbarui stok barang, dan mengubah status transaksi.
  • CancelTransaction(): Mengelola pembatalan transaksi, mengembalikan stok barang, dan memperbarui status transaksi.
4. CommentController:
  • AddComment(): Mengelola penambahan komentar dan rating, memvalidasi input, dan menyimpan data komentar di dalam model.
  • DeleteComment(): Mengelola permintaan pengguna untuk menghapus komentar yang telah dibuat.
5. NotificationController:
  • SendNotification(): Membuat dan mengirim pemberitahuan atau notifikasi kepada pengguna, baik melalui email atau push notification.
  • ManageNotificationPreferences(): Mengelola preferensi notifikasi pengguna, seperti jenis notifikasi yang ingin mereka terima.
6. SecurityController:
  • HandleAuthentication(): Memproses otentikasi pengguna, menjaga keamanan proses login, dan menerapkan langkah-langkah keamanan.
  • HandleAuthorization(): Memastikan pengguna memiliki izin untuk mengakses sumber daya tertentu, mencegah akses yang tidak sah.
7. AnalyticsController:
  • GenerateReports(): Membuat laporan analitik berdasarkan data transaksi, pengguna, dan barang.
  • MonitorPerformance(): Mengawasi kinerja aplikasi dan melakukan tindakan proaktif berdasarkan analisis data.
Controller-controller ini akan berinteraksi dengan model untuk mengakses dan memodifikasi data, serta berkomunikasi dengan view untuk memperbarui tampilan sesuai dengan perubahan data.

  • Kami menngimplementasikan rancangan CI milik Alya Putri Salma Link Github
Video Penjelasan : Video Penjelasan

Komentar

Postingan populer dari blog ini

Dashboard

Tugas 1 PBKK

QUIZ 1 PBKK A