EAS PPL
Nama : Adrian Ismu Arifianto
NRP : 5025211116
Soal :
1. Deskripsikan model bisnis yang dipilih?
2. Identifikasi perangkat lunak apa saja yang diperlukan, kemudian jelaskan alasannya?
3. Buatkan rancangan perangkat lunaknya ?
4. Lengkapi dengan desain database dan desain UI
5. Buat Presentasi dan demo hasil rancangan Perangkat Lunak, kemudian upload di Youtube, dan isi lembar monitoring?
Model bisnis yang diambil adalah Starbucks
Starbucks menggunakan model bisnis yang terfokus pada pengalaman pelanggan yang lancar dan aman, khususnya dalam situasi pandemi COVID-19. Model ini melibatkan kombinasi pemesanan online, pengambilan di tempat, dan penggunaan aplikasi untuk meminimalkan kontak fisik. Proses layanan ini mencakup beberapa tahapan dalam perjalanan pengguna:
- Menetapkan Lokasi Starbucks: Pelanggan menggunakan Google Maps pada smartphone mereka untuk menemukan lokasi Starbucks terdekat.
- Perjalanan ke Starbucks: Pelanggan mengemudi atau berjalan ke lokasi Starbucks yang telah ditentukan.
- Identifikasi Starbucks: Pelanggan melihat logo hijau dan putih Starbucks.
- Informasi Layanan: Pelanggan melihat instruksi pada pintu masuk mengenai layanan yang tersedia.
- Pemesanan Online: Pelanggan dianjurkan untuk memesan secara online melalui aplikasi Starbucks, di mana mereka mendapatkan poin bonus ekstra.
- Estimasi Waktu Pengambilan: Pelanggan melihat perkiraan waktu pengambilan minuman mereka di aplikasi.
- Pengambilan Minuman: Pelanggan mengambil minuman mereka di jendela pengambilan yang ditentukan.
- Menerima Minuman: Pelanggan menerima minuman dari staf menggunakan kotak pengambilan khusus untuk menghindari kontak langsung.
- Meninggalkan Starbucks: Pelanggan meninggalkan lokasi Starbucks.
Perangkat Lunak yang Diperlukan dan Alasan Penggunaannya
Google Maps API:
- Alasan: Digunakan untuk membantu pelanggan menemukan lokasi Starbucks terdekat dengan mudah.
Aplikasi Starbucks:
- Alasan: Untuk pemesanan online, pemberian bonus poin, estimasi waktu pengambilan, dan notifikasi kepada pelanggan.
Sistem Pembayaran Online:
- Alasan: Memungkinkan pembayaran tanpa kontak fisik, yang sangat penting selama pandemi.
Sistem Manajemen Pesanan:
- Alasan: Mengelola dan melacak pesanan yang masuk dari aplikasi dan mengintegrasikannya dengan proses pembuatan minuman di toko.
Sistem Pencetakan:
- Alasan: Mencetak label dan informasi pesanan untuk mempermudah staf dalam menyiapkan pesanan pelanggan.
Sistem Manajemen Karyawan:
- Alasan: Mengatur jadwal kerja, melacak kesehatan karyawan, dan memastikan kepatuhan terhadap protokol kesehatan.
Rancangan Perangkat Lunak
High-Level Design (HLD)
1. Arsitektur Sistem
Frontend:
- Mobile App (iOS dan Android): Aplikasi Starbucks untuk pelanggan.
- Web Portal: Portal manajemen untuk staf dan admin.
Backend:
- API Server: Menyediakan layanan untuk komunikasi antara frontend dan database.
- Database: Menyimpan semua data pengguna, pesanan, produk, pembayaran, karyawan, jadwal, dan pemeriksaan kesehatan.
- Third-party Services: Integrasi dengan Google Maps API dan Payment Gateway.
2. Komponen Utama:
User Management
- Autentikasi dan otorisasi pengguna.
- Manajemen profil pengguna.
Order Management
- Pembuatan, pelacakan, dan pengelolaan pesanan.
- Integrasi dengan sistem pembayaran.
Product Management
- Pengelolaan produk dan kategori.
- Pembaruan inventaris.
Reward System
- Pengelolaan poin reward.
- Penukaran poin dengan hadiah.
Employee Management
- Pengelolaan data karyawan.
- Penjadwalan kerja dan pemeriksaan kesehatan.
Notification System
- Notifikasi push untuk pengguna dan karyawan.
- Pengingat jadwal dan status pesanan.
Low-Level Design (LLD)
1. Diagram Kelas (Class Diagram)
User
- Attributes: user_id, name, email, password, phone_number, address, reward_points
- Methods: register(), login(), updateProfile()
Order
- Attributes: order_id, user_id, order_status, order_date, estimated_pickup_time, total_amount
- Methods: createOrder(), updateOrderStatus(), getOrderDetails()
Product
- Attributes: product_id, product_name, product_description, price, category
- Methods: addProduct(), updateProduct(), deleteProduct()
OrderItem
- Attributes: order_item_id, order_id, product_id, quantity, item_price
- Methods: addOrderItem(), updateOrderItem(), deleteOrderItem()
Payment
- Attributes: payment_id, order_id, payment_method, payment_status, payment_date, amount
- Methods: processPayment(), updatePaymentStatus()
Employee
- Attributes: employee_id, name, email, phone_number, position, health_status
- Methods: addEmployee(), updateEmployee(), deleteEmployee()
Schedule
- Attributes: schedule_id, employee_id, work_date, start_time, end_time
- Methods: addSchedule(), updateSchedule(), deleteSchedule()
HealthCheck
- Attributes: check_id, employee_id, check_date, temperature, health_status
- Methods: addHealthCheck(), updateHealthCheck(), deleteHealthCheck()
2. Diagram Sekuens (Sequence Diagram)
Proses Pemesanan
- User memilih produk dan menambahkannya ke Order.
- User mengonfirmasi pesanan dan memilih metode pembayaran.
- System memproses pembayaran melalui Payment gateway.
- System mengirim notifikasi ke User tentang status pesanan.
- Karyawan menerima dan memproses pesanan.
- Karyawan memperbarui status pesanan menjadi siap untuk diambil.
- User menerima notifikasi bahwa pesanan siap diambil.
Proses Penjadwalan Karyawan
- Admin menambahkan jadwal baru melalui Employee Management.
- System menyimpan jadwal di Database.
- System mengirim notifikasi ke Karyawan tentang jadwal kerja baru.
3. Diagram Aktivitas (Activity Diagram)
Pemesanan Produk
- User membuka aplikasi Starbucks.
- User mencari lokasi Starbucks terdekat.
- User memilih produk dan menambahkannya ke keranjang.
- User memeriksa keranjang dan melanjutkan ke pembayaran.
- User memilih metode pembayaran dan mengonfirmasi pesanan.
- System memproses pembayaran dan membuat pesanan.
- System mengirim notifikasi ke User tentang status pesanan.
- Karyawan menerima dan memproses pesanan.
- Karyawan menyiapkan pesanan dan memperbarui status menjadi siap untuk diambil.
- User menerima notifikasi dan mengambil pesanan di lokasi yang ditentukan.
Penjadwalan Karyawan
- Admin membuka portal manajemen.
- Admin memilih karyawan dan menambahkan jadwal baru.
- System menyimpan jadwal baru di database.
- System mengirim notifikasi ke karyawan tentang jadwal kerja baru.
Detail Komponen Perangkat Lunak
Frontend (Aplikasi Mobile dan Web Portal):
- Framework: React Native untuk aplikasi mobile, React.js untuk portal web.
- Komunikasi dengan Backend: Menggunakan RESTful API untuk pertukaran data.
Backend:
- Framework: Node.js dengan Express.js untuk API server.
- Database: PostgreSQL untuk database relasional.
- Authentication: JWT (JSON Web Tokens) untuk autentikasi dan otorisasi.
Third-party Integrations:
- Google Maps API: Untuk pencarian lokasi.
- Payment Gateway (misalnya, Stripe atau PayPal): Untuk pemrosesan pembayaran.
Deployment:
- Server: AWS atau Google Cloud Platform untuk hosting backend dan database.
- CI/CD: Menggunakan Jenkins atau GitHub Actions untuk continuous integration dan continuous deployment.
Desain Database
Tabel Utama:
Users (Pengguna)
user_id(Primary Key)nameemailpasswordphone_numberaddressreward_points
Orders (Pesanan)
order_id(Primary Key)user_id(Foreign Key)order_statusorder_dateestimated_pickup_timetotal_amount
Products (Produk)
product_id(Primary Key)product_nameproduct_descriptionpricecategory
Order_Items (Item Pesanan)
order_item_id(Primary Key)order_id(Foreign Key)product_id(Foreign Key)quantityitem_price
Payments (Pembayaran)
payment_id(Primary Key)order_id(Foreign Key)payment_methodpayment_statuspayment_dateamount
Employees (Karyawan)
employee_id(Primary Key)nameemailphone_numberpositionhealth_status
Schedules (Jadwal)
schedule_id(Primary Key)employee_id(Foreign Key)work_datestart_timeend_time
Health_Checks (Pemeriksaan Kesehatan)
check_id(Primary Key)employee_id(Foreign Key)check_datetemperaturehealth_status
Desain UI
1. Aplikasi Mobile Starbucks:
Halaman Login:
Halaman Home
Halaman Pencarian Lokasi:
Halaman Menu:
Halaman Pembayaran:
Halaman Pesanan:







Komentar
Posting Komentar