Showing posts with label menggambar grafik. Show all posts
Showing posts with label menggambar grafik. Show all posts

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


Monday, December 7, 2015

Menggambar Grafik Fungsi Aljabar

Pada tulisan ini saya akan mengulas cara menggambar grafik fungsi aljabar dengan menggunakan paket pgfplots. Sebagai contoh, saya kutip dari soal Ujian Nasional Matematika SMA/MA IPA Tahun Pelajaran 2014/2015 berikut ini.
Luas daerah antara kurva $\small{y=x^3-x^2-6x}$ dan sumbu $\small{X}$ adalah
  1. $\small23\frac{5}{12}$ satuan luas
  2. $\small23\frac{1}{12}$ satuan luas
  3. $\small22\frac{3}{12}$ satuan luas
  4. $\small21\frac{5}{12}$ satuan luas
  5. $\small21\frac{1}{12}$ satuan luas
Gambar akhir yang kita tuju tampak seperti di samping ini.
Nah, bagaimana cara menggambar grafik fungsi $\small{y=x^3-x^2-6x}$ dengan menggunakan paket pgfplots?

Paket

Pada preamble kita muat
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

Environment

"Kerangka" untuk menggambar grafik dalam pgfplots menggunakan environment sebagai berikut
\begin{tikzpicture}
\begin{axis}[opsi]
... pengkodean grafik
\begin{axis}
\end{tikzpicture}

Menggambar Grafik

Persamaan fungsi yang akan kita gambar adalah $\small{y=x^3-x^2-6x}$, maka dalam pengkodeannya kita cukup mencantumkan $\small{x^3-x^2-6x}$ saja, dan untuk perkalian digunakan tanda bintang.
\begin{tikzpicture}
\begin{axis}
\addplot {x^3-x^2-6*x};
\end{axis}
\end{tikzpicture}
Perhatikan pengkodean di atas. Kita tidak menggunakan opsi, baik pada environment tikzpicture maupun pada environment axis. addplot adalah perintah untuk menggambar kurva dalam pgfplots. Perintah ini pun tidak menyertakan opsi. Hasilnya dapat dilihat pada Gambar 1 dalam dokumen terlampir di bawah ini.

Sekarang, apa yang terjadi jika kita cantumkan opsi pada environment axis dengan meletakkan kedua sumbu di tengah, kemudian pada perintah addplot kita cantumkan opsi daerah asal, kehalusan kurva, dan ketebalan kurva?
\begin{tikzpicture}
\begin{axis}[axis lines=middle]
\addplot[domain=-2.5:4.25,smooth,very thick] {x^3-x^2-6*x};
\end{axis}
\end{tikzpicture}
Perhatikan juga bahwa setiap perintah diakhiri oleh titik-koma, setiap opsi dipisahkan oleh koma, dan rentang daerah asal dipisahkan oleh titik-dua. Penetapan nilai pada rentang daerah asal bersifat subjektif, menurut selera. Hasilnya dapat dilihat pada Gambar 2 dalam dokumen terlampir di bawah ini.

Pada Gambar 2 tampak bahwa rentang absis dan rentang ordinat "tidak imbang", karena nilai $\small{y}$ terlalu besar. Kita (subjektif) dapat mengaturnya dengan menambahkan opsi nilai minimum dan maksimum untuk keduanya pada environment axis, misalnya
xmin=-3, xmax=5, 
ymin=-9, ymax=9,
Hasilnya dapat dilihat pada Gambar 3 dalam dokumen terlampir di bawah ini.

Selanjutnya, kita dapat menunjukkan semua atau sebagian dari nilai absis dan ordinat pada grafik yang kita buat. Jika kita ingin menunjukkan hanya sebagiannya (tertentu) saja, maka kita menyatakannya dengan, misalnya,
xtick={-2,-1,0,1,2,3},
ytick={-8,4},
Ini juga (tambahkan) merupakan opsi pada environment axis, dan hasilnya dapat dilihat pada Gambar 4 dalam dokumen terlampir di bawah ini.

Opsi berikutnya adalah kerapatan dari plot kurva yang kita buat, yaitu samples. Kita dapat menetapkan nilai yang memadai. Kemudian, kita dapat memperluas atau tidak memperluas bagian kiri dan kanan bidang grafik. Ini ditetapkan dalam opsi enlargelimits oleh true atau false. Dengan demikian, sebagai opsi environment axis, dapat kita tambahkan, misalnya,
samples=500,
enlargelimits=false,
Hasilnya dapat dilihat pada Gambar 5 dalam dokumen terlampir di bawah ini.

Sekarang kita akan menamai kedua sumbu koordinat. Dalam opsi label dapat kita tetapkan beberapa perintah untuk penamaannya. Dalam contoh ini, misalnya, nama sumbu adalah $\small{x}$ dan $\small{y}$ dengan ukuran huruf large.
xlabel={\large $x$},
ylabel={\large $y$}
Perhatikan bahwa ukuran huruf itu bersifat lokal, sehingga harus diperintahkan di dalam tanda kurung kurawal. Penamaan semacam ini bersifat asal (bawaan) dari pgfplots dan hasilnya dapat dilihat pada Gambar 6 dalam dokumen terlampir di bawah ini.

Bila diinginkan nama sumbu $\small{x}$ terletak di kanan dan nama sumbu $\small{y}$ terletak di atas, maka pada opsi label ditambahkan style sebagai berikut.
xlabel={\large $x$},xlabel style=right,
ylabel={\large $y$},ylabel style=above,
Hasilnya dapat dilihat pada Gambar 7 dalam dokumen terlampir di bawah ini.

Terakhir kita akan menamai kurva yang kita buat dengan persamaan fungsinya. Dalam hal ini kita gunakan perintah node dari paket tikz (yang merupakan dasar dari paket pgfplots). Kita letakkan namanya pada suatu koordinat (disesuaikan), yang ditautkan oleh pin dengan sudut tertentu. Misalnya,
\node[coordinate,pin=95:{\small{$y=x^3-x^2-6x$}}] at (axis cs:3.3,5){};

Nah, bila keseluruhan pengkodean itu kita rangkai maka akan kita peroleh gambar seperti di atas. Berikut ini pengkodean selengkapnya untuk gambar tersebut dan hasilnya dapat dilihat pada Gambar 8 dalam dokumen terlampir di bawah ini.
\documentclass[10pt]{article}
\usepackage[margin=2cm,a4paper]{geometry}
\usepackage[svgnames,dvipsnames]{xcolor}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}

\centering
\begin{tikzpicture}
\begin{axis}[
    axis lines=middle,
    xmin=-3, xmax=5, 
    ymin=-9, ymax=9,
    xtick={-2,-1,0,1,2,3},ytick={-8,4},
    samples=500,enlargelimits=false,
    xlabel={\large $x$},xlabel style=right,
    ylabel={\large $y$},ylabel style=above]
\addplot[domain=-2.5:4.25, Navy, smooth,very thick] {x^3-x^2-6*x} ;
\node[coordinate,pin=95:{\small{$y=x^3-x^2-6x$}}] at (axis cs:3.3,5){};
\end{axis}
\end{tikzpicture}

\end{document}




Penutup

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

Adjie Gumarang Pujakelana 2015


Friday, December 4, 2015

Menggambar Grafik Fungsi Logaritma

Saya memulung soal dari Ujian Nasional Matematika SMA/MA IPA Tahun Pelajaran 2014/2015, seperti tampak pada gambar di samping ini.
Sekarang kita akan menggambar grafik fungsi logaritma yang tampak pada gambar tersebut dengan menggunakan (lagi-lagi) paket pgfplots.

Selain teknis menggambar grafik tersebut, kita juga akan menambahkan dua perintah dari paket tikz untuk:
  • menghubungkan absis dan ordinat dari satu titik yang terletak pada kurva tersebut,
  • meletakkan nama (persamaan fungsi) dari kurva tersebut,
  • makro untuk menuliskan dengan baik lambang logaritma beserta bilangan pokoknya.

Fungsi untuk Grafik

Fungsi yang memenuhi kurva tersebut adalah $\small{y={}^3\log{x}}$. Dalam pgfplots, fungsi logaritma dinyatakan dalam bentuk logaritma dengan bilangan pokok $\small10$, yaitu dalam bentuk seperti
log10(x)
yang berarti $\small{y={}^{10}\log{x}}$. Oleh karena itu, dengan menggunakan sifat logaritma
\[\boxed{{}^{a}\log{b} = \frac{\log{b}}{\log{a}}}\]
maka kita peroleh $\displaystyle\small{{}^3\log{x}=\frac{\log{x}}{\log3}}$ yang dalam perintah pgfplots dinyatakan sebagai
log10(x)/log10(3)

Menuliskan Lambang Logaritma dengan Baik

Dapat Anda perhatikan penulisan lambang logaritma seperti di atas, di dalam blog ini, yaitu $\small{{}^3\log{x}}$ tampak kurang begitu baik karena ada jarak yang cukup renggang di antara bilangan pokok dan huruf "l" dari "log". Lambang tersebut dituliskan dengan
$\small{{}^3\log{x}}$
Selanjutnya, di dalam penyusunan dokumen $\small\LaTeX$ kita dapat menuliskan lambang logaritma semacam itu dengan lebih baik. Untuk hal ini kita gunakan paket xparse dan makro seperti tertulis di bawah ini, yang kita cantumkan pada preamble.
\usepackage{xparse}
\NewDocumentCommand{\Log}{o}{%
  \IfNoValueTF{#1}{}{{}^{#1}\!}\log}
Dalam penggunaannya kita tulis (misalnya) sebagai
$\Log[3]x$


Opsi-opsi Grafik

Sekarang kita bersiap untuk menggambar kurva tersebut. Opsi-opsi ini sebenarnya bersifat subjektif, tetapi sebagai contoh kita akan menetapkannya sebagai berikut.
Kedua sumbu kita letakkan di tengah, nama sumbu $\small{Y}$ kita letakkan di atasnya, nama sumbu $\small{X}$ kita letakkan di kanannya, dan kita perlebar ruang di kiri dan kanan bidang grafik.
axis lines=middle,
ylabel style=above,ylabel=$Y$,
xlabel style=right,xlabel=$X$,
enlargelimits,
Kemudian kita batasi ruang gambar dengan
xmin=-.25,xmax=5,
ymin=-2,ymax=2,
sehingga absis dan ordinat yang kita tampilkan cukuplah
xtick={1,2,3,4,5},ytick={1,2,3},
Terakhir, agar kurva kita tampil "halus-mulus" kita tetapkan "kerapatan plot" senilai
samples=500

Grafik

Kita gambar kurva dari $\small{y={}^3\log{x}}$ dalam warna biru, dengan daerah asal $\small{0\le{x}\le5}$, halus, dan ketebalan kurvanya seukuran thick.
\addplot[blue,domain=0:5,smooth,thick]  {log10(x)/log10(3)} ;
Kemudian kita hubungkan absis dan ordinat dari titik $\small(3,1)$ dalam bentuk garis putus-putus yang agak rapat dan diwarnai abu-abu.
\draw[densely dashed,gray] (axis cs:3,0)--(axis cs:3,1)--(axis cs:0,1);
Terakhir kita namai kurva kita ini dengan memakunya pada posisi $\small90^\circ$ dari suatu koordinat, yaitu
\node[coordinate,pin=95:{\small{$y=\Log[3]x$}}] at (axis cs:4,1.25){};

Pengkodean dan Hasilnya

Nah, berikut ini pengkodean selengkapnya untuk menggambar grafik fungsi logaritma seperti tampak pada gambar di atas, kemudian hasilnya dapat Anda lihat dalam dokumen terlampir di bawahnya.
\documentclass[10pt,a4paper]{article}
\usepackage{geometry}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
%--------------------------- notasi logaritma
\usepackage{xparse}
\NewDocumentCommand{\Log}{o}{%
  \IfNoValueTF{#1}{}{{}^{#1}\!}\log}%
%---------------------------

\begin{document}

\centering

\begin{tikzpicture}
\begin{axis}[
    axis lines=middle,
    ylabel style=above,ylabel=$Y$,
    xlabel style=right,xlabel=$X$,
    enlargelimits,
    xmin=-.25,xmax=5,
    ymin=-2,ymax=2,
    xtick={1,2,3,4,5},ytick={1,2,3},
    samples=500]
\addplot[blue,domain=0:5,smooth,thick]  {log10(x)/log10(3)} ;
\draw[densely dashed,gray] (axis cs:3,0)--(axis cs:3,1)--(axis cs:0,1);
\node[coordinate,pin=95:{\small{$y=\Log[3]x$}}] at (axis cs:4,1.25){};
\end{axis}
\end{tikzpicture}

\end{document}



Penutup

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

Adjie Gumarang Pujakelana 2015


Related Posts Plugin for WordPress, Blogger...