• Tidak ada hasil yang ditemukan

ANALISIS KEBUTUHAN PERANGKAT LUNAKANALISIS KEBUTUHAN PERANGKAT LUNAK

Dalam dokumen Modul Rekayasa Perangkat Lunak (Halaman 33-41)

ANALISIS KEBUTUHAN PERANGKAT LUNAK

Analisis kebutuhan perangkat lunak (

Analisis kebutuhan perangkat lunak (software requirements analysissoftware requirements analysis) merupakan) merupakan aktivitas awal dari siklus hidup pengembangan perangkat lunak. Untuk proyek-proyek aktivitas awal dari siklus hidup pengembangan perangkat lunak. Untuk proyek-proyek  perangkat

 perangkat lunak lunak yang yang besar, besar, analisis analisis kebutuhan kebutuhan dilaksanakan dilaksanakan setelah setelah aktivitasaktivitas sistemsistem information engineering

information engineering dandan software project planning.software project planning.

Tahap analisis adalah tahapan pengumpulan kebutuhan-kebutuhan dari semua elemen Tahap analisis adalah tahapan pengumpulan kebutuhan-kebutuhan dari semua elemen sistem perangkat lunak yang akan di bangun. Pada tahap ini dibentuk spesifikasi kebutuhan sistem perangkat lunak yang akan di bangun. Pada tahap ini dibentuk spesifikasi kebutuhan  perangkat

 perangkat lunak, lunak, fungsi fungsi perangkat perangkat lunak lunak yang yang dibutuhkan, dibutuhkan, performansi performansi (unjuk (unjuk kerja) kerja) sistemsistem  perangkat

 perangkat lunak, lunak, penjadwalan penjadwalan proyek, proyek, identifikasi identifikasi sumber sumber daya daya (manusia (manusia , , perangkat perangkat keraskeras dan perangkat lunak yang dibutuhkan) dan taksiran biaya pengembangan perangkat lunak. dan perangkat lunak yang dibutuhkan) dan taksiran biaya pengembangan perangkat lunak.

Kegunaan analisis adalah untuk memodelkan permasalahan dunia nyata agar dapat Kegunaan analisis adalah untuk memodelkan permasalahan dunia nyata agar dapat dimengerti. Permasalahan dunia nyata harus dimengerti dan dipelajari supaya spesifikasi dimengerti. Permasalahan dunia nyata harus dimengerti dan dipelajari supaya spesifikasi kebutuhan perangkat lunak dapat diungkapkan. Tujuan aktivitas ini adalah untuk mengetahui kebutuhan perangkat lunak dapat diungkapkan. Tujuan aktivitas ini adalah untuk mengetahui ruang lingkup produk (

ruang lingkup produk ( product  product spacespace) dan pemakai yang akan menggunakannya. Analisis) dan pemakai yang akan menggunakannya. Analisis yang baik akan mengungkapkan hal-hal yang penting dari permasalahan, dan mengabaikan yang baik akan mengungkapkan hal-hal yang penting dari permasalahan, dan mengabaikan yang tidak penting.

yang tidak penting.

Setiap metode analisis mempunyai pandangan yang berbeda. Tetapi pada dasarnya Setiap metode analisis mempunyai pandangan yang berbeda. Tetapi pada dasarnya semua metode analisis memiliki prinsip analisis yang sama, yaitu :

semua metode analisis memiliki prinsip analisis yang sama, yaitu : 1.

1. Menggambarkan domain informasi masalahMenggambarkan domain informasi masalah 2.

2. Mendefinisikan fungsi perangkat lunakMendefinisikan fungsi perangkat lunak 3.

3. Menghasilkan model yang menggambarkan informasi, fungsi dan kelakuan yangMenghasilkan model yang menggambarkan informasi, fungsi dan kelakuan yang dibagi secara rinci pada sebuah model lapisan (hirarki)

dibagi secara rinci pada sebuah model lapisan (hirarki) 4.

4. Informasi pokok pada tahap analisis memudahkan tahap implementasi yang lebihInformasi pokok pada tahap analisis memudahkan tahap implementasi yang lebih rinci.

rinci.

Tujuan tahap analisis adalah : Tujuan tahap analisis adalah : 1.

1. Menjabarkan kebutuhan pemakaiMenjabarkan kebutuhan pemakai 2.

2. Meletakkan dasar-dasar untuk tahap perancangan perangkat lunakMeletakkan dasar-dasar untuk tahap perancangan perangkat lunak 3.

3. Mendefinisikan semua kebutuhan pemakai sesuai dengan lingkup kontrak yangMendefinisikan semua kebutuhan pemakai sesuai dengan lingkup kontrak yang disepakati kedua belah pihak (pengembang dan pengguna).

disepakati kedua belah pihak (pengembang dan pengguna).

4.1.

4.1. Apa yang Disebut Kebutuhan Apa yang Disebut Kebutuhan (Requirement)(Requirement)

Pengertian Kebutuhan Pengertian Kebutuhan

Menurut arti kamus, kebutuhan adalah sesuatu yang diminta, sesuatu yang dibutuhkan. Menurut arti kamus, kebutuhan adalah sesuatu yang diminta, sesuatu yang dibutuhkan. Sedangkan menurut IEEE (

Sedangkan menurut IEEE (The Institute of Electrical and Electronics EngineersThe Institute of Electrical and Electronics Engineers)) kebutuhan adalah :

kebutuhan adalah :

Kondisi atau kemampuan yang diperlukan pemakai untuk menyelesaikan suatuKondisi atau kemampuan yang diperlukan pemakai untuk menyelesaikan suatu  persoalan, atau unt

 persoalan, atau untuk mencapai sebuah obuk mencapai sebuah objek.jek.

Kondisi atau kemampuan yang harus dipenuhi oleh sistem, dalam arti memenuhiKondisi atau kemampuan yang harus dipenuhi oleh sistem, dalam arti memenuhi kontrak, standar, spesifikasi atau dokumen formal lain yang diinginkan.

kontrak, standar, spesifikasi atau dokumen formal lain yang diinginkan. Tahap kebutuhan akan perangkat lunak dimulai dengan :

Tahap kebutuhan akan perangkat lunak dimulai dengan : 1.

1. Dikenalinya adanya sebuah permasalahan yang membutuhkan sebuah penyelesaian.Dikenalinya adanya sebuah permasalahan yang membutuhkan sebuah penyelesaian. Identifikasi sebuah permasalahan mungkin dapat dilakukan dengan berorientasi pada Identifikasi sebuah permasalahan mungkin dapat dilakukan dengan berorientasi pada aplikasi, berorientasi pada bisnis, atau berorientasi pada kenaikan produktivitas aplikasi, berorientasi pada bisnis, atau berorientasi pada kenaikan produktivitas (( product improv product improvement oriented ement oriented ).).

2.

2. Munculnya ide untuk membuat sebuah perangkat lunak baru (sebagai sebuahMunculnya ide untuk membuat sebuah perangkat lunak baru (sebagai sebuah kemajuan).

Ada dua jenis kebutuhan : Ada dua jenis kebutuhan : 1.

1. BehavioralBehavioral

apa yang dilakukan oleh sistem (input dan output dari dan ke sistem).apa yang dilakukan oleh sistem (input dan output dari dan ke sistem).

hubungan informasi antara input dan output sehingga menghasilkan sebuah fungsihubungan informasi antara input dan output sehingga menghasilkan sebuah fungsi transformasi.

transformasi. 2.

2.  Non-behavioral Non-behavioral

Mendefinisikan atribut sistem yang terkait untuk membentuk pekerjaan tersebut. Mendefinisikan atribut sistem yang terkait untuk membentuk pekerjaan tersebut. Termasuk deskripsi lengkap tentang efisiensi, keamanan (

Termasuk deskripsi lengkap tentang efisiensi, keamanan (securitysecurity),), rehabilityrehability maintenability

maintenability  (bagaimana perawatan untuk sistem), dan  (bagaimana perawatan untuk sistem), dan  portability portability  (bisa  (bisa dipindahkan dari satu perangkat keras ke perangkat keras lainnya).

dipindahkan dari satu perangkat keras ke perangkat keras lainnya). Mengapa Kebutuhan Penting ?

Mengapa Kebutuhan Penting ?

Perhatikan gambar dampak kumulatif berikut ini : Perhatikan gambar dampak kumulatif berikut ini :

 Requirements  Requirements spesifications spesifications Correct Correct spesification spesification  Erroneous  Erroneous Spesification Spesification  Design  Design Correct Correct design design  Erroneous  Erroneous design design  Design based  Design based on erroneous on erroneous spesification spesification  Implementation  Implementation Correct Correct  programs  programs Programing Programing errors errors Programs Programs based on based on erroneous erroneous design design Programs Programs based on based on erroneous erroneous spesification spesification Testing Testing correct correct  functions  functions coretable coretable errors errors uncoretable uncoretable errors

errors hiddenhidden error error

The real problem The real problem

 Imperfect program  Imperfect program

roduct  roduct 

Gambar 4.1. Dampak Kesalahan

Gambar 4.1. Dampak Kesalahan KumulatifKumulatif

Mencari kesalahan diakhir siklus hidup pengembangan perangkat lunak ternyata akan Mencari kesalahan diakhir siklus hidup pengembangan perangkat lunak ternyata akan  banyak mengeluarka

Jika dapat dideteksi, dilakukan perbaikan pada setiap tahap proses.Jika dapat dideteksi, dilakukan perbaikan pada setiap tahap proses.

Jika tidak dapat dideteksi, kesalahan baru kelihatan setelah produk selesai dibuat.Jika tidak dapat dideteksi, kesalahan baru kelihatan setelah produk selesai dibuat.

4.2. Tahap Analisis Kebutuhan Perangkat Lunak 4.2. Tahap Analisis Kebutuhan Perangkat Lunak

Tahap pekerjaan analisis kebutuhan perangkat lunak pada dasarnya terdiri dari urutan Tahap pekerjaan analisis kebutuhan perangkat lunak pada dasarnya terdiri dari urutan aktivitas :

aktivitas : 1.

1. Menentukan kebutuhan (Menentukan kebutuhan (requirement requirement ))

Lebih banyak berhubungan dengan pemakai. Hasil belum terstruktur. Lebih banyak berhubungan dengan pemakai. Hasil belum terstruktur.

Data atau informasi apa yang akan diprosesData atau informasi apa yang akan diproses

Fungsi apa yang diinginkanFungsi apa yang diinginkan

Kelakuan sistem apa yang diharapkanKelakuan sistem apa yang diharapkan

Antarmuka apa yang tersedia (Antarmuka apa yang tersedia (user interfaces, hardware interfaces, softwareuser interfaces, hardware interfaces, software interface,

interface,dandan communications interfaces communications interfaces)) 2.

2. SintesisSintesis

Mengubah kebutuhan yang belum terstruktur menjadi model atau gambar dengan Mengubah kebutuhan yang belum terstruktur menjadi model atau gambar dengan memanfaatkan teknik dan metodeanalisis tertentu.

memanfaatkan teknik dan metodeanalisis tertentu. 3.

3. Membuat dokumenMembuat dokumenSoftware Requirements SpesificationSoftware Requirements Spesification (SRS).(SRS).

Sudah merupakan analisis yang lebih rinci, sebagai tahap awal perancangan. Sudah merupakan analisis yang lebih rinci, sebagai tahap awal perancangan.

4.3.

4.3. Metode AnalisisMetode Analisis

Metode atau teknik untuk melakukan analisis kebutuhan perangkat lunak Metode atau teknik untuk melakukan analisis kebutuhan perangkat lunak dikelompokkan berdasarkan pendekatan yang diambil pada saat melakukan aktivitas dikelompokkan berdasarkan pendekatan yang diambil pada saat melakukan aktivitas tersebut.

tersebut. 1.

1. Berorientasi Aliran Data (Berorientasi Aliran Data ( Data Flow Oriented Data Flow Orientedatauatau Functional Oriented Functional Oriented ))

Sudut pandang analisis pada pendekatan ini difokuskan pada aspek fungsional dan Sudut pandang analisis pada pendekatan ini difokuskan pada aspek fungsional dan behavioral

behavioral(perilaku laku) sistem. Pengembang harus mengetahui fungsi-fungsi atau(perilaku laku) sistem. Pengembang harus mengetahui fungsi-fungsi atau  proses-proses

 proses-proses apa apa saja saja yang yang ada ada dalam dalam sistem, sistem, data data apa apa yang yang menjadi menjadi masukannya,masukannya, dimana data tersebut disimpan, transformasi apa yang akan dilakukan terhadap data dimana data tersebut disimpan, transformasi apa yang akan dilakukan terhadap data tersebuat, dan apa yang menjadi hasil transformasinya. Selain itu pengembang harus tersebuat, dan apa yang menjadi hasil transformasinya. Selain itu pengembang harus mengetahui keadaan (

mengetahui keadaan (statestate), perubahan (), perubahan (transitiontransition), kondisi (), kondisi (conditioncondition), dan aksi), dan aksi ((actionaction) dari sistem.) dari sistem.

Salah satu metode yang paling populer untuk pendekatan ini adalah Analisis Salah satu metode yang paling populer untuk pendekatan ini adalah Analisis Terstruktur (

Terstruktur (Structured AnalysisStructured Analysis) yang dikembangkan oleh Tom DeMarco, Chris) yang dikembangkan oleh Tom DeMarco, Chris Gane dan Trish Sarson, dan Edward Yourdon . Pada metode ini, hasil analisis dan Gane dan Trish Sarson, dan Edward Yourdon . Pada metode ini, hasil analisis dan  perancangan

 perancangan dimodelkan dimodelkan dengan dengan menggunakan menggunakan beberapa beberapa perangkat perangkat permodelanpermodelan seperti :

seperti :

 Data  Data Flow Flow DiagramDiagram (DFD) dan Kamus Data ((DFD) dan Kamus Data (data dictionarydata dictionary) untuk) untuk menggambarkan fungsi-fungsi dari sistem.

menggambarkan fungsi-fungsi dari sistem.

 Entity-Relationship  Entity-Relationship DiagramDiagram (ERD) untuk menggambarkan data yang disimpan(ERD) untuk menggambarkan data yang disimpan ((data storagedata storage).).

State Transition DiagramState Transition Diagram (STD) untuk menggambarkan perilaku sistem.(STD) untuk menggambarkan perilaku sistem.

Structure ChartStructure Chart untuk menggambarkan struktur programuntuk menggambarkan struktur program 2.

2. Berorientasi Struktur DataBerorientasi Struktur Data

Analisis pendekatan ini difokuskan pada struktur data, dimana struktur tersebut Analisis pendekatan ini difokuskan pada struktur data, dimana struktur tersebut dapat dinyatakan secara hirarki dengan menggunakan konstruksi

dapat dinyatakan secara hirarki dengan menggunakan konstruksisequence, selectionsequence, selection dan

Data Structured System Development (DSSD)Data Structured System Development (DSSD)

Diperkenalkan pertama kali oleh J.D. Warnier [1974] dan kemudian oleh Ken Orr Diperkenalkan pertama kali oleh J.D. Warnier [1974] dan kemudian oleh Ken Orr [1977], sehingga sering disebut juga metode Warnier-Orr. Metode ini [1977], sehingga sering disebut juga metode Warnier-Orr. Metode ini menggunakan perangkat

menggunakan perangkatentity diagram, assembly line diagramentity diagram, assembly line diagram dandan Warnier-Orr Warnier-Orr diagram untuk memodelkan hasil analisis dan rancangannya.

diagram untuk memodelkan hasil analisis dan rancangannya.

Jackson Sistem Development (JSD)Jackson Sistem Development (JSD)

Dikembangkan oleh M.A. Jackson [1975] dengan menggunakan perangkat Dikembangkan oleh M.A. Jackson [1975] dengan menggunakan perangkat  permodelan yang dis

 permodelan yang disebutebutstrukture diagramstrukture diagram dandan sistem spesification diagram. sistem spesification diagram. 3.

3. Berorientasi objekBerorientasi objek

Berbeda dengan pendekatan-pendekatan sebelumnya, pendekatan berorientasi objek Berbeda dengan pendekatan-pendekatan sebelumnya, pendekatan berorientasi objek memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang  berkoresponde

 berkorespondensi nsi dengan dengan objek-objek objek-objek dunia dunia nyata. nyata. Pada Pada pendekatan pendekatan ini, ini, informasiinformasi dan proses yang dipunyai oleh suatu objek “dienkapsulasi” (dibungkus) dalam satu dan proses yang dipunyai oleh suatu objek “dienkapsulasi” (dibungkus) dalam satu kesatuan. Beberapa metode pengembangan sistem yang berorientasi objek ini kesatuan. Beberapa metode pengembangan sistem yang berorientasi objek ini diantaranya adalah :

diantaranya adalah :

Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari PeterObject Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon [1990].

Coad dan Edward Yourdon [1990].

Object Modelling Technique (OMT) dari James Rumbaugh [1987].Object Modelling Technique (OMT) dari James Rumbaugh [1987].

Object Oriented Software Engineering (OOSE)Object Oriented Software Engineering (OOSE)

4.4. Analisis Berorientasi Aliran Data

4.4. Analisis Berorientasi Aliran Data

Pendekatan dari sisi bisnis (DeMarco,

Pendekatan dari sisi bisnis (DeMarco, Yourdan dan Senn). Yourdan dan Senn). Analisis aliran data adalahAnalisis aliran data adalah analisis

analisis yang yang dilakukan dilakukan untuk untuk mempelajari mempelajari pemanfaatan pemanfaatan data data pada pada setiap setiap aktifitas.aktifitas. Menampilkan hasil pengamatan dalam apa yang disebut

Menampilkan hasil pengamatan dalam apa yang disebut Data  Data Flow Flow DiagramDiagram  (DFD) atau  (DFD) atau Diagram Alir Data (DAD).

Diagram Alir Data (DAD).

4.4.1. Diagram Aliran Data (Data Flow Diagram)

4.4.1. Diagram Aliran Data (Data Flow Diagram)

Pengertian Pengertian

Suatu tampilan grafis yang memunculkan relasi/hubungan antara proses dan dataSuatu tampilan grafis yang memunculkan relasi/hubungan antara proses dan data  berserta kamus dat

 berserta kamus data yang menjelaskan rinciaa yang menjelaskan rincian data yang dipergunan data yang dipergunakankan

Diagram untuk menggambarkan aliran data dalam sistem, sumber dan tujuan data,Diagram untuk menggambarkan aliran data dalam sistem, sumber dan tujuan data,  proses yang mengola

 proses yang mengolah data tersebut, dan teh data tersebut, dan tempat penyimpanan datanympat penyimpanan datanya.a.

Representasi jaringan dari sistem yang menggambarkan sistem berdasarkanRepresentasi jaringan dari sistem yang menggambarkan sistem berdasarkan komponen-komponennya dengan semua antar muka diantara komponen-komponen komponen-komponennya dengan semua antar muka diantara komponen-komponen tersebut.

tersebut.

Perangkat permodelan yang dapat menggambarkan sistem sebagai sebuah jaringanPerangkat permodelan yang dapat menggambarkan sistem sebagai sebuah jaringan  proses-proses

 proses-proses fungsional fungsional yang yang satu satu dengan dengan yang yang lainnya lainnya dihubungkan dihubungkan oleh oleh “pipa“pipa saluran” data.

saluran” data.

Diagram yang merepresentasikan bagaimana informasi keluar masuk dari ke sistem,Diagram yang merepresentasikan bagaimana informasi keluar masuk dari ke sistem,  proses apa yang

 proses apa yang mengubah informasi tersebmengubah informasi tersebut dan dimana informasi disut dan dimana informasi disimpan.impan.

Diperkenalkan oleh Tom DeMarco serta Chris Gane dan Trish Sarson berdasarkanDiperkenalkan oleh Tom DeMarco serta Chris Gane dan Trish Sarson berdasarkan notasi SADT (

notasi SADT (Structure Analysis dan Design TechniqueStructure Analysis dan Design Technique).).

Merupakan salah satu teknik yang cukup penting dalam menganalisa sistem karena :Merupakan salah satu teknik yang cukup penting dalam menganalisa sistem karena :

Dapat mendefinisikan batasan sistem.Dapat mendefinisikan batasan sistem.

Merupakan dasar perancangan dengan memunculkan proses-proses pengolahanMerupakan dasar perancangan dengan memunculkan proses-proses pengolahan data.

data.

Dapat digunakan untuk menggambarkan aktivitas proses secara paralel (beberapaDapat digunakan untuk menggambarkan aktivitas proses secara paralel (beberapa aliran data dapat terjadi secara simultan). Bandingkan dengan flowmap yang hanya aliran data dapat terjadi secara simultan). Bandingkan dengan flowmap yang hanya dapat menggambarkan aliran data (dokumen) secara serial.

dapat menggambarkan aliran data (dokumen) secara serial.

Dalam dokumen Modul Rekayasa Perangkat Lunak (Halaman 33-41)