Tugas PBO Pertemuan 12

Nathanael Valen Susilo

5025231099

Source code : https://github.com/Kirytsu/PBO-G/tree/main/PlaneTicketing

Penjelasan Program Reservasi Tiket Pesawat



Secara struktur, program terdiri dari kelas abstrak/dasar Ticket yang kemudian diextend oleh sub kelasnya yaitu EconomyTicket, BusinessTicket, dan FirstClassTicket. Selain itu, ada juga kelas Main yang berfungsi untuk menjalankan dan melakukan testing pada program.


Kelas Ticket

Kelas Ticket merupakan kelas dasar yang mendefinisikan atribut dan method yang akan digunakan oleh masing-masing jenis tiket.  Contohnya pada abstract method yang hanya didefinisikan di kelas Ticket, tetapi kemudian akan dilakukan override pada sub kelas sehingga method tersebut dapat disesuaikan dengan kebutuhan sub kelas masing-masing.

Kelas EconomyTicket


Setiap inisialisasi subkelas akan membutuhkan parameter yaitu : nama penumpang, nomor penerbangan, dan harga dasar penerbangan tersebut. superclass disini juga digunakan untuk memanggil konstruktor dari kelas Ticket. 

Override digunakan untuk menimpa method yang didefinisikan sebelumnya, agar method dapat disesuaikan dengan kebutuhan sub kelas yang berbeda-beda (polymorphism). Kita bisa lihat penggunaan sub kelas di sini dibutuhkan untuk membedakan 3 nilai yang ada, yaitu : harga akhir, kelas tiket, dan juga fasilitas. Contohnya perhitungan harga tiket ekonomi dikurangi diskon 10%.

Kelas BusinessTicket



Kelas FirstClassTicket



Kelas Main


Untuk pengetesan pada kelas main, di sini saya coba untuk menggunakan arraylist untuk menyimpan data tiap tiket yang ada, kemudian mengeset harga dasar untuk tiap tiket ke 500.000. Setelah itu, dicoba untuk menambahkan tiket untuk masing-masing kelas tiket yang ada dengan harga dasar yang sama, dan dilakukan print untuk menampilkan informasi dari tiap tiket yang ada.  

Tampilan Output Testing


Pada output tersebut, kita dapat melihat dengan menggunakan konsep polymorphism, kita dapat mengubah atribut dan variabel yang ada pada suatu kelas. Di output tersebut, terlihat walaupun setiap tiket memiliki harga dasar yang sama, tetapi harga akhirnya berbeda karena method untuk melakukan perhitungan dari setiap sub kelas dapat dilakukan pembedaan.




Komentar

Postingan populer dari blog ini

Final Project PBO (Sudoku Game)

Tugas PBO Pertemuan 11

Tugas PBO Pertemuan 5