Dari kalimat mentah (ulasan, tweet, chat pelanggan) menjadi wawasan bisnis terstruktur: pembersihan teks, representasi numerik, dan klasifikasi sentimen positif/negatif.
RPS MINGGU 10 • 2 X 50 MENIT
Bagian 1 dari 3
Mengapa Teks Perlu Diproses?
Sebagian besar data yang dihasilkan bisnis digital setiap hari bukan angka rapi di spreadsheet, melainkan kalimat bebas: ulasan produk, komentar media sosial, dan tiket keluhan pelanggan.
Data Teks: Tambang Emas yang Belum Digali
Riset industri memperkirakan mayoritas data yang dihasilkan organisasi berbentuk tidak terstruktur (teks, gambar, audio) — bukan tabel rapi seperti yang kita olah di pertemuan-pertemuan sebelumnya.
DATA TAK TERSTRUKTUR
~80%
Perkiraan porsi data organisasi (estimasi industri, bukan sensus resmi)
Teks bebas: ulasan, caption, chat, email, transkrip telepon — tidak punya kolom/baris seperti data terstruktur.
DATA TERSTRUKTUR
~20%
Tabel transaksi, database penjualan
Jenis data yang sudah kita olah di Pertemuan 4–8: rapi dalam baris & kolom, siap dihitung statistik.
Karena tak berbentuk tabel, teks butuh tahap tambahan sebelum bisa dianalisis secara statistik — itulah fokus pertemuan hari ini.
Text Mining & NLP: Definisi
NLP (Natural Language Processing, pemrosesan bahasa alami) adalah cabang kecerdasan buatan yang membuat komputer bisa "membaca" dan mengolah bahasa manusia. Text mining adalah proses menggali pola dan informasi dari kumpulan teks besar — kumpulan dokumen ini disebut korpus.
Tiga Tahap Besar Analisis Teks
Pra-pemrosesan — membersihkan & menyeragamkan teks mentah (fokus utama hari ini).
Representasi — mengubah teks bersih menjadi angka yang bisa dihitung komputer.
Analisis — memakai angka itu untuk klasifikasi (mis. sentimen), pengelompokan topik, atau ringkasan.
Sumber Data Teks di Bisnis Digital
Di Indonesia, data teks bisnis paling sering muncul dari tiga kanal berikut.
MARKETPLACE
Ulasan Produk
Komentar bintang 1–5 di Tokopedia/Shopee: "barang bagus tapi kirim lambat".
MEDIA SOSIAL
Mention & Cuitan
Komentar Instagram/X yang menyebut brand, mis. keluhan layanan BBCA mobile banking.
LAYANAN PELANGGAN
Tiket & Live Chat
Transkrip keluhan di WhatsApp Business atau tiket CS yang menumpuk tiap hari.
Ketiga sumber ini adalah "korpus" mentah yang akan kita proses sepanjang pertemuan ini.
Alur Analisis Teks: Dari Mentah ke Wawasan
Hari ini kita berjalan dari kotak kedua sampai keempat: pra-pemrosesan → representasi → contoh analisis sentimen.
Bagian 2 dari 3
Pra-pemrosesan Teks (Text Preprocessing)
Sebelum komputer bisa "membaca" makna, teks mentah yang berantakan — huruf besar-kecil campur, tanda baca, kata tak bermakna — harus dibersihkan dan diseragamkan lebih dulu.
Langkah 1–2: Case Folding & Cleaning
1. Case Folding
Menyeragamkan semua huruf menjadi huruf kecil (lowercase), supaya "BAGUS", "Bagus", dan "bagus" dihitung sebagai kata yang sama oleh komputer.
"SANGAT Lambat" → "sangat lambat"
2. Cleaning
Membuang elemen yang tidak bermakna untuk analisis: URL, tanda baca berlebih, angka acak, dan emoji.
"bagus!! http://toko.com" → "bagus"
Langkah 3: Tokenisasi
Tokenisasi adalah memecah satu kalimat panjang menjadi unit-unit terkecil yang disebut token — biasanya kata per kata (disebut unigram).
"paket cepat sampai" → ["paket", "cepat", "sampai"]
Setelah tokenisasi, kalimat berubah menjadi daftar kata yang bisa dihitung satu per satu — inilah pintu masuk ke semua analisis berikutnya.
Langkah 4: Stopword Removal
Stopword adalah kata yang sangat sering muncul tapi minim makna untuk analisis — contoh Bahasa Indonesia: "yang", "di", "dan", "ke", "ini", "itu", "dengan".
Hati-hati: kata negasi seperti "tidak" atau "kurang" jangan ikut dibuang sebagai stopword — kata itu justru krusial untuk analisis sentimen di bagian tiga nanti ("tidak bagus" berarti negatif, bukan positif).
Langkah 5: Stemming (Sastrawi)
Stemming memotong imbuhan (awalan/akhiran) agar kata kembali ke bentuk dasarnya, sehingga variasi kata dianggap satu makna yang sama.
VARIASI 1
membeli
VARIASI 2
dibeli
VARIASI 3
pembelian
semua → kata dasar: "beli"
Sastrawi adalah pustaka (library) Python populer khusus untuk stemming Bahasa Indonesia, karena aturan imbuhan kita jauh lebih kompleks daripada Bahasa Inggris.
Hitung dari Nol: Pipeline Preprocessing 1 Kalimat
Kalimat ulasan asli: "Pengiriman dari Jakarta SANGAT lambat, tapi produknya bagus banget!! http://tokopedia.com/toko123" — 10 token bila dipisah spasi.
Masukkan kalimat Anda sendiri dan lihat tiap tahap — cleaning, case folding, tokenisasi, stopword removal — memangkas token satu per satu.
Bagian 3 dari 3
Representasi Teks & Analisis Sentimen
Setelah bersih, teks harus diubah menjadi angka agar bisa diproses model — lalu angka itu dipakai untuk mengklasifikasikan opini pelanggan sebagai positif, negatif, atau netral.
Bag of Words & TF-IDF
Bag of Words (BoW) merepresentasikan dokumen sebagai "tas kata" beserta frekuensi kemunculannya, mengabaikan urutan kata. TF-IDF (Term Frequency–Inverse Document Frequency) memberi bobot lebih tinggi pada kata yang sering muncul di satu dokumen tapi jarang di dokumen lain — sehingga kata yang benar-benar khas lebih menonjol daripada kata umum.
TF-IDF = TF × IDF, dengan IDF = log₂(N ÷ DF)
TF (Term Frequency): seberapa sering kata muncul dalam 1 dokumen.
DF (Document Frequency): pada berapa dokumen (dari total N) kata itu muncul.
Hitung dari Nol: Skor TF-IDF
Korpus 4 dokumen ulasan pengiriman (setelah pra-pemrosesan). Dokumen 1 = "kirim lambat paket rusak" (4 token). Kata "lambat" muncul di 2 dari 4 dokumen. Hitung skor TF-IDF kata "lambat" pada Dokumen 1.
Langkah
Perhitungan
Nilai
TF: frekuensi "lambat" di Dok. 1
1 kemunculan ÷ 4 token
0,25
DF: jumlah dokumen memuat "lambat"
2 dari 4 dokumen
DF = 2
IDF: log₂(N ÷ DF)
log₂(4 ÷ 2) = log₂(2)
1
Skor TF-IDF = TF × IDF
0,25 × 1
0,25
HASIL AKHIR
0,25
Skor TF-IDF kata "lambat" pada Dokumen 1
Coba Sendiri: Hitung Skor TF-IDF Kata Anda
Ubah jumlah kemunculan kata dalam dokumen dan jumlah dokumen yang memuatnya, lalu lihat skor TF, IDF, dan TF-IDF terhitung otomatis.
Analisis Sentimen: Dari Teks ke Opini
Analisis sentimen adalah klasifikasi otomatis polaritas opini dalam teks: positif, negatif, atau netral. Ada dua pendekatan utama.
PENDEKATAN 1
Lexicon-Based
Memakai kamus kata bersentimen (mis. "bagus" = +1, "lambat" = −1) lalu menjumlahkan skor per kalimat. Cepat & tanpa perlu data latih.
PENDEKATAN 2
Machine Learning
Memakai model seperti Naive Bayes/Decision Tree (Pertemuan 8) yang dilatih dengan fitur TF-IDF dari ulasan berlabel positif/negatif.
Studi Kasus: Sentimen Ulasan Produk UMKM
Walkthrough A — Ulasan Positif
1. Teks asli: "Produknya MANTAP, kirim cepat banget, recommended!"
2. Setelah pra-pemrosesan: ["produk","mantap","kirim","cepat","recommended"]
3. Kata kunci lexicon: "mantap"(+), "cepat"(+), "recommended"(+)
4. Label:POSITIF
Walkthrough B — Ulasan Negatif
1. Teks asli: "Kecewa, paket rusak dan pengiriman lambat sekali"
2. Setelah pra-pemrosesan: ["kecewa","paket","rusak","kirim","lambat"]
3. Kata kunci lexicon: "kecewa"(−), "rusak"(−), "lambat"(−)
4. Label:NEGATIF
Coba Sendiri: Skor Sentimen dengan Kamus Leksikon
Masukkan kalimat ulasan Anda sendiri dan lihat kata mana yang tercocokkan ke kamus sentimen serta bagaimana skor akhirnya dijumlahkan.
Evaluasi Model & Word Cloud
Evaluasi Akurasi
Sama seperti Pertemuan 8 (Naive Bayes/Decision Tree): bandingkan label prediksi model dengan label asli lewat confusion matrix.
Akurasi = (Prediksi Benar) ÷ (Total Ulasan)
Word Cloud
Visualisasi eksploratif: kata yang lebih sering muncul digambar dengan font lebih besar. Cepat menampilkan tema dominan pada kumpulan ulasan tanpa membaca satu per satu.
Latihan Praktik Mandiri
Kerjakan berkelompok (3–4 orang) dengan dataset ulasan sederhana yang disediakan dosen.
Instruksi
1. Ambil 5 kalimat ulasan mentah dari dataset — lakukan case folding, cleaning, tokenisasi, stopword removal, dan stemming secara manual.
2. Hitung skor TF-IDF untuk 1 kata pilihan Anda pada 1 dokumen, ikuti langkah di slide "Hitung dari Nol".
3. Tentukan sentimen (positif/negatif) untuk 3 kalimat memakai pendekatan lexicon-based sederhana.
4. Siapkan hasil untuk dibahas 10 menit terakhir kelas.