## PENGENALAN POLA SIDIK JARI DENGAN METODE LOCAL BINARY PATTERN DAN LEARNING VECTOR QUANTIZATION
Adnan Putra Rihi Pati 1 , Adriana Fanggidae 2 , Dony M. Sihotang 3 1,2,3 Jurusan Ilmu Komputer, Fakultas Sains dan Teknik, Universitas Nusa Cendana Email : putra.rp.reborn@gmail.com 1 , adrianafanggidae@staf.undana.ac.id 2 , donisihotang9@gmail.com 3

## ABSTRAK
Sidik  jari  merupakan  strukur  genetika  dalam  bentuk  pola  yang  sangat  detail  dan  tanda yang melekat pada diri manusia. Banyak sistem biometrika yang menggunakan sidik jari  sebagai data  masukan,  karena  sifat  dari  sidik  jari  setiap  individu  berbeda meskipun  kembar  identik  dan tidak  berubah  kecuali  mendapat  kecelakaan.  Metode  yang  digunakan  dalam  penelitian  ini  yaitu segmentasi  dengan  algoritma  Otsu  thresholding,  ekstraksi  ciri  dengan  algoritma  Local  Binary Pattern  (LBP),  dan  pembelajaran  dengan  algoritma  Learning  Vector  Quantization  (LVQ).  Data yang  digunakan  adalah  citra  sidik  jari  jempol  berukuran  200  x  300  piksel,  berjenis  keabuan  dan berformat *.jpg. Citra sidik jari terdiri dari 25 orang, masing-masing orang memiliki 6 data latih dan  2  data  uji.  Pengujian  data  latih  dan  data  uji  dilakukan  kepada  empat  sistem  yaitu  sistem dengan  jumlah  ciri  LBP  =  8,  64,  128  dan  256  dan  menggunakan  masing-masing  2  buah  data  set dimana data set 1 berjumlah 15 orang dan data set 2 berjumlah 25 orang. Hasil pengujian keempat sistem menunjukkan bahwa sistem dengan jumlah ciri LBP = 128 merupakan sistem yang terbaik dengan kombinasi akurasi sistem yang tinggi dan juga waktu pembelajaran yang cepat.
Kata kunci:  Identifikasi  sidik  jari,  Otsu  thresholding,  Local  Binary Pattern (LBP), jaringan  syaraf tiruan, Learning Vector Quantization (LVQ).

## ABSTRACT
Fingerprint  is  the  generic  structure  in  the  form  of  a  very  detailed  pattern  and  a  sign  that inherent in human beings. Many biometric systems using fingerprint as input data, because the nature of each individual is different  although identical twins and do not  change unless got  a accident.  The method  used  in  this  research  is  image  segmentation  using  Otsu  thresholding  algorithm,  feature extraction  using  Local  Binary  Pattern  (LBP)  algorithm  and  the  learning  method  using  Learning Vector Quantization (LVQ) algorithm. The used data is grayscale fingerprint image with 200x300 pixel and  *.jpg  extension  format.  The  fingerprint  image  is  composed  of  25  people,  each  person  has  6 training  data  and  2  test  data.  Experiment  of  training  data  and  test  data  conducted  for  four  systems, namely the system with characteristics of LBP = 8, 64, 128 and 256 and their respective uses 2 pieces of data set where data set 1 amounted to 15 people and data set 2 amounted to 25 people. The fourth experiment  results show that  the system is a  system  with a number of LBP  characteristics = 128 is a system with the best combination of high system accuracy and fast learning time.
Keywords : fingerprint identification, Otsu thresholding, Local Binary Pattern (LBP), artificial neural networks, Learning Vector Quantization (LVQ).

## I. P ENDAHULUAN
Sistem  Biometrika  merupakan  teknologi  yang  mampu  mengidentifikasi  individu  dari  karakter fisik  atau tingkah  lakunya  [1].  Salah  satu  karakter  fisik  yang  paling  banyak  digunakan  dalam  sistem  biometrika adalah sidik jari. Hal ini dikarenakan sifat dari sidik jari setiap individu berbeda meskipun kembar identik dan tidak berubah kecuali mendapat kecelakaan [2].
Sistem biometrika untuk mengidentifikasi  sidik jari  telah banyak dikembangkan dengan berbagai macam metode ekstraksi ciri, contohnya dengan menggunakan metode ekstraksi ciri strukur minutia atau perpotongan  guratan-guratan  kulit  yang  membentuk  sidik  jari  manusia.  Tetapi  tidak  semua  metode ekstraksi  ciri  dapat  menghasilkan  akurasi  yang  baik  dalam  proses  pengidentifikasian  sidik  jari. Local Binary  Pattern (LBP)  merupakan  metode  ekstraksi  ciri  berbasis  tekstur  yang  akan  membandingkan
sebuah nilai dari setiap piksel dengan nilai piksel tetangganya. Kemudian nilai baru yang didapatkan dari setiap piksel  itu akan dijadikan sebuah histogram  yang akan dijadikan ciri  dari  objek tersebut [3]. Hasil dari  ekstraksi  ciri  LBP kemudian harus melewati tahap pembelajaran Jaringan Syaraf Tiruan (JST) agar mendapatkan hasil yang optimal.
Learning  Vector Quantization (LVQ) merupakan salah satu  metode dalam JST untuk  melakukan pembelajaran  pada  lapisan  kompetitif  yang  terawasi.  Suatu  lapisan  kompetitif  akan  secara  otomatis belajar  untuk  mengklasifikasikan  vektor  vektor  input  [4].  Penelitian  ini  akan  menerapkan  metode  LBP dan LVQ untuk mengidentifikasi citra sidik jari.

## II. M ATERI DAN M ETODE

## 2.1 Data Penelitian
Data yang digunakan dalam penelitian ini berupa data citra sidik jari berukuran 200 x 300 piksel, berjenis keabuan dan berformat *.jpg . Citra sidik jari terdiri dari 25 orang, masing-masing orang memiliki 6  data  latih  dan  2  data  uji.  Total  data  latih  150  citra  dan  total  data  uji  50  citra,  sehingga  total  jumlah keseluruhan citra adalah 200 citra sidik jari.

## 2.2 Sidik Jari
Sidik  jari  merupakan  strukur  genetika  dalam  bentuk  pola  yang  sangat  detail  dan  tanda  yang melekat  pada  diri  manusia  [5].  Banyak  sistem  biometrika  yang  menggunakan  sidik  jari  sebagai  data masukan,  hal  ini  dikarenakan  sidik  jari  mempunyai  beberapa  keunggulan  sifat  dibandingkan  ciri  fisik yang lain, diantaranya:
a. Perennial  nature ,  yaitu  guratan-guratan  pada  sidik  jari  yang  melekat  pada  kulit  manusia  seumur hidup.
b. Immutability , yaitu sidik jari seseorang tidak pernah berubah, kecuali mendapatkan kecelakaan.
c. Individuality , pola sidik jari adalah unik dan berbeda untuk setiap orang.

## 2.3 Segmentasi
Tujuan  daripada  segmentasi  ialah  membagi  suatu  citra  menjadi  wilayah-wilayah  yang  serupa berdasarkan  kriteria  keserupaan  tertentu  antara  tingkat  keabuan  piksel,  kemudian  hasil  dari  proses segmentasi ini akan digunakan untuk proses tingkat lebih lanjut seperti proses identifikasi objek.

## 2.3.1 Otsu thresholding
Otsu  thresholding merupakan  salah  satu  metode  untuk  mensegmentasi  citra.  Metode otsu akan membagi histogram citra keabuan kedalam dua daerah yang berbeda secara otomatis tanpa membutuhkan bantuan user untuk  memasukkan  nilai  ambang.  Berikut  merupakan  rumus  yang  digunakan  untuk menentukan nilai ambang dengan menggunakan metode otsu hresholding :
𝜎 𝐵 2 (𝑘 ∗ ) =   max 0≤𝑘≤𝐿 𝜎 𝐵 2 (𝑘) dengan: (2.1)
𝜎 𝐵 2 (𝑘) = [𝜇 𝑇 𝜔(𝑘)− 𝜇(𝑘)] 𝜔(𝑘)[1− 𝜔(𝑘)] 2 (2.2)
𝜇 𝑇 =   ∑ 𝑖 ∗ 𝑃 𝑖 𝐿 𝑖=0 (2.3)
𝜔(𝑘) =   ∑ 𝑃 𝑘 𝐿 𝑘=0 (2.4) 𝜇(𝑘) =   ∑ 𝑘 ∗ 𝑃 𝑘 𝐿 𝑘=0
(2.5)
dimana, 𝜎 𝐵 2 (𝑘 ∗ ) = varians antar kelas maksimum 𝜎 𝐵 2 (𝑘)
= varians antar kelas 𝜔(𝑘) = Zeroth Cumulative Moment level ke k (0..255) 𝜇(𝑘) = First Cumulative Moment level ke k (0..255) 𝜇 𝑇 = total nilai rata-rata histogram ternormalisasi 𝑃 𝑖
= histogram ternormalisasi level ke i (0..255)
𝑃 𝑘
= histogram ternormalisasi level ke k (0..255) 𝐿
= jumlah perbedaan tingkat intensitas ( L = 255) 2.4

## Local Binary Pattern (LBP)
Local  Binary  Pattern (LBP)  merupakan  salah  satu  metode  ekstraksi  ciri  yang  sederhana  namun sangat  efisien  bagi  identifikasi  tekstur,  dimana  setiap  piksel  dalam  sebuah  citra  diambangkan  dengan
piksel-piksel  di  sekililingnya  dan  menjadikan  hasil  perhitungannya  sebagai  nilai  biner  [6].  Untuk mengambangkan  satu  piksel  dengan  piksel-piksel  disekelilingnya,  digunakanlah  sebuah  sirkular  blok piksel  yang  umumnya  berukuran  ( P =  8, R =  1).  Ukuran  dari  sirkular  blok  piksel  dapat  diubah  dengan menentukan jarak dan jumlah piksel tetangga dengan menggunakan rumus sebagai berikut:
𝑥 𝑖 =   𝑥 𝑐 + 𝑅𝑐𝑜𝑠 ( 2𝜋𝑖 𝑃 ) (2.6)
𝑦 𝑖 =   𝑦 𝑐 + 𝑅𝑠𝑖𝑛 ( 2𝜋𝑖 𝑃 ) (2.7)
dimana, 𝑥 𝑐 , 𝑦 𝑐 = koordinat dari piksel tengah 𝑥 𝑖 , 𝑦 𝑖 = koordinat dari piksel tetangga
R = jarak P = jumlah piksel tetangga i = bernilai 0 sampai P - 1 Gambar  1  memberikan  contoh  beberapa  sirkular  blok  piksel  dengan  jarak  dan  jumlah  piksel tetangga yang berbeda.
Gambar 1. Sirkular blok piksel LBP (8,1), (16,2), dan (24,3)
Adapun rumus yang digunakan untuk menghitung ciri dari metode LBP adalah sebagai berikut:
𝐿𝐵𝑃 𝑃.𝑅 (𝑥 𝑐 , 𝑦 𝑐 ) =   ∑ 𝑠( 𝑃−1 𝑖=0 𝑔 𝑖 −  𝑔 𝑐 )2 𝑖 (2.8)
dimana, 𝑥 𝑐 , 𝑦 𝑐 = koordinat piksel di titik x,y
P = jumlah piksel tetangga R = jarak 𝑔 𝑖 = piksel blok ketetanggan pada posisi ke i
𝑔 𝑐 = piksel tengah blok 𝑠(𝑥)
= { 1   𝑥 ≥ 0 0   𝑥 < 0
2.5 Jaringan Syaraf Tiruan
Jaringan  Syaraf  Tiruan  (JST)  merupakan  suatu  sistem  pemrosesan  informasi  yang  mempunyai karakteristik menyerupai jaringan syaraf biologi. JST tercipta sebagai suatu generalisasi model matematis dari pemahaman manusia yang didasarkan atas asumsi sebagai berikut [7]: a. Pemrosesan informasi terjadi pada elemen sederhana yang disebut neuron .
b. Sinyal mengalir diantara neuron melalui suatu sambungan penghubung.
c. Setiap  sambungan  penghubung  memiliki  bobot  yang  bersesuaian.  Bobot  ini  akan  digunakan  untuk mengalikan sinyal yang dikirim melaluinya.
Setiap neuron akan menerapkan fungsi aktivasi terhadap sinyal hasil penjumlahan berbobot yang masuk kepadanya untuk menentukan sinyal keluarannya.

## 2.5.1 Normalisasi
Sebelum  melakukan  tahap  pembelajaran  dalam  sistem  identifikasi  sidik  jari,  data  pelatihan  akan dinormalisasi.  Hal  ini  dikarenakan  terdapat  beberapa  nilai  histogram  pada  metode  LBP  yang  memiliki tingkat kemunculan yang berbeda jauh dengan nilai histogram yang lainnya, sehingga data tersebut perlu dinormalisasikan. Normalisasi ini juga bertujuan untuk mendapatkan data dengan ukuran yang lebih kecil yang  mewakili  data  asli  tanpa  kehilangan  karakteristiknya  sendiri  [8].  Dalam  penelitian  ini  digunakan rumus normalisasi Min – Max dengan pengskalaan 0 sampai 1. Rumus dari normalisasi Min – Max adalah sebagai berikut:
𝑋 ′ = 𝑋 −   𝑋 𝑚𝑖𝑛 𝑋 𝑚𝑎𝑥 −  𝑋 𝑚𝑖𝑛
(2.9) dimana X ’
= nilai ciri hasil normalisasi
X
= nilai ciri yang akan dinormalisasi
X min = nilai terkecil dari suatu ciri X max = nilai terbesar dari suatu ciri
2.5.2 Learning Vector Quantization (LVQ)
Learning  Vector  Quantization (LVQ)  adalah  suatu  metode  untuk  melakukan  pembelajaran  pada lapisan  kompetitif  yang  terawasi.  Suatu  lapisan  kompetitif  akan  secara  otomatis  belajar  untuk mengklasifikasikan vektor-vektor input. Kelas-kelas yang didapatkan sebagai hasil dari lapisan kompetitif ini  hanya  tergantung  pada  jarak  antara  vektor-vektor  input.  Jika  2  vektor  input  mendekati  sama,  maka lapisan  kompetitif  akan  meletakkan  kedua  vektor  input  tersebut  ke  dalam  kelas  yang  sama  [9].  Contoh arsitektur dari LVQ dapat dilihat pada gambar 2.

## Gambar 2. Contoh arsitektur jaringan LVQ
Berikut merupakan algoritma pembelajaran dari metode LVQ:
1. Tetapkan:
a. Bobot ( w ).
b. Maksimum Epoh ( MaxEpoh ).
c. Error minimum yang diharapkan ( Eps ).
d. Laju pembelajaran ( α ).
2. Masukkan:
a. Input x ( n,m ); m = jumlah input, n = jumlah data. b. Target T (1, n ). 3. Tetapkan kondisi awal: Epoh = 0. 4. Kerjakan jika: ( Epoh < MaxEpoh ) atau ( α > Eps ) a. Epoh = Epoh + 1;
b. Kerjakan untuk i = 1 sampai n
i. Tentukan j sedemikian hingga  minimum dengan menggunakan rumus sebagai berikut: C j = ║x - w j ║ (2.10)
ii. Perbaiki w j dengan ketentuan:
▪ Jika T = C j maka:
w j (baru) = w j (lama) + α (x - w j (lama) ) (2.11) ▪ Jika T  C j maka: w j (baru) = w j (lama) - α (x - w j (lama) ) (2.12)
c. Kurangi nilai laju pembelajaran dengan rumus sebagai berikut: α (baru) = α (lama) – (0,1* α (lama) ) (2.13)

## 2.6 Tahapan Identifikasi Sidik Jari
Tahap  identifikasi  sidik  jari  terdiri  dari  2  tahap  yaitu  tahap  pembelajaran  dan  tahap  identifikasi yang  dapat  dilihat  pada  gambar  3.  Tahap  pembelajaran  terdiri  dari  beberapa  proses  yaitu  proses segmentasi,  proses  ekstraksi  ciri  menggunakan  metode  LBP  dan  proses  pembelajaran  dengan  metode LVQ.  Hasil  daripada  tahap  pembelajaran  ini  adalah  bobot-bobot  pada  setiap  target  dari  data  peserta. Bobot-bobot ini kemudian disimpan dan akan digunakan pada tahap identifikasi.
Tahap  identifikasi  juga  terdiri  dari  beberapa  proses  yaitu  proses  segmentasi,  proses  ekstraksi  ciri menggunakan  metode  LBP  dan  proses  identifikasi.  Proses  identifikasi  membandingkan  ciri  citra  yang telah diekstraksi dengan bobot pada setiap target yang telah tersimpan melalui pembelajaran LVQ. Target dengan hasil perbandingan nilai terkecil akan dipilih sebagai hasil identifikasi sidik jari.
Gambar 3 Flowchart identifikasi sidik jari: (a) tahap pembelajaran (b) tahap identifikasi
III. HASIL DAN PEMBAHASAN

## 3.1 Hasil Pengujian
Hal  pertama yang dilakukan dalam menguji  kinerja sistem adalah melatih sistem. Dalam melatih sistem digunakan 2 buah data set yang terdiri dari:
a. Data set pertama terdiri dari 15 orang dengan masing-masing orang memiliki 6 buah citra latih dan 2 citra uji sehingga total terdapat 90 citra latih dan 30 citra uji.
b. Data  set kedua terdiri  dari  25  orang  dengan  masing-masing  orang  memiliki  6  buah  citra  latih  dan 2 citra uji sehingga total terdapat 150 citra latih dan 50 citra uji.
Kedua data  set dilatih  secara  berulang-ulang  menggunakan  beberapa  nilai  pada  ketiga  parameter seperti max epoch (10 dan 100), error minimum (0,1, 0,01 dan 0,001) dan learning rate (0,1).

## 3.1.1 Pengujian data latih dan data uji
Data  latih  merupakan  kumpulan  citra  sidik  jari  yang  melalui  proses  pembelajaran  dalam  sistem yang dibuat, sedangkan data uji adalah kumpulan citra sidik jari yang yang tidak dilibatkan dalam proses pembelajaran.

## 3.1.1.1 Sistem dengan jumlah ciri LBP = 8
Sistem ini membagi 256 ciri LBP ke beberapa range nilai tertentu sehingga ciri LBP menjadi 8 ciri.  Tabel  1  menunjukkan  salah  satu  contoh  hasil  pengujian  sistem  tertinggi  pada data  set pertama, sedangkan tabel 2 menunjukkan salah satu contoh hasil pengujian sistem tertinggi pada data set kedua.
Tabel 1. Salah satu contoh hasil pelatihan data set 1 dengan akurasi sistem tertinggi menggunakan sistem dengan ciri LBP = 8
Tabel 2. Salah satu contoh hasil pelatihan data set 2 dengan akurasi sistem tertinggi menggunakan sistem dengan ciri LBP = 8

## 3.1.1.2 Sistem dengan jumlah ciri LBP = 64
Sistem ini membagi 256 ciri LBP ke beberapa range nilai tertentu sehingga ciri LBP menjadi 64 ciri.  Tabel  3  menunjukkan  salah  satu  contoh  hasil  pengujian  sistem  tertinggi  pada data  set pertama, sedangkan tabel 4 menunjukkan salah satu contoh hasil pengujian sistem tertinggi pada data set kedua.
Tabel 3. Salah satu contoh hasil pelatihan data set 1 dengan akurasi sistem tertinggi menggunakan sistem dengan ciri LBP = 64
Tabel 4. Salah satu contoh hasil pelatihan data set 2 dengan akurasi sistem tertinggi menggunakan sistem dengan ciri LBP = 64

## 3.1.1.3 Sistem dengan jumlah ciri LBP = 128
Sistem  ini  membagi  256  ciri  LBP  ke  beberapa range nilai  tertentu  sehingga  ciri  LBP  menjadi 128 ciri. Tabel  5  menunjukkan salah satu  contoh hasil pengujian sistem tertinggi pada data set pertama, sedangkan tabel 6 menunjukkan salah satu contoh hasil pengujian sistem tertinggi pada data set kedua.

## 3.1.1.4 Sistem dengan jumlah ciri LBP = 256
Sistem  ini  menggunakan  jumlah  keseluruhan  dari  ciri  yang  diperoleh  dengan  menggunakan metode  LBP,  dimana  apabila P (jumlah  piksel  tetangga)  =  8, maka  total  ciri  adalah  2 8 =  256  buah  ciri. Tabel 7 menunjukkan salah satu contoh hasil pengujian sistem tertinggi pada data set pertama, sedangkan tabel 8 menunjukkan salah satu contoh hasil pengujian sistem tertinggi pada data set kedua.
Tabel 5. Salah satu contoh hasil pelatihan data set 1 dengan akurasi sistem tertinggi menggunakan sistem dengan ciri LBP = 128
Tabel 6. Salah satu contoh hasil pelatihan data set 2 dengan akurasi sistem tertinggi menggunakan sistem dengan ciri LBP = 128
Tabel 7. Salah satu contoh hasil pelatihan data set 1 dengan akurasi sistem tertinggi menggunakan sistem dengan ciri LBP = 256
Tabel 8. Salah satu contoh hasil pelatihan data set 2 dengan akurasi sistem tertinggi menggunakan sistem dengan ciri LBP = 256

## 3.2 Pembahasan
Hasil  dari  pengujian  keempat  sistem  dapat  dikatakan  cukup  baik,  akan  tetapi  didapati  juga beberapa citra tidak dapat dikenali dengan tepat. Hal ini disebabkan oleh:
a. Semakin  banyak  jumlah  data  maka  metode  ekstraksi  ciri  semakin  tidak  bisa  mempresentasikan  ciri dari sidik jari seseorang dengan baik.
b. Citra sidik jari yang digunakan memiliki tingkat kemiripan yang cukup rendah antara citra yang satu dengan yang lainnya dari orang yang sama.
Tabel 9 dan 10 merupakan perbandingan akurasi sistem dan waktu pembelajaran antar sistem.
Tabel 9. Perbandingan rata-rata akurasi sistem tertinggi
Tabel 10. Perbandingan rata-rata waktu pembelajaran semua percobaan pengujian IV. KESIMPULAN DAN SARAN

## 4.1 Kesimpulan
Berdasarkan  hasil  pengujian  terhadap  keempat  sistem  yang  dibangun,  dapat  disimpulkan  bahwa sistem  dengan  jumlah  ciri  LBP  =  128  menghasilkan  akurasi  yang  tinggi.  Adapun  waktu  pembelajaran pada  masing-masing  sistem  sangat  dipengaruhi  oleh  jumlah  data  yang  digunakan,  dan  nilai  parameter seperti max epoch , error minimum dan learning rate .

## 4.2 Saran
Pada penelitian selanjutnya, sistem dapat dikembangkan lagi dengan menggunakan variasi ukuran sirkular blok piksel dan menambah jumlah ciri dari metode LBP.

## DAFTAR PUSTAKA
[1] Santi R. C. N., 2008, Identifikasi Biometrik Sidik Jari dengan Metode Fraktal, Jurnal Teknologi Informasi DINAMIK , No. 1, Volume XIII, 68-72.
[2] Arifin dan Tumana O., 2011, Pengenalan Pola Sidik Jari Menggunakan Jaringan Syaraf  Tiruan dengan Metode Pembelajaran Backpropagation , Jurnal Aplikasi Fisika , No. 1, Volume VII, 1-11.
[3] Kastella  S.  M.,  2012,  Simulasi  Sistem  Pengenalan  Individu  Berdasarkan  Hidung  Tampak Samping Menggunakan Metode Local Binary Pattern dan Jaringan Syaraf Tiruan- Learning Vector  Quantization , Skripsi ,  Jurusan  Teknik  Telekomunikasi,  Fakultas  Teknik  Elektro, Universitas Telkom, Bandung.
[4] Ranadhi  D.,  2006,  Implementasi Learning  Vector  Quantization (LVQ)  untuk  Pengenal  Pola Sidik  Jari  Pada  Sistem  Informasi  Narapidana  LP  Wirogunan, Skripsi ,  Jurusan  Teknik Informatika, Fakultas Teknik Industri, Universitas Islam Indonesia, Yogyakarta.
[5] Misbach I. H., 2010, Dahsyatnya Sidik Jari , Visimedia, Jakarta.
[6] Pietikäinen,  M.,  2010,  Local  Binary  Patterns, Scholarpedia ,  No.  3,  Vol.  5,  9775, http://www.scholarpedia.org/article/Local_Binary_Patterns.
[7] Widodo  T.  S.,  2005, Sistem  Neuro  Fuzzy  untuk  Pengolahan  Informasi,  Pemodelan,  dan Kendali , Graha Ilmu, Yogyakarta.
[8] Indrabayu  dkk.,  2012,  Prediksi  Curah  Hujan  dengan  Jaringan  Saraf  Tiruan, Hasil  Penelitian Fakultas Teknik, Volume VI, ISBN : 978-979-127255-0-6.
[9] Kusumadewi  S.,  2003, Artificial  Intelligence  (Teknik  dan  Aplikasinya) ,  Graha  Ilmu, Yogyakarta.