1
KAKAS BANTU ANALISIS KERANCUAN KEBUTUHAN PERANGKAT LUNAK BERBASIS SISTEM KLASIFIKASI TEKS MENGGUNAKAN
ALGORITMA C4.5
Putu Satriya Marga Dinata, Daniel Oranova S, Umi Laili Yuhana
Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Kampus ITS Sukolilo Surabaya, 60111, Indonesia
[email protected], [email protected],[email protected]
Abstrak
Tahap spesifikasi kebutuhan perangkat lunak merupakan fase penting dalam sebuah proyek pengembangan perangkat lunak. Kegagalan suatu proyek pengembangan perangkat lunak berakar dari kesalahan yang terjadi pada proses tahap spesifikasi kebutuhan. Pada praktiknya, spesifikasi kebutuhan dinyatakan dalam bahasa alamiah. Hal ini membuat spesifikasi tersebut mengandung berbagai bentuk kerancuan, yang pada akhirnya berkontribusi pada kegagalan kritis dalam tahapan proses pengembangan berikutnya. Untuk itu, diperlukan suatu kakas bantu untuk mendeteksi sedini mungkin kerancuan yang terdapat di dalam suatu spesifikasi kebutuhan.
Dalam Tugas Akhir ini telah dibangun sebuah kakas bantu yang dapat mendeteksi kerancuan kebutuhan perangkat lunak berdasarkan kriteria penganalisisan kualitas kebutuhan perangkat lunak. Kakas bantu ini menggunakan pendekatan sistem klasifikasi teks dan teknik pengolahan bahasa alamiah untuk penganalisisan kerancuan pada kebutuhan perangkat lunak. Algoritma yang digunakan untuk membangun sistem klasifikasi teks adalah algoritma pohon keputusan C4.5 menggunakan implementasi-nya pada pustaka WEKA, yaitu J48.
Model sistem klasifikasi teks yang dibangun menggunakan dataset berupa kumpulan wacana dan kalimat mengenai kebutuhan perangkat lunak yang telah dianotasikan oleh ahli dalam bidang tersebut. Uji coba yang dilakukan terhadap data uji berupa dokumen SKPL menunjukkan bahwa kakas bantu ini dapat mengidentifikasi kebutuhan yang bersifat rancu dengan indeks Kappa = 0.325. Hasil uji coba juga menunjukkan kakas bantu dapat menelusuri kembali kata-kata yang menjadi penyebab kerancuan dan dapat memberikan rekomendasi terhadap hal tersebut.
Kata kunci: Kerancuan Kebutuhan Perangkat Lunak, Sistem Klasifikasi Teks, Pengolahan Bahasa Alamiah, C4.5, J48, WEKA.
1. PENDAHULUAN
Dalam suatu proses pengembangan perangkat lunak terdapat beberapa aktivitas dan tahapan yang harus dilakukan. Aktivitas dan tahapan ini merupakan daur hidup dari suatu perangkat lunak. Hal tersebut meliputi beberapa fase, yaitu identifikasi, perencanaan, analisis, perancangan, implementasi, dan pemeliharaan.
Identifikasi kebutuhan perangkat lunak atau rekayasa kebutuhan perangkat lunak merupakan fase penting dalam sebuah proyek pengembangan perangkat lunak. Kesalahan dalam fase ini dapat mengganggu pekerjaan pada fase berikutnya dan menyebabkan eskalasi besar dalam biaya keseluruhan dari pengembangan perangkat lunak.
Penelitian yang dilakukan oleh The Standish Group [Standish, 1995] menunjukkan bahwa Amerika Serikat menghabiskan $250 miliar setiap tahun pada sekitar 175.000 proyek pengembangan teknologi informasi, 31.1% dari proyek tersebut dibatalkan sebelum proyek tersebut terselesaikan. Studi tersebut menjelaskan bahwa kegagalan dalam suatu proyek pengembangan perangkat lunak berakar dari kesalahan yang terjadi pada tahap
spesifikasi kebutuhan. Mereka menyarankan agar menuliskan pernyataan kebutuhan perangkat lunak dengan jelas sebagai salah satu faktor kunci untuk dapat mengembangkan perangkat lunak dengan sukses.
Pada prakteknya, spesifikasi kebutuhan perangkat lunak dinyatakan dalam bahasa alamiah. Bagi seorang pengembang perangkat lunak, memeriksa secara manual satu demi satu pernyataan kebutuhan yang sedang disusun merupakan pekerjaan yang memakan banyak waktu dan tenaga. Hal ini membuat spesifikasi tersebut menjadi tercemar oleh berbagai bentuk kerancuan, yang pada akhirnya berkontribusi pada kegagalan kritis dalam tahapan proses pengembangan berikutnya. Untuk itu, perlu suatu metode untuk mendeteksi sedini mungkin kerancuan yang mungkin muncul atau terkandung di dalam suatu spesifikasi kebutuhan perangkat lunak.
Dalam tugas akhir ini akan dibangun kakas bantu untuk mendeteksi kerancuan dalam sebuah dokumen Spesifikasi Kebutuhan Perangkat Lunak menggunakan acuan dari Hussein et al. [2007] dengan penyempurnaan untuk pelacakan kembali kata-kata yang terindikasi sebagai penyebab kerancuan dari dokumen tersebut.
2
Aplikasi ini berbasis desktop yang mengolah akan bahasa alamiah dengan menggunakan pustaka Pengolahan Bahasa Alamiah (Stanford Parser), serta menggunakan pustaka WEKA untuk mengimplementasikan algoritma pohon keputusan C4.5. Dengan masukan berupa informasi kebutuhan pada tahap elisitasi dalam aktivitas rekayasa kebutuhan maupun sebuah dokumen Spesifikasi Perangkat Kebutuhan Perangkat Lunak (SKPL) yang merupakan hasil dari tahap spesifikasi dalam aktivitas rekayasa kebutuhan. Dokumen SKPL tersebut nantinya akan mengalami proses ekstraksi untuk mendapatkan pernyataan kebutuhan perangkat lunak.
2. DASAR TEORI
2.1. Kerancuan pada Spesifikasi Kebutuhan Perangkat Lunak
Kekerancuanan dalam sebuah dokumen SKPL dapat terjadi dalam berbagai bentuk bahasa alamiah. Sebagai contoh, perhatikan pernyataan berikut ini:
“Design a program that allows a network operator to plan changes in every parameter of every cell in the network. These planned changes should be verified for consistency and correctness and then applied to the network in the least disturbing way” [Kriens, 1996].
Pernyataan diatas tidak menjelaskan bagaimana sebuah sistem memverifikasi perubahan pada suatu sel dalam suatu jaringan untuk konsistensi dan kebenaran dan kemudian mengaplikasikannya pada jaringan tersebut. Sehingga pernyataan ini menjadi rancu dikarenakan kita tidak dapat mengimplementasikannya dalam sebuah rancangan sistem yang formal.
Dari contoh tersebut dapat kita lihat bagaimana pentingnya membuat sebuah pernyataan spesifikasi sistem yang jelas dalam sebuah dokumen SKPL.
Dokumen SKPL merupakan sebuah pondasi dalam membangun sebuah sistem. Kesalahan kecil dalam membuat spesifikasi kebutuhan perangkat lunak dapat berakibat terjadinya kegagalan pembangunan sebuah sistem perangkat lunak. Menurunkan tingkat kerancuan dalam dokumen persyaratan tekstual akan mengarah pada kualitas deskripsi konseptual (model) yang lebih baik, dan juga mengurangi jumlah waktu yang diperlukan untuk analisis kebutuhan dan spesifikasi.
2.2. Kualitas Kebutuhan Perangkat Lunak
Sebuah dokumen SKPL ditulis secara hati-hati dalam bahasa alami dengan tujuan mempertahankan beberapa karakteristik kualitas yang baik. Pada bagian ini, kita membahas karakteristik kualitas diajukan oleh IEEE, dan juga masalah-masalah yang dihadapi oleh spesifikator persyaratan dalam mempertahankan kualitas kebutuhan perangkat lunak.
2.2.1. Kualitas Kebutuhan Perangkat Lunak
Bertrand Mayer [1985], dalam jurnalnya menunjukkan bagian pada dokumen SKPL yang sering menyebabkan terjadinya kesalahan. Dalam risetnya, Mayer mengklasifikasikan faktor-faktor penyebab kesalahan yang mempengaruhi kualitas dari suatu dokumen SKPL ke dalam beberapa kategori, yang kemudian dikenal dengan Mayer’s Seven Sins. Berikut ini adalah tabel yang menunjukkan hal tersebut:
Tabel 1 Mayer’s Seven Sins [Meyer, 1985]
Noise Kemunculan suatu elemen yang tidak membawa informasi yang relevan untuk setiap fitur dari masalah dalam suatu teks.
Silence Keberadaan fitur dari masalah yang ti- dak tercakup oleh setiap elemen dari teks.
Over- specification
Kemunculan suatu elemen yang sesuai dengan fitur dari masalah tetapi untuk fitur dari solusi yang mungkin dalam suatu teks.
Contradiction Kemunculan dua atau lebih elemen yang mendefinisikan suatu fitur dari sistem dalam cara yang tidak kompa- tibel dalam suatu teks.
Ambiguity Kemunculan suatu elemen yang memiliki lebih dari satu penafsiran terhadap suatu fitur dalam suatu teks.
Forward Reference
Kemunculan suatu elemen yang menggunakan fitur dari masalah tidak didefinisikan sampai nanti dalam suatu teks.
Wishful Thinking
Kemunculan suatu elemen yang men- definisikan suatu fitur dari masalah sedemikian rupa sehingga kandidat untuk solusi tidak dapat divalidasi secara realistis sehubungan dengan fitur ini.
2.2.2. Model Kualitas Spesifikasi Kebutuhan Perangkat Lunak
Kerancuan sering terjadi dalam proses pemahaman dalam membaca suatu teks. Pemahaman ini dapat dibagi menjadi dua, yaitu secara surface understanding „harfiah‟
dan conceptual understanding „interpretasi‟. Membaca pada tingkat permukaan dapat diartikan memahami fakta yang terdapat pada dokumen tersebut yang menyebabkan kita dapat menjawab pertanyaan umum seperti siapa, apa, kapan dan dimana. Beberapa faktor pemahaman secara harfiah yang dapat terlibat pada tingkat ini, misalnya panjang kalimat, kata sifat rancu dan adverbia, kata kerja pasif, dll. Lebih lengkapnya terdapat pada gambar 2.
Tingkat kedua dalam membaca adalah interpretasi dari
3
dokumen, memahami apa yang dimaksud atau tersirat daripada apa yang dinyatakan.
Gambar 2 Model Kualitas untuk Spesifikasi Kebutuhan Perangkat Lunak
2.3. Analisis Kerancuan Kebutuhan Perangkat Lunak
Tahapan awal analisis kerancuan kebutuhan, berdasarkan [Hussein, 2007] adalah pembentukan korpus (kumpulan tulisan/text yang menyimpan informasi tertentu) yang nantinya digunakan untuk pelatihan dan pengujian pada sistem klasifikasi teks dan ekstraksi fitur dari korpus tersebut. Dalam tahapan ini diperlukan data berupa dokumen SKPL yang sebelumnya telah diklasifikasikan oleh ahli kedalam kelompok dokumen rancu dan tidak rancu dengan metode. Kemudian dari data tersebut dibentuk dua buah korpus (Korpus Tingkat Kalimat dan Korpus Tingkat Wacana) dengan format spesifik yang nantinya digunakan untuk melakukan pelatihan dan pengujian.
Gambar 3 Proses Anotasi Corpus [Hussain et al, 2007]
Proses berlanjut dengan melakukan ekstraksi fitur- fitur yang terdapat pada korpus tersebut berdasarkan kriteria pemahaman harfiah dari Hussein et al. [2007]
menggunakan bantuan pustaka Pengolahan Bahasa Alamiah (POS Tagger, Syntax Parser). Hasilnya adalah korpus dengan format tertentu (ARFF) yang akan digunakan sebagai data latih untuk membentuk sistem klasifikasi teks.
Tahapan berikutnya adalah pembentukan pohon keputusan dengan menggunakan algoritma C4.5. Pohon keputusan ini dibentuk dengan menggunakan penambangan data terhadap korpus yang telah dibentuk.
Dalam tahapan ini, korpus data latih yang telah terbentuk direpresentasikan kedalam format ARFF untuk kemudian digunakan oleh pustaka WEKA dalam pembentukan pohon keputusan C4.5 (J48). Pohon keputusan yang telah terbentuk digunakan sebagai penggolong (Sistem Klasifikasi Teks) untuk mengklasifikasikan data uji atau kalimat yang belum terklasifikasi kedalam dua kelas, yakni rancu dan tidak rancu.
3. METODOLOGI 3.1. Arsitektur Sistem
Arsitektur sistem dari aplikasi ini ditunjukkan pada gambar 4. Masukan aplikasi ini dapat berupa penggalan dari kebutuhan perangkat lunak atau sebuah dokumen SKPL yang menggunakan format dokumen Microsoft Word.
Secara garis besar, terdapat beberapa proses utama yang dilakukan oleh aplikasi ini terkait dengan fungsionalitasnya, sebagai berikut.
1. Pembentukan model Sistem Klasifikasi Teks dari data latih.
a. Proses ekstraksi fitur yang terkait dengan penilaian kualitas kebutuhan perangkat lunak dari data awal (Korpus Tingkat Kalimat dan Korpus Tingkat Wacana).
b. Proses pembentukan berkas ARFF (ARFF Tingkat kalimat dan ARFF Tingkat Wacana).
4
c. Proses penambangan data untuk mendapatkan model Sistem Klasifikasi Teks.
2. Analisis kerancuan kebutuhan perangkat lunak.
a. Proses ekstraksi fitur yang terkait dengan penilaian kualitas kebutuhan perangkat lunak dari data masukan pengguna (Korpus Tingkat Wacana).
b. Proses pembentukan berkas ARFF (ARFF Tingkat Wacana).
c. Proses klasifikasi data dengan menggunakan model Sistem Klasifikasi Teks yang telah terbentuk sebelumnya.
d. Penelusuran kembali terhadap kata-kata yang menjadi penyebab kerancuan beserta reko- mendasinya.
Gambar 4 Arsitektur Sistem
3.2. Aktor
No. Actor Deskripsi
1 Pengguna Akhir
Aktor dapat melakukan analisis kerancuan terhadap suatu penggalan kebutuhan perang- kat lunak atau dokumen SKPL.
Pengguna akhir juga dapat mela-kukan pembaharuan ter- hadap model Sistem Klasi- fikasi Teks pada aplikasi ini.
3.3. Perancangan Model Klasifikasi Tingkat Kalimat
3.3.1. Pembentukan Kata Kunci Rancu
Salah satu kelebihan dari metode yang digunakan pada Tugas Akhir ini dibanding metode lainnya adalah pembentukan kata kunci rancu yang dilakukan secara dinamis dan otomatis. Setiap kata dari korpus rancu tingkat kalimat (korpus A) akan dihitung frekuensi kemunculan pasangan (kata, POS tag), kemudian dilakukan perhitungan rasio frekuensinya pada korpus A dan korpus tidak rancu tingkat kalimat (korpus U).
Kumpulan kata kunci rancu tersebut kemudian diseleksi berdasarkan nilai nisbah kemungkinan dengan nilai ambang tertentu. Nilai ambang didapatkan melalui rumus berikut:
LR Fitur X :
=
( )
3.3.2. Ekstraktor Fitur Tingkat Kalimat
Ekstraktor fitur pada kakas bantu ini akan mengekstraksi fitur-fitur yang dibutuhkan untuk menganalisis kerancuan pada sebuah kalimat. Dalam suatu kalimat terdapat fitur-fitur sintaksis di dalamnya yang merupakan kandidat yang mungkin akan menjadi faktor penyebab kerancuan pada sebuah kalimat dalam lingkup pemahaman harfiah. Tidak semua kandidat yang nantinya digunakan atau diekstraksi olej ekstraktor fitur, hanya kandidat yang tervalidasi yang akan digunakan.
Kandidat yang digunakan dipilih berdasarkan peringkat nisbah kemungkinan pada korpus tingkat kalimat. Tabel 2 menunjukkan kandidat fitur yang digunakan oleh Hussain et al [2007] untuk analisis kerancuan suatu kalimat setelah mengalami validasi.
Tabel 2 Peringkat Fitur Pada Tingkat Kalimat
Fitur Deskripsi Jenis LR
bad_RB Kata keterangan yang rancu
Kata Kunci Rancu
0.66
bad_MD Modal yang rancu 0.63
bad_JJ Kata sifat yang ambigu
0.51
bad_DT Determinan yang rancu
0.47
vbCount_in_p Jumlah kata kerja dalam kurung
Fitur Sintaksis
0.38
tokenCount_in_p Jumlah token dalam kurung
0.36
paranthCount Jumlah kurung 0.32
Fragment Apakah suatu kalimat fragmen?
0.27
5
Fitur Deskripsi Jenis LR
AdvCount Jumlah kata keterangan
0.25
PassCount Jumlah kata pasif 0.22
AdjCount Jumlah kata sifat 0.21
Batas Bawah Batas Bawah LR 0.21
3.2.3. ARFF Data Latih Tingkat Kalimat
Untuk membentuk sebuah model sistem klasifikasi teks tingkat kalimat dalam tugas akhir ini digunakan pustaka WEKA. Pustaka WEKA membutuhkan berkas masukan berjenis ARFF untuk dapat melakukan proses penambangan data yang hasil akhirnya (pada bagian perancangan ini) adalah sebuah model sistem klasifikasi teks tingkat kalimat. Oleh karena itu data latih yang didapatkan dari proses ekstraksi fitur harus direpresentasikan dalam bentuk berkas ARFF. Atribut- atribut untuk berkas ARFF data latih pada tingkat kalimat dijelaskan pada tabel 3.
Tabel 3 Atribut Untuk Berkas ARFF Data Latih Tingkat Kalimat
Nama Atribut Deskripsi
bad_DT Atribut ini bertipe numeric. Berfungsi untuk menyimpan jumlah kata determinan dalam suatu kalimat.
bad_RB Atribut ini bertipe numeric. Berfungsi untuk menyimpan jumlah kata keterangan dalam suatu kalimat.
bad_MD Atribut ini bertipe numeric. Berfungsi untuk menyimpan jumlah kata modal dalam suatu kalimat.
bad_JJ Atribut ini bertipe numeric. Berfungsi untuk menyimpan jumlah kata sifat dalam suatu kalimat.
vb_in_p Atribut ini bertipe numeric. Berfungsi untuk menyimpan jumlah kata kerja dalam kurung dalam suatu kalimat tokn_in_p Atribut ini bertipe numeric. Berfungsi
untuk menyimpan jumlah token dalam kurung dalam suatu kalimat
Parentheses Atribut ini bertipe numeric. Berfungsi untuk menyimpan jumlah kurung dalam suatu kalimat
Fragment Atribut ini bertipe boolean. Berfungsi untuk menyimpan apakah sebuah kalimat merupakan sebuah fragmen (kalimat tidak lengkap).
Adverbs Atribut ini bertipe numeric. Berfungsi untuk menyimpan jumlah kata
Nama Atribut Deskripsi
keterangan dalam suatu kalimat.
Passives Atribut ini bertipe numeric. Berfungsi untuk menyimpan jumlah kata pasif dalam suatu kalimat. Didapatkan dengan mengidentifikasi struktur gramatikal suatu kalimat (apakah mengandung agent atau passive auxialiary).
Adjectives Atribut ini bertipe numeric. Berfungsi untuk menyimpan jumlah kata sifat dalam suatu kalimat.
Class Atribut ini bertipe enumersi. Ber- fungsi untuk menyimpan jenis klasi- fikasi suatu kalimat. “Rancuous”
apabila suatu instance merupakan kalimat rancu, “Unrancuous” apabila suatu instance merupakan kalimat tidak rancu, dan “?” apabila suatu instance masih belum terklasifikasi.
3.2.4. Model Klasifikasi Tingkat Kalimat
Model klasifikasi tingkat kalimat ini menggunakan algoritma pohon keputusan C4.5 menggunakan berkas ARFF data latih pada tingkat kalimat. Ada dua alasan yang mendasari penggunaan pemilihan tersebut menurut Hussain et al. [2007], sebagai berikut.
1. Pohon keputusan memungkinkan penelusuran kembali dari sebuah simpul daun untuk menurunkan penyebab klasifikasi tertentu.
2. Ukuran dari korpus tidak cukup besar untuk melakukan pemodelan algoritma neural network yang menawarkan hasil yang lebih baik.
Gambar 5 Visualisasi Model Klasifikasi Tingkat Kalimat
6
3.4. Perancangan Model Klasifikasi Tingkat Wacana
3.4.1. Ekstraktor Fitur Tingkat Wacana
Ekstraktor fitur tingkat wacana akan mengekstraksi fitur-fitur yang dibutuhkan untuk menganalisis kerancuan pada sebuah wacana. Berikut ini adalah fitur-fitur yang diekstraksi pada tingkat wacana.
1. Rasio jumlah kalimat rancu dan jumlah keseluruhan kalimat
Seperti yang telah dijelaskan sebelumnya, ekstraktor fitur tingkat wacana akan menggunakan model klasifikasi tingkat kalimat untuk melakukan ekstraksi fitur rasio jumlah kalimat rancu dan jumlah keseluruhan kalimat dalam suatu wacana. Ekstraktor melakukan ekstraksi kalimat dari sebuah wacana, kemudian setiap kalimat tersebut akan diklasifikasikan menggunakan model klasifikasi tingkat kalimat untuk mengetahui apakah kalimat tersebut rancu atau tidak.
2. Rasio jumlah kata uniques dan jumlah keseluruhan kata
Kata uniques adalah suatu kata yang hanya muncul sekali pada suatu wacana.
3. Rasio jumlah kata dan jumlah keseluruhan kata
3.3.2 ARFF Data Latih Tingkat Wacana
Untuk membentuk sebuah model sistem klasifikasi teks tingkat wacana dalam tugas akhir ini digunakan pustaka WEKA. Pustaka WEKA membutuhkan berkas masukan berjenis ARFF (subbab 2.13) untuk dapat melakukan proses penambangan data yang hasil akhirnya (pada bagian perancangan ini) adalah sebuah model sistem klasifikasi teks tingkat wacana. Oleh karena itu data latih yang didapatkan dari proses ekstraksi fitur harus direpresentasikan dalam bentuk berkas ARFF.
Atribut-atribut untuk berkas ARFF data latih pada tingkat wacana dijelaskan pada tabel 3.11.
Tabel 4 Atribut Untuk Berkas ARFF Data Latih Tingkat Wacana
Nama Atribut Deskripsi rancuous_sent_per_s
entence
Atribut ini bertipe numeric.
Berfungsi untuk menyimpan rasio jumlah kalimat rancu dan jumlah keseluruhan kalimat.
uniques_per_words Atribut ini bertipe numeric.
Berfungsi untuk menyimpan rasio jumlah kata uniques dan jumlah keseluruhan kata.
words_per_sentence Atribut ini bertipe numeric.
Nama Atribut Deskripsi
Berfungsi untuk menyimpan rasio jumlah kata dan jumlah keseluruhan kata
Class Atribut ini bertipe enumersi.
Berfungsi untuk menyimpan jenis klasifikasi suatu wacana.
“Rancuous” apabila suatu instance merupakan wacana rancu, “Unrancuous” apabila suatu instance merupakan wacana tidak rancu, dan “?” apabila suatu instance masih belum terklasifikasi.
3.2.2. Model Klasifikasi Tingkat Wacana
Model klasifikasi tingkat wacana ini sama seperti klasifikasi tingkat kalimat, dibentuk menggunakan algoritma C4.5 dan menggunakan berkas ARFF data latih pada tingkat wacana. Model klasifikasi ini membutuhkan tiga fitur yang diekstraksi dari sebuah wacana untuk mengklasifikasikan sebuah wacana.
Gambar 6 Visualisasi Model Klasifikasi Tingkat Wacana
3.3. Perancangan Penelusuran Kembali dan Rekomendasi terhadap Kerancuan pada Peryantaan Kebutuhan
Setelah analisis kerancuan dilakukan, apabila suatu pernyataan kebutuhan terklasifikasi sebagai pernyataan yang rancu maka akan dilakukan penelusuran kembali terhadap kata-kata yang menyebabkan kerancuan dan pemberian rekomendasi agar pengguna mengetahui hal- hal yang sekiranya menyebabkan kerancuan tersebut untuk kemudian dapat memperbaiki kerancuan yang terjadi pada kalimat tersebut.
7
Penelusuran kembali dan pemberian rekomendasi hanya diberikan pada pernyataan yang memiliki hasil analisis rancu. Penelusuran kembali dilakukan dengan mencocokkan pasangan <kata, POS> pada pernyataan kebutuhan yang rancu dengan pasangan <kata, POS>
pada daftar kata kunci kerancuan, apabila ditemukan persamaan maka kata tersebut akan diberi tanda untuk kemudian dilakukan highlight. Rekomendasi selain hanya diberikan pada pernyataan yang memiliki hasil analisis rancu juga terdapat ketentuan tambahan, yakni apabila jumlah pasangan <kata, POS> yang terdeteksi untuk setiap daftar kata kunci kerancuan (badDT, bad RB, badMD, badJJ) melebihi nilai ambang yang ditentukan.
4. UJI COBA
Pada bagian ini akan dilakukan uji coba terhadap nilai kebenaran hasil analisis kerancuan kakas bantu untuk mendapatkan nilai keberhasilan dari sistem ini. Data yang digunakan adalah data uji yang telah dilatih atau diklasifikasikan oleh ahli di bidang rekayasa kebutuhan.
Tabel 5.6 merupakan prosedur pengujian untuk akurasi analisis kerancuan dari kakas bantu ini. Tabel 5.7 menunjukkan ringkasan hasil pengujian dan tabel 5.8 menunjukkan detail hasil pengujian. Gambar 4.8 merupakan tampilan kakas bantu ketika menjalankan skenario 1 pada pengujian TC-NF-001 skenario 1.
Tabel 4 Prosedur Pengujian Akurasi Analisis Kerancuan
Test ID TC-NF-001
Tujuan Test
Mengetahui nilai
kebenaran hasil dari kakas bantu analisis kerancuan.
Kondisi Awal
Telah dibentuk model Sistem Klasifikasi Teks dengan menggu-akan 60%
dari pernyataan kebutuhan pada dokumen uji sebagai data latih secara acak.
Data Masukan
Prosedur pengujian
Hasil yang diharapkan
Hasil yang diperoleh Data Uji yang berasal dari ahli 1: Daniel Oranova Siahaan, S.Kom, M.Sc., PD.Eng.
Dokumen
“Earchive.d ocx”
Aplikasi dijalankan sampai dengan tahap untuk analisis kerancuan dokumen.
Hasil analisis rancu ahli dan sistem menemui kecocokan.
Merujuk pada tabel 6
Tabel 6 Hasil Pengujian Akurasi Nilai Analisis Kerancuan Dokumen Earchive.docx
Kakas Bantu Rancu Tidak Rancu
Ahli Rancu 9 1
Tidak Rancu 12 18
Berdasarkan kutipan tabel 5.7 terlihat bahwa 9 buah pernyataan kebutuhan dinyatakan rancu oleh ahli maupun kakas bantu dan 18 buah pernyataan kebutuhan dinyatakan tidak rancu. Berdasarkan data tersebut maka P(A) = (9+ 18) / 40 = 0.675. Kemudian untuk menghitung P(E) dilakukan dengan cara sebagai berikut:
1. Ahli menjawab rancu sebanyak 11 kali dan tidak rancu sebanyak 29 kali, maka prosentase ahli menjawab rancu = 27.5%
2. Kakas bantu menjawab rancu sebanyak 22 kali dan tidak rancu sebanyak 18 kali, maka prosentase kakas bantu menjawab rancu = 55%
3. Probabilitas para penguji menjawab rancu adalah 0.275* 0.55 = 0.15
4. Probabilitas para penguji menjawab tidak rancu adalah 0.725 * 0.45 = 0.33
5. P(E) = 0.15 + 0.33 = 0.48
Setelah itu nilai κ (indeks Kappa) dapat ditentukan dengan:
κ = ( 0.675 – 0.48) / (1-0.48)
= 0.195/0.52 = 0.375.
Gambar 7 Tampilan Antarmuka Aplikasi dan Hasil Uji Coba untuk [TC-NF-001].
5. KESIMPULAN
Dari hasil pengamatan selama perancangan, implementasi, dan proses uji coba perangkat lunak yang
8
dilakukan, penulis mengambil kesimpulan sebagai berikut.
1. Membuat sebuah kakas bantu untuk mengekstraksi sebuah dokumen SKPL lalu melakukan analisis kerancuan, penelusuran kata penyebab kerancuan dan rekomendasi terhadap kerancuan tersebut berhasil diimplementasikan.
2. Penggunaan pengolahan bahasa alamiah untuk melakukan ekstraksi fitur dari suatu pernyataan kebutuhan berhasil dimplementasikan. Pengolahan bahasa alamiah digunakan untuk ekstraksi fitur yang bersifat sintaksis.
3. Pembentukan berkas data latih (tingkat wacana dan kalimat) yang akan digunakan untuk pelatihan pada sistem klasifikasi teks dalam format ARFF berhasil dilakukan.
4. Untuk melakukan analisis kebutuhan perlu dilakukan proses pembentukan berkas ARFF terhadap kebutuhan tersebut sama seperti pembentukan berkas data latih.
5. Pemanfaatan pohon keputusan C4.5 dengan representasi J48 pada pustaka WEKA untuk menganalisis kerancuan pada kebutuhan perangkat lunak berbasis sistem klasifikasi teks (tingkat wacana dan kalimat).
6. Dalam menganalisis kerancuan sebuah kebutuhan spesifik perangkat lunak digunakan model klasifikasi teks tingkat wacana dan kalimat.
7. Metode analisis kerancuan yang digunakan dalam tugas akhir ini memerlukan data latih yang bervariasi dan mencakup karakteristik dari data uji agar mendapatkan tingkat akurasi yang baik.
6. SARAN
Dalam pembuatan kakas bantu ini, terdapat beberapa kemungkinan pengembangan aplikasi yang dilakukan, sebagai berikut.
a. Pengembangan metode rekomendasi berbasis aturan berdasarkan pola dari model pohon keputusan yang dihasilkan.
b. Agar analisis yang dihasilkan lebih baik, diperlukan data latih yang lebih banyak dan bervariasi sehingga dapat mewakili karakteristik dari suatu pernyataan yang ingin dianalisis.
7. DAFTAR PUSTAKA
[1]. Lami, Giuseppe. (2005). “QuARS: A Tool for Analyzing Requirements”. Pittsburgh, PA USA:
Carnegie Mellon Software Engineering Institute.
[2]. Hussain, H. M. I. (2007). “Using Text Classification to Automate Ambiguity
Detection in SRS Documents”. Tesis di Departemen Computer Science and Software Engineering, Universitas Concordia, Canada.
[3]. Hussain, H. M. I., Ormandjieva, O., Kosseim, L.
(2007). “Toward a Text Classification System for the Quality Assessment of Software Requirements Written in Natural Language”. Fourth International Workshop on Software Quality Assurance in Conjunction with The 6th ESECFSE Joint Meeting SOQUA 07.
[4]. Mannion, M., Keepence, B. (1995). “SMART Requirements”. ACM Sigsoft. The Standish Group International, Inc. “The CHAOS Report”.
[5]. Oranova, Daniel. (2011).”Rekayasa Kebutuhan”.
Buku Ajar di Jurusan Teknik Informatika, Institut Teknologi Sepuluh Nopember, Surabaya.
[6]. Muliawan, I. Wayan. (2011). “Analisis Kerancuan Kebutuhan Perangkat Lunak berdasarkan Acuan Smart Requirement”. Tesis di Jurusan Teknik Informatika, Institut Teknologi Sepuluh Nopember, Surabaya.
[7]. Median, Y. Hartanto. (2011). “Prediksi Umur Bug dalam Proyek Pengembangan Perangkat Lunak”.
Tugas Akhir di Jurusan Teknik Informatika, Institut Teknologi Sepuluh Nopember, Surabaya.
[8]. Wilson, W., Rosenberg, L., & Hyatt, L. (1996).
“Automated Quality Analysis of Natural Language Requirement Specifications”. Proceedings 14th Annual Pacific Northwest Software Quality Conference, Ortland.
[9]. Sommerville, I. (2004). “Software”, 8th ed.
Harlow, Pearson Education Ltd., England.
[10]. Witten, Ian H & Frank, Eibe.(2005). “Data Mining: Practical Machine Learning Tools and Techniques”, 2nd ed. Elsevier Inc., USA.