Tuesday, December 15, 2015

Menggambar Grafik Fungsi Trigonometri

Pada tulisan ini kita akan menggambar grafik fungsi trigonometri dengan daerah asal (absis) berupa sudut dalam radian yang dinyatakan dalam $\small\pi$, seperti tampak pada gambar di samping ini, dengan menggunakan paket pgfplots.

Preamble

Tentu saja kita muat
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
Tetapi untuk keperluan lainnya (ukuran dan letak) kita memerlukan library tikz
\usetikzlibrary{calc,positioning,intersections}
Hal utama dalam contoh grafik ini adalah menetapkan ukuran (jarak) absis yang dinyatakan dalam $\small\pi$. Agar ukuran ini menyatakan ukuran sebenarnya, kita memerlukan makro berikut ini.
\makeatletter
\newcommand*{\ArrayToCommaList}[1]{%
  \let\ArrayToCommaList@Result\@empty
  \expandafter\@tfor\expandafter\ArrayToCommaList@Entry
  \expandafter:\expandafter=#1\do{%
    \edef\ArrayToCommaList@Result{%
      \ArrayToCommaList@Result,\ArrayToCommaList@Entry
    }%
  }%
  % Remove first comma
  \edef#1{%
    \expandafter\@cdr\ArrayToCommaList@Result\@empty\@nil
  }%
}
\makeatother
Dengan makro tersebut kita akan mendaftar nilai-nilai absis pada sumbu $\small{X}$ dan mengurutkannya pada jarak yang tepat berdasarkan nilai $\small\pi$.

Opsi-opsi Grafik

Di dalam environment gambar tikz, sebelum environment axis, kita tetapkan dulu nilai-nilai absis yang akan kita tunjukkan, dengan menggunakan makro tadi, misalnya
\pgfmathsetmacro\xticklist{(1/4)*pi, (1/2)*pi, (3/4)*pi, pi, (5/4)*pi, (3/2)*pi, (7/4)*pi, 2*pi}
\ArrayToCommaList\xticklist
Agar bagian kurva kita termuat seluruhnya pada bidang gambar maka kita nyatakan
clip=false,
Kedua sumbu kita letakkan di tengah dan saya pilih warna bistre untuk kedua sumbu tersebut.
axis lines=middle,
axis line style={-stealth,bistre},
Warna bistre itu kita tetapkan dengan paket xcolor sebagai
\definecolor{bistre}{RGB}{61, 43, 31}
Kemudian kita namai dan kita letakkan nama kedua sumbu itu sebagai
xlabel=$x$,ylabel=$y$,
xlabel style=right,ylabel style=above,
Sesuai dengan cakupannya, kita batasi daerah asal dan daerah kawan, misalnya
xmin=-.25,xmax=2*pi+.25,
ymin=-2.5,ymax=2.5,
Noktah untuk absis yang kita tunjukkan merujuk pada daftar dalam perintah \xticklist semula, sedangkan ordinatnya cukup kita tunjukkan bilangan $\small-2$, $\small-1$, $\small1$, dan $\small2$.
xtick=\xticklist,ytick={-2,-1,1,2},
Khusus untuk nilai-nilai absisnya kita namai sesuai dengan daftar tersebut, yaitu
xticklabels={$\frac{\pi}{4}$,$\frac{\pi}{2}$,$\frac{3\pi}{4}$,$\pi$,$\frac{5\pi}{4}$,$\frac{3\pi}{2}$,$\frac{7\pi}{4}$,$2\pi$},
Agar tak terlalu besar, ukuran huruf untuk bilangan-bilangan absis dan ordinat itu kita perkecil, misalnya dengan
xticklabel style={font=\small,bistre},
yticklabel style={font=\small,bistre}
Bila dianggap masih terlalu besar juga, maka ukuran huruf itu dapat kita ganti dengan \scriptsize atau \footnotesize.

Grafik Fungsi

Setelah opsi-opsi tersebut kita muat, barulah sekarang kita bersiap untuk menyatakan kurva yang ingin kita buat. Dalam menggambar grafik fungsi trigonometri, sudut kita nyatakan di dalam tanda kurung setelah fungsinya dan sudut itu dinyatakan dalam derajat (degree) sebagai
cos(deg(sudut))
Dengan demikian untuk menyatakan kurva dari fungsi $\small{y=\cos{3x}+\cos{x}}$, kita nyatakan (dalam tanda kurung siku) sebagai
{cos(deg(3*x))+cos(deg(x))}
Kurva pada gambar di atas dinyatakan oleh
\addplot [samples=500,thick,stempel,domain=0:2*pi] {cos(deg(3*x))+cos(deg(x))} node[above left] {$y=\cos 3x + \cos x$};
Perhatikan opsi yang menyertainya. Kurva yang kita buat mencakup daerah asal $\small0\le{x}\le2\pi$, diwarnai oleh warna stempel, ketebalan garisnya seukuran thick, dan kerapatan plot setingkat $\small500$. Kemudian sekaligus juga kita namai kurva ini oleh perintah node dengan persamaan fungsinya yang diletakkan (pada ujung kanan kurva) di atas-kirinya.
Warna stempel ditetapkan sebagai
\definecolor{stempel}{RGB}{0 34 85}

Pengkodean dan Hasilnya

Nah, berikut ini pengkodean selengkapnya untuk menggambar grafik fungsi trigonometri seperti tampak pada gambar di atas, kemudian hasilnya dapat Anda lihat pada Gambar 1 dalam dokumen terlampir di bawahnya. Kemudian silakan Anda coba gunakan cara-cara yang telah diuraikan di atas untuk menghasilkan kurva seperti tampak pada Gambar 2 dan Gambar 3 dalam dokumen terlampir.
\documentclass[10pt]{article}
\usepackage[margin=2cm,a4paper]{geometry}
\usepackage{mathtools}
\usepackage[dvipsnames,svgnames]{xcolor}
\definecolor{bistre}{RGB}{61, 43, 31}
\definecolor{stempel}{RGB}{0 34 85}
%-------------------------------------------------

\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{calc,positioning,intersections}

%-----------------absis dalam pi
\makeatletter
\newcommand*{\ArrayToCommaList}[1]{%
  \let\ArrayToCommaList@Result\@empty
  \expandafter\@tfor\expandafter\ArrayToCommaList@Entry
  \expandafter:\expandafter=#1\do{%
    \edef\ArrayToCommaList@Result{%
      \ArrayToCommaList@Result,\ArrayToCommaList@Entry
    }%
  }%
  % Remove first comma
  \edef#1{%
    \expandafter\@cdr\ArrayToCommaList@Result\@empty\@nil
  }%
}
\makeatother
%---------------------------------------
\pagestyle{empty}

\begin{document}

\begin{figure}[!ht] 
\centering
\begin{tikzpicture}
\pgfmathsetmacro\xticklist{(1/4)*pi, (1/2)*pi, (3/4)*pi, pi, (5/4)*pi, (3/2)*pi, (7/4)*pi, 2*pi}
\ArrayToCommaList\xticklist
\begin{axis}[
    clip=false,axis lines=middle,
    axis line style={-stealth,bistre},
    xlabel=$x$,ylabel=$y$,
    xlabel style=right,ylabel style=above,
    xmin=-.25,xmax=2*pi+.25,
    ymin=-2.5,ymax=2.5,
    xtick=\xticklist,ytick={-2,-1,1,2},
    xticklabels={$\frac{\pi}{4}$,$\frac{\pi}{2}$,$\frac{3\pi}{4}$,$\pi$,$\frac{5\pi}{4}$,$\frac{3\pi}{2}$,$\frac{7\pi}{4}$,$2\pi$},
    xticklabel style={font=\small,bistre},
    yticklabel style={font=\small,bistre}
]
\addplot [samples=500,thick,stempel,domain=0:2*pi] {cos(deg(3*x))+cos(deg(x))} node[above left] {$y=\cos 3x + \cos x$};
\end{axis}
\end{tikzpicture}
\end{figure}

\end{document}



Penutup

Demikianlah, dokumen tersebut saya susun dalam jaringan melalui Online LaTeX Editor ShareLaTeX
Semoga bermanfaat.

Adjie Gumarang Pujakelana 2015


No comments:

Related Posts Plugin for WordPress, Blogger...