Antrian pada sistem pembelian tiket bioskop menangani pembayaran dan pengembalian sisa uang tiket dengan pecahannya dan penjadwalan film yang tanyang (jumlah room bioskop ada 3) dengan kapasitas kursi terbatas setiap room.
- Antrian (queue)
- pembayaran (payment/cashier system using stack for arithmetics)
- penjadwalan film (graph, searching, sorting, hashing)
- Array Application
- ADT
- Stack and Queue
- Sorting and Searching Algorithm Implementation
- Graph Integration
- Linked List Integration
- Recursion Implementation
- Hashing implementation
- Ketika pelanggan mengantri, maka queue akan ditambahkan data pengguna (basic info)
- ketika keluar dari antrian (sudah paling depan), menanggil fungsi untuk pembayaran
- Ketika pelanggan hendak memilih film yang akan ditonton, akan ada pencarian film dalam jadwal yang ditentukan
- Periksa keadaan film dalam jadwal
- Bila ada pada jadwal:
- Lakukan Prosedur pembayaran
- Bila tidak DAN keluar, --> EXIT
- Bila ada pada jadwal:
- PEMBAYARAN
- terima uang dari pelanggan
- Bila uang pas, --> 5
- Bila tidak, lakukan perhitungan differensial uang dengan biaya
- Bila kurang, --> ERROR
- Bila lebih, --> 5
- terima uang dari pelanggan
- KONFIRMASI
- Bila uang pas, maka konfirmasi tidak ada nominal sisa
- Bila uang lebih, maka konfirmasi nominal sisa dalam pecahan paling optimal
- ERROR
- Bila ERROR karena tidak ada tempat pada film yang dicari, maka
- Sarankan film lainnya
- Bila disetujui, --> 2
- Bila tidak, --> EXIT
- Sarankan film lainnya
- Bila ERROR karena tidak ada tempat pada film yang dicari, maka
- Periksa apakah film yang dimaksud berada dalam jadwal sekarang
- Bila ada pada jadwal:
- Periksa keadaan kapasitas
- Bila masi ada ruang, maka lakukan hashing untuk menghindari pelanggan yang sama
- Bila tidak ada ruang, --> 4
- Periksa keadaan kapasitas
- Bila tidak ada pada jadwal, --> 4
- ERROR
- Bila ERROR karena tidak ada tempat pada film yang dicari, maka
- Sarankan film lainnya
- Bila disetujui, --> 2
- Bila tidak, --> EXIT
- Sarankan film lainnya
- Bila ERROR karena tidak ada tempat pada film yang dicari, maka
- Reverse Polish Notation (Stack, Linked List, ADT)
- Graph (Coloring, ADT)
- Hash Table (Sorting, Searching, Linked List, ADT, Recursion, Hashing)
- Queue (Queue, ADT, Linked List)