• Tidak ada hasil yang ditemukan

Bab yang berisi kesimpulan dari hasil uji coba terhadap sistem yang dibuat dan saran untuk pengembangan sistem pada tugas akhir ini untuk kedepannya.

9

BAB II

TINJAUAN PUSTAKA

2.

Bab ini membahas metode dan pustaka yang digunakan dalam implementasi fitur temu kembali informasi tambahan. Penjelasan ini bertujuan untuk memberikan gambaran secara umum terhadap fitur temu kembali yang dibangun dan menjadi acuan dalam proses pembangunan dan pengembangan .

2.1 Algoritma Pemrosesan Teks

Algoritma pemrosesan teks digunakan untuk melakukan ekstraksi kata pada kumpulan abstrak tugas akhir dan tesis dan seluruh judul katalog dalam basis data RBTC. Algoritma ini bisa disebut sebagai tahapan praproses data.

Tokenisasi

Tokenisasi adalah suatu proses untuk membagi suatu teks berupa kalimat atau paragraf menjadi unit-unit kecil berupa kumpulan kata atau token [2]. Sebagai contoh pada kalimat “Sistem temu kembali informasi” menghasilkan empat token, yaitu: “Sistem”, “temu”, “kembali”, “informasi”. Pada proses tokenisasi, yang menjadi acuan pemisah antar kata adalah tanda baca dan spasi.

Penghapusan Stopword

Setelah dilakukan proses tokenisasi pada artikel berita, proses yang dilakukan selanjutnya yaitu penghapusan stopword. Stopword adalah kata-kata sering muncul pada suatu dokumen yang tidak memberikan informasi penting, seperti kata penghubung dan kata ganti orang [2]. Penghapusan stopword ini bertujuan agar kata-kata yang digunakan hanya kata-kata yang memiliki arti penting dan memberikan suatu informasi.

Stemming

Stemming adalah proses untuk mengembalikan bentuk kata menjadi bentuk dasarnya [2]. Membuang awalan, sisipan atau akhiran hingga menjadi kata dasar yang sesuai dengan bahasa Indonesia yang baik dan benar.

2.2 Algoritma Vector Space Model

Vector Space Model (VSM) adalah metode untuk melihat tingkat kedekatan atau kesamaan (similarity) istilah (term) dengan cara pembobotan [3]. Dokumen dipandang sebagai sebuah vektor yang memiliki jarak (magnitude) dan arah (direction). Pada Vector Space Model, sebuah term direpresentasikan dengan sebuah dimensi dari ruang vektor. Relevansi sebuah dokumen ke sebuah query didasarkan pada similaritas di antara vektor dokumen dan vektor query. Bobot term yang akhirnya digunakan untuk menghitung tingkat kesamaan antara setiap dokumen yang tersimpan dalam sistem dan permintaan pengguna. Dokumen yang terambil diurutkan berdasarkan kemiripan yang dimiliki. Model vektor memperhitungkan pertimbangan dokumen yang relevan dengan permintaan pengguna. Sebuah dokumen dj dan sebuah query direpresentasikan sebagai vektor t-dimensi seperti pada Gambar 2.1.

11

Gambar 2.2 Matriks term document

Koleksi dokumen direpresentasikan sebagai sebuah matriks term document. Setiap sel dalam matriks menyimpan bobot yang diberikan dari term dalam dokumen yang ditentukan. Nilai 0 berarti bahwa term tersebut tidak ada dalam dokumen.

Gambar 2.2 menunjukkan matriks term document dengan n dokumen dan t term. Di mana D1 hingga Dn adalah dokumen ke-1 hingga n, T1 hingga Tt adalah term ke-1 hingga t sehingga Wtn adalah bobot dari term ke-t pada dokumen ke-n. Proses penghitungan VSM melalui tahapan penghitungan Term Frequency Inverse Document Frequency (tfidf) menggunakan Persamaan 2.1.

𝑊𝑖𝑗 = 𝑡𝑓 ∙ 𝑖𝑑𝑓 = 𝑡𝑓𝑖𝑗∙ log𝑑𝑓𝑁

𝑖 (2.1)

Dengan tf adalah Term Frequency atau bisa diartikan sebagai frekuensi kemunculan term dalam suatu dokumen, idf adalah Inverse Document Frequency, N adalah jumlah dokumen yang terambil oleh sistem, tfij adalah banyaknya kemunculan term ti pada dokumen dj, dan dfi adalah banyaknya dokumen dalam koleksi dimana term ti muncul di dalamnya. Penghitungan ini

digunakan untuk mengetahui banyaknya term yang dicari yang muncul dalam dokumen lain dalam basis data. Wij adalah bobot dokumen dihitung dari dot product antara term frequency (tf) dan Inverse Document Frequency (idf). Penghitungan pengukuran similaritas query dan dokumen menggunakan Persamaan 2.2.

𝑠𝑖𝑚(𝑞, 𝑑

𝑗

) =

𝑞∙𝑑𝑗

|𝑞|∗|𝑑𝑗|

=

𝑡𝑖=1 𝑊𝑖𝑞 ∙ 𝑊𝑖𝑗 √∑𝑡𝑖=1(𝑊𝑞𝑗)2∗√∑𝑡𝑖=1(𝑊𝑖𝑗)2

(2.2)

Dengan |q| adalah jarak query, dan Wqj adalah bobot query dokumen ke-j, maka jarak query (|q|) dihitung untuk mendapatkan jarak query dari bobot query dokumen (Wiq) yang terambil oleh sistem. Jarak query bisa dihitung dengan persamaan akar jumlah kuadrat dari bobot query dokumen ke-j. |dj| adalah jarak dokumen, dan Wij adalah bobot dokumen ke-j, maka jarak dokumen (|dj|) dihitung untuk mendapatkan jarak dokumen dari bobot dokumen (Wij) yang terambil oleh sistem. Jarak dokumen bisa dihitung dengan persamaan akar jumlah kuadrat dari bobot dokumen ke-j. 2.3 Algoritma Reduksi Dimensi

Sebelum melakukan clustering dokumen, dilakukan reduksi dimensi terhadap data abstrak tugas akhir maupun tesis. Hal ini dikarenakan jumlah fitur pada data masukan abstrak yang berupa kata dasar memiliki dimensi yang sangat tinggi sehingga penghitungan jarak antar kata dengan pusat kelompok menjadi rancu, dan clustering dokumen menjadi tidak jelas. Algoritma untuk mereduksi dimensi dari data masukan pada Tugas Akhir ini adalah Principal Component Analysis (PCA).

PCA adalah sebuah teknik statistika yang berguna pada bidang pengenalan, klasifikasi dan kompresi data dokumen. PCA juga merupakan teknik yang umum digunakan untuk menarik fitur-fitur dari data pada sebuah skala berdimensi tinggi. Dengan cara mentransformasikan dokumen ke dalam eigenfaces secara linier, proyeksikan matriks kata ke dalam bentuk skala berdimensi n,

13

yang menampakkan properti dari sampel yang paling jelas sepanjang koordinat. PCA memproyeksikan kata ke dalam subspace, dan menghitung variasi dari kata tersebut.

Dengan kata lain, PCA adalah transformasi linear untuk menentukan sistem koordinat yang baru dari dataset. Teknik PCA dapat mengurangi dimensi dari dataset tanpa tidak menghilangkan informasi penting dari dataset [4]. Alur algoritma PCA adalah sebagai berikut:

1. Normalisasi data, di mana tiap data akan dikurangi dari rata-rata seluruh data dan dibagi dengan standar deviasi (σ).

2. Membentuk matriks kovarian data menggunakan Persamaan 2.3.

𝑐𝑜𝑣(𝑋, 𝑌) = 𝑛𝑖−1(𝑥𝑖−𝑥̅)(𝑦𝑖 −𝑦̅)

𝑛−1 (2.3)

Nilai dari tiap elemen matriks kovarian berada dalam rentang nilai antara -1 hingga 1.

3. Mencari nilai eigenvalue (λ) dari matriks kovarian menggunakan Persamaan 2.4.

|𝐶 − 𝜆𝐼| = 0 (2.4)

C adalah matriks kovarian dan I adalah matriks identitas. λ adalah nilai eigenvalue dari C jika nilai determinan dari Persamaan 2.4 bernilai nol.

4. Membentuk matriks eigenvector menggunakan eigenvalue yang telah dihasilkan seperti pada Persamaan 2.5.

𝐶𝑣 = 𝜆𝑣 (2.5)

C adalah matriks kovarian, λ adalah nilai eigenvalue dan v adalah matriks eigenvector yang memenuhi Persamaan 2.5.

5. Mencari nilai principal component baru berdasarkan eigenvalue dan eigenvector dari langkah-langkah sebelumnya menggunakan Persamaan 2.6.

𝑧𝑖= 𝑒𝑣𝑖∗ 𝑋 (2.6)

zi adalah principal component ke i, X adalah dataset awal dan evi adalah eigenvector ke i.

Algoritma PCA pada tugas akhir ini akan diimplementasikan menggunakan pustaka Scikit-learn pada modul

sklearn.decomposition.

2.4 Algoritma Clustering Tugas Akhir dan Tesis

Clustering kata pada dokumen adalah proses penting untuk mengatur koleksi dokumen dan temu kembali dokumen. K-Means merupakan salah satu algoritma pengelompokan (clustering). Tujuan algoritma ini yaitu untuk membagi data menjadi beberapa kelompok. Algoritma ini menerima masukan berupa data tanpa label kelas. Alur algoritma K-Means adalah sebagai berikut:

1. Pilih K buah titik centroid secara acak.

2. Kelompokkan data sehingga terbentuk K buah cluster dengan titik dari setiap cluster merupakan titik centroid yang telah dipilih sebelumnya.

3. Perbarui nilai titik centroid. Dilakukan dengan menggunakan Persamaan 2.7.

𝑈𝑘 = 𝑁1

𝑘𝑁𝑘 𝑋𝑞

𝑞=1 (2.7)

Dengan Uk adalah titik centroid dari cluster ke-k, Nk adalah banyak data pada cluster ke-k, dan Xq adalah data ke-q pada cluster ke-k.

4. Ulangi langkah 2 dan 3 sampai nilai dari titik centroid tidak lagi berubah.

15

𝐷(𝑋𝑖, 𝑋𝑗) = √∑𝑝 (𝑋𝑖𝑘− 𝑋𝑗𝑘)2

𝑘=1 (2.8)

Variabel p adalah dimensi data, Xi dan Xj adalah dua buah data yang akan dihitung jaraknya, D(Xi,Xj) adalah jarak hasil penghitungan. Pustaka K-Means clustering yang digunakan pada bahasa pemrograman Python adalah Scikit-learn. Pustaka tersebut memiliki modul untuk melakukan K-Means clustering, yaitu modul sklearn.cluster.KMeans. Scikit-learn adalah sebuah pustaka bahasa pemrograman Python yang dapat digunakan untuk penghitungan scientific [5], contohnya adalah penghitungan integral, diferensial numerik, interpolasi dan lain sebagainya.

Fungsi pada modul sklearn.cluster.KMeans yang digunakan untuk melakukan K-Means clustering adalah

KMeans(n_clusters=true_k).fit(matrix) [5]. Penjelasan beberapa

parameter fungsi KMeans() adalah sebagai berikut:

1. matrix adalah variabel yang menampung hasil pembangkitan matriks pembobotan TF-IDF pada sejumlah dokumen input yang disimpan dalam sebuah array. 2. n_clusters adalah parameter yang menyimpan nilai dari

jumlah cluster yang dibentuk dengan metode K-Means. 3. true_k adalah nilai opsional yang menentukan jumlah

cluster yang dibentuk.

2.5 Algoritma Silhouette Coefficient

Metode evaluasi yang akan digunakan pada sistem ini adalah metode Silhouette Coefficient. Metode ini berfungsi untuk menguji kualitas dari cluster yang dihasilkan. Metode ini merupakan metode validasi cluster yang menggabungkan metode cohesion dan Separation [6]. Untuk menghitung nilai Silhouette Coefficient diperlukan jarak antar dokumen dengan menggunakan rumus Euclidean Distance. Setelah itu tahapan untuk menghitung nilai Silhouette Coefficient adalah sebagai berikut:

1. Untuk setiap objek i, hitung rata-rata jarak dari objek i dengan seluruh objek yang berada dalam satu cluster. Akan didapatkan nilai rata-rata yang disebut ai.

2. Untuk setiap objek i, hitung rata-rata jarak dari objek i dengan objek yang berada di cluster lainnya. Dari semua jarak rata-rata tersebut ambil nilai yang paling kecil. Nilai ini disebut bi.

3. Setelah itu maka untuk objek i memiliki nilai Silhouette Coefficient:

𝑠𝑖 = (𝑏𝑖 − 𝑎𝑖) max (𝑎⁄ 𝑖, 𝑏𝑖) (2.9) Hasil perhitungan nilai Silhouette Coefficient pada Persamaan 2.9 dapat bervariasi antara -1 hingga 1. Hasil clustering dikatakan baik jika nilai Silhouette Coefficient bernilai positif (ai < bi) dan ai mendekati 0, sehingga akan menghasilkan nilai Silhouette Coefficient yang maksimum yaitu 1 saat ai = 0. Maka dapat dikatakan, jika si = 1 berarti objek i sudah berada dalam cluster yang tepat. Jika nilai si = 0 maka objek i berada di antara dua cluster sehingga objek tersebut tidak jelas harus dimasukkan ke dalam cluster A atau cluster B. Akan tetapi, jika si = -1 artinya struktur cluster yang dihasilkan overlapping, sehingga objek i lebih tepat dimasukan ke dalam cluster yang lain.

Nilai rata-rata Silhouette Coefficient dari tiap objek dalam suatu cluster adalah suatu ukuran yang menunjukan seberapa ketat data dikelompokan dalam cluster tersebut. Tabel 2.1 adalah nilai silhoutte berdasarkan Kaufman dan Rousseeuw.

Tabel 2.1 Nilai Silhouette Coefficient Nilai Silhouette Coefficient Keterangan

0.7 < SC <= 1 Struktur Kuat 0.5 < SC <= 0.7 Struktur Normal 0.25 < SC <= 0.5 Struktur Lemah

17

2.6 Senayan Library Management System

Ruang Baca Teknik Informatika menggunakan SLiMS versi 3 sebagai dasar perancangan web manajemen perpustakaan. Fitur temu kembali dalam Senayan Library Management System (SLiMS) ini terdiri dari Simple Search (temu kembali sederhana), dan Advanced Search (temu kembali tingkat lanjut). Pada Simple Search, temu kembali dapat dilakukan dengan mengetikkan kata kunci (judul, pengarang, tahun atau subjek) pada kolom yang tersedia. Sedangkan pada Advanced Search terdapat empat kolom temu kembali yaitu: khusus Title, khusus Author, ISBN/ISSN dan khusus Subjek. Untuk memperoleh ketepatan temu kembali disediakan pula pilihan General Material Designation (GMD).

Hasil pencarian pada SLiMS dibatasi dengan hanya tampilan 10 hasil pencarian per halamannya, di mana urutan hasil berdasarkan data yang terakhir kali dimasukkan ke dalam basis data. Tabel “biblio” menjadi tabel utama dalam seluruh proses pencarian yang menyimpan seluruh data dokumen, dan dapat dimodifikasi melalui back-end SLiMS pada modul bibliografi. Tugas akhir ini juga akan memodifikasi beberapa alur proses temu kembali informasi RBTC yakni bagian pemisahan proses query pada modul pencarian, proses memasukkan data katalog baru ke dalam basis data, dan antarmuka yang beradaptasi dengan fitur temu kembali informasi tambahan.

2.7 Pustaka Visualisasi Cluster

Visualisasi hasil cluster akan menggunakan Data Driven Documents. Data-Driven Documents atau D3.js adalah pustaka bahasa JavaSript untuk memanipulasi dokumen berdasarkan data pada tampilan situs web. D3.js memungkinkan untuk mengikat suatu data pada Document Object Model (DOM) dan menerapkan transformasi data pada dokumen. Contohnya adalah menghasilkan sebuah tabel pada suatu tampilan HTML dari kumpulan angka atau menggunakan data yang sama untuk membuat grafik batang interaktif dengan berbagai macam transisi pada interaksi yang

dilakukan pengguna [7]. Tugas akhir ini menggunakan salah satu contoh penerapan D3.js yaitu Code Flower. Code Flower menampilkan data kelompok-kelompok berupa lingkaran yang saling berkumpul dalam suatu cluster.

Data yang ditampilkan berasal dari berkas JSON yang berisi tiga parameter yaitu name, children dan size seperti pada Gambar 2.4. Parameter name berisi nama dari kelompok atau nama anggota kelompok. Jika parameter name tersebut memiliki child, maka name berisi nama kelompok, jika tidak maka name berisi nama anggota kelompok. Children adalah parameter untuk menentukan suatu name merupakan nama kelompok atau nama anggota dari kelompok. Sedangkan size adalah ukuran dari lingkaran yang ingin dibuat. Data yang ditampilkan menggunakan D3.js pada tugas akhir ini adalah data hasil clustering kata, sehingga dapat dilihat kelompok-kelompok kata yang terbentuk. Pembangkitan berkas JSON dilakukan menggunakan data hasil dari clustering kata dengan bahasa pemrograman Python.

{ "name": "flare", "children": [ { "name": "analytics", "children": [ { "name": "cluster", "children": [

{"name": "AgglomerativeCluster", "size": 3938}, {"name": "CommunityStructure", "size": 3812}, {"name": "HierarchicalCluster", "size": 6714}, {"name": "MergeEdge", "size": 743}

] }

} }

19

Gambar 2.5 dan Gambar 2.6 adalah contoh tampilan visualisasi data menggunakan pustaka D3 Code Flower.

Gambar 2.4 Contoh Code Flower 1

21

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.

Bab ini membahas analisis dan perancangan sistem manajemen Ruang Baca Teknik Informatika baru yang disesuaikan dengan penambahan fitur temu kembali informasi yang dibangun. Analisis sistem membahas permasalahan yang diangkat pada tugas akhir dan gambaran secara umum fitur temu kembali informasi yang dibangun. Sedangkan perancangan sistem menjelaskan perancangan dua proses utama penambahan fitur temu kembali informasi pada web Ruang Baca teknik Informatika ITS, yaitu praproses data dan pembentukan cluster dokumen yang menjadi acuan untuk menentukan tren topik tugas akhir dan tesis. Selain perancangan dua proses utama, juga terdapat perancangan basis data serta perancangan antar muka.

3.1 Analisis Sistem

Analisis sistem terbagi menjadi dua bagian, yaitu analisis permasalahan yang diangkat pada tugas akhir dan gambaran umum sistem yang dibangun.

Analisis Permasalahan

Permasalahan yang diangkat pada tugas akhir ini adalah fitur pencarian pada web manajemen Ruang Baca Teknik Informatika ITS (RBTC) yang masih kurang lengkap dan kurang dapat memenuhi kebutuhan pencarian pengguna di mana kriteria dalam pencarian secara spesifik masih hanya dapat dilakukan berdasarkan jenis dokumen saja. Selain itu, untuk membantu rekomendasi topik tugas akhir dan tesis, ditambahkan fitur clustering topik dokumen untuk menentukan tren topik yang dipilih oleh mahasiswa Teknik Informatika ITS.

Deskripsi Umum Sistem

Fitur temu kembali yang diimplementasikan pada tugas akhir ini terbagi menjadi tiga proses utama, yaitu praproses data, fitur pencarian dan pembentukan cluster. Gambar 3.1 adalah bentuk dari deskripsi umum sistem.

23

Praproses data berfungsi untuk melakukan ekstraksi kata dari kumpulan data abstrak tugas akhir dan tesis RBTC, fitur pencarian berfungsi untuk memudahkan pengguna dalam mencari katalog RBTC, sedangkan pembentukan cluster kata berfungsi untuk mengetahui tren topik tugas akhir dan tesis yang ada di jurusan Teknik Informatika ITS.

3.2 Perancangan Sistem

Perancangan sistem menjelaskan perancangan tiga proses utama sistem, yaitu praproses data, fitur pencarian dan pembentukan cluster tugas akhir dan tesis.

Praproses Data

Praproses data adalah proses awal yang dilakukan untuk melakukan ekstraksi kata-kata dari kumpulan dokumen tugas akhir dan tesis dari basis data RBTC. Tiga tahapan praproses data yang dilakukan adalah sebagai berikut:

1. Tokenisasi

Proses tokenisasi dilakukan pada seluruh judul katalog dokumen, dan setiap data abstrak dokumen tugas akhir dan tesis dari basis data RBTC. Tokenisasi adalah suatu proses untuk membagi suatu teks berupa kalimat atau paragraf menjadi unit-unit yang lebih kecil berupa kata-kata atau token. Sebelum melakukan tokenisasi, kalimat atau paragraf yang ada pada data abstrak tugas akhir dan tesis disimpan pada suatu array. Tokenisasi dilakukan dengan menggunakan pustaka pada bahasa pemrograman Python, yaitu Natural Language Toolkit (nltk). Fungsi spesifik yang digunakan dari pustaka nltk yakni word_tokenize(). Fungsi word_tokenize() digunakan untuk memisahkan kata pada suatu kalimat berdasarkan tanda baca dan spasi.

2. Stemming

Stemming adalah proses mengembalikan bentuk dari suatu kata ke bentuk dasar kata tersebut. Proses stemming pada abstrak tugas akhir dan tesis dilakukan sebelum proses penghapusan stopword dikarenakan adanya penambahan stopword yang berkaitan dengan jurusan teknik informatika. Stemming dilakukan terlebih dahulu untuk mendapatkan kata baku dari stopword tersebut. Stemming dilakukan dengan menggunakan pustaka bahasa pemrograman Python yaitu Sastrawi, stemmer untuk kata dalam Bahasa Indonesia.

3. Penghapusan Stopword

Proses selanjutnya adalah melakukan penghapusan stopword yang terdapat pada kumpulan kata-kata hasil tokenisasi. Terdapat suatu berkas kumpulan stopword yang sering muncul pada suatu artikel atau dokumen. Berkas kumpulan stopword tersebut didapatkan dari penelitian yang dilakukan oleh F. Z. Tala tentang efek stemming untuk temu kembali informasi pada bahasa Indonesia [8]. Kemudian, yang dilakukan pada isi dari berkas kumpulan stopword tersebut adalah membandingkannya dengan variabel array yang menyimpan hasil tokenisasi. Jika kata yang tersimpan pada variabel array terdapat pada berkas kumpulan stopword, kata tersebut dihapus dari variabel array. Tujuan dari proses ini adalah agar kata yang digunakan dalam pembentukan cluster kata dan fitur pencarian merupakan kata yang penting sehingga mampu mewakili sebuah dokumen dengan baik.

Fitur Pencarian

Fitur pencarian pada SLiMS memiliki dua jenis, yaitu pencarian sederhana dan pencarian spesifik. Kedua pencarian tersebut menggunakan dua algoritma yang berbeda. Pencarian

25

sederhana akan diimplementasikan menggunakan algoritma Vector Space Model, di mana query pencarian dan dokumen akan direpresentasikan dalam bentuk vektor, kemudian tingkat kesamaan vektor query dan vektor dokumen akan dihitung menggunakan jarak sudut cosinus antara kedua vektor [3].

Penghitungan bobot dan cosinus dari dokumen disimpan dalam basis data. Tabel “biblio_joined” menyimpan kumpulan hasil praproses data yang meliputi tokenisasi, stemming, dan penghapusan stopword, kemudian digabungkan ke dalam satu string. Tabel “kata” menyimpan seluruh kata yang muncul pada katalog RBTC dan hasil penghitungan frekuensi kemunculan kata tersebut dalam keseluruhan dokumen. Tabel “tfidf” menyimpan identifier dokumen, kelompok kata dasar yang mewakili dokumen, hasil penghitungan frekuensi masing-masing kata pada dokumen, dan penghitungan TF-IDF sebagai bobot dokumen. Penmbentukan vektor query juga dilakukan dengan menggunakan metode Vector Space Model yang telah dijelaskan pada Bab II.

Nilai cosine similarity dihitung nilai cosinus antara bobot query dan bobot dokumen, dan disimpan ke dalam array jika nilainya lebih besar dari nol karena dianggap masih memiliki keterkaitan. Hasil penghitungan cosine similarity diurutkan dimulai dari yg bernilai paling tinggi hingga paling rendah (descending) dan ditampilkan ke antarmuka RBTC (OPAC). Secara garis besar alur proses pencarian sederhana dapat dilihat di Gambar 3.2.

Pencarian spesifik akan diimplementasikan menggunakan query SQL “LIKE” untuk membandingkan query masukan dengan bagian dokumen yang sama pada beberapa kriteria, yakni Judul, Pengarang, ISBN/ISSN, topik/subjek, tahun, dan jenis dokumen (GMD).

Gambar 3.2 Proses pencarian metode Vector Space Model

Clustering Tugas Akhir dan Tesis

Pembentukan cluster tugas akhir dan tesis dilakukan setelah melakukan penghitungan bobot per dokumen. Pembobotan dokumen akan dilakukan dengan menggunakan algoritma Term Frequency – Inverse Document Frequency (TF-IDF).

27

3.2.3.1. Pembentukan Matriks Frekuensi Kata

Setelah melakukan tokenisasi pada tiap abstrak tugas akhir dan tesis, dilakukan penghitungan frekuensi kemunculan kata pada tiap abstrak tugas akhir dan tesis. Hasil penghitungan tersebut akan disimpan dalam bentuk matriks frekuensi kata. Matriks frekuensi kata terdiri dari kata (baris) dan dokumen (kolom). Matriks yang dihasilkan menyerupai matriks sparse karena hampir sebagian besar nilai dari matriks berupa nol. Matriks frekuensi kata dibuat dan kemudian disimpan ke dalam basis data, penyimpanannya juga akan disisipkan identifier dokumen tugas akhir dan tesis sebagai tanda bahwa kumpulan kata dalam matriks mewakili suatu dokumen tugas akhir maupun tesis tertentu. Tabel 3.1 adalah contoh hasil matriks frekuensi kata.

Tabel 3.1 Contoh Matriks Frekuensi Kata

id_dokumen id_kata kata TF

171 100 Perangkat 0,014705 171 101 Vektor 0,035714 171 157 Fitur 0,020408 228 203 Ekstraksi 0,015873 228 157 Input 0,045454 228 300 pusat 0,020408

Nilai TF pada masing-masing kata dihitung dari kemunculan kata dalam abstrak dibagi dengan jumlah seluruh kata baku dari hasil praproses abstrak.

3.2.3.2. Pembentukan Vektor Dokumen

Setelah pembuatan matriks frekuensi kata, maka akan dibuat matriks vektor dokumen di mana isinya adalah kumpulan hasil penghitungan TF-IDF dari masing-masing kata yang tersimpan di dalam matriks kata. Tabel 3.2 adalah contoh matriks vektor dokumen.

Tabel 3.2 Contoh Matriks Vektor Dokumen Id

dokumen

Id_kata kata TF TF-IDF

171 100 Perangkat 0,0147059 0,024417 171 101 Vektor 0,0357143 0,115213 171 157 Fitur 0,0204082 0,104222 228 203 Ekstraksi 0,015873 0,050869 228 157 Input 0,0454545 0,097797 228 300 pusat 0,0204082 0,0704191 Penghitungan TF-IDF yakni nilai TF pada matriks frekuensi kata dikalikan dengan nilai invers dari frekuensi kemunculan kata pada kumpulan abstrak tugas akhir dan tesis. Proses pembentukan vektor dokumen pada bahasa pemrograman Python dilakukan dengan mengubah array yang menyimpan tiap bobot vektor dokumen menjadi matriks sparse dokumen dan kata. 3.2.3.3. Reduksi Dimensi

Fitur-fitur yang dihasilkan praproses abstrak tugas akhir dan tesis memiliki dimensi yang berjumlah sangat banyak. Jika fitur-fitur tersebut langsung dikelompokkan, maka hasil Clustering menjadi kacau. Algoritma PCA dipakai untuk mengurangi dimensi fitur menjadi hanya dua dimensi, sehingga dapat divisualisasikan.

Dokumen terkait