‹ Daftar slidePertemuan 10: Text Mining & Analisis Sentimen
Text Mining & Analisis Sentimen
Mengekstrak makna dari teks bisnis dan ulasan pelanggan digital
Data SciencePertemuan 10 · Minggu 11CPMK 1, 2, 3, 4
Agenda Pertemuan
Teori (75 menit)
NLP & preprocessing teks
Tokenisasi, stopword, stemming
Representasi teks: Bag-of-Words
Pembobotan TF-IDF
Konsep analisis sentimen
Praktik & Aplikasi (75 menit)
Pipeline preprocessing Bahasa Indonesia
Membangun matriks TF-IDF sederhana
Analisis sentimen ulasan Tokopedia
Studi kasus tweet merek Indonesia
Diskusi & tugas mingguan
Tujuan Pembelajaran
01
Menjelaskan konsep NLP dan perannya dalam ekosistem Data Science bisnis
02
Melakukan preprocessing teks (tokenisasi, stopword removal, stemming) pada data berbahasa Indonesia
03
Merepresentasikan teks dengan Bag-of-Words dan TF-IDF untuk analisis lanjutan
04
Menerapkan analisis sentimen pada ulasan pelanggan dan tweet merek untuk keputusan bisnis
Topik 1
NLP & Preprocessing Teks
Tokenisasi · Stopword Removal · Stemming
Apa itu NLP?
Natural Language Processing (NLP) adalah cabang kecerdasan buatan yang memungkinkan komputer memahami, menginterpretasi, dan menghasilkan bahasa manusia secara otomatis.
NLP menghubungkan dunia teks tidak terstruktur (ulasan, email, tweet) dengan analitik terstruktur yang bisa diolah mesin.
Aplikasi NLP di Bisnis Digital
Aplikasi
Contoh Indonesia
Analisis sentimen
Ulasan Tokopedia, Shopee
Chatbot
BRImo virtual assistant
Klasifikasi email
Filter spam Telkom
Pencarian semantik
Search Gojek, Traveloka
Ringkasan otomatis
News aggregator Kompas
Pipeline Preprocessing Teks
Normalisasi
Ubah ke huruf kecil, hapus tanda baca dan URL, standarisasi singkatan.
Tokenisasi
Pecah kalimat menjadi unit kata (token). Kalimat → daftar token.
Stemming / Lemmatisasi
Kurangi kata ke bentuk dasar: "membelikan" → "beli" (PySastrawi untuk BI).
Tokenisasi & Stopword: Contoh Nyata
Input:"Pengiriman barang dari toko ini sangat cepat dan produk berkualitas baik!"
Tahap
Hasil
Catatan
Normalisasi
"pengiriman barang dari toko ini sangat cepat dan produk berkualitas baik"
Bag-of-Words merepresentasikan teks sebagai frekuensi kemunculan kata, tanpa memperhatikan urutan kata.
Kelebihan: Sederhana, cepat dihitung, efektif untuk klasifikasi dasar.
Kelemahan: Mengabaikan konteks dan urutan kata; kata "tidak bagus" dan "bagus" dianggap mengandung "bagus".
Contoh Matriks BoW
Dokumen
bagus
cepat
lambat
produk
Ulasan A
2
1
0
1
Ulasan B
0
0
1
1
Ulasan C
1
2
0
2
Setiap baris = satu dokumen (ulasan); setiap kolom = satu kata unik dari kamus.
TF-IDF: Pembobotan yang Lebih Cerdas
TF-IDF(t, d, D) = TF(t, d) × IDF(t, D)
TF — Term Frequency
Seberapa sering kata t muncul dalam dokumen d.
TF(t,d) = jumlah kemunculan t dalam d / total kata dalam d
IDF — Inverse Document Frequency
Seberapa unik kata t di seluruh koleksi D. Kata umum ("dan", "ini") mendapat bobot rendah.
IDF(t,D) = log(N / df(t)) — N = total dokumen, df(t) = dokumen yang memuat t
Contoh TF-IDF (3 ulasan, kata "pengiriman")
Ulasan
TF
IDF
TF-IDF
A (muncul 2×, 50 kata)
0,04
log(3/2)≈0,18
0,007
B (tidak muncul)
0
0,18
0,000
C (muncul 1×, 30 kata)
0,033
0,18
0,006
TF-IDF memberi bobot tinggi pada kata yang sering dalam satu dokumen tapi jarang di dokumen lain — kata yang membedakan satu dokumen dari yang lain.
BoW vs TF-IDF: Kapan Menggunakan Apa?
Dimensi
Bag-of-Words
TF-IDF
Kompleksitas
Sangat sederhana
Sedikit lebih kompleks
Performa sentimen
Baseline yang baik
Lebih akurat (umumnya)
Kata umum
Diberi bobot sama
Direduksi otomatis
Dataset kecil (<1.000 dok)
Cukup efektif
Lebih direkomendasikan
Dataset besar (>100.000 dok)
Cukup efektif
Sangat direkomendasikan
Library Python
CountVectorizer (sklearn)
TfidfVectorizer (sklearn)
Praktis: Dalam proyek Data Science, TF-IDF hampir selalu menjadi pilihan default untuk representasi teks sebelum mencoba pendekatan embedding yang lebih canggih.
Coba Sendiri: Hitung TF-IDF & Bag-of-Words
Masukkan beberapa kalimat ulasan berbahasa Indonesia, amati bagaimana bobot BoW dan TF-IDF tiap kata dihitung dan dibandingkan.
Topik 3
Analisis Sentimen
Ulasan Tokopedia · Tweet Merek · Aplikasi Bisnis
Apa itu Analisis Sentimen?
Analisis Sentimen (atau Opinion Mining) adalah proses mengidentifikasi dan mengekstrak opini subjektif dari teks — umumnya diklasifikasikan sebagai Positif, Negatif, atau Netral.
Dua Pendekatan Utama
1. Berbasis Leksikon: Gunakan kamus kata berpolaritas (mis. SentiWordNet, InSet untuk BI). Cepat, tidak perlu training data.
2. Berbasis Machine Learning: Latih classifier (Naive Bayes, SVM, LSTM, BERT) dengan data berlabel. Lebih akurat untuk domain spesifik.
Output Analisis Sentimen
Ulasan (singkat)
Sentimen
Skor
"Produknya bagus, cepat sampai!"
Positif
+0.82
"Paket datang rusak, sangat kecewa"
Negatif
-0.79
"Barang sesuai deskripsi"
Netral
+0.12
"Pengiriman lama tapi produk oke"
Campuran
+0.15
Skor sentimen: +1 (sangat positif) hingga -1 (sangat negatif). Nilai di atas adalah ilustrasi.
Studi Kasus: Ulasan Tokopedia
Skenario: Tim produk Tokopedia ingin mengidentifikasi aspek yang paling sering dikomplain pembeli pada kategori elektronik.
Pipeline Analisis
Scraping/export ulasan via API atau dataset publik
Angka ilustratif — pola umum dari riset e-commerce Indonesia.
Studi Kasus: Analisis Tweet Merek Indonesia
Skenario: Tim digital marketing Telkom Indonesia memantau sentimen publik di Twitter/X terkait peluncuran paket internet baru.
Tantangan Khusus Tweet
Bahasa informal & slang: "gak", "bngt", "mantul" (mantap betul)
Singkatan: "tp", "yg", "krn", "sm"
Emoji sebagai sentimen: 😊 = positif, 😡 = negatif
Sarkasme: "Wah koneksinya kenceng banget 😒" (ironi)
Campuran Indonesia-Inggris (code-switching)
Preprocessing Tambahan untuk Tweet
Langkah
Contoh
Hapus @mention, #hashtag, URL
"@Telkom mantap" → "mantap"
Normalisasi slang (kamus)
"gak" → "tidak", "bngt" → "banget"
Konversi emoji ke teks
😊 → "senang", 😡 → "marah"
Hapus duplikat (retweet)
RT @... dihapus
Deteksi bahasa (filter non-BI)
Pisahkan tweet Inggris
Alur Implementasi End-to-End
Studi Kasus BRImo: Social Listening
BRI menggunakan analisis sentimen untuk memantau persepsi publik terhadap aplikasi BRImo di media sosial dan app store, memungkinkan tim produk bereaksi cepat terhadap isu teknis.
Nilai Bisnis yang Terukur
Deteksi dini gangguan layanan dari lonjakan sentimen negatif
Benchmark persepsi vs kompetitor (OVO, Dana, GoPay)
Prioritas fitur berdasarkan keluhan terbanyak
Laporan brand health otomatis mingguan
Contoh Sinyal Sentimen Real-time
Waktu
Sentimen Neg %
Kata Kunci Puncak
Senin 08.00
~12%
transfer, login
Senin 09.15
~38%
error, gagal, down
Senin 09.30
~45%
server, maintanance
Senin 11.00
~15%
sudah normal, thanks
Lonjakan sentimen negatif pukul 09.15 bisa memicu alert otomatis ke tim NOC & customer service — jauh lebih cepat dari laporan manual.
Diagram: Arsitektur Sistem Analisis Sentimen
Rangkuman
5 Key Takeaway Pertemuan 10
1. NLP = Jembatan Teks ke Data
NLP memungkinkan mesin "membaca" jutaan teks dan mengekstrak insight yang tidak mungkin dilakukan manual.
2. Preprocessing = Fondasi Kualitas
Tokenisasi, stopword removal, dan stemming menentukan kualitas seluruh pipeline. Garbage in → garbage out.
3. TF-IDF > BoW untuk Bisnis
TF-IDF memberi bobot lebih cerdas pada kata bermakna. Gunakan sebagai representasi default sebelum mencoba embedding.
4. Sentimen = Suara Pelanggan Otomatis
Analisis sentimen mengubah ribuan ulasan dan tweet menjadi metrik bisnis yang actionable dalam hitungan detik.
5. Konteks Indonesia = Tantangan Ekstra
Bahasa informal, slang, afiksasi kompleks, dan code-switching membuat NLP Bahasa Indonesia butuh preprocessing khusus (PySastrawi, kamus slang).
Tugas & Diskusi
Tugas Mingguan (Individual)
Analisis 50 Ulasan Produk
Pilih satu produk di Tokopedia/Shopee — ambil minimal 50 ulasan (copy-paste ke spreadsheet)
Lakukan preprocessing manual: identifikasi stopword dan bentuk dasar kata kunci
Hitung frekuensi 10 kata paling sering (setelah preprocessing)
Klasifikasikan secara manual: positif / negatif / netral per ulasan
Buat ringkasan: apa aspek yang paling dikomplain? Apa rekomendasi bisnis Anda?