Anda di halaman 1dari 6

Nama : Enos Glori

Kelas : A

Nim : C2157201051

Mk : Pemograman Berorientasi Objek

Jawaban UAS Teori

1. Encapsulation (Pembungkusan): Encapsulation adalah prinsip yang memungkinkan


penggabungan data dan metode (fungsi) yang terkait dalam sebuah objek, sehingga
membentuk suatu kesatuan yang disebut kelas. Dalam konteks ini, kelas berfungsi sebagai
wadah yang melindungi data dari akses langsung oleh komponen lain dalam program. Data
tersebut hanya dapat diakses dan dimodifikasi melalui metode-metode yang telah ditentukan
dalam kelas. Dengan demikian, encapsulation membantu menerapkan konsep keamanan dan
rahasia data dalam OOP.
Abstraction (Abstraksi):
Abstraction adalah prinsip yang memungkinkan penyembunyian detail internal dari suatu objek
dan hanya mengekspos informasi yang relevan atau esensial. Dalam OOP, abstraksi dilakukan
melalui pembuatan kelas abstrak. Kelas abstrak berfungsi sebagai kerangka dasar untuk kelas-
kelas turunannya (subclass). Kelas abstrak tidak dapat diinstansiasi langsung, tetapi hanya dapat
diwarisi oleh kelas-kelas lain. Dengan menggunakan abstraksi, kita dapat memfokuskan
perhatian pada fitur atau perilaku yang penting, sementara detail internal objek tetap
disembunyikan.
 Inheritance (Pewarisan):

Inheritance adalah prinsip yang memungkinkan penciptaan kelas baru (kelas turunan)
berdasarkan kelas yang sudah ada (kelas induk atau superclass). Dengan mewarisi sifat dan perilaku dari
kelas induk, kelas turunan dapat memperluas atau mengubah fungsionalitas kelas induk sesuai
kebutuhannya. Dalam OOP, inheritance memungkinkan penggunaan kembali (reusability) kode yang
sudah ada, mengurangi duplikasi, dan memudahkan pengelolaan dan pemeliharaan kode.

 Polymorphism (Polimorfisme):

Polymorphism adalah prinsip yang memungkinkan objek dari kelas yang berbeda untuk
merespons metode yang sama dengan cara yang berbeda. Dalam OOP, polimorfisme dicapai melalui
konsep overriding (penimpaan) dan overloading (pemuatan berlebihan). Overriding terjadi ketika kelas
turunan mengganti implementasi metode yang diwarisi dari kelas induk, sedangkan overloading terjadi
ketika kelas memiliki beberapa metode dengan nama yang sama tetapi berbeda dalam jumlah atau tipe
parameter. Polimorfisme memungkinkan untuk membuat kode yang lebih fleksibel dan modular, serta
mempermudah penggunaan objek secara umum dalam berbagai konteks.
Keempat prinsip ini menjadi fondasi dalam pengembangan aplikasi OOP, membantu dalam
merancang struktur yang terorganisir, mempermudah pemeliharaan kode, meningkatkan reusabilitas,
dan memungkinkan pembuatan program yang lebih skalabel dan mudah dikembangkan.

2. Class (Kelas):
 Kelas adalah blueprint atau cetak biru yang digunakan untuk membuat objek. Ini adalah
struktur yang mendefinisikan properti (variabel) dan perilaku (metode) dari objek yang
akan dibuat berdasarkan kelas tersebut.
 Kelas berfungsi sebagai entitas yang menggambarkan karakteristik dan perilaku yang
dimiliki oleh objek. Ini mendefinisikan apa yang objek bisa lakukan (metode) dan apa
yang objek miliki (properti).
Misalnya, jika kita ingin membuat objek "Mobil", kita bisa mendefinisikan kelas bernama
"Mobil" yang memiliki properti seperti "warna", "merek", "tahun", dan metode seperti
"hidupkanMesin()", "matikanMesin()", dsb.

Object (Objek):

 Objek adalah instansi yang diciptakan berdasarkan kelas. Itu adalah representasi konkret
dari kelas dengan nilai nyata untuk setiap properti yang dimilikinya.
 Objek merupakan entitas tunggal yang dapat menggunakan dan memanipulasi metode
dan properti yang telah didefinisikan dalam kelas.
 Menggunakan contoh sebelumnya, jika kita membuat objek "mobil1" berdasarkan kelas
"Mobil", maka "mobil1" akan memiliki nilai spesifik untuk properti seperti "warna" =
"merah", "merek" = "Toyota", "tahun" = 2023. Objek ini dapat menggunakan metode
seperti "hidupkanMesin()" atau "matikanMesin()".

Cara kerjanya:

 Pada dasarnya, ketika kita membuat objek dari suatu kelas, memori dialokasikan untuk
menyimpan semua properti objek dalam objek itu sendiri.
 Objek memiliki akses ke properti dan metode yang didefinisikan dalam kelasnya. Properti objek
ini menyimpan nilai unik untuk setiap objek yang dibuat, sementara metode objek adalah kode
yang dapat dieksekusi oleh objek tersebut.
 Kita dapat membuat banyak objek berbeda berdasarkan satu kelas. Misalnya, kita bisa membuat
objek "mobil1" dan "mobil2" dari kelas "Mobil" yang sama, dan keduanya akan memiliki
properti dan metode yang sama namun nilai propertinya dapat berbeda.

Intinya, kelas adalah representasi konsep atau cetak biru yang mendefinisikan properti dan metode,
sedangkan objek adalah instansi konkret yang dibuat berdasarkan kelas dengan nilai nyata untuk setiap
propertinya. Objek dapat menggunakan metode yang didefinisikan dalam kelasnya dan menyimpan nilai
unik dalam properti-propertinya.
Jawaban UAS Pratikum

1. Tema yang akan saya pilih adalah "Perpustakaan Digital".

Berikut adalah contoh file koding PHP dengan paradigma Pemrograman Berorientasi Objek yang
memenuhi persyaratan yang Anda berikan

<?php

// Class Utama: PerpustakaanDigital

class PerpustakaanDigital

// Properti

private $namaPerpustakaan;

protected $alamat;

public $jumlahBuku;

// Constructor

public function __construct($namaPerpustakaan, $alamat, $jumlahBuku)

$this->namaPerpustakaan = $namaPerpustakaan;

$this->alamat = $alamat;

$this->jumlahBuku = $jumlahBuku;

// Method

public function displayInfo()

echo "Nama Perpustakaan: " . $this->namaPerpustakaan . "<br>";

echo "Alamat: " . $this->alamat . "<br>";

echo "Jumlah Buku: " . $this->jumlahBuku . "<br>";


}

// Class Turunan: AnggotaPerpustakaan

class AnggotaPerpustakaan extends PerpustakaanDigital

// Properti

private $namaAnggota;

protected $status;

// Constructor

public function __construct($namaPerpustakaan, $alamat, $jumlahBuku, $namaAnggota, $status)

parent::__construct($namaPerpustakaan, $alamat, $jumlahBuku);

$this->namaAnggota = $namaAnggota;

$this->status = $status;

// Method

public function displayInfo()

parent::displayInfo();

echo "Nama Anggota: " . $this->namaAnggota . "<br>";

echo "Status Anggota: " . $this->status . "<br>";

// Objek 1: Perpustakaan Digital


$perpustakaanDigital = new PerpustakaanDigital("Perpustakaan Digital 1", "Jl. Jendral Sudirman No.
123", 1000);

echo "Informasi Perpustakaan Digital:<br>";

$perpustakaanDigital->displayInfo();

echo "<br>";

// Objek 2: Anggota Perpustakaan

$anggotaPerpustakaan = new AnggotaPerpustakaan("Perpustakaan Digital 1", "Jl. Jendral Sudirman No.


123", 1000, "John Doe", "Aktif");

echo "Informasi Anggota Perpustakaan:<br>";

$anggotaPerpustakaan->displayInfo();

echo "<br>";

// Objek 3: Anggota Perpustakaan

$anggotaPerpustakaan2 = new AnggotaPerpustakaan("Perpustakaan Digital 2", "Jl. Ahmad Yani No.


456", 500, "Jane Smith", "Tidak Aktif");

echo "Informasi Anggota Perpustakaan:<br>";

$anggotaPerpustakaan2->displayInfo();

?>

Dalam contoh di atas, terdapat dua kelas yaitu PerpustakaanDigital (kelas utama) dan
AnggotaPerpustakaan (kelas turunan). Kelas PerpustakaanDigital mew.

Anda mungkin juga menyukai