Notebook sudah terpasang; kini kita masuk ke rutinitas hariannya. Pengalaman bekerja di Jupyter ditentukan oleh dua keterampilan: mengendalikan cell dengan cepat lewat shortcut, dan menjaga urutan eksekusi agar hasil analisis dapat dipercaya serta diulang oleh siapa pun — termasuk diri kita sendiri besok pagi. Pada chapter ini kita berlatih keduanya: mengenal mode command dan edit, membedakan cell kode dari cell markdown, membaca nomor eksekusi seperti [1], dan membiasakan kebiasaan restart kernel & run all sebelum menyimpan atau membagikan pekerjaan.
Dua Mode Kerja: Command dan Edit #
Setiap saat, notebook berada di salah satu dari dua mode. Mode edit aktif saat kita sedang mengetik isi cell — kursor berkedip di dalam cell dan bingkai cell menyala. Mode command aktif saat kita berada di luar isi cell — cell hanya dipilih, dan papan ketik siap memberi perintah kepada notebook. Pergantian keduanya memakai dua tombol saja: menekan Enter masuk ke mode edit, menekan Esc kembali ke mode command.
Mengapa pemisahan ini perlu? Karena shortcut seperti D atau M adalah huruf biasa yang bisa saja kita butuhkan untuk mengetik kode. Dengan memisahkan mode, huruf yang sama berarti dua hal berbeda: di mode edit, d menuliskan huruf d; di mode command, d adalah bagian dari perintah hapus cell. Mengetahui mode aktif saat ini — dari bentuk kursor dan warna bingkai cell — adalah keterampilan pertama yang perlu otomatis.
Cell Kode dan Cell Markdown #
Notebook tersusun dari deretan cell, dan setiap cell punya satu dari dua jenis:
| Aspek | Cell kode | Cell markdown |
|---|---|---|
| Isi | Perintah Python yang dieksekusi kernel | Teks narasi: judul, daftar, penekanan |
| Penanda | Awalan In [ nomor ]: di sisi kiri | Tanpa penanda eksekusi |
| Hasil | Output muncul persis di bawah cell | Teks terformat muncul setelah cell dijalankan |
Cell markdown menjawab pertanyaan yang sering dilupakan analis: mengapa langkah ini dilakukan. Judul seksi, asumsi yang dipakai, dan interpretasi angka sebaiknya tinggal di cell markdown tepat di samping kode yang menghasilkannya — bukan di kepala kita atau di obrolan terpisah. Setelah menulis cell markdown, jalankan cell tersebut dengan Shift+Enter agar teksnya berubah menjadi tampilan terformat.
Shortcut Inti untuk Bekerja Cepat #
Lima perintah berikut menutup 90% kebutuhan harian. Semua berlaku di mode command kecuali yang pertama:
| Shortcut | Mode | Fungsi |
|---|---|---|
Shift+Enter | keduanya | Jalankan cell aktif, lalu pindah ke cell berikutnya |
A | command | Sisipkan cell baru di atas cell aktif |
B | command | Sisipkan cell baru di bawah cell aktif |
D D (dua kali) | command | Hapus cell aktif |
M / Y | command | Ubah jenis cell: M menjadi markdown, Y menjadi kode |
Mnemoniknya mudah diingat: A above (atas), B below (bawah), M markdown, Y untuk kode (letaknya bersebelahan di papan ketik), dan D dua kali untuk delete. Untuk mengembalikan cell yang terhapus, tekan Z di mode command.
Membaca Nomor Eksekusi Cell #
Setiap cell kode membawa penanda di kirinya: In [1], In [2], dan seterusnya. Angka tersebut adalah nomor eksekusi — bukti urutan nyata cell dijalankan oleh kernel, bukan urutan cell tertulis di layar. Dua kondisi khusus perlu dikenali: In [ ] berarti cell belum pernah dijalankan sama sekali, sedangkan In [*] berarti cell sedang dieksekusi. Penanda ini menjadi alat diagnosis terpenting kita, seperti pada simulasi tiga cell berikut:
penjualan = {"kopi susu": 120, "es teh": 85, "cokelat": 60}
# Cell [1]: total penjualan
total = sum(penjualan.values())
print("[1] Total cup terjual:", total)
# Cell [2]: produk terlaris
terlaris = max(penjualan, key=penjualan.get)
print("[2] Produk terlaris:", terlaris)
# Cell [3]: kontribusi produk terlaris
persen = penjualan[terlaris] / total * 100
print(f"[3] Kontribusi {terlaris}: {persen:.1f}%")Output yang Dihasilkan:
[1] Total cup terjual: 265
[2] Produk terlaris: kopi susu
[3] Kontribusi kopi susu: 45.3%Mari kita bedah hubungan antar cell di atas:
- Cell [1]: membuat dictionary
penjualanlalu menghitungtotal— keduanya kini tersimpan di memori kernel. - Cell [2]:
max()dengan argumenkey=penjualan.getmencari kunci bernilai terbesar; hasilnya disimpan keterlaris. Cell ini tidak akan bisa berjalan bila Cell [1] belum dieksekusi. - Cell [3]: menghitung persentase memakai
terlarisdantotaldari dua cell sebelumnya. Rantai ketergantungan inilah inti notebook: tiap cell adalah mata rantai, dan satu mata rantai yang terlewat membuat sisanya rapuh.
Di sinilah jebakan notebook klasik muncul. Karena cell bisa dijalankan dengan urutan bebas, kita bisa saja menyunting angka di Cell [1] lalu hanya menjalankan Cell [3] — angka lama di total masih tersimpan di kernel, sehingga hasil yang tampil memakai campuran data baru dan lama. Layar tampak wajar, tetapi angkanya menyesatkan. Nomor eksekusi yang melompat-lompat (misalnya [7], [3], [8] dari atas ke bawah) adalah gejala yang perlu dicurigai.
Referensi Resmi #
- Dokumentasi JupyterLab — daftar lengkap shortcut dan fitur antarmuka.
- Dokumentasi proyek Jupyter — penjelasan resmi arsitektur kernel, sesi, dan notebook.
Rangkuman #
- Notebook punya dua mode: edit untuk mengetik isi cell (
Enter), command untuk memberi perintah (Esc); shortcut hanya berlaku di mode command. - Cell kode dieksekusi kernel; cell markdown menyimpan narasi analisis — keduanya dijalankan dengan
Shift+Enter. - Shortcut inti:
AdanBmenyisip cell,DDmenghapus,MdanYmengubah jenis cell,Zmembatalkan penghapusan. - Nomor eksekusi
In [n]mencatat urutan nyata eksekusi; nomor yang melompat menandakan cell dijalankan tidak berurutan. - Tutup setiap sesi dengan Restart Kernel and Run All Cells agar notebook dapat menghasilkan ulang seluruh analisis dari keadaan kosong.
Notebook kini terasa seperti ruang kerja yang tertata. Namun satu pertanyaan kerja belum terjawab: bagaimana mencatat kombinasi library beserta versinya agar proyek dapat dipasang ulang di komputer lain tanpa menebak-nebak? Pertanyaan itu dijawab oleh requirements.txt pada chapter Manajemen Dependensi.