Langsung ke konten utama

Unggulan

Church-Turing Thesis dan Kaitannya dengan Bahasa Pemrograman - Tugas Otomata W14

Daftar Isi Pendahuluan Pengertian dan Konsep Rumusan Masalah Turing Equivalent dan Turing Complete Manfaat Turing Equivalent dan Turing Complete Contoh Bahasa yang Turing Complete dan Penjelasannya Contoh Bahasa yang Tidak Turing Complete dan Penjelasannya Kesimpulan Pendahuluan Dalam dunia ilmu komputer, pemahaman tentang batasan dan kemampuan komputasi adalah fundamental. Salah satu konsep paling mendasar yang membentuk landasan teori komputasi adalah Church-Turing Thesis. Tesis ini, meskipun bukan sebuah teorema yang dapat dibuktikan secara matematis, merupakan hipotesis kuat yang menghubungkan konsep intuitif dari "algoritma" atau "komputabilitas efektif" dengan model komputasi formal seperti Turing Machine. Dengan memahami Church-Turing Thesis, kita dapat menggali lebih dalam tentang apa yang dapat dilakukan oleh komputer dan, yang tak kalah penting, apa yang tidak dapat mereka lakukan. Esai ini akan membahas pengertian, rumusan mas...

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 :

  1. Ekonomi
  2. Bisnis
  3. 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 :

  1. Kelas Ticket adalah kelas dasar atau superclass yang berfungsi sebagai kelas umum untuk semua jenis reservasi tiket pesawat.
  2. Kelas EconomyTicket, BusinessTicket, dan FirstClassTicket adalah subclass yang mewarisi dari Ticket. Setiap subclass mengoverride metode calculateFare() untuk menentukan tarif sesuai kelas penerbangan.
  3. 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

Komentar

Postingan Populer