Nama : Ken Anargya Alkausar
NRP : 5025211168
Kelas : A
JAWAB
1. Business Model
- Atur destinasi ke Starbucks terdekat menggunakan Google Maps.
- Berkendara ke Starbucks.
- Tiba di toko drive-thru Starbucks.
- Antri dan lihat menu.
- Pesan minuman melalui interkom.
- Lakukan pembayaran di jendela pertama.
- Tunggu minuman.
- Ambil minuman di jendela kedua.
- Tinggalkan toko.
- Potensi Risiko: Virus dapat menyebar melalui kartu atau uang tunai dan interaksi dekat.
- Buka aplikasi Starbucks.
- Tekan opsi pemesanan.
- Pilih minuman.
- Pilih toko.
- Konfirmasi pesanan.
- Lakukan pembayaran via kartu kredit, Apple Pay, atau kartu Starbucks.
- Menuju toko.
- Tiba di toko.
- Periksa item di stasiun pengambilan.
- Tunggu nama dipanggil.
- Ambil pesanan.
- Ambil sedotan dan serbet.
- Tinggalkan toko.
- Potensi Risiko: Virus dapat menempel di gagang pintu dan permukaan stasiun pengambilan mungkin terkontaminasi.
- Atur destinasi ke Starbucks terdekat menggunakan Google Maps.
- Berkendara ke Starbucks.
- Lihat tanda tangan putih dan logo hijau.
- Masuk ke toko.
- Ikuti tanda jaga jarak sosial dan antri.
- Sapa dan berbicara dengan staf.
- Lihat menu.
- Pesan minuman.
- Lakukan pembayaran.
- Tunggu minuman.
- Ambil minuman.
- Ambil sedotan dan serbet.
- Tinggalkan toko.
- Potensi Risiko: Virus dapat menempel di gagang pintu, jarak yang tidak cukup, dan interaksi dekat dengan staf.
2. Identifikasi Perangkat Lunak
Untuk menjalankan model bisnis yang aman dan efisien selama pandemi, Starbucks memerlukan berbagai perangkat lunak. Berikut adalah perangkat lunak yang diperlukan beserta penjelasan rinci mengenai fungsinya dan alasannya:
Google Maps
Berfungsi untuk membantu pelanggan menemukan Starbucks terdekat dan memberikan petunjuk arah. Agar pelanggan dapat dengan mudah mencari dan mencapai lokasi Starbucks yang paling dekat, sehingga meningkatkan kenyamanan dan mengurangi waktu perjalanan.
Aplikasi Starbucks
Memungkinkan pelanggan untuk memesan minuman secara online, membayar, dan melihat status pesanan. Untuk mengurangi interaksi fisik dengan staf dan permukaan di toko, memungkinkan pelanggan memesan dari mana saja, dan memberikan bonus poin untuk transaksi online sebagai insentif tambahan.
Sistem Pembayaran Digital
Mendukung pembayaran melalui kartu kredit, Apple Pay, dan kartu Starbucks. Agar pembayaran digital mengurangi risiko penyebaran virus melalui uang tunai dan mempercepat proses transaksi, membuat pengalaman pelanggan lebih aman dan nyaman.
Sistem Antrian Online
Mengelola antrian pelanggan yang memesan secara online atau melalui drive-thru dan memberikan estimasi waktu pengambilan. Untuk membantu menghindari kerumunan di toko, mengurangi waktu tunggu, dan memastikan jarak sosial dapat dijaga dengan baik.
Sistem Manajemen Inventaris
Mengelola stok bahan baku dan produk jadi di setiap toko. Memastikan ketersediaan produk yang dipesan pelanggan dan mengoptimalkan proses pengadaan barang sehingga tidak ada kekurangan bahan baku.
Sistem Pemantauan Kesehatan Karyawan
Melacak dan mencatat suhu tubuh karyawan serta kepatuhan mereka terhadap penggunaan masker dan sarung tangan. Memastikan semua karyawan dalam kondisi sehat dan mematuhi protokol kesehatan, sehingga mengurangi risiko penyebaran virus di tempat kerja.
Sistem Pembersihan dan Sanitasi
Menjadwalkan dan mencatat kegiatan pembersihan dan sanitasi di toko. Memastikan lingkungan toko tetap bersih dan aman bagi pelanggan dan karyawan, serta mematuhi standar kesehatan yang ditetapkan.
Aplikasi Komunikasi Internal
Memfasilitasi komunikasi antar karyawan dan manajemen toko. Memastikan koordinasi yang baik dalam operasional toko dan memungkinkan respon cepat terhadap situasi atau kebutuhan mendesak. Dengan memanfaatkan perangkat lunak ini, Starbucks dapat menjalankan operasional toko dengan lebih aman dan efisien, menjaga kesehatan karyawan dan pelanggan, serta memastikan layanan tetap optimal meskipun dalam situasi pandemi.
3. Rancangan Perangkat Lunak
Merancang perangkat lunak untuk mendukung model bisnis Starbucks selama pandemi membutuhkan dua tingkat detail: High-Level Design (HLD) dan Low-Level Design (LLD). Berikut adalah rancangan untuk keduanya.
High-Level Design (HLD)
HLD memberikan gambaran umum tentang sistem, termasuk arsitektur dan komponen utama.
1. Arsitektur Sistem
Komponen Utama:
Aplikasi Pelanggan (Mobile & Web)
Sistem Pembayaran
Sistem Antrian dan Pemesanan
Sistem Manajemen Inventaris
Sistem Pemantauan Kesehatan Karyawan
Sistem Pembersihan dan Sanitasi
Aplikasi Komunikasi Internal
Server Backend
Database
Komponen Utama:
Aplikasi Pelanggan (Mobile & Web)
Sistem Pembayaran
Sistem Antrian dan Pemesanan
Sistem Manajemen Inventaris
Sistem Pemantauan Kesehatan Karyawan
Sistem Pembersihan dan Sanitasi
Aplikasi Komunikasi Internal
Server Backend
Database
2. Diagram Model Proses
3. Estimasi Kapasitas Sistem
Berikut ini adalah rancangan estimasi kapasitas sistem untuk aplikasi Starbucks. Estimasi ini mencakup aspek trafik pengguna, penyimpanan data, dan penggunaan bandwidth.
Estimasi Trafik
Jumlah Pengguna
Pengguna Aktif Bulanan (MAU): 1 juta pengguna
Pengguna Aktif Harian (DAU): 10% dari MAU, yaitu 100.000 pengguna harian
Pengguna Aktif Bulanan (MAU): 1 juta pengguna
Pengguna Aktif Harian (DAU): 10% dari MAU, yaitu 100.000 pengguna harian
Frekuensi Penggunaan
Rata-rata penggunaan aplikasi: 2 kali per hari per pengguna
Total akses aplikasi per hari: 100.000 pengguna * 2 kali = 200.000 kali
Rata-rata penggunaan aplikasi: 2 kali per hari per pengguna
Total akses aplikasi per hari: 100.000 pengguna * 2 kali = 200.000 kali
Pencarian Lokasi
Pengguna yang mencari lokasi kedai: 30% dari pengguna harian
Total pencarian lokasi per hari: 100.000 * 0.3 = 30.000 pencarian
Pengguna yang mencari lokasi kedai: 30% dari pengguna harian
Total pencarian lokasi per hari: 100.000 * 0.3 = 30.000 pencarian
Pemesanan Minuman
Pengguna yang memesan minuman: 20% dari pengguna harian
Total pemesanan minuman per hari: 100.000 * 0.2 = 20.000 pemesanan
Pengguna yang memesan minuman: 20% dari pengguna harian
Total pemesanan minuman per hari: 100.000 * 0.2 = 20.000 pemesanan
Notifikasi
Jumlah notifikasi per pengguna per minggu: 2 notifikasi
Total notifikasi per hari: 1.000.000 * 2 / 7 ≈ 285.714 notifikasi
Jumlah notifikasi per pengguna per minggu: 2 notifikasi
Total notifikasi per hari: 1.000.000 * 2 / 7 ≈ 285.714 notifikasi
Estimasi Penyimpanan
Data Pengguna
Rata-rata data per pengguna: 1 MB
Total penyimpanan data pengguna: 1.000.000 pengguna * 1 MB = 1 TB
Rata-rata data per pengguna: 1 MB
Total penyimpanan data pengguna: 1.000.000 pengguna * 1 MB = 1 TB
Data Pemesanan
Rata-rata data per pesanan: 0.1 MB
Total pesanan per bulan: 20.000 pesanan per hari * 30 hari = 600.000 pesanan
Total penyimpanan data pesanan: 600.000 pesanan * 0.1 MB = 60 GB per bulan
Rata-rata data per pesanan: 0.1 MB
Total pesanan per bulan: 20.000 pesanan per hari * 30 hari = 600.000 pesanan
Total penyimpanan data pesanan: 600.000 pesanan * 0.1 MB = 60 GB per bulan
Data Menu dan Stok
Rata-rata data untuk menu dan stok: 500 MB
Rata-rata data untuk menu dan stok: 500 MB
Data Notifikasi
Rata-rata data per notifikasi: 0.1 KB
Total notifikasi per hari: 285.714 notifikasi
Total penyimpanan data notifikasi: 285.714 notifikasi per hari * 0.1 KB * 30 hari ≈ 86 GB per bulan
Rata-rata data per notifikasi: 0.1 KB
Total notifikasi per hari: 285.714 notifikasi
Total penyimpanan data notifikasi: 285.714 notifikasi per hari * 0.1 KB * 30 hari ≈ 86 GB per bulan
Total Penyimpanan:
Pengguna: 1 TB
Pesanan: 60 GB per bulan
Menu dan Stok: 500 MB
Notifikasi: 86 GB per bulan
Estimasi Total Penyimpanan awal: ≈ 1.15 TB
Pengguna: 1 TB
Pesanan: 60 GB per bulan
Menu dan Stok: 500 MB
Notifikasi: 86 GB per bulan
Estimasi Total Penyimpanan awal: ≈ 1.15 TB
Estimasi Bandwidth
Pencarian Lokasi
Rata-rata data per pencarian lokasi: 0.2 MB
Total bandwidth pencarian lokasi per hari: 30.000 pencarian * 0.2 MB = 6 GB
Rata-rata data per pencarian lokasi: 0.2 MB
Total bandwidth pencarian lokasi per hari: 30.000 pencarian * 0.2 MB = 6 GB
Pemesanan Minuman
Rata-rata data per pemesanan: 0.5 MB
Total bandwidth pemesanan per hari: 20.000 pemesanan * 0.5 MB = 10 GB
Rata-rata data per pemesanan: 0.5 MB
Total bandwidth pemesanan per hari: 20.000 pemesanan * 0.5 MB = 10 GB
Melihat Menu
Rata-rata data per tampilan menu: 1 MB
Pengguna yang melihat menu: 50% dari pengguna harian
Total bandwidth tampilan menu per hari: 100.000 pengguna * 0.5 * 1 MB = 50 GB
Rata-rata data per tampilan menu: 1 MB
Pengguna yang melihat menu: 50% dari pengguna harian
Total bandwidth tampilan menu per hari: 100.000 pengguna * 0.5 * 1 MB = 50 GB
Notifikasi
Rata-rata data per notifikasi: 0.1 KB
Total bandwidth notifikasi per hari: 285.714 notifikasi * 0.1 KB ≈ 28.6 GB
Rata-rata data per notifikasi: 0.1 KB
Total bandwidth notifikasi per hari: 285.714 notifikasi * 0.1 KB ≈ 28.6 GB
Estimasi Total Bandwidth per Hari:
Pencarian Lokasi: 6 GB
Pemesanan Minuman: 10 GB
Melihat Menu: 50 GB
Notifikasi: 28.6 GB
Total Bandwidth: ≈ 94.6 GB per hari
Pencarian Lokasi: 6 GB
Pemesanan Minuman: 10 GB
Melihat Menu: 50 GB
Notifikasi: 28.6 GB
Total Bandwidth: ≈ 94.6 GB per hari
Kesimpulan
Total Pengguna: 1 juta pengguna
Total Pemesanan per Hari: 20.000 pemesanan
Total Penyimpanan Awal: 1.15 TB
Total Bandwidth Harian: 94.6 GB
Total Pengguna: 1 juta pengguna
Total Pemesanan per Hari: 20.000 pemesanan
Total Penyimpanan Awal: 1.15 TB
Total Bandwidth Harian: 94.6 GB
Estimasi ini membantu dalam perencanaan kapasitas sistem untuk memastikan aplikasi Starbucks dapat menangani beban pengguna dengan efisien dan efektif. Adapun peningkatan pengguna atau pemesanan dapat memerlukan penyesuaian pada infrastruktur dan kapasitas penyimpanan serta bandwidth yang lebih besar.
Use Case DiagramGambarannya:
Bayangkan Anda berada di Starbucks.
Anda (pelanggan) datang untuk memesan kopi, membayar, dan kemudian menikmatinya.
Ada kasir yang membantu memasukkan pesanan Anda ke sistem dan mengurus pembayaran.
Ada juga barista yang membuat kopi Anda.
Langkah-Langkah:
Order Coffee (Memesan Kopi):
Anda meminta kopi favorit Anda.
Enters Order (Memasukkan Pesanan):
Kasir mencatat pesanan Anda ke dalam sistem.
Pay for Coffee (Membayar Kopi):
Anda membayar untuk kopi yang Anda pesan.
Drink (Menikmati Minuman):
Barista membuat kopi, dan Anda akhirnya bisa menikmatinya.
Siapa yang Terlibat?
Customer (Pelanggan): Anda, yang memesan dan menikmati kopi.
Clerk (Kasir): Orang yang menerima pesanan dan membantu dengan pembayaran.
Barista: Orang yang membuat kopi.
Inti dari Diagram
Use case diagram ini memperlihatkan skenario sehari-hari di Starbucks, dari Anda memesan kopi hingga menikmati minuman yang dibuat oleh barista. Diagram ini membantu memahami langkah-langkah dan siapa saja yang terlibat dalam proses tersebut. Use case diagram membantu dalam merancang aplikasi atau sistem untuk memastikan semuanya berjalan lancar dan efisien.
Low-Level Design (LLD)
LLD memberikan detail spesifik untuk setiap komponen dalam HLD.
1. Aplikasi Pelanggan (Mobile & Web)
Fitur:
Pencarian lokasi Starbucks menggunakan Google Maps API.
Pemesanan dan pembayaran online.
Melihat status dan estimasi waktu pengambilan pesanan.
Notifikasi pesanan siap.
Detail Teknis:
Framework: React Native (Mobile), React.js (Web)
Integrasi: Google Maps API, Payment Gateway API (Stripe, PayPal)
Komunikasi: RESTful API
2. Sistem Pembayaran
Fitur:
Mendukung berbagai metode pembayaran (kartu kredit, Apple Pay, kartu Starbucks).
Penyimpanan dan keamanan data pembayaran.
Detail Teknis:
Payment Gateway: Stripe, PayPal
Keamanan: PCI-DSS compliance, TLS encryption
3. Sistem Antrian dan Pemesanan
Fitur:
Manajemen antrian untuk drive-thru, walk-in, dan online pick-up.
Estimasi waktu pengambilan.
Detail Teknis:
Algoritma: First In First Out (FIFO), Prioritas berdasarkan jenis pesanan
Integrasi: Aplikasi Pelanggan, Server Backend
Komunikasi: WebSocket untuk notifikasi real-time
4. Sistem Manajemen Inventaris
Fitur:
Pengelolaan stok bahan baku dan produk jadi.
Pemberitahuan kekurangan stok.
Detail Teknis:
Database: MySQL atau PostgreSQL
Integrasi: Server Backend
API: CRUD operations untuk data inventaris
5. Sistem Pemantauan Kesehatan Karyawan
Fitur:
Pencatatan suhu tubuh karyawan.
Pemantauan penggunaan masker dan sarung tangan.
Detail Teknis:
Input: IoT perangkat untuk pengukuran suhu
Penyimpanan: Enkripsi data kesehatan
Integrasi: Server Backend
6. Sistem Pembersihan dan Sanitasi
Fitur:
Penjadwalan kegiatan pembersihan.
Pencatatan kegiatan sanitasi.
Detail Teknis:
Database: MongoDB untuk log aktivitas
API: Endpoint untuk manajemen jadwal dan log
7. Aplikasi Komunikasi Internal
Fitur:
Komunikasi antar karyawan dan manajemen.
Pengumuman dan pemberitahuan internal.
Detail Teknis:
Platform: Slack, Microsoft Teams
Integrasi: API untuk notifikasi
8. Server Backend
Fitur:
Mengelola logika bisnis dan komunikasi antara aplikasi pelanggan dan sistem lainnya.
Autentikasi dan otorisasi pengguna.
Detail Teknis:
Framework: Node.js/Express atau Django/Flask
Keamanan: JWT untuk autentikasi, SSL/TLS untuk komunikasi aman
9. Database
Fitur:
Penyimpanan data pesanan, pembayaran, inventaris, kesehatan karyawan, dan aktivitas pembersihan.
Detail Teknis:
Tipe: Relasional (MySQL/PostgreSQL) dan NoSQL (MongoDB)
Replikasi dan backup untuk ketersediaan data yang tinggi
Dengan rancangan HLD dan LLD ini, Starbucks dapat mengembangkan perangkat lunak yang komprehensif dan terintegrasi untuk mendukung operasional mereka selama pandemi, memastikan pengalaman pelanggan yang aman dan efisien.
4.
Database Design
Tabel Utama
Customer: Menyimpan informasi pelanggan.
customer_id (PK): ID unik untuk setiap pelanggan.
customer_name: Nama pelanggan.
address: Alamat pelanggan.
phone_number: Nomor telepon pelanggan.
email: Email pelanggan.
Order: Menyimpan informasi pesanan.
order_id (PK): ID unik untuk setiap pesanan.
order_time: Waktu saat pesanan dibuat.
estimated_delivery_time: Estimasi waktu pengiriman.
actual_delivery_time: Waktu pengiriman sebenarnya.
delivery_address: Alamat pengiriman.
customer_id (FK): ID pelanggan yang melakukan pemesanan.
price: Harga total sebelum diskon.
discount: Diskon yang diberikan.
final_price: Harga akhir setelah diskon.
review: Teks ulasan pelanggan.
payment_id: ID pembayaran.
Product: Menyimpan informasi produk.
product_id (PK): ID unik untuk setiap produk.
product_name: Nama produk.
description: Deskripsi produk.
price: Harga produk.
category: Kategori produk.
Tabel Pendukung
Order_Line: Menyimpan detail setiap item dalam pesanan.
order_line_id (PK): ID unik untuk setiap item dalam pesanan.
order_id (FK): ID pesanan terkait.
product_id (FK): ID produk terkait.
quantity: Jumlah produk yang dipesan.
item_price: Harga satuan produk.
price: Harga total untuk item ini.
comment: Komentar terkait item ini.
Order_Status: Menyimpan status setiap pesanan.
order_status_id (PK): ID unik untuk status pesanan.
order_id (FK): ID pesanan terkait.
time: Waktu status dicatat.
status: Status pesanan (misalnya: diproses, dikirim, selesai).
Review: Menyimpan ulasan untuk pesanan.
review_id (PK): ID unik untuk setiap ulasan.
order_id (FK): ID pesanan terkait.
comment_text: Teks ulasan.
is_bad: Ulasan negatif.
is_good: Ulasan positif.
Payment: Menyimpan informasi pembayaran.
payment_id (PK): ID unik untuk setiap pembayaran.
payment_method: Metode pembayaran (misalnya: kartu kredit, PayPal).
is_paid: Status pembayaran (sudah dibayar atau belum).
order_id (FK): ID pesanan terkait.
Offer: Menyimpan informasi penawaran khusus.
offer_id (PK): ID unik untuk setiap penawaran.
date_active_from: Tanggal mulai berlaku.
date_active_to: Tanggal berakhir.
time_active_from: Waktu mulai berlaku.
time_active_to: Waktu berakhir.
offer_price: Harga khusus penawaran.
Offer_Line: Menyimpan detail produk dalam penawaran.
offer_line_id (PK): ID unik untuk setiap item penawaran.
offer_id (FK): ID penawaran terkait.
product_id (FK): ID produk terkait.
UI Design
UI design di atas adalah walkthrough untuk aplikasi Starbucks. Berikut adalah penjelasan singkat setiap layar dan fungsinya:
Home Screen:
Tujuan: Layar utama yang muncul saat pengguna membuka aplikasi.
Fitur: Akses ke Starbucks Card, melihat penawaran produk, serta fitur pengaturan dan kotak masuk.
Details:
Tujuan: Menampilkan detail produk atau penawaran.
Fitur: Pengguna dapat melihat informasi rinci setelah mengklik tombol "details".
Inbox:
Tujuan: Menampilkan pesan dan notifikasi.
Fitur: Pengguna dapat melihat pesan yang diterima.
Settings:
Tujuan: Mengelola pengaturan aplikasi.
Fitur: Akses pengaturan dari layar utama.
Home (Logged in):
Tujuan: Layar beranda setelah pengguna masuk.
Fitur: Melacak reward dan keuntungan, serta mengakses profil pengguna.
Rewards:
Tujuan: Menampilkan progress rewards dan keuntungan.
Fitur: Melihat sejarah reward yang telah diperoleh.
Gifts:
Tujuan: Mengirim hadiah ke orang lain.
Fitur: Pilih kartu hadiah, isi detail, dan kirim.
Order:
Tujuan: Memesan produk Starbucks.
Fitur: Navigasi ke menu order, pilih produk, dan bayar.
Menu:
Tujuan: Menampilkan item menu.
Fitur: Pilih kategori minuman atau makanan, pilih item, dan lihat detailnya.
Find a Store:
Tujuan: Mencari lokasi Starbucks.
Fitur: Navigasi peta, mencari atau memfilter lokasi Starbucks.
Pay:
Tujuan: Membayar menggunakan aplikasi.
Fitur: Menambah atau membeli kartu Starbucks, mengisi saldo, dan melakukan pembayaran.
Search:
Tujuan: Mencari produk atau informasi lain.
Fitur: Fitur pencarian dengan saran otomatis.
Signup:
Tujuan: Mendaftar akun baru.
Fitur: Formulir pendaftaran dengan berbagai informasi yang dibutuhkan.
Login/Signup:
Tujuan: Masuk atau mendaftar.
Fitur: Layar login dan signup.
My Starbucks Rewards:
Tujuan: Melihat reward yang telah diperoleh.
Fitur: Menampilkan sejarah dan status reward pengguna.
Referensi:
https://kuliahppl.blogspot.com/2024/06/model-bisnis-perusahaan.html
https://www.apptunix.com/blog/starbucks-business-model/
https://www.youtube.com/watch?v=KXAZrmpB9dU
https://medium.com/dio-wu/da-project-beverage-shop-database-design-work-46413c1ef373
Nice blog!!
ReplyDeleteAR in real estate is booming! A forward-thinking can do wonders in this space.AR VR App Development company