Notebook menyatukan narasi, kode, dan keluaran dalam satu berkas, sehingga laporan analisis dapat dibaca sekaligus dijalankan ulang oleh pembacanya. Topik ini membahas cara menggabungkan ketiganya dalam notebook, mulai dari struktur sel yang berurutan, sel ringkasan yang menghasilkan angka, sampai kebiasaan yang menjaga laporan tetap dapat direproduksi. Contohnya menggunakan rekap peminjaman perpustakaan satu semester. Setelah membaca topik ini, laporan analisis dapat disusun sebagai notebook yang tidak hanya memuat hasil, melainkan juga cara menghasilkannya.
Narasi, kode, dan keluaran dalam satu berkas#
Notebook Jupyter adalah berkas yang memuat sel (cell), yaitu unit berisi teks atau kode yang dijalankan secara berurutan. Sel kode dieksekusi oleh kernel, yakni proses yang menjalankan kode dan menyimpan hasilnya dalam ingatan sementara, lalu keluarannya tampil langsung di bawah selnya. Sel teks berformat Markdown menyelipkan narasi di antara sel-sel kode, sehingga alasan setiap langkah ikut terdokumentasi. Gabungan ketiganya menjadikan notebook berbeda dari skrip biasa, karena pembaca melihat kode, keluaran, dan penjelasannya dalam satu alur baca.
Perpaduan ini menutup celah yang sering terjadi pada laporan dokumen biasa, yaitu angka dalam laporan tidak lagi sama dengan angka hasil perhitungan terakhir. Pada notebook, angka tampil sebagai keluaran sel yang dihasilkan kode yang sama, sehingga perubahan data cukup dijawab dengan menjalankan ulang seluruh sel. Laporan tetap berupa satu berkas yang mudah dibagikan, sedangkan isinya dapat diverifikasi sampai ke baris kodenya.
Grafik ikut ke dalam pola yang sama. Sel kode yang menggambar dengan matplotlib menampilkan gambar hasilnya tepat di bawah selnya, sehingga narasi, angka, dan grafik berada dalam satu alur baca. Gambar tidak perlu diekspor terpisah dan ditempel ulang ke dokumen lain, karena versi terakhirnya selalu lahir dari kode yang sama dengan angkanya. Apabila berkas notebook dibagikan, pembaca melihat gambar yang sama persis dengan keluaran terakhir yang tersimpan di dalamnya.
Struktur notebook laporan#
Notebook laporan mengikuti urutan sel yang meniru struktur piramida, yaitu jawaban di atas dan detail di bawah. Kerangkanya berupa empat bagian berurutan.
- Sel teks berisi ringkasan eksekutif yang menyatakan temuan utama beserta angkanya.
- Sel data yang memuat sumber data beserta penampilan awal isinya.
- Sel analisis berurutan, satu langkah satu sel, diselingi narasi alasan setiap langkahnya.
- Sel penutup berisi kesimpulan dan catatan kehati-hatian.
Aturan praktisnya, satu sel menjalankan satu langkah dengan satu keluaran yang jelas. Sel panjang yang menggabungkan pemuatan data, pembersihan, dan perhitungan sekaligus menyulitkan pembaca menelusuri asal setiap angka. Narasi di antara sel berfungsi sebagai pengikat, misalnya satu kalimat yang menyatakan tujuan sel berikutnya atau yang menafsirkan keluaran sel sebelumnya.
Sel yang menghasilkan angka ringkasan#
Ringkasan eksekutif pada bagian atas notebook paling kuat apabila angkanya dihitung oleh kode, bukan diketik manual. Sel data berikut memuat rekap peminjaman perpustakaan satu semester, dimulai dari pemuatan dan penampilan isinya.
import pandas as pd
pinjam = pd.DataFrame({
"bulan": ["Agustus", "September", "Oktober", "November", "Desember"],
"peminjaman": [3, 3, 2, 4, 1],
})
print(pinjam) bulan peminjaman
0 Agustus 3
1 September 3
2 Oktober 2
3 November 4
4 Desember 1Sel ringkasan berikut mengambil dua angka dari data yang sama, yaitu total peminjaman dan bulan puncaknya, lalu mencetaknya sebagai satu kalimat temuan. Kalimat semacam inilah yang dikutip pada ringkasan eksekutif, sehingga angka pada ringkasan selalu memiliki jejak sampai ke data.
import pandas as pd
pinjam = pd.DataFrame({
"bulan": ["Agustus", "September", "Oktober", "November", "Desember"],
"peminjaman": [3, 3, 2, 4, 1],
})
total = pinjam["peminjaman"].sum()
puncak = pinjam.loc[pinjam["peminjaman"].idxmax(), "bulan"]
print(f"Total peminjaman semester ini {total}, dengan puncak pada {puncak}.")Total peminjaman semester ini 13, dengan puncak pada November.Pola satu sel untuk setiap angka kunci mempermudah pembaruan. Apabila catatan Desember ternyata baru lengkap minggu depan, cukup jalankan ulang kedua sel tersebut, dan kalimat temuannya menyesuaikan tanpa diedit manual. Notebook kecil seperti contoh ini memang sederhana, tetapi polanya tetap sama ketika datanya bertambah besar.
Kebiasaan agar laporan dapat direproduksi#
Laporan notebook dapat direproduksi apabila seluruh sel dijalankan ulang dari keadaan bersih dan menghasilkan keluaran yang sama. Menu Restart & Run All pada Jupyter menjalankan ulang seluruh sel dari awal, dan hasilnya menjadi uji kejujuran laporan, karena sel yang bergantung pada variabel sisa dari percobaan lama akan terlihat error atau menghasilkan angka yang berubah. Kebiasaan yang menyertainya berupa menyimpan notebook beserta keluaran terakhirnya dan memeriksa nomor eksekusi pada sel agar menaik dari atas ke bawah.
Sel teks tidak dijalankan ulang oleh kernel, sehingga angka yang diketik di dalamnya tidak berubah otomatis ketika data berubah. Setelah menjalankan ulang seluruh sel, cocokkan angka pada sel teks dengan keluaran terbaru, terutama angka pada ringkasan eksekutif. Catatan kehati-hatian seperti asal data dan masa cakupannya juga ditulis pada sel teks, karena keduanya tidak dapat dibaca dari keluaran kode apa pun.
Ringkasan#
- Notebook menyatukan narasi, kode, dan keluaran dalam satu berkas yang dapat dijalankan ulang oleh pembacanya.
- Struktur notebook laporan bergerak dari ringkasan eksekutif, data, analisis, sampai kesimpulan.
- Angka kunci pada ringkasan dihitung oleh sel kode, bukan diketik manual.
Restart & Run Alldari keadaan bersih menjadi uji bahwa laporan dapat direproduksi.
Referensi#
- Jupyter Documentation — Jupyter — Dokumentasi resmi Jupyter yang mencakup antarmuka notebook, kernel, dan menu Restart & Run All.
- pandas user guide — Pandas — Panduan resmi pandas untuk operasi perhitungan yang digunakan sel-sel contoh.