MAKALAH
Tentang
KEBUTUHAN SISTEM DALAM REKAYASA PERANGKAT LUNAK
Dosen Pengampu: M.Khulaimi S.Kom.,M.T
Disusun Oleh
Nama : Tiara Tri Melani
NIM :214857057
Semester:VA
Prodi :Sistem Informasi
MK :Rekayasa Perangkat Lunak
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
SYAIKH ZAINUDDIN NW ANJANI
TAHUN 2022/2023
KATA PENGANATAR
Dengan menyebut nama Allah SWT yang maha pengasih lagi Maha penyayang, kami panjatkan
puji syukur atas kehadirat-nya, yang telah melimpahkan rahmat, hidayah, dan inayah-nya kepada
kami, sehingga dapat menyelesaikan makalah ini dengan judul “Rekayasa Perangkat Lunak”.
Penulisan makalah ini merupakan salah satu tugas matakuliah rekayasa perangkat lunak di
jurusan sistem informasi. Dalam penulisan dan penyusunan makalah, kami ingin menyampaikan
ucapan terimakasih kepada dosen matakuliah rekayasa perangkat luna,Bapak, M.Khulaimi
S.Kom.,M.T Yang telah memberikan nasihat dan bimbingan kepada kami, sehingga kami dapat
menyelsaikan makalah ini dengan baik dan tepat waktu.
Terlepas dari semua itu, kami menyadari sepenuhnya bahwa masih ada kekurangan baik dari segi
susunan kalimat ,maupun tata bahasanya. Oleh karena itu dengan tangan terbuka kami menerima
segala saran dan kritik dari pembaca agara kami dapat memperbaiki makalah ini.
DAFTAR ISI
KATA PENGANTAR............................................................................................................................
DAFTAR ISI...........................................................................................................................................
BAB I.......................................................................................................................................................
PENDAHULUAN...................................................................................................................................
I.I LATAR BELAKANG............................................................................................................
BAB II .....................................................................................................................................................
I.I REKAYASA KEBUTUHAN...................................................................................................
I.2 JENIS JENIS KEBUTUHAN..................................................................................................
I.3 KEGIATAN REKAYASA KEBUTUHAN ............................................................................
I.4 KEBUTUHAN FUNGSIONAL DAN NON FUNGSIONAL.................................................
BAB III....................................................................................................................................................
PENUTUP...............................................................................................................................................
I.I KESIMPULAN......................................................................................................................
DAFTAR PUSTAKA.............................................................................................................................
BAB I
PENDAHULUAN
LATAR BELAKANG
Rekayasa kebutuhan adalah fase kritis dalam pengembangan perangkat lunak yang menentukan
arah dan kualitas produk akhir. Latar belakang dari materi ini didorong oleh beberapa faktor
utama dalam dunia pengembangan perangkat lunak, yang termasuk kompleksitas tuntutan
pemangku kepentingan, perubahan cepat dalam kebutuhan bisnis, dan perlunya memahami
tantangan dalam membangun solusi perangkat lunak yang sukses.
1. Kemajuan dalam teknologi
Perkembangan teknologi informasi telah menciptakan peluang besar, tetapi juga
menambah kompleksitas dalam memenuhi harapan pemangku kepentingan.
Dengan munculnya teknologi baru, pemahaman yang mendalam tentang
kebutuhan menjadi semakin krusial.
2. perubahan cepat dalam bisnis
Lingkungan bisnis yang dinamis menuntut perusahaan untuk beradaptasi dengan
cepat. Ini menciptakan tantangan dalam merancang perangkat lunak yang dapat
berkembang seiring waktu dan mudah diubah sesuai kebutuhan bisnis yang
berubah.
3. Pentingnya kepuasan pengguna
Pengguna akhir perangkat lunak memiliki harapan yang semakin tinggi terkait
dengan fungsionalitas, antarmuka pengguna, dan kinerja. Mempahami kebutuhan
pengguna dengan baik menjadi kunci untuk menciptakan pengalaman pengguna
yang memuaskan.
4. Proyek perangkat lunak yang gagal
Kegagalan proyek perangkat lunak sering kali terkait dengan masalah dalam
rekayasa kebutuhan. Kebutuhan yang tidak jelas atau tidak dipahami dengan baik
dapat menyebabkan pengembangan yang tidak efektif dan produk yang tidak
sesuai dengan harapan.
5. Pentingnya manajemen perubahan
Bisnis dan teknologi selalu berubah. Oleh karena itu, manajemen perubahan
dalam kebutuhan menjadi faktor penentu untuk menghindari ketidakselarasan
antara perangkat lunak yang dikembangkan dan kebutuhan aktual pemangku
kepentingan.
Melalui pemahaman mendalam terhadap latar belakang ini, materi ini bertujuan memberikan
panduan komprehensif tentang jenis-jenis kebutuhan, kegiatan dalam rekayasa kebutuhan,
tantangan yang mungkin dihadapi, dan bagaimana manfaat dapat diambil dari penerapan prinsip
rekayasa kebutuhan yang baik. Dengan demikian, diharapkan bahwa pembaca dapat memahami
pentingnya rekayasa kebutuhan dalam mencapai kesuksesan dalam pengembangan perangkat
lunak.
BAB II
PEMBAHASAN
I.I REKAYASA KEBUTUHAN
Rekayasa kebutuhan merupakan tahap awal yang sangat penting dalam siklus pengembangan
perangkat lunak. Proses ini melibatkan identifikasi, analisis, dan dokumentasi kebutuhan
perangkat lunak untuk memastikan bahwa pengembangan dilakukan dengan fokus yang jelas dan
sesuai dengan harapan pemangku kepentingan.
II. Langkah-langkah dalam Rekayasa Kebutuhan
1. Identifikasi kebutuhan
Melibatkan pemangku kepentingan utama untuk mengumpulkan informasi
tentang apa yang diharapkan dari perangkat lunak.
Metode: wawancara, survey, brainstorming.
2. Analisis kebutuhan
Mendalam memahami kebutuhan yang telah diidentifikasi.
Memastikan kebutuhan dapat diukur, dapat diverifikasi, dan sesuai dengan tujuan
bisnis.
Memeriksa ketergantungan antara kebutuhan.
3. dokumentasi kebutuhan
Menghasilkan dokumen formal yang mendokumentasikan setiap kebutuhan
dengan jelas dan rinci.
Menyertakan spesifikasi fungsional dan non-fungsional.
4. Validasi kebutuhan
Memastikan bahwa kebutuhan yang didokumentasikan memang memenuhi
kebutuhan sebenarnya dari pemangku kepentingan.
Melibatkan proses verifikasi dan validasi.
III. Tantangan dalam Rekayasa Kebutuhan
1. Perubahan kebutuhan
Kebutuhan dapat berubah seiring waktu, yang dapat mempengaruhi proyek dan
menyebabkan biaya tambahan.
Penting untuk memiliki proses manajemen perubahan yang baik.
2. Komunikasi dengan pemangku kepentingan
Memastikan bahwa pemangku kepentingan memiliki pemahaman yang jelas
tentang kebutuhan dan tujuan proyek.
3. Kebutuhan yang tidak konsisten
Mengatasi konflik atau inkonsistensi antara kebutuhan yang diajukan oleh
berbagai pemangku kepentingan.
IV. Alat dan Teknik dalam Rekayasa Kebutuhan
1. Modeling
Menggunakan model untuk menggambarkan dan memahami hubungan antara
kebutuhan.
Contoh: Use case diagrams, entity-relationship diagrams.
2. prototyfimg
Membangun prototipe awal untuk membantu pemangku kepentingan
memvisualisasikan kebutuhan.
Prototipe dapat digunakan sebagai dasar untuk diskusi lebih lanjut.
3. Workshops dan sesi kolaboratif
Mengumpulkan pemangku kepentingan bersama-sama untuk membahas dan
mengidentifikasi kebutuhan dengan lebih efektif.
V. Manfaat Rekayasa Kebutuhan
1. Pemahaman yang lebih baik
Memastikan bahwa pengembang dan pemangku kepentingan memiliki
pemahaman yang seragam tentang tujuan dan kebutuhan proyek.
2. Proses pengembangan yang efisien
Mengurangi risiko perubahan mendadak selama pengembangan, memastikan
kelancaran proses.
3. Peningkatan kualitas produk
Kebutuhan yang tepat dan jelas membantu dalam pengujian yang efektif, yang
dapat meningkatkan kualitas produk akhir.
VI. Kesimpulan
Rekayasa kebutuhan adalah fondasi penting dalam pengembangan perangkat lunak yang sukses.
Dengan mengidentifikasi, menganalisis, dan mendokumentasikan kebutuhan dengan cermat, tim
pengembang dapat memastikan bahwa perangkat lunak yang dihasilkan memenuhi standar
kualitas tinggi dan memenuhi harapan pemangku kepentingan. Proses ini juga memfasilitasi
komunikasi yang baik antara tim pengembang dan pemangku kepentingan, mendukung
manajemen perubahan, dan meminimalkan risiko selama siklus pengembangan perangkat lunak.
I.2 JENIS JENIS KEBUTUHAN
Kebutuhan dalam konteks rekayasa perangkat lunak dapat dikelompokkan menjadi beberapa
jenis berdasarkan sifat, tujuan, atau tingkatan detailnya. Berikut adalah beberapa jenis kebutuhan
umum:
1. Kebutuhan fungsional
Merinci apa yang harus dilakukan oleh perangkat lunak, fungsi atau tugas yang
harus dijalankan.
Contoh: Sistem e-commerce harus memungkinkan pengguna menambahkan item
ke keranjang belanja.
2. Kebutuhan non fungsional
Menentukan atribut-atribut kinerja, keamanan, keandalan, dan aspek non-
operasional lainnya yang tidak terkait langsung dengan fungsionalitas.
Contoh: Sistem harus memiliki waktu tanggapan di bawah 2 detik.
3. Kebutuhan pengguna
Berkaitan dengan kebutuhan dan harapan pengguna akhir terhadap antarmuka
pengguna dan pengalaman pengguna.
Contoh: Antarmuka pengguna harus mudah dinavigasi dan ramah pengguna.
4. Kebutuhan bisnis
Menjelaskan persyaratan yang harus dipenuhi untuk mendukung tujuan bisnis
organisasi.
Contoh: Sistem harus meningkatkan efisiensi proses bisnis dengan mengurangi
waktu penyelesaian tugas.
5. Kebutuhan system
Menyelidiki persyaratan terkait dengan lingkungan sistem, termasuk integrasi
dengan sistem lain dan kebijakan keamanan.
Contoh: Sistem harus dapat terhubung dengan basis data eksternal.
6. Kebutuhan perangakat keras dan perangkat lunak
Merinci spesifikasi teknis perangkat keras dan perangkat lunak yang diperlukan
untuk menjalankan aplikasi.
Contoh: Sistem harus kompatibel dengan Windows 10 dan memerlukan RAM
minimal 8GB.
7. Kebutuhan legal dan regulasi
Menentukan kepatuhan terhadap peraturan dan undang-undang yang berlaku.
Contoh: Sistem harus mematuhi regulasi privasi data seperti GDPR.
8. Kebutuhan kinerja
Menyelidiki persyaratan terkait dengan performa aplikasi, seperti kecepatan
eksekusi dan kapasitas pengguna.
Contoh: Sistem harus mampu menangani 1000 pengguna simultan tanpa
penurunan kinerja yang signifikan.
9. Kebutuhan keamanan
Menentukan persyaratan keamanan yang harus dipatuhi oleh sistem untuk
melindungi data dan pengguna.
Contoh: Sistem harus memiliki mekanisme otentikasi ganda untuk mengakses
informasi sensitif.
Penting untuk memahami dan mendokumentasikan berbagai jenis kebutuhan ini dengan jelas dan
terinci agar dapat memberikan pedoman yang kuat selama pengembangan perangkat lunak.
I.3 KEGIATAN REKAYASA KEBUTUHAN
Proses rekayasa kebutuhan melibatkan serangkaian kegiatan yang dirancang untuk
mengidentifikasi, menganalisis, dan mendokumentasikan kebutuhan perangkat lunak dengan
jelas dan terinci. Berikut adalah beberapa kegiatan utama dalam rekayasa kebutuhan:
1. Identifikasi pemangku kepentingan (stakeholder identification)
Mengidentifikasi semua pihak yang terlibat atau terpengaruh oleh perangkat lunak
yang akan dikembangkan.
Pemangku kepentingan termasuk pengguna akhir, manajemen, pemilik proyek,
atau pihak lain yang dapat memengaruhi atau dipengaruhi oleh sistem.
2. Pengumpulan kebutuhan
Proses mengumpulkan informasi tentang kebutuhan perangkat lunak dari
pemangku kepentingan.
Metode yang umum digunakan termasuk wawancara, observasi, workshop, dan
teknik pengumpulan data lainnya.
3. Analisis kebutuhan
Menganalisis kebutuhan yang telah dikumpulkan untuk memastikan pemahaman
yang mendalam.
Mengidentifikasi ketergantungan antar kebutuhan, menentukan prioritas, dan
menyelesaikan konflik kebutuhan.
4. Spesifikasi kebutuhan
Mendokumentasikan kebutuhan dengan cara yang jelas, terperinci, dan dapat
diukur.
Termasuk spesifikasi fungsional dan non-fungsional, serta skenario pengguna dan
kasus pengguna.
5. Validasi kebutuhan
Memastikan bahwa kebutuhan yang didokumentasikan sesuai dengan harapan
pemangku kepentingan.
Melibatkan verifikasi dan validasi untuk menjamin kualitas dan konsistensi.
6. Manajemen perubahan kebutuhan
Mengelola perubahan yang mungkin terjadi dalam kebutuhan selama siklus
pengembangan.
Menerapkan proses untuk mengevaluasi, menyetujui, dan menerapkan perubahan
secara terkendali.
7. Modeling kebutuhan
Menggunakan model untuk menggambarkan struktur dan hubungan antar
kebutuhan.
Contoh termasuk use case diagrams, diagram aktivitas, atau diagram alur data.
8. Prototyfing kebutuhan
Membangun prototipe perangkat lunak awal untuk membantu pemangku
kepentingan memahami dan memberikan masukan lebih awal.
Prototipe juga dapat membantu dalam mendokumentasikan kebutuhan dengan
lebih jelas.
9. Verifikasi dan validasi
Proses pemeriksaan dan pengujian untuk memastikan bahwa perangkat lunak
yang dikembangkan memenuhi kebutuhan yang telah ditetapkan.
Verifikasi memastikan bahwa implementasi sesuai dengan spesifikasi, sementara
validasi memastikan bahwa perangkat lunak memenuhi ekspektasi pemangku
kepentingan.
10. Dokumentasi kebutuhan
Menyusun dokumen kebutuhan yang mencakup semua aspek kebutuhan,
spesifikasi, dan informasi terkait.
Dokumen ini berfungsi sebagai panduan untuk tim pengembang dan referensi
untuk pemangku kepentingan.
Kegiatan ini saling terkait dan seringkali berlangsung secara iteratif, memungkinkan perbaikan
dan penyesuaian sepanjang siklus pengembangan perangkat lunak. Pemahaman yang mendalam
tentang kebutuhan merupakan kunci untuk menghasilkan perangkat lunak yang memenuhi
ekspektasi pengguna dan pemangku kepentingan.
I.4 KEBUTUHAN FUNGSIONAL DAN NON FUNGSIONA
Kebutuhan fungsional merujuk pada fungsionalitas atau tugas-tugas spesifik yang harus
dilakukan oleh perangkat lunak. Ini menjelaskan apa yang seharusnya dilakukan oleh sistem atau
bagian sistem tertentu. Berikut adalah beberapa contoh kebutuhan fungsional:
1. Registrasi pengguna
Sistem harus memungkinkan pengguna untuk membuat akun baru dengan
mengisi formulir registrasi.
2. Pencarian produk
Sistem e-commerce harus menyediakan fitur pencarian yang memungkinkan
pengguna untuk mencari produk berdasarkan kriteria tertentu.
3. Pengolahan pesanan
Sistem harus dapat mengelola pesanan pengguna, termasuk verifikasi pembayaran
dan pemrosesan pengiriman.
4. Autentikasi pengguna
Sistem harus memerlukan autentikasi pengguna melalui kombinasi nama
pengguna dan kata sandi.
5. Pengeditan profil pengguna
Pengguna harus dapat mengedit informasi profil mereka, seperti alamat
pengiriman atau informasi kontak
Kebutuhan non-fungsional berkaitan dengan atribut dan karakteristik lain selain
fungsionalitas utama sistem. Ini membahas bagaimana sistem beroperasi, seberapa efisien, dan
seberapa baik sistem tersebut memenuhi kebutuhan pengguna di luar fungsi utamanya. Berikut
adalah beberapa contoh kebutuhan non-fungsional:
1. Kinerja
Sistem harus memberikan respons dalam waktu kurang dari 3 detik untuk setiap
permintaan pengguna.
2. keamanan
Informasi pengguna harus disimpan secara aman menggunakan enkripsi dan harus
ada kontrol akses berbasis peran.
3. Tingkat ketersediaan
Sistem harus tersedia 99,9% dari waktu dalam sebulan, untuk memastikan
ketersediaan yang tinggi.
4. Skalabilitas
Sistem harus dapat menangani peningkatan jumlah pengguna tanpa mengalami
penurunan kinerja yang signifikan.
5. Keandalan
Sistem harus berfungsi tanpa kegagalan selama setidaknya 30 hari berturut-turut
tanpa perlu pemeliharaan.
6. Antarmuka pengguna
Antarmuka pengguna harus ramah pengguna, mudah dinavigasi, dan dapat
diakses dengan baik dari berbagai perangkat, termasuk perangkat mobile.
7. Kemudahan pemeliharaan
Sistem harus mudah diperbarui tanpa memerlukan waktu henti yang lama atau
memengaruhi pengguna yang sedang menggunakan sistem.
8. Kemampuan interoperabilitas
Sistem harus dapat berintegrasi dengan sistem eksternal, seperti sistem
manajemen basis data atau layanan pihak ketiga.
Kombinasi kebutuhan fungsional dan non-fungsional yang terdefinisi dengan baik membentuk
dasar yang solid untuk pengembangan perangkat lunak yang efektif dan memenuhi harapan
pemangku kepentingan. Keduanya harus didokumentasikan secara rinci dan dapat diukur untuk
memastikan pemahaman yang jelas dan implementasi yang sukses.
BAB III
PENUTUP
KESIMPULAN
Rekayasa kebutuhan merupakan fondasi kritis dalam siklus pengembangan perangkat lunak.
Proses ini melibatkan identifikasi, analisis, dan dokumentasi kebutuhan perangkat lunak untuk
memastikan pengembangan yang sukses dan memenuhi ekspektasi pemangku kepentingan.
Berbagai jenis kebutuhan, baik fungsional maupun non-fungsional, perlu dipahami dan
didokumentasikan dengan cermat.
Jenis kebutuhan fungsional menjelaskan tugas-tugas atau fungsionalitas yang harus dilakukan
oleh perangkat lunak, sementara kebutuhan non-fungsional mencakup atribut dan karakteristik
tambahan seperti kinerja, keamanan, dan ketersediaan. Kombinasi kedua jenis kebutuhan ini
membentuk dasar yang kokoh untuk pengembangan perangkat lunak yang berhasil.
Kegiatan dalam rekayasa kebutuhan mencakup identifikasi pemangku kepentingan,
pengumpulan, analisis, dan dokumentasi kebutuhan. Manajemen perubahan kebutuhan,
pemodelan, dan prototyping juga menjadi bagian penting dari proses ini. Namun, tantangan
seperti perubahan kebutuhan yang tidak terduga dan komunikasi yang efektif dengan pemangku
kepentingan memerlukan perhatian khusus.
Alat dan teknik seperti pemodelan, prototyping, dan workshop berkontribusi pada kelancaran
proses rekayasa kebutuhan. Dengan penerapan yang baik, rekayasa kebutuhan membawa
manfaat signifikan, termasuk pemahaman yang lebih baik, efisiensi pengembangan, dan
peningkatan kualitas produk.
Keseluruhan, rekayasa kebutuhan adalah langkah kunci dalam memastikan perangkat lunak
dikembangkan dengan cara yang tepat dan sesuai dengan harapan pengguna. Dengan fokus pada
pemahaman yang mendalam, dokumentasi yang baik, dan adaptabilitas terhadap perubahan, tim
pengembang dapat menciptakan solusi perangkat lunak yang memuaskan dan sukses.
DAFTAR PUSTAKA
1. Sommerville, I. (2011). Software Engineering (9th ed.). Addison-Wesley.
2. Pressman, R. S. (2014). Software Engineering: A Practitioner's Approach (8th ed.).
McGraw-Hill Education.
3. Kotonya, G., & Sommerville, I. (1998). Requirements engineering: Processes and
techniques. John Wiley & Sons.
4. Sommerville, I., & Sawyer, P. (1997). Requirements engineering: a good practice guide.
John Wiley & Sons.