Anda di halaman 1dari 41

1

BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Sistem informasi dalam suatu organisasi dapat dikatakan sebagai suatu
sistem yang menyediakan informasi bagi semua tingkatan dalam organisasi
tersebut kapan saja diperlukan. Sistem informasi memiliki beberapa tipe, salah
satunya adalah sistem CRM (Customer Relationship Management) yang
menggunakan Customer Service and Support untuk menyediakan layanan call
center dan aplikasi layanan berbasis pelanggan. Layanan berbasis pelanggan
memungkinkan pelanggan untuk menyampaikan keluhan, berinteraksi dengan
pelanggan lain atau mendapatkan informasi seputar produk atau jasa yang
ditawarkan melalui layanan web pribadi (web-self service). Layanan web pribadi
tersebut harusnya bisa ditampilkan secara interaktif dan menarik yang bisa
menjangkau calon pelanggan dan pelanggan.
Selama ini, pengguna mendapatkan informasi dari sistem informasi
dengan cara melakukan navigasi manual terhadap konten-konten yang tersedia
di web sistem informasi atau mengubungi layanan call center. Kadang kala
pengguna membutuhkan waktu yang lama untuk mendapatkan informasi yang
diinginkan, karena navigasi web tidak jelas, informasi yang dibutuhkan tidak
ditampilkan, atau call center sedang sibuk melayani pengguna lain.
Perkembangan teknologi dan gaya hidup manusia memungkinkan
pengaksesan sistem informasi dengan cara baru, misalnya menggunakan
percakapan online (chat) melalui koneksi internet. Komunikasi bisa berupa teks
(text chat) atau suara (voice chat). Pengguna mengirim pesan dengan teks atau
suara kepada Customer Service yang sedang online, kemudian Customer
2
Service yang dituju membalas pesan tersebut dengan teks atau suara, demikian
seterusnya. Berbeda dengan chat konvensional, pengguna yang membutuhkan
informasi pada web sistem informasi akan dilayani oleh virtual customer service
yang sudah dilengkapi dengan kecerdasan buatan selama 24 jam sehari.
Dengan kemampuan kecerdasan buatan ini, maka virtual customer service bisa
mendapatkan data atau informasi yang berasal dari web sistem informasi,
database, dan web eksternal untuk diinformasikan kepada pelanggan secara
cepat dan akurat.
Kelebihan dari I-BOT adalah kecepatan akses untuk mendapatkan
informasi, hal ini disebabkan karena data yang dikirim dan yang diterima oleh
pengguna adalah dalam bentuk teks. Selain itu I-BOT bisa dengan mudah
diintegrasikan dengan web sistem informasi, karena sistem pencarian data atau
informasi menggunakan sistem crawler (mendapatkan indeks atau link pada
sebuah halaman web) dan grabber (mendapatkan data atau informasi pada
sebuah indeks atau link) yang tidak tergantung pada metode pengembangan
yang digunakan pada sebuah sistem informasi.
Dari penjelasan di atas, sistem I-BOT yang dibangun menggunakan AIML
dan Program O diharapkan bisa memberikan kontribusi positif dan layanan
interaktif pada website Program Magister dan Doktor Fakultas Teknik Universitas
Brawijaya (PMDFT UB). I-BOT menawarkan cara baru untuk mendapatkan
informasi pada website PMDFT UB yang akan meningkatkan minat mahasiswa
dan calon mahasiswa untuk mengakses website tersebut.
1.2 Identifikasi Masalah
Masalah yang dihadapi pada web sistem informasi PMDFT Universitas
Brawijaya adalah perlunya layanan web pribadi yang interaktif untuk menarik
3
minat calon pelanggan dan pelanggan untuk mengakses web sistem informasi
PMDFT Universitas Brawijaya. Hal ini disebabkan karena Layanan Customer
Support pada web sistem informasi PMDFT Universitas Brawijaya belum
memanfaatkan aplikasi perangkat lunak yang berbasis kecerdasan buatan dan
pengaksesan web sistem informasi masih dilakukan secara navigasi manual,
sehingga informasi yang didapatkan oleh pelanggan atau calon pelanggan
kurang cepat. Salah satu cara yang bisa dilakukan adalah pengaksesan
informasi melalui media chatting. Tetapi masalah yang dihadapi adalah
kompleksitas sistem yang sangat besar untuk menggabungkan kemampuan
berbahasa, data dari sistem informasi dan kemampuan untuk menambah
pengetahuan dari chatterbot yang dikhususkan sebagai Information ChatterBot
(I-BOT).
1.3 Rumusan Masalah
Permasalahan umum web sistem informasi PMDFT Universitas Brawijaya
yang sudah dijelaskan pada bagian identifikasi masalah tidak diselesaikan
secara keseluruhan. Beberapa diantaranya akan dijadikan sebagai
permasalahan yang akan diteliti dan dikembangkan (Research & Development)
dan dirumuskan sebagai berikut :
1. Menggunakan database ALICE, database sistem informasi, Wikipedia API
(Application Programming Interface), sebagai sumber respon chatterbot
yang berasal dari input pengguna untuk mencapai tingkat kepuasan
pengguna berdasarkan pengujian Turing Test.
2. Menggunakan teknologi web service untuk mendapatkan informasi dari
website PMDFT UB dan Wikipedia API sehingga kemampuan dan
pengetahuan I-BOT bisa terus bertambah.
4
3. Memodifikasi karakteristik mesin ALICE sehingga bisa berfungsi sebagai I-
BOT yang dikhususkan sebagai penyedia informasi pada website PMDFT
UB.
4. Menambahkan modul tambahan untuk fungsi crawler dan data grabber
dengan kode PHP yang diintegrasikan dengan Program O untuk menambah
kemampuan ALICE sebagai Customer Service .
5. Menggunakan interpreter AIML berbasis PHP dan MySQL (Program O)
untuk mengimplementasikan chatterbot yang terintegrasi dengan webiste
PPSFT UB.
1.4 Batasan Masalah
Ruang lingkup masalah seperti yang sudah dirumuskan pada bagian
rumusan masalah untuk merancang dan mengimplementasikan perangkat lunak
I-BOT sebagai Information System Chatterbot cukup luas, sehingga untuk
menghindari penyimpangan tujuan diperlukan beberapa batasan masalah
sebagai berikut :
1. Sistem ini digunakan untuk menyediakan layanan Customer Service and
Support.
2. Layanan Customer Service and Support disajikan dalam bentuk komunikasi
chat berbasis website.
3. Sistem ini dibuat dari mesin ALICE dengan tambahan modul kemampuan
sebagai Customer Service.
4. Sistem I-BOT menggunakan metode pembelajaran terawasi (supervised
learning) untuk mendapatkan knowledge.
5
1.5 Tujuan Penelitian
Untuk menjawab permasalahan diatas secara bertahap dan terinci, dan
untuk mengukur keberhasilan Penelitian, maka perlu ditetapkan tujuan
Penelitian sebagai berikut :
1. Merancang perangkat lunak Information System Chatterbot (I-BOT)
menggunakan skema kecerdasan buatan yang dapat dimanfaatkan untuk
mengakses sistem informasi PMDFT UB.
2. Mengembangkan mesin ALICE dan mengintegrasikannya dengan database
sistem informasi dan Wikipedia API untuk mengelola data sehingga
didapatkan respon dari Information System Chatterbot seperti yang
diinginkan.
3. Mengimplementasikan Information System Chatterbot dalam perangkat
lunak berbasis website menggunakan AIML (Artificial Intelligence Markup
Language) berbasis Program O (PHP dan MySQL).
1.6 Manfaat Penelitian
Manfaat dari Penelitian ini adalah :
1. Dari sisi akademik : merupakan pengembangan ilmu di bidang kecerdasan
buatan yang memanfaatkan mesin ALICE dan bahasa pemrograman AIML
dengan menggunakan PHP dan MySQL untuk membuat chatterbot.
2. Dari sisi aplikasi : Penelitian ini bermanfaat bagi PMDFT UB, karena akses
sistem informasi pada website bisa didapatkan secara interaktif yang akan
menarik minat mahasiswa dan calon mahasiswa.
6
BAB II
LANDASAN TEORI
2.1 Tinjauan Pustaka
Bagian ini membahas tentang penelitian relevan yang telah dilakukan
sebelumnya. Ada tiga penelitian yang dibahas, ketiganya menggunakan mesin
ALICE sebagai dasar penelitian dan dikembangkan sesuai dengan tujuan
penelitian masing-masing.
Pengimplementasian dua sistem yaitu ALICE dan ELIZABETH untuk
membangun chatterbot dua bahasa (Afrika dan Bahasa Inggris) dengan
menggunakan AIML berbasis Java, menghasilkan chatterbot yang bisa mengerti
percakapan dalam bahasa Afrika ke bahasa Inggris atau sebaliknya. Penelitian
ini menghasilkan empat buah aplikasi yaitu aplikasi Java berbasis sistem ALICE
yang bisa diakses melalui website, aplikasi desktop menggunakan Delphi
berbasis sistem Elizabeth yang digunakan untuk mendukung evaluasi kinerja
sistem ALICE, aplikasi Java yang digunakan untuk menerjemahkan kategori
AIML ke dalam subset Elizabeth style rule, dan aplikasi Java yang digunakan
untuk membaca dialog dan mengubahnya ke format AIML. Permasalahan yang
dihadapi adalah bagaimana mengetahui bahasa yang digunakan oleh pengguna
pada saat melakukan input kemudian mengubahnya ke format AIML. Program
Java yang digunakan untuk menerjemahkan transkrip dialog ke dalam
representasi pengetahuan AIML memberikan implementasi dasar dari kumpulan
kalimat berbasis pelatihan chatterbot (Shawar dan Atwell, 2003). Kekurangan
dari aplikasi ini adalah perangkat lunak dibangun dengan permasalahan yang
masih umum, belum dikhususkan untuk permasalahan atau kondisi tertentu.
7
Penelitian tentang penggabungan T-Bot (tutor bot) dan Q-Bot (evaluation
bot) yang dilakukan oleh Burguillo, Rodrguez, Llamas pada tahun 2008 efektif
untuk membantu siswa selama proses belajar mengajar dan mendukung
pengajar untuk melakukan aktivitas mengajar. Penelitian ini menggunakan AIML
berbasis PHP (Program E) yang dikombinasikan dengan sistem e-learning
Claroline dan Moodle. T-Bot (tutor bot) digunakan untuk menganalisa pertanyaan
siswa yang ditulis dalam bahasa natural dan memberikan jawaban sesuai
dengan isi dari materi pelajaran dengan tepat. Sedangkan Q-Bot (evaluation bot)
digunakan untuk melakukan supervisi dan evaluasi proses belajar siswa dengan
memberikan pertanyaan yang berupa kuisioner pribadi. Pertanyaan kuisioner
diberikan dalam bentuk pilihan ganda, benar/salah, dan jawaban singkat. Siswa
bisa terhubung dengan e-learning melalui koneksi internet, kemudian siswa bisa
berinteraksi dengan bot melalui BUI (Bot User Interface). Penelitian ini juga
mengimplemetasikan tiga bahasa yaitu Inggris, Spanyol dan Galisian.
Kekurangan dari Penelitian ini adalah pasangan input dan output sudah
ditentukan di dalam modul PHP, sehingga chatterbot tidak bisa menciptakan
jawaban teksnya sendiri.
Cho pada tahun 2007 menambahkan kemampuan emosi dan model
kepribadian pada Alicebot pada Penelitiannya yang berjudul Emotional and
Domain Concept Enhancements to Alicebot menggunakan AIML berbasis PHP
(Program E) dengan koneksi MySQL. Kemampuan ini membuat Alicbot mampu
membuat keputusan sendiri berdasarkan emosi dan model kepribadiannya.
Alicebot juga mampu untuk menyatakan kesukaan atau ketidaksukaannya
terhadap sesuatu. Penelitian ini menambahkan tiga modul ke dalam Alicebot
yaitu : modul emosi dan kepribadian, modul konsep domain, dan modul
penciptaan teks/kata. Kode kode tambahan untuk menambahkan kemampuan
emosi dan model kepribadian ditulis dalam bahasa PHP dan diintegrasikan
8
dengan Program E. Cho menyatakan bahwa hasil Penelitiannya ini akan
membuat Alicebot bisa menciptakan jawaban teksnya sendiri tanpa
menggunakan pattern (pola pencocokan kata). Keterbatasan Penelitian ini
adalah aplikasi yang dibuat masih umum, belum dikhususkan untuk menangani
permasalahan atau spesifikasi bidang tertentu, sehingga kosa kata yang
diciptakan terbatas hanya untuk percakapan umum manusia.
2.2 Studi Pustaka
Dalam bab ini akan dibahas mengenai studi pustaka yang berisi teori
Natural Language Processing, Chatterbot, Artificial Intelligence Markup
Language (AIML), dan Program O. Natural Language Processing menjelaskan
tentang pengertian, bidang pengetahuan, aplikasi dalam bidang Natural
Language, dan gramatika. Pada sub bab Chatterbot membahas pengertian,
sejarah, kunci metode operasional, dan arsitektur Chatterbot.. Sementara bagian
AIML menguraikan tentang konsep, objek AIML dan unit-unit pembentuk AIML.
Sedangkan pada sub bab Program O dijelaskan tentang kelebihan, kekurangan
dan tag kustom Pandorabots.
2.2.1 Natural Language Processing
Bahasa sebagai bagian yang penting dari kehidupan manusia, dalam
bentuk tulis meruakan catatan dari pengetahuan yang didapat dari kehidupan
manusia dari satu generasi ke generasi berikutnya, sedangkan dalam bentuk
lisan merupakan sarana komunikasi antar individu dalam suatu masyarakat.
Tujuan dalam bidang Natural Language ini adalah melakukan proses pembuatan
model komputasi dari bahasa, sehingga dapat terjadi suatu interaksi antara
manusia dengan computer dengan perantaraan natural language. Model
komputasi ini dapat berguna untuk keperluan ilmiah misalnya meneliti sifat-sifat
9
dari bentuk bahasa alami mapun untuk keperluan sehari-hari dalam hal ini
memudahkan komunikasi antara manusia dengan computer.
Sebuah Natural Language System harus memperhatikan pengetahuan
terhadap bahasa itu sendiri, baik dari kata yang digunakan, bagaimana kata-kata
tersebut digabung untuk menghasilkan suatu kalimat, apa arti sebuah kata, apa
fungsi sebuah kata dalam sebuah kalimat dan sebagainya. Akan tetapi kita juga
harus mempertimbangkan ada satu hal lagi yang sangat berperan dalam bahasa,
yaitu kemampuan manusia untuk mengerti dan kemampuan untuk itu didapat
dari pengetahuan yang didapat secara terus menerus sewaktu hidup. Sebagai
contoh dalam suatu percakapan, seseorang mungkin dapat menjawab suatu
pertanyaan atau ikut dalam suatu percakapan dengan tidak hanya berdasar pada
kemampuan berbahasa tetapi juga harus tahu misalnya kata atau istilah yang
umum digunakan dalam kelompok percakapan itu atau bahkan harus tahu
konteks dari percakapan itu sendiri.
2.2.1.4 Bidang Pengetahuan dalam Natural Language
Di bawah ini dijelaskan bidang-bidang pengetahuan yang berhubungan
dengan Natural Language Processing :
1. Fonetik dan fonologi.
Berhubungan dengan suara yang menghasilkan kata yang dapat dikenali.
Bidang ini menjasi penting dalam proses aplikasi yang memakai metode
speech based system.
2. Morfologi
Yaitu pengetahuan tentang kata dan bentuknya dimanfaatkan untuk
membedakan satu kata dengan lainnya. Pada tingkat ini juga dapat
dipisahkan antara kata dan elemen lain seperti tanda baca. Sebagai contoh
kata going : going (word), go (root)
kata understand : under (prefix), stand (root)
10
3. Sintaksis
Yaitu pemahaman tentang urutan kata dalam pembentukan kalimat dan
hubungan antar kata tersebut dalam proses perubahan bentuk dari kalimat
menjadi bentuk yang sstematis. Meliputi proses pengaturan tata letak suatu
kata dalam kalimat akan membentuk kalimat yang dapat dikenali. Selain itu
dapat pula dikenali bagian-bagian kalimat dalam kalimat yang lebih besar.
Sebagai contoh kalimat S dibentuk dari noun phrase (NP) dan verb phrase
(VP).
S -> NP, VP dan berikutnya
NP -> DET,N
VP -> V, NP
NP -> N
4. Semantik
Yaitu pemetaan bentuk struktur sintaksis dengan memanfaatkan tiap kata ke
dalam bentuk yang lebih mendasar dan tidak tergantung struktur kalimat.
Semantik mempelajari arti suatu kata dan bagaimana dari arti kata-kata
tersebut membentuk suatu arti dari kalimat yang utuh. Dalam tingkatan ini
belum tercakup konteks dari kalimat tersebut.
5. Pragmatik
Pengetahuan pada tingkat ini berkaitan dengan masing-masing konteks
yang berbeda tergantung pada stuasi dan tujuan pembuatan sistem.
6. Discourse Knowledge
Melakukan pengenalan apakah suatu kalimat yang sudah dibaca dan
dikenali sebelumnya akan mempengaruhi arti dari kalimat yang sudah
dibaca dan dikenali sebelumnya akan mempengaruhi arti dari kalimat
selanjutnya. Informasi ini penting diketahui untuk melakukan pengeolahan
11
arti terhadapa kata ganti orang dan untuk mengartikan aspek sementara dari
informasi.
7. World Knowledge
Mencakup arti dari sebuah kata secara umum dan apakah ada arti khusus
bagi suatu kata dalam suatu percakapan dengan konteks tertentu.
Definisi ini tidaklah bersifat kaku, dan untuk setiap bentuk bahasa alami
yng ada biasanya ada pendefinisian lagi yang lebih spesifik sesuai dengan
karakter bahasa tersebut. Pada beberapa masalah mungkin hanya mengambil
beberapa dari pendekatan tersebut bahkan mungkin ada yang melakukan
tambahan proses sesuai dengan karakter dari bahasa yang digunakan dan
sistem yang dibentuk.
Selain yang sudah disebutkan di atas masih ada lagi satu masalah yang
cukup menantang dalam Natural Language yaitu ambiguitas atau makna dari
suatu kata atau kalimat. Dari satu masukan yang sama dapat menjadi beberapa
arti yang berbeda dan masing-masing dapat bernilai benar tergantung pada
keperluan pemakai. Hal ini dapat dapat terjadi pada hampir semua tingkatan
pendekatan di atas.
2.2.1.5 Aplikasi dalam Bidang Natural Language
Jenis aplikasi yang bisa dibuat pada bidang-bidang Natural Language
adalah : text based application dan dialogue based applications. Text
based application mencakup segala macam aplikasi yang melakukan proses
terhadap teks tertulis seperti misalnya buku, berita di surat kabar, e-mail dan lain
sebagainya. Contoh penggunaan dari text based application ini adalah :
a. mencari topik tertentu dari buku yang ada pada perpustakaan.
b. mencari isi dari surat atau email.
c. menerjemahkan dokumen dari satu bahasa ke bahasa yang lain.
12
Akan tetapi tidak semua sistem dapat melakukan hal-hal seperti di atas
menggunakan pendekatan Natural Language, karena seperti misalnya contoh
pencarian topic dari suatu buku di perpustakaan dapat didekati dengan sistem
database yang cukup lengkap. Tetapi kalau dihadapkan pada pertanyaan yang
cukup kompleks dengan bahasa alami yang ada maka akan dirasakan bahwa
pendekatan dengan Natural Language lebih efisien. Salah satu bentuk yang
cukup menarik adalah apabila sistem diminta untuk mencari isi dari suatu berita
atau artikel, untuk hal ini pendekatan yang dilakukan hampir serupa dengan
pendekatan yang dilakukan manusia apabila menghadapi suatu tes reading and
comprehension.
Bentuk berikutnya adalah bentuk dialogue based application. Idealnya
pendekatan ini melibatkan bahasa lisan atau pengenalan suara, akan tetapi
bidang ini juga memasukkan interaksi dengan cara memasukkan teks
pertanyaan melalui keyboard. Aplikasi yang sering ditemui untuk bidang ini
adalah :
a. sistem tanya jawab, dimana natural language digunakan dalam
mendapatkan informasi dari suatu database.
b. sistem otomatis pelayanan melalui telepon.
c. kontrol suara pada peralatan elektronik.
d. sistem problem solving yang membantu untuk melakukan penyelesaian
masalah yang umum dihadapai dalam suatu pekerjaan.
Sebelumnya perlu diberikan batasan bahwa untuk sistem yang dapat
melakukan interaksi melalui bahasa lisan ada bagian speech recognition yang
merupakan bagian terpisah dari Natural Language.
13
2.2.1.6 Gramatika
Grammar suatu bahasa dapat dilihat sebagai suatu aturan yang
menentukan apakah suatu kumpulan kata dapat diterima sebagai kalimat oleh
bahasa tersebut. Grammar dari Chomsky Hierarchy yaitu Context Free Grammar
memiliki sifat lebih mudah dipahami perilaku dan pengolahannya serta masih
dapat diolah dapat diolah dalam bentuk program yang terstruktur.
Sebuah bahasa L dapat dijelaskan sebagai set dari string, dimana string
dibentuk dari bagian terkecil yang disebut dengan symbol. Kelompok tertentu v
dari symbol biasa dikenal sebagai alphabet atau perbendaharaan kata. Sebuah
kalimat yang dapat dikenali dibentuk dengan berdasarkan aturan-aturan yang
ada yang biasa disebut dengan grammar.
Sebuah grammar G dapat dibentuk dari 4 tuple yaitu : simbol non
terminal, simbol terminal, simbol awal dan penulisan atau rules. Definisinya
adalah :
G = (vn, vt, s, p)
Sebagai contoh dapat kita lihat dari grammar G sederhana berikut ini :
DictJenis = {Kata_Benda, Kata_Kerja, Frasa_Benda, Frasa_Kerja,
Keterangan}
DictKata = {Orang, Makan, Telur, Ayam, Terbang, Tinggi}
dengan aturan :
s -> Frasa_Benda Frasa_Kerja
Frasa_Benda -> Kata_Benda Kata_Benda
Frasa_Kerja -> Kata_Kerja Keterangan
Kata_Benda -> {Orang, Telur, Ayam}
Kata_Kerja -> {Makan, Terbang}
Keterangan -> {Tinggi}
Dari Grammar G dapat dibentuk kalimat :
14
Orang Makan Ayam
Ayam Terbang Tinggi
Orang Terbang Tinggi
Ayam Makan Orang
semua kalimat tersebut apabila dicari pembentukannya melalui grammar G dapat
dikatakan benar akan tetapi harus diingat bahwa kalimat dengan grammar yang
benar hanya berarti benar secara structural bukan berarti selalu benar dalam
makna. Seperti kalimat ketiga yang hanya benar apabila berasa dalam konteks
orang memakai alat misalnya pesawat terbang. Sedangkan kalimat keempat
malah sama sekali tidak mungkin dapat dimengerti maknanya, selain hanya akan
menimbulkan tanda Tanya bagi orang yang membaca. Dari grammar kita dapat
mempelajari bahasa dari segi struktur dan bukan dari segi makna bahasa itu
sendiri.
2.2.1.6 Chomsky Hierarchy of Generative Grammar
Noam Chomsky menyusun grammar dalam urutan yang dia sebut tipe 0,
1, 2 dan 3. Tipe 0 adalah bentuk yang paling bebas dan paling sulit dikenali,
biasa disebut dengan recursively enumerable set, untuk mengenali bentuk ini
biasa dipakai Turing Machine. Berikutnya adalah tipe 1 yang disebut dengan
context free grammar dinyatakan dengan aturan umum yaitu : <symbol> ->
<symbol1 <symbolk> dengan k >= 1 dan bagian kiri dari rule adalah single
non terminal symbol. Grammar tipe 3 bernama finite state atau regular grammar,
tipe ini paling sederhana dan mudah dipahami sifatnya.
Secara umum dikatakan bahwa pemakaian context free grammar secara
murni (tanpa tambahan metode tertentu) adalah tidak cukup untuk pengolahan
bahasa alami. Akan tetapi karena bentuk context free dan regular grammar
tersebut yang paling bisa dipahami perilaku dan pengolahannya, maka beberapa
15
cara telah dikembangkan untuk dapat melakukan pengolahan bahasa alami
dengan bentuk grammar tersebut.
2.2.1.7 Parsing
Parsing adalah suatu proses menganalisa suatu kumpulan kata dengan
memisahkan kata tersebut dan menetukan struktur sintaksis dari tiap kata
tersebut. Gramatika yang dipakai juga sangat berkaitan dengan proses parsing
apa yang digunakan. Pada Bottom-Up Parsing gramatika yang dipakai akan lebih
banyak bercabang kea rah simbol non-terminal. Hal lain yang juga berkaitan
dengan erat dengan proses parsing adalah kamus atau leksikon yang digunakan.
Dalam leksikon disimpan daftar kata yang dapat dikenali sebagai simbol terminal
dalam grammar dan informasi yang diperlukan untuk tiap kata tersebut untuk
proses parsing yang bersangkutan.
Dari pendekatan dalam mengenali struktur suatu kalimat, proses parsing
dapat dibagi menjadi dua bagian besar yaitu Top Down Parsing dan Bottom Up
Parsing. Top Down Parser memulai pemeriksaan dari simbol awal s dan
mencoba untuk mencari bentuk symbol terminal berikutnya yang sesuai dengan
jenis kata dari kalimat masukan. Cara sebaliknya diterapkan untuk Bottom Up
Parser yaitu mencari dari symbol-simbol terminal menuju ke arah pembentukan
simbol awal s.
2.2.1.8 Semantik
Semantik Analyzer mempunyai himpunan rule dalam basis pengetahuan
untuk menginterpretasikan sebuah kalimat.
Rule 1 :
IF determiner adalah bagian pertama dalam kalimat dan diikuti oleh noun THEN.
Noun tersebut dianggap sebagai subyek.
Rule 2 :
16
IF verb diikuti subyek THEN. Verb menjelaskan tentang apa yang dikerjakan oleh
subyek.
Rule 3 :
IF noun diikuti subyek dan verb THEN. Noun tersebut dianggap sebagai obyek.
Rule 4 :
IF kalimat mempunyai bentuk subyek, verb, obyek THEN. Subyek mengerjakan
(verb) yang ada hubungannya dengan obyek.
Kalimat A plane flew home mentrigger rule 1 yang mengidentifikasi plane
sebagai subyek, lalu rule 2 menjelaskan plan flew. Rule 3 dan 4
mengidentifikasikan home sebagai obyek. Natural language processing dapat
dipakai sebagai front (bagian depan) pada sistem kecerdasan buatan, dimana
data dilewatkan secara verbal.
Pendekatan yang dipakai adalah Semantic Grammar yang dipadukan
dengan dictionary tambahan dan Template Grammar. Semantic Grammar
sebagai grammar utama dipilih dengan alasan dalam grammar ini sudah
terkandung unsure semantic yang dapat membantu pembentukan semantic dari
kalimat. Selain itu Karen format dari kalimat sudah dibatasi pada bentuk tertentu
(representasi dari tabel) maka grmmar ini dapat diandalkan terutama untuk
bentuk-bentuk tanya dan perintah.
Mndefinisikan semantic dan arti sebenarnya adalah proses yang sulit
karena hal ini tergantung pada maksus dalam kalimat dan juga adanya
kemungkinan arti lain dalam kalimat. Seperti misalnya makan hati dapat
diartikan makan dengan lauk hati aau perasaan sedih yang ada pada hati
seseorang, tergantung pada letaknya dalam kalimat. Apabila terdapat pada
kalimat; karena baru mendapat rejeki anak itu makan hati di restoran; maka
artinya adalah yang pertama tetapi jika pada kalimat; dia makan hati karena
ditinggal pacarnya; berarti yang kedua. Pada bagian ini akan diteragkan
17
beberapa pendekatan semantic yang biasa dilakukan pada suatu Natural
Language Processing.
2.2.1.9 Semantic Grammar
Pada Semantic Grammar, dipakai sekumpulan rule yang bukan hanya
bersifat sintaksis tapi juga bersifat semantic dan pragmatis. Hasil dari proses
parsing dengan menggunakan grammar tersebut adalah langsung berupa
representasi semantis dari kalimat yang diolah.
2.2.2 Chatterbot
Chatterbot (atau chatbot, atau bots ) adalah sebuah program komputer
yang dirancang untuk menstimulasikan percakapan intelektual dengan satu atau
lebih manusia baik secara audio maupun teks. Pada mulanya, program komputer
(bots) ini diuji melalui Turing Test, yaitu dengan merahasiakan identitasnya
sebagai mesin sehingga dapat mengelabui orang yang bercakap-cakap
dengannya. Jika pengguna tidak dapat mengidentifikasi bots sebagai suatu
program komputer, maka chatterbot tersebut dikategorikan sebagai kecerdasan
buatan (atau artificial intelligence).
Pada tahun 1950, Alan Turing mempublikasikan artikel terkenalnya
Computing Machinery and Intelligence, yang mengemukakan Turing Test
sebagai suatu kriteria kecerdasan. Kriteria ini bergantung pada kemampuan
program komputer untuk meniru manusia dalam suatu percakapan tertulis real-
time dengan manusia sebagai penilai; apakah program komputer tersebut cukup
baik sehingga manusia tidak dapat membedakan berdasarkan isi
percakapannya saja- sedang berhadapan dengan program komputer atau
manusia nyata. Pengujian ini terkait dengan minat Turing terhadap ELIZA,
program yang dipublikasikan oleh Joseph Weizenbaum pada tahun 1966, yang
dapat mengelabui pengguna hingga mempercayai bahwa mereka sedang
bercakap-cakap dengan manusia.
18
Kunci metode operasional ELIZA (dicontoh oleh perancang chatterbot
hingga kini) melibatkan rekognisi dari isyarat kata-kata atau kalimat pada input,
dan output berupa tanggapan yang telah dipersiapkan atau diprogram, yang
dapat meneruskan percakapan dengan suatu cara sehingga tampak bermakna.
Gambar 2.1 Arsitektur Chatterbot
Gambar 2.1 di atas menunjukkan arsitektur dasar dari sistem Chatterbot
yang terdiri dari :
1. Modul Pattern percakapan
Modul percakapan diimplementasikan sebagai layer yang diprioritaskan
terdiri dari kumpulan input pattern yang berpasangan dengan beberapa
kemungkinan respon. Contohnya :
- Pattern yang mengandung kata atau kalimat perintah memiliki prioritas
paling tinggi.
- Respon dari pattern yang memiliki prioritas tinggi mengandung query
umum yang dikendalikan oleh kata kunci.
- Pengaktifan jaringan termasuk sejumlah besar respon yang berorientasi
pada topik (topic-oriented respon).
- Respon dari pattern yang memiliki prioritas rendah mengandung query
umum atau informasi tentang chatterbot itu sendiri.
19
- Respon permintaan maaf adalah respon terakhir yang digunakan jika
tidak ada kecocokan antara pattern input dan respon output.
2. Modul Log percakapan.
Modul Log percakapan digunakan untuk menyimpan percakapan antara
pengguna dan chatterbot.
Sejumlah besar respon yang berorientasi pada topik (topic-oriented
respon) dikodekan di dalam sebuah pengaktifan jaringan. Contoh simpul awal
dan sub simpul dari percakapan bisa dilihat di bawah ini :
<havepet>
a:1.0
p:1 *
r:Do you have any pets?
+:<havepet-1><havepet-2><havepet-3><havepet-4><havepet-5>
<havepet-6><havepet-7><havepet-8><havepet-9>
<havepet-1>
a:0.1
p:1 NEG
r:Why not?
+:<havepet-1-1> <havepet-1-2>
-:<havepet-9> <id-46>
<havepet-1-1>
a:0.02
p:2 *apartment*
p:3 *allerg*
r:You could still have a fish tank, or maybe a terrarium
with a turtle or two.
-:<havepet-9>
20
Setiap simpul mempunyai 5 atribut yaitu :
1. ACTIVATION (a)
Setiap simpul diawali dengan level aktivasi awal yang mempunyai nilai di
antara 0,0 sampai 1,0.
2. PATTERN (p)
Satu atau lebih pattern (dengan bobot) dicocokkan dengan input dari
pengguna. Jika pattern cocok, maka aktivasi dari simpul tersebut
dibangkitkan oleh nilai tersebut.
3. RESPONSE (r)
String teks tunggal digunakan sebagai respon jika simpul mempunyai level
aktivasi tertinggi.
4. ENHANCEMENT (+)
Jika simpul ini digunakan sebagai respon, maka simpul yang mempunyai
nama aktivasinya akan naik.
5. INHIBITION (-)
Jika simpul ini digunakan sebagai respon, maka simpul yang mempunyai
nama aktivasinya akan turun
Gambar 3.2 di bawah ini menunjukkan sebagian kecil dari jaringan
domain hewan peliharaan. Pengetahuan tambahan dikodekan di dalam ontology
yang akan digunakan pada proses pattern matching. Program mempunyai tipe
hirarki khusus yang mengijinkan sebuah pattern untuk dicocokkan dengan DOG,
BIRD, PET, WILD, atau ANIMAL.
21
Gambar 2.2 Jaringan Simpul Percakapan
2.2.2 AIML (Artificial Intelligence Markup Language)
Bahasa AIML (Wallace, 2004) memungkinkan manusia untuk
memasukkan pengetahuan ke dalam chatterbot yang berbasis teknologi
perangkat lunak ALICE yang disebarkan secara bebas. AIML dibuat oleh
komunitas perangkat lunak bebas yang bernama Alicebot pada tahun 1995
2000 yang merupakan adopsi dari bahasa XML. Bahasa ini digunakan oleh
Alicebot pertama (ALICE) sebagai dasar implementasi sistem.
Artificial Intelligence Markup Language mendeskripsikan kelas dari objek
data yang disebut sebagai objek AIML dan secara terpisah mendeskripsikan
lingkungan dari program komputer yang memproses AIML tersebut. Objek AIML
terdiri dari unit-unit yang disebut dengan topik dan kategori yang berisi parsed
(data kalimat terjemahan) dan unparsed data (kalimat belum diterjemahkan).
Parsed data terdiri dari karakter, data karakter, dan elemen AIML. Elemen AIML
membungkus stimulus-response knowledge (pengetahuan tentang respon dan
rangsangan) yang ada di dalam dokumen. Data karakter diantara elemen-elemen
22
ini kadang kala diterjemahkan oleh interpreter (penerjemah) AIML dan kadang
kala dibiarkan tidak diterjemahkan untuk pemrosesan lebih lanjut oleh perespon
dalam hal ini server chatterbot.
Unit-unit pembentuk AIML adalah :
- Categories (unit dasar pengetahuan dalam AIML)
Category merupakan unit dasar pengetahuan pada AIML. Category minimal
terdiri dari dua element AIML yaitu pattern (merupakan pertanyaan atau
stimulus) dan template (merupakan respon). Berikut ini adalah contoh
category :
<category>
<pattern>WHAT IS YOUR NAME</pattern>
<template>MY NAME IS MARTIN</template>
</category>
Sebuah pattern adalah sebuah rangkaian huruf yang diharapkan
sesuai/cocok dengan satu atau bahkan lebih dengan masukan (input)
pengguna. Sebuah pattern dapat menggunakan wildcard yang akan cocok
dengan satu atau lebih masukan pengguna. Suatu pattern dapat dituliskan
seperti berikut :
WHAT IS * NAME
Cocok dengan masukan what is your name, what is your fathers name,
dan sebagainya.
Sebuah template menentukan respon dari pattern yang sesuai. Sebuah
template dapat berupa teks harfiah yang sederhana seperti berikut :
MY NAME IS MARTIN.
Sebuah template juga dapat menggunakan variabel seperti :
MY NAME IS <bot name=name/>.
Variabel bernilai sama dengan nama bot dan disisipkan ke dalam kalimat.
23
- Recursion (rekursi)
AIML mengimplementasikan rekursi dengan menggunakan elemen srai.
Penggunaan srai memungkinkan botmaster untuk menghasilkan perulangan
yang tidak terbatas. Contoh dari penggunaan srai adalah seperti berikut ini :
<category>
<pattern>WHAT IS YOUR NAME</pattern>
<template>MY NAME IS MARTIN</template>
</category>
<category>
<pattern>HOW I MUST CALL YOU</pattern>
<template>
<srai>WHAT IS YOUR NAME</srai>
</template>
</pattern>
</category>
Category yang pertama akan menjawab masukan what is your name
dengan sebuah pernyataan mengenai nama bot. Category yang kedua akan
menjawab masukan how I must call you dengan meneruskan pertanyaan
tersebut ke category pertama yang cocok dengan masukan what is your
name.
- Symbolic Reductions
Merupakan proses penyederhanaan bentuk gramatikal komplek ke dalam
bentuk yang lebih sederhana. Biasanya, pattern tunggal pada category
menyimpan pengetahuan robot yang dinyatakan dengan kemungkinan
bentuk teks yang paling sederhana. Sebagai contoh kita lebih memilih
bentuk WHO IS JAMES WATT daripada DO YOU KNOW WHO JAMES
WATT IS ketika menyimpan informasi biografi tentang James Watt. Ada
24
banyak bentuk yang disederhanakan menjadi lebih sederhana
menggunakan category AIML yang dirancang untuk penyederhanaan
simbol. Contoh dari penyederhanaan tersebut bisa dilihat di bawah ini :
<category>
<pattern>DO YOU KNOW WHO * IS</pattern>
<template><srai>WHO IS<star/></srai></template>
</category>
Input apaun yang cocok dengan pattern ini, bagian wildcard (*)
memungkinkan untuk diisi dengan jawaban yang sama dengan template
yang diberi markup <star/>.
- Divide and Conquer
Merupakan pembagian kalimat menjadi sub kalimat. Beberapa kalimat
tunggal bisa disederhanakan menjadi dua atau lebih sub kalimat, dan respon
dibentuk dengan mengkombinasikan antara satu respon dengan respon
yang lain. Sebagai contoh kalimat yang diawali dengan kata YES, jika
kalimat ini memiliki lebih dari satu kata, maka diperlakukan seperti sub
kalimat YES.
<category>
<pattern>YES *</pattern>
<template><srai>YES</srai><sr/></template>
</category>
Markup <sr/> merupakan singkatan dari <srai><star/></srai>.
- Synonims (persamaan kata)
AIML versi 1.01 tidak mengijinkan penggunaan lebih dari satu pattern untuk
satu category. Synonim merupakan aplikasi yang paling umum dari <srai>.
Banyak cara yang dilakukan untuk menyatakan sesuatu yang
disederhanakan ke dalam satu category, yang berisi :
25
<category>
<pattern>HELLO</pattern>
<template>Hi There!</template>
</category>
<category>
<pattern>HI</pattern>
<template><srai>HELLO</srai></template>
</category>
<category>
<pattern>HOW DO YOU DO</pattern>
<template><srai>HELLO</srai></template>
</category>
- Spelling and Grammar Correction
Merupakan perbaikan ejaan dan tata bahasa yang dilakukan oleh pengguna.
Misalnya, pengguna seringkali menggunakan ejaan yang salah seperti your
untuk menyatakan youre atau you are. Tidak semua ejaan yang
menggunakan your digantikan oleh youre atau you are, tapi beberapa
kesalahan konteks gramatikal perlu diperbaiki seperti contoh di bawah ini :
<category>
<pattern>YOUR A *</pattern>
<template>I think you mean youre or you are not
your.
<srai>YOU ARE A<star/></srai>
</template>
</category>
Disini bot berperan untuk memperbaiki input dari pengguna dan sebagai
tutor bahasa.
26
- Keywords (kata kunci)
Seringkali kita ingin untuk menulis sebuah template AIML yang akan
diaktifkan oleh kata kunci yang berada pada sebuah kallimat. Contoh :
<category>
<pattern>MOTHER</pattern>
<template> Tell me more about your family. </template>
</category>
<category>
<pattern>_ MOTHER</pattern>
<template><srai>MOTHER</srai></template>
</category>
<category>
<pattern>MOTHER _</pattern>
<template><srai>MOTHER</srai></template>
</category>
<category>
<pattern>_ MOTHER *</pattern>
<template><srai>MOTHER</srai></template>
</category>
- Conditionals (bersyarat)
Dimungkinkan untuk menuliskan kondisi percabangan dalam AIML, yang
hanya menggunakan tag <srai>. Contoh :
<category>
<pattern>WHO IS HE</pattern>
<template><srai>WHOISHE <get name="he"/><
</category>
<category>
27
<pattern>WHOISHE *</pattern>
<template>He is <get name="he"/>.</template>
</category>
<category>
<pattern>WHOISHE UNKNOWN</pattern>
<template>I dont know who he is.</template>
</category>
Predikat he diinisialisasi dengan Unknown, category dijalankan sebagai
kondisi percabangan yang tergantung kepada he yang sudah diset terlebih
dahulu.
- Targeting
Merupakan kepribadian chatterbot yang diciptakan dan dibentuk melalui
putaran proses dari supervised learning.
- Context
Kata kunci that diarahkan kepada ucapan chatterbot sebelumnya. Jika
respon dari chatterbot tediri dari beberapa kalimat, maka nilai dari that akan
diset pada kalimat terakhir.
2.2.3 Program O
Elizabeth Perreau pembuat Shakespearebot, telah menuliskan interpreter
baru untuk AIML. Untuk menjaga tradisi penamaan interpreter AIML dengan
nama alfabet (Program B, Program C, Program D dan lain-lain), Elizabeth
menamai nama programnya dengan Program O (huruf O dibaca "Oh"). Seperti
halnya Program E yang sudah tidak dipakai lagi, Program O berbasis PHP dan
MySQL. Program O bisa dilihat di alamat website http://www.program-o.com.
Program E mempunyai beberapa eror, dan tanpa dukungan aktif dari
pengembang hal ini akan menjadi masalah pada saat modifikasi kode sumber
(source code). Elizabeth menyatakan bahwa dia baru mencapai kondisi dimana
28
jika dia menginginkan fitur AIML yang lebih, dia harus menulis ulang semuanya
untuk kebutuhannya. Program O ditulis untuk mempermudah penambahan tag-
tag dan ekstensi AIML baru. Elizabeth telah mengimplementasikan tag kustom
Pandorabots yaitu <eval> dan <learn> untuk pelatihan pada sisi pengguna.
Program O diperkenalkan pada tanggal 1 Maret 2009. Pengembang lain
diperkenankan untuk membantu Elizabeth mencoba program untuk mencari eror
dan bercakap-cakap dengan bot pada websitenya.
29
BAB III
ANALISA DAN PEMECAHAN MASALAH
3.1 Konsep Solusi Permasalahan
3.1.1 ALICE (Artificial Intelligence Internet Computer Entity)
Sistem I-BOT yang digunakan untuk mengakses informasi pada PMDFT
UB dibangun dari mesin ALICE. Mesin ini dibangun dengan bahasa AIML yang
mengimplementasikan proses supervised learning sebagai metode pelatihan
untuk chatterbot. Diperlukan survey data untuk menentukan pasangan input dan
output yang akan digunakan sebagai dasar pembangunan kemampuan bahasa.
Pasangan input dan output akan dilatih melalui beberapa pengujian, sehingga
chatterbot bisa melakukan proses pembelajaran dan penambahan pengetahuan.
Penelitian ini menggunakan interpreter Program O yang terdiri dari 2
bagian utama yaitu :
1. PHP
Untuk integrasi database mesin ALICE dengan konten web sistem informasi
PMDFT UB digunakan sistem web crawler (mendapatkan indeks atau link
pada sebuah halaman web) dan data web grabber (mendapatkan data atau
informasi pada sebuah indeks atau link) , sedangkan untuk integrasi
database mesin ALICE dengan database sistem informasi PMDFT UB dan
Wikipedia API digunakan web service. Web crawler, data web grabber dan
web service dibuat dengan menggunakan kode PHP yang berisi fungsi-
fungsi yang berguna untuk mengambil data-data yang diperlukan. Modul
PHP ini digunakan sebagai fungsi yang akan mengambil informasi yang
diperlukan baik dari database sistem informasi maupuan dari sumber
Wikipedia API. Web service akan digunakan jika parameter input dan output
30
tidak ditemukan di dalam database mesin ALICE. Web service ini terdiri dari
fungsi-fungsi yang sudah didefinisikan dalam kode PHP.
2. Database MySQL
Ada dua bagian database yang digunakan yaitu :
a. Database sistem ALICE
b. Database sistem informasi
Selain memiliki kemampuan dasar, I-BOT dalam Penelitian ini juga
dirancang agar bisa menangani tugas seorang Customer Service pada website
PMDFT UB. Untuk itu dibutuhkan integrasi dengan database yang sudah eksis
pada sistem informasi PMDFT UB. Gambar 3.1 di bawah ini menggambarkan
integrasi sistem ALICE, konten web sistem informasi, database sistem informasi,
dan Wikipedia API.
Gambar 3.2 Integrasi sistem ALICE, konten web sistem informasi, database
sistem informasi, dan Wikipedia API
31
Pengguna yang belum mendaftar atau belum login sebagai user akan
diberi hak akses untuk mendapatkan informasi dari I-BOT berupa informasi
umum tentang Virtual Customer Service yang bersumber dari database ALICE,
konten web PMDFT UB dan Wikipedia API. Informasi umum tentang Virtual
Customer Service diperoleh dengan melakukan query langsung terhadap
database ALICE. Sedangkan untuk informasi umum yang ada pada konten web
sistem informasi PMDFT UB (home, visi misi, pendaftaran, beasiswa, about us,
dll) diperoleh melalui modul PHP web crawler dan data web grabber. Web
Service digunakan untuk mengakses konten dari Wikipedia melalui Wikipedia
API.
Khusus untuk user yang sudah mendaftar atau sudah login, maka diberikan
hak akses untuk melakukan akses terhadap konten database sistem informasi
yang ada pada PMDFT UB berupa informasi akademik mahasiswa. Sedangkan
untuk admin, mempunyai hak akses untuk mengelola database ALICE, akses
terhadap konten database informasi PMDFT UB dan informasi akademik
mahasiswa.
Integrasi beberapa metode dan sistem di atas akan memberikan kelebihan
dalam hal memenuhi tingkap kepuasan pelanggan dan calon pelanggan. Karena
jika informasi yang diinginkan tidak disediakan pada database ALICE atau
konten web informasi, maka respon atas pertanyaan pengguna akan di arahkan
ke Wikipedia. Akses terhadap database sistem informasi akademik juga akan
lebih menghemat waktu karena informasi yang ditampilkan tidak melalui navigasi
manual tapi cukup dengan mengetikkan kata kunci tertentu.
32
3.2 Perencanaan Sistem (Planning)
Pada tahap ini ditetapkan spesifikasi Information System ChatterBot(I-BOT)
yang akan dibangun berdasarkan kebutuhan pengguna.
A. Sub sistem data base
Sub sistem database dalam Information System ChatterBot (I-BOT)
berfungsi sebagai sumber data informasi yang menangani input dari
pengguna dan output atau respon untuk pengguna. Spesifikasi sub sistem
database pada Penelitian ini terdiri dari dua bagian yaitu :
1. Database sistem ALICE
Karena mesin ALICE yang digunakan pada Penelitian ini menggunakan
interpreter Program O, maka database MySQL dibutuhkan untuk
menyimpan parameter input dan output, karakteristik dari chatterbot,
perbaikan ejaan, pengguna, data botmaster, dan log percakapan. Tabel
yang digunakan pada database ini adalah :
a. AIML
b. AIML user_defined
c. Bot personality
d. Myprogramo
e. Spellcheck
f. Undefined defaults
g. Users
h. Log Percakapan
2. Database sistem informasi
Information System Chatterbot (I-BOT) dibangun untuk memenuhi
kebutuhan pengguna terhadap akses informasi PMDFT UB. Untuk data
yang bersifat khusus, database informasi digunakan sebagai sumber
33
output atau respon dari input yang diberikan oleh pengguna. Database ini
digunakan untuk menyimpan informasi akademik yang meliputi data
mahasiswa, dosen, mata kuliah, jadwal kuliah, KHS, dan Tesis. Tabel
yang digunakan pada database ini adalah :
a. Mahasiswa
b. Dosen
c. Mata Kuliah
d. Jadwal Kuliah
e. Kartu Hasil Studi (KHS)
f. Pengajuan Tesis
g. Monitoring Tesis
B. Sub sistem Model
Sub sistem model dalam sisem ini berfungsi untuk mengimplementasikan
sistem menggunakan metode yang sudah ada pada mesin ALICE dan
mengintegrasikannya dengan teknologi web service. Spesifikasi Sub model
pada I-BOT terdiri dari :
1. Mesin ALICE dengan kemampuan kecerdasan buatan
2. Modul web crawler, data grabber dan web service yang dibuat dengan
kode PHP.
C. Sub sistem end user interface (UI)
Sub sistem UI berfungsi untuk visualisasi dari perangkat lunak I-BOT,
sehingga pengguna bisa melakukan interaksi dengan sistem. Spesifikasi UI
berupa :
1. Tampilan antar muka untuk pengguna
2. Tampilan antar muka untuk admin berupa halaman web.
34
3.3 Analisa
3.3.1 Analisa Kebutuhan Perangkat Lunak
Untuk membangun perangkat lunak I-BOT, metode yang digunakan
adalah metode yang digunakan oleh ALICE. Hal ini dikarenakan ALICE sudah
mencakup kemampuan kecerdasan buatan yang memungkinkan sebuah
chatterbot untuk melakukan percakapan layaknya manusia. Interpreter yang
dipilih adalah Program O, dengan pertimbangan bahwa implementasi perangkat
lunak dalam bentuk web dan dukungan database akan lebih memudahkan
proses instalasi dan interaksi antara pengguna dengan sistem. Spesifikasi
kebutuhan perangkat lunak untuk sistem ini terdiri dari :
3.3.2 Analisa Spesifikasi Kebutuhan Perangkat Lunak
Spesifikasi perangkat lunak yang akan digunakan untuk membangun
sistem ini adalah :
1. Sistem Operasi : Windows 7
2. Program Aplikasi : PHP, MySQL Server, dan
Macromedia Dreamwaver
3.3.4 Analisis pemodelan perangkat lunak .
A. Sub sistem data base
Database yang digunakan pada I-BOT di ambil dari database yang dimiliki
oleh mesin ALICE dan PMDFT UB. Ouput atau respon yang dihasilkan oleh
I-BOT merupakan integrasi dari koneksi database pada mesin ALICE dan
sistem informasi PMDFT UB.
B. Sub sistem model base
Data yang diambil dari database mesin ALICE berupa pattern dan template
yang sudah didefinisikan sebelumnya. Data-data tersebut kemudian akan
diolah dengan kode PHP sehingga bisa ditampilkan kepada pengguna. Web
service akan menangani proses pengambilan data dari database sistem
35
informasi dan Wikipedia API, kemudian dimasukkan sebagai pattern dan
template baru ke dalam database mesin ALICE untuk selanjutnya dilakukan
pelatihan menggunakan proses supervised learning.
C. Sub sistem user interface
Pengguna pada sistem ini terdiri dari :
1. Guest, merupakan pengguna yang belum terdaftar. Pengguna kategori ini
bisa melakukan akses terhadap chatterbot dan informasi umum yang
tersedia di web PMDFT UB.
2. Admin, merupakan botmaster atau orang yang bertanggung jawab untuk
melakukan pemeliharaan terhadap mesin ALICE. Admin memasukkan
data awal parameter input dan output, pemeliharaan terhadap pengguna
terdaftar, dan pemeliharaan terhadap log percakapan.
3. Pengguna, merupakan pengguna yang sudah terdaftar. Pengguna
kategori ini bisa melakukan akses terhadap chatterbot, informasi umum
dan informasi akademik yang tersedia di web PMDFT UB.
36
D. Konsep Algoritma Sistem I-BOT
Konsep algoritma dari sistem ini bisa dilihat pada flowchart Gambar 3.2
sebagai berikut.
Gambar 3.3 Flowchart Konsep Algoritma Sistem I-BOT
Dari flowchart di atas, maka dapat dibuat algoritma sebagai berikut :
1. Pengumpulan dan pengolahan data
a. Data untuk chatterbot
Data input yang diperlukan terdiri dari unit dasar pengetahuan dalam
AIML, rekursi, proses penyederhanaan bentuk gramatikal komplek ke
dalam bentuk yang lebih sederhana, pembagian kalimat menjadi sub
kalimat, persamaan kata, perbaikan ejaan dan tata bahasa , kata kunci,
bersyarat, kepribadian chatterbot yang diciptakan dan dibentuk melalui
putaran proses dari supervised learning, dan ucapan chatterbot
sebelumnya. Kalimat-kalimat input ini sudah disediakan oleh mesin
ALICE, sedangkan untuk kalimat input yang berhubungan dengan
37
Customer Service didapatkan melalui studi literatur dan wawancara
dengan bagian informasi PMDFT Universitas Brawijaya.
b. Data sistem informasi
Diambil dari database sistem informasi yang ada pada website PMDFT
UB. Pengambilan data ini sebagai bagian untuk menciptakan dan
membentuk kepribadian chatterbot sehingga chatterbot memiliki
pengetahuan tentang sistem informasi PPSFT UB.
2. Memasukkan data ke dalam database ALICE
Data berupa kalimat input dan pasangan output dimasukkan ke dalam
database ALICE.
3. Proses supervised learning
Pembelajaran dilakukan oleh chatterbot untuk melakukan update
pengetahuan, bobot dan bias. Iterasi pembelajaran sejumlah tertentu akan
membuat chatterbot melakukan update sejumlah tertentu pula, dengan
demikian diperlukan sejumlah iterasi pembelajaran yang optimal sehingga
tidak terjadi overfitting dan mencapai hasil yang konvergen.
4. Input dari pengguna
Pada bagian ini chatterbot diuji dengan sejumlah kalimat input yang sudah
didefinisikan pada variabel Penelitian.
5. Hasil output/respon dari chatterbot
Kalimat input dari pengguna digunakan untuk mendapatkan respon tentang
kepribadian dan pengetahuan yang didapatkan dari putaran proses
supervised learning dan ucapan chatterbot/kalimat input pengguna
sebelumnya.
6. Pencarian data di Wikipedia
38
Pencarian data di Wikipedia dilakukan jika output/respon dari chatterbot tidak
terdapat di dalam database ALICE. Proses pencarian dilakukan dengan
menggunakan web service dengan bantuan Wikipedia API.
7. Selesai.
3.4 Desain
A. Sub sistem data base
- Desain data base
Desain sub sistem ini memanfaatkan database yang sudah ada pada
mesin ALICE dan sistem informasi PMDFT UB.
B. Sub sistem model base
- Mesin ALICE dengan kecerdasan buatan
Perancangan pada database mesin ALICE dikhusukan untuk membentuk
karakteristik chatterbot sebagai seorang Customer Service dengan
memberikan parameter input dan output pada tabel bot personality.
- Modulweb crawler, data grabber, dan web service yang dibuat dengan
kode PHP
Modul terdiri dari fungsi fungsi untuk mengambil data dari web,
database sistem informasi dan Wikipedia API
C. Sub sistem user interface
1. Tampilan antar muka untuk pengguna berupa jendela chat yang dibuat
dengan menggunakan AJAX dan jQuery.
2. Tampilan antar muka untuk admin berupa halaman web.
39
4.4 Implementasi
Pada tahap ini akan membawa desain menuju coding, dengan
menggunakan integrasi software XAMPP dengan server Apache, database
My SQL, bahasa pemrograman PHP, dan AIML.
4.5 Testing / Pengujian
Beberapa tahapan pada pengujian adalah :
- Verifikasi
Digunakan untuk melihat kesesuaian antara desain dengan hasil.
- Validasi
Digunakan untuk menguji kesesuaian fungsi, apakah fungsi I-BOT dalam
sistem ini bisa dipenuhi, dengan memberikan input dan menganalisa hasil
output atau respon yang diberikan sudah sesuai dengan yang diinginkan
atau tidak.
- Uji prototype
Digunakan untuk mengetahui apakah sistem yang dibuat ini merupakan
alternatif yang lebih baik dari yang ada sekarang. Pengujian ini dilakukan
dengan melibatkan responden yang melakukan percakapan dengan I-BOT
dengan tidak diberitahu sebelumnya bahwa Customer Service yang diajak
berkomunikasi adalah robot. Hasil dari kuisioner yang diisi oleh reponden
akan digunakan sebagai acuan kelayakan kinerja I-BOT. Jika lebih dari 70%
responden menyatakan tingkat kepuasan yang sama dengan pelayanan
yang dilakukan oleh Customer Service manusia, maka I-BOT bisa disebut
dengan mesin kecerdasan buatan.
40
4.6 Tempat Penelitian
Tempat yang akan diteliti untuk survey, pengambilan data dan Penelitian
dilakukan di Program Magister dan Doktor Fakultas Teknik Universitas Brawijaya
Malang.
4.7 Jadwal Penelitian
N
o
Kegiatan
Bulan
Nov Des Jan Feb Mar
1 Studi literatur tentang AIML
2 Analisis kebutuhan perangkat lunak
3 Perancangan basis data
4 Perancangan antar muka
5 Pemrograman perangkat lunak
6 Pengujian sistem
7 Implementasi sistem
8 Dokumentasi
41
DAFTAR PUSTAKA
Abu Shawar, Atwell. 2003. Using the Corpus of Spoken Afrikaans to generate an
Afrikaanschatbot. Southern African Linguistics and Applied Language
Studies 2003 21(4): 283294.
Afrikaana. 2003. Afrikaans-speaking chatbot.
Tersedia di :
http://www.pandorabots.com/pandora/talk?botid=eba8f4dc9e3406b8
ALICE. 2002 A.L.I.C.E AI Foundation.Available at: http://www.alicebot.org/ atau
http://alicebot.franz.com/
Cho, K. Alvin. 2007. Emotional and Domain Concept Enhancements to Alicebot.
The Faculty of the Department of Computer Science.
San Jos State University
Mikic, Burguillo, Rodrguez, Llamas. 2008. T-BOT and Q-BOT: A Couple of
AIML-based Bots for Tutoring Courses and Evaluating Student.
ASEE/IEEE Frontiers in Education Conference.
Wallace, Richard S. 1996. The Anatomy of A.L.I.C.E.
Artificial Intelligence Foundation, Inc.
Wallace R. 2003. The elements of AIML style.ALICE AI Foundation. Tersedia di:
http://www.alicebot.org/ atau http://alicebot.franz.com/
Yang, H., Chua, T., Wang, S., and Koh, C. 2003. Strutured Use of External
Knowledge for Event-based Open Domain Question Answering. Annual
ACM Conference on Research and Development in Information Retrieval:
Proceedings of the 26
th
annual international ACM SIGIR conference on
Research and development in informaion retrieval.

Anda mungkin juga menyukai