Wednesday, March 11, 2015

Menggambar Kurva dengan Pgfplots

Paket pgfplots sangat berguna untuk menggambarkan grafik fungsi (dalam skala normal maupun logaritmik) di dalam $\small\TeX$ dengan skala yang tepat, antarmuka (interface) yang mudah dan hasilnya berkualitas tinggi. Kita (pengguna) hanya perlu menyediakan opsi-opsi pada sumbu koordinat, persamaan fungsi, dan koordinat titik-titik, pgfplots akan menerapkan skalanya, melakukan penghitungan, dan menggambarkan grafiknya.
Paket pgfplots berlandaskan pada paket pgf/tikz dan dapat dijalankan dalam $\small\LaTeX$/$\small\TeX$/Con$\small\TeX$t.


Menggambar Kurva 2D

Untuk menggambar grafik fungsi dengan menggunakan paket pgfplots, kita muat 
\usepackage{tikz} % memungkinkan perintah dari tikz
\usepackage{pgfplots}
\pgfplotsset{compat=1.10} % menyatakan versi pgfplots yang digunakan
\usepackage{amsmath} % penulisan dalam modus matematika
\usepackage{bm} % menebalkan tulisan dalam modus matematika
dalam preamble. Kemudian grafik yang akan dibuat dinyatakan dalam environment
\begin{tikzpicture}[opsi]
\begin{axis}[opsi]
\addplot[opsi] {rumus fungsi};
\end{axis}
\end{tikzpicture}
Misalkan kita akan menggambar grafik fungsi \(y=x^3-x^2-6x\), maka rumus fungsi yang kita tuliskan adalah
x^3-x^2-6*x
Hasilnya dapat dilihat pada gambar 1 dalam contoh dokumen di bawah ini.
Sekarang bagaimana kalau kita ingin menetapkan kedua sumbu koordinat berpotongan di tengah, yaitu di titik \((0,0)\)?
Untuk ini, pada opsi environment axis kita tetapkan
axis lines=middle
Perhatikan hasilnya pada gambar 2 dalam contoh dokumen.

Pada gambar berikutnya saya contohkan cara untuk menamai kedua sumbu koordinat, menamai dan mewarnai kurva, menetapkan absis-absis tertentu, dan membuat ruas garis. Opsi-opsi ini dinyatakan sebagai berikut:
xlabel={\large $x$}, % menamai sumbu x
ylabel={\large $y$}, % menamai sumbu y
xtick={-2,-1.12,0,1.79,3}, % absis yang ditunjukkan
ytick={-8.21}, % ordinat yang ditunjukkan
xmin=-3, xmax=5, % batasan absis pada kurva
ymin=-15,ymax=50, % batasan ordinat pada kurva
samples=500, % banyak (kerapatan) titik untuk garis
enlargelimits=false % perluasan pada sumbu koordinat
Sekarang perhatikan perintah untuk menggambar kurvanya
\addplot[domain=-2.5:4.25,blue,smooth,very thick] {x^3-x^2-6*x} node[above left] {$y=x^3-x^2-6x$};
Opsi dalam perintah addplot itu berarti bahwa kurva \(y=x^3-x^2-6x\) digambar sebatas (domain\(-2,5\le x\le 4,25\) dengan warna dasar biru (blue), diperhalus (smooth), dan ukuran garisnya agar tebal (very thick). Sedangkan nama (rumus) fungsinya diletakkan oleh perintah node di ujung kurva pada atas-kirinya (above left).
Garis mendatar \(y=4,06\) (sejajar dengan sumbu \(x\), dalam hal ini sebagai garis singgung kurva di titik stasionernya) dinyatakan oleh perintah
\addplot[RosyBrown,dashed,domain=-3:1.5] {4.06};
yang berwarna RosyBrown dari paket [svgnames]xcolor, berupa garis putus-putus (dashed), dalam batas (domain\(-2,5\le x\le 4,25\).
Dalam pgfplots, untuk menempatkan nama pada suatu koordinat kita gunakan perintah node seperti ini
\node[above right] at (axis cs:0,4.06) {4.06};
yang berarti saya menuliskan angka (dalam hal ini nilai ordinat) \(4,06\) pada koordinat \((0,4.06)\) di atas-kanannya (above right).
Hasilnya dapat dilihat pada gambar 3 dalam contoh dokumen.

Dalam gambar 4 saya contohkan cara mengarsir daerah di antara dua kurva. Untuk keperluan ini, dalam pgfplots, kita sertakan library berikut ini:
\usepgfplotslibrary{fillbetween}
di dalam preamble. Silakan amati perintah-perintah dan opsi-opsinya dalam environment berikut ini sambil mengamati hasilnya pada gambar 4.
\begin{tikzpicture}
\begin{axis}[
    axis lines=middle,
    xtick={-2,-1.12,0,1.79,3},              
    ytick={-8.21},
    xlabel={\large $x$},
    ylabel={\large $y$},
 xmin=-3, xmax=5, 
 ymin=-15,ymax=50,
 samples=500,enlargelimits=false]
\addplot[name path=A,domain=-2.5:4.25,Navy,smooth,very thick] {x^3-x^2-6*x} node[above left] {$y=x^3-x^2-6x$};
\addplot[RosyBrown,dashed,domain=-3:1.5] {4.06};
\addplot[RosyBrown,dashed,domain=0:4] {-8.21};
\node[above right] at (axis cs:0,4.06) {4.06};
\path[name path=B] (axis cs:-2,0)--(axis cs:3,0);
\addplot[draw,pattern=north west lines,pattern color=DodgerBlue,opacity=.5] fill between[of=A and B,soft clip={domain=-2:3}];
\end{axis}
\end{tikzpicture}
Akhirnya, inilah pengkodean selengkapnya untuk contoh dokumen di bawah ini. Tentu saja ini sekelumit yang sangat kecil dari kekayaan paket pgfplots. Untuk memperdalam penguasaan terhadap pemanfaatan paket ini, silakan unduh dokumentasinya di sini.
\documentclass[a4paper]{article}
\usepackage[margin=1.5cm]{geometry}
\usepackage[svgnames,dvipsnames,table]{xcolor}
\usepackage[labelformat=simple]{caption}
\usepackage{fourier}
\usepackage[indonesian]{babel}
%--------------------------------
\usepackage{amsmath,bm}
\usepackage{tikz}
\usetikzlibrary{patterns}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{fillbetween}
%-------------------------------
\usepackage{adjustbox}

\parindent0em
\let\ds\displaystyle

\begin{document}

\adjustbox{valign=t}{\begin{minipage}[t]{0.45\textwidth}
\centering
\begin{tikzpicture}[]
\begin{axis}[]
\addplot[] {x^3-x^2-6*x};                   % gambar 1
\end{axis}
\end{tikzpicture}
\captionof{figure}{}
\end{minipage}}\hfill
%
\adjustbox{valign=t}{\begin{minipage}[t]{0.45\textwidth}
\centering
\begin{tikzpicture}[]
\begin{axis}[axis lines=middle]
\addplot[] {x^3-x^2-6*x};                   % gambar 2
\end{axis}
\end{tikzpicture}
\captionof{figure}{}
\end{minipage}}\hfill

\bigskip
\adjustbox{valign=t}{\begin{minipage}[t]{0.45\textwidth}
\centering
\begin{tikzpicture}[]
\begin{axis}[
    axis lines=middle,
    xtick={-2,-1.12,0,1.79,3},              % gambar 3
    ytick={-8.21},
    xlabel={\large $x$},
    ylabel={\large $y$},
 xmin=-3, xmax=5, 
 ymin=-15,ymax=50,
 samples=500,
 enlargelimits=false]
\addplot[domain=-2.5:4.25,blue,smooth,very thick] {x^3-x^2-6*x} node[above left] {$y=x^3-x^2-6x$};
\addplot[RosyBrown,dashed,domain=-3:1.5] {4.06};
\addplot[RosyBrown,dashed,domain=0:4] {-8.21};
\node[above right] at (axis cs:0,4.06) {4.06};
\end{axis}
\end{tikzpicture}
\captionof{figure}{}
\end{minipage}}\hfill
%
\adjustbox{valign=t}{\begin{minipage}[t]{0.45\textwidth}
\centering
\begin{tikzpicture}[]
\begin{axis}[
    axis lines=middle,
    xtick={-2,-1.12,0,1.79,3},              % gambar 4
    ytick={-8.21},
    xlabel={\large $x$},
    ylabel={\large $y$},
 xmin=-3, xmax=5, 
 ymin=-15,ymax=50,
 samples=500,enlargelimits=false]
\addplot[name path=A,domain=-2.5:4.25,Navy,smooth,very thick] {x^3-x^2-6*x} node[above left] {$y=x^3-x^2-6x$};
\addplot[RosyBrown,dashed,domain=-3:1.5] {4.06};
\addplot[RosyBrown,dashed,domain=0:4] {-8.21};
\node[above right] at (axis cs:0,4.06) {4.06};
\path[name path=B] (axis cs:-2,0)--(axis cs:3,0);
\addplot[draw,pattern=north west lines,pattern color=DodgerBlue,opacity=.5] fill between[of=A and B,soft clip={domain=-2:3}];
\end{axis}
\end{tikzpicture}
\captionof{figure}{}
\end{minipage}}\hfill

\end{document}
Dokumen ini saya susun melalui Online LaTeX Editor ShareLaTeX
Demikian semoga bermanfaat.

Adjie Gumarang Pujakelana 2015



No comments:

Related Posts Plugin for WordPress, Blogger...