PPL: EAS

Nama: Hanafi Satriyo Utomo Setiawan
NRP: 5025211195


1. Deskripsikan model bisnis yang dipilih?

layanan perhotelan yang menyediakan akomodasi semalam bagi tamu. Layanan ini mencakup berbagai tahap mulai dari reservasi hingga check-out, dengan proses yang terperinci untuk memastikan kenyamanan dan kepuasan pelanggan. Fase-fase utamanya adalah:

  • Penelitian dan Pemesanan: Pelanggan melakukan reservasi melalui situs web hotel.
  • Kedatangan: Pelanggan tiba di hotel, menyerahkan bagasi, melakukan check-in, dan menuju kamar.
  • Masa Menginap: Pelanggan menikmati fasilitas hotel seperti menonton film, menggunakan kamar mandi, memesan layanan kamar, dan makan.
  • Check-out dan Keberangkatan: Pelanggan melakukan check-out melalui TV menu dan meninggalkan hotel.

2. Identifikasi perangkat lunak apa saja yang diperlukan, kemudian jelaskan alasannya?

  • Sistem Manajemen Properti (Property Management System - PMS):

    • Alasan: PMS adalah inti dari operasional hotel. Sistem ini mengelola reservasi, check-in, check-out, alokasi kamar, dan data pelanggan. PMS juga berintegrasi dengan sistem lain seperti POS dan sistem layanan pelanggan untuk memastikan informasi konsisten di seluruh departemen.

  • Sistem Manajemen Reservasi (Reservation Management System - RMS):

    • Alasan: RMS menangani pemesanan kamar yang dilakukan melalui berbagai saluran, termasuk situs web hotel, agen perjalanan online (OTA), dan walk-in. Sistem ini memastikan ketersediaan kamar selalu terupdate dan menghindari overbooking.

3. Buatkan rancangan perangkat lunaknya ?

Kebutuhan Fungsional

  • Sistem Manajemen Properti (PMS):
    • Mengelola reservasi: Sistem harus dapat menangani pembuatan, pembaruan, dan pembatalan reservasi.
    • Check-in/check-out: Sistem harus memungkinkan proses check-in dan check-out tamu, termasuk pencetakan kunci kamar dan faktur.
    • Manajemen kamar: Sistem harus mengelola status kamar (tersedia, terisi, dibersihkan, dll.) dan alokasi kamar untuk tamu.
    • Integrasi dengan sistem lain: PMS harus terintegrasi dengan sistem POS, sistem layanan pelanggan, dan sistem manajemen bagasi.
  • Sistem Manajemen Reservasi (RMS):
    • Pemrosesan reservasi: Sistem harus memproses pemesanan kamar dari situs web, OTA, dan walk-in.
    • Pembaruan ketersediaan kamar: Sistem harus secara real-time memperbarui ketersediaan kamar untuk menghindari overbooking.
    • Notifikasi: Sistem harus memberikan notifikasi konfirmasi reservasi dan pengingat kepada tamu.
Kebutuhan Non-Fungsional
  • Kinerja:

    • Respon waktu: Sistem harus merespon permintaan dalam waktu kurang dari 2 detik untuk operasi biasa.
    • Skalabilitas: Sistem harus dapat menangani peningkatan jumlah tamu dan transaksi tanpa penurunan kinerja.
  • Keandalan:

    • Uptime: Sistem harus memiliki uptime minimal 99.9% untuk memastikan layanan selalu tersedia bagi tamu dan staf.
    • Pemulihan bencana: Sistem harus memiliki rencana pemulihan bencana yang efektif untuk memastikan kelangsungan operasional.
  • Keamanan:

    • Enkripsi data: Semua data sensitif, termasuk informasi pembayaran dan data pribadi tamu, harus dienkripsi.
    • Autentikasi: Sistem harus menggunakan metode autentikasi yang kuat untuk mengakses sistem.
  • Kemudahan Penggunaan:

    • Antarmuka pengguna: Sistem harus memiliki antarmuka pengguna yang intuitif dan mudah digunakan bagi tamu dan staf.
    • Panduan pengguna: Sistem harus menyediakan panduan pengguna dan bantuan online untuk membantu pengguna memahami fitur-fitur yang tersedia.
  • Portabilitas:

    • Kompatibilitas platform: Sistem harus kompatibel dengan berbagai perangkat dan platform, termasuk desktop, tablet, dan perangkat mobile.
    • Migrasi data: Sistem harus mendukung migrasi data dari sistem lama ke sistem baru tanpa kehilangan data.
  • Pemeliharaan:

    • Dokumentasi: Sistem harus didokumentasikan dengan baik untuk memudahkan pemeliharaan dan pengembangan di masa depan.
    • Pembaruan: Sistem harus mudah diperbarui untuk menambahkan fitur baru dan memperbaiki bug.

Use Case Diagram

Use Case Diagram

Diagram ini menunjukkan interaksi antara sistem dan pengguna yang berbeda, disebut aktor. Aktor dalam diagram ini adalah:

  • Pelanggan (Customer)
  • Admin
  • Resepsionis (Staf Front Desk)

Sistem menawarkan beberapa fungsi, yang disebut use case. Use case dalam diagram ini adalah:

  • Liat kamar (Lihat Kamar) - Use case ini memungkinkan pelanggan untuk melihat kamar yang tersedia.
  • Input data reservasi (Input Data Reservasi) - Use case ini memungkinkan pelanggan untuk memasukkan data reservasi mereka.
  • Login - Use case ini memungkinkan pelanggan dan staf untuk login ke sistem.
  • Logout - Use case ini memungkinkan pelanggan dan staf untuk keluar dari sistem.
  • Mengelola data kamar (Mengelola Data Kamar) - Use case ini memungkinkan admin untuk mengelola data kamar. Ini mungkin termasuk menambah, memperbarui, atau menghapus informasi kamar.
  • Mengelola data tamu (Mengelola Data Tamu) - Use case ini memungkinkan admin untuk mengelola data tamu. Ini mungkin termasuk menambah, memperbarui, atau menghapus informasi tamu.
  • Pembayaran (Pembayaran) - Use case ini memungkinkan pelanggan untuk melakukan pembayaran untuk reservasi mereka.
  • Laporan (Laporan) - Use case ini memungkinkan admin untuk menghasilkan laporan. Ini mungkin termasuk laporan reservasi, tamu, atau kamar.
  • Konfirmasi pemesanan (Konfirmasi Pemesanan) - Use case ini memungkinkan resepsionis untuk mengkonfirmasi reservasi.
  • Konfirmasi pembatalan (Konfirmasi Pembatalan) - Use case ini memungkinkan resepsionis untuk mengkonfirmasi pembatalan reservasi.

Activity Diagram

Activity Diagram


Mulai (Start)

  • Registrasi (Registrasi): Pelanggan memulai proses dengan mendaftarkan informasinya di sistem. Ini mungkin melibatkan pembuatan akun baru atau masuk ke akun yang sudah ada.
  • Verifikasi dan konfirmasi data (Verifikasi dan Konfirmasi Data): Sistem memverifikasi dan mengkonfirmasi data pelanggan. Ini mungkin melibatkan pengecekan alamat email atau nomor telepon mereka.

Melakukan Reservasi (Membuat Reservasi)

  • Input data kamar (Input Data Kamar): Pelanggan memasukkan preferensi kamar mereka, seperti tipe kamar, tanggal menginap, dan jumlah tamu.
  • Menampilkan menu sesuai hak akses (Menampilkan Menu Sesuai Hak Akses): Sistem menampilkan opsi kamar yang tersedia berdasarkan preferensi pelanggan dan ketersediaan kamar.
  • Lihat ketersediaan kamar (Lihat Ketersediaan Kamar): Pelanggan dapat melihat ketersediaan kamar yang berbeda untuk tanggal yang mereka pilih.
  • Update kamar (Update Kamar): Sistem memperbarui ketersediaan kamar berdasarkan pilihan pelanggan.

Konfirmasi dan Pembayaran (Konfirmasi dan Pembayaran)

  • Diterima (Disetujui): Jika ada kamar yang tersedia yang memenuhi kriteria pelanggan, sistem melanjutkan ke langkah berikutnya.
  • Ditolak (Ditolak): Jika tidak ada kamar yang tersedia yang memenuhi kriteria pelanggan, sistem menolak reservasi dan proses berakhir di sini.
  • Input informasi tambahan (Input Informasi Tambahan): Pelanggan mungkin perlu memberikan informasi tambahan, seperti detail tamu atau informasi kontak.
  • Status Kamar (Status Kamar): Sistem memeriksa status kamar untuk memastikan ketersediaannya untuk dipesan.
  • Reservasi Kamar (Reservasi Kamar): Sistem memesan kamar untuk pelanggan.
  • Input data pembayaran (Input Data Pembayaran): Pelanggan memasukkan informasi pembayaran mereka untuk membayar reservasi.
  • Data Pembayaran (Data Pembayaran): Sistem memproses data pembayaran.
  • Cetak invoice (Cetak Invoice): Sistem membuat invoice untuk reservasi pelanggan.

Akhir (End)

  • Input laporan pemesanan (Input Laporan Reservasi): Sistem mungkin meminta pelanggan untuk memasukkan umpan balik atau ulasan tentang pengalaman reservasi mereka. (Langkah ini mungkin opsional).
  • Log out (Keluar): Pelanggan keluar dari sistem.
  • End (Selesai): Proses reservasi selesai.

Sequence Diagram

Sequence Diagram



Pelanggan:
  • Membuka halaman home (Membuka halaman beranda): Pelanggan memulai dengan membuka halaman beranda sistem reservasi online.
  • Membuka halaman kamar (Membuka halaman kamar): Dari halaman beranda, pelanggan menavigasi ke halaman kamar untuk menelusuri kamar yang tersedia.
  • Memilih kamar (Memilih kamar): Pelanggan memilih kamar yang ingin dipesan berdasarkan preferensinya, seperti jenis kamar, harga, dan fasilitas.
  • Memasukkan reservasi data (Memasukkan data reservasi): Pelanggan mengisi formulir reservasi, memberikan informasi pribadi mereka, tanggal check-in dan check-out, dan permintaan tambahan lainnya.
  • Menyimpan reservasi data (Menyimpan data reservasi): Pelanggan mengirimkan formulir reservasi, dan sistem memproses data.

Sistem Reservasi:
  • Memeriksa ketersediaan kamar (Memeriksa ketersediaan kamar): Setelah menerima permintaan reservasi, sistem memeriksa ketersediaan kamar yang dipilih untuk tanggal yang ditentukan.
  • Menampilkan pesan konfirmasi/penolakan (Menampilkan pesan konfirmasi/penolakan): Jika kamar tersedia, sistem akan menampilkan pesan konfirmasi dan melanjutkan ke langkah pembayaran. Jika tidak, ini akan menampilkan pesan penolakan dan proses berakhir.
  • menyimpan reservasi data (Menyimpan data reservasi): Jika reservasi dikonfirmasi, sistem menyimpan rincian reservasi di database-nya.
  • Mengirim email konfirmasi ke pelanggan (Mengirim email konfirmasi ke pelanggan): Sistem membuat dan mengirimkan email konfirmasi ke pelanggan, merangkum rincian reservasi.

Staf hotel:
  • Memverifikasi reservasi (Memverifikasi reservasi): Staf hotel memeriksa sistem reservasi untuk memverifikasi reservasi pelanggan dan mempersiapkan kedatangan mereka.
  • Mengirim email pengingat check-in ke pelanggan (Kirim email pengingat check-in ke pelanggan): Beberapa hari sebelum tanggal check-in pelanggan, sistem mengirimkan email pengingat ke pelanggan.
  • Menerima pembayaran (Menerima pembayaran): Setelah pelanggan tiba, staf hotel memproses pembayaran dan menangani prosedur check-in.
  • Mengelola layanan tamu (Mengelola layanan tamu): Selama tamu menginap, staf hotel memberikan bantuan dan layanan sesuai kebutuhan.
  • Menerima check-out (Menerima check-out): Setelah pelanggan berangkat, staf hotel menangani proses check-out dan memperbarui status reservasi di sistem.
Estimasi Kapasitas Perancangan Sistem
  • Database
    • Informasi tamu: 20 KB per tamu
    • Reservasi: 5 KB per reservasi
    • Transaksi POS: 10 KB per transaksi
    • Permintaan layanan pelanggan: 2 KB per permintaan
    • Konten hiburan: 1 GB per konten (total 500 konten)
  • Estimasi Penyimpanan
    • Informasi tamu: 160 tamu * 20 KB = 3,2 MB per hari
    • Reservasi: 50 reservasi * 5 KB = 0,25 MB per hari
    • Transaksi POS: 300 transaksi * 10 KB = 3 MB per hari
    • Permintaan layanan pelanggan: 100 permintaan * 2 KB = 0,2 MB per hari
    • Konten hiburan: 500 konten * 1 GB = 500 GB (tetap)
  • Total Penyimpanan per Tahun (365 hari)
    • Informasi tamu: 3,2 MB * 365 = 1,17 GB
    • Reservasi: 0,25 MB * 365 = 91,25 MB
    • Transaksi POS: 3 MB * 365 = 1,1 GB
    • Permintaan layanan pelanggan: 0,2 MB * 365 = 73 MB
    • Total Penyimpanan Tahunan: 1,17 GB + 91,25 MB + 1,1 GB + 73 MB = 2,44 GB + 500 GB (konten hiburan)

API Endpoints

  • Reservation Management System:

    • POST /reservations - Create a new reservation
    • GET /reservations/{id} - Retrieve reservation details
    • PUT /reservations/{id} - Update reservation details
    • DELETE /reservations/{id} - Cancel reservation
  • Property Management System:

    • POST /checkin - Check-in a customer
    • POST /checkout - Check-out a customer
    • GET /rooms/{id} - Retrieve room details

4. Lengkapi dengan desain database dan desain UI

Class Diagram


  • Pelanggan (Customer) - Kelas ini mewakili pelanggan yang dapat melakukan reservasi di hotel. Ini memiliki atribut seperti:

    • nama lengkap (full name)
    • alamat (address)
    • jenis kelamin (gender) (kemungkinan)
    • no telepon (phone number)
    • ommall (kemungkinan pengenal sistem internal)
    • username
    • password
  • Reservasi (Reservation) - Kelas ini mewakili reservasi yang dibuat oleh pelanggan. Ini memiliki atribut seperti:

    • id reservasi (reservation ID)
    • id tamu (guest ID) (kemungkinan foreign key yang mereferensikan kelas Pelanggan)
    • al_reservasi (catatan/informasi reservasi)
    • chekin (tanggal check-in) (kemungkinan)
    • checkout (tanggal check-out) (kemungkinan)
    • transfer ke bank (metode pembayaran)
    • transfer dan bank (kemungkinan detail transfer dan bank)
    • no rekening (nomor rekening bank) (kemungkinan)
    • atas nama (nama pemilik rekening) (kemungkinan)
    • wang muks (uang muka) (kemungkinan)
  • Pembayaran (Payment) - Kelas ini mewakili pembayaran yang dilakukan oleh pelanggan. Ini memiliki atribut seperti:

    • id pembayaran (payment ID) (kemungkinan)
    • kid booking (ID booking) (kemungkinan foreign key yang mereferensikan kelas Reservasi)
    • jumlah bayar (total jumlah pembayaran)
  • Kamar (Room) - Kelas ini mewakili kamar di hotel. Ini memiliki atribut seperti:

    • jenis kamar (room type)
    • kapasitas kamar (kapasitas kamar) (kemungkinan)
    • harga kamar (room price) (kemungkinan)
    • dtamu (detail tamu yang menempati kamar) (kemungkinan)
  • Check In Out - Kelas ini kemungkinan mewakili proses check-in/check-out. Ini memiliki atribut seperti:

    • kd checkin out (ID check-out) (kemungkinan)
    • id karmar (ID kamar) (kemungkinan foreign key yang mereferensikan kelas Kamar)
    • id tamu (ID tamu) (kemungkinan foreign key yang mereferensikan kelas Pelanggan)
    • dtamu (detail tamu yang check in/out) (kemungkinan)
    • tor checkin (waktu check-in) (kemungkinan)
    • jam checkout (waktu check-out) (kemungkinan)
    • status pembayaran (status pembayaran)
  • Admin - Kelas ini mewakili pengguna admin dari sistem. Kemungkinan memiliki atribut seperti:

    • id admin (ID admin)
    • username
    • password

Hubungan antar kelas:

  • Pelanggan (Customer) dapat melakukan banyak Reservasi (Reservation) (one-to-many).
  • Reservasi (Reservation) dibuat oleh satu Pelanggan (Customer) (many-to-one).
  • Reservasi (Reservation) memiliki satu Pembayaran (Payment) (one-to-one).
  • Pembayaran (Payment) milik satu Reservasi (Reservation) (many-to-one).
  • Kamar (Room) dapat dimasukkan ke dalam banyak Reservasi (Reservation) (one-to-many).
  • Reservasi (Reservation) dapat mencakup satu Kamar (Room) (many-to-one).
  • Check In Out kemungkinan terkait dengan Kamar (Room) dan Pelanggan (Customer) (many-to-many). Ini mungkin juga terkait dengan Reservasi (Reservation).

Desain UI Aplikasi

Tamplian Registrasi

Tampilan Menu Kamar

Tampilan Dashboard


5. Buat Presentasi dan demo hasil rancangan Perangkat Lunak, kemudian upload di Youtube, dan isi lembar monitoring?




Comments

Popular posts from this blog

PPL : Pertemuan 2

PPL : Pertemuan 7

Final Project : Pemrograman Berbasis Kerangka Kerja A