ANALISA DAN PERANCANGAN SISTEM
3.3 Rekomendasi Tag Menggunakan TF-IDF dan Collaborative Tagging
Sistem rekomendasi tag dengan menggunakan TF-IDF dan Collaborative tagging
memiliki beberapa tahap dalam prosesnya. Adapun tahapan-tahapan tersebut dapat dilihat pada gambar 3.1.
Processing Prepocessing Tokenizing Filtering Steamming dengan menggunakanAlgoritma Nazief & Adriani untuk teks
berbahasa Indonesia
Perhitungan bobot kata dengan menggunakan
TF-IDF
Collaborative tag dengan mencari kesamaan tag >=
50% dari berita yang ada Teks Berita Baru
Rekomendasi Tag pada Berita Baru
Tag dari berita lain
Gambar 3.1 General Architecture Rekomendasi tag
Dari gambar 3.1, terlihat langkah-langkah atau alur proses pembentukan rekomendasi tag. Di sini kita misalkan memasukkan berita dengan kategori “Nasional” dan isi berita seperti gambar 3.2. Adapun penjabaran sistem rekomendasi
tag yang akan dikembangkan adalah sebagai berikut: 1. Masukkan berita baru yang akan dipublikasikan.
Input Berita:
Tim evakuasi gabungan Badan SAR Nasional telah menemukan kotak hitam yang seluruh aktifitas di dalam kokpit pesawat sebelum insiden jatuhnya pesawat Air Asia QZ8501 di Surabaya. Diharapkan dengan penemuan kotak hitam ini nantinya akan memberikan titik terang penyebab jatuhnya pesawat Air Asia QZ8501.
2. Lakukan tokenizing yaitu proses memecah text masukan tersebut menjadi kata-kata atau frase-frase. Hasilnya dapat dilihat ada tabel 3.3.
Tabel 3.3 Tahap Tokenizing
Tim aktifitas di memberikan
evakuasi di Surabaya titik gabungan dalam Diharapkan terang Badan_SAR_Nasional kokpit dengan penyebab telah pesawat penemuan jatuhnya menemukan sebelum kotak pesawat
kotak insiden hitam Air_Asia_QZ8501
hitam jatuhnya ini
yang pesawat nantiya
seluruh Air_Asia_QZ8501 akan
3. Normalisasi kata dengan mengubahnya semua huruf menjadi huruf kecil. Kemudian melakukan filtering dengan cara membuang kata yang kurang penting yang disimpan pada tabel stopword di database. Pada kasus ini dimisalkan tabel
Stopword berisi kata-kata seperti terlihat pada tabel 3.4. Hasil proses Filtering
dapat dilihat pada tabel 3.5.
Tabel 3.4 Stopword
yang dengan dari ialah
seluruh ini oleh sebelum
di akan boleh ke
dalam memberikan sesungguhnya disitu Tabel 3.5 Hasil Tahap Filtering
tim aktifitas surabaya terang evakuasi kokpit diharapkan penyebab gabungan pesawat penemuan jatuhnya badan_sar_nasional insiden kotak pesawat
menemukan jatuhnya hitam air_asia_qz8501
kotak pesawat nantinya
hitam air_asia_qz8501 titik
4. Lakukan stemming yaitu tahap pencarian kata dasar dari kata-kata hasil filtering. Proses stemming menggunakan Algoritma Nazief & Adriani untuk teks berbahasa Indonesia. Pada gambar 3.6 dapat dilihat hasil stemming kata.
Tabel 3.6 Tahap Stemming
tim kotak insiden harap titik evakuasi hitam jatuh temu terang gabungan aktifitas pesawat kotak sebab badan_sar_nasional kokpit air_asia_qz8501 hitam jatuh temu pesawat surabaya nanti pesawat air_asia_qz8501
5. Cari bobot TF-IDF sebagai berikut:
5.1 Hitung tf yaitu frekuensi kemunculan kata term (t) pada text berita (d).
5.2 Hitung Document frequency (df) yaitu banyaknya dokumen dimana suatu term
(t) muncul. Dimisalkan pada kasus ini hanya terdapat 1 buah berita di database
seperti terlihat di tabel 3.9.
5.3Dimisalkan nilai N (jumlah seluruh berita yang ada pada tabel berita) adalah 23. Maka nilai invers document frequency (idf) dapat dihitung dengan menggunakan persamaan 2.5.
5.4Hitung bobot (W) masing-masing kata dengan persamaan 2.6 Adapun perhitungan bobot tf.idf dapat dilihat pada tabel 3.7.
Tabel 3.7 Hasil Perhitungan tf.idf
Kata tf df Log 10 (N/(1+df)) = idf tf * idf = W
tim 1 1 log10(1/(1+1)) = 0,30103 1*0,30103 = 0,30103 evakuasi 1 1 log10(1/(1+1)) = 0,30103 1*0,30103 = 0,30103 gabungan 1 1 log10(1/(1+1)) = 0,30103 1*0,30103 = 0,30103 badan_sar_nasional 1 1 log10(1/(1+1)) = 0,30103 1*0,30103 = 0,30103 temu 2 1 log10(1/(1+1)) = 0,30103 2*0,30103 = 0,60206 kotak 2 0 log10(1/(1+0)) = 0,00000 2*0,00000 = 0,00000 hitam 2 0 log10(1/(1+0)) = 0,00000 2*0,00000 = 0,00000 aktifitas 1 0 log10(1/(1+0)) = 0,00000 1*0,00000 = 0,00000 kokpit 1 0 log10(1/(1+0)) = 0,00000 1*0,00000 = 0,00000 pesawat 3 1 log10(1/(1+1)) = 0,30103 3*0,30103 = 0,90309 insiden 1 0 log10(1/(1+0)) = 0,00000 1*0,00000 = 0,00000 jatuh 2 1 log10(1/(1+1)) = 0,30103 2*0,30103 = 0,60206 air_asia_qz8501 2 1 log10(1/(1+1)) = 0,30103 2*0,30103 = 0,60206 surabaya 1 1 log10(1/(1+1)) = 0,30103 1*0,30103 = 0,30103 harap 1 0 log10(1/(1+0)) = 0,00000 1*0,00000 = 0,00000 nanti 1 0 log10(1/(1+0)) = 0,00000 1*0,00000 = 0,00000 titik 1 0 log10(1/(1+0)) = 0,00000 1*0,00000 = 0,00000 terang 1 0 log10(1/(1+0)) = 0,00000 1*0,00000 = 0,00000 Sebab 1 0 log10(1/(1+0)) = 0,00000 1*0,00000 = 0,00000
5.5Lakukan proses pengurutan (sorting) nilai kumulatif dari W untuk setiap kata dan 6 kata dengan bobot terbesar akan dijadikan sebagai hasil rekomendasi
tag. Adapun hasil pengurutannya dapat dilihat pada tabel 3.8.
Tabel 3.8 Hasil Pengurutan Bobot tf.idf
Seo_Tag W Kata yang ditampilkan
pesawat 0.90309 Pesawat
temu 0.60206 Temu
jatuh 0.60206 Jatuh
air_asia_qz8501 0.60206 Air Asia Qz8501
tim 0.30103 Tim
evakuasi 0.30103 Evakuasi
6. Dari hasil rekomendasi tag proses TF-IDF, cari kemiripannya dengan berita lainnya yang telah diterbitkan sebelumnya menggunakan Collaborative tagging
dengan cara membandingkan tingkat similarity tag berita baru dengan tag pada berita-berita yang pernah diterbitkan sebelumnya. Dimisalkan berita dengan kategori Nasional berisi 1 berita seperti terlihat pada tabel 3.9.
Tabel 3.9 Berita Dalam Database
Isi Berita Sumber Tag
Tim evakuasi gabungan Badan SAR Nasional (Basarnas) kembali menemukan jenazah yang diduga korban kecelakaan pesawat Air Asia QZ8501. Tim menemukan tiga jenazah saat melakukan penyelaman di sekitar perairan Selat Karimata.
"Ditemukan di bawah serpihan-serpihan badan pesawat oleh tim penyelam jam 6 pagi tadi," kata Direktur Operasional Basarnas Marsekal Pertama TNI S.B Supriyadi di Pangkalan Bun, Jumat, 23 Januari 2015. Supriyadi belum bisa memastikan barang-barang apa saja yang ditemukan selain jenazah. Namun ia mengatakan tim evakuasi masih berfokus pada pencarian jenazah dan proses pengangkatan badan pesawat Air Asia QZ8501. "Kemungkinan masih banyak korban di dekat pecahan pesawat. Tim masih memeriksa, mudah-mudahan bisa ketemu jenazah lagi," ujarnya.
Hari ini tim evakuasi melakukan penyelaman mencari sisa jenazah yang diperkirakan masih tertimbun serpihan pesawat. Sebanyak 17 penyelam sudah melakukan penyelaman ke kedalaman 30 meter sejak pukul 6 tadi pagi.
Hingga hari ke-27 proses evakuasi pesawat Air Asia QZ8501, tim gabungan Basarnas telah menemukan total 62 jenazah. Pesawat tersebut jatuh di perairan Selat Karimata dalam perjalanan dari Surabaya menuju Singapura pada 28 Desember 2014. Saat itu pesawat Air Asia QZ8501 membawa 155 penumpang dan tujuh awak. (str)
Batakpos Jenazah pesawat Evakuasi Air Asia Qz8501 Basarnas
Badan SAR Nasional insiden
6.1 Inisialisasi presentasi kemiripan (%kemiripan), misalnya 50%. Dengan persamaan 2.7, hitung kemiripan berita, yaitu sebagai berikut:
Kpn = (50 * 6)/100 = 3
Sehingga kemiripan tag minimalnya (Kpn) adalah 3 tag.
Periksa kesamaan tag, jika tag yang sama Kpn maka tag lainnya dari berita tersebut ditambahkan ke tag rekomendasi berita baru seperti tabel 3.10.
Tabel 3.10 Contoh Collaborative Tag
Tag Hasil TF-IDF Tag Berita Lama Kesamaan
Pesawat pesawat sama
Temu Basarnas tidak
Evakuasi Evakuasi sama
Jatuh Jenazah tidak
Air Asia Qz8501 Air Asia Qz8501 sama
Tim Badan SAR Nasional tidak Insiden tidak
Kesamaan tag 3, maka tag lainnya dimasukkan menjadi tambahan rekomendasi tag seperti tabel 3.11.
Tabel 3.11 Tabel Rekomendasi Tag Akhir Pesawat Tim
Temu Basarnas Evakuasi Jenazah
Jatuh Badan SAR Nasional Air Asia Qz8501 Insiden
Jika tidak, maka algoritma berhenti.