1. Model Waterfall
Waterfall atau AIR terjun adalah model yang dikembangkan untuk pengembangan perangkat lunak, membuat perangkat lunak, model berkembang secara sistematis dari satu tahap ke tahap lain dalam mode seperti air terjun.
Model ini mengusulkan sebuah pendekatan kepada pengembangan software yang sistematik dan sekuensial yang mulai dari tingkat kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan. Model ini melingkupi aktivitas-aktivitas sebagai berikut: rekayasa dan pemodelan sistem informasi, analisis kebutuhan, desain, koding, mengujian dan pemiliharaan.
Model pengembangan ini bersifat linear dari tahap awal pengembangan system yaitu tahap perencanaan sampai tahap akhir pengembangan system yaitu tahap pemeliharaan. Tahapan berikutnya tidak akan dilaksanakan sebelum tahapan seelumnya selesai dilaksanakan dan tidak bisa kembali atau mengulang ke tahap sebelumnya.
Keuntungan Model Waterfall
1) Merupakan model pengembangan paling handal dan paling lama digunakan.
2)Cocok untuk system software berskala besar
3)Cocok untuk system software yang bersifat generic.
4)Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.
2) Biaya juga mahal, hal ini juga dikarenakan waktu pengembangan yang lama.
3) Terkadang perangkat lunak yang dihasilkan tidak akan digunakan karena sudah tidak sesuai dengan requirement bisnis customer, hal ini juga dikarenakan waktu pengembangan yang lama. Selain itu dikarenakan waterfall merupakan aliran yang linear, sehingga jika requirement berubah proses tidak dapat diulang lagi.
4) Karena tahap-tahapan pada waterfall tidak dapat berulang, maka model ini tidak cocok untuk pemodelan pengembangan sebuah proyek yang memiliki kompleksitas tinggi.
5) Meskipun waterfall memiliki banyak kelemahan yang dinilai cukup fatal, namun model ini merupakan dasar bagi model-model lain yang dikembangkan setelahnya.
2)Cocok untuk system software berskala besar
3)Cocok untuk system software yang bersifat generic.
4)Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.
Kelemahan Waterfall
1) Waktu pengembangan lama. Hal ini dikarenakan input tahap berikutnya adalah output dari tahap sebelumnya. Jikas satu tahap waktunya molor, maka waktu keseluruhan pengebangan juga ikut molor.2) Biaya juga mahal, hal ini juga dikarenakan waktu pengembangan yang lama.
3) Terkadang perangkat lunak yang dihasilkan tidak akan digunakan karena sudah tidak sesuai dengan requirement bisnis customer, hal ini juga dikarenakan waktu pengembangan yang lama. Selain itu dikarenakan waterfall merupakan aliran yang linear, sehingga jika requirement berubah proses tidak dapat diulang lagi.
4) Karena tahap-tahapan pada waterfall tidak dapat berulang, maka model ini tidak cocok untuk pemodelan pengembangan sebuah proyek yang memiliki kompleksitas tinggi.
5) Meskipun waterfall memiliki banyak kelemahan yang dinilai cukup fatal, namun model ini merupakan dasar bagi model-model lain yang dikembangkan setelahnya.
Studi Kasus
Sulitnya petugas bagian administrasi dalam mengolah data perpustakaan yang mengakomodasi peminjaman buku, pengembalian dan membuat laporan yang membutuhkan banyak waktu. Adapun tujuan dari model sistem ini adalah memodelkan sebuah sistem informasi perpustakaan yang berbasis komputer dengan menggunakan metode waterfall dan sistem informasi perpustakaan ini, untuk membantu petugas dalam menghadapi kendala yang dihadapi dalam melakukan transaksi, sehingga dengan adanya sistem nformasi tersebut diharapkan dapat menyelesaikan permasalahan yang berhubungan dengan perpustakaan.
2. Model Prototype
![]() |
| Contoh Model Prototype |
Pendekatan prototyping model digunakan jika pemakai hanya mendefinisikan objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya, sementara pengembang tidak begitu yakin akan efisiensi algoritma, adaptasi sistem operasi, atau bentuk interaksi manusia-mesin yang harus diambil.
Kelebihan model prototype:
- Menghemat waktu pengembangan
- Adanya komunikasi yang baik antara pengembang dan pelanggan
- Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
- Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkan
- User dapat berpartisipasi aktif dalam pengembangan sistem
Kekurangan model prototype:
- Biaya untuk membuat prototyping cukup tinggi
- Biasanya kurang fleksible dalam mengahadapi perubahan
- Proses analisis dan perancangan terlalu singkat
Studi kasus
Seorang
pelanggan mendefinisikan serangkaian sasaran umum bagi perangkat lunak,
tetapi tidak melakukan mengidentifikasi kebutuhan output, pemrosesan,
atupun input detail. Pada kasus yang lain, pengembang mungkin tidak
memiliki kepastian terhadap efisiensi algoritme, kemampuan penyesuaian
dari sebuah sistem operasi,atau bentuk-bentuk yang harus dilakukan oleh
interaksi manusia dengan mesin. Dalam hal ini, serta pada banyak situasi
yang lain, prototyping paradigma mungkin menawarkan pendekatan yang
terbaik.
Prototyping
paradigma dimulai dengan pengumpulan kebutuhan. Pengembang dan pelanggan
bertemu dan mendefinisikan obyektif keseluruhan dari software,
mengidentifikasi segala kebutuhan yang diketahui, dan area garis besar
diman definisi lebih jauh merupakan keharusan kemudian dilakukan
“perancangan kilat”. Perancangan kilat berfokus pada penyajian dari
aspek-aspek software tersebut yang akan nampak bagi pelanggan atau
pemakai (contohnya pendekatan input dan format output). Perancangan
kilat membawa kepada konstruksi sebuah prototipe. Prototipe tersebut
dievaluasi oleh pelanggan/pemakai dan dipakai untuk menyaring kebutuhan
pengembangan software. Iterasi terjadi pada saat prototipe disetel untuk
memenuhi kebutuhan pelanggan, dan pada saat yang sama memungkinkan
pengembang untuk secara lebih baik memahami apa yang harus dilakukannya.
3. Model Spiral
![]() |
| Contoh Model Spiral |
Spiral model adalah model proses yang pendekatannya bersifat realistis
pada software besar karena proses dari awal sampai proses pengiriman dan
perbaikan dapat dipahami dnegan 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
perubahan pada software oleh 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.
Studi kasus
Tuan X adalah General Manager A Company, sebuah perusahaan perkapalan yang berbasis di Singapura. Sebagai
perusahaan UKM muda yang terus berkembang, Tuan X menginvestasikan
sebagian modal perusahaan untuk promosi di media cetak dan elektronik,
serta melatih kemampuan karyawan melalui berbagai kursus. Untuk
mendukung kerja karyawan, A Company menggunakan komputer dasar (Basic
PC) yang dilengkapi dengan office
software. Seperti kebanyakan UKM lainnya, A Company juga memiliki akses internet yang hanya dapat digunakan
secara terbatas di beberapa PC. A Company memiliki satu buah email resmi yang masih menggunakan domain dari
ISP (Internet Service Provider). Untuk komunikasi dilingkungan karyawan, mereka menggunakan fasilitas
email gratis yang banyak tersedia di internet. Email gratis ini kadang juga digunakan untuk berkomunikasi dengan
supplier dan pelanggan. Sebagai perusahaan UKM yang terus berkembang cepat,
Tuan X mulai berfikir untuk mengembangkan A Company lebih professional. Harapan Tuan X, calon pelanggan
potensial, pelanggan, supplier dan karyawan lebih mengenal A Company. Disisi lain, ia juga berharap agar cara yang
digunakan lebih efisien, hemat biaya, tetapi menampilkan sosok perusahaan yang meyakinkan atau bonafit. Tuan X
meyakini, bahwa berkomunikasi menggunakan alamat email atau domain sendiri; promosi melalui website sendiri; data
yang terintegrasi dan dapat diakses disemua komputer perusahaan akan dapat membawa perusahaan menjadi lebih
profesional. A Company tidak memiliki departemen khusus untuk menangani TI. Untuk mewujudkan keinginannya, Tuan X
meminta bantuan perusahaan khusus TI. Implementasi TI dikerjakan oleh perusahaan TI (sebagai pemenang tender)
dalam jangka waktu kontrak 1 tahun, Dalam proses implementasi, Tuan X menyerahkan tugas dan tanggungjawab
kepada bawahannya. Semua karyawan dilibatkan dalam pertemuan dan diskusi dengan perusahaan
pembangun TI. Dari waktu kontrak 1 tahun yang disepakati, TI yang bisa diimplementasikan adalah pembangunan
jaringan komputer, akses internet, email, dan pembangunan data.
4. Model Increment
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.
![]() |
| Contoh model increment |
Kelebihan model increment:
- 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 model increment:
- 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.
Studi kasus:
Puskesmas sebagai salah satu bentuk pelayanan kesehatan yang dituntut untuk memberikan pelayanan kesehatan dengan baik. Diantaranya adalah rekam medis pasien di Puskesmas Mranggen I masih menggunakan sistem manual, sehingga menyebabkan beberapa kendala diantaranya pengolahan data pasien yang masih lambat yang mengakibatkan tingginya tingkat kesalahan dalam pengolahan data pasien. Sistem rekam medis ini menggunakan metode penelitian deskriptif dengan jenis studi kasus pada Puskesmas Mranggen I, teknik pengumpulan data yang digunakan adalah observasi, wawancara, dan studi literature. Teknik analisis data menggunakan model incremental yang dikembangkan dari model waterfall, sedangkan model analisis menggunakan analisis terstruktur yaitu ERD (Entity Relationship Diagram) dalam menggambarkan model data dan DFD (Data Flow Diagram) untuk mengembangkan model fungsional.Perangkat pembangun adalah Borland Delphi 7 dengan database MySQL. Data yang diproses yaitu pendaftaran, rekam medis, rujukan, laboratorium sedangkan keluaran dari system berupa laporan-laporan.
5. Model Rapid Application Development (RAD)
Rapid Aplication Development (RAD) adalah sebuah model proses perkembanganperangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek (kira-kira 60 sampai 90 hari). Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen.
Berikut adalah Tahapan – tahapan Proses Pengembangan dalam
Model Rapid Application Development (RAD), yaitu :
- Bussiness Modeling
- Data Modeling.
- Proses Modeling
- Aplication Generation
- Testing dan Turnover
Kelebihan Model RAD :
- Lebih efektif dari Pengembangan Model waterfall/sequential linear dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
- Cocok untuk proyek yang memerlukan waktu yang singkat.
- Model RAD mengikuti tahap pengembangan sistem seperti pada umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuatnya dari awal lagi sehingga waktu pengembangan menjadi lebih singkat dan efisien.
Kekurangan Model RAD :
- Model RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.
- Tidak semua aplikasi sesuai untuk RAD, bila system tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat bermasalah.
- RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
- Membutuhkan Tenaga kerja yang banyak untuk menyelesaikan sebuah proyek dalam skala besar.
- Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan pelanggan.
Studi Kasus
Andaikan Saya terpilih menjadi seorang manajer proyek pada sebuah perusahaan kecil yang memproduksi perangkat lunak di mana tugas saya adalah membangun sebuah aplikasi yang sangat mirip dengan aplikasi lain yang sudah dibangun sebelumnya, meskipun yang satu ini lebih besar dan kompleks, sementara syarat-syarat sudah didokumentasikan dengan teliti oleh pemakai.
Maka, struktur yang akan saya pilih adalah struktur table karena
fleksibelitas rancangan struktur
table ini yang dapat menjelaskan dengan baik hubungan antar elemen/komponen
yang dijelaskan, hal tersebut memudahkan pengembang untuk menggunakannya.
Dan, model proses yang akan saya terapkan adalah RAD model (Rapid
Aplication Development),mengingat dalam tahapan RAD dapat digunakan
kembali dokumentasi dari pemakai yang sebelumnya telah ada. Dalam RAD ini
terdapat tahapan di mana pengembang harus mengetes atau menguji coba
program,karena program terdahulunya masih dapat dipakai, pengembang cukup
melakukan testing terhadap program-program dan komponen-komponen baru saja
sehingga dapat menghemat waktu. Oleh karena produksinya dilakukan oleh
perusahaan kecil dengan estimasi proyek berskala kecil dan tenaga manusianya
(dalam bentuk) tim dapat dipenuhi maka RAD sangat memungkinkan untuk diterapkan
demi efisiensi waktu dan kerja.
6.Component Assembly Model (CAM/Model Perakitan Komponen)
Model ini merupakan gabungan dari berbagai sifat dan karakter dari model spiral Boehm dan sangat erat keterikatannya dengan model RAD (Rapid Application Development) model karena model CAM ini menggunakan peralatan-peralatan dan GUI (Graphic User Interface) untuk membangun software. Dengan kata lain, pembuatan aplikasinya dibuat dari paket perangkat lunak yang berisi serangkaian komponen yang telah ada sebelumnya. Namun, waktu yang dibutuhkan dapat disesuaikan atau lebih efektif ketimbang harus mengerjakan program dari awal.Tahapan-tahapan Model ini adalah:
Tahap Identifikasi calon-calon komponen (kelas objek); Tahap melihat komponen-komponen dalam pustaka; Tahap mengekstrak komponen jika ada; Tahap membangun komponen jika tidak ada; Tahap menyimpan komponen baru pada pustaka; Tahap mengkonstruksi iterasi ke-n dari sistem.Kelebihan model :
Mencaplok atau menggunakan program atau komponen yang sudah ada dan menyusunnya menjadi sebuah program yang lebih kompleks dan berkembang sesuai dengan kebutuhan user/pengguna sehingga dapat mengefisienkan penggunaan waktu dan tenaga. Selain itu, model ini juga menyediakan kemampuan untuk memvisualisasikan hasil rakitan dengan kesanggupan untuk mengukur, menganalisa, merancang dan merancang ulang program.Kekurangan model
Seringnya program atau komponen-komponen terdahulu tidak kompatibel atau sejalan dengan model perakitan komponen ini sehingga untuk perusahaan berskala kecil akan kesulitan menemukan komponen yang sesuai untuk dirakit.Studi Kasus
Andaikan saya terpilih menjadi seorang manajer proyek pada sebuah perusahaan besar yang memproduksi perangkat lunak, di mana tugas saya adalah mengatur perkembangan versi generasi selanjutnya dari perangkat lunak pengolah kata produk yang sudah dipakai sangat luas, sementara itu, kondisinya adalah kompetisi dan batas waktu yang ketat sudah dibangun dan ditetapkan.Maka, struktur yang akan saya pilih adalah struktur chart karena dapat menjelaskan hubungan antar elemen/komponen dengan sangat baik, selain itu, interface yang menghubungkan komponen-komponen dapat dengan mudah ditentukan seperti halnya dapat ditetapkannya wujud dan penempatan komponen dalam tempat penyimpanan sekunder secara fisik.
Dan, model proses yang akan saya terapkan adalah Component Assembly Model (CAM/Model Perakitan Komponen) karena saya dapat menggunakan kembali program-program dan peralatan-peralatan software yang sudah ada sebelumnya untuk dikembangkan menjadi generasi berikutnya. Oleh karena ini adalah perusahaan besar yang tentunya telah berpengalaman dengan software serupa, maka tools dan program yang akan digunakan untuk CAM sudah kompatibel sehingga dapat mempersingkat waktu.
http://fiskaregina88.blogspot.co.id/2014/08/model-pengembangan-perangkat-lunak.html http://ffirlitaningsih.blogspot.co.id/2014/08/studi-kasus-pengembangan-software.html
http://rizkyahf.blogspot.co.id/2014/08/model-pengembangan-perangkat-lunak.html
http://yanaadhesta.blogspot.co.id/2013/05/v-behaviorurldefaultvmlo_9.html
http://blogs.unpas.ac.id/yogamuhammadikbal/2014/12/26/model-waterfall-rekayasa-perangkat-lunak/



