TUGAS DASAR-DASAR PENGEMBANGAN PERANGKAT LUNAK MAKALAH MODEL PERANCANGAN Disusun Oleh : Anisa Sholawati (2009116008) SISTEM INFORMASI A PROGRAM STUDI SISTEM INFORMASI FAKULTAS TEKNIK UNIVERSITAS MULAWARMAN 2021 i DAFTAR ISI DAFTAR ISI .................................................................................................................ii KATA PENGANTAR...................................................................................................iv BAB I PENDAHULUAN .............................................................................................. 5 1.1. Latar Belakang .......................................................................................................... 5 1.2. Tujuan ....................................................................................................................... 5 1.3. Batasan Masalah ....................................................................................................... 5 BAB II PEMBAHASAN ................................................................................................ 6 2.1. Definisi Proses Pengembangan Perangkat Lunak....................................................... 6 2.2. Model Waterfall .......................................................................................................... 6 2.2.1. Tahap-Tahap Model Waterfall.................................................................................. 8 2.2.2. Tahapan Model Waterfall Menurut Pressman (2015)............................................... 8 2.2.3. Tahapan Model Waterfall Menurut Ian Sommerville (2011, p30-31)....................... 9 2.2.4. Tahapan Model Waterfall Secara Umum................................................................... 11 2.2.5. Kelebihan & Kekurangan Model Waterfall................................................................ 12 2.3. Model Incremental ........................................................................................................ 13 2.3.1 Tahap-Tahap Pada Model Incremental........................................................................ 13 2.3.2. Kelebihan & Kekurangan Model Incremental............................................................ 14 2.4. Model Evolutionary ....................................................................................................... 15 2.4.1. Model Incremental...................................................................................................... 15 2.4.2. Model Spiral/Model Boehm........................................................................................ 15 2.4.3. Tahap-Tahap Pada Model Spiral/Model Boehm......................................................... 16 2.4.4. Kelebihan & Kekurangan Model Spiral...................................................................... 16 BAB III PENUTUP ............................................................................................................ 18 3.1 Kesimpulan ..................................................................................................................... 18 ii DAFTAR PUSTAKA .......................................................................................................... 19 iii KATA PENGANTAR Segala puji bagi Allah, kami memuji-Nya, memohon pertolongan dan ampunan kepada-Nya, kami berlindung kepada Allah dari kejahatan diri kami dan kejelekan amalan-amalan kami. Siapa yang Allah beri petunjuk maka tidak ada yang dapat menyesatkannya dan siapa yang Allah sesatkan maka tidak ada yang dapat memberinya petunjuk. Aku bersaksi bahwa tidak ada ilah yang berhak diibadahi dengan benar kecuali Allah semata , tidak ada sekutu bagiNya, dan aku bersaksi bahwasanya Muhammad adalah hamba dan utusan Allah. Di dalam makalah ini penulis akan membahas tentang metode model pengembangan perancangan perangkat lunak. Model yang akan dibahas pada makalah ini antara lain adalah, model waterfall, model incremental, dan model evolutionary. Mudah-mudahan Allah memberikan taufiq kepada kita semua sehingga menjadi orang -orang yang senantiasa mensyukuri dan beribadah kepada-Nya. Mudah-mudahan kita termasuk orang-orang yang sukses, beruntung, dan Bahagia. Semoga laporan ini bermanfaat bagi penulis dan segenap pembaca. Semoga Shalawat dan salam dilimpahkan kepada Nabi Muhammad Shallallahu ‘alaihi wa sallam, juga kepada keluarganya dan para Shahabatnya, dan orang-orang yang mengikuti jejak beliau Shallallahu ‘alaihi wa sallam sampai hari Kiamat. Akhirnya laporan ini dapat penulis selesaikan dengan pertolongan Allah Subhanahu wa Ta’ala. Samarinda, 03 November 2021 Penulis iv BAB I PENDAHULUAN 1.1. Latar Belakang Menurut riset dari IBM, pengembangan perangkat lunak merupakan istilah dalam ilmu komputer. Maknanya adalah serangkaian aktivitas yang dilakukan untuk merancang membuat, mengaplikasikan, dan mendukung atau meningkatkan fungsi perangkat lunak. Komponen computer terdiri dari dua jenis, yaitu perangkat keras dan perangkat lunak. Perangkat keras merupakan komponen fisik, sedangkan perangkat lunak berupa material tidak kasat mata. Saat mengoperasikan komputer, kedua komponen ini bekerja secara bersamaan. Perangkat lunak sering disebut dengan istilah software, yang berisi serangkaian program yang membuat perangkat keras bisa berfungsi sehingga computer dapat dioperasikan. Program ini berisi instruksi dalam format digital yang dibuat dengan bahasa pemrograman. Lantas apa pengertian metode pengembangan perangkat lunak? Dalam KBBI daring, tercantum definisi metode adalah cara teratur yang digunakan untuk melaksanakan suatu pekerjaan agar tercapai tujuan yang dikehendaki. Dari sini dapat disimpulkan bahwa pengertian metode pengembangan perangkat lunak adalah sebuah cara teratur untuk merancang atau meningkatkan fungsi sebuah program agar pengguna lebih mudah dalam mengoperasikan komputer. 1.2. Tujuan Tujuan dari pembuatan makalah ini, yakni : 1. Untuk mengetahui jenis-jenis model metode pengembangan perangkat lunak beserta definisi dan tahapan-tahapannya. 2. Untuk mengetahui kelebihan dan kekurangan masing-masing model. 3. Untuk menambah wawasan ilmu dan pengetahuan. 1.3. Batasan Masalah Batasan masalah dalam makalah ini dikhususkan pada penjelesan 3 model metode pengembangan perangkat lunak yakni, model waterfall, incremental, dan evolutionary. 5 BAB II PEMBAHASAN 2.1. Definisi Proses Pengembangan Perangkat Lunak Proses Pengembangan Perangkat Lunak (Software Development Process) adalah suatu penerapan struktur pada pengembangan suatu perangkat lunak (software), yang bertujuan untuk mengembangkan system dan memberikan panduan untuk menyuseskan proyek pengembangan system melalui tahapan-tahapan tertentu. Dalam prosesnya, terdapat beberapa paradigma model pengembangan sistem perangkat lunak, diantaranya : 1. Model Waterfall 2. Model Prototype 3. Model RAD 4. Model Evolutionary Development a. Model Incremental b. Model Spiral / Model Boehm 5. Model Agile 6. Model Scrum Masing-masing metode memiliki definisi, kelebihan dan kekurangan masing-masing. Tetapi, pada makalah ini hanya metode Waterfall, metode Incremental dan metode Evolutionary. 2.2. Model Waterfall Model Sekuensial Linear atau sering disebut Model Pengembangan Air Terjun (Waterfall), merupakan paradigma model pengembangan perangkat lunak paling tua, dan paling banyak dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekunsial yang dimulai dari tahap kebutuhan system lalu menuju ke tahap analisis, desain, coding, testing/verification, dan maintenance. Langkah demi Langkah yang dilalui harus diselesaikan satu per satu (tidak dapat meloncat ke tahap berikutnya) dan berjalan secara berurutan, oleh karena itu di sebut waterfall (Air Terjun). 6 Dalam metode ini, jika tahapan 1 belum selesai, maka tahapan 2 tidak bisa berjalan, begitupun seterusnya. Semua tahapan saling berkaitan dan masing-masing harus dikerjakan secara detail dan terdokumentasi. Metode waterfall mengharuskan setiap spesifikasi, persyaratan dan tujuan sistem terdefinisikan secara detail di tahap awal (requirement & design) sebelum masuk pada proses pengerjaan (implementasi). Ini dikarenakan metode waterfall tidak mengakomodir perubahan di tengah proses pengembangan. Jadi apa yang telah disepakati bersama oleh tim analis dan klien di tahap awal, itulah yang akan menjadi hasil akhir. Semuanya harus mematuhi dan konsisten terhadap hal tersebut sampai aplikasi selesai dan diserahkan pada pihak klien. Pihak klien sendiri tidak bisa melakukan ‘intervensi’ pada para programmer, ini berbeda dengan beberapa model pengembangan lain yang memungkinkan keduanya berkomunikasi untuk menentukan atau merevisi pekerjaan di tahap peng-codingan. Jenis Metode air terjun ini umumnya digunakan pada proyek pembuatan sistem besar dengan kompleksitas tinggi serta membutuhkan sumber daya manusia yang banyak dalam pembangunannya. Ian Sommerville (2011) menjelaskan bahwa ada lima tahapan pada Metode Waterfall, yakni : 1. Requirements Analysis and Definition 2. System and Software Design 3. Implementation and Unit Testing 4. Integration and System Testing 5. Operation and Maintenance 7 Menurut Pressman (2015:42), model waterfall adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Nama model ini sebenarnya adalah “Linear Sequential Model”. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya. 2.2.1. Tahap-Tahap Model Waterfall Secara umum, tahapan penggunaan model waterfall sama, namun biasanya memiliki istilah berbeda tergantung pendapat ahli mana yang diikuti. Kesemuanya memiliki makna dan alur sama hanya berbeda dalam istilahnya saja. 2.2.2. Tahapan Model Waterfall Menurut Pressman (2015) 1. Communication (Project Initiation & Requirements Gathering) Sebelum memulai pekerjaan yang bersifat teknis, sangat diperlukan adanya komunikasi dengan customer demi memahami dan mencapai tujuan yang ingin dicapai. Hasil dari komunikasi tersebut adalah inisialisasi proyek seperti menganalisis permasalahan yang dihadapi dan mengumpulkan data-data yang diperlukan, serta membantu mendefinisikan fitur dan fungsi dari aplikasi. Pengumpulan 8 data-data tambahan bisa juga diambil dari jurnal, artikel, paper dan internet. 2. Planning (Estimating, Scheduling, Tracking) Tahap berikutnya adalah tahapan perencanaan yang menjelaskan tentang estimasi tugas-tugas teknis yang akan dilakukan, resiko-resiko yang dapat terjadi, sumber daya yang diperlukan dalam membuat sistem, produk kerja yang ingin dihasilkan, penjadwalan kerja yang akan dilaksanakan, dan tracking proses pengerjaan sistem. 3. Modelling (Analysis & Design) Tahapan ini adalah tahap perancangan dan pemodelan arsitektur sistem yang berfokus pada perancangan struktur data, arsitektur software, tampilan interface, dan algoritma program. Tujuannya untuk lebih memahami gambaran besar dari apa yang akan dikerjakan. 4. Construction (Code & Test) Tahapan ini merupakan proses penerjemahan bentuk desain menjadi kode atau bentuk bahasa yang dapat dibaca oleh mesin. Setelah pengkodean selesai, dilakukan pengujian terhadap sistem dan juga kode yang sudah dibuat. Tujuannya untuk menemukan kesalahan yang mungkin terjadi untuk nantinya diperbaiki. 5. Deployment (Delivery, Support, Feedback) Tahapan terakhir ini merupakan tahapan implementasi software ke customer, perbaikan software, evaluasi software, dan pengembangan software berdasarkan umpan balik yang diberikan agar sistem dapat tetap berjalan dan berkembang sesuai dengan fungsinya. 2.2.3. Tahapan Model Waterfall Menurut Ian Sommerville (2011, p30-31) 1. Requirement Analysis Sebelum melakukan pengembangan perangkat lunak, seorang pengembang harus mengetahui dan memahami bagaimana informasi kebutuhan penggguna terhadap sebuah perangkat lunak. Model pengumpulan informasi ini dapat diperoleh dengan berbagai macam cara diantaranya, diskusi, observasi, survei, wawancara, dan sebagainya. Informasi yang diperoleh kemudian diolah dan dianalisa sehingga didapatkan data atau informasi yang lengkap mengenai 9 spesifikasi kebutuhan pengguna akan perangkat lunak yang akan dikembangkan. 2. System and Software Design Informasi mengenai spesifikasi kebutuhan dari tahap Requirement Analysis selanjutnya di analisa pada tahap ini untuk kemudian diimplementasikan pada desain pengembangan. Perancangan desain dilakukan dengan tujuan membantu memberikan gambaran lengkap mengenai apa yang harus dikerjakan. Tahap ini juga akan membantu pengembang untuk menyiapkan kebutuhan hardware dalam pembuatan arsitektur sistem perangkat lunak yang akan dibuat secara keseluruhan. 3. Implementation and Unit Testing Tahap implementation and unit testing merupakan tahap pemrograman. Pembuatan perangkat lunak dibagi menjadi modulmodul kecil yang nantinya akan digabungkan dalam tahap berikutnya. Disamping itu, pada fase ini juga dilakukan pengujian dan pemeriksaan terhadap fungsionalitas modul yang sudah dibuat, apakah sudah memenuhi kriteria yang diinginkan atau belum. 4. Integration and System Testing Setelah seluruh unit atau modul yang dikembangkan dan diuji di tahap implementasi selanjutnya diintegrasikan dalam sistem secara keseluruhan. Setelah proses integrasi selesai, selanjutnya dilakukan pemeriksaan dan pengujian sistem secara keseluruhan untuk mengidentifikasi kemungkinan adanya kegagalan dan kesalahan sistem. 5. Operation and Maintenance Pada tahap terakhir dalam model Waterfall, perangkat lunak yang sudah jadi dioperasikan pengguna dan dilakukan pemeliharaan. Pemeliharaan memungkinkan pengembang untuk melakukan perbaikan atas kesalahan yang tidak terdeteksi pada tahap-tahap sebelumnya. Pemeliharaan meliputi perbaikan kesalaha, perabikan implementasi unit sistem, dan peningkatan dan penyesuaian sistem sesuai dengan kebutuhan. 10 2.2.4. Tahapan Model Waterfall Secara Umum 1. Requirement (Analisis Kebutuhan) Requirement adalah proses analisa atau pengumpulan data-data yang berkaitan dengan sistem yang akan dibuat. Pengumpulan data ini bisa dilakukan dengan wawancara, studi literatur, observasi atau penelitian langsung. Dalam fase ini tim analis akan menggali informasi sebanyakbanyaknya dari klien atau user tentang software apa yang mereka inginkan beserta dengan kebutuhan sistem lainnya. Hasil dari tahapan ini akan menghasilkan dokumen bernama “User Requirement Document” atau “User Requirement Specification” yang dalam bahasa Indonesia dikelan dokumen Spesifikasi kebutuhan user. Tahapan analisis kebutuhan (requirements) memiliki beragam istilah lain, diantaranya adalah system requirements, costumer requirement gathering, analysis ataupun analisa kebutuhan user. 2. Design System (Desain Sistem) Proses ini akan berfokus pada pembangunan struktur data, arsitekur perangkat lunak, perancangan interface, perancangan fungsi internal dan eksternal serta detail dari setiap algoritma prosedural. Tahapan design akan menghasilkan dokumen bernama “Sofware Requirement” yang nantinya menjadi landasan para programmer dalam membuat code-code aplikasi. 3. Implementasi (Pengerjaan) Tahap ini adalah tahapan pembuatan aplikasi oleh para programmer dengan menggunakan kode-kode bahasa pemrograman tertentu. Proses penulisan sinkode (coding) aplikasi mengacu pada dokumen-dokumen yang telah dibuat sebelumnya. Dalam dokumen tersebut biasanya terdapat pemecahan modulmodul sistem sehingga pengerjaan aplikasi dapat dilakukan oleh beberapa programmer sekaligus tanpa mengganggu sistem lain secara keseluruhan. Tahap implementasi disebut juga tahap code and debug, atau juga disebut tahapan integration and system testing. 11 4. Verification (Verifikasi) Tahapan verifikasi meliputi pengintegrasian sistem dan juga melakukan testing terhadap aplikasi yang telah dibuat. Sistem akan diverifikasi untuk diuji sejauh mana kelayakannya. Dalam tahapan ini semua modul yang dikerjakan oleh programmer berbeda akan digabungkan kemudian diuji apakah telah sesuai dengan spesifikasi yang ditetapkan atau terdapat kesalahan/error dalam sistem sebelum kemudian diperbaiki ulang. 5. Maintenance (Pemeliharaan) Tahapan ini umumnya meliputi tahapan penginstalasian perangkat lunak dan pengujian aplikasi. Maintenance juga adalah bentuk tanggung jawab tim pengembang untuk memastikan aplikasi dapat berjalan lancar setelah diserah-terima kan pada klien dalam periode waktu tertentu. Dalam definisi yang lebih luas, maintenance adalah proses memperbaiki aplikasi dari setiap error atau bug celah keamanan, peningkatan kinerja aplikasi, memastikan aplikasi dapat berjalan pada ruang lingkup baru dan juga penambahan modul-modul baru untuk pengembangan aplikasi. 2.2.5. Kelebihan & Kekurangan Model Waterfall Kelebihan Rangkaian kerja jelas. Kekurangan Membutuhkan tim dan manajemen yang solid. Berkomitmen pada tujuan akhir. Kurang flexible bagi klien. Dokumentasi yang baik. Waktu pembuatan software lebih lama. Hemat waktu dan biaya. Tidak bisa melihat gambaran sistem. Cocok untuk pembuatan software Kenaikan biaya dan tangal rilis. berskala besar. 12 2.3. Model Incremental Model Incremental merupakan hasil kombinasi elemen-elemen dari model waterfall yang diaplikasikan secara berulang, atau bisa disebut gabungan dari Model linear sekuensial (waterfall) dengan Model Prototype. Elemen-elemen tersebut dikerjakan hingga menghasilkan produk dengan spesifikasi tertentu kemudian proses dimulai dari awal kembali hingga muncul hasil yang spesifikasinya lebih lengkap dari sebelumnya dan tentunya memenuhi kebutuhan pemakai. Model ini berfokus pada penyampaian produk operasional dalam Setiap pertambahanya. Pertambahan awal ada di versi stripped down dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai. Model ini cocok dipakai untuk proyek kecil dengan anggota tim yang sedikit dan ketersediaan waktu yang terbatas. Pada proses Pengembangan dengan Model Incremental, perangkat lunak dibagi menjadi serangkaian increment yang dikembangkan secara bergantian. 2.3.1. Tahap-Tahap Pada Model Incremental 1. Requirement Proses penentuan kebutuhan atau analisis kebutuhan. 2. Specification Proses spesifikasi dimana menggunakan analisis kebutuhan sebagai acuannya. 13 3. Architecture Design Perancangan software yang terbuka agar dapat diterapkan sistem pembangunan per-bagian pada tahapan selanjutnya. 4. Code Melakukan koding. 5. Test Melakukan testing dalam model ini. 2.3.2. Kelebihan & Kekurangan Model Incremental Kelebihan Personil bekerja optimal. Kekurangan Tidak cocok untuk proyek berukuran besar (lebih dari 200.000 baris coding). Mampu mengakomodasi perubahan Sulit untuk memetakan kebutuhan secara fleksibel, dengan waktu yang pemakai ke dalam rencana spesifikasi relative singkat dan tidak dibutuhkan tiap-tiap hasil dari increment. anggota/tim kerja yang banyak untuk menjalankannya. Pihak konsumen dapat langsung Kemungkinan tiap bagian tidak dapat menggunakan dahulu bagian-bagian diintegrasikan. yang telah selesai dibangun. Contohnya pemasukan data karyawan. Mengurangi trauma karena perubahan Dapat menjadi build and Fix model, system. Klien didbiasakan perlahan- karena kemampuannya untuk selalu lahan menggunakan produknya setiap mendapat perubahan selama proses bagian demi bagian. rekayasa berlangsung. Memaksimalkan pengembalian model Membutuhkan waktu yang relative investasi konsumen. lama untuk menghasilkan produk yang lengkap. 14 2.4. Model Evolutionary Evolutionary Software Process Models adalah sebuah siklus atau tahapan dengan tujuan pengembangan atau evolusi perangkat lunak, dimana masing-masing dari setiap aktifitas saling terkoneksi untuk menentukan, membuat sebuah perancangan, serta implementasi maupun pengujian system perangkat lunak. Evolusi ini bersifat iterative/megandung perulangan. Hasil proses berupa produk yang makin lama making lengkap sampai versi terlengkap dihasilkan sebagai produk akhir dari proses. Model Evolutionary terbagi menjadi 2, yaitu : 1. Model Incremental 2. Model Spiral/Model Boehm 2.4.1. Model Incremental Telah dijelaskan pada pembahasan sebelumnya. 2.4.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. 15 2.4.3. Tahap-Tahap Model Spiral/Model Boehm 1. Tahap Liason Pada tahap ini dibangun komunikasi yang baik dengan calon pengguna/pemakai. 2. Tahap Planning (Perencanaan) Pada tahap ini ditentukan sumber-sumber informasi, batas waktu dan informasi-informasi yang dapat menjelaskan proyek. 3. Tahap Analisis Resiko Mendefinisikan resiko, menentukan apa saja yang menjadi resiko baik teknis maupun manajemen. 4. Tahap Rekayasa (Engineering) Pembuatan prototipe. 5. Tahap Konstruksi dan Pelepasan (release) Pada tahap ini dilakukan pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan diberikan sokongan-sokongan tambahan untuk keberhasilan proyek. 6. Tahap Evaluasi Pelanggan/pemakai/pengguna biasanya memberikan masukan berdasarkan hasil yang didapat dari tahap engineering dan instalasi. 2.4.4. Kelebihan & Kekurangan Model Spiral Kelebihan Kekurangan Sangat mempertimbangkan resiko Waktu yang dibutuhkan untuk kemungkinan munculnya kesalahan mengembangkan perangkat lunak cukup sehingga sangat dapat diandalkan untuk panjang demikian juga biaya yang besar. pengembangan perangkat lunak skala Selain itu, sangat tergantung kepada besar. Pendekatan model ini dilakukan tenaga ahli yang dapat memperkirakan melalui tahapan-tahapan yang sangat baik resiko. Terdapat pula kesulitan untuk dengan menggabungkan model waterfall mengontrol proses. Sampai saat ini, ditambah dengan pengulangan- karena masih relatif baru, belum ada pengulangan sehingga lebih realistis bukti apakah metode ini cukup handal untuk mencerminkan keadaan untuk diterapkan. sebenarnya. Baik pengembang maupun pemakai dapat cepat mengetahui letak 16 kekurangan dan kesalahan dari sistem karena proses-prosesnya dapat diamati dengan baik. 17 BAB III PENUTUP 3.1. Kesimpulan Proses Pengembangan Perangkat Lunak (Software Development Process) adalah suatu penerapan struktur pada pengembangan suatu perangkat lunak (software), yang bertujuan untuk mengembangkan system dan memberikan panduan untuk menyuseskan proyek pengembangan system melalui tahapan-tahapan tertentu. Model Waterfall, merupakan paradigma model pengembangan perangkat lunak paling tua, dan paling banyak dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekunsial yang dimulai dari tahap kebutuhan system lalu menuju ke tahap analisis, desain, coding, testing/verification, dan maintenance. Langkah demi Langkah yang dilalui harus diselesaikan satu per satu (tidak dapat meloncat ke tahap berikutnya) dan berjalan secara berurutan, oleh karena itu di sebut waterfall (Air Terjun). Model Incremental, merupakan hasil kombinasi elemen-elemen dari model waterfall yang diaplikasikan secara berulang, atau bisa disebut gabungan dari Model linear sekuensial (waterfall) dengan Model Prototype. Elemen-elemen tersebut dikerjakan hingga menghasilkan produk dengan spesifikasi tertentu kemudian proses dimulai dari awal kembali hingga muncul hasil yang spesifikasinya lebih lengkap dari sebelumnya dan tentunya memenuhi kebutuhan pemakai. Model Evolutionary, adalah sebuah siklus atau tahapan dengan tujuan pengembangan atau evolusi perangkat lunak, dimana masing-masing dari setiap aktifitas saling terkoneksi untuk menentukan, membuat sebuah perancangan, serta implementasi maupun pengujian system perangkat lunak. Evolusi ini bersifat iterative/megandung perulangan. Hasil proses berupa produk yang makin lama making lengkap sampai versi terlengkap dihasilkan sebagai produk akhir dari proses. Model Evolutionary terbagi menjadi 2, yaitu : 1. Model Incremental 2. Model Spiral/Model Boehm 18 DAFTAR PUSTAKA • https://salamadian.com/metode-pengembangan-perangkat-lunak/ • https://murtri.wordpress.com/2014/08/25/model-model-pengembangan-perangkatlunak-beserta-contoh-penerapannya/ • https://id.wikipedia.org/wiki/Proses_pengembangan_perangkat_lunak • https://ranahresearch.com/metode-waterfall/ • http://eprints.uny.ac.id/62678/2/BAB%20II.pdf • https://socs.binus.ac.id/2018/12/21/waterfall-model/ • https://sis.binus.ac.id/2019/07/02/software-development-model-incremental-model/ • https://wisbays.wordpress.com/2016/09/30/evolutionary-software-process-models/ 19