stdsquare²
🎓 Kelas
stdsquare / materi / slides / pertemuan-09
Tema
Japan
Arcade
Dark Retro
Font
‹ Daftar slide Pertemuan 9: Analisis Teks: Pra-pemrosesan & Analisis Sentimen
Program Studi Bisnis Digital • FEB

Laboratorium Sains Data

Pertemuan 9 — Analisis Teks: Pra-pemrosesan & Analisis Sentimen

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

Teks MentahPra-pemrosesanBagian 2RepresentasiAngka (TF-IDF)Model AnalisisSentimenWawasan Bisnis
Hari ini kita berjalan dari kotak kedua sampai keempat: pra-pemrosesanrepresentasi → 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".

["paket", "yang", "saya", "beli", "sudah", "sampai"] → ["paket", "beli", "sampai"]
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.

LangkahPerhitunganNilai
Token mentah (pisah spasi)Hitung kata pada kalimat asli10 token
Cleaning: hapus URL & tanda baca10 token − 1 (URL) = 99 token
Case folding: ke huruf kecil9 token, jumlah tetap9 token
Stopword removal: buang "dari", "tapi"9 token − 2 stopword = 77 token
HASIL AKHIR
7 token
Siap direpresentasikan jadi angka (Bagian 3)

Coba Sendiri: Jalankan Pipeline Preprocessing Teks

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.

LangkahPerhitunganNilai
TF: frekuensi "lambat" di Dok. 11 kemunculan ÷ 4 token0,25
DF: jumlah dokumen memuat "lambat"2 dari 4 dokumenDF = 2
IDF: log₂(N ÷ DF)log₂(4 ÷ 2) = log₂(2)1
Skor TF-IDF = TF × IDF0,25 × 10,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.

Rangkuman & Menuju Pertemuan Berikutnya

Cheat Sheet Pipeline Hari Ini
  • Case folding → Cleaning → Tokenisasi → Stopword removal → Stemming
  • Representasi: Bag of Words & TF-IDF (TF × IDF)
  • Analisis sentimen: lexicon-based vs machine learning
  • Evaluasi: confusion matrix & akurasi (sama seperti Pertemuan 8)
MINGGU DEPAN
Big Data
Pertemuan 10: teknologi Hadoop, MapReduce & NoSQL untuk data berskala sangat besar. Bawa laptop & review materi pra-pemrosesan hari ini.

📖 Baca juga: Dcf Valuation — penjelasan mendalam dan contoh numerik.