Penerapan metode text mining pada aplikasi chatbot
(2)
(3)
(4)
(5)
Jenis kelamin : Laki-laki
Tempat, tanggal lahir : Kediri, 19 Mei 1989
Agama : Islam
Kewarganegaraan : Indonesia
Status : Belum kawin
Anak ke : Satu dari tiga bersaudara
Alamat : Taman Candiloka Blok K3/11, Candi, Sidoarjo, Jawa Timur
Telepon : +6282131349719
Email : [email protected]
2. RIWAYAT PENDIDIKAN
NO TINGKAT NAMA PENDIDIKAN TEMPAT TAHUN LULUS
1. SD SDN. Sidoklumpuk 1 Sidoarjo 1995 - 2001 2. SLTP SLTPN 1 Candi Sidoarjo 2001 - 2004 3. SLTA SLTA 1 Porong Sidoarjo 2004 - 2007 4. S1 FTIK Unikom Bandung Bandung 2008 - 2013
Demikian riwayat hidup ini saya buat dengan sebenar-benarnya dalam keadaan sadar dan tanpa paksaan.
Bandung,
(6)
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer
VIAN ARWANDA
10108467
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2013
(7)
iii
Nya yang telah dilimpahkan kepada penulis sehingga tugas akhir berjudul Sistem pakar mendiagnosis penyakit ikan lele dan cara pembudidayaan untuk meningkatkan produktifitas ikan lele berbasis mobile dapat terselesaikan dengan baik.
Tugas akhir ini juga dapat penulis selesaikan berkat kerja sama dan dukungan dari berbagai pihak. Oleh karena itu penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar-besarnya kepada:
1. Allah SWT atas karunia-Nya sehingga penulis mampu menyelesaikan tugas akhir ini.
2. Ibu dan ayah tercinta yang senantiasa memberikan dukungan dengan berbagai cara yang bisa dilakukan untuk mendukung penulis hingga saat ini.
3. Bapak Andri Heryandi, M.T. selaku dosen pembimbing yang telah memberikan banyak sekali masukan dan pengarahan dalam penulisan tugas akhir ini.
4. Bapak Irawan Afrianto, S.T., M.T. selaku dosen reviewer yang telah memberikan banyak masukan dan tambahan yang membuat tugas akhir ini menjadi lebih baik lagi.
5. Bapak Andri Heryandi, M.T. selaku dosen wali IF-9 angkatan 2008. 6. Segenap panitia skripsi 2012.
7. Dosen-dosen teknik informatika atas bimbingan dan ilmu yang telah diberikan selama ini.
8. Teman-teman IF-9 angkatan 2008.
Akhir kata penulis berharap semoga tugas akhir ini dapat bermanfaat bagi penulis pada khususnya dan pembaca pada umumnya.
Bandung, Juli 2013 Penulis
(8)
iv DAFTAR ISI
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... iv
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... x
DAFTAR SIMBOL ... xiv
DAFTAR LAMPIRAN ... xvii
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Identifikasi Masalah ... 3
1.3 Maksud dan Tujuan ... 3
1.4 Batasan Masalah ... 3
1.5 Metodologi Penelitian ... 3
1.6 Sistematika Penulisan ... 5
BAB 2 TINJAUAN PUSTAKA ... 7
2.1 Landasan Teori ... 7
2.1.1 Sistem... 7
2.1.1.1 Konsep Dasar Sistem ... 7
2.1.1.2 Pengertian Sistem ... 7
2.1.1.3 Klasifikasi Sistem ... 8
2.1.1.4 Karakteristik Sistem ... 8
2.1.1.5 Komponen Sistem ... 9
2.1.2 Chatbot... 10
2.1.3 Internet ... 10
2.1.3.1 Sejarah Internet ... 11
2.1.3.2 Manfaat dan Kegunaan Internet ... 12
2.1.4 Flowmap ... 13
(9)
v
2.1.4.2 Aturan Membuat Flowmap ... 13
2.1.4.3 Jenis - Jenis Flowmap ... 14
2.1.4.4 Simbol Flowmap ... 14
2.1.5 ERD (Entity Relationship Diagram)... 16
2.1.5.1 Definisi ERD... 16
2.1.5.2 Komponen - Komponen ERD... 16
2.1.5.3 Kardinalitas ... 16
2.1.6 Text Mining ... 18
2.1.6.1 Teori Text Mining ... 18
2.1.7 Algoritma Nazief dan Adriani ... 21
2.1.8 Natural Language Processing (NLP) ... 27
2.1.8.1 Komponen Utama Bahasa Alami ... 28
2.1.8.2 Kategori Aplikasi Pengolahan Bahasa Alami ... 28
2.1.8.3 Dasar Teori ... 29
2.1.9 HTML ... 30
2.1.9.1 Definisi HTML ... 30
2.1.9.2 Tag - Tag Dasar HTML ... 31
2.1.10 PHP ... 31
2.1.10.1Definisi PHP ... 31
2.1.10.2Sejarah PHP ... 32
2.1.11 Javascript ... 33
2.1.11.1Definisi Javascript... 33
2.1.11.2Sejarah Javascript ... 33
2.1.12 Ajax ... 34
2.1.13 jQuery ... 35
2.1.13.1jQuery Selector ... 35
2.1.13.2jQuery Manipulation... 36
2.1.14 MySQL ... 36
2.1.15 Tools Yang Digunakan ... 37
BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 39
(10)
vi
3.1.1 Analisis Masalah ... 39
3.1.2 Analisis Kebutuhan Non Fungsional ... 39
3.1.2.1 Analisis Perangkat Keras ... 40
3.1.2.2 Analisis Perangkat Lunak ... 41
3.1.2.3 Analisis Pengguna... 41
3.1.3 Gambaran Umum Sistem ... 41
3.1.4 Analisis Metode Text Mining dalam Pencarian Similaritas Kata... 42
3.1.5 Update Data Token ... 66
3.2 Perancangan Sistem ... 67
3.2.1 Spesifikasi Kebutuhan Perangkat Lunak (SKPL) ... 67
3.2.2 Batasan Perangkat Lunak... 67
3.2.3 ERD (Entity Relational Diagram) ... 68
3.2.4 DFD (Data Flow Diagram) ... 68
3.2.4.1 Diagram Konteks ... 69
3.2.4.2 DFD Level 1 ... 70
3.2.4.3 DFD Level 2 ... 71
3.2.4.4 DFD Level 3 ... 75
3.2.5 Spesifikasi Proses ... 76
3.2.6 Kamus Data... 85
3.2.7 Perancangan Basis Data ... 93
3.2.7.1 Skema Relasi... 93
3.2.7.2 Struktur Tabel ... 94
3.2.8 Perancangan Antarmuka ... 96
3.2.8.1 Perancangan Struktur Menu Admin Chatbot... 96
3.2.8.2 Perancangan Tampilan ... 97
BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 109
4.1 Implementasi Sistem ... 109
4.1.1 Implementasi Perangkat Keras ... 109
4.1.2 Implementasi Perangkat Lunak ... 110
4.1.3 Implementasi Database ... 110
(11)
vii
4.2 Pengujian Perangkat Lunak ... 113
4.2.1 Pengujian Respon Chatbot ... 113
4.2.1.1 Skenario Pengujian Respon Chatbot ... 113
4.2.1.2 Kesimpulan Hasil Pengujian Respon Chatbot ... 120
BAB 5 KESIMPULAN DAN SARAN... 121
5.1 Kesimpulan ... 121
5.2 Saran ... 121
(12)
123
DAFTAR PUSTAKA
[1] Ardhani Reswari, "Membangun Sistem Automasi Perpustakaan Di Perpustakaan Salman ITB Bandung," Universitas Komputer Indonesia, Bandung, Skripsi 2011.
[2] Arrummaisha Adrifina, Juwita Utami Putri, I Wayan Simri W, "PEMILAHAN ARTIKEL BERITA DENGAN TEXT MINING," pp. 176-181, Agustus 2008.
[3] Hartati Deviana, "Penerapan XML Web Service Pada Sistem Distribusi Barang," Politeknik Negeri Sriwijaya, Palembang, Journal ISSN: 1907-4093, 2011.
[4] Liyantanto. (2012, April) Pencarian dengan Metode Vektor Space Model (VSM). [Online]. http://liyantanto.wordpress.com/2011/06/28/pencarian-dengan-metode-vektor-space-model-vsm/
[5] Liyantanto. (2012, April) Stemming Bahasa Indonesia dengan Algoritma Nazief dan Adriani. [Online]. http://liyantanto.wordpress.com/2011/06/28/stemming-bahasa-indonesia-dengan-algoritma-nazief-dan-andriani/
[6] Novita Vitriana, "Internet dan Perpustakaan," 2011.
[7] Yakub, Basis Data dalam Tinjauan Konseptual. Yogyakarta, Indonesia: Andi, 2011.
(13)
1
Chatbot adalah sebuah program komputer yang dirancang untuk
mensimulasikan sebuah percakapan atau komunikasi yang interaktif kepada pengguna (manusia) melalui bentuk teks, suara, dan atau visual. Percakapan yang terjadi antara komputer dengan manusia merupakan bentuk respon dari program yang telah dideklarasikan pada database program pada komputer. Kemampuan komputer dalam menyimpan banyaknya data tanpa melupakan satu pun informasi yang disimpannya digabungkan dengan kepraktisan bertanya pada sumber informasi langsung dibandingkan dengan mencari informasi sendiri serta kemampuan learning yang dimilikinya menyebabkan chatbot adalah customer
service yang handal.
Respon yang dihasilkan merupakan hasil pemindaian kata kunci pada inputan pengguna dan menghasilkan respon balasan yang dianggap paling cocok, atau pola kata-kata yang dianggap paling mendekati dan pada umumnya menggunakan pendekatan Natural Language Processing (NLP). Natural Language Processing merupakan salah satu tujuan jangka panjang dari Artficial Intelegence (kecerdasan buatan) yaitu pembuatan program yang memiliki kemampuan untuk memahami bahasa manusia. Pada prinsipnya bahasa alami adalah suatu bentuk representasi dari suatu pesan yang ingin dikomunikasikan antar manusia. Bentuk utama representasinya adalah berupa suara/ucapan,tetapi sering pula dinyatakan dalam bentuk tulisan.
Natural language processing (NLP) pada aplikasi berkaitan dengan
bagaimana komputer dapat digunakan untuk memahami dan memanipulasi teks bahasa alami (natural language) untuk mendapatkan informasi tertentu. Dengan perantaraan bahasa alami (natural language) inilah, manusia dapat berinteraksi dengan komputer. Natural language processing (NLP) digunakan dalam pemrosesan dokumen karena user menentukan relevansi dari dokumen dengan membaca dan menganalisisnya. Jika sistem dapat melakukan analisis dokumen secara otomatis, maka proses pencarian dokumen yang relevan akan lebih mudah.
(14)
Aplikasi-aplikasi chatbot saat ini mulai banyak bermunculan. Hal ini dikarenakan perkembangan dunia kecerdasan buatan yang semakin maju. Aplikasi chatbot tersebut masih mengalami kerancuan dalam melakukan proses penalaran dengan mengambil kesimpulan dari beberapa data. Sehingga seringkali mengakibatkan aplikasi-aplikasi chatbot tersebut tidak mengerti dan memahami topik yang sedang dibicarakan walaupun didalam basis pengetahuannya terdapat data-data yang mendukung.
Text Mining merupakan upaya pencarian atau penambangan data yang
berupa teks dimana sumber data biasanya diperoleh dari dokumen, dengan tujuan mencari kata-kata yang dapat mewakili isi dokumen sehingga dapat dilakukan analisis keterhubungan antar dokumen. Text mining memberikan solusi pada masalah-masalah dalam memproses, mengorganisasi, dan menganalisa unstructured text dalam jumlah besar. Metode Text Mining banyak diimplementasikan untuk menyelesaikan masalah yang membutuhkan pencarian sebuah informasi atau Information Retrieval (IR). Aplikasi chatbot juga membutuhkan sebuah information retrieval untuk menentukan sebuah informasi yang terkandung dipertanyaan pengguna Chatbot tersebut. Umumnya chatbot menggunakan metode Natural Language Processing (NLP) untuk melakukan kegiatan chatting, dan fungsi dari Text Mining sebagai information retrieval
diharapkan dapat diimplementasikan pada chatbot dalam melakukan kegiatan chatting.
Berdasarkan permasalahan diatas, diharapkan dapat diselesaikannya sebuah aplikasi chatbot yang menggunakan metode Text Mining untuk dibandingkan kecocokan apakah Information Retrieval pada Text Mining sudah cocok untuk diimplementasikan pada aplikasi chatbot, sehingga diharapkan aplikasi chatbot dengan menggunakan text mining dapat meminimalisir kerancuan dalam melakukan proses penalaran / relevansi pertanyaan dengan basis pengetahuan yang dimiliki chatbot tersebut.
Dengan didasari uraian dan latar belakang masalah diatas maka tertarik untuk membuat aplikasi yang mampu memahami suatu perintah yang dituliskan
(15)
dalam bentuk bahasa sehari-hari dengan mengangkat topik yang berjudul
“Penerapan Metode Text Mining Pada Aplikasi Chatbot”. 1.2 Identifikasi Masalah
Berdasarkan latar belakang yang telah dijelaskan, maka dapat diambil suatu rumusan masalah sebagai berikut :
1. Bagaimana mengimplementasikan metode Text Mining pada aplikasi Chatbot?
1.3 Maksud dan Tujuan
Berdasarkan permasalahan yang tertera di atas, maka maksud dari penulisan tugas akhir ini adalah bagaimana membangun aplikasi chatbot dengan pendekatan Text Mining.
Sedangkan tujuan yang diharapkan tercapai dalam penelitian ini adalah untuk :
1. Untuk menguji metode Text Mining dengan metode Natural Language
Processing (NLP)terhadap bahasa alami atau bahasa sehari-hari.
1.4 Batasan Masalah
Dalam penelitian ini, penulis membatasi masalah sebagai berikut : 1. Bahasa dasar chatbot adalah bahasa Indonesia.
2. Pengetahuan yang dimiliki chatbot sudah didefinisikan terlebih dahulu di database oleh admin.
3. Metode yang digunakan pada chatbot ini menggunakan metode Text
Mining.
1.5 Metodologi Penelitian
Metodologi yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut :
(16)
Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :
a. Studi Literatur.
Pengumpulan data dengan cara mengumpulkan literatur dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.
b. Observasi.
Teknik pengumpulan data dengan peninjauan langsung terhadap permasalahan yang diambil.
2. Tahap pembuatan perangkat lunak.
Teknik analisis data dalam pembuatan perangkat lunak menggunakan paradigma waterfall. Fase-fase dalam model waterfall menurut referensi Ian Sommerville adalah sebagai berikut :
Gambar 1.1 Metode Waterfall
Yang meliputi beberapa proses diantaranya :
a. Requirements Analysis and Definition
Tahap ini merupakan kegiatan pengumpulan kebutuhan secara lengkap kemudian dianalisis dan di definisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain sistem yang lengkap.
(17)
b. System and Software Design
Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan perangkat lunak.
c. Implementation and Unit Testing
Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji secara unit.
d. Integration and System Testing
Penyatuan unit-unit program kemudian diuji secara keseluruhan
(system testing).
e. Operation and System Testing
Mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.
1.6 Sistematika Penulisan
Sistematika penulisan proposal penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dilakukan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :
BAB I. PENDAHULUAN
Menguraikan tentang latar belakang permasalahan, mencoba merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian, yang kemudian diikuti dengan pembatasan masalah, serta sistematika penulisan.
BAB II. TINJAUAN PUSTAKA
Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan.
BAB III. ANALISIS DAN PERANCANGAN
Bab ini menjelasakan analisis terhadap seluruh spesifikasi sistem yang mencakup analisis prosedur yang sedang berjalan, pengkodean, kebutuhan non fungsional dan analisis basis data. Selain analisis sistem, bab ini terdapat juga perancangan
(18)
antarmuka untuk aplikasi yang akan dibangun sesuai dengan hasil analisis yang telah dibuat.
BAB IV. IMPLEMENTASI
Merupakan tahapan yang dilakukan dalam penelitian secara garis besar sejak dari tahap persiapan sampai penarikan kesimpulan, metode, dan kaidah yang diterapkan dalam penelitian.
BAB V. KESIMPULAN DAN SARAN
(19)
7
Pengembangan program chatbot multibahasa memerlukan faktor-faktor pendukung yang merupakan landasan teori yang akan digunakan dalam proses pengerjaan.
2.1.1 Sistem
2.1.1.1 Konsep Dasar Sistem
Sistem sebagai suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu. Sedangkan pendekatan sistem yang lebih menekankan pada elemen atau komponen mendefinisikan sistem sebagai kumpulan dari elemen-elemen yang berinteraksi untuk mencapi suatu tujuan tertentu. Kedua kelompok ini benar dan tidak bertentangan. Yang membedakan adalah cara pendekatannya.
2.1.1.2 Pengertian Sistem
Sistem berasal dari bahasa Latin (systema) dan bahasa Yunani (sustema) adalah suatu kesatuan yang terdiri dari komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi, mater atau energi. Istilah ini sering dipergunakan untuk menggambarkan suatu set entitas yang saling berinteraksi, di mana suatu model matematika seringkali dibuat.
Sistem juga merupakan suatu kesatuan prosedur atau komponen yang saling berkaitan satu dengan yang lainnya bersama-sama sesuai dengan aturan yang diterapkan sehingga membentuk suatu tujuan yang sama. Dimana dalam sebuah sistem bila terjadi satu bagian yang tidak bekerja atau rusak maka suatu tujuan bisa terjadi kesalahan hasilnya atau tidak sesuai dengan tujuan dari sistem tersebut.
(20)
2.1.1.3 Klasifikasi Sistem
Dari berbagai sudut pandang, sistem dapat di klasifikasikan menjadi beberapa bagian yaitu :
1. Sistem abstrak dan sistem fisik
Sistem abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tidak tampak secara nyata. Sedangkan sistem fisik merupakan sistem yang ada secara fisik.
2. Sistem alamiah dan sistem buatan
Sistem alamiah adalah sistem yang terjadi melalui proses alam, tidak dibuat oleh manusia. Sedangkan sistem buatan manusia merupakan sistem yang melibatkan hubungan manusia dengan mesin.
3. Sistem deterministic dan sistem probabilistik
Sistem komputer adalah contoh dari sistem yang tingkah lakunya dapat dipastikan berdasarkan program-program komputer yang dijalankan. Sedangkan sistem yang bersifat probabilistik adalah sistem yang kondisi masa depannya tidak dapat diprediksi, karena mengandung unsur probabilitas. 4. Sistem tertutup dan sistem terbuka
Sistem tertutup merupakan sistem yang tidak berhubungan dan tidak terpengaruh oleh lingkungan luarnya. Sedangkan sistem terbuka adalah sistem yang berhubungan dan dipengaruhi oleh lingkungan luarnya, yang menerima masukan dan menghasilkan keluaran untuk sub sistem lainnya.
2.1.1.4 Karakteristik Sistem
Model umum sebuah sistem terdiri dari input, proses, dan output. Hal ini merupakan konsep sebuah sistem yang sangat sederhana, mengingat sebuah sistem dapat mempunyai beberapa masukkan dan keluaran sekaligus. Adapun karakteristik yang dimaksudkan adalah sebagai berikut :
1. Komponen sistem (components)
(21)
2. Batasan sistem (boundary)
Ruang lingkup sistem merupakan daerah yang membatasi antara sistem dengan sistem lainnya atau sistem dengan lingkungan luarnya.
3. Lingkungan luar sistem (environment)
Bentuk apapun yang ada diluar ruang lingkup atau batasan sistem yang mempengaruhi operasi sistem tersebut disebut dengan lingkungan luar sistem.
4. Penghubung sistem (interface)
Keluaran suatu subsistem akan menjadi masukan untuk subsistem yang lain dengan melewati penghubung. Dengan demikian terjadi suatu integrasi sistem yang membentuk satu kesatuan.
5. Masukan sistem (input)
Energi yang dimasukan ke dalam sistem disebut masukan sistem, yang dapat berupa pemeliharan (maintenance input) dan sinyal (signal input).
6. Keluaran sistem (output)
Hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna. Keluaran ini merupakan masukan bagi subsistem yang lain.
7. Pengolahan sistem (proses)
Suatu sistem dapat mempunyai suatu proses yang akan mengubah masukan menjadi keluaran.
8. Sasaran sistem (objective)
Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuan yang telah direncanakan.
2.1.1.5 Komponen Sistem
Pemahaman sistem dengan pendekatan komponen/ elemen yaitu kumpulan komponen yang saling berkaitan dan bekerja sama untuk mencapai suatu tujuan tertentu. Suatu sistem dapat terdiri dari beberapa subsistem. Subsistem-subsistem tersebut dapat pula terdiri dari beberapa subsistem yang lebih kecil.
(22)
2.1.2 Chatbot
Chatbot (atau chatterbot 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 tes Turing Test, yaitu dengan merahasiakan identitasnya sebagai mesia 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.
2.1.3 Internet
Internet berasal dari kata interconnection-networking yang secara harfiah
dapat diartikan sebagai berikut:
1. Rangkaian komputer yang terhubung di dalam beberapa rangkaian. 2. Sebuah sistem komunikasi global yang menghubungkan
komputer-komputer dan jaringan-jaringan komputer-komputer di seluruh dunia.
Internet merupakan sistem global dari seluruh jaringan komputer yang
saling terhubung menggunakan standar Internet Protocol Suite (TCP/IP) untuk melayani pengguna internet di seluruh dunia. Internet menghubungkan pengguna komputer dari satu negara ke negara lain, di mana didalamnya terdapat berbagai sumber daya informasi yang bersifat statis maupun dinamis, dan interaktif.
Layanan internet meliputi komunikasi langsung (email, chat), diskusi (email, milis), sumber daya yang terdistribusi (World Wide Web), dan lalu lintas file (Telnet, FTP), dan berbagai macam layanan lainnya.
Sebuah sistem komputer yang terhubung secara langsung ke jaringan memiliki nama domain dan alamat IP (Internet Protocol) dalam bentuk numerik dengan format tertentu sebagai pengenal. Internet juga memiliki gateway ke jaringan dan layanan yang berbasis protokol lainnya.
(23)
2.1.3.1 Sejarah Internet
Jaringan internet pertama kali dikembangkan tahun 1969 oleh Departemen Pertahanan Amerika Serikat dengan nama ARPAnet (US Defense Advance
Research Projects Agency). ARPAnet dibangun dengan sasaran untuk membuat
suatu jaringan komputer yang tersebar untuk menghindari pemusatan informasi di satu titik yang dipandang rawan untuk dihancurkan apabila terjadi peperangan. Dengan membangun ARPAnet ini diharapkan apabila satu bagian dari jaringan terputus, maka jalur yang melalui jaringan tersebut secara otomatis dipindahkan ke saluran lainnya.
Di awal 1980-an, ARPAnet terpecah menjadi dua jaringan, yaitu ARPAnet dan Milnet (sebuah jaringan militer), akan tetapi keduanya mempunyai hubungan sehingga komunikasi antarjaringan tetap dapat dilakukan. Pada mulanya jaringan interkoneksi ini disebut DARPA Internet, tapi lama-kelamaan disebut sebagai
internet saja. Sesudahnya, internet mulai digunakan untuk kepentingan akademis
dengan menghubungkan beberapa perguruan tinggi, diantaranya UCLA, University of California at St. Barbara, University of Utah, Stanford Research Institute, disusul dengan dibukanya layanan Usenet dan Bitnet yang memungkinkan internet diakses melalui sarana komputer pribadi (PC). Berikutnya, protokol standar TCP/IP mulai diperkenalkan pada tahun 1982, disusul dengan penggunaan sistem DNS (Domain Name Service) pada tahun 1984.
Tahun 1986 lahir National Science Foundation Network (NSFNet), yang menghubungkan para periset dengan 5 buah pusat super komputer. Jaringan ini kemudian berkembang untuk menghubungkan berbagai jaringan akademis lainnya yang terdiri atas universitas dan konsorsium-konsorsium riset. NSFNet kemudian mulai menggantikan ARPAnet sebagai jaringan riset utama di Amerika hingga pada bulan Maret 1990 ARPAnet secara resmi dibubarkan. Pada saat NSFNet dibangun, berbagai jaringan internasional didirikan dan dihubungkan ke NSFNet. Australia, negara-negara Skandinavia, Inggris, Prancis, Jerman, Kanada, dan Jepang segera bergabung kedalam jaringan NSFNet ini.
(24)
Pada awalnya, internet hanya menawarkan layanan berbasis teks, meliputi
remote access, email/ messaging, maupun diskusi melalui newsgroup. Layanan
berbasis World Wide Web (WWW) saat itu masih belum ada, yang ada hanya layanan yang disebut Gopher yang dalam beberapa hal mirip seperti web yang kita kenal saat ini, kecuali sistem kerjanya yang masih berbasis teks. Kemajuan berarti dicapai pada tahun 1990 ketika World Wide Web mulai dikembangkan oleh CERN (Laboratorium Fisika Partikel di Swiss) berdasarkan proposal yang dibuat oleh Tim Berners-Lee. Namun, WWW browser yang pertama baru lahir dua tahun kemudian, tepatnya pada tahun 1992 dengan nama Viola. Viola diluncurkan oleh Pei Wei dan didistribusikan bersama CERN. Tentu saja web browser yang pertama ini masih sangat sederhana, belum secanggih browser modern seperti yang ada saat ini.
Terobosan berarti lainnya terjadi pada 1993 ketika InterNIC didirikan untuk menjalankan layanan pendaftaran domain. Bersamaan dengan itu, Gedung Putih (White House) mulai online di internet dan pemerintah Amerika Serikat meloloskan National Information Infrastructure Act. Penggunaan internet secara komersial dimulai pada 1994 dipelopori oleh perusahaan Pizza Hut, dan Internet
Banking pertama kali diaplikasikan oleh First Virtual. Setahun kemudian,
Compuserve, America Online, dan Prodigy mulai memberikan layanan akses ke
internet bagi masyarakat umum.
2.1.3.2 Manfaat dan Kegunaan Internet
Kegunaan internet dapat dikelompokkan menjadi beberapa kelompok, yaitu :
1. Internet sebagai media informasi
Internet sebagai media informasi dan telekomunikasi yang cepat,
mudah, dan murah dengan jangkauan global menyebabkan bermunculan media online. Keuntungan media online dibandingkan dengan media cetak adalah mengurangi biaya cetak dan distribusi.
(25)
Dengan mempromosikan produk di internet maka suatu usaha mendapat beberapa keuntungan, yaitu dapat menjangkau pelanggan di mana pun berada tanpa batasan waktu dan wilayah.
3. Internet sebagai alat research and development
4. Internet sebagai media perukaran data
2.1.4 Flowmap
2.1.4.1 Definisi Flowmap
Flowmap adalah penggambaran secara grafik dari langkah-langkah dan
urutan prosedur dari suatu program. Flowmap berguna untuk membantu analisis dan programer untuk memecahkan masalah ke dalam segmen yang lebih kecil dan menolong dalam menganalisis alternatif pengoperasian.
2.1.4.2 Aturan Membuat Flowmap
Untuk membuat sebuah analisis menggunakan flowmap, seorang analisis dan programer membutuhkan beberapa tahapan, diantaranya :
1. Flowmap digambarkan dari halaman atas ke bawah dan dari kiri ke
kanan.
2. Aktivitas yang digambarkan harus didefiniskan dan definisi ini harus dapat dimengerti oleh pembacanya.
3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas. 4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan
deskripsi kata kerja.
5. Setiap langkah dari aktivitas harus berada pada urutan yang benar. 6. Lingkup dan range dari aktivitas yang sedang digambarkan harus
ditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem.
(26)
2.1.4.3 Jenis - Jenis Flowmap
Bagan alir dokumen atau disebut juga bagan alir formulir atau paperwork
flowmap merupakan bagan alir yang menunjukkan arus dari laporan dan formulir
dan termasuk tembusan-tembusannya. Jenis-jenis dari flowmap adalah sebagai berikut :
1. Flowmap sistem.
2. Flowmap paperwork atau flowmap dokumen.
3. Flowmap skematik.
4. Flowmap program.
5. Flowmap proses.
2.1.4.4 Simbol Flowmap
Tabel 2.1 Simbol Flowmap
Simbol Nama
Proses
Keputusan
Dokumen
Penyimpanan data
Data
Proses yang belum di definisikan
(27)
Simbol Nama Data sekuensial
Penyimpanan data yang dapat di akses langsung
Manual input
Tampilan
Operasi manual
Persiapan
Mode paralel
Batas perulangan (awal atau akhir)
Terminator
Konektor halaman
Penghubung
(28)
2.1.5 ERD (Entity Relationship Diagram) 2.1.5.1 Definisi ERD
ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi. ERD juga menggambarkan hubungan antara satu entitas yang memiliki sejumlah atribut dengan entitas yang lain dalam suatu sistem yang terintegrasi (Yakub, 2008, p. 25).
2.1.5.2 Komponen - Komponen ERD
Tabel 2.2 Komponen-komponen ERD
Simbol Nama Keterangan
Entitas Menggambarkan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain.
Relasi Menggambarkan hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
Atribut Menggambarkan karakteristik dari entitas yang menjelaskan secara detil tentang entitas tersebut.
2.1.5.3 Kardinalitas
Kardinalitas relasi menunjukkan jumlah maksimum tupelo yang dapat berelasi dengan entitas yang lain. Dari sejumlah kemungkinan banyaknya hubungan antar entitas tersebut, kardinalitas relasi menunjukan kepada hubungan maksimum yang terjadi dari entitas yang satu ke entitas yang lain dan begitu juga sebaliknya. Macam kardinalitas sebagai berikut :
(29)
1. Satu ke satu (one to one relation)
Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B (Yakub, 2008, p. 33).
Gambar 2.1 Contoh relasi satu ke satu
2. Satu ke banyak (one to many relation)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan paling banyak dengan satu entitas pada himpunan entitas A (Yakub, 2008, p. 34).
Gambar 2.2 Contoh relasi satu ke banyak
3. Banyak ke banyak (many to many relation)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, begitupula sebaliknya (Yakub, 2008, p. 35).
(30)
Gambar 2.3 Contoh relasi banyak ke banyak
4. Banyak ke satu (many to one relation)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B (Yakub, 2008, p. 34).
Gambar 2.4 Contoh relasi banyak ke satu
2.1.6 Text Mining
2.1.6.1 Teori Text Mining
Text Mining adalah sebuah analisa yang mengumpulkan keywords atau
terms (istilah) yang sering muncul secara bersamaan dan kemudian menemukan
korelasi atau hubungan asosiasi di antara keywords atau terms tersebut (Ardhani Reswari, Skripsi, 2011, p. 15). Pada sumber lain definisi Text Mining adalah menambang data yang berupa teks di mana sumber data biasanya didapatkan dari dokumen (bisa juga berasal dari inputan), dan tujuannya adalah mencari kata-kata yang dapat mewakili isi dari dokumen sehingga dapat dilakukan analisa keterhubungan antar keywords yang di dapat dari dokumen tersebut.
(31)
Dalam tahap Text Mining terdapat lima tahapan antara lain :
Gambar 2.5 Tahapan dalam Text Mining
1. Tahap Tokenizing
Merupakan tahap pemotongan string input berdasarkan tiap kata yang menyusunnya. Contoh dari tahap ini adalah sebagai berikut :
Gambar 2.6 Contoh tahap Tokenizing
2. Tahap Filtering
Filtering adalah tahap mengambil kata-kata penting dari hasil token.
(32)
Gambar 2.7 Contoh tahap Filtering
3. Tahap Stemming
Stemming merupakan suatu proses yang terdapat dalam sistem IR
(Information Retrieval) yang mentransformasi kata-kata hasil filtering
ke kata-kata akarnya (rood word) dengan menggunakan aturan-aturan tertentu (Ledy Agusta, Konferensi Nasional Sistem dan Informatika 2009, KNS&I09-036, 2009, p.1).
Proses stemming pada teks berbahasa Indonesia berbeda dengan
stemming pada teks berbahasa Inggris. Pada teks berbahasa Inggris,
proses yang diperlukan hanya proses menghilangkan sufiks. Sedangkan pada teks berbahasa Indonesia, selain sufiks, prefiks, dan konfiks juga dihilangkan.
Contoh penggunaan stemming pada teks berbahasa Indonesia, kata bersama, kebersamaan, menyamai, jika dikenakan proses stemming ke
bentuk kata dasarnya yaitu “sama”.
4. Tahap Tagging
Tahap tagging adalah tahap mencari bentuk awal dari tiap kata lampau dari hasil stemming. Pada tahap ini dilakukan proses pengambilan berbagai bentukan kata ke dalam suatu representasi yang sama. Tahap
tagging tidak digunakan dalam penelitian ini.
(33)
Gambar 2.8 Contoh tahap Tagging
5. Tahap Analyzing
Tahap penentuan seberapa jauh keterkaitan antar kata-kata pada dokumen/ inputan yang ada. Pada tahap analyzing akan digunakan rumus TF-IDF untuk mengambil sebuah informasi dari sebuah dokumen. Pada dasarnya, TF-IDF bekerja dengan menentukan frekuensi relatif dari kata-kata tertentu dalam sebuah dokumen dibandingkan dengan inverse dari seluruh dokumen. Kata-kata yang umum dalam sebuah dokumen cenderung memiliki nilai tinggi dalam perhitungan TF-IDF (Juan Ramos, Jurnal Rutgers University, p. 2). Jadi, dalam penelitian ini hanya menggunakan 4 tahap, yaitu Tokenizing,
Filtering, Stemming, dan Analyzing. Tahap tagging tidak dilakukan karena pada
chatbot multitranslator ini tidak memperhatikan bentuk lampau dari suatu kata.
2.1.7 Algoritma Nazief dan Adriani
Stemming merupakan bagian yang tidak terpisahkan dalam Information
Retrieval (IR). Tidak banyak algoritma yang dikhususkan untuk stemming bahasa
Indonesia dengan berbagai keterbatasan didalamnya. Algoritma Porter misalnya, algoritma ini membutuhkan waktu yang relatif lebih singkat dibandingkan dengan
stemming menggunakan algoritma Nazief dan Adriani, namun proses stemming
menggunakan algoritma Porter memiliki persentase keakuratan lebih kecil dibandingkan dengan stemming menggunakan algoritma Nazief dan Adriani. Algoritma Nazief dan Adriani sebagai algoritma stemming untuk teks berbahasa Indonesia yang memiliki kemampuan persentase keakuratan lebih baik dari algoritma lainnya. Algoritma ini sangat dibutuhkan dan menentukan dalam proses IR dalam dokumen berbahasa Indonesia.
(34)
Stemming adalah salah satu cara yang digunakan untuk meningkatkan performa IR dengan cara mentransformasi kata-kata dalam sebuah dokumen teks ke bentuk kata dasarnya. Algoritma stemming untuk bahasa yang satu berbeda dengan algoritma stemming untuk bahasa lainnya. Sebagai contoh, bahasa inggris memiliki morfologi yang berbeda dengan bahasa Indonesia sehingga algoritma
stemming untuk kedua kedua bahasa tersebut juga berbeda. Proses stemming pada
teks berbahasa Indonesia lebih rumit dan kompleks karena terdapat variasi imbuhan yang harus dibuang untuk mendapatkan root word (kata dasar) dari sebuah kata. Pada umumnya kata dasar pada bahasa indonesia terdiri dari kombinasi.
DP + DP + DP + Kata Dasar + DS + PP + P
Keterangan :
DP : Derivation Prefix (awalan)
DS : Derivation Suffixes (akhiran)
PP : Possesive Pronouns (kepunyaan, contoh “-ku”, “-mu”)
P : Particels(contoh “-lah”, “-kah”)
(35)
Mulai
Kata Yang Akan di
Stemming
Adakah kata di Kamus?
Pemotongan
Inflection Suffixes
Tidak
Kata Dasar Apakah berupa
partikel?
Hapus Possesive Pronouns
Ya
Kata setelah pemotongan
Inflection Suffixes
Tidak
Pemotongan
DS(Derivation Suffixes)
Kata setelah pemotongan
DS(Derivation Suffixes)
Adakah kata di Kamus?
Ya
Ya Kata yang
dipotong “-an”?
Tidak
Apakah karakter
terakhir dari kata “-k”?
Ya
Hapus karakter
“-k”
Ya
Kata setelah
karakter “-k”
dihapus
Adakah kata di Kamus?
Ya Akhiran yang
dihapus dikembalikan
Tidak
Tidak Tidak
Pemotongan
DP(Derivation Preffixes)
Kata setelah akhiran dihapus
Kata setelah pemotongan
DP(Derivation Preffixes)
Apakah ada kombinasi awalan-akhiran yang
dilarang?
Iterasi sudah mencapai 3 kali?
Adakah kata di Kamus?
Tidak
Tidak
Tidak
Ya
Ya
Ya
Selesai
(36)
Algoritma Nazief dan Adriani yang dibuat oleh Bobby Nazief dan Mirna Adriani ini memiliki tahap-tahap sebagai berikut :
1. Cari kata yang akan di-stemming dalam kamus kata dasar. Jika ditemukan maka diasumsikan kata tersebut merupakan kata dasar. Maka algoritma berhenti.
2. Inflection Suffixes(“-lah”, “-kah”, “-ku”, “-mu”, atau “-nya”) dibuang. Jika
berupa partikel (“-lah”, “-kah”, “-tah”, atau “-pun”) maka langkah ini
diulangi lagi untuk menghapus Possesive Pronouns(“-ku”, “-mu”, atau “
-nya”), jika ada.
3. Hapus Derivation Suffixes (“-i”, “-an”, atau “-kan”). Jika kata ditemukan di kamus, maka algoritma berhenti. Jika tidak maka ke langkah 3a.
a. Jika “-an”, telah dihapus dan huruf terakhir dari kata tersebut adalah “
-k”, maka “-k” juga ikut dihapus. Jika kata tersebut ditemukan dalam
kamus kata dasar maka algoritma berhenti. Jika tidak ditemukan maka lakukan langkah 3b.
b. Akhiran yang dihapus (“-i”, “-an”, atau “-kan”) dikembalikan, lanjut
ke langkah 4.
4. Hapus Derivation Prefix DP (“di-”, “ke-”, “se-”, “me-”, “be-”, “pe-”, “te
-”) dengan iterasi maksimum adalah 3 kali
a. Langkah 4 berhenti jika :
1. Terjadi kombinasi awalan dan akhiran yang terlarang seperti pada tabel 2.3.
Tabel 2.3 Kombinasi awalan-akhiran yang tidak diizinkan
Awalan Akhiran yang tidak diizinkan
be- -i
di- -an
ke- -i, -kan
me- -an
se- -i, -kan 2.Tiga awalan telah dihilangkan.
(37)
b. Tipe awalan ditentukan melalui langkah-langkah berikut :
1. Jika awalannya adalah : “di-”, “ke-”, atau “se-”, maka tipe
awalannya secara berturut-turut adalah “di-”, “ke-”, atau “se-”.
2. Jika awalannya adalah “te-”, “me-”, “be-”, atau “pe-”, maka
dibutuhkan sebuah proses tambahan untuk menentukan tipe awalannya.
Tabel 2.4 Jenis awalan berdasarkan tipe awalan
Aturan Format Kata Pemenggalan
1 berV… ber-V… | be-rV…
2 berCAP… ber-CAP… dimana C != 'r' dan P != 'er'
3 berCAPerV… ber-CaerV… dimana C != 'r'
4 belajar bel-ajar
5 berC1erC2… be-C1erC2… dimana C1 != {'r'|'l'}
6 terV… ter-V… | te-rV…
7 terCerV… ter-CerV… dimana C != 'r'
8 terCP ter-CP… dimana C != 'r' dan P != 'er' 9 teC1erC2 te-C1erC2… dimana C1 !- 'r'
10 me{l|r}w}y}V… me-{l|r|w|y}V…
11 mem{b|f|v}… mem-{b|f|v}…
12 mempe{r|l}… mem-pe…
13 mem{rV|V}… me-m{rV|V}… | me-p{rV|V}…
14 men{c|d|j|z}… men-{c|d|j|z}…
15 menV… me-nV… | me-tV…
16 meng{g|h|q}… meng-{g|h|q}…
17 mengV… meng-V… | meng-kV…
18 meny… meny-sV…
19 mempV… mem-pV… dimana V != 'e'
20 pe{w|y}V… pe-{w|y}V…
21 perV… per-V… | pe-rV…
(38)
Aturan Format Kata Pemenggalan
23 perCAerV… per-CAerV… dimana C != 'r'
24 pem{b|f|v}… pem-{b|f|V}…
25 pem{rV|V}… pe-m{rV|V}… | pe-p{rV|V}…
26 pen{c|d|j|z}… pen-{c|d|j|z}…
27 penV… pe-nV… | pe-tV…
28 peng{g|h|q}… peng-{g|h|q}…
29 pengV… peng-V… | peng-kV…
30 penyV... peny-sV…
31 pelV… pe-lV… kecuali "pelajar" yang menghasilkan
"ajar"
32 peCerV… per-erV… dimana C != {r|w|y|l|m|n}
33 perCP…
pe-CP… dimana C != {r|w|y|l|m|n} dan P !=
'er'
3. Cari kata yang telah dihilangkan awalannya ini di dalam kamus. Apabila tidak ditemukan, maka langkah 4 diulangi kembali. Apabila ditemukan, maka keseluruhan proses berhenti.
5. Melakukan recording (pada chatbot multitranslator ini, proses recording
tidak dilakukan, hal ini dilakukan untuk meminimalisir kata dasar yang tidak valid).
6. Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal diasumsikan sebagai kata dasar. Proses selesai.
Pada proses stemming menggunakan algoritma Nazief dan Adriani, kamus yang digunakan sangat mempengaruhi hasil stemming. Semakin lengkap kamus yang digunakan maka semakin akurat pula hasil stemming.
Contoh :
(39)
1. Cek kata "mempertemukannya" di dalam kamus kata dasar, kata "mempertemukannya" tidak ditemukan di dalam kamus kata dasar. 2. Hapus Inflection Suffixes ("-nya"). Sehingga kata menjadi
“mempertemukan”.
3. Hapus Derivation Suffixes ("-kan"). Cek kata "mempertemu" di dalam kamus kata dasar, kata "mempertemu" tidak ditemukan di dalam kamus kata dasar.
4. Hapus Derivation Preffixes ("me-") [iterasi 1]. Periksa tabel jenis awalan pada aturan no 13, format kata ("mem-V") sehingga kata menjadi "pertemu". Cek kata "pertemu" di dalam kamus kata dasar, kata "pertemu" tidak ditemukan di dalam kamus kata dasar.
5. Hapus Derivation Preffixes ("pe-") [iterasi 2]. Periksa tabel jenis awalan pada aturan no 21, format kata ("per-V") sehingga kata menjadi "temu". Cek kata "temu" di dalam kamus kata dasar, kata "temu" ditemukan di dalam kamus kata dasar.
6. Proses stemming berhenti dengan menghasilkan kata dasar "temu".
Jadi kata “mempertemukannya” ketika menggunakan algoritma steming
Nazief dan Adriani menjadi “temu”.
2.1.8 Natural Language Processing (NLP)
Natural Language Processing atau pemrosesan bahasa alami merupakan
salah satu tujuan jangka panjang dari Artficial Intelegence (kecerdasan buatan) yaitu pembuatan program yang memiliki kemampuan untuk memahami bahasa manusia. Pada prinsipnya bahasa alami adalah suatu bentuk representasi dari suatu pesan yang ingin dikomunikasikan antar manusia. Bentuk utama representasinya adalah berupa suara/ucapan (spoken language), tetapi seringpula dinyatakan dalam bentuk tulisan.
Inti dari pemrosesan bahasa alami adalah penguraian kalimat atau sering disebut dengan parser. Parser berfungsi untuk membaca kalimat, kata demi kata dan menentukan jenis kata apa saja yang boleh mengikuti kata tersebut. Dalam
(40)
pemahaman suatu bahasa ada beberapa bidang yang harus disertakan yaitu
morfologi, sintaksis, semantik, pragmatik, fonologi, dan pengetahuan tentang
dunia sekitar.
2.1.8.1 Komponen Utama Bahasa Alami
Pengolahan bahasa alami terdiri dari dua bagian utama, yaitu : parser, sistem representasi pengetahuan dan pengolahan output.
a. Parser
Suatu sistem yang mengambil kalimat input bahasa alami dan menguraikannya ke dalam beberapa bagian gramatikal (kata benda, kata kerja, kata sifat, dan lain-lain).
b. Sistem Representasi Pengetahuan
Suatu sistem yang menganalisis output parser untuk menentukan maknanya. c. Output Translator
Suatu terjemahan yang merepresentasikan sistem pengetahuan dan melakukan langkah- langkah yang bisa berupa jawaban atas bahasa alami atau output khusus yang sesuai dengan program komputer lainnya.
2.1.8.2 Kategori Aplikasi Pengolahan Bahasa Alami
Teknologi Natural Language Processing (NLP) atau pemrosesan bahasa
alami adalah teknologi yang memungkinkan untuk melakukan berbagai macam pemrosesan terhadap bahasa alami yang biasa digunakan oleh manusia. Sistem ini biasanya mempunyai masukan dan keluaram berupa bahasa tulisan (teks). Natural
Language Processing (NLP) mempunyai aplikasi yang sangat luas. Beberapa
diantara berbagai kategori aplikasi Natural Language Processing (NLP), sebagai berikut:
1. Natural Language Translator, yaitu translator dari satu bahasa alami
ke bahasa alami lainnya, misalnya translator bahasa Inggris ke bahasa Indonesia, Bahasa Indonesia ke Bahasa Jawa dan sebagainya. Translator bahasa alami bukan hanya kamus yang menerjemahkan kata
(41)
per kata, tetapi harus juga mentranslasikan sintaks dari bahasa asal ke bahasa tujuannya.
2. Translator bahasa alami ke bahasa buatan, yaitu translator yang mengubah perintah-perintah dalam bahasa alami menjadi bahasa buatan yang dapat dieksekusi oleh mesin atau komputer. Sebagai contoh, translator yang memungkinkan kita memberikan perintah bahasa alami kepada komputer. Dengansistem seperti ini, pengguna sistem dapat memberikan perintah dengan bahasa sehari-hari, misalnya, untuk menghapus semua file, pengguna cukup memberikan
perintah ”komputer, tolong hapus semua file !” Translator akan
mentranslasikan perintah bahasa alami tersebut menjadi perintah bahasa formal yang dipahami oleh komputer.
3. Text Summarization, yaitu suatu sistem yang dapat ”membuat
ringkasan” hal-hal yang penting dari suatu wacana yang diberikan.
Dalam dunia kecerdasan buatan pengolahan bahasa alami merupakan aplikasi terbesar setelah sistem pakar. Banyak para ahli Artificial Intelligence berpendapat bahwa bidang yang penting yang dapat dipecahkan oleh Artificial
Intelligence adalah Natural Language Processing (Pengolahan Bahasa Alami).
2.1.8.3 Dasar Teori
Riset ini dilaksanakan dengan tujuan untuk menerjemahkan kalimat dalam bahasa inggris ke dalam struktur kalimat berbahasa Indonesia, jadi yang ditekankan dalam riset ini lebih banyak pada struktur kalimatnya dan bukan hanya pada sintaks kalimat saja. Dalam riset ini kamu memakai beberapa referensi sebagai dasar percobaannya. Referensi tersebut memuat komponen-komponen yang digunakan dalam riset, antara lain :
1. Metode parsing kalimat. 2. Membuat link grammar.
(42)
3. Algoritma parsing dan link grammar.
Seperti yang telah diketahui bahwa susunan kalimat bahasa inggris sedikit berbeda dengan bahasa Indonesia, maka dari itu dengan riset ini kami mencoba mengatasi permasalahan tersebut.
Input Kalimat
Cross Mapping Mapping Pola/Struktur
Parsing Pruning
Translate
Gambar 2.10 ProsedurNatural Language Processing (NLP)
2.1.9 HTML
2.1.9.1 Definsi HTML
HTML merupakan singkatan dari Hyper Text Markup Language. HTML dapat dibuat pada sembarang editor teks. Pembuatan teks HTML hampir sama dengan pembuatan teks-teks lainnya seperti pada MS. Word. Pemberian format pada suatu teks dalam sebuah dokumen akan bisa langsung terlihat hasilnya. Contohnya, jika Anda ingin membuat sebuah dokumen pada MS. Word dan
(43)
memformatnya sehingga salah satu kata/kalimat ingin diberikan format huruf tebal (bold), miring (italic), atau Garis bawah pada teks (underline), maka hasilnya segera dapat dilihat pada dokumen tersebut. Berbeda dengan dokumen HTML, format-format yang diberikan pada suatu teks tidak bisa dilihat langsung
hasilnya, tetapi harus menggunakan program khusus, yaitu “Web Browser” atau
“Browser”.
2.1.9.2 Tag - Tag Dasar HTML
Gambar 2.11 Contoh tag HTML
Penjelasan kode pada bentuk umum penulisan dokumen HTML diatas : 1. Pasangan tag <html> dan </html> menandakan bahwa kode yang
terdapat didalamnya adalah kode HTML sehingga browser akan menerjemahkan sebagai dokumen HTML.
2. Bagian yang terdapat dalam <html> dan </html> umumnya terbagi atas tag <head></head> dan <body></body>.
3. Pada bagian <head> dan </head> bisa ditentukan judul dokumen HTML yang dituliskan dengan pasangan <title> dan </title>. 4. Bagian <body> dan </body> dapat dituliskan teks-teks, penyisipan
gambar, link, atau pembuatan tabel.
2.1.10 PHP
2.1.10.1 Definsi PHP
PHP adalah singkatan dari PHP : Hypertext Preprocessor, bahasa interpreter yang mempunyai kemiripan dengan bahasa pemrograman C dan Perl.
PHP merupakan bahasa pemrograman server side yang banyak digunakan untuk membuat website dinamis. Untuk hal-hal tertentu dalam membuat web,
(44)
bahasa pemrograman PHP memang diperlukan, misalnya untuk memproses data yang dikirimkan oleh pengunjung suatu website.
2.1.10.2 Sejarah PHP
Pada awalnya PHP merupakan singkatan dari Personal Home Page (situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data formulir dari web.
Selanjutnya, Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi Open Source, maka banyak programer yang tertarik untuk ikut mengembangkan PHP.
Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP: Hypertext Preprocessing.
Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi.
Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.
(45)
2.1.11 Javascript
2.1.11.1 Definsi Javascript
Javascript adalah bahasa yang berbentuk kumpulan script yang pada fungsinya berjalan pada suatu dokumen HTML. Sepanjang sejarah internet, bahasa ini adalah bahasa script pertama untuk web. Bahasa ini adalah bahasa pemrograman untuk memberikan kemampuan tambahan terhadap bahasa HTML dengan mengijinkan pengeksekusian perintah perintah di client side, yang artinya di sisi browser bukan di server side web.
Javascript bergantung kepada browser (navigator) yang memanggil halaman web yang berisi script dari javascript dan tentu saja terselip di dalam dokumen HTML. Javascript juga tidak memerlukan kompilator atau penerjemah khusus untuk menjalankannya (pada kenyataannya kompilator javascript sendiri sudah termasuk di dalam browser tersebut). Lain halnya dengan bahasa pemrograman “Java” (dengan nama javascript selalu dibanding-bandingkan) yang memerlukan kompilator khusus untuk menerjemahkannya di client side.
2.1.11.2 Sejarah Javascript
Javascript diperkenalkan pertama kali oleh Netscape pada tahun 1995. Pada awalnya bahasa ini dinamakan “LiveScript” yang berfungsi sebagai bahasa sederhana untuk browser Netscape Navigator 2. Pada masa itu bahasa ini banyak di kritik karena kurang aman, pengembangannya yang terkesan buru-buru dan tidak ada pesan kesalahan yang di tampilkan setiap kali kita membuat kesalahan pada saat menyusun suatu program. Kemudian sejalan dengan sedang giatnya kerjasama antara Netscape dan Sun (pengembang bahasa pemrograman “Java”)
pada masa itu, maka Netscape memberikan nama “JavaScript” kepada bahasa
tersebut pada tanggal 4 desember 1995. Pada saat yang bersamaan Microsoft sendiri mencoba untuk mengadaptasikan teknologi ini yang mereka sebut sebagai
(46)
Gambar 2.13 Contoh penulisan javascript pada tag HTML
2.1.12 Ajax
Ajax adalah singkatan dari Asycronous Javascript and XML, pengertian lebih mudah adalah menggabungkan antara javascript dan xml untuk mengakses sumber data di server. Javascript sebagai pemrograman di sisi client bisa digunakan untuk mengakses server secara asinkron, dan XML digunakan untuk format data hasil dari server.
1. Ajax ditulis dengan javascript, memanfaatkan object javascript yang sudah ada yaitu XMLHttpRequest.
2. Ajax tergantung dengan browser, jika browser mendukung javascript, maka bisa dipastikan mendukung ajax.
3. Berdasarkan point 2, ajax merupakan teknologi browser.
4. Ajax digunakan untuk mengakses server, dan client/ pengguna menerima hasil dari server tidak secara langsung, tetapi masuk ke dalam mesin ajax terlebih dahulu baru ditampilkan kemudian.
Ajax dikembangkan sekitar tahun 2006. Ajax dapat diintegrasikan dengan
(47)
Gambar 2.14 Mekanisme proses ajax menggunakan PHP
2.1.13 jQuery
jQuery merupakan sebuah framework atau library JavaScript yang dapat membantu kita mempermudah dan mempercepat pengolahan DOM pada halaman web. jQuery sudah mengotomatis pekerjaan-pekerjaan yang umum dan menyederhanakan code yang kompleks. jQuery merupakan salah satu library yang membuat program web di sisi klien, tidak terlihat sebagai program JavaScript biasa yang harus secara eksplisit disisipkan pada dokumen web.
Adapun kemudahan-kemudahan yang diberikan oleh jQuery antara lain: 1. jQuery menawarkan sebuah selector yang robust dan efisien untuk
mengambil bagian tertentu pada dokumen yang selanjutnya bisa dimanipulasi.
2. Dapat mengubah tampilan CSS dengan mudah.
3. Dapat menambahkan animasi ke dalam website dengan menggunakan jQuery.
4. jQuery juga mempermudah penggunaan AJAX.
2.1.13.1 jQuery Selector
Didalam jQuery terdapat jQuery Selector yang merupakan fungsi utama pada jQuery. Semua fungsi-fungsi pada jQuery dapat diakses melalui selector. Adapun parameter yang bisa digunakan pada jQuery adalah id element, class
(48)
element, dan element itu sendiri. Selector juga bisa mengenali hirarki sebagai parameter inputnya dan bisa memfilternya langsung dari ekpresi.
2.1.13.2 jQuery Manipulation
Struktur dokumen bisa dimanipulasi menggunakan jQuery Manipulation. Ada 7 kategori yang bisa dimanipulasi, yaitu :
1. Perubahan konten.
Konten dari sebuah objek dapat diubah dengan dua fungsi yaitu HTML dan teks. Perbedaannya jika menggunakan teks maka semua tag-tag HTML akan dituliskan sebagai mana mestinya.
2. Insert ke dalam objek.
Terdapat dua jenis insert, yaitu append dan prepend. Append adalah menambahkan objek baru setelah value dari objek tersebut, sedangkan
prepend menambahkan objek baru sebelum objek.
3. Insert ke luar objek.
Objek yang akan ditambahkan berada diluar dari masing-masing tag yang dipilih.
4. Insert di sekitar objek.
5. Mengganti objek. 6. Menghapus objek. 7. Meng-copy objek.
2.1.14 MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL atau DBMS yang multithread, multiuser, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber
(49)
dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan di sponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya.Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.
MySQL memiliki beberapa ke istimewaan, antara lain :
1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi. 2. Open Source. MySQL di distribusikan secara open source, dibawah lisensi
GPL sehingga dapat digunakan secara cuma-cuma.
3. Multiuser. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
4. Performance tuning. MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
5. Jenis Kolom. MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/ unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
2.1.15 Tools Yang Digunakan
Aplikasi / tools yang digunakan dalam perancangan chatbot multitranslator adalah Adobe Dreamweaver CS5, XAMPP, Google Chrome, MySQL.
(50)
(51)
39
Analisis dilakukan dengan tujuan untuk mengidentifikasi dan mengevaluasi seluruh komponen yang terkait dengan sistem yang akan dibangun. Tahap analisis merupakan tahap yang kritis dan sangat penting, karena kesalahan pada tahap ini akan menyebabkan kesalahan pada tahap selanjutnya. Tahap analisis sistem dilakukan dengan cara menguraikan suatu sistem yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan sehingga ditemukan kelemahan dan keuntungan pada sistem tersebut.
3.1.1 Analisis Masalah
Metode Text Mining merupakan salah satu metode yang banyak diimplementasikan untuk menyelesaikan masalah yang membutuhkan pencarian sebuah informasi atau
Information Retrieval (IR). Aplikasi chatbot juga membutuhkan sebuah information
retrieval untuk menentukan sebuah informasi yang terkandung dipertanyaan pengguna
chatbot tersebut. Kebanyakan chatbot menggunakan NLP (Natural Language Processing) untuk melakukan kegiatan chatting, fungsi dari text mining sebagai information retrieval
diharapkan dapat diimplementasikan pada chatbot dalam melakukan kegiatan chatting. Berdasarkan permasalahan di atas, diharapkan dapat diselesaikannya sebuah aplikasi chatbot yang menggunakan metode text mining untuk dibandingkan kecocokan apakah information retrieval pada metode text mining sudah cocok untuk diimplementasikan pada aplikasi chatbot.
3.1.2 Analisis Kebutuhan Non Fungsional
Analisis kebutuhan sistem non fungsional adalah sebuah langkah dimana seorang pembangun perangkat lunak menganalisis sumber daya manusia yang akan menggunakan perangkat lunak yang dibangun.
Analisis kebutuhan non fungsional tidak hanya menganalisis siapa saja yang akan menggunakan aplikasi tetapi juga menganalisis perangkat keras dan perangkat lunak yang mendukung untuk penggunaan chatbot multibahasa, sehingga dapat ditentukan
(52)
kompabilitas aplikasi. Setelah melakukan analisis kebutuhan non fungsional, maka dilanjutkan ke langkah berikutnya yaitu menentukan menentukan kebutuhan non fungsional sistem yang akan dibangun.
Analisis non fungsional dan kebutuhan non fungsional yang dilakukan dibagi dalam tiga tahap, yaitu :
1. Analisis perangkat keras. 2. Analisis perangkat lunak. 3. Analisis pengguna.
3.1.2.1 Analisis Perangkat Keras
Perangkat keras yang digunakan dalam penelitian ini adalah sebagai berikut:
1. Processor
a. Nama : Intel Core i3 M 350 b. Banyak Core : 2
c. Threads per Core : 2
d. Kecepatan : 2,27 GHz per Core
2. Memory
a. Tipe : DDR 3
b. Pembuat : Hyundai Electronics c. Spesifikasi : PC3-10700
d. Kapasitas : 3072 MB e. Channels# : Single
3. Display
a. Nama : Intel Graphics Media Accelerator HD b. Pembuat : Intel Corp.
c. Tipe : Intel Graphics Media Accelerator HD (Core i3) d. Kapasitas memori : 214 MB
e. Monitor : Generic PnP Monitor (1366 768 @60Hz)
4. Audio
a. Playback Device : Speakers (4-HD Audio Device)
b. Tipe : WDM
c. Sound Cards : Intel Display Audio HD Audio Device
5. Motherboard
a. Vendor : ASUSTeK Computer Inc.
b. Model : K42F
c. Banyak Memori : 4 d. Tipe Memori : DDR 3
(53)
6. Hard Disk
a. Model : Hitachi HTS545032B9A300 ATA Device b. Kapasitas : 313GB
3.1.2.2 Analisis Perangkat Lunak
Spesifikasi perangkat lunak yang dibutuhkan agar aplikasi dapat berjalan adalah sebagai berikut :
1. WAMP Server sebagai Web Server 2. Adobe Dreamweaver sebagai editor PHP 3. MySQL sebagai DBMS 66
4. Tool antarmuka design Microsoft Visio 2007 5. Google Chrome sebagai web browser
3.1.2.3 Analisis Pengguna
Analisis pengguna aplikasi ini memiliki karakteristik antara lain :
Tabel 3.1 Tabel pengguna
Pengguna Tanggung Jawab Hak Akses
Admin Chatbot
- Mengelola
knowledge base dari chatbot.
- Menambah, mengedit, dan menghapus knowledge base chatbot.
Super Admin Chatbot
- Mengelola
knowledge base dari chatbot.
- Mengelola administrator chatbot.
- Menambah, mengedit, dan menghapus knowledge base chatbot.
- Menambah, mengedit, dan menghapus administrator chatbot.
Pengguna Chatbot
- Melakukan chatting dengan chatbot.
3.1.3 Gambaran Umum Sistem
Aplikasi chahbot yang akan dikembangkan mempunyai 2 modul utama yaitu modul proses text mining dan modul penentuan jawaban.
Pada modul text mining akan digunakan untuk melakukan proses information
(54)
pertanyan-pertanyaan yang ada di basis pengetahuan chatbot / knowledge base. Sedangkan pada modul penentuan jawaban adalah modul yang digunakan untuk menentukan jawaban yang akan ditampilkan chatbot sebagai jawaban dari pertanyaan yang mempunyai tingkat similaritas tertinggi dengan pertanyaan dari pengguna chatbot.
Pertanyaan
Pengguna Chatbot
Text Mining
Penentuan Jawaban
H
a
s
il
Pe
m
b
o
b
o
ta
n
T
e
x
t Mi
n
in
g
R
e
s
p
o
n
Bo
t
Gambar 3.1 Gambaran Umum Sistem Chatbot
Deskripsi :
1. Pengguna chatbot mengetikkan kalimat yang akan ditanyakan ke chatbot.
2. Pertanyaan akan dihitung tingkat similaritasnya dengan menggunakan proses text
mining dengan kalimat di database.
3. Setelah proses perhitungan similaritas, akan diambil jawaban yang sesuai dengan kriteria sebagai berikut, jika hasil perhitungan text mining tidak sama dengan 0, maka akan diambil jawaban dari kalimat yang mempunyai tingkat similaritas tertinggi, jika hasil perhitungan text mining sama dengan 0 akan diambil jawaban tidak ketemu dari chatbot.
4. Hasil dari penentuan jawaban akan ditampilkan ke pengguna chatbot sebagai respon dari chatbot.
3.1.4 Analisis Metode Text Mining dalam Pencarian Similaritas Kata
Pada metode text mining terdapat 5 tahap yang harus digunakan, yaitu Tokenizing,
Filtering, Stemming, Tagging, dan Analyzing, dalam penelitian ini hanya digunakan 4
tahap yaitu Tokenizing, Filtering, Stemming, dan Analyzing. Berikut diagram alir aplikasi chatbot dengan menggunakan metode Text Mining :
(55)
Tokenizing
Filtering
Stemming
Analyzing
Dokumen yang akan dikenai proses text mining
H a si l p ro se s Tok en izi n g H as il pr os es Fi lt e ri n g H as il pr os es S te m m in g H as il pr os es Tex t M in in g a ka n d iki ri m ke pro se s p en e ntua n ja w ab a n
Gambar 3.2 Gambaran umum proses text mining
Contoh penggunaan algoritma text mining adalah sebagai berikut :
Misalkan kalimat yang akan dicari similaritasnya adalah sebagai berikut “Apa yang diajarkan di Teknik Informatika Unikom?”
diajarkan teknik informatika
unikom Apa yang diajarkan
dalam Teknik Informatika UNIKOM? apa yang diajarkan dalam teknik informatika unikom
Proses pemotongan kalimat ke kata (Tokenizing)
Proses pemisah kata penting (Filtering)
ajar teknik informatika unikom Pengambilan kata dasar (Stemming)
(56)
Langkah pertama yang dilakukan dalam proses text mining adalah proses
tokenizing. Tokenizing adalah sebuah tahap pemotongan string input berdasarkan tiap kata
yang menyusunnya. Proses pemotongan ini akan menghilangkan tanda baca atau karakter yang dianggap tidak perlu. Karakter tersebut didefinisikan sebagai berikut :
"%", "$", "^", "&", " „ ", " “ ", ")", "(", "\", "/", "=", ".", ",", ":", "-", "*", ";", "!", "?", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
Setelah kalimat dikenai proses tokenizing kalimat tersebut akan dipotong-potong ke dalam bentuk array, proses ini dilakukan jika dalam kalimat hasil tokenizing ditemukan spasi.
Setelah kalimat sudah dipotong ke dalam bentuk array, langkah selanjutnya adalah melakukan proses filtering. Proses filtering merupakan tahap mengambil kata-kata penting dari hasil tekonizing. Kata-kata yang dianggap tidak penting dalam proses filtering ini disimpan di tabel tbl_stopwords, jika kata dari proses tokenizing ada yang ditemukan di tabel stopwords, maka kata tersebut akan dihilangkan atau dianggap sebagai kata tidak penting. Berikut sebagian contoh kata yang dianggap tidak penting di dalam tabel tbl_stopwords :
ada, agar, akan, apa, dalam, entah, hingga, jadi, yaitu, yang
Setelah kalimat dihilangkan kata tidak pentingnya dengan menggunakan proses
filtering, selanjutnya kata-kata yang masih dianggap penting akan dikenai proses
stemming. Stemming merupakan suatu proses yang terdapat dalam sistem IR (Information
Retrieval) yang mentransformasi kata yang terdapat dalam suatu dokumen ke
kata-kata akarnya (rood word) dengan menggunakan aturan-aturan tertentu. Proses stemming
pada aplikasi chatbot menggunakan algoritma Nazief dan Adriani. Kata dasar didefinisikan di tabel tbl_katadasar, berikut sebagian contoh kata dasar yang ada di tabel tbl_katadasar :
ajar, acara, akal, teknik, tongkat, tidur, lubuk
Setelah proses stemming selesai, akan dilakukan proses analyzing atau perhitungan pembobotan kalimat dari pengguna dengan kalimat yang menjadi pengetahuan chatbot.
Pada tahap analyzing digunakan sebuah rumus TF-IDF untuk menentukan tingkat similaritas antar kalimat. TF (Term Frequency) adalah frekuensi dari kemunculan sebuah
(57)
bervariasi dari satu kalimat ke kalimat yang lain bergantung pada sebuah term dalam sebuah kalimat yang diberikan.
Sedangkan IDF (Inverse Document Frequency) adalah sebuah statistik global yang mengkarakteristikkan sebuah term dalam keseluruhan korelasi kalimat. IDF merupakan sebuah perhitungan dari bagaimana term didistribusikan secara luas pada kalimat-kalimat di database.
Perhitungan bobot dari term tertentu dalam sebuah kalimat dengan menggunakan TF-IDF menunjukkan bahwa kalimat yang dianggap similaritas adalah term yang banyak muncul dalam suatu kalimat.
Kombinasi bobot dari sebuah term pada sebuah kalimat di definisikan sebagi berikut :
Dengan :
: Bobot tiap kalimat
: Term Frequency tiap kalimat
: Inverse Document Frequency tiap kalimat
Rumus mencari IDF(i) : =
Dengan :
: Banyaknya kalimat yang ada di database
: Document Frequency tiap kalimat (banyaknya
term yang sama di semua kalimat di database)
: Inverse Document Frequency tiap kalimat
Contoh implementasi dari perhitungan text mining menggunakan TF-IDF dan
(58)
Tabel 3.2 Tabel Data Pertanyaan
Kode
Pertanyaan Pertanyaan
D1 Apa yang diajarkan di jurusan Teknik Informatika Unikom D2 Siapa nama kamu
D3 Ada berapa Jurusan di Unikom D5 Kapan Unikom berdiri
D6 Dimana lokasi kampus Unikom
D7 Berapa kali Unikom juara roket internasional D8 Siapa nama rektor Unikom
D9 Siapa nama ketua Program Studi di teknik informatika unikom
D10 Hai
D11 visi dari teknik informatika unikom D12 Misi dari teknik informatika Unikom D13 Alamat Unikom
D14 Singkatan dari Unikom
D15 Syarat - Syarat masuk Unikom
D16 Apa situs Teknik Informatika Unikom D17 Apa situs Unikom
D18 Situs dari perwalian Unikom
D19 Apa nama website nilai online Unikom
D20 Maksimum pengambilan SKS di Teknik Informatika Unikom
D21 Siapa wakil ketua prodi teknik Informatika Unikom D22 Ada berapa kampus di jalan Dipati Ukur
Tabel 3.3 Tabel Data Jawaban
Kode
Pertanyaan Jawaban
D1 DFD, Flowchart, Programming D2 Chatbot Text Mining
D3 14 Jurusan (Prodi)
D5 Unikom Berdiri sejak tahun 2008 D6 Jl. Dipati Ukur, Bandung
D7 3 kali D8 Bapak Edi
D9 Pa Irawan Afrianto
(59)
Kode
Pertanyaan Jawaban
D11 Visi dari teknik informatika unikom adalah untuk menjadi program studi teknik IF yang unggul dan terdepan
D12 Menyelenggarakan pendidika tinggi yang dapat menghasilkan lulusan berkualitas
D13 Jl. Dipati Ukur No. 100
D14 Universitas Komputer Indonesia D15 Lulus SMA/Sederajat
D16 http://if.unikom.ac.id D17 http://unikom.ac.id
D18 http://perwalian.unikom.ac.id D19 http://nilaionline.unikom.ac.id D20 24 SKS
D21 Ibu Dian Damayanti
D22 Ada 3 kampus Unpad, ITHB, dan Unikom
Data pertanyaan di database akan dikenai proses text mining satu-persatu untuk diketahui polanya / bag of words
1. Tokenizing
Berikut hasil dari proses tokenizing dari pertanyaan-pertanyaan di database :
Tabel 3.4 Tabel Hasil Tokenizing Dari Pertanyaan di Database
Kode
Pertanyaan Hasil Tokenizing
D1 apa - yang - diajarkan - di - jurusan - teknik - informatika – unikom D2 siapa - nama – kamu
D3 ada - berapa - jurusan - di – unikom D5 kapan - unikom – berdiri
D6 dimana - lokasi - kampus – unikom
D7 berapa - kali - unikom - juara - roket - internasional D8 siapa - nama - rektor - unikom
D9 siapa - nama - ketua - program - studi - di - teknik - informatika - unikom
D10 Hai
D11 visi - dari - teknik - informatika - unikom D12 misi - dari - teknik - informatika - unikom D13 alamat - unikom
D14 singkatan - dari - unikom
D15 syarat - - - syarat - masuk - unikom D16 apa - situs - teknik - informatika - unikom D17 apa - situs - unikom
(60)
Kode
Pertanyaan Hasil Tokenizing
D18 situs - dari - perwalian - unikom
D19 apa - nama - website - nilai - online - unikom
D20 maksimum - pengambilan - sks - di - teknik - informatika – unikom D21 siapa - wakil - ketua - prodi - teknik - informatika - unikom
D22 ada - berapa - kampus - di - jalan - dipati - ukur
2. Filtering
Setelah proses tokenizing dilakukan dan didapat hasilnya, berikutnya pertanyaan yang telah dikenai proses tokenizing akan dikenai proses filtering. Berikut hasil filtering
dari hasil tokenizing yang sebelumnya dilakukan :
Tabel 3.5 Tabel Hasil Filtering
Data Hasil Tokenizing Hasil Filtering
apa - yang - diajarkan - di - jurusan - teknik - informatika – unikom
diajarkan - jurusan- teknik - informatika - unikom
siapa - nama - kamu Nama
ada - berapa - jurusan - di - unikom jurusan - unikom kapan - unikom - berdiri unikom - berdiri
dimana - lokasi - kampus - unikom dimana - lokasi - kampus - unikom berapa - kali - unikom - juara - roket -
internasional
unikom - juara - roket - internasional
siapa - nama - rektor - unikom nama - rektor - unikom siapa - nama - ketua - program - studi - di
- teknik - informatika - unikom
nama - ketua - program - studi - teknik - informatika - unikom
hai Hai
visi - dari - teknik - informatika - unikom visi - teknik - informatika - unikom misi - dari - teknik - informatika - unikom misi - teknik - informatika - unikom
alamat - unikom alamat - unikom
singkatan - dari - unikom singkatan - unikom
syarat - - - syarat - masuk - unikom syarat - syarat - masuk - unikom apa - situs - teknik - informatika - unikom situs - teknik - informatika - unikom apa - situs - unikom situs - unikom
situs - dari - perwalian - unikom situs - perwalian - unikom apa - nama - website - nilai - online -
unikom
nama - website - nilai - online – unikom
maksimum - pengambilan - sks - di - teknik - informatika - unikom
maksimum - pengambilan - sks - teknik - informatika – unikom
(61)
Data Hasil Tokenizing Hasil Filtering
siapa - wakil - ketua - prodi - teknik - informatika - unikom
wakil - ketua - prodi - teknik - informatika - unikom
ada - berapa - kampus - di - jalan - dipati - ukur
kampus - jalan - dipati - ukur
3. Stemming
Setelah proses filtering dilakukan dan didapat hasilnya, berikutnya pertanyaan yang telah dikenai proses filtering akan dikenai proses stemming. Berikut hasil stemming dari hasil filtering yang sebelumnya dilakukan :
Tabel 3.6 Tabel Hasil Stemming
Data Hasil Filtering Hasil Stemming
diajarkan - teknik - informatika - unikom
ajar - jurus - teknik - informatika - unikom
nama nama
jurusan - unikom jurus - unikom
unikom - berdiri unikom - berdiri
dimana - lokasi - kampus - unikom dimana - lokasi - kampus - unikom unikom - juara - roket - internasional unikom - juara - roket - internasional nama - rektor - unikom nama - rektor - unikom
nama - ketua - program - studi - teknik - informatika - unikom
nama - ketua - program - studi - teknik - informatika - unikom
hai hai
visi - teknik - informatika - unikom visi - teknik - informatika - unikom misi - teknik - informatika - unikom misi - teknik - informatika - unikom alamat - unikom alamat – unikom
singkatan - unikom singkat - unikom
syarat - syarat - masuk - unikom syarat - syarat - masuk - unikom situs - teknik - informatika - unikom situs - teknik - informatika - unikom
situs - unikom situs - unikom
situs - perwalian - unikom situs - wali - unikom nama - website - nilai - online -
unikom
nama - website - nilai - online – unikom
maksimum - pengambilan - sks - teknik - informatika - unikom
maksimum - ambil - sks - teknik - informatika - unikom
wakil - ketua - prodi - teknik - informatika - unikom
wakil - ketua - prodi - teknik - informatika - unikom
(62)
Setelah semua proses dilakukan akan didapatkan kemunculan kata tiap pertanyaan untuk kemudian dijadikan pola-pola dari suatu pertanyaan. Tabel dibawah ini merupakan tabel pola hasil dari proses text mining pertanyaan-pertanyaan di database :
Tabel 3.7 Tabel Pola Yang Dihasilkan Text Mining
Kode
Pertanyaan Pola
D1 ajar[1] – jurus[1] – informatika[1] – unikom[1] D2 nama[1]
D3 jurus[1] – unikom[1] D5 unikom[1] – berdiri[1]
D6 dimana[1] – lokasi[1] – kampus[1] – unikom[1] D7 unikom[1] – juara[1] – roket[1] – internasional[1] D8 nama[1] – rektor[1] – unikom[1]
D9 nama[1] – ketua[1] – program[1] – studi[1] – teknik[1] – informatika[1] – unikom[1]
D10 hai[1]
D11 visi[1] – teknik[1] – informatika[1] – unikom[1] D12 misi[1] – teknik[1] – informatika[1] – unikom[1] D13 alamat[1] – unikom[1]
D14 singkat[1] – unikom[1]
D15 syarat[2] – masuk[1] – unikom[1]
D16 situs[1] – teknik[1] – informatika[1] – unikom[1] D17 situs[1] – unikom[1]
D18 situs[1] – wali[1] – unikom[1]
D19 nama[1] – website[1] – nilai[1] – online[1] – unikom[1] D20 maksimum[1] – ambilp[1] – sks[1] – teknik[1] –
informatika[1] – unikom[1]
D21 wakil[1] – ketua[1] – prodi[1] – teknik[1] – informatika[1]
– unikom[1]
D22 kampus[1] – jalan[1] – pati[1] – ukur[1]
Dari pola-pola tersebut dari tiap pertanyaan akan dihitung dengan pola yang dihasilkan dari pola pertanyaan pengguna chatbot dengan menggunakan metode TF-IDF.
(1)
17.
Perancangan Tampilan Kelola Data Tidak Ada Jawaban
T17
- Klik tombol logout menuju Tlogout - Klik Home untuk menuju T02 - Klik Data Pertanyaan menuju T03 - Klik Data Admin menuju T12 - Klik Tokenizing Bot menuju T16 - Klik Tidak Ada Jawaban menuju T17 - Klik Ganti Password menuju T19 - Klik Logout menuju T20 - Klik Tanda Edit menuju T18
Nomor form : T17 Ukuran Layar : 1366 X 768 Jenis / ukuran Font : Arial /12 Warna background : Putih
Home | Master | Setting Selamat datang User [Logout] Data Pertanyaan Tidak Ada Jawaban
Data Admin Ganti Password Tokenizing Bot
JAWABAN TIDAK KETEMU
Jawaban Tidak Ketemu Edit data jawaban tidak ketemu
Gambar 3.33 Perancangan Tampilan kelola Data Tidak Ada Jawaban
18.
Perancangan Tampilan Edit Data Tidak Ada Jawaban
T18
- Klik tombol Simpan melakukan proses edit data jawaban tidak ketemu dan akan menuju T17
- Klik tombol Batal menuju T17
Nomor form : T18 Ukuran Layar : 1366 X 768 Jenis / ukuran Font : Arial /12 Warna background : Putih
Jawaban
Edit Data Jawaban Tidak Ketemu
Simpan Batal
(2)
106
19.
Perancangan Tampilan Ganti Password
T19
- Klik tombol Ganti melakukan proses ganti password
Nomor form : T19 Ukuran Layar : 1366 X 768 Jenis / ukuran Font : Arial /12 Warna background : Putih
GANTI PASSWORD
Username Password Lama Password Baru Konfirmasi Password Baru
USERNAME YANG AKTIF
Ganti
Gambar 3.35 Perancangan Tampilan Ganti Password
20.
Perancangan Tampilan Logout
T20
- Klik link login menuju T01
Nomor form : T20 Ukuran Layar : 1366 X 768 Jenis / ukuran Font : Arial /12 Warna background : Putih
Anda telah berhasil logout dari sistem, tolong login untuk kembali mengakses halaman administrator chatbot
(3)
21.
Perancangan Tampilan Lupa Password
T21
- Klik tombol Kirim untuk melakukan proses reset password dan kembali ke T01
Nomor form : T21 Ukuran Layar : 1366 X 768 Jenis / ukuran Font : Arial /12 Warna background : Putih
LUPA PASSWORD
Username Email
Captcha
Kirim
Image captcha
Gambar 3.37 Perancangan Tampilan Lupa Password
22.
Perancangan Tampilan Chatting
T22
- Klik Setting Bahasa menuju ke form T23 - Klik Send untuk mengirimkan pertanyaan
ke chatbot
Nomor form : T22 Ukuran Layar : 1366 X 768 Jenis / ukuran Font : Arial /12 Warna background : Putih
Setting Bahasa
Send
(4)
108
23.
Perancangan Tampilan Menu Pilihan Bahasa
T23
- Drop down bahasa pilihan bahasa - Klik tombol Simpan untuk memilih suatu
bahasa dan menuju T22 - Klik tombol Batal menuju T22
Nomor form : T23 Ukuran Layar : 1366 X 768 Jenis / ukuran Font : Arial /12 Warna background : Putih
Bahasa Menu Bahasa
Simpan Batal
(5)
121
5.1
Kesimpulan
Setelah melakukan serangkaian pengujian aplikasi chatbot dengan
menggunakan metode
text mining
yang telah dibangun, dapat diambil kesimpulan
sebagai berikut :
1.
Metode
text mining
dapat diimplementasikan pada chatbot, akan tetapi
metode
text mining
tersebut kurang cocok untuk diimplementasikan
pada aplikasi chatbot karena pada
text mining
hanya menentukan
tingkat similaritas tertinggi tidak membandingkan pola-pola kalimat
yang dimiliki di chatbot tersebut, sehingga pendekatan bahasa
sehari-hari masih kurang efektif.
5.2
Saran
Setelah melalui proses pembangunan aplikasi chatbot maka perlu
dilakukan evaluasi lebih lanjut yaitu berupa saran untuk pengembangan aplikasi
yang lebih sempurna dengan harapan kebutuhan sistem yang belum tercapai saat
ini, dapat di lengkapi agar fungsional perangkat lunaknya dapat memenuhi
kebutuhan sistem yang ingin dicapai dimasa yang akan datang. Adapun
saran-saran terhadap pengembangan aplikasi ini adalah sebagai berikut.
1.
Design
tampilan chatting perlu dibuat lebih menarik.
2.
Perlu adanya
setting
kemampuan menjawab dari sebuah pertanyaan,
(6)