Sabtu, 22 September 2012

Metodologi Pengembangan Perangkat Lunak



Metodologi Pengembangan Perangkat Lunak dapat diartikan sebagai proses membuat suatu perangkat lunak baru untuk menggantikan perangkat lunak lama secara keseluruhan atau memperbaiki perangkat lunak yang telah ada. Metodologi pengembangan perangkat lunak ini sangat diperlukan agar dapat lebih cepat dan tepat dalam mendeskripsikan solusi dan mengembangkan perangkat lunak. Dengan metodologi pengembangan ini nantinya juga dapat membantu untuk mengahasilkan perangkat lunak yang berkualitas. Metodologi pengembangan perangkat lunak adalah suatu proses pengorganisasian kumpulan metode dan konvensi notasi yang telah didefinisikan untuk mengembangkan perangkat lunak. Penggunaan suatu metodologi sesuai dengan persoalan yang akan dipecahkan dan memenuhi kebutuhan pengguna akan menghasilkan suatu produk perekayasaan yang berkualitas dan terpelihara serta dapat menghindari masalah-masalah yang sering terjadi seperti estimasi penjadwalan dan biaya, perangkat lunak yang tidak sesuai dengan keinginan pengguna dan sebagainya.
Metodologi pengembangan perangkat lunak (atau disebut juga model proses atau paradigma rekayasa perangkat lunak) adalah suatu strategi pengembangan yang memadukan proses, metode, dan perangkat (tools).
Menurut Pressman (1997) Komponen metodologi pengembangan perangkat lunak dapat dibagi dalam tiga unit, yaitu :
1.      Metode, yaitu suatu cara atau teknik pendekatan yang sistematik yang dipergunakan untuk mengembangkan perangkat lunak. Metode ini mencakup : Perencanaan proyek dan perkiraan, analisis keperluan sistem dan perangkat lunak, perancangan struktur data, arsitektur program, prosedur algoritma, Coding, uji coba dan pemeliharaan.
2.    Alat bantu (Tools), yaitu alat-alat (manual atau otomatis) yang mendukung pengembangan perangkat lunak. Terdapat 2 alat Bantu yang dapat digunakan yaitu : alat Bantu manual dan alat Bantu otomatis.
3.    Prosedur, yang dipergunakan untuk mendefinisikan urut-urutan pekerjaan (daur) dari metode dan alat bantu tersebut.
Secara umum daur hidup pengembangan perangkat lunak meliputi tahapan-tahapan atau aktivitas pengembangan yang terdiri dari tahap analisis, tahap perancangan, tahap implementasi serta tahap pengujian dan perawatan perangkat lunak. Tahap analisis dan perancangan merupakan tahapan awal yang penting dalam suatu paradigma pemgembangan perangkat lunak, karena sangat mempengaruhi tahapan selanjutnya. Sehingga jika terjadi kesalahan pada tahap analisis dan perancangan, maka akan terdapat juga kesalahan pada tahap implementasi dan tahapan-tahapan selanjutnya. Tahap implementasi perangkat lunak bertujuan untuk menerapkan spesifikasi kebutuhan perangkat lunak ke dalam bahasa pemrograman tertentu. Tahap pengujian perangkat lunak dilakukan untuk menemukan kesalahan (bug) yang mungkin terdapat di dalam sebuah perangkat lunak. Sedangkan tahap perawatan perangkat lunak fokusnya adalah pengubahan. Ada tiga pengubahan yaitu : pembetulan, adaptasi (perbaikan terhadap lingkungan) dan perluasan (penambahan karena permintaan pemakai).
Model proses pengembangan perangkat lunak terbagi menjadi 5 metode yaitu:
a.       Linear Sequential Model atau waterfall
b.      Prototyping Model
c.       RAD (Rapid Application Development) Model
d.     Spiral Model
e.      Fourth Generation Techniques (4GT)

Karakteristik Perangkat Lunak
Perangkat lunak lebih dikenal sebagai elemen lojik daripada fisik, oleh karena itu perangkat lunak memiliki karakteristik yang berbeda dari perangkat keras :
1.      Perangkat lunak dikembangkan atau direkayasa, jadi tidak diproduksi dalam pengertian klasik.
2.      Merupakan produk yang unik (tidak ada seri produksi).
3.      Perangkat lunak tidak pernah akan rusak/aus karena selalu diperbaharui
4.      Tidak terlihat (invisible).
5.      Perangkat lunak pada umumnya dibangun sesuai keinginan, jadi tidak dibentuk dari komponen yang sudah ada.
6.      Fleksibel, sehingga mudah dimodifikasi.
7.      Dihubungkan (linked) dengan sistem komputer.


Metode Pengembangan Perangkat Lunak
Extreme Programming”
Extreme Programming yang selanjutnya disingkat dengan XP merupakan salah satu dari sekian banyaknya metodologi dalam rekayasa perangkat lunak dan juga merupakan bagian dari metodologi pengembangan perangkat lunak agile yang dikembangkan oleh Beck, Cunningham, dan Jeffries. Secara umum Extreme Programming (XP) dapat dijabarkan sebagai sebuah pendekatan pengembangan perangkat lunak yang mencoba meningkatkan efisiensi dan fleksibilitas dari sebuah proyek pengembangan perangkat lunak dengan mengkombinasikan berbagai ide simpel/sederhana tanpa mengurangi kualitas software yang akan dibangun.
Metode Extreme Programming ini  merupakan lightweight discipline pengembangan perangkat lunak berdasarkan empat core value yaitu :
a.    Komunikasi (Communication)
Kurangnya komunikasi merupakan penyebab utama kegagalan pengembangan software, maka XP mengfokuskan pada hubungan komunikasi yang baik antar tim-klien, anggota tim, dan manajer proyek.Komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pair program-ming). Klien harus dilibatkan dalam proses pengembangan perangkat lunaknya dengan tujuan untuk memberikan pandangan pengembang sesuai dengan pandangan pengguna sistem yang dibangun.
b.    Kesederhanaan (Simplicity)
XP melakukan semua dengan sederhana dan praktis tanpa mengurangi fungsi utamanya. Diusahakan mengunakan method yang pendek dan simpel, jangan terlalu rumit dalam membuat desain, hilangkan fitur yang tidak ada gunanya atau menghapus fungsi yang tidak terpakai.
c.    Umpan balik (Feedback)
Selalu mengevaluasi perkembangan terhadap perangkat lunak yang sedang dikerjakan, segala informasi harus dikumpulkan setiap interval waktu yang konsisten dan diskusikan kesalahan-kesalahan yang muncul selama proses pengembangan. Umpan balik tersebut berfungsi sebagai indikator kemajuan proyek dan menginformasikan pemimpin proyek apabila perubahan perlu dibuat.
d.   Keberanian (Courage).
Programmer XP didorong untuk berani bereksperimen dan menulis ulang kode jika mereka tidak puas dengan kode yang sudah ada atau desain. Hal ini membantu mempertahankan moral serta integeritas para pengembang proyek dan dapat mendukung lebih lanjut komunikasi dengan anggota proyek lainnya.

1 komentar:

  1. terimakasih sangt membantu artikelnya
    jangan lupa kunjungi website kami http://www.atmaluhur.ac.id/ dan kunjungi blog saya https://zubikaa.blogspot.com/

    BalasHapus