2. MENDEKLARASIKAN PROPERTY

Misalkan kita memiliki class Mobil yang menyimpan data tentang mobil, seperti nama, warna, dan kecepatan. Di sini, kita mendeklarasikan properti nama, warna, dan kecepatan dalam class Mobil secara eksplisit.

```

AYO PAHAMI!


Ikuti langkah-langkah berikut untuk memahami dan mempraktikkan konsep penting dalam pemrograman PHP berbasis objek.

  1. Baca dan pahami kode program PHP yang ditampilkan di kotak sebelah kiri.
  2. Ketik ulang seluruh baris kode tersebut ke dalam editor di sebelah kanan sesuai urutan dan struktur aslinya.
  3. Pastikan setiap detail penulisan seperti titik koma (;), tanda kurung, dan indentasi sesuai dengan contoh.
  4. Setelah selesai mengetik, klik tombol RUN untuk menjalankan kode.
  5. Perhatikan hasil output program yang muncul.
  6. Salin dan tuliskan output tersebut ke dalam kolom yang tersedia di bawah.
  7. Terakhir, klik tombol Periksa Output untuk mengecek apakah hasil output kamu sudah benar.

💡 Catatan: Aktivitas Ayo Pahami ini merupakan syarat untuk dapat mengakses halaman selanjutnya. Pastikan output yang kamu masukkan sudah benar agar kamu dapat melanjutkan ke materi berikutnya.

<?php
class Mobil {
    public $nama;  // Properti publik untuk nama mobil
    public $warna; // Properti publik untuk warna mobil
    private $kecepatan; // Properti privat untuk kecepatan mobil

    // Method untuk mengatur nama mobil
    public function setNama($namaBaru) {
        $this->nama = $namaBaru;
    }

    // Method untuk mengatur warna mobil
    public function setWarna($warnaBaru) {
        $this->warna = $warnaBaru;
    }

    // Method untuk mengatur kecepatan mobil
    private function setKecepatan($kecepatanBaru) {
        $this->kecepatan = $kecepatanBaru;
    }

    // Method untuk mendapatkan informasi mobil
    public function infoMobil() {
        return "Nama Mobil: " . $this->nama . ", Warna: " . $this->warna . ", Kecepatan: " . $this->kecepatan . " km/jam";
    }
}

// Membuat objek dari class Mobil
$mobilSaya = new Mobil();
$mobilSaya->setNama("Toyota Corolla");
$mobilSaya->setWarna("Merah");

// Akses ke properti dan method
echo $mobilSaya->infoMobil();
*Tulis output sama persis seperti yang kamu lihat di bagian [Output] diatas.
*Jika output menunjukkan pesan error, cukup tulis "Error" saja di kolom ini.
```
Menetapkan Nilai Default pada Properti

PHP memungkinkan Anda untuk menetapkan nilai default pada properti class. Misalnya, kita ingin menetapkan nilai default untuk properti warna menjadi "Putih" dan untuk kecepatan menjadi 0.

AYO PAHAMI!


Ikuti langkah-langkah berikut untuk memahami dan mempraktikkan konsep penting dalam pemrograman PHP berbasis objek.

  1. Baca dan pahami kode program PHP yang ditampilkan di kotak sebelah kiri.
  2. Ketik ulang seluruh baris kode tersebut ke dalam editor di sebelah kanan sesuai urutan dan struktur aslinya.
  3. Pastikan setiap detail penulisan seperti titik koma (;), tanda kurung, dan indentasi sesuai dengan contoh.
  4. Setelah selesai mengetik, klik tombol RUN untuk menjalankan kode.
  5. Perhatikan hasil output program yang muncul.
  6. Salin dan tuliskan output tersebut ke dalam kolom yang tersedia di bawah.
  7. Terakhir, klik tombol Periksa Output untuk mengecek apakah hasil output kamu sudah benar.

💡 Catatan: Aktivitas Ayo Pahami ini merupakan syarat untuk dapat mengakses halaman selanjutnya. Pastikan output yang kamu masukkan sudah benar agar kamu dapat melanjutkan ke materi berikutnya.

<?php
class Mobil {
    public $nama = "Honda Civic";  // Nilai default
    public $warna = "Putih";       // Nilai default
    private $kecepatan = 0;        // Nilai default

    public function infoMobil() {
        return "Nama Mobil: " . $this->nama . ", Warna: " . $this->warna . ", Kecepatan: " . $this->kecepatan . " km/jam";
    }
}

$mobilSaya = new Mobil();
echo $mobilSaya->infoMobil();
*Tulis output sama persis seperti yang kamu lihat di bagian [Output] diatas.
*Jika output menunjukkan pesan error, cukup tulis "Error" saja di kolom ini.
```
Menggunakan Properti Statis

Dalam beberapa kasus, kita ingin property yang terkait dengan class dan bukan dengan object individual. Ini dapat dilakukan dengan menggunakan properti static. Berikut adalah contoh penggunaan properti static untuk menghitung jumlah objek yang dibuat dari class.

AYO PAHAMI!


Ikuti langkah-langkah berikut untuk memahami dan mempraktikkan konsep penting dalam pemrograman PHP berbasis objek.

  1. Baca dan pahami kode program PHP yang ditampilkan di kotak sebelah kiri.
  2. Ketik ulang seluruh baris kode tersebut ke dalam editor di sebelah kanan sesuai urutan dan struktur aslinya.
  3. Pastikan setiap detail penulisan seperti titik koma (;), tanda kurung, dan indentasi sesuai dengan contoh.
  4. Setelah selesai mengetik, klik tombol RUN untuk menjalankan kode.
  5. Perhatikan hasil output program yang muncul.
  6. Salin dan tuliskan output tersebut ke dalam kolom yang tersedia di bawah.
  7. Terakhir, klik tombol Periksa Output untuk mengecek apakah hasil output kamu sudah benar.

💡 Catatan: Aktivitas Ayo Pahami ini merupakan syarat untuk dapat mengakses halaman selanjutnya. Pastikan output yang kamu masukkan sudah benar agar kamu dapat melanjutkan ke materi berikutnya.

<?php
class Mobil {
    public static $jumlahMobil = 0; // Properti statis

    public function __construct() {
        self::$jumlahMobil++; // Setiap objek yang dibuat akan menambah jumlahMobil
    }

    public static function jumlahMobil() {
        return self::$jumlahMobil;
    }
}

$mobil1 = new Mobil();
$mobil2 = new Mobil();

echo "Jumlah Mobil: " . Mobil::jumlahMobil();
*Tulis output sama persis seperti yang kamu lihat di bagian [Output] diatas.
*Jika output menunjukkan pesan error, cukup tulis "Error" saja di kolom ini.
```
Deklarasi Properti secara Implisit

Anda juga bisa mendeklarasikan properti secara implisit di PHP, meskipun ini tidak disarankan karena bisa menyebabkan kesalahan yang sulit ditemukan. Berikut adalah contoh deklarasi properti secara implisit di luar class.

AYO PAHAMI!


Ikuti langkah-langkah berikut untuk memahami dan mempraktikkan konsep penting dalam pemrograman PHP berbasis objek.

  1. Baca dan pahami kode program PHP yang ditampilkan di kotak sebelah kiri.
  2. Ketik ulang seluruh baris kode tersebut ke dalam editor di sebelah kanan sesuai urutan dan struktur aslinya.
  3. Pastikan setiap detail penulisan seperti titik koma (;), tanda kurung, dan indentasi sesuai dengan contoh.
  4. Setelah selesai mengetik, klik tombol RUN untuk menjalankan kode.
  5. Perhatikan hasil output program yang muncul.
  6. Salin dan tuliskan output tersebut ke dalam kolom yang tersedia di bawah.
  7. Terakhir, klik tombol Periksa Output untuk mengecek apakah hasil output kamu sudah benar.

💡 Catatan: Aktivitas Ayo Pahami ini merupakan syarat untuk dapat mengakses halaman selanjutnya. Pastikan output yang kamu masukkan sudah benar agar kamu dapat melanjutkan ke materi berikutnya.

<?php
class Pengguna {}

$pengguna1 = new Pengguna();
$pengguna1->nama = "Alice"; // Properti dideklarasikan secara implisit
echo $pengguna1->nama;
*Tulis output sama persis seperti yang kamu lihat di bagian [Output] diatas.
*Jika output menunjukkan pesan error, cukup tulis "Error" saja di kolom ini.
```
Menggunakan Method Magis __get() dan __set()

PHP juga memiliki method magis __get() dan __set() yang memungkinkan kita untuk mengakses atau menetapkan nilai pada properti yang tidak ada. Ini berguna jika kita ingin menangani data secara dinamis, seperti mengakses nilai dari database.

AYO PAHAMI!


Ikuti langkah-langkah berikut untuk memahami dan mempraktikkan konsep penting dalam pemrograman PHP berbasis objek.

  1. Baca dan pahami kode program PHP yang ditampilkan di kotak sebelah kiri.
  2. Ketik ulang seluruh baris kode tersebut ke dalam editor di sebelah kanan sesuai urutan dan struktur aslinya.
  3. Pastikan setiap detail penulisan seperti titik koma (;), tanda kurung, dan indentasi sesuai dengan contoh.
  4. Setelah selesai mengetik, klik tombol RUN untuk menjalankan kode.
  5. Perhatikan hasil output program yang muncul.
  6. Salin dan tuliskan output tersebut ke dalam kolom yang tersedia di bawah.
  7. Terakhir, klik tombol Periksa Output untuk mengecek apakah hasil output kamu sudah benar.

💡 Catatan: Aktivitas Ayo Pahami ini merupakan syarat untuk dapat mengakses halaman selanjutnya. Pastikan output yang kamu masukkan sudah benar agar kamu dapat melanjutkan ke materi berikutnya.

<?php
class Pengguna {
    private $data = [];

    // Method magis __get untuk mengambil nilai properti
    public function __get($property) {
        if ($property === 'biografi') {
            return "Biografi panjang..."; // Mengambil data dari database
        }
    }

    // Method magis __set untuk menetapkan nilai properti
    public function __set($property, $value) {
        if ($property === 'biografi') {
            $this->data['biografi'] = $value; // Menyimpan data ke database
        }
    }
}

$pengguna = new Pengguna();
echo $pengguna->biografi; 
$pengguna->biografi = "Biografi baru"; // Menyimpan data baru
*Tulis output sama persis seperti yang kamu lihat di bagian [Output] diatas.
*Jika output menunjukkan pesan error, cukup tulis "Error" saja di kolom ini.

LATIHAN

Susunlah potongan-potongan kode berikut agar membentuk program PHP yang benar dalam mendeklarasikan property dan method di dalam sebuah class.
Bacalah setiap baris kode dengan cermat, lalu tuliskan urutan nomornya sesuai logika struktur program PHP.

Ketik jawabanmu berupa deretan angka, dipisahkan dengan spasi, pada kolom yang tersedia.
Contoh format penulisan jawaban yang benar: 4 3 1 2 5 6

Perhatikan juga posisi tanda kurung kurawal } dan komentar di sampingnya, karena ini akan membantumu memahami blok mana yang ditutup (method atau class).

Setelah yakin dengan urutannya, klik tombol Cek Jawaban untuk melihat apakah susunanmu sudah tepat.
Jika masih salah, kamu dapat memperbaiki dan mencoba kembali. Untuk menghapus jawaban dan mengulang dari awal, klik tombol Reset.

💡 Catatan: Latihan ini merupakan syarat untuk membuka halaman selanjutnya. Pastikan kamu menyusunnya dengan benar agar dapat lanjut ke materi berikutnya.

  • 1. public function infoTanaman() {
  • 2. return "Nama: " . $this->nama;
  • 3. public $nama = "Bambu";
  • 4. class Tanaman {
  • 5. } // penutup method infoTanaman()
  • 6. } // penutup class Tanaman
```