PERANGKAT LUNAK
Nama Kelompok:
Irwan (C1855201017)
Panji (C1855201042)
Pebe Yupinda (C1855201028)
Yon Novembrian (C1855201029)
David Kaharap (C1855201009)
Widya Margareta S. (C1855201003)
1. MODEL EVOLUTIONARY DEVELOPMENT
1.
b. Kelebihan Model Incremental :
Personil bekerja optimal.
mampu mengakomodasi perubahan secara fleksibel, dengan waktu yang relatif
singkat dan tidak dibutuhkan anggota/tim kerja yang banyak untuk
menjalankannya.
Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang
telah selesai dibangun. Contohnya pemasukan data karyawan.
Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan
menggunakan produknya setiap bagian demi bagian.
Memaksimalkan pengembalian modal investasi konsumen
c. Kekurangan Model Incremental :
Tidak cocok untuk proyek berukuran besar (lebih dari 200.000 baris coding).
Sulit untuk memetakan kebutuhan pemakai ke dalam rencana spesifikasi tiap-
tiap hasil dari increament.
Tidak cocok untuk projek besar.
1.2 Model Spiral / Model Boehm.
Model ini mengadaptasi dua model perangkat lunak yang ada yaitu model
prototyping dengan pengulangannya dan model waterfall dengan pengendalian dan
sistematikanya. Model ini dikenal dengan sebutan Spiral Boehm. Pengembang dalam
model ini memadupadankan beberapa model umum tersebut untuk menghasilkan
produk khusus atau untuk menjawab persoalan-persoalan tertentu selama proses
pengerjaan proyek.Lebih singkatnya model ini menggunakan sistem pengulangan yang
makin kesini makin lengkap fungsi dll.
2.
a. Tahap-tahap model ini dapat dijelaskan secara ringkas sebagai berikut :
Tahap Liason:pada tahap ini dibangun komunikasi yang baik dengan calon
pengguna/pemakai.
Tahap Planning (perencanaan):pada tahap ini ditentukan sumber-sumber
informasi, batas waktu dan informasi-informasi yang dapat menjelaskan
proyek.
Tahap Analisis Resiko:mendefinisikan resiko, menentukan apa saja yang
menjadi resiko baik teknis maupun manajemen.
Tahap Rekayasa (engineering):pembuatan prototipe.
Tahap Konstruksi dan Pelepasan (release):pada tahap ini dilakukan
pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan diberikan
sokongan-sokongan tambahan untuk keberhasilan proyek.
Tahap Evaluasi:Pelanggan/pemakai/pengguna biasanya memberikan
masukan berdasarkan hasil yang didapat dari tahap engineering dan
instalasi.
b. Kelebihan model ini:
adalah sangat mempertimbangkan resiko kemungkinan munculnya kesalahan
sehingga sangat dapat diandalkan untuk pengembangan perangkat lunak skala besar.
Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik dengan
menggabungkan model waterfall ditambah dengan pengulangan-pengulangan sehingga
lebih detail untuk mencerminkan keadaan sebenarnya. Baik pengembang maupun
pemakai dapat cepat mengetahui letak kekurangan dan kesalahan dari sistem karena
proses-prosesnya dapat diamati dengan baik dan detail.
c. Kekurangan model ini :
adalah waktu yang dibutuhkan untuk pengembangkan perangkat lunak cukup
panjang demikian juga biaya yang besar. Selain itu, sangat tergantung kepada tenaga
ahli yang dapat memperkirakan resiko. Terdapat pula kesulitan untuk mengontrol
proses. Sampai saat ini, karena masih relatif baru, belum ada bukti apakah metode ini
cukup handal untuk diterapkan.
3.
2. WATERFALL DEVELOPMENT MODEL.
2.1 Sejarah.
a. Presentasi pertama yang menggambarkan penggunaan fase dari
model waterfall dalam rekayasa perangkat lunak diberikan oleh Herbert D.
Benington di Symposium on Advanced Programming Methods for Digital
Computers pada tanggal 29 Juni 1956. Presentasi ini adalah tentang pengembangan
perangkat lunak untuk SAGE. Pada tahun 1983, makalah ini diterbitkan kembali dengan
kata pengantar oleh Benington yang menjelaskan bahwa fase-fase tersebut sengaja
disusun sesuai dengan spesialisasi tugas, dan menunjukkan bahwa proses tersebut
sebenarnya tidak dilakukan dengan cara top-down yang ketat, tetapi tergantung
pada prototipe.
b. Deskripsi formal pertama dari model waterfall sering dikutip sebagai artikel
tahun 1970 oleh Winston W. Royce, meskipun Royce tidak menggunakan
istilah waterfall dalam artikel itu. Royce menyajikan model ini sebagai contoh model cacat
yang tidak bekerja; itulah istilah yang umumnya digunakan dalam penulisan tentang
pengembangan perangkat lunak untuk menggambarkan pandangan kritis praktik
pengembangan perangkat lunak yang umum digunakan. Penggunaan awal dari
istilah waterfall mungkin dalam makalah tahun 1976 oleh Bell and Thayer.
c. Pada tahun 1985, Departemen Pertahanan Amerika Serikat menangkap pendekatan
ini dalam DOD-STD-2167A, standar mereka untuk bekerja dengan kontraktor
pengembangan perangkat lunak, yang menyatakan bahwa "kontraktor harus
menerapkan siklus pengembangan perangkat lunak yang mencakup enam fase
berikut: Preliminary Design, Detailed Design, Coding and Unit Testing,
Integration, danTesting".
Metode waterfall atau metode air terjun merupakan salah satu siklus hidup klasic
(Classic life cycle) dalam pengembangan perangkat lunak. Metode ini menggambarkan
pendekatan yang cukup sistematis juga berurutan pada pengembangan software, mulai dari
:
a. spesifikasi kebutuhan pengguna,
b. perencanaan,
c. permodelan,
d. konstruksi,
e. penyerahan sistem ke pengguna,
f. serta perawatan system.
4.
Dari pengertian di atas sebetulnya kita sudah mendapatkan tahapan-tahapan metode
pengembangan software ini. Supaya lebih jelas berikut ini uraiannya.
1. Requirement.
Tahap selanjutnya yaitu Desain. Desain dilakukan sebelum proses coding dimulai.
Ini bertujuan untuk memberikan gambaran lengkap tentang apa yang harus dikerjakan
dan bagaimana tampilan dari sebuah sistem yang diinginkan. Sehingga membantu
menspesifikan kebutuhan hardware dan sistem, juga mendefinisikan arsitektur sistem
yang akan dibuat secara keseluruhan.
3. Implementation.
Proses penulisan code ada di tahap ini. Pembuatan software akan dipecah menjadi
modul-modul kecil yang nantinya akan digabungkan dalam tahap selanjutnya. Dalam
tahap ini juga akan dilakukan pemeriksaan lebih dalam terhadap modul yang sudah
dibuat, apakah sudah memenuhi fungsi yang diinginkan atau belum.
4. Integration & Testing.
Pada tahap keempat ini akan dilakukan penggabungan modul-modul yang sudah
dibuat sebelumnya. Setelah itu akan dilakukan pengujian yang bertujuan untuk
5.
mengetahui apakah software sudah sesuai desain yang diinginkan dan apakah masih
ada kesalahan atau tidak.
5. Operation & Maintenance.
6.
4. Iplementasi Sistem informasi akan dibuat menggunakan bahasa
pemrograman PHP dengan Framework CodeIgninter.
5. Pengujian system Pengujian dilakukan pada aspek fungsionalitas kepada ahli
sistem informasi, petugas administrator dan alumni
langsung.
6. Maintenance Pemeliharaan akan dilakukan apabila ada update fitur atau
memperbaiki kesalahan yang ditemukan pada saat sistem
digunakan langsung oleh user.
Model spiral diperkenalkan pertama kali oleh Barry Boehm pada makalahnya yang berjudul
Spiral Model of Software Development and Enhancement. Barry Boehm menjelaskan
bahawa model spiral merupakan model yang sangat berguna untuk melakukan pembangunan
proyek-proyek besar dan prosesnya dilakukan dengan memperhatikan resiko proyek sehingga
pada akhirnya akan menghasilkan model proses yang tepat sesuai kebutuhan pengguna.
Model Spiral adalah salah satu metode yang dapat digunakan dalam pengembangan
perangkat lunak. Model spiral merupakan penggabungan dari model prototyping dan model
waterfall. Model prototyping yang fokus pada penyajian atau presentasi kepada user dengan
format input dan output kemudian perangkat lunak akan dievaluasi. Model waterfall yang
fokus kepada proses pengembangan perangkat lunak yang sistematis atau berurutan. Model
spiral menekankan pada Analisa resiko setiap tahapannya.
7.
Fungsi model spiral adalah untuk melakukan perubahan, penambahan dan pengembangan
perangkat lunak dengan memaksimalkan aspek kecepatan dan ketepatan berdasarkan
keinginan dan kebutuhan penggunanya.
Dalam penerapan Model Spiral, terdapat lima tahapan untuk merealisasikan penggunaannya,
yaitu sebagai berikut:
1. Tahap Liason
Tahap ini berhubungan dengan komunikasi antara pihak-pihak yang terlibat dalam
pengembangan softaware (seperti: system analyst) dengan pelanggan (user). Tujuannya
adalah memperbaiki dan mengembangan software sesuai kebutuhan dan keinginan hingga
memuaskan pelanggan.
2. Tahap planning
Tahap perencanaan meliputi estimasi biaya yang digunakan, batas waktu, pengaturan jadwal,
identifikasi lingkungan kerja, sumber-sumber informasi untuk melakukan iterasi (Teknik
perulangan). Hasil dari tahapan ini adalah dokumen spesifikasi kebutuhan sistem dan bisnis.
Tahap analisis reisiki berfungsi untuk mengidentifikasi resiko yang berpotensi akan terjadi
dan menghasilkan solusi alternatif secara teknis dan manajemen saat strategi mitigasi (upaya
untuk mengurangi resiko bencana) direncanakan dan diselesaikan.
Pada tahap rekayasa, beberapa kegiatan ini yang akan dilakukan, yaitu:
5. Tahap evaluasi
Pada tahap evaluasi, system analyst membutuhkan masukan dan tanggapan dari para user
dalam mengevaluasi perangkat/produk yang diuji dan memastikan bahwa produk dibutuhkan
sesuai ketentuan yang telah dibicarakan diawal dengan user. System analyst memastikan
pelanggan puas dengan produk yang akan dihasilkan untuk menjawab persoalan bisnis
mereka. Selain itu, system analyst harus tetap memantau resiko yang akan terjadi seperti
faktor-faktor yang dapat menyebabkan cost overrun (pembengkakan biaya).
8.
1. Pembangunan dan perubahan perangkat lunak yang terjadi dapat diselesaikan secara
sistematis
2. Mudah dalam mengestimasi biaya karena proses pembuatan prototype yang jelas dan
terencana dalam tahapan yang sistematis
3. Manajemen dan analisa risiko yang lebih cepat dan mudah
4. Mudah dalam melakukan perubahan kebutuhan dan dokumentasi
5. Produksi software bisa terjadi lebih cepat
9.
Contoh Penerapan Model Incremental
Perangkat lunak pengolah kata yang dikembangkan dengan menggunakan paradigma
pertambahan akan menyampaikan manajemen file, editing, serta fungsi penghasilan dokumen
pada pertambahan pertama, dan selanjutnya. Pertambahan pertama dapat disebut sebagai
produk inti (core product). Dan pada pertambahan selanjutnya, produk inti akan
dikembangkan terus hingga menghasilkan produk jadi yang siap untuk digunakan/dipasarkan.
Kelebihan Incremental :
Penambahan kemampuan "ungsional akan lebih mudah diuji, di$eri"ikasi, dan
di$alidasidan dapat menurunkan biaya yang dikeluarkan untuk memperbaiki sistem.
resiko lebih minim dan hasil dapat lebih baik secara bertahap
Personil bekerja optimal.mampu mengakomodasi perubahan secara "leksibel,
denganwaktu yang relati" singkat dan tidak dibutuhkan anggota*tim kerja yang
banyak untuk menjalankannya.
Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah
selesaidibangun. +ontohnya pemasukan data karyawan.
mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-
lahanmenggunakan produknya setiap bagian demi bagian dan memaksimalkan
pengembalian modal in$estasi konsumen.
10.
Kelemahan model incremental:
Hanya akan berhasil jika tidak ada sta""ing untuk penerapan secara menyeluruh
Bila ada perubahan harus dikerjakan sebagai produk baru.
Penambahan sta" dilakukan jika hasil incremental akan dikembangkan lebih lanjut
Sulit untuk memetakan kebutuhan pemakai ke dalam rencana spesifikasi tiap-tiap
hasildari increament
Metode ini adalah turunan dari metode agile, yang nantinya akan dibahas secara
tersendiri. scrum seringkali tidak digolongkan sebagai metodologi, melainkan suatu
kerangka kerja yang menggunakan pendekatan iteratif (perulangan) dan inkremental
(berangsur-angsur).
Pengembang menerapkan scrum ketika ingin membuat sistem yang kompleks.
Pasalnya, kerangka kerja ini memang ditujukan untuk menghasilkan produk bernilai
tinggi, unik sekaligus produktif. Kabarnya Google, Microsoft, hingga Spotify menerapkan
sistem ini.
11.
Kelebihan:
Kekurangan:
-Masalah baru muncul ketika terjadi kendala yang membuat salah satu tim gagal mencapai
target sprint-nya. Imbasnya akan memengaruhi ritme kerja tim yang lain. Metode ini juga
memungkinkan improvisasi bebas sehingga membutuhkan tim dengan fleksibilitas tinggi
12.
melacak Bottleneck dalam pengembangan aplikasi. Untuk mengetahu lebih lanjut
tentang Kanban pertama kita harus mengerti tentang proses Agile development berkerja.
13.
2. Menyiapkan Kanban Board dan beberapa Post-It/Sticker atau kertas apapun yang
dapat ditempelkan ke Kanban Board.
3. Dev Team dan Agile Coach membuat segmentasi di Kanban Board, biasanya
berbentuk seperi berikut:
4. Dev Team dan Agile Coach menuliskan tugas – tugas apa yang harus diselesaikan dan
limit tugas yang dapat dikerjakan di setiap segmentasi.
14.
15.
6. Jika tugas yang di “DONE” sudah cukup, maka Dev Team akan mempaketkan produk
tersebut, melakukan Demo di depan Stakeholders, dan me-release product tersebut.
7. Setelah product di release di minggu tersebut, Dev
Team dan Stakeholders melakukan Retrospection untuk membicarakan kinerja dari
minggu-minggu tersebut.
8. Lalu kegiatan tersebut akan dilakukan berulang-ulang sampai produk benar-benar
selesai.
Dengan sistem ini, Agile Coach dapat mengetahui mengapa suatu tugas tidak selesai tepat
waktu dan apa yang harus dilakukan untuk menyelesaikanya.
16.
Flexibel : Dengan memvisualisasikan perkerjaan yang dilakukan, kita dapat
mengetahui bottleneck dan kesalahan yang dapat dengan mudah diubah.
Memperlihatkan WIP : Dengan mengetahui WIP (Work In Progress) team dapat
menentukan kapan dan seberapa cepat suatu tugas harus diselesaikan.
Memudahkan dalam menjaga flow perkerjaan : Dengan sistem ini Agile Coach dapat
menjaga agar setiap tugas dapat diselesaikan dan release produk berjalan lancar.
Mempromosi kebersamaan : Dengan menggunakan Kanban, tim harus belajar
memiliki kebiasaan yang baik dan pola kerja yang baik seperti saat ada masalah,
masalah tersebut harus diselesaikan secara cepat hari itu juga dengan tatap muka.
Hal ini mengurangi biaya penyimpanan dan membawa. Kanban sebagian besar
berhubungan dengan manufaktur. Sebuah perhatian utama di bidang manufaktur adalah
kebutuhan untuk memiliki persediaan siap bahan, tanpa menimbulkan biaya persediaan yang
tidak perlu memegang. Tetapi juga dapat diterapkan dalam lingkungan non manufaktur, di
mana efisiensi alur kerja Anda tergantung pada memiliki sumber daya yang tersedia. Istilah
'kanban' menggabungkan kata-kata Jepang 'kan,' yang berarti 'visual' dan 'larangan', yang
berarti 'kartu' atau 'papan. " Sebuah kanban kartu visual atau isyarat lain yang sinyal ada
sesuatu yang diperlukan.
Ini adalah "menarik" sistem, di mana pasokan ditentukan oleh produsen atau
pengguna. Sebuah Kanban adalah kartu fisik yang digunakan dalam Toyota Production
System (TPS) untuk mendukung non-terpusat "tarik" kontrol produksi. Hal ini telah
menyebar ke industri manufaktur di seluruh dunia sebagai alat Lean Manufacturing. Sekarang
dalam pengembangan perangkat lunak Agile visualisasi proyek, seperti posting kartu tugas di
dinding, adalah praktek umum terlihat, yang kadang-kadang disebut "Software Kanban", atau
"Tugas Kanban". Sekarang kita bahkan melihat beberapa tim pemeliharaan produk
memanfaatkan sistem Kanban dalam model proses air terjun seperti.
Jadi apa Kanban? Mengapa ini dipakai dalam konteks pengembangan perangkat
lunak? Pada artikel ini, pertama di jelaskan bahwa sebuah sistem Kanban adalah dalam
konteks Lean manufacturing, khususnya di TPS, dan mengumpulkan wawasan dari praktek
17.
dan prinsip-prinsip dalam industri dewasa, mengidentifikasi konsep-konsep yang dapat
diterapkan untuk pengembangan perangkat lunak. Kedua kita lihat ke sekeliling proyek
pengembangan perangkat lunak dan menunjukkan contoh-contoh aplikasi Kanban.
Kemudian, kita menganalisis kesamaan dan perbedaan antara sistem Kanban dalam produksi
dan pengembangan perangkat lunak, dan mencoba untuk memberikan ide-ide tentang cara
efektif menerapkan sistem Kanban untuk pengembangan perangkat lunak, termasuk
pengantar untuk gerakan baru-baru ini "KSSE - Sistem Kanban untuk Sustaining Rekayasa"
muncul pada kanbandev daftar diskusi. Akhirnya, kita memberikan gambaran besar TPS,
konteks asli untuk yang menggunakan Kanban sebagai alat, dan dari pengembangan
perangkat lunak yang masih dapat belajar lebih banyak.
Apa Kanban di TPS? Kanban adalah perangkat sinyal (biasanya kartu fisik dalam
amplop plastik bening) yang menginstruksikan bergerak atau membuat bagian-bagian dalam
suatu sistem "menarik" produksi, ditemukan dan dikembangkan sebagai bagian dari Toyota
Production System (TPS).
18.
(item) hulu ke hilir. Dalam rangka untuk memasok produk ke konsumen akhir, proses
kebutuhan untuk memproduksi komponen dan membuat mereka mengalir ke hilir, tetapi
tidak terlalu banyak, karena overproduksi dianggap pemborosan terburuk. Jadi untuk
mencegah kelebihan produksi, hulu tidak "mendorong" selesai bagian ke hilir, tetapi itu
adalah hilir yang secara aktif menarik (mengambil) bagian-bagian dari hulu. Ruang di mana
bagian ditempatkan disebut "toko" (atau "supermarket Taiichi Ohno mendapat ide pertama
dari Kanban ketika ia mengunjungi sebuah supermarket Amerika, di mana tidak pegawai
toko namun pelanggan sendiri yang pergi untuk mendapatkan apa yang ia membutuhkan di
toko).
Toko adalah di lokasi hulu dan bekerja sebagai "penyangga" atau "antrian" WIP.
Ketika seorang pekerja dari proses hilir, yang disebut "materi handler", datang ke toko dan
mengambil bagian yang baru selesai, itu juga kembali sinyal produksi - yaitu hal-hal menarik
hilir dari hulu dan pada saat yang sama mendorong informasi kepada hulu melalui kartu
Kanban. Hal ini diperlukan, karena proses hulu tidak pernah menghasilkan bagian tanpa
instruksi dari proses hilir. Jadi di sini adalah dua jenis Kanban bekerja sama dalam Gambar
1:
Withdraw Kanban - adalah salah satu item pada daftar belanja yang handler bahan
yang dibutuhkan untuk toko.
Kanban Produksi - menginstruksikan proses hulu untuk memproduksi komponen
untuk proses hilir.
19.
Gambar 2 Kanban Exchange di Store
1. Seorang penangan material di lokasi hilir ditandai untuk menarik bagian. Sinyal
didefinisikan oleh proses hilir dan salah satu dari dua di bawah ini:
(A) ditandai dengan jumlah dikumpulkan menarik Kanbans
(B) ditandai dengan interval waktu periodik Ia mengunjungi toko di lokasi hulu
dengan palet kosong dan dikumpulkan-Nya menarik Kanbans sebagai daftar
belanja, yang menunjukkan apa yang dibutuhkan dan dalam jumlah apa untuk
proses hilir.
2. Bagian selesai dengan proses hulu dikemas dalam palet dan ditempatkan di toko
dengan Kanbans produksi terpasang. (Hal ini terjadi terlepas dari (1), dalam thread
terpisah.)
3. Handler bahan mengambil bagian yang ditentukan oleh menarik Kanban (daftar
belanja), memeriksa apakah cocok dengan Kanban produksi melekat pada bagian-
bagian, dan pertukaran dua Kanbans.
4. Dia menempatkan Kanban produksi ke "Dewan Produksi", yang nantinya akan memicu
produksi visual hulu saat Kanbans tumpukan pada ambang.
5. Dia menyampaikan bagian yang diperlukan, dengan Kanban menarik terpasang, dari
toko ke lokasi hilir.
Anda melihat bahwa toko adalah antrian antara dua proses, bekerja di sebuah thread
terpisah dari kontrol, bertukar informasi melalui hal-hal dan Kanban. Pada permukaan kartu
Kanban, informasi seperti nomor bagian / nama, jumlah, jenis palet, alamat toko, ditulis
sehingga penangan bahan yang mengambil kartu ini bisa tahu apa yang harus dilakukan.
20.
Ada disiplin yang ketat menjalankan Kanban, yang disebut "aturan enam dari Kanban":
1. Pelanggan (Hilir) proses menarik item dalam jumlah yang tepat ditentukan pada
Kanban itu.
2. Pemasok (Hulu) menghasilkan item dalam jumlah yang tepat dan urutan yang
ditentukan oleh Kanban
3. Tidak ada item yang dibuat atau dipindahkan tanpa Kanban sebuah.
4. Kanban A harus menemani setiap item, setiap saat.
5. Cacat dan jumlah yang salah tidak pernah dikirim ke proses hilir berikutnya.
6. Jumlah Kanbans berkurang hati-hati untuk persediaan yang lebih rendah dan untuk
mengungkapkan masalah.
Sebagaimana telah kita bahas, toko bekerja sebagai antrian bagian, palet bekerja
sebagai pembawa bagian, dan kartu Kanban bekerja sebagai pembawa pelanggan
membutuhkan informasi. Mereka membuatnya menjadi "menarik" sistem, menciptakan
keseimbangan antara mempertahankan "aliran kontinu" (menghilangkan pemborosan
menunggu) dan "WIP minizing" (menghilangkan pemborosan overproduksi). Mekanisme
pengelolaan "hak" jumlah WIP dalam aliran antara membeli-in dan menjual-out adalah persis
apa yang terjadi di supermarket, dan melakukannya dengan baik adalah kunci untuk
profitabilitas toko.
7. METODE PROTOTYPE
Prototype adalah salat satu metode pengembangan perangkat lunak yang banyak
digunakan Dengan menggunakan Metode prototyping ini , pengembangan dan pelanggan
dapat saling berinteraksi selama proses pembuatan sistem . Sering terjadi seorang pelanggan
hanya mendefinisikan secara umum apa yang dibutuhkan , pemrosesan dan data-data apa saja
21.
yang dibutuhkan. Sebaliknya , disisi pengembang kurang memperhatikan efisiensi
Algoritma . Kemampuan sistem operasi dan interface yang menghubungkan manusia dengan
komputer.
Pada prototyping model kadang- kadang klien hanya memberikan beberapa
kebutuhan umum software tanpa detail input, proses atau detail output dilain waktu mungkin
tim pembangun (developer) tidak yakin terhadap efisiensi dari algoritma yang digunakan,
tingkat adaptasi terhadap sistem operasi atau rancangan form user interface. Ketika situasi
seperti ini , terjadi model prototyping sangat membantu proses pembangunan software.
Proses pada prototyping bisa dijelaskan sebagai berikut.
1. Pengumpulan Kebutuhan . Developer dan klien bertemu dan menentukan tujuan
umum, kebutuhan yang diketahui dan gambaran bagian - bagian yang akan
dibutuhkan berikutnya. Detail kebutuhan mungkin tidak dibicarakan disini , pada awal
pengumpulan kebutuhan.
2. Perancangan . Perancangan dilakukan cepat dan rancangan mewakili aspek software
yang diketahui dan rancangan ini menjadi dasar pembuatan prototype.
1 . Mendengarkan Pelanggan
Pada tahap ini dilakukan pengumpulan kebutuhan dari sistem dengan cara mendengar
keluhan dari pelanggan . Untuk membuat suatu sistem yang sesuai kebutuhan , maka harus
diketahui terlebih dahulu bagaimana sistem yang sedang berjalan untuk kemudian
mengetahui masalah yang terjadi .
2 . Merancang dan Membuat Prototype
22.
Pada tahapan ini , dilakukan perancangan dan pembuatan prototype system . Prototype
yang dibuat disesuaikan dengan kebutuhan sistem yang telah didefinisikan sebelumnya
dari keluhan pelanggan atau pengguna.
3 . Uji Coba
Pada tahap ini , Prototype dari sistem di uji coba oleh pelanggan atau pengguna . Lalu
dilakukan evaluasi kekurangan - kekurangan dari kebutuhan pelanggan . Pengembangan
kemudian kembali mendengarkan keluhan dari pelanggan untuk memperbaiki Prototype
yang ada.
1. Resiko tinggi yaitu untuk masalah - masalah yang tidak terstruktur dengan baik , ada
perubahan yang besar dari waktu ke waktu dan adanya persyaratan data yang tidak
menentu
2. Interaksi pemakai penting . Sistem harus menyediakan dialog on-line antara
pelanggan dan komputer
3. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak
mencerminkan teknik perancangan yang baik.
23.
Proses Extreme Programming menurut Pressman (2010):
5.
XP fokus pada:
24.
1. Perencanaan dan kebutuhan Personil pemasaran dan pengembangan
bisnis bekerja bersama untuk
mengidentifikasi nilai bisnis yang
maksimal dari setiap fitur perangkat lunak.
Setiap fitur utama perangkat lunak ditulis
sebagai cerita pengguna.
Pemrogram menyediakan estimasi waktu
untuk penyelesaian setiap cerita pengguna.
Pengguna memilih fitur perangkat lunak
berdasarkan estimasi waktu dan nilai
bisnis.
25.
dan resolusi.
8. Kepemilikan kolektif atas kode Semua kode adalah hak milik semua
pemrogram.
Tidak ada satu pun pemrogram yang
didedikasikan untuk basis kode spesifik.
10. Kerja 40 jam per minggu Tidak diizinkan adanya lembur, jika Anda
bekerja dengan dedikasi selama 40 jam per
minggu, jam lembur tidak dibutuhkan.
Pengecualian hanya untuk minggu sebelum
perilisan.
11. Kehadiran pelanggan di tempat Anda dan tim pemrograman memiliki akses
tidak terbatas ke pelanggan, untuk
memungkinkan Anda untuk menyelesaikan
pertanyaan secara cepat dan meyakinkan,
yang mana menjaga penguluran proses
pengembangan.
Rapid Application Development (RAD) adalah strategi siklus hidup yang ditujukan
untuk menyediakan pengembangan yang jauh lebih cepat dan mendapatkan hasil dengan
kualitas yang lebih baik dibandingkan dengan hasil yang dicapai melalui siklus tradisional
(McLeod, 2002). RAD merupakan gabungan dari bermacam-macam teknik terstruktur
dengan teknik prototyping dan teknik pengembangan joint application untuk mempercepat
pengembangan sistem/aplikasi (Bentley, 2004). Dari definisi-definisi konsep RAD ini, dapat
dilihat bahwa pengembangan aplikasi dengan menggunakan metode RAD ini dapat dilakukan
dalam waktu yang relatif lebih cepat.
Pemaparan konsep yang lebih spesifik lagi dijelaskan oleh Pressman (2005) dalam
bukunya, “Software Engineering: A Practition’s Approach”. Ia mengatakan bahwa RAD
adalah proses model perangkat lunak inkremental yang menekankan siklus pengembangan
yang singkat. Model RAD adalah sebuah adaptasi “kecepatan tinggi” dari model waterfall, di
mana perkembangan pesat dicapai dengan menggunakan pendekatan konstruksi berbasis
26.
komponen. Jika tiap-tiap kebutuhan dan batasan ruang lingkup projek telah diketahui dengan
baik, proses RAD memungkinkan tim pengembang untuk menciptakan sebuah “sistem yang
berfungsi penuh” dalam jangka waktu yang sangat singkat. Dari penjelasan Pressman (2012)
ini, satu perhatian khusus mengenai metodologi RAD dapat diketahui, yakni implementasi
metode RAD akan berjalan maksimal jika pengembang aplikasi telah merumuskan kebutuhan
dan ruang lingkup pengembangan aplikasi dengan baik.
Sedangkan menurut Kendall (2010), RAD adalah suatu pendekatan berorientasi objek
terhadap pengembangan sistem yang mencakup suatu metode pengembangan serta
perangkat-perangkat lunak. RAD bertujuan mempersingkat waktu yang biasanya diperlukan
dalam siklus hidup pengembangan sistem tradisional antara perancangan dan penerapan suatu
sistem informasi. Pada akhirnya, RAD sama-sama berusaha memenuhi syarat-syarat bisnis
yang berubah secara cepat.
Menurut Kendall (2010), terdapat tiga fase dalam RAD yang melibatkan penganalisis
dan pengguna dalam tahap penilaian, perancangan, dan penerapan. Adapun ketiga fase
tersebut adalah requirements planning (perencanaan syarat-syarat), RAD design workshop
(workshop desain RAD), dan implementation (implementasi). Sesuai dengan metodologi
RAD menurut Kendall (2010), berikut ini adalah tahap-tahap pengembangan aplikasi dari
tiap-tiap fase pengembangan aplikasi.
Dalam fase ini, pengguna dan penganalisis bertemu untuk mengidentifikasikan tujuan-
tujuan aplikasi atau sistem serta untuk megidentifikasikan syarat-syarat informasi yang
ditimbulkan dari tujuan-tujuan tersebut. Orientasi dalam fase ini adalah menyelesaikan
masalah-masalah perusahaan. Meskipun teknologi informasi dan sistem bisa mengarahkan
sebagian dari sistem yang diajukan, fokusnya akan selalu tetap pada upaya pencapaian
tujuan-tujuan perusahaan (Kendall, 2010).
27.
2) RAD Design Workshop (Workshop Desain RAD)
Fase ini adalah fase untuk merancang dan memperbaiki yang bisa digambarkan sebagai
workshop. Penganalisis dan dan pemrogram dapat bekerja membangun dan menunjukkan
representasi visual desain dan pola kerja kepada pengguna. Workshop desain ini dapat
dilakukan selama beberapa hari tergantung dari ukuran aplikasi yang akan dikembangkan.
Selama workshop desain RAD, pengguna merespon prototipe yang ada dan penganalisis
memperbaiki modul-modul yang dirancang berdasarkan respon pengguna. Apabila sorang
pengembangnya merupakan pengembang atau pengguna yang berpengalaman, Kendall
menilai bahwa usaha kreatif ini dapat mendorong pengembangan sampai pada tingkat
terakselerasi (Kendall, 2010).
Pada fase implementasi ini, penganalisis bekerja dengan para pengguna secara intens
selama workshop dan merancang aspek-aspek bisnis dan nonteknis perusahaan. Segera
setelah aspek-aspek ini disetujui dan sistem-sistem dibangun dan disaring, sistem-sistem baru
atau bagian dari sistem diujicoba dan kemudian diperkenalkan kepada organisasi (Kendall,
2010).
Metode pengembangan sistem RAD relatif lebih sesuai dengan rencana pengembangan
aplikasi yang tidak memiliki ruang lingkup yang besar dan akan dikembangkan oleh tim yang
kecil. Namun, RAD pun memiliki kelebihan dan kekurangannya sebagai sebuah metodoligi
pengembangan aplikasi. Berikut ini adalah kelebihan metodologi RAD menurut Marakas
(2006):
Sedangkan, mengacu pada pendapat Kendall (2010), maka dapat diketahui bahwa
kekurangan penerapan metode RAD adalah sebagai berikut:
28.
3. RAD menyulitkan programmer yang tidak berpengalaman menggunakan prangkat ini
di mana programmer dan analyst dituntut untuk menguasai kemampuan-kemampuan
baru sementara pada saat yang sama mereka harus bekerja mengembangkan sistem.
Daftar Pustaka :
MODEL EVOLUTIONARY DEVELOPMENT
- https://murtri.wordpress.com/2014/08/25/model-model-pengembangan-perangkat-lunak-
beserta-contoh-penerapannya/
- https://www.angon.co.id/news/uncategorized/model-model-pengembangan-perangkat-
lunak-beserta-contoh-penerapannya
- https://www.google.co.id/searchq=pengertian+cost+overrun&sa=X&ved=0ahUKEwi9p
PCihpncAhXJe30KHUAqApUQ1QIIfigA&biw=679&bih=524
- http://oursolving.blogspot.com/2011/09/10_420.html
- https://sis.binus.ac.id/2018/03/09/knowing-agile-development-methodologies-kanban/
METODE PROTOTYPE
29.
- https://materikuliahif-unpas.blogspot.com/2018/07/metode-prototype.html
30.