Monday, July 11, 2016

Belajar LaTeX Bersama TeX Live 2016

Mukadimah

Berdasarkan kewajiban untuk belajar sepanjang hayat, akhirnya membawa saya pada suatu jama'ah para pembelajar dengan i'tikad yang sama. Bertalian dengan itu, membaca adalah salah satu cara belajar yang paling pokok. Pengetahuan apa pun terkuak setelah proses membaca dilakukan. Salah seorang yang istiqomah dalam membaca adalah Bapak Muhammad Sahlan Rosyidi. Saya belajar kepada beliau untuk dapat membuat tulisan ini.
TeX Live merupakan salah satu distro $\small\LaTeX$ terlengkap dan terbaik. Menurut thefreedictionary.com,
Perangkat lunak distro adalah seperangkat komponen perangkat lunak (berupa komponen dari sumberdaya terbuka) yang dirakit menjadi satu kesatuan kerja dan disalurkan kepada kelompok penggunanya.
TeX Live menyertakan 3000-an paket $\small\LaTeX$ yang siap digunakan sekaligus menyertakan penyunting $\small\LaTeX$ TeXworks. Setelah TeX Live terpasang pada komputer Anda, penyunting TeXworks dapat Anda temukan dalam C:\texlive\2016\bin\win32. Saat ini telah tersebar TeX Live terbitan tahun 2016. Anda dapat memperoleh berkas program TeX Live 2016 (yaitu texlive.iso) di sini. Kemudian Anda dapat memasangnya pada komputer dengan mengikuti petunjuk dari tulisan ini.

Belajar LaTeX Secara Mandiri

Seperti telah disebutkan di atas, TeX Live memiliki beberapa keunggulan dibandingkan dengan distro atau perangkat lunak $\small\LaTeX$ lainnya, yaitu
  • memasang 3000-an paket yang diperlukan dalam penyusunan dokumen
  • memasang penyunting $\small\LaTeX$ (TeXworks)
  • menyertakan dokumentasi (PDF) dari tiap paket
  • memasang "mesin pencari" dokumentasi (PDF), yaitu texdoctk.exe

Nah, dengan memanfaatkan texdoctk.exe itu kita dapat mempelajari $\small\LaTeX$ secara mandiri melalui dokumentasi-dokumentasi (PDF) yang telah tersedia berkat pemasangan TeX Live. Program texdoctk.exe itu dapat Anda temukan dalam C:\texlive\2016\bin\win32. Setelah Anda buka akan tampak seperti ini
Tampak bahwa dokumentasi-dokumentasi $\small\LaTeX$  itu sudah dipilah-pilah berdasarkan topiknya. Bila kita ingin mempelajari tentang "Panduan dan Tutorial", klik tombol  "Guides and tutorials", maka akan muncul
Kita dapat memilih hal apa yang ingin dipelajari dengan mengklik judul yang tersedia di situ. "Tombol penggeser" dapat pula kita gunakan untuk melihat semua hal yang tersedia pada topik ini. Untuk ini saya sarankan/harapkan Anda telah memasang Adobe Reader karena begitu suatu judul diklik maka akan langsung terbuka oleh pembaca berkas PDF.

Penutup

Tentu saja dokumentasi-dokumentasi itu bukan dalam bahasa Jawa atau Sunda atau lainnya melainkan dalam bahasa Inggris atau bahasa asing lainnya. Dengan demikian Anda secara tidak langsung juga belajar menjadi seorang penerjemah. Hehehe....
Bila terdapat kendala dalam memahaminya, tak perlu kuatir karena kita dapat mengadukannya ke forum tex.stackexchange.com
Demikian semoga tulisan ini bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2016

Saturday, July 2, 2016

Tips 3: Menarik Garis Tegak Lurus

Mukadimah

Karena tulisan berbentuk tips ini berjarak cukup jauh dari tulisan sejenis, saya lampirkan dulu tulisan sebelumnya di sini dan di sana.
Pada tulisan ini akan saya ulas tentang cara menarik suatu garis dari suatu titik pada suatu garis, demikian sehingga garis itu tegak lurus terhadap garis yang diketahui. Perhatikan Gambar 1 berikut ini, kemudian hasil yang diharapkan pada Gambar 2.
Kita ketahui suatu ruas garis $AC$ dan suatu titik $B$ pada $\overline{AC}$. Kita ingin membuat suatu ruas garis dari $B$ dan tegak lurus pada $\overline{AC}$.

Lukisan

Untuk menjawab masalah tersebut akan kita gunakan paket TikZ. Lebih dulu akan kita gambar ruas garis yang diketahui dan salah satu titik pada ruas garis itu, yaitu titik $B$. Untuk hal ini dapat kita siapkan koordinat-koordinat berikut ini.
\coordinate (A) at (0,1/3);
\coordinate (B) at (2,1);
\coordinate (C) at (5,2);
Kemudian kita tunjukkan ruas garis $\overline{AC}$ oleh
\draw[thick] (A)--(C);
dan kita namai tiap koordinat itu oleh
\node[below,xshift=.05cm] at (A) {A}
node[below,xshift=.05cm] at (B) {B}
node[below] at (C) {C};
Hingga di sini kita peroleh gambar seperti tampak pada Gambar 1 di atas.

Sekarang, bagaimana cara memperoleh garis yang tegak lurus terhadap $\overline{AC}$ dari $B$?
Inilah kunci dari masalah ini. Yang kita lakukan adalah menetapkan suatu koordinat yang berkaitan dengan $\overline{BC}$ pada kedudukan $90^\circ$ terhadapnya. Untuk ini kita tetapkan (misalnya) koordinat untuk titik $D$ oleh
\coordinate (D) at ($(B)!2.5cm!90:(C)$);
yang menempatkannya sejarak $2,5\,\textrm{cm}$ dari $B$. (Perlu diketahui bahwa penetapan koordinat oleh cara itu memerlukan kepustakaan Tikz calc.) Kemudian kita hubungkan $B$ ke $D$ oleh 
\draw[thick] (B)--(D);
Untuk mendai sudut siku-siku itu, dapat Anda buka tulisan ini. Dengan demikian, hingga di sini, kita sudah menjawab masalah tersebut dan hasilnya tampak pada gambar 2 di atas.

Penutup

Penetapan koordinat semacam untuk titik $D$ itu bersifat khas, sehingga kita harus menghafalkannya. Demikian semoga tulisan ini bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2016

Friday, July 1, 2016

Irisan pada Bangun Ruang dalam Sistem Koordinat Ruang


Mukadimah

Kepada saya disodorkan gambar seperti tampak di samping ini. Terhadap gambar tersebut diminta untuk menentukan irisan terhadap prisma $ABC.DEF$. 
Irisan pada suatu bangun ruang adalah suatu bidang yang mengiris atau memotong semua sisi dari bangun ruang itu. 
Perluasan dari bidang itu disebut sebagai bidang pengiris. Salah satu cara untuk melukis irisan pada suatu bangun ruang adalah dengan menggunakan sumbu afinitas
Sumbu afinitas adalah suatu garis yang terletak pada satu sisi bangun ruang itu dan melalui dua titik yang diketahui. Sumbu afinitas merupakan garis-potong antara bidang pengiris dan salah satu sisi dari bangun ruang itu.
Pada gambar di samping diminta lukisan dari irisan tehadap prisma $ABC.DEF$ yang melalui titik $K$, $L$, dan $M$ yang diketahui. Sesuai dengan gambar yang diberikan, saya akan membuat lukisan tersebut dalam sistem koordinat ruang dengan menggunakan paket TikZ.


Menggambar Sumbu Koordinat

Pada gambar TikZ, dalam sistem koordinat ruang, sumbu-sumbu $x_+$, $y_+$, dan $z_+$ diatur menurut kaidah jari tangan kanan seperti tampak pada gambar di samping ini. 
Bagian negatif dari tiap sumbu koordinat itu kita gambar dengan garis putus-putus. Kemudian, karena bangun ruang itu "memanjang" ke arah sumbu $x_+$ dan $y_+$, maka kita buat nilai absis dan ordinatnya lebih besar. Saya tetapkan sumbu-sumbu itu sebagai berikut.
\draw[thick,dashed,gray] (-3,0,0)--(0,0,0); % sumbu x-
\draw[thick,-latex] (0,0,0)--(13,0,0) node[anchor=west]{\large$x$}; % sumbu x+
\draw[thick,dashed,gray] (0,-3,0)--(0,0,0); % sumbu y-
\draw[thick,-latex] (0,0,0)--(0,6,0) node[above]{\large$y$}; % sumbu y+
\draw[thick,dashed,gray] (0,0,-7)--(0,0,0); % sumbu z-
\draw[thick,-latex] (0,0,0)--(0,0,6) node[anchor=east]{\large$z$}; % sumbu z+
Hasilnya tampak pada gambar 1 dalam dokumen di bawah tulisan ini.


Menggambar Prisma ABC.DEF

Berdasarkan koordinat titik-titik sudut dari prisma pada gambar di atas, saya gambarkan prisma itu dan langsung menamai keenam titik sudutnya sebagai berikut.
\draw[thick] 
(0,0,0) node[above left] {A}--
(6,0,4) node[below,xshift=-.2cm,black] {B}--
(6,5,4) node[below left,black] {E}--
(0,5,0) node[left] {D} 
(6,0,4)--(6,0,0) node[above,xshift=.2cm] {C}--
(6,5,0) node[above] {F}--(0,5,0) 
(6,5,4)--(6,5,0);
Hasilnya tampak pada gambar 2 dalam dokumen di bawah tulisan ini.


Menggambar Irisan pada Prisma ABC.DEF

Untuk menggambar bidang pengiris dan irisannya, saya perlu menetapkan beberapa koordinat sebagai berikut.
\coordinate (X) at (13,0,0); % ujung sumbu x
\coordinate (A) at (0,0,0);
\coordinate (B) at (6,0,4);
\coordinate (C) at (6,0,0);
\coordinate (D) at (0,5,0);
\coordinate (E) at (6,5,4);
Kemudian, berdasarkan pada gambar di atas, saya menetapkan titik $K$, $L$, dan $M$, menamainya, dan menandainya dengan "noktah" sebagai berikut.
\path (4,0,2.68) coordinate (K) node[below,yshift=-.1cm,xshift=-.1cm] {K};
\path (6,3,0) coordinate (L) node[right,xshift=.1cm,,yshift=.1cm] {L};
\path (3,5,0) coordinate (M) node[above,yshift=.1cm] {M};
\draw[SeaGreen,thin,fill=Yellow] (K) circle (2pt) (L) circle (2pt) (M) circle (2pt);
Hasilnya tampak pada gambar 3 dalam dokumen di bawah tulisan ini.

Pada gambar di atas, titik $L$ dan $M$ terletak sebidang, yaitu pada bidang $ACFD$ atau pada bidang $xy$. Dengan demikian garis $\overleftrightarrow{LM}$ merupakan sumbu afinitas.
  1. Tarik $\overleftrightarrow{LM}$ sehingga memotong sumbu $x$, misalkan, di titik $P$.
  2. Bidang $ABC$ terletak pada bidang $xz$. Titik $K$ terletak pada bidang $ABC$ atau pada bidang $xz$ dan sebidang dengan titik $P$. Tarik $\overleftrightarrow{PK}$ sehingga memotong $\overleftrightarrow{BC}$, misalkan, di titik $Q$.
  3. Titik $L$, titik $Q$, dan $\overleftrightarrow{EB}$ sebidang, yaitu pada bidang $BCFE$. Tarik $\overleftrightarrow{LQ}$ sehingga memotong $\overleftrightarrow{EB}$, misalkan, di titik $R$.
  4. Titik $R$, titik $K$, dan $\overleftrightarrow{DE}$ sebidang, yaitu pada bidang $ABED$. Tarik $\overleftrightarrow{RK}$ sehingga memotong $\overleftrightarrow{DE}$, misalkan, di titik $S$.
  5. Sekarang kita sudah mendapatkan bidang pengiris terhadap prisma $ABC.DEF$, yang melalui titik $K$, $L$, dan $M$, yaitu bidang $KQLMS$.
Sekarang kita buat ruas garis $MN$ dan memanjangkannya pada kedua ujungnya.
\draw[densely dashed,LimeGreen] (M)--(L); %membuat ruas garis ML
\path[darkgray] ($(M)!-2cm!(L)$) node[left,yshift=.1cm] {1} coordinate (U); % memanjangkan ke kiri dari M
\path ($(L)!-6cm!(M)$) coordinate (V); % memanjangkan ke kanan dari L
\draw[LimeGreen] (U)--(M) (L)--(V);
Kemudian kita tetapkan perpotongan dari $\overleftrightarrow{ML}$ dan $\overleftrightarrow{OX_+}$ sebagai titik $P$, menandainya oleh "noktah", dan menamainya.
\coordinate[label=above:P] (P) at (intersection of A--X and L--V);
\draw[SeaGreen,thin,fill=Yellow] (P) circle (2pt) ;
Hasilnya tampak pada gambar 4 dalam dokumen di bawah tulisan ini.
Berikutnya kita tetapkan titik $Q$ sebagai perpotongan dari $\overline{BC}$ dan $\overline{PK}$, menggambar $\overline{PQ}$, dan memanjangkannya pada kedua ujungnya.
\coordinate[label=below right:Q] (Q) at (intersection of C--B and P--K);
\draw[densely dashed,Tomato] (K)--(Q);
\draw[Tomato] (Q)--($(P)!-2cm!(Q)$) node[right,yshift=.1cm,darkgray] {2}; % memanjangkan ke arah P
\draw[Tomato] (K)--($(K)!-2cm!(Q)$); % memanjangkan ke arah sumbu z
\draw[SeaGreen,thin,fill=Yellow] (Q) circle (2pt) ;
Hasilnya tampak pada gambar 5 dalam dokumen di bawah tulisan ini.

Untuk menghubungkan titik $L$ dan $Q$ yang sebidang, lebih dulu kita perpanjangkan $\overline{EB}$ ke arah $B$ oleh
\draw[darkgray] (B)--($(B)!-5cm!(E)$) node[below] {3} coordinate (T);
sekaligus menetapkan titik ujungnya sebagai $T$. Barulah memperpanjang $\overline{LQ}$ pada kedua arah sekaligus oleh
\draw[DodgerBlue] ($(L)!-2cm!(Q)$) node[above,darkgray] {4}--($(Q)!-6cm!(L)$) coordinate (G);
dan menetapkan titik ujungnya sebagai $G$. Ini dilakukan karena ruas garis ini tidak diselangi oleh bagian ruas garis putus-putus. Lalu menetapkan titik potong dari $\overleftrightarrow{EB}$ dan $\overleftrightarrow{LQ}$ sebagai $R$.
\coordinate[label=right:R] (R) at (intersection of B--T and L--G);
\draw[SeaGreen,thin,fill=Yellow] (R) circle (2pt) ;
Hasilnya tampak pada gambar 6 dalam dokumen di bawah tulisan ini.

Sekarang kita menggambar dan memperpanjang $\overline{RK}$ pada kedua arah sekaligus oleh
\draw[SlateBlue] ($(R)!-2cm!(K)$) node[below] {5}--($(K)!-7cm!(R)$) coordinate (H);
sekaligus menetapkan titik ujungnya sebagai $H$. Kemudian menetapkan titik potong dari $\overleftrightarrow{RK}$ dan $\overline{DE}$ sebagai $S$.

\coordinate[label=below left:S] (S) at (intersection of R--H and D--E);
\draw[SeaGreen,thin,fill=Yellow] (S) circle (2pt) ;
Kemudian kita menggambar dan memperpanjang $\overline{SM}$ pada kedua arah sekaligus oleh
\draw[Crimson] ($(S)!-1.25cm!(M)$)--($(M)!-2cm!(S)$) node[right,darkgray,yshift=.1cm] {6};
Hasilnya tampak pada gambar 7 dalam dokumen di bawah tulisan ini.

Terakhir kita akan menandai irisan pada prisma $ABC.DEF$, yaitu bidang $KQLMS$ oleh suatu arsiran. Kita buat arsiran itu oleh
\path[pattern=north west lines,pattern color=RosyBrown] (K)--(Q)--(L)--(M)--(S)--(K);
Hasilnya tampak pada gambar 8 dalam dokumen di bawah tulisan ini. 


Penutup


Untuk keperluan gambar tersebut, pada mukadimah harus kita siapkan
\usepackage[svgnames,dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{calc,intersections,patterns}
Demikianlah pengkodean selengkapnya dapat Anda peroleh di sini.

Semoga tulisan ini bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2016



Sunday, June 26, 2016

Menampilkan Pengkodean dalam Dokumen LaTeX

Mukadimah

Untuk suatu keperluan tertentu, kita kadang ingin menunjukkan kepada pembaca tentang suatu pengkodean yang menghasilkan teks/gambar yang dihasilkan. Meskipun demikian, memang masih diperlukan keterangan tambahan secara terpisah tentang paket dll yang digunakan untuk itu, baik di dalam mukadimah (preamble) maupun di dalam badan dokumen (main body).
Bagaimana cara menunjukkan kepada pembaca tentang pengkodean untuk gambar di samping ini? Ada beberapa cara yang dapat dilakukan untuk itu, tetapi kali ini akan saya tunjukkan empat cara, yaitu dengan menggunakan
  1. lingkup perintah (environment) verbatim 
  2. paket listings 
  3. paket minted 
  4. paket showexpl 

Menampilkan Kode dengan Menggunakan Verbatim

Lingkup perintah verbatim telah disediakan oleh $\small\LaTeX$, oleh karena itu kita dapat langsung menggunakannya dengan menuliskan
\begin{verbatim} 
Tulis kode di sini 
\end{verbatim}
Dengan menggunakan lingkup perintah verbatim, kode untuk gambar tersebut dapat diperlihatkan oleh
\begin{verbatim}
\begin{tikzpicture}
\node (a) at (0,0) {$\tan x$};
\node (b) at (4,0) {$\sec^2 x$};
\draw[-latex,bend left,blau]  (a) edge (b) ;
\draw[-latex,bend left,Tomato]  (b) edge (a);
\path[blau] (a) -- (b) node[midway,above,yshift=.8cm] {\small diferensial};
\path[Tomato] (b) -- (a) node[midway,below,yshift=-.8cm] {\small integral};
\end{tikzpicture}
\end{verbatim}
Hasilnya seperti ini


Menampilkan Kode dengan Menggunakan Paket Listings

Seperti terlihat di atas, hasil dari lingkup perintah verbatim tampak ``biasa'' saja. Mungkin akan tampak lebih menarik bila, misalnya, kode itu diletakkan di dalam suatu bingkai (frame) dan dilatari oleh suatu warna. Kita dapat melakukan itu dengan menggunakan paket listings. Lebih dulu, dalam mukadimah kita muat paket listings beserta pengaturan dalam penggunaannya, misalnya
\usepackage{listings}
\lstset{
basicstyle=\ttfamily,frame=lines,
framexleftmargin=0.5em,framexrightmargin=0.5em,
backgroundcolor=\color{LemonChiffon}
}
kemudian kita menuliskan kodenya dan mengatur lebar bingkainya, misalnya
\begin{lstlisting}[linewidth=10cm]
Tulis kode di sini
\end{lstlisting}
Hasilnya seperti ini
Hal-hal lainnya sehubungan dengan penggunaan paket listings dapat dipelajari dalam dokumentasinya.


Menampilkan Kode dengan Menggunakan Paket Minted

Seperti telihat di atas, meskipun paket listing dapat menampilkan kode berbingkai disertai oleh pewarnaan pada latarnya tetapi teks yang dihasilkan berwarna dasar (hitam). Mungkin akan tampak lebih menarik bila digunakan warna berbeda pada teks tersebut. Inilah yang dilakukan oleh paket minted. Lebih dulu, dalam mukadimah kita muat \usepackage{minted} kemudian kita menuliskan kodenya, misalnya, sebagai berikut.
\begin{minted}[
    frame=lines,
    framerule=1pt,
    framesep=5pt,
    rulecolor=\color{bistre}
            ]{latex}
Tuliskan kode di sini
\end{minted}
Dengan menggunakan paket minted, kode untuk gambar tersebut dapat diperlihatkan oleh
\begin{minted}[
    frame=lines,
    framerule=1pt,
    framesep=5pt,
    rulecolor=\color{bistre}
            ]{latex}
\begin{tikzpicture}
\node (a) at (0,0) {$\tan x$};
\node (b) at (4,0) {$\sec^2 x$};
\draw[-latex,bend left,blau]  (a) edge (b) ;
\draw[-latex,bend left,Tomato]  (b) edge (a);
\path[blau] (a) -- (b) node[midway,above,yshift=.8cm] {\small diferensial};
\path[Tomato] (b) -- (a) node[midway,below,yshift=-.8cm] {\small integral};
\end{tikzpicture}
\end{minted}
Hasilnya seperti ini
Hal-hal lainnya sehubungan dengan penggunaan paket minted dapat dipelajari dalam dokumentasinya.


Menampilkan Kode dengan Menggunakan Showexpl

Sesuai dengan namanya, kelebihan dari paket showexpl adalah dapat menunjukkan gambar yang dibuat sekaligus dengan menunjukkan kodenya, disertai dengan penomoran pada tiap barisnya. Pada opsinya, kita juga dapat memberinya garis bingkai dan warna pada latarnya, sedangkan teks hanya dalam satu warna. Lebih dulu, dalam mukadimah kita muat paket showexpl beserta pengaturan dalam penggunaannya, misalnya 
\usepackage{showexpl}
\lstdefinestyle{gayaku}{
    backgroundcolor=\color{BurlyWood!15},
    numberstyle=\footnotesize, 
    numbersep=5pt,
    rframe=
}
kemudian kita menuliskan kodenya dan mengatur lebar bingkainya, misalnya
\begin{LTXexample}[style=gayaku,width=.3\linewidth,pos=l]
Tuliskan kode di sini
\end{LTXexample}
Opsi tersebut memerintahkan $\small\LaTeX$ untuk menggunakan pengaturan ``gayaku'' yang telah ditetapkan dalam mukadimah, ``kolom'' halaman terbagi atas 30% untuk gambar dan 70% untuk kodenya, kemudian gambar diletakkan di kiri (l = left). Perhatikan contoh penggunaannya berikut ini.
\begin{LTXexample}[style=gayaku,width=.3\linewidth,pos=l]
\begin{tikzpicture}
\node (a) at (0,0) {$\tan x$};
\node (b) at (4,0) {$\sec^2 x$};
\draw[-latex,bend left,blau]  (a) edge (b) ;
\draw[-latex,bend left,Tomato]  (b) edge (a);
\path[blau] (a) -- (b) 
node[midway,above,yshift=.8cm] {\small diferensial};
\path[Tomato] (b) -- (a) 
node[midway,below,yshift=-.8cm] {\small integral};
\end{tikzpicture}
\end{LTXexample}
Hasilnya seperti ini

Penutup

Demikianlah sesuai dengan keperluannya kita menunjukkan kode atas hasil gambar (atau teks) yang kita buat dengan menggunakan salah satu dari keempat pilihan tersebut.
Semoga tulisan ini bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2016

Tuesday, June 21, 2016

Garis Sejajar

Mukadimah

Tentang kesejajaran garis kita akan menemukan aksioma berikut ini.
"Melalui suatu titik yang terletak di luar suatu garis dapat dibuat tepat satu garis yang sejajar dengan garis tersebut."
Juga akan kita temukan dua dalil (teorema) berikut ini.
"Dua garis yang tegak lurus pada suatu garis adalah sejajar."
"Jika suatu garis memotong tegak lurus pada salah satu dari dua garis yang sejajar maka garis itu juga tegak lurus terhadap garis lainnya."
Sehubungan dengan itu, seperti tampak pada gambar di samping ini, kali ini kita akan menggambar suatu garis yang sejajar dengan garis lain dan melalui suatu titik yang diketahui. Dalam hal ini kita gunakan paket TikZ.


Apa yang Kita Lakukan?

Misalkan kita ketahui suatu garis $g$ yang melalui titik $O(0,0)$ dan titik $P(3,1)$. Kemudian melalui (misalkan) suatu titik $A(2,2)$ akan kita buat suatu garis $h$ yang sejajar dengan $g$. Untuk hal ini (dalam mukadimah/preamble) kita memerlukan kepustakaan TikZ calc dan (bila perlu) pewarnaan oleh paket XColor.
\usepackage[svgnames,dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{calc}
Dalam lingkup perintah (environment) gambar TikZ kita awali (misalnya) dengan menetapkan koordinat untuk titik $O$ dan $P$
\coordinate (O) at (0,0) ;
\coordinate (P) at (3,1);
dan menggambarkan (ruas) garisnya
\draw (O)--(P); %garis yang diketahui
Kemudian kita tetapkan koordinat titik $A$
\coordinate (A) at (2,2); %titik yang diketahui
dan menandainya dengan "noktah" (berupa lingkaran kecil) sekaligus menamainya
\fill (A) circle (2pt) node[right] {A};
Sekarang kita tiba pada hal paling pokok dalam masalah ini, yaitu menetapkan suatu titik (misalkan $B$) demikian sehingga $\overline{AB}\parallel\overline{OP}$.
Untuk ini kita tetapkan
\coordinate (B) at ($(O)!(A)!90:(P)$);
Dengan demikian titik $B$ akan segaris dengan titik $A$ dan proyeksi $B$ pada $\overline{OP}$ adalah titik $O$. Jika bagian dari koordinat itu 90: dihilangkan maka akan menghasilkan proyeksi $A$ pada $\overline{OP}$.
Terakhir, kita hubungkan $A$ dan $B$ untuk menunjukkan kedua garis $\overline{AB}\parallel\overline{OP}$.
\draw[blue] (A)--(B);

Penutup

Perhatikan bahwa kunci dari masalah ini terdapat pada baris nomor 7 seperti tampak pada gambar di atas.
Demikian semoga tulisan ini bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2016

Wednesday, June 15, 2016

Pengaturan Tab dalam Dokumen LaTeX

Mukadimah

Ada Kata Kunci Pencarian yang muncul di dapur berbunyi, "mengetik tab dalam LaTeX". Ini mengingatkan saya karena memang belum pernah sama sekali menulis tentang hal tersebut. Sebagai contoh, mari kita lihat dokumen berikut ini.




Istilah tab sendiri tidak memiliki padanan di dalam Bahasa Indonesia dan tidak ada terjemahannya secara baku. 
Seperti kita lihat pada dokumen di atas, pengetikan "dihentikan" pada jarak/spasi tertentu demikian sehingga teks-teks pada baris-baris berikutnya tampak "lurus" mengikuti ketetapan dalam "penghentian" itu. Dalam $\small\LaTeX$, tab dihasilkan oleh lingkup perintah (environment) tabbing, yang merupakan salah satu pilihan selain lingkup perintah minipage.


Menetapkan dan Menggunakan Tab

Tab-tab ditetapkan dalam lingkup perintah tabbing sebagai berikut.
\begin{tabbing}
...
\end{tabbing}
Tab pertama mengacu pada margin kiri dan menjorok ke dalam sejauh yang ditetapkan dalam
\hspace{...} \= \kill
Isilah oleh nilai (bilangan) dan satuannya. Pada dokumen di atas, kata "Umur" menjorok ke dalam sejauh tiga huruf "m", yaitu $3em$. Seperti Anda lihat, contoh pertama (bagian atas) pada dokumen di atas menunjukkan penggunaan tiga tab. Hal itu ditetapkan oleh
\begin{tabbing}
\hspace{3em}\=\hspace{3.5cm}\=\hspace{4cm}\=\kill
...
\end{tabbing}
Dalam penggunaannya, setiap tab dibuat oleh \>. Sebagai contoh, perhatikan penggunaan tab pada baris berikut ini.
\> \textbf{Saat ini:} \> \textbf{Tahun depan:} \> Berdasarkan (*) dan (**) diperoleh


Gambar TikZ Sebaris (Inline)

Bila kita ingin membuat dan memuat gambar TikZ sebaris dengan teks maka kita nyatakan
\tikz[opsi] ... ;
Pada dokumen tersebut tampak lingkaran yang diwarnai oleh biruku
\usepackage{xcolor}
\definecolor{biruku}{cmyk}{1,0.80,0.30,0.05}
dan di dalamnya ditulisi oleh teks "Soal" berwarna putih. Itu dibentuk oleh perintah node
\tikz[baseline=-1.2mm,overlay]
\node [circle, fill=biruku, minimum width=2.5em]{\color{White}\large\textbf{Soal}};
Opsi baseline mengatur letak gambar terhadap garis dasar pada suatu baris. Nilai asalnya $0$, bila nilainya bertanda negatif maka gambar terletak di atas garis dasar dan demikian sebaliknya. Opsi overlay akan menempatkan gambar pada awal suatu baris.
Perintah node menyediakan tempat yang dapat diisi oleh gambar dan/atau teks. Opsi circle memerintahkan agar tempat itu diisi oleh lingkaran yang berisi (fill) warna biruku dengan lebar minimum $2,5em$. Di tengah-tengah gambar itu diletakkan pula teks "Soal". Dengan menetapkan lebar minimum maka lebar (diameter) lingkaran akan "mengikuti" lebar teks yang dituliskan.



Penutup

Demikianlah cara membuat dan menggunakan tab dalam dokumen $\small\LaTeX$. Berikut ini pengkodean selengkapnya untuk dokumen di atas. Semoga tulisan ini bermanfaat.
\documentclass[a4paper,10pt]{article}
\usepackage[margin=2cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[indonesian]{babel}
\usepackage{mathpazo}
\renewcommand{\rmdefault}{ppl}
\let\ds\displaystyle
\usepackage{xcolor}
\definecolor{biruku}{cmyk}{1,0.80,0.30,0.05}
\usepackage{tikz}

\begin{document}

\begin{tabbing}
\hspace{3em}\=\hspace{3.5cm}\=\hspace{4cm}\=\kill
\tikz[baseline=-1.2mm,overlay]
 \node [circle, fill=biruku, minimum width=2.5em]{\color{White}\large\textbf{Soal}}; \> Umur Andi lebih tua 2 tahun dari umur Kiki. Tahun depan umur Andi\, $\ds\frac{6}{5}$\, dari umur Kiki. \\
 \> Tentukan jumlah umur mereka sekarang.\\[1em]
 \> \textbf{\large Jawaban:}\\
 \> Misalkan, saat ini:
 \> umur Andi $=x$\\
 \> \> umur Kiki $=y$\\[1em]
 \> \textbf{Saat ini:} \> \textbf{Tahun depan:} \> Berdasarkan (*) dan (**) diperoleh\\[.5em]
 \> $x=y+2$\ \ldots\ldots\ (*) \> $x+1=\ds\frac{6}{5}(y+1)$ \> $5(y+2) = 6y+1$\\[.25em]
 \> \> $5x+5 = 6(y+1)$ \> $5y+10 = 6y+1$\\
 \> \> $5x+5 = 6y+6$ \> $6y-5y = 10-1$\\
 \> \> $5x = 6y+1$\ \ldots\ldots\ (**) \> $y=9$\quad sehingga\quad $x=9+2=11$\\[1em]
 \> Jadi jumlah umur mereka sekarang adalah $11+9=20$.
\end{tabbing}

\bigskip

Ini contoh teks/paragraf tanpa \emph{tab}.

\bigskip

\begin{tabbing}
\hspace{3em} \= \hspace{4cm} \=\kill
\> \textbf{\large Pinasti}\\[1em]
\> Aku dan kamu \>Telanjur ke tengah \\
\> adalah laut \> sampan melaju \\
\> harusnya biarkan \> mengarungi riwayat\\
\> sampan merapat \> riak gelombang \\
\> tapi ... \> tertolak arah\\
\> musimku bila \> ditampar ombak\\
\> airmu memercikku \> mungkin pun karam \\
\> \> ada cerita\\[1em]
\> \> {\small\em Sumbawa, Juni 2002}\\[2em]
\> {\small\textcopyright\,2016\, Adjie Gumarang} Pujakelana
\end{tabbing}

\end{document}

$\square$ Adjie Gumarang Pujakelana 2016

Tuesday, June 14, 2016

Gambar "Sederhana"

Mukadimah

Kemarin saya disodori gambar seperti tampak di samping ini. Menarik, bukan?
Kita diajak untuk menandai (dengan warna atau arsiran) suatu daerah yang dibatasi oleh dua ruas garis lurus dan satu busur seperempat lingkaran (kenapa?)
Kita dapat membuat gambar tersebut dengan menggunakan paket TikZ.
Sebagai pembanding, dapat pula Anda baca beberapa tulisan yang bertalian dengan hal ini, yaitu:


Menggambar Segitiga ABC

Kita ikuti "coretan" pada gambar di atas bahwa panjang $AB=2=BC$, sehingga kita dapat menempatkan titik $B$ pada koordinat $(0,0)$, titik $C$ pada $(2,0)$, dan titik $A$ pada $(0,2)$. Dengan demikian, secara ringkas, segitiga $ABC$ kita gambar oleh 
\draw[thick] 
(0,0) coordinate (B) node[below] {B} --
(2,0) coordinate (C) node[right] {C} --
(0,2) coordinate (A) node[above] {A} --cycle;
Hasilnya tampak pada Gambar 1 dalam dokumen terlampir di bawah ini. Jelas bahwa $\triangle{ABC}$ siku-siku dan sama kaki itu mengakibatkan besar sudut $\measuredangle{ACB}=\measuredangle{BAC}=45^\circ$.


Menggambar Busur BD

Pada suatu arah putar, kita akan menggambar busur $BD$, yang berjalan dari titik $B$ ke titik $D$ sejauh $\angle{DCB}$ dengan pusat di titik $C$. Mengacu pada sumbu $\overrightarrow{CX_+}$, titik $B$ diperoleh dari suatu titik pada $\overrightarrow{CX_+}$ dengan memutarnya sejauh $180^\circ$ dan titik $D$ diperoleh dari suatu titik pada $\overrightarrow{CX_+}$ dengan memutarnya sejauh $135^\circ$ (karena $\measuredangle{DCB}=\measuredangle{ACB}=45^\circ$). Dalam koordinat kutub dengan jari-jari $2\,\textrm{cm}$, kita gambar busur $BD$ oleh
\draw[thick] (B) arc(180:135:2cm) node[black,above,xshift=.1cm] {D};
dan sekaligus menamai titik ujungnya sebagai $D$. Hasilnya dapat dilihat pada Gambar 2 dalam dokumen terlampir.


Menggambar Busur BE

Dengan pemahaman seperti tadi, kita akan menggambar busur $BE$, yang berjalan dari titik $B$ ke titik $E$ sejauh $\angle{BAC}$ dengan pusat di titik $A$. Mengacu pada sumbu $\overrightarrow{AX_+}$, titik $B$ diperoleh dari suatu titik pada $\overrightarrow{AX_+}$ dengan memutarnya sejauh $270^\circ$ dan titik $E$ diperoleh dari suatu titik pada $\overrightarrow{AX_+}$ dengan memutarnya sejauh $315^\circ$ (karena $\measuredangle{BAE}=\measuredangle{BAC}=45^\circ$). Dalam koordinat kutub dengan jari-jari $2\,\textrm{cm}$, kita gambar busur $BE$ oleh
\draw[Crimson,thick] (B) arc(270:315:2cm) node[black,above,xshift=.1cm] {E};
dan sekaligus menamai titik ujungnya sebagai $E$. Hasilnya dapat dilihat pada Gambar 3 dalam dokumen terlampir.


Arsiran

Perhatikan daerah $ABD$ pada gambar di atas. Daerah itu dilingkupi oleh ruas garis $\overline{AB}$, busur $BD$, dan ruas garis $\overline{DA}$. Oleh karena itu perintah untuk menggambar busur $BD$ kita gunakan kembali tetapi dalam hal ini dalam perintah path, agar ruas garisnya tidak tercetak dua kali. (Untuk mengarsir kita harus memuat kepustakaan TikZ, patterns, di dalam mukadimah.) Perintah untuk mengarsir daerah $ABD$ adalah
\path[pattern=north east lines] (A)--(B) arc(180:135:2cm)--cycle;
Hasilnya tampak pada pada Gambar 4 dalam dokumen terlampir.

Daerah $CBE$ dilingkupi oleh ruas garis $\overline{CB}$, busur $BE$, dan ruas garis $\overline{EC}$. Oleh karena itu perintah untuk menggambar busur $BE$ kita gunakan kembali tetapi dalam perintah path. Perintah untuk mengarsir daerah $CBE$ adalah
\path[pattern=north east lines] (C)--(B) arc(270:315:2cm)--cycle;
Hasilnya tampak pada pada Gambar 5 dalam dokumen terlampir.


Tanda Sudut Siku-siku

Untuk menandai sudut siku-siku kita harus memuat kepustakaan TikZ, calc, angles, dan quotes di dalam mukadimah (preamble). Untuk hal ini saya gunakan makro (yang dicantumkan di dalam mukadimah) sebagai berikut.
\newcommand{\siku}[4][.15cm]% #1=size (optional), #2-#4 three points: \angle #2#3#4
{\coordinate (tempa) at ($(#3)!#1!(#2)$);
 \coordinate (tempb) at ($(#3)!#1!(#4)$);
 \coordinate (tempc) at ($(tempa)!0.5!(tempb)$);%midpoint
 \draw[darkgray] (tempa) -- ($(#3)!2!(tempc)$) -- (tempb);
}
Kemudian dalam penggunaanya (dalam arah berlawanan dengan arah putar jarum jam) dinyatakan oleh
\siku{C}{B}{A}


Penutup

Berikut ini pengkodean selengkapnya untuk membuat gambar tersebut dan hasilnya seperti tampak pada Gambar 6.
Demikian semoga tulisan ini bermanfaat.

\documentclass[10pt]{article}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage[svgnames,dvipsnames]{xcolor}
\usepackage[indonesian]{babel}
\usepackage{charter}
\usepackage{tikz}
\usetikzlibrary{patterns}
%-------------------------------------------
\usetikzlibrary{calc,angles,quotes}
\newcommand{\siku}[4][.15cm]% #1=size (optional), #2-#4 three points: \angle #2#3#4
{\coordinate (tempa) at ($(#3)!#1!(#2)$);
 \coordinate (tempb) at ($(#3)!#1!(#4)$);
 \coordinate (tempc) at ($(tempa)!0.5!(tempb)$);%midpoint
 \draw[darkgray] (tempa) -- ($(#3)!2!(tempc)$) -- (tempb);
}
%-------------------------------------------
\pagestyle{empty}

\begin{document}

\centering
\begin{tikzpicture}[scale=2]
\draw[thick] 
(0,0) coordinate (B) node[below] {B} --
(2,0) coordinate (C) node[right] {C} --
(0,2) coordinate (A) node[above] {A} --cycle;
\draw[thick] (B) arc(270:315:2cm) node[black,above,xshift=.1cm] {E};
\path[pattern=north east lines] (C)--(B) arc(270:315:2cm)--cycle;
\end{tikzpicture}
\captionof{figure}{}
\end{minipage}}%
    \hfill
\adjustbox{valign=t}{\begin{minipage}{0.45\textwidth}
\centering
\begin{tikzpicture}[scale=2]
\draw[thick] 
(0,0) coordinate (B) node[below] {B} --
(2,0) coordinate (C) node[right] {C} --
(0,2) coordinate (A) node[above] {A} --cycle;
\draw[thick] (B) arc(180:135:2cm) node[black,above,xshift=.1cm] {D};
\path[pattern=north east lines] (A)--(B) arc(180:135:2cm)--cycle;
\draw[thick] (B) arc(270:315:2cm) node[black,above,xshift=.1cm] {E};
\path[pattern=north east lines] (C)--(B) arc(270:315:2cm)--cycle;
\siku{C}{B}{A}
\end{tikzpicture}

\end{document}

$\square$ Adjie Gumarang Pujakelana 2016