Langsung ke konten

Algoritma dan pseudokode

Bungkus pseudokode dalam lingkungan algorithm dengan \caption agar mendapat "Algorithm 1"; di dalamnya, Scissor LaTeX membaca perintah huruf besar algorithmic (\STATE, \FOR) hanya di tata letak konferensi, jadi untuk dokumen lain tulis langkah-langkahnya di blok verbatim.

Lingkungan algorithm

Paket algorithm menyediakan lingkungan bernomor untuk pseudokode, seperti sebuah gambar: \caption memberinya nomor ("Algorithm 1"), dan \label setelah keterangan memungkinkan Anda merujuknya dengan \ref. Di Scissor LaTeX algoritma tetap berada di tempat Anda menulisnya dan keterangannya dicetak di bawahnya.

Isi di dalamnya bergantung pada paket yang Anda pakai untuk langkah-langkahnya, dan di situlah dukungannya berbeda:

PaketPerintahDi Scissor LaTeX
algorithmlingkungan algorithm, \caption, \labelBerfungsi: bernomor "Algorithm N", keterangan di bawah.
algorithmic\STATE, \IF, \FOR, \WHILE, \RETURN ... (huruf besar)Sebagian: hanya dibaca di dokumen dengan tata letak konferensi; di tempat lain menjadi perintah yang tidak dikenal.
algpseudocode (algorithmicx)\State, \If, \For, \EndFor, \Return ...Tidak didukung: dilewati dengan pesan, dan langkah-langkahnya menyatu dalam satu baris.
algorithm2e\KwIn, \For{..}{..}, \eIf ...Tidak didukung: dilewati dengan pesan.

Pseudokode yang berfungsi di mana saja

Cara paling andal untuk menampilkan pseudokode di dokumen Scissor LaTeX mana pun adalah blok verbatim di dalam algorithm. Nomor dan keterangannya tetap ada, dan baris-barisnya mempertahankan indentasinya.

Algoritma dengan langkah verbatim

LaTeXPreambul: \usepackage{algorithm}Buka di editor (terbuka di tab baru)
\begin{algorithm}
\caption{Sum of a list}
\label{alg:sum}
\begin{verbatim}
s := 0
for each a in xs:
    s := s + a
return s
\end{verbatim}
\end{algorithm}
Algorithm~\ref{alg:sum} adds the numbers of a list.
Ditata oleh Scissor LaTeX: Algoritma dengan langkah verbatim

Untuk pseudokode yang berisi rumus, lstlisting berfungsi dengan cara yang sama, atau tulis langkah-langkahnya sebagai teks biasa di luar lingkungan algorithm, dalam bentuk daftar bernomor.

Langkah sebagai daftar bernomor, dengan matematika

\textbf{Input:} numbers $a_1, \dots, a_n$.
\begin{enumerate}
  \item Set $s \gets 0$.
  \item For $i = 1, \dots, n$: set $s \gets s + a_i$.
  \item Return $s$.
\end{enumerate}
Ditata oleh Scissor LaTeX: Langkah sebagai daftar bernomor, dengan matematika

algorithmic di tata letak konferensi

Tata letak tiruan konferensi (arXiv, IEEE, NeurIPS, ICML, dan lainnya) membaca perintah huruf besar dari paket algorithmic: kata kunci seperti for, do, end for, dan return dicetak tebal, dan setiap perintah memulai baris baru. Nomor baris tidak digambar, dan barisnya rata tengah. Tab Masalah menyebutkan tata letak yang sedang dipakai.

algorithmic di dokumen bergaya arXiv

\documentclass{article}
\usepackage{arxiv}
\usepackage{algorithm,algorithmic}
\begin{document}
\begin{algorithm}
\caption{Sum of a list}
\begin{algorithmic}
\STATE $s \gets 0$
\FOR{$i = 1$ to $n$}
  \STATE $s \gets s + a_i$
\ENDFOR
\RETURN $s$
\end{algorithmic}
\end{algorithm}
\end{document}
Ditata oleh Scissor LaTeX: algorithmic di dokumen bergaya arXiv

Tab Masalah: Layout in the style of the arXiv preprint style (final mode). Not official. To compile elsewhere, add arxiv.sty from github.com/kourgeorge/arxiv-style.

algpseudocode tidak didukung

algpseudocode, paket yang paling umum di makalah terbaru, memakai perintah dengan huruf besar-kecil campuran seperti \State dan \EndFor. Scissor LaTeX tidak mengenalnya: nama perintahnya dilewati, rumus dan kata-katanya dipertahankan, dan semuanya menyatu dalam satu baris. Tab Masalah mencantumkan perintah yang dilewati.

algpseudocode: langkah-langkahnya menyatu

LaTeXPreambul: \usepackage{algorithm,algpseudocode}Buka di editor (terbuka di tab baru)
\begin{algorithm}
\caption{Sum of a list}
\begin{algorithmic}[1]
\State $s \gets 0$
\For{$i = 1$ to $n$}
  \State $s \gets s + a_i$
\EndFor
\State \Return $s$
\end{algorithmic}
\end{algorithm}

Tab Masalah: Skipped 4 unknown commands: \State, \For, \EndFor, \Return

Jika dokumen Anda harus berfungsi di sini sekaligus di instalasi TeX, tulis langkah-langkahnya dalam verbatim seperti di atas; cara itu bisa dikompilasi di mana saja.

Apa yang berbeda dari instalasi TeX

Halaman paketnya adalah algorithm, algorithmic, dan algpseudocode. Manualnya ada di CTAN: algorithms, algorithmicx, dan algorithm2e.

Lihat juga paket algoritma, Listing kode, dan Tata letak konferensi.

Tanya jawab

Bagaimana cara menulis algoritma di LaTeX?

Pakai lingkungan algorithm dengan \caption, lalu tulis langkah-langkahnya di dalamnya. Di Scissor LaTeX langkah-langkah paling baik ditulis di blok verbatim, atau dengan perintah \STATE dari algorithmic di tata letak konferensi.

Mengapa baris \State saya menyatu?

\State berasal dari algpseudocode, yang tidak didukung Scissor LaTeX. Nama perintahnya dilewati, sehingga langkah-langkahnya bergabung menjadi satu baris. Pakai verbatim untuk langkah-langkahnya.

Bisakah saya merujuk ke algoritma dengan nomornya?

Bisa. Letakkan \label{alg:name} setelah \caption lalu tulis Algorithm~\ref{alg:name}.

Setiap contoh di halaman ini ditata oleh Scissor LaTeX saat situs dibuat. Terakhir diperbarui 2026-11-07.