Friday, November 15, 2024

Pertemuan 12 - Plane Ticketing System

 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 Ticket dengan 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%.

Class Main & Testing









No comments:

Post a Comment

PPB EAS - Aplikasi Member Timezone

Manajemen Keanggotaan & Loyalty Program Timezone dengan Room Database dan Jetpack Compose Aryaka Leorgi Epridaka - 5025231117 Muhammad ...