Bab 5: Data Cleaning & Conditional Formatting

Apa yang Akan Kamu Pahami Setelah Bab Ini
  • Pentingnya Data Cleaning dalam mencegah analisis dan keputusan bisnis yang salah.
  • Penanganan 3 anomali data utama: Missing Value, Duplikasi, dan Inconsistent Text.
  • Fitur Conditional Formatting untuk mendeteksi data bermasalah secara visual.
  • Fitur Data Validation (seperti Dropdown List) untuk mencegah data kotor sejak awal.

Kenapa Data Cleaning Begitu Penting

Bayangkan kamu mendapatkan data transaksi Belanjain selama satu bulan terakhir untuk dianalisis. Sekilas data ini terlihat baik-baik saja, ratusan baris data lengkap dengan nama pelanggan, tanggal transaksi, produk, dan nilai pembelian. Namun ketika kamu mulai menghitung total penjualan menggunakan formula, hasilnya justru terlihat aneh, jauh lebih kecil dari yang seharusnya. Setelah ditelusuri, ternyata beberapa sel pada kolom nilai pembelian kosong, beberapa transaksi tercatat dua kali karena kesalahan input, dan ada penulisan nama kota yang tidak konsisten seperti "Jakarta", "JAKARTA", dan "jakarta " (dengan spasi tambahan di akhir) yang sebenarnya merujuk pada kota yang sama namun dianggap berbeda oleh Spreadsheet.

Situasi seperti ini sangat umum terjadi dalam pekerjaan nyata seorang Data Analyst. Data yang berasal dari input manual, penggabungan beberapa sumber, atau sistem yang tidak sepenuhnya terstandardisasi, hampir selalu memiliki masalah semacam ini. Sering dikatakan bahwa seorang Data Analyst menghabiskan sebagian besar waktunya, bahkan bisa mencapai lebih dari separuh total waktu proyek, hanya untuk membersihkan data sebelum benar-benar bisa dianalisis. Data yang tidak dibersihkan dengan baik akan menghasilkan angka yang salah, dan yang lebih berbahaya, angka yang salah ini bisa saja terlihat meyakinkan dan tidak disadari kesalahannya, sehingga berujung pada keputusan bisnis yang keliru.

Missing Value

Sel yang seharusnya berisi data justru kosong.

Duplikasi

Satu observasi tercatat lebih dari satu kali.

Inconsistent Text

Data bermakna sama, ditulis dengan cara berbeda ("Jakarta" vs "JAKARTA").

Missing Value: Data yang Kosong

Missing value adalah kondisi ketika sebuah sel yang seharusnya berisi data justru kosong. Sebelum menangani missing value, langkah pertama yang perlu dilakukan adalah mengidentifikasi di mana saja missing value ini muncul, dan yang tidak kalah penting, memahami kenapa data tersebut kosong.

Untuk mengidentifikasi missing value pada dataset yang cukup besar, salah satu cara yang bisa dipakai adalah menggunakan fitur filter pada header kolom, yang memungkinkan kamu melihat sel kosong (biasanya ditandai dengan opsi "Blank" atau kosong pada daftar filter) secara terpisah dari nilai lainnya. Cara lain adalah dengan menggunakan formula yang bisa menghitung jumlah sel kosong dalam sebuah range, sehingga kamu bisa cepat mengetahui seberapa besar masalah missing value ini sebelum memutuskan cara menanganinya.

Setelah mengidentifikasi missing value, ada beberapa pendekatan yang bisa dipilih tergantung konteksnya. Pendekatan pertama adalah menghapus baris yang memiliki missing value, pendekatan ini masuk akal ketika jumlah baris yang bermasalah relatif sedikit dibanding total data, dan kolom yang kosong tersebut memang penting untuk analisis yang sedang dilakukan. Namun pendekatan ini perlu hati-hati, karena jika baris yang dihapus ternyata cukup banyak, kamu berisiko kehilangan informasi penting dan membuat hasil analisis menjadi bias, misalnya jika transaksi yang datanya kosong ternyata berasal dari kota tertentu secara konsisten, penghapusan baris ini bisa membuat data kota tersebut jadi kurang terwakili.

Pendekatan kedua adalah mengisi missing value dengan nilai tertentu, sebuah proses yang dikenal sebagai imputasi. Nilai pengganti ini bisa berupa nol jika memang secara logis kekosongan tersebut berarti tidak ada transaksi, bisa berupa rata-rata atau median dari kolom yang sama jika kekosongan tersebut kemungkinan besar hanya masalah pencatatan, atau bisa berupa keterangan seperti "Tidak Diketahui" untuk kolom bertipe teks. Pemilihan nilai pengganti ini harus didasarkan pada pemahaman konteks data, bukan sekadar memilih cara yang paling mudah. Sebagai ilustrasi, jika kolom metode pembayaran pada data Belanjain kosong untuk beberapa transaksi, mengisinya dengan nol jelas tidak masuk akal karena metode pembayaran bukan data numerik, sehingga keterangan seperti "Tidak Diketahui" akan jauh lebih tepat dibanding memaksakan angka nol.

Pendekatan ketiga, yang sering menjadi langkah paling awal sebelum memutuskan dua pendekatan sebelumnya, adalah menelusuri kembali sumber data untuk mencari tahu apakah data yang hilang ini sebenarnya bisa ditemukan dari sumber lain, misalnya sistem pencatatan transaksi aslinya, sebelum memutuskan untuk menghapus atau mengisi dengan nilai perkiraan.

KondisiPendekatan yang Disarankan
Sedikit baris kosong, kolom penting untuk analisisHapus baris tersebut
Kekosongan bermakna "tidak ada transaksi"Isi dengan nol
Kekosongan pada kolom kategorikal (mis. metode pembayaran)Isi dengan "Tidak Diketahui"
Data mungkin masih tersedia di sumber lainTelusuri kembali ke sumber asli

Duplikasi: Data yang Tercatat Berulang

Duplikasi adalah kondisi ketika satu observasi yang sama tercatat lebih dari satu kali dalam dataset, sesuatu yang bisa terjadi karena berbagai sebab, misalnya kesalahan sistem yang mencatat transaksi dua kali akibat gangguan koneksi saat pelanggan melakukan checkout, atau kesalahan manusia ketika menggabungkan data dari beberapa sumber berbeda tanpa memeriksa apakah ada data yang sama sudah tercatat sebelumnya.

Mengidentifikasi duplikasi tidak selalu sesederhana mencari baris yang benar-benar identik di semua kolomnya. Pada praktiknya, duplikasi sering kali hanya terjadi pada kombinasi kolom tertentu yang menjadi penanda unik sebuah observasi, misalnya dalam data transaksi Belanjain, dua baris bisa dianggap duplikat jika memiliki ID transaksi yang sama, meskipun kolom lainnya seperti waktu pencatatan sistem mungkin berbeda sedikit karena alasan teknis. Oleh karena itu, sebelum menghapus data yang dianggap duplikat, penting untuk terlebih dahulu menentukan kolom atau kombinasi kolom apa yang seharusnya menjadi identitas unik dari setiap baris data.

Setelah kolom identitas unik ditentukan, Spreadsheet memiliki fitur yang bisa membantu menemukan dan menghapus baris duplikat berdasarkan kolom tertentu yang dipilih. Namun perlu kehati-hatian ekstra ketika menggunakan fitur ini, karena penghapusan data yang tidak tepat sasaran bisa menghilangkan data yang sebenarnya valid, bukan duplikat. Sebagai praktik yang baik, sebelum benar-benar menghapus baris yang dianggap duplikat, sebaiknya baris tersebut ditandai terlebih dahulu dan diperiksa secara manual jika jumlahnya masih memungkinkan untuk dicek satu per satu, terutama untuk dataset yang digunakan dalam pengambilan keputusan penting.

Inconsistent Text: Penulisan yang Tidak Seragam

Inconsistent text adalah masalah ketika data yang secara makna sebenarnya sama, namun ditulis dengan cara yang berbeda-beda, sehingga dianggap sebagai nilai yang berbeda oleh Spreadsheet maupun formula yang dipakai untuk mengolahnya. Masalah ini sangat umum terjadi terutama pada data yang diinput secara manual oleh banyak orang berbeda, atau digabungkan dari berbagai sumber dengan standar penulisan yang tidak seragam.

Beberapa bentuk inconsistent text yang paling sering ditemui antara lain perbedaan huruf kapital, misalnya "Jakarta", "JAKARTA", dan "jakarta" yang sebenarnya merujuk pada kota yang sama. Bentuk lain adalah spasi tambahan yang tidak terlihat kasat mata, misalnya "Jakarta" dan "Jakarta " (dengan spasi tambahan di akhir) yang secara visual terlihat identik, namun dianggap berbeda oleh sistem karena secara teknis memang berbeda karakter. Bentuk lain lagi adalah variasi penulisan atau singkatan yang berbeda untuk hal yang sama, misalnya "Yogyakarta", "Jogja", dan "DIY" yang semuanya merujuk pada daerah yang sama namun ditulis dengan cara berbeda.

Untuk menangani masalah huruf kapital yang tidak konsisten, Spreadsheet memiliki fungsi-fungsi teks yang bisa mengubah seluruh teks menjadi format tertentu secara konsisten, misalnya mengubah semua huruf menjadi kapital semua, huruf kecil semua, atau huruf kapital hanya di awal setiap kata. Untuk masalah spasi tambahan yang tidak terlihat, ada fungsi khusus yang bisa menghapus spasi berlebih di awal, akhir, maupun di antara kata dalam sebuah teks. Sementara untuk masalah variasi penulisan atau singkatan yang berbeda, penanganannya biasanya memerlukan fungsi pencarian dan penggantian teks, atau dalam kasus yang lebih kompleks, memerlukan tabel referensi terpisah yang memetakan setiap variasi penulisan ke satu bentuk standar yang disepakati, sebelum data tersebut digabungkan ke tabel utama.

Pembahasan mendalam mengenai fungsi-fungsi teks spesifik ini, termasuk cara penulisan sintaksnya, akan dibahas lebih detail pada Bab 6 mengenai formula logika dan teks. Fokus di bab ini adalah memahami bahwa masalah inconsistent text ini nyata dan sangat sering terjadi, sehingga kamu perlu terbiasa memeriksa data secara teliti sebelum menganggapnya siap untuk dianalisis.

Conditional Formatting: Mendeteksi Masalah Secara Visual

Setelah memahami jenis-jenis masalah data di atas, satu fitur yang sangat membantu dalam proses data cleaning adalah conditional formatting, yaitu fitur yang memungkinkan tampilan sebuah sel (seperti warna latar belakang atau warna teks) berubah secara otomatis berdasarkan kondisi tertentu yang ditetapkan. Fitur ini sangat berguna untuk menyorot data yang berpotensi bermasalah secara visual, tanpa harus memeriksa setiap baris satu per satu secara manual.

Sebagai ilustrasi penggunaan yang paling dasar, kamu bisa menerapkan conditional formatting pada kolom nilai transaksi Belanjain agar sel dengan nilai kosong otomatis berwarna merah, sehingga missing value pada kolom tersebut langsung terlihat mencolok begitu kamu membuka file. Contoh lain, kamu bisa menerapkan conditional formatting pada kolom tanggal transaksi agar tanggal yang berada di luar rentang waktu yang wajar, misalnya tanggal yang tercatat di masa depan padahal seharusnya tidak mungkin terjadi, otomatis disorot dengan warna berbeda agar mudah ditemukan.

Conditional formatting juga bisa digunakan untuk kebutuhan yang lebih dari sekadar mendeteksi masalah data, misalnya menyorot nilai transaksi yang berada di atas ambang batas tertentu untuk menandai transaksi bernilai tinggi, atau menerapkan skema warna gradasi (color scale) pada sebuah kolom angka, sehingga nilai tertinggi dan terendah dalam kolom tersebut langsung terlihat dari intensitas warnanya tanpa perlu membaca angka satu per satu. Meskipun penggunaannya terlihat sederhana, conditional formatting adalah alat bantu visual yang sangat efektif untuk mempercepat proses pemeriksaan data, terutama ketika dataset yang dihadapi cukup besar sehingga tidak realistis diperiksa baris demi baris secara manual.

Data Validation: Mencegah Data Kotor Sejak Awal

Jika conditional formatting berfungsi mendeteksi masalah pada data yang sudah ada, data validation berfungsi mencegah data yang tidak sesuai aturan masuk ke dalam sel sejak awal, sebelum masalah tersebut sempat terjadi. Fitur ini sangat berguna terutama untuk template yang akan diisi oleh banyak orang, misalnya template input data pesanan yang akan diisi oleh beberapa staf operasional Belanjain setiap hari.

Data validation memungkinkan kamu menetapkan aturan tertentu pada sebuah sel atau range sel, misalnya membatasi input hanya berupa angka dalam rentang tertentu, membatasi input hanya berupa tanggal yang valid, atau yang paling sering dipakai, membatasi input hanya berupa pilihan tertentu dari sebuah daftar yang sudah ditentukan sebelumnya, sering disebut sebagai dropdown list. Sebagai ilustrasi, jika Belanjain ingin memastikan kolom kategori produk selalu diisi dengan salah satu dari kategori resmi yang sudah ditetapkan seperti "Fashion", "Elektronik", "Kecantikan", dan seterusnya, penerapan data validation berupa dropdown list akan mencegah staf yang menginput data secara tidak sengaja menuliskan variasi lain seperti "fashion" huruf kecil semua atau "Fashion " dengan spasi tambahan, karena mereka hanya bisa memilih dari daftar yang sudah disediakan, bukan mengetik bebas.

Penerapan data validation sejak awal, terutama pada template yang akan dipakai berulang kali oleh banyak orang, adalah salah satu cara paling efektif untuk mencegah masalah inconsistent text maupun kesalahan input lainnya, dibandingkan harus membersihkan data yang sama berulang kali setiap kali data baru masuk. Prinsip ini sejalan dengan pepatah yang sering dipakai dalam dunia data, yaitu mencegah data kotor jauh lebih efisien dibanding membersihkan data kotor yang sudah terlanjur banyak.

Rangkuman Bab
  • Mitigasi Anomali: Memilih strategi tepat (hapus baris, imputasi, atau penelusuran) berdasarkan konteks missing value.
  • Kunci Unik Duplikasi: Mengidentifikasi kolom penanda unik sebelum melakukan pembersihan data berulang.
  • Deteksi Visual: Memanfaatkan Conditional Formatting untuk inspeksi cepat pada dataset besar.
  • Preventif Data Validation: Membatasi opsi input data di awal jauh lebih efisien daripada pembersihan berulang di akhir.