Implementasi Metode Bidirectional Associative Memory Pada Absensi Berbasis Identifikasi Wajah (Studi Kasus : Mahasiswa Fasilkom-TI USU)

(1)

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

MEDAN 2014


(2)

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

MEDAN 2014


(3)

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,

Dr. Poltak Sihombing, M.Kom NIP. 1962 0317 1991 0310 01


(4)

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 101401069


(5)

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 penyempurnaan skripsi ini.


(6)

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


(7)

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.

Kata kunci : Bidirectional Associative Memory, Aplikasi Absensi, Jaringan Syaraf Tiruan, Citra Digital, Matriks Bobot


(8)

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.

Keyword : Bidirectional Associative Memory, Presence Record Application, Artificial Neural Network, Digital Image, Weight Matrix


(9)

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


(10)

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


(11)

Daftar Pustaka ... 70 Lampiran Angket Pengujian ... A1 Lampiran Listing Program ... B1 Lampiran Curiculum Vitae ... C1


(12)

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


(13)

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


(14)

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


(15)

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.

Kata kunci : Bidirectional Associative Memory, Aplikasi Absensi, Jaringan Syaraf Tiruan, Citra Digital, Matriks Bobot


(16)

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.

Keyword : Bidirectional Associative Memory, Presence Record Application, Artificial Neural Network, Digital Image, Weight Matrix


(17)

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 yang berbasiskan identifikasi wajah.


(18)

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 threshold)


(19)

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 yang akan dibuat sesuai dengan tujuan dan batasan masalah yang ada.


(20)

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


(21)

Bab V Kesimpulan dan Saran

Bab ini menjelaskan tentang kesimpulan yang dapat diperoleh setelah menyelesaikan tugas akhir ini dan saran-saran untuk pengembangan perangkat lunak lebih lanjut.


(22)

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 = 2m

Dimana G adalah derajat keabuan, sedangkan m adalah bilangan bulai positif Tabel 2.1 Tabel Skala Keabuan

Skala Keabuan Rentang Nilai Keabuan

Pixel Depth

21 (2 nilai) 0 dan 1 1 bit

22 (4 nilai) 0 sampai 7 2 bit

23 (16 nilai) 0 sampai 15 3 bit

28 (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 untuk 16 level. Jumlah bit yang dibutuhkan untuk merepresentasikan nilai


(23)

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 27 dengan 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, jika intensitas warna dimulai dari 0-255, maka nilai threshold diambil dari nilai


(24)

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

Synapsis Dendrit


(25)

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 struktur neuron pada jaringan syaraf.


(26)

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

xi : inputan ke-i (i = 1,2,3,...,n)

wi : 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

x1

x2

x3

xi

y w1

w2

w3


(27)

Hasil 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 output). Ada beberapa arsitektur jaringan syaraf, antara lain:


(28)

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 X1, X2 dan X3. Sedangkan pada lapisan output memiliki 2 neuron

yaitu Y1 dan Y2. 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

Y1 Y2 w12 w21 w22 w31 w32


(29)

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 input Lapisan Input Matriks bobot pertama Lapisan Nilai output v11

X1 X2 X3

Z1 Z2

v12

v21 v22

v31 v32

Matriks bobot

Lapisan Output Y

w1 w2

0 1 y x -1 


(30)

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 diharapkan. [5]


(31)

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 sama-sama menyimpan pasangan kelompok pola vektor dan menggunakan aliran


(32)

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]

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 kawasan output dengan nilai yang terletak pada range [0,1]. Fungsi aktivasi yang


(33)

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

j

T i

ij x y

W *

3. Recall pola input

ij i

i x W

in

y_  *

4. Tentukan nilai yi dengan membandingkan nilai y_ini dengan threshold

Jika y_ini >=  maka yi = 1

Jika y_ini<  maka yi = -1

5. Balik arah, cari nilai x_ini

T ij j

j y W

in

x_  *

6. Tentukan nilai xi dengan membandingkan nilai x_inj dengan threshold

Jika x_inj >=  maka xj = 1

Jika x_inj<  maka xj = -1

7. Jika niai xidan yj masih belum stabil, maka ulangi langkah 2-6

Keterangan :

Wij : Matriks bobot hubungan ke- i dan ke-j

xi : sinyal masukan ke-i

yj : sinyal keluaran ke-j

... (4)

... (5)


(34)

x_ini : masukan hasil olahan ke- i

y_inj : 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

x1 : 1 1 1 1 –1 1 1 1 y1 ---> -1 1

Pola 2 : Pola X

x2 : 1 –1 1 –1 1 –1 1 -1 y2 ---> 1 1

2. Hitung matriks bobot dari pola X ke pola Y Matriks bobot untuk pola 1:

w1 = x1t * y1


(35)

                                                                     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 w

Matriks bobot untuk pola 2 :

w2 = x2t * y2

 

                                                                      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 2 w

wtotal = w1 + w2

                                                                                                            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 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 total w


(36)

Matriks 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 WT.

3. Recallpola input

ij i

i x W

in

y_  *

Tentukan nilai yi dengan membandingkan nilai y_ini dengan threshold

Jika y_ini >=  maka yi = 1

Jika y_ini<  maka yi = -1

           2 0 2 0 0 0 2 0 2 0 2 0 2 2 2 0 2 0 ) (wtotal T

Kita 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 total w x in y

Karena (y_in1(1) = –10 < 0, maka y1(1) = -1) dan (y_in1(2) = 8 > 0, maka

y1(2) = 1), maka nilai y1 = [-1 1], sama dengan target yang diharapkan.

Untuk vektor input kedua yang mewakili Huruf X, maka output yang diperoleh adalah:


(37)

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 total w x in y

Karena (y_in2(1) = 10 > 0, maka y2(1) = 1) dan (y_in2(2) = 8 > 0, maka

y2(2) = 1), maka nilai y2 = [1 1], sama dengan target yang diharapkan.

4. Balik arah, cari nilai x_ini

Sekarang apabila dibalik, y digunakan sebagai input untuk mendapatkan x. Misalkan kita cobakan vektor input pertama y1 = [-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 [ ) ( *

_in1 y1 wtotal T x

]

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 y2 = [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 [ ) ( *

_in2 y2 wtotal T x

]

1

1

1

1

1

1

1

1

1

[

]

2

2

2

2

2

2

2

2

2

[


(38)

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 n : jumlah vektor output


(39)

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 :


(40)

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 sebuah sistem


(41)

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, 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


(42)

Admin Sistem Mahasiswa

Memasukan inputan Mengubah citra asli -> Grayscale

Grayscale -> bipolar

Pelatihan BAM Mengahasilkan bobot

Pengujian Menampilkan hasil pengujian Mengambil foto melalui webcam


(43)

Top Package::Admin

:pelatihan :pengujian

Top Package::Mahasiswa

pelatiihan inputan

Menghasilkan bobot

bobot untuk proses pengujian

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

mengubah foto (citra rgb) menjadi citra


(44)

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

Pelatihan BAM Mengahasilkan bobot


(45)

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

Pesan "Pelatihan selesai"


(46)

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 Bidang Alternatif Alt- Langkah 4 : jika foto tidak dikenali, maka

sistem menampilkan pesan “foto tidak dikenali”


(47)

Mahasiswa Sistem

Mengambil inputan melalui webcam Mengubah citra asli -> Grayscale

Grayscale -> bipolar

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


(48)

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

No


(49)

3.4.2. Flowchart pelatihan sistem

START

Input data pelatihan

(foto)

grayscale

Biner è Bipolar

BAM

Bobot (W)

STOP


(50)

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

No


(51)

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

Yes


(52)

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

Data Absensi


(53)

3.5.2. ERD

Gambar 3.16. ERD

3.5.3. Tabel yang digunakan pada database

Admin

NIP Varchar[30] Password Varchar[20]

Absen NIM Varchar[20] Tanggal Varchar[20] Datang Varchar[20] Pulang Varchar[20]

Mahasiswa NIM Varchar[30] Nama Varchar[50] Stambuk Varchar[20]


(54)

3.6. Perancangan Antarmuka Sistem

Rancangan program akan diimplementasikan dengan menggunakan SharpDevelop 4.1.

3.6.1. Form utama

Gambar 3.17. Tampilan Rancangan Form Utama Keterangan :

1. Tombol Mulai Absen

Tombol yang menghubungkan form utama dengan form absensi 2. Tombol Admin

Tombol yang menghubungkan form utama dengan form admin

3.6.2. Form mulai absen

Gambar 3.18. Tampilan form absensi

1 2

1

3

4 5

6 2


(55)

Keterangan : 1. Picture box

Tempat untuk mengambil foto melalui webcam

2. Label

Untuk menampilkan jam digital 3. Tombol mulai

Tombol untuk memulai webcam mengambil foto 4. Tombol Ambil Gambar

Tombol untuk mengambil foto 5. Tombol Absen

Tombol untuk mengenali foto yang diambil dan menyimpannya dalam database absensi

6. Tombol Tutup

Tombol untuk kembali ke menu utama

3.6.3. Form admin

Gambar 3.19. Tampilan Antarmuka admin login Keterangan :

1. Text Box

Untuk memasukkan NIP dan password pegawai yang menjadi penanggung jawab sistem ini

2. Tombol Masuk

Tombol yang menampilkan area admin dengan menutup panel login

apabila NIP dan username benar

1 2


(56)

Gambar 3.20. Tampilan Antarmuka admin Keterangan :

1. Tombol Pelatihan

Tombol yang menghubungkan form admin dengan form pelatihan 2. Tombol Rekapitulasi dan Absen per Bulan

Tombol yang menghubungkan form admin dengan form rekapitulasi data absensi

3. Tombol Data Mahasiswa

Tombol yang menghubungkan form admin dengan form data mahasiswa


(57)

3.6.4. Form pelatihan

Gambar 3.21. Tampilan Antarmuka Form Pelatihan Keterangan :

1. Combo box ambil foto

Combo box untuk memilih foto yang akan diuji 2. Tombol Rgb2Gray

Tombol untuk mengubah foto (citra asli) menjadi citra grayscale

3. Tombol Biner

Tombol untuk mengubah citra grayscale menjadi citra biner dan bipolar 4. Tombol Training

Tombol untuk melatih citra bipolar untuk menghasilkan matriks bobot 5. Tombol Tutup

Tombol untuk kembali ke menu login

6. Picture box 1-6

Picture box untuk menampilkan foto (citra asli) 7. Picture box 7-12

Picture box untuk menampilkan citra grayscale

8. Picture box 13-18

Picture box untuk menampilkan citra biner

1 2 3 4 5

8 7


(58)

3.6.5. Form rekapitulasi data absensi

Gambar 3.22. Tampilan Antarmuka Rekapitulasi Data Absensi Keterangan :

1. Combo box nama mahasiswa

Combo box untuk memilih nama mahasiswai atau dosen yang ingin dilihat data absensinya

2. Combo box bulan

Combo box untuk memilih data bulan apa yang ingin dilihat 3. Tombol Lihat

Tombol untuk menampilkan data pada DataGrid View 4. Data Grid View

Tempat untuk menampilkan data yang ada di database

5. Tombol tutup

Tombol untuk kembali ke menu login

6. Tombol Report

Tombol yang menghubungkan dengan halaman report (laporan) data absensi

1 2 3

4

5 6


(59)

3.6.6. Form data mahasiswa

Gambar 3.23. Tampilan form data mahasiswa Keterangan :

1. Teksbox

Tempat untuk mengetikkan keyword (kata kunci) untuk proses pencarian 2. Combobox

Berisi pilihan pencarian berdasarkan NIP, nama atau jabatan 3. Tombol Cari

Menampilkan data yang sesuai dengan kata kunci yang d iketik 4. Datagridview

Tempat untuk menampilkan data yang cari 5. Tombol tutup

Tombol untuk kembali ke menu login

1 2 3

4


(60)

BAB IV

IMPLEMENTASI DAN PENGUJIAN

4.1. Implementasi

Sistem ini dibangun dengan menggunakan SharpDevelop 4.1. Masukan yang digunakan adalah foto yang berformat *.jpeg dengan ukuran 100 x 100 piksel, seperti pada gambar 4.1.

Gambar 4.1. Citra Asli Foto 100 x 100 piksel

Agar dapat diolah di komputer, maka Gambar 4.1 harus diubah menjadi bentuk bipolar. Pertama kali yang harus dilakukan adalah mengambil nilai RGB

dari Gambar 4.1, seperti yang dapat dilihat di Gambar 4.2.


(61)

Dari nilai RGB seperti yang ada pada Gambar 4.2, maka dapat diperoleh citra grascale seperti pada Gambar 4.3

Gambar 4.3. Citra grayscale

Citra pada Gambar 4.3. memiliki nilai grayscale seperti pada Gambar 4.4

Gambar 4.4. Nilai Grayscale dari Citra Asli

Nilai grayscale pada Gambar 4.3 diperoleh dengan menggunakan rumus : 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


(62)

Lalu nilai grayscale pada Gambar 4.4 diubah menjadi bentuk biner dengan menggunakan threshold sebesar 128. Hasilnya seperti pada Gambar 4.5.

Gambar 4.5. Nilai Biner dari Citra Asli

Dari nilai biner seperti Gambar 4.5, maka dapat diperoleh citra bipolar seperti pada Gambar 4.6.


(63)

Gambar 4.6 memiliki nilai bipolar seperti pada Gambar 4.7.

Gambar 4.7. Nilai Bipolar dari Citra Asli

Nilai bipolar seperti Gambar 4.7 akan diolah dengan menggunakan algoritma BAM.

Langkah-langkah Algoritma BAM

1. Menentukan pola input dan pola output

Dalam sistem ini, variabel x_11 digunakan menjadi pola input. Pola input yang digunakan adalah nilai bipolar yang ada pada Gambar 4.7. Pola output atau target yang digunakan adalah :

target1[1,40] = {{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,-1, -1,-1,-1,-1,-1,-1,-1,-1,1}};

2. Menghitung matriks bobot (W_total)

Sebelum menghitung W_total, maka harus dihitung terlebih dahulu bobot untuk pola input x_11, yang akan dimasukkan ke dalam variabel W11


(64)

Hasil dari perkalian x_11 dan target1 seperti pada Gambar 4.8.

Gambar 4.8. Nilai W11

Dengan cara yang sama, proses ini juga dilakukan untuk 23 inputan lainnya, sehingga bobot yang dihasilkan ada 24, mulai dari W11, W12, W13, W14, W15, W16 sampai dengan W41, W42, W43, W44, W45, W46. Lalu semua nilai bobot dijumlahkan, sehingga menghasilkan matriks bobot total yang dapat menampung seluruh inputan, yang akan disimpan ke dalam variabel W_total, seperti pada Gambar 4.9.


(65)

3. Recall pola input

Pada tahap ini, nilai transpose dari W_total yang dihasilkan pada tahap kedua akan dikalikan dengan seluruh target, yaitu variabel target1.

x_in11 = target1 * W_totalT

Hal ini dilakukan agar dapat membuktikan apakah hasil perkalian antara

W_total dan target1 sama dengan nilai x_11. Hasil perkalian ini akan disimpan dalam variabel x_in11 seperti pada Gambar 4.10.

Gambar 4.10. Nilai x_in11 sebelum dibandingkan dengan threshold

Nilai x_in11 akan dibandingkan dengan nilai threshold, yaitu 0. Apabila nilai x_in11 lebih besar dari 0, maka x_in11 akan bernilai 1. Dan jika lebih kecil dari 0, akan bernilai -1. Hasil akhir x_in11 dapat dilihat seperti pada Gambar 4.11


(66)

Gambar 4.11. Nilai x_in11 setelah dibandingkan dengan threshold

Dapat dilihat bahwa nilai x_in11 pada Gambar 4.11 dan nilai x_11 pada Gambar 4.7 adalah sama. Hal ini membuktikan bahwa algoritma BAM berjalan sesuai dengan yang diharapkan.

4. Balik arah, menghitung nilai y_in11

Pada tahap ini, nilai y_in11 dihitung dengan mengalikan nilai dari W_total

dengan nilai x_11.

y_in11= x_11 * W_total

Hal ini dilakukan untuk melihat apakah nilai y_in11 yang dihasilkan sama dengan target1. Hasil nilai y_in11 dapat dilihat pada Gamba 4.12


(67)

Jika nilai y_in11 pada Gambar 4.12 dibandingkan dengan nilai target1: target1[1,40] = {{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,-1, -1,-1,-1,-1,-1,-1,-1,-1,1}};

Maka dapat dibuktikan bahwa nilai y_in11 sama dengan nilai target1. Hal ini membuktikan bahwa algoritma BAM dapat berjalan sesuai dengan yang diharapkan.

5. Tahap 1 sampai 4 diulangi untuk 23 inputan yang lainnya.

4.2. Pengujian

4.2.1. Pengujian fungsional sistem

Pada tahap ini, sistem diberikan masukan untuk menguji apakah sistem ini dapat berjalan sesuai yang diharapkan atau tidak. Masukan diambil dari kamera

webcam, seperti pada Gambar 4.13

Gambar 4.13. Masukan Diambil dari Webcam

Gambar 4.13 juga mengalami proses digitalisasi citra, sehingga menghasilkan citra grayscale seperti pada Gambar 4.14.


(68)

Gambar 4.14 memiliki nilai grayscale seperti pada Gambar 4.15.

Gambar 4.15. Nilai grayscale dari Gambar Uji

Setelah mendapatkan citra grayscale, maka Gambar 4.14 diubah menjadi citra hitam-putih seperti Gambar 4.16

Gambar 4.16. Citra Hitam-Putih Gambar Uji Gambar 4.16 memiliki nilai bipolar seperti pada Gambar 4.17


(69)

Nilai bipolah pada Gambar 4.17 dikalikan kembali dengan matriks bobot (W_total) yang ada pada Gambar 4.9. Hasil perkalia n dapat dilihat seperti pada Gambar 4.18.

Gambar 4.18. Hasil kali Gambar Uji dengan W_total

Dapat dilihat bahwa hasil kali gambar uji dan bobot sama dengan target1.

Sehingga gambar uji dapat dikenali sistem sebagai „Lily‟.

Setiap sampel memilii 20 foto pengujian yang diambil melalui kamera webcam. Hasil pengujian dapat dilihat pada Tabel 4.1, Tabel 4.2, Tabel 4.3, dan tabel 4.4.

Tabel 4.1. Hasil Pengujian dengan Webcam sample „Lily‟

Input(X) Target(Y) Output

Lily Lily


(70)

Lily Lily

Lily Lily

Lily Lily

Lily Lily

Lily Lily


(71)

Lily Tidak dikenal

Lily Lily

Lily Lily

Lily Lily

Lily Lily

Lily Lily


(72)

Lily Tidak dikenal

Lily Lily

Lily Lily

Lily Tidak dikenal

Tabel 4.2. Hasil Pengujian dengan Webcam sample „Zulfikri‟

Input(X) Target(Y) Output

Zulfikri Zulfikri


(73)

Zulfikri Zulfikri

Zulfikri Zulfikri

Zulfikri Zulfikri

Zulfikri Zulfikri

Zulfikri Tidak dikenal

Zulfikri Tidak dikenal


(74)

Zulfikri Zulfikri

Zulfikri Tidak dikenal

Zulfikri Zulfikri

Zulfikri Zulfikri

Zulfikri Zulfikri


(75)

Zulfikri Zulfikri

Zulfikri Zulfikri

Zulfikri Zulfikri

Zulfikri Zulfikri

Tabel 4.3. Hasil Pengujian dengan Webcam sample „Yayang‟

Input(X) Target(Y) Output

Yayang Yayang


(76)

Yayang Yayang

Yayang Yayang

Yayang Yayang

Yayang Yayang

Yayang Yayang

Yayang Yayang

Yayang Yayang


(77)

Yayang Tidak dikenal

Yayang Tidak dikenal

Yayang Tidak dikenal

Yayang Tidak dikenal

Yayang Lily

Yayang Lily

Yayang Lily


(78)

Yayang Yayang

Yayang Yayang

Tabel 4.4. Hasil Pengujian dengan Webcam sample „Aisyah‟

Input(X) Target(Y) Output

Aisyah Lily

Aisyah Aisyah

Aisyah Tidak dikenal

Aisyah Tidak dikenal


(79)

Aisyah Aisyah

Aisyah Lily

Aisyah Aisyah

Aisyah Lily

Aisyah Aisyah

Aisyah Tidak dikenal

Aisyah Tidak dikenal


(80)

Aisyah Aisyah

Aisyah Lily

Aisyah Aisyah

Aisyah Lily

Aisyah Lily

Aisyah Aisyah


(81)

Berdasarkan pengujian yang telah dilakukan sebanyak 20 kali, maka dapat diperoleh persentase keberhasilan dengan rumus :

pengujian Jumlah dikenal Jumlah an keberhasil _ _ % 

a. Sample Lily : 100% 75% 20

15

x

b. Sample Zulfikri : 100% 80% 20

16

x

c. Sample Yayang : 100% 55% 20

11

x

d. Sample Aisyah : 100% 40% 20

8

x

Total %kebehasilan : 62,5%

Dari Tabel 4.1 sampai dengan Tabel 4.4 terdapat foto yang tidak dapat dikenali seperti yang diharapkan. Hal ini dikarenakan intensitas cahaya yang ada pada foto di dalam proses pelatihan berbeda dengan yang ada dip roses pengujian.

4.2.2. Pengujian dari hasil pengamatan pengguna

Untuk mengji sistem ini, maka penulis melakukan pengujian langsung kepada pengguna sistem ini. Hal ini dilakukan agar penulis mengetahui apakah sistem ini sudah berjalan sesuai dengan yang diharapkan atau tidak. Oleh karena itu, penulis memberikan kuesioner pada 10 orang mahasis wa Universitas Sumatera Utara yang berisi pertanyaan sebagai berikut :

1. Apakah aplikasi yang dibangun mudah digunakan? 2. Apakah tampilan dari aplikasi ini menarik?

3. apakah aplikasi yang dibangun sesuai dengan skripsi penulis?

4. Apakah aplikasi yang dibangun dapat berfungsi sesuai yang diharapkan? Seiap pertanyaan akan dijawab dengan pilihan :

1. Sangat setuju 2. Kurang setuju 3. Biasa saja


(82)

4. Tidak setuju

Dari pertanyaan di atas, dapat dicari nilai persentase untuk setiap pertanyaan dengan rumus :

N J Y  Dimana :

Y : nilai persentase

J : jumlah mahasiswa yang menjawab Setuju, Kurang Setuju, Biasa Saja, dan Tidak Setuju untuk masing- masing pertanyaan

N : jumlah mahasiswa (10 orang)

Hasil pengamatan dapat dilihat pada Tabel 4.3 sampai Tabel 4.6. 1. Apakah aplikasi yang dibangun mudah digunakan?

Tabel 4.5. Hasil Pengamatan untuk Pertanyaan Nomor 1

Pilihan Jawaban Jumlah Mahasiswa yang Memilih

Nilai Persentase

Setuju 7 70 %

Kurang Setuju 2 20 %

Biasa Saja 1 10 %

Tidak Setuju 0 0 %

2. Apakah tampilan dari aplikasi ini menarik?

Tabel 4.6. Hasil Pengamatan untuk Pertanyaan Nomor 2

Pilihan Jawaban Jumlah Mahasiswa yang Memilih

Nilai Persentase

Setuju 3 30 %

Kurang Setuju 4 40 %

Biasa Saja 3 30 %


(1)

if (x_in45[i,j] > 0) x45[i,j] = 1;

else if (x_in45[i,j] <= 0) x45[i,j] = -1;

if (x_in46[i,j] > 0) x46[i,j] = 1;

else if (x_in46[i,j] <= 0) x46[i,j] = -1;

} }

//bukti x_dikenal; for (i=0; i<1; i++) {

for (j=0; j<10000; j++) {

if (banding_x(x11,x_11) == 10000){ x_dikenal++;

}

if (banding_x(x12,x_12) == 10000){ x_dikenal++;

}

if (banding_x(x13,x_13) == 10000){ x_dikenal++;

}

if (banding_x(x14,x_14) == 10000){ x_dikenal++;

}

if (banding_x(x15,x_15) == 10000){ x_dikenal++;

}

if (banding_x(x16,x_16) == 10000){ x_dikenal++;

}

if (banding_x(x21,x_21) == 10000){ x_dikenal++;

}

if (banding_x(x22,x_22) == 10000){ x_dikenal++;

}

if (banding_x(x23,x_23) == 10000){ x_dikenal++;

}

if (banding_x(x24,x_24) == 10000){ x_dikenal++;

}

if (banding_x(x25,x_25) == 10000){ x_dikenal++;

}

if (banding_x(x26,x_26) == 10000){ x_dikenal++;

}

if (banding_x(x31,x_31) == 10000){ x_dikenal++;


(2)

if (banding_x(x32,x_32) == 10000){ x_dikenal++;

}

if (banding_x(x33,x_33) == 10000){ x_dikenal++;

}

if (banding_x(x34,x_34) == 10000){ x_dikenal++;

}

if (banding_x(x35,x_35) == 10000){ x_dikenal++;

}

if (banding_x(x36,x_36) == 10000){ x_dikenal++;

}

if (banding_x(x41,x_41) == 10000){ x_dikenal++;

}

if (banding_x(x42,x_42) == 10000){ x_dikenal++;

}

if (banding_x(x43,x_43) == 10000){ x_dikenal++;

}

if (banding_x(x44,x_44) == 10000){ x_dikenal++;

}

if (banding_x(x45,x_45) == 10000){ x_dikenal++;

}

if (banding_x(x46,x_46) == 10000){ x_dikenal++;

} } }

iterasi++;

MessageBox.Show("Pelatihan

selesai\n" + "\n"+"Jumlah foto dikenal = "+y_dikenal+"");

}

void ComboBox1SelectedIndexChanged(object sender, Eve ntArgs e)

{

string nama = comboBox1.SelectedIndex.ToString();

if (nama == "0"){

pictureBox1.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x11.jpg"; pictureBox2.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x12.jpg"; pictureBox3.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x13.jpg"; pictureBox4.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x14.jpg"; pictureBox5.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x15.jpg"; pictureBox6.ImageLocation


(3)

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x16.jpg"; }

else if (nama == "1"){

pictureBox1.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x21.jpg"; pictureBox2.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x22.jpg"; pictureBox3.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x23.jpg"; pictureBox4.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x24.jpg"; pictureBox5.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x25.jpg"; pictureBox6.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x26.jpg"; }

else if (nama == "2"){

pictureBox1.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x31.jpg"; pictureBox2.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x32.jpg"; pictureBox3.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x33.jpg"; pictureBox4.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x34.jpg"; pictureBox5.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x35.jpg"; pictureBox6.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x36.jpg"; }

else if (nama == "3"){

pictureBox1.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x41.jpg"; pictureBox2.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x42.jpg"; pictureBox3.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x43.jpg"; pictureBox4.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x44.jpg"; pictureBox5.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x45.jpg"; pictureBox6.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x46.jpg"; }

else if (nama == "4"){

pictureBox1.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x51.jpg"; pictureBox2.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x52.jpg"; pictureBox3.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x53.jpg"; pictureBox4.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x54.jpg"; pictureBox5.ImageLocation


(4)

pictureBox6.ImageLocation

= @"F:\\Skripsi\\Proyek\\absensi_ilkom\\foto2\\x56.jpg"; }

}

void Rgb2grayClick(object sender, EventArgs e) {

GrayScale(); }

void TrainingLoad(object sender, EventArgs e) {

}

void Gray2binClick(object sender, EventArgs e) {

biner(); ambil_data(); }

void LatihClick(object sender, EventArgs e) {

recall(); }

void TutupClick(object sender, EventArgs e) {

admin ad = new admin(); ad.Show();

ad.panel3.Hide(); ad.panel4.Hide(); this.Hide(); }

} }


(5)

CURRICULUM VITAE

A.

Personal Data

Nama

: Yayang Kurniati

Tempat Lahir

: Medan

Tanggal Lahir

: 17 Februari 1993

Gender

: Wanita

Agama

: Islam

Status Pernikahan

: Single

Hobi

: Traveling

Alamat

: Jl. Kasuari Gg Maya 2 No 1 A

HP

: 08126403519

Email

: yayangkurniati@gmail.com

B.

Riwayat Pendidikan

1.

SDN 064979

2.

SMPN 9 MEDAN

3.

SMAN 4 MEDAN

4.

S1 Ilmu Komputer Universitas Sumatera Utara

C.

Keahlian Khusus

1.

Komputer

Pemrograman Web (PHP-MySQL)

Pemrograman C++ dan C#

2.

Bahasa

English

D.

Pengalaman Organisasi

BINTALIS SMAN 4 MEDAN

UKMI AL-KHUWARIZMI

UKMI Ad-Dakwah USU


(6)

GAMADIKSI USU

Pusat Komunikasi Daerah Sumatera Utara

IKLC

E.

MOTTO

“Jika waktu kita tidak disibukkan dengan kebaikan, maka pastilah kita

disibukan dengan kemaksiatan”