Nim : 1730511028
Nama : Saprudin 5A
1. Model Waterfall (Tabrani & Pudjianti,2017)Waterfall Model adalah model
klasik yang bersifat sistematis, berurutan dalam membangun software. Waterfall
Model terdiri dari 6 tahapan untuk pengembangan.
- Requirement
Gathering and analysis -
Mengumpulkan kebutuhan secara lengkap kemudian kemudian dianalisis dan
didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun.
Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang
lengkap.
- System
Design - Desain dikerjakan setelah
kebutuhan selesai dikumpulkan secara lengkap
- Implementation - Desain program diterjemahkan ke dalam
kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program
yang dibangun langsung diuji baik secara unit.
- Integration
and Testing - Penyatuan unit-unit program
kemudian diuji secara keseluruhan (system testing)
- Deployment
of system - Mengoperasikan program
dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan
karena adaptasi dengan situasi sebenarnya.
- Maintenance - Proses pemeliharaan sistem yang sudah dibangun.
a.
Kelebihan
- Karena struktur
logis dari model, kesalahan konseptual seringkali dapat dihindari.
- Model ini
mengarah pada dokumentasi teknis yang luas, yang merupakan kelegaan bagi
programmer dan pengembang baru dan juga berguna dalam tahap pengujian.
- Kemajuan proyek
dapat dipantau menggunakan tonggak sejarah.Total biaya dapat diperkirakan
dengan akurasi relatif jika tidak ada konflik.
b. Kekurangan
- Konflik, bug,
dan kesalahan program terkadang menyebabkan kenaikan biaya dan waktu yang cukup
lama. Hal yang sama berlaku jika klien tidak puas.
- Spesifikasi
yang awalnya dibuat seringkali sulit untuk dipahami oleh klien karena lebih
abstrak daripada apa yang seharusnya dilakukan oleh perangkat lunak. Terutama
dalam proyek-proyek outsourcing, ini bisa menjadi kerugian yang menentukan,
karena tanggal rilis harus ditunda dan pasar mungkin telah berubah selama waktu
ini.
- Pengiriman
perangkat lunak membutuhkan waktu lebih lama karena departemen tidak bekerja
secara bersamaan dan setiap fase hanya dapat dimulai ketika fase sebelumnya
selesai.
c.
Contoh
Implementasi
Penggunaan metode waterfall
untuk pengembangan sistem
monitoring dan evaluasi pembangunan
pedesaan
- Tersedianya
informasi untuk melakukan identifikasi kebutuhan dari keseluruhan sistem yang
diaplikasikan ke dalam bentuk perangkat lunak.
- Tersedianya
sarana pemasukan data yang memadai untuk menghasilkan laporan yang akurat.
-
Pembuatan
laporan secara tepat dan akurat dapat menunjang proses dari perencanaan.
2. Model Prototyping – (Pradipta, Prasetyo,
Ambarsari, 2009)
Proses pengembangan sistem seringkali menggunakan pendekatan
prototipe (prototyping). Metode ini sangat baik digunakan untuk menyelesesaikan
masalahkesalahpahaman antara user dan analis yang timbul akibat user tidak mampumendefinisikan secara jelas
kebutuhannya (Mulyanto, 2009).
Prototyping adalah
pengembangan yang cepat dan pengujian terhadap model kerja (prototipe) dari
aplikasi baru melalui proses interaksi dan berulang-ulang yangbiasa digunakan
ahli sistem informasi dan ahli bisnis.
- Pengumpulan
kebutuhan
Pelanggan dan
pengembang bersama-sama mendefinisikan format seluruh perangkat lunak,
mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
- Membangun
prototyping
Membangun
prototyping dengan membuat perancangan sementara yang berfokus pada penyajian
kepada pelanggan (misalnya dengan membuat input dan format output).
- Evaluasi
protoptyping
Evaluasi ini
dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai
dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil.
Jika tidak prototyping direvisi dengan mengulang langkah 1, 2 , dan 3.
- Mengkodekan
sistem
Dalam tahap ini
prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman
yang sesuai.
- Menguji sistem
Setelah sistem
sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum
digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path,
pengujian arsitektur dan lain-lain.
- Evaluasi Sistem
Pelanggan
mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan.
Jika ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.
- Menggunakan
sistem
Perangkat lunak
yang telah diuji dan diterima pelanggan siap untuk digunakan.
a a.
Kelebihan
- Dapat menjalin
komunikasi yang baik antar user dan pengembang sistem
- Setiap
perbaikan yang dilakukan pada prototype merupakan hasil masukan dari user yang
akan menggunakan sistem tersebut, sehingga lebih reliabel
- User akan
memberikan masukan terhadap sistem sesuai dengan kemauannya
- Menghemat waktu
dalam mengembangkan sebuah sistem
- Menghemat
biaya, terutama pada bagian analisa, karena hanya mencatat poin – point penting
saja
- Cocok digunakan
pada sebuah sistem kecil, yang digunakan pada ruang lingkup tertentu, seperti
sistem di dalam sebuah kantor
- Penerapan dari
sistem yang menjadi lebih mudah untuk dilakukan.
b b.
Kekurangan
- Untuk menghemat
waktu, biasanya pengembang hanya menggunakan bahasa pemrograman sederhana, yang
mungkin rentan dari segi keamanannya
- Tidak cocok
untuk diimplementasikan pada sebuah sistem yang sangat besar dan global,
seperti sistem operasi komputer.
c.
Contoh
Implementasi
Pengembangan web e-commerce
bojana sari menggunakan metode
prototype
- Web e-commerce Bojana
Sari yang telah dikembangkan memiliki
fitur pengelolaan produk, sistem pemesanan, sistem
pembayaran, dan pelacakan status.
Dalam fitur pengelolaan produk, perusahaan dapat
dengan mudah menyampaikan informasi mengenai
produk perusahaan kepada pelanggan. Pelanggan
juga dapat dengan
mudah memperoleh informasi tersebut tanpa terhalang oleh jarak dan
waktu. Proses pemesanan
dan validasi pembayaran dapat
dilakukan dengan mudah dengan adanya
fitur sistem pemesanan
dan fitur sistem pembayaran dalam
web e-commerce Bojana
Sari. Fitur pelacakan status
mempermudah pelanggan dalam mendapatkan
informasi mengenai status pemesanan, status
pembayaran, dan status pengiriman yang disampaikan oleh
perusahaan.
3. V Model (Shofa,2018)
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.
- Requirement
Analysis & Acceptance Testing
Tahap
Requirement Analysis sama seperti yang terdapat dalam model waterfall. Keluaran
dari tahap ini adalah dokumentasi kebutuhan pengguna. Acceptance Testing
merupakan tahap yang akan mengkaji apakah dokumentasi yang dihasilkan tersebut
dapat diterima oleh para pengguna atau tidak.
- System Design
& System Testing
Dalam tahap ini
analis sistem mulai merancang sistem dengan mengacu pada dokumentasi kebutuhan
pengguna yang sudah dibuat pada tahap sebelumnya. Keluaran dari tahap ini
adalah spesifikasi software yang meliputi organisasi sistem secara umum,
struktur data, dan yang lain. Selain itu tahap ini juga menghasilkan contoh
tampilan window dan juga dokumentasi teknik yang lain seperti Entity Diagram
dan Data Dictionary.
- Architecture
Design & Integration Testing
Sering juga
disebut High Level Design. Dasar dari pemilihan arsitektur yang akan digunakan
berdasar kepada beberapa hal seperti: pemakaian kembali tiap modul,
ketergantungan tabel dalam basis data, hubungan antar interface, detail
teknologi yang dipakai.
- Module Design
& Unit Testing
Sering juga
disebut sebagai Low Level Design. Perancangan dipecah menjadi modul-modul yang
lebih kecil. Setiap modul tersebut diberi penjelasan yang cukup untuk
memudahkan programmer melakukan coding. Tahap ini menghasilkan spesifikasi
program seperti: fungsi dan logika tiap modul, pesan kesalahan, proses
input-output untuk tiap modul, dan lain-lain.
- Coding
Dalam tahap ini
dilakukan pemrograman terhadap setiap modul yang sudah dibentuk.
a. Kelebihan
- Bahasa yang
digunakan untuk merepresentasikan konsep V model menggunakan bahasa formal.
Contoh : dengan menggunakan objek model ataupun frame-frame • Meminimalisasikan
kesalahan pada hasil akhir karena ada test pada setiap prosesnya
- Penyesuaian
yang cepat pada projek yang baru
- Memudahkan
dalam pembuatan dokumen projek
- Biaya yang
murah dalam perawatan dan modifikasinya
- V Model sangat
fleksibel. V Model mendukung project tailoring dan penambahan dan pengurangan
method dan tool 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. User dari V Model berpartisipasi
dalam change control board yang memproses semua change request terhadap V
Model.
b.
Kekurangan
- Aktifitas
V-Model hanya difokuskan pada projectnya saja, bukan pada keseluruhan organisasi. V-Model adalah proses model yang hanya dikerjakan sekali selama
project saja, bukan keseluruhan organisasi.
- Prosesnya hanya
secara sementara. Ketika project selesai, jalannya proses model dihentikan.
Tidak berlangsung untuk keseluruhan organisasi.
-
Metode yang
ditawarkan terbatas. Sehingga kita tidak memiliki cara pandang dari metode yang
lain. Kita tidak memiliki kesempatan untuk mempertimbangkan jika ada tools lain yang lebih baik.
- Toolnya tidak
selengkap yang dibicarakan. SDE (Software Development Environment).Tidak ada
tools untuk hardware di V-Model. Tool yang dimaksud adalah “software yang
mendukung pengembangan atau pemeliharaan / modifikasi dari system IT.
- V Model adalah
model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu
proyek.
- V Model terlalu
fleksibel dalam arti ada beberapa activity dalam V Model yang digambarkan
terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalam activity tersebut dan apa yang tidak.
c. Contoh
Implementasi
Model v untuk
perangkat lunak management pendaftaran anggota
di perpustakaan
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
4. Fountain Model - (Brar
and Sandhu,2011)
Model Fountain merupakan perbaikan logis dari model waterfall,
langkah langkah dan urutan prosedurnya pun masih sama. Namun pada model
Fountain ini kita dapat mendahulukan sebuah steptaupun melewati step
tersebut, akan tetapi ada yang tidak bisa anda lewati stepnya seperti kita memerlukan design sebelum melakukan coding jika itu di lewati maka akan ada
tumpang tindih dalam siklus SDLC.
- 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
atau kembangkan.
- Program/detailed
design (physical design), dalam tahap
ini kita membuat desain yang mendekati fisik atau secara deail.
- Implementation/coding, setelah tahap de 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.
a.
Contoh
Implementasi
Desain dan
Implementasi Peningkatan Model Kode Air Mancur untuk Transmisi Unicast
The Fountain memformat format paling canggih, kode Raptor
diimplementasikan dengan menggunakan matriks generator mengurangi kerumitan,
karena menghilangkan prasyarat untuk mempelajari pendekatan grafis untuk
implementasi dan pembelajaran. Kode Raptor diimplementasikan oleh pre coding
dengan kode Reed-Solomon meningkatkan kemampuan koreksi kesalahan dan kode air
mancur memberikan nilai BER lebih sedikit untuk nilai SNR yang lebih besar.
Peningkatan kinerja ini juga dalam kasus saluran penghapusan biner serta
saluran AWGN. Implementasi kode-kode ini telah meningkatkan penerapan ke
lingkungan luas lainnya seperti fading, atau burst packet failure dalam
jaringan
5. Spiral Model – (Jurnal
Ani binti fitriah)
Spiral Model
adalah suatu model tentang tahapan pembuatan suatu perangkat lunak, spiral
model ini adalah salah satu dari model revolusioner, model spiral merangkai
sifat interatif yaitu sifat yang ditandai yang memungkinkan untuk mengembangkan
versi dari suatu perangkat lunak secara bertahap untuk menghasilkan perangkat
lunak yang lebih lengkap atau lebih sempurna dan terkontrol. Perangkat lunak
dikembangkan dalam deretan pertambahan. Selama awal iterasi, rilis ikremantal bisa
berupa model/prototype kertas, kemudian sedikit demi sedikit dihasilkan versi
sistem yang lebih lengkap.
- 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.
- Tahap Rekayasa
(engineering)
Pada tahap ini,
yang dilakukan adalah sebagai berikut :
- Menguji, coding
dan mengembangkan software
- Menginstal
software
- Membuat
prototipe
- Mendesain
dokumen
- Meringkas suatu
pengujian software
- Membuat laporan
atas kekurangan dari software agar segera diperbaiki
- Tahap Evaluasi
Peran pelanggan
sangat diperlukan pada tahap ini. Mereka dapat memberikan masukan dan
tanggapan, mengevaluasi produk kerja dan memastikan bahwa produk yang
dibutuhkan sesuai dengan semua ketentuan. Jika terdapat perubahan, semua
tahapan akan diperbaiki sesuai dengan kepuasan pelanggan. Namun,
mengidentifkasi dan memantau risiko yang terjadi juga diperlukan, seperti cost
overrun.
a.
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
- Pembangunan yang cepat dan mudah secara sistematis
- Manajemen waktu yang lebih baik
- Mudah dalam melakukan perubahan kebutuhan dan dokumentasi jika
perubahan terjadi di tengah-tengah perubahan
- Produksi software terjadi lebih cepat
b.
Kekurangan
- Tidak cocok ketika digunakan dalam proyek-proyek kecil
- Tidak terlalu berguna dalam proyek-proyek kecil
- Sulit dalam mengikuti strategi proyek kecil
- Kurang efisien dalam penerapan model spiral karena waktu yang
digunakan
- Membutuhkan sumber pengalaman sebagai proses sehingga sangat
kompleks
- Dalam melakukan proyek kecil, estimasi biaya akan sangat tinggi
- Risiko dalam tahap planning, jika terjadi perbedaan dalam jadwal
pengembangan atau dalam anggaran belanja.
c.
Contoh
Implementasi
Sistem
informasi penggajian pegawai menggunakan metode spiral
Dengan adanya aplikasi penggajian ini, user dapat dengan mudah
mendapatkan informasi penggajian dan juga data pegawai dengan cepat, serta
dapat lengsung mendapatkan printout hasilnya. User dapat meng-iput atau
mengupdate database secara cepat dan
tepat, sehingga data-data dan informasi yagn terdapat dalam sistem tetap
up-todate
6. Extreme Programming ( Azdy& Rini, 2018)
Extreme Programming (berikutnya akan disingkat
sebagai XP) adalah sebuah pendekatan atau model pengembangan
perangkat lunak yang mencoba menyederhanakan berbagai tahapan dalam proses
pengembangan tersebut sehingga menjadi lebih adaptif dan fleksibel. XP bukan
hanya berfokus pada coding tetapi meliputi seluruh area pengembangan perangkat
lunak. XP mengambil pendekatan ‘ekstrim’ dalam iterative development
- Whole Team
Seluruh kontributor dalam proyek yang menggunakan
pendekatan XP duduk bersama sebagai suatu tim. Tim ini terdiri beberapa peran,
antara lain programmer, penguji,orang yang mengerti bisnis, analis, manajer,
dan lain-lain. Setiap peran yang ada tidak mutlak menjadi peran dari satu orang
saja. Tim terbaik dalam XP tidak harus memiliki pakar, hanya kontributor umum
dengan keterampilan khusus saja. Semua orang di tim XP memberikan kontribusi
dengan cara apapun yang mereka dapat lakukan.
- Planning game
Perencanaan dalam XP mengemukakan dua pertanyaan kunci
dalam pengembangan perangkat lunak, yaitu memprediksi apa yang akan
dicapai pada waktu tertentu, dan menentukan apa yang harus dilakukan
-
Small Release
Pada setiap Iterasi, tim mengerjakan sebuah unit atau
bagian dari perangkat lunak, melakukan tes terhadap unit perangkat lunak yang
dibangun, kemudian di akhir iterasi perangkat lunak yang dibangun diberikan
kepada Customer. Oleh customer, perangkat lunak ini bisa dijadikan bahan
evaluasi maupun langsung dirilis kepada end user. Bisa juga tim XP langsung
merilis ke end user secara rutin.
-
Simple Design
Tim XP membangun perangkat lunak dengan desain yang
sederhana. Dimulai dengan desain yang sederhana, kemudian melalui pengujian
program dan perbaikan desain. Desain yang dibuat harus benar-benar cocok untuk
fungsi saat ini dari sistem sehingga tidak ada yang sia-sia dan perangkat lunak
siap dikembangkan lagi selanjutnya. Namun, pembuatan desain dalam XP tidak
dilakukan hanya sekali. Tahapan desain dalam Extreme Programming yang
menghasilkan desain yang bagus dianggap sangat penting, sehingga selama proses
development banyak difokuskan ke tahapan desain.
-
Pair Programming
Semua perangkat lunak yang dibangun dengan pendekatan XP
dibangun oleh dua orang programmer. Keduanya duduk berdampingan di satu
komputer yang sama. Seorang programmer akan membuat code dan programmer yang
lainnya akan mengoreksinya. Praktik seperti ini mungkin kelihatan tidak
efisien. Namun dari segi hasil dari pair programming, desain akan lebih baik,
pengujian lebih baik, dan code yang dihasilkan pun akan lebih baik.
- Test-Driven Development
XP begitu terobsesi dengan umpan balik, dan dalam
pengembangan perangkat lunak, umpan balik yang baik mensyaratkan pengujian yang
baik pula. Test-Driven Development bergantung pada pengulangan siklus
development yang sangat pendek. Pertama tim XP akan menuliskan automated test
case yang mendefinisikan perbaikan yang diinginkan atau fungsi baru. Kemudian
dari test case tersebut dihasilkan jumlah minimal code yang harus dituliskan
untuk lulus tes tersebut. Setelah itu melakukan refactoring code baru agar
memenuhi standar baru.
- Design Improvement
XP berfokus pada memberikan nilai bisnis dalam setiap
perulangan. Agar dapat mencapai tujuan tersebut selama proyek berlangsung,
perangkat lunak harus dirancang dengan baik. XP menggunakan proses perbaikan
desain secara terus menerus dengan Refactoring. Proses refactoring berfokus
pada penghapusan duplikasi dari code yang telah dibuat. Disamping itu, proses
refactoring didukung dengan pengujian yang komprehensif utnuk memastikan bahwa
desain yang dibuat berkembang dan tiidak ada yang rusak.
- Continuous Integration
Beberapa kali dalam sehari, tim XP akan menggabungkan
seluruh salinan pekerjaan tim menjadi satu dalam jaringan utama. Sehingga tim
XP harus menjaga tim agar terintegrasi setiap saat.
- Collective Code
Ownership
Pada proyek XP, setiap pasang programmer dapat
meningkatkan code apapun setiap saat. Semua code yang ada dimiliki secara
kolektif oleh tim. Manfaatnya setiap code akan mendapat perhatian dari banyak
orang, sehingga dapat meningkatkan kualitas code dan mengurangi cacat. Selain
itu dapat mengurangi duplikasi code yang sama walaupun dibuat oleh pasangan
programmer yang berbeda.
- Coding Standard
Setiap anggota tim XP harus mengikuti standar coding
yang umum, sehingga semua code dalam sistem seolah-olah tampak dibuat oleh satu
orang yang sangat kompeten. Selain itu hal ini sangat mendukung Collective Code
Ownership.
- Metaphor
Tim XP akan membuat suatu deskripsi umum bagaimana
program yang mereka kembangkan bekerja dengan benar.
- Sustainable Pace
Tim XP akan bekerjasama dalam jangka waktu lama.
Mereka bekerja keras dengan kecepatan tertentu tanpa batas waktu. Tim XP akan
bekerja lembur pada hari efektif dan memaksimalkan produktivitas setiap
minggunya. Hal ini perlu diperhatikan dengan baik, karena akan mengurangi
produktivitas atau sebaliknya menghasilkan perangkat lunak yang berkualitas.
a. Kelebihan
model Extreme Programming
- Komunikasi dalam XP dibangun dengan
melakukan pemrograman berpasangan (pair programming). Developer didampingi oleh
pihak klien dalam melakukan coding dan unit testing sehingga klien bisa
terlibat langsung dalam pemrograman sambil berkomunikasi dengan developer.
Selain itu perkiraan beban tugas juga diperhitungkan.
- Menekankan pada kesederhanaan dalam
pengkodean: “What is the simplest thing that could possibly work?” Lebih baik
melakukan hal yang sederhana dan mengembangkannya besok jika diperlukan. Komunikasi
yang lebih banyak mempermudah, dan rancangan yang sederhana mengurangi
penjelasan.
- Setiap feed back ditanggapi dengan
melakukan tes, unit test atau system integration dan jangan menunda karena
biaya akan membengkak (uang, tenaga, waktu).
- Banyak ide baru dan berani mencobanya,
berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung
diperbaiki.
b. Kekurangan
model Extreme Programming
-
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)
c. Contoh
implementasi
Dalam
perancangan aplikasi perhitungan kuota sks mengajar dosen
aplikasi
perhitungan sks mengajar yang dibangun dengan menggunakan Microsoft Visual
Basic 6.0 mampu memberikan kemudahan dalam melakukan proses
perhitungan sks mengajar dosen
dengan cepat dan
akurat. Hasil keluaran aplikasi
ini digunakan sebagai dasar proses pengambilan keputusan. Saran untuk
pengembangan aplikasi ini dapat
dilakukan secara realtime
agar datanya dapat digunakan kapan saja saat dibutuhkan.
7. Agile model (Dewi, Ciptayani, Wijaya, 2018)
Agile Modeling adalah suatu metodologi yang
praktis untuk proses dokumentasi dan pemodelan sistem perangkat lunak. Agile
Modeling sendiri adalah kumpulan nilai-nilai, prinsip dan
praktek-praktek untuk memodelkan perangkat lunak agar dapat diaplikasian pada
proyek pengembangan perangkat lunak secara efektif dan efisien.
-
Pengumpulan persyaratan: Dalam fase ini, Anda
harus menentukan persyaratan. Anda harus menjelaskan peluang bisnis dan
merencanakan waktu dan upaya yang diperlukan untuk membangun proyek.
Berdasarkan informasi ini, Anda dapat mengevaluasi kelayakan teknis dan
ekonomi.
Rancang
persyaratan: Ketika Anda telah mengidentifikasi proyek, bekerja dengan pemangku
kepentingan untuk menentukan persyaratan. Anda dapat menggunakan diagram alir
pengguna atau diagram UML tingkat tinggi untuk menunjukkan pekerjaan fitur baru
dan menunjukkan bagaimana itu akan diterapkan pada sistem Anda yang ada.
- Konstruksi
/ iterasi: Ketika tim mendefinisikan persyaratan, pekerjaan dimulai. Desainer
dan pengembang mulai mengerjakan proyek mereka, yang bertujuan untuk
menyebarkan produk yang berfungsi. Produk ini akan mengalami berbagai tahap
peningkatan, sehingga mencakup fungsionalitas yang sederhana dan minimal.
-
Pengujian:
Dalam fase ini, tim Quality Assurance memeriksa kinerja produk dan mencari bug.
-
Penempatan:
Dalam fase ini, tim mengeluarkan produk untuk lingkungan kerja pengguna.
- Umpan Balik: Setelah merilis produk, langkah terakhir adalah umpan balik. Dalam hal ini, tim menerima umpan balik tentang produk dan bekerja melalui umpan balik.
a. Kelebihan
dari agile
-
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.
b. Kekurangan
dari agile
- Developer
harus selalu siap dengan perubahan karena perubahan akan selalu diterima
c. Contoh
implementasi
Penerapan
Agile Model pada Sistem Persewaan Mobil
Proses pada
agile modeling sangat tepat diaplikasikan untuk perusahaan yang akan
mengembangkan sistem perangkat lunak yang komplek, sehingga bisa dilihat dari
berbagai sudut pandang. Paper ini secara detail memaparkan definisi, langkah
kerja, kelebihan, kekurangan pada Agile Modeling dan studi kasus penerapannya
pada pembangunan sistem pencatat transaksi persewaan mobil.