• Tidak ada hasil yang ditemukan

Penerapan metode text mining pada aplikasi chatbot

N/A
N/A
Protected

Academic year: 2017

Membagikan "Penerapan metode text mining pada aplikasi chatbot"

Copied!
122
0
0

Teks penuh

(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 : arwanda_vian@yahoo.com

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)

VIAN ARWANDA

10108467

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

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

(8)

iv

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.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

[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.

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

(14)

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.

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

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

(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

(18)
(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.1Konsep 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.2Pengertian 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.

(20)

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.4Karakteristik 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.5Komponen Sistem

(22)

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.

(23)

2.1.3.1Sejarah 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.

(24)

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.2Manfaat dan Kegunaan Internet

Kegunaan internet dapat dikelompokkan menjadi beberapa kelompok, yaitu :

1. Internet sebagai media informasi

(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.1Definisi 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.2Aturan 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)

3. Flowmap skematik. 4. Flowmap program. 5. Flowmap proses.

2.1.4.4Simbol Flowmap

Tabel 2.1 Simbol Flowmap

Simbol Nama

Proses

Keputusan

Dokumen

Penyimpanan data

Data

(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.2Komponen - 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.3Kardinalitas

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

(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.1Teori Text Mining

(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

(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

(34)

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?

Hapus Possesive Pronouns

Adakah kata di Kamus?

Adakah kata di Kamus?

Apakah ada kombinasi awalan-akhiran yang

dilarang?

Iterasi sudah mencapai 3 kali?

Adakah kata di Kamus?

(36)

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

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

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.

(40)

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.2Kategori 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:

(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.3Dasar 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 :

(42)

Cross Mapping Mapping Pola/Struktur

Parsing Pruning

Translate

Gambar 2.10 Prosedur Natural Language Processing (NLP)

2.1.9 HTML

2.1.9.1Definsi HTML

(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.2Tag - 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.

(44)

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.

(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

(48)

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.

(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

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

(52)

3. Analisis pengguna.

3.1.2.1Analisis 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

(53)

6. Hard Disk

a. Model : Hitachi HTS545032B9A300 ATA Device b. Kapasitas : 313GB

3.1.2.2Analisis 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.3Analisis 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.

(54)

Pengguna

Chatbot

Penentuan Jawaban

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

(55)

Tokenizing

Filtering

Stemming

Analyzing

Dokumen yang akan dikenai proses text mining

H

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?

Proses pemotongan kalimat ke kata (Tokenizing)

Proses

(56)

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.

(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

(58)

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

(60)

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

(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 teknik - informatika - unikom

maksimum - ambil - sks - teknik - informatika - unikom

wakil - ketua - prodi - teknik - informatika - unikom

wakil - ketua - prodi - teknik - informatika - unikom

(62)

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]

(63)

Token akan digunakan pada tabel perhitungan. Berikut contoh perhitungan pembobotan pada text mining :

1. Cari TF (Term Frequency) dari kata kunci dan tiap pertanyaan yang ada di database, berapa banyak kata di pertanyaan yang sama dengan kata yang ada pada token.

Tabel 3.8 Tabel perhitungan TF pada text mining

Token

TF Kata

Kunci D1 D2 D3 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D17 D18 D19 D20 D21 D22

ajar 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

alamat 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0

ambil 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

berdiri 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

dimana 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

hai 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

informatika 1 1 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 1 1 0

internasional 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

jalan 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

juara 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

jurus 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

kampus 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

ketua 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0

lokasi 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

maksimum 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

misi 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

nama 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0

nilai 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0

(64)

sks 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

studi 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

syarat 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0

teknik 1 1 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 1 1 0

ukur 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

unikom 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0

visi 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0

wakil 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0

wali 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

(65)

2. Hitung DF (Document Frequency) dan hitung hasil pembagian antara banyak pertanyaan dengan DF dari tiap kata di token berdasarkan pertanyaan di database. Cara menghitung DF adalah dengan menjumlahkan TF dari semua pertanyaan di database tanpa TF kata kunci yang ada di tabel 3.4 di atas, misalkan DF untuk token

“ajar” adalah 1. Sedangkan untuk menghitung banyak pertanyaan dibagi dengan DF

adalah banyaknya pertanyaan di database dibagi dengan DF yang sudah dihitung sebelumnya, banyak pertanyaan di database ada 14 dokumen. Contoh perhitungannya ada di tabel 3.5 berikut :

Tabel 3.9 Tabel perhitungan DF dan pembagian banyak dokumen dengan DF

Token DF Banyak

Dokumen

Banyak Dokumen /

DF

ajar 1.34 16.39 12.21

alamat 1.34 16.39 12.21

ambil 1.34 16.39 12.21

berdiri 1.34 16.39 12.21

dimana 1.34 16.39 12.21

hai 1.34 16.39 12.21

informatika -2.43 -9.04 3.71

internasional 1.34 16.39 12.21

jalan 1.34 16.39 12.21

juara 1.34 16.39 12.21

jurus 1.48 14.86 10.03

kampus 1.48 14.86 10.03

ketua 1.48 14.86 10.03

lokasi 1.34 16.39 12.21

maksimum 1.34 16.39 12.21

misi 1.34 16.39 12.21

nama 0.55 39.77 71.89

nilai 1.48 14.86 10.03

online 1.16 18.89 16.22

pati 1.34 16.39 12.21

prodi 1.34 16.39 12.21

program 1.34 16.39 12.21

rektor 1.34 16.39 12.21

(66)

unikom -21.03 -1.05 0.05

visi 1.34 16.39 12.21

wakil 1.34 16.39 12.21

wali 1.34 16.39 12.21

website 1.34 16.39 12.21

3. Hitung IDF (Inverse Document Frequency) dari tiap token dengan rumus : IDF(i) = log (Banyak Kalimat/DF(i))

Misalkan untuk token “ajar”, perhitungan IDF adalah sebagai berikut : LOG(22) =

1.34242268082221, pembulatan 2 angka dibelakang koma menjadi 1.34. 22 adalah hasil

pembagian dari banyaknya kalimat di database (22 pertanyaan) dengan DF token “ajar”

(1).

Tabel 3.10 Tabel perhitungan IDF pada text mining

Token IDF

ajar 1.34

alamat 1.34

ambil 1.34

berdiri 1.34

dimana 1.34

hai 1.34

informatika -0.35

internasional 1.34

jalan 1.34

juara 1.34

jurus 0.74

kampus 0.74

(67)

Token IDF

lokasi 1.34

maksimum 1.34

misi 1.34

nama 0.14

nilai 0.74

online 0.39

pati 1.34

prodi 1.34

program 1.34

rektor 1.34

roket 1.34

singkat 1.34

situs 0.39

sks 1.34

studi 1.34

syarat 1.34

teknik -0.35

ukur 1.34

unikom -1.17

visi 1.34

wakil 1.34

wali 1.34

website 1.34

4. Hitung bobot ( ) dari TF dan IDF menggunakan rumus :

Perhitungan bobot ( ) untuk token kata kunci dan token pertanyaan di database. Misalkan

untuk perhitungan bobot token kata kunci “ajar” adalah sebagai berikut : token kata kunci

TF dari “ajar” adalah 1 dikali dengan IDF token “ajar” yaitu 1.342422681 sehingga bobot

(68)
(69)
(70)
(71)

Setelah bobot ( ) masing-masing tiap kalimat diketahui maka dilakukan proses perhitungan menggunakan metode vector-space model. metode vector-space model adalah model aljabar untuk dokumen teks yang mewakili sebagai vektor pengenal. Dalam Metode vector-space model ini akan menghitung nilai cosinus sudut dari dua vektor, yaitu dari tiap kalimat dan dari kata yang diketikkan pengguna chatbot. Metode vector-space model digunakan agar nilai dari similaritas semakin presisi.

Dengan :

dj : dokumen ke – j

q : kata kunci

Wij : Bobot dokumen ke – j

Wiq : Bobot kata kunci

1. Hitung kuadrat dari bobot ( ) dari masing-masing pertanyaan dan kata kunci (tabel 3.8).

2. Hitung perkalian antara bobot ( ) kata kunci dengan bobot ( ) kata ke-i dari masing-masing pertanyaan di database (tabel 3.9).

3. Setelah proses perhitungan selesai kita jumlahkan kata kunci (KK2), tiap-tiap pertanyaan di database (Di2), dan KK*Di. Setelah itu cari squere root (akar

Gambar

Gambar 2.3 Contoh relasi banyak ke banyak
Gambar 2.10 Prosedur Natural Language Processing (NLP)
Gambar 2.13 Contoh penulisan javascript pada tag HTML
Gambar 3.3 Proses text mining
+7

Referensi

Dokumen terkait

Data login admin Data Lupa Password Data ubah password Data informasi Data kategori Data produk Data provinsi Data kota Data kecamatan Data jasa kirim Data paket kirim Data ongkos

Setelah berhasil melakukan reset alat maka Admin dapat mengganti password lama dengan password yang baru dengan format penulisan yang sama saat melakukan setting

Login Masu kan Usern ame dan pass word Username dan Password benar, login berhasil Berhasil Login username dan password salah maka login gagal Gagal Login Uploa

password tidak diisi kemudian tekan tombol login Username : (admin) password : (kosong) sistem akan menolak login dan menampilkan pesan “ Login gagal, username dan

a. Aktor admin atau operator masuk ke halaman login, lalu masukkan email dan password. Sebelumnya sudah membuat akun dan login sebagai admin. Setelah itu akan masuk ke

Halaman ini akan tampil setelah admin berhasil login kemudian admin mengklik menu data karyawan, halaman ini digunakan admin untuk menampilkan data karyawan dengan tombol

Hasil Pengujian Blackbox Kelas Uji Butir Uji Jenis Pengujian Hasil Login Verifikasi Username dan Password Sistem Berhasil Admin Lihat data admin Sistem Berhasil

Hasil Alpha Testing KELAS UJI DETAIL PENGUJIAN HASIL Mulai aplikasi Membuka aplikasi Berhasil Login Menginput email dan password untuk masuk ke menu utama Berhasil Admin