b. Kelebihan :
Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya
secara bertahap. Sehingga tidak terfokus pada tahapan tertentu.
Model ini mengarah pada dokumentasi teknis yang luas, yang merupakan kelegaan
bagi programmer dan pengembang baru dan juga berguna dalam tahap pengujian.
Metode ini masih lebih baik digunakan walaupun sudah tergolong kuno, daripada
menggunakan pendekatan asal-asalan. Selain itu, metode ini juga masih masuk akal
jika kebutuhan sudah diketahui dengan baik.
c. Kekurangan :
Kekurangan menggunakan metode waterfall adalah metode ini tidak memungkinkan untuk
banyak revisi jika terjadi kesalahan dalam prosesnya. Karena setelah aplikasi ini dalam tahap
pengujian, sulit untuk kembali lagi dan mengubah sesuatu yang tidak terdokumentasi dengan
baik dalam tahap konsep sebelumnya.
Pengiriman perangkat lunak membutuhkan waktu lebih lama karena departemen tidak
bekerja secara bersamaan dan setiap fase hanya dapat dimulai ketika fase sebelumnya
selesai.
Diperlukan majemen yang baik, karena proses pengembangan tidak dapat dilakukan
secara berulang sebelum terjadinya suatu produk.
Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap
desain sudah selesai. Sedangkan pada tahap sebelum desain bisa memakan waktu yang
lama.
d. Manfaat :
Kualitas software tetap terjaga karena pengembangannya yang terstruktur da terawasi.
Proses pemeliharaan dapat dilakukan dengan mudah.
Menghasilkan Mature proses pada setiap tahapannya.
Mudah untuk diaplikasikan pada sebuah proyek.
e. Contoh Implementasi
“Penerapan Metode Waterfall pada Sistem Informasi Penjualan Furniture Berbasis
Web”
Metode yang digunakan penulis dalam jurnal ini adalah dengan metode
pengembangan perangkat lunak yang didalamnya mencangkup analisi kebutuhan
perangkat lunak, desain, pembuatan kode program, implementasi dan pengujian unit
kepada website e-commerce ini. Kesimpulan yang didapatkan bahwa website
ecommerce ini dibuat dengan menggunakan bahasa pemograman PHP yang
dikombinasikan dengan database MySQL. Kelebihan pemesanan produk secara online
adalah menghemat waktu dan biaya dibandingkan dengan pemesanan secara langsung
datang ke toko, dan pembeli dapat melihat katalog yang dapat langsung dilihat di
halaman website ini.
Dalam perancangan sistem ini dilakukan menggunakan pendekatan waterfall model
melalui lima tahapan yaitu fase analisa yang mengindentifikasi informasi apa yang
harus diproses. Fase desain fokus pada desain basis data dan desain antar muka. Fase
pembuatan kode program dimana desain harus ditranslasikan kedalam program
perangkat lunak. Fase implementasi dan pengujian unit dimana sistem diuji
menggunakan black box testing. Dengan rancangan website ini, diharapkan seluruh
pengguna (user) dapat mengetahui apa saja yang ada pada toko furniture.
b. Kelebihan :
Adanya komunikasi yang baik antara pengembang dan pelanggan.
Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
Pelanggan berperan aktif dalam pengembangan system.
Lebih menghemat waktu dalam pengembangan system.
Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
membuat klien mendapat gambaran awal dari prototype.
Membantu mendapatkan kebutuhan detil lebih baik.
c. Kekurangan :
User sibuk.
User ingin program segera.
User berharap terlalu banyak.
d. Manfaat :
Adanya komunikasi yang intensif antara pengembang dan user.
Membantu dalam menganalisis.
Peran user meningkat.
Pengembangan lebih cepat.
Mudah dalam implementasinya.
e. 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.
c. 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 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.
d. Manfaat :
Mewujudkan sistem sesungguhnya dalam sebuah replika sistem yang akan berjalan,
menampung masukan dari pengguna untuk kesempurnaan sistem.
Pengguna akan lebih siap menerima setiap perubahan sistem yang berkembang
sesuai dengan berjalannya prototype sampai dengan hasil akhir pengembangan yang
akan berjalan nantinya.
Prototype dapat ditambah maupun dikurangi sesuai berjalannya proses
pengembangan. Kemajuan tahap demi tahap dapat diikuti langsung oleh pengguna.
Penghematan sumberdaya dan waktu dalam menghasilkan produk yang lebih baik
dan tepat guna bagi pengguna.
e. Contoh Implementasi :
“Model V Untuk Perangkat Lunak Management Pendaftaran Anggota Di Perpustakaan
Daerah Kabupaten Kudus”
Mengingat perkembangan informasi yang semakin cepat peneliti akan menganalisis
proses pendaftaran yang konseptual menjadi sistem manajemen pendaftaran
peminjaman buku dan akan menghasilkan sebuah sistem pengolahan pendaftaran
anggota dan peminjaman serta pengembalian buku di Perpustakaan dan Arsip Daerah
Kabupaten Kudus. Perangkat lunak ini akan dikembangkan dengan tools Microsoft
Visual Studio (yang sering juga disebut dengan VB.Net). Untuk perancangan aplikasi
sistem management ini mengunakan model V sehingga mudah untuk mendesign
perangkat lunak ini. Dengan adanya aplikasi perangkat lunak ini diharapkan dapat
meningkatkan mutu pelayanan, meningkatkan efisiensi dan efektivitas manajemen
sumber data serta meningkatkan pelayanan.
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.
b. Kelebihan :
Perbaikan logis dari model waterfall, langkah langkah dan urutan prosedurnya pun masih
sama. Namun pada model Fountain ini kita dapat mendahulukan sebuah step ataupun
melewati step tersebut
c. Kekurangan :
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
d. Manfaat :
Hampir sama dengan Waterfall, namun cara kerja dari usernya saja yang berbeda
e. Contoh Implementasi :
“Aplikasi penentuan jarak minimum dengan mengimplementasikan metode Dynamic
Programming menggunakan Spiral Model.”
Dalam Model Spiral terdapat lima tahap untuk merealisasikan penggunaannya sebagai
berikut :
1. 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.
2. 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.
3. 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.
4. 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.
5. 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.
b. Kelebihan :
Dapat disesuaikan agar perangkat lunak dapat dipakai selama hidup perangkat lunak
komputer.
Estimasi biaya menjadi mudah karena pembuatan prototipe telah selesai dalam
fragmen yang kecil.
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.
c. Kekurangan :
Belum terbukti apakah metode ini cukup efisien karena usianya yang relative baru.
Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.
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..
d. Manfaat :
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.
e. Contoh Implementasi :
“Penerapan Model Spiral Pada Sistem Informasi Kepuasan Siswa di Lembaga Kursus
Pelatihan (LKP) Palcomtech Palembang”
Penerapan model spiral pada Lembaga Kursus dan Pelatihan (LKP) Palcomtech
Palembang bertujuan untuk meningkatkan kinerja staf pada LKP Palcomtech
Palembang dan mempermudah siswa dalam memberikan penilaian terhadap kinerja
staf berupa kuesioner online.
Model Spiral memiliki tahapan-tahapan seperti perencanaan, analisis dan desain,
pembuatan prototype serta pengujian.
1. Planning/Perencanaan
Pada tahap perencanaan ini dimulai dari pengumpulan kebutuhan yang membantu tim
teknikal untuk memahami konteks bisnis dari sebuah aplikasi. Selain itu pada tahap ini
juga mendefinisikan output yang akan dihasilkan, fitur yang dimiliki oleh aplikasi dan
fungsi dari aplikasi yang dikembangkan.
2. Design/Perancangan
Metode ini menekankan desain aplikasi yang sederhana, untuk mendesain aplikasi
dapat menggunakan Class-Responsibility-Collaborator (CRC) cards yang
mengidentifikasi dan mengatur class pada object-oriented.
3. Coding
Sebelum membuat code, lebih baik membuat unit test tiap story untuk dimasukkan
dalam software increment. XP menyarankan agar dua orang bekerja bersama pada satu
komputer workstation untuk membuat code dari satu story (pair programming), untuk
menyediakan real time problem solving dan jaminan real time quality. Setelah pair
programming selesai, code diintegrasikan dengan kerja laiinnya (continuous
integration).
4. Testing
Unit test yang telah dibuat harus diimplementasikan menggunakan suatu framework
dan diatur ke dalam universal testing suite, integrasi dan validasi sistem dapat
dilakukan setiap hari. Customer test (acceptance test) dilakukan oleh customer dan
fokus pada keseluruhan fitur dan fungsional sistem. Acceptance test diperoleh dari
customer stories yang telah diimplemetasikan sebagai bagian dari software release.
b. Kelebihan :
Meningkatkan kepuasan kepada klien.
Pembangunan system dibuat lebih cepat.
Menjalin komunikasi yang baik dengan client.
Meningkatkan komunikasi dan sifat saling menghargai antar developer.
c. 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.
d. Manfaat :
Extreme Programming tepat untuk dipergunakan untuk pembuatan program yang :
Membutuhkan perubahan yang cepat (misalnya: Game Mobile).
Proyek beresiko tinggi dengan tantangan yang berat.
Tim programmer sedikit, yaitu sekitar 2–10 orang.
Adanya permintaan dari pelanggan secara langsung.
e. Contoh Implementasi :
“Rancang Bangun Sistem Extreme Programming Sebagai Metodologi Pengembangan
Sistem”
Extreme Programming bisa di terapkan pada perusahaan atau organisasi yang
mempunyai tim khusus untuk pengembangan suatu sistem. Perusahaan atau organisasi
yang ingin menerapkan Extreme Programming diharapkan untuk bisa memahami dan
mengerti Extreme Programming practice, dan scrum. Jika perusahaan atau organisasi
sudah mengerti Extreme Programming practice dan scrum, maka bisa mempelajari
scrum terlebih dahulu lalu full Extreme Programming.
Extreme Programming berguna untuk mempercepat pekerjaan suatu tim dalam
organisasi atau perusahaan. Karena dalam Extreme Programming life cycle menuntut
ke suatu tim untuk menyelesaikan rangkaian aktivitas Planning, Analys, Design &
Code, Test, Deploy dalam tempo waktu yang telah ditentukan.
7. Agile Model – (Jurnal E-31, Mgs. Afriyan Firdaus, Dwi Rosa Indah, Idris)
Pengertian metode agile adalah sekumpulan metode sebuah pengembangan
perangkat lunak(software) atas dasar prinsip yang sama atau pengembangan sistem jangka
pendek. Sehingga metode agile memerlukan adaptasi yang cepat dari pengembang terhadap
perubahan dalam bentuk apapun. Pengertian metode agile adalah salah satu metode yang
sangat mudah beradaptasi dalam bentuk apapun. Metode agile adalah metode yang
mengutamakan kelincahan tim sehingga metode ini sangat cepat dalam pengembangannya.
Selain itu, pengertian metode agile dapat mengatasi perubahan secara singkat dan dapat
diperbaiki dengan cepat.
Iterasi yang cepat dan pengiriman software yang befungsi secara regular memastikan
kepuasan pelanggan.
Perubahan yang telat dapat ditangani dengan mudah dan juga diterima secara
terbuka.
Perkembangan dinilai berdasarkan implementasi software.
Komunikasi pelanggan dan pengguna ditekankan secara bertatap muka.
Setiap pertemuan dengan anggota tim dilakukan secara bertatap muka.
Setiap anggota tim pengembang adalah orang yang berkomitmen dan bermoivasi
timggi serta kompeten dan dapat dipercaya.
b. Kelebihan :
Pembangunan system dibuat lebih cepat
Meningkatkan kepuasan kepada klien
Mengurangi resiko kegagalan implementasi software dari segi non-teknis
Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi
relative kecil.
c. Kekurangan :
Siap menghadapi beberapa perubahan
Bekerja dengan cepat, jika tim tidak dapat menyesuaikan tidak akan maksimal
Rencana awal dapat berubah se waktu-waktu
Jadwal tidak menentu
Jika tim tidak bisa komunikasi dengan baik maka akan terjadi kemunduran
d. Manfaat :
Metodologi pengembangan Agile memberikan kesempatan untuk menilai arah
proyek melalui siklus pengembangan
Dengan berfokus pada pengulangan siklus kerja disingkat serta produk fungsional
mereka menghasilkan, metodologi tangkas digambarkan sebagai “berulang” dan
“incremental”.
Dalam paradigma tangkas, setiap aspek persyaratan pembangunan, desain, dan lain-
lain terus ditinjau kembali selama pemakaian.
e. Contoh Implementasi :
“Penerapan Scrum Agile Development Dalam Pengembangan Sistem Informasi
Monitoring Mahasiswa Bidikmisi Berbasis Web (Studi Kasus Di Universitas Sriwijaya)”