PEMODELAN DAN SPESIFIKASI ANALISIS SISTEM
DENGAN MENEKANKAN PADA FAKTOR MANUSIA
Mata Kuliah : Software Engineering
Dosen : Dr. Stefanus Santosa, M.Kom
Disusun oleh :
Amran Yobioktabera
P31.2015.01737
MTI Angkatan 27 Reguler Malam
MAGISTER TEKNIK INFORMATIKA
UNIVERSITAS DIAN NUSWANTORO
PEMODELAN DAN SPESIFIKASI ANALISIS SISTEM
DENGAN MENEKANKAN PADA FAKTOR MANUSIA
Amran Yobioktabera
Magister Teknik Informatika, Fakultas Pasca Sarjana, Universitas Dian Nuswantoro
Semarang
System Analystmemiliki peran sentral dalam suatu pengembangan perangkat lunak.System Analystberkomunikasi dan memahamkanuser dengan latar belakang yang berbeda-beda. Dalam mengaplikasikan sebuah perangkat lunak,usermemiliki cara pandang yang beragam. Hal ini perlu diperhatikan dalam pemodelan dan spesifikasi pada perangkat lunak yang dibangun.Komunikasi yang baik antaraSystem Analyst denganuser dapat berjalan dengan baik jika seorangSystem Analystmemperhatikan faktor-faktor manusia dalam melakukan analisis pada sistem yang sedang dibangun.
Kata kunci Analisis, Perangkat Lunak, Pemodelan, Spesifikasi, System Analyst, Faktor Manusia.
I. PENDAHULUAN
Dalam membangun sebuah perangkat lunak, diperlukan kerja maksimal dari masing-masing bagian. Salah satu bagian terpenting dalam pengembangan perangkat lunak adalah
System Analyst [1]. SeorangSystem Analystsebagai jembatan penghubung antarauserdengan pengembang sistem.
Dalam tahapan analisis, pemodelan dan spesifikasi merupakan bagian yang tak terpisahkan. Dengan terbentuknya Struktur Model Analisis pada proses pemodelan, diharapkan pengembang sistem dapat menentukan fungsi, hubungan antar fungsi dan memberi batasan dalam pemenuhan kebutuhan sistem.
Dalam tahapan spesifikasi, system analyst mengkaji kebutuhan sistem bersama user. Diharapkan pada tahap ini akan terbentuk reperesentasi persyaratan dari perangkat lunak yang dibangun.
Dengan beragamnya latar belakang user, maka diperlukan pengetahuan, sikap dan identitas yang baik dalam berkomunikasi dengan user. Hal ini tentunya juga akan memberikan efek yang baik untuk user dalam mencapai tujuan dibangunnya sebuah sistem informasi.
II. PEMBAHASAN
2.1 Analisis Sistem
Analisis Sistem adalah penguraian dari suatu perangkat lunak yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan, kesempatan, hambatan yang terjadi dan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan [2].
Analisis sistem secara sistematis menilai bagaimana fungsi bisnis dengan cara mengamati proses input dan pengolahan
data serta proses output informasi untuk membantu peningkatan proses organisasional.
Gambar 1. Penggambaran Fungsi Analis Sistem
Dengan demikian, analis sistem mempunyai tiga peranan penting, yaitu :
1. Sebagai konsultan 2. Sebagai ahli pendukung 3. Sebagai agen perubahan
Secara garis besar, system analyst memiliki fungsi sebagai berikut :
1. Mengidentfikasikan masalah-masalah dari pemakai user 2. Menyatakan secara spesifik sasaran yang harus dicapai
untuk memenuhi kebutuhan user
3. Memilih alternatif-alternatif metode pemecahan masalah 4. Merencanakan dan menerapkan rancangan sistem sesuai
dengan permintaan user 2.2 Pemodelan Analisis
Dalam pengembangan perangkat lunak, serangkaian tahapan yang harus dilalui adalah pemodelan. Pemodelan ini nantinya akan membentuk suatu spesifikasi lengkap dari persyratan representas dan representasi desain untuk perangkat lunak yang dibangun.
Model analisis harus dapat mencapai tiga sasaran utama yakni untuk :
1. Menggambarkan apa yang dibutuhkanuser
3. Membatasi serangkaian persyaratan yang dapat divalidasi begitu perangkat lunak dibangun.
Gambar 2. Struktur Model Analisis
Dalam mencapai sasaran, dilakukan beberapa model analisis [3], diantaranya :
1. Data Dictionary (DD)
Penyimpanan yang berisi deskripsi dari semua obyek data yang dikonsumsi atau diproduksi oleh perangkat lunak. 2. Entity Relationship Diagram (ERD)
Entity-Relationship adalah salah satu metode pemodelan basis data yang digunakan untuk menghasilkan skema konseptual untuk jenis/model data semantik sistem. Dimana sistem seringkali memiliki basis data relasional, dan ketentuannya bersifat top-down. Entitiy-Relationship
menggambarkan hubungan antar objek dalam perangkat lunak. Diagram untuk menggambarkan model Entitiy-Relationshipini disebut Entitiy-Relationship diagram, ER diagram, atau ERD [4].
Gambar 3. Gambaran Sederhana ERD
3. Data Flow Diagram (DFD)
DFD dapat memberikan indikasi mengenai bagaimana data ditransformasi pada saat data bergerak melalui sistem. Selain itu, DFD juga dapat menggambarkan fungsi-fungsi (dan sub fungsi) yang mentransformasikan aliran data.
Gambar 4. Gambaran DFD Pada Sistem Perpustakaan
Gambar 5. Simbol Pada DFD [6]
4. State Transition Diagram (STD)
State Transition Diagram digunakan untuk
menggambarkan perilaku sistem. State Diagram
menggambarkan semua kemungkinan state dari sebuah objek sebagai akibat dari sebuah peristiwa terjadi . Setiap diagram biasanya mewakili objek dari satu kelas dan melacak state yang berbeda dari objek melalui sistem. 5. Process Specification (PSPEC)
Merupakan deskrisi setiap fungsi atau proses yang terjadi pada DFD.
6. Control Specification (CSPEC)
Digunakan untuk mendeskripsikan aspek kontrol pada perangkat lunak.
Gambar 6. Hubungan Antara Data dan Model Kontrol
2.3 Pemodelan Data
Pemodelan data adalah proses yang digunakan untuk mendefinisikan dan menganalisis kebutuhan data yang 3. Membatasi serangkaian persyaratan yang dapat divalidasi
begitu perangkat lunak dibangun.
Gambar 2. Struktur Model Analisis
Dalam mencapai sasaran, dilakukan beberapa model analisis [3], diantaranya :
1. Data Dictionary (DD)
Penyimpanan yang berisi deskripsi dari semua obyek data yang dikonsumsi atau diproduksi oleh perangkat lunak. 2. Entity Relationship Diagram (ERD)
Entity-Relationship adalah salah satu metode pemodelan basis data yang digunakan untuk menghasilkan skema konseptual untuk jenis/model data semantik sistem. Dimana sistem seringkali memiliki basis data relasional, dan ketentuannya bersifat top-down. Entitiy-Relationship
menggambarkan hubungan antar objek dalam perangkat lunak. Diagram untuk menggambarkan model Entitiy-Relationshipini disebut Entitiy-Relationship diagram, ER diagram, atau ERD [4].
Gambar 3. Gambaran Sederhana ERD
3. Data Flow Diagram (DFD)
DFD dapat memberikan indikasi mengenai bagaimana data ditransformasi pada saat data bergerak melalui sistem. Selain itu, DFD juga dapat menggambarkan fungsi-fungsi (dan sub fungsi) yang mentransformasikan aliran data.
Gambar 4. Gambaran DFD Pada Sistem Perpustakaan
Gambar 5. Simbol Pada DFD [6]
4. State Transition Diagram (STD)
State Transition Diagram digunakan untuk
menggambarkan perilaku sistem. State Diagram
menggambarkan semua kemungkinan state dari sebuah objek sebagai akibat dari sebuah peristiwa terjadi . Setiap diagram biasanya mewakili objek dari satu kelas dan melacak state yang berbeda dari objek melalui sistem. 5. Process Specification (PSPEC)
Merupakan deskrisi setiap fungsi atau proses yang terjadi pada DFD.
6. Control Specification (CSPEC)
Digunakan untuk mendeskripsikan aspek kontrol pada perangkat lunak.
Gambar 6. Hubungan Antara Data dan Model Kontrol
2.3 Pemodelan Data
Pemodelan data adalah proses yang digunakan untuk mendefinisikan dan menganalisis kebutuhan data yang 3. Membatasi serangkaian persyaratan yang dapat divalidasi
begitu perangkat lunak dibangun.
Gambar 2. Struktur Model Analisis
Dalam mencapai sasaran, dilakukan beberapa model analisis [3], diantaranya :
1. Data Dictionary (DD)
Penyimpanan yang berisi deskripsi dari semua obyek data yang dikonsumsi atau diproduksi oleh perangkat lunak. 2. Entity Relationship Diagram (ERD)
Entity-Relationship adalah salah satu metode pemodelan basis data yang digunakan untuk menghasilkan skema konseptual untuk jenis/model data semantik sistem. Dimana sistem seringkali memiliki basis data relasional, dan ketentuannya bersifat top-down. Entitiy-Relationship
menggambarkan hubungan antar objek dalam perangkat lunak. Diagram untuk menggambarkan model Entitiy-Relationshipini disebut Entitiy-Relationship diagram, ER diagram, atau ERD [4].
Gambar 3. Gambaran Sederhana ERD
3. Data Flow Diagram (DFD)
DFD dapat memberikan indikasi mengenai bagaimana data ditransformasi pada saat data bergerak melalui sistem. Selain itu, DFD juga dapat menggambarkan fungsi-fungsi (dan sub fungsi) yang mentransformasikan aliran data.
Gambar 4. Gambaran DFD Pada Sistem Perpustakaan
Gambar 5. Simbol Pada DFD [6]
4. State Transition Diagram (STD)
State Transition Diagram digunakan untuk
menggambarkan perilaku sistem. State Diagram
menggambarkan semua kemungkinan state dari sebuah objek sebagai akibat dari sebuah peristiwa terjadi . Setiap diagram biasanya mewakili objek dari satu kelas dan melacak state yang berbeda dari objek melalui sistem. 5. Process Specification (PSPEC)
Merupakan deskrisi setiap fungsi atau proses yang terjadi pada DFD.
6. Control Specification (CSPEC)
Digunakan untuk mendeskripsikan aspek kontrol pada perangkat lunak.
Gambar 6. Hubungan Antara Data dan Model Kontrol
2.3 Pemodelan Data
diperlukan untuk mendukung proses bisnis dalam lingkup sistem informasi yang sesuai dalam organisasi.
Model data terdiri dari 3 (tiga) informasi yang saling bergantung [3], yaitu :
1. Objek Data
Objek data dapat berupa entitas eksternal (semua sumber data atau yang mengkonsumsi informasi), suatu benda (laporan atau tampilan), peristiwa (sambungan telepon) atau event (sebuah alarm), peran (tenaga penjualan), unit organisasi (bagian akuntansi), atau suatu struktur (file). 2. Atribut
Properti suatu objek data. Fungsi atribut antara lain : - Menamai sebuah contoh dari objek data
- Menggambarkan contoh
- Membuat referensi ke contoh yang lain pada tabel yang lain
3. Hubungan
Relasi antara objek data yang satu dengan yang lainnya. Misal : Sensor dan pintu
hubungan : sensor menggerakkan pintu
Gambar 7. Contoh Kasus Pemodelan Data
Gambar 8. Representasi Tabular Objek Data
2.4 Spesifikasi
Spesifikasi merupakan representasi persyaratan dari perangkat lunak yang akan dibangun [3]. Untuk melakukan spesifikasi pada perangkat lunak, diperlukan pendekatan sebagai berikut :
1. Teknik spesifikasi yang terfasilitasi / Facilitated Application Specification Techniques (FAST)
Beberapa hal yang perlu diperhatikan dalam menerapkan teknik ini adalah :
- Pertemuan dilakukan di tempat netral dihadiri oleh pengembang maupun pelanggan.
- Memperhatikan tujuan dilakukannya pertemuan, yaitu untuk identifikasi masalah, pemecahan, negosiasi, membentuk persyaratan perangkat lunak. - Adanya fasilitator (sebaiknya konsultan) yang
bertugas untuk mengontrol berjalannya pertemuan 2. Penyebaran Fungsi Kualitas
Teknik ini biasa juga disebut Quality Function Deployment (QFD) yaitu merupakan teknik manajemen kualitas yang menterjemahkan kebutuhanuserke dalam persyaratan teknis bagi perangkat lunak. QFD berkonsentrasi pada pemaksimalan kepuasanuser.
Gambar 9. Contoh Aplikasi QFD
Hasil proses spesifikasi dituangkan dalam Dokumen Spesifikasi Perangkat Lunak (Specification Document) 2.5 Kajian
Kajian digunakan untuk memastikan spesifikasi yang terdapat pada suatu perangkat lunak telah lengkap, konsisiten dan akuran [3]. Dalam proses kajian ini, diberikan beberapa pertanyaan berkaitan dengan perangkat lunak yang dibangun. Beberapa pertanyaan kajian diantaranya adalah :
- Apakah tujuan dan sasaran yang dinyatakan bagi perangkat lunak tetap konsisten dengan tujuan dan sasaran sistem?
- Apakah interface ke semua elemen sistem sudah digambarkan?
- Apakah aliran informasi dan struktur telah didefinisikan dengan tepat bagi domain masalah?
- Apakah diagram telah di presentasikan dengan jelas? - Apakah fungsi mayor tetap ada dalam ruang lingkup dan
sudah digambarkan dengan tepat?
- Apakah perilaku perangkat lunak konsisten dengan informasi yang harus diproses dan fungsi yang harus dilakukannya?
- Apakah batasan desain realistis?
- Apakah resiko teknologis pengembangan sudah dipertimbangkan?
- Apakah ada inkonsistensi, penghilangan atau redundancy? - Apakah kontak dengan pelanggan sudah lengkap?
- Apakah pemakai sudah mengkaji manual atauprototype? 2.6 Faktor Manusia (Human Factors)
Faktor manusia atau lebih dikenal sebagai human factor
adalah disiplin yang mempelajari perilaku manusia secara fisik dan psikologi serta hubungannya dengan suatu lingkungan atau teknologi khusus, dapat berupa produk, pekerjaan, jasa dan sebagainya.
Faktor manusia juga didefinisikan sebagai aplikasi ilmiah mengenai kapasitas dan batasan yang dimiliki manusia dalam perancangan sistem atau produk atau lingkungan dan sebagainya agar aman, efektif, efisien, produktif dan mudah digunakan.
Faktor manusia merupakan aplikasi ilmiah mengenai kekuatan dan kelemahan manusia dalam perancangan sebuah sistem atau teknologi. Faktor manusia sering disamakan dengan ergonomi,usability engineering, ergonomi kognitif, atau user-centered design.
Faktor manusia juga berhubungan dengan faktor lingkungan, organisasi, dan pekerjaan yang mempengaruhi manusia itu dalam berperilaku dalam sebuah sistem. Jadi faktor manusia mempelajari atau mengidentifikasi atau menganalisis bagaimana manusia berhubungan dengan lingkungan atau dunia di sekitarnya dalam segala aspek dengan tujuan untuk meningkatkan atau memperbaiki performa, keamanan dan kesehatan, keefektifan, keefisienan, produktivitas dsb. Faktor manusia didedikasikan untuk pemahaman yang lebih baik mengenai bagaimana manusia dapat diintegrasikan dengan sistem atau teknologi secara lebih aman, lebih efektif, leboh efisien, dan lebih produktif.
Pemahaman itu selanjutnya ditindaklanjuti dalam sebuah proses perancangan, pelatihan, pembuatan kebijakan atau prosedur seperti yang dilakukan dalam ergonomi agar manusia dapat memiliki performa yang lebih baik. Jadi untuk mempelajari atau mengidentifikasi atau menganalisis properti dari manusia, faktor manusia sangat berhubungan dengan segala aspek dalam manusia meliputi aspek fisik, fisiologi, psikologi, sosial, biologi dan sebagainya.
2.7 Hubungan Faktor Manusia (Human Factor) dan Analisis Sistem
Keberhasilan proses analisis sistem sangat bergantung pada faktor manusia yang menjadi bagian dalam proses analisa sebuah sistem. User / pengguna sistem yang akan menggunakan sistem, berperan penting dalam keberhasilan proses analisis.
Dibandingkan dengan proses lain dari sebuah pengembangan sistem , proses mengumpulkan kebutuhan spesifikasi / requirement merupakan proses yang membutuhkan perhatian penuh dari seorang system analyst. Kesalahan dalam
mengumpulkan requirement, akan mengarah langsung ke kegagalan pengembangan sistem, baik karena sistem tidak berfungsi seperti yang diinginkan , atau karena sistem tidak cocok dengan kebutuhan sebenarnya dariuserdanstakeholder
lainnya.
Kesalahan dalam pengumpulan requirement dapat ditemukan dengan cepat atau ditemukan sangat terlambat hingga telah masuk ke proses desain. Semakin lama kesalahan ditemukan, maka semakin besar biaya untuk memperbaikinya. Ketika sistem yang dikembangkan digunakan untuk proses keamanan yang kritis, maka biaya dan konsekuensi kegagalan yang ditimbulkan akan menjadi lebih besar.
Dalam proses analisis, kesalahan yang dilakukan oleh user
dapat dikategorikan dalam beberapa tipe [5], yaitu : 1. Kekeliruan / Penyimpangan (Slips and Lapses)
Kekeliruan / penyimpangan sering terjadi selama pelaksanaan tugas rutin di lingkungan dimana biasa mereka lakukan. Ini berarti bahwa semakin banyak
keterampilan orang mengembangkan dalam
melaksanakan tugas tertentu, maka semakin rentan mereka dapat melakukan kekeliruan / penyimpangan selama pelaksanaan tugas tersebut. Kekeliruan / penyimpangan biasanya terkait dengan beberapa bentuk gangguan atensi : seperti saat melakukan tugas rutin diganggu oleh sesuatu yang lain atau adanya perubahan yang tak terduga dalam lingkungannya.
2. Kesalahan (Mistakes)
Berbeda dengan kekeliruan / penyimpangan, kesalahan terjadi dalam perumusan dan konstruksi rencana , bukan saat dilakukan eksekusi. Kesalahan dapat dibedakan dalam 2 jenis, yaitu kesalahan berdasarkan aturan ( rule-based mistakes) dan kesalahan berbasis pengetahuan (knowledge-based mistakes).
3. Pelanggaran (Violations)
Pelanggaran adalah penyimpangan dari proses operasi yang aman, praktek, prosedur, standar atau aturan yang ada. Penyimpangan bisa disengaja (melanggar aturan secara sengaja padahal mengetahui bahwa aturan tersebut ada) atau salah (bertindak terhadap rekomendasi dari aturan tanpa menyadari keberadaan aturan tersebut).
Gambar 10. Klasifikasi Pelanggaran
2.8 Maksimalisasi Faktor Manusia (Human Faktor ) Dalam Proses Analisis Sistem
1. Menyadari kesalahan (recognition failures) sedini mungkin
2. Memberikan perhatian penuh terhadap kesalahan yang terjadi
3. Mencatat kesalahan yang terjadi
4. Melakukan seleksi kesalahan (selection failures) untuk selanjutnya dilakukan penanganan
Adanya proses komunikasi dengan user atau stakeholder
menjadikan peran analisis menjadi sangat penting. Hal ini dikarenakan sistem yang berjalan harus sesuai dengan spesifikasi yang diharapkan oleh user. Hal hal yang perlu diperhatikan dalam melakukan komunikasi dengan user
adalah :
1. Mengukur pengetahuan user pada sistem yang akan dianalisis
2. Menggunakan bahasa komunikasi yang mudah dimengerti
3. Menghindari konflik kepentingan (conflict of interest) 4. Memberikan saran yang positif dalam proses analisa Dengan adanya proses komunikasi yang baik antara userdan seorang system analyst, maka proses analisis dapat berjalan dengan baik dan lancar. Selain itu, kesalahan manusia (human error) juga dapat ditekan seminimal mungkin.
III.RINGKASAN DAN KESIMPULAN
Analisis sistem secara sistematis menilai bagaimana fungsi bisnis dengan cara mengamati proses input dan pengolahan data serta proses output informasi untuk membantu peningkatan proses organisasional. Dalam proses analisis, terdapat tahap pemodelan yang digunakan untuk mendefinisikan dan menganalisis kebutuhan data yang diperlukan untuk mendukung proses bisnis. Selanjutnya, terdapat proses Spesifikasi merupakan representasi persyaratan dari perangkat lunak yang akan dibangun.
Dalam proses analisis, memerlukan perhatian khusus pada faktor manusia (human factors) yang merupakan aplikasi ilmiah mengenai kekuatan dan kelemahan manusia dalam perancangan sebuah sistem atau teknologi. Hal ini perlu diperhatikan agar tidak terjadinya human errorsdalam proses
requirementyang dapat menyebabkan spesifikasi sistem tidak sesuai dengan keinginanuser.
Referensi
[1] Hans Olav Omland, "Educating Systems Analysts Emphasising the Human Factor", Department of Information Systems. Agder College, Norway
[2] Jogiyanto Hartono, "Analisis dan Disain Sistem Informasi: Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis", 9795336614, Indonesia
[3] Dr. Stefanus Santosa, M.Kom, "Bab 12. Software Analysis", http://scele.pps.dinus.ac.id
[4] Il-Yeol Song; Evans, Mary; Park, E.K., "A Comparative Analysis of Entity-Relationship Diagrams", Drexel University, US Naval Academy, USA
[5] Stephen Viller, John Bowers, Tom Rodden, " Human Factors in Requirements Engineering : A Survey of Human Sciences Literature Relevant to the Improvement of Dependable Systems Development Processes ", Cooperative Systems Engineering Group