IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

14
IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK KLASIFIKASI KATEGORI BERITA SKRIPSI Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer (S.Kom.) Jonathan 00000019524 PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK DAN INFORMATIKA UNIVERSITAS MULTIMEDIA NUSANTARA TANGERANG 2021

Transcript of IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

Page 1: IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK

KLASIFIKASI KATEGORI BERITA

SKRIPSI

Diajukan sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer (S.Kom.)

Jonathan

00000019524

PROGRAM STUDI INFORMATIKA

FAKULTAS TEKNIK DAN INFORMATIKA

UNIVERSITAS MULTIMEDIA NUSANTARA

TANGERANG

2021

Page 2: IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

ii

LEMBAR PENGESAHAN SKRIPSI

IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK KLASIFIKASI KATEGORI BERITA

oleh

Nama : Jonathan

NIM : 00000019524

Program Studi : Informatika

Fakultas : Teknik dan Informatika

Tangerang, 25 Juni 2021

Ketua Sidang Dosen Penguji

Adhi Kusnadi, S.T., M.Si.

Moeljono Widjaja, B.Sc., M.Sc., Ph.D.

Dosen Pembimbing I

Farica Perdana Putri, S.Kom., M.Sc.

Dosen Pembimbing II

Julio Christian Young, S.Kom., M.Kom.

Mengetahui, Ketua Program Studi Informatika

Marlinda Vasty Overbeek, S.Kom., M.Kom

Stamp
Page 3: IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

iii

PERNYATAAN TIDAK MELAKUKAN PLAGIAT

Dengan ini saya:

Nama : Jonathan

NIM : 00000019524

Program Studi : Informatika

Fakultas : Teknik dan Informatika

menyatakan bahwa Skripsi yang berjudul “Implementasi Algoritma Random

Forest Untuk Klasifikasi Kategori Berita” merupakan hasil karya ilmiah saya

sendiri, bukan plagiat dari karya ilmiah yang ditulis oleh orang lain atau lembaga

lain, dan semua karya ilmiah orang lain atau lembaga lain yang dirujuk dalam

Skripsi ini telah disebutkan sumber kutipannya serta dicantumkan di Daftar

Pustaka.

Jika di kemudian hari terbukti ditemukan kecurangan/ penyimpangan, baik dalam

pelaksanaan Skripsi maupun dalam penulisan laporan Skripsi, saya bersedia

menerima konsekuensi dinyatakan TIDAK LULUS untuk mata kuliah Skripsi yang

telah saya tempuh.

Tangerang, 6 Juni 2021

Jonathan

Page 4: IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

iv

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH

UNTUK KEPENTINGAN AKADEMIS

Sebagai sivitas akademik Universitas Multimedia Nusantara, saya yang bertanda tangan di bawah ini:

Nama : Jonathan

NIM : 00000019524

Program Studi : Informatika

Fakultas : Teknik dan Informatika

Jenis Karya : Skripsi

Demi pengembangan ilmu pengetahuan, menyetujui dan memberikan izin kepada Universitas Multimedia Nusantara hak Bebas Royalti Non-eksklusif (Non-exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul:

Implementasi Algoritma Random Forest Untuk Klasifikasi Kategori Berita

beserta perangkat yang diperlukan.

Dengan Hak Bebas Royalti Non-Eksklusif ini, pihak Universitas Multimedia Nusantara berhak menyimpan, mengalih media atau format-kan, mengelola dalam bentuk pangkalan data (database), merawat, dan mendistribusi dan menampilkan atau mempublikasikan karya ilmiah saya di internet atau media lain untuk kepentingan akademis, tanpa perlu meminta izin dari saya maupun memberikan royalti kepada saya, selama tetap mencantumkan nama saya sebagai penulis karya ilmiah tersebut.

Demikian pernyataan ini saya buat dengan sebenarnya untuk dipergunakan sebagaimana mestinya.

Tangerang, 6 Juni 2021

Jonathan

Page 5: IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

v

HALAMAN PERSEMBAHAN / MOTO

Karya ini kupersembahkan bagi seluruh keluargaku terkasih.

Keterbukaan adalah awal dari pemulihan.

Bukan soal benar atau salah tetapi respon.

Perubahan bukanlah perubahan sampai terjadi suatu perubahan.

~~U3 Generation~~

Page 6: IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

vi

KATA PENGANTAR

Puji syukur kepada Tuhan Yang Maha Esa karena karunia dan rahmat-Nya,

Skripsi yang berjudul “IMPLEMENTASI ALGORITMA RANDOM FOREST

UNTUK KLASIFIKASI KATEGORI BERITA” dapat diselesaikan.

Tujuan dibuatnya Skripsi ini yaitu sebagai salah satu syarat kelulusan untuk

yudisium pada Program Studi Informatika Universitas Multimedia Nusantara.

Terselesaikannya laporan skripsi ini tidak terlepas dari bimbingan, dan bantuan.

Oleh karena itu, penulis juga mengucapkan terima kasih kepada:

1. Bapak Dr. Ninok Leksono, Rektor Universitas Multimedia Nusantara;

2. Dr. Eng. Niki Prastomo S.T., M.Sc., Dekan Fakultas Teknik dan

Informatika Universitas Multimedia Nusantara;

3. Ibu Marlinda Vasty Overbeek, S.Kom., M.Kom, Ketua Program Studi

Informatika Universitas Multimedia Nusantara

4. Ibu Farica Perdana Putri, S.Kom., M.Sc. dan Bapak Julio Christian Young,

S.Kom., M.Kom., dosen pembimbing yang telah memberikan arahan dan

dukungan dalam pengerjaan laporan skripsi;

5. Bapak dan Ibu Dosen Program Studi Informatika Universitas Multimedia

Nusantara yang telah mendidik ilmu pengetahuan yang sangat berguna;

6. Keluarga yang selalu ada untuk mendukung dan memberi semangat serta

mendoakan sehingga proses penulisan laporan skripsi selalu lancar tanpa

ada halangan;

Page 7: IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

vii

7. Semua pihak yang telah terlibat secara langsung maupun tidak langsung

dalam proses pembuatan laporan skripsi ini.

Semoga laporan skripsi ini dapat bermanfaat, baik sebagai sumber

informasi, maupun sebagai inspirasi bagi para pembaca.

Tangerang, 6 Juni 2021

Jonathan

Page 8: IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

viii

IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK KLASIFIKASI KATEGORI BERITA

ABSTRAK

Perkembangan teknologi yang sangat cepat membuat masyarakat semakin mudah dalam mencari informasi salah satunya adalah berita. Pada tahun 2018 tercatat 65.97% penduduk Indonesia menggunakan fasilitas internet untuk mencari berita di portal berita online. Banyaknya jumlah berita yang tersebar saat ini tidak dapat dipungkiri terdapat editor yang mungkin kesulitan untuk menyunting berita tersebut satu per satu. Belum lagi jika ada konten berita yang ternyata tidak sesuai dengan berita-berita pada kategori yang diusulkan. Hal ini dapat mempengaruhi SEO dari portal berita tersebut. Pada penelitian ini akan dibuat sebuah classifier berita online yang diharapkan dapat membantu memastikan bahwa konten berita yang sesuai dengan kategori yang diusulkan secara otomatis dengan mengimplementasikan algoritma Random Forest. Dataset diambil dengan metode webcrawling pada portal berita Kompas sebanyak 69,753. Untuk meningkatkan akurasi dilakukan word embedding pada data berita menggunakan model Word2Vec dan optimasi hyperparameter menggunakan RandomizedSearchCV. Performa dari algoritma Random Forest untuk klasifikasi berita online yang dihitung dengan nilai accuracy dan F1-Score mendapatkan hasil terbaik yaitu 0.8561 untuk accuracy dan 0.8561 untuk F1-Score.

Kata kunci: Berita online, Machine Learning, Klasifikasi, Word Embedding, Word2Vec, Random Forest

Page 9: IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

ix

IMPLEMENTATION OF RANDOM FOREST ALGORITHM FOR NEWS CATEGORY CLASSIFICATION

ABSTRACT

The rapid development of technology makes it easier for people to find information, one of which is news. In 2018, 65.97% of the Indonesian population used internet facilities to search for news on online news portals. The large amount of news that is spread today cannot be denied that there are editors who may find it difficult to edit the news one by one. Not to mention if there is news content that does not match the news in the proposed category. This can affect the SEO of the news portal. In this research, an online news classifier will be created which is expected to help ensure that news content fits the proposed category automatically by implementing the Random Forest algorithm. The dataset was taken using the webcrawling method on the Kompas news portal as many as 69,753. To increase the accuracy, word embedding was performed on news data using the Word2Vec model and hyperparameter optimization using RandomizedSearchCV. The performance of the Random Forest algorithm for online news classification which is calculated with the accuracy value and F1-Score gets the best results, namely 0.8561 for accuracy and 0.8561 for F1-Score.

Keywords: Online news, Machine Learning, Classification, Word Embedding, Word2Vec, Random Forest

Page 10: IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

x

DAFTAR ISI

HALAMAN JUDUL ................................................................................................ i HALAMAN PENGESAHAN ................................................................................. ii HALAMAN PERNYATAAN TIDAK MELAKUKAN PLAGIAT ..................... iii HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH ................................................................................................................................ iv HALAMAN PERSEMBAHAN / MOTO ............................................................... v KATA PENGANTAR ........................................................................................... vi ABSTRAK ........................................................................................................... viii ABSTRACT ........................................................................................................... ix DAFTAR ISI ........................................................................................................... x DAFTAR GAMBAR ............................................................................................. xi DAFTAR TABEL ................................................................................................. xii DAFTAR RUMUS .............................................................................................. xiii DAFTAR LAMPIRAN ........................................................................................ xiv BAB 1 PENDAHULUAN ...................................................................................... 1

1.1 Latar Belakang Masalah ........................................................................... 1 1.2 Rumusan Masalah .................................................................................... 3 1.3 Batasan Masalah ....................................................................................... 4 1.4 Tujuan Penelitian ...................................................................................... 4 1.5 Manfaat Penelitian .................................................................................... 4 1.6 Sistematika Penulisan ............................................................................... 5

BAB 2 LANDASAN TEORI ................................................................................. 7 2.1 Algoritma Random Forest ........................................................................ 7 2.2 Word2Vec ................................................................................................ 9 2.3 Text Preprocessing ................................................................................. 11 2.4 Confusion Matrix ................................................................................... 12 2.5 Berita ...................................................................................................... 13

BAB 3 METODOLOGI PENELITIAN............................................................... 15 3.1 Metodologi Penelitian ............................................................................ 15 3.2 Perancangan Sistem ................................................................................ 17

3.2.1 Flowchart Webcrawling Dataset ..................................................... 17 3.2.2 Flowchart Pembuatan File Model Random Forest Classifier ......... 19 3.2.3 Flowchart Website .......................................................................... 22 3.2.4 Rancangan Tampilan Antarmuka Website...................................... 24

BAB 4 HASIL DAN DISKUSI ........................................................................... 26 4.1 Spesifikasi Sistem ................................................................................... 26 4.2 Implementasi Sistem .............................................................................. 27

4.2.1 Tampilan Aplikasi ........................................................................... 27 4.2.2 Potongan Kode ................................................................................ 29

4.3 Uji Coba ................................................................................................. 40 4.3.1 Skenario Pengujian.......................................................................... 40 4.3.2 Hasil Pengujian ............................................................................... 41 4.3.3 Evaluasi Hasil Pengujian................................................................. 47

BAB 5 SIMPULAN DAN SARAN ..................................................................... 50 5.1 Simpulan ................................................................................................. 50 5.2 Saran ....................................................................................................... 50

DAFTAR PUSTAKA ........................................................................................... 51

Page 11: IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

xi

DAFTAR GAMBAR

Gambar 2. 1 Arsitektur model CBOW dan Skip-gram ......................................... 11 Gambar 3. 1 Flowchart webcrawling dataset…………………………………….18 Gambar 3. 2 Flowchart pembuatan model Random Forest Classifier .................. 20 Gambar 3. 3 Flowchart pra-pemrosesan data ........................................................ 21 Gambar 3. 4 Flowchart website menggunakan Anvil ........................................... 23 Gambar 3. 5 Rancangan tampilan awal................................................................. 24 Gambar 3. 6 Rancangan tampilan hasil kategori .................................................. 25 Gambar 4. 1 Tampilan awal website……………………………………………...28 Gambar 4. 2 Tampilan website saat user memberikan input ................................ 28 Gambar 4. 3 Tampilan website saat menampilkan hasil kategori ......................... 29 Gambar 4. 4 Import library yang digunakan ........................................................ 30 Gambar 4. 5 Potongan kode untuk crawl link berita ............................................. 30 Gambar 4. 6 Potongan kode untuk crawl judul dan konten berita ........................ 31 Gambar 4. 7 Membuat file JSON list kategori yang telah di-crawl ...................... 32 Gambar 4. 8 Membuat file JSON judul dan konten berita yang telah di-crawl .... 32 Gambar 4. 9 Import library ................................................................................... 33 Gambar 4. 10 Load data dan pemisahan X dan y ................................................. 33 Gambar 4. 11 Load pretrained Word2Vec model ................................................. 34 Gambar 4. 12 Fungsi pra-pemrosesan data ........................................................... 34 Gambar 4. 13 Pra-pemrosesan dataset .................................................................. 35 Gambar 4. 14 Hyperparameter Random Forest untuk RandomizedSearchCV .... 36 Gambar 4. 15 RandomizedSearchCV .................................................................... 37 Gambar 4. 16 Membuat model RF Classifier dengan hyperparameter terbaik .... 38 Gambar 4. 17 Import library ................................................................................. 38 Gambar 4. 18 Load Random Forest Classifier dan Word2Vec model .................. 38 Gambar 4. 19 Fungsi penunjang untuk website klasifikasi berita online .............. 39 Gambar 4. 20 Hubungkan Google Colab dengan Anvil ....................................... 39 Gambar 4. 21 Kode pada Anvil untuk memanggil fungsi pada Google Colab .... 40 Gambar 4. 22 Nilai accuracy dan F1-Score skenario pertama ............................. 43 Gambar 4. 23 Nilai accuracy dan F1-Score skenario kedua ................................. 44 Gambar 4. 24 Nilai accuracy dan F1-Score skenario ketiga ................................ 46 Gambar 4. 25 Nilai accuracy dan F1-Score skenario keempat ............................. 47 Gambar 4. 26 Probabilitas setiap kategori tanpa proses stemming ....................... 49 Gambar 4. 27 Probabilitas setiap kategori dengan proses stemming .................... 49

Page 12: IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

xii

DAFTAR TABEL

Tabel 2. 1 Confusion Matrix ................................................................................. 12 Tabel 4. 1 Confusion Matrix skenario pertama…………………………………..41 Tabel 4. 2 Confusion Matrix skenario pertama (lanjutan) .................................... 42 Tabel 4. 3 Perhitungan F1-Score setiap class pada skenario pertama .................. 42 Tabel 4. 4 Confusion Matrix skenario kedua ........................................................ 43 Tabel 4. 5 Perhitungan F1-Score setiap class pada skenario kedua ...................... 44 Tabel 4. 6 Confusion Matrix skenario ketiga ........................................................ 45 Tabel 4. 7 Perhitungan F1-Score setiap class pada skenario ketiga ..................... 45 Tabel 4. 8 Confusion Matrix skenario keempat .................................................... 46 Tabel 4. 9 Perhitungan F1-Score setiap class pada skenario keempat .................. 47

Page 13: IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

xiii

DAFTAR RUMUS

Rumus ( 2. 1 ) Random Forest dengan N trees ....................................................... 8 Rumus ( 2. 2 ) Kompleksitas training CBOW ........................................................ 9 Rumus ( 2. 3 ) Kompleksitas training Skip-Gram ................................................ 10 Rumus ( 2. 4 ) Accuracy ........................................................................................ 12 Rumus ( 2. 5 ) Precision ....................................................................................... 13 Rumus ( 2. 6 ) Recall............................................................................................. 13 Rumus ( 2. 7 ) Specificity ...................................................................................... 13 Rumus ( 2. 8 ) F1-Score ........................................................................................ 13

Page 14: IMPLEMENTASI ALGORITMA RANDOM FOREST UNTUK …

xiv

DAFTAR LAMPIRAN

Lampiran 1 Daftar Riwayat Hidup ........................................................................ 54

Lampiran 2 Form Bimbingan ................................................................................ 55

Lampiran 3 Hasil Pengecekan Turnitin ................................................................ 59