IMPLEMENTASI METODE
BIDIRECTIONAL ASSOCIATIVE MEMORY
PADA ABSENSI BERBASIS ID ENTIFIKASI WAJAH
(Studi Kasus Mahasiswa Fasilkom-TI USU)
SKRIPSI
YAYANG KURNIATI
101401069
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI METODE
BIDIRECTIONAL ASSOCIATIVE MEMORY
PADA ABSENSI BERBASIS IDENTIFIKASI WAJAH
(Studi Kasus Mahasiswa Fasilkom- TI USU)
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar
Sarjana Komputer
YAYANG KURNIATI
101401069
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul
: IMPLEMENTASI METODE
BIDIRECTIONAL
ASSOCIATIVE MEMORY PADA ABSENSI
BERBASIS IDENTIFIKASI WAJAH (Studi
Kasus : Mahasiswa Fasilkom-TI USU)
Kategori
: SKRIPSI
Nama
: YAYANG KURNIATI
Nomor Induk Mahasiswa
: 101401069
Program Studi
: SARJANA (S1) ILMU KOPUTER
Fakultas
: ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
Diluluskan di
Medan, 28 Oktober 2014
Komisi Pembimbing
:
Pembimbing 2
Pembimbing 1
Amer Sharif, S.Si., M.Kom
Ade Candra, S.T., M.Kom
NIP. -
NIP. 1979 0904 2009 1210 02
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,
PERN YATAAN
IMPLEMENTASI METODE
BIDIRECTIONAL ASSOCIATIVE MEMORY
PADA ABSENSI BERBASIS IDENTIFIKASI WAJAH
(Studi Kasus Mahasiswa Fasilkom- TI USU)
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali
beberapa kutipan dan ringkasan yang masing- masing disebutkan sumbernya.
Medan, 28 Oktober 2014
Yayang Kurniati
PENGHARGAAN
Puji syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan
rahmat-Nya kepada penulis untuk menyelesaikan penyusunan skripsi ini sebagai
syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu
Komputer Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas
Sumatera Utara
Ucapan terima kasih penulis sampaikan kepada semua pihak yang
mendukung yang memotivasi penulis, baik secara langsung maupun tidak
langsung. Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada :
1.
Ayahanda Suryadi dan Ibunda Ismawarni tercinta yang tak pernah bosan
mengingatkan penulis untuk menyelesaikakn skripsi ini, sehingga penulis
terus merasa termotivasi
2.
Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, MSc(CTM). Sp.A(K) selaku
Rektor Universitas Sumatera Utara.
3.
Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer
dan Teknologi Informasi Universitas Sumatera Utara.
4.
Bapak Dr. Poltak Sihombing, M.Kom, selaku Ketua Program Studi S1 Ilmu
Komputer Universitas Sumatera Utara dan Dosen Pembanding II yang telah
memberikan saran untuk menyempurnakan skripsi ini
5.
Ibu Maya Silvi Lydia, B.Sc, M.Sc, selaku Sekretaris Program Studi S1 Ilmu
6.
Bapak Ade Candra, S.T., M.Kom, selaku Dosen Pembimbing I yang telah
memberikan banyak saran dan kritik yang sangat detil sehingga membuat
penulis mampu belajar dari kesalahan dan kekurangan yang ada dalam
skripsi ini.
7.
Bapak Amer Sharif, S.Si., M.Kom, selaku Dosen Pembimbing II yang tela h
memberikan banyak saran dan solusi-solusi dari masalah yang timbul dalam
proses pembuatan skripsi ini.
8.
Bapak Drs. Agus Salim Harahap, M.Si, selaku Dosen Pembanding II yang
telah memberikan saran dan kritik yang sangat bermanfaat untuk
9.
Semua dosen dan pegawai di S1 Ilmu Komputer yang telah membantu proses
pembuatan skripsi ini.
10.
Model dari skripsi ini (Zullfikri, Lily Aulia , Hayatun Nufus, S.Kom) yang
dengan setia terus membantu penulis untuk menguji coba aplikasi dari skripsi
ini.
11.
Temen-temen yang telah bersedia memberikan fotonya ke penulis, walaupun
tidak dijadikan sebagai model.
12.
Keluarga besar UKMI Al-Khuwarizmi (adik, abang, kakak dan teman-teman)
yang selalu mengingatkan penulis untuk tetap berjuang di jalan Allah walau
sesibuk apapun
13.
Saudara-saudara tercinta, FUNZY, (Fanny Fairina N, S.Kom, Hayatun Nufus,
S.Kom, Nurhennida Sitepu, S.Kom, Azizah Mei Sari Sebayang, S.Kom) yang
mebuat penulis meahami arti ukhuwah
14.
Teman-teman stambuk 2010 yang selalu kompak dan saling membantu dari
awal kuliah sampai penyusunan skripsi.
15.
Semua pihak yang tidak bisa disebutkan satu per satu dalam skripsi ini.
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna. Untuk itu
penulis akan lebih banyak belajar untuk kedepannya lagi. Kiranya Semoga Allah
SWT memberikan rahmat-Nya kepada semua pihak yang telah banyak membantu,
memberi perhatian dan dukungan kepada penulis dalam menyelesaikan skripsi ini.
Medan, 28 Oktober 2014
ABSTRAK
Absensi merupakan salah satu administrasi yang sangat penting bagi dunia
pendidikan, khususnya mahasiswa. Namun masih banyak mahasiswa yang
menganggap bahwa absensi hanya sebagai formalitas saja, sehingga sering terjadi
kecurangan dalam proses absensi. Pada skripsi ini, masalah yang diangkat adalah
pembuatan aplikasi absensi berbasis identifikasi wajah dengan menggunakan
metode
Bidirectional Associative Memory. Algoritma ini memiliki dua proses,
yaitu proses pelatihan dan pengujian. Proses pelatihan diawali dengan mengambil
nilai bipolar dari citra digital (foto) yang menjadi inputan dengan cara mengubah
citra tersebut menjadi citra
grayscale, lalu dengan menggunakan nilai
threshold,
citra grayscale
tersebut diubah menjadi citrra biner (1 dan 0), lalu nilai 0 diubah
menjadi nilai -1, sehingga didapatkan nilai bipolar dari citra inputan. Citra bipolar
akan dikalikan dengan target masing- masing inputan untuk menghasilkan nilai
matriks bobot (W ) yang dapat menampung semua citra inputan. Proses pengujian
dilakukan dengan mengambil inputan melalui kamera
webcam, lalu diubah
menjadi nilai bipolar dan dikalikan dengan matriks bobot (W) yang telah
dihasilkan pada proses pelatihan. Sehingga aplikasi ini dapat mengenali citra yang
diambil melalui kamera
webcam. Sistem absensi wajah ini sangat bergantung
pada intensitas cahaya yang ada pada foto. Apabila intensitas cahaya pada foto di
proses pelatihan hampir sama dengan foto di proses pengujian, maka foto akan
dapat dikenali. Namun jika perbedaan intensitas cahaya sangat signifikan, maka
foto tidak dapat dikenali. Dari 20 kali pengujian, hanya sekitar 62,5% yang dapat
dikenali. 37,5% lainnya tidak dapat dikenali karena memiliki intensitas cahaya
yang berbeda.
IMPLEMENTATION OF BIDIRECTIONAL ASSOCIATIVE MEMORY
METHOD FOR FACE IDENTIFICATION- BASED PRESENCE
RECORD (Case Study : Student of Faculty of Computer Science
and Information Technology USU)
ABSTRACT
Presence record is one of the most important administrative requirements in an
education system, especially for student. However, many students still consider
presence record as not important which often results in falsification of the
presence record. In this paper, the issues raised is creating a presence record
application of face identification-based by using Bidirectional Associative
Memory method. This algorithm has two processes, which are training and testing
process. Training process is started from converting the digital images input into
grayscale images and then converting these images into binary (0 or 1) values.
The zero values are converted to -1 to obtain bipolar values of the original
digital images input. The bipolar image will be multiplied with its own target to
produce the weight matrix (W). Testing process is done by capturing a photo by
webcam and converting it into bipolar values which will be multiplied by the
weight matrix obtained from the training pocess. So this system can recognize it.
This system is depending on light intensity. If the light intensity of photo in
training process is similiar with light intensity of photoes in testing process, so
this photo will be recognized. But, if the difference is very significant, this photo
won’t be recognized.
From 20 times experiments, there is 62,5% of photoescan be
recognized. And others can’t be recognized is caused by the light intensity of
photoes in training process is different in testing process.
DAFTAR ISI
Halaman
Persetujuan ... ii
Pernyataan ... iii
Penghargaan ... iv
Abstrak ... vi
Abstract ... vii
Daftar Isi ... viii
Daftar Tabel... x
Daftar Gambar ... xi
Bab I : Pendahuluan ... 1
1.1. Latar Belakang ... 1
1.2. Rumusan Masalah ... 2
1.3. Batasan Masalah ... 2
1.4. Tujuan Penelitian ... 2
1.5. Manfaat Penelitian ... 3
1.6. Metodologi Penulisan ... 3
1.7. Sistematika Penulisan ... 4
Bab II : Landasan Teori... 6
2.1. Pengolahan Citra ... 6
2.2. Jaringan Syaraf Tiruan ... 8
2.3. Komponen Jaringan Syaraf Tiruan ... 9
2.4. Arsitektur Jaringan ... 11
2.4.1. Jaringan dengan Lapisan Tunggal... 11
2.4.2. Jaringan dengan Lapisan Banyak ... 12
2.4.3. Jaringan dengan Lapisan Kompetitif... 13
2.5. Fungsi Aktivasi Bipolar dengan Threshold... 13
2.6. Fungsi Pembelajaran ... 14
2.6.1. Pembelajaran Terawasi (Supervised Learning)... 15
2.7. Bidirectional Associative Memory ... 16
2.7.1. BAM Diskret ... 16
2.7.2. BAM Kontinu ... 17
2.7.3. Kapasitas Memori BAM ... 22
Bab III : Analisis dan Perancangan Sistem ... 23
3.1. Analisis Masalah ... 23
3.2. Analisis Kebutuhan Sistem... 23
3.2.1. Kebutuhan fungsional sistem ... 23
3.2.1. Kebutuhan non- fungsional sistem ... 24
3.3. Pemodelan Sistem ... 24
3.4. Flowchart Sistem ... 33
3.4.1. Flowchart Sistem Secara Umum... 34
3.4.2. Flowchart Pelatihan Sistem ... 35
3.4.3. Flowchart Pengujian Sistem ... 36
3.4.4. Flowchart Algoritma BAM... 37
3.5. DFD dan ERD ... 37
3.5.1. DFD ... 37
3.5.2. ERD ... 38
3.6. Perancangan Antarmuka Sistem... 38
3.6.1. Form Utama ... 38
3.6.2. Form Mulai Absen ... 39
3.6.3. Form Admin... 40
3.6.4. Form Pelatihan ... 40
3.6.5. Form Rekaiptulasi Data Absensi ... 42
3.6.6. Form Data Mahasiswa ... 43
Bab IV : Implementasi dan Pengujian ... 44
4.1. Implementasi ... 44
4.2. Pengujian ... 52
Daftar Pustaka ... 70
Lampiran Angket Pengujian ... A1
Lampiran Listing Program ... B1
DAFTAR TABEL
Halaman
Tabel 3.1. Dokumentasi Naratif Use Case Pelatihan Inputan... 24
Tabel 3.2. Dokumentasi Naratif Use Case Pengujian Inputan... 27
Tabel 4.1. Hasil Pengujian Webcam
untuk sample „Lily‟
... 54
Tabel 4.2. Hasil Pengujian Webcam
untuk sample „Zulfikri‟
... 57
Tabel 4.3. Hasil Pengujian Webcam
untuk sample „Yayang‟
... 60
Tabel 4.4. Hasil Pengujian Webcam
untuk sample „Aisyah‟
... 62
Tabel 4.5. Hasil Pengamatan untuk Pertanyaan Nomor 1 ... 67
Tabel 4.6. Hasil Pengamatan untuk Pertanyaan Nomor 2 ... 67
Tabel 4.7. Hasil Pengamatan untuk Pertanyaan Nomor 3 ... 67
DAFTAR GAMBAR
Halaman
Gambar 2.1. Susunan syaraf manusia ... 7
Gambar 2.2. Struktur neuron jaringan syaraf ... 8
Gambar 2.3. Jaringan syaraf dengan lapisan tunggal... 10
Gambar 2.4. Jaringan syaraf dengan banyak lapisan. ... 11
Gambar 2.5. Fungsi aktivasi: Bipolar (threshold)... 12
Gambar 2.6. Arsitektur BAM... 14
Gambar 2.7. Matriks 3x3 untuk BAM. ... 15
Gambar 3.1. Diagram Ishikawa Analisis Permasalahan ... 19
Gambar 3.2. Use case Diagram Sistem Absensi Wajah ... 21
Gambar 3.3. Activity Diagram untuk Proses Absensi Wajah ... 22
Gambar 3.4. Sequence Diagram untuk Absensi Wajah ... 23
Gambar 3.5. Activity Diagram untuk Proses Pelatihan Inputan... 25
Gambar 3.6. Sequence diagram untuk Proses Pelatihan Input ... 26
Gambar 3.7. Activity Diagram untuk Proses Pengujian Inputan... 28
Gambar 3.8. Sequence Diagram untuk Proses Pengujian Inputan... 28
Gambar 3.9. Flowchart sistem secara umum ... 29
Gambar 3.10. Flowchart Pelatihan Sistem... 30
Gambar 3.11 Flowchart Pengujian Sistem ... 31
Gambar 3.12. Fowchart Algoritma BAM ... 32
Gambar 3.13. DFD Level 0 ...
Gambar 3.14. DFD Level 1 ...
Gambar 3.15 DFD Levl 1 Proses 1 ...
Gambar 3.16 ERD ...
Gambar 3.17. Tampilan Rancangan Form Utama... 33
Gambar 3.18. Tampilan Form absensi ... 34
Gambar 3.19. Tampilan Antarmuka Admin Login ... 35
Gambar 3.20. Tampilan Antarmuka Admin... 35
Gambar 3.21. Tampilan Antarmuka Form Pelatihan ... 36
Gambar 3.23. Tampilan Form Data Mahasiswa ... 38
Gambar 4.1. Citra Asli Foto 100 x 100 piksel ... 44
Gambar 4.2. Nilai RGB dari Citra Asli ... 44
Gambar 4.3. Citra grayscale
... 45
Gambar 4.4. Nilai Grayscale dari Citra Asli ... 45
Gambar 4.5. Nilai Biner dari Citra Asli ... 46
Gambar 4.6. Citra Bipolar ... 46
Gambar 4.7. Nilai Bipolar dari Citra Asli ... 47
Gambar 4.8. Nilai W11 ... 48
Gambar 4.9. Nilai W_total ... 49
Gambar 4.10. Nilai x_in11 sebelum dibandingkan dengan threshold ... 50
Gambar 4.11. Nilai x_in11 setelah dibandingkan dengan threshold ... 50
Gambar 4.12 N ilai y_in11 ... 51
Gambar 4.13. Masukan Diambil dari Webcam ... 52
Gambar 4.14. Citra Grayscale Gambar Uji ... 52
Gambar 4.15. Nilai grayscale dari Gambar Uji ... 52
Gambar 4.16. Citra Hitam-Putih Gambar Uji ... 53
Gambar 4.17. Nilai Bipolar dari Gambar Uji ... 53
ABSTRAK
Absensi merupakan salah satu administrasi yang sangat penting bagi dunia
pendidikan, khususnya mahasiswa. Namun masih banyak mahasiswa yang
menganggap bahwa absensi hanya sebagai formalitas saja, sehingga sering terjadi
kecurangan dalam proses absensi. Pada skripsi ini, masalah yang diangkat adalah
pembuatan aplikasi absensi berbasis identifikasi wajah dengan menggunakan
metode
Bidirectional Associative Memory. Algoritma ini memiliki dua proses,
yaitu proses pelatihan dan pengujian. Proses pelatihan diawali dengan mengambil
nilai bipolar dari citra digital (foto) yang menjadi inputan dengan cara mengubah
citra tersebut menjadi citra
grayscale, lalu dengan menggunakan nilai
threshold,
citra grayscale
tersebut diubah menjadi citrra biner (1 dan 0), lalu nilai 0 diubah
menjadi nilai -1, sehingga didapatkan nilai bipolar dari citra inputan. Citra bipolar
akan dikalikan dengan target masing- masing inputan untuk menghasilkan nilai
matriks bobot (W ) yang dapat menampung semua citra inputan. Proses pengujian
dilakukan dengan mengambil inputan melalui kamera
webcam, lalu diubah
menjadi nilai bipolar dan dikalikan dengan matriks bobot (W) yang telah
dihasilkan pada proses pelatihan. Sehingga aplikasi ini dapat mengenali citra yang
diambil melalui kamera
webcam. Sistem absensi wajah ini sangat bergantung
pada intensitas cahaya yang ada pada foto. Apabila intensitas cahaya pada foto di
proses pelatihan hampir sama dengan foto di proses pengujian, maka foto akan
dapat dikenali. Namun jika perbedaan intensitas cahaya sangat signifikan, maka
foto tidak dapat dikenali. Dari 20 kali pengujian, hanya sekitar 62,5% yang dapat
dikenali. 37,5% lainnya tidak dapat dikenali karena memiliki intensitas cahaya
yang berbeda.
IMPLEMENTATION OF BIDIRECTIONAL ASSOCIATIVE MEMORY
METHOD FOR FACE IDENTIFICATION- BASED PRESENCE
RECORD (Case Study : Student of Faculty of Computer Science
and Information Technology USU)
ABSTRACT
Presence record is one of the most important administrative requirements in an
education system, especially for student. However, many students still consider
presence record as not important which often results in falsification of the
presence record. In this paper, the issues raised is creating a presence record
application of face identification-based by using Bidirectional Associative
Memory method. This algorithm has two processes, which are training and testing
process. Training process is started from converting the digital images input into
grayscale images and then converting these images into binary (0 or 1) values.
The zero values are converted to -1 to obtain bipolar values of the original
digital images input. The bipolar image will be multiplied with its own target to
produce the weight matrix (W). Testing process is done by capturing a photo by
webcam and converting it into bipolar values which will be multiplied by the
weight matrix obtained from the training pocess. So this system can recognize it.
This system is depending on light intensity. If the light intensity of photo in
training process is similiar with light intensity of photoes in testing process, so
this photo will be recognized. But, if the difference is very significant, this photo
won’t be recognized.
From 20 times experiments, there is 62,5% of photoescan be
recognized. And others can’t be recognized is caused by the light intensity of
photoes in training process is different in testing process.
BAB I
PENDAHULUAN
1.1.
Latar Belakang
Absensi merupakan data yang sangat penting dalam setiap kegiatan, baik itu
kegiatan perkuliahan maupun kegiatan perkantoran. Namun sering kali data-data
absensi ini kurang terlalu diperhatikan. Buktinya, masih banyak perguruan tinggi
yang masih menggunakan absensi konvensional (masih menggunakan kertas)
dalam kegiatan belajar-mengajarnya. Kondisi yang seperti ini tentu saja sangat
rentan terjadi kecurangan.
Absensi bukan merupakan administrasi pelengkap saja. Namun dari
absensi, terdapat informasi yang dibutuhkan, seperti tingkat kehadiran mahasiswa
yang akan mempengaruhi nilai mahasiswa nantinya. Namun karena absensi masih
rentan terhadap kecurangan, sehingga informasi yang dihasilkan masih diragukan
kebenarannya.
Salah satu instansi yang masih menggunakan absensi manual ini adalah
Tata Usaha S1 Ilmu Komputer Fasilkom-TI USU. Proses absensi dilakukan
dengan menandatangani kertas absensi. Beberapa mahasiswa pun menilai proses
absensi tersebut kurang sesuai dengan standar S1 Ilmu Komputer yang merupakan
program studi yang terakreditasi A yang selalu membahas tentang kemajuan
teknologi kepada para mahasiswanya.
Di Program Studi S1 Ilmu Komputer Fasilkom-TI USU sangat sering
terjadi kecurangan dalam mengisi absensi. Sehingga istilah „titip absen‟
merupakan hal yang biasa dilakukan oleh mahasiswa.
Oleh karena itu, Program Studi S1 Ilmu Komputer membutuhkan suatu
sistem yang dapat membuat proses absensi dapat menghasilkan informasi yang
lebih akurat dan sesuai dengan standarnya. Sistem yang dimaksud adalah absensi
Banyak algoritma yang dapat digunakan dalam proses pengenalan wajah.
Salah satunya adalah algoritma Jaringan Syaraf Tiruan
Bidirectional Associative
Memory (BAM).
Bidiretional Associative Memory adalah model
heteroassociative yang
terdiri dari dua lapis memori (A dan B) yang dapat diakses, kedua lapis neuron
sama-sama menyimpan pasangan kelompok pola vektor dan menggunakan aliran
perambatan informasi arah umpan maju dan arah umpan balik untuk mencari pola
yang tersimpan dalam memori. [4]. Metode ini memungkinkan untuk mengenali
pola wajah melalui sebagian dari keseluruhan wajah.
Dengan demikian, absensi yang berbasiskan identifikasi wajah ini dapat
diimplementasikan denngan menggunakan algoritma Jaringan Syara f Tiruan
Bidirectional Associative Memory.
1.2.
Rumusan Masalah
Rumusan masalah dalam penelitian ini adalah bagaimana mengurangi tingkat
kecurangan dalam absensi dengan mengimplementasikan sistem absensi yang
berbasiskan identifikasi wajah dengan algoritma
Bidirectional Associative
Memory.
1.3.
Batasan Masalah
Batasan masalah dalam penelitian ini adalah sebagai berikut :
1.
Wajah yang akan dideteksi adalah wajah yang menghadap tegak ke depan
(seperti pas foto) yang diambil langsung melalui kamera laptop
2.
Latar pengambilan foto berwarna putih polos
3.
Satu orang memiliki 6 sample foto untuk proses pelatihan dalam JST
4.
Bahasa pemrograman yang digunakan adalah C#
5.
Menggunakan BAM Diskret
6.
Fungsi aktivasi yang digunakan adalah fungsi aktivasi bipolar (dengan
1.4.
Tujuan Penelitian
Tujuan dari penelitian ini adalah mengurangi tingkat kecurangan pada absensi
dengan menerapkan algoritma
Bidirectional Associative Memory
pada sistem
absensi berbasiskan identifikasi wajah
1.5.
Manfaat Penelitian
Manfaat yang diharapkan dari penelitian ini adalah mengurangi tingkat
kecurangan pada absensi sehingga dapat membantu dosen di Program Studi S1
Ilmu Komputer Fasilkom- TI USU untuk melihat tingkat kehadiran mahasiswa
melalui sistem absensi yang berbasis identifikasi wajah denga n metode
Bidirectional Associative Memory.
1.6.
Metodologi Penelitian
Metodologi yang digunakan dalam penelitian tugas akhir ini adalah sebagai
berikut :
1.
Studi Literatur
Pada tahap ini dilakukan pencarian dan pengumpulan referensi yang
berhubungan dengan jaringan syaraf tiruan dan algoritma
Bidirectional
Associative Memory dalam bentuk buku, jurnal ataupun skripsi yang telah
dilakukan oleh mahasiswa lain.
2.
Wawancara
Karena studi kasus penelitian ini adalah mahasiswa di Program Studi S1
Ilmu Komputer Fasilkom- TI USU, maka dilakukan wawancara dengan
salah satu mahasiswa terkait dengan sistem absensi yang ada.
3.
Analisis masalah
Data yang diperoleh dari hasil studi litera tur dan wawancara dianalisis
untuk merencanakan pembuatan sistem yang sesuai dengan kebutuhan.
4.
Perancangan Sistem
Pada tahap ini dilakukan perancangan flowchart dan interface dari sistem
5.
Implementasi Sistem
Pada tahap ini, sistem akan diimplementasikan dengan bahasa
pemrograman C# untuk menerapkan algoritma
Bidirectional Associative
Memory.
6.
Pengujian Sistem
Sistem akan diuji dengan diberi berbagai inputan yang sedikit berbeda
dengan pola sebelumnya untuk melihat seberapa akurat sistem yang dibuat
dengan algoritma ini.
7.
Dokumentasi
Pada tahap ini dilakukan penyusunan laporan dari hasil analisis dan
perancangan sistem dalam format penulisan penelitian.
1.7.
Sistematika Penulisan
Agar pembahasan lebih sistematis, maka tulisan ini dibuat dalam lima bab, yaitu :
Bab I
Pendahuluan
Berisi latar belakang, perumusan masalah, batasan masalah, tujuan,
manfaat penelitian, metodologi penelitian dan sistematika penulisan.
Bab II
Landasan Teori
Bab ini menjelaskan tentang dasar teori yang digunakan sebagai
sumber referensi untuk
pemahaman
algoritma
Bidirectional
Associative Memory
Bab III
Analisis dan Perancangan
Bab ini menjelaskan tentang analisis mengenai proses kerja algoritma
Bidirectional Associative Memory
serta perancangan tampilan form
sistem.
Bab IV
Algoritma dan Implementasi
Bab V
Kesimpulan dan Saran
Bab ini menjelaskan tentang kesimpulan yang dapat diperoleh setelah
menyelesaikan tugas akhir ini dan saran-saran untuk pengembangan
BAB II
LANDASAN TEORI
2.1.
Pengolahan Citra
Citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Dan
pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan
komputer, menjadi citra yang kualitasnya lebih baik [8].
Agar dapat diproses di komputer, maka foto inputan harus mengalami
proses digitalisasi citra. Hasil dari prosesdigitalisasi inilah yang disebut sebagai
citra digital. Proses digitalisasi citra daat menggunakan teknik
sampling,
yaitu
teknik penerokan dimana citr asli diterok pada grid-grid yang berbentuk bujur
sangkar dengan koordinat (x,y).Lalu dilanjutkan dengan proses kuantisasi.
Proses kuantisasi membagi citra dengan skala keabuan (0,
L) menjadi
G
buah level yang dinyatakan dalam satu buah bilangan bulat integer. Biasanya nilai
G diambil dari perpangkatan dua
G = 2
mDimana G adalah derajat keabuan, sedangkan m adalah bilangan bulai positif
Tabel 2.1 Tabel Skala Keabuan
Skala Keabuan
Rentang Nilai
Keabuan
Pixel Depth
2
1(2 nilai)
0 dan 1
1 bit
2
2(4 nilai)
0 sampai 7
2 bit
2
3(16 nilai)
0 sampai 15
3 bit
2
8(256 nilai)
0 sampai 255
8 bit
Hitam dinyatakan dengan nilai derajat keabuan terendah, yaitu 0,
sedangkan putih dinyatakan dengan nilai derajat keabuan tertinggi, misalnya 15
keabuan piksel disebut kedalaman piksel (pixel depth). Citra sering diasosiasikan
dengan kedalaman pikselnya. Jadi, citra dengan kedalaman 8 bit disebut juga citra
8-bit (atau citra 256 warna)
Setiap citra memiliki tiga kombinasi warna terbesar, yaitu warna merah
(Red), warna hijau (Green), dan warna biru (Blue). Masing- masing warna
memiliki nilai derajat keabuan sebesar 2
7dengan rentang nilai antara 0
–
255.
Setelah mendapat nilai derajat keabuan pada s etiap warna
RGB,
maka
harus dilakukan proses
grayscale
lalu diubah lagi ke citra biner berdasarkan
threshold
lalu matriks gambar dalam citra biner diubah lagi dalam bentuk bipolar
agar dapat diproses di dalam komputer.
Untuk mengubah citra berwarna yang mempunyai nilai matriks
masing- masing
r, g
dan b menjadi citra
grayscale dengan nilai s, maka
konversi
dapat
dilakukan dengan mengambil rata-rata dari nilai r, g dan b
sehingga dapat dituliskan menjadi: [8]
3
b
g
r
s
dengan :
s
: nilai piksel pada citra grayscale
r
: nilai bit red pada piksel citra RGB
g : nilai bit green pada piksel citra RGB
b : nilai bit blue pada piksel citra RGB
Thresholding
digunakan untuk mengatur jumlah derajat keabuan yang
ada
pada
citra.
Dengan menggunakan thresholding,
derajat
keabuan bisa diubah sesuai keinginan. [7]
Mengubah gambar ke biner prosesnya hampir sama dengan mengubah
gambar ke grayscale, bedanya, warna rata-rata akan dikelompokkan menjadi dua,
tengahnya, yaitu 128. Jika di bawah 128 maka warna akan cenderung hitam dan
jika di atas 128 warna akan cenderung putih.[ 7]
2.2.
Jaringan Syaraf Tiruan
Jaringan syaraf adalah merupakan salah satu representasi buatan dari otak
manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada
otak manusia tersebut. Istilah buatan disini digunakan karena jaringan syaraf ini
diimplementasikan dengan menggunakan program komputer yang mampu
menyelesaikan sejumlah proses perhitungan selama proses pembelajaran. [5]
Jaringan syaraf tiruan digunakan untuk menyelesaikan masalah-masalah
kompleks dan sulit dipahami. Dimana sejumlah besar data mengenai masalah
tersebut telah dikumpulkan. Jaringan syaraf tiruan mencar i pola dan hubungan
dalam data yang sangat besar yang terlalu rumit dan sulit untuk dianalisis
manusia. Jaringan syaraf tiruan menemukan pengetahuan ini dengan
menggunakan perangkat keras dan piranti lunak yang menyerupai pola-pola
pemrosesan dalam otak manusia. Jaringan syaraf tiruan mempelajari pola-pola
dan jumlah data yang banyak dengan menyaring data, mencari hubungan,
membangun model, dan mengoreksi kesalahan model itu sendiri berkali-kali.[6]
Proses pembelajaran Jaringan Syaraf Tiruan ini serupa dengan syaraf
manusia.
Gambar 2.1. Susunan syaraf manusia
Sel-1(Neuron-1)
Sel-2
(Neuron-2)
Inti Sel
(Neucleus)
Axon Dendrit
Gambar 1 menunjukkan susunan syaraf pada manusia. Setiap sel syaraf
(neuron) akan memiliki satu inti sel, inti sel ini nanti yang akan bertukar untuk
melakukan pemrosesan informasi. Informasi yang datang akan diterima oleh
dendrit. Selain menerima informasi, dendrit juga menyertai axon sebagai ke luaran
dari suatu pemrosesan informasi. Informasi hasil olahan ini akan menjadi
masukan bagi neuron lain yang mana antar dendrit kedua sel tersebut
dipertemukan dengan synapsis. Informasi yang dikirimkan antar neuron ini berupa
rangsangan yang dilewatkan melalui dendrit. Informasi yang datang dan diterima
oleh dendrit akan dijumlahkan dan dikirim melalui axon ke dendrit akhir yang
bersentuhan dengan dendrit dari neuron yang lain. Informasi ini akan diterima
oleh neuron lain jika memenuhi batasan tertentu, yang sering dikenal dengan
nama nilai ambang (threshold
). Pada kasus ini, neuron tersebut dikatakan
teraktivasi. Hubungan antar neuron terjadi secara adaptif, artinya struktur
hubungan tersebut terjadi secara dinamis. Otak manusia selalu memiliki
kemampuan untuk belajar dengan melakukan adaptasi.
2.3.
Komponen Jaringan Syaraf Tiruan
Ada beberapa tipe jaringan syaraf, namun demikian, hampir semuanya memiliki
komponen-komponen yang sama. Seperti halnya otak manusia, jaringan syaraf
juga terdiri-dari beberapa neuron, dan ada hubungan antara neuron-neuron
tersebut. Neuron-neuron tersebut akan mentransformasikan informasi yang
diterima melalui sambungan keluarnya menuju ke neuron-neuron yang lain. Pada
jaringan syaraf, hubungan ini dikenal dengan nama bobot. Informasi tersebut
disimpan pada suatu nilai tertentu pada bobot tersebut. Gambar 2.2 menunjukkan
Gambar 2.2. Struktur neuron jaringan syaraf
Jika kita lihat, neuron buatan ini sebenarnya mirip dengan sel neuron
biologis. Neuron- neuron buatan tersebut bekerja dengan cara yang sama pula
dengan neuron-neuron biologis. Informasi (disebut dengan: input) akan dikirim ke
neuron dengan bobot kedatangan tertentu. Input ini akan diproses oleh suatu
fungsi perambatan yang akan menjumlahkan nilai- nilai semua bobot yang datang
yang dinotasikan seperti persamaan 2 dan persamaan 3. [1]
n
i
b
i
w
i
x
net
1
)
(
net
f
y
Keterangan :
y
: output yang dihasilkan
net
: jaringan yang dibentuk
f(net) : fungsi aktivasi
x
i: inputan ke-i (i = 1,2,3,...,n)
w
i: bobot untuk inputan ke-i
b
: bias
Fungsi
b
(bias) pada persamaan 2 memiliki peran sebagai penentu hasil
akhir. Misalnya, jika kita menginginkan hasil akhirnya bernilai -1, maka bobot
bias bisa kita berikan nilai negatif. Fungsi kerja bias hampir sama dengan fungsi
threshold.
Ada beberapa algoritma dalam JST yang menggunakan bias saja,
dengan nilai perbandingan 1 atau -1. Dan ada agoritma yang menggunakan
threshold saja, sehingga tidak menggunakan bias lagi.
... (2)
... (3)
f
x
1x
2x
3x
iy
w
1w
2w
3Hasil penjumlahan ini kemudian akan dibandingkan dengan suatu nilai
ambang (threshold
) tertentu melalui fungsi aktivasi setiap neuron. Apabila input
tersebut melewati suatu nilai ambang tertentu, maka neuron tersebut akan
diaktifkan, tapi kalau tidak, maka neuron tersebut tidak akan diaktifkan. Apabila
neuron tersebut diaktifkan, maka neuron tersebut akan mengirimkan output
melalui bobot-bobot outputnya ke semua neuron yang berhubungan dengannya.
Demikian seterusnya.
Pada jaringan syaraf, neuron- neuron akan dikumpulkan dalam
lapisan-lapisan (layer
) yang disebut dengan lapisan neuron (neuron layers). Biasanya
neuron- neuron pada satu lapisan akan dihubungkan dengan lapisan-lapisan
sebelum dan sesudahnya (kecuali lapisan input dan lapisan output). Informasi
yang diberikan pada jaringan syaraf akan dirambatkan lapisan ke lapisan, mulai
dari lapisan input sampai ke lapisan output melalui lapisan yang lainnya, yang
sering dikenal dengan nama lapisan tersembunyi (hidden layer). Tergantung pada
algoritma pembelajarannya, bisa jadi informasi tersebut akan dirambatkan secara
mundur pada jaringan.
2.4.
Arsitektur Jaringan
Seperti telah dijelaskan sebelumnya bahwa neuron- neuron dikelompokkan dalam
lapisan- lapisan. Umumnya, neuron- neuron yang terletak pada lapisan yang sama
akan memiliki keadaan yang sama. Faktor terpenting dalam menentukan kelakuan
suatu neuron adalah fungsi aktivasi dan pola bobotnya. Pada setiap lapisan yang
sama, neuron akan memiliki fungsi aktivasi yang sama. Apabila
neuron-neuron dalam suatu lapisan (misalkan lapisan tersembunyi) akan dihubungkan
dengan neuron-neuron pada lapisan yang lain (misalk an lapisan output), maka
setiap neuron pada lapisan tersebut (misalkan lapisan tersembunyi) juga harus
dihubungkan dengan setiap lapisan pada lapisan lainnya (misalkan lapisan
2.4.1.
Jaringan dengan lapisan tunggal (single layer net)
Jaringan yang semua inputnya terkoneksi secara langsung disebut jaringan dengan
lapis tunggal (single layer net).[
6] Jaringan ini hanya menerima input kemudian
secara langsung akan mengolahnya menjadi output tanpa harus melalui lapisan
tersembunyi (Gambar 2.3). Pada Gambar 8.4 tersebut, lapisan input memiliki 3
neuron, yaitu
X
1, X
2dan
X
3. Sedangkan pada lapisan output memiliki 2 neuron
yaitu
Y
1dan
Y
2. Neuron-neuron pada kedua lapisan saling berhubungan. Seberapa
besar hubungan antara 2 neuron ditentukan oleh bobot yang bersesuaian. Semua
unit input akan dihubungkan dengan setiap unit output.
Gambar 2.3. Jaringan syaraf dengan lapisan tunggal
2.4.2.
Jaringan dengan banyak lapisan (multilayer net)
Jaringan dengan banyak lapisan memiliki 1 atau lebih lapisan yang terletak
diantara lapisan input dan lapisan output (memiliki 1 atau lebih lapisan
tersembunyi), seperti terlihat pada Gambar 5. Umumnya, ada lapisan bobot-bobot
yang terletak antara 2 lapisan yang bersebelahan. Jaringan dengan banyak lapisan
ini dapat menyelesaikan permasalahan yang lebih sulit daripada lapisan dengan
lapisan tunggal, tentu saja dengan pembelajaran yang lebih rumit. Namun
demikian, pada banyak kasus, pembelajaran pada jaringan dengan banyak lapisan
ini lebih sukses dalam menyelesaikan masalah.
N ilai input
L apis an I nput
Matriks bobot
L apis an
N ilai
w11
X1 X2 X3
Gambar 2.4. Jaringan syaraf dengan banyak lapisan.
2.4.3.
Jaringan dengan lapisan kompetitif (competitive layer net)
Umumnya, hubungan antar neuron pada lapisan kompetitif ini tidak diperlihatkan
pada diagram arsitektur. Prinsip pada jaringan ini adalah “
winner takes all
” yang
artinya, hanya ada 1 neuron yang boleh aktif, yaitu neuron yang menghasilkan
output > 0, sementara neuron yang lain tidak aktif.
2.5.
Fungsi Aktivasi Bipolar (dengan
threshold
)
Fungsi bipolar memiliki output yang dihasilkan berupa 1, 0 atau
–
1 (Gambar 7).
Fungsi bipolar (dengan nilai ambang
) dirumuskan sebagai: [2]
x
jika
x
jika
y
,
1
,
1
Gambar 2.5. Fungsi aktivasi: Bipolar (threshold
).
Nilai inputLapisan Input
Matriks bobot pertama
Lapisan
Nilai output v11
X1 X2 X3
Z1 Z2
v12
v21 v22 v 31 v32
Matriks bobot
Lapisan Output Y
w1 w2
0 1 y
x
2.6.
Proses Pembelajaran
Pada otak manusia, informasi yang dilewatkan dari satu neuron ke neuron yang
lainnya berbentuk rangsangan listrik melalui dendrit. Jika rangsangan tersebut
diterima oleh suatu neuron, maka neuron tersebut akan membangkitkan output ke
semua neuron yang berhubungan dengannya sampai informasi tersebut sampai ke
tujuannya yaitu terjadinya suatu reaksi. Jika rangsangan yang diterima terlalu
halus, maka output yang dibangkitkan oleh neuron tersebut tidak akan direspon.
Tentu saja sangatlah sulit untuk memahami bagaimana otak manusia bisa belajar.
Selama proses pembelajaran, terjadi perubahan yang cukup berarti pada
bobot-bobot yang menghubungkan antar neuron. Apabila ada rangsangan yang sama
dengan rangsangan yang telah diterima oleh neuron, maka neuron akan
memberikan reaksi dengan cepat. Namun apabila kelak ada rangsangan yang
berbeda dengan apa yang telah diterima oleh neuron, maka neuron akan segera
beradaptasi untuk memberikan reaksi yang sesuai. [5]
Jaringan syaraf akan mencoba untuk mensimulasikan kemampuan otak
manusia untuk belajar. Jaringan syaraf tiruan juga tersusun atas neuron-neuron
dan dendrit. Tidak seperti model biologis, jaringan syaraf memiliki struktur yang
tidak dapat diubah, dibangun oleh sejumlah neuron, dan memiliki nilai tertentu
yang menunjukkan seberapa besar koneksi antara neuron (yang dikenal dengan
nama bobot). Perubahan yang terjadi selama proses pembelajaran adalah
perubahan nilai bobot. Nilai bobot akan bertambah, jika informasi yang diberikan
oleh neuron yang bersangkutan tersampaikan, sebaliknya jika informasi tidak
disampaikan oleh suatu neuron ke neuron yang lain, maka nilai bobot yang
menghubungkan keduanya akan dikurangi. Pada saat pembelajaran dilakuka n
pada input yang berbeda, maka nilai bobot akan diubah secara dinamis hingga
mencapai suatu nilai yang cukup seimbang. Apabila nilai ini telah tercapai
mengindikasikan bahwa tiap-tiap input telah berhubungan dengan output yang
2.6.1.
Pembelajaran terawasi (supervised learning)
Metode pembelajaran pada jaringan syaraf disebut terawasi jika output yang
diharapkan telah diketahui sebelumnya.
Contoh: andaikan kita memiliki jaringan syaraf yang akan digunakan
untuk mengenali pasangan pola, misalkan pada operasi AND:
Input
target
0
0
0
0
1
0
1
0
0
1
1
1
Pada proses pembelajaran, satu pola input akan diberikan ke satu neuron
pada lapisan input. Pola ini akan dirambatkan di sepanjang jaringan syaraf hingga
sampai ke neuron pada lapisan output. Lap isan output ini akan membangkitkan
pola output yang nantinya akan dicocokkan dengan pola output targetnya. Apabila
terjadi perbedaan antara pola output hasil pembelajaran dengan pola target, maka
disini akan muncul error. Apabila nilai error ini masih cukup besar,
mengindikasikan bahwa masih perlu dilakukan lebih banyak pembelajaran lagi.
2.6.2.
Pembelajaran tak terawasi (unsupervised learning)
Pada metode pembelajaran yang tak terawasi ini tidak memerlukan target output.
Pada metode ini, tidak dapat ditentukan hasil yang seperti apakah yang diharapkan
selama proses pembelajaran. Selama proses pembelajaran, nilai bobot disusun
dalam suatu range tertentu tergantung pada nilai input yang diberikan. Tujuan
pembelajaran ini adalah mengelompokkan unit-unit yang hampir sama dalam
suatu area tertentu. Pembelajaran ini biasanya sangat cocok untuk pengelompokan
(klasifikasi) pola.
2.7.
Bidirectional Associative Memory
Bidirectional associative memory merupakan model heteroassociative yang terdiri
dari dua lapis memori (A dan
B) yang dapat diakses, kedua lapis neuron
perambatan informasi arah umpan maju dan arah umpan balik untuk mencari pola
yang tersimpan dalam memori.
Pada
bidirectional associative memory dimungkinkan adanya hubungan
timbal balik antara lapisan input dan lapisan output. Namun demikian bobot yang
menghubungkan satu neuron (A) di satu lapisan dengan neuron (B) di satu lapisan
lainnya akan sama dengan bobot yang menghubungkan neuron
(B) ke neuron (A).
Dengan kata lain, matrik bobot yang menghubungkan neuron- neuron pada lapisan
output ke lapisan input sama dengan tranpose matriks bobot neuron- neuron yang
menghubungkan lapisan input ke lapisan output. [5]
[image:32.596.210.404.331.485.2]Secara umum, arsitektur BAM ditunjukkan seperti pada Gambar 8 [4]
Gambar 2.6. Arsitektur BAM
Ada 2 jenis jaringan syaraf tiruan BAM, yaitu : [2]
2.7.1.
BAM diskret
Pada BAM diskret, ada 2 kemungkinan tipe inputan, yaitu biner dan bipolar.
Matriks bobot dibuat sedemikian rupa sehingga dapat menyimpan pasangan
vektor input dan vektor ouput.
2.7.2.
BAM kontinu
BAM kontinyu akan mentransformasikan input secara lebih halus dan kontinu ke
digunakan adalah fungsi sigmoid. Penerapam BAM kontinu akan memiliki hasil
akhir seperti berikut.
-0.1401 (bias on the output unit)
0.4919 (weight from the first hidden unit)
-0.2913 (weight from the second hidden unit)
-0.3979 (weight from the third hidden unit)
0.3581 (weight from the fourth hidden unit)
Algoritma jaringan syaraf tiruan BAM adalah sebagai berikut :
1.
Set pola input dan pola output (pola input = x, pola output = y)
2.
Hitung matriks bobot dari lapisan X ke lapisan Y
jT i
ij
x
y
W
*
3.
Recall pola input
ij i
i
x
W
in
y
_
*
4.
Tentukan nilai y
idengan membandingkan nilai y_in
idengan threshold
Jika y_in
i>=
maka y
i= 1
Jika y_in
i<
maka y
i= -1
5.
Balik arah, cari nilai x_in
iT ij j
j
y
W
in
x
_
*
6.
Tentukan nilai x
idengan membandingkan nilai x_in
jdengan threshold
Jika x_in
j>=
maka x
j= 1
Jika x_in
j<
maka x
j= -1
7.
Jika niai x
idan y
jmasih belum stabil, maka ulangi langkah 2-6
Keterangan :
W
ij: Matriks bobot hubungan ke- i dan ke-j
x
i: sinyal masukan ke-i
y
j: sinyal keluaran ke-j
... (4)
... (5)
x_in
i: masukan hasil olahan ke- i
y_in
j: keluaran hasil olahan ke-j
: nilai ambang
Contoh :
Misalkan kita memiliki 2 matriks 3x3 yang mewakili bilangan huruf O dan
X. Tiap matriks berhubungan dengan kode bipolar seperti terlihat pada Gambar 9.
Gambar 2.7. Matriks 3x3 untuk BAM.
Contoh penerapan algoritma BAM :
1.
Atur pola input dan pola output
Kita bisa membawa tiap-tiap matriks menjadi satu bentuk vektor dengan
elemen-elemennya berupa bilangan biner -1 atau 1, sebagai berikut:
Pola 1 : Pola O
x
1: 1 1 1 1
–
1 1 1 1
y
1---> -1
1
Pola 2 : Pola X
x
2: 1
–
1 1
–
1 1
–
1 1 -1
y
2---> 1
1
2.
Hitung matriks bobot dari pola X ke pola Y
Matriks bobot untuk pola 1:
w
1= x
1t*
y
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
*
1
1
1
1
1
1
1
1
1
1w
Matriks bobot untuk pola 2 :
w
2= x
2t*
y
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
*
1
1
1
1
1
1
1
1
1
2w
w
total= w
1+ w
2Matriks bobot tersebut menghubungkan antara neuron-neuron di lapisan
input ke neuron-neuron yang ada di lapisan output. Sedangkan matriks bobot yang
menghubungkan antara neuron-neuron di lapisan output ke neuron- neuron yang
ada di lapisan input adalan W
T.
3.
Recall pola input
ij i
i
x
W
in
y
_
*
Tentukan nilai y
idengan membandingkan nilai y_in
idengan threshold
Jika y_in
i>=
maka y
i= 1
Jika y_in
i<
maka y
i= -1
2
0
2
0
0
0
2
0
2
0
2
0
2
2
2
0
2
0
)
(
w
total TKita bisa menguji bobot tersebut. Misalkan kita cobakan vektor input
pertama yang mewakili Huruf O, maka output yang diperoleh adalah:
10
8
2
0
0
2
2
0
0
2
0
2
0
2
2
0
0
2
2
0
*
1
1
1
1
1
1
1
1
1
)
(
*
_
1 1
T totalw
x
in
y
Karena (y_in
1(1) =
–
10 < 0, maka y
1(1) = -1) dan (y_in
1(2) = 8 > 0, maka
y
1(2) = 1), maka nilai y
1= [-1 1], sama dengan target yang diharapkan.
Untuk vektor input kedua yang mewakili Huruf X, maka output yang
10
8
2
0
0
2
2
0
0
2
0
2
0
2
2
0
0
2
2
0
*
1
1
1
1
1
1
1
1
1
)
(
*
_
2 2
T totalw
x
in
y
Karena (y_in
2(1) = 10 > 0, maka
y
2(1) = 1) dan (y_in
2(2) = 8 > 0, maka
y
2(2) = 1), maka nilai y
2= [1 1], sama dengan target yang diharapkan.
4.
Balik arah, cari nilai x_in
iSekarang apabila dibalik, y digunakan sebagai input untuk mendapatkan x.
Misalkan kita cobakan vektor input pertama
y
1= [-1 1], maka output yang
diperoleh adalah:
2
0
2
0
0
0
2
0
2
0
2
0
2
2
2
0
2
0
*
]
1
1
[
)
(
*
_
in
1y
1w
total Tx
]
1
1
1
1
1
1
1
1
1
[
]
2
2
2
2
2
2
2
2
2
[
Outputnya sama dengan target, yaitu Huruf O.
Untuk vektor input kedua yaitu y
2= [1 1], maka output yang diperoleh adalah:
2
0
2
0
0
0
2
0
2
0
2
0
2
2
2
0
2
0
*
]
1
1
[
)
(
*
_
in
2y
2w
total Tx
]
1
1
1
1
1
1
1
1
1
[
]
2
2
2
2
2
2
2
2
2
[
2.7.3.
Kapasitas memori BAM
Salah satu kelemahan yang dimiliki oleh algoritma BAM adalah memiliki
kapasitas memori yang sangat rendah. Kapasitas memori maksimal yang dapat
ditampung oleh algoritma BAM adalah : [7]
)
,
min(
m
n
Keterangan :
m
: jumlah vektor input
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1.
Analisis Masalah
Absensi merupakan administrasi yang sangat penting bagi setiap lembaga, baik
lembaga pemerintahan maupun non-pemerintahan. Namun terkadang, absensi
menjadi hal yang tidak terlalu diperhatikan. Sehingga menyebabkan absensi
menjadi rentan terhadap kecurangan. Hal ini mengakibatkan informasi dari data
absensi tersebut masih diragukan validitasnya.
Penyebab dan dampak dari permasalahan tersebut diperlihatkan pada
diagram Ishikawa pada Gambar 3.1.
Sistem Absensi
Wajah Staf
Material
Metode
Teknologi
Admin dan mahasiswa Bertindak sebagai user
Sering titip absen
Foto 100 x 100 piksel Kamera webcam
Absensi mengidentifikasi wajah
Bahasa c#
Gambar 3.1. Diagram Ishikawa Analisis Permasalahan
3.2.
Analisis Kebutuhan Sistem
Analisis kebutuhan sistem meliputi analisis kebutuhan fungsional sistem dan
analisis kebutuhan non-fungsional sistem.
3.2.1. Kebutuhan fungsional sistem
Kebutuhan fungsional yang harus dimiliki oleh sistem absensi berbasis
pengenalan wajah adalah :
2.
Sistem dapat melakukan proses
training
untuk setiap masukan sehingga
dapat menghasilkan suatu bobot matriks untuk semua masukan
3.
Sistem dapat mengenali wajah seseorang (masukan yang diuji) yang
diambil melalui kamera webcam
4.
Sistem menghasilkan keluaran berupa rekapitulasi data absensi pegawai
dan dosen per bulan
3.2.2. Kebutuhan non-fungsional sistem
Kebutuhan non-fungsional yang dimiliki oleh sistem adalah :
1.
Interface sistem mudah dipahami oleh user (pengguna)
2.
Sistem melakukan proses login untuk keamanan data
3.3.
Pemodelan Sistem
Secara umum, sistem absensi berbasis identifikasi wajah ini terdir i dari 2 proses,
yaitu proses pelatihan inputan dan proses pengujian inputan. Pemodelan kedua
proses tersebut akan digambarkan melalui UML (Unified Modelling Language)
yang mencakup
use case diagram, activity diagran, dan sequence diagram.
UML
merupakan satu kumpulan konvensi pemodelan yang digunakan untuk
menentukan atau menggambarkan sebuah sistem software yang terkait dengan
objek. [10]
Usecase diagram
adalah diagram yang menggambarkan aktor,
use case
dan relasinya sebagai suatu urutan tindakan yang memberikan nilai terukur untuk
aktor.
Activity diagram
menggambarkan aktifitas-aktifitas, objek, state, transisi
state dan event. Dengan kata lain, diagram ini menggambarkan alur aktivitas dari
Sequence diagram
menjelaskan interaksi objek yang disusun berdasarkan
urutan waktu. Secara mudahnya
sequence diagram adalah gambaran tahap demi
tahap, termasuk kronologi (urutan) perubahan secara logis dari sistem. [3]
Pembuatan
use case diagram dapat dimulai dengan menjawab pertanyaan berikut
:
1.
Siapa yang menggunakan sistem?
Jawaban
: user
2.
Siapa yang diperlukan untuk melaksanakan fungsi pada sistem?
Jawaban
: Admin dan pegawai/dosen
3.
Apa saja yang dapat dilakukan user pada sistem?
Jawaban
: melakukan pelatihan inputan dengan metode BAM,
[image:41.596.91.548.372.617.2]pengujian inputan melalui kamera webcam, dan absensi
Gambar 3.2. Use case Diagram Sistem Absensi Wajah
Sistem Absensi berbasis Identifiksi Wajah
Absensi
wajah
Pelatihan inputan Pengujian inputan <<extends>>
<<extends>>
user
Admin Sistem Mahasiswa
Memasukan inputan Mengubah citra asli -> Grayscale
Grayscale -> bipolar
Pelatihan BAM Mengahasilkan bobot
Pengujian Menampilkan hasil pengujian
[image:42.596.89.506.130.476.2]Mengambil foto melalui webcam
Top Package::Admin
:pelatihan :pengujian
Top Package::Mahasiswa
pelatiihan inputan
Menghasilkan bobot
bobot untuk proses pengujian
[image:43.596.131.491.163.417.2]Hasil pengujian
Gambar 3.4. Sequence Diagram untuk Absensi Wajah
Tabel 3.1. Dokumentasi Naratif Use Case Pelatihan Inputan
Nama Use case
Pelatihan Inputan
Aktor
Admin
Deskripsi
Use case ini mendeskripsikan tentang proses
pelatihan inputan
Prakondisi
Telah memiliki inputan berupa foto yang akan diuji
Bidang Khas
Kegiatan User
Respon Sistem
1.
User login
2.
Sistem
memeriksa
username dan
password
3.
User mengklik
combo box
4.
Sistem
menampilkan
semua foto yang
akan diuji
5.
User mengklik
button
”
grayscale”
6.
Sistem
grayscale
7.
User mengklik
button “
biner”
8.
Sistem
mengubah citra
grayscale
menjadi citra
biner dan
menjadi citra
bipolar
9.
User mengklik
button
“training”
10. Sistem
men-training semua
inputan dan
menampilkan
Message Box
“Pelatihan
selesai”
Bidang Alternatif
Alt- Langkah 2 : jika username dan password salah,
sistem menampilkan Message Box
“username/password salah”
Post-Kondisi
Sistem menghasilkan matriks bobot
Admin
Sistem
Memasukan inputan Mengubah citra asli -> Grayscale
Grayscale -> bipolar
[image:44.596.108.504.82.350.2]Pelatihan BAM Mengahasilkan bobot
Admin
:training_window :konversi_grayscale :konversi_biner :algoritma_BAM
input foto yang diuji
menampilkan citra asli foto
mengklik button grayscale
konversi_grayscale()
Citra_grayscale
menampilkan citra grayscale
mengklik button biner
konversi_biner()
Citra_biner
menampilkan citra biner
mengklik button "training"
training()
menyimpan nilai bobot
[image:45.596.129.495.112.576.2]Pesan "Pelatihan selesai"
Tabel 3.2. Dokumentasi Naratif Use Case Pengujian Inputan
Nama Use case
Pengujian Inputan
Aktor
Mahasiswa
Deskripsi
Use case ini mendeskripsikan tentang proses
pengujian inputan
Prakondisi
Telah memiliki bobot matiks
Bidang Khas
Kegiatan User
Respon Sistem
1.
User mengambil
foto melalui
kamera webcam
dengan mengklik
“ambil gambar”
2.
Sistem
menyimpan
gambar dan
mengubah foto
warna menjadi
citra bipolar
3.
User mengklik
button
“absen”
4.
Sistem menguji
foto dengan
matriks bobot,
jika foto dikenali
akan
menampilkan
data pegawai
5.
User mengklik
button ”
tutup”
6.
Sistem
menampilkan
menu utama
Mahasiswa
Sistem
Mengambil inputan melalui webcam Mengubah citra asli -> Grayscale
Grayscale -> bipolar
[image:47.596.137.478.66.347.2]Melakukan pengujian Menampilkan hasil pengajiian
Gambar 3.7. Activity Diagram untuk Proses Pengujian Inputan
Mahasiswa
:testing_window
Ambil foto melalui webcam
:konversi_grayscale()
Menampikan hasil foto
klik button "absen"
Konversi_grayscale()
:konversi_biner() :pengujian()
Konversi_biner()
Input dikali bobot total
Hasil pngujian
Menampilkan hasil pengujian
[image:47.596.125.506.378.669.2]3.4.
Flowchart Sistem
3.4.1. Flowchart sistem secara umum
START
Pelatihan
Pengujian Set input dan target
Foto dikenali
Informasi
“Data dikenali”
Informasi
“Data tidak dikenali”
STOP Yes
[image:48.596.199.425.133.505.2]No
3.4.2. Flowchart pelatihan sistem
START
Input data pelatihan
(foto)
grayscale
Biner è Bipolar
BAM
Bobot (W)
[image:49.596.263.356.93.486.2]STOP
3.4.3. Flowchart pengujian sistem
START
Input data (dari webcam)
Grayscale
Biner è Bipolar
Matriks bipolar * bobot (W)
Foto dikenali
Informasi
“Data dikenali”
Informasi
“Data tidak dikenali”
STOP Yes
[image:50.596.188.428.99.557.2]No
3.4.4. Flowchart algoritma BAM
START
Set matriks input (x), target (y)
Hitung bobot W W = xiT.yj
Recall Pola input y_ini = xi . W
y_in_i >= ɵ y_in_i < ɵ
y_i = 1 y_i = -1
Balik arah : Hitung
T i i y W
in
x_ *
x_in_i >= ɵ x_in_i < ɵ
STOP
Yes
No
Yes
No
Yes No
x_i = 1 x_i = -1
[image:51.596.162.443.95.660.2]Yes
3.5.
DFD dan ERD
3.5.1 DFD
Mahasiswa Sistem
Absensi Admin
Absen Reoprt ABsensi
Training pelatihan
Informasi Hasil training Info Absen berhasi
Gambar 3.13 DFD Level 0
1 BAM Mahasiswa
Absensi
Admin 1a. foto pelatihan 2a.foto pengujian Mahasiswa
2b. Data Absensi 1b. Data Mahasiswa
1c. Data Mahasiswa
2c. Data absensi
Gambar 3.14. DFD Level 1
Pelatihan
Penguijan Admin
Mahasiswa Absensi
Mahasiswa
Foto pelatihan Data mahasiswa
Data mahasiswa
Foto pengujian Data Absensi
[image:52.596.121.498.107.720.2]Data Absensi
3.5.2. ERD
Gambar 3.16. ERD
3.5.3. Tabel yang digunakan pada database
Admin
NIP Varchar[30]
Password Varchar[20