S2
IF1402 Praktikum
Sesi 2 - Text Preprocessing
Sesi 2 dari 16

Text Preprocessing

Preprocessing adalah tahap merapikan teks sebelum teks itu dipelajari model. Jika sesi 1 adalah mengenal peta, maka sesi 2 adalah membersihkan jalan agar kendaraan bisa lewat dengan lancar. Banyak model gagal bukan karena algoritmanya jelek, tetapi karena data teksnya kotor, tidak seragam, penuh typo, singkatan, emoji, URL, simbol, dan variasi penulisan yang mengacaukan pola.

Setelah sesi ini, mahasiswa diharapkan tahu mengapa preprocessing penting, apa saja langkah-langkah utamanya, dan bagaimana melihat perubahan teks dari bentuk mentah menjadi bentuk yang lebih siap diproses komputer.

Tujuan: membersihkan teks Fokus: data siap model Output: fungsi preprocessing dasar
Ide paling penting Teks mentah sering seperti kamar yang berantakan. Preprocessing adalah kegiatan merapikan kamar agar barang penting mudah ditemukan.
Manfaat praktis Kata yang sama tetapi ditulis berbeda, misalnya “Bagus”, “bagus”, dan “BAGUS”, bisa dibuat seragam agar model tidak menganggapnya sebagai tiga hal yang berbeda.
Hasil belajar Mahasiswa mampu menerapkan pembersihan dasar pada teks bahasa Indonesia dan membaca dampaknya terhadap kualitas data.

Mengapa preprocessing itu penting

Bayangkan dosen ingin memeriksa 500 lembar jawaban yang ditulis dengan gaya tidak konsisten. Ada yang hurufnya kapital semua, ada yang banyak singkatan, ada yang menulis dengan emotikon, ada yang menambahkan URL, dan ada yang salah ketik. Tentu membaca semuanya akan lebih sulit. Komputer merasakan hal yang sama saat menerima teks mentah.

Perumpamaan sederhana

Preprocessing mirip seperti mencuci sayur sebelum dimasak. Sayurnya mungkin bagus, tetapi kalau masih ada tanah, akar, dan bagian yang tidak perlu, hasil masakan menjadi kurang baik. Data teks juga begitu. Isi teksnya bisa penting, tetapi harus dibersihkan dulu agar hasil analisis lebih akurat.

Tujuan preprocessing bukan menghapus semua hal. Tujuannya adalah merapikan teks secukupnya agar pola penting lebih mudah terlihat. Itu sebabnya dosen juga perlu menjelaskan kepada mahasiswa bahwa preprocessing tidak selalu sama untuk semua kasus. Ada data yang perlu stemming, ada yang tidak. Ada data yang perlu menghapus emoji, ada yang justru mempertahankannya karena emoji bisa menunjukkan emosi.

Langkah-langkah preprocessing yang paling umum

1

Case folding

Mengubah semua huruf menjadi bentuk seragam, biasanya huruf kecil. Kata “Bagus”, “bagus”, dan “BAGUS” akan diperlakukan sama.

2

Cleaning text

Menghapus bagian yang tidak terlalu membantu, misalnya URL, tanda baca berlebihan, angka tertentu, simbol, atau karakter aneh.

3

Tokenisasi

Memecah kalimat menjadi bagian-bagian kecil, biasanya kata. Ini penting karena komputer perlu tahu batas antarunit teks.

4

Stopword removal

Menghapus kata-kata yang sangat umum dan kadang kurang membantu untuk analisis, misalnya “yang”, “dan”, “di”, “ke”.

5

Stemming atau lemmatization

Mengubah kata ke bentuk dasar. Misalnya “berjalan”, “berjalanlah”, “perjalanan” dapat didekatkan ke bentuk dasar yang lebih seragam.

6

Normalisasi

Mengubah kata tidak baku atau singkatan menjadi bentuk yang lebih standar, misalnya “gk” menjadi “tidak”, atau “bgt” menjadi “banget”.

Contoh perubahan teks dari mentah menjadi rapi

Perhatikan kalimat mentah berikut.

"Aplikasi KRS nya BAGUSSS!!! tapi pas login lamaaa bgt :( cek di https://kampus.ac.id"

Setelah case folding, hasilnya menjadi seperti ini.

"aplikasi krs nya bagusss!!! tapi pas login lamaaa bgt :( cek di https://kampus.ac.id"

Setelah cleaning URL dan simbol berlebihan, hasilnya bisa menjadi seperti ini.

"aplikasi krs nya bagusss tapi pas login lamaaa bgt cek di"

Setelah normalisasi kata tidak baku, hasilnya bisa berubah lagi.

"aplikasi krs nya bagus tapi pas login lama banget cek di"

Setelah tokenisasi, kalimat tersebut dipecah menjadi daftar kata.

['aplikasi', 'krs', 'nya', 'bagus', 'tapi', 'pas', 'login', 'lama', 'banget', 'cek', 'di']

Jika stopword tertentu dihapus, hasilnya bisa lebih fokus.

['aplikasi', 'krs', 'bagus', 'login', 'lama', 'banget', 'cek']

Dari contoh ini terlihat bahwa preprocessing bukan sulap yang membuat teks “lebih indah”, tetapi proses yang membuat teks lebih konsisten dan lebih mudah diproses model.

Kapan preprocessing terlalu banyak justru berbahaya

Mahasiswa sering berpikir bahwa semakin banyak yang dibuang, semakin bagus. Ini tidak selalu benar. Jika semua tanda baca, emoji, kata penguat, atau kata sambung dibuang tanpa pertimbangan, makna teks bisa rusak.

Contoh berbahaya

Kalimat “tidak bagus” bisa salah dipahami jika kata “tidak” dibuang sebagai stopword. Akibatnya model hanya melihat kata “bagus”, lalu menganggap kalimat itu positif.

Pelajaran penting

Preprocessing harus disesuaikan dengan tujuan. Jangan membuang bagian teks yang justru penting untuk makna.

Di data sentimen, kata negasi seperti “tidak”, “bukan”, atau “kurang” sering sangat penting. Jadi jangan asal hapus hanya karena muncul di daftar stopword umum.

Preprocessing bahasa Indonesia yang sering dibutuhkan

Singkatan tidak baku

Kata seperti “gk”, “ga”, “nggak”, “tdk”, “bgt”, dan “dr” sering perlu dinormalisasi agar seragam.

Kata berulang

Kata seperti “bagusss”, “lamaaa”, dan “mantaaap” dapat dipotong ke bentuk yang lebih normal.

Campuran bahasa

Data media sosial sering mencampur bahasa Indonesia dan Inggris. Ini perlu diperhatikan saat membuat aturan preprocessing.

Jadi preprocessing bahasa Indonesia bukan sekadar menghapus tanda baca. Ia juga sering menyentuh bahasa gaul, penulisan tidak baku, dan variasi kata yang sangat umum di data sehari-hari.

Studi kasus kecil: komentar mahasiswa terhadap LMS

Misalnya kampus ingin menganalisis komentar mahasiswa tentang LMS. Komentar mentah bisa seperti “fiturnya okee tapi lemot”, “login susahhh”, “mantap, materi gampang diakses”, dan “notifnya gk jalan”. Jika langsung dimasukkan ke model, banyak variasi penulisan dapat membuat model bingung. Tetapi setelah preprocessing, pola penting seperti “oke”, “lemot”, “susah”, “gampang”, dan “tidak jalan” menjadi lebih jelas.

Tujuan praktikum bukan hanya membersihkan data, melainkan membantu model melihat sinyal utama yang tersembunyi di balik teks mentah yang berantakan.

Contoh kode preprocessing sederhana di Python

Contoh berikut cocok untuk pengenalan awal. Kodenya tidak harus langsung sempurna, tetapi cukup untuk menunjukkan alur berpikir mahasiswa.

import re

teks = "Aplikasi KRS nya BAGUSSS!!! tapi pas login lamaaa bgt :( cek di https://kampus.ac.id"

# case folding
teks = teks.lower()

# hapus url
teks = re.sub(r'http\S+|www\S+', '', teks)

# hapus karakter selain huruf dan spasi
teks = re.sub(r'[^a-zA-Z\s]', ' ', teks)

# rapikan spasi
teks = re.sub(r'\s+', ' ', teks).strip()

print(teks)

Hasil dari kode ini belum sampai stemming atau normalisasi, tetapi sudah cukup untuk menunjukkan bahwa teks mentah bisa dibersihkan langkah demi langkah. Dosen dapat melanjutkannya dengan tokenisasi, stopword removal, dan stemming menggunakan library seperti NLTK atau Sastrawi.

Contoh alur berpikir mahasiswa yang benar

Saat melihat dataset teks, mahasiswa sebaiknya tidak langsung berkata, “Model apa yang paling bagus?” Pertanyaan yang lebih tepat adalah, “Seberapa kotor data ini?” Jika data sangat kacau, preprocessing sering lebih penting daripada memilih model yang rumit. Ini seperti ingin menang lomba memasak. Bumbu mahal tidak banyak menolong jika bahan dasarnya belum dibersihkan.

Urutan berpikir yang baik adalah melihat data dulu, mengamati masalah penulisan, menentukan pembersihan yang masuk akal, baru kemudian masuk ke representasi fitur dan model.

Ruang Diskusi Mahasiswa dengan Sistem LLM

Tanyakan konsep, latihan, studi kasus, atau minta penjelasan ulang dengan bahasa yang lebih sederhana. Sistem hanya melayani topik yang masih berkaitan dengan mata kuliah ini.

Konteks halaman: Sesi 2 - Text Preprocessing Fokus: NLP, text mining, transformer, LLM, prompt, semantic search, RAG

Halo, saya siap membantu diskusi belajar Anda.

Silakan tanyakan materi yang berkaitan dengan mata kuliah ini, misalnya preprocessing, TF-IDF, klasifikasi teks, embedding, transformer, LLM, prompt engineering, semantic search, RAG, evaluasi model, etika AI, atau studi kasus yang serupa.

Bila pertanyaan di luar tema mata kuliah, sistem akan menolak dengan sopan.

Jawaban akan dibuat lebih jelas, tidak monoton, penuh contoh, dan memakai paragraf biasa tanpa markdown.