EAS PPL
1. Deskripsikan model bisnis yang dipilih?
- Proses dimulai dari permintaan pemesanan kamar.
- Sistem akan memeriksa status ketersediaan kamar.
- Jika kamar sesuai, proses akan dilanjutkan ke tahap "Make Booking".
- Jika tidak, akan masuk ke tahap "Menunggu Event".
- Jika kamar tersedia, maka pemesanan dilakukan.
- Setelah pemesanan dilakukan, sistem akan mengkonfirmasi pemesanan kepada pelanggan.
- Jika kamar tidak tersedia, sistem akan menunggu hingga ada perubahan status atau event tertentu.
- Jika ada perubahan dalam permintaan pemesanan, maka sistem akan melakukan perubahan pada booking yang telah ada.
- Setelah pemesanan dikonfirmasi dan pada saat tamu datang, mereka akan melakukan check-in.
- Jika terjadi pembatalan pemesanan, maka proses akan menuju ke tahap ini.
- Sistem kemudian akan memberitahu bagian pembayaran untuk mengurus pembayaran yang telah dilakukan (Notify Payment).
2. Identifikasi perangkat lunak apa saja yang diperlukan, kemudian jelaskan alasannya?
- Perangkat Lunak : Sistem Pemesanan Online
- Alasan : Memungkinkan pelanggan untuk melakukan reservasi kamar secara online.
- Perangkat Lunak : Sistem Manajemen Properti (PMS)
- Alasan : Mengelola informasi pelanggan, memproses pendaftaran, dan mengatur check-in/check-out.
- Perangkat Lunak : Sistem Kunci Elektronik
- Alasan : Memungkinkan tamu untuk mengakses kamar mereka dengan kunci elektronik.
- Perangkat Lunak : Sistem Layanan Kamar
- Alasan : Memungkinkan tamu untuk memesan makanan dan minuman dari kamar mereka.
- Perangkat Lunak : Sistem Manajemen Fasilitas
- Alasan : Mengelola fasilitas hotel seperti spa, gym, dan layanan lainnya.
3. Buatkan rancangan perangkat lunaknya ?
Kebutuhan Fungsional
Sistem reservasi hotel yang baik harus memiliki beberapa kebutuhan fungsional, antara lain :
- Manajemen Kamar:
- Menampilkan ketersediaan kamar secara real-time.
- Memungkinkan tamu untuk mencari dan memesan kamar berdasarkan tanggal, tipe kamar, harga, dan fasilitas.
- Memproses check-in dan check-out tamu.
- Mengelola perubahan reservasi dan pembatalan.
- Manajemen Tamu:
- Menyimpan informasi tamu, seperti nama, alamat, dan kontak.
- Merekam riwayat reservasi tamu.
- Memberikan penawaran khusus dan program loyalitas kepada tamu.
- Pembayaran:
- Mendukung berbagai metode pembayaran, seperti kartu kredit, transfer bank, dan dompet digital.
- Memproses pembayaran secara aman dan terpercaya.
- Mengirimkan konfirmasi pembayaran kepada tamu.
- Laporan:
- Menghasilkan laporan tentang tingkat okupansi, pendapatan, dan tren reservasi.
- Membantu hotel dalam mengambil keputusan bisnis yang tepat.
Kebutuhan Non-Fungsional
Selain kebutuhan fungsional, sistem reservasi hotel juga harus memenuhi beberapa kebutuhan non-fungsional, antara lain:
- Keamanan:
- Melindungi data tamu dari akses yang tidak sah.
- Mencegah penipuan dan transaksi yang tidak sah.
- Menjaga kerahasiaan informasi tamu.
- Ketersediaan:
- Sistem harus selalu tersedia untuk digunakan oleh tamu.
- Minimalkan downtime dan memaksimalkan uptime.
- Memiliki mekanisme pemulihan bencana untuk mengatasi kegagalan sistem.
- Skalabilitas:
- Sistem harus mampu menangani peningkatan jumlah pengguna dan reservasi.
- Dapat diubahsuai untuk memenuhi kebutuhan hotel yang berkembang.
- Mampu mengintegrasikan dengan sistem lain, seperti sistem manajemen properti (PMS).
- Kegunaan:
- Sistem harus mudah digunakan oleh tamu dan staf hotel.
- Memiliki antarmuka yang intuitif dan user-friendly.
- Menyediakan panduan dan bantuan pengguna yang mudah diakses.
- Performa:
- Sistem harus responsif dan cepat.
- Memproses data dengan cepat dan efisien.
- Memberikan pengalaman pengguna yang memuaskan.
Use Case Diagram
Use Case Diagram untuk sistem reservasi hotel dengan empat aktor (Customer, Admin, Manager, dan Resepsionis) menggambarkan interaksi antara pengguna dan sistem. Berikut adalah penjelasannya :
Aktor:
- Customer: Tamu yang ingin memesan kamar hotel.
- Admin: Orang yang memiliki akses penuh ke sistem dan dapat mengelola semua aspek sistem, termasuk menambahkan kamar, mengubah harga, dan melihat laporan.
- Manager: Orang yang memiliki akses untuk mengelola sistem dan staf, seperti melihat laporan, mengubah pengaturan, dan menambahkan/menghapus staf.
- Resepsionis: Orang yang bekerja di hotel dan bertanggung jawab untuk check-in dan check-out tamu, serta mengelola reservasi.
Use Case:
- Mencari Kamar (Customer): Customer dapat mencari kamar hotel berdasarkan tanggal, tipe kamar, harga, dan fasilitas.
- Membuat Reservasi (Customer): Customer dapat membuat reservasi baru dengan memasukkan informasi tamu, tanggal check-in/check-out, tipe kamar, dan metode pembayaran.
- Melihat Detail Reservasi (Customer): Customer dapat melihat detail reservasi mereka, termasuk informasi tamu, tanggal check-in/check-out, tipe kamar, harga total, dan status reservasi.
- Mengubah Reservasi (Customer): Customer dapat mengubah reservasi mereka, seperti mengubah tanggal check-in/check-out atau tipe kamar.
- Membatalkan Reservasi (Customer): Customer dapat membatalkan reservasi mereka.
- Check-in (Customer): Customer dapat check-in ke hotel dengan menunjukkan reservasi mereka dan kartu identitas.
- Check-out (Customer): Customer dapat check-out dari hotel dan menyelesaikan pembayaran.
- Mengelola Kamar (Admin, Manager): Admin dan Manager dapat menambahkan kamar baru, mengubah harga kamar, dan melihat ketersediaan kamar.
- Mengelola Reservasi (Admin, Manager, Resepsionis): Admin, Manager, dan Resepsionis dapat melihat semua reservasi, mengubah detail reservasi, dan membatalkan reservasi.
- Menghasilkan Laporan (Admin, Manager): Admin dan Manager dapat menghasilkan laporan tentang tingkat okupansi, pendapatan, dan tren reservasi.
- Mengelola Staf (Admin, Manager): Admin dan Manager dapat menambahkan/menghapus staf, mengubah pengaturan staf, dan melihat laporan kinerja staf.
Hubungan:
- Customer dapat berinteraksi dengan sistem untuk mencari kamar, membuat reservasi, melihat detail reservasi,mengubah reservasi, membatalkan reservasi, check-in, dan check-out.
- Resepsionis dapat berinteraksi dengan sistem untuk check-in dan check-out tamu, serta mengelola reservasi.
- Admin dan Manager memiliki akses penuh ke sistem dan dapat mengelola semua aspek sistem, termasuk kamar,reservasi, staf, dan laporan.
Activity Diagram
Acivity Diagram Customers
Berdasarkan gambar yang Anda berikan, sistem informasi reservasi hotel dan penginapan online berbasis web dapat dijelaskan secara singkat sebagai berikut:
Alur Sistem
- Pengguna (Tamu)
- Login: Pengguna dapat login ke sistem menggunakan akun yang telah terdaftar sebelumnya.
- Tidak Login: Pengguna yang belum terdaftar dapat melihat informasi hotel dan kamar tanpa melakukan login.
- Pengguna Terdaftar
- Lihat Home: Pengguna dapat melihat informasi umum tentang hotel, seperti lokasi, fasilitas, dan kebijakan.
- Lihat Kamar dan Tarif: Pengguna dapat melihat daftar kamar yang tersedia, beserta foto, deskripsi, dan tarif kamar.
- Input Pemesanan: Pengguna dapat melakukan pemesanan kamar dengan memilih tanggal check-in dan check-out, jumlah tamu, dan jenis kamar.
- Cetak Bukti Pembayaran: Pengguna dapat mencetak bukti pembayaran pemesanan kamar.
- Batalkan Pemesanan: Pengguna dapat membatalkan pemesanan kamar sebelum tanggal check-in.
- Pengguna Tidak Terdaftar
- Lihat Home: Pengguna dapat melihat informasi umum tentang hotel, seperti lokasi, fasilitas, dan kebijakan.
- Lihat Kamar dan Tarif: Pengguna dapat melihat daftar kamar yang tersedia, beserta foto, deskripsi, dan tarif kamar.
- Logout: Pengguna dapat logout dari sistem.
Aktor Sistem
- Pengguna (Tamu): Pihak yang ingin melakukan reservasi kamar hotel.
- Admin: Pihak yang bertugas mengelola sistem, seperti menambahkan kamar, mengubah tarif kamar, dan memproses pemesanan.
Proses Bisnis
- Proses Reservasi:
- Pengguna memilih tanggal check-in dan check-out, jumlah tamu, dan jenis kamar.
- Sistem menampilkan daftar kamar yang tersedia sesuai dengan pilihan pengguna.
- Pengguna memilih kamar yang ingin dipesan.
- Pengguna mengisi data diri dan informasi pembayaran.
- Sistem memproses pemesanan kamar.
- Pengguna menerima bukti pembayaran pemesanan kamar.
- Proses Pembatalan Pemesanan:
- Pengguna memilih pemesanan kamar yang ingin dibatalkan.
- Sistem memproses pembatalan pemesanan kamar.
- Pengguna menerima pemberitahuan pembatalan pemesanan kamar.
Manfaat Sistem
- Bagi Pengguna:
- Mempermudah proses reservasi kamar hotel.
- Memberikan informasi yang lengkap tentang hotel dan kamar.
- Memungkinkan pengguna untuk membatalkan pemesanan kamar dengan mudah.
- Bagi Hotel:
- Meningkatkan efisiensi proses reservasi kamar.
- Memperluas jangkauan pemasaran hotel.
- Meningkatkan pendapatan hotel.
Teknologi yang Digunakan
- Bahasa Pemrograman: PHP, JavaScript
- Framework: Laravel
- Database: MySQL
- Server Web: Apache
- Sistem Operasi: CentOS
Berdasarkan gambar yang Anda berikan, sistem informasi reservasi hotel dan penginapan online berbasis web dapat dijelaskan secara singkat sebagai berikut:
Alur Sistem
- Pengguna (Tamu)
- Login: Pengguna dapat login ke sistem menggunakan akun yang telah terdaftar sebelumnya.
- Tidak Login: Pengguna yang belum terdaftar dapat melihat informasi hotel dan kamar tanpa melakukan login.
- Pengguna Terdaftar
- Lihat Home: Pengguna dapat melihat informasi umum tentang hotel, seperti lokasi, fasilitas, dan kebijakan.
- Lihat Kamar dan Tarif: Pengguna dapat melihat daftar kamar yang tersedia, beserta foto, deskripsi, dan tarif kamar.
- Input Pemesanan: Pengguna dapat melakukan pemesanan kamar dengan memilih tanggal check-in dan check-out, jumlah tamu, dan jenis kamar.
- Cetak Bukti Pembayaran: Pengguna dapat mencetak bukti pembayaran pemesanan kamar.
- Batalkan Pemesanan: Pengguna dapat membatalkan pemesanan kamar sebelum tanggal check-in.
- Pengguna Tidak Terdaftar
- Lihat Home: Pengguna dapat melihat informasi umum tentang hotel, seperti lokasi, fasilitas, dan kebijakan.
- Lihat Kamar dan Tarif: Pengguna dapat melihat daftar kamar yang tersedia, beserta foto, deskripsi, dan tarif kamar.
- Logout: Pengguna dapat logout dari sistem.
Aktor Sistem
- Pengguna (Tamu): Pihak yang ingin melakukan reservasi kamar hotel.
- Admin: Pihak yang bertugas mengelola sistem, seperti menambahkan kamar, mengubah tarif kamar, dan memproses pemesanan.
Proses Bisnis
- Proses Reservasi:
- Pengguna memilih tanggal check-in dan check-out, jumlah tamu, dan jenis kamar.
- Sistem menampilkan daftar kamar yang tersedia sesuai dengan pilihan pengguna.
- Pengguna memilih kamar yang ingin dipesan.
- Pengguna mengisi data diri dan informasi pembayaran.
- Sistem memproses pemesanan kamar.
- Pengguna menerima bukti pembayaran pemesanan kamar.
- Proses Pembatalan Pemesanan:
- Pengguna memilih pemesanan kamar yang ingin dibatalkan.
- Sistem memproses pembatalan pemesanan kamar.
- Pengguna menerima pemberitahuan pembatalan pemesanan kamar.
Manfaat Sistem
- Bagi Pengguna:
- Mempermudah proses reservasi kamar hotel.
- Memberikan informasi yang lengkap tentang hotel dan kamar.
- Memungkinkan pengguna untuk membatalkan pemesanan kamar dengan mudah.
- Bagi Hotel:
- Meningkatkan efisiensi proses reservasi kamar.
- Memperluas jangkauan pemasaran hotel.
- Meningkatkan pendapatan hotel.
Teknologi yang Digunakan
- Bahasa Pemrograman: PHP, JavaScript
- Framework: Laravel
- Database: MySQL
- Server Web: Apache
- Sistem Operasi: CentOS
Sequence Diagram
Class Diagram
API Endpoints
Berikut adalah revisi daftar tersebut dengan metode HTTP yang sesuai:
Manajemen Kamar
- Mencari Kamar (GET):
/search
- Mencari kamar berdasarkan tanggal, tipe kamar, harga, fasilitas, dan lokasi.- Parameter:
check_in_date
: Tanggal check-in (format YYYY-MM-DD).check_out_date
: Tanggal check-out (format YYYY-MM-DD).room_type
: Tipe kamar (misalnya, single, double, family).price_range
: Kisaran harga (misalnya, 100000-200000).facilities
: Fasilitas yang diinginkan (misalnya, wifi, AC, kolam renang).location
: Lokasi hotel (misalnya, kota, negara).
- Respons:
- Daftar kamar yang tersedia, termasuk detail seperti nama kamar, deskripsi, foto, harga, dan ketersediaan.
- Membuat Reservasi (POST):
/reservations
- Membuat reservasi baru.- Parameter (dikirim dalam format body):
check_in_date
: Tanggal check-in (format YYYY-MM-DD).check_out_date
: Tanggal check-out (format YYYY-MM-DD).room_type
: Tipe kamar (misalnya, single, double, family).guest_name
: Nama tamu.guest_email
: Email tamu.guest_phone
: Nomor telepon tamu.payment_method
: Metode pembayaran (misalnya, kartu kredit, transfer bank).payment_details
: Detail pembayaran (misalnya, nomor kartu kredit, jumlah pembayaran).
- Respons:
- Konfirmasi reservasi, termasuk detail seperti nomor reservasi, nama tamu, tanggal check-in/check-out, tipe kamar, harga total, dan metode pembayaran.
- Melihat Detail Reservasi (GET):
/reservations/{reservation_id}
- Melihat detail reservasi berdasarkan ID reservasi.- Parameter:
reservation_id
: ID reservasi.
- Respons:
- Detail reservasi, termasuk informasi tamu, tanggal check-in/check-out, tipe kamar, harga total,metode pembayaran, dan status reservasi.
- Mengubah Reservasi (PUT):
/reservations/{reservation_id}
- Mengubah reservasi berdasarkan ID reservasi.- Parameter (dikirim dalam format body):
reservation_id
: ID reservasi.check_in_date
: Tanggal check-in baru (format YYYY-MM-DD, opsional).check_out_date
: Tanggal check-out baru (format YYYY-MM-DD, opsional).room_type
: Tipe kamar baru (misalnya, single, double, family, opsional).
- Respons:
- Konfirmasi perubahan reservasi, termasuk detail seperti tanggal check-in/check-out baru, tipe kamar baru, dan harga total baru.
- Membatalkan Reservasi (DELETE):
/reservations/{reservation_id}
- Membatalkan reservasi berdasarkan ID reservasi.- Parameter:
reservation_id
: ID reservasi.
- Respons:
- Konfirmasi pembatalan reservasi.
Manajemen Tamu
- Menambahkan Tamu Baru (POST):
/guests
- Menambahkan tamu baru ke sistem.- Parameter (dikirim dalam format body):
guest_name
: Nama tamu.guest_email
: Email tamu.guest_phone
: Nomor telepon tamu.address
: Alamat tamu.
- Respons:
- ID tamu baru.
- Melihat Detail Tamu (GET):
/guests/{guest_id}
- Melihat detail tamu berdasarkan ID tamu.- Parameter:
guest_id
: ID tamu.
- Respons:
- Detail tamu, termasuk nama, email, nomor telepon, dan alamat.
- Mengubah Detail Tamu (PUT):
/guests/{guest_id}
- Mengubah detail tamu berdasarkan ID tamu.- Parameter (dikirim dalam format body):
guest_id
: ID tamu.guest_name
: Nama tamu baru (opsional).- `guest
- Jumlah pengguna harian (Daily Active Users - DAU)
- Jumlah reservasi per pengguna per hari
- Jumlah halaman atau permintaan API yang diperlukan untuk melakukan satu reservasi
- DAU: 10.000 pengguna
- Jumlah reservasi per pengguna per hari: 2
- Jumlah permintaan API per reservasi: 5 (misalnya, pencarian hotel, memilih kamar, memasukkan detail, konfirmasi pembayaran, dll.)
- Ukuran data pengguna: 1 KB per pengguna
- Ukuran data reservasi: 2 KB per reservasi
- Jumlah pengguna: 100.000
- Jumlah reservasi per tahun: 1.000.000
- Ukuran rata-rata respons API: 5 KB
- Total permintaan API per hari: 100.000
- Total permintaan API per bulan: 100.000 * 30 = 3.000.000
- Lalu Lintas : 100.000 permintaan API per hari
- Penyimpanan : 2.1 GB (untuk pengguna dan reservasi)
- Bandwidth : 15 GB per bulan
- `id_tamu`: ID unik untuk pelanggan (Primary Key)
- `nama_lengkap`: Nama lengkap pelanggan
- `alamat`: Alamat pelanggan
- `jenis_kelamin`: Jenis kelamin pelanggan
- `notelepon`: Nomor telepon pelanggan
- `email`: Email pelanggan
- `username`: Username pelanggan
- `password`: Password pelanggan
- Terhubung ke tabel `reservasi` melalui `id_tamu`
- Terhubung ke tabel `check_in_out` melalui `id_tamu`
- Terhubung ke tabel `pembayaran` melalui `id_customer`
- `kd_reservasi`: Kode unik untuk reservasi (Primary Key)
- `id_tamu`: ID tamu (Foreign Key dari tabel `customer`)
- `tgl_checkin`: Tanggal check-in
- `tgl_checkout`: Tanggal check-out
- `tgl_reservasi`: Tanggal reservasi
- `id_kamar`: ID kamar (Foreign Key dari tabel `kamar`)
- `jumlah_kamar`: Jumlah kamar yang dipesan
- `uang_muka`: Uang muka yang dibayarkan
- `harga_kamar`: Harga per kamar
- `total_bayar`: Total pembayaran
- Terhubung ke tabel `pembayaran` melalui `kd_reservasi`
- Terhubung ke tabel `kamar` melalui `id_kamar`
- `kd_checkin_out`: Kode unik untuk check-in/out (Primary Key)
- `id_kamar`: ID kamar (Foreign Key dari tabel `kamar`)
- `id_tamu`: ID tamu (Foreign Key dari tabel `customer`)
- `tgl_checkin`: Tanggal check-in
- `jam_checkin`: Jam check-in
- `tgl_checkout`: Tanggal check-out
- `jam_checkout`: Jam check-out
- `status_pembayaran`: Status pembayaran
- `uang_muka`: Uang muka yang dibayarkan
- `denda`: Denda (jika ada)
- `status_checkin_out`: Status check-in/out
- `kd_pembayaran`: Kode unik untuk pembayaran (Primary Key)
- `kd_reservasi`: Kode reservasi (Foreign Key dari tabel `reservasi`)
- `id_customer`: ID customer (Foreign Key dari tabel `customer`)
- `transfer_ke_bank`: Bank tujuan transfer
- `transfer_dari_bank`: Bank asal transfer
- `no_rekening`: Nomor rekening
- `atas_nama`: Atas nama rekening
- `waktu_pembayaran`: Waktu pembayaran
- `tgl_pembayaran`: Tanggal pembayaran
- `jumlah_bayar`: Jumlah yang dibayarkan
- `status`: Status pembayaran
- `id_admin`: ID admin yang mengelola pembayaran (Foreign Key dari tabel `admin`)
- `id_kamar`: ID unik untuk kamar (Primary Key)
- `jenis_kamar`: Jenis kamar
- `jumlah_kamar`: Jumlah kamar
- `harga_kamar`: Harga kamar
- `id_admin`: ID unik untuk admin (Primary Key)
- `nama_admin`: Nama admin
- `no_telepon`: Nomor telepon admin
- `username`: Username admin
- `password`: Password admin
5. Buat Presentasi dan demo hasil rancangan Perangkat Lunak, kemudian upload di Youtube, dan isi lembar monitoring?
Komentar
Posting Komentar