Friday, May 29, 2015

Menyoroti (Highlighting) Teks

Tanpa bermaksud turut mempromosikannya, saya (terpaksa) akan menyebut nama produk. Ingat Stabilo, bukan?
Ini mengingatkan saya pada masa bersekolah dulu. Ketika saya membaca (buku catatan atau buku bacaan), sering kali saya gunakan alat itu untuk menggoresi bagian teks yang saya anggap penting agar tampak "warna pencerah" yang menandainya. Mungkin ini semacam mnemonik, yang dapat membantu saya dalam memahami atau menghafal materi yang saya baca. 
Apa kaitan ini dengan $\small\LaTeX$?

Tanpa menggunakan alat tersebut, kita dapat melakukan hal yang sama, bahkan jauh sebelum tulisan kita itu dicetak. Penampakkannya persis seperti goresan tangan (handwriting). Bahkan, bila perlu, kita dapat memunculkan "garis pinggir" (suatu hal yang tidak dapat dilakukan oleh alat itu) dari goresan itu dengan beragam warna pilihan yang kita kehendaki. Nah, agar lebih nyata, silakan perhatikan contoh dokumen berikut ini.




Bagaimana bila yang disorot itu dalam modus matematis? Masih bisa, hanya saja secara inline (tidak cocok untuk cara display). Lalu, bagaimana hal itu dilakukan?
Ini hasil kerja seorang "ahli" (expert), yang meramu dua paket: soul (sebagai dasar) dan tikz.

Secara baku, sebenarnya kita cukup menyediakan dua paket
\usepackage{color}
\usepackage{soul}
kemudian kita gunakan perintah \hl{...}, misalnya
\hl{``NU, Muhammadiyah, dan semacamnya itu \emph{wasilah} atau \emph{ghoyyah}?''}
dengan goresan warna latar dasar, yaitu kuning.

Jika diinginkan, kita pun dapat memanfaatkan paket xcolor (dengan opsi, misalnya, svgnames) untuk penggunaan warna latar lainnya, dengan memberikan perintah baru di dalam preamble, misalnya
\newcommand{\hlc}[2][yellow]{ {\sethlcolor{#1} \hl{#2}} }
kemudian kita gunakan
\hlc[Salmon]{``NU, Muhammadiyah, dan semacamnya itu \emph{wasilah} atau \emph{ghoyyah}?''}

Berbeda dengan itu, seorang anggota forum, dengan nama pengguna Antal S-Z, menunjukkan lekukan (wiggly) secara "alami" dan tampak terpisah pada hasil penggoresan dalam dua baris (perhatikan bagian bawah dalam contoh dokumen di atas).
Paket dan makro yang dibuatnya adalah sebagai berikut.
\usepackage{soul}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{decorations.pathmorphing}

\makeatletter

\newcommand{\defhighlighter}[3][]{%
  \tikzset{every highlighter/.style={color=#2, fill opacity=#3, #1}}%
}

\defhighlighter{yellow}{.5}

\newcommand{\highlight@DoHighlight}{
  \fill [ decoration = {random steps, amplitude=1pt, segment length=15pt}
        , outer sep = -15pt, inner sep = 0pt, decorate
        , every highlighter, this highlighter ]
        ($(begin highlight)+(0,8pt)$) rectangle ($(end highlight)+(0,-3pt)$) ;
}

\newcommand{\highlight@BeginHighlight}{
  \coordinate (begin highlight) at (0,0) ;
}

\newcommand{\highlight@EndHighlight}{
  \coordinate (end highlight) at (0,0) ;
}

\newdimen\highlight@previous
\newdimen\highlight@current

\DeclareRobustCommand*\highlight[1][]{%
  \tikzset{this highlighter/.style={#1}}%
  \SOUL@setup
  %
  \def\SOUL@preamble{%
    \begin{tikzpicture}[overlay, remember picture]
      \highlight@BeginHighlight
      \highlight@EndHighlight
    \end{tikzpicture}%
  }%
  %
  \def\SOUL@postamble{%
    \begin{tikzpicture}[overlay, remember picture]
      \highlight@EndHighlight
      \highlight@DoHighlight
    \end{tikzpicture}%
  }%
  %
  \def\SOUL@everyhyphen{%
    \discretionary{%
      \SOUL@setkern\SOUL@hyphkern
      \SOUL@sethyphenchar
      \tikz[overlay, remember picture] \highlight@EndHighlight ;%
    }{%
    }{%
      \SOUL@setkern\SOUL@charkern
    }%
  }%
  %
  \def\SOUL@everyexhyphen##1{%
    \SOUL@setkern\SOUL@hyphkern
    \hbox{##1}%
    \discretionary{%
      \tikz[overlay, remember picture] \highlight@EndHighlight ;%
    }{%
    }{%
      \SOUL@setkern\SOUL@charkern
    }%
  }%
  %
  \def\SOUL@everysyllable{%
    \begin{tikzpicture}[overlay, remember picture]
      \path let \p0 = (begin highlight), \p1 = (0,0) in \pgfextra
        \global\highlight@previous=\y0
        \global\highlight@current =\y1
      \endpgfextra (0,0) ;
      \ifdim\highlight@current < \highlight@previous
        \highlight@DoHighlight
        \highlight@BeginHighlight
      \fi
    \end{tikzpicture}%
    \the\SOUL@syllable
    \tikz[overlay, remember picture] \highlight@EndHighlight ;%
  }%
  \SOUL@
}
\makeatother
Kemudian saya gunakan (untuk bagian teks yang saya goresi), dengan menambahkan paket xcolor dalam opsi svgnames untuk pemilihan warna, sebagai berikut.
\highlight[Salmon]{Ahmad Mustofa Bisri} \\
\highlight{``PPP, PDI, dan Golkar itu \emph{wasilah} atau {\em ghoyyah}?''} \\ 
\highlight{``NU, Muhammadiyah, dan semacamnya itu \emph{wasilah} atau \emph{ghoyyah}?''} \\
\highlight[draw=Dandelion]{``Islam, Katholik, Hindu, dan semacamnya itu \emph{wasilah} atau {\em ghoyyah} (tujuan)?''}\\ 
\highlight[SeaGreen, draw=CadetBlue]{\emph{Ghoyyah} itu artinya tujuan akhir. \emph{Wasilah} itu artinya sarana menuju.}\\
\highlight[Salmon, draw=IndianRed]{``Agama Islam adalah \emph{wasilah}.''} \\
\highlight[Salmon]{``Karena \emph{ghoyyah}-nya (tujuannya) adalah Allah.''} \\
\highlight[SeaGreen]{awal mula kesalahan beragama adalah menganggap agama Islam seperti partai politik. Ditambah salah menetapkan apa yang menjadi \emph{wasilah} dan apa yang menjadi \emph{ghoyyah} dalam agama Islam.}
Opsi draw kita nyatakan bila ingin menampakkan "garis pinggir pada lekukan goresan itu.

Demikian semoga bermanfaat. Dokumen di atas saya susun (compile) dalam jaringan melalui Online LaTeX Editor ShareLaTeX.

Adjie Gumarang Pujakelana 2015

Thursday, May 28, 2015

Membuat Diagram Catur dari Forsyth–Edwards Notation (FEN)

Di dalam blog ini telah beberapa kali diterbitkan tulisan tentang catur, yaitu
  1. Menulis Naskah Catur dengan $\small\LaTeX$
  2. Skak
  3. Diagram dan Teks Terpisah dalam Kolom Berbeda
  4. Notasi Permainan Catur
  5. Teori Bilangan dalam Round-robin
  6. Meletakkan Lambang (Simbol) pada Diagram Catur
  7. Presentasi Materi Catur?
  8. Membuat Kamus atau Daftar Istilah?
  9. Animasi Permainan Catur dengan Xskak
  10. Laporan Berkala (Newsletter)
Tulisan kali ini saya fokuskan pada pembuatan diagram catur dengan memanfaatkan kode  Forsyth–Edwards Notation (FEN). Silakan perhatikan contoh dokumen berikut ini.





Untuk hal ini saya gunakan paket chessboard dan xskak, kedua-duanya dari Ul­rike Fis­cher. Unsur pokok yang dimuat dalam preamble adalah 
\usepackage{chessboard}
\usepackage{xskak}
dan untuk "memperhalus papan" saya muat juga
\usepackage[LSBC4,T1]{fontenc}
\setboardfontencoding{LSBC4}
Sekarang kita akan memasuki batang tubuh (body) dokumen. Lebih dulu saya beritahukan bahwa contoh dokumen di atas bersumber dari buku Chess Tactics Jilid 1 karya Igor Shmirin. Saya susun posisi buah catur, sebagaimana tersaji dalam diagram pada buku tersebut, dengan menggunakan DiagTransfer. Misalnya, untuk diagram No.1, saya susun dalam Diagtransfer seperti ini
Kemudian klik menu Edit dan pilih "Copy FEN to clipboard".
Selanjutnya saya tempelkan (paste) hasil langkah terakhir tadi ke dalam pengkodean $\small\LaTeX$ sebagai berikut.
\newchessgame[id=...,
  setfen={tempel di sini, tanpa tanda kurung},
  moveid=...
]
\chessboard[...]
Opsi id digunakan bila kita ingin menandai identitas suatu permainan (game), sehingga "datanya" dapat kita gunakan pada pengkodean berikutnya yang berkaitan dengan game tersebut.
Opsi moveid diisi 1w, bila giliran pertama melangkah dilakukan oleh Putih dan diisi 1bbila giliran pertama melangkah dilakukan oleh Hitam.
Opsi untuk papan pada perintah \chessboard saya isi dengan papan berukuran kecil smallboard dan petunjuk giliran pertama melangkah berbentuk segitiga moverstyle=triangle (secara bawaan berbentuk persegi).
Berikut ini pengkodean untuk diagram No. 1.
\newchessgame[id=A1,
  setfen=6k1/5p2/8/4p3/pp1qPn2/3P4/PP2B3/2Q2K2 w - - 0 1,
  moveid=1b
]
\chessboard[smallboard,moverstyle=triangle]

Demikian semoga bermanfaat. Dokumen di atas saya susun (compile) dalam jaringan melalui Online LaTeX Editor ShareLaTeX.

Adjie Gumarang Pujakelana 2015

Tuesday, May 26, 2015

Teknis Matematis #6 Persamaan dan Penomorannya pada Align

Setelah mengulas tentang cara memberikan keterangan (anotasi) dalam environment align dari paket amsmath, kali ini akan dilanjutkan dengan teknis pengaturan "jarak" antara persamaan dan penomorannya pada suatu baris.
Agar kedua contoh yang ditunjukkan di bawah ini tampak jelas berbeda, saya gunakan opsi fleqn pada baris perintah kelas dokumen. Gunanya, agar setiap persamaan yang ditulis menjajar ke arah margin kiri halaman. Dalam hal ini saya gunakan kelas dokumen exam.
\documentclass[10pt,a4paper,fleqn]{exam}
Perhatikan persamaan-persamaan bernomor pada contoh dokumen pertama berikut ini.



Ketika persamaan-persamaan yang ditulis kita jajarkan ke kiri, penomoran bawaan (default) dari amsmath semacam itu mungkin dapat dianggap kurang bagus, karena jaraknya terlalu renggang.

Meskipun demikian kita masih dapat mengaturnya. Sekarang perhatikan perubahannya pada contoh dokumen kedua berikut ini.




Saya telah menggeser penomorannya sejauh $\small 7\, \text{cm}$ ke arah kiri dengan menyertakan perintah, paket, dan makro sebagai berikut.
\newdimen\alignnumbersep
\setlength{\alignnumbersep}{7cm}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\math@cr@@@align@measure}
     {\df@tag\fi\fi}
     {\df@tag\fi\fi\kern\alignnumbersep}
     {}{}
\patchcmd{\math@cr@@@align}
    {\make@display@tag}
    {\make@display@tag\kern\alignnumbersep}
    {}{}
\makeatother
Kita dapat mengatur jarak antara persamaan dan nomornya pada baris
\setlength{\alignnumbersep}{...}

Demikian semoga bermanfaat. Dokumen di atas saya susun (compile) dalam jaringan melalui Online LaTeX Editor ShareLaTeX.

Adjie Gumarang Pujakelana 2015

Sunday, May 24, 2015

Teknis Matematis #5 Tag pada Align

Pada tulisan terdahulu sudah diulas tentang cara memberikan keterangan (anotasi) pada bagian yang kita tulis. Tulisan ini pun berisi tentang hal yang sama, tetapi dikhususkan pada environment align dari paket amsmath.

Perhatikan dokumen berikut ini.



Di dalam environment align kita dapat memberikan keterangan (anotasi) pada tiap baris persamaan yang kita tulis. Ini dilakukan oleh perintah \tag. Perintah ini sebenarnya "mengambil alih" penomoran yang telah ditetapkan secara asal (default). Oleh karena itu bila keterangan tersebut tidak ingin termuat dalam tanda kurung, maka perintah tag harus bertanda "bintang".
Pada contoh dokumen di atas, saya juga tidak menomori baris-baris persamaan yang saya tulis, maka saya bubuhkan tanda "bintang" pada environment align itu.
\begin{align*}
... &= ... \\
... &= ... \tag*{...}\\
...
\end{align*}
Perintah tag mencakup tulisan dalam modus teks, oleh karena itu untuk tulisan dalam modus matematis harus diapit oleh tanda dollar $\small\$...\$$ atau kurung siku $\small\textbf{\[...\]}$.

Environment align yang digunakan dalam dokumen di atas adalah sebagai berikut.
\begin{align*}
^5\log 4+^5\log 2x-3.^5\log 4 &= 0\\
^5\log 4+^5\log 2x-^5\log 4^3 &= 0\tag*{mengingat $n\cdot ^a\log b=^a\log b^n$}\\
^5\log \frac{\cancel{4}.2x}{4^{\cancelto{2}{3}}} &= 0\tag*{mengingat $^a\log b+^a\log c=^a\log bc$ dan $\ds ^a\log p-^a\log q=^a\log\frac{p}{q}$}\\
^5\log \frac{2x}{4^2} &= 0 \tag*{hasil bagi oleh $4$}
\end{align*}
maka
\begin{align*}
\frac{2x}{4^2} &= 1 \tag*{karena $0=^5\log1$}\\
2x &= 4^2 \tag*{hasil kali kedua ruas oleh $4^2$}\\
2x &= 16\\
x &= 8 \tag*{hasil bagi kedua ruas oleh $2$}
\end{align*}
O ya, saya gunakan pula paket cancel dalam penyederhanaannya. Tentang hal ini dapat Anda pelajari di sini.

Demikian semoga bermanfaat. Dokumen di atas saya susun (compile) dalam jaringan melalui Online LaTeX Editor ShareLaTeX.

Adjie Gumarang Pujakelana 2015

Saturday, May 23, 2015

Teknis Matematis #4 Eliminasi

Seperti telah diketahui, penulisan dalam modus matematis dapat dilakukan secara inline dengan menggunakan tanda dollar $\small\$...\$$ atau secara display dengan menggunakan backslash dan kurung siku $\small\textbf{\[...\]}$.
Yang disebut terakhir dapat saya gunakan untuk menunjukkan proses eliminasi dalam suatu algoritme. Ini salah satu pilihan yang saya anggap lebih baik bila dibandingkan, misalnya, dengan menggunakan environment tabular.
Perhatikan dokumen berikut ini.



Ketika melakukan pembuktian terhadap Dalil Stewart, saya harus menunjukkan proses eliminasi terhadap nilai $\small\cos\alpha$. Yang saya lakukan adalah menggunakan modus matematis secara display yang memuat pecahan, kemudian pada bagian pembilang dan penyebutnya saya gunakan environment aligned untuk "meluruskan" tanda "$\small=$".
\[
    \frac
    {%bagian pembilang
        \!\begin{aligned} 
        ...
        \end{aligned}
    }
    {%bagian penyebut
        \!\begin{aligned}
        ...
        \end{aligned}
    }
    \ + % atau pengurangan
\]
Tanda $\text{\!}$ berguna untuk menyusutkan ruang kosong yang ditimbulkan oleh penggunaan environment aligned. Penyusutan oleh kode $\text{\!}$ ini sejauh $\small-\frac{3}{8}$ quad. Satu quad setara dengan ukuran jenis huruf (font) yang digunakan saat itu. Misalnya, jika Anda menggunakan ukuran jenis huruf 11pt maka ruang yang tersedia untuk perintah \quad juga 11pt (tentu saja secara mendatar).

Contoh proses eliminasi dalam dokumen di atas ditunjukkan oleh
\[
    \frac
    {
        \!\begin{aligned} 
        c^2n &= m^2n + d^2n - 2dmn\cos\alpha\\ 
        b^2m &= n^2m + d^2m + 2dmn\cos\alpha 
        \end{aligned}
    }
    {
        \!\begin{aligned}
        b^2m+c^2n &= m^2n+n^2m+d^2(m+n) \\
        &= (m+n)(mn)+d^2(m+n) \\
        &= (m+n)\left(d^2+mn\right)\\
        &= a\left(d^2+mn\right)\hspace{2.5cm}\blacksquare
        \end{aligned}
    }
    \ +
\]
Demikian semoga bermanfaat. Dokumen di atas saya susun (compile) dalam jaringan melalui Online LaTeX Editor ShareLaTeX.

Adjie Gumarang Pujakelana 2015

Thursday, May 21, 2015

Menulis dalam Trigonometri

Fungsi-fungsi trigonometri ditulis sebagai berikut:
$\sin x$
$\cos x$
$\tan x$
$\csc x$
$\sec x$
$\cot x$
Hasilnya:
\begin{align}
\sin x\\
\cos x\\
\tan x\\
\csc x\\
\sec x\\
\cot x\\
\end{align}

Tanda derajat untuk sudut ditulis oleh kode \circ sebagai pangkat.
$\sin x^\circ$
Hasilnya: 
$\sin x^\circ$

Bilangan $\pi$ (untuk sudut dalam radian) ditulis oleh kode \pi.
$\sin\pi$
$\cos\frac{\pi}{3}$
Hasilnya: 
$\sin\pi$
$\cos\frac{\pi}{3}$

Sekarang perhatikan contoh dokumen berikut ini.



Pada bagian Pertanyaan tertulis
$\cos 3x + \cos x = 0$
Untuk algoritme yang baik, pada bagian Jawaban saya gunakan bentuk equation
\[\cos 3x = 4 \cos^3x - 3 \cos x\]
dan environment align, dari paket amsmath, tanpa penomoran (dengan tanda "bintang")
\begin{align*}
\cos 3x + \cos x &= 0\\
4 \cos^3x - 3 \cos x + \cos x &= 0\\
4 \cos^3x - 2 \cos x &= 0\\
2 \cos^3x - \cos x &= 0\\
\cos x\left(2 \cos^2x -1\right) &= 0\\
\cos x=0\ &\text{atau}\ 2 \cos^2x -1= 0\\
\cos x=0\ &\text{atau}\ 2 \cos^2x =1\\
\cos x=0\ &\text{atau}\ \cos^2x = \frac{1}{2}\\
\cos x=0\ &\text{atau}\ \cos x = \pm\frac{1}{2}\sqrt{2}
\end{align*}
Selain itu, pengaturan tulisan dalam dua bilah sisi itu disusun oleh environment minipage dan paket adjustbox.
\adjustbox{valign=t}{\begin{minipage}[t]{...\textwidth}
...bilah kiri (modus matematisnya seperti tertulis di atas)
\end{minipage}}\hfill
%
\adjustbox{valign=t}{\begin{minipage}[t]{...\textwidth}
...bilah kanan (grafik oleh paket pgfplots)
\end{minipage}}\hfill
Berikut ini pengkodean selanjutnya dalam dokumen tersebut.
\adjustbox{valign=t}{\begin{minipage}[t]{0.23\textwidth}
Dalam batasan $0\le x\le 2\pi$,
\end{minipage}}\hfill
%
\adjustbox{valign=t}{\begin{minipage}[t]{0.67\textwidth}
untuk $\cos x=0$ dipenuhi oleh $\ds x=\frac{\pi}{2}$ dan $\ds x=\frac{3\pi}{2}$,\\[.5em]
untuk $\ds\cos x=\frac{1}{2}\sqrt{2}$ dipenuhi oleh $\ds x=\frac{\pi}{4}$ dan $\ds x=\frac{7\pi}{4}$,\\[.5em]
untuk $\ds\cos x=-\frac{1}{2}\sqrt{2}$ dipenuhi oleh $\ds x=\frac{3\pi}{4}$ dan $\ds x=\frac{5\pi}{4}$.
\end{minipage}}\hfill

\bigskip
Secara umum, nilai $x$ yang memenuhi adalah $\ds x=\frac{(2n+1)\pi}{4}$ dengan $n$ bilangan bulat.
Perintah \ds adalah penyingkatan dari perintah \displaystyle, ditetapkan dalam preamble, agar modus matematis tertulis "normal".
\let\ds\displaystyle
Untuk mempelajari cara menggambar kurva dengan paket pgfplots, Anda dapat membuka tulisan ini.

Demikian dulu untuk kali ini. Dokumen tersebut saya susun (compile) dalam jaringan melalui Online LaTeX Editor ShareLaTeX
Semoga bermanfaat. 

Adjie Gumarang Pujakelana 2015


Sudut antara Dua Bidang

Dimensi Tiga (Solid Geometry) merupakan materi Matematika yang dipelajari di sekolah menengah atas. Secara umum, saya anggap, materi ini cukup rumit bagi siswa maupun (bagi sebagian) guru. Di dalamnya terdapat bahasan mengenai sudut antara dua bidang, yang dalam penerapannya berkaitan dengan suatu bangun ruang.
Nah, kupasan kita kali ini adalah tentang perhitungan besar sudut antara dua bidang dalam kubus. Sumber soal berasal dari Buku Matematika Siswa SMA/MA/SMK/MAK Kelas X yang saya temukan di sini
Pada dasarnya, sudut antara dua bidang ditentukan dengan cara mencari dua garis yang masing-masing berasal dari tiap bidang itu dan keduanya berpotongan di satu titik persekutuan dari kedua bidang tadi.
Dalam hal ini perhitungannya melibatkan segitiga siku-siku dan penggunaan Dalil Pythagoras.

Silakan lihat jawaban untuk soal ini dalam dokumen terlampir pada bagian bawah dari tulisan ini. Gambar yang kita ulas mengacu pada gambar 2 pada bagian Jawaban dalam dokumen tersebut.

Setelah beberapa kali saya menerapkan paket tkz-euclide, saya merasakan kemudahan dalam penggunaanya; meskipun dalam hal tertentu, misalnya meletakkan ukuran dalam kontruksi gambar dan penamaannya, saya rasa lebih nyaman dengan menggunakan perintah dari paket tikz.
Dalam hal penggunaan warna, saya terbiasa menggunakan paket xcolor dengan opsi svgnames dan dvipsnames; kadang-kadang menggunakan warna tertentu dengan lebih dulu menetapkan kode warnanya.
Dalam paket tkz-euclide, kita dapat menetapkan suatu kurva (tanpa harus menggambarnya) kemudian menggunakannya untuk mendapatkan perpotongannya dengan kurva lain. Mudah pula dalam menggambar busur, menandai ruas garis yang sama panjang, menandai sudut (termasuk sudut siku-siku dalam kontruksi perspektif) dan menamainya, dan lain-lain.

Baiklah, kita mulai menggambar. Kita awali dengan menggambar kubus $\small ABCD.EFGH$. Saya tetapkan dulu empat koordinat yang akan membentuk sisi depan, $\small ABFE$, lalu menggambarnya.
\begin{tikzpicture}[scale=1.75,thick]
%-----------------------------menggambar kubus ABCD.EFGH
\tkzDefPoints{0/0/A,2.5/0/B,0/2.5/E,2.5/2.5/F}
\tkzDrawPolygon[](A,B,F,E)
...
\end{tikzpicture}
Berikutnya saya tetapkan titik $\small D$. Agar diperoleh koordinat yang tepat, untuk ini saya meminta bantuan pada GeoGebra. Setelah itu saya buat rusuk $\small AD$ dalam bentuk garis putus-putus (dashed).
%menetapkan titik D dan menggambar sisi AD
\tkzDefPoints{1.33/0.75/D} %ditetapkan dng Geogebra
\tkzDrawSegment[dashed,color=gray](A,D)
Selanjutnya saya berencana menetapkan titik $\small C$. Titik $\small C$ adalah perpotongan dari garis yang melalui $\small D$ sejajar $\small\overline{AB}$ dan garis yang melalui $\small B$ sejajar $\small\overline{AD}$, maka
%menetapkan titik C dan menggambar sisi BC dan CD
\tkzDefLine[parallel=through D](A,B) \tkzGetPoint{I1}
\tkzDefLine[parallel=through B](A,D) \tkzGetPoint{I2}
\tkzInterLL(D,I1)(B,I2) \tkzGetPoint{C}
\tkzDrawSegment[dashed,color=gray](C,D) \tkzDrawSegment(B,C)
sekaligus saya buat sisi $\small\overline{CD}$ dan $\small\overline{BC}$.
Kemudian saya beranjak untuk menetapkan titik $\small H$, yang merupakan perpotongan dari garis yang melalui $\small E$ sejajar $\small\overline{AD}$ dan garis yang melalui $\small D$ sejajar $\small\overline{AE}$, maka
%menetapkan titik H dan menggambar sisi HD dan EH
\tkzDefLine[parallel=through E](A,D) \tkzGetPoint{I3}
\tkzDefLine[parallel=through D](A,E) \tkzGetPoint{I4}
\tkzInterLL(E,I3)(D,I4) \tkzGetPoint{H}
\tkzDrawSegment[dashed,color=gray](H,D) \tkzDrawSegment(E,H)
sekaligus saya buat sisi $\small\overline{HD}$ dan $\small\overline{EH}$.
Berikutnya saya tetapkan titik $\small G$, yang merupakan perpotongan dari garis yang melalui $\small F$ sejajar $\small\overline{EH}$ dan garis yang melalui $\small H$ sejajar $\small\overline{EF}$, maka
%menetapkan titik G dan menggambar sisi GF, GH, dan GC
\tkzDefLine[parallel=through F](E,H) \tkzGetPoint{I5}
\tkzDefLine[parallel=through H](E,F) \tkzGetPoint{I6}
\tkzInterLL(F,I5)(H,I6) \tkzGetPoint{G}
\tkzDrawSegments(G,F G,H G,C)
sekaligus saya buat sisi $\small\overline{GF}$, $\small\overline{GH}$, dan $\small\overline{GC}$.
Agar kedudukan titik-titik itu terlihat, saya gambarkan dulu noktahnya seukuran $\small0,15$ cm.
%menggambar noktah titik A, B, C, D, E, F, G, H
\tkzDrawPoints[size=.15cm](A,B,C,D,E,F,G,H)
Sekarang saya akan menggambar segienam $\small PQRSTU$. Dalam sumber soal di atas memang tidak disebutkan bahwa keenam titik itu sebagai titik-titik tengah dari rusuk-rusuk kubus yang bersesuaian, tetapi memang pula harus demikian agar soal tersebut diselesaikan.
%----------------------------menggambar segienam PQRSTU
%menetapkan titik P, Q, R, S, T, U
\tkzDefMidPoint(G,H) \tkzGetPoint{P}
\tkzDefMidPoint(G,C) \tkzGetPoint{Q}
\tkzDefMidPoint(B,C) \tkzGetPoint{R}
\tkzDefMidPoint(A,B) \tkzGetPoint{S}
\tkzDefMidPoint(A,E) \tkzGetPoint{T}
\tkzDefMidPoint(E,H) \tkzGetPoint{U}
Lalu saya gambar noktahnya seukuran $\small0,15$ cm.
%menggambar noktah titik P, Q, R, S, T, U
\tkzDrawPoints[size=.15cm](P,Q,R,S,T,U)
Sisi-sisi dalam gambar segienam $\small PQRSTU$ dibedakan, ada yang utuh dan ada yang putus-putus.
%menggambar sisi-sisi segienam 
\tkzDrawSegments[dashed,color=gray](P,Q R,S T,U)
\tkzDrawSegments(Q,R S,T U,P)
 Kemudian daerah segienam itu saya isi dengan warna Dandelion dari xcolor dalam tingkat ketebalan warna 50%.
\tkzFillPolygon[fill=Dandelion,opacity=.5](P,Q,R,S,T,U)
Untuk rusuk-rusuk kubus yang terbagi dua oleh titik tengahnya, saya tandai tiap bagian yang sama panjang itu.
%menandai ruas-ruas garis yang sama panjang
\tkzMarkSegments[mark=|,color=gray](A,S B,S B,R C,R C,Q G,Q G,P H,P E,U H,U E,T A,T)
Sekarang saya bubuhkan nama dari semua titik dan menempatkannya pada letak yang terlihat baik.
%menamai tiap titik
\tkzLabelPoints[below](A,S,B)
\tkzLabelPoints[above](H,P,G)
\tkzLabelPoints[left](T,E)
\tkzLabelPoints[left,yshift=.15cm](U,D)
\tkzLabelPoints[right](C,Q)
\tkzLabelPoints[right,yshift=-.15cm](F,R)
Untuk perhitungan, saya tetapkan titik $\small K$ dan $\small L$, menggambar $\small\overline{KL}$, membuat noktahnya, dan menamai titiknya.
\tkzDrawSegment[dashed,color=gray](B,D)
\tkzDrawSegment[](H,F)
\tkzInterLL(B,D)(S,R) \tkzGetPoint{L} 
\tkzInterLL(H,F)(U,P) \tkzGetPoint{K} 
\tkzDrawSegment[dashed,color=gray](K,L)
\tkzDrawPoints[size=.15cm](K,L)
\tkzLabelPoints[above,xshift=.15cm](L)
\tkzLabelPoints[below,xshift=-.15cm](K)
Berikutnya sama menetapkan dua titik tengah $\small M$ dan $\small N$, menggambar noktahnya, menghubungkannya, dan menamai titiknya.
\tkzDefMidPoint(A,D) \tkzGetPoint{M}
\tkzDefMidPoint(D,C) \tkzGetPoint{N}
\tkzDrawPoints[size=.15cm](M,N)
\tkzDrawSegment[dashed,color=gray](M,N)
\tkzLabelPoints[left,yshift=.15cm](M)
\tkzLabelPoints[above,xshift=.2cm](N)
Selanjutnya saya tetapkan proyeksi titik $\small K$ pada bidang alas, sebagai $\small O$, lalu menggambar noktahnya, menamai titiknya, dan menghubungkannya dengan $\small K$.
\tkzDefLine[parallel=through K](D,H) \tkzGetPoint{I7}
\tkzInterLL(K,I7)(B,D) \tkzGetPoint{O}
\tkzDrawPoints[size=.15cm](O)\tkzLabelPoints[below](O)
\tkzDrawSegment[dashed,color=gray](K,O)
Terakhir, saya menandai sudut siku-siku di $\small O$.
\tkzMarkRightAngle[color=gray!70](L,O,K)
Hasil dari pengkodean tersebut dapat Anda lihat dalam gambar pada bagian Jawaban dalam dokumen di bawah ini. Dokumen tersebut saya susun (compile) dalam jaringan melalui Online LaTeX Editor ShareLaTeX
Demikian semoga bermanfaat. 

Adjie Gumarang Pujakelana 2015




Wednesday, May 20, 2015

Lingkaran-Dalam Segitiga Sama Sisi

Kitab The Contest Problem Book, Problems from the Annual High School Contests of the Mathematical Association of America karya Charles T. Salkind memberi saya soal pada halaman 35 sebagai berikut.
Kembali kita akan berfokus kepada gambar. Silakan dilihat dokumen terlampir di bawah tulisan ini. Saya akan mengulas gambar 1 pada bagian Pertanyaan. Untuk gambar tersebut saya gunakan paket tkz-euclide.

Mula-mula saya tetapkan dua koordinat $\small A$ dan $\small B$ sejarak 5 satuan, kemudian sekalian menetapkan titik tengahnya yang saya sebut sebagai $\small O$. Kemudian saya gambarkan ruas garis $\small\overline{AB}$ dengan memanjangkan kedua bagian ujungnya.
\begin{tikzpicture}[scale=1]
\tkzDefPoints{0/0/A,5/0/B,2.5/0/O}
\tkzDrawSegment[add=.1 and .11](A,B)
...
\end{tikzpicture}
Berikutnya saya akan membuat sudut $\small60^\circ$ di $\small O$ yang selanjutnya dinamai sebagai $\small D$. Untuk ini saya harus tetapkan titik baru yang akan membentuk sinar $\small\overrightarrow{DA}$. Saya sebut titik itu sebagai $\small C$ yang selanjutnya dinamai sebagai $\small A$. Lalu saya gambar garis $\small\overline{OC}$ dengan memanjangkan dari bagian ujung titik $\small C$ yang mendekati ukuran seperti gambar pada sumber soal.
\tkzDrawPoints(O)
\tkzLabelPoint[below](O){$D$}
\tkzDefPointBy[rotation= center O angle (-60)](A)
\tkzGetPoint{C}\tkzDrawPoints(C)
\tkzLabelPoint[left](C){$A$}
\tkzDrawLine[add=0 and .6](O,C)
Langkah yang sama saya lakukan untuk membentuk sinar $\small\overrightarrow{DB}$. Saya sebut titik itu sebagai $\small D$ yang selanjutnya dinamai sebagai $\small B$. Lalu saya gambar garis $\small\overline{OD}$ dengan memanjangkan dari bagian ujung titik $\small D$ yang bersesuaian.
\tkzDefPointBy[rotation= center O angle (-60)](C)
\tkzGetPoint{D}\tkzDrawPoints(D)
\tkzLabelPoint[right](D){$B$}
\tkzDrawLine[add=0 and .6](O,D)
Saya sudah memiliki dua titik yang dinamai $\small A$ dan $\small B$. Selanjutnya saya akan menetapkan $\small\triangle ABC$ sama sisi. Titik ketiga yang dinamai $\small C$ itu saya sebut sebagai $\small F$.
\tkzDefTriangle[equilateral](C,D)\tkzGetPoint{F}
\tkzDrawPoints(F)
\tkzLabelPoint[above](F){$C$}
Sekarang saya dapat menggambar lingkarannya. Lebih dulu saya tetapkan titik pusat $\small\triangle ABC$ sebagai $\small O_1$.
\tkzCentroid(C,D,F)    \tkzGetPoint{O1}
%Lingkaran berjari-jari O_1C
\tkzDrawCircle[varying radius,name path=a](O1,C)
Berikutnya akan saya gambar garis yang sejajar $\small\overline{AB}$ dan melalui $\small C$. Untuk ini saya memerlukan satu titik baru, saya sebut saja sebagai $\small G$.
\tkzDefLine[parallel=through F](A,B) \tkzGetPoint{G}
Belum saya gambar garisnya, karena saya ingin ukurannya sama panjang dengan $\small\overline{AB}$. Saya perlu garis sejajar $\small\overline{DC}$ yang melalui $\small A$. Dari $\small A$ saya memerlukan satu titik baru, saya sebut saja sebagai $\small H$. Dengan demikian sekarang saya dapat menetapkan perpotongan garis yang melalui $\small C$ dan yang melalui $\small A$ tadi, titik potongnya itu saya sebut sebagai $\small I$.
\tkzDefLine[parallel=through A](O,F) \tkzGetPoint{H}
\tkzInterLL(A,H)(F,G) \tkzGetPoint{I}
Langkah yang sama saya lakukan untuk batas kanannya dengan menarik garis dari titik $\small B$.
\tkzDefLine[parallel=through B](O,F) \tkzGetPoint{J}
\tkzInterLL(B,J)(F,G) \tkzGetPoint{K}
Nah, barulah saya dapat menggambar garis yang sejajar dan sama panjang dengan $\small\overline{AB}$ dan melalui $\small C$.
\tkzDrawSegment[add=.1 and .11](I,K)
Sekarang saya memikirkan cara untuk membuat ruas garis pendek yang ditarik dari masing-masing ujung $\small\overrightarrow{DA}$ dan $\small\overrightarrow{DB}$. Saya perlu tetapkan satu koordinat baru. Agar mudah dan tepat, dalam hal ini saya meminta bantuan pada Geogebra. Saya masih masih harus mengatur nilai absis dan ordinat titik ini agar tampilannya sesuai dengan gambar pada sumber soal. Saya sebut koordinat ini sebagai $\small E$. Kemudian saya tetapkan perpotongan-perpotongan antargaris yang diperlukan, barulah menggambar kedua ruas garis pendek tersebut.
\tkzDefPoints{2.46/3.457/E}
\tkzDefLine[parallel=through E](A,B) \tkzGetPoint{L}
\tkzInterLL(A,H)(E,L) \tkzGetPoint{M} 
\tkzInterLL(B,J)(E,L) \tkzGetPoint{N} 

\tkzInterLL(M,N)(O,C) \tkzGetPoint{P} 
\tkzInterLL(M,N)(O,D) \tkzGetPoint{Q} 
\tkzDrawSegment[add=0 and 1](P,M) 
\tkzDrawSegment[add=0 and 1](Q,N)
Berikutnya saya akan menunjukan ukuran-ukuran yang diterakan dalam gambar pada sumber soal. Ternyata, letak di tengah ruas garis pada tkz-euclide diatur oleh opsi anchor=center, padahal dalam tikz digunakan opsi midway. Kembali saya perlu bantuan dari Geogebra untuk menetapkan dua koordinat.
\tkzDrawSegment[stealth-stealth](B,N)
\tkzLabelSegment[auto,fill=White,anchor=center](B,N){$\ds\frac{1}{2}''$}

\tkzDefPoints{5/5/R}\tkzDefPoints{5/3.9/S}
\tkzDrawSegment[-stealth](R,K)
\tkzLabelPoint[anchor=center](S){$x$}
Sekarang saya akan menandai dan menamai sudut $\small60^\circ$. Karena tanda sudut ini menggunakan panah, maka saya gunakan opsi arrows.
\tkzMarkAngle[size=0.9cm,arrows=-stealth](Q,O,P)
\tkzLabelAngle[pos=0.65](Q,O,P){$60^\circ$}
Terakhir, saya akan menunjukan ukuran diameter lingkaran. Untuk ini saya tetapkan garis sejajar $\small\overline{DB}$ dan melalui pusat lingkaran. Lalu saya tetapkan kedua titik potongnya pada lingkaran, menghubungkannya, dan menamainya.
\tkzCalcLength(O1,C) %menetapkan panjang jari-jari
\tkzGetLength{radius} %menetapkan jari-jari
\tkzDefLine[parallel=through O1](O,D) \tkzGetPoint{U}
\tkzInterLC[R](O1,U)(O1,\radius pt) \tkzGetFirstPoint{V} \tkzGetSecondPoint{W}
\tkzDrawSegment[stealth-stealth](V,W)
\tkzLabelSegment[auto,fill=White,anchor=center](V,W){$\ds\frac{3}{8}''$}
Selesailah! 
Dokumen di bawah ini saya susun (compile) dalam jaringan melalui Online LaTeX Editor ShareLaTeX
Semoga bermanfaat. 

Adjie Gumarang Pujakelana 2015



Related Posts Plugin for WordPress, Blogger...