MAKALAH REKAYASA PERANGKAT LUNAK ( SPESIFIKASI KEBUTUHAN PERANGKAT LUNAK )
Disusun Oleh : MUKHAMAT JAFAR – 41813120014 MATA KULIAH : REKAYASA PERANGKAT LUNAK DOSEN : WACHYU HARI HAJI, S.KOM, MM UNIVERSITAS MERCUBUANA 2015
BAB I PENDAHULUAN Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
1
Latar Belakang Perangkat lunak merupakan otomasi dari proses bisnis pada sebuah organisasi, untuk menghasilkan operasi bisnis (organisasi) yang efektif (akurat) dan efisien (cepat dan murah). Spesifikasi perangkat lunak menjelaskan ketentuan atau batasan tentang apasaja yang harus diberikan oleh sebuah perangkat lunak. Spesifikasi menggambarkan kebutuhan atau persyaratan (requirement) apa saja yang harus dipenuhi oleh sistem perangkat lunak dan menentukan batasan pada operasi serta implementasinya. Ada dua jenis kebutuhan sistem, yaitu fungsional dan non fungsional. Kebutuhan fungsional menetapkan layanan sistem yang harus disediakan. Kebutuhan nonfungsional berkaitan dengan ketentuan yang harus dipenuhi semua layanan pada sistem, menyangkut kinerja, kehematan, keamanan dan mutu informasi. Kebutuhan pengguna akhir menetapkan data dan informasi apasaja yang perlu di akses dari sistem. Kebutuhan pengguna harus ditulis dalam tabel bahasa alami atau diagram. Persyaratan sistem dapat ditulis dalam bahasa alami terstruktur, PDL atau dalam bahasa formal. Sedangkan dokumen persyaratan perangkat lunak adalah pernyataan yang disepakati oleh pengguna dan pengembang, tentang persyaratan sistem yang dibangun. Pengembangan sistem informasi dan aplikasi perangkat lunak perlu dilakukan mengingat pentingnya otomatisasi pengolahan data agar proses pengolahan data pengamatan dapat berjalan dengan cepat dan akurat. Segala sesuatu yang dikembangkan seharusnya memiliki kerangka dan langkah -langkah yang terstruktur dimana sistem informasi dan aplikasi yang akan dihasilkan dapat sesuai dengan harapan pengguna. Pada kerangka kerja pengembangan sistem informasi terdapat tahap awal yaitu perencanaan ( planning ) yang menyangkut tentang kebutuhan pengguna ( user spesification ) , kelayakan ( feasibility study ) baik secara teknis ataupun teknologi. Requirement ( kebutuhan ) adalah pernyataan yang mengidentifikasikan kebutuhan penting dalam sistem dan didalamnya mencakup aspek kebenaran, realistis, dibutuhkan, tidak membingungkan, dan teukur. Tujuan pengembangan ini adalah untuk mengkaji proses Spesifikasi Kebutuhan Perangkat Lunak yang sesuai dengan aspek penting pengembangan sistem informasi dan aplikasi perangkat lunak dengan merubah pengguna menjadi jelas, ringkas, dan dapat diverifikasi.
BAB II PEMBAHASAN Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
2
A. Spesifikasi Kebutuhan Perangkat Lunak Spesifikasi kebutuhan (requirement) adalah atribut yang diperlukan dalam sistem, sebuah pernyataan yang mengidentifikasi capability, characteristic, atauquality factor dari sebuah sistem dengan tujuan untuk mendapatkan nilai dan utilitas pada pelanggan atau pengguna (Ralph R. Young, 2004). Spesifikasi kebutuhan ini sangat penting karena memberikan basis untuk semua pekerjaan pengembangan yang diikuti. Sekali spesifikasi kebutuhan diset, pengembang memulai pekerjaan teknis yang lain yaitu : desain sistem, pengembangan, pengujian, implementasi dan pengoperasian. Banyak tendensi untuk menginginkan memulai apa yang disebut sebagai ”the real work” (pengembangan, atau pemrograman perangkat lunak) terlalu cepat. Banyak pelanggan dan manager proyek (/Project Manager/PMs) yakin bahwa pekerjaan programming (”coding”) menunjukkan progress telah dilakukan. Menurut pengalaman industri, ketidak cukupan waktu dan usaha adalah dihabiskan pada aktivitas spesifikasi kebutuhan yang berhubungan dengan pengembangan sistem. Pengalaman industri mengonfirmasikan bahwa pendekatan yang lebih baik adaah memberikan waktu yang lebih banyak dalam aktivitas pengumpulan spesifikasi kebutuhan, analisis dan manajemen. Alasannya adalah biasanya pekerjaan coding dimulai lebih cepat yang kemudian menjadi penyebab penambahan waktu yang dibutuhkan untuk mengidentifikasi ”real” requirements dan untuk merencanakan aktivitas spesifikasi kebutuhan. Ada perbedaan yang signifikan antara ”stated” requirements dan ”real” requirements. Stated requirements diberikan oleh pelanggan diawal usaha pengembangan sistem atau perangkat lunak, misalnya dalam kebutuhan untuk informasi, proposal, atau kutipan atau dalam pernyataan pekerjaan (SOW). Real requirements merefleksikan kebutuhan yang sudah diverifikasi oleh pengguna untuk sistem atau kemampuan tertentu. Sering ada perbedaan yang besar antara stated requirements dan real requirements. Analisis pada stated requirements dibutuhkan untuk menentukan dan memperbaiki kembali kebutuhan nyata pelanggan atau pengguna dan permintaan dari sistem yang diterimakan. Spesifikasi kebutuhan perlu disaring dengan sebuah proses klarifikasi dari pengertian dan identifikasi aspek lain yang perlu dipertimbangkan. Mengutip dari sebuah contoh sederhana, analisis spesifikasi kebutuhan (requirements analisys/(RAs) lebih familier dengan kebutuhan untuk menyatakan spesifikasi kebutuhan dengan jelas. Ada banyak cara dimana kapabilitas, pemahaman, dan komunikasi dari pengertian dari setiap spesifikasi kebutuhan mungkin berbeda antara pengguna dengan pengembang. Oleh karena itu, penting bahwa semua spesifikasi kebutuhan diklarifikasi sepanjang mekanisme dari gabungan pelanggan/pengguna dan usaha RA. Pelanggan dan pengguna memerlukan dukungan secara teknis pelatihan pengalaman profesional, dan begitu sebaliknya, untuk memastikan komunikasi yang efektif. Pengembang perlu mempunyai pemahaman yang sama sehingga solusi yang didefinisikan oleh pelanggan/pengguna ditempatkan pada tempat yang dibutuhkan setiap orang. Misunderstanding dari spesifikasi kebutuhan menghasilkan usaha yang sia–sia dan mengerjakannya kembali. Pemahaman penting yang lain adalah kadang-kadang spesifikasi kebutuhan manjadiunknowable pada outset pada usaha pengembangan karena dipengaruhi oleh kemampuan baru untuk disediakan dalam sistem yang baru. Saran ini yang diperlukan untuk merencanakan spesifikasi kebutuhan yang baru atau perubahan spesifikasi kebutuhan untuk Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
3
memberikan tingkat fleksibilitas. Identifikasi real requirements membutuhkan proses spesifikasi kebutuhan yang interaktif dan iteratif, didukung oleh praktek yang efektif, proses, mekanisme, metode, teknik, dan peralatan. Spesifikasi kebutuhan tidak boleh membingungkan dan mahal. Bagaimanapun, proses spesifikasi kebutuhan dibutuhkan untuk proyek pada segala ukuran. Yang paling penting adalah bahwa proyek atau organisasi mempunyai proses spesifikasi kebutuhan yang terdefinisi dan terdokumentasi. Secara alami, komponen spesifik dari proses yang terdefinisi dapat meningkat karena pengalaman. Pengembangan sistem dan perangkat lunak, dan praktisi akrab dengan beberapa jenis perencanaan : perencanaan proyek, systems engineering management plan (SEMP), quality assurance (QA) plan, configuration management (CM) plan, software development plan (SDP), test plan, dan sebagainya. Bagaimanpun, konsep perencanaan spesifikasi kebutuhan bisa menjadi sesuatu yang baru. Aktivitas yang berhubungan dengan spesifikasi kebutuhan leveraging mempunyai kekuatan dan pengaruh yang besar. Perencanaan spesifikasi kebutuhan mendefinisikan bagaimana real requirement akan disusun dan bagaimana aktivitas spesifikasi kebutuhan akan ditempatkan. Penulisan perencanaan spesifikasi kebutuhan (RP) menfasilitasi pemahaman aktivitas dan usaha yang diperlukan untuk mengerjakan implementasi proses spesifikasi kebutuhan yang efektif untuk usaha pengembangan tertentu. Saran strategi diantaranya : 1. Menuliskan rencana spesifikasi kebutuhan 2. Mendesain dan menghubungkan proses spesifikasi kebutuhan untuk proyek 3. Menyediakan aktivitas spesifikasi kebutuhan dalam siklus hidup sistem 4. Menggunakan spesifikasi kebutuhan secara efektif dalam praktek, mekanisme, metode, teknik, peralatan dan pelatihan. Fase-fase Spesifikasi Spesifikasi perangkat lunak merupakan proses untuk menentukan pelayanan (servis) apa yang dibutuhkan dan kendala-kendala pengoperasian sistem serta pengembangannya. Berikut ini tahapannya: 1. Proses Rekayasa Kebutuhan 2. Studi Kelayakan 3. Analisis kebutuhan 4. Spesifikasi Kebutuhan 5. Validasi spesifikasi
1) Proses Rekayasa Kebutuhan Rekayasa kebutuhan mencangkup beberapa proses mengenai fakta ini, proses rekayasa kebutuhan adalah sekumpulan aktivitas-aktivitas yang terstruktur untuk diperoleh, memvalidasi dan memelihara dokumen kebutuhan system (Thayer. 1997). Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
4
Pada umumnya tugas rekayasa digambarkan sebagai penciptaan dari solusi keaktivan biaya untuk masalah kehidupan yang nyata dengan menerapkan pengetahuan keilmuan. Rekayasa kebutuhan juga dapat digambarkan sebagai tugas untuk memenuhi aktivitasaktivitas pengembangan untuk masalah dunia nyata sehingga ketepatan dan keefektifan biaya dari solusi dapat dianalis (Nuseibeh, 2000).
Daur hidup suatu perangkat (SLC) secara umum dapat diilustrasikan sebagai gambar diatas, dimana ada 2 buah siklus kehidupan utama dari suatu perangkat lunak, yaitu daur hidup pengembangan perangkat lunak (SDLC) dan daur hidup pengoperasian perangkat lunak (SOLC), keduanya dihunbungkan oleh dua buah proses, yaitu proses studi kelayakan dan proses peluncuran. Pengembangan perangkat lunak pada dasarnya muncul karena adanya suatu kebutuhan baru. Melalui studi kelayakan, kita dapat dibantu menentukan apakah kebutuhan tersebut masih Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
5
dapat dipenuhi oleh sistem perangkat lunak yang ada atau tidak. Jika dipandang bahwa sistem yang sudah ada tidak dapat memenuhi kebutuhan baru tersebut, maka kita akan memutusakan apa mau mengembangkan sistem perangkat lunak (baik sistem lama atau baru). Studi kelayakan tetap dilakukan dalam pengembangan perangkat lunak berskala besar maupun kecil. Sistem yang baru yang akan dikembangkan bisa dibangun dari sistem lama, atau dari sistem baru. Sering juga disebut lingkungan pengembangan (development enviornment). Proses pertama yang dilakukan dengan penspesifikasian kebutuhan, hasil dari proses ini adalah sebuah spesifikasi kebutuhan sistem yang dibutuhkan oleh pembuat. Spesifikasi ini sering disebut sebagai rancangan bersifat high-end. Berdasarkan spesifikasi tersebut, pihak pengembang
akan
membuat
suatu
rancangan
yang
bersifat
lowend.
Kemudian
diimplementasikan menjadi produk perangkat lunak oleh programmer. Melalui proses pengujian produk ini diuji dan dipastikan kesesuaiannya dengan spesifikasi kebutuhan yang telah ditetapkan dan ketetapan implementasinya. Produk yang berhasil melewati proses pengujian kemudaian akan diluncurkan ke lingkungan operasioanl (operatioan environment). Dalam daur pengoperasian , perangkat lunak yang telah selesai dibangun difungsikan untuk kebutuhan operasiional sistem. Seringkali, terdapat ketidaksesuaian antara perangkat lunak dengan kebutuhan di lapangan. Kesalahan ini terjadi pada beberapa kesalahan pada daur hidup pengembangan dan akan diperbaiki. Proses ini sering dipandang sebagai proses perawatan perangkat lunak. Tapi jika kesalahan itu terjadi karena kebutuhan baru dalam organisasi maka perangkat lunak tersebut dikaji ulang kelayakannya. Dan kembali pada daur hidup perangkat lunak tersebut. Spesifikasi kebutuhan merupakan proses awal dari daur hidup pengembangan perangkat lunak. Keluaran dari proses ini menentukan arah pengembangan perangkat lunak selanjutnya.Tahap pekerjaan analisis kebutuhan perangkat lunak pada dasarnya terdiri dari urutan aktivitas : 1. Menentukan kebutuhan (requirement) Lebih banyak berhubungan dengan pemakai. Hasil belum terstruktur. a. Data atau informasi apa yang akan diproses b. Fungsi apa yang diinginkan c. Kelakuan sistem apa yang diharapkan
Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
6
d. Antarmuka apa yang tersedia (user interfaces, hardware interfaces, software interface, dan communications interfaces) 2. Sintesis Mengubah kebutuhan yang belum terstruktur menjadi model atau gambar dengan memanfaatkan teknik dan metodeanalisis tertentu. 3. Membuat dokumen Software Requirements Spesification (SRS). Sudah merupakan analisis yang lebih rinci, sebagai tahap awal perancangan. 2) Studi Kelayakan Untuk semua sistem baru, proses rekayasa persyaratan harus dimulai studi kelayakan. Input dari studi kelayakan adalah deskripsi garis besar sistem dan bagaimana sistem akan digunakan di dalam organisasi. Hasil studi kelayakan berwujud laporan.Studi Kelayakan memutuskan apakah sistem software yang akan dibuat sudah mencakup seluruh aspek permasalahan. Melakukan studi kelayakan mencakup penilaian informasi, pengumpulan informasi,dan penulisan laporan. Melakukan studi untuk menguji apakah sistem:
Sudah sesuai dengan tujuan organisasi
Dapat dikembangkan dengan teknologi terkini dan dana yang tersedia
Dapat diintegrasikan dengan sistem lain yang sudah digunakan
3) Implementasi Studi Kelayakan Implementasi menurut kamus besar indonesia, diartikan sebagai pelaksanaan atau penerapan, artinya yang dilaksanakan dan diterapkan adalah kurikulum yang telah dirancang atau didesain untuk kemudian dijalankan sepenuhnya.Berbasiskan pada penilaian informasi (apa yg dibutuhkan), pengumpulan informasi dan penulisan laporan Pertanyaan ke personal di organisasi: 1. Apa yang akan terjadi apabila sistem tidak diimplementasikan? 2. Masalah proses apa yang ada ? 3. Apa yang dapat dibantu oleh sistem ? 4. Masalah apa yang akan muncul pada proses Integrasi ? Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
7
5. Adakah teknologi baru yang dibutuhkan? Skill yang dibutuhkan ? 6. Fasilitas apa yang harus didukung oleh sistem ? 4) Validasi kebutuhan Validasi adalah suatu tindakan pembuktian dengan cara yang sesuai dengan tiap bahan proses, prosedur, kegiatan, sistem, perlengkapan atau mekanisme yang digunakan dalam produksi dan pengawasan yang akan senantiasa mencapi hasil yang diinginkan. Validasi dibutuhkan untuk memberikan kepastian bahwa rancangan dan dokumen dari sistem yang akan diimplementasiakn telah sesuai dengan keinginan dan kebutuhan pemangku kepentingan baik pemesan, pengguna maupun pihak pengembang.
Tujuan dari validasi
kebutuhan adalah :
Bertujuan untuk meyakinkan bahwa kebutuhan yang sudah didefinisikan sesuai dengan yang diinginkan pengguna
Menghindari Kesalahan pendefinisian kebutuhan karena akan menyebabkan penambahan biaya yang besar
Memperbaiki definisi kebutuhan setelah software dikirim akan menyebabkan peningkatan biaya hingga 100 kali.
Analisa kebutuhan merupakan langkah awal untuk menentukan perangkat lunak seperti apa yang akan dihasilkan, ketika kita melaksanakan sebuah proyek pembuatan perangkat lunak. Perangkat lunak yang baik dan sesuai dengan kebutuhan pengguna sangat bergantung kepada keberhasilan dalam melakukan analisa kebutuhan. Tidak peduli bagaimana hebatnya seseorang dalam menulis kode perangkat lunak, atau membuat antar muka yang menawan, jika terjadi kesalahan dalam analisa kebutuhan, itu artinya perangkat lunak yang dibuat menjadi tak berguna. Analisa kebutuhan yang baik belum tentu menghasilkan perangkat lunak yang baik. Tetapi analisa kebutuhan yang tidak tepat sudah pasti menghasilkan perangkat lunak yang tidak berguna. Ini adalah sebuah pernyataan sederhana. Namun pernyataan ini tidaklah terlalu jauh dari kesimpulan yang sebenarnya. Adalah jauh lebih baik mengetahui ada kesalahan tentang analisa kebutuhan ketika masih dalam tahap awal ini. Kurang hati-hati dan pelaksanaan yang tidak teliti, sehingga Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
8
mengakibatkan terjadinya kesalahan analisa kebutuhan sungguh menimbulkan banyak kerugian. Kesalahan analisa kebutuhan yang diketahui ketika sudah memasuki penulisan kode, atau pengujian, bahkan hampir pada tahap penyelesaian, adalah malapetaka besar bagi sebuah kelompok pembuat perangkat lunak. Biaya dan waktu yang diperlukan menjadi banyak yang tersia-sia. Biaya yang diperlukan untuk memperbaiki sebuah kesalahan karena analisa kebutuhan yang tidak benar, bisa menjadi dua puluh lima kali lipat, jika kesalahan tersebut ditemukan pada tahap pengujian fungsi perangkat lunak Ketika dalam tahap awal ini, sungguh diperlukan pelaksanaan analisa dengan hati-hati dan sebaik-baiknya. Dengan diperolehnya kebutuhan yang jelas dan benar sesuai dengan apa yang dimaksud oleh klien, menunjukkan langkah awal yang baik, yang akan membantu ketika kita melanjutkan kepada tahap berikutnya dalam pembuatan perangkat lunak.
B. Kajian Spesifikasi Perangkat Lunak Kajian dari suatu spesifikasi persyaratan perangkat lunak dilakukan baik oleh pelanggan atau pengembang Perangkat Lunak. Karena spesifikasi membentuk dasar bagi desain dan aktivitas rekayasa selanjutnya, maka kajian harus dilakukan dengan hati- hati. Kajian dilakukan pertama kali pada tingkat makroskopik, pada tingkat ini pengkajiakan memastikan bahwa spesifikasi sudah lengkap, konsisten, dan, akurat. Pertanyaan - pertanyaan berikut dapat di ajukan:
Apakah tujun dan sasaran yang diyatakan bagi perangkat lunak tetap konsisten dengan tujuan dan sasaran system?
Apakah interface penting kesemua element system sudah digambarkan?
Apakah aliran informasi dan struktur didefinisikan dengan tepat bagi domain masalah
Apakah diagram jelas? apakah masing masing dapat berdiri sendiri tanpa teks pendamping Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
9
Apakah fungsi mayor tetap ada pada ruang lingkup, dan sudah digambarkan dengan lengkap dan tepat?
Apakah tingkah laku PL konsisten dengan informasi yang harus diproses dan fungsi harus dilakukannya?
Apakah batasan desain realistis?
Apakah resiko teknologis pengembang sudah dipertimbangkan?
Apakah criteria validasi dinyatakan secara detail? apakah criteria tersebut kuat untuk menggambarkan sebuah system yang berhasil.
Apakah ada inkonsistensi,penghilangan?
Apakah kontak dengan pelanggan sudah lengkap?
Apakah pemakai sudah mengkaji manual pemakai pemulaan atauprototype?
Bagaimana estimasi perencanaan mempengaruhi
Pengkaji dapat mengembangkan pertayaan diatas dengan :
Mencari konektor persuasive
Bila suatu daftar yang diberikan tidak lengkap, pastikan jenisnya sudah dipahami.
Pastikan jangkauan yg dinyatakan tidak berisi asumsi yang tidak dinyatakan.
Hati hatilah pada kata kerja yang kabur
Hati hati terhadap kata ganti yang ambiguitas. Cari pertanyaan yang mengimplimentasikan kepastian. Bila kajian lengkap spesifikasi persyaratan Perangkat Lunak diakhiri oleh pelanggan atau pengembang. Perubahan yang diminta setelah spesifikasi itu di akhiri tidak akan dieleminasi, tetapi pelanggan harus mencata bahwa masing – masing perubahan setelah pengakhiran spesifikasi merupakan ekstensi dari ruang lingkup Perangkat Lunak yang demikian dapt menambah biaya dan atau dapat memperpanjang jadwal proyek. Bahkan dengan prosedurkajian terbaikpun, tetap ada sejumlah masalah spesifikasi. Spesifikasi sulit di uji dalam berbagai cara yang berarti sehingga inkonsistensi dan penghilangan dapat berlangsung tanpa terlihat.Selama kajian , perubahan terhadap terhadap spesifikasi dapatdisetujui.Sangat sulit untuk menili pengaruh global dari suatu perubahan ; yaitubagaimana suatu perubahan dalam suatu fungsi mempengaruhi persyaratan bagi fungsifungsi yang lain.
Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
10
BAB III PENUTUP RINGKASAN / KESIMPULAN Spesifikasi kebutuhan (requirement) adalah atribut yang diperlukan dalam sistem, sebuah pernyataan yang mengidentifikasi capability, characteristic, atauquality factor dari sebuah sistem dengan tujuan untuk mendapatkan nilai dan utilitas pada pelanggan atau pengguna.
Tujuan utama dari proses persyaratan adalah untuk menghasilkan spesifikasi kebutuhan perangkat lunak (SRS) yang menangkap secara akurat kebutuhan klien dan yang membentuk dasar dari pengembangan perangkat lunak dan validasi.
Spesifikasi perangkat lunak merupakan proses untuk menentukan pelayanan (servis) apa yang dibutuhkan dan kendala-kendala pengoperasian sistem serta pengembangannya. Adapun aktivitas dasar tahapannya dalam proses spesifikasi perangkat lunak ialah: Proses Rekayasa Kebutuhan, Studi Kelayakan, Analisis kebutuhan, Spesifikasi Kebutuhan dan Validasi spesifikasi
Mukhamat Jafar – 41813120014 ( Rekayasa Perangkat Lunak )
11