{Kurung Kurawal}

Konsep dasar Pemrograman OOP

Object Oriented Programming (OOP) atau Pemrograman Berbasis Obyek adalah suatu paradigma pemrograman dengan memandang pada sebuah “obyek”, yang mana memiliki data dalam bentuk field atau dikenal juga sebagai atribute, serta prosedur, atau disebut methods.

Pengertian di atas saya kutip dari wikipedia. Tapi dalam post ini, saya hanya ingin menyampaikan pondasi dari OOP itu sendiri, yaitu scope of work, atau lebih tepatnya, scope of codes.

Dalam pemrograman komputer, OOP, seperti pengertian di atas, menitikberatkan seluruh operasi pada sebuah obyek. Namun, bahasa pemrograman yang berbeda, mungkin akan menggunakan nama yang berbeda, di Java, dikenal dengan Object, di PHP, dikenal dengan Class. Tentu saja, konsepnya sama saja.

Lalu, apa itu scope yang saya maksudkan di atas? Misalnya seperti ini, terdapat sebuah obyek, atau benda, yaitu Pohon. Ketika saya menyebutkan pohon, Anda tahu apa itu Pohon (bahasa Indonesia) ? Saya tidak tahu arti kamus bahasa Indonesianya, tapi saya yakin Anda bisa menunjukkan apa itu Pohon, karena di kepala Anda, pasti bisa membayangkan, ada ranting, ada daun, ada akar, mungkin ada buah, dan lain lain.

Ketika Anda membayangkan Pohon tersebut, dalam pemrograman, hal tersebut hanyalah deklarasi obyek/class, pohonnya belum ada bukan ? Anggaplah saya menuliskan kode PHP berikut

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
class Pohon {
    // Saya belum akan membahas private public dan sejenisnya
 
    // Anda bisa menggambarkan bahwa pohon itu memiliki batang, dengan lebar tertentu
    private $lebar_batang;
 
    // ada daun, yang mana kemungkinan besar berwarna hijau
    private $warna_daun = 'hijau';
 
    // ada akar, serabut, tunggang, dan lain sebagainya
    private $jenis_akar;
 
    // dan lain lain
    // ...
}
?>

Sampai dengan kode di atas, apakah ada Pohon nya ? Belum. Kita baru menggambarkan pohon tersebut di kepala kita saja, atau dalam pemrograman, kita baru membuat penjelasan tentang sebuah Pohon. Tentu saja, setiap bahasa pemrograman memiliki aturan sendiri tentang bagaimana membuat deskripsi obyek, untuk PHP, silakan kunjungi dokumentasi resminya. Lalu bagaimana membuat sebuah Pohon? Umumnya, menggunakan keyword new. Misalnya

1
2
3
<?php
$obyek = new Pohon();
?>

Dengan kode $obyek = new Pohon(); dalam PHP, kita membuat sebuah variable, namanya $obyek, isinya? Ya sebuah Pohon. Anggaplah, sekarang ini, Anda sudah membawa sebuah pot bunga, berisi sebatang pohon, nah itu pohonnya. Sudah berbentuk. Kembali lagi, dalam pemrograman, pot bunga tersebut adalah variable $obyek.

Nah, contoh kode di atas akan kita ubah dan tambahkan sedikit, menjadi berikut

1
2
3
4
5
6
7
<?php
$a = new Pohon();
$b = new Pohon();
 
$c = $a;
$d = $b;
?>

Variable $a dan $b adalah 2 pohon yang berbeda. Benar benar berbeda, meskipun, katakanlah jenis pohon yang sama. Jadi, bayangkan bahwa saat ini Anda memiliki 2 pot bunga yang berbeda, yaitu pot $a dan pot $b. Sama sama, misalnya, pohon cabai. Tapi tetap $a dan $b adalah 2 pohon yang berbeda, sama seperti 2 manusia yang berbeda.

Maka, batang, daun, akar, dan seluruh atribut dalam pohon/obyek $a dan $b adalah tidak sama. Tetapi hal tersebut menjadi scope atau urusan internal dalam obyek $a dan $b tersebut. Ibaratnya, program tidak mau tau apakah benar Pohon memiliki daun atau tidak, punya buah atau tidak, yang penting, bagi Program, Pohon itu telah terbentuk.

Sedangkan $c dan $d adalah merujuk ke $a dan $b, artinya, di kode di atas, hanya ada 2 pohon, bukan 4.

Sebelum masuk ke materi yang lebih dalam, pahamilah terlebih dahulu konsep sederhana di atas. Kode jangan dipaksakan harus hapal, tapi konsep harus benar benar dipahami, untuk memudahkan dalam belajar pemrograman.

Semoga artikel ini bisa berguna untuk kita semua.