Sistem Pemesanan Tiket Bioskop

Cerita:

Raka adalah seorang manajer di sebuah bioskop. Ia ingin membuat aplikasi pemesanan tiket bioskop secara online agar pengunjung tidak perlu antre di loket. Aplikasi ini juga memudahkan manajemen untuk mencatat penjualan tiket dan mengatur jadwal film yang tayang.

Raka meminta agar sistem ini memungkinkan pengguna untuk memilih film, jadwal tayang, kursi yang tersedia, dan memesan tiket langsung melalui sistem.


User Story:

  1. Sebagai Raka, saya ingin dapat login ke aplikasi untuk mengelola data film, jadwal tayang, dan tiket yang terjual.

  2. Sebagai pengunjung, saya ingin dapat melihat daftar film yang sedang tayang, sehingga saya tahu apa saja pilihan yang tersedia.

  3. Sebagai pengunjung, saya ingin dapat memesan tiket, termasuk memilih jadwal tayang dan kursi yang tersedia.

  4. Sebagai Raka, saya ingin dapat melihat laporan penjualan tiket harian, sehingga saya tahu total pendapatan setiap hari.


Skema Database (Maksimal 4 Tabel):

  1. Tabel users

    • id_user (Primary Key, INT)

    • username (VARCHAR, UNIQUE)

    • password (VARCHAR)

    • role (ENUM: "Admin")

  2. Tabel film

    • id_film (Primary Key, INT)

    • judul (VARCHAR)

    • deskripsi (TEXT)

    • durasi (INT, dalam menit)

    • rating (VARCHAR)

  3. Tabel jadwal

    • id_jadwal (Primary Key, INT)

    • id_film (Foreign Key, INT, mengacu pada film.id_film)

    • tanggal (DATE)

    • jam (TIME)

    • harga_tiket (DECIMAL)

  4. Tabel pemesanan

    • id_pemesanan (Primary Key, INT)

    • id_jadwal (Foreign Key, INT, mengacu pada jadwal.id_jadwal)

    • nama_pemesan (VARCHAR)

    • kursi (VARCHAR)

    • total_harga (DECIMAL)

    • tanggal_pesan (DATE)


Tugas:

  1. Buatlah aplikasi berbasis web menggunakan PHP, HTML, CSS, dan MySQL yang dapat:

    • Login: Admin dapat login untuk mengelola data film, jadwal, dan melihat laporan penjualan.

    • Menampilkan daftar film yang sedang tayang.

    • Memungkinkan pengunjung memesan tiket, memilih jadwal tayang, dan kursi yang tersedia.

    • Menampilkan laporan penjualan tiket harian.

  2. Bonus:

    • Tambahkan fitur untuk mencetak tiket.

    • Enkripsi password pada tabel users.

Last updated