Skip to main content

TUTORIAL by ChatGPT: MODUL PEMBELAJARAN PRAKTIS Object Oriented Programming/Pemrograman Berorientasi Obyek dengan Bahasa Pemrograman PHP

FILE-FILE LAMPIRAN


📘 MODUL PEMBELAJARAN PRAKTIS OOP (PHP) — LEVEL PEMULA

Hybrid Structure (Bab Tematik + Referensi File Latihan)
Semua contoh kode bersumber dari file latihan Anda dan disertai sitasi seperti:

``


BAB 1 — Pengenalan OOP

Object-Oriented Programming (OOP) adalah cara penulisan program dengan konsep objek (object) dan class.
Dalam PHP, OOP membantu membuat kode lebih terstruktur, mudah dipelihara, dan dapat dikembangkan.

Konsep dasarnya:

  • Class = blueprint (cetakan)

  • Object = hasil dari class

  • Property = variabel milik class

  • Method = fungsi milik class


BAB 2 — Class & Object

📌 Contoh dari latihan1.php

File ini menunjukkan dasar OOP: membuat class, membuat object, mengisi property, dan menampilkan output.

Pada file tersebut terdapat:

  • class orang

  • property: $nama, $umur

  • method: berbicara() dan statususia()

  • object: $objOrang = new orang();

Intinya:
Class adalah cetakan data & perilaku, sedangkan object adalah instance (hasil nyata) dari class itu.

📌 Pengayaan dari latihan2.php


File ini menampilkan lebih dari satu object dari class yang sama: $objOrang dan $objOrang2.

Konsep yang dipelajari:

  • Satu class dapat menghasilkan banyak object.

  • Setiap object memiliki nilai property masing-masing.


BAB 3 — Property & Method

📌 Contoh dari latihan3.php

Class mahasiswa memiliki:

  • property: $nim, $nama, $nilai

  • method: prosesNilai() yang menampilkan ketiga property tersebut

Di sini Anda belajar:

  • Cara menggunakan $this->property

  • Cara membuat method untuk memproses data


BAB 4 — Enkapsulasi (Encapsulation)

Enkapsulasi = menyembunyikan data agar tidak bisa diakses sembarangan.

📌 Contoh dari latihan4.php (akses private → error)

Properti $nim, $nama, $nilai dibuat private.
Lalu object mencoba mengakses:

$objMhs->nim = '122001321'; // tidak boleh

Ini akan menghasilkan error.

Pelajaran penting:
Property private hanya bisa diakses di dalam class, bukan dari luar.

📌 Contoh dari latihan5.php (getter & setter)

Solusi enkapsulasi → gunakan setter dan getter:

  • setNim(), setNama(), setNilai()

  • getNim(), getNama(), getNilai()

Inilah praktik enkapsulasi yang benar.


BAB 5 — Access Modifier

Dalam PHP ada 3 jenis:

  • public → dapat diakses dari mana pun

  • private → hanya di dalam class sendiri

  • protected → di class sendiri dan turunan (inheritance)

📌 Contoh dari latihan6.php (protected)

Property $nim, $nama, $nilai dibuat protected.
Seperti private, tetapi:

  • tetap tidak bisa diakses langsung dari object

  • bisa diakses oleh class turunan (inheritance)

Inilah konsep yang menjadi jembatan menuju bab berikutnya.


BAB 6 — Constructor & Destructor

Constructor = kode otomatis yang dijalankan saat object dibuat.
Destructor = kode otomatis saat object dihapus.

📌 Contoh dari latihan7.php

Class orang memiliki:

  • __construct($nama) → menampilkan pesan saat object dibuat

  • __destruct() → menampilkan pesan saat object dihapus

Pelajaran penting:

  • Constructor cocok untuk inisialisasi data awal.

  • Destructor cocok untuk proses “pembersihan”.

📌 Contoh dari latihan8.php

Class Nilai memiliki:

  • Constructor yang menginisialisasi nilai awal: tugas=0, uts=0, uas=0

  • Method setter dengan validasi

  • Destructor yang menampilkan pesan saat object dihapus

Ini memperlihatkan constructor/destructor dalam skenario nyata.


BAB 7 — Inheritance (Pewarisan)

Inheritance = class turunan mewarisi property & method class induk.

📌 Contoh dari latihan9.php

Class:

  • OrangTua

  • Anak extends OrangTua

Object dari class Anak dapat memanggil:

  • helloOrangTua() → dari parent

  • helloAnak() → dari class Anak sendiri

Konsep inti:
Class turunan otomatis mewarisi semua method/properti publik dari parent.

📌 Contoh dari latihan10.php

Perbedaan penting di sini:

  • property $nama di parent bersifat protected
    → maka class Anak boleh mengaksesnya, tapi object dari luar tidak boleh.

Method cetakNamaOrt() di Anak menampilkan:

Nama Orang Tua : $this->nama

Ini contoh nyata bagaimana protected dipakai dalam inheritance.


BAB 8 — Studi Kasus Mini (Menggabungkan Semua Konsep)

Dari seluruh file latihan, Anda telah mempelajari:

  1. Membuat class & object

  2. Property & method

  3. Access modifier (public/private/protected)

  4. Enkapsulasi dengan getter/setter

  5. Constructor & destructor

  6. Inheritance

Untuk latihan lanjutan, Anda bisa membuat sistem OOP kecil:

  • Class Mahasiswa

  • Class Nilai

  • Class MahasiswaAktif extends Mahasiswa

  • Menggunakan constructor untuk set data awal

  • Menggunakan getter/setter untuk keamanan data

  • Menggunakan inheritance untuk menambah fitur

(Silakan minta jika ingin dibuatkan contoh studi kasus tersebut.)


📚 PENUTUP

Modul ini memberikan dasar yang kuat untuk memahami OOP di PHP berdasarkan 10 file latihan Anda.
Jika Anda ingin:

  • versi PDF

  • versi slide

  • versi latihan soal

  • studi kasus lengkap

  • atau modul tingkat lanjut

Cukup beri tahu saya — saya bisa lanjutkan.


Baik! Berikut saya tambahkan BAB 9 — Latihan Soal yang sesuai dengan tingkat pemula dan langsung terkait dengan contoh dalam 10 file latihan.
Soal dibuat bertahap, dari mudah → sedang → agak menantang.


📘 BAB 9 — LATIHAN SOAL OOP (LEVEL PEMULA)

Semua soal dibuat agar Anda berlatih konsep yang muncul di latihan1.php sampai latihan10.php.


A. SOAL DASAR (Class & Object)

1. (Konsep dari latihan1 & latihan2)

Buat class Buku dengan property:

  • judul

  • penulis

  • tahun

Lalu buat dua object berbeda dan tampilkan nilainya.

Tujuan: Latihan membuat class & object dasar.


2. (Konsep dari latihan3)

Buat class Produk dengan property:

  • kode

  • nama

  • harga

Buat method info() yang menampilkan ketiga property tersebut.

Tujuan: Latihan method sederhana menggunakan $this->…


B. SOAL ENKAPSULASI (private, getter, setter)

3. (Konsep dari latihan4 & latihan5)

Buat class User dengan property private:

  • username

  • password

Tambahkan:

  • setter untuk mengisi username dan password

  • getter untuk mengambil username

  • method login() yang memeriksa apakah password benar (misal password = “admin123”)

Tujuan: Memahami enkapsulasi & penggunaan getter/setter.


4. (Penerapan validasi, konsep latihan8)

Buat class SkorGame dengan property private:

  • skor (0–100)

Buat setter yang:

  • hanya menerima nilai valid 0–100

  • menolak nilai lain

Tujuan: Mengimplementasikan validasi pada setter.


C. SOAL ACCESS MODIFIER (protected)

5. (Konsep dari latihan6)

Buat class AkunBank dengan property protected:

  • saldo

Buat class AkunTabungan yang mewarisi AkunBank dan memiliki method:

  • setor($jumlah)

  • ambil($jumlah)

Syarat:

  • saldo tidak boleh negatif

Tujuan: Latihan protected + inheritance dasar.


D. SOAL CONSTRUCTOR & DESTRUCTOR

6. (Konsep dari latihan7)

Buat class Server dengan constructor yang menampilkan:

“Server dimulai…”

Dan destructor menampilkan:

“Server dimatikan…”

Lalu buat minimal 2 object dari class tersebut.

Tujuan: Latihan memahami kapan constructor & destructor berjalan.


7. (Konsep dari latihan8)

Buat class NilaiSiswa dengan:

  • constructor yang mengisi nilai awal = 0

  • setter untuk tugas, uts, uas

  • method hitungAkhir() dengan bobot:

    • tugas 20%

    • uts 30%

    • uas 50%

Tujuan: Meniru fitur class Nilai (latihan8.php).


E. SOAL INHERITANCE (Pewarisan)

8. (Konsep dari latihan9)

Buat dua class:

  • Hewan → method suara()

  • Kucing extends Hewan → method suaraKucing()

Buat object dari class Kucing dan panggil kedua method.

Tujuan: Turunan dapat memakai method parent.


9. (Konsep dari latihan10 — akses protected di inheritance)

Buat class:

  • Karyawan dengan property protected: $nama

  • Manager extends Karyawan

    • tambah method tampilkanNama() untuk menampilkan property $nama

Buat object dari class Manager dan tampilkan namanya melalui method tersebut.

Tujuan: Meniru file latihan10 yang mengakses protected dari class turunan.


F. SOAL MINI-PROJECT (Menggabungkan Semua Konsep)

10. MINI PROJECT — “Sistem Mahasiswa Sederhana”

Buat sistem dengan ketentuan:

Class Mahasiswa

Property:

  • nim (private)

  • nama (private)

Method:

  • setter & getter untuk keduanya

Class Nilai

Property:

  • tugas

  • uts

  • uas
    (semua private dengan setter validasi 0–100)

Method:

  • hitung nilai akhir (20% + 30% + 50%)

  • tampil()

Class MahasiswaAktif extends Mahasiswa

Property tambahan:

  • semester (protected)

Method:

  • constructor mengisi nim, nama, semester

  • tampilProfil()

Output yang diharuskan:

  • Profil mahasiswa

  • Nilai tugas, uts, uas

  • Nilai akhir

  • Semua menggunakan enkapsulasi & inheritance

Tujuan: Menggabungkan seluruh konsep OOP latihan1–latihan10.

Comments

Popular posts from this blog

[ERROR BUG]
ChatGPT+Gemini: TikTok → Blogger Embed Converter using Cloudflare/Online Server

🔄 Refresh Page ERROR BUG: The connection is blocked because it was initiated by a public page to connect to devices or servers on your local network. Planning: Revise Program CODE Code USING Javascript/Online Server Code NOT USING Javascript Sample Working Code aka Already Repaired! Temporary Solution is by Asking AI Assistant to do REPAIR CODE of (Not yet Repaired) Current Conversion Program Code-Output TikTok Archive – Embedded Preview TikTok Embed ▶ View this video on TikTok ⚠️ DISCLAIMER: INPUT URL LIMITATION This program is currently restricted to processing Full Browser URLs only. It does not support TikTok’s mobile "short-link" format (e.g., vt.tiktok.com ). Required Action: Users must open the video in a web browser and copy the expanded URL from the address bar before pasting it into this program. URL Conversion Example ❌ UNSUPPORTED: https://vt.tiktok.com/ZSaXoFyov/ ✅ REQ...

Repost! Web-Based to Android Apps Convertion (MEDIAN.CO etc.)

CONTOH HASIL Android APK "PROGRAM" SAMPLE: Youtube and Instagram EMBEDded to Blogger/Blogspot.com SOURCE CODE Click this box to download Contoh Sample SHORTCUT-APPs "precise" click to download : median.co R8: ronin1985.blogspot.com R2M: ronin-manu.blogspot.com Gw udah coba Median.co utk mengubah Website gw menjadi Aplikasi Android Keren bet!! Median.co Cekidot Software lain yg mirip! ChatGPT : If you're looking for tools similar to Median.co to convert websites into Android apps, here are some top alternatives, especially for no-code or low-code users: 🔧 Best Tools Like Median.co to Convert Website to Android Apps 1. WebViewGold Platform: Windows/macOS (Xcode/Android Studio) Key Feature: Converts any website into iOS/Android app via WebView. Pros: One-time purchase Custom splash screen, push notifications Can open external links in external browser Cons:  Requi...

REPOST: Studying WATER PUMP by ROMAN ENGINEERING

*^ Ini yg Asli Gan! Mekanisme pada Concrete Pump: Kok ky Sistem Mekanik Romawi ya?! Tapi malah bisa HANYA pake PER aka bukan "MATA BOR look a like" Mekanisme Drill yg Cost Pembuatan bikin REPOT aka harus Tool SUPER Khusus Dari Material Besi yg digunakan terlihat langsung secara kasat mata Jauh Lebih Banyak drpd Per Biasa seperti yg ditunjukkan pd Video Alternatif dgn Penggunaan PER Video dr Instagram: Source: YouTube Rome's drainage machines #history #romanempire #engineering