Bab 1 : Software Requirements
Bab 1 : Software Requirements
Bagian 1 : Dasar dasar software requirements
A.
Definisi Dan
Kategori Kebutuhan Perangkat Lunak
1.
Definisi
software requirements adalah Kumpulan kebutuhan dan harapan yang harus dipenuhi
oleh suatu perangkat lunak agar dapat berfungsi sesuai dengan tujuan yang
diinginkan. Kebutuhan ini mencakup apa saja yang harus dilakukan oleh system,
bagaiman system tersebut bekerja, serta Batasan Batasan yang harus dipatuhi
selama proses pengembangan. Software requirements menjadi dasar utama dalam
perancangan, pengembangan, dan pengujian perangkat lunak sehingga hasil akhir
yang dibuat sesuai dengan kebutuhan pengguna dan tujuan proyek.
2.
Perbedaan
antara kebutuhan fungsional dan kebutuhan non-fungsional
|
Kategori Kebutuhan |
Definisi |
Contoh |
|
Fungsional |
Kebutuhan yang menjelaskan fungsi atau layanan utama yang
harus disediakan oleh system serta bagaimana system merespons input dari
pengguna. Kebutuhan ini berfokus pada apa yang dilakukan oleh perangkat
lunak. |
System dapat melakukan login pengguna, menampilkan data,
menyimpan transaksi, dan mencetak laporan. |
|
Non fungsional |
Kebutuhan yang menjelaskan kualitas, Batasan, atau
karakteristik system dalam menjalankan fungsinya. Kebutuhan ini berfokus
pada bagaimana system bekerja. |
sistem memiliki waktu respon kurang dari 3 detik, data pengguna
terlindungi dengan enkripsi, dan aplikasi dapat diakses 24 jam. |
3.
Contoh Kebutuhan Perangkat Lunak
Berdasarkan Studi Kasus
a. Sistem Manajemen Perpustakaan Digital
Kebutuhan Fungsional:
1.
Sistem memungkinkan pengguna
melakukan login sebagai anggota atau admin.
2.
Sistem dapat menampilkan katalog
buku digital berdasarkan judul, penulis, atau kategori.
3.
Sistem memungkinkan pengguna
meminjam dan mengembalikan buku secara digital.
4.
Sistem mencatat riwayat peminjaman
setiap pengguna.
5.
Admin dapat menambah, mengubah, dan
menghapus data buku.
Kebutuhan Non-Fungsional:
1.
Sistem harus dapat diakses selama 24
jam.
2.
Waktu respon pencarian buku maksimal
3 detik.
3.
Data pengguna harus terlindungi
dengan sistem keamanan login.
4.
Sistem dapat diakses melalui
berbagai perangkat (PC dan mobile).
5.
Antarmuka sistem mudah digunakan
oleh pengguna umum.
b. Aplikasi Mobile Pemesanan Tiket
Kebutuhan Fungsional:
1.
Aplikasi memungkinkan pengguna
melakukan registrasi dan login.
2.
Pengguna dapat mencari tiket
berdasarkan tujuan dan tanggal keberangkatan.
3.
Aplikasi menampilkan detail jadwal
dan harga tiket.
4.
Pengguna dapat melakukan pemesanan
dan pembayaran tiket.
5.
Aplikasi mengirimkan e-tiket setelah
transaksi berhasil.
Kebutuhan Non-Fungsional:
1.
Aplikasi memiliki tampilan yang
responsif di berbagai ukuran layar.
2.
Sistem pembayaran harus aman dan
terenkripsi.
3.
Aplikasi memiliki waktu respon cepat
saat proses pemesanan.
4.
Aplikasi dapat berjalan pada sistem
operasi Android.
5.
Aplikasi tetap stabil meskipun
digunakan oleh banyak pengguna secara bersamaan.
B.
Teknik Elicitation
Kebutuhan
1.
Tujuan Elicitation Kebutuhan
Perangkat Lunak
Tujuan dari
elicitation kebutuhan perangkat lunak adalah untuk mengidentifikasi, mengumpulkan,
dan memahami kebutuhan pengguna serta pemangku kepentingan secara jelas dan
lengkap. Proses ini bertujuan agar perangkat lunak yang dikembangkan
benar-benar sesuai dengan kebutuhan pengguna, mengurangi kesalahan pemahaman,
serta meminimalkan perubahan kebutuhan di tahap pengembangan selanjutnya.
2.
Teknik Elicitation Kebutuhan dan
Contoh Penerapannya
|
Teknik Elicitation |
Deskripsi Singkat |
Contoh Penerapan |
|
Wawancara |
Teknik pengumpulan kebutuhan melalui tanya jawab langsung dengan
stakeholder. |
Developer mewawancarai pustakawan untuk mengetahui alur
peminjaman buku. |
|
Observasi |
Teknik dengan mengamati langsung aktivitas pengguna dalam sistem
yang berjalan. |
Mengamati proses pembelian tiket di loket untuk memahami alur
pemesanan. |
|
Prototyping |
Pembuatan contoh tampilan sistem untuk memperoleh umpan balik
pengguna. |
Membuat mockup aplikasi tiket dan meminta pengguna mencoba fitur
pencarian. |
|
Questionnaires |
Pengumpulan kebutuhan melalui kuesioner yang dibagikan ke banyak
pengguna. |
Menyebarkan survei kepuasan pengguna aplikasi pemesanan tiket. |
|
Workshop |
Diskusi kelompok yang melibatkan berbagai stakeholder. |
Workshop antara developer, admin, dan user untuk menentukan fitur
utama sistem. |
3.
Teknik Elicitation yang Paling
Efektif untuk Proyek E-commerce
Teknik elicitation yang paling
efektif untuk proyek e-commerce adalah prototyping. Hal ini
karena pengguna dapat langsung melihat dan mencoba gambaran sistem yang akan
dibangun, sehingga lebih mudah memberikan masukan terkait fitur, tampilan, dan
alur transaksi. Prototyping juga membantu mengurangi kesalahpahaman antara
pengguna dan pengembang serta mempercepat proses penyempurnaan kebutuhan
sistem.
Bagian 2 : analisis dan Spesifikasi Kebutuhan
Perangkat Lunak
A. Analisis
Kebutuhan
1.
Tujuan Utama Analisis Kebutuhan
Perangkat Lunak
Tujuan utama
analisis kebutuhan perangkat lunak adalah untuk memahami secara mendalam apa
saja yang dibutuhkan oleh pengguna dan pihak terkait sebelum sistem
dikembangkan. Melalui analisis kebutuhan, pengembang dapat menerjemahkan
kebutuhan pengguna menjadi spesifikasi yang jelas, terstruktur, dan realistis.
Proses ini juga membantu mengurangi kesalahan perancangan, mencegah perubahan
kebutuhan yang terlalu sering, serta memastikan bahwa perangkat lunak yang
dibangun benar-benar sesuai dengan tujuan dan konteks penggunaannya.
2.
Identifikasi Kebutuhan Berdasarkan
Studi Kasus
Sistem E-learning Universitas
|
Kategori Kebutuhan |
Kebutuhan |
|
Fungsional |
1. Sistem memungkinkan mahasiswa dan dosen melakukan login sesuai
dengan peran masing-masing. |
|
2. Dosen dapat mengunggah materi perkuliahan dan tugas secara
online. |
|
|
3. Mahasiswa dapat mengakses materi, mengumpulkan tugas, dan
melihat nilai. |
|
|
Non-Fungsional |
1. Sistem harus dapat diakses kapan saja melalui jaringan
internet. |
|
2. Sistem memiliki waktu respon yang cepat saat membuka materi
atau mengumpulkan tugas. |
|
|
3. Data akademik pengguna harus tersimpan dengan aman dan
terlindungi. |
B. Spesifikasi
Kebutuhan
1.
Perbedaan Spesifikasi Kebutuhan Natural
Language dan Model-Based Requirements
Spesifikasi
kebutuhan dengan natural language ditulis menggunakan bahasa sehari-hari
yang mudah dipahami oleh semua pihak, termasuk pengguna non-teknis. Pendekatan
ini fleksibel dan sederhana, tetapi berpotensi menimbulkan ambiguitas karena
perbedaan penafsiran.
Sementara itu, model-based
requirements menggunakan model atau diagram seperti UML untuk menggambarkan
kebutuhan sistem secara visual dan terstruktur. Pendekatan ini lebih jelas dan
sistematis, namun membutuhkan pemahaman teknis yang lebih tinggi sehingga tidak
selalu mudah dipahami oleh semua pengguna.
2.
Contoh Spesifikasi Kebutuhan
Menggunakan Structured Natural Language
Studi Kasus: Aplikasi Mobile untuk Pemesanan Transportasi Online
Spesifikasi Kebutuhan 1
· ID
Kebutuhan: FR-01
· Deskripsi
Kebutuhan: Sistem harus memungkinkan pengguna melakukan registrasi dan login
menggunakan nomor telepon atau email.
· Kategori:
Fungsional
· Prioritas:
Tinggi
· Kriteria
Penerimaan:
o Pengguna
dapat membuat akun baru dengan data yang valid
o Pengguna
berhasil masuk ke aplikasi setelah login
Spesifikasi Kebutuhan 2
· ID
Kebutuhan: FR-02
· Deskripsi
Kebutuhan: Sistem harus memungkinkan pengguna memesan layanan transportasi
dengan menentukan lokasi penjemputan dan tujuan.
· Kategori:
Fungsional
· Prioritas:
Tinggi
· Kriteria
Penerimaan:
o Sistem
menampilkan peta lokasi penjemputan dan tujuan
o Pesanan
berhasil dikirim ke pengemudi
Spesifikasi Kebutuhan 3
· ID
Kebutuhan: FR-03
· Deskripsi
Kebutuhan: Sistem harus menampilkan estimasi biaya dan waktu perjalanan sebelum
pemesanan dikonfirmasi.
· Kategori:
Fungsional
· Prioritas:
Sedang
· Kriteria
Penerimaan:
o Estimasi
biaya muncul sebelum tombol konfirmasi
o Estimasi
waktu perjalanan dapat dilihat pengguna
Spesifikasi Kebutuhan 4
· ID
Kebutuhan: NFR-01
· Deskripsi
Kebutuhan: Aplikasi harus memiliki waktu respon yang cepat saat digunakan.
· Kategori:
Non-Fungsional
· Prioritas:
Sedang
· Kriteria
Penerimaan:
o Halaman
utama terbuka dalam waktu kurang dari 3 detik
o Proses
pemesanan berjalan tanpa lag berlebihan
Spesifikasi Kebutuhan 5
· ID
Kebutuhan: NFR-02
· Deskripsi
Kebutuhan: Sistem harus menjaga keamanan data pribadi pengguna.
· Kategori:
Non-Fungsional
· Prioritas:
Tinggi
· Kriteria
Penerimaan:
o Data
pengguna tidak dapat diakses tanpa otorisasi
o Proses
login menggunakan autentikasi yang aman
3.
Diagram Sederhana Hubungan Kebutuhan
Perangkat Lunak
(Use Case Diagram – Deskripsi Teks)
Aktor:
· Pengguna
· Pengemudi
Use Case Utama:
1.
Login / Registrasi
2.
Memesan Transportasi
3.
Melihat Estimasi Biaya dan Waktu
4.
Menerima Pesanan (Pengemudi)
5.
Menyelesaikan Perjalanan
Hubungan Use Case:
· Pengguna
→ Login → Memesan Transportasi
· Memesan
Transportasi → Melihat Estimasi Biaya
· Pengemudi
→ Menerima Pesanan → Menyelesaikan Perjalanan
Bagian 3: Validasi dan Manajemen Perubahan
Kebutuhan
A.
Validasi Kebutuhan
1.
Pentingnya Validasi Kebutuhan
Perangkat Lunak
Validasi
kebutuhan perangkat lunak sangat penting untuk memastikan bahwa kebutuhan yang
telah dikumpulkan dan dianalisis benar-benar sesuai
dengan harapan pengguna dan tujuan sistem. Melalui
proses validasi, pengembang dapat mendeteksi kesalahan, ketidaksesuaian, atau
kebutuhan yang belum lengkap sejak tahap awal. Dengan demikian, risiko
terjadinya kesalahan besar pada tahap implementasi dapat dikurangi, serta waktu
dan biaya pengembangan dapat dikendalikan dengan lebih baik.
2.
Metode Validasi Kebutuhan dan Contoh
Penerapannya
|
Metode Validasi |
Deskripsi Singkat |
Contoh Penerapan |
|
Review Kebutuhan |
Proses peninjauan kebutuhan bersama stakeholder untuk memastikan
kejelasan dan kelengkapan. |
Tim pengembang dan pengguna mengevaluasi dokumen kebutuhan sistem
e-learning. |
|
Prototyping |
Validasi kebutuhan melalui model atau contoh sistem. |
Pengguna mencoba tampilan awal aplikasi dan memberikan masukan. |
|
Simulasi dan Eksekusi |
Pengujian alur kebutuhan melalui skenario penggunaan. |
Mensimulasikan proses pemesanan transportasi dari awal hingga
akhir. |
3.
Analisis Kemungkinan Kesalahan dalam
Spesifikasi Kebutuhan dan Cara Mengatasinya
Kesalahan yang
sering terjadi dalam spesifikasi kebutuhan antara lain kebutuhan yang ambigu,
kebutuhan tidak lengkap, dan perbedaan pemahaman antara pengguna dan
pengembang. Untuk mengatasinya, diperlukan komunikasi yang intensif dengan
stakeholder, penggunaan bahasa yang jelas dan terstruktur, serta penerapan
validasi secara berkala melalui review dan prototyping.
B.
Manajemen Perubahan Kebutuhan
1.
Terjadinya Perubahan Kebutuhan dalam
Siklus Pengembangan Perangkat Lunak
Perubahan
kebutuhan dapat terjadi karena berbagai faktor, seperti perubahan kebutuhan
pengguna, perkembangan teknologi, kebijakan organisasi, atau hasil evaluasi
selama proses pengembangan. Dalam siklus pengembangan perangkat lunak,
perubahan ini merupakan hal yang wajar dan perlu dikelola dengan baik agar tidak
mengganggu jadwal maupun kualitas sistem.
2.
Contoh Situasi Perubahan Kebutuhan
dan Strategi Mengatasinya
|
Situasi Perubahan Kebutuhan |
Dampak |
Strategi Mengatasi |
|
Pengguna meminta fitur baru di tengah pengembangan |
Jadwal pengembangan menjadi lebih lama |
Melakukan analisis dampak dan menentukan prioritas fitur |
|
Perubahan aturan keamanan data |
Sistem perlu disesuaikan |
Memperbarui spesifikasi dan melakukan penyesuaian desain |
|
Perubahan platform yang digunakan |
Penyesuaian teknis diperlukan |
Evaluasi ulang arsitektur sistem |
3.
Simulasi Proses Perubahan Kebutuhan
Penyebab Perubahan:
Perubahan terjadi karena pengguna menginginkan fitur pelacakan perjalanan
secara real-time pada aplikasi transportasi online.
Evaluasi Dampak Perubahan:
Tim pengembang menganalisis pengaruh perubahan terhadap waktu pengembangan,
biaya, serta kebutuhan teknis tambahan seperti integrasi GPS.
Langkah-Langkah Implementasi Perubahan:
1.
Mendokumentasikan perubahan
kebutuhan secara resmi.
2.
Melakukan analisis dampak terhadap
sistem yang sedang dikembangkan.
3.
Menyesuaikan desain dan spesifikasi
kebutuhan.
4.
Mengimplementasikan perubahan dan
melakukan pengujian ulang.
5.
Memvalidasi kembali hasil perubahan
bersama pengguna.
Bagian 4 : Alat Bantu dalam Pengelolaan Kebutuhan
Perangkat Lunak
1.
Identifikasi dan Penjelasan Alat
Bantu
Tiga alat bantu
yang umum digunakan dalam pengelolaan kebutuhan perangkat lunak adalah IBM
DOORS, JIRA, dan Enterprise Architect.
· IBM
DOORS
digunakan untuk mengelola kebutuhan secara terstruktur dan terdokumentasi
dengan baik, terutama pada proyek berskala besar.
· JIRA berfungsi
sebagai alat manajemen proyek yang juga mendukung pencatatan dan pelacakan
kebutuhan dalam bentuk issue atau backlog.
· Enterprise
Architect digunakan untuk memodelkan kebutuhan perangkat lunak dalam bentuk
diagram dan dokumentasi berbasis UML.
2.
Perbandingan Alat Bantu Pengelolaan
Kebutuhan
|
Nama Alat Bantu |
Fitur Utama |
Kelebihan |
Kekurangan |
|
IBM DOORS |
Manajemen dan pelacakan kebutuhan |
Cocok untuk proyek besar dan kompleks |
Biaya lisensi mahal |
|
JIRA |
Pencatatan kebutuhan dan manajemen tugas |
Mudah digunakan dan fleksibel |
Tidak khusus untuk requirements |
|
Enterprise Architect |
Pemodelan UML dan dokumentasi |
Visual dan terstruktur |
Membutuhkan pemahaman teknis |
3.
Alat Bantu yang Dipilih dan Alasan
Jika
bekerja dalam tim pengembang perangkat lunak, alat bantu yang dipilih adalah JIRA.
Alasannya karena JIRA mudah digunakan, mendukung kolaborasi tim, serta mampu
mengelola perubahan kebutuhan secara dinamis melalui backlog dan sprint. Selain
itu, JIRA cocok digunakan dalam metode pengembangan agile yang banyak
diterapkan saat ini.
Kesimpulan dan
Refleksi
1.
Kesimpulan
Berdasarkan
pembahasan dalam lembar kerja ini, dapat disimpulkan bahwa pemahaman tentang software
requirements merupakan faktor penting dalam keberhasilan pengembangan
perangkat lunak. Analisis, spesifikasi, validasi, dan manajemen perubahan
kebutuhan membantu memastikan sistem yang dibangun sesuai dengan kebutuhan
pengguna serta mengurangi risiko kesalahan selama proses pengembangan.
2.
Refleksi Pribadi
Tantangan terbesar dalam memahami
kebutuhan perangkat lunak adalah menyelaraskan kebutuhan pengguna dengan
batasan teknis dan waktu pengembangan. Namun, dengan menerapkan teknik
elicitation, validasi kebutuhan, dan penggunaan alat bantu yang tepat, tantangan
tersebut dapat diminimalkan. Konsep yang dipelajari dapat diterapkan dalam
proyek nyata untuk menghasilkan perangkat lunak yang lebih efektif dan sesuai
kebutuhan pengguna.
Nama : Mutia ardelia rokhima
NIM : 240605110075
Komentar
Posting Komentar