SISTEM KLASIFIKASI SURAT MASUK MENGGUNAKAN MULTINOMIAL NAIVE BAYES

  SISTEM KLASIFIKASI SURAT MASUK MENGGUNAKAN MULTINOMIAL NAIVE BAYES STUDI KASUS : FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA SKRIPSI

  Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer (S.Kom.)

  Program Studi Teknik Informatika Oleh:

  Fran Sandy Herlin Hanopo NIM : 075314045

JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA 2013

  CLASSIFICATION SYSTEM FOR ARCHIVE LATTERS USING MULTINOMIAL NAIVE BAYES STUDY CASE : FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY A THESIS

  Presented as Partial Fulfillment of the Requirements to Obtain Sarjana Komputer Degree (S.Kom.) In Department of Informatics Engineering

  By: Fran Sandy Herlin Hanopo

  NIM : 075314045

DEPARTMENT OF INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY 2013

KATA PENGANTAR

  Puji dan syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa atas berkat dan penyertaan yang diberikan-Nya dalam berbagai wujud yang kadang tidak disadari sehingga penulis dapat menyelesaikan penelitian yang berjudul “Sistem Klasifikasi Surat Masuk Menggunakan Multinomial Naive Bayes”.

  Penulis juga berterima kasih kepada pihak – pihak yang telah berjasa membantu menyelesaikan penelitian ini. Kepada Ibu Sri Hartati Wijono, S.Si., M.Kom. atas bimbingannya berupa pengarahan dan solusi dalam melaksanakan penelitian ini hingga selesai. Kepada Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T. dan Bapak Drs. Johanes Eka Priyatma, M.Sc., Ph.D. sebagai dosen penguji atas kerjasama dan apresiasinya memberikan penilaian yang baik atas usaha penulis. Kepada Bapak Zaerilus Tukija yang telah berbaik hati bersedia menjadi narasumber untuk informasi dan data yang digunakan dalam penelitian ini. Kepada pihak sekretariat fakultas sains dan teknologi, dan juga Bapak Bele yang telah membantu mempersiapkan ujian tugas akhir. Kepada para programer yang berkontribusi di internet atas pengetahuan telah yang mereka bagi dengan cuma – cuma. Kepada teman – teman yang telah memberikan dukungan dan bantuan yang sangat berarti. Dan akhirnya kepada keluarga yang tak pernah lelah untuk terus memberikan dukungan sehingga penulis dapat melakukan penelitian ini dengan sebaik mungkin.

  Penulis menyadari bahwa hasil dari penelitian ini jauh dari kata sempurna, namun penulis berharap semoga kerja yang telah penulis lakukan ini dapat berguna bagi pihak yang membutuhkan dan dapat menjadi jalan bagi penelitian lain yang lebih baik.

  Penulis

  

ABSTRAK

  Penelitian ini bertujuan untuk membangun sebuah sistem pengelolaan surat masuk yang dikelola oleh sekretariat Fakultas Sains dan Teknologi Informatika Universitas Sanata Dharma. Sistem yang dibangun memiliki fungsi klasifikasi dan pencarian surat. Data yang digunakan dalam penelitian adalah arsip (surat) fisik. Surat – surat tersebut akan diproses menjadi arsip digital untuk kemudian dapat diolah oleh sistem yang akan dibangun. Arsip digital yang dimaksudkan adalah berupa file PDF dan teks.

  Fungsi klasifikasi yang dimiliki sistem mengelompokkan surat ke dalam delapan kategori. Kedelapan kategori tersebut, yaitu Administrasi Umum, Akademik, Kemahasiswaan, Kepegawaian, Keuangan, Perlengkapan, Yayasan, dan Lain – lain. Proses klasifikasi surat pada sistem menggunakan algoritma Multinomial Naive Bayes. Melalui pengujian menggunakan 3-fold cross

  

validation terhadap 278 data didapat persentase rata – rata benar sebesar 79% dan

  salah sebesar 20%. Kemudian pada pengujian menggunakan 5-fold terhadap data yang sama didapat persentase rata – rata benar sebesar 83% dan salah sebesar 16%. Kesalahan klasifikasi yang terjadi dapat disebabkan oleh penentuan kelas terhadap data training yang mungkin mengalami kesalahan. Hal ini dikarenakan penentuan kelas tersebut tidak dilakukan oleh pakar.

  Fungsi pencarian pada sistem memanfaatkan library Apache Lucene. Selain mencari surat, fungsi pencarian juga dapat menampilkan surat yang berhasil ditemukan. Fungsi pencarian memiliki filter kategori surat yang dapat dipilih oleh user.

  

ABSTRACT

  This research aims to build a management system of archive letters, which are managed by the secretariat of Science and Technology Faculty of Sanata Dharma University. The system has functions to classify and search the letter. The data that will be used in this research are physical archives (letters). These letters will be made into digital archives for which can be processed by the system. The digital archives will be in the form of PDF and text file.

  The classification function of the system will classify letters into eight categories. Those eight categories are Administrasi Umum, Akademik,

  

Kemahasiswaan, Kepegawaian, Keuangan, Perlengkapan, Yayasan, dan Lain –

lain . The process of these letters classification is using Multinomial Naive Bayes

  algorithm. The average percentage results based on the validation using 3-fold cross validation to 278 data are 79% of correct classification and 20% of wrong classification. Then, based on the validation using 5-fold cross validation to same data, the average percentage results are 83% of correct classification and 16% of wrong classification. Those false classifications could be caused by uncorrectly classified training data. The classification of training data was not performed by expert.

  The search function in the system is using the Apache Lucene library. Beside to search the letters, the search function also could open the found letters. This search function has letter categories filter that can be choosed by the user.

  

DAFTAR ISI

HALAMAN PERSETUJUAN...........................................................................................iii

HALAMAN PENGESAHAN.............................................................................................iv

HALAMAN KEASLIAN KARYA.....................................................................................v

HALAMAN PERSETUJUAN PUBLIKASI....................................................................vi

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  xi

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

DAFTAR TABEL

Tabel 2.1 Aturan 1. Aturan untuk inflectional particles. ................................................... 12Tabel 2.2 Aturan 2. Aturan untuk inflectional possessive pronouns. ................................ 12Tabel 2.3 Aturan 3. Aturan untuk first order of derivational prefixes. ............................. 13Tabel 2.4 Aturan 4. Aturan untuk second order of derivational prefixes. ........................ 13Tabel 2.5 Aturan 5. Aturan untuk derivational suffixes. ................................................... 14Tabel 2.6 Contoh suku kata dalam Bahasa Indonesia. ...................................................... 14Tabel 2.7 Daftar surat beserta kelasnya. ............................................................................ 21Tabel 2.8 Contoh hasil tokenization. ................................................................................. 26Tabel 2.9 Contoh hasil penghilangan stop word pada Tabel 2.8. ...................................... 26Tabel 2.10 Contoh hasil proses normalisasi terhadap Tabel 2.9. ...................................... 27Tabel 2.11 Contoh hasil stemming dari Tabel 2.10. .......................................................... 27Tabel 2.12 Daftar term berserta frekuensi kemunculannya. .............................................. 28Tabel 2.13 Hasil sorting secara ascending. ....................................................................... 29Tabel 2.14 Hasil grouping berdasarkan term yang sama. ................................................. 30Tabel 2.15 Hasil perhitungan prior probabilities untuk tiap kelas. ................................... 31Tabel 2.16 Contoh penghitungan conditional probabilities. .............................................. 31Tabel 2.17 Model. .............................................................................................................. 32Tabel 2.18 Contoh hasil sorting & grouping dari data testing (surat

  

Tabel 2.19 Hasil proses matching antara model dan data testing. .................................... 35

  xiii

Tabel 2.20 Hasil matching beserta dengan nilai conditional probabilities-nya. ............... 36Tabel 2.21 Hasil perkalian nilai conditional probabilities dengan term frequency-nya. .. 37Tabel 3.1 Deskripsi Use Case. ........................................................................................... 42

  

DAFTAR GAMBAR

Gambar 2.1 Proses pemerolehan informasi menurut (Davies & Goker, 2009). .................. 7Gambar 2.2 Proses dasar dari Porter stemmer untuk Bahasa Indonesia (Tala, 2003). ...... 12Gambar 2.3 Contoh proses dari three-fold cross-validation. ............................................ 19Gambar 3.1 Diagram Blok untuk proses klasifikasi. ......................................................... 40Gambar 3.2 Diagram Use Case. ........................................................................................ 42Gambar 3.3 Diagram Dekomposisi. .................................................................................. 44Gambar 3.4 Diagram Konteks. .......................................................................................... 44Gambar 3.5 Diagram Arus Data Level 1. .......................................................................... 45Gambar 3.6 Diagram Arus Data Level 2 Proses 1. ........................................................... 46Gambar 3.7 Diagram Arus Data Level 2 Proses 2. ........................................................... 46Gambar 3.8 Diagram Arus Data Level 3 Proses 1.1. ........................................................ 47Gambar 3.9 Diagram Arus Data Level 3 Proses 1.2. ........................................................ 48Gambar 3.10 Diagram Arus Data Level 3 Proses 2.1. ...................................................... 49Gambar 3.11 Diagram Arus Data Level 3 Proses 2.2. ...................................................... 50Gambar 3.12 Antarmuka Menu Utama / Menu Pencarian Surat. ...................................... 51Gambar 3.13 Antarmuka Menu Simpan Surat. ................................................................. 52Gambar 4.1 Antarmuka untuk menu utama juga pencarian. ............................................. 56Gambar 4.2 Antarmuka untuk penyimpanan surat. ........................................................... 60Gambar 4.3 Antarmuka untuk proses training. ................................................................. 65Gambar 5.1 Output Hasil Training Pada Pengujian Penerapan Algoritma. ...................... 74Gambar 5.2 Output Hasil Testing Pada Pengujian Penerapan Algoritma. ........................ 74Gambar 5.3 Output Hasil Penyesuaian Pecahan Pada Proses Training. ........................... 75

  xv

Gambar 5.4 Output Hasil Penyesuaian Pecahan Pada Proses Testing. ............................. 75Gambar 5.5 3-fold cross validation. .................................................................................. 76Gambar 5.6 5-fold cross validation. .................................................................................. 77

BAB 1 PENDAHULUAN 1.1. Latar Belakang Setiap fakultas di Universitas Sanata Dharma memiliki tanggung jawab untuk

  mengelola semua surat yang mereka miliki. Pengelolaannya dilaksanakan oleh pihak sekretariat dari masing – masing fakultas. Surat – surat yang dikelola tersebut dikategorikan ke dalam tiga kategori, yaitu surat masuk, surat keluar dan surat keputusan. Surat – surat tersebut kemudian akan disimpan sebagai arsip dan digunakan kembali saat dibutuhkan. Hingga saat tulisan ini dibuat, pengelolaan surat keluar, surat masuk, dan surat keputusan tersebut masih dilakukan secara manual. Hal ini dikarenakan pihak fakultas tidak memiliki sistem yang mendukung pengelolaan yang terkomputerisasi. Sistem yang berjalan secara manual memiliki kelemahan pada alokasi ruang dan waktu yang tidak efisien. Penyimpanan arsip yang besar secara fisik membutuhkan media simpan dengan kapasitas yang besar pula. Seiring dengan bertambahnya arsip yang dikelola maka akan semakin banyak ruang yang dibutuhkan. Melakukan backup terhadap arsip fisik juga sulit untuk dilaksanakan karena besarnya biaya dan tenaga dalam pelaksanaannya. Pencarian suatu arsip fisik pada penyimpanan yang besar kadang juga memerlukan waktu yang lama. Adanya sistem yang secara khusus ditujukan untuk mengelola surat diharapkan dapat mempermudah proses pengelompokkan dan pencarian surat – surat tersebut oleh sekretariat dan pejabat fakultas.

  Fokus utama dalam penelitian ini adalah sistem informasi untuk pengelolaan surat masuk dan surat keputusan. Kedua kategori surat tersebut akan dibagi menjadi beberapa subkategori untuk menghasilkan klasifikasi yang lebih spesifik. Misal pengelompokan berdasarkan perihal surat, tanggal surat, maupun informasi penting lain yang terkandung di dalam surat. Pengelompokan yang lebih spesifik juga diharapkan dapat mempercepat proses pencarian sebuah surat. Untuk mendukung proses klasifikasi yang terkomputerisasi, akan dibuat arsip digital dari setiap surat melalui proses scanning dan konversi. Konversi berfungsi

  2 untuk mengubah hasil scanning yang dapat berupa PDF atau file gambar menjadi

file teks. File teks dibutuhkan untuk mengekstrak informasi di dalam surat.

Informasi tersebut kemudian digunakan dalam menghasilkan klasifikasi dan melakukan pencarian surat. PDF dari hasil scanning akan berguna sebagai view untuk menampilkan isi surat.

  Sistem yang hendak dibangun akan menerapkan teknik klasifikasi teks menggunakan algoritma Multinomial Naïve Bayes. Klasifikasi teks adalah proses mengelompokkan dokumen ke dalam kategori-kategori atau kelas-kelas yang berbeda (Joachims, 1997). Beberapa penggunaan teknik klasifikasi teks misalnya untuk menyaring e-mail, memprediksi keinginan user, dan pengorganisasian konten / isi web (Schneider, 2004). Algoritma Multinomial Naïve Bayes adalah pengembangan dari algoritma Naïve Bayes yang memiliki keunggulan dalam memproses teks. Naive Bayes (Witten & Frank, 2005) yaitu salah satu teknik klasifikasi yang banyak digunakan untuk klasifikasi teks karena metode ini sangat cepat dan cukup akurat.

1.2. Rumusan Masalah

  1. Bagaimana membangun sebuah sistem yang dapat mengelompokkan surat masuk dan surat keputusan ke dalam kategori – kategori tertentu secara otomatis, kemudian menyimpan file surat tersebut dan metadatanya ke dalam database.

  2. Melakukan pencarian file surat yang telah tersimpan di database dengan memanfaatkan metadata dari file surat maupun berdasarkan kategori surat untuk mempercepat proses pencarian surat.

  3. Menerapkan metode Naive Bayes dengan multinomial model dalam proses klasifikasi teks (surat).

  3

  1.3. Batasan Masalah

  Batasan dari sistem pemerolehan informasi surat masuk dan surat keputusan yang hendak dibangun adalah sebagai berikut :

  1. Tipe surat yang dikelola adalah surat masuk.

  2. Bentuk surat yang diproses adalah hasil scan yang kemudian dikonversi menjadi file text (*.txt).

  3. User dari sistem adalah sekretariat dan pejabat fakultas.

  4. Proses - proses utama yang dimiliki sistem:

  a. Mengelompokkan surat masuk dan surat keputusan yang dimiliki sekretariat ke dalam kategori – kategori tertentu yang kemudian disimpan ke dalam database.

  b. Mencari surat yang telah disimpan di dalam database berdasarkan suatu kategori tertentu atau berdasarkan kata kunci dari user.

  1.4. Tujuan Penelitian

  Tujuan dari penelitian ini adalah membangun sebuah sistem yang dapat membantu pihak sekretariat dan pejabat fakultas dalam mengelola surat masuk yang telah digitalisasi (berbentuk file digital).

  1.5. Metodologi Penelitian

  Langkah-langkah dari metodologi penelitian yang digunakan dalam penelitian ini adalah sebagai berikut:

  1. Studi Pustaka Studi pustaka dilakukan untuk mempelajari dan memahami lebih lanjut tentang surat, pemrosesan dan klasifikasi teks, algoritma Multinomial Naïve Bayes dan teknik penerapan dari semua ilmu tersebut untuk mencapai tujuan akhir dari penelitian.

  4

  2. Observasi Observasi bertujuan untuk mengetahui segala sesuatu mengenai sistem pengelolaan surat yang sedang berjalan di Fakultas Sains dan Teknologi.

  Seperti untuk mengetahui bagaimana cara kerjanya, siapa yang bertugas mengelola dan bertanggung jawab, dan apa saja yang benar – benar dibutuhkan untuk memaksimalkan pengelolaan surat tersebut.

  3. Analisis dan Perancangan Sistem Melakukan analisis terhadap masalah dan kebutuhan sistem yang akan dibangun. Kemudian dilakukan perancangan umum sistem sesuai dengan kebutuhan user. Metode yang akan digunakan dalam merancang sistem pengklasifikasian surat ini adalah metode FAST (Framework for the

  Application of Sistem Thinking ) yang meliputi :

  a. Fase Definisi Ruang Lingkup (Scope Definition Phase) Pada fase ini akan dilakukan analisis terhadap batasan – batasan sistem, yaitu menentukan kebutuhan – kebutuhan yang dapat ditangani oleh sistem. Fase ini juga akan menganalisis siapa saja yang akan menjadi user dari sistem.

  b. Fase Analisis Masalah (Problem Analysis Phase) Mempelajari sistem yang telah ada dan sedang berjalan untuk menemukan masalah – masalah dan solusi dari sistem yang sedang berjalan tersebut.

  c. Fase Analisis Kebutuhan (Requirements Analysis Phase) Mendefinisikan kemampuan yang akan disediakan sistem kepada usernya.

  Mengalisis kebutuhan user atau yang diharapkan user dari sistem yang baru.

  d. Fase Desain Logikal (Logical Design Phase) Menerjemahkan kebutuhan user dari fase sebelumnya ke dalam sebuah model atau diagram yang meliputi desain basis data (Entity Relationship

  Model ), diagram arus data (DAD), diagram konteks, dan diagram dekomposisi dari sistem.

  5 e. Fase Desain Fisikal (Physical Design Phase)

  Menerjemahkan Desain Logikal yang menggambarkan kebutuhan pengguna ke dalam sebuah model yang menggambarkan implementasi teknis dari sistem yang akan dibuat.

  f. Fase pembangunan dan pengujian (Construction & Testing Phase) Membangun dan menguji sistem yang telah dirancang melalui fase – fase terdahulu dalam memenuhi kebutuhan pengguna. Membuat dokumetasi dari sistem yang berguna untuk membantu user memahami sistem baru.

  4. Pembuatan Sistem Pembuatan sistem akan berdasarkan hasil analisis dan perancangan sistem yang telah dilakukan pada tahap sebelumnya.

  5. Implementasi dan pengujian Sistem yang telah dibuat kemudian dijalankan dan dilakukan uji coba untuk mengetahui kinerja sistem secara khusus yang meliputi keakuratan klasifikasi dan keberhasilan melakukan pencarian. Kinerja sistem secara umum meliputi berjalan atau tidaknya setiap fungsi dan keberhasilan setiap fungsi tersebut menjalankan tugasnya.

  6. Evaluasi Menganalisis hasil implementasi dan pengujian untuk kemudian disimpulkan sejauh mana sistem telah mengakomodasi kebutuhan user secara keseluruhan.

1.6. Sistematika Penulisan

  BAB I PENDAHULUAN Berisi gambaran umum tentang penelitian yang dilakukan. Bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, metodologi penelitian, dan sistematika penulisan.

  6

  BAB II LANDASAN TEORI Berisi dasar teori yang berkaitan dengan penelitian yang dilakukan, yaitu metode klasifikasi Naive Bayes, klasifikasi teks, dan pemerolehan informasi. BAB III PERANCANGAN Berisi perancangan sistem dari penelitian yang dilakukan. BAB IV IMPLEMENTASI Berisi penjelasan tentang implementasi hasil perancangan yang telah dibuat ke dalam bentuk program. BAB V PENGUJIAN DAN ANALISIS Berisi pengujian terhadap hasil implementasi dan analisis dari hasil pengujian. BAB VI KESIMPULAN DAN SARAN Berisi kesimpulan dan saran yang didapat dari hasil penelitian.

BAB 2 LANDASAN TEORI 1.1. Pemerolehan Informasi Pemerolehan informasi (Manning, Raghavan, & Schutze, 2008) adalah

  menemukan bahan (umumnya dokumen) dari sebuah sifat yang tidak terstruktur (umumnya teks) untuk memenuhi kebutuhan informasi dari dalam koleksi yang besar (biasanya disimpan dalam komputer).

  Menurut (Davies & Goker, 2009), terdapat tiga proses utama yang harus didukung oleh sebuah sistem pemerolehan informasi, yaitu indexing, query

  formulation , dan matching.

  Information need Documents Query formulation Indexing

  Query Indexed documents Matching

  Retrieved documents Feedback Gambar 2.1 Proses pemerolehan informasi menurut (Davies & Goker, 2009).

  Pada Gambar 2.1, kotak persegi mewakili data dan kotak yang melingkar mewakili proses.

  8

1. Indexing

  Proses indexing menghasilkan representasi dari dokumen. Proses ini tidak melibatkan user secara langsung. Proses indexing dapat memasukkan keseluruhan isi dokumen ke dalam sistem. Namun yang lebih sering dilakukan adalah menyimpan sebuah dokumen hanya per bagian, misalnya, hanya judul dan ringkasan, ditambah dengan lokasi sebenarnya dari dokumen yang disimpan. Tahap – tahap dalam proses indexing akan dibahas pada sub bab 2.2.

  2. Query formulation

Query formulation adalah proses merepresentasikan informasi yang dibutuhkan

  oleh user. Hasil dari proses representasi tersebut adalah query. Dalam arti yang lebih luas, query formulation dapat berarti sebuah hubungan timbal balik antara komputer dan user, yang tidak hanya menghasilkan query yang sesuai, namun memungkinkan untuk memperoleh hasil yang dapat memandu user untuk lebih memahami informasi yang mereka butuhkan. Hal ini dinyatakan pada proses feedback pada Gambar 2.1.

  3. Matching

Matching adalah proses membandingkan query dengan indexed document yang

  diperoleh melalui dua proses di atas. Proses ini bertujuan untuk menemukan dokumen yang cocok dengan keinginan user. Proses matching biasanya menghasilkan daftar peringkat (ranking) dokumen. Daftar dokumen tersebut nantinya akan digunakan oleh user untuk mencari informasi yang mereka inginkan. Peringkat pencarian juga diharapkan akan meletakkan dokumen yang relevan di posisi puncak pada daftar peringkat, sehingga meminimalkan waktu yang dibutuhkan user dalam mencari dokumen yang tepat.

  Untuk penelitian ini, maka proses matching yang diharapkan adalah membandingkan antara surat yang akan dikategorikan dengan model (hasil training menggunakan Multinomial Naive Bayes) untuk mendapatkan kategori yang sesuai untuk surat yang akan dikategorikan tersebut.

  9

1.2. Indexing

  Tahap – tahap dalam membangun sebuah index (Manning, Raghavan, & Schutze, 2008) adalah sebagai berikut:

  1. Tokenization

  

Tokenization adalah proses memotong rangkaian kata yang terdapat dalam sebuah

  dokumen menjadi potongan – potongan kata yang berdiri sendiri, yang disebut

  

token, dan dalam waktu bersamaan juga menghilangkan karakter – karakter

tertentu, seperti tanda baca.

  Input: Friends, Romans, Countrymen, lend me yours ears; Output:

  Friends Romans Countrymen lend me yours ears

  2. Normalzation

  Normalization

  adalah proses menyamakan ejaan sebuah kata yang mewakili makna yang sama. Misalnya, e-mail, E-mail, Email, dan email; keempat kata tersebut mewakili makna yang sama namun memiliki penulisan yang berbeda. Dalam melakukan proses normalisasi dapat digunakan salah satu kata sebagai acuan, misalnya dipilih kata email sebagai acuan, maka penulisan kata e-mail, E-

  mail, dan Email akan diubah menjadi email.

  3. Stop words removal

  

Stop words removal adalah proses menghilangkan stop words dari kumpulan kata

  yang didapat dari hasil tokenization. Stop words adalah beberapa kata yang sangat umum yang kurang membantu / kurang berpengaruh dalam proses klasifikasi. Penghilang stopword diharapkan dapat mengefisienkan dan meningkatkan akurasi proses klasifikasi.

  10 Contoh stop words: dan atau lagi ada akan agar akhir bahkan baik begini dahulu cukup guna entah ingat hampir hanya itu jadi jangan hendak

  4. Stemming

  Stemming

  adalah proses menghilangkan imbuhan, seperti awalan, sisipan, dan akhiran, pada sebuah kata untuk mendapatkan kata dasarnya. Dalam penelitian ini, algoritma stemming yang akan digunakan adalah algoritma Porter.

  5. Membangun index melalui proses sorting dan grouping. Tahap utama dalam membangun sebuah index adalah mengurutkan (sorting) hasil stemming sehingga daftar term tersebut terurut berdasarkan abjad. Term yang sama kemudian dikelompokkan (grouping) menjadi satu dan dihitung frekuensi kemunculannya di tiap – tiap dokumen.

1.3. Porter Stemmer 1.3.1. Tentang Porter Stemmer

  Porter stemmer atau Porter stemming (Porter, 2006) adalah sebuah algoritma untuk menghapus akhiran infleksional dan morfologi yang umum dari kata dalam Bahasa Inggris. Kegunaan utama dari algoritma ini adalah sebagai bagian dari proses normalisasi term yang biasa dilakukan pada saat membangun sebuah sistem Pemerolehan Informasi. Menurut (Tala, 2003), algoritma ini berdasarkan pada ide bahwa akhiran dalam Bahasa Inggris umumnya tersusun atas kombinasi akhiran yang kecil dan sederhana. Proses pemotongan dilakukan dalam lima tahap terurut, yang mensimulasikan proses inflectional dan derivational dari sebuah kata. Pada setiap tahapan, sebuah akhiran dihilangkan melalui aturan penggantian (substitution). Aturan penggantian (substitution) diterapkan pada saat satu set kondisi yang ada pada sebuah aturan terpenuhi. Salah satu contoh dari kondisi tersebut adalah panjang minimal (jumlah dari rangkaian vokal-konsonan) dari

  11 kata dasar yang dihasilkan. Panjang minimal ini disebut measure. Contoh kondisi lain yaitu apakah sebuah kata dasar diakhiri dengan huruf mati atau apakah mengandung huruf hidup.

  Saat semua kondisi dari sebuah aturan terpenuhi, maka aturan tersebut dijalankan, yang menyebabkan penghilangan akhiran; dan kemudian proses dilanjutkan pada tahap berikutnya. Bila kondisi dari sebuah aturan pada suatu tahap tidak terpenuhi, maka kondisi dari aturan berikutnya akan diuji, hingga aturan tersebut dijalankan atau hingga aturan pada tahap tersebut habis.

1.3.2. Porter Stemmer untuk Bahasa Indonesia

  Porter Stemmer diadaptasi untuk bahasa Indonesia didasarkan atas pertimbangan bahwa ide utama dari algoritma ini sesuai dengan struktur morfologis dari kata dalam Bahasa Indonesia (Tala, 2003). Struktur morfologis dari kata dalam Bahasa Indonesia terdiri dari sebuah kombinasi dari struktur inflectional dan derivational yang kecil dan sederhana, dimana masing – masing tersusun atas akhiran dan/atau awalan yang sederhana dan kecil. Tahap – tahap terurut dalam Porter Stemmer, yang mensimulasikan proses inflectional dan derivational dari kata dalam Bahasa Inggris juga cocok dengan struktur inflectional dan derivational dari Bahasa Indonesia. Karena Bahasa Inggris dan Bahasa Indonesia adalah dua bahasa yang berbeda, maka aturan – aturan pada tiap tahap dalam Porter Stemmer untuk Bahasa Indonesia mendapat beberapa perubahan untuk menyesuaikan dengan struktur Bahasa Indonesia, seperti aturan untuk penghilangan awalan, konfiks, dan juga penyesuaian ejaan pada kasus dimana karakter pertama pada sebuah kata dasar mengalami perubahan pada saat mendapat penambahan awalan.

  12 Word

  Remove Particle Remove Possessive

  Remove 1st Order Prefix

  fail a rule is fired

  Remove 2nd Order Prefix Remove Suffix

  a rule is fired

  Remove Suffix Remove 2nd Order Prefix

  fail

  Stem

Gambar 2.2 Proses dasar dari Porter stemmer untuk Bahasa Indonesia (Tala, 2003).

Tabel 2.1 Aturan 1. Aturan untuk inflectional particles.

  Akhiran Replacement Measure Additional Contoh Condition Condition

  • kah NULL

  2 NULL bukukah  buku

  • lah NULL

  2 NULL adalah  ada

  • pun NULL

  2 NULL bukupun  buku

Tabel 2.2 Aturan 2. Aturan untuk inflectional possessive pronouns.

  Akhiran Replacement Measure Additional Contoh Condition Condition

  • ku NULL

  2 NULL bukuku  buku

  • mu NULL

  2 NULL bukumu  buku

  • nya NULL

  2 NULL bukunya  buku

  13

  2 NULL pembaca  baca di- NULL

  2 NULL perjelas  jelas pel- NULL 2 ajar pelajar  ajar pe- NULL

  2 K* er bekerja  kerja per- NULL

  2 NULL berlari  lari bel- NULL 2 ajar belajar  ajar be- NULL

  Contoh ber- NULL

  Additional Condition

  Awalan Replacement Measure Condition

Tabel 2.4 Aturan 4. Aturan untuk second order of derivational prefixes.

  2 NULL kekasih  kasih * kata hasil pemotongan diawali dengan huruf hidup (vokal).

  2 NULL tersapu  sapu ke- NULL

  2 NULL diukur  ukur ter- NULL

  2 V… pemilah  pilah pem- NULL

Tabel 2.3 Aturan 3. Aturan untuk first order of derivational prefixes.

  2 NULL penduga  duga pem- p

  2 V… penyapu  sapu pen- NULL

  2 NULL pengukur  ukur peny- s

  2 NULL merusak  rusak peng- NULL

  2 V… memilah  pilah me- NULL

  2 V… menduga  duga menuduh  tuduh mem- p

  2 V…* menyapu  sapu men- t

  2 NULL mengukur  ukur meny- s

  Contoh meng- NULL

  Additional Condition

  Awalan Replacement Measure Condition

  2 NULL pekerja  kerja * kata hasil pemotongan diawali dengan huruf mati (konsonan).

  14

Tabel 2.5 Aturan 5. Aturan untuk derivational suffixes.

  Akhiran Replacement Measure Additional Condition Contoh Condition

  • kan NULL 2 awalan tarikkan  tarik

  ∉ {ke, peng} ambilkan  ambil

  • an NULL 2 awalan makanan  makan

  ∉ {di, meng, ter} (per)janjian  janji

  • i NULL 2 , tandai  tanda

  V|K…

  

1

  1 1 ≠ , 2 ≠ ,

  (men)dapati  dapat dan awalan ∉ {ber, ke, peng}

Tabel 2.6 Contoh suku kata dalam Bahasa Indonesia.

  Measure Contoh Suku Kata kh, ng, ny kh, ng, ny 1 ma, af, nya, nga ma, af, nya, nga 2 maaf, kami, rumpun, kompleks ma-af, ka-mi, rum-pun, kom-pleks 3 mengapa, menggunung, tandai mang-a-pa, meng-gu-nung, tan-da-i 1.4.

   Klasifikasi Teks

  Klasifikasi teks menurut (Davies & Goker, 2009) adalah proses mengklasifikasikan atau memberi label pada dokumen dalam beberapa cara, untuk membuat dokumen – dokumen tersebut lebih mudah dikelola. Klasifikasi teks sering digunakan pada kumpulan teks yang lebih sedikit, seperti email perseorangan, atau katalog perpustakaan. Kompleksitasnya terdapat pada kategori dan label yang digunakan, misalnya sering ada semantik, sesuai dengan aspek- aspek tersembunyi dari dokumen, dan hingga kesepakatan sosial bersama di antara para pengguna dokumen. Perbedaan utama antara klasifikasi teks dan jenis

  • – jenis lain dari pemerolehan informasi adalah bahwa klasifikasi teks melibatkan sebuah keputusan kualitatif. Dokumen tidak hanya diberi peringkat, beberapa

  15 diberi label dan beberapa tidak. Ini dilakukan karena suatu alasan, khususnya untuk menyaring atau mengarahkan dokumen sesuai dengan kapan dan bagaimana dokumen tersebut mungkin dibutuhkan.

  Klasifikasi teks adalah bagian dari konteks penggunaan yang lebih luas yang berbeda dari beberapa area dari pemerolehan informasi. Poin – poin utama yang dapat diringkas adalah sebagai berikut:

  1. Klasifikasi teks dimaksudkan untuk membuat sekumpulan dokumen lebih mudah dikelola dalam beberapa cara.

  2. Pengelolaan yang efektif dari dokumen bergantung dari tujuan yang dimaksudkan dari pengelolaan tersebut, baik dari pengirim dan penerima.

  3. Tujuan yang dimaksudkan dari sebuah dokumen tercermin dalam struktur dan susunan dokumen tersebut, serta dalam penggunaan bahasanya.

  Beberapa pendekatan dan contoh metode yang digunakan dalam proses klasifikasi teks, yaitu:

  • Defining features. Contoh: ID3 dan COBWEB.
  • Spatial boundaries. Contoh: support vector machines (SVM).
  • Prototypes. Contoh: Rocchio’s relevance feedback.
  • Probabilistic models. Contoh: Bayes’ rule.
  • Exemplar models. Contoh: k-nearest neighbour algorithm (kNN).
  • Hidden dependency models. Contoh: neural networks.

1.5. Naive Bayes

  Pengklasifikasi Bayesian (Tan, Steinbach, & Kumar, 2006), adalah pengklasifikasi yang didasarkan pada teorema Bayes. Sebuah studi yang membandingkan algoritma klasifikasi telah menemukan sebuah pengklasifikasi Bayesian sederhana yang dikenal dengan pengklasifikasi naive Bayesian (naive

  

Bayesian classifier ) yang secara performa sebanding dengan pohon keputusan dan

  16 pengklasifikasi jaringan saraf (neural network) tertentu. Pengklasifikasi Bayesian juga menunjukkan akurasi dan kecepatan yang tinggi saat diterapkan pada basisdata yang besar.

  Pengklasifikasi naive Bayesian mengasumsikan bahwa pengaruh dari nilai atribut pada kelas tertentu tidak bergantung pada nilai atribut lainnya. Asumsi ini disebut class conditional independence . Asumsi ini dibuat untuk menyederhanakan perhitungan yang rumit dan, dalam arti ini, dianggap “naive”.

1.5.1. Multinomial Naive Bayes atau Multinomial NB

  Menurut (Manning, Raghavan, & Schutze, 2008), probabilitas sebuah dokumen d berada di kelas c dihitung dengan:

  | ( | ) ∝ ( ) � ( )

  1 ≤ ≤

  ( 1 )

  | yang terdapat dalam

  • ( ), adalah conditional probability dari term

  | sebuah dokumen dari kelas c. ( ) diinterpretasikan sebagai ukuran dari seberapa banyak petunjuk membantu dalam menentukan bahwa c adalah kelas yang tepat.

  • ( ), adalah prior probability dari sebuah dokumen yang terdapat dalam kelas

  c

  . Bila term dari sebuah dokumen tidak memberikan petunjuk yang jelas untuk satu kelas dibandingkan dengan kelas lainnya, maka dipilih satu kelas yang memiliki prior probability yang tertinggi.

  , , … ,

  1 2 ⟩, adalah kumpulan token dalam dokumen d yang merupakan

  • ⟨ bagian dari vocabulary yang digunakan untuk mengklasifikasi dan adalah

  , , … , jumlah token tersebut di dalam dokumen d. Contoh,

  1 2 ⟩ untuk

  ⟨ dokumen dengan satu kalimat Beijing and Taipei join the WTO, menjadi

  17 = 4, jika term and dan the dianggap

  ⟨Beijing, Taipei, join, WTO⟩, dengan sebagai stop words. Untuk memperkirakan prior probability

  �( ) digunakan persamaan sebagai berikut:

  ( ) =

( 2 )

  • = jumlah dari dokumen training dalam kelas c.
  • N = jumlah keseluruhan dokumen training dari seluruh kelas. Untuk memperkirakan conditional probability

  �( | ) persamaan yang digunakan, yaitu:

  | ( ) = ′

  

  ∈

  

( 3 )

T ct = jumlah kemunculan term t dalam sebuah dokumen training dari kelas c.

  = jumlah total dari keseluruhan term yang terdapat dalam sebuah

  • ∑ ′

  ′∈ ′ dokumen training dari kelas c.

  Masalah dari proses perkiraan nilai conditional probabilities pada persamaan (5) adalah terdapat nilai nol dari sebuah kombinasi (term|class) yang tidak terdapat dalam data training. Berdasarkan contoh di atas, bila term WTO dalam data

  

training hanya terdapat dalam dokumen China, maka perkiraan untuk kelas –

  kelas lainnya, misalnya UK, akan bernilai nol (0):

  18

  

(WTO| ) = 0

Untuk menghilangkan nilai nol, digunakan add-one atau Laplace smoothing.

  Proses ini menambahkan nilai satu (1) pada setiap nilai T dari perhitungan

  ct

conditional probabilities. Sehingga persamaan untuk conditional probabilities

  menjadi:

  • 1 | ( ) =

  ′

  ∈

  ( ′ ′ ) + ∑

  

( 4 )

B’ = jumlah keseluruhan term unik dari seluruh kelas.

1.6. Evaluasi Sistem Pemerolehan Informasi (menggunakan K- fold Cross-Validation dan Precision) 1.6.1. K-fold Cross-Validation

  Cross-validation adalah sebuah metode statistik untuk mengevaluasi dan membandingkan algoritma learning dengan cara membagi data menjadi dua bagian. Bagian pertama digunakan untuk men-training sebuah model dan bagian yang lain digunakan untuk memvalidasi (testing) model. Bentuk dasar dari cross-

  

validation adalah k-fold cross-validation. Dalam k-fold cross-validation, pertama-

  tama sebuah data dibagi ke dalam k bagian (fold) yang sama besar (atau hampir sama). Kemudian dilakukan pengulangan sebanyak k untuk proses training dan validasi (testing), dimana dalam setiap pengulangan diambil sebuah fold untuk dilakukan validasi (testing), sementara sisanya, fold k-1 digunakan untuk training. Dalam penelitian ini, pembagian k-fold dilakukan untuk setiap kumpulan data yang tersimpan dalam masing – masing kelas.

  19

Gambar 2.3 Contoh proses dari three-fold cross-validation.

  Dalam setiap pengulangan, akan diukur performa dari masing-masing model yang terbentuk. Hal ini berfungsi untuk menentukan model mana yang terbaik / paling efektif untuk diaplikasikan ke dalam sistem. Untuk mengukur performa sebuah model, akan digunakan perhitungan precision untuk mengetahui tingkat akurasinya.

1.6.2. Precision

  Untuk menilai keefektifan dari sebuah sistem pemerolehan informasi (kualitas dari hasil klasifikasi), perlu dilakukan perhitungan untuk mengetahui precision dan recall dari hasil klasifikasi sistem tersebut. Dalam penelitian ini, yang akan dihitung hanyalah precision, karena yang hendak dicari tahu adalah tingkat akurasi dari sebuah model. Precision adalah rasio dari jumlah dokumen relevan yang diperoleh dibagi oleh jumlah dari dokumen yang diperoleh.

  = ( ) =

  ( | )

  20 Sehingga:

  = (

  • )

  

( 5 )

tp (true positives) : hasil prediksi tepat, kedua kategori cocok.

  fp (false positives) : hasil prediksi mengatakan kedua kategori cocok, tapi ternyata salah.

1.7. Pencarian file menggunakan Apache Lucene 4.1.0

  Apache Lucene adalah library mesin pencari teks yang berkinerja tinggi, kaya fitur yang ditulis sepenuhnya menggunakan Java. Ini adalah sebuah teknologi yang cocok untuk hampir semua aplikasi yang membutuhkan pencarian penuh terhadap file teks, khususnya lintas platform (Apache Foundation).

  Secara garis besar Lucene memiliki dua proses utama, yaitu indexing dan

  searching

  . Proses indexing akan memotong kalimat menjadi kata yang berdiri sendiri, kemudian memilah antara kata dan tanda baca, mengubah semua huruf menjadi huruf kecil, dan menghilangkan stopword.

  Di dalam proses indexing terdapat proses scoring yang merupakan inti dari proses indexing dan juga Lucene. Proses scoring menentukan performa dari Lucene dalam melakukan pencarian. Proses ini memberikan bobot pada setiap kata dalam dokumen, sehingga memungkinkan untuk menemukan kemiripan antara keyword dan dokumen yang dicari.

  Lucene memberikan kemampuan kepada user untuk menentukan bagaimana sebuah dokumen akan diindeks. Bagaimana sebuah dokumen diindeks akan mempengaruhi proses scoring.

  Proses searching dalam Lucene akan melalui proses yang sama dengan

  

indexing. Namun data yang diproses berupa keyword. Hasil pencarian adalah

daftar dokumen yang diurutkan berdasarkan score dari proses scoring.

  21

1.8. Penerapan Multinomial Naive Bayes Pada Klasifikasi Teks

  Diketahui terdapat empat file surat: surat , surat , surat , dan surat . Surat ,

  

1

  2

  3

  4

  1

  surat , dan surat akan menjadi data training yang digunakan untuk membangun

  2

  3

  model , sedangkan surat akan menjadi data testing untuk menguji model yang

  4

  dibangun . Keempat surat tersebut akan dikategorikan ke dalam tiga kategori, yaitu surat pengunduran diri, surat lamaran kerja, dan surat kuasa. Kategori untuk ketiga data training telah diketahui terlebih dahulu, yaitu surat

  

pengunduran diri untuk , surat lamaran kerja untuk , dan surat

kuasa untuk .

Tabel 2.7 Daftar surat beserta kelasnya.

  surat kelas surat pengunduran diri

  1

  surat lamaran kerja

  2

  surat kuasa

  3

  ???

4 Keseluruhan tahap yang akan dilalui dalam melakukan klasifikasi yaitu:

  I. Pemrosesan data training:

  1. Indexing data training : a. Tokenization.

  b. Normalization.

  c. Stopword removal (menggunakan stop words dari (Tala, 2003)).

  d. Stemming

  e. Sorting and grouping.

  2. Training: a. Hitung Prior Probabilities.

  b. Hitung Conditional Probabilities.

  c. Laplace Smoothing.

  22

  II. Pemrosesan data testing:

  3. Indexing data testing : a. Tokenization.

  b. Stopword removal (menggunakan stop words dari (Tala, 2003)).

  c. Normalization.

  d. Stemming

  e. Sorting and grouping.

  4. Testing: a. Matching.

  b. Kalikan nilai Conditional Probabilities.

  c. Hitung probabilitas.

  III. Mengukur keberhasilan klasifikasi: 5. K-fold Cross Validation .

6. Precision (Precision, hal.19) 1.8.1.

   Pemrosesan Data Training Data training yang akan digunakan dalam membangun model adalah sebagai berikut:

  Surat (masuk ke dalam kategori surat pengunduran diri):