CSV, tipe data, dan pertukaran berkas
INFO9-13
Membaca data tabular dengan memperhatikan pemisah, tanda petik, tipe, dan asal.
Bekal awal: Memahami skema dan konversi teks.
Konteks bab
Pencatatan perubahan pada PDF133 menjadi konteks ketelitian. Seluruh angka kegiatan dalam bacaan adalah simulasi.
Bacaan dan kasus
4 · Grafik rapi, penyebut bergeser
Bacaan pendalaman
Kasus dan angka yang dibuat untuk latihan adalah simulasi/rekaan; fakta konsep dan sumber dibedakan dalam uraian.
Tabel model mempunyai tiga sisa:5,0,dan3. Penyusun menghitung total8 pada sel D5, lalu menulis proporsi pertama =D2/D5. Ketika disalin ke bawah, penyebut ikut bergeser. Sebuah grafik terbentuk, tetapi nilai baris berikut tidak lagi membagi total yang sama.
Pemeriksa menuliskan rumus setiap sel, bukan hanya melihat tampilan persen. Ia mengunci penyebut menjadi $D$5 dan memeriksa hasil dengan hitungan manual. Proporsi yang benar adalah62,5%,0%,dan37,5%. Jika semua sisa0, rasio tidak dihitung sebagai pembagian biasa; status itu perlu pesan yang jelas.
Mereka menyimpan tabel awal, rumus, pilihan filter, dan grafik. Judul menyebut data rekaan tiga jenis, bukan seluruh persediaan nyata. Grafik diberi label agar tetap terbaca tanpa warna. Keindahan tampilan akhirnya mendukung informasi yang sudah diperiksa.
Fokus pemeriksaan. Bagaimana kesalahan referensi dapat bertahan meskipun grafik terlihat meyakinkan?
Berkas menyimpan representasi
CSV menyimpan catatan sebagai teks dengan pemisah kolom; koma umum dipakai, tetapi aplikasi dapat memakai pemisah lain. Jika sebuah nilai memuat koma, aturan tanda petik menjaga nilai itu tetap satu kolom. Memecah setiap baris dengan split(",") dapat keliru pada nama seperti “Kartu, biru”. Gunakan pembaca CSV yang memahami aturan format.
Teks belum menjadi bilangan
Pembaca CSV biasa menghasilkan teks untuk tiap nilai. Kolom total perlu dikonversi dan divalidasi sebelum dihitung. Kode “001” tetap teks agar nol depan terjaga. Baris kosong, kolom hilang, header salah, atau jumlah kolom berlebih perlu ditangani sesuai kontrak, bukan diabaikan tanpa catatan.
Pertukaran data memerlukan jejak
Simpan sumber, tanggal pengambilan, arti kolom, pemisah, serta perubahan. Jangan membuka berkas tak dikenal sembarangan atau mengaktifkan konten yang tidak diperlukan. Latihan menggunakan teks rekaan yang ditampilkan utuh. Program contoh membaca data di memori, tidak mengambil data pribadi atau terhubung ke akun layanan.
Membaca CSV rekaan di memori
import csv
from io import StringIO
teks = 'kode,nama,total\n001,"Kartu, biru",12\n'
baris = next(csv.DictReader(StringIO(teks)))
print(baris["kode"])
print(baris["nama"])
print(int(baris["total"]) + 1)Keluaran contoh
001 Kartu, biru 13
Contoh header dan nilai sudah valid. Pada berkas nyata, pemeriksaan kolom serta kesalahan konversi ditambahkan sebelum pengolahan.
Telusuri contoh
Mengapa “Kartu, biru” perlu ditangani dengan aturan CSV?
- Koma di dalam nama bukan pemisah dua kolom.
- Tanda petik menandai satu nilai.
- Pembaca CSV memahami batas itu; split sederhana tidak.
Mengapa total “12” perlu konversi?
- Berasal dari teks berkas.
- Hitungan memerlukan nilai numerik serta validasi.
- Kode001 tidak ikut dikonversi karena maknanya identitas.
CSV tidak otomatis mengerti makna angka; split pada koma tidak selalu sama dengan membaca CSV.
Latihan mandiri
1 Apa beda pemisah dan koma dalam nilai?
Petunjuk awal
Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.
Pembahasan · buka setelah mencoba
Pemisah memisahkan kolom; koma dalam nilai dipertahankan sebagai bagian teks melalui aturan tanda petik.
2 Apa yang diperiksa sebelum konversi?
Petunjuk awal
Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.
Pembahasan · buka setelah mencoba
Header, kolom, isian, tipe yang diharapkan, serta aturan rentang.
3 Mengapa kode001 tetap teks?
Petunjuk awal
Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.
Pembahasan · buka setelah mencoba
Nol depan bagian identitas dan tidak untuk dijumlahkan.
4 Sebutkan tiga informasi jejak data.
Petunjuk awal
Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.
Pembahasan · buka setelah mencoba
Sumber, tanggal, skema, pemisah, atau aturan perubahan.
Perluas pemahamanmu
Tambahkan satu baris dengan kolom kurang. Rancang laporan masalah yang menyebut nomor baris serta kolom, tanpa mengarang nilai pengganti.
Coba dengan umpan balik
Latihan otomatis membantu pemeriksaan; tuliskan alasan dan langkah untuk membuktikan pemahaman.
1 Nilai nama yang mengandung koma sebaiknya…
Petunjuk awal
Tentukan informasi, konsep dan bukti yang dibutuhkan.
Pembahasan · buka setelah mencoba
A. dibaca mengikuti aturan tanda petik CSV. Pemisah dan karakter di dalam nilai perlu dibedakan.
Praktik dan refleksi
Tandai batas kolom pada tiga baris rekaan, salah satunya memiliki koma dalam nama. Bandingkan hasil pembacaan manual dengan aturan tanda petik.
Penanda pribadi di perangkat ini; bukan nilai atau bukti penguasaan.