Model Proses Perangkat Lunak
Perancangan Perangkat lunak tentu memerlukan proses yang sangat panjang dari pembuatan sampai dengan sistem itu jadi dan dipelihara sehingga dapat digunakan dalam jangka panjang.
Ada beberapa model yang digunakan dalam perancangan perangkat lunak diantanya yaitu: Waterfall, Spiral, Prototype, Exstrem Programming, Evolusioner, dan Agile. Berikut adalah penjelasan lebih lanjut mengenai model – model yang sudah disebutkan diatas
Baca Juga: Memperbaiki Warning File Sellers.json Google Adsense di Blogger
1. Waterfall
Model ini merupakan yang pertama digunakan untuk mengembangkan perangkat lunak. Model ini diperkenalkan oleh Royce pada tahun 1970.
Model ini mencakup spesifikasi persyaratan, perancangan sistem dan perangkat lunak, implementasi dan pengujian unit, integrasi dan pengujian sistem dan pemeliharaan.
Kelemahan dari model ini diantarnaya adalah model ini bersifat kaku sehingga akan menyulitkan ketika melakukan perubahan. Ada beberapa tahapan yang dilakukan dalam metode waterfall yaitu:
- Software Requiretments Analysis, yaitu pencarian kebutuhan yang difokuskan pada software tentu saja kebutuhan tersebut nantinya dapat dipahami oleh pengembang.
- Design, yaitu pengaplikasian dari kedua kebutuhan diatas dalam bentuk sebuah arsit sebelum koding dimulai, ini menyangkut keseluruhan sistem seperti alur kerja sistem.
- Implementasi, yaitu design yang sudah jadi diaplikasi kedalam sebuah bahasa pemrograman agar dapat dimengerti oleh komputer
- Integrasi dan pengujian sistem, yaitu uji coba sistem yang sudah dibuat agar dapat disempurnakan kembalie)
- Operasi dan Maintenance, yaitu pemeliharaan sistem yang sudah dilempar kepasar. Tujuan dari maintenance ini adalah agar sistem yang dibuat bisa sesuai dengan perkembangan pasar yang ada sehingga sistem yang dibuat dapat dipakai dalam jangkat waktu yang cukup panjang.
|
Waterfall |
Gambar diatas merupakan gambaran dari tahapan pemodelan proses pearangkat lunak secara waterfall. Metode waterfall ini dalam penggunaanya tentu memilki klemahan yaitu bersifat kaku sehingga akan menyulitkan ketika melakukan perubahan.
Sedangkan salah satu kelebihan dari model ini adalah pengerjaan proyek sistem akan dilakukan secara terstruktur karena dan mudah dikontrol
Baca Juga: Human Usability Principle
2. Spiral
Model spiral merupakan salah satu dari model revolusioner, model spiral memiliki ciri yaitu memungkinkan untuk mengembangkan suatu perangkat lunak secara bertahap atau dengan beberapa versi untuk mengdapatkan perangkat lunak yang lebih sempurna dan lebih terkontrol.
Tahapan – tahapan dalam pengembangan model spiral dainataranya adalah sebagai berikut
- Customer Communication, yaitu aktivitas untuk membangun komunikasi yang efektif antara pengembang dengan pengguna, sehingga kebutuhan pengguna dapat diketahui dengan baik.
- Palnning, yaitu perencanaan untuk memperhitungkan semberdaya, waktu pengerjaan, dan informasi lainnya yang dibutuhkan untuk pengembangan perangkat lunak.
- Analysis Risk, yaitu untuk menganalisis resiko dengan baik resiko yang mungin terjadi secara teknikal
- Engineering, yaitu pembuatan protoype atau pembuatan satu atau lebih reprenstasi dari aplikasi yang dibuat
- Construction and Release, yaitu kegiatan untuk membangun perangkat lunak, ttesting, instalisasi, dan penyediaan dunkungan untuk pelanggan seperti pelatihan penggunaan sistem serta dokumentasi
- Customer Evaluation, yaitu kegiatan untuk mendapatkan timbal balik yang diberikan oleh pengguna.
|
Spiral |
Gambar diatas merupakan gambaran dari tahapan model proses pengambanga perangkat lunak secara spiral. Kelebihan dan kekurangan dari model pengembangan perangkat lunak spiral ini diantaranya adalah
- Kelebihan: memungkinkan untuk pemakian perangkat lunak bisa dipakai selama masa berlaku perangkat lunak, pengembang dan pemakai dapat lebih mudah memahami dan birinteraksi terhadap resiko setiap evolusi
- Kekurangan: Memerlukan penafsiran resiko yang masuka akal dan akan menjadi masalah yang sangat serius jika resiko besar tidak ditemukan, butuh waktu lama untuk menerapkan paradigma model ini untuk menuju ke kepastian.
Baca Juga: APA YANG DIMAKSUD CLOUD COMPUTING, IAAS, SAAS DAN PAAS
3. Prototype
Metode Prototype merupakan pengembangan dan revolusi metode pengembangan perangkat lunak yang lama yaitu sistem sekuensial yang biasa dikenal dengan nama SDLC atau waterfall development model.
Dalam model ini prototype dari perangkat lunak yang dihasilakan dipresentasikan kepada pengguna untuk mendapat masukan dari pengguna yang bersangkutan agar sistem yang dihasilkan sesuai dengan kebutuhan pelanggan.
Teknik – teknik dalam prototyping meliputi perangcangan model, perangcangan dialog, dan simulasi. Berikut ini adalah tahapan – tahapan pengembangan perangkat lunak secara prototype
- Pengumpulan Kebutuhan, Pengumpulan data atau gambaran yang dibutuhkan untuk pengembangan perangkat lunak.
- Membangun Prototype, membangun rancangan yang meliputi semua aspek software (prototype) yang digunakan untuk penyajian sementara kepada pelanggan
- Evaluasi Prototype, evaluasi dilakukan jika prototype yang dihasilkan sudah sesuai denga keinginan pelanggan. Jika belum makan akan dilakuakn perbaikan protype kembali.
- Pengkodean Sistem, pada tahap ini prototype yang sudah sesuai dengan keinginan pelanggan diterjemahkan kedalam bahasa pemrograman
- Menguji Sistem, pengujian dilakukan sebelum perangkat lunak benar benar bisa dipakai oleh pengguna
- Evaluasi Sistem, yaitu evaluasi yang dilakukan apakah sistem sudah siap untuk dilempar kepasar atau belum.
- Menggunakan Sistem, sistem yang sudah jadi dilempar kepasar atau konsumen dan siap untuk digunakan.
|
Prototype |
Gambar diatas merupakan gambaran secara singkat dari tahapan model proses pengembangan perangkat lunak secara prototyping.
Kelebihan yang dimiliki oleh mode pengembangan perangkat lunak prototyping diantaranya adalah pemakai berperan aktif dalam pengembangan sistem.
Sedangkan kekurangan dari sistem ini adalah memungkinkan terjadinya pengembalian terhadap kode, implementasi, dan perbaikan siklus yang digunakan untuk mendominasi sistem informasi
Baca Juga: Hubungan IMK dengan Disiplin Ilmu Lain
4. Extreme Programming
Extreme Programming merupakan salah satu metode proses pengembangan perangkat lunak dalam RPL.
Metode ini merupakan salah satu metode yang terpopuler dari beberapa metodelogi pengembangan software yang dipakai untuk pengembangan perangkat lunak,tujuan utama dari metode ini adalah untuk menurukan biaya dan menyederhanakan dari berbagai tahapan dalam proses pengembangan perangkat lunak.
Adapaun tahapan dari model pengembangan ini adalah sebagi berikut
- Perencanaan,yaitu proses yang dirancang untuk mencapai tujuan tertentu dan pengambilan keputusan untuk mencapai hasil yang diinginkan. Kebutuhan tahap ini, antara lain teknis pengumpulan data, analisis kebutuhan system, identifikasi aktor dan identifikasi use case.
- Design. yaitu panduan dalam membangun perangkat lunak yang didasari atas kebutuhan pengguna. Proses design dilakukan sebelum dan sesudah aktivitas coding berlangsung serta dalam proses pengembangan aplikasi berlangsung.
- Coding, yaitu Tahap yang bertujuan untuk melakukan uji pada setiap unit sistem, kemudian selanjutnya melakukan penulisan coding aplikasi.model ini menggunakan konsep pair programming dimana tiap unit pengembangan dikembangkan oleh dua programmer.
- Testing, yaitu pengujian perangkat lunak dimaksudkan untuk menguji semua unit perangkat lunak yang dibuat apakah telah sesuai kebutuhan pengguna. Pada tahap pengujian ini aplikasi langsung diuji coba oleh pengguna.
Baca Juga: CARA SETTING SEAMLESS@WIFI.ID DI WINDOWS 7
5. Evolusioner
Model ini bertumpang tindih dengan kegiatan spesifikasi, pengembangan dan validasi. Sistem awal dikembangkan dengan cepat dari spesifikasi yang abstrak.
Sistem ini kemudian dikembangkan dengan menerima masukan atau saran dari pelanggan sehingga sistem dapat disempurnakan sesuai dengan kebutuhan pelanggan.
Karena pengembangan terus berlangsung saat pengguna sudah menggunakan sistem maka memungkinkan kebingunan dari pengembang dalam menyempurnakan sistem Karena terkadang kebutuhan pelanggan bisa berubah setiap saat.
Tahapan dalam model proses ini adalah sebagai berikut:
- Komunikasi: Komunikasi dalam hal ini adalah pertemuan dengan pelanggan untuk membicarakan kebutuhan dan fitur-fitur yang akan dibuat pada software.
- Perencanaan: Perencanaan disini merupakan tahap penjelasan mengenai hasil diskusi dengan pelanggan kepada semua anggota tim pengembang. Sehingga semua anggota tim memiliki gambaran mengenai software yang akan dibuat.
- Desain Pemodelan:Tahap ini merupakan tahapan dalam membuat interface software yang harus memprioritaskan kenyamanan dan kemudahan pelanggan dalam penggunaannya.
- Implementasi dalam bentuk prototype: Pada tahapan ini programmer akan membuat kode-kode yang dibutuhkan untuk membentuk sebuah fitur-fitur pada software, namun software tersebut belum sempurna
- Testing dan Umpan Balik:
- Tahap testing akan dilakukan untuk menguji software yang telah dibuat apakah sudah berjalan sesuai keinginan. Ketika software lolos pada tahap testing, software akan diserahkan kepada pengguna sehingga pengguna dapat memberikan umpan balik berupa komentar/keluhan mengenai kekurangan dari software tersebut
Baca Juga: JARINGAN KOMPUTER
6. Agile
Agile merupakan sekelompok metodelogi pengembangan perangkat lunak yang didasarkan pada prinsip sama atau kesamaan prinsip.
Saat menggunakan pengembangan dengan metode agile diperlukan inovasi dan respon yang baik antara tim pengembang dan klien agara kualitas dari perangkat lunak yang dibangun sesuai dengan keinginan klien.
Adapun tahapan – tahapan dalam pengembangan perangkat lunak dengan metode ini adalah sebagai berikut:
- Perencanaan, pada tahap ini pengembang dan klien membuat perencanaan tentang struktur dan kebutuhan dari perangkat lunak yang akan dibuat.
- Implementasi, pengembang melakukan coding untuk membuat agar rencana dapat dimengerti oleh computer
- Tes Perangkat Lunak, perangkat lunak yang sudah dibuat diujicoba untuk mecari kelemahan yang masih ada dalam perangkat lunak.
- Dokumentasi, proses ini dilakukan untuk mempermudah maintenance perangkat lunak.
- Deployment, proses untuk menjamin kualitas sistem yang dibuat.
- Pemeliharaan, yaitu perbaikan jika seandainya dalam pemakaiannya perangkat lunak mengalami kendala.
Adapun kelebihan yang didapat dalam menggunakan metode agile adalah, sistem dapat dibangun dengan lebih cepat, mengurangi kegagalan implementasi software dari segi non teknis dan meningkatkan kepuasan pelanggan
Sedangkan kekurangan yang paling sering ditemui pada metode adalah dalam mengintegrasikan tim, karena perubahan yang begitu cepat dalam metode ini sehingga setiap orang yang terlibat dalam pengembangan proyek harus selalu bisa berinteraksi dengan efisien antara satu dengan yang lainnya.