Sampling Data: Cara Ambil Sampel yang Gak Bias
Blog/Tips & Trik/Sampling Data: Cara Ambil Sampel yang Gak Bias

Sampling Data: Cara Ambil Sampel yang Gak Bias

BimaBima
·23 Mei 2026·9 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

Sampling data adalah cara ngambil sebagian kecil data buat nyimpulin sesuatu tentang keseluruhannya. Empat teknik yang paling sering dipakai: simple random (acak murni), stratified (jaga proporsi tiap kelompok), systematic (ambil tiap data ke-n), dan cluster (ambil beberapa kelompok utuh). Sampel yang bias bukan masalah jumlah — nambah 10 ribu responden dari sumber yang salah tetap ngasih jawaban yang salah.

Sampling data adalah cara ngambil sebagian kecil data buat nyimpulin sesuatu tentang keseluruhannya.

Yang bikin sampel bagus bukan jumlahnya, tapi cara milihnya. Sampel 385 orang yang dipilih acak bisa ngalahin 10 ribu responden yang dipilih asal-asalan.

Di bawah ini empat teknik sampling yang paling sering kepakai, query SQL-nya, dan lima jenis bias yang diam-diam ngerusak kesimpulan kamu.

Kapan Kamu Perlu Sampling?

Tiga situasi.

  1. Datanya kegedean. Query 200 juta baris makan waktu 15 menit. Ambil 1% dulu buat eksplorasi awal.
  2. Ngumpulin datanya mahal. Survei 50 ribu pelanggan nggak masuk akal. Survei 400 yang dipilih bener, cukup.
  3. Testing. Kamu mau ngetes query atau model, nggak perlu dataset penuh.

Kalau data kamu cuma 8 ribu baris dan query-nya jalan 2 detik, nggak usah sampling. Pakai semuanya.

Apa Aja Teknik Sampling yang Paling Sering Dipakai?

1. Simple Random Sampling

Tiap baris punya peluang sama buat kepilih. Paling gampang, dan paling aman kalau kamu nggak tau struktur datanya.

SELECT *
FROM penjualan
ORDER BY RANDOM()
LIMIT 385;

Buat tabel yang gede banget, ORDER BY RANDOM() jadi lambat karena harus ngurutin semua baris dulu. Pakai ini:

SELECT *
FROM penjualan TABLESAMPLE SYSTEM (5);  -- ambil ~5% baris

Detail cara kerjanya ada di dokumentasi SELECT PostgreSQL.

Kelemahan: kelompok kecil bisa nggak kewakilan. Kalau pelanggan Papua cuma 0,5% dari total, mereka bisa nggak muncul sama sekali di sampel.

2. Stratified Sampling

Bagi populasi jadi kelompok (strata), lalu ambil sampel acak dari setiap kelompok.

WITH bernomor AS (
    SELECT
        p.*,
        ROW_NUMBER() OVER (PARTITION BY c.kota ORDER BY RANDOM()) AS urutan
    FROM penjualan p
    JOIN pelanggan c ON c.pelanggan_id = p.pelanggan_id
)
SELECT *
FROM bernomor
WHERE urutan <= 100;

Query ini ngasih 100 transaksi acak per kota. Kota kecil tetap kewakilan.

Pakai kalau: kamu tau ada kelompok yang beda karakternya, dan kamu mau semuanya kewakilan.

Ini teknik yang dipakai BPS buat survei nasional. Sampelnya dijaga proporsional per provinsi.

3. Systematic Sampling

Ambil tiap data ke-n. Sederhana, cepat.

WITH bernomor AS (
    SELECT *, ROW_NUMBER() OVER (ORDER BY transaksi_id) AS rn
    FROM penjualan
)
SELECT *
FROM bernomor
WHERE rn % 20 = 0;

Bahaya tersembunyi: kalau data kamu punya pola berulang yang kebetulan selaras sama angka n, hasilnya bias parah.

Contoh: data transaksi diurut per hari, dan kamu ambil tiap baris ke-7. Kamu bisa dapat data hari Minggu doang.

4. Cluster Sampling

Bagi populasi jadi kelompok, lalu pilih beberapa kelompok utuh secara acak. Semua anggota kelompok terpilih ikut disurvei.

Pakai kalau: biaya jalan ke lokasi mahal. Contoh: survei 10 kelurahan yang dipilih acak, dari 200 kelurahan.

Bedanya sama stratified: stratified ngambil sebagian dari semua kelompok. Cluster ngambil semua dari sebagian kelompok.

TeknikAkurasiBiayaCocok buat
Simple randomBagusRendahData digital, populasi homogen
StratifiedPaling bagusSedangAda kelompok yang beda karakter
SystematicCukupRendahData yang urutannya acak
ClusterPaling rendahPaling murahSurvei lapangan yang mahal

Berapa Jumlah Sampel yang Cukup?

Buat populasi besar, 385 sampel ngasih margin of error sekitar 5% di tingkat kepercayaan 95%.

Naikin jadi 1.000, margin-nya turun ke sekitar 3%. Naikin jadi 10.000, cuma turun ke sekitar 1%.

Lihat polanya: nambah 9.000 sampel cuma nurunin margin 2 poin. Biayanya nggak sebanding.

Yang jauh lebih nentuin: cara milihnya bener atau nggak.

Lima Bias yang Diam-diam Ngerusak Sampel Kamu

Selection bias. Cara kamu milih sampel udah miring dari awal. Survei kepuasan lewat aplikasi cuma nangkep orang yang masih pakai aplikasi.

Survivorship bias. Kamu cuma lihat yang "selamat". Survei ke pelanggan aktif nggak nangkep pelanggan yang udah kabur — padahal mereka yang paling nggak puas.

Non-response bias. Orang yang mau ngisi survei beda karakternya sama yang males. Biasanya yang ngisi itu yang puas banget atau kecewa banget. Yang di tengah diem.

Timing bias. Ambil data transaksi cuma di akhir pekan? Kamu nggak bakal lihat pola belanja hari kerja.

Convenience bias. Ambil sampel dari yang paling gampang dijangkau. Survei di kantor pusat Jakarta lalu digeneralisir jadi "perilaku pelanggan Indonesia".

Contoh Kasus: Sampling yang Salah di Toko Berkah

Dataset toko_berkah punya Ngulik Data isinya 8.400 transaksi warung kelontong di Semarang, 142 produk, Januari–Maret 2026.

Pemiliknya mau tau rata-rata nilai belanja per transaksi. Dia ambil sampel 200 transaksi — tapi cuma dari jam 17.00–20.00, karena itu jam dia lagi jaga toko.

Hasilnya: rata-rata Rp 34.200 per transaksi.

Waktu aku hitung pakai simple random sampling dari seluruh jam operasional, hasilnya beda jauh: Rp 21.800.

Selisihnya 57%. Kenapa?

Ternyata jam 17.00–20.00 itu jam pulang kerja — orang belanja mingguan, keranjang penuh. Sementara jam 07.00–10.00 didominasi ibu-ibu yang beli 2–3 item buat masak hari itu.

Kalau pemiliknya ngambil keputusan stok berdasarkan angka Rp 34.200, dia bakal over-stock parah.

Sampelnya 200 — jumlahnya cukup. Yang salah cara milihnya. Ini timing bias, dan nambah sampel jadi 2.000 dari jam yang sama nggak bakal benerin apa-apa.

Kesalahan Umum Waktu Sampling

Ngira sampel besar otomatis akurat. Ini salah kaprah paling mahal. Sampel bias tetap bias walau jumlahnya sejuta.

Pakai systematic sampling di data yang urutannya berpola. Cek dulu urutan datanya sebelum ambil tiap baris ke-n.

Lupa ORDER BY RANDOM(), cuma pakai LIMIT. SELECT * FROM penjualan LIMIT 385 itu bukan sampling. Itu ngambil 385 baris pertama, yang biasanya transaksi paling lama.

Nggak nyimpan seed acaknya. Kalau kamu perlu hasil yang bisa direproduksi, pakai SETSEED() di PostgreSQL sebelum RANDOM().

Nggak nyebut metode sampling di laporan. Kalau kamu nulis "rata-rata belanja Rp 21.800", sebut juga sampelnya diambil gimana. Tanpa itu, orang nggak bisa nilai hasilnya bisa dipercaya atau nggak.

FAQ

Apa itu sampling data?

Sampling data adalah cara ngambil sebagian kecil data dari keseluruhan populasi, buat nyimpulin sesuatu tentang populasi itu tanpa harus ngecek semuanya. Contohnya: buat tau kepuasan 50 ribu pelanggan, kamu cukup survei 400 orang yang dipilih dengan bener. Kuncinya ada di cara milihnya, bukan di jumlahnya.

Apa bedanya stratified sampling sama cluster sampling?

Stratified sampling ngebagi populasi jadi kelompok (misal per kota), lalu ngambil sampel acak dari SETIAP kelompok sesuai proporsinya. Cluster sampling ngebagi populasi jadi kelompok juga, tapi lalu milih BEBERAPA kelompok secara acak dan ngambil semua anggotanya. Stratified lebih akurat, cluster lebih murah dan cepat dijalanin di lapangan.

Berapa jumlah sampel yang cukup?

Buat populasi besar, 385 sampel udah ngasih margin of error sekitar 5% di tingkat kepercayaan 95%. Naikin jadi 1.000 sampel cuma nurunin margin jadi sekitar 3%. Jadi lonjakan jumlah sampel ngasih hasil yang makin sedikit. Yang jauh lebih penting: cara milihnya bener atau nggak. Sampel 385 yang acak ngalahin 10 ribu sampel yang bias.

Apa itu survivorship bias?

Survivorship bias terjadi kalau kamu cuma ngeliat data yang "selamat" dan lupa sama yang hilang. Contoh: kamu survei kepuasan ke pelanggan aktif, tapi pelanggan yang udah kabur nggak kesurvei. Hasilnya kelihatan bagus, padahal orang yang paling nggak puas justru udah pergi duluan. Ini bias yang paling sering ngerusak analisis retensi.

Gimana cara ngambil sampel acak di SQL?

Di PostgreSQL pakai ORDER BY RANDOM() LIMIT n, di MySQL pakai ORDER BY RAND() LIMIT n, dan di BigQuery pakai fungsi RAND() di klausa WHERE. Buat tabel yang besar banget, ORDER BY RANDOM() jadi lambat karena harus ngurutin semua baris dulu. Alternatifnya pakai TABLESAMPLE di PostgreSQL yang jauh lebih cepat.

Penutup

Tiga hal yang perlu nempel.

Cara milih sampel jauh lebih nentuin ketimbang jumlahnya. Kasus toko_berkah di atas buktinya — 200 sampel dari jam yang salah ngasih angka yang meleset 57%.

Stratified sampling pilihan paling aman kalau kamu tau ada kelompok yang karakternya beda.

Dan LIMIT tanpa ORDER BY RANDOM() itu bukan sampling. Itu cuma ngambil baris pertama.

Mau latihan query sampling-nya langsung? Cek panduan ORDER BY dan glossary window function buat ngerti ROW_NUMBER() OVER (PARTITION BY ...) yang dipakai di stratified sampling.

Kalau kamu baru mulai belajar analisis data, kurikulum lengkapnya ada di belajar data analyst dari nol.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel Terkait

Cara Baca Laporan Data dengan Kritis: 7 Pertanyaan Wajib
Tips & Trik
10 Juli 2026•8 menit baca

Cara Baca Laporan Data dengan Kritis: 7 Pertanyaan Wajib

Angka di laporan bisa bener semua tapi tetap nyesatin. Ini 7 pertanyaan yang aku pakai tiap kali dapat laporan dari orang lain.

BimaBima
Produktivitas Data Analyst: Sistem Kerja biar Gak Kebanjiran Request
Tips & Trik
7 Juli 2026•10 menit baca

Produktivitas Data Analyst: Sistem Kerja biar Gak Kebanjiran Request

Sistem 5 langkah buat data analyst yang tiap hari kebanjiran request dadakan — dari intake form, matriks prioritas, sampai cara nolak tanpa bikin stakeholder ngambek.

BimaBima
Bias dalam Analisis Data: 8 Jebakan yang Sering Gak Kerasa
Tips & Trik
4 Juli 2026•8 menit baca

Bias dalam Analisis Data: 8 Jebakan yang Sering Gak Kerasa

Delapan bias analisis data yang paling sering nyelip di kerjaan analyst — dari survivorship bias sampai Simpson's paradox — plus cara ngecek dan ngebenerinnya.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

Copyright © 2026 - All rights reserved

LINKS
SupportPricingDatasetBlogAffiliates
LEGAL
Terms of servicesPrivacy policy
Ngulik Data
DatasetLeaderboardBlogStore