Anda di halaman 1dari 26

BAB I

PENDAHULUAN
Bab ini menguraikan tentang latar belakang, rumusan masalah, tujuan penelitian,
batasan masalah, metodologi dan sistematika penulisan dari laporan tugas akhir
ini.

1.1. Latar Belakang

Tingginya penggunaan internet telah memacu pesatnya pertumbuhan dan


pertukaran informasi. Tidak hanya dalam dunia maya, tetapi jumlah informasi
dalam bentuk text juga semakin banyak digunakan di berbagai institusi dan
perusahaan. Jumlah dokumen elektronik berbahasa Inggris yang semakin besar
merupakan sumber informasi yang berharga.

Pengelompokan (clustering) dokumen merupakan sebuah cara yang dapat


digunakan untuk mempermudah pencarian dokumen dalam database. Clustering
merupakan salah satu teknik dalam datamining yang bisa digunakan untuk
mengelompokkan data. Clustering merupakan proses pengelompokan data
sehingga semua anggota dari bagian data memiliki kemiripan berdasarkan
perhitungan jarak antara keyword yang ada didokumen. Salah satu aplikasi dari
clustering adalah document clustering. Tahapan clustering adalah: representasi
dokumen, pengunaan cluster algorithm, dan evaluasi. Yang diberikan sebagai
masukan dalam document clustering adalah source dari dokumen dan similarity
measure yang akan digunakan untuk menemukan beberapa cluster dari dokumen
yang saling terkait satu sama lainnya(2.5). Dalam membentuk document
clustering ada beberapa teknik yang dapat digunakan, tetapi pada umumnya ada
dua teknik yang sering digunakan yaitu : Partitioning algorithms dan Hierarchy
algorithms (2.4). Agglomerative hierarchical merupakan salah satu bagian dari
hierarchy algorithms. Tugas akhir ini akan melakukan pengelompokan dokumen
berdasarkan teknik hirarki (hierarchy algorithms).

1
1.2. Rumusan Masalah

Berdasarkan latar belakang penulis dapat mengidentifikasi beberapa masalah


sebagai berikut:

1. Mengimplementasikan algoritma Agglomerative hierarchical untuk


mengelompokan dokumen.

2. Mengelompokkan dokumen dengan melakukan perhitungan jarak antara


dokumen berdasarkan frekuensi kemunculan keyword yang ada di setiap
dokumen.

Pada tugas akhir ini akan dibuat sebuah sistem sederhana untuk
mengimplementasikan salah satu teknik clustering yaitu teknik hirarki dengan
menggunakan salah satu algoritma hirarki yaitu agglomerative hierarchical.
Sistem sederhana ini diharapkan dapat memberikan kesimpulan bahwa algortima
agglomerative hierarchical bisa juga digunakan dalam penggelompokan dokumen
dengan kelebihan dan kekurangan tersendiri.

1.3. Tujuan Penelitian

Tujuan Tugas akhir ini melakukan pembelajaran dan implementasi algoritma


agglomerative hierarchical clustering sebagai salah satu algoritma dari metode
hirarki yang dapat digunakan untuk pengelompokan dokumen berdasarkan jumlah
kemunculan keyword dalam setiap dokumen.

1.4. Batasan Masalah

Untuk memberi batas pada ruang lingkup pekerjaan sekaligus memberi fokus
pada penyelesaian, maka pada Tugas Akhir ini diberikan beberapa batasan yaitu:

1. Tugas akhir ini akan menitikberatkan pada pengimplementasian metode


agglomerative hierarchical clustering dalam menggelompokan dokumen.

2. Keyword sudah diketahui dengan demikian pada tahap preprocessing yang


akan dilakukan perhitungan kemunculan keyword pada setiap dokumen.

2
3. Dokumen untuk pengujian sistem akan disediakan oleh penulis.

1.5. Metodologi

Tugas akhir ini akan diselesaikan berdasarkan pada metodologi berikut :

1. Studi Literatur.
Tahapan yang dilakukan dalam penyelesaian tugas akhir ini, diawali dengan
melakukan studi pustaka dari text book dan artikel – artikel guna memberi
pemahaman yang fundamental akan konsep yang digunakan pada banyak
alternatif penyelesaian pada agglomerative hierarchical clustering. Selain
itu dilakukan studi literatur yang diperoleh dari internet.

2. Analisis.
Pada tahap ini, penulis mempelajari teknik pendekatan hirarki dan
melakukan analisis terhadap algoritma yang akan digunakan yaitu
agglomerative hierarchical clustering.

3. Perancangan dan Implementasi

Perancangan dan pengembangan perangkat lunak berdasarkan analisa yang


sudah dilakukan dan mengimplementasikan algoritma yang akan digunakan
dengan menggunakan bahasa pemrograman C# .

1.6. Sistematika Penulisan

Laporan TA ini disusun berdasarkan sistematika pembahasan sebagai berikut :

BAB I Bab ini menguraikan tentang latar belakang masalah, rumusan


masalah, tujuan penelitian, batasan masalah, metodologi dan
sistematika pembahasan buku tugas akhir.

BAB II Bab ini menjelaskan dasar teori mengenai knowledge discovery in


database, data mining, text mining, clustering, document clustering,
teknik clustering.

3
BAB III Bab ini meliputi analisis dan perancangan text mining, text processing,
algoritma agglomerative hierarchical. .

BAB IV Bab ini berisi penjelasan tentang implementasi dan pengujian


perangkat lunak.

BAB V Bab ini berisi kesimpulan dan saran yang diperoleh dari pelaksanaan
tugas akhir ini.

4
BAB II
DASAR TEORI
Bab ini berisi penjelasan dasar – dasar teori yang dimulai dengan teori umum
mengenai knowledge discovery in database, data mining, clustering, document
clustering, teknik clustering.

2.1Knowledge Discovery in Database

KDD berhubungan dengan teknik integrasi dan penemuan ilmiah, interprestasi


dan visualisasi dari pola – pola sejumlah kumpulan data. Langkah – langkah
dalam proses KDD [HAN06] dapat dilihat pada gambar berikut : s

Gambar 1. Proses KDD

Langkah – langkah dalam proses KDD sebagai berikut :

1. Data cleaning : menghilangkan noise dan data yang inkonsisten.

2. Data integration : menggabungkan berbagai macam sumber data.

3. Data selection : memilih data yang relevan dengan ‘analysis task.’

4. Data transformation : transformasi atau konsolidasi data ke dalam bentuk


yang lebih baik untuk mining, dengan mewujudkan operasi – operasi
summary dan aggregation.

5
5. Data mining : mengekstrak patterns dari data dengan menerapkan “intelligent
methods”.

6. Pattern evaluation : mengidentifikasi sejumlah pola yang sungguh – sungguh


menarik dan bakal menjadi pengetahuan berdasarkan sejumlah pengukuran
seperti rule support dan rule confidence untuk rule extraction.

7. Knowledge presentation : penggunaan teknik – teknik visualisasi dan


representasi untuk menyajikan pengetahuan yang telah diperoleh kepada user.

2.2Data Mining

Banyak definisi tentang data mining, dibawah ini adalah beberapa definisi dari
data mining [STE04] :

1. Ekstraksi dari suatu informasi yang berguna atau menarik (Non-trivial,


implicit, sebelumnya belum diketahui, potensial kegunaannya) pola atau
pengetahuan dari data yang disimpan dalam jumlah besar.

2. Eksplorasi dari analisa secara otomatis atau semiotomatis terhadap data – data
dalam jumlah besar untuk mencari pola dan aturan yang berarti.

Data mining juga merupakan salah satu proses knowledge discovery in database
(KDD), yang semua prosesnya adalah mengubah data mentah menjadi
pengetahuan yang berguna [PAN06].

Model Data Mining [STE04] :

1. Prediction : menggunakan beberapa variabel untuk memprediksi sesuatu atau


suatu nilai yang akan datang. Beberapa model prediction diantaranya adalah :
classification, regression, deviation detection.

2. Description : mendapatkan pola penafsiran (human – interpretable patterns)


untuk menjelaskan data. Beberapa model description diantaranya adalah :
clustering, association rule discovery, sequential pattern discovery.

Perbedaaan antara Supervised learning dan Unsupervised learning [LIU] :

6
1. Supervised learning: menemukan pola baru dalam data yang menghubungkan
pola data yang sudah ada dengan data yang baru.

2. Unsupervised learning: data belum memiliki pola. Menemukan pola dalam


sebuah data.

2.3Clustering

Clustering merupakan bagian dari unsupervised learning. Unsupervised learning


tidak membutuhkan acuan awal untuk memperoleh nilai sehingga sistem ini
memberikan hasil sepenuhnya pada setiap proses komputasi. Clustering adalah
proses mengelompokkan objek berdasarkan kemiripan antar cluster. Cluster yang
terletak didalam cluster harus memiliki kemiripan yang rendah sedangkan yang
tidak berada dalam satu cluster, mempunyai kemiripan yang rendah[HAN06].
Prinsip dari clustering adalah memaksimalkan kemiripan antar anggota satu kelas
dan meminimumkan kemiripan antar cluster. Tujuan clustering adalah untuk
memisahkan sekumpulan objek dari data set ke dalam beberapa kelompok atau
cluster dengan melihat kemiripan antar cluster berdasarkan keyword[STE04].
Untuk mengukur kemiripan antara dokumen akan dilakukan proses perhitungan
jarak antara dokumen. Salah satu fungsi yang dapat digunakan untuk menghitung
jarak antara dokumen[HAN06], yaitu :

Euclidean distance

d (i, j)  (| xi1  x j1|2 | xi 2  x j 2 |2 ...| xip  x jp |2 ) ……………..(i)

Ada beberapa teknik dalam clustering[HAN06], yaitu :

1. Metode partisi : membangun berbagai partisi dan kemudian mengevaluasi


partisi tersebut dengan beberapa kriteria .

2. Metode hierarki : membuat suatu penguraian secara hierarkikal dari himpunan


data menguunakan beberapa kriteria.

3. Metode Berbasis densitas : berdasarkan konektivitas dan fungsi densitas.

4. Metode Berbasis grid : berdasarkan suatu struktur granularitas multi-level.

7
5. Metode Berbasis model : suatu model dihipotesakan untuk masing – masing
cluster dan ide untuk mencari best fit dari model tersebut untuk masing –
masing yang lain.

2.4 Teknik Clustering

Secara garis besar metode clustering dibagi dalam 2 tipe yaitu : hierarchical dan
non hierarchical. Hierarchical menggunakan N x N similarity matrix, sedangkan
non hierarchical membagi dataset menjadi sebuah level single partisi, dengan
atau tanpa pencocokan antara clusters [SAL71]. Selain itu hal mendasar yang
membedakan kedua metode ini adalah : metode penelompokan hirarki digunakan
apabila belum ada informasi jumlah kelompok, sedangkan metode
pengelompokan non hirarki bertujuan mengelompokan n objek ke dalam k
kelompok (k<n). Berikut adalah perjelasan singkat mengenai perbandingan antara
metode hirarki (agglomerative hierarchical) dan metode partisi (k-means).

2.5.1Hierarchical Clustering

Teknik hirarki (hierarchical methods) adalah teknik clustering yang membentuk


kontruksi hirarki berdasarkan tingkatan tertentu seperti struktur pohon Dengan
demikian proses pengelompokkannya dilakukan secara bertingkat atau bertahap.
Hasil dari pengelompokan ini dapat disajikan dalam bentuk dendogram[STE00].

Ada dua pendekatan dalam hierarchical clustering yaitu agglomerative dan


divisive. Berikut ini adalah gambaran mengenai Agglomerative dan Divisive :

Gambar 4. Agglomerative dan Divisive

8
2.5.11Agglomerative

Metode ini dimulai dengan setiap N cluster membentuk cluster masing-masing.


Kemudian dua cluster dengan jarak terdekat bergabung. Selanjutnya cluster yang
lama akan bergabung dengan cluster yang sudah ada dan membentuk cluster baru.
Hal ini tetap memperhitungkan jarak kedekatan antar cluster. Proses akan
berlanjut hingga akhirnya terbentuk satu cluster yang terdiri dari keseluruhan
cluster.

Beberapa metode dari agglomerative[STE04] :

1. Single linkage (nearest neighbor methods) : Metode ini menggunakan prinsip


jarak minimum yang diawali dengan mencari dua cluster terdekat dan
keduanya membentuk cluster yang pertama.

2. Complete linkage (furthest neighbor methods) : Metode ini merupakan


kebalikan dari pendekatan yang digunakan pada single linkage. Prinsip jarak
yang digunakan adalah jarak terjauh(maximal) antar cluster.

3. Average linkage between groups methods : Metode ini mengikuti prosedur


yang sama dengan kedua metode sebelumnya. Prinsip ukuran jarak yang
digunakan adalah jarak rata-rata antar tiap pasangan cluster yang mungkin.

4. Ward’s method error sum of squares : Ward mengajukan suatu metode


pembentukan cluster yang didasari oleh hilangnya informasi akibat
penggabungan cluster menjadi cluster. Hal ini diukur dengan jumlah total
deviasi kuadrat dari mean cluster untuk tiap observasi.

2.5.12 Divisive

Metode divisive berlawanan dengan metode agglomerative. Metode ini pertama-


tama diawali dengan satu cluster besar yang mencakup semua cluster. Selanjutnya
cluster yang memiliki ketidakmiripan yang cukup besar akan dipisahkan sehingga
membentuk cluster yang lebih kecil. Pemisahan ini dilanjutkan sehingga
mencapai sejumlah cluster yang diinginkan[STE00].

9
2.5.2Partitional Clustering

Konsep dasar dari partitional clustering adalah membagi n jumlah cluster ke


dalam k cluster. Metode ini merupakan metode pengelompokan yang bertujuan
mengelompokan objek sehingga jarak antar tiap objek ke pusat kelompok di
dalam satu kelompok adalah minimum.

K-means Clustering dan K-medoids atau PAM (partition around


medoids)merupakan beberapa algoritma dari partitional clustering [LIU]. Berikut
ini adalah penjelasan singkat dari metode clustering K-means yaitu[SAN06] :

 Membagi objek ke dalam k subset tak kosong.

 Menghitung titik benih sebagai pusat(titik rata – rata dari cluster) cluster
dari partisi sekarang.

 Memberikan masing – masing objek tersebut ke cluster dengan titik benih


terdekat.

 Kembali ke tahap yang kedua, berhenti jika tidak ada lagi yang penugasan
baru.

2.5 Dokumen Clustering

Salah satu aplikasi clustering adalah document clustering. Adapun tujuan dari
document clustering adalah untuk mengelompokkan dokumen dimana cluster
dalam satu kelompok mirip satu dengan yang lain berdasarkan frekuensi
kemunculan keyword yang ada di setiap dokumen[STE04].

10
Dibawah ini merupakan ilustrasi sederhana dari document clustering [WAI] :

Gambar 3. Ilustrasi document clustering [WAI]

Yang diberikan sebagai inputan adalah source document dan similarity measure
dengan tujuan untuk mengumpulkan dokumen – dokumen yang ada dengan tepat.
Pada umumnya proses clustering adalah sebagai berikut [SAN06] :

 Preprocessing data(2.3) yang secara garis besar terdiri dari tokenisasi,


filtering, stemming. Berdasarkan (I.4) hanya akan dilakukan beberapa dari
tahapan preprocessing yaitu : tokenisasi (II.3) dan dilanjutkan dengan analisis.
Tahap tokensisasi akan dilakukan untuk menangani dokumen baru yang akan
diinput. Pada tahap ini akan dilakukan pemotongan setiap string yang ada
dalam dokumen yang diinput(gambar ).

Gambar 4. Contoh Tokenisasi

11
Pada tahapan analisis, akan dilakukan perhitungan jumlah keyword (sudah
disediakan) dalam dokumen yang ada yang kemudian akan membentuk
matriks dokumen-term(tabel ).

Tabel Terms frequency dalam dokumen

Ket : tfij = jumlah kemunculan kata/term dalam dokumen

 Clustering : menghitung kemiripan yang menerapkan algoritma clustering.

Proses Clustering yang akan dilakukan menggunakan Agglomerative


Hierarchical Clustering Algorithm(AHC algorithm). Walaupun lebih lambat, hasil
akhir

Pengelompokan agglomerative hierarchical clustering lebih baik dibandingkan k-


means yang sering digunakan, karena lebih efisien [STE00]. Proses dasar dari
hierarchical clustering [JON67] adalah:

 Mulailah dengan mendefinisikan setiap item sebagai cluster, jadi data


yang ada sejumlah N items, maka sekarang cluster yang ada sejumlah N
items tersebut. Jarak antara clusters sama dengan jarak antara items yang
ada.

 Selanjutnya, mencari pasangan cluster yang paling dekat dan


menggabungkan keduanya dalam satu cluster.

 Hitung jarak antara cluster yang baru dibentuk dengan cluster yang sudah
ada sebelumnya. Ulangi tahap 2 dan 3 sampai cluster membentuk N
cluster yang diinginkan.

Ada tiga metode yang ada dalam AHC algorithm(2.5.1.1) dan yang akan
digunakan untuk melakukan clustering adalah metode single linkage. Metode

12
single lingkage menggunakan prinsip jarak minimum. Dibawah ini adalah psedeo
code dari algoritma Agglomerative Hierarchical Clustering.

Agglomerative Hierarchical Algorithm:

Given:
a set X of objects {x1,...,xn}
a distance function dis(c1,c2)

1. for i = 1 to n
ci = {xi}
end for
2. C = {c1,...,cb}
3. l = n+1
4. while C.size > 1 do
a) (cmin1,cmin2) = minimum dis(ci,cj) for all ci,cj in C
b) remove cmin1 and cmin2 from C
c) add {cmin1,cmin2} to C
d) l = l + 1
end while

Contoh : diberikan kumpulan X(dapat dilihat pada gambar ), yang sudah


direpresentasikan dalam bentuk matrix. Dengan menggunakan fungsi Euclidean
distance (2.4) dan single link method untuk menghitung jarak antara clusters.

 pertama, masing – masing anggota (Xi) dari X, ditempatkan dalam cluster


Ci,dimana Ci adalah anggota dari cluster C.

C = {{x1},{x2},{x3}, {x4},{x5},{x6},{x7}, {x8},{x9},{x10}}

 set l = 11.

13
 (iterasi pertama dari penggulangan menggunakan while) C.size = 10.

Setelah dilakukan perhitungan jarak maka didapatkan jarak minimum


adalah hasil perhitungan jarak antara C2 dan C10.

(cmin1,cmin2) = (c2,c10)

Pindahkan c2 and c10 from C, tambahkan c11 to C.

C = {{x1},{x3}, {x4},{x5},{x6},{x7}, {x8},{x9},{{x2}, {x10}}}

Set l = l + 1 = 12

 Dan perhitungan terus dilakukan sampai membentuk N cluster yang


diinginkan.

 Kesimpulan dari hasil clustering yang didapatkan.

Tahapan akhir dari proses clustering adalah kesimpulan dari clustering yang
didapatkan.

BAB III
ANALISIS DAN PERANCANGAN

Bab ini berisi mengulas tentang analisa proses clustering, analisa perangkat lunak
dan perancangan perangkat lunak.

3.1 Analisa Proses Clustering

Dibawah ini adalah tahapan impelementasi program :

14
Vector Space Model AHC Algorithm

Vector
Koleksi Dissimilarity Proses
Space
Dokumen Measures Clustering
Model

Euclidean Distance

Hasil
Clustering

Gambar 4: Tahapan Implementasi Program

3.1.1Proses Analisa Cluster

Dalam analisa cluster, perlu melakukan proses cluster berikut [SAN06] :

 Mengukur kesamaan antar objek (similarity). Sesuai prinsip dasar cluster yang
menggelompokkan objek yang mempunyai kemiripan, proses pertama adalah
mengukur seberapa jauh ada kesamaan antar objek. Dalam praktek,
penggunaan metode Euclidean Distance yang paling populer.

 Metode Single Linkage Link merupakan metode Hierarchical sehingga


implementasi metode ini mengacu kepada tahapan dasar dari implementasi
hierarchical(2.6).

3.1.2Proses Implementasi Cluster

Berdasarkan gambar 3.1 diatas maka akan dijelaskan tahapan proses implementasi
cluster dengan menggunakan metode single linkage, yang akan disertai dengan
contoh.

Diberikan 5 buah dokumen dengan 2 buah term(apple dan boy). Dari 5 dokumen
ini akan dibentuk 3 cluster.

15
Gambar

Setiap dokumen yang diinput merupakan anggota dari sebuah N cluster


(berdasarkan algoritma 2.6). Selanjutnya dari data diatas akan dibentuk matriks
dengan menghitung jarak antara dokumen yang ada. Perhitungan jarak dengan
menggunakan fungsi Euclidean Distance(2.4).

d (i, j)  (| xi1  x j1|2 | xi 2  x j 2 |2 ...| xip  x jp |2 )

d(1,2) = (1  2) 2  (4  6) 2 = 2.24
d(1,3) = (1  4) 2  (4  2) 2 = 3.61
d(1,4) = (1  3) 2  (4  1) 2 = 3.61
d(1,5) = (1  0) 2  (4  6) 2 = 2.24
d(2,3) = (2  4) 2  (6  2) 2 = 4.47
d(2,4) = (2  3) 2  (6  1) 2 = 5.10
d(2,5) = (2  0) 2  (6  6) 2 = 2.00
d(3,4) = (4  3) 2  (2  1) 2 = 1.41

d(3,5) = (4  0) 2  (2  6) 2 = 5.66
d(4,5) = (3  0) 2  (1  6) 2 = 5.83

Dari hasil perhitungan diatas maka akan dibentuk dissimilarity matriks, jika
perhitungan d(i,i) akan didapatkan 0. Setelah didapatkan hasil jarak, maka nilai
yang minimum antara 2 cluster akan digabung.
Pada iterasi pertama ini,didapatkan hasil minimum merupakan hasil perhitungan
antara dok3 dan dok4. Keduanya digabung dalam satu cluster.

16
Hasil iterasi pertama :

Selanjutnya dilakukan iterasi kedua, karena cluster yang terbentuk belum sesuai
dengan yang diinginkan(3 cluster). Pembentukan matriks dengan menggunakan
perhitungan jarak seperti pada iterasi pertama. Pada iterasi berikut akan dilakukan
perbandingan antara cluster baru yang sudah terbentuk dengan cluster lama yang
ada.

d(3,4)1 = min{d31,d41}= d31 = 3.61

d(3,4)2 = min{d32,d42}= d32 = 4.47

d(3,4)5 = min{d35,d45}= d35 = 5.66

Maka didapatkan matriks yang baru yang selanjutnya akan didapatkan jarak
minimum kedua, yaitu hasil perhitungan antara dok2 dan dok5.

17
Dengan demikian kedua dokumen digabung dalam satu cluster, sehingga
didapatkan hasil akhir sebagai berikut :

Demikianlah tahapan pembentukan cluster dengan menggunakan metode single


lingkage yang merupakan salah satu metode dari agglomerative hierarchical
clustering.

3.2 Analisa Perangkat Lunak

Pada tahap ini akan dijelaskan mengenai use case diagram, activity diagram,
sequence diagram, class diagram, dari perangkat lunak.

3.2.1Use Case Diagram

18
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah
sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan
“bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor
dengan sistem. Pada sistem ini user berhubungan langsung dengan sistem tanpa
melibatkan administrator. Sehingga use case yang ada pada sistem ini adalah use
case user.

Load Dataset

Load Dokumen

User

Add Word

Clustering

View Table

Gambar 8: Use Case Diagram

Berikut adalah penjelasan singkat mengenai setiap use case yang ada :

 Use case load dataset


Use case ini merupakan proses awal dari sistem. Dimana user bisa
memilih data set yang akan digunakan untuk pengujian.
 Use case load dokumen

19
Use case ini adalah proses dimana user ingin menginput sebuah dokumen
untuk diikutsertakan dalam pengujian.
 Use case add word
Use case ini dimana user bisa menambahkan istilah pada sistem.
 Use case clustering
Use case ini merupakan proses akhir dari sistem ini. Sistem akan
memberikan hasil cluster dari setiap dokumen yang ada.
 Use case view tabel
Use case ini untuk melihat tabel apa saja yang ada dalam database.

3.2.2Activity Diagram

Gambar 9: Activity Diagram

3.2.3Sequence Diagram

20
:MySystem :LoadDoc

: User

in system

Validasi

Load Doc

Gambar 10: Sequence Diagram Load Document

:MySystem :loadDataset :Clustering :HasilClustering


: User

in system

choose dataset

do clustering

view hasil

Gambar 11: Sequence Diagram Clustering

3.2.4Class Diagram

Penjelasan mengenai setiap class yang digunakan :

21
 Class User Interface
Class user interface pada sistem ini hanyalah berupa UI_menu. Class ini
terdiri dari operasi browse, tProses, clustering.
 Class Proses
Class proses merupakan class yang dilakukan saat user melakukan aksi
pada GUI. Pada sistem ini, class proses terdiri dari load data, tproses,
cluster.
 Class Database
Class database merupakan class koneksi ke database.

UI_Menu

tProses()
Clustering()
browse()

cluster
loadData cluster_no
Nama_doc Id_Doc
Id_Doc Freq
word

tProses
word
Id_Doc
freq distance

dbconn.inc

close()
open()

Gambar 12: Class Diagram

3.3 Perancangan Perangkat Lunak

22
Pada tahap ini akan dijelaskan mengenai perancangan perangkat lunak yang
terdiri dari perancangan database dan perancangan antar muka sistem.

3.3.1Perancangan Database

Document given Term

Clustering Result

Gambar 6: Entity Relationship Diagram

Berdasarkan ERD yang ada pada gambar 6, maka akan dibentuk tabel – tabel
berikut ini :
Tbl_Document
Doc_ID Nama_Dok

Tbl_Term
Term_ID Nama_Term

Tbl_Result
Doc_ID Term_ID Cluster_No

Tbl_given
Doc_ID Term_ID Freq

23
3.3.2Perancangan Antar Muka Sistem
Dibawah ini adalah gambaran sederhana antarmuka(GUI) dari sistem.

Nama Keterangan
My System
Ini merupakan form utama
dari sistem. Pada form ini
user bisa menginput dataset
yang sudah disediakan, user
bisa melakukan clustering
dan melihat tabel keywords
yang sudah disediakan.

Dataset
Ini merupakan usecase load
dataset.

24
Clustering
Ini merupakan
hasil akhir dari
clustering.

AddWord
Ini adalah GUI
dari
menambahkan
keyword

Minkowski distance
d (i, j)  q (|xi1  x j1|q | xi 2  x j 2 |q ...| xip  x jp |q )

25
Manhattan distance
d (i, j) | x  x |  | x  x | ... | x  x |
i1 j1 i2 j2 ip jp

26