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.
0 pesan-pesan yang ingin disampaikan:
Posting Komentar