Rekayasa Kebutuhan (Requirement Engineering)


๐ŸŽฏ 1. Pengertian Rekayasa Kebutuhan

https://images.openai.com/static-rsc-4/9UiO9Jw3dIciHU_oYSbr6NyqtCAlgA9YuCLqVC8rkdrbWrtyQvNSODxF3pqVuIPl0gMy4aLSe4C-3JfcvDha7jMuzNI8tNo-6tV_vkzpc7rziRomsKaFexYOXC4hCjac2NlegZyYqazTpEsm_w95httympKfX1jy75aenyzc84k0IAoJ1noZFsnWpJUCCGhl?purpose=fullsize
https://images.openai.com/static-rsc-4/B0qx0uo6O8NCy48NeFnKJFryNaNopDetOl_pEVVzuYP_KQF_lXWcojKWWM6d_5ywfzHhIlIYPgjCPm5AIYdV-VyGxoy1zWAoaLkPfIrfI2tb-AW4i4nuAMA7-7SA3q0wr23cu-yldscduGK3MIy-DSsksa7t25TBpKhNKm0tcMM6bLwf7i2LBYg0S7KNH95S?purpose=fullsize
https://images.openai.com/static-rsc-4/7jeXtbSrfoKjih7xwaXZzwQ0Xed772mqQeogpR7xESfUqysmn9NdTiXDj-iSvOj1A-Mz_EWP0DIvKmOm0M0c9nwm9fA906Lf_LzSM3Wlgh5l3XtXKOY_grCDNZjG6bQHNUbakQ9dBhbPEnMXN-bj9arXhEXOp0MgErQi3r1cNkRiunvuf7os-hZhP7kdEZDY?purpose=fullsize

7

Rekayasa Kebutuhan (Requirement Engineering) adalah proses sistematis dalam Rekayasa Perangkat Lunak untuk mengidentifikasi, menganalisis, mendokumentasikan, dan mengelola kebutuhan sistem perangkat lunak.

Menurut Ian Sommerville, requirement engineering adalah aktivitas yang memastikan sistem memenuhi kebutuhan pengguna dan stakeholder.

๐Ÿ’ก Narasi:

Tahap ini merupakan fondasi utama dalam pengembangan perangkat lunak. Kesalahan dalam memahami kebutuhan pengguna akan menyebabkan kegagalan sistem, meskipun implementasi teknisnya sempurna.


๐ŸŽฏ 2. Tujuan Rekayasa Kebutuhan

TujuanPenjelasan
Memahami kebutuhan userMenangkap kebutuhan nyata pengguna
Mendefinisikan sistemMenentukan batasan sistem
Menghindari kesalahanMengurangi revisi di tahap akhir
DokumentasiSebagai acuan pengembangan
KomunikasiMenjembatani user dan developer

๐Ÿ’ก Narasi:

Tujuan utama adalah memastikan โ€œapa yang dibangunโ€ sesuai dengan โ€œapa yang dibutuhkanโ€.


๐Ÿ”„ 3. Proses Rekayasa Kebutuhan

https://images.openai.com/static-rsc-4/dpYGfDGX_tpkVV31ASCxbQJcTts9qj6EhjOR89zVbmJpMekjtusg41ECiimkrCem4HzEBUP-EBTYoQxxrKnOktUgoGfIjVJOBgInzEFAINMzSEMTLPDzW_wGV3bD_BasTo07LxIk04RJS3WxP5TfNjsi7OznPS-pBF6s_fYxbM-x8jLyylsqeM8-tm-5COcn?purpose=fullsize
https://images.openai.com/static-rsc-4/wgloIhZPO1_qJCh8vD4-2npnd6GpMArCpNV8u2rK5UCNVraOrywz_PmBjv_RqxG7k9FD8yFsBlhY0d-nfjjF1E8lpZ7eGjt5loxjkpcplWEIzqAoqvKepT416RjaPmKTchgcadjx01iMFUl_FATUpCp-HpElTyNIPfyN9M8zgPCNE9Ul9ry4vwxjiynKcKFl?purpose=fullsize
https://images.openai.com/static-rsc-4/QYkkfZV1KlroOTFVeRdE4uQyReJi-FKuieLmTmH5j8LDqQAXcLWt7ds_6PVwN1XhBp7iO-aTybpGZh09MIJf6xPVMXuWfprbQyRw96tCY82OIBAQaU2rCOfVYMjmL2GfXfWIn4Dc64AdxTg2XyRtgXl1pO1W1L7Y8eShEo6zkLvGGnsI7YQxS4K4YCGLaGCh?purpose=fullsize

8

๐Ÿ“Œ Tahapan Utama:

  1. Elicitation (Pengumpulan Kebutuhan)
  2. Analysis (Analisis Kebutuhan)
  3. Specification (Spesifikasi Kebutuhan)
  4. Validation (Validasi Kebutuhan)
  5. Management (Manajemen Kebutuhan)

๐Ÿ’ก Narasi:

Proses ini bersifat iteratifโ€”kebutuhan dapat berubah dan perlu diperbarui sepanjang proyek.


๐Ÿ“Œ 4. Tahap 1: Elicitation (Pengumpulan Kebutuhan)

https://images.openai.com/static-rsc-4/J6yH2U3bTTDIQRigW_Q1WsO4UXTMuNGNG04xGhU5FUDkwXSnK1rXissWdyPx4cfUYSX127bgs4PVM_g-3qQPx2cifTtL7moiH0EJB68im043ZdO-bpG5MzQUHFv1EyYyduru07buaSkFWYLbShRhIMIDR0z0wsbFz-jn_onii16FXjNcHl41XjgsbMqIZvvZ?purpose=fullsize
https://images.openai.com/static-rsc-4/Bb9K09i_HUMVUv_Fyvcmm28TGbQ4inewblU6FhvNCJXls-A7pQSGWUtD1jreXV09zv3qnBag0dwx1gvLQV99qtFx8y1bPm4d1dffqk-e8QcxG57flexBqzqGWVLg6DWIr-5YpQidL0k-JE3cCB5UUqozudtaIBIqeo5XoLyHGFPm84Svvo5LU09vWJFTRksT?purpose=fullsize
https://images.openai.com/static-rsc-4/QIx34ZaL06EPRQaEz1MFXCQyZai0InYdYUTbuPlhmhPpiV8se-m8_KCK8wsuLw7W_o98sN5UWRE9qnYh75bWnn5Ls7ITuHNzGeUqWCsbJVkXjVEAye4sUntjlFFIp5jCQLXflI_2ktXzJKkgjsokQUbCwlpcgDVm_S7PywGW7rvMVAQxwcebgeV816ah6QaJ?purpose=fullsize

7

๐Ÿ“‹ Teknik:

  • Wawancara
  • Kuesioner
  • Observasi
  • Workshop / Focus Group
  • Studi dokumen

๐Ÿ’ก Narasi:

Pengumpulan kebutuhan harus melibatkan stakeholder agar sistem benar-benar relevan dengan kebutuhan nyata.


๐Ÿ“Š 5. Tahap 2: Analysis (Analisis Kebutuhan)

https://images.openai.com/static-rsc-4/ZYexiHSzFJy5_MfcELJ2SHXa0HQ43Mm41jmPAe6Fib_PYpNzHHd09GMYJfYOci89NVifCKtyZr2T_2LFpqnhq-AKy3X6dMfbII_noj8Fz83iH6MV0szD_PMtXTTOQUNDyK7lkKio9NTYMcrpNarXinZWkqxIWfUtFJuMCCXkBP5Updc_BnOhyPDAlp7LDXb8?purpose=fullsize
https://images.openai.com/static-rsc-4/9jxA71sH71fF0sHhuSuo_2kIvK8K2oqokuJjeKwyxtfdy2RQKAmxEt63fiTMGYftHYNvEVVoYsvz6qtUTULg1Eu2YPz6P0SCK67XLVGxhxM0lHl82Su7EBUSnXdD7Ta6pYrlxJ_AvKkYyzxksXjLktVLJzJ9K2nC07KXsn1LS1DrGwYDSwWOV7eyZk3I0P8Y?purpose=fullsize
https://images.openai.com/static-rsc-4/2YcDYjsHC-QeyDCMZGlv1xMF31xv9r19z-Y8I8Yjl87Vs0YGzNR70v_Sg9RMHopNhUveCK_l0xdmp9ujyJXN0rDeGiKs42Muw9D1Kv_A3Vnnje28WLNY3lQVPci1c1_t3RIAgOIshga4ylSJm0320qoOgzrxKuyh4HLTLojety_GMxlQw8E0hrVUi1ULVppJ?purpose=fullsize

7

๐Ÿ“Œ Aktivitas:

  • Mengelompokkan kebutuhan
  • Mengidentifikasi konflik
  • Prioritas kebutuhan
  • Membuat model (Use Case, DFD)

๐Ÿ’ก Narasi:

Pada tahap ini, kebutuhan yang kompleks disederhanakan agar mudah dipahami dan diimplementasikan.


๐Ÿงพ 6. Tahap 3: Specification (Spesifikasi Kebutuhan)

https://images.openai.com/static-rsc-4/YEib4ikI6BGr2eQ4UolJNuVecEE69t8J9Hoy2Vhe7Llw75c-PhxY5x8OuJL6slDJBO1R7r3taQYggqA01HuDiYMBCqh69NOALwC2Tk0dy7yO0CdiC2Y4SOfFVNS5TNXRbOO3HISaS0yronANt_X6I-lEf9VBhkJaIpt-BACSnuekIX8F7HDTJ6gqAwfSoi8H?purpose=fullsize
https://images.openai.com/static-rsc-4/6hTtHU7zJETtXRj3T5hb-iuu_oArkt7OVpfrlkHXPMDC-GdPBs2DAmL9Bn3s1GhUTDk191K7SkRS7dJdRuymcc1eVdAbxwKDXS25qjEv5-r9jq5Dzi7tyHYeo82hdR74KZawIVY5P51CNncCoUqBR3f6sb284eGM-0E9bTa6hDY2CV4iPDQjBIDTbCBg1SDq?purpose=fullsize
https://images.openai.com/static-rsc-4/bvkPrXVoo39VFDfsLzahFR-NR7Z0Tiy_0f8YrOLTQa2MxP7V44gJstcAd7M_iDk5pLxuKWipAaPStXefD5UNOrY1IPxMDIz5-_C_J757IbdxIOlxE8s86KpCByR3dZpYcZ7iCWSixRLehaZWFF1IZC5fVxzbBVShiY5-VSq8XRpOAq-L6tgsZQ4FQXPAox9d?purpose=fullsize

7

๐Ÿ“‹ Output:

  • Dokumen SRS (Software Requirement Specification)

๐Ÿ“Œ Isi SRS:

  • Deskripsi sistem
  • Functional Requirements
  • Non-Functional Requirements
  • Use Case
  • Diagram sistem

๐Ÿ’ก Narasi:

Dokumen SRS menjadi โ€œkontrakโ€ antara developer dan stakeholder.


โœ… 7. Tahap 4: Validation (Validasi Kebutuhan)

https://images.openai.com/static-rsc-4/fWVingXsS8ru0gccB1CgXTrRelFNavh5MGFmF5zn-mIGWHTw1HLEp_bBKcILAMryDgiIHoZ90NKY5fYU92F-FQkRxM50pOeMK68NF1m2SYUgmuUBOnN0zL0s2Oa8j2qDB98oje0fXQ9frH5AkTtIehBlstwqZs7TJDRJ16pXwIJFtSrZe-QhvPMTxtYz2BA7?purpose=fullsize
https://images.openai.com/static-rsc-4/n7ALr2pPOpGXS8KPEkeMpaBtBOB-QwUV9gaQLqP4G_rQJWuSpakUe1dzvv6Ww1e7opAtIUSR-9jKh0ziPQFtJ8bl_NGd6nk0txQQRwpFeNlUxvRkJl26ndGaMlZO4MQsrrl2n-NlWw9cmHJ_xBg1HW2kM6mqYYv8CTDxWV8jSXVc-Eyp6bJQ5NmgEFC3OWfu?purpose=fullsize
https://images.openai.com/static-rsc-4/z3cvhFBdjHaFHkEoX3uvo7Kq0esAHg1m0lr2DerRUpOAR5AqIwW2FC-HA09tnfrqdM8yFqT4Kyxv861dIJnvF9QZj3BqfxvdQ-_y9WBVOAtFn5Z0N9K1f_sMwOxp7kTHZIe7y4_MJAiL5Nx5mQMNGuNDDxffkVVDZDSQvfqDvzBvuwO74vcaZx6cQZKOZao8?purpose=fullsize

8

๐Ÿ“Œ Tujuan:

  • Memastikan kebutuhan benar
  • Tidak ambigu
  • Konsisten
  • Dapat diimplementasikan

๐Ÿ’ก Narasi:

Validasi memastikan bahwa sistem yang dibangun tidak melenceng dari kebutuhan awal.


๐Ÿ”ง 8. Tahap 5: Requirement Management

https://images.openai.com/static-rsc-4/S_vWQzlYitpZ-baiHrhXhlo3Z7bq4mT9FXDXXI-pgMDMbjrF568cGYDOtBJ3mfRTpSH6qR0J6ET_2VZCK6fr3cC-H-DCVNlWEUrl__3Log2AZkKbN0kxQAshu8tDR30sJAShujeGdVRUSI6smwGyK2TEq55wSK5d-h-SqaE5ZWF8Lif6pK77FxJDnFJwl5Jr?purpose=fullsize
https://images.openai.com/static-rsc-4/Ry_QlSNWpmlyTIMn63zSKWickCrs-bSD8jWwR_PYbB7W8nXOKPzJmO8qCzH6khMWK2wzSOWBvRz62NJtjSs9heOQ1nQEMYFUg0j8eX9xUe681_MuH0skxB8Wc8DERPjJjA9mkBcln96PN7MbK2D9irG1RUvlr1lvqONB3TnF4EyrJwodvLbH6M3eb67RgJmV?purpose=fullsize
https://images.openai.com/static-rsc-4/K2hFpo6eYJgWvz2rw4RNIe0Ia-NU9iD3H5w1weYxkHeI68izZashq3ZDtbJ6lbDkMABaI0OMiw0LshtqqRkAL8QsI-_2kthgJGKF-HeAIw51c_9-_ZWr0W76bKTw74lWoV8-wTV9Einwkln2EIAvMUhumgAlV4DDDBw19mFsmfE8vNgt5h1aSEWMqzng1LcL?purpose=fullsize

7

๐Ÿ“Œ Aktivitas:

  • Mengelola perubahan kebutuhan
  • Versioning
  • Tracking requirement

๐Ÿ’ก Narasi:

Perubahan kebutuhan adalah hal yang normalโ€”yang penting adalah bagaimana mengelolanya.


๐Ÿ“Œ 9. Jenis-Jenis Kebutuhan

๐Ÿ”น Functional Requirement

  • Menjelaskan fungsi sistem
  • Contoh: Login, Input data

๐Ÿ”น Non-Functional Requirement

  • Menjelaskan kualitas sistem
  • Contoh: Keamanan, performa

๐Ÿ“Š 10. Perbandingan Functional vs Non-Functional

AspekFunctionalNon-Functional
FokusFungsi sistemKualitas sistem
ContohLogin userKecepatan sistem
OutputUse casePerformance metrics

๐Ÿง  11. Teknik Pemodelan Kebutuhan

๐Ÿ“Œ Tools:

  • Use Case Diagram
  • Data Flow Diagram (DFD)
  • Activity Diagram

๐Ÿ’ก Narasi:

Pemodelan membantu memvisualisasikan kebutuhan agar lebih mudah dipahami.


โš ๏ธ 12. Tantangan dalam Requirement Engineering

TantanganPenjelasan
Requirement tidak jelasUser tidak tahu kebutuhannya
Perubahan kebutuhanSering terjadi
Komunikasi burukSalah interpretasi
Kompleksitas sistemSulit dianalisis

๐Ÿงช 13. Studi Kasus Sederhana

๐Ÿ“Œ Sistem Perpustakaan:

Functional:

  • Login user
  • Pinjam buku

Non-Functional:

  • Sistem cepat
  • Data aman

๐Ÿ“Š 14. Ringkasan Proses Requirement Engineering

TahapOutput
ElicitationData kebutuhan
AnalysisModel sistem
SpecificationSRS
ValidationKebutuhan valid
ManagementUpdate kebutuhan

๐ŸŽ“ 15. Best Practice

  • Libatkan stakeholder
  • Gunakan dokumentasi jelas
  • Lakukan validasi berkala
  • Gunakan tools modern
  • Komunikasi aktif

๐ŸŽฏ 16. Kesimpulan

  • Requirement engineering adalah tahap paling krusial dalam RPL
  • Menentukan keberhasilan proyek
  • Bersifat iteratif
  • Membutuhkan komunikasi yang baik

๐Ÿ’ก Narasi Penutup:

Mahasiswa harus memahami bahwa software yang baik bukan hanya soal coding, tetapi tentang memahami kebutuhan pengguna dengan tepat.


๐Ÿ“Œ 17. Latihan / Diskusi

  1. Apa itu requirement engineering?
  2. Jelaskan tahapan requirement engineering!
  3. Apa perbedaan functional dan non-functional requirement?
  4. Mengapa validasi penting?
  5. Berikan contoh kebutuhan sistem sederhana!

๐Ÿ“Ž 18. Tugas Praktik

  • Buat dokumen SRS sederhana
  • Analisis kebutuhan sistem kampus
  • Buat Use Case Diagram