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 axisaddplot 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


Thursday, December 3, 2015

Menggambar Histogram dengan Menggunakan Tabel Pgfplots

Histogram yang kita gambar terdahulu menempatkan tepi-tepi kelas dari data berkelompok sebagai absis untuk batang-batangnya. Sekarang kita akan menempatkan tiap-tiap kelasnya sebagai absis yang menamai batang yang bersesuaian, seperti tampak pada gambar di samping ini.

Paket


Pada tulisan ini akan saya tampilkan contoh histogram ini persis seperti gambar tersebut. Untuk itu saya gunakan warna bistre dan bistre Prancis dan Tan dengan paket xcolor
\usepackage[svgnames]{xcolor}
\definecolor{bistre}{RGB}{61, 43, 31}
\definecolor{bistref}{RGB}{133, 109, 77}
Paket xcolor ini harus kita muat sebelum paket pgfplots. Sama seperti sebelum ini, untuk menggambar histogram ini, kita gunakan paket pgfplots dan library patterns dari paket tikz untuk pengarsiran batang. Dengan demikian kita muat
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{patterns}

Tabel Pgfplots

Kali ini akan kita buat tabel pgfplots sebagai data yang digunakan oleh pgfplots dalam menggambar histogramnya. Kita akan memberitahu kepada pgfplots bahwa data kita berbentuk tabel, di mana kolom dipisahkan oleh tanda "&" dan baris dipisahkan oleh tanda "\\". Mirip seperti menuliskan tabel di samping ini, kita sebut kolom pertama sebagai Berat dan kolom kedua sebagai f, kemudian kita namai tabel ini sebagai (misalnya) dataku.
\pgfplotstableread[row sep=\\,col sep=&]{
    Berat    & f  \\
    51--60   & 8   \\
    61--70   & 10  \\
    71--80   & 11 \\
    81--90   & 8 \\
    91--100  & 3  \\
    }\dataku

Opsi-opsi Grafik


Sumbu koordinat kita warnai oleh warna bistref yang telah ditetapkan di dalam preamble.
axis line style={bistref},
Sumbu $\small{X}$ kita tetapkan di tengah sedangkan sumbu $\small{Y}$ kita tetapkan di kiri, kemudian pada awal sumbu $\small{X}$ positif kita buat rentang pemutus.
axis x line = center,
axis y line = left,
axis x discontinuity=crunch,
Batang histogram kita tegak, sejajar dengan sumbu $\small{Y}$, maka kita nyatakan
ybar,
Agar batang-batang itu merapat maka jarak antarbatang dan lebar tiap batang kita buat sama, misalnya
x=1cm,bar width=1cm,
sedangkan ruang kosong pada awal dan ujung bidang grafik dapat kita atur dengan menuliskan nilai yang cocok dalam
enlarge x limits=0.375,
Sekarang kita ganti nilai-nilai absisnya oleh kelas-kelas dari data kita, maka kita nyatakan 
symbolic x coords={51--60,61--70,71--80,81--90,91--100},
xtick=data,
kemudian noktah penanda nilai absis dan ordinat kita sembunyikan saja
tickwidth=0pt,
Berikutnya kita namai sumbu $\small{X}$ sebagai Berat dan kita letakkan di kanan, dan kita mewarnai nama ini dengan bistref
xlabel=Berat,
xlabel style={at={(1,0)},right,font=\color{bistre}\small,text width=1cm,align=center},
Agar nilai-nilai ordinat tidak tercetak (kosong) maka kita nyatakan
ytick=\empty,
kemudian kita namai sumbu $\small{Y}$ sebagai Frekuensi dan kita letakkan di (posisi paling) atas, dan kita mewarnai nama ini dengan bistref
ylabel=Frekuensi,
ylabel style={at={(0,1)},above,rotate=-90,font=\color{bistre}\small,text width=1cm,align=center},
Seluruh nilai absis dan ordinat (agar tak terlalu besar) kita buat dalam huruf berukuran small saja.
y tick label style={font=\color{bistre}\small},
x tick label style={font=\color{bistre}\small,text width=1cm,align=center},
Kemudian kita letakkan nilai-nilai itu secara asal (default).
nodes near coords,
nodes near coords align={vertical},
Dalam modus batang-tegak, kita nyatakan nilai $\small{y}$ minimum nol sedang maksimumnya disesuaikan dengan data. Pada data kita ini nilai maksimum frekuensi adalah $\small11$, maka
ymin=0,ymax=13,
Sebagai opsi terakhir, bila perlu, kita dapat membubuhkan judul sebagai keterangan terhadap histogram yang dibuat, misalnya
title=Histogram Berat Benda

Grafik


Kita perintahkan pgfplots untuk menggunakan data kita dari tabel dataku untuk menggambarkan histogramnya berdasarkan pada opsi-opsi grafik di atas. Kemudian kita minta pgfplots mewarnai sisi-sisi batangnya dengan warna bistref dan mengarsir daerah batangnya ke arah Barat Laut.
\addplot[draw=bistref,pattern=north west lines,pattern color=Tan] table[x=Berat,y=f]{\dataku};

Pengkodean dan Hasilnya


Nah, berikut ini pengkodean selengkapnya untuk menggambar histogram seperti tampak pada gambar di atas, kemudian hasilnya dapat Anda lihat dalam dokumen terlampir di bawahnya.
\documentclass{article}
\usepackage[svgnames]{xcolor}
\definecolor{bistre}{RGB}{61, 43, 31}
\definecolor{bistref}{RGB}{133, 109, 77}

\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{patterns}

\begin{document}

\pgfplotstableread[row sep=\\,col sep=&]{
    Berat    & f  \\
    51--60   & 8   \\
    61--70   & 10  \\
    71--80   & 11 \\
    81--90   & 8 \\
    91--100  & 3  \\
    }\dataku

\begin{tikzpicture}
    \begin{axis}[
    axis line style={bistref},
    axis x line = center,
    axis y line = left,
    axis x discontinuity=crunch,
    ybar,x=1cm,bar width=1cm,
    enlarge x limits=0.375,
    symbolic x coords={51--60,61--70,71--80,81--90,91--100},
    xtick=data,
    tickwidth=0pt,
    xlabel=Berat,
    xlabel style={at={(1,0)},right,font=\color{bistre}\small,text width=1cm,align=center},
    ytick=\empty,
    ylabel=Frekuensi,
    ylabel style={at={(0,1)},above,rotate=-90,font=\color{bistre}\small,text width=1cm,align=center},
    y tick label style={font=\color{bistre}\small},
    x tick label style={font=\color{bistre}\small,text width=1cm,align=center},
    nodes near coords,
    nodes near coords align={vertical},
    ymin=0,ymax=13,title=Histogram Berat Benda
    ]
    \addplot[draw=bistref,pattern=north west lines,pattern color=Tan] table[x=Berat,y=f]{\dataku};
    \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


Wednesday, December 2, 2015

Menggambar Histogram

Setelah menggambar diagram lingkaran dan diagram batang, kali ini kita lanjutkan dengan menggambar histogram, seperti tampak pada gambar di samping ini.


Paket

Untuk ini pun akan kita gunakan paket pgfplots dan library patterns dari paket tikz untuk pengarsiran batang. Dengan demikian pada preamble kita muat
\usepackage{tikz}
\usetikzlibrary{patterns}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
Agar ukuran dari gambar histogram ini tidak terlalu besar, dapat kita atur skala gambar kita pada opsi gambar tikz. Sebagai contoh, saya gunakan

\begin{tikzpicture}[scale=.9]
\begin{axis}[...]
...
\end{axis}
\end{tikzpicture}


Opsi-opsi Grafik


Untuk gambar pada contoh di atas, sumbu $\small{X}$ kita letakkan di tengah sedangkan sumbu $\small{Y}$ diletakkan di kiri.
axis x line=center,
axis y line=left,
Untuk "menyingkat" nilai-nilai di kiri dari tepi bawah kelas pertama, kita buat lekukan semacam itu. Lekukan tersebut dibuat oleh opsi
axis x discontinuity=crunch,
Perhatikan bahwa kita akan mengganti nilai-nilai absis pada sumbu $\small{X}$ oleh nilai dari tepi-tepi kelas dari data berkelompok. Untuk 5 kelas dari data itu kita nyatakan
symbolic x  coords={$50.5$,$60.5$,$70.5$,$80.5$,$90.5$,$100.5$},
Kemudian kita nyatakan frekuensi untuk tiap kelas yang bersesuaian
ytick={3,8,10,11},
sehingga nilai $\small{y}$ dapat kita batasi (subjektif) dengan
ymin=0,ymax=13,
Agar penggantian ini berterima dengan pgfplots, kita nyatakan
xtick=data,
Selanjutnya kita dapat mengatur (secara subjektif) jarak antarbatang, lebar tiap batang, dan ruang kosong sebelum batang pertama dan setelah batang terakhir.
x=1cm, bar width=10pt, enlarge x limits=0.15,
Untuk menempatkan tiap nilai absis dan ordinat kita nyatakan
ylabel near ticks,
xlabel near ticks,
Sekarang kita namai sumbu $\small{X}$ sebagai "Umur", meletakkannya di kanan, dan menggunakan huruf berukuran small
xlabel=Umur,
xlabel style={at={(1,0)},right,font=\small,text width=1cm,align=center},
dan menamai sumbu $\small{Y}$ sebagai "Frekuensi", meletakkannya di atas, dan menggunakan huruf berukuran small
ylabel=Frekuensi,
ylabel style={at={(0,1)},above,rotate=-90,font=\small,text width=1cm,align=center},
Demikian pula nama-nama absis dan ordinat kita buat saja dengan huruf berukuran small.
y tick label style={font=\small},
x tick label style={font=\small,text width=1cm,align=center}


Grafik

Sekarang kita gambar histogram itu dengan cara menghimpun dan merangkai koordinat dari tepi kelas dan frekuensinya secara berurutan, tetapi kita tambahkan opsi pattern untuk mengarsir batang-batang yang terbentuk.

\addplot[ybar interval,pattern=north west lines] coordinates{($50.5$,8)($60.5$,10)($70.5$,11)($80.5$,8)($90.5$,3)($100.5$,3)};

Pengkodean dan Hasilnya

Nah, berikut ini pengkodean selengkapnya untuk menggambar histogram seperti tampak pada soal di atas (dalam warna asal, hitam), kemudian hasilnya dapat Anda lihat dalam dokumen terlampir di bawahnya.
\documentclass{article} 

\usepackage{utopia}
\usepackage{geometry}

\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{patterns}

\begin{document}  

\centering

\begin{tikzpicture}[scale=.9]
 \begin{axis}[
     axis x line=center,
     axis y line=left,
     axis x discontinuity=crunch,
     symbolic x  coords={$50.5$,$60.5$,$70.5$,$80.5$,$90.5$,$100.5$},
     ytick={3,8,10,11},
     ymin=0,ymax=13,
     xtick=data,
     x=1cm,bar width=10pt,enlarge x limits=0.15,
     ylabel near ticks,
     xlabel near ticks,
     xlabel=Umur,
     xlabel style={at={(1,0)},right,font=\small,text width=1cm,align=center},
     ylabel=Frekuensi,
     ylabel style={at={(0,1)},above,rotate=-90,font=\small,text width=1cm,align=center},
     y tick label style={font=\small},
     x tick label style={font=\small,text width=1cm,align=center}
     ]
    \addplot[ybar interval,pattern=north west lines] coordinates{($50.5$,8)($60.5$,10)($70.5$,11)($80.5$,8)($90.5$,3)($100.5$,3)};
  \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


Sunday, November 29, 2015

Menggambar Diagram Batang

Kali ini kita akan menggambar diagram batang, seperti tampak pada soal nomor 30 dari Ujian Nasional Mata Pelajaran Matematika SMK Kelompok Teknologi, Kesehatan, dan Pertanian Tahun Pelajaran 2014/2015 berikut ini.

Paket

Untuk keperluan ini kita akan menggunakan paket pgfplots. Selain itu, kita memerlukan library patterns dari paket tikz untuk pengarsiran batang. Dengan demikian pada preamble kita muat
\usepackage{tikz}
\usetikzlibrary{patterns}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

Opsi-opsi Grafik


1. Bidang Grafik

Pada sisi kiri dan kanan bidang grafik kita beri ruang kosong sejarak $\small{0.3}$ bagian.
enlarge x limits=0.3,
Untuk sumbu koordinat
axis x line=center,
axis y line=left,
Agar teks dapat diletakkan di atas batang, kita nyatakan
nodes near coords,
nodes near coords align={vertical},

2. Sumbu Y

Sumbu $\small{Y}$ kita "gunduli" dan nilainya dibatasi dari $\small{y=0}$ sampai dengan $\small{y=55}$.
ytick=\empty,
ymin=0,ymax=55,
Nama sumbu $\small{Y}$ kita ganti dengan "Jumlah Siswa" dan kita letakkan di atas mata panahnya.
ylabel={Jumlah Siswa},
ylabel style={at={(0,1)},above,rotate=-90,font=\small,text width=1cm,align=center},

3. Sumbu X

Pada sumbu $\small{X}$ kita sembunyikan penanda absis (tick mark) dengan
tickwidth=0pt,
kemudian nilai absisnya kita ganti dengan nama-nama jenis olah raga itu.
symbolic x  coords={Sepak Bola,Volley,Bulu Tangkis,Basket},
Agar nama-nama itu tidak tercetak memanjang, maka kita batasi lebar tempatnya dengan
x tick label style={font=\small,text width=1cm,align=center},
Nama sumbu $\small{X}$ kita ganti dengan "Jenis Olah Raga" dan kita letakkan di kanan mata panahnya.
xlabel={Jenis Olah Raga},
xlabel style={at={(1,0)},right,font=\small,text width=1cm,align=center},

4. Pengaturan Lainnya

Agar pengubahan di atas berterima dengan pgfplots, maka kita nyatakan
xtick=data,ybar=5pt,
kemudian kita atur jarak antarbatang dan lebar batang dengan
x=1cm,bar width=12pt

Grafik

Kita cukup menghimpun koordinat dari jenis olah raga dan banyak siswa yang menyukainya, tetapi kita tambahkan opsi pattern untuk mengarsir batang-batang yang terbentuk.
\addplot[pattern=north east lines] coordinates {(Sepak Bola,51) (Volley,33) (Bulu Tangkis,48) (Basket,18) };

Pengkodean dan Hasilnya

Berikut ini pengkodean selengkapnya untuk menggambar diagram batang seperti tampak pada soal di atas, kemudian hasilnya dapat Anda lihat dalam dokumen terlampir di bawahnya.
\documentclass{article}
\usepackage{geometry}
\usepackage{gentium}
\usepackage{tikz}
\usetikzlibrary{patterns}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}% current version

\begin{document}

\centering
\begin{tikzpicture}
%\pgfplotsset{ticks=none}
\begin{axis}[%
%width=3in,
%height=3in,
axis x line=center,
axis y line=left,
enlarge x limits=0.3,%batas kiri-kanan
nodes near coords,
nodes near coords align={vertical},
ytick=\empty,
ymin=0,ymax=55,
ylabel={Jumlah Siswa},
ylabel style={at={(0,1)},above,rotate=-90,font=\small,text width=1cm,align=center},
tickwidth=0pt,
symbolic x  coords={Sepak Bola,Volley,Bulu Tangkis,Basket},
x tick label style={font=\small,text width=1cm,align=center},
xlabel={Jenis Olah Raga},
xlabel style={at={(1,0)},right,font=\small,text width=1cm,align=center},
xtick=data,ybar=5pt,x=1cm,bar width=12pt]
\addplot[pattern=north east lines] coordinates {(Sepak Bola,51) (Volley,33) (Bulu Tangkis,48) (Basket,18) };
\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...