Anda di halaman 1dari 17

LAPORAN FINAL PROJECT

KECERDASAN BUATAN

Mata Kuliah : Kecerdasan Buatan

Dosen Pengampu :

Bapak Dr. Basuki Rahmat, S.Si, MT.

Disusun oleh :

HUSAIN TAUFIQQURRAHMAN (19081010075)

MUHAMMAD HELMI SATRIA F (19081010111)

AGUNG RAHMAWAN GADING (19081010161)

PROGRAM STUDI INFORMATIKA

FAKULTAS ILMU KOMPUTER

UPN “VETERAN” JAWA TIMUR

2021
KATA PENGANTAR
Puji syukur kami panjatkan kehadirat Tuhan Yang Maha Esa yang telah
menganugerahkan banyak nikmat sehingga kami dapat menyusun laporan praktikum biologi
ini dengan baik. Laporan ini berisi tentang uraian hasil riset mengenai “Analisis Sentimen
Aplikasi Go-Jek ’’.
Selesainya laporan Praktikum Final Project Mata Kuliah Kecerdasan Buatan tidak
terlepas dari beberapa pihak yang telah memberikan dukungan sehingga penulis dapat
menyelesaikan laporan. Dengan hormat, penulis menyampaikan terima kasih yang sebesar-
besarnya kepada beberapa pihak karena tanpa adanya dukungan dan bantuannya penulis tidak
dapat menyelesaikan dengan lancar.
Dalam laporan Praktikum Final Project Mata Kuliah Kecerdasan Buatan penulis
menyadari bahwa masih jauh dari sempurna, untuk itu penulis sangat mengharapkan
saran,kritik dari semua pihak yang bersifat membangun untuk penyempurnaan laporan ini.

Surabaya, 25 Desember 2021

Penulis
DAFTAR ISI

KATA PENGANTAR 2
DAFTAR ISI 3
BAB I : PENDAHULUAN 4
1.1 Latar Belakang 4
1.2 Tujuan 4
BAB II : DASAR TEORI 5
2.1 Python 5
2.2 NLP 5
2.3 Naive Bayes 5
BAB III : METODOLOGI PENELITIAN 6
BAB IV : HASIL DAN IMPLEMENTASI 8
4.1 Membaca Data 8
4.2 Case Folding 8
4.3 Tokenisasi 9
4.4 Filtering 10
4.5 Stemming 11
4.6 TF-IDF 13
4.7 Split Data 13
4.8 Algoritma Naive Bayes 14
BAB V : KESIMPULAN 15
PENUTUP 16

DAFTAR PUSTAKA 17
BAB I : PENDAHULUAN
1.1 Latar Belakang
Seiring berkembangnya teknologi terutama dalam bidang Kecerdasan Buatan, manusia
semakin sering berinteraksi dengan laptop maupun gawai yang ada pada genggamannya. Kemajuan
ini tak terlepas dari riset yang telah dilakukan ilmuwan-ilmuwan sebelumnya yang membawa kita ke
masa Industri 4.0 dimana teknologi menjadi kebutuhan utama bagi setiap umat manusia.
Pada saat ini, dengan adanya Kecerdasan Buatan komputer dapat memahami bahasa natural
yang digunakan manusia dalam berkomunikasi sehari-hari. Komputer dapat menilai apakah kata demi
kata yang diketik manusia ini merupakan kata yang benar-benar positif ataupun sebaliknya dengan
bantuan NLP atau Natural Language Processing.
Penggunaan NLP pada riset kami berguna untuk memproses data teks pada ulasan aplikasi
Go-Jek yang diambil menggunakan google-play-scraper yang selanjutnya diproses dengan NLP
untuk mengolah bahasa natural serta Naive Bayes untuk menilai hasil akurasi yang diproses.
1.2 Tujuan
1. Untuk memenuhi tugas mata kuliah Kecerdasan Buatan
2. Mengimplementasikan NLP dalam bahasa pemrograman Python
3. Menilai hasil akurasi review aplikasi Gojek yang positif dan negatif dengan Naive
Bayes
BAB II : DASAR TEORI
2.1 Python
Python adalah bahasa pemrograman interpretatif yang dapat digunakan di berbagai
platform dengan filosofi perancangan yang berfokus pada tingkat keterbacaan kode dan
merupakan salah satu bahasa populer yang berkaitan dengan Data Science, Machine
Learning, dan Internet of Things (IoT).
2.2 NLP
NLP adalah cabang dari Artificial Intelligence yang berhubungan dengan interaksi
antara mesin dan manusia menggunakan bahasa natural. Apa yang dimaksud dengan bahasa
natural? Contohnya, ketika kamu sedang jalan-jalan di mall dan kamu menelpon temanmu
untuk menanyakan lokasi mereka, mereka menjawab “di sebelah Starbucks” atau “di depan
McD”. Jawaban-jawaban tersebut mendeskripsikan lokasinya dengan bahasa natural, alias
bahasa yang kita sering gunakan sehari-hari. NLP menggunakan data yang bersifat tidak
terstruktur / tidak berupa tabel, yakni data teks.
2.3 Naive Bayes
Naive Bayes adalah algoritma machine learning untuk masalah klasifikasi. Ini
didasarkan pada teorema probabilitas Bayes. Hal ini digunakan untuk klasifikasi teks yang
melibatkan set data pelatihan dimensi tinggi. Beberapa contohnya adalah penyaringan spam,
analisis sentimental, dan klasifikasi artikel berita.
Tidak hanya dikenal karena kesederhanaannya, tetapi juga karena keefektifannya.
Sangat cepat untuk membangun model dan membuat prediksi dengan algoritma Naive Bayes.
Naive Bayes adalah algoritma pertama yang harus dipertimbangkan untuk memecahkan
masalah klasifikasi teks.
BAB III : METODOLOGI PENELITIAN

Gambar 1. Diagram Alur Analisis Sentimen Aplikasi Gojek

Pada gambar 1, tahap awal dimulai dengan memasukkan data teks ulasan Gojek
berformat .csv. Selanjutnya, memasuki proses yang pertama yaitu Case Folding. Case
Folding berguna untuk mengubah semua huruf pada ulasan menjadi huruf kecil.
Selanjutnya, memasuki proses yang kedua yaitu Tokenisasi yang berguna membagi
teks yang dapat berupa kalimat, paragraf atau dokumen, menjadi token-token/bagian-bagian
tertentu.
Setelah selesai melakukan proses Tokenisasi, kemudian memasuki proses selanjutnya
yaitu Filtering yang berguna untuk mengambil kata-kata penting dari hasil token. Pada proses
Filtering ini dapat menggunakan algoritma stoplist membuang kata yang kurang penting.
Selanjutnya ialah Stemming, yang berguna untuk mencari akar kata dari tiap kata hasil
filtering. Tahap ini kebanyakan dipakai untuk teks berbahasa inggris dan lebih sulit
diterapkan pada teks berbahasa Indonesia.
Setelah melakukan Stemming, dilakukan proses TF-IDF. TF-IDF adalah Term
Frequency — Inverse Document Frequency adalah suatu metode algoritma yang berguna
untuk menghitung bobot setiap kata yang umum digunakan. Secara sederhana, metode TF-
IDF digunakan untuk mengetahui berapa sering suatu kata muncul di dalam dokumen.
Proses selanjutnya ialah Split Data 80-20. Pada analisis sentimen ini, data akan dibagi
menjadi 2 yaitu data latih sebanyak 80 persen dan data uji sebanyak 20 persen. Total data
yang digunakan ialah 500 data sehingga 400 data akan menjadi data latih sedangkan 100 data
lainnya akan menjadi data uji.
Setelah rangkaian proses selesai dilakukan, maka proses selanjutnya adalah menerima
output yaitu berupa nilai hasil akurasi dan matrix confusion.
BAB IV : HASIL DAN IMPLEMENTASI
4.1 Membaca Data

Gambar 2. Source Code Read Data

Library pandas digunakan untuk membaca data yang berformat .csv, kemudian
ditampilkan output sebanyak 5 data pertama

Gambar 3. Tampilan Data

4.2 Case Folding

Gambar 4. Source Code Case Folding


Pada proses ini dilakukan import library string,sklearn.pipline,numpy dan re. Proses
case folding berguna untuk mengubah semua huruf pada kolom “comment” menjadi huruf
kecil yang selanjutnya ditampilkan dengan mengeluarkan output sebanyak 100 data pertama.

Gambar 5. Output Case Folding

4.3 Tokenisasi

Gambar 6. Source Code Tokenisasi

Selanjutnya ialah proses tokenisasi. Tokenisasi berguna untuk membagi teks yang
dapat berupa kalimat, paragraf atau dokumen, menjadi token-token/bagian-bagian tertentu.
Sebagai contoh, tokenisasi dari kalimat "Aku baru saja makan" menghasilkan enam token,
yakni: "Aku", "baru", "saja", "makan". Biasanya, yang menjadi acuan pemisah antar token
adalah spasi dan tanda baca.

Gambar 7. Output Tokenisasi

4.4 Filtering

Gambar 8. Source Code Filtering

Tahapan selanjutnya ialah proses Filtering. Pada proses ini dilakukan import nltk
untuk mengunduh stopwords dalam bahasa Indonesia dan Inggris. Tahap filtering adalah
tahap mengambil kata-kata penting dari hasil token. Bisa menggunakan algoritma stoplist
membuang kata yang kurang penting atau wordlist menyimpan kata yang penting. Contoh
stopwords adalah “yang”, “dan”, “di”, “dari” dan seterusnya.

Gambar 9. Output Filtering

4.5 Stemming

Gambar 10. Source Code Stemming

Tahap stemming adalah tahap mencari root kata dari tiap kata hasil filtering. Contoh :
seen dalam v3 akan dikembalikan ke akar katanya yaitu see dalam v1. Pada tahap ini
dilakukan proses pengembalian berbagai bentukan kata ke dalam suatu representasi yang
sama. Tahap ini kebanyakan dipakai untuk teks berbahasa inggris dan lebih sulit diterapkan
pada teks berbahasa Indonesia. Pada proses stemming, kita akan menggunakan library
Sastrawi dan sklearn. Proses stemming nantinya akan mengeluarkan output berupa file
data_clean.csv.

Gambar 11. Source Code Stemming

Masing-masing kolom pada data_clean diubah tipe datanya menggunakan astype.


Fungsi astype() berfungsi untuk membuat salinan array, dan memungkinkan kita untuk
menentukan tipe data sebagai parameter.

Gambar 12. Output Stemming

Gambar 13. Output Stemming


4.6 TF-IDF

Gambar 14. Source Code TF-IDF

Tahapan selanjutnya ialah TF-IDF. Secara sederhana, metode TF-IDF digunakan


untuk mengetahui berapa sering suatu kata muncul di dalam dokumen.

Gambar 15. Output TF-IDF

4.7 Split Data

Gambar 16. Source Code Split Data

Selanjutnya ialah proses Split Data. Proses ini akan menggunakan library
sklearn.model_selection dengan mengimport train_test_split. Kemudian membagi data
menjadi 2 bagian yaitu data uji dan data latih. Data uji yang digunakan sebanyak 80 persen
atau 400 data sedangkan data latih sebanyak 20 persen atau 100 data. Pemilihan data uji akan
diacak menggunakan random_state.
4.8 Algoritma Naive Bayes

Gambar 17. Source Code Naive Bayes


Setelah melakukan serangkaian proses Natural Language Processing, tahap ini akan
menampilkan output berupa nilai matrix evaluasi accuracy,precision,recall dan f1_score.
Tahap ini juga menampilkan matrix confussion yang terdapat nilai True Positive, False
Negative, False Postive dan True Negative.

Gambar 18. Output Program


BAB V : KESIMPULAN
Setelah dilakukan proses Natural Language Processing , kemudian didapat nilai
akurasi sebesar 86 persen menggunakan algoritma Naive Bayes. Hasil 86 persen didapat dari
nilai True Positif sebanyak 38 dan nilai True Negatif 48. Kemudian dapat disimpulkan
bahwa 86 persen data uji sesuai dengan label yang diberikan baik itu positif maupun negatif.

PENUTUP

Sekian dari laporan ini yang dibuat oleh anggota kelompok kami, kami menyadari
bahwa masih banyak kekurangan baik dalam isi maupun penulisan laporan ini. Sebagai
ucapan terima kasih dari kelompok kami mengharapkan kritik dan saran yang mampu
membangun laporan ini menjadi lebih baik lagi.

Semoga laporan yang telah dibuat oleh kelompok kami ini dapat memperjelas dari
kegunaan sesungguhnya apa itu NLP (Natural Language Processing). Sekian dan
terimakasih.

DAFTAR PUSTAKA
https://www.dicoding.com/academies/86
https://algorit.ma/blog/natural-language-processing/
https://www.dqlab.id/belajar-algotirma-naive-bayes
https://dltsierra.medium.com/algoritma-tf-idf-633e17d10a80
https://dosenit.com/python/tipe-data-numpy

Anda mungkin juga menyukai