Sistem Design aplikasi Bioskop

Sistem  Design Aplikasi Bioskop



 Muhamad Faiz Fernanda (5025211186)

Tsaqif Deniar Bhakti (5025211151)


Requirements Design aplikasi Bioskop

  1. Functional Requirement

  • Signup & Login

Sistem harus mengizinkan pelanggan untuk mendaftar, masuk, dan mengautentikasi identitas mereka dengan aman.

  • Booking area

Ini harus menyediakan fungsionalitas untuk mengelola tempat nonton yang tersedia, seperti pembaruan waktu nyata

mengenai ketersediaan tempat.

  • Pembelian Tiket

user dapat memesan tempat terlebih dahulu melalui platform online

  • Layanan Pembayaran :

Menerapkan sistem pembayaran yang stabil bagi pelanggan untuk membayar pelayanan pesan tiket

  • Bentuk 2D area nonton :

Menyediakan bentuk 2D area dalam theater agar user dapat memilih tempat yang di inginkan



  1. Non Functional Requirement

  • Latensi

Sistem harus segera merespons permintaan pengguna, dengan latensi rendah sepanjang jam sibuk.

  • Integitas Data :

Pastikan ketersediaan berlebihan, waktu henti minimal, dan integritas data.

  • Traffic :

Sistem harus menangani semakin banyak pengguna dan transaksi tanpa mengurangi kinerja

  • Fitur Keamanan :

Menerapkan fitur keamanan yang kuat untuk melindungi data pengguna, transaksi, dan

sistem umum dari akses tidak sah.


Usecase Diagram Sistem Kasir Bioskop


Low Level Design

Data Schema:

  • Tabel User: id_user (PK), username, email, password_hash, role.

  • Tabel Film: id_film (PK), judul, genre, durasi.

  • Tabel Bioskop: id_bioskop (PK), nama, lokasi.

  • Tabel Jadwal_Pemutaran: id_jadwal (PK), id_film (FK), id_bioskop (FK), waktu, harga.

  • Tabel Transaksi: id_transaksi (PK), id_user (FK), id_jadwal (FK), jumlah_tiket, total_pembayaran, waktu_transaksi,

Database Design:

  • Database akan menggunakan manajemen basis data relasional (RDBMS) seperti MySQL atau PostgreSQL.

  • Setiap tabel akan memiliki kunci primer (PK) dan kunci asing (FK) yang sesuai untuk menjaga integritas referensial.

  • Index akan diterapkan pada kolom-kolom yang sering digunakan dalam pencarian atau pengurutan, seperti id_transaksi atau waktu_transaksi.

Algoritma:

  • Algoritma pembelian tiket akan memeriksa ketersediaan kursi berdasarkan kapasitas teater dan kursi yang telah dipesan sebelumnya.

  • Algoritma penjadwalan akan mempertimbangkan waktu pemutaran yang tersedia, kapasitas teater, dan preferensi pengguna untuk menentukan jadwal yang optimal.

  • Algoritma pembayaran akan memvalidasi informasi pembayaran, menghitung total pembayaran, dan menandai transaksi sebagai selesai setelah pembayaran berhasil.


Data Flow Diagrams:

  • DFD Level 0:

    • Input: Informasi pembelian tiket dari pengguna.

    • Proses: Validasi, pemrosesan pembayaran, pembaruan database.

    • Output: Konfirmasi pembelian kepada pengguna.

  • DFD Level 1 :

    • Input: Detail film yang dipilih dan jadwal pemutaran.

    • Proses: Pengecekan ketersediaan kursi, penghitungan total pembayaran.

    • Output: Rincian pembelian kepada pengguna, pembaruan database transaksi.

  • DFD Level 2 :

    • Input: Informasi pembayaran pengguna.

    • Proses: Validasi pembayaran, pembuatan tiket elektronik.

    • Output: Konfirmasi pembayaran kepada pengguna, pembaruan database transaksi.


High Level Design untuk Kasir Bioskop

High Level Design

Arsitektur Sistem

Arsitektur Sistem Pemesanan Tiket Bioskop terdiri dari:

  • Layer Presentasi: Antarmuka pengguna untuk pemilihan film, reservasi kursi, dan proses pembayaran.

  • Layer Logika Bisnis: Memproses permintaan pengguna, memvalidasi input, menghitung harga tiket, dan mengelola transaksi.

  • Layer Data: Menyimpan informasi film, jadwal penayangan, ketersediaan kursi, dan catatan transaksi.

Interaksi Modul:

  • Antarmuka Pengguna: Berinteraksi dengan server untuk menampilkan daftar film, pilihan jadwal, ketersediaan kursi, dan opsi pembayaran.

  • Logika Bisnis: Menerima input pengguna, memvalidasi, mereservasi kursi, menghitung harga tiket, dan mengelola proses pembayaran.

  • Manajemen Data: Menyediakan data yang diperlukan ke layer logika bisnis, memperbarui ketersediaan kursi, dan mencatat transaksi.

Desain Antarmuka Pengguna:

  • Desain antarmuka pengguna berfokus pada kesederhanaan, intuitivitas, dan responsivitas.

  • Fungsi utama termasuk pemilihan film, penelusuran jadwal, pemilihan kursi, proses pembayaran, dan konfirmasi pesanan.

  • Menekankan pengalaman tanpa hambatan dari pemilihan film hingga pembelian tiket.

Antarmuka Eksternal:

  • Integrasi dengan Bioskop: Mengambil daftar film, jadwal penayangan, dan ketersediaan kursi dari sistem bioskop.

  • Integrasi Payment Gateway: Memfasilitasi proses pembayaran yang aman melalui berbagai metode pembayaran.

  • Komunikasi dengan API Eksternal: Berinteraksi dengan sistem eksternal untuk fungsionalitas tambahan seperti penawaran promosi atau program loyalitas.

Data Base Sistem Kasir Bioskop

User Table

  • user_id (PK): Unique identifier for every user.

  • username: User’s username for identity.

  • email_address: User’s e-mail for communication.

  • password: Securely hashed user password.

  • created_date: Registration date of the user.

Cinema Table

  • cinema_id (PK): Unique identifier for every cinema.

  • name: Name of the cinema.

  • location: Physical location of the cinema.

  • capacity: Maximum capacity of the cinema in terms of seats.

Film Table

  • film_id (PK): Unique identifier for every film.

  • title: Title of the film.

  • genre: Genre of the film.

  • duration: Duration of the film in minutes.

  • release_date: Release date of the film.


Screen Table

  • screen_id (PK): Unique identifier for every screen.

  • cinema_id (FK): Id of the cinema where the screen is located.

  • name: Name or identifier of the screen (e.g., Screen 1, IMAX).

  • size: Size of the screen (e.g., dimensions in meters).

  • technology: Technology used in the screen (e.g., digital, 3D, IMAX).

Theater Table

  • theater_id (PK): Unique identifier for every theater.

  • cinema_id (FK): Id of the cinema where the theater is located.

  • name: Name or identifier of the theater (e.g., Theater 1, Auditorium A).

  • capacity: Maximum capacity of the theater in terms of seats.

  • features: Additional features or amenities available in the theater (e.g., Dolby Atmos sound system, stadium seating).

Type Seat Table

  • type_seat_id (PK): Unique identifier for every type of seat.

  • name: Name or description of the type of seat (e.g., standard, VIP, recliner).

  • additional_info: Additional information about the type of seat (e.g., legroom, amenities).

Seats Table:

  • seat_id (PK): Unique identifier for every seat.

  • cinema_id (FK): Id of the cinema where the seat is located.

  • type_seat_id (FK): Id of the type of seat.

  • availability_status: Indicates whether the seat is available or occupied.

  • location: Physical location of the seat in the theater (e.g., row number, seat number).

  • price: Price of the seat (if applicable).

Reservation Table:

  • Reservation_id (PK): Unique identifier for each reservation.

  • user_id (FK): Id of the user making the reservation.

  • film_id (FK): Id of the film being reserved.

  • cinema_id (FK): Id of the cinema where the film is being reserved.

  • screen_id (FK): Id of the screen where the film is being reserved.

  • theater_id (FK): Id of the theater where the film is being reserved.

  • reservation_time: Date and time of the reservation.

  • quantity: Number of tickets reserved.


Komentar

Postingan populer dari blog ini

Tugas 9

Tugas 7 PPB A

Tugas 1 PPB A