Wednesday, December 9, 2015

Menggambar Kubus dan Beberapa Unsurnya

Masih mengutip dari soal Ujian Nasional Matematika SMA/MA IPA Tahun Pelajaran 2014/2015, saya menemukan soal nomor 24 sebagai berikut.
Diketahui kubus $\small{ABCD.EFGH}$ dengan panjang rusuk $\small4\textrm{cm}$. Titik $\small{M}$ adalah titik tengan $\small{AB}$. Jarak titik $\small{E}$ ke $\small{CM}$ sama dengan ....
  1. $\small\frac{4}{5}\sqrt{30}\textrm{cm}$
  2. $\small\frac{2}{3}\sqrt{30}\textrm{cm}$
  3. $\small2\sqrt{5}\textrm{cm}$
  4. $\small2\sqrt{3}\textrm{cm}$
  5. $\small2\sqrt{2}\textrm{cm}$
Kita akan menggambar kubus tersebut beserta unsur-unsur yang diberikan dalam soal itu dengan menggunakan paket tikz. Gambarnya akan tampak seperti di samping ini.
Nah, bagaimana cara menggambar bangun geometris tersebut dengan menggunakan paket tikz?

Gambar TikZ

Untuk setiap gambar yang kita buat dengan paket tikz kita gunakan environment
\begin{tikzpicture}[opsi]
... pengkodean gambar
\begin{tikzpicture}


Koordinat

Koordinat merupakan unsur dasar dalam gambar tikz. Ada beberapa cara dalam menetapkan koordinat dari suatu titik, sesuai dengan keperluan atau selera. Pada contoh ini akan digunakan salah satunya. Demikian pula dengan sistem koordinat yang digunakan, kita dapat menyatakannya secara dua dimensi atau tiga dimensi. Untuk contoh ini, setelah saya coba kedua-duanya, ternyata lebih cocok bila digunakan dalam dua dimensi.
Kedelapan koordinat berikut ini, untuk menghasilkan tampilan terbaik, lebih dulu saya gunakan GeoGebra untuk menetapkannya. Salah satu cara menetapkan koordinat adalah sebagai berikut.
\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);
Dalam hal ini kita baru "menetapkan tempat", bukan "menamainya".


Poligon

Suatu poligon digambar (draw) dengan cara merangkai (oleh dash ganda) koordinat-koordinat dari titik-titik sudutnya dalam jalur (path) tertutup (cycle). Misalnya,
\draw (A) -- (B) -- (F) -- (E) -- cycle;
berarti menggambar poligon $\small{ABFE}$, sebagai bidang (sisi) frontal kubus. Tetapi 
\draw[] (B) -- (C) -- (G) -- (F) ;
hanya menghubungkan oleh ruas garis dari $\small{B}$ sampai ke $\small{F}$, dalam urutan itu, tanpa kembali ke $\small{B}$. Demikian pula, kita hubungkan
\draw[] (G) -- (H) -- (E);
dan kita hubungkan rusuk-rusuk dalam bentuk garis putus-putus (oleh opsi dashed) dalam dua bagian (jalur).
\draw[dashed] (A) -- (D) -- (H) (C)--(D);
Perhatikan kita memutus jalur $\small{ADH}$ dan $\small{CD}$.
Nah, rangkaian perintah di atas menghasilkan gambar seperti tampak pada Gambar 1 dalam dokumen terlampir di bawah ini.


Menggambar Bidang Pengiris


Menetapkan Koordinat Titik Tengah

Kita awali dengan menetapkan titik $\small{M}$ (seperti diketahui dari soal di atas) sebagai titik tengah dari ruas garis (rusuk) $\small\overline{AB}$. Dalam tikz kita menyatakannya dengan
\coordinate (M) at ($(A)!0.5!(B)$);
Dalam hal ini kita memerlukan dukungan library calc dari paket tikz. Kemudian, sesuai dengan kaidah dalam menggambar, kita hubungkan titik-titik $\small{E}$ ke $\small{M}$ dalam bentuk ruas garis biasa, tetapi $\small{E}$ ke $\small{C}$ dalam bentuk ruas garis putus-putus.
\draw (E)--(M);
\draw[dashed] (E)--(C) ;


Memperpanjang Ujung-ujung Ruas Garis

Tadi ruas garis $\small\overline{CM}$ tidak langsung kita gambar dalam bentuk ruas garis putus-putus. Memang disengaja, karena kita akan memperpanjang pada kedua ujungnya, dengan suatu cara yang khas. Untuk memperpanjang dalam arah $\small{CM}$ kitanyatakan dengan $\small\textrm{\$(C)!...cm!(M)\$}$, sedangkan untuk memperpanjang dalam arah $\small{MC}$ kitanyatakan dengan $\small\textrm{\$(M)!...cm!(C)\$}$. Dengan demikian kita gambar, dalam bentuk ruas garis putus-putus, ruas garis $\small{CM}$ beserta perpanjangannya sebagai
\draw ($(C)!6cm!(M)$) -- ($(M)!5cm!(C)$);
Tentu saja nilai (dalam cm) perpanjangan ini bersifat subjektif, berdasarkan selera. Ini juga memerlukan dukungan library calc dari paket tikz.


Mengarsir Daerah Poligon

Untuk mengarsir daerah, kita tidak perlu menggambar (draw), karena hasilnya akan bertumpang-tindih dengan hasil gambar sebelumnya, melainkan cukup dengan merangkaikan jalur (path) secara tertutup (cycle). Bidang $\small{CEM}$ adalah bidang pengiris kubus dan akan kita arsir. Arsiran ini kita arahkan ke Barat Laut (antara Utara dan Timur) dengan warna arsiran (saya pilih dan saya tetapkan pada preamble bersama paket xcolor) bistreb setingkat 70%. Agar arsiran ini menerawang (tidak menutupi bagian lain pada kubus itu), maka kita susutkan sedikit tingkat keburamannya (opacity) menjadi $\small{0.9}$ dari $\small{1}$.
\path[pattern=north east lines,pattern color=bistreb!70,opacity=.9] (C)--(E)--(M)--cycle;
Dalam hal ini kita memerlukan dukungan library patterns dari paket tikz.


Proyeksi Titik pada Ruas Garis

Untuk menetapkan proyeksi dari suatu titik pada suatu ruas garis, kita tuliskan nama titik itu beserta nama dari kedua titik pembentuk ruas garis tersebut dengan meletakkan di tengah untuk nama titik yang diproyeksikan itu. Koordinat dari proyeksi titik $\small{EM}$ pada ruas garis $\small\overline{CM}$ dinyatakan oleh
($(C)!(E)!(M)$)
Koordinat ini kita namai saja sebagai $\small{N}$. Kemudian kita hubungkan titik $\small{M}$ ke proyeksinya pada $\small\overline{CM}$.
\coordinate (N) at ($(C)!(E)!(M)$) ;
\draw ($(C)!(E)!(M)$) -- (E);


Menandai Sudut Siku-siku

Dalam hal ini saya gunakan makro (dengan dukungan library angles dan quotes dari paket tikz), yang ditulis oleh salah seorang anggota forum, sebagai berikut.
\newcommand{\siku}[4][.3cm]% #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[rusia] (tempa) -- ($(#3)!2!(tempc)$) -- (tempb);
}
Dengan demikian sudut siku-siku ditandai oleh perintah \siku. Dalam penggunaanya, kita sebut tiga koordinat pembentuk sudut di mana koordinat dari titik sudut diletakkan di tengah dan urutannya dalam arah berlawanan dengan arah putar jarum jam. Perintah
\siku{C}{N}{E}
meminta $\small\LaTeX$ untuk menandai siku-siku pada $\small\angle{CNE}$.

Hingga di sini pekerjaan menggambar, berdasarkan pada soal di atas, dapat dianggap sudah selesai. Namun untuk menandai dan menampilkan nama titik-titik sudut pada kubus itu, kita masih perlu memberikan perintah-perintah
\path[fill=JungleGreen] (M) circle (2pt) node[below,font=\small]{M};
\path[fill=JungleGreen] (A) circle (2pt) node[below]{A};
\path[fill=JungleGreen] (B) circle (2pt) node[below]{B};
\path[fill=JungleGreen] (C) circle (2pt) node[below]{C};
\path[fill=JungleGreen] (D) circle (2pt) node[left,yshift=.2cm]{D};
\path[fill=JungleGreen] (E) circle (2pt) node[left]{E};
\path[fill=JungleGreen] (F) circle (2pt) node[right,yshift=-.2cm]{F};
\path[fill=JungleGreen] (G) circle (2pt) node[above]{G};
\path[fill=JungleGreen] (H) circle (2pt) node[above]{H};
\path[fill=red] (N) circle (2pt) node[below] {N};
Masing-masing perintah tersebut menyatakan koordinat titik yang disebutkan sebagai tempat untuk menggambar lingkaran (sebagai noktah berbentuk bulat) berjari-jari $\small{2pt}$, kemudian menamai titik tersebut dengan nama yang disebutkan dan meletakkan nama itu dengan mengacu terhadap letak koordinat tersebut. Bersama dengan itu, masing-masing lingkaran itu diisi oleh warna tertentu (yang dicantumkan pada opsi perintah path). 


Penutup

Demikianlah, hasil dari semua pengkodean di atas tampak pada Gambar 2 dalam dokumen terlampir di bawah ini. Berikut ini pengkodean selengkapnya untuk gambar kubus yang dimaksud oleh soal di atas, yang saya susun dalam jaringan melalui Online LaTeX Editor ShareLaTeX
Semoga bermanfaat.

Adjie Gumarang Pujakelana 2015
\documentclass[10pt]{article} 
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage[dvipsnames,svgnames]{xcolor}
\definecolor{bistreb}{RGB}{150, 113, 23}
\definecolor{rusia}{RGB}{85 85 57}
\usepackage{tikz}
\usetikzlibrary{calc,patterns,angles,quotes}
\newcommand{\siku}[4][.3cm]% #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[rusia] (tempa) -- ($(#3)!2!(tempc)$) -- (tempb);
}
\begin{document}

\begin{tikzpicture}
\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);

\draw[] (A) -- (B) -- (F) -- (E) -- cycle;
\draw[] (B) -- (C) -- (G) -- (F) ;
\draw[] (G) -- (H) -- (E);
\draw[dashed] (A) -- (D) -- (H) (C)--(D);

\coordinate (M) at ($(A)!0.5!(B)$);
\draw (E)--(M);
\draw[dashed] (E)--(C) ;

\draw ($(C)!6cm!(M)$) -- ($(M)!5cm!(C)$);

\path[pattern=north east lines,pattern color=bistreb!70,opacity=.9] (C)--(E)--(M)--cycle;

\coordinate (N) at ($(C)!(E)!(M)$) ;
\draw ($(C)!(E)!(M)$) -- (E);

\siku{C}{N}{E}

\path[fill=JungleGreen] (M) circle (2pt) node[below,font=\small]{M};
\path[fill=JungleGreen] (A) circle (2pt) node[below]{A};
\path[fill=JungleGreen] (B) circle (2pt) node[below]{B};
\path[fill=JungleGreen] (C) circle (2pt) node[below]{C};
\path[fill=JungleGreen] (D) circle (2pt) node[left,yshift=.2cm]{D};
\path[fill=JungleGreen] (E) circle (2pt) node[left]{E};
\path[fill=JungleGreen] (F) circle (2pt) node[right,yshift=-.2cm]{F};
\path[fill=JungleGreen] (G) circle (2pt) node[above]{G};
\path[fill=JungleGreen] (H) circle (2pt) node[above]{H};
\path[fill=red] (N) circle (2pt) node[below] {N};

\end{tikzpicture}

\end{document}





No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...