Mengenal tiga jenis daftar di LaTeX: itemize (bullet), enumerate (nomor otomatis dengan nesting hingga 4 level), dan description (label kustom), plus paket modern enumitem untuk mengatur jarak, label, dan melanjutkan penomoran antar-listi.

Setelah di episode 4 kita menguasai teks dan formatting dasar, pada episode ini kita membahas daftar (lists) — fitur yang hampir selalu ada dalam dokumen ilmiah untuk menyajikan poin, langkah, atau terminologi. LaTeX menyediakan tiga environment list: itemize (bullet), enumerate (bernomor), dan description (berlabel kustom), ditambah paket modern enumitem yang memberi kendali kelas pembicaraan.
Mengapa list penting? Membuat daftar dengan penomoran otomatis berarti kalian tidak perlu mengubah angka manual saat menambah item — sistem yang menghitung. Ini sejalan dengan filosofi WYSIWYM: kalian menyatakan makna (ini list bernomor), sistem yang mengatur tampilannya.
itemize membuat daftar dengan bullet point. Setiap item diawali \item:
\begin{itemize}
\item Poin pertama
\item Poin kedua
\item Poin ketiga
\end{itemize}Hasilnya daftar dengan bullet bulat. Secara default, item diindentasi dari margin kiri.
enumerate membuat daftar bernomor yang dihitung otomatis:
\begin{enumerate}
\item Langkah pertama
\item Langkah kedua
\item Langkah ketiga
\end{enumerate}Kelebihannya: tambah item di tengah, dan seluruh penomoran bergeser otomatis. Untuk daftar bertingkat, LaTeX mendukung nesting hingga 4 level. Pada level yang lebih dalam, gaya penomoran berubah otomatis — angka → huruf → romawi:
\begin{enumerate}
\item Level satu
\begin{enumerate}
\item Level dua (huruf)
\begin{enumerate}
\item Level tiga (romawi)
\end{enumerate}
\end{enumerate}
\end{enumerate}Note
Secara default LaTeX mengizinkan maksimal 4 level nesting. Jika butuh lebih, paket enumitem memungkinkan menambah level melalui \newlist.
description digunakan untuk daftar berlabel ala glossary — tiap \item[label] menampilkan label tebal diikuti uraian:
\begin{description}
\item[CPU] Unit pemrosesan utama.
\item[RAM] Memori akses acak.
\item[GPU] Unit pemrosesan grafis.
\end{description}Label di dalam kurung siku hanya mengubah teks label, bukan penomoran. Ini pas untuk definisi istilah.
Kalian bisa menggabungkan tipe list dalam nesting — misalnya enumerate di dalam itemize:
\begin{itemize}
\item Pengantar
\begin{enumerate}
\item Definisi lapisan atas
\item Definisi lapisan bawah
\end{enumerate}
\item Penutup
\end{itemize}Aturan dasarnya: tiap level list dibuka dan ditutup environment-nya sendiri. Konsistensi penutup ini sering menjadi sumber error — pastikan setiap \begin{...} punya pasangan \end{...}.
Paket enumitem memberdayakan list default dengan opsi kustom. Muat dengan \usepackage{enumitem} lalu sesuaikan label, jarak, dan resume:
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}[label=\alph*)]
\item Item pertama (a)
\item Item kedua (b)
\end{enumerate}
\end{document}Opsi label=\alph*) mengubah label menjadi huruf kecil (a), b), ...). Pilihan lain: \arabic* (1, 2, 3), \roman* (i, ii, iii), \Alph* (A, B, C).
Fitur penting enumitem lainnya:
itemsep, topsep, parsep.[resume] untuk melanjutkan penomoran dari list sebelumnya.\newlist{mylist}{enumerate}{3} + \setlist untuk kebutuhan spesifik.\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}
\item Langkah 1
\end{enumerate}
\begin{enumerate}[resume]
\item Langkah 2 (dilanjutkan otomatis)
\end{enumerate}
\end{document}Tip
Sejak lahirnya proyek tagged PDF (episode 21), perilaku enumitem juga di-emulasi dan berkaitan dengan dukungan aksesibilitas di kernel LaTeX. Untuk seri ini cukup kuasai penggunaannya; kita akan kembali menyinggung aspek tagging di episode 21.
Pada episode 5 ini, kalian telah menguasai daftar di LaTeX.
Inti yang harus dibawa pulang:
itemize — bullet list; enumerate — nomor otomatis; description — label kustom.enumitem memberi kendali label (label=\alph*), jarak, resume, dan custom list.\begin{...} harus punya pasangan \end{...}.Di episode 6 selanjutnya, kita akan membahas table & figures (floats) — environment figure dan table, dasar tabular untuk menyusun baris-kolom, penempatan float dengan opsi h/t/b/p, serta paket booktabs dan tabularx untuk tabel modern. Sampai jumpa di episode 6!