A. KEBUTUHAN (REQUIREMENT)
Pengertian Kebutuhan Menurut arti kamus, kebutuhan adalah sesuatu yang diminta, sesuatu
yang dibutuhkan. Sedangkan menurut IEEE (The Institute of Electrical and Electronics
Engineers) kebutuhan adalah :
Kondisi atau kemampuan yang diperlukan pemakai untuk menyelesaikan suatu
persoalan, atau untuk mencapai sebuah objek.
Kondisi atau kemampuan yang harus dipenuhi oleh sistem, dalam arti memenuhi
kontrak, standar, spesifikasi atau dokumen formal lain yang diinginkan.
Tahap kebutuhan akan perangkat lunak dimulai dengan:
1. Dikenalinya adanya sebuah permasalahan yang membutuhkan sebuah penyelesaian.
Identifikasi sebuah permasalahan mungkin dapat dilakukan dengan berorientasi pada
aplikasi, berorientasi pada bisnis, atau berorientasi pada kenaikan produktivitas
(product improvement oriented).
2. Munculnya ide untuk membuat sebuah perangkat lunak baru (sebagai sebuah
kemajuan).
1. Domain Informasi
Semua aplikasi perangkat lunak secara kolektif dapat disebut data processing.
Menarik bahwa istilah itu berisi sebuah kunci ke pemahaman terhadap persyaratan
perangkat lunak. Perangkat lunak dibangun untuk memproses data, menstraformasi
data dari bentuk yang satu kebentuk yang lain, yaitu untuk menerima input,
memanipulasinya dengan berbagai cara, dan menghasilkan output. Pernyataan
mendasar dari sasaran ini benar bila kita membangun perangkat lunak batch untuk
system daftar gaji atau perangkat lunak real-time embedded untuk mengontrol aliran
bahan bakar ke mesin kendaraan bermotor.
Tetapi sangat penting untuk dicatat bahwa perangkat lunak juga memproses event.
Event mewakili banyak aspek dari control system dan tidak lebih daripada data Boolean
– baik on atau off, true or false, there or not there. Sebagai contoh, sensor tekanan
mendeteksi bahwa tekanan melampaui batas nilai aman dan mengirimkan sebuah sinyal
alarm ke monitoring perangkat lunak. Sinyal alarm tersebut merupakan suatu event
yang mengontrol tingkah laku system. Dengan demikian, data (bilangan, karakter, citra,
suara, dll) dan control (kejadian), keduanya ada pada domain informasi dari suatu
masalah.
Prinsip analisis operasional yang pertama membutuhkan suatu pengujian domain
informasi. Domain informasi berisi tiga pandangan yang berbeda dari data dan control
ketika masing – masing dip roses oleh program computer:
a. Muatan dan hubungan informasi
b. Aliran informasi
c. Struktur informasi
Untuk benar – benar memahami domain informasi, masing – masing dari pandangan
tersebut harus diperhatikan. Muatan Informasi mewakili data dan objek control
individual yang terdiri dari beberapa kumpulan informasi yang lebih besar yang di
transformasikan oleh perangkat lunak. Misalnya, objek data paycheck merupakan
sebuah gabungan dari sejumlah data yang penting : nama pembayar, jumlah bersih yang
dibayarkan, pembayaran keseluruhan, potongan, dan seterusnya. Demikianlah, muatan
dari paycheck ditentukan oleh atribut – atribut yang dibutuhkan untuk membuatnya.
Dengan cara yang sama, muatan dari suatu objek control yang disebut status system
dapat dibatasi oleh sebuah string dari banyak bit. Masing – masing bit mewakili jenis
informasi yang berbeda yang menunjukkan apakah perangkat tertentu itu on-line atau
off-line.
Objek data dan control dapat dihubungkan dengan objek data dan control lainnya.
Sebagai contoh, objek data paycheck memiliki satu hubungan atau lebih dengan objek
timecard, employee, bank dan lain – lain. Selama analisis domain informasi, hubungan
– hubungan itu harus ditetapkan.
Aliran informasi mewakili cara dimana data dan kontrol berubah pada saat masing –
masing bergerak melalui sebuah system. Spereti diperlihatkan pada Gambar 11.3, objek
input ditransformasikan ke informasi intermediate ( data dan atau control), dan lebih
jauh lagi ditransformasikan ke output. Sepanjang jalur transformasi tersebut, informasi
tambahan dapat dimunculkan dari penyimpanan data yang ada (seperti, file disket atau
memory buffer). Transformasi yang diaplikasikan merupakan fungsi atau subfungsi
yang harus dilakukan oleh sebuah program. Data dan control yang bergerak diantara
dua (fungsi) transformasi menentukan interface dari masing” fungsi.
Struktur informasi mewakili organisasi internal dari berbagai jenis data dan control.
Apakah jenis data akan diorganisasi sebagai sebuah table n-dimensi atau sebagai sebuah
struktur pohon hirarki? Dalam konteks struktur, informasi apa yang dihubungkan
dengan informasi lain? Apakah semua informasi di isikan ke dalam sebuah struktur
tunggal atau akan digunakan struktur yang berbeda? Bagaimana informasi dalam suatu
struktur informasi berhubungan dengan informasi pada struktur yang lain? Pertanyaan
– pertanyaan tersebut dijawab dengan suatu penilaian struktur informasi. Harus dicatat
juga bahwa struktur data, konsep yang berhubungan yang akan di diskusikan pada buku
ini, mengacu pada perancangan dan implementasi informasi.
2. Pemodelan
Kita menciptakan model untuk memperoleh pemahaman yang lebih baik mengenai
entitas actual yang akan dibangun. Bila entitas tersebut berupa sebuah bentuk fisik
(bangunan, pesawat, mesin), kita dapat membangun model yang identik dalam bentuk
dan potongan, tetapi dalam skala yang lebih kecil. Tetapi bila entitas yang akan
dibangun adalah perangkat lunak, maka model harus memakai bentuk yang berbeda.
Model harus dapat memodelkan informasi yang di transformasikan oleh perangkat
lunak, fungsi (dan subfungsi) yang memungkinkan transformasi terjadi, dan tingkah
laku system pada saat transformasi terjadi.
Selama analisis persyaratan perangkat lunak, kita menciptakan model system yang akan
dibuat. Model tersebut berfokus pada apa yang harus dilakukan oleh system, bukan
pada bagaimana system melakukannya. Dalam beberapa kasus, model yang kita buat
menggunakan notasi grafis yang menggambarkan informasi, pemrosesan, tingkah laku
system, dan karakteristik lain sebagai symbol yang berbeda dan dapat dikenali. Bagian
lain dari model dapat benar – benar tekstual. Informasi deskriptif dapat diberikan
dengan menggunakan bahasa natural atau bahasa khusus untuk menggambarkan
persyaratannya.
Prinsip analisis operasional kedua dan ketiga mengharuskan kita membangun model
fungsi dan tingkah laku :
1. Model fungsional.
Perangkat lunak mentransformasi informasi, dan untuk melakukannya, perangkat
lunak harus melakukan paling tidak tiga fungsi genetic: input, pemrosesan, dan
output. Pada saat model fungsional dari suatu aplikasi dibuat, perekayasa perangkat
lunak memfokuskan dri pada fungsi – fungsi masalah khusus. Model fungsi dimulai
dengan sebuah model tingkat konteks tunggal (yakni nama perangkat lunak yang
akan dibuat). Dengan serangkaian iterasi , maka lebih banyak lagi detail fungsional
diberikan, smapai seluruh rancangan dari semua fungsionalitas system terwakili.
2. Model tingkah laku.
Sebagian besar perangkat lunak merespon kejadian – kejadian dari dunia luar.
Karakteristik stimulus-respon ini membentuk dasar dari model tingkah laku.
Program computer selalu ada dalam pernyataan – suatu mode tingkah laku yang
dapat di obeservasi secara eksternal (misalnya, penungguan, penghitungan,
pencetakan, polling) yang diubah hanya pada saat beberapa event berlangsung.
Contohnya, perangkat lunak akan tetap berada dalam wait state sampai (1) jam
internal menunjukkan bahwa beberapa interval waktu telah berlalu, (2) satu event
eksternal (misalnya, pergerakan mouse) menyebabkan suatu interupsi, atau (3)
sebuah system eksternal member sinyal kepada perangkat lunak agar bergerak
dengan beberapa cara. Model tingkah laku menciptakan representasi pernyataan –
pernyataan perangkat lunak dan event – event yang menyebabkan perangkat lunak
mengubah pernyataan.
Model yang diciptakan selama analisis persyaratan melayani sejumlah peran penting :
Model membantu analisis dalam memahami informasi, fungsi, dan tingkah laku
suatu system, sehingga membuat tugas analisis persyaratan menjadi lebih mudah
dan lebih sistematis.
Model menjadi titik focus bagi kajian sehingga merupakan kunci bagi penetuan
kelengkapan, konsistensi, dan akurasi dari spesifikasi.
Model menjadi dasar bagi pengerjaan desain, member perancang suatu representasi
esensial dari perrangkat lunak yang dapat diterjemahkan ke dalam suatu konteks
implementasi.
3. Pembagian
Masalah sering menjadi terlalu luas atau terlalu rumit untuk dipahami sebagai salah
satu kesatuan. Karena itulah kita cenderung membagi masalah seperti itu ke dalam
bagian – bagian sehingga dapat dipahami dengan mudah dan kemudian membangun
interface antara bagian – bagian tersebut, sehingga keseluruhan fungsi dapat dilakukan.
Prinsip analisis operasional keempat menyatakan bahwa domain informasi, fungsional,
dan tingkah laku perangkat lunak tidak dapat dibagi – bagi. Secara konseptual, kita
membangun sebuah representasi hirarki dari informasi atau fungsi dan kemudian
membagi elemen bagian paling atas (1). mengekpos detail pertambahan dengan
bergerak secara vertical dalam hirarki (2). Mendekomposisi masalah dengan bergerak
secara horizontal dalam hirarki.
Persyaratan untuk perangkat lunak Safe Home dapat dianalisis dengan pembagian
domain informasi, fungsional, dan tingkah laku produk. Untuk mengilustrasikannya,
domain fungsional dari masalah tersebut akan di bagi – bagi.
Pendekatan pembagian yang telah di aplikasikan pada fungsi – fungsi Safe-home juga
dapat di aplikasikan padadomain informasi dan kelakuan system akan memberikan
wawasan tambahan ke dalam persyaratan system. Pada saat masalah di bagi – bagi,
interface di antara system – system ditarik. Data dan control yang bergerak melewati
suatu interface harus dibatasi untuk input yang diperlukan untuk melakukan fungsi
yang dinyatakan dan outputyang diperlukan oleh elemen fungsi atau system yang lain.
4. Pandangan Esensial dan Implementasi
Pandangan esensial persyaratan perangkat lunak menyajikan fungsi yang akan
dikerjakan dan informasi yang akan diproses tanpa melihat detail implementasinya.
Sebagai contoh, pandangan esensial dari fungsi Safe Home read sensor status tidak
tergantung pada bentuk fisik dari data atau tipe sensor yang digunakan. Pada dasarnya,
dapat diperdebatkan bahwa read status akan menjadi nama yang lebih sesuai bagi fungsi
tsb, karena fungsi itu tidak mengabaikan detail mekanisme input keseluruhan. Dengan
cara yang sama, sebuah model data esensial dari item data phone number
(diimplikasikan oleh fungsi dial phone number) dpt di representasikan pada tahap ini
tanpa menghiraukan struktur data yang utama (bila ada) yang digunakan untuk
mengimplementasi item data.
Pandangan implementasi dari persyaratan menyajikan manifestasi dunia nyata dari
pemrosesan fungsi – fungsi dan struktur informasi. Perangkat input Safe Home
merupakan sebuah sensor perimeter. Sensor tsb mendeteksi masukan ilegal dengan
“mengendus” adanya break dalam sebuah rangkaian listrik. Analisis harus mengenali
batasan yang dikenakan oleh elemen system yang diberlakukan oleh elemen (sensor)
system sebelumnya dan mempertimbangkan pandangan implementasi fungsi dan
informasi bila pandangan semacam itu sesuai.
Kelemahan prototyping :
1. Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum
mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan
kemampuan pemeliharaan untuk jangka waktu lama.
2. Pengembang biasanya ingin cepat menyelesaikan proyek sehingga menggunakan
algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih
cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan
sebuah kerangka kerja(blueprint) dari sistem .
3. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan
teknik perancangan yang baik dan benar.
Dalam setiap metode mempunyai kelebihan maupun kekurangan, namun kekurangan
tersebut dapat diminimalisir yaitu dengan mengetahui kunci dari model prototype tersebut.
Kunci agar model prototype ini berhasil dengan baik adalah dengan mendefinisikan aturan-
aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototype
dibangun untuk mendefinisikan kebutuhan.