Membangun knowledge base pribadi dengan Org-roam & metode Zettelkasten: atomic notes yang saling terhubung, backlinks yang otomatis terlihat, visualisasi graph antar catatan, dan integrasi org-capture agar setiap ide tercatat dan tersambung tanpa kehilangan konteks asalnya.

Episode 12 memberi kalian file Org yang terorganisir. Episode 13 menaikkan level: Org-roam — sistem note-taking berbasis Zettelkasten — yang menghubungkan catatan satu sama lain sehingga pengetahuan kalian tumbuh sebagai jaringan, bukan sekadar tumpukan file.
Mengapa ini penting? Developer menulis dan membaca terus-menerus: dokumentasi, keputusan arsitektur, kutipan artikel, ide produk. Di file sistem biasa, catatan itu mati — terkubur dan tidak pernah saling bertemu. Dengan backlinks dan graph, Org-roam membuat setiap catatan baru otomatis terhubung ke yang sudah ada, memunculkan pola dan ide yang tidak terlihat sebelumnya.
Zettelkasten (kotak catatan) adalah metode dari sosiolog Niklas Luhmann — ia menulis 70+ buku dengan sistem ini. Tiga prinsipnya:
Org-roam mengotomatiskan bagian tersulit: menciptakan ID unik, melacak backlinks, dan menggambar peta koneksi.
Org-roam tidak bawaan Emacs — install via MELPA:
(use-package org-roam
:ensure t
:custom
(org-roam-directory (file-truename "~/org-roam"))
(org-roam-db-update-on-save t)
:config
(org-roam-db-autosync-mode 1))Buat direktori ~/org-roam (mkdir -p ~/org-roam), restart Emacs, lalu inisialisasi database:
M-x org-roam-db-sync RETOrg-roam menyimpan catatan sebagai file .org biasa di org-roam-directory — semua data tetap plain text, bebas di-version-control dengan git.
Pusat alurnya adalah M-x org-roam-insert — membuat catatan baru sekaligus menautkannya:
M-x org-roam-insert RET
→ prompt: ketik judul catatan baru (misal "Decision Record: pakai Eglot")
→ Org-roam membuat file + ID, menyisipkan link di posisi kursorCatatan baru otomatis dapat properti:
:PROPERTIES:
:ID: a1b2c3d4-...
:END:
#+title: Decision Record: pakai Eglot
Isi catatan...Saat kalian menulis [[roam:Decision Record: pakai Eglot]] di catatan lain, kedua catatan terhubung. Backlinks dihitung dari semua file — bukan hanya yang terbuka.
Di buffer catatan, C-c / r (atau M-x org-roam-buffer-toggle) membuka panel yang menampilkan:
C-c / r → toggle org-roam-buffer
C-c / b → org-roam-buffer (backlink panel)Fitur ini mengubah cara membaca catatan: membuka satu catatan otomatis "membuka" konteksnya — siapa yang merujuknya dan mengapa.
Visualisasikan jaringan catatan:
M-x org-roam-graph RETMenghasilkan grafik yang bisa dibuka di browser (atau disimpan sebagai SVG). Node = catatan, edge = link. Graph ini sering mengejutkan — kalian akan melihat "hub" catatan yang paling banyak dirujuk, dan "pulau" catatan yang belum terhubung (kandidat untuk dihubungkan).
Note
Org-roam 2.x menggunakan database SQLite internal untuk backlinks & graph — bukan parsing file setiap saat. Karena itu, jalankan M-x org-roam-db-sync setelah import catatan lama atau ada perubahan besar.
Kombinasi Zettelkasten yang produktif: capture menciptakan atomic note langsung:
(setq org-roam-capture-templates
'(("d" "default" plain
"%?"
:if-new (file+head "atomic/${slug}.org"
"#+title: ${title}\n")
:unnarrowed t)
("i" "idea" plain
"%?"
:if-new (file+head "atomic/${slug}.org"
"#+title: ${title}\n* Ide\n")
:unnarrowed t)))Alur harian yang disarankan:
1. Baca artikel menarik di browser → seleksi paragraf kunci
2. C-c c (org-capture) → template "d"
3. Ketik judul, tambahkan link referensi
4. C-c C-c → catatan tersimpan + masuk database
5. Nanti saat menulis catatan lain, `org-roam-insert` menautkannyaSetiap ide "ditangkap" dalam beberapa detik dan langsung bisa dihubungkan nanti — tanpa meninggalkan Emacs.
Contoh penerapan nyata:
ADOPT Eglot, REJECT monorepo), ditautkan ke catatan teknis terkait.Pola penting: jangan copy-paste isi artikel panjang ke catatan. Tulis dalam kata kalian sendiri (atomic note) lalu tautkan — inilah yang membuat jaringan bermakna.
org-roam-db-sync (atau autosync aktif). Set org-roam-db-update-on-save t.M-x org-roam-node-find dulu untuk mencari node yang ada.Knowledge: Emacs Ecosystem yang merangkum dan menautkan topik-topik di bawahnya.~/org-roam adalah aset — masukkan ke sistem backup kalian (misal rsync dari episode belajar-rsync, atau git remote).Pada episode 13 ini, kalian telah membangun knowledge base pribadi.
Inti yang harus dibawa pulang:
org-roam-insert membuat catatan + link sekaligus; ID unik otomatis.C-c / r) dan unlinked references menghubungkan catatan secara otomatis.org-roam-graph memvisualisasikan jaringan; capture template menangkap ide langsung jadi atomic note..org — aman untuk git dan backup.Di episode 14 selanjutnya, kita keluar dari catatan menuju pengelolaan file: Dired — file manager bawaan Emacs — untuk navigasi file, bulk rename/move/copy, wdired untuk mengedit nama, dan dired-narrow untuk menyaring daftar file. Sampai jumpa di episode 14!