Segitiga Pascal: Komputasi dan Visualisasi Heksagon di LaTeX

Segitiga Pascal adalah susunan segitiga dari koefisien binomial yang sangat terkenal dalam matematika. Setiap angka di dalam segitiga ini adalah hasil penjumlahan dari dua angka yang berada tepat di atasnya. Selain berguna untuk mencari koefisien ekspansi aljabar , susunan ini juga menyimpan banyak pola menarik lainnya.
Dalam artikel ini, kita akan membuat visualisasi Segitiga Pascal di LaTeX menggunakan TikZ. Menariknya, kita tidak akan menulis angka-angkanya secara manual, melainkan menggunakan pemrograman makro TeX untuk menghitung koefisien binomial secara otomatis dan menggambarnya dalam bentuk sel-sel heksagon (segi enam) yang berwarna-warni.
Pendahuluan
Secara geometri, susunan heksagon (sarang lebah) sangat ideal untuk menyusun Segitiga Pascal karena setiap sel heksagon secara alami berbatasan dengan dua sel di atasnya.
Untuk membuat visualisasi ini di LaTeX secara efisien, kita memerlukan dua hal utama:
- Algoritma Komputasi: Fungsi TeX internal untuk menghitung kombinasi secara dinamis tanpa melampaui batas kapasitas memori kompilasi.
- Looping Grafis: Perulangan bertingkat (
\foreach) pada TikZ untuk menggambar heksagon dan menempatkannya pada posisi koordinat yang tepat berdasarkan baris dan kolom.
Kode LaTeX Lengkap
Berikut adalah kode LaTeX lengkap untuk membuat Segitiga Pascal berbentuk heksagon berwarna:
% Segitiga Pascal
% Penulis: M.H. Ahmadi
\documentclass[border=10pt]{standalone}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usepackage{ifthen}
\makeatletter
% Makro komputasi koefisien binomial \binomialCoefficient{n}{k}
\newcommand\binomialCoefficient[2]{%
% Simpan nilai parameter
\c@pgf@counta=#1% n
\c@pgf@countb=#2% k
%
% Memanfaatkan sifat simetri jika k > n - k
\c@pgf@countc=\c@pgf@counta%
\advance\c@pgf@countc by-\c@pgf@countb%
\ifnum\c@pgf@countb>\c@pgf@countc%
\c@pgf@countb=\c@pgf@countc%
\fi%
%
% Menghitung koefisien secara rekursif menggunakan looping
\c@pgf@countc=1% Menyimpan hasil akhir
\c@pgf@countd=0% Counter perulangan
\pgfmathloop% Rumus: c -> c*(n-i)/(i+1) untuk i=0,...,k-1
\ifnum\c@pgf@countd<\c@pgf@countb%
\multiply\c@pgf@countc by\c@pgf@counta%
\advance\c@pgf@counta by-1%
\advance\c@pgf@countd by1%
\divide\c@pgf@countc by\c@pgf@countd%
\repeatpgfmathloop%
\the\c@pgf@countc% Tampilkan hasil akhir
}
\makeatother
\begin{document}
\newdimen\R
\R=.4cm % Jari-jari lingkaran luar heksagon
\newcommand\mycolor{gray}
\begin{tikzpicture}[line width=.8pt]
% Perulangan untuk kolom (k) dari 0 sampai 12
\foreach \k in {0,...,12}{
\begin{scope}[shift={(-60:{sqrt(3)*\R*\k})}]
\pgfmathtruncatemacro\ystart{12-\k}
% Perulangan untuk baris (n)
\foreach \n in {0,...,\ystart}{
\pgfmathtruncatemacro\newn{\n+\k}
% Penentuan warna dinamis berdasarkan kolom/baris
\ifthenelse{\k=0}{\def\mycolor{pink}}{}
\ifthenelse{\k=1}{\def\mycolor{yellow}}{}
\ifthenelse{\k=2}{\def\mycolor{blue}}{}
\ifthenelse{\k=3}{\def\mycolor{green}}{}
\ifthenelse{\k=8 \AND \n < 4}{\def\mycolor{purple}}{}
\ifthenelse{\k=9 \AND \n = 3}{\def\mycolor{purple}}{}
\begin{scope}[shift={(-120:{sqrt(3)*\R*\n})}]
% Menggambar heksagon dengan degradasi warna (top & bottom color)
\draw[top color=\mycolor!20,bottom color=\mycolor!60]
(30:\R) \foreach \x in {90,150,...,330} { -- (\x:\R)} -- cycle
(90:0) node {\tiny $\mathbf{\binomialCoefficient{\newn}{\k}}$};
\end{scope}
}
\end{scope}
}
\end{tikzpicture}
\end{document}Keluaran kode tersebut adalah sebagai berikut:

Penjelasan Detail Kode
Konsep pemrograman grafis TeX dan TikZ utama yang digunakan pada kode di atas dijelaskan secara rinci sebagai berikut:
1. Komputasi Matematika TeX Tingkat Rendah (\binomialCoefficient)
Kelemahan kalkulasi angka besar di LaTeX adalah batas memori yang kecil. Fungsi di atas dioptimalkan menggunakan register counter bawaan TeX (\c@pgf@counta s.d. \c@pgf@countd) untuk melakukan kalkulasi perkalian dan pembagian secara cepat dan presisi menggunakan rumus multiplikatif:
Sifat simetri juga diterapkan untuk memotong jumlah iterasi perulangan hingga setengahnya, mempercepat waktu kompilasi dokumen secara signifikan.
2. Menggambar Heksagon dengan Koordinat Kutub
Heksagon (segi enam beraturan) digambar secara efisien menggunakan perulangan koordinat kutub (polar coordinates):
(30:\R) \foreach \x in {90,150,...,330} { -- (\x:\R)} -- cyclePerintah ini memulai garis dari sudut dengan radius , lalu membuat segmen garis ke sudut , lalu menutup jalur secara otomatis (-- cycle) untuk membentuk segi enam sempurna.
3. Pergeseran Koordinat Segitiga (scope dan shift)
Untuk menempatkan heksagon pada baris dan kolom yang tepat, digunakan lingkungan scope dengan pergeseran arah vektor koordinat:
- Kolom digeser ke arah sudut sebesar :
shift={(-60:{sqrt(3)*\R*\k})} - Baris digeser ke arah sudut sebesar :
shift={(-120:{sqrt(3)*\R*\n})}Perpaduan dua sudut pergeseran ini menciptakan struktur segitiga Pascal yang simetris sempurna di layar.
4. Pewarnaan Dinamis (\ifthenelse)
Paket ifthen digunakan untuk memberikan warna gradasi yang berbeda pada blok segitiga tertentu:
- Kolom ke-0 diwarnai merah muda (
pink). - Kolom ke-1 diwarnai kuning (
yellow). - Kolom ke-2 diwarnai biru (
blue). - Kolom ke-3 diwarnai hijau (
green). - Sel-sel tertentu di tengah bawah diwarnai ungu (
purple) untuk menonjolkan pola visual tertentu di dalam Segitiga Pascal.
Cara Mengompilasi Dokumen
- Pastikan Anda memiliki distribusi LaTeX yang terinstal di komputer Anda (seperti TeX Live, MiKTeX, atau Overleaf).
- Salin kode di atas ke dalam file teks dan beri nama
pascal-triangle.tex. - Kompilasi menggunakan compiler pdfLaTeX atau XeLaTeX.
- Grafik akan terpusat secara otomatis dengan margin 10pt berkat penggunaan kelas
standalone.
Kesimpulan
Membuat Segitiga Pascal menggunakan komputasi dinamis di TikZ LaTeX membuktikan bahwa LaTeX bukan hanya sebuah alat pengetikan statis, melainkan juga lingkungan pemrograman yang sangat andal. Teknik ini sangat berguna untuk membuat ilustrasi materi ajar matematika yang dinamis dan estetis tanpa perlu melakukan perhitungan manual terlebih dahulu. Selamat mencoba!




