Anda di halaman 1dari 5

Tugas Akhir - 2008

PENGEMBANGAN WEB DENGAN METODE AGILE MENGGUNAKAN


FRAMEWORK PHP SYMFONY AGILE METHOD WEB DEVELOPMENT WITH PHP
SYMFONY FRAMEWORK

Pitrasacha Adytia¹, Yanuar Firdaus A.w.², Dana Suliyo Kusumo³

¹Teknik Informatika, Fakultas Teknik Informatika, Universitas Telkom

Abstrak
Permasalahan besar bagi pengembang aplikasi web berbasis php umumnya adalah kecepatan
pengembangan, terbatasnya tools untuk membantu proses development, serta permasalahan pada
maintainability dan readability. Isu – isu tersebut merupakan tujuan utama yang ingin
dipecahkan dengan penerapan agile best practices, yang sejalan dengan agile manifesto yaitu
mengutamakan software yang berjalan dengan baik dan kemampuan untuk mengakomodasi
perubahan atau penambahan fitur di kemudian hari.Untuk menerapkan agile best practices
terdapat sebuah framework php yang dipandang memiliki fitur fitur yang mendukung pemecahan
masalah di atas. Framework tersebut adalah symfony.
Tugas akhir ini akan membahas bagaimana menerapkan agile best practices dengan
menggunakan framework symfony yang diterapkan pada studi kasus aplikasi groovel : online trip
planner.

Kata Kunci : agile, framework, symfony

Abstract
There is some big hot issues within php web developer community like development speed,
limitation of tools provided for supporting the development process, maintainability and
readability issues. That is the main objectives of agile best practices techniques , which is
concurrent with agile manifesto that value more for working software and responding to
change.To implement agile best practices, there is some php framework that offer solution to
eliminate the problems. One of them is symfony framework.
This final assignment will be discussed about how to implement agile best practices using
symfony framework into the development of groovel : online trip planner as the case study.

Keywords : agile, framework, symfony

Fakultas Teknik Informatika Program Studi S1 Teknik Informatika


Powered by TCPDF (www.tcpdf.org)
Tugas Akhir - 2008

1. Pendahuluan
1.1 Latar belakang
Secara umum ada dua permasalahan yang dihadapi oleh pengembang software,
yaitu bagaimana meningkatkan nilai bisnis dan memperbaiki masalah yang terjadi
dari metode sebelumnya. Masalah yang terjadi mencakup masalah bisnis
(business smell) dan masalah pada proses pembuatan (process smell) [1].
Business smell dapat didefinisikan bahwa software yang dihasilkan tidak sesuai
dengan permintaan customer, contohnya pengimplementasian fitur baru sangat
sukar untuk dilakukan dan beberapa fitur menjadi mubazir. Sedangkan process
smell adalah masalah yang dihadapi oleh pengembang di dalam proses
pengembangan software. Walaupun process smell tidak telihat oleh customer,
namun secara tidak langsung berpengaruh pada customer, karena masalah pada
proses akan berujung masalah juga pada customer, sebagai contoh dari process
smell ini adalah banyaknya bugs dari aplikasi.
Salah satu solusi dari permasalahan-permasalahan tersebut adalah dengan
jalan mengadopsi agile pattern ke dalam pengembangan software[1]. Agile best
practices seperti refactoring, test first development, test last development, dan
functional test dapat diterapkan untuk menjawab business smell maupun process
smell.
Bagi pengembang aplikasi berbasis web, khususnya php, ternyata tidak mudah
mengadopsi agile best practices ini ke dalam siklus pengembangan web[2].
Reputasi buruk dari php di mana sering terjadi kasus kode yang tidak standar,
penulisan sintaks yang tidak konsisten [6], membuat agile best practices sulit
diterapkan. Sebagai contoh kecil, refactoring akan sulit dilakukan jika kode
programnya tidak standar dan tidak konsisten.
Symfony adalah salah satu framework php, yang memiliki fitur-fitur seperti
kode standar dengan prinsip model view controller, refactoring, unit test, dan
functional test[9]. Dalam implementasinya symfony dikolaborasikan dengan tools
lainnya seperti subversion untuk membantu manajemen kode program, dan
redmine untuk manajemen proyek. Kombinasi antara symfony, subversion dan
redmine ini dapat menjadi pilihan bagi para pengembang aplikasi php untuk
menjawab business smell dan process smell, dengan mengadopsi agile best
practices.
Tugas akhir ini menganalisis penerapan agile development pada sebuah
aplikasi berbasis web dengan memanfaatkan symfony. Dengan harapan dapat
memberikan solusi terhadap permasalahan yang dihadapi oleh pengembang
aplikasi web berbasis PHP.
1.2 Perumusan masalah
Hipotesis Tugas Akhir ini adalah :
• Business smell dan process smell pada pengembangan software dapat
ditangani dengan mengadopsi agile best practices
• Symfony merupakan framework berbasis php yang memiliki fitur untuk
mendukung penerapan agile best practices.
Masalah yang akan diteliti adalah :

Fakultas Teknik Informatika Program Studi S1 Teknik Informatika


Tugas Akhir - 2008

Bagaimana mengimplementasikan agile best practices pada pengembangan


aplikasi web groovel dengan menggunakan framework symfony.
Batasan masalah Tugas Akhir ini adalah :
1. Menggunakan studi kasus untuk kepentingan proses analisis, yaitu groovel
sebuah aplikasi online trip planner.
2. Hanya membahas masalah-masalah yang berhubungan dengan penerapan
agile best practices .
3. Tools yang digunakan dalam tugas akhir ini selain menggunakan
framework symfony sendiri juga menggunakan tools lainnya yang
disarankan oleh komunitas symfony seperti penggunaan subversion
sebagai software control management dan penggunaan trac atau redmine
sebagai tools untuk manajemen proyek.
1.3 Tujuan
Tujuan pelaksanaan tugas akhir ini adalah :
1. Menganalisis dan mengimplementasikan agile best practices untuk
pengembangan aplikasi web, dengan studi kasus groovel.
2. Menganalisis fitur-fitur apa saja dari framework symfony yang mampu
mengakomodir aspek-aspek dari agile best practices.
3. Membuktikan bahwa framework symfony mampu menjadi salah satu
solusi untuk menjawab business smell dan process smell.
1.4 Metodologi penyelesaian masalah
Untuk mencapai tujuan yang dimaksud, maka metodologi yang digunakan dalam
penelitian penyusunan tugas akhir ini adalah :
1. Studi literatur
Langkah ini bertujuan untuk mempelajari teori-teori dasar tentang agile
best practices dan symfony framework.
2. Analisis dan Perancangan
Tahap ini meliputi analisis dan perancangan dari studi kasus yang telah
ditentukan yaitu groovel. Tahap analisis ini mencakup deskripsi dan fitur-
fitur dari groovel. Sedangkan tahap perancangan meliputi peyusunan
usecase, basis data, struktur aplikasi dan penyusunan repository project.
3. Coding
Tahap ini akan mengimplementasikan hasil dari tahap analisis dan
perancangan. Coding pada tahap ini akan menggunakan fitur dari
framework symfony dan mengimplementasikan agile best practices.
4. Analisis semua tahap yang dilakukan, selama masa pengembangan
aplikasi sampai aplikasi dihasilkan. Hal-hal yang di analisis mencakup
bagaimana aspek aspek di dalam agile best practices mampu di akomodir
oleh framework symfony dengan jalan menyusun tabel korelasi antara
agile best practices dengan fitur dari framework symfony.
5. Pengujian. Tahap ini dilakukan dengan jalan mengukur kualitas software
yang dihasilkan menggunakan software quality metrics dan dengan
memberikan kuesioner untuk menentukan dampak dari penggunaan
framework terhadap pengembangan aplikasi.
6. Penyusunan laporan hasil analisis.

Fakultas Teknik Informatika Program Studi S1 Teknik Informatika


Powered by TCPDF (www.tcpdf.org)
Tugas Akhir - 2008

6. Kesimpulan dan Saran


6.1 Kesimpulan
Berdasarkan penelitan yang telah dilakukan dalam tugas akhir ini, yang meliputi
analisis agile development, framework symfony, dan studi kasus groovel dapat
disimpulkan bahwa :
1. Agile development merupakan pendekatan pengembangan sistem yang
mampu menghasilkan efektivitas proses produksi, seperti yang
diinterpretasikan dalam hasil software metrics yaitu menghemat waktu
aktual dalam pembuatan aplikasi, mempermudah evaluasi kinerja, dan
membuat aplikasi bebas bugs.
2. Selama pembuatan aplikasi groovel membuktikan bahwa kombinasi antara
framework symfony beserta tools pendukungnya mampu menghasilkan
solusi dari masalah masalah yang terdefinisikan sebagai business dan
process smell dalam konteks pembuatan aplikasi online trip planner
3. Dari kuesioner yang disebarkan pada komunitas php dapat disimpulkan
bahwa penggunaan framework php seperti symfony dapat menjawab
tujuan-tujuan yang ingin dicapai dari agile development walau rasio
programmer php indonesia yang masih belum mengerti tentang agile
development cukup besar yaitu 61% .
4. Adapun mengenai statistik bahwa programmer PHP yang mempergunakan
Framework symfony rasionya hanya 26% dari keseluruhan responden,
dimana dominasi CakePHP mewarnai perolehan suara sebesar 34%.
Beberapa studi literatur di developer-blog menunjukkan bahwa
Framework symfony memang dikenal ’terlalu lengkap’ fasilitasnya
sehingga proses pembelajaran framework ini cukup sukar. Sedangkan
CakePHP (dan juga CodeIgniter) merupakan framework yang sama-sama
mengusung MVC Patterns layaknya Symfony namun penerapan MVC-nya
bersifat opsional. Artinya, CakePHP dan CodeIgniter tidak terlalu
mengekang pemilihan pattern yang akan digunakan oleh developer PHP
yang sedang melakukan pembelajaran ataupun transisi penggunaan
design-patterns. Hal ini mengakibatkan lebih banyak programmer memilih
kedua framework tersebut daripada Framework symfony.
6.2 Saran
Dalam mengkaji mengenai praktek – praktek dan metodelogi agile development
sesungguhnya tidak hanya berbicara dari sisi teknis saja. Diharapkan untuk
penelitian lebih lanjut dapat membahas trik-trik perancangan arsitektur sistem
yang bersifat dinamis dan mampu menjawab perubahan requirement atau
ekspansi ruang lingkup permasalahan.

40

Fakultas Teknik Informatika Program Studi S1 Teknik Informatika


Powered by TCPDF (www.tcpdf.org)
Tugas Akhir - 2008

Daftar Pustaka
[1] Amr Elssamasdisy, “Pattern of Agile Practices Adoption, The
Technical Cluster “, C4Media Inc 2007
[2] Doug Wallace, Isobel Raggett, Joel Aufgang 2002, “Extreme
Programming for Web Projects”
[3] Eddo Rotman, PHP & AGILE DEVELOPMENT
http://devzone.zend.com
di download pada tanggal 20 januari 2008
[4] Endy Muhardin, Konsep dan Penggunaan Subversion, Jakarta,
2007, Artivisi
[5] Francois Zaninotto, symfony: Simplify your professional web
development with symfony
http://www.symfony-project.com
Di download pada tanggal 23 januari 2008
[6] http://en.wikipedia.org/wiki/Model-view-controller
Di download pada tanggal 23 januari 2008
[7] http://www.extremeprogramming.org/
di download pada tanggal 13 maret 2007
[8] http://www.software-arsitek.web.id/2008/06/mengadopsi-agile-
development-secara.html
Di download pada tanggal 1 juni 2008
[9] http://www.symfony-project.org/
di download pada tanggal 13 maret 2007
[10] Stephen H.Kan, Metrics and Models in Software Quality
Engineering, second edition, Addison Wesley 2002

41

Fakultas Teknik Informatika Program Studi S1 Teknik Informatika


Powered by TCPDF (www.tcpdf.org)

Anda mungkin juga menyukai