Digitalmapia adalah situs dimana semua orang bisa menulis artikelnya sendiri. Klik "Login/Register untuk masuk, lalu klik "Tulis Artikel" untuk mulai menulis.

Belajar Bahasa Pemrograman PHP Part 7: OOP Pada PHP

Seperti halnya pada bahasa pemrograman lain seperti java, pada PHP juga dikenal adanya OOP (Object Oriented Programming) atau dikenal juga dengan pemrograman berorientasi objek. Pada OOP dikenal adanya class, atribute dan method. Class adalah sebuah definisi dari atribut dan method yang kemudian bisa dibuat objeknya.

Perhatikan contoh class berikut ini:

<?php 
	class nama_class
	{

		$attribute1 = "nilai attribute 1";
		$attribute2 = "nilai attribute 2";

		public function method1()
		{
			# code...
		}

		public function method2()
		{
			# code...
		}
	}
?>

Sebuah class terdiri dari nol, satu atau beberapa atribut dan juga terdiri dari nol, satu atau beberapa method. Sebuah class kemudian dapat di instansiasi dengan menggunakan syntax new. Sebagai contoh:

$instansiasi = new nama_class();

Dengan cara seperti itu, maka atribut dan method yang ada pada class bernama ‘nama_class’ dapat diakses melalui variabel $instansiasi Contoh:

<?php 
	class nama_class
	{

		$attribute1 = "nilai attribute 1";
		$attribute2 = "nilai attribute 2";

		public function method1()
		{
			# code...
		}

		public function method2()
		{
			# code...
		}
	}

	$instansiasi = new nama_class();

	//Contoh mengubah nilai attribute 1
	$instansiasi->attribute1 = "Hello World";

	//Contoh mengambil nilai attribute 1
	$apakabar = $instansiasi->attribute1;
?>

Pada OOP, class hanya berfungsi sebagai ‘cetakan/alat cetak’ untuk membuat objek. Artinya ketika anda mengubah nilai dari sebuah atribut, maka yang berubah adalah atribut dari objek tersebut, bukan class-nya. Misal:

<?php 
	class nama_class
	{

		$attribute1 = "nilai attribute 1";
		$attribute2 = "nilai attribute 2";

		public function method1()
		{
			# code...
		}

		public function method2()
		{
			# code...
		}
	}

	$instansiasi  = new nama_class();
	$instansiasi2 = new nama_class();

	$instansiasi->attribute1 = "Hello World";
	$instansiasi2->attribute1 = "Tidak Hello World";

	echo $instansiasi->attribute1;
	echo $instansiasi2->attribute1;

?>

Sekarang, jika program diatas anda buka melalui browser, maka ‘attribute1′ dari objek ‘$instansiasi’ akan berbeda dengan ‘attribute1′ dari objek ‘$instansiasi2′. Pada $instansiasi, attribute1 = "Hello World" sedangkan pada ‘$instansiasi2′ attribute1 = "Tidak Hello world".

Memanggil Method

Untuk memanggil method dari sebuah objek caranya adalah sebagai berikut:

<?php 

	// definisi class dipersingkat supaya tidak memakan tempat.
	class nama_class
	{

		public function method1()
		{
			# code...
		}

	}

	$instansiasi  = new nama_class();

	// Memanggil method dari sebuah class
	$instansiasi->method1();

?>

Mengenal Access Modifier

Pada PHP, seperti halnya juga pada bahasa pemrograman lain, terdapat batasan bagaimana sebuah attribute atau method yang ada di dalam sebuah class bisa diakses. Batasan tersebut dinamakan access modifier. Ada beberapa macam access modifier diantaranya adalah public, private dan protected.

<?php 

	class nama_class
	{
		// access modifier pada attribute.
		public    $attribute1 = "Hello";
		private   $attribute2 = "Apa Kabar";
		protected $attribute2 = "Apa Kabar";

		// access modifier ditulis sebelum syntax 'function'
		public function method1()
		{
			# code...
		}

	}

?>

Perbedaan access modifier public, private dan protected adalah sebagai berikut:

  • Pada access modifier ‘public’ sebuah attribute atau fungsi dapat diakses dari mana saja termasuk dari luar class tersebut.
  • Pada access modifier ‘private’ attribute atau fungsi hanya dapat diakses dari dalam class yang bersangkutan.
  • Sedangkan, pada access modifier ‘protected’ attribute atau fungsi hanya dapat diakses dari class yang bersangkutan dan class turunannya. Mengenai apa itu class turunan, akan saya bahas pada bagian inheritance dan polimorfisme pada posting selanjutnya.

Menggunakan Keyword Static

Dengan menggunakan keyword static, anda bisa mengakses atribut dan method dari suatu class tanpa melakukan instansiasi dari class tersebut. Cara mendefinisikan atribut static adalah sebagai berikut:

<?php 

	class nama_class
	{
		public static $attribute1 = "Hello";

	}

?>

Kemudian anda bisa mengakses $attribute1 hanya dengan cara sebagai berikut tanpa harus melakukan instansiasi (menggunakan perintah new):

<?php 

	$hello = nama_class::$attribute1;

?>

Kelemahan dari atribut yang menggunakan keyword static adalah tidak bisa diakses dari class yang diinstansiasi. Dengan demikian, kode program seperti yang ditunjukkan di bawah ini akan mengalami error:

<?php 

	$the_class = new nama_class();
	$hello = $the_class->$attribute1;

?>

Closure

Sampai disini anda sudah belajar mengenai atribut (disebut juga properti), method, access modifier dan static method. Pada tulisan selanjutnya kita akan belajar mengenai inheritance dan polimorfisme.

php wallpapper
  • Faradillah Nurul Hikmah

    selesai sudah :)
    di tunggu artikel selanjutnya mengenai inheritance dan polimorfisme :)
    izin copas utk pembelajaran pribadi pak