Empat proyek sebelumnya selalu dimulai dari data yang sudah disiapkan: penjualan kafe, harga komoditas, pelanggan, dan deret harga untuk prediksi. Proyek penutup ini membalik urutannya — keputusan pertama dan paling menentukan kini ada di tangan Anda: dataset mana yang akan dianalisis. Pada bagian ini kita membedah cara memilih dataset terbuka secara sadar, bukan asal mengunduh yang paling populer. Supaya setiap langkah tetap konkret, kita sepakat juga dataset contoh yang akan menemani seluruh sebelas bagian: nilai ujian 30 siswa dari dua kelas.

Mulai dari Pertanyaan, Bukan dari Data #

Kesalahan paling umum pemula adalah membuka katalog dataset lebih dulu, lalu mencari-cari pertanyaan yang bisa ditempelkan pada data yang menarik perhatian. Urutan ini sering berakhir di jalan buntu: data besar, kode jalan, tetapi tidak ada pertanyaan yang benar-benar ingin dijawab, sehingga analisis berhenti menjadi sekadar latihan teknis.

Alur yang sehat dibaca dari arah sebaliknya:

  1. Tuliskan topik yang membuat Anda penasaran — performa tim olahraga, harga properti, cuaca kota, kebiasaan belajar.
  2. Ubah topik menjadi pertanyaan awal, misalnya “apakah kebiasaan belajar berhubungan dengan hasil ujian?”
  3. Baru cari dataset yang memuat kolom-kolom untuk menjawabnya.

Pertanyaan boleh berubah setelah data ditemukan — itu wajar. Tetapi keputusan memilih dataset harus bisa dijelaskan dengan kalimat berpola “saya memilih dataset ini karena membantu menjawab pertanyaan tentang …”, bukan “saya memilih dataset ini karena banyak yang memakainya”.

Empat Kriteria Keputusan #

Ketika beberapa kandidat dataset sudah terkumpul, kita menilainya dengan empat kriteria berikut:

KriteriaPertanyaan kunciSinyal bahaya
Menjawab pertanyaanApakah kolomnya cukup untuk menjawab pertanyaan saya?Harus mengarang kolom baru yang datanya tidak ada
Ukuran wajarBisakah saya memuat dan mengulang analisisnya dengan cepat?Jutaan baris untuk latihan pertama
Dokumentasi adaApakah ada kamus data dan penjelasan cara pengumpulannya?Kolom bernama x1, flag_9 tanpa arti
Lisensi jelasBoleh apa saja saya lakukan dengan data ini?Tidak tertulis siapa pemilik datanya

Kita terjemahkan keempat kriteria itu menjadi fungsi kecil agar pemeriksaannya konsisten — bentuk yang sama bisa Anda pakai untuk menilai kandidat dataset Anda sendiri:

python
def nilai_kandidat(nama, menjawab_pertanyaan, jumlah_baris, ada_dokumentasi, lisensi_jelas):
    """Nilai satu kandidat dataset terhadap empat kriteria keputusan."""
    skor = {
        "menjawab pertanyaan": menjawab_pertanyaan,
        "ukuran wajar": jumlah_baris <= 100000,
        "dokumentasi ada": ada_dokumentasi,
        "lisensi jelas": lisensi_jelas,
    }
    lolos = sum(skor.values())
    print(f"Kandidat: {nama} ({jumlah_baris} baris)")
    for kriteria, status in skor.items():
        print(f"  [{'x' if status else ' '}] {kriteria}")
    print(f"  -> {'LOLOS' if lolos == 4 else 'PERLU DIPERTIMBANGKAN ULANG'}"
          f" ({lolos}/4 kriteria terpenuhi)")
    print()


nilai_kandidat("nilai siswa dua kelas (contoh proyek ini)", True, 30, True, True)
nilai_kandidat("log transaksi toko, 5 juta baris, tanpa kamus data", False, 5000000, False, False)
nilai_kandidat("data cuaca harian kota Surabaya, 2020-2025", True, 2192, True, True)

Output yang Dihasilkan:

text
Kandidat: nilai siswa dua kelas (contoh proyek ini) (30 baris)
  [x] menjawab pertanyaan
  [x] ukuran wajar
  [x] dokumentasi ada
  [x] lisensi jelas
  -> LOLOS (4/4 kriteria terpenuhi)

Kandidat: log transaksi toko, 5 juta baris, tanpa kamus data (5000000 baris)
  [ ] menjawab pertanyaan
  [ ] ukuran wajar
  [ ] dokumentasi ada
  [ ] lisensi jelas
  -> PERLU DIPERTIMBANGKAN ULANG (0/4 kriteria terpenuhi)

Kandidat: data cuaca harian kota Surabaya, 2020-2025 (2192 baris)
  [x] menjawab pertanyaan
  [x] ukuran wajar
  [x] dokumentasi ada
  [x] lisensi jelas
  -> LOLOS (4/4 kriteria terpenuhi)

Mari kita bedah hasilnya:

  1. Kandidat pertama dan ketiga lolos penuh — keduanya menjawab pertanyaan yang jelas, ukurannya masih sanggup dimuat-ulang berkali-kali selama eksplorasi, dan asal-usulnya terdokumentasi. Dataset cuaca enam tahun pun masih hanya sekitar dua ribu baris karena satu baris mewakili satu hari.
  2. Kandidat kedua gagal di semua kriteria sekaligus — lima juta baris tanpa kamus data adalah kombinasi terberat untuk pemula: lambat diproses, kolomnya tidak bisa ditafsirkan, dan pertanyaan analisisnya belum jelas. Data sebesar itu bukan halangan bagi profesional, tetapi untuk proyek mandiri yang harus dikerjakan sampai laporan akhir, ia menambah beban di semua tahap.
  3. Ambang 100.000 baris bersifat aturan praktik, bukan hukum. Patokannya sederhana: jika satu langkah pembersihan butuh menunggu puluhan detik, ritme belajar Anda rusak justru di tahap yang paling butuh eksperimen cepat.

Tiga Sumber Dataset Terbuka yang Terpercaya #

Katalog dataset terbuka ada ribuan, tetapi tiga sumber berikut sudah lama dipakai luas, gratis diakses, dan menyertakan dokumentasi pada tiap halaman datasetnya — daftar lengkapnya pernah kita bahas pada chapter Dataset Terbuka :

SumberKhasiatCocok untuk
Kaggle DatasetsKatalog terbesar, rating dan diskusi penggunaData dunia nyata berbagai topik
UCI Machine Learning RepositoryDataset klasik penelitian, halaman deskripsi tertibDataset kecil-menengah yang rapi
GitHub datasetsRepositori CSV bersih dengan README per datasetData publik (cuaca, populasi, ekonomi)

Ketiganya menampilkan lisensi pada halaman dataset, sehingga kriteria keempat langsung bisa diperiksa sebelum mengunduh. Biasakan membaca ringkasan dan cuplikan baris pertama sebelum mengunduh berkas penuh — lima menit membaca deskripsi sering menghemat satu jam kebingungan di tahap validasi.

Lisensi dan Etika Penggunaan Data #

Dataset terbuka bukan berarti bebas aturan. Dua hal yang wajib dicek sebelum memakai data di proyek Anda:

  1. Lisensi — cari keterangan lisensi di halaman dataset (misalnya CC0, CC-BY, atau lisensi khusus). Lisensi menentukan boleh tidaknya Anda membagikan ulang data, memodifikasinya, dan memakainya untuk keperluan komersial. Bila lisensi mewajibkan atribusi (seperti CC-BY), tuliskan sumbernya di bagian lampiran laporan.
  2. Etika kandungan data — pastikan dataset tidak memuat data pribadi yang sensitif. Data yang sudah teranonimkan (nama diganti kode, tanpa alamat dan identitas lengkap) aman dianalisis; data yang masih memuat identitas individu sebaiknya dihindari untuk latihan. Materi lengkapnya ada pada chapter privasi data di Section etika — prinsipnya: analis memegang tanggung jawab atas data yang dipakainya.

Kenapa Contoh Proyek Ini Memakai Data Nilai Siswa #

Dataset contoh yang menemani proyek ini adalah nilai_siswa.csv: nilai ujian 30 siswa dari kelas A dan B, dilengkapi jam belajar mingguan dan persentase kehadiran. Tiga alasan memilihnya. Pertama, semua orang pernah mengalami dunia sekolah, sehingga tiap temuan langsung terasa maknanya tanpa perlu konteks bisnis. Kedua, strukturnya tepat untuk seluruh teknik yang ingin dilatih: kolom numerik untuk korelasi dan regresi, kolom kategorikal untuk uji-t, plus tiga masalah kualitas yang sengaja ditanam untuk Bagian 4 dan 5. Ketiga, ukurannya 30 baris — setiap kode pada bagian-bagian berikut berjalan seketika, dan seluruh datanya terlihat mata.

Yang perlu diingat sejak sekarang: dataset ini adalah contoh kerja bersama. Di tiap bagian Anda akan menemui pola yang sama — kita kerjakan contohnya penuh, lalu Anda mengganti berkasnya dengan dataset pilihan Anda dan menyesuaikan nama kolomnya. Alur sebelas bagian tidak berubah; yang berubah hanya isinya.

Keputusan sudah dipegang, kandidat sudah dinilai. Langkah berikutnya adalah membaca dokumentasi dataset dengan teliti supaya tidak ada kolom yang ditafsirkan keliru — kita kerjakan pada Bagian 2: Memahami Dokumentasi Dataset .