EAS PPL A
Aplikasi Starbuck
Muhammad Naufal Arieffaza
05111840000126
PPL - A
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?
1. Untuk model bisnis yang saya pilih adalah Model bisnis yang untuk aplikasi Starbucks . Aplikasi ini berfokus pada peningkatan pengalaman pelanggan dan efisiensi operasional melalui penggunaan teknologi mobile.
2.
1. Aplikasi Mobile Starbucks:
- Alasan:Platform utama untuk pelanggan melakukan pemesanan, pembayaran, dan melihat status pesanan.
- Perangkat Lunak Pendukung:
- Android Studio: Untuk pengembangan aplikasi Android.
- Xcode: Untuk pengembangan aplikasi iOS.
2. Sistem Navigasi (Google Maps API):
- Alasan:Membantu pelanggan menemukan lokasi Starbucks terdekat dan memberikan petunjuk arah.
- Perangkat Lunak Pendukung:
- Google Maps API: Untuk integrasi fitur peta dan navigasi dalam aplikasi.
3. Sistem Pembayaran Online:
- Alasan:
- Perangkat Lunak Pendukung:
- Stripe/PayPal API: Untuk mengelola transaksi pembayaran online.
4. Sistem Manajemen Pesanan (Order Management System):
- Alasan:
- Perangkat Lunak Pendukung:
- Node.js/Express.js atau Django/Flask: Untuk mengembangkan API backend dan mengelola logika bisnis.
- PostgreSQL/MySQL: Untuk menyimpan data pesanan dan statusnya.
5. Sistem Manajemen Inventaris (Inventory Management System):
- Alasan:
- Perangkat Lunak Pendukung:
- SAP/Oracle Inventory Management: Untuk mengelola stok dan bahan baku.
6. Sistem CRM (Customer Relationship Management):
- Alasan:
- Perangkat Lunak Pendukung:
- Salesforce/Zendesk: Untuk mengelola data pelanggan, program loyalitas, dan komunikasi pelanggan.
7. Sistem Backend (Server dan Database):
- Alasan:
Menyimpan data pengguna, pesanan, dan transaksi secara aman dan efisien. - Perangkat Lunak Pendukung:
- AWS/GCP/Azure: Untuk hosting server dan database dengan skalabilitas tinggi.
- MongoDB/PostgreSQL: Untuk penyimpanan data yang terstruktur dan tidak terstruktur.
Tampilan (UI/UX Design)
a. Home Screen
Elemen Utama:
- Peta interaktif dengan penanda lokasi Starbucks terdekat.
- Tombol "Order Now" untuk memulai pemesanan.
- Tombol "Account" untuk masuk ke profil pengguna.
b. Menu Screen
Elemen Utama:
- Daftar produk dengan gambar, deskripsi, dan harga.
- Kategori produk (Kopi, Minuman Dingin, Makanan, dll.).
- Tombol "Add to Cart" untuk setiap produk.
c. Cart Screen
Elemen Utama:
- Daftar produk yang dipilih dengan opsi untuk mengubah jumlah atau menghapus item.
- Total harga.
- Tombol "Checkout".
d. Checkout Screen
Elemen Utama:
- Formulir detail pembayaran (integrasi dengan sistem pembayaran online).
- Opsi untuk memilih metode pembayaran.
- Ringkasan pesanan.
- Tombol "Place Order".
e. Order Status Screen
Elemen Utama:
- Status pesanan (Diterima, Diproses, Siap diambil).
- Estimasi waktu pengambilan.
- Peta dengan rute ke Starbucks terdekat.
- Tombol "Cancel Order".
f. Profile Screen
Elemen Utama:
- Informasi akun pengguna (Nama, Email, Poin Loyalitas).
- Riwayat pesanan.
- Pengaturan aplikasi.
2. Pengembangan Frontend
a. Teknologi dan Alat
- Platform: iOS dan Android
- Frameworks: SwiftUI untuk iOS dan Jetpack Compose untuk Android
- Libraries: Networking libraries seperti Alamofire untuk iOS dan Retrofit untuk Android, serta Google Maps SDK untuk peta.
b. Struktur Aplikasi
- Navigation: Menggunakan komponen navigasi khusus untuk masing-masing platform (NavigationView di iOS dan Navigation Component di Android).
- Data Binding: Menggunakan Combine di iOS dan LiveData di Android untuk mengikat data antara UI dan logika aplikasi.
- Network Requests: API Client untuk komunikasi dengan backend.
3. Pengembangan Backend
a. Teknologi dan Alat
- Server: Layanan cloud seperti AWS, Google Cloud, atau Azure untuk hosting server.
- Framework: Menggunakan framework server seperti Express.js (Node.js), Django (Python), atau Spring Boot (Java) untuk pengembangan API.
- Database: Basis data relasional seperti PostgreSQL atau MySQL, atau basis data NoSQL seperti MongoDB.
- API: RESTful API untuk komunikasi antara frontend dan backend.
- Keamanan: HTTPS untuk semua komunikasi data, serta JWT (JSON Web Token) untuk otentikasi dan otorisasi.
b. Struktur API
- Auth: Endpoint untuk login dan registrasi pengguna.
- Products: Endpoint untuk mendapatkan daftar produk dan detail produk tertentu.
- Orders: Endpoint untuk membuat dan mengelola pesanan.
- Users: Endpoint untuk mengelola data pengguna.
4. Integrasi Sistem
- Navigasi dan Lokasi: Menggunakan Google Maps API untuk menampilkan lokasi Starbucks terdekat dan memberikan petunjuk arah kepada pengguna.
- Pemesanan dan Pembayaran: Integrasi dengan gateway pembayaran seperti Stripe, PayPal, atau Square untuk memproses pembayaran online dengan aman.
- Manajemen Pesanan: Sistem manajemen pesanan yang mengelola status pesanan dari penerimaan hingga penyelesaian.
- Manajemen Inventaris: Sistem untuk melacak stok bahan baku dan produk, memastikan ketersediaan untuk pesanan yang masuk.
- CRM: Sistem manajemen hubungan pelanggan untuk mengelola data pelanggan, program loyalitas, dan penawaran khusus.
- Keamanan: Implementasi firewall dan enkripsi data untuk melindungi informasi pengguna dan transaksi.
5. Alur Kerja Sistem
- Pengguna membuka aplikasi Starbucks di smartphone.
- Pengguna mencari lokasi Starbucks terdekat menggunakan Google Maps API.
- Pengguna memilih produk dan melakukan pemesanan melalui aplikasi.
- Aplikasi mengirim data pesanan ke Backend System melalui RESTful API.
- Backend System memproses pesanan dan mengirim konfirmasi ke pengguna.
- Backend System mengupdate Inventory Management System untuk mengurangi stok.
- Backend System mengelola pembayaran melalui Payment Gateway.
- Order Management System mengelola status pesanan dan menginformasikan waktu pengambilan.
- Staf di toko menerima notifikasi pesanan dan mulai menyiapkan pesanan.
- Pengguna menerima notifikasi bahwa pesanan siap diambil.
- Pengguna mengambil pesanan di jendela pengambilan.
- Sistem CRM mencatat transaksi dan memperbarui poin loyalitas.
3.RPL
Analisis Sistem
Dalam analisis sistem, diidentifikasi beberapa masalah utama yang dihadapi oleh pengguna. Pertama, pengguna mengalami kesulitan dalam menemukan lokasi Starbucks terdekat secara cepat dan efisien. Kedua, proses pemesanan produk melalui aplikasi sering kali memakan waktu dan tidak intuitif. Ketiga, pengguna mengalami kesulitan dalam melacak status pesanan mereka dan mendapatkan notifikasi waktu pengambilan yang tepat. Terakhir, pengguna merasa sulit untuk mengelola profil dan riwayat pesanan mereka dengan mudah.
Arsitektur Sistem
Arsitektur sistem yang dirancang melibatkan dua komponen utama, yaitu aplikasi mobile untuk pengguna dan backend server untuk manajemen data dan proses. Aplikasi mobile akan berjalan pada platform iOS dan Android, menggunakan framework SwiftUI untuk iOS dan Jetpack Compose untuk Android. Backend server akan dihosting di layanan cloud seperti AWS, Google Cloud, atau Azure, dan menggunakan framework server seperti Express.js (Node.js), Django (Python), atau Spring Boot (Java).
Tabel 1. Spesifikasi Kebutuhan Fungsional
ID |
Kebutuhan Fungsional |
Deskripsi |
F01 |
Registrasi Pengguna |
Pengguna dapat membuat akun baru dengan memasukkan informasi seperti nama, email, dan kata sandi. |
F02 |
Login Pengguna |
Pengguna dapat masuk ke akun mereka dengan menggunakan email dan kata sandi. |
F03 |
Lihat Daftar Produk |
Pengguna dapat melihat daftar produk yang tersedia lengkap dengan gambar, deskripsi, dan harga. |
F04 |
Tambah Produk ke Keranjang |
Pengguna dapat menambahkan produk ke keranjang belanja mereka. |
F05 |
Lihat Keranjang Belanja |
Pengguna dapat melihat produk yang telah mereka tambahkan ke keranjang belanja. |
F06 |
Ubah Jumlah Produk di Keranjang |
Pengguna dapat mengubah jumlah produk yang ada di keranjang belanja mereka. |
F07 |
Hapus Produk dari Keranjang |
Pengguna dapat menghapus produk dari keranjang belanja mereka. |
F08 |
Checkout |
Pengguna dapat melanjutkan proses checkout untuk menyelesaikan pembelian mereka. |
F09 |
Pembayaran |
Pengguna dapat melakukan pembayaran melalui berbagai metode pembayaran yang tersedia. |
F10 |
Lihat Status Pesanan |
Pengguna dapat melihat status pesanan mereka (Diterima, Diproses, Siap diambil). |
F11 |
Lihat Riwayat Pesanan |
Pengguna dapat melihat riwayat pesanan mereka yang telah selesai. |
F12 |
Batalkan Pesanan |
Pengguna dapat membatalkan pesanan mereka sebelum pesanan diproses. |
F13 |
Lihat Peta Lokasi Starbucks |
Pengguna dapat melihat peta interaktif yang menampilkan lokasi Starbucks terdekat. |
F14 |
Lihat Detail Akun Pengguna |
Pengguna dapat melihat dan mengedit informasi akun mereka seperti nama, email, dan poin loyalitas. |
F15 |
Tulis Ulasan Produk |
Pengguna dapat menulis ulasan dan memberikan rating untuk produk yang mereka beli. |
F16 |
Lihat Ulasan Produk |
Pengguna dapat melihat ulasan dari produk yang tersedia di aplikasi. |
F17 |
Logout |
Pengguna dapat keluar dari akun mereka. |
Tabel 2. Kebutuhan Non-Fungsional
ID |
Kebutuhan Non-Fungsional |
Deskripsi |
NF01 |
Performa Aplikasi |
Aplikasi harus responsif dengan waktu pemuatan halaman tidak lebih dari 2 detik. |
NF02 |
Keamanan Data |
Semua data pengguna harus dienkripsi menggunakan protokol HTTPS. |
NF03 |
Skalabilitas |
Sistem harus dapat menangani peningkatan jumlah pengguna dan pesanan tanpa degradasi kinerja. |
NF04 |
Kompatibilitas |
Aplikasi harus kompatibel dengan versi terbaru dan satu versi sebelumnya dari iOS dan Android. |
NF05 |
Ketersediaan |
Aplikasi harus tersedia 99.9% dari waktu operasi. |
NF06 |
Pemulihan Kesalahan |
Aplikasi harus memiliki mekanisme untuk memulihkan data dalam kasus kegagalan sistem. |
NF07 |
Kemudahan Penggunaan |
Aplikasi harus memiliki antarmuka yang intuitif dan mudah digunakan oleh pengguna. |
NF08 |
Dukungan Pelanggan |
Sistem harus menyediakan dukungan pelanggan 24/7 melalui chat atau email. |
NF09 |
Pemeliharaan Sistem |
Aplikasi harus mudah untuk diperbarui dan dipelihara oleh tim pengembang. |
NF10 |
Pengujian |
Aplikasi harus melalui pengujian menyeluruh termasuk pengujian fungsional, kinerja, dan keamanan. |
NF11 |
Integritas Data |
Sistem harus memastikan integritas data selama transaksi multi-pengguna. |
NF12 |
Ketahanan Terhadap Beban |
Sistem harus dirancang untuk menahan beban puncak selama acara promosi besar atau hari libur. |
Contoh Use Case Diagram
Use Case adalah teknik yang digunakan dalam pengembangan perangkat lunak atau desain sistem informasi untuk menangkap kebutuhan fungsional dari sistem tersebut. Ini menggambarkan interaksi antara "aktor", yang memulai interaksi dengan sistem. Setiap Use Case direpresentasikan dengan urutan langkah yang sederhana. Pada sistem yang sedang dikembangkan, Use Case dapat diamati pada Gambar
Gambar 1 Use Case Diagram
Contoh Tabel Skenario
Tabel 3. Tabel Skenario Use Case Login
Aksi Aktor |
Reaksi Sistem |
Skenario Normal |
|
1. User membuka halaman login |
|
2. Sistem menampilkan form login dengan field email dan password. |
|
3. User memasukkan email dan password |
|
4. User menekan tombol "Login" |
|
5. Sistem memvalidasi kredensial pengguna. |
|
6. Sistem memverifikasi keberadaan akun pengguna. |
|
7. Sistem mengizinkan akses ke fitur-fitur aplikasi setelah login berhasil. |
|
|
8. Sistem menampilkan halaman utama aplikasi. |
Skenario Alternatif |
|
1. User memasukkan email atau password yang salah |
|
|
2. Sistem menampilkan pesan kesalahan bahwa email atau password salah |
3. User belum mengaktifkan akun |
|
|
4. Sistem menampilkan pesan bahwa akun belum diaktifkan dan meminta user untuk mengaktifkan akun melalui email konfirmasi. |
5.User memencet tombol “lupa password” |
|
|
6.Sistem menampilkan halaman lupa password |
Contoh Activity Diagram
4. Contoh Desain UI
Desain Database
Tabel: USERS
Tabel: PRODUCTS
Tabel: ORDERS
Tabel: ORDER_ITEMS
Tabel: PAYMENTS
Tabel: INVENTORY
Tabel: CUSTOMER_REVIEWS
Tabel: USER_SESSIONS
Comments
Post a Comment