Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore BAHAN AJAR RPL - PT2

BAHAN AJAR RPL - PT2

Published by ari santoso, 2021-09-25 06:30:16

Description: BAHAN AJAR RPL - PT2

Search

Read the Text Version

BAB 2 KEBUTUHAN PERANGKAT LUNAK I. Pendahuluan A. Deskripsi singkat, manfaat dan relevan Pada pertemuan kali ini akan membahas tentang kebutuhan perangkat lunak, dimana mahasiswa akan mempelajari tentang Rekayasa Kebutuhan, Jenis-Jenis Kebutuhan, Kegiatan Rekayasa Kebutuhan, Kebutuhan Fungsional dan Non Fungsional. Manfaat yang didapat setelah mempelajari bab ini mahasiswa dapat menjelaskan keberhasilan dalam pembuatan sebuah perangkat lunak terletak pada keberhasilan mendefinisikan kebutuhan yang paling tepat untuk pengguna perangkat lunak tersebut. Identifikasi kebutuhan meliputi juga proses penentuan ruang lingkup (scope) pengembangan perangkat lunak (termasuk sasaran/tujuan dikembangkannya perangkat lunak, karakteristika pengguna dan output yang diharapkan dari perangkat lunak tersebut), dan identifikasi kebutuhan fungsional ataupun non fungsional. B. Rumusan capaian pembelajaran matakuliah Mampu menganalisis sistem dan kebutuhan sistem dalam membuat dan mengembangkan perangkat lunak. Kebutuhan fungsional dan non-fungsional dalam mengembangkan perangkat lunak secara mandiri dan kelompok yang bermutu dan terukur. C. Urutan bahasan dan kaitan materi 1. Rekayasa Kebutuhan 2. Jenis-Jenis Kebutuhan 3. Kegiatan Rekayasa Kebutuhan 4. Kebutuhan Fungsional dan Non Fungsional 5. Post Test Latihan Soal dan Tugas Mandiri Pertemuan 2 D. Petunjuk belajar Mari kita membaca petunjuk belajar terlebih dahulu untuk mempermudah materi pertemuan 2 mengenai : a) Berdoalah sebelum memulai pembelajaran b) Bacalah kemampuan akhir tiap tahapan belajar (sub-cpmk), indikator, kriteria dan teknik, bentuk pembelajaran, metode pembelajaran, penugasan mahasiswa dan materi pembelajaran dengan cermat. c) Baca dan pelajari setiap materi yang ada, bila perlu di garis bawahi hal-hal yang menurut anda penting. d) Mahasiswa dapat belajar secara mandiri ataupun berkelompok, saat pertemuan kuliah yang dilakukan secara daring dengan memanfaatkan fasilitas ecampus Sekolah Tinggi Teknologi Informasi NIIT e) Jika belum memahami segera tanyakan kepada Bapak / Ibu dosen pengampu matakuliah. 1

II. Penyajian A. Rekayasa Kebutuhan Kebutuhan untuk suatu sistem adalah deskripsi tentang apa yang harus dilakukan oleh sistem berupa layanan yang diberikan dan kendala dalam operasinya. Kebutuhan ini mencerminkan kebutuhan pelanggan untuk sistem yang melayani tujuan tertentu seperti mengontrol perangkat, menempatkan pesanan, atau mencari informasi. Gambar 1. Kebutuhan Pelanggan Proses mencari tahu, menganalisis, mendokumentasikan serta memeriksa layanan dan kendala ini disebut Rekayasa Kebutuhan (Requirement Engineering). Rekayasa Kebutuhan harus disesuaikan dengan kebutuhan proses, proyek, produk, dan orang-orang yang melakukan pekerjaan. Gambar 2. Rekayasa Kebutuhan Rekayasa Kebutuhan harus disesuaikan dengan : 1. Kebutuhan proses : batasan-batasan mendasar pengembangan perangkat lunak 2. Proyek : adanya tim proyek seperti: Project manager, bisnis analis, developer 3. Produk : kebutuhan perangkat lunak yang akan dikembangkan dan orang- orang yang melakukan pekerjaan. 2

B. Jenis-Jenis Kebutuhan 1. Kebutuhan pengguna adalah pernyataan, dalam bahasa alami ditambah diagram, dari layanan apa yang diharapkan sistem untuk diberikan kepada pengguna sistem dan kendala di mana ia harus beroperasi. 2. Kebutuhan sistem adalah deskripsi yang lebih rinci tentang fungsi, layanan, dan kendala operasional sistem perangkat lunak. Dokumen Kebutuhan sistem (kadang-kadang disebut spesifikasi fungsional) harus mendefinisikan secara tepat apa yang akan diimplementasikan. Ini mungkin menjadi bagian dari kontrak antara pembeli sistem dan pengembang perangkat lunak. Bagian ini bisa terjadi saat kontrak antara pembeli sistem dengan pengembang perangkat lunak. Gambar 3. Dokumen kebutuhan sistem C. Kegiatan Rekayasa Kebutuhan Kegiatan pada rekayasa kebutuhan terdiri dari 7 tahapan sebagai berikut: 1. Pengenalan Permasalahan (Inception) 2. Pengenalan Lanjutan (Elicitation) 3. Elaborasi (Elaboration) 4. Negosiasi 5. Spesifikasi (Specification) 6. Validasi (Validation) 7. Manajemen Kebutuhan (Requirement Management) Gambar 4. Kegiatan Rekayasa Kebutuhan 3

a). Pengenalan Permasalahan (inception) Proyek Perangkat Lunak dimulai ketika kebutuhan bisnis atau pasar atau layanan baru telah diidentifikasi atau ditemukan. Menetapkan pemahaman dasar tentang masalah, siapa yang menginginkan solusi, sifat solusi, serta keefektifan komunikasi dan kolaborasi antara stakeholder dengan tim Perangkat Lunak. Gambar 5. Pengenalan Permasalahan proyek Perangkat Lunak Dalam beberapa pertanyaan yang sering di diskusikan: ✓ Siapa yang menginginkan solusi ? ✓ Siapa yang menginginkan sistem/program? ✓ Bagaimana Keefektifan dalam Komunikasi ? ✓ Bagaimana Kolaborasi antara stakeholder dan Tim PL ? ✓ Apakah dibutuhkan sumber yang lain? b) Pengenalan Lanjutan (Elicitation) Bagian penting dari elisitasi adalah untuk menetapkan tujuan bisnis. Pastinya Klien mengungkapkan kebutuhan. Proses ini tidak mudah karena: 1) Batasan sistem sering tidak jelas 2) Klien tidak cukup paham apa yang dibutuhkan dan kebutuhan sering berubah. Masalah yang sering dijumpai: 1) Problems of scope (Lingkup permasalahan / batasan sistem) 2) Problems of understanding (Masalah pemahaman) 3) Problems of volatility (Masalah yang berkaitan dengan kestabilan / besaran perubahan kebutuhan) Gambar 6. Bagian Elisitasi 4

Kegiatan pada tahap ini adalah: 1). Kebutuhan penemuan adalah proses pengumpulan informasi tentang sistem yang diperlukan dan sistem yang ada, filterisasi pengguna dan kebutuhan sistem. Sumber informasi selama tahap penemuan kebutuhan termasuk dokumentasi, stakeholder, dan spesifikasi sistem. 2). Klasifikasi Kebutuhan dan Organisasi Kegiatan ini mengumpulkan kebutuhan yang tidak terstruktur dan kebutuhan kelompok yang bersifat koheren. Cara pengelompokkan kebutuhan menggunakan model arsitektur sistem untuk mengidentifikasi sub-sistem dan untuk menghubungkan kebutuhan dengan masing-masing sub-sistem. Gambar 7. Model Arsitektur Sistem 3). Kebutuhan Prioritas dan Negosiasi Kegiatan ini berkaitan dengan memprioritaskan kebutuhan dan menemukan cara penyelesaian konflik melalui negosiasi. Gambar 8. Kegiatan dalam menemukan penyelesaian konflik c) Elaborasi (Elaboration) Elaborasi dilakukan dengan cara membuat dan penyempurnaan skenario pengguna yang menggambarkan bagaimana pengguna akhir (dan aktor lain) akan berinteraksi dengan sistem. Fokusnya pada pemodelan fungsi, fitur dan 5

batasan dari perangkat lunak. Dalam kasus OOP, maka class, atribute dan hubungan antar class diidentifikasi pada aktifitas ini. d) Negosiasi Konflik yang terjadi antara pelanggan, pengguna dan stakeholder harus didamaikan dengan pendekatan yang bersifat iteratif untuk menentukan skala prioritas kebutuhan, menilai biaya-biaya dan risiko masing- masing. 1) Negosiasi bukanlah suatu kompetisi 2) Buat suatu strategi (Apa yg kita inginkan? Apa yg client inginkan ?) 3) Mendengarkan secara aktif. 4) Fokus pada apa yg menjadi keinginan client. 5) Jangan anggap ‘personal’ 6) Jadilah kreatif 7) Komitmen terhadap keputusan yg diambil. “Memeriksa spesifikasi untuk memastikan bahwa semua persyaratan perangkat lunak telah dinyatakan jelas bahwa inkonsistensi, kelalaian dan kesalahan telah dideteksi dan dikoreksi ” e) Spesifikasi (Specification) Spesifikasi kebutuhan adalah proses menuliskan kebutuhan pengguna dan kebutuhan sistem ke dalam dokumen kebutuhan. Spesifikasi dapat berupa: 1) Dokumen tertulis, 2) Model grafis, 3) Model matematika formal, 4) Kumpulan skenario penggunaan sistem/PL, 5) Prototipe, atau kombinasi dari semuanya. Gambar 9. Specifications f) Validasi (Validation) Validasi kebutuhan adalah proses pengecekan kebutuhan yang benar-benar menentukan sistem yang diinginkan oleh pelanggan. Validasi melakukan pemeriksaan untuk memastikan bahwa: 1). Semua kebutuhan PL telah dinyatakan dengan jelas 2). Inkonsistensi (tidak taat asas), kelalaian, dan kesalahan telah terdeteksi dan diperbaiki 6

3). Produk kerja sesuai dengan standar yang ditetapkan untuk proses, proyek, dan produk. g) Manajemen Kebutuhan (Requirement Management) Adalah serangkaian kegiatan yang membantu tim proyek untuk : mengidentifikasi, mengontrol, dan melacak kebutuhan-kebutuhan dan melacak perubahan terhadap kebutuhan saat proyek berlangsung. Ada beberapa alasan mengapa perubahan tidak dapat dihindari: 1). Lingkungan bisnis dan teknis sistem selalu berubah setelah instalasi. 2). Pengguna sistem bukan orang yang sama. 3). Sistem besar biasanya memiliki komunitas pengguna yang beragam a). Kebutuhan Perencanaan Manajemen Tahap perencanaan menetapkan tingkat detail manajemen kebutuhan yang diperlukan, dengan memutuskan: i. Identifikasi Kebutuhan Setiap kebutuhan harus diidentifikasi secara unik sehingga dapat direferensikan dengan kebutuhan lain dan digunakan dalam pelacakan. b). Proses manajemen perubahan Adalah serangkaian kegiatan yang menilai dampak dan biaya perubahan. c). Kebijakan Pelacakan Menentukan hubungan antara setiap kebutuhan, kebutuhan dengan desain sistem, dan pemeliharaan catatan-catatan. d). Dukungan alat Kebutuhan manajemen melibatkan pemrosesan sejumlah besar informasi tentang kebutuhan. Alat yang dapat digunakan berkisar dari sistem manajemen kebutuhan khusus untuk spreadsheet dan sistem basis data sederhana. D. Kebutuhan Fungsional dan Non Fungsional Requirement juga dapat dibedakan menjadi dua berdasarkan spesifikasi atau deskripsi yang dinyatakan dalam requirement tersebut, yaitu: functional requirement dan non-functional requirement. Requirement juga dapat dibedakan menjadi dua berdasarkan spesifikasi atau deskripsi yang dinyatakan dalam requirement tersebut, yaitu: functional requirement dan non-functional requirement. Kebutuhan Fungsional adalah layanan yang harus disediakan sistem, bagaimana sistem harus bereaksi terhadap input tertentu, dan bagaimana sistem harus berperilaku dalam situasi tertentu. Kebutuhan non-fungsional adalah batasan pada layanan atau fungsi yang ditawarkan oleh sistem. 7

Termasuk: 1. Kendala waktu 2. Kendala pada proses pengembangan 3. Kendala yang dikenakan oleh standar 1. Kebutuhan Manajemen Perubahan Kebutuhan manajemen perubahan harus diterapkan untuk semua perubahan yang diajukan pada kebutuhan sistem setelah dokumen kebutuhan disetujui. Ada tiga tahapan utama untuk proses manajemen perubahan: a. Analisis masalah dan spesifikasi perubahan b. Analisis dan biaya perubahan c. Perubahan implementasi 2. Kebutuhan Fungsional Kebutuhan fungsional menggambarkan apa yang harus dilakukan oleh sistem. Gambar 10. Kebutuhan Fungsional Sangat bergantung dari jenis perangkat lunak, pengguna sistem, dan jenis sistem dimana perangkat lunak tersebut digunakan Kebutuhan fungsional dapat berupa pernyataan-pernyataan tingkat tinggi dari : a. Apa yang sistem harus lakukan b. Harus dapat menggambarkan layanan-layanan yang diberikan oleh sistem kepada pengguna secara mendetail. Kebutuhan ini tergantung pada jenis PL yang dikembangkan, pengguna, dan pendekatan umum yang diambil oleh organisasi saat menulis kebutuhan. Kebutuhan pengguna dijelaskan secara : a. Abstrak yang dapat dipahami oleh pengguna sistem, b. Terutama untuk kebutuhan sistem yang lebih spesifik menggambarkan fungsi-fungsi sistem, input dan output, dan pengecualian secara rinci. 8

Gambar 11. Kebutuhan Pengguna Contoh: kebutuhan fungsional untuk sistem informasi tentang pasien: a. User harus dapat mencari daftar janji untuk semua poliklinik sesuai dengan jadwal praktek dokter. b. Setiap hari, untuk setiap poliklinik mencatat daftar pasien yang telah melakukan pendaftaran hari itu. c. Setiap petugas yang menggunakan sistem harus diidentifikasi secara unik dengan nomor karyawan delapan digit miliknya. Gambar 12. Contoh Kebutuhan Fungsional Aplikasi 3. Kebutuhan Non Fungsional Kebutuhan non-fungsional adalah kebutuhan yang tidak secara langsung terkait dengan layanan spesifik yang disampaikan oleh sistem kepada penggunanya. Berhubungan dengan sifat sistem yang muncul seperti : keandalan, waktu respon, dan lain-lain. Dapat berupa kendala pada implementasi sistem seperti kemampuan perangkat I/O, representasi data yang digunakan dalam antarmuka dengan sistem lain. Kebutuhan non- fungsional muncul melalui kebutuhan pengguna, karena keterbatasan anggaran, kebijakan organisasi, kebutuhan interoperabilitas dengan software/hardware, atau faktor eksternal seperti peraturan keselamatan atau undang-undang privasi. Implementasi kebutuhan ini dapat disebarluaskan di seluruh sistem, dengan alasan: a. Kebutuhan non-fungsional dapat mempengaruhi keseluruhan arsitektur sistem daripada komponen individu. Misalnya, untuk memastikan 9

bahwa terpenuhinya kebutuhan kinerja harus mengatur sistem untuk meminimalkan komunikasi antar komponen. b. Kebutuhan non-fungsional tunggal, seperti kebutuhan keamanan, dapat menghasilkan sejumlah kebutuhan fungsional terkait yang menentukan layanan sistem baru yang diperlukan. Karakteristik kebutuhan non-fungsional 1. Kebutuhan produk Kebutuhan ini menentukan atau membatasi perilaku perangkat lunak. a. Kebutuhan kinerja tentang seberapa cepat sistem harus dijalankan dan berapa banyak memori yang dibutuhkan b. Kebutuhan keandalan yang menetapkan tingkat kegagalan yang dapat diterima c. Kebutuhan keamanan (safety dan security) d. Kebutuhan kegunaan (usability) 2. Kebutuhan Organisasi Adalah kebutuhan sistem yang luas yang berasal dari kebijakan dan prosedur di organisasi pelanggan dan pengembang. a. Kebutuhan operasional yang menentukan bagaimana sistem akan digunakan b. Kebutuhan proses pengembangan yang menentukan bahasa pemrograman, lingkungan pengembangan atau proses standar yang akan digunakan c. Kebutuhan lingkungan yang menentukan lingkungan operasi sistem. 3. Kebutuhan Eksternal Mencakup semua kebutuhan yang berasal dari faktor eksternal ke sistem dan proses pengembangannya. a. Kebutuhan peraturan yang mengatur apa yang harus dilakukan untuk sistem yang akan disetujui untuk digunakan oleh regulator, seperti bank sentral b. Kebutuhan legislatif yang memastikan bahwa sistem beroperasi sesuai peraturan c. Kebutuhan etis yang memastikan bahwa sistem akan diterima oleh pengguna dan masyarakat umum Contoh Requirement Gambar 13. Contoh Requirement 10

E. Tugas Mandiri Mahasiswa Pertemuan 2 Buatlah makalah tentang Kebutuhan Fungsional dan Non-Fungsional Contoh kasus pada Sistem Tiket Antrian di Bank: 1. Kebutuhan Fungsional a. Kebutuhan Nasabah b. Kebutuhan Bank 2. Kebutuhan Non-Fungsional a. Kebutuhan Kegunaan b. Kebutuhan Performa III. Penutup Keberhasilan dalam pembuatan sebuah perangkat lunak terletak pada keberhasilan mendefinisikan kebutuhan yang paling tepat untuk pengguna perangkat lunak tersebut. Identifikasi kebutuhan meliputi juga proses penentuan ruang lingkup (scope) pengembangan perangkat lunak (termasuk sasaran/tujuan dikembangkannya perangkat lunak, karakteristika pengguna dan output yang diharapkan dari perangkat lunak tersebut), dan identifikasi kebutuhan fungsional ataupun non fungsional. Daftar Pustaka Buku : 1. Bell, Douglas. 2005. Software Engineering for Students, 4th. London: Addison-Wesley. 2. Booch, Grady. James Rumbaugh. and Ivar Jacobson. 1999. Unified Modeling Language User Guide. Canada: Addison-Wesley. 3. Fowler, Martin. 2004. UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd. USA: Addison-Wesley. 4. Indrajani. 2018. Database System All in One Theory, Practice, and case study. Elek Media Komputindo: Jakarta 5. Lethbridge, Timothy C., Robert L. 2005. Object-Oriented Software Engineering, 2nd. London: McGraw-Hill 6. Pressman, Roger S. and Bruce R. Maxim. 2015. Software Engineering: A Practitioner’s Approach, 8th. New York: McGraw-Hill. 7. Rosa, M.Shalahuddin. 2019. “Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Obyek”. Informatika: Bandung. 8. Shelly, Gary B. and Rosenblatt, Harry J. 2012. Systems Analysis and Design. 9th. USA: Boston. 9. Simarmata, Janner. 2009. Rekayasa Perangkat Lunak. Andi : Yogyakarta. 10. Sommerville. 2011. Software Engineering, 9th. USA: Addison-Wesley 11. Suprapto, Falahah. 2018. “Rekayasa Perangkat Lunak”. Lentera Ilmu Cendikia: Jakarta. 12. Utami, Feri Hari. 2015. “Rekayasa Perangkat Lunak”. Deepublish: Yogyakarta Pendukung: 1. Availableat: http://staffnew.uny.ac.id/upload/132315977/pengabdian/ rekayasaperangkatlunak-plpg2012.pdf 2. http://informatikaunindra.org/file/RPL/Diktat/Diktat%20RPL.pdf 3. https://repository.nusamandiri.ac.id/index.php/unduh/item/228647/RPL.pdf 11

4. https://medium.com/dot-intern/jenis-flowchart-dan-simbol-simbolnya- ef6553c53d73 5. https://www.ansoriweb.com/2020/04/pengertian-component-diagram.html 12


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook