BAB V IMPLEMENTASI DAN PENGUJIAN
IV- 7 Berdasarkan hasil data pertanyaan yang diperoleh, langkah selanjutnya
adalah melakukan analisa terhadap informasi apa yang ingin diambil dari pertanyaan mahasiswa untuk setiap kategori. Informasi ini bisa menjadi kata kunci yang digunakan untuk menjawab pertanyaan mahasiswa. Berdasarkan analisa yang telah dilakukan, maka informasi yang ingin dicari dalam setiap pertanyaan untuk setiap kategori dapat dilihat pada Tabel 4.2.
Tabel 4.2 Kategori pertanyaan berdasarkan Kata Kunci
Kategori pertanyaan Kata Kunci
Penawaran Mata Kuliah
1. wajib 2. semester 10 3. pilihan
4. pilihan kurikulum 2015 5. wajib kurikulum 2015 Persyaratan Mata Kuliah 1. TA
2. metnum kurikulum 2011
Dosen Mata Kuliah 1. jst
Bidang Keahlian Dosen 1. rahmad
2. sistem pakar Deskripsi Mata Kuliah 1. aljabar linear Saran Mata Kuliah Pilihan 1. []
2. minat rpl
Berdasarkan hasil analisa di atas, maka dapat disimpulkan beberapa informasi yang ingin dicari adalah kata wajib, nama semester, kata pilihan, nama kurikulum, nama mata kuliah, nama minat, dan nama dosen. Tanda ‘[]’ pada analisa di atas adalah pertanyaan yang ditanyakan tidak memiliki informasi yang spesifik karena pertanyaan tersebut bersifat umum dalam kategori saran mata kuliah pilihan.
Nama semester, nama kurikulum, nama dosen, nama mata kuliah, dan nama minat memiliki berbagai macam penyebutan tekstual, sehingga diperlukan pengenalan entitas (NER) yang bertujuan untuk mengidentifikasi berbagai macam frasa dari kelompok named entity. Hasil analisa untuk pengenalan entitas dapat dilihat pada Tabel 4.3.
Tabel 4.3 Pengenalan Entitas
Tipe Named Entity Contoh
Semester Semester 1, semester 2, semester 3, dan
seterusnya
IV-8
Tipe Named Entity Contoh
Mata Kuliah Database, Jaringan syaraf tiruan, algoritma genetika, sistem informasi, dan seterusnya
Dosen Muhammad Fikry, Muhammad Affandes,
Muhammad Irsyad, dan seterusnya
Minat Teknologi informasi, rekayasa perangkat
lunak, sistem cerdas
Setelah didapat pengenalan entitas, maka selanjutnya membuat sebuah aturan jawaban (rule) yang digunakan chatbot untuk menjawab pertanyaan. Rule tersebut merupakan pencocokan antara kategori pertanyaan dan kata kunci. Kata kunci ini berupa informasi apa yang ingin dicari lebih spesifik yaitu bisa berupa kata atau entitas yang ingin dicari. Jika tidak ada terdapat kata atau entitas yang ingin dicari, maka kata kunci bisa dikosongkan. Analisa aturan jawaban (rule) dapat dilihat pada Tabel 4.4.
Tabel 4.4 Aturan (rule) jawaban
Kategori pertanyaan Kata Kunci Rule
Penawaran mata kuliah wajib K1R1
Penawaran mata kuliah Semester [semester] K1R2
Penawaran mata kuliah Pilihan K1R3
Penawaran mata kuliah Pilihan kurikulum
[kurikulum] K1R4
Penawaran mata kuliah Wajib kurikulum
[kurikulum] K1R5
Persyaratan Mata Kuliah [matkul] K2R1
Persyaratan Mata Kuliah [matkul] kurikulum
[kurikulum] K2R2
Dosen Mata Kuliah [matkul] K3R1
Bidang Keahlian Dosen [dosen] K4R1
Bidang Keahlian Dosen [matkul] K4R2
Deskripsi Mata Kuliah [matkul] K5R1
Saran Mata Kuliah Pilihan K6R1
IV-9
4.1.3 Analisa Data Keluaran
Tahapan ini menjelaskan bagaimana cara analisa data informasi jawaban berdasarkan pengumpulan data yang telah dilakukan dan bagaimana cara mengolah data tersebut untuk menjadi acuan chatbot dalam memberikan jawaban.
Data informasi jawaban berasal dari database sistem Sekretaris Jurusan dan data tersebut menjadi basis pengetahuan (knowledge
base) untuk chatbot dalam memberikan jawaban. Karena data informasi jawaban yang didapat dalam bentuk database, sehingga untuk
mengambil informasi di dalam database harus dilakukan analisa query database berdasarkan aturan jawaban (rule). Analisa data keluaran (jawaban) berdasarkan query database dapat dilihat pada tabel 4.5.
Tabel 4.5 Jawaban berdasarkan query database Rule
Jawaban Query Database Jawaban
K1R1
SELECT DISTINCT courses.name,courses.semester,courses.year FROM courses INNER JOIN classrooms ON classrooms.courses_id=courses.id WHERE compulsory = 1 AND year =[kurikulum] AND semester = [semester] ORDER BY semester
Mata Kuliah wajib yang tersedia berdasarkan semester dan kurikulum kamu sekarang adalah [matkul]/semester [semester]/kurikulum [kurikulum]
K1R2
SELECT DISTINCT courses.name,courses.semester,courses.year FROM courses INNER JOIN classrooms ON classrooms.courses_id=courses.id WHERE year =[kurikulum] AND semester = [semester] ORDER BY courses.name
Mata Kuliah wajib semester [semester] yang tersedia semester ini berdasarkan kurikulum kamu adalah [matkul] (kurikulum [kurikulum])
K1R3
SELECT DISTINCT courses.name,courses.year FROM courses RIGHT JOIN classrooms ON classrooms.courses_id=courses.id WHERE year =[kurikulum] AND compulsory = 0 ORDER BY courses.name
Mata Kuliah pilihan hanya bisa diambil di semeter 6 ke atas. Mata kuliah pilihan yang tersedia di semester ini untuk kurikulum kamu adalah [matkul] (kurikulum [kurikulum])
IV-10 Rule
Jawaban Query Database Jawaban
K1R4
SELECT DISTINCT courses.name,courses.year FROM courses RIGHT JOIN classrooms ON classrooms.courses_id=courses.id WHERE year = [kurikulum] AND courses.compulsory = 0 ORDER BY courses.name
Mata Kuliah pilihan kurikulum [kurikulum] semester ini adalah
[matkul]
K1R5
SELECT DISTINCT courses.name,courses.semester,courses.year FROM courses RIGHT JOIN teachingcredits ON
teachingcredits.courses_id=courses.id WHERE year = [kurikulum] AND courses.compulsory = 1 ORDER BY courses.name
Mata Kuliah wajib kurikulum [kurikulum] semester ini adalah [matkul] (semester [semester])
K2R1 SELECT DISTINCT name,year,semester,prerequisite FROM courses WHERE relative_name LIKE "%[matkul]%" AND year =[kurikulum]
Syarat mata kuliah [matkul] untuk kurikulum ([kurikulum]) adalah (syarat). Pastikan kamu lulus syarat untuk mengambilnya
K2R2 SELECT DISTINCT * FROM courses WHERE relative_name LIKE "%[matkul]%" AND year = [kurikulum]
Syarat mata kuliah [matkul] untuk kurikulum ([kurikulum]) adalah (syarat). Pastikan kamu lulus syarat untuk mengambilnya
K3R1
SELECT courses.name,courses.id FROM courses INNER JOIN classrooms ON classrooms.courses_id=courses.id WHERE courses.relative_name LIKE "%[matkul]%"'
SELECT DISTINCT courses.name,educators.name FROM courses INNER JOIN teachingcredits ON teachingcredits.courses_id=courses.id INNER JOIN educators ON teachingcredits.educators_id=educators.id WHERE courses.relative_name LIKE "%[matkul]%"
Dosen yang mengajar mata kuliah [matkul] semester ini adalah [dosen]
IV-11 Rule
Jawaban Query Database Jawaban
K4R2
SELECT DISTINCT
courses.name,courses.relative_name,teachingcredits.educators_id,educator s.name,educators.id FROM teachingcredits RIGHT JOIN courses ON teachingcredits.courses_id=courses.id RIGHT JOIN educators ON
teachingcredits.educators_id=educators.id WHERE courses.relative_name LIKE "%[matkul]%"
SELECT name,relative_field_of_expertise,field_of_expertise FROM educators WHERE relative_field_of_expertise LIKE "%[matkul]%"
Dosen yang mengerti mata kuliah [matkul] adalah [dosen]. kamu bisa berkonsultasi langsung dengan dosen tersebut
K5R1 SELECT DISTINCT description FROM courses WHERE relative_name
LIKE "%[matkul]%" [deskripsi]
K6R1 SELECT DISTINCT group_name FROM courses WHERE group_name LIKE "%minat%"'
Mata kuliah pilihan tergantung minat kamu dan dapat diambil di semester 6 ke atas. Pastikan kamu lulus syarat untuk mengambilnya. Beberapa minat diantaranya [minat]
K6R2 SELECT DISTINCT * FROM courses WHERE courses.relative_group_name LIKE "%[minat]%"
Mata kuliah dari minat [minat] adalah [matkul]. Ambil mata kuliah pilihan yang belum kamu ambil dan pastikan kamu memenuhi syarat
IV-12
4.1.4 Analisa Program Chatbot
Tahapan analisa program chatbot dilakukan dengan menganalisa cara kerja
chatbot dalam memberikan jawaban. Pengguna dapat berinteraksi dengan chatbot
dengan cara memasukan pertanyaan berupa kalimat. Sebelum kategori pertanyaan diketahui, maka akan dilakukan tahapan text preprocessing terlebih dahulu agar pertanyaan tersebut nanti dapat diolah oleh chatbot. Setelah melakukan text
preprocessing, langkah selanjutnya adalah melakukan pembobotan kata dengan
menggunakan TF IDF. Kemudian data tersebut diolah dan dicari kategori pertanyaan dengan menggunakan Naïve Bayes Classifier. Kategori pertanyaan berguna untuk mengetahui kategori pertanyaan (maksud). Setelah kategori pertanyaan didapat, sistem memeriksa kata kunci berdasarkan informasi apa yang ingin dicari dari pertanyaan tersebut. Jika informasi yang dicari berupa frasa dari kelompok entitas, maka sistem akan mengecek entitas apa yang ingin dicari. Setelah itu mencocokan kategori pertanyaan dengan kata kunci. Jika kategori dan kata kunci ditemukan maka akan didapat aturan (rule) jawaban, maka proses selanjutnya adalah mencari jawaban dari pertanyaan tersebut berdasarkan aturan (rule) query
database yang telah ditentukan di dalam database akademik. Setelah jawaban
berdasarkan aturan query database ditemukan, maka chatbot akan menampilkan respon atau jawaban dalam layar sebagai output. Alur analisa program chatbot dapat dilihat pada gambar 4.3.
IV-13