Proposal Gemastik
Proposal Gemastik
Diusulkan oleh :
Nama Tim : Chatter
Anggota :
JAKARTA, 2018
LEMBAR PENGESAHAN KARYA TULIS ILMIAH
ii
SURAT PERNYATAAN SUMBER TULISAN KARYA TULIS
NIM : 2014-31-169
1) Menyatakan bahwa Artikel dalam lomba karya tulis yang saya tuliskan
bersama anggota tim lainnya benar bersumber dari kegiatan yang telah
dilakukan :
Demikian surat pernyataan ini dibuat dengan penuh kesadaran tanpa paksaan
pihak manapun juga dapat digunakan sebagaimana mestinya.
iii
DAFTAR ISI
iv
RANCANG BANGUN APLIKASI CHATBOT SEBAGAI LAYANAN INFORMASI
JURUSAN MENGGUNAKAN NAMED ENTITY RECOGNITION
ABSTRAK
Kata Kunci: Chatbot, Multinomial Naïve Bayes, Text mining, Named Entity
Recognition
v
LATAR BELAKANG
1
teman yang lain juga tidak mengetahui jawaban dari pertanyaan yang diajukan.
Apabila dijawab pun, respon jawaban itu memiliki waktu yang tentatif artinya
pertanyaan yang diajukan bisa dijawab cepat atau lambat. Padahal keinginan
setiap mahasiswa, pertanyaan atau informasi yang dia inginkan bisa didapatkan
dengan cepat.
Mahasiswa memerlukan wadah bertanya yang bisa diakses dari mana saja.
Wadah tersebut bisa berbentuk dalam sebuah aplikasi chatbot. Chatbot adalah
mesin penjawab yang bisa menjawab otomatis pertanyaan yang diajukan oleh
pengguna. Chatbot bisa dijadikan sebagai layanan informasi untuk pertanyaan
yang berhubungan dengan jurusan teknik informatika di STT-PLN. Seperti pada
penelitian (Maskur, 2016), chatbot dimanfaatkan sebagai virtual assistant bagi
mahasiswa jurusan teknik informatika yang memberikan informasi terkait program
studi teknik informatika. Penelitian lain (Page & Gehlbach, 2017), memanfaatkan
teknologi chatbot untuk membantu mahasiswa baru di Georgia State University
(GSU) agar bisa beradaptasi di lingkungan perkuliahan setelah liburan musim
panas yang panjang.
Chatbot tidak bisa begitu saja mengerti perkataan manusia. Untuk itu,
diperlukan suatu metode agar chatbot bisa mengerti bahasa manusia. Dengan
mengerti pola bahasa manusia yang dimasukkan sebagai pertanyaan, chatbot
akan merespon sesuai yang ditanyakan. Maka dari itu, digunakanlah Named
Entity Recognition untuk mengenali pertanyaan yang diajukan manusia. Pada
penelitian (Christianto, Siswanto, & Chaniago, 2016), Named Entity Recognition
digunakan sebagai pengenal pola pertanyaan agar chatbot mengenali pertanyaan
yang diajukan. Untuk membuat named entity recognition diperlukan sebuah
algoritma machine learning. Algoritma yang akan digunakan adalah Multinomial
Naïve Bayes.
2
terkait dengan jurusan teknik informatika di STT-PLN sehingga tidak perlu datang
ke kampus untuk menanyakan informasi yang diinginkan. Dalam
pengembangannya, chatbot akan menggunakan Named Entity Recognition (NER)
untuk mengenali pola pertanyaan agar bisa memberikan respon yang baik dan
benar. Dengan begitu, mahasiswa hanya tinggal bertanya ke aplikasi chatbot yang
dibuat.
3
PENDAHULUAN
A. Tujuan
Tujuan dari penelitian yang ingin dicapai adalah untuk menghasilkan suatu
aplikasi chatbot yang digunakan sebagai layanan informasi untuk mahasiswa
jurusan teknik informatika di Sekolah Tinggi Teknik PLN yang akan membantu
memberikan jawaban tentang berbagai bentuk pertanyaan seputar informasi
jurusan secara cepat dan tepat tanpa harus pergi ke kampus.
B. Manfaat
Mahasiswa bisa mendapatkan informasi terkait jurusan tanpa harus
pergi ke kampus dan bertanya langsung ke jurusan.
Mahasiswa bisa mendapatkan jawaban tanpa harus menunggu untuk
dijawab ketika bertanya.
C. Batasan
Mahasiswa mengalami kesulitan dalam mendapatkan informasi dari
jurusan.
Tidak tentunya waktu untuk mendapat informasi terkait jurusan apabila
bertanya ke sesama mahasiswa.
Chatbot yang diusulkan tidak bisa mengenali bahasa manusia.
4
METODE DAN DESAIN
A. Kerangka Pemikiran
Di bawah ini merupakan kerangka pemikiran yang akan dilakukan pada
penelitian. Kerangka pemikiran tersebut merupakan tahap proses dari awal
hingga akhir.
1) Indicator
Indikator adalah data yang akan diproses untuk nantinya menghasilkan
sesuatu. Penulis menggunakan dataset yang berupa sekumpulan kata beserta
tag-nya untuk melatih classifier. Pertanyaan user adalah segala bentuk
pertanyaan yang berhubungan dengan teknik informatika yang sering ditanyakan.
Pertanyaan maupun data dari jurusan bisa juga digunakan sebagai data training
dan data test.
5
2) Method
Method adalah metode yang akan digunakan sebagai cara penyelesain
yang ada. Metode yang digunakan terdiri dari beberapa proses. Metode klasifikasi
NER menggunakan metode Multinomial Naïve Bayes yang di dalamnya terdapat
proses text preprocessing dan feature extraction. Metode sangat penting untuk
penyelesaian penelitian. Bisa dibilang, metode merupakan inti dari penelitian itu
sendiri. Apabila indikator yang masuk adalah pertanyaan user, maka proses
dilanjutkan ke pattern matching.
3) Measurements
Measurement adalah pengukuran hasil dari penelitian. Artinya setelah
melalui proses perhitungan dari metode yang digunakan, pengujian dilakukan
dengan metode uji. Di penelitian ini, penulis menggunakan cara precision dan
recall untuk menghitung ketepatan dari hasil metode sebelumnya. Penulis juga
menggunakan metode akurasi untuk mengetahui ketepatan dari objective yang
bersangkutan.
4) Objective
Objective adalah tujuan yang ingin dicapai dari sistem. Tujuan dari sistem
yang dibuat pada penelitian ini adalah aplikasi bisa mengklasifikasi kata sesuai
dengan NER dan memberi jawaban yang relevan dengan pertanyaan yang
diajukan berdasarkan pola yang dihasilkan.
6
dianggap independen atau tidak mempengaruhi antara satu dengan lainnya.
Dalam teorema Bayes, jika ada dua kejadian yang terpisah, misal A dan B, maka
teorema Bayes dapat dirumuskan sebagai berikut:
P ( A ) P ( B| A )
P ( A|B )=
P (B )
dimana:
P(A|B) = peluang kejadian A bila kejadian B terjadi
P(A) = peluang kejadian A
P(B) = peluang kejadian B
P(B|A) = peluang kejadian B bila kejadian A terjadi
Untuk menjelaskan bahwa teorema naïve bayes, perlu diketahui bahwa proses
klasifikasi memerlukan petunjuk kelas (feature) apa yang cocok bagi sampel yang
dianalisis maka teorema dapat disesuaikan menjadi:
P ( c ) P ( f … f n|c )
P ( c|f 1 … f n )=
P ( f 1 … f n)
Variabel c merepresentasikan kelas, sementara f 1 … f n merepresentasikan
petunjuk atau feature yang akan digunakan dalam proses klasifikasi. Kita bisa
menghilangkan P(f 1 …. f n) karena nilainya tidak akan berubah dari setiap kelas.
Multinomial Naïve Bayes merupakan model khusus yang digunakan untuk
klasifikasi teks karena dalam metode ini setiap kata atau feature dihitung
frekuensinya tanpa mempedulikan posisinya dalam kalimat atau dokumen. Untuk
menentukan kelas dari suatu kata, maka digunakan rumus Maximum A Posterior
(MAP) seperti berikut:
n
C NB =arg max P ( c ) ∏ P ( f i|c )
c ∈C i =1
Kemudian kita bisa menghitung nilai maksimum dari posterior dari sebuah kata
dengan menggunakan dua probabilitas, yaitu class prior probability dari dokumen
P(c ) dan feature likelihood probability dari sekumpulan petunjuk (feature) P( f ∨c ).
Nilai prior probability merupakan persentase dari sebuah feature yang masuk ke
dalam kelas tertentu. Kita gunakan jumlah feature dengan kelas tertentu N c dibagi
dengan jumlah seluruh dokumen yang tersedia N doc . Rumusnya seperti berikut:
7
Nc
P ( c )=
N doc
V di sini melambangkan vocabulary size yang memiliki nilai seluruh fitur di semua
kelas, tidak hanya satu kelas saja. Masalah akan muncul ketika suatu kata atau
fitur tidak muncul saat proses training. Karena tidak adanya kemunculan fitur
tersebut akan membuat nilai likelihood 0. Hal ini akan membuat seluruh
perhitungan menghasilkan nilai 0 mengingat metode ini pada saat akhir akan
mengalikan setiap probabilitas baik prior maupun likelihood. Untuk menghindari
hal tersebut, kita akan menggunakan Laplace Smoothing, yaitu dengan
menambahkan angka satu saat perhitungan likelihood dengan rumus sebagai
berikut:
count ( f i , c ) +1 count ( f i , c ) +1
P ( f i|c ) = =
∑ ( count ( f , c ) +1 ) ¿¿
f ∈V
¿
8
C NB =argmax logP ( c ) + ∑ logP ¿ ¿
C. i ∈ position Desain Sistem
¿
Sistem yang diusulkan oleh penulis pada Automatic Watering System ini
(untuk selanjutnya disebut ALPO) yaitu dimulai dari proses AWS yang membaca
indikator suhu, kelembaban udara dan kelembaban tanah dari sensor. Kemudian
data tersebut diolah dengan menggunakan algoritma Adaline. Setelah pengolahan
data selesai, didapatkanlah informasi hasil dari olah data tersebut yang akan
dikirimkan ke aplikasi berbasis android melalui basis data MySQL. Setelah data
dikirim, maka AWS akan mengaktifkan pompa air. Pengelola patau pemilik vertical
garden yang membuka aplikasi monitoring akan melihat informasi hasil olah data
9
seperti suhu, kelembaban udara, kelembaban tanah, durasi diaktifkannya keran
dan status pompa air melalui aplikasi tersebut serta dapat melakukan kontrol
secara manual. Berikut adalah alur dari AWS ini :
10
4. Basis data yang digunakan penulis adalah MySQL yang telah terhosting yang
akan menerima data yang dikirimkan dari ESP8266 WiFi Module.
5. Proses penyiraman otomatis ini juga dapat dimonitoring oleh pengelola
vertical garden melalui aplikasi berbasis android yang diberi nama MyWater
App, yang terintegrasi dengan web server, sehingga pengelola dapat
mengetahui bagaimana keadaan tanaman tersebut secara real-time serta
pemilik atau pengelola vertical garden dapat melakukan kontrol secara
manual.
11
Module dan dapat diakses melalui aplikasi berbasis android yang terintegrasi
melalui web server.
12
5 kel_tanah Float 15 Nilai kelembaban tanah
dari sensor
6 durasi_siram Int 5 Durasi keran diaktifkan
7 hasil_Adaline Float Hasil perhitungan
Adaline
13
n indonesia
3 nama_latin Varchar 40 Nama latin/asing
tanaman
4 lokasi_tanam Varchar 25 Daerah tanam
5 suhu Varchar 15 Nilai suhu dari tanaman
6. kelembabanUdara Varchar 15 Nilai kelembaban udara
7. kelembabanTanah Varchar 15 Nilai kelembaban tanah
Dari keempat tabel yang telah dibuat di atas, kemudian direlasikan seperti
pada gambar di bawah ini :
Dari keempat tabel tersebut, yang memiliki relasi satu sama lain adalah
tabel logsensor dan tabel detailKT yang terhubung melalui field id_data, waktu dan
kel_tanah, sedangkan tbl_tanaman dan tbl_user tidak memiliki relasi dengan tabel
manapun.
14
Pada sistem ini tim membuat suatu tampilan rangkaian untuk perancangan
perangkat keras, berikut adalah tampilan perancangannya :
Arduino Mega
Komponen Pin
2560
TX 19
RX 18
ESP8266 WiFi Module GND GND
VCC 3,3 V
CHPD 3,3 V
DHT11 IN 8
GND GND
15
VCC 5V
A0 A0
YL-69 (1) GND GND
VCC 5V
A0 A1
YL-69 (2) GND GND
VCC 5V
A0 A2
YL-69 (3) GND GND
VCC 5V
A0 A3
YL-69 (4) GND GND
VCC 5V
IN 10
Water Pump VCC 5V
GND GND
16
4. Jika durasi keran sudah diketahui, maka relay akan mengaktifkan pompa
air 6V Submersible sehingga pompa air tersebut dapat mengalirkan air ke
pertanian vertikal.
5. Informasi yang dihasilkan kemudian dikirim dari Arduino menuju basis data
MySQL melalui ESP8266 WiFi Module yang telah dikoneksikan dengan
jaringan internet yang tersedia. Sehingga informasi tersebut dapat dipantau
langsung oleh pengelola pertanian vertikal melalui aplikasi android yang
telah terintegrasi dengan web server.
Dari perancangan rangkaian perangkat keras di atas, rangkaian dibagi
menjadi potongan-potongan antara arduino mega 2560 dengan setiap komponen
yaitu :
1) Rangkaian Sensor
Dalam pembuatan Automatic Watering System, arduino mega 2560
diintegrasikan dengan beberapa komponen lainnya. Salah satunya adalah
komponen sensor. Sensor yang dipakai terdiri dari dua sensor, yaitu DHT11 untuk
sensor suhu dan kelembaban udara, serta Soil Moisture Sensor YL-69 untuk
sensor kelembaban tanah. Untuk alur pembacaan sensor pada rangkaian dapat
dilihat pada flowchart di bawah ini :
17
2) Rangkaian ESP8266 WiFi Module
Pada rangkaian ESP8266 WiFi Module diperlukan komponen tambahan
berupa resistor untuk menyeimbangkan tegangan antara tegangan arduino dan
tegangan ESP8266. Tegangan pada arduino sebesar 5 Volt, sedankan tegangan
pada ESP8266 sebesar 3,3 Volt, maka dari itu nilai resistor yang digunakan
adalah 1000Ω (1kΩ ) dan 470Ω (4,7kΩ). Nilai tersebut didapatkan dari
perhitungan :
R2
Vout=Vin3.1
Rumus . Vin Vout
R 1+ R 2
10000 Ω
5 volt . =3,40 volt
470 Ω+10000 Ω
18
listrik. Pada penelitian ini, penulis menggunakan baterai 6 Volt untuk mengisi daya
relay dan pompa air. Sedangkan flowchart rangkaian relay ini dapat dilihat pada
gambar di bawah ini :
19
Gambar di atas, merupakan diagram alir yang menggambarkan alur
halaman login aplikasi Android MyWater App dan web server. Admin yang ingin
login ke web atau User yang ingin login ke aplikasi android harus memasukkan
username dan password yang telah terdaftar, jika username dan password sesuai
dengan yang tersimpan di basis data, maka akan muncul konfirmasi bahwa login
berhasil.
20
Home merupakan salah satu pilihan menu di navigation drawer pada
aplikasi berbasis android.
21
Jika user memilih menu Soil Moisture pada Navigation Drawer MyWater
App, maka alur selanjutnya yang akan terjadi ditampilkan pada flowmap berikut :
22
Gambar di atas merupakan flowmap perancangan halaman Help pada
aplikasi MyWater App. Halaman Help berisi informasi tentang fungsi masing-
masing menu yang terdapat di aplikasi MyWater App.
23
Gambar di atas merupakan flowmap perancangan halaman Logout pada
aplikasi MyWater App. Jika user memilih menu logout, maka akan muncul
message box peringatan yang berisi apakah yakin akan logout dari akun, jika yang
dipilih adalah “iya”, maka akan kembali ke halaman login. Jika tidak, maka akan
kembali ke halaman sebelumnya sedang diakses.
24
11)Halaman Register Admin pada Web
25
Gambar di atas merupakan flowmap perancangan halaman index pada
aplikasi berbasis web. Jika admin memilih menu Dashboard, maka akan muncul
halaman index yang menampilkan informasi keseluruhan tentang web.
26
Gambar di atas merupakan flowmap perancangan halaman Soil Moisture
pada web. Halaman Soil Moisture akan menampilkan informasi tentang sensor1,
sensor2, sensor3, sensor4 yang merupakan hasil pembacaan keempat sensor YL-
69, dan rata-rata kelembaban tanah.
27
Gambar di atas merupakan flowmap perancangan halaman Info Tanaman
untuk admin pada aplikasi berbasis web. Jika admin memilih menu Info Tanaman,
maka akan muncul informasi tentang jenis-jenis tanaman pada pertanian vertikal.
28
Gambar di atas merupakan flowmap perancangan halaman Logout pada
aplikasi berbasis web. Jika admin menekan tombol Logout, maka admin akan
diarahkan keluar dari web dan menuju ke halaman login kembali.
29
DESAIN DAN IMPLEMENTASI
A. Desain Sistem
30
B. Perancangan Data Flow Diagram
Diagram alir data atau data flow diagram digunakan untuk
menggambarkan aliran informasi dan transformasi yang diaplikasikan pada saat
data bergerak dari input menjadi output. Berikut data flow diagram yang
diusulkan:
1) Diagram Konteks
Diagram konteks menggambarkan ruang lingkup suatu sistem.
Diagram konteks menunjukkan semua entitas luar yang menerima
informasi dari atau memberikan informasi ke sistem.
2) Diagram Level 0
31
Gambar 3. 2 Diagram Level 0
Diagram level 0 memberikan gambaran secara menyeluruh terhadap
sistem aplikasi yang dibuat, menunjukkan fungsi dan proses secara
lebih mendetil.
Berdasarkan gambar 3.4, aplikasi chatbot ini terdiri dari empat proses
besar, antara lain login untuk admin, pengelolaan data AIML oleh
admin, pengelolaan data training oleh admin, dan proses chatting itu
sendiri. Proses login terhubung dengan penyimpanan data bernama
user. Proses pengelolaan data AIML, pengelolaan data training dan
proses chatting terhubung dengan penyimpanan data Training File
dan AIML File.
32
3) Diagram 1 Level 1 Proses Pengelolaan Data AIML
33
Proses
Input Data AIML (id_file)
Output Data AIML(id_file, nama_file, path_file)
Penjelasan Admin menghapus file AIML yang ada di sistem
Proses berdasarkan ID-nya
34
training dan mengunduh (download) data training. Berikut ini adalah
kamus data sebagai penjelasan lebih rinci dari DFD pada gambar
3.6:
35
Gambar 3. 5 Diagram 3 Level 1 Proses Chatting
Gambar 3.7 merupakan rincian dari proses chatting. Data training
yang berada di training file diambil untuk melakukan proses melatih
classifier. Kemudian, hasilnya digunakan untuk mengklasifikan NER
terhadap input user yang berupa data pertanyaan. Data hasil
klasifikasi digunakan untuk melakukan pattern matching terhadap
data jawaan dari AIML File. Data jawaban dikirimkan kembali ke
pengguna. Di bawah ini adalah kamus data dari DFD yang ada di
gambar 3.7, sebagai berikut:
Tabel 3. 6 Tabel Kamus Data Melatih Classifier
Nama Proses Melatih Classifier
Nomor 4.1
Proses
Input Data Teks Teranotasi (Data training yang sudah
diunggah sebelumnya)
Output Data Hasil Training
Penjelasan Sistem melakukan perhitungan untuk melatih
Proses classifier
36
Proses
Input Data Teks Terklasifikasi, Data Jawaban
Output Data Jawaban
Penjelasan Teks yang sudah diklasifikasi, dicocokkan polanya
Proses dengan data jawaban di AIML. Setelah
menemukan yang cocok, sistem mengirim
jawaban ke pengguna.
37
Gambar 3. 6 Proses NER Learning
38
1) Data training. Data training yang dibutuhkan penulis untuk penelitian
ini adalah berbagai dokumen dalam bahasa Indonesia. Tentunya
menggunakan bahasa Indonesia yang baik dan benar sesuai EYD.
Data training digunakan untuk melatih mesin untuk menghasilkan
sebuah model yang digunakan untuk mendeteksi data test nantinya.
Data training akan melewati proses preprocessing dan feature
extraction sebelum diproses dengan metode machine learning.
Pengklasifikasian dalam data training dibuat manual oleh penulis
dengan menandai setiap kata dengan part of speech dan kelas NER-
nya.
2) Text preprocessing. Selanjutnya adalah tahap text preprocessing
yang terdiri dari sentence tokenizing, word tokenizing, part of speech
tagger training, dan BILOU tagging. Sentence tokenizing, yaitu
memisahkan isi dokumen berdasarkan satu kalimat. Dalam data
training, setiap kalimat terpisah oleh garis baru atau newline.
Proses yang akan dilakukan berikutnya dinamakan word tokenizing.
kalimat yang sudah dipisah-pisah akan dipisah kembali menjadi per
kata. Pada contoh yang akan penulis berikan, setiap kata
dimasukkan ke dalam tanda dalam kurung ‘()’. Berikut ini contoh dari
word tokenizing :
Tabel 3. 8 Tabel Contoh Proses Word Tokenizing
(Ada/vbi/O) (Laboratorium/nnp/LOC)
(ITCC/nnp/LOC) (dan/CC/O)
(Laboratorium/nnp/LOC) (Jaringan/nnp/LOC)
(serta/cc/O) (Laboratorium/nnp/LOC)
(Simulasi/nnp/LOC) (Dan/nnp/LOC)
(Pemodelan/nnp/LOC) (sekaligus/uh/O)
(Laboratorium/nnp/LOC) (Dasar/nnp/LOC)
(2/nnp/LOC) (berada/vb/O) (di/IN/O) (lantai/nn/O)
(5/cdp/NUM)
Proses yang akan dilakukan selanjutnya adalah part of speech (POS)
tagger training, yaitu melatih tagger agar bisa memberi POS tag yang
39
sesuai dengan konteks kalimatnya. Kumpulan POS tag yang
digunakan pada penelitian ini terlihat pada tabel berikut(Rashel,
Luthfi, Dinakaramani, & Manurung, 2014):
Tabel 3. 9 Tabel Part of Speech
40
CDI Irregular Numeral Beberapa
Karena kata ‘Laboratorium’ lebih banyak yang memiliki tag NN, maka
untuk kata ‘Laboratorium’ yang ditemukan nantinya akan diberi tag
NN (Noun). Bila rata-rata tag yang muncul sama, tag yang lebih
dahulu muncul yang akan menjadi label untuk kata tersebut. Perlu
diingat, perhitungan di atas hanya contoh kecil dari data training yang
ada.
Tahap terakhir dari preprocessing adalah BILOU tagging. BILOU
tagging merupakan proses mengubah named entity recognition
(NER) yang ada pada data training ke dalam skema BILOU. BILOU
adalah singkatan dari begin, inside, last, unit, outside (other). Skema
ini digunakan sebagai penanda suatu kelas NER. Misal, tag begin
digunakan sebagai penanda awal kata dari suatu kelas NER yang
41
berhubuungan. Kemudian, inside yang berarti menandakan bahwa
kata tersebut berada di tengah dari NER yang berhubungan. Last
untuk akhir dari suatu NER, unit untuk menandakan bahwa NER
tersebut sendiri, dan outside menandakan kata yang di luar dari
NER. Tabel akan memberikan penggambaran bagaimana BILOU
tagging dilakukan terhadap data training yang menjadi contoh.
Tabel 3. 11 Contoh BILOU Tagging
Ada/vbi/O | Laboratorium/nnp/B-LOC |
ITCC/nnp/L-LOC | dan/CC/O |
Laboratorium/nnp/B-LOC | Jaringan/nnp/L-LOC |
serta/cc/O | Laboratorium/nnp/B-LOC |
Simulasi/nnp/I-LOC | Dan/nnp/I-LOC |
Pemodelan/nnp/L-LOC | sekaligus/uh/O |
Laboratorium/nnp/B-LOC | Dasar/nnp/I-LOC |
2/nnp/L-LOC | berada/vb/O | di/IN/O | lantai/nn/O |
5/cdp/U-NUM
No Atribut/Fitur Keterangan
1 Wordi Fitur yang menunjukkan kata itu sendiri.
2 POSi Fitur yang menunjukkan part of speech dari
kata.
3 Bigram Fitur yang menunjukkan keberadaan dua
42
kata secara bersamaan.
4 Wordi+1 Fitur yang menunjukkan satu kata
sesudahnya.
5 Wordi+2 Fitur yang menunjukkan dua kata
sesudahnya.
6 Wordi-1 Fitur yang menunjukkan satu kata
sebelumnya.
7 Wordi-2 Fitur yang menunjukkan dua kata
sebelumnya.
43
Berikut ini adalah hasil tahapan feature extraction yang ada di proses text preprocessing sebelumnya, sebagai berikut.
Tabel 3. 13 Contoh Feature Extraction
next-next- prev-prev-
word pos bigram next-word word prev-word word NER
Laboratoriu
Ada vbi Ada Laboratorium m ITCC __START1__ __START2__ O
Laboratoriu
m nnp Laboratorium ITCC ITCC dan Ada __START1__ B-LOC
ITCC nnp ITCC dan dan Laboratorium Laboratorium Ada L-LOC
Laboratoriu
dan cc dan Laboratorium m Jaringan ITCC Laboratorium O
Laboratoriu Laboratorium
m nnp Jaringan Jaringan serta dan ITCC B-LOC
Jaringan nnp Jaringan serta serta Laboratorium Laboratorium dan L-LOC
Laboratoriu
serta cc serta Laboratorium m Simulasi Jaringan Laboratorium O
Laboratoriu Laboratorium
m nnp Simulasi Simulasi Dan serta Jaringan B-LOC
Simulasi nnp Simulasi Dan Dan Pemodelan Laboratorium serta I-LOC
Dan nnp Dan Pemodelan Pemodelan sekaligus Simulasi Laboratorium I-LOC
Pemodelan
Pemodelan nnp sekaligus sekaligus Laboratorium Dan Simulasi L-LOC
sekaligus Laboratoriu
sekaligus uh Laboratorium m Dasar Pemodelan Dan O
Laboratoriu Laboratorium
m nnp Dasar Dasar 2 sekaligus Pemodelan B-LOC
Dasar nnp Dasar 2 2 berada Laboratorium sekaligus I-LOC
2 nnp 2 berada berada di Dasar Laboratorium L-LOC
44
next-next- prev-prev-
word pos bigram next-word word prev-word word NER
berada vb berada di di lantai 2 Dasar O
di in di lantai lantai 5 berada 2 O
lantai nn lantai 5 5 Lantai di berada O
5 cdp 5 Lantai Lantai 3 lantai di U-NUM
45
4) Classifier. Classifier merupakan proses pemodelan yang berisi
kumpulan klasifikasi fitur yang sudah dianalisis berdasarkan setiap kata
penyusunnya. Pemodelan classifier ini dibuat dengan cara mengubah
hasil feature extraction menjadi sebuah model yang diproses melalui
algoritma machine learning. Nantinya, model ini digunakan untuk
mengenali pola input user saat proses chat dilakukan. Algoritma
machine learning yang digunakan adalah multinomial naïve bayes.
Dalam metode multinomial naïve bayes, ada dua variable perhitungan
yang dibutuhkan, yaitu class prior probability (probabilitas kelas) dan
feature likelihood probability (probabilitas tiap fitur pada kelas yang
bersangkutan). Untuk menghitung probabilitas kelas, hitung jumlah
kemunculan kelas dibagi dengan jumlah kemunculan seluruh kelas.
Sebagai contoh, dari data training sebelumnya, kelas NER ‘O’ muncul
sebanyak 83 kali. Sementara jumlah keseluruhan kelas adalah 157.
Maka, perhitungan probabilitas untuk kelas ‘O’ adalah sebagai berikut:
83
P(O) =
157
, P(O) = 0,5286
Tabel 3. 14 Hasil Class Prior Probability
Class Prior
Class Jumlah Probability
O 83 0,52866242
B-PER 1 0,006369427
I-PER 1 0,006369427
L-PER 1 0,006369427
U-PER 2 0,012738854
B-ORG 2 0,012738854
I-ORG 2 0,012738854
L-ORG 2 0,012738854
U-ORG 1 0,006369427
B-LOC 11 0,070063694
I-LOC 5 0,031847134
L-LOC 11 0,070063694
U-LOC 3 0,01910828
U-NUM 7 0,044585987
46
Class Prior
Class Jumlah Probability
U-QUE 5 0,031847134
U-INTENT 11 0,070063694
B-INTENT 3 0,01910828
I-INTENT 1 0,006369427
L-INTENT 3 0,01910828
B-QUE 1 0,006369427
L-QUE 1 0,006369427
Jumlah fitur
Kelas dalam kelas
O 786
B-PER 31
I-PER 31
L-PER 26
U-PER 40
B-ORG 99
I-ORG 101
L-ORG 100
U-ORG 32
B-LOC 190
I-LOC 159
47
Jumlah fitur
Kelas dalam kelas
L-LOC 212
U-LOC 119
U-NUM 75
U-QUE 54
U-INTENT 175
B-INTENT 111
I-INTENT 89
L-INTENT 113
B-QUE 25
L-QUE 17
Jumlah fitur unik dari keseluruhan kelas adalah sebagai berikut:
Tabel 3. 16 Jumlah Fitur Unik
48
ANALISIS
49
seharusnya tidak perlu untuk datang ke kampus. Terlebih lagi jika mahasiswa
tersebut sedang tidak berada di Jakarta, maka semakin kesulitan untuk
mendapatkan informasi. Kesulitan juga dialami oleh staf jurusan yang seringkali
mendapat pertanyaan yang sama berulang kali.
Dari permasalahan pada analisa sistem berjalan ini, penulis menyimpulkan bahwa
perlu ada inovasi untuk menyelesaikan masalah yang ada. Salah satu inovasi atau
solusi untuk menyelesaikan masalah tersebut adalah dengan membuat sistem
yang menjadi wadah atau tempat bagi para mahasiswa di jurusan informatika
untuk bertanya dan mendapat informasi. Staf jurusan juga tidak perlu menjawab
pertanyaan yang sama berulang kali dari mahasiswa. Untuk itu, penulis
menawarkan solusi dengan chatbot yang bisa menjawab otomatis pertanyaan dari
user dengan cepat dan akurat dengan mengambil kata-kata dari user yang akan
diklasifikasikan menurut entitasnya untuk dibandingkan dengan pattern yang ada
di AIML supaya bisa memberikan jawaban yang tepat.
50
c. Informasi magang. Yaitu syarat untuk mengambil mata kuliah
magang, syarat sidang dan lainnya.
d. Informasi skripsi. Yaitu syarat untuk mengambil mata kuliah skripsi,
syarat siding skripsi, dan lainnya.
e. Ruangan dosen. Yaitu data yang menunjukkan ruangan dari setiap
dosen tetap jurusan teknik informatika.
f. Informasi ruangan laboratorium. Yaitu informasi terkait lokasi
ruangan laboratorium komputer.
2) Dataset. Dataset adalah sekumpulan data yang digunakan pada proses
text mining yang bisa digunakan sebagai data training (data latih) atau
data test (data uji). Data yang digunakan adalah data berupa kata-kata
dalam bahasa Indonesia yang sudah diberi tag untuk part of speech dan
juga entitasnya. Contoh bentuk dataset yang digunakan ditampilkan
pada tabel berikut:
Ada/vbi/O Laboratorium/nnp/LOC ITCC/nnp/LOC dan/CC/O
Laboratorium/nnp/LOC Jaringan/nnp/LOC serta/cc/O
Laboratorium/nnp/LOC Simulasi/nnp/LOC Dan/nnp/LOC
Pemodelan/nnp/LOC sekaligus/uh/O Laboratorium/nnp/LOC
Dasar/nnp/LOC 2/nnp/LOC berada/vb/O di/IN/O lantai/nn/O
5/cdp/NUM
51
melainkan berdasarkan entitasnya. Berikut ini hasil pengujian dengan data test
dengan menggunakan seluruh data training:
Tabel 4. 1 Hasil Perhitungan Precision dan Recall
52
KESIMPULAN
53