Perancangan Pengenal QR (Quick Response) Code Dengan Jaringan Syaraf Tiruan Metode Perceptron

(1)

PERANCANGAN PENGENAL QR (QUICK RESPONSE) CODE

DENGAN JARINGAN SYARAF TIRUAN METODE

PERCEPTRON

SKRIPSI

NOVALIA 081401023

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2012


(2)

PERANCANGAN PENGENAL QR (QUICK RESPONSE) CODE DENGAN JARINGAN SYARAF TIRUAN METODE PERCEPTRON

SKRIPSI

Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer

NOVALIA 081401023

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2012


(3)

Judul : PERANCANGAN PENGENAL QR (QUICK RESPONSE) CODE DENGAN JARINGAN SYARAF TIRUAN METODE PERCEPTRON

Kategori : SKRIPSI

Nama : NOVALIA

Nomor Induk Mahasiswa : 081401023

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Juli 2012 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Ade Candra, ST, M.Kom M. Andri Budiman, ST, M.CompSc, MEM NIP.197909042009121002 NIP. 197510082008011001

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom NIP. 196203171991031011


(4)

PERANCANGAN PENGENAL QR (QUICK RESPONSE) CODE DENGAN JARINGAN SYARAF TIRUAN METODE PERCEPTRON

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa ringkasan dan kutipan yang masing-masing disebutkan sumbernya.

Medan, Juli 2012

NOVALIA 081401023


(5)

Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, karena atas perlindungan dan kasih karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini, yang merupakan syarat wajib untuk memperoleh gelar Sarjana Komputer, Program Studi S1 Ilmu Komputer Departemen Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Pada kesempatan ini, penulis menyampaikan terima kasih kepada :

1. Bapak Dr. Poltak Sihombing selaku Ketua Program Studi S1 Ilmu Komputer dan telah bersedia menjadi dosen penguji pertama yang telah memberikan kritik dan saran yang bermanfaat bagi penulis.

2. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer.

3. Bapak M. Andri Budiman, ST, MCompSc, MEM selaku dosen pembimbing pertama yang telah meluangkan waktunya dan memberikan masukan yang bermanfaat bagi penulis.

4. Bapak Ade Candra, ST, M.Kom selaku dosen pembimbing kedua yang telah meluangkan waktunya dan memberikan masukan yang bermanfaat bagi penulis. 5. Bapak Amer Sharif, S.Si, M.Kom selaku dosen penguji kedua yang telah

memberikan kritik dan saran yang bermanfaat bagi penulis.

6. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

7. Seluruh dosen serta pegawai di Program Studi S1 Ilmu Komputer Departemen Ilmu Komputer FASILKOM-TI USU.

8. Ayahanda tercinta Suparman dan ibunda tercinta Lusia yang selalu memberikan kasih sayang, nasehat, dukungan, dan semangat kepada penulis sejak kecil sampai penyelesaian penyusunan skripsi ini.

9. Yenni Tarigan, Juwita Adelina, Ria Marpaung, Angga Ricardo, Brikson Hara Donald Barus, Rosalina Situmorang, dan semua mahasiswa S1 Ilmu Komputer stambuk 2008, para senior dan junior, serta semua sahabat dan keluarga yang selalu memberikan dukungan dan semangat kepada penulis.

Penulis menyadari bahwa skripsi masih jauh dari sempurna. Oleh karena itu, penulis menerima kritik dan saran dari semua pihak demi perbaikan dan penyempurnaan skripsi ini. Penulis berharap skripsi ini dapat bermanfaat terutama untuk diri sendiri dan juga kepada seluruh pembaca.

Penulis, Novalia ABSTRAK


(6)

Quick Response (QR) Code digunakan untuk menyimpan informasi penting dari suatu barang atau produk. QR Code memiliki pola yang sangat acak dan tidak dapat dibedakan. QR Code juga dapat kotor dan mengalami kerusakan. Penelitian terhadap pola QR Code dilakukan dengan tujuan untuk mengetahui informasi yang tersimpan dalam QR Code tersebut. Metode penelitian yang digunakan untuk mengenali pola-pola QR Code tersebut adalah dengan menggunakan Jaringan Syaraf Tiruan metode Perceptron. Perceptron adalah salah satu metode Jaringan Syaraf Tiruan yang sering digunakan untuk pengenalan pola. Yang menjadi input pada sistem adalah citra biner

QR Code dimana QR Code tersebut menyimpan informasi berupa nama universitas

sebagai datanya. Untuk setiap data disediakan 13 pola yang berbeda. Pada pelatihan digunakan 8 pola untuk masing-masing data. Pengujian dilakukan terhadap seluruh data yang sudah dilatih maupun yang belum dilatih. Sistem ini memiliki 16 target untuk 16 jenis data. Dari hasil pengujian sistem, bobot dan bias yang didapatkan dari hasil pelatihan mampu memberikan output sesuai dengan yang diharapkan. Dari hasil penelitian ini, dapat disimpulkan bahwa Jaringan Syaraf Tiruan dengan metode Perceptron lapis tunggal dapat digunakan untuk mengenali pola-pola QR Code Level H versi 4 yang polanya sangat acak dan sulit untuk dibedakan.

Kata kunci : Pengenalan pola, Jaringan Syaraf Tiruan, Perceptron, QR Code, Barcode


(7)

DESIGN OF QR (QUICK RESPONSE) CODE RECOGNITION WITH ARTIFICIAL NEURAL NETWORKS PERCEPTRON METHODS

ABSTRACT

Quick Response (QR) Code is used to store important information of an item or product. QR Code has a very random pattern and can not be distinguished. QR Code can also be dirty and damaged. Research conducted on the pattern of QR Code in order to find out the information stored in the QR Code. The method used to identify patterns of QR Code is to use Artificial Neural Networks Perceptron method. Perceptron is a neural network method is often used for pattern recognition. The input to the system is a binary image of the QR Code QR Code which is storing the information in the form of the name of the university as its data. For each of the data provided by 13 different patterns. At the training patterns used 8 for each data. Tests performed on all data that have not been trained or trained. This system has 16 targets for 16 types of data. From the results of system testing, the weights and biases obtained from the training to provide the output as expected. From the results, it can be concluded that neural networks with single-layer Perceptron method can be used to recognize patterns QR Code Level H 4th version of the pattern which is very random and difficult to distinguish.

Key words : Pattern Recognition, Artificial Neural Network, Perceptron, QR Code, Barcode


(8)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel ix

Daftar Gambar x

Daftar Lampiran xi

Bab 1 Pendahuluan 1

1.1 Latar Belakang Masalah 1

1.2 Rumusan Masalah 4

1.3 Batasan Masalah 4

1.4 Tujuan Penelitian 5

1.5 Manfaat Penelitian 5

1.6 Metode Penelitian 5

1.7 Sistematika Penulisan 6

Bab 2 Landasan Teori 8

2.1 Pengolahan Citra 8

2.1.1 Citra 8

2.1.2 Digitalisasi Citra 9

2.1.3 Citra Grayscale 10

2.1.4 Citra Biner 10

2.1.5 Operasi Pengolahan Citra 11

2.1.6 Pengambangan 12

2.2 Pengenalan Pola 13

2.3 Jaringan Syaraf Biologi 15

2.4 Jaringan Syaraf Tiruan 16

2.4.1 Komponen Jaringan Syaraf Tiruan 20

2.4.2 Arsitektur Jaringan 21

2.4.3 Model Pelatihan Jaringan Syaraf Tiruan 23

2.4.4 Fungsi Aktivasi 24

2.5 Perceptron 25

2.5.1 Arsitektur Jaringan Perceptron 25

2.5.2 Pelatihan Perceptron 26

2.6 QR Code 28

2.6.1 Struktur QR Code 29

2.6.2 Karakteristik QR Code 30

2.6.3 Spesifikasi QR Code 33


(9)

Bab 3 Analisis dan Perancangan 34

3.1 Analisis Sistem 34

3.1.1 Analisis Masalah (Problem Analysis) 35 3.1.2 Analisis Kebutuhan (Requirement Analysis) 35 3.1.2.1 Analisis Kebutuhan Fungsional 36 3.1.2.2 Analisis Kebutuhan Non-Fungsional 36

3.1.3 Pemodelan Sistem 37

3.1.3.1 Use Case Diagram 37

3.1.3.2 Activity Diagram 38

3.1.3.3 Sequence Diagram 40

3.1.3.4 Class Diagram 40

3.2 Tahap-tahap Pengolahan Data 41

3.2.1 Akuisisi Data 41

3.2.2 Prapengolahan 42

3.2.3 Ekstraksi Citra 41

3.3 Perancangan Sistem 43

3.3.1 Perancangan Arsitektur Jaringan 43

3.2.2 Perancangan Antar Muka Sistem 45

Bab 4 Implementasi dan Pengujian 47

4.1 Implementasi Sistem 47

4.1.1 Konfigurasi Perangkat Keras 47

4.1.2 Konfigurasi Perangkat Lunak 48

4.1.3 Hasil Eksekusi Aplikasi 48

4.2 Pelatihan 50

4.3 Pengujian 51

Bab 5 Kesimpulan dan Saran 62

5.1 Kesimpulan 62

5.2 Saran 62


(10)

PERANCANGAN PENGENAL QR (QUICK RESPONSE) CODE

DENGAN JARINGAN SYARAF TIRUAN METODE

PERCEPTRON

SKRIPSI

NOVALIA 081401023

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2012


(11)

PERANCANGAN PENGENAL QR (QUICK RESPONSE) CODE DENGAN JARINGAN SYARAF TIRUAN METODE PERCEPTRON

SKRIPSI

Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer

NOVALIA 081401023

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2012


(12)

Judul : PERANCANGAN PENGENAL QR (QUICK RESPONSE) CODE DENGAN JARINGAN SYARAF TIRUAN METODE PERCEPTRON

Kategori : SKRIPSI

Nama : NOVALIA

Nomor Induk Mahasiswa : 081401023

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Juli 2012 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Ade Candra, ST, M.Kom M. Andri Budiman, ST, M.CompSc, MEM NIP.197909042009121002 NIP.197510082008011001

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom NIP.196203171991031011


(13)

PERANCANGAN PENGENAL QR (QUICK RESPONSE) CODE DENGAN JARINGAN SYARAF TIRUAN METODE PERCEPTRON

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa ringkasan dan kutipan yang masing-masing disebutkan sumbernya.

Medan, Juli 2012

NOVALIA 081401023


(14)

Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, karena atas perlindungan dan kasih karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini, yang merupakan syarat wajib untuk memperoleh gelar Sarjana Komputer, Program Studi S1 Ilmu Komputer Departemen Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Pada kesempatan ini, penulis menyampaikan terima kasih kepada :

1. Bapak Dr. Poltak Sihombing selaku Ketua Program Studi S1 Ilmu Komputer dan telah bersedia menjadi dosen penguji pertama yang telah memberikan kritik dan saran yang bermanfaat bagi penulis.

2. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer.

3. Bapak M. Andri Budiman, ST, MCompSc, MEM selaku dosen pembimbing pertama yang telah meluangkan waktunya dan memberikan masukan yang bermanfaat bagi penulis.

4. Bapak Ade Candra, ST, M.Kom selaku dosen pembimbing kedua yang telah meluangkan waktunya dan memberikan masukan yang bermanfaat bagi penulis. 5. Bapak Amer Sharif, S.Si, M.Kom selaku dosen penguji kedua yang telah

memberikan kritik dan saran yang bermanfaat bagi penulis.

6. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

7. Seluruh dosen serta pegawai di Program Studi S1 Ilmu Komputer Departemen Ilmu Komputer FASILKOM-TI USU.

8. Ayahanda tercinta Suparman dan ibunda tercinta Lusia yang selalu memberikan kasih sayang, nasehat, dukungan, dan semangat kepada penulis sejak kecil sampai penyelesaian penyusunan skripsi ini.

9. Yenni Tarigan, Juwita Adelina, Ria Marpaung, Angga Ricardo, Brikson Hara Donald Barus, Rosalina Situmorang, dan semua mahasiswa S1 Ilmu Komputer stambuk 2008, para senior dan junior, serta semua sahabat dan keluarga yang selalu memberikan dukungan dan semangat kepada penulis.

Penulis menyadari bahwa skripsi masih jauh dari sempurna. Oleh karena itu, penulis menerima kritik dan saran dari semua pihak demi perbaikan dan penyempurnaan skripsi ini. Penulis berharap skripsi ini dapat bermanfaat terutama untuk diri sendiri dan juga kepada seluruh pembaca.

Penulis, Novalia ABSTRAK


(15)

Quick Response (QR) Code digunakan untuk menyimpan informasi penting dari suatu barang atau produk. QR Code memiliki pola yang sangat acak dan tidak dapat dibedakan. QR Code juga dapat kotor dan mengalami kerusakan. Penelitian terhadap pola QR Code dilakukan dengan tujuan untuk mengetahui informasi yang tersimpan dalam QR Code tersebut. Metode penelitian yang digunakan untuk mengenali pola-pola QR Code tersebut adalah dengan menggunakan Jaringan Syaraf Tiruan metode Perceptron. Perceptron adalah salah satu metode Jaringan Syaraf Tiruan yang sering digunakan untuk pengenalan pola. Yang menjadi input pada sistem adalah citra biner

QR Code dimana QR Code tersebut menyimpan informasi berupa nama universitas sebagai datanya. Untuk setiap data disediakan 13 pola yang berbeda. Pada pelatihan digunakan 8 pola untuk masing-masing data. Pengujian dilakukan terhadap seluruh data yang sudah dilatih maupun yang belum dilatih. Sistem ini memiliki 16 target untuk 16 jenis data. Dari hasil pengujian sistem, bobot dan bias yang didapatkan dari hasil pelatihan mampu memberikan output sesuai dengan yang diharapkan. Dari hasil penelitian ini, dapat disimpulkan bahwa Jaringan Syaraf Tiruan dengan metode Perceptron lapis tunggal dapat digunakan untuk mengenali pola-pola QR Code Level H versi 4 yang polanya sangat acak dan sulit untuk dibedakan.

Kata kunci : Pengenalan pola, Jaringan Syaraf Tiruan, Perceptron, QR Code, Barcode


(16)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel ix

Daftar Gambar x

Daftar Lampiran xi

Bab 1 Pendahuluan 1

1.1 Latar Belakang Masalah 1

1.2 Rumusan Masalah 4

1.3 Batasan Masalah 4

1.4 Tujuan Penelitian 5

1.5 Manfaat Penelitian 5

1.6 Metode Penelitian 5

1.7 Sistematika Penulisan 6

Bab 2 Landasan Teori 8

2.1 Pengolahan Citra 8

2.1.1 Citra 8

2.1.2 Digitalisasi Citra 9

2.1.3 Citra Grayscale 10

2.1.4 Citra Biner 10

2.1.5 Operasi Pengolahan Citra 11

2.1.6 Pengambangan 12

2.2 Pengenalan Pola 13

2.3 Jaringan Syaraf Biologi 15

2.4 Jaringan Syaraf Tiruan 16

2.4.1 Komponen Jaringan Syaraf Tiruan 20

2.4.2 Arsitektur Jaringan 21

2.4.3 Model Pelatihan Jaringan Syaraf Tiruan 23

2.4.4 Fungsi Aktivasi 24

2.5 Perceptron 25

2.5.1 Arsitektur Jaringan Perceptron 25

2.5.2 Pelatihan Perceptron 26

2.6 QR Code 28

2.6.1 Struktur QR Code 29

2.6.2 Karakteristik QR Code 30

2.6.3 Spesifikasi QR Code 33


(17)

Bab 3 Analisis dan Perancangan 34

3.1 Analisis Sistem 34

3.1.1 Analisis Masalah (Problem Analysis) 35 3.1.2 Analisis Kebutuhan (Requirement Analysis) 35

3.1.2.1 Analisis Kebutuhan Fungsional 36

3.1.2.2 Analisis Kebutuhan Non-Fungsional 36

3.1.3 Pemodelan Sistem 37

3.1.3.1 Use Case Diagram 37

3.1.3.2 Activity Diagram 38

3.1.3.3 Sequence Diagram 40

3.1.3.4 Class Diagram 40

3.2 Tahap-tahap Pengolahan Data 41

3.2.1 Akuisisi Data 41

3.2.2 Prapengolahan 42

3.2.3 Ekstraksi Citra 41

3.3 Perancangan Sistem 43

3.3.1 Perancangan Arsitektur Jaringan 43

3.2.2 Perancangan Antar Muka Sistem 45

Bab 4 Implementasi dan Pengujian 47

4.1 Implementasi Sistem 47

4.1.1 Konfigurasi Perangkat Keras 47

4.1.2 Konfigurasi Perangkat Lunak 48

4.1.3 Hasil Eksekusi Aplikasi 48

4.2 Pelatihan 50

4.3 Pengujian 51

Bab 5 Kesimpulan dan Saran 62

5.1 Kesimpulan 62

5.2 Saran 62


(18)

DAFTAR TABEL

Nomor Tabel

NamaTabel Halaman

2.1 2.2 4.1

Perbandingan NN dengan ANN Spesifikasi QR Code

Hasil Pelatihan Jaringan

19 30 50


(19)

DAFTAR GAMBAR

Nomor

Gambar Nama Gambar Halaman

2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 3.1 3.1 3.2 3.3 3.4 3.5 3.6 3.7 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19

Struktur Neuron pada Otak Manusia Ilustrasi Model ANN

Jaringan Lapis Tunggal Jaringan Multi Lapis Jaringan Kompetitif

Arsitektur Jaringan Syaraf Tiruan metode Perceptron Fungsi aktivasi hard limit

QR Code

Struktur QR Code

Salah Satu Finding PatternQR Code

Jenis Penyimpangan pada QRCode Kerusakan pada QR Code

QR Code versi 1 (kiri) dan versi 2 (kanan) Ishikawa Diagram

Use Case Diagram

Activity Diagram

Sequence Diagram

Class Diagram

Arsitektur Jaringan Syaraf Tiruan metode Perceptron untuk Pengenalan Pola QR Code

Form Utama

Form Aplikasi

Tampilan Halaman Awal

Tampilan Aplikasi Pengenalan Pola

Tampilan Kotak Dialog Pemilihan Gambar QR Code Tampilan Hasil Pengujian Universitas Gajah Mada Yogya Tampilan Hasil Pengujian Universitas Indonesia Jakarta Tampilan Hasil Pengujian Universitas Sumatera Utara Tampilan Hasil Pengujian Universitas Airlangga Surabaya Tampilan Hasil Pengujian Universitas Hasanudin Makassar Tampilan Hasil Pengujian Universitas Andalas Padang Tampilan Hasil Pengujian Universitas Padjajaran Bandung Tampilan Hasil Pengujian Universitas Diponegoro Semarang Tampilan Hasil Pengujian Universitas Sriwijaya Palembang Tampilan Hasil Pengujian Universitas Lambung Mangkurat Tampilan Hasil Pengujian Universitas Syiah Kuala Banda Tampilan Hasil Pengujian Universitas Sam Ratulangi Tampilan Hasil Pengujian Universitas Udayana Denpasar Tampilan Hasil Pengujian Universitas Nusa Cendana Tampilan Hasil Pengujian Universitas Mulawarman Samarinda

Tampilan Hasil Pengujian Universitas Mataram Mataram

15 18 21 22 22 25 27 28 29 31 31 32 33 35 38 39 40 41 44 45 46 47 48 48 51 52 52 53 54 54 55 56 56 57 58 58 59 60 60 61


(20)

DAFTAR LAMPIRAN

Halaman

A. Listing Program A-1

B. Grafik Hasil Pelatihan B-1


(21)

DESIGN OF QR (QUICK RESPONSE) CODE RECOGNITION WITH ARTIFICIAL NEURAL NETWORKS PERCEPTRON METHODS

ABSTRACT

Quick Response (QR) Code is used to store important information of an item or product. QR Code has a very random pattern and can not be distinguished. QR Code can also be dirty and damaged. Research conducted on the pattern of QR Code in order to find out the information stored in the QR Code. The method used to identify patterns of QR Code is to use Artificial Neural Networks Perceptron method. Perceptron is a neural network method is often used for pattern recognition. The input to the system is a binary image of the QR Code QR Code which is storing the information in the form of the name of the university as its data. For each of the data provided by 13 different patterns. At the training patterns used 8 for each data. Tests performed on all data that have not been trained or trained. This system has 16 targets for 16 types of data. From the results of system testing, the weights and biases obtained from the training to provide the output as expected. From the results, it can be concluded that neural networks with single-layer Perceptron method can be used to recognize patterns QR Code Level H 4th version of the pattern which is very random and difficult to distinguish.

Key words : Pattern Recognition, Artificial Neural Network, Perceptron, QR Code, Barcode


(22)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Saat ini, teknologi komunikasi dan informasi berkembang dengan pesat dan memberikan pengaruh besar bagi kehidupan manusia. Salah satu contoh perkembangan ini adalah penggunaan kode dua dimensi dalam penyimpanan data, seperti Pdf147, Datamatrix, Maxicode, dan QR Code.

QR Code sangat banyak digunakan dalam kehidupan sehari-hari. QR Code

cukup membantu para konsumen untuk mendapatkan informasi atas produk yang mereka konsumsi. Hal ini menjadi celah baru bagi cyber crime untuk melakukan aksinya melalui QR Code. Para pelaku kejahatan mulai menggunakan teknologi QR Code untuk menarik perhatian pengguna, agar mereka mengunduh malware Android. Aplikasi yang diinstal oleh pengguna tersebut dapat merugikan dirinya dengan pasti apabila konsumen tidak mengerti maksud atau informasi yang tersimpan dalam QR Code tersebut. [13]

QR Code adalah simbol matriks yang terdiri dari sebuah untaian kotak persegi yang disusun dalam sebuah pola persegi yang lebih besar. Kotak persegi ini kemudian disebut sebagai modul. Luasnya pola persegi ini akan menentukan versi dari QR Code.

QR Code diciptakan pada tahun 1994 oleh Denso, salah satu grup perusahaan

Toyota. Mulanya QR Code dibuat untuk menandai hasil produksi perusahaan otomotif. Namun sekarang telah disetujui sebagai sebuah standar internasional (ISO/IEC18004) pada bulan Juni 2000. Pada saat ini, penggunaan QR Code telah meluas dalam banyak bidang dan telah mengalami peningkatan yang signifikan.


(23)

Contoh penggunaan QR Code adalah :

a. Badan transportasi udara internasional (IATA) menggunakan kode dua dimensi untuk tanda masuk penumpang pesawat mulai tahun 2010.

b. Penggunaan QR Code untuk identifikasi pasien di rumah sakit terkemuka di Singapura dan seluruh rumah sakit di Hongkong.

c. Penggunaan kode 2 dimensi berukuran mikro untuk sektor pembuatan chip. d. Telepon seluler yang menggunakan QR Code di Jepang dan Korea dan berbagai

macam kegunaan lainnya di berbagai negara maju. [4]

Penggunaannya secara luas pada telepon seluler yang dapat memindai QR

Code untuk mengambil informasi di dalamnya, seperti : alamat perusahaan, website

perusahaan dan lain sebagainya juga tak lepas dari sorotan. Sedangkan QR Code pada pengemasan buah dan sayuran sehingga dengan memindai kode tersebut kita dapat mengetahui lokasi penanaman, pupuk dan insektisida yang digunakan. Di jepang QR

Code ditempatkan pada peta stasiun bawah tanah dan pusat stasiun bus sehingga

penumpang dengan telepon seluler mereka dapat menemukan waktu tiba bus berikutnya. E-Payment menggunakan telepon seluler dan QR Code dicetak pada kertas tagihan. QR Code untuk mengetahui program televisi dengan membacanya di telepon seluler.

Ada beberapa kelebihan QR Code yang tidak dimiliki oleh kode dua dimensi sejenis, yaitu :

a. Dapat menampung data lebih besar dari kode 2 dimensi lain. b. Dapat mengkodekan huruf Kanji Jepang

c. Denso telah mengeluarkan hak patennya untuk masyarakat luas. d. Aplikasi pembaca QR Code telah banyak ditanam di telepon seluler

Dalam masyarakat modern sekarang ini, banyak sekali hal yang membutuhkan adanya identifikasi atau pembuktian. QR Code mengandung informasi yang hanya bisa dibaca jika kita memiliki scanner untuk membaca QR Code. Bagi orang yang tidak mengerti cara penggunaannya, QR Code dapat dijadikan sebagai alat penipuan oleh orang-orang yang berniat jahat, misalnya melakukan penyedotan pulsa, dan sebagainya. QR Code perlu diidentifikasi untuk mengetahui informasi yang terdapat di


(24)

dalamnya. Salah satu cara yang dapat dilakukan untuk mengidentifikasi QR Code

adalah dengan melakukan pencocokan pola. Pencocokan pola QR Code tidak bisa dilakukan hanya dengan memperhatikannya saja karena apabila dilihat dengan mata, semua bentuk QR Code terlihat hampir sama. Oleh karena itu, diperlukan sebuah sistem yang mampu menganalisis karakteristik QR Code sehingga mempermudah dalam mengenali informasi yang terkandung di dalamnya. [13]

Jaringan syaraf tiruan merupakan sebuah sistem pemroses informasi yang memiliki performa karakteristik tertentu seperti jaringan saraf biologi. Jaringan syaraf tiruan memiliki beberapa metode seperti perceptron, hopfield diskrit, adaline, propagasi balik (back propagation), dan kohonen. Jaringan syaraf tiruan dapat digunakan sebagai salah satu solusi untuk mengenali pola QR Code.

Salah satu implementasi jaringan syaraf tiruan metode perceptron yang ditulis oleh [10], dimuat dalam jurnal ilmiah Seminar Nasional Aplikasi Teknologi Informasi 2007, Yogyakarta, 16 Juni 2007 yang berjudul Pengenalan Pola Bahan Terkorosi menggunakan metode pembelajaran perceptron pada Sistem Jaringan Syaraf, Pemodelan dan Simulasi terhadap kondisi bahan dalam bidang industri merupakan salah satu cara untuk mengurangi tingkat korosi. Pengenalan pola bahan terkorosi berbasis kecerdasan buatan diharapkan dapat membantu sebagian usaha pengendalian untuk para ahli yang menekuni masalah korosi. Mikrostruktur dari bahan dapat digambarkan dan struktur polanya dapat dikonversi dengan pengolahan citra. Untuk menentukan karakteristik dari pola tersebut, dianalisis dengan prinsipal komponen. Pemodelan menggunakan sistem jaringan syaraf merupakan pembelajaran dan adaptasi dari suatu obyek. Metode perceptron merupakan salah satu pembelajaran dengan pengawasan pada sistem jaringan syaraf. Diperlukan rancangan jaringan syaraf dengan sejumlah spesifikasi untuk identifikasi yang terdiri dari sejumlah neuron dan sejumlah input. Sejumlah neuron digunakan untuk membedakan klasifikasi pada pengenalan pola dari bahan terkorosi atau tidak terkorosi.

Analisis QR Code juga diimplementasikan oleh [2], dalam skripsinya yang berjudul Analisis dan Perancangan Kode Matriks Dua Dimensi Quick Response (QR)


(25)

persegi yang lazim berwarna hitam dan putih yang disusun menjadi sebuah persegi yang lebih besar. Pada QR Code, jumlah data yang dapat disimpan sampai dengan 7089 untuk karakter numerik, atau 4296 untuk karakter alfanumerik. QR Code

memiliki kelebihan yang terdapat seperti daerah pencetakan yang kecil dan kemampuan pembacaan data yang tinggi dan ketahanan akibat kerusakan. Hasil dari penelitian ini antara lain : QR Code memiliki kemampuan penyimpanan lebih besar dan ukuran cetak lebih kecil dengan besar data yang sama. Selain itu, semakin besar data yang tersimpan akan meningkatkan versi QR Code yang dibangkitkan.

Berdasarkan latar belakang di atas, maka penulis berniat untuk melakukan penelitian tentang perancangan pengenal QR Code dengan jaringan syaraf tiruan metode perceptron.

1.2 Rumusan Masalah

Berdasarkan uraian pada latar belakang di atas, perumusan masalah yang akan dibahas dalam skripsi ini adalah autentifikasi QR Code sangat dibutuhkan untuk menghindarkan pengguna dari tindak kejahatan karena pola QR Code yang sangat acak dan sulit untuk dibedakan.

1.3 Batasan Masalah

Adapun batasan masalah dalam skripsi ini adalah:

1. File yang digunakan sebagai input adalah gambar QR Code yang terdapat dalam

sistem dan diambil secara acak.

2. Proses pengenalan menggunakan Jaringan Syaraf Tiruan dengan metode perceptron.

3. QR Code yang digunakan adalah QR Code level H.

4. QR Code yang digunakan pada sistem ini adalah QR Code yang bentuknya rata atau tidak mengalami penyimpangan bentuk.

5. Bahasa pemrograman yang dipakai dalam membangun perangkat lunak ini adalah


(26)

1.4 Tujuan Penelitian

Penelitian ini dilaksanakan dengan tujuan:

1. Untuk mengetahui bagaimana cara kerja metode perceptron pada pengenalan QR Code.

2. Untuk merancang sebuah perangkat lunak yang dapat mengidentifikasi QR Code

yang mengandung suatu informasi tertentu.

1.5 Manfaat Penelitian

Penelitian ini diharapkan dapat bermanfaat bagi:

1. Bagi penulis, memberikan informasi tentang penerapan jaringan syaraf tiruan metode perceptron pada aplikasi pengenalan pola QR Code dengan menggunakan Matlab R2007b.

2. Bagi bidang ilmu, memberikan informasi tentang penerapan jaringan syaraf tiruan metode perceptron.

3. Bagi pengguna aplikasi, aplikasi ini dapat membantu user dalam mengenali beberapa pola QR code yang menyimpan suatu informasi tertentu.

1.6 Metode Penelitian

Metode penelitian yang digunakan dalam penelitian ini adalah: 1. Studi literatur

Metode ini dilakukan studi kepustakaan melalui hasil penelitian lain yang relevan serta buku maupun artikel–artikel yang diperoleh melalui internet.

2. Analisis dan Perancangan

Metode ini dilaksanakan dengan menganalisis permasalahan yang ada, batasan masalah yang dimiliki serta berbagai kebutuhan yang diperlukan.


(27)

3. Implementasi

Metode ini dilaksanakan dengan melakukan implementasi perangkat lunak yang bertujuan untuk melakukan proses pembelajaran pada sistem dengan menggunakan metode pembelajaran perceptron.

4. Pengujian

Metode ini dilaksanakan dengan pengujian terhadap perangkat lunak yang telah dibangun.

5. Dokumentasi

Metode ini dilaksanakan dengan mendokumentasikan semua teori yang mendukung dan berhubungan perangkat lunak yang dibangun.

1.7 Sistematika Penulisan

Sistematika penulisan skripsi ini terdiri dari beberapa bagian utama sebagai berikut:

BAB 1 Pendahuluan

Pada bab ini dijelaskan tentang latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.

BAB 2 Landasan Teori

Pada bab ini dijelaskan tentang landasan teori yang berhubungan dengan pengolahan citra, jaringan syaraf tiruan, metode perceptron, dan hal-hal yang berhubungan dengan masalah yang akan dibahas.

BAB 3 Analisis dan Perancangan

Pada bab ini dijelaskan tentang analisis masalah dalam perancangan jaringan syaraf tiruan metode perceptron pada pengenalan pola QR Code, desain perancangan dengan menggunakan UML, dan perancangan antarmuka sistem.


(28)

BAB 4 Implementasi dan Pengujian

Pada bab ini dijelaskan tentang teknik implementasi dari perancangan yang telah dibuat dan pengujian terhadap implementasi dari sistem yang telah dibangun. Pengujian dilakukan untuk membuktikan bahwa sistem yang telah dibangun dapat berjalan sesuai dengan análisis dan tujuan dari perancangan sistem tersebut.

BAB 5 Kesimpulan dan Saran

Pada bab ini terdapat kesimpulan secara umum dari uraian pada bab-bab sebelumnya dan saran yang berguna untuk pengembangan sistem pada masa yang akan datang.


(29)

BAB 2

LANDASAN TEORI

2.1 Pengolahan Citra

Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan komputer, menjadi citra yang kualitasnya lebih baik. Pengolahan citra bertujuan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau mesin (dalam hal ini komputer). Teknik - teknik pengolahan citra mentransformasikan citra menjadi citra lain. Jadi, masukannya adalah citra dan keluarannya juga citra, namun citra keluaran mempunyai kualitas lebih baik daripada citra masukan. Termasuk dalam bidang ini juga adalah pemampatan citra (image compression). Perubahan kontras citra adalah contoh operasi pengolahan citra. Contoh pengolahan citra lainnya adalah penghilangan derau (noise).

Umumnya, operasi-operasi pada pengolahan citra diterapkan pada citra bila: 1. Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan kualitas

penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam citra.

2. Elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur. 3. Sebagian citra perlu digabung dengan bagian citra yang lain. [6]

2.1.1 Citra

Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu obyek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan. [11]


(30)

“Citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya. Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata pada manusia, kamera, dan pemindai (scanner), sehingga bayangan objek yang disebut citra terekam” [6].

Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat : 1. Optik berupa foto.

2. Analog berupa sinyal video, seperti gambar pada monitor televisi. 3. Digital yang dapat langsung disimpan pada suatu pita magnetik.

2.1.2 Digitalisasi Citra

Citra ada dua jenis, yaitu citra kontinu dan citra diskrit. Citra kontinu dihasilkan dari sistem optik yang menerima sinyal analog, misalnya mata manusia dan kamera analog. Citra diskrit dihasilkan melalui proses digitalisasi terhadap citra kontinu. Beberapa sistem optik dilengkapi dengan fungsi digitalisasi sehingga mampu menghasilkan citra diskrit, misalnya kamera digital dan scanner. Citra diskrit disebut juga citra digital.

Agar dapat diolah dengan komputer digital, maka suatu citra harus dipresentasikan secara numerik dengan nilai-nilai diskrit. Representasi citra dari fungsi kontinu menjadi nilai-nilai diskrit disebut digitalisasi. Citra yang dihasilkan inilah yang disebut citra digital (digital image). Pada umumnya citra digital berbentuk empat persegi panjang, dan dimensi ukurannya dinyatakan sebagai tinggi x lebar (lebar x tinggi).

Citra digital yang berukuran M X N lazim dinyatakan dengan matriks yang berukuran M baris dan N kolom sebagai berikut:

f(x,y) ≈�

�(0,0) �(0,1)

�(1,0) �(1,1)

⋯ �(0,� −1)

⋯ �(1,� −1)

⋮ ⋮

�(� −1,0) �(� −1,0)

⋮ ⋮

⋯ �(� −1,� −1) �


(31)

Indeks baris (i) dan indeks kolom (j) menyatakan suatu koordinat titik pada citra, sedangkan f(i,j) merupakan intensitas (derajat keabuan) pada titik (i,j). Masing-masing elemen pada citra digital (berarti elemen matriks) disebut image element,

pictureelement atau pixel atau pel. Jadi, citra yang berukuran M X N mempunyai MN buah pixel. [6]

2.1.3 Citra Grayscale

Untuk mendapatkan citra grayscale (keabuan) digunakan rumus:

I(x,y) = α.R + β.G + γ.B

Dengan I(x,y) adalah level keabuan pada suatu koordinat yang diperoleh dengan mengatur komposisi warna R (merah), G (hijau) dan B (biru) yang ditunjukkan oleh

nilai parameter α, β, dan γ. Secara umum, nilai α, β, dan γ adalah 0.33. Nilai yang lain juga dapat diberikan untuk ketiga parameter tersebut asalkan total keseluruhan nilainya adalah 1. [8]

2.1.4 Citra Biner

Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai derajat keabuan: hitam dan putih. Piksel-piksel objek bernilai 1 dan piksel-piksel latar belakang bernilai 0. Pada waktu menampilkan gambar, 0 adalah putih dan 1 adalah hitam.

Meskipun saat ini citra berwarna lebih disukai karena memberi kesan yang lebih kaya daripada citra biner, namun tidak membuat citra biner mati. Pada beberapa aplikasi citra biner masih tetap dibutuhkan, misalnya citra logo instansi (yang hanya terdiri atas warna hitam dan putih), citra kode barang (bar code) yang tertera pada label barang, dan citra hasil pemindaian dokumen teks. [6]


(32)

2.1.5 Operasi Pengolahan Citra

Operasi-operasi yang dilakukan pada pengolahan citra secara umum dapat dikelompokkan dalam beberapa jenis, yaitu:

1. Perbaikan kualitas citra (image enhancement)

Jenis operasi ini bertujuan untuk memperbaiki kualitas citra dengan cara memanipulasi parameter-parameter citra. Dengan operasi ini, ciri-ciri khusus yang terdapat dalam citra lebih ditonjolkan. Beberapa operasi perbaikan citra antara lain: perbaikan kontras gelap/terang, perbaikan tepian objek (edge enhancement), penajaman (sharpening), pemberian warna (pseudocoloring), dan penapisan derau (noisefiltering).

2. Pemugaran citra (image restoration)

Operasi ini bertujuan menghilangkan/meminimumkan cacat pada citra. Tujuan pemugaran hampir sama dengan operasi perbaikan citra. Bedanya, pada pemugaran citra, penyebab degradasi gambar diketahui. Contoh-contoh operasi pemugaran citra, yaitu penghilangan kesamaran (deblurring), atau penghilangan derau (noise).

3. Pemampatan citra (image compression)

Jenis operasi ini dilakukan agar citra dapat direpresentasikan dalam bentuk yang lebih kompak sehingga memerlukan memori yang lebih sedikit. Hal penting yang harus diperhatikan dalam pemampatan citra adalah citra yang telah dimampatkan harus tetap mempunyai kualitas gambar yang bagus. Contoh metode pemampatan citra adalah metode JPEG.

4. Segmentasi citra (image segmentation)

Jenis operasi ini bertujuan untuk memecah suatu citra ke dalam beberapa segmen dengan suatu kriteria tertentu. Jenis operasi ini berkaitan erat dengan pengenalan pola.

5. Analisis citra (image analysis)

Jenis operasi ini bertujuan menghitung besaran kuantitatif dari citra untuk menghasilkan deskripsinya. Teknik analisis citra mengekstraksi ciri-ciri tertentu yang membantu dalam identifikasi objek. Proses segmentasi kadang kala diperlukan untuk melokalisasi objek yang diinginkan dari sekelilingnya.


(33)

Contoh-contoh operasi analisis citra, yaitu: pendeteksian tepi objek (edge detection), ekstraksi batas (boundary), dan representasi daerah (region).

6. Rekonstruksi citra (image reconstruction)

Jenis operasi ini bertujuan untuk membentuk ulang objek dari beberapa citra hasil proyeksi. Operasi rekonstruksi citra banyak digunakan dalam bidang medis. Misalnya, beberapa foto rontgen dengan sinar-X digunakan untuk membentuk ulang gambar organ tubuh. [6]

2.1.6 Pengambangan

Proses pengambangan (thresholding) akan menghasilkan citra biner, yaitu citra yang memiliki dua tingkat keabuan, yaitu hitam dan putih. Secara umum, proses pengambangan citra grayscale untuk menghasilkan citra biner adalah sebagai berikut[6]:

g(x,y) = �1 ���(�,�)≥ � 1 ���(�,�) <��

dengan g(x,y) citra biner dari citra grayscale f(x,y), dan T menyatakan nilai ambang. Nilai T memegang peran sangat penting dalam proses pengambangan. Kualitas hasil citra biner sangat bergantung pada nilai T yang digunakan. Dengan operasi pengambangan tersebut, objek dibuat berwarna gelap (1 atau hitam) sedangkan latar berwarna terang (0 atau putih).

Dua pendekatan yang digunakan dalam operasi pengambangan, yaitu: 1. Pengambangan global (Global thresholding)

Pada pengambangan global, seluruh piksel pada citra dikonversi menjadi hitam atau putih dengan satu nilai ambang T. Cara yang umum menentukan nilai T adalah dengan membuat histogram citra. Jika citra mengandung satu buah objek dan latar belakangnya mempunyai nilai intensitas yang homogen, maka citra tersebut umumnya mempunyai histogram bimodal (mempunyai dua puncak atau dua buah maksimum lokal). Nilai T dipilih pada nilai minimum lokal yang terdapat di antara dua puncak. Dengan cara seperti ini, kita tidak hanya


(34)

mengkonversi citra grayscale ke citra biner, tetapi sekaligus melakukan segmentasi objek dari latar belakangnya.

Kemungkinan besar pada pengambangan global akan banyak informasi hilang karena hanya menggunakan satu nilai T untuk keseluruhan piksel. Untuk mengatasi masalah ini dapat digunakan pengambangan secara localadaptive. 2. Pengambangan lokal (LocallyAdaptive Thresholding)

Pada pengambangan lokal, suatu citra dibagi menjadi blok-blok kecil dan kemudian dilakukan pengambangan lokal atas setiap blok itu dengan nilai T yang berbeda. Sebagai contoh, pengambangan dilakukan terhadap daerah citra yang berukuran 3x3 atau 5x5 piksel. Nilai ambangnya ditentukan sebagai fungsi rata-rata derajat keabuan di dalam daerah citra tersebut. Intensitas piksel yang berbeda secara signifikan dari nilai rata-rata tersebut dianggap mengandung informasi kontras dan ini harus dipertahankan dalam citra biner. Dengan pengambangan secara lokal adaptif, secara subjektif citra biner yang dihasilkan terlihat lebih menyenangkan dan sedikit informasi yang hilang.

2.2 Pengenalan Pola

Pola adalah entitas. Ciri-ciri tersebut digunakan untuk membedakan suatu pola dengan pola lainnya. Ciri yang bagus adalah ciri yang memiliki daya pembeda yang tinggi, sehingga pengelompokan pola berdasarkan ciri yang dimiliki dapat dilakukan dengan keakuratan yang tinggi.

Secara luas, ciri adalah semua hasil pengukuran yang bisa diperoleh. Ciri juga bisa menggambarkan karakteristik objek yang dipantau. Contoh dari ciri level rendah adalah intensitas sinyal. Ciri bisa berupa simbol, numerik, atau keduanya. Contoh dari ciri simbol adalah warna. Contoh dari ciri numerik adalah berat. Ciri bisa diperoleh dengan mengaplikasikan algoritma ekstraksi ciri pada data masukan. Ciri dapat dinyatakan dengan variabel kontinu, diskrit, atau diskrit-biner. Ciri biner dapat digunakan untuk menyatakan ada tidaknya suatu ciri tertentu.


(35)

Ciri yang baik memiliki syarat sebagai berikut: mudah dalam komputasi, memiliki tingkat keberhasilan yang tinggi, dan besarnya data dapat diperkecil tanpa menghilangkan informasi penting.

Secara umum, pengenalan pola adalah suatu ilmu untuk mengklasifikasikan atau menggambarkan sesuatu berdasarkan pengukuran kuantitatif ciri atau sifat dari objek. Pola sendiri merupakan suatu entitas yang terdefenisi dan dapat diidentifikasi dan diberi nama. Sidik jari adalah suatu contoh pola. Pola bisa merupakan kumpulan hasil pengukuran atau pemantauan dan bisa dinyatakan dalam notasi vektor atau matriks.

Struktur sistem pengenalan pola ditunjukkan oleh gambar berikut. Perhatikan bahwa sistem terdiri dari suatu sensor (misalnya kamera, dan scanner), teknik prapengolahan, suatu algoritma atau mekanisme ekstraksi ciri dan algoritma untuk klasifikasi atau pengenalan bergantung pada pendekatan yg dilakukan). Sebagai tambahan, biasanya beberapa data yang sudah diklasifikasikan diasumsikan telah tersedia untuk melatih sistem.

Prapengolahan adalah transformasi masukan data mentah untuk membantu kemampuan komputasional dan pencari ciri serta untuk mengurangi derau. Pada prapengolahan citra (sinyal) yang ditangkap sensor akan dinormalisasi agar citra menjadi lebih siap untuk diolah pada tahap pemisahan ciri. Kualitas ciri yang dihasilkan pada pemisahan ciri sangat bergantung pada hasil prapengolahan.

Klasifikasi merupakan tahap untuk mengelompokkan masukan data pada satu atau beberapa kelas berdasarkan hasil pencarian beberapa ciri yang signifikan dan pemrosesan atau analisis terhadap ciri itu. Setiap kelas terdiri dari sekumpulan objek yang memiliki kedekatan (kemiripan) ciri. [8]


(36)

2.3 Jaringan Syaraf Biologi

Otak manusia memiliki struktur yang sangat kompleks dan memiliki kemampuan yang luar biasa. Otak manusia terdiri dari neuron-neuron dan penghubung yang disebut sinapsis. Neuron bekerja berdasarkan sinyal yang diberikan neuron lain dan meneruskannya pada neuron lainnya. Diperkirakan manusia memiliki 1012 neuron. Dengan jumlah yang begitu banyak maka otak manusia mampu mengenali pola, melakukan perhitungan, serta mengontrol organ-organ tubuh dengan baik. Neuron memiliki 3 komponen utama, yaitu dendrit, badan sel (soma) dan akson. Gambar 2.1 berikut menunjukkan gambar struktur neuron pada otak manusia.

Gambar 2.1 Struktur Neuron pada Otak Manusia[8]

Pada dasarnya neuron memiliki 4 daerah utama, yaitu: 1. Dendrit

Dendrit merupakan suatu perluasan dari soma yang menyerupai rambut dan bertindak sebagai saluran untuk menerima masukan dari sel syaraf lainnya melalui sinapsis.

2. Sel Tubuh atau Soma

Sel tubuh atau soma merupakan jantungnya sel yang memiliki inti (nucleus). Soma bertugas memproses nilai masukan dari semua dendrit yang terhubung dengannya menjadi suatu output. Soma memiliki dua cabang yaitu dendrit dan akson.


(37)

3. Akson

Neuron biasanya hanya memiliki satu akson yang tumbuh dari bagian soma dan disebut dengan akson hillock. Akson menyalurkan sinyal elektrik yang dihasilkan pada bagian bawah dari akson hillock. Sinyal elektrik digunakan untuk menyampaikan informasi (sinyal) ke otak dengan semua sinyal sama. Oleh karena itu, otak menentukan jenis informasi yang diterima berdasarkan jalur yang membawa sinyal. Otak kemudian menganalisis dan menafsirkan jenis informasi yang diterima. Myelin adalah materi lemak yang melindungi syaraf. Fungsinya seperti lapisan pelindung pada kabel listrik dan memudahkan syaraf untuk mengirim impulsnya dengan cepat. Tidak semua bagian akson terbungkus dengan

myelin. Bagian yang tidak terbungkus ini disebut nodus ranvier. Pada nodus ini, sinyal yang mengalir dan mengalami penurunan akan diperkuat lagi. Hal ini akan memastikan bahwa perjalanan sinyal pada akson mengalir cepat dan tetap konstan. 4. Sinapsis (Synapse)

Sinapsis merupakan bagian kontak (tempat) terjadinya pertukaran sinyal antar dua neuron. Neuron sebenarnya secara fisik tidak berhubungan. Mereka dipisahkan oleh synaptic cleft. Neuron yang mengirim sinyal disebut dengan sel presynaptic

dan neuron yang menerima sinyal disebut dengan sel postsynaptic.[8]

2.4 Jaringan Syaraf Tiruan

Jaringan syaraf tiruan atau Artificial Neural Network yang sering disingkat dengan ANN merupakan jaringan neural yang meniru prinsip kerja dari neuron otak manusia (neuron biologis). ANN pertama kali muncul setelah model sederhana dari neuron buatan diperkenalkan oleh McCulloch dan Pitts pada tahun 1943. Model sederhana tersebut dibuat berdasarkan fungsi neuron biologis yang merupakan dasar unit pensinyalan dari sistem syaraf. [8]


(38)

Jaringan syaraf tiruan memiliki beberapa kemampuan seperti yang dimiliki otak manusia, yaitu:

1. Kemampuan untuk belajar dari pengalaman

2. Kemampuan melakukan perumpamaan (generalization) terhadap input baru dari pengalaman yang dimilikinya.

3. Kemampuan memisahkan (abstraction) karakteristik penting dari input yang mengandung data yang tidak penting. [8]

Jaringan Syaraf Tiruan merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut. Istilah buatan digunakan karena jaringan syaraf ini diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran berlangsung. Dikarenakan sebagai generalisasi model matematika dari jaringan syaraf biologi, maka Jaringan Syaraf Tiruan diasumsikan sebagai berikut:

1. Pengolahan informasi terjadi pada elemen pemrosesan yang disebut neuron. 2. Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung. 3. Setiap penghubung antar neuron memiliki nilai bobot.

4. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi terhadap total input jaringan (penjumlahan bobot input). [7]

Pemodelan ANN (Artificial Neural Network) merupakan pemodelan dengan menggunakan pendekatan pemodelan black box. Prinsip kerja ANN didasari pada mekanisme kerja penyaluran informasi sistem NN. Namun demikian, karena keterbatasan yang dimiliki oleh struktur ANN maka hanya sebagian kecil saja dari kemampuan sistem syaraf manusia dapat ditiru. Gambar 2.2 berikut menunjukkan ilustrasi model ANN buatan. [9]


(39)

Gambar 2.2 Ilustrasi model ANN[9]

Gambar 2.2 di atas dapat dijelaskan sebagai berikut. pr

w

menyatakan sinyal input dari node input ke i = 1, 2, …, r, dengan r menyatakan jumlah input.

s,r

n menyatakan total (jumlah) sinyal terbobot yang masuk ke node s atau sering juga disebut sebagai tingkat pengaktifan (activation level) di node s.

menyatakan bobot (weight) hubungan dari node (neuron) input r ke node (neuron) yang dituju j, j = 1, 2, …, s, dengan s menyatakan jumlah neuron.

f menyatakan fungsi transfer (transfer function) yang akan menentukan keluaran dari node s dan tergantung pada nilai n.

as

Nilai n dari model di atas dapat dihitung dengan rumus:

menyatakan sinyal yang keluar (outgoing signal) atau output dari node s.

n = ws,r pr

………

sedangkan keluaran node yang dinyatakan dengan a dapat ditentukan sebagai berikut. ..………(1)

a = f (n) ..………..(2)

seringkali kedua formula di atas digabung menjadi satu seperti berikut.

a = f (ws,rpr)


(40)

Secara ringkas prinsip kerja neuron dapat dinyatakan sebagai berikut. Pada suatu neuron, sinyal input (diterima oleh dendrit) akan masuk ke node (soma). Pada node terjadi proses penjumlahan sinyal-sinyal input yang telah terbobot (dinyatakan sebagai ws,r pr) dan dilambangkan dengan n. Penjumlahan sinyal-sinyal terbobot

tersebut (n) diproses menjadi sinyal output (a) dengan menggunakan suatu fungsi aktivasi. Sinyal output ini kemudian diteruskan ke neuron lain oleh akson (sinyal pada akson).

Proses seperti di atas terjadi pada setiap node dan berjalan secara independen (terpisah). Akan tetapi, hasil proses di tiap node akan mempengaruhi hasil dari

networks secara keseluruhan karena output dari suatu node menjadi input untuk node-node yang lainnya (node-node di lapisan berikutnya).

Fungsi aktivasi menyatakan perlakuan suatu node terhadap input. Keluaran suatu neuron sangat tergantung pada fungsi aktivasi yang digunakan.

Berikut disajikan tabel perbandingan antara sistem NN dan sistem ANN, sehingga menjadi lebih jelas prinsip kerja NN yang ditiru oleh ANN.

Tabel 2.1 Perbandingan NN dengan ANN

NN ANN

Soma (sel tubuh) Node

Dendrites Sinyal input

Sinyal pada akson Sinyal output

Synapsis Bobot

Memiliki kecepatan rendah Memiliki kecepatan tinggi

Memiliki neuron sekitar 100 miliar Harusnya memiliki sekitar ratusan neuron

Karakteristik dari Jaringan Syaraf Tiruan adalah: 1. Arsitektur Jaringan : pola hubungan antar neuron

2. Algoritma pembelajaran : metode yang menentukan nilai bobot penghubung 3. Fungsi aktivasi : menentukan nilai output berdasarkan total nilai input-nya.


(41)

2.4.1 Komponen Jaringan Syaraf Tiruan

Seperti otak manusia, Jaringan Syaraf Tiruan juga memiliki neuron yang merupakan dasar dari operasi Jaringan Syaraf Tiruan yang berfungsi untuk memproses informasi. Sel syaraf tiruan ini biasa disebut processing element, neuron atau unit.

Masing-masing neuron akan meneruskan informasi yang diterimanya menuju neuron lainnya. Hubungan antar neuron ini disebut edge dan memiliki nilai yang disebut bobot atau weight (disimbolkan dengan w1, …, wn). Selain bobot, setiap unit juga memiliki input, output, dan error. Input yang disimbolkan dengan xi (x1, …, xn) merupakan nilai atau angka yang ingin dilatih maupun untuk diuji di dalam suatu jaringan dimana nilainya harus berupa angka sedangkan output yang disimbolkan dengan yi (y1, …, yn) merupakan hasil keluaran dari suatu unit yang merupakan solusi atau pemahaman jaringan terhadap data input, sedangkan error merupakan tingkat kesalahan yang terdapat dalam suatu unit proses yang telah dilakukan. Dalam jaringan terkadang ditambah sebuah unit input yang nilainya selalu sama dengan 1, unit ini disebut bias.

Jaringan Syaraf Tiruan memiliki banyak neuron yang tersebar di seluruh bagiannya. Masing-masing neuron dikelompokkan ke dalam beberapa lapisan dan memiliki hubungan satu dengan yang lain disebut dengan layer.

Layer terdiri dari beberapa bagian, yaitu: 1. Lapisan masukan (input layer)

Lapisan ini merupakan tempat dimana seluruh lapisan bobot awal dimasukkan (inisialisasi input) yang selanjutnya diproses untuk dikirim ke lapisan di atasnya. 2. Lapisan tersembunyi (hidden layer)

Lapisan ini merupakan lapisan di antara lapisan masukan dan lapisan keluaran. Disini bobot yang diterima dari lapisan input juga diproses untuk selanjutnya dikirim ke lapisan di atasnya yaitu lapisan output.


(42)

3. Lapisan keluaran (output layer)

Lapisan ini merupakan lapisan akhir pada arsitektur jaringan dimana nilai output

dari jaringan dihasilkan. Pada lapisan ini ditetapkan nilai output aktual untuk dibandingkan dengan nilai output target untuk mengetahui apakah jaringan sudah sesuai dengan hasil yang diinginkan.[7]

2.4.2 Arsitektur Jaringan

Arsitektur jaringan merupakan salah satu hal terpenting dalam Jaringan Syaraf Tiruan selain dari neuron dan algoritma pembelajaran. Arsitektur jaringan terbagi menjadi tiga jenis, yaitu:

1. Jaringan lapis tunggal (single layer network)

Jaringan lapis tunggal merupakan jaringan yang hanya memiliki satu buah lapisan dengan bobot-bobot yang terhubung. Jaringan ini hanya menerima nilai input dan secara langsung mengolahnya untuk menjadi nilai output tanpa melalui lapisan tersembunyi. Jaringan lapis tunggal dapat dilihat pada gambar 2.3 di bawah ini.

x1

x3

x2 Y

v3

v1

v2


(43)

2. Jaringan multilapis (multilayer network)

Jaringan multilapis merupakan jaringan yang memiliki satu buah atau lebih lapisan di antara lapisan input dan lapisan output. Jaringan multi lapis ini dapat menyelesaikan permasalahan yang lebih kompleks dibandingkan dengan jaringan lapis tunggal walaupun memiliki tingkat kerumitan yang tinggi serta membutuhkan waktu yang lama dalam proses pelatihannya. Jaringan multi lapis dapat dilihat pada gambar 2.4 di bawah ini.

x1

x3 x2

Y z1

zm z2

xn

v11

v12

v

1m

w1

w2

w3 v21

v22

v2m v31

v32 V3m

vn1 vn1

vnm

Gambar 2.4 Jaringan Multi lapis

3. Jaringan kompetitif (competitive layer network)

Jaringan kompetitif sering disebut feedback loop karena unit output ada yang memberikan informasi terhadap unit masukan. Jaringan kompetitif dapat dilihat pada gambar 2.5 berikut ini.

A1 Am

Ai Aj


(44)

2.4.3 Model Pelatihan Jaringan Syaraf Tiruan

Seperti halnya otak manusia yang membutuhkan pembelajaran dalam mengenali sesuatu, pada Jaringan Syaraf Tiruan juga demikian. Setiap neuron dibangun untuk dilatih dalam mempelajari pola yang akan diinginkan. Pada saat pelatihan dilakukan, nilai dari masing-masing hubungan neuron ditetapkan untuk menentukan output. Semakin banyak pelatihan yang dilakukan maka akan semakin kecil tingkat dari suatu

error di lapisan keluarannya, sehingga pengenalan suatu pola akan segera tercapai.

Metode pembelajaran Jaringan Syaraf Tiruan terdiri dari dua cara:

1. Supervised Learning (pembelajaran dengan pengawasan)

Supervised Learning merupakan metode pembelajaran dalam Jaringan Syaraf

Tiruan dimana output target yang diinginkan telah diketahui sebelumnya dan diharapkan setelah proses pelatihan output target tercapai. Pada metode pembelajaran ini pasangan data (masukan-keluaran) dipakai untuk melatih jaringan. Pada proses pembelajarannya pola masukan diberikan pada lapisan input

untuk terus dirambatkan sampai pada lapisan output. Nilai yang diperoleh dari proses perhitungan pola pada pembelajaran lapisan output akan dicocokkan denganpola output target awal. Jika diperoleh perbedaan antara kedua nilainya maka akan muncul error. Apabila nilai error belum sesuai dengan yang diinginkan maka pelatihan akan terus dilakukan dengan terus memodifikasi bobot sampai dihasilkan error yang sesuai. Model Jaringan Syaraf Tiruan yang menggunakan metode supervised learning adalah perceptron, ADALINE, dan

backpropagation.

2. Unsupervised Learning (pembelajaran tanpa pengawasan)

Unsupervised learning merupakan metode pembelajaran dalam Jaringan Syaraf

Tiruan yang tidak memerlukan output target dalam proses pembelajarannya. Pelatihan dilakukan hanya pada data input saja. Model Jaringan Syaraf Tiruan yang menggunakan metode unsupervised learning adalah kohonen, hebbian, dan lain-lain.


(45)

Pada umumnya operasi model jaringan dalam Jaringan Syaraf Tiruan terbagi atas dua mekanisme kerja, yaitu:

1. Mekanisme pelatihan atau belajar

Pada mekanisme ini jaringan dilatih untuk menghasilkan data yang sesuai dengan

output target yang diinginkan melalui satu atau lebih pasangan data (masukan dan keluaran). Semakin banyak pelatihan pada tiap siklusnya (epoch) dilakukan maka target yang diinginkan akan segera tercapai.

2. Mekanisme pengujian

Pada mekanisme ini jaringan diuji apakah dapat mengenali pola yang baru dengan data input yang berbeda dari data pelatihan setelah proses pelatihan dilakukan.

2.4.4 Fungsi Aktivasi

Dalam jaringan syaraf tiruan, fungsi aktivasi dipakai untuk menentukan keluaran suatu neuron. Argumen fungsi aktivasi adalah net masukan (kombinasi linier masukan dan bobotnya). Jika net = ∑ � , maka fungsi aktivasinya adalah f(net) = f (∑ �).

Beberapa fungsi aktivasi yang sering dipakai adalah sebagai berikut:[8] 1. Fungsi threshold (batas ambang)

f (x) = �1 ����� ≥ � 0 �����< �

Untuk beberapa kasus, fungsi threshold yang dibuat tidak berharga 0 atau 1, tapi berharga -1 atau 1 (sering disebut threshold bipolar).

Jadi

f (x) = � 1 ����� ≥ � −1 �����<� 2. Fungsi sigmoid

f(x) = 1

1+�−�

Fungsi sigmoid sering dipakai karena nilai fungsinya yang terletak antara 0 dan 1 dan dapat diturunkan dengan mudah.


(46)

3. Fungsi identitas f(x) = x

Fungsi identitas sering dipakai apabila kita menginginkan keluaran jaringan berupa sembarang bilangan riil (bukan hanya pada range [0,1] atau [-1,1]

2.5 Perceptron

Model jaringan perceptron ditemukan oleh Rosenblatt(1962) dan Minsky – Papert (1969). Model tersebut merupakan model yang memiliki aplikasi dan pelatihan yang paling baik pada era tersebut.

2.5.1 Arsitektur Jaringan Perceptron

Arsitektur jaringan perceptron ditunjukkan pada gambar 2.6 di bawah ini

Gambar 2.6 Arsitektur Jaringan Syaraf Tiruan metode Perceptron[3]

Jaringan terdiri dari beberapa unit masukan (ditambah sebuah bias), dan memiliki sebuah unit keluaran. Hanya saja fungsi aktivasi bukan merupakan fungsi biner (atau bipolar), tetapi memiliki kemungkinan nilai -1, 0, atau 1.

Untuk suatu harga threshold� yang ditentukan: f(net) = �

1 �������> � 0 ���� − � ≤ ��� ≤ �


(47)

Secara geometris, fungsi aktivasi membentuk 2 garis sekaligus, masing-masing dengan persamaan:

w1x1 + w2x2 + … + wnxn

w

+ b = � dan 1x1 + w2x2 + … + wnxn + b = −�

2.5.2 Pelatihan Perceptron

Misalkan:

s adalah vektor masukan dan t adalah target keluaran � adalah laju pemahaman (learning rate) yang ditentukan � adalah threshold yang ditentukan

Algoritma pelatihan perceptron adalah sebagai berikut : Langkah 0. Inisialisasi bobot-bobot dan bias.

Tentukan angka pembelajaran α (0 < α≤ 1). Tentukan nilai ambang θ ( 0 < θ≤ 1)

Langkah 1 Ulangi

Langkah 2. Untuk setiap pasangan latihan s : t, lakukan Langkah 3. Tentukan aktivasi unit-unit input :

xi = s

Langkah 4. Hitung respons dari unit output:

i

yin

y = �

1 jika y_in > θ 0 ���� − � ≤ �_�� ≤ �

−1 ������� < −� = b + ∑ �� ∗ ��

Langkah 5. Updatelah bobot-bobot dan bias jika error terjadi pada pola y

Jika y ≠ t maka

wi(baru) = wi(lama) + α t x b(baru) = b(lama) + α t

i

Selain itu wi(baru) = wi

b(baru) = b(lama) (lama)


(48)

Langkah 6. Sampai kondisi berhenti terpenuhi.

Kondisi berhenti adalah kondisi dimana tidak terdapat bobot yang berubah pada langkah 2.

Keterangan : s : sensor t : target xi :

s

unit input ke-i

i

w

: unit sensor ke-i

i

b : bias : bobot ke-i

y : unit respons (output)

α : angka pembelajaran θ : nilai ambang

i : 1,…,n dimana n adalah banyaknya unit input

Perceptron menggunakan fungsi aktivasi atau fungsi transfer (f) hard limit. Fungsi ini mempunyai dua jenis output yaitu 0 dan 1. Gambar 2.7 berikut ini merupakan gambar dan symbol dari fungsi aktivasi hard limit.


(49)

2.6 QR Code

Barcode adalah suatu kumpulan data optik yang dapat dibaca oleh mesin. Manusia

tidak bisa membacanya karena barcode ini berbentuk gambar lebar garis dan spasi garis pararel atau simbologi linear 1D (1 dimensi). Selain 1D (1 dimensi), ada juga bentuk persegi, titik, heksagon dan bentuk geometri lainnya di dalam gambar yang disebut kode matriks atau simbologi 2D (2 dimensi) atau QR Code.

KodeQR (QuickResponse) atau biasa dikenal dengan istilah QR Code adalah bentuk evolusi barcode dari satu dimensi menjadi dua dimensi. Kode QR adalah suatu jenis kode matriks atau barcode dua dimensi dengan fungsionalitas utama yaitu dapat dengan mudah dibaca dan untuk menyampaikan informasi dengan cepat dan mendapatkan respons yang cepat pula. Berbeda dengan barcode, yang hanya menyimpan informasi secara horizontal, kode QR mampu menyimpan informasi secara horizontal dan vertikal, oleh karena itu secara otomatis Kode QR dapat menampung informasi yang lebih banyak daripada barcode.

QR Code adalah simbol matriks dua dimensi yang terdiri dari sebuah untaian

kotak persegi yang disusun dalam sebuah pola persegi yang lebih besar. Kotak persegi ini kemudian disebut sebagai modul. Luasnya pola persegi ini akan menentukan versi dari QR Code. Gambar 2.8 berikut adalah salah satu contoh bentuk QR Code.

Gambar 2.8 QR Code


(50)

2.6.1 Struktur QR Code

QR Code memiliki bagian-bagian yang akan dipaparkan pada gambar 2.9 di bawah

ini.

Gambar 2.9 Struktur QR Code [2]

Gambar di atas menyajikan struktur dari sebuah QR Code. Istilah – istilah yang berkenaan dengan QR Code adalah :

Finding Pattern : Pola untuk mendeteksi posisi dari QR Code.

Timing pattern : Pola yang digunakan untuk identifikasi koordinat pusat dari QR

Code. Dibuat dalam bentuk modul hitam putih bergantian.

Version Information : Versi dari sebuah QR Code. Versi terkecil adalah 1 ( 21 x 21 modul dan versi terbesar adalah 40 (177 x 177 modul).

Quiet Zone : Daerah kosong dibagian terluar QR Code yang mempermudah

mengenali pengenal QR oleh sensor CCD.

QR Code version : Versi QR Code. Pada contoh gambar versi yang digunakan

adalah versi 3 (29 x 29 modul).

• Data : Daerah tempat data tersimpan (dikodekan).

Alignment Pattern : Pola yang digunakan untuk memperbaiki penyimpangan QR

Code terutama distorsi non linier.


(51)

QR Code dikembangkan sebenarnya adalah untuk mengambil kelebihan dari

Pdf147, kepadatan data yang tinggi dari dari Datamatrix, dan kecepatan membaca dari

Maxicode. Simbol dua dimensi umumnya berisi lebih banyak data jika dibandingkan

dengan simbol linier, kurang lebih 100 kali lebih banyak [10].

2.6.2 Karakteristik QR Code

Karakteristik dari kode dua dimensi QR Code adalah dapat menampung jumlah data yang besar. Secara teori sebanyak 7089 karakter numerik maksimum data dapat tersimpan di dalamnya, kerapatan tinggi (100 kali lebih tinggi dari kode simbol linier) dan pembacaan kode dengan cepat. QR Code juga memiliki kelebihan lain baik dalam hal unjuk kerja dan fungsi.

a. Pembacaan Data dari Segala Arah (3600

Pembacaan kode matriks dengan menggunakan sensor kamera CCD (Charge

Coupled Device) dimana data akan memindai baris per baris dari citra yang

ditangkap dan kemudian disimpan dalam memori. Dengan menggunakan suatu perangkat lunak tertentu, detail citra akan dianalisa, finding pattern akan dikenali dan posisi simbol dideteksi. Setelah itu proses pembacaan kode akan diproses. Sedangkan pada simbol linier ataupun kode dua dimensi dimensi lain akan memakan lebih lama waktu untuk mendeteksi letak atau sudut ataupun besar dari simbol tersebut.

)

QR Code memiliki finding pattern untuk memberitahukan letak simbol matriks

dua dimensi QR Code yang disusun pada ketiga sudutnya. Hal inilah yang membuat QR Code dapat dibaca dari segala arah atau 360 derajat. Rasio antara modul hitam dan modul putih pada finding pattern-nya selalu 1:1:3:1:1 Dengan rasio ini, finding pattern dapat mendeteksi keberadaan citra yang ditangkap sensor. Sebagai tambahan, dengan adanya ketiga finding pattern maka pengkodean akan lebih cepat dua puluh kali dibandingkan kode matriks lain. Gambar 2.10 berikut ini menggambarkan finding pattern QR Code.


(52)

Gambar 2.10 Salah satu Finding Pattern QR Code [10]

b. Ketahanan terhadap Penyimpangan simbol

Simbol matriks 2 dimensi akan rentan terhadap penyimpangan bentuk ketika ditempatkan pada permukaan yang tidak rata (bergelombang) sehingga sensor pembaca menjadi miring karena sudut antara sensor CCD dan simbol matriks 2 dimensi ini telah berubah. Untuk memperbaiki penyimpangan ini, QR Code

memiliki perata pola (alignment pattern) yang menyusun dengan jarak yang teratur dalam suatu daerah. Alignment pattern akan memperhitungkan titik pusat dengan daerah terluar dari simbol matriks, sehingga dengan cara ini penyimpangan linier maupun non-linier masih dapat terbaca. Gambar 2.11 berikut ini adalah contoh penyimpangan yang terjadi pada QR Code.

Gambar 2.11 Jenis Penyimpangan pada QR Code [10]

c. Fungsi Pemulihan Data (Ketahanan terhadap kotor maupun kerusakan)

QR Code mempunyai empat tingkatan koreksi error (7%, 15%, 25% dan 30%).

Dalam mengendalikan kerusakan yang diakibatkan kotor ataupun rusak, QR Code

memanfaatkan algoritma Reed-Solomon yang tahan terhadap kerusakan tingkat tinggi. Jadi, ketika QR Code akan digunakan dalam lingkungan yang rawan kerusakan akibat lingkungan, disarankan menggunakan koreksi error 30%. Gambar 2.12 berikut adalah contoh gambar QR Code yang kotor atau rusak.


(53)

Gambar 2.12 Kerusakan pada QR Code [10]

d. Kemampuan enkode karakter Kanji dan Kana Jepang

QR Code berkembang pesat di negara Jepang. Hal ini yang menyebabkan

perkembangan QR Code untuk dapat menerima input data berupa karakter yang non-alfabetis. Ketika pembuatan QR Code dengan inputan berupa huruf Jepang, maka data tersebut akan diubah kedalam bentuk biner 16 bit (2 byte) untuk karakter tunggal sedangkan untuk gabungan karakter akan di-enkode dalam biner 13 bit. Hal ini memberikan keuntungan lain dimana proses enkode huruf Jepang akan meningkatkan efisien 20 % lebih banyak dari kode simbol dua dimensi lain. Dimana dengan volume data yang sama akan dapat dibuat pada area pencetakan yang lebih kecil.

e. Fungsi Linking pada Simbol

QR Code memiliki kemampuan dapat dipecah menjadi beberapa bagian dengan

maksimum pembagian adalah 16 bagian [10]. Dengan fungsi linking ini maka QR Code dicetak pada daerah yang tidak terlalu luas untuk sebuah QR Code tunggal.

f. Proses Masking

Proses Masking pada QR Code berperan sangat penting dalam hal penyusunan modul hitam dan modul putih agar memiliki jumlah yang seimbang. Untuk memungkinkan hal ini digunakan operasi XOR yang diaplikasikan diantara area data dan daerah mask pattern. Ada sebanyak delapan mask pattern dalam QR Code yang kesemuanya itu dalam bentuk biner tiga bit.


(54)

2.6.3 Spesifikasi QR Code

Spesifikasi yang lebih jelas tentang level-level QR code dijelaskan pada tabel dibawah ini.

Tabel 2.2 Spesifikasi QR Code

Jenis Simbol Minimal 21 x 21 Modul dan maksimal 177 x 177 modul dengan peningkatan 1 versi = 4 modul Jenis Informasi dan

Kapasitas

Numerik Maksimum 7089 karakter

Alfanumerik Maksimum 4296 karakter

Biner Maksimum 2953 karakter

Huruf Kanji Maksimum 1817 karakter

Koreksi Error

Level L Dapat mengembalikan data yang mengalami kerusakan 7% Level M Dapat mengembalikan data yang

mengalami kerusakan 15% Level Q Dapat mengembalikan data yang

mengalami kerusakan 25% Level H Dapat mengembalikan data yang

mengalami kerusakan 30%

2.6.4 Versi QR Code dan Ukurannya

Ada 40 jenis ukuran dari QR Code yang dinyatakan dengan versi 1, versi 2, hingga versi 40. Versi 1 berukuran 21 x 21 modul, versi 2 berukuran 25 x 25 modul dan seterusnya dimana apabila versi meningkat satu maka jumlah modul akan meningkat sebanyak 4 modul x 4 modul.


(55)

BAB 3

ANALISIS DAN PERANCANGAN

Jaringan syaraf tiruan sudah menjadi hal yang sangat umum di dunia Ilmu Komputer dan telah banyak diterapkan dalam aplikasi pengenalan pola, penyakit pada tanaman dan hewan, serta sebagai alat fungsi prakiraan. Banyak sekali aplikasi pengenalan pola yang menggunakan jaringan syaraf tiruan. Tetapi, orang-orang yang menggunakan aplikasi tersebut banyak yang tidak mengetahui cara kerja dari jaringan syaraf tiruan itu sendiri. Oleh karena itu, penulis mencoba membuat suatu aplikasi pengenalan pola

QR (Quick Response) Code dengan menggunakan jaringan syaraf tiruan dan mencoba

menjelaskan bagaimana cara kerja jaringan syaraf tiruan pada pengenalan pola QR

(Quick Response) Code. Dalam hal ini, penulis menggunakan metode perceptron

dengan fungsi aktivasi hardlim.

3.1 Analisis Sistem

Analisis sistem merupakan tahapan terpenting dalam pembangunan atau perancangan suatu sistem karena pada tahapan ini bertujuan untuk menjelaskan tujuan pembangunan sistem dan kebutuhan sistem secara menyeluruh sehingga tugas-tugas yang akan dikerjakan oleh sistem tersebut dapat dijelaskan secara detail dan terperinci. Analisis sistem sangat membantu proses pemodelan sistem yang akan dirancang dan implementasi aplikasi dalam bentuk nyata.


(56)

3.1.1 Analisis Masalah (Problem Analysis)

Masalah yang ada pada perancangan sistem ini adalah masalah autentifikasi pola QR code agar user terhindar dari tindakan penipuan dengan alasan berikut ini:

1. User sulit untuk membedakan apakah beberapa QR Code menyimpan informasi yang sama atau tidak karena polanya sangat acak dan sulit dibedakan.

Citra dari beberapa QR code tidak dapat dilihat atau dibedakan dengan mata, sehingga dibutuhkan adanya suatu sistem yang dapat mengenali pola dari QR code

tersebut.

2. QR Code dapat mengalami kerusakan atau kotor.

QR code yang dicetak pada suatu media dapat mengalami kerusakan, sistem ini

dapat digunakan untuk mengetahui apakah QR code yang sudah rusak tersebut masih menyimpan informasi yang sama atau tidak.

Permasalahan yang terjadi pada sistem digambarkan pada diagram iskhikawa berikut. Autentifikasi pola QR Code Metode User Kebijakan Prosedur Sistem

Tidak ada database

yang terintegrasi Belum adanya kebijakan dalam penyampaian informasi Prosedur pembacaan data secara langsung Kurangnya pemahaman tentang penggunaan QR code Tidak ada perbandingan untuk QR Code sejenis

Data

Data belum terorganisir dengan

baik

Gambar 3.1 Iskhikawa Diagram

3.1.2 Analisis Kebutuhan (Requirement Analysis)

Dalam suatu sistem, analisis kebutuhan dapat dikelompokkan menjadi 2 bagian, yaitu kebutuhan fungsional dan kebutuhan non-fungsional.


(57)

3.1.1.1 Analisis Kebutuhan Fungsional

Kebutuhan fungsional adalah fungsi-fungsi utama yang harus ada pada sistem yang akan dibangun. Kebutuhan fungsional yang harus ada pada sistem pengenalan pola QR code dengan JST metode perceptron adalah sebagai berikut:

1. Sistem harus mampu melatih atau melakukan pelatihan (training) terhadap setiap pola yang ada pada sistem sesuai dengan target yang telah ditentukan.

2. Sistem harus mampu menguji pola yang telah dilatih sebelumnya dengan menggunakan bobot yang didapatkan dari hasil pelatihan (training) dan memberikan hasil sesuai dengan target yang diinginkan.

3. Sistem harus mampu menguji pola baru yang belum pernah dilatih oleh sistem dan memberikan hasil sesuai dengan target pada sistem.

3.1.1.2 Analisis Kebutuhan Non-Fungsional

Kebutuhan non-fungsional sistem meliputi beberapa hal sebagai berikut:

1. Performance (tampilan)

Sistem harus mampu melaksanakan tugasnya dengan baik tanpa menggantu tugas-tugas utama yang harus dilakukan oleh sistem, seperti pelatihan dan pengujian pola.

2. Information (penyimpanan data)

Sistem harus mampu menyediakan informasi tentang data-data yang akan digunakan pada sistem, seperti tempat penyimpanan pola QR code yang akan diuji oleh sistem.

3. Economic (ekonomi)

Sistem harus mampu bekerja dengan baik tanpa mengeluarkan tambahan biaya untuk penambahan perangkat keras maupun perangkat lunak.

4. Control (pengontrolan sistem)

Sistem yang telah dibangun harus tetap dikontrol setelah selesai dibangun agar fungsi dan kinerja sistem tetap terjaga dan dapat memberikan hasil yang sesuai dengan keinginan pengguna.


(58)

5. Eficiency (efisiensi)

Sistem harus dirancang sesederhana mungkin agar memudahkan pengguna dalam menggunakan atau menjalankan aplikasi tersebut.

6. Service (pelayanan sistem)

Sistem yang telah dirancang bisa dikembangkan ke tingkat yang lebih kompleks lagi bagi pihak-pihak yang ingin mengembangkan sistem tersebut.

3.1.3 Pemodelan Sistem

Pemodelan kebutuhan sistem dengan UML (Unified Modelling Language) mencakup

use case diagram, activity diagram, sequence diagram, dan class diagram.

3.1.3.1 Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem,

kebutuhan sistem dari sudut pandang user, dan hubungan antara use case dengan

actor. Pada diagram usecase di bawah ini, ada dua actor yang berperan, yaitu admin dan user. Pada admin, ada 2 use case, yaitu pelatihan dan pengujian. Admin melakukan pelatihan dan pengujian dengan menggunakan file text yang terdapat pada sistem. Sedangkan user hanya bisa melakukan pengujian pada file gambar yang telah terdapat pada sistem. Gambar 3.2 berikut ini adalah gambar diagram use case dari sistem yang akan dibangun.


(59)

user admin

System

pelatihan

pengujian depends on

Gambar 3.2 Use Case Diagram

3.1.3.2 Activity Diagram

Activity diagram menggambarkan proses-proses yang terjadi ketika aktivitas dimulai

sampai aktivitas berhenti. Pada admin terjadi proses pelatihan untuk mendapatkan bobot yang sesuai dari hasil pelatihan. Pada user terjadi proses pengujian terhadap pola-pola yang terdapat pada sistem. Activity diagram yang terjadi pada sistem dijelaskan oleh gambar 3.3 berikut ini.


(60)

1

2

3

4

5

6

7

8

admin

Gambar 3.3 Activity Diagram

Penjelasan untuk activity diagram pada gambar 3.3 di atas adalah sebagai berikut: 1. Admin melakukan penginputan pola dan target terhadap sistem.

2. Admin melakukan perubahan bobot dan bias sampai didapatkan bobot dan bias terbaik dari hasil pelatihan, pada tahap awal, bobot dan bias diinisialisasi dengan nilai 0 (nol).

3. Perhitungan nilai output dengan menjumlahkan hasil perkalian setiap neuron dan bobot.

4. Perbandingan nilai output dengan target yang telah ditentukan, jika output tidak sama dengan target maka kembali ke proses 2, jika output sama dengan target maka lanjut ke proses berikutnya.

5. Bobot dan bias dari hasil pelatihan digunakan untuk proses pengujian pola pada sistem.

6. User melakukan pemilihan gambar yang akan diuji.

7. Menghitung respon output untuk setiap neuron input dan bobot. 8. Menampilkan hasil output sebagai keluaran sistem.


(61)

3.1.3.3 Sequence Diagram

Sequence diagram merupakan interaksi antara aktor-aktor yang terdapat dalam suatu

sistem, dan terjadi komunikasi yang berupa pesan. Admin melakukan proses pelatihan terhadap setiap pasangan pola dan target untuk mendapakan bobot dan bias terbaik dari hasil pelatihan. User menggunakan bobot dan bias hasil pelatihan untuk melakukan pengujian terhadap pola dan mendapatkan output sebagai hasil keluaran dari sistem tersebut. Sequence diagram digambarkan pada gambar 3.4 berikut ini.

admin

pelatihan pengujian

user

pola

target bobot

pola

hasil pengujian pola

output

Gambar 3.4 Sequence Diagram

3.1.3.4 Class Diagram

Class diagram menggambarkan keadaan atribut dari masing-masing proses yang

terdapat dalam sistem, yaitu pelatihan dan pengujian. Pada proses pelatihan terdapat empat atribut, yaitu pola, target, laju pemahaman, dan fungsi aktivasi. Pada proses pengujian terdapat tiga atribut, yaitu pola, bobot hasil pelatihan, dan fungsi aktivasi. Berikut adalah class diagram sistem, setiap proses memiliki relasi one to one. Setiap


(62)

proses merupakan pasangan yang tidak dapat dipisahkan dan saling berhubungan. Gambar 3.5 berikut ini menunjukkan class diagram pada sistem.

+latih() -pola -target

-laju pemahaman -fungsi aktivasi

pelatihan

+uji() -pola -bobot

-fungsi aktivasi

pengujian

Gambar 3.5 Class Diagram

3.2 Tahap-tahap Pengolahan Data

Pola QR (Quick Response) Code yang akan dikenali dengan menggunakan jaringan syaraf tiruan melalui beberapa tahapan tertentu sehingga dapat menjadi masukan yang baik bagi jaringan syaraf tiruan. Masukan yang dapat diterima dengan baik oleh jaringan syaraf tiruan adalah data numerik yang berupa data biner atau data bipolar. Dengan demikian, pola QR code perlu dikonversi menjadi data numerik berupa data biner atau data bipolar.

3.2.1 Akuisisi Data (Pengumpulan Data)

Data atau sampel yang akan digunakan adalah gambar QR Code yang didapatkan dari suatu QR Code generator. Setelah gambar QR Code didapatkan, kemudian penulis mengambil nilai-nilai modul dari gambar QR Code tersebut sebagai data masukan untuk jaringan syaraf tiruan dalam bentuk data biner (0 dan 1). Data biner tersebut kemudian dibentuk kembali menjadi sebuah gambar dengan bantuan Matlab dengan format jpg.

Penulis mengumpulkan 208 pola QR Code untuk 16 data yang berbeda. Setiap data masing-masing memiliki 13 pola QR Code. Dari sejumlah jumlah data yang diperoleh, penggunaannya dibagi untuk pelatihan dan pengujian. Banyak data pelatihan adalah sebanyak 128 pola, sedangkan untuk pengujian digunakan pola yang


(1)

150 0 0 0 0 0 1 0 0

0 0 0 0 0 0 0 0 Universitas Andalas Padang BENAR

151 0 0 0 0 0 1 0 0

0 0 0 0 0 0 0 0 Universitas Andalas Padang BENAR

152 0 0 0 0 0 1 0 0

0 0 0 0 0 0 0 0 Universitas Andalas Padang BENAR

153 0 0 0 0 0 1 0 0

0 0 0 0 0 0 0 0 Universitas Andalas Padang BENAR

154 0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 0

Universitas Padjajaran

Bandung BENAR

155 0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 0

Universitas Padjajaran

Bandung BENAR

156 0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 0

Universitas Padjajaran

Bandung BENAR

157 0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 0

Universitas Padjajaran

Bandung BENAR

158 0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 0

Universitas Padjajaran

Bandung BENAR

159 0 0 0 0 0 0 0 1

0 0 0 0 0 0 0 0

Universitas Diponegoro

Semarang BENAR

160 0 0 0 0 0 0 0 1

0 0 0 0 0 0 0 0

Universitas Diponegoro


(2)

161 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

Universitas Diponegoro

Semarang BENAR

162 0 0 0 0 0 0 0 1

0 0 0 0 0 0 0 0

Universitas Diponegoro

Semarang BENAR

163 0 0 0 0 0 0 0 1

0 0 0 0 0 0 0 0

Universitas Diponegoro

Semarang BENAR

164 0 0 0 0 0 0 0 0

1 0 0 0 0 0 0 0

Universitas Sriwijaya

Palembang BENAR

165 0 0 0 0 0 0 0 0

1 0 0 0 0 0 0 0

Universitas Sriwijaya

Palembang BENAR

166 0 0 0 0 0 0 0 0

1 0 0 0 0 0 0 0

Universitas Sriwijaya

Palembang BENAR

167 0 0 0 0 0 0 0 0

1 0 0 0 0 0 0 0

Universitas Sriwijaya

Palembang BENAR

168 0 0 0 0 0 0 0 0

1 0 0 0 0 0 0 0

Universitas Sriwijaya

Palembang BENAR

169 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0

Universitas Lambung

Mangkurat BENAR

170 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0

Universitas Lambung

Mangkurat BENAR

171 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0

Universitas Lambung


(3)

172 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0

Universitas Lambung

Mangkurat BENAR

173 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0

Universitas Lambung

Mangkurat BENAR

174 0 0 0 0 0 0 0 0

0 0 1 0 0 0 0 0

Universitas Syiah Kuala

Banda BENAR

175 0 0 0 0 0 0 0 0

0 0 1 0 0 0 0 0

Universitas Syiah Kuala

Banda BENAR

176 0 0 0 0 0 0 0 0

0 0 1 0 0 0 0 0

Universitas Syiah Kuala

Banda BENAR

177 0 0 0 0 0 0 0 0

0 0 1 0 0 0 0 0

Universitas Syiah Kuala

Banda BENAR

178 0 0 0 0 0 0 0 0

0 0 1 0 0 0 0 0

Universitas Syiah Kuala

Banda BENAR

179 0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 0 Universitas Sam Ratulangi BENAR

180 0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 0 Universitas Sam Ratulangi BENAR

181 0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 0 Universitas Sam Ratulangi BENAR

182 0 0 0 0 0 0 0 0


(4)

183 0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 0 Universitas Sam Ratulangi BENAR

184 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0

Universitas Udayana

Denpasar BENAR

185 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0

Universitas Udayana

Denpasar BENAR

186 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0

Universitas Udayana

Denpasar BENAR

187 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0

Universitas Udayana

Denpasar BENAR

188 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0

Universitas Udayana

Denpasar BENAR

189 0 0 0 0 0 0 0 0

0 0 0 0 0 1 0 0 Universitas Nusa Cendana BENAR

190 0 0 0 0 0 0 0 0

0 0 0 0 0 1 0 0 Universitas Nusa Cendana BENAR

191 0 0 0 0 0 0 0 0

0 0 0 0 0 1 0 0 Universitas Nusa Cendana BENAR

192 0 0 0 0 0 0 0 0

0 0 0 0 0 1 0 0 Universitas Nusa Cendana BENAR

193 0 0 0 0 0 0 0 0


(5)

194 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0

Universitas Mulawarman

Samarinda BENAR

195 0 0 0 0 0 0 0 0

0 0 0 0 0 0 1 0

Universitas Mulawarman

Samarinda BENAR

196 0 0 0 0 0 0 0 0

0 0 0 0 0 0 1 0

Universitas Mulawarman

Samarinda BENAR

197 0 0 0 0 0 0 0 0

0 0 0 0 0 0 1 0

Universitas Mulawarman

Samarinda BENAR

198 0 0 0 0 0 0 0 0

0 0 0 0 0 0 1 0

Universitas Mulawarman

Samarinda BENAR

199 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 1

Universitas Mataram,

Mataram BENAR

200 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 1

Universitas Mataram,

Mataram BENAR

201 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 1

Universitas Mataram,

Mataram BENAR

202 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 1

Universitas Mataram,

Mataram BENAR

203 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 1

Universitas Mataram,

Mataram BENAR

204 0 0 1 0 0 0 0 0


(6)

205 0 0 1 0 0 0 0 0

0 0 0 0 0 0 0 0 Universitas Sumatera Utara BENAR

206 0 0 1 0 0 0 0 0

0 0 0 0 0 0 0 0 Universitas Sumatera Utara BENAR

207 0 0 1 0 0 0 0 0

0 0 0 0 0 0 0 0 Universitas Sumatera Utara BENAR

208 0 0 1 0 0 0 0 0