BAB IV IMPLEMENTASI SISTEM
4.3.5 Sistem Interface
4.3.5.2 Input
4.3.5.2.4 Form Daftar Pegawai
Gambar 4.23 Form Daftar Pegawai
Form Daftar Pegawai digunakan oleh bagian personalia untuk mendaftar
data pribadi dan data sidik jari pegawai. Berikut adalah listing program yang
digunakan untuk mendaftar data pribadi pegawai :
Private Sub CmdSave1_Click()
ID_Peg = txtID.Text
NIP = txtNIP.Text
Nama = txtNama.Text
Departemen = ComboDepartemen.Text
Gol = txtGolongan.Text
Jabatan = txtJabatan.Text
Alamat = txtAlamat.Text
tgl = Day(DTPAwalKerja)
bln = Month(DTPAwalKerja)
thn = Year(DTPAwalKerja)
AwalKerja = Trim$(Str$(thn)) + "-" + Trim$(Str$(bln)) + "-" +
Trim$(Str$(tgl))
NIP_Pegawai like '" & NIP & "' ", Koneksi
If Not RecordPegawai_SudahAda.EOF Then
Pesan_NIP_SudahAda = MsgBox("NIP Pegawai " & NIP & " sudah
terdaftar dengan nama " & RecordPegawai_SudahAda!Nama_Pegawai,
vbOKOnly, "Sudah Terdaftar")
txtNIP.Text = ""
txtNIP.SetFocus
RecordPegawai_SudahAda.Close
Exit Sub
ElseIf (txtNama.Text = "") Or (txtNIP.Text = "") Or
(ComboDepartemen.Text = "Pilih Departemen...") Or
(ComboDepartemen.Text = "") Or (txtGolongan.Text = "") Or
(txtJabatan.Text = "") Or (DTPAwalKerja.Value = "") Or
(txtAlamat.Text = "") Then
PesanKosong = MsgBox("Maaf Anda Harus Mengisikan Data Pegawai
Terlebih Dahulu Dengan Lengkap", vbCritical, "Peringatan")
Clear_FormDaftar
txtNama.SetFocus
RecordPegawai_SudahAda.Close
Exit Sub
Else
sqlString = " SELECT ID_Personalia from bagianpersonalia where
ID_Personalia = " & ID_Per & " "
RecordIDLogin.Open sqlString, Koneksi
Id = RecordIDLogin!ID_Personalia
sqlQueryIDBagianPersonalia = " SELECT ID_Personalia from
bagianpersonalia where ID_Personalia =" & Id & " "
RecordIDPersonalia.Open sqlQueryIDBagianPersonalia, Koneksi
ID_Personalia = RecordIDPersonalia!ID_Personalia
sqlQueryID = " SELECT ID_Departemen from departemen where
Nama_Departemen ='" & ComboDepartemen & "' "
RecordDep.Open sqlQueryID, Koneksi
ID_Dep = RecordDep!ID_Departemen
'--Melaksanakan stored procedured Tambah_Pegawai untuk menyimpan
pegawai
Koneksi.Execute "call Tambah_Pegawai('" & ID_Peg & "'," &
ID_Personalia & ", " & ID_Dep & ",'" & txtNIP & "', '" & txtNama &
"','" & txtAlamat & "','" & txtJabatan & "', '" & txtGolongan &
"','" & AwalKerja & "')"
FrameDaftar2.Enabled = True
CmdSave1.Enabled = False
RecordIDLogin.Close
RecordIDPersonalia.Close
RecordDep.Close
RecordPegawai_SudahAda.Close
CmdRun1.SetFocus
End If
End Sub
Berikut adalah Stored Procedure Tambah_Pegawai() yang digunakan
untuk menambah data pribadi pegawai :
DELIMITER $$;
DROP PROCEDURE IF EXISTS `fingerprint`.`Tambah_Pegawai`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `Tambah_Pegawai`(
pID_Pegawai varchar(5),
pBagianPersonalia_ID_Personalia int(10),
pDepartemen_ID_Departemen int(10),
pNIP_Pegawai varchar(10),
pNama_Pegawai varchar(45),
pAlamat_Pegawai varchar(45),
pJabatan_Pegawai varchar(45),
pGol_Pegawai varchar(20),
pAwal_Kerja date)
BEGIN
insert into pegawai
values( pID_Pegawai,
pBagianPersonalia_ID_Personalia ,
pDepartemen_ID_Departemen ,
pNIP_Pegawai ,
pNama_Pegawai ,
pAlamat_Pegawai ,
pJabatan_Pegawai,
pGol_Pegawai,
pAwal_Kerja,null,null,null,null);
END$$
DELIMITER ;$$
Yang pertama kali dilakukan bagian personalia untuk mendaftar sidik jari
adalah menjalankan procedure run pada program dengan mengklik tombol Run.
Berikut adalah listing programnya:
Private Sub CmdRun1_Click()
Dim i As Integer
cursample = 0
For i = 0 To 3
picSidikJari(i).Picture = Nothing
dot(i).Visible = False
Next i
dot(cursample).Visible = True
op.Run
lblPesanDaftarSidikJari.Caption = "Letakkan Sidik Jari
Anda di Atas Sensor"
lblIDSidikJari2.Caption = ""
lblEvents2.Caption = ""
lblSidikJariTelunjukKanan.Visible = True
CmdCancel.Enabled = True
CmdSave2.Enabled = True
CmdSave2.SetFocus
End Sub
Setelah procedure run dijalankan, alat fingerprint siap untuk digunakan.
Pada label Events akan terdapat pernyataan "Alat Tersambung" jika koneksi alat
berhasil. Setelah itu pegawai akan meletakkan sidik jarinya diatas sensor
fingerprint dan masing-masing sidik jari akan didaftar sebanyak 4 kali dan
masing-masing disertai dengan penanda berbentuk lingkaran berwarna merah
yang menunjukkan bahwa sidik jari sudah bisa didaftar untuk kedua kalinya.
Contohnya:
Jika seorang pegawai ingin mendaftar sidik jari telunjuk kanan, sidik jari
tengah kanan, sidik jari telunjuk kiri dan sidik jari tengah kiri maka pegawai akan
memasukkan sidik jari telunjuk kanan lebih dahulu, sesuai dengan urutan dari
program. Bagian personalia akan mengklik tombol run. Kemudian pegawai akan
memasukkan sidik jari telunjuk kanan. Jika sidik jari tertangkap dengan jelas oleh
alat maka lingkaran merah akan berpindah dari picSidikJari1 ke picSidikJari2,
begitu seterusnya. Setelah sampai pada picSidikJari4 maka bagian personalia bisa
langsung mengklik tombol Save. Proses tersebut dilakukan untuk satu sidik jari.
Untuk sidik jari lainnya maka lakukan proses yang sama.
Untuk setiap sidik jari yang sudah didaftar sebanyak 4 kali, pada label
Kualitas akan terdapat pernyataan “Good” untuk kualitas yang baik. Dan masih
ada beberapa pernyataan lainnya untuk kualitas yang berbeda. Dapat dilihat pada
listing program berikut ini :
Private Sub op_SampleQuality(ByVal Quality As
DpSdkEngLib.AISampleQuality)
Select Case Quality
Case AISampleQuality.Sq_Good
lblKualitas2.Caption = "Good"
cursample = cursample + 1
dot(cursample - 1).Visible = False
If cursample <> 4 Then
dot(cursample).Visible = True
End If
Case AISampleQuality.Sq_LowContrast
lblKualitas2.Caption = "Low contrast"
Case AISampleQuality.Sq_NoCentralRegion
lblKualitas2.Caption = "No central region"
Case AISampleQuality.Sq_None
lblKualitas2.Caption = "No quality info"
Case AISampleQuality.Sq_NotEnoughFtr
lblKualitas2.Caption = "Not enough
features"
Case AISampleQuality.Sq_TooDark
lblKualitas2.Caption = "Too dark"
Case AISampleQuality.Sq_TooLight
lblKualitas2.Caption = "Too light"
Case AISampleQuality.Sq_TooNoisy
lblKualitas2.Caption = "Too noisy"
End Select
lblEvents2.Caption = "Sample quality"
End Sub
Dari 4 kali pendaftaran untuk masing-masing sidik jari, akan dipilih
kualitas yang terbaik. Berikut adalah listing program yang digunakan untuk
mendaftar salah satu sidik jari pegawai :
Private Sub CmdSave2_Click()
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
& "SERVER=127.0.0.1;" _
& "DATABASE=fingerprint;" _
& "UID=root;" _
& "PWD=;" _
& "OPTION=" & 1 + 2 + 8 + 32 + 2048 + 16384
conn.CursorLocation = adUseClient
conn.Open
On Error Resume Next
Dim blob() As Byte
Dim bvariant As Variant
ID_SidikJari = lblIDSidikJari2.Caption
If Len(ID_SidikJari) > 0 Then
If regtemplate Is Nothing Then
Exit Sub
End If
regtemplate.Export bvariant
blob = bvariant
'MsgBox blob
Query_SidikJari1 = "Select * From pegawai where NIP_Pegawai =
'" & NIP & "' "
rsCek_SidikJari1.Open Query_SidikJari1, conn, adOpenStatic,
adLockPessimistic
rsCek_SidikJari1!Sidik_Jari1 = blob
rsCek_SidikJari1.Update
Kill rsCek_SidikJari1!Sidik_Jari1
Open rsCek_SidikJari1!Sidik_Jari1 For Binary As #1
Put #1, , blob
Close #1
QuerySidikJariDaftar1 = "SELECT Sidik_Jari1 from pegawai where
ID_Pegawai='" & txtID & "' "
rsSidikJariDaftar1.Open QuerySidikJariDaftar1, Koneksi
If Not rsSidikJariDaftar1.EOF Then
CmdRun1.Enabled = False
CmdRun1.Visible = False
CmdRun2.Visible = True
CmdRun2.Enabled = True
CmdRun2.Left = 240
CmdRun2.Top = 3840
CmdRun2.SetFocus
Else
CmdRun1.SetFocus
End If
lblSidikJariTelunjukKanan.Visible = False
lblSidikJariTengahKanan.Visible = True
rsCek_SidikJari1.Close
rsSidikJariDaftar1.Close
conn.Close
End If
End Sub
Dalam dokumen
PEMANFAATAN TEKNOLOGI FINGERPRINT UNTUK PRESENSI PEGAWAI
(Halaman 111-117)