prediksi berita palsu menggunakan metode …
TRANSCRIPT
PREDIKSI BERITA PALSU MENGGUNAKAN METODE
CONVOLUTION NEURAL NETWORK
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
Program Studi Informatika
Oleh:
Hieronimus Fredy Morgan
175314080
PROGRAM STUDI INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2021
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FAKE NEWS PREDICTION USING THE CONVOLUTION NEURAL
NETWORK METHOD
THESIS
Present as Partial Fulfillment of The Requirements
to Obtain Sarjana Komputer Degree
in Informatics Study Program
Created by:
Hieronimus Fredy Morgan
175314080
INFORMATICS STUDY PROGRAM
INFORMATICS DEPARTMENT
FACULTY OF SCIENCE OF TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2021
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN PERSEMBAHAN
SEBAB BAGI ALLAH TIDAK ADA YANG
MUSTAHIL
~LUKAS 1:37~
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRAK
Suatu berita dapat dengan mudah diakses melalui berbagai media, baik
media cetak maupun media elektronik. Tingkat persebaran berita melalui media
cetak dan media elektronik sangat berbeda. Persebaran berita di media elektronik
sangatlah tinggi karena berita tersebut sangat mudah diakses oleh masyarakat
umum, khususnya melalui media sosial. Kemudahan mengakses berita
menyebabkan munculnya banyak berita palsu.
Berita palsu bukan sekedar misleading alias menyesatkan. Informasi yang
dimuat pada berita palsu juga tidak memiliki landasan faktual, namun disajikan
seolah-olah sebagai serangkaian fakta atau suatu kebenaran. Oleh sebab itu, peneliti
mencoba melakukan prediksi berita palsu dengan mengklasifikasi berita. Penelitian
ini bertujuan untuk mengetahui prediksi berita menggunakan pendekatan
Convolution Neural Network serta akurasi dari pendekatan Convolution Neural
Network.
Pada penelitian ini terdiri dari tiga tahapan. Tahapan pertama adalah
preprocessing yang terdiri dari case folding, stemming, tokenizing, stopwords
removal, punctuation removal. Tahapan kedua adalah ekstraksi ciri dengan
menghitung term frequency dan invers document frequency. Tahapan ketiga yaitu
melakukan klasifikasi berita dengan pendekatan Convolution Neural Network.
Hasil yang diperoleh dengan pendekatan Convolution Neural Network
menggunakan 12-Layers mendapatkan hasil yang optimal, dengan akurasi rata –
rata sebesar 0.8507.
Kata kunci: Convolution Neural Network, Term Frequency, Invers Document
Frequency, klasifikasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
News can be easily accessed through various media, such as print media and
electronic media. The level of news spreading through print media and electronic
media is very different. The spread of news in electronic media is very high because
the news is very easily accessible to the public, especially through social media.
The ease of accessing news led to the emergence of many fake news.
Fake news is not just something that is misleading. The information
contained in fake news also does not have a factual basis, but it is presented as if it
were a fact or a truth. Therefore, the writer tries to predict fake news by classifying
the news. This study aims to determine news predictions using the Convolution
Neural Network approach and the accuracy of the Convolution Neural Network
approach.
This research consists of three stages. The first stage is preprocessing which
consists of case folding, stemming, tokenizing, stopwords removal, and punctuation
removal. The second stage is feature extraction by calculating term frequency and
inverse document frequency. The third stage is classifying the news with the
Convolution Neural Network approach. The results obtained with the Convolution
Neural Network approach using 12-Layers get optimal results with an average
accuracy of 0.8507.
Keywords: Convolution Neural Network, Term Frequency, Invers Document
Frequency, classification.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur penulis panjatakan kepada Tuhan Yang Maha Esa atas
rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan tugas akhir dengan
judul “Prediksi Berita Palsu Menggunakan Metode Convolution Neural Network”
dengan baik dan tepat waktu. Tugas akhir ini merupakan salah satu persyaratan
yang wajib untuk ditempuh sebagai syarat akademik untuk memperoleh gelar
sarjana komputer program studi Informatika Universitas Sanata Dharma
Yogyakarta.
Selama proses penelitian, penulis mendapat banyak dukungan dari berbagai
pihak sehingga sudah sepantasnya penulis menyampaikan terima kasih kepada:
1. Romo Dr. Cyprianus Kuntoro Adi, S.J. M.A., M.Sc. selaku dosen
pembimbing tugas akhir yang telah bersedia memberikan arahan, masukan,
waktu serta motivasi kepada penulis selama menyelesaikan skripsi.
2. Bapak Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D. selaku dekan Fakultas
Sains dan Teknologi.
3. Seluruh dosen Informatika Universitas Sanata Dharma yang telah mendidik
dan memberikan ilmu pengetahuan kepada penulis yang digunakan sebagai
bekal untuk menyelesaikan tugas akhir ini.
4. Keluarga tercinta, Papah Damianus Barus, Mamah Sesila Tity Suziana,
Kakak ATM Berjalan Yesica Fridiani Claudia Dasti, dan Adik
menggemaskan Gaudentius Aracello Fagan yang selalu memberikan
dukungan dan doa sehingga membuat penulis semakin semangat dalam
mengerjakan serta menyelesaikan tugas akhir ini.
5. Saudara Gabriel Ryan Prima, Atanasius Ivan Noel Rio Aji, Yudistira Prama
Putra, Edrick Hernando, Albertus Ivan Adhyatma Maheswara, Nivea Galuh
Iswarin yang selalu bisa diajak diskusi masalah tugas akhir
6. Bernadetta Astrid Widyasari yang selalu memberikan semangat, dukungan,
makanan, dan waktunya agar penulis selalu semangat untuk menyelesaikan
skripsi ini
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
HALAMAN PERSETUJUAN PEMBIMBING ....................................................... iii
HALAMAN PENGESAHAN .................................................................................. iv
HALAMAN PERSEMBAHAN ................................................................................ v
PERNYATAAN KEASLIAN KARYA ................................................................... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH .... vii
ABSTRAK .............................................................................................................. viii
ABSTRACT .............................................................................................................. ix
KATA PENGANTAR ............................................................................................... x
DAFTAR ISI ............................................................................................................ xii
DAFTAR GAMBAR .............................................................................................. xvi
DAFTAR TABEL ................................................................................................... xix
BAB I PENDAHULUAN ......................................................................................... 1
1.1. Latar Belakang............................................................................... 1
1.2. Rumusan Masalah ......................................................................... 3
1.3. Tujuan Penelitian ........................................................................... 3
1.4. Manfaat Penelitian ......................................................................... 3
1.5. Batasan Masalah ............................................................................ 4
1.6. Sistematika Penelitian ................................................................... 4
BAB II LANDASAN TEORI ................................................................................... 6
2.1 Berita ............................................................................................. 6
2.2 Berita Palsu .................................................................................... 7
2.3 Information Retrieval .................................................................... 8
2.4 Natural Language Processing ..................................................... 10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.4.1 Case Folding ............................................................... 11
2.4.2 Stemming ..................................................................... 11
2.4.3 Tokenizing ................................................................... 12
2.4.4 Stopwords Removal ..................................................... 12
2.4.5 Normalization ............................................................. 13
2.4.6 Punctuation Removal .................................................. 13
2.5 Feature Extraction....................................................................... 14
2.5.1. Model Boolean ............................................................ 14
2.5.2. Model Ruang Vektor ................................................... 14
2.5.3. Model Probabilistik ..................................................... 19
2.6 Machine Learning ....................................................................... 22
2.7 Jaringan Syaraf Tiruan ................................................................ 23
2.7.1. Komponen Neural Network ........................................ 24
2.7.2. Arsitektur Neural Network .......................................... 26
2.7.3. Fungsi Aktivasi ........................................................... 28
2.8 Deep Learning ............................................................................. 31
2.9 Convolution Neural Network ....................................................... 32
2.9.1. Embedding Layer ........................................................ 33
2.9.2. Convolution Layer ...................................................... 34
2.9.3. Operasi Pooling ........................................................... 37
2.9.4. Fully Connected Layer ................................................ 38
2.9.5. Softmax Classifier ....................................................... 38
2.10 Word Embedding......................................................................... 41
2.11 Pengukuran Performa .................................................................. 44
BAB III METODE PENELITIAN .......................................................................... 47
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
3.1. Deskripsi Data ............................................................................. 47
3.2. Kebutuhan Perangkat Hardware dan Software ............................ 47
3.3. Perancangan Sistem ..................................................................... 48
3.3.1. Preprocessing .............................................................. 48
3.3.2. Feature Extraction ....................................................... 55
3.3.3. Klasifikasi ................................................................... 59
3.3.4. Convolution Neural Network ...................................... 60
3.3.5. Pengukuran Performa .................................................. 66
3.3.6. Prediksi ....................................................................... 68
3.4. Cara Pengujian............................................................................. 69
3.5. Desain User Interface .................................................................. 70
3.5.1. Input GUI .................................................................... 70
3.5.2. Output GUI ................................................................. 70
BAB IV HASIL DAN ANALISIS ......................................................................... 71
4.1. Data.............................................................................................. 71
4.2. Implementasi Preprocessing ........................................................ 73
4.2.1. Case Folding ............................................................... 73
4.2.2. Stemming .................................................................... 74
4.2.3. Tokenizing .................................................................. 76
4.2.4. Stopwords Removal .................................................... 78
4.2.5. Punctuation Removal .................................................. 80
4.3. Implementasi Pembagian Data .................................................... 82
4.4. Implementasi Feature Extraction ................................................. 83
4.4.1. TF - IDF ...................................................................... 83
4.5. Implementasi Convolution Neural Network ............................... 85
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
4.6. Implementasi Pengukuran Performa ........................................... 90
4.7. Hasil Penelitian ............................................................................ 92
4.7.1. Skenario Pertama ........................................................ 92
4.7.2. Skenario Kedua ........................................................... 95
4.7.3. Skenario Ketiga ........................................................... 98
4.7.4. Skenario Keempat ..................................................... 100
4.7.5. Skenario Kelima ........................................................ 103
4.8. Implementasi GUI ..................................................................... 106
BAB V KESIMPULAN DAN SARAN ............................................................... 109
5.1. Kesimpulan ................................................................................ 109
5.2. Saran .......................................................................................... 109
DAFTAR PUSTAKA ............................................................................................ 109
LAMPIRAN ........................................................................................................... 111
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
DAFTAR GAMBAR
Gambar 2. 1 Contoh Sederhana Model Ruang Vektor (Zhai & Massung, 2016) . 15
Gambar 2. 2 Ranking Dokumen Model Ruang Vektor (Zhai & Massung, 2016) 16
Gambar 2. 3 Term Frequency (Zhai & Massung, 2016) ....................................... 17
Gambar 2. 4 Invers Document Frequency ............................................................ 19
Gambar 2. 5 Weight TF - IDF............................................................................... 19
Gambar 2. 6 Perhitungan Model Probabilistik...................................................... 20
Gambar 2. 7 Jaringan Syaraf ................................................................................. 23
Gambar 2. 8 Struktur Neural Network .................................................................. 24
Gambar 2. 9 Single Layer Neural Network .......................................................... 27
Gambar 2. 10 Multiple Layers Neural Network ................................................... 27
Gambar 2. 11 Competitive Layers ........................................................................ 28
Gambar 2. 12 Fungsi Aktivasi linear .................................................................... 28
Gambar 2. 13 Fungsi Aktivasi Sigmoid ................................................................ 29
Gambar 2. 14 Fungsi aktivasi Tanh ...................................................................... 30
Gambar 2. 15 Fungsi Aktivasi ReLU.................................................................... 30
Gambar 2. 16 Arsitektur Convolution Neural Network ........................................ 33
Gambar 2. 17 Convolution Layer ......................................................................... 35
Gambar 2. 18 Iterasi 1 Conv Layer ....................................................................... 35
Gambar 2. 19 Iterasi 2 Conv Layer ....................................................................... 36
Gambar 2. 20 Iterasi 3 Conv Layer ....................................................................... 36
Gambar 2. 21 Iterasi 4 Conv Layer ....................................................................... 36
Gambar 2. 22 Pooling Layer ................................................................................. 37
Gambar 2. 23 Fully Connected Layer ................................................................... 38
Gambar 2. 24 Softmax Classifier .......................................................................... 40
Gambar 2. 25 Arsitektur Skip-Gram ..................................................................... 43
Gambar 3. 1 Data .................................................................................................. 47
Gambar 3. 2 Diagram Perancangan Sistem .......................................................... 48
Gambar 3. 3 Diagram Preprocessing .................................................................... 49
Gambar 3. 4 Diagram Feature Extraction ............................................................. 55
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
Gambar 3. 5 Contoh Hasil Term Frequency ......................................................... 56
Gambar 3. 6 Contoh Hasil Document Frecuency ................................................. 57
Gambar 3. 7 Contoh Hasil Weight TF-IDF .......................................................... 58
Gambar 3. 8 Diagram Klasifikasi ......................................................................... 59
Gambar 3. 9 Diagram Convolution Neural Network ............................................ 60
Gambar 3. 10 Modelling Convolution Neural Network ....................................... 61
Gambar 3. 11 Hasil Representasi Word Embedding ............................................ 63
Gambar 3. 12 Convolution Layer ......................................................................... 63
Gambar 3. 13 Max Pooling Layer ......................................................................... 64
Gambar 3. 14 Flatten Layer .................................................................................. 65
Gambar 3. 15 Diagram Confusion Matrix ............................................................ 67
Gambar 3. 16 Confusion Matrix ........................................................................... 68
Gambar 3. 17 Diagram Prediksi ............................................................................ 68
Gambar 3. 18 Desain GUI..................................................................................... 70
Gambar 4. 1 Embedding Layer to Conv1D Layer ................................................ 86
Gambar 4. 2 Conv1D Layer to Max Pooling Layer .............................................. 87
Gambar 4. 3 MaxPooling Layer to Flatten Layer ................................................. 87
Gambar 4. 4 Flatten Layer to Dense Layer ........................................................... 88
Gambar 4. 5 Kompilasi Model Covolution Neural Network ................................ 90
Gambar 4. 6 Confusion Matrix ............................................................................. 92
Gambar 4. 7 Akurasi dan Confusion Matrix Percobaan 1 .................................... 94
Gambar 4. 8 Akurasi dan Confusion Matrix Percobaan 2 .................................... 94
Gambar 4. 9 Akurasi dan Confusion Matrix Percobaan 3 .................................... 95
Gambar 4. 10 Akurasi dan Confusion Matrix Percobaan 1 .................................. 96
Gambar 4. 11 Akurasi dan Confusion Matrix Percobaan 2 .................................. 97
Gambar 4. 12 Akurasi dan Confusion Matrix Percobaan 3 .................................. 97
Gambar 4. 13 Akurasi dan Confusion Matrix Percobaan 1 .................................. 99
Gambar 4. 14 Akurasi dan Confusion Matrix Percobaan 2 .................................. 99
Gambar 4. 15 Akurasi dan Confusion Matrix Percobaan 3 ................................ 100
Gambar 4. 16 Akurasi dan Confusion Matrix Percobaan 1 ................................ 101
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
Gambar 4. 17 Akurasi dan Confusion Matrix Percobaan 2 ................................ 102
Gambar 4. 18 Akurasi dan Confusion Matrix Percobaan 3 ................................ 102
Gambar 4. 19 Akurasi dan Confusion Matrix Percobaan 1 ................................ 104
Gambar 4. 20 Akurasi dan Confusion Matrix Percobaan 2 ................................ 104
Gambar 4. 21 Akurasi dan Confusion Matrix Percobaan 3 ................................ 105
Gambar 4. 22 Tampilan Awal GUI ..................................................................... 106
Gambar 4. 23 Pengisian Text Field Judul dan Narasi ......................................... 107
Gambar 4. 24 Tampilan Prediksi Berita GUI ..................................................... 108
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xix
DAFTAR TABEL
Tabel 2. 1 Case Folding ........................................................................................ 11
Tabel 2. 2 Stemming ............................................................................................. 12
Tabel 2. 3 Tokenizing ........................................................................................... 12
Tabel 2. 4 Stopwords Removal ............................................................................. 13
Tabel 2. 5 Punctuation removal ............................................................................ 13
Tabel 2. 6 Confusion Matrix ................................................................................. 44
Tabel 3. 1 Case Folding ........................................................................................ 50
Tabel 3. 2 Stemming ............................................................................................. 51
Tabel 3. 3 Tokenizing ........................................................................................... 52
Tabel 3. 4 Stopwords Removal ............................................................................. 53
Tabel 3. 5 Punctuation Removal ........................................................................... 54
Tabel 3. 6 Setelah Preprocessing .......................................................................... 54
Tabel 3. 7 Proses Perhitungan Term Frequency ................................................... 56
Tabel 3. 8 Proses Perhitungan Invers Docoment Frequency ................................ 57
Tabel 3. 9 Proses Perhitungan Weight TF-IDF .................................................... 58
Tabel 3. 10 Contoh Representasi Word Embedding ............................................. 61
Tabel 3. 11 Contoh Hasil Prediksi Berita ............................................................. 67
Tabel 4. 1 Contoh Data ......................................................................................... 72
Tabel 4. 2 Case Folding ........................................................................................ 73
Tabel 4. 3 Stemming ............................................................................................. 75
Tabel 4. 4 Tokenizing ........................................................................................... 76
Tabel 4. 5 Stopwords Removal ............................................................................. 79
Tabel 4. 6 Punctuation Removal ........................................................................... 81
Tabel 4. 7 Tokenizer ............................................................................................. 83
Tabel 4. 8 List Sequence ....................................................................................... 83
Tabel 4. 9 Term Frequency ................................................................................... 84
Tabel 4. 10 IDF ..................................................................................................... 84
Tabel 4. 11 Tabel Weight TF - IDF ...................................................................... 84
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xx
Tabel 4. 12 Feature Extraction .............................................................................. 85
Tabel 4. 13 Tabel Prediksi .................................................................................... 91
Tabel 4. 14 Struktur Model Skenario Pertama ...................................................... 92
Tabel 4. 15 Akurasi Percobaan Pertama ............................................................... 93
Tabel 4. 16 Struktur Model Skenario Kedua ........................................................ 95
Tabel 4. 17 Akurasi Percobaan Kedua .................................................................. 96
Tabel 4. 18 Struktur Model Skenario Ketiga ........................................................ 98
Tabel 4. 19 Akurasi Percobaan Ketiga.................................................................. 98
Tabel 4. 20 Struktur Model Skenario Keempat .................................................. 100
Tabel 4. 21 Akurasi Percobaan Keempat ............................................................ 101
Tabel 4. 22 Struktur Model Skenario Kelima ..................................................... 103
Tabel 4. 23 Akurasi Percobaan Kelima .............................................................. 103
Tabel 4. 24 Hasil Akurasi Rata - Rata ................................................................ 105
Tabel 4. 25 Preprocessing ................................................................................... 107
Tabel 4. 26 Ekstraksi Ciri ................................................................................... 108
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Berita adalah sebuah informasi yang bersifat fakta yang sedang
terjadi maupun sudah terjadi dan disampaikan melalui perantara media, baik
di media elektronik maupun media cetak. J.B. Wahyudi (dalam Drs. Arifin
S. Harahap, 2006:4) berpendapat bahwa berita adalah laporan tentang
sebuah peristiwa yang menarik, memiliki nilai penting bagi khalayak ramai,
masih baru, serta dipublikasikan atau disiarkan melalui berbagai media
dalam kurun waktu yang periodik. Penyampaian berita juga bisa melalui
mulut ke mulut dan harus merupakan sebuah berita lisan, bukan karangan
fiktif atau cerita yang dibuat-buat. Umumnya, berita yang disampaikan
merupakan sebuah fakta tentang kejadian yang telah terjadi ataupun sedang
terjadi di masyarakat. Oleh karena itu, dalam penyampaiannya harus
disertai fakta-fakta yang sifatnya terbaru atau terkini. Berita bertujuan untuk
memberikan informasi kepada masyarakat tentang sebuah kejadian terbaru.
Selain itu, berita juga bertujuan untuk mempengaruhi masyarakat secara
luas. Ketika berita tidak disajikan berdasarkan fakta, maka berita akan turut
berpengaruh pada masyarakat itu sendiri.
Berita mudah diakses lewat berbagai media, baik media cetak atau
media elektronik. Persebaran berita di media elektronik sangatlah tinggi
sekali karena berita elektronik mudah diakses oleh masyarakat umum,
khususnya media sosial. Media sosial yang sering digunakan masyarakat
untuk memberikan sebuah informasi berita yang paling sering adalah
Twitter, Facebook, dan Instagram.
Persebaran berita yang ada pada media elektronik tidak bisa
dikontrol sehingga banyak sekali berita yang tidak valid atau dapat disebut
berita palsu. Menurut Silverman (2015), berita palsu atau fake news adalah
sebagai rangkaian informasi yang memang sengaja disesatkan, namun
dijual sebagai kebenaran. Berita palsu bukan sekadar misleading alias
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
menyesatkan, informasi dalam berita palsu juga tidak memiliki landasan
faktual, namun disajikan seolah-olah sebagai serangkaian fakta. Media
penyebaran berita palsu internet pertama yang diketahui adalah via email,
biasanya berisi peringatan akan hal sebuah klaim palsu. Namun, dengan
berkembangnya teknologi, terutama pada smartphone dan media sosial,
jenis berita palsu di internet semakin banyak dan berbahaya.
Dengan cara manual, pembaca dapat melakukan deteksi berita palsu
bisa dilakukan. Misalnya membaca berita – berita di media massa. Akan
tetapi untuk berita yang begitu banyak, cara manual tidak mungkin bisa
dilakukan karena jumlah datanya sangat besar dan terus bertambah. Di
sinilah peran prediksi berita palsu yang secara otomatis dapat melakukan
prediksi berita. Pada proses prediksi berita palsu ini, peneliti tertarik
melakukan proses prediksi dengan menggunakan metode Convolution
Neural Network. Dalam proses prediksi, penggunaan metode ini lebih
efisien karena dalam proses klasifikasi dengan data teks yang banyak, tentu
perlu metode yang baik sehingga peneliti menggunakan Convolution Neural
Network.
Pada penelitian yang telah dilakukan oleh beberapa peneliti yang
menggunakan metode Covolution Neural Network, penelitian-penelitian
tersebut mendapatkan hasil dengan akurasi yang tinggi. Pada penelitian TI
– CNN: Covolution Neural Network for Fake News Detection, penelitian
menggunakan data text dan image dan melakukan proses klasifikasi dengan
mengunakan CNN dan mendapatkan hasil akurasi 92,2% (Yang Yang,
2018). Selanjutnya penelitian tentang Fake News Detection Using a Blend
of neural Network: An Application of Deep Learning. Penelitian tersebut
menggunakan data text yang dilakukan proses word embedding untuk
preprocessing-nya dan masuk ke dalam proses klasifikasi CNN sehingga
mendapatkan hasil akurasi sebesar 97,21% (Agarmal, Mittal, Pathak, &
Goyal, 2020).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
Pada penelitian ini, peneliti menggunakan metode Convolution
Neural Network karena berdasarkan dari hasil penelitian – penelitian di atas,
peneliti mendapatkan hasil lebih dari 90% sehingga diharapkan dari hasil
prediksi berita palsu tersebut mendapatkan hasil akurasi yang tinggi.
1.2. Rumusan Masalah
Berdasarkan latar belakang di atas, rumusan masalah dalam penelitian ini
adalah:
a. Bagaimana pendekatan Convolution Neural Network mampu
memprediksi dengan baik berita palsu atau tidak palsu?
b. Berapa besar akurasi prediksi Convolution Neural Network?
1.3. Tujuan Penelitian
Berdasarkan rumusan masalah di atas, tujuan penelitian dalam penelitian ini
adalah:
a. Mengetahui pendekatan Convolution Neural Network mampu
memprediksi dengan baik berita palsu atau tidak palsu.
b. Mengetahui tingkat akurasi prediksi Convolution Neural Network.
1.4. Manfaat Penelitian
Berdasarkan tujuan penelitian di atas, manfaat dalam penelitian ini adalah:
a. Bagi Peneliti
Mampu mengimplementasikan ilmu informatika terutama yang
berkaitan dengan information retrieval.
b. Bagi Masyarakat
Masyarakat dapat mengambil keputusan dari berita yang telah diketahui
berita tersebut palsu atau asli.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
c. Bagi Universitas
Memberikan kontribusi penambahan ilmu pengetahuan, khususnya bagi
prodi Informatika dan menambah bacaan untuk perpustakaan
Universitas Sanata Dharma serta memberikan referensi bagi mahasiswa
lain yang sedang dan/atau akan melakukan penelitian.
1.5. Batasan Masalah
Batasan masalah dalam penelitian ini adalah:
a. Berita yang digunakan adalah berita berbahasa Indonesia.
b. Berita yang diambil dari periode Juli 2015 hingga Agustus 2020 dari
situs turnbackhoax.id.
c. Data yang dikumpulkan dengan format .csv
1.6. Sistematika Penelitian
Penelitian ini disusun secara sistematika yang tersusun dari beberapa bab,
diantaranya sebagai berikut:
BAB I: PENDAHULUAN
Bagian ini berisi mengenai latar belakang, rumusan masalah, tujuan,
batasan masalah, metodologi penelitian, dan sistematika penulisan.
BAB II: LANDASAN TEORI
Bab ini berisi tentang teori-teori dasar yang berkaitan dengan
penelitian yang akan dilakukan, yang meliputi dari objek yang
digunakan, metode preprocessing yang digunakan, ekstraksi ciri
yang digunakan, dan klasifikasi yang digunakan.
BAB III: METODOLOGI PENELITIAN
Bagian ini berisi mengenai bahan riset atau data, peralatan
penelitian, metode pengumpulan data, tahap penelitian, desain alat
uji, cara pengujian, dan cara pengukuran akurasi sistem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB IV: HASIL DAN ANALISIS
Bagian ini berisi mengenai implementasi dari konsep yang sudah
dibuat dan memaparkan hasil analisis terhadap langkah-langkah
penelitian yang sudah dikerjakan.
BAB V: PENUTUP
Bagian ini berisi mengenai kesimpulan dari penelitian yang telah
dikerjakan, kemudian berisi saran untuk kemajuan dan
perkembangan penelitian berikutnya yang mengulas tentang
penelitian ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
BAB II
LANDASAN TEORI
Bab ini akan menjelaskan tentang teori – teori yang digunakan pada
penelitian ini, antara lain: Berita, Berita Palsu, Information Retrieval, Natural
Language Processing, Feature Extraction, Machine Learning, Deep Learning,
Jaringan Syaraf Tiruan, Convolution Neural Network, Pengukuran Performa, dan
Bahasa Python. Teori tersebut akan dijelaskan sebagai berikut ini.
2.1 Berita
Berita cerita atau keterangan mengenai kejadian atau peristiwa yang
hangat. Kejadian tersebut memiliki informasi fakta yang sedang terjadi
maupun sudah terjadi dan disampaikan melalui perantara media, baik itu
media elektronik maupun media cetak. Penyampaian berita juga bisa
melalui mulut ke mulut dan harus merupakan sebuah kenyataan, bukan
karangan fiktif atau cerita yang dibuat-buat. Oleh karena itu, dalam
penyampaiannya, berita harus disertai fakta-fakta yang sifatnya terbaru atau
terkini dan bisa diuji kredibilitasnya. Selain itu, tujuan dibuatnya berita ini
adalah juga untuk memberitahu kepada masyarakat secara luas. Ketika
berita yang disajikan tidak berdasarkan fakta, maka berita tersebut akan
turut berpengaruh pada masyarakat itu sendiri.
Beberapa ahli juga mengemukakan pendapatnya tentang pengertian
berita. Salah satunya J.B. Wahyudi yang mendefinisikan berita sebagai
laporan tentang sebuah peristiwa yang menarik, memiliki nilai penting bagi
khalayak ramai, masih baru, serta dipublikasikan atau disiarkan melalui
berbagai media dalam kurun waktu yang periodik. Eric C. Hepwood (1996)
mengemukakan bahwa berita adalah laporan pertama dari kejadian yang
penting sehingga dapat menarik perhatian umum. Definisi ini
mengungkapkan tiga unsur berita yakni aktual, penting, dan menarik.
Berita yang baik adalah berita yang memenuhi kode etik dalam
jurnalistik yang sudah memenuhi syarat-syarat (Drs. Arifin S. Harahap,
2006):
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
a. Berita harus berdasarkan fakta. Informasi dalam berita yang
disampaikan haruslah sesuai fakta yang sesungguhnya terjadi di
lapangan. Berita tidak boleh dibuat berdasarkan karangan atau
cerita fiktif.
b. Berita harus aktual, artinya informasi dalam berita yang
disampaikan adalah informasi terkini atau terbaru. Hal ini bisa
dibuktikan dengan jarak waktu antara berita disiarkan dengan
kejadian yang diberitakan tidak berbeda terlalu jauh.
c. Berimbang dengan informasi yang disampaikan. Tidak hanya
harus berupa fakta, namun juga berimbang. Berimbang artnya
fakta atau informasi yang disampaikan adalah informasi yang
sebenarnya serta tidak memihak maupun memojokkan salah satu
pihak. Dengan demikian, masyarakat yang membaca atau
melihat juga tidak akan terpengaruh.
2.2 Berita Palsu
Menurut Silverman (2017), berita palsu atau fake news adalah
sebagai rangkaian informasi yang memang sengaja disesatkan, namun
dijual sebagai kebenaran. Menurut Werme (2016), berita palsu adalah berita
yang mengandung informasi yang sengaja menyesatkan orang dan memiliki
agenda politik tertentu. Berita palsu bukan sekedar misleading alias
menyesatkan. Informasi dalam berita palsu juga tidak memiliki landasan
faktual, namun disajikan seolah-olah sebagai serangkaian fakta. Media
penyebaran berita palsu internet pertama yang diketahui adalah via email
dan biasanya berisi peringatan akan hal sebuah klaim palsu. Namun, dengan
berkembangnya teknologi, terutama pada smartphone dan media sosial,
jenis berita palsu di internet semakin banyak dan berbahaya.
Salah satu jenis kabar yang perlu diwaspadai adalah berita palsu
tentang virus. Berita palsu jenis ini biasanya dikembangkan oleh hacker dan
melakukan penyebarannya lewat email atau aplikasi chatting. Berita palsu
jenis ini biasanya berisi tentang adanya virus berbahaya di komputer atau
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
smartphone Anda yang sebenarnya tidak terinfeksi, sedangkan yang paling
sering terjadi dan sangat sulit dihindari adalah berita palsu dengan mengirim
pesan berantai. Pengguna aktif aplikasi chatting WhatsApp pasti sering
mendapat pesan untuk melanjutkan pesan ke beberapa teman lain dengan
berbagai alasan. Biasanya, pesan tersebut tentang mendapat hadiah tertentu
atau mengalami hal buruk jika tidak mengirimkannya. Selanjutnya ada pula
berita palsu pencemaran nama baik. Berita palsu dengan sifat ini sangat
berbahaya karena berita palsu bisa dengan mudah tersebar di dunia maya
dan mampu menghancurkan hidup seseorang.
2.3 Information Retrieval
Information Retrieval merupakan sebuah ilmu yang bertujuan untuk
pengambilan informasi dari dokumen – dokumen berdasarkan isi dan
konteks dari dokumen – dokumen itu sendiri. Tujuan dari information
retrieval adalah untuk memenuhi informasi pengguna dengan cara
mengambil dokumen yang akurat atau mengurangi dokumen yang tidak
akurat. Menurut Gerald Kowalski, Information Retrieval adalah suatu
sistem yang mampu melakukan penyimpanan, pencarian, dan pemeliharaan
informasi. Informasi dalam konteks yang dibaha dalam buku ini dapat
berupa informasi teks, gambar, audio, video, dan objek multimedia lainnya.
(Kowalski, 1997).
Menurut Christoper Manning, Information Retrieval adalah proses
menemukan suatu tema utama dalam dokumen yang tidak terstruktur dalam
koleksi yang besar untuk memenuhi kebutuhan informasi yang relevan.
Data tidak tersturktur adalah data yang tidak memiliki susunan simantik
atau dapat juga dikatakan data yang tidak memiliki struktur yang mudah
dikenali oleh computer. Data ini biasanya berupa teks. Selain memberikan
fasilitas penemuan kembali pada data yang tidak terstruktur, Information
Retrieval juga memberikan fasilitas pencarian data semistruktur, misalnya
mencari dokumen dengan judul dokumen yang mengandung kata “Java”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
dengan badan teks yang mengandung kata “threading” (Manning,
Raghavan, & Schutze, 2008).
Information Retrieval memiliki beberapa subbidang, yaitu:
1. Document routing, filtering dan selective dissemination. Subbagian
ini berbalik arah dengan proses Information Retrieval pada
umumnya. Jika proses Information Retrieval yang umum adalah
membandingkan dokumen dengan query yang dimasukan user,
sedangkan pada document routing, filtering, dan selective
dissemination system akan membandingkan antardokumen
berdasarkan query untuk mendapatkan dokumen yang dapat
menarik minat pengguna. Contoh pada subbagian ini adalah
aggregator berita, misalnya dengan menggunakan proses routing
untuk memisahkan berita berdasarkan tema tertentu (bisnis, politik,
olahraga, dan sebagainya).
2. Text clustering and categorization system, adalah sistem
information retrieval yang akan mengelompokkan dokumen
berdasarkan kata kunci tertentu.
3. Summarization system atau peringkas teks sistem ini akan membuat
ringkasan dari teks yang diberikan. Contohnya adalah snippet yang
ditampilkan pada hasil pemcarian web.
4. Information extraction system, berfungsi untuk mengidentifikasi
entitas bernama, seperti nama tempat dan tanggal. Sistem ini juga
dapat mengkombinasikan informasi – informasi ke dalam remakan
terstruktur yang mendeskripsikan hubungan antara entitas – entitas
tersebut. Contohnya untuk membuat daftar buku dan pengarang dari
web data, ekstraksi informasi dari legal dokumen
5. Topic detection and tracking system, sistem ini berguna untuk
mengidentifikasi topik peristiwa dalam berita dan sumber – sumber
informasi yang sama.
6. Expert search system, sistem ini akan melakukan pengidentifikasian
keahlian dari seorang anggota organisasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
7. Question answering system adalah sistem yang mengintegrasikan
informasi dari berbagai sumber untuk memberikan jawaban yang
singkat dari pertanyaan tertentu. Sistem ini kadang juga
digabungkan dengan tema information retrieval lain seperti
pencarian, peringkas teks, dan ekstraksi informasi. Jika sistem
information retrieval yang umumnya adalah mengembalikan
dokumen yang relevan kepada user berdasarkan query yang
diinputkan, namun pada sistem tanya jawab yang dikembalikan
adalah berupa kalimat singkat untuk menjawab pertanyaan user.
8. Multimedia information retrieval system adalah subbagian dari
information retrieval yang mengembangkan teknik – teknik dari
information retrieval pada data multimedia seperti gambar, video,
music dan pidato. Contoh dari sub bidang ini berupa pencarian
gambar, musik, video, dan sebagainya.
2.4 Natural Language Processing
Natural Language Processing (NLP) atau Pemrosesan Bahasa
Alami adalah sebuah otomatisasi proses untuk mengkaji interaksi antara
komputer dan bahasa alami manusia yang digunakan dalam kehidupan
sehari-hari. Karena bahasa alami manusia beraneka ragam, dalam
penerapan Natural Language Processing, pengguna sering menemui
permasalahan dalam ambiguitas kata ataupun kata dengan makna ganda
(Priansya, 2017). NLP merupakan cabang ilmu kecerdasan buatan yang
dikhususkan untuk mengolah pemrosesan linguistik. Bahasa alami manusia
memiliki kebergaman dan aturan tata bahasa yang berbeda-beda sehingga
komputer perlu untuk memproses bahasa yang biasa digunakan sehari-hari
oleh manusia sehingga dapat memahami maksud dari manusia pengguna
sistem. Dalam penerapannya, untuk membuat sebuah sistem yang dapat
melakukan Pemrosesan Bahasa Alami, pengguna harus terlebih dahulu
melalui text preprocessing atau tahap sebelum memproses teks. Text
preprocessing memiliki beberapa tahapan yaitu:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
2.4.1 Case Folding
Case Folding adalah salah satu bentuk text preprocessing
yang paling sederhana dan efektif meskipun sering diabaikan.
Tujuan dari Case Folding untuk mengubah semua huruf dalam
dokumen menjadi huruf kecil. Hanya huruf ‘a’ sampai ‘z’ yang
diterima. Hal ini sering digunakan untuk sebagian besar masalah text
mining dan NLP untuk membantu dalam kasus dimana dataset yang
digunakan tidak terlalu besar dan membantu secara signifikan untuk
mendapatkan output yang konsisten.
Berikut contoh bagaimana penyelesaian Case Folding,
dimana kata – kata akan di konversi kedalam bentuk Case Folding
pada tabel 2.1:
Tabel 2. 1 Case Folding
Sebelum Sesudah
Italia pUnyA] FasilITas$
PeraWataN KESEHATAN
italia punya] fasilitas$
perawatan kesehatan
2.4.2 Stemming
Stemming adalah proses untuk mengurai infleksi dalam kata
ke bentuk kata dasar. Proses stemming ini dilakukan dengan
memotong akhir kata ataupun awalan kata dengan harapan dapat
mengubah kata menjadi kata dasarnya. Sebagai contoh pada tabel
2.2, terdapat kata “bermasalah”, maka kata akan menjadi “masalah”.
Selain itu, proses stemming juga berguna untuk mengurangi ukuran
struktur pengindeksan karena jumlah istilah indeks yang berbeda
menjadi berkurang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
Tabel 2. 2 Stemming
Sebelum Sesudah
italia punya] fasilitas$
perawatan kesehatan
italia punya] fasilitas$ awat
sehat
2.4.3 Tokenizing
Tokenizing adalah proses pemisahan teks menjadi potongan-
potongan yang disebut sebagai token untuk kemudian dianalisis.
Kata, angka, simbol, tanda baca, dan entitas penting lainnya dapat
dianggap sebagai token. Di dalam NLP, token diartikan sebagai
“kata” meskipun tokenize juga dapat dilakukan pada paragraf
maupun kalimat seperti pada tabel 2.3.
Tabel 2. 3 Tokenizing
Sebelum Sesudah
italia punya] fasilitas$ awat
sehat
'italia', 'punya]', 'fasilitas$',
'awat', 'sehat'
2.4.4 Stopwords Removal
Stopwords Removal yaitu menghilangkan kata – kata umum
yang sering digunakan dalam sebuah teks dan biasanya tidak
berguna jika digunakan untuk tujuan pencarian. Penghapusan
stopwords memiliki manfaat penting yaitu untuk mengurangi
ukuran indeks yang digunakan nantinya. Dengan mengurangi kata –
kata dengan informasi rendah dari teks, maka teks tersebut akn dapat
fokus pada kata – kata penting saja. Contoh terdapat pada tabel 2.4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Tabel 2. 4 Stopwords Removal
Sebelum Sesudah
'italia', 'punya]', 'fasilitas$',
'awat', 'sehat'
'italia', 'fasilitas$', 'awat',
'sehat'
2.4.5 Normalization
Dalam langkah preprocessing, langkah yang paling sering
diabaikan adalah proses text normalization. Text normalization
adalah proses untuk mengubah teks menjadi bentuk standar,
misalnya, kata “bagussss” dan “bagoessss” menjadi “bagus” yang
merupakan bentuk standarnya. Normalisasi teks penting untuk teks
yang berisikan komentar dari media sosial dimana singkatan,
kesalahan ejaan, dan penggunaan kata – kata di luar kosakata pada
umumnya.
2.4.6 Punctuation Removal
Punctuation removal merupakan proses yang digunakan
untuk menghilangkan tanda baca dalam sebuah kalimat. Tanda baca
yang akan dihapus dalam proses ini adalah (!”#$%&\’()*+,-
./:;<=>?@[\\]^_`{|}~). Contoh terdapat pada tabel 2.5
Tabel 2. 5 Punctuation removal
Sebelum Sesudah
'italia', 'fasilitas$', 'awat',
'sehat'
'italia', 'fasilitas', 'awat', 'sehat'
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
2.5 Feature Extraction
Feature Extraction merupakan sebuah proses untuk mendapatkan
fitur-fitur yang terkandung dalam dokumen. Feature Extraction berfungsi
untuk mengurangi noise dengan menghapus feature yang tidak relevan,
sehingga dapat mengingkatkan akurasi klasifikasi.
Menurut Baeza-Yates, menyatakan terdapat 3 model yang
mendukung untuk proses Feature Extraction, yaitu model Boolean, model
ruang vektor, dan model probabilistic (Baeza-Yates & Ribeiro-Neto, 1999).
2.5.1. Model Boolean
Model Boolean adalah model pencarian sederhana yang
berasal dari teori Aljabar Boolean. Model ini menyediakan sebuah
framework yang mudah dimengerti oleh user umum dari
Information Retrieval. Selain itu, query dimasukkan sebagai
ekspresi Boolean yang memiliki sematik yang tepat. Dengan bentuk
sederhana tersebut, model Boolean banyak mendapat perhatian di
awal kemunculannya. Namun, model ini memiliki beberapa
kelemahan, di antaranya.
- Strategi pencarian berdasarkan standar keputusan biner, yaitu
dengan memprediksi apakah suatu dokumen relevan atau tidak
tanpa adanya skala penilaian sehingga menghalangi kinerja
pencarian yang baik.
- Dengan adanya penggunaan sematik yang tepat, seringkali
menyulitkan untuk menerjemahkan kebutuhan informasi ke
dalam ekpresi Boolean.
2.5.2. Model Ruang Vektor
Gambaran dari serangkaian dokumen sebagai vektor –
vektor dalam ruangan vektor umum disebut dengan model ruang
vektor. Model ruang vektor merupakan dasar untuk operasi
pencarian sejumlah informasi mulai dari memberi nilai dokumen
pada query, serta klasifikasi dan pembagian dokumen. Menurut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
(Zhai & Massung, 2016), ruang vektor adalah sebuah model yang
simple dan model ini dapat digunakan secara efektif dalam proses
memberikan ranking dalam sebuah pemerolehan informasi. Model
ruang vektor ini memiliki kesamaan dalam model similarity yaitu
kedua model tersebut mencari relevansi terhadap kesamaan antara
dokumen dan query yang dimasukkan sehingga dapat diasumsikan
jika dalam satu dokumen tersebut terdapat kemiripan dengan query
daripada dokumen kedua, maka dokumen pertama akan
diasumsikan lebih relevan daripada dokumen yang kedua. Ini adalah
basic dari proses penilaian dokumen dalam model ruang vektor. Ide
dasar dari model ruang vektor sangat mudah dipahami.
Untuk menilai apakah model ruang vektor paling sederhana
ini benar-benar berfungsi dengan baik, dapat dilihat pada gambar
Gambar 2. 1 Contoh Sederhana Model Ruang Vektor (Zhai &
Massung, 2016)
Gambar 2.1 merupakan sebuah sample dokumen dan sample
query. Dalam query, terdapat kata “news about presidential
campaign”. Selanjutnya terdapat lima dokumen berasal dari corpus
yang memiliki perbedaan terms dalam query-nya. Dalam model
ruang vektor, pertama-tama menghitung vektor untuk dokumen ini
dan query. Dalam query terdapat 4 kata yaitu � ��"news","about", "presidential", "campaign"}. Sehingga dalam ��
terdapat dua kata yang memilik similarity yaitu news dan about
sehingga nilai dari �� adalah 2. Pada �� terdapat tiga kata yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
memiliki similarity dengan query yaitu news, presidential, dan
campaign, sehingga nilai dari �� adalah 3. Berdasarkan
perbandingan tingkat similarity antara �� dan ��, �� memiliki
ranking lebih tinggi dari ��. Jika diterapkan pada
��, �, ��, �, ��� � , maka akan mendapatkan hasil pada gambar
2.2
Gambar 2. 2 Ranking Dokumen Model Ruang Vektor (Zhai &
Massung, 2016)
Gambar 2.2 telah dilakukan ranking dari kelima dokumen
tersebut. Fungsi penilaian vektor bit menghitung jumlah istilah kueri
unik yang cocok di setiap dokumen. Namun, terdapat masalah pada
dokumen �, ��, dan �. Ketiga dokumen tersebut memiliki nilai
yang sama yaitu 3. Setelah diperiksa lebih dekat, � seharusnya nilai
tinggi dari �� karena �� hanya menyebutkan kata “presidential”
hanya sekali dibandingkan dengan � yang menyebutkan kata
“presidential” berulang kali. Selain itu, �� lebih relevan dan
mendapatkan nilai lebih dari �. Kata “presidential” lebih penting
daripada kata “about” meskipun kata “presidential” dan “about”
terdapat dalam query. Tetapi model ruang vektor ini tidak
melakukan tersebut sehingga untuk mengatasi hal tersebut, perlu
dilakukan proses perhitungan kembali dengan menggunakan Term
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Frequency untuk menghitung frekuensi kemuculan sebuah kata
dalam dokumen.
Pada model ruang vektor, kata unik yang muncul dalam
dokumen diberi nilai 1 dan 0, sedangkan dalam Term Frequency
kata unik yang muncul dalam dokumen akan dihitung dari
banyaknya kata tersebut muncul sehingga nilai dari kata yang
muncul tidak hanya 1 dan 0, melainkan akan dihitung kemunculam
kata di query dalam dokumen. Dengan demikian, dapat disimpulkan
dengan rumus:
�����, �� � � � � � ���� � �� � ⋯ � ���� � � ���� �
���
(2. 1)
Dengan penggunaan rumus tersebut, penilaian dokumen
dengan query yang ada tentu memiliki perbedaan. Contoh yaitu nilai
dari �, ��, dan � memiliki nilai yang sama, tetapi saat
menggunakan Term Frequency nilai tersebut akan berbeda. Contoh
bisa dilihat pada gambar 2.3
Gambar 2. 3 Term Frequency (Zhai & Massung, 2016)
Kemunculan pada � lebih tinggi karena terdapat perulangan kata
yang dihitung yaitu kata “presidential” terdapat 2 kata dalam �
sehingga nilai dari � lebih tinggi dari � dan ��.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Namun, hasil dari perhitungan � dan �� memiliki nilai yang
sama. Proses perankingan tersebut dapat dilakukan dengan
melakukan proses Inverse Document Frequency, yaitu jumlah
dokumen yang mengandung sebuah term yang dicari dari kumpulan
dokumen yang ada.
������ � log "# � 1�����%
(2. 2)
Keterangan:
������ : inverse document frequency yang
mengandung term �
# : Jumlah dokumen dalam koleksi
����� : jumlah koleksi dokumen yang
mengandung term �
Sebagai contoh, melakukan perbandingan pada � dan ��,
dimana terdapat kata” campaign” dan “about”. Untuk melakukan
perhitungan, perlu diasumsikan untuk nilai #, ����&'()�, dan
���*��+��,��.
M : 10.000
����&'()� : 5000
���*��+��,�� : 1166
Kemudian, menghitung idf dari about:
-./��&'()� � log " 10.001����&'()�% � log "10.001
5000 % ≈ 1.0
Idf dari campaign:
-./�*��+��,�� � log " 10.001���*��+��,��% � log "10.001
1166 % ≈ 3.1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Setelah melakukan perhitungan nilai idf pada kedua kata
tersebut, selanjutnya adalah menghitung perankingan dengan hasil
dari IDF dan dikalikan dengan nilai TF tersebut.
��,6 � )��,6 7 ���� (2. 3)
Sehingga mendapatkan hasil pada gambar 2.4
Gambar 2. 4 Invers Document Frequency
Dapat disimpulkan nilai dari � lebih tinggi dari ��. Berdasarkan
proses perurutan pada 5 dokumen tersebut dan berdasarkan proses
pembobotan TF-IDF, perhitungan mendapatkan hasil
Gambar 2. 5 Weight TF - IDF
2.5.3. Model Probabilistik
Model probabilistik adalah model untuk mengurutkan
dokumen dalam urutan menurun terhadap peluang relevansi sebuah
dokumen terhadap kebutuhan informasi user (Zhai & Massung,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
2016). Perhitungan yang dilakukan pada setiap kata pada query dan
akan diketahui nilai bobot dari dokumen yang dicari. Dokumen yang
paling relevan memiliki jumlah nilai bobot tertinggi.
Pada model probabilistik ini, proses perankingan
berdasarkan probabilitas yang diberikan dokumen � apakan relevan
dengan query �, atau +�8 � 1|�, �� dimana 8 ∈ �0,1; adalah
variabel acak biner yang menunjukkan relevansi (Gambar 2.6).
Gambar 2. 6 Perhitungan Model Probabilistik
Pada gambar di atas, � dan � dalam tabel ini dan kemudian
menghitung dengan:
+�8 � 1|�, �� � *'(�)�8 � 1, �, ��*'(�)��, ��
(2. 4)
Keterangan:
+�8 � 1|�, �� : Probabilitas kemunculan kata dalam
dokumen
*'(�)�8 � 1, �, �� : Jumlah kemunculan kata pada dokumen
*'(�)��, �� : Panjang dokumen
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Sebagai contoh, melakukan perhitungan probabilitas pada query
“presidential campaign”, maka kata “presidential” akan dicari pada
setiap kata pada dokumen, berapa banyak kemunculan kata tesebut
dalam dokumen, sama halnya dengan kata “campaign” sehingga
dimasukkan ke dalam rumus:
+�� � "presidential campaign"|��
� *�"presidential", ��|�| 7 *�"campaign", ��
|�|
Sehingga jika diimplementasikan pada dokumen �, ��, dan
� menjadi:
+��|�� � 2|�| 7 1
|�|
+��|��� � 1|��| 7 1
|��|
+��|�� � 0|�| 7 1
|�| Untuk menghitung score pada dokumen tersebut, telah
dilakukan perhitungan berapa kali kata presidential dan campaign
muncul. Data dapat dilihat pada kata presidential muncul 2 kali
dalam � maka ditulis
|>?| dan dikalikan dengan kata campaign yang
muncul 1 kali pada � maka ditulis �
|>?|. Sama halnya pada � dan
��. Perhitungan probabilitas tersebut perlu dilakukan perhitungan
untuk proses scoring pada setiap dokumen agar pada setiap
dokumen mendapatkan hasil akhir apakah dokumen tersebut relevan
atau tidak dengan query yang di inputkan, untuk melakukan
perhitungan scoring tersebut dapat menggunakan rumus:
@*'AB��, �� � log +��|��� � log +���|�� � � *��, �� log +��|��
C∈D
�
���
(2. 5)
Keterangan:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
@*'AB��, �� : Score probabilitas query terhadap dokumen
+���|�� : Probabilitas kata dalam dokumen
*��, �� : Jumlah kata dalam dokumen
2.6 Machine Learning
Istilah machine learning pertama kali didefinisikan oleh Arthur
Samuel pada tahun 1959. Menurut Arthur Samuel, machine learning adalah
salah satu bidang ilmu komputer yang memberikan kemampuan
pembelajaran kepada komputer untuk mengetahui sesuatu tanpa pemrogram
yang jelas (Samuel, 1988). Menurut Mohri dkk (2012), machine learning
dapat didefinisikan sebagai metode komputasi berdasarkan pengalaman
untuk meningkatkan performa atau membuat prediksi yang akurat. Definisi
pengalaman disini ialah informasi sebelumnya yang telah tersedia dan bisa
dijadikan data pembelajar.
Dalam pembelajaran machine learning, terdapat beberapa skenario-
scenario, seperti:
1. Supervised Learning
Penggunaan skenario supervised learning, pembelajaran menggunakan
masukan data pembelajaran yang telah diberi label. Setelah itu membuat
prediksi dari data yang telah diberi label.
2. Unsupervised Learning
Penggunaan skenario Unsupervised Learning, pembelajaran
menggunakan masukan data pembelajaran yang tidak diberi label.
Setelah itu mencoba untuk mengelompokan data berdasarkan
karakteristik-karakteristik yang ditemui.
3. Reinforcement Learning
Pada skenario reinforcement learning, fase pembelajaran dan tes saling
dicampur dengan tujuan untuk mengumpulkan informasi pembelajar
secara aktif dengan berinteraksi ke lingkungan sehingga untuk
mendapatkan balasan untuk setiap aksi dari pembelajar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Saat ini telah banyak pendekatan machine learning yang digunakan
untuk deteksi spam, Optical character recognition (OCR), pengenalan
wajah, deteksi penipuan online, NER (Named Entity Recognition), Part-of-
Speech Tagger.
2.7 Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan atau Artificial Neural Network (ANN)
merupakan suatu model komputasi paralel yang meniru fungsi dari sistem
jaringan syaraf biologi otak manusia. Otak manusia terdiri dari milyaran
neuron yang saling berhubungan. Hubungan ini disebut dengan Synapses.
Komponen neuron terdiri atas satu inti sel yang akan melakukan
pemrosesan informasi, satu akson (axon), dan minimal satu dendrit.
Informasi yang masuk akan diterima oleh dendrit. Selain itu, dendrit juga
menyertasi akson sebagai keluaran dari suatu pemrosesan informasi.
Gambar 2. 7 Jaringan Syaraf
Cara kerja dari sistem syaraf di atas adalah bermula pada sinyal
masuk melalui dendrit menuju cell body. Kemudian sinyal akan diproses di
dalam cell body berdasarkan fungsi tertentu (Summation Process). Jika
sinyal hasil proses melebihi nilai ambang batas (treshold) tertentu, maka
sinyal tersebut akan membangkitkan neuron untuk meneruskan sinyal
tersebut. Jika sinyal hasil proses di bawah nilai ambang batasnya, maka
sinyal tersebut akan dihalangi (inhibited). Kemudian sinyal yang diteruskan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
akan menuju ke axon dan akhirnya menuju ke neuron lainnya melewati
synapse.
ANN merupakan sistem adatif yang dapat mengubah strukturnya
untuk memecahkan suatu masalah berdasarkan informasi internal maupun
eksternal. ANN bersifat fleksibel terhadap inputan data dan menghasilkan
output respon konsisten. ANN telah banyak digunakan dalam area yang
luas. Penerapan ANN dapat mengidentifikasi beberapa aplikasi yaitu:
a. Estimasi/prediksi (aproksimasi fungsi, peramalah)
b. Pengenalan Pola (klasifikasi, diagnosis, dan analisis diskriminan)
c. Klustering (pengelompokan tanpa adanya pengetahuan sebelumnya).
2.7.1. Komponen Neural Network
Neural Network memiliki beberapa tipe yang berbeda-beda,
akan tetapi hampir semua komponen yang dimiliki sama. Seperti
halnya jaringan syaraf pada otak manusia, neural network juga terdiri
atas beberapa neuron unit yang saling behubungan. Masing-masing
dari neuron tersebut akan melakukan transformasi informasi yang
diterima melalui sambungan keduanya menuju neuron lain.
Hubungan ini biasanya disebut dengan sebutan bobot (Weight).
Informasi tersebut disimpan pada suatu nilai tertentu pada bobot
tertentu. Berikut adalah struktur neuron pada neural network:
Gambar 2. 8 Struktur Neural Network
Gambar 2.8 di atas menunjukan struktur yang dimiliki oleh
Neural Network. Komponen yang dimiliki struktur tersebut sebagai
berikut:
1. Input terdiri atas variabel independet �E1, E2, E3, . . . . . E�� yang
merupakan sebuah sinyal yang masuk ke sel syaraf.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
2. Bobot (Weigth) terdiri atas beberapa bobot
�F1, F2, F3, . . . . . F�, � yang berhubungan dengan masing-
masing node.
3. Threshold merupakan nilai ambang batas internal dari node.
Besar nilai ini mempengaruhi aktivasi dari output node �.
4. Activation Function (Fungsi Aktivasi) merupakan operasi
matematika yang dikenal pada sinyal output y.
Cara kerja struktur neural network diatas tidak jauh berbeda
dengan struktur jaringan syaraf pada manusia. Informasi (input)
akan dikirimkan dengan bobot kedatangan tertentu. Input tersebut
kemudian diproses oleh suatu fungsi perambatan yang akan
menjumlahkan nilai-nilai semua bobot yang datang. Hasil
penjumlahan ini kemudian akan dibandingkan dengan suatu nilai
ambang (threshold) tertentu melalui fungsi aktivasi setiap neuron.
Jika input tersebut melewati suatu nilai ambang tertentu, maka
neuron tersebut akan diaktifkan. Jika tidak, neuron tersebut tidak
akan diaktifkan. Apabila neuron diaktifkan, selanjutnya neuron
tersebut akan mengirimkan output melalui bobot-bobot outputnya
ke semua neuron yang berhubungan dengannya, begitu seterusnya.
Pada neuron layer, penempatan neuron-neuron akan
dikumpulkan dalam neuron layer (lapisan-lapisan). Kemudian
neuron-neuron pada satu lapisan akan dihubungkan dengan lapsan-
lapisan sebelum dan sesudahnya, kecuali lapisan input dan output.
Informasi yang dibawa dari langkah input awal akan dirambatkan
dari lapisan ke lapisan dari lapisan input sampai lapisan output.
Lapisan ini sering disebut dengan istilah hidden layer (lapisan
tersembunyi). Pada umumnya, setiap neuron terletak pada lapisan
yang sama akan memiliki keadaan yang sama sehingga pada setiap
lapisan sama, setiap neuron akan memiliki fungsi aktivasi yang sama.
Koneksi antarlapisan dengan neuron harus selalu berhubungan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Faktor terpenting dalam menentukan kelakuan suatu neuron adalah
terletak pada pola bobot dan fungsi aktivasinya.
2.7.2. Arsitektur Neural Network
Pada Neural Network, neuron-neuron yang ada pada lapisan
yang sama memiliki keadaan yang sama. Terdapat faktor penting
dalam menentukan sifat suaru neuron yaitu bobot (Weight) dan
penggunaan fungsi aktivasi dari neuron tersebut. Setiap lapisan pada
neuron memiliki fungsi aktivasi yang sama. Arsitektur yang dapat
dibentuk oleh ANN bermacam-macam, dari yang paling sederhana
terdiri satu neuron (single neuron) sampai yang paling rumit menjadi
multi neuron (multiple neuron) dalam satu lapis (single layer),
sampai jaringan multiple neuron dalam multiple layers. Beberapa
jaringan tersebut memiliki kemampuan yang berbeda-beda. Semakin
rumit suatu jaringan, persoalan yang dapat diselesaikan menjadi lebih
luas. Namun, terdapat kelemahan yaitu kerumitan tersebut dapat
menimbulkan persoalan tersendiri pada kebutuhan proses trainning
dan simulasi (testing) yang akan memerlukan waktu lebih lama.
Menurut Hermawan (2006), a rsitektur neural network dapat dibagi
berdasarkan jumlah lapisannya di antaranya:
1. Single Layer Neural Network: Jaringan dengan lapisan tunggal
terdiri atas 1 lapisan input dan 1 lapisan output. Setiap neuron
yang terdapat di dalam lapisan input selalu terhubung dengan
setiap neuron yang terdapat pada lapisan output. Jaringan ini
hanya menerima input kemudian secara langsung akan
mengolahnya menjadi output tanpa harus melalui lapisan
tersembunyi:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Gambar 2. 9 Single Layer Neural Network
2. Multiple Layers Neural Network: Jaringan dengan lapisan jamak
memiliki ciri khas tertentu yaitu memiliki 3 jenis lapisan yakni
lapisan input, lapisan output, dan lapisan tersembunyi. Jaringan
dengan banyak lapisan ini dapat menyelesaikan permasalahan
yang lebih kompleks dibandingkan jaringan dengan lapisan
tunggal. Akan tetapi, proses pelatihan sering membutuhkan
waktu yang cenderung lama.
Gambar 2. 10 Multiple Layers Neural Network
3. Competitive Layers: Pada jaringan ini, sekumpulan neuron
bersaing untuk mendapatkan hak menjadi aktif. Contoh
algoritma yang menggunakan jaringan ini adalah LVQ.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Gambar 2. 11 Competitive Layers
2.7.3. Fungsi Aktivasi
Fungsi aktivasi merupakan fungsi yang menggambarkan
hubungan antara tingkat aktivitas internal (summation function) yang
mungkin berbentuk linear ataupun nonlinear. Fungsi ini bertujuan
untuk menentukan apakah neuron diaktifkan atau tidak. Ada
beberapa fungsi aktivasi yang sering digunakan dalam Neural
Network, yaitu sebagai berikut:
1. Fungsi Aktivasi Linear
Fungsi aktivasi linear merupakan fungsi yang memiliki
nilai output yang sama dengan nilai input-nya. Hal ini berkaitan
dengan, jika sebuah neuron menggunakan linear activation,
maka keluaran dari neuron tersebut adalah weighted sum dari
input + bias. Grafik fungsi linear ditunjukan oleh gambar 2.12.
Gambar 2. 12 Fungsi Aktivasi linear
2. Fungsi Aktivasi Sigmoid
Fungsi aktivasi sigmoid merupakan fungsi nonlinear.
Masukan untuk fungsi aktivasi ini berupa bilangan real dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
output dari fungsi tersebut memiliki range antara 0 sampai 1.
Berikut ini grafik fungsi aktivasi sigmoid:
Gambar 2. 13 Fungsi Aktivasi Sigmoid
Jika input dari suatu node pada neural network bernilai
negatif, maka keluaran yang didapatkan adalah 0. Jika
masukannya berilai positif, maka keluaran nilainya adalah satu.
Fungsi ini memiliki kekurangan yaitu sigmoid dapat mematikan
gradient, ketika aktivasi dari neuron mengeluarkan nilai yang
berada pada range 0 atau satu, gradient di wilayah ini hampir
bernilai 0. Kemudian output dari sigmoid tidak zero-centered.
3. Fungsi Aktivasi Tanh
Fungsi aktivasi Tanh merupakan fungsi nonlinear.
Masukan untuk fungsi aktivasi ini berupa bilangan real dan
output dari fungsi tersebut memiliki range antara -1 sampai 1.
Berikut ini grafik fungsi aktivasi tanh:
)��ℎ��� � 2H�2�� − 1 (2. 6)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Gambar 2. 14 Fungsi aktivasi Tanh
Sama seperti fungsi sigmoid, fungsi ini memiliki
kekurangan yaitu dapat mematikan gradient. Akan tetapi fungsi
ini juga memiliki kelebihan yaitu output yang dimiliki fungsi
Tanh merupakan zero-centered. Dalam pengaplikasiannya,
fungsi Tanh lebih menjadi pilihan jika dibandingkan dengan
fungsi sigmoid. Perlu diketahui fungsi tanh merupakan
pengembangan dari fungsi Sigmoid.
4. Fungsi Aktivasi ReLU
Pada dasarnya, fungsi ReLU (Rectified Linear Unit)
melakukan “threshold” dari 0 hingga infinity. Fungsi ini menjadi
salah satu fungsi yang populer saat ini. Berikut ini grafik fungsi
aktivasi tanh
Gambar 2. 15 Fungsi Aktivasi ReLU
Pada fungsi ini, masukan dari neuron-neuron berupa
bilangan negatif, maka fungsi ini akan menerjemahkan nilai
tersebut ke dalam nilai 0, dan jika masukan bernilai positif maka
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
output dari neuron adalah nilai aktivasi itu sendiri. Fungsi
aktivasi ini memiliki kelebihan yaitu dapat mempercepat proses
konvigurasi yang dilakukan dengan Stochastic Gradient Descent
(SGD) jika dibandingkan dengan fungsi sigmoid dan tanh.
Namun, aktivasi ini juga memiliki kelemahan yaitu aktivasi ini
bisa menjadi rapuh pada proses training dan bisa membuat unit
tersebut mati.
2.8 Deep Learning
Deep Learning merupakan salah satu bidang dari Machine Learning
untuk implementasi permasalahan dengan dataset yang besar. Teknik Deep
Learning memberikan arsitektur yang sangat kuat untuk Supervised
Learning. Dengan menambahkan lebih banyak lapisan, model pembelajaran
tersebut bisa mewakili data citra berlabel dengan lebih baik. Pada Machine
Learning, terdapat teknik untuk menggunakan ekstraksi fitur dari data
pelatihan dan algoritma pembelajaran khusus untuk mengklasifikasi citra
maupun untuk mengenali suara. Namun, metode ini masih memiliki
beberapa kekurangan baik dalam hal kecepatan dan akurasi.
Aplikasi konsep jaringan syaraf tiruan yang dalam (banyak lapisan)
dapat ditangguhkan pada algoritma Machine Learning yang sudah ada
sehingga komputer sekarang bisa belajar dengan kecepatan, akurasi, dan
skala yang besar. Prinsip ini terus berkembang hingga Deep Learning
semakin sering digunakan pada komunitas riset dan industri untuk
membantu memecahkan banyak masalah data besar seperti Computer
Vision, Speech Recognition, dan Natural Language Processing. Feature
Engineering adalah salah satu fitur utama dari Deep Learning untuk
mengekstrak pola yang berguna dari data yang akan memudahkan model
untuk membedakan kelas. Feature Engineering juga merupakan teknik
yang paling penting untuk mencapai hasil yang baik pada tugas prediksi.
Namun, sulit untuk dipelajari dan dikuasai karena kumpulan data dan jenis
data yang berbeda memerlukan pendekatan teknik yang berbeda juga.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Algoritma yang digunakan pada Feature Engineering dapat
menemukan pola umum yang penting untuk membedakan antara kelas
Dalam Deep Learning, metode Convolutional Neural Network sangatlah
bagus dalam menemukan fitur yang baik pada teks ke lapisan berikutnya
untuk membentuk hipotesis nonlinier yang dapat meningkatkan
kekompleksitasan sebuah model.
Model yang kompleks tentunya akan membutuhkan waktu pelatihan
yang lama sehingga di dunia Deep Learning pengunaan GPU sudah
sangatlah umum (Danukusumo, 2017).
2.9 Convolution Neural Network
Convolutional Neural Network (CNN) merupakan salah satu
pengembangan dari Jaringan Syaraf Tiruan yang terinspirasi dari jaringan
syaraf manusia dan biasanya digunakan untuk melakukan peramalan dan
pengenalan pola. Convolutional Neural Network merupakan pengembangan
dari Multilayer Perception yang didesain untuk melakukan pengolahan data
dalam bentuk dua dimensi. Tidak seperti MLP yang setiap neuron hanya
berukuran satu dimensi, CNN termasuk dalam Deep Neural Network karena
ke dalam jaringan yang tinggi dan banyak diaplikasikan dalam machine
learning. CNN hampir sama dengan neural network pada umumnya yang
memiliki neuron, bobot, dan bias.
Pada dasarnya, Convolution Neural Network merupakan
beberapa lapisan konvolusi dengan fungsi aktivasi ReLU atau Tanh
yang biasa diterapkan pada proses pelatihan. Di dalam feed forward
neuron network menghubungkan setiap neutron ke output neuron
pada lapisan berikutnya, biasanya disebut dengan fully – connected
atau affine layer. Pada CNN, tidak diperlukan beberapa langkah
yang dilakukan pada neural network tradisional, sebaliknya yaitu
menggunakan metode konvolusi yang melalui input layer untuk
menghitung output. Setiap layer diterapkan filter yang berbeda,
biasanya terdiri atas ratusan atau ribuan filter dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
mengkombinasukan hasil dari operasi kovolusi tersebut. Selama
proses traning terjadi, CNN secara otomatis mempelajari nilai hasil
penerapan filter pada operator konvolusi berdasarkan pada tugas
yang diinginkan. CNN dapat belajar untuk mendeteksi pada layer
pertama, kemudian menggunakannya untuk mendeteksi bentuk
sederhana pada lapisan kedua, dan kemudian menggunakan hasil
ekstraksi fitur pada filter sebelumnya untuk mendeteksi fitur pada
tingkatan yang lebih tinggi.
Gambar 2. 16 Arsitektur Convolution Neural Network
2.9.1. Embedding Layer
Komputer melihat text input pada Embedding Layer dengan
yang memetakan indeks kata kosakata dalam representasi matrix
vector dalam low dimensional space untuk mengasumsikan bahwa
setiap kata sesuai dengan vektor dalam ruang dimensi rendah yang
tidak diketahui dan mendefinisikan model bahasa hanya
berdasarkan representasi vektor dari kata-kata yang terlibat sehingga
parameter untuk model bahasa seperti itu akan menjadi representasi
vektor dari kata-kata. Hasilnya dengan menyesuaikan model ke
kumpulan data tertentu, maka dapat mempelajari representasi vektor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
untuk semua kata. Model bahasa ini disebut neural language models
karena dapat direpresentasikan sebagai jaringan saraf.
Misalnya, dalam skip-gram neural language model, tujuan
dari fungsi ini adalah menggunakan setiap kata untuk memprediksi
semua kata lain dalam konteksnya seperti yang ditentukan oleh
jendela di sekitar kata dan probabilitas untuk memprediksi kata w1
jika kata w2 didapatkan dari persamaan rumus
+���|�� � B�+�J�KKKK⃗ . JKKKK⃗ �∑ B�+�JNKKK⃗ . JKKKK⃗ �CO∈D
(2. 7)
Keterangan:
+���|�� : Score probabilitas kata �� jika �
J� : representasi vektor yang sesuai dari kata ��.
2.9.2. Convolution Layer
Convolution layer adalah blok utama di dalam CNN yang
terdiri atas beragam filter yang diinisialisasi secara acak untuk
melakukan operasi konvolusi yang berfungsi sebagai ekstraksi fitur
untuk mempelajari representasi fitur dari suatu input text. Pada
convolution layer, neuron tersusun menjadi feature maps. Setiap
neuron pada feature map sebagai receptive field, terhubung pada
neuron – neuron dari convolution layer sebelumnya melalui
serangkaian bobot yang dilatih, biasa juga disebut dengan filter bank
(LeCun, 2015).
Convolution layer terdiri atas neuron yang tersusun
sedemikian rupa sehingga membentuk sebuah filter yang panjang
dan tinggi. Sebagai contoh, layer pertama pada layer dengan ukuran
4x7. Kedua filter ini akan digeser ke seluruh bagian dari text. Setiap
pergeseran akan dilakukan operasi dot antara input dan nilai dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
filter tersebut sehingga menghasilkan sebuah output atau biasa
disebut sebagai feature map.
Gambar 2. 17 Convolution Layer
Contoh perhitungan:
Langkah 1: membuat filter terlebih dahulu, sebagai contoh membuat
3 ukuran wilayah (2,3,4) dan 2 filter setiap wilayah sehingga
mendapatkan 6 filter. Filter pertama berukuran 4x7, filter kedua
berukuran 3x7 dan filter ketiga berukuran 2x7
Langkah 2: Melakukan proses perhitungan sliding
Proses perhitungan convolution matrix 4x7 pertama
Iterasi 1:
Gambar 2. 18 Iterasi 1 Conv Layer
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Iterasi 2:
Gambar 2. 19 Iterasi 2 Conv Layer
Iterasi 3:
Gambar 2. 20 Iterasi 3 Conv Layer
Iterasi 4:
Gambar 2. 21 Iterasi 4 Conv Layer
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
2.9.3. Operasi Pooling
Pooling merupakan pengurangan ukuran matriks dengan
menggunakan operasi pooling. Pooling layer biasanya berada
setelah proses convolution layer. Pada dasarnya, pooling layer
terdiri dari sebuah filter dengan ukuran � 7 � dan stride tertentu
yang akan secara bergantian bergeser pada seluruh area feature map.
Dalam pooling, layer secara bergantian bergeser pada seluruh area
feature map. Dalam pooling layer, terdapat dua macam pooling yang
biasa digunakan yaitu average pooling dan max pooling. Nilai yang
diambil dari average pooling adalah nilai rata – rata, sedangkan pada
max pooling adalah nilai maksimal. Laporan Pooling yang
dimasukkan di antara lapisan konvolusi secara berturut – turut dalam
arsitektur dalam model CNN dapat secara progresif mengurangi
ukuran volume output pada feature map sehingga mengurangi
jumlah parameter dan perhitungan di jaringan tersebut untuk
mengendalikan overfitting. Lapisan pooling bekerja di setiap
tumpukan feature map dan menggunakan pengurangan pada
ukurannya. Bentuk lapisan pooling umumnya dengan menggunakan
panjang dari filter tersebut.
Gambar 2. 22 Pooling Layer
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
2.9.4. Fully Connected Layer
Fully Connected Layer adalah sebuah lapisan yang semua
neuron aktivasi dari lapisan sebelumnya terhubung semua dengan
neuron di lapisan selanjutnya sama seperti halnya dengan neural
network pada umumnya. Pada dasarnya, lapisan ini biasanya
digunakan pada MLP (Multi-Layer Perceptron) yang mempunyai
tujuan untuk melakukan transformasi pada dimensi data agar data
dapat diklasifikasikan secara linear. Perbedaan antara lapisan fully -
connected dan lapisan konvolusi biasa adalah neuron di lapisan
konvolusi terhubung hanya ke daerah tertentu pada input, sementara
lapisan fully - connected memiliki neuron yang secara keseluruhan
terhubung. Namun, kedua lapisan tersebut masih mengoperasikan
produk dot sehingga fungsinya tidak begitu berbeda. Berikut ini
adalah proses fully – connected.
Gambar 2. 23 Fully Connected Layer
2.9.5. Softmax Classifier
Fungsi softmax menghitung distribusi probabilitas dari
kejadian di atas 'n' dari berbagai kejadian. Secara umum, fungsi ini
akan menghitung probabilitas masing-masing kelas tujuan melalui
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
semua kelas yang ada. Kemudian probabilitas melakukan kalkulasi
yang sangat membantu untuk menentukan kelas tujuan dari input
yang diberikan. Keuntungan utama menggunakan Softmax adalah
output dengan rentang probabilitas. Rentang akan 0 sampai 1 dan
jumlah semua probabilitas akan sama dengan satu. Jika fungsi
softmax digunakan untuk model multi-classification, softmax dapat
mengembalikan probabilitas masing-masing kelas dan kelas target
akan memiliki probabilitas tinggi. Fungsi softmax didefinisikan
sebagai berikut:
/���� � P�+����∑ P+��6�Q6�R
, � � 0,1,2,3, . . ., (2. 8)
Perhitunganan Feed forward menggunakan softmax
#�� � S�/T�� 7 F�� � �/T� 7 F�� � �/T�� 7 F �� �/T� 7 FU� � �/T � 7 FV� � �/TW� 7 F���� �X/T 7 1�Y
#�� � S�0.11 7 0.1� � �0.14 7 0.3� � �0.14 7 0.4�� �0.09 7 0.2� � �0.17 7 0.7� � �0.14 7 0.19�� �0.35 7 1�Y � 1.86376754
#� � S�/T�� 7 F� � �/T� 7 F� � �/T�� 7 FW�� �/T� 7 F^� � �/T � 7 F�R� � �/TW� 7 F��� �X/T 7 1�Y
#� � S�0.11 7 0.3� � �0.14 7 0.4� � �0.14 7 0.3�� �0.09 7 0.1� � �0.17 7 0.8� � �0.14 7 0.1�� �0.35 7 1�Y � 1.89648088
�'�)����#��� � exp�#���B+�#��� � exp �#�� �'�)����#�� � exp�#��
B+�#��� � exp �#��
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
�'�)����#��� � 1.863767543.76024842
�'�)����#��� � 0.49565011
�'�)����#�� � 1.896480883.76024842
�'�)����#�� � 0.50434989
Gambar 2. 24 Softmax Classifier
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
2.10 Word Embedding
Word Embedding yang dikembangkan oleh Thomas Mikolov,
merupakan implementasi jaringan syaraf tiruan yang dapat mengolah kata-
kata dari dataset yang sangat besar dengan waktu yang relatif singkat dan
nilai akurasi yang lebih baik dibandingkan dengan metode yang pernah ada
sebelumnya. Alat ini bekerja dengan cara mengambil korpus teks sebagai
input, lalu menghasilkan representasi vektor dari setiap kata yang ada pada
korpus teks tersebut sebagai output. Hasil dari file vektor ini dapat
digunakan sebagai penelitian pada natural language processing dan aplikasi
machine learning. Selain itu, vektor kata tersebut juga dapat digunakan
dalam mengukur jarak kedekatan terhadap vektor kata yang lain. Misalnya
sebuah kata “Indonesia” direpresentasikan menjadi sebuah vektor dengan
panjang 5 yaitu: [0.2, 0.4, -0.8, 0.9, -0.5]. Vektor tersebut tidak hanya
merepresentasikan kata secara sintaktik tapi juga secara semantik atau
secara makna.
Sebagai contoh, apabila word embeding di-train menggunakan
korpus yang cukup lengkap, maka vektor representasi dari kata “Indonesia”
akan berdekatan dengan vektor “Jakarta” sebagaimana vektor “Perancis”
akan berdekatan dengan vektor “Paris”. Dengan kata lain, model word2vec
akan memahami bahwa “Indonesia” dan “Jakarta memiliki hubungan yang
sama dengan “Perancis” dan “Paris” yaitu negara dan ibukotanya.
Word embedding menggunakan neural network untuk mendapatkan
vektor tersebut. Arsitektur Word Embedding hanya terdiri tas 3-layer yaitu
Input, Projection (Hidden Layer), dan Output. Input pada Word Embedding
berbentuk one-hot encoded vector dengan panjang jumlah kata unik pada
data training. Terdapat 2 jenis arsitektur neural network dari Word2Vec
yaitu “Skip-gram” dan “Continuous Bag of Word” (CBOW).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
a. Skip-gram
Tujuan dari arsitektur skip-gram adalah untuk memprediksi
konteks (output) di sekitar current word (input). Misal data training-
nya adalah sebuah kalimat “Ibu kota Negara Indonesia adalah
Jakarta” dengan window size = 2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Data input berbentuk one-hot encoded vector sehingga
bentuk datanya adalah seperti berikut (anggap seluruh data di
lowercase terlebih dahulu):
Ibu :[1,0,0,0,0,0]
kota :[0,1,0,0,0,0]
negara :[0,0,1,0,0,0]
Indonesia :[0,0,0,1,0,0]
adalah :[0,0,0,0,1,0]
jakarta :[0,0,0,0,0,1]
Misal current word Indonesia, maka ilustrasinya adalah sebagai
berikut:
Gambar 2. 25 Arsitektur Skip-Gram
Inisialisasi bobot pada F dan F’ adalah random. Bobot F
dan F’ merupakan matrik dengan ukuran F � c 7 d dan F’ � d 7 c. Pada proses feedforward, vektor input akan di-dot product
dengan bobot F dan menghasilkan nilai pada layer projection.
Kemudian layer projection di dot product dengan bobot F’ dan
menghasilkan vektor output. Setelah mendapatkan nilai output pada
tahap feedforward, maka akan dihitung nilai erornya dengan
menggunakan metode cross entropy yaitu Target - Output.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Selanjutnya adalah tahap backpropagation dengan memanfaatkan
teknik gradient descent yaitu dengan melakukan update bobot F
dan F’. Proses ini akan diulang kembali ke tahap feedforward
hingga tercapai nilai eror minimum.
Setelah didapatkan nilai eror minimum pada cross entropy,
maka vektor yang merepresentasikan kata tersebut diambil dari
bobot F dengan cara mengalikan dot product antara one-hot
encoded vector masing-masing kata dengan bobot F, sedangkan
bobot pada F’ akan diabaikan.
2.11 Pengukuran Performa
Ketika sebuah sistem telah berhasil dirancang sebagaimana
mestinya dan sudah diimplementasikan dan kemudian menghasilkan nilai
seperti yang diinginkan, tahapan selanjutnya adalah pengukuran performa.
Pengukuran performa dilakukan untuk menguji keakuratan, keefektifan,
dan efisiensi sistem yang dibangun. Terdapat sekumpulan rumus yang dapat
digunakan sebagai media pengukuran yang sesuai dengan penelitian yang
sedang dilakukan yaitu Precision, Recall dan Accuracy.
Precision and Recall adalah matriks perhitungan yang digunakan
untuk mengukur kefektifitasan pengambilan informasi (Manning,
Raghavan, & Schütze, 2008).
Precision (e) adalah pecahan dari dokumen dan diambil yang
relevan.
eAB*�@�'� � #��'g(�B� &BA�)� +�h@( )BAgh�@���g�@� +�h@(�#�i(�h�ℎ �'g(�B� )BAgh�@���g�@� +�h@(�
Recall (8) adalah bagian dari dokumen yang relevan yang diambil.
8B*�hh � #��'g(�B� &BA�)� +�h@( )BAgh�@���g�@� +�h@(�#�i(�h�ℎ �'g(�B� +�h@( ���, ��(i��
Gagasan tersebut dapat diperjelas melalui tabel berikut:
Tabel 2. 6 Confusion Matrix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Relevan Tidak Relevan
)A(B +'@�)�JB �)+� ��h@B +'@�)�JB ��+�
��h@B �B,�)�JB ���� )A(B �B,�)�JB �)��
Berdasarkan tabel di atas, dapat dituliskan rumus sebagai berikut untuk
menghitung akurasi sebuah sistem menggunakan perhitungan Precision and
Recall (Manning et al., 2008):
e � )+
)+ � �+
8 � )+)+ � ��
(2. 9)
Misal jika terdapat 10 buah dokumen berita yang akan diuji dalam
sistem deteksi berita palsu dan telah diklasifikasi sebelumnya menjadi 5
dokumen memiliki konten palsu dan 5 dokumen merupakan berita orisinal.
Kemudian 10 dokumen tersebut diuji dalam sistem dan sistem memberikan
hasil bahwa terdapat 7 dokumen yang terdeteksi sebagai konten palsu yaitu
4 berita berkonten palsu dan 3 berita berkonten orisinal. Dapat disebutkan
bahwa 4 berita berkonten palsu yang diambil merupakan nilai true positive
()+), 3 berita berkonten orisinal yang diambil merupakan nilai false positive
(�+), 1 berita berkonten palsu yang tidak diambil merupakan nilai false
negative (��) dan 3 berita berkonten orisinal sisanya yang tidak diambil
merupakan nilai true negative ()�). Selain Precision and Recall, dalam
perhitungan performa sistem juga diperlukan adanya perhitungan akurasi
sistem untuk memastikan seberapa akurat sistem tersebut dapat digunakan
dalam mendeteksi konten palsu pada berita. Tingkat akurasi sebuah sistem
dapat dihitung menggunakan persamaan berikut (Syafitri, 2010).
�**(A�*� � ∑ ��)*ℎ∑ )+ 7 100%
(2.
10)
Keterangan:
�**(A�*� : tingkat akurasi (%)
∑ ��)*ℎ : jumlah deteksi yang benar
∑ )+ : jumlah data yang diuji
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Jumlah deteksi benar adalah jumlah banyaknya data uji yang telah
diuji dan sesuai dengan pengelompokannya, nilai tersebut didapatkan dari
penjumlahan antara nilai true positive dan nilai true negative. Kemudian
pembaginya adalah total dari seluruh data yang digunakan dalam pengujian.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
BAB III
METODE PENELITIAN
3.1. Deskripsi Data
Data yang digunakan pada penelitian ini adalah berita dari website situs
turnbackhoax.id yang diambil dari periode Juli 2015 hingga Agustus 2020
dengan mengambil dataset dari perlombaan Satria Data 2020, data dapat di
akses melalui link pada halaman lampiran. Data tersebut merupakan data
berita palsu maupun asli yang sudah diuji kebenarannya sehingga bisa
dipertanggungjawabkan.
Data yang diperoleh dari tersebut sebanyak 4.231 berita dengan berita
asli sebanyak 766 data dan berita palsu sebanyak 3.465 data. Data pada
Gambar 3.1 berisi ID, label, tanggal, judul, narasi, nama file gambar.
Gambar 3. 1 Data
3.2. Kebutuhan Perangkat Hardware dan Software
a. Spesifikasi Hardware
i. Processor AMD A9-9420 3.00 GHz
ii. VGA Radeon R5 M420 2GB
iii. RAM 12 GB
b. Spesifikasi Software
i. Sistem Operasi Windows 10 Home Single Language
ii. PyCharm 2020.2.1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
3.3. Perancangan Sistem
Pada tahap ini, akan dirancang sebuah sistem untuk melakukan
sebuah prediksi berita palsu dengan menggunkan metode Convolution
Neural Network. Tahapan pertama adalah sistem akan membaca data berita
yang sudah memiliki label kemudian melakukan proses preprocessing untuk
membuat data teks tersebut menjadi terstruktur. Proses selanjutnya adalah
melakukan ekstrasi ciri dengan melakukan pembobotan kata dengan TF -
IDF. Setelah dilakukan ekstraksi ciri maka dilakukan proses embedding text
pada klasifikasi dengan menggunakan pendekatan Convolution Neural
Network. Hasil model dari proses klasifikasi tersebut akan diuji dengan data
uji sehingga mendapatkan hasil akurasi dengan perhitungan menggunakan
confusion matrix. Gambar 3.2 merupakan diagram perancangan sistem
Gambar 3. 2 Diagram Perancangan Sistem
3.3.1. Preprocessing
Pada tahap awal untuk melakukan proses klasifikasi dengan
menggunakan metode convolution neural network adalah
melakukan proses preprocessing terlebih dahulu. Pada tahap ini data
mentah yang berupa text berita menjadi data yang akan dimasukkan
dalam proses feature extraction, sehingga dapat diproses ke tahap
selanjutnya. Proses preprocessing (Gambar 3.3) terdapat beberapa
proses yaitu case folding, stemming, tokenizing, stopword removal,
dan punctuation removal.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Gambar 3. 3 Diagram Preprocessing
1. Case Folding
Case Folding merupakan tahapan awal dari
preprocessing yang bertujuan untuk mengubah kata – kata yang
didapat menjadi format yang sama. Pada tahap ini dilakukan
dengan mengubah kata menjadi huruf kecil. Berikut
implementasi proses case folding
Pada tahap ini setelah data berita telah dibaca, sistem
akan mengubah seluruh kalima menjadi huruf kecil.
Langkah – langkah case folding:
a. Baca pada text berita sebagai satu kesatuan dokumen
b. Dokumen yang terdiri dari huruf besar akan diubah
menjadi huruf kecil dengan fungsi lower
c. Dokumen disimpan dengan hasil seluruh huruf menjadi
huruf kecil.
Pada langkah – langkah diatas, dapat diimplementasikan
pada pemrograman python menggunakan library yang tersedia.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Tabel 3. 1 Case Folding
Sebelum Case Folding Setelah Case Folding
Irina, Istri Ahli IT
Hermansyah disebut Mantan
PSK
irina, istri ahli it hermansyah
disebut mantan psk
Nezar Patria adalah Kader
PKI, Ikut Rapat Setiap
Malam di Istana Setelah Jam
8 Malam, Demikian Tuduhan
dari Alfian Tandjung
nezar patria adalah kader
pki, ikut rapat setiap malam
di istana setelah jam 8
malam, demikian tuduhan
dari alfian tandjung
Hati -hati Panggilan Telpon
Nomor Tidak Dikenal !!
hati -hati panggilan telpon
nomor tidak dikenal !!
2. Stemming
Setelah melakukan proses case folding, hasil tersebut
masuk kedalam proses stemming. Proses stemming dilakukan
untuk mengembalikan kata menjadi kata dasar dengan cara
menghilangka awalan kata dan akhiran kata.
Langkah – langkah stemming:
a. Baca setiap kata dan bandingkan dengan kata pada
kamus dari normalisasi
b. Jika hasil kata sama dengan kamus maka sudah
termasuk kata normalisasi
c. Jika kata memiliki kata ber-imbuhan maka hapus
imbuhan kata sehingga membentuk kata dasar sesuai
dengan kamus normalisasi
Pada langkah – langkah diatas, dapat
diimplementasikan pada pemrograman python menggunakan
library yang tersedia atau dengan menggunakan library dari
Sastrawi dalam StemmerFactory.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Tabel 3. 2 Stemming
Sebelum Stemming Setelah Stemming
irina, istri ahli it hermansyah
disebut mantan psk
irina istri ahli it hermansyah
sebut mantan psk
nezar patria adalah kader pki,
ikut rapat setiap malam di
istana setelah jam 8 malam,
demikian tuduhan dari alfian
tandjung
nezar patria adalah kader pki
ikut rapat tiap malam di
istana telah jam 8 malam
demikian tuduh dari alfian
tandjung
hati -hati panggilan telpon
nomor tidak dikenal !!
hati -hati panggil telpon
nomor tidak kenal
3. Tokenizing
Tokenizing adalah proses untuk memisakan kalimat
menjadi pecahan per kata yang bertujuan untuk menghilangkan
spasi pada kalimat menjadi bentuk token. Tahap ini dilakukan
dengan melakukan split data berdasarkan spasi.
Langkah – langkah tokenizing:
a. Baca text berita sebagai satu kesatuan dokumen
b. Jika text tersebut terdapat spasi maka akan dilakukan
split data
c. Dokumen disimpan dengan hasil setiap kata terpisah
Pada langkah – langkah diatas, dapat diimplementasikan
pada pemrograman python menggunakan library yang tersedia
atau dengan menggunakan library dari nltk.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Tabel 3. 3 Tokenizing
Sebelum Tokenizing Setelah Tokenizing
irina istri ahli it hermansyah
sebut mantan psk
['irina', 'istri', 'ahli', 'it',
'hermansyah', 'sebut',
'mantan', 'psk']
nezar patria adalah kader pki
ikut rapat tiap malam di
istana telah jam 8 malam
demikian tuduh dari alfian
tandjung
['nezar', 'patria', 'adalah',
'kader', 'pki', 'ikut', 'rapat',
'tiap', 'malam', 'di', 'istana',
'telah', 'jam', '8', 'malam',
'demikian', 'tuduh', 'dari',
'alfian', 'tandjung']
hati -hati panggil telpon
nomor tidak kenal
['hati', '-hati', 'panggil',
'telpon', 'nomor', 'tidak',
'kenal']
4. Stopword Removal
Selanjutnya akan melalui proses stopword removal.
Stopword Removal adalah tahap mengambil kata-kata penting
dari hasil token dengan menggunakan algoritma stoplist
(membuang kata kurang penting) atau wordlist (menyimpan kata
penting).
Langkah- langkah Stopword Removal:
a. Baca tiap token setiap dokumen dan bandingkan dengan
kamus dalam stoplist
b. Jika hasil token sama dengan kata dalam stoplist, maka
kata tersebut dibuang
c. Jika tidak maka kata tersebut disimpan
Pada langkah – langkah diatas, dapat diimplementasikan
pada pemrograman python menggunakan library yang tersedia
atau dengan menggunakan library dari Sastrawi dalam
StopWordRemoverFactory.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Tabel 3. 4 Stopwords Removal
Sebelum Stopword Removal Setelah Stopword Removal
['irina', 'istri', 'ahli', 'it',
'hermansyah', 'sebut',
'mantan', 'psk']
['istri', 'ahli',]
['nezar', 'patria', 'adalah',
'kader', 'pki', 'ikut', 'rapat',
'tiap', 'malam', 'di', 'istana',
'telah', 'jam', '8', 'malam',
'demikian', 'tuduh', 'dari',
'alfian', 'tandjung']
['kader', 'pki', 'rapat', 'malam',
'istana', 'jam', '8', 'malam',
'tuduh',]
['hati', '-hati', 'panggil',
'telpon', 'nomor', 'tidak',
'kenal']
['hati', '-hati', 'panggil',
'nomor', 'kenal']
5. Punctuation Removal
Setelah melakukan Stopword Removal, tahapan
selanjutnya adalah menghilangkan tanda baca dan angka pada
setiap token atau disebut punctuation removal. Sama halnya
dengan proses stemming, angka dan tanda baca dalam kalimat
tidak memiliki pengaruh sehingga perlu dihapus.
Langkah – langkah Puctuation Removal:
a. Baca tiap token hasil proses stopword removal dari
setiap dokumen
b. Baca semua tanda baca dan angka pada kamus.
c. Jika dalam setiap token terdapat tanda baca dan/atau
angka, maka tanda baca dan/atau angka tersebut
dihapus.
d. Jika tidak maka kata tersebut disimpan.
Pada langkah – langkah diatas, dapat diimplementasikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
pada pemrograman python menggunakan library yang tersedia
atau dengan menggunakan library dari re dan string.
Tabel 3. 5 Punctuation Removal
Sebelum Punctuation
Removal
Setelah Punctuation
Removal
['istri', 'ahli',] ['istri', 'ahli',]
['kader', 'pki', 'rapat', 'malam',
'istana', 'jam', '8', 'malam',
'tuduh', 'kader', 'pki', 'rapat',
'malam', 'istana', 'jam',
'malam', 'tuduh']
['kader', 'pki', 'rapat', 'malam',
'istana', 'jam', 'malam',
'tuduh']
['hati', '-hati', 'panggil',
'nomor', 'kenal']
['hati', '-hati', 'panggil',
'nomor', 'kenal']
Hasil akhir dari preprocessing tersebut maka data yang
semula tidak terstruktur menjadi terstruktur
Tabel 3. 6 Setelah Preprocessing
Sebelum Preprocessing Setelah Preprocessing
Irina, Istri Ahli IT
Hermansyah disebut Mantan
PSK
['istri', 'ahli',]
Nezar Patria adalah Kader
PKI, Ikut Rapat Setiap
Malam di Istana Setelah Jam
8 Malam, Demikian Tuduhan
dari Alfian Tandjung
['kader', 'pki', 'rapat', 'malam',
'istana', 'jam', 'malam',
'tuduh']
Hati -hati Panggilan Telpon
Nomor Tidak Dikenal !!
['hati', '-hati', 'panggil',
'nomor', 'kenal']
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
3.3.2. Feature Extraction
Ektrasi ciri dari hasil preprocessing tersebut dengan
menghitung kemunculan kata dan menentukan bobot dari setiap kata
dengan menggunakan TF-IDF (Gambar 3.4)
Gambar 3. 4 Diagram Feature Extraction
1. TF-IDF
Tahap ini adalah melakukan pembobotan menggunakan
tf-idf, dimana tahap ini akan menghitung kemunculan kata unik
dalam dokumen kemudian menghitung nilai idf. Berikut adalah
implementasi dari pembobotan tf-idf.
Langkah – langkah proses pembobotan tf-idf:
a. Mencari kata unik dalam dokumen
b. Hitung nilai term frequency dengan persamaan
rumus (2.1) dari masing – masing kata
c. Hitung nilai invers document frequency dengan
persamaan rumus (2.2) dari masing – masing kata
d. Hitung bobot dari term frequency dikalikan dengan
invers document frequency dengan persamaan rumus
(2.3)
e. Ulangi langkah b sampai d untuk setiap dokumen.
Pada langkah – langkah diatas, dapat diimplementasikan
pada pemrograman python menggunakan library dari Tokenizer.
Berikut contoh proses pembobotan kata:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
a. Menghitung Term Frequency
Tabel 3. 7 Proses Perhitungan Term Frequency
D1 D2 D3 D4 D5 indonesia 1 0 0 0 0 orang 0 0 0 0 0 jokowi 0 0 0 2 0 foto 0 0 0 0 1 video 0 0 0 0 0 corona 0 0 0 0 0 virus 0 0 0 0 0 nyata 0 0 0 0 0 covid 0 2 0 0 0 laku 0 0 0 1 0 china 0 0 0 0 0 the 0 0 0 0 0 presiden 0 0 0 0 0 anak 0 0 2 0 0 jakarta 0 0 0 0 0
Gambar 3. 5 Contoh Hasil Term Frequency
Pada proses perhitungan Term Frequency ini,
perhitungan dilakukan dengan menjumlah kata unik yang
muncul pada setiap kata di dalam dokumen. Hal tersebut
bertujuan kata unik tersebut ada atau tidak ada di dalam
sebuah dokumen, jika dalam dokumen tersebut maka akan
ditambah satu dan seterusnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
b. Menghitung Invers Document Frequency
Tabel 3. 8 Proses Perhitungan Invers Docoment Frequency
D1 D2 D3 D4 D5 N ni idf indonesia 1 0 3 0 2 5 3 0.30103 orang 0 2 0 0 1 5 2 0.47712 jokowi 1 1 1 2 0 5 4 0.17609 foto 1 0 1 0 1 5 3 0.30103 video 0 2 0 4 0 5 2 0.47712 corona 0 5 0 1 1 5 3 0.30103 virus 2 0 0 2 0 5 2 0.47712 nyata 2 0 2 0 2 5 3 0.30103 covid 0 2 0 1 0 5 2 0.47712 laku 5 3 0 1 0 5 3 0.30103 china 1 0 2 1 1 5 4 0.17609 the 0 0 0 1 0 5 1 0.77815 presiden 5 2 0 2 1 5 4 0.17609 anak 1 0 2 1 0 5 3 0.30103 jakarta 0 1 0 2 3 5 3 0.30103
Gambar 3. 6 Contoh Hasil Document Frecuency
Proses invers document frequency (���), dengan
menggunakan rumus persamaan (2.2). ������adalah
perhitungan dari suatu kata yang muncul dari dokumen yang
bersangkutan dimana jumlah dokumen dalam koleksi (M)
dibagi dengan jumlah koleksi dokumen yang mengandung
term �.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
c. Menghitung Weight TF-IDF
Tabel 3. 9 Proses Perhitungan Weight TF-IDF
D1 D2 D3 D4 D5 0.30103 0 0.90309 0 0.60206
0 0.95424 0 0 0.47712 0.17609 0.17609 0.17609 0.35218 0 0.30103 0 0.30103 0 0.30103
0 0.95424 0 1.90849 0 0 1.50515 0 0.30103 0.30103
0.95424 0 0 0.95424 0 0.60206 0 0.60206 0 0.60206
0 0.95424 0 0.47712 0 1.50515 0.90309 0 0.30103 0 0.17609 0 0.35218 0.17609 0.17609
0 0 0 0.77815 0 0.88046 0.35218 0 0.35218 0.17609 0.30103 0 0.60206 0.30103 0
0 0.30103 0 0.60206 0.90309
Gambar 3. 7 Contoh Hasil Weight TF-IDF
Pada proses ini perhitungan bobot pada setiap kata
dengan menggunakan persamaan (2.3). ��,6 adalah bobot
dokumen � terhadap kata i. Sedangkan )��,6 adalah jumlah
kemunjulan term (j) dalam sebuah dokumen (i). IDF
diperoleh dari hasil perhitungan ���� dimana perhitungan
dari suatu kata yang muncul dari dokumen yang
bersangkutan. Sehingga hasil dari )��,6 dikali dengan ����
sehingga mendapatkan nilai bobot untuk TF-IDF.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
3.3.3. Klasifikasi
Setelah mendapatkan hasil dari proses feature extraction
maka tahapan selanjutnya adalah melakukan proses klasifikasi
(Gambar 3.8).
Gambar 3. 8 Diagram Klasifikasi
Langkah – langkah klasifikasi:
a. Melakukan pembagian data sebesar 70:30, dimana 70
untuk data latih sedangkan 30 untuk data uji berisi label
dan teks berita
b. Melakukan feature extraction pada data yang telah
dibagi.
c. Data latih digunakan untuk membuat model dengan
menggunakan CNN sehingga mendapatkan sebuah
model
d. Setelah mendapatkan model maka tahap selanjutnya
adalah melakukan proses klasifikasi dengan data uji
sehingga mendapatkan hasil data klasifikasi tersebut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
3.3.4. Convolution Neural Network
Metode Convolution Neural Network. Convolutional neural
network (CNN) merupakan salah satu metode deep learning yang
dapat diterapkan untuk melakukan klasifikasi dokumen teks. Pada
Gambar 3.9 merupakan diagram alur dari metode CNN.
Gambar 3. 9 Diagram Convolution Neural Network
Langkah – langkah metode CNN:
a. Membuat Embedding Word dari hasil feature extraction
b. Melakukan proses perhitungan convolution layer
sehingga mendapatkan feature map berdasarkan ukuran
filter yang ditentukan dan membentuk sebuah matriks
berukuran � 7 � 7 +
c. Jika telah selesai maka melakukan Max Pooling Layer,
yaitu mengambil nilai max dengan filter � 7 � dari setiap
feature map yang didapatkan sehingga matrix tersebut
menjadi lebih kecil dari matriks convolution
d. Setelah mendapatkan matrix max pooling, selanjutnya
reshape feature map dari matriks vektor menjadi sebuah
vektor 1 7 �
e. Vektor 1 7 � yang telah didapatkan dilakukan proses
Fully Connected Layer dengan � Layer
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
f. Hitung softmax dari hasil fully connected layer, untuk
memprediksi kelas
Pada langkah – langkah diatas, dapat diimplementasikan
pada pemrograman python menggunakan library dari Tensorflow.
Sehingga pada Gambar 3.10 merupakan modelling Convolution
Neural Network
Gambar 3. 10 Modelling Convolution Neural Network
Contoh perhitungan Convolution Neural Network:
a. Membentuk Embedding Layer
Tabel 3. 10 Contoh Representasi Word Embedding
D1 Input Embedding Embedding Layer
Indonesia 0.30103, 0, 0.90309, …, 0, 0.60206
-0.04638, 0.02711, -0.04863, 0.04224, 0.01683,... ,0.00573, 0.00087, -0.02173
orang 0, 0.95424, 0, ..., 0, 0.47712
-0.04638, 0.02711, -0.04863, 0.04224,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
0.01683,..., 0.00573, 0.00087, -0.02173
jokowi 0.17609, 0.17609, 0.17609, ..., 0.35218, 0
0.0369, 0.0112, -0.01504, -0.04817, -0.02483,..., 0.01842, 0.04409, -0.0316
… …
video 0.30103, 0, 0.30103, ..., 0, 0.30103
0.0369, 0.0112, -0.01504, -0.04817, -0.02483,..., 0.01842, 0.04409, -0.0316
corona 0, 0.95424, 0, ..., 1.90849, 0
0.0369, 0.0112, -0.01504, -0.04817, -0.02483,..., 0.01842, 0.04409, -0.0316
Pada proses ini, inisialisasi bobot pada F dan F’ adalah
random. Bobot F dan F’ merupakan matrik dengan ukuran F � c 7 d dan F’ � d 7 c. Pada proses feedforward, vektor input
akan di dot product dengan bobot F dan menghasilkan nilai pada
layer projection. Kemudian layer projection di dot product dengan
bobot F’ dan menghasilkan vektor output. Setelah mendapatkan
nilai output pada tahap feedforward, maka akan dihitung nilai eror
nya dengan menggunakan metode cross entropy yaitu Target -
Output. Selanjutnya adalah tahap backpropagation dengan
memanfaatkan teknik gradient descent yaitu dengan melakukan
update bobot F dan F’. Proses ini akan diulang kembali ke tahap
feedforward hingga tercapai nilai eror minimum.
Setelah didapatkan nilai eror minimum pada cross entropy,
maka vektor yang merepresentasikan kata tersebut diambil dari
bobot F dengan cara mengalikan dot product antara one-hot
encoded vector masing-masing kata dengan bobot F, sedangkan
bobot pada F’ akan diabaikan. Gambar 3.11 merupakan contoh
hasil dari proses repesentasi embedding layer.
vocab_size : Ukuran dari kosakata. Ini diperlukan untuk
mendefinisikan ukuran dari embedding
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
layer, yang akan memiliki bentuk
[vocabulary_size, embedding_size]
embedding_size : Dimensi dari embeddings
Weights : Bobot
input_length : Panjang input sequence
Gambar 3. 11 Hasil Representasi Word Embedding
b. Menghitung Convolution
Gambar 3. 12 Convolution Layer
Pada proses ini, embedding yang sudah didapatkan
dikalikan dengan filter W0 dan W1 dengan stride 1, sehingga
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
matriks embedding tersebut akan terpecah menjadi 2 bagian,
tahapan ini disebut dengan tahap konvolusi seperti Gambar 3.12.
Dengan parameter yang digunakan:
filters : Ukuran dimensi kata untuk proses konvulasi
kernel_size : Banyaknya jendela konvolusi 1D.
activation : Fungsi Aktivasi (relu, sigmoid, softmax, softplus,
softsign, selu, elu, exponential)
c. Menghitung Max Pooling
Gambar 3. 13 Max Pooling Layer
Proses ini adalah mengurangi dimensi dari feature map
dengan mencari nilai maximal dari feature map tersebut. Pada
contoh diatas digunakan filter berukuran 2 x 2 dan dilakukan
pergeseran sebanyak 1 kali sehingga ukuran matriks berukuran
4 x 5 menjadi 3 x 4. Gambar 3.13 merupakan contoh dari max
pooling layer
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
d. Flatten Layer
Gambar 3. 14 Flatten Layer
Pada proses ini, yaitu reshape feature map menjadi
sebuah vektor, matriks berukuran 3 7 4 7 2 tersebut akan
dibentuk menjadi 1 7 24. Hal ini dilakukan agar bisa gunakan
sebagai input dari fully connected layer. Gambar 3.14
merupakan contoh dari flatten layer.
e. Fully Connected Layer
Fully Connected Layer adalah sebuah lapisan dimana
semua neuron aktivasi dari lapisan sebelumnya terhubung semua
dengan neuron di lapisan selanjutnya sama seperti halnya
dengan neural network pada umumnya. Dengan parameter yang
digunakan
units : Jumlah neuron
activation : Fungsi aktivasi (relu, sigmoid, softmax,
softplus, softsign, selu, elu, exponential)
Setelah membangun model Convolution Neural
Network, saatnya melakukan kompilasi. Dengan parameter yang
digunakan:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
optimizer : optimisasi dengan algoritma (SGD, RMSprop,
Adam, Adadelta, Adagrad, Adamax, Nadam, Ftrl)
loss : menghitung kuantitas yang harus diminimalkan
(binary_crossentropy, categorical_crossentropy,
sparse_categorical_crossentropy)
metrics : Daftar metrics yang akan dievaluasi oleh model
selama pelatihan dan pengujian. (accuracy,
probabilistic, classification, image segmentation,
hinge)
Selanjutnya melakukan pelatihan model atau fitting
model, dengan parameter yang digunakan:
epochs : Jumlah iterasi dalam melakukan pelatihan
model
validation_data : Data untuk mengevaluasi loss dan metrics
model di akhir setiap epoch.
3.3.5. Pengukuran Performa
Tahap ini penghitungan akurasi adalah hasil yang diprediksi
oleh sistem akan dibandingkan dengan label aktual dari setiap berita.
Kecocokan dari setiap label berita akan mempengaruhi hasil dari
sistem. Setelah perhitungan Convolution Neural Network dilakukan
maka pengujian akurasi dilakukan untuk mengetahui keakuratan
dasil klasifikasi. Pada pengujian akurasi dilakukan dengan
menggunakan Confusion Matrix. Confusion Matrix (Gambar 3.15)
digunakan untuk mengetahui seberapa besar keberhasilan sistem
dalam melakukan klasifikasi. Confusion matrix mempermudah
perhitungan akurasi dalam melihat suatu permodelan antara label
aktual dari berita dan prediksi dari sistem seperti pada Gambar 3.16.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
Gambar 3. 15 Diagram Confusion Matrix
Berikut langkah – langkah uji akurasi:
a. Baca label aktual dari setiap berita
b. Baca label berita hasil dari prediksi sistem
c. Bandingkan menggunakan tabel confusion matriks.
d. Hitung akurasi dengan cara membagi berita benar dibagi
dengan seluruh data dikalikan dengan 100%.
Menghitung akurasi menggunakan persamaan rumus
(2.8)
Pada langkah – langkah diatas, dapat diimplementasikan
pada pemrograman python menggunakan fungsi confusion_matrix
dalam library metrics di sklearn.
Contoh perhitungan pengukuran performa:
Tabel 3. 11 Contoh Hasil Prediksi Berita
Document Prediksi Aktual
Document 1 1 1
Document 2 0 0
Document 3 1 1
Document 4 0 1
Document 5 0 0
T'��(@�'� ��)A�� � 45 7 100% � 80%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
Gambar 3. 16 Confusion Matrix
3.3.6. Prediksi
Proses prediksi tersebut dapat dilakukan setelah proses
klasifikasi telah dilakukan sehingga mendapatkan sebuah array
akhir hasil dari perhitungan klasifikasi CNN tersebut. Pada Gambar
3.17 merupakan diagram bagaimana proses prediksi dilakukan
dengan model yang tersedia dengan data baru.
Gambar 3. 17 Diagram Prediksi
Langkah – langkah prediksi:
a. Ambil data berita baru yang belum ada dalam data
pengujian
b. Data dilakukan proses preprocessing, sehingga data
tidak tersturktur menjadi data terstruktur.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
c. Masukkan data terstruktur kedalam model CNN
d. Mendapatkan hasil prediksi
Pada langkah – langkah diatas, dapat diimplementasikan
pada pemrograman python menggunakan fungsi Conv1D dalam
library keras di tensorflow.
3.4. Cara Pengujian
Pada tahap pengujian, dilakukan analisis dari hasil luaran sistem yang
telah dibuat. Tujuannya untuk menjawab rumusan masalah yang telah
dipaparkan dibab sebelumnya. Pada tahap ini data dilakukan preprocessing
terlebih dahulu agar data yang tidak terstruktur menjadi terstruktur.
Selanjutnya data yang sudah terstruktur tersebut dilakukan split data dengan
perbandingan 70:30, dimana 70% untuk data training dan 30% untuk data
testing. Setelah dilakukan split data, maka selanjutnya menghitung term
frequency dan invers document frequency. Hasil dari ekstraksi ciri tersebut
akan dilakukan evaluasi dengan pendekatan Convolution Neural Network,
dimana dilakukan beberapa percobaan yaitu membuat variasi percobaan
dengan mengganti jumlah layer Conv1D dan jumlah filter yang digunakan,
lalu jumlah hidden layer pada fully connected layer dan jumlah neuron yang
digunakan. Sedangkan untuk fungsi aktivasi yang digunakan dalam fully
connected layer adalah ReLu sedangkan untuk softmax classifier
menggunakan fungsi aktivasi sigmoid. Sehingga dari model yang telah
dibuat lalu dilakukan proses kompilasi model dengan parameter yang
digunakan adalah untuk optimizer menggunakan adam, loss menggunakan
binary_crossentropy dan metrics menggunakan accuracy. Pada proses
evaluasi model tersebut parameter yang digunakan adalah epoch
menggunakan 5 iterasi, dan dilakukan validasi data dengan data uji. Setelah
mendapatkan hasil akurasi yang optimal maka model yang telah dibuat
dengan implementasi algoritma Convolution Neural Network dapat
digunakan untuk melakukan prediksi berita tersebut palsu atau asli.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
3.5. Desain User Interface
Gambar 3. 18 Desain GUI
3.5.1. Input GUI
1. Memasukkan isi salah satu berita baru kedalam text field yang di
sediakan
2. Menekan tombol Prediksi untuk melakukan proses prediksi
3.5.2. Output GUI
1. Hasil keluaran dari prediksi tersebut adalah Asli atau Palsu di
dalam text field Hasil
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
BAB IV
HASIL DAN ANALISIS
Bab ini akan membahas hasil implementasi dari sistem yang telah dibuat
serta menganalisis hasil pengujian yang telah dilakukan.
4.1. Data
Data yang digunakan pada penelitian ini adalah berita dari website situs
turnbackhoax.id yang diambil dari periode Juli 2015 hingga Agustus 2020
dengan mengambil dataset dari perlombaan Satria Data 2020, data dapat di
akses melalui link pada halaman lampiran. Data tersebut merupakan data
berita palsu maupun asli yang sudah diuji kebenarannya sehingga bisa
dipertanggungjawabkan. Data yang diperoleh dari tersebut sebanyak 4.231
berita dengan berita asli sebanyak 766 data dan berita palsu sebanyak 3.465
data. Data tersebut berisi ID, label, tanggal, judul, narasi, nama file gambar.
Data yang akan digunakan adalah label dan judul + narasi. Data pada
judul akan disatukan dengan narasi sehingga hal tersebut dapat menjadi
tambahan agar sistem dapat membaca data dengan baik. Sedangkan ID,
tanggal, dan nama file gambar tidak digunakan karena data tersebut tidak
diperlukan dalam penelitian ini. Bahasa yang digunakan dalam penelitian
ini adalah dengan menggunakan Bahasa Python.
Proses pada python untuk membaca data adalah dengan import library
pandas terlebih dahulu, selanjutnya adalah membaca file dari folder data
dengan mengambil file data.csv. Selanjutnya, isi pada judul dan narasi
dijadikan satu sehingga bisa dilihat pada pada tabel 4.1 untuk isi dari judul
dan narasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
Tabel 4. 1 Contoh Data
Label Judul + Narasi
1
Pemakaian Masker Menyebabkan Penyakit Legionnaires A caller to a radio talk show recently shared that his wife was hospitalized n told she had COVID n only a couple of days left to live . A doctor friend suggested she be tested for legionnaires disease because she wore the same mask every day all day long . Turns out it WAS legionnaires disease from the moisture n bacteria in her mask . She was given antibiotics n within two days was better . WHAT IF these ‘spikes’ in COVID are really something else due to ‘mask induced infections’ .????????
1
Instruksi Gubernur Jateng tentang penilangan bagi yg tidak bermasker di muka umum Rp.150.000 menggunakan e-tilang Via apps PIKOBAR Yth.Seluruh Anggota Grup Sesuai Instruksi Gubernur Jawa Tengah Hasil Rapat Tim Gugus Tugas Covid 19 Jateng sbb:
1 Foto Jim Rohn: Jokowi adalah presiden terbaik dlm sejarah bangsa Indonesia Jokowi adalah presiden terbaik dlm sejarah bangsa Indonesia. Jim Rohn, motivator terbaik dunia
1
ini bukan politik, tapi kenyataan Pak Jokowi berhasil memulangkan 11,000 Triliun uang negara dari Swiss. Maaf Mas2 dan Mbak2, ini bukan politik, tapi kenyataan Pak Jokowi berhasil memulangkan 11,000 Triliun uang negara dari Swiss. 11ribu Triliun siap di bawa balik ke Indonesia.RUU Treaty on Mutual Legal Assistance in Criminal Matters between the Republic of Indonesia and The Swiss Confederation (MLA RI-Swiss) resmi disahkan DPR RI tanggal 3 juli 2020. Dengan demikian proses konstitusi menarik dana di Swiss sudah selesai. Perjuangan yang panjang menghadapi ex koruptor yang bersenggama dengan agama. Terimakasih para kadrun yang terus nyinyirian kapan uang 11.000 triliun kembali ke Indonesia. Tanpa anda nyinyir, rasanya sulit RUU itu bisa disahkan oleh DPR. Pemilik 84 rekening gendut siap siap gigit jari . Mungkin tekanan ke Pak Jokowi makin kencang. ini baca beritanya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
4.2. Implementasi Preprocessing
4.2.1. Case Folding
Dataset akan dilakukan proses case folding dengan tujuan
untuk membuat semua huruf menjadi kecil
Pada proses di dalam python untuk membuat teks menjadi
lower case dengan menggunakan function lower() sehingga hasil
dari proses ini dapat dilihat pada tabel 4.2 dimana tulisan yang
berawal terdapat huruf kapital akan di ubah menjadi huruf kecil.
Tabel 4. 2 Case Folding
Sebelum Case Folding Setelah Case Folding Pemakaian Masker Menyebabkan Penyakit Legionnaires A caller to a radio talk show recently shared that his wife was hospitalized n told she had COVID n only a couple of days left to live . A doctor friend suggested she be tested for legionnaires disease because she wore the same mask every day all day long . Turns out it WAS legionnaires disease from the moisture n bacteria in her mask . She was given antibiotics n within two days was better . WHAT IF these ‘spikes’ in COVID are really something else due to ‘mask induced infections’ .????????
pemakaian masker menyebabkan penyakit legionnaires a caller to a radio talk show recently shared that his wife was hospitalized n told she had covid n only a couple of days left to live . a doctor friend suggested she be tested for legionnaires disease because she wore the same mask every day all day long . turns out it was legionnaires disease from the moisture n bacteria in her mask . she was given antibiotics n within two days was better . what if these â‘spikesâ’ in covid are really something else due to â‘mask induced infectionsâ’ .????????
Instruksi Gubernur Jateng tentang penilangan bagi yg tidak bermasker di muka umum Rp.150.000 menggunakan e-tilang Via apps PIKOBAR Yth.Seluruh Anggota Grup Sesuai Instruksi Gubernur Jawa Tengah Hasil Rapat Tim Gugus Tugas Covid 19 Jateng sbb:
instruksi gubernur jateng tentang penilangan bagi yg tidak bermasker di muka umum rp.150.000 menggunakan e-tilang via apps pikobar yth.seluruh anggota grup sesuai instruksi gubernur jawa tengah hasil rapat tim gugus tugas covid 19 jateng sbb:
Foto Jim Rohn: Jokowi adalah presiden terbaik dlm sejarah bangsa Indonesia Jokowi adalah presiden terbaik dlm
foto jim rohn: jokowi adalah presiden terbaik dlm sejarah bangsa indonesia jokowi adalah presiden terbaik dlm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
sejarah bangsa Indonesia. Jim Rohn, motivator terbaik dunia
sejarah bangsa indonesia. jim rohn, motivator terbaik dunia
ini bukan politik, tapi kenyataan Pak Jokowi berhasil memulangkan 11,000 Triliun uang negara dari Swiss. Maaf Mas2 dan Mbak2, ini bukan politik, tapi kenyataan Pak Jokowi berhasil memulangkan 11,000 Triliun uang negara dari Swiss. 11ribu Triliun siap di bawa balik ke Indonesia.RUU Treaty on Mutual Legal Assistance in Criminal Matters between the Republic of Indonesia and The Swiss Confederation (MLA RI-Swiss) resmi disahkan DPR RI tanggal 3 juli 2020. Dengan demikian proses konstitusi menarik dana di Swiss sudah selesai. Perjuangan yang panjang menghadapi ex koruptor yang bersenggama dengan agama. Terimakasih para kadrun yang terus nyinyirian kapan uang 11.000 triliun kembali ke Indonesia. Tanpa anda nyinyir, rasanya sulit RUU itu bisa disahkan oleh DPR. Pemilik 84 rekening gendut siap siap gigit jari . Mungkin tekanan ke Pak Jokowi makin kencang. ini baca beritanya
ini bukan politik, tapi kenyataan pak jokowi berhasil memulangkan 11,000 triliun uang negara dari swiss. maaf mas2 dan mbak2, ini bukan politik, tapi kenyataan pak jokowi berhasil memulangkan 11,000 triliun uang negara dari swiss. 11ribu triliun siap di bawa balik ke indonesia.ruu treaty on mutual legal assistance in criminal matters between the republic of indonesia and the swiss confederation (mla ri-swiss) resmi disahkan dpr ri tanggal 3 juli 2020. dengan demikian proses konstitusi menarik dana di swiss sudah selesai. perjuangan yang panjang menghadapi ex koruptor yang bersenggama dengan agama. terimakasih para kadrun yang terus nyinyirian kapan uang 11.000 triliun kembali ke indonesia. tanpa anda nyinyir, rasanya sulit ruu itu bisa disahkan oleh dpr. pemilik 84 rekening gendut siap siap gigit jari . mungkin tekanan ke pak jokowi makin kencang. ini baca beritanya
4.2.2. Stemming
Setelah dataset telah melakukan proses case folding maka
lanjut ke tahapan selanjutnya. Data dilakukan proses stemming
untuk mengembalikan kata menjadi kata dasar yaitu dengan cara
menghilangkan semua imbuhan yang terdiri dari awalan, sisipan,
akhiran dan kombinasi awalan dan akhiran.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
Pada proses di dalam python untuk mengembalikan kata
menjadi kata dasar yaitu pertama import library dari Sastrawi,
selanjutnya adalah mendefinisikan kamus dari StemmerFactory dan
membuat kamus dengan create_stemmer. Sehingga hasil dari
stemming ini dapat dilihat pada tabel 4.3 dimana kata berimbuhan
akan diubah menjadi kata dasar.
Tabel 4. 3 Stemming
Sebelum Stemming Setelah Stemming pemakaian masker menyebabkan penyakit legionnaires a caller to a radio talk show recently shared that his wife was hospitalized n told she had covid n only a couple of days left to live . a doctor friend suggested she be tested for legionnaires disease because she wore the same mask every day all day long . turns out it was legionnaires disease from the moisture n bacteria in her mask . she was given antibiotics n within two days was better . what if these â‘spikesâ’ in covid are really something else due to â‘mask induced infectionsâ’ .????????
pakai masker sebab sakit legionnaires a caller to a radio talk show recently shared that his wife was hospitalized n told she had covid n only a couple of days left to live a doctor friend suggested she be tested for legionnaires disease because she wore the same mask every day all day long turns out it was legionnaires disease from the moisture n bacteria in her mask she was given antibiotics n within two days was better what if these spikes in covid are really something else due to mask induced infections
instruksi gubernur jateng tentang penilangan bagi yg tidak bermasker di muka umum rp.150.000 menggunakan e-tilang via apps pikobar yth.seluruh anggota grup sesuai instruksi gubernur jawa tengah hasil rapat tim gugus tugas covid 19 jateng sbb:
instruksi gubernur jateng tentang tilang bagi yg tidak masker di muka umum rp 150 000 guna e-tilang via apps pikobar yth seluruh anggota grup sesuai instruksi gubernur jawa tengah hasil rapat tim gugus tugas covid 19 jateng sbb
foto jim rohn: jokowi adalah presiden terbaik dlm sejarah bangsa indonesia jokowi adalah presiden terbaik dlm sejarah bangsa indonesia. jim rohn, motivator terbaik dunia
foto jim rohn jokowi adalah presiden baik dlm sejarah bangsa indonesia jokowi adalah presiden baik dlm sejarah bangsa indonesia jim rohn motivator baik dunia
ini bukan politik, tapi kenyataan pak jokowi berhasil memulangkan 11,000 triliun uang negara dari swiss. maaf mas2 dan mbak2, ini bukan politik, tapi kenyataan pak jokowi berhasil memulangkan 11,000 triliun uang negara dari swiss. 11ribu triliun siap di bawa
ini bukan politik tapi nyata pak jokowi hasil pulang 11 000 triliun uang negara dari swiss maaf mas2 dan mbak2 ini bukan politik tapi nyata pak jokowi hasil pulang 11 000 triliun uang negara dari swiss 11ribu triliun siap di bawa balik ke indonesia
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
balik ke indonesia.ruu treaty on mutual legal assistance in criminal matters between the republic of indonesia and the swiss confederation (mla ri-swiss) resmi disahkan dpr ri tanggal 3 juli 2020. dengan demikian proses konstitusi menarik dana di swiss sudah selesai. perjuangan yang panjang menghadapi ex koruptor yang bersenggama dengan agama. terimakasih para kadrun yang terus nyinyirian kapan uang 11.000 triliun kembali ke indonesia. tanpa anda nyinyir, rasanya sulit ruu itu bisa disahkan oleh dpr. pemilik 84 rekening gendut siap siap gigit jari . mungkin tekanan ke pak jokowi makin kencang. ini baca beritanya
ruu treaty on mutual legal assistance in criminal matters between the republic of indonesia and the swiss confederation mla ri-swiss resmi sah dpr ri tanggal 3 juli 2020 dengan demikian proses konstitusi tarik dana di swiss sudah selesai juang yang panjang hadap ex koruptor yang bersenggama dengan agama terimakasih para kadrun yang terus nyinyirian kapan uang 11 000 triliun kembali ke indonesia tanpa anda nyinyir rasa sulit ruu itu bisa sah oleh dpr milik 84 rekening gendut siap siap gigit jari mungkin tekan ke pak jokowi makin kencang ini baca berita
4.2.3. Tokenizing
Data yang telah dilakukan proses stemming akan dilakukan
proses tokenization atau memecah dokumen menjadi bentuk per
kata.
Pada proses di pyton untuk memecah dokumen menjadi per
kata dengan menggunakan function split, dimana split ini
berdasarkan spasi. Sebagai contoh dapat dilihat pada tabel 4.4 untuk
proses tokenizing.
Tabel 4. 4 Tokenizing
Sebelum Tokenizing Setelah Tokenizing pakai masker sebab sakit legionnaires a caller to a radio talk show recently shared that his wife was hospitalized n told she had covid n only a couple of days left to live a doctor friend suggested she be tested for legionnaires disease because she wore the same
['Pemakaian', 'Masker', 'Menyebabkan', 'Penyakit', 'LegionnairesA', 'caller', 'to', 'a', 'radio', 'talk', 'show', 'recently', 'shared', 'that', 'his', 'wife', 'was', 'hospitalized', 'n', 'told', 'she', 'had', 'COVID', 'n', 'only', 'a', 'couple', 'of', 'days', 'left', 'to', 'live', '.', 'A', 'doctor',
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
mask every day all day long turns out it was legionnaires disease from the moisture n bacteria in her mask she was given antibiotics n within two days was better what if these spikes in covid are really something else due to mask induced infections
'friend', 'suggested', 'she', 'be', 'tested', 'for', 'legionnaires', 'disease', 'because', 'she', 'wore', 'the', 'same', 'mask', 'every', 'day', 'all', 'day', 'long', '.', 'Turns', 'out', 'it', 'WAS', 'legionnaires', 'disease', 'from', 'the', 'moisture', 'n', 'bacteria', 'in', 'her', 'mask', '.', 'She', 'was', 'given', 'antibiotics', 'n', 'within', 'two', 'days', 'was', 'better', '.', 'WHAT', 'IF', 'these', '\x91spikes\x92', 'in', 'COVID', 'are', 'really', 'something', 'else', 'due', 'to', '\x91mask', 'induced', 'infections\x92', '.????????']
instruksi gubernur jateng tentang tilang bagi yg tidak masker di muka umum rp 150 000 guna e-tilang via apps pikobar yth seluruh anggota grup sesuai instruksi gubernur jawa tengah hasil rapat tim gugus tugas covid 19 jateng sbb
['Instruksi', 'Gubernur', 'Jateng', 'tentang', 'penilangan', '', 'bagi', 'yg', 'tidak', 'bermasker', 'di', 'muka', 'umum', 'Rp.150.000', 'menggunakan', 'e-tilang', 'Via', 'apps', 'PIKOBARYth.Seluruh', 'Anggota', 'Grup', 'Sesuai', 'Instruksi', 'Gubernur', 'Jawa', 'Tengah', 'Hasil', 'Rapat', 'Tim', 'Gugus', 'Tugas', 'Covid', '19', 'Jateng', 'sbb:']
foto jim rohn jokowi adalah presiden baik dlm sejarah bangsa indonesia jokowi adalah presiden baik dlm sejarah bangsa indonesia jim rohn motivator baik dunia
['Foto', 'Jim', 'Rohn:', 'Jokowi', 'adalah', 'presiden', 'terbaik', 'dlm', 'sejarah', 'bangsa', 'IndonesiaJokowi', 'adalah', 'presiden', 'terbaik', 'dlm', 'sejarah', 'bangsa', 'Indonesia.', 'Jim', 'Rohn,', 'motivator', 'terbaik', 'dunia']
ini bukan politik tapi nyata pak jokowi hasil pulang 11 000 triliun uang negara dari swiss maaf mas2 dan mbak2 ini bukan politik tapi nyata pak jokowi hasil pulang 11 000 triliun uang negara dari swiss 11ribu triliun siap di bawa balik ke indonesia ruu treaty on mutual legal assistance in criminal matters between the republic of indonesia and the swiss confederation mla ri-swiss resmi sah dpr ri tanggal 3 juli 2020 dengan demikian proses konstitusi tarik dana di swiss sudah selesai juang yang panjang hadap ex koruptor yang bersenggama dengan agama terimakasih para kadrun yang terus nyinyirian kapan uang 11 000 triliun kembali ke indonesia tanpa anda
['ini', 'bukan', 'politik,', 'tapi', 'kenyataan', 'Pak', 'Jokowi', 'berhasil', 'memulangkan', '11,000', 'Triliun', 'uang', 'negara', 'dari', 'Swiss.Maaf', 'Mas2', 'dan', 'Mbak2,', 'ini', 'bukan', 'politik,', 'tapi', 'kenyataan', 'Pak', 'Jokowi', 'berhasil', 'memulangkan', '11,000', 'Triliun', 'uang', 'negara', 'dari', 'Swiss.', '11ribu', 'Triliun', 'siap', 'di', 'bawa', 'balik', 'ke', 'Indonesia.RUU', 'Treaty', 'on', 'Mutual', 'Legal', 'Assistance', 'in', 'Criminal', 'Matters', 'between', 'the', 'Republic', 'of', 'Indonesia', 'and', 'The', 'Swiss', 'Confederation', '(MLA', 'RI-Swiss)', 'resmi', 'disahkan', 'DPR', 'RI', 'tanggal', '3', 'juli', '2020.', 'Dengan', 'demikian', 'proses', 'konstitusi', 'menarik', 'dana',
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
nyinyir rasa sulit ruu itu bisa sah oleh dpr milik 84 rekening gendut siap siap gigit jari mungkin tekan ke pak jokowi makin kencang ini baca berita
'di', 'Swiss', 'sudah', 'selesai.', 'Perjuangan', 'yang', 'panjang', 'menghadapi', 'ex', 'koruptor', 'yang', 'bersenggama', 'dengan', 'agama.', 'Terimakasih', 'para', 'kadrun', 'yang', 'terus', 'nyinyirian', 'kapan', 'uang', '11.000', 'triliun', 'kembali', 'ke', 'Indonesia.', 'Tanpa', 'anda', 'nyinyir,', 'rasanya', 'sulit', 'RUU', 'itu', 'bisa', 'disahkan', 'oleh', 'DPR.', 'Pemilik', '84', 'rekening', 'gendut', 'siap', 'siap', 'gigit', 'jari', '.', 'Mungkin', 'tekanan', 'ke', 'Pak', 'Jokowi', 'makin', 'kencang.', 'ini', 'baca', 'beritanya']
4.2.4. Stopwords Removal
Setelah melakukan proses tokenization dilakukan proses
stopwords removal yaitu menghilangkan kata – kata umum yang
sering digunakan dalam sebuah teks dan biasanya tidak berguna jika
digunakan untuk tujuan pencarian.
stopword = pd.read_csv('data/stopwords.csv',
encoding='latin')
listStopwords = set(list(stopword.Stopwords))
shortlisted_words = []
# remove stop words
for w in words:
if w not in listStopwords:
shortlisted_words.append(w)
print('Stopword: ', shortlisted_words)
Pada proses di python untuk melakukan proses stopword
removal yaitu dengan cara membaca file stopword.csv. Selanjutnya
yaitu melakukan membuat list untuk dijadikan stopword. Lalu
dilakukan perulangan sebanyak panjang dari satu dokumen, jika
kata dalam dokumen tidak sama dengan stopword maka kata
tersebut disimpan jika sama maka kata tersebut tidak disimpan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
Sebagai contoh dapat dilihat pada tabel 4.5 untuk proses stopword
removal.
Tabel 4. 5 Stopwords Removal
Sebelum Stopword Setelah Stopword ['Pemakaian', 'Masker', 'Menyebabkan', 'Penyakit', 'LegionnairesA', 'caller', 'to', 'a', 'radio', 'talk', 'show', 'recently', 'shared', 'that', 'his', 'wife', 'was', 'hospitalized', 'n', 'told', 'she', 'had', 'COVID', 'n', 'only', 'a', 'couple', 'of', 'days', 'left', 'to', 'live', '.', 'A', 'doctor', 'friend', 'suggested', 'she', 'be', 'tested', 'for', 'legionnaires', 'disease', 'because', 'she', 'wore', 'the', 'same', 'mask', 'every', 'day', 'all', 'day', 'long', '.', 'Turns', 'out', 'it', 'WAS', 'legionnaires', 'disease', 'from', 'the', 'moisture', 'n', 'bacteria', 'in', 'her', 'mask', '.', 'She', 'was', 'given', 'antibiotics', 'n', 'within', 'two', 'days', 'was', 'better', '.', 'WHAT', 'IF', 'these', '\x91spikes\x92', 'in', 'COVID', 'are', 'really', 'something', 'else', 'due', 'to', '\x91mask', 'induced', 'infections\x92', '.????????']
['pakai', 'masker', 'sakit', 'covid',]
['Instruksi', 'Gubernur', 'Jateng', 'tentang', 'penilangan', '', 'bagi', 'yg', 'tidak', 'bermasker', 'di', 'muka', 'umum', 'Rp.150.000', 'menggunakan', 'e-tilang', 'Via', 'apps', 'PIKOBARYth.Seluruh', 'Anggota', 'Grup', 'Sesuai', 'Instruksi', 'Gubernur', 'Jawa', 'Tengah', 'Hasil', 'Rapat', 'Tim', 'Gugus', 'Tugas', 'Covid', '19', 'Jateng', 'sbb:']
['instruksi', 'gubernur', 'jateng', 'tilang', 'masker', 'muka', '150', '000', 'tilang', 'anggota', 'grup', 'instruksi', 'gubernur', 'jawa', 'rapat', 'tim', 'tugas', 'covid', '19', 'jateng']
['Foto', 'Jim', 'Rohn:', 'Jokowi', 'adalah', 'presiden', 'terbaik', 'dlm', 'sejarah', 'bangsa', 'IndonesiaJokowi', 'adalah', 'presiden', 'terbaik', 'dlm', 'sejarah', 'bangsa', 'Indonesia.', 'Jim', 'Rohn,', 'motivator', 'terbaik', 'dunia']
['foto', 'jokowi', 'presiden', 'sejarah', 'bangsa', 'indonesia', 'jokowi', 'presiden', 'sejarah', 'bangsa', 'indonesia', 'dunia']
['ini', 'bukan', 'politik,', 'tapi', 'kenyataan', 'Pak', 'Jokowi', 'berhasil', 'memulangkan', '11,000', 'Triliun', 'uang', 'negara', 'dari', 'Swiss.Maaf', 'Mas2', 'dan', 'Mbak2,', 'ini', 'bukan',
['politik', 'nyata', 'jokowi', 'pulang', '11', '000', 'triliun', 'uang', 'negara', 'politik', 'nyata', 'jokowi', 'pulang', '11', '000', 'triliun', 'uang', 'negara', 'triliun', 'bawa', 'indonesia', 'indonesia', 'resmi', 'dpr',
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
'politik,', 'tapi', 'kenyataan', 'Pak', 'Jokowi', 'berhasil', 'memulangkan', '11,000', 'Triliun', 'uang', 'negara', 'dari', 'Swiss.', '11ribu', 'Triliun', 'siap', 'di', 'bawa', 'balik', 'ke', 'Indonesia.RUU', 'Treaty', 'on', 'Mutual', 'Legal', 'Assistance', 'in', 'Criminal', 'Matters', 'between', 'the', 'Republic', 'of', 'Indonesia', 'and', 'The', 'Swiss', 'Confederation', '(MLA', 'RI-Swiss)', 'resmi', 'disahkan', 'DPR', 'RI', 'tanggal', '3', 'juli', '2020.', 'Dengan', 'demikian', 'proses', 'konstitusi', 'menarik', 'dana', 'di', 'Swiss', 'sudah', 'selesai.', 'Perjuangan', 'yang', 'panjang', 'menghadapi', 'ex', 'koruptor', 'yang', 'bersenggama', 'dengan', 'agama.', 'Terimakasih', 'para', 'kadrun', 'yang', 'terus', 'nyinyirian', 'kapan', 'uang', '11.000', 'triliun', 'kembali', 'ke', 'Indonesia.', 'Tanpa', 'anda', 'nyinyir,', 'rasanya', 'sulit', 'RUU', 'itu', 'bisa', 'disahkan', 'oleh', 'DPR.', 'Pemilik', '84', 'rekening', 'gendut', 'siap', 'siap', 'gigit', 'jari', '.', 'Mungkin', 'tekanan', 'ke', 'Pak', 'Jokowi', 'makin', 'kencang.', 'ini', 'baca', 'beritanya']
'juli', 'tarik', 'dana', 'selesai', 'juang', 'hadap', 'koruptor', 'agama', 'uang', 'triliun', 'indonesia', 'sulit', 'dpr', 'rekening', 'jari', 'tekan', 'jokowi', 'baca', 'berita']
4.2.5. Punctuation Removal
Setelah dilakukan proses penghilangan kata dengan
stopword maka tahapan selanjutnya yaitu menghilangkan tanda
baca, angka, dan symbol pada dokumen
def punctuation_removal(text):
text = re.sub(r'([' + ''.
join(map(re.escape,
character))
+ r'])(?=\S)', r'\1 ', text)
text = re.sub(r'(\S)([' + ''.
join(map(re.escape,
character))
+ r'])', r'\1 \2', text)
# remove html markup
text = re.sub(r"\s—\s", "", text)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
text = re.sub(r"http\S+", "", text)
text = re.sub("(<.*?>)", "", text)
# remove non-ascii and digits
text = re.sub("(\\W|\\d)", " ", text)
# remove whitespace
text = text.strip()
return text
# Punctuation Removal
cleaned_words = [punctuation_removal(w) for w
in shortlisted_words]
print('Punctuation: ', cleaned_words)
Pada proses di python untuk melakukan proses punctuation
removal ini, yaitu mengimport library re, lalu mendefinisikan untuk
menghilangkan tanda baca, markup html dan angka, serta
mnghilangkan nilai kosong. Sehingga pada tabel 4.6 merupakan
hasil dari punctuation removal.
Tabel 4. 6 Punctuation Removal
Sebelum Punctuation Removal Setelah Punctuation Removal ['pakai', 'masker', 'sakit', 'covid',] ['pakai', 'masker', 'sakit', 'covid',]
['instruksi', 'gubernur', 'jateng', 'tilang',
'masker', 'muka', '150', '000', 'tilang',
'anggota', 'grup', 'instruksi', 'gubernur',
'jawa', 'rapat', 'tim', 'tugas', 'covid', '19',
'jateng']
['instruksi', 'gubernur', 'jateng', 'tilang',
'masker', 'muka', 'tilang', 'anggota',
'grup', 'instruksi', 'gubernur', 'jawa',
'rapat', 'tim', 'tugas', 'covid', 'jateng']
['foto', 'jokowi', 'presiden', 'sejarah',
'bangsa', 'indonesia', 'jokowi',
'presiden', 'sejarah', 'bangsa',
'indonesia', 'dunia']
['foto', 'jokowi', 'presiden', 'sejarah',
'bangsa', 'indonesia', 'jokowi',
'presiden', 'sejarah', 'bangsa',
'indonesia', 'dunia']
['politik', 'nyata', 'jokowi', 'pulang', '11',
'000', 'triliun', 'uang', 'negara', 'politik',
'nyata', 'jokowi', 'pulang', '11', '000',
'triliun', 'uang', 'negara', 'triliun', 'bawa',
'indonesia', 'indonesia', 'resmi', 'dpr',
'juli', 'tarik', 'dana', 'selesai', 'juang',
'hadap', 'koruptor', 'agama', 'uang',
['politik', 'nyata', 'jokowi', 'pulang',
'triliun', 'uang', 'negara', 'politik',
'nyata', 'jokowi', 'pulang', 'triliun',
'uang', 'negara', 'triliun', 'bawa',
'indonesia', 'indonesia', 'resmi', 'dpr',
'juli', 'tarik', 'dana', 'selesai', 'juang',
'hadap', 'koruptor', 'agama', 'uang',
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
'triliun', 'indonesia', 'sulit', 'dpr',
'rekening', 'jari', 'tekan', 'jokowi', 'baca',
'berita']
'triliun', 'indonesia', 'sulit', 'dpr',
'rekening', 'jari', 'tekan', 'jokowi', 'baca',
'berita']
4.3. Implementasi Pembagian Data
Setelah melakukan preprocessing dilakukan pembagian data dengan
membagi menjadi 2 data, yaitu data training dan data testing. Dalam proses
pembagian data tersebut dalam data training dan testing dilakukan
pembagian data dengan perbandingan 70:30 atau 70% merupakan data
training dan 30% data testing. Dalam proses pembagian tersebut dilakukan
proses pengacakan data agar mendapatkan data yang bervariasi.
sentences_train, sentences_test, y_train, y_test = \
train_test_split(df.narasi, df.label,
test_size=0.3, random_state=100)
Parameter yang digunakan dalam proses pembagian data adalah:
test_size : 0.3
random_state : 100
Keterangan:
test_size : Perbandingan pembagian data training dan data
testing
random_state : Banyaknya penacakan data yang dilakukan
.�)� kA�����, � 70100 7 4231 � 2961 .�)� kB@)��, � 30
100 7 4231 � 1270
Data Training : 2961
Data Testing : 1270 +
Total : 4231
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
4.4. Implementasi Feature Extraction
4.4.1. TF - IDF
Setelah melakukan proses pembagian data, yaitu data training
dan data testing tahapan selanjutnya adalah teks perlu dikonversi
menjadi angka sebelum diinput dalam proses klasifikasi
Convolution Neural Network. Keras menyediakan class Tokenizer,
yang berfungsi untuk mengkonversi teks menjadi vektor. Teks yang
digunakan dalam membuat list urutan adalah data training. Sebagai
contoh salah satu data yang dibuat data list urutan dalam data
training:
Tabel 4. 7 Tokenizer
Teks Tokenizer
'bahaya', 'laku', 'panggil',
'panggil', 'suami', 'dokter',
'sedih', 'bawa', 'rumah',
'sakit', 'bakar', 'panggil', 'gas'
{1: 'panggil', 2: 'bahaya', 3:
'laku', 4: 'suami', 5: 'dokter', 6:
'sedih', 7: 'bawa', 8: 'rumah', 9:
'sakit', 10: 'bakar', 11: 'gas'}
Setelah terbentuk sebuah list urutan tersebut, maka tahapan
selanjutnya adalah mengubah teks tersebut menjadi list sequence
berdasarkan list index kata unik yang telah dibentuk untuk data
training maupun data testing.
Tabel 4. 8 List Sequence
Teks List Sequence
'bahaya', 'laku', 'panggil',
'panggil', 'suami', 'dokter',
'sedih', 'bawa', 'rumah',
'sakit', 'bakar', 'panggil', 'gas'
[[2], [3], [1], [1], [4], [5], [6],
[7], [8], [9], [10], [1], [11]]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
Setelah list Sequence tersebut maka dilakukan menghitung
kemunculan angka pada teks tersebut dengan term frequency
Tabel 4. 9 Term Frequency
Term Frequency
panggil bahaya laku suami dokter sedih bawa rumah sakit bakar gas
3 1 1 1 1 1 1 1 1 1 1
Hasil dari Term Frequency tersebut, dilakukan perhitungan
dengan menghitung Invers Document Frequency menjadi:
Tabel 4. 10 IDF
Invers Document Frequency 1.44692
2.0149
2.0149
2.0149
2.0149
2.0149
2.0149
2.0149
2.0149
2.0149
2.0149
Selanjtunya adalah menghitung bobot dari TF-IDF tersebut:
Tabel 4. 11 Tabel Weight TF - IDF
Weight TF – IDF 4.34076
2.0149
2.0149
2.0149
2.0149
2.0149
2.0149
2.0149
2.0149
2.0149
2.0149
tokenizer = Tokenizer()
tokenizer.fit_on_texts(sentences_train)
seq_train = tokenizer.texts_to_sequences(sentences_train)
seq_test = tokenizer.texts_to_sequences(sentences_test)
encoded_tfidf_train =
tokenizer.sequences_to_matrix(seq_train, mode="tfidf")
encoded_tfidf_test =
tokenizer.sequences_to_matrix(seq_test, mode="tfidf")
X_train = pad_sequences(encoded_tfidf_train,
dtype='float64', padding="post", truncating="post")
X_test = pad_sequences(encoded_tfidf_test,
dtype='float64', padding="post", truncating="post")
Sedangkan parameter yang digunakan dalam proses TF - IDF
yaitu:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
mode : Metode yang akan digunakan untuk proses
feature extraction adalah “tfidf”.
Maka matriks tersebut sudah bisa untuk dilakukan proses
klasifikasi.
Tabel 4. 12 Feature Extraction
Sentences Feature Extraction
(0, ['pakai', 'masker', 'sakit',
'covid', 'covid']) (1, ['instruksi',
'gubernur', 'jateng', 'tilang',
'masker', 'muka', 'tilang',
'anggota', 'grup', 'instruksi',
'gubernur', 'jawa', 'rapat', 'tim',
'tugas', 'covid', 'jateng']) (2,
['foto', 'jokowi', 'presi …
[[0. 0. 0. ... 0. 0. 0.],
[0. 0. 0. ... 0. 0. 0.],
[0. 0. 0. ... 0. 0. 0.], ...,
[0. 4,8434. 0. ... 0. 0. 0.],
[0. 0. 0. ... 0. 0. 0.],
[0. 0. 0. ... 0. 0. 0.]]
4.5. Implementasi Convolution Neural Network
Setelah data training dan data testing telah dilakukan proses
ekstraksi ciri sehingga data tersebut berubah menjadi matriks, tahapan
selanjutnya yaitu melakukan proses klasifikasi dengan menggunakan
metode Convolution Neural Network. Data yang akan digunakan dalam
proses klasifikasi ini adalah data training. Dalam proses klasifikasi ini
terdapat 5 Layer utama yang akan diterapkan. Layer pertama yaitu
embedding layer, yang memetakan indeks kata kosakata dalam representasi
matriks vektor yang dilakukan proses pre-trained dengan menggunakan
word2vec sehingga mendapatkan hasil matriks vector yang baik. Dengan
parameter yang akan digunakan:
vocab_size : Ukuran dari kosakata. Ini diperlukan untuk
mendefinisikan ukuran dari embedding
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
layer, yang akan memiliki bentuk
[vocabulary_size, embedding_size]
embedding_size : Dimensi dari embeddings
Weights : Bobot
input_length : Panjang input sequence
Layer kedua adalah Conv1D, yaitu layer yang membuat kernel
konvolusi yang digabungkan dengan masukan lapisan melalui dimensi
spasial tunggal berdasarkan ukuran filter. Dengan parameter yang
digunakan:
filters : Ukuran dimensi kata untuk proses konvulasi
kernel_size : Banyaknya jendela konvolusi 1D.
activation : Fungsi Aktivasi
Gambar 4. 1 Embedding Layer to Conv1D Layer
Layer ketiga adalah MaxPooling1D, yaitu lapisan yang mengurangi
dimensi dari feature map atau lebih dikenal dengan langkah untuk
downsampling dengan mengambil nilai max dengan filter � 7 � dari setiap
feature map, sehingga mempercepat komputasi dan mengatasi overfitting.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
Gambar 4. 2 Conv1D Layer to Max Pooling Layer
Layer keempat adalah Flatten, yaitu reshape feature map dari
matriks vektor menjadi sebuah vektor 1 7 �, penggunaan Flatten ini agar
bisa gunakan sebagai input dari fully connected layer.
Gambar 4. 3 MaxPooling Layer to Flatten Layer
Layer kelima adalah Fully Connected, yaitu lapisan hidden layer
yang akan diterapkan dengan menggunakan Dense. Tujuan penggunaan
hidden layer ini untuk melakukan transformasi pada dimensi data agar data
dapat diklasifikasikan secara linier. Dengan parameter yang digunakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
units : Jumlah neuron
activation : Fungsi aktivasi
Gambar 4. 4 Flatten Layer to Dense Layer
EMBEDDING_DIM = 1000
vocab_size = len(tokenizer.word_index) + 1
model = Sequential()
model.add(layers.Embedding(vocab_size, 100,
input_length=vocab_size))
model.add(layers.Conv1D(16, 5, activation="relu"))
model.add(layers.MaxPooling1D())
model.add(layers.Conv1D(32, 5, activation="relu"))
model.add(layers.MaxPooling1D())
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(32, activation='relu'))
model.add(layers.Dense(16, activation='relu'))
model.add(layers.Dense(8, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
model.summary()
history = model.fit(X_train, y_train,
epochs=5,
validation_data=(X_test, y_test))
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
Setelah membangun model Convolution Neural Network, saatnya
melakukan kompilasi. Dengan parameter yang digunakan:
optimizer : optimisasi dengan algoritma Adam
loss : menghitung kuantitas yang harus diminimalkan
binary_crossentropy
metrics : Daftar metrics yang akan dievaluasi oleh model
selama pelatihan dan pengujian menggunakan
accuracy.
Selanjutnya melakukan pelatihan model atau fitting model, dengan
parameter yang digunakan:
epochs : Jumlah iterasi dalam melakukan pelatihan
model menggunakan 5 iterasi
validation_data : Data untuk mengevaluasi loss dan metrics
model di akhir setiap epoch menggunakan
data uji
Sehingga hasil dari pelatihan model tersebut akan mendapatkan
catatan nilai loss pelatihan dan nilai metrics pada periode yang berurutan,
serta nilai loss validasi dan nilai metrics validasi dan dari catatan tersebut
dapat diperoleh hasil akurasinya. Selanjutnya yaitu melakukan proses
prediksi dengan menggunakan data testing untuk mengetahui hasil output
dari model yang telah dibuat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
Gambar 4. 5 Kompilasi Model Covolution Neural Network
Setelah proses prediksi dibuat maka akan mendapatkan nilai
probabilitas dalam range 0 - 1. Nilai probabilitas tersebut harus diubah
menjadi 1 atau 0 dengan ketentuan jika:
e > 0.5 � 1 e ≤ 0.5 � 0
Keterangan:
P : Nilai Probabilitas
Nilai yang bernilai 1 dapat didefinisikan sebagai berita palsu,
sedangkan nilai yang bernilai 0 didefinisikan sebagai berita asli.
4.6. Implementasi Pengukuran Performa
Hasil prediksi yang sudah didapatkan sebelumnya, akan dilakukan
perhitungan pengukuran performa dengan menggunakan confusion matrix.
Pada penggunaan confusion matrix ini, label dari data testing akan
dilakukan proses perbandingan dengan hasil prediksi. Dengan cara
membandingkan nilai aktual dengan nilai prediksi. Ada empat istilah yang
merupakan representasi hasil proses klasifikasi pada confusion matrix yaitu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
True Positif, True Negatif, False Positif, dan False Negatif dapat dilihat
pada tabel 4.13.
Tabel 4. 13 Tabel Prediksi
Nomor Dokumen Label Aktual Label Prediksi
4163
730
3085
2288
1762
…
515
1
1
1
0
1
…
1
0
1
1
0
1
…
0
Dari hasil prediksi tersebut, perbandingan dengan label aktual atau
label asli tersebut yaitu (Gambar 4.6):
Label Prediksi dan Label Aktual bernilai asli
dan memang asli
: 67
Label Prediksi dan Label Aktual bernilai asli,
namun bernilai palsu
: 147
Label Prediksi dan Label Aktual bernilai palsu,
namun bernilai asli
: 81
Label Prediksi dan Label Aktual bernilai palus
dan memang palsu
: 975
y_pred = model.predict(X_test)
y_pred[y_pred > 0.5] = 1
y_pred[y_pred <= 0.5] = 0
cf_matrix = confusion_matrix(y_test, y_pred)
print(confusion_matrix(y_test, y_pred, labels=[1, 0]))
Pada proses di python untuk melakukan pembuatan confusion matrix,
yaitu dengan memprediksi data uji dengan model yang telah dibuat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
Selanjutnya mengubah nilai, jika hasil dari prediksi diatas 0.5 maka akan
diganti dengan 1 dan jika hasil dari prediksi dibawah sama dengan 0.5 maka
akan diganti dengan 0. Sehingga dengan menggunakan library
confusion_matrix dengan isi label asli dari data uji dan label hasil dari model
akan dibandingkan dan mendapatkan confusion matrix pada gambar 4.6.
Gambar 4. 6 Confusion Matrix
4.7. Hasil Penelitian
Dalam hasil penelitian ini lakukan proses percobaan dengan
melakukan perubahan pada banyaknya layer Conv1D dan Dense yang
digunakan. Sedangkan untuk pembagian data latih dan data uji adalah
70:30.
4.7.1. Skenario Pertama
Pada skenario pertama ini, struktur model yang dibuat:
Tabel 4. 14 Struktur Model Skenario Pertama
Layer (type) Output Shape Parameters
embedding (Embedding) 1026, 100 102600
conv1d (Conv1D) 1022, 32 16032
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
conv1d (Conv1D) 1018, 64 10304
max_pooling1d (MaxPooling1D) 509, 64 0
flatten (Flatten) 32576
dense (Dense) 256 8339712
dense_1 (Dense) 128 32896
dropout (Dropout) 128 0
dense_2 (Dense) 64 8256
dense_3 (Dense) 32 2080
dense_4 (Dense) 10 330
dense_5 (Dense) 1 11
Setelah membuat model tersebut dilakukan proses
kompilasi dengan parameter optimisasi ‘adam’, loss
‘binary_crossentropy’, dan metrics ‘accuracy’. Selanjutnya
melakukan percobaan sebanyak 3 kali dengan iterasi yang sama
yaitu 5 iterasi atau 5 epoch.
Hasil Akurasi:
Tabel 4. 15 Akurasi Percobaan Pertama
Percobaan Akurasi
Training Testing
Percobaan 1 0.9095 0.8465
Percobaan 2 0.9044 0.8528
Percobaan 3 0.9041 0.8512
Rata – rata 0.9060 0.8502
Hasil rata – rata dari percobaan 1, percobaan 2 dan
percobaan 3 adalah 0.8502
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
Gambar 4. 7 Akurasi dan Confusion Matrix Percobaan 1
Gambar 4. 8 Akurasi dan Confusion Matrix Percobaan 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
Gambar 4. 9 Akurasi dan Confusion Matrix Percobaan 3
4.7.2. Skenario Kedua
Pada skenario kedua ini, struktur model yang dibuat:
Tabel 4. 16 Struktur Model Skenario Kedua
Layer (type) Output Shape Parameters
embedding (Embedding) 1026, 100 102600
conv1d (Conv1D) 1022, 16 8016
max_pooling1d (MaxPooling1D) 511, 16 0
conv1d (Conv1D) 507, 32 2592
max_pooling1d (MaxPooling1D) 253, 32 0
flatten (Flatten) 8096 0
dense (Dense) 64 518208
dense_1 (Dense) 32 2080
dense_2 (Dense) 16 528
dense_3 (Dense) 8 136
dense_4 (Dense) 1 9
Setelah membuat model tersebut dilakukan proses
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
96
kompilasi dengan parameter optimisasi ‘adam’, loss
‘binary_crossentropy’, dan metrics ‘accuracy’. Selanjutnya
melakukan percobaan sebanyak 3 kali dengan iterasi yang sama
yaitu 5 iterasi atau 5 epoch.
Hasil Akurasi:
Tabel 4. 17 Akurasi Percobaan Kedua
Percobaan Akurasi
Training Testing
Percobaan 1 0.8632 0.8520
Percobaan 2 0.8548 0.8504
Percobaan 3 0.8646 0.8496
Rata – rata 0.8609 0.8507
Hasil rata – rata dari percobaan 1, percobaan 2 dan
percobaan 3 adalah 0.8507
Gambar 4. 10 Akurasi dan Confusion Matrix Percobaan 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
97
Gambar 4. 11 Akurasi dan Confusion Matrix Percobaan 2
Gambar 4. 12 Akurasi dan Confusion Matrix Percobaan 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
98
4.7.3. Skenario Ketiga
Pada skenario ketiga ini, struktur model yang dibuat:
Tabel 4. 18 Struktur Model Skenario Ketiga
Layer (type) Output Shape Parameters
embedding (Embedding) 1026, 100 102600
conv1d (Conv1D) 1022, 32 16032
max_pooling1d (MaxPooling1D) 511, 32 0
flatten (Flatten) 16352 0
dense (Dense) 10 163530
dense_1 (Dense) 1 11
Setelah membuat model tersebut dilakukan proses
kompilasi dengan parameter optimisasi ‘adam’, loss
‘binary_crossentropy’, dan metrics ‘accuracy’. Selanjutnya
melakukan percobaan sebanyak 3 kali dengan iterasi yang sama
yaitu 5 iterasi atau 5 epoch.
Hasil Akurasi:
Tabel 4. 19 Akurasi Percobaan Ketiga
Percobaan Akurasi
Training Testing
Percobaan 1 0.8970 0.8433
Percobaan 2 0.8977 0.8433
Percobaan 3 0.8845 0.8472
Rata – rata 0.8931 0.8446
Hasil rata – rata dari percobaan 1, percobaan 2 dan
percobaan 3 adalah 0.8446
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
99
Gambar 4. 13 Akurasi dan Confusion Matrix Percobaan 1
Gambar 4. 14 Akurasi dan Confusion Matrix Percobaan 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
100
Gambar 4. 15 Akurasi dan Confusion Matrix Percobaan 3
4.7.4. Skenario Keempat
Pada skenario keempat ini, struktur model yang dibuat:
Tabel 4. 20 Struktur Model Skenario Keempat
Layer (type) Output Shape Parameters
embedding (Embedding) 1026, 100 102600
conv1d (Conv1D) 1022, 64 32064
max_pooling1d (MaxPooling1D) 511, 64 0
flatten (Flatten) 32704 0
dense (Dense) 20 654100
dense_1 (Dense) 1 21
Setelah membuat model tersebut dilakukan proses
kompilasi dengan parameter optimisasi ‘adam’, loss
‘binary_crossentropy’, dan metrics ‘accuracy’. Selanjutnya
melakukan percobaan sebanyak 3 kali dengan iterasi yang sama
yaitu 5 iterasi atau 5 epoch.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
101
Hasil Akurasi:
Tabel 4. 21 Akurasi Percobaan Keempat
Percobaan Akurasi
Training Testing
Percobaan 1 0.8609 0.8551
Percobaan 2 0.9112 0.8370
Percobaan 3 0.9142 0.8283
Rata – rata 0.8954 0.8401
Hasil rata – rata dari percobaan 1, percobaan 2 dan
percobaan 3 adalah 0.8401
Gambar 4. 16 Akurasi dan Confusion Matrix Percobaan 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
102
Gambar 4. 17 Akurasi dan Confusion Matrix Percobaan 2
Gambar 4. 18 Akurasi dan Confusion Matrix Percobaan 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
103
4.7.5. Skenario Kelima
Pada skenario kelima ini, struktur model yang dibuat:
Tabel 4. 22 Struktur Model Skenario Kelima
Layer (type) Output Shape Parameters
embedding (Embedding) 1026, 100 102600
conv1d (Conv1D) 1022, 32 16032
max_pooling1d (MaxPooling1D) 511, 32 0
flatten (Flatten) 16352 0
dense (Dense) 20 327060
dense_1 (Dense) 15 315
dense_2 (Dense) 1 16
Setelah membuat model tersebut dilakukan proses
kompilasi dengan parameter optimisasi ‘adam’, loss
‘binary_crossentropy’, dan metrics ‘accuracy’. Selanjutnya
melakukan percobaan sebanyak 3 kali dengan iterasi yang sama
yaitu 5 iterasi atau 5 epoch.
Hasil Akurasi:
Tabel 4. 23 Akurasi Percobaan Kelima
Percobaan Akurasi
Training Testing
Percobaan 1 0.9078 0.8465
Percobaan 2 0.8715 0.8455
Percobaan 3 0.8902 0.8433
Rata – rata 0.8898 0.8451
Hasil rata – rata dari percobaan 1, percobaan 2 dan
percobaan 3 adalah 0.8451
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
104
Gambar 4. 19 Akurasi dan Confusion Matrix Percobaan 1
Gambar 4. 20 Akurasi dan Confusion Matrix Percobaan 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
105
Gambar 4. 21 Akurasi dan Confusion Matrix Percobaan 3
Setelah melakukan 5 skenario dengan mengganti jumlah layer
Conv1D dan jumlah layer Dense dan mengubah parameter tersebut
sehingga mendapatkan hasil:
Tabel 4. 24 Hasil Akurasi Rata - Rata
Percobaan Hasil Akurasi Rata - Rata
Skenario Pertama 0.8502
Skenario Kedua 0.8507
Skenario Ketiga 0.8446
Skenario Keempat 0.8401
Skenario Kelima 0.8451
Sehingga hasil paling optimal dan paling tinggi dari 5 skenario
tersebut adalah pada skenario kedua dengan model yang memiliki 11-Layer,
yaitu Embedding Layer (1026, 100), Conv1D (1022, 16), Max Pooling 1D
(511, 64), Conv1D (507, 32), Max Pooling 1D (253, 32), Flatten(8096),
Dense (64) aktivasi ReLu, Dense_1 (32) aktivasi ReLu, Dense_2 (16)
aktivasi ReLu, Dense_3 (8) aktivasi ReLu, dan Dense_4 (1) dan fungsi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
106
aktivasi Sigmoid. Dengan struktur model tersebut hasil penelitian ini
mendapatkan hasil yang optimal dengan akurasi rata – rata sebesar 0.8507
4.8. Implementasi GUI
Pada proses pelatihan model dengan menggunakan metode
Convolution Neural Network ini sudah mendapatkan hasil akurasi yang
cukup optimal. Model tersebut dapat digunakan untuk proses prediksi berita
baru. Proses untuk melakukan prediksi berita tersebut yaitu dengan
menginputkan judul dari berita dan isi dari narasi tersebut pada masing –
masing text field.
Gambar 4. 22 Tampilan Awal GUI
Sebagai contoh berita yang akan di input adalah sebagai berikut:
a. Judul: Makan Bawang Mentah dan Garam bisa Ubah Positif
Covid-19 Menjadi Negatif setelah 15 Menit
b. Narasi:
” Setelah 15 menit makan bawang mentah kupas dengan garam
batu, orang berubah menjadi negatif dari positif Mawar Bendera
Tajikistan Jempolan * Dengarkan audio, apa yang salah dengan
makan …*”
Selanjutnya masukkan pada masing – masing text field judul dan
narasi pada GUI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
107
Gambar 4. 23 Pengisian Text Field Judul dan Narasi
Selanjutnya klik pada button CHECK untuk melakukan proses
prediksi berita baru tersebut. Setelah mengklik button CHECK maka isi dari
judul berita dan narasi berita tersebut dijadikan satu dan dilakukan proses
preprocessing terlebih dahulu untuk membuat text tersebut menjadi
terstruktur.
Tabel 4. 25 Preprocessing
Sebelum Preprocessing Setelah Preprocessing
Makan Bawang Mentah dan Garam
bisa Ubah Positif Covid-19
Menjadi Negatif setelah 15 Menit ”
Setelah 15 menit makan bawang
mentah kupas dengan garam batu,
orang berubah menjadi negatif dari
positif Mawar Bendera Tajikistan
Jempolan *
Dengarkan audio, apa yang salah
dengan makan …*”
'makan', 'bawang', 'mentah',
'garam', 'ubah', 'positif', 'covid',
'negatif', '', 'menit', '', 'menit',
'makan', 'bawang', 'mentah', 'kupas',
'garam', 'batu', 'orang', 'ubah',
'negatif', 'positif', 'mawar',
'bendera', 'tajikistan', 'jempol',
'dengar', 'audio', 'salah', 'makan'
Setelah data teks sudah terstruktur maka tahapan selanjutnya
dilakukan proses ektraksi ciri sehingga menjadi:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
108
Tabel 4. 26 Ekstraksi Ciri
Data Preprocessing Ekstraksi Ciri
'makan', 'bawang', 'mentah',
'garam', 'ubah', 'positif', 'covid',
'negatif', '', 'menit', '', 'menit',
'makan', 'bawang', 'mentah', 'kupas',
'garam', 'batu', 'orang', 'ubah',
'negatif', 'positif', 'mawar',
'bendera', 'tajikistan', 'jempol',
'dengar', 'audio', 'salah', 'makan'
[[0, 0, 0, …, 8.74645, 5.00428,
…,9.48009,… 0. 0. 0.]]
Setelah mendapatkan matrix tersebut maka tahapan selanjutnya
adalaha melakukan proses prediksi dengan model yang telah dibuat. Hasil
dari probabilitas yang didapatkan adalah 0.97250974. Jika nilai probabilitas
> 0.5 maka berita tersebut adalah berita palsu. Sehingga berita yang telah
diinputkan merupakan berita palsu.
Gambar 4. 24 Tampilan Prediksi Berita GUI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
109
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Berdasarkan hasil penelitian, prediksi berita palsu menggunakan
metode Convolution Neural Network dengan data sebanyak 4.231 data
berita diperoleh kesimpulan sebagai berikut:
1. Nilai akurasi tertinggi mendapatkan hasil 0.8507 diperoleh pada
skenario kedua dengan layer yang digunakan Embedding Layer (1026,
100), Conv1D (1022, 16), Max Pooling 1D (511, 64), Conv1D (507,
32), Max Pooling 1D (253, 32), Flatten(8096), Dense (64) aktivasi
ReLu, Dense_1 (32) aktivasi ReLu, Dense_2 (16) aktivasi ReLu,
Dense_3 (8) aktivasi ReLu, dan Dense_4 (1) aktivasi Sigmoid.
2. Dari hasil ini dapat disimpulkan bahwa sistem mampu melakukan
prediksi dengan tingkat akurasi yang tinggi.
5.2. Saran
a. Diperlukan cara menyeimbangkan data berita palsu dan berita asli,
misalnya dengan pendekatan random undersampling, random
oversampling, atau SMOTE agar mendapatkan hasil akurasi yang lebih
optimal.
b. Pada proses preprocessing diperlukan normalisasi sehingga teks yang
dihasilkan lebih terstruktur.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
109
DAFTAR PUSTAKA
Agarmal, A., Mittal, M., Pathak, A., & Goyal, L. M. (2020). Fake News Detection
Using a Blend of Neural Networks: An Application of Deep Learning. SN
Computer Science, 143 -152.
Allcott, H., & Gentzkow, M. (2017). Social Media and Fake News in the 2016
Election. Journal of Economic Perspectives, Vol 31, No. 2.
Baeza-Yates, R., & Ribeiro-Neto, B. (1999). Modern information retrieval. ACM
Press / Addison Wesley.
Drs. Arifin S. Harahap, M. (2006). Jurnalistik Televisi: Teknik Memburu dan
Menulis Berita. Gramedia.
Knight, E. R. (1991). Artificial Intelligence: 2nd Edition. New Delhi: Tata
McGraw-Hill.
Kowalski, G. (1997). Information Retieval System: Theory and Implementation.
Kluwer Academic Publishers.
LeCun, Y. a. (2015). Deep learning. Nature Vol. 521 No. 7553, 436-444.
Manning, C. D., Raghavan, P., & Schutze, H. (2008). Introduction to information
retrieval. Cambridge University Press.
Pannu, A. &. (2015). Artificial Intelligence adn its Appication in Different Areas.
Internationnal Journal of Engineering and Innovative Technology (IJEIT),
Volume 4, ISSN: 2277 - 3754.
Priansya, S. (2017). Social Media Text Normalization Using Word2vec.
Levenshtein Distance, and Jaro-Winkler Distance. Institut Teknologi
Sepuluh Nopember Surabaya: Final Project - KS 141501.
Saadah, M. N. (2013). Sistem Temu Kembali Dokumen Teks dengan Pembobotan
Tf-Idf Dan LCS. Jurnal Ilmiah Teknologi Informasi (JUTI), 17–20.
Samuel, A. (1988). Some Studies in Machine Learning Using the Game of
Checkers. II—Recent Progress. Springer, 366–400.
Setiyono, M. Z. (2016). Convolution Neural Network untuk Pengenalan Wajah
Secara Real-Time. Jurnal Sains dan Seni ITS Vol. 5 No. 2, A-72 - A-77.
Silverman, C. (2017). Lies, Damn Lies, and Viral Content. Columbia : Tow
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
110
Center for Digital Journalism, Columbia University.
Yang Yang, L. Z. (2018). TI-CNN: Convolution Neural Network for Fake News
Detection. arXiv.org, -.
Zhai, C., & Massung, S. (2016). Text Data Management and Analysis.
Association fot Computing Machinery.
Zhang, Y. G. (2005). An improved TF-IDF approach for text classification.
Journal of Zhejiang University-SCIENCE A, 49–55.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
111
LAMPIRAN
DATA BERITA & STOPWORDS
Data Berita:
https://github.com/HieronimusMorgan/dataSkripsiMorgan/blob/8971f741d17379
89350c0acf7a92e97b1779fedc/data.csv
Data Berita (Cleaned):
https://github.com/HieronimusMorgan/dataSkripsiMorgan/blob/270f9b6098e7e54
91baa7f3db13fc78cb0c959d2/cleaned_fix.csv
Stopwords:
https://github.com/HieronimusMorgan/dataSkripsiMorgan/blob/8971f741d17379
89350c0acf7a92e97b1779fedc/stopwords.csv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI