Jumat, 18 April 2014

Sistem Informasi Geografis Web dan Mobile

Menampilkan Data Database pada Alert dan Menggunakan Fungsi Presisi Longtitute


Tugas empat kali ini masih menyambung dari tugas ketiga sebelumnya. Nama pemilik rumah, alamat pemilik rumah yang telah disimpan dalam MySQL sekarang coba ditampilkan kedalam peta. Ketika marker dikilik, akan muncul alert yang menampilkan nama pemilik rumah dan alamat pemilik rumah. sedangkan untuk longitude, digunakan presisi (fungsi round) untuk membulatkan angka dibelakang kom (enam angka dibelakang koma). Berikut adalah data yang telah disimpan pada MySQL.
Kontainer peta yang telah dibuat pada tugas tiga kemudian ditambahkan button show dan hide untuk menampilkan dan menyembunyikan peta.
<html>

<head>
  <title></title>
  <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
  <script src="jquery.js"></script>
  <script src="maps.js"></script>
</head>

<body>
      <div id="petaku" style="width:600px; height:500px">
      </div>
      <button type="button" id="showHide">Hide</button>
     
</body>

</html>
Kode Program 1 Kontainer Peta dengan Button Show Hide

Langkah selanjutnya adalah menambahkan kode program pada file simpandata.php untuk membulatkan  nilai longitude menjadi enam angka dibelakang koma dan menyimpan data dalam bentuk array kemudian menampilkan data tersebut pemilik rumah ketika sebuah marker di klik (pada file maps.js).
<?php
error_reporting(0);
$host = "localhost";
$username = "root";
$password = "";
$namadatabase = "db_pemetaan"; //tiga baris kode program diatas merupakan koneksi ke database db_pemetaan
$koneksi = mysql_connect($host,$username,$password) or die("koneksi gagal".mysql_error()); //notifikasi jika koneksi gagal
mysql_selectdb($namadatabase,$koneksi) or die("Database Error".mysql_error()); 


if($_REQUEST['r']=="alamat")
      {
            $lati=$_REQUEST['lat']*1000000;
            $latint=round($lati);
            $latraw=$latint/1000000;
            //echo $latraw;
            $longi=$_REQUEST['lng']*1000000;
            $longint=round($longi);
            $longraw=$longint/1000000;
           
            echo "Latitute : ".$latraw." dan Longtitute : ".$longraw."
            "; //menampilkan dan membulatkan nilai longitude menggunakan fungsi round
           
            $response=mysql_query("SELECT Alamat_Pemilik, Nama_Pemilik FROM tb_pemetaanrumah WHERE Latitute=".$latraw." AND Longtitute=".$longraw);
            //menngambil nama dan alamat pemilikdari database
            $arr=array();
            while($b=mysql_fetch_array($response)) //nilai dari nama dan alamat pemilik dihimpun dalam bentuk array dan ditampilkan ke alert
            {
                  $arr[]=$b;
            }
            $encode=json_encode($arr);
            $decode=json_decode($encode);
            for($j=0;$j<count($decode);$j++)
            {
                  echo "Nama_Pemilik : ".$decode[$j]->Nama_Pemilik."
                  "."Alamat Pemilik : ".$decode[$j]->Alamat_Pemilik;
            }
           
      }
      else
      {
            $result = mysql_query("SELECT * FROM tb_pemetaanrumah");
            $data = array();
           
            if (!$result) {
                  echo "Koneksi ke database gagal ! ";
                  exit;
            }
           
            if (mysql_num_rows($result) == 0) {
                  echo "Database kosong";
                  exit;
            }
           
            while ($row = mysql_fetch_array($result))
            {
                  $data[]=$row;
            }
            echo json_encode($data);
      }

?>
Kode Program 2 Menyimpan Nama dan Alamat Rumah untuk Ditampilkan pada Peta

            Buat file JavaScript untuk membuat fungsi menampilkan marker dan menambahkan event ketika marker diklik. Event tersebut kan menampilkan sebuah alert yang menampilkan nama pemilik rumah dan alamat pemilik rumah. Kode Program 3 adalah menampilkan marker sesuai dengan latitude dan longtitude dan melakukan event.

// JavaScript Document

$(document).ready(function(){
      var gmaps=google.maps;
      var arrMarker=[];
      var mapOptions={
      zoom: 18,
      //disableDefaultUI:true,
      draggable:false,
      center:new gmaps.LatLng(-8.79359,115.158623)
      }; //ini menampilkan peta, dengan -8.79359,115.158623 sebagai centernya, jadi yang muncul di peta hanya sekitaran latitude longitude itu.
           
      map = new
gmaps.Map(document.getElementById('petaku'),mapOptions); //mengambil peta tsb dan ditampilkan di kontainer
           
      $.get('simpandata.php',function(output){
         for(i=0;i<output.length;i++){
             var marker = new gmaps.Marker({ //menampilkan marker
             position:new
gmaps.LatLng(output[i].Latitute,output[i].Longtitute),
             map:map,
             title:output[i].Alamat_Pemilik //menampilkan informasi di window ketika kursor digeser ke arah marker, muncul data alamat pemilik rumah
      });
                                          gmaps.event.addListener(marker,'click',function(event)
      {
      for(j=0;j<arrMarker.length;j++)
            {
                             if(arrMarker[j].getPosition()==event.latLng)
                  {
     $.get('simpandata.php?r=alamat&lat='+event.latLng.lat()+'&lng='+event.latLng.lng(),function(output)
                        {
                              alert(output);
});
                                    //alert(event.latLng);
                                    //arrMarker[j].setMap(null);
                                    //arrMarker.splice(j,1);
                              break;
                        }
                  }
            });  
                  arrMarker.push(marker);
                       
            /*var informasi=new google.maps.InfoWindow({
            position:new
google.maps.LatLng(output[i].Latitute,output[i].Longtitute),
            }); //membuat info window
                       
                        google.maps.event.addListener(marker,'click',function(event){
      informasi.setPosition(event.latLng);
      informasi.setContent(event.latLng.toString());
      informasi.open(muncul); //menampilkan informasi di window ketika marker di klik
                  });
                        */
           
            }
       },'json');
     
      var isShow=true;
     
      $('#showHide').click(function()
      {
            for(i=0;i<arrMarker.length;i++)
            {
                  if(isShow)
                  {
                        arrMarker[i].setMap(null);
                  }
                  else
                  {
                        arrMarker[i].setMap(map);
                  }
                 
            }
            isShow=!isShow;
           
      });
           
});
                                          Kode Program 2 Menampilkan Marker dan Fungsi Event

Sistem Informasi Geografis Web dan Mobile

Menampilkan Marker dan Manipulasi Data Dari Mysql


API adalah kependekan dari Application programming interface dengan bahasa yang lebih sederhana, yang sangat berguna bagi pengembang web maupun aplikasi desktop untuk memanfaatkan berbagai fitur yang disediakan oleh Google seperti misalnya: AdSense, Search Engine, Translationmaupun YouTube. API secara sederhana bisa diartikan sebagai kode program yang merupakan antarmuka atau penghubung antara aplikasi atau web yang kita buat dengan fungsi-fungsi yang dikerjakan. Jadi Google maps API adalah fungsi-fungsi pemrograman yang disediakan oleh Google maps agar Google maps bisa di integrasikan kedalam Web atau aplikasi yang sedang buat. Contoh sederhanya misalkan ketika ingin membuat Sistem informasi Geografis rumah tetangga, dengan memanfaatkan Google Maps API user bisa membuat GIS tanpa perlu memikirkan Pemetaan Rumah, hanya perlu memanggil fungsi Google maps dan memanggil fungsi-fungsi lain yang dibutuhkan seperti menampilkan peta, menempatkan marker dan sabagainya. 
Tugas 3 kali ini adalah menyambung dari tugas kedua sebelumnya. Data yang telah disimpan dalam MySQL sekarang coba ditampilkan kedalam peta. Berikut adalah data yang telah disimpan pada MySQL. Buat kontainer sebagai tempat untuk menampilkan peta dengan pusat latitude dan longitude yang dipilih. Kode program 1 adalah kode program untuk membuat kontainer peta.
html>

<head>
  <title></title>
  <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
  <script src="jquery.js"></script>
  <script src="maps.js"></script>
</head>

<body>
      <div id="petaku" style="width:600px; height:500px">
      </div>
</body>

</html>
Kode Program 1 Membuat Kontainer Peta

            Buat file JavaScript untuk membuat fungsi menampilkan marker. Kode Program 2 adalah menampilkan marker sesuai dengan latitude dan longtitude yang terdapat dalam database.
// JavaScript Document

$(document).ready(function(){
      var gmaps=google.maps;
      var mapOptions={
            zoom: 18,
            //disableDefaultUI:true,
            draggable:false,
            center:new gmaps.LatLng(-8.79359,115.158623)
            }; //ini menampilkan peta, dengan -8.79359,115.158623 sebagai centernya, jadi yang muncul di peta hanya sekitaran latitude longitude itu.
           
            muncul=new google.maps.Map(document.getElementById('petaku'),mapOptions); //mengambil peta tsb dan ditampilkan di kontainer
           
            $.get('simpandata.php',function(output){
                  for(i=0;i<output.length;i++){
                              //$('<tr><td>'+output[i].ID+'</td><td>'+output[i].Latitute+'</td><td>'+output[i].Longtitute+'</td><td>'+output[i].Nama_Pemilik+'</td><td>'+output[i].Alamat_Pemilik+'</td></tr>').appendTo('#tabel');
                  var marker= new google.maps.Marker({ //menampilkan marker
                              position:new google.maps.LatLng(output[i].Latitute,output[i].Longtitute),
                              map:muncul,
                              title:output[i].Alamat_Pemilik //menampilkan informasi di window ketika kursor digeser ke arah marker, muncul data alamat pemilik rumah
                        });
                       
                        var informasi=new google.maps.InfoWindow({
                              position:new google.maps.LatLng(output[i].Latitute,output[i].Longtitute),
                        }); //membuat info window
                       
                        google.maps.event.addListener(marker,'click',function(event){
                              informasi.setPosition(event.latLng);
                              informasi.setContent(event.latLng.toString());
                              informasi.open(muncul); //menampilkan informasi di window ketika marker di klik
                  });
           
            }
       },'json');      
           
});
Kode Program 2 Menampilkan Marker pada Peta

Sistem Informasi Geografis Web dan Mobile

Membuat Peta dengan Json Format

          JSON adalah singkatan dari JavaScript Object merupakan suatu format ringkas pertukaran data komputer. Formatnya berbasis teks dan terbaca manusia serta digunakan untuk merepresentasikan struktur data sederhana dan larik asosiatif (disebut objek). Format JSON sering digunakan untuk mentransmisikan data terstruktur melalui suatu koneksi jaringan pada suatu proses yang disebut serialisasi. Aplikasi utamanya adalah pada pemrogramanaplikasi web AJAX dengan berperan sebagai alternatif terhadap penggunaan tradisional format XML.
Walaupun JSON didasarkan pada subset bahasa pemrograman JavaScript dan umumnya digunakan dengan bahasa tersebut, JSON dianggap sebagai format data yang tak tergantung pada suatu bahasa. Kode untuk pengolahan dan pembuatan data JSON telah tersedia untuk banyak jenis bahasa pemrograman. Situs json.org menyediakan daftar komprehensif pengikatan JSON yang tersedia, disusun menurut bahasa. (Wikipedia).
Tugas II kali ini adalah membuat sebuah database yang berisi sepuluh titik koordinat Latitude dan Longitude tetangga rumah. data tersebut kemudian diambil menggunakan array dan JSON kemudian ditampilkan ke web.
            Nilai ID bertipe int primary key dan Latitute Longtitute bertipe data double sedangkan Nama pemilik dan alamat pemilik bertipe varchar.
            Langkah selanjutnya adalah membuat koneksi ke db_pemetaan tersebut. Koneksi ke database dilakukan atau diletakkan pada satu file yang sama dengan mengambil data dari database dan menyimpannya kedalam sebuah array dengan menggunakan format Json. Berikut adalah kode program dan tampilan hasilnya.
<?php
$host = "localhost";
$username = "root";
$password = "";
$namadatabase = "db_pemetaan"; //tiga baris kode program diatas merupakan koneksi ke database db_pemetaan
$koneksi = mysql_connect($host,$username,$password) or die("koneksi gagal".mysql_error()); //notifikasi jika koneksi gagal
mysql_selectdb($namadatabase,$koneksi) or die("Database Error".mysql_error()); 

//sql query untuk memilih tabel dalam database db_pemetaan
$sql = mysql_query("SELECT * FROM tb_pemetaanrumah");

$cabang = array(); //menyimpan hasil array kedalam variabel cabang

/**
dibawah ini adalah looping data dari database.
disini tidak menggunakan  mysql_fetch_array, melainkan menggunakan mysql_fetch_assoc
karena hanya mengambil nama kolom field tablenya saja sebagai indexnya,
bukan dengan nomor urutan arraynya.
**/
while ($row = mysql_fetch_assoc($sql))
    // selipkan semua hasil looping data dari database kedalam array
    $cabang[] = $row;

// array tersebut encode menjadi json seperti dibawah ini
$json = json_encode($cabang);

// tampilkan data json-nya
echo $json;
?>
Kode Program 1 Mengambil Data dari db_pemetaan dengan Array dan Json

            Selanjutnya adalah menampilkan atau mengambil data langsung dari db_pemetaan dengan menggunakan format Json. Langkah pertama yang dilakukan adalah membuat header tabel yang sesuai dengan database, membuat button untuk mengambil data kemudian menambahkan format Json untuk mengambil data dan menampilkan data tersebut. Berikut adalah kode programnya.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Menampilkan Data</title>
<script src="../GIST3/jquery.js"></script>
</head>

<body>
//membuat header tabel
<table id="tabel" border="1">
      <tr><td>ID</td><td>Latitute</td><td>Longtitute</td><td>Nama_Pemilik</td><td>Alamat_Pemilik</td></tr>
</table>
//membuat button
<input type="submit" id="add_row" value="Ambil Data dari Database">

<script>
//fungsi dibawah ini adalah fungi untuk mengambil data yag ada di db_pemetaan kemudian ditampilkan ke web
$('#add_row').click(function(){
              $.get('simpandata.php',function(output){
                for(i=0;i<output.length;i++){               $('<tr><td>'+output[i].ID+'</td><td>'+output[i].Latitute+'</td><td>'+output[i].Longtitute+'</td><td>'+output[i].Nama_Pemilik+'</td><td>'+output[i].Alamat_Pemilik+'</td></tr>').appendTo('#tabel');
                  }
              },'json');
            });
</script>

</body>
</html>
Kode Program 2 Mengambil dan Menampilkan Data dari db_pemetaan ke Web

Jawaban Untuk Anggita

Bali, Akhir 2011
Aku tidak mengerti apa yang terjadi pada diriku sendiri, mengapa dan entah bagaimana selama tiga tahun ini aku menunggunya dalam ketidakpastian.
“Jadi, abis wisuda ini km mau kemana ta?” tanya Desak pada ku disela-sela aktivitasnya mengaduk-aduk kopi di kedai Jimbaran pada sore itu.
“Masih belum tau aku sak hehehe” Jawabku ringan. Padahal saat aku mengucapkan kalimat itu otak ku ikut berpikir tentang lamaran pekerjaan disalah satu stasiun televisi swasta di Surabaya dan juga berpikir tentang Galih, kapan dia kembali?.
“Oi, ta ! yee malah ngelamun”. Seruan desak membangunkan lamunanku.
“Aku Cuma lagi mikir sak, sekali-kali kasih aku waktu mikir sak biar ini otak pernah dipake hehehe”. Timpal ku.
“eh ta, trus cowo mu gimana kabarnya ta? Sejak katanya dia balik ke Jakarta kamu ga pernah cerita lagi soal dia ke aku”
Aku menyandarkan bahuku ke punggung kursi dan mengulas senyum untuknya.
“Baik-baik aja kok sak”. Kataku bohong pada sosok dengan kecantikan khas Bali yang telah menjadi teman ku sejak semester pertamaku masuk kuiah ini.
“eh ta, kamu inget si yosi yang pernah ku ceritain ke kamu tuh?”
“inget, knapa sak?”
“yakali, dia ngajakin aku jadian lagi”
“hahaha terus?”
“aku tolak ta, umur segini bukan waktunya buat main-main lagi, aku males sama cowo yang ga ngasih kepastian kayak si yosi itu. Sekarang waktunya kita buat mapan ta, trus nikah, hahaha”
Aku bergeming sejenak. Dalm pikiranku Desak yang notabene bukan seorang muslim pun mempunyai pemikiran yang seharusnya dipikirkan oleh kaum muslim seumuranku. Mapankan hidup, Jauhi pacaran, dan cari kepastian.
“sak” sapaku lirih.
“kenapa ta?” Desak menjauhka gelas dari bibirnya.
“kayaknya aku mau ke Jakarta sak”
“Ngapain ta? Mau ke tempat si Galih? Ceileeeh akhirnya kamu berani bertindak hahah”
Tiba-tiba desak menghentikan tawa riaangnya saat menatapku dalam.
“Eh tunggu, kok tiba-tiba kamu mau ke Jakarta? Bukan hanya sekedar kangen atau pengen ketemu kan? Ada apa ta?”
Aku melebarkan senyumku, karena ku pikir senyum bisa menyembunyikan kesakitan hatiku. “Pengen ketemu aja kok sak, udah 3 tahun aku ga ketemu dia, kamu kira ga kangen apa?”. Sangkal ku masih dengan senyum lebar.
“Serius ta?”. Tanya Desak serius.
“Serius tau !”. kataku sambil melempar tissue kearahnya.
“Eh, kalo kamu ke Jakarta aku ikut yaa”
“Ayuk, aku malah seneng kalo ada temen buat ke Jakarta”
“Emang di Jakarta kamu punya saudara? Ga mungkin kan kita lontang lantung disana?”
“Hahahaha, Aku punya salah satu temen yang masih di Jakarta, namanya Arin. Temen SMP ku”
“Oh bagus deh” katanya sambil menghisap lagi kopi pahit kesukaannya.
Setelah kami menghabiskan hidangan yang telah kami pesan kami sepakat untuk kembali ke rumah masing-masing. Desak balik ke Tabanan sedangkan aku balik ke rumahku sendiri yang masih dikawasan Jimbaran.

Segera sesampainya di rumah aku membuka laptop dan mencari tiket pesawat dengan tanggal terdekat. “Yap, dapet”. Aku memesan 2 tiket pesat penerbangan seminggu lagi. Untuk ku dan untuk Desak.
“Hallo rin” aku menelpon Arin, sahabatku sejak SMP.
“Hallo, ta assalammualaikum” jawabnya disebrang sana.
“Oh waalaikumussalam rin”
“Kenapa ta? Tumben nelpon, basanya kan kamu paling hemat sama pulsa hahah”
“Dih, ngga gitu juga kali rin”
“Jadi kenapa nih?”
“kamu masih di Jakarta rin?”
“Masih ta, masih, kenapa? Kamu mau ke Jakarta?”
“Iya rin, aku mau ke Jakarta. Aku kangen sama kamu”
“Bohongnya ngga usah kelewatan ta, ku lempar duit dari sini nih”
“hahaha Aku mau main aja rin kesana sama temenku” ucapku. “pengen ketemu juga sama Galih” ucapku alam hati.
“Oh boleh banget ta, jadi kapan kamu terbang dari Bali?”
“Aku udah pesen tiket minggu depan rin”
“Oke ta, ntar aku jempu di Bandara, kabar2 aja lagi yah. Ini aku mau ngajar ta, bisa ku tutup kan telponnya?”
“Sok romantis banget kamu rin, biasanya juga langsung lihutup”
“Haahha, iya yah? Yaudah ku tutup sekarang, Assalamualaikum”
Belum sempat aku menjawab salamnya, Arin sudah menghilang entah kemana bersamaan dengan bunyi Tuut tuuut di handpone ku.
Aku merebahkan tubuhku diatas kasur, merenggangkan semua otot yang rasanya aku baru ikut Romusha. dan tiba-tiba aku teringat.
“Oia, aku belum bilang ke orang rumah kalo aku mau ke Jakarta minggu depan”. Aku berdiri dari kasurku dan melangkah keluar kamar menemui kakak dan ponakanku. Aku mengungapkan keinginanku untuk berangakat ke Jakarta minggu depan. Awalnya kakak menolak mentah-mentah keinginanku tersebut, tapi karena aku berbohong bahwa aku sudah membayar tiket keberangkatannya dan dengan dalih bahawa aku disana bersama Arin, dengan berat hati izin pun ku dapatkan. “Yesssss” kataku dalam hati sembari membuka pintu kamarku.

Sesampainya aku di Bandara, mata ku sediki silau dengan tulisan Arial dengan ukuran lebih dari 72pt diatas kertas karton kuning yang isinya “WELCOME TO JAKARTA ANGGITA AND DESAK, HERE I AM” dengan sedikir emoticon kedip dan cium disampingnya.
“Norak banget si Arin -_-” kataku dalam hati.
“Gitaaaaaaa” Arin berteriak.
“Ngga usah teriak juga kali rin” sapa ku sambil mencium pipi kanan dan kiri gadis berjilbab kuning itu.
“Kenalin , ini Desak”
“Hallo” kata Desak sambil mengulurkan tangannya.
“Hallo Desak” kata Arin sambil menjabat tangan desak.
Setelah kami saling bertukar salam, kamipun berangkat ke rumah kontrakan Arin dikawasan Jakarta Selatan.
“Rumahmu lumayan juga ya rin” kataku sambil meletakkan koper didalam kamar tamu rumah itu.
“Iya dong hehehe”
“Kamu kenapa sak? Pucet banget tuh muka” tanya ku sambil duduk disamping desak.
“Kayaknya aku jetlag deh ta”
“hahaha, yaudah tidur deh sana”
“ngga kamu suruh juga aku bakal tidur ta” timpalnya singkat dan langsung merebahkan tubuhnya ke kasur.

Tiga hari di Jakarta jadi pengalaman tersendiri buat ku dan Desak. Desak selalu mengeluh tentang kemacetan yang tidak ada di Bali dan tentunya harus pergi dengan angkot yang sama sekali belum terpikirkan dibenaknya, tapi Desak selalu bilang kalau Jakarta adalah engalaman terbarunya, dan dia senang mengalaminya. Bertolak belakang dengan desak, tiga hari di Jakarta aku masih belum memutuskan untuk menghubungi Galih. Entah kapan aku memiliki keberanian untuk menghubunginya lagi setelah perdebatan kami sebulan yang lalu. Perdebatan tentang masa depan dan takdir yang akan kita lalui bisa saja berbeda. Aku menunggu kepastian, hingga saat ini.
“Eh, gita, desak, bantuin aku yuk”
“Bantuin apa rin?” Desak yang menjawabnya karena aku terlalu malas untuk membuka mulutku, mataku hanya menatap kosong pada layar tv sedangkan pikiranku entah ada dimana. Aku hanya mendengarkan diskusi singkat antara Arin dan Desak sambil sesekali menoleh ke arah mereka dan menganggukkan kepala untuk menandai bahwa aku menyimak dan kau setuju, padahal tidak. Arin meminta bantuan kepada ku dan Desak untuk mengatur sebuah acara pernikahan yang diurus oleh EO milik tante nya di daerah Tangerang. Dengan dalih bahwa aku pintar membuat konsep suatu acara lihambah dengan tittle sarjana Teknologi Informasi dibelakang nama ku dan desak, Arin bepikir bahwa kami orang yang  tepat untuk dimintai tolong. Dengan senang hati Desak pun mengiyakan permintaan arin.
Tak tanggung-tanggung, malam itu pun kami langsung bkerja menyiapkan ini dan itu, mulai dari konsep, ruangan, rundown acara, gaun pengantin, hingga catering. Sebenarnya sebelum kami ikut membantu, pekerjaan itu sudah dimulai sebulan lalu, dan sekarang hanya tinggal tahap penyempurnaan yang harus kami bertiga selesaikan. Pernikahan dengan konsep modern sederhana ini akan menjadi acara pernikahan yang sangat manis menurutku, pengantin wanita akan mengenakan gaun berwarna biru muda dengan kerudung dan selendang senada dengan warna gaun. Foto desain tempat resepsi juga sangat cantik dengan aksen bunga mawar biru dimana-mana.
“Eh ta, cowo mu ngga nyamperin kamu kesini? Kata kamu mau mau ketemu dia” tanya Desak disela-sela pekerjaan kami malam itu.
“Masih sibuk kali sak, biarin aja hahaha” jawabku ringan.
“Oh iya yah, cowo mu kan di Jakarta juga, baru inget aku”
“jangan-jangan kamu udah putus ya sama si Galih?” tanya Desak curiga.
“Ah, yang bener sak?” Arin ikut-ikutan curious.
“Kalian ngaain sih ah, aku belom putus kok. Udah deh ngomongin cowonya, jadi nonton kita nih?” kataku mengalihkan pembicaraan.
“Kita nontonnya abis acara ini aja yah, tiga hari lagi, di Tangerang sekalian”
“Boleh-boleh” timpal desak.
Arin dan Desak kembali terjebak obrolan seru tentang film apa yang akan kami tonton nantinya. Dan aku sangat lega karena terbebas dari pertanyaan yang entah bagaimana aku bisa berkata jujur pada mereka tentang hubunganku dengan Galih saat ini. Entahlah...

Kami bertiga berangakat sangat pagi sekali atau bahkan belum dikatakan pagi dari Jakarta selatan menuju Tangerang. Ya, acara pernikahan yang diatur oleh EO tantenya Arin akan diselenggarakan hari ini, dan tentunya sebagai bagian dari EO kami bertiga harus menghadiri acara itu. Desak dan Arin kembali terlelap dalam mobil, melanjutkan entah mimpi mereka yang mana, sedangkan aku masih terjaga melanjutkan lamunan dan pemikiran-pemikiranku entah yang mana pula. Satu yang pasti bahwa pikiranku saat ini kembali pada waktu sebulan lalu, saat Galih mengirimkanku sebuah pesan singkat.
Gita, aku perlu ngomong sesuatu sama kamu”
Galih : 22.00

“Ngomong soal apa lih?”
Sent to Galih

“Git, aku dijodohkan oleh kedua orang tuaku”
Galih : 22.08

“Terus aku?”
Sent to Galih

“Aku masih bingung ta, aku sayang sama kamu, tapi aku juga bingung gimana jelasinnya ke orang tua ku”
Galih : 22.15

“Emang km ga bs lngsung bilang ya kalo km udh sm aku? Ga bsa km tolak?”
Sent to Galih

“Mungkin bisa, mungkin juga tidak. Cewe itu anak teman ayahku ta”
Galih : 22.22

“Km sadar ga sih lih klo aq udh nungguin km 3th? Km nglepasin aku gtu aja?”
Sent to Galih

“Aku msh blm tau ta, aku bingung”
Galih : 22.30

“Harusnya km ngga ush bingung klo km udh punya pilihan dr awal. Km bkn bingung gmna nolaknya kan? Km bingung sm prasaan km sendiri kan?”
Sent to Galih

“Aku ngga kaya gitu ta, aku Cuma ga enak sama kelurgaku sama keluarganya dia juga”
Galih : 22.35

“Aku ngga ngerti sm jalan pikiranmu lih, shrsnya km bisa tetep mertahanin aku kalo km emng sayang sm aku. Tp kayaknya ngga lagi”
Sent to Galih
“Gita, km bisa ngasih aku waktu? Bakal aku pikirin lagi”
Galih : 22.47

Saat itu aku sangat ingin menanyakan berapa lama waktu yang kamu minta? dan aku juga ingin mengatakan bahwa berapa lamapun aku akan menunggumu. Tapi, emosi mengalahkan naluriku.

“Terserah kamu” .
Sent to Galih.

Pesan singkat yang hanya berdurasi 47 menit itu benar-benar mengoyak perasaanku. Dua tahun kami bersama dan tiga tahun aku menunggunya, sekarang dia memintaku untuk memberinya waktu untuk mentukan pilihan hidupnya. Konyol. Pikiran-pikiran kelam itu menyelimuti seluruh alam bawah sadarku hingga mobil terparkir di tempat parkir sebuah gedung tinggi dipinggiran kota Tangerang.
Saat kami menginjakkan kaki di gedung tempat resepsi, belum sempat aku menyelesaikan keterkagumanku pada desain dan konsep yang kami buat jadi begitu indah dikehidupan nyata, kami langsung membagi tugas. Arin mengatur tata ruangan, Desak mengatur Rundown acara sedangkan aku yang malas bertemu dengan orang banyak lebih memilih untuk berada dibelakang layar, megatur lighting, sound dan LCD yang akan digunakan sebagai layar bioskop film dokumenter dan foto-foto kedua mempelai.
Dua jam kemudian acara pun dimulai, Desak dan Arin terlihat mondar-mandir dari cctv yang ada dirunaganku. “Mereka lucu” kataku dalam hati.
“Ta, jangan lupa, kalo aku ngasih aba-aba kamu langsung puter videonya yah” sms arin.
“Iyeee” Jawabku singkat.
Aku kembali menghadap laptop dan mempersiapkan video yang berisi sedikit film dokumenter dan slide show foto kedua mempelai. 10 menit kemudian, Arin memberikan aba-aba, aku langsnung menekan tombol enter dan video itu pun terputar.
Tanpa melihat isi video aku beranjak ke Kamar mandi.
“Nitip ini bentar ya bang, aku mau ke Kamar mandi dulu” kataku pada abang yang duduk disampingku sebagai soundman.
“Siiip” katanya sambil mengacungkan jempol.
Aku sempat kesulitan mencari kamar mandi, karena banyaknya orang yang lalu lalang disepanjang koridor gedung ini. Dengan sedikit bertanya pada orang-orang yang memakain nametag sama seperti ku, aku berhasil menemukan kamar mandi. Lega, begitu perasaanku ketika berhasil mencuci muka ku di westafel kamar mandi. Aku menatap dalam-dalam pada cermin didepanku dan sesekali mengutuk betapa bodohnya aku yang tanpa kepastian dan harapan kosong kini telah berada di Jakarta utnuk menemui seseorang yang bahkan saat ini entah dimana. Tatapanku kearah cermin semakin mendalam ketika sesuatu yang mengganjal dan yang menjadi penghambat perjalananku ke kamar mandi adalah saat mataku mulai menangkap sosok-sosok yang aku kenal dalam perjalananku ke kamar mandi muncul kembali. “Kok banyak senior ku waktu SMA ya?” batinku. Beberapa dari mereka yang aku tahu adalah kak Ihsan dan kak Umbu, yang notabene adalah teman Galih waktu SMA. Sejenak otak ku berpikir, kalau kak Ihsan dan kak Umbu disini berarti kemungkinan ini acara pernikahan teman seangkatan mereka, dan kemungkinan besar Galih juga ada disni.
“Anggita” sapa seseorang yang benar-benar membuatku terkejut
“Putriiiii” teriak ku pada gadis berpipi tembem ini.
“Gita kok bisa disini?”
“Aku bantuin temen put, EO disini kebetulan tantenya temenku. Loh, ini nikahan siapa sih put? Temen mu? Kok aku liat tadi banyak senior waktu SMA ya? Dan kebanyakan sih temennya Galih, kamu liat dia disini ngga put?”. Pertanyaanku membom-bardir kesadarannya. Sangat wajar kalau aku bertanya ini itu soal Galih pada putri, karna memang putri adalah tetangga Galih, oh benar, mungkin Putri tahu dimana Galih sekarang.
“Put, eh putri” tanyaku sekali lagi.
“Oh?” Putri agak terkejut dengan pertanyaanku yang entah dimana salahnya
“Kenapa put? Kaget gitu?”
“Kamu ga tau ini acara siapa ta?”
“Engga, siapa emang? Temen SMA kita juga ya apa senior kita?”
“Eeeeem” Putri berpikir sebelum dia melanjutkan kata-katanya.
“Kita ngobrol di luar aja yuk ta, ngga enak kalo ngbrol di kamar mandi kayak gini.”
“Iya juga sih hahaha”
Aku dan putri menuju salah satu cafe yang ada di dalam gedung itu, bercerita panjang lebar tentang kehidupan kami masing-masing. Dan sepertinya putri berhasil mengalihkan pembicaraan sehingga aku tak bertanya lagi “Acara pernikahan siapa ini? Dan dimana Galih sekarang”.
“Ya ampun put, aku mesti balik nih, acaranya udah hampir selesai” kataku sambil melihat ke arah jam tangan.
“Oh iya ta, kamu harus cepet balik. Sana sana gih” Putri mengusirku.
“Duluan ya put” kataku padanya.
Ada sedikit tatapan kurang mengenakkan dimata putri saat dia melambaikan tangnnya kepadaku, tapi apa ya? Aku hanya mengabaikannya dan belari menuju tempat asalku. Sesekali tanpa senagaja senyum terbentuk di bibirku membayangkan aku bisa bertemu dengan Galih dan bisa berbicara padanya. Senyum itu tetap tersungging sampai aku kembali ke tempat ku.
“Sorry bang, lama. Tadi ketemu sama temen SMA saoalnya”
“Oh ga apa2, ini masih ada satu video lagi buat penutup. Lima menit lagi ya”
“Oh, oke bang. Aku siapin sekarang.”
Aku kembali asyik mengatur ini dan itu agar kulitas video yang tampil bisa sebagus mungkin. “Oke, ready” kataku dalam hati.
“Mulai mbak” seru abang soundman.
Dan “klik” aku menekan tombol enter di laptop. Aku melihat opening video itu, merasa kagum dengan elihannya. “Lumayan juga nih elihannya” batin ku dalam hati. Aku menyandarkan punggungku ke punggung kursi dan memutarnya menjauhi layar laptop. Aku membuka hp dan memainkan bebrapa game disana. 5 menit aku bosan main game, aku meletakkan hape diakntong dan membalikkan badan kembali menghadap layar laptop.  Alngkah terkejutnya aku ketika melihat foto-foto dalam video itu.
“Galih?”.
Sejenak aku kehilangan akal sehatku ketika mata terus mengikuti jalannya video itu. “Ini Galih, dan ini juga jawaban atas semua pertanyaanku”. Lirihku. Rasanya begitu sakit bahkan untuk menelan ludahku sendiri.  Aku menyandarkan punggungku ke punggung kursi. Terasa hampa seketika. Tapi tubuhku rasanya melayang, tanpa gravitasi, seperti jiwa yang terlepas dari raga. Entah berapa lama aku termenung dan kehilangan akal sehatku. Sepertinya SMS Arin berhasil membawaku kembali ke Alam sadar ku.
“Ta, cepetan turun, kita ketemu sama pengantinnya, acaranya udah selesai kali ta, betah banget disana sama Abang soundmand hahaha”
Tanpa membalas pesannya, kakiku yang lemas secara otomatis melangkah menuruni beberapa anak tangga menuju pelaminan. Aku berjalan dengan linglung, tabrakan bahu dengan oang yang berjalan berlawanan arah dengan ku  tak juga menyadarkanku hingga aku mengangkat pandanganku kearah pelaminan biru muda itu. Dari kejauhan, aku melihat dua mempelai, tapi entah kenapa pandanganku terasa kabur. Aku tetap tak bisa menjernihkan pengelihatkanku, atau entah aku yang tidak ingin menjernihkannya?. Kakiku yang lemas terus membawaku hingga sampai tepat pada pelaminan biru muda itu. Masih dengan penglihatan yang kabur, aku melihat sosok Arin dan Desak sedang berbincang dengan kedua mempelai. Ketika aku sampai tepat disamping Arin, suatu mukjizat mataku bisa kembali jernih.
“Anggita?” sebuah sapaan yang terdengar seperti sebuah keterkejutan keluar dari mulut mempelai pria.
Aku tak mampu mengucapkan sepatah katapun, mataku kembali menjadi rabun dan akan kembali jelas dketika aku mengedipkan mata. Yang aku tahu saat pandanganku mulai jelas, aku benar-benar percaya bahwa sosok berjas hitam didepan ku adalah Galih , dan saat pandanganku mulai jelas aku merasakan ada air yang membasahi pipiku. Hingga akhirnya aku tahu bahwa itu adalah Air mata.
Sepertinya tubuh dan perasaanku benar-benar tak sinkron, dengan sedikit menyunggingkan senyum, dan linangan airmata, hanya tiga kata yang keluar dari bibir ku “Semoga Kamu Bahagia”.
Aku pun berbalik dan melangkahkan kaki ku meninggalkan ruangan itu tanpa menghiraukan teriakan Arin dan Desak yang memanggil namaku.