Tutorial

Panduan Memilih Topik Skripsi Machine Learning yang Bisa Diselesaikan

14 min read

Panduan Memilih Topik Skripsi Machine Learning yang Bisa Diselesaikan

Kegagalan skripsi machine learning jarang terjadi karena kodenya sulit. Yang lebih sering terjadi adalah topik yang sejak awal memang tidak bisa diselesaikan dalam satu semester: datanya tidak pernah benar-benar ada, komputasinya tidak cukup, atau metrik keberhasilannya tidak pernah didefinisikan. Ketiganya baru terasa di minggu kedelapan, saat waktu untuk mengganti arah sudah hampir habis.

Panduan ini bukan daftar judul. Isinya cara memeriksa apakah sebuah topik layak diambil, tiga pola kegagalan yang paling sering muncul, checklist yang bisa kamu pakai saat bimbingan, dan dua contoh topik lengkap dengan dataset yang benar-benar tersedia.

Apa arti "bisa diselesaikan"

Satu semester berarti sekitar 16 minggu kalender, tetapi waktu kerja efektif biasanya jauh lebih kecil. Setelah dikurangi perkuliahan lain, revisi proposal, dan jeda menunggu balasan pembimbing, realistisnya kamu punya 10 sampai 12 minggu kerja teknis. Anggap 8 minggu untuk eksperimen dan 3 minggu untuk menulis serta revisi.

Topik dianggap layak jika empat hal ini sudah jelas sebelum kamu mengajukan judul:

  1. Data sudah bisa diunduh hari ini, bukan "katanya tersedia".
  2. Komputasi yang kamu punya cukup untuk melatih model yang kamu rencanakan, bukan model di paper.
  3. Metrik keberhasilan bisa dihitung dan angkanya masuk akal untuk dikejar.
  4. Lingkupnya bisa dipotong menjadi versi minimal yang tetap menghasilkan kontribusi.

Kalau salah satu belum jelas, topik itu belum siap diajukan, bukan berarti buruk.

Tiga mode kegagalan yang paling sering terjadi

1. Dataset tidak tersedia

Ini penyebab paling umum. Paper yang kamu baca menulis "dataset available upon request", lalu email ke penulis tidak dibalas. Atau datasetnya ada, tetapi berbayar, atau lisensinya melarang penggunaan ulang, atau ukurannya hanya beberapa ratus baris sehingga tidak cukup untuk melatih model deep learning.

Yang perlu kamu periksa, bukan hanya apakah file-nya bisa diunduh:

  • Lisensi. Banyak dataset riset hanya untuk non-komersial. Untuk skripsi biasanya aman, tetapi cantumkan di metodologi.
  • Label. Apakah labelnya sudah ada, atau kamu harus menganotasi sendiri? Satu ribu sampel dengan waktu 1 menit per sampel berarti sekitar 17 jam kerja, belum termasuk pengecekan konsistensi.
  • Pembagian data. Apakah ada split train/test resmi? Kalau tidak, kamu harus membuatnya dan menjelaskannya.
  • Bahasa dan domain. Dataset berbahasa Inggris untuk ulasan restoran tidak otomatis berlaku untuk ulasan e-commerce berbahasa Indonesia.

Untuk bahasa Indonesia, beberapa sumber yang benar-benar tersedia publik antara lain IndoNLU (berisi SmSA untuk sentimen, CASA untuk klausa, dan beberapa tugas lain), IndoLEM, serta dataset di Hugging Face dan Kaggle. Untuk domain umum, UCI Machine Learning Repository masih jadi tempat paling konsisten menyediakan dataset kecil dengan dokumentasi jelas.

2. Komputasi terlalu kecil

Google Colab versi gratis memberi akses GPU T4 dengan memori sekitar 16 GB, dan kuotanya bisa berubah sewaktu-waktu. Kaggle Notebook memberi sekitar 30 jam GPU per minggu. Itu cukup untuk banyak eksperimen skripsi, tetapi tidak untuk semuanya.

Patokan kasar yang bisa kamu pakai:

Rencana Apakah muat di GPU 16 GB
Fine-tuning BERT-base (110 juta parameter), sekuens 128 token, batch 16 Ya
Fine-tuning ResNet50 atau ViT-B/16 untuk klasifikasi gambar 224x224 Ya
Melatih CNN kecil dari nol pada 50 ribu gambar Ya, tetapi lambat
Melatih transformer dari nol Tidak
Full fine-tuning model 7 miliar parameter Tidak
LoRA pada model 7 miliar parameter dengan kuantisasi 4-bit Mungkin, tetapi lambat dan mudah kehabisan memori

Kalau topikmu mensyaratkan pelatihan dari nol atau model besar, ubah topiknya menjadi fine-tuning, atau turunkan klaim kontribusinya. Mengganti model bukan kegagalan akademik selama alasan dan batasannya dijelaskan.

3. Metrik tidak terdefinisi

"Model yang akurat" bukan tujuan penelitian. Akurasi pada data yang 95 persen kelasnya negatif akan terlihat tinggi meskipun model selalu menebak negatif. Kalau kamu tidak menentukan metrik sebelum eksperimen, kamu akan cenderung memilih angka yang paling bagus setelah eksperimen selesai, dan itu bukan penelitian.

Tentukan tiga hal di proposal:

  • Metrik utama dan alasannya. Untuk kelas tidak seimbang, macro-F1 atau PR-AUC lebih informatif daripada akurasi.
  • Ambang keputusan, kalau metriknya bergantung ambang, misalnya F1.
  • Pembanding. Baseline sederhana seperti TF-IDF dengan regresi logistik atau model mayoritas. Tanpa baseline, kenaikan performa tidak bisa diklaim sebagai kontribusi.

Kalau kamu menganotasi data sendiri, laporkan juga kesepakatan antar-anotator. Cohen's kappa di kisaran 0,61 sampai 0,80 biasanya disebut kesepakatan substansial dalam literatur statistik (Landis dan Koch, 1977). Di bawah 0,40, labelnya terlalu subjektif untuk dijadikan target tunggal.

Checklist sebelum mengajukan judul

Bawa tabel ini ke bimbingan. Jawab jujur, bukan optimistis.

Pertanyaan Tanda aman Tanda bahaya
Bisa unduh dataset dalam 10 menit? Tautan publik langsung "Available upon request"
Ukuran data cukup? Ribuan sampel berlabel Ratusan, atau tanpa label
Label konsisten? Ada panduan anotasi Label dari kata kunci otomatis
Muat di GPU yang kamu punya? Fine-tuning model base Latih dari nol, model 7B+
Metrik utama jelas? Ditulis di proposal "Akurasi setinggi mungkin"
Ada baseline? Model sederhana + metrik sama Hanya membandingkan dengan paper
Ada risiko data leakage? Split dilakukan sebelum praproses Normalisasi sebelum split
Ada versi minimal? Bisa selesai dengan satu model Butuh lima model sekaligus
Ada pembanding di literatur? Minimal tiga paper relevan Tidak ada paper pendukung
Waktu eksperimen realistis? Satu eksperimen di bawah 1 hari Satu eksperimen berhari-hari

Kalau ada lebih dari dua jawaban di kolom bahaya, potong lingkupnya sebelum mengajukan.

Dua contoh topik yang bisa diselesaikan

Contoh 1: Klasifikasi sentimen ulasan produk berbahasa Indonesia

Rumusan. Membandingkan TF-IDF dengan regresi logistik dan IndoBERT untuk klasifikasi sentimen tiga kelas pada ulasan berbahasa Indonesia, lalu menganalisis jenis kesalahan masing-masing model.

Dataset. IndoNLU menyediakan SmSA, kumpulan sekitar 11 ribu kalimat berbahasa Indonesia dengan label positif, netral, dan negatif. Alternatifnya, dataset ulasan produk berbahasa Indonesia yang tersedia di Hugging Face atau repositori universitas, asalkan lisensinya jelas.

Metrik. Macro-F1, karena kelas netral biasanya paling sedikit. Laporkan juga confusion matrix.

Komputasi. Fine-tuning IndoBERT pada 11 ribu kalimat selesai dalam hitungan menit sampai di bawah satu jam di GPU T4. Baseline TF-IDF selesai di CPU.

Kontribusi yang jujur. Bukan "model baru", tetapi perbandingan yang terkontrol dan analisis error. Itu cukup untuk skripsi sarjana, asalkan analisisnya benar-benar dilakukan, bukan hanya tabel angka.

Risiko. Domain shift. Model yang dilatih pada satu sumber ulasan bisa turun performanya pada sumber lain. Uji ini secara eksplisit dan jadikan temuan, bukan kegagalan.

Contoh 2: Klasifikasi penyakit daun dengan transfer learning

Rumusan. Mengukur seberapa besar manfaat transfer learning dari ImageNet untuk klasifikasi penyakit daun, dengan membandingkan CNN kecil yang dilatih dari nol dan ResNet50 yang di-fine-tune.

Dataset. PlantVillage, sekitar 54 ribu gambar daun dengan 38 kelas dan 14 spesies tanaman, tersedia publik dan banyak dicerminkan di Kaggle.

Metrik. Macro-F1 dan confusion matrix per kelas. Distribusi kelasnya tidak seimbang, jadi akurasi saja menyesatkan.

Komputasi. ResNet50 pada 224x224 dengan GPU T4 membutuhkan beberapa menit per epoch. Dua puluh epoch masih terjangkau dalam satu sesi.

Kontribusi yang jujur. Membuktikan secara empiris pada dataset ini seberapa besar selisih performa antara model dari nol dan model pre-trained, plus analisis kelas yang paling sering tertukar.

Risiko yang wajib disebut. Banyak gambar PlantVillage diambil di latar belakang laboratorium yang seragam. Model bisa belajar latar belakang, bukan gejala penyakit. Lakukan split berdasarkan kelompok gambar atau daun, bukan acak per gambar, dan diskusikan dampaknya. Menemukan masalah ini dan menanganinya justru nilai tambah skripsi.

Uji satu minggu sebelum commit

Sebelum menulis proposal final, lakukan uji kecil ini:

  1. Unduh dataset dan buka 100 baris pertamanya.
  2. Jalankan baseline paling sederhana yang bisa kamu tulis dalam satu jam.
  3. Hitung metrik yang kamu rencanakan pada split yang sudah kamu tentukan.
  4. Catat waktu yang kamu habiskan.

Kalau langkah 1 sampai 3 belum selesai dalam satu minggu, topiknya terlalu besar atau datanya tidak siap. Lebih baik tahu sekarang daripada di minggu kesepuluh.

Kalau kamu sudah punya dua atau tiga kandidat topik dan ingin memastikan mana yang paling realistis, kami bisa membantu memetakannya sebelum kamu mengajukan judul. Lihat layanan CordivAI untuk bentuk dukungannya, atau baca dulu panduan cross-validation supaya evaluasi yang kamu rencanakan sejak awal sudah benar.

Langkah berikutnya

Topik yang baik adalah topik yang bisa kamu jelaskan dalam satu paragraf, datanya bisa kamu unduh hari ini, dan metriknya bisa kamu hitung minggu depan. Sisanya soal disiplin memotong lingkup.

Kalau kamu ingin mendiskusikan topik yang sedang kamu pertimbangkan, hubungi kami lewat WhatsApp atau lihat paket dan sesi konsultasi di halaman layanan.