Cari Blog Ini
NRP : 5025231124 | Kelas : Pemrograman Berorientasi Objek - A | Dosen : Fajar Baskoro, S.Kom., M.T.
Unggulan
- Dapatkan link
- X
- Aplikasi Lainnya
Tugas Pertemuan 12 - Sistem Reservasi Tiket Pesawat
Tugas Pertemuan 12 - Sistem Reservasi Tiket Pesawat
Buatlah sistem reservasi tiket pesawat yang mendukung tiga jenis kelas penerbangan :
- Ekonomi
- Bisnis
- First Class
Setiap kelas penerbangan memiliki perhitungan tarif yang berbeda-beda. Selain itu, setiap kelas juga memiliki kebijakan khusus, seperti fasilitas tambahan, batas bagasi, atau layanan yang disediakan.
Struktur Kelas :
- Kelas Ticket adalah kelas dasar atau superclass yang berfungsi sebagai kelas umum untuk semua jenis reservasi tiket pesawat.
- Kelas EconomyTicket, BusinessTicket, dan FirstClassTicket adalah subclass yang mewarisi dari Ticket. Setiap subclass mengoverride metode calculateFare() untuk menentukan tarif sesuai kelas penerbangan.
- Ketentuan Diskon ticket :
- EconomyTicket memberikan diskon 10%.
- BusinessTicket menambahkan biaya 25%.
- FirstClassTicket menambahkan biaya 50%.
Penjelasan
Polymorphism pada program ini diterapkan ketika metode calculateFare() dan displayInfo() dipanggil pada objek dengan tipe referensi Ticket tetapi mengacu pada objek subclass (EconomyTicket, BusinessTicket, atau FirstClassTicket).
Fungsi polymorphism di sini adalah untuk mempermudah pengelolaan berbagai jenis tiket penerbangan dengan tarif yang berbeda tanpa menggunakan struktur kontrol kompleks, memungkinkan ekspansi program dengan mudah, dan mengurangi duplikasi kode.
Source Code : Link Github
Superclass Ticket
- Berfungsi sebagai kelas dasar yang menyimpan informasi umum tiket seperti nama penumpang dan harga dasar.
- Metode calculateFare() dihitung berdasarkan harga dasar, akan dioverride oleh subclass untuk perhitungan tarif yang lebih spesifik.
Source Code : Link Github Ticket
Kelas EconomyTicket (Subclass)
- Mengoverride metode calculateFare() untuk menerapkan diskon 10%.
- Menambahkan informasi diskon dalam metode displayInfo().
Source Code : Link Github Economy
Kelas BusinessTicket (Subclass)
- Mengoverride metode calculateFare() untuk menambahkan biaya 25%.
- Menampilkan informasi tambahan biaya dalam metode displayInfo().
Source Code : Link Github Business
Kelas FirstClassTicket (Subclass)
- Mengoverride metode calculateFare() untuk menambahkan biaya 50%.
- Menampilkan informasi tambahan biaya dalam metode displayInfo().
Source Code : Link Github First Class
Kelas Main
- Membuat objek tiket untuk setiap kelas penerbangan (Ekonomi, Bisnis, First Class).
- Menampilkan informasi setiap tiket menggunakan metode polymorphism displayInfo().
Source Code : Link Github Main
Diagram Kelas
Membuat Penumpang Baru
Pesan Tiket Ekonomi
Pesan Tiket Bisnis
Pesan Tiket First Class
- Dapatkan link
- X
- Aplikasi Lainnya
Postingan Populer
Tugas Pertemuan 4 - Interaksi Objek (Clock Display)
- Dapatkan link
- X
- Aplikasi Lainnya
Tugas Pertemuan 14 - Graphical User Interface
- Dapatkan link
- X
- Aplikasi Lainnya
Komentar
Posting Komentar