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
  • 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
  • September
  • 17
  • Namespace & Autoloading (OOP PHP) pada Mata Kuliah: Pemrograman Berorientasi Objek (PBO)
  • Artikel
  • Materi Kuliah

Namespace & Autoloading (OOP PHP) pada Mata Kuliah: Pemrograman Berorientasi Objek (PBO)

agoen September 17, 2021 3 minutes read
autoloading

1. Capaian Pembelajaran

Setelah mengikuti pertemuan ini, mahasiswa diharapkan mampu:

  1. Memahami konsep namespace dalam PHP.
  2. Menjelaskan fungsi namespace untuk menghindari konflik nama class.
  3. Menggunakan namespace pada beberapa class berbeda.
  4. Memahami konsep autoloading class.
  5. Mengimplementasikan autoloading menggunakan PSR-4 dan Composer.

2. Masalah Tanpa Namespace

Dalam proyek besar, sering terjadi nama class yang sama.

Contoh masalah:

class User {}
class User {}

Kode di atas akan menyebabkan fatal error karena PHP tidak bisa membedakan class dengan nama yang sama.

Solusinya adalah menggunakan namespace.


3. Konsep Namespace dalam PHP

3.1 Pengertian Namespace

Namespace adalah cara untuk mengelompokkan class, interface, dan function ke dalam ruang nama tertentu.

Analogi:

  • Nama orang bisa sama
  • Tetapi alamat rumahnya berbeda

Namespace seperti alamat class.


3.2 Sintaks Namespace

Namespace dideklarasikan di baris paling atas file PHP.

<?php
namespace App\Models;

class User {
    public function info() {
        return "Ini class User dari App\\Models";
    }
}

4. Menggunakan Class dengan Namespace

4.1 Pemanggilan Menggunakan Fully Qualified Name

<?php
$user = new App\Models\User();
echo $user->info();

4.2 Menggunakan Keyword use

Agar kode lebih rapi:

<?php
use App\Models\User;

$user = new User();
echo $user->info();

5. Studi Kasus Konflik Nama Class

5.1 Dua Class dengan Nama Sama

// File: App/Models/User.php
namespace App\Models;
class User {}
// File: App/Controllers/User.php
namespace App\Controllers;
class User {}

Kedua class tidak konflik karena berada di namespace berbeda.


6. Konsep Autoloading Class

6.1 Pengertian Autoloading

Autoloading adalah teknik untuk memuat file class secara otomatis tanpa require atau include manual.

Tanpa autoloading:

require 'User.php';
require 'Product.php';
require 'Order.php';

Dengan autoloading:

new User();
new Product();
new Order();

7. Autoloading Standar PSR-4

7.1 Apa itu PSR-4

PSR-4 adalah standar autoloading PHP yang menghubungkan:

  • Namespace
  • Struktur folder

Contoh:

App\Models\User  → app/Models/User.php

8. Autoloading Menggunakan Composer

8.1 Pengertian Composer

Composer adalah dependency manager PHP yang juga menyediakan autoloading PSR-4.


8.2 Struktur Folder Proyek

project/
│── composer.json
│── vendor/
│── app/
│   ├── Models/
│   │   └── User.php
│   └── Controllers/
│       └── UserController.php
│── index.php

8.3 Konfigurasi composer.json

{
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        }
    }
}

Jalankan perintah:

composer dump-autoload

9. Contoh Class dengan Namespace

9.1 Class User (Model)

<?php
namespace App\Models;

class User {
    public function getName() {
        return "Mahasiswa";
    }
}

9.2 Class UserController

<?php
namespace App\Controllers;

use App\Models\User;

class UserController {
    public function index() {
        $user = new User();
        return $user->getName();
    }
}

9.3 File index.php

<?php
require 'vendor/autoload.php';

use App\Controllers\UserController;

$controller = new UserController();
echo $controller->index();

10. Praktik Mandiri

  1. Buat namespace App\Services
  2. Buat class AuthService
  3. Panggil class tersebut dari index.php
  4. Pastikan tanpa require manual

11. Kesalahan Umum Mahasiswa

  1. Namespace tidak di baris pertama file
  2. Salah penulisan huruf besar/kecil folder
  3. Lupa menjalankan composer dump-autoload
  4. Salah mapping namespace ke folder

12. Rangkuman

  • Namespace mencegah konflik nama class
  • Namespace membuat struktur kode rapi dan terorganisir
  • Autoloading memudahkan pengelolaan banyak class
  • PSR-4 adalah standar autoloading modern PHP

About the Author

agoen

Administrator

Visit Website View All Posts

Post navigation

Previous: Konsep Dasar dan Klasifikasi Jaringan Komputer
Next: Sukabumi Creative Hub – COST 2021

Related Stories

image
  • Artikel
  • Berita
  • Materi Kuliah

AI untuk Mahasiswa dan Dosen

agoen June 5, 2026
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

Recent Posts

  • AI untuk Mahasiswa dan Dosen
  • “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

Archives

  • 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

AI untuk Mahasiswa dan Dosen

agoen June 5, 2026
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
Copyright © All rights reserved. | MoreNews by AF themes.