repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_full.pdf · v halaman motto “ jika...

177
i KLASIFIKASI DOKUMEN SKRIPSI TEKNIK INFORMATIKA MENGGUNAKAN METODE ROCCHIO SKRIPSI Diajukan untuk memenuhi salah satu syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika Disusun oleh: Andreas Hemawan Tri Nurdianto NIM : 055314017 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS dan TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2010

Upload: others

Post on 07-Dec-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

i

KLASIFIKASI DOKUMEN SKRIPSI

TEKNIK INFORMATIKA

MENGGUNAKAN METODE ROCCHIO

SKRIPSI

Diajukan untuk memenuhi salah satu syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Informatika

Disusun oleh:

Andreas Hemawan Tri Nurdianto

NIM : 055314017

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS dan TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2010

Page 2: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

ii

CLASSIFICATION OF INFORMATIC ENGINEERING

FINAL PROJECT DOCUMENT

USING ROCCHIO METHOD

A THESIS

Presented as Partial Fulfillment of the Requirements

To Obtain the Sarjana Teknik Degree

In Informatics Engineering Department

By :

Andreas Hemawan Tri Nurdianto

NIM : 055314017

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2010

Page 3: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

iii

Page 4: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

iv

Page 5: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

v

HALAMAN MOTTO

“ Jika permainan telah dimulai janganlah mundur walaupun sering gagal

dalam melewati tiap level dalam permainan, tetaplah mencoba dan jangan

menyerah karena semua pasti akan ada jalan menuju ke kebahagiaan “

Bocah bagus anakku lanang,

Aja wedi , goleko pepadhange dalan, ora kendhat anggonku ngengudhang,

Duh bocah bagus anakku lanang,

Wong tua dudu raja, sing dak wariske dudu bandha donya,

Sangumu mung isi pitutur , muga dadi titah kang luhur.

Anak lanang bagusing ati,

Aja lali anggonmu memuji, Marang Gusti kang murbeng dumadi,

Mugo dadi padhange ati.

Urip ing ndonya iku sadhelo,

Urip ing kono koyo samudro,

Mula ngger, ojo wegah podho tetanen, ing kono mbesuk bakal panen.

Bocah bagus anakku lanang,

Aja nganti ninggal piwulang, mumpung jembar goleko pepadhang,

Ojo jirih ing pepalang.

Sejatine ora ono opo – opo,

Sejatine jagad awujud suwung, ora warno lan ora rupo,

Sing ana mung awing – uwung.

Akehing bandha dudu ukuran,

Drajat lan pangkat dudu takeran,

Lan pepujane rasa dudu anak, pagering jiwo dudu sanak.

Wong tuwamu dudu dewo, ora wenang nulis garise manungso,

Sangumu mung isi pitutur, mugo dadi titah kang luhur.

“People’s Dreams have no end”

Page 6: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

vi

PERNYATAAN KEASLIAN KARYA

Saya menyatakan sesungguhnya bahwa skripsi yang saya tulis ini tidak

memuat karya orang lain kecuali telah disebutkan dalam kutipan atau daftar

pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, September 2010

Penulis,

Andreas Hemawan T. N

Page 7: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

vii

PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : Andreas Hemawan Tri Nurdianto

NIM : 055314107

Demi pengembangan ilmu pengetahuan,saya memberikan kepada perpustakaan

Universitas Sanata Dharma karya ilmiah saya yang berjudul :

KLASIFIKASI DOKUMEN SKRIPSI

TEKNIK INFORMATIKA

MENGGUNAKAN METODE ROCCHIO

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan

kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan

dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data,

mendistribusikannya secara terbatas dan mempublikasikannya di internet atau media

lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun

memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai

penulis. Demikian pernyataan ini yang saya buat dengan sebenarnya.

Dibuat di Yogyakarta,

Pada tanggal : September 2010

Yang menyatakan

(Andreas Hemawan Tri Nurdianto)

Page 8: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

viii

ABSTRAK

Skripsi merupakan tugas akhir mahasiswa sebagai syarat kelulusan. Setiap

tahun skripsi akan terus bertambah banyak seiring dengan kelulusan mahasiswa.

Sebagai akibatnya jumlah informasi yang didapat dari skripsi akan terus

bertambah banyak. Skripsi ini bertujuan membuat suatu aplikasi yang dapat

mengklasifikasikan skripsi berdasarkan dokumen – dokumen abstrak yang telah

ada. Menggunakan teknik sistem temu kembali informasi .

Sistem temu kembali informasi (information retrieval system) digunakan

untuk menemukan kembali (retrieve) informasi - informasi yang relevan terhadap

kebutuhan pengguna dari suatu kumpulan informasi secara otomatis. Dengan

sistem informasi temu kembali, terdapat dua proses penting yaitu proses indexing

dan pencarian dokumen. Proses indexing adalah proses pemberian bobot kata

berdasarkan frekuensi kemunculan kata pada satu dokumen dan menyimpannya

kedalam koleksi dalam database yang disebut index. Index yang terbentuk dapat

digunakan untuk pencarian dokumen yang sesuai dengan query user, dimana hasil

pencarian disusun berdasarkan tingkat kemiripan dokumen. Proses pencarian

kemiripan inilah yang digunakan untuk melakukan klasifikasi dokumen atau teks.

Untuk melakukan klasifikasi digunakan vector space model dengan term

(kata) sebagai pembentuk ruang vektor. Setiap vektor term mengandung bobot

yang digunakan untuk menghitung tingkat kemiripan dokumen. Tingkat

kemiripan dokumen dihitung menggunkan cosinus similarty. Untuk klasifikasi

dokumen menggunakan algoritma rocchio. Dalam algoritma rocchio terdapat 2

proses penting yaitu training dan testing. Proses training dilakukan secara

manual, betujuan untuk membetuk model dokumen yang merupakan centroid dari

sebuah kategori dokumen. Kategori dokumen yang digunakan adalah basisdata,

jaringan dan komputasi. Proses testing adalah proses pengujian dimana dokumen

akan secara otomatis diklasifikasikan oleh sistem.

Skripsi ini menggunakan 60 dokumen abstrak skripsi sebagai model

training dan 10 dokumen abstrak skripsi untuk pengujian. Untuk menghitung

tingkat precision dilakukan dengan membandingkan hasil quisioner dan hasil

klasifikasi sistem. Dari hasil perhitungan tingkat precision didapatkan precision

terendah 80% dan precision tertinggi 100% dari kuisioner yang dibagikan kepada

responden sebanyak 30 orang. Precision rata – rata adalah 93.67% dan hasil ini

baik.

Page 9: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

ix

ABSTRACT Thesis is the final project, students as a condition of graduation. Each year

the paper will continue to grow much in line with the graduation of students. As a

result of information obtained from theses will continue to increase. This thesis

aims to create an application that can classify the thesis based on the document -

the document has no abstract. The methodology used is the information retrieval

system.

Information retrieval system (information retrieval system) used to find the

back (retrieve) information - information that is relevant to the needs of users

from a collection of information automatically. With information retrieval

systems, there are two important processes: process indexing and searching

documents. Indexing process is the process of weighting by frequency of

occurrence of words in a word document and save it into a collection in a database

called the index. Index that is formed can be used to search according to user

queries, where search results have been prepared based on the similarity of the

relevant documents to irrelevant documents based on similarities in the training

documents with user queries. Similarity search process is used to perform the

classification of documents or texts.

This thesis documents menggunkan 60 abstract theses as a model training

and 10 thesis abstracts documents for testing. Precision is done by comparing the

results of questionnaires and the results of the classification system. Number of is

respondents 30 people and the lowest precision is 80% and the highest precision is

100%. Precision - average is 93.67% and show the good result.

Page 10: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

x

KATA PENGANTAR

Puji syukur kepada Tuhan Yang Maha Esa karena atas segala berkat dan

rahmat-Nya penulis dapat menyelesaikan skripsi dengan judul “Klasifikasi

Dokumen Skripsi Teknik Informatika Menggunakan Metode Rocchio”.

Penulisan skripsi ini diajukan untuk memenuhi salah satu syarat

memperoleh gelar Sarjana Teknik Program Studi Teknik Informatika Universitas

Sanata Dharma Yogyakarta.

Dengan terselesaikannya penulisan skripsi ini, penulis mengucapkan

terima kasih kepada pihak-pihak yang telah membantu memberikan dukungan

baik berupa masukan ataupun berupa saran. Ucapan terima kasih ditujukan kepada

:

1. Bapak dan Ibu yang telah memberi dukungan kepada penulis baik moral,

spiritual maupun material selama masa studi.

2. Bapak Puspaningtyas Sanjaya Adi, S.T., M.T. selaku Ketua Jurusan

Teknik Informatika Fakultas Sains dan Teknologi Universitas Sanata

Dharma Yogyakarta dan dosen pembimbing yang telah memberikan

dukungan, bantuan dan dorongan kepada penulis selama mengikuti proses

perkuliahan sampai dengan penyelesaian skripsi ini.

3. Bapak Yosef Agung Cahyanta,.S.T,M.T. selaku Dekan Fakultas Sains dan

Teknologi Universitas Sanata Dharma Yogyakarta.

4. Kakak dan Adik tersayang atas doa dan dukungannya.

5. Y.Yeni Setiawan, Hendri Cahyana, Ig. Dimas Sukma Sadewa, Cahyo

Herdian, Nikolas Niko, Charli Saragih, Y.F Dyna Sulistiyowati, Y. Santo

Dwi, Agung Pratnyawan, Andrianto, Adi Susila, semua teman-teman

Teknik Informatika angkatan 2005 dan 2006 yang telah menemani dan

memberi semangat yang sangat berarti sehingga akhirnya skripsi ini dapat

terselesaikan.

Page 11: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

xi

Dalam penulisan skripsi ini, pastilah masih banyak kekurangan dan hal

yang perlu diperbaiki. Oleh karena itu saran dan kritik dari pembaca yang

sekiranya dapat membangun sangat penulis harapkan.

Akhir kata, semoga penulisan skripsi ini berguna untuk menambah

wawasan ataupun menjadi referensi bagi para pembaca sekalian khususnya pada

mahasiswa Teknik Informatika.

Yogyakarta, 17 September 2010

Penulis

Page 12: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

xii

DAFTAR ISI

HALAMAN JUDUL INDONESIA ........................................................................ .i

HALAMAN JUDUL ENGLISH............................................................................ .ii

HALAMAN PERSETUJUAN .............................................................................. .iii

HALAMAN PENGESAHAN ................................................................................ iv

HALAMAN MOTTO ............................................................................................. v

PERNYATAAN KEASLIAN KARYA ................................................................ vi

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK

KEPENTINGAN AKADEMIS ............................................................................ vii

ABSTRAK ........................................................................................................... viii

ABSTRACT ........................................................................................................... ix

KATA PENGANTAR ............................................................................................ x

DAFTAR ISI ......................................................................................................... xii

DAFTAR TABEL ................................................................................................. xv

DAFTAR GAMBAR ........................................................................................... xvi

BAB I ...................................................................................................................... 1

PENDAHULUAN .................................................................................................. 1

1.1 Latar Belakang ......................................................................................... 1

1.2 Rumusan Masalah .................................................................................... 2

1.3 Batasan Masalah ....................................................................................... 2

1.4 Tujuan Penelitian ...................................................................................... 3

1.5 Metodologi Penelitian .............................................................................. 3

1.6 Sistematika Penulisan ............................................................................... 4

BAB II ..................................................................................................................... 6

LANDASAN TEORI .............................................................................................. 6

2.1 Pengertian Sistem Temu-kembali Informasi ................................................. 6

2.2 Pengindeksan (Indexing) Dalam Sistem Temu-Kembali Informasi ............. 6

2.3 Model Ruang Vektor .................................................................................. 14

2.4 Algoritma Rocchio Clasification................................................................. 16

2.5 Evaluasi Pengujian Sistem ......................................................................... 23

Page 13: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

xiii

BAB III ................................................................................................................. 24

ANALISIS DAN PERANCANGAN SISTEM .................................................... 24

3.1 Gambaran Umum Sistem ............................................................................ 24

3.1.1 Analisis Kebutuhan .............................................................................. 29

3.2 Analisa Sistem ............................................................................................. 30

3.2.1 Model Use Case ................................................................................... 30

3.2.1.1 Actor ............................................................................................... 30

3.2.1.2 Diagram Use Case.......................................................................... 31

3.2.1.3 Tabel Use Case .............................................................................. 31

3.2.2 Skenario Use Case ............................................................................... 33

3.2.3 Model Analisis .................................................................................... 34

3.2.3.1 Realisasi Use case ......................................................................... 34

3.2.3.2 Diagram Kelas Keseluruhan ......................................................... 35

3.3 Desain Sistem ............................................................................................ 35

3.3.1 Kelas Perancangan .............................................................................. 35

3.3.2 Atribut dan Method ............................................................................. 41

3.3.3 Prototype Antarmuka ......................................................................... 41

3.3.4 Desain Database ................................................................................. 41

3.3.5 Rencana Pengujian dan Evaluasi ........................................................ 45

BAB IV ................................................................................................................. 46

IMPLEMENTASI ................................................................................................. 46

4.1 Implementasi .............................................................................................. 46

4.1.1 Implementasi Antarmuka / View ......................................................... 46

4.1.2 Implementasi Contro ............................................................................ 48

4.1.3 Implementasi Model............................................................................. 48

4.1.4 Implementasi Entitas / Tabel ................................................................ 51

4.2 Pengujian Hasil Rekomendasi.................................................................... 51

BAB V ................................................................................................................... 55

ANALISIS HASIL ................................................................................................ 55

5.1 Kesimpulan ................................................................................................. 55

5.2 Saran ............................................................................................................ 55

Page 14: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

xiv

Daftar Pustaka ....................................................................................................... 58

Lampiran 1 ……………….……………………………………………...…….....60

Lampiran 2 ……………….……………………………………………...……......73

Lampiran 3 ……………….……………………………………………...……......92

Lampiran 4 ……………….……………………………………………...……......93

Lampiran 5 ……………….……………………………………………...……....125

Lampiran 6 ……………….……………………………………………...……....133

Lampiran 7 ……………….……………………………………………...……....143

Lampiran 8 ……………….……………………………………………...……....148

Page 15: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

xv

DAFTAR TABEL

Tabel 2.1. Kombinasi Awalan Akhiran yang Tidak Diijinkan ............................. 10

Tabel 2.2. Cara Menentukan Tipe Awalan Untuk Kata yang Diawali dengan “te-”

........................................................................................................................ 11

Tabel 2.3. Jenis Awalan Berdasarkan Tipe Awalannya ........................................ 11

Tabel 2.4. Pembobotan (TF/IDF) Dokumen ......................................................... 13

Tabel 2.5 Pencarian centroid kategori .................................................................. 18

Tabel 2.6 Contoh dokumen query ......................................................................... 20

Tabel 2.7 Dasar perhitungan Similarity ................................................................ 20

Tabel 3.8 Tabel aktor yang terlibat ....................................................................... 30

Tabel 3.9 Tabel Use Case...................................................................................... 31

Tabel 3.10 Tabel Skenario Use Case .................................................................... 33

Tabel 3.11 Tabel Realisasi Use Case .................................................................... 34

Tabel 3.12 Tabel Kelas Perancangan .................................................................... 36

Tabel 3.13 Tabel Prototype Antarmuka ................................................................ 41

Tabel 4.14 Implemantasi antarmuka ..................................................................... 46

Tabel 4.15 Implemantasi Kontrol ......................................................................... 48

Tabel 4.16 Implementasi Model ........................................................................... 48

Tabel 4.17 Implementasi Entity / Tabel ................................................................ 51

Tabel 4.18 Hasil perhitungan similarity sistem..................................................... 52

Tabel 4.19 Hasil kuisioner responden ................................................................... 52

Tabel 4.20 Hasil Precision .................................................................................... 53

Tabel 4.21 Daftar term yang masuk dalam 3 kategori .......................................... 53

Tabel 4.22 Daftar term yang masuk dalam 3 kategori …………………...……....53

Tabel 5.23 Atribut dan Metode…………………………………………...…….....53

Tabel 5.24 Daftar Call Procedur ………………………………………………...146

Page 16: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

xvi

DAFTAR GAMBAR

Gambar 2.1 Proses parsing kata .............................................................................. 7

Gambar 2.2 Proses stoplist ...................................................................................... 8

Gambar 2.3 Ilustrasi Algoritma TF-IDF ............................................................... 13

Gambar 2.4 Ilustrasi perhitungan centroid ............................................................ 18

Gambar 3.5 Gambar proses klasifikasi keseluruhan ............................................. 25

Gambar 3.6 Gambar Proses indexing(a), pembuatan model(b) ............................ 26

Gambar 3.7 Gambar Proses Klasifikasi ................................................................ 27

Gambar 3.8 Gambar model proses indexing ......................................................... 27

Gambar 3.9 Gambar model klasifikasi dokumen .................................................. 28

Gambar 3.10 Gambar Proses Pencarian Dokumen ............................................... 29

Gambar 3.11 Diagram Use Case ........................................................................... 31

Gambar 3.12 Class diagram ................................................................................. 42

Gambar 3.13 Rancangan database ........................................................................ 43

Page 17: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Skripsi merupakan tugas akhir mahasiswa sebagai syarat kelulusan. Setiap

tahun skripsi akan terus bertambah banyak seiring dengan kelulusan mahasiswa.

Sebagai akibatnya jumlah informasi yang didapat dari skripsi akan terus

bertambah banyak.

Banyaknya informasi seharusnya memberikan manfaat bagi user. Namun

terkadang tidak mudah untuk mengetahui informasi yang berkaitan. Kerterbatasan

waktu atau mungkin perangkat bisa menjadi penyebabnya. Oleh karena itu,

dibutuhkan suatu metode pengelompokkan dokumen skripsi untuk mempermudah

dalam pengambilan informasi sesuai kebutuhan user. Klasifikasi merupakan salah

satu metode yang dapat digunakan untuk menemukan keterkaitan antar dokumen.

Tujuan klasifikasi adalah untuk memisahkan sekumpulan dokumen ke dalam

beberapa kelompok atau kelas dengan menilai kemiripan antar dokumen dari segi

konten. Pengelompokan skripsi - skripsi yang saling berkait ini, akan membantu

user untuk menemukan informasi yang dibutuhkan.

Ada banyak metode klasifikasi dokumen. Disini penulis menggunakan

metode klasifikasi berbasis vector space yang merepresentasikan dokumen

sebagai fitur vector dari term yang muncul pada semua dokumen. Setiap fitur

vector mengandung bobot term atau frekuensi term yang ada pada dokumen

Page 18: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

2

tersebut. Kesamaan antar dokumen dihitung menggunakan perhitungan yang

berbasis fitur vector seperti cosine measure.

Pada skripsi ini basis vector space yang digunakan untuk melakukan

klasifikasi adalah Rocchio Clasification yang menghitung term dalam suatu

dokumen, centroid dari tiap term dalam suatu kategori / kelompok dan juga

menghitung tingkat kemiripan dokumen.

Penggunaan algoritma Rocchio sebagai algoritma klasifikasi, diharapkan

menghasilkan aplikasi yang dapat bermanfaat dalam teknologi informasi,

misalnya aplikasi klasifikasi dokumen skripsi teknik informatika yang dapat

mempermudah pencarian informasi mengenai suatu kategori tertentu.

1.2 Rumusan Masalah

Bagaimana membangun applikasi klasifikasi dokumen skripsi di Teknik

Informatika?

1.3 Batasan Masalah

Adapun batasan aplikasi klasifikasi dokumen skripsi Teknik Informatika adalah

sebagai berikut :

1. Dokumen yang dapat diproses adalah dokumen teks (*.txt).

2. Data dokumen diambil dari judul, abstrak skripsi dari Fakultas Teknik

Informatika Sanata Dharma dan Universitas Kristen Duta Wacana

(http://lecturer.ukdw.ac.id/katalog/).

Page 19: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

3

3. Jenis pengklasifikasian skripsi untuk pengujian dibagi menjadi 3 kategori

yaitu basisdata, komputasi dan jaringan.

1.4 Tujuan Penelitian

Adapun tujuan penulisan skripsi adalah sebagai berikut:

1. Membangun sistem klasifikasi dokumen skripsi Teknik Informatika.

2. Membangun sistem yang dapat membantu mahasiswa dalam pencarian

dokumen skripsi.

1.5 Metodologi Penelitian

Dalam penyusunan skripsi dan pembuatan aplikasi klasifikasi dokumen skripsi

Teknik Informatika, dipakai beberapa metode untuk mencari informasi yang

diperlukan, yaitu:

1. Metode pengumpulan data :

a. Studi literatur

Mencari dan mengumpulkan literatur - litaratur yang berkaitan

dengan permasalahan yang dikerjakan, yaitu mengenai klasifikasi

dokumen dengan menggunakan algoritma Rocchio.

b. Pembagian kuisioner untuk melakukan uji presisi aplikasi

2. Metode pengembangan sistem

Metode perancangan sistem yang digunakan adalah metode berorientasi

objek Rational Unified Process (Building Web Applications with UML,

Jim Conallen). Adapun langkah-langkahnya adalah :

Page 20: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

4

a. Inception

Mempelajari masalah-masalah yang timbul dan menentukan

kebutuhan-kebutuhan bagi pemakai sistem untuk mengidentifikasi

pemecahan yang beralasan.

b. Elaboration

Menggambarkan bagaimana suatu sistem dibentuk termasuk

menyangkut konfigurasi dari komponen-komponen perangkat

lunak dari suatu sistem.

c. Construction

Merupakan tahapan pembangunan sistem sesuai dengan model

analisis dan perancangan pada fase-fase berikutnya.

d. Transistion

Membuat apa yang sudah dimodelkan menjadi suatu produk jadi.

1.6 Sistematika Penulisan

Bab I Pendahuluan

Memberikan gambaran secara umum tentang isi skripsi yang meliputi:

latar belakang, rumusan masalah, batasan masalah, tujuan dan manfaat, metode

penelitian dan sistematika penulisan.

Bab II Landasan Teori

Berisi konsep dasar sistem temu-kembali informasi (information retrieval

system), bagian-bagian dari sistem temu kembali informasi, teknik-teknik temu-

kembali informasi dan metode klasifikasi rocchio.

Page 21: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

5

Bab III Analisa dan Perancangan

Berisi gambaran umum sistem, metode pengumpulan data, usecase

diagram, sekenario perancangan, analisa peracangan, perancangan basis data,

perancangan tampilan masukan dan keluaran untuk pengguna.

Bab IV Implementasi dan Pengujian

Bab ini menjelaskan tentang implementasi ke dalam bentuk program

berdasarkan desain yang telah dibuat dan pengujian applikasi dalam bentuk olah

hasil kuisioner.

Bab V Kesimpulan dan Saran

Bab ini berisi semua kesimpulan yang didapatkan dari penelitian yang

telah dilakukan. Kesimpulan menjawab rumusan masalah yang dituliskan pada

bab pendahuluan secara ringkas dan jelas.

DAFTAR PUSTAKA

LAMPIRAN

Page 22: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

6

BAB II

LANDASAN TEORI

2.1 Pengertian Sistem Temu-kembali Informasi

Sistem temu-kembali informasi adalah suatu proses untuk

mengidentifikasi, kemudian memanggil (retrieve) suatu dokumen dari suatu

simpanan (file), sebagai jawaban atas pemintaan informasi. Menurut Lancaster

(1968) dalam Rijsbergen (1979): “Sebuah information retrieval system (Sistem

Temu-kembali Informasi) tidak memberitahu (yakni tidak mengubah

pengetahuan) pengguna mengenai masalah yang ditanyakannya. Sistem tersebut

hanya memberi-tahukan keberadaan (atau ketidakberadaan) dan keterangan

dokumen-dokumen yang berhubungan dengan permintaannya”.

2.2 Pengindeksan (Indexing) Dalam Sistem Temu-Kembali

Informasi

Indexing merupakan sebuah proses untuk melakukan pengindeksan terhadap

kumpulan dokumen yang akan disediakan sebagai informasi kepada pemakai.

Proses pengindeksan bisa secara manual ataupun secara otomatis. Dewasa ini,

sistem pengindeksan secara manual mulai digantikan oleh sistem pengindeksan

otomatis. Adapun tahapan dari pengindeksan adalah sebagai berikut :

Parsing Dokumen yaitu proses pengambilan kata-kata dari kumpulan

dokumen.

Stoplist yaitu proses pembuangan kata buang seperti: tetapi, yaitu,

sedangkan, dan sebagainya.

Page 23: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

7

Stemming yaitu proses penghilangan/ pemotongan dari suatu kata

menjadi bentuk dasar. Kata “diadaptasikan” atau “beradaptasi” mejadi

kata “adaptasi” sebagai istilah.

Term Weighting dan Inverted File yaitu proses pemberian bobot pada

istilah.

Berikut ini adalah penjelasan tiap tahap pengindeksan dokumen :

Parsing

Untuk pemrosesan, dokumen dipilah menjadi unit-unit yang lebih kecil

misalnya berupa kata. Unit pemrosesan tersebut disebut sebagai token. Parsing

merujuk pada proses pengenalan token yang terdapat dalam rangkaian teks

(Grossman, 2002). Dalam proses parsing memerlukan suatu pengetahuan bahasa

untuk menangani karakter-karakter khusus, serta menentukan batasan satuan unit

dalam dokumen.

Gambaran proses parsing adalah sebagai berikut :

Gambar 2.1 Proses parsing kata

Proses parsing juga mengunakan daftar kata buang (stoplist) yakni daftar

kata-kata yang tidak digunakan (dibuang) karena tidak signifikan dalam

Dokumen

Kalkulus Mahasiswa mengerti dan menguasai:

konsep pendiferensialan dan

pengintegralan; penerapan konsep itu dalam berbagai

kegiatan teknik.

Fungsi, limit dan kontinuitas Operasi pendiferensialan dan

penerapannya;

Token

Kalkulus

Mahasiswa

Mengerti

Dan

Menguasai

Fungsi

Limit

Page 24: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

8

membedakan dokumen atau kueri misalnya kata-kata tugas seperti yang, dan,

hingga, dan dengan. Berikut ini adalah gambaran proses stoplist :

Gambar 2.2 Proses stoplist

Stemming

Stemming yaitu proses penghilangan/ pemotongan dari suatu kata menjadi

bentuk dasar. Kata “diadaptasikan” atau “beradaptasi” mejadi kata “adaptasi”

sebagai istilah. Stemming dilakukan dengan membandingkan kata yang telah

dihilangkan imbuhannya dengan kata dasar dalam kamus. Stemming yang

digunkan adalah stemming Nazief and Adriani’s. Algoritma skema yang berasal

Adriani dan Nazief digambarkan dalam laporan teknis yang tidak dipublikasikan

dari Universitas Indonesia (1996).

Berikut adalaherikut adalah algortima stemming Nazief and Adriani’s :

a) Cari kata yang akan distem dalam kamus. Jika ditemukan maka

diasumsikan bahwa kata tesebut adalah root word. Maka algoritma

berhenti.

Dokumen Mahasiswa dapat membuat program komputer dengan

menggunakan pendekatan

terstruktur menggunakan

konsep fungsi dan library

Token

Mahasiswa

Dapat

Membuat

Program

komputer

Dengan

Menggunakan

… Stopword

Dengan

Dan Dapat

Yang

Hasil dari

stopword

Mahasiswa

Membuat

Program

komputer

Menggunakan

Page 25: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

9

b) Inflection Suffixes (“-lah”, “-kah”, “-ku”, “-mu”, atau “-nya”) dibuang.

Jika berupa particles (“-lah”, “-kah”, “-tah” atau “-pun”) maka langkah ini

diulangi lagi untuk menghapus Possesive Pronouns (“-ku”, “-mu”, atau “-

nya”), jika ada.

c) Hapus Derivation Suffixes (“-i”, “-an” atau “-kan”). Jika kata ditemukan di

kamus, maka algoritma berhenti. Jika tidak maka ke langkah 3a

I. Jika “-an” telah dihapus dan huruf terakhir dari kata tersebut adalah

“-k”, maka “-k” juga ikut dihapus. Jika kata tersebut ditemukan

dalam kamus maka algoritma berhenti. Jika tidak ditemukan maka

lakukan langkah 3b.

II. Akhiran yang dihapus (“-i”, “-an” atau “-kan”) dikembalikan,

lanjut ke langkah 4.

d) Hapus Derivation Prefix. Jika pada langkah 3 ada sufiks yang dihapus

maka pergi ke langkah 4a, jika tidak pergi ke langkah 4b.

I. Periksa tabel kombinasi awalan-akhiran yang tidak diijinkan. Jika

ditemukan maka algoritma berhenti, jika tidak pergi ke langkah

4b.

II. For i = 1 to 3, tentukan tipe awalan kemudian hapus awalan. Jika

root word belum juga ditemukan lakukan langkah 5, jika sudah

maka algoritma berhenti. Catatan: jika awalan kedua sama dengan

awalan pertama algoritma berhenti.

e) Melakukan Recoding.

Page 26: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

10

f) Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal

diasumsikan sebagai root word. Proses selesai.

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.

3. Jika dua karakter pertama bukan “di-”, “ke-”, “se-”, “te-”, “be-”, “me-”,

atau “pe-” maka berhenti.

4. Jika tipe awalan adalah “none” maka berhenti. Jika tipe awalan adalah

bukan “none” maka awalan dapat dilihat pada Tabel 2.2. Hapus awalan

jika ditemukan.

Tabel 2.1. Kombinasi Awalan Akhiran yang Tidak Diijinkan

Awalan Akhiran yang tidak diijinkan

be- -i

di- -an

ke- -i, -kan

me- -an

se- -i, -kan

Page 27: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

11

Tabel 2.2. Cara Menentukan Tipe Awalan Untuk Kata yang Diawali dengan “te-”

Following Characters Tipe

Awalan Set 1 Set 2 Set 3 Set 4

“-r-“ “-r-“ - - None

“-r-“ Vowel ter-luluh

“-r-“ not (vowel or

“-r-”)

“-er-“ vowel Ter

“-r-“ not (vowel or

“-r-”)

“-er-“ not vowel ter-

“-r-“ not (vowel or

“-r-”)

not “-er-“ - Ter

not (vowel or

“-r-”)

“-er-“ vowel - None

not (vowel or

“-r-”)

“-er-“ not vowel - Te

Tabel 2.3. Jenis Awalan Berdasarkan Tipe Awalannya

Tipe Awalan Awalan yang harus dihapus

di- di-

ke- ke-

se- se-

te- te-

Ter ter

ter-luluh ter

Pembobotan kata

Dalam menentukan bobot suatu istilah tidak hanya berdasarkan frekuensi

kemunculan istilah di satu dokumen, tetapi juga memperhatikan frekuensi terbesar

pada suatu istilah yang dimiliki oleh dokumen bersangkutan. Hal ini untuk

Page 28: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

12

menentukan posisi relatif bobot dari istilah dibanding dengan istilah-istilah lain di

dokumen yang sama. Didalam memberikan bobot pada sebuah istilah teknik yang

paling sering digunakan adalah TF/IDF (term frequency (tf), dan inverse dokumen

frequency (idf)). Term Frequency (tf) adalah jumlah kemunculan suatu kata

dalam sebuah dokumen dan Inverse document frequency (idf) adalah inverse

document frequency dari suatu kata.

Adapun rumus pembobotan Salton (1989) adalah sebagai berikut:

w(t,d) = tft,d * idft = tf(t,d )* log2(N/nt) ……….. (2.1)

Dimana :

w(t,d) = bobot dari term(kata) t dalam dokumen d.

tf(t,d) = frekuensi kemunculan term(kata) t dalam dokumen d.

Idfd = Inverse document frequency dari kata t

N = jumlah seluruh dokumen

nt = jumlah dari dokumen yang ditraining yang mengandung nilai t.

Algoritma TF-IDF dalam sistem temu kembali dapat diilustrasikan pada

gambar berikut :

Page 29: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

13

D = 5

tf (t) = 4 tf (t) = 3 tf (t) = 0 tf (t) = 0 tf (t) = 1

df(t) = 3

IDF(t) = log2(D/df(t)) = log2(5/3) =1.3219

Wt,d = (tft,d * IDFt)

W(D1) = (4 * 1.3219) = 5.2877

W(D2) = (3 * 1.3219) = 3.9658

W(D3) = (0 * 1.3219) = 0

W(D4) = (0 * 1.3219) = 0

W(D5) = (1 * 1.3219) = 1.3219

..basisdata..

..basisdata..

..basisdata..

…………..

...basisdata

D1

..basisdata..

…………...

..basisdata..

…………..

...basisdata

D2

……….....

…………...

..……….....

…………..

…………..

D3

…………...

…………...

…………...

…………..

………….

D4

…………...

..basisdata..

…………..

D5

Gambar 2.3 Ilustrasi Algoritma TF-IDF

Fungsi metode ini adalah untuk mencari representasi nilai dari tiap-tiap

dokumen dari suatu kumpulan data training (training set).

Berikut contoh pembobotan dokumen yang telah diindekskan :

Tabel 2.4. Pembobotan (TF/IDF) Dokumen

Kategori Dokumen Term Tf df Idf W

C1 D1 basisdata 3 2 1.584963 4.754888

D1 DBMS 2 2 1.584963 3.169925

D1 relational 1 2 1.584963 1.584963

D1 constraint 1 2 1.584963 1.584963

D1 view 1 1 2.584963 2.584963

D1 algebra 1 2 1.584963 1.584963

D1 data 2 1 2.584963 5.169925

D1 Normalization 1 1 2.584963 2.584963

D2 aman 1 1 2.584963 2.584963

D2 basisdata 2 2 1.584963 3.169925

D2 Query 2 1 2.584963 5.169925

D2 constraint 2 2 1.584963 3.169925

D2 relational 2 2 1.584963 3.169925

D2 DBMS 1 2 1.584963 1.584963

D2 algebra 1 2 1.584963 1.584963

Page 30: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

14

D2 model 1 1 2.584963 2.584963

D2 Kontrol 1 1 2.584963 2.584963

Kategori Dokumen Term Tf Df Idf W

C2 D3 jaringan 4 2 1.584963 6.33985

D3 yaitu 1 1 2.584963 2.584963

D3 Ethernet 2 1 2.584963 5.169925

D3 Kabling 1 1 2.584963 2.584963

D3 IP 2 2 1.584963 3.169925

D3 Layer 2 1 2.584963 5.169925

D3 Protocol 2 2 1.584963 3.169925

D3 Routing 1 1 2.584963 2.584963

D3 Port 1 2 1.584963 1.584963

D4 jaringan 2 2 1.584963 3.169925

D4 IP 2 2 1.584963 3.169925

D4 Protocol 1 2 1.584963 1.584963

D4 Port 2 2 1.584963 3.169925

D4 DHCP 1 1 2.584963 2.584963

D4 UDP 1 1 2.584963 2.584963

Kategori Dokumen Term Tf Df Idf W

C3 D5 limit 2 1 2.584963 5.169925

D5 Baris 1 1 2.584963 2.584963

D5 deret 1 1 2.584963 2.584963

D5 Differential 2 2 1.584963 3.169925

D5 konsep 1 2 1.584963 1.584963

D5 integral 2 2 1.584963 3.169925

D5 konvergensi 1 1 2.584963 2.584963

D6 Bilangan 1 1 2.584963 2.584963

D6 Linear 1 1 2.584963 2.584963

D6 Matriks 1 1 2.584963 2.584963

D6 Differential 2 2 1.584963 3.169925

D6 Integral 2 2 1.584963 3.169925

D6 komputasi 2 1 2.584963 5.169925

D6 Determinan 2 1 2.584963 5.169925

D6 konsep 1 2 1.584963 1.584963

Keterangan : C1 = basisdata C2 = jaringan C3 = komputasi

2.3 Model Ruang Vektor

Koleksi dokumen direpresentasi dalam ruang vektor sebagai matriks kata-

dokumen (terms-documents matrix). Nilai dari elemen matriks wij adalah bobot

Page 31: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

15

kata i dalam dokumen j. Misalkan terdapat sekumpulan kata T sejumlah n, yaitu T

= (T1, T2, … , Tn) dan sekumpulan dokumen D sejumlah m, yaitu D = (D1, D2, …

, Dm) serta wij adalah bobot kata i pada dokumen j. Maka representasi matriks

kata-dokumen adalah :

T1 T2 …. Tn

D1 w11 w21 … wn1

D2 w12 w22 … wn2

: : : :

: : : :

Dm w1m w2m … wnm

Penentuan relevansi dokumen dengan query dipandang sebagai pengukuran

kesamaan (similarity measure) antara vektor dokumen dengan vektor query.

Semakin “sama” suatu vektor dokumen dengan vektor query maka dokumen

dapat dipandang semakin relevan dengan query. Salah satu pengukuran

kesesuaian yang baik adalah dengan memperhatikan perbedaan arah (direction

difference) dari kedua vektor tersebut.

q

?

t3

t1

t2

D1

D2

Q

q

? 1

2

Jika Q adalah vektor query dan D adalah vektor dokumen, yang

merupakan dua buah vektor dalam ruang berdimensi-n, dan θ adalah sudut yang

dibentuk oleh kedua vektor tersebut. Maka :

Page 32: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

16

θcosDQDQ

QD adalah hasil perkalian dalam (inner product) kedua vektor, sedangkan

n

iDiD

1

2 dan

n

i

QiQ

1

2

Rumus yang digunakan untuk memgukur jarak kedekatan antar vektor adalah

sebagai berikut :

),cos(),( DQDQSimDQ

DQ

n

i

DiQiDQ 1

1

Kedekatan query dan dokumen diindikasikan dengan sudut yang dibentuk. Nilai

cosinus yang cenderung besar mengindikasikan bahwa dokumen cenderung sesuai

query. Nilai cosinus sama dengan 1 mengindikasikan bahwa dokumen sesuai

dengan dengan query.

2.4 Algoritma Rocchio Clasification

Rocchio classifiers merupakan salah satu metode pembelajaran supervised

dokumen classification. Metode klasifikasi rocchio membandingkan kesamaan isi

antara data training dan data test dengan merepresentasikan semua data ke dalam

vektor. Setiap bobot kata merupakan dimensi dalam ruang vektor. Kedekatan

kesamaan isi dihitung dari kedekatan sudut yang terbentuk antara bobot data

training dan bobot data test menggunakan aturan cosine. Untuk menghitung bobot

setiap kata dalam dokumen digunakan skema pembobotan TF/IDF (Term

Frequency / Invers dokumen Frequency). Karena komponen heuristic / utama dari

Page 33: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

17

klasifikasi rocchio adalah skema pembobotan TFIDF, metode pembelajaran

rocchio disebut juga dengan TF/IDF Classifiers [Joachims Thorsten].

Dalam membandingkan kesamaan isi antara data training dan data test,

TF/IDF classifiers menggunakan prototipe vektor untuk merepresentasikan

kategori yang terbentuk dari data training, dengan kata lain prototipe vektor

merupakan vektor yang mewakili seluruh vektor data training dalam setiap

kategori. Tiga hal utama yang dipakai dalam klasifikasi TF/IDF yaitu:

1. Pembobotan TF/IDF untuk merepresentasikan dokumen ke dalam vektor.

2. Merepresentasikan prototipe setiap kategori dengan menjumlahkan vektor-

vektor dalam satu kategori dari data training

3. Membandingkan kedekatan sudut antara vektor data test dengan semua

prototipe vektor.

Untuk mengklasifikasikan dokumen menggunakan algoritma rocchio harus

mengetahui centroids dari tiap kelas. Centroids kelas adalah jumlah dari rata –

rata vektor dokumen keseluruhan dalam suatu kelas (massa pusat dari kelas).

Centroids inilah yang digunakan untuk mengukur kedekatan suatu dokumen uji

dengan kelas (kategori) dalam klasifikasi. Adapun rumus yang digunakan untuk

menghitung centroid suatu kelas adalah sebagai berikut :

Dcd

dDc

c 1

….…………………. (2.2)

Dimana :

c

= vector centroid dari kelas c

Dc = jumlah dokumen dalam kelas c

d

= vektor dokumen d

Page 34: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

18

Ilustrasi perhitungan centroid kata dalam suatu kategori adalah sebagai berikut :

Dcd

dDc

c 1

(t1,C1) = ½ * (4.754888+2.584963) = 3.669925

(t2,C1) = (1/1) * 3.169925 = 3.169925

(t3,C1) = ½ * (2.584963+4.754888) = 3.669925

(t4,C1) = (1/1) * 5.169925 = 5.169925

W(d1,t1,C1) = 4.754888 , Dc=2

W(d1,t2,C1) = 3.169925 , Dc=1

W(d2,t3,C1) = 2.584963 , Dc=2

W(d2,t4,C1) = 5.169925 , Dc=1

Basisdata

DBMS

basisdata

query

C1

Gambar 2.4 Ilustrasi perhitungan centroid

Berikut ini adalah contoh pencarian nilai centroid suatu kategori :

Tabel 2.5 Pencarian centroid kategori

Kategori Dokumen Term df Idf W centroid

C1 D1 basisdata 2 1.584963 4.754888 3.962406

D1 DBMS 2 1.584963 3.169925 2.377444

D1 relational 2 1.584963 1.584963 2.377444

D1 constraint 2 1.584963 1.584963 2.377444

D1 view 1 2.584963 2.584963 2.584963

D1 algebra 2 1.584963 1.584963 1.584963

D1 data 1 2.584963 5.169925 5.169925

D1 Normalization 1 2.584963 2.584963 2.584963

D2 aman 1 2.584963 2.584963 2.584963

D2 basisdata 2 1.584963 3.169925 3.962406

D2 Query 1 2.584963 5.169925 5.169925

D2 constraint 2 1.584963 3.169925 2.377444

D2 relational 2 1.584963 3.169925 2.377444

D2 DBMS 2 1.584963 1.584963 2.377444

D2 algebra 2 1.584963 1.584963 1.584963

D2 model 1 2.584963 2.584963 2.584963

D2 Kontrol 1 2.584963 2.584963 2.584963

Kategori Dokumen Term Df Idf W centroid

C2 D3 jaringan 2 1.584963 6.33985 4.754888

D3 yaitu 1 2.584963 2.584963 2.584963

D3 Ethernet 1 2.584963 5.169925 5.169925

D3 Kabling 1 2.584963 2.584963 2.584963

D3 IP 2 1.584963 3.169925 3.169925

D3 Layer 1 2.584963 5.169925 5.169925

Page 35: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

19

D3 Protocol 2 1.584963 3.169925 2.377444

D3 Routing 1 2.584963 2.584963 2.584963

D3 Port 2 1.584963 1.584963 2.377444

D4 jaringan 2 1.584963 3.169925 4.754888

D4 IP 2 1.584963 3.169925 3.169925

D4 Protocol 2 1.584963 1.584963 2.377444

D4 Port 2 1.584963 3.169925 2.377444

D4 DHCP 1 2.584963 2.584963 2.584963

D4 UDP 1 2.584963 2.584963 2.584963

Kategori Dokumen Term Df Idf W centroid

C3 D5 limit 1 2.584963 5.169925 5.169925

D5 Baris 1 2.584963 2.584963 2.584963

D5 deret 1 2.584963 2.584963 2.584963

D5 Differential 2 1.584963 3.169925 3.169925

D5 konsep 2 1.584963 1.584963 1.584963

D5 integral 2 1.584963 3.169925 3.169925

D5 konvergensi 1 2.584963 2.584963 2.584963

D6 Bilangan 1 2.584963 2.584963 2.584963

D6 Linear 1 2.584963 2.584963 2.584963

D6 Matriks 1 2.584963 2.584963 2.584963

D6 Differential 2 1.584963 3.169925 3.169925

D6 Integral 2 1.584963 3.169925 3.169923

D6 komputasi 1 2.584963 5.169925 5.169925

D6 Determinan 1 2.584963 5.169925 5.169925

D6 konsep 2 1.584963 1.584963 1.584963

Untuk mencari kedekatan dokumen digunakan cosine similarity, dengan

rumus sebagai berikut :

))(),(cos(maxarg),( dCCdsim jj

……………….(2.3)

Dimana :

),( jCdsim = tingkat kemiripan dokumen uji dengan kelas j

d = dokumen

Cj = kelas j

)( jC

= vector centroid kelas Cj

)(d

= vector dokumen

))(),(cos(maxarg dC j

= mencari nilai maksimum antar kelas Cj dan dokumen

Contoh mencari cosinus similarity suatu dokumen dengan dokumen query

= “IP dan Routing, sehingga dapat membangun sebuah Jaringan Komputer,

Page 36: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

20

keamanan jaringan , DHCP, IP ”.Contoh query pencarian cosines similarity dapat

dirangkum seperti pada tabel 2.6 berikut ini :

Tabel 2.6 Contoh dokumen query

Query tf

IP 2

routing 1

jaringan 2

komputer 1

DHCP 1

aman 1

Pada tabel 2.7 berikut ini adalah contoh Perhitungan Similarity :

Tabel 2.7 Dasar perhitungan Similarity

C1 term centroid centroid2

algebra 1.58496 2.512098

aman 2.58496 6.682018

basisdata 3.9624 15.70061

constraint 2.37744 5.652221

data 5.16992 26.72807

dbms 2.37744 5.652221

kontrol 2.58496 6.682018

model 2.58496 6.682018

normalization 2.58496 6.682018

query 5.16992 26.72807

relational 2.37744 5.652221

view 2.58496 6.682018

C2 term centroid centroid2

jaring 4.75488 22.60888

yaitu 2.58496 6.682018

ethernet 5.16992 26.72807

kabling 2.58496 6.682018

ip 3.16992 10.04839

layer 5.16992 26.72807

protocol 2.37744 5.652221

routing 2.58496 6.682018

port 2.37744 5.652221

dhcp 2.58496 6.682018

udp 2.58496 6.682018

C3 term centroid centroid2

baris 2.58496 6.682018

bilang 2.58496 6.682018

deret 2.58496 6.682018

Page 37: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

21

determin 5.16992 26.72807

differential 3.16992 10.04839

integral 3.16992 10.04839

komputas 5.16992 26.72807

konsep 1.58496 2.512098

konvergensi 2.58496 6.682018

limit 5.16992 26.72807

linear 2.58496 6.682018

matriks 2.58496 6.682018

Query tf idf centroid Wquery Wik*Centroidjk centroid2 Wquery

2

IP 2 1.584963 3.169925 3.169926 10.04842768 10.048425 10.04843

routing 1 2.584963 2.584963 2.584963 6.682033711 6.6820337 6.682034

jaringan 2 1.584963 4.754888 3.169926 15.0726431 22.60896 10.04843

komputer 1 0 0 0 0 0 0

DHCP 1 2.584963 2.377444 2.584963 6.145604775 5.65224 6.682034

aman 1 2.584963 2.584963 2.584963 6.682033711 6.6820337 6.682034

n

1k

n

1k

n

1k

ik

ji

22ik )(W

)(*W

)C ,(Q Similarity

jk

jk

C

C

…………....(2.3.1)

Dimana :

ikW = bobot term query.

)( jkC

= bobot centroid term dalam kategori.

Perhitungan nilai similarity :

6.686.68010.056.6810.055.656.6826.736.686.686.685.6526.735.6515.706.682.51

6.68),1(

QCSim

6.3411.05

68.6

70.057

68.6

0.0953

6.686.68010.056.6810.056.686.685.656.685.6526.7310.056.6826.736.6822.61

6.1515.0726.6810.05),2(

QCSim

6.3411.44

37.95

Page 38: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

22

72.53

37.95

0.523

6.686.68010.056.6810.05 6.686.686.6826.7351.226.7310.0510.0526.736.686.686.68

0),3(

QCSim

0

Kesimpulan : Dokumen query lebih mirip dengan kategori C2 dengan nilai

0.523lebih besar dibandingkan dengan nilai similarity pada kategori C1 yaitu

0.0953, dapat disimpulkan dokumen query termasuk dalam kategori C2.

Berikut adalah langkah – langkah implementasi algoritma Rocchio

TrainRocchio (C,D)

1 for each Cc j

2 do DcddD jj ),(:

3

jDdj

j dD

1

4 return { 1

, . . . , j

}

Dimana :

C = semua kelas { 1c ,…, jc }

D = semua dokumen { 11,cd , … , nn cd , }

Pertama – tama dilakukan training dokumen, dimana training dokumen ini

dilakukan untuk membuat model klasifikasi. Dokumen training dicari bobot tiap

term dan telah ditentukan termasuk dalam suatu kategori, setelah didapat bobot

dokumen maka dari tiap term dokumen yang ada dalam kategori dicari

centroidnya.

ApplyRocchio ({ 1

, . . . , j

}, d

)

5 ))(),(cos(maxarg),( dCCdsim jj

Untuk menetukan suatu dokumen query termasuk dalam suatu kategori yang ada,

maka harus mencari kesamaan term yang ada dari dokumen training yang ada

dalam suatu kategori dengan term dokumen query. Setelah didapat kesamaan,

Page 39: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

23

kemudian dicari kemiripan dokumen query dengan centroid dokumen (cosinus

similarity dokumen) yang ada dalam kategori. Jika hasil kemiripan dokumen

mendekati nilai 1 maka dokumen akan semakin mirip.

Hasil pembahasan dari jurnal yang ditulis oleh Thorsten Joachims yang

berjudul “A Probabilistic Analysis of the Rocchio Algorithm with TFIDF for Text

Categorization”, disimpulkan bahwa dengan algoritma rocchio (TFIDF classifier)

dihasilkan rata – rata akurasinya sebesar 90%.

2.5 Evaluasi Pengujian Sistem

Untuk mengetahui suatu perbandingan keefektifan metode yang

digunakan, maka dibutuhkan pengujian hasil klasifikasi.

Untuk pengujian hasil klasifikasi hanya menentukan tingkat precision

sistem yang dapat dicari dari kesesuaian sistem dengan hasil dari kuisioner

terhadap responden.

Berikut adalah cara mencari precision :

precision dinyatakan sebagai bagian dokumen relevan yang disesuai:

dokumenseluruh Jumlah

sistemdengan sesuai yangdokumen Jumlah precision

Page 40: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

24

BAB III

ANALISIS DAN PERANCANGAN SISTEM

Dalam bab ini akan dijelaskan mengenai rancangan sistem aplikasi yag

hendak dibuat oleh penulis. Diantaranya gambaran sistem secara umum, analisa

kebutuhan sistem, metode pengumpulan data dan perancangan sistem.

3.1 Gambaran Umum Sistem

Secara umum sistem aplikasi yang akan dibuat oleh penulis bertujuan untuk

mengklasifikasikan dokumen skripsi teknik informatika menggunakan proses

information retrieval. Berikut ini adalah gambaran klasifikasi dokumen secara umum

:

Page 41: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

25

Indexing

Pembuatan Model

Klasifikasi

Koleksi

Dokumen

Tentukan kategori

Operasi teks

(parsing, steming )

Daftar term

Pencaraian bobot

vektor (TF/IDF)

Dokumen,(query)

Operasi teks

(parsing, steming)

Pencarian bobot

vektor

dokumen(query)

Pencarian tingkat

kemiripan

dokumen

klasifikasi

dokumen

C1 = dok1, dok 2, …

C2 = dok3, dok 4, …

C3 = dok5, dok6, …

...

Term

Hitung term

frekuensi

Filtering

Jumlah

Kumpulan Term

Term

Hitung term

frekuensi

Jumlah

Kumpulan Term

Bobot term dalam

setiap kategori

Bobot term

dokumen query

Kemiripan

Dokumen query

dengan dokumen

dalam kategori

klasifikasi

Pencaraian

Centroid tiap

kategori

Centroid term

dalam setiap

kategori

Gambar 3.5 Gambar proses klasifikasi keseluruhan

Untuk lebih jelasnya proses dibagi menjadi beberapa bagian sebagai berikut

ini :

Page 42: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

26

Indexing

Parsing

Stoplist

Steming

Hitung Term

Frekuensi

Hitung IDF

Simpan term

Simpan TF/IDF

index

Dokumen

Gambar 3.6 Gambar Proses indexing(a), pembuatan model(b)

Untuk mendapatkan bobot term / kata , dokumen harus melalui proses

indexing terlebih dahulu. Proses indexing digambarkan seperti gambar 3.6 a. dan

telah dibahas dalam bab 2. Proses pembuatan model digunakan untuk membuat suatu

model klasifikasi.

Pada gambar 3.6 b dokumen ditentukan terlebih dahulu termasuk dalam suatu

kategori kemudian dilakukan pemrosesan indexing dan pencarian bobot centroid tiap

term dalam tiap kelas / kelompok kategori.

b

a

Dokumen

Tentukan Kategori

indexing

Pencarian centroid

kategori

Pembuatan Model

Page 43: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

27

Gambar 3.7 Gambar Proses Klasifikasi

Pada gambar 3.7 adalah proses pengklasifikasian dokumen, dokumen yang

akan diklasifikasikan (dokumen query) dilakukan proses indexing untuk memperoleh

bobot term dokumen yang nantinya digunakan untuk proses pencarian kemiripan

dokumen (cosinus similarity).

Berikut adalah gambaran model proses indexing dokumen :

Dokumen term

dan indeks

Dokumen terlabelBuat model dan

indeks

Tentukan klasifikasi

Input dokumen

Simpan

Gambar 3.8 Gambar model proses indexing

Page 44: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

28

Dari gambar 3.8 model indexing tersebut diatas dapat dijelaskan sistem harus

mempunyai suatu model untuk melakukan klasifikasi. Pembuatan model klasifikasi

ditentukan oleh user, jadi user harus menentukan suatu dokumen kedalam kategori –

ketegori yang ada sebagai dasar suatu klasifikasi. Dokumen yang ditentukan haruslah

valid sesuai dengan kategori.

Berikut adalah gambaran model proses klasifikasi dokumen :

Dokumen belum

terlabelKlasifikasi

Dokumen

Input dokumen

Hasil

Dokumen term

dan indeks

Dokumen

terklasifikasi

Gambar 3.9 Gambar model klasifikasi dokumen

Dari gambar 3.9 gambar model klasifikasi, dapat dijelaskan user memasukan

dokumen baru yang belum terklasifikasi, kemudian dilakukan proses klasifikasi dari

dokumen yang telah terklasifikasi. Jadi dokumen yang belum terklasifikasi dicari

kecocokan dengan dokumen yang telah terklasifikasi. Hasil dari proses klasifikasi

dokumen adalah dokumen menjadi bagian dari suatu kategori dokumen yang

terklasifikasi.

Page 45: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

29

Gambar 3.10 Gambar Proses Pencarian Dokumen

Pada gambar 3.10 adalah gambaran proses pencarian dokumen, pencarian

dokumen berdasarkan besarnya bobot kata kunci (query pencarian). Hasil pencarian

dokumen akan menampilkan urutan dokumen dari dokumen yang mempunyai bobot

paling besar ke bobot yang paling kecil berdasarkan kata kunci pencarian.

3.1.1 Analisis Kebutuhan

Kebutuhan yang dibutuhkan oleh pengguna / user dari aplikasi klasifikasi

Skripsi di Teknik Informatika Sanata Dharma Yogyakarta adalah :

1. User membutuhkan program untuk membantu dalam mengklasifikasikan

skripsi teknik informatika, dimana satu dokumen yang di kategorikan

mewakili satu judul skripsi.

2. Klasifikasi dilakukan oleh administrator dan kategori dapat ditambahkan oleh

administrator, tetapi harus melakukan training data terhadap kategori

tambahan.

Page 46: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

30

3. User membutuhkan program yang dapat secara otomatis melakukan proses

indexing ketika user menambahkan dokumen baru ke dalam koleksi dokumen

silabus mata kuliah.

4. User membutuhkan program yang dapat mengelola daftar stoplist, baik untuk

menambah daftar stoplist, merubah daftar stoplist, atau menghapus daftar

stoplist.

3.2 Analisa Sistem

3.2.1 Model Use Case

3.2.1.1 Actor

Dalam aplikasi kategorisasi silabus teknik informatika Sanata Dharma

terdapat 2 aktor yang terlibat yaitu seperti pada tabel 3.8 berikut ini:

Tabel 3.8 Tabel aktor yang terlibat

Aktor Hak Akses

Administrator Login

Menambah, mengedit dan menghapus data stopword

Menambah, mengedit dan menghapus data kategori

Menambah, mengedit dan menghapus data kamus

Menambah, mengedit dan menghapus user.

Pembuatan Model.

Klasifikasi dokumen.

Lihat dokumen

Logout

Pengguna

(User)

Mencari dokumen.

Mencari klasifikasi dokumen

Page 47: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

31

3.2.1.2 Diagram Use Case

Gambaran use case diagram sistem dapat dilihat pada gambar 3.11 berikut ini

:

Administrator

Kelola kategori

Tambah kategori

Edit kategori

Hapus kategori

Kelola stoplist

Tambah stopword

Edit stoplist

Hapus stopword

Login

Depend on

Depend o

n

Kelola kamus

Tambah kata_dasar

Edit kamus

Hapus kata_dasar

Depend on

klasifikasi dokumen Pembuatan model

Depend on

Depend on

Logout

Depend on

lihat dokumen

klasifikasi

Depend o

n

cari dokumen

User

Cari Klasifikasi

Dokumen

Kelola User

Tambah user

Edit User

Hapus user

Depend on

Gambar 3.11 Diagram Use Case

3.2.1.3 Tabel Use Case

Dari gambar use case diagram 3.9 dapat dijelaskan tiap – tiap use case pada

tabel 3.2 berikut ini :

Tabel 3.9 Tabel Use Case

No Nama Use Case Deskripsi use case Aktor

1 Login Verifikasi untuk mengakses menu

administrator dengan cara

memasukkan username dan

password

Administrator

Page 48: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

32

2 Logout Use case ini menggambarkan proses

untuk keluar dari sistem

administrator

Administrator

3 Klasifkasi dokumen Use case ini menggambarkan proses

klasifikasi dokumen. Dokumen

inputan akan ditentukan kategorinya

secara otomatis.

Administrator

4 Pembuatan Model dan

indeks

Use case ini menggambarkan proses

pengindekkan dokumen yang akan

digunakan sebagai dasar klasifikasi

dokumen.

Administrator

5 Lihat dokumen Use case ini menggambarkan proses

untuk menampilkan dokumen yang

telah terindeks

Administrator

6 Tambah stopword Use case ini menggambarkan proses

untuk penambahan data stopword.

Administrator

7 Edit stoplist Use case ini menggambarkan proses

proses perubahan data stopword.

Proses ini dapat berupa perubahan

detail stopword.

Administrator

8 Hapus stopword Use case ini menggambarkan proses

penghapusan data stopword.

Administrator

9 Tambah kategori Use case ini menggambarkan proses

untuk menambah daftar kategori.

Administrator

10 Edit kategori Use case ini menggambarkan proses

perubahan detail kategori.

Administrator

11 Hapus kategori Use case ini menggambarkan proses

penghapusan kategori beserta data

dokumen yang termasuk dalam

kategori yang dihapus.

Administrator

12 Tambah kata_dasar Use case ini menggambarkan proses

penambahan data kata dasar.

Administrator

13 Edit kamus Use case ini menggambarkan proses

perubahan detail data kamus

Administrator

14 Hapus kata_dasar Use case ini menggambarkan proses

penghapusan data kata dasar kamus.

Administrator

15 Tambah user Use case ini menggambarkan proses

untuk menambah user yang berhak

masuk ke sistem utama.

Administrator

16 Edit user Use case ini menggambarkan proses

untuk mengedit nama user dan

password.

Administrator

17 Hapus user Use case ini menggambarkan proses

untuk menghapus user.

Administrator

18 Cari dokumen Use case ini menggambarkan proses User

Page 49: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

33

pencarian dokumen. Proses ini

berupa daftar urutan dokumen yang

sesuai dengan inputan pencarian dan

termasuk dalam kategori manakah

dokumen yang dicari. Dengan

berdasarkan bobot dari kata kunci

yang dicari.

(pengguna)

19 Cari klasifikasi

dokumen

Use case ini menggambarkan proses

pencarian kategori. Abstrasi

dokumen yang dimasukkan

termasuk dalam kelas/kategori

apakah.

User

(pengguna)

3.2.2 Skenario Use Case

Setiap use case pada bagian sebelumnya akan dirinci dalam sebuah

skenario yang merupakan deskripsi tekstual dari suatu proses dan bagaimana

pengguna berinteraksi dengan sistem. Untuk lebih jelsnya dapat dilihat pada

tabel 3.10 berikut ini :

Tabel 3.10 Tabel Skenario Use Case

Use Case Skenario Use Case

Login Lampiran 1.1

Logout Lampiran 1.2

Klasifkasi dokumen Lampiran 1.3

Pembuatan Model dan indeks Lampiran 1.4

Lihat dokumen Lampiran 1.5

Tambah stopword Lampiran 1.6

Edit stoplist Lampiran 1.7

Hapus stopword Lampiran 1.8

Tambah kategori Lampiran 1.9

Edit kategori Lampiran 1.10

Hapus kategori Lampiran 1.11

Tambah kata_dasar Lampiran 1.12

Edit kamus Lampiran 1.13

Hapus kata_dasar Lampiran 1.14

Tambah user Lampiran 1.15

Page 50: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

34

Edit user Lampiran 1.16

Hapus user Lampiran 1.17

Cari dokumen Lampiran 1.18

Cari klasifikasi dokumen Lampiran 1.19

3.2.3 Model Analisis

Model Analisis adalah salah satu proses untuk menterjemahkan

skenario use case menjadi kelas analisis. Dalam kelas analisis terdapat 3

jenis, yakni: Form / boundery, Controller, dan Entitas.

3.2.3.1 Realisasi Use case

Pada tahap ini, analisis kelas dilakukan setiap use case. Setiap use

case dicari kelas analisis sehingga kebutuhan kelas dapat ditentukan. untuk

lebih lengkapnya dapat dilihat pada tabel 3.11 berikut ini :

Tabel 3.11 Tabel Realisasi Use Case

Use Case Realisasi Use Case

Login Lampiran 2.1

Logout Lampiran 2.2

Klasifkasi dokumen Lampiran 2.3

Pembuatan Model dan indeks Lampiran 2.4

Lihat dokumen Lampiran 2.5

Tambah stopword Lampiran 2.6

Edit stoplist Lampiran 2.7

Hapus stopword Lampiran 2.8

Tambah kategori Lampiran 2.9

Edit kategori Lampiran 2.10

Hapus kategori Lampiran 2.11

Tambah kata_dasar Lampiran 2.12

Edit kamus Lampiran 2.13

Hapus kata_dasar Lampiran 2.14

Tambah user Lampiran 2.15

Edit user Lampiran 2.16

Page 51: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

35

Hapus user Lampiran 2.17

Cari dokumen Lampiran 2.18

Cari klasifikasi dokumen Lampiran 2.19

3.2.3.2 Diagram Kelas Keseluruhan

Diagram Kelas keseluruhan dari realisisi use case dapat dilihat di

lampiran 3.

3.3 Desain Sistem

3.3.1 Kelas Perancangan

Berikut merupakan perancangan kelas yang digunakan. Perancangan

menggunakan MVC model 2 dibagi dalam 3 layer yaitu layer View , Controller

dan Model.

View merupakan layer presentasi (tampilan untuk semua pengguna web)

direpresentasikan oleh halaman JSP.

Contoh : Halaman LoginAdmin, Halaman Utama, dsb. (semua halaman

JSP)

Controller merupakan intermediet layer antara Model dan View.

Direpresentasikan menggunakan kelas Java turunan kelas action (dan

turunan kelas action)

Contoh : Kontrol Cari, Kontrol Indexing Admin, dsb.

Model berisi logika program dan koneksi database.

Contoh : Kamus, Kategori, Word, dsb.

Page 52: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

36

Kelas perancangan sistem dari kelas analisi dapat dilihat pada tabel 3.5 berikut ini :

Tabel 3.12 Tabel Kelas Perancangan

No Kelas Analisis Kelas Perancangan Use Case

1 Halaman Login Admin Halaman Login Admin Login

2 Halaman menu user Halaman menu user Login

Cari dokumen

Cari klasifikasi dokumen

3 Halaman Menu Admin Halaman Menu Admin logout

Klasifkasi dokumen

Pembuatan Model dan indeks

Lihat dokumen

Tambah stopword

Edit stoplist

Hapus stopword

Tambah kategori

Edit kategori

Hapus kategori

Tambah kata_dasar

Hapus kamus

Page 53: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

37

Edit kata dasar

Tambah user

Edit user

Hapus user

4 Form Manage User Form Manage User Tambah user

Edit user

Hapus user

5 Form Indexing Dokumen Form Indexing Dokumen Pembuatan Model dan indeks

6 Form Klasifikasi Dokumen Form Klasifikasi Dokumen Klasifkasi dokumen

7 Form Manage Kamus Form Manage Kamus Tambah kata_dasar

Hapus kamus

Edit kata dasar

8 Form Manage Stoplist Form Manage Stoplist Tambah stopword

Edit stoplist

Hapus stopword

9 Form Manage Kategori Form Manage Kategori Tambah kategori

Edit kategori

Hapus kategori

Page 54: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

38

10 Form List Data Skripsi Form List Data Skripsi Lihat dokumen

11 Halaman Pencarian Klasifikasi Halaman Pencarian Klasifikasi Cari klasifikasi dokumen

12 AutentifikasiLogin Control login

13 AutentifikasiLogOut Control logout

14 ControlIndexing Control Pembuatan Model dan indeks

15 ControlKlasifikasi Control Klasifkasi dokumen

16 ControlCari Control Cari dokumen

17 ControlCariKlas Control Cari klasifikasi dokumen

18 KamusManajemenControl Control Tambah kata_dasar

Hapus kamus

Edit kata dasar

19 StopwordManajemenController Control Tambah stopword

Edit stoplist

Hapus stopword

20 KategoriManajemenController Control Tambah kategori

Edit kategori

Hapus kategori

21 UserManageController Control Tambah user

Page 55: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

39

Edit user

Hapus user

22 Kamus Entity

Model

Tambah kata_dasar

Hapus kamus

Edit kata dasar

23 Kategori Entity

Model

Tambah kategori

Edit kategori

Hapus kategori

24 Stoplist Entity

Model

Tambah stopword

Edit stoplist

Hapus stopword

25 Skripsi Entity

Model

Pembuatan Model dan indeks

26 centroidKlass Entity

Model

Klasifkasi dokumen

Cari klasifikasi dokumen

Cari dokumen

27 Word Model Cari dokumen

Cari klasifikasi dokumen

Page 56: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

40

Pembuatan Model dan indeks

Klasifkasi dokumen

Pembuatan Model dan indeks

28 User Entity

Model

Tambah user

Edit user

Hapus user

29 Tokenizer Model Cari dokumen

Cari klasifikasi dokumen

Pembuatan Model dan indeks

Klasifkasi dokumen

Pembuatan Model dan indeks

30 Term Model

Entity

Cari dokumen

Cari klasifikasi dokumen

Pembuatan Model dan indeks

Klasifkasi dokumen

31 IndekTerm Model

Entity

Cari dokumen

Cari klasifikasi dokumen

Pembuatan Model dan indeks

Klasifkasi dokumen

Page 57: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

41

3.3.2 Atribut dan Method

Bagian ini akan menjelaskan lebih detail mengenai attribut dan

method dari kelas desain. Daftar detail mengenai attribut dan method

tersebut dapat dilihat pada Lampiran 4

3.3.3 Prototype Antarmuka

Dari analisa attribut dan method pada tahap sebelumnya, maka

akan ditentukan kelas yang akan dijadikan user interface. Kemudian dari

kelas tersebut dibuat suatu rancangan antarmuka yang akan digunakan

dalam implementasi program. Rancangan prototype antar muka dapat

dilihat pada tabel 3.13 berikut ini :

Tabel 3.13 Tabel Prototype Antarmuka

No Kelas Analisis Lampiran

1 Halaman Menu User ( Halaman

Cari Dokumen )

Lampiran 5.1

2 Halaman Login Admin Lampiran 5.2

3 Halaman Menu Admin Lampiran 5.3

4 Form Manage User Lampiran 5.4

5 Form Manage Kategori Lampiran 5.5

6 Form Manage Stoplist Lampiran 5.6

7 Form Manage Kamus Lampiran 5.7

8 Form indexing Lampiran 5.8

9 Form Klasifikasi Lampiran 5.9

10 Form List Data Skripsi Lampiran 5.10

11 Halaman Pencarian Klasifikasi Lampiran 5.11

3.3.4 Desain Database

1. Class Diagram

Class diagram dilihat pada gambar 3.12 berikut ini :

Page 58: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

42

Skripsi

Kategori

TermindexTerm

Jenis_kategoriId_kategori

Id_skripsiJudul

Id_indexId_term term

idf

tf

Id_term Id_dokumen

bobot

JudulDok

centroid

df

centroidKlass

Id_term Id_kategori

Id_centroid

stoplist

Id_stopword stopword

User

Id_user User_name

password

Kamus

Kata_dasar

Gambar 3.12 Class diagram

Keterangan :

Terdapat 8 class yaitu : class kategori, class skripsi, class

indexTerm, class centroidKlass, class term, class user, class stoplist,

class kamus. Dimana class user, class stoplist, class kamus tidak

memiliki relasi.

2. Mapping Class

Penjelasan lebih detail dari database yang dibuat, dapat dilihat pada

tabel fisik di

Page 59: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

43

user

PK id_user

username

password

stoplist

PK id_stopword

stopword

kamus

PK kata_dasar

skripsi

PK id_skripsi

judul

judulDok

FK1 id_kategori

kategori

PK id_kategori

jenis_kategori

indexTerm

PK id_index

tf

bobot

FK1 id_term

FK2 id_skripsi

term

PK id_term

term

df

idf

centroidKlass

PK id_centroid

PK,FK1 id_kategori

centroid

FK2 id_term

Gambar 3.13 Rancangan database

Berikut adalah penjelasan tentang table yang digunakan untuk

mendesain sistem :

1. Tabel Kategori

Field Tipe Data Keterangan

Id_kategori Integer (10) Primary key

Jenis_kategori Varchar (35) Nama kategori

2. Tabel Skripsi

Field Tipe Data Keterangan

Id_skripsi Integer (255) Primary key

Judul Varchar (1000) Nama dokumen

JudulDok Varchar(1000) Judul Dokumen

3. Tabel User

Field Tipe Data Keterangan

Id_User Integer (255) Primary key

Username Varchar (255) Nama user untuk login

password Double (255) Password dari user

Page 60: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

44

4. Tabel indexTerm

Field Tipe Data Keterangan

Id_index Integer (255) Primary key.

Id_skripsi Integer (255) Sebagai Foreign key dari tabel

skripsi.

Id_term Integer (255) Sebagai Foreign key dari tabel

term.

Tf Integer (255) Jumlah term frekuensi atau

jumlah kemunculan kata

penting dalam suatu dokumen.

Bobot Decimal(10,6) Bobot dokumen.

5. Tabel term

Field Tipe Data Keterangan

Id_term Integer (255) Primary key

Term Varchar (255) Nama dokumen

Df Integer(255) Jumlah kemunculan kata

dalam beberapa dokumen.

Idf Double (6,5) Infevers dokumen frekuensi

atau log 2 (jumlah dokumen

dibagi dengan jumlah

frekuensi kata yang terkandung

dalam seluruh dokumen ).

6. Tabel centroidKlass

Field Tipe Data Keterangan

Id_centoid Integer (255) Primary key

Integer (255) Integer (255) Nama dokumen

Id_kategori Integer(255) Jumlah kemunculan kata

dalam beberapa dokumen.

centroid Decimal(10,6) Bobot pusat term dalam satu

kategori.

7. Tabel Stoplist

Field Tipe Data Keterangan

Id_stopword Integer (255) Primary key

stopword Varchar (255) Daftar kata buang

Page 61: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

45

8. Tabel kamus

Field Tipe Data Keterangan

Kata_dasar varchar (255) Primary key.

Kata dasar dalam kamus

3.3.5 Rencana Pengujian dan Evaluasi

Pengujian menggunakan dokumen Skripsi dari bagian abstrak. Pengujian

dapat juga dari dokumen lain selain dokumen skripsi untuk menguji seberapa

relevan penggunaan algoritma Rocchio untuk mengetahui tingkat presisinya.

Pengujian terhadap hasil rekomendasi dilakukan untuk mengukur

informasi yang diinformasikan kepada user atau pengguna.

a. Persiapan

Menyiapkan dokumen testing.

b. Pengolahan hasil kusioner

Memilih metode.

Menentukan hal yang diuji.

Membuat kuisioner

Mencari responden.

Menarik kesimpulan hasil analisa kuisioner.

Page 62: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

46

BAB IV

IMPLEMENTASI

4.1 Implementasi

4.1.1 Implementasi Antarmuka / View

Implementasi antarmuka / view dari kelas analisis menjadi file fisik dapat dilihat pada tabel 4.14 berikut ini :

Tabel 4.14 Implemantasi antarmuka

No Kelas Analisis File Fisik URL Lampiran

1 Halaman Login Admin indexLogin.jsp .. /indexLogin.jsp Lampiran 6.1

2 Halaman menu user index.jsp

indek2.jsp

../ indek2.jsp Lampiran 6.2

4 Halaman Menu Admin IndexAdmin.jsp ../IndexAdmin.jsp Lampiran 6.3

5 Form Manage user FormListUser.jsp

FormInsertUser.jsp

FormEditUser.jsp

../IndexAdmin.jsp?userManage=true

../IndexAdmin.jsp?edit=true&id=

Lampiran 6.4

6 Form Indexing Dokumen formIndexing.jsp ../IndexAdmin.jsp?Indexing=true Lampiran 6.5

7 Form Klasifikasi Dokumen formKlasifikasi.jsp .. /IndexAdmin.jsp?Klasifikasi=true Lampiran 6.6

Page 63: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

47

8 Form Manage Kamus IframeListKamus.jsp

FormListKamus.jsp

FormInsertKamus.jsp

FormEditKamus.jsp

../ IndexAdmin.jsp?kamusManage=true

../IndexAdmin.jsp?editKamus=true&id=

Lampiran 6.7

9 Form Manage Stoplist IframeStoplist.jsp

FormListStoplist.jsp

FormInsertStopWord.jsp

FormEditStoplist.jsp

.. /IndexAdmin.jsp?stoplistManage=true

../IndexAdmin.jsp?editStoplist=true&id=

Lampiran 6.8

10 Form Manage Kategori FormListKategori.jsp

FormInsertKategori.jsp

FormEditKategori.jsp

../ IndexAdmin.jsp?kategoriManage=true

../IndexAdmin.jsp?editKategori=true&id=

Lampiran 6.9

11 Form list Data Skripsi IframeListDokumen.jsp

FormListDokumen.jsp

../IndexAdmin.jsp?skripManage=true Lampiran 6.10

12 Halaman Pencarian Klasifikasi index3.jsp

pencarianKlas.jsp

../index3.jsp Lampiran 6.11

Page 64: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

48

4.1.2 Implementasi Contro

Implementasi dari kelas control dari rancangan kelas analisi

menjadi realisasi file fisik dapa dilihat pada tabel 4.15 berikut ini :

Tabel 4.15 Implemantasi Kontrol

No Kelas Analisis File Fisik

1 AutentifikasiLogin cekLogin.java

2 AutentifikasiLogout cekLogout.java

4 ControlIndexing controlIndexing.java

5 ControlKlasifikasi controlKlasifikasi.java

6 ControlCari controlCari.java

7 ControlCariKlas controlCariKlas.java

8 KamusManajemenControl controlKamus.java

10 StopwordManajemenController controlStopWord.java

11 KategoriManajemenController controlManageKategori.j

ava

12 UserManageController controlManageUser.java

4.1.3 Implementasi Model

Implementasi dari kelas model dari rancangan kelas analisi

menjadi realisasi file fisik dapa dilihat pada tabel 4.16 berikut ini :

Tabel 4.16 Implementasi Model

No Kelas Analisis File Fisik

1 Kamus Kamus.java

2 Kategori Kategori.java

4 User User.java

5 Skripsi Skripsi.java

Page 65: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

49

6 Word Word.java

7 centroidKlass centroidKlass.java

8 Tokenizer Tokenizer.java

9 Term Term.java

10 IndexTerm IndexTerm.java

4.1.4 Implementasi Entitas / Tabel

Implementasi dari kelas entity dari rancangan kelas analisi menjadi

realisasi file fisik dapa dilihat pada tabel 4.17 berikut ini :

Tabel 4.17 Implementasi Entity / Tabel

No Kelas Analisis Tabel Lampiran

1 Skripsi Skripsi Lampiran 6.12

2 Kategori Kategori Lampiran 6.13

4 Term Term Lampiran 6.14

4 User User Lampiran 6.15

5 Stoplist Stoplist Lampiran 6.16

6 Kamus Kamus Lampiran 6.17

7 IndekTerm IndekTerm Lampiran 6.18

8 centroidKlass centroidKlass Lampiran 6.19

4.2 Pengujian Hasil Rekomendasi

a. Persiapan

Mencari dokumen abstrak skripsi teknik informatika yang

telah didapat dari Universitas Sanata Dharma Yogyakarta

(angkatan 2003-2005) dan Universitas Kristen Duta

Wacana (http://lecturer.ukdw.ac.id/katalog/).

Page 66: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

50

b. Pengolahan hasil kuisioner

Memilih metode untuk pengolahan kuisioner.

Metode dalam pengolah hasil kuisioner ini adalah

precision. Dari hasil pengolahan tersebut pembuat sistem

dapat mengukur hasil informasi presisi.

Menentukan hal yang diuji

Hal hal yang di uji :

1. Dokumen yang sesuai dengan sistem dan dokumen

yang tidak sesuai dengan sistem.

Membuat kuisioner

Contoh kuisioner terdapat pada lampiran 7.

Mencari responden.

Karakteristik dari responden yang pilih untuk mengisikan

kuisioner ini adalah mahasiswa semester 5 keatas. Jumlah

responden yang menguji sistem ini adalah 30 responden

yang dari mahasiswa Teknik informatika Sanata Dharma.

Menarik kesimpulan dari analisa kuisioner

Page 67: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

51

Hasil rekomendasi sistem dari dokumen test sebanyak 10 abstrak dokumen yang dibagikan kepada responden :

Tabel 4.18 Hasil perhitungan similarity sistem

No dokumen

test Judul abstrak

Similarity Kategori

Basisdata Jaringan Komputasi

1 sistem informasi inventori toko asesoris telephon seluler 0.20999 0.02533 0.06209 Basisdata

2 sistem informasi penjualan mobil ( tunai / kredit ) 0.18982 0.06989 0.13351 Basisdata

3 sistem administrasi firewall secara remote untuk keamanan

jaringan pada server berbasis linux menggunakan webmin 0.11106

0.16327

0.06249

Jaringan

4 penerapan spanning tree protocol pada vlan 0.07702 0.15489 0.04969 Jaringan

5 pencarian turunan pertama fungsi linier dan non-linier 0.08492 0.06504 0.11793 Komputasi

6 segmentasi citra dengan algoritma fuzzy c-means clustering 0.04353 0.03572 0.18866 Komputasi

7 implementasi algoritma dijkstra untuk pencarian lokasi ruangan

studi kasus : rs. bethesda yogyakarta 0.08998

0.03518

0.11663

Komputasi

8 aplikasi remote webcam pada lan (local area network) 0.12067 0.14833 0.09507 Jaringan

9 sistem informasi penjualan barang model mlm studi kasus

business centre tempo direct solo 0.16189 0.06347 0.06931 Basisdata

10 sistem informasi kredit barang rumah tangga 0.19397 0.09017 0.03139 Basisdata

Page 68: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

52

Survei pengklasifikasian abstrak dokumen skripsi sebanyak 10 abstrak ke 30 responden (mahasiswa Teknik Informatika USD

angkatan 2005 - 2006) secara random .

Tabel 4.19 Hasil kuisioner responden

No

dokumen

test

Judul abstrak

Orang yang memilih

Basisdata (B) Jaringan (J) Komputasi (K)

1 sistem informasi inventori toko asesoris telephon seluler 30 0 0

2 sistem informasi penjualan mobil ( tunai / kredit ) 24 1 5

3 sistem administrasi firewall secara remote untuk keamanan

jaringan pada server berbasis linux menggunakan webmin

1 29 0

4 penerapan spanning tree protocol pada vlan 1 29 0

5 pencarian turunan pertama fungsi linier dan non-linier 1 0 29

6 segmentasi citra dengan algoritma fuzzy c-means clustering 1 1 28

7 implementasi algoritma dijkstra untuk pencarian lokasi ruangan

studi kasus : rs. bethesda yogyakarta

3 0 27

8 aplikasi remote webcam pada lan (local area network) 0 28 2

9 sistem informasi penjualan barang model mlm studi kasus

business centre tempo direct solo

28 1 1

10 sistem informasi kredit barang rumah tangga 29 1 0

Page 69: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

53

Pengolahan hasil kuisioner untuk mencari precision :

Tabel 4.20 Hasil Precision

No

dokumen

test

Judul abstrak

Orang yang memilih

Precision Klasifikasi

Sistem Setuju

Tidak

Setuju pembagian

1 sistem informasi inventori toko asesoris telephon seluler Basisdata 30 0 30/30 100%

2 sistem informasi penjualan mobil ( tunai / kredit ) Basisdata 24 6 24/30 80%

3 sistem administrasi firewall secara remote untuk keamanan

jaringan pada server berbasis linux menggunakan webmin Jaringan 29 1 29/30 96.67%

4 penerapan spanning tree protocol pada vlan Jaringan 29 1 29/30 96.67%

5 pencarian turunan pertama fungsi linier dan non-linier Komputasi 29 1 29/30 96.67%

6 segmentasi citra dengan algoritma fuzzy c-means clustering Komputasi 28 2 28/30 93.33%

7 implementasi algoritma dijkstra untuk pencarian lokasi

ruangan studi kasus : rs. bethesda yogyakarta Komputasi 27 3 27/30 90%

8 aplikasi remote webcam pada lan (local area network) Jaringan 28 2 28/30 93.33%

9 sistem informasi penjualan barang model mlm studi kasus

business centre tempo direct solo Basisdata 28 2 28/30 93.33%

10 sistem informasi kredit barang rumah tangga Basisdata 29 1 29/30 96.67%

Total rata - rata 281 19 281/300 93.67%

Page 70: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

54

Daftar term yang termasuk kedalam ketiga kategori adalah sebagai berikut :

Tabel 4.21 Daftar term yang masuk dalam 3 kategori

Daftar term diatas diurutkan berdasarkan bobot centroid terbesar yang terdapat

dalam ketiga kategori

Term Bobot centorid

Basisdata Jaringan Komputasi

kirim 3.32193 9.99999 4.9829

internet 9.99999 4.73909 2.58496

file 6.19908 4.64931 9.99999

fitur 9.99999 4.32193 9.99999

suara 3.90689 3.90689 9.99999

pesan 9.99999 4.32193 4.32193

peta 4.32193 4.32193 9.99999

batas 7.81378 3.90689 9.99999

basisdata 9.76722 3.90689 3.90689

aplikasi 5.29548 9.56128 6.61935

hitung 3.32193 3.32193 8.85848

server 6.17806 8.8258 2.20645

batas 7.81378 3.90689 9.99999

basis 4.43136 7.75488 2.58496

model 6.78274 2.90689 5.08706

lunak 6.64386 6.64386 5.53655

jaringan 5.89957 6.33984 1.58496

java 4.06965 5.81378 2.90689

informasi 4.49582 3.45832 3.68888

Page 71: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

55

Daftar term yang termasuk kedalam ketiga kategori adalah sebagai berikut :

Tabel 4.222 Daftar term yang masuk dalam 3 kategori

Daftar term diatas diurutkan berdasarkan bobot centroid terkecil yang terdapat

dalam ketiga kategori

Term Bobot centorid

Basisdata Jaringan Komputasi

data 2.48463 1.1624 2.55728

komputer 2 4.44444 4

simpan 3.78249 2.20645 2.20645

guna 5.30727 6.38531 2.32193

mysql 3.80716 2.44746 2.44746

analisis 2.44746 2.44746 3.42644

sistem 4.82499 3.29657 2.54735

metode 2.72623 2.6505 4.92235

teknologi 4.36034 3.87585 2.90689

program 3.40778 3.93788 3.21846

system 3.32193 4.42924 4.9829

uji 3.32193 3.32193 4.9829

masuk 3.32193 3.32193 5.53655

banding 3.90689 3.90689 3.90689

aman 4.64386 4.64386 4.64386

perangkat (angkat) 6.19908 6.19908 5.1659

Page 72: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

56

Pembahasan :

Dari dari tabel 4.18 , 4.19 dan 4.20 dapat ditarik suatu kesimpulan :

Dari dokumen test no 1 ( pada tabel 4.18 ) nilai similarity terbesar adalah

0.20999 pada kategori Basisdata sedangkan nilai similarity terendah

adalah 0.06209 dan responden yang memilih Basisdata adalah 30 orang

dari jumlah keseluruhan responden 30 (pada tabel 4.19 no dokumen 1)

sehingga dapat dihasilkan precision 100% .

Dari keseluruhan dokumen test nilai rata-rata similarity yang dapat

mengklasifikasikan dokumen dengan menggunakan 60 dokumen untuk

model pada skripsi ini adalah diatas 0.11.

Dari dari tabel 4.21 dapat ditarik suatu analisa :

Kata / term yang dominan dalam berdasarkan besarnya centroid :

o Basisdata kata yang dominan antara lain : internet, pesan,

basisdata , model , informasi.

o Jaringan kata yang dominan antara lain : kirim, aplikasi, basis,

server, jaringan, java.

o Komputasi kata yang dominan antara lain : file, suara, peta, batas,

hitung.

Terdapat juga kata – kata yang hampir merata di 2 kategori yaitu pada

kategori basis data dan jaringan. Kata – kata tersebut yaitu : lunak. Pada

kategori basisdata dan komputasi yaitu : fitur.

Dari dari tabel 4.22 dapat ditarik suatu analisa :

Semakin kecil nilai centroid maka kata tersebut akan semakin merata di

beberapa kategori, contoh nya kata aman dan banding bobot centroidnya

merata di ke-3 kategori

Page 73: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

57

BAB V

ANALISIS HASIL

5.1 Kesimpulan

Kesimpulan yang diambil setelah melakukan impelementasi

Klasifikasi Dokumen Skripsi Teknik Informatika Menggunakan Metode

Rocchio :

1. User dapat melakukan pencarian klasifikasi suatu abstrak

dokumen skripsi.

2. User dapat melakukan pencarian dokumen skripsi sesuai

dengan kata kunci.

3. Hasil nilai precision rata-rata yang dikeluarkan sistem

berdasarkan abstrak dokumen testing sebanyak 10 dokumen

adalah 93.67%.

4. Hasil precision dari 10 dokumen yang diuji dengan precision

terendah 80% precision tertinggi 100% berdasarkan 30

responden.

5.2 Saran

Dari hasil analisa saran yang dapat diberikan :

1. Penambahan kamus kata dasar dapat memperbaiki hasil

keluaran klasifikasi dari sistem.

2. Untuk memperoleh hasil yang lebih akurat disarankan

dokumen model (dokumen untuk menentukan klasifikasi) lebih

baik menggunakan dokumen yang benar-benar termasuk dalam

kategori / kelas dokumen.

Page 74: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

58

Daftar Pustaka

Mandala, Ria dan Setiawan, Hendra, Improving Information Retrieval

System Perfomance by Automatic Query Expansion, Makalah, Departemen

Teknik Informatika, Institut Teknologi Bandung, 2001.

Tala, Z Fadila, A Study of Stemming Effects on Information Retrieval in

Bahasa Indonesia, Paper, Master of Logic Project, Institute for Logic,

Language and Computation, Universiteit van Amsterdam , The

Netherlands, 2001.

Nazief Bobby dan Mirna Adriani, Confix-Stripping: Approach to

Stemming Algorithm for Bahasa Indonesia, Faculty of Computer Science

University of Indonesia, 1996.

Zainal, Agus A dan Novam, Ari S, Klasifikasi Dokumen Berita Kejadian

Berbahasa Indonesia dengan Algoritma Single Pass Clustering, Makalah,

Teknik Informatika, Institut Teknologi Sepuluh Nopember, 2002.

Hasibuan, Zainal A dan Andri Yofi, Penerapan Berbagai Teknik Temu-

Kembali Informasi Berbasis Hiperteks, Makalah, Fakultas Ilmu

Komputer, Universitas Indonesia, 1998.

Christopher D. Manning,Prabhakar Raghavan, Hinrich Schütze, An

Introduction to Information Retrieval, Cambridge University Press

Cambridge, England, 2008.

Thorsten Joachims, A Probabilistic Analysis of the Rocchio Algorithm with

TFIDF for Text Categorization, Jurnal (makalah), Universitat Dortmun,

Germany, 1997.

Page 75: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

59

Savoy, J. “A Learning Scheme for Information Retrieval in Hypertext”.

Information Processing & Management, 30(4), 515-533. 1993.

Salton, Gerard. 1989. Automatic Text Processing: The Transformation,

Analysis, and Retrieval of Information by Computer. AddisonWesley. 46,

194, 530.

Grossman, David A., and Ophir Frieder. 2004. Information Retrieval:

Algorithms and Heuristics, 2nd edition. Springer. xxii, 84, 217, 523.

Lancaster , F. W. “Vocabulary Control for Information Retrieval, 2nd

ed”.

Arlington, VA: Information Resources Press, 1986.

Rational Software ,“Rational Unified Process Best Practices for Software

Development Teams”. 20 Maguire Road Lexington, MA 02421. 1998.

Page 76: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

60

LAMPIRAN 1

Lampiran 1.1 Skenario Usecase Login

Use Case : Login

Pra Kondisi : -

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses verifikasi hak akses

administrator untuk masuk ke sistem admin.

Aksi Aktor Reaksi Sistem

Skenario Normal (melakukan login)

1. Aktor meng-klik tombol login

2. Sistem menampilkan menu login

yang berupa inputan username dan

password , serta tombol login.

3. Aktor mengisi username dan

password

4. Aktor menekan tombol login.

5. Sistem melakukan pengecekan

password dan username.

6. Sistem menampilkan menampilkan

halaman menu administrator.

Skenario Alternatif (melakukan login)

3. Aktor mengisi username dan

password.

5. Sistem memvalidasi username dan

password. Jika username dan

password salah maka sistem akan

menampilkan halaman index user.

6. Kembali kelangkah 1 sekenario

normal.

Lampiran 1.2 Skenario Usecase Logout

Use Case : Logout

Pra Kondisi : sistem telah login

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses keluar dari sistem.

Page 77: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

61

Aksi Aktor Reaksi Sistem

Skenario Normal (melakukan logout)

1. Aktor berada pada halaman

administrator, kemudian aktor meng-

klik link logout.

2. Sistem akan keluar dari menu

administrator kembali ke halaman

indeks user.

Lampiran 1.3 Skenario Usecase Klasifikasi Dokumen

Use Case : Klasifikasi dokumen

Pra Kondisi : aktor telah masuk dalam menu utama administrator

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses menggambarkan proses

klasifikasi dokumen.

Aksi Aktor Reaksi Sistem

1.Aktor meng-klik link klasifikasi

dokumen.

2. Sistem akan menampilkan menu

klasifikasi dokumen. Berupa insert

dokumen yang akan diklasifikasikan

, tombol cari (browse) , tombol

keluar, dan tombol klasifikasi.

3. Aktor memasukkan dokumen yang

akan diklasifikasikan, kemudian

menekan tombol klasifikasi.

4. Sistem melakukan proses klasifikasi.

Dan memberikan hasil dari

klasifikasi dokumen.

Lampiran 1.4 Skenario Usecase Pembuatan Model dan indeks

Use Case : Pembuatan Model dan indeks

Pra Kondisi : aktor telah masuk dalam menu utama administrator

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses pengindekkan dokumen dan

pengklasifikasian dokumen kedalam kelas/kategori.

Page 78: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

62

Aksi Aktor Reaksi Sistem

1.Aktor berada di menu admin,

kemudian meng-klik link Indexing

dokumen.

2. Sistem akan menampilkan form

Indexing dokumen. Berupa input teks

unutk judul dokumen, insert

dokumen yang akan diindekkan ,

dropdown menu untuk kategori

dokumen, tombol cari (browse) , dan

tombol indexing.

3. Aktor mengetikan judul dokumen,

memasukkan dokumen yang akan

diindekkan dengan meng-klik tombol

cari(browse), kemudian memilih

termasuk dalam kategori apakah

dokumen tersebut, dengan memilih

kategori dokumen dari dropdown

menu kategori. Aktor menekan

tombol indexing.

4. Sistem melakukan proses indexing

dokumen. Dan memberikan hasil

konfirmasi proses indexing.

Lampiran 1.5 Skenario Usecase Lihat dokumen

Use Case : Lihat dokumen

Pra Kondisi : aktor telah masuk dalam menu utama administrator

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses melihat dokumen yang telah

terindeks.

Aksi Aktor Reaksi Sistem

1.Aktor meng-klik link list data skripsi.

2. Sistem akan menampilkan form list

data skripsi, yang berisi tampilan

data skripsi yang telah terindeks.

Lampiran 1.6 Skenario Usecase Tambah stopword

Use Case : Tambah stopword

Page 79: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

63

Pra Kondisi : aktor telah masuk dalam menu utama administrator

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses penambahan stopword.

Aksi Aktor Reaksi Sistem

Skenario Normal (melakukan tambah stopword)

1.Aktor meng-klik link Manage

Stoplist.

2. Sistem akan menampilkan form

stoplist. Berupa insert teks stoplist

untuk menambahkan stopword,

tombol tambah, daftar stoplist, link

edit , link hapus dan tombol .

3. Aktor memasukkan stopword pada

insert teks stopword. Kemudian aktor

menekan tombol save.

4. Sistem melakukan penyimpanan data

stopword yang baru. Sistem

memberikan konfirmasi penambahan

stopword.

Skenario Alternatif (melakukan tambah stopword)

3. Jika aktor tidak jadi melakukan

tambah stopword. Aktor menekan

tombol cancel.

4. Sistem kembali ke menu utama

Administrator.

Lampiran 1.7 Skenario Usecase Edit stoplist

Use Case : Edit stoplist

Pra Kondisi : aktor telah masuk dalam menu utama administrator

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses perubahan detail stopword

jika terjadi kesalahan pengetikan.

Aksi Aktor Reaksi Sistem

Skenario Normal (melakukan edit stoplist)

1.Aktor meng-klik link manage

Stoplist.

Page 80: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

64

2. Sistem akan menampilkan form

stoplist. Berupa insert teks stoplist

untuk menambahkan stopword,

tombol tambah, daftar stoplist , link

edit , link hapus dan tombol cancel.

3. Aktor meng-klik link edit pada salah

satu data yang ada dalam daftar

stoplist yang akan diedit.

4. Sistem menampilkan data yang akan

diedit dalam edit teks.

5. Aktor melakukan editing stopword ,

kemudian aktor menekan tombol edit.

6. Sistem melakukan penyimpanan

ulang data yang telah diubah/ diedit.

Dan memberikan konfirmasi

perubahan data.

Skenario Alternatif (melakukan edit stoplist)

3. Jika aktor tidak jadi melakukan edit

stopword. Aktor menekan tombol

cancel.

4. Sistem kembali ke menu utama

Administrator.

Lampiran 1.8 Skenario Usecase Hapus stopword

Use Case : Hapus stopword

Pra Kondisi : aktor telah masuk dalam menu utama administrator

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses penghapusan data

stopword.

Aksi Aktor Reaksi Sistem

Skenario Normal (melakukan hapus stopword)

1.Aktor meng-klik link manage

Stoplist.

2. Sistem akan menampilkan menu

stoplist. Berupa insert teks stoplist

untuk menambahkan stopword,

tombol tambah, daftar stoplist, link

edit , link hapus.

Page 81: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

65

3. Aktor meng-klik link hapus pada

salah satu data yang ada dalam daftar

stoplist yang akan dihapus.

4. Sistem melakukan penghapusan data

stopword. Dan memberikan

konfirmasi penghapusan data.

5. Aktor meng-klik link kembali

6. sistem kembali ke menu admin

Lampiran 1.9 Skenario Usecase Tambah kategori

Use Case : Tambah kategori

Pra Kondisi : aktor telah masuk dalam menu utama administrator

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses penambahan kategori.

Aksi Aktor Reaksi Sistem

Skenario Normal (melakukan tambah kategori)

1.Aktor meng-klik link manage

Kategori.

2. Sistem akan menampilkan form

kategori. Berupa insert teks kategori

untuk menambahkan kategori,

tombol tambah, daftar kategori, link

edit , link hapus .

3. Aktor memasukkan kategori baru

pada teks tambah kategori.

Kemudian aktor menekan tombol

save.

4. Sistem melakukan penyimpanan data

kategori yang baru. Sistem

memberikan konfirmasi penambahan

kategori.

Skenario Alternatif (melakukan tambah kategori)

3. Jika aktor tidak jadi melakukan

tambah stopword. Aktor menekan

tombol cancel.

4. Sistem kembali ke menu utama

Administrator.

Page 82: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

66

Lampiran 1.10 Skenario Usecase Edit kategori

Use Case : Edit kategori

Pra Kondisi : aktor telah masuk dalam menu utama administrator

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses perubahan detail kategori

jika terjadi kesalahan pengetikan.

Aksi Aktor Reaksi Sistem

Skenario Normal (melakukan edit kategori)

1.Aktor meng-klik link manage

kategori.

2. Sistem akan menampilkan menu

kelola kategori. Berupa insert teks

kategori untuk menambahkan

kategori, tombol save, daftar

kategori, link edit , link hapus dan

tombol cancel.

3. Aktor meng-klik link edit pada salah

satu kategori yang ada dalam daftar

kategori yang akan diedit.

4. Sistem menampilkan form edit data

yang akan diedit dalam edit teks.

5. Aktor melakukan editing kategori .

kemudian aktor menekan tombol edit

6. Sistem melakukan penyimpanan

ulang data yang telah diubah/ diedit.

Dan memberikan konfirmasi

perubahan data. Skenario Alternatif (melakukan edit kategori)

3. Jika aktor tidak jadi melakukan edit

kategori. Aktor menekan tombol

cencel.

4. Sistem kembali ke menu utama

Administrator.

Lampiran 1.11 Skenario Usecase Hapus kategori

Use Case : Hapus kategori

Pra Kondisi : aktor telah masuk dalam menu utama administrator

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses penghapusan data kategori.

Page 83: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

67

Aksi Aktor Reaksi Sistem

Skenario Normal (melakukan hapus kategori)

1.Aktor meng-klik link Manage

kategori.

2. Sistem akan menampilkan menu

kelola kategori. Berupa insert teks

kategori untuk menambahkan

kategori, tombol save, daftar kategori

, link edit , link hapus dan tombol

cancel.

3. Aktor meng-klik link hapus pada

salah satu data yang ada dalam daftar

kategori yang akan dihapus.

4. Sistem menampilkan konfimasi

penghapusan data.

5. Aktor menekan link kembali.

6. Sistem kembali ke menu admin.

Lampiran 1.12 Skenario Usecase Tambah kata dasar

Use Case : Tambah kata dasar

Pra Kondisi : aktor telah masuk dalam menu utama administrator

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses penambahan data kata

dasar.

Aksi Aktor Reaksi Sistem

Skenario Normal (melakukan tambah kata dasar)

1.Aktor meng-klik link manage kamus.

2. Sistem akan menampilkan menu

kelola kamus. Berupa insert teks kata

dasar untuk menambahkan kata

dalam kamus, tombol tambah, daftar

kata dalam kamus, link edit , link

hapus.

3. Aktor memasukkan kata dasar baru

pada teks tambah kata dasar.

Kemudian aktor menekan tombol

save.

Page 84: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

68

4. Sistem melakukan penyimpanan data

kata dasar yang baru. Sistem

memberikan konfirmasi penambahan

kata dalam kamus.

Skenario Alternatif (melakukan tambah katadasar)

3. Jika aktor tidak jadi melakukan

tambah kata dasar. Aktor menekan

tombol cancel.

4. Sistem kembali ke menu utama

Administrator.

Lampiran 1.13 Skenario Usecase Edit kamus

Use Case : Edit kamus

Pra Kondisi : aktor telah masuk dalam menu utama administrator

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses perubahan detail data kata

dasar.

Aksi Aktor Reaksi Sistem

Skenario Normal (melakukan edit kamus)

1.Aktor meng-klik link manage kamus.

2. Sistem akan menampilkan menu

kelola kamus. Berupa insert teks kata

dasar untuk menambahkan kata

dalam kamus, tombol tambah, daftar

kata dalam kamus, link edit , link

hapus.

3. Aktor menekan link edit pada list

kata dasar.

4. sistem menapilkan form edit kata

dasar.

5. Kemudian aktor melakukan editing

kata setelah itu menekan tombol

edit.

6. Sistem melakukan penyimpanan

ulang data kata dasar yang baru.

Sistem memberikan konfirmasi

penambahan kata dalam kamus.

Skenario Alternatif (melakukan edit kamus)

Page 85: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

69

5. Jika aktor tidak jadi melakukan edit

kata dasar. Aktor menekan tombol

cancel.

6. Sistem kembali ke menu utama

Administrator.

Lampiran 1.14 Skenario Usecase Hapus kata dasar

Use Case : Hapus kata dasar

Pra Kondisi : aktor telah masuk dalam menu utama administrator

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses penghapusan data kategori.

Aksi Aktor Reaksi Sistem

Skenario Normal (melakukan hapus kategori)

1.Aktor meng-klik link Manage kamus.

2 Sistem akan menampilkan form

kelola kamus. Berupa insert teks kata

dasar untuk menambahkan kata

dalam kamus, tombol tambah, daftar

kata dalam kamus, link edit , tombol

link dan tombol cancel.

3. Aktor meng-klik link hapus pada

salah satu data yang ada dalam daftar

kata yang akan dihapus.

4. Sistem melakukan penghapusan data

kata dalam kamus. Dan memberikan

konfirmasi perubahan data.

5. Aktor menekan link kembali.

6. sistem kembali ke menu admin

Lampiran 1.15 Skenario Usecase Tambah user

Use Case : Tambah user

Pra Kondisi : aktor telah masuk dalam menu utama administrator

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses penambahan user.

Page 86: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

70

Aksi Aktor Reaksi Sistem

Skenario Normal (melakukan tambah kata dasar)

1.Aktor meng-klik tombol manage

user.

2. Sistem akan menampilkan menu

kelola user. Berupa insert username

dan password untuk menambahkan

user, tombol save, daftar user,link

edit , link hapus.

3. Aktor memasukkan username dan

password .Kemudian aktor menekan

tombol save.

4. Sistem melakukan penyimpanan data

username dan password . Sistem

memberikan konfirmasi penambahan

user .

Skenario Alternatif (melakukan tambah katadasar)

3. Jika aktor tidak jadi melakukan

tambah kata dasar. Aktor menekan

tombol cancel.

4. Sistem kembali ke menu utama

Administrator.

Lampiran 1.16 Skenario Usecase user

Use Case : Edit user

Pra Kondisi : aktor telah masuk dalam menu utama administrator

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses perubahan detail user.

Aksi Aktor Reaksi Sistem

Skenario Normal (melakukan edit kamus)

1.Aktor meng-klik tombol manage

user.

2. Sistem akan menampilkan menu

kelola user. Berupa insert username

dan password untuk menambahkan

user, tombol save, daftar user,link

edit , link hapus.

3. Aktor menekan link edit pada list

user.

Page 87: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

71

4. sistem menapilkan form edit use.

6. Kemudian aktor melakukan editing

kata setelah itu menekan tombol

edit.

6. Sistem melakukan penyimpanan

ulang data user yang baru. Sistem

memberikan konfirmasi.

Skenario Alternatif (melakukan edit kamus)

5. Jika aktor tidak jadi melakukan edit

user. Aktor menekan tombol cancel.

6. Sistem kembali ke menu utama

Administrator.

Lampiran 1.17 Skenario Usecase Hapus user

Use Case : Hapus user

Pra Kondisi : aktor telah masuk dalam menu utama administrator

Aktor : Administrator

Deskripsi : Use Case ini menggambarkan proses penghapusan data user.

Aksi Aktor Reaksi Sistem

Skenario Normal (melakukan hapus kategori)

1.Aktor meng-klik tombol manage

user.

2. Sistem akan menampilkan menu

kelola user. Berupa insert username

dan password untuk menambahkan

user, tombol save, daftar user,link

edit , link hapus.

3. Aktor meng-klik link hapus pada

salah satu data yang ada dalam daftar

user yang akan dihapus.

4. Sistem melakukan penghapusan data

user. Dan memberikan konfirmasi

perubahan data.

5. Aktor menekan link kembali.

6. sistem kembali ke menu admin

Page 88: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

72

Lampiran 1.18 Skenario Usecase cari dokumen

Use Case : Cari dokumen

Pra Kondisi : aktor telah dalam halaman user (halaman pencarian dokumen)

Aktor : User / pengguna

Deskripsi : Use Case ini menggambarkan proses pencarian kata dalam

dokumen.

Aksi Aktor Reaksi Sistem

1.Aktor memasukan kata kunci

pencarian(query). Kemudian aktor

menekan tombol cari.

2 Sistem akan melakukan pencarian

data yang sesuai dengan query / kata

kunci aktor.

3. sistem menampilkan hasil dokumen

yang relevan dengan kata kunci dan

termasuk dalam kategori yang telah

ditentukan.

Lampiran 1.19 Skenario Usecase cari klasifikasi dokumen

Use Case : Cari klasifikasi dokumen

Pra Kondisi : aktor telah dalam halaman pencarian klasifiksi dokumen

Aktor : User / pengguna

Deskripsi : Use Case ini menggambarkan proses pencarian kategori / kelas

dokumen.

Aksi Aktor Reaksi Sistem

1.Aktor memasukan kata kunci

pencarian(query). Kemudian aktor

menekan tombol cari.

2 Sistem akan melakukan

membandingkan data yang sesuai

dengan query / kata kunci.

3. sistem menampilkan kelas/kategori

dari kata kunci yang dimasukkan.

Page 89: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

73

LAMPIRAN 2 Lampiran 2.1 Realisasi Use Case Login

Halaman Menu User Halaman Login Admin AutentifikasiLogin User

Kelas Analisis

Dinamika Obyek

User

4. Aktor menekan tombol login

Halaman Login Admin AtentifikasiLogin

2. Sistem menampilkan form login3. Aktor menginputkan username dan

password

5. Sistem mengatentifikasi username

dan password

Sistem border

username, password

isAuthentic()

Select result

username dan password

show()

Login key

Halaman menu user

1. Aktor mengklik link login klik link login

No Nama Kelas Tipe Deskripsi

1 Halaman Menu User Interface /

Boundary

Kelas ini berfungsi untuk

menampilkan halaman indeks

user.

2 Halaman Login Admin

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form Login

3 AutentifikasiLogin Control Kelas ini berfungsi untuk

mengautentifikasi /

memvalidasi username dan

password.

4 User Entity/model Kelas ini berfungsi untuk

menyimpan data-data User

(username dan password)

Page 90: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

74

Lampiran 2.2 Realisasi Use Case Logout

Halaman Menu Admin AutentifikasiLogout User

Kelas Analisis

Dinamika Obyek

1. Aktor telah login

3. Sistem keluar halaman Admin

UserHalaman Menu admin AtentifikasiLogout

2. Aktor menekan tombol logout

Sistem border

AutentifikasiLogout

Keluar halaman admin

Logout key

No Nama Kelas Tipe Deskripsi

1 Halaman Menu Admin

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi penampilan

halaman administrator

2 AutentifikasiLogout Control Kelas ini berfungsi untuk

menghilangkan password dan

user name. untuk menjaga

keamanan password dan user

name.

3 User Entity/model Kelas ini berfungsi untuk

menyimpan data-data User (user

name dan password)

Page 91: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

75

Lampiran 2.3 Realisasi Use Case Klasifkasi Dokumen

Halaman Menu Admin Form Kasifikasi Dokumen

indekTerm

Term

centroidKlass

Word

ControlKlasifikasi

Tokenizer

Kelas Analisis

No Nama Kelas Tipe Deskripsi

1 Halaman Menu Admin

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan halaman

administrator

2 Form klasifikasi

dokumen

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form klasifikasi.

3 ControlKlasifikasi Control Kelas ini berfungsi untuk

menentukan termasuk kategori

apakah dokumen masukan

(inputan). Dalam

ControlKlasifikasi terdapat

beberapa proses yaitu proses

stoplist, steming, pembobotan,

similarity dan klasifikasi.

4 IndekTerm Entity/model Kelas ini berfungsi untuk

menyimpan menghitung term

frekuensi.

5 Term Entity/model Kelas ini berfungsi untuk

menampung data term, hitung

dokumen frekuensi, indexing

data, update bobot, update

centroid.

6 centroidKlass Entity/model Kelas ini berfungsi untuk

menampung kata yang sama

Page 92: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

76

Dinamika Obyek

3. Aktor menekan tombol

klasifikasi

1. Aktor menekan tombol menu

Klasifikasi dokumen

TokenizerHalaman administrator ControlKlasifiaksi

2. Aktor memasukkan dokumen

yang akan diklasifikasikan

Sistem border

Proses klasifikasi()

Menu klasifikasi key

Term IndekTerm centroidKlass

show()

klasifikasi key stopword()

stemeToIndonesia()

Form Klasifikasi

input dokumen

Word

getSimilarityAllKategory()

getAllSimilarity() getSimilarityKategory()

itungTF()

Hasil klasifikasi

Term()

Term()

4. sistem menampilkan hasil

klasifikasi

tf

Lampiran 2.4 Realisasi Use Case Pembuatan Model

Halaman Menu Admin form indexing

indekTerm

Term

Word

Skripsi

kategori

Tokenizer

ControlIndexing

untuk perhitungan centroid

dalam suatu kategori.

8 Word Model Kelas ini berfungsi untuk

melakukan steming kata / term

(merupakan bagian dari

steming yang telah dibuat oleh

Puspaningtyas Sanjaya Adi,

S.T, M.T)

9 Tokenizer Model Kelas ini berfungsi untuk

menyaring daftar kata yang ada

dalam stoplist kata.

Page 93: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

77

Kelas Analisis

No Nama Kelas Tipe Deskripsi

1 Halaman Menu Admin

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan halaman

administrator

2 Form indexing Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form indexing

dokumen

3 ControlIndexing Control Kelas ini berfungsi untuk

melakukan proses indexing

dokumen. Didalam proses ini

terdapar proses stoplist , proses

steming, pembobotan dokumen,

penghitungan centroid, insert

term, update term, update

centoid.

4 Skripsi Entity/model Kelas ini berfungsi untuk

menyimpan data – data

dokumen skripsi.

5 indekTerm Entity/model Kelas ini berfungsi untuk

menyimpan menghitung term

frekuensi.

6 Term Entity/model Kelas ini berfungsi untuk

menampung data term, hitung

dokumen frekuensi, indexing

data, update bobot, update

centroid.

7 Kategori Entity/model Kelas ini berfungsi untuk

menyimpan data kategori.

8 Word Model Kelas ini berfungsi untuk

menyimpan kata dasar yang

digunakan untuk mengecek

steming

9 Tokenizer Model Kelas ini berfungsi untuk

menyaring daftar kata yang ada

dalam stoplist kata.

Page 94: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

78

Dinamika Obyek

kategori

5. Aktor menekan tombol indexing

Halaman Menu admin ControlIndexing

1. Aktor menekan link Indexing

dokumen

3. Aktor memasukkan dokumen

yang akan diindekkan

Sistem border

Proses indexing()

Menu indexing

form indexing Term IndekTerm Tokenizer Word

show()

Jenis klasifikasi

dokumen

stopword()

stemeToIndonesia()

4. Aktor memilih jenis klasifikasi

dokumen

kategori

Indexing key

2. Aktor mengetikan judul dokumen Judul dokumen

Informasi indexing

termitungTF()

insertTerm()

term

term

tf

insertSkripsi()6. sistem menampilkan informasi

indexing

Lampiran 2.5 Realisasi Use Case Lihat Dokumen

Halaman Menu Admin

kategori

form list data Skripsi

Skripsi

Kelas Analisis

No Nama Kelas Tipe Deskripsi

1 Halaman Administrator

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form

administrator

2 Form list data Skripsi Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form lihat

dokumen yang telah

terindek

3 Kategori Entity Kelas ini berfungsi untuk

menyimpan data kategori.

4 Skripsi Entity Kelas ini berfungsi untuk

menyimpan data – data

dokumen.

Page 95: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

79

Dinamika Obyek

Halaman menu admin Kategori

1. Aktor menekan link list data skripsi

Sistem border

List data skripsi

Form list data skripsi Skripsi

show()idKategori, kategori

Show(judul skripsi, kategori)

select(judul, kategori)

2. sistem menampilkan data skripsi

Lampiran 2.6 Realisasi Use Case Tambah Stopword

Halaman Menu Admin Form manage stoplist stopwordManajemenController stoplist

Kelas Analisis

Dinamika Obyek

Halaman menu admin StopWordManajemenController

1. Aktor menekan tombol menu kelola

stoplist

2. Aktor memasukkan data stopword

Sistem border

Menu kelola stoplist

form manage stoplist stoplist

show()

Tambah key

stopword

3. Aktor menekan tombol tambah Insert()

result

tambah stopword

No Nama Kelas Tipe Deskripsi

1 Halaman Menu Admin

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan halaman

administrator

2 Form manage stoplist Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form manage

stoplist

3 StopwordManajemenController Control Kelas ini berfungsi untuk

menambah, mengedit atau

menghapus data stopword.

4 Stoplist Entity/model Kelas ini berfungsi untuk

menyimpan data – data

stopword.

Page 96: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

80

Lampiran 2.7 Realisasi Use Case Edit Stoplist

Halaman Menu Admin Form manage stoplist stopwordManajemenController stoplist

Kelas Analisis

Dinamika Obyek

Halaman menu admin StopWordManajemenController

1. Aktor menekan tombol menu kelola

stoplist

2. Aktor memilih data stopword

Sistem border

Menu kelola stoplist

Form manage stoplist stoplist

show()

edit key

stopword

3. Aktor menekan tombol edit

Edit stopword

update

result

Lampiran 2.8 Realisasi Use Case Hapus Stopword

Halaman Menu Admin Form manage stoplist stopwordManajemenController stoplist

Kelas Analisis

No Nama Kelas Tipe Deskripsi

1 Halaman Menu Admin

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan halaman

administrator

2 Form manage stoplist Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form manage

stoplist

3 StopwordManajemenController Control Kelas ini berfungsi untuk

menambah, mengedit atau

menghapus data stopword.

4 Stoplist Entity/model Kelas ini berfungsi untuk

menyimpan data – data

stopword.

No Nama Kelas Tipe Deskripsi

1 Halaman Menu Admin Interface / Kelas ini berfungsi untuk

Page 97: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

81

Dinamika Obyek

Halaman menu admin StopWordManajemenController

1. Aktor menekan tombol menu kelola

stoplist

2. Aktor memilih data stopword

Sistem border

Menu kelola stoplist

form manage stoplist stoplist

show()

hapus key

stopword

3. Aktor menekan tombol hapus

Hapus stopword

Delete()

result

Lampiran 2.9 Realisasi Use Case Tambah Kategori

Halaman Menu Admin Form manage kategoriKategoriManajementController

kategori

Kelas Analisis

Boundary menyediakan fungsi

penampilan halaman

administrator

2 Form manage stoplist Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form manage

stoplist

3 StopwordManajemenController Control Kelas ini berfungsi untuk

menambah, mengedit atau

menghapus data stopword.

4 Stoplist Entity/model Kelas ini berfungsi untuk

menyimpan data – data

stopword.

No Nama Kelas Tipe Deskripsi

1 Halaman Menu Admin

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan halaman

administrator

2 Form manage kategori Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form manage

kategori.

3 KategoriManajemenController Control Kelas ini berfungsi untuk

menambah, mengedit atau

menghapus data kategori.

4 Kategori Entity/model Kelas ini berfungsi untuk

Page 98: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

82

Dinamika Obyek

Halaman menu admin kategoriManajemenController

1. Aktor menekan tombol menu kelola

Kategori

2. Aktor memilih data kategori

Sistem border

Menu kelola kategori

Form manage kategori Kategori

show()

edit key

kategori

3. Aktor menekan tombol edit

Edit kategori

Update()

result

Lampiran 2.10 Realisasi Use Case Edit Kategori

Halaman Menu Admin Form manage kategoriKategoriManajementController

kategori

Kelas Analisis

menyimpan data – data

kategori.

No Nama Kelas Tipe Deskripsi

1 Halaman Menu Admin

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan halaman

administrator

2 Form manage kategori Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form manage

kategori.

3 KategoriManajemenController Control Kelas ini berfungsi untuk

menambah, mengedit atau

menghapus data kategori.

4 Kategori Entity/model Kelas ini berfungsi untuk

menyimpan data – data

kategori.

Page 99: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

83

Dinamika Obyek

Halaman menu admin kategoriManajemenController

1. Aktor menekan tombol menu kelola

Kategori

2. Aktor memilih data kategori

Sistem border

Menu kelola kategori

Form manage kategori Kategori

show()

edit key

kategori

3. Aktor menekan tombol edit

Edit kategori

Update()

result

Lampiran 2.11 Realisasi Use Case Hapus Kategori

Halaman Menu Admin Form manage kategoriKategoriManajementController

kategori

Kelas Analisis

Dinamika Obyek

Halaman menu admin kategoriManajemenController

1. Aktor menekan tombol menu kelola

Kategori

2. Aktor memilih data kategori

Sistem border

Menu kelola kategori

Form manage kategori Kategori

show()

hapus key

kategori

3. Aktor menekan tombol hapus

Hapus Kategori

Delete()

result

No Nama Kelas Tipe Deskripsi

1 Halaman Menu Admin

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan halaman

administrator

2 Form manage kategori Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form manage

kategori.

3 KategoriManajemenController Control Kelas ini berfungsi untuk

menambah, mengedit atau

menghapus data kategori.

4 Kategori Entity/model Kelas ini berfungsi untuk

menyimpan data – data

kategori.

Page 100: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

84

Lampiran 2.12 Realisasi Use Case Tambah Kata Dasar

Halaman Menu Admin KamusForm manage kamusKamusManajemenControl

Kelas Analisis

Dinamika Obyek

Halaman menu admin KamusManajemenController

1. Aktor menekan tombol menu kelola

Kamus

2. Aktor memasukkan data kamus

Sistem border

Menu kelola kamus

form manage kamus Kamus

show()

Tambah key

word

3. Aktor menekan tombol tambah

tambah kamus

Insert()

result

Lampiran 2.13 Realisasi Use Case Edit Kamus

Halaman Menu Admin KamusForm manage kamusKamusManajemenControl

Kelas Analisis

No Nama Kelas Tipe Deskripsi

1 Halaman Menu Admin

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan halaman

administrator

2 Form manage kamus Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form manage

kamus.

3 KamusManajemenControl Control Kelas ini berfungsi untuk

menambah, mengedit atau

menghapus data kamus.

4 Kamus Entity/model Kelas ini berfungsi untuk

menyimpan data – data

kamus (kata dasar).

No Nama Kelas Tipe Deskripsi

1 Halaman Menu Admin

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

Page 101: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

85

Dinamika Obyek

Halaman menu admin KamusManajemenController

1. Aktor menekan tombol menu kelola

Kamus

2. Aktor memilih data kategori

Sistem border

Menu kelola kamus

form manage Kamus Kamus

show()

edit key

word

3. Aktor menekan tombol edit

Edit word

Update()

result

Lampiran 2.14 Realisasi Use Case Hapus Kata Dasar

Halaman Menu Admin KamusForm manage kamusKamusManajemenControl

Kelas Analisis

penampilan halaman

administrator

2 Form manage kamus Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form manage

kamus.

3 KamusManajemenControl Control Kelas ini berfungsi untuk

menambah, mengedit atau

menghapus data kamus.

4 Kamus Entity/model Kelas ini berfungsi untuk

menyimpan data – data

kamus (kata dasar).

No Nama Kelas Tipe Deskripsi

1 Halaman Menu Admin

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan halaman

administrator

2 Form manage kamus Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form manage

kamus.

3 KamusManajemenControl Control Kelas ini berfungsi untuk

menambah, mengedit atau

Page 102: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

86

Dinamika Obyek

Halaman menu admin KamusManajemenController

1. Aktor menekan tombol menu kelola

Kamus

2. Aktor memilih data kategori

Sistem border

Menu kelola kamus

Form manage Kamus Kamus

show()

Hapus key

word

3. Aktor menekan tombol hapus

Hapus Word

Delete()

result

Lampiran 2.15 Realisasi Use Case Tambah user

Halaman Menu Admin Form Manage User UserManageController User

Kelas Analisis

menghapus data kamus.

4 Kamus Entity/model Kelas ini berfungsi untuk

menyimpan data – data

kamus (kata dasar).

No Nama Kelas Tipe Deskripsi

1 Halaman Menu Admin

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan halaman

administrator

2 Form manage user Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form manage

user.

3 UserManageController Control Kelas ini berfungsi untuk

menambah, mengedit atau

menghapus data kamus.

4 User Entity/model Kelas ini berfungsi untuk

menyimpan data – data user

( username, password ).

Page 103: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

87

Dinamika Obyek

Halaman Menu UserManageController

1. Aktor menekan link manage user

2. Aktor memasukkan data username

dan password

Sistem border

Menu manage user

Form manage user User

show()

Tambah key

Username, password

3. Aktor menekan tombol saveInsert(username,password)

result

tambah user

Lampiran 2.16 Realisasi Use Case Edit user

Halaman Menu Admin Form Manage User UserManageController User

Kelas Analisis

Dinamika Obyek

Halaman Menu UserManageController

1. Aktor menekan link manage user

2. Aktor menekan link edit

Sistem border

Menu manage user

Form manage user User

show()

Username password

Link edit

4. Aktor menekan tombol edit update(username,password)

changePassword()

result

edit user3. aktor mengedit username, password

edit key

No Nama Kelas Tipe Deskripsi

1 Halaman Menu Admin

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan halaman

administrator

2 Form manage user Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form manage

user.

3 UserManageController Control Kelas ini berfungsi untuk

menambah, mengedit atau

menghapus data kamus.

4 User Entity/model Kelas ini berfungsi untuk

menyimpan data – data user

( username, password ).

Page 104: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

88

Lampiran 2.17 Realisasi Use Case Hapus user

Halaman Menu Admin Form Manage User UserManageController User

Kelas Analisis

Dinamika Obyek

Halaman Menu UserManageController

1. Aktor menekan link manage user

2. Aktor menekan link hapus

Sistem border

Menu manage user

Form manage user User

show()

Link hapus

hapus(idusername)

result

hapus user

No Nama Kelas Tipe Deskripsi

1 Halaman Menu Admin

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan halaman

administrator

2 Form manage user Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan form manage

user.

3 UserManageController Control Kelas ini berfungsi untuk

menambah, mengedit atau

menghapus data kamus.

4 User Entity/model Kelas ini berfungsi untuk

menyimpan data – data user

( username, password ).

Page 105: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

89

Lampiran 2.18 Realisasi Use Case Cari dokumen

Halaman Menu User

Term

indekTerm

Tokenizer

Word

ControlCari

Kelas Analisis

No Nama Kelas Tipe Deskripsi

1 Halaman menu user

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi penampilan

halaman user

2 ControlCari Control Kelas ini berfungsi untuk mencari

data yang sesuai dengan kata kunci /

query dari user.

3 indekTerm Entity /model Kelas ini berfungsi untuk

menyimpan menghitung term

frekuensi, fungsi untuk menghitung

jumlah bobot dalam dokumen yang

sesuai dengan kata kunci.

4 Term Entity /model Kelas ini berfungsi untuk

menampung data term, hitung

dokumen frekuensi.

5 Word model Kelas ini berfungsi untuk melakukan

steming kata / term (merupakan

bagian dari steming yang telah

dibuat oleh Puspaningtyas Sanjaya

Adi, S.T, M.T)

6 Tokenizer model Kelas ini berfungsi untuk menyaring

daftar kata yang ada dalam stoplist

kata.

Page 106: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

90

Dinamika Obyek

1. Aktor memasukkan kata kunci

pencarian

TokenizerHalaman menu user ControlCari

2. Aktor menekan tombol cari

Sistem border

Key cari Proses klasifikasi()

Term indekTerm

stopword()

stemeToIndonesia()

input dokumen

Word

getCariKata()

itungTF()

Hasil pencarian

Term()

3. sistem menampilkan hasil pencarian

tf

term

term

hasil pencarian

Lampiran 2.19 Realisasi Use Case cari klasifikasi dokumen

Word

Term

Tokenizer

indekTerm

centroidKlassHalaman Menu User ControlCariKlasHalaman Pencarian Klasifikasi

Kelas Analisis

No Nama Kelas Tipe Deskripsi

1 Halaman menu user

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan halaman user

2 Halaman pencarian

klasifikasi

Interface /

Boundary

Kelas ini berfungsi untuk

menyediakan fungsi

penampilan halaman pencarian

klasifikasi.

3 ControlCariKlas Control Kelas ini berfungsi untuk

menentukan termasuk kategori

apakah dokumen masukan

(inputan). Dalam

ControlCariKlas terdapat

beberapa proses yaitu proses

Page 107: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

91

Dinamika Obyek

3. Aktor menekan tombol cari

1. Aktor menekan tombol link

pencarian Klasifikasi

TokenizerHalaman Menu user ControlCariKlas

2. Aktor memasukkan katakunci

abstrak dokumen skripsi

Sistem border

Proses pencarian klas()

Link pencarian klas

Term indekTerm

cari key stopword()

stemeToIndonesia()

Halaman pencarian

klasifikasi

input abstrak dokumen

Word

getSimilarityAllKategory()

getAllSimilarity() getSimilarityKategory()

itungTF()

hasilSimilarityHasil klasifikasi

Term()

Term()

4. sistem menampilkan hasil

klasifikasi

tf

show()

centroidKlass

stoplist, steming, pembobotan,

similarity dan klasifikasi.

4 indekTerm Entity Kelas ini berfungsi untuk

menyimpan menghitung term

frekuensi.

5 Term Entity Kelas ini berfungsi untuk

menampung data term, hitung

dokumen frekuensi, indexing

data, update bobot, update

centroid.

6 centroidKlass Entity Kelas ini berfungsi untuk

menghitung kemiripan

dokumen, fungsi pencarian

dokumen.

7 Word Entity Kelas ini berfungsi untuk

melakukan steming kata / term

(merupakan bagian dari

steming yang telah dibuat oleh

Puspaningtyas Sanjaya Adi,

S.T, M.T)

8 Tokenizer Entity Kelas ini berfungsi untuk

menyaring daftar kata yang ada

dalam stoplist kata.

Page 108: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

92

LAMPIRAN 3

Berikut ini adalah tabel realisai kelas desain yang digunakan dalam pembuatan sistem ini:

Diagram Kelas Keseluruhan

stoplist

Kamus

stopwordManajemenCon

troller

KategoriManajementCon

troller

KamusManajemenContr

ol

Form manage stoplist

Form manage kategoriForm manage kamus

f orm list data Skripsi

Halaman Menu Admin

Form Manage User

Autentif ikasiLogin

Autentif ikasiLogout

UserManageController

User

Halaman Login Admin

Skripsi

kategori

f orm indexing

Halaman Menu User

Form Kasif ikasi Dokumen

Word

Tokenizer

centroidKlassHalaman Pencarian Klasif ikasi

Term

ControlIndexing

ControlCari

ControlKlasif ikasi

ControlCariKlas

indekTerm

Page 109: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

93

Lampiran 4

Tabel 5.22 Tabel Atribut dan Metode

1 AutentifikasiLogin Lampiran 4.1

2 AutentifikasiLogOut Lampiran 4.2

3 ControlIndexing Lampiran 4.3

4 ControlKlasifikasi Lampiran 4.4

5 ControlCari Lampiran 4.5

6 ControlCariKlas Lampiran 4.6

7 KamusManajemenControl Lampiran 4.7

8 StopwordManajemenController Lampiran 4.8

9 KategoriManajemenController Lampiran 4.9

10 UserManageController Lampiran 4.10

11 Kamus Lampiran 4.11

12 Kategori Lampiran 4.12

13 Stoplist Lampiran 4.13

14 Skripsi Lampiran 4.14

15 centroidKlass Lampiran 4.15

16 Word Lampiran 4.16

17 User Lampiran 4.17

18 Tokenizer Lampiran 4.18

19 Term Lampiran 4.19

20 indekTerm Lampiran 4.20

21 Halaman Login Admin Lampiran 4.21

22 Halaman menu user Lampiran 4.22

23 Halaman Menu Admin Lampiran 4.23

24 Form Manage User Lampiran 4.24

25 Form Indexing Dokumen Lampiran 4.25

26 Form Klasifikasi Dokumen Lampiran 4.26

27 Form Manage Kamus Lampiran 4.27

28 Form Manage Stoplist Lampiran 4.28

29 Form Manage Kategori Lampiran 4.29

30 Halaman Pencarian Klasifikasi Lampiran 4.30

Page 110: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

94

Lampiran 4.1 AutentifikasiLogin

Attribut

Tidak Ada

Method

A. processRequest () Input:

String username = request.getParameter("username")

String password = request.getParameter("password")

Output:

Void

Algoritma:

a. if( “username”== Null || “password” == Null ||“username”== “” ||

“password” == “”) then

kembali ke index

endif

b. else then

if (User.isAuthentic(username, password)) then

Login ke indek admin

Endif

else

kembali ke indek

end

endif

Lampiran 4.2 AutentifikasiLogOut

Attribut

Tidak Ada

Method

A. processRequest () Input:

String edit = request.getParameter("edit")

Output:

Void

Algoritma:

a. User user = (User) session.getAttribute("user"); ambil session user

b. if( user == Null) then

kembali ke index

endif

c. else then

remove session user

if (edit != null) then

konfirmasi edit true

Endif

else

kembali ke indek

end

Lampiran 4.3 ControlIndexing

Attribut

Tidak Ada

Method

A. processRequest ()

Page 111: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

95

Input:

indexing= "indexing"

judulDok = “txtJudul”

kategori = “kategori”

words = “”

Output:

Void

Algoritma:

a. K = null ← K adalah kategori dari form Indexing

J =null ← J adalah Judul dokumen dari form Indexing

words ← tampung teks inputan dalam (data yang akan diindeks)

termcek ← buat objek termcek dari model Term

b. if (!termcek.isCekFile(namafile, J)then

token ← buat obyek dari kelas Tokenizer

token.setData(words)

token.makeTokens()

termTmp ← buat List termTmp yang menampung hasil token

term ← buat List term

c. for x=0 to termTmp.size()

trm ← buat object trm dari Term

kata ← kata = variable yang menampung termTmp

d. if(!token.isStoplist(kata)) then

kata = word.stemToIndonesian() ← steaming kata

trm.setTerm(kata) trm.setDoc(namafile)

trm.setTf(1)

trm.setDf(1)

trm.setKategori(K)

trm.setJudulDok(J)

term.add(trm)

Endif

Endfor

e. hitung← buat object untuk hitung term frekuensi dari model

itungTF

f. term = hitung.hitungTF(term)

//insert variable judul, kategori, namafile ke entitas Skripsi

g. boolean kode = skripsi.insert(namafile, K, J)

if(kode) then

for z=0 to term.size()

trm.insertTerm() ← proses penyimpanan buat indeks

endfor

pesan proses indexing sukses

endif

endif then

else

pesan file sudah ada

end

Lampiran 4.4 ControlKlasifikasi

Attribut

Tidak Ada

Method

A. processRequest () Input:

Page 112: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

96

data

Output:

Void

Algoritma:

a. words ← tampung teks inputan dalam (data yang akan diindeks)

token ← buat obyek dari kelas Tokenizer

token.setData(words)

token.makeTokens()

termTmp ← buat List termTmp yang menampung hasil token

term ← buat List term

b. for x=0 to termTmp.size()

trm ← buat object trm dari Term

kata ← kata = variable yang menampung termTmp

if(!token.isStoplist(kata)) then

kata = word.stemToIndonesian() ← steaming kata

trm.setTerm(kata) trm.setDoc(namafile)

trm.setTf(1)

trm.setDf(1)

term.add(trm)

Endif

Endfor

c. hitung← buat object untuk hitung frekuensi term dari model

itungTF

term = hitung.hitungTF(term)

coba ← list untuk menampung term

kondisi ← buat variable kondisi=”” untuk kondisi query

trm2 ← buat object trm2 = null dari model Term

d. if ( coba.size() > 0 ) then

kondisi = trm2.getTerm()

for z = 0 to coba.size()

kondisi = kondisi + trm2.getTerm()

end for

end if

//Proses pengambilan data ke data base

e. sim ← buat object dari similartyKlass

kategori ← buat object Kategori

kategoriList ← buat list kategoriList=Kategori.getKategoriList();

allSim ← buat object yang menampung kondisi

allSim=sim.getAllSimilarity(kondisi)

hasilSimilarity ← list untuk menampung hasil similarity

trm3 ← buat object Term

allSImTmp ← buat list allSImTmp

f. if (coba.size() > 0) then

for J=0 to allSim.size()

simTmp ← object dari similartyKlassyang berisi allSim.get(j)

for Z=0 to coba.size()

cek ← variable untuk menampung trm3.getTerm()

if (simTmp.getTerm() = cek)

simTmp.settF(trm3.getTf())

allSImTmp.add(simTmp)

endif

endfor

endfor

endif

Page 113: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

97

g. bobotAtas ← bobotAtas = 0;

h. bobotBawah ← bobotBawah = 0;

i. centroidAtas ← centroidAtas = 0;

j. centroidBawah ← centroidBawah = 0;

k. bilPokok ← bilPokok = 0;

l. similarity ← similarity = 0

m. //Hitung Bobot Bawah

for a = 0 to allSImTmp.size()

simTmp = allSImTmp.get(a)

bobotBawah = bobotBawah + ( simTmp.getBobot() *

simTmp.getBobot() )

endfor

n. for i=0 to jumlahKategori

tmp ← untuk menampung kategoriList dari model Kategori

simKat ← buat list yang menampung

sim.getSimilarityKategory(kondisi, tmp.getIdkat( ))

simAllKat ← buat list yang menampung

sim.getSimilarityAllKategory(tmp.getIdkat())

o. for b =0 to simKat.size()

simCek ← buat object yang menampung simKat.get(b)

for d=0 to allSImTmp.size()

simTmp ← buat object yang menampung allSImTmp.get(d)

if (simCek.getTerm() = simTmp.getTerm())

bobotAtas = simTmp.getBobot();

centroidAtas = simTmp.getCentroid();

bilPokok = bilPokok + (bobotAtas * centroidAtas);

endif

endfor

end for

p. //Hitung centroidBawah

for g =0 to simAllKat.size()

simTmp2 ← buat object yang menampung simAllKat.get(g)

centroidBawah = centroidBawah + (simTmp2.getCentroid() *

simTmp2.getCentroid())

endfor

q. // Hitung Similarity

similarity = bilPokok / (Math.sqrt(bobotBawah) *

Math.sqrt(centroidBawah))

r. tampilkan hasil similarity

s. simpan hasil similarity dalam object hasil

t. //mencari similarity terbesar

has ← buat object yang menampung hasil similarity

tmp ← buat variable yang menampung nilai similarity

kar ← buat variable kar=0 for S=1 to hasilSimilarity.size()

has2 ← object yang menampung hasil similarity

tmp2 ← buat variable tmp2 = has2.getSimmilarity()

if (tmp < tmp2) then

tmp = tmp2

kar = s

endif else if (tmp == tmp2)

tmp = tmp2

kar = s

end

endfor

Page 114: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

98

pesan Hasil Klasifikasi

Lampiran 4.5 ControlCari

Attribut

Tidak Ada

Method

A. processRequest () Input:

String inputCari = request.getParameter("txtCari")

Output:

Void

Algoritma:

a. if(cari !=null) then

if(inputCari = “ ”) then

pesan masukkan kata kunci

endif

endif

b. else

token ← buat obyek dari kelas Tokenizer

token.setData(words)

token.makeTokens()

termTmp ← buat List termTmp yang menampung hasil token

termCari ← buat List term buat nampung term

c. for x=0 to termTmp.size()

trm ← buat object trm dari Term

kata ← kata = variable yang menampung termTmp

d. if(!token.isStoplist(kata)) then

kata = word.stemToIndonesian() ← steaming kata

trm.setTerm(kata) termCari.add(trm)

Endif

Endfor

hitung← buat object untuk hitung term frekuensi dari model

itungTF

cobaCari← buat list cobaCari untuk nampung

hitung.hitungTF(term)

cariKata ← buat variable cariKata=””

trm2 ← buat object trm2 dari model Term trm2 = null

e. if ( coba.size() > 0 ) then

cariKata = trm2.getTerm()

for z = 0 to coba.size()

cariKata = cariKata + trm2.getTerm()

end for

end if

//Proses pengambilan data ke data base

f. simCari ← buat object dari similartyKlass

simCariKata = simCari.getCariKata(cariKata)

hasilSimilarity ← list untuk menampung hasil similarity

trm3 ← buat object Term

allCariTmp ← buat list allCariTmp

g. if (cobaCari.size() > 0) then

for J=0 to simCariKata.size()

simTmp ← object dari similartyKlassyang berisi

simCariKata.get(j)

for Z=0 to coba.size()

Page 115: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

99

cek ← variable untuk menampung trm3.getTerm()

if (simTmp.getTerm() = cek)

simTmp.settF(trm3.getTf())

allCariTmp.add(simTmp)

endif

endfor

endfor

endif

h. if (allCariTmp.size() == 0) then

pesan data tidak ada

endif

i. else then

for a = 0 to allCariTmp.size()

tampilkan data hasil pencarian yang tertampung pada object

simTmp

endfor

Lampiran 4.6 ControlCariKlas

Attribut

Tidak Ada

Method

A. processRequest () Input:

String cariKlasifikasi = request.getParameter("cariKlas")

Output:

Void

Algoritma:

a. token ← buat obyek dari kelas Tokenizer

token.setData(cariKlasifikasi)

token.makeTokens()

termTmp ← buat List termTmp yang menampung hasil token

term ← buat List term

b. for x=0 to termTmp.size()

trm ← buat object trm dari Term

kata ← kata = variable yang menampung termTmp

if(!token.isStoplist(kata)) then

kata = word.stemToIndonesian() ← steaming kata

trm.setTerm(kata) trm.setTf(1)

trm.setDf(1)

term.add(trm)

Endif

Endfor

c. hitung← buat object untuk hitung frekuensi term dari model

itungTF

term = hitung.hitungTF(term)

coba ← list untuk menampung term

kondisi ← buat variable kondisi=”” untuk kondisi query

trm2 ← buat object trm2 = null dari model Term

d. if ( coba.size() > 0 ) then

kondisi = trm2.getTerm()

for z = 0 to coba.size()

kondisi = kondisi + trm2.getTerm()

end for

end if

Page 116: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

100

//Proses pengambilan data ke data base

e. sim ← buat object dari similartyKlass

kategori ← buat object Kategori

kategoriList ← buat list kategoriList=Kategori.getKategoriList();

allSim ← buat object yang menampung kondisi

allSim=sim.getAllSimilarity(kondisi)

hasilSimilarity ← list untuk menampung hasil similarity

trm3 ← buat object Term

allSImTmp ← buat list allSImTmp

f. if (coba.size() > 0) then

for J=0 to allSim.size()

simTmp ← object dari similartyKlassyang berisi allSim.get(j)

for Z=0 to coba.size()

cek ← variable untuk menampung trm3.getTerm()

if (simTmp.getTerm() = cek)

simTmp.settF(trm3.getTf())

allSImTmp.add(simTmp)

endif

endfor

endfor

endif

g. bobotAtas ← bobotAtas = 0;

h. bobotBawah ← bobotBawah = 0;

i. centroidAtas ← centroidAtas = 0;

j. centroidBawah ← centroidBawah = 0;

k. bilPokok ← bilPokok = 0;

l. similarity ← similarity = 0

m. //Hitung Bobot Bawah

for a = 0 to allSImTmp.size()

simTmp = allSImTmp.get(a)

bobotBawah = bobotBawah + ( simTmp.getBobot() *

simTmp.getBobot() )

endfor

n. for i=0 to jumlahKategori

tmp ← untuk menampung kategoriList dari model Kategori

simKat ← buat list yang menampung

sim.getSimilarityKategory(kondisi, tmp.getIdkat( ))

simAllKat ← buat list yang menampung

sim.getSimilarityAllKategory(tmp.getIdkat())

o. for b =0 to simKat.size()

simCek ← buat object yang menampung simKat.get(b)

for d=0 to allSImTmp.size()

simTmp ← buat object yang menampung allSImTmp.get(d)

if (simCek.getTerm() = simTmp.getTerm())

bobotAtas = simTmp.getBobot();

centroidAtas = simTmp.getCentroid();

bilPokok = bilPokok + (bobotAtas * centroidAtas);

endif

endfor

end for

p. //Hitung centroidBawah

for g =0 to simAllKat.size()

simTmp2 ← buat object yang menampung simAllKat.get(g)

centroidBawah = centroidBawah + (simTmp2.getCentroid() *

simTmp2.getCentroid())

Page 117: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

101

endfor

q. // Hitung Similarity

similarity = bilPokok / (Math.sqrt(bobotBawah) *

Math.sqrt(centroidBawah))

r. tampilkan hasil similarity

s. simpan hasil similarity dalam object hasil

t. //mencari similarity terbesar

has ← buat object yang menampung hasil similarity

tmp ← buat variable yang menampung nilai similarity

kar ← buat variable kar=0 for S=1 to hasilSimilarity.size()

has2 ← object yang menampung hasil similarity

tmp2 ← buat variable tmp2 = has2.getSimmilarity()

if (tmp < tmp2) then

tmp = tmp2

kar = s

endif else if (tmp == tmp2)

tmp = tmp2

kar = s

end

endfor

pesan Hasil Klasifikasi

Lampiran 4.7 KamusManajemenControl

Attribut

Tidak Ada

Method

A. processRequest () Input:

kata

Output:

Void

Algoritma:

a. if( add == Null) then

b. if( kata = “”) then

pesan konfirmasi gagal

endif

c. else then

kataDasar = null

kataDasar = kata

insert ← buat variable boolean insert =

model.Kamus.insert(kataDasar)

d. if (insert = true) then

pesan insert data berhasil

endif

else then

pesan insert data gagal

end

endif

e. else if (edit != null) then

if( kata = “”) then

pesan konfirmasi gagal

endif

else

Page 118: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

102

kataDasar ← kataDasar = null

kata2 ← kata2 = null

update ← buat variable boolean update =

model.Kamus.update(kataDasar, kata2)

if (update = true) then

pesan update data berhasil

endif

else then

pesan update data gagal

end

endif

f. else if (cancel != null)

if(cancel == null)

kembali ke indek admin

endif

else

kembali ke indek admin

end

endif

g. else if (action != null)

kata ← variable id

boolean delete = model.Kamus.delete(kata)

if (delete = true) then

pesan Delete data berhasil

endif

else then

pesan Delete data gagal

end

endif

Lampiran 4.8 StopwordManajemenController

Attribut

Tidak Ada

Method

A. processRequest () Input:

String stopword = request.getParameter("Stopword")

Output:

Void

Algoritma:

a. if( add == Null) then

b. if( Stopword = “”) then

pesan konfirmasi gagal

endif

c. else then

stopword = null

insert ← buat variable boolean insert =

model.Stoplist.insert(stopword)

d. if (insert = true) then

pesan insert data berhasil

endif

else then

pesan insert data gagal

end

Page 119: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

103

endif

e. else if (edit != null) then

if(stopword = “” || idStopword=””) then

pesan konfirmasi gagal

endif

else

idStopword ← idStopword =0

stopword ← stopword = null

update ← buat variable boolean update = model.

Stoplist.update(idStopword, stopword)

if (update = true) then

pesan update data berhasil

endif

else then

pesan update data gagal

end

endif

f. else if (cancel != null)

if(cancel == null)

kembali ke indek admin

endif

else

kembali ke indek admin

end

endif

g. else if (action != null)

idStopword ← variable id

boolean delete = model. Stoplist.delete(idStopword)

if (delete = true) then

pesan Delete data berhasil

endif

else then

pesan Delete data gagal

end

endif

Lampiran 4.9 KategoriManajemenController

Attribut

Tidak Ada

Method

A. processRequest () Input:

String kategori = request.getParameter("kategori")

Output:

Void

Algoritma:

a. if( add == Null) then

b. if(kategori = “”) then

pesan konfirmasi gagal

endif

c. else then

kategori = null

insert ← buat variable boolean insert = model. Kategori.insert

(kategori)

Page 120: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

104

d. if (insert = true) then

pesan insert data berhasil

endif

else then

pesan insert data gagal

end

endif

e. else if (edit != null) then

if(kategori = “” || idKategori =””) then

pesan konfirmasi gagal

endif

else

idKategori ← idKategori =0

kategori ← kategori = null

update ← buat variable boolean update = model.

Kategori.update(idKategori, kategori)

if (update = true) then

pesan update data berhasil

endif

else then

pesan update data gagal

end

endif

f. else if (cancel != null)

if(cancel == null)

kembali ke indek admin

endif

else

kembali ke indek admin

end

endif

g. else if (action != null)

idKategori ← variable id

boolean delete = model. Kategori.delete(idKategori)

if (delete = true) then

pesan Delete data berhasil

endif

else then

pesan Delete data gagal

end

endif

Lampiran 4.10 UserManageController

Attribut

Tidak Ada

Method

A. processRequest () Input:

String username = request.getParameter("username")

String password = request.getParameter("password") String password2 = request.getParameter("passwordRetype")

Output:

Void

Algoritma:

Page 121: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

105

a. if( add == Null) then

b. if(username = “”||password=””|| passwordRetype=”") then

pesan konfirmasi gagal

endif

c. else then

username = null

password= null

passwordRetype= null

insert ← buat variable boolean insert = model. User.insert(username, password)

d. if (insert = true) then

pesan insert data berhasil

endif

else then

pesan insert data gagal

end

endif

e. else if (edit != null) then

username = null

password= null

if(username = “” || password =””) then

pesan konfirmasi gagal

endif

else

update ← buat variable boolean update = model.

User.update(username, password)

if (update = true) then

pesan update data berhasil

endif

else then

pesan update data gagal

end

endif

f. else if (cancel != null)

if(cancel == null)

kembali ke indek admin

endif

else

kembali ke indek admin

end

endif

g. else if (action != null)

username ← variable id

boolean delete = model. User.delete(username)

if (delete = true) then

pesan Delete data berhasil

endif

else then

pesan Delete data gagal

end

endif

Lampiran 4.11 Kamus

Attribut:

Page 122: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

106

String namaKata = request.getParameter("Kata")

Method:

A. Kamus(namaKata)

Input:

namaKata

Output:

contruktor

Algoritma:

a. kon← buat objek koneksi

b. query ← buat variable String query = "call spSelectKamus(?)"

memanggil procedur query

c. while (result.next) then

d. set.NamaKata(namaKata)

e. end while

B. getListKamus(koneksi)

Input:

koneksi

Output:

ResultSet

Algoritma:

a. query ← buat variable String query

b. query = “call SpListKamus” ← memanggil procedur query

c. return result

C. insert( kata)

Input:

kata

Output:

boolean

Algoritma:

a. query ← buat variable String query

b. query = "call SpInsert_kamus(?,?)"← memanggil procedur query

c. tampung hasil select query dalam variable s statement.setString(1,

kata)

d. tampung hasil nilai balik Boolean dalam String hasil =

statement.getString(2)

e. if (hasil=”sukses”)then

f. return true

g. end if

h. else return false

i. end

D. update (kata, inkata)

Input:

kata

inkata

Output

Boolean

Algoritma:

Page 123: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

107

a. query ← buat variable String query

b. query = "call SpUpdate_Kamus(?,?,?)" ← memanggil

procedur query

c. tampung hasil select query dalam variable s statement.setString(1, kata) dan statement.setString(2, inkata)

d. tampung hasil nilai balik Boolean dalam String hasil =

statement.getString(3)

e. if (hasil=”sukses”)then

f. return true

g. end if

h. else return false

i. end

E. delete(kata);

Input:

kata

Output:

Boolean

Algoritma:

a. query ← buat variable String query

b. query = "call SpInsert_kamus(?,?)"← memanggil procedur

query

c. tampung hasil select query dalam variable s statement.setString(1, kata)

d. tampung hasil nilai balik Boolean dalam String hasil =

statement.getString(2)

e. if (hasil=”sukses”)then

f. return true

g. end if

h. else return false

i. end

Lampiran 4.12 Kategori

Attribut:

String jenisKat

int idKat

Method:

A. Kategori(idKat)

Input:

idKat

Output:

contruktor

Algoritma:

a. query ← buat variable String query = "call

Sp_SelectId_kat(?)"memanggil procedur query

b. while (result.next) then

setIdkat(result.getInt("id_kategori"))

setJenisKat(result.getString("jenis_kategori"))

c. end while

Page 124: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

108

B. getListKamus()

Input:

Output:

list

Algoritma:

a. query ← buat variable String query

b. kat ← buat variable List kat = new ArrayList();

c. query = “call SpListKat()” ← memanggil procedur query

d. while (result.next())

e. buat obyek tmp dari model Kategori

f. setIdkat(result.getInt(1) dalam tmp

g. setJenisKat(result.getString(2) dalam tmp

h. return kat

C. insert( jeniskat)

Input:

jeniskat

Output:

boolean

Algoritma:

a. query ← buat variable String query

b. query = "call SpInsert_kategori(?,?)"← memanggil procedur query

c. tampung hasil select query dalam variable s setString(1,jeniskat)

d. tampung hasil nilai balik Boolean dalam String hasil =

statement.getString(2)

e. if (hasil=”sukses”)then

f. return true

g. end if

h. else return false

i. end

D. update (idKat, jenisKat)

Input:

idKat

jenisKat

Output

Boolean

Algoritma:

a. query ← buat variable String query

b. query = "call SpUpdate_kategori(?,?,?)" ← memanggil procedur

query

c. tampung hasil select query dalam variable s statement. setLong(1,idKat) dan statement. setString(2,jeniskat) tampung

hasil nilai balik Boolean dalam String hasil =

statement.getString(3)

d. if (hasil=”sukses”)then

e. return true

f. end if

g. else return false

h. end

E. delete(idKat);

Page 125: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

109

Input:

idKat

Output:

Boolean

Algoritma:

a. query ← buat variable String query

b. query = "call SpDelete_kategori(?,?)"← memanggil procedur

query

c. tampung hasil select query dalam variable s statement. setLong(1,idkat)

d. tampung hasil nilai balik Boolean dalam String hasil =

statement.getString(2)

e. if (hasil=”sukses”)then

f. return true

g. end if

h. else return false

i. end

Lampiran 4.13 Stoplist

Attribut:

long idStop

String Stopword

Method:

A. Stoplist(idStop)

Input:

idStop

Output:

contruktor

Algoritma:

a. kon← buat objek koneksi

b. query ← buat variable String query = " call

Sp_SelectId_stoplist(?)" memanggil procedur query

c. while (result.next) then

d. setIdStop(result.getInt("id_stoplist"))

e. setStopword(result.getString("Stoplist"))

f. end while

B. getStopwordList(koneksi)

Input:

koneksi

Output:

ResultSet

Algoritma:

a. query ← buat variable String query

b. query = “call SpListStopword()” ← memanggil procedur query

c. return result

C. insert( stopword)

Input:

Page 126: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

110

stopword

Output:

boolean

Algoritma:

a. query ← buat variable String query

b. query = " call SpInsert_stoplist(?,?)"← memanggil procedur query

c. tampung hasil select query dalam variable s statement.setString(1,

Stopword)

d. tampung hasil nilai balik Boolean dalam String hasil =

statement.getString(2)

e. if (hasil=”sukses”)then

f. return true

g. end if

h. else return false

i. end

D. update (idStop, stopword)

Input:

idStop

stopword

Output

Boolean

Algoritma:

a. query ← buat variable String query

b. query = " call SpUpdate_stopword(?,?,?) " ← memanggil

procedur query

c. tampung hasil select query dalam variable s statement.setLong(1,idStop) dan

statement.setString(2,Stopword)

d. tampung hasil nilai balik Boolean dalam String hasil =

statement.getString(3)

e. if (hasil=”sukses”)then

f. return true

g. end if

h. else return false

i. end

E. delete(idStop);

Input:

idStop

Output:

Boolean

Algoritma:

a. query ← buat variable String query

b. query = "call spDelete_stoplist(?,?) "← memanggil procedur

query

c. tampung hasil select query dalam variable s statement.setLong(1,idStop)

d. tampung hasil nilai balik Boolean dalam String hasil =

statement.getString(2)

e. if (hasil=”sukses”)then

Page 127: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

111

f. return true

g. end if

h. else return false

i. end

Lampiran 4.14 Skripsi

Attribut:

long idkat

long idSkrip

String judul

String judulDok

Method:

A. skripsi (idSkrip)

Input:

idStop

Output:

contruktor

Algoritma:

a. kon← buat objek koneksi

b. query ← buat variable String query = " call SpSelectId_Skrip(?) “

memanggil procedur query

c. while (result.next) then

d. setIdSkrip(result.getInt("id_skripsi"))

e. setJudul(result.getString("judul"))

f. setIdkat(result.getInt("id_kategori"))

g. setJudulDok(result.getString("judulDok"))

h. end while

B. insert(judul, idkat, judulDok)

Input:

stopword

Output:

boolean

Algoritma:

a. query ← buat variable String query

b. query = " call SpInsert_Judul(?,?,?,?) "← memanggil procedur

query

c. tampung hasil select query dalam variable s statement.setString(1,judul)

statement.setInt(2, idKat)

statement.setString(3, judulDok)

d. tampung hasil nilai balik Boolean dalam String hasil =

statement.getString(4)

e. if (hasil=”sukses”)then

f. return true

g. end if

h. else return false

i. end

Page 128: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

112

Lampiran 4.15 centroidKlass

Attribut:

String term

int idKat

double idf

double centroid

int tF

String JudulDok

Method:

A. getAllSimilarity(kondisi)

Input:

kondisi

Output:

List

Algoritma:

a. hasil ← buat list hasil, List hasil = new ArrayList()

b. sql ← buat variable string sql

c. String sql = " select (t.term) , t.idf , c.centroidKlass ,

i.id_kategori

From indek i INNER JOIN term t on i.id_term = t.id_term INNER

JOIN centroidKlass c on i.id_kategori = c.id_kategori AND

i.id_term = c.id_term

where t.term IN (" kondisi ")

group by t.term

ORDER by id_Skripsi, id_kategori"

d. rs = stmt.executeQuery(sql)

e. while (rs.next) then

f. tmp← buat objek tmp untuk menampung

tmp.setTerm(rs.getString(1));

tmp.setIdf(rs.getDouble(2));

tmp.setCentroid(rs.getDouble(3));

tmp.setIdKat(rs.getInt(4));

hasil.add(tmp)

g. end

B. getSimilarityKategory(kondisi, kategori)

Input:

kondisi

kategori

Output:

List

Algoritma:

a. hasil ← buat list hasil, List hasil = new ArrayList()

b. sql ← buat variable string sql

c. String sql = " select t.term , t.idf , c.centroidKlass , i.id_kategori

From indek i INNER JOIN term t on i.id_term = t.id_term and

i.id_kategori=(”kategori ”)

INNER JOIN centroidKlass c on i.id_kategori = c.id_kategori

AND i.id_term = c.id_term

where t.term IN (" kondisi ")

Page 129: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

113

group by t.term

ORDER by id_Skripsi, id_kategori";

d. rs = stmt.executeQuery(sql)

e. while (rs.next) then

f. tmp← buat objek tmp untuk menampung

tmp.setTerm(rs.getString(1));

tmp.setIdf(rs.getDouble(2));

tmp.setCentroid(rs.getDouble(3));

tmp.setIdKat(rs.getInt(4));

hasil.add(tmp)

g. end

C. getSimilarityAllKategory(kategori)

Input:

kategori

Output:

List

Algoritma:

a. hasil ← buat list hasil, List hasil = new ArrayList()

b. sql ← buat variable string sql

c. String sql = " select (t.term) , t.idf , c.centroidKlass ,

(i.id_kategori)

From indek i INNER JOIN term t on i.id_term = t.id_term

INNER JOIN centroidKlass c on i.id_kategori = c.id_kategori

AND i.id_term = c.id_term

where i.id_kategori=" kategori "

group by t.term

ORDER by id_Skripsi, id_kategori "

d. rs = stmt.executeQuery(sql)

e. while (rs.next) then

f. tmp← buat objek tmp untuk menampung

tmp.setTerm(rs.getString(1));

tmp.setIdf(rs.getDouble(2));

tmp.setCentroid(rs.getDouble(3));

tmp.setIdKat(rs.getInt(4));

hasil.add(tmp)

g. end

Lampiran 4.16 Word

Klass Word merupakan kelas yang diambil dari projek bapak Puspaning

Tyas Sanjaya Adi.

Method yang digunakan

Nama Method Fungsi stemToIndonesian() Untuk melakukan steaming kata dalam bahasa indonesai

Lampiran 4.17 User

Attribut:

int id_user

String username

Page 130: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

114

String password

Method:

A. User(username)

Input:

username

Output:

Contruktor

Algoritma:

a. query ← buat variable String query = " call SpSelectUser(?,?,?,?)

memanggil procedur query

b. while (result.next) then

setString(1,username)

setId_user(statement.getInt(2))

setUsername(statement.getString(3))

setPassword(statement.getString(4))

c. end while

B. isAuthentic(username, password)

Input:

username

password

Output:

Contruktor

Algoritma:

a. result← buat variable boolean result=false

b. query ← buat variable String query = " call call SpLogin(?,?,?)”

memanggil procedur query

c. try then

statement.setString(1,username)

statement.setString(2,password)

if (statement.getBoolean(3) == true) then

result true

end if

end try

C. insert(username, password)

Input:

username

password

Output:

boolean

Algoritma:

a. query ← buat variable String query

b. query = " call SpInsert_User(?,?,?)” memanggil procedur query

c. tampung hasil select query dalam variable s statement.setString(1,username);

statement.setString(2,password);

d. tampung hasil nilai balik Boolean dalam int hasil =

statement.getInt(3)

e. if (hasil=1) then

Page 131: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

115

return true

f. end if

g. else return false

end

D. update(username, password)

Input:

username

password

Output

Boolean

Algoritma:

a. query ← buat variable String query

b. query = " call SpEdit_User(?,?,?) " ← memanggil procedur query

c. tampung hasil select query dalam variable s statement.setLong(1,idStop) dan statement.setString(2,Stopword)

d. tampung hasil select query dalam variable s statement.setString(1,username)

statement.setString(2,password)

e. tampung hasil nilai balik Boolean dalam String hasil =

statement.getString(3)

if (hasil=”sukses”) then

return true

end if

f. else return false

end

E. delete(username)

Input:

idKat

Output:

Boolean

Algoritma:

a. query ← buat variable String query

b. query = " call SpDelete_User(?)"← memanggil procedur

query

c. tampung hasil select query dalam variable s statement.setString(1,username)

d. return true

F. getUserList(koneksi)

Input: koneksi

Output:

result set

Algoritma:

a. query ← buat variable String query

b. query = “call SpListUser()← memanggil procedur query

c. return resultSet

G. changePassword(oldPassword, newPassword)

Input:

String oldPassword

Page 132: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

116

String newPassword

Output

Boolean

Algoritma:

g. query ← buat variable String query

h. query = " call SpGantiPassword(?,?,?,?) " ← memanggil procedur

query

i. tampung hasil select query dalam variable s statement.setString(1,this.getUsername());

statement.setString(2,oldPassword);

statement.setString(3,newPassword);

j. tampung hasil nilai balik Boolean dalam String hasil =

statement.getString(4)

if (hasil=”sukses”) then

return true

end if

k. else return false

end

Lampiran 4.18 Tokenizer

Klass Word merupakan kelas yang diambil dari projek bapak Puspaning

Tyas Sanjaya Adi.

Method

Nama Method Fungsi

isStoplist() Untuk membuang kata yang tidak perlu. kata yang ada dalam

stoplist tidak akan disimpan.

Lampiran 4.19 Term

Attribut:

String term

String doc

int kategori

int df

int tf

String JudulDok

Method:

A. Term(term, doc)

Input:

doc

term

Algoritma:

a. setTerm(term);

b. setDoc(doc)

B. insertTerm()

Output:

Void

Page 133: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

117

Algoritma:

a. sql ← buat variable string sql

b. String sql = " insert into term(term,df,idf) values(?,?,?) "

c. buat java.sql.Statement stmt = kon.createStatement() dan

PreparedStatement prs = kon.prepareStatement(sql)

//untuk mengecek term sudah ada apa belum

ResultSet rs = stmt.executeQuery("select * from term where term

= '" getTerm()"'")

d. if (rs.next) then

stmtUpd ← buat objek stmtUpt dari Statement

stmtUpd.executeUpdate("Update term set df = "(rs.getInt(3) + 1) “

where id_term = " rs.getInt(1))

end if

e. else then

CallableStatement clsTmp = kon.prepareCall("call

SpHitungIDF(?,?)")

clsTmp.setString(1, getTerm())

Double idf = clsTmp.getDouble(2)

prs.setDouble(3, idf)

end

//jalankan fungsi

UpdateIDF();

insertIndex();

UpdateBobot();

UpdateCentroid();

C. insertIndex()

Output:

Void

Algoritma:

a. sql ← buat variable string sql

b. String sql = “ insert into indek (id_term,id_skripsi,tf, id_kategori)

values ( (select id_term from term where term = ?)

(select id_skripsi from skripsi where judul = ?),?,?)”

c. PreparedStatement stmt = kon.prepareStatement(sql)

stmt.setString(1, getTerm())

stmt.setString(2, getDoc())

stmt.setInt(3, getTf())

stmt.setInt(4, getKategori())

stmt.execute()

d. end

D. UpdateIDF()

Output:

Void

Algoritma:

a. sql ← buat variable string sql

b. String sql = “Select * from term”

c. Statement stmt = kon.createStatement();

d. ResultSet rs = stmt.executeQuery(sql);

e. while (rs.next()) then

CallableStatement clsTmp = kon.prepareCall("call

SpHitungIDF(?,?)")

clsTmp.setString(1, rs.getString(2))

Double idf = clsTmp.getDouble(2)

Page 134: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

118

Statement stmtUpd = kon.createStatement()

stmtUpd.executeUpdate("Update term set idf = " + idf + " where

id_term = " + rs.getInt(1))

f. end

E. UpdateBobot()

Output:

Void

Algoritma:

a. sql ← buat variable string sql

b. String sql = “select i.id_index , (i.tf * t.idf) bobot

from indek i

inner join term t on i.id_term = t.id_term”

c. Statement stmt = kon.createStatement();

d. ResultSet rs = stmt.executeQuery(sql);

e. while (rs.next()) then

Statement stmtUpd = kon.createStatement()

stmtUpd.executeUpdate("update indek set bobot = "

rs.getDouble(2) " where id_index = " rs.getInt(1))

end

F. UpdateCentroid()

Output:

Void

Algoritma:

a. sql ← buat variable string sql

b. String sql = “select k.id_index,id_kategori,t.id_term, t.term from

indek k

inner join term t on k.id_term = t.id_term

group by id_kategori, t.id_term”

String Sql2= “INSERT INTO centroidKlass

(id_kategori,id_term,centroidKlass) values(?,?,?)”

c. Statement stmt = kon.createStatement();

d. ResultSet rs = stmt.executeQuery(sql);

e. while (rs.next()) then

CallableStatement clsTmp = kon.prepareCall("call "call

SpCentroid(?,?,?)"")

clsTmp.setString(1, rs.getString(3))

clsTmp.setInt(2, rs.getInt(2))

Double centroi = clsTmp.getDouble(3)

Statement stmtUpd = kon.createStatement()

stmtUpd.executeUpdate("Update indek set centoid = " centroi "

where id_index = " rs.getInt(1))

f. end

G. isCekFile(String namaFile, String judulDok)

Input:

namaFile

judulDok

Output:

bolean

Algoritma:

a. result ← buat variable boolean result = false

Page 135: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

119

b. query ← buat variable string sql

c. String sql = “call SpCekFile(?,?,?)"

d. statement.setString(1, namaFile);

e. statement.setString(2, judulDok);

f. if(statement.getBoolean(3) == true) then

result true

g. end if

h. return result

i. end

Lampiran 4.20 IndekTerm

Attribut:

String Output = null

String termAmbil = null

Integer termfrek = 0

String cari

String JudulCari

Double JumlahBobotCari

String KategoriCari

double BobotCari

Method:

A. hitungTF (list)

Input:

list

Output :

List

Algoritma:

a. tmp← buat List tmp List tmpList = new ArrayList()

b. term ← buat objek term datimodel Term

c. termTmp ← buat objek termTmp=null dati model Term

d. set term = (Term) list.get(0)

e. kode ← buat variable boolean kode = true

f. set term tF = 0 ← term.setTf(1)

g. tampung term dalam termTmp ←tmpList.add(term)

h. for i=1 to list.size() then

set term = (Term) list.get(i)

i. for j=0 to termList.size() then

set termTmp = (Term) tmpList.get(j)

j. if(term.getTerm() =termTmp.getTerm()) then

termTmp.setTf(termTmp.getTf() + 1)

tmpList.remove(j);

tmpList.add(j, termTmp);

kode = false

k. end if

l. end for

m. if(kode=true) then

term.setTf(1);

tmpList.add(term)

n. end if

o. kode = true

p. end for

Page 136: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

120

q. return tmpList

B. getCariKata(cari)

Input:

cari

Output:

List

Algoritma:

a. hasilCari ← buat list hasil, List hasilCari= new ArrayList()

b. sql ← buat variable string sql

c. String sql = “select t.term, i.bobot, s.judul, s.JudulDok,

k.jenis_kategori, sum(i.bobot)

From indek i INNER JOIN term t on i.id_term = t.id_term

INNER JOIN skripsi s ON i.id_Skripsi=s.id_skripsi

INNER join kategori k on i.id_kategori = k.id_kategori

where t.term IN (" cari ")

group by judul

ORDER by bobot DESC"

d. rs = stmt.executeQuery(sql)

e. while (rs.next) then

f. tmp← buat objek tmp untuk menampung

tmp.setTerm(rs.getString(1))

tmp.setBobotCari(rs.getDouble(2))

tmp.setJudulCari(rs.getString(3))

tmp.setJudulDok(rs.getString(4));

tmp.setKategoriCari(rs.getString(5));

tmp.setJumlahBobotCari(rs.getDouble(6))

hasil.add(tmp)

end

Lampiran 4.21 Halaman Login Admin

Attribut

Username: TextField Hidden

Password: Password

Login: button

Action :

AutentifikasiLogin (kontrol login)

Lampiran 4.22 Halaman Menu user

No Nama Attribut Deskripsi

1 txtCari Teksfield Untuk input kata kunci pencarian

2 Cari Button Untuk melakukan proses cari

3 Pencarian

Dokumen

Link Untuk menampilkan halaman utama user

(halaman pencarian dokumen).

4 Pencarian Klas Link Untuk menampilkan halaman pencarian

klasifikasi

5 Login Link Untuk menampilkan halaman login admin Action :

ControlCari

Lampiran 4.23 Halaman Menu Administrator

Page 137: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

121

No Nama Attribut Deskripsi

1 Manage user Link Untuk menampilkan form manage user

2 Indexing

dokumen Link

Untuk menampilkan form indexing

3 Klasifikasi

dokumen Link

Untuk menampilkan form klasifikasi

4 Manage kamus Link Untuk menampilkan form manage kamus

5 Manage stoplist Link Untuk menampilkan form manage stoplist

6 Manage kategori Link Untuk menampilkan form manage kategori

7 List data skripsi Link Untuk menampilkan form list data skripsi

8 Logout Link Untuk melakukan proses logout (keluar dari

menu admin)

Lampiran 4.24 Form Manage User

Daftar user

untuk menampilkan daftar user dengan memanggil model dari =

model.User.getUserList(kon)

Attribut

hapus: link

edit: link

Action :

UserManageController (untuk memproses hapus user)

Edit User Attribut

EditUsername : Teksfield

EditPassword : Teksfield

Edit : button

Batal : Button

Action :

UserManageController (untuk memproses edit user)

Tambah User Attribut

Username : Teksfield

Password : password

RetypePassword Edit : password

Batal : Button

Tambah : button

Action :

UserManageController (untuk memproses tambah user)

Lampiran 4.25 Form Indexing

No Nama Attribut Deskripsi

1 JudulDokumen Teksfield Untuk inputan judul dari file yang akan

dilakukan proses indexing.

2 Indekdata File Untuk mengambil data file yang akan

Page 138: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

122

dilakukan indeksing.

3 Jenis kategori Dropdown

menu

Untuk memilih kategori dokumen yang

akan diindeksing

4 Indexing Button Untuk melakukan proses indexing data. Action :

ControlIndexing (untul melakukan proses indexing data dari form indexing

)

Lampiran 4.26 Form Klasifikasi

No Nama Jenis Deskripsi

1 Data File Untuk mengambil data file yang akan dilakukan

klasifikasi.

2 Klasifikasi Button Untuk melakukan proses klasifikasi data. Action :

ControlKlasifikasi (untuk memproses data )

Lampiran 4.27 Form Manage Kamus

Daftar Kamus

untuk menampilkan daftar kata dasar

Attribut

hapus: link

edit: link

Action :

KamusManajemenControl (untuk memproses hapus kata dasar)

Edit Kamus Attribut

editKata: Teksfield

Edit : button

Batal : Button

Action :

KamusManajemenControl (untuk memproses edit kata dasar)

Tambah Kamus Attribut

katadasar : Teksfield

Cancel : Button

Save : button

Action :

KamusManajemenControl (untuk memproses tambah kata dasar)

Lampiran 4.28 Form Manage Stoplist

Daftar Stoplist

untuk menampilkan daftar Stoplist

Page 139: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

123

Attribut

hapus: link

edit: link

Action :

StopwordManajemenController (untuk memproses hapus stopword)

Edit Stoplist Attribut

editStoplist : Teksfield

Edit : button

Batal : Button

Action :

StopwordManajemenController (untuk memproses edit stopword)

Tambah Stoplist Attribut

stopword : Teksfield

Cancel : Button

Save : button

Action :

StopwordManajemenController (untuk memproses tambah stopword)

Lampiran 4.29 Form Manage Kategori

Daftar kategori

untuk menampilkan daftar kategori

Attribut

hapus: link

edit: link

Action :

KategoriManajemenController (untuk memproses hapus kategori)

Edit Kategori Attribut

editKategori : Teksfield

Edit : button

Batal : Button

Action :

KategoriManajemenController (untuk memproses edit kategori)

Tambah Kategori Attribut

kategori : Teksfield

Save : button

Cancel : Button

Action :

KategoriManajemenController (untuk memproses tambah kategori)

Lampiran 4.30 Halaman Pencarian Klasifikasi

No Nama Jenis Deskripsi

1 txtCari Klas TeksArea Untuk input kata kunci pencarian

2 Cari Button Untuk melakukan proses cari

3 Pencarian Link Untuk menampilkan halaman utama user

Page 140: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

124

Dokumen (halaman pencarian dokumen).

4 Pencarian Klas Link Untuk menampilkan halaman pencarian

klasifikasi

5 Login Link Untuk menampilkan halaman login admin Action :

ControlCariKlas (untuk memproses data inputan)

Page 141: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

125

LAMPIRAN 5 Lampiran 5.1 Halaman Menu User (Halaman Cari Dokumen)

Halaman user ini untuk menampilkan pencarian dokumen oleh user

berdasarkan suatu kata kunci.

Lampiran 5.2 Halaman Login Admin

Form login berfunsi untuk user masuk kedalam halaman administrator

dengan memasukkan username dan password yang sesuai dengan username dan

password yang ada pada tabel database User menekan tombol login

Cari Kata Kunci

Pencarian Dokumen | Pencarian Klas |Login

Username

Password

Login

Page 142: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

126

Lampiran 5.3 Halaman Menu Administrator

Dari halaman administrator ini admin dapat melakukan suatu

proses sesuai dengan menu yang tersedia dengan cara memilih menu yang

ada.

Lampiran 5.4 Form Manage User

Form ini digunakan untuk melakukan penambahan, perubahan, atau

penghapusan data user. Setiap perubahan yang dilakukan akan merubah data yang

tersimpan pada tabel User.

Untuk tambah kategori :

BANNER

Manage User Indexing dokumen Klasifikasi

dokumen Manage Kamus Manage Stoplist Manage

Kategori List Data

Skripsi Logout

BANNER

Daftar User

Username Action

A Edit|hapus

B Edit|hapus

TAMBAH USER Username

Password

Manage

User

Indexing dokumen Klasifikasi

dokumen Manage Kamus Manage Stoplist Manage

Kategori List Data

Skripsi Logout

Save Cance

l

Page 143: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

127

Untuk Edit kategori :

Lampiran 5.5 Form Manage Kategori

Form ini digunakan untuk melakukan penambahan, perubahan, atau

penghapusan data kategori. Setiap perubahan yang dilakukan akan merubah data

yang tersimpan pada tabel kategori.

Untuk tambah kategori :

BANNER

Daftar kategori

Kategori Action

A Edit|hapus

B Edit|hapus

TAMBAH KATEGORI Kategori

Save Cance

l

Manage User Indexing dokumen Klasifikasi

dokumen Manage Kamus Manage Stoplist Manage

Kategori List Data

Skripsi Logout

BANNER

EDIT USER

Username

Password

Edit Cance

l

Manage

User Indexing dokumen Klasifikasi

dokumen Manage Kamus Manage Stoplist Manage

Kategori List Data

Skripsi Logout

Page 144: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

128

Untuk Edit kategori :

Lampiran 5.6 Form Manage Stoplist

Form ini digunakan untuk melakukan penambahan, perubahan, atau

penghapusan daftar stopword. Setiap perubahan yang dilakukan pada halaman ini

akan merubah tabel Stoplist pada basis data.

Untuk tambah data stopword :

Untuk edit Stopword :

BANNER

Daftar Stopword

Stopword Action

A Edit|hapus

B Edit|hapus

TAMBAH Stopword Stopword

Save Cance

l

Manage User Indexing dokumen Klasifikasi

dokumen Manage Kamus Manage

Stoplist Manage

Kategori List Data

Skripsi Logout

BANNER

EDIT KATEGORI Kategori

Edit Cance

l

Manage User Indexing dokumen Klasifikasi

dokumen Manage Kamus Manage Stoplist Manage

Kategori List Data

Skripsi Logout

Page 145: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

129

Lampiran 5.7 Form Manage Kamus

Form ini digunakan untuk melakukan penambahan, perubahan, atau

penghapusan daftar kata dasar yang telah tersimpan dalam basis data tabel word.

Untuk tambah data Kamus:

Untuk edit Kamus :

BANNER

Daftar Kamus

Kamus Action

A Edit|hapus

B Edit|hapus

TAMBAH KAMUS Kata Dasar

Save Cance

l

Manage User Indexing dokumen Klasifikasi

dokumen Manage

Kamus Manage Stoplist Manage

Kategori List Data

Skripsi Logout

BANNER

EDIT Stopword Stopword

Edit Cance

l

Manage User Indexing dokumen Klasifikasi

dokumen Manage Kamus Manage

Stoplist Manage

Kategori List Data

Skripsi Logout

Page 146: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

130

Lampiran 5.8 Form Indexing

Pada form indexing ini dilakukan proses pembuatan model dan proses

klasifikasi, disini user menetukan dokumen yang digunakan sebagai dasar

klasifikasi. Data yang dilakukan proses indexing akan tersimpan pada tabel term ,

tabel index, dan table skripsi.

BANNER

EDIT KAMUS Kata Dasar

Edit Cance

l

Manage User Indexing dokumen Klasifikasi

dokumen Manage

Kamus Manage Stoplist Manage

Kategori List Data

Skripsi Logout

BANNER

Manage User Indexing dokumen Klasifikasi

dokumen Manage Kamus Manage Stoplist Manage Kategori List Data Skripsi Logout

Judul Dokumen

Data

Kategor

i

Browse.

.

Indexing

Page 147: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

131

Lampiran 5.9 Form Klasifikasi

Pada form klasifikasi ini, user melakukan proses klasifikasi dokumen baru

(dokumen query/ belum terlabel) untuk ditentukan kategorinya.

Lampiran 4.9

Lampiran 4.10

Lampiran 5.10 Form List Data Skripsi

Form list data skripsi digunakan untuk mengetahui dokumen – dokumen

yang telah teindek.

BANNER

Manage User Indexing dokumen Klasifikasi

dokumen Manage Kamus Manage Stoplist Manage Kategori List Data Skripsi Logout

Klasifikas

i

Data Browse.

.

BANNER

Daftar kategori

Namadokumen Kategori

A.txt xxx

B.txt Xxx

Manage User Indexing dokumen Klasifikasi

dokumen Manage Kamus Manage Stoplist Manage

Kategori List Data

Skripsi Logout

Page 148: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

132

Lampiran 5.11 Halaman Pencarian Klasifikasi (Halaman Cari Dokumen)

Halaman user ini untuk menampilkan pencarian klasifikasi / kategori

dokumen oleh user berdasarkan suatu kata kunci.

Cari

Abstrak Dokumen

Pencarian Dokumen | Pencarian Klas |Login

Page 149: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

133

LAMPIRAN 6

6.1. Halaman Login Admin

Halaman ini merupakan halaman login untuk administrator. Administrator

diwajibkan mengisi username dan password.

6.2. Halaman Menu User

Halaman ini merupakan default halaman yang ditampilkan saat web

dipanggil. Ini merupakan halaman pencarian dokumen. Dokumen hasil pencarian

yang ditampilkan hanya dokumen yang telah terindek dan sesuai dengan kata

kunci yang dimasukkan oleh user. Disebelah pojok kanan halaman terdapat 3

buah link link pencarian dokumen terhubung dengan halaman yang seperti

ditampilkan ini, link pencarian dokumen terhubung dengan halaman pencarian

Page 150: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

134

klasifikasi, dan link login terhubung dengan halaman login admin. Hasil

pencarian dokumen akan ditamplikan dibawah form pencarian.

6.3. Halaman Menu Admin

Halaman ini merupakan halaman menu administrator setelah user

melakukan login.

6.4. Form Manage user

Page 151: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

135

Halaman ini merupakan halaman untuk me-manage user seperti

menambah menghapus nama user. Dan tampilan untuk mengedit user ditampilkan

pada gambar dibawah ini :

6.5. Form Indexing Dokumen

Halaman ini menampikan dari halaman untuk melakukan indeksing data

abstrak skripsi.

Page 152: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

136

6.6. Form Klasifikasi Dokumen

Halaman ini digunakan unutuk melakukan klasifikasi dokumen abstrak

skripsi.

6.7. Form Manage Kamus

Halaman ini merupakan halaman untuk me-manage kamus seperti

menambah menghapus kata dasar. Dan tampilan untuk mengedit kata dasar

ditampilkan pada gambar dibawah ini :

Page 153: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

137

6.8. Form Manage Stoplist

Halaman ini merupakan halaman untuk me-manage stopword seperti

menambah menghapus daftar stopword. Dan tampilan untuk mengedit stopword

ditampilkan pada gambar dibawah ini :

Page 154: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

138

6.9. Form Manage Kategori

Halaman ini merupakan halaman untuk me-manage kategori seperti

menambah menghapus jenis kategori Dan tampilan untuk mengedit kategori

ditampilkan pada gambar dibawah ini :

Page 155: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

139

6.10. Form list Data Skripsi

Halaman ini merupakan halaman untuk menampilkan data-data abstrak

skripsi yang telah diindeks oleh administrator.

6.11. Halaman Pencarian Klasifikasi

Page 156: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

140

Halaman ini merupakan halaman pencarian kategori dokumen. Hasil dari

pencarian kategori adalah keterangan termasuk kategori apakah abstrak dokumen

yang diuji. Disebelah pojok kanan halaman terdapat 3 buah link link pencarian

dokumen terhubung dengan halaman yang seperti ditampilkan ini, link pencarian

dokumen terhubung dengan halaman pencarian klasifikasi, dan link login

terhubung dengan halaman login admin. Hasil pencarian dokumen akan

ditamplikan dibawah form pencarian.

6.12. Tabel Skripsi

6.13. Tabel Kategori

CREATE TABLE `kategori` (

`id_kategori` int(100) NOT NULL AUTO_INCREMENT,

`jenis_kategori` varchar(100) DEFAULT NULL,

PRIMARY KEY (`id_kategori`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1

CREATE TABLE `skripsi` (

`id_skripsi` int(255) NOT NULL AUTO_INCREMENT,

`judul` varchar(1000) NOT NULL DEFAULT '',

`id_kategori` int(10) NOT NULL,

`JudulDok` varchar(1000) NOT NULL,

PRIMARY KEY (`id_skripsi`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1

Page 157: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

141

6.14. Tabel Term

6.15. Tabel User

6.16. Tabel Stoplist

6.17. Tabel Kamus

6.18. Tabel IndekTerm

CREATE TABLE `indekTerm` (

`id_index` int(255) NOT NULL AUTO_INCREMENT,

`id_Skripsi` int(255) NOT NULL,

`id_kategori` int(255) NOT NULL,

`id_term` int(255) NOT NULL,

`tf` int(255) NOT NULL DEFAULT '0',

`bobot` decimal(10,6) NOT NULL DEFAULT '0.000000',

PRIMARY KEY (`id_index`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1

CREATE TABLE `kamus` (

`kata_dasar` varchar(50) NOT NULL DEFAULT '',

PRIMARY KEY (`kata_dasar`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1

CREATE TABLE `stoplist` (

`id_stoplist` int(255) NOT NULL AUTO_INCREMENT,

`Stoplist` varchar(100) DEFAULT NULL,

PRIMARY KEY (`id_stoplist`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1

CREATE TABLE `user` (

`id_user` int(11) NOT NULL AUTO_INCREMENT,

`username` varchar(50) NOT NULL,

`password` varchar(50) NOT NULL,

PRIMARY KEY (`id_user`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1

CREATE TABLE `term` (

`id_term` int(255) NOT NULL AUTO_INCREMENT,

`term` varchar(255) NOT NULL,

`df` int(255) NOT NULL DEFAULT '0',

`idf` double(6,5) NOT NULL DEFAULT '0.00000',

PRIMARY KEY (`id_term`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1

Page 158: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

142

6.19. Tabel centroidKlass

CREATE TABLE `centroidklass` (

`id_centroid` int(255) NOT NULL AUTO_INCREMENT,

`id_kategori` int(255) DEFAULT NULL,

`id_term` int(255) DEFAULT NULL,

`centroidKlass` decimal(10,6) unsigned zerofill NOT NULL,

PRIMARY KEY (`id_centroid`)

) ENGINE=InnoDB AUTO_INCREMENT=1064 DEFAULT

CHARSET=latin1

Page 159: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

143

LAMPIRAN 7

Kuisioner Penentuan Kategori

DATA PENGISI

Nama :___________________________________________

Pekerjaan :___________________________________________

Keterangan :

Tentukan dokumen termasuk dalam kategori dokumen apakah dengan memberikan tanda

silang (X) pada kode

o Untuk kode B = Basisdata / Sistem informasi

o Untuk kode J = Jaringan

o Untuk kode K = Komputasi

1. SISTEM INFORMASI INVENTORI TOKO ASESORIS TELEPHON SELULER

Latar belakang dari penyusunan sistem aplikasi ini adalah untuk membantu

sistem manajemen yang ada untuk melakukan pengawasan terhadap pemasukan barang,

pembelian, penjualan, retur pembelian dan retur penjualan. Masalah-masalah tersebut

bisa diatasi dengan kerjasama yang baik antara karyawan bagian kasir dan bagian gudang.

Selain itu sistem informasi yang dibuat harus memudahkan karyawan. Sistem yang dibuat

nantinya bisa mengupdate stok secara langsung tiap kali transaksi penjualan terjadi.

Selain itu, sistem ini juga harus bisa mengetahui berapa jumlah stok jenis barang,

sehingga jika ingin mengetahui apakah jenis barang yang diinginkan masih ada atau

tidak, begitu diketahui lewat sistem bahwa barang tersebut masih ada, baru memberitahu

bagian gudang untuk mengambil barang dengan kode tersebut. Dengan sistem ini maka

pekerjaannya akan lebih mudah dan efisien.

Dari Sistem Informasi Toko Asesoris ini didapatlah nanti hasil akhirnya berupa nota

transaksi penjualan, laporan penjualan, laporan pembelian, laporan pendapatan dan

laporan stok barang.

Jenis Kategori : B J K

2. SISTEM INFORMASI PENJUALAN MOBIL ( TUNAI / KREDIT )

Suatu perusahaan yang bergerak di bidang jasa pemasaran mobil baru , dengan

satu merek tertentu ,yang menempatkan bagian penjualan sebagai ujung tombak

perusahaan , mengalami peningkatan volume transaksi penjualan sehingga penanganan

data - data ( file ) transaksi penjualan mobil menjadi semakin kompleks . Sistem

manajemen file tradisional yang diterapkan di masa - masa awal pendirian perusahaan

tidak lagi mampu menangani kompleksitas masalah yang muncul. Pengambilan

keputusan dan pelayanan terhadap pelanggan cenderung menjadi lebih lambat , serta

potensi kesalahan akibat human-error semakin tinggi . Dengan mengoptimalkan sumber

daya yang ada , maka dibuat suatu sistem informasi penjualan yang mampu mencatat data

- data yang terkait dengan proses transaksi penjualan mobil , baik secara kredit maupun

tunai . Sistem juga diharapkan mampu mengelola proses sebelum dan sesudah terjadinya

transaksi penjualan , yaitu : proses pengadaan mobil siap jual , proses pemesanan mobil ,

proses pembayaran cicilan kredit mobil sesuai paket penjualan kredit yang ditawarkan ,

Page 160: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

144

proses pelayanan garansi servis dan penggantian oli selama masa garansi , serta klaim

pengembalian ( return ) mobil baik berupa return penjualan maupun return pengadaan

mobil . Implementasi sistem informasi penjualan mobil ( tunai / kredit ) ini akan

memperbaiki keadaan . Proses manajemen penjualan dapat dilakukan dengan lebih efektif

dan efisien , pelayanan pelanggan dapat dioptimalkan melalui dukungan informasi yang

lebih cepat dan akurat . Informasi berupa pesan - pesan yang ditambahkan pada setiap

dokumen transaksi turut memberikan kontribusi positif bagi peningkatan layanan

terhadap pelanggan

Jenis Kategori : B J K

3. SISTEM ADMINISTRASI FIREWALL SECARA REMOTE UNTUK KEAMANAN

JARINGAN PADA SERVER BERBASIS LINUX MENGGUNAKAN WEBMIN

Aplikasi webmin dapat menunjang fleksibilitas seorang admin dalam mengelola beberapa

server.Kebijakan keamanan berdasarkan keamanan dan manfaat dan seorang admin tidak

harus menghafal sintaks dan konfigurasi iptables.Dengan jaringan seorang admin dapat

dengan mudah mengelola beberapa jaringan.Pengembangan aplikasi webmin yang

digunakan pada system operasi berbasis Microsoft Windows.Administrasi firewall pada

server linux secara langsung pada jaringan internet untuk mengetahui sejauh mana

manfaat pada webmin.Aplikasi IDS untuk menunjang keamanan dan implementasi yang

dilakukan iptables apabila server diletakkan pada daerah DMZ.

Jenis Kategori : B J K

4. PENERAPAN SPANNING TREE PROTOCOL PADA VLAN

Dalam mendesain jaringan komputer , khususnya LAN ada perbedaan mendasar antara

desain LAN tradisional dan desain LAN dengan VLAN . Pada desain LAN tradisional ,

interkoneksi host - host bersifat statis karena dibatasi oleh lokasi dan koneksi fisik dari

peralatan jaringan yang dibentuk . Sedangkan pada VLAN interkoneksi host - host

bersifat dinamis dan fleksibel karena tidak dibatasi oleh lokasi dan koneksi fisik peralatan

. Cara untuk menentukan keanggotaan VLAN pada penelitian ini dilakukan dengan

mengelompokkan VLAN menurut unit kerja secara fungsional . Berdasarkan

pengelompokkan ini , digunakan dua pendekatan dalam implementasi VLAN yakni

pendekatan simulasi dan studi kasus dengan membuat konfigurasi pada switch .

Konfigurasi untuk membuat VLAN dengan memetakan port demi port yang digunakan

untuk mengakses VLAN-VLAN yang dibentuk . Setiap VLAN baru tersebut bisa berada

pada switch yang sama ataupun pada switch yang berbeda . Dengan demikian pada

VLAN dimungkinkan untuk membuat segmentasi LAN secara logika . VLAN juga dapat

me-manage jaringan dengan membatasi boadcast domain dan mengontrol broadcast mac

address hanya pada VLAN yang sama. Keuntungan VLAN adalah sebagai berikut :

memberi kemudahan bagi administrator jaringan dalam mengatur jaringan , membuat

konfigurasi jaringan , meningkatkan kinerja , menyediakan sekuriti jaringan dengan

membatasi akses hanya bagi user yang bernaung dalam VLAN yang sama

Jenis Kategori : B J K

5. PENCARIAN TURUNAN PERTAMA FUNGSI LINIER DAN NON-LINIER

Sistem pencarian turunan pertama fungsi linier dan non-linier ini mengimplementasikan

perhitungan turunan menggunakan program bantu yang terkomputerisasi . Dengan sistem

Page 161: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

145

ini , proses pencarian turunan pertama fungsi linier dan non-linier dapat dilakukan dengan

mudah dan cepat . Pada sistem ini , user hanya memasukan perhitungan logikanya saja (

bentuk persamaannya ). Kemudian sistem langsung menerapkan metode parsing atas

bawah ( top-down parsing ) guna membaca input dan selanjutnya dilakukan proses

penyimpanan larik / array . Untuk mengembalikan ekspresi agar diperoleh output , sistem

kembali menerapkan metode parsing sehingga sistem dapat menampilkan tururnan

pertama dari persamaan yang diinputkan , yang bernilai benar . Dengan demikian , proses

pencarian turunan pertama fungsi linier dan non-linier dapat dilakukan dengan mudah .

Jenis Kategori : B J K

6. SEGMENTASI CITRA DENGAN ALGORITMA FUZZY C-MEANS CLUSTERING

Sebuah citra bisa terdiri dari berbagai macam objek yang ada. Ada kalanya

sebuah citra harus diproses dengan cara tertentu dahulu sebagai awal untuk melakukan

proses selanjutnya yang mungkin lebih rumit. Salah satu contohnya adalah pada

pengenalan pola atau pattern recognition. Biasanya langkah awal dalam pengenalan pola

atau pattern recognition adalah proses segmentasi citra, tujuannya untuk “memperjelas”

citra yang ada dengan menyederhanakan warna objek, sehingga objek-objek yang ada

pada citra menjadi lebih terlihat.

Metode Fuzzy C-Means Clustering melakukan segmentasi dengan membentuk sebuah

matriks derajat keanggotaan. Dimensi matriks tergantung pada ukuran citra dan jumlah

segmen yang ditentukan. Baris menggambarkan jumlah data yang ada dan kolom

menggambarkan jumlah segmen. Nilai derajat keanggotaan dalam satu baris

menggambarkan tingkat ”kepemilikan” sebuah segmen terhadap data. Semakin tinggi

nilai derajat (digambarkan sebagai kolom pada matriks derajat keanggotaan), maka

semakin cenderung data tersebut masuk menjadi anggota segmen tersebut. Dalam satu

baris matriks derajat keanggotaan nilai derajat harus berjumlah 1. Kemudian dengan

menggunakan nilai derajat keanggotaan, nilai RGB (tiap piksel), dan nilai koefisien

fuzzier akan dihitung secara iteratif nilai cluster center tiap segmen dan nilai derajat

keanggotaan hingga mencapai suatu kondisi optimal, sesuai dengan batasan yang telah

ditentukan.

Dengan melakukan langkah-langkah algoritma Fuzzy C-Means Clustering, sebuah citra

akan dibagi kedalam segmen-segmen berdasarkan kemiripan warna tiap pikselnya. Hasil

dari proses segmentasi adalah citra yang menampilkan segmen-segmen dari sebuah citra.

Tiap piksel akan diberikan warna sesuai dengan nilai cluster center segmen-nya yang

berupa nilai RGB.

Jenis Kategori : B J K

7. IMPLEMENTASI ALGORITMA DIJKSTRA UNTUK PENCARIAN LOKASI

RUANGAN Studi Kasus : RS. Bethesda Yogyakarta

Pencarian lokasi ruangan di rumah sakit, khususnya RS. Bethesda, merupakan suatu

masalah yang dihadapi pengunjung awam pada umumnya. Dalam skripsi ini di buat suatu

program bantu dengan mengimplementasikan algoritma dijkstra untuk pencarian lokasi

ruangan di rumah sakit dengan studi kasus di RS. Bethesda. Algoritma dijkstra ini,

diimplementasikan dengan bahasa pemrograman Visual Basic 6.0 dan untuk

penyimpanan data-data ruangannya, di gunakan MySQL 5.0.

Masukan untuk program bantu ini, berupa nama ruangan yang ingin di tuju dan pintu

masuk. Keluaran dari program bantu ini berupa letak ruangan tersebut, lengkap dengan

Page 162: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

146

petunjuk berupa gambar denah yang disertai dengan jalur terpendek untuk sampai ke

ruangan tersebut.

Jenis Kategori : B J K

8. APLIKASI REMOTE WEBCAM PADA LAN (LOCAL AREA NETWORK)

Dalam sebuah warnet dibutuhkan pengawasan ekstra untuk mencegah

terjadinya tindak kejahatan pencurian terhadap perangkat warnet oleh pengguna. Hingga

saat ini, solusi yang diambil hanyalah menggunakan kamera pengawas atau CCTV

(Closed-Circuit Television), dan ini membutuhkan biaya yang lebih. Untuk menangani

hal ini penyusun mencoba memanfaatkan webcam sebagai kamera pengawas. Dengan

menggunakan webcam, dapat menekan biaya yang digunakan karena pada umumnya

warnet sudah memiliki webcam disetiap komputer workstationnya yang selama ini hanya

digunakan sebagai fasilitas pendukung saja.

Aplikasi yang bersifat client-server ini diharapkan mampu untuk mendukung

tujuan diatas, dimana komputer workstation menjalankan aplikasi server dan komputer

operator menjalankan aplikasi client. Server akan merespon request client berupa

pengiriman citra yang telah ditangkap lalu diproses oleh server kepada client. Proses

pengambilan citra dan mengirimkannya secara. periodik inilah yang akan dilakukan terus

menerus selama client melakukan request kepada server.

Aplikasi ini menggunakan Microsoft® Visual Basic® 6.0 sebagai compilernya dan

webcam yang telah terintegrasi ke dalam sistem operasi dengan baik sebagai perangkat

yang akan mengambil citra

Jenis Kategori : B J K

9. SISTEM INFORMASI PENJUALAN BARANG MODEL MLM STUDI KASUS

BUSINESS CENTRE TEMPO DIRECT SOLO

Di zaman sekarang ini segala sesuatunya dituntut serba cepat dan akurat. Kemajuan

teknologi komputer memberikan sumbangan yang sangat besar dalam berbagai bidang

termasuk dalam bidang sistem informasi. Pembuatan Sistem Informasi Penjualan Barang

berbasis komputer merupakan salah satu solusi bagi perbaikan sistem kerja dalam

menyelesaikan sistem penjualan barang dan sistem perubahan jenjang distributor di

Business Centre Tempo Direct Solo. Business Centre Tempo Direct Solo mengalami

masalah dalam pengolahan data kenaikan jenjang distributor dan perhitungan selisih

perubahan harga barang yang yang banyak memakan waktu. Selama ini masalah yang

terjadi masih dilakukan secara manual. Dengan komputerisasi yang dilakukan diharapkan

akan menjadi solusi bagi permasalahan yang dialami Business Centre Tempo Direct Solo

yang nantinya dapat meningkatkan kinerja dari Business Centre Tempo Direct Solo

dimasa mendatang.

Jenis Kategori : B J K

10. SISTEM INFORMASI KREDIT BARANG RUMAH TANGGA

Aktifitas transaksi angsuran kredit yang dilakukan setiap hari secara berkelanjtuan

memerlukan sebuah pengaturan yang sistematis. Dalam Sistem Informasi Kredit Barang

Elektronik dengan sistem bunga flat dan menurun yang diutamakan adalah pencatatan

transaksi dan pembayaran angsuran kredit. Pembayaran angsuran secara manual

menggunakan buku catatan atau lembar kerja pada Microsoft Excel dirasa merepotkan

Page 163: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

147

ketika terjadi banyak transaksi dan pembuatan laporan sewaktu-waktu. Pencatatan dengan

cara ini memiliki tingkat ketelitian yang rendah dan waktu pencatatan cukup lama

sehingga kurang efisien. Untuk mengatasi masalah tersebut diatas, maka dibuatlah sebuah

aplikasi Sistem Informasi Kredit Barang Rumah Tangga. Dengan sistem ini pengguna

dapat mudah melakukan pencatatan barang yang akan dijual, pencatatan konsumen,

pencatatan data-data kredit yang diambil konsumen, pencatatan pembayaran angsuran

dan pembuatan laporan-laporan. Di samping cara pembayaran dengan kredit sistem bunga

flat atau menurun, sistem aplikasi ini juga menyediakan alternatif pembayaran secara

tunai. Dengan aplikasi ini tingkat ketelitian dapat dijaga dengan baik dan efisiensi waktu

juga dapat tercapai. Aplikasi ini dibangun dengan menggunakan bahasa pemrograman

Visual Fox Pro9.

Jenis Kategori : B J K

Page 164: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

148

LAMPIRAN 8

Tabel 5.23 Daftar Call Procedur

No Nama Call Precedure Keterangan

1 SpCekFile Lampiran 8.1

2 SpCentroid Lampiran 8.2

3 SpDelete_kamus Lampiran 8.3

4 SpDelete_kategori Lampiran 8.4

5 SpDelete_stoplist Lampiran 8.5

6 SpDelete_user Lampiran 8.6

7 SpEdit_user Lampiran 8.7

8 SpGantiPassword Lampiran 8.8

9 SpHitungIDF Lampiran 8.9

10 SpInsertTerm Lampiran 8.10

11 SpInsert_Judul Lampiran 8.11

12 SpInsert_kamus Lampiran 8.12

13 SpInsert_kategori Lampiran 8.13

14 SpInsert_stoplist Lampiran 8.14

15 SpInsert_user Lampiran 8.15

16 SpListKamus Lampiran 8.16

17 SpListKat Lampiran 8.17

18 SpListStopword Lampiran 8.18

19 SpListUser Lampiran 8.19

20 SpLogin Lampiran 8.20

21 SpSelectId_skrip Lampiran 8.21

22 SpSelectKamus Lampiran 8.22

23 SpSelectUser Lampiran 8.23

24 SpUpdate_kamus Lampiran 8.24

25 SpUpdate_kategori Lampiran 8.25

26 SpUpdate_stopword Lampiran 8.26

27 Sp_SelectId_kat Lampiran 8.27

28 Sp_SelectId_stoplist Lampiran 8.28

Page 165: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

149

Lampiran 8.1 SpCekFile

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpCekFile`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpCekFile`( namaFile

VARCHAR(1000),p_judulDok VARCHAR(1000),out o_result BOOLEAN)

BEGIN

DECLARE test varchar(1000);

select count(judul) into test

from skripsi

where judul = namaFile and judulDok = p_judulDok;

select if(test=0,false,true) into o_result;

END$$

DELIMITER ;

Lampiran 8.2 SpCentroid

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpCentroid`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpCentroid`(p_term VARCHAR(50),

p_kategori INT , OUT centro DOUBLE(6,5))

BEGIn

SELECT SUM(k.bobot) * (1/count(s.id_skripsi)) inTo centro

from indek k INNER JOIN skripsi s on k.id_Skripsi= s.id_skripsi and s.id_kategori

=p_kategori

INNER JOIN term t on k.id_term = t.id_term

where t.term = p_term;

END$$

DELIMITER ;

Lampiran 8.3 SpDelete_kamus

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpDelete_kamus`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpDelete_kamus`(p_kata

varchar(50),Out p_pesan VARCHAR(20))

Page 166: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

150

BEGIN

DECLARE cek int;

select count(*) into cek

FROM kamus

where kata_dasar = p_kata;

if(cek = 1 ) then

delete from kamus where kata_dasar = p_kata;

set p_pesan = "sukses";

else

set p_pesan = "gagal";

end if;

END$$

DELIMITER ;

Lampiran 8.4 SpDelete_kategori

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpDelete_kategori`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpDelete_kategori`(p_idKat bigint(20),

out p_pesan varchar(6))

BEGIN

declare cek bigint(20);

SELECT count(id_kategori) into cek

from kategori

where id_kategori = p_idKat;

if(cek = 1 ) then

delete from kategori where id_kategori = p_idKat;

set p_pesan = "sukses";

else

set p_pesan = "gagal";

end if;

END$$

DELIMITER ;

Page 167: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

151

Lampiran 8.5 SpDelete_stoplist

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpDelete_stoplist`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpDelete_stoplist`(p_idStoplist

bigint(20), out p_pesan varchar(6))

BEGIN

declare cek bigint(20);

SELECT count(id_stoplist) into cek

from stoplist

where id_stoplist = p_idStoplist;

if(cek = 1 ) then

delete from stoplist where id_stoplist = p_idStoplist;

set p_pesan = "sukses";

else

set p_pesan = "gagal";

end if;

END$$

DELIMITER ;

Lampiran 8.6 SpDelete_user

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpDelete_user`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpDelete_user`(p_username

varchar(50))

BEGIN

delete from user where username = p_username;

END$$

DELIMITER ;

Lampiran 8.7 SpEdit_user

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpEdit_user`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpEdit_user`(in p_username

varchar(50),

Page 168: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

152

in p_password_baru varchar(50), out p_pesan varchar(6))

BEGIN

declare cek varchar(50) default null;

select username into cek from user

where username = p_username;

if(cek is not null) then

update user

set password = md5(p_password_baru)

where username = p_username;

set p_pesan = "sukses";

else

set p_pesan = "gagal";

end if;

END$$

DELIMITER ;

Lampiran 8.8 SpGantiPassword

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpGantiPassword`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpGantiPassword`(in p_username

varchar(50),

in p_password_lama varchar(50), in p_password_baru varchar(50), out output varchar(6))

BEGIN

declare cek varchar(20) default null;

select username into cek from user

where username = p_username and password = md5(p_password_lama);

if(cek is not null) then

update user

set password = md5(p_password_baru)

where username = p_username;

set output = "sukses";

else

set output = "gagal";

end if;

END$$

Page 169: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

153

DELIMITER ;

Lampiran 8.9 SpHitungIDF

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpHitungIDF`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpHitungIDF`(p_term VARCHAR(50),

Out idf DOUBLE(6,5))

BEGIN

SELECT LOG2(COUNT(dok.id_skripsi)/t.df) into idf

from skripsi dok, term t

where t.term = p_term;

END$$

DELIMITER ;

Lampiran 8.10 SpInsertTerm

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpInsertTerm`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpInsertTerm`(p_term varchar(255))

BEGIN

DECLARE v_term varchar(255);

SELECT term into v_term from term where term = p_term;

if ( isnull(v_term)) then

insert into term(term) values (p_term);

end if;

END$$

DELIMITER ;

Lampiran 8.11 SpInsert_judul

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpInsert_Judul`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpInsert_Judul`(p_judul

VARCHAR(1000), p_idKat INT , p_judulDok VARCHAR(1000),OUT pesan VARCHAR(6) )

BEGIN

declare cek_id VARCHAR(1000);

select judul into cek_id

Page 170: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

154

from skripsi

where judul = p_judul;

if(cek_id is null) then

insert into

skripsi(judul,id_kategori,judulDok)values(p_judul,p_idkat,p_judulDok);

set pesan = "sukses";

else

set pesan = "gagal";

end if;

END$$

DELIMITER ;

Lampiran 8.12 SpInsert_kamus

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpInsert_kamus`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpInsert_kamus`(p_kata

VARCHAR(50), OUT p_pesan varchar(6))

BEGIN

declare cek_id VARCHAR(50);

select kata_dasar into cek_id

from kamus

where kata_dasar = p_kata;

if(cek_id is null) then

insert into kamus(kata_dasar) values(p_kata);

set p_pesan = "sukses";

else

set p_pesan = "gagal";

end if;

END$$

DELIMITER ;

Lampiran 8.13 SpInsert_ kategori

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpInsert_kategori`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpInsert_kategori`(p_kategori

Varchar(100), Out p_pesan varchar(6))

Page 171: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

155

BEGIN

declare cek_id int(20);

select id_kategori into cek_id

from kategori

where jenis_kategori= p_kategori;

if(cek_id is null) then

insert into kategori(jenis_kategori) values(p_kategori);

set p_pesan = "sukses";

else

set p_pesan = "gagal";

end if;

END$$

DELIMITER ;

Lampiran 8.14 SpInsert_ stoplist user

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpInsert_stoplist`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpInsert_stoplist`(p_Stopword

varchar(20), out p_pesan varchar(6))

BEGIN

declare cek_id int(200);

select id_stoplist into cek_id

from stoplist

where Stoplist = p_Stopword;

if(cek_id is null) then

insert into stoplist(Stoplist) values(p_Stopword);

set p_pesan = "sukses";

else

set p_pesan = "gagal";

end if;

END$$

DELIMITER ;

Lampiran 8.15 SpInsert_ user

Page 172: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

156

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpInsert_user`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpInsert_user`(in p_username

varchar(50),in p_password varchar(50), out p_cek int)

BEGIN

declare v_username varchar(50);

select username into v_username from user where username like p_username;

if (v_username is null) then

insert into user(username,password) values(p_username,md5(p_password));

set p_cek=1;

else

set p_cek=0;

end if;

END$$

DELIMITER ;

Lampiran 8.16 SpListKamus

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpListKamus`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpListKamus`()

BEGIN

select * from kamus;

END$$

DELIMITER ;

Lampiran 8.17 SpListKat

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpListKat`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpListKat`()

BEGIN

select * from kategori;

END$$

DELIMITER ;

Lampiran 8.18 SpListStopword

Page 173: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

157

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpListStopword`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpListStopword`()

BEGIN

select * from stoplist;

END$$

DELIMITER ;

Lampiran 8.19 SpListUser

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpListUser`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpListUser`()

BEGIN

select * from user;

END$$

DELIMITER ;

Lampiran 8.20 SpLogin

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpLogin`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpLogin`(in p_username varchar(50), in

p_password varchar(50),

out o_result boolean)

BEGIN

DECLARE test int;

select id_user into test

from user

where username like p_username and password like MD5(p_password);

select if(test is null,false,true) into o_result;

END$$

DELIMITER ;

Lampiran 8.21 SpSelectId_skrip

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpSelectId_Skrip`$$

Page 174: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

158

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpSelectId_Skrip`(p_idSkrip bigint)

BEGIN

select * from skripsi

where id_skripsi = p_idSkrip;

END$$

DELIMITER ;

Lampiran 8.22 SpSelectKamus

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpSelectKamus`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpSelectKamus`(p_Kamus varchar(50))

BEGIN

select kata_dasar from kamus

where kata_dasar = p_Kamus;

END$$

DELIMITER ;

Lampiran 8.23 SpSelectUser

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpSelectUser`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpSelectUser`(in p_username

varchar(50),

out o_id_user int(11),out o_username varchar(50), out o_password varchar(50))

BEGIN

select id_user, username, password into o_id_user, o_username, o_password

from user

where username like p_username;

END$$

DELIMITER ;

Lampiran 8.24 SpUpdate_kamus

DELIMITER $$

Page 175: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

159

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpUpdate_Kamus`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpUpdate_Kamus`(p_kamus

varchar(50), p_in_kamus varchar(50), out p_pesan varchar(20))

BEGIN

DECLARE cek int;

select count(*) into cek

from kamus

where kata_dasar like p_kamus ;

if(cek = 1 ) then

update kamus

set kata_dasar = p_in_kamus

where kata_dasar like p_kamus

;

set p_pesan = "sukses";

else

set p_pesan = "gagal";

end if;

END$$

DELIMITER ;

Lampiran 8.25 SpUpdate_kategori

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpUpdate_kategori`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpUpdate_kategori`( p_id_kat int(100),

p_jenis_kat varchar(100), out p_pesan varchar(20))

BEGIN

DECLARE cek_id bigint(20);

select id_kategori into cek_id

from kategori

where jenis_kategori = p_jenis_kat and id_kategori <> p_id_kat;

if(cek_id is null) then

update kategori

set jenis_kategori = p_jenis_kat

where id_kategori = p_id_kat;

Page 176: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

160

set p_pesan = "sukses";

else

set p_pesan = "gagal";

end if;

END$$

DELIMITER ;

Lampiran 8.26 SpUpdate_stopword

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`SpUpdate_Stopword`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpUpdate_Stopword`(p_id_stop

int(200), p_stopword varchar(20), out p_pesan varchar(20))

BEGIN

DECLARE cek_id bigint(20);

select id_stoplist into cek_id

from stoplist

where Stoplist= p_stopword and id_stoplist <> p_id_stop;

if(cek_id is null) then

update stoplist

set Stoplist= p_stopword

where id_stoplist = p_id_stop;

set p_pesan = "sukses";

else

set p_pesan = "gagal";

end if;

END$$

DELIMITER ;

Lampiran 8.27 Sp_SelectId_kat

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`Sp_SelectId_kat`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `Sp_SelectId_kat`(p_id_kat bigint(20))

BEGIN

select * from kategori

where id_kategori = p_id_kat;

Page 177: repository.usd.ac.idrepository.usd.ac.id/32385/2/055314017_Full.pdf · v HALAMAN MOTTO “ Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap

161

END$$

DELIMITER ;

Lampiran 8.28 Sp_SelectId_stoplist

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbklasifikasi`.`Sp_SelectId_stoplist`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `Sp_SelectId_stoplist`(p_id_stop

bigint(20))

BEGIN

select * from stoplist

where id_stoplist = p_id_stop;

END$$

DELIMITER ;