Sebelum membangun sistem informasi, kita harus mengetahui metodologi pengembangan yang tepat bagi sistem. Pendekatan yang dapat digunakan untuk melakukan pengembangan sistem informasi adalah pendekatan System Development Life Cycle (SDLC) prediktif, pendekatan adaptif dan Unified Process (UP). Selain itu berkembang paradigma baru dalam pengembangan sistem informasi yaitu Agile Methodology yang terdiri dari Extreme Pragramming (XP) dan Scrum (Satzinger, et, al, 2007). Berikut adalah penjelasan singkat dari metode-metode tersebut :
1. Pendekatan Prediktif (Tradisional)
Pendekatan prediktif adalah sebuah SDLC dengan pendekatan yang mengasumsikan bahwa pembangun proyek dapat merencanakan, mengorganisasikan dan membangun sistem informasi baru sesuai dengan perencanaan. SDLC prediktif sangat baik digunakan dalam membangun sistem yang sudah dapat diprediksi dan dapat didefinisikan dengan baik. Terdapat lima tahapan yang sama dengan tahapan umum pemecahan masalah yang ada pada pendekatan prediktif. Setiap proses dilaksanakan
17 secara sekuensial yang merupakan ciri utama pendekatan sistem prediktif. Berikut adalah tujuan dari masing-masing tahapan :
a. Project Planning, tujuannya adalah untuk mengidentifikasi skup dari sistem baru, menjamin proyek agar visible, dan membuat jadwal perencanaan sumber daya, dan anggaran yang dibutuhkan dalam pelaksanaan proyek.
b. Analysis, bertujuan untuk memahami dan mendokumentasikan detail dari kebutuhan bisnis dan kebutuhan proses dari sistem baru
c. Design, bertujuan untuk mendesain solusi sistem berbasis pada kebutuhan yang didefinisikan dan pembuatan keputusan terhadap hasil analisis
d. Implementation, bertujuan membangun, menguji, dan menginstall sebuah sistem informasi yang dapat dipercaya. Sistem sudah siap ditrainingkan terhadap pengguna untuk mendapatkan keuntungan yang diharapkan bagi pengguna sistem
e. Support, bertujuan untuk menjaga agar sistem tetap berjalan dengan produktif dan sistem dapat memiliki daya tahan selama bertahun- tahun.
jika dipandang dari resiko teknis dalam pengembangan sistem dengan pendekatan prediktif maka resikonya tidak besar, hal ini karena pada tahap perencanaan seorang analis dapat melakukan perencanaan dengan presisi. Salah satu pendekatan SDLC yang digunakan dalam pendekatan prediktif ini adalah waterfall seperti terlihat pada Gambar 5. Ciri khusus dari pendekatan ini adalah suatu proses harus sudah selesai dilaksanakan sebelum melaksanakan proses selanjutnya (sekuensial)
18 Gambar 5 Metode Waterfall (Satzinger. et.al,2007)
2. Pendekatan Adaptif
Pendekatan adaptif adalah SDLC dengan pendekatan yang lebih fleksibel, diasumsikan bahwa proyek tidak dapat direncanakan secara lengkap diawal pelaksanaan proyek. Pemecahan masalah didasarkan pada progress proyek yang telah dihasilkan. Developer dapat memberikan solusi terhadap suatu masalah cenderung fleksibel dan adaptif terhadap hasil yang didapatkan, sehingga pada setiap tahapan dapat dilakukan penyesuaian. Artinya, seorang analis tidak dapat membuat perencanaan di awal proyek secara tepat dikarenakan sistem yang akan dibangun bersifat adaptif.
Lebih jauh pendekatan ini dikenal dengan spiral model. Model spiral memiliki banyak elemen adaptif dalam pengembangan sistem. Daur hidup direpresentasikan dalam bentuk spiral, dimulai dari tengah keluar, iterasi, dan iterasi lagi, sampai proyek selesai. Proyek ini sangat berbeda dengan
pendekatan waterfall yang statik. Pendekatan spiral dapat di
implementasikan dengan berbagai cara. Gambar 6 memperlihatkan model pendekatan spiral.
19 Gambar 6 Model Pendekatan Spiral (Satzinger et al. 2007)
Pada pengembangan dengan pendekatan spiral, setelah planning awal selesai, pekerjaan dimulai dengan membuat prototype. Sebuah prototype adalah model sebagai persiapan pekerjaan suatu sistem yang lebih besar. Dalam setiap prototype, proses pengembangannya terdiri dari sebuah garis edar sekuensial analisis, design, konstruksi, pengujian, integrasi dengan prototype sebelumnya, dan daurnya berulang lagi. Ketika perencanaan pada prototype selanjutnya telah selesai maka iterasi aktivitas dimulai lagi sampai didapatkan sistem yang diinginkan.
3. Unified Process
Ciri utama (fitur) UP didefinisikan dalam empat fase iterasi yaitu
inception, elaboration, construction, dan transition. UP sendiri adalah sebuah metodologi dalam pengembangan sistem dengan pendekatan
Object Oriented yang ditawarkan oleh IBM (Satzinger et al 2007).
Unifield Modelling Language (UML) sering digunakan dalam permodelan pada metode ini. UML adalah model notasi standar untuk pendekatan
20
Object Oriented (OO), UP adalah pengembangan sistem OO yang tidak standar dan merupakan salah satu penggunaan SDLC yang berada diantara prediktif dan adaptif (Satzinger et al 2007).
4. Metode Agile
Metodologi pengembangan agile adalah proses yang digunakan untuk meminimalkan jeda waktu antara analisis kebutuhan sistem dengan pekerjaan desain dan implementasi (coding). Metode ini dipopulerkan oleh Scott Ambler. Pengguna mendefinisikan kebutuhan dari sistem yang akan dibangun dalam bentuk narasi. Setelah dilakukan satu iterasi maka dilakukan pengujian terhadap sistem yang dibangun (Caserio, 2011). Metode Agile umumnya dilaksanakan dalam potongan-potongan kecil. Satu iterasi setidaknya mengandung satu aspek fungsional yang signifikan dari aplikasi. Hal ini dilakukan agar team dapat berkonsentrasi untuk mengerjakan pembangunan sistem secara optimal dan cepat. Berikut adalah model praktek dari Agile :
a. Iterative
b. Teamwork
c. Simplicity d. Validation
5. Extreme Programming
Extreme Programming (XP) merupakan salah satu metode adaptif yang merupakan metode Agile yang diperkenalkan pada pertengahan 1990an. Terdapat empat nilai utama pada XP yang mendasar pada setiap tahapan proses pengembangan sistem informasi yaitu (Satzinger, et.al,2007) ;
a. Komunikasi
XP memfokuskan pada hubungan komunikasi yang baik antar anggota tim. Para anggota tim harus membangun saling pengertian, mereka juga wajib saling berbagi pengetahuan dan keterampilan dalam mengembangkan perangkat lunak. Ego dari para programmer
21 yang biasanya cukup tinggi harus ditekan dan mereka harus membuka diri untuk bekerjasama dengan programmer lain dalam menuliskan kode program.
b. Courage
Para anggota tim dan penanggungjawab pengembangan perangkat lunak harus selalu memiliki keyakinan dan integritas dalam melakukan tugasnya. Integritas ini harus selalu dijaga bahkan dalam kondisi adanya tekanan dari situasi sekitar ( misalnya oleh klien atau pemilik perusahaan), untuk dapat melakukan sesuatu dengan penuh integritas para anggota tim harus terlebih dahulu memiliki rasa saling percaya. Rasa saling percaya inilah yang coba dibangun dan ditanamkan oleh XP pada berbagai aspeknya.
c. Simplicity
Lakukan semua dengan sederhana. Hal tersebut adalah salah satu nilai dasar dari XP. Gunakan method yang pendek dan simple, jangan terlalu rumit dalam membuat desain, hilangkan fitur yang tidak ada gunanya, dan berbagai proses penyederhanaan lain akan selalu menjadi nilai utama dari setiap aspek XP.
d. Umpan balik (feedback)
Berikan selalu feedback kepada sesama anggota tim maupun pihak-pihak lain yang terlibat dalam pengembangan perangkat lunak. Utarakan selalu pikiran anda dan diskusikan kesalahan-kesalahan yang muncul selama proses pengembangan. Dengarkan selalu pendapat rekan yang lain, dengan adanya feedback inilah seringkali kita menyadari bagian mana yang salah atau bisa ditingkatkan lagi dari perangkat lunak yang dikembangkan.
6. Tahapan SDLC Extreme Programming
Terdapat lima tahapan utama dalam pengembangan sistem
informasi dengan menggunakan Extreme programming (XP) yaitu
(Abrahamson, 2002) : Eksplorasi, planning, iterasi pengembangan sistem (analisisi,desain, testing), produksi, maintenance, dan mengakhiri proyek
22
dengan mengeluarkan final release. Akhir disetiap fase yang
dikembangkan merupakan milestone atas fase tersebut sebelum bergerak ke fase berikutnya. Adapun tahapan-tahapan pengembangan sistem dengan menggunakan XP dapat dilihat pada Gambar 7 :
Gambar 7 Tahapan Extreme Programming(Abrahamsson, 2002)
Secara rinci tahapan-tahapan XP adalah sebagai berikut :
a. Tahapan Ekplorasi
Pada tahap ini calon pengguna sistem menuliskan kebutuhan- kebutuhan informasi yang akan dicover didalam sistem untuk release pertama. Masing-masing cerita yang dituliskan oleh pengguna kemudian dibuat menjadi sebuah modul program. Di lain sisi, tim yang lain mengidentifikasi teknologi dalam pelaksanaan proyek. Tahap ini dapat dilaksanakan dalam beberapa minggu, tergantung pada kerumitan sistem yang akan dibangun. Hasil yang diinginkan pada tahap ini adalah berupa :
1.Dokumentasi atas Visi dan ruang lingkup pekerjaan 2.Dokumentasi penaksiran resiko
3.Dokumentasi struktur proyek yang akan dikembangkan
23
b. Tahapan Planning
Pada fase planning, yang berorientasi kepada analisa dan desain sistem, yang didalamnya berisikan kebutuhan akan analisa atas kebutuhan bisnis, kebutuhan pengguna, kebutuhan operasi, dan kebutuhan sistem. Setelah tahapan atas, tahapan ini dilalui, tim pengembang akan menghasilkan :
1.Spesifikasi fungsional atas suatu sistem 2.Perencanaan jadwal pelaksanaan proyek c. Iterasi Peluncuran Perangkat Lunak
Pada tahapan ini terdiri dari beberapa iterasi peluncuran dari perangkat lunak yang akan dikembangkan. Perangkat lunak dikeluarkan mulai dari rilis pertama hingga sistem dapat diterima dan dapat di implementasikan secara penuh. Tahapan-tahapan dalam iterasi ini terdiri dari :
1.Tahap analisis
Tahap ini merupakan tahap penting sebelum program atau sistem ditulis atau dibangun. Tahap analisis meliputi beberapa aspek dalam sistem, seperti lingkungan organisasi, analisis sistem
untuk memenuhi kebutuhan waktu sekarang, analisis system
requirement (input, output, process, storage, and control). 2.Tahap desain
Tahap desain juga melibatkan rancangan interface dan prosedur yang mendukung fungsional sistem. Pada tahap ini dilakukan koreksi pada sistem informasi, sehingga kesalahan pada sistem bisa diperbaiki sedini mungkin. Aktivitas desain sistem meliputi (1) desain interface. Desain interface berfokus pada interaksi sistem dengan pengguna, input dan output yang interaktif serta efesien bagi penggunanya. Konversi informasi dan data menjadi bahasa yang bisa dibaca mesin dan manusia, kualitas proses konversi informasi dan data ditentukan pada desain interface
sistem. (2). Desain fisik. Desain fisik sistem adalah desain database dan file berfokus pada struktur dan data yang digunakan sistem
24 secara rincian. Data yang diusulkan pengguna akan disusun berdasarkan atributnya dan relasi yang dibutuhkan. (3). Desain
logika. Desain logika adalah desain sistem bagaimana
mengembangkan secara umum input, proses pengolahan informasi, output, penyimpanan database, aktivitas kontrol sesuai dengan yang direncanakan pada tahap analisis.
d. Tahap pengujian (testing)
Pada tahap ini sistem yang akan diluncurkan di uji terlebih dahulu. Pengujian dilakukan terhadap fungsional sistem dan terkait dengan hal-hal teknis sistem. Pada setiap iterasi pekerjaan diluncurkan untuk kemudian di evaluasi kembali untuk kemudian dilakukan perbaikan oleh tim.
e. Peluncuran Rilis Akhir Perangkat Lunak
Tahapan ini merupakan sesi akhir dalam pengembangan sistem dengan menggunakan XP. Sistem yang telah di uji kemudian di implementasikan sesuai dengan kebutuhan client. Perangkat lunak yang diaplikasikan merupakan rilis akhir, hasil dari iterasi dan perbaikan dari versi-versi sebelumnya