Senin, 14 Oktober 2019

Model - Model Pengembangan Perangkat Lunak

1. Waterfall

Pengertian
Model waterfall merupakan model pengembangan sistem informasi yang sistematik dan sekuensial [4]. Alasan penggunaan model waterfall sebagai metode pengembangan sistem informasi alumni SMKN 1 Jenangan Ponorogo ialah kebutuhan pihak sekolah telah terdefinisi secara jelas dan tahap-tahap pada model waterfall terstruktur secara jelas. (Romadhoni, Widiyaningtyas, & Pujianto, 2015)
Alur
  • Analysis
Pada tahap ini, merupakan proses analisa kebutuhan sistem. Pengembang mengumpulkan data-data sebagai bahan pengembangan sistem. Pengumpulan data dapat dilakukan dengan teknik wawancara, teknik observasi, dan teknik kuisioner [5].
  • Design
Proses desain adalah proses multi langkah yang berfokus pada empat atribut, yaitu:struktur data, arsitektur perangkat lunak, representasi interface, dan detail prosedural. Proses desain menterjemahkan hasil analisis ke dalam representasi perangkat lunak.
  • Code
Pada tahap ini desain diterjemahkan ke dalam program perangkat lunak. Pada tahap pengimplementasian ke dalam kode program akan bergantung pada hasil desain perangkat lunak pada tahap sebelumnya.
  • Test
Setelah pengkodean, dilanjutkan dengan pengujian terhadap sistem yang telah dibuat. Pengujian dilakukan untuk mengetahui kesesuaian hasil output dari sistem dengan kebutuhan yang telah dirancang pada tahap analisis.



Kelebihan dan Kekurangan
Kelebihan
§Memiliki proses yang urut, mulai dar analisa hingga support
§ Setiap proses memiliiki spesifikasinya sendiri, sehingga sebuah sistem dapat dikembangkan sesuai dengan apa yang dikehendaki (tepat sasaran)
§ Setiap proses tidak dapat saling tumpang tindih.
Kekurangan
§ Proses yang dilakukan cenderung panjang dan juga lama
§ Biaya penggunaan metode yang cenderung mahal
§ Membutuhkan banyak riset dan juga penelitian pendukung untuk mengembangkan sistem menggunakan metode waterfall

Contoh Implementasi
Implementasi Model Waterfall Pada Pengembangan Sistem Informasi Alumni Smkn 1 Jenangan Ponorogo

2. Prototyping

Pengertian
Prototyping merupakan salah satu metode pengembangan perangat lunak yang banyak
digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapatsaling berinteraksi selama proses pembuatan sistem. Sering terjadi seorang pelangganhanya mendefinisikan secara umum apa yang dikehendakinya tanpa menyebutkan secaradetal output apa saja yang dibutuhkan, pemrosesan dan data-data apa saja yangdibutuhkan. Sebaliknya disisi pengembang kurang memperhatikan efesiensi algoritma,kemampuan sistem operasi dan interface yang menghubungkan manusia dan komputer. (JULIANA PEREIRA MICHELS, 2010)

Alur
· Mendengarkan pelanggan Pada tahap ini dilakukan pengumpulan kebutuhan dari system dengan cara mendengar keluhan dari pelanggan. Untuk membuat suatu system yang sesuai kebutuhan, maka harus diketahui terlebih dahulu bagaimana system yang sedang berjalan untuk kemudian mengetahui masalah yang terjadi.
· Merancang dan Membuat Prototype Pada tahap ini, dilakukan perancangan dan pembuatan prototype system. Prototype yang dibuat disesuaikan dengan kebutuhan system yang telah didefinisikan sebelumnya dari keluhan pelanggan atau pengguna.
· Uji coba Pada tahap ini, Prototype dari system di uji coba oleh pelanggan atau pengguna. Kemudian dilakukan evaluasi kekurangan-kekurangan dari kebutuhan pelanggan. Pengembangan kemudian kembali mendengarkan keluhan dari pelanggan untuk memperbaiki Prototype yang ada.



Kelebihan dan Kekurangan
Kelebihan
· adanya komunikasi antara pengembang dan pelanggan
  • pengembang dapat bekerja lebih baik
· pelanggan berperan aktif dalam pengembangan
  • lebih menghemat waktu
  • harapan menjadi lebih baik
Kekurangan
· pelanggan tidak paham bahwa perangkat lunak yang ada belum mencantumkan kualitas dan pemeliharaan untuk jangka waktu lama.
· pengembang biasanya ingin cepat, menyelesaikan proyek sehingga menggunakan alogaritma dan bahasa yang sedderhana agar lebih cepat, tanpa memikirkan program tersebut merupakan blue print system.
· hubungan pelanggan dengan komputer yang disediakan tidak mencerminkan teknik perancangan yang baik.

Contoh Implementasi
Metode Prototyping Dalam Pengembangan Sistem Informasi

3. V-Model

Pengertian
Untuk mengatasi permasalahan tersebut adalah memberikan pengetahuan kepada admistratif untuk memudahan pengarsipan secara terkomputerisasi yang dapat mempermudah atau mempercepat proses pendaftaran anggota dengan mengunakan model V. (Wijayanti & Sari, 2018)

Alur
  • Business Case: Merupakan tahapan awal yang menggambarkan kebutuhan/harapan konsumen terhadap sistem yang akan dikembangkan, termasuk manfaat sistem terhadap konsumen dan perkiraan biaya yang harus disediakan.
  • Requirement: pada fase ini klien mendapatkan gambaran atau diminta memberikan gambaran kebutuhan yang diharapkan dapat dipenuhi oleh software, baik kebutuhan fungsional maupun non fungsional.
  • Analisis Informasi: Setelah diperoleh spesifikasi sistem dari fase requirement, selanjutnya aktivitas difokuskan bagaimana cara kerja software untuk memenuhi kebutuhan tersebut, termasuk metode, hardware dan software apa saja yang diperlukan untuk mencapai kebutuhan yang sudah didefinisikan.
  • Perancangan Sistem: pada tahapan ini akan dibuat rancangan software secara lebih terinci sesuai spesifikasi yang sudah disepakati.
  • Unit Design: merancang setiap elemen/unit software termasuk rancangan modul/program, antarmuka, database dan lain-lain.
  • Development: merealisasikan hasil rancangan menjadi satu aplikasi/program tertentu.


Kelebihan dan Kekurangan
Kelebihan
  • Merupakan model pengembangan terstruktur.
· Setiap fase dapat diimplementasikan dengan dokumentasi yang detail dari fase sebelumnya.
· Aktivitas pengujian dapat dimulai di awal proyek, sehingga mengurangi waktu proyek.
Kelemahan
  • menggunakan teknik V – Shape Model
· Dokumentasi harus cukup detail agar fase selanjutnya dapat berjalan dengan baik.

Contoh Implementasi
Penerapan V-Model Dalam Fleksibilitas Software Development

4. Fountain Model

Pengertian
Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier (sequential linear) atau alur hidup klasik (classic life cycle). Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengodean, pengujian, dan tahap pendukung (support). (W.B., 1877)

Alur
· User requirements analysis ( Analisis Kebutuhan Pengguna), disini kita sebagai programmer dalam mengembangkan sistem harus menganalisa kebutuhan terhadap pengguna baik itu dalam cara penggunaan yang mudah maupun efisiensi terhadap sistem yang pengguna butuhkan.
· User requirements specifications (Spesifikasi kebutuhan pengguna), dalam tahap ini kita harus tahu apa saja yang dibutuhkan pengguna dalam sistem yang sedang kita kembangkan.
· Software requirements specifications (Spesifikasi persyaratan perangkat lunak), dalam tahap ini kita harus menyesuaikan software yang kita buat jika di lihat dari sisi pengguna. Jika pengguna awam tentunya kita harus menciptakan Software yang mudah digunakan.
· Systems/broad design (logical design), sebelum pengimplementasi dalam coding kita harus mendesain sistem yang akan kita buat / kembangkan.
· Program/detailed design (physical design), dalam tahap ini kita membuat desain yang mendekati fisik atau secara deail.
· Implementation/coding, setelah tahap desain barulah kita mengimplementasikan dalam coding • Program testing: units, dalam tahap ini kita testing / cek kembali unit nit yang dibutuhkan dalam sistem yang sedang kita kembangkan .
· Program testing: system, dalam tahap ini kita test kembali sistem yang telah kita buat. • Program use, dalam tahap ini kita ajarkan ke pengguna program yang telah kita buat.
· Software maintenance, setelah sistem di pasang maka tentunya kita harus rutin mengupdate software / sistem yang telah kita buat agar terhindar dari kesalaha / bugs.



Kelebihan dan Kekurangan
Kelebihan
· Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya secara bertahap. Sehingga tidak terfokus pada tahapan tertentu.
· Dokumen pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya. Jadi setiap fase atau tahapan akan mempunyai dokumen tertentu.

Contoh Implementasi
Implementasi Model Fountain Pada Sistem Informasi Akademik Berbasis Web Pada Smk Pertanian Karawang

5. Spiral Model

Pengertian
Spiral model adalah salah satu bentuk evolusi yang menggunakan metode iterasi natural
yang dimiliki oleh model prototyping dan digabungkan dengan aspek sistematis yang dikembangkan dengan model waterfall. Metode ini baru ditemukan pada tahun 1988 oleh Barry Boehm dalam artikelnya yang berjudul A Spiral Model of Software Development and Enchanement. Tahap desain umumnya digunakan pada model Waterfall, sedangkan tahap prototyping adalah suatu model dimana software dibuat prototype (incomplete model), dan contohnya yang ditunjukkan ke user / customer untuk mendapatkan feedback-nya. Jika prototype-nya sudah sesuai dengan keinginan user / customer, maka proses SE dilanjutkan dengan membuat produk sesungguhnya dengan menambah dan memperbaiki kekurangan dari prototype tadi. (Boehm, Model, & Development, 1988)

Alur
  • Tahap Liason
Tahap ini berhubungan dengan komunikasi antara orang yang akan mengembangkan software (system analyst) dengan pelanggan . Tujuannya adalah agar dapat memuaskan pelanggan dengan memperbaiki dan mengembangkan software sesuai dengan kebutuhan, kepentingan dan keinginannya.
  • Tahap Planning
Tahap perencanaan meliputi estimasi biaya yang digunakan, batas waktu, pengaturan jadwal, identifikasi lingkungan kerja, sumber-sumber infomasi untuk melakukan iterasi. Hasilnya adalah dokumen spesifikasi kebutuhan sistem dan bisnis.
  • Tahap Analisis Risiko
Tahap ini berfungsi untuk mengidentifikasi risiko yang berpotensial untuk terjadi dan menghasilkan suatu solusi alternatif secara teknis dan manajemen saat strategi mitigasi risiko direncanakan dan diselesaikan.



Kelebihan dan Kekurangan
Kelebihan
· Perubahan-perubahan yang terjadi dapat diselesaikan secara sistematis
· Estimasi biaya menjadi mudah karena pembuatan prototipe telah selesai dalam fragmen yang kecil
· Manajemen dan analisis risiko yang lebih baik
Kekurangan
· Tidak cocok ketika digunakan dalam proyek-proyek kecil
· Tidak terlalu berguna dalam proyek-proyek kecil
· Sulit dalam mengikuti strategi proyek kecil

Contoh Implementasi
Penerapan Model Spiral Dalam Sebuah Aplikasi Dinamik ERP

6. Extreme Programming

Pengertian
Extreme Programming (XP) adalah metode pengembangan perangkat lunak yang sederhana dan mencakup salah satu metode tangkas yang dipelopori oleh Kent Beck, Ron Jeffries, dan Ward Cunningham. XP adalah salah satu metode tangkas yang paling banyak digunakan dan menjadi pendekatan yang sangat terkenal. Tujuan XP adalah tim yang terbentuk antara kursus berukuran kecil hingga menengah, tidak perlu menggunakan tim besar. (Supriyatna, 2018)

Alur
· Planning (Perencanaan) Tahapan ini dimulai dengan mendengarkan kumpulan kebutuhan aktifitas suatu sistem yang memungkinkan pengguna memahami proses bisnis untuk sistem dan mendapatkan gambaran yang jelas mengenai fitur utama, fungsionalitas dan keluaran yang diinginkan. Dalam pembangunan aplikasi web seleksi peserta pelatihan kerja pada tahapan ini dimulai dari mengidentifikasi permasalahan yang timbul pada sistem yang sedang berjalan, kemudian dilakukan analisa kebutuhan
· Design (Perancangan) Pada tahapan perancangan dilakukan pembuatan pemodelan sistem berdasarkan hasil analisa kebutuhan yang didapatkan. Selain itu dibuatkan juga pemodelan basis data untuk menggambarkan hubungan antar data. Pemodelan sistem yang digunakan yaitu Unified Modelling Language (UML) yang terdiri dari beberapa diagram antara lain Use-Case Diagram, Activity Diagram, Component Diagram dan Deployment Diagram. Sedangkan untuk pemodelan basis data menggunakan Entity Relationship Diagram (ERD) dan Logical Record Structure (LRS).
· Coding (Pengkodean) Tahapan ini merupakan implementasi dari perancangan model sistem yang telah dibuat kedalam kode program yang menghasilkan prototipe dari perangkat lunak. Dalam pembangunan aplikasi web seleksi peserta pelatihan kerja menggunakan bahasa pemrograman PHP yang dikombinasikan dengan HTML, CSS dan Javascript. Untuk implementasi basis data, Database Management System yang digunakan adalah MySQL
· Testing (Pengujian) Tahapan ini merupakan tahapan pengujian terhadap aplikasi yang sudah dibangun, pada tahapan ini ditentukan oleh pengguna sistem dan berfokus pada fitur dan fungsionalitas dari keseluruhan sistem kemudian ditinjau oleh pengguna sistem. Metode yang digunakan dalam melakukan pengujian terhadap aplikasi web seleksi peserta pelatihan kerja adalah Black-Box Testing dengan melakukan pengujian terhadap masukkan dan keluaran yang dihasilkan sistem.
· Software Increment (Peningkatan Perangkat Lunak. Tahapan ini merupakan tahap pengembangan sistem yang sudah dibuat secara bertahap yang dilakukan setelah sistem diterapkan dalam organisasi dengan menambahkan layanan atau konten yang mengakibatkan bertambahnya kemampuan fungsionalitas dari sistem.
IV.



Kelebihan dan Kekurangan
Kelebihan
  • Meningkatkan kepuasan kepada klien
  • Pembangunan system dibuat lebih cepat
· Menjalin komunikasi yang baik dengan client.
· Meningkatkan komunikasi dan sifat saling menghargai antar developer.
Kekurangan
· Cerita-cerita yang menunjukkan requirements dari pelanggan kemungkinan besar tidak lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
· Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
· XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.

Contoh Implementasi
Metode Extreme Programming Pada Pembangunan Web Aplikasi Seleksi Peserta Pelatihan Kerja

7. Agile Model

Pengertian
Kata Agile berarti bersifat cepat, ringan, bebas bergerak, waspada. Kata ini digunakan sebagai
kata yang mengambarkan konsep model proses yang berbeda dari konsep model-model proses yang sudah ada. Konsep Agile Software Development dicetuskan oleh Kent Beck dan 16 rekannya dengan menyatakan bahwa Agile Software Development adalah cara membangun software dengan melakukannya dan membantu orang lain membangunnya sekaligus. (Proboyekti, 2008)

Alur
  • XP(Extreme Programming)
  • ADAPTIVE SOFTWARE DEVELOPMENT (ASD)
  • DYNAMIC SYSTEMS DEVELOPMENT METHOD
  • SCRUM
  • AGILE MODELING


Kelebihan dan Kekurangan
Kelebihan
  • Meningkatkan kepuasan kepada klien.
· Dapat melakukan review pelanggan mengenai software yang dibuat lebih awal.
  • Pembangunan system dibuat lebih cepat.
· Mengurangi resiko kegagalan implementasi software dari segi non-teknis.
· Jika pada saat pembangunan system terjadi kegagalan kerugian dari segi materi relatif kecil.
Kekurangan
· Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
· Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
· Tidak cocok dalam skala tim yang besar (>20 orang).
· Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.

Contoh Implementasi
Bahan Ajar Rekayasa Perangkat Lunak Agile Software Development Disiapkan





Daftar Pustaka
Boehm, B., Model, S., & Development, S. (1988). Spiral Model.
Dasar, K., & Teknologi, D. A. N. (2004). Rekayasa Perangkat Lunak Rekayasa Perangkat Lunak. (Xml), 360–388.
Proboyekti, U. (2008). Bahan Ajar Rekayasa Perangkat Lunak Agile Software Development. Retrieved from http://lecturer.ukdw.ac.id/othie/agile_model.pdf
Romadhoni, E. N. A., Widiyaningtyas, T., & Pujianto, U. (2015). Implementasi Model Waterfall Pada Pengembangan Sistem Informasi Alumni SMKN 1 Jenangan Ponorogo. Seminar Nasional Sistem Informasi Indonesia, (November), 445–452.
Supriyatna, A. (2018). Metode Extreme Programming Pada Pembangunan Web Aplikasi Seleksi Peserta Pelatihan Kerja. Jurnal Teknik Informatika11(1), 1–18. https://doi.org/10.15408/jti.v11i1.6628
United Nations Staff, & Kwack, S. Y. (2018). The Prototype Model. African Development Prospects, 137–162. https://doi.org/10.4324/9781315826523-9
W.B. (1877). “Implement.” Notes and Queriess5VII(159), 37. https://doi.org/10.1093/nq/s5-VII.159.37-a

Tidak ada komentar:

Posting Komentar