KLASIFIKASI JURNAL BERBAHASA INGGRIS BERDASARKAN ABSTRAK DENGAN ALGORITMA ROCCHIO
SKRIPSI
MISBAH HASUGIAN 121402017
PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA MEDAN
KLASIFIKASI JURNAL BERBAHASA INGGRIS BERDASARKAN ABSTRAK
DENGAN ALGORITMA ROCCHIO
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memeperoleh ijazah Sarjana Teknologi Informasi
MISBAH HASUGIAN 121402017
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOG INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2017
i
PERSETUJUAN
Judul : KLASIFIKASI JURNAL BERBAHASA INGGRIS
BERDASARKAN ABSTRAK DENGAN ALGORITMA ROCCHIO
Kategori : SKRIPSI
Nama : MISBAH HASUGIAN
Nomor Induk Mahasiswa : 121402017
Program Studi : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA
Disetujui di
Medan, 16 Agustus 2017
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Ulfi Andayani S.Kom., M.kom Dedy Arisandi, ST., M.Kom
NIP. 1986 0419 2015 04 2004 NIP. 197908312009121002
Diketahui/disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
Romi Fadillah Rahmat, B. Com.Sc., M.Sc NIP. 19860303 201012 1 004
PERNYATAAN
KLASIFIKASI JURNAL BERBAHASA INGGRIS BERDASARKAN ABSTRAK
DENGAN ALGORITMA ROCCHIO
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 16 Agustus 2017 Misbah Hasugian 121402017
iii
UCAPAN TERIMA KASIH
Puji dan syukur penulis sampaikan ke hadirat Allah SWT yang telah memberikan rahmat serta restu-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Teknologi Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada :
1. Ayah Saur Hasugian dan Ibu Rosmawati Situmorang yang telah membesarkan penulis dengan sabar dan penuh kasih sayang, serta doa dan dukungan berupa moral maupun materil yang selalu menyertai selama ini.
2. Saudara penulis yang sabar dan ikhlas menghadapai penulis selama masa perkuliahan yaitu, Basaruddin, Amir Hamzah, Lahuddin yang memberikan penulis nasihat dan semangat serta doa dan dukungan berupa moril maupun materil selama ini.
3. Bapak Dedy Arisandi, ST., M.Kom selaku pembimbing I dan Ibu Ulfi Andayani, S.Kom., M.kom selaku pembimbing II yang telah banyak meluangkan waktu dan pikiran beliau, memotivasi, memberikan arahan, kritik dan saran kepada penulis. 4. Bapak Dani Gunawan, ST., MT selaku Dosen Pembanding I dan Bapak Romi
Fadillah Rahmat B.Comp.Sc., M.Sc selaku Dosen Pembanding II telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
5. Latifah adik yang selalu memberikan doa, nasihat, mendengarkan keluh kesah penulis saat pengerjaan skripsi ini, memberikan dukungan dan semangat kepada penulis dan Mansur yang mendorong penulis untuk segera selesai kuliah dan seluruh anggota keluarga penulis yang namanya tidak dapat disebutkan satu persatu. 6. Nikmah Herlina dan Hasna Susanti teman sekamar satu kost dan Mayya Noor Lubis
S.kom dan Ainul Husna S.kom tempat kos kedua penulis yang selalu memberikan dukungan, mendengar keluh kesah saat pengerjaan skripsi, menampung segala hal cerita senang, sedih, memberikan nasihat dan bantuan kepada penulis dalam mengerjakan skripsi ini.
7. Sahabat Wudda Rohimah, Zahara P Sakila, Chairina Ulfa, Siti Hasanah, Kania Arfianty, Nani Sylviani, yang selalu memberikan dukungan, mendengar keluh kesah penulis, menampung segala hal cerita senang, sedih, memberikan nasihat dan sebagai saudara yang berbeda orangtua selama perkuliahan.
8. Semua dosen, staff dan pegawai di Jurusan Teknologi Informasi serta Fakultas Ilmu Komputer dan Teknologi Informasi yang tidak dapat saya sebutkan satu-persatu 9. Teman-teman angkatan 2012 dan teman-teman mahasiswa Teknologi Informasi
lainnya. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu persatu yang telah membantu penyelesaian skripsi ini.
Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.
v
ABSTRAK
Kebutuhan terhadap dokumen berupa jurnal atau artikel ilmiah saat ini meningkat dan jumlah dokumen yang tersedia semakin bertambah sehingga mempersulit pencarian dan penyajian jurnal. Oleh karena itu, diperlukan suatu metode untuk mengklasifikasikan jurnal secara otomatis sesuai dengan kategori dari jurnal tersebut. Salah satu metode yang dapat membantu mengorganisasikan dokumen sesuai dengan ketegorinya adalah klasifikasi. Pada penelitian ini, algoritma Rocchio digunakan sebagai metode untuk mengklasifikasikan jurnal. Data yang digunakan berasal dari Google Scholar. Jurnal terdiri dari 4 kategori yaitu Computer Vision & Pattern Recognation, Artificial Intelligent, Data Mining & Analysis, dan Computer System. Pengujian sistem dilakukan dengan mengambil 160 jurnal untuk data sample dan 48 jurnal untuk data uji. Hasil dari penelitian ini menghasilkan sistem klasifikasi jurnal berbasis web dan menunjukkan metode yang digunakan mampu mengklasifikasikan jurnal dengan hasil akurasi 93 %.
CLASSIFICATION OF ENGLISH JOURNAL BASED ON ABSTRACT WITH ROCCHIO ALGORITHM
ABSTRACT
The necessary of document which is a journal or scientific articel is growing up nowadays. The amount of the journal is getting increase, it makes more difficult to find the right one and served it. Therefore, a method to automatically classify the journal according to the category of the journal is needed. One of the method that can help to organize any documents according to their categories is classification. In this study, Rocchio algorithm is used as a method to classify a journal. The data is based on Google Scholar. The journal is consist of 4 categories : Computer Vision & Pattern Recognation, Artificial Intelligent, Data Mining & Analysis, and Computer System. The system must be tested by taking 160 journals as a sample data and 48 journals for the trial data. The result of this study is a classification journal web-based system and a method which is can be usable for journal classification with 93% accuracy value.
vii
DAFTAR ISI
Hal
Persetujuan i
Pernyataan ii
Ucapan Terima Kasih iii
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel x Daftar Gambar xi BAB 1 PENDAHULUAN 1.1.Latar Belakang 12 1.2.Rumusan Masalah 15 1.3.Batasan Masalah 15 1.4.Tujuan Penelitian 16 1.5.Manfaat Penelitian 16 1.6.Metodologi Penelitian 16 1.7.Sistematika Penulisan 17
BAB 2 LANDASAN TEORI
2.1.Text Mining 19
2.2.Text Pre-Processing 19
2.2.1. Tokenisasi 20
2.2.2. Stopword Removal 20
2.3.Algoritma Stemming Porter 21
2.4.Klasifikasi Dokumen 25
2.5.Term Frequency-Inverse Document Frequency (Tf-Idf) 26
2.6.Algoritma Rocchio 27
2.7.Penelitian Terdahulu 29
BAB 3 ANALISIS PERANCANGAN
3.1. Analisis Data (Pengumpulan Data) 32
3.2. Analisis Sistem 33
3.2.1. Data Set 33
3.2.2. Proses Persiapan Dan Seleksi Dokumen 34
3.2.2.1. Tokenisasi 34
3.2.2.2. Stopword Removal 35
3.2.2.3. Stemming 35
3.2.3. Hasil Pembobotan Dengan TF-IDF 35
3.2.4. Hasil Perhitungan Algoritma Rocchio 37
3.3. Perancangan Sistem 43
3.3.1. Use Case Diagram 43
3.3.2. Rancangan Sistem 46
3.3.2.1 Rancangan Tampilan Halaman Utama 46
3.3.2.2. Rancangan Tampilan Halaman Dashboard 46
3.3.2.3.Rancangan Halaman Data Sample 49
3.3.2.4. Rancangan Halaman Hasil Data Uji 52
BAB 4 IMPLEMENTASI DAN PENGUJIAN
4.1. Implementasi Sistem 53
4.1.1. Spesifikasi Perangkat Keras Dan Perangkat Lunak
Yang Digunakan 53
4.1.2 Tampilan Halaman Utama 54
4.1.3 Tampilan Halaman Sample 54
ix
4.1.5. Tampilan Hasil Data Uji 59
4.16. Tampilan Halaman Laporan 59
4.2. Hasil Pengujian Sistem 60
BAB 5 KESIMPULAN DAN SARAN
5.1. Kesimpulan 63
5.2. Saran 63
DAFTAR TABEL
Tabel 2.1 Penelitian Terdahulu 31
Tabel 3.1. Jumlah Data Sample Dan Data Uji 32
Tabel 3.2. Hasil Pembobotan TFIDF 36
Tabel 3.3. Hasil Perhitungan Nilai Centroid 38
Tabel 3.4. Hasil Klasifikasi dengan Algoritma Rocchio 40
Tabel 3.5. Deskripsi Use Case Data Sample 43
Tabel 3.6. Deskripsi Use case Laporan 44
Tabel 3.7. Deksripsi Use Case Uji Data 45
xi
DAFTAR GAMBAR
Gambar 2.1. Contoh Proses Tokenisasi 20
Gambar 2.2. Contoh Proses Filtering Stopword 21
Gambar 2.3. Contoh Proses Stemming 21
Gambar 2.4. Rocchio Algoritma 28
Gambar 3.1. Arsitektur Umum 33
Gambar 3.2. Contoh Input Abstrak Jurnal 34
Gambar 3.3. Contoh Hasil Tokenisasi Abstrak 34
Gambar 3.4. Contoh Hasil Stopword Removal 35
Gambar 3.5. Contoh Hasil Stemming 35
Gambar 3.6. Use Case Diagram 43
Gambar 3.7. Rancangan Halaman Utama 46
Gambar 3.8. Rancangan Halaman Dashboard 46
Gambar 3.9. Rancangan Halaman Data Uji 47
Gambar 3.10. Rancangan Halaman Data Sample 48
Gambar 3.11. Rancangan Halaman Laporan 48
Gambar 3.12. Rancangan Halaman Tokenisasi 49
Gambar 3.13. Rancangan Halaman Stopword 50
Gambar 3.14. Tampilan Halaman Stemming 50
Gambar 3.15. Rancangan Halaman Pembobotan Dan Klasifikasi 51
Gambar 3.16. Rancangan Halaman Hasil Test Data Uji 52
Gambar 4.1 Tampilan Halaman Utama 54
Gambar 4.2 Tampilan Data Sample 55
Gambar 4.3 Tampilan Upload Data Sample 55
Gambar 4.4 Tampilan Hasil Tambah Data Sample 56
Gambar 4.5. Contoh Tampilan Hasil Preprocessing 56
Gambar 4.6. Hasil pembobotan & Klasifikasi 57
Gambar 4.7. Tampilan Halaman Data Uji 57
Gambar 4.8. Contoh Hasil Pre-processing 58
Gambar 4.10. Tampilan Hasil Data Uji 59
xiii
BAB 1 PENDAHULUAN
Pada bab ini dijelaskan secara detail tentang hal-hal yang berkaitan dengan pembuatan tugas akhir. Bab ini dibagi menjadi beberapa bagian yaitu : latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.
1.1. Latar belakang
Jurnal merupakan artikel yang disusun guna memberikan kontribusi terhadap teori atau penerapan ilmu atau suatu kutipan dari penelitian di dalam jurnal terdapat point-point penting dari penelitian. Artikel jurnal ilmiah umumnya tersusun atas judul, abstrak, pendahuluan, bahan dan metode, hasil, pembahasan, kesimpulan, dan daftar pustaka. Seseorang yang akan menulis tugas akhir, penelitian, makalah, akan mencari refrensi atau studi literatur yang sesuai dengan topik penelitian yang dilakukan. Cara yang sering dilakukan dalam usaha pencarian studi literatur untuk topik penelitian yaitu dengan mencari dan membaca jurnal penelitian, membaca tugas akhir yang pernah dibuat, dan melakukan observasi masalah yang sering timbul di bidangnya dan sebagainya. Banyak cara mendapatkan refrensi tersebut, akan tetapi mencari refrensi atau studi literatur sesuai dengan topik penelitian bukanlah hal yang mudah jika hanya mengandalkan query biasa. Pemilihan query yang tidak spesifik akan menghasilkan pencarian yang kurang relevan.
Seiring dengan perkembangan teknologi yang semakin maju dan berkembangnya internet menyebabkan jumlah dokumen yang tersedia semakin bertambah, mulai dari dokumen akademik hingga non akademik. Kebutuhan terhadap dokumen akademik terutama jurnal semakin meningkat. Jurnal atau artikel ilmiah yang diunggah pada suatu portal tiap harinya beragam dapat terdiri dari beberapa kategori dan topik yang berbeda seperti jurnal yang membahas tentang kesehatan, Ilmu
komputer, Computer sains, dan jurnal lainnya. Dengan kemudahan dalam mengakses dan menyebarkan informasi dalam hal ini jurnal membuat informasi menjadi banyak dan beragam sehingga mempersulit pencari jurnal mendapatkan jurnal yang dibutuhkan. Untuk itu diperlukan suatu metode dalam mengklasifikasi jurnal secara otomatis sesuai dengan kategori pada jurnal tersebut. Kategori yang menggambarkan pokok pembahasan secara umum dan mewakili topik atau isi jurnal tanpa harus membaca secara keseluruhan. Sehingga dapat mempermudah pencarian jurnal dan penyajian jurnal sesuai dengan kategori dari jurnal tersebut.
Klasifikasi dokumen jurnal dapat membantu proses pencarian sebuah jurnal dan penentuan kategori bagi penyedia jurnal dengan cepat dan tepat. Klasifikasi dokumen jurnal mengelompokkan jurnal yang sesuai dengan kategori pada dokumen tersebut. Dengan mengetahui kategori dari dokumen yang akan dicari, maka proses pencarian hanya dilakukan pada kumpulan dokumen yang memiliki kategori tersebut sehingga proses pencarian dapat dilakukan dengan cepat.
Penelitian untuk klasifikasi teks sebelumnya sudah pernah dilakukan dengan memanfaatkan metode Rocchio dan Learning semantic. Pada penelitian tersebut membahas tentang klasifikasi teks dengan domain biomedis. Data diambil dari artikel biomedis pada Medline (Albitar, et al. 2012). Penelitian berikutnya menggunakan algoritma Rocchio dalam sistem rekomendasi indeks web yang membantu pengguna internet dengan saran untuk mencari informasi yang relevan dengan menggunakan Multi Instance Learning dan algoritma Rocchio dalam rekomendasi halaman web (Tarrago, et al. 2014). Penelitian dengan memanfaatkan metode K-Nearest Neighbour klasifikasi dokumen temu kembali informasi (Purwanti., 2015). Selanjutnya, klasifikasi berita dengan menggunakan Support Vector Machine (SVM) untuk klasifikasi teks berita (Dadgar, et al. 2016). Penelitian berikutnya, menggunakan algoritma Rocchio untuk mengklasifikasikan data hirarki atau artikel secara otomatis. Pada penelitian ini membandingkan dua algoritma yaitu Rocchio dan KNN. Dan hasil algoritma Rocchio efisien dibanding KNN (Chetan & Srinivasa, 2016).
Pada penelitian ini penulis mengajukan suatu metode untuk mengklasifikasikan jurnal secara otomatis berdasarkan abstrak dari jurnal. Jurnal yang akan diklasifikasikan yaitu, Computer Vision & Pattern Recognation, Artificial Intelligent, Data Mining & Analysis, dan Computer System pada Google Scholar. Berdasarkan beberapa penelitian terdahulu yang menggunakan metode Rocchio, metode ini terbukti efektif dalam
15
menyelesaikan beberapa permasalahan termasuk untuk klasifikasi dokumen dan sistem temu kembali informasi. Keunggulan dari memanfaatkan metode ini yaitu dalam tahapan kerjanya, Metode klasifikasi Rocchio membandingkan kesamaan isi antara data training dan data test dengan mempresentasikan semua data kedalam vektor. Dimana hanya dokumen yang relevan yang dipilih, titik kueri bergerak lebih dekat ke arah pusat dokumen yang dianggap relevan.
Berdasarkan beberapa hasil penelitian diatas maka penulis mengajukan proposal penelitian berjudul “Klasifikasi Jurnal Berbahasa Inggris Berdasarkan Abstrak dengan Algoritma Rocchio”. Penelitian ini diharapkan dapat membuat sistem yang dapat membantu untuk mengklasifikasikan jurnal dan membantu pengguna mencari jurnal sesuai yang dibutuhkan atau sesuai dengan kategori dari jurnal tersebut.
1.2. Rumusan masalah
Saat ini jumlah dokumen jurnal atau artikel ilmiah semakin banyak dan beragam sejalan dengan berkembangnya internet dan teknologi. Dan kebutuhan terhadap dokumen jurnal tersebut semakin meningkat. Jika jumlah dokumen semakin bertambah banyak maka proses pencarian dan penyajian dokumen semakin sulit untuk dilakukan, sehingga akan lebih mudah jika dokumen tersebut sudah terklasifikasi sesuai dengan kategori masing-masing. Salah satu metode yang dapat membantu mengorganisasikan dokumen sesuai dengan ketegorinya adalah klasifikasi. Mengklasifikasikan dokumen dengan mengelompokkan dokumen yang memiliki isi dan topik yang sama ke dalam kategori yang sama.
1.3. Batasan masalah
Batasan masalah pada penelitian ini yaitu:
1. Kategori jurnal dibatasi 4 kategori yaitu jurnal Computer Vision & Pattern Recognition, Data Mining & Analysis, Artificial Intelligent, dan Computer System.
2. Dokumen jurnal yang digunakan adalah dalam bahasa Inggris. 3. Data set yang digunakan berasal dari Google Scholar.
4. Jenis format dokumen jurnal yang diolah adalah file .PDF. 5. Dokumen jurnal yang terkunci (secured) tidak dapat diproses.
1.4.Tujuan penelitian
Penelitian ini bertujuan untuk mengklasifikasikan jurnal secara otomatis sesuai kategori yang ada pada dokumen jurnal tersebut dengan menggunakan algoritma Rocchio.
1.5.Manfaat penelitian
Manfaat penelitian ini sebagai berikut :
1. Mempermudah penyajian jurnal sesuai kategori jurnal tanpa harus membacanya secara keseluruhan.
2. Mempermudah pencarian jurnal karena telah terklasifikasi sesuai dengan kategori dari jurnal.
3. Mengetahui kemampuan algoritma Rocchio dalam proses klasifikasi dokumen.
1.6. Metode penelitian
Tahapan-tahapan yang akan dilakukan pada penulisa skripsi ini adalah sebagai berikut:
1. Studi Literatur
Studi literatur dilakukan dengan mengumpulkan bahan refrensi yaitu berupa buku, artikel, paper, jurnal, makalah, maupun situs-situs dari internet. Studi literatur yang dilakukan berkaitan dengan text pre-pocessing, TF-IDF (Term Frequency-Inverse Document Frequency), algoritma stemming Porter, sistem klasifikasi dokumen dan algoritma Rocchio serta metode TF-IDF.
2. Analisis Masalah
Pada tahap ini, dilakukan analisis masalah terhadap studi literatur pada tahap sebelumnya serta masalah yang akan diselesaikan pada aplikasi yang akan dibangun yaitu klasifikasi jurnal sesuai dengan kategorinya.
3. Analisis dan Perancangan Sistem
Pada tahap ini dilakukan perancangan arsitektur, pengumpulan data, serta perancangan antarmuka. Proses perancangan dilakukan berdasarkan hasil dari analisis studi literatur yang telah diperoleh.
17
4. Implementasi Sistem
Pada tahap ini dilakukan proses implementasi pengkodean program dalam aplikasi komputer menggunakan bahasa pemrograman yang telah dipilih yang sesuai dengan analisis dan perancangan yang sudah dilakukan.
5. Pengujian Sistem
Pada tahap ini dilakukan proses pengujian dan percobaan terhadap sistem yang didapatkan melalui implementasi algoritma Rocchio dalam melakukan klasifikassi jurnal serta memastikan program yang dibuat berjalan seperti yang diharapkan.
6. Dokumentasi dan Penyusunan Laporan
Pada tahap ini dilakukan pembuatan dokumentasi dan penyusunan laporan dalam bentuk laporan tugas akhir.
1.7. Sistematika penelitian
Penulisan skripsi ini terdiri dari lima bab dengan masing-masing bab secara singkat dijelaskan sebagai berikut :
Bab 1 : Pendahuluan
Bab ini berisikan dari latar belakang yang dilaksanakan, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.
Bab 2 : Landasan Teori
Pada bab ini berisikan tentang teori-teori pendukung skripsi yang diperlukan untuk memahami permasalahan yang dibahas pada penelitian ini yaitu text mining, text pre-processing, algoritma Stemming Porter, klasifikasi dokumen, metode TF-IDF (Term Frequency-Inverse Document Frequency) dan algoritma Rocchio.
Bab 3 : Analisis dan Perancangan Sistem
Pada bab ini berisikan tentang arsitektur umum, langkah text pre-processing yang dilakukan, proses pembobotan dengan metode TF-IDF (Term Frequency-Inverse Document Frequency), serta analisis dan penerapan algoritma Rocchio dalam melakukan klasifikasi jurnal berdasarkan dari abstrak sebuah jurnal.
Bab 4 : Implementasi dan Pengujian Sistem
Pada bab ini berisikan implementasi perancangan sistem dari hasil analisis dan perancangan yang sudah dipaparkan pada bab 3, serta menguji sistem untuk menemukan kelebihan dan kekurangan pada sistem yang dibuat.
Bab 5 : Kesimpulan dan Saran
Pada bab ini berisikan kesimpulan yang didapatkan terhadap hasil penelitian skripsi dan saran untuk pengembangan lebih lanjut tentang topik terkait pada skripsi ini.
BAB 2
LANDASAN TEORI
2.1. Text mining
Text mining adalah proses ekstraksi pola (informasi dan pengetahuan yang berguna) dari sejumlah besar sumber data tak terstruktur (Sukanya & Biruntha, 2012). Text mining memiliki definisi menambang data yang berupa teks dimana sumber data biasanya didapatkan dari dokumen. Text mining memiliki tujuan dan menggunakan proses yang sama dengan data mining, namun memiliki masukan yang berbeda. Masukan dalam teks mining adalah data yang tidak terstruktur, seperti dokumen Word, PDF, kutipan teks, dll., sedangkan masukan untuk data mining adalah data yang telah terstruktur (Feldman & Sanger, 2007). Text mining mencoba untuk mengekstrak informasi yang berguna dari sumber data melalui identifikasi dan eksplorasi dari suatu pola menarik. Sumber data berupa sekumpulan dokumen dan pola menarik yang tidak ditemukan dalam bentuk database record, tetapi dalam data teks yang tidak terstruktur (P Katariya & Chaudhari, 2015).
2.2. Text pre-processing
Text pre-processing adalah proses pengubahan bentuk data yang belum terstruktur menjadi data yang terstruktur sesuai dengan kebutuhan, yang dilakukan untuk proses mining yang lebih lanjut dengan tujuan untuk penyeragaman dan mempersiapkan teks menjadi data yang akan mengalami pengolahan menjadi data untuk proses pengklasifikasian. Tahapan ini memiliki beberapa tahapan yaitu: tokenisasi (tokenization), pembuangan stopword (stopword removal) dan yang terakhir proses stemming (Korde., 2012). Penjelasan dari tahap-tahap tersebut adalah sebagai berikut:
2.2.1. Tokenisasi
Tokenisasi adalah tahap pemotongan teks input menjadi kata, istilah, simbol, tanda baca, atau elemen lain yang memiliki arti yang disebut token. Tokenisasi adalah proses pemotongan string input berdasarkan tiap kata penyusunnya. Pada prinsipnya proses ini adalah memisahkan setiap kata yang menyusun suatu dokumen. Proses tokenisasi dilakukan penghilangan angka, tanda baca, dan karakter selain alfabet, karena karakter-karakter tersebut dianggap sebagai pemisah kata dan tidak memiliki pengaruh terhadap pemrosesan teks (Verma, et al. 2014). Contoh dari proses tokenisasi dapat dilihat pada gambar 2.1.
Gambar 2.1. Contoh Proses Tokenisasi
2.2.2. Stopword removal
Pembuangan stopword disebut juga filtering. Filtering adalah tahap pemilihan kata-kata penting dari hasil token yaitu kata yang akan digunakan untuk mewakili dokumen. Proses stopwordremoval merupakan proses penghapusan term yang tidak memiliki arti atau tidak relevan. Contoh kata yang termasuk stopword adalah “a”, “an”, “in”, “the”, “is”, “with”, dan lain-lain (Dadgar, et al. 2016). Contoh dari stopword removal dapat dilihat pada gambar 2.2.
Text categorization is used to assign each to document to pedifined categories text categorization is used to assign each to document to pedifined categories
21
Gambar 2.2.Contoh Proses Filtering Stopword
2.2.3. Stemming
Stemming adalah proses untuk mencari root dari kata hasil dari proses filtering. Pencarian root sebuah kata atau biasa disebut dengan mengubah kata menjadi kata dasar dengan menggunakan aturan-aturan tertentu untuk memperkecil hasil indeks tanpa harus menghilangkan makna. Dilakukan proses penghapusan awalan dan akhiran pada setiap kata (Joshi, et al. 2016). Pada proses stemming ini akan menggunakan algoritma Porter. Karena algoritma Porter adalah algortima yang sesuai dengan dokumen yang berbahasa Inggris dengan kata lain menghapus kata-kata yang tidak berkaitan dengan isi dokumen dan merubah kata-kata yang berimbuhan menjadi bentuk dasar. Contoh dari proses stemming dapat dilihat pada Gambar 2.3.
Gambar 2.3. Contoh Proses Stemming
2.3. Algoritma stemming porter
Algoritma stemming Porter (Porter stemmer) adalah proses untuk menghilangkan morfologi dan infeksional ending yang terjadi pada kata-kata dalam bahasa Inggris. Stemming khusus bahasa Inggris yang ditemukan oleh Martin Porter 1980.
text categorization assign document pedifined categories text categorization is used to assign each to document to pedifined categories text categor assign document pedifin categori text categorization assign document pedifined categories
Kegunaannya sebagai bagian dari proses normalisasi term yang biasanya dilakukan ketika mengatur sistem Information Retrieval.
Porter stemming merupakan mencari kata dasar suatu kata berimbuhan dengan membuang imbuhan (akhiran) pada kata - kata bahasa Inggris karena dalam bahasa Inggris tidak mengenal awalan. Algoritma Porter mengubah semua kata dengan root kata yang sama menjadi bentuk kata tunggal (the Stem), dengan membuang akhiran (suffiks) yang ditambahkan pada bagian belakang dari suatu kata dari kata dasar dihilangkan dan hal ini mendekati bentuk conflation dasar (Peter, 2006).
Beberapa definisi yang digunakan dalam algoritma ini adalah sebagai berikut (Porter, 1980) :
V Vokal
C Konsonan
M Measure (ve)
*S -stem berakhiran dengan huruf s *V* -stem mengandung vokal
*d -stem berakhiran dengan double konsonan
*o -stem berakhiran dengan cvc, dengan yang kedua bukan W, X, Y
Menurut Porter (1980) langkah-langkah algoritma Porter stemmer adalah sebagai berikut :
Langkah 1a
SSES SS caresess caress
IES I ponies poni
SS SS caress caress
S cats cat
Langkah 1b
( m>0 ) EED EE feed feed
agreed agree
(*v*) ED plastered plaster
Bled bled
23
Sing sing
Jika aturan kedua atau ketiga pada langkah 1b sukses, dilakukan hal berikut ini :
AT ATE conflat (ed) conflate
BL BLE trouble (ed) trouble
IZ IZE siz (ed) size
(*d dan tidak (*L atau *Z))
single letter
Hopp (ing) hop Tann (ed) tan Fall (ing) fall Hiss (ing) hiss Fizz (ed) fizz (m=1 dan *o) E fail (ing) fail
Fil (ing) file
Aturan untuk memetakan ke single letter menyebabkan penghapusan salah satu pasangan huruf ganda E diletakkan kembali pada akhir setelah –AT, -BL, dan –IZ sehingga akhiran dapat dikenali kemudian.
Langkah 1c
(*v*) Y I happy happi
Sky ski
Langkah 2
(m > 0) ATIONAL ATE relational relate
(m > 0) TIONAL TION conditional condition
Rational rational
(m > 0) ENCI ENCE valenci valence
(m > 0) ANCI ANCE hesitanci hesitance
(m > 0) IZER IZE digitizer digitize
(m > 0) ABLI ABLE conformabli conformable
(m > 0) ENTLI ENT differentli different
(m > 0) ELI E vileli vile
(m > 0) OUSLI OUS analogosli analogous
(m > 0) IZATION IZE vietnamization vietnamize
(m > 0) ATION ATE predication predicate
(m > 0) ATOR ATE operator operate
(m > 0) ALISM AL feudalism feudal
(m > 0) INVENESS IVE decisiveness decisive
(m > 0) FULNESS FUL hopefulness hopeful
(m > 0) OUSNESS OUS callousness callous
(m > 0) ALITI AL formaliti formal
(m > 0) IVITI IVE sensitiviti sensitive
(m > 0) BILITI BLE sensibiliti sensible
Langkah 3
(m > 0) ICATE IC triplicate triplic
(m > 0) ATIVE formative form
(m > 0) ALIZE AL formalize formal
(m > 0) ICITI IC electriciti electric
(m > 0) ICAL IC electrical electric
(m > 0) FUL hopeful hope
(m > 0) NESS goodness good
Langkah 4
(m > 1) AL revival reviv
(m > 1) ANCE allowance allow
(m > 1) ENCE inference infer
(m > 1) ER airliner airlin
(m > 1) IC gyroscopic gyroscop
(m > 1) ABLE adjustable adjust
(m > 1) IBLE defensible defens
(m > 1) ANT irritant irrit
(m > 1) EMENT replacement replac
25
(m > 1) ENT dependent depen
(m > 1 and (*s or *T)) ION adoption adopt
(m > 1) OU homologou homolog
(m > 1) ISM communism commun
(m > 1) ATE activate activ
(m > 1) ITI angulariti angular
(m > 1) OUS homologous homolog
(m > 1) IVE effective effect
(m > 1) IZE bowdlerize bowdler
Langkah 5a
(m > 1) E probate probat
Rate rate
(m > 1 dan not *o) E cease ceas
Langkah 5b
(m > 1 dan *d dan *L) single letter
Controll control
Roll roll
2.4 Klasifikasi dokumen
Klasifikasi dokumen adalah bidang penelitian dalam perolehan informasi yang mengembangkan metode untuk menentukan atau mengkategorikan suatu dokumen kedalam satu atau lebih kelompok yang telah dikenal sebelumnya secara otomatis berdasarkan isi dokumen. Klasifikasi dokumen bertujuan untuk mengelompokkan dokumen yang tidak terstruktur ke dalam kelompok-kelompok yang menggambarkan isi dari dokumen (Goller, et al. 2000).
Atau Klasifikasi adalah proses untuk menemukan model atau fungsi yang menjelaskan atau membedakan konsep atau kelas data dengan tujuan untuk memperkirakan kelas yang tidak diketahui dari suatu objek. Dalam pengklasifikasian data terdapat dua proses yang dilakukan yaitu:
1. Proses training
Pada proses training digunakan training set yang telah diketahui label-labelnya untuk membangun model atau fungsi.
2. Proses testing
Untuk mengetahui keakuratan model atau fungsi yang akan dibangun pada proses training, maka digunakan data yang disebut dengan testing set untuk memprediksi label-labelnya.
Klasifikasi dokumen adalah pemberian kategori yang telah didefinisikan kepada dokumen yang belum memiliki kategori. Mengklasifikasi dokumen merupakan salah satu cara untuk mengorganisasikan dokumen. Dokumen-dokumen yang memiliki isi yang sama akan dikelompokkan ke dalam kategori yang sama (Manning, et al., 2009). Dengan demikian, orang-orang yang melakukan pencarian informasi dapat dengan mudah melewatkan kategori yang tidak relevan dengan informasi yang dicari atau yang tidak menarik perhatian.
2.5.Term Frequency-Inverse Document Frequency (TF-IDF)
Metode TF-IDF merupakan metode untuk menghitung bobot dari kata yang digunakan pada information retrieval. Metode ini juga terkenal efisien, mudah dan memiliki hasil yang akurat. Metode ini akan menghitung nilai Term Frequency (TF) dan Inverse Document Frequency (IDF) pada setiap token (kata) disetiap dokumen dalam korpus.
TF-IDF suatu algoritma yang berdasarkan nilai statistik menunjukkan kemunculan suatu kata di dalam dokumen. Term Frequency-Inverse document frequency (TF-IDF) adalah suatu metode pembobotan kata dengan menghitung nilai TF dan juga menghitung kemunculan sebuah kata pada dokumen teks. Pada pembobotan ini, jika kemunculan term pada sebuah dokumen teks tinggi dan kemunculan term tersebut pada dokumen teks yang lain rendah, maka bobotnya akan semakin besar. TF menyatakan banyaknya suatu kata muncul dalam suatu dokumen. Dan DF menyatakan banyaknya dokumen yang mengandung suatu kata dalam segmen publikasi. TF-IDF adalah nilai bobot dari suatu kata yang diambil dari nilai TF dan nilai invers DF, yang didefinisikan (Feldman & Sanger, 2007) dengan persamaan :
(2.1)
27
Keterangan :
TF-IDF (w,d) : bobot suatu kata dalam keseluruhan dokumen
w : suatu kata (word)
d : suatu dokumen
Tf(w,d) : frequensi kemunculan sebuah kata w dalam dokumen
IDF(w) : inverse DF dari kata W
N : jumlah keseluruhan dokumen
DF (w) : jumlah dokumen yang mengandung kata w
Berdasarkan rumus diatas beberapapun besarnya nilai TF(w,d) , apabila nilai N=DF(w) maka akan didapatkan hasil 0 (nol) untuk perhitungan IDF. Tujuan penghitungan IDF adalah untuk mencari kata-kata yang benar-benar merepresentasikan dokumen teks pada suatu koleksi.
2.6. Algoritma Rocchio
Rocchio merupakan suatu metode pembelajaran supervised document classification. Metode klasifikasi Rocchio membandingkan kesamaan isi antara data training dan data test dengan mempresentasikan semua data kedalam vektor. Setiap bobot kata merupakan dimensi dalam ruang vektor. Kedekatan kesamaan dihitung dari kedekatan sudut yang terbentuk antara bobot data training dan bobot data test. Untuk menghitung bobot setiap kata dalam dokumen digunakan skema pembobotan TFIDF. Karena komponen heuristic/utama klasifikasi Rocchio adalah skema pembobotan TFIDF, metode pembelajaran Rocchio disebut juga dengan TFIDF Classifer (Joachihms,1997). Dalam membandingkan kesamaan isi antara data training dan data test, Rocchio menggunakan prototype vector untuk merepresentasikan kategori yang terbentuk dari data training, dengan kata lain prototype vector merupakan vektor yang mewakili seluruh vektor data training dalam setiap kategori. Tiga hal utama yang dapat dipakai pada klasifikasi Rocchio adalah menggunakan skema pembobotan tf-idf yang berguna untuk merepresentasikan dokumen dalam sebuah vektor, merepresentasikan prototype setiap kategori dengan menjumlahkan vektor-vektor dalam satu kategori dari data training, membandingkan kedekatan sudut antara vektor data test dengan semua prototype vector (Selvi, et al., 2016).
Algortima ini memiliki interpretasi sederhana dalam vektor space model. Sebuah kueri Q dapat direpresentasikan sebagai sebuah dokumen, sebagai sebuah vektor di dalam space, dihitung dengan persamaan (Manning, et al):
(2.3)
Dimana
adalah term relevansi dari untuk queri. (Manning, et al) Ketika jawaban kueri dipresentasikan, pengguna akan memilih beberapa dokumen yang relevan dan sebuah himpunan dokumen yang tidak relevan, keduanya direpresentasikan sebagai vektor di dalam ruang (Khan, et al., 2010). Efek dari umpan balik relevansi diilustrasikan seperti gambar 2.4 :
Gambar 2.4. Rocchio Algorithm (Manning, et al).
Dimana hanya dokumen yang relevan yang dipilih, titik kueri bergerak lebih dekat ke arah pusat dokumen yang dianggap relevan.
Rocchio klasifikasi menerapkan kluster (Centroid) pada setiap kelas. Centroid setiap kelas merupakan rata-rata setiap vektor dokumen pada setiap kelas/kategori. Centroid sebuah kelas adalah rata-rata semua vektor yang berada pada kelas c. Klasifikasi Rocchio merupakan metode klasifikasi yang merepresentasikan setiap dokumen dalam ruang vektor dan membagi ruang vektor tersebut menjadi beberapa bagian berdasarkan Centroid yang ada. Nilai Centroid diperoleh dengan menghitung
29
rata-rata vektor pada semua dokumen (Gao & Guan, 2012). Centroid kelas c dihitung dengan persamaan (Manning, et al):
(2.4)
Centroid masing-masing kelas
adalah setiap dokumen yang ada pada kelas c.
adalah representasi vektor space dari d.
Dalam algoritma Rocchio terdapat 2 proses penting yaitu training dan testing. Proses training dilakukan secara manual, betujuan untuk membetuk model dokumen yang merupakan Centroid dari sebuah kategori dokumen. Proses testing adalah proses pengujian dimana dokumen akan secara otomatis diklasifikasikan oleh sistem.
2.7. Penelitian terdahulu
Penelitian untuk klasifikasi teks sebelumnya sudah pernah dilakukan dengan memanfaatkan metode Rocchio dan Learning semantic. Pada penelitian tersebut membahas tentang klasifikasi teks dengan domain biomedis, memaparkan tentang efek dari learning semantic yang terlibat dalam representasi teks terhadap keefektifan teks. Learning semantic diintegrasikan dalam Rocchio melalui konseptualisasi. Konseptualisasi dinyatakan dalam istilah pemetaan teks yang diekstrak dan disesuaikan dengan konsep UMLRS Metathesaurus untuk memperoleh hasil. Hasil klasifikasi diuji dengan ohsumed. Efek konsseptualisasi dengan Rocchio diperoleh berdasarkan perbedaan standart kesamaan teks dengan variasi strategi konseptualaisasi. Data diambil dari artikel biomedis pada Medline (Albitar, et al. 2012).
Penelitian berikutnya menggunakan algoritma Rocchio dalam sistem rekomendasi indeks web yang membantu pengguna internet untuk menemukan informasi yang relevan dengan memberi saran pada pengguna pada saat pencarian informasi. Penelitian ini menggunakan Multi Instance Learning dan algoritma Rocchio dalam rekomendasi halaman web. Hasil dari metode Rocchio mencapai kinerja yang baik (Tarrago, et al. 2014).
Penelitian dengan memanfaatkan metode K-Nearest Neighbour klasifikasi dokumen temu kembali informasi. Dengan mengklasifikasikan 160 dokumen dengan
kategori seperti Ilmu Fisika dan Teknik, Life Science, Ilmu Kesehatan, dan Ilmu Sosial dan Humaniora. Hasil tes menunjukkan bahwa Sistem pengujian 20 dokumen yang digunakan dapat diklasifikasikan sesuai dengan kategori yang sebenarnya (Purwanti, 2015).
Selanjutnya, klasifikasi berita dengan menggunakan Support Vector Machine (SVM) untuk klasifikasi teks berita dan TF-IDF untuk ektraksi fitur. Penelitian ini mengklasifikasikan berita kedalam beberapa group berita yang sesuai dengan topiknya. Sehingga user dapat menemukan group berita yang terpopuler berdasarkan negara ataupun dalam waktu tertentu. Penelitian ini terbagi dalam 3 tahap yaitu (1) Text Pre-processing (2) ekstraksi fitur menggunakan TF-IDF dan (3) klasifikasi fitur menggunakan SVM. Adapun data yang digunakan yaitu 2 dataset dari BBC dan 5 dataset dari 20Newsgroup. Akurasi yang didapatkan dari penelitian ini yaitu 94.84% untuk BBC dan 94.93% untuk 20ewsgroup (Dadgar, et al. 2016).
Penelitian berikutnya, menggunakan algoritma Rocchio untuk
mengklasifikasikan data hirarki. Pada penelitian ini mengklasifikasikan dokumen/artikel secara otomatis dengan menggunakan dua algoritma yang berbeda yaitu Rocchio dan KNN. Dengan mengambil contoh pada wikipedia dimana ada jutaan dokumen di wikipedia yang diklasifikasikan dalam beberapa kelas hirarki. Pada penelitian ini membandingkan dua algoritma yaitu Rocchio dan KNN, hal ini dilakukan untuk menerapkan dan membandingkan kedua metode sehingga didapatlah metode mana yang mengklasifikasikan pengklasifikasian data yang lebih baik. Dan hasil algoritma Rocchio efisien dibanding KNN (Chetan & Srinivasa, 2016). Beberapa penelitian diatas dapat dilihat dalam tabel 2.1.
31
Tabel 2.1. Penelitian Terdahulu
No Nama Peneliti Tahun Metode Keterangan
1. Albitar, et al 2012 Rocchio, Simiarity Measures
Menggunakan metode
Rocchio dan Learning seantic untuk mengetahui domain medis 2. Tarrago, et al 2014 Multi Instance Learning, Rocchio Menggunakan algoritma Rocchio untuk rekomendasi halaman web untuk mencari informasi yang relevan dengan menggunakan Multi Instance Learning 3. Purwanti 2015 K-Nearest Neighbor, Cosine Similarity. Menggunakan metode K-Nearest Neighbour mengklasifikasikan dokumen dengan kategori Ilmu Fisika dan Teknik, Life Science, Ilmu Kesehatan, dan Ilmu Sosial dan Humaniora
4. Dadgar, et al 2016 SVM (Support Vector Machine), TF-IDF. menggunakan Support Vector Machine (SVM) untuk klasifikasi teks berita dan TF-IDF untuk ektraksi fitur 5. Chetan & Srinivasa 2016 Rocchio, K-Nearest Neighbor (KNN) membandingkan dua algoritma untuk mengklasifikassikan data hirarki yaitu Rocchio dan KNN
BAB 3
ANALISIS PERANCANGAN
Bab ini akan membahas tentang implementasi metode yang digunakan untuk klasifikasi jurnal. Adapun dua tahapan yang dibahas pada bab ini yaitu tahap analisis dan tahap perancangan sistem. Analisis terhadap data yang digunakan dan analisis terhadap metode yang digunakan pada setiap langkah pemrosesan data akan dibahas pada tahap analisis. Perancangan tampilan antarmuka sistem akan dibahas pada tahap perancangan sistem.
3.1. Analisis Data (Pengumpulan data)
Dalam penelitian ini data yang digunakan adalah data berupa jurnal yang didapat dari Google Scholar. Data tersebut akan diproses untuk menghasilkan klasifikasi jurnal dalam beberapa kategori seperti Computer Vision & Pattern Recognition, Artificial Intellegent, Computer System, dan Data Mining dan Analysis dengan menggunakan algoritma Rocchio. Jumlah data sample dan data uji yang digunakan pada penelitian ini dapat dilihat pada tabel 3.1.
Tabel 3.1. Jumlah Data Sample Dan Data Uji
No Kategori Jumlah
Data Sample Data Uji
1 Computer Vision & Pattern Recognition 40 12
2 Computer System 40 12
3 Artificial Intelligent 40 12
4 Data Mining dan Analysis 40 12
33
3.2 Analisis Sistem
Metode yang diajukan penulis untuk klasifikasi jurnal terdiri dari beberapa proses. Proses-proses yang akan dilakukan adalah sebagai berikut : kumpulan jurnal diinput berdasarkan metadata dan content. Metadata yang terdiri dari judul, nama peneliti, dan keywords dan untuk proses abstrak diinputkan berdasarkan contentnya. Setelah input data akan melalui proses teks pre-processing, dan pembobotan dengan metode tf-idf; proses klasifikasi dengan algoritma Rocchio pada tahap ini dilakukan untuk mengklasifikasikan jurnal menjadi 4 kategori berdasarkan topik yang ada pada setiap jurnal. Arsitektur umum yang mendeskripsikan setiap metodologi pada penelitian ini ditunjukkan pada gambar 3.1.
Gambar 3.1. Arsitektur Umum
Keterangan gambar 3.1 dapat dilihat dibawah ini :
3.2.1. Data set
Pada bagian ini data yang dimasukkan adalah berupa judul jurnal, nama peneliti, keyword dan abstrak jurnal. Namun data yang diproses untuk melakukan klasifikasi
nantinya adalah abstrak dari jurnal tersebut. Input abstrak jurnal dapat dilihat pada gambar 3.2.
Gambar 3.2 Contoh Input Abstrak Jurnal 3.2.2. Proses persiapan dan seleksi dokumen
Pada bagian ini abstrak yang sudah diinput akan melalui proses persiapan dan seleksi dokumen dimana tahapan ini bertujuan untuk mempersiapkan dokumen menjadi data yang akan mengalami pengolahan menjadi data untuk proses pengklasifikasian. Tahapan ini memiliki beberapa tahapan yaitu: tokenisasi (tokenization), pembuangan stopword (stopword removal), dan terakhir proses stemming.
3.2.2.1. Tokenisasi
Sebelum kata dipisahkan dari kalimat, terlebih dahulu dibersihkan dari tanda baca, angka, dan simbol. Proses ini dilakukan sebelum proses tokenisasi supaya dapat memperkecil hasil dari tokenisasi tersebut. Pada proses tokenisasi akan dibaca dokumen berupa teks dan selanjutnya akan dilakukan proses pemotongan string input berdasarkan tiap kata yang menyusunnya. Umumnya setiap kata akan terpisahkan dengan kata yang lain oleh karakter spasi, sehingga proses tokenisasi mengandalkan karakter spasi pada dokumen teks tersebut untuk melakukan pemisahan kata. Hasil proses tokenisasi dapat dilihat pada gambar 3.3.
35
3.2.2.2.Stopword removal
Pembuangan stopword disebut juga filtering. Filtering adalah tahap pemilihan kata-kata penting dari hasil token yaitu kata yang akan digunakan untuk mewakili dokumen. Proses stopword removal merupakan proses penghapusan term yang tidak memiliki arti atau tidak relevan. Stopwords removal adalah sebuah proses untuk menghilangkan kata yang tidak relevan pada hasil parsing sebuah dokumen teks dengan cara membandingkannya dengan stopword yang ada. Proses stopword removal dapat dilihat pada gambar 3.4.
Gambar 3.4 Contoh Hasil Stopword Removal 3.2.2.3. Stemming
Stemming adalah proses pengubahan suatu kata menjadi morfem atau kata dasar yang membangunnya. Algoritma stemming yang digunakan adalah algoritma stemming Porter yang telah dijelaskan pada bagian 2.3. Hasil proses stemming dapat dilihat pada gambar 3.5.
Gambar 3.5. Contoh Hasil Stemming
3.2.3. Hasil Pembobotan dengan TF-IDF
Term weighting adalah proses pemberian nilai terhadap setiap term yang ada pada setiap jurnal yang sudah melewati proses pre-processing. Pemberian nilai atau bobot terhadap term ini menggunakan metode TF-IDF. Metode ini adalah metode yang paling umum digunakan dalam pemberian bobot pada suatu term. Pembobotan ini bertujuan untuk
memberikan nilai kepada suatu term yang dimana nilai dari term tersebut akan dijadikan sebagai input pada proses klasifikasi. Detail dari metode TF-IDF ini dapat dilihat pada bagian 2.5 dan hasil perhitungan TF-IDF dapat dilihat pada tabel 3.2.
Proses 1 : menghitung jumlah kemunculan term dan bobot term dengan persamaan (2,1) & (2,2).
Table 3.2. Hasil Pembobotan
Term Tf Df 2Log(n/df) =idf Tf*idf=tf idf
Paper 1 122 2Log (160/ 122) = 0,391191 0,391191 introduc 1 25 2Log(160/ 25) = 2,678072 2,678072 product 2 7 2Log(160/7) = 4,514573 9,029146 quantiz 3 4 2Log(160/4)= 5,321928 15,96578 base 1 76 2Log(160/76)= 1,074001 1,074001 approach 4 77 2Log(160/77) = 1,055142 4,220566 approxim 2 16 2Log(160/16) = 3,321928 6,643856 nearest 2 1 2Log(160/1) = 7,321928 14,64386 neighbor 2 2 2Log(160/2) = 6,321928 12,64386 search 3 13 2Log(160/13) = 3,621488 10,86447 idea 1 6 2Log(160/6) = 4,736966 4,736966 decompos 1 3 2Log(160/3) = 5,736966 5,736966 space 1 17 2Log(160/17) = 3,234465 3,234465 cartesian 1 1 2Log(160/1) = 7,321928 7,321928 low 1 12 2Log(160/12) = 3,736966 3,736966 dimension 1 12 2Log(160/12) = 3,736966 3,736966 subspac 3 4 2Log(160/4) = 5,321928 15,96578 separ 1 10 2Log(160/10) = 4 4 vector 4 13 2Log(160/13) = 3,621488 14,48595 repres 1 22 2Log(160/22) = 2,862496 2,862496 short 1 4 2Log(160/4) = 5,321928 5,321928 code 3 8 2Log(160/8) = 4,321928 12,96578 compos 1 3 2Log(160/3) = 5,736966 5,736966 indic 1 12 2Log(160/12) = 3,736966 3,736966 euclidean 1 3 2Log(160/3) = 5,736966 5,736966
37
3.2.4. Hasil perhitungan Algoritma Rocchio
Klasifikasi yang dilakukan dengan implementasi algoritma Rocchio dengan menggunakan bobot dari setiap term yang dipilih terhadap jurnal dalam database. Nilai
distanc 2 4 2Log(160/4) = 5,321928 10,64386 effici 2 21 2Log(160/21) = 2,929611 5,859221 estim 1 25 2Log(160/25) = 2,678072 2,678072 asymmetr 1 1 2Log(160/1) = 7,321928 7,321928 version 1 5 2Log(160/5) = 5 5 increas 1 19 2Log(160/19) = 3,074001 3,074001 precis 1 9 2Log(160/9) = 4,152003 4,152003 comput 1 50 2Log(160/50) = 1,678072 1,678072 experiment 1 32 2Log(160/32) = 2,321928 2,321928 result 2 76 2Log(160/76) = 1,074001 2,148001 particular 1 18 2Log(160/18) = 3,152003 3,152003 combin 1 23 2Log(160/23) = 2,798366 2,798366 invert 1 2 2Log(160/2) = 6,321928 6,321928 file 1 2 2Log(160/2) = 6,321928 6,321928 sift 1 4 2Log(160/4) = 5,321928 5,321928 gist 1 2 2Log(160/2) = 6,321928 6,321928 imag 1 27 2Log(160/27) = 2,567041 2,567041 descriptor 1 8 2Log(160/8) = 4,321928 4,321928 excel 1 3 2Log(160/3) = 5,736966 5,736966 accuraci 1 22 2Log(160/22) = 2,862496 2,862496 outperform 1 10 2Log(160/10) = 4 4 state 1 52 2Log(160/52) = 1,621488 1,621488 art 1 34 2Log(160/34) = 2,234465 2,234465 scalabl 1 10 2Log(160/10) = 4 4 valid 1 10 2Log(160/10) = 4 4 data 1 65 2Log(160/65) = 1,29956 1,29956 set 1 46 2Log(160/46) = 1,798366 1,798366 billion 1 2 2Log(160/2) = 6,321928 6,321928
bobot yang digunakan adalah nilai TFIDF dari term yang dipilih untuk dijadikan sebagai parameter dalam proses klasifikasi. Detail dari proses algortima Rocchio dapat dilihat pada bagian 2.6. Sebelum klasifikasi terhadap jurnal akan dilakukan tahapan pencarian nilai centroid terhadap jurnal yang diuji. Hasil perhitungan nilai centroid dapat dilihat pada tabel 3.3.
(2,4)
Keterangan :
V = vector (TFIDF/Dc)
Centroids = Jumlah vector (v) dalam 1 class () Total Centroids = Jumlah term dalam satu kelas Dc = Jumlah dokumen perkelas
Normalisasi = centroids/total centroids Proses II. Perhitungan nilai centroid dengan persamaan (2,4)
Tabel 3.3. Hasil Perhitungan Nilai Centroid
Terms TFIDF v Centroids
( ) Total Centroids Normalisas i paper 0,391190 0,0097797 0,2836132 429,66783 0,00066007 introduc 2,678071 0,0669517 0,4017107 429,66783 0,00093493 product 9,029146 0,22572865 0,3385929 429,66783 0,00078803 quantiz 15,96578 0,39914460 0,3991446 429,66783 0,00092896 base 1,074000 0,02685001 1,1545506 429,66783 0,00268707 approach 4,220566 0,10551415 0,7913561 429,66783 0,00184178 approxim 6,643856 0,166096405 1,0796266 429,66783 0,00251270 nearest 14,64385 0,366096405 0,3660964 429,66783 0,00085204 neighbor 12,64385 0,316096405 0,3160964 429,66783 0,00073567 search 10,86446 0,271611628 0,6337604 429,66783 0,00147500
39 idea 4,736965 0,11842414 0,1184241 429,66783 0,00027561 decompos 5,736965 0,14342414 0,4302724 429,66783 0,0010014 space 3,23446 0,080861631 0,5660314 429,66783 0,00131737 cartesian 7,32192 0,183048202 0,1830482 429,66783 0,00042602 low 3,736965 0,09342414 0,9342413 429,66783 0,00217433 dimension 3,736965 0,09342414 0,6539689 429,66783 0,00152203 subspac 15,96578 0,399144607 1,4635302 429,66783 0,00340619 separ 4 0,1 0,5 429,66783 0,00116369 vector 14,48595 0,362148838 1,0864465 429,66783 0,00252857 repres 2,862496 0,071562412 0,7871865 429,66783 0,00183208 short 5,321928 0,133048202 0,2660964 429,66783 0,00061930 code 12,96578 0,324144607 1,0804820 429,66783 0,00251469 compos 5,736965 0,14342414 0,2868482 429,66783 0,00066760 indic 3,736965 0,09342414 0,3736965 429,66783 0,00086973 euclidean 7,321928 0,183048202 0,1830482 429,66783 0,00042602 distanc 10,64385 0,266096405 0,6652410 429,66783 0,00154826 effici 5,859221 0,146480534 0,2929610 429,66783 0,00068183 estim 2,678071 0,066951798 1,8076985 429,66783 0,0042072 asymmetr 7,321928 0,183048202 0,1830482 429,66783 0,00042602 version 5 0,125 0,5 429,66783 0,00116369 increas 3,074000 0,076850015 0,3842500 429,66783 0,00089429 precis 4,152003 0,103800077 0,8304006 429,66783 0,00193265 comput 1,678071 0,041951798 0,9648913 429,66783 0,00224566 experiment 2,321928 0,058048202 0,5224338 429,66783 0,00121590 result 2,148001 0,053700029 0,6712503 429,66783 0,00156225 particular 3,152003 0,078800077 0,5516005 429,66783 0,00128378 combin 2,798366 0,069959153 0,6296323 429,66783 0,00146539 invert 6,321928 0,158048202 0,3160964 429,66783 0,00073567 file 6,321928 0,158048202 0,1580482 429,66783 0,00036783 sift 5,321928 0,133048202 0,6652410 429,66783 0,00154826 gist 7,321928 0,183048202 0,1830482 429,66783 0,00042602 imag 2,567040 0,064176015 5,9041933 429,66783 0,01374129 descriptor 4,321928 0,108048202 0,7563374 429,66783 0,00176028
excel 5,736965 0,14342414 0,1434241 429,66783 0,00033380 accuraci 2,862496 0,071562412 0,6440617 429,66783 0,00149897 outperform 4 0,1 0,9 429,66783 0,00209464 state 1,621488 0,040537209 1,0945046 429,66783 0,00254732 art 2,234465 0,055861631 1,3965407 429,66783 0,00325028 scalabl 4 0,1 0,3 429,66783 0,00069821 valid 4 0,1 0,3 429,66783 0,00069821 data 1,255838 0,031395973 0,9418791 429,66783 0,00219211 set 1,798366 0,044959153 0,9891013 429,66783 0,00230201 billion 6,321928 0,158048202 0,3160964 429,66783 0,00073567
Hasil nilai centroid yang dinormalisasikan kemudian akan dikalikan dengan bobot term untuk dijumlahkan perkategori dan hasil nilai tertinggi dari kategori akan menentukan hasil klasifikasi. Stelah menghitung hasil pembobotan dan nilai centroid akan dilakukan tahapan klasifikasi untuk mendapatkan hasil kategori yang seharusnya terhadap dokumen jurnal yang di uji, dengan mengunakan persamaan:
(2,3)
Tahapan klasifikasi dengan algoritma Rocchio dapat dilihat pada tabel 3.4. Proses III. Menghitung klasifikasi dengan persamaan (2,3).
Tabel 3.4. Hasil Klasifikasi dengan Algoritma Rocchio
Centroid WT Terms TFIDF C1 C2 c3 c4 C1 C2 c3 c4 paper 0.391191 0.000666 0.000258 introduc 2.678072 0.000935 0.002504 product 9.029146 0.000788 0.007115 quantiz 15.96578 0.000929 0.014832 base 1.074001 0.002687 0.002886 approach 4.220566 0.001842 0.007773 approxim 6.643856 0.002513 0.016694
41 nearest 14.64386 0.000852 0.012477 neighbor 12.64386 0.000736 0.009302 search 10.86447 0.001475 0.016025 idea 4.736966 0.000276 0.001306 decompos 5.736966 0.001001 0.005745 space 3.234465 0.001317 0.004261 cartesian 7.321928 0.000426 0.003119 low 3.736966 0.002174 0.008125 dimension 3.736966 0.001522 0.005688 subspac 15.96578 0.003406 0.054382 separ 4 0.001164 0.004655 vector 14.48595 0.002529 0.036629 repres 2.862496 0.001832 0.005244 short 5.321928 0.000619 0.003296 code 12.96578 0.002515 0.032605 compos 5.736966 0.000668 0.00383 indic 3.736966 0.00087 0.00325 euclidean 7.321928 0.000426 0.003119 distanc 10.64386 0.001548 0.01648 effici 5.859221 0.000682 0.003995 estim 2.678072 0.004207 0.011267 asymmetr 7.321928 0.000426 0.003119 version 5 0.001164 0.005818 increas 3.074001 0.000894 0.002749 precis 4.152003 0.001933 0.008024 comput 1.678072 0.002246 0.003768 experiment 2.321928 0.001216 0.002823 result 2.148001 0.001562 0.003356 particular 3.152003 0.001284 0.004046 combin 2.798366 0.001465 0.004101 invert 6.321928 0.000736 0.004651 file 6.321928 0.000368 0.002325 sift 5.321928 0.001548 0.00824
gist 7.321928 0.000426 0.003119 imag 2.567041 0.013741 0.035274 descriptor 4.321928 0.00176 0.007608 excel 5.736966 0.000334 0.001915 accuraci 2.862496 0.001499 0.004291 outperform 4 0.002095 0.008379 state 1.621488 0.002547 0.00413 art 2.234465 0.00325 0.007263 scalabl 4 0.000698 0.002793 valid 4 0.000698 0.002793 data 1.255839 0.002192 0.002753 set 1.798366 0.002302 0.00414 billion 6.321928 0.000736 0.004651 Q 0.438993 Hasil klasifikasi (Q) adalah nilai tertinggi pada saat dilakukan testing data uji.
43
3.3.Perancangan Sistem 3.3.1. Use Case Diagram
USER
Data Sample
Uji Data
Laporan
Data Hasil Training Tambah <<include>> SISTEM Ubah Hapus Lihat <<include>> <<include>> <<include>> <<include>> <<include>> Hasil Klasifikasi Berikan Penilaian <<include>>
Laporan Data Sampel
<<include>>
Testing
<<include>>
Gambar 3.6. Use Case Diagram
Keterangan use case dapat dilihat pada dibawah ini :
Tabel 3.5. Deskripsi Use Case Data Sample Nama Use case Data sample
Aktor User
Pre-condition User telah berada pada halaman utama sistem
Skenario Keterangan untuk tambah data sample 1. User menambahkan data sample
2. Sistem menampilkan halaman upload data sample 3. User memilih dan mengupload data sample
4. Sistem menampilkan field pada halaman tambah data sample
5. User dapat memilih kategori data sample dan menyimpannya
6. Sistem menampillkan halaman data sample
Keterangan untuk ubah data sample
1. User memilih tombol edit pada halaman data sample 2. Sistem menampilkan halaman edit data sample 3. User mengedit data sample dan menyimpannya 4. Sistem menampillkan halaman data sample
Keterangan Hapus
1. User memilih tombol hapus pada halaman data sample 2. Sistem menampillkan halaman data sample
Keterangan Lihat data sample
1. User memilih menu data sample
2. Sistem menampillkan halaman data sample
Keterangan Training data sample
1. User memilih tombol training data sample
2. Sistem memproses semua data training yang telah dimasukkan dan
3. Sistem menampilkan halaman laporan
Post-Condition User dapat melihat halaman laporan
Tabel 3.6. Deksripsi Use Case Laporan Nama Use case Laporan
Aktor User
45
Skenario Keterangan data hasil training 1. User memilih menu laporan
2. User dapat memilih tombol reset dictionary dan Centroid untuk menghapus tabel laporan
3. Sistem menampilkan halaman Laporan
Post-Condition User dapat melihat halaman laporan
Tabel 3.7. Deskripsi Use Case Uji Data Nama Use case Uji Data
Aktor User
Pre-condition User telah berada pada halaman utama sistem
Skenario Keterangan hasil klasifikasi
1. User memilih menu data uji
2. Sistem menampilkan halaman data uji 3. User memilih file dan menguploadnya.
4. Sistem menampilkan halaman tambah data uji 5. User mengklik tombol proses
6. Sistem memproses data uji dan menampilkan hasil data uji
7. Apabila data uji sesuai dengan kategori yang seharusnya, user dapat langsung menyimpan hasil klasifikasi.
8. Apabila data uji tidak sesuai dengan kategori yang seharusnya, user dapat memilih kategori yang seharusnya dan menyimpannya.
9. Sistem menampillkan halaman data uji.
3.3.2. Rancangan sistem
3.3.2.1 Rancangan Tampilan halaman utama
Rancangan halaman utama ini berfungsi untuk menampilkan halaman utama yang berisikan home page Rocchio. Pada halaman ini berisikan menu dashboard, data uji, data sample, laporan dan menu tentang. Dalam menu dashboard terdapat beberapa content yang akan dijelaskan pada gambar 3.8. Pada menu data sample terdapat beberapa sub menu yaitu master, tokenisasi, stopword, stemming, pembobotan & klasifikasi. Dapat dilihat pada gambar 3.7.
Gambar 3.7. Rancangan Halaman Utama
3.3.2.2. Rancangan tampilan halaman dashboard Rancangan dashboard dapat dilihat pada gambar 3.8.
Data Uji Data Sample Hasil Perhitungan
KLASIFIKASI JURNAL BERBAHASA INGGRIS BERDASARKAN ABSTRAK DENGAN ALGORITMA ROCCIO
[1] [2] [3]
Akurasi [4]
Gambar 3.8. Rancangan Halaman Dashboard
Home | Rocchio Dashboard Data Uji Data Sample Master Tokenisasi Stopword Stemming Pembobotan & klasifikasi Laporan Tentang setting Content
47
Keterangan :
1. Data uji berisikan jumlah data uji. Ketika jumlah data uji diklik akan menampilkan halaman upload dan menampilkan semua data uji yang berhasil diproses. “choose file “ untuk memilih jurnal yang akan diuji. “upload” untuk mengupload file yang telah dipilih. “lihat data uji” menampilkan tabel data uji yang diproses. “lihat kategori” untuk melihat semua jenis kategori jurnal yaitu kategori Artificial Intellegent, Computer Vision & Pattern Recognation, Data Mining & Analysis dan Computer System. “show” untuk menampilkan banyaknya jurnal yang akan ditampilkan. “edit” untuk mengubah isi jurnal yang telah diproses. “delete” untuk menghapus jurnal pada table lihat data uji. Halaman tersebut dapat dilihat pada gambar 3.9.
Gambar 3.9. Rancangan Halaman Data Uji
2. Data sample menampilkan jumlah data sample. Ketika jumlah data sample diklik akan menampilkan halaman tambah data sample. “Tambah data sample” untuk menambah data sample. “Training Data Sample” untuk melakukan training keseluruhan data sample. “lihat kategori” untuk melihat semua jenis kategori jurnal yaitu kategori Artificial Intellegent, Computer Vision & Pattern Recognation, Data Mining & Analysis dan Computer System. “show” untuk menampilkan banyaknya jumlah data sample yang akan ditampilkan.“edit”
upload show Lihat Kategori Data Uji nama file choose file
Lihat Data Uji
id caption abstract category status action
edit delete search all columns
untuk mengubah isi jurnal pada data sample. “delete” untuk menghapus jurnal pada tabel data sample. Dapat dilihat pada gambar 3.10.
Gambar 3.10. Rancangan Halaman Data sample
3. Hasil perhitungan menampilkan tabel laporan. “reset” untuk menghapus hasil training data sample. “Training” untuk melakukan trainig ulang data sample apabila hasil training dihapus. “show” untuk menampilkan jumlah laporan dalam satu halaman. Search untuk mencari field term dan id. Dapat dilihat pada gambar 3.11.
Gambar 3.11. Rancangan Halaman Laporan
show Lihat Kategori
Data Sample
id caption abstract category status action
edit delete
Tambah Data sample Training Data Sample
show Tabel Laporan i d Term T F kategori jurnal Reset
dictionary dan centroid
Training
Data Sample
Laporan Terms Centroid
enter search :
49
4. Akurasi menampilkan jumlah persentase dari data uji oleh sistem.
3.3.2.3. Rancangan halaman data sample
1. Tokenisasi
Tokenisasi menampilkan hasil proses tokenisasi dari abstrak data sample dalam bentuk table pada halaman tokenisasi. “show” untuk menampilkan jumlah tokenisasi dalam satu halaman. Search untuk mencari field pada tabel tokenisasi. Tampilan tokenisasi dapat dilihat pada gambar 3.12.
Gambar 3.12. Rancangan Halaman Tokenisasi 2. Stopword
Stopword menampilkan hasil proses stopword dari abstract data sample dalam bentuk tabel pada halaman stopword. “show” untuk menampilkan jumlah hasil stopword dalam satu halaman. Search untuk mencari field pada tabel stopword. Tampilan hasil stopword dapat dilihat pada gambar 3.13.
show
Tokenisasi
id Kategori Abstract
enter search :
Gambar 3.13. Rancangan Halaman Stopword
3. Stemming
Stemming menampilkan hasil proses stemming dari abstract data sample dalam bentuk tabel pada halaman stemming. “show” untuk menampilkan jumlah hasil stemming dalam satu halaman. “Search” untuk mencari field pada tabel stemming. Tampilan hasil stemming dapat dilihat pada gambar 3.14.
Gambar 3.14. Rancangan Halaman Stemming show Stopword id Kategori Abstract enter search : show Stemming id Kategori Abstract enter search :
51
4. Pembobotan & klasifikasi
Pembobotan & klasifikasi menampilkan hasil proses pembobotan & klasifikasi dari abstract data sample dalam bentuk tabel pada halaman pembobotan & klasifikasi. Halaman ini menampilkan hasil perhitungan TFIDF dan algoritma Rocchio dari semua data sample. “show” untuk menampilkan jumlah hasil pembobotan & klasifikasi dalam satu halaman. “Search” untuk mencari field pada tabel pembobotan & klasifikasi. Tampilan hasil Pembobotan & Klasifikasi dapat dilihat pada gambar 3.15.
Gambar 3.15. Rancangan Halaman Pembobotan & Klasifikasi show
Pembobotan dan Klasifikasi
i d Kategori ter ms tf tfi df d c v c centr oid total score normalis ai enter search :
3.3.2.4.Rancangan halaman hasil data uji
Setelah proses upload dilakukan pada halaman data uji, maka akan ditampilkan hasil preprocessing dan hasil klasifikasi pada form data uji. Judul, penulis, keyword, dan abstract diambil secara otomatis. Jika hasil klasifikasi sesuai pilih simpan dan jika hasil klasifikasi tidak sesuai dapat diubah dengan memilih kategori yang seharusnya dan menyimpannya. Halaman hasil data uji dapat dilihat pada gambar 3.16.
Gambar 3.16. Rancangan Halaman Hasil Test Data Uji Hasil Testing Data Uji
enter text Judul enter text Penulis enter text Keyword enter text Abstract enter text Tokenisasi enter text Stopword enter text Stemming enter text Hasil Klasifikasi Hasil Sesuai ? enter text Kategori seharusnya Simpan [2] [1]