Terakreditasi Peringkat Sinta 4 berdasarkan Petikan dari Keputusan Menteri Riset dan Teknologi/ Kepala Badan Riset dan Inovasi Nasional Nomor 200/M/KPT/2020, masa berlaku mulai Vol.3 No.1 tahun 2018 s.d Vol.7 No.2 tahun 2022

## Implementasi Chatbot untuk Customer Service menggunakan Metode Natural Language Processing (NLP) (Studi Kasus Website Theme62.com)
Arga Fairuz Zahwa 1 , Rina Fiati 2 , Alif Catur Murti 3 1, 2, 3 Teknik Informatika, Fakultas Teknik, Universitas Muria Kudus, Indonesia
1 201851209@std.umk.ac.id
2 rina.fiati@umk.ac.id
3 alif.catur@umk.ac.id
Received: 02-07-2022; Accepted: 27-08-2023; Published: 09-09-2023
Abstrak — Theme62  merupakan  website  penyedia  template blogger terbaik dengan fitur yang terinspirasi dari Wordpress. Semakin  meningkatnya peminat  dan  kunjungan pada  website Theme62,  semakin  meningkat  pula  kebutuhan  customer service. Hal ini tidak seimbang dengan sumber daya manusia yang  mengelola  website  Theme62  sehingga  pada  beberapa pelanggan  tidak  terlayani  dengan  maksimal.  Tujuan  dari penelitian  ini  untuk  mengatasi  problematika  dalam  customer service  yang  semakin  meningkat  dengan  cara  semula  yang dijalankan  oleh  manusia  digantikan  oleh  bot  yang  dapat melayani  pelanggan  dengan  cepat  dan  tanpa  henti.  Sistem chatbot  dibuat  menggunakan  metode  Natural  Language Processing  (NLP)  dengan  bantuan  library  node-nlp  oleh Node.js  yang  mampu  mengolah  bahasa  manusia  menjadi bahasa  yang  dapat  dipahami  oleh  komputer,  dengan  begitu komputer dapat  memahami  maksud  dari  pertanyaan manusia dan  dapat  berinteraksi  layaknya  manusia.  Hasil  akhir  yang diperoleh  adalah  terbentuknya  sistem  chatbot  yang  mampu menangani  pertanyaan  pelanggan  dengan  cepat,  selain  itu meringankan pekerjaan admin Theme62 sehingga dapat lebih fokus dalam mengembangkan produk Theme62.
Kata  kunci — Chatbot,  NLP,  Node-nlp,  Node.js,  Customer Service
Abstract — Theme62  is  the  best  blogger  template  provider website  with  WordPress-inspired  features.  As  the  number  of enthusiasts and visits to the Theme62 website increases, the need for  customer service  also  increases.  This is  not balanced  with the human resources that manage the Theme62 website so that some  customers  are  not  served  optimally.  The  purpose  of  this research is to overcome the problems in customer service that are  increasing  in  the  way  that  originally  run  by  humans  was replaced by bots that can serve customers quickly and without stopping.  The  chatbot  system  was  created  using  the  Natural Language Processing (NLP) method with the help of the node- nlp library by Node.js which is able to process human language into  a language  that  can be  understood by  computers,  so that computers can understand the intent of human questions and can  interact  like  humans.  The  final  result  obtained  is  the formation of a chatbot system that is able to handle customer inquiries quickly, in addition to easing the work of the Theme62 admin  so  that  they  can  focus  more  on  developing  Theme62 products.
Keywords — Chatbot,  NLP,  Node-nlp,  Node.js,  Customer Service

## I. P ENDAHULUAN
Theme62 (theme62.com) merupakan website penyedia template blogger terbaik dengan fitur yang terinspirasi dari Wordpress  [1].  Theme62  telah  berjalan  dengan  sistem sepenuhnya  yang  berarti  dari  pendaftaran,  pembayaran, mendapatkan template, hingga mengatur template dikelola oleh  sistem.  Dari  kemudahan  dan  fitur  template  inilah membuat  calon  pelanggan  tertarik  dengan  Theme62 walaupun baru awal rilis.
Pelanggan  baru  sebelum  membeli  template  biasanya akan  menanyakan  detail  template  melalui  chat  walaupun pada  website  Theme62  sudah  memiliki  halaman  FAQ mengenai  info  template  dan  pembayaran,  hal  ini  karena pada  beberapa  orang  malas  untuk  membaca  dan  lebih memilih  bertanya  langsung  kepada  admin  Theme62. Seiring  berjalannya  waktu  dan  semakin  banyak  calon pelanggan  baru  menjadi  problematika  dalam  melayani pelanggan,  hal  ini  karena  tidak  seimbang  dengan  sumber daya manusia yang mengelola website Theme62 sehingga pada beberapa pelanggan tidak terlayani dengan maksimal.
Salah  satu  faktor  keberhasilan  dalam  sebuah  bisnis adalah  pelayanan  terhadap  pelanggan  yang  berkualitas, dalam  arti  melayani  pelanggan  dengan  cepat  dan  tidak terkendala  oleh  waktu.  Jika  tidak,  akan  mengakibatkan turunnya  nilai  kepercayaan  pelanggan  karena  telah menunggu  cukup  lama  dan  menganggapnya  tidak profesional dalam menjalankan bisnis. [2]
Chatbot  merupakan  sebuah  layanan  obrolan  chat dengan bantuan Natural Language Processing (NLP) yang merupakan  cabang  teknologi  dari  kecerdasan  buatan  atau Artificial  Intelligence  (AI).  Chatbot  mampu  mengolah bahasa manusia menjadi bahasa yang dapat dipahami oleh komputer,  dengan  begitu  komputer  dapat  memahami maksud  dari  pertanyaan  manusia  dan  dapat  berinteraksi layaknya  manusia  tanpa  perlu  menunggu  operator  untuk membalas pesan [3].
Berdasarkan masalah tersebut maka dibutuhkan sebuah sistem  chatbot  sehingga  akan  cepat  dalam  melayani pelanggan  dan  dapat  melayani  dalam  7x24  jam  penuh. Dengan  adanya  sistem  tersebut  diharapkan  dapat meningkatkan  kepercayaan  dan  kepuasan  pelanggan karena telah terlayani dengan maksimal. [4]

## II. M ETODOLOGI PENELITIAN
A. Metode Penelitian
Pada  penelitian  ini  menggunakan  data chat atau pertanyaan yang sering diajukan oleh pelanggan yang akan menjadi basis pengetahuan pada sistem chatbot.
1) Studi  Literatur :  Penulis  mencari  referensi  yang berkaitan dengan kasus penelitian.
2) Pengumpulan  Data :  Dibutuhkan  beberapa  data pendukung untuk pembangunan chatbot.
3) Penulisan Program : Penulisan program sistem chatbot menggunakan Node.js dalam mengelola sisi server dan node-nlp  dengan  nspell  sebagai  library  Node.js  yang mempermudah dalam pembuatan sistem chatbot.
4) Pengujian  Sistem :  Bertujuan  untuk  menemukan kesalahan dan  menguji  seberapa akurat  sistem chatbot merespon  pertanyaan  dengan  hasil  jawaban  yang sesuai.
5) Hasil :  Terbentuknya  sistem  chatbot  untuk  website Theme62.
B. Metode Pengumpulan Data
Metode  pengumpulan  data  yang  dilakukan  pada penelitian ini adalah sebagai berikut:
1) Observasi :  Metode pengumpulan data  yang dilakukan dengan  cara  meninjau  pada  objek  penelitian  untuk mendapatkan data yang dibutuhkan dalam penelitian.
2) Literatur : Mencari referensi dari jurnal, ebook, internet, dan  penelitian  terdahulu  yang  berkaitan  dalam perancangan sistem chatbot.
C. Metodologi Pengembangan Sistem
Sistem  chatbot  ini  memiliki  beberapa  tahap pemrosesan  untuk  menghasilkan  chat  yang  bersih  dan mudah  dipahami  oleh  bot,  tahap  pemrosesannya  adalah sebagai berikut:
1) Cleaning: Proses  pembersihan  kalimat  yang  tidak diperlukan untuk data training, seperti url dan dekorasi kode.

## Gambar. 1 Cleaning
2) Normalizing: Proses  merubah  huruf  besar  menjadi huruf kecil dan menghapus dekorasi teks yang berguna untuk penyelarasan teks.
Gambar. 2 Normalizing 3) Tokenizing: Proses  pemisahan  kalimat  atau  paragraf menjadi  beberapa  token  atau  kata,  pada  waktu  yang sama  dilakukan  penghapusan  simbol  atau  tanda  baca yang tidak diperlukan
Gambar. 3 Tokenizing
4) Spell  Check:  P roses  koreksi  ejaan  kata  yang  kurang tepat,  seperti  penulisan  yang  typo  atau  penggunaan singkatan pada kata.

## Gambar. 4 Spell Check
5) Stemming: Proses penghapusan kata imbuhan menggunakan  aturan  bahasa  sehingga  mendapatkan sebuah kata dasar.
Gambar. 5 Stemming
6) Neural  Network: Jaringan unit pemrosesan kecil  yang didasarkan  pada  sistem  saraf  manusia  yang  dapat digunakan untuk memodelkan hubungan yang kompleks antara input dan output.

## III. H ASIL DAN PEMBAHASAN

## A. Implementasi Sistem
Pembuatan sistem menggunakan Node.js sebagai pondasi utama karena performa dan skalabilitas yang tinggi dibandingkan PHP/Nginx [5], dan menggunakan beberapa library diantaranya “express.js” untuk menangani request, “node-nlp” dan “nspell” untuk pemrosesan chatbot. Penulis membuat  beberapa  module  secara  terpisah,  hal  ini bertujuan  untuk  memudahkan  proses  pembuatan  dan pengembangan.  Module  yang  dibuat  adalah  sebagai berikut:
1) corpus-crud.js
Module ini berperan dalam mengelola data corpus (disebut  penulis  sebagai  data  pelatihan)  yang  menganut konsep  CRUD  (Create,  Read,  Update,  Delete)  sehingga dapat menambah, membaca, memperbarui, dan menghapus data  corpus.  Data  corpus  disimpan  dalam  format/ekstensi json dengan nama “corpus.json”.
Gambar. 6 corpus-crud.js
Gambar. 7 corpus.json
2) spell-check.js
Module ini berperan dalam mengoreksi ejaan kata yang  kurang  tepat,  seperti  penulisan  yang  typo  atau penggunaan  singkatan  pada  kata.  Data  pelatihan  spell check ini didapatkan dari file word.txt yang berisi sejumlah teks  dari  file  corpus.json  yang  telah  melalui  pembersihan data.
Gambar. 8 spell-check.js
Gambar. 9 word.txt
3) pre.js Module  ini  berperan  dalam  preprocessing kata/kalimat untuk mendapatkan kata/kalimat yang bersih sehingga  mudah  dipahami  oleh  bot  dalam  proses training dan  meningkatkan  akurasi  prediksi  bot  dalam  menjawab pertanyaan  customer.  Module  ini  memiliki  banyak preprocessing yang diantaranya adalah cleaning, normalizing, tokenizing, spell check, dan stemming.
Gambar. 10 pre.js
Tahap  ini  memiliki  beberapa pipeline (disebut  penulis sebagai alur preprocessing ) yang berbeda untuk kasus yang berbeda, diantaranya adalah sebagai berikut:
- Pipeline Model : Pengolahan data corpus sebelum masuk dalam proses training chatbot.
Gambar. 11 Pipeline Model
- Pipeline  Word :  Pengolahan  data  corpus  sebelum digunakan untuk proses pelatihan spell check.
Gambar. 12 Pipeline Word -
Pipeline  Predict :  Pengolahan  pertanyaan  user sebelum digunakan untuk proses prediksi jawaban.
Gambar. 13 Pipeline Predict 4)
nlp-manager.js
Module  ini  berperan  dalam  pemrosesan  utama  dalam sistem chatbot yang  memiliki 3 (tiga)  fungsi, diantaranya adalah  “train”  untuk  proses  pelatihan  data  menggunakan Neural  Network,  “getModel”  untuk  mengambil  data model,  dan  “predict”  untuk  proses  prediksi  jawaban  dari pertanyaan yang diajukan user. Data model disimpan dalam format/ekstensi json dengan nama “model.json”.
Gambar. 14 nlp-manager.js

## 5) history-file.js
Module ini berperan dalam penanganan data history yang merupakan  pencatatan  riwayat  chat  user  beserta  response dari  hasil  prediksi.  Data  history  disimpan  dalam format/ekstensi json dengan nama “history.json”.
B. Pengujian Aplikasi
Pengujian  aplikasi  menggunakan  pengujian  white-box yang diuji dari berbagai kondisi fungsionalitas sistem dan kemudian  output  dari  sistem  akan  dibandingkan  dengan output yang diharapkan.
1)

## Pengujian White-box
Pengujian  sistem  ini  dilakukan  untuk  melakukan  analisa apakah terdapat kode program yang salah atau tidak dengan cara  melihat  modul-modul  di  dalamnya  [6].  Modul  yang diuji  adalah  modul  prediksi  jawaban  yang  dapat  dilihat pada gambar 15.
Gambar. 15 Pengujian White-box pada Flowchart
- Unit  1 :  Melalui  proses  Pipeline  Predict  yang memiliki beberapa fungsi Cleaning, Normalizing, Tokenizing, Spell Check, Stemming, dan Spell Check. Unit ini telah sesuai dengan program yang diharapkan.

## Gambar. 16 Script Pipeline Predict
- Unit  2 :  Proses  klasifikasi  yang  menggunakan Neural Network, Unit ini telah sesuai dengan program yang diharapkan.
Gambar. 17 Script Proses Klasifikasi - Unit  3 :  Filter  pada  hasil  klasifikasi  dengan pertimbangan score diatas 0.25 dan mengurutkan score dari besar ke kecil. Unit ini telah sesuai dengan program yang diharapkan
Gambar. 18 Script Filter Klasifikasi - Unit 4 : Kondisi untuk mengecek apakah terdapat klasifikasi  setelah  melalui  filter.  Unit  ini  telah  sesuai dengan program yang diharapkan.
Gambar. 19 Script Cek Hasil Klasifikasi
- Unit  5 :  kondisi  jika  tidak  terdapat  klasifikasi, kemudian membuat variable intent = “None” dan score = 1. Unit ini telah sesuai dengan program yang diharapkan.
Gambar. 20 Script Jika Tidak Ada Klasifikasi - Unit 6 : Kondisi jika terdapat klasifikasi, kemudian membuat  variable  intent  dan  score  dari  hasil  klasifikasi.
Unit ini telah sesuai dengan program yang diharapkan.
Gambar. 21 Script Jika Ada Klasifikasi
- Unit  7 :  Melengkapi  data-data  yang  dibutuhkan dan  dimasukkan  ke  dalam  variable.  Unit  ini  telah  sesuai dengan program yang diharapkan.
Gambar. 22 Script Melengkapi Data
- Unit 8 : Proses “return” atau mengembalikan hasil. Unit ini telah sesuai dengan program yang diharapkan.

## Gambar. 23 Script Return Hasil
Dari hasil pengujian menggunakan metode  White-box pada  aplikasi  chatbot  Theme62  mendapatkan  hasil  sesuai dengan program yang diharapkan pada tiap pengujian. Hal tersebut  menunjukkan  bahwa  metode  NLP  dengan pipelines  yang  tepat  mampu  menjawab  pertanyaan berdasarkan  basis  pengetahuan  yang  telah  diberikan sebelumnya.

## IV. K ESIMPULAN
Dari hasil penelitian, pembahasan, dan pengujian oleh penulis, maka didapat sebuah kesimpulan sebagai berikut:
1) Metode  NLP  dengan  menggunakan  library  node-nlp bekerja dengan baik memahami pertanyaan dari customer.
2) Dapat menangani pertanyaan typo ataupun singkatan hanya dengan  melihat  data  corpus  dengan  menggunakan  library nspell.
3) Meringankan  pekerjaan  admin  Theme62  terutama  dalam hal pelayanan terhadap customer.
R EFERENSI
[1] Theme62  (2021).  About  Us.  Theme62.com.  Diakses  pada  10 Februari 2022. https://theme62.com/p/about/
[2] Marlius,  D.  (2018).  Pengaruh  Bauran  Pemasaran  Jasa  Terhadap Minat  Nasabah  Dalam  Menabung  Pada  Bank  Nagari  Cabang Muaralabuh. Jurnal Riset Manajemen dan Akuntansi (JURMAK). 3(1), 12-22.
[3] Gunawan,  B.,  &  Sidik,  M.  (2021).  Pembuatan  Aplikasi  Chatbot Kolektor  Dengan  Metode  Extreme  Programming  Dan  Strategi Forward Chaining. Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK). Jurnal Internasional. 8(2), 293–302.
[4] Ananda  Dwi,  Imamah,  F.,  Andre,  Y.  M.,  &  Ardiansyah.  (2018). Aplikasi Chatbot (Milki Bot) Yang Terintegrasi Dengan Web CMS Untuk Customer Service Pada UKM MINSU. Jurnal Cendikia, 16, 100–106.
[5] Shah,  H.,  &  Soomro,  T.  R.  (2017).  Node.Js  Challenges  in Implementation.  Global  Journal  of  Computer  Science  and Technology. 17(2), 73-83.
[6] Setiawan, R. (2021). White Box Testing untuk Menguji Perangkat Lunak.  Dicoding.com.  Diakses  pada  11  Februari  2022. https://www.dicoding.com/blog/white-box-testing/
This is an open access article under the CC–BY-SA license.