Thursday, February 2, 2017

Tembereng pada Layang-layang

Mukadimah

Seorang siswa mengadukan soal seperti tampak pada gambar di samping ini. Menurutnya, soal itu sangat sulit. (Bagaimana menurut Anda?)
Sekilas tampak bahwa busur $CD$ terletak di dalam $\triangle CDE$ dan busur $BC$ terletak di dalam $\triangle BCE$. Wajarlah bila anggapan itu melahirkan kesulitan, berapakah panjang jari-jari dari lingkaran yang memuat busur itu? Bukankah luas daerah yang diraster itu adalah selisih dari luas daerah layang-layang oleh luas daerah dari kedua tembereng (yang kongruen)?
Satu hal yang (mungkin) terlupakan bahwa di dalam suatu naskah soal, suatu gambar "dihalalkan" untuk ditampilkan tidak dalam ukuran (skala) yang sebenarnya. Penulis soal tersebut, sebenarnya, telah memberikan "alamat" dengan tidak menghubungkan titik $B$ dan $D$ (juga $A$ dan $C$) selaku kedua diagonalnya.
Adalah Bapak Bob Prabantoro yang menunjukkan kepada saya tentang hal yang tepat bahwa kedua busur itu masing-masing memotong diagonal $\overline{BD}$. Dengan demikian kedua busur itu dapat digambarkan dengan tepat pula, meskipun tetap menggunakan skala demi menghemat bidang lukisan. Nah, hal yang berkenaan dengan paragraf terakhir itulah yang akan menjadi kupasan kita kali ini, yaitu menggambar dengan tepat layang-layang tersebut termasuk kedua busur dan daerah yang dirasternya.

Koordinat-koordinat

Kita mulai bekerja dalam lingkup perintah gambar TikZ (tikzpicture). Berdasarkan ukuran yang diberikan oleh soal, dapat kita tetapkan ukuran dalam skala $1:5$, sehingga $AC=BC=5\,\textrm{cm}$, $AE=3.4\,\textrm{cm}$, dan $EC=1.6\,\textrm{cm}$. Dengan demikian dapat kita tetapkan
\coordinate[label=left:$A$](A) at (0,0);
\coordinate[label=below:$B$](B) at (3.4,-4.8);
\coordinate[label=right:$C$](C) at (5,0);
\coordinate[label=above:$D$](D) at (3.4,4.8);
\coordinate(E) at (3.4,0);
Tentu, dengan mudah kita buat layang-layang itu oleh
\draw[thick] (A)--(B)--(C)--(D)--cycle;
dan hasilnya diperlihatkan oleh Gambar 1 pada dokumen terlampir pada bagian bawah tulisan ini.

Melukis Busur $BC$

Sekarang kita menghadapi masalah. Bagaimana melukis busur $BC$? Di manakah pusat dari lingkaran yang memuat busur ini? Berapakah nilai jari-jarinya?
Pusat lingkaran itu terletak pada perpotongan dari dua diagonal persegi dengan $BC$ sebagai salah satu sisinya. Untuk menemukan titik pusat itu (misalkan sebagai $O$), dari $B$ kita tetapkan koordinat (misalkan) $F$ sejarak $5\,\textrm{cm}$ demikian sehingga $\overline{FB}$ tegak lurus $\overline{BC}$ di $B$. Kita memerlukan kepustakaan calc untuk hal ini.
\coordinate (F) at ($(B)!-5cm!90:(C)$);
Dengan cara serupa, dari $C$ kita tetapkan koordinat (misalkan) $G$ sejarak $5\,\textrm{cm}$ demikian sehingga $\overline{GC}$ tegak lurus $\overline{BC}$ di $C$.
\coordinate (G) at ($(C)!5cm!90:(B)$);
Dengan menggunakan garis putus-putus yang agak rapat, dapat kita tunjukkan persegi $BFGC$ oleh
\draw[densely dashed,Burlywood4] (B)--(F)--(G)--(C);
Lalu, bagaimana menggambar busur $BC$ itu? Perhatikan bahwa kita akan melukis busur itu dari $B$ ke $C$, sedangkan suatu busur diperintahkan oleh
arc(sudut awal:sudut akhir:jari-jari)
Berapa nilai sudut awal, sudut akhir, dan jari-jari itu?Lebih dulu kita tetapkan pusat lingkarannya, sebagai perpotongan dari $\overline{BG}$ dan $\overline{CF}$. Untuk hal ini kita memerlukan kepustakaan intersections.
\coordinate (F) at ($(B)!-5cm!90:(C)$);
\coordinate (G) at ($(C)!5cm!90:(B)$);
\path[name path=g1] (B)--(G);
\path[name path=g2] (C)--(F);
\path [name intersections={of = g1 and g2, by={O}}];
Untuk mengetahui nilai dari kedua sudut tadi, pandanglah $O$ sebagai "pusat koordinat" baru. Pada Gambar 2 dalam dokumen terlampir, perhatikan dua garis yang berpotongan tegak lurus di $O$. Untuk membuat tanda sudut siku harus didukung oleh kepustakaan angles beserta oleh makro berikut ini
\def\siku[size=#1](#2,#3,#4){%%
   \draw[help lines] ($(#3)!#1!(#2)$) -- 
         ($($(#3)!#1!(#2)$)!#1!90:(#2)$) --
         ($(#3)!#1!(#4)$);}
dan dalam penggunaannya dinyatakan oleh (misalnya)
\siku[size=6pt](T3,O,T2)
Dengan berbantukan GeoGebra, kita temukan nilai sudut awal yang dimaksud adalah $\measuredangle{POB}=206.57^\circ$ dan nilai sudut akhir adalah $\measuredangle{POB}=116.57^\circ$. Sedangkan panjang jari-jarinya tentu saja setengah dari panjang diagonalnya yang dapat dihitung sebagai $OB=0.5\times5\sqrt{2}\approx3.58\,\textrm{cm}$ (berdasarkan GeoGebra). Dengan demikian busur $BC$ kita buat oleh perintah
\draw[thick] (B) arc(206.57:116.57:3.58);
dan hasilnya diperlihatkan oleh Gambar 2 pada dokumen terlampir pada bagian bawah tulisan ini. 


Melukis Busur $CD$ dan Lukisan Selengkapnya

Dengan tahapan serupa dengan cara untuk melukis busur $BC$, kita lakukan sekali lagi untuk melukis busur $CD$ dan hasilnya akan tampak seperti ditunjukkan oleh Gambar 3 pada dokumen terlampir pada bagian bawah tulisan ini. 
Sekarang, bagaimana cara menampilkan hasil seperti ditunjukkan oleh Gambar 4? 
Hapus saja perintah untuk membuat noktah pada $O$ dan $O_2$, kemudian ubah perintah \draw (pada beberapa unsur pendukung itu) menjadi perintah \path. Selain itu, ini penting dalam rangka "penghematan", agar bidang gambar tercakup dan tidak melebar (oleh daerah persegi) maka berikan perintah (misalnya)
\clip (-.5,-5.5) rectangle (5.5,5.5);
Kemudian, untuk meraster, kita memerlukan kepustakaan patterns dan perintah untuk itu (oleh \path) diletakkan lebih dulu sebelum perintah \draw agar tidak menimpa lukisan ruas-ruas garisnya. 
Untuk memperoleh hasil seperti ditunjukkan oleh Gambar 4, silakan saling dan kompilasi pengkodean berikut ini.
\begin{tikzpicture}[scale=.8,line join=round]
\clip (-.5,-5.5) rectangle (5.5,5.5);
\coordinate[label=left:$A$](A) at (0,0);
\coordinate[label=below:$B$](B) at (3.4,-4.8);
\coordinate[label=right:$C$](C) at (5,0);
\coordinate[label=above:$D$](D) at (3.4,4.8);
\coordinate(E) at (3.4,0);

\coordinate (F) at ($(C)!-5cm!90:(D)$);
\coordinate (G) at ($(D)!5cm!90:(C)$);
\path[name path=g1] (C)--(G);
\path[name path=g2] (D)--(F);
\path [name intersections={of = g2 and g1, by={O}}];

\coordinate (M) at ($(C)!5cm!90:(B)$);
\coordinate (N) at ($(B)!-5cm!90:(C)$);
\path[name path=g3] (C)--(N);
\path[name path=g4] (B)--(M);
\path [name intersections={of = g3 and g4, by={O2}}];

\path[pattern=crosshatch dots,pattern color=Tan4] (A)--(B) arc(206.57:116.57:3.58) arc(243.43:153.43:3.58)--cycle;

\draw[thick] (B) arc(206.57:116.57:3.58) arc(243.43:153.43:3.58) ;

\draw[thick] (A)--(B)--(C)--(D)--cycle;
\end{tikzpicture}


Penutup


Dalam hal ini penulis masih memerlukan dan menggunakan GeoGebra, hal yang sebenarnya tidak perlu terjadi bila penulis sudah mampu melakukan perhitungan dengan menggunakan pgfmath.Demikian semoga bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2017



Sunday, January 29, 2017

Kepala Tabel (Table Header)

Mukadimah

Seperti yang sering saya sebutkan, tabel dan gambar/grafik merupakan dua unsur yang agak "rumit" di dalam dokumen $\small\LaTeX$ karena sering kali meminta trik tertentu untuk dapat mencetak hasil seperti yang kita inginkan.
Sebagai sarana "bantuan gawat darurat", tentu jaringan memberikan beberapa situs atau perangkat lunak yang dapat digunakan sebagai "jembatan" untuk membuat tabel (salah satunya situs ini), tetapi tetap saja memerlukan kecakapan kita untuk menyuntingnya kembali.
Salah satu contoh "sederhana" tampak pada gambar di samping ini. Ketika itu seseorang bertanya, "Bagaimana baris pada kepala tabel dibuat lebih renggang daripada baris-baris lainnya?". Dapat Anda lihat, kepala tabel pada kedua tabel itu tampak lebih renggang, bukan?
Kemudian, setelah kedua tabel itu saya tunjukkan, saya pun bertanya, "Adakah yang menarik perhatian dari kedua tabel itu?". Berikut ini jawaban yang saya peroleh:

  • Tabel 2 lebih "sedap dipandang"
  • Tabel 2 tanpa garis tepi vertikal
  • Tabel 2 memberikan garis lebih tebal pada bagian paling atas dan paling bawah
  • jarak garis dengan garis lain atau tulisan dengan tulisan lain

Perlu diketahui bahwa kedua tabel itu dibuat dalam lingkup perintah tabular. Lalu, bagaimana keduanya bisa berbeda? Bagaimana pula kerenggangan baris pada kepala tabel dapat berbeda dengan baris-baris lainnya?


Tabel Dengan atau Tanpa Paket Booktabs

Perhatikan Tabel 1 di atas. Tabel 1 dibuat di dalam lingkup perintah (environmenttabular dan menggunakan kemampuan dasar $\small\LaTeX$ (tanpa menggunakan paket tertentu). Setiap garis mendatar dibuat oleh perintah \hline dan setiap garis tegak dibuat oleh | (tombolnya terletak di atas tombol enter) dalam
\begin{tabular}{|c|c|c|}
Perlu diketahui pula bahwa kerenggangan untuk tiap baris pada kedua tabel itu masih merupakan kerenggangan dasar, belum diatur dalam ukuran tertentu. Tentu dapat Anda lihat bahwa kerenggangan teks antarbaris lebih nyaman terlihat pada Tabel 2, bukan?

Tabel 2 dibuat di dalam lingkup perintah tabular dan menggunakan paket booktabs. Secara asal (default), paket booktabs memberikan kerenggangan yang memadai antarbaris-barisnya. Paket booktabs "tidak menyukai" garis tegak dan memberikan perintah khusus untuk garis mendatarnya. Di atas kepala tabel, garis mendatar dibuat oleh perintah \toprule. Setelah baris terakhir, garis mendatar dibuat oleh perintah \bottomrule. Garis-garis mendatar antarbaris-baris lainnya dibuat oleh perintah \midrule. Hal itu memberikan ketebalan garis yang berbeda untuk garis paling atas/paling bawah dan garis-garis lainnya. Oleh karena itu, dalam hal tabel, saya "bermazhab" kepada paket booktabs.


Membuat Baris pada Kepala Tabel Lebih Renggang

Salah satu pilihan (paling mudah) untuk membuat itu adalah dengan menggunakan paket makecell. Sekaligus menebalkan judulnya, pada mukadimah, kita cantumkan 
\usepackage{makecell}
\renewcommand\theadfont{\bfseries}
kemudian tiap judul pada kepala tabel itu kita nyatakan di dalam perintah \thead{...}.
Agar dapat memberikan gambaran yang lebih jelas tentang uraian di atas, berikut ini saya lampirkan pengkodean untuk kedua tabel di atas. Silakan Anda salin lalu kompilasi dan perhatikan hasilnya.

\documentclass{article}
\usepackage[a4paper,margin=2cm]{geometry} %tata letak halaman
\renewcommand{\rmdefault}{put} %jenis huruf Utopia
\usepackage{caption} %untuk keterangan pada tabel/gambar
\usepackage{booktabs}
\usepackage{makecell}
\renewcommand\theadfont{\bfseries}

\begin{document}

\begin{table}[!ht]
    \centering
\begin{tabular}{|c|c|c|}\hline
\thead{No.} & \thead{Nama Peserta} & \thead{Daerah Asal}\\\hline
1. & Andika Suryana & Sumedang\\\hline
2. & Bahtiar Alwi & Solo\\\hline
3. & Candra Hermanto & Tuban\\\hline
4. & Darmawan Hanafi & Banyuwangi\\\hline
\end{tabular}
\caption{}
\end{table}

\begin{table}[!ht]
    \centering
\begin{tabular}{cll}\toprule
\thead{No.} & \multicolumn{1}{c}{\thead{Nama Peserta}} & \multicolumn{1}{c}{\thead{Daerah Asal}}\\\midrule
1. & Andika Suryana & Sumedang\\\midrule
2. & Bahtiar Alwi & Solo\\\midrule
3. & Candra Hermanto & Tuban\\\midrule
4. & Darmawan Hanafi & Banyuwangi\\\bottomrule
\end{tabular}
\caption{}
\end{table}

\end{document}


Penutup

Pada tulisan lainnya, saya telah menerjemahkan suatu tulisan tentang cara menyusun tabel di dalam $\small\LaTeX$. Silakan Anda buka dan unduh berkasnya di sini. Anda juga dapat meninjau tulisan lainnya yang berkaitan dengan tabel, di situ atau di sana.

Demikian semoga bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2017

Saturday, January 28, 2017

Minted: Pilihan yang "Mahal"

Mukadimah

Bekerja dalam TeX Live dengan penyunting TeXworks sesekali menemui hal yang "ngeri-ngeri sedap", seperti ketika mengkompilasi dokumen yang memuat paket asymptote atau paket minted. Hal itu disebabkan adanya penggunaan pendukung yang diperoleh dari luar sistem TeX Live.
Paket minted memfasilitasi dalam hal menyoroti (high­light­ing) sintaks pada dokumen $\small\LaTeX$ secara ekspresif berkat dukungan dari kepustakaan pygments yang kuat. Paket minted juga menyediakan pilihan untuk menyesuaikan tampilan kode yang disorot dalam bentuk verbatim berhiaskan warna. Anda dapat melihat ulasan sebelumnya tentang hal ini di sini dan di sana. Nah, pygments inilah yang tidak tersedia di dalam TeX Live.
Di forum terdapat beberapa petunjuk untuk menyiasati agar paket minted dapat digunakan di dalam TeX Live, tetapi (hingga saat ini) saya belum berhasil melakukannya. Akhirnya pilihan saya jatuh kepada Anaconda3-4.2.0, meskipun saya harus "membayar mahal" senilai 341MB untuk memasangnya pada Windows 8.1 versi x86.

Apa yang Harus Dilakukan?

Dua hal yang harus kita lakukan agar kita dapat menggunakan paket minted di dalam TeX Live.
  1. Memasang Anaconda3-4.2.0 pada komputer. Silakan unduh dulu di situ kemudian ikuti petunjuk pemasangan yang muncul hingga pemasangannya selesai.
  2. Mengatur penyunting TeXworks untuk menggunakan fitur shell escape.
Untuk hal kedua dilakukan sebagai berikut.
Buka penyunting TeXworks, kemudian klik "Edit" lalu klik "Preferences ...".
Berikutnya, pada jendela popup yang muncul klik "Typesetting" lalu pada menu Processing tools klik "pdfLaTeX" kemudian klik "Edit".
Pada kotak Name kita dapat mengisinya sesuai dengan selera kita, misalnya "pdfLaTeX+shell escape". Sekarang klik tombol bertanda plus, kemudian tuliskan "--shell-escape". Setelah itu klik tanda panah ke atas untuk menggeser tulisan tadi satu langkah ke atas agar berada di atas $fullname. Terakhir, klik "OK".

Contoh Penggunaan

Sekarang kita sudah dapat menggunakan paket minted di dalam TeX Live. Tentu terdapat beberapa fitur dan opsi di dalam paket minted yang dapat kita pilih dan gunakan sesuai dengan keperluannya. Untuk mempelajari hal itu, silakan buka dokumentasinya. Sebagai contoh, silakan Anda salin dan kompilasi sintaks dokumen berikut ini. Hasilnya akan terlihat seperti gambar pertama di atas.
\documentclass[12pt]{article}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage{xcolor}
\usepackage{minted}
\definecolor{bistre}{RGB}{133, 109, 77}

\begin{document}

\begin{minted}[
    frame=lines,
    framerule=1pt,
    framesep=5pt,
    rulecolor=\color{bistre}
            ]{latex}
\documentclass[border=3pt]{standalone}
\usepackage{qrcode}
\begin{document}
\qrcode[height=5cm]{Matematika Nusantara}
\end{document}
\end{minted}

\end{document}

Penutup

Selain untuk menyoroti kode $\small\LaTeX$, paket minted juga dapat digunakan untuk menyoroti kode python di dalam dokumen $\small\LaTeX$.
Demikian semoga bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2017

Sunday, January 1, 2017

Opsi dalam Pengarsiran

Mukadimah

Tulisan ini masih bertalian dengan hal mengarsir. Meskipun telah diterbitkan berbagai tulisan yang memuat hal mengarsir, namun setidaknya tulisan kali ini juga didukung oleh pemahaman terhadap materi tulisan sebelum ini.
Gambar dalam tulisan ini sepenuhnya dibuat oleh paket TikZ. Sedangkan pewarnaan (bila diperlukan) dapat dibuat bersama paket xcolor dengan opsi dvipsnames, svgnames, atau x11names.
Perhatikan gambar di samping.
  • Bagaimanakah cara membuat arsiran "selemah" itu?
  • Apa saja pilihan bentuk untuk arsiran?
  • Bagaimana sebaiknya cara mengarsir?
Ada 9 contoh masing-masing berupa kubus $ABCD.EFGH$ yang penulis tunjukkan dalam tulisan ini. Koordinat $A$ penulis letakkan pada pojok bawah-kiri. Penulis mengulasnya masing-masing dan menyoroti sekitar koordinat $F$ dengan memperbesarnya, berkat kepustakaan spy dari pake TikZ, untuk memperjelas akibat dari tindakan perintah gambar dan pengarsiran. Untuk itu Anda akan "bolak-balik" membaca uraian ini dan melihat hasilnya pada contoh dokumen pada bagian bawah tulisan ini.

Pengisian Daerah Tertutup

Suatu daerah tertutup dapat kita isi oleh salah satu dari dua pilihan, yaitu diisi oleh suatu warna (seperti dapat Anda lihat pada Gambar 1-3 dalam contoh dokumen terlampir) atau diisi oleh arsiran. Baik pengisian oleh warna maupun pengarsiran, keduanya merupakan opsi dalam perintah \draw atau \path.

Pengisian Daerah Tertutup oleh Warna

Misalkan sudah kita tetapkan koordinat $A$, $B$, $F$, dan $E$, maka pengisian daerah tertutup $ABFE$ dapat dilakukan dalam dua cara. Pertama, mengambar lintasan (path)-nya sekaligus mengisinya. Kita nyatakan
\draw[fill=...] (A)--(B)--(F)--(E)--cycle;
dan opsi fill diisi oleh jenis warna tertentu. Kedua, menetapkan lintasannya (oleh perintah \path) lebih dulu dan mengisinya oleh suatu warna, baru kemudian menggambarkan (0leh perintah \draw) lintasannya itu. Kita nyatakan (dalam dua baris)
\path[fill=...] (A)--(B)--(F)--(E)--cycle;
\draw[...] (A)--(B)--(F)--(E)--cycle;
Opsi dalam perintah \draw itu dapat diisi oleh opsi lainnya yang diperlukan atau dibiarkan kosong.

Pengisian Daerah Tertutup oleh Arsiran

Demikian halnya dalam pengarsiran, kedua cara itu sama berlakunya. Bila pengarsiran diinginkan bersamaan dengan menggambarkan lintasannya, maka kita nyatakan
\draw[pattern=...,pattern color=...] (A)--(B)--(F)--(E)--cycle;
Opsi pattern diisi oleh jenis arsiran tertentu dan (bila diperlukan) opsi pattern color diisi oleh warna tertentu.
Pada umumnya kita lebih sering membuat atau melihat arsiran itu berupa barisan gari-garis berjarak tertentu yang mengarah ke Barat Laut (North West) atau ke Timur Laut (North East). Tetapi bila kita buka buku panduan paket PGF (pgf manual) maka pada halaman 666 akan kita temukan berbagai jenis/bentuk arsiran sebagai berikut.
Kita dapat memilih salah satunya untuk mengisi opsi pattern tadi.
Bila kita tetapkan lebih dulu lintasannya (oleh perintah \path) dan mengarsir daerahnya oleh suatu bentuk arsiran, baru kemudian menggambarkan (0leh perintah \draw) lintasannya itu, maka kita nyatakan (dalam dua baris)
\path[pattern=...,pattern color=...] (A)--(B)--(F)--(E)--cycle;
\draw[] (A)--(B)--(F)--(E)--cycle;

Contoh-contoh

Pewarnaan pada contoh-contoh dalam dokumen terlampir di bawah ini masih menggunakan warna dasar, yang secara otomatis sudah dibawakan oleh paket TikZ. Oleh karena itu, dalam mukadimah (preamble), cukup kita cantumkan 
\usepackage{tikz}
\usetikzlibrary{patterns}
Kemudian, untuk menggambar kubus, kita tetapkan koordinat (misalnya)
\coordinate (A) at (0,0);
\coordinate (B) at (4,0);
\coordinate (C) at (6,1);
\coordinate (D) at (2,1);
\coordinate (E) at (0,4);
\coordinate (F) at (4,4);
\coordinate (G) at (6,5);
\coordinate (H) at (2,5);
Skala gambar dapat diatur sesuai dengan keperluannya. Agar pada sudut-sudutnya ujung-ujung rusuk tidak meruncing, kita cantumkan opsi line join=round seperti ini
\begin{tikzpicture}[scale=.75, line join=round]
Pada setiap contoh (gambar), perhatikan dampak dari perintah yang dibuat dan gambar yang dihasikan, yang diwakili oleh bagian pojok yang diperbesar itu. Anda dapat menambah perbesarannya pada pembaca berkas PDF Anda.

Gambar 1

Gambar 1 dihasilkan oleh perintah
\draw[fill=olive] (A)--(B)--(F)--(E)--cycle; 
\draw[fill=purple] (B)--(C)--(G)--(F) ;
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Bidang $ABFE$ dan $BCGF$ digambar sekaligus diisi daerahnya oleh warna.

Gambar 2

Gambar 2 dihasilkan oleh perintah
\draw[fill=olive,opacity=.8] (A)--(B)--(F)--(E)--cycle;
\draw[fill=purple,opacity=.6] (B)--(C)--(G)--(F) ;
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Sama seperti Gambar 1, tetapi dengan menurunkan tingkat tak tembus pandang (opasitas)-nya, sebagai opsi.

Gambar 3

Gambar 3 dihasilkan oleh perintah
\path[fill=olive,opacity=.8] (A)--(B)--(F)--(E)--cycle;
\path[fill=purple,opacity=.6] (B)--(C)--(G)--(F) ;
\draw[] (A)--(B)--(F)--(E)--cycle;
\draw[] (B)--(C)--(G)--(F);
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Sama seperti pada Gambar 2, tetapi pengisian oleh warna lebih dulu sebelum menggambarkan lintasannya.

Gambar 4

Gambar 4 dihasilkan oleh perintah
\draw[pattern=north west lines,pattern color=olive] (A)--(B)--(F)--(E)--cycle;
\draw[pattern=north east lines,pattern color=purple] (B)--(C)--(G)--(F);
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Bidang $ABFE$ dan $BCGF$ digambar sekaligus diisi daerahnya oleh arsiran.

Gambar 5

Gambar 5 dihasilkan oleh perintah
\path[pattern=north west lines,pattern color=olive] (A)--(B)--(F)--(E)--cycle;
\path[pattern=north east lines,pattern color=purple] (B)--(C)--(G)--(F) ;
\draw[] (A)--(B)--(F)--(E)--cycle;
\draw[] (B)--(C)--(G)--(F);
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Sama seperti pada Gambar 4, tetapi pengarsiran lebih dulu sebelum menggambarkan lintasannya.

Gambar 6

Gambar 6 dihasilkan oleh perintah
\draw[preaction={pattern=north west lines,pattern color=olive,nearly transparent}] (A)--(B)--(F)--(E)--cycle;
\draw[preaction={pattern=north east lines,pattern color=purple,nearly transparent}] (B)--(C)--(G)--(F);
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Ini salah satu "kekayaan" dalam paket TikZ. Kita dapat membuat arsiran "tipis" berkat opsi nearly transparent. dalam bentuk
preaction={pattern=...,pattern color=...,nearly transparent}
Pada ujung opsi itu dapat kita gunakan: nearly transparentvery nearly transparent, atau ultra nearly transparent, yang secara berturut-turut semakin "menipis". 

Gambar 7

Gambar 7 dihasilkan oleh perintah
\draw[preaction={pattern=north west lines,pattern color=olive,very nearly transparent}] (A)--(B)--(F)--(E)--cycle;
\draw[preaction={pattern=north east lines,pattern color=purple,very nearly transparent}] (B)--(C)--(G)--(F);
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
(Seperti pada Gambar 6) sebagai contoh penggunaan opsi very nearly transparent.

Gambar 8

Gambar 8 dihasilkan oleh perintah
\draw[pattern=north west lines,pattern color=olive,opacity=.8] (A)--(B)--(F)--(E)--cycle;
\draw[pattern=north west lines,pattern color=purple,opacity=.6] (B)--(C)--(G)--(F);
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Secara sekaligus menggambar lintasannya, mengarsir daerahnya, dan mengatur tingkat opasitasnya.

Gambar 9

Gambar 9 dihasilkan oleh perintah
\pattern[pattern=north west lines,pattern color=olive,opacity=.8] (A)--(B)--(F)--(E)--cycle;
\path[pattern=north west lines,pattern color=purple,opacity=.6] (B)--(C)--(G)--(F);
\draw[] (A)--(B)--(F)--(E)--cycle;
\draw[] (B)--(C)--(G)--(F);
\draw (G)--(H)--(E);
\draw[dashed] (A)--(D)--(H) (C)--(D);
Sama seperti pada Gambar 8, tetapi pengarsiran dilakukan lebih dulu sebelum menggambar lintasannya.

Penutup

Dengan demikian, dalam pengisian daerah tertutup, kita perlu memperhatikan setidaknya dua hal, yaitu unsur estetis dan pilihan warna atau arsiran. Demikian semoga bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2017




Friday, December 30, 2016

Hal Mengarsir

Seseorang memberikan gambar di samping ini dan menyampaikan "keluhannya",
"Kalau mengarsir ini bagimana? Masak dibuat titik satu-satu di antara AB, AC, BC? Nanti titiknya banyak banget. Biar titiknya tidak kebanyakan, bagimana?"
Nah, penulis akan mengulas hal tersebut. Dalam hal ini gambar dibuat dengan menggunakan paket TikZ.
Dalam gambar TikZ, mengarsir dilakukan di dalam suatu path tertutup (poligon), baik sambil menggambarkan poligonnya itu atau pun tidak. Oleh karena itu, khususnya untuk gambar tersebut, kelima belas koordinat itu harus kita tetapkan lebih dulu.
Pada umumnya, arsiran akan tampak baik bila perintah pengarsiran ditetapkan lebih dulu sebelum perintah untuk gambar (draw) poligonnya. Jadi kedua hal itu ditetapkan secara terpisah.
Karena $\triangle{ABC}$ berupa segitiga sama sisi, maka koordinat $A$, $B$, dan $C$ akan lebih mudah ditetapkan dalam koordinat kutub (polar). Suatu koordinat kutub dinyatakan sebagai $(\textrm{besar sudut}:\textrm{panjang jari-jari})$. Sedangkan koordinat lainnya kita tetapkan oleh perhitungan dengan menggunakan kepustakaan TikZ, calc, dan untuk ketiga koordinat yang terletak di dalam daerah $\triangle{ABC}$ dapat kita tetapkan dengan menggunakan kepustakaan TikZ, intersections.

Koordinat-koordinat

Misalkan kita buat $\triangle{ABC}$ sama sisi itu dengan panjang sisi $7\,\textrm{cm}$, maka (dalam koordinat kutub) ketiga koordinatnya kita tetapkan sebagai
\coordinate[label=below:$A$] (A) at (0:0);
\coordinate[label=below:$B$] (B) at (0:7);
\coordinate[label=above:$C$] (C) at (60:7);
Untuk sementara, kita dapat memperlihatkan gambar segitiganya oleh
\draw[thick] (A)--(B)--(C)--cycle;
tetapi, nanti, perintah ini ditiadakan dari baris ini karena perintah "pattern" harus lebih dulu agar tertindas oleh perintah-perintah "draw" lainnya.
Sekarang, pada sisi $\overline{AB}$, kita tetapkan ketiga koordinat itu. Misalkan sebagai $D$, $E$, dan $F$ berturut-turut dari kiri ke kanan. Perhatikan bahwa ketiga titik itu membagi ruas garis $\overline{AB}$ menjadi $4$ bagian yang sama panjang. Berkat kepustakaan TikZ, calc, kita dapat menetapkan ketiganya sebagai
\coordinate[] (D) at ($(A)!1/4!(B)$);
\coordinate[] (E) at ($(A)!2/4!(B)$);
\coordinate[] (F) at ($(A)!3/4!(B)$);
Dengan cara yang sama, kita tetapkan tiga koordinat pada sisi $\overline{BC}$ berturut-turut dari arah bawah ke atas. Misalnya sebagai
\coordinate[] (K) at ($(B)!1/4!(C)$);
\coordinate[] (L) at ($(B)!2/4!(C)$);
\coordinate[] (M) at ($(B)!3/4!(C)$);
Kemudian pada sisi $\overline{CA}$ berturut-turut dari arah atas ke bawah, misalnya sebagai
\coordinate[] (P) at ($(C)!1/4!(A)$);
\coordinate[] (Q) at ($(C)!2/4!(A)$);
\coordinate[] (R) at ($(C)!3/4!(A)$);
Untuk sementara, kita dapat memperlihatkan ruas-ruas garisnya oleh
\draw[thick] (D)--(R) (E)--(Q) (F)--(P) (D)--(M)
(E)--(L) (F)--(K) (P)--(M) (Q)--(L) (R)--(K);
Berikutnya kita akan menetapkan tiga koordinat yang terletak pada bagian tengah dari daerah $\triangle{ABC}$. Perhatikan bahwa masing-masing titik itu merupakan titik tengah dari $\overline{EQ}$, $\overline{EL}$, dan $\overline{LQ}$. Oleh karena itu dapat kita tetapkan, misalnya
\coordinate[] (X) at ($(E)!.5!(Q)$);
\coordinate[] (Y) at ($(E)!.5!(L)$);
\coordinate[] (Z) at ($(L)!.5!(Q)$);


Pengarsiran

Nah, sekarang kita dapat mulai mengarsir. Kita awali pada $\triangle{RDX}$. Kita hanya mengarsir tanpa menggambarkan ruas garisnya. Hal ini kita lakukan dengan perintah
\path[pattern=north west lines,pattern color=olive!50!orange] (D)--(X)--(R)--cycle;
Tampak dalam opsi, saya warnai arsiran itu oleh olive dan orange dalam takaran yang sama, masing-masing senilai $50\%$.
Hal yang sama kita lakukan pada kelima segitiga kecil lainnya sebagai berikut.
\path[pattern=north west lines,pattern color=olive!50!orange] (E)--(Y)--(X)--cycle;
\path[pattern=north west lines,pattern color=olive!50!orange] (F)--(K)--(Y)--cycle;
\path[pattern=north west lines,pattern color=olive!50!orange] (X)--(Z)--(Q)--cycle;
\path[pattern=north west lines,pattern color=olive!50!orange] (Y)--(L)--(Z)--cycle;
\path[pattern=north west lines,pattern color=olive!50!orange] (Z)--(M)--(P)--cycle;


Menggambar Segitiga dan Ruas-ruas Garis

Agar arsiran tidak menutupi gambar hasil dari perintah "draw", salin (dua) perintah "draw" di atas dan tempelkan di bawah ini. Kedua perintah semula itu dapat dihapus atau disembunyikan dengan diawali oleh tanda persen ($\%$) atau diganti oleh perintah "\path[...]...".
\draw[thick] (A)--(B)--(C)--cycle;
\draw[thick] (D)--(R) (E)--(Q) (F)--(P) (D)--(M)
(E)--(L) (F)--(K) (P)--(M) (Q)--(L) (R)--(K);


Penutup

Berikut ini dapat Anda salin pengkodean selengkapnya dan hasilnya dapat Anda lihat pada berkas di bawahnya.
Demikian semoga bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2016

\documentclass[border=10pt]{standalone}
\usepackage[utf8]{inputenc}
%\usepackage[a4paper,margin=2cm]{geometry}
\usepackage[indonesian]{babel}
\usepackage{fourier}
\usepackage{tikz}
\usetikzlibrary{patterns,calc,intersections}

\begin{document}

\centering

\begin{tikzpicture}[scale=1,line join=round]
\coordinate[label=below left:$A$] (A) at (0:0);
\coordinate[label=below right:$B$] (B) at (0:7);
\coordinate[label=above:$C$] (C) at (60:7);

%\draw[thick] (A)--(B)--(C)--cycle;

%Pada sisi AB
\coordinate[] (D) at ($(A)!1/4!(B)$);
\coordinate[] (E) at ($(A)!2/4!(B)$);
\coordinate[] (F) at ($(A)!3/4!(B)$);

%Pada sisi BC
\coordinate[] (K) at ($(B)!1/4!(C)$);
\coordinate[] (L) at ($(B)!2/4!(C)$);
\coordinate[] (M) at ($(B)!3/4!(C)$);

%Pada sisi CA
\coordinate[] (P) at ($(C)!1/4!(A)$);
\coordinate[] (Q) at ($(C)!2/4!(A)$);
\coordinate[] (R) at ($(C)!3/4!(A)$);

%Kita perlu menetapkan 3 titik potong yang berada di tengah itu
\coordinate[] (X) at ($(E)!.5!(Q)$);
\coordinate[] (Y) at ($(E)!.5!(L)$);
\coordinate[] (Z) at ($(L)!.5!(Q)$);

%\draw[thick] (D)--(R) (E)--(Q) (F)--(P) (D)--(M) (E)--(L) (F)--(K) (P)--(M) (Q)--(L) (R)--(K);

%Sekarang barulah kita mengarsir
\path[pattern=north west lines,pattern color=olive!50!orange] (D)--(X)--(R)--cycle;
\path[pattern=north west lines,pattern color=olive!50!orange] (E)--(Y)--(X)--cycle;
\path[pattern=north west lines,pattern color=olive!50!orange] (F)--(K)--(Y)--cycle;
\path[pattern=north west lines,pattern color=olive!50!orange] (X)--(Z)--(Q)--cycle;
\path[pattern=north west lines,pattern color=olive!50!orange] (Y)--(L)--(Z)--cycle;
\path[pattern=north west lines,pattern color=olive!50!orange] (Z)--(M)--(P)--cycle;

\draw[thick] (A)--(B)--(C)--cycle;
\draw[thick] (D)--(R) (E)--(Q) (F)--(P) (D)--(M)
(E)--(L) (F)--(K) (P)--(M) (Q)--(L) (R)--(K);

\end{tikzpicture}

\end{document}