1 BAB I.PENDAHULUAN 1.1 Latar Belakang Masalah Sosial media seperti Twitter telah menciptakan sebuah wadah bagi orang untuk menyebarkan informasi, pemikiran atau pun perasaan tentang kehidupan mereka sehari-hari. Informasi yang disebarkan sering kali menunjukkan keadaan saat ini. Banyak peneliti yang telah memanfaatkan kecepatan pengiriman, murah dan keandalan Twitter dalam membagikan informasi. Beberapa contoh penelitian yang telah dilakukan adalah monitoring gempa bumi dan polling dalam dunia politik [4]. Hal ini juga dapat dimanfaatkan untuk menggali informasi tentang pendapat masyarakat terhadap layanan transportasi publik di Indonesia. Pendapat tersebut dapat berupa pandangan negatif atau positif. Salah satu teknik untuk mengetahui apakah pendapat yang diberikan termasuk positif atau negatif yaitu dengan analisis sentimen. Analisis Sentimen merupakan proses untuk memahami, mengestrak data berbasis teks secara otomatis, yang bertujuan untuk mendapatkan informasi sentimen yang terkandung di dalamnya. Analisis sentimen dilakukan untuk melihat pendapat atau kecenderungan suatu opini terhadap sebuah masalah, apakah pendapat tersebut cenderung berpandangan negatif atau positif [5]. Analisis Sentimen menggunakan Natural Language Processing (NLP) untuk mengekstrak dan mengidentifikasi informasi dari data yang diberikan. Dan menggunakan klasifikasi untuk menentukan apakah informasi yang diberikan termasuk negatif atau positif. Permasalahan yang sering muncul di dalam klasifikasi adalah banyaknya jumlah fitur di dalam data set, namun tidak semua fitur berguna untuk klasifikasi. Fitur yang redundan dan yang tidak relevan bahkan mungkin akan mengurangi performa [3]. 1.2 Perumusan Masalah Proses klasifikasi pada analisis sentimen sering kali menemui masalah yaitu banyaknya jumlah fitur di dalam data set. Fitur yang redundan dan yang tidak relevan bahkan mungkin akan mengurangi performa dari proses analisis sentimen. Untuk itu diperlukan suatu metode untuk memilih fitur yang relevan agar diperoleh hasil yang sama atau bahkan lebih baik jika dibandingkan 2 dengan menggunakan semua fitur. Feature selection adalah salah satu cara untuk memilih fitur yang lebih relevan untuk proses klasifikasi. 1.3 Tujuan Program Penelitian ini mengajukan sebuah pendekatan untuk melakukan analisis opini tentang transportasi publik dengan cara opinion mining pada media sosial Twitter. Dalam penelitian ini digunakan algoritma Particle Swarm Optimization pada proses pemilihan fitur agar mendapatkan nilai akurasi yang baik. 1.4 Luaran yang Diharapkan Hasil analisis opini dapat dijadikan sebagai bahan acuan untuk melakukan evaluasi terhadap layanan transportasi publik. Sehingga dapat dilakukan peningkatan pada bidang transportasi yang masih kurang menurut penilaian masyarakat. BAB II. TINJAUAN PUSTAKA 1.1 Kepustakaan Penelitian Pada kepustakaan penelitian ini akan dibahas mengenai penelitianpenelitian yang pernah dilakukan sebelumnya. Kajian pustaka yang menimbulkan gagasan dan mendasari dalam pelaksanaan program ini adalah sebagai berikut: a. Bing Xue, Mengjie Zhang dan Will N. Browne, 2013, IEEE Transactions On Cybernetics Vol 43, Particle Swarm Optimization for Feature Selection in Classification: A Multiple-Obective Approach Penelitian menyajikan studi terhadap multi-objektif Particle Swarm Optimization (PSO) untuk pemilihan fitur (Feature Selection) dengan menggunakan dua algoritma berbasis PSO. Algoritma pertama memperkenalkan gagasan nondominated sorting menjadi PSO untuk mengatasi masalah pemilihan fitur. Algoritma kedua menerapkan ide-ide dari crowding, mutasi, dan dominasi untuk PSO untuk mencari solusi Pareto. Dua algoritma multi-objektif ini dibandingkan dengan 2 metode pemilihan fitur biasa, metode single objective feature selection, algoritma two-stage feature selection, dan 3 algoritma multi-objektif terkenal terhadap 12 data set. Hasil dari percobaan menunjukkan bahwa 2 algoritma multi-objektif berbasis PSO dapat mengembangkan solusi nondominated secara otomatis. Algoritma pertama melebihi 2 metode konvensional, metode single objective dan metode two-stage. Dan mencapai hasil yang sebanding dengan tiga algoritma multi-objektif yang telah ada. Algoritma kedua mencapai hasil yang lebih baik dari daripada algoritma pertama, dan semua metode yang telah disebutkan [3]. 3 b. Ismail Sunni dan Dwi Hendratmo Widyantoro, 2012, Jurnal Sarjana Institut Teknologi Bandung Bidang Teknik Elektro dan Informatika Volume 1, Analisis Sentimen dan Ekstraksi Topik Penentu Sentimen pada Opini Terhadap Tokoh Publik Penelitian ini menawarkan solusi F3 (F3 is Finder Factor) untuk menangani permasalahan permodelan bahasa dari data Twitter di Indonesia. F3 menggunakan metode Naive Bayes untuk melakukan analisis sentimen, dan akan menampilkan kurva untuk mengetahui perubahan sentimen. Untuk mengetahui topik yang menyebabkan perubahan sentimen, F3 menggunakan metode Tf-Idf dengan discountedcumulative. Hasil analisis dan pengujian menunjukkan tahapan praproses tidak memiliki pengaruh yang siginifikan terhadap akurasi (69,4 % 72,8%) klasifikasi sentimen. Sedangkan pengekstrakan topik menggunakan Tf-Id dengan discounted-cumulative mampu meningkatkan jumlah topik terkestrak yang sesuai namun memiliki kelemahan ketika memuat topik di hampir seluruh selang waktu atau topik yang bukan bersumber dari berita di media internet [6]. c. Dr. Nirmala Devi K dan Dr. Jayanthi P, 2016, International Journal of Advanced Engineering Technology, Sentiment Classification Using SVM and PSO Nirmala Devi K dan Jayanthi P menawarkan SVM-PSO untuk melakukan klasifikasi sentimen pada data set review film. Hasil dari percobaan menunjukkan bahwa pendekatan dengan SVM-PSO tidak hanya dapat memilih fitur yang penting saja, namun juga menghasilkan akurasi yang tinggi untuk analisis sentimen. Ini menunjukkan bahwa PSO mempengaruhi akurasi dari algoritma SVM setelah digabungkan SVMPSO daripada menggunakan SVM biasa [2]. BAB III. METODE PENELITIAN Metodologi penelitian yang digunakan dalam penelitian ini adalah sebagai berikut : 4 1. Studi Literatur Melakukan eksplorasi masalah yang akan diobservasi dan menentukan solusi yang mungkin. Menentukan hipotesa yang mungkin dihasilkan dari solusi yang diambil terhadap masalah yang ada. 2. Pengumpulan Data Tahap ini dilakukan dengan cara mengumpulkan data dari Twitter berdasarkan kata kunci : angkutan umum, transportasi publik, bus, kereta api, dan kata kunci lainnya yang berhubungan dengan transportasi publik. 3. PerancanganSistem Berikut adalah rancangan sistem yang akan dibuat dalam penelitian ini : Gambar 2.1. Diagram Sistem Secara umum, sistem ini dibagi menjadi beberapa tahapan : a. Secara umum, sistem ini dibagi menjadi beberapa tahapan : b. Setelah didapatkan data, kemudian dilakukan preprocessing yang terdiri dari case folding, tokenizing, stemming dan stopwords. c. Proses transformasi data sehingga data menjadi berguna dan dapat ditelusuri. d. Proses transformasi data sehingga data menjadi berguna dan dapat ditelusuri. e. Particle Swarm Optimization (PSO), proses feature selection dilakukan dengan menggunakan algoritma PSO. 5 f. Setelah melalui proses seleksi fitur, data siap untuk dilakukan klasifikasi g. Klasifikasi dimulai dengan memasukkan data input, kemudian dilakukan klasifikasi berdasarkan data training yang telah ada. h. Hasil dari klasifikasi adalah apakah data termasuk dalam opini negatif, positif atau bukan opini. 3.1 Preprocessing Preprocessing adalah tahap yang harus dilakukan sebelum klasifikasi. Tujuan dari tahap ini adalah untuk membersihkan data, dimana informasi yang tidak dibutuhkan akan dibuang. Preprocessing terdiri dari beberapa tahap : 3.1.1 Menghapus URL dan email Dalam proses klasifikasi URL dan email tidak diperlukan. 3.1.2 Mengganti emoticon Dalam tweet di Twitter, sering kali pengguna menggunakan emoticon untuk mengungkapkan emosi mereka. Jadi perlu diubah menjadi kata yang mencerminkan emoticon tersebut. 3.1.3 Menghapus karakter khusus twitter Dalam twitter ada beberapa karakter khusus seperti # (hashtag), @ (username) dan RT (retweet). 3.1.4 Case Folding Tahap ini mengubah huruf dalam teks menjadi huruf kecil. 3.1.5 Tokenizing Tahap ini adalah memecah kalimat menjadi kata yang menyusunnya. Proses ini memisahkan setiap kata yang menyusun suatu dokumen. Pada umumnya setiap kata dipisahkan dengan tanda spasi, sehingga proses tokenizing menggunakan tanda spasi sebagai pemisah tiap kata. 3.1.6 Stemming Proses stemming merupakan proses mencari kata dasar suatu kata. Pencarian kata dasar dapat memperkecil indeks tanpa harus 6 menghilangkan makna. Proses stemming adalah sebagai berikut : ● Kata yang akan distemming akan dicari di dalam kamus, jika ditemukan berarti kata tersebut merupakan kata dasar. Jika tidak maka dilanjutkan proses berikutnya. ● Kemudian kata akan dicek apakah memiliki inflectional suffixes, yaitu akhiran (“-lah”, “-kah”, “-tah”, “-pun”) dan kata ganti kepunyaan atau possessive pronoun PP (“-ku”, “-mu”, “-nya”) ternyata pada kata dalam data uji tidak terdapat inflectional suffixes dan possessive pronoun kemudian sistem melakukan proses selanjutnya Derivation prefiks. ● Pada kata dalam data uji akan dicek apakah memiliki Derivation suffixes, yaitu akhiran(“-an”, ”-i”, “-kan”) ternyata pada kata dalam data uji terdapat Derivation suffixes maka sistem menghapus akhiran derivation suffixes lalu sistem mengecek ke kamus kata dasar jika kata hasil derivation suffixes ada di dalam kamus kata dasar maka sistem berhenti jika tidak ditemukan akan dilakukan proses selanjutnya. ● Kata dalam data uji akan dicek, apakah memiliki derivation prefixes, ternyata kata dalam data uji mengandung derivation prefiixes kemudian sistem mencari kata ke kamus kata dasar jika ditemukan maka kata dalam data uji adalah kata dasar dan proses berhenti, jika tidak maka kata dikembalikan dan proses berhenti Stemming juga dilakukan untuk mengganti singkatan. 3.2 Particle Swarm Optimization (PSO) PSO merupakan algoritma yang didasarkan pada perilaku kawanan burung atau ikan. Algoritma PSO meniru perilaku sosial dari organisme ini, yaitu tindakan tiap individu dan pengaruh dari individu-individu lain dalam satu kelompok. Setiap individu atau partikel berperilaku dengan cara menggunakan kecerdasannya sendiri dan juga dipengaruhi oleh kelompoknya. Dengan demikian, jika satu partikel atau seekor burung 7 menemukan jalan yang tepat untuk atau pendek untuk menuju ke sumber makanan, sisa kelompok lain juga akan dapat mengikuti jalan tersebut meskpiun lokasi mereka jauh dari kelompok tersebut. Dalam PSO, kawanan diasumsikan mempunyai ukuran tertentu dengan setiap partikel posisi awalnya terletak di suatu lokasi yang acak dalam ruang multidimensi. Setiap partikel diasumsikan memiliki dua karakteristik: posisi dan kecepatan. Setiap partikel bergerak dalam ruang tertentu dan mengingat posisi terbaik yang pernah dilalui atau ditemukan terhadap sumber makanan atau nilai fungsi objektif. Setiap partikel menyampaikan informasi atau posisi terbaiknya kepada partikel lain dan menyesuaikan posisi dan kecepatan masing-masing berdasarkan informasi yang diterima mengenai posisi tersebut. Pada algoritma PSO, pencarian solusi dilakukan oleh suatu populasi yang terdiri dari beberapa partikel. Populasi dibangkitkan secara acak dengan batasan nilai terkecil dan nilai terbesar. Setiap partikel mempresentasikan posisi atau solusi dari permasalahan yang dihadapi. Setiap partikel melakukan pencarian solusi yang optimal dengan melintasi ruang pencarian. Hal ini dilakuan dengan cara setiap partikel melakukan penyesuaian terhadap posisi terbaik dari partikel tersebut (local best) dan posisi terbaik dari seluruh kawanan (global best) selama melintasi ruang pencarian. Jadi penyebaran dan pengalaman atau informasi terjadi di dalam partikel itu sendiri dan antara suatu partikel dengan partikel terbaik dari seluruh kawanan selama proses pencarian solusi. Setelah itu, dilakukan proses untuk mencari posisi terbaik dari setiap partikel dalam sejumlah iterasi tertentu sampai didapatkan posisi yang relatif steady atau mencapai batas iterasi yang telah ditetapkan. Pada setiap iterasi, setiap solusi yang direpresentasikan oleh posisi partikel, dievaluasi performansinya dengan cara memasukkan solusi tersebut ke dalam fitness function. Berikut ini merupakan formulasi matematika yang menggambarkan posisi dan kecepatan partikel pada suatu dimensi ruang tertentu : Xi(t) = xi1(t), xi2(t), ..., xiN (t) (1) Vi(t) = vi1(t), vi2(t), ..., viN(t) (2) 8 Dimana X = posisi partikel V = keceparan partikel i = indeks partikel t = iterasi ke-t N = ukuran dimensi ruang Untuk mengupdate status partikel menggunakan model matematika dibawah ini : Vi(t) = Vi(t - 1) + c1r1(XLi - Xi(t-1)) + c2r2(XG - Xi(t-1)) (3) Xi(t) = Vi(t) + Xi(t - 1) (4) Dimana : XLi = xLi1, xLi2, ..., xLiN merepresentasikan local best dari partikel ke- i XG = XGi1, xGi2, ..., xGiN merepresentasikan global best dari seluruh kawanan Algoritm PSO meliputi langkah sebagai berikut : 1. Bangitkan posisi awal sejumlah partikel sekaligus kecepatan awalnya secara random. 2. Evaluasi fitness dari masing-masing partikel berdasarkan posisinya 3. Tentukan partikel dengan fitness terbaik, dan tetapkan sebagai Gbest. Untuk setiap partikel, tentukan Pbest awal sama dengan posisi awal 4. Menggunakan Gbest dan Pbest yang ada, perbarui kecepatan setiap partikel menggunakan persamaan 3. Lalu dengan kecepatan baru yang didapat, perbarui posisi setiap partikel menggunaan persamaan 4. 5. Evaluasi fitness tiap partikel. 6. Tentukan partikel dengan fitness terbaik, tetapkan Gbest. Untuk setiap partikel tentukan Pbest dengan membandingkan posisi sekarang dengan Pbest iterasi sebelumnya. 7. Cek stopping criteria. Jika dipenuhi berhenti, jika tidak kembali ke langkah 4. 9 3.3 Opinion Mining (Sentimen Analysis) Setelah dilakukan proses pemilihan fitur, tahap selanjutnya adalah proses opinion mining. Proses ini juga disebut sebagai sentimen analisis, yaitu proses untuk memahami, mengekstrak dan mengolah data tekstual secara otomatis untuk mendapatkan informasi sentimen yang terkandung dalam suatu kalimat opini. Untuk melakukan analisis opini, perlu dilakukan pemberian nilai pada tiap kata sebagai referensi untuk melakukan klasifikasi sentimen dan rule untuk melakukan perhitungannya. a. Derajat Kata Derajat kata digunakan untuk memberikan penilaian pada tiap-tiap kata. Nilai tersebut terdiri dari -1, 0, dan 1. -1 untuk kata negatif, 0 untuk kata obyektif, dan 1 untuk kata positif. Kata Tipe Nilai Bagus Kata Sifat 1 Tampan Kata Sifat 1 Bosan Kata Kerja -1 Sakit Kata Kerja -1 Takut Kata Kerja -1 Indah Kata Sifat 1 Tabel 1. Contoh pemberian nilai pada kata b. Rule Setelah ditentukan nilai untuk tiap kata. Ditambahkan rule sebagai aturan untuk penilaian sentimen. Proses ini tidak menggunakan algoritma khusus, melainkan dengan teknik impresi. Teknik Ini lebih sederhana dibandingkan dengan menggunakan algoritma. Teknik impresi lebih condong ke penganalisisan sususan kata pada suatu kalimat. Teknik ini menganalisa letak kata sifat, kata kerja, dan preposisi pada suatu kalimat. Preposisi adalah kata yang menghubungkan kata atau bagian kalimat dan biasanya diikuti oleh nomina atau pronomina, contohnya tidak, belum, sangat, dan lain-lain. 10 BAB IV. BIAYA DAN JADWAL KEGIATAN 4.1 Anggaran Biaya Tabel 3 anggaran biaya No 1 2 3 4 Jenis Pengeluaran Biaya (Rp) Rp. 1.500.000 Rp. 2.500.000 Rp. 250.000 Rp. 900.000 Rp. 5.150.000 Alat penunjang Habis pakai Publikasi Laporan Jumlah 4.2 Jadwal Kegiatan Tabel 4 jadwal kegiatan No KEGIATAN 1 Studi Literatur 2 Perancangan Sistem 3 Penyusunan Proposal & Ujian TPPA 4 Pembuatan Sistem 5 Penyusunan Buku 6 Ujian & Seminar TA BULAN 1 2 3 4 5 6 7 DAFTAR PUSTAKA [1] Basari, Abd. Samad H., Hussing, B., Ananta, I Gedhe P., Zeniarja, J. 2012. “Opinion Mining of Movie Review using Hybrid Method of Support Vector Machine and Particle Swarm Optimization”. Dalam Malaysian Technical Universities Conference on Engineering & Technology 2012. [2] Devi, Nirmala K., Jayanthi, P. 2016. “Sentiment Classification Using SVM and PSO”. International Journal of Advanced Engineering Technology. [3] Dredze, Mark. 2012. “How Social Media Will Change Public Health”. IEEE Computer Society.