Optimasi Pusat Cluster Awal K-Means dengan Algoritma Genetika Pada Pengelompokan Dokumen

BAB 2
TINJAUAN PUSTAKA

2.1 Data Mining
Data mining adalah istilah yang digunakan untuk menemukan pengetahuan baru yang
tersembunyi di dalam penyimpanan data yang berukuran besar. Data mining
merupakan proses semi otomatis yang menggunakan teknik statistik, matematika,
kecerdasan buatan, dan machine learning untuk mengekstraksi dan mengidentifikasi
informasi yang bermanfaat dan pengetahuan yang terkait dari berbagai basis data
yang besar (Turban et al, 2005).
Istilah

data

mining

atau

Knowledge

Discovery


in

Database

(KDD)

seringdigunakan secara bergantian untuk menjelaskan proses penggalian informasi
tersembunyi dalam suatu basis data yang besar. Sebenarnya kedua istilah tersebut
memiliki konsep yang berbeda, tetapi berkaitan satu sama lain. Salah satu tahapan
dalam keseluruhan proses KDD juga termasuk data mining (Kusrini, 2009).
2.1.1 Teknik Data Mining
Teknik data mining digunakan untuk memeriksa basis data berukuran besar sebagai
cara untuk menemukan pola yang baru dan berguna. Tidak semua pekerjaan
pencarian informasi dinyatakan sebagai data mining. Sebagai contoh, pencarian
record individual menggunakan database management system atau pencarian web
tertentu melalui query kesemua search engine adalah pekerjaan pencarian informasi
yang erat kaitannya dengan information retrieval. Teknik-teknik data mining dapat
digunakan untuk meningkatkan kemampuan sistem-sistem information retrieval.
Pada teknik data mining dibagi menjadi beberapa kelompok berdasarkan tugas

yang dapat dilakukan, yaitu:
a. Deskripsi
Terkadang peneliti dan analisis secara sederhana ingin mencoba mencari cara untuk
menggambarkan pola dan kecenderungan yang terdapat dalam data. Sebagai

Universitas Sumatera Utara

6

contoh, petugas pengumpul suara mungkin tidak dapat menemukan keterangan atau
fakta bahwa siapa yang tidak cukup profesional akan sedikit didukung dalam
pemilihan presiden. Deskripsi dari pola dan kecenderungan sering memberikan
kemungkinan penjelasan untuk suatu pola atau kecenderungan.
b. Klasifikasi
Dalam klasifikasi, terdapat target variabel kategori. Sebagai contoh penggolongan
pendapatan dapat dipisahkan dalam tiga kategori yaitu pendapatan tinggi, pendapatan
sedang, dan pendapatan rendah. Contoh lain menentukan apakah suatu transaksi kartu
kredit merupakan transaksi yang curang, memperkirakan apakah suatu pengajuan
hipotek oleh nasabah merupakan suatu kredit yang baik atau buruk, mendiagnosa
penyakit seorang pasien untuk mendapatkan termasuk kategori penyakit apa.

c. Estimasi
Estimasi hampir sama dengan klasifikasi, kecuali variabel target estimasi lebih ke
arah numerik daripada ke arah kategori. Model dibangun menggunakan record
lengkap yang menyediakan nilai dari variabel target sebagai nilai prediksi.
Selanjutnya, pada peninjauan berikut estimasi nilai dari variabel target dibuat
berdasarkan nilai variabel prediksi. Sebagai contoh, akan dilakukan estimasi tekanan
darah sistolik pada pasien rumah sakit berdasarkan umur pasien, jenis kelamin,
indeks berat badan, dan level sodium darah. Hubungan antara tekanan darah sistolik
dan nilai variabel prediksi dalam proses pembelajaran akan menghasilkan model
estimasi. Model estimasi yang dihasilkan dapat digunakan untuk kasus baru lainnya.
d. Prediksi
Prediksi hampir sama dengan klasifikasi dan estimasi, kecuali bahwa dalam prediksi
nilai dari hasil akanada di masa mendatang. Beberapa metode dan teknik yang
digunakan (untuk keadaan yang tepat) untuk prediksi.
e. Pengelompokan
Pengelompokan/pengklusteran merupakan pengelompokan record, pengamatan, atau
memperhatikan dan membentuk kelas objek-objek yang memiliki kemiripan. Kluster
adalah kumpulan record yang memiliki ketidakmiripan dengan record-record dalam
kluster lain. Pengklusteran berbeda dengan klasifikasi yaitu tidak adanya variabel


Universitas Sumatera Utara

7

target dalam pengklusteran. Pengklusteran tidak mencoba untuk melakukan
klasifikasi, mengestimasi, atau memprediksi nilai dari variabel target. Akan tetapi,
algoritma pengklusteran mencoba untuk melakukan pembagian terhadap keseluruhan
data menjadi kelompok-kelompok yang memiliki kemiripan, yang mana kemiripan
record dalam satu kelompok akan bernilai maksimal, sedangkan kemiripan dengan
record dalam kelompok lain akan bernilai minimal.
f. Asosiasi
Tugas asosiasi dalam data mining adalah menemukan atribut yang muncul dalam satu
waktu. Dalam dunia bisnis lebih umum disebut analisis keranjang belanja. Contohnya
meneliti jumlah pelanggan dari perusahaan telekomunikasi seluler yang diharapkan
untuk memberikan respons positif terhadap penawaran upgrade layanan yang
diberikan. Contoh lain menemukan barang dalam supermarket yang dibeli secara
bersamaan dan barang yang tidak pernah dibeli secara bersamaan.
2.1.2 Tahapan Data Mining
Pada data mining proses untuk menggali pengetahuan baru dan berguna dari
sekumpulan data yang besar sering juga dikenal sebagai penemuan pengetahuan dari

pangkalan data (Knowledge Discovery in Databases) / KDD yaitu tahap-tahap yang
dilakukan dalam menggali pengetahuan dari sekumpulan data. Tahap-tahap yang
dimaksud digambarkan seperti Gambar 2.1. berikut ini:

Gambar 2.1 Proses KDD (Knowledge Discovery in Databases)
(Sumber : Han.J & Kember, 2006)

Universitas Sumatera Utara

8

1) DataSelection
Pemilihan (seleksi) data dari sekumpulan data operasional perlu dilakukan sebelum
tahap penggalian informasi dalam KDD dimulai. Data hasil seleksi yang akan
digunakan untuk proses data mining. Disimpan dalam suatu berkas, terpisah dari
basis data operasional.
2) Pre-processing
Sebelum proses data miningdapat dilaksanakan, perlu dilakukan proses cleaning pada
data yang menjadi fokus KDD.Pre-Processing dilakukan untuk membuang data yang
tidak konsisten dan noise, duplikasi data,memperbaiki kesalahan data dan boleh juga

diperkaya dengan data eksternal yang relevan. Proses cleaning mencakup antara lain
membuang duplikasi data, memeriksa data yang inkonsisten, dan memperbaiki
kesalahan pada data, seperti kesalahan cetak (tipografi). Juga dilakukan proses
enrichment, yaitu proses memperkaya data yang sudah ada dengan data atau
informasi lain yang relevan dan diperlukan untuk KDD, seperti data atau informasi
eksternal.
3) Transformation
Coding adalah proses transformasi pada data yang telah dipilih, sehingga tersebut
sesuai untuk proses data mining. Proses coding dalam data KDD merupakan proses
kreatif dan sangat tergantung pada jenis atau pola informasi yang akan dicari dalam
basis data.
4) Data Mining
Data mining adalah proses mencari pola atau informasi menarik dalam data terpilih
dengan menggunakan teknik atau metode tertentu. Teknik, metode atau algoritma
dalam data mining sangat bervariasi. Pemilihan metode atau algoritma yang tepat
sangat bergantung pada tujuan dan proses KDD secara keseluruhan.
5) Interpretation/Evaluation
Pola informasi yang dihasilkan dari proses data miningperlu ditampilkan dalam
bentuk yang mudah dimengerti oleh pihak yang berkepentingan. Tahap ini
merupakan bagian dari proses KDD yang disebut interpretation. Tahap ini mencakup


Universitas Sumatera Utara

9

pemeriksaan apakah pola atau informasi yang ditemukan bertentangan dengan fakta
atau hipotesis yang ada sebelumnya.

2.2 Algoritma K-Means
Algoritma K-Means merupakan algoritma pengelompokan iteratif yang melakukan
partisi set data ke dalam sejumlah K cluster yang sudah ditetapkan di awal. Algoritma
K-Means sederhana untuk diimplementasikan dan dijalanakan, relatif cepat dan
mudah beradaptasi. Secara historis, K-Means menjadi salah satu algoritma yang
paling penting dalam data mining (Wu dan Kumar, 2008).
Algoritma K-Means tergolong ke dalam metode pengklusteran non-hirarki
dengan menentukan terlebih dahulu banyak K (kluster) yang diinginkan (Hartigan,
1975). Nilai K yang digunakan biasanya didasarkan pada informasi yang diketahui
sebelumnya tentang berapa banyak sebenarnya kelompok(cluster) yang muncul
dalam data yang akan di clustering. Sejumlah K representatif cluster tersebut disebut
juga sebagai centroid atau pusat cluster.

Pada set data yang di clustering dikelompokkan berdasarkan konsep kedekatan
dan kemiripan. Meskipun konsep yang dimaksud untuk data-data yang berkumpul
dalam satu cluster adalah data-data yang mirip, tetapi kuantitas yang digunakan untuk
mengukurnya

adalah

ketidakmiripan

(dissimilarity)

yaitu

data-data

yang

ketidakmiripan (jarak) yang kecil/dekat maka lebih besar kemungkinannya untuk
bergabung dalam cluster.
Algoritma K-Means mencapai kondisi konvergen ketika pengalokasian kembali

titik data dan juga centroid tidak berubah dengan yang sebelumnya. Proses dari iterasi
ke iterasi hingga dicapai kondisi konvergen juga dapat diamati dari nilai fungsi
objektif yang didapatkan. Pada kondisi yang semakin konvergen dapat diamati bahwa
nilai fungsi objektif akan semakin menurun.
Adapun langkah-langkah pada algoritma K-Means adalah sebagai berikut :
1. Menentukan K dimana K adalah banyak cluster yang ingin dibentuk.
2. Pilih K buah data secara acak dari set data yang ada sebagai pusat cluster awal.
3. Langkah ke 3 ini lakukan :
a. Menentukan jarak setiap data dengan masing-masing pusat cluster awal pada
langkah 2. Disini akan terlihat data akan menjadi anggota dari kluster ke-k.

Universitas Sumatera Utara

10

X ,X

=

(X


X )

.

(2.1)

Keterangan:
= Jarak terpendek antara dan dimana adalah data dan adalah centroid
= Nilai data ke-j
= Nilai centroid ke-j
= Dimensi data
j

= Data ke-j (1,2,3,

,n)

b. Menghitung BCV ( Between Cluster Variation )
=


(

,

)

.. (2.2)

Keterangan :
(

,

)

= Jarak antar cluster
= Jarak antara cluster ke cluster

c. Menghitung WCV(Within Cluster Variation)
WCV adalah Jumlah kuadrat jarak pusat tiap cluster yang paling minimum.
WCV =

a d(x , m )

............... (2.3)

Keterangan :
WCV = Jarak antara anggota dalam Cluster.
k

= Jumlah data

i

= Jumlah cluster

a

= Keanggotaan data ke-k ke cluster ke-i
= Nilai centroid ke-i

x

= Data ke-k

d. Menghitung rasio
=

(2.4)

Keterangan:
r
= Rasio
WCV = Jarak antara anggota dalam Cluster.
BCV = Jarak antar cluster

Universitas Sumatera Utara

11

4. Perbaharui pusat-pusat kelompok
=

..

..

...

.... (2.5)

Keterangan :
= Centroid ke-i
= Jumlah nilai cluster ke-i
= Jumlah data setiap cluster ke-i
Jika ada data yang berpindah cluster, maka proses dilanjutkan ke iterasi
selanjutnya, jika tidak maka data sudah stabil dan proses dihentikan.

2.3 Algoritma Genetika
Konsep algoritma genetika pertama kali diperkenalkan oleh John Holland dari
Universitas Michigan pada tahun 1975. Algoritma genetika yang diperkenalkan
Holland tersebut dapat direpresentasikan dengan urutan langkah-langkah prosedural
untuk bergerak dari satu populasi (individu-individu) ke populasi lain dengan
menggunakan proses seleksi dan proses genetika alamiah yang dikenal sebagai
crossover dan mutasi. (Negnevitsky, 2005).
Algoritma Genetik khususnya diterapkan sebagai simulasi komputer dimana
sebuah populasi representasi abstrak (disebut kromosom) dari solusi-solusi calon
(disebut individual) pada sebuah masalah optimasi akan berkembang menjadi solusisolusi yang lebih baik. Secara tradisional, solusi-solusi dilambangkan dalam biner
sebagai string '0' dan '1', walaupun dimungkinkan juga penggunaan penyandian
(encoding) yang berbeda.
Algoritma Genetika sebagai cabang dari Algoritma Evolusi merupakan metode
yang digunakan untuk memecahkan suatu masalah dengan pencarian nilai dalam
sebuah masalah optimasi yaitu permasalahan-permasalahan yang bukan linier (Gen &
Cheng, 2000).
Algoritma genetika memakai mekanisme seleksi alam dan ilmu genetika sehingga
istilah-istilah pada Algoritma Genetika akan sejalan dengan istilah-istilah pada
seleksi alam dan ilmu genetika pada umumnya. Sebuah solusi yang dikembangkan
dalam algoritma genetika disebut sebagai kromosom, sedangkan kumpulan

Universitas Sumatera Utara

12

kromosom tersebut disebut sebagai populasi. Sebuah kromosom dibentuk dari
komponen-komponen penyusun yang disebut sebagai gen dan nilainya dapat
berupa bilangan numerik, biner, simbol ataupun karakter. Hal tersebut dilihat dari
permasalahan yang ingin diselesaikan. Kromosom-kromosom tersebut akan
berevolusi secara

terus menerus

yang nantinya akan disebut sebagai generasi.

Dalam tiap generasi kromosom tersebut dievaluasi tingkat keberhasilan nilai
solusinya terhadap masalah yang ingin diselesaikan menggunakan ukuran yang
disebut dengan fitness.
Secara umum tahapan proses dari algoritma genetika diperlihatkan pada Gambar
2.2 berikut ini :

Gambar 2.2 Ilustrasi tahapan proses dari algoritma genetika(Gen & Cheng, 1997)
Seperti terlihat pada Gambar 2.2 kromosom merupakan representasi dari solusi.
Operator genetika yang terdiri dari crossover dan mutasi dapat dilakukan keduaduanya atau hanya salah satu saja yang selanjutnya operator evolusi dilakukan melalui
proses seleksi kromosom dari parent (generasi induk) dan dari offspring (generasi
turunan) untuk membentuk generasi baru (new population) yang diharapkan akan

Universitas Sumatera Utara

13

lebih baik dalam memperkirakan solusi optimum, proses iterasi kemudian berlanjut
sesuai dengan jumlah generasi yang ditetapkan.

2.3.1 Struktur Umum Algoritma Genetika
Algoritma genetika memberikan pilihan untuk menentukan nilai parameter dengan
menduplikasi cara reproduksi genetika, pembentukan kromosom baru, proses migrasi
gen, serta seleksi alami seperti yang terjadi pada organisme mahluk hidup. Secara
umum Algoritma Genetika dapat diilustrasikan melalui diagram pada Gambar 2.3 :

Gambar 2.3 Diagram Alir Algoritma Genetika
Pada algoritma genetika terdapat beberapa definisi penting yang harus
dipahami sebelumnya, yaitu :
a) Gen : merupakan nilai yang menyatakan satuan dasar yang membentuk
suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom.

Universitas Sumatera Utara

14

b) Kromosom/Individu : merupakan gabungan dari gen-gen yang membentuk
nilai tertentu dan menyatakan solusi yang mungkin dari suatu permasalahan.
c) Populasi : merupakan sekumpulan individu yang akan diproses bersama
dalam satu satuan siklus evolusi.
d) Fitness menyatakan seberapa baik nilai dari suatu individu yang didapatkan.
e) Seleksi merupakan proses untuk mendapatkan calon induk yang baik.
f) Crossover merupakan proses pertukaran atau kawin silang gen-gen dari dua induk
tertentu.
g) Mutasi merupakan proses pergantian salah satu gen yang terpilih dengan nilai
tertentu.
h) Generasi merupakan urutan iterasi dimana beberapa kromosom tergabung.
i) Offspring merupakan kromosom baru yang dihasilkan.

Gambar 2.4 Individu dalam Algoritma Genetika
Sumber : (Mitchell, 1996)
2.3.2 Teknik Pengkodean
Teknik pengkodean adalah bagaimana teknik mengkodekan gen dari kromosom, gen
merupakan bagian dari kromosom. Satu gen akan mewakili satu variabel. Agar dapat

Universitas Sumatera Utara

15

diproses melalui algoritma genetik, maka alternatif solusi tersebut harus dikodekan
terlebih dahulu kedalam bentuk kromosom. Masing-masing kromosom berisi
sejumlah gen yang mengodekan informasi yang disimpan didalam individu atau
kromosom.Gen dapat direpresentasikan dalam bentuk bit,bilangan real, string, daftar
aturan, gabungan dari beberapa kode, elemen permutasi, elemen program atau
representasi lainnya yang dapat diimplementasikan untuk operator genetika.

2.3.3 Membangkitkan Populasi Awal dan Kromosom
Membangkitkan populasi awal adalah proses membangkitkan sejumlah individu atau
kromosom secara acak atau melalui prosedur tertentu. Ukuran

untuk

populasi

tergantung pada masalah yang akan diselesaikan dan jenis operator genetika yang
akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian dilakukan
pembangkitan populasi awal. Apabila ukuran populasi yang dipilih terlalu kecil, maka
tingkat eksplorasi atas ruang pencarian global akan terbatas, walaupun arah menuju
konvergensi lebih cepat. Apabila ukuran populasi terlalu besar, maka waktu
akanbanyak terbuang karena berkaitan dengan besarnya jumlah data yang dibutuhkan
dan waktu ke arah konvergensi akan lebih lama (Goldberg, 1989).
Teknik dalam pembangkitan populasi awal ini ada beberapa cara, diantaranya
adalah sebagai berikut:
1. Random Generator
Teknik random generator adalah teknik yang melibatkan pembangkitkan bilangan
random untuk nilai setiap gen sesuai dengan representasi kromosom yang
digunakan.
2. Pendekatan Tertentu
Pendekatan tertentu yaitu dengan memasukkan nilai tertentu kedalam gen dari
populasi yang dibentuk.
3. Permutasi Gen

Salah satu cara permutasi gen dalam pembangkitan populasi awal adalah
penggunaan permutasi Josephus dalam permasalahan kombinatorial.

Universitas Sumatera Utara

16

2.3.4 Evaluasi Fitness
Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran
performansinya. Tujuan dari tahap ini yaitu untuk mendapatkan nilai fitness yang
akan berguna dalam seleksi kromosom untuk generasi berikutnya.

2.3.5 Operator Genetika
Sama seperti suatu penyelesaian umum lainnya, Algoritma Genetika mempunyai
operator-operator yang secara berurutan dipakai untuk menyelesaikan suatu
permasalahan. Operator tersebut dibahas berikut ini :
1)

Selection

Selection dilakukan untuk memilih individu dari himpunan populasi dan offspring
yang dipertahankan hidup pada generasi berikutnya. Semakin baik nilai fitness
sebuah kromosom maka semakin besar peluangnya untuk terpilih. Hal ini dilakukan
agar terbentuk generasi berikutnya yang lebih baik dari generasi sekarang. Metode
selection (seleksi) yang sering digunakan adalah tournament selection, roulette
wheel,steady state dan elitism.
a) Tournament Selection
Metode ini menjalankan sebuah persaingan diantara beberapa individu yang dipilih
secara acak dari populasi dan memilih pemenangnya untuk disilangkan. Tekanan
persaingan dapat dirubah dengan mengubah ukuran persaingan. Jika lebih besar,
maka individu yang lebih lemah memiliki kesempatan yang lebih kecil untuk terpilih.
Kelebihan metode ini adalah bekekerja pada arsitektur yang berbeda-beda dan
mengizinkan tekanan persaingan untuk mudah diubah.
b) Roulette Wheel
Calon induk yang akan dipilih berdasarkan nilai fitness yang dimilikinya, semakin
baik individu tersebut yang ditunjukkan dengan semakin besar nilai fitnessnya akan
mendapatkan kemungkinan yang lebih besar untuk terpilih sebagai induk. Misalkan
saja roulette wheel merupakan tempat untuk menampung seluruh kromosom dari tiap
populasi, maka besarnya tempat dari roulette wheel tersebut menunjukkan seberapa
besar nilai fitness yang dimiliki oleh suatu kromosom, semakin besar nilai fitness

Universitas Sumatera Utara

17

tersebut, maka semakin besar pula tempat yang tersedia. Ilustrasinya dapat
digambarkan sebagai berikut :

25%
40%

Kromosom1
Kromosom2
Kromosom3
20%

Kromosom4

15%

Gambar 2.5 Ilustrasi Seleksi dengan Rolette Wheel

c) Steady State
Metode ini tidak banyak digunakan dalam proses seleksi karena dilakukan dengan
mempertahankan individu yang terbaik. Pada setiap generasi, akan dipilih beberapa
kromosom dengan nilai fitnessnya yang terbaik sebagai induk, sedangkan kromosomkromosom yang memiliki nilai fitness terburuk akan digantikan dengan offspring
yang baru. Sehingga pada generasi selanjutnya akan terdapat beberapa populasi yang
bertahan.
d) Elitism
Bila membuat populasi baru dengan persilangan dan mutasi, kita memiliki
kesempatan yang besar untuk kehilangan kromosom yang terbaik. Metode ini
menyalin beberapa kromosom terbaik ke populasi baru, sisanya dilakukan dengan
cara biasa. The Elitism dapat meningkatkan kinerja AG karena menghindari
hilangnya solusi terbaik.
2) Crossover
Salah satu komponen yang paling penting dalam algoritma genetika adalah pindah
silang atau crossover. Sebuah kromosom yang mengarah pada solusi yang baik dapat
diperoleh dari proses memindah-silangkan dua buah kromosom. Pindah silang juga
dapat berakibat buruk jika ukuran populasinya sangat kecil. Dalam suatu populasi
yangsangat kecil, suatu kromosom dengan gen-gen yang mengarah pada solusi

Universitas Sumatera Utara

18

terbaik akan sangat cepat menyebar ke kromosom-kromosom lainnya. Untuk
mengatasi masalah ini digunakan suatu aturan bahwa pindah silang hanya bisa
dilakukan dengan suatu probabilitas tertentu, artinya pindah silang bisa dilakukan
hanya jika suatu bilangan random yang dibangkitkan kurang dari probabilitas yang
ditentukan tersebut. Pada umumnya probabilitas tersebut diatur mendekati 1.
3)

Mutation

Operator mutation (mutasi) dioperasikan sebagai cara untuk mengembalikan materi
genetik yang hilang. Melalui mutasi, individu baru dapat diciptakan dengan
melakukan modifikasi terhadap satu atau lebih nilai gen pada individu yang sama.
Mutasi mencegah kehilangan total materi genetika setelah reproduksi dan pindah
silang. Mutasi ini berperan utuk menggantikan gen yang hilang dari populasi akibat
seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada
inisialisasi populasi.

2.3.6 Terminasi
Proses optimasi yang dilakukan algoritma genetika akan mengalami terminasi
(berhenti) setelah suatu syarat berhenti dipenuhi. Beberapa syarat berhenti yang biasa
digunakan adalah batas nilai fungsi fitness, batas nilai fungsi objektif, batas waktu
komputasi, banyak generasi dan terjadinya konvergensi (Bandyopadhyay et al.,
2001).
Pemilihan syarat terminasi yang paling tepat sangat bergantung pada tingkat
kerumitan masalah dan perangkat keras yang digunakan. Untuk sebuah kasus
mungkin sekali syarat terminasi yang paling cocok adalah batas nilai fungsi fitness,
tetapi belum tentu syarat berhenti bisa diterapkan untuk kasus lainnya. Syarat
berhenti yang biasanya dipakai adalah banyak generasi. Namun demikian, tidak
menutup kemungkinan untuk dipilih kombinasi beberapa syarat terminasi.
2.3.7 Parameter Algoritma Genetika
Parameter-parameter genetika berperan dalam pengendalian operator-operator
genetika yang digunakan dalam optimasi algoritma genetika menggunakan algoritma
genetika (Davis, 1991)

Universitas Sumatera Utara

19

Parameter genetika yang sering digunakan meliputi ukuran populasi (N),
probabilitas pindah silang (Pc),dan probabilitas mutasi (Pm). Pemilihan ukuran
populasi yang digunakan tergantung pada masalah yang akan diselesaikan. Untuk
masalah yang lebih kompleks biasanya diperlukan ukuran populasi yang lebih besar
guna mencegah konvergensi prematur (yang menghasilkan optimum lokal).
Pada tiap generasi, sebanyak Pc * N individu dalam populasi mengalami pindah
silang. Makin besar nilai Pc yang diberikan maka makin cepat struktur individu baru
yang diperkenalkan ke dalam populasi. Jika nilai Pc yang diberikan terlalu besar,
individu yang merupakan kandidat solusi terbaik dapat hilang lebih cepat dibanding
seleksi untuk peningkatan kerja. Sebaliknya nilai Pc yang rendah dapat
mengakibatkan stagnasi karena rendahnya angka eksplorasi.
Probabilitas mutasi adalah probabilitas dimana setiap posisi bit pada tiap string
dalam populasi baru mengalami perubahan secara acak setelah proses seleksi. Dalam
satu generasi dengan panjang L struktur, kemungkinan terjadi mutasi sebanyak
Pm*N*L.

2.4 Teks Mining
Teks mining, yang juga disebut sebagai Text Data Mining (TDM) atau Knowledge
Discovery in Text (KDT), secara umum mengacu pada proses ekstraksi informasi dari
dokumen-dokumen teks tak terstruktur (unstructured). Teks mining dapat
didefinisikan sebagai penemuan informasi baru dan tidak diketahui sebelumnya oleh
komputer, dengan secara otomatis mengekstrak informasi dari sumber- sumber teks
tak terstruktur yang berbeda. Kunci dari proses ini adalah menggabungkan informasi
yang berhasil diekstraksi dari berbagai sumber (Tan,1999).
Tujuan utama teks mining adalah mendukung proses knowledge discovery pada
koleksi dokumen yang besar. Pada prinsipnya, teks mining adalah bidang ilmu
multidisipliner, melibatkan information retrieval (IR),text analysis, information
extraction (IE), clustering, categorization, visualization, database technology,
natural language processing (NLP), machin elearning,dan data mining. Dapat pula
dikatakan bahwa teks mining merupakan salah satu bentuk aplikasi kecerdasan
buatan (artificial intelligence / AI).

Universitas Sumatera Utara

20

Teks mining mencoba memecahkan masalah information overload dengan
menggunakan teknik-teknik dari bidang ilmu yang terkait. Teks mining dapat
dipandang sebagai suatu perluasan dari data mining atau knowledge-discoveryin
database (KDD), yang mencoba untuk menemukan pola-pola menarik dari basis data
berskala besar. Namun teks mining memiliki potensi komersil yanglebih tinggi
dibandingkan dengan data mining, karena kebanyakan format alami dari
penyimpanan informasi adalah berupa teks. Teks mining menggunakan informasi
teks tak terstruktur dan mengujinya dalam upaya mengungkap struktur dan arti Yang
tersembunyi dalam teks.
Perbedaan mendasar antara teks mining dan data mining terletak

pada sumber

data yang digunakan. Pada data mining, pola diekstrak dari basis data yang
terstruktur, sedangkan di teks mining, pola

diekstrak dari data tekstual (natural

language). Secara umum, basis data didesain untuk program dengan tujuan
melakukan pemrosesan secara otomatis, sedangkan teks ditulis untuk dibaca
langsung oleh manusia. (Hearst, 2003)
2.4.1 Tahapan Teks Mining
Teks mining merupakan suatu proses yang melibatkan beberapa area teknologi.
Namun secara umum proses-proses pada teks mining mengadopsi proses data mining.
Bahkan beberapa teknik dalam proses teks mining juga menggunakan teknik-teknik
data mining. Ada empat tahap proses pokok dalam teks mining, yaitu pemrosesan
awal terhadap teks (text preprocessing), transformasi teks (text transformation),
pemilihan fitur (feature selection), dan penemuan pola (pattern discovery). (EvenZohar, 2002).
1)

Text Preprocessing

Tahap ini melakukan analisis semantik (kebenaran arti) dan sintaktik (kebenaran
susunan)

terhadap

teks.

Tujuan

dari

pemrosesan

awal

adalah

untuk

mempersiapkan teks menjadi data yang akan mengalami pengolahan lebih lanjut.
Operasi yang dapat dilakukan pada tahap ini meliputi part-of-speech (PoS)
tagging, menghasilkan parse tree untuk tiap-tiap kalimat, dan pembersihan teks.

Universitas Sumatera Utara

21

2)

Text Transformation

Transformasi teks atau pembentukan atribut mengacu pada proses untuk
mendapatkan representasi dokumen yang diharapkan. Pendekatan representasi
dokumen yang lazim digunakan adalah bag of word dan model ruang vektor
(vector space model). Transformasi teks sekaligus juga melakukan pengubahan katakata ke bentuk dasarnya dan pengurangan dimensi kata di dalam dokumen. Tindakan
ini diwujudkan dengan menerapkan stemming dan menghapus stopwords.
3)

Feature Selection

Pemilihan fitur (kata) merupakan tahap lanjut dari pengurangan dimensi pada proses
transformasi teks. Walaupun tahap sebelumnya sudah melakukan penghapusan katakata yang tidak deskriptif (stopwords), namun tidak semua kata-kata didalam
dokumen memiliki arti penting. Oleh karena itu, untuk mengurangi dimensi,
pemilihan hanya dilakukan terhadap kata-kata

yang relevan yang benar-benar

merepresentasikan isi dari suatu dokumen. Ide dasar dari pemilihan fitur adalah
menghapus kata-kata yang kemunculannya di suatu dokumen terlalu sedikit atau
terlalu banyak. Algoritma yang digunakan pada teks mining, biasanya tidak hanya
melakukan perhitungan pada dokumen saja, tetapi juga pada fitur.
Empat macam fitur yang sering digunakan:
a. Character, merupakan komponan individual, bisa huruf, angka, karakter
spesial dan spasi, merupakan blok pembangun pada level paling tinggi pembentuk
semantik fitur, seperti kata dan concept. Pada umumnya, representasi characterbased ini jarang digunakan pada beberapa teknik pemrosesan teks.
b. Words, merupakan gabungan dari beberapa huruf atau gabungan huruf dan angka
c. Terms, merupakan single word dan multiwordphrase yang terpilih secara
langsung dari corpus. Representasi term-based dari dokumen tersusun dari subset
term dalam dokumen.
d. Concept, merupakan fitur yang diciptakan dari sebuah dokumen secara manual,
rule based, atau metodologi lain. (Triawati, 2009).
4)

Pattern Discovery

Pattern discovery merupakan tahap penting untuk menemukan pola atau pengetahuan
(knowledge ) dari keseluruhan teks. Tindakan yang lazim dilakukan pada tahap ini

Universitas Sumatera Utara

22

adalah operasi teks mining, dan biasanya menggunakan teknik-teknik data mining.
Dalam penemuan pola ini, proses teks mining dikombinasikan dengan proses-proses
data mining. Masukan awal dari proses teks mining adalah suatu data teks dan
menghasilkan keluaran berupa pola sebagai hasil interpretasi atau evaluasi. Apabila
hasil keluaran dari penemuan pola belum sesuai untuk aplikasi, dilanjutkan evaluasi
dengan melakukan iterasi ke satu atau beberapa tahap sebelumnya. Sebaliknya, hasil
interpretasi merupakan tahap akhir dari proses teks mining dan akan disajikan ke
pengguna dalam bentuk visual (Even-Zohar,2002).
2.4.2 Ekstraksi Dokumen
Teks yang akan dilakukan proses teks mining, pada umumnya memiliki beberapa
karakteristik diantaranya adalah memiliki dimensi yang tinggi, terdapat noise pada
data, dan terdapat struktur teks yang tidak baik. Cara yang digunakan dalam
mempelajari suatu data teks, adalah dengan terlebih dahulu menentukan fitur-fitur
yang mewakili setiap kata untuk setiap fitur yang ada pada dokumen. Sebelum
menentukan fitur-fitur yang mewakili, diperlukan tahap preprocessing yang dilakukan
secara umum dalam teks mining pada dokumen, yaitu casefolding, tokenizing,
filtering, stemming, tagging dan analyzing.

Gambar 2.6 adalah tahap dari

preprocessing: (Triawati, 2009)

CASE FOLDING
TOKENIZING
FILTERING
STEMMING
Gambar 2.6 Tahap Preprocessing
Sumber (Triawati, 2009)
1)

Case Folding dan Tokenizing

Case folding adalah mengubah semua huruf dalam dokumen menjadi huruf kecil
hanya a sampai huruf z yang diterima. Karakter selain huruf dihilangkan dan

Universitas Sumatera Utara

23

dianggap delimiter. Tahap tokenizing/parsing adalah tahap pemotongan string
inputberdasarkan tiap kata yang menyusunnya. Gambar 2.7 adalah proses tokenizing:
(Triawati, 2009).

Gambar 2.7 Proses Tokenizing
Sumber (Triawati, 2009)
2)

Filtering

Filtering adalah tahap mengambil kata-kata penting dari hasil token.Bisa
menggunakan algoritma stoplist (membuang kata yang kurang penting) atau wordlist
(menyimpan kata penting).Stoplist / stopword adalah kata-kata yang tidak deskriptif
yang dapat dibuang dalam pendekatan bag-of-words.

Gambar 2.8 Proses Filtering
Sumber (Triawati, 2009)
3)

Stemming

Tahap stemming adalah tahap mencari root kata dari tiap kata hasil filtering. Pada
tahap ini dilakukan proses pengembalian berbagai bentukan kata ke dalam suatu

Universitas Sumatera Utara

24

representasi yang sama. Tahap ini kebanyakan dipakai untuk teks berbahasa inggris
dan lebih sulit diterapkan pada teks berbahasa Indonesia. Hal ini dikarenakan bahasa
Indonesia tidak memiliki rumus bentuk baku yang permanen (Triawati, 2009 ).
Stemming merupakan suatu proses untuk menemukan kata dasar dari sebuah kata.
Dengan menghilangkan semua imbuhan (affixes) baik yang terdiri dari awalan
(prefixes), sisipan (infixes), akhiran (suffixes) dan confixes (kombinasi dari awalan
dan akhiran) pada kata turunan. Misalnya kata berlari dan dilarikan akan diubah
menjadi sebuah kata yang sama yaitu lari .
Metode stemming memerlukan masukan berupa kata yang terdapat dalam suatu
dokumen, dengan menghasilkan keluaran berupa kata dasar. Mencari kata dasar (root
word) dari suatu kata yang berimbuhan di dalam bahasa Indonesia merupakan
pekerjaan yang kompleks. Berbeda dengan bahasa Inggris yang hanya memiliki
imbuhan berupa suffixes (akhiran), kata-kata dalam bahasa Indonesia bisa memiliki
imbuhan yang terdiri dari prefixes (awalan), suffixes (akhiran), infixes (sisipan) dan
confixes (kombinasi dari

awalan, akhiran dan sisipan). Penggunaan imbuhan di

dalam bahasa Indonesia bisa memakai lebih dari satu prefiks dan sufiks dalam satu
kata. Sebuah kata dengan awalan bisa memiliki arti yang berbeda dari kata dasarnya.
hal ini disebut kata turunan. selain itu sebuah awalan juga dapat mengubah huruf
awal suatu akar kata yang biasa disebut peluluhan, sehingga dibutuhkan pengkodean
ulang (recode) untuk menemukan kembali akar kata berdasarkan penggunaan awalan.

Gambar 2.9 Proses Stemming
Sumber (Triawati, 2009)

Universitas Sumatera Utara

25

2.5 Term Frequency-Inverse Document Frequency (TF-IDF)
TF-IDF (Term Frequency-Inverse Document Frequency) merupakan metode statistic
numeric yang mencerminkan seberapa pentingnya sebuah kata dalam sebuah
dokumen atau korpus (Rajaraman et al, 2011). Metode TF-IDF banyak digunakan
sebagai metode pembanding terhadap metode pembobotan baru. Pada metode ini,
perhitungan bobot term t dalam sebuah dokumen dilakukan dengan mengalikan nilai
Term Frequency yaitu bobot kata pada dokumen berdasarkan kemunculannya dengan
Inverse Document Frequency yaitu pengurangan dominansi kata yang sering muncul
di berbagai dokumen.
Pada Term Frequency (tf), terdapat beberapa jenis formula yang dapat digunakan
yaitu (Mandala, 1998) :
1.

tf biner (binery tf), hanya memperhatikan apakah suatu kata ada atau tidak dalam
dokumen, jika ada diberi nilai satu, jika tidak diberi nilai nol.

2.

tf murni (raw tf), nilai tf diberikan berdasarkan jumlah kemunculan suatu kata di
dokumen. Contohnya, jika muncul lima kali maka kata tersebut akan bernilai
lima.

3.

tf logaritmik, hal ini untuk menghindari dominansi dokumen yang mengandung
sedikit kata dalam query, namun mempunyai frekuensi yang tinggi.

= 1+
4.

................................................ (2.6)

tf normalisasi, menggunakan perbandingan antara frekuensi sebuah kata dengan
jumlah keseluruhan kata pada dokumen.

= 0.5 + 0.5



................................................ (2.7)

Inverse Document Frequency (idf) dihitung dengan menggunakan formula :

=

/

................................................ (2.8)

Keterangan :
D adalah jumlah semua dokumen dalam koleksi.
df j adalah jumlah dokumen yang mengandung term t
Jenis formula yang akan digunakan untuk perhitungan term frequency (tf) yaitu tf
murni (raw tf) (Robertson, 2004). Dengan demikian rumus umum untuk TF-IDF
adalah penggabungan dari formula perhitungan raw tf dengan formula idf (rumus 2.6)

Universitas Sumatera Utara

26

dengan cara mengalikan nilai term frequency (tf) dengan nilai inverse document
frequency (idf):

=

=



... ...........................................



( /

) ....................................... (2.9)

Keterangan :

wij

adalah bobot term tj terhadap dokumen di

tfij

adalah jumlah kemunculan term tj dalam dokumen di

D

adalah jumlah semua dokumen yang ada dalam database

dfj

adalah jumlah dokumen yang mengandung term tj (minimal ada

satu kata yaitu term tj)
Berdasarkan rumus 2.9, berapapun besarnya nilai tfij , apabila D = dfj maka akan
didapatkan hasil 0 (nol) untuk perhitungan idf. Untuk itu dapat ditambahkan nilai 1
pada sisi idf, sehingga perhitungan bobotnya menjadi sebagai berikut :

=

(

( /

)) ........................................ (2.10)

Berikut ini diberikan contoh perhitungan bobot dokumen terhadap query yang
diberikan pengguna, dengan menggunakan metode pembobotan TF-IDF (rumus 2.10)
di atas :
Pengguna memberikan query : gold silver truck, sehingga didapatkan query terms
(Q) :
a. gold
b. silver
c. truck
Dalam koleksi dokumen terdapat :
dokumen 1 (d1) = Shipment of gold damaged in fire
dokumen 2 (d2) = Delivery of silver arrived in a silver truck
dokumen 3 (d3) = Shipment of gold arrived in truck.
Jadi total jumlah dokumen dalam koleksi (D) = 3

Universitas Sumatera Utara

27

Untuk setiap query dan dokumen dalam koleksi, dilakukan pemotongan string
berdasarkan tiap kata yang menyusunnya, menghilangkan tanda baca, angka dan
stopword.
Setelah melalui proses ini, maka kata of, in dan a pada ketiga dokumen dihapus
lalu di-stemming sehingga didapatkan term-term (documents terms) sebagai berikut :
d. ship

h. gold

e. damage

i. fire

f. deliver

j.

g. arrive

k. truck

silver

Pada tahap ini tiap dokumen diwujudkan sebagai sebuah vektor dengan elemen
sebanyak term query yang terdapat dalam tiap dokumen yang berhasil dikenali dari
tahap ekstraksi dokumen sebelumnya. Vektor tersebut beranggotakan bobot dari setiap
term query yang dihitung berdasarkan metode TF-IDF.
Fungsi metode ini adalah untuk mencari representasi nilai dari tiap dokumen
dalam koleksi. Dari sini akan dibentuk suatu vektor antara dokumen dan query yang
ditentukan oleh nilai bobot term query dalam dokumen. Semakin besar nilai
perhitungan bobot yang diperoleh maka semakin tinggi tingkat similaritas dokumen
terhadap query. Contohnya untuk perhitungan bobot (w) term query silver dalam
dokumen 2(d2) = Delivery of silver arrived in a silver truck, yaitu: jumlah
kemunculan term silver dalam dokumen 2(d2) adalah sebanyak dua kali (tf = 2), total
dokumen yang ada di koleksi sebanyak tiga dokumen (D=3), dari ketiga dokumen
dalam koleksi, term silver muncul pada dokumen 2 (d2), sehingga total dokumen yang
mengandung term silver adalah satu dokumen (df = 1), sehingga dapat diperoleh nilai
bobot term silver pada dokumen 2 (d2).

=

(log ( /

))

= 2 (log ( 3/1))
= 2

0,447 = 0,894

Dengan demikian dapat diperoleh nilai bobot (w) untuk setiap term pada query
dalam masing-masing dokumen.

Universitas Sumatera Utara

28

Tabel 2.1 : Perhitungan Pembobotan TF-IDF Term Query

tf

df

D/df

idf

Q

d1

d2

d3

gold

1

0

1

2

1,5

silver

0

2

0

1

truck

1

1

1

2

w=tf*idf
d1

d2

d3

0,176

0,176

0

0,176

3

0,477

0

0,954

0

1,5

0,176

0

0,176

0,176

0,176

1,130

0,352

Bobot Dokumen

2.6 Cosine Simlarity
Cosine similarity merupakan metode perhitungan jarak antara vektor d1 dan d2 yang
menghasilkan sudut cosine x diantara kedua vektor tersebut. Metode ini digunakan
untuk menghitung nilai kedekatan vektor d dengan centroid atau pusat massa pada
masing-masing cluster. Persamaan perhitungan cosine similarity adalah sebagai
berikut :

,

=

=

................... (2.11)

Persamaan 2.11 nilai AB merupakan dot product yang merupakan nilai untuk
mengekspresikan sudut antara dua vektor. Dot product merupakan skalar nilai hasil
dari operasi dua vektor yang memiliki jumlah komponen yang sama. Jika vektor A
dan B memiliki komponen sebanyak n, maka dot product dapat dihitung dengan
persamaan sebagai berikut:

=

+

+

........................................... (2.12)

Persamaan 2.12 dot product dapat dihitung dengan menjumlahkan product dari
masing-masing komponen pada kedua vektor tersebut. Sebagai contoh :
Hitung cosine similarity jika diketahui vektor dokumen sebagai berikut :
d1 = 3 2 0 5 0 0 1 dan d2 = 1 0 0 0 1 0 2
Penyelesainnya adalah :
d1 d2 = 3*1 + 2*0 + 0*0 + 5*0 + 0*1 + 0*0 + 1*2 = 5
||d1|| = (3*3 + 2*2 + 0*0 + 5*5 + 0*0 + 0*0 + 1*1)0,5 = (39)0,5 = 6,245
||d2|| = (1*1 + 0*0 + 0*0 + 0*0 + 1*1 + 0*0 + 2*2) 0,5= (6)0,5 = 2,45
Maka cos (d1,d2) = 5/(6,245*2,45) = 0,3566

Universitas Sumatera Utara

29

2.7 Kontribusi Penelitian
Adapun kontribusi penelitian yang dilakukan adalah :
1. Memberikan pengetahuan bahwa algoritma genetika dapat digunakan pada proses
penentuan pusat cluster awal untuk pengelompokan dokumen.
2. Memudahkan untuk melakukan clustering dokumen secara otomatis sehingga
dokumen dapat terkelompok berdasarkan karakteristiknya masing-masing

Universitas Sumatera Utara