Sunday, December 29, 2013

Spreadtab: Melakukan Perhitungan pada Baris dan Kolom (Spreadsheet)

$\small\LaTeX$ memang memiliki environment untuk membuat tabel, yaitu tabular, tabularx, atau longtable. Tetapi bagaimana bila di dalam tabel itu kita harus melakukan perhitungan? Dapatkah $\small\LaTeX$ menampilkan perhitungan seperti Microsoft Excel?

Untuk ini kita gunakan paket spreadtab. Paket ini dapat memenuhi segala keperluan perhitungan yang kita lakukan di dalam tabel, seperti terlihat contohnya pada file di bawah ini.

Bila Anda ingin mempelajari selengkapnya tentang paket dari Christian Tellechea ini, silakan dapatkan di sini.

Contoh berikut ini menampilkan penggunaan spreadtab dalam menentukan nilai fungsi, rata-rata, faktor persekutuan terbesar (greatest common divisor), kelipatan persekutuan terkecil (least common multiple), dan nota tagihan (billing).



\documentclass{scrartcl}
\title{Contoh penggunaan spreadtab}
\usepackage{spreadtab}
\usepackage{array}
\usepackage{booktabs}
\usepackage{amsmath}
\usepackage[usenames,dvipsnames]{color}
\usepackage[scaled]{helvet}
\renewcommand*\familydefault{\sfdefault}
\usepackage[
  top=1in,
  left=3cm,
  right=3cm,
  headheight=40pt,
  margin=1.5cm,includefoot,bottom=2cm
 ]{geometry}
\usepackage{graphicx}
\usepackage[autolanguage]{numprint}
\usepackage{tabularx}

\begin{document}
\pagenumbering{gobble}
\noindent
\colorbox{RoyalBlue}{
  \begin{minipage}[c]{\textwidth}
    \centering\Large\bfseries\color{White}
    {Contoh penggunaan \emph{spreadtab}}    
  \end{minipage}}
  
\section*{Nilai fungsi}
\begin{center}
\renewcommand{\arraystretch}{1.2}
\begin{spreadtab}{{tabular}{*{5}{>{$}r<{$}}}}
\toprule
@x & @y & @x+y & @x-y & @\dfrac{x+y}{2}\\
\midrule
1 & 2 & \STcopy{>1,v4}{!a2+b2} & \STcopy{>1,v4}{!a2-b2} & \STcopy{>1,v4}{!(a2+b2)/2} \\
3 & 2 & & &  \\
-3 & -6 & & &   \\
9 & -2 & & &  \\
10 & 5 & & &  \\
\bottomrule
\end{spreadtab}
\end{center}

\section*{Rata-rata}
\begin{center}
\renewcommand{\arraystretch}{1.2}
\begin{spreadtab}{{tabular}{r*6c}}
@Umur & 10 & 11 & 12 & 13 & 14 & 15\\
@Banyak Anak & 5  & 8  & 20 & 55 & 9  & 3\\\hline
@Rata-rata Umur& \multicolumn{6}{l}{:={sumprod(b1:g1;b2:g2)/sum(b2:g2)}}
\end{spreadtab}
\end{center}

\section*{Faktor Persekutuan Terbesar (FPB) dan Kelipatan Persekutuan Terkecil (KPK)}
\begin{center}
\renewcommand{\arraystretch}{1.2}
\begin{spreadtab}{{tabular}{|r|r|r||c|c|}}\hline
\multicolumn3{|c||}{@Bilangan}& @FPB & @KPK \\\hline
24 & 18 & 12 & \STcopy{v}{gcd(a2,b2,c2)} & \STcopy{v}{lcm(a2,b2,c2)}\\
15 & 10 & 25 & & \\
16 & 12 & 15 & & \\
\hline
\end{spreadtab}
\end{center}

\section*{Nota tagihan (\emph{billing})}
\begin{center}
\nprounddigits2
\let\PC\%
\newcommand\Mystrut{\rule[-1.2ex]{0pt}{4ex}}
\newcommand\RED{\color{red}}
\begin{spreadtab}{{tabularx}{0.8\linewidth}{|>\Mystrut X>\RED N42>\RED c N42>\RED c<\PC N42|}}
\hline
@Nama Barang &@\multicolumn1c{Harga Satuan}& @\multicolumn1c{Jumlah} & @\multicolumn1c{Harga} & @\multicolumn1c{Rabat} & @\textbf{Harga Bersih}\\\hline
@A & 5.99 & 20 & [-2,0]*[-1,0] & $-:={20}$ & [-2,0]*(1-[-1,0]/100)\\
@B & 12   & 7  & [-2,0]*[-1,0] & $-:={10}$ & [-2,0]*(1-[-1,0]/100)\\
@C & 4.50 & 40 & [-2,0]*[-1,0] & $-:={35}$ & [-2,0]*(1-[-1,0]/100)\\
@D & 650  & 2  & [-2,0]*[-1,0] & $-:={15}$ & [-2,0]*(1-[-1,0]/100)\\\hline
@\multicolumn6c{}\\[-1.5ex]\cline{4-6}% empty line and raise it a little
@\multicolumn1c{\Mystrut}&@\multicolumn2{r|}{\textbf{Total}}& sum(d2:[0,-2]) & \multicolumn1c{$:={round(([1,0]/[-1,0]-1)*100,0)}\PC$} & {\fontseries{b}\selectfont}:={sum(f2:[0,-2])}\\
\cline{4-6}
\end{spreadtab}
\end{center}

\end{document}

Demikian semoga bermanfaat!

Adjie Gumarang Pujakelana 2013

-->

1 comment:

  1. keren... perlu dipelajari saatnya nanti, saya copas pak... untuk belajar.

    ReplyDelete

Related Posts Plugin for WordPress, Blogger...