pertemuan 2 & 3 Model Model Pengembangan Perangkat Lunak.pptx

IifAlfiatunMukaromah 26 views 26 slides Sep 14, 2025
Slide 1
Slide 1 of 26
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26

About This Presentation

MPPL


Slide Content

MODEL PENGEMBANGAN PERAGKAT LUNAK

Apa Saja Yang di Bahas? Perencanaan Perangkat Lunak Model Pengembangan Perangkat Lunak Perbandingan Model PPL Penggunaan Model Sesuai Konteks Proyek

Perencanaan Perangkat Lunak Tujuan Perencanaan Proyek ( menyediakan sebuah kerangka kerja yang memungkinkan manajer membuat estimasi yang dapat dipertanggung jawabkan mengenai sumber daya , biaya dan jadwal ) Teknik Pengumpulan data ( wawancara , teknik observasi dan Kuisioner ) Ruang Lingkup Perangkat Lunak ( Fungsi , kinerja , batasan , interface dan reliabilitas ) Estimasi Proyek Perangkat Lunak ( manusia , teknik , lingkungan dan politik )

Model SDLC (Software Development Life Cycle) Proses Pengembangan perangkat lunak yang dirancang untuk berjalan secara sistematis sehingga dapat menghasilkan perangkat lunak yang berkualitas .

Waterfall Model Pendekatan klasik dalam pengembangan perangkat lunak yang menggambarkan metode pengembangan linier dan berurutan . Waterfall memiliki 5 sampai dengan 6 fase . Requirement Gathering dan Analisis : mengumpulkan kebutuhan kemudian menganalisis dan didefinisan kebutuhan Design: Pengembang akan menghasilakan sebuah system secara keseluruhan dan menentukan alur pelangkat lunak hingga algoritma yang detail Implementasi:pengkodingan Integration dan Testing: penggabungan modul-modul yang sudah dibuat dan dilakukan pengujian ini Verifikasi : klien atau user menguji apaka system tersebut telah sesuai Operation and Maintenance= instalasi dan proses perbaikan

Waterfall Model

Kelebihan dan kekurangan waterfall model ✅ Kelebihan : Proses sistematis dan terstruktur . Dokumentasi lengkap di setiap tahap . Cocok untuk proyek dengan kebutuhan tetap dan jelas . Mudah dikelola karena fase dilakukan secara bertahap . ❌ Kekurangan : Sulit beradaptasi jika terjadi perubahan kebutuhan . Tidak cocok untuk proyek kompleks dan dinamis . Umpan balik dari pengguna datang terlambat ( setelah implementasi ).

Contoh Kasus Penggunaan Model Waterfall: Proyek : Sistem Informasi Akademik untuk Universitas Requirement ( Analisis Kebutuhan ) Tim analis dan klien ( universitas ) mendefinisikan kebutuhan sistem : Sistem harus menyimpan data mahasiswa , dosen , dan mata kuliah . Harus bisa melakukan input nilai , cetak KHS, jadwal , dan KRS online. Tidak ada perubahan kebutuhan di tengah jalan ( karena ini model waterfall). System Design ( Desain Sistem ) Tim membuat desain database (ERD), arsitektur sistem , dan antarmuka pengguna . Spesifikasi teknis dipersiapkan sepenuhnya sebelum proses coding dimulai . Implementation ( Pengembangan ) Developer mulai menulis kode berdasarkan dokumen desain . Modul seperti login, input nilai , dan pencetakan KHS dikembangkan satu per satu . Testing ( Pengujian ) Setelah semua modul selesai , dilakukan uji sistem secara menyeluruh . Jika ada bug, diperbaiki , tetapi tidak mengubah requirement awal . Deployment ( Penerapan ) Sistem diinstal di server universitas dan mulai digunakan oleh staf dan mahasiswa . Maintenance ( Pemeliharaan ) Tim IT melakukan maintenance berkala (backup, monitoring server, perbaikan bug kecil ).

Prototype Salah satu model pengembangan perangkat lunak di mana prototipe ( versi awal / sederhana ) dari perangkat lunak dibuat terlebih dahulu untuk menunjukkan fungsionalitas dasar kepada pengguna . Tujuannya adalah untuk membantu pengguna memahami sistem yang akan dikembangkan , sehingga mereka bisa memberikan umpan balik sebelum sistem akhir dibangun sepenuhnya . Pengumpulan Kebutuhan Awal (Initial Requirement Gathering) Tim mengidentifikasi kebutuhan dasar dari pengguna . Desain Cepat (Quick Design) Dibuat rancangan awal antarmuka dan fungsionalitas sistem ( sederhana ). Pembuatan Prototipe (Build Prototype) Prototipe dibangun berdasarkan desain cepat . Biasanya hanya fitur utama yang dikembangkan . Evaluasi Pengguna (User Evaluation) Pengguna mencoba prototipe dan memberikan masukan / umpan balik . Perbaikan Prototipe (Refinement) Prototipe diperbaiki berdasarkan feedback, lalu diuji ulang oleh pengguna . Pengembangan Sistem Final (Engineering Product) Setelah kebutuhan jelas , sistem akhir dikembangkan secara penuh . Pengujian & Pemeliharaan Sistem diuji dan dipelihara seperti bia

Prototype No Kelebihan 1 Kebutuhan lebih jelas berkat umpan balik awal dari pengguna. 2 Mengurangi risiko kesalahan desain. 3 Pengguna lebih terlibat dalam proses pengembangan . 4 Lebih cepat mendeteksi masalah sebelum sistem akhir dibuat. 5 Cocok untuk sistem dengan antarmuka pengguna (UI/UX) yang kompleks . No Kekurangan 1 Biaya bisa meningkat karena iterasi berulang. 2 Waktu bisa bertambah jika terlalu banyak perubahan dari feedback. 3 Pengguna bisa salah paham , mengira prototipe adalah produk final. 4 Dokumentasi bisa kurang lengkap , karena fokus pada pengembangan cepat. 5 Tidak cocok untuk proyek dengan kebutuhan yang sudah jelas sejak awal .

Contoh Kasus Penggunaan Aplikasi mobile baru dengan fokus utama pada UI/UX . Sistem internal perusahaan di mana pengguna belum yakin dengan alur yang diinginkan . Sistem dengan proses bisnis baru yang belum pernah diotomatisasi

Contoh Penerapannya : Pengumpulan Kebutuhan Awal Dosen & staf akademik memberi gambaran umum : “Kami ingin sistem untuk input nilai , lihat KHS, dan jadwal kuliah .” Pembuatan Prototipe Tim IT membuat mockup sederhana ( misalnya dengan Figma atau HTML statis ): Halaman login, dashboard mahasiswa , form input nilai . Evaluasi oleh Pengguna Staf akademik menguji prototipe dan memberikan masukan : “ Tombol input nilai terlalu kecil .” “ Mahasiswa juga harus bisa lihat riwayat KRS lama.” Perbaikan & Iterasi Tim merevisi desain dan menambah fitur baru . Siklus ini bisa terjadi beberapa kali hingga pengguna puas . Pengembangan Sistem Final Setelah desain dan fitur disepakati , tim mulai membuat sistem final berdasarkan prototipe yang telah disetujui . Implementasi & Pemeliharaan Sistem diimplementasikan secara penuh dan digunakan oleh universitas . Masuk ke fase maintenance.

Spiral Model Model ini menggunakan pendekatan iteratif ( berulang ) , di mana pengembangan dilakukan dalam beberapa putaran (spiral) . Setiap putaran mencakup tahapan yang sama , dan hasil dari satu spiral akan menjadi dasar untuk spiral berikutnya . Setiap putaran spiral terdiri dari 4 fase utama : Perencanaan (Planning) Menentukan tujuan proyek , kebutuhan sistem , strategi pengembangan , dan sumber daya yang dibutuhkan . Analisis Risiko (Risk Analysis) Mengidentifikasi dan mengevaluasi risiko potensial ( teknis , finansial , operasional ), dan mencari solusi atau strategi mitigasi . Pengembangan dan Pengujian (Engineering) Merancang , mengimplementasikan , dan menguji produk ( bisa berupa prototipe atau bagian dari sistem akhir ). Evaluasi dan Umpan Balik (Evaluation) Klien mengevaluasi hasil dan memberikan umpan balik . Jika disetujui , spiral berikutnya dimulai dengan peningkatan dari tahap sebelumnya .

No Kelebihan 1 Fokus pada manajemen risiko , cocok untuk proyek kompleks dan berisiko tinggi. 2 Fleksibel terhadap perubahan kebutuhan. 3 Kombinasi keunggulan dari Waterfall + Prototyping . 4 Cocok untuk proyek jangka panjang dengan banyak fase. 5 Memberikan umpan balik berkelanjutan dari pengguna . No Kekurangan 1 Biaya tinggi , karena proses analisis risiko dan evaluasi berulang. 2 Kompleks dan sulit dikelola untuk proyek kecil. 3 Membutuhkan ahli manajemen risiko , tidak semua tim memilikinya. 4 Tidak cocok untuk proyek dengan waktu dan anggaran terbatas .

Contoh Kasus Penggunaan Pengembangan perangkat lunak militer atau penerbangan , yang sangat kompleks dan kritis . Proyek sistem informasi besar , seperti ERP (Enterprise Resource Planning) . Aplikasi skala besar dengan tingkat ketidakpastian tinggi di awal .

Model Spiral Diterapkan pada Studi Kasus Proyek : Sistem Informasi Akademik untuk Universitas Perencanaan (Planning ) Analisis Risiko (Risk Analysis ) Pengembangan dan Pengujian (Engineering ) Desain awal antarmuka pengguna (dashboard mahasiswa / dosen , form input nilai ). Buat prototipe fungsional dari modul login & input KRS. Implementasi awal : Login → KRS → KHS → Nilai → Jadwal . Lakukan pengujian unit & integrasi untuk tiap modul . Evaluasi dan Umpan Balik (Evaluation ) Klien ( bagian akademik & dosen ) mencoba sistem login + KRS. Mengumpulkan umpan balik : “KRS perlu fitur drag-and-drop”, “ Tampilan jadwal terlalu rumit ”, “ Butuh notifikasi jika kelas bentrok .” Hasil dievaluasi dan disetujui sebagian . Tim menyusun rencana untuk spiral berikutnya : Perbaikan UI. Penambahan notifikasi . Pengujian beban sistem dengan data dummy besar . Lanjut ke Spiral Berikutnya Ulangi kembali siklus dengan peningkatan dari versi sebelumnya , hingga sistem lengkap dan siap diimplementasikan secara penuh .

Ringkasan Tabel Perbandingan Model Kelebihan Kekurangan Cocok untuk proyek Waterfall Struktur jelas , mudah dikontrol Tidak fleksibel terhadap perubahan Proyek stabil, regulasi tinggi Prototype Feedback cepat, cocok untuk UI Bisa disalahpahami sebagai produk final Proyek dengan kebutuhan belum jelas Spiral Manajemen risiko, fleksibel Mahal, rumit Proyek besar dan berisiko tinggi RAD Cepat, iteratif, user-involved Perlu tim ahli, tidak cocok untuk sistem besar Proyek cepat , aplikasi startup

RAD (Rapid Application Development ) RAD (Rapid Application Development) adalah metode pengembangan perangkat lunak yang menekankan kecepatan dan iterasi cepat dalam siklus hidup pengembangan . Metode ini cocok untuk proyek yang membutuhkan pengembangan cepat dan perubahan yang sering sesuai kebutuhan pengguna . Ada 4 langkah RAD yang harus dilalui pengembang saat mengembangkan aplikasi . Mendefinisikan Kebutuhan Proyek : menentukan kebutuhan yang harus dipenuhi dari sebuah proyek . Ini tidak perlu spesifik . Namun , mereka sangat umum dan bisa banyak . Dari situ, tim akan menentukan kebutuhan mana yang perlu diprioritaskan Membuat Prototype: Pengembang akan membuat prototipe aplikasi yang diinginkan sesegera mungkin . Lengkap dengan berbagai fitur dan fungsi . Rapid Construction dan Feedback: pengembang mengubah prototipe menjadi versi beta aplikasi hingga selesai . Sehingga dapat dikatakan bahwa periode RAD ini cukup intens . Pengembang terus-menerus mengkodekan aplikasi , menguji sistem , dan berintegrasi dengan pihak lain. Implementasi dan Finalisasi Produk : memperbaiki kekurangan yang mungkin timbul selama pengembangan aplikasi .

Kelebihan Rapid Application Development atau RAD Persyaratan aplikasi dapat berubah sewaktu-waktu Aplikasi dikembangkan berdasarkan kebutuhan dan keinginan pengguna . Meminimalkan kemungkinan kesalahan dan hal buruk lainnya . Waktu pengembangan aplikasi bisa lebih cepat dan efisien . Mempermudah proses integrasi Kelemahan Rapid Application Development atau RAD Membutuhkan tim dengan keterampilan teknis yang baik . Membutuhkan kerjasama tim yang kuat . Hanya cocok untuk proyek jangka pendek . Hanya cocok untuk mengembangkan aplikasi secara modular ( fokus pada fitur untuk menjadikannya modul terpisah ). Sulit diimplementasikan untuk mengembangkan aplikasi besar .

Model Agile Model pengembangan perangkat lunak Agile adalah pendekatan yang berfokus pada iterasi , kolaborasi tim , keterlibatan pengguna secara aktif , dan kemampuan beradaptasi terhadap perubahan . Berbeda dengan model tradisional seperti Waterfall yang bersifat linear dan kaku , Agile menekankan pada proses inkremental dan iteratif dalam pengembangan perangkat lunak . Prinsip Dasar Agile ( berdasarkan Agile Manifesto): Individu dan interaksi lebih penting daripada proses dan alat . Perangkat lunak yang berfungsi lebih penting daripada dokumentasi yang lengkap . Kolaborasi dengan pelanggan lebih penting daripada negosiasi kontrak . Merespons perubahan lebih penting daripada mengikuti rencana .

Siklus Pengembangan Agile ( Umum ) Perencanaan Produk : Menentukan fitur / fitur prioritas dalam product backlog . Perencanaan Iterasi (Sprint Planning) : Menentukan tugas untuk satu siklus sprint. Desain & Pengembangan : Tim mengerjakan fitur yang diprioritaskan . Pengujian : Unit test, integration test, dll . dilakukan terus-menerus . Review & Retrospective : Evaluasi hasil sprint dan proses kerja tim. Rilis & Umpan Balik Pengguna : Produk diuji pengguna , lalu siklus diulang berdasarkan masukan .

Keuntungan Agile: Adaptif terhadap perubahan kebutuhan . Kolaborasi tim dan klien yang intensif . Waktu ke pasar lebih cepat (fast time to market). Kualitas perangkat lunak lebih tinggi melalui pengujian berkelanjutan . Tantangan Agile: Membutuhkan komitmen tinggi dari tim dan klien . Sulit diterapkan pada tim besar tanpa manajemen yang matang . Risiko kehilangan dokumentasi jika tidak diseimbangkan dengan baik .
Tags