(15183207048)
I.
PENDAHULUAN
DLC dapat disimpulkan sebagai sebuah siklus untuk membangun sistem dan memberikannya
kepada pengguna melalui tahapan perencanaan, analisa, perancangan dan implementasi dengan cara
memahami dan menyeleksi keadaan dan proses yang dilakukan pengguna untuk dapat mendukung
kebutuhan pengguna. Untuk menggunakan SDLC maka dibutuhkan sumber data awal dari
pengguna yang dijadikan acuan dalam perencanaan, analisa, perancangan dan implementasi. Penggunaan
acuan ini dimaksudkan agar sistem yang dibangun bisa menjembatani kebutuhan pengguna dari
permasalahan yang dihadapinya (Mulyono, 2014).
II. PEMBAHASAN
A. System development life cycle (SDLC)
Pengertian SDLC (System Development Life Cycle atau Siklus Hidup Pengembangan Sistem) adalah
suatu proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk
mengembangkan sistem-sistem tersebut. Berikut ini adalah Fase-fase System Development Life Cycle
(SDLC) meliputi :
Gambar 1.SDLC
B. Waterfall model
Waterfall model merupakan metode dalam mengerjakan pengembangan software dimana setiap fase
harus dikerjakan dulu sebelum fase berikutnya dijalankan, berikut ini adalah tahap-tahap dari metode
Waterfall model:
1.
2. System Design:
spesifikasi yang dibutuhkan dari tahap pertama dipelajari pada tahap ini dan disiapkan untuk desain
sistem. Desain sistem membantu dalam menganalisa spesifikasi hardware dan kebutuhan sistem dan juga
membantu dalam mendefinisikan arsitektur sistem secara keseluruhan.
3. Implementation:
dengan input dari System Design, sistem pertama kali dikembangkan dalam program yang disebut
dengan Unit, yang diintegrasikan dengan tahap berikutnya. Setiap unit dikembangkan dan diuji
fungsionalitasnya dan dijadikan referensi sebagai unit testing.
4. Integration and Testing:
semua unit yang dikembangkan dalam tahap implementation diintegrasikan kedalam sebuah sistem
setelah menguji setiap unit. Pasca integrasi, seluruh sistem diuji untuk setiap kesalahan dan kegagalan.
5. Deployment of System:
Setelah pengujian fungsional dan non-fungsional dilakukan, produk dideploy di lingkungan client atau
dirilis ke pasar.
6. Maintenance:
Terdapat beberapa masalah yang muncul di lingkungan client, untuk memperbaikinya maka dirilis patchnya, juga untuk meningkatkan kualitas produk maka akan dirilis beberapa versi terbaik. Maintenance
dilakukan untuk memberikan perubahan/perbaikan ini kepada pelanggan.
Semua tahapan ini mengalir satu sama lain dimana proses terjadi seperti alir mengalir dari atas ke
bawah(seperti air terjun / waterfall). Setiap tahap dimulai setelah tahap sebelumnya didefinisikan.
(Nurdiansyah, 2016)
C. Incremental Model
Incremental model adalah model pengembangan sistem pada software engineering berdasarkan
requirement software yang dipecah menjadi beberapa fungsi atau bagian sehingga model
pengembangannya secara bertahap. Tahapan-tahapan untuk perancangannya yaitu :
1. Requirement,
Adalah proses tahapan awal yang dilakukan pada incremental model yakni penentuan kebutuj=hand an
analisis kebutuhan.
2. Specification,
Adalah proses proses spesifikasi dimana menggunakan analisis kebtuhan sebagai acuannya.
3. Architecture design,
Adalah tahap perancangan software yang terbuka agar dapat diterapkan system pembangunan per-bagian
pada tahap selanjutnya.
4. Code,
Setelah melakukan proses design selanjutnya ada pengkodean.
5. Test,
Adalah tahap pengujian dalam model ini.
Tahapan-tahapan tersebut dilakukan secara berurutan. Setiap bagian yang sudah selesai dilakukan
testing, dikirim ke pemakai untuk langsung dapat digunakan. Pada incremental model, tiga tahapan awal
harus diselesaikan terlebih dahulu sebelum sebelum tahap membangun tiap increment
b. Pengguna tidak perlu menunggu sampai seluruh sistem dikirim untuk mengambil keuntungan
dari sistem tersebut.
c. Resiko untuk kegagalan proyek secara keseluruhan lebih rendah.
d. Nilai penggunaan dapat ditentukan pada setiap increment sehingga fungsionalitas sistem
disediakan lebih awal.
e. Memiliki risiko lebih rendah terhadap keseluruhan pengembagan system.
f.
D. Prototyping Model,
Sebuah prototipe adalah bagian dari produk yang mengekspresikan logika maupun fisik antarmuka
eksternal yang ditampilkan. Prototyping perangkat lunak (software prototyping) atau siklus hidup
menggunakan protoyping (life cycle using prototyping) adalah salah satu metode siklus hidup sistem
yang didasarkan pada konsep model bekerja (working model). Tujuannya adalah mengembangkan model
menjadi sistem final. Ciri khas dari metodologi ini adalah pengembang sistem (system developer), klien,
dan pengguna dapat melihat dan melakukan eksperimen dengan bagian dari sistem komputer dari sejak
awal proses pengembangan. (Wanda, 2014)
Evaluasi ini dilakukan oleh client apakah sesuai dengan kebutuhan client, jika sudah
akan dilanjukan ke step 4, jika tidak kembali ke step 1 lagi.
4. Mengkodekan Sistem,
Dalam tahap ini prototyping yang sudah disetujui oleh client diterjemahkan ke dalam
Bahasa pemrograman.
5. Menguji Sistem,
Sebelum software digunakan harus dilakukan pengujianterlebih dahulu.
6. Evaluasi Sistem,
Software diuji oleh client apakah sudah sesuai dengan kebutuhan meraka apa belum.
7. Menggunakan Sistem,
Software yang telah lolos uji akan siap untuk digunakan.
Kelebihan Protityping Model:
a. Adanya komunikasi yang baik antara pengembang dan pelanggan
b. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
c. Pelanggan berperan aktif dalam pengembangan system
d. Lebih menghemat waktu dalam pengembangan system
e. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya
f.
E. Agile Model,
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.
Agile memiliki pengertian bersifat cepat, ringan, bebas bergerak, dan waspada. (WIKIPEDIA, 2016)
model-model agile yaitu :
1) Extreme Programing(XP).
Proses agile paling popular karena proses ini mementingkan kepuasan pelanggan dan juga
menekankan kepada seluruh pihak yang berkepentingan sebagai mitra setara dan tim kolaboratif.
Extreme Pemrograman meningkatkan proyek perangkat lunak dalam lima cara penting;
Komunikasi, kesederhanaan, umpan balik, rasa hormat, dan keberanian.
Kelebihan XP :
Menjalin komunikasi yang baik dengan client.
Meningkatkan komunikasi dan sifat saling menghargai antar developer.
Kekurangan XP :
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
Tidak bisa membuat kode yang detail di awal.
2) Adaptive Software Development (ASD)
Digunakan sebagai teknik membangun software yang kompleks. Ada dua system kerja yaitu
1) Collaboration : orang-orang yang bermotivasi tinggi bekerja sama untu saling
melengkapi, rela membantu, kerja keras, terampil di bidangnya dan mengkomunikasikan
masalah untuk hasilkan penyelesaian efektif
2) Learning: tim pembangun sering merasa sudah tahu semua hal tentang proyek, padahal
tidak selamanya begitu. Karena itu proses ini membuat mereka belajar lebih tentang
proyek melalui 3 cara:
a. Focus group : klien dan pengguna memberi masukan terhadap software.
6
4) Scrum Methodology
Pada dasarnya Scrum merupakan salah satu komponen dari metodologi pengembangan Agile
mengenai pertemuan harian untuk membahas kemajuan dan XP. 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 akan pembangunan. (Sanyoto, 2015)
Development yang tidak pada jalur kritis, dapat menghabikan waktu lebih, mereka yang
memperbaiki produk atau membantu oaring yang ada di jalur proyek kritis.
Karakteristik Crystal :
1) Secara aktual sebuah model proses keluarga yang memungkinkan manuver berdasar
karakteristik permasalahan
2) Menyarankan penggunaan workshop refleksi untuk review kebiasaan kerja tim
3) Selalu murah dan cepat berkomunikasi secara langsung.
4) Proyek berkembang sesuai ukuran team menjadi lebih atau luas dan metologi akan
menjadi lebih tinggi.
6) Feature Driven Development
Feature Driven Development merupakan model proses praktis untuk keahlian proses
software engineering, Feature merupakan sebuah fungsi yang berharga dimana dapat
dilaksanakan.
Keuntungan dari metode feature :
1) User dapat menggambarkan dengan mudah bentuk system.
2) Dapat di organisasikan atau diatur ke dallamkelompok bisnis yang hirarki.
3) Desain dank ode lebih mudah diperiksa secara efektif.
4) Merancang proyek, penjadwalan dan jalur diarahkan oleh feature.
7
7) Agile modelling
Agile Modeling adalah suatu metodologi yang praktis untuk dokumentasi dan pemodelan system
software. Agile Modeling adalah kumpulan nilai-nilai, prinsip dan praktek-praktek untuk
memodelkan software agar dapat diaplikasian pada software development proyek secara efektif.
(Sanyoto, 2015)
F. Spiral Model
Spiral model adalah salah satu bentuk evolusi yang menggunakan metode iterasi natural yang dimiliki
oleh model prototyping dan digabungkan dengan aspek sistimatis yang dikembangkan dengan model
waterfall. Tahap desain umumnya digunakan pada model Waterfall, sedangkan tahap prototyping adalah
suatu model dimana software dibuat prototype (incomplete model), blue-print-nya, atau contohnya dan
ditunjukkan ke client untuk mendapatkan timbal balik. Jika prototype-nya sudah sesuai dengan keinginan
client, maka proses SE dilanjutkan dengan membuat produk sesungguhnya dengan menambah dan
memperbaiki kekurangan dari prototype tadi.
Model ini juga mengkombinasikan top-down design dengan bottom-up design, dimana top-down design
menetapkan sistem global terlebih dahulu, baru diteruskan dengan detail sistemnya, sedangkan bottomup design berlaku sebaliknya. Top-down design biasanya diaplikasikan pada model waterfall dengan
sequential-nya, sedangkan bottom-up design biasanya diaplikasikan pada model prototyping dengan
feedback yang diperoleh. (Hansiaditya, 2007)
Satu lingkaran dari bentuk spiral pada spiral model dibagi menjadi beberapa daerah yang disebut dengan
region. Region tersebut dibagi sesuai dengan jumlah aktivitas yang dilakukan dalam spiral model .
Spiral model dibagi menjadi beberapa framework aktivitas, yang disebut dengan task regions.
Kebanyakan aktivitas2 tersebut dibagi antara 3 sampai 6 aktivitas. Berikut adalah aktivitas-aktivitas yang
dilakukan dalam spiral model:
1) Customer communication. Aktivitas yang dibutuhkan untuk membangun komunikasi yang
efektif antara developer dengan client terutama mengenai kebutuhan dari client.
2) Planning. Aktivitas perencanaan ini dibutuhkan untuk menentukan sumberdaya, perkiraan waktu
pengerjaan, dan informasi lainnya yang dibutuhkan untuk pengembangan software.3) Analysis risk. Aktivitas analisis resiko ini dijalankan untuk menganalisis baik resiko secara
teknikal maupun secara manajerial. Tahap inilah yang mungkin tidak ada pada model proses
yang juga menggunakan metode iterasi, tetapi hanya dilakukan pada spiral model.
4) Engineering. Aktivitas yang dibutuhkan untuk membangun 1 atau lebih representasi dari
aplikasi secara teknikal.
5) Construction & Release. Aktivitas yang dibutuhkan untuk develop software, testing, instalasi
dan penyediaan client support seperti training penggunaan software serta dokumentasi seperti
buku manual penggunaan software.
6) Customer evaluation. Aktivitas yang dibutuhkan untuk mendapatkan feedback dari client
berdasarkan evaluasi mereka selama representasi software pada tahap engineering maupun pada
implementasi selama instalasi software pada tahap construction and release. (Hansiaditya, 2007)
III. KESIMPULAN
Bagian kesimpulan tidak harus ada. Meskipun kesimpulan mungkin merangkum poin utama di dalam artikel,
jangan menyalin abstrak sebagai kesimpulan. Sebuah kesimpulan mungkin saja menegaskan dalam pentingnya
9
1
10