Thursday, October 24, 2024

ETS PBO G

Nama:    Basten Andika Salim
NRP:      5025231132


Evaluasi Tengah Semester Pemrograman Berorientasi Obyek (G)


Source Code ( keseluruhan) : https://github.com/rowlys/PBO-G/tree/main/ETS%20PBO


1. Apa yang dimaksud dengan inheritance/pewarisan dalam OOP? Berikan contoh penerapan pewarisan dengan menunjukkan hubungan antara kelas induk dan kelas turunan.


Jawaban: 

Inheritance adalah sebuah mekanisme dalam OOP yang dapat memberikan solusi terhadap permasalahan duplikasi kode. Ini bekerja dengan membuat sebuah 'kelas induk' yang memiliki method dan attribute yang akan banyak digunakan kelas lain, lalu setiap kali dibuatnya sebuah kelas yang menggunakan method dan attribute tersebut akan dilakukan 'pewarisan' dari kelas induk, sehingga menghasilkan kelas turunan. Dari kelas turunan ini pun dapat ditambahkan method-method dan attribute-attribute baru.

Sebagai contoh adalah kelas induk 'Peminjaman' yang memiliki sistem untuk meminjam barang dari sebuah perpustakaan. Kelas induk tersebut mewarisi properti nya kepada dua kelas turunan, yaitu 'PeminjamanBuku' dan 'PeminjamanFilm'. Dalam kelas induk 'Peminjaman', bisa saja memiliki method yang menampilkan user interface dan method yang menerima input dari pengguna, sedangkan pada kedua kelas turunannya ditambahkan method sistem peminjamannya masing-masing.


2. Apakah fungsi konstruktor dalam sebuah kelas atau obyek? Buatlah kelas Book yang memiliki dua atribut, yaitu judul, penulis, tahun terbit, nama penerbit, kategori buku. Tambahkan konstruktor untuk menginisialisasi atribut tersebut dan tambahkan metode printDetails() untuk mencetak detail buku.


Jawaban:

Konstruktor adalah fungsi yang menginisialisasi attribute awal yang dimasukkan pengguna saat sebuah obyek dari sebuah kelas telah dibuat.


Source Code: https://github.com/rowlys/PBO-G/tree/main/ETS%20PBO/ETS%20PBO%20-%202%20(Book%20Class)

Berikut adalah kelas Book:



3. Studi kasus Parking Ticket Machine

Source Code: https://github.com/rowlys/PBO-G/tree/main/ETS%20PBO/ETS%20PBO%20-%203%20(ParkingTicketMachine%20Class)

Berikut adalah kode daari kelas ParkingTicketMachine:




Berikut adalah pembuatan obyek dari kelas ParkingTicketMachine:



Berikut hasil dari method insertMoney, issueTicket, dan getTimePurchased():




4. Studi kasus aplikasi FoodOrder

Source Code: https://github.com/rowlys/PBO-G/tree/main/ETS%20PBO/ETS%20PBO%20-%204%20(Aplikasi%20FoodOrder)

a. Berikut adalah diagram kelas dari aplikasi FoodOrder:



b. Berikut adalah implementasinya:


Kelas Menu:




Kelas Pesan:




Kelas FoodOrder:






Hasil penggunaan program (method state()): 



Hasil printAllOrder:



No comments:

Post a Comment