Penerapan metode text mining pada aplikasi chatbot

(1)

(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)