how to become a professional web/ как стать профессиональным вебом
- Modularitas
SOLUSI MENJADI WEB PROFESIONAL
A. MODEL OBJEK PHP
Tidak dapat dipungkiri memang, pada kenyataannya untuk saat
ini fitur canggih tersebut belum digunakan secara
meluas.
Hal
ini bisa jadi karena belum
banyak web server
yang
menggunakannya dan
masih setia
dengan PHP 4,
selain itu juga
karena performansinya masih memberikan sedikit keraguan bagi beberapa kalangan.
Terlepas dari adanya kekurangan pada pemrograman berorientasi objek dalam
PHP 5,
pembahasan di sini dimaksudkan untuk menjelaskan bagaimana membuat
aplikasi web
berorientasi objek. Bagaimanapun juga, pendekatan pemrograman dengan berorientasi
objek mampu menyajikan kode program lebih sederhana dan
reusability, sehingga memudahkan Anda mengembangkan aplikasi web yang
kompleks.
B. PROSEDURAL DAN ORIONTASI OBJEK
Kebanyakan pemrogram
lebih familiar dengan pemrograman terstruktur
atau prosedural. Salah
satu faktor
penyebabnya adalah usianya
yang sudah
cukup matang, sehingga juga sudah
meluas digunakan oleh berbagai kalangan.
Di mana
sekitar tahun
1950 diperkenalkan bahasa pemrograman Fortran dengan tipe prosedural.
Ada pun
pemrograman berorientasi objek
meskipun sebenarnya juga sudah cukup lama
dikenal namun
penggunaannya tidak seluas pemrograman prosedural. Kurang lebih sekitar tahun 1970 muncul SmallTalk yang memperkenalkan orientasi
objek.
Seiring dengan semakin meningkatnya kebutuhan, orientasi
objek dipandang sebagai solusi yang cukup menarik dalam
mengembangkan aplikasi.
Berkaitan dengan pendekatan yang digunakan dalam pemrograman, PHP
memungkinkan Anda untuk membuat
program menggunakan pendekatan secara prosedural
atau berorientasi objek.
Secara normal, kebanyakan pemrogram lebih
sering menggunakan pendekatan prosedural, apalagi sebelumnya dukungan objek pada PHP masih belum selengkap saat
ini. Oleh
karena itu, apabila Anda baru
mengenal PHP, maka pemrograman prosedural mungkin akan
lebih akrab bagi
Anda. Akan tetapi, apabila Anda ingin mengembangkan aplikasi menggunakan PHP untuk implementasi lebih baik, disarankan mengenal orientasi
objek dari PHP.
Untuk mengetahui lebih jelas
mengenai keduanya,
kita akan
membahas satu per
satu, karena bagaimana
pun juga baik
prosedural maupun orientasi
objek sangat diperlukan dalam mengembangkan aplikasi.
C. PEMROGRAMAN PROSEDURAL
Kalangan yang fanatik
terhadap prosedural umumnya tidak menyaran- kan penggunaan pendekatan abstrak. Contoh
ekstrem
dari kalangan ini
adalah melakukan langkah penolakan
objek,
dan tidak menerima abstraksi
tentunya. Mereka cenderung melihat bagaimana menghasilkan sesuatu
yang cepat dan tidak
memperhatikan jika orang lain
dapat membaca kode programnya.
Bahkan tidak
jarang yang menganggap bahwa
pemrograman adalah
kompetisi kecepatan pada aktivitas tim.
Dalam
pengembangan PHP, kalangan seperti inilah yang memungkinkan
pembuatan modul PECL serta memiliki
kontribusi terhadap efisiensi kode program.
Listing program berikut menunjukkan contoh penulisan program oleh kalangan prosedural.
<?php
/* procedural.php */
print
"Hello, world.";
?>
D. PEMROGRAMAN BERORENTASI OBJEK
Lain halnya
dengan kalangan
yang fanatik terhadap objek,
umumnya mereka tidak begitu memperhatikan faktor performansi
pada pendekatan yang dilakukan.
Bahkan terlihat kalangan ini sangat menikmati konsep desain abstrak, karena
orang-orang seperti ini
biasanya berkarir di bidang manajemen
proyek atau
dokumentasi.
Contoh penulisan listing program di kalangan orientasi objek dapat digambarkan seperti
berikut:
<?php
/* objek.php */
class HelloWorld {
function myPrint() {
print "Hello, world.";
}
}
$myHelloWorld = new HelloWorld();
$myHelloWorld->myPrint();
Dalam lingkungan PHP,
kalangan orientasi objek
lebih cenderung membuat
modul PEAR dan memiliki kontribusi besar
terhadap kemudahan pengelolaan kode program.
E. KONSEP DASAR OOP
Orientasi objek
telah terbukti kelayakannya selama
bertahun-tahun dan terbukti
pula sebagai pemrograman
yang
cukup tangguh. OOP
merupakan paradigma pemrograman yang
cukup
dominan
saat ini, karena mampu memberikan solusi kaidah pemrograman modern. Meskipun
demikian, bukan berarti bahwa pemrograman prosedural sudah
tidak layak lagi.
OOP diciptakan karena dirasakan
masih adanya keterbatasan pada
bahasa pemrograman tradisional. Konsep
dari
OOP sendiri adalah, semua
pemecahan masalah
dibagi ke dalam
objek. Dalam
OOP data dan
fungsi-fungsi yang akan
mengoperasikannya digabungkan menjadi
satu kesatuan yang
dapat disebut sebagai objek.
Proses perancangan atau
desain dalam
suatu pemrograman
merupakan
proses yang tidak terpisah dari
proses yang
mendahului, yaitu analisis
dan proses
yang mengikutinya.
Pembahasan mengenai
orientasi objek
tidak
akan terlepas dari
konsep objek seperti
inheritance
atau penurunan, encapsulation atau pembung- kusan, dan polymorphism atau kebanyakrupaan. Konsep-konsep ini merupakan fundamental dalam orientasi
objek yang
perlu sekali
dipa- hami
serta digunakan dengan baik,
dan menghindari penggunaannya yang
tidak tepat.
F. CLASS DAN OBJEK
Dalam lingkungan program berorientasi objek,
pemrogram men- definisikan class secara statik. Pada
saat run-time, class akan
diinstantiasi menjadi
objek. Ada pun
objek yang
merupakan instantiasi dari suatu class selalu dapat diacu melalui current objek,
apa pun nama instant-nya.
Dapat didefinisikan bahwa class merupakan struktur
data dari suatu objek,
lebih jelasnya adalah sebuah bentuk
dasar atau blueprint yang mendefinisikan variabel
method
umum pada semua objek dari beberapa macam. Objek
sendiri adalah kumpulan
variabel dan fungsi yang dihasilkan
dari template
khusus atau disebut
class.
Kiranya cukup penting untuk membedakan antara class dengan objek.
Di mana
objek
adalah elemen pada saat
run-time
yang akan diciptakan, dimanipulasi, dan dihancurkan ketika eksekusi. Ada pun class merupakan definisi statik dari himpunan
objek yang mungkin diciptakan sebagai instantiasi dari class. Sederhananya adalah
kumpulan objek yang mempunyai atribut
sama. Dengan
demikian, pada saat
run-time
maka yang kita miliki adalah objek.
Paling tidak suatu class memiliki
struktur sebagai berikut:
class
NamaClass {
Agar dapat digunakan,
maka class memerlukan
atribut dan
operasi, di mana dibuat dengan cara mendeklarasikan variabel
di dalam class menggunakan keyword var.
class namaclass { var
$atribut; var $atribut2;
$atribut; var $atribut2;
function
operasi() {
}
}
Dalam bahasa pemrograman lain seperti Java, file
program harus disimpan sama dengan nama class.
Lain halnya
dengan PHP, Anda dapat memberikan nama yang
tidak harus sama.
G. INHERITANCE
Untuk menggambarkan inheritance atau pewarisan di dalam pemro- graman, pada saat
Anda menggunakan kembali atau
mengganti method dari class yang
sudah ada, serta
ketika menambahkan field instant dan method baru,
maka pada saat
itulah Anda bekerja
dengan inheritance. Konsep
ini merupakan konsep yang
fundamental dalam orientasi
objek dan
harus digunakan dengan baik.
Ada beberapa macam jenis
inheritance yang dikenal dalam pemro- graman berorientasi objek,
di antaranya adalah
single inheritance dan multiple inheritance.
Ada pun pada multiple
inheritance, sebuah class
turunan mewarisi lebih dari satu class induk (join). Hal ini dapat menimbulkan beberapa persoalan jika ternyata
ada fitur di class-class induk yang
ternyata konflik,
misalnya konflik
nama atau body
akan dibawa, secara intrinsik menjadi
bagian dari class anak. Dalam beberapa keadaan, membawa secara intrinsik semua
atribut
dan method tidak dikehendaki, sehingga pemroses bahasa menyediakan
sarana untuk:
•
Menambah fitur baru
•
Mengubah atau mengganti fitur yang diwarisi
•
Menghapus fitur yang
diwarisi
dan
•
Menentukan fitur yang masih belum terdefinisi
Hasil tampilan dari listing program di atas
adalah “Halo, saya
Anak dari Bapak”
dan bukannya “Halo,
saya Bapak”. Mengapa demikian? Memang di dalam
class Bapak
didefinisikan variabel nama
dengan nilai Bapak, selanjutnya
kita membuat objek dari
class Anak yang merupakan
turunan dari
class Bapak.
Lihat bahwa instantiasi
sekaligus mengisikan parameter baru “Anak dari Bapak”, sehingga ketika
dipanggil maka mengisikan $this->nama dengan parameter
tersebut.
Ada pun di dalam
implementasi pemrograman, kebanyakan pemrogram merasakan beberapa
manfaat dari
inheritance atau pewarisan, di antaranya:
• Subclass mampu
menyediakan perilaku khusus
dari elemen
dasar yang disediakan oleh superclass.
BACA JUGA..............
H. ENCAPSULATION
Konsep fundamental berikutnya
di
dalam
pemrograman berorientasi objek adalah encpsulation atau pembungkusan. Orientasi objek
men- dukung karakteristik enkapsulasi menggunakan konsep
class,
dan setelah terbentuk maka
class akan bertindak sebagai entitas
yang terenkapsulasi (terbungkus).
Tentu saja enkapsulasi objek ini memiliki maksud
tersendiri, terutama
dalam impelementisnya ketika
mengembangkan perangkat lunak berbasis objek.
Sering pula
dikatakan bahwa enkapsulasi merupakan teknik
penyem- bunyian
informasi ke dalam struktur. Tujuan
enkapsulasi adalah untuk menyembunyikan properti dan method dari suatu objek, dan hanya menampilkan properti
serta method
yang dibutuhkan. Ada
pun
properti atau method
yang ditampilkan dari
suatu objek
dikenal dengan istilah interface. Pembahasan mengenai interface akan dijelaskan dalam subbab tersendiri.
Beberapa keuntungan yang didapatkan pemrogram melalui penggunaan enkapsulasi adalah:
Kode program untuk objek dapat ditulis serta dikelola secara independen untuk kode program pada objek lainnya.
•
Informasi yang
tersimpan dan tersembunyi
Objek memiliki interface
public yang
dapat digunakan
oleh objek lain untuk berkomunikasi. Selain itu, objek juga
memiliki
informasi private yang
dapat diubah setiap
saat dengan tanpa mempengaruhi objek lain yang
bergantung padanya.
I. POLYMORPHISM
I. POLYMORPHISM
Istilah polymorphism berasal dari kata
poly yang berarti
banyak (many) dan morphos yaitu bentuk (form). Istilah
ini ternyata tidak hanya digunakan dalam
bahasa pemrograman, akan tetapi bidang-bidang seperti
biologi dan
kimia juga sering memakainya. Terlepas dari
adanya bidang lain yang menggunakan, tentu saja
di sini kita akan membahas dari sisi pemrograman.
Dalam pemrograman berorientasi objek,
polymorphism merupakan hasil alamiah dari hubungan is-a dan suatu mekanisme
dari
message passing, inheritance,
serta konsep
substitutability.
Sebagaimana diketahui, salah satu kemampuan menonjol
dari pendekatan OOP
bahwa peralatan dapat dikombinasikan dalam
bermacam cara, dan menghasilkan teknik
berbagi kode dan
penggunaan ulang. Oleh karena itu, di dalam pemrograman berorientasi objek, polymorphism diartikan merupakan suatu konsep yang menyatakan bahwa
sesuatu
yang sama dapat memiliki berbagai bentuk serta perilaku berbeda.
Berkaitan dengan eksepsi
overloading, polymorphism
membuat kemung-
kinan melalui adanya variabel
yang disebut variabel polymorphism. Begitu pula di dalam
overloading, suatu method dikatakan polymorphism apabila memiliki
banyak bentuk.
Perlu diperhatikan bahwa di dalam PHP,
hanya fungsi yang merupakan member
dari class
yang
dapat meng- gunakan konsep polymorphism ini.
J. INSTANTIATION
BACA JUGA..............
J. INSTANTIATION
Begitu Anda selesai
mendeklarasikan class,
maka Anda akan
melangkah ke pembuatan objek. Hal ini juga
Anda alami
ketika
membuat instance atau
instantiating suatu class.
Dalam pembuatan objek dengan kata
kunci (keyword)
new,
Anda perlu menetapkan apa
class objek
yang akan di-instance dan
menyediakan parameter pendukung.
<?php
/* instantiasi.php */
class
NamaClass {
function NamaClass ($param) {
echo "Pemanggilan dengan Parameter $param <br>";
}
}
$a = new NamaClass ("Satu");
$b = new NamaClass ("dua");
$b = new NamaClass ("tiga");
$d = new NamaClass();
?>
Post a Comment