BAB 2 TINJAUAN PUSTAKA Bab 2 ini berisi tentang pembahasan teori-teori tentang jaringan syaraf tiruan, Algoritma Learning Vector Quantization (LVQ). 2.1. Algoritma Algoritma adalah urutan langkah-langkah logis dalam memecahkan suatu masalah yang disusun secara sistematis dan logis. Langkah-langkah didalam algoritma harus logis dan dapat ditentukan dengan nilai keluaran benar atau salah. Dalam beberapa konteks, algoritma adalah urutan langkah-langkah dalam pengerjaan suatu pekerjaan. 2.2. Biometrik Biometrik adalah sistem pengenalan / identifkasi pribadi dengan menetukan keaslian dari suatu karakteristik fisiologis, ataupun perilaku tertentu yang dimiliki oleh si pengguna. Biometrik berasal dari kata yunani bios yang berarti hidup dan metron yang berarti untuk mengukur. Teknologi biometrik demikian didefinisikan sebagai metode otomatis untuk mengidentifikasi dan otentikasi identitas seseorang berdasarkan karakteristik fisiologis maupun perilaku si pengguna. Dunia medis mengatakan bahwa ada beberapa bagian tubuh kita yang sangat unik. Artinya, tidak memiliki oleh lebih dari satu individu. Contohnya saja wajah, sidik jari atau retina mata. Meskipun bentuk atau warna bisa saja sama, namun retina belum tentu sama. Begitu juga dengan suara dan struktur wajah. Bagian - bagian unik inilah yang kemudian dikembangkan sebagai atribut keamanan. Kebanyakan sistem biometrik menggunakan dua model operasi. Yang pertama adalah modus pendaftaran untuk menambahkan template ke dalam database, dan yang kedua adalah identifikasi, dimana sebuah template dibuat untuk perbandingan individu dan kemudian di cari dalam database (Munir, 2004).
7 Karakteristik biometrik dibagi menjadi dua, yaitu biometrik physiological dan biometrik behavorial (Gonzales et al. 2003). 1. Physiological Dihubungkan dengan bentuk tubuh atau badan, misalnya: fingerprints, face recognition, hand geometry, dan iris recognition. 2. Behavioral Dihubungkan dengan tingkah laku seseorang, misalnya: keystroke, signature, voice. Penggunaan biometrik untuk sistem pengenalan memiliki beberapa keunggulan dibanding sistem konvensional (penggunaan password, PIN, kartu, dan kunci), di antaranya (Putra, 2010) : 1. Non-repudation : suatu sistem yang menggunakan teknologi biometrik untuk melakukan suatu akses, penggunaanya tidak akan menyangkal bahwa bukan dia yang melakukan akses atau transaksi. Hal ini berbeda dengan penggunaan password atau PIN. Pengguna masih dapat menyangkal atas transaksi yang dilakukanya, karena PIN atau password bias dipakai bersama-sama. 2. Keamanan (security) : sistem berbasis password dapat diserang menggunakan metode atau algoritma brute force, sedangkan sistem biometrik tidak dapat diserang dengan cara ini, karena sistem bimetrika membutuhkan kehadiran pengguna secara langsung pada proses pengenalan. 3. Penyaringan (screening) : proses penyaringan untuk mengatasi seseorang yang menggunakan banyak identitas, seperti teroris yang dapat menggunakan lebih dari satu paspor untuk memasuki satu negara. Sebelum menambahkan identitas seseorang ke sistem, perlu dipastikan terlebih dahulu bahwa identitas orang tersebut belum terdaftar sebelumnya. Untuk mengatasi masalah tersebut maka diperlukan proses penyaringan identitas yang mana sistem konvensional tidak dapat melakukanya. Biometrik mampu menghasilkan atau menyaring beberapa informasi sidik jari atau wajah yang mirip dengan sidik jari atau wajah yang dicari. Faktor perbandingan penggunaan biometrik (Daugman, 2007): a. Keumuman: tingkat keumuman biometrik bisa ditemui di setiap individu.
8 b. Keunikan: tingkat keunikan biometrik pada setiap individu. c. Ketahanan: tingkat ketahanan terhadap penuaan. d. Pengumpulan: tingkat kemudahan pengumpulan data untuk biometrik. e. Performa: tingkat akurasi dan kecapatan alat pengumpul data. f. Penerimaan: tingkat penerimaan publik dalam penggunaan sehari-hari. g. Keamanan: tingkat keamanan sistem terhadap pemalsuan. Secara umum terdapat dua model sistem biometrik, yaitu sistem verifikasi (verification sistem) dan sistem identifikasi (identification sistem). Sistem verifikasi bertujuan untuk menerima atau menolak identitas yang diklaim oleh seseorang. Pengguna membuat klaim positif terhadap suatu identitas. Diperlukan pencocokan satu ke satu dari sample yang diberikan terhadap acuan (template) yang terdaftar atas identitas yang diklaim tersebut. Sistem identifikasi bertujuan untuk memecahkan identitas seseorang. Pengguna dapat tidak memberi klaim atau memberi klaim implicit negative untuk identitas terdaftar. Diperlukan pencocokan satu ke banyak, yaitu pencarian ke seluruh database identitas terdaftar. 2.3. Pengenalan Pola Pengenalan pola adalah suatu ilmu untuk mengklasifikasikan atau menggambarkan sesuatu berdasarkan pengukuran kuantitatif fitur (ciri) atau sifat utama dari suatu obyek. Pola sendiri adalah suatu entitas yang terdefinisi dan dapat diidentifikasikan serta diberi nama. Pola bisa merupakan kumpulan hasil atau pemantauan dan bias dinyatakan dalam notasi vektor atau matriks (Putra, 2010). Pengenalan pola mengelompokkan data numerik dan simbolik (termasuk citra) secara otomatis oleh komputer. Tujuan pengelompokan ini adalah untuk mengenali suatu objek dalam citra. Manusia bisa mengenali objek yang dilihatnya karena otak manusia telah belajar mengklasifikasikan objek-objek di alam sehingga mampu membedakan suatu objek dengan objek lainya. Kemampuan visual manusia inilah yang dicoba ditiru oleh mesin atau dalam hal ini adalah komputer. Komputer menerima input berupa citra objek yang akan di lakukan proses preprocessing berupa grayscale, thresholding kemudian binerisasi. Setelah itu akan diidentifikasi, memproses citra tersebut dan memberikan output berupa deskripsi objek di dalam citra. Gambar 2.1 menunjukkan diagram kotak sederhana dari proses pengenalan pola.
9 CITRA Wajah Alat Input : Kamera, scanner Proses Preprocessing: Grayscale dan thresholding Simpan Gambar threshold Deskripsi Gambar Pengenalan Pola Proses Preprocessing lanjutan: Binerisasi POLA Gambar 2.1 Diagram Sederhana Proses Pengenalan Pola Sebuah citra objek yang akan dikenali oleh jaringan syaraf tiruan tidak begitu saja dimasukkan menjadi input sebuah jaringan syaraf tiruan, karena masih berupa data mentah dan belum sesuai dengan kriteria masukan untuk jaringan syaraf tiruan. Citra objek tersebut harus diproses terlebih dahulu, tujuannya untuk membantu kemampuan jaringan dalam mengkomputasikan informasi dari citra objek tersebut (Siregar, 2013). 2.4. Wajah Wajah atau muka adalah bagian depan dari kepala manusia meliputi wilayah dari dahi hingga dagu, termasuk alis, mata, hidung, pipi, mulut, bibir, gigi, kulit, dan dagu. Wajah terutama digunakan untuk ekspresi wajah, penampilan, serta identitas. Tidak ada satu wajah pun yang serupa mutlak, bahkan pada manusia kembar identik sekalipun. Oleh sebab itu dengan melihat wajah, kita dapat mengenali atau mengidentifikasi seseorang dengan lebih mudah.
10 2.5. Citra Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dan suatu obyek (Sutoyo, dkk. 2009). Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan. Dalam dunia sehari-hari dapat banyak dijumpai berbagai macam bentuk citra, baik itu citra analog ataupun citra digital. Citra analog yaitu seperti foto yang tercetak di kertas foto, gambar sebuah lukisan di kanvas atau ketas, dan lain sebagainya. Citra analog adalah citra yang bersifat kontinu, seperti gambar pada monitor televisi, foto sinar-x, foto yang tercetak di kertas foto, lukisan, pemnadangan alam, hasil CT scan, gambar-gambar yang terekam pada pita kaset, dan lain sebagainya. Citra analog tidak dapat direpresentasikan dalam komputer sehingga tidak bisa diproses di komputer secara langsung. Sedangkan Citra Digital adalah citra yang dapat diolah oleh komputer yang memiliki jenis dan ukuran file dari citra tersebut. Citra digital merupakan citra yang tersusun dalam bentuk raster (grid / kisi). Setiap kotak (tile) yang terbentuk disebut piksel dan memiliki koordinat (x,y). Sumbu x (horizontal) : kolom (column), sumbu y (vertikal) : baris (row,line). Setiap piksel memiliki nilai (value atau number) yang menunjukkan intensitas keabuan pada piksel tersebut. Derajat keabuan merepresentasikan gray level atau kode warna (Ainun, 2014). 2.5.1. Citra Grayscale Grayscale adalah derajat keabu-abuan suatu pixel pada suatu citra yang hanya berisikan informasi intensitas warna putih dan hitam. Suatu citra dikatakan sebagai Grayslace apabila sebuah citra tidak memiliki warna RGB atau dapat dikatakan sebuah citra yang memiliki nilai dari putih yang memiliki intensitas paling besar sampai hitam yang memiliki intensitas rendah seperti yang dapat dilihat pada gambar 2.2. Citra grayscale terdiri dari x dan y dalam spasial koordinat dan memiliki nilai intensitasnya masingmasing. Pada citra grayscale setiap gambar memiliki intensitas antara 0 (hitam) hingga 255 (putih) dalam citra 8 bit-nya.
11 Gambar 2.2 Intensitas grayscale Gambar 2.3 Citra Grayscale Dengan algoritma perhitungan tingkat keabuan, piksel dari suatu citra yang mengandung warna-warna RGB (Red, Green, Blue) diubah menjadi warna dalam berbagai tingkat keabuan (I) dengan menjumlahkan semua nilai warna kemudian dibagi tiga sehingga didapat nilai rata-rata. 2.5.2. Thresholding Threshold adalah suatu cara mempertegas citra dengan mengubah citra menjadi hitam dan putih (2 bit). Dalam threshold ini, harus ditetapkan suatu variable yang berfungsi sebagai batas untuk mengkonversi elemen matriks citra menjadi hitam atau putih. Jika nilai elemen matriks dibawah nilai ini, dikonversi menjadi nilai 0 (hitam), jika diatas nilai ini, elemen dikonversi menjadi 1. Untuk citra RGB, terlebih dahulu diubah menjadi grayscale.
12 Gambar 2.4 Citra Threshold 2.5.3. Tahap Preprocessing Citra Pada tahap ini image akan diubah dari citra yang memiliki 3 layer RGB menjadi 8 bit derajat keabuan dan akhirnya diubah kembali menjadi citra 2 bit yaitu hitam dan putih. Proses thresholding ini pada dasarnya adalah proses pengubahan kuantisasi pada citra, sehingga untuk melakukan thresholding dengan derajat keabuan. Citra Asli RGB Color Grayscale Thresholding Citra Thresholding Gambar 2.5 Alur Tahap Preprocessing Citra menjadi Threshold
13 2.6. Jaringan Syaraf Tiruan Jaringan syaraf tiruan (JST) atau umumnya hanya disebut neural network (NN), adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan berdasarkan sistem syaraf manusia. JST merupakan sistem adaptif yang dapat mengubah strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut. Oleh karena sifatnya yang adaptif, JST juga sering disebut dengan jaringan adaptif. Secara sederhana, JST adalah sebuah alat pemodelan data statistik non-linier. JST dapat digunakan untuk memodelkan hubungan yang kompleks antara input dan output untuk menemukan pola-pola pada data. Saat ini bidang kecerdasan buatan dalam usahanya menirukan intelegensi manusia, belum mengadakan pendekatan dalam bentuk fisiknya melainkan dari sisi yang lain. Pertama-tama diadakan studi mengenai teori dasar mekanisme proses terjadinya intelegensi. Bidang ini disebut Cognitive Science. Dari teori dasar ini dibuatlah suatu model untuk disimulasikan pada komputer, dan dalam perkembangannya yang lebih lanjut dikenal berbagai sistem kecerdasan buatan yang salah satunya adalah jaringan syaraf tiruan. Dibandingkan dengan bidang ilmu yang lain, jaringan syaraf tiruan relatif masih baru. Sejumlah literatur menganggap bahwa konsep jaringan syaraf tiruan bermula pada makalah Waffen McCulloch dan Walter Pitts pada tahun 1943. Dalam makalah tersebut mereka mencoba untuk memformulasikan model matematis selsel otak. Metode yang dikembangkan berdasarkan sistem syaraf biologi ini, merupakan suatu langkah maju dalam industri komputer. Model pada JST pada dasarnya merupakan fungsi model matematika yang mendefinisikan fungsi f : X ->Y. Istilah "jaringan" pada JST merujuk pada interkoneksi dari beberapa neuron yang diletakkan pada lapisan yang berbeda. Secara umum, lapisan pada JST dibagi menjadi tiga bagian: Lapis masukan (input layer) terdiri dari neuron yang menerima data masukan dari variabel X. Semua neuron pada lapis ini dapat terhubung ke neuron pada lapisan tersembunyi atau langsung ke lapisan luaran jika jaringan tidak menggunakan lapisan tersembunyi.
14 Lapisan tersembunyi (hidden layer) terdiri dari neuron yang menerima data dari lapisan masukan. Lapisan luaran (output layer) terdiri dari neuron yang menerima data dari lapisan tersembunyi atau langsung dari lapisan masukan yang nilai luarannya melambangkan hasil kalkulasi dari X menjadi nilai Y. Gambar 2.6 Model Sederhana Neuron Secara matematis, neuron merupakan sebuah fungsi yang menerima masukan dari lapisan sebelumnya (lapisan ke-i ). Fungsi ini pada umumnya mengolah sebuah vektor untuk kemudian diubah ke nilai skalar melalui komposisi nonlinear weighted sum, dimana, K merupakan fungsi khusus yang sering disebut dengan fungsi aktivasi dan w merupakan beban atau weight. Gambar 2.7 Skema Proses Jaringan Syaraf Tiruan melalui jaringan dari unit pemroses kecil yang saling terhubung (Kumar, Gaurav dkk., 2016)
15 2.6.1. Learning Vector Quantization (LVQ) LVQ merupakan suatu metode untuk melakukan pelatihan terhadap lapisan-lapisan kompetitif yang terawasi. Lapisan kompetitif akan belajar secara otomatis untuk melakukan klasifikasi terhadap vektor input yang diberikan. Apabila beberapa vektor input memiliki jarak yang sangat berdekatan, maka vektor-vektor input tersebut akan dikelompokkan dalam kelas yang sama. Algoritma: 1. Tetapkan: Bobot Awal (W), Maksimum Epoch (MaxEpoch), dan Learning rate (α). 2. Masukkan : a. Input : x(m,n); m adalah jumlah input, n adalah jumlah data. b. Target : T(1,n) 3. Tetapkan kondisi awal: a. Epoch=0; 4. Kerjakan jika : (epoch < MaxEpoch) a. Epoch = epoch + 1 b. Kerjakan untuk i=1 sampai n - Tentukan J sedemikian hingga X Wj minimum (sebut sebagai Cj (jarak Euclidian) ). - Perbaiki Wj dengan ketentuan: i. Jika T = Cj maka : Wj(baru) = Wj(lama) + α (X - Wj(lama)) ii. Jika T Cj maka : Wj(baru) = Wj(lama)- α (X - Wj(lama)) c. Kurangi nilai α 5. Selesai. (Antoni Siahaan, 2011) Gambar 2.10 menjelaskan arsitektur jaringan LVQ. Dimana X1, Xi,... Xn adalah input, W11, Wij,..., Wrm adalah bobot dan Y1, Yj,..., Ym adalah output.
16 Gambar 2.8 Arsitektur Learning Vector Quantization (Risky Meliawati, 2016) Proses perhitungan LVQ : Misalnya diketahui 4 input vektor dalam 2 kelas sbb: No Data set Vektor Kelas (T) 1 (1110) 1 2 (1011) 2 No Input Vektor Kelas (T) 1 (0110) 1 2 (0011) 2 3 (1111) 1 4 (1001) 2 Dua input pertama dijadikan sebagai inisialisasi bobot: No Bobot Kelas 1 (1110) 1 2 (1011) 2 Data yang lain sebagai data yang akan dilatih C α=0,05, dan maksimum epoch=10, penurunan α=0,1. α(lama)
17 Epoh ke-1 Data ke-1 : (0110) Bobot ke-1 = (0-1) 2 + (1-1) 2 + (1-1) 2 + (0-0) 2 = 1 Bobot ke-2 = (0-1) 2 + (1-0) 2 + (1-1) 2 + (0-1) 2 = 1,73 Jarak terkecil pada bobot ke-1 Target data ke-1=1 Bobot ke-1 baru: W11(baru) = w11(lama)+ α*x11-w11(lama)] = 1+0,05*(0-1) = 0,95 W12(baru) = w12(lama)+ α*x12-w12(lama)] = 1+0,05*(1-1) = 1 W13(baru) = w13(lama)+ α*x13-w13(lama)] = 1+0,05*(1-1) = 1 W14(baru) = w14(lama)+ α*x14-w14(lama)] = 0+0,05*(0-0) = 0 Sehingga w1 = (0,95 1 1 0) W2 = (1011) Data ke-2 : (0011) - Bobot ke-1 = (0-0,95) 2 + (0-1) 2 + (1-1) 2 + (1-0) 2 = 1,7 - Bobot ke-2 = (0-1) 2 + (0-0) 2 + (1-1) 2 + (1-1) 2 = 1 Jarak terkecil pada bobot ke-2 Target data ke-2 = 2 Bobot ke-2 baru: W21(baru) = w21(lama)+ α*x21-w21(lama)] = 1+0,05*(0-1) = 0,95 W22(baru) = w22(lama)+ α*x22-w22(lama)] = 0+0,05*(0-0) = 0 W23(baru) = w23(lama)+ α*x23-w23(lama)] = 1+0,05*(1-1) = 1 W24(baru) = w24(lama)+ α*x24-w24(lama)] = 1+0,05*(1-1) = 1 Sehingga w2 = (0,95 0 1 1) w1 = (0,95 1 1 0) Data ke-3 : (1111) - Bobot ke-1 = (1-0,95) 2 + (1-1) 2 + (1-1) 2 + (1-0) 2 = 1,0023 - Bobot ke-2 = (1-0,95) 2 + (1-0) 2 + (1-1) 2 + (1-1) 2 = 1,0023 Jarak terkecil pada bobot ke-1 Target data ke-3 = 1 Bobot ke-1 baru: W11(baru) = w11(lama)+ α*x11- w31(lama)] = 0,95+0,05*(1-0,95) = 0,953 W12(baru) = w12(lama)+ α*x12-w32(lama)] = 1+0,05*(1-1) = 1
18 W13(baru) = w13(lama)+ α*x13-w33(lama)] = 1+0,05*(1-1) = 1 W14(baru) = w14(lama)+ α*x14-w34(lama)] = 0+0,05*(1-0) = 0,05 Sehingga w1 = (0,95 1 1 0,05) w2 = (0,95 0 1 1) Data ke-4 : (1001) - Bobot ke-1 = (1-0,95) 2 + (0-1) 2 + (0-1) 2 + (1-0,05) 2 = 1,704 - Bobot ke-2 = (1-0,95) 2 + (0-0) 2 + (0-1) 2 + (1-1) 2 = 1,00125 Jarak terkecil pada bobot ke-2 Target data ke-4 = 2 Bobot ke-1 baru: W11(baru) = w11(lama)+ α*x11-w31(lama)] = 0,95+0,05*(1-0,95) = 0,953 W12(baru) = w12(lama)+ α*x12-w32(lama)] = 0+0,05*(0-0) = 0 W13(baru) = w13(lama)+ α*x13-w33(lama)] = 1+0,05*(0-1) = 0,95 W14(baru) = w14(lama)+ α*x14-w34(lama)] = 1+0,05*(1-1) = 1 Sehingga w2 = (0,953 0 0,95 1) w1 = (0,95 1 1 0,05) sebelum masuk ke Epoh ke-2 α diperbarui α = 0,1. α(lama) = 0,1.0,05 = 0,005.. Sampai dengan epoh maximum = 10 Misalnya setelah epoh ke-10 di dapat bobot-bobot: w2 = (0,953 0 0,95 1) w1 = (0,95 1 1 0,05) Misalnya akan menguji vektor (1011), masuk kelas yang mana? Maka dilakukan perhitungan untuk mencari jarak terdekat: - Bobot ke-2 = (1-0,953)2 + (0-0)2 + (1-0,95)2 + (1-1)2 = 0,0686 - Bobot ke-1 = (1-0,95)2 + (0-1)2 + (1-1)2 + (1-0,05)2 = 1,38 Minimum pada ke-2 maka masuk kelas ke-2