Selasa, 19 September 2017

Tarik data absen ke web

Tarik Data dari Mesin Absensi X100C ke MySQL dan Menampilkan Kembali dengan PHP (Part-1)

http://budiarto82.blogspot.co.id/search/label/PHP

Catatan kali ini saya mencoba mendokumentasikan proses penarikan data dari mesin absensi Solution X100C kemudian menambahkan data tersebut ke dalam tabel MySQL dan menampilkannya kembali dengan skrip PHP. Cara alternatif yang saya gunakan ini 'sedikit tradisional' serta prosesnya lebih panjang dibandingkan dengan cara menarik data langsung dengan metode SOAP (tarik data menggunakan SOAP). Berikut persiapan dan Tools yang saya gunakan untuk penarikan data:
  • Akses ke mesin absensi X100C (Alamat IP, User dan Password). Lihat di buku manual atau tanyakan ke pihak SDM/terkait yang mengetahui,
  • MySQL for Excel Add-In, tool untuk mengekspor/import data dari MS Excel ke MySQL dan sebaliknya. [Download MySQL for Excel] [Dokumentasi MySQL for Excel]
  • MySQL Manager, saya menggunakan aplikasi HeidiSQL untuk melakukan operasi pada tabel,
  • XAMPP for Windows, untuk server Apache dan server DB MySQL,
  • Codelobster, editor PHP.
Mesin Absensi Solution X100C
Berikut langkah-langkah penarikan data dari mesin X100C:

  1. Buka halaman web konfigurasi mesin X100C:
    Contoh alamat web mesin absensi
  2. Masukkan login dan password. Secara default, Login: Administrator dan Password: 123456. Jika mesin terhubung ke jaringan publik (internet) sebaiknya password diganti!
    Halaman Login
  3. Setelah masuk ke dalam sistem, pilih menu: Terminal-> Download, kemudian atur periode waktu penarikan data. File yang di download memiliki ekstensi .dat.
    Download Data Absensi
  4. Selanjutnya buka file hasil download dengan MS Excel dan pastikan MySQL for Excel sudah terinstal dengan baik. Open 'All Files' untuk mengenali ekstensi dat
    Buka file hasil download dengan MS Excel
  5. Akan muncul kotak dialog 'Text Import Wizard' yang akan mengkonversi isi dari file dat ke format yang dikenali oleh Excel, tidak ada yang perlu diubah pada bagian ini
    Text Import Wizard
    Delimiter(pemisah) yang dipilih adalah [Tab]
  6. Berikut hasil penarikan data setelah di konversi ke format Excel. Kolom A: Id di presensi, Kolom B: Nama Karyawan, Kolom C: Waktu presensi (Datetime). Untuk kolom D dan E saya abaikan.
    Hasil Konversi Data
  7. Dikarenakan ID Presensi dan ID Karyawan pada tabel milik saya berbeda, harus dilakukan penyesuaian data. Field yang ada pada tabel absensi (nama tabel: presensi_tarik_data) yaitu: idpresensi(Primary Key), idmm (ID karyawan yang merupakan Foreign Key dari tabel karyawan_data_pribadi) dan att (mencatat waktu kehadiran).
    Desain Tabel Karyawan dan Absensi
  8. Selanjutnya lakukan penyesuaian data sesuai dengan kebutuhan pada tabel MySQL baik menghilangkan kolom yang tidak diperlukan maupun pengubahan data:
    Menghilangkan Kolom yang Tidak Diperlukan
    Sorting Data
    Penambahan ID Karyawan menggantikan ID Presensi Mesin
  9. Berikut contoh hasil penyesuaian data dimana kolom A:idpresensi(nomor record),kolom B:ID Karyawan dan Kolom C: Waktu Presensi (lihat desain tabel diatas-nomor 7):
    Hasil Penyesuaian Data
  10. Satu hal yang perlu diperhatian pada kolom A yaitu idpresensi, pada contoh data tabel diatas record yang masuk sudah mencapai ribuan, oleh karena itu harus dilihat record terakhir pada tabel sebelum kita mengekspor/menambahkan data excel ke MySQL. Cek dengan HeidiSQL atau aplikasi lain pada tabel absensi (presensi_tarik_data):
    Perhatikan Nilai tertinggi (Max) pada Kolom [idpresensi]

    Penambahan nomor record baru (No record terakhir di DB + 1)



    Jika terjadi duplikat nilai pada kolom [idpresensi] maka, proses ekspor akan gagal, dikarenakan terjadi duplikasi pada primary key [idpresensi].
  11. Langkah berikutnya adalah mengaktifkan MySQL for Excel dari Menu Data->MySQL for Excel:
    Mengatifkan MySQL for Excel
  12. Buat koneksi baru ke database:
    Membuat Koneksi Baru ke Database:
  13. Kemudian pilih Database dan Tabel yang menjadi tujuan ekspor data:
    Pilih Skema Database
    Pilih Tabel yang Menjadi Tujuan Expor Data
  14. Pilih semua cell yang berisi data pada sheet Excel:
    Pastikan cell dan tabel tujuan terpilih
  15. Kemudian pilih tombol [Append Excel Data to Table]
  16. Akan Muncul dialog box ekspor data, pastikan 'Mapping Method' yang dipilih adalah [Automatic] kemudian tekan tombol  [Append]
    Proses Ekspor ke Tabel MySQL
  17. Jika berhasil akan muncul seperti dibawah ini:
    Jika Proses Ekspor Data Berhasil
  18. Berikutnya cek data yang diekspor pada tabel MySQL
    Penambahan Data pada Tabel
Fungsi MySQL for Excel dapat digunakan secara luas selama data pada kolom Excel dan tabel di MySQL tersinkronisasi dengan baik. Pada tutorial berikutnya akan kita bahas cara menampilkan data hasil ekpor dari Excel menggunakan MySQL query dan PHP. Bersambung ...

Tidak ada komentar:

Posting Komentar