PPL: Pertemuan 7
Studi Kasus 1: Desain Sistem Restoran
Aplikasi Sistem Pemesanan Menu Pada Kafe Nami Kopiminasi
Nama anggota:
1. Alya Putri Salma (5025211174)
2. Danno Denis Dhaifullah (5025211027)
1. Alya Putri Salma (5025211174)
2. Danno Denis Dhaifullah (5025211027)
Perbedaan HLD dan LLD
1. Kedalaman Detail
- High Level Design (HLD): Lebih fokus pada gambaran umum dan konseptual dari sistem atau aplikasi. Ini termasuk hal-hal seperti arsitektur keseluruhan, fitur utama, dan hubungan antar komponen secara luas. HLD tidak terlalu memperhatikan detail teknis seperti implementasi spesifik atau kode.
- Low Level Design (LLD): Justru sangat memperhatikan detail teknis dan rinci dari setiap komponen, fitur, dan bagaimana mereka berinteraksi satu sama lain. LLD memberikan panduan yang sangat spesifik tentang bagaimana implementasi akan dilakukan di tingkat kode.
2. Ketergantungan Pada Implementasi
- High Level Design (HLD): Tidak terlalu tergantung pada implementasi teknis tertentu. Lebih tentang konsep, struktur, dan hubungan antar bagian dari suatu sistem atau aplikasi.
- Low Level Design (LLD): Sangat tergantung pada implementasi teknis. Ini mencakup detail seperti algoritma yang akan digunakan, struktur data yang diperlukan, dan kelas atau fungsi yang harus dibuat.
3. Audiens
- High Level Design (HLD): Ditujukan untuk pemangku kepentingan tingkat atas seperti manajer proyek, pengambil keputusan, atau klien. HLD membantu mereka memahami visi dan konsep utama dari proyek tanpa harus terjebak dalam detail teknis.
- Low Level Design (LLD): Lebih ditujukan untuk pengembang dan engineer teknis yang akan bekerja pada implementasi sistem. LLD memberikan panduan teknis yang sangat detail dan diperlukan untuk membangun aplikasi sesuai dengan spesifikasi yang telah ditetapkan.
Deskripsi singkat
Perkembangan teknologi dalam era digital telah memberikan dampak fundamental pada berbagai bidang bisnis, termasuk dalam manajemen restoran seperti Kafe Nami Kopiminasi. Dengan membangun sebuah sistem pemesanan menu, aplikasi ini memberikan solusi efektif dalam mengelola pesanan secara realtime, mencatat transaksi pelanggan, dan mengelola data keuangan dengan efisien. Melalui penerapan metode pengembangan waterfall, aplikasi ini berhasil memberikan kinerja yang cepat dan tingkat keamanan yang tinggi, meningkatkan pengalaman pengguna dan daya saing bisnis di era digital yang terus berkembang.
Persyaratan Fungsional
Berdasarkan hasil analisa yang dilakukan pada sistem pemesanan di Kafe Nami Kopiminasi, maka
dibutuhkan beberapa halaman dalam mengakses menu pemesanan. Rincian kebutuhan sistem pada
sistem yang sedang dibangun adalah sebagai berikut:
a. Kebutuhan Fungsional Pelanggan
1) Pelanggan bisa melihat daftar menu
2) Pelanggan bisa mengisi data pesanan
3) Pelanggan bisa mengirim data pesanan untuk
pembayaran
b. Kebutuhan Fungsional Admin
1) Admin bisa login kedalam sistem
2) Admin bisa mengelola data menu
3) Admin bisa mengelola data promo
4) Admin bisa mengelola data transaksi
5) Admin bisa mengelola akses user
6) Admin bisa mengelola data laporan transaksi
7) Admin bisa logout dari sistem
c. Kebutuhan Fungsional Kasir
1) Kasir bisa login kedalam sistem
2) Kasir bisa mengelola data transaksi
3) Kasir bisa mengelola data laporan transaksi
4) Kasir bisa logout dari sistem
Persyaratan Non Fungsional
Performa
1. Aplikasi harus mampu menangani puncak beban lalu lintas selama jam sibuk tanpa mengalami penurunan kinerja yang signifikan.
2. Waktu respons sistem terhadap permintaan pelanggan harus kurang dari 3 detik pada setiap aksi pengguna, seperti menambahkan pesanan ke keranjang atau mengirimkan pesanan.
Keamanan
1. Sistem harus menggunakan enkripsi data yang kuat untuk melindungi informasi sensitif seperti detail pembayaran dan informasi akun.
2. Diperlukan otentikasi dua faktor untuk akses ke fitur administratif, seperti login admin dan kasir.
Ketersediaan
1. Sistem harus memiliki waktu operasional minimum 99% setiap bulannya, kecuali dalam kasus pemeliharaan terjadwal yang harus diinformasikan kepada pengguna.
2. Kemampuan pemulihan data dan konfigurasi sistem harus cepat dan efektif dalam menghadapi kegagalan sistem.
Skalabilitas
1. Sistem harus dapat ditingkatkan dengan mudah untuk menangani pertumbuhan bisnis yang signifikan, termasuk penambahan cabang kafe dan peningkatan jumlah pengguna secara bersamaan.
2. Kemampuan sistem untuk menangani peningkatan pesanan dan transaksi harus dapat disesuaikan dengan cepat tanpa mengorbankan kinerja.
Usability (Kemudahan Penggunaan)
1. Antarmuka pengguna harus dirancang dengan baik dan mudah dipahami oleh pelanggan, admin, dan kasir.
2. Sistem harus menyediakan bantuan kontekstual dan petunjuk yang jelas untuk membantu pengguna dalam menjalankan tugas-tugasnya dengan lancar.
3. Pelatihan pengguna harus tersedia untuk staf baru dan pembaruan rutin harus diberikan untuk memastikan pemahaman yang tepat tentang fitur-fitur aplikasi.
Desain Basis Data
Desain Antarmuka Pengguna
Halaman menu login yang diakses oleh user
yaitu admin atau kasir untuk bisa masuk
kedalam sistem pemesanan.
Halaman menu yang hanya bisa diakses oleh
admin untuk mengelola pemberian akses
kepada user yang terdaftar.
Halaman menu yang hanya dapat diakses oleh
administrator untuk mengelola data makanan
dan minuman yang muncul di menu dashboard
pelanggan.
Halaman menu yang hanya bisa diakses oleh
admin untuk mengelola daftar promosi yang
akan ditampilkan pada menu dashboard
pelanggan.
Halaman daftar menu yang dapat diakses oleh
pelanggan untuk melihat daftar menu yang
ditawarkan.
Halaman daftar menu yang dapat diakses oleh
pelanggan untuk memulai proses pemesanan
makanan dan minuman dengan memilih daftar
menu dan mengisi jumlah porsi yang
diinginkan.
Halaman konfirmasi menu yang dapat diakses
oleh pelanggan untuk memastikan kembali
menu, jumlah pesanan kemudian diikuti
dengan pengisian status pesanan, nomor meja
dan nama pelanggan.
Halaman data transaksi yang dapat diakses
oleh admin maupun kasir untuk kemudian
apabila pesanan telah sesuai dan pelanggan
memberikan konfirmasi selanjutnya akan
dilakukan proses pembayaran.
Halaman menu laporan yang dapat diakses
oleh
administrator
dan kasir untuk
mendapatkan rekapitulasi transaksi dalam
jangka waktu tertentu.
Sistem pemesanan menumenggunakan teknologi yang terintegrasi dengan baik untuk memastikan kinerja dan fungsionalitas yang optimal. Pada sisi server, digunakan PHP dan HTML sebagai bahasa pemrograman utama, dengan tambahan Javascript untuk mengakses data secara realtime dari server. Selain itu, sistem dirancang menggunakan framework CodeIgniter untuk memudahkan pengembangan dan pemeliharaan. Data disimpan menggunakan MySQL..
Dengan asumsi yang telah disepakati, berikut adalah estimasi kapasitas yang lebih sedikit untuk desain sistem restoran:
Penyimpanan Data Pengguna:
2 juta pengguna x 1 KB per pengguna = 2 GB
Penyimpanan Data Restoran:
250 ribu restoran x 3 MB per restoran = 750 GB
Penyimpanan Data Pesanan:
Pesanan per hari = 10 juta pesanan (estimasi)
10 juta pesanan x 1 KB per pesanan = 10 TB per hari
Jika menyimpan pesanan selama 2 tahun:
Total penyimpanan = 10 TB per hari x 365 hari x 2 tahun = 7.3 TB
Dengan total tersebut, estimasi penyimpanan yang dibutuhkan untuk desain sistem restoran adalah:
2 GB (data pengguna) + 750 GB (data restoran) + 7.3 TB (data pesanan) = 8.05 TB
Dengan demikian, diperlukan penyimpanan sekitar 8.05 terabyte untuk menampung semua data pengguna, data restoran, dan data pesanan dalam sistem manajemen restoran yang direncanakan. Perhitungan ini memberikan gambaran yang lebih konservatif namun tetap memperhitungkan pertumbuhan dan kebutuhan kedepannya
Jadwal Pengembangan
1. Analisis Kebutuhan dan Perencanaan (3 minggu)
- Identifikasi kebutuhan sistem dan analisis kebutuhan pengguna.
- Penyusunan spesifikasi fungsional dan non-fungsional yang detail.
- Evaluasi dan analisis risiko proyek.
2. Desain dan Perancangan Sistem (4 minggu)
- Merancang arsitektur sistem dan antarmuka pengguna.
- Menetapkan teknologi dan alat yang akan digunakan.
- Pengembangan skema basis data dan integrasi dengan sistem lainnya.
3. Pengembangan Prototipe (3 minggu)
- Pembuatan prototipe sistem untuk mendapatkan umpan balik awal dari pengguna.
- Pengembangan fungsionalitas dasar aplikasi website dan backend.
4. Implementasi dan Integrasi (5 minggu)
- Implementasi backend dan pengembangan aplikasi website secara bertahap.
- Integrasi dengan layanan pihak ketiga seperti sistem pembayaran online atau integrasi dengan sistem Point of Sale (POS).
5. Pengujian dan Uji Coba (2 minggu)
- Pengujian unit, integrasi, dan uji kinerja aplikasi website.
- Uji coba internal dan pengumpulan umpan balik dari pengguna beta.
6. Penyesuaian dan Pemeliharaan (1 minggu)
- Perbaikan berdasarkan hasil uji coba dan umpan balik pengguna.
- Persiapan peluncuran dan pelatihan staf.
7. Implementasi dan Peluncuran (1 minggu)
- Persiapan final untuk peluncuran sistem.
- Pelatihan staf dan peluncuran resmi sistem website.
8. Pemeliharaan dan Dukungan (berkelanjutan)
- Dukungan teknis dan pemeliharaan rutin setelah peluncuran.
- Pembaruan perangkat lunak dan peningkatan berkelanjutan berdasarkan umpan balik pengguna.
Kesimpulan
Sistem manajemen restoran yang diusulkan menawarkan solusi yang menyeluruh dan terintegrasi untuk memenuhi kebutuhan operasional restoran. Dengan fokus pada manajemen pesanan dan pembayaran, sistem ini dirancang untuk meningkatkan efisiensi dan efektivitas operasional. Arsitektur klien/server 3 tingkat dan basis data relasional memberikan fondasi yang kokoh untuk integrasi dan pengelolaan data yang lebih baik. Fitur-fitur kegunaan yang ramah pengguna, ketersediaan tinggi, keteguhan, kemudahan pemeliharaan, dan keamanan data yang terjamin menjadikan sistem ini solusi yang tepat untuk meningkatkan kinerja dan pengelolaan restoran secara menyeluruh.
Comments
Post a Comment