Nama: Muhammad Risyad Himawan Putra
NRP: 5025231205
Kelas: Pemrograman Berbasis Obyek (G)
Plane Ticketing System
Implementation in BlueJ
Source Code: MRHP1/Pertemuan_12
Class Ticket
Ticket(String passengerName, String flightNumber, double baseFare)
- Menginisialisasi objek
Ticketdengan nama penumpang, nomor penerbangan, dan tarif dasar.
abstract double calculateFare()
- Metode abstrak yang harus diimplementasikan di setiap subclass.
- Digunakan untuk menghitung tarif tiket berdasarkan kebijakan masing-masing kelas (seperti diskon atau biaya tambahan).
abstract String getPolicy()
- Metode abstrak yang harus diimplementasikan di setiap subclass untuk mengembalikan kebijakan tiket sesuai dengan kelas (seperti fasilitas, batas bagasi, dll).
String getPassengerName()
- Mengembalikan nama penumpang dari objek tiket.
String getFlightNumber()
- Mengembalikan nomor penerbangan dari objek tiket.
double getBaseFare()
- Mengembalikan tarif dasar tiket yang digunakan untuk menghitung tarif final.
Class EconomyTicket
EconomyTicket(String passengerName, String flightNumber, double baseFare)
- Konstruktor untuk membuat objek tiket kelas Ekonomi dengan nama penumpang, nomor penerbangan, dan tarif dasar.
double calculateFare()
- Menghitung tarif tiket kelas Ekonomi dengan memberikan diskon 10% dari tarif dasar.
String getPolicy()
- Mengembalikan kebijakan tiket kelas Ekonomi, seperti bagasi 20kg, fasilitas standar, dan diskon 10%.
Class BusinessTicket
BusinessTicket(String passengerName, String flightNumber, double baseFare)
- Konstruktor untuk membuat objek tiket kelas Bisnis dengan nama penumpang, nomor penerbangan, dan tarif dasar.
double calculateFare()
- Menghitung tarif tiket kelas Bisnis dengan menambahkan biaya tambahan 25% pada tarif dasar.
String getPolicy()
- Mengembalikan kebijakan tiket kelas Bisnis, seperti bagasi 30kg, fasilitas tambahan, dan biaya tambahan 25%.
Class FirstClassTicket
FirstClassTicket(String passengerName, String flightNumber, double baseFare)
- Konstruktor untuk membuat objek tiket kelas First Class dengan nama penumpang, nomor penerbangan, dan tarif dasar.
double calculateFare()
- Menghitung tarif tiket kelas First Class dengan menambahkan biaya tambahan 50% pada tarif dasar.
String getPolicy()
- Mengembalikan kebijakan tiket kelas First Class, seperti bagasi 40kg, fasilitas premium, dan biaya tambahan 50%.