Analisis yang tepat sasaran pun bisa berakhir sebagai tumpukan tabel yang tidak dibaca siapa pun. Pembaca laporan — pemilik toko, manajer, tim produk — jarang punya waktu menelusuri dua puluh grafik untuk menarik kesimpulan sendiri. Narasi data (data storytelling) menjembatani jurang tersebut: ia menyusun temuan menjadi alur yang bisa diikuti dari kalimat pertama sampai kalimat terakhir. Pada chapter ini kita pelajari tiga perangkat utamanya: struktur cerita konteks–konflik–resolusi, penyusunan piramida terbalik, dan disiplin satu grafik satu pesan.

Mengapa Analisis Memerlukan Alur Cerita #

Data tidak berbicara sendiri; kita yang berbicara atas nama data. Ketika pembaca menerima dua puluh angka tanpa urutan, pembaca dipaksa bekerja dua kali: memahami setiap angka sekaligus menebak hubungan di antara angka-angka tersebut. Alur cerita mengambil alih pekerjaan yang kedua — alur memberi tahu pembaca angka mana yang tampil sebagai latar, angka mana yang menjadi inti masalah, dan angka mana yang menuntun ke tindakan. Hasilnya bukan laporan yang lebih “menarik”, melainkan laporan yang lebih cepat dipahami dan lebih lama diingat.

Alur cerita juga menjaga kejujuran. Struktur memaksa kita menempatkan peristiwa pada urutannya: kondisi normal dulu, baru penyimpangan; konteks dulu, baru angka yang tampak besar. Tanpa urutan tersebut, angka yang sama mudah dilepas dari konteksnya dan berubah menjadi kesan yang berlebihan — persoalan yang sudah kita bahas tuntas pada chapter Menghindari Visualisasi Menyesatkan .

Struktur Cerita: Konteks, Konflik, Resolusi #

Struktur paling sederhana yang bisa dipakai berulang diambil dari dunia cerita: konteks, konflik, resolusi. Konteks membangun kondisi normal sebagai pembanding. Konflik memperlihatkan sesuatu yang bergeser dari kondisi normal tersebut. Resolusi menjawab apa makna pergeseran itu dan apa yang sebaiknya dilakukan. Ketiganya bekerja sebagai satu paket — konflik tanpa konteks terdengar seperti alarm tanpa angka pembanding, dan resolusi tanpa konflik hanyalah deskripsi biasa.

BabakPertanyaan yang dijawabWujudnya di laporan Toko Kopi Kita
KonteksApa kondisi normalnya?Rata-rata penjualan lima minggu pertama: 318 gelas per minggu
KonflikApa yang bergeser dari normal?Minggu ke-6 turun ke 268 gelas, 16% di bawah baseline
ResolusiApa maknanya dan apa tindakannya?Program stempel diperkenalkan; dua minggu berikutnya pulih 11%

Konflik dalam narasi data tidak perlu dramatis; ia hanya perlu jujur. Ketegangan yang dicari adalah jarak antara harapan dan kenyataan — penjualan yang turun, antrean yang memanjang, biaya yang naik lebih cepat daripada pendapatan. Ketika data menunjukkan tidak ada penyimpangan, laporan “kondisi normal terjaga” tetap merupakan laporan yang sah dan berguna.

Menghitung Angka Cerita dengan Python #

Setiap babak dalam narasi bertumpu pada satu-dua angka yang mudah dikutip. Kita hitung angka-angka tersebut lebih dulu, sebelum menulis satu kalimat pun, supaya narasi yang kita susun memang bersumber dari data — bukan data yang dipilah-pilah demi membenarkan narasi. Sebagai bahan latihan, kita pakai data penjualan mingguan delapan minggu Toko Kopi Kita:

python
import pandas as pd

minggu = pd.DataFrame({
    "minggu": range(1, 9),
    "terjual_gelas": [312, 318, 325, 320, 316, 268, 291, 305],
})

baseline = minggu.loc[minggu["minggu"] <= 5, "terjual_gelas"].mean()
titik_terendah = minggu["terjual_gelas"].min()
penurunan = (titik_terendah - baseline) / baseline * 100
dua_minggu_akhir = minggu.loc[minggu["minggu"] >= 7, "terjual_gelas"].mean()
pemulihan = (dua_minggu_akhir - titik_terendah) / titik_terendah * 100

print(f"Konteks  : rata-rata 5 minggu pertama {baseline:.0f} gelas per minggu")
print(f"Konflik  : minggu ke-6 turun ke {titik_terendah} gelas ({penurunan:.0f}% dari baseline)")
print(f"Resolusi : dua minggu berikut pulih {pemulihan:.0f}% menjadi {dua_minggu_akhir:.0f} gelas per minggu")

Output yang Dihasilkan:

text
Konteks  : rata-rata 5 minggu pertama 318 gelas per minggu
Konflik  : minggu ke-6 turun ke 268 gelas (-16% dari baseline)
Resolusi : dua minggu berikut pulih 11% menjadi 298 gelas per minggu

Mari kita telaah baris-baris kode di atas:

  1. Baris 3-6 (pd.DataFrame(...)): data delapan minggu disimpan sebagai tabel dua kolom — nomor minggu dan jumlah gelas terjual. Ukurannya kecil karena perannya adalah bahan cerita, bukan bahan komputasi besar.
  2. Baris 8 (baseline = ...): rata-rata lima minggu pertama dihitung dengan loc untuk memfilter baris lalu mean() untuk meringkasnya. Angka 318 gelas inilah “kondisi normal” babak konteks.
  3. Baris 9-10 (titik_terendah, penurunan): titik terendah diambil dengan min(), lalu penurunannya dihitung relatif terhadap baseline. Membagi selisih dengan baseline — bukan sekadar mengutip angka mentah — yang membuat angka 268 gelas berarti.
  4. Baris 11-12 (dua_minggu_akhir, pemulihan): rata-rata dua minggu terakhir dibandingkan dengan titik terendah. Pemulihan 11% menjadi bukti awal babak resolusi, meskipun penjualan memang belum kembali ke baseline.

Perhatikan bahwa ketiga baris keluaran memetakan satu-ke-satu ke tabel babak cerita di bagian sebelumnya. Itulah tanda narasi yang sehat: setiap klaim dalam cerita memiliki satu angka yang bisa ditunjuk, dan setiap angka menempati satu babak yang jelas.

Piramida Terbalik: Kesimpulan di Puncak #

Jurnalis menyusun berita seperti piramida terbalik: fakta terpenting ditempatkan di paragraf pertama, detail menyusul di bawahnya, dan pembaca boleh berhenti membaca kapan pun tanpa kehilangan pesan utama. Laporan data memakai prinsip yang sama. Prinsip ini menuntut kebiasaan yang tidak alami bagi seorang analis, karena urutan pengerjaan dan urutan penulisan berlawanan arah:

Tahapan kerjaUrutan saat mengerjakan analisisPosisinya dalam laporan jadi
Merumuskan pertanyaan bisnisPertamaLatar belakang dan ringkasan
Membersihkan dan menjelajahi dataKeduaBagian metode dan lampiran
Menemukan jawaban utamaKetigaKalimat pertama
Menguji kekuatan jawabanKeempatBagian hasil dan batasan
Detail angka pendukungTerakhirBagian tengah dan lampiran

Uji praktisnya sederhana: jika pembaca hanya sempat membaca satu kalimat dari seluruh laporan Anda, kalimat mana yang ingin Anda tinggalkan? Kalimat itulah yang harus tampil di depan — misalnya “penjualan turun 16% pada minggu ke-6, lalu pulih 11% setelah program stempel berjalan dua minggu”. Segala sesuatu yang lain bekerja sebagai dukungan bagi kalimat tersebut.

Prinsip Satu Grafik Satu Pesan #

Grafik yang berusaha menjawab tiga pertanyaan sekaligus biasanya gagal menjawab salah satunya dengan jelas. Ketika satu kanvas memuat tiga garis, dua sumbu, dan satu anotasi, pembaca harus menebak mana bagian yang penting — dan sering kali menebak salah. Disiplin satu grafik satu pesan menuntunku memecah presentasi yang ramai menjadi beberapa grafik yang masing-masing tenang: satu grafik untuk menunjukkan penurunan, satu grafik untuk memperlihatkan pemulihan. Panduan memilih jenis grafik yang tepat sudah kita bahas pada chapter Memilih Jenis Grafik , dan prinsip-prinsip dasarnya pada Prinsip Visualisasi Data .

Prinsip ini bekerja berpasangan dengan piramida terbalik. Judul grafik memuat pesan, grafik memuat bukti, dan narasi di sekelilingnya menjelaskan mengapa pesan tersebut penting. Jika sebuah grafik sulit diberi judul berupa kalimat pesan, itu pertanda grafik tersebut sedang mencoba mengatakan terlalu banyak hal sekaligus.

Rangkuman #

  • Narasi data menyusun temuan dalam alur yang bisa diikuti: konteks membangun kondisi normal, konflik memperlihatkan pergeseran, resolusi menjawab makna dan tindakan.
  • Angka cerita dihitung lebih dulu sebelum menulis; setiap babak cukup diwakili satu-dua angka yang mudah dikutip dan saling berpaut.
  • Piramida terbalik menempatkan kesimpulan di kalimat pertama — kita mengerjakan analisis dari awal ke akhir, tetapi menulis laporan dari akhir ke awal.
  • Satu grafik satu pesan: judul grafik sebaiknya berupa kalimat pesan, bukan label teknis; grafik yang sulit diberi judul pesan sedang mengatakan terlalu banyak hal.

Kerangka cerita kini kita pegang: ada alur, ada angka penopang, ada urutan penyajian. Babak selanjutnya adalah merakitnya menjadi kalimat — bagaimana menempatkan kalimat kunci di depan, membingkai angka dengan pembanding, dan menyesuaikan kedalaman dengan audiens. Kita bahas pada chapter berikutnya, Menyampaikan Temuan .

Referensi #

  1. pandas — Pandas User Guide
  2. Matplotlib — Galeri Contoh