## Implementasi Bug Tracking System dengan Metodologi Scrum dan Algoritma Cosine Similarity
Suwarno * , Yudi Hartanto
Fakultas Ilmu Komputer, Sistem Informasi, Universitas Internasional Batam, Sei Ladi, Jl. Gajah Mada, Baloi Permai, Kec. Sekupang, Batam, Indonesia Email: 1,* suwarno.liang@uib.ac.id, 2 yudih.huang@gmail.com Email Penulis Korespondensi: suwarno.liang@uib.ac.id Submitted 16-02-2022 ; Accepted 25-02-2022 ; Published 25-02-2022
Abstrak
Bug adalah kesalahan sistem yang menyebabkan ketidaksesuaian antara harapan pengguna dengan aktualisasinya. Bug sering muncul dari kesalahan pemrograman, dan penyelesaian yang cepat sangatlah penting sehingga proses bisnis pengguna terlaksana. Namun, penulis telah menemukan  efisiensi  yang  rendah  dari  pemecahan bug oleh  pengembang  sistem.  Setelah  dilakukan  penelitian,  penyebabnya  adalah kurangnya knowledge  management ,  khususnya  pada bug  tracking .  Hal  ini  mengakibatkan  terjadinya  pengulangan  kesalahan.  Para pengembang  sering  membuat  kesalahan  yang  sama  yang  telah  dialami  oleh  yang  lain.  Hal  di  atas  telah  menggerakkan  penulis  untuk membangun bug  tracking  system  (BTS) yang  dapat  meningkatkan  efisiensi  pemecahan bug .  Penulis  telah  mengembangkan  aplikasi menggunakan Django , MySQL , dan Scrum . Pendekatan agile pada Scrum memungkinkan pengembangan yang dinamis dan cepat. Selain itu, BTS menggunakan algoritma Content-Based Filtering yang dikenal sebagai Cosine Similarity . Kajian ini menghasilkan implementasi BTS dengan kapabilitas yang komprehensif. Pengguna dapat mengelola bug dan membandingkannya dengan yang lain untuk menemukan potensi duplikasi guna meminimalkan redundansi data. Penulis telah mengimplementasikan BTS terhadap kelompok pengembang sistem. Melalui  survei  penerimaan  pengguna,  penulis  menemukan  78,72%  tujuan  sistem  tercapai.  Pengguna  menemukan  peningkatan  dalam kualitas dan efisiensi pemecahan bug mereka.
Kata Kunci: Bug; Sistem Pelacakan Bug; Manajemen Pengetahuan; Cosine Similarity

## Abstract
A bug is a system error that causes a mismatch between user expectations to actualization. Bugs often arise from programmatical mistakes, and a prompt resolution is mandatory so that the users’ business processes are assured. However, the author has noted a low efficiency of developers’ bug solving. After research, the cause is the lack of knowledge management, especially in bug tracking. This has resulted in the repetition of the error. The developers often made the same mistake that the others had encountered. The above has moved the author to  build  a  bug  tracking  system  (BTS)  that  can  enhance  the  efficiency  of  bug  solving.  The  author  has  developed  the  application  using Django, MySQL, and Scrum. Scrum’s agile approaches enable dynamic and rapid development. In addition, BTS utilized a content-based filtering algorithm known as Cosine Similarity. This study results in the implementation of BTS with comprehensive capabilities. Users can manage bugs and compare them to others to find potential duplication into minimizing data redundancy. The author has implemented the BTS towards groups of developers. Through a user acceptance survey, the author finds 78.72% of system objectives achieved. The users find improvement in the quality and efficiency of their bug solving.
Keywords : Bug; Bug Tracking System; Knowledge Management; Cosine Similarity

## 1. PENDAHULUAN
Kebutuhan pengguna terhadap aplikasi tidak akan berhenti bahkan setelah aplikasi dirilis. Seiring dengan perubahan pasar, pengguna  juga  akan  membutuhkan  fitur  tambahan  yang  dapat  memenuhi  kebutuhan  bisnis  mereka  [1].  Tren  seperti  itu dikenal luas sebagai Customization Request . Namun, menyesuaikan aplikasi yang berjalan dengan baik selalu rentan terhadap munculnya bug , terutama ketika pengujian tidak mencukupi [2]. Meski demikian, pengembangan aplikasi tidak seharusnya terhalang oleh bug . Menyelesaikan bug yang timbul secara tepat waktu adalah suatu keharusan. Namun, mengidentifikasi, menyelesaikan, dan mencegah muncul kembalinya suatu bug sangatlah memakan waktu [3]. Pengembang junior membutuhkan waktu lebih lama untuk mengidentifikasi bug yang umum terlihat. Seorang senior, di sisi lain, biasanya membutuhkan waktu yang lebih singkat untuk mencari akar penyebab suatu masalah. Ada kesenjangan pengalaman  yang  jelas  di  antara  mereka.  Senior  telah  mengalami  masalah  yang  sama  sebelumnya  [4].  Hal  ini  sangat disesalkan, karena pengetahuan terikat pada tingkat karyawan, bukan tingkat organisasi.
Masalah  sejenis  terjadi  pada  berbagai  organisasi,  terlepas  dari  bidang  operasi  mereka.  Pengetahuan  yang  dimiliki seorang karyawan sering beredar, namun berakhir tidak terdokumentasikan. Kecenderungan tersebut secara tidak langsung menjadi penghambat pertumbuhan organisasi. Sebagai solusinya, diperkenalkanlah Knowledge Management System (KMS) . KMS adalah sistem yang memberdayakan dokumentasi pengetahuan yang beredar. Kekuatan sistem terletak pada efisiensi proses  pembelajaran  pegawai  baru  [5].  Dalam  konteks  pengembangan  aplikasi, KMS yang  dikelola  dengan  baik  mampu memandu penggunanya dengan mulus menuju metode penyelesaian yang benar.
Saat ini, KMS sudah banyak terlihat di berbagai bidang organisasi. Sekelompok peneliti dari Uni Emirat Arab, yaitu [6]  bahkan  menyatakan  bahwa KMS telah  membawakan  mereka  peningkatan  besar  pada  kinerja  operasional,  kualitas layanan,  dan  inovasi.  Meskipun  demikian,  ada  jenis KMS yang  masih  jarang  terlihat.  Jenis  yang  dimaksud  adalah Bug Tracking System (BTS) . BTS adalah knowledge management yang berfokus dalam perekaman berbagai bug pada organisasi pengembang aplikasi. Pertanyaan yang muncul adalah: Bagaimana organisasi mencatat bug secara internal? Apakah junior perlu menelusuri sistem laporan bug umum seperti Github atau Stackoverflow ? Ini semakin menyoroti kebutuhan BTS yang layak untuk pengembang aplikasi.
Penulis telah merujuk pada literatur berikut yang dilakukan oleh peneliti sebelumnya. Penelitian yang dilakukan oleh [7] difokuskan pada pengembangan Bug Tracking System (BTS) berbasis web. Hasil yang diperoleh berupa BTS yang terbagi menjadi  beberapa  modul,  yaitu Admin , Manager , Developer , Tester ,  dan Reports .  Di  dalam Admin , administrator dapat membuat proyek baru dan menetapkan anggota. Dalam modul Manager , seorang project manager memiliki akses penuh ke proyek-proyek  yang  diberikan  oleh administrator kepadanya.  Dalam  modul Developer ,  pengembang  dapat  mengakses proyek dan bug yang ditetapkan oleh project manager . Dalam modul Tester , penguji dapat mengakses dan mengubah status tiket  sesuai  dengan  hasil  pengujian.  Terakhir,  dalam  modul Reports , administrator dan project  manager dapat  membuat laporan sesuai dengan kebutuhan mereka.
Penelitian  selanjutnya  yang  dilakukan  oleh  [8]  adalah  penelitian  yang  memanfaatkan  teknologi Django dalam pengembangan  aplikasi.  Tujuan  dari  aplikasi  ini  adalah  untuk  berbagi  ilmu  di  lingkungan  kampus.  Dalam  studi  ini, keuntungan  mengembangkan  aplikasi  dengan Django ditunjukkan  dengan  baik.  Hasil  yang  diperoleh  dari  penelitian  ini adalah sebuah aplikasi yang digunakan oleh kampus penulis. Aplikasi ini mampu memfasilitasi chatting bagi penggunanya, pengunduhan buku teks, catatan kuliah, dan lembar soal latihan.
Penelitian  yang  dilakukan  oleh  [9]  merupakan  penelitian  yang  berfokus  pada  pengembangan  sistem  rekomendasi kursus berbasis kecerdasan buatan berdasarkan input pengguna. Teknologi yang diterapkan adalah Content-Based Filtering yang  dikatakan  cocok  untuk  mencetak  rekomendasi  berdasarkan  kemiripannya.  Hasil  yang  diperoleh  dari  penelitian  ini adalah  aplikasi  rekomendasi  mata  kuliah.  Pengguna  dapat  memasukkan  topik  yang  diinginkan.  Sistem  kemudian  akan mengembalikan sejumlah kursus yang dianggap serupa.
Penelitian  selanjutnya  yang  dilakukan  oleh  [10]  difokuskan  pada  pengembangan framework untuk  pelacakan  dan manajemen bug . Dalam penelitiannya, disebutkan bahwa seiring berjalannya aplikasi, akan ada sejumlah laporan bug yang sebenarnya serupa. Tujuan dari penelitian ini adalah untuk membangun sebuah framework yang dapat mendeteksi duplikasi pada  laporan bug .  Hasil  dari  penelitian  ini  adalah  sebuah  sistem  dengan  rangkaian  rumus  yang  mampu  menghitung kemungkinan duplikasi dalam laporan bug .
Penelitian yang dilakukan oleh [11] difokuskan pada pengembangan aplikasi web untuk pemetaan produksi telur itik asin. Aplikasi ini dikatakan tidak berjalan maksimal karena banyak terjadi page crash . Jadi, tujuan dari penelitian ini adalah untuk mengoptimalkan situs. Metode yang digunakan untuk mengembangkan aplikasi ini adalah Scrum . Para peneliti percaya telah mempersingkat waktu yang dibutuhkan untuk menyelesaikan proyek. Hasil yang diperoleh dari penelitian ini adalah situs yang dioptimalkan dengan tampilan yang lebih menarik dan hyperlink yang terstruktur dengan rapi. Jurnal  yang ditulis  oleh  [12] adalah review penelitian  yang  berkaitan  dengan database  forensic .  Dalam  jurnal  ini, disebutkan  bahwa database memegang  peranan  yang  sangat  krusial  pada  sebuah  aplikasi.  Oleh  karena  itu,  tujuan pembahasan ini adalah sebagai panduan mengenai teknologi database beserta teknik audit trails -nya masing-masing. Dari berbagai teknologi tersebut, teknologi yang menarik perhatian penulis adalah teknologi database MySQL . Teknologi audit trails terbukti mampu merekam perubahan data berupa penambahan (INSERT), perubahan (UPDATE), dan penghapusan (DELETE) dengan memanfaatkan fungsi bawaan MySQL yaitu function dan trigger .
Penelitian  yang  dilakukan  oleh  [13]  merupakan  penelitian  terapan  dengan  fokus  pada  pengembangan  sistem rekomendasi  video  pembelajaran  menggunakan Content-Based  Filtering .  Tujuan  dari  penelitian  ini  adalah  untuk mengembangkan  sistem  yang  dapat  mendukung  aktivitas  belajar  siswa  dengan  bantuan machine  learning .  Di  akhir penelitian, penulis mengevaluasi kinerja sistem menggunakan model Skala Likert. Sejumlah pertanyaan dibagikan kepada 40 responden. Pertanyaan difokuskan pada relevance , novelty , serendipity , dan diversity sistem. Hasil evaluasi menunjukkan persentase rata-rata sebesar 81,13%. Hal ini menunjukkan bahwa kinerja sesuai dengan harapan pengguna.
Penulis melakukan penelitian ini dengan merujuk kepada penelitian yang disebut, dengan tujuan menciptakan sebuah aplikasi yang dapat menjawab dilema  terkait. BTS difokuskan pada perekaman langkah reproduksi bug , pembukaan tiket, alokasi  SDM,  penyelesaian,  penutupan,  dan  pembukaan  kembali  tiket.  Sistem  dibangun  menggunakan Django , MySQL , Scrum , dan Content-Based Filtering sebagaimana mengacu pada literatur yang disebutkan. Penulis tidak hanya mengembangkan Bug Tracking System (BTS) konvensional yang memiliki kemampuan melacak status tiket. BTS terintegrasi dengan algoritma Machine Learning , yaitu Cosine Similarity . Ini adalah salah satu algoritma berbasis Content-Based  Filtering yang  memungkinkan  perbandingan  dokumen  dan  menghitung  kemiripannya.  Dengan menggabungkan BTS dan Cosine  Similarity ,  aplikasi  mampu  untuk  menghitung  tiket  yang  berpotensi  ganda.  Selain  itu, Django memungkinkan penulis untuk mengintegrasikan aplikasi dengan mulus ke berbagai libraries pemrosesan data, yaitu Pandas dan Scikit-Learn . Aplikasi ini telah terbukti meningkatkan kualitas dan efisiensi penyelesaian bug. Ini diukur dengan survei penerimaan pengguna pada kelompok pengembang yang dipilih.

## 2. METODOLOGI PENELITIAN

## 2.1 Alur Perancangan
Penelitian  ini  dilakukan  melalui  beberapa  tahapan,  antara  lain  pengembangan  aplikasi  inti BTS dan  sistem  pendeteksi duplikasi. Aliran dijelaskan pada gambar di bawah ini.
Gambar 1. Alur Perancangan

## 2.2 Metode Pengembangan
Untuk  mengembangkan BTS ,  penulis  menggunakan  metodologi  pengembangan  sistem agile yang  dikenal  dengan Scrum Framework .  Menurut  [11], Scrum adalah  model  pengembangan  produk  yang  dirancang  untuk  tim  pengembangan agile dengan membanggakan kemampuan beradaptasinya atas metodologi konvensional lainnya.

## Gambar 2. Scrum Framework
Dalam pelaksanaannya, metode ini secara umum dibagi menjadi beberapa langkah, yaitu: a. Product Backlog
Pada tahap ini, penulis merangkum semua persyaratan berdasarkan User Stories . b. Sprint Planning Penulis menyusun proses-proses yang perlu diselesaikan dalam satu periode sprint . c. Sprint Backlog
Penulis sebagai pengembang memberikan gambaran nyata status dari proyek yang sedang dikerjakan. d. Daily Scrum
Pada tahap ini, penulis dan pembimbing membahas hambatan dan kemajuan sistem, baik itu UI/UX, desain, pengkodean, dan pengujian. Scrum Master kemudian memberikan saran untuk mengatasinya. e. Sprint Review
Sprint  Review merupakan  tahapan  yang  terjadi pada  akhir sebuah sprint .  Tujuannya  adalah  untuk  mengevaluasi  hasil yang  dicapai  dan  item  yang  tersisa,  jika  ada.  Penulis  juga  menguji  fungsionalitas  aplikasi  melalui  metode  pengujian blackbox . f. Sprint Retrospective Sama seperti Sprint Review , tahap ini dilakukan di akhir sprint . Penulis mempresentasikan hasil pekerjaan selama satu periode sprint kepada anggota lainnya. Mereka kemudian memberikan saran dan masukan yang terkait. g. Increment
Ini adalah tahap terakhir dalam kerangka Scrum . Di sini, dibutuhkan keputusan akhir apakah produk siap dirilis.

## 2.3 Deteksi Duplikasi
Sistem  pendeteksi  duplikasi  dikembangkan  menggunakan  salah  satu  algoritma Content-Based  Filtering ,  yaitu Cosine Similarity . Langkah-langkah yang dilakukan dijelaskan lebih lanjut di bawah ini. a. Pra-pemrosesan Data Pada  tahap  ini,  penulis  harus  memanfaatkan  dataset  pertanyaan Stackoverflow dengan  tag  masing-masing,  yaitu question.csv dan tags.csv. Kumpulan data ini ditemukan di Kaggle . Questions.csv terdiri dari kolom Id, CreationDate, ClosedDate, DeletionDate, Score, OwnerUserId, dan AnswerCount . Sedangkan, tags.csv terdiri dari kolom Id dan Tag
di mana Id berhubungan dengan kolom Id question.csv. Oleh karena itu, hubungan  kedua data adalah many-to-many. 5.000 data pertanyaan kemudian diimpor ke BTS beserta tag-nya. b. Penghapusan Stopwords
Menghapus stopwords sebelum menerapkan algoritma Cosine Similarity sangat penting. Dokumen yang dibandingkan harus dibersihkan dari unit sintaksis yang tidak membawa banyak informasi, seperti, a, an, this, dan that [14]. Kata kunci ini kerap tidak berguna dan hanya akan memakan ruang dalam perhitungan. Dengan demikian, mereka dihapus. c. Count Vectorization
Count  Vectorization merupakan  langkah  untuk  menghitung  frekuensi  kata  yang  muncul  dalam  suatu  dokumen  [15]. Penulis menghasilkan sparse matrix dengan melakukan langkah ini. Sparse Matrix adalah matriks yang dibutuhkan oleh algoritma Cosine Similarity untuk memungkinkan komputasi. d. Cosine Similarity
Cosine  Similarity merupakan  salah  satu  algoritma  yang  biasa  digunakan  untuk  mengukur  tingkat  kemiripan  antar dokumen. Dalam algoritma ini, ada  dua buah vektor yang diproyeksikan dalam ruang multidimensi. Kedua vektor ini akan dikalikan, sehingga menghasilkan sudut cosinus. Jika dua dokumen yang dibandingkan membentuk sudut cosinus kecil, maka dianggap memiliki kemiripan yang tinggi [16].
𝑐𝑜𝑠𝑆𝑖𝑚(𝑑 𝑗 , 𝑞 𝑘 ) = ∑ (𝑡𝑑 𝑖𝑗 × 𝑡𝑞 𝑖𝑘 ) 𝑛 𝑖=1 √∑ 𝑡𝑑 𝑖𝑗2 𝑛 𝑖=1 × ∑ 𝑡𝑞 𝑖𝑘2 𝑛 𝑖=1
(1)
cosSim(dj,qk) : Rasio kemiripan antara dokumen terhadap query tdij : Term ke-i pada vektor untuk dokumen ke-j
tqik
: Term ke-i pada vektor untuk query ke-k n : Banyaknya term yang unik dalam dataset yang dibandingkan Gambar berikut menggambarkan perbandingan antara bentuk kedua vektor terhadap korelasi antara keduanya [17].
Gambar 3. Cosine Similarity Distance Function
e. Evaluasi Sistem
Setelah menyelesaikan proses pengembangan, penulis mengevaluasi efektivitas sistem dengan melakukan dua survei. Lima belas kelompok pengembang telah dikumpulkan untuk menjadi pengguna beta dan responden survei. Pada survei pertama, mereka harus memberikan skor kolektif terhadap daftar pertanyaan yang berkaitan dengan fungsionalitas BTS , kemudahan penggunaan,  dan  antarmuka pengguna.  Sementara  itu, pada  survei  kedua, yang  mengacu  pada penelitian  [13],  kelompok harus memberikan skor individu terhadap pertanyaan-pertanyaan yang berkaitan dengan efektivitas algoritma.

## 3. HASIL DAN PEMBAHASAN
Tahap ini menbahas mengenai aplikasi aplikasi berdasarkan penerapan metodologi Scrum.
3.1 Persiapan Pengembangan
3.1.1 Penugasan Tim Scrum
Alokasi tim dilakukan pada awal pengembangan agar masing-masing personel jelas terhadap tanggung jawabnya.
Tabel 1. Scrum Team Nama Peran Tanggung Jawab Suwarno Scrum Master Memastikan  kelancaran  implementasi  scrum  selama  pengembangan  dan melakukan scrum  meeting secara  berkala  untuk  menghilangkan  potensi hambatan. Yudi Hartanto
Product Owner Mengkompilasi kebutuhan pengguna ke dalam product backlog dan memberikan umpan balik pada setiap hasil sprint . Yudi Hartanto Development Team Melakukan  pengembangan  dan  menjalankan  tes  untuk  memastikan  kualitas produk yang tinggi.

## 3.1.2 Perancangan Product Backlog
Alokasi tim dilakukan pada awal pengembangan agar masing-masing personel jelas terhadap tanggung jawabnya.
Tabel 2. Product Backlog Kategori Isu User Stories Documentability
Sebagai pemilik, saya ingin memastikan struktur sistem terdokumentasi dengan baik. Oleh karena itu, Entity Relationship Diagram dan Use Case Diagram diperlukan.
Authentication Sebagai pemilik, saya ingin mengamankan sistem sehingga hanya pengguna yang diautentikasi yang dapat mengakses sistem.
User Management  Sebagai admin, saya ingin memiliki kendali atas pengguna. Core Functions Sebagai admin, saya ingin bebas mengelola karyawan/anggota tim saya, keahlian mereka, proyek yang mereka kerjakan, dan klien saya.
Ticketing
Sebagai admin, saya ingin pengguna saya dapat mendaftarkan tiket bug . Tiket harus menyertakan penyebab dan perbaikannya. Selain itu, harus ada serangkaian alur kerja untuk mengontrol status tiket.
Reporting Sebagai admin, saya ingin meninjau daftar tiket beserta statusnya saat ini. Data Accuracy Sebagai admin, saya tidak ingin banyak data berulang seperti tiket duplikat. Audit Log Sebagai pemilik, saya ingin mengetahui detail dari setiap perubahan data yang terjadi pada tiket yang dibuat.

## 3.1.3 Perancangan Sprint Planning
Alokasi tim dilakukan pada awal pengembangan agar masing-masing personel jelas terhadap tanggung jawabnya.
Tabel 3. Sprint Backlog Sprint # Backlog 1 Desain Entity Relationship Diagram dan Use Case Diagram.
2 Merancang tata letak aplikasi, menambahkan kemampuan otentikasi, dan manajemen pengguna.
3 Menambahkan manajemen employee dan skill.
4 Menambahkan manajemen project, partner, member, role, dan ticket.
5 Menambahkan kemampuan Audit Log pada tiket dan menambahkan fungsi laporan status tiket.
6 Menambahkan fungsi komputasi kemiripan tiket dan penandaan tiket sebagai duplikat.

## 3.2 Implementasi

## 3.2.1 Entity Relationship Diagram
Gambar berikut menunjukkan hubungan antara akun pengguna, karyawan, dan keterampilannya. Dengan relasi many-to-many , karyawan dan keterampilan membentuk tabel gabungan.

## Gambar 4. ERD Employee - Skill
Gambar berikut menunjukkan hubungan yang dapat dimiliki seorang karyawan dengan proyek. Mereka juga memiliki hubungan many-to-many . Setiap catatan anggota proyek dapat diberikan peran tertentu.
Gambar berikut menunjukkan bahwa sebuah proyek memiliki hubungan one-to-many dengan entitas tiket. Setiap tiket selanjutnya  berhubungan one-to-many pula  dengan  penyebabnya  masing-masing,  dan  akhirnya  dari  penyebab  ke  langkah perbaikannya. Selain itu, tiket juga memiliki hubungan one-to-many dengan entitas Audit Log .
Gambar 6. ERD Ticket - Project
Gambar berikut menunjukkan bahwa tiket dapat ditandai ke beberapa tag. Tag kemudian dapat diperiksa oleh algoritma Content-Based Filtering untuk menghitung kesamaannya dibandingkan dengan tiket lainnya.
Gambar 7. ERD Ticket - Tag

## 3.2.2 Use Case Diagram
Gambar berikut menunjukkan use case untuk masing-masing aktor BTS . Selain fungsi dasar seperti login dan logout, diagram menunjukkan bahwa Superuser dapat mengonfigurasi pengguna, membuat proyek, menetapkan anggota, dan mengelola tag tiket. Sementara itu, Project Manager dapat menetapkan anggota dan mengelola tag tiket. Mereka tidak dapat mengonfigurasi pengguna. Selanjutnya, semua pengguna dapat membuat dan membuka tiket baru. Pengembang dapat memindahkan tiket ke On Test , penguji dapat mengaturnya sebagai Tested , dan manajer akhirnya dapat mengatur tiket sebagai Closed .

## 3.2.3 User Interface
Pengguna dapat melakukan manajemen atas bug yang timbul. Tabel berikut menunjukkan pola pergerakan status tiket.
Tabel 4. Ticket Workflow Status Efek Draft Project Manager (PM) dapat mengirimkan tiket kepada tim pengembang. Open
Tim Pengembang dapat mengembalikan tiket ke Draft maupun mengirimkan kepada Penguji.
Under Test Penguji dapat mengembalikan tiket ke Open maupun mengirimkan kepada PM untuk di- review . Tested PM dapat menutup tiket sehingga bug dianggap terselesaikan. Closed
Anggota proyek dapat membuka kembali tiket.
Cancelled
PM dapat menandai tiket sebagai Cancelled pada semua status, kecuali pada status ini. Unresolved  PM dapat menandai tiket sebagai Unresolved pada semua status, kecuali pada status ini.
Gambar berikut menunjukkan tampilan detail tiket pada sistem.

## Gambar 9. Tickets
Setiap  tiket  memiliki  kemampuan  untuk  komputasi  kemiripan  yang  diberi  nama Compute  Similarity. Sistem  akan melalui  proses  sebagaimana  disebutkan  sebelumnya,  yaitu Data  Pre-processing,  Creating  Data  Matrix, dan Applying Comparison.
Sistem  akan  mencari  tiket  yang  memiliki  tag  dan  mengubahnya  menjadi list  of  dictionary pada  python.  Tag  yang ditemui akan digabungkan dengan mengimplementasikan string concatenation python. Kombinasi tag ini dipanggil tickettag . Daftar tiket kemudian diubah menjadi objek DataFrame dari modul Pandas sehingga proses komputasi dapat dilakukan.
Sistem akan menghapus stopwords dan karakter khusus di tickettags , lalu dimasukkan ke dalam clean_tickettags . Tiket yang telah dibersihkan kemudian melalui proses Count Vectorization dan algoritma Cosine Similarity . Ini merupakan langkah- langkah untuk menghitung jumlah kata yang muncul dalam sebuah dokumen, yang dalam hal ini adalah clean_tickettags . Setelah menyiapkan matriks untuk perbandingan, sistem akan melakukan Data Pre-processing kembali pada tiket yang dipilih  ( Query ).  Proses  ini  akan  menghasilkan  objek DataFrame tiket  beserta clean_tickettags -nya.  Data  tersebut  akan dicocokkan  dengan  matriks Cosine  Similarity yang  telah  disiapkan.  Sistem  akan  mengembalikan  daftar  tiket  beserta  rasio kemiripannya. Rasio kemiripan kemudian dipanggil similarity_scores . Selanjutnya, daftar tiket akan diurutkan berdasarkan similarity_scores . Lima tiket dengan kesamaan tertinggi dikembalikan dan divisualisasikan dalam bentuk bar chart . Penulis mengklasifikasikan kategori bar berdasarkan nilai tetap. Ketika nilai rasio di atas 0, maka warna bar berubah menjadi biru. Ketika rasionya mencapai 50, warna bar berubah menjadi kuning. Akhirnya, warna bar akan berubah menjadi merah ketika rasio kesamaan mencapai 75.

## 3.2.4 Pengujian
Tabel di bawah ini menunjukkan hasil pengujian blackbox terhadap berbagai fungsi BTS .
Tabel 5. Blackbox Test Results Area Tes Hasil Yang Diharapkan Hasil Login Pengguna dapat mengakses dan terotentikasi dengan baik. OK Layout Semua hyperlinks dapat bekerja dengan baik. OK Users Admin dapat mengakses dan mengelola data menggunakan CRUD dengan baik. OK Modul Employee dan Project Leader dapat mengakses dan mengelola data menggunakan CRUD dengan baik. OK Tickets Anggota  proyek  dapat  mengakses  dan  membuat  data  baru,  sementara Leader dapat mengelola dengan akses penuh. OK Audit Log Setiap perubahan data dapat tercatat dengan baik. OK Report Laporan yang dihasilkan telah sesuai dengan data sebenarnya. OK Workflow Pengguna dapat menggerakkan status tiket sesuai Tabel 4. OK Algorithm Development Team OK

## 3.2.5 Evaluasi
Dua evaluasi dilakukan setelah pembangunan BTS untuk mengukur kualitas produk. Penulis mengevaluasi BTS dengan melakukan  survei  penerimaan  pengguna  yang  melibatkan  15  kelompok  responden.  Responden  merupakan  pengembang aplikasi yang aktif mengerjakan proyek  terkait  sistem.  Mereka  sering menghadapi bug  selama pengembangan produk dan karenanya merupakan responden yang cocok.
Metode penilaian didasarkan pada Skala Likert yang terdiri dari Sangat Tidak Setuju, Tidak Setuju, Setuju, dan Sangat Setuju. Lima pertanyaan dan pernyataan diberikan kepada responden, tercantum pada tabel di bawah ini.
Tabel 6. Pertanyaan Evaluasi Sistem Pertanyaan ke- Pertanyaan 1 Pelacakan bug melalui sistem lebih mudah daripada pelacakan manual. 2 Dengan  menggunakan BTS ,  efektivitas  dan  efisiensi  seluruh  pengembangan sistem meningkat.
3 Informasi bug yang terpusat dalam sistem dapat memberikan kejelasan yang lebih baik terhadap data.
4 Antarmuka pengguna BTS jelas dan pengoperasiannya mudah dimengerti.
5 BTS telah  memungkinkan  saya  atau  tim  saya  untuk  menyelesaikan  proyek dengan lebih sedikit rintangan teknis, khususnya bug .
Tabel berikut menjelaskan analisis deskriptif terhadap penggunaan BTS . Melalui tabel tersebut, penulis menyimpulkan bahwa tanggapan terhadap kegunaan sistem adalah positif. Namun, jawaban pada pertanyaan keempat menunjukkan ruang untuk peningkatan antarmuka pengguna.
Tabel 7. Analitik Deskriptif Terhadap Respons Pertanyaan ke- Mean Median Modus Min Max 1 3.46 4.00 4.00 2.00 4.00 2 3.46 4.00 4.00 2.00 4.00 3 3.60 4.00 4.00 3.00 4.00 4 3.06 3.00 3.00 2.00 4.00 5 3.53 4.00 4.00 2.00 4.00
Survei kedua memiliki empat pertanyaan, yaitu untuk mengevaluasi algoritma yang telah dibangun. Responden akan diberikan lima pilihan, yaitu Sangat Tidak Setuju, Tidak Setuju, Netral, Setuju, dan Sangat Setuju. Formulir tersebut diberikan kepada kelompok responden yang sama. Namun, mereka harus mengisi skor mereka secara individu.
Tabel berikut menjelaskan hasil survei tersebut. Relevance dan Novelty keduanya mendapat skor 81,70%. Sementara itu, Serendipity dan Diversity masing-masing  mendapat  skor  73,62%  dan  77,87%.  Skor  rata-rata  78,72%  dicapai  melalui survei. Hal ini menunjukkan bahwa sistem diterima dengan baik oleh pengguna.
Tabel 8. System Objective Survey Result Total Member: 47 Relevance Novelty Serendipity Diversity Total Score 192 192 173 183 Maximum Score 235 235 235 235 Achievement Percentage 81.70% 81.70% 73.62% 77.87%

## 4. KESIMPULAN
Penelitian  ini  dilakukan  dengan  tujuan  memberikan  kontribusi  sosial  dan  harapan  membawa  manfaat  bagi  pengembang aplikasi. Hasil dari penelitian ini adalah BTS berbasis web yang dirancang menggunakan metodologi Scrum dan dilengkapi dengan Content-Based  Filtering .  Pengguna  dapat  mengelola  tiket  masalah  dengan  baik  dan  efisiensi  resolusi bug pada akhirnya dapat ditingkatkan. Ini dapat diidentifikasi melalui survei penerimaan pengguna. Hasil survei menunjukkan rata- rata  78,72%  tujuan  sistem  tercapai.  Di  antaranya,  aspek Relevance sistem  dinilai  sangat  baik,  yang  berarti  sistem  dapat mengusulkan tiket serupa kepada pengguna. Setelah melalui proses implementasi dan review berjalannya aplikasi, penulis juga menyimpulkan bahwa untuk pekerjaan yang akan datang, proyek ini berpotensi untuk menerapkan sistem rekomendasi karyawan  berdasarkan  pemetaan  kompetensi.  Dengan  sistem  rekomendasi  karyawan,  aplikasi  akan  dapat  menemukan penanggung jawab yang tepat untuk tiket yang akan dibuka. Selain itu, teknik dan algoritma yang digunakan oleh penulis untuk menghitung kesamaan antara tiket masih memiliki potensi untuk pengembangan lebih lanjut dan pemantauan kinerja, terutama ketika algoritma disajikan dengan volume data yang berbeda.

## REFERENCES
[1]  S.  H.  Ibrahim,  S.  Duraisamy,  and  U.  K. Sridevi,  “Flexible  and  Reliable  ERP  Project  Customization  Framework  to Improve  User Satisfaction Level,” Cluster Computing , vol. 22, pp. 2889–2895, 2018, doi: https://doi.org/10.1007/s10586-017-1664-z.
[2]  H. Liu, S. Lu, M. Musuvathi, and S. Nath, “What Bugs Cause Production Cloud Incidents?,” Proceedings of the Workshop on Hot Topics in Operating Systems, HotOS 2019 , no. Section 2, pp. 155–162, 2019, doi: https://doi.org/10.1145/3317550.3321438.
[3]  G. Catolino, F. Palomba, A. Zaidman, and F. Ferrucci, “Not All Bugs Are The Same: Understanding, Characterizing, and Classifying Bug Types,” Journal of Systems and Software , vol. 152, pp. 165–181, 2019, doi: https://doi.org/10.1016/j.jss.2019.03.002.
[4]  A.  Goyal  and  N.  Sardana, An  Empirical  Study  of  Non-reproducible  Bugs ,  vol.  10,  no.  5.  Springer  India,  2019.  doi: https://doi.org/10.1007/s13198-019-00850-5.
[5]  A. Ferraris, A. Mazzoleni, A. Devalle, and J. Couturier, “Big Data Analytics Capabilities and Knowledge Management: Impact on Firm Performance,” Management Decision , vol. 57, no. 8, pp. 1923–1936, 2019, doi: https://doi.org/10.1108/MD-07-2018-0825.
[6]  S.  A.  al  Ahbabi,  S.  K.  Singh,  S.  Balasubramanian,  and  S.  S.  Gaur,  “Employee  Perception of  Impact  of  Knowledge  Management Processes  on  Public  Sector  Performance,” Journal  of  Knowledge  Management ,  vol.  23,  no.  2,  pp.  351–373,  2019,  doi: https://doi.org/10.1108/JKM-08-2017-0348.
[7]  K. Singhal, C. Bansal, and A. K. Chakraverti, “A Review On Bug Tracking System,” vol. 06, no. 04, pp. 1839–1842, 2019, [Online]. Available: https://www.irjet.net/volume6-issue4
[8]  A. Shyam and N. Mukesh, “A Django Based Educational Resource Sharing Website: Shreic,” Journal of scientific research , vol. 64, no. 01, pp. 138–152, 2020, doi: 10.37398/jsr.2020.640134.
[9]  R. Morsomme and S. Vazquez Alferez, “Content-based Course Recommender System for Liberal Arts Education,” 2019. [Online]. Available: https://educationaldatamining.org/edm2019/proceedings/#industry
[10] A. W. Khan and S. Kumar, “An Expert System Framework for Bug Tracking and Management,” ICISCT 2020 - 2nd International Conference on Information Science and Communication Technology , 2020, doi: http://dx.doi.org/10.1109/ICISCT49550.2020.9080048.
[11] G. W. Sasmito and L. O. Mohamad Zulfiqar, “Implementation of Scrum Framework on Web Development of Mapping Salted Egg Production,” IOP Conference Series: Materials Science and Engineering , vol. 879, no. 1, 2020, doi: http://dx.doi.org/10.1088/1757- 899X/879/1/012086.
[12] R. Chopade and V. K. Pachghare, “Ten Years of Critical Review on Database Forensics Research,” Digital Investigation , vol. 29, pp. 180–197, 2019, doi: 10.1016/j.diin.2019.04.001.
[13] F. Ramadhan and A. Musdholifah, “Online Learning Video Recommendation System Based on Course and Sylabus Using Content- Based  Filtering,” Indonesian  Journal  of  Computing  and  Cybernetics  Systems  (IJCCS ,  vol.  15,  no.  3,  pp.  265–274,  2021,  doi: 10.22146/ijccs.65623.
[14] S. Sankar Sahu and S. Pal, “Effect of stopwords in Indian language IR,” 2022, doi: 10.1007/s12046-021-01731-z.
[15] T. Sabri, O. el Beggar, and M. Kissi, “Comparative study of Arabic text classification using feature vectorization methods,” Procedia Computer Science , vol. 198, pp. 269–275, 2022, doi: https://doi.org/10.1016/j.procs.2021.12.239.
[16] I. Mufiid, S. Lestanti, and N. Kholila, “Aplikasi Penilaian Jawaban Esai Otomatis Menggunakan Metode Synonym Recognition dan Cosine Similarity Berbasis Web,” 2021. doi: https://doi.org/10.36040/mnemonic.v4i2.4067.
[17] D.  Sarma,  T.  Mittra,  and  S.  Hossain,  “Personalized  Book  Recommendation  System  using  Machine  Learning  Algorithm,” International  Journal  of  Advanced  Computer  Science  and  Applications ,  vol.  12,  no.  1,  pp.  212–219,  2021,  doi: http://dx.doi.org/10.14569/IJACSA.2021.0120126.