Postingan

Menampilkan postingan dari November, 2024

Tugas Pertemuan 12 - 5025231186

Gambar
Agym Kamil Ramadhan     5025231186 Polymorphism Plane Ticket Penjelasan: Base Class ( PlaneTicket ) : Merupakan kelas abstrak dengan metode abstrak calculatePrice() yang harus diimplementasikan oleh setiap subclass. Memiliki metode umum displayTicketDetails() untuk menampilkan informasi tiket. Subclass : EconomyClassTicket : Menghitung harga tiket berdasarkan harga dasar. BusinessClassTicket : Menambahkan biaya layanan ke harga dasar. FirstClassTicket : Menambahkan pajak kemewahan ke harga dasar. Polymorphism : Polymorphism digunakan saat kita memanggil calculatePrice() pada objek PlaneTicket tanpa mengetahui tipe spesifiknya. Setiap subclass memiliki implementasi yang berbeda untuk metode ini. // Base class: PlaneTicket abstract class PlaneTicket { protected String passengerName ; protected String flightNumber ; public PlaneTicket (String passengerName, String flightNumber) { this . passengerName = passengerName; this . flightNumber = flightNum...

Tugas Pertemuan 11 - 5025231186

Gambar
Agym Kamil Ramadhan 5025231186 Studi Kasus Network Interitance Deskripsi Aplikasi Aplikasi ini terdiri dari tiga komponen utama: Member : Mewakili pengguna yang dapat membuat pesan dan memberikan "like". Message : Mewakili pesan yang dibuat oleh pengguna, dengan fitur untuk menerima "like". Community : Sebagai platform untuk mengelola anggota, pesan, dan aktivitas dalam aplikasi. Sebagai tambahan, aplikasi ini memiliki fitur bonus yang menampilkan anggota paling aktif berdasarkan jumlah pesan yang mereka buat. Fitur Utama Fitur-fitur utama dalam aplikasi meliputi: Pendaftaran Pengguna : Pengguna dapat mendaftar ke komunitas dengan nama mereka. Pembuatan Pesan : Pengguna dapat membuat dan membagikan pesan di komunitas. Memberikan Suka : Pengguna lain dapat memberikan "like" pada pesan yang mereka sukai. Menampilkan Semua Pesan : Semua pesan dari anggota komunitas ditampilkan bersama jumlah "like" yang diterima. Anggota Paling Aktif : Aplikasi mena...

Tugas Pertemuan 10 - 5025231186

Gambar
Agym Kamil Ramadhan 5025231186 Membuat Program Unit Testing Tentang Sales Item Saya telah membuat program unit testing untuk Sales Item dengan menggunakan Java dan konsep OOP. Mari saya jelaskan struktur dan fitur dari kode yang telah saya buat: Kelas SalesItem Atribut: itemName : Nama barang price : Harga barang quantity : Jumlah barang discount : Diskon dalam persentase Metode Utama: calculateTotalPrice() : Menghitung total harga dengan mempertimbangkan diskon getItemDescription() : Mendapatkan deskripsi lengkap item Validasi: Harga tidak boleh negatif Kuantitas tidak boleh negatif Diskon harus antara 0-100% SalesItem.Java public class SalesItem { private String itemName; private double price; private int quantity; private double discount; // Konstruktor public SalesItem(String itemName, double price, int quantity) { this .itemName = itemName; this .price = price; this .quantity = quantity; this .discount = 0.0...

Tugas Pertemuan 8 - 5025231186

Gambar
 Agym Kamil Ramadhan 5025231186 Implementasi Kopling Kohesi World of Zuul Kode tersebut adalah implementasi game berbasis teks sederhana bernama World of Zuul , yang menggunakan prinsip Object-Oriented Programming (OOP) dengan kohesi tinggi dan kopling rendah. Game ini memiliki beberapa kelas: Room untuk merepresentasikan ruangan dengan deskripsi dan arah keluar (exits), Command untuk menangani perintah pemain, CommandWords sebagai daftar kata perintah yang valid, Parser untuk memproses input pemain menjadi objek perintah, dan WorldOfZuul sebagai kelas utama yang mengelola logika permainan. Pemain dapat menjelajahi berbagai ruangan dengan mengetik perintah seperti "go", "help", atau "quit". Setiap ruangan memiliki deskripsi unik dan hubungan arah keluar ke ruangan lain. Struktur ini memisahkan tanggung jawab setiap kelas, sehingga mudah dipelihara dan dikembangkan, misalnya dengan menambahkan fitur baru seperti inventaris atau interaksi lebih komplek...

Tugas Pertemuan 7 - 5025231186

Gambar
Agym Kamil Ramadhan 5025231186 Revisi Tugas Pertemuan 6 Implementasi Tech Support System Merevisi implementasi tech support system pada tugas pertemuan 6.  1. Kelas SistemDukunganTeknis Kelas ini merupakan inti dari sistem yang mengelola seluruh proses interaksi dengan pengguna. Fungsi utama: Menginisialisasi komponen untuk membaca input pengguna dan memberikan tanggapan. Mengatur jalannya sesi dukungan teknis, termasuk membaca input, memberikan respons, dan menghentikan sesi jika pengguna mengetik "keluar". Komponen utama: pembacaInput: Menggunakan kelas PembacaInput untuk membaca masukan dari pengguna. responder: Menggunakan kelas Responder untuk menentukan tanggapan yang sesuai berdasarkan input. Metode inti dalam kelas ini adalah mulai(), yang menjalankan logika utama sistem dalam bentuk loop hingga sesi dihentikan. 2. Kelas PembacaInput Kelas ini bertugas membaca input yang dimasukkan pengguna melalui terminal. Detail komponen: scanner: Objek dari kelas Scanner yang digu...

Tugas Pertemuan 6 - 5025231186

Gambar
Agym Kamil Ramadhan - 5025231186 Tugas Pertemuan 6 PBO A Implementasi Support System Saya membuat implementasi kode support system tapi dengan pembawaan yang lucu/kocak. 1. Kelas LolSupportSystem Apa fungsi kelas ini? Ini adalah "pusat kendali" program. Tugasnya menjalankan sistem utama, menyambut pengguna, dan terus meminta masukan dari pengguna hingga pengguna mengetikkan "lol" untuk keluar. Bagaimana kerjanya? Kelas ini punya dua "alat bantu" (objek): InputReader (untuk membaca masukan dari pengguna). ComedyResponder (untuk membuat respons yang lucu). Saat program berjalan (start()): Pengguna diberi sapaan dan petunjuk. Sistem terus bertanya masalah apa yang pengguna alami. Jika pengguna mengetikkan sesuatu, sistem membuat respons lucu menggunakan ComedyResponder. Kalau pengguna mengetik "lol", program berhenti. 2. Kelas InputReader Apa fungsinya? Ini adalah "penerjemah" yang membaca apa yang ditulis pengguna di keyboard. Bagaimana k...

Tugas Pertemuan 5 - 5025231186

Gambar
 Agym Kamil Ramadhan - 5025231186 Tugas Pertemuan 5 PBO A IMPLEMENTASI MUSIC ORGANIZER Saya membuat music organizer, Program ini menggunakan tiga class utama untuk mengatur fungsi-fungsinya. Berikut penjelasan tiap class dan perannya dalam program: 1. Class Lagu Class ini digunakan untuk merepresentasikan sebuah lagu. Setiap Lagu memiliki tiga atribut utama: judul: Nama lagu. artis: Nama penyanyi atau grup band yang membawakan lagu. album: Nama album tempat lagu tersebut dirilis. Class ini juga menyediakan fungsi untuk: Mengambil nilai judul, artis, dan album (getter methods). Mengonversi informasi lagu menjadi string yang mudah dibaca (menggunakan metode toString()). Fungsi utama: Menyimpan informasi lengkap tentang satu lagu. 2. Class MusicOrganizer Class ini bertugas untuk mengelola daftar lagu. Atribut utamanya adalah daftarLagu, yaitu sebuah list yang menyimpan objek-objek dari class Lagu. Class ini menyediakan metode untuk: Tambah lagu: Menambahkan lagu baru ke dalam daftar. ...

Tugas Pertemuan 4 - 5025231186

Gambar
Agym Kamil Ramadhan - 5025231186 Tugas Pertemuan 4 PBO A STUDI KASUS CLOCK DISPLAY Berikut penjelasan studi kasus Clock Display yang saya implementasikan: Pada pertemuan 4 ini, saya ditugaskan untuk membuat studi kasus Clock Display. Dalam implementasi saya, saya membuat 3 class yaitu NumberDisplay, ClockDisplay, dan App. Class NumberDisplay memiliki beberapa method utama: Constructor untuk inisialisasi nilai awal dan batas maksimum getValue() untuk mendapatkan informasi nilai angka saat ini increment() untuk menambahkan value 1 pada angka getDisplayValue() untuk mengembalikan string value dari angka dengan format 2 digit didRollOver() untuk mengecek apakah sudah mencapai batas maksimum dan kembali ke 0 Class ClockDisplay berfungsi sebagai pengontrol utama jam yang memiliki method: Constructor untuk inisialisasi objek NumberDisplay untuk jam dan menit timeTick() untuk increment menit dan mengecek rollover ke jam berikutnya setTime() untuk mengatur waktu secara manual getTime() untuk me...

Tugas Pertemuan 3 - 5025231186

Gambar
Agym Kamil Ramadhan - 5025231186 Tugas Pertemuan 3 PBO A MEMBUAT STRUKTUR TIKET MACHINE Membuat struktur tiket machine dengan bahasa java, Class Ticket: Mewakili entitas tiket dengan atribut category dan price. Terdapat getter untuk mengakses atribut. Class TicketMachine: Berisi daftar tiket dalam bentuk array objek Ticket. Metode displayTickets() untuk menampilkan daftar tiket. Metode getTicket() untuk mendapatkan tiket berdasarkan pilihan pengguna. Class ConcertTicketMachine: Kelas utama untuk menjalankan program. Menggunakan objek TicketMachine untuk memproses pembelian tiket. import java.util.Scanner; // Kelas untuk tiket class Ticket { private String category ; private int price ; public Ticket (String category, int price) { this . category = category; this . price = price; } public String getCategory () { return category ; } public int getPrice () { return price ; } } // Kelas untuk mesin tiket class TicketMachine { ...

Tugas Pertemuan 2 - 5025231186

Gambar
Agym Kamil Ramadhan - 5025231186 Tugas Pertemuan 2 PBO A Konsep Object Object adalah segala sesuatu di dunia yang mempunyai attribut. Sebagai contoh adalah mobil, mobil memiliki plat yang berbeda beda, juga dengan warnanya. Mobil disini bisa kita sebut sebagai object. Definisi OOP (Object Oriented Programming) OOP bisa didefinisikan sebagai program yang mengorganisir beberapa kode menjadi objek objek. Objek ini menggambarkan entitas di dunia nyata, seperti Mobil, orang, Laptop, dan lainnya Gambar tersebut menggambarkan konsep dasar dalam pemrograman berorientasi objek dengan menggunakan analogi manusia. Class (Kelas): Diwakili oleh kotak bertuliskan "Manusia". Kelas adalah seperti cetak biru atau template untuk membuat objek. Dalam contoh ini, "Manusia" adalah kelas yang mendefinisikan karakteristik umum yang dimiliki oleh semua manusia. Object (Objek): Diwakili oleh gambar seorang "Programmer". Objek adalah instansi dari suatu kelas. "Programmer...