Algoritma

Algoritma yang Digunakan

Memahami metode TOPSIS dan Fuzzy String Matching yang menjadi inti dari sistem pemeriksaan dokumen perizinan.

Gambaran Umum

Dua Algoritma, Satu Tujuan

Sistem ini menggabungkan dua metode yang saling melengkapi untuk menghasilkan pemeriksaan dokumen yang akurat dan perangkingan permohonan yang objektif.

Algoritma 1

Fuzzy String Matching

Digunakan untuk mencocokkan nama file dokumen yang diunggah pemohon dengan nama persyaratan yang ada di database. Menggunakan perhitungan kesamaan string untuk mengatasi perbedaan penamaan file.

Pencocokan Dokumen Toleransi Kesalahan
Algoritma 2

TOPSIS

Technique for Order of Preference by Similarity to Ideal Solution — metode pengambilan keputusan multi-kriteria untuk merangking permohonan berdasarkan kedekatan dengan solusi ideal.

Multi-Kriteria Perangkingan
Algoritma 1

Fuzzy String Matching

Teknik pencocokan string yang toleran terhadap perbedaan penulisan, menggunakan dua metode perhitungan kesamaan.

Mengapa Fuzzy Matching?

Ketika pemohon mengunggah dokumen, nama file sering kali tidak persis sama dengan nama persyaratan di database. Misalnya, persyaratan bernama "Surat Permohonan" tetapi pemohon mengunggah file bernama "surat_permohonan_izin.pdf" atau "Permohonan Izin.pdf".

Fuzzy String Matching memungkinkan sistem mengenali bahwa file-file tersebut merujuk pada persyaratan yang sama, meskipun namanya tidak identik.

Levenshtein Distance

Menghitung jumlah minimum operasi (insert, delete, replace) yang diperlukan untuk mengubah satu string menjadi string lainnya.

Formula Similarity:
Similarity = (1 - distancemax(len₁, len₂)) × 100%
Contoh:
"surat_izin""surat_ijin"
Distance = 1, Len = 10
Similarity = 90%
Similar Text

Menghitung jumlah karakter yang cocok antara dua string menggunakan algoritma pencocokan subsequence terpanjang.

Formula Similarity:
Similarity = 2 × matching_charslen₁ + len₂ × 100%
Contoh:
"ktp_pemohon""ktp pemohon"
Matching = 10 dari 11
Similarity = 95.45%
Alur Pencocokan Dokumen
1
Normalisasi Nama File

Nama file diubah ke huruf kecil, ekstensi dihilangkan, dan karakter khusus diganti spasi.

2
Pengecekan Exact Match

Sistem mengecek apakah nama file mengandung kata kunci persyaratan secara langsung.

3
Pencarian Sinonim

Jika tidak cocok langsung, sistem mencari di kamus sinonim (contoh: "KTP" = "Kartu Tanda Penduduk").

4
Perhitungan Similarity

Kesamaan dihitung menggunakan similar_text() terhadap setiap keyword dan sinonim.

5
Threshold & Hasil

Jika similarity ≥ threshold (default 70%), dokumen dianggap cocok dan dipetakan ke persyaratan.

Algoritma 2

Metode TOPSIS

Technique for Order of Preference by Similarity to Ideal Solution — metode pengambilan keputusan multi-kriteria yang dikembangkan oleh Hwang dan Yoon (1981).

Apa itu TOPSIS?

TOPSIS adalah metode pengambilan keputusan multi-kriteria yang bekerja dengan prinsip bahwa alternatif terbaik adalah yang memiliki jarak terpendek dari solusi ideal positif dan jarak terjauh dari solusi ideal negatif.

Dalam konteks sistem ini, TOPSIS digunakan untuk merangking permohonan perizinan berdasarkan 5 kriteria, sehingga verifikator dapat memprioritaskan permohonan yang paling lengkap dan mendesak.

Kriteria Penilaian

Sistem menggunakan 5 kriteria terukur untuk menilai setiap permohonan:

Kode Kriteria Tipe Keterangan
K1 Kelengkapan Dokumen Benefit Persentase dokumen wajib yang terpenuhi (0-100%)
K2 Rasio Fuzzy Match Benefit Rasio file yang berhasil dicocokkan terhadap total file
K3 Jumlah Temuan Cost Jumlah file yang gagal diverifikasi (semakin sedikit semakin baik)
K4 Urgensi Benefit Tingkat urgensi permohonan (1-5)
K5 Usia Permohonan Benefit Jumlah hari sejak permohonan diajukan
Benefit = semakin besar semakin baik  |  Cost = semakin kecil semakin baik
Langkah-langkah TOPSIS
1
Membuat Matriks Keputusan

Menyusun data setiap permohonan ke dalam matriks keputusan Xij dimana i = alternatif (permohonan) dan j = kriteria (K1-K5).

2
Normalisasi Matriks

Matriks keputusan dinormalisasi menggunakan normalisasi vektor:

rij = xij√(∑ xij²)
3
Matriks Normalisasi Terbobot

Mengalikan matriks normalisasi dengan bobot setiap kriteria:

vij = wj × rij

dimana wj adalah bobot kriteria ke-j yang ditentukan oleh admin.

4
Solusi Ideal Positif & Negatif

Menentukan solusi ideal positif (A+) dan negatif (A-):

Solusi Ideal Positif (A⁺)
Benefit: max(vij)
Cost: min(vij)
Solusi Ideal Negatif (A⁻)
Benefit: min(vij)
Cost: max(vij)
5
Jarak ke Solusi Ideal

Menghitung jarak Euclidean setiap alternatif ke solusi ideal:

Jarak ke A⁺:
Di+ = √(∑(vij - vj+)²)
Jarak ke A⁻:
Di- = √(∑(vij - vj-)²)
6
Nilai Preferensi (Skor Akhir)

Menghitung nilai preferensi setiap alternatif:

Vi = Di-Di+ + Di-

Nilai Vi berkisar antara 0 dan 1. Semakin mendekati 1, semakin baik alternatif tersebut. Alternatif dirangking berdasarkan nilai Vi dari tertinggi ke terendah.

Integrasi

Bagaimana Keduanya Bekerja Bersama?

Input

Pemohon mengunggah file dokumen perizinan ke dalam sistem.

Fuzzy Matching

Setiap file dicocokkan dengan persyaratan. Hasilnya menjadi input untuk TOPSIS (K1, K2, K3).

TOPSIS

Permohonan dirangking berdasarkan 5 kriteria untuk menentukan prioritas pemrosesan.

Hubungan Fuzzy Matching → TOPSIS

Hasil dari Fuzzy String Matching langsung mempengaruhi 3 dari 5 kriteria TOPSIS:

K1 - Kelengkapan

Dihitung dari persentase dokumen wajib yang berhasil dicocokkan oleh Fuzzy Matching.

K2 - Rasio Match

Rasio antara file yang berhasil di-match (pass) terhadap total file yang diunggah.

K3 - Temuan

Jumlah file yang gagal dicocokkan (fail) oleh proses Fuzzy Matching.

Referensi
  • Hwang, C.L.; Yoon, K. (1981). Multiple Attribute Decision Making: Methods and Applications. New York: Springer-Verlag.
  • Levenshtein, V.I. (1966). "Binary codes capable of correcting deletions, insertions, and reversals." Soviet Physics Doklady, 10(8): 707-710.
  • PHP Documentation. similar_text() - Calculate the similarity between two strings.
  • PHP Documentation. levenshtein() - Calculate Levenshtein distance between two strings.

Lihat Sistem Beraksi

Masuk ke sistem untuk melihat implementasi algoritma secara langsung dalam pemeriksaan dokumen perizinan.