Deteksi Absen Masuk dan Pulang dari GLOG Mesin Finger

  1. 3 bulan yang lalu

    Dear team,

    salam kenal semua, mohon bantuan rekan-rekan untuk memberi masukkan formula terkait case berikut :
    saya mengolah data absen base glog dari mesin finger, tarikan data glog seperti berikut :

    07,07/16/2019,05:50,00,01,1232350411,00,07

    fyi : koma (,) adalah separator, jadi pengertian berikut diabaikan ya.

    07 adalah nomor mesin finger
    07/16/2019 adalah bulan/tanggal/tahun
    05:50 adalah jam hh:mm
    00,01 adalah kode masuk (tidak menekan tombol F4) ==> 00,02 adalah kode keluar (menekan tombol F4)
    1232350411 adalah NIK karyawan
    00,07 adalah nomor mesin

    case yang sering terjadi adalah karyawan sering tertukar antara absen masuk dan keluar.
    rule untuk proses absen adalah jika kondisinya absen masuk tidak menekan tombol apapun (hanya tap sidik jari)
    jika kondisinya absen pulang, maka menekan F4 dan tap sidik jari.
    karyawan sering tertukar : masuk menekan F4 dan atau pulang tidak menekan F4, sehingga datanya jadi agak sulit diolah.

    FYI :
    Tidak menekan F4 menghasilkan data 00,01 ==> masuk
    Menekan F4 menghasilkan data 00,02 ==> pulang

    berikut capture dan case lebih detil :

    -image-

    data yang tidak sesuai terjadi dikolom E dan F, jika dikolom E ada nilai 1 maka baris data tersebut terdeteksi sbg absensi masuk, jika pada kolom F ada nilai 1 maka baris data tsb terdeteksi sbg absensi pulang.
    terlampir juga untuk file excelnya.

    sebelum dan sesudahnya, mohon maaf dan terima kasih semua.
    Salam
    case absen.xlsx

    @dendi ...

    Terlampir perbaikan formula sebelumnya. Tetap menggunakan formula, namun diganti menggunakan fungsi COUNTIF dan fungsi COUNTIFS. Mungkin masih ada kondisi-kondisi yang belum terakomodir formulasinya. Untuk kondisi yang mungkin masih tidak tepat, namun pada contoh belum ada datanya dan atau belum dapat saya pastikan bagaimana aktualnya, saya tandai dengan huruf tertentu (di dalam formulanya). Mungkin saja nantinya akan muncul...

    Untuk pengujian sebagaimana yang saya prediksi di atas:

    Mungkin bisa dicoba dengan ketentuan jam yang akan diperiksa antara jam 06:00 sampai dengan jam 20:00, dengan pembatas jam 12:00 (batas Log-in dan Log-Out). Di atas jam 20:00 akan kembali ditentukan sebagai Log-in (dengan jam Log-Out = H+1).

    belum dapat diterapkan oleh karena tetap dibutuhkan acuan yang pasti agar hasilnya bisa lebih tepat. Jadi formula yang ada masih mengandalkan pemeriksaan jumlah data dari setiap kondisi. Memang tidak akan presisi, namun mudah-mudahan sudah dapat memudahkan pekerjaan. Mungkin bisa juga dibantu dengan koreksi secara manual pada kolom validasi...

    Silahkan dicoba dengan kondisi absensi yang ada. Sebaiknya gunakan data absensi harian agar tidak terlalu banyak data yang diuji sehingga tidak membuat lambat proses kalkulasi. Silahkan diskusikan kembali jika ada yang belum tepat...

    Demikian.

  2. anyone can help me?
    atau informasinya kurang lengkap?
    mohon feedbacknya. :)

  3. Caton

    Agu 3 Terverifikasi Indonesia + 14.631 Poin
    Di sunting 3 bulan yang lalu oleh Caton

    @dendi ...

    Coba gunakan tabel bantu untuk menyusun ulang data absensi tersebut. Kalau memungkinkan, gunakan macro VBA. Contoh yang saya buat mungkin belum mengakomodir semua kondisi absensi, namun mudah-mudahan dapat membantu memudahkan dalam menyusun data absensi yang lebih tepat. Contoh terlampir...

  4. 2 bulan yang lalu
    Di sunting 2 bulan yang lalu oleh dendi

    mas @Caton , terima kasih untuk updatenya. mohon maaf juga saya baru reply.
    Untuk formulanya sudah sangat mengakomodir errornya mas, terima kasih banyak . namun saya lupa beri kondisi jika absennya sudah sesuai. sehingga kalo saya tarik datanya kebawah, kondisi sesuai tsb. terbaca error.

    berikut contohnya (data sesuai yang terbaca error yang berada dalam kotak) :

    -image-

    untuk data absen yang sesuainya :

    07,08/02/2019,06:02,00,01,1111342256,00,07
    07,08/02/2019,15:00,00,02,1111342256,00,07
    07,05/19/2019,21:51,00,01,1425684394,00,07
    07,05/20/2019,06:31,00,02,1425684394,00,07
    07,08/15/2019,13:40,00,01,1528469842,00,07
    07,08/15/2019,22:31,00,02,1528469842,00,07

    Baiknya formulanya diupdate seperti apa ya mas?
    karena saya awam sekali melihat formulanya.

  5. Caton

    Agu 16 Terverifikasi Indonesia + 14.631 Poin

    @dendi ...

    Formulanya memang agak kompleks mas, apalagi tanpa kolom bantu. Terutama saat absensi beda hari (misalkan masuk malam, pulang pagi)... Asli bikin pusing... :D

    Ada baiknya dilampirkan contoh file dengan kondisi yang dimaksud.

  6. Di sunting 2 bulan yang lalu oleh dendi

    mas @Caton ,

    oalah, sekelas mas @Caton aja pusing, apalagi saya mas. *nangis dipojokan. :'(
    oia mas, terlampir ya mas untuk data yang sesuainya. :)

    *datanya 6 baris paling bawah.

  7. Caton

    Agu 16 Terverifikasi Indonesia + 14.631 Poin

    @dendi ...

    ... oalah, sekelas mas @Caton aja pusing, apalagi saya mas. *nangis dipojokan. :'( ...

    Bisa aja mas @dendi ini ... :D Kalau pake formula, ya gitu mas... formulanya terlalu kompleks karena ada banyak kondisi yang harus diuji. Jika terlalu rumit pake formula, mungkin saya akan coba pake macro, mungkin bisa lebih mudah. Yang penting ada solusi khan mas...

    Saya coba periksa kembali dahulu kondisinya, namun saya tidak berjanji bisa cepat. Jadi silahkan periksa kembali diskusinya dalam beberapa hari ke depan... :)

    Demikian.

  8. oh iya mas @Caton , dengan senang hati menunggu. karena sejauh ini browsing sana-sini nemu yang sesuai baru disini.

    hatur nuhun ya mas. :)

  9. Caton

    Agu 16 Terverifikasi Indonesia + 14.631 Poin

    @dendi ...

    Terlampir perbaikan formulanya mas. Mudah-mudahan sesuai. Jika masih ada kondisi lain yang belum terproses, silahkan diskusikan kembali...

    ... hatur nuhun ya mas. :) ...

    Sama-sama mas @dendi ...

    Demikian.

  10. Di sunting 2 bulan yang lalu oleh dendi

    mas @Caton ,

    waaaa.. daebak mas. :D
    sudah sesuai, barusan tak coba case untuk absen yg sesuai dan udah ok. :)
    barusan simulasi juga case2 yang sering ditemui, namun memang untuk absensi ini kemungkinan error nya lebih bervariasi dibanding absen yang sesuai dan mungkin bisa dibilang juga unpredictable.

    contoh 1 :
    disaya ada karyawan dalam 1 tanggal yang sama melakukan 3x tap absen, untuk masuk-pulang-masuk dan pulang kembali di tanggal berikutnya (H+1).

    -image-

    untuk 3xtap absen sudah sesuai namun untuk absen pulang dihari berikutnya terbaca tidak sesuai (merah, harusnya terisi nilai 2 karena absen pulang - M31).

    contoh 2 :
    case berikutnya, jika ada karyawan yang melakukan kesalahan tap absen pada saat masuk malam, dan mengulangi proses tap absen untuk mengkoreksi kesalahan tsb (A35 dikoreksi selisih menit di kolom A36). ternyata itu mempengaruhi nilai kolom M

    -image-

    contoh 3 :
    case berikutnya sering terjadi pada karyawan baru yang masih sering lupa jika ketika absen pulang harus menekan F4, sehingga ybs. ketika proses absen pulang disamakan dengan absen masuk. dan kadang masih lupa untuk melakukan absen masuk, jadi ditanggal tersebut hanya ada absen pulangnya saja dan itupun tidak menekan F4 :( .

    -image-

    contoh 4 :
    case ke 4 kurang lebih hampir sama dengan case ke 3, hanya saja aja untuk clocking absen masuk dan pulang kadang beda tanggal dan kadang ditanggal yang sama, dan tentunya ikut mempengaruhi kolom M.

    -image-

    terlampir juga untuk file excel terkait case2 diatas.
    sebelum dan sesudahnya, hatur nuhun mas @Caton

  11. Caton

    Agu 18 Terverifikasi Indonesia + 14.631 Poin

    @dendi ...

    Sebenarnya, sulit untuk memformulasikan kondisi yang terjadi dikarenakan ada beragam kondisi yang terjadi, dan kadang kala secara formulasi kondisinya sudah benar, namun aktualnya salah. Misalkan pada baris ke-39, oleh karena tidak ditemukan duplikasi data, maka absensi dianggap sebagai Log-In (atau Masuk, nilai = 1), namun aktualnya yang itu adalah absensi Log-Out (keluar, nilai = 2).

    Sebelumnya saya pernah juga melakukan diskusi dengan kasus yang hampir serupa seperti ini. Solusinya saat itu adalah dengan membandingkan jam Shift pegawai terkait. Jadi ada tabel data lain yang menjadi acuan untuk membandingkan nilai jam pada absensi dengan nilai rentang jam setiap Shift.

    Kalau bisa, coba diinformasikan rentang jam setiap Shift pegawai, misalkan:

    SHIFT 1 = 06:00 - 12:00
    SHIFT 2 = 12:00 - 18:00
    SHIFT 3 = 18:00 - 00:00
    SHIFT 4 = 00:00 - 06:00

    atau kalau ada tabulasi jam kerja harian dari seluruh pegawai. Mungkin nanti bisa dicoba dengan membandingkan jam absensi dengan jam kerja aktualnya...

    Demikian.

  12. mas @Caton

    betul mas, beberapa kali juga saya diskusi dengan rekan-rekan lain, salah satu alat validasi jam masuk atau jam pulang adalah via jadwal harian. Namun aktual dilapangan, terkadang jadwal akan selalu menyesuaikan kebutuhan karena efektifitas. Namun dari jadwal yang bisa dikatakan fleksibel itu, yang bisa ditarik nilai pasti adalah jumlah jam pasti akan selalu range 7 sampai 12 jam, dengan asumsi :
    7 jam adalah nilai terkecil bagi rekan2 yang masuk 6 hari kerja
    8 jam adalah nilai terkecil bagi rekan2 yang masuk 5 hari kerja
    8 hingga 12 jam adalah pulang terlambat, baik karena lembur atau hal lainnya.

    asumsi diatas tidak termasuk bagi rekan-rekan yang ada izin dihari kerja atau lembur ketika dihari libur, ini untuk mempersempit kemungkinan saja.

    Apakah dengan asumsi2 yang disebutkan diatas, dengan tanpa mengetahui jadwal, sudah bisa terdeteksi jam masuk atau pulang mas?
    atau kah tetap harus via jadwal?

  13. Caton

    Agu 18 Terverifikasi Indonesia + 14.631 Poin

    @dendi ...

    Mungkin bisa dicoba dengan ketentuan jam yang akan diperiksa antara jam 06:00 sampai dengan jam 20:00, dengan pembatas jam 12:00 (batas Log-in dan Log-Out). Di atas jam 20:00 akan kembali ditentukan sebagai Log-in (dengan jam Log-Out = H+1).

    Namun secara umum memang tetap akan ada hasil yang tidak tepat dikarenakan tidak ada acuan yang pasti. Dalam hal ini, mau tidak mau, harus dilakukan pemeriksaan secara manual...

    Saya akan coba dengan menggunakan macro VBA saja ya mas @dendi. Menggunakan formula biasa terlalu kompleks dan repot saat mau menelusuri alur proses dan hasilnya...

    Scriptnya sudah saya buat, sampai dengan kondisi awal. Untuk kondisi terakhir masih saya cari kriteria kondisionalnya. Nanti saya coba lampirkan hasilnya..

    Demikian.

  14. 8 minggu lalu

    Caton

    Agu 20 Terverifikasi Jawaban Terpilih Indonesia + 14.631 Poin

    @dendi ...

    Terlampir perbaikan formula sebelumnya. Tetap menggunakan formula, namun diganti menggunakan fungsi COUNTIF dan fungsi COUNTIFS. Mungkin masih ada kondisi-kondisi yang belum terakomodir formulasinya. Untuk kondisi yang mungkin masih tidak tepat, namun pada contoh belum ada datanya dan atau belum dapat saya pastikan bagaimana aktualnya, saya tandai dengan huruf tertentu (di dalam formulanya). Mungkin saja nantinya akan muncul...

    Untuk pengujian sebagaimana yang saya prediksi di atas:

    Mungkin bisa dicoba dengan ketentuan jam yang akan diperiksa antara jam 06:00 sampai dengan jam 20:00, dengan pembatas jam 12:00 (batas Log-in dan Log-Out). Di atas jam 20:00 akan kembali ditentukan sebagai Log-in (dengan jam Log-Out = H+1).

    belum dapat diterapkan oleh karena tetap dibutuhkan acuan yang pasti agar hasilnya bisa lebih tepat. Jadi formula yang ada masih mengandalkan pemeriksaan jumlah data dari setiap kondisi. Memang tidak akan presisi, namun mudah-mudahan sudah dapat memudahkan pekerjaan. Mungkin bisa juga dibantu dengan koreksi secara manual pada kolom validasi...

    Silahkan dicoba dengan kondisi absensi yang ada. Sebaiknya gunakan data absensi harian agar tidak terlalu banyak data yang diuji sehingga tidak membuat lambat proses kalkulasi. Silahkan diskusikan kembali jika ada yang belum tepat...

    Demikian.

  15. mas @Caton ,
    mohon maaf sekali baru reply karena baru check lagi.

    iya mas, memang keadaan normalnya memang harus ada parameter yang pasti terkait case yg disebutkan. Namun saya sudah menggunakan formula yang mas @Caton update terakhir, dari sekitar 200rbuan data, cukup signifikan sekali perbedaan datanya, jauh semakin valid.

    sementara untuk formula terakhir saya coba pakai dan x check kembali, kalau ada yang ingin didiskusikan, saya pastikan akan kembali ke thread ini. :) :D

    sebelum dan sesudahnya hatur nuhun ya mas atas formulanya, bermanfaat sekali buat saya dan rekan2 lain yang mungkin casenya hampir serupa. :)

    Salam

  16. Caton

    Agu 22 Terverifikasi Indonesia + 14.631 Poin

    Sama-sama mas @dendi ... Semoga pekerjaannya jadi lebih ringan... :)

 

atau Mendaftar untuk ikut berdiskusi!