Pada sesi tutorial-1
kemarin, kamu sudah menerapkan dua buah design pattern, yaitu Strategy Pattern
dan Observer Pattern
. Pada sesi tutorial-2
ini, kamu akan menerapkan design pattern yang sudah kamu pelajari minggu ini, yaitu Command Pattern
dan Template Method
.
Kesuksesanmu dalam menyelesaikan permasalahan yang dihadapi oleh berbagai pelaku usaha tersebar ke penjuru negeri. Kali ini, perusahaan bioskop ternama, PT Citra Gagah Visual, memintamu untuk membuat sebuah program yang dapat mengontrol perangkat-perangkat yang ada dalam suatu teater.
- Aplikasi dapat mengontrol tiga buah device yang ada di suatu teater, yaitu:
- Pendingin ruangan
- Layar
- Lampu
- Mode operasi pendingin ruangan adalah LOW, MEDIUM, HIGH.
- Layar dapat menampilkan iklan, film, dan juga dapat dimatikan.
- Lampu dapat dinyalakan dan dimatikan.
- Endpoint
/cinema-admin/enable-device
digunakan untuk enable perangkat-perangkat yang ada. Perangkat yang sudah di-enable dapat terlihat di Control Panel. - Endpoint
/cinema-admin/control-panel
digunakan untuk mengontrol perangkat dan menampilkan riwayat penggunaannya. Perangkat yang tampil di halaman ini hanya perangkat yang sudah di-enable sebelumnya.
PT Citra Gagah Visual cukup puas dengan hasil kerjamu. Kamu kemudian direkomendasikan untuk mengerjakan sistem baru yang ingin dibuat oleh perusahaan bioskop lain, yaitu PT XIXIXI.
Bioskop PT XIXIXI menyediakan tiga jenis cinema, yaitu Reguler, Deluxe, dan Premium. Sistem yang sudah ada saat ini terbagi menjadi tiga untuk masing-masing jenis cinema tersebut. Padahal, langkah yang perlu dilakukan untuk mengoperasikan ketiganya sama saja. Oleh karena itu, kamu diminta untuk membuat satu aplikasi yang dapat mengoperasikan ketiganya melalui satu aplikasi saja.
- Langkah-langkah yang perlu dilakukan untuk mengoperasikan cinema adalah sebagai berikut:
- Menyalakan pendingin ruangan
- Menghidupkan lampu
- Menghidupkan layar
- Menyalakan sound system
- Menampilkan iklan
- Mematikan lampu
- Menampilkan film
- Menghidupkan lampu
- Mematikan sound system
- Mematikan layar
- Mematikan lampu
- Mematikan pendingin ruangan
- Pengaturan perangkat pada cinema Reguler adalah sebagai berikut:
- Pendingin ruangan: LOW
- Durasi iklan: 10 detik
- Format film: QHD
- Pengaturan perangkat pada cinema Deluxe adalah sebagai berikut:
- Pendingin ruangan: MEDIUM
- Durasi iklan: 3 detik
- Format film: QHD
- Pengaturan perangkat pada cinema Premium adalah sebagai berikut:
- Pendingin ruangan: HIGH
- Durasi iklan: tidak ada iklan
- Format film: UHD
- Endpoint
/template/cinema
digunakan untuk memilih jenis cinema. - Endpoint
/template/cinema/<jenis-cinema>
digunakan untuk melihat keluaran dari aplikasi per jenis cinema.