Thursday, December 24, 2015

Menggambar Fungsi Implisit

Pengantar

Perbedaan antara fungsi implisit dan fungsi eksplisit dapat dilihat dalam persamaan fungsinya. Secara umum fungsi dinyatakan secara eksplisit dimana variabel tak bebas dan variabel bebasnya dapat dinyatakan sebagai
\[y=f(x)\]
Dalam fungsi implisit, selain variabel tak bebas dan variabel bebasnya tidak berbentuk eksplisit seperti di atas, juga terdiri dari beberapa variabel dan dinyatakan sebagai
\[R(x_1,x_2,\ldots,x_n)=0\]
Untuk dua variabel, misalnya, berbentuk
\[R(x,y)=0\]
Nah, tulisan ini memang didasari oleh fungsi implisit yang disodorkan kepada saya dalam bentuk soal sebagai berikut.
Tentukan semua bilangan real $(x,y)$ dari sistem persamaan \begin{cases}
\sqrt{x-y}=x+y-7\\
\sqrt{x+y}=x-y-1
\end{cases}
Setelah itu, yang pertama terpikirkan adalah bagaimana menyelesaikan soal tersebut secara grafis; menyiasati penyelesaian soal selain cara aljabar. Soal ini tampak rumit, baik untuk diselesaikan secara aljabar maupun secara grafis. Secara aljabar saya coba menyelesaikannya dengan cara mengkuadratkan kedua ruas, tetapi ini menghasilkan jawaban yang keliru (karena cara tersebut tidak berlaku pada fungsi implisit). Hal ini diketahui setelah saya memeriksanya secara grafis pada WolframAlpha. Saya hentikan untuk menjawabnya secara aljabar, karena jawaban itu sudah ditemukan oleh Pak Anang. Saya kembali ke daya tarik semula, yaitu mencari cara untuk menyelesaikannya secara grafis. Akhirnya ditemukan juga, kita dapat menyelesaikannya dengan menggunakan paket pgfplots.

Menggambar Fungsi Implisit

Perhatikan gambar di atas. Berbeda dari penggunaan paket pgfplots sebelumnya dalam tulisan-tulisan ini, fungsi implisit digambar dengan menggunakan perintah utama dari gnuplot. Saya juga sudah mencobanya dengan menggunakan SageMath, tetapi pengkodeannya terlalu rumit.

Kurva dari fungsi implisit kita gambar dalam perintah dasar \addplot dengan dua opsi utama
raw gnuplot,empty line=jump
diiukuti oleh perintah
gnuplot {
    set contour base;
    set cntrparam levels discrete 0.001;
    unset surface;
    set view map;
    set isosamples 500;
    splot ... ;
    };
Ketiga titik itu kita ganti dengan rumus fungsi yang akan kita gambar.

Sebagai contoh, untuk menggambar kurva dari $\sqrt{x-y}=x+y-7$ kita harus menyatakan persamaan fungsinya secara implisit dengan ruas kanan nol menjadi $\sqrt{x-y}-x-y+7=0$. Kemudian fungsi dari ruas kiri itu kita cantumkan dalam perintah berikut ini.
\addplot[name path=satu,blue,
    raw gnuplot,very thick,
    empty line=jump 
    ] gnuplot {
      set contour base;
      set cntrparam levels discrete 0.001;
      unset surface;
      set view map;
      set isosamples 500;
      splot sqrt(x-y)-x-y+7;%biru
    };
Nama path dicantumkan dalam opsi karena (seperti tampak pada gambar di atas) saya akan menetapkan koordinat titik potong dari kedua kurva tersebut. Agar opsi ini diterima, lebih dulu kita muat library intersections pada preamble.
\usetikzlibrary{intersections}
Kurva kedua untuk $\sqrt{x+y}=x-y-1$ kita ubah menjadi $\sqrt{x+y}-x+y+1=0$, kemudian kita cantumkan dalam
\addplot[name path=dua,red,
    raw gnuplot,very thick,
    empty line=jump 
    ] gnuplot {
      set contour base;
      set cntrparam levels discrete 0.001;
      unset surface;
      set view map;
      set isosamples 500;
      splot sqrt(x+y)-x+y+1;%merah
    };


Menetapkan Koordinat Titik Potong antara Dua Kurva

Dengan library intersections kita sudah menamai masing-masing path dari kedua kurva sebagai satu dan dua. Sekarang kita sebut nama titik potongnya itu sebagai $P$, maka kita nyatakan
\path [name intersections={of=satu and dua,by=P}];
Bila pada $P$ kita ingin menandainya dengan noktah berupa lingkaran kecil, maka kita gambar (misalnya) dengan
\draw[fill=yellow] (P) circle [radius=1.25pt];
Hal-hal lainnya dalam pengkodean ini dapat Anda pelajari dalam tulisan sebelumnya tentang penggunaan paket pgfplots.


Penutup

Nah, berikut ini saya sertakan pengkodean selengkapnya dan dokumen yang dihasilkannya. Contoh dokumen tersebut saya susun dalam jaringan melalui Online LaTeX Editor ShareLaTeX
Demikian semoga bermanfaat.


$\square$ Adjie Gumarang Pujakelana 2015
\documentclass{article}
\usepackage[margin=2cm,a4paper]{geometry}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{intersections}
\let\ds\displaystyle
\pagestyle{empty}

\begin{document}

\begin{tikzpicture}
  \begin{axis}[clip=false,
  axis lines=center, 
  xmin=-1,xmax=12,
  ymin=-1,ymax=5,
  xtick={1,6,7,8,10},ytick={2,3,4},
  enlargelimits=false
  ]
\addplot[name path=satu,blue,
    raw gnuplot,very thick,
    empty line=jump 
    ] gnuplot {
      set contour base;
      set cntrparam levels discrete 0.001;
      unset surface;
      set view map;
      set isosamples 500;
      splot sqrt(x-y)-x-y+7;%biru
    };
\addplot[name path=dua,red,
    raw gnuplot,very thick,
    empty line=jump 
    ] gnuplot {
      set contour base;
      set cntrparam levels discrete 0.001;
      unset surface;
      set view map;
      set isosamples 500;
      splot sqrt(x+y)-x+y+1;%merah
    };
\path [name intersections={of=satu and dua,by=P}];
\draw[fill=yellow] (P) circle [radius=1.25pt];
\draw[dashed,gray] (axis cs:0,2.5)--(P) (axis cs:6.5,0)--(P);
\node[coordinate,pin=95:{\color{red}\small{$\ds\sqrt{x+y}=x-y-1$}}] at (axis cs:7.9,3.5){};
\node[blue,coordinate,pin=80:{\color{blue}\small{$\ds\sqrt{x-y}=x+y-7$}}] at (axis cs:8,1.5){};
  \end{axis}
\end{tikzpicture}

\end{document}





No comments:

Related Posts Plugin for WordPress, Blogger...