Anda di halaman 1dari 20

Pemrograman Berorientasi

Objek
Medi Hermanto Tinambunan, M.Kom
NIDN : 0027089306
HP : 0812-6588-3391
Email : meditinambunan@unima.ac.id

PERTEMUAN 1 | SEJARAH OOP,


PERBANDINGAN PROSEDURAL DAN OOP,
OOP DALAM PHP
ATURAN
PERKULIAHAN
1. Nilai lulus akan didapatkan apabila kehadiran > 80%.
2. Tugas wajib untuk dikerjakan dan dikumpulkan sesuai dengan waktu yang ditentukan.
3. Kerjakan tugas secara mandiri atau kelompok sesuai dengan aturan yang ditentukan
kemudian, dengan bertanggung jawab.
4. Berpenampilan rapi dan sopan.
5. Keterlambatan hanya < 20 menit dari waktu kelas dimulai.
6. Jika keterlambatan > 20 menit tidak diperkenankan masuk kelas.
7. Tidak diizinkan untuk keluar masuk kelas selama perkuliahan berlangsung.
8. Tidak membuang sampah didalam ruang kelas
ATURAN PERKULIAHAN
1. SEJARAH OOP
Pemrograman Berbasis Objek atau Object Oriented Programming adalah sebuah tata cara
pembuatan program dengan menggunakan konsep “objek” yang memiliki data dan
prosedur yang dikenal dengan method.

Konsep OOP bermula pada era 1960-an. Sebuah Bahasa pemrograman Simula
Memperkenalkanberbagai konsep yang mendasari OOP dengan SIMULA I (1962-65) dan
simula 67 (1967). Kemudia pada tahun 70-an, Bahasa pemrograman Smalltalk menjadi
pertama kali disebut sebagai object-oriented.
2. PERBANDINGAN PROSEDURAL
DENGAN OPP
Object OrientedOOP
Programming merupakan paradigma dalam dunia pemrograman untuk
PROSEDURAL
memecahkan sebuah masalah
tidak mempunyai terkait
access dengan pemrograman
modifiers mempunyai access itumdofiers
sendiri. Danlain
antara Prosedural
merupakan sebuah peradigma dengan sumber konsep berasal
protected, dari
public dan mesin Von Newman
private
yang mana memiliki
Tingkatruang penyimpanan
keamanan OOP lebih tinggiatau memori yang terbagi menjadi memori intruksi
dan juga memoriOOPdata.
dapat melakukan abtraksi () Prosedural tidak melakukan abtraksi
sehingga memiliki keamanan yang tinggi

Berikut perbedaan OOP dan Prosedural.


• Paradigma Prosedural tidak mempunyai access modifiers, sedangkan OOP mempunyai
antara lain protected, public dan private.
• Di dakan melakukan penyembunyian data, OOP dapat melakukan abtraksi yang memiliki
tingkat keamaan yang lebih tinggi dibandingkan dengan Prosedural yang tidak melakukan
abtraksi.
2. PERBANDINGAN PROSEDURAL
DENGAN OPP
• Program yang ada di dalam konsep OOP akan dibagi menjadi beberapa potongan yang
lebih kecil yang mana menjadi turunan dari kelas objek di atasnya. Sedangkan Prosedural,
program utama hanya dibagi menjadi beberapa bagian kecil sesuai dengan fungsinya.
• OOP dianggap lebih cocok dalam sebuah projek maupun aplikasi yang bersifat kompleks,
sedangkan Prosedural lebih cocok pada aplikasi sederhana.
• OOP lebih sulit untuk dipahami disbanding dengan Prosedural.
• Kurang kompleksnya modularitas yang ada di dalam sebuah program OOP menyebabkan
objek data tersebut hanya dapat dibuat dengan objek yang ada sehingga menyebabkan
OOP mudah sekali untuk dimodifikasi. Sedangkan Prosedural tidak ditemukan proses
yang sederhana dalam menambahkan data serta tidak ditemukan prose yang sederhana
dalam menambahkan data serta tidak adanya revisi pada program secara keseluruhan.
3. OOP DALAM PHP
a. Membuat Class
Class adalah sebuah konsep OOP yang digunakan untuk mengencapsulasi /membungkus
data dan abstraksi prosedural yang diperlukan dalam menggambarkan isi dan tingkah laku
berbagai entitas. Contoh:

<?php
class person {

}
?>
3. OOP DALAM PHP

b. Property pada Sebuah Class


Property Dapat disebut juga variable dari Class sedangkan Method biasa dalam bentuk
fungsi. Property bisa degan menggunakan keyword var seperti dibawah ini:
3. OOP DALAM PHP
c. Method
Method adalah suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu
object. Berikut adalah contoh method Setter dan Getter untuk memberikan value kepada
properti dan mengakses property tersebut:
3. OOP DALAM PHP
d. Membuat Object
Object adalah hasil cetak dari class atau konkrit dari class. Anda dapat membuat banyak
objek dalam satu kelas. Contoh penulisan objek pada OOP sebagai berikut:

<?php

$objEmployee = new Employee('Bob', 'Smith', 30);


echo $objEmployee->getFirstName(); // print 'Bob'
echo $objEmployee->getLastName(); // prints
'Smith'
echo $objEmployee->getAge(); // prints '30’

?>
3. OOP DALAM PHP

e. Enkapsulasi
Enkapsulasi melibatkan penyembunyian informasi tertentu tentang objek dan
membatasi akses langsung ke property atau metode tertentu. Ini dapat dicapai dengan
menggunakan hak akses seperti `public`, `private`, dan `protected`.

Akses Public
Properti public dapat diakses dari mana saja di luar class. Nilai properti public dapat
dimodifikasi dari mana saja dalam kode.
3. OOP DALAM PHP
Contoh Akses Public:

<?php
class Person
{
public $name;
public function getName()
{
return $this->name;
}
}
$person = new Person();
$person->name = 'Bob Smith';
echo $person->getName(); // prints 'Bob Smith'
?>
3. OOP DALAM PHP

Akses Private
Akses Private adalah properti atau method yang hanya dapat diakses dari dalam
class. Ini berarti anda perlu mendefinisikan method get atau set untuk mendapatkan
dan mengatur nilai properti tersebut.
3. OOP DALAM PHP
Contoh Akses Private:

<?php
class Person {
private $name;
public function getName()
{
return $this->name;
} public function setName($name)
{
$this->name = $name;
}
}
$person = new Person();
$person->name = 'Bob Smith'; // Throws an error
$person->setName('Bob Smith');
echo $person->getName(); // prints 'Bob Smith'
?>
3. OOP DALAM PHP

Akses Protected
Akses Protected digunakan untuk mengatur aksebilitas property atau method di dalam
sebuah class. Properti atau method yang diberi hak akses `protected` dapat diakses dari
dalam class itu sendiri dan class turunannya, tetapi tidak dapat diakses secara langsung
dari luar class atau dari luar class turunannya.
3. OOP DALAM PHP
f. Inheritance
Inheritance adalah konsep penting yang dapat membuat hierarki class di mana sebuah
subclass dapat mewarisi properti dan method dari superclass. Contoh Inheritance:

<?php
class Animal {
protected $name;
public function __construct($name) {
$this->name = $name;
}
public function eat() {
echo "{$this->name} is eating.\n";
}
}
class Dog extends Animal {
public function bark() {
echo "{$this->name} is barking.\n";
}
}
class Cat extends Animal {
public function meow() {
echo "{$this->name} is meowing.\n";
}
}
$dog = new Dog("Buddy");
$dog->eat(); // Output: Buddy is eating.
$dog->bark(); // Output: Buddy is barking.

$cat = new Cat("Whiskers");


$cat->eat(); // Output: Whiskers is eating.
$cat->meow(); // Output: Whiskers is meowing.
?>
public function calculateArea() {
return 3.14 * $this->radius * $this->radius;
}
}
class Square extends Shape {
private $side;
public function __construct($side) {
$this->side = $side;
}
public function calculateArea() {
return $this->side * $this->side;
}
}
$shapes = array(new Circle(5), new Square(4));

foreach ($shapes as $shape) {


echo "Area: " . $shape->calculateArea() . "\n";
}
?>
3. OOP DALAM PHP
g. Polimorfisme
Polimorfisme adalah konsep yang memungkinakan objek dari class berbeda untuk
merespon metode dengan cara yang sesuai dengan class sendiri. Polimorfisme dapat
dicapai melalui konsep overriding yaitu Ketika sebuah subclass menyediakan implementasi
yang berbeda untuk metode yang udah dideklarasikan di superclass. Contoh polimorfisme:
<php?
class Shape {
public function calculateArea() {
return 0; // Implementasi default
}
}
class Circle extends Shape {
private $radius;
public function __construct($radius) {
$this->radius = $radius;
}
PENGANTAR

1. Buat sebuah class untuk menampung data function nama minuman dan
makanan, kemudian lakukan pemanggilan untuk menampilkan isi dari
class dengan function nama makanan dan minuman tersebut

Anda mungkin juga menyukai