Skip to content

Jurnalistik Website

INFORMATIKA

Primary Menu
  • PROFIL/CV
  • MAHASISWA
    • 2023-INFORMATIKA
      • TEAM A
        • Akhdan Muhana
        • Allyza Fauziyah
        • Zulfa Thafira Alfat
        • Renathan Fernando
        • Gelar Aditya Pratama
      • TEAM B
        • Muhamad Padil Firmansyah
        • Distra Helvansya
        • Alfini Rahmatillah
        • Najmi Rodibillah
        • Muhammad Rafhli Alfarizi
      • TEAM C
        • Zahra Inggriawati
        • Mirna Noviana
        • Muhammad Renaldy
        • Hadyan Syauqil Firdaus
        • Ranatri Julia Zahra
      • TEAM D
        • Risjad Hadi Cahya
        • Farhan Maksudi
        • Delfian
        • Farhan Prayoga
      • TEAM A (Sore)
        • DEDE SHALFA ARIANDI
        • SITI ROHIMAH
        • FRANKY CRISTIAN
        • DEWA SAEPURRAHMAN
      • TEAM B (Sore)
        • FIRAS ARIA ANDIKA
        • M TSANI NUR RAMDHAN
        • M GALLANT
        • MUHAMAD FACHRIL ILYASA
        • FAJAR RIZKI AKBAR
    • 2024-INFORMATIKA
      • Kelompok 1
        • Artikel Kelompok 1
        • Isyal Fauzi
        • Andika Wahyu Hidayat
        • Shera Nisa Shaefar
        • Muhammad Taura Abdullah Azzam
        • Rico Prima Putra
      • Kelompok 2
        • Artikel Kelompok 2
        • Sazkia Salsabila
        • Seli Nopiani
        • Sihab Abdul Hakim
        • Algariz Tegar Aziz
        • M Hasbi Hasbullah
      • Kelompok 3
        • Artikel Kelompok 3
        • Sendi Maulana
        • Kamila Eka Yantri
        • Najma Fajrian Nurul Iman
        • Syahwal Dwi Putra
        • Fadhiatul Hamid
      • Kelompok 4
        • Artikel Kelompok 4
        • Akbar Maulana
        • Imron Firmansyah
        • M. Ihsan
        • Ade Ramadhani Putra
        • Sendi Ardiansyah
      • Kelompok 1 (Sore)
        • Indra Novea Hafiz Suherman Putra
        • Widi Dwika Rahayu
        • Asep Ruliansyah
        • Raihan Rawady Rimba
        • Salma Cherani
      • kelompok 2 (Sore)
        • MUHAMMAD LUTFI YUDISWARA
        • IRSAN PERMADI
        • HISMAN GUNAWAN
        • AULIA PUTRI SOLEHA
      • kelompok 3 (Sore)
        • Nayla Putri Aulia
        • Naila Syahirah
        • Ahmad Nawawi
        • Agung Almalik Izulhaq
        • Arsil Saputra
      • kelompok 4 (Sore)
        • Restu Ardiansyah
        • Yusup Jaelani
        • Putra Arya Mas Bima
        • Achsan Amirul Bahar
        • Mochamad Maha Raden
        • Cica Cahyani
    • 2025-Informatika
      • 2025 – Reguler Pagi
        • AURA SYAHWA SOMANTRI
        • Azreal Azaki
        • Erfan Maulana Hidayat
        • Jana Maulana Fajar
        • Moh Qiral Brimasakti
        • Muhammad Rahman
        • Nauval Abdurachman
        • Redi Aditya
        • Roby Surya
        • Siti Fatimah Azzahra
      • 2025 – Reguler Sore
        • ADIL MAULANA
        • Adisti Rahayu
        • Afdhal Haq
        • MUHAMAD ALFAN FIRDAUS
        • BAYU HADI PRATAMA
        • CEPY EDUARS
        • DEVIT MAHARDIKA SAMBORA
        • MUHAMAD FAKHRI MAULIDAN
        • M. FARIDH FADHLI DZUL AKBAR
        • GALIH SAPRIATNA
        • MUHAMMAD KHAIRI BAHIR
        • M TAJUL WALI
        • MUHAMMAD ALDI AFRIZAL
        • MUHAMMAD FASYA HIDAYATULLOH
        • M. FAUZAN DWINASRULLAH
        • R DIKA PUTRA PURWANDA
        • REREN NURAENI GUNAWAN
        • REYHAN ARDIANSYAH
        • SATRIA MUHAMMAD AKMAL AULIA
        • MOHAMMAD SABIL
  • PRODUK/PROGRESS
  • MATERI KULIAH
    • Pengantar Aplikasi Komputer
    • Logika dan Algoritma
    • Pemrograman Dasar
    • Website Fundamental
    • Jaringan Komputer
    • Keamanan Jaringan Komputer
    • Sistem Manajemen Basis Data
    • Pemrograman Basis Data
    • Pemrograman Berorientasi Objek
    • Rekayasa Web
    • Arsitektur Cloud Computing
    • Installasi Komputer (Hardware & Software)
    • Organisasi dan Arsitektur Komputer
    • Pengantar Sistem Informasi
    • Logika Informatika
    • Basis Data
    • Interaksi Manusia dan Komputer
    • Permrograman Berbasis Web
    • Sistem Operasi
    • Pengantar Teknologi Web3
    • Rekayasa Perangkat Lunak
    • Pemrograman Mobile
    • Struktur Data
    • Sistem Informasi Manajemen
    • Pengantar Kecerdasan Artifisial
    • Administrasi Server
    • Pemrogramanan Berbasis Desktop
    • Manajemen Layanan Teknologi Informasi
    • Dasar Infrastruktur TI
    • E-Bisnis
    • Pengantar Teknologi Cloud
    • Data Mining
    • Belajar di Era Digital
    • Basis Data NoSQL
    • Tata Kelola Teknologi Informasi
    • Keamanan Sistem Informasi
    • Data Warehouse
    • Proses Bisnis
    • Manajemen Resiko dan Audit Sistem Informasi
    • Komunikasi Bisnis dan Teknis
    • Bisnis Digital
    • Etika Profesi
    • Sistem Pendukung Keputusan
    • Analisis dan Perancangan Sistem
    • Arsitektur dan Perancangan Sistem Enterprise
  • E-BOOK
    • Python Programming Essentials: Dari Konsep Dasar ke Aplikasi Nyata
  • JASA/MARKET
Watch Video
  • Home
  • 2021
  • November
  • 17
  • Abstraksi (OOP PHP) pada Mata Kuliah: Pemrograman Berorientasi Objek (PBO)
  • Artikel
  • Materi Kuliah

Abstraksi (OOP PHP) pada Mata Kuliah: Pemrograman Berorientasi Objek (PBO)

agoen November 17, 2021 3 minutes read
abstraksi-oop

1. Capaian Pembelajaran

Setelah mengikuti pertemuan ini, mahasiswa diharapkan mampu:

  1. Memahami konsep abstraksi dalam OOP.
  2. Menjelaskan dan menggunakan abstract class di PHP.
  3. Menjelaskan dan menggunakan abstract method.
  4. Memahami dan menggunakan interface.
  5. Menjelaskan perbedaan abstract class dan interface.
  6. Mengimplementasikan abstraksi pada studi kasus Shape (Bangun Datar).

2. Konsep Abstraksi dalam OOP

2.1 Pengertian Abstraksi

Abstraksi adalah konsep OOP yang menyembunyikan detail implementasi dan hanya menampilkan fitur penting kepada pengguna.

Contoh dalam kehidupan nyata:

  • Saat menggunakan remote TV, kita hanya tahu tombol ON/OFF, tanpa perlu tahu rangkaian elektronik di dalamnya.

Dalam pemrograman:

  • Kita mendefinisikan apa yang harus dilakukan, bukan bagaimana caranya.

3. Abstract Class di PHP

3.1 Pengertian Abstract Class

Abstract class adalah class yang tidak dapat diinstansiasi langsung dan digunakan sebagai class induk.

Ciri-ciri abstract class:

  • Menggunakan keyword abstract
  • Dapat memiliki method abstract dan non-abstract
  • Digunakan sebagai kerangka dasar (template)

3.2 Contoh Abstract Class

<?php
abstract class Kendaraan {
    public $merk;

    abstract public function jalan();

    public function info() {
        echo "Ini adalah kendaraan bermotor";
    }
}
?>

4. Abstract Method

4.1 Pengertian Abstract Method

Abstract method adalah method yang tidak memiliki isi (body) dan harus diimplementasikan oleh class turunan.

Ciri-ciri:

  • Hanya boleh ada di abstract class
  • Tidak memiliki isi {}
  • Wajib di-override di subclass

4.2 Contoh Abstract Method

abstract public function jalan();

Class turunan:

class Motor extends Kendaraan {
    public function jalan() {
        echo "Motor berjalan menggunakan dua roda";
    }
}

5. Interface di PHP

5.1 Pengertian Interface

Interface adalah kontrak yang berisi daftar method tanpa implementasi.

Ciri-ciri interface:

  • Menggunakan keyword interface
  • Semua method bersifat public
  • Class dapat mengimplementasikan lebih dari satu interface

5.2 Contoh Interface

<?php
interface BisaTerbang {
    public function terbang();
}

class Burung implements BisaTerbang {
    public function terbang() {
        echo "Burung terbang menggunakan sayap";
    }
}
?>

6. Perbedaan Abstract Class dan Interface di PHP

Abstract ClassInterface
Menggunakan abstract classMenggunakan interface
Bisa punya method dengan isiTidak boleh punya method dengan isi
Bisa punya propertyTidak boleh punya property
Hanya bisa extends satu classBisa implements banyak interface
Method bisa protected/privateSemua method public

7. Praktik: Abstract Class Shape

7.1 Studi Kasus

Buat abstract class Shape dengan method abstract luas().
Class turunan:

  • Persegi
  • Lingkaran

7.2 Abstract Class Shape

<?php
abstract class Shape {
    abstract public function luas();
}
?>

7.3 Class Persegi

<?php
class Persegi extends Shape {
    private $sisi;

    public function __construct($sisi) {
        $this->sisi = $sisi;
    }

    public function luas() {
        return $this->sisi * $this->sisi;
    }
}
?>

7.4 Class Lingkaran

<?php
class Lingkaran extends Shape {
    private $jari;

    public function __construct($jari) {
        $this->jari = $jari;
    }

    public function luas() {
        return 3.14 * $this->jari * $this->jari;
    }
}
?>

7.5 Implementasi Program

<?php
$persegi = new Persegi(5);
$lingkaran = new Lingkaran(7);

echo "Luas Persegi: " . $persegi->luas() . "<br>";
echo "Luas Lingkaran: " . $lingkaran->luas();
?>

Penjelasan:

  • Shape tidak bisa dibuat objek
  • Persegi dan Lingkaran wajib mengimplementasikan method luas()

8. Kesalahan Umum Mahasiswa

  1. Mencoba menginstansiasi abstract class
  2. Lupa mengimplementasikan method abstract
  3. Salah menggunakan implements dan extends
  4. Mengubah visibilitas method abstract

9. Latihan Mandiri

  1. Tambahkan class Segitiga
  2. Tambahkan abstract method keliling()
  3. Buat interface Printable dengan method cetak()
  4. Implementasikan interface tersebut pada class bangun datar

10. Rangkuman

  • Abstraksi menyederhanakan kompleksitas program
  • Abstract class menyediakan kerangka dasar
  • Interface adalah kontrak perilaku class
  • Abstraksi meningkatkan konsistensi dan skalabilitas program

About the Author

agoen

Administrator

Visit Website View All Posts

Post navigation

Previous: Sukabumi Creative Hub – COST 2021
Next: Collection & Array of Object (OOP PHP) pada Mata Kuliah: Pemrograman Berorientasi Objek (PBO)

Related Stories

image
  • Artikel
  • Berita

“ChatGPT Membantu atau Menghancurkan Pendidikan?”

agoen May 10, 2026
image
  • Artikel
  • Berita
  • Materi Kuliah

Terus dan Terus Belajar di Era Digital: Kunci Bertahan dan Berkembang di Tengah Perubahan

agoen April 15, 2026
image
  • Artikel
  • Berita
  • Materi Kuliah

🎓 MASA DEPAN PEMBELAJARAN

agoen April 1, 2026

Recent Posts

  • “ChatGPT Membantu atau Menghancurkan Pendidikan?”
  • Terus dan Terus Belajar di Era Digital: Kunci Bertahan dan Berkembang di Tengah Perubahan
  • 🎓 MASA DEPAN PEMBELAJARAN
  • Kecerdasan Buatan (AI) Membuat Manusia “Tidak” Berharga
  • Analisis Usability Website YBM PLN SMI Menggunakan Metode SUS

Archives

  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • June 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019

Categories

  • Artikel
  • Berita
  • Materi Kuliah

You may have missed

image
  • Artikel
  • Berita

“ChatGPT Membantu atau Menghancurkan Pendidikan?”

agoen May 10, 2026
image
  • Artikel
  • Berita
  • Materi Kuliah

Terus dan Terus Belajar di Era Digital: Kunci Bertahan dan Berkembang di Tengah Perubahan

agoen April 15, 2026
image
  • Artikel
  • Berita
  • Materi Kuliah

🎓 MASA DEPAN PEMBELAJARAN

agoen April 1, 2026
image
  • Artikel
  • Berita

Kecerdasan Buatan (AI) Membuat Manusia “Tidak” Berharga

agoen April 1, 2026
Copyright © All rights reserved. | MoreNews by AF themes.