05 November, 2010

Abstrak Codeigniter


1.1       Latar Belakang

Penulisan kode pemrograman adalah hal yang mutlak dalam pengembangan perangkat lunak berbasis web, baik itu perangkat lunak aplikasi sistem informasi ataupun  sekedar  pengembangan  website  profil.  Semua  model  pengembangan perangkat lunak, baik itu model tradisional seperti System Development Life Cycle (SDLC) Waterfall, maupun model pengembangan perangkat lunak modern seperti model pengembangan Prototype ataupun Object  Oriented, semua melalui tahap pengimplementasian ke dalam kode pemrograman.
Di     lapangan     proses    penulisan      kode    pemrograman      ini     seringkali membutuhkan banyak waktu dan banyak sumber daya pada saat mengembangkan perangkat lunak skala menengah dan besar. Semakin besar skala perangkat lunak berbasis web yang dikembangkan tentunya diperlukan strategi jitu agar mencapai sasaran yang ditargetkan. Selain itu dalam pengembangan perangkat lunak skala besar diperlukan banyak orang berkolaborasi,  sehingga diperlukan sebuah cara pandang  yang  sama  untuk  memudahkan  komunikasi  satu   sama  lain  untuk mengkolaborasikan kode pemrograman [1].
Permasalahan  lain  yang  dihadapi  pada  tahap  ini  adalah  penulisan  kode pemrograman   yang  sama  berulang-ulang  untuk  perangkat  lunak  lain  yang memiliki spesifikasi yang hampir sama. Penulisan kode berulang-ulang ini berarti adalah pemborosan pemborosan waktu  yang berujung pada pemborosan sumber daya           dan    budget.    Padahal,     dengan     penggunaan     kembali     (reuse)    kode pemrograman yang sistematis dapat mengurangi biaya pengembangan perangkat lunak secara signifikan hingga mencapai 50% [2].
Beberapa kode pemrograman yang biasanya sering digunakan berulang kali oleh para programmer untuk mengembangkan perangkat lunak memang bervariasi tergantung dengan kebiasaan programmer itu sendiri. Namun secara umum dapat dikatakan  yang  sering  digunakan  adalah  berupa  Database  Abstraction,  URL
Redirection, Ajax Handling (untuk perangkat lunak yang menggunakan teknologi
         Ajax), client side user interface, base classes, dan form validation.

Pada pengembangan perangkat lunak web skala besar ada permasalahan lagi yaitu pemisahan halaman logika bisnis dan halaman tampilan presentasi. Thomas Myer menjelaskan [3], pada pengembangan perangkat lunak berbasis web skala kecil  mungkin  kurang  disadari  kelemahan  penggabungan  halaman  logika  dan halaman  presentasi  tampilan,  karena  memang  logika  yang  digunakan  masih sederhana dan biasanya hanya dikerjakan oleh satu orang. Pada  pengembangan perangkat  lunak  berbasis  web  skala  besar,  penyatuan  ini  akan  berakibat  fatal ketika ada perubahan logika yang berdampak pula pada perubahan tampilan. Atau sebaliknya perubahan secara radikal yang memaksa programmer untuk mengubah keseluruhan halaman, termasuk logika pemrograman yang telah dibuat menyatu dengan tampilan.
Permasalahan yang sama juga timbul bila halaman logika pemrograman dan halaman  tampilan presentasi dikerjakan oleh orang yang berbeda, seperti yang dijelaskan             Siswoutomo         [1].       Dengan penyatuan  halaman, akan  membuat programmer  menunggu  pekerjaan  web  desainer  selesai,  baru  kemudian  bisa menuliskan kode pemrogramannya. Ini berarti pemborosan waktu pengerjaan.
Paradigma  pemrograman  dan  pengembangan  sistem  berorientasi  objek diciptakan (OOP) untuk menyelesaikan beberapa permasalahan yang tidak dapat diatasi pemrograman  prosedural seperti permasalahan yang telah dikemukakan sebelumnya. Berkembangnya  penggunaan pemrograman berorientasi objek juga men-stimulasi timbulnya berbagai ragam pola  pemecahan masalah dengan tetap berbasis orientasi objek (OO).
Pola pemecahan  masalah  yang  dibuat  tentu  tidak  dapat  menyelesaikan semua   masalah  yang  dihadapi,  namun  lebih  berperan  sebagai  solusi  untuk masalah yang spesifik. Pola pemecahan untuk masalah yang spesifik ini seringkali digunakan secara berulang-ulang oleh       programmer untuk menyelesaikan permasalahan yang sama pada waktu yang berbeda. Pola pemecahan masalah ini yang kemudian dalam OOP dinamakan Pola Perancangan (Design Pattern) [4].
Hampir sama dengan Design Pattern, Framework, dibuat sesuai dengan kebutuhan   programmer terhadap sekumpulan pustaka pemrograman dan komponen-komponen  lain  untuk  menyelesaikan  masalah  pemrograman  yang dihadapi secara  berulang-ulang. Biasanya sebuah framework dibangun berbasis Design Pattern tertentu. Salah satu pola perancangan yang dianggap paling sesuai dengan arsitektur perangkat lunak berbasis  web yaitu pola perancangan MVC yang  memisahkan perangkat lunak ke dalam tiga bagian yaitu Model, View dan Controller (MVC).
Ada    banyak    bahasa    pemrograman     scripting     yang bisa        digunakan     untuk membangun perangkat lunak berbasis web, diantaranya adalah PHP, Perl, ASP, Ruby,  Python,  JSP,  ColdFusion,  dan  lain  sebagainya.  Hampir  semua  bahasa pemrograman         tersebut     bisa  digunakan         untuk membangun     Framework pemrograman. Sedangkan kali ini  yang digunakan adalah bahasa pemrograman PHP, karena sudah men-support OO dengan baik, dan juga mudah digunakan oleh pemula  terutama  yang  pernah  mempelajari  C  atau  Pascal   sebagai  bahasa pemrograman  dasarnya.  Selain  itu,  PHP  adalah  bahasa  pemrograman  dengan sumber terbuka yang dapat digunakan secara gratis di bawah lisensi  General Public License  (GPL), sehingga dapat digunakan dan diperbaharui siapa saja, tanpa harus membayar lisensi.
Read More......
 

© Copyright by Guntur Pana'atmaja | Template by guntur | guntur 2010