i
KLASIFIKASI DOKUMEN SKRIPSI
TEKNIK INFORMATIKA
MENGGUNAKAN METODE ROCCHIO
SKRIPSI
Diajukan untuk memenuhi salah satu syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
Disusun oleh:
Andreas Hemawan Tri Nurdianto NIM : 055314017
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS dan TEKNOLOGI
UNIVERSITAS SANATA DHARMA
ii
CLASSIFICATION OF INFORMATIC ENGINEERING FINAL PROJECT DOCUMENT
USING ROCCHIO METHOD
A THESIS
Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree
In Informatics Engineering Department
By :
Andreas Hemawan Tri Nurdianto NIM : 055314017
DEPARTMENT OF INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
v
HALAMAN MOTTO
â Jika permainan telah dimulai janganlah mundur walaupun sering gagal dalam melewati tiap level dalam permainan, tetaplah mencoba dan jangan menyerah karena semua pasti akan ada jalan menuju ke kebahagiaan â
Bocah bagus anakku lanang,
Aja wedi , goleko pepadhange dalan, ora kendhat anggonku ngengudhang, Duh bocah bagus anakku lanang,
Wong tua dudu raja, sing dak wariske dudu bandha donya, Sangumu mung isi pitutur , muga dadi titah kang luhur.
Anak lanang bagusing ati,
Aja lali anggonmu memuji, Marang Gusti kang murbeng dumadi, Mugo dadi padhange ati.
Urip ing ndonya iku sadhelo, Urip ing kono koyo samudro,
Mula ngger, ojo wegah podho tetanen, ing kono mbesuk bakal panen. Bocah bagus anakku lanang,
Aja nganti ninggal piwulang, mumpung jembar goleko pepadhang, Ojo jirih ing pepalang.
Sejatine ora ono opo â opo,
Sejatine jagad awujud suwung, ora warno lan ora rupo, Sing ana mung awing â uwung.
Akehing bandha dudu ukuran, Drajat lan pangkat dudu takeran,
Lan pepujane rasa dudu anak, pagering jiwo dudu sanak. Wong tuwamu dudu dewo, ora wenang nulis garise manungso,
vi
PERNYATAAN KEASLIAN KARYA
Saya menyatakan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya orang lain kecuali telah disebutkan dalam kutipan atau daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, September 2010 Penulis,
vii
PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Andreas Hemawan Tri Nurdianto
NIM : 055314107
Demi pengembangan ilmu pengetahuan,saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
KLASIFIKASI DOKUMEN SKRIPSI
TEKNIK INFORMATIKA
MENGGUNAKAN METODE ROCCHIO
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini yang saya buat dengan sebenarnya.
Dibuat di Yogyakarta,
Pada tanggal : September 2010 Yang menyatakan
viii
ABSTRAK
Skripsi merupakan tugas akhir mahasiswa sebagai syarat kelulusan. Setiap tahun skripsi akan terus bertambah banyak seiring dengan kelulusan mahasiswa. Sebagai akibatnya jumlah informasi yang didapat dari skripsi akan terus bertambah banyak. Skripsi ini bertujuan membuat suatu aplikasi yang dapat mengklasifikasikan skripsi berdasarkan dokumen â dokumen abstrak yang telah ada. Menggunakan teknik sistem temu kembali informasi .
Sistem temu kembali informasi (information retrieval system) digunakan untuk menemukan kembali (retrieve) informasi - informasi yang relevan terhadap kebutuhan pengguna dari suatu kumpulan informasi secara otomatis. Dengan sistem informasi temu kembali, terdapat dua proses penting yaitu proses indexing dan pencarian dokumen. Proses indexing adalah proses pemberian bobot kata berdasarkan frekuensi kemunculan kata pada satu dokumen dan menyimpannya kedalam koleksi dalam database yang disebut index. Index yang terbentuk dapat digunakan untuk pencarian dokumen yang sesuai dengan query user, dimana hasil pencarian disusun berdasarkan tingkat kemiripan dokumen. Proses pencarian kemiripan inilah yang digunakan untuk melakukan klasifikasi dokumen atau teks.
Untuk melakukan klasifikasi digunakan vector space model dengan term (kata) sebagai pembentuk ruang vektor. Setiap vektor term mengandung bobot yang digunakan untuk menghitung tingkat kemiripan dokumen. Tingkat kemiripan dokumen dihitung menggunkan cosinus similarty. Untuk klasifikasi dokumen menggunakan algoritma rocchio. 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. Kategori dokumen yang digunakan adalah basisdata, jaringan dan komputasi. Proses testing adalah proses pengujian dimana dokumen akan secara otomatis diklasifikasikan oleh sistem.
ix
ABSTRACT
Thesis is the final project, students as a condition of graduation. Each year the paper will continue to grow much in line with the graduation of students. As a result of information obtained from theses will continue to increase. This thesis aims to create an application that can classify the thesis based on the document - the document has no abstract. The methodology used is the information retrieval system.
Information retrieval system (information retrieval system) used to find the back (retrieve) information - information that is relevant to the needs of users from a collection of information automatically. With information retrieval systems, there are two important processes: process indexing and searching documents. Indexing process is the process of weighting by frequency of occurrence of words in a word document and save it into a collection in a database called the index. Index that is formed can be used to search according to user queries, where search results have been prepared based on the similarity of the relevant documents to irrelevant documents based on similarities in the training documents with user queries. Similarity search process is used to perform the classification of documents or texts.
x
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa karena atas segala berkat dan rahmat-Nya penulis dapat menyelesaikan skripsi dengan judul âKlasifikasi Dokumen Skripsi Teknik Informatika Menggunakan Metode Rocchioâ.
Penulisan skripsi ini diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Program Studi Teknik Informatika Universitas Sanata Dharma Yogyakarta.
Dengan terselesaikannya penulisan skripsi ini, penulis mengucapkan terima kasih kepada pihak-pihak yang telah membantu memberikan dukungan baik berupa masukan ataupun berupa saran. Ucapan terima kasih ditujukan kepada :
1. Bapak dan Ibu yang telah memberi dukungan kepada penulis baik moral, spiritual maupun material selama masa studi.
2. Bapak Puspaningtyas Sanjaya Adi, S.T., M.T. selaku Ketua Jurusan Teknik Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta dan dosen pembimbing yang telah memberikan dukungan, bantuan dan dorongan kepada penulis selama mengikuti proses perkuliahan sampai dengan penyelesaian skripsi ini.
3. Bapak Yosef Agung Cahyanta,.S.T,M.T. selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.
4. Kakak dan Adik tersayang atas doa dan dukungannya.
xi
Dalam penulisan skripsi ini, pastilah masih banyak kekurangan dan hal yang perlu diperbaiki. Oleh karena itu saran dan kritik dari pembaca yang sekiranya dapat membangun sangat penulis harapkan.
Akhir kata, semoga penulisan skripsi ini berguna untuk menambah wawasan ataupun menjadi referensi bagi para pembaca sekalian khususnya pada mahasiswa Teknik Informatika.
Yogyakarta, 17 September 2010
xii
DAFTAR ISI
HALAMAN JUDUL INDONESIA ... .i
HALAMAN JUDUL ENGLISH... .ii
HALAMAN PERSETUJUAN ... .iii
HALAMAN PENGESAHAN ... iv
HALAMAN MOTTO ... v
PERNYATAAN KEASLIAN KARYA ... vi
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii
ABSTRAK ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR TABEL ... xv
DAFTAR GAMBAR ... xvi
BAB I ... 1
PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Batasan Masalah ... 2
1.4 Tujuan Penelitian ... 3
1.5 Metodologi Penelitian ... 3
1.6 Sistematika Penulisan ... 4
BAB II ... 6
LANDASAN TEORI ... 6
2.1 Pengertian Sistem Temu-kembali Informasi ... 6
2.2 Pengindeksan (Indexing) Dalam Sistem Temu-Kembali Informasi ... 6
2.3 Model Ruang Vektor ... 14
2.4 Algoritma Rocchio Clasification... 16
xiii
BAB III ... 24
ANALISIS DAN PERANCANGAN SISTEM ... 24
3.1 Gambaran Umum Sistem ... 24
3.1.1 Analisis Kebutuhan ... 29
3.2 Analisa Sistem ... 30
3.2.1 Model Use Case ... 30
3.2.1.1 Actor ... 30
3.2.1.2 Diagram Use Case... 31
3.2.1.3 Tabel Use Case ... 31
3.2.2 Skenario Use Case ... 33
3.2.3 Model Analisis ... 34
3.2.3.1 Realisasi Use case ... 34
3.2.3.2 Diagram Kelas Keseluruhan ... 35
3.3 Desain Sistem ... 35
3.3.1 Kelas Perancangan ... 35
3.3.2 Atribut dan Method ... 41
3.3.3 Prototype Antarmuka ... 41
3.3.4 Desain Database ... 41
3.3.5 Rencana Pengujian dan Evaluasi ... 45
BAB IV ... 46
IMPLEMENTASI ... 46
4.1 Implementasi ... 46
4.1.1 Implementasi Antarmuka / View ... 46
4.1.2 Implementasi Contro ... 48
4.1.3 Implementasi Model... 48
4.1.4 Implementasi Entitas / Tabel ... 51
4.2 Pengujian Hasil Rekomendasi... 51
BAB V ... 55
ANALISIS HASIL ... 55
5.1 Kesimpulan ... 55
xiv
Daftar Pustaka ... 58
Lampiran 1 â¦â¦â¦.â¦â¦â¦...â¦â¦...60
Lampiran 2 â¦â¦â¦.â¦â¦â¦...â¦â¦...73
Lampiran 3 â¦â¦â¦.â¦â¦â¦...â¦â¦...92
Lampiran 4 â¦â¦â¦.â¦â¦â¦...â¦â¦...93
Lampiran 5 â¦â¦â¦.â¦â¦â¦...â¦â¦....125
Lampiran 6 â¦â¦â¦.â¦â¦â¦...â¦â¦....133
Lampiran 7 â¦â¦â¦.â¦â¦â¦...â¦â¦....143
xv
DAFTAR TABEL
Tabel 2.1. Kombinasi Awalan Akhiran yang Tidak Diijinkan ... 10
Tabel 2.2. Cara Menentukan Tipe Awalan Untuk Kata yang Diawali dengan âte-â ... 11
Tabel 2.3. Jenis Awalan Berdasarkan Tipe Awalannya ... 11
Tabel 2.4. Pembobotan (TF/IDF) Dokumen ... 13
Tabel 2.5Pencarian centroid kategori ... 18
Tabel 2.6 Contoh dokumen query ... 20
Tabel 2.7 Dasar perhitungan Similarity ... 20
Tabel 3.8 Tabel aktor yang terlibat ... 30
Tabel 3.9 Tabel Use Case... 31
Tabel 3.10 Tabel Skenario Use Case ... 33
Tabel 3.11 Tabel Realisasi Use Case ... 34
Tabel 3.12 Tabel Kelas Perancangan ... 36
Tabel 3.13 Tabel Prototype Antarmuka ... 41
Tabel 4.14 Implemantasi antarmuka ... 46
Tabel 4.15 Implemantasi Kontrol ... 48
Tabel 4.16 Implementasi Model ... 48
Tabel 4.17 Implementasi Entity / Tabel ... 51
Tabel 4.18 Hasil perhitungan similarity sistem... 52
Tabel 4.19 Hasil kuisioner responden ... 52
Tabel 4.20 Hasil Precision ... 53
Tabel 4.21 Daftar term yang masuk dalam 3 kategori ... 53
Tabel 4.22 Daftar term yang masuk dalam 3 kategori â¦â¦â¦...â¦â¦....53
Tabel 5.23 Atribut dan Metodeâ¦â¦â¦...â¦â¦...53
xvi
DAFTAR GAMBAR
Gambar 2.1 Proses parsing kata ... 7
Gambar 2.2 Proses stoplist ... 8
Gambar 2.3 Ilustrasi Algoritma TF-IDF ... 13
Gambar 2.4 Ilustrasi perhitungan centroid ... 18
Gambar 3.5 Gambar proses klasifikasi keseluruhan ... 25
Gambar 3.6 Gambar Proses indexing(a), pembuatan model(b) ... 26
Gambar 3.7 Gambar Proses Klasifikasi ... 27
Gambar 3.8 Gambar model proses indexing ... 27
Gambar 3.9 Gambar model klasifikasi dokumen ... 28
Gambar 3.10 Gambar Proses Pencarian Dokumen ... 29
Gambar 3.11 Diagram Use Case ... 31
Gambar 3.12 Class diagram ... 42
1
BAB I
PENDAHULUAN
1.1
Latar Belakang
Skripsi merupakan tugas akhir mahasiswa sebagai syarat kelulusan. Setiap tahun skripsi akan terus bertambah banyak seiring dengan kelulusan mahasiswa. Sebagai akibatnya jumlah informasi yang didapat dari skripsi akan terus bertambah banyak.
Banyaknya informasi seharusnya memberikan manfaat bagi user. Namun terkadang tidak mudah untuk mengetahui informasi yang berkaitan. Kerterbatasan waktu atau mungkin perangkat bisa menjadi penyebabnya. Oleh karena itu, dibutuhkan suatu metode pengelompokkan dokumen skripsi untuk mempermudah dalam pengambilan informasi sesuai kebutuhan user. Klasifikasi merupakan salah satu metode yang dapat digunakan untuk menemukan keterkaitan antar dokumen. Tujuan klasifikasi adalah untuk memisahkan sekumpulan dokumen ke dalam beberapa kelompok atau kelas dengan menilai kemiripan antar dokumen dari segi konten. Pengelompokan skripsi - skripsi yang saling berkait ini, akan membantu user untuk menemukan informasi yang dibutuhkan.
tersebut. Kesamaan antar dokumen dihitung menggunakan perhitungan yang berbasis fitur vector seperti cosine measure.
Pada skripsi ini basis vector space yang digunakan untuk melakukan klasifikasi adalah Rocchio Clasification yang menghitung term dalam suatu dokumen, centroid dari tiap term dalam suatu kategori / kelompok dan juga menghitung tingkat kemiripan dokumen.
Penggunaan algoritma Rocchio sebagai algoritma klasifikasi, diharapkan menghasilkan aplikasi yang dapat bermanfaat dalam teknologi informasi, misalnya aplikasi klasifikasi dokumen skripsi teknik informatika yang dapat mempermudah pencarian informasi mengenai suatu kategori tertentu.
1.2
Rumusan Masalah
Bagaimana membangun applikasi klasifikasi dokumen skripsi di Teknik Informatika?
1.3
Batasan Masalah
Adapun batasan aplikasi klasifikasi dokumen skripsi Teknik Informatika adalah sebagai berikut :
1. Dokumen yang dapat diproses adalah dokumen teks (*.txt).
3. Jenis pengklasifikasian skripsi untuk pengujian dibagi menjadi 3 kategori yaitu basisdata, komputasi dan jaringan.
1.4
Tujuan Penelitian
Adapun tujuan penulisan skripsi adalah sebagai berikut:
1. Membangun sistem klasifikasi dokumen skripsi Teknik Informatika. 2. Membangun sistem yang dapat membantu mahasiswa dalam pencarian
dokumen skripsi.
1.5
Metodologi Penelitian
Dalam penyusunan skripsi dan pembuatan aplikasi klasifikasi dokumen skripsi Teknik Informatika, dipakai beberapa metode untuk mencari informasi yang diperlukan, yaitu:
1. Metode pengumpulan data : a. Studi literatur
Mencari dan mengumpulkan literatur - litaratur yang berkaitan dengan permasalahan yang dikerjakan, yaitu mengenai klasifikasi dokumen dengan menggunakan algoritma Rocchio.
b. Pembagian kuisioner untuk melakukan uji presisi aplikasi 2. Metode pengembangan sistem
a. Inception
Mempelajari masalah-masalah yang timbul dan menentukan kebutuhan-kebutuhan bagi pemakai sistem untuk mengidentifikasi pemecahan yang beralasan.
b. Elaboration
Menggambarkan bagaimana suatu sistem dibentuk termasuk menyangkut konfigurasi dari komponen-komponen perangkat lunak dari suatu sistem.
c. Construction
Merupakan tahapan pembangunan sistem sesuai dengan model analisis dan perancangan pada fase-fase berikutnya.
d. Transistion
Membuat apa yang sudah dimodelkan menjadi suatu produk jadi.
1.6
Sistematika Penulisan
Bab I Pendahuluan
Memberikan gambaran secara umum tentang isi skripsi yang meliputi: latar belakang, rumusan masalah, batasan masalah, tujuan dan manfaat, metode penelitian dan sistematika penulisan.
Bab II Landasan Teori
Bab III Analisa dan Perancangan
Berisi gambaran umum sistem, metode pengumpulan data, usecase diagram, sekenario perancangan, analisa peracangan, perancangan basis data, perancangan tampilan masukan dan keluaran untuk pengguna.
Bab IV Implementasi dan Pengujian
Bab ini menjelaskan tentang implementasi ke dalam bentuk program berdasarkan desain yang telah dibuat dan pengujian applikasi dalam bentuk olah hasil kuisioner.
Bab V Kesimpulan dan Saran
Bab ini berisi semua kesimpulan yang didapatkan dari penelitian yang telah dilakukan. Kesimpulan menjawab rumusan masalah yang dituliskan pada bab pendahuluan secara ringkas dan jelas.
6
BAB II
LANDASAN TEORI
2.1 Pengertian Sistem Temu-kembali Informasi
Sistem temu-kembali informasi adalah suatu proses untuk mengidentifikasi, kemudian memanggil (retrieve) suatu dokumen dari suatu simpanan (file), sebagai jawaban atas pemintaan informasi. Menurut Lancaster
(1968) dalam Rijsbergen (1979): âSebuah information retrieval system (Sistem
Temu-kembali Informasi) tidak memberitahu (yakni tidak mengubah pengetahuan) pengguna mengenai masalah yang ditanyakannya. Sistem tersebut hanya memberi-tahukan keberadaan (atau ketidakberadaan) dan keterangan dokumen-dokumenyang berhubungan dengan permintaannyaâ.
2.2 Pengindeksan (Indexing)
Dalam Sistem Temu-Kembali
Informasi
Indexing merupakan sebuah proses untuk melakukan pengindeksan terhadap kumpulan dokumen yang akan disediakan sebagai informasi kepada pemakai. Proses pengindeksan bisa secara manual ataupun secara otomatis. Dewasa ini, sistem pengindeksan secara manual mulai digantikan oleh sistem pengindeksan otomatis. Adapun tahapan dari pengindeksan adalah sebagai berikut :
ï¶ Parsing Dokumen yaitu proses pengambilan kata-kata dari kumpulan dokumen.
ï¶ Stoplist yaitu proses pembuangan kata buang seperti: tetapi, yaitu,
ï¶ Stemming yaitu proses penghilangan/ pemotongan dari suatu kata menjadi bentuk dasar. Kata âdiadaptasikanâ atau âberadaptasiâ mejadi
kata âadaptasiâ sebagai istilah.
ï¶ Term Weighting dan Inverted File yaitu proses pemberian bobot pada istilah.
Berikut ini adalah penjelasan tiap tahap pengindeksan dokumen :
Parsing
Untuk pemrosesan, dokumen dipilah menjadi unit-unit yang lebih kecil misalnya berupa kata. Unit pemrosesan tersebut disebut sebagai token. Parsing merujuk pada proses pengenalan token yang terdapat dalam rangkaian teks (Grossman, 2002). Dalam proses parsing memerlukan suatu pengetahuan bahasa untuk menangani karakter-karakter khusus, serta menentukan batasan satuan unit dalam dokumen.
Gambaran proses parsing adalah sebagai berikut :
Gambar 2.1 Proses parsing kata
Proses parsing juga mengunakan daftar kata buang (stoplist) yakni daftar kata-kata yang tidak digunakan (dibuang) karena tidak signifikan dalam
Dokumen Kalkulus
Mahasiswa mengerti dan menguasai: konsep pendiferensialan dan pengintegralan;
penerapan konsep itu dalam berbagai kegiatan teknik.
Fungsi, limit dan kontinuitas Operasi pendiferensialan dan penerapannya;
Token
membedakan dokumen atau kueri misalnya kata-kata tugas seperti yang, dan, hingga, dan dengan. Berikut ini adalah gambaran proses stoplist :
Gambar 2.2 Proses stoplist
Stemming
Stemming yaitu proses penghilangan/ pemotongan dari suatu kata menjadi
bentuk dasar. Kata âdiadaptasikanâ atau âberadaptasiâ mejadi kata âadaptasiâ
sebagai istilah. Stemming dilakukan dengan membandingkan kata yang telah dihilangkan imbuhannya dengan kata dasar dalam kamus. Stemming yang digunkan adalah stemming Nazief and Adrianiâs. Algoritma skema yang berasal Adriani dan Nazief digambarkan dalam laporan teknis yang tidak dipublikasikan dari Universitas Indonesia (1996).
Berikut adalaherikut adalah algortima stemmingNazief and Adrianiâs :
a) Cari kata yang akan distem dalam kamus. Jika ditemukan maka diasumsikan bahwa kata tesebut adalah root word. Maka algoritma berhenti.
Dokumen Mahasiswa dapat membuat program komputer dengan menggunakan pendekatan terstruktur menggunakan konsep fungsi dan library
Token
Mahasiswa Dapat Membuat Program komputer Dengan Menggunakan
⦠Dengan Stopword
Dan Dapat
Yang
â¦
Hasil dari stopword
Mahasiswa Membuat Program komputer Menggunakan
b) Inflection Suffixes (â-lahâ, â-kahâ, â-kuâ, â-muâ, atau â-nyaâ) dibuang. Jika berupa particles (â-lahâ, â-kahâ, â-tahâ atau â-punâ) maka langkah ini diulangi lagi untuk menghapus Possesive Pronouns (â-kuâ, â-muâ, atau â
-nyaâ), jika ada.
c) Hapus Derivation Suffixes (â-iâ, â-anâ atau â-kanâ). Jika kata ditemukan di kamus, maka algoritma berhenti. Jika tidak maka ke langkah 3a
I. Jika â-anâ telah dihapus dan huruf terakhir dari kata tersebut adalah
â-kâ, maka â-kâ juga ikut dihapus. Jika kata tersebut ditemukan
dalam kamus maka algoritma berhenti. Jika tidak ditemukan maka lakukan langkah 3b.
II. Akhiran yang dihapus (â-iâ, â-anâ atau â-kanâ) dikembalikan,
lanjut ke langkah 4.
d) Hapus Derivation Prefix. Jika pada langkah 3 ada sufiks yang dihapus maka pergi ke langkah 4a, jika tidak pergi ke langkah 4b.
I. Periksa tabel kombinasi awalan-akhiran yang tidak diijinkan. Jika ditemukan maka algoritma berhenti, jika tidak pergi ke langkah 4b.
II. For i = 1 to 3, tentukan tipe awalan kemudian hapus awalan. Jika root word belum juga ditemukan lakukan langkah 5, jika sudah maka algoritma berhenti. Catatan: jika awalan kedua sama dengan awalan pertama algoritma berhenti.
f) Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal diasumsikan sebagai root word. Proses selesai.
Tipe awalan ditentukan melalui langkah-langkah berikut:
1. Jika awalannya adalah: âdi-â, âke-â, atau âse-â maka tipe awalannya
secara berturut-turut adalah âdi-â, âke-â, atau âse-â.
2. Jika awalannya adalah âte-â, âme-â, âbe-â, atau âpe-â maka dibutuhkan
sebuah proses tambahan untuk menentukan tipe awalannya.
3. Jika dua karakter pertama bukan âdi-â, âke-â, âse-â, âte-â, âbe-â, âme-â,
atau âpe-â maka berhenti.
4. Jika tipe awalan adalah ânoneâ maka berhenti. Jika tipe awalan adalah
bukan ânoneâ maka awalan dapat dilihat pada Tabel 2.2. Hapus awalan
jika ditemukan.
Tabel 2.1. Kombinasi Awalan Akhiran yang Tidak Diijinkan
Awalan Akhiran yang tidak diijinkan
be- -i
di- -an
ke- -i, -kan
me- -an
Tabel 2.2. Cara Menentukan Tipe Awalan Untuk Kata yang Diawali dengan âte-â
Following Characters Tipe
Awalan
Set 1 Set 2 Set 3 Set 4
â-r-â â-r-â - - None
â-r-â Vowel ter-luluh
â-r-â not (vowel or â-r-â)
â-er-â vowel Ter
â-r-â not (vowel or â-r-â)
â-er-â not vowel ter-
â-r-â not (vowel or â-r-â)
not â-er-â - Ter
not (vowel or â-r-â)
â-er-â vowel - None
not (vowel or â-r-â)
â-er-â not vowel - Te
Tabel 2.3. Jenis Awalan Berdasarkan Tipe Awalannya
Tipe Awalan Awalan yang harus dihapus
di- di-
ke- ke-
se- se-
te- te-
Ter ter
ter-luluh ter
Pembobotan kata
menentukan posisi relatif bobot dari istilah dibanding dengan istilah-istilah lain di dokumen yang sama. Didalam memberikan bobot pada sebuah istilah teknik yang paling sering digunakan adalah TF/IDF (term frequency (tf), dan inverse dokumen frequency (idf)). Term Frequency (tf) adalah jumlah kemunculan suatu kata dalam sebuah dokumen dan Inverse document frequency (idf) adalah inverse document frequency dari suatu kata.
Adapun rumus pembobotan Salton (1989) adalah sebagai berikut:
w(t,d) =tft,d * idft = tf(t,d )* log2(N/nt) â¦â¦â¦.. (2.1)
Dimana :
ï¶ w(t,d) = bobot dari term(kata)t dalam dokumen d.
ï¶ tf(t,d) = frekuensi kemunculan term(kata)tdalam dokumen d.
ï¶ Idfd = Inverse document frequency dari kata t
ï¶ N = jumlah seluruh dokumen
ï¶ nt = jumlah dari dokumen yang ditraining yang mengandung nilai t.
D = 5
tf (t) = 4 tf (t) = 3 tf (t) = 0 tf (t) = 0 tf (t) = 1
df(t) = 3
IDF(t) = log2(D/df(t)) = log2(5/3) =1.3219
Wt,d = (tft,d * IDFt)
W(D1) = (4 * 1.3219) = 5.2877
W(D2) = (3 * 1.3219) = 3.9658
W(D3) = (0 * 1.3219) = 0 W(D4) = (0 * 1.3219) = 0 W(D5) = (1 * 1.3219) = 1.3219
..basisdata.. ..basisdata.. ..basisdata.. â¦â¦â¦â¦.. ...basisdata D1 ..basisdata.. â¦â¦â¦â¦... ..basisdata.. â¦â¦â¦â¦.. ...basisdata D2 â¦â¦â¦... â¦â¦â¦â¦... ..â¦â¦â¦... â¦â¦â¦â¦.. â¦â¦â¦â¦.. D3 â¦â¦â¦â¦... â¦â¦â¦â¦... â¦â¦â¦â¦... â¦â¦â¦â¦.. â¦â¦â¦â¦. D4 â¦â¦â¦â¦... ..basisdata.. â¦â¦â¦â¦.. D5
Gambar 2.3 Ilustrasi Algoritma TF-IDF
Fungsi metode ini adalah untuk mencari representasi nilai dari tiap-tiap dokumen dari suatu kumpulan data training (training set).
Berikut contoh pembobotan dokumen yang telah diindekskan : Tabel 2.4. Pembobotan (TF/IDF) Dokumen
Kategori Dokumen Term Tf df Idf W
C1 D1 basisdata 3 2 1.584963 4.754888
D1 DBMS 2 2 1.584963 3.169925
D1 relational 1 2 1.584963 1.584963
D1 constraint 1 2 1.584963 1.584963
D1 view 1 1 2.584963 2.584963
D1 algebra 1 2 1.584963 1.584963
D1 data 2 1 2.584963 5.169925
D1 Normalization 1 1 2.584963 2.584963
D2 aman 1 1 2.584963 2.584963
D2 basisdata 2 2 1.584963 3.169925
D2 Query 2 1 2.584963 5.169925
D2 constraint 2 2 1.584963 3.169925
D2 relational 2 2 1.584963 3.169925
D2 DBMS 1 2 1.584963 1.584963
D2 model 1 1 2.584963 2.584963
D2 Kontrol 1 1 2.584963 2.584963
Kategori Dokumen Term Tf Df Idf W
C2 D3 jaringan 4 2 1.584963 6.33985
D3 yaitu 1 1 2.584963 2.584963
D3 Ethernet 2 1 2.584963 5.169925
D3 Kabling 1 1 2.584963 2.584963
D3 IP 2 2 1.584963 3.169925
D3 Layer 2 1 2.584963 5.169925
D3 Protocol 2 2 1.584963 3.169925
D3 Routing 1 1 2.584963 2.584963
D3 Port 1 2 1.584963 1.584963
D4 jaringan 2 2 1.584963 3.169925
D4 IP 2 2 1.584963 3.169925
D4 Protocol 1 2 1.584963 1.584963
D4 Port 2 2 1.584963 3.169925
D4 DHCP 1 1 2.584963 2.584963
D4 UDP 1 1 2.584963 2.584963
Kategori Dokumen Term Tf Df Idf W
C3 D5 limit 2 1 2.584963 5.169925
D5 Baris 1 1 2.584963 2.584963
D5 deret 1 1 2.584963 2.584963
D5 Differential 2 2 1.584963 3.169925
D5 konsep 1 2 1.584963 1.584963
D5 integral 2 2 1.584963 3.169925
D5 konvergensi 1 1 2.584963 2.584963
D6 Bilangan 1 1 2.584963 2.584963
D6 Linear 1 1 2.584963 2.584963
D6 Matriks 1 1 2.584963 2.584963
D6 Differential 2 2 1.584963 3.169925
D6 Integral 2 2 1.584963 3.169925
D6 komputasi 2 1 2.584963 5.169925
D6 Determinan 2 1 2.584963 5.169925
D6 konsep 1 2 1.584963 1.584963
Keterangan : C1 = basisdata C2 = jaringan C3 = komputasi
2.3 Model Ruang Vektor
kata i dalam dokumen j. Misalkan terdapat sekumpulan kata T sejumlah n, yaitu T
= (T1, T2, ⦠, Tn) dan sekumpulan dokumen D sejumlah m, yaitu D = (D1, D2, â¦
, Dm) serta wij adalah bobot kata i pada dokumen j. Maka representasi matriks
kata-dokumen adalah :
T1 T2 â¦. Tn
D1 w11 w21 ⦠wn1
D2 w12 w22 ⦠wn2
: : : :
: : : :
Dm w1m w2m ⦠wnm
Penentuan relevansi dokumen dengan query dipandang sebagai pengukuran kesamaan (similarity measure) antara vektor dokumen dengan vektor query.
Semakin âsamaâ suatu vektor dokumen dengan vektor query maka dokumen
dapat dipandang semakin relevan dengan query. Salah satu pengukuran kesesuaian yang baik adalah dengan memperhatikan perbedaan arah (direction difference) dari kedua vektor tersebut.
q
t3
t1
t2
D1
D2
Q
q1
2
θ cos D Q D
Qï· ï½
Qï·D adalah hasil perkalian dalam (inner product) kedua vektor, sedangkan
ï¥ ï½ ï½ n i Di D 1
2 dan ï¥
ï½ ï½ n i Qi Q 1 2
Rumus yang digunakan untuk memgukur jarak kedekatan antar vektor adalah sebagai berikut :
ï½ ï½cos( , ) )
,
(Q D Q D
Sim D Q D Qï·
ï¥
ï½ ï· ï½ n i Di Qi D Q 1 1Kedekatan query dan dokumen diindikasikan dengan sudut yang dibentuk. Nilai cosinus yang cenderung besar mengindikasikan bahwa dokumen cenderung sesuai query. Nilai cosinus sama dengan 1 mengindikasikan bahwa dokumen sesuai dengan dengan query.
2.4 Algoritma Rocchio Clasification
klasifikasi rocchio adalah skema pembobotan TFIDF, metode pembelajaran rocchio disebut juga dengan TF/IDF Classifiers [Joachims Thorsten].
Dalam membandingkan kesamaan isi antara data training dan data test, TF/IDF classifiers menggunakan prototipe vektor untuk merepresentasikan kategori yang terbentuk dari data training, dengan kata lain prototipe vektor merupakan vektor yang mewakili seluruh vektor data training dalam setiap kategori. Tiga hal utama yang dipakai dalam klasifikasi TF/IDF yaitu:
1. Pembobotan TF/IDF untuk merepresentasikan dokumen ke dalam vektor. 2. Merepresentasikan prototipe setiap kategori dengan menjumlahkan
vektor-vektor dalam satu kategori dari data training
3. Membandingkan kedekatan sudut antara vektor data test dengan semua prototipe vektor.
Untuk mengklasifikasikan dokumen menggunakan algoritma rocchio harus mengetahui centroids dari tiap kelas. Centroids kelas adalah jumlah dari rata â rata vektor dokumen keseluruhan dalam suatu kelas (massa pusat dari kelas). Centroids inilah yang digunakan untuk mengukur kedekatan suatu dokumen uji dengan kelas (kategori) dalam klasifikasi. Adapun rumus yang digunakan untuk menghitung centroid suatu kelas adalah sebagai berikut :
ï¨ ï©
ï¥
ï¨ ï©
ï
ï½
Dc d
d Dc
c ïµ
ïï² 1 ï²
â¦.â¦â¦â¦. (2.2) Dimana :
ï¨ ï©
cïï² = vector centroid dari kelas c Dc = jumlah dokumen dalam kelas c
ï¨ ï©
dIlustrasi perhitungan centroid kata dalam suatu kategori adalah sebagai berikut : ï¨ ï© ï¥ ï¨ ï© ï ï½ Dc d d Dc c ïµ
ïï² 1 ï²
(t1,C1) = ½ * (4.754888+2.584963) = 3.669925
(t2,C1) = (1/1) * 3.169925 = 3.169925
(t3,C1) = ½ * (2.584963+4.754888) = 3.669925
(t4,C1) = (1/1) * 5.169925 = 5.169925
ïï²
ïï² ïï² ïï²
W(d1,t1,C1) = 4.754888 , Dc=2
W(d1,t2,C1) = 3.169925, Dc=1
W(d2,t3,C1) = 2.584963 , Dc=2
W(d2,t4,C1) = 5.169925 , Dc=1
Basisdata DBMS basisdata query
C1
Gambar 2.4 Ilustrasi perhitungan centroid Berikut ini adalah contoh pencarian nilai centroid suatu kategori :
Tabel 2.5Pencarian centroid kategori
Kategori Dokumen Term df Idf W centroid
C1 D1 basisdata 2 1.584963 4.754888 3.962406
D1 DBMS 2 1.584963 3.169925 2.377444
D1 relational 2 1.584963 1.584963 2.377444
D1 constraint 2 1.584963 1.584963 2.377444
D1 view 1 2.584963 2.584963 2.584963
D1 algebra 2 1.584963 1.584963 1.584963
D1 data 1 2.584963 5.169925 5.169925
D1 Normalization 1 2.584963 2.584963 2.584963
D2 aman 1 2.584963 2.584963 2.584963
D2 basisdata 2 1.584963 3.169925 3.962406
D2 Query 1 2.584963 5.169925 5.169925
D2 constraint 2 1.584963 3.169925 2.377444
D2 relational 2 1.584963 3.169925 2.377444
D2 DBMS 2 1.584963 1.584963 2.377444
D2 algebra 2 1.584963 1.584963 1.584963
D2 model 1 2.584963 2.584963 2.584963
D2 Kontrol 1 2.584963 2.584963 2.584963
Kategori Dokumen Term Df Idf W centroid
C2 D3 jaringan 2 1.584963 6.33985 4.754888
D3 yaitu 1 2.584963 2.584963 2.584963
D3 Ethernet 1 2.584963 5.169925 5.169925
D3 Kabling 1 2.584963 2.584963 2.584963
D3 IP 2 1.584963 3.169925 3.169925
D3 Protocol 2 1.584963 3.169925 2.377444
D3 Routing 1 2.584963 2.584963 2.584963
D3 Port 2 1.584963 1.584963 2.377444
D4 jaringan 2 1.584963 3.169925 4.754888
D4 IP 2 1.584963 3.169925 3.169925
D4 Protocol 2 1.584963 1.584963 2.377444
D4 Port 2 1.584963 3.169925 2.377444
D4 DHCP 1 2.584963 2.584963 2.584963
D4 UDP 1 2.584963 2.584963 2.584963
Kategori Dokumen Term Df Idf W centroid
C3 D5 limit 1 2.584963 5.169925 5.169925
D5 Baris 1 2.584963 2.584963 2.584963
D5 deret 1 2.584963 2.584963 2.584963
D5 Differential 2 1.584963 3.169925 3.169925
D5 konsep 2 1.584963 1.584963 1.584963
D5 integral 2 1.584963 3.169925 3.169925
D5 konvergensi 1 2.584963 2.584963 2.584963
D6 Bilangan 1 2.584963 2.584963 2.584963
D6 Linear 1 2.584963 2.584963 2.584963
D6 Matriks 1 2.584963 2.584963 2.584963
D6 Differential 2 1.584963 3.169925 3.169925
D6 Integral 2 1.584963 3.169925 3.169923
D6 komputasi 1 2.584963 5.169925 5.169925
D6 Determinan 1 2.584963 5.169925 5.169925
D6 konsep 2 1.584963 1.584963 1.584963
Untuk mencari kedekatan dokumen digunakan cosine similarity, dengan rumus sebagai berikut :
)) ( ), ( cos( max arg ) ,
(d C C d
sim j ï j ïµ
ï² ï² ï½ â¦â¦â¦.(2.3) Dimana : ) , (d Cj
sim = tingkat kemiripan dokumen uji dengan kelas j d = dokumen
Cj = kelas j
) (Cj
ïï² = vector centroid kelas Cj
) (d
ïµï² = vector dokumen )) ( ), ( cos( max
arg ïï² Cj ïµï² d = mencari nilai maksimum antar kelas Cj dan dokumen
Contoh mencari cosinus similarity suatu dokumen dengan dokumen query
keamanan jaringan , DHCP, IP â.Contoh query pencarian cosines similarity dapat dirangkum seperti pada tabel 2.6 berikut ini :
Tabel 2.6 Contoh dokumen query
Query tf
IP 2
routing 1
jaringan 2
komputer 1
DHCP 1
aman 1
Pada tabel 2.7 berikut ini adalah contoh Perhitungan Similarity : Tabel 2.7 Dasar perhitungan Similarity
C1 term centroid centroid2
algebra 1.58496 2.512098
aman 2.58496 6.682018
basisdata 3.9624 15.70061
constraint 2.37744 5.652221
data 5.16992 26.72807
dbms 2.37744 5.652221
kontrol 2.58496 6.682018
model 2.58496 6.682018
normalization 2.58496 6.682018
query 5.16992 26.72807
relational 2.37744 5.652221
view 2.58496 6.682018
C2 term centroid centroid2
jaring 4.75488 22.60888
yaitu 2.58496 6.682018
ethernet 5.16992 26.72807
kabling 2.58496 6.682018
ip 3.16992 10.04839
layer 5.16992 26.72807
protocol 2.37744 5.652221
routing 2.58496 6.682018
port 2.37744 5.652221
dhcp 2.58496 6.682018
udp 2.58496 6.682018
C3 term centroid centroid2
baris 2.58496 6.682018
bilang 2.58496 6.682018
determin 5.16992 26.72807
differential 3.16992 10.04839
integral 3.16992 10.04839
komputas 5.16992 26.72807
konsep 1.58496 2.512098
konvergensi 2.58496 6.682018
limit 5.16992 26.72807
linear 2.58496 6.682018
matriks 2.58496 6.682018
Query tf idf centroid Wquery Wik*Centroidjk centroid2 Wquery2
IP 2 1.584963 3.169925 3.169926 10.04842768 10.048425 10.04843
routing 1 2.584963 2.584963 2.584963 6.682033711 6.6820337 6.682034
jaringan 2 1.584963 4.754888 3.169926 15.0726431 22.60896 10.04843
komputer 1 0 0 0 0 0 0
DHCP 1 2.584963 2.377444 2.584963 6.145604775 5.65224 6.682034
aman 1 2.584963 2.584963 2.584963 6.682033711 6.6820337 6.682034
ï¥
ï¥
ï¥
ï½ ï½ ï½ ï´ ï½ n 1 k n 1 k n 1 k ik j i 2 2ik ( )
W ) ( * W ) C , (Q Similarity jk jk C C ï ï ï² ï² â¦â¦â¦â¦....(2.3.1) Dimana : ik
W = bobot term query. )
(Cjk
ïï² = bobot centroid term dalam kategori.
Perhitungan nilai similarity :
72.53 37.95 ï½ 0.523 ï½ 6.68 6.68 0 10.05 6.68 10.05 6.68 6.68 6.68 26.73 51 . 2 26.73 10.05 10.05 26.73 6.68 6.68 6.68 0 ) , 3 ( ï« ï« ï« ï« ï« ï« ï« ï« ï« ï« ï« ï« ï« ï« ï« ï« ï½ Q C Sim 0 ï½
Kesimpulan : Dokumen query lebih mirip dengan kategori C2 dengan nilai 0.523lebih besar dibandingkan dengan nilai similarity pada kategori C1 yaitu 0.0953, dapat disimpulkan dokumen query termasuk dalam kategori C2.
Berikut adalah langkah â langkah implementasi algoritma Rocchio TrainRocchio (C,D)
1 for each cjïC
2 do Dj ï¬
ï»
d:(d,cj)ïDï½
3
ï¥
ï¨ ï©
ï ï¬ j D d j j d D ïµïï² 1 ï²
4 return {ïï²1, . . . , ïj ï²
} Dimana :
C = semua kelas {c1,â¦,cj}
D = semua dokumen { d1,c1 , ⦠, dn,cn }
Pertama â tama dilakukan training dokumen, dimana training dokumen ini dilakukan untuk membuat model klasifikasi. Dokumen training dicari bobot tiap term dan telah ditentukan termasuk dalam suatu kategori, setelah didapat bobot dokumen maka dari tiap term dokumen yang ada dalam kategori dicari centroidnya.
ApplyRocchio ({ïï²1, . . . , ïj ï²
}, d ï²
)
5 sim(d,Cj) argmaxcos(ï(Cj),ïµ(d))
ï² ï²
ï½
kemudian dicari kemiripan dokumen query dengan centroid dokumen (cosinus similarity dokumen) yang ada dalam kategori. Jika hasil kemiripan dokumen mendekati nilai 1 maka dokumen akan semakin mirip.
Hasil pembahasan dari jurnal yang ditulis oleh Thorsten Joachims yang
berjudul âA Probabilistic Analysis of the Rocchio Algorithm with TFIDF for Text
Categorizationâ, disimpulkan bahwa dengan algoritma rocchio (TFIDF classifier) dihasilkan rata â rata akurasinya sebesar 90%.
2.5 Evaluasi Pengujian Sistem
Untuk mengetahui suatu perbandingan keefektifan metode yang digunakan, maka dibutuhkan pengujian hasil klasifikasi.
Untuk pengujian hasil klasifikasi hanya menentukan tingkat precision sistem yang dapat dicari dari kesesuaian sistem dengan hasil dari kuisioner terhadap responden.
Berikut adalah cara mencari precision :
precision dinyatakan sebagai bagian dokumen relevan yang disesuai:
dokumen seluruh
Jumlah
sistem dengan
sesuai yang
dokumen Jumlah
ï½
24
BAB III
ANALISIS DAN PERANCANGAN SISTEM
Dalam bab ini akan dijelaskan mengenai rancangan sistem aplikasi yag hendak dibuat oleh penulis. Diantaranya gambaran sistem secara umum, analisa kebutuhan sistem, metode pengumpulan data dan perancangan sistem.
3.1 Gambaran Umum Sistem
Indexing Pembuatan Model Klasifikasi Koleksi Dokumen Tentukan kategori Operasi teks (parsing, steming )
Daftar term
Pencaraian bobot vektor (TF/IDF)
Dokumen,(query) Operasi teks (parsing, steming) Pencarian bobot vektor dokumen(query) Pencarian tingkat kemiripan dokumen klasifikasi dokumen C1 = dok1, dok 2, â¦
C2 = dok3, dok 4, ⦠C3 = dok5, dok6, â¦
... Term Hitung term frekuensi Filtering Jumlah Kumpulan Term Term Hitung term frekuensi Jumlah Kumpulan Term
Bobot term dalam setiap kategori Bobot term dokumen query Kemiripan Dokumen query dengan dokumen dalam kategori klasifikasi Pencaraian Centroid tiap kategori Centroid term dalam setiap kategori
Gambar 3.5 Gambar proses klasifikasi keseluruhan
Indexing
Parsing
Stoplist
Steming
Hitung Term Frekuensi
Hitung IDF Simpan term
Simpan TF/IDF index
Dokumen
Gambar 3.6 Gambar Proses indexing(a), pembuatan model(b)
Untuk mendapatkan bobot term / kata , dokumen harus melalui proses indexing terlebih dahulu. Proses indexing digambarkan seperti gambar 3.6 a. dan telah dibahas dalam bab 2. Proses pembuatan model digunakan untuk membuat suatu model klasifikasi.
Pada gambar 3.6 b dokumen ditentukan terlebih dahulu termasuk dalam suatu kategori kemudian dilakukan pemrosesan indexing dan pencarian bobot centroid tiap term dalam tiap kelas / kelompok kategori.
b
a
Dokumen
Tentukan Kategori
indexing
Gambar 3.7 Gambar Proses Klasifikasi
Pada gambar 3.7 adalah proses pengklasifikasian dokumen, dokumen yang akan diklasifikasikan (dokumen query) dilakukan proses indexing untuk memperoleh bobot term dokumen yang nantinya digunakan untuk proses pencarian kemiripan dokumen (cosinus similarity).
Berikut adalah gambaran model proses indexing dokumen :
Dokumen term dan indeks Dokumen terlabel
Buat model dan indeks Tentukan klasifikasi
Input dokumen
Simpan
Dari gambar 3.8 model indexing tersebut diatas dapat dijelaskan sistem harus mempunyai suatu model untuk melakukan klasifikasi. Pembuatan model klasifikasi ditentukan oleh user, jadi user harus menentukan suatu dokumen kedalam kategori â ketegori yang ada sebagai dasar suatu klasifikasi. Dokumen yang ditentukan haruslah valid sesuai dengan kategori.
Berikut adalah gambaran model proses klasifikasidokumen :
Dokumen belum
terlabel Klasifikasi Dokumen Input dokumen
Hasil
Dokumen term dan indeks
Dokumen terklasifikasi
Gambar 3.9 Gambar model klasifikasi dokumen
Gambar 3.10 Gambar Proses Pencarian Dokumen
Pada gambar 3.10 adalah gambaran proses pencarian dokumen, pencarian dokumen berdasarkan besarnya bobot kata kunci (query pencarian). Hasil pencarian dokumen akan menampilkan urutan dokumen dari dokumen yang mempunyai bobot paling besar ke bobot yang paling kecil berdasarkan kata kunci pencarian.
3.1.1 Analisis Kebutuhan
Kebutuhan yang dibutuhkan oleh pengguna / user dari aplikasi klasifikasi Skripsi di Teknik Informatika Sanata Dharma Yogyakarta adalah :
1. User membutuhkan program untuk membantu dalam mengklasifikasikan skripsi teknik informatika, dimana satu dokumen yang di kategorikan mewakili satu judul skripsi.
3. User membutuhkan program yang dapat secara otomatis melakukan proses indexing ketika user menambahkan dokumen baru ke dalam koleksi dokumen silabus mata kuliah.
4. User membutuhkan program yang dapat mengelola daftar stoplist, baik untuk menambah daftar stoplist, merubah daftar stoplist, atau menghapus daftar stoplist.
3.2 Analisa Sistem
3.2.1 Model Use Case
3.2.1.1 Actor
Dalam aplikasi kategorisasi silabus teknik informatika Sanata Dharma terdapat 2 aktor yang terlibat yaitu seperti pada tabel 3.8 berikut ini:
Tabel 3.8 Tabel aktor yang terlibat
Aktor Hak Akses
Administrator ï· Login
ï· Menambah, mengedit dan menghapus data stopword
ï· Menambah, mengedit dan menghapus data kategori
ï· Menambah, mengedit dan menghapus data kamus
ï· Menambah, mengedit dan menghapus user.
ï· Pembuatan Model.
ï· Klasifikasi dokumen.
ï· Lihat dokumen
ï· Logout Pengguna
(User)
ï· Mencari dokumen.
3.2.1.2 Diagram Use Case
Gambaran use case diagram sistem dapat dilihat pada gambar 3.11 berikut ini :
Administrator
Kelola kategori
Tambah kategori
Edit kategori
Hapus kategori
Kelola stoplist
Tambah stopword
Edit stoplist
Hapus stopword
Login Dep end on D e p e n d o n Kelola kamus Tambah kata_dasar Edit kamus
Hapus kata_dasar
De pe nd on
klasifikasi dokumen Pembuatan model
Depe nd on Depen d on Logout Dep end on
lihat dokumen klasifikasi D ep en d on cari dokumen User Cari Klasifikasi Dokumen Kelola User Tambah user Edit User
Hapus user
Depe nd on
Gambar 3.11 Diagram Use Case
3.2.1.3 Tabel Use Case
Dari gambar use case diagram 3.9 dapat dijelaskan tiap â tiap use case pada tabel 3.2 berikut ini :
Tabel 3.9 Tabel Use Case
No Nama Use Case Deskripsi use case Aktor
1 Login Verifikasi untuk mengakses menu administrator dengan cara memasukkan username dan password
2 Logout Use case ini menggambarkan proses untuk keluar dari sistem administrator
Administrator
3 Klasifkasi dokumen Use case ini menggambarkan proses klasifikasi dokumen. Dokumen inputan akan ditentukan kategorinya secara otomatis.
Administrator
4 Pembuatan Model dan indeks
Use case ini menggambarkan proses pengindekkan dokumen yang akan digunakan sebagai dasar klasifikasi dokumen.
Administrator
5 Lihat dokumen Use case ini menggambarkan proses untuk menampilkan dokumen yang telah terindeks
Administrator
6 Tambah stopword Use case ini menggambarkan proses untuk penambahan data stopword.
Administrator 7 Edit stoplist Use case ini menggambarkan proses
proses perubahan data stopword. Proses ini dapat berupa perubahan detail stopword.
Administrator
8 Hapus stopword Use case ini menggambarkan proses penghapusan data stopword.
Administrator 9 Tambah kategori Use case ini menggambarkan proses
untuk menambah daftar kategori.
Administrator 10 Edit kategori Use case ini menggambarkan proses
perubahan detail kategori.
Administrator 11 Hapus kategori Use case ini menggambarkan proses
penghapusan kategori beserta data dokumen yang termasuk dalam kategori yang dihapus.
Administrator
12 Tambah kata_dasar Use case ini menggambarkan proses penambahan data kata dasar.
Administrator 13 Edit kamus Use case ini menggambarkan proses
perubahan detail data kamus
Administrator 14 Hapus kata_dasar Use case ini menggambarkan proses
penghapusan data kata dasar kamus.
Administrator 15 Tambah user Use case ini menggambarkan proses
untuk menambah user yang berhak masuk ke sistem utama.
Administrator
16 Edit user Use case ini menggambarkan proses untuk mengedit nama user dan password.
Administrator
17 Hapus user Use case ini menggambarkan proses untuk menghapus user.
pencarian dokumen. Proses ini berupa daftar urutan dokumen yang sesuai dengan inputan pencarian dan termasuk dalam kategori manakah dokumen yang dicari. Dengan berdasarkan bobot dari kata kunci yang dicari.
(pengguna)
19 Cari klasifikasi dokumen
Use case ini menggambarkan proses pencarian kategori. Abstrasi dokumen yang dimasukkan termasuk dalam kelas/kategori apakah.
User (pengguna)
3.2.2 Skenario Use Case
Setiap use case pada bagian sebelumnya akan dirinci dalam sebuah skenario yang merupakan deskripsi tekstual dari suatu proses dan bagaimana pengguna berinteraksi dengan sistem. Untuk lebih jelsnya dapat dilihat pada tabel 3.10 berikut ini :
Tabel 3.10 Tabel Skenario Use Case
Use Case Skenario Use Case
Login Lampiran 1.1
Logout Lampiran 1.2
Klasifkasi dokumen Lampiran 1.3
Pembuatan Model dan indeks Lampiran 1.4
Lihat dokumen Lampiran 1.5
Tambah stopword Lampiran 1.6
Edit stoplist Lampiran 1.7
Hapus stopword Lampiran 1.8
Tambah kategori Lampiran 1.9
Edit kategori Lampiran 1.10
Hapus kategori Lampiran 1.11
Tambah kata_dasar Lampiran 1.12
Edit kamus Lampiran 1.13
Hapus kata_dasar Lampiran 1.14
Edit user Lampiran 1.16
Hapus user Lampiran 1.17
Cari dokumen Lampiran 1.18
Cari klasifikasi dokumen Lampiran 1.19
3.2.3 Model Analisis
Model Analisis adalah salah satu proses untuk menterjemahkan skenario use case menjadi kelas analisis. Dalam kelas analisis terdapat 3 jenis, yakni: Form / boundery, Controller, dan Entitas.
3.2.3.1 Realisasi Use case
Pada tahap ini, analisis kelas dilakukan setiap use case. Setiap use case dicari kelas analisis sehingga kebutuhan kelas dapat ditentukan. untuk lebih lengkapnya dapat dilihat pada tabel 3.11 berikut ini :
Tabel 3.11 Tabel Realisasi Use Case
Use Case Realisasi Use Case
Login Lampiran 2.1
Logout Lampiran 2.2
Klasifkasi dokumen Lampiran 2.3
Pembuatan Model dan indeks Lampiran 2.4
Lihat dokumen Lampiran 2.5
Tambah stopword Lampiran 2.6
Edit stoplist Lampiran 2.7
Hapus stopword Lampiran 2.8
Tambah kategori Lampiran 2.9
Edit kategori Lampiran 2.10
Hapus kategori Lampiran 2.11
Tambah kata_dasar Lampiran 2.12
Edit kamus Lampiran 2.13
Hapus kata_dasar Lampiran 2.14
Tambah user Lampiran 2.15
Hapus user Lampiran 2.17
Cari dokumen Lampiran 2.18
Cari klasifikasi dokumen Lampiran 2.19
3.2.3.2 Diagram Kelas Keseluruhan
Diagram Kelas keseluruhan dari realisisi use case dapat dilihat di lampiran 3.
3.3 Desain Sistem
3.3.1 Kelas Perancangan
Berikut merupakan perancangan kelas yang digunakan. Perancangan menggunakan MVC model 2 dibagi dalam 3 layer yaitu layer View , Controller dan Model.
ï· View merupakan layer presentasi (tampilan untuk semua pengguna web) direpresentasikan oleh halaman JSP.
Contoh : Halaman LoginAdmin, Halaman Utama, dsb. (semua halaman JSP)
ï· Controller merupakan intermediet layer antara Model dan View. Direpresentasikan menggunakan kelas Java turunan kelas action (dan turunan kelas action)
Contoh : Kontrol Cari, Kontrol Indexing Admin, dsb.
Tabel 3.12 Tabel Kelas Perancangan
No Kelas Analisis Kelas Perancangan Use Case
1 Halaman Login Admin Halaman Login Admin Login
2 Halaman menu user Halaman menu user Login
Cari dokumen
Cari klasifikasi dokumen
3 Halaman Menu Admin Halaman Menu Admin logout
Klasifkasi dokumen
Pembuatan Model dan indeks Lihat dokumen
Tambah user Edit user Hapus user
4 Form Manage User Form Manage User Tambah user
Edit user Hapus user
5 Form Indexing Dokumen Form Indexing Dokumen Pembuatan Model dan indeks 6 Form Klasifikasi Dokumen Form Klasifikasi Dokumen Klasifkasi dokumen
7 Form Manage Kamus Form Manage Kamus Tambah kata_dasar
Hapus kamus Edit kata dasar 8 Form Manage Stoplist Form Manage Stoplist Tambah stopword
Edit stoplist Hapus stopword 9 Form Manage Kategori Form Manage Kategori Tambah kategori
11 Halaman Pencarian Klasifikasi Halaman Pencarian Klasifikasi Cari klasifikasi dokumen
12 AutentifikasiLogin Control login
13 AutentifikasiLogOut Control logout
14 ControlIndexing Control Pembuatan Model dan indeks
15 ControlKlasifikasi Control Klasifkasi dokumen
16 ControlCari Control Cari dokumen
17 ControlCariKlas Control Cari klasifikasi dokumen
18 KamusManajemenControl Control Tambah kata_dasar
Hapus kamus Edit kata dasar
19 StopwordManajemenController Control Tambah stopword
Edit stoplist Hapus stopword
20 KategoriManajemenController Control Tambah kategori
Edit kategori Hapus kategori
Hapus user
22 Kamus Entity
Model
Tambah kata_dasar Hapus kamus Edit kata dasar
23 Kategori Entity
Model
Tambah kategori Edit kategori Hapus kategori
24 Stoplist Entity
Model
Tambah stopword Edit stoplist Hapus stopword
25 Skripsi Entity
Model
Pembuatan Model dan indeks
26 centroidKlass Entity
Model
Klasifkasi dokumen Cari klasifikasi dokumen Cari dokumen
27 Word Model Cari dokumen
Klasifkasi dokumen
Pembuatan Model dan indeks
28 User Entity
Model
Tambah user Edit user Hapus user
29 Tokenizer Model Cari dokumen
Cari klasifikasi dokumen Pembuatan Model dan indeks Klasifkasi dokumen
Pembuatan Model dan indeks
30 Term Model
Entity
Cari dokumen
Cari klasifikasi dokumen Pembuatan Model dan indeks Klasifkasi dokumen
31 IndekTerm Model
Entity
Cari dokumen
3.3.2 Atribut dan Method
Bagian ini akan menjelaskan lebih detail mengenai attribut dan method dari kelas desain. Daftar detail mengenai attribut dan method tersebut dapat dilihat pada Lampiran 4
3.3.3 Prototype Antarmuka
Dari analisa attribut dan method pada tahap sebelumnya, maka akan ditentukan kelas yang akan dijadikan user interface. Kemudian dari kelas tersebut dibuat suatu rancangan antarmuka yang akan digunakan dalam implementasi program. Rancangan prototype antar muka dapat dilihat pada tabel 3.13 berikut ini :
Tabel 3.13 Tabel Prototype Antarmuka
No Kelas Analisis Lampiran
1 Halaman Menu User ( Halaman Cari Dokumen )
Lampiran 5.1
2 Halaman Login Admin Lampiran 5.2
3 Halaman Menu Admin Lampiran 5.3
4 Form Manage User Lampiran 5.4
5 Form Manage Kategori Lampiran 5.5
6 Form Manage Stoplist Lampiran 5.6
7 Form Manage Kamus Lampiran 5.7
8 Form indexing Lampiran 5.8
9 Form Klasifikasi Lampiran 5.9
10 Form List Data Skripsi Lampiran 5.10 11 Halaman Pencarian Klasifikasi Lampiran 5.11
3.3.4 Desain Database
1. Class DiagramSkripsi Kategori
Term indexTerm
Jenis_kategori Id_kategori
Id_skripsi Judul
Id_index Id_term term
idf tf
Id_term Id_dokumen
bobot
JudulDok
centroid
df centroidKlass
Id_term Id_kategori
Id_centroid
stoplist
Id_stopword stopword
User
Id_user User_name
password
Kamus
Kata_dasar
Gambar 3.12 Class diagram Keterangan :
ï· Terdapat 8 class yaitu : class kategori, class skripsi, class indexTerm, class centroidKlass, class term, class user, class stoplist, class kamus. Dimana class user, class stoplist, class kamus tidak memiliki relasi.
2. Mapping Class
user
PK id_user
username password
stoplist
PK id_stopword
stopword
kamus
PK kata_dasar
skripsi
PK id_skripsi
judul judulDok
FK1 id_kategori
kategori
PK id_kategori
jenis_kategori
indexTerm
PK id_index
tf bobot
FK1 id_term
FK2 id_skripsi
term
PK id_term
term df idf centroidKlass
PK id_centroid PK,FK1 id_kategori
centroid
FK2 id_term
Gambar 3.13 Rancangan database
Berikut adalah penjelasan tentang table yang digunakan untuk mendesain sistem :
1. Tabel Kategori
Field Tipe Data Keterangan
Id_kategori Integer (10) Primary key
Jenis_kategori Varchar (35) Nama kategori 2. Tabel Skripsi
Field Tipe Data Keterangan
Id_skripsi Integer (255) Primary key
Judul Varchar (1000) Nama dokumen
JudulDok Varchar(1000) Judul Dokumen
3. Tabel User
Field Tipe Data Keterangan
Id_User Integer (255) Primary key
4. Tabel indexTerm
Field Tipe Data Keterangan
Id_index Integer (255) Primary key.
Id_skripsi Integer (255) Sebagai Foreign key dari tabel skripsi.
Id_term Integer (255) Sebagai Foreign key dari tabel term.
Tf Integer (255) Jumlah term frekuensi atau
jumlah kemunculan kata penting dalam suatu dokumen.
Bobot Decimal(10,6) Bobot dokumen.
5. Tabel term
Field Tipe Data Keterangan
Id_term Integer (255) Primary key
Term Varchar (255) Nama dokumen
Df Integer(255) Jumlah kemunculan kata
dalam beberapa dokumen.
Idf Double (6,5) Infevers dokumen frekuensi
atau log 2 (jumlah dokumen dibagi dengan jumlah frekuensi kata yang terkandung dalam seluruh dokumen ). 6. Tabel centroidKlass
Field Tipe Data Keterangan
Id_centoid Integer (255) Primary key Integer (255) Integer (255) Nama dokumen
Id_kategori Integer(255) Jumlah kemunculan kata dalam beberapa dokumen. centroid Decimal(10,6) Bobot pusat term dalam satu
kategori.
7. Tabel Stoplist
Field Tipe Data Keterangan
8. Tabel kamus
Field Tipe Data Keterangan
Kata_dasar varchar (255) Primary key.
Kata dasar dalam kamus
3.3.5 Rencana Pengujian dan Evaluasi
Pengujian menggunakan dokumen Skripsi dari bagian abstrak. Pengujian dapat juga dari dokumen lain selain dokumen skripsi untuk menguji seberapa relevan penggunaan algoritma Rocchio untuk mengetahui tingkat presisinya.
Pengujian terhadap hasil rekomendasi dilakukan untuk mengukur informasi yang diinformasikan kepada user atau pengguna.
a. Persiapan
ï· Menyiapkan dokumen testing. b. Pengolahan hasil kusioner
ï· Memilih metode.
ï· Menentukan hal yang diuji.
ï· Membuat kuisioner
ï· Mencari responden.
46
IMPLEMENTASI
4.1 Implementasi
4.1.1 Implementasi Antarmuka / View
Implementasi antarmuka / view dari kelas analisis menjadi file fisik dapat dilihat pada tabel 4.14 berikut ini :
Tabel 4.14 Implemantasi antarmuka
No Kelas Analisis File Fisik URL Lampiran
1 Halaman Login Admin indexLogin.jsp ../indexLogin.jsp Lampiran 6.1
2 Halaman menu user index.jsp indek2.jsp
../indek2.jsp Lampiran 6.2
4 Halaman Menu Admin IndexAdmin.jsp ../IndexAdmin.jsp Lampiran 6.3
5 Form Manage user FormListUser.jsp FormInsertUser.jsp FormEditUser.jsp
../IndexAdmin.jsp?userManage=true ../IndexAdmin.jsp?edit=true&id=
Lampiran 6.4
FormListKamus.jsp FormInsertKamus.jsp FormEditKamus.jsp
../IndexAdmin.jsp?editKamus=true&id=
9 Form Manage Stoplist IframeStoplist.jsp FormListStoplist.jsp FormInsertStopWord.jsp FormEditStoplist.jsp
../IndexAdmin.jsp?stoplistManage=true ../IndexAdmin.jsp?editStoplist=true&id=
Lampiran 6.8
10 Form Manage Kategori FormListKategori.jsp FormInsertKategori.jsp FormEditKategori.jsp
../IndexAdmin.jsp?kategoriManage=true ../IndexAdmin.jsp?editKategori=true&id=
Lampiran 6.9
11 Form list Data Skripsi IframeListDokumen.jsp FormListDokumen.jsp
../IndexAdmin.jsp?skripManage=true Lampiran 6.10
12 Halaman Pencarian Klasifikasi index3.jsp
pencarianKlas.jsp
4.1.2 Implementasi Contro
Implementasi dari kelas control dari rancangan kelas analisi menjadi realisasi file fisik dapa dilihat pada tabel 4.15 berikut ini :
Tabel 4.15 Implemantasi Kontrol
No Kelas Analisis File Fisik
1 AutentifikasiLogin cekLogin.java 2 AutentifikasiLogout cekLogout.java 4 ControlIndexing controlIndexing.java 5 ControlKlasifikasi controlKlasifikasi.java
6 ControlCari controlCari.java
7 ControlCariKlas