Pendekatan-Pendekatan Pengembangan Sistem Hanif Al Fatta M.kom
Abstraks Pengembangan sistem telah berkembang sesuai kebutuhan dan kecepatan pengembangan sistem yang diinginkan oleh pengembang sistem atau oleh pengguna. Dari pengembangan SDLC yang klasik, berkembang banyak pendekatan pengembangan misalnya pengembangan evolusioner, pengembangan reusable atau Rapid applicatipn Development (RAD). Pada tulisan ini akan dibahas kelebihan maupun kekurangan dari pengembangan-pengembangan sistem tersebut dan kapan metode-metode tersebut ideal untuk digunakan Kata Kunci : SDLC, Evolusioner, RAD, reusable SDLC Metode SDLC ini memiliki beberapa kelemahan. Pressman membagi tahapan SDLC dalam 4 tahap seperti gambar berikut :
Gambar 1 Model SDLC menurut pressman SDLC dengan model seperti ini mempunyai bebearapa kelemahan, yaitu : Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses. Hal ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna (user). Model SDLC harus digunakan hanya ketika persyaratan dipahami dengan baik. beberapa metode kemudian dikembangkan untuk melengkapi kelemahan-kelemahan yang ada dalam metode SDLC. Ada beberapa metode yang akan kita bahas pada bab ini yaitu metode pengembangan sistem evolusioner, metode pengembangan re-usable, metode prototyping dan metode pengembangan berorientasi objek. Metode Pengembangan evolusioner Metode pengembangan evolusioner berdasarkan pada ide untuk mengembangkan implementasi awal,kemudian memperlihatkan sisem awal itu kepada user untuk
dikomentari, dan memperbaikinya versi demi versi sampai sistem yang memenuhi persyaratan diperoleh. Pada metode ini tidak ada kegiatan spesifikasi, pengembangan, dan validasi yang terpisah. Kegiatan-kegiatan ini dilakukan pada saat yang bersamaan dengan umpan balik yang cepat untuk masing-masing kegiatan.
Gambar 2 : Model pengembangan system evolusioner Pengembangan system secara evolusioner sendiri memiliki 2 variasi : Pengembangan Eksplotari, Tujuan proses ini adalah bekerja dengan pelanggan untuk menyelidiki persyaratan mereka dan mengirimkan sistem akhir. Harusnya diawali dengan kebutuhan yang sudah dimengerti. Pendekatan ini biasa digunakan untuk mengembangkan system berdasar pesanan dari klien (custom product). Variasi kedua adalah Prototipe yang dapat dibuang (throw-away-prototype), metode ini berkonsentrasi pada eksperimen, dengan persyaratan pelanggan yang tidak dipahami dengan baik, cocok untuk pengembangan software jenis generic product. Ada beberapa kelebihan metode evolusioner jika dibandingkan dengan SDLC. Metode evolusioner lebih efektif dari pendekatan SDLC dalam menghasilkan sistem yang
memenuhi kebutuhan langsung dari pelanggan. Karena untuk menghasilkan sistem informasi tidak harus menempuh keseluruhan tahap SDLC. Keuntungan kedua, sementara user mendapat pemahaman yang lebih baik dari masalah mereka, sistem perangkat lunak dapat merefleksikannya . Adapun kelemahan dari sistem ini antara lain :Kurangnya visibilitas proses,jika sistem dikembangkan dengan cepat, tidaklah efektif dari segi biaya jika dihasilkan dokumen yang merefleksikan setiap versi sistem. Kedua, sistem seringkali memiliki struktur yang buruk hal ini disebabkan perubahan yang terus-menerus pada program cenderung merusak struktur perangkat lunak. Hal ini berakibat pada penyesuaian perubahan menjadi kian sulit dan mahal. Ketiga metode ini membutuhkan kemampuan pengembangan software dengan SDM yang sudah berpengalaman. Model Pengembangan Berorientasi Pemakaian Ulang (Re-Usable) Metode ini berpegang pada ide awal sebagai berikut. Untuk beberapa proses bisnis, requirement dari satu klien dengan klien yang lain bisa jadi hampir sama. Sehingga jika sudah dimiliki satu sistem informasi jika akan dikembangkan sistem informasi untuk klien yang lain dengan proses bisnis yang hampir sama, kita bisa memanfaatkan software yang sudah ada untuk membuat software yang baru. Tahapan pada metode ini dapat dapat dilihat pada gambar berikut:
Gambar 3 Model pengembangan Reusable
Ada 4 fase utama dalam pengembangan re-usable : 1. Analisis Komponen, Spesifikasi persyaratan telah diketahui, komponenkomponen untuk implementasi spesifikasi tersebut akan dicari. Biasanya, tidak ada kesesuaian yang tepat dan komponen yang dapat dipakai hanya memberikan sebagian dari fungsionaliyas yang dibutuhkan. 2. Modifikasi Persyaratan. Persyaratan dianalisis menggunakan informasi tentang komponen yang didapat, kemudian dimodifikasi untuk merefleksikan komponen yang ada. Jika modifikasi tidak mungkin dilakukan, maka kegiatan analisis komponen bisa diulang untuk mencari solusi alternatif. 3. Perancangan sistem dengan pemakaian ulang. Kerangka kerja sistem dirancang, atau kerangka kerja yang telah ada dipakai ulang. 4. Pengembangan dan Integrasi. Perangkat Lunak yang tidak dapat dibeli akan dikembangkan dan komponen kemudian diintegrasikan untuk membantu sistem. Prototyping Prototyping adalah proses iterative dalam pengembangan sistem dimana requirement diubah ke dalam sistem yang bekerja (working system) yang secara terus menerus diperbaiki melalui kerjasama antara user dan analis. Prototype juga bisa dibangun melalui beberapa tool pengembangan untuk menyederhanakan proses. Prototyping merupakan bentuk dari Rapid Application Development (RAD). Beberapa kerugian RAD: o RAD mungkin mengesampingkan prinsip-prinsip rekayasa perangkat lunak o Menghasilkan inkonsistensi pada modul-modul sistem o Tidak cocok dengan standar o Kekurangan prinsip reusability komponen
Metode prototyping bisa digambarkan pada gambar 4.4 berikut ini :
Gambar 4 : metode pengembangan prototyping
Prototype methodology o Analis bekerja dengan tim untuk mengidentifikasi requirement awal untuk sistem o Analis kemudian membangun prototype. Ketika sebuah prototype telah selesai. User bekerja dengan prototype itu dan menyampaikan pada analis apa yang mereka sukai dan yang tidak mereka sukai. o Analis kemudian menggunakan feedback ini untuk memperbaiki prototype o Versi baru diberikan kembali ke user o Ulangi langkah-langkah tersebut sampai user merasa puas Keuntungan prototype o Prototype melibatkan user dalam analisis dan desain o Punya kemampuan menangkap requirement secara konkret daripada secara abstrak o Untuk digunakan secara standalone
o
Digunakan untuk memperluas SDLC
4. 4 Object Oriented Analysis and Design (OOAD) Pendekatan yang terakhir adalah pendekatan berbasis Objek. Seiring dengan berkembangnya trend pemrograman berbasis objek maka analisis dan desain sistem juga bisa menggunakan konsep objek. Pendekatan baru untuk pengembangan sistem ini sering disebut sebagai pendekatan ketiga setelah pendekatan yang berorientasi data dan berorientasi proses. OOAD adalah metode pengembangan sistem yang lebih menekankan pada objek dibandingkan dengan data atau proses. Ada beberapa ciri khas dari pendekatan ini yaitu object, Inheritance dan object class Object adalah struktur yang mengenkapsulasi atribut dan metode yang beroperasi berdasarkan atribut-atribut tadi. Objek adalah abstraksi dari benda nyata dimana data dan proses diletakkan bersama untuk memodelkan struktur dan perilaku dari objek dunia nyata. Object class adalah sekumpulan objek yang berbagi struktur yang sama dan perilaku yang sama. Inheritance. Properti yang muncul ketika tipe entitas atau object class disusun secara hirarki dan setiap tipe entitas atau object class menerima atau mewarisi atribut dan metode dari pendahulunya. Karena pembahasan tentang OOAD sangat luas dan dalam maka pembaca dipersilahkan merujuk pada buku-buku OOAD untuk mendapatkan informasi yang medalam dan komprehensif. Teknologi pengembangan sistem Pada perkembangannya desain sistem banyak disupport oleh pengggunaan software dan teknologi baru. Tujuan penggunaan software untuk analisis memiliki beberapa tujuan :
Meningkatkan produktifitas Berkomunikasi lebih efektif dengan user Mengintegrasikan pekerjaan yang telah dilaksanakan dari awal pengembangan sampai akhir. Tool semacam ini dikategorikan dalam jenis CASE (Computer Aided Software Engineering). CASE adalah software yang digunakan untuk mengotomasi atau mendukung penggambaran dan analisis dari model sistem dan menyediakan translasi dari model sistem ke sistem aplikasi. Ada beberapa tool yang sering digunakan misalnya Microsoft Project dan Rational Rose. Microsoft Project sangat berguna untuk penjadwalan proyek sedangkan Rational Rose sangat membantu untuk tahapan proses model maupun data model. Berikut ini gambaran arsitektur CASE o o o
Gambar 5 arsitektur CASE Tool
_________________________________________________________ Kesimpulan _________________________________________________________ Beberapa pendekatan pengembangan system diperkenalkan untuk mengatasi kelemahan pada metode SDLC. Masing-masing pendekatan memiliki kelebihan dan kekurangan tersendiri. Metode re-usable misalnya sangat cocok untuk pengembangan system dimana kita sudah memiliki system yang similar. Sedangkan prototyping sangat tepat untuk pengembangan system dengan durasi proyek yang sangat pendek. Dengan mengetahui beberapa pendekatan ini kita bisa memilih metode yan paling tepat untuk mengembangkan sistem sesuai dengan situasi dan kondisi yang ada. Beberapa tool seperti CASE bisa juga digunakan untuk mempermudah pengembangan sistem informasi yang kita lakukan.
Daftar Pustaka Al fatta, Hanif, 2007, Analisis dan perancangan system informasi untuk keunggulan perusahaan dan organisasi kelas dunia, Andi offset – STMIK AMIKOM Yogyakarta, Yogyakarta