Anda di halaman 1dari 3

Kali ini saya akan membahas tentang bagaimana mengambil data absensi dari mesin fingerprint

solution x100c dengan PHP SOAP? apa tujuannya.? dan apa keuntungannya.?

Tujuannya adalah untuk memudahkan pengambilan data absensi bila anda mempunyai aplikasi
atau sedang membangun suatu aplikasi yang terintegrasi dengan mesin absensi sehingga bisa ambil
data secara realtime.

Keuntungannya adalah meninggalkan cara lama dengan export data kemudian import data ke
aplikasi yang sedang di buat atau aplikasi yang sudah ada, kegiatan seperti ini tentu merepotkan
juga mempermudah pekerjaan.

Dengan mengambil data langsung dari finger print solutiob X100C banyak hal yang bisa
dikembangkan, misalnya keperluan data untuk makan di kantin agar sesuai pesanan dengan jumlah
karyawan yang masuk, itu hanya salah satu contoh masih banyak hal yang lain yang bisa di
kembangkan.

Langsung saja berikut adalah sorce code PHP nya untuk ambil data dari mesin fingerprint
X100C :

<?php
$IP = "192.168.1.1"; //isi dengan ip fingerprint
$Key = "0";

$Connect = fsockopen($IP, "80", $errno, $errstr, 1);


if ($Connect) {
$soap_request = "<GetAttLog>
<ArgComKey xsi:type=\"xsd:integer\">".$Key."</ArgComKey>
<Arg><PIN xsi:type=\"xsd:integer\">All</PIN></Arg>
</GetAttLog>";

$newLine = "\r\n";
fputs($Connect, "POST /iWsService HTTP/1.0".$newLine);
fputs($Connect, "Content-Type: text/xml".$newLine);
fputs($Connect, "Content-Length:
".strlen($soap_request).$newLine.$newLine);
fputs($Connect, $soap_request.$newLine);
$buffer = "";
while($Response = fgets($Connect, 1024)) {
$buffer = $buffer.$Response;
}
} else echo "Koneksi Gagal";

$buffer = Parse_Data($buffer,"<GetAttLogResponse>","</GetAttLogResponse>");
$buffer = explode("\r\n",$buffer);

for ($a=0; $a<count($buffer); $a++) {


$data=Parse_Data($buffer[$a],"<Row>","</Row>");

$export[$a]['1'] = Parse_Data($data,"","");
$export[$a]['2'] = Parse_Data($data,"","");
$export[$a]['3'] = Parse_Data($data,"","");
}
echo '<pre>';
print_r($export);

function Parse_Data ($data,$p1,$p2) {


$data = " ".$data;
$hasil = "";
$awal = strpos($data,$p1);
if ($awal != "") {
$akhir = strpos(strstr($data,$p1),$p2);
if ($akhir != ""){
$hasil=substr($data,$awal+strlen($p1),$akhir-strlen($p1));
}
}
return $hasil;
}
?>

Silahkan copas code di atas dan simpan dengan nama finger.php di direktori C:/XAMPP/htdocs
kemudian jalankan dengan memanggil file via URL di web browser, silahkan ketikkan URL
berikut localhost/finger.php

jika berhasil anda akan mendapatkan data berupa array multidimensi atau array di dalam array
seperti screenshot di bawah ini :

Untuk memanggil array multidimensi secara otomatis kita bisa memanfaatkan looping
pemanggilan array multidimensi, silahkan copas kode di bawah ini,

foreach ($export as $datamu => $nilai)


{

foreach ($nilai as $export => $value)


{
echo ""." ".$datamu[1]." ".$export[2]." "." ".$value."
";
}
}

setelah di copas kemudian simpan ke dalam file finger.php tambahkan kode tersebut di akhir
file, kemudian jalankan dengan mengetikkan URL localhost/finger.php, jika berhasil maka anda
akan mendapatkan data seperti gambar di bawah ini

Nah, dari penjelasan di atas anda bisa memanfaatkan data tersebut sesuai kebutuhan anda,
semoga penjelasan singkat ini bisa bermanfaat dan berguna untuk anda yang membutuhkannya,
silahkan di coba dan dipraktekkan karena kegagalan sesungguhnya adalah tidak pernah mencoba.

Anda mungkin juga menyukai