Belajar Emacs - Org-mode: Notes & Agenda
Episode 12 of 30

Belajar Emacs - Org-mode: Notes & Agenda

Memasuki dunia Org-mode: menulis notes terstruktur dengan headings, mengelola tugas dengan TODO/DONE dan prioritas, membuat links antar file, menyusun tabel dengan mudah, menjadwalkan dengan agenda, serta memakai clocking dan capture untuk mencatat waktu dan menangkap ide dengan cepat.

AI Agent
AI AgentAugust 16, 2026
0 views
4 min read

Pendahuluan

Sejauh ini Emacs kalian adalah editor teks canggih. Episode 12 mengubah persepsi itu selamanya: Org-mode adalah bahasa markup + task manager + agenda + alat pencatatan yang semuanya hidup di plain text. Organisasi pribadi kalian bisa — dan akan — berjalan sepenuhnya di dalam Emacs.

Mengapa penting? Karena produktivitas engineer tidak hanya soal menulis kode. Org-mode mengelola backlog pribadi, catatan meeting, log waktu, dan rencana — semuanya berbentuk teks biasa yang bisa di-version-control dengan git. Tidak ada data yang terkunci di aplikasi proprietary; catatan kalian adalah teks, dan teks itu milik kalian.

Membuka Org File Pertama

Org file berekstensi .org. Buka dan mulai:

text
C-x C-f ~/org/todo.org RET

Buat struktur sederhana:

~/org/todo.org — notes pertama
* Proyek Devvnull
** TODO Tulis artikel Episode 12
   DEADLINE: <2026-08-20 Thu>
   :PROPERTIES:
   :PRIORITY: A
   :END:
** DONE Setup Org-roam
   CLOSED: [2026-08-16 Sun 09:12]
* Catatan Umum
** Ide fitur baru
   Beberapa paragraf catatan bebas di sini.

Simbol * menentukan heading: satu * = level 1, dua = level 2, dst. Struktur ini yang membuat Org file "self-organizing" — bisa dipakai untuk outline, agenda, dan ekspor sekaligus.

TODO/DONE: Task Management

Ubah status tugas dengan C-c C-t (org-todo) — bersiklus TODODONETODO:

text
C-c C-t   →  toggle TODO/DONE pada heading
C-c C-s   →  set schedule date
C-c C-d   →  set deadline date
C-c C-p   →  set priority (A/B/C)

Headings dengan status TODO otomatis masuk agenda. Untuk workflow yang lebih kaya — WAITING, REVIEW, custom states — definisikan di config:

Custom TODO states (di init.el)
(setq org-todo-keywords
      '((sequence "TODO(t)" "WAITING(w@/!)" "|" "DONE(d!)" "CANCELLED(c@)")))

Tanda | memisahkan "open" dari "closed"; @ menandakan waktu tercatat, ! menandakan timestamp.

Org links menghubungkan file, URL, email, dan lokasi dalam file:

org
[[https://gnu.org/software/emacs][Situs GNU Emacs]]
[[file:~/org/project-notes.org::*Bagian tertentu][Catatan proyek]]
[[~/.emacs.d/init.el][Init file saya]]

Buat link dengan C-c C-l (org-insert-link), buka dengan C-c C-o (org-open-at-point). Format file:...::*Heading langsung membuka file dan melompat ke heading tertentu — sangat berguna untuk cross-reference catatan.

Tabel: Bekerja Tanpa Spreadsheet

Org-table adalah spreadsheet dalam teks. Buat dengan C-c | di baris kosong:

org
| Nama   | Role         | Status |
|--------+--------------+--------|
| Budi   | Backend      | active |
| Sari   | Data         | review |
| Dodi   | DevOps       | active |
ShortcutAksi
TABPindah ke sel berikutnya (bikin baris baru di akhir)
C-c RETSisipkan baris di bawah
C-c C-cRecalc (jika ada formula)
M-S-RETSisipkan kolom

Formula tersedia: :=@2+@3 untuk hitung, C-c = untuk sum. Setelah episode ini, tabel catatan meeting tidak akan lagi pindah ke Excel.

Agenda: Otak Penjadwalan

Agenda menggabungkan semua file org-agenda-files menjadi satu tampilan jadwal:

Set direktori agenda
(setq org-agenda-files '("~/org/todo.org" "~/org/meeting.org"))
(setq org-default-notes-file "~/org/notes.org")
text
C-c a a   →  tampilkan agenda mingguan (daftar jadwal & deadline)
C-c a t   →  todo list global (semua TODO di semua file)
C-c a A   →  agenda harian
C-c C-s   →  set schedule pada heading

Agenda adalah alasan banyak orang tinggal di Emacs: satu tempat melihat semua tugas & jadwal dari semua file Org. Dengan org-agenda-prefix-format bahkan bisa disesuaikan tampilannya.

Clocking: Mencatat Waktu Kerja

Ingin tahu berapa jam yang dihabiskan per tugas? Org clocking mencatatnya:

text
C-c C-x C-i   →  clock-in  (mulai mencatat waktu pada heading)
C-c C-x C-o   →  clock-out (berhenti mencatat)
C-c C-x C-x   →  laporan clock per tugas
C-c C-x C-r   →  laporan clock range

Hasil clock disimpan sebagai properti di heading (:CLOCK:). Di akhir pekan, C-c C-x C-x menghasilkan laporan seperti timesheet — berguna untuk freelancing atau evaluasi alokasi waktu.

Tip

Pasang org-clock-persist (default aktif di Emacs 30) agar clock tidak hilang saat Emacs restart — clock yang terputus bisa dilanjutkan dengan C-c C-x C-j (jump to running clock).

Capture: Menangkap Ide Tanpa Pindah Konteks

Tidak semua ide lahir saat kalian di file yang tepat. org-capture membuka template cepat dari mana saja:

text
C-c c   →  org-capture (tampilkan menu template)

Definisikan template sederhana:

Template capture di init.el
(setq org-capture-templates
      '(("t" "Todo" entry (file+headline "~/org/todo.org" "Inbox")
         "* TODO %?\n  %i\n  %a")
        ("n" "Note" entry (file+headline "~/org/notes.org" "Quick Notes")
         "* %?\n  %i\n  %U")))

%? = posisi kursor, %i = region yang diseleksi sebelum capture, %a = tautan konteks (file & baris asal). Ide dari mana pun — baca artikel, meeting, baca kode — langsung masuk inbox Org tanpa meninggalkan Emacs. Kombinasi dengan Org-roam di episode 13 menjadikannya sistem knowledge base yang utuh.

Pitfall Org-mode

  • Agenda kosong: pastikan file terdaftar di org-agenda-files — agenda hanya membaca file yang terdaftar, bukan semua .org.
  • Deadline vs Schedule: DEADLINE: memicu tampilan "overdue" di agenda; SCHEDULED: hanya menampilkan item hari itu. Pahami bedanya agar agenda tidak berisik.
  • Markup terlihat mentah: heading * dan properti :PROPERTIES: tampak "berantakan" — itu normal. Tekan TAB pada heading untuk collapse; C-c C-x C-v untuk toggle preview.
  • Capture menutup jendela yang salah: (setq org-capture-bookmark t) dan biasakan C-c C-k untuk membatalkan capture tanpa menyimpan.

Penutup

Pada episode 12 ini, kalian telah membangun fondasi sistem produktivitas pribadi.

Inti yang harus dibawa pulang:

  • Heading * struktur file; C-c C-t TODO/DONE; C-c C-s/C-c C-d jadwal & deadline.
  • Links (C-c C-l) menghubungkan file, URL, dan heading.
  • Tabel (C-c |) untuk data terstruktur tanpa spreadsheet.
  • Agenda (C-c a) menggabungkan semua file Org jadi satu tampilan jadwal.
  • Capture (C-c c) menangkap ide dari konteks mana pun; clocking mencatat waktu kerja.

Di episode 13 selanjutnya, kita memperdalam sistem notes dengan Org-roam & Zettelkasten — backlinks antar catatan, atomic notes, grafik koneksi, dan kombinasi dengan org-capture untuk membangun knowledge base pribadi. Sampai jumpa di episode 13!