18 Februari 2009

Buat Program Dengan Alat Fingerprint USB Dengan Delphi

Setelah object COM diimport dari Delphi, baru bisa bikin programnya. Setelah diimport, Delphi membuat file yang bernama “DpSdkEngLib_TLB.pas” dan ini yang harus ditambahkan pada unit yang dipake untuk akses alat fingerprint. Pertama kali untuk inisialisasi alatnya, ada beberapa class/interface yang dipake yaitu TFPDevices, TFPDevice dan FPDevice. Contoh:
uses DpSdkEngLib_TLB;

procedure InisialisasiAlat;
var
  ListDevices: TFPDevices; // menyimpan daftar alat-alat yang ada
  MyDevice: TFPDevice; // alat yang digunakan
  IMyDevice: FPDevice; // interface ke TFPDevice
begin
  // alat fingerprint bisa lebih dari 1
  ListDevices := TFPDevices.Create(nil);
  MyDevice := TFPDevice.Create(nil);
  // jika alatnya ada maka pakai alat yang pertama
  if ListDevices.Count > 0 then
    IMyDevice := FPDevice(ListDevices.Item[1]);
  // event saat image fingerprint sudah didapat
  MyDevice.OnSampleAcquired := OnSampleAcquired;
  if Assigned(IMyDevice) then
  begin
    MyDevice.ConnectTo(IMyDevice);
    // method ini mesti dipanggil biar event-eventnya juga diterima
    IMyDevice.SubScribe(Dp_StdPriority, Self.Handle);
  end;
end;
Alat fingerprint bisa lebih dari satu dan dibedakan dari serial numbernya, jadi tiap alat punya id yang unik. Setelah inisialisasi, yang perlu kita lakukan adalah memroses event OnSampleAcquired yang kita terima setelah user menekan alat fingerprint. Ada 4 tahap yang diperlukan untuk proses pengenalan fingerprint, yaitu:

  1. Mendapatkan image fingerprint. Ketika user menyentuh sensor, image fingerprint dalam bentuk “mentah” dikompres dan dienkripsi oleh sensor, kemudian dikirim ke PC.
  2. Proses dekripsi dan dekompresi sample. Sample “mentah” yang didapat dari sensor didekripsi dan didekompres menjadi sample, dimana dari sample tersebut dapat dibuat template.
  3. Buat template. Template disini adalah deskripsi secara matematik dari karakteristik fingerprint. Ada 2 tipe, template pre-registrasi atau template verifikasi.
  4. Proses registrasi atau verifikasi.
    • Registrasi. Jika registrasi fingerprint baru, 4 template pre-registrasi harus didapat guna membuat satu template registrasi. Template registrasi ini dapat disimpan untuk digunakan pada saat proses verifikasi.
    • Verifikasi. Pada proses ini template verifikasi didapatkan dan dibandingkan dengan template registrasi yang ada.
procedure OnSampleAcquired(Sender: TObject;
const aRawSample: IDispatch);
var
  samplepro: TFPRawSamplePro; // menyimpan object sample
  ftrex: TFPFtrEx; // untuk membuat template
  reg: TFPRegister; // template registrasi
  sample: IDispatch; // sample mentah
  regtemplate: IDispatch; // template pre-registrasi
  vertemplate: IDispatch; // template verifikasi
  quality: AISampleQuality;
  done: WordBool;
  i: Integer;
begin
  samplepro := TFPRawSamplePro.Create(nil);
  ftrex := TFPFtrEx.Create(nil);
  reg := TFPRegister.Create(nil);
  try
    // Proses dekripsi dan dekompresi sample
    samplepro.Convert(aRawSample, sample);
    // Buat template pre-registrasi
    ftrex.Process(sample, Tt_PreRegistration, regtemplate, quality);
    if quality = Sq_Good then
    begin
      // Buat template verifikasi
      ftrex.Process(sample, Tt_Verification, vertemplate, quality);
      if quality = Sq_Good then
      begin
        // Proses registrasi
        reg.NewRegistration(Rt_Verify);
        for i := 1 to 4 do
          reg.Add(regtemplate, done);
        if done then
        begin
          // proses fingerprint
        end;
      end;
    end
    else
    begin
      ShowMessage(‘Kualitas sidik jari kurang bagus.’);
    end;
  finally
    samplepro.Free;
    ftrex.Free;
    reg.Free;
  end;
end;
Contoh scipt diatas adalah untuk registrasi fingerprint. Tiap kali user menekan alat fingerprint, jika sukses maka akan dianggap registrasi fingerprint baru.

12 komentar:

  1. kalo fingerprint di gabung dengan PHP bisa ga?
    email ke zemale07@gmail.com
    kalo ada artikel tentang fingerprint dengan PHP atau javascript clientside.

    BalasHapus
  2. bang bisa minta source codenya?

    BalasHapus
  3. untuk fingerprint software dengan payroll design terbaru dari dotnet hubungi saja merk innovation

    http://www.mesinabsensi.co.id


    <a href="http://www.mesinabsensi.co.id>mesin absensi</a>

    BalasHapus
  4. gan,bisa minta file DpSdkEngLib_TLB.pas
    tks b4

    BalasHapus
  5. artikel parsial ....
    source DpSdkEngLib_TLB.pas mana gan

    BalasHapus
  6. sekedar menambahkan fingerprint yang 100 % support delphi adalah mesin absensi FingerPlus V 5

    BalasHapus
  7. maz bisa minta contoh setiap langkah pembuatan programnya ini,soalnya saya pemula yg ingin belajar...
    email ke agus.zainurrahman@yahoo.com

    BalasHapus
  8. object COM nya yg mana ya yg di import ke delphi? terus cara import nya gimana? saya sudah ada alatnya cuman bingung kalau di delphi gimana cara developnya, mohon bantuanya suhu..
    email saya agussuwerdo@gmail.com

    BalasHapus
  9. mas bisa minta proses pembuatan programnya
    email ke alfath.syahbanap1@gmail.com

    BalasHapus
  10. gan bisa minta contoh setiap langkah pembuatan program absensi ini,soalnya saya pemula yg ingin belajar...
    email ke jabrixx99@gmail.com

    BalasHapus
  11. gan.. saya kepengen skali diajari.. saya siap bayar biaya private nya.. balas ke bmcdps@yahoo.com

    BalasHapus