Tugas Pertemuan 2 Pemrograman Berbasis Objek (PBO) A 2024
Nama : Amadeo Yesa
NRP : 5025231160
Kelas : A
Tahun : 2024
Pada pertemuan 2, telah diperkenalkan Pemrograman Berorientasi Objek (PBO) atau Object Oriented Programming (OOP). Object Oriented Programming sendiri memiliki konsep-konsep yang menyusunnya. Konsep-konsep tersebut adalah sebgaia berikut:
1. Class
Class adalah suatu data tipe yang didefinisikan oleh seorang programmer yang akan menjadi cetakan atau blueprint dari suatu object. Dalam class terdapat properties dan methods yang akan menjadi variabel-variabel dan fungsi-fungsi dari setiap object hasil instansiasi class tersebut. Sebagai contoh, diberikan suatu class car.
// Classes
class Vehicle {
// Encapsulation
private String mode;
public Vehicle(String mode){
this.mode = mode;
}
public String getMode(){
return mode;
}
// Abstraction
public void informationOut(){
System.out.println("I move from one position to another through...");
}
}
2. Object
Object adalah hasil instansiasi dari suatu class. Object merepresentasikan entitas nyata dari class pada run-time. Dalam OOP, object-object dapat berinteraksi dengan satu sama lain sehingga menghasilkan suatu program yang diinginkan. Sehubungan dengan contoh pada poin 1, apabila terdapat suatu class car, object-objectnya dapat berupa berbagai jenis mobil, seperti polo, mini, dan beetle.
public class Main {
public static void main(String[] args){
// Objects, Instantiation of Classes
Vehicle boat = new Vehicle("Water");
}
}
Visualisasi Class dan Object
3. Abstraction
Abstraction merupakan salah satu poin penting dalam OOP, dimana secara global, informasi-informasi spesifik dari suatu data (umumnya class) tidak sepenuhnya diketahui. Abstraksi atau abstraction ini berfungsi dalam OOP untuk menyembunyikan implementasi kompleks dan hanya menunjukkan fitur-fitur yang diperlukan dari suatu object.
4. Encapsulation
Encapsulation atau Enkapsulasi didefinisikan sebagai membungkus data dalam satu unit. Dalam hal ini, dalam OOP, data yang dimaksud adalah properties dan methods yang dibungkus dalam satu Class. Enkapsulasi memungkinkan data suatu class disembunyikan dari class lain kecuali dideklarasikan untuk satu data dapat dibagi dengan class lain.
https://www.digitalocean.com/community/tutorials/what-is-abstraction-in-oops
5. Inheritance
Inheritance merupakan salah satu pilar utama dalam OOP. Inheritance merupakan kapabilitas suatu class untuk menurunkan atau mewariskan karakteristiknya kepada class lain. Class yang mewariskan propertynya disebut parent dan yang menerima warisannya disebut dengan child. Dengan inheritance, kode dapat menjadi lebih sederhana dan dapat mengurangi redundancy.
6. Polymorphism
Polymorphism memiliki arti banyak bentuk. Polymorphism menggambarkan situasi dimana suatu method dapat digunakan untuk banyak kelas dengan implementasi yang berbeda-beda. Secara sederhana, method ini dapat mengambil banyak bentuk.
7. Overloading
Overloading merupakan suatu konsep dimana suatu class dapat memiliki lebih dari satu method dengan nama yang sama namun dengan parameter berbeda. Dengan ini, method akan bergantung pada parameter yang diberikan dan akan menjalankan method yang sesuai. Konsep ini menghasilkan kode yang lebih sederhana dan mudah dimengerti.
https://www.geeksforgeeks.org/polymorphism-in-java/
Implementasi Abstraction, Encapsulation, Inheritance, Polymorphism, dan Overloading:
// Classes
class Vehicle {
// Encapsulation
private String mode;
public Vehicle(String mode){
this.mode = mode;
}
public String getMode(){
return mode;
}
// Abstraction
public void informationOut(){
System.out.println("I move from one position to another through...");
}
}
// Inheritance
class Car extends Vehicle {
private String brand;
public Car(String mode, String brand){
super(mode);
this.brand = brand;
}
public String getBrand(){
return brand;
}
// Polymorphism
@Override
public void informationOut(){
System.out.println("I move from one position to another through land");
}
// Overloading
public void informationOut(String engine){
System.out.println("I move from one position to another through land using " + engine + ".");
}
}
Program Lengkap:






Comments
Post a Comment