Analisis data jarang selesai dalam satu kali percobaan; kita mencoba satu agregasi, melihat hasilnya, lalu mencoba sudut pandang lain. Untuk siklus kerja seperti itu, file .py yang dijalankan dari atas ke bawah terasa kaku, sedangkan REPL tidak menyimpan apa pun. Jupyter Notebook menjawab kebutuhan di antara keduanya: satu dokumen yang memuat kode, catatan, dan hasil eksekusi, dieksekusi potongan demi potongan. Chapter ini menyiapkan Jupyter di komputer Anda dan menjelaskan cara berpikir di dalamnya.

Mengenal Jupyter Notebook #

Jupyter Notebook adalah aplikasi berbasis web untuk menulis dan mengeksekusi kode secara interaktif dalam satuan yang disebut cell. Arsitekturnya terdiri dari tiga bagian: server Jupyter yang berjalan di komputer kita, kernel yaitu proses Python yang benar-benar mengeksekusi kode, dan antarmuka browser untuk mengedit serta menjalankan cell. Hasil setiap cell muncul tepat di bawahnya, termasuk tabel pandas yang terformat rapi dan grafik Matplotlib yang dirender langsung di halaman (dokumentasi Matplotlib ).

Satu notebook tersimpan sebagai file berekstensi .ipynb yang isinya berformat JSON: kode, hasil eksekusi, dan teks catatan tersimpan bersama. Selain cell kode, Jupyter menyediakan cell markdown untuk penjelasan tertulis, sehingga satu file bisa memuat pertanyaan analisis, kode, dan kesimpulan sekaligus. Format inilah yang menjadi standar pembagian hasil analisis di banyak tim data.

Memasang Jupyter Notebook #

Seperti pandas, Jupyter dipasang lewat pip di dalam virtual environment yang aktif. Paket bernama notebook berisi aplikasi Jupyter Notebook klasik beserta kernelnya; ringkasan opsi instalasi resmi dari proyek Jupyter terkumpul di jupyter.org/install :

bash
python3 -m pip install notebook

Proses instalasi mengunduh Jupyter beserta sejumlah dependensinya, dan pip menutup log dengan baris Successfully installed saat selesai. Untuk memeriksa hasil pemasangan, jalankan python3 -m pip show notebook; pip menampilkan metadata paket seperti nomor versi dan lokasi site-packages. Jika show melaporkan paket tidak ditemukan, pastikan virtual environment masih aktif lalu ulangi instalasi.

Meluncurkan dan Menggunakan Notebook #

Notebook diluncurkan dari folder proyek dengan satu perintah:

bash
jupyter notebook

Server berjalan di terminal, sedangkan browser terbuka sendiri menuju alamat lokal seperti http://localhost:8888 yang menampilkan dashboard berisi daftar file folder tersebut. Dari dashboard, buat notebook baru lewat tombol New, lalu halaman kosong berisi satu cell siap dipakai. Alur kerja harian di dalam notebook:

  1. Ketik kode pandas ke dalam cell, misalnya pembacaan file CSV dengan read_csv.
  2. Jalankan cell dengan Shift+Enter; kernel mengeksekusi kode dan hasilnya muncul di bawah cell.
  3. Kursor berpindah ke cell berikutnya, dan kita lanjutkan analisis dengan memakai variabel dari cell sebelumnya.

Perilaku pada langkah ketiga adalah inti dari Jupyter: seluruh cell berbagi satu ruang nama di kernel yang sama, sehingga variabel dari cell pertama tetap terpakai di cell kesepuluh selama kernel belum dihidupkan ulang. Untuk membiasakan model ini, skrip berikut memperagakan tiga “cell” versi file .py yang dieksekusi berurutan; Cell 2 dan Cell 3 memakai variabel penjualan tanpa mendefinisikannya ulang:

python
import pandas as pd

    # "Cell 1": variabel yang dibuat di sini tetap hidup untuk cell berikutnya.
penjualan = pd.DataFrame({
    "produk": ["Kopi Gayo", "Teh Melati", "Gula Aren"],
    "terjual": [12, 30, 25],
})
print("Hasil Cell 1:")
print(penjualan)

    # "Cell 2": memakai variabel Cell 1 tanpa mendefinisikan ulang.
penjualan["pendapatan"] = penjualan["terjual"] * 25000
print("\nHasil Cell 2:")
print(penjualan)

    # "Cell 3": mengagregasi state gabungan dari Cell 1 dan Cell 2.
print("\nHasil Cell 3:", penjualan["pendapatan"].sum())

Output yang Dihasilkan:

text
Hasil Cell 1:
       produk  terjual
0   Kopi Gayo       12
1  Teh Melati       30
2   Gula Aren       25

Hasil Cell 2:
       produk  terjual  pendapatan
0   Kopi Gayo       12      300000
1  Teh Melati       30      750000
2   Gula Aren       25      625000

Hasil Cell 3: 1675000

Bedah singkatnya: Cell 1 membangun DataFrame penjualan tiga produk, Cell 2 menambahkan kolom pendapatan hasil perkalian kolom terjual dengan 25000, dan Cell 3 menjumlahkan kolom pendapatan menjadi 1675000. Setiap bagian bekerja karena state dari bagian sebelumnya masih tersimpan di kernel, persis seperti cell notebook.

Magic Command dan %matplotlib inline #

Di dalam cell, Jupyter menyediakan magic command: perintah berawalan % yang bukan bagian dari sintaks Python. Yang paling sering kita pakai untuk analisis data adalah %matplotlib inline, yang memerintahkan kernel menampilkan setiap grafik Matplotlib sebagai gambar langsung di bawah cell. Backend inline ini sudah aktif secara bawaan pada Jupyter modern, tetapi menuliskannya di cell pertama tetap menjadi kebiasaan yang baik karena membuat notebook berperilaku sama di lingkungan lebih lama:

python Contoh isi cell pertama
%matplotlib inline

import pandas as pd

penjualan = pd.DataFrame({"bulan": ["Jan", "Feb", "Mar"], "terjual": [120, 135, 150]})
penjualan.plot.line(x="bulan", y="terjual")

Baris pertama cell di atas adalah magic command-nya; baris-baris berikutnya adalah Python biasa yang membangun DataFrame lalu menggambar grafiknya dengan method .plot.line() ke backend inline. Dua magic command lain yang berguna saat eksplorasi: %run nama_skrip.py mengeksekusi file .py di dalam kernel, dan %who mencantumkan variabel yang sudah ada. Ingat batasannya: magic command hanya dikenal di dalam notebook, bukan di file .py maupun di REPL Python.

Kapan Memakai Notebook, Kapan Memakai Skrip #

Keduanya sah dan saling melengkapi; tabel berikut membantu memilih:

AspekJupyter NotebookSkrip .py
Cocok untukEksplorasi, visualisasi, laporan analisisOtomasi, modul proyek, kode produksi
Hasil eksekusiTersimpan di dalam file .ipynbHanya muncul saat dijalankan
Kontrol versiDiff JSON sulit dibacaDiff teks biasa, ramah code review
Eksekusi ulangRentan urutan cell tidak urutSelalu berurutan dari atas ke bawah

Pola yang lazim di lapangan: analisis dimulai di notebook, lalu bagian kode yang stabil dipindahkan ke modul .py yang dipanggil ulang. Sebelum melanjutkan, biasakan satu kebiasaan kecil: selalu tahu versi paket yang sedang dimuat, karena itulah topik Chapter penutup Section ini.