tugas akhir
DESCRIPTION
Tugas Akhir ini mengenai clustering textTRANSCRIPT
BAB I
PENDAHULUANBab 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 TEORIBab 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
……………..(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
2 2 2
1 1 2 2( , ) (| | | | ... | | )
p pd i j x x x x x xi j i j i j
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 for2. C = {c1,...,cb}
3. l = n+14. 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 + 1end 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
Koleksi Dokumen
Vector Space Model
Dissimilarity Measures
Proses Clustering
Hasil Clustering
Euclidean Distance
Vector Space Model AHC Algorithm
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(1,2) = 2 2(1 2) (4 6) = 2.24
d(1,3) = 2 2(1 4) (4 2) = 3.61
d(1,4) = 2 2(1 3) (4 1) = 3.61
d(1,5) = 2 2(1 0) (4 6) = 2.24
d(2,3) = 2 2(2 4) (6 2) = 4.47
d(2,4) = 2 2(2 3) (6 1) = 5.10
d(2,5) = 2 2(2 0) (6 6) = 2.00
d(3,4) = 2 2(4 3) (2 1) = 1.41
d(3,5) = 2 2(4 0) (2 6) = 5.66
d(4,5) = 2 2(3 0) (1 6) = 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
2 2 2
1 1 2 2( , ) (| | | | ... | | )
p pd i j x x x x x xi j i j i j
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.2Analisa 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
Clustering
Add Word
User
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
: User
:MySystem :LoadDoc
in system
Validasi
Load Doc
Gambar 10: Sequence Diagram Load Document
: User:MySystem :loadDataset :Clustering :HasilClustering
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.
distance
loadData
Nama_docId_Doc
cluster
cluster_noId_DocFreqword
tProses
wordId_Docfreq
UI_Menu
tProses()Clustering()
browse()
dbconn.inc
close()open()
Gambar 12: Class Diagram
3.3Perancangan 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_DocumentDoc_ I D Nama_Dok
Tbl_TermTerm_ I D Nama_Term
Tbl_ResultDoc_ID Term_ID Cluster_No
Tbl_givenDoc_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.
DatasetIni merupakan usecase load dataset.
24
Clustering
Ini merupakan
hasil akhir dari
clustering.
AddWord
Ini adalah GUI
dari
menambahkan
keyword
Minkowski distance
25
1 1 2 2( , ) (| | | | ... | | )q q qq
p pd i j x x x x x xi j i j i j
Manhattan distance
26
1 1 2 2( , ) | | | | ... | |
p pd i j x x x x x xi j i j i j