Studi Kasus HRIS 8 — Memisahkan Masalah Aturan dari Masalah Data
Studi Kasus HRIS 8 — Memisahkan Masalah Aturan dari Masalah Data
Contoh penerapan tambahan; data simulasi dan pembahasan mandiri.
| Domain | Isi |
|---|---|
| Karyawan | Andi, Budi, Citra |
| Departemen | IT, Keuangan |
| Tanggal | 10 Juli, 11 Juli |
| Predikat | Bernilai true tepat untuk |
|---|---|
| Karyawan(x) | Andi, Budi, Citra |
| MemilikiSisaCuti(x) | Andi, Budi |
| DisetujuiAtasan(x) | Andi, Citra |
| Probation(x) | Budi |
| DisetujuiHRD(x) | Tidak ada |
| BekerjaPada(x,d) | (Andi,IT), (Budi,IT), (Citra,Keuangan) |
| KuotaPenuh(d,t) | (IT,11 Juli) |
| CutiDiproses(x,t) | (Andi,10 Juli), (Andi,11 Juli) |
Ketentuan sumber: selain tuple yang tercantum, predikat bernilai false. Tidak ada tahun yang diberikan untuk tanggal; 10 Juli dan 11 Juli cukup diperlakukan sebagai dua label objek berbeda.
Aturan yang digunakan
Aturan yang harus dianalisis:
Situasi contoh
Kita memisahkan kesalahan aturan dari kesalahan data, lalu memperbaiki model sambil menjaga kejadian cuti yang sah.
Gunakan data Tugas 7 dan aturan F2, F3, F4 di atas. Budi sedang probation tetapi tidak mendapat persetujuan HRD. Cuti Andi pada 11 Juli diproses ketika kuota IT penuh; cutinya pada 10 Juli juga diproses.
Langkah penyelesaian
Petugas menemukan dua kesalahan, lalu bertanya apa yang harus diperbaiki. Menghapus semua data pemrosesan memang dapat menghilangkan pelanggaran kuota, tetapi akan menghilangkan saksi F4 juga. Mengubah simbol saja tidak menyelesaikan catatan Andi yang bertentangan. Kita perlu memeriksa aturan dan data sebagai satu paket, kemudian mempertahankan kejadian yang memang memenuhi syarat.
1. Satisfiable, Contradictory, dan Consistent
Jawaban utama: kumpulan aturan F2,F3,F4 bersama seluruh fakta data asli tidak konsisten. Namun aturan F2,F3,F4 tanpa data yang memaksakan pelanggaran dapat dipenuhi bersama.
| Istilah | Arti sederhana | Penerapan pada kasus |
|---|---|---|
| Satisfiable | Ada paling sedikit satu interpretasi yang membuat benar | F4 dipenuhi oleh data Andi–10 Juli; F2 juga dapat benar pada data lain yang memberi HRD kepada seluruh karyawan probation |
| Contradictory | Tidak ada interpretasi yang membuat kalimat itu benar | F2 sendiri bukan contradictory; tetapi konjungsi F2 dengan fakta Budi probation dan Budi tidak disetujui HRD tidak dapat benar |
| Consistent | Ada satu interpretasi yang membuat semua anggota kumpulan benar bersama | F2,F3,F4 saja consistent; jika seluruh fakta data asli diwajibkan juga, kumpulannya tidak consistent |
Letak pertentangan pertama: data memberi Probation(Budi)=true dan DisetujuiHRD(Budi)=false. Instansiasi F2 pada Budi menuntut persetujuan HRD=true. Jadi model bersama akan dipaksa membuat predikat yang sama true sekaligus false.
Letak pertentangan kedua: data memberi Karyawan(Andi), BekerjaPada(Andi,IT), KuotaPenuh(IT,11 Juli), dan CutiDiproses(Andi,11 Juli), semuanya true. Instansiasi F3 memaksa ¬CutiDiproses(Andi,11 Juli) true. Lagi-lagi satu fakta dan negasinya dipaksa benar bersama.
Pernyataan “selain yang tertulis dianggap false” sangat berpengaruh. Tidak adanya nama Budi di daftar HRD bukan sekadar “belum tahu”; dalam interpretasi soal, itu berarti false. Jika ketentuan ini tidak ada, ketiadaan catatan belum otomatis menjadi negasi fakta.
Model pembanding untuk menunjukkan aturan saja satisfiable: pertahankan domain, pekerjaan, dan kuota; dalam skenario hipotetis terpisah, beri HRD kepada Budi dan proses hanya Andi–10 Juli. F2 benar, F3 benar karena tidak ada pemrosesan saat kuota penuh, dan F4 benar dengan saksi Andi–10 Juli. Dengan demikian F2,F3,F4 bukan kumpulan yang mustahil secara bawaan. Perubahan HRD ini hanya model pembuktian keberadaan, bukan pernyataan bahwa Budi sungguh mendapat izin pada data sumber.
2. Closure — Menentukan Siapa yang Dicakup Aturan
Ambil formula terbuka
Variabel bebasnya x,d,t. Bila petugas hanya menulis H, ia belum menyatakan bahwa larangan berlaku untuk semua karyawan, semua departemen, dan semua tanggal. Universal closure-nya adalah
Existential closure
3. Substitusi Aman — Mengganti Objek Tanpa Mengubah Cakupan
Untuk memeriksa pelanggaran F3, ambil H(x,d,t) yang terbuka lalu ganti x←Andi, d←IT, t←11 Juli. Hasilnya H(Andi,IT,11 Juli). Ketiga pengganti adalah konstanta yang cocok jenis objeknya dan tidak mempunyai variabel bebas, sehingga tidak tertangkap kuantifier.
Secara lengkap langkah ini adalah instansiasi universal F3, yang menggunakan penggantian aman pada bagian H. Jangan sekadar mengganti tulisan x pada kalimat tertutup ∀x∀d∀tH dan mengira pemunculan terikat x adalah pemunculan bebas yang boleh diganti oleh operator substitusi bebas.
Penjelasan tambahan tentang renaming. Untuk melihat bahaya penangkapan variabel, pakai dua predikat ilustrasi: AtasanDari(y,x), berarti y atasan x; Menyetujui(y,x), berarti y menyetujui pengajuan x. Keduanya khusus untuk menjelaskan teknik, bukan tambahan data sesi 7.
x adalah karyawan yang sedang dibahas; y berjalan di antara orang-orang yang menjadi atasannya. Jika x hendak diganti variabel y, penggantian langsung menghasilkan ∀y(AtasanDari(y,y)⇒Menyetujui(y,y)). y yang baru masuk menjadi terikat dan artinya berubah menjadi hubungan seseorang dengan dirinya sendiri.
Cara aman: rename pengikat y menjadi z yang segar dahulu, lalu ganti x dengan y:
y pengganti sekarang tetap bebas; z tetap menunjuk orang yang diperiksa sebagai atasan. Teknik ini menjaga makna penggantian. Ia tidak otomatis membuat data sumber konsisten: keamanan substitusi dan kebenaran kebijakan merupakan pemeriksaan berbeda.
4. Usulan Perbaikan Aturan dan Data
Kita memilih penafsiran kebijakan persetujuan HRD diwajibkan ketika pengajuan probation diproses. Karena itu, rumus F2 yang semula terlalu luas diganti secara eksplisit dengan
Budi tidak harus diberi persetujuan fiktif. Selama belum disetujui HRD, pengajuannya tidak boleh diproses. Jika perusahaan memang menghendaki F2 lama berlaku bagi semua karyawan probation tanpa mengaitkan pengajuan, F2 lama tidak boleh dianggap terpenuhi pada data Budi saat ini; diperlukan perubahan kebijakan atau persetujuan nyata yang kemudian dicatat.
Tambahkan arah yang sebelumnya belum ada: semua keputusan pemrosesan harus memenuhi syarat. Dengan jenis variabel yang telah ditetapkan:
Artinya, bila cuti diproses, harus ada departemen tempat karyawan itu bekerja yang memenuhi syarat L. Untuk data kasus, setiap karyawan mempunyai tepat satu departemen. Asumsi model perbaikan: gunakan satu departemen penanggung jawab per pengajuan; bila boleh lebih dari satu, tentukan kebijakan kuota departemen mana yang berlaku. Tanpa penegasan itu, “ada satu departemen yang layak” belum memastikan seluruh pembatas beberapa departemen dipatuhi.
Pertahankan F1 sebagai arah syarat cukup dan F3 sebagai larangan kuota. Bila perusahaan menghendaki gerbang yang sepenuhnya ditentukan oleh syarat ini, tanpa penundaan atau jalur pengecualian lain, dua arah tersebut boleh diringkas menjadi
Ini usulan kebijakan yang diperjelas, bukan konsekuensi yang sudah diberikan oleh F1 lama. F4 tetap hanya pernyataan bahwa pada data ini ada pemrosesan; sistem tidak harus memaksakan F4 pada setiap hari ketika mungkin tidak ada satu pun pengajuan layak.
Perbaikan catatan kasus: dalam skenario koreksi, hapus pasangan (Andi,11 Juli) dari relasi CutiDiproses karena kuota IT tanggal itu penuh. Pertahankan (Andi,10 Juli). Data lainnya, termasuk HRD Budi=false, tetap. Ini usulan koreksi model.
| Kasus setelah koreksi | Keputusan dan alasan |
|---|---|
| Andi–10 Juli | Diproses: saldo ada, atasan setuju, kuota belum penuh, tidak probation |
| Andi–11 Juli | Tidak diproses: kuota IT penuh |
| Budi–kedua tanggal | Tidak diproses: atasan belum setuju dan syarat HRD probation belum terpenuhi; pada 11 Juli kuota juga penuh |
| Citra–kedua tanggal | Tidak diproses: sisa cuti tidak ada |
Pemeriksaan hasil usulan: hanya Andi–10 Juli memenuhi
Urutan berpikir delapan sesi kini tersambung: tulis arti simbol, tentukan nilai, temukan contoh gagal, buktikan kesimpulan dari premis, perbarui bagian aturan, sebut objeknya, periksa semua data, lalu perbaiki kebijakan dan catatan yang memang bertentangan.