BAB II
TINJAUAN PUSTAKA
2.1 Dasar Teori
2.1.1 Cosine Similarity
Secara umum, fungsi similarity adalah fungsi yang menerima dua buah objek dan mengembalikan nilai kemiripan (similarity) antara kedua objek tersebut berupa bilangan riil.Umumnya, nilai yang dihasilkan oleh fungsi similarity berkisar pada interval [0...1].Namun ada juga beberapa fungsi similarity yang menghasilkan nilai yang berada di luar interval tersebut.Untuk memetakan hasil fungsi tersebut pada interval [0...1] dapat dilakukan normalisasi (Karhendana, 2008).
Cosine similarity adalah perhitungan kesamaan antara dua vektor n dimensi dengan mencari kosinus dari sudut diantara keduanya dan sering digunakan untuk membandingkan dokumen dalam text mining (Zhiqiang et al, 2009).
Tan et al (2006) menjelaskan bahwa semakin besar hasil fungsi similarity, maka kedua objek yang dievaluasi dianggap semakin mirip.Dan sebaliknya, semakin kecil hasil fungsi similarity, maka kedua objek tersebut dianggap semakin berbeda. Pada fungsi yang menghasilkan nilai pada jangkauan [0...1], nilai 1 melambangkan kedua objek persis sama, sedangkan nilai 0 melambangkan kedua objek sama sekali berbeda.PersamaanCosine Similarity adalah sebagai berikut :
, .
| |. | | (2.1)
Dimana :
. : vector dot product dari x.y, dihitung dengan ∑ (2.2) | | : panjang vektor , dihitung dengan ∑ (2.3)
2.1.2 Vector Space Model
Vector Space Model (VSM) adalah suatu model aljabar yang digunakan untuk mewakili teks gejala sebagai suatu vektor pengenal, contohnya adalah indeks kata. VSM biasanya digunakan dalam penyaringan informasi, temu balik informasi, pengindeksan, dan perankingan relevansi (Hongdan et al, 2011).
Pemikiran dasar dari metode VSM ini adalah merepresentasikan setiap kata independen dan setiap gejala dinyatakan dalam sebuah vektor sehingga kompleksitas hubungan kata-kata menjadi sederhana kemudian dapat dihitung. Dalam VSM, setiap gejala terdiri dari term (T1, T2, ..., Tn) dan setiap termTi
memiliki bobot Wi. Term(T1, T2, ..., Tn) dianggap sebagai salah satu elemen
vektor dalam sistem koordinat N-dimensi (Guo, 2008).
Pada metode ini, setiap gejala di dalam database dan queryjuga dapat direpresentasikan sebagai suatu vektor multi-dimensi. Dimana dimensi sesuai dengan jumlah term dalam gejala yang terlibat pada model ini(Cios et al, 2007): a. Vocabulary merupakan kumpulan semua term berbeda yang tersisa dari
gejala setelah preprocessing dan mengandung t term index. Term-term ini membentuk suatu ruang vektor.
b. Setiap term i di dalam gejala atau query j, diberikan suatu bobot (weight) bernilai real Wij.
c. Gejala dan query diekspresikan sebagai vektor t dimensi dj = (W1, W2, ...,
Wtj) dan terdapat n dokumen di dalam koleksi, yaitu j = 1, 2, ..., n.
Contoh dari model ruang vektor tiga dimensi untuk dua dokumen D1 dan D2, satu query pengguna Q1, dan tiga term T1, T2 dan T3 diperlihatkan pada Gambar 2.1 di halaamn selanjutnya.
Gambar 2.1 Representasi vektor gejala dan vektor querypada ruang vektor Keseluruhan dari n buah gejaladirepresentasikan dalam sebuah matriks yang ditunjukkan oleh Gambar 2.2 di bawah ini.
Vektor gejala t1 t2 t3 t… tn Vektor term G1 W11 W12 W13 … W1n G2 W21 W22 W23 … W2n G… … … … Gm Wm1 Wm2 Wm3 … Wmn
Gambar 2.2 Ilustrasi matriks vector space model (Harlian, 2006) Pembobotan kata (term weighting) adalah proses memberi nilai bobot pada kata. Pembobotan dasar dilakukan dengan menghitung frekuensi kemunculan kata dalam gejala. Frekuensi kemunculan (term frequency) merupakan petunjuk sejauh
dapat ditentukan dengan tepat, diharapkan hasil perhitungan kemiripan teks akan menghasilkan perankingan gejala yang baik (Karmayasa dan Mahendra, 2012).
Faktor yang memegang peranan penting dalam pembobotan kata, yaitu (Mandala, 2004) :
a. Term frequency (TF) adalah frekuensi dari kemunculan sebuah term dalam gejala yang bersangkutan. Semakin besar kemunculan suatu term dalam gejala, akan semakin besar pula nilai bobotnya dalam gejala tersebut sehingga memberikan nilai kesesuaian yang semakin besar.
b. Inverse Document Frequency (IDF)
Inverse Document Frequency (IDF) adalah suatu statistik yang mengkarakteristikkan sebuah term dalam keseluruhan koleksi gejala. Banyak skema didasarkan pada pertimbangan bahwa semakin jarang suatu term muncul di dalam total koleksi maka term tersebut menjadi semakin berbeda.
Term Frequency-Inverse Document Frequency (TF-IDF) merupakan sebuah skema pembobotan yang sering digunakan dalam VSM bersama dengan cosine similarityuntuk menentukan kesamaan antara gejala dan query. TF-IDF mempertimbangkan frekuensi kata-kata yang berbeda dalam semua gejala dan mampu membedakan masing-masing gejala. Dalam VSM, setiap vektor disusun oleh term dan bobot yang mewakili gejala. Persamaan untuk menghitung bobot TF-IDF adalah (Lee et al, 1997) :
, , (2.5)
Keterangan :
, = bobot dari t (term) dalam satu gejala
, = frekuensi kemunculan t (term) dalam gejala d
= Inverse document frequency, dimana
log (2.6)
Keterangan :
N = jumlah semua gejala dan masukan query
IDF mencerminkan penyebaran term t dalam keseluruhan gejala sehingga dapat memperlihatkan perbedaan term t dalam tiap gejala. Sedangkan TF mencerminkan penyebaran term t dalam sebuah gejala. TF-IDF dapat membuat pengecualian bagi kata-kata yang berfrekuensi tinggi tetapi sedikit memiliki persamaan, sehingga TF-IDF merupakan algoritma yang efektif untuk perhitungan bobot term t(Kowalski dan Mark, 2007).
Setelah pembobotan tiap term dilakukan, diperlukan perhitungan untuk melakukan perankingan untuk mengukur kemiripan antara vektor query dan vektor geja;a yang akan dibandingkan. Salah satu metode yang biasa digunakan dalam perhitungan kemiripan adalah pengukuran cosine, yang menghitung nilai sudut antara vektor gejala dan vektor query. Sebuah vektor yang merepresentasikan gejala dj dan query q, dan termt diekstrak dari database,
perhitungan ukuran kemiripannya dilakukan menggunakan Persamaan 2.1 dengan vektor x adalah vektor yang merepresentasikan gejala dan vektor y adalah vektor query, maka nilai cosinus antara gejala (d) dan query (q) didefinisikan sebagai (Cios et al, 2007) :
, ∑ .
∑ . ∑ (2.7)
Keterangan :
= bobot dari termi pada gejala j = bobot dari termipadaquery
Penyebut dalam persamaan ini disebut faktor normalisasi yang berfungsi untuk menghilangkan pengaruh panjang gejala.Normalisasi ini diperlukan karena dimana gejala dengan kalimat panjang akan cenderung memiliki nilai lebih besar karena memiliki frekuensi kemunculan kata yang besar pula (Lee et al, 1997).
Proses perankingan dari gejala dapat dianggap sebagai proses pemilihan (vektor) gejala yang dekat dengan (vektor) query, kedekatan ini diindikasikan dengan sudut yang dibentuk. Nilai cosinus yang cenderung besar mengindikasikan
mengindikasikan bahwa gejala sesuai dengan dengan query(Mandala dan Setiawan, 2002).
2.1.3 Algoritma Nazief dan Adriani
Algoritma Nazief dan Adriani merupakan algoritma stemming yang dikembangkan untuk dokumen teks berbahasa Indonesia. Pengertian dari stemming sendiri adalah salah satu cara yang digunakan dalam proses Information Retrieval dengan cara mengubah kata-kata menjadi kata dasar. Algoritma stemming berbeda untuk setiap bahasa karena morfologi masing-masing bahasa yang berbeda.Proses stemming pada teks berbahasa Indonesia lebih kompleks karena penggunaan variasi imbuhan yang harus dibuang untuk mendapatkan kata dasar dari sebuah kata dalam teks (Agusta, 2009).
Algoritma stemming Nazief dan Adriani ini memiliki tahap-tahap sebagai berikut (Nazief dan Adriani, 1996) :
1. Cari kata yang akan distem dalam kamus. Jika ditemukan maka diasumsikan bahwa kata tersebut adalah root word.Maka algoritma berhenti.
2. Inflection Suffixes (“-lah”, “-kah”, “-ku”, “-mu”, atau “-nya”) dibuang. Jika berupa partikel (“-lah”, “-kah”, “-tah”atau “-pun”) maka langkah ini diulangi lagi untuk menghapus Possesive Pronouns (“-ku”, “-mu”, atau “-nya”), jikaada.
3. Hapus Derivation Suffixes (“-i”, “-an” atau “-kan”). Jika kata ditemukan di kamus, maka algoritma berhenti. Jika tidak maka ke langkah 3a.
a. Jika “-an” telah dihapus dan huruf terakhir dari kata tersebut adalah “-k”, maka “-k” juga ikut dihapus. Jika katatersebut ditemukan dalam kamus maka algoritma berhenti. Jika tidak ditemukan maka lakukan langkah 3b. b. Akhiran yang dihapus (“-i”, “-an” atau “-kan”) dikembalikan, lanjut ke
langkah 4.
4. Hapus Derivation Prefix. Jika pada langkah 3 ada sufiks yang dihapus maka pergi ke langkah 4a, jika tidak pergi ke langkah 4b.
a. Periksa tabel kombinasi awalan-akhiran yang tidak diizinkan. Jika ditemukan maka algoritma berhenti, jika tidak pergi ke langkah 4b.
b. For i = 1 to 3, tentukan tipe awalan kemudian hapus awalan. Jika root word belum juga ditemukan lakukanlangkah 5, jika sudah maka algoritma berhenti. Catatan: jika awalan kedua sama dengan awalan pertamaalgoritma berhenti.
5. Melakukan Recoding.
6. Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal diasumsikan sebagai root word. Prosesselesai.
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 menentukantipe 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. Hapus awalan jika ditemukan. 2.1.4 TanamanPadi
Padi merupakan tanaman pangan berupa rumput berumpun. Klasifikasi botani tanaman padi adalah sebagai berikut (Prihatman, 2000) :
− Divisi : Spermatophyta − Sub divisi : Angiospermae − Kelas : Monotyledonae
− Keluarga : Gramineae (Poaceae) − Genus : Oryza
− Spesies : Oryza spp.
Pertumbuhan tanaman padi dibagi ke dalam tiga fase yaitu (Makarim dan Suhartatik, 2009) :
1. Vegetatif
sampai muncul ke permukaan, pertunasan, munculnya anakan pertama sampai pembentukan anakan maksimum tercapai, dan pemanjangan batang. 2. Generatif
Fase generatif ditandai dengan tahap pembentukan malai, penggembungan daun bendera (bunting), keluarnya bunga atau malai, dan pembungaan.
3. Pemasakan
Fase pemasakan merupakan fase akhir dari perkembangan pertumbuhan tanaman padi yang memerlukan waktu kira-kira 30 hari dan ditandai dengan penuaan daun. Pada fase ini, tanaman padi akan melalui tahap gabah matang susu (gabah mulai terisi cairan kental berwarna putih susu), gabah setengah matang (isi gabah berubah menjadi gumpalan lunak dan mengeras), dan gabah matang penuh (gabah matang, berkembang penuh, dan berwarna kuning).
2.2 Penelitian Terkait
2.2.1 “Sistem Pakar Diagnosa Penyakit Tanaman Padi Berbasis Web dengan Forward dan Backward Chaining (Honggowibowo, 2009)” Penelitian ini bertujuan untuk membangun sistem pakar untuk mendiagnosa penyakit pada tanaman pada dengan menggunakan dua metode inferensi yaitu forward chaining dan backward chaining terkait penyakit padi dan gejala-gejala yang menyertainya. Proses diagnosa dengan dua metode inferensi di atas berupa konsultasi yang dimulai dengan menanyakan gejala-gejala pada tanaman padi, dan yang kedua proses diagnosa dapat dilakukan dengan memilih daftar penyakit sehingga akan memunculkan informasi tentang penyebab dan langkah-langkah penanganan penyakit tersebut. Dalam penerapannya, gejala digunakan sebagai fakta, setelah semua data gejala terpenuhi dapat digunakan untuk menarik kesimpulan mengenai suatu penyakit.
2.2.2 “Rancang Bangun Search Engine Ayat Al-Quran yang Mampu Memproses Teks Bahasa Indonesia Menggunakan Metode Cosine
Similarity (Holee, 2012)”
Penelitian ini bertujuan untuk merancang dan membangun search engine ayat al-Quran yang mampu memproses teks bahasa Indonesia dengan mengukur kemiripan terjemahan ayat dengan dokumen terkait (Document Similarity).Sebelum perhitungan kemiripan dilakukan, data akan diolah melalui tahap pre-processing yaitu case folding, tokenizing, fitering, dan stemming. Hasil pre-processing ini adalah berupa daftar term keseluruhan terjemahan ayat yang dimiliki,kemudian term-term tersebut direpresentasikan dalam model ruang vektor dengan pembobotan TF-IDF. Setelah dilakukan pembobotan, perhitungan kemiripan dilakukan menggunakan cosine similarity untuk menghitung jarak kosinus antar vektor. Dari ujicoba yang dilakukan, metode cosine similarity dalam implementasinya untuk aplikasi search engine ayat al-Quran menghasilkan tingkat precision 9,56%, recall 56,33%, dan accuracy 99,76%.
2.2.3 “Pengembangan Fitur Deteksi Dini Penyakit pada Toko Online Obat herbal dengan Metode Cosine similarity (Putra, 2012)”
Penelitian ini bertujuan untuk membangun aplikasi deteksi dini penyakit dengan memanfaatkan metode Cosine similarity yang didukung oleh pengelompokan gejala dan pengeliminasian penyakit sehingga jumlah pertanyaan yang harus dijawab dapat diminimalisir. Inti dari penelitian ini adalah dengan mengurutkan gejala berdasarkan jumlah penyakit yang memiliki gejala tersebut, kemudian mengelompokkan gejala ke dalam beberapa kelompok berdasarkan prosentase kemunculan sehingga penyakit yang memiliki prosentase rendah akan langsung dieliminasi. Metode similarity akan digunakan dalam perbandingan penyakit yang minimal satu dari gejalanya ada pada daftar gejala yang ditanyakan pada beberapa tahap pemberian feedback. Jika nilai akhir similarity antar gejala penyakit tersebut dengan seluruh feedback yang telah diberikan lebih dari 0,5 maka penyakit tersebut yang menjadi output dari aplikasi.
2.3 Rencana Penelitian
Berdasarkan beberapa penelitian terkait tersebut, maka rencana pada penelitian ini adalah memanfaatkan metode Vector Space Model (VSM) untuk mengidentifikasi input user dan metode Cosine Similarity untuk identifikasi hama atau penyakit pada tanaman padi. Metode VSM diterapkan pada input tekstual sehingga dapat ditemukan gejala apa saja yang dialami oleh user dengan mencari kemiripan antara input user dan data gejala pada fitur. Metode VSM diterapkan terhadap gejala input user dan data gejala dengan melalui beberapa tahap, yaitu tahap preprocessing (tokenizing, filtering, dan stemming) yang menghasilkan daftar term atau kata pada keseluruhan gejala dan query, kemudian tahap pembobotan dilakukan menggunakan algoritma TF-IDF untuk mendapatkan nilai kemiripan antar input user dengan masing-masing data gejala pada fitur.
Pengidentifikasian hama atau penyakit tanaman padi dilakukan berdasarkan hasil identifikasi input user sebelumnya menggunakan metode Cosine Similarity. Identifikasi hama atau penyakit akan dilakukan dengan mencari kemiripan antar gejala-gejala yang dimiliki oleh masing-masing hama atau penyakit dengan hasil identifikasi input user sebagai masukan feedback.