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
        • Renaldy Pramandhika
      • 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
  • 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
  • July
  • 7
  • Abstraction (Abstraksi): “Pemrograman Berorientasi Objek (OOP) PHP”
  • Artikel
  • Berita
  • Materi Kuliah

Abstraction (Abstraksi): “Pemrograman Berorientasi Objek (OOP) PHP”

Ahmad Gunawan July 7, 2021 3 minutes read
image

1. Pengantar Abstraction

Dalam Pemrograman Berorientasi Objek (Object Oriented Programming / OOP), Abstraction adalah salah satu dari empat pilar utama OOP, yaitu:

  1. Encapsulation
  2. Inheritance
  3. Polymorphism
  4. Abstraction

Abstraction berfokus pada:

  • Menampilkan hal-hal penting saja kepada pengguna
  • Menyembunyikan detail implementasi yang tidak perlu diketahui

๐Ÿ“Œ Dengan abstraction, pengguna class tahu apa yang bisa dilakukan, tetapi tidak perlu tahu bagaimana cara kerjanya.


2. Analogi Sederhana Abstraction

Bayangkan kita mengendarai mobil:

  • Kita hanya tahu pedal gas, rem, dan setir
  • Kita tidak perlu tahu detail mesin, pembakaran, atau sistem transmisi

๐Ÿ‘‰ Inilah konsep abstraction: pengguna fokus pada fungsi, bukan mekanisme internal.


3. Abstraction dalam PHP

Dalam PHP, abstraction dapat diterapkan menggunakan:

  1. Abstract Class
  2. Interface

Perbedaan utamanya:

  • Abstract class: bisa memiliki method dengan isi dan tanpa isi
  • Interface: hanya berisi deklarasi method (tanpa isi)

4. Abstract Class dalam PHP

4.1 Pengertian Abstract Class

Abstract class adalah class yang:

  • Tidak dapat diinstansiasi secara langsung
  • Digunakan sebagai kerangka (template) bagi class turunan

๐Ÿ“Œ Abstract class biasanya berisi:

  • Abstract method (tanpa isi)
  • Method biasa (dengan isi)

4.2 Contoh Abstract Class

abstract class Kendaraan {

protected $merk;

public function setMerk($merk) {

$this->merk = $merk;

}

abstract public function bergerak();

}


4.3 Class Turunan dari Abstract Class

class Mobil extends Kendaraan {

public function bergerak() {

return “Mobil bergerak di jalan”;

}

}

class Motor extends Kendaraan {

public function bergerak() {

return “Motor bergerak dengan dua roda”;

}

}


4.4 Penggunaan Abstract Class

$mobil = new Mobil();

$mobil->setMerk(“Toyota”);

echo $mobil->bergerak();

$motor = new Motor();

$motor->setMerk(“Honda”);

echo $motor->bergerak();

โœ… Setiap class turunan wajib mengimplementasikan method bergerak().


5. Interface dalam PHP

5.1 Pengertian Interface

Interface adalah kontrak yang menyatakan apa saja method yang harus dimiliki oleh class yang mengimplementasikannya.

๐Ÿ“Œ Interface:

  • Tidak memiliki property
  • Semua method bersifat abstract dan public

5.2 Contoh Interface

interface Pembayaran {

public function prosesPembayaran();

}


5.3 Implementasi Interface

class TransferBank implements Pembayaran {

public function prosesPembayaran() {

return “Pembayaran melalui transfer bank”;

}

}

class EWallet implements Pembayaran {

public function prosesPembayaran() {

return “Pembayaran melalui e-wallet”;

}

}


5.4 Penggunaan Interface

function bayar(Pembayaran $pembayaran) {

echo $pembayaran->prosesPembayaran();

}

bayar(new TransferBank());

bayar(new EWallet());

๐Ÿ“Œ Pengguna fungsi tidak perlu tahu jenis pembayaran, cukup tahu method yang tersedia.


6. Perbedaan Abstract Class dan Interface

Abstract ClassInterface
Bisa punya propertyTidak punya property
Bisa punya method dengan isiMethod tanpa isi
Satu class hanya bisa extend satu abstract classBisa implement banyak interface

7. Hubungan Abstraction dengan Polymorphism

Abstraction sering digunakan bersama polymorphism:

  • Abstract class / interface sebagai tipe data
  • Class konkret sebagai implementasi

๐Ÿ“Œ Ini membuat program fleksibel dan mudah dikembangkan.


8. Manfaat Abstraction

  1. Menyederhanakan kompleksitas
  2. Kode lebih rapi dan terstruktur
  3. Mudah dikembangkan
  4. Mendukung prinsip SOLID (Dependency Inversion)
  5. Memudahkan kerja tim

9. Kesalahan Umum Mahasiswa

โŒ Mengira abstract class bisa diinstansiasi โŒ Tidak mengimplementasikan semua abstract method โŒ Bingung membedakan abstract class dan interface


10. Studi Kasus Sederhana

Kasus: Sistem Login

abstract class Login {

abstract public function autentikasi();

}

class LoginAdmin extends Login {

public function autentikasi() {

return “Login sebagai Admin”;

}

}

class LoginUser extends Login {

public function autentikasi() {

return “Login sebagai User”;

}

}

function prosesLogin(Login $login) {

echo $login->autentikasi();

}

prosesLogin(new LoginAdmin());

prosesLogin(new LoginUser());


11. Ringkasan Materi

  • Abstraction menyembunyikan detail implementasi
  • Menggunakan abstract class dan interface
  • Fokus pada apa yang dilakukan, bukan bagaimana caranya

12. Pertanyaan Diskusi

  1. Mengapa abstraction penting dalam pengembangan software?
  2. Kapan sebaiknya menggunakan interface dibanding abstract class?
  3. Apa hubungan abstraction dengan maintainability kode?

About the Author

Ahmad Gunawan

Administrator

Visit Website View All Posts

Post navigation

Previous: Polymorphism (Polimorfisme): “Pemrograman Berorientasi Objek (OOP) PHP”
Next: Konsep Dasar dan Klasifikasi Jaringan Komputer

Related Stories

image
  • Artikel
  • Berita
  • Materi Kuliah

Network Administrator

Ahmad Gunawan September 2, 2026
112
  • Artikel
  • Berita
  • Materi Kuliah

Mengenal Ekosistem Web Development: Front-End, Back-End, Database, API, Framework, hingga DevOps

Ahmad Gunawan August 28, 2026
image
  • Artikel
  • Berita
  • Materi Kuliah

Testing dan Implementasi Sistem

Ahmad Gunawan August 10, 2026

Recent Posts

  • Network Administrator
  • Mengenal Ekosistem Web Development: Front-End, Back-End, Database, API, Framework, hingga DevOps
  • Testing dan Implementasi Sistem
  • Revolusi Multimedia Digital 2026: AI Generatif, Video Instan, dan Teknologi yang Sedang Mengubah Dunia
  • AI untuk Mahasiswa dan Dosen

Archives

  • September 2026
  • August 2026
  • July 2026
  • June 2026
  • 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
  • Materi Kuliah

Network Administrator

Ahmad Gunawan September 2, 2026
112
  • Artikel
  • Berita
  • Materi Kuliah

Mengenal Ekosistem Web Development: Front-End, Back-End, Database, API, Framework, hingga DevOps

Ahmad Gunawan August 28, 2026
image
  • Artikel
  • Berita
  • Materi Kuliah

Testing dan Implementasi Sistem

Ahmad Gunawan August 10, 2026
image
  • Artikel
  • Berita
  • Materi Kuliah

Revolusi Multimedia Digital 2026: AI Generatif, Video Instan, dan Teknologi yang Sedang Mengubah Dunia

Ahmad Gunawan July 7, 2026
Copyright © All rights reserved. | by AF themes.
imunify-bot-check