> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/id/gambar-dan-tabel/05-tikz-package.md).

# Paket TikZ

## Pendahuluan

[Ti*k*Z](https://en.wikipedia.org/wiki/PGF/TikZ) adalah mungkin alat yang paling kompleks dan kuat untuk membuat elemen grafis di LaTeX. Dimulai dengan contoh sederhana, artikel ini memperkenalkan beberapa konsep dasar: menggambar garis, titik, kurva, lingkaran, persegi panjang, dll.

Pertama, muat `tikz` paket dengan menyertakan baris `\usepackage{tikz}` di preambel dokumen Anda, lalu gambar grafik menggunakan `tikzpicture` lingkungan.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[gray, thick] (-1,2) -- (2,-4);
\draw[gray, thick] (-1,-1) -- (2,2);
\filldraw[black] (0,0) circle (2pt) node[anchor=west]{Titik perpotongan};
\end{tikzpicture}
\end{document}
```

[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=First+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cdraw%5Bgray%2C+thick%5D+%28-1%2C2%29+--+%282%2C-4%29%3B%0A%5Cdraw%5Bgray%2C+thick%5D+%28-1%2C-1%29+--+%282%2C2%29%3B%0A%5Cfilldraw%5Bblack%5D+%280%2C0%29+circle+%282pt%29+node%5Banchor%3Dwest%5D%7BIntersection+point%7D%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![OLV2tikz1.png](/files/4746d997f0ea8b170b5fe0811dd092fb252b9411)

Dalam contoh ini dua garis dan satu titik digambar. Untuk menambahkan garis, perintah `\draw[gray, thick]` mendefinisikan elemen grafis yang *warna* adalah `gray` dan dengan `tebal` garis tebal. Garis tersebut sebenarnya ditentukan oleh dua titik ujungnya, `(-1,2)` dan `(2,-4)`, yang dihubungkan oleh `--`.

Fitur *titik* sebenarnya adalah sebuah `lingkaran` digambar dengan `\filldraw[black]`, perintah ini tidak hanya menggambar lingkaran tetapi juga mengisinya dengan warna hitam. Dalam perintah ini, titik pusat `(0,0)` dan jari-jari `(2pt)` dideklarasikan. Di sebelah titik tersebut ada sebuah `node`, yang sebenarnya adalah kotak yang berisi teks `titik perpotongan`, dan ditambatkan di `west` dari titik tersebut.

Penting untuk memperhatikan titik koma `;` yang digunakan di akhir setiap `draw` perintah.

Catatan: Lingkungan `tikzfigure` dapat ditempatkan di dalam lingkungan figure atau sejenisnya. Lihat [Menyisipkan Gambar](/latex/id/topik-lainnya/27-inserting-images.md) artikel untuk informasi lebih lanjut tentang topik ini.

## Elemen dasar: titik, garis, dan lintasan

Pada bagian ini kami memberikan beberapa contoh yang menunjukkan cara membuat elemen grafis dasar yang dapat digabungkan untuk membuat gambar yang lebih rumit.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}

\draw (-2,0) -- (2,0);
\filldraw [gray] (0,0) circle (2pt);
\draw (-2,-2) .. controls (0,0) .. (2,-2);
\draw (-2,2) .. controls (-1,0) and (1,0) .. (2,2);

\end{tikzpicture}
\end{document}
```

[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Second+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%0A%5Cdraw+%28-2%2C0%29+--+%282%2C0%29%3B%0A%5Cfilldraw+%5Bgray%5D+%280%2C0%29+circle+%282pt%29%3B%0A%5Cdraw+%28-2%2C-2%29+..+controls+%280%2C0%29+..+%282%2C-2%29%3B%0A%5Cdraw+%28-2%2C2%29+..+controls+%28-1%2C0%29+and+%281%2C0%29+..+%282%2C2%29%3B%0A%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![OLV2tikz2.png](/files/de4320a9ee6a22e7d854f0741f7aca4f4b66753b)

Ada tiga perintah dasar dalam contoh ini:

* **`\draw (-2,0) -- (2,0);`**: Ini mendefinisikan sebuah garis yang titik ujungnya adalah `(-2,0)` dan `(2,0)`.
* **`\filldraw [gray] (0,0) circle (2pt);`**: Titik dibuat sebagai sebuah sangat kecil `gray` `lingkaran` berpusat di `(0,0)` dan yang jari-jarinya adalah `(2pt)`. Paket `\filldraw` perintah digunakan untuk menggambar elemen dan mengisinya dengan warna tertentu. Lihat bagian berikutnya untuk lebih banyak contoh.
* **`\draw (-2,2) .. controls (-1,0) and (1,0) .. (2,2);`**: Menggambar sebuah [kurva Bézier](https://en.wikipedia.org/wiki/B%C3%A9zier_curve). Ada 4 titik yang mendefinisikannya: `(-2,2)` dan `(2,2)` adalah titik ujungnya, `(-1,0)` dan `(1,0)` sudah [*titik kendali*](https://en.wikipedia.org/wiki/Control_point_\(mathematics\)) yang menentukan "seberapa melengkung" kurva tersebut. Anda dapat menganggap dua titik ini sebagai "titik penarik".

## Bentuk geometris dasar: Lingkaran, elips, dan poligon

Bentuk geometris dapat dibangun dari elemen yang lebih sederhana, jadi mari mulai dengan lingkaran, elips, dan busur.

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\filldraw[color=red!60, fill=red!5, very thick](-1,0) circle (1.5);
\fill[blue!50] (2.5,0) ellipse (1.5 and 0.5);
\draw[ultra thick, ->] (6.5,0) arc (0:220:1);
\end{tikzpicture}
\end{document}
```

[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Third+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cfilldraw%5Bcolor%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%5D%28-1%2C0%29+circle+%281.5%29%3B%0A%5Cfill%5Bblue%2150%5D+%282.5%2C0%29+ellipse+%281.5+and+0.5%29%3B%0A%5Cdraw%5Bultra+thick%2C+-%3E%5D+%286.5%2C0%29+arc+%280%3A220%3A1%29%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![TikzEx3.png](/files/a8e4b2895f6ca95625e3db74dab014f67032c962)

* **`\filldraw[color=red!60, fill=red!5, very thick](-1,0) circle (1.5);`**: Perintah ini digunakan pada bagian sebelumnya untuk menggambar sebuah *titik*, tetapi dalam contoh ini ada beberapa parameter tambahan di dalam tanda kurung siku. Ini dijelaskan di bawah:
  * **`color=red!60`**: Warna cincin di sekitar lingkaran diatur menjadi 60% merah (lebih terang daripada merah "murni"). Lihat [panduan referensi](#reference-guide) untuk daftar warna bawaan yang tersedia di LaTeX; juga lihat [Menggunakan warna di LaTeX](/latex/id/pemformatan/13-using-colors-in-latex.md) untuk mempelajari cara membuat warna Anda sendiri.
  * **`fill=red!5`**: Lingkaran diisi dengan warna merah yang lebih muda lagi.
  * **`very thick`**: Parameter ini menentukan ketebalan garis. Lihat [panduan referensi](#reference-guide) untuk daftar lengkap nilai.
* **`\fill[blue!50] (2.5,0) ellipse (1.5 and 0.5);`**: Untuk membuat elips, Anda memberikan titik pusat `(2.5,0)`, dan dua jari-jari: horizontal dan vertikal (`1.5` dan `0.5` masing-masing). Perhatikan juga perintah `fill` bukannya `draw` atau filldraw, ini karena dalam kasus ini tidak perlu mengontrol warna luar dan dalam.
* **`\draw[ultra thick, ->] (6.5,0) arc (0:220:1);`**: Perintah ini akan menggambar sebuah busur yang dimulai pada `(6.5,0)`. Parameter tambahan `->` menunjukkan bahwa busur akan memiliki panah di ujungnya. Selain titik awal, Anda harus memberikan tiga nilai tambahan: sudut awal dan akhir, serta jari-jari; di sini, ketiga nilai parameter ini diberikan dalam format `(0:220:1)`.

Selain bentuk geometris melengkung, Anda juga dapat membuat elemen yang menggunakan garis lurus, dengan sintaks yang serupa:

```latex
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[blue, very thick] (0,0) rectangle (3,2);
\draw[orange, ultra thick] (4,0) -- (6,0) -- (5.7,2) -- cycle;
\end{tikzpicture}
\end{document}
```

[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Fourth+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cdraw%5Bblue%2C+very+thick%5D+%280%2C0%29+rectangle+%283%2C2%29%3B%0A%5Cdraw%5Borange%2C+ultra+thick%5D+%284%2C0%29+--+%286%2C0%29+--+%285.7%2C2%29+--+cycle%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![OLV2tikz4.png](/files/c404fa33d46f1727eb9a407552d85baa37b8cd29)

* **`\draw[blue, very thick] (0,0) rectangle (3,2);`**: Persegi panjang dibuat dengan perintah khusus `rectangle`. Anda harus memberikan dua titik, yang pertama adalah tempat "pensil" mulai menggambar persegi panjang dan yang kedua adalah titik sudut yang berseberangan secara diagonal.
* **`\draw[orange, ultra thick] (4,0) -- (6,0) -- (5.7,2) -- cycle;`**: Untuk menggambar poligon, kita menggambar sebuah *tertutup* lintasan garis lurus: sebuah garis dari `(4,0)` ke `(6,0)` dan sebuah garis dari `(6,0)` ke `(5.7,2)`. Paket `cycle` berarti titik awal dan akhir harus bertepatan untuk membuat lintasan (bentuk) "tertutup", yang menghasilkan segmen garis terakhir.

## Diagram

Node mungkin adalah elemen yang paling serbaguna di TikZ. Kita sudah menggunakan satu node pada bagian pengantar—untuk menambahkan beberapa teks pada gambar. Contoh berikut menggunakan node untuk membuat diagram.

```latex
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[
roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm},
squarednode/.style={rectangle, draw=red!60, fill=red!5, very thick, minimum size=5mm},
]
%Nodes
\node[squarednode]      (maintopic)                              {2};
\node[roundnode]        (uppercircle)       [above=of maintopic] {1};
\node[squarednode]      (rightsquare)       [right=of maintopic] {3};
\node[roundnode]        (lowercircle)       [below=of maintopic] {4};

%Lines
\draw[->] (uppercircle.south) -- (maintopic.north);
\draw[->] (maintopic.east) -- (rightsquare.west);
\draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);
\end{tikzpicture}
\end{document}
```

[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=More+advanced+TikZ+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cusetikzlibrary%7Bpositioning%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%5B%0Aroundnode%2F.style%3D%7Bcircle%2C+draw%3Dgreen%2160%2C+fill%3Dgreen%215%2C+very+thick%2C+minimum+size%3D7mm%7D%2C%0Asquarednode%2F.style%3D%7Brectangle%2C+draw%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%2C+minimum+size%3D5mm%7D%2C%0A%5D%0A%25Nodes%0A%5Cnode%5Bsquarednode%5D++++++%28maintopic%29++++++++++++++++++++++++++++++%7B2%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28uppercircle%29+++++++%5Babove%3Dof+maintopic%5D+%7B1%7D%3B%0A%5Cnode%5Bsquarednode%5D++++++%28rightsquare%29+++++++%5Bright%3Dof+maintopic%5D+%7B3%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28lowercircle%29+++++++%5Bbelow%3Dof+maintopic%5D+%7B4%7D%3B%0A%0A%25Lines%0A%5Cdraw%5B-%3E%5D+%28uppercircle.south%29+--+%28maintopic.north%29%3B%0A%5Cdraw%5B-%3E%5D+%28maintopic.east%29+--+%28rightsquare.west%29%3B%0A%5Cdraw%5B-%3E%5D+%28rightsquare.south%29+..+controls+%2B%28down%3A7mm%29+and+%2B%28right%3A7mm%29+..+%28lowercircle.east%29%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![OLV2tikz5.png](/files/5ae199e26b469d9244a93e269679963020c7a2fd)

Pada dasarnya ada tiga perintah dalam gambar ini: definisi node, deklarasi node, dan garis yang menghubungkan dua node.

* **`roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm}`**: Diberikan sebagai parameter untuk `tikzpicture` lingkungan. Ini mendefinisikan sebuah node yang akan dirujuk sebagai `roundnode`: node ini akan berupa lingkaran yang cincin luarnya digambar menggunakan warna `green!60` dan akan diisi menggunakan `green!5`. Garisnya akan `very thick` dan `ukuran minimum` adalah `7mm`. Baris di bawah ini mendefinisikan node berbentuk persegi panjang kedua yang disebut `squarednode`, dengan parameter serupa.
* **`\node[squarednode] (maintopic) {2};`**: Ini akan membuat sebuah `squarednode`, seperti yang didefinisikan pada perintah sebelumnya. Node ini akan memiliki id `maintopic` dan akan berisi angka `2`. Jika Anda membiarkan ruang kosong di dalam kurung kurawal, tidak ada teks yang akan ditampilkan.
* **`[above=of maintopic]`**: Perhatikan bahwa semua node kecuali yang pertama memiliki parameter tambahan yang menentukan posisinya relatif terhadap node lain. Misalnya, `[above=of maintopic]` berarti node ini harus muncul di atas node bernama `maintopic`. Agar sistem penempatan ini berfungsi, Anda harus menambahkan `\usetikzlibrary{positioning}` ke preambel Anda. Tanpa `positioning` library, Anda dapat menggunakan sintaks `above of=maintopic` sebagai gantinya, tetapi `positioning` sintaksnya lebih fleksibel dan kuat: Anda dapat memperluasnya untuk menulis `above=**3cm** of maintopic` yaitu mengontrol jarak sebenarnya dari `maintopic`.
* **`\draw[->] (uppercircle.south) -- (maintopic.north);`**: Sebuah garis lurus seperti panah akan digambar. Sintaksnya telah dijelaskan sebelumnya di bagian [elemen dasar](#basic-elements-points-lines-and-paths) bagian tersebut. Satu-satunya perbedaan adalah cara kita menuliskan titik ujung garis: dengan mereferensikan sebuah node (itulah sebabnya kita memberi mereka nama) dan posisi relatif terhadap node.

## Panduan Referensi

Parameter warna dan ketebalan yang mungkin dalam `tikz` paket:

| parameter | nilai                                                       | picture                                                              |
| --------- | ----------------------------------------------------------- | -------------------------------------------------------------------- |
| warna     | white, black, red, green, blue, cyan, magenta, yellow       | ![BasicColours.png](/files/2a546a7b724ab00a0973e3d63669691d3657c0bf) |
| ketebalan | ultra thin, very thin, thin, thick, very thick, ultra thick | ![Thickness.png](/files/5fc81409ff72dc895930b7a36aef588f6d4a2fb0)    |

Lebih banyak warna mungkin tersedia dalam distribusi LaTeX Anda. Lihat [Menggunakan warna di LaTeX](/latex/id/pemformatan/13-using-colors-in-latex.md)

## Bacaan lanjutan

Untuk informasi lebih lanjut lihat:

* [Menggunakan warna di LaTeX](/latex/id/pemformatan/13-using-colors-in-latex.md)
* [paket Pgfplots](/latex/id/bidang-khusus/08-pgfplots-package.md)
* [Menyisipkan Gambar](/latex/id/topik-lainnya/27-inserting-images.md)
* [Daftar tabel dan gambar](/latex/id/gambar-dan-tabel/03-lists-of-tables-and-figures.md)
* [Penempatan gambar dan tabel](/latex/id/gambar-dan-tabel/02-positioning-images-and-tables.md)
* [Menggambar diagram secara langsung di LaTeX](/latex/id/gambar-dan-tabel/04-picture-environment.md)
* [Manual Paket TikZ dan PGF](http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf)
* [Contoh TikZ dan PGF di TeXample.net](http://www.texample.net/tikz/examples/all/)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/id/gambar-dan-tabel/05-tikz-package.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
