Monday, September 16, 2019

Pengertian, Kelebihan, dan Kekurangan Specialized Process Model, Agile Method, dan Scrum

Lanjut dari pembahasan yang sebelumnya, kali ini saya akan membahas tentang pengertian, kelebihan, dan kekurangan Specialized Process Model, Agile Method, dan Scrum.

  • Specialized Process Model
Di dalam specialized process model, terdapat beberapa faktor penting antara lain sebagai berikut.

  1. Component Based Development
  2. Formal Method
  3. Aspect Oriented Model
Component Based Development merupakan suatu model yang digunakan ketika konsep reuse menjadi acuan pertama kita dalam mengembangkan sistem perangkat lunak. Arsitektur perangkat lunak dibentuk dalam komponen-komponen.

Formal Method adalah suatu model yang menggunakan model matematika sebagai spesifikasi kebutuhan.

Aspect Oriented Model yaitu suatu paradigma yang menekankan pada pendefinisian, penspesifikasian, dan pembangunan aspek (fungsi, fitur, dan konten informasi).


Ilustrasi Specialized Process Model dari https://www.researchgate.net


  • Kelebihan Specialized Process Model
Specialized Process Model mempunyai beberapa kelebihan yaitu :
  1. Karena pembangunan komponen berkurang maka biaya produksi pun berkurang.
  2. Menggunakan model reuse pada komponen yang sudah mewakili kebutuhan umum.
  3. Mampu mengurangi siklus waktu pengembangan software.
  • Kekurangan Specialized Process Model
Adapun beberapa kekurangan dari specialized process model antara lain sebagai berikut.
  1. Model ini bersifat iteratif atau proses yang dilakukan pada model ini dikerjakan secara berulang-ulang.
  2. Apabila ada sistem yang tidak bisa dimodulkan, maka model ini tidak cocok digunakan pada sistem tersebut.
  3. Penerapan model ini akan sulit dilakukan apabila pengguna tidak paham secara teknis tentang model ini.
  • Agile Method
Agile Method adalah suatu metode-metode yang didasarkan pada prinsip-prinsip yang sama, berjangka pendek, dan memerlukan adaptasi yang cepat yang dilakukan oleh pengembang terhadap perubahan apapun yang terjadi. Apabila seseorang ingin menggunakan metode ini, tim dan pengguna tersebut harus mempunyai inovasi dan tanggung jawab yang baik agar kualitas dari sistem perangkat lunak yang dibuat bagus.


Ilustrasi Agile Method dari https://o7services.com


  • Kelebihan Agile Method
Metode ini memiliki beberapa kelebihan yakni :
  1. 82% menambah produktivitas tim.
  2. 77% menambah kualitas perangkat lunak.
  3. 78% menambah kepuasan pengguna.
  4. 37% menghemat biaya.
  • Kekurangan Agile Method
Agile Method pun memiliki beberapa kekurangan diantaranya :
  1. Apabila komitmen tim yang menjalankan metode ini kurang, maka metode ini tidak akan bisa berjalan lancar.
  2. Tidak cocok dalam tim yang mempunyai skala besar.
  3. Perkiraan waktu rilis dan harga perangkat lunak sulit ditemukan.
  • Scrum
Scrum merupakan salah satu komponen dari metodologi pengembangan agile mengenai pertemuan harian untuk membahas kemajuan suatu proyek. Scrum juga bersifat fleksibel terhadap perubahan kebutuhan dan merupakan penunjang pengembangan produk yang kompleks.


Ilustrasi Scrum dari https://www.ntaskmanager.com


  • Kelebihan Scrum
Di dalam scrum terdapat beberapa kelebihan yaitu :
  1. Adanya pembagian pekerjaan sehingga pekerjaan tersebut dapat diselesaikan dengan cepat.
  2. Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan.
  3. Setelah software dibangun, dokumentasi dan pengujian dilakukan secara terus-menerus.
  • Kekurangan Scrum
Scrum pun mempunyai kekurangan. Salah satunya adalah pengembang harus selalu siap dengan perubahan karena perubahan akan selalu diterima.


Referensi :
S. M Top, SCRUM [ Bagus ]. Syafrudin M Top, p. 33 [Online]. Available: https://www.academia.edu/7478620/SCRUM_Bagus_. [Accessed: 15- Sep- 2019]
A. Bachtiar, "RPL 1 (Lama) - Proses Pembangunan Perangkat Lunak", SlideShare, 2017. [Online]. Available: https://www.slideshare.net/adfbipotter/rpl-1-lama-proses-pembangunan-perangkat-lunak. [Accessed: 15- Sep- 2019]
A. H, "RPL (SOFTWARE PROCESS MODELS)", kuliahkusayang.blogspot.com. 2010 [Online]. Available: http://kuliahkusayang.blogspot.com/2010/10/rpl-software-process-models.html. [Accessed: 15- Sep- 2019]

Kelebihan dan Kekurangan V Model, RAD Model, dan Spiral Model

Pada pembahasan sebelumnya, saya telah membahas tentang pengertian, kelebihan, dan kekurangan Incremental Model dan Concurrent Development Model. Pada kesempatan kali ini, saya akan melanjutkan pembahasan seputar model-model pengembangan sistem rekayasa perangkat lunak yang lain, yakni V Model, RAD Model, dan Spiral Model.

  • V Model
V Model bisa dikatakan perluasan dari model waterfall. Jika di model waterfall digunakan process flow yang linier, maka di v model ini digunakan process flow yang bercabang membentuk huruf v. Jika dilihat bentuk modelnya, kita bisa melihat tahapan-tahapan di dalamnya seperti tahapan pengembangan dan tahapan pengujian suatu proyek yang akan kita buat menjadi suatu produk yang siap digunakan oleh pengguna.




Ilustrasi V Model dari http://erniwijayanti07.blogspot.com


  • Kelebihan V Model
V Model mempunyai beberapa kelebihan antara lain sebagai berikut.

  1. V Model sangatlah fleksibel karena model ini bisa melakukan penambahan dan pengurangan method dan tool. V model juga mendukung project tailoring.
  2. V Model juga bisa dikembangkan dan dimaintain langsung oleh pengguna.
  • Kekurangan V Model
Selain mempunyai kelebihan, v model juga memiliki beberapa kekurangan yakni :

  1. Model ini termasuk kepada project oriented yang artinya proyek ini hanya bisa dilakukan sekali.
  2. Karena v model sangat fleksibel, mengakibatkan beberapa permasalahan di dalamnya seperti adanya beberapa aktivitas yang digambarkan abstrak sehingga kita tidak mengetahui aktivitas mana yang termasuk ke dalamnya dan juga aktivitas mana yang tidak termasuk.
  • RAD Model
RAD Model atau Rapid Application Development Model adalah suatu model pengembangan sistem perangkat lunak yang proses pengerjaannya lebih menekankan kepada waktu yang singkat. Model ini pun tergolong ke dalam teknik incremental. RAD Model juga di dalam pengembangan sistem perangkat lunaknya menggunakan metode iteratif atau pengulangan.



Ilustrasi RAD Model dari https://increiblelavista.blogspot.com


  • Kelebihan RAD Model
RAD Model memiliki beberapa kelebihan yaitu :
  1. Cepatnya waktu yang didapatkan oleh tim dalam mengembangkan sistemnya karena model ini cenderung mengabaikan kualitas.
  2. Semua kesalahan-kesalahan yang mungkin akan terjadi mampu diminimalisir oleh alat-alat bantuan (CASE tools).
  3. Biaya yang tim keluarkan sedikit karena model ini memberikan sistem yang baru di dalamnya.
  4. Di dalam proses pembuatannya, tim lebih banyak menggunakan potongan-potongan script sehingga proses pengirimannya menjadi lebih mudah.
  5. Model ini bersifat fleksibel karena pengembang bisa melakukan proses desain ulang dalam waktu yang bersamaan.
  • Kekurangan RAD Model
Tidak jauh dari model pengembangan sistem perangkat lunak yang lain, model ini pun memiliki beberapa kekurangan diantaranya :
  1. Karena lebih banyak menggunakan kecepatan, kualitas produk pun tidak akan sempurna dan sering kali terjadi kesalahan-kesalahan.
  2. Terbatasnya waktu yang diberikan membuat fasilitas-fasilitas penunjang pembuatan produknya harus dikurangi.
  3. Sistem yang ada pada model ini sulit diaplikasikan di tempat lain.
  4. Proses pengukuran yang dilakukan oleh tim terhadap kemajuan proses proyeknya akan mengalami kesulitan.
  5. Biaya yang dikeluarkan tidaklah sedikit karena tim harus membeli sendiri peralatan-peralatan penunjangnya seperti software ataupun hardwarenya.
  • Spiral Model
Model ini merupakan gabungan dari model prototype dan model waterfall. Tahapan pengujian serta pemilihan desain awal atau prototypenya dilakukan berdasarkan model prototype. Jika pengguna telah memilih desain awalnya seperti apa, kemudian tim melakukan pengembangan sistem perangkat lunaknya berdasarkan model waterfall. Spiral Model juga merupakan suatu model yang pendekatannya bersifat realistis karena proses dari awal sampai proses pengiriman dan perbaikan dapat dipahami dengan baik oleh pengguna dan pengembang.


Ilustrasi Spiral Model dari http://share.its.ac.id


  • Kelebihan Spiral Model
Di dalam spiral model terdapat beberapa kelebihan antara lain sebagai berikut.
  1. Dengan adanya prototype dapat mengurangi risiko-risiko yang berbahaya dan tidak diharapkan oleh pengguna dan pengembang.
  2. Dengan adanya prototype ini pula kekurangan-kekurangan kebutuhan yang akan dialami oleh pengguna akan menurun.
  3. Model ini lebih cocok digunakan untuk pengembangan sistem dan perangkat lunak berskala besar.
  4. Tetap berpacu dalam langkah-langkah yang telah tersedia dan memasukkannya ke dalam langkah kerja iteratif.
  5. Karena perangkat lunak terus bekerja selama proses mengakibatkan pengembang dan pengguna dapat saling memahami dan bereaksi terhadap setiap risiko yang muncul.
  • Kekurangan Spiral Model
Adapun beberapa kekurangan yang terdapat di dalam spiral model yaitu :
  1. Banyaknya risiko-risiko yang mungkin akan terjadi membuat pengguna dan pengembang harus mempertimbangkannya.
  2. Dengan banyaknya kemungkinan-kemungkinan risiko yang terjadi, membuat tim harus mengandalkan tenaga ahli khusus menanggulangi kemungkinan-kemungkinan tersebut.
  3. Belum adanya bukti yang nyata bahwa metode ini cukup efisien karena metode ini tergolong baru.
  4. Jika risiko mayor tidak ditemukan dan diatur akan mengakibatkan masalah yang serius.
  5. Membutuhkan waktu yang lama untuk menerapkan paradigma ini menuju kepastian yang absolut.
Referensi :
C. Habibah, Kelebihan Dan Kekurangan Dari Macam-Macam Model Pengembangan Perangkat Lunak. Priyan Tina167, p. 5 [Online]. Available: https://www.academia.edu/10658998/Kelebihan_Dan_Kekurangan_Dari_Macam-Macam_Model_Pengembangan_Perangkat_Lunak. [Accessed: 15- Sep- 2019]
M. Arbiyana, Model V. Mira Arbiyana, p. 9 [Online]. Available: https://www.academia.edu/6539949/Model_V. [Accessed: 15- Sep- 2019]
D. Alvianto, Rapid Application Development (RAD). Dedi Alvianto, p. 4 [Online]. Available: https://www.academia.edu/25354475/Rapid_Application_Development_RAD. [Accessed: 15- Sep- 2019]

Pengertian, Kelebihan, dan Kekurangan Incremental Model dan Concurrent Development Model

Pada kesempatan kali ini saya akan membahas tentang Rekayasa Perangkat Lunak khususnya model-model yang ada di dalamnya. Seperti yang kita ketahui, rekayasa perangkat lunak memiliki banyak model di dalamnya. Contohnya Model Waterfall, Model V, dan lain sebagainya. Namun, yang menjadi topik utama dalam pembahasan model rekayasa perangkat lunak kali ini adalah Model Incremental dan Concurrent Development Model.

Ilustrasi Incremental Model dari http://fanserker.blogspot.com


  • Pengertian Model Incremental

Model Incremental adalah suatu model pengembangan sistem yang ada pada perangkat lunak yang pengerjaannya dibagi ke dalam beberapa fungsi atau bagian sehingga proses pengembangannya dilakukan secara increment atau bertahap. Model Incremental berdasarkan process flow, termasuk ke dalam Evolutionary Process Flow karena pengerjaan proses pengembangannya mengalami pengulangan. Hasil akhir atau produk yang dihasilkan model incremental ini bisa dikatakan lebih baik dan lebih lengkap karena adanya beberapa tahapan yang dilakukan berurutan dan beberapa tes yang diuji membuat kualitas produknya meningkat.

  • Kelebihan Model Incremental 
Di dalam model incremental terdapat beberapa kelebihan antara lain sebagai berikut.
  1. Produk yang dihasilkan semakin lama semakin baik karena model incremental ini proses pengembangan sistemnya dilakukan secara bertahap sehingga hasil akhir dari produk mampu mendekati versi sempurna.
  2. Nilai penggunaan dilakukan secara bertahap sehingga fungsionalitas dapat tersedia dari awal.
  3. Model Incremental ini merupakan model yang memiliki risiko yang lebih rendah terhadap keseluruhan pengembangan sistem.
  4. Mampu mengakomodasi perubahan secara fleksibel.
  5. Model Incremental ini merupakan model yang memiliki manajemen yang sederhana.
  • Kekurangan Model Incremental
Selain memiliki beberapa kelebihan, tentunya model incremental ini memiliki beberapa kekurangan yaitu:
  1. Kesalahan pemetaan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing tahapan menjadi faktor yang mungkin akan terjadi.
  2. Kemungkinan tiap-tiap bagian dari proses pengembangan model incremental ini tidak dapat diintegrasikan.
  3. Model ini tidak cocok untuk proyek pengerjaan pengembangan sistem yang memiliki skala yang besar.
  4. Waktu yang dibutuhkan untuk menghasilkan produk yang lengkap relatif lama.


Ilustrasi Concurrent Development Model dari http://www.tutorsglobe.com



  • Pengertian Concurrent Development Model
Concurrent Development Model merupakan suatu cara atau proses pengembangan sistem perangkat lunak yang pada dasarnya merupakan sebuah teknis, tugas, ataupun hubungan yang saling berkaitan satu sama lain. Model ini berdasarkan pada process flow, termasuk ke dalam Parallel Process Flow karena proses pengerjaan produk di dalamnya dilakukan dalam waktu yang bersamaan (proses communication dan planning). Aktivitas yang dilakukan pada model ini bersifat simultan, yang artinya antara aktivitas yang satu dengan yang lainnya saling berkaitan.

  • Kelebihan Concurrent Development Model
Sama seperti model pengembangan sistem perangkat lunak lainnya, Concurrent Development Model ini memiliki beberapa kelebihan sebagai berikut.
  1. Model ini memberikan gambaran yang kuat terhadap proyek yang dikerjakan.
  2. Produk yang dihasilkan kokoh karena proses pembuatan produknya dirancang sekaligus dibuat oleh teknisinya.
  3. Jika ada fitur-fitur lain yang ingin dimasukkan ke dalam produknya, hal itu bisa dilakukan di akhir proses produk itu dibuat sebelum melakukan validasi. Hal ini dikarenakan proses percobaan yang dilakukan berulang-ulang oleh teknisi sehingga permasalahan-permasalahan dari pengguna dapat diminimalisir.
  4. Model ini bersifat fleksibel. Hal ini mengakibatkan pengembangan dari produk yang dianalisis oleh tim mampu dikelola langsung oleh mereka dan feedback yang diberikan oleh pengguna dapat langsung diterima oleh tim tersebut pada saat proses percobaan dilakukan.
  5. Masing-masing kegiatan pada jaringan yang terdapat pada model ini terdapat persamaan dengan kegiatan lain sehingga semua step bisa dimulai atau diperbarui.
  • Kekurangan Concurrent Development Model
Tentunya semua model yang ada pada rekayasa perangkat lunak memiliki kekurangan-kekurangannya sendiri. Berikut beberapa kekurangan yang dimiliki oleh Concurrent Development Model.
  1. Dibutuhkannya komunikasi dan kemampuan yang baik antara teknisi yang satu dengan yang lainnya ataupun tim yang satu dengan tim yang lainnya karena implementasi design di awal proses pembuatan produk sedikit sulit.
  2. Apabila terkendala dengan kurangnya waktu yang dibutuhkan untuk menyelesaikan produk menggunakan model ini, model ini tidak akan bisa bekerja secara efisien.
  3. Karena model ini merupakan Parallel Process Flow,  tim yang melakukan model ini akan sedikit mengalami kesulitan apabila terjadi suatu kesalahan di tengah proyeknya.

Referensi :
S. M Top, The Concurrent Development Model(REVISI) [ Cukup ]. Syafrudin M Top, p. 7 [Online]. Available: https://www.academia.edu/7478621/The_Concurrent_Development_Model_REVISI_Cukup_. [Accessed: 15- Sep- 2019]
D. Arianti, Incremental Model (model pengembangan RPL). TjwaCen-Cen, 2011, p. 4 [Online]. Available: https://www.scribd.com/doc/51692977/Incremental-Model-model-pengembangan-RPL. [Accessed: 15- Sep- 2019]
P. MX, Model Incremental dalam rekayasa perangkat lunak. Putuprasetyo MX, p. 7 [Online]. Available: https://www.academia.edu/34511536/Model_Incremental_dalam_rekayasa_perangkat_lunak. [Accessed: 15- Sep- 2019]