## pISSN: 2442-3386  eISSN: 2442-4293
Vol 1 No 2 Juli 2015, 1 - 6

## KLASIFIKASI KEBUTUHAN NON-FUNGSIONAL MENGGUNAKAN FSKNN DENGAN PENGEMBANGAN SINONIM DAN HIPERNIM BERBASIS ISO/IEC 9126
Denni Aldi Ramadhani 1 , Siti Rochimah 2 , Umi Laili Yuhana 3 1,2,3 Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember dennialdi@gmail.com , siti@its-sby.edu , yuhana@if.its.ac.id

## Abstrak
Kebutuhan non-fungsional merupakan salah satu faktor penting yang berperan dalam kesuksesan pengembangan perangkat lunak yang sering kali dilupakan oleh pengembang sehingga menimbulkan efek yang merugikan. Untuk mendapatkan kebutuhan non-fungsional dibutuhkan suatu sistem otomatisasi identifikasi kebutuhan non fungsional. Dalam  penelitian  ini  diusulkan  suatu  sistem  otomatisasi  identifikasi  kebutuhan  non  fungsional  dari  kalimat kebutuhan berbasis algoritma klasifikasi FSKNN dengan pengembangan term pada data latih menggunakan sinonim dan gabungan hipernim dan sinonim berbasis ISO/IEC 9126. Dalam pengujiannya dataset kalimat kebutuhan yang digunakan adalah 1342 kalimat dari 6 dataset yang berbeda. Hasil dari penelitian ini adalah pengembangan term dengan menggunakan gabungan hipernim dan sinonim dapat memperbaiki kinerja accuracy sebesar 8.1% , precision sebesar 13% dan recall sebesar 4.9%. Kata Kunci: kebutuhan non-fungsional, klasifikasi multi-label, Fuzzy Similarity based K-Nearest Neighbour.

## Abstract
Non-functional requirements is one of the important factors that play a role in the success of software development that is often forgotten by the developer, causing adverse effects. To obtain the non-functional requirements needed an automation system identification non-functional requirements. In this study proposed an an automation system of  identification  of  non-functional  requirements  from  the  requirement  sentences  based  classification  algorithms FSKNN with term enrichment on training data using synonyms and combined hypernym and synonyms based on ISO / IEC 9126. In the testing phase the dataset of requirement sentence used was 1342 sentences from six different datasets  Results  of  this  research  is  the  term  enrichment  by  using  a  combination  hypernym  and  synonyms  can improve performance accuracy by 8.1%, precision by 13% and a recall by 4.9%.
Keywords: Non-Functional Requirement, multi-label classification, Fuzzy Similarity based K-Nearest Neighbour.

## I. PENDAHULUAN
Mengetahui  kebutuhan  non  fungsional  yang berkaitan  erat  dengan  aspek  kualitas  perangkat  lunak merupakan sesuatu yang penting karena aspek kualitas dalam kebutuhan non fungsional merupakan salah satu faktor yang berperan dalam kesuksesan mengembangkan sebuah sistem. Dunia industri dalam prakteknya  juga  terlalu  fokus  pada  faktor  kebutuhan fungsional dan sering melupakan faktor kebutuhan non fungsional  hingga  mencapai  pada  tahap  desain  dan pengembangan  [1].  Pada  kenyataannya  jika  aspek kualitas kebutuhan non fungsional tidak dipertimbangkan dan tidak diketahui maka menimbulkan  efek  yang  merugikan,  baik  untuk kesuksesan  pengembangan  sistem  perangkat  lunak tersebut dan juga bagi para pemangku kepentingan.
Masalah  yang  timbul  karena  kurang  diperhatikannya identifikasi kebutuhan non-fungsional dalam pengembangan  perangkat  lunak  adalah  kegagalan
kinerja  ketika  perangkat  lunak  telah  disebarkan ( deployment )  ke  lingkungan  masyarakat  [2]  [3].  Efek merugikan juga dapat berdampak untuk para pemangku kepentingan, biasanya karena para pemangku kepentingan telah mengeluarkan dana besar untuk suatu proyek  pengembangan  perangkat  lunak  yang  pada akhirnya perangkat lunak tersebut tidak berguna secara maksimal [4].
Banyak  penelitian  yang  telah  dilakukan  untuk mengidentifikasi perangkat lunak, salah satu penelitian seperti  yang  dilakukan  oleh  Slankas  dan  Williams mengajukan  sebuah  sistem  yang  disebut  dengan NFR Locator.  Sistem  ini  terdiri  dari  dua  proses  yaitu  pada proses pertama melakukan parsing dokumen kebutuhan  menjadi  kalimat  –  kalimat  yang  tersusun dalam  bentuk directed  graph, proses parsing ini menggunakan Stanford  Natural  Language  Parser . Proses  kedua  melakukan  klasifikasi  terhadap  kalimat hasil proses pertama dengan menggunakan pendekatan

## 1 - 8

## Melek IT

## Information Technology Journal. Vol 1 No 2 Juli 2015, 2 - 6
pembelajaran  diawasi  berbasis  algoritma  KNN  dan memanfaatkan  fungsi distance  metric  Levenshtein untuk  mengukur  jarak  data  uji  dengan  data  tetangga terdekatnya [5].
Pada  penelitian  lainnya  juga  mengajukan  sebuah  cara untuk  menyelesaikan  permasalahan  identifikasi  aspek kualitas kebutuhan non fungsioanl dengan pendekatan pembelajaran semi-diawasi (semi-supervised learning) berbasis  algoritma  Naive  Bayes.  Algoritma  Naive Bayes  digunakan  untuk  proses  pelatihan  yang digabungkan dengan
metode
Expectation Maximization (EM) yang bertujuan untuk mengurangi jumlah  data  latih.  Proses  pertama  yaitu  dengan melakukan  praproses  terhadap  dokumen  kebutuhan untuk  mendapatkan  term  kunci  dari  dokumen,  dan proses  kedua  adalah  melakukan  klasifikasi  dengan metode  gabungan  tersebut.  Dokumen  yang  tidak terlabeli  dianggap  memiliki  kehilangan  data  karena kurangnya label kelas [6].
Beberapa  penelitian  diatas  tidak  mempertimbangkan pengembangan  pada  fitur  atau  term  yang  digunakan untuk  melakukan  proses  klasifikasi.  Fitur  atau  term pada  data  latih  dapat  dikembangkan  dengan menggunakan sinonim dan hipernim dengan memanfaatkan dictionary Wordnet, sehingga fitur atau term  yang  akan  digunakan  pada  data  latih  dapat berkembang maknanya secara lebih luas.
Pada  penelitian  ini  akan  mengusulkan  sebuah  sistem otomatisasi  indentifikasi  kalimat  kebutuhan  dengan menerapkan  metode  klasifikasi multi-label berbasis algoritma
FSKNN
dengan menambahkan pengembangan term dalam  data  latih  berdasarkan hubungan  gabungan  hipernim  dan  sinonim  berbasis Wordnet  Kategori  aspek  kualitas  yang  digunakan berbasis model kualitas standar internasional ISO/IEC 9126.

## II. METODE
Metode penelitian ini terdiri atas 3 tahap utama yaitu : otomatisasi pelabelan data latih dengan pengembangan  term  sinonim  dan  gabungan  hipernim sinonim,  tahap  pelatihan  FSKNN  yang  terdiri  dari subproses pengelompokan pola pelatihan dan penghitungan  prior  probability  dan  nilai  likelihoods, dan tahap klasifikasi FSKNN.

## 2.1 Tahap Otomatisasi Pelabelan Data Pelatihan
Pada  fase  data  pelatihan  otomatisasi  label terdiri dari empat tahap: preprocessing, pengembangan term  dalam  data  pelatihan  berdasarkan  hubungan gabungan antara hipernim dan sinonim, pembobotan tf- idf,  dan  pengukuran  nilai  kemiripan.  Semua  tahapan otomatisasi  data  training  pelabelan  didasarkan  pada penelitian  yang  telah  dilakukan  oleh  Suharso  dan Rochimah  [7].  Kecuali  pada  fase  kedua  adalah kontribusi  dari  penelitian  ini  yaitu  mengembangkan term  pada  data  pelatihan  menggunakan  sinonim  dan
gabungan  pola  hipernim  dan  sinonim  seperti  pada Gambar 1 dan Gambar 2.
Gambar 1. Pola Pengembangan Term dengan Sinonim

## 2.2 Tahap Pelatihan FSKNN
Tahap pelatihan Semantic-FSKNN terdiri dari dua tahap  yaitu  pengelompokan  pola  pelatihan  dan penghitungan prior probability [8].
1. Pengelompokan Pola Pelatihan
Pengelompokan  dokumen  pelatihan 𝑑 1 , 𝑑 2 , … , 𝑑 𝑙 ke dalam p kluster berbasis pada fuzzy similarity measure.
Diberikan 𝑑𝑡(𝑡 𝑖 , 𝑐 𝑗 ) dan 𝑑𝑑(𝑡 𝑖 , 𝑐 𝑗 ) yang  merupakan distribusi term 𝑡 𝑖 pada  kategori 𝑐 𝑗 ,  yang  didefinisikan sebagai berikut:
𝑑𝑡(𝑡 𝑖 , 𝑐 𝑗 ) = ∑ 𝑤 𝑖𝑣 𝑦 𝑗𝑣 𝑙 𝑣=1 ∑ 𝑤 𝑖𝑣 𝑙 𝑣=1 (1)
𝑑𝑑(𝑡 𝑖 , 𝑐 𝑗 ) = ∑ 𝑠𝑔𝑛(𝑤 𝑖𝑣 )𝑦 𝑗𝑣 𝑙 𝑣=1 ∑ 𝑦 𝑖𝑣 𝑙 𝑣=1 (2)
Untuk 1 ≤ i ≤ m dan 1 ≤ j ≤ p , dimana :
𝑠𝑔𝑛(𝑥) = { 1, 𝑗𝑖𝑘𝑎 𝑥 > 0 0, 𝑗𝑖𝑘𝑎 𝑥 = 0 (3)
Sehingga tentunya akan didapatkan 0 ≤ 𝑑𝑡(𝑡 𝑖 , 𝑐 𝑗 ) dan 𝑑𝑑(𝑡 𝑖 , 𝑐 𝑗 ) ≤  1.  Tahapan  selanjutnya  menghitung derajat  keanggotaan 𝑡 𝑖 terhadap  kategori 𝑐 𝑗 ,  pada proses  penghitungan  derajat  keanggotaan 𝑡 𝑖 terhadap kategori 𝑐 𝑗 diberikan  suatu  penambahan  formula  baru agar  nilai  yang  didapatkan  dari  proses  pengukuran keterkaitan  semantik  dapat  ikut  diperhitungkan.
Gambar 2. Pola Pengembangan Term dengan Gabungan Hipernim dan Sinonim

## pISSN: 2442-3386  eISSN: 2442-4293

## Vol 1 No 2 Juli 2015, 3 - 6
Penambahan formula tersebut adalah sebagai berikut :
𝜇 𝑅 (𝑡 𝑖 , 𝑐 𝑗 ) = 𝑑𝑡(𝑡𝑖,𝑐𝑗)
𝑚𝑎𝑥 1≤𝑢≤𝑚,1≤𝑣≤𝑝𝑑𝑡(𝑡𝑢,𝑐𝑣) ×
𝑑𝑑(𝑡𝑖,𝑐𝑗)
𝑚𝑎𝑥 1≤𝑢≤𝑚,1≤𝑣≤𝑝𝑑𝑑(𝑡𝑢,𝑐𝑣)
(4)
Untuk 1 ≤ i ≤ m dan 1 ≤ j ≤ p .  Tahapan  selanjutnya adalah  menentukan  fuzzy  similarity  dari  setiap dokumen d, d = 〈𝑤 1 , 𝑤 2 , … , 𝑤 𝑚 〉 , terhadap kategori 𝑐 𝑗 sebagai berikut :
𝑠𝑖𝑚(𝑑, 𝑐 𝑗 ) = ∑ 𝜇 𝑅( 𝑡 𝑖 ,𝑐 𝑗) ⨂ 𝜇 𝑑 (𝑡 𝑖 ) 𝑚 𝑖=1 ∑ 𝜇 𝑅( 𝑡 𝑖 ,𝑐 𝑗) ⨁ 𝜇 𝑑 (𝑡 𝑖 ) 𝑚 𝑖=1 (5)
Dimana ⨂ dan ⨁ merupakan fuzzy  t-norm dan t- conorm yang  secara  berurutan  didefinisikan  sebagai berikut :
𝑥 ⨂ 𝑦 = 𝑥 × 𝑦 (6) 𝑥 ⨁ 𝑦 = 𝑥 + 𝑦 − 𝑥 × 𝑦 (7)
Dan
𝜇 𝑑 (𝑡 𝑖 ) = 𝑤 𝑖 𝑚𝑎𝑥 1≤𝑣≤𝑚 𝑤 𝑣 (8) 𝜇 𝑑 (𝑡 𝑖 ) merupakan  derajat  keanggotaan  dari  term 𝑡 𝑖 terhadap  d.  Tahapan  terakhir  adalah  mendefinisikan derajat keanggotaan dari  dokumen d terhadap kategori 𝑐 𝑗 sebagai berikut :
𝜇 𝑐𝑗 (𝑑) = 𝑠𝑖𝑚(𝑑,𝑐𝑗) 𝑚𝑎𝑥 1≤𝑣≤𝑝𝑠𝑖𝑚(𝑑,𝑐𝑣)
(9)
Untuk 1 ≤ j ≤ p . Untuk setiap dokumen pelatihan 𝑑 𝑖 , 1 ≤ i ≤ l, akan dilakukan perhitungan 𝜇 𝑐𝑗 (𝑑 𝑖 ) , 1 ≤ j ≤ p , dengan  menggunakan  persamaan  15.  Untuk mendefinisikan p kluster, 𝑆 1 , 𝑆 2 , … , 𝑆 𝑝 , adalah sebagai berikut :
𝑆 𝑣 = {𝑑 𝑢 |𝜇 𝑐𝑣 (𝑑 𝑢 ) ≥  𝛼, 1 ≤ 𝑢 ≤ 𝑙 (10)
Untuk  1  ≤ v ≤ p, dimana  α  adalah  threshold  yang didefinisikan oleh user untuk digunakan dalam proses pelatihan.
Untuk setiap 𝑑 𝑖 , 1 ≤ i ≤ l, didefinisikan search set 𝐺 𝑖 untuk setiap 𝑆 𝑣 ⊆   𝐺 𝑖 jika dan hanya jika 𝑑 𝑖 ∈ 𝑆 𝑣 ,  1 ≤ v ≤ p . Proses berikutnya akan dijelaskan pada pseudo- code yang ditunjukkan pada Gambar 3, dengan catatan pada mulanya 𝑆 𝑣 = ∅ , 1 ≤ v ≤ p, dan 𝐺 𝑢 = ∅ , 1 ≤ u ≤ l.
Keluaran  yang  berupa search  set 𝐺 1 , 𝐺 2 , … , 𝐺 𝑙 selanjutnya  akan  digunakan  untuk  menentukan  data tetangga  terdekat  yang  dapat  membantu  melakukan perhitungan nilai prior probability dan nilai likelihood pada tahapan berikutnya .
2. Penghitungan Prior Probability
Diberikan 𝑃(𝐻 𝑗 ) yang  merupakan prior  probability yang harus diketahui nilainya terlebih dahulu sebelum melanjutkan  ke  dalam  setiap  observasi,  sedangkan 𝑃(𝐸|𝐻 𝑗 ) merupakan  suatu  kelas likelihood dan merupakan  sebuah conditional  probability bahwa 𝐻 𝑗 memiliki keterkaitan dengan observasi E . Perhitungan probabilitas  ini  dilakukan  dari  pola  pelatihan  yang didapatkan sebelumnya, sebagai berikut :
𝑃(𝐻 𝑗 = 1) = 𝑠+∑ 𝑦𝑗𝑖 𝑙 𝑖=1 2𝑠+𝑙 (11) 𝑃(𝐻 𝑗 = 0) = 1 − 𝑃(𝐻 𝑗 = 1) (12)
Dimana s merupakan nilai smoothing constant, yang biasanya bernilai real positif kecil. Tahapan berikutnya melakukan  perhitungan  kelas likelihood 𝑃(𝐸|𝐻 𝑗 ) . E dapat  bernilai  0,1,  ... ,  atau k .  Untuk  setiap  dokumen pelatihan 𝑑 𝑖 , 1 ≤ i ≤ l, dimana 𝑁 𝑖 = 〈𝑑 𝑣1 , 𝑑 𝑣2 , … , 𝑑 𝑣𝑘 〉 merupakan k-nearest  neighbor yang  diambil  dari search  set 𝐺 𝑖 dan 𝑛 𝑖 =   〈𝑛 1 𝑖 , 𝑛 2 𝑖 , … , 𝑛 𝑝 𝑖 〉 ,  yang merupakan vektor jumlah label yang didefinisikan :
𝑛 𝑗 𝑖 =   ∑ 𝑦 𝑗𝑟 𝑣 𝑘 𝑟=𝑣 1 (13)
Untuk 1 ≤ j ≤ p . Tahap selanjutnya didefinisikan :
𝑍(𝑒, 𝑗) = ∑ 𝑦 𝑗𝑖 𝑙 𝑖=1 𝛿 𝑒𝑖 (𝑗) (14)
𝑍̃(𝑒, 𝑗) = ∑ 𝑦̃ 𝑗𝑖 𝑙 𝑖=1 𝛿 𝑒𝑖 (𝑗) (15)
Dimana 𝑦̃ 𝑗𝑖 = 1 − 𝑦 𝑗𝑖 dan
𝛿 𝑒𝑖 (𝑗) = { 1, 𝑗𝑖𝑘𝑎 𝑒 = 𝑛 𝑗 𝑖 0, 𝑗𝑖𝑘𝑎 𝑒 ≠ 𝑛 𝑗 𝑖 (16)
Gambar 3. Pseudo-code proses pengelompokan dan proses pendefinisian search set G i [8] 3 - 8

## Melek IT

## Information Technology Journal. Vol 1 No 2 Juli 2015, 4 - 6
Kemudian didefinisikan likelihoods, sebagai berikut :
𝑃(𝐸 = 𝑒|𝐻 𝑗 = 1) = 𝑠+𝑍(𝑒,𝑗)
(𝑘+1)𝑠+∑ 𝑍(𝑣,𝑗) 𝑘 𝑣=0 (17) 𝑃(𝐸 = 𝑒|𝐻 𝑗 = 0) = 𝑠+𝑍̃(𝑒,𝑗) (𝑘+1)𝑠+∑ 𝑍̃(𝑣,𝑗) 𝑘 𝑣=0 (18)
Untuk setiap e = 0, 1, ... , k dan j = 1, 2, ... , p , karena ukuran  dari 𝐺 𝑖 ,  1  ≤ i  ≤  l selalu  lebih  kecil  daripada jumlah  pola  pelatihan  awal,  menghitung likelihoods dapat dilakukan secara efisien.

## 2.3 Tahap Klasifikasi FSKNN
Proses testing dalam  algoritma  FSKNN dilakukan dengan  menggunakan estimasi maximum a posteriori (MAP). Dimisalkan 𝑁 𝑖 = {𝑑 𝑣1 , 𝑑 𝑣2 , … , 𝑑 𝑣𝑘 } merupakan  satu  set k-nearest  neighbors untuk dokumen  testing 𝑑 𝑡 ,  dan 𝑛 𝑡 =   〈𝑛 1 𝑡 , 𝑛 2 𝑡 , … , 𝑛 𝑝 𝑡 〉 merupakan  vektor  jumlah  label  untuk 𝑑 𝑡 (persamaan 2.15), untuk menentukan kategori mana yang memiliki hubungan  dengan 𝑑 𝑡 yaitu  dengan  cara  menghitung vektor  label 𝑦 𝑡 =   〈𝑦 1 𝑡 , 𝑦 2 𝑡 , … , 𝑦 𝑝 𝑡 〉 dari  dokumen 𝑑 𝑡 dengan  menggunakan estimasi maximum a posteriori (MAP) sebagai berikut :
𝑦 𝑗 𝑡 { 1, 𝑗𝑖𝑘𝑎 𝑃(𝐻 𝑗 = 1|𝐸 = 𝑛 𝑗 𝑡 ) > 𝑃(𝐻 𝑗 = 0|𝐸 = 𝑛 𝑗 𝑡 ) 0, 𝑗𝑖𝑘𝑎 𝑃(𝐻 𝑗 = 0|𝐸 = 𝑛 𝑗 𝑡 ) > 𝑃(𝐻 𝑗 = 1|𝐸 = 𝑛 𝑗 𝑡 ) 𝑅[0,1], 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 (19)
Untuk 1 ≤ j ≤ p, dimana 𝐻 𝑗 adalah variabel acak untuk mengetahui  masuk  ke  dalam  kategori 𝑐 𝑗 atau  tidak ( 𝐻 𝑗 = 1 untuk  iya,  dan 𝐻 𝑗 = 0 untuk  tidak), E merupakan variabel untuk jumlah dokumen dalam 𝑁 𝑡 yang  berhubungan  dengan  kategori 𝑐 𝑗 ,  dan R [0,1] mengindikasikan 0 atau 1 dipilih secara acak. Dengan menggunakan Bayes Rule didapatkan :
𝑃(𝐻 𝑗 = 𝑏|𝐸 = 𝑛 𝑗 𝑡 ) = 𝑃(𝐻 𝑗 =𝑏) 𝑃(𝐸=𝑛 𝑗 𝑡 | 𝐻𝑗=𝑏) 𝑃(𝐸=𝑛 𝑗 𝑡 ) (20)
Untuk  b  =  0,  1.  Oleh  karena  itu  persamaan  19  akan berubah menjadi :
𝑦 𝑗 𝑡 { 1, 𝑗𝑖𝑘𝑎 𝑃(𝐻 𝑗 = 1)𝑃(𝐸 = 𝑛 𝑗 𝑡 |𝐻 𝑗 = 1) > 𝑃(𝐻 𝑗 = 0)𝑃(𝐸 = 𝑛 𝑗 𝑡 |𝐻 𝑗 = 0) 0, 𝑗𝑖𝑘𝑎 𝑃(𝐻 𝑗 = 0)𝑃(𝐸 = 𝑛 𝑗 𝑡 |𝐻 𝑗 = 0) > 𝑃(𝐻 𝑗 = 1)𝑃(𝐸 = 𝑛 𝑗 𝑡 |𝐻 𝑗 = 1) 𝑅[0,1], 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
(21)
Untuk 1 ≤ j ≤ p. Tentunya untuk menghitung 𝑦 𝑗 𝑡 harus ditemukan 𝑁 𝑡 , dan menghitung 𝑃(𝐻 𝑗 ) (Persamaan 11 dan  12)  dan  juga 𝑃(𝐸|𝐻 𝑗 ) (Persamaan  17  dan  18). Perhitungan  yang  tidak  tergantung  pada 𝑑 𝑡 dapat dilakukan pada proses pelatihan dan sisanya dilakukan ketika  proses  klasifikasi . Berikut  tahapan  selama proses klasifikasi tersebut :
1. Hitung 𝜇 𝑐𝑗 (𝑑 𝑡 ) ,  1  ≤ j ≤ p dengan  Persamaan  9
menggunakan  informasi  atau  hasil  perhitungan yang dilakukan dengan Persamaan 4, 5 dan 8. 2. Periksa  jika 𝜇 𝑐𝑗 (𝑑 𝑡 ) ≥ 𝛼 untuk  1  ≤ j ≤ p, maka akan  didapatkan search  set untuk 𝑑 𝑡 yaitu 𝐺 𝑡 = 𝑆 𝑗1 ∪ 𝑆 𝑗2 ∪ … ∪ 𝑆 𝑗ℎ . 3. Temukan set 𝑁 𝑡 dari k-nearest neighbors terhadap 𝑑 𝑡 dari 𝐺 𝑡 , dan dapatkan vektor jumlah label 𝑛 𝑡 . 4. Hitung 𝑦 𝑗 𝑡 ,  1  ≤ j ≤ p menggunakan  Persamaan  21 dengan  menggunakan  informasi  yang  telah dihitung dalam proses pelatihan dengan Persamaan 11, 12, 17 dan 18.
5. Jika 𝑦 𝑗 𝑡 yang  didapatkan  bernilai  1,  maka 𝑑 𝑡 term asuk  ke  dalam  kategori 𝑐 𝑗 ,  jika  sebaliknya maka 𝑑 𝑡 tidak term asuk ke dalam 𝑐 𝑗 .

## III. HASIL DAN PEMBAHASAN
Pada bab ini akan dibahas tentang dataset uji coba, skenario uji coba dan analisis dari hasil uji coba.

## 3.1 Dataset
Dalam  pengujian  yang  akan  dilakukan  pada penelitian  ini  menggunakan  dataset  dari  Promise  [9], Itrust, CCHIT, World Vista US Veterans Health Care System  Documentation,  Online  Project  Marking System  SRS,  Mars  Express  Aspera-3  Processing  and Archiving  Facility  SRS  dengan  total  keseluruhan jumlah  kalimat  kebutuhan  mencapai  1342  kalimat. Dimana  60%  (805  kalimat)  akan  digunakan  sebagai data  latih  dan  40%  (537  kalimat)  akan  digunakan sebagai data uji. Hasil klasifikasi dari data uji nantinya akan  dievaluasi  kinerjanya  berdasarkan accuration, precision, recall, and hamming loss [10] .

## 3.2 Skenario Uji Coba
Tahap  uji  coba  pada  penelitian  ini  akan  dilakukan dengan  dua  skenario  yang  berbeda  yaitu  uji  coba klasifikasi  FSKNN  menggunakan  data  latih  yang dikembangkan  dengan  sinonim  dan  skenario  kedua yaitu  uji  coba  klasifikasi  FSKNN  menggunakan  data latih  yang  dikembangkan  dengan  gabungan  hipernim dan  sinonim.  Masing  –  masing  skenario  akan  diuji dengan jumlah  tetangga  terdekat  (k) antara 10  hingga 55 dan setiap k diuji dengan nilai ambang batas antara 0.1 hingga 0.9. Skenario pengujian ini ditujukan untuk mengetahui pola pengembangan term data latih terbaik antara sinonim dan gabungan hipernim dan sinonim.

## 3.3 Hasil Uji Coba dan Analisis
Dari  hasil  uji  coba  pada  kedua  skenario  diketahui bahwa jumlah tetangga terdekat terbaik berada pada k =  30.  Dengan  hasil  evaluasi accuration,  precision, recall, and hamming loss seperti yang ditunjukkan pada Tabel  1  dan  perbandingan  masing  –  masing  kinerja dapat dilihat pada Gambar 4, 5, 6 dan 7.
5 - 8

## pISSN: 2442-3386  eISSN: 2442-4293

## Vol 1 No 2 Juli 2015, 5 - 6
Pada  Gambar  4  diatas  dapat  diketahui  bahwa  kinerja hamming  loss  (tingkat  kesalahan)  pada  klasifikasi FSKNN  dengan  data  latih  yang  dikembangkan menggunakan  sinonim  lebih  rendah  dibandingkan klasifikasi  FSKNN  dengan  data  latih  pengembangan gabungan  hipernim  dan  sinonim.  Dari  grafik  pada Gambar 4 diatas dapat diketahui bahwa pengembangan dengan menggunakan gabungan hipernim dan sinonim tidak  efektif  untuk  kinerja  hammingloss  karena  dapat memicu  tingkat  kesalahan  yang  lebih  tinggi.  Tingkat kesalahan yang lebih
tinggi dikarenakan pengembangan dengan menggunakan gabungan hipernim dan sinonim dapat mencakup makna term atau fitur  yang  lebih  luas  dibandingkan  hanya  dengan menggunakan sinonim saja.
Pada Gambar 5 dapat diketahui bahwa secara mayoritas kinerja accuracy pada  klasifikasi  FSKNN  dengan menggunakan  pengembangan  data  latih  gabungan hipernim  dan  sinonim  lebih  tinggi  dibandingkan klasifikasi FSKNN dengan menggunakan pengembangan  data  latih  dari  sinonim  saja.  Titik optimum  terletak pada  ambang  batas 0.9 dengan  nilai 48.3%  dan  dapat  diketahui  kenaikan  nilainya  sebesar 8.1% dari nilai FSKNN dengan pengembangan sinonim pada ambang batas yang sama.
Pada  Gambar  6  dibawah  dapat  diketahui  kinerja precision untuk klasifikasi FSKNN dengan pengembangan  gabungan  hipernim  dan  sinonim  lebih tinggi  secara  mayoritas  dengan  titik  optimum  terletak pada  ambang  batas  0.9  dengan  nilai  79.2%  dan kenaikan  nilainya  sebesar  13%  dari  nilai  FSKNN dengan  pengembangan  sinonim  pada  ambang  batas yang sama.
Pada Gambar 7 dibawah dapat diketahui kinerja recall untuk  klasifikasi  FSKNN  dengan  pengembangan gabungan  hipernim  dan  sinonim  lebih  tinggi  secara mayoritas dengan titik optimum terletak pada ambang batas  0.6  dengan  nilai  57.7%  dan  kenaikan  nilainya sebesar 4.9% dari  nilai  kinerja recall FSKNN  dengan pengembangan sinonim pada ambang batas yang sama.
Threshold FSKNN - Sinonim FSKNN - Gabungan Hipernim - Sinonim k=30 k=30 Hammingloss Accuracy Precision Recall Hammingloss Accuracy Precision Recall 0,1 0,292 0,175 0,396 0,225 0,324 0,204 0,435 0,276 0,2 0,303 0,2 0,411 0,308 0,342 0,27 0,426 0,43 0,3 0,286 0,268 0,447 0,412 0,325 0,271 0,453 0,413 0,4 0,255 0,323 0,503 0,499 0,317 0,297 0,462 0,461 0,5 0,254 0,34 0,501 0,526 0,275 0,36 0,53 0,546 0,6 0,217 0,382 0,581 0,528 0,24 0,413 0,621 0,577 0,7 0,199 0,417 0,659 0,553 0,249 0,393 0,616 0,547 0,8 0,236 0,354 0,537 0,531 0,26 0,385 0,604 0,542 0,9 0,2 0,402 0,662 0,539 0,187 0,483 0,792 0,559
Gambar 4. Perbandingan kinerja Hammingloss antara pengembangan Sinonim dan Gabungan Hipernim Sinonim
Gambar 5. Perbandingan kinerja Accuracy antara pengembangan Sinonim dan Gabungan Hipernim Sinonim

## Melek IT

## Information Technology Journal. Vol 1 No 2 Juli 2015, 6 - 6

## IV. KESIMPULAN
Dari  hasil  uji  coba  pada  penelitian  ini  dapat disimpulkan bahwa pengembangan term atau fitur pada data latih dengan menggunakan gabungan hipernim dan sinonim terbukti dapat meningkatkan kinerja accuracy, precision, dan recall dibandingkan dengan pengembangan  term  atau  fitur  menggunakan  sinonim saja,  tetapi  pengembangan  term  atau  fitur  dengan menggunakan  data  latih  juga  memberikan  kinerja hamming  loss  yang  lebih  tinggi  dibandingkan  pada pengembangan term menggunakan sinonim.

## DAFTAR PUSTAKA
[1] S. Ullah, M. Iqbal and A. M. Khan, "A Survey on Issues in Non-Functional Requirements Elicitation," in 2011 International Conference on Computer Networks and Information Technology (ICCNIT), Peshawar, Pakistan, 2011.
[2] Finkelstein and J. Dowel, "A Comedy of Errors: the  London  Ambulance  Service  case  study,"  in Proceedings of the 8th International Workshop on Software Specification and Design, 1996.
[3] J. Bertman and N. Skolnik, "EHRs Get a Failing Grade  on  Usability,"  Internal  Medicine  News, vol. 43, p. 50, 2010.
[4] Hoskinson,  "Politico,"  News,  29  Juni  2011. [Online]. Available: http://www.politico.com/news/stories/0611/5805 1.html. [Accessed 20 Oktober 2014].
[5] J.  Slankas  and  L.  Williams,  "Automated Extraction  of  Non-Functional  Requirements  in
Available Documentation," in 2013 1st International  Workshop  on  Natural  Language Analysis in Software Engineering (NaturaLiSE), San Francisco, CA, USA, 2013.
[6] Casamayor,  D.  Godoy  and  M.  Campo, "Identification of non-functional requirements in textual  specifications  :  A  semi-supervised learning  approach,"  Information  and  Software Technology, vol. 52, pp. 436-445, 2010.
[7] W. Suharso and S. Rochimah, SIstem Deteksi dan Klasifikasi Otomatis Kebutuhan Non Fungsional Berbasis  ISO/IEC  9126,  Surabaya:  Institut Teknologi Sepuluh November, 2013.
[8] J.-Y.  Jiang,  S.-C.  Tsai  and  S.-J.  Lee,  "FSKNN: Multi-label  text  categorization  based  on  fuzzy similarity  and  k  nearest  neighbors,"  Expert Systems  with  Applications,  vol.  39,  pp.  2813- 2821, 2012.
[9] PROMISE,  "tera-PROMISE,"  1  April  2010. [Online].Available:http://openscience.us/repo/re quirements/other-requirements/nfr.html.
[Accessed 20 Januari 2015].
[10] P.  Prajapati,  A.  Thakkar  and  A.  Ganatra,  "A
Survey  and  Current  Research  Challenges  in Multi-Label Classification Methods," International  Journal  of  Soft  Computing  and
Engineering (IJSCE), vol. 2, no. 1, pp. 248-252,
2012.
Gambar 6. Perbandingan kinerja Precision antara pengembangan Sinonim dan Gabungan Hipernim Sinonim
Gambar 7. Perbandingan kinerja Precision antara pengembangan Sinonim dan Gabungan Hipernim Sinonim

## 7 - 8