Skip to main content

Mengenal Process Model Dalam System Development Life Cycle

SYSTEM DEVELOPMENT LIFE CYCLE

System Development Life Cycle atau siklus hidup pengembangan perangkat lunak adalah tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan programmer dalam membangun sistem informasi. Langkah yang digunakan meliputi :

1. Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi
2. Mempelajari dan menganalisis sistem informasi yang sedang berjalan
3. Menentukan permintaan pemakai sistem informasi
4. Memilih solusi atau pemecahan masalah yang paling baik
5. Menentukan perangkat keras (hardware) dan perangkat lunak (software)
6. Merancang sistem informasi baru
7. Membangun sistem informasi baru
8. Mengkomunikasikan dan mengimplementasikan sistem informasi baru
9. Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukan

System Development Lyfe Cycle (SDLC) adalah keseluruhan proses dalam membangun sistem melalui beberapa langkah. Ada beberapa model SDLC. Model yang cukup populer dan banyak digunakan adalah waterfall. Beberapa model lain SDLC misalnya , v model, incremental model, spiral model, concurrent development model, rapid application development, agile development, scrum model, dan specialized process model.

Model V / V-Model
Bisa dikatakan model ini merupakan perluasan dari model waterfall. Disebut sebagai perluasan karena tahap-tahapnya mirip dengan yang terdapat dalam model waterfall. Jika dalam model waterfall proses dijalankan secara linear, maka dalam model V proses dilakukan bercabang. Dalam model V ini digambarkan hubungan antara tahap pengembangan software dengan tahap pengujiannya.


Kelebihan v model:
  • V Model sangat fleksibel. V Model mendukung project tailoring dan penambahan dan pengurangan method dantool secara dinamik. Akibatnya sangat mudah untuk melakukan tailoring pada V Model agar sesuai dengan suatu proyek tertentu dan sangat mudah untuk menambahkan method dan tool baru atau menghilangkan method dan tool yang dianggap sudah obsolete.
  • V Model dikembangkan dan di-maintain oleh publik. Userdari V Model berpartisipasi dalam change control boardyang memproses semua change request terhadap V Model.
Kekurangan v model:
  • V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
  • V Model terlalu fleksibel dalam arti ada beberapa activitydalam V Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalamactivity tersebut dan apa yang tidak.

Incremental Model

Dalam model Incremental ini proses pengerjaan perangkat lunak akan dilakukan perbagian sehingga bagian selanjutnya akan dikerjakan setelah bagian awal telah selesai dan selanjutnya sampai menghasilkan perangkat lunak yang lengkap dengan semua fungsi yang diperlukan dan pengerjaan perangkat lunak berakhir. Sebelum pengerjaan perangkat lunak akan dilakukan perancangan arsitektur software sebagai kerangka dalam pengerjaan perbagian.



Kelebihan incremental model:
  • Resiko yang rendah pada pengembangan sistem.
  • Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga kemudahan pemakaian sistem yang paling di utamakan.
  • Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan secara terurut).
  • Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
  • Mampu mengakomodasi perubahan kebutuhan customer. 
  • Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian.
  • Memaksimalkan pengembalian modal investasi konsumen.

Kekurangan incremental model:
  • Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.
  • Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
  • Hanya cocok untuk proyek dengan skala kecil.
  • kemungkinan tiap bagian tidak dapat diintegrasikan.


Spiral Model

Spiral model diusulkan oleh Boehm pada tahun 1988 sebagai pendekatan alternative dari model waterfall. Model ini menggunakan fitur yang ada pada model waterfall dan prototype. Setiap tahapan model ini selalu dilakukan risk analisys dan verivikasi atau testing. Spiral model merupakan proses yang pendekatannya bersifat realistis pada software besar karena proses dari awal sampai proses pengiriman dan perbaikan dapat dipahami dengan baik oleh clieent dan developer. Model ini mempunyai rangkaian kerja yang iterasi (peningkatan pada model) awal yang berbentuk prototype dan kemudian iterasi selanjutnya akan menjadi perkembangan dari model sebelumnya. Model ini dapat terus digunakan meskipun software sudah dikirimkan karena proses (siklus)dapat berputar lagi jika ada perubahan pada software sampai tidak ada permintaan perupbahan pada software oleh client.


Ada 6 pembagian proses pembuatan pada spiral model:
  1. Komunikasi Pelanggan.
  2. Perencanaan.
  3. Analisis resiko.
  4. Perekayasaan.
  5. Konstruksi dan Peluncuran.
  6. Evaluasi Client

Kelebihan model Spiral:
  • Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan.
  • Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
  • Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer. 
  • Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
  • Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
  • Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
  • Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.

Kekurangan model Spiral:

  • Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
  • Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
  • Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
  • Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
  • Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.

Concurrent Development Model


Concurrent Development Model disebut concurrent engineering, dapat direpresentasikan dengan skema sebagai series dari kerangka aktifitas, aksi software engineering dan juga tugas. Pada model ini aktifitas kerja dilakukan secara bersamaan, setiap proses kerja memiliki beberapa pemicu kerja dari aktifitas. Pemicu dapat berasal dari awal proses kerja maupun dari pemicu yang lain karena setiap pemicu akan saling berhubungan. Misalnya proses desain akan berubah atau dihentikan sementara karena ada perubahan permintaan kebutuhan dari customer.

Concurrent process model dapat digambarkan secara skematik sebagai rangkaian dari kegiatan teknis utama, tugas, dan hubungan antar bagian. Jadi, pada intinya Metode CDM ini suatu skema modl yang mengimplementasikan suatu proses kerja yang di lakukan cepat namun di kerjakan secara bersama sama namun tetap efektif dalam menyelesaikan berbagai penyelesaian masalah sesuai permintaan customer.
 




Gambar The Condurrent Development Model

Gambar diatas menunjukkan skematik dari satu aktivitas dengan concurrent process model. Aktivita analisa mungkin pada tiap orang mencatat bagian-bagian di setiap waktu. Dengan cara yang sama, aktivitas yang lain seperti komunikasi antara customer dapat digambarkan dengan cara yang sama.

Concurrent process model sering digunakan sebagai paradigma untuk pengembangan aplikasi client/server. Sistem client/server terdiri atas satu set komponen yang fungsional. Ketika diaplikasikan untuk client/server, concurrent process model menggambarkan aktivitas di dua dimensi yaitu dimensi sistem dan dimensi komponen.

  1. Dimensi Sistem ditujukan menggunaan tiga aktivitas : Design, Perakitan (assembly) dan Penggunaan (use).
  2. Dimensi Komponen ditujukan dengan dua aktivitas : Design dan Realisasi.
Concurrency dicapai dalam jalan dua arah yaitu sebagai berikut :
  1. Sistem dan komponen aktivitas terjadi secara simultan dan dapat diperagakan menggunakan pendekatan yang berorientasi status sebelumnya.
  2. Kekhasan aplikasi client/server adalah diterapkan dengan banyak komponen, masing-masing dapat dirancang dan direalisasi secara bersamaan.
Kelebihan dari model ini :
  • Hasil yang di dapat akan menghasilkan suatu sistem yang sangat baik karena terdapat perancangan yang terjadi secara besar dan terencana secara matang.
Kekurangan dari model ini :
  • Memungkinkan terjadinya perubahan besar-besaran, maka akan membuat biaya dan waktu yang diperlukan membengkak.
Jadi, bisa disimpulkan bahwa pada model The Concurrent Development ini suatu "cara" atau langkah kerja untuk membuat suatu sistem yang di kerjakan secara besar-besaran namun tetap mempertahankan kualitas sesuai dengan permintaan customer karena bila ada permintaan dari customer maka langkah-langkah kerja di hentikan sementara untuk memaksimalkan hasil akhir dari model CDM ini.

Rapid Application Development (RAD)




Kelebihan Model RAD :
1.    Cocok untuk proyek yang memerlukan waktu yang singkat
2.    Lebih efektif dari pendekatan waterfall/sequential linear dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
Kekurangan model RAD :
1.        Butuh orang banyak untuk menyelesaikan sebuah proyek berskala besar.
2.        Pengembang dan customer harus punya komitmen yang kuat untuk menyelesaikan sebuah software.
3.        RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
4.        Jika sistem tidak dibangun dengan benar maka RAD akan bermasalah.
5.        Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan customer.

Agile Development Methods 


 

Agile Development Methods adalah sekelompok metodologi pengembangan perangkat lunak yang didasarkan pada prinsip-prinsip yang sama atau pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun. Agile development methods merupakan salah satu dari Metodologi pengembangan perangkat lunak yang digunakan dalam pengembangan perangkat lunak.
Ada beberapa langkah dalam Agile Development Methods, yaitu :
  • Perencanaan, pada langkah ini pengembang dan klien membuat rencana tentang kebutuhan dari perangkat lunak yang akan dibuat.
  • Implementasi, bagian dari proses dimana programmer melakukan pengkodean perangkat lunak.
  • Tes perangkat lunak, disini perangkat lunak yang telah dibuat di tes oleh bagian kontrol kualitas agar bug yang ditemukan bisa segera diperbaiki dan kualitas perangkat lunak terjaga.
  • Dokumentasi, setelah dilakukan tes perangkat lunak langkah selanjutnya yaitu proses dokumentasi perangkat lunak untuk mempermudah proses maintenanance kedepannya.
  • Deployment, yaitu proses yang dilakukan oleh penjamin kualitas untuk menguji kualitas sistem. Setelah sistem memenuhi syarat maka perangkat lunak siap dideployment.
  • Pemeliharaan, langkah terakhir yaitu pemeliharaan. Tidak ada perangkat lunak yang 100% bebas dari bug, oleh karena itu sangatlah penting agar perangkat lunak dipelihara secara berkala
Ada juga beberapa model dalam Agile Development Methods, seperti: Acceptance Test Driven Development (ATDD), Agile Modeling, Adaptive Software Development (ASD), Agile Unified Process (AUP), Continuous integration (CI), Crystal Clear, Crystal Methods, Dynamic Systems Development Method (DSDM), Extreme Programming (XP), Feature Driven Development (FDD), Graphical System Design (GSD), Kanban, Lean software development, Rational Unified Process (RUP), Scrum, Scrum-ban, Story-driven modeling,Test-driven development (TDD), Velocity tracking, dan Software Development Rhythms.

Kelebihan Metode Agile

Berikut ini adalah kelebihan metode agile:
1) Pembangunan system dibuat lebih cepat
2) Meningkatkan kepuasan kepada klien
3) Mengurangi resiko kegagalan implementasi software dari segi non-teknis
4) Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil.

Kekurangan Metode Agile

Berikut ini kekurangan metode agile:
1) Siap menghadapi beberapa perubahan
2) Bekerja dengan cepat, jika tim tidak dapat menyesuaikan tidak akan maksimal
3) Rencana awal dapat berubah se waktu-waktu
4) Jadwal tidak menentu
5) Jika tim tidak bisa komunikasi dengan baik maka akan terjadi kemunduran



Dalam Agile Software Development interaksi dan personel lebih penting dari pada proses dan alat, software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada mengikuti rencana.
Pada intinya, Agile Development Methods sangat membantu para pengembang perangkat lunak dalam melakukan penyerahan produk secara tepat waktu dari suatu tahap operasional perangkat lunak yaitu pada bagian analisa dan desain.

Scrum Model


Scrum Pada dasarnya merupakan salah satu komponen dari Agile development methods. Akhir-akhir ini scrum mulai marak di implementasikan di perusahaan IT di Indonesia, dikarenakan maraknya perusahaan IT mengimplementasikan agile development. Scrum menguraikan proses untuk mengidentifikasi dan katalogisasi pekerjaan yang perlu dilakukan, memprioritaskan yang bekerja dengan berkomunikasi dengan pelanggan atau wakil pelanggan, dan pelaksanaan yang bekerja menggunakan rilis iterative dan memiliki tujuan utama untuk mendapatkan perkiraan berapa lama development akan dilakukan.
Scrum merupakan suatu kerangka kerja. Jadi, bukannya menyediakan deskripsi rinci tentang bagaimana segala sesuatu yang harus dilakukan pada proyek seperti diserahkan kepada tim pengembangan perangkat lunak pada umumnya. Hal ini dilakukan supaya tim akan tahu bagaimana cara terbaik untuk memecahkan masalah

Element-Element dalam Scrum

Ada 3 elemen organisasi utama pada scrum yaitu product owner, Scrum master, dan the Scrum team.
  1.       Product Owner mewakili bisnis, pelanggan atau pengguna dan memandu tim ke arah pegembangan produk yang tepat.
  2.       Scrum Master dapat dianggap sebagai pemersatu bagi product owner dan scrum team (developer, QA, technical wirter dll), membantu anggota tim menggunakan kerangka Scrum untuk menyelesaikan suatu project berdasarkan timeline yang ditentukan di awal.
  3.       Scrum Team merupakan grup pengembang kecil biasanya terdiri dari 5-9 orang. Untuk projek yang sangat besar, pekerjaan biasanya dibagi dan didelegasikan ke grup-grup kecil

Scrum tepat digunakan saat kondisi:

1.      Keperluan berubah dengan cepat
2.      Tim programmer sedikit, yaitu 5-9 orang
3.      Pelanggan tidak terlalu paham dengan apa yang diinginkan

Scrum memiliki prinsip yaitu:

1.      Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lain
2.      Proses dapat beradaptasi terhadap perubahan teknis dan bisnis
3.      Proses menghasilkan beberapa software increment
4.      Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
5.      Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
6.      Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan

Kelebihan Scrum antara lain:

·         Keperluan berubah dengan cepat
·         Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain
·         Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
·         Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
·         Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan

Kelemahan Scrum antara lain:

·         Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.  



Specialized Process Models

1.      Component-Based Development


 Variasi model spiral dimana aplikasi dibangun dari komponen software dikemas disebut kelas.

2.      Formal Methods Model




 notasi matematika yang ketat yang digunakan untuk menentukan, desain, dan memverifikasi sistem berbasis computer.

3.       Aspect-Oriented Programming


menyediakan sebuah proses untuk mendefinisikan, menentukan, merancang, dan membangun aspek perangkat lunak seperti antarmuka pengguna, keamanan, dan manajemen memori yang mempengaruhi banyak bagian dari sistem yang dikembangkan.

Kelebihan Specialized Process Models

·         Client bisa mendapatkan fungsionalitas yang sudah dapat digunakan lebih dini dari pada menggunakan model waterfall.
·         Feedback yang diterima lebih dini dapat meningkatkan peluang untuk membangun produk yang dapat memuaskan client.
·         Kualitas produk final lebih baik
- Fungsi inti dari suatu sistem yang akan dibangun sudah dikembangkan dan diuji dari awal.
- Dari setiap perilisan hanya sebagian fungsi kecil yang ditambahkan agar mempermudah untuk menguji dan memperbaiki dikedepannya.
- Dapat mendeteksi masalah pada desain lebih awal jadi masih ada kesempatan untuk mendesain ulang.
 Kekurangan Specialized Process Models
·         Model ini mengharus untuk menyelesaikan suatu tahapan terlebih dahulu sebelum melanjutkan ke tahapan-tahapan berikutnya.
·         Keseluruhan fungsionalitas sistem yang telah dikembangkan hanya dapat diuji diakhir tahapan.
·         Tidak diperbolehkan melakukan prototype pada model ini.


REFERENSI

1.      http://www.markijar.com/2015/04/kelebihan-dan-kekurangan-model-proses.html

2.      https://www.academia.edu/10658998/Kelebihan_Dan_Kekurangan_Dari_Macam-Macam_Model_Pengembangan_Perangkat_Lunak?auto=download

3.      https://sites.google.com/a/student.unsika.ac.id/metodologi-penelitian-septian-maulana-1141177004039/documents/metode-the-concurrent-development-model

4.      http://tinta-merahputih.blogspot.com/2012/04/keuntungan-dan-kerugian-scrum.html

5.      http://awangherlambang.blogspot.com/2015/08/kelebihan-dan-kekurangan-model-proses.html

6.      https://brainly.in/question/1351651







Comments

Popular posts from this blog

Contoh Flowmap Prosedur Pembayaran di Rumah Makan

Flowmap Pengertian Flowmap Flowmap adalah campuran peta dan flow chart,yang menunjukan pergerakan benda dari satu lokasi ke lokasi lain, seperti jumlah orang dalam migrasi, jumlah barang yang diperdagangkan, atau jumlah paket dalam jaringan. Flowmap menolong analisis dan programmer untuk memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternaitf-alternatif lain dalam pengoprasian. Pedoman-pedoman dalam membuat FlowMap Bila seorang analis dan programmer akan membuat flowmap , ada beberapa petunjuk yang harus diperhatikan, sepeti : Flowmap digambarkan dari halaman atas ke bawah dan kiri ke kanan. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat di mengerti oleh pembacanya. Kapan aktivitas dimulai dan berakhir harus di tentukan secara jelas. Setiap langkah dari aktivitas harus berada pada urutan yang benar. Lingkup dan range dari aktifitas yang sedang di gambarkan harus di...

Perancangan Perangkat Lunak

Apa itu perancangan perangkat lunak?      Perancangan perangkat lunak adalah sebuah proses yang menghasilkan sebuah model atau representasi yang menampilkan ketegasan, komoditas, dan kemudahan untuk dipahami yang memenuhi kebutuhan kebutuhan perangkat lunak. Perancangan perangkat lunak juga merupakan tahapan transformasi analisis kebutuhanmenjadi bentuk yang dapat diimplementasikan menggunakan bahasa pemrograman. Prinsip Perangkat Lunak 1. Abstraction Bagaimana berfokus dalam memandang objek dan mengambil hal penting dari objek tersebut, misalnya: abstraksi prosedur, data, dan iterasi. 2. Coupling & Cohesion Coupling merupakan ukuran saling ketergantungan antara modul dalam program komputer, sedangkan cohesion merupakan ukuran kekuatan asosiasi unsur-unsur dalam modul 3. Decompositon & Modularization Penguraian PL yang besar menjadi modul – modul lebih kecil yang menggambarkan interaksi antar modul dan bertujuan untuk memberikan fungsi dan tangg...
Software Design Notations Notasi desain digunakan untuk mendeskripsikan tujuan suatu perangkat lunak yang digunakan dalam perancangan perangkat lunak. Notasi desain dikategorikan ke dalam notasi Structural Descriptions (Statis) dan Behavioral Descriptions (Dinamis). Kriteria Notasi Desain Dalam membuat notasi desain terdapat kriteria-kriteria yang harus dicapai untuk menjadi notasi desain yang baik, yaitu : o Automatic processing : memungkinkan desainer untuk memverifikasi kebenaran dan    kualitas desain o Modularity : notasi mendukung pengembangan perangkat lunak modular o Structure enforcement : memberlakukan penggunaan konstruksi pemrograman terstruktur o Ease of editing : mudah untuk melakukan modifikasi desain o Data representation : kemampuan untuk menggambarkan data local dan global secara    langsung o Maintainability : pemeliharaan konfigurasi o Logic verification : mampu melakukan verifikasi logika untuk meningkatkan kecukupan pengujian...