TIKI / titipan kilat untuk saat ini memang belum mempunyai sebuah layanan web service untuk memudahkan para pemilik toko online dalam melakukan perhitungan tarif. Pada halaman web dari tiki online sendiri sebenarnya telah di sediakan sebuah tool untuk menghitung tarif yang dibebankan untuk sebuah pengiriman.
Pada bahasan kali ini akan coba di buat sebuah parser untuk halaman penghitungan tarif tersebut. Untuk ini kita membutuhkan sebuah library tambahan yaitu “PHP Simple HTML DOM Parser” . Library ini akan memudahkan script kita dalam memproses sebuah struktur HTML, sehingga bisa dilakukan pengambilan data-data yang di perlukan saja. Di butuhkan juga dukungan untuk cURL pada server yang kita gunakan.
Dari halaman perhitungan tarif Tiki Online kita akan dapati sebuah form yang terdiri dari 3 buah input teks, yaitu Origin, Destination dan Weight. Form tersebut di arahkan ke halaman yang sama, dalam hal melakukan proses perhitungannya.

Contoh penghitungan tarif
Berikut adalah contoh kode yang di gunakan untuk perhitungan :
/****************************************************************
Version: 0.01
Website: http://www.int2k.web.id/
Author: int2k
Licensed under The MIT License
Redistributions of files must retain the above copyright notice.
*****************************************************************/
include "simple_html_dom.php";
$url = "http://www.tiki-online.com/tardom.asp";
$ch = curl_init();//Initialise CURL
curl_setopt($ch, CURLOPT_URL, $url);//Set the url
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);//We want the data to return
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 10);//Of course, we don't want your script to run forever, so set a timeout
curl_setopt($ch, CURLOPT_POST, true);//We want to request the page by post
curl_setopt($ch, CURLOPT_POSTFIELDS, "TxtOrg=Jakarta&TxtDest=Bandung&TxtWg=1");//Post the fields
$text = curl_exec($ch);
curl_close($ch);
$html = str_get_html($text);
$dataall = array();
foreach( $html->find('tr[bgcolor!=#A6A5A5]') as $hasil)
{
$data['service'] =
preg_replace("(^\s|\s$)", "",
str_replace(" ", "",
str_replace("-", "",
str_replace("\r\n","",
$hasil->find("td[width='350']",0)->plaintext." "))));
preg_match("(\(.*\))",$data['service'],$kode);
$data['kode']=preg_replace("(\(|\))","",$kode[0]);
$data['biaya'] = (float) preg_replace("([\.,])","",
str_replace(" ","",
str_replace("-","",str_replace("\r\n","",
$hasil->find("td[width='250']",0)->plaintext))));
$dataall[]=$data;
}
var_dump($dataall);
$html->clear();
$hasil->clear();
unset($html);
unset($hasil);
Hasil dari kode di atas kira-kira adalah sebagai berikut :

Contoh hasil parsing tarif TIKI
Bagian utama dari parser ini berada pada bagian foreach yang akan mengambil hasil dari perintah $html->find(‘tr[bgcolor!=#A6A5A5]‘). Perintah ini maksud nya mencari element HTML TR yang memiliki elemen bgcolor tidak sama dengan #A6A5A5. Elemen ini di pilih setelah melihat kedalam source dari halaman perhitungan tarif setelah selesai memproses form, yaitu elemen yang menampung tabel hasil perhitungan.
Kode di atas hanya merupakan sebuah kode dasar, namun cukup lengkap untuk kemudian digunakan dalam membantu perhitungan sesungguhnya pada sebuah toko online. Silahkan jika ada yang ingin mengembangkan lebih lanjut sehingga bisa langsung di pakai sebagai modul pada script e-commerce.


Mantep oM
wah… keren banget om….
ane coba ahh….
Beugh, bahasa dewa bener2 dah. Ane bantu sundul gan
:sup:
good post bro
semoga TIKI ngehire org spt ente
buat nyediain APInya dlm JSON atw XML
nice info om itik
numpang baca dulu gan …………….
ane bantu sundul
nice info..