IMPLEMENTASI TEXT MINING PADA KLASIFIKASI ABSTRAK …digilib.unila.ac.id/60705/3/SKRIPSI TANPA BAB...
Transcript of IMPLEMENTASI TEXT MINING PADA KLASIFIKASI ABSTRAK …digilib.unila.ac.id/60705/3/SKRIPSI TANPA BAB...
i
IMPLEMENTASI TEXT MINING PADA KLASIFIKASI ABSTRAK JURNAL
MENGGUNAKAN ALGORITMA SUPPORT VECTOR MACHINE
(Studi Kasus Jurnal Komputasi Ilmu Komputer Universitas Lampung)
(Skripsi)
Oleh
ELIZA FITRI
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS LAMPUNG
BANDAR LAMPUNG
2019
ii
ABSTRACT
IMPLEMENTATION OF TEXT MINING IN CLASSIFICATION ABSTRACT
JOURNAL USING THE SUPPORT VECTOR MACHINE ALGORITHM
(Case Study Journal of Computational Computer Science, University of
Lampung)
BY
ELIZA FITRI
Computer Science Departement, University of Lampung publishes journal that
written by researchers. These online journals have not been structured and classified
into more specific scientific categories, which makes it difficult to search for
information contained in journals. 144 journal abstracts are collected into one corpus
document in CSV format used as dataset. Text mining is used to transform data into
a structured journal. Classification journal abstract performed using one of the
supervised machine learning methods called Support Vector Machine so that the
classification process is faster than the manual method. The words in the abstract are
processed as features using the TF-IDF weighting methods. The classification model
will be validated by applying the 10-fold cross validation technique. The
classification will be calculated from the size of the resulting performance confusion
matrix based calculation. The dataset classification results show an imbalance in the
number of class members with one another. The highest accuracy of testing results in
this classification process is obtained on the use of 205 features and SVM Linear
kernel with a value of 58,3%.
Keywords: Text Mining, Supervised Machine Learning, Support Vector Machine,
TF-IDF, 10-Fold Cross Validation.
iii
ABSTRAK
IMPLEMENTASI TEXT MINING PADA KLASIFIKASI ABSTRAK JURNAL
MENGGUNAKAN ALGORITMA SUPPORT VECTOR MACHINE
(Studi Kasus Jurnal Komputasi Ilmu Komputer Universitas lampung)
Oleh
ELIZA FITRI
Jurusan Ilmu Komputer, Universitas Lampung menerbitkan Jurnal Komputasi yang
ditulis oleh peneliti. Jurnal online ini belum terstruktur dan terklasifikasi ke dalam
kategori keilmuan yang lebih khusus sehingga menyebabkan sulitnya pencarian
informasi yang terdapat di dalam jurnal. 144 abstrak jurnal dikumpulkan menjadi
satu dokumen korpus dalam format CSV yang digunakan sebagai dataset penelitian.
Text mining digunakan untuk mengubah data jurnal menjadi terstruktur. Klasifikasi
abstrak jurnal dilakukan menggunakan salah satu metode supervised machine
learning yaitu Support Vector Machine agar proses klasifikasi lebih cepat
dibandingkan dengan cara manual. Kata-kata pada abstrak diproses sebagai fitur
menggunakan metode pembobotan TF-IDF. Model klasifikasi akan divalidasi dengan
menerapkan teknik 10-fold cross validation. Dari klasifikasi tersebut akan dihitung
ukuran performansi yang dihasilkan berdasarkan perhitungan confusion matrix. Hasil
klasifikasi dataset menunjukkan ketidakseimbangan jumlah anggota kelas satu
dengan yang lain. Hasil akurasi testing tertinggi pada proses klasifikasi ini diperoleh
pada penggunaan 205 fitur dan kernel Linear SVM dengan nilai sebesar 58.3%.
Kata Kunci: Text Mining, Supervised Machine Learning, Support Vector Machine,
TF-IDF, 10-Fold Cross Validation.
iv
IMPLEMENTASI TEXT MINING PADA KLASIFIKASI ABSTRAK JURNAL
MENGGUNAKAN ALGORITMA SUPPORT VECTOR MACHINE
(Studi Kasus : Jurnal Komputasi Ilmu Komputer Universitas Lampung)
Oleh
ELIZA FITRI
Skripsi
Sebagai Salah Satu Syarat Untuk Mencapai Gelar
SARJANA KOMPUTER
Pada
Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS LAMPUNG
BANDAR LAMPUNG
2019
viii
RIWAYAT HIDUP
Penulis dilahirkan pada tanggal 5 Juli 1997 di Desa
Terbanggi Agung, Kecamatan Terbanggi, Kabupaten
Lampung Tengah sebagai anak kedua dari tiga bersaudara
dengan Ayah bernama Jhon Hendri dan Ibu Mastuti.
Penulis menyelesaikan pendidikan formal pertama kali di TK
Islam Terpadu Bustanul ‘Ulum Lampung Tengah pada tahun 2003. Pada tahun 2009,
penulis lulus dari SD Islam Terpadu Bustanul ‘Ulum Lampung Tengah. Pada tahun
2012, penulis lulus dari SMP Islam Terpadu Bustanul ‘Ulum Lampung Tengah dan
lulus dari SMA Negeri 1 Terbanggi Besar pada tahun 2015.
Pada tahun 2015, penulis terdaftar sebagai mahasiswi di Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung melalui jalur
SNMPTN. Selama menjadi mahasiswi, beberapa kegiatan yang dilakukan penulis
antara lain:
1. Penulis menerima beasiswa Bidikmisi Tahun Anggaran 2015-2018.
2. Anggota Bidang Keilmuan Himpunan Mahasiswa Jurusan Ilmu Komputer
(Himakom) 2016-2017.
ix
3. Penulis mengikuti Karya Wisata Ilmiah (KWI) di Pekon Batu Tegi, Kecamatan
Air Naningan, Kabupaten Tanggamus tahun 2016.
4. Sekretaris koordinator Divisi Konsumsi pada Pekan Raya Jurusan V (PRJ V)
Himakom pada tahun 2017.
5. Sekretaris Komunitas Creative Skill for Professional Organization (CSPRO) pada
tahun 2017 yang merupakan bagian dari Himakom.
6. Penulis menjadi panitia Divisi Medis pada Karya Wisata Ilmiah (KWI) di Pekon
Margosari, Kecamatan Pagelaran Utara, Kabupaten Pringsewu tahun 2017.
7. Penulis melakukan Kerja Praktik di Maintenance Cannery Departement, PT Great
Giant Foods Lampung Tengah pada Januari sampai dengan Maret 2018.
8. Penulis melaksanakan Kuliah Kerja Nyata Kebangsaan (KKN Kebangsaan) di
Desa Betengsari, Kecamatan Jabung, Kabupaten Lampung Timur, Provinsi
Lampung bersama dengan mahasiswa lain dari daerah barat dan timur Indonesia.
x
PERSEMBAHAN
Alhamdulillahirabbil’alamiin, puji syukur kepada Allah Subhanahu wa ta’ala atas
nikmat dan karunia-Nya sehingga skripsi ini dapat diselesaikan.
Skripsi yang disusun ini adalah suatu kebanggaan yang saya persembahkan kepada:
Kedua Orangtuaku yang Tercinta
Ayah dan Ibuk (Almh) yang senantiasa memberikan segala perhatian, kasih sayang,
cinta, dukungan moril maupun materiil serta do’a terbaik bagi kesuksesan anak-
anaknya yang tidak bisa diukur dan dibalas dengan apapun.
Ajo, abang, dan keluarga besar yang senantiasa memberikan dukungan, kasih sayang,
semangat, dan arahan atas segala keputusan yang saya ambil selama ini.
Keluarga Classic A Ilmu Komputer 2015
Serta Almamater Tercinta,
UNIVERSITAS LAMPUNG
xi
MOTTO
Man Jadda Wajadda
“Sesungguhnya Allah tidak akan mengubah keadaan suatu kaum sebelum
mereka mengubah keadaan diri mereka sendiri.”
(QS. Ar-Ra’d [13]:11)
“Maka sesungguhnya bersama kesulitan ada kemudahan, sesungguhnya
bersama kesulitan ada kemudahan.”
(QS. Al-Insyirah [94]:5-6)
“Maka ingatlah kepada-Ku, Aku pun akan ingat kepadamu.”
(QS. Al-Baqarah [2]:152)
xii
SANWACANA
Alhamdulillahirabbil’alamiin, puji syukur kehadirat Allah Subhanahu wa ta’ala yang
telah melimpahkan nikmat dan hidayah-Nya sehinga penulis dapat menyelesaikan
skripsi di Jurusan Ilmu Komputer Fakultas MIPA Universitas Lampung dengan judul
“Implementasi Text Mining pada Klasifikasi Abstrak Jurnal Ilmu Komputer
Menggunakan Algoritma Support Vector Machine”.
Shalawat serta salam semoga senantiasa tercurahkan kepada baginda Rasulullah,
Nabi Muhammad Shallallahu ‘alaihi wa sallam serta keluarga dan para sahabatnya
yang selalu kita nantikan syafa’atnya di yaumul qiyamah kelak, Aamiin.
Penulis mengucapkan terimakasih yang paling tulus dan sebesar-besarnya kepada
semua pihak yang telah membantu dalam pelaksanaan penelitian dan penyusunan
laporan skripsi ini, antara lain:
1. Kedua orangtua yang sangat penulis sayangi, Ayah dan Ibu (Almh) yang
senantiasa mengajarkan kebaikan, memberikan perhatian, kasih sayang, do’a
terbaik, dan segalanya hingga detik ini. Serta Ajo dan Abang yang sangat Uni
sayangi.
xiii
2. Bapak Favorisen R. Lumbanraja, Ph.D. selaku pembimbing utama penulis dalam
penelitian ini yang senantiasa memberikan arahan, bantuan ketika mengalami
kesulitan selama penelitian, dan semangat dalam menyelesaikan penelitian ini.
3. Bapak Ardiansyah, S.Kom., M.Kom selaku pembimbing kedua penulis dalam
penelitian ini yang senantiasa memberikan arahan, masukan, dan saran terbaik
selama penyusunan laporan skripsi ini.
4. Bapak Dr. Rer. Nat. Akmal Junaidi selaku pembahas yang telah memberikan
bantuan, masukan, dan saran yang bermanfaat untuk perbaikan penelitian dan
penulisan laporan skripsi ini.
5. Bapak Drs. Suratman, M.Sc. selaku Dekan Fakultas Matematika dan Ilmu
Pengetahuan Alam Universitas Lampung.
6. Bapak Dr. Ir. Kurnia Muludi, M.S.Sc. selaku Ketua Jurusan Ilmu Komputer
Fakultas MIPA Universitas Lampung.
7. Bapak Didik Kurniawan, S.Si., M.T. selaku Sekretaris Jurusan Ilmu Komputer
Fakultas MIPA Universitas Lampung.
8. Bapak Febi Eka Febriansyah, M.T. selaku Pembimbing Akademik yang telah
memberikan arahan kepada penulis selama menempuh pendidikan di Jurusan
Ilmu Komputer.
9. Seluruh Dosen Jurusan Ilmu Komputer yang telah memberikan ilmu terbaik
selama penulis menempuh pendidikan di Jurusan Ilmu Komputer.
10. Seluruh Karyawan dan Staf Jurusan Ilmu Komputer yang telah memberikan
bantuan dalam berbagai hal selama penulis menempuh pendidikan.
xiv
11. Micin a.k.a Adji Pangestu, my big brother tempat berbagi pengalaman hidup
sekaligus guru yang sabar dan sangat berbaik hati membagikan ilmunya untuk
kelancaran penelitian ini.
12. K-Team (Acil, Teteh, Aci, Titik, Afan, Angger, Infa, dan Aak) selaku sahabat
karib yang sangat penulis sayangi dan senantiasa berada disisi penulis dalam
suka dan duka, memberikan pengertian, motivasi, bantuan dan bersedia menjadi
pendengar yang baik ketika penulis ingin berkeluh kesah selama ini.
13. Rumpii (Micin, Acil, Minak, Emak, Pakde) selaku sahabat karib yang sangat
penulis sayangi dan senantiasa berada disisi penulis dalam suka dan duka,
memberikan bantuan, motivasi, dan bersedia menjadi pendengar yang baik ketika
penulis ingin berkeluh kesah selama ini.
14. Serta keluarga besar Classic A Ilmu Komputer 2015 yang telah memberikan
kebersamaan, semangat, dan do’a sebagai teman sekelas.
Penulis menyadari bahwa penyusunan skripsi ini masih jauh dari kata sempurna
karena sejatinya kesempurnaan hanya milik Allah SWT. Namun penulis sangat
mengharapkan skripsi ini dapat bermanfaat bagi para civitas akademik Universitas
Lampung pada umumnya dan mahasiswa Ilmu Komputer pada khususnya.
Bandar Lampung, 27 November 2019
Eliza Fitri
NPM. 1517051045
xv
DAFTAR ISI
............................................................................................... Halaman
DAFTAR GAMBAR ............................................................................................... xvii
DAFTAR TABEL ................................................................................................... xviii
DAFTAR KODE ........................................................................................................ xx
I. PENDAHULUAN
A. Latar Belakang ................................................................................................. 1
B. Rumusan Masalah ............................................................................................ 5
C. Tujuan Penelitian ............................................................................................. 5
D. Manfaat Penelitian ........................................................................................... 5
E. Ruang Lingkup Penelitian ................................................................................ 5
II. TINJAUAN PUSTAKA
A. Text Mining ...................................................................................................... 7
B. Case Folding .................................................................................................... 8
C. Stopword .......................................................................................................... 8
D. Tokenizing ........................................................................................................ 9
E. Stemming .......................................................................................................... 9
F. Matriks Dennings ............................................................................................. 9
G. Support Vector Machine ................................................................................ 14
H. K-Fold Cross Validation ................................................................................ 16
I. Term Frequency-Inverse Document Frequency ............................................. 18
J. Ukuran Performansi Klasifikasi ...................................................................... 19
xvi
III. METODOLOGI PENELITIAN
A. Tempat dan Waktu ......................................................................................... 22
B. Data dan Alat.................................................................................................. 23
C. Metode Implementasi ..................................................................................... 26
D. Metode Pengujian........................................................................................... 35
IV. HASIL DAN PEMBAHASAN
A. Analisis Kebutuhan Data................................................................................ 38
B. Implementasi .................................................................................................. 39
1. Text Mining ................................................................................................ 39
2. Pemodelan dan Validasi Prediksi Model ................................................... 44
3. Menghitung Akurasi Testing ...................................................................... 46
C. Hasil Analisis Klasifikasi Abstrak ................................................................. 52
V. KESIMPULAN DAN SARAN
A. Kesimpulan .................................................................................................... 55
B. Saran ............................................................................................................... 55
DAFTAR PUSTAKA ................................................................................................ 57
LAMPIRAN ………………………………………………………………………. 60
xvii
DAFTAR GAMBAR
Gambar Halaman
1. Proses text mining (Dang dan Ahmad, 2014)............................................................ 7
2. Ilustrasi hyperplane pada SVM (Lutfi dkk., 2018). ................................................ 15
3. Ilustrasi cara kerja k-fold cross validation (Sasongko, 2016). ................................ 17
4. Alur penelitian implementasi text mining untuk klasifikasi jurnal. ........................ 27
5. Ilustrasi pembagian data training dan testing pada 10-fold CV. ............................. 45
6. Grafik nilai rata-rata ukuran performansi hasil klasifikasi. .................................... 48
7. Grafik perbandingan persentase akurasi testing hasil klasifikasi. ........................... 49
8. Confusion matrix hasil model klasifikasi menggunakan kernel linear. .................. 51
9. Confusion matrix hasil model klasifikasi menggunakan kernel polynomial. ......... 51
10. Grafik pengaruh jumlah fitur terhadap akurasi testing. ........................................ 54
xviii
DAFTAR TABEL
Tabel Halaman
1. Subbidang Ilmu Komputer Berdasarkan Matriks Dennings (Denning, 1997) .......... 8
2. Model Confusion Matrix (Nicolas, 2015) ............................................................... 19
3. Hasil Voting Klasifikasi Kelas Keilmuan Jurnal Komputasi .................................. 23
4. Ilustrasi Tahapan Case Folding .............................................................................. 28
5. Ilustrasi Tahapan Filtering ...................................................................................... 29
6. Ilustrasi Tahapan Tokenisasi ................................................................................... 30
7. Ilustrasi Tahapan Stemming .................................................................................... 31
8. Contoh Abstrak dari Tiga Dokumen Jurnal Komputasi .......................................... 32
9. Hasil Perhitungan TF-IDF....................................................................................... 33
10. Matriks Ilustrasi Hasil Klasifikasi ......................................................................... 35
11. Contoh Korpus Jurnal Komputasi ......................................................................... 39
12. Hasil Fungsi Lowercase ........................................................................................ 39
13. Hasil Fungsi Remove Number ............................................................................... 40
14. Hasil Fungsi Remove Whitespace ......................................................................... 41
15. Hasil Fungsi Remove Punctuation ........................................................................ 41
16. Hasil Fungsi Remove Stopwords ........................................................................... 42
17. Hasil Akurasi Pada Kernel Linear......................................................................... 47
xix
18. Hasil Akurasi Pada Kernel Polynomial ................................................................ 47
19. Hasil Akurasi Pada Kernel RBF ........................................................................... 47
20. Hasil Percobaan Pengurangan Jumlah Fitur ......................................................... 53
xx
DAFTAR KODE
Kode ............................................................................................................... Halaman
1. Pseudocode Stopword Removal .............................................................................. 30
2. Pseudocode TF-IDF ................................................................................................ 33
3. Pseudocode Validasi Model 10-Fold CV ............................................................... 34
4. Source Code Stopword Removal ............................................................................. 42
5. Source Code TF-IDF ............................................................................................... 44
6. Source Code Pemodelan Klasifikasi Menggunakan SVM dan 10-Fold CV .......... 46
1
I. PENDAHULUAN
A. Latar Belakang
APJII (Asosiasi Penyelenggara Jasa Internet Indonesia) pada tahun 2017
mencatat bahwa pertumbuhan pengguna internet di Indonesia mengalami
kenaikan yang signifikan dengan total pengguna internet mencapai 143,26 juta
jiwa (APJII, 2018). APJII juga mencatat pada tahun 2017, layanan yang diakses
oleh masyarakat Indonesia untuk kategori search engine menempati posisi
tertinggi ketiga dengan persentase sebesar 74,84%. Fakta tersebut menunjukkan
bahwa masyarakat Indonesia mengandalkan peran search engine untuk mencari
informasi atau solusi yang dibutuhkan. Salah satu kegiatan yang dilakukan
dengan memanfaatkan search engine yaitu mencari sumber pustaka untuk
penulisan tugas mata kuliah hingga karya tulis ilmiah. Sumber pustaka yang
terpercaya dan dapat dipertanggungjawabkan berasal dari buku, artikel ilmiah,
hingga jurnal ilmiah.
Jurnal ilmiah merupakan majalah publikasi yang memuat artikel ilmiah yang
secara nyata mengandung data dan informasi hasil penelitian terkini dan ditulis
sesuai dengan kaidah-kaidah penulisan karya ilmiah serta diterbitkan secara
periodik (Khumaeni, 2017). PDII-LIPI (Pusat Dokumentasi dan Informasi Ilmiah
2
Lembaga Ilmu Pengetahuan Indonesia) mencatat dalam ISJD (Indonesian
Scientific Journal Database), jumlah jurnal mengalami kenaikan dari 23.876
jurnal pada tahun 2017 menjadi 34.964 jurnal pada tahun 2018 (PDII-LIPI,
2019). Kenaikan yang signifikan tersebut menunjukkan bahwa minat baca dan
kebutuhan sumber pustaka yang berasal dari jurnal tinggi. Menurut
Kemendikbud online (2018), jurnal merupakan majalah yang khusus memuat
artikel dalam satu bidang ilmu tertentu. Salah satu bidang ilmu yang dimaksud
yaitu bidang komputasi yang khusus ditujukan bagi peneliti di bidang Ilmu
Komputer.
Universitas Lampung khususnya Jurusan Ilmu Komputer memiliki jurnal online
yang menerbitkan berbagai artikel ilmiah yang ditulis oleh peneliti baik
mahasiswa maupun dosen. Artikel ilmiah ini dinamakan Jurnal Komputasi online
yang diterbitkan setiap 6 bulan sekali. Jurnal Komputasi online belum terstruktur
dan terklasifikasi ke dalam kategori keilmuan yang lebih khusus. Hal ini
menyebabkan pencarian informasi yang terdapat di dalam jurnal sulit dilakukan
dan membutuhkan waktu pencarian informasi yang lama. Informasi keseluruhan
artikel di dalam jurnal umumnya dapat dibaca secara ringkas pada bagian
abstrak. Abstrak jurnal mengandung hal-hal penting dari artikel ilmiah.
Penggalian informasi pada Jurnal Komputasi dapat dilakukan dengan
memanfaatkan bagian abstrak jurnal menggunakan teknik text mining. Klasifikasi
Jurnal Komputasi ke dalam kategori ilmu yang lebih khusus juga dapat dilakukan
dengan teknik supervised machine learning seperti algoritma SVM (Support
3
VectorMachine). Banyak peneliti yang telah melakukan penelitian mengenai
klasifikasi teks maupun objek lain menggunakan algoritma Support Vector
Machine.
Khalid dkk (2015) melakukan penelitian dalam kategorisasi teks berbasis
algoritma SVM dengan metode feture ranking IG (Information Gain) dan feature
selection ABC (Artificial Bee Colony). Berdasarkan 100 dan 200 fitur yang diuji
menggunakan kedua metode tersebut, diperoleh peningkatan precision sebesar
15% dan recall sebesar 13% dibandingkan metode pembanding PSO (Particle
Swarm Optimization) SVM. Dua tahap seleksi fitur dengan IG dan ABC
menghasilkan fitur-fitur dengan bobot yang lebih baik sehingga didapatkan hasil
kategorisasi yang lebih baik.
Percobaan selanjutnya dilakukan oleh Pratama (2013) untuk
mengimplemetasikan kernel Linear SVM untuk klasifikasi dokumen teks
berbahasa Indonesia mengenai tanaman holtikultura. Seleksi fitur yang
digunakan dalam penelitiannya yaitu Chi-kuadrat agar dihasilkan fitur yang lebih
sedikit untuk meringankan proses komputasi. Terdapat dua faktor yang
digunakan sebagai parameter penilaian hasil klasifikasi, yaitu panjang dokumen
dan nilai epsilon. Dari kedua faktor tersebut, diperoleh hasil akurasi tertinggi
pada implementasi SVM menggunakan kernel Linear dengan persentase sebesar
76% pada nilai epsilon 0.01.
4
Sedikit berbeda dengan kedua riset sebelumnya, Somantri dan Apriliani (2018)
melakukan penelitian pada klasifikasi sentiment tingkat kepuasan pelanggan
terhadap restoran dan warung makan di Kota Tegal dengan menerapkan
algoritma SVM berbasis feature selection IG dan Chi Squared Statistic. Model
SVM dengan feature selection IG menghasilkan tingkat akurasi terbaik sebesar
72,45% dan rata-rata kenaikan tingkat akurasi sebesar 2,514% sedangkan model
SVM dengan Chi Squared Statistic yang menghasilkan akurasi terbaik sebesar
70.09%.
Dari beberapa penelitian tersebut disimpulkan bahwa algoritma SVM yang
ditambahkan dengan metode seleksi fitur IG (information gain) dapat
menghasilkan fitur yang lebih baik untuk proses klasifikasi. Oleh karena itu,
dalam penelitian ini akan dilakukan klasifikasi abstrak Jurnal Komputasi
Universitas Lampung berdasarkan subbidang Ilmu Komputer. Metode text
mining digunakan untuk mengolah abstrak Jurnal Komputasi menjadi lebih
terstruktur dan mengambil informasi pada abstrak. Kemudian informasi di dalam
abstrak diekstrak sebagai fitur dengan teknik pembobotan TF-IDF (Term
Frequency-Inverse Document Frequency). Model klasifikasi yang diajukan
menggunakan pendekatan algoritma Support Vector Machine yang memiliki
konsistensi kuat. Model klasifikasi kemudian akan divalidasi dengan menerapkan
teknik 10-Fold Cross Validation.
5
B. Rumusan Masalah
Rumusan masalah yang akan diselesaikan dalam penelitian ini yaitu bagaimana
ukuran performansi yang dihasilkan pada implementasi text mining untuk
klasifikasi abstrak Jurnal Komputasi menggunakan algoritma Support Vector
Machine.
C. Tujuan Penelitian
Tujuan dari penelitian ini yaitu untuk menganalisis dan mengukur performansi
hasil implementasi text mining pada proses klasifikasi abstrak Jurnal Komputasi
menggunakan algoritma Support Vector Machine.
D. Manfaat Penelitian
Manfaat yang diperoleh dari penelitian ini yaitu mempermudah proses klasifikasi
abstrak Jurnal Komputasi melalui implementasi text mining dan algoritma
Support Vector Machine.
E. Ruang Lingkup Penelitian
Ruang lingkup dalam penelitian ini adalah sebagai berikut.
1. Dataset yang digunakan pada penelitian ini yaitu 144 abstrak Jurnal
Komputasi tahun 2013 sampai dengan tahun 2018 berbahasa Inggris yang
disimpan ke dalam satu file dengan format CSV.
2. Klasifikasi abstrak Jurnal Komputasi didasarkan pada matriks Dennings
yang berisi 12 kategori keilmuan yaitu Algoritma dan Struktur Data, Bahasa
Pemrograman, Arsitektur, Sistem Operasi dan Jaringan, Software
6
Engineering, Sistem Temu Kembali Informasi, AI (Artificial Intelligence)
dan Robotik, Grafik, HCI (Human Computer Interaction), Komputasi,
Organizational Informatics, dan Bioinformatik.
3. Implementasi text mining menggunakan tools NLTK (Natural Language
Toolkit) yang tersedia pada Python.
4. Feature extraction abstrak Jurnal Komputasi menggunakan teknik
pembobotan TF-IDF.
5. Proses klasifikasi abstrak Jurnal Komputasi menggunakan pendekatan SVM
(Support Vector Machine) dengan 3 fungsi kernel yaitu Linear, Polynomial,
dan RBF (Radiant Basis Function) menggunakan tools Scikit-Learn yang
tersedia pada Python.
6. Validasi data dalam prediksi model penelitian ini menggunakan 10-Fold
Cross Validation.
7
II. TINJAUAN PUSTAKA
A. Text Mining
Menurut Dang dan Ahmad (2014) text mining adalah bidang multidisiplin yang
mencakup pengambilan informasi (information retrieval), analisis teks, ekstraksi
informasi, kategorisasi, pengelompokan (clustering), visualisasi, penambangan
data (data mining), dan pembelajaran mesin (machine learning). Konsep dasar
text mining adalah menemukan informasi baru dari data tekstual yang
sebelumnya tidak dikenal atau informasi rahasia dengan menggunakan teknik
ekstraksi yang berbeda. Proses text mining diilustrasikan pada Gambar 1.
Gambar 1. Proses text mining (Dang dan Ahmad, 2014).
8
Menurut Dang dan Ahmad (2014) terdapat 5 langkah dasar pada text mining,
yaitu:
1. Mengumpulkan informasi dari data yang tidak terstruktur.
2. Mengkonversi informasi yang diterima menjadi data terstruktur.
3. Mengidentifikasi pola dari data yang sudah terstruktur.
4. Melakukan analisis dari pola yang sudah teridentifikasi.
5. Mengekstrak informasi berharga dan disimpan ke dalam database.
B. Case Folding
Case folding adalah mengubah semua huruf di dalam dokumen menjadi huruf
kecil dan menghilangkan karakter selain huruf (Wisnu dan Hetami, 2015). Tidak
semua dokumen teks konsisten dalam penggunaan huruf kapital. Oleh karena itu,
case folding dibutuhkan dalam mengkonversi keseluruhan teks dalam dokumen
menjadi suatu bentuk standar (Informatikalogi, 2017).
C. Stopword
Menurut Setiawan dkk (2013) pengertian stopword adalah sekumpulan kata yang
tidak berhubungan (irrelevant) dengan subjek utama yang dimaksud meskipun
kata-kata tersebut sering muncul di dalam data yang digunakan. Tujuan stopword
removal ini adalah menghasilkan sebuah array kata kunci yang hanya
mengandung kata-kata yang bermakna atau sudah terbebas dari stopword.
9
D. Tokenizing
Tokenizing adalah suatu tahap pemrosesan teks input yang dibagi menjadi unit-
unit kecil yang disebut token atau term (Herawan, 2011). Tokenizing memotong
tiap kata dalam kalimat dengan menggunakan spasi sebagai delimiter yang akan
menghasilkan token (Wisnu dan Hetami, 2015).
E. Stemming
Stemming adalah proses pengubahan kata menjadi bentuk kata dasar (Lutfi dkk.,
2018). Pada proses stemming, kata-kata dikelompokkan ke dalam beberapa
kelompok kata yang memiliki kata dasar yang sama. Misalnya drug, drugs, dan
drugged dikelompokkan kedalam kata dasar drug.
F. Matriks Dennings
Matriks Dennings merupakan salah satu matriks penggolongan Ilmu Komputer
yang diciptakan oleh Peter J. Dennings (Wahono, 2003). Klasifikasi ini telah
mengalami beberapa perbaikan dan versi terakhir dirilis tahun 1999. Dalam versi
terakhir ini, Ilmu Komputer terbagi menjadi 12 subbidang dimana sebelumnya
terbagi menjadi 9 subbidang. Adapun 12 subbidang klasifikasi diuraikan pada
Tabel 1 dimana baris tabel menggambarkan bidang-bidang dalam Ilmu
Komputer. Sedangkan kolom tabel menggambarkan paradigma bidang tersebut
yang direfleksikan dalam tiga hal yaitu teori, abstraksi, dan desain (Denning,
1997)
8
Tabel 1. Subbidang Ilmu Komputer Berdasarkan Matriks Dennings (Denning, 1997)
Teori Abstraksi Desain
Algoritma dan
Struktur Data
Teori Komputabilitas Algoritma Paralel dan Terdistribusi
Program Aplikasi
Teori Komputasi Kompleks
Komputasi Paralel
Algoritma Efisien dan Optimal Teori Graf
Kriptografi
Algoritma dan Teori Probabilistik
Bahasa
Pemrograman
Bahasa Formal dan Automata BNF Bahasa Pemrograman
Turing Machines Metode Parsing, Compiling,
Interpretation Formal Semantics Translator, Kompiler, Interpreter
Arsitektur
Aljabar Boolean Arsitektur Nueman Produk Hardware (PC, Superkomputer, Mesin Von
Neumann) Teori Coding Hardware Reliability
Teori Switching Finite State Machine
Sistem CAD dan Simulasi Logika Teori Finite State Machine
Model Sirkuit, Data Path, Struktur
Kontrol
10
9
Tabel 1. Subbidang Ilmu Komputer Berdasarkan Matriks Dennings (lanjutan)
Teori Abstraksi Desain
Sistem Operasi
dan Jaringan
Teori Concurrency Manajemen Memori, Job Scheduling Produk OS (UNIX, Windows, Mach, dsb)
Teori Scheduling Model Komputer Terdistribusi File dan File Sistem
Teori Manajemen Memori Networking (Protokol, Naming, dsb) Pustaka untuk Utilities (Editor, Formatter, Linker,
dsb)
Software
Engineering
Teori Reliability Metode Spesifikasi Bahasa Spesifikasi
Program Verification and Proof Metode Otomatisasi Pengembangan
Program Metodologi Pengembangan Software
Temporal Logic Tool Pengembangan Software Tool untuk Pengembangan Software
Database dan
Sistem Temu
Kembali
Informasi
Relational Aljabar dan Kalkulus Data Model
Teknik Pendesainan Database (Relational,
Hierarchical, Network, dsb) Teori Dependency
Teori Concurrency Skema Database
Teknik Pendesainan Database Sistem (Ingres, Dbase,
Oracle, dsb) Performance Analysis
Sorting dan Searching Representasi File untuk Retrieval Hypertext System
Statistical Inference
11
10
Tabel 1. Subbidang Ilmu Komputer Berdasarkan Matriks Dennings (lanjutan)
Teori Abstraksi Desain
Artificial
Intelligence dan
Robotik
Teori Logika Knowledge Representation Logic Programming (Prolog)
Semantik dan Sintatik Model untuk
Natural Language Metode Pencarian Heuristic Neural Network
Conceptual Dependency Model Reasoning and Learning Sistem Pakar
Kinematics and Dynamics of Robot
Motion
Model Memori Manusia, Autonomous
Learning
Teknik Pendesaian Software untuk Logic
Programming
Grafik
Teori Grafik dan Warna Algoritma Komputer Grafik Pustaka untuk Grafik
Geometri Dimensi Dua atau Lebih Model untuk Virtual Reality Grafik Standar
Teori Chaos Metode Komputer Grafik Image Enhacement System
Human Computer
Interaction
Risk Analysis Pattern Recognition Flight Simulation
Cognitive Psychology Sistem CAD Usability Engineering
Ilmu Komputasi
Number Theory Discrete Approximations, Fast Fourier
Transform and Poisson Solvers Pustaka dan Paket untuk Tool Penelitian (Chem,
Macsyma, Mathematica, Maple, Reduce, dsb) Binary Representation Backward Error Propagation
Teori Quantum Finite Element Models
12
11
Tabel 1. Subbidang Ilmu Komputer Berdasarkan Matriks Dennings (lanjutan)
Teori Abstraksi Desain
Organizational
Informatics
Organizational Science
Model dan Simlasi berhubungan dengan
organizational informatics
Management Information Systems
Decision Sciences Decision Support Systems
Organizational Dynamics
Bioinformatik
Teori Komputasi Model Komputasi DNA Kimia Organic Memory Devices
Ilmu Biologi Protipe Retina dari Silikon Proyek Database Genom Manusia
Medicine Model Database Genom Manusia Analisa Komputer Terhadap Struktur Enzim untuk
Kesehatan
13
14
G. Support Vector Machine
SVM pertama kali dikembangkan oleh Boser, Guyon dan Vapnik pada tahun
1992. Support Vector Machine (SVM) merupakan teknik untuk melakukan
prediksi, baik dalam kasus klasifikasi maupun regresi. SVM memiliki prinsip
dasar linier classifier yaitu kasus klasifikasi yang secara linier dapat dipisahkan,
namun SVM telah dikembangkan agar dapat bekerja pada masalah non-linier
dengan memasukkan konsep kernel pada ruang kerja berdimensi tinggi.
Algoritma pelatihan margin maksimum menemukan fungsi keputusan untuk
vektor pola x dimensi n milik salah satu dari dua kelas A dan B. Fungsi
keputusan harus linear dalam parameternya tetapi tidak terbatas pada
ketergantungan linear x. Fungsi-fungsi ini dapat diekspresikan baik secara
langsung atau dalam ruang ganda. Fungsi kernel digunakan untuk memetakan
dimensi awal (dimensi yang lebih rendah) himpunan data ke dimensi baru
(dimensi yang relatif lebih tinggi) (Boser dkk., 1992). Fungsi kernel yang biasa
digunakan dalam SVM yaitu kernel Linear, kernel Polynomial, kernel Radiant
Basis Function (RBF), dan kernel Sigmoid (Santosa, 2007). Rumus fungsi kernel
yang umum digunakan diuraikan pada Persamaan 1-4 berikut (Boser dkk., 1992).
a. Kernel Linear
𝐾(𝑥, 𝑦) = 𝑥. 𝑦 …………………………………………………………… (1)
b. Polynomial
𝐾(𝑥, 𝑦 = (𝑥. 𝑦+𝑐)𝑑 ……………………………………………………... (2)
15
c. Radiant Basis Function (RBF)
𝐾(�⃗�, �⃗�) = exp (− ‖�⃗�−�⃗⃗�‖2
2𝜎2 ) …………………………………………….… (3)
d. Sigmoid
𝐾(�⃗�, �⃗�) = tanh(𝑘 < �⃗� . �⃗� > +𝜗) ……………………………………… (4)
Menurut Santosa (2007), hyperplane terbaik pada kernel Linear didapatkan
dengan cara mencari hyperplane yang terletak ditengah-tengah antara dua bidang
pembatas kelas. Ilustrasi hyperplane pada SVM dapat dilihat pada Gambar 2.
Gambar 2. Ilustrasi hyperplane pada SVM (Lutfi dkk., 2018).
Gambar 2 (a) memiliki fungsi pemisah yang memisahkan Class 1 dan Class 2
namun tidak optimal. Sedangkan Gambar 2 (b) memiliki fungsi pemisahan yang
memisahkan Class 1 dan Class 2 secara efektif (Lutfi dkk., 2018).
(a) (b)
16
H. K-Fold Cross Validation
K-fold cross validation adalah teknik untuk mengestimasi performansi dari
model pelatihan yang telah dibangun. Metode ini membagi data training dan data
testing sebanyak K bagian data. Metode ini berfungsi untuk mencegah
overlapping pada data testing (Sasongko, 2016). K-fold cross validation
membagi data ke dalam K bagian data yang sama (Xi, i=1..K). Pada setiap fold,
salah satu K digunakan sebagai set data testing dan mengkombinasikan sisa K-1
sebagai set data training selama K kali percobaan. Dari setiap fold, dihasilkan
pasangan data testing dan data training sebagai berikut (Alpaydin, 2004).
V1 = X1 T1 = X2 ᴗ X3 ᴗ…ᴗ XK
………….…………….………... (5)
V2 = X2 T2 = X1 ᴗ X3 ᴗ…ᴗ XK
.
.
.
VK = XK TK = X1 ᴗ X3 ᴗ…ᴗ XK-1
Semakin nilai K meningkat, jumlah set training juga akan meningkat dan
estimator yang dihasilkan lebih kuat, tetapi set testing akan menjadi lebih kecil
(Alpaydin, 2004). Ilustrasi singkat dari k-fold cross validation yang ditunjukkan
pada Gambar 3.
17
Gambar 3. Ilustrasi cara kerja k-fold cross validation (Sasongko, 2016).
Berdasarkan ilustrasi pada Gambar 3 dapat diketahui bahwa percobaan
menggunakan 4-fold cross validation. Hal ini ditandai dengan kotak berwarna
abu-abu pada gambar yang merupakan test set dan kotak berwarna putih
merupakan training set. Sebagai contoh terdapat 40 instance pada ilustrasi
Gambar 3 yang merupakan total number of examples. Pada percobaan 1
(experiment 1), kotak berwarna abu-abu merupakan test set yang berisi 10
instance dengan id instance dari 1-10. Sedangkan kotak berwarna putih
merupakan training set yang berisi 30 instance dengan id instance dari 11-40.
Pada percobaan 1 didapatkan hasil nilai rata-rata eror. Kemudian dilanjutkan ke
percobaan 2. Kotak berwarna abu-abu pada percobaan 2 merupakan test set yang
berisi 10 instance dengan id instance dari 11-20 sedangkan kotak berwarna putih
merupakan training set yang berisi 30 instance dengan id instance dari 1-10 dan
21-40. Pada percobaan 2 didapatkan hasil nilai rata-rata eror. Cara yang sama
dilakukan pada percobaan 3 dan 4. Setelah itu dihitung rata-rata keseluruhan
18
estimasi eror dari setiap percobaan yang telah dilakukan hingga percobaan
terakhir.
I. Term Frequency-Inverse Document Frequency
Term Frequency-Inverse Document Frequency (TF-IDF) adalah jenis
pembobotan yang sering digunakan dalam information retrieval dan text mining.
Pembobotan ini adalah suatu pengukuran statistik untuk mengukur seberapa
penting sebuah kata dalam kumpulan dokumen. Tingkat kepentingan meningkat
ketika sebuah kata muncul beberapa kali dalam sebuah dokumen tetapi
diimbangi dengan frekuensi kemunculan kata tersebut dalam kumpulan dokumen
(Wisnu dan Hetami, 2015).
TF-IDF digunakan pada transformasi data untuk proses pembentukan vektor
kalimat dengan mengubah bentuk teks menjadi sebuah matriks numerik.
Perhitungan matriks menggunakan TF-IDF dirumuskan pada Persamaan 6
berikut.
𝑇𝐹 𝑥 𝐼𝐷𝐹 = 𝑇𝐹 𝑥 log (𝑛
𝑑𝑓) …………………………………………...……... (6)
Dimana : TF = frekuensi kata
df = frekuensi dokumen
n = jumlah dokumen
Term frequency yaitu frekuensi kemunculan suatu term di tiap dokumen.
Sedangkan inverse document frequency yaitu nilai bobot suatu term dihitung dari
seringnya suatu term muncul di beberapa dokumen (Wisnu dan Hetami, 2015).
19
J. Ukuran Performansi Klasifikasi
Terdapat beberapa ukuran performansi untuk teknik klasifikasi yaitu accuracy,
precision, recall, f-measure, dan MCC (Matthews Correlation Coefficient).
Perhitungan ukuran performansi didasarkan pada confusion matrix, yaitu metode
yang umum digunakan untuk melakukan perhitungan akurasi pada konsep data
mining. Confusion matrix merepresentasikan hasil prediksi dan kondisi
sebenarnya dari data yang dihasilkan oleh algoritma machine learning (Nicolas,
2015). Model confusion matrix direpresentasikan pada Tabel 2.
Tabel 2. Model Confusion Matrix (Nicolas, 2015)
Actual:
Pos
Actual:
Neg
Predicted: Pos True Positives False Positives
Predicted: Neg False Negatives True Negatives
Keterangan :
True Positives (TP) = jumlah prediksi positif yang benar
False Positives (FP) = jumlah prediksi positif yang salah
False Negatives (FN) = jumlah prediksi negatif yang salah
True Negatives (TN) = jumlah prediksi negatif yang benar
1. Accuracy yaitu persentase pengamatan yang diklasifikasikan secara benar
(Nicolas, 2015). Menurut Arthana (2019) accuracy yaitu rasio prediksi benar
(positif dan negatif) dengan keseluruhan data. Semakin tinggi hasil
20
akurasinya maka semakin efektif model algoritma klasifikasi yang diuji
tersebut (Yusa dkk., 2016). Akurasi dirumuskan pada Persamaan 7 berikut.
𝐴𝑐𝑐𝑢𝑟𝑎𝑛𝑐𝑦 =𝑇𝑃+𝑇𝑁
𝑇𝑃+𝐹𝑃+𝐹𝑁+𝑇𝑁 ………………………………..…..…..... (7)
2. Precision yaitu persentase pengamatan yang diklasifikasikan secara benar
sebagai data positif dalam grup yang telah dinyatakan positif oleh
pengklasifikasi (Nicolas, 2015). Menurut Arthana (2019) precision yaitu
rasio prediksi benar positif dibandingkan dengan keseluruhan hasil yang
diprediksi positif. Precision dirumuskan pada Persamaan 8 berikut.
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =𝑇𝑃
(𝑇𝑃+𝐹𝑃) ..…….….…………………….….…….…….... (8)
3. Recall yaitu persentase pengamatan berlabel positif dan diklasifikasikan
secara benar (Nicolas, 2015). Menurut Arthana (2019) recall yaitu rasio
prediksi benar positif dibandingkan dengan keseluruhan data yang benar
positif. Recall dan precision berkorelasi negatif karena jika terjadi kenaikan
pada salah satu variabel maka akan diikuti penurunan pada variabel lain.
Misalnya jika nilai precision tinggi, maka nilai recall rendah, begitu juga
sebaliknya. Recall dirumuskan pada Persamaan 9 berikut.
𝑅𝑒𝑐𝑎𝑙𝑙 =𝑇𝑃
𝑇𝑃+𝐹𝑁 ..………………………………...…………...…..…... (9)
4. F-Measure (F1-score) menunjukkan keseimbangan antara precision dan
recall. F-Measure adalah rata-rata harmonik dari precision dan recall
dengan kisaran nilai 0 (skor terburuk) dan 1 (skor terbaik) (Nicolas, 2015).
F-Measure dirumuskan pada Persamaan 10.
21
F1 = 2 𝑥 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑥 𝑅𝑒𝑐𝑎𝑙𝑙
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑐𝑎𝑙𝑙 …………..……………..……………..….. (10)
5. MCC (Matthews Correlation Coefficient) pada dasarnya adalah koefisien
korelasi antara klasifikasi biner yang diamati dan yang diprediksi dengan
rentang nilai antara -1 dan +1. Koefisien +1 merepresentasikan sebuah
prediksi yang sempurna, 0 merepresentasikan rata-rata prediksi, dan
koefisien -1 merepresentasikan sebuah prediksi yang terbalik/keliru. MCC
memperhitungkan true-false positive dan true-false negative yang secara
umum dianggap sebagai ukuran keseimbangan yang dapat digunakan bahkan
jika kelas memiliki ukuran yang sangat berbeda (Nicolas, 2015). MCC
dirumuskan pada Persamaan 11 berikut.
MCC =TP x TN−FP x FN
√(𝑇𝑃+𝐹𝑃)(𝑇𝑃+𝐹𝑁)(𝑇𝑁+𝐹𝑃)(𝑇𝑁+𝐹𝑁) ..…………….………..….. (11)
22
III. METODOLOGI PENELITIAN
A. Tempat dan Waktu
1. Tempat Penelitian
Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan
Ilmu Pengetahuan Alam Universitas Lampung yang berada di Jl. Soemantri
Brojonegoro No. 1 Gedong Meneng, Bandar Lampung.
2. Waktu Penelitian
Penelitian dilakukan pada tahun akademik 2018-2019 tepatnya pada bulan
Maret 2019 sampai dengan Agustus 2019. Adapun alur penelitian secara
garis besar dibagi menjadi 3 tahap, yaitu pengumpulan data, implementasi
text mining, dan analisis hasil implementasi. Pada tahap pengumpulan data
dibutuhkan waktu selama 1 minggu karena tahap ini mencakup tahap
pengklasifikasian abstrak ke dalam 12 kategori keilmuan menggunakan
teknik majority voting. Kemudian, pada tahap implementasi text mining
dibutuhkan waktu selama 4 bulan 4 minggu karena implementasi dilakukan
sebanyak 24 kali percobaan supaya diperoleh nilai akurasi yang paling besar.
Sedangkan untuk tahap analisis hasil implementasi dibutuhkan waktu selama
1 bulan untuk mendapatkan faktor-faktor yang mempengaruhi nilai akurasi
klasifikasi.
23
B. Data dan Alat
1. Data
Data pada penelitian ini berupa abstrak Jurnal Komputasi Jurusan Ilmu
Komputer Universitas Lampung berbahasa Inggris dengan format CSV yang
diperoleh dari dokumen Jurnal Komputasi yang diunduh melalui website
FMIPA Unila dengan alamat URL
http://jurnal.fmipa.unila.ac.id/index.php/komputasi. Dokumen Jurnal
Komputasi yang digunakan berjumlah 144 dokumen jurnal (volume I-VI)
tahun terbit 2013-2018. Dokumen-dokumen tersebut diklasifikasikan
menjadi 12 kelas kategori keilmuan berdasarkan matriks Dennings dengan
cara majority voting. Rekapitulasi jumlah dokumen untuk masing-masing
kategori keilmuan dapat dilihat pada Tabel 3.
Tabel 3. Hasil Voting Klasifikasi Kelas Keilmuan Jurnal Komputasi id Kelas Keilmuan Jumlah Dokumen
1 Algoritma dan Struktur Data 27
2 Bahasa Pemrograman 0
3 Arsitektur 1
4 Sistem Operasi dan Jaringan 5
5 Software Engineering 57
6 Database dan Sistem Temu Kembali Informasi 10
7 Artificial Intelligence dan Robotik 15
8 Grafik 2
9 Human Computer Interaction (HCI) 2
10 Komputasi 1
11 Organizational Informatics 23
12 Bioinformatika 1
TOTAL 144
24
Berdasarkan hasil klasifikasi abstrak pada Tabel 3 diperoleh fakta bahwa
terjadi ketidakseimbangan jumlah anggota antar kelas. Rata-rata anggota
kelas keilmuan dari hasil klasifikasi tersebut yaitu 12. Standar deviasi pada
data hasil klasifikasi yaitu 16,2 yang artinya titik data per-kelas mendekati
nilai rata-rata. Namun terjadi bias yang tinggi, misalnya kelas Software
Engineering memiliki 57 anggota kelas sedangkan kelas Bahasa
Pemrograman tidak memiliki anggota kelas sama sekali. Sementara itu kelas
Arsitektur, Komputasi, dan Bioinformatika hanya memiliki satu anggota
kelas.
2. Alat
− Software :
1. Sistem operasi Windows 10 Profesional
2. ClickCharts Diagram Flowchart Software
ClickCharts Diagram Flowchart Software adalah perangkat lunak
untuk membuat representasi visual dari suatu proses yang
kompleks, membuat value stream dan diagram alir, serta optimisasi
proses. Keuntungan dari pembuatan flowchart yaitu dapat
menampilkan proses yang sangat terperinci dan rumit menjadi lebih
mudah dipahami (NCH Software, 2019). Pada penelitian ini
digunakan ClickCharts Diagram Flowchart Software versi 3.02.
3. Python
Python dikembangkan oleh Guido van Rossum pada tahun 1990 di
Amsterdam sebagai kelanjutan dari bahasa pemrogramman ABC.
25
Python merupakan bahasa pemrograman tingkat tinggi yang bersifat
interpretatif dan multiplatform (dapat bekerja diberbagai platform
seperti MS Windows, Linux, Macintosh dan lainnya). Secara umum
Python berbentuk pemrograman berorientasi objek, pemrograman
imperatif, dan pemrograman fungsional. Python dapat diperoleh dan
digunakan secara bebas oleh siapapun (Enterprise, 2016). Pada
penelitian ini digunakan Python versi 3.
4. Jupyter Notebook
Jupyter membutuhkan Python untuk diinstal karena didasarkan pada
bahasa Python. Terdapat beberapa alat yang akan mengotomatisasi
instalasi Jupyter dari GUI, salah satunya software Anaconda.
Jupyter Notebook pada dasarnya adalah file JSON dengan sejumlah
anotasi. Bagian utama Jupyter Notebook yaitu metadata untuk
mengatur dan menampilkan Notebook, nomor versi software yang
digunakan untuk membuat Notebook, dan daftar sel (Toomey,
2016). Pada penelitian ini digunakan Jupyter Notebook versi 4.4.0.
5. Natural LanguageToolkit (NLTK)
NLTK adalah platform terkemuka yang bersifat open-source dan
gratis untuk membangun program Python dengan menggunakan
data berbahasa manusia. NLTK disebut sebagai “perpustakaan yang
luar biasa untuk bermain dengan bahasa alami” karena
menyediakan antarmuka yang mudah digunakan dan serangkaian
pustaka pemrosesan teks untuk klasifikasi, tokenisasi, stemming,
26
tagging, parsing, penalaran semantik, dan pustaka pemrosesan
bahasa alami lainnya. NLTK tersedia untuk Windows, Mac OS X,
dan Linux (NLTK Project, 2019). Pada penelitian ini digunakan
NLTK versi 3.4
6. Scikit-Learn
Scikit-Learn adalah pustaka Python open source yang
mengimplementasikan serangkaian pembelajaran mesin, pra-proses,
cross validation, dan algoritma visualisasi menggunakan antarmuka
terpadu. Keunggulan yang terdapat dalam Scikit-Learn diantaranya
memiliki berbagai fitur untuk klasifikasi, regresi dan algoritma
clustering untuk data mining dan analisis data (Kumar, 2019).
Awalnya, Scikit-Learn dikembangkan oleh David Cournapeau pada
tahun 2007 dan dikeluarkan pertama kali (v0.1 beta) pada akhir
Januari 2010 (Mishra, 2018). Pada penelitian ini digunakan Scikit-
Learn versi 0.20.3.
− Hardware : Laptop Acer Aspire E5-473G dengan prosesor i3-5005U
(2.0 GHz, 3MB L3 Cache), tipe grafis 920M 2GB, kapasitas
penyimpanan 500 GB HDD, dan memori 4GB DDR3.
C. Metode Implementasi
Implementasi text mining pada klasifikasi abstrak Jurnal Komputasi dilakukan
melalui tahapan penelitian yang digambarkan pada Gambar 4.
27
Gambar 4. Alur penelitian implementasi text mining untuk klasifikasi jurnal.
Pada penelitian ini, pengumpulan data abstrak Jurnal Komputasi dilakukan
dengan cara mengunduh langsung dokumen dari website FMIPA Unila.
Sejumlah 144 abstrak dalam bahasa Inggris kemudian diberikan label keilmuan.
Pemberian label keilmuan didasarkan pada aturan majority voting yang dilakukan
oleh 3 orang narasumber. Tahap selanjutnya yaitu melakukan praproses abstrak
dengan tujuan untuk menghilangkan noise, menyeragamkan bentuk kata, dan
28
mengurangi volume kata (Berry dan Kogan, 2010). Adapun urutan langkah
praproses abstrak diuraikan sebagai berikut.
1. Case Folding
Pada tahap ini, semua huruf dalam abstrak Jurnal Komputasi diubah menjadi
huruf kecil. Hanya huruf ‘a’ sampai ‘z’ yang diterima. Contoh tahapan case
folding diuraikan pada Tabel 4.
Tabel 4. Ilustrasi Tahapan Case Folding
Data Uji Tahapan Case Folding
Library integrated service unit of
Unila provides academic services
for students through the website.
library integrated service unit of
unila provides academic services
for students through the website.
Pada tahap case folding dihasilkan bentuk abstrak yang standar dan seragam
karena huruf pada abstrak konsisten menjadi huruf kecil semua.
2. Filtering
Filtering merupakan tahap penghilangan karakter angka, tanda baca
(punctuation), dan spasi berlebih. Contoh tahapan filtering diuraikan pada
Tabel 5.
29
Tabel 5. Ilustrasi Tahapan Filtering Data Latih Hasil Case Folding Hasil Proses Filtering
library integrated service unit of
unila provides academic services
for students through the website.
library integrated service unit of
unila provides academic services
for students through the website
Pada tahap filtering, batas antar kalimat menjadi tidak jelas karena tanda
baca seperti titik, koma, dan lainnya dihapus. Beberapa kalimat yang
mengandung angka juga menjadi tidak jelas maknanya sebab karakter angka
telah dihapus pada tahap ini. Namun hal ini tidak menjadi masalah, karena
informasi pada abstrak yang diperlukan sebagai fitur penciri suatu kelas
adalah dalam bentuk kata saja.
3. Tokenisasi
Pada tahap tokenisasi dilakukan pemotongan string input berdasarkan tiap
kata yang menyusunnya. Secara rinci, paragraf dan kalimat dipecah menjadi
kata-kata dengan memotong string dari penyusunnya. Pada tahap ini juga
dilakukan pemotongan kata umum yang biasanya muncul dalam jumlah
besar dan dianggap tidak memiliki makna atau disebut stopword removal.
Contoh tahapan tokenisasi diuraikan pada Tabel 6.
30
Tabel 6. Ilustrasi Tahapan Tokenisasi
Data Latih Hasil Filtering Hasil Proses Tokenisasi
library integrated service unit of unila
provides academic services for students
through the website
library
integrated
service
unit
-
unila
provides
academic
services
-
students
-
-
website
Pada tahap tokenisasi diperoleh daftar kata bermakna yang dapat digunakan
untuk mencari ciri dari suatu kelas karena jumlah kata yang menyusun
abstrak menjadi lebih sedikit jumlahnya. Adapun pseudocode untuk tahap
tokenisasi dituliskan pada Kode 1 berikut.
Kode 1. Pseudocode Stopword Removal
Define: List of stopword removal
For i=1 to Number_of_words_in_the_document do
For j=1 to Number_of_words_in_stopword_list do
If
Words(i) == stopword(j) THEN
eliminate Words(i)
END If
END For
END For
31
Berdasarkan Kode 1, tahap tokenisasi dimulai dengan mendefinisikan daftar
kata yang masuk kedalam stopword. Kemudian definisikan i sebagai indeks
kata dalam dokumen dan j sebagai indeks kata dalam stopword. Jika
ditemukan kata yang masuk kedalam stopword (words(i) == stopword (j))
maka kata tersebut akan dihapus.
4. Stemming
Pada tahap ini dilakukan pencarian kata dasar dari setiap kata hasil
tokenisasi dengan membuang imbuhan di awal (prefix) dan diakhir (sufix)
kata tersebut. Contoh tahapan stemming diuraikan pada Tabel 7 berikut.
Tabel 7. Ilustrasi Tahapan Stemming Data Latih Hasil Tokenizing Hasil Proses Stemming
library
integrated
service
unit
-
unila
provides
academic
services
-
students
-
-
website
library
integrat
servic
unit
-
unila
provide
academic
servic
-
student
-
-
website
Pada tahap stemming belum dihasilkan kata-kata aktual karena proses
stemming hanya menghilangkan afiks pada kata tersebut, contohnya mis-,
32
un-, -ed, -s, dan lain sebagainya. Seperti yang tertera pada Tabel 7, kata
‘integrated’ seharusnya menghasilkan kata dasar ‘intergate’ namun karena
pada stemming hanya dihilangkan sufiks –ed maka dihasilkan kata
‘integrat’. Untuk mengatasi eror pada proses stemming tersebut, maka
dilakukan proses lemmatisasi. Melalui proses lemmatisasi, berbagai bentuk
kata berbeda dengan makna yang sama akan dikelompokkan kedalam satu
kata. Misalnya terdapat kata run, running, dan ran, melalui proses
lemmatisasi maka dihasilkan kata run karena ketiga kata tersebut berasal
dari kata run.
Setelah praproses abstrak selesai, selanjutnya dilakukan transformasi abstrak
dengan teknik TF-IDF. Perhitungan bobot kata menggunakan teknik TF-IDF
diilustrasikan pada Tabel 8.
Tabel 8. Contoh Abstrak dari Tiga Dokumen Jurnal Komputasi
ID Abstrak
1 SMT’s secretariat is one of the PT. PLN (Persero) Power Generation Sector
of Tarahan which is responsible for document control process.
2 Dengue Fever (DBD) and Malaria are kinds of diseases that often caused an
extraordinary occurrence in Indonesia.
3 Technology development currently making human life be more practical.
Dari tiga contoh abstrak tersebut dihitung frekuensi kemunculan kata pada
dokumen (TF-IDF). Sebagai contoh, diambil 3 kata yang terdapat pada
33
contoh abstrak diatas (ditandai dengan warna merah). Pertama yaitu
menghitung TF atau kemunculan suatu kata pada sebuah dokumen. Langkah
kedua menghitung nilai DF atau banyaknya suatu dokumen tempat kata
ditemukan. Langkah ketiga menghitung nilai TF x IDF sehingga dihasilkan
nilai seperti pada Tabel 9.
Tabel 9. Hasil Perhitungan TF-IDF
Kata
TF
DF IDF
TF-IDF
1 2 3 1 2 3
response 1 0 0 1 0.477 0.477 0 0
disease 0 1 0 1 0.477 0 0.477 0
human 0 0 1 1 0.477 0 0 0.477
Teknik pembobotan kata TF-IDF dituliskan dalam pseudocode berikut.
function tf_idf(Matrix matriks)
double tf, idf
int baris = matriks.baris
int kolom = matriks.kolom
tabel_tfidf = new Matrix(baris,kolom)
for (int i=0; i<baris; i++)
for (int j = 0; j < kolom; j++)
tf = matriks[i][j]/n_kata_di_dokumen(j)
idf = Math.log(kolom/n_dokumen_pada_kata(i)+ 1)
tabel_tfidf[i][j] = tf * idf
return tabel_tfidf
Kode 2. Pseudocode TF-IDF
34
Berdasarkan Kode 2, TF-IDF diperoleh dengan cara menerima masukan
berupa sebuah mariks abstrak dan keluaran yang dihasilkan yaitu tabel TF-
IDF.
Setelah setiap abstrak ditransformasi kedalam bentuk vektor, dilanjutkan ke
tahap pembuatan model klasifikasi menggunakan algoritma Support Vector
Machine (SVM). SVM akan mengukur margin hyperplane dan mencari titik
maksimal yang memisahkan antar kelas dalam input space. Proses
pembelajaran pada SVM yaitu mencari support vector (titik pemisah
terdekat masing-masing kelas) dari data yang sudah ditransformasi pada
ruang baru yang berdimensi lebih tinggi.
Tahap selanjutnya yaitu melakukan validasi model klasifikasi menggunakan
10-fold cross validation untuk mendapatkan nilai akurasi testing yang
terbaik dari model yang sudah dibuat. Artinya 144 abstrak dibagi menjadi 10
bagian (fold) sama besar, 9 fold untuk data training dan 1 fold untuk data
testing. Adapun pseudocode untuk tahap validasi model menggunakan 10-
fold cross validation dituliskan sebagai berikut.
divide train data into 10 parts
for i = 1 to 10
train network using 9 parts
compute accuracy using 1 part
end for
compute average accuracy of the 10 runs
Kode 3. Pseudocode Validasi Model 10-Fold CV
35
Berdasarkan Kode 3, validasi dilakukan dengan membagi data training
kedalam 10 bagian (k=10). Masing-masing bagian akan dilakukan validasi
sebanyak 10 kali iterasi. Pada setiap iterasi, 9 bagian digunakan sebagai data
training dan 1 bagian akan dihitung nilai akurasinya. Hasil akhir yang
diperoleh yaitu nilai rata-rata akurasi selama 10 kali iterasi.
Tahap terakhir yaitu menghitung akurasi dengan 5 ukuran performansi yaitu
accuracy, precision, recall, f-measure, dan MCC berdasarkan confusion
matrix.
D. Metode Pengujian
Metode pengujian dalam penelitian ini dilakukan pada proses perhitungan
performansi klasifikasi abstrak. Performansi hasil klasifikasi dihitung
berdasarkan 5 ukuran performansi yaitu accuracy, precision, recall, f-measure,
dan MCC. Perhitungan masing-masing ukuran performansi diilustrasikan pada
Tabel 10.
Tabel 10. Matriks Ilustrasi Hasil Klasifikasi Actual:
Arsitektur
Actual:
Komputasi
Actual:
Bioinfmatika
Predicted: HCI 5 2 0
Predicted: Komputasi 3 3 2
Predicted: Bioinformatika 0 1 11
36
Sebagai contoh, kelas Komputasi memiliki ketepatan klasifikasi seperti yang
diilustrasikan pada matriks diatas. Kondisi positif (P) adalah jumlah Komputasi
yang sebenarnya (dalam contoh bernilai 6). Kondisi negatif adalah jumlah
Komputasi yang bukan sebenarnya (dalam contoh bernilai 21). True positive (TP,
dalam contoh bernilai 3). True Negative (TN, dalam contoh bernilai 16). False
Positive (FP, dalam contoh bernilai 5). False Negative (FN, dalam contoh
bernilai 3). Maka nilai accuracy, precision, recall, f-measure, dan MCC dihitung
dengan rumus sebagai berikut.
𝐴𝑐𝑐𝑢𝑟𝑎𝑛𝑐𝑦 =𝑇𝑃+𝑇𝑁
𝑇𝑃+𝑇𝑁+𝐹𝑃+𝐹𝑁
= 0.704
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =𝑇𝑃
𝑇𝑃+𝐹𝑃= 0.375
𝑅𝑒𝑐𝑎𝑙𝑙 =𝑇𝑃
𝑇𝑃+𝐹𝑁= 0.5
F1 = 2 𝑥𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑥 𝑅𝑒𝑐𝑎𝑙𝑙
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑐𝑎𝑙𝑙= 2 𝑥
0.375 𝑥 0.5
0.375+0.5= 0.428
MCC =TP x TN−FP x FN
√(𝑇𝑃+𝐹𝑃)(𝑇𝑃+𝐹𝑁)(𝑇𝑁+𝐹𝑃)(𝑇𝑁+𝐹𝑁) = 0.0049
Berdasarkan hasil perhitungan pada contoh kasus yang diberikan, didapatkan
nilai accurancy sebesar 70,4%, artinya ketepatan record data yang
diklasifikasikan dengan benar terhadap prediksi hasil klasifikasi memiliki
persentase yang tinggi. Semakin tinggi hasil akurasinya maka semakin efektif
37
model algoritma klasifikasi yang diuji tersebut. Precision sebesar 37,5%, artinya
kecocokan antara dokumen aktual dengan prediksi hasil klasifikasi rendah.
Recall sebesar 50%, artinya proporsi dokumen yang dapat diprediksi dengan
benar dari total jumlah dokumen suatu kelas yang diprediksi mencapai setengah
akurat. F-measure sebesar 42,8%, artinya precision dan recall dari model
klasifikasi yang dibuat tidak seimbang. MCC mendekati nol artinya hasil prediksi
tidak lebih baik daripada fungsi acak (random).
55
V. KESIMPULAN DAN SARAN
A. Kesimpulan
Kesimpulan yang diperoleh berdasarkan penelitian yang telah dilakukan adalah
sebagai berikut.
1. Text mining telah berhasil diimplementasikan pada proses klasifikasi abstrak
Jurnal Komputasi.
2. Hasil akurasi testing tertinggi pada proses klasifikasi abstrak Jurnal
Komputasi menggunakan algoritma Support Vector Machine didapatkan pada
penggunaan kernel Linear dengan nilai sebesar 58,3%.
3. Jumlah anggota kelas keilmuan yang tidak seimbang mempengaruhi akurasi
klasifikasi.
4. Semakin sedikit jumlah fitur hasil proses feature extraction belum tentu
meningkatkan akurasi klasifikasi.
B. Saran
Saran yang diberikan berdasarkan penelitian yang telah dilakukan adalah sebagai
berikut.
56
1. Menggunakan dasar klasifikasi selain Matriks Dennings, misalnya ACM
(Association for Computing Machinery) Curriculum agar dihasilkan anggota
antar kelas yang seimbang.
2. Menerapkan metode klasifikasi SVM dengan kombinasi metode feature
selection yang lain agar dihasilkan data antar kelas yang seimbang, misalnya
Chi-kuadrat.
3. Menerapkan metode feature extraction yang lain agar dihasilkan fitur penciri
yang lebih baik, misalnya Word2Vec.
4. Menerapkan hasil klasifikasi abstrak Jurnal Komputasi ke dalam sistem
pencarian data Jurnal Komputasi supaya memudahkan pencarian jurnal.
57
DAFTAR PUSTAKA
Alpaydin, E. (2004). Introduction to Machine Learning. Massachusetts: MIT Press.
401 hlm.
APJII. (2018). Asosiasi Penyelenggara Jasa Internet Indonesia.
https://apjii.or.id/content/read/39/342/Hasil-Survei-Penetrasi-dan-Perilaku-
Pengguna-Internet-Indonesia-2017#. Diakses pada 11 Desember 2018.
Arthana, R. (2019). Mengenal Accuracy, Precision, Recall, dan Specificity serta yang
diprioritaskan dalam Machine Learning.
https://medium.com/@rey1024/mengenal-accuracy-precission-recall-dan-
specificity-serta-yang-diprioritaskan-b79ff4d77de8. Diakses pada 28 November
2019.
Berry, M. W., dan Kogan, J. (2010). Text Mining Applications and Theory.British:
Wiley. 205 hlm.
Boser, B. E., Guyon I. M., dan Vapnik V. N. (1992). A Training Algorithm for
Optimal Margin Classifier. https://www.svms.org. Diakses pada 5 Desember
2019.
Dang, S. dan Ahmad, P. H. (2014). Text mining: techniques and its applications.
IJETI, 1(4), 2348-0866.
Denning, P. J. (1997). Computer Science: The Discipline.
http://denninginstitute.com/pjd/PUBS/ENC/cs99.pdf. Diakses pada 17 Oktober
2019.
Enterprise, J. (2016). Trik Cepat Menguasai Pemrograman Python. Jakarta: PT Elex
Media Komputindo. 117 hlm.
Herawan, Y. (2011). Ekstraksi ciri dokumen tumbuhan obat menggunakan chi-
kuadrat dengan klasifikasi naive bayes. Institut Pertanian Bogor. 1-13.
Informatikalogi. (2017). Text Preprocessing. https://informatikalogi.com/text-
preprocessing/. Diakses pada 26 September 2019.
58
Kemdikbud (Kementrian Pendidikan dan Kebudayaan). (2018). Arti kata jurnal -
Kamus Besar Bahasa Indonesia (KBBI) Online. https://kbbi.web.id/jurnal.
Diakses pada 6 Desember 2018.
Khalid, Rintyarna, B. S., dan Arifin, A. Z. (2015). Seleksi fitur dua tahap
menggunakan information gain dan artificial bee colony untuk kategorisasi teks
berbasis support vector machine. SYSTEMIC, 1(2), ISSN 2460-8092.
Khumaeni, A. (2017). Kunci Sukses Menembus Jurnal Internasional Bereputasi.
Yogyakarta: PT Leutika Nouvalitera. 78 hlm.
Lutfi, A. A., Permanasari, A. E., dan Fauziati, S. (2018). Sentiment analysis in the
sales review by indonesian marketplace by utilizing support vector machine.
JISEBI, 4(1), 57-64.
Mishra, M. (2018). Hands-On Introduction To Scikit-learn (sklearn).
https://towardsdatascience.com/hands-on-introduction-to-scikit-learn-sklearn-
f3df652ff8f2. Diakses pada 15 September 2019.
NCH Software. (2019). ClickCharts Charting, Mapping & Flowchart Software.
https://www.nchsoftware.com/chart/index.html. Diakses pada 10 Januari 2019.
NLTK Project. (2019). NLTK 3.4.5 documentation. https://www.nltk.org/. Diakses
pada 15 September 2019.
Nicolas, P. R. (2015). Scala For Machine Learning. UK: Packt Publishing Ltd. 573
hlm.
PDII-LIPI (Pusat Dokumentasi dan Informasi Ilmiah). (2019). Statistik Jumlah
Artikel per Tahun. Indonesian Scientific Journal Database (ISJD).
http://isjd.pdii.lipi.go.id/index.php/public_no_login/dashboard. Diakses pada 3
Januari 2019.
Pratama, D. H. (2013). Implementasi support vector machine (svm) untuk klasifikasi
dokumen. Institut Pertanian Bogor, 1-19.
Santosa, B. (2007). Tutorial Support Vector Machine.
https://bsantosa.files.wordpress.com/2015/03/tutorial-svm-2015. Diakses pada
27 September 2019.
Sasongko, T. B. (2016). Komparasi dan analisis kinerja model algoritma svm dan
pso-svm. Politeknik Harapan Bersama Tegal, 2(2), 244–253.
Scikit-Learn.org. (2019). Cross-validation: evaluating estimator performance.
59
https://scikit-learn.org/stable/modules/cross_validation.html. Diakses pada 18
Oktober 2019.
Setiawan, A., Kurniawan, E., dan Handiwidjojo, W. (2013). Implementasi stop word
removal untuk pembangunan aplikasi alkitab berbasis windows 8. Jurnal
EKSIS, 6(2), 1–11.
Somantri, O., dan Apriliani, D. (2018). Support vector machine berbasis feature
selection untuk sentiment analysis kepuasan pelanggan terhadap pelayanan
warung dan restoran kuliner kota tegal. JTIIK, 5(5), 537–548.
Toomey, D. (2016). Learning Jupyter. UK: Packt. 215 hlm.
Wahono, R. S. (2003). Klasifikasi Ilmu Komputer. kambing.ui.ac.id. Diakses pada 16
Ferbuari 2019.
Wisnu, D., dan Hetami, A. (2015). Perancangan Information Retrieval (IR) Untuk
Pencarian Ide Pokok Teks Artikel Berbahasa Inggris Dengan Pembobotan
Vector Space Model. Jurnal Ilmiah Teknologi Dan Informasi ASIA, 9(1), 53–59.
Wibowo, A. (2017). 10-Fold Cross Validation. https://mti.binus.ac.id/2017/11/24/10-
fold-cross-validation/. Diakses pada 25 Oktober 2019.
Yusa, M., Utami, E., dan Luthfi, E. T. (2016). Analisis komparatif evaluasi performa
algoritma klasifikasi pada readmisi pasien diabetes. Jurnal Buana Informatika,
7(4), 293-302.