MAKALAH REKAYASA PERANGKAT LUNAK (RPL) PROSES PENGEMBANGAN SOFTWARE (MODEL WATERFALL, SPIRAL, DAN RATIONAL UNIFIED PROCESS) Dosen Pembimbing: Imam Rofi'i, S.Kom, M.Kom Oleh: Sitti Zuhra (8040180134) 07PS5 SISTEM INFORMASI UNIVERSITAS DINAMIKA BANGSA JAMBI 2020 BAB I PENDAHULUAN A. Latar Belakang Pada era teknologi yang sedang terjadi saat ini terjadi banyak pembaharuanpembaharuan dari system yang telah ada maupun munculnya system yang baru.Dalam perancangan sistem ada beberapa hal yang sangat membatasi berkembangnyasebuah sistemdiperlukan cosr atau pengeluaran yang besar, serta sumber daya yangterbatas memaksa perancag sistem berpikir keras agar input dan output dari sistemtersebut seimbang oleh karena itu diperlukan permodelan dalam perancangan sebuahsistem dimana berguna sebagai evisiensi dari sumber daya yang ada sehingga tidakada pemborosan.Permodelan dalam perancangan sebuah sistem adalah cara- cara tau tahapantahapan yang dikenalkan yang nantinya berguna sebagai panutan atau landasan dalampembuatan sistem. Kelebihan penggunaan permodelan dalam pembuatan suatu sistemdiantaranya meningkatkan evisiensi serta keefektifan perancang dalam membuatranncangan serta perancang dapat menyesuaikan besarnya sumber daya dengansistem yang akan dibuat. Selain itu permodelan perancangan juga memberikanpenekanan atau penghematan terhadap cost yang akan dikeluarkan. Hal baik lainnyasistem dapat berjalan lebih baik dan terstuktur serta tentunya berjalan lebih efisien B. Rumusan Masalah Adapun rumusan masalah pada makalah ini, yaitu: 1. Mengetahui hal-hal terkait model waterfall 2. Mengetahui hal-hal terkait model spiral 3. Mengetahui hal-hal terkait model RUP (Rational Unified Process) BAB I PEMBAHASAN A. Model Waterfall Model rekayasa piranti lunak yang diuraikan oleh Roger S. Pressman (1992: 24) salah satunya adalah waterfall model. Model ini memberikan pendekatan-pendekatan sistematis dan berurutan bagi pengembangan piranti lunak. Model waterfall atau sering kali disebut sebagai classic life cycle adalah model pengembangan perangkat lunak yang menekankan fase-fase yang berurutan dan sistematis, dimulai dari spesifikasi kebutuhan konsumen dan berkembang melalui proses perencanaan (planning), pemodelan (modelling), pembangunan (construction), dan penyebaran (deployment), yang berujung pada dukungan terus menerus untuk sebuah perangkat lunak yang utuh. Model ini dapat digunakan pada saat kebutuhan untuk sebuah masalah telah dipahami dengan baik, dan pekerjaan dapat mengalir secara linear dari proses komunikasi hingga penyebaran (deployment). Situasi ini ditemui saat adaptasi atau perpanjangan dari sistem yang ada sudah terdefinisi dengan baik. Adapun model ini juga dapat digunakan pada situasi di mana dibutuhkan usaha yang terbatas untuk pengembangan perangkat lunak, namun kebutuhan perangkat lunak sudah terdefinisi dengan baik dan cenderung stabil. Namun, dalam pengembangan perangkat lunak, model ini cenderung menjadi salah satu pendekatan yang kurang iteratif dan fleksibel, karena proses mengalir satu arah ("ke bawah" seperti waterfall). 1. Manfaat Model Waterfall Selain karena pengaplikasian menggunakan model ini mudah kelebihan dari model ini adalah ketikasemua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan benar di awal project maka SE dapat berjalan dengan baik dan tanpa masalah. Meskipun seringkali kebutuhan sistem tidak dapat didefinisikan seeksplisit yang diinginkan, tetapi paling tidak problem pada kebutuhan sistem di awal project lebih ekonomis dalam hal uang & lebih murah (usaha dan waktu yang terbuang lebih sedikit jika dibandingkan problem yang muncul pada tahap-tahap selanjutnya. Keunggulan Model pendekatan pengembangan software metode waterfall adalah pencerminan kepraktisan rekayasa , yang bisa membuat kualitas software tetap terjaga. Jenis model yang bersifat lengkap sehingga proses pemeliharaan nya lebih mudah. 2. Sifat dan Karakteristik Model Waterfall Dalam model ini terdapat beberapa sifat-sifat yang menojol dan cenderung menjadi permasalahan pada model waterfall. Ketika problem muncul, maka proses berhenti karena tidak dapat menuju ke tahapan selanjutnya. Apabila terdapat kemungkinan problem tersebut muncul akibat kesalahan dari tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agar problem ini tidak muncul. Karena pendekatannya secara sequential, maka setiap tahap harus menunggu hasil dari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama, artinya bagian lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap sebelumnya. 3. Gambar Model Penjelasan dari Gambar Model: 1) Tahapan Analisis Tahapan analisis mengacu pada fenomena dan juga permasalahan yang terjadi, dan mengapa sebuah aplikasi sangat penting untuk dibuat dalam mengatasi masalah atau fenomena tersebut. Kemampuan analisis tidak tidak hanya dibebankan pada programmer saja, namun bisa juga dibebankan pada ahli ekonomi dan juga sosial politik. 2) Tahapan Desain Tahapan berikutnya adalah pembuatan desain dari sebuah sistem. Dalam tahapan ini, tidak hanya desain interface sistemnya saja yang dkembangkan, namun juga dikembangkan desain dari alur sistem tersebut, hingga bagaimana satu sistem tersebut bisa bekerja, mulai dari tampilan awal, fungsi-fungsi tombol, hingga ioutput yang akan dihasilkan nantinya. 3) Tahapan Pengkodean Pengkodean merupakan tahapan yang wajib dilakukan oleh mereka yang mengerti bahasa pemrograman, Untuk menjalankan desain sistem yang sudah dibuat, maka kemudian kode dan juga script akan dimasukkan ke dalam desain sistem tersebut, sehingga nantinya desain dari sistem tersebut bisa berjalan dengan lancar dan juga baik. 4) Tahapan Pengujian Setelah sistem selesai dilakukan pengkodean, maka sistem tersebut akan diuji sebelum dilemparkan ke dalam pasaran untuk digunakan oleh user. Dalam pengujian dilihat apakah sistem dapat bekerja dengan baik, tampilan interface sesuai harapan, dan semua fungsinya bisa digunakan dengan baik dan lancar. 5) Tahapan Supporting Tahapan supporting mengacu pada update – update dari sebuah sistem yang mungkin mengalami kerusakan, perbaikan terhadap sistem yang mengalami corrupt dan kerusakan, serta penambahan fitur – fitur baru pada sistem tersebut. Tahap supporting sangat ditentukan oleh kebutuhan dari user, dan apabila sebuah sistem memiliki support yang baik, maka sistem tersebut akan berkembang dengan sangat baik. 4. Kelebihan dan Kekurangan Model Sebagai sebuah metode dalam mengembangkan sistem, tentu saja metode waterfall memiliki beberapa kelemahan dan juga kelebihan. Berikut ini adalah beberapa kelebihan dari metode waterfall dalam mengembangkan sistem: Waktu yang dihabiskan di awal siklus pengembangan perangkat lunak dapat mengurangi biaya pada tahap selanjutnya. Misalnya, masalah yang ditemukan pada tahap awal (seperti spesifikasi kebutuhan) lebih murah untuk diperbaiki daripada bug yang sama yang ditemukan kemudian dalam proses (dengan faktor 50 hingga 200). Dalam praktik umum, model waterfall menghasilkan jadwal proyek dengan 20–40% dari waktu yang diinvestasikan untuk dua fase pertama, 30–40% dari waktu untuk pengkodean, dan sisanya didedikasikan untuk pengujian dan implementasi. Organisasi proyek yang sebenarnya perlu sangat terstruktur. Sebagian besar proyek menengah dan besar akan mencakup serangkaian prosedur dan kontrol terperinci, yang mengatur setiap proses pada proyek. Argumen lebih lanjut untuk model waterfall adalah bahwa ia menekankan pada dokumentasi (seperti dokumen kebutuhan dan dokumen desain) serta kode sumber. Dalam metodologi yang dirancang dan didokumentasikan secara kurang teliti, pengetahuan akan hilang jika anggota tim pergi sebelum proyek selesai, dan mungkin sulit bagi proyek untuk pulih dari kehilangan. Jika ada dokumen desain yang berfungsi penuh, maka anggota tim baru atau bahkan tim yang sama sekali baru harus dapat membiasakan diri dengan membaca dokumen. Model waterfall memberikan pendekatan terstruktur; model itu sendiri berkembang secara linier melalui fase-fase yang terpisah, mudah dimengerti dan dapat dijelaskan sehingga dengan demikian mudah dipahami; hal itu juga memberikan tonggak yang mudah diidentifikasi dalam proses pengembangan. Mungkin karena alasan inilah model waterfall digunakan sebagai contoh awal dari model pengembangan dalam banyak teks dan kursus rekayasa perangkat lunak. Berikut ini adalah beberapa kelebihan dan juga kekurangan dari metode waterfall dalam mengembangkan sistem: Klien mungkin tidak tahu persis apa kebutuhan mereka sebelum mereka melihat perangkat lunak yang berfungsi dan karenanya mengubah kebutuhan mereka, yang mengarah ke pendesainan ulang, pengembangan kembali, dan pengujian ulang, dan peningkatan biaya. Desainer mungkin tidak menyadari kesulitan di masa depan ketika merancang produk atau fitur perangkat lunak baru, dalam hal ini lebih baik untuk merevisi desain daripada bertahan dalam desain yang tidak memperhitungkan kendala, kebutuhan, atau masalah yang baru ditemukan. Organisasi dapat berupaya untuk mengatasi kurangnya kebutuhan konkret dari klien dengan menggunakan analis sistem untuk memeriksa sistem manual yang ada dan menganalisis apa yang mereka lakukan dan bagaimana mereka dapat diganti. Namun, dalam praktiknya, sulit untuk mempertahankan pemisahan yang ketat antara analisis dan pemrograman sistem B. Model Spiral Model spiral adalah generator model proses berbasis risiko yang digunakan untuk memandu rekayasa perangkat lunak bersama berbagai pemangku kepentingan dari sistem intensif. Model ini memiliki dua fitur pembeda utama. Salah satunya adalah pendekatan siklis untuk menumbuhkan tingkat definisi dan implementasi sistem secara bertahap sambil mengurangi tingkat risikonya. Yang lainnya adalah serangkaian tonggak jangkar poin untuk memastikan komitmen pemangku kepentingan untuk solusi sistem yang layak dan saling memuaskan. Model spiral awalnya diusulkan oleh Barry Boehm, model spiral adalah model proses perangkat lunak evolusioner yang memadukan sifat iteratif dari prototyping dengan aspek terkontrol dan sistematis dari model waterfall. Hal ini memberikan potensi untuk pengembangan versi perangkat lunak yang semakin lengkap. 1. Manfaat Manfaat model spiral adalah untuk melakukan perubahan, penambahan dan pengembangan perangkat lunak dengan memaksimalkan aspek kecepatan dan ketepatan berdasarkan keinginan dan kebutuhan penggunanya. 2. Sifat dan Karakteristik Karakteristik Spiral model adalah penggabungan antara prototyping model dan waterfall model , metode iterasi yang ada pada prototyping model dan tahap sistematis yang digunakan dalam waterfall model digabungkan menjadi satu sehingga menciptakan model baru. 3. Gambar dan Penjelasan Model 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. 3. Tahap analisis risiko 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. 4. Tahapan rekayasa (engineering) Pada tahap rekayasa, beberapa kegiatan ini yang akan dilakukan, yaitu: Menguji, coding dan mengembangkan software Menginstal software Membuat prototype Mendesain dokumen Meringkas suatu pengujian software Membuat laporan atas kekurangan dari software agar segera diperbaiki 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). 4. Kelebihan dan Kekurangan Kelebihan dalam menggunakan model spiral : 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 Kekurangan dalam menggunakan model spiral : 1. Tidak cocok dan sulit diimplementasikan dalam projek kecil 2. Memakan waktu yang cukup lama 3. Membutuhkan best practice atau pengalaman sebelumnya karena proses yang sangat kompleks 4. Resiko dalam tahap planning cukup besar. Misalnya terjadi perbedaan dalam jadwal pengembangan dan anggaran belanja. C. Model Rational Unified Process (RUP) Rational Unified Process (RUP) adalah kerangka kerja proses pengembangan perangkat lunak yang diciptakan oleh Rational Software Corporation. RUP menyediakan panduan pandunan, template, dan contoh semua aspek dari tahapan pengembangan sistem informasi. 1. Manfaat Menyediakan petunjuk untuk pengefesian pengembangan dari kualitas perangkat lunak. Mengurangi risiko Menangkap dan menghasilkan latihan terbaik Mempromosilkan kultur dan visi umum. Menyediakan roadmap untuk penggunakan tools bantuan. Memiliki kemampuan yang mengembangkan komponen-komponen yang dapat digunakan kembali untuk pengembangan aplikasi lainnya. [Falitate Raute] Mengatur dan mengontrol semua proses dalam setiap tahapan yang ada sehingga suatu pengembangan perangkat lunak yang kompleks dapat dilakukan dengan aman sesuai dengan harapan pengguna [Manage Complexity] Perubahan yang teralokasi dan masalah dapat dengan mudah terdeteksi sehingga biaya pemeliharaan dapat ditekan sekecil mungkin [Lower Maintenece cost]. Tentunya menghasilkan perangkat lunak yang berkualitas karena telah teruji. 2. Sifat dan Karakteristik Menurut Lee Osterwei: proses perangkat lunak juga termasuk perangkat lunak. Rational Unified Process membagi banyak karakteristik dengan produk perangkat lunak, antara lain : Rational Software mengeluarkan upgrade regular Rational Sofware Process dikirimkan secara online, oleh karena itu sangat cepat untuk berada di tangan pengembang. Rational Unified Process bisa diperbaiki dan dikonfigurasi sesuai dengan kebutuhan organisasi pengembang. Ratioanan Unified Process bisa diintegrasikan dengan tools pengembang software sesuai dengan kebutuhan rasional sehingga pengembang dengan mudah dapat mengakses petunjuk proses sesuai dengan tools pengembang yang digunakannya. 3. Gambar dan Penjelasan Model Inception - merupakan tahap untuk mengidentifikasi sistem yang akan dikembangkan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup analisis sistem existing, perumusan sistem target, penentuan arsitektur global target, identifikasi kebutuhan, perumusan persyaratan (fungsional, performansi, keamanan, GUI, dll), perumusan kebutuhan pengujian (level unit, integrasi, sistem, performansi, fungsionalitas, keamanan, dll), UML diagram, dan pembuatan dokumentasi. Elaboration - Elaboration merupakan tahap untuk melakukan desain secara lengkap berdasarkan hasil analisis pada tahap inception. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pembuatan desain arsitektur subsistem (architecture pattern), desain komponen sistem, desain format data (protokol komunikasi), desain database, desain user interface, pemodelan diagram UML (diagram sequence, class, component, deployment, dll.), dan pembuatan dokumentasi Construction - Construction merupakan tahap untuk mengimplementasikan hasil desain dan melakukan pengujian hasil implementasi. Pada tahap awal construction, ada baiknya dilakukan pemeriksaan ulang hasil analisis dan desain, terutama desain pada sequence diagram, class diagram, component dan deployment. Apabila desain yang dibuat telah sesuai dengan analisis sistem, maka implementasi dengan bahasa pemrogramanan tertentu dapat dilakukan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pengujian hasil analisis dan desain, pendataan kebutuhan implementasi lengkap (berpedoman pada identifikasi kebutuhan di tahap analisis), penentuan coding pattern yang digunakan, pembuatan program, pengujian, optimasi program, pendataan berbagai kemungkinan pengembangan atau perbaikan lebih lanjut, dan pembuatan dokumentasi. Transition - Transition merupakan tahap untuk menyerahkan sistem aplikasi kepada user (roll-out), yang umumnya mencakup pelatihan dan beta testing aplikasi 4. Kelebihan dan Kekurangan Kelebihan dari RUP: Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim. Menyediakan petunjuk bagaimana menggunakan UML secara efektif. Mendukung proses pengulangan dalam pengembangan software. Memungkinkan adanya penambahan-penambahan pada proses. Memungkinkan untuk secara sistematis mengontrol perubahan- perubahan yang terjadi pada software selama proses pengembangannya. Kekurangan dari RUP: Metodologi ini hanya dapat digunakan pada pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada UML (Unified Modeling Language). Membutuhkan waktu yang cukup lama dibandingkan XP dan Scrum. BAB III PENUTUP Metode-metode rekayasa perangkat lunak merupakan metode yang memberikan teknik untuk membangun perangkat lunak . metode-metode itu menyangkut serangkaian tugas yang luas yang menyangkut analisis kebutuhan, kontruksi program, desain, pengujian, dan pemeliharaan bedasarkan buku Roger S. Pressman (2002) yang berjudul Rekayasa Perangkat Lunak. Proses pengembangan perangkat lunak adalah perekat yang menjaga bentangan-bentangan teknologi secara bersama-sama dan memungkinkan perkembangan perangkat lunak komputer yang tepat waktu dan rasional. Dapat mengetahui metode-metode pengembangan perangakat lunak berdasarkan kelebihan dan kekurangan nya. Adapun beberapa model dari proses pengembangan perangkat lunak, yaitu: 1. 2. 3. Model Waterfall adalah model pengembangan perangkat lunak yang menekankan fasefase yang berurutan dan sistematis Model Spiral adalah generator model proses berbasis risiko yang digunakan untuk memandu rekayasa perangkat lunak bersama berbagai pemangku kepentingan dari sistem intensif Model Rational Unified Process (RUP) adalah kerangka kerja proses pengembangan perangkat lunak yang diciptakan oleh Rational Software Corporation DAFTAR PUSTAKA https://id.wikipedia.org/wiki/Model_waterfall https://id.wikipedia.org/wiki/Model_Spiral https://www.dictio.id/t/apa-yang-dimaksud-dengan-model-spiral-dalampengembangan-perangkat-lunak/15028 https://sis.binus.ac.id/2019/04/29/pengembangan-sistem-spiralmodel/#:~:text=Kelebihan%20dalam%20menggunakan%20model%20spiral%20%3A &text=Mudah%20dalam%20mengestimasi%20biaya%20karena,Produksi%20softwar e%20bisa%20terjadi%20lebih https://binus.ac.id/malang/2020/07/rational-unified-process/ http://www.sistem-informasi.xyz/2017/05/pengertian-rational-unified-processrup_1.html