-->

SIPITUAMA

"Sistem Informasi Penyajian Ilmu Teknologi, Uni Akademis, dan Manajemen Administrasi"
close

Saturday, 6 April 2019

how to become a professional web/ как стать профессиональным вебом

SOLUSI MENJADI WEB PROFESIONAL

A. MODEL OBJEK PHP

Bagaimana  sesungguhnya model  objek  pada PHP? Fitur model  objek baru   dari   PHP  5   merupakan jawaban  tepat   untuk  menjelaskannya. Sebenarnya   kemampuan  sebagai   pemrograman   yang    mendukung orientasi  objek  bukanlah satu-satunya  fitur baru  dari  PHP 5.  Akan tetapi, dukungan  orientasi   objek  ini  merupakan  salah   satu  fitur yang   cukup menonjol  sekali.  Terbukti dengan adanya perbaikan fitur berbasis objek dalam   versi  ini  dan   ditambahkan  pula  model  objek  baru   yang   tidak ditemukan di versi sebelumnya.

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;

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.

Dalam  single  inheritance,  sebuah class  turunan  merupakan turunan  dari sebuah  class   induk,   perhatikan  ilustrasi  pada  Gambar 8.1.  Terlihat bahwa class B mewarisi  class A, bentuk lain menjelaskan bahwa class B serta class C adalah turunan dari class A.


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


Pada    kenyataannya,   hal    ini   menimbulkan    persoalan   yang    tidak sederhana, karena penghapusan fitur dapat menimbulkan  beberapa konsekuensi  berbahaya sehingga sedikit sekali yang  menyarankan penghapusan fitur. Listing program berikut akan  menunjukkan  bagaimana implementasi pewarisan.

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.

              Pemrogram  dapat mengimplementasikan superclass  untuk memanggil class abstrak  yang  menyatakan perilaku umum.



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:


  • Modularitas

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




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






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();

?>

Pada  listing program di atas,  oleh karena konstruktor dipanggil terpisah maka  dibuat  objek tersendiri.  Perhatikan  tampilan  hasil eksekusi program, meskipun  objek   $d berhasil   dijalankan,  namun   terdapat  pesan  yang menyatakan bahwa diperlukan  argumen pada pemanggilan parameter. 
 













Share:

0 komentar:

Post a Comment

;}

Support

VIDEO

SPEKTAKULER