Anda di halaman 1dari 83

DESAIN DAN IMPLEMENTASI QR-CODE BERBASIS ANDROID

DENGAN METODE ERROR CORRECTION KODE BOSE, CHAUDHURI,


HOCQUENGHEM (BCH) UNTUK SISTEM PRESENSI

DESIGN AND IMPLEMENTATION OF PRESENCE SYSTEM BASED ON


QR-CODE IN ANDROID USING ERROR CORRECTION METHOD BOSE,
CHAUDHURI, HOCQUENGHEM (BCH) CODE

TUGAS AKHIR

Disusun dalam rangka memenuhi salah satu persyaratan untuk menyelesaikan


Program Studi Strata 1 Teknik Telekomunikasi

Disusun oleh
AFIF PRIYAMBODO
1101154312

FAKULTAS TEKNIK ELEKTRO


UNIVERSITAS TELKOM
BANDUNG
2019
LEMBAR PENGESAHAN
TUGAS AKHIR

DESAIN DAN IMPLEMENTASI QR-CODE BERBASIS ANDROID


DENGAN METODE ERROR CORRECTION KODE BOSE, CHAUDHURI,
HOCQUENGHEM (BCH) UNTUK SISTEM PRESENSI

DESIGN AND IMPLEMENTATION OF PRESENCE SYSTEM BASED ON


QR-CODE IN ANDROID USING ERROR CORRECTION METHOD BOSE,
CHAUDHURI, HOCQUENGHEM (BCH) CODE

Telah disetujui dan disahkan sebagai Tugas Akhir


Program S1 Teknik Telekomunikasi
Fakultas Teknik Elektro
Universitas Telkom

Disusun Oleh

AFIF PRIYAMBODO
1101154312

Bandung, 22 Mei 2019


Menyetujui,

Pembimbing I Pembimbing II

Dr. Koredianto Usman, S.T., M.Sc. Ledya Novamizanti, S.Si., M.T.


02750053-1 10830587-1

ii
LEMBAR PERNYATAAN ORISINALITAS

Nama : Afif Priyambodo


Nim : 1101154312
Alamat : Kosan Putra Bangsa, Gang PGA No. 54B, Bandung
No. HP : 082121063630
E-mail : afifpriyambodo@gmail.com

Menyatakan bahwa Tugas Akhir ini merupakan karya orisinal saya sendiri,
dengan di bawah bimbingan Pembimbing I dan II dengan judul :

DESAIN DAN IMPLEMENTASI QR-CODE BERBASIS ANDROID


DENGAN METODE ERROR CORRECTION KODE BOSE, CHAUDHURI,
HOCQUENGHEM (BCH) UNTUK SISTEM PRESENSI

DESIGN AND IMPLEMENTATION OF PRESENCE SYSTEM BASED ON


QR-CODE IN ANDROID USING ERROR CORRECTION METHOD BOSE,
CHAUDHURI, HOCQUENGHEM (BCH) CODE

Atas pernyataan ini, saya siap menanggung resiko / sanksi yang dijatuhkan
kepada saya apabila kemudian ditemukan adanya pelanggaran terhadap kejujuran
akademik atau etika keilmuan dalam karya ini, atau ditemukan bukti yang
menunjukkan ketidakaslian karya ini.

Bandung, 22 Mei 2019

Afif Priyambodo
NIM.1101154312

iii
ABSTRAK

Presensi merupakan hal utama dalam kegiatan belajar-mengajar, karena


menjadi bukti dari laporan pelaksanaan. Umumnya, presensi dilakukan secara
manual yaitu siswa membubuhkan tanda tangan pada suatu kertas yang diedarkan.
Tugas Akhir ini merancang dan mengimplementasi penggunaan teknologi QR-
Code dalam sistem presensi berbasis android.
Sistem memiliki konfigurasi yang terdiri dari sistem encoder, sistem
hardware, dan sistem decoder. Sistem encoder membahas proses encode data
berupa Nomor Induk Siswa Nasional (NISN) menjadi QR-Code. Sistem
menggunakan kode Bose, Chaudhuri, and Hocquenghem (BCH) sebagai error
correction yang diprogram dengan aplikasi MATLAB. Sistem hardware terdiri dari
perangkat android dan kartu pelajar yang tertanam QR-Code. Sistem decoder
membahas proses deteksi QR-Code dengan aplikasi Smart Presence yang telah
dibuat dengan program Android Studio.
Sistem diuji dengan pengujian black box, pengujian jarak deteksi, pengujian
deteksi berdasarkan cahaya, dan pengkotoran terhadap kartu pelajar. Pengujian
black box menunjukan baik tidaknya fungsionalitas dari setiap tampilan pada
aplikasi Smart Presence. Pengujian jarak deteksi menghasilkan jarak minimum dan
maksimum deteksi QR-Code. Pengujian berdasarkan cahaya dan pengkotoran kartu
pelajar menghasilkan akurasi dan waktu komputasi. Parameter pengujian pada
pengkotoran kartu pelajar terdiri dari uji kotor tinta, uji kotor lumpur, dan uji
gesekan atau goresan. Pengujian kotor tinta dilakukan terhadap lima warna dengan
tingkat pengujian ringan, sedang, dan berat. Total pengujian kotor tinta dilakukan
terhadap 150 kartu pelajar. Pengujian kotor lumpur dan gesekan atau goresan
memiliki tingkat uji ringan, sedang, dan berat. Total pengujian kotor lumpur
dilakukan terhadap 30 kartu pelajar. Total pengujian gesekan atau goresan
dilakukan terhadap 30 kartu pelajar. Hasil dari penelitian, deteksi QR-Code
memiliki jarak minimal sebesar 3 cm dan jarak maksimal sebesar 45 cm dengan
tingkat akurasi sebesar 98% dan rata-rata waktu komputasi sebesar 1,3 detik.
Kata Kunci: Presensi, QR-Code, Kode BCH, Smartphone, Bose Chaudhuri and
Hocquenghem

iv
ABSTRACT

Presence is the main thing in teaching and learning activities, because it


becomes evidence of the implementation report. Generally, attendance is done
manually, Students put a signature on a paper that is circulated. This final project
designed and implemented QR-Code technology usage in presence system based
on Android.
The system has a configuration consisting of an encoder system, a
hardware system, and a decoder system. The encoder system discusses the encoding
process of data in the form of a National Student Identification Number (NISN)
into a QR-Code. The system uses the Bose, Chaudhuri, and Hocquenghem (BCH)
codes as error correction programmed with the MATLAB application. The
hardware system consists of an android device and an embedded QR-Code student
card. The decoder system discusses the QR-Code detection process with the Smart
Presence application that was created with the Android Studio program.
The system is tested by black box testing, detection distance testing, light-
based detection testing, and contamination of student cards. Black box testing
shows the good functionality of each display in the Smart Presence application.
Detection distance testing produces minimum and maximum distance QR-Code
detection. Light-based testing and contamination of student cards have results
accuracy and computational time. The test parameters on the student card
contamination consist of the dirty ink test, mud dirty test, and friction or scratch
test. Testing ink dirty is done on five colors with light, moderate, and hight testing
levels. The total ink dirty testing was carried out on 150 student cards. Mud dirty
and friction or scratch tests have light, moderate and hight test levels. Total mud
dirty testing was carried out on 30 student cards. Total friction or scratch tests are
carried out on 30 student cards. The results of the study, QR-Code detection has a
minimum distance of 3 cm and a maximum distance of 45 cm with an accuracy rate
of 98% and an average computation time of 1.3 seconds.

Keywords : Presence, Qr-Code, BCH Code, Smartphone, The Bose Chaudhuri


and Hocquenghem

v
KATA PENGANTAR

Assalamu’alaikum Wr. Wb.

Puji syukur penulis panjatkan kepada Allah SWT atas rahmat dan hidayah-
Nya serta karunia-Nya penulis dapat menyelesaikan Tugas Akhir berjudul
DESAIN DAN IMPLEMENTASI QR-CODE BERBASIS ANDROID
DENGAN METODE ERROR CORRECTION KODE BOSE, CHAUDHURI,
HOCQUENGHEM (BCH) UNTUK SISTEM PRESENSI ini. Tugas Akhir ini
merupakan salah satu syarat menyelesaikan pendidikan dan memperoleh gelar
Sarjana pada Fakultas Teknik Elektro Universitas Telkom.
Penulis menyadari bahwa pada pembuatan Tugas Akhir ini masih banyak
kekurangan baik pada perancangan sistem maupun pada penulisan buku dan masih
jauh dari sempurna. Oleh karena itu, kritik dan saran yang membangun dari
pembaca sangat diharapkan dan semoga tugas akhir ini dapat bermanfaat bagi kita
semua.
Dengan segala kerendahan hati, penulis berharap semoga Tugas Akhir ini
dapat dikembangkan ke arah yang lebih baik dan bermanfaat bagi pembaca dan
penulis, serta bagi dunia pendidikan.
Wassalamu’alaikum Wr. Wb.

Bandung, 22 Mei 2019

Penulis

vi
UCAPAN TERIMA KASIH

Alhamdulillahirabbil’alamiin, rasa syukur selalu penulis panjatkan kepada


Allah SWT, Sang Maha Pencipta, Maha Pengasih lagi Maha Penyayang yang telah
memberikan kekuatan, kesabaran, kelancaran, kemudahan, dan kemampuan dalam
menyelesaikan perkuliahan selama ini dan menyelesaikan perancangan ini.
Dalam menyelesaikan tugas akhir ini dan selama perkuliahan di Universitas
Telkom, penulis mendapat banyak bantuan serta dorongan baik moril maupun
spiritual dan informasi dari berbagai pihak. Pada kesempatan kali ini penulis
mengucapkan terima kasih sebesar-besarnya kepada:
1. Allah SWT, Tuhan semesta alam yang selalu memberikan rahmat dan karunia-
Nya kepada penulis.

2. Mbah kakung, Mbah uyut dan semua keluarga besar penulis yang tidak bisa
disebut satu-persatu.

3. Ayah (Khanifudin Zuchri) dan Ibu (Endang Suwarni), orang tua yang selalu
memberikan kasih sayang, motivasi, semangat, do’a, dan dukungan moril
maupun materil yang tiada henti kepada penulis untuk menyelesaikan kuliah dan
Tugas Akhir ini.

4. Kakak-kakak kandung penulis yaitu Nur Utami Kurniastuti, Nur Adi Nugroho,
Taufik Wahyu Hidayat, Muhammad Nurul Kurniawan yang selalu mendukung
dalam keadaan apapun dan yang telah memberikan kasih sayang dan dukungan
dalam menyelesaikan Tugas Akhir ini.

5. Bapak Dr. Koredianto Usman, S.T., M.Sc., selaku dosen pembimbing I yang
telah membimbing penulis dengan sepenuh hati dalam menyelesaikan Tugas
Akhir ini, mendengarkan segala keluh kesah penulis dan memberikan saran,
solusi dan kasih sayang selama menyelesaikan Tugas Akhir ini.

6. Ibu Ledya Novamizanti, S.Si., MT., selaku dosen pembimbing II yang telah
memberikan topik dan membimbing serta memberikan ilmu yang sangat
bermanfaat, sehingga penulis dapat menyelesaikan Tuhas Akhir.

vii
6. Dr. Ir. Rina Pudji Astuti, M.T, selaku dosen wali kelas TT-39-13 yang telah
membantu penulis selama masa perkuliahan di Telkom University.

7. Seluruh Dosen dan Staff Telkom University yang telah memberikan ilmu selama
penulis menempuh pendidikan di Telkom University.

8. Teman-teman seperjuangan kelas TT-39-13 yang penulis cintai dan sayangi


serta tidak akan menyesali bisa berjuang bersama sebagai keluarga.

9. Teman-teman Hidup Baru (Bygas, Mas Panji, Sanmbut, Jeh, Fadli, Angga,
Soba) yang telah menjadi keluarga dekat penulis di Bandung.

viii
DAFTAR ISI

LEMBAR PENGESAHAN .................................................................................. ii


LEMBAR PERNYATAAN ORISINALITAS ................................................... iii
ABSTRAK ............................................................................................................ iv
ABSTRACT ........................................................................................................... v
KATA PENGANTAR .......................................................................................... vi
UCAPAN TERIMA KASIH .............................................................................. vii
DAFTAR ISI ......................................................................................................... ix
DAFTAR GAMBAR ........................................................................................... xii
DAFTAR TABEL .............................................................................................. xiv
DAFTAR ISTILAH ............................................................................................ xv
DAFTAR ACHIEVEMENT ............................................................................. xvi
BAB 1 PENDAHULUAN ................................................................................... 17
1.1 Latar Belakang ....................................................................................... 17
1.2 Rumusan Masalah .................................................................................. 18
1.3 Tujuan Penelitian .................................................................................... 18
1.4 Batasan Masalah ..................................................................................... 19
1.5 Metode Penelitian ................................................................................... 19
1.6 Sistematika Penulisan ............................................................................. 20
BAB II DASAR TEORI ...................................................................................... 21
2.1 Quick Response (QR) Code .................................................................... 21
2.2 Struktur QR-Code ................................................................................... 21
2.3 Tipe QR-Code......................................................................................... 23
2.4 Error Correction QR-Code .................................................................... 24
2.5 Bose, Chaudhuri, and Hocquenghem (BCH Code) Error Correction ... 25
2.5.1 Encode BCH Code ......................................................................... 25
2.5.2 Decode BCH Code ......................................................................... 27
2.6 Encoding dan Decoding QR-Code ......................................................... 28
2.6.1 Encoding QR-Code ......................................................................... 28

ix
2.6.2 Decoding QR-Code ........................................................................ 30
2.7 MATLAB ............................................................................................... 32
2.8 Android ................................................................................................... 32
2.8.1 Arsitektur Android ......................................................................... 32
2.8.2 Android Studio ............................................................................... 33
2.9 Firebase .................................................................................................. 34
2.9.1 Firebase Authentication ................................................................. 35
2.9.2 Firebase Realtime Database .......................................................... 35
2.10 Black Box Testing ............................................................................... 36
BAB III PERANCANGAN SISTEM ................................................................ 37
3.1 Konfigurasi Sistem ................................................................................. 37
3.2 Sistem Encoder....................................................................................... 37
3.2.1 Encode QR-Code............................................................................ 38
3.2.2 Encode BCH Code ......................................................................... 39
3.2.3 Decode BCH Code ......................................................................... 43
3.3 Sistem Hardware .................................................................................... 48
3.3.1 Perangkat Android (Smartphone)................................................... 48
3.3.2 Kartu Pelajar (QR-Code) ................................................................ 48
3.4 Sistem Decoder ...................................................................................... 49
3.4.1 Deteksi QR-Code ........................................................................... 49
3.4.2 Aplikasi berbasis Android .............................................................. 49
3.4.3 Desain Aplikasi Smart Presence .................................................... 50
3.5 Sistem Presensi Sekolah ......................................................................... 54
3.6 Rencana Pengujian ................................................................................. 55
3.6.1 Pengujian Black box ....................................................................... 56
3.6.2 Pengujian Jarak Deteksi QR-Code ................................................. 56
3.6.3 Pengujian Deteksi QR-Code Berdasarkan Cahaya ........................ 57
3.6.4 Pengujian Ketahanan Kartu Pelajar (QR-Code)............................. 57
3.7 Parameter Performansi ........................................................................... 60
BAB IV HASIL DAN PEMBAHASAN ............................................................ 61

4.1 Hasil Pengujian Black Box ..................................................................... 61


4.2 Hasil Pengujian Jarak Deteksi QR-Code ................................................ 65
4.3 Hasil Pengujian Deteksi QR-Code Berdasarkan Cahaya ....................... 66

x
4.4 Hasil Pengujian Ketahanan Kartu Pelajar (QR-Code)............................ 67
4.4.1 Pengujian Kotor Tinta ..................................................................... 67
4.4.2 Pengujian Kotor Lumpur................................................................. 68
4.4.3 Pengujian Gesekan atau Goresan .................................................... 69
4.5 Analisis Performansi Pengujian ............................................................. 70
BAB V KESIMPULAN DAN SARAN .............................................................. 71
5.1 Kesimpulan ............................................................................................. 71
5.2 Saran ....................................................................................................... 72
DAFTAR PUSTAKA .......................................................................................... 73

LAMPIRAN ......................................................................................................... 75
LAMPIRAN A ..................................................................................................... 76
LAMPIRAN B ..................................................................................................... 78
LAMPIRAN C ..................................................................................................... 79
LAMPIRAN D ..................................................................................................... 82
LAMPIRAN E ..................................................................................................... 83

xi
DAFTAR GAMBAR

Gambar 2.1 Contoh QR-Code. ........................................................................... 21


Gambar 2.2 Struktur dari QR-Code [3]. .............................................................. 22
Gambar 2.3 Finder Pattern................................................................................... 22
Gambar 2.4 Tipe QR-Code (a) Model 1 & 2, (b) Micro, (c) Logo, (d) Encrypted,
(e) iQR-Code. ........................................................................................................ 23
Gambar 2.5 Proses Encoding QR-Code. ............................................................. 29
Gambar 2.6 Proses Decoding QR-Code. ............................................................. 31
Gambar 3.1 Konfigurasi Sistem. ......................................................................... 37
Gambar 3.2 Blok Diagram Sistem Encoder. ....................................................... 37
Gambar 3.3 Blok Diagram Encode QR-Code. .................................................... 38
Gambar 3.4 Contoh Bit Matriks. ......................................................................... 39
Gambar 3.5 Blok Diagram Encode BCH Code. .................................................. 39
Gambar 3.6 Contoh bit matriks dan checkbit (𝑣(𝑥)). ......................................... 40
Gambar 3.7 Diagram alir Decode BCH Code. .................................................... 44
Gambar 3.8 Contoh sisa modulo 𝑉𝑥 ≠ 0, terdapat error. ................................... 44
Gambar 3.9 Keluaran simbol QR-Code. ............................................................. 45
Gambar 3.10 Desain Kartu Pelajar (a) tampak depan, (b) tampak belakang. ..... 48
Gambar 3.11 Diagram alir deteksi QR-Code. ..................................................... 49
Gambar 3.12 Diagram alir Smart Presence. ........................................................ 50
Gambar 3.13 Tampilan login. .............................................................................. 51
Gambar 3.14 Tampilan awal. .............................................................................. 51
Gambar 3.15 (a) Tampilan data pengajaran, (b) Nama pengajar, (c) Mata
pelajaran, (d) Kelas, (e) Tanggal. .......................................................................... 52
Gambar 3.16 Tampilan scanner. .......................................................................... 52
Gambar 3.17 Tampilan Database (a) Input data, (b) Lihat data, (c) Hapus data,
(d) Update data. ..................................................................................................... 53
Gambar 3.18 Firebase authentication. ................................................................. 53
Gambar 3.19 Firebase database. .......................................................................... 54
Gambar 3.20 Diagram Alir Sistem Presensi Sekolah .......................................... 55

xii
Gambar 3.21 Pengujian kotor tinta (a) Ringan, (b), Sedang, (c) Berat. .............. 58
Gambar 3.22 Pengujian kotor lumpur (a) Ringan, (b) Sedang, (c) Berat. ........... 58
Gambar 3.23 Pengujian gesekan atau goresan (a) Ringan, (b) Sedang, (c) Berat.
............................................................................................................................... 59
Gambar A.1 Jarak deteksi QR-Code (a) 1 cm, (b) 2 cm, (c) 3 cm. ..................... 76
Gambar A.2 Jarak deteksi QR-Code (a) 4 cm, (b) 5 cm, (c) 10 cm. ................... 77
Gambar A.3 Jarak deteksi QR-Code (a) 15 cm, (b) 20 cm, (c) 25 cm, (d) 30 cm.
............................................................................................................................... 77
Gambar A.4 Jarak deteksi QR-Code (a) 35 cm, (b) 40 cm, (c) 45 cm, (d) 50 cm.
............................................................................................................................... 77
Gambar B.1 Intensitas cahaya (a) Ringan, (b) Sedang, (c) Berat. ....................... 78
Gambar C.1 Kotor tinta warna merah (a) Ringan, (b) Sedang, (c) Berat. ........... 79
Gambar C.2 Kotor tinta warna hitam (a) Ringan, (b) Sedang, (c) Berat............. 80
Gambar C.3 Kotor tinta warna kuning (a) Ringan, (b) Sedang, (c) Berat........... 80
Gambar C.4 Kotor tinta warna hijau (a) Ringan, (b) Sedang, (c) Berat. ............. 80
Gambar C.5 Kotor tinta warna biru (a) Ringan, (b) Sedang, (c) Berat. .............. 81
Gambar D.1 Kotor lumpur (a) Ringan, (b) Sedang, (c) Berat. ............................ 82
Gambar E.1 Pengujian gesekan atau goresan (a) Ringan, (b) Sedang, (c) Berat. 83

xiii
DAFTAR TABEL

Tabel 2.1 Kemampuan Error Correction QR-Code.............................................. 24


Tabel 2.2 Nilai Parameter kode BCH [6]. ............................................................ 26
Tabel 2.3 Primitive Polynomial............................................................................ 27
Tabel 3.1 Galois Field GF (25 ). ........................................................................... 41
Tabel 3.2 Minimal Polynomial GF (25 ). .............................................................. 42
Tabel 3.3 Algoritma Peterson-Berlekamp. ........................................................... 47
Tabel 3.4 Skenario Pengujian Black Box ............................................................. 56
Tabel 4.1 Layout Login ........................................................................................ 61
Tabel 4.2 Pengujian Layout Awal ........................................................................ 62
Tabel 4.3 Pengujian Layout Data Pengajaran ...................................................... 62
Tabel 4.4 Pengujian Layout Scanner .................................................................... 63
Tabel 4.5 Pengujian Layout Data Siswa .............................................................. 63
Tabel 4.6 Pengujian Layout Lihat Data Siswa ..................................................... 64
Tabel 4.7 Pengujian Layout Update Data Siswa .................................................. 64
Tabel 4.8 Pengujian Layout Hapus Data Siswa ................................................... 64
Tabel 4.9 Pengujian Deteksi QR-Code. ............................................................... 65
Tabel 4.10 Pengujian Deteksi QR-Code Berdasarkan Cahaya. ........................... 66
Tabel 4.11 Pengujian Kotor Tinta. ....................................................................... 67
Tabel 4.12 Pengujian Kotor Lumpur. ................................................................... 68
Tabel 4.13 Pengujian Gesekan atau Goresan. ...................................................... 69
Tabel 4.14 Performansi Pengujian. ...................................................................... 70
Tabel A.1 Hasil data pengujian jarak deteksi QR-Code....................................... 76
Tabel B.1 Hasil data pengujian deteksi QR-Code berdasarkan cahaya. .............. 78
Tabel C.1 Hasil data pengujian kotor rinta. ......................................................... 79
Tabel D.1 Hasil data pengujian kotor lumpur. ..................................................... 82
Tabel E.1 Hasil data pengujian gesekan atau goresan. ........................................ 83

xiv
DAFTAR ISTILAH

Android Sistem operasi seluler


Barcode Penyimpanan data spesifik dengan mengkodekan data
menjadi susunan garis hitam putih vertikal dengan
ketebalan berbeda-beda
BCH Code Penyamarataan kode hamming yang memiliki fungsi
koreksi kesalahan ganda
Black box testing Pengujian fungsionalitas software
Codeword Hasil algoritma pengkodean
Decoder Penerjemah kode
Encoder Pengubah data menjadi kode
Error Correction Koreksi kesalahan
Error detection Deteksi Kesalahan
Firebase Layanan backend
Gallois Field Ruang vektor yang dibangun dengan syarat tertentu
JSON Format database
Numerik Angka 0 sampai 9
QR-Code Pengkodean dan penyimpanan data dalam 2 dimensi

xv
DAFTAR ACHIEVEMENT

1. A. Priyambodo, K. Usman, L. Novamizanti, “Desain dan Implementasi QR-


Code berbasis Android dengan Metode Error Correction Kode Bose,
Chaudhuri, Hocquenghem (BCH) untuk Sistem Presensi”, submitted to
Seminar Nasional Mesin dan Industri (SNMI XIII) dan Seminar Nasional
Teknologi Komputer dan Telekomunikasi (SNTKT IX), 25-26 April 2019,
Jakarta, Indonesia.

xvi
BAB I
PENDAHULUAN

1.1 Latar Belakang

Presensi sekolah merupakan hal yang wajib dilakukan sebelum terlaksana


kegiatan belajar-mengajar. Presensi digunakan sebagai bukti kehadiran siswa.
Sistem presensi yang diterapkan saat ini adalah melakukan presensi manual, yaitu
siswa membubuhkan tanda tangan di kertas yang diedarkan. Hal itu menimbulkan
pemborosan kertas dan kurang efisien. Berbagai penerapan teknologi untuk sistem
presensi sudah dilakukan, seperti penggunaan teknologi fingerprint, RFID, barcode
[7] dan pengolahan citra [8] . Teknologi tersebut dirasa kurang efisien karena dalam
segi biaya tergolong lebih mahal.
QR-Code (Quick Response) adalah kode matriks 2D yang dirancang
menyimpan data lebih besar dibandingkan barcode 1D [1]. QR-Code diterapkan di
berbagai bidang mulai dari pemasaran, keamanan, akademisi dan menjadi buah
bibir dikalangan masyarakat sebagai teknologi yang bagus [1]. QR-Code telah
dirancang dan diimplementasikan untuk sistem parkir di IT Telkom [9]. Pada
penelitian tersebut, QR-Code meningkatkan keamanan dan kenyamanan
pengendara bermotor [9]. QR-Code mengkodekan informasi penting tiap
pengendara bermotor sehingga sistem pendataan parkir di IT Telkom lebih aman
[9]. Penggunaan teknologi QR-Code telah dirancang dan diimplementasikan untuk
sistem presensi di Universitas Muhamadiyah Jember [2]. Sistem didesain untuk
presensi kegiatan ujian mahasiswa [2]. Penelitian tersebut menggunakan enkripsi
vigenere chiper sebagai pengamanan data [2]. Penggunaan teknologi QR-Code
untuk sistem presensi memberikan kepraktisan dan solusi agar berjalan lebih baik
dan efisien. Tugas akhir ini mendesain dan mensimulasikan sistem presensi
menggunakan QR-Code dengan smartphone berbasis android. Penggunaan kode
Bose, Chaudhuri, and Hocquenghem (BCH) sebagai error correction
menghasilkan sistem yang handal [4]. Kode BCH adalah genealisasi dari kode
Hamming untuk mengoreksi kesalahan ganda (multiple error correction) [4]. Kode

17
18

BCH dapat mengkoreksi (error detection) dan mempebaiki kesalahan (error


correction) [4].
Sistem terdiri dari tiga kategori meliputi sistem encoder, sistem hardware,
dan sistem decoder. Sistem encoder merancang proses pengkodean data berupa
Nomor Induk Siswa Nasional (NISN) menjadi QR-Code menggunakan program
MATLAB. Sistem hardware terdiri dari kartu pelajar yang telah ditanamkan QR-
Code dan perangkat android untuk proses scanning QR-Code. Sistem decoder
merancang proses deteksi QR-Code menjadi data informasi menggunakan
aplikasi.Smart Presence berbasis android. Aplikasi tersebut didesain dengan
program Android Studio. Selain itu, sistem decoder mengimplementasi sistem
terhadap presensi sekolah. Penggunaan QR-Code berbasis android dengan metode
error correction kode BCH diharapkan mempermudah dan efisien untuk sistem
presensi.

1.2 Rumusan Masalah

Dari latar belakang yang telah dipaparkan sebelumnya, maka didapatkan


beberapa rumusan masalah yang dibahas pada Tugas Akhir ini, yaitu:
1. Bagaimana cara mendesain dan mensimulasikan sistem presensi (encoder
dan decoder) menggunakan QR-Code berbasis android?
2. Bagaimana ketahanan dari sistem presensi menggunakan QR-Code
terhadap kerusakan kartu pelajar?

1.3 Tujuan Penelitian

Tujuan yang ingin dicapai melalui penelitian yang dilakukan Tugas Akhir
ini antara lain:
1. Mendesain dan mensimulasikan sistem presensi menggunakan QR-Code
berbasis android.
2. Menguji ketahanan sistem presensi menggunakan QR-Code terhadap
kerusakan kartu pelajar (kotor tinta, kotor lumpur, goresan atau gesekan).
19

1.4 Batasan Masalah

Beberapa hal yang dijadikan batasan masalah pada Tugas Akhir ini adalah :
1. Desain aplikasi merupakan prototipe yang masih membutuhkan
pengembangan.
2. Penelitian berfokus pada desain dan implementasi aplikasi serta sistem
presensi.
3. QR-Code model 1 yang dapat menampung 1.167 angka (73 x 73 modul).
4. Sistem presensi diimplementasikan di SMA/MA sederajat.
5. Data informasi yang dikodekan menjadi QR-Code berupa Nomor Induk
Siswa Nasional (NISN).
6. Setiap siswa akan memiliki QR-Code masing-masing sesuai data informasi
yang dikodekan yang ditempatkan pada Kartu Pelajar.

1.5 Metode Penelitian

Beberapa metode yang dilakukan dalam proses penyelesaian Tugas Akhir


ini adalah :
1. Studi literatur
Mempelajari konsep dasar dan teori-teori berkaitan dengan topik penelitian,
juga berkonsultasi dengan dosen pembibing.
2. Perancangan sistem
Merancang sistem encoder berupa proses encode QR-Code dengan kode
BCH sebagai error correction. Mendesain sistem hardware berupa kartu
pelajar. Merancang aplikasi Smart Presence berbasis android sebagai
sistem decoder.
3. Implementasi sistem
Mengimplementasi dan mensimulasikan sistem terhadap sistem presensi di
sekolah.
20

4. Pengujian sistem
Menguji ketahanan QR-Code pada kartu pelajar terhadap lingkungan.
Pengujian dilakukan dengan memberi noda pada kartu pelajar. Selain itu,
menguji fungsionalitas aplikasi Smart Presence.
5. Penyimpulan hasil
Menarik kesimpulan berdasarkan data hasil kajian dan studi untuk
pengembangan sistem presensi di sekolah.

1.6 Sistematika Penulisan

Sistematika penulisan Tugas Akhir ini adalah sebagai berikut:

• BAB I PENDAHULUAN
Membahas latar belakang, tujuan, rumusan dan batasan masalah,
metodologi penelitian, serta sistematika penulisan.
• BAB II DASAR TEORI
Membahas teori QR-Code, BCH Code, MATLAB, Android, Android
Studio, Firebase, Black Box Testing.
• BAB III PERANCANGAN SISTEM
Menjelaskan perancangan sistem encoder berupa proses encode QR-Code
dengan kode BCH sebagai error correction, desain kartu pelajar sebagai
sistem hardware, sistem decoder berupa proses deteksi QR-Code, desain
aplikasi Smart Presence, sistem presensi, pengujian, dan parameter
performansi
• BAB IV HASIL DAN PEMBAHASAN
Berisi hasil dan analisis simulasi pengujian yang dilakukan.
• BAB V KESIMPULAN DAN SARAN
Menjelaskan tentang kesimpulan dan saran yang mendukung untuk
perkembangan penelitian selanjutnya.
BAB II
DASAR TEORI

2.1 Quick Response (QR) Code

QR-Code adalah jenis simbol dua dimensi yang dikembangkan oleh Denso
Wave, anak perusahaan Toyota di Jepang tahun 1994. QR-Code memiliki tujuan
untuk menyampaikan informasi secara cepat dan tanggap. QR-Code adalah
perkembangan dari teknologi barcode dimana hanya menyimpan informasi secara
horizontal sedangkan QR-Code dapat menyimpan informasi lebih banyak, baik
secara horizontal maupun vertikal.

Gambar 2.1 Contoh QR-Code.

QR-Code dapat menyimpan informasi berupa URL, nomor telepon, pesan


SMS, V-Card, atau pesan teks apapun [3]. Gambar 2.1 merupakan contoh QR-Code
yang menyimpan informasi berupa teks. QR-Code telah mendapatkan standarisasi
internasional S0/IEC18004 dan Jepang JIS-X-0510 [3].

2.2 Struktur QR-Code

Setiap simbol QR-Code disusun dalam bentuk persegi. Struktur QR-Code


terdiri dari encoding region dan function patterns. Seluruh simbol dikelilingi oleh
batas quiet zone pada keempat sisi. Quite zone adalah modul yang tidak berisi data.

21
22

Quite zone digunakan untuk memastikan tidak ada teks atau tanda yang
menyesatkan QR-Code. Gambar 2.2 menunjukan struktur dari QR-Code.

Gambar 2.2 Struktur dari QR-Code [3].

Encoding region terdiri dari area data dan error correction, informasi versi,
serta informasi format. Area data berfungsi untuk menyimpan data dan di area
tersebut terdapat error correction. Informasi versi menunjukan versi dari QR-Code.
Informasi format menunjukan error correction, level, dan mask pattern.
Function patterns adalah bentuk yang harus ditempatkan di area QR-Code
secara spesifik. Hal itu dilakukan untuk memastikan bahwa pemindai QR-Code
dapat mengidentifikasi dengan benar [1]. Ada empat jenis function pattern yaitu :
1. Finder pattern berfungsi untuk identifikasi letak QR-Code yang berada di
tiga sudut (kiri atas, kanan atas, dan kiri bawah).

1:1: 3 :1: 1

A : 3 Modules
B : 5 Modules
A B C
C : 7 Modules

Gambar 2.3 Finder Pattern.


23

Finder pattern terdiri dari bingkai persegi luar dengan 7 x 7 modul gelap,
bingkai persegi dalam berukuran 5 x 5 modul terang, dan kotak di tengah 3
x 3 modul gelap. Rasio lebar modul pada masing masing pola pendeteksi
adalah 1:1:3:1:1.
2. Separators adalah satu area modul dari jarak antar masing-masing finder
pattern dan encoding region.
3. Timing pattern terdiri dari 2 jenis, yaitu timing pattern horisontal dan timing
pattern vertikal. Timing pattern horisontal ditempatkan di baris keenam QR-
Code diantara separators. Timing pattern yang vertikal terletak dikolom
keenam QR-Code diantara separators. Pola ini sangat membantu dalam
menentukan kerapatan simbol, koordinat modul dan area informasi versi.
4. Alignment pattern dibangun dari 5 x 5 modul gelap, 3 x 3 modul terang dan
modul gelap ditengahnya. Jumlah alignment pattern tergantung pada versi
QR-Code.

2.3 Tipe QR-Code

QR-Code terdiri dari lima tipe. Setiap tipe memiliki pola QR-Code yang
berbeda. Selain itu, tipe QR-Code berpengaruh terhadap jumlah data informasi yang
dapat dikodekan. Gambar 2.4 adalah contoh dari tipe QR-Code.

(a) (b) (c)


(sumber : www.leadtools.com) (sumber : https://i.stack.imgur.com)

(d) (e)
(sumber : https://voltage.tyepad.com) (sumber : https://qrcode.meetheed.com)

Gambar 2.4 Tipe QR-Code (a) Model 1 & 2, (b) Micro, (c) Logo, (d) Encrypted,
(e) iQR-Code.
24

QR-Code Model 1 adalah QR-Code yang dapat menampung 1.167 angka


dalam versi maksimum (versi 14, 73 x 73 modul) [1]. Model 2 adalah
penyempurnaan dari model 1 dengan versi terbesar 40 (177 x 177 modul), yang
mampu menyimpan 7.089 angka [1]. Micro QR-Code merupakan QR-Code yang
hanya ada satu pola pendeteksi orientasi sehingga bisa dicetak dalam ruang yang
lebih kecil. Versi terbesar adalah M4 (17 x 17 Modul) yang dapat menyimpan
hingga 35 angka [2]. LogoQ (Logo QR-Code) adalah jenis QR-Code baru yang
dibuat untuk meningkatkan kemampuan mengenali visual huruf dan gambar.
Encryption QR-Code adalah jenis QR-Code yang dilengkapi dengan reading
restrinting function [1]. Hal tersebut bisa digunakan untuk menyimpan informasi
pribadi dan mengelola kelompok yang dapat mengakses informasi QR-Code [1].
Pada dasarnya, berisi data yang terenkripsi. iQR-Code memungkinkan pembacaan
posisi dan ukuran dengan mudah dan memiliki berbagai macam kode yang lebih
kecil atau lebih besar dari QR-Code dan Micro QR-Code [1].

2.4 Error Correction QR-Code

QR-Code mampu melakukan koreksi kesalahan dalam pengambilan data


[3]. QR-Code dapat dibaca walaupun dalam kondisi kotor atau rusak dengan
serangkain kode error correction yang ditambahkan dalam urutan codeword data
[3]. Menurut Denso (2011) ada empat tingkat koreksi kesalahan dan
kemampuannya dalam QR-Code.

Tabel 2.1 Kemampuan Error Correction QR-Code.

Level Koreksi Kesalahan Jumlah Perkiraan


Level L 7%
Level M 15%
Level Q 25%
Level H 30%
25

Tabel 2.1 menunjukan kemampuan error correction QR-Code. Penentuan


tingkat error correction berdasarkan faktor lingkungan. Selain itu, ukuran QR-
Code juga dipertimbangkan. Semakin tinggi tingkat koreksi kesalahan maka
semakin besar versi QR-Code. Jumlah perkiraan merupakan presentase
kemampuan koreksi kesalahan.

2.5 Bose, Chaudhuri, and Hocquenghem (BCH Code) Error


Correction

Kode BCH adalah hasil dari penyamarataan kode Hamming dimana


memiliki fungsi mengoreksi kesalahan ganda (multiple error corretion) [4]. Kode
BCH membentuk kode siklik besar yang dapat mengoreksi kesalahan acak yang
kuat. Pada tahun 1961, Gorenstein dan Zieler mengembangkan kode BCH dengan
mengambil persamaan simbol Galios Field (GF) [4].

2.5.1 Encode BCH Code

Proses awal kode BCH adalah pembentukan kumpulan checkbit yang akan
dikirimkan bersama informasi. Adapun proses pembentukan sebagai berikut [5] :
1. Penentuan parameter kode BCH.
Parameter digunakan sebagai bahan dalam proses encode-decode kode
BCH. Parameter tersebut meliputi :
o Variabel 𝑚
o Panjang blok yang dikirim : 𝑛 = 2𝑚 − 1
o Panjang bit informasi :𝑘
o Error capability :𝑡
o Checkbit : 𝑐 = 𝑚 ⋅ 𝑡 (ketentuan 𝑛 − 𝑘 ≤ 𝑚𝑡)
Panjang bit informasi berpengaruh terhadap nilai parameter kode BCH.
Nilai parameter ditentukan berdasarkan Tabel 2.2.
26

Tabel 2.2 Nilai Parameter kode BCH [6].


M n k t m n k t m n k t n k t m n k t
3 7 4 1 63 24 7 127 50 13 255 187 9 255 71 29
4 15 11 1 18 10 43 14 179 10 63 30
7 2 16 11 36 15 171 11 55 31
5 3 10 13 29 21 163 12 47 42
5 31 26 1 7 15 22 23 155 13 45 43
21 2 7 127 120 1 15 27 147 14 37 45
16 3 113 2 8 31 139 15 29 47
11 5 106 3 8 255 247 1 131 18 21 55
6 7 99 4 239 2 123 19 13 59
6 63 57 1 92 5 231 3 115 21 9 63
51 2 85 6 223 4 107 22 9 511 502 1
45 3 78 7 215 5 99 23 493 2
39 4 71 9 207 6 91 25 484 3
36 5 64 10 199 7 87 26 475 4
30 6 57 11 191 8 79 27 466 5

m n k t n k t n k t m n k T n k t
9 511 457 6 511 322 22 511 193 43 511 58 91 1023 933 9
448 7 313 23 184 45 49 93 923 10
439 8 304 25 175 46 40 95 913 11
430 9 295 26 166 47 31 109 903 12
421 10 286 27 157 51 28 111 893 13
412 11 277 28 148 53 19 119 883 14
403 12 268 29 139 54 10 121 873 15
394 13 259 30 130 55 10 1023 1013 1 863 16
385 14 250 31 121 58 1003 2 858 17
376 15 241 36 112 59 993 3
367 16 238 37 103 61 983 4
358 18 229 38 94 62 973 5
349 19 220 39 85 63 963 6
340 20 211 41 76 85 953 7
331 21 202 42 67 87 943 8

2. Bentuk Galois Field, GF (2𝑚 ).


Pembentukan GF array (2𝑚 ) menentukan nilai 𝑚 dan primpoly. Variabel
m adalah bilangan bulat antara 0 sampai 16. Primpoly adalah koefisien
polinomial atau representasi integer dari primitive polynomial dimana
memiliki nilai bilangan bulat antara 2 sampai 16. Penentuan variabel 𝑚 dan
primpoly dapat dilihat berdasarkan Tabel 2.3.
27

Tabel 2.3 Primitive Polynomial.


m Default Primitive Polynomial Integer Representation
1 X+1 3
2 X^2 + X + 1 7
3 X^3 + X + 1 11
4 X^4 + X + 1 19
5 X^5 + X^2 + 1 37
6 X^6 + X + 1 67
7 X^7 + X^3 + 1 137
8 X^8 + X^4 + X^3 + X^2 + 1 285
9 X^9 + X^4 + 1 529
10 X^10 + X^3 + 1 1033
11 X^11 + X^2 + 1 2053
12 X^12 + X^6 + X^4 + X + 1 4179
13 X^13 + X^4 + X^3 + X +1 8219
14 X^14 + X^10 + X^6 + X + 1 17475
15 X^15 +X +1 32771
16 X^16 + X^12 + X^3 + X + 1 69643

3. Menentukan minimal polynomial sebanyak 2𝑡 − 1 buah.


4. Bentuk Generator polynomial (𝑔(𝑥)).
Membentuk 𝑔(𝑥) dengan cara mencari kelipatan persekutuan terkecil dari
hasil perkalian semua minimal polynomial.
5. Bit informasi telah terbentuk, tambahkan bit 0 dibelakangnya sebanyak
checkbit (𝑐).
6. Gabungan bit biner dengan bit 0 dibagi dengan bit 𝑔(𝑥).
7. Hasil dari operasi pembagian merupakan checkbit (𝑣(𝑥)).
8. Data informasi (𝑉(𝑥)) yang akan dikirim berupa bit informasi dan checkbit.

2.5.2 Decode BCH Code

Decode BCH Code merupakan proses error detection dan error correction.
Decode BCH Code mendeteksi error serta mengoreksi jika error ditemukan [5].
Data bit yang didapatkan pada proses encode BCH code menjadi data input pada
proses decode BCH Code. Adapun proses decode BCH Code sebagai berikut :
28

1. Data bit yang akan dikirim (𝑉(𝑥)) dibagi dengan generator polynomial
(𝑔(𝑥)).
𝑉(𝑥)
(1)
𝑔(𝑥)
Apabila hasil pembagian = 0, maka tidak ada error. Namun, apabila hasil
pembagian = 0, itu berarti terdapat error dan harus melalui proses koreksi.
2. Menentukan nilai minimal polynomial (2𝑡).
3. Menghitung syndrome dari codeword (𝑆1 , … , 𝑆2𝑡 ).
4. Membentuk Tabel BCH (algoritma Peterson-Berlekamp).
5. Hasil dari Tabel BCH ( 𝜎 (𝑛) (𝑥) ) adalah polinomial yang berfungi
mendeteksi lokasi jika terdapat error.
6. Menentukan akar persamaan polinomial dengan metode trial dan error.
7. Menentukan nilai kebalikan dari akar persamaan polinomial. Nilai tersebut
merupakan posisi dari bit error.

2.6 Encoding dan Decoding QR-Code

QR-Code merupakan teknik mengubah data informasi menjadi kode 2


dimensi. Data informasi berupa pesan teks, nomor, URL, dan lainnnya. Encoding
QR-Code mengubah data informasi menjadi QR-Code. Decoding QR-Code
mengubah simbol menjadi data informasi.

2.6.1 Encoding QR-Code

Encoding QR-Code merupakan proses mengubah data masukan menjadi


simbol QR-Code. Selain itu, proses encoding menentukan spesifikasi dari QR-
Code. Pengkodean error correction dilakukan pada proses tersebut. Gambar 2.5
menunjukan proses encoding QR-Code.
29

MULAI 1

Analisis Input Data Penempatan Modul

Pengkodean Data Masking Data

Pengkodean error correction Informasi format dan versi

Structure final message Keluaran simbol QR-Code

1 SELESAI

Gambar 2.5 Proses Encoding QR-Code.

Proses diawali dengan analisis input data. Selanjutnya data dikodekan


menjadi bit. Pada proses encoding dilakukan konfigurasi spesifikasi QR-Code
berupa format dan versi. Berikut merupakan tahapan pada proses encoding QR-
Code :

1. Analisis data
QR-Code mengkodekan serangkaian teks dengan empat mode yaitu
numeric, alphanumeric, byte, dan kanji [1]. Setiap metode pengkodean
dioptimalkan untuk mengkodekan data dengan sekumpulan bit sesingkat
mungkin. Oleh karena itu analisis data digunakan untuk mengetahui apakah
data yang dikodekan dalam mode numeric, alphanumeric, byte, atau kanji
[1].
2. Pengkodean data
Data diubah menjadi serangkaian bit yang dipecah menjadi data codewords
yang masing-masing memiliki 8 bit.
3. Pengkodean error correction
Pengkodean menghasilkan string bit data sebagai error correction
codewords [1]. Pemindai QR-Code membaca codewords data dan error
correction codewords. Dengan membandingkan keduanya, pemindai dapat
menentukan benar atau tidak dalam melakukan pemindaian. Jika pemindai
tidak membaca dengan benar, maka dapat memperbaiki kesalahan.
30

4. Structure Final Message


Mengatur data dan error correction codewords yang dihasilkan. Data dan
error correction disisipkan sesuai dengan spesifikasi QR-Code.
5. Penempatan modul
Proses menempatkan bit pada matriks QR-Code. Codewords disusun dalam
matrik dengan cara tertentu.
6. Masking data
Mengubah pola modul sesuai spesifikasi QR-Code. Spesifikasi
mendefinisikan delapan mask pattern.
7. Informasi format dan versi
Format dan informasi versi ditambahkan ke dalam QR-Code dengan
menambahkan piksel pada area kode tertentu. Format piksel
mengidentifikasi tingkat error correction dan mask pattern yang digunakan
dalam QR-Code.

2.6.2 Decoding QR-Code

Decoding QR-Code merupakan proses mengubah simbol QR-Code menjadi


data informasi. Ada beberapa tahap dalam melakukan proses tersebut. Proses
decode QR-Code diawali dengan identifikasi simbol. Kemudian, simbol QR-Code
diekstrak agar mengetahui format informasi dan versi QR-Code. Simbol data dan
error correction diubah menjadi bit kemudian bit diidentifikasi apakah terdapat
error atau tidak. Gambar 2.6 menunjukan proses decode QR-Code.
31

MULAI 1

Pengenalan modul
Error
Detection
Ekstrak format informasi

No error
Error
Penentuan informasi versi
Error correction

Melepas masking
Decode Data Codewords

Mengembalikan data & error


correction codewords Keluaran data informasi

END
1

Gambar 2.6 Proses Decoding QR-Code.

Berikut merupakan tahapan proses decode QR-Code:


1. Pengenalan modul
Mengenali modul gelap dan terang sebagai deretan bit “0” dan “1” dengan
mencari dan mendapatkan gambar simbol.
2. Ekstrak format informasi
Decode format informasi, melepaskan pola masking dan menerapkan error
correction.
3. Penentuan informasi versi
Menentukan versi simbol QR-Code.
4. Melepas masking
MenXORkan decoding region bit dengan pola mask yang referensinya telah
diekstras dari format informasi [1].
5. Mengembalikan data dan error correction
Mengubah simbol menjadi bit data dan bit error correction codewords.
6. Error detection dan error correction
Mengidentifikasi error dan memperbaiki dengan memanfaatkan error
correction codewords.
32

7. Decode Data Codewords


Membagi data codewords menjadi beberapa segmen sesuai indikator mode
dan indikator jumlah karakter [1]. Decode karakter data sesuai mode yang
digunakan dan output teks yang diterjemahkan sebagai hasilnya.

2.7 MATLAB

MATLAB merupakan singkatan dari Matrix Laboratory [10] . MATLAB


adalah bahasa pemograman dengan kinerja tinggi untuk komputasi teknis.
MATLAB berhubungan dengan ilmu komputasi, visualisasi dan pemrograman
[10]. MATLAB memiliki struktur data yang canggih, terdapat built-in untuk
mengedit dan debugging tools, serta mendukung pemrograman berorientasi objek.
Hal tersebut menjadikan MATLAB sebagai bahan pengajaran dan penelitian.
MATLAB memiliki banyak keunggulan dibanding dengan bahasa komputer
konvensional (C, FORTRAN) [10]. MATLAB merupakan sistem interaktif dengan
elemen data dasarnya berupa array yang tidak memerlukan dimensi.

2.8 Android

Android adalah sistem operasi mobile bersifat open source yang dimiliki
oleh perusahaan Google [2]. Android dikembangkan menggunakan kernel linux.
Android merupakan sistem operasi mobile paling populer yang beroperasi pada
miliaran perangkat. Android dikenal pertama kali pada tahun 2008, dengan merilis
Android Beta versi 1.0.

2.8.1 Arsitektur Android

Android sebagai sistem operasi neniliki beberapa layer diantaranya:


a. Linux kernel
Linux kernel merupakan layer dasar dari sistem android, berisi file file sistem
seperti system processing, memory, resource, drivers dan lainnya.
33

b. Libraries
Pada layer ini terdapat fitur-fitur android yang digunakan untuk menjalankan
aplikasi. Beberapa libraries diantaranya :
• Libraries media
• Libraries manajemen tampilan
• Libraries graphics
• Libraries SQLite
• Libraries SSL dan WebKit
• Libraries Live Webcore
• Libraries 3D
c. Android Runtime
Layer ini digunakan untuk menjalankan aplikasi di android menggunakan
implementasi dari linux. Adapun bagian-bagiannya meliputi :
• Core Libraries, berfungsi menerjemahkan bahasa java atau bahasa C.
• Dalvik Virtual Machine, sebuah mesin untuk menjalankan fungsi-fungsi
android.
d. Aplication framework
Layer ini berisi komponen-komponen yang digunakan untuk membuat alikasi.
Adapun komponen-komponennya sebagai berikut:
• Views
• Content Providers
• Resource Manager
• Notification Manager
• Activity Manager
e. Applications and Widget
Layer yang berhubungan dengan aplikasi inti yang berjalan pada sistem
android.

2.8.2 Android Studio

Android studio merupakan IDE (Integrated Development Enviroment)


pemograman android resmi dari Google yang dikembangkan dari intellij [11].
34

Android studio memiliki banyak fitur yang memudahkan programmer belajat


tentang android. Beberapa fitur yang ada pada Android Studio sebagai berikut [11]:
1. Editor kode yang cerdas
Memiliki fitur intelligent code editor dimana dalam menganalisis kode jadi
lebih mudah serta memberikan saran kode yang digunakan dengan sistem
auto complete.
2. Emulator yang cepat dan kaya fitur
Emulator lebih cepat dan dapat mensimulasikan aplikasi di berbagai
perangkat android.
3. Sistem versi yang fleksibel
Menawarkan otomatisasi versi, manajemen dependensi, dan konfigurasi
versi yang dapat disesuaikan.
4. Dioptimalkan untuk semua perangkat android
Dapat membuat aplikasi dan mensimulasikan di berbagai perangkat android.
5. Didesain untuk tim
Integrasi dengan Git dan Subversion. Dapat menggunakan layanan github
langsung dari android studio.
6. Integrasi firebase dan cloud
Menghubungkan aplikasi dengan layanan firebase dan cloud.

2.9 Firebase

Firebase merupakan BaaS (Backend as a Service) yang dimiliki oleh


Google [13]. Firebase menawarkan solusi untuk mempermudah pekerjaan Mobile
Apps Developer. Firebase dapat digunakan untuk platfrom iOS, Android, dan Web
[10]. Beberapa fitur dari yang dimiliki Firebase sebagai berikut [13]:

1. Firebase Analytics
2. Firebase Cloud Messaging and Notifications
3. Firebase Authentication
4. Firebase Remote Config
5. Firebase Real Time Database
6. Firebase Crash Reporting
35

2.9.1 Firebase Authentication

Sebagian besar aplikasi menggunakan authentication login untuk


mengetahui identitas pengguna. Hal tersebut berfungsi menjaga secara aman data
pengguna. Firebase menyediakan layanan backhend, SDK yang mudah digunakan
untuk mengautentikasi pengguna ke dalam aplikasi [12]. Firebase dapat
mendukung autentikasi menggunakan sandi, sosial media seperti Google,
Facebook, Twitter, dan lainnya [12]. Beberapa fitur yang terdapat pada firebase
authentication sebagai berikut:
1. Registrasi
Pengguna pertama kali mengakses aplikasi dapat mengisi form registrasi
sederhana. Form registrasi tergantung dukungan autentikasi apa yang
digunakan. Setelah selesai registrasi. Secara otomatis akan masuk ke
aplikasi.
2. Login
Pengguna yang telah berhasil melakukan registrasi dapat mengakses
aplikasi.
3. Logout
Pengguna logout atau keluar dari aplikasi.

2.9.2 Firebase Realtime Database

Firebase realtime database merupakan cloud database. Data disimpan


dengan format JSON dan disinkronkan secara realtime ke setiap klien yang
terhubung [12]. Setiap klien yang terhubung dengan firebase dapat secara otomatis
menerima pembaruan data. Firebase realtime databse adalah basis data NoSQL dan
memiliki optimalisasi dan fungsionalitas yang berbeda dengan basis data relasional
[12]. Membuat database firebase bisa melalui import file JSON ke konsol firebase,
atau dapat melalui halaman konsol Realtime Database [12].
36

2.10 Black Box Testing

Black box testing merupakan bentuk pengujian suatu software. Pengujian


tersebut difokuskan pada hasil software tanpa melihat proses internal yang terjadi
seperti pemograman, desain, maintenance dan lain-lain [14]. Black box testing
menggunakan metode pengujian yang menguji fungsionalitas aplikasi [14]. Berikut
fungsi dari black box testing sebagai berikut:
1. Menemukan fungsi tidak benar atau hilang dalam software.
2. Mencari kesalahan interface pada saat software dijalankan.
3. Mengetahui kesalahan struktur data atau akses database eksternal pada
aplikasi.
4. Menguji kinerja software.
5. Menginisialisasi dan mencari kesalahan terminasi software.
Pengujian aplikasi dilakukan berdasarkan fungsionalitas dari aplikasi
tersebut. Perancangan menguji proses yang benar dan tidak benar serta
menghasilkan keluaran yang sesuai. Hasil dari pengujian menjadi indikator baik
tidaknya software.
BAB III
PERANCANGAN SISTEM

3.1 Konfigurasi Sistem

Sistem secara umum terbagi menjadi tiga kategori meliputi sistem encoder,
sistem hardware, dan sistem decoder. Sistem mendesain dan mensimulasikan QR-
Code untuk sistem presensi berbasis android. Gambar 3.1 menunjukan konfigurasi
sistem.

KONFIGURASI SISTEM

Sistem Sistem Sistem


Encoder Hardware Decoder

Gambar 3.1 Konfigurasi Sistem.

Sistem encoder diprogram menggunakan MATLAB. Adapun sistem


hardware meliputi perangkat android untuk melakukan proses deteksi QR-Code
dan kartu pelajar. Sistem decoder merupakan proses deteksi QR-Code
menggunakan aplikasi yang diprogram dengan Android Studio.

3.2 Sistem Encoder

Sistem encoder merupakan proses pengkodean data informasi menjadi QR-


Code. Proses encode QR-Code dilakukan dengan melibatkan kode BCH sebagai
error correction. Gambar 3.2 menunjukan proses sistem encoder QR-Code:

Encode-
Data Encode QR- Output Simbol
Decode
Informasi Code QR-Code
BCH
Code

Gambar 3.2 Blok Diagram Sistem Encoder.

37
38

Data informasi menjadi inputan pada proses encode QR-Code. Data


informasi berupa Nomor Induk Siswa Nasional (NISN). Encode QR-Code
merupakan proses pengkodean data menjadi simbol QR-Code. Hasil dari proses
encode menjadi inputan proses encode-decode BCH Code. Sistem encoder
menghasilkan keluaran berupa simbol QR-Code.

3.2.1 Encode QR-Code

Encode QR-Code mengkodekan data menjadi bit matriks. Sebelum itu,


sistem mengkonfigurasi QR-Code sesuai spesifikasi yang diinginkan. Gambar 3.3
menunjukan proses encode QR-Code.

Input Data Validasi


Setting Encoding Bit
Numeric (10 Input
QR-Code QR-Code Matriks
Angka) Data

Gambar 3.3 Blok Diagram Encode QR-Code.

Input data berupa text mode numeric. Input data berisi sepuluh angka
(NISN). Kemudian, sistem melakukan konfigurasi QR-Code. Konfigurasi tersebut
berpengaruh terhadap format QR-Code. Pada penelitian ini, paramater konfigurasi
QR-Code meliputi 𝑐ℎ𝑎𝑟𝑎𝑐𝑡𝑒𝑟𝑠𝑒𝑡 = 𝑈𝑇𝐹 8 , 𝑉𝑒𝑟𝑠𝑖 𝑄𝑅 − 𝐶𝑜𝑑𝑒 = 1 ,
𝑖𝑛𝑖𝑡𝑖𝑎𝑙 𝑠𝑖𝑧𝑒 = 117 dimana merupakan ukuran citra QR-Code, 𝑞𝑢𝑖𝑡𝑒𝑧𝑜𝑛𝑒 𝑠𝑖𝑧𝑒 =
4 yaitu menambahkan quite zone pada QR-Code, 𝑠𝑖𝑧𝑒 = [𝑖𝑛𝑖𝑡𝑖𝑎𝑙 𝑠𝑖𝑧𝑒 + 4 ⋅
𝑣𝑒𝑟𝑠𝑖 𝑄𝑅 − 𝐶𝑜𝑑𝑒, 𝑖𝑛𝑖𝑡𝑖𝑎𝑙 𝑠𝑖𝑧𝑒 + 4 ⋅ 𝑣𝑒𝑟𝑠𝑖 𝑄𝑅 − 𝐶𝑜𝑑𝑒] sehingga 𝑠𝑖𝑧𝑒 = [117 +
4 ⋅ 1, 117 + 4 ⋅ 1] atau [121 121] dimana merupakan ukuran QR-Code.
Selanjutnya, input data divalidasi untuk mengetahui mode input berupa numeric,
alphanumeric, byte, atau kanji. Proses selanjutnya, input data dikodekan menjadi
serangkaian bit yang dipecah menjadi codewords sesuai dengan konfigurasi QR-
Code. Bit-bit tersebut dipetakan menjadi bit matriks dengan ukuran [121 121].
39

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 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 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 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1
1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 1 0 1 1 1 1
1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 1 1
1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 1 1 1 0 1 0 0 0 1 0 1 1 1 1
1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 1 1 1 1
1 1 1 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1 0 1 1 1 1 1 0 1 1 1 1
1 1 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 0 1 0 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 1 1 1 1
1 1 1 1 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 0 1 1 1 1
1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1
1 1 1 1 0 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 1 1
1 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1
1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1
1 1 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1 1
1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 1 1 1
1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 1 1 1 0 1 1 1 1 1 1
1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 1 1
1 1 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1
1 1 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 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 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 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 1 1 1 1

Gambar 3.4 Contoh Bit Matriks.


Bit matriks merupakan sekumpulan bit (0 dan 1) yang dipetakan
berdasarkan konfigurasi QR-Code. Gambar 3.4 menunjukan contoh dari bit matriks.
Pada Gambar 3.4, konfigurasi QR-Code meliputi 𝑐ℎ𝑎𝑟𝑎𝑐𝑡𝑒𝑟𝑠𝑒𝑡 = 𝑈𝑇𝐹 8 ,
𝑉𝑒𝑟𝑠𝑖 𝑄𝑅 − 𝐶𝑜𝑑𝑒 = 1 , 𝑖𝑛𝑖𝑡𝑖𝑎𝑙 𝑠𝑖𝑧𝑒 = 25 , 𝑞𝑢𝑖𝑡𝑒𝑧𝑜𝑛𝑒 𝑠𝑖𝑧𝑒 = 4 , 𝑠𝑖𝑧𝑒 =
[𝑖𝑛𝑖𝑡𝑖𝑎𝑙 𝑠𝑖𝑧𝑒 + 4 ⋅ 𝑣𝑒𝑟𝑠𝑖 𝑄𝑅 − 𝐶𝑜𝑑𝑒, 𝑖𝑛𝑖𝑡𝑖𝑎𝑙 𝑠𝑖𝑧𝑒 + 4 ⋅ 𝑣𝑒𝑟𝑠𝑖 𝑄𝑅 − 𝐶𝑜𝑑𝑒]
sehingga 𝑠𝑖𝑧𝑒 = [25 + 4 ⋅ 1, 25 + 4 ⋅ 1] atau [29 29].

3.2.2 Encode BCH Code

Setelah mendapatkan bit matriks, proses selanjutnya adalah error


correction coding. Penelitian menggunakan BCH Code sebagai error correction
code. Encode BCH Code membentuk checkbit yang akan dikirim dengan bit
matriks. Gambar 3.5 menunjukan proses encode BCH Code.

Bit b(x ) Bit


Minimal Generator
Bit GF( matriks mod matriks
Polynomial polynomial
matriks 2m) + bit 0 g(x) = dan
(2t-1) (g(x))
= b(x) v(x) v(x)

Gambar 3.5 Blok Diagram Encode BCH Code.


40

Hal pertama yang dilakukan adalah membentuk Galois Field array (2𝑚 )
dengan parameter yaitu 𝑚 = 9 , 𝑛 = 2𝑚 − 1 = 511 𝑏𝑖𝑡 dimana 𝑛 adalah
codeword length, 𝑘 = 121 dimana 𝑘adalah panjang input, 𝑡 = 58 dimana 𝑡 adalah
kemampuan koreksi kesalahan, dan 𝑐 = 𝑚 ⋅ 𝑡 = 522 𝑏𝑖𝑡 dimana 𝑐 adalah checkbit.
Penentuan parameter berdasarkan Tabel 2.2. Pembentukan GF array ( 2𝑚 )
menentukan nilai 𝑚 dan primpoly. Setelah melalui proses pembentukan GF,
didapatkan nilai 𝑚 = 9 dan 𝑝𝑟𝑖𝑚𝑝𝑜𝑙𝑦 = 529. Penentuan nilai 𝑚 dan primpoly
berdasarkan Tabel 2.3. Selanjutnya, menentukan minimal polynomial (2𝑡 − 1).
Untuk 𝑡 = 58 , terdapat 115 buah minimal polinomial, yaitu (𝑚1 (𝑥), … , 𝑚115 (𝑥)).
Kemudian membentuk generator polynomial (𝑔(𝑥)) dengan perhitungan 𝑔(𝑥) =
𝐾𝑃𝐾(𝑚1 (𝑥), … , 𝑚115 (𝑥)) . Langkah selanjutnya, menentukan 𝑏(𝑥) dimana
merupakan bit matriks ditambah bit 0 sebanyak 522 buah. Hitung nilai checkbit
(𝑣(𝑥)) dengan rumus 𝑏(𝑥)𝑚𝑜𝑑 𝑔(𝑥).

Gambar 3.6 Contoh bit matriks dan checkbit (𝑣(𝑥)).

Bit matriks dan checkbit merupakan hasil proses encode BCH Code.
Gambar 3.6 menunjukan bit matriks dan checkbit (𝑣(𝑥)). Hasil tersebut kemudian
menjadi inputan pada proses decode BCH Code.
Penelitian ini menggunakan contoh bit pesan agar memudahkan
pemahaman dalam proses encode-decode BCH Code. Bit pesan (p(x)) yang
digunakan adalah 0000000001000001 (16 bit) dengan ketentuan parameter 𝑚 = 5,
𝑛 = 2𝑚 − 1 = 25 − 1 = 31 𝑏𝑖𝑡 , 𝑘 = 16 𝑏𝑖𝑡 , 𝑡 = 3 , dan 𝑐 = 𝑚 ⋅ 𝑡 = 5 ⋅ 3 =
15 𝑏𝑖𝑡 . Penentukan parameter berdasarkan Tabel 2.2. Proses perhitungannya
sebagai berikut :
41

• Bentuk Tabel Galois Field (GF(25 )).


Berdasarkan Tabel 2.3, untuk 𝑚 = 5, primitive polynomial yang digunakan
adalah :
𝑝(𝑋) = 𝑋 5 + 𝑋 2 + 1,
ganti variabel X dengan 𝛼:
𝑝(𝛼) = 𝛼 5 + 𝛼 2 + 1 = 0,
sehingga :
|𝛼 5 | = −𝛼 2 − 1,
𝛼 5 = 𝛼 2 + 1,
Diperoleh bentuk polinomial untuk 𝛼 6 − 𝛼 30 sebagai berikut :
𝛼 6 = 𝛼 ⋅ 𝛼 5 = 𝛼(𝛼 2 + 1) = 𝛼 3 + 𝛼
𝛼 7 = 𝛼 ⋅ 𝛼 6 = 𝛼(𝛼 3 + 𝛼) = 𝛼 4 + 𝛼 2

𝛼 30 = 𝛼 + 𝛼 4 ,
Untuk lebih detail, lihat Tabel 3.1.

Tabel 3.1 Galois Field GF (25 ).

32 elements generated by 𝒙𝟓 + 𝒙𝟐 + 𝟏
Exponential Polynomial Notation Binary Notation
Notation
0 0 00000
1 1 00001
𝛼 𝛼 00010
2 2
𝛼 𝛼 00100
𝛼3 𝛼3 01000
4 4
𝛼 𝛼 10000
5 2
𝛼 𝛼 +1 00101
6 3
𝛼 𝛼 +𝛼 01010
7 4 2
𝛼 𝛼 +𝛼 10100
8 3 2
𝛼 𝛼 +𝛼 +1 01101
9 4 3
𝛼 𝛼 +𝛼 +𝛼 11010
10 4
𝛼 𝛼 +1 10001
11 2
𝛼 𝛼 +𝛼+1 00111
12 3 2
𝛼 𝛼 +𝛼 +𝛼 01110
13 4 3 2
𝛼 𝛼 +𝛼 +𝛼 11100
14 4 3 2
𝛼 𝛼 +𝛼 +𝛼 +1 11101
15 4 3 2
𝛼 𝛼 +𝛼 +𝛼 +𝛼+1 11111
16 4 3
𝛼 𝛼 +𝛼 +𝛼+1 11011
42

𝛼17 𝛼4 + 𝛼 + 1 10011
𝛼18 𝛼+1 00011
𝛼 19 𝛼2 + 𝛼 00110
𝛼 20 𝛼3 + 𝛼2 01100
𝛼 21 𝛼4 + 𝛼3 11000
𝛼 22 𝛼4 + 𝛼2 + 1 10101
𝛼 23 𝛼3 + 𝛼2 + 𝛼 + 1 01111
𝛼 24 𝛼4 + 𝛼3 + 𝛼2 + 𝛼 11110
𝛼 25 𝛼4 + 𝛼3 + 1 11001
𝛼 26 𝛼4 + 𝛼2 + 𝛼 + 1 10111
𝛼 27 𝛼3 + 𝛼 + 1 01011
𝛼 28 𝛼4 + 𝛼2 + 𝛼 10110
𝛼 29 𝛼3 + 1 01001
𝛼 30 𝛼4 + 𝛼 10010

• Menentukan minimal polynomial (2𝑡 − 1) buah.


Diketahui nilai 𝑡 = 3. Jumlah minimal polynomial adalah 2𝑡 − 1 = 2 ⋅ 3 −
1 = 5 buah. Nilai minimal polynomial ditentukan berdasarkan Tabel 3.2.

Tabel 3.2 Minimal Polynomial GF (25 ).

E Pangkat Konjugasi Minimal Polyomial


𝛼1 𝛼 2 , 𝛼 4 , 𝛼 8 , 𝛼 16 𝑚1 (𝑥) = 1 + 𝑥 2 + 𝑥 5
𝛼3 𝛼 6 , 𝛼 12 , 𝛼 24 , 𝛼 48 = 𝛼 17 𝑚3 (𝑥) = 1 + 𝑥 2 + 𝑥 3 + 𝑥 4 + 𝑥 5
𝛼5 𝛼 10 , 𝛼 20 , 𝛼 40 = 𝛼 9 , 𝛼 80 = 𝛼 18 𝑚5 (𝑥) = 1 + 𝑥 2 + 𝑥 4 + 𝑥 5
𝛼7 𝛼 14 , 𝛼 28 , 𝛼 56 = 𝛼 25 , 𝛼 112 = 𝛼 19 𝑚7 (𝑥) = 1 + 𝑥 2 + 𝑥 3 + 𝑥 5
𝛼 11 𝛼 22 , 𝛼 44 = 𝛼 13 , 𝛼 88 = 𝛼 26 𝑚11 (𝑥) = 1 + 𝑥 3 + 𝑥 4 + 𝑥 5
𝛼 15 𝛼 30 , 𝛼 60 = 𝛼 29 , 𝛼 120 = 𝛼 27 𝑚15 (𝑥) = 1 + 𝑥 3 + 𝑥 5

Untuk 𝑡 = 3, terdapat 5 buah minimal polynomial, 𝑚1 (𝑥) … 𝑚5 (𝑥) dengan


nilai sebagai berikut :

𝑚1 (𝑥) = 𝑥 5 + 𝑥 2 + 1
𝑚2 (𝑥) = 𝑥 5 + 𝑥 2 + 1
𝑚3 (𝑥) = 𝑥 5 + 𝑥 4 + 𝑥 3 + 𝑥 2 + 1
𝑚4 (𝑥) = 𝑥 5 + 𝑥 2 + 1
𝑚5 (𝑥) = 𝑥 5 + 𝑥 4 + 𝑥 2 + 𝑥 + 1
• Menentukan generator polynomial (𝑔(𝑥)).
Menentukan nilai 𝑔(𝑥) dengan mencari KPK dari 𝑚1 (𝑥) … 𝑚5 (𝑥).
𝑔(𝑥) = 𝐾𝑃𝐾(𝑚1 (𝑥) … 𝑚5 (𝑥))
43

𝑔(𝑥) = 𝐾𝑃𝐾((𝑥 5 + 𝑥 2 + 1)(𝑥 5 + 𝑥 2 + 1)(𝑥 5 + 𝑥 4 + 𝑥 3 + 𝑥 2 + 1)(𝑥 5


+ 𝑥 2 + 1)( 𝑥 5 + 𝑥 4 + 𝑥 2 + 𝑥 + 1))
𝑔(𝑥) = (𝑥 5 + 𝑥 2 + 1)( 𝑥 5 + 𝑥 4 + 𝑥 3 + 𝑥 2 + 1)(𝑥 5 + 𝑥 4 + 𝑥 2 + 𝑥 + 1)
𝑔(𝑥) = 𝑥15 + 𝑥11 + 𝑥10 + 𝑥 9 + 𝑥 8 + 𝑥 7 + 𝑥 5 + 𝑥 3 + 𝑥 2 + 𝑥 + 1
𝑔(𝑥) = 1000111110101111
• Menambahkan bit 0 sebanyak 𝑐 = 15 𝑏𝑖𝑡 di belakang bit pesan.
𝑏(𝑥) = 0000000001000001 + 000000000000000
𝑏(𝑥) = 0000000001000001000000000000000
• Menghitung nilai checkbit (𝑣(𝑥)).
𝑣(𝑥) = 𝑏(𝑥) 𝑚𝑜𝑑 𝑔(𝑥)
𝑣(𝑥) = 0000000001000001000000000000000 𝑚𝑜𝑑 1000111110101111
𝑣(𝑥) = 100101000100010
• Blok bit yang dikirimkan adalah bit pesan dan checkbit.
𝑝(𝑥) | 𝑣(𝑥) = 0000000001000001 | 100101000100010

3.2.3 Decode BCH Code

Decode BCH Code merupakan proses deteksi error dan koreksi error. Bit
matriks dan checkbit menjadi inputan pada proses ini. Bit matriks dan checkbit
dicek terlebih dahulu agar diketahui apakah terdapat error atau tidak. Gambar 3.7
menunjukan diagram alir proses decode BCH Code.
44

Sisa modulo = 0, Tidak terdapat error

(Bit matriks | v(x)) Pendeteksi 1


mod g(x) = V(x) error
Sisa modulo ≠ 0
Terdapat error Error locator
116 minimal polynomial
polynomial

Akar persamaan
Syndrome polinomial
polynommial
(s1(x), ... , s116(x))
Nilai kebalikan
Pengkoreksian dari akar
Substitusi 𝛼 ke error polynomial
persamaan
syndrome
Perbaiki bit pada
posisi error
Tabel BCH

Output symbol
1 QR-Code

Gambar 3.7 Diagram alir Decode BCH Code.

Proses pertama pada decode BCH Code adalah pengecekan apakah terdapat
error atau tidak. Pengecekan tersebut dilakukan dengan rumus
𝑏𝑖𝑡 𝑚𝑎𝑡𝑟𝑖𝑘𝑠 | 𝑐ℎ𝑒𝑐𝑘𝑏𝑖𝑡 (𝑣(𝑥))𝑚𝑜𝑑 𝑔(𝑥) . Hasil mod dinamakan 𝑉(𝑥) . Jika
𝑉(𝑥) = 0, maka tidak terdapat error dan bit matriks dikonversi menjadi barcode
format QR-Code. Jika 𝑉(𝑥) ≠ 0 , maka terdapat error kemudian melanjutkan
proses koreksi error.

Gambar 3.8 Contoh sisa modulo 𝑉(𝑥) ≠ 0, terdapat error.

Gambar 3.8 menunjukan nilai 𝑉(𝑥) ≠ 0, artinya bit matriks terdapat error.
Langkah selanjutnya menghitung nilai minimal polynomial (2𝑡) yang berjumlah
45

116. Kemudian hitung syndrome dari 116 minimal polynomial


( 𝑉(𝑥) 𝑚𝑜𝑑 𝑚1 (𝑥), … , 𝑉(𝑥) 𝑚𝑜𝑑 𝑚116 (𝑥) ) . Selanjutnya, substitusi 𝛼 ke
persamaan tiap syndrome. Bentuk Tabel BCH dengan algoritma Peterson-
Berlekamp. Hasil dari tabel tersebut merupakan polinomial pendeteksi lokasi error
(𝜎(𝑥)) . Cari akar dari polinomial pendeteksi lokasi error dengan algoritma trial
and error (mengganti nilai 𝜎(𝑥) persamaan polinomial lokasi error dengan field
element pada GF (2𝑚 ), (𝛼 𝑘 ), dengan ketentuan 0 ≤ 𝑘 ≤ 511, dan 𝜎(𝛼 𝑘 ) = 0).
Posisi bit error adalah nilai kebalikan dari akar yang diperoleh. Selanjutnya,
perbaiki bit pada posisi yang error dengan membalikan nilai bit.

Gambar 3.9 Keluaran simbol QR-Code.

Bit matriks berhasil diperbaiki dan dikonversi menjadi barcode format QR-
Code. Gambar 3.9 menunjukan keluaran simbol QR-Code. Simbol QR-Code
merupakan hasil proses sistem encoder.
Pada pembahasan sebelumnya, telah didapatkan blok bit yang dikirim yaitu
𝑝(𝑥) | 𝑣(𝑥) = 0000000001000001 | 100101000100010. Blok bit tersebut mendapat
gangguan saat transmisi data, sehingga blok bit yang diterima menjadi :
𝑝(𝑥) | 𝑣(𝑥) = 000𝟏0000𝟏1000001 | 10010𝟎000100010
Proses pendeteksi dan pengkoreksi error sebagai berikut :
• Menghitung nilai modulus [𝑝(𝑥)|𝑣(𝑥)] 𝑚𝑜𝑑 𝑔(𝑥).
𝑉(𝑥) = 000𝟏0000𝟏100000110010𝟎000100010 𝑚𝑜𝑑 1000111110101111
𝑉(𝑥) = 1111110111010 (nilai modulus ≠ 0, terdapat error)
• Menentukan nilai minimal polynomial (2𝑡) yang berjumlah 6 buah
𝑚1 (𝑥) = 𝑥 5 + 𝑥 2 + 1 = 100101
𝑚2 (𝑥) = 𝑥 5 + 𝑥 2 + 1 = 100101
𝑚3 (𝑥) = 𝑥 5 + 𝑥 4 + 𝑥 3 + 𝑥 2 + 1 = 111101
46

𝑚4 (𝑥) = 𝑥 5 + 𝑥 2 + 1 = 100101
𝑚5 (𝑥) = 𝑥 5 + 𝑥 4 + 𝑥 2 + 𝑥 + 1 = 110111
𝑚6 (𝑥) = 𝑥 5 + 𝑥 4 + 𝑥 3 + 𝑥 2 + 1 = 111101
• Menghitung persamaan syndrome dari keenam minimal polynomial
tersebut :
𝑠1 (𝑥) = 𝑉(𝑥) 𝑚𝑜𝑑 𝑚1 (𝑥)
𝑠1 (𝑥) = 0001000011000001100100000100010 𝑚𝑜𝑑 100101
𝑠1 (𝑥) = 100 = 𝑥 2

𝑠2 (𝑥) = 𝑉(𝑥) 𝑚𝑜𝑑 𝑚2 (𝑥)


𝑠2 (𝑥) = 0001000011000001100100000100010 𝑚𝑜𝑑 100101
𝑠2 (𝑥) = 100 = 𝑥 2

𝑠3 (𝑥) = 𝑉(𝑥) 𝑚𝑜𝑑 𝑚3 (𝑥)


𝑠3 (𝑥) = 0001000011000001100100000100010 𝑚𝑜𝑑 111101
𝑠3 (𝑥) = 11011 = 𝑥 4 + 𝑥 3 + 𝑥 + 1

𝑠4 (𝑥) = 𝑉(𝑥) 𝑚𝑜𝑑 𝑚4 (𝑥)


𝑠4 (𝑥) = 0001000011000001100100000100010 𝑚𝑜𝑑 100101
𝑠4 (𝑥) = 100 = 𝑥 2

𝑠5 (𝑥) = 𝑉(𝑥) 𝑚𝑜𝑑 𝑚5 (𝑥)


𝑠5 (𝑥) = 0001000011000001100100000100010 𝑚𝑜𝑑 110111
𝑠5 (𝑥) = 10010 = 𝑥 4 + 𝑥

𝑠6 (𝑥) = 𝑉 (𝑥) 𝑚𝑜𝑑 𝑚6 (𝑥)


𝑠6 (𝑥) = 0001000011000001100100000100010 𝑚𝑜𝑑 111101
𝑠6 (𝑥) = 11011 = 𝑥 4 + 𝑥 3 + 𝑥 + 1
• Substitusikan 𝛼 ke dalam persamaan syndrome.
𝑠1 (𝛼) = 𝛼 2
𝑠2 (𝛼 2 ) = (𝛼 2 )2 = 𝛼 4
𝑠3 (𝛼 3 ) = (𝛼 3 )4 + (𝛼 3 )3 + (𝛼 3 ) + 1 = 𝛼 12 + 𝛼 9 + 𝛼 3 + 1
𝑠4 (𝛼 4 ) = (𝛼 4 )2 = 𝛼 8
47

𝑠5 (𝛼 5 ) = (𝛼 5 )4 + (𝛼 5 ) = 𝛼 20 + 𝛼 5
𝑠6 (𝛼 6 ) = (𝛼 6 )4 + (𝛼 6 )3 + (𝛼 6 ) + 1 = 𝛼 24 + 𝛼18 + 𝛼 6 + 1
• Membentuk Tabel BCH menggunakan algoritma Peterson-Berlekamp
dengan ketentuan awal kondisi sebagai berikut :
𝜎 (−1) (𝑥) = 1; 𝜎 (0) (𝑥) = 1;
𝑙−1 = 0; 𝑙0 = 0;
𝑑−1 = 1; 𝑑0 = 𝑠1 ;
Hasil perhitungan dimasukan ke dalam Tabel 3.3.

Tabel 3.3 Algoritma Peterson-Berlekamp.

𝒏 𝝈(𝒏) 𝒙 𝒅𝒏 𝒍𝒏 𝒏 − 𝒍𝒏
- 1 1 0 -1
0 1 𝑠1 = 𝛼 2 0 0
1 𝛼2𝑥 + 1 0 1 0
2 𝛼2𝑥 + 1 𝛼 26 1 1
3 𝛼 24 𝑥 2 + 𝛼 2 𝑥 + 1 0 2 1
4 𝛼 24 𝑥 2 + 𝛼 2 𝑥 + 1 𝛼 20 2 2
5 𝛼 27 𝑥 3 + 𝛼 11 𝑥 2 + 𝛼 2 𝑥 + 1 0 3 2
6 𝛼 27 𝑥 3 + 𝛼 11 𝑥 2 + 𝛼 2 𝑥 + 1 - - -

• Error locator polynomial yang diperoleh adalah 𝛼 27 𝑥 3 + 𝛼11 𝑥 2 + 𝛼 2 𝑥 + 1.


• Mengganti nilai 𝜎(𝑥) pada persamaan 𝛼 27 𝑥 3 + 𝛼11 𝑥 2 + 𝛼 2 𝑥 + 1 dengan
field elements GF (25 ), 𝛼 𝑘 , dengan ketentuan 0 ≤ 𝑘 ≤ 31, dan 𝜎(𝛼 𝑘 ) = 0,
diperoleh 3 buah akar polynomial yaitu: 𝛼 4 , 𝛼 9 , 𝛼 22 .
• Posisi bit yang error adalah nilai kebalikan dari ketiga nilai akar diatas :
Kebalikan 𝛼 4 = 𝛼 31−4 = 𝛼 27 ➔ posisi bit error ke 27
Kebalikan 𝛼 9 = 𝛼 31−9 = 𝛼 22 ➔ posisi bit error ke 22
Kebalikan 𝛼 22 = 𝛼 31−22 = 𝛼 9 ➔ posisi bit error ke 9
• Perbaiki bit yang error dengan membalikan nilai bit.

000 1000 0110 0000 1100 1000 0010 0010


000 0000 0010 0000 1100 1010 0010 0010
48

3.3 Sistem Hardware

Pada tugas akhir ini, digunakan beberapa hardware untuk mendukung


penelitian. Smartphone berbasis android digunakan sebagai alat scanning pada
proses deteksi QR-Code. Selain itu, penggunaan kartu pelajar dimana terletak QR-
Code itu sendiri berfungsi sebagai media dalam proses deteksi QR-Code.

3.3.1 Perangkat Android (Smartphone)

Perangkat yang digunakan dalam uji coba penelitian adalah Sony Xperia C4
Dual (E5333). Perangkat tersebut berbasis android. Sistem operasi yang digunakan
adalah Android Marshmallow (6). Perangkat memiliki CPU Octa-core 1.7 GHz
Cortex-A53 dengan kamera 13 MP. Random Access Memory (RAM) yang tersedia
sebesar 2 GB

3.3.2 Kartu Pelajar (QR-Code)

Pada tugas akhir ini, kartu pelajar digunakan sebagai media dalam proses
deteksi QR-Code. Dibagian belakang kartu pelajar akan diletakan QR-Code masing
masing siswa. Gambar 3.10 menunjukan desain dari kartu pelajar.

(a) (b)

Gambar 3.10 Desain Kartu Pelajar (a) tampak depan, (b) tampak belakang.

Desain kartu pelajar disesuaikan dengan format pada umumnya. Data siswa
terletak pada bagian depan kartu pelajar. Simbol QR-Code terletak pada bagian
belakang kartu pelajar.
49

3.4 Sistem Decoder

Sistem decoder merupakan proses deteksi QR-Code menjadi data informasi.


Perangkat smartphone digunakan sebagai alat pendeteksi QR-Code dengan aplikasi
berbasis android. Aplikasi Smart Presence didesain menggunakan Android Studio
sebagai aplikasi pendeteksi QR-Code. Selain itu, sistem decoder menggunakan
kartu pelajar sebagai media dalam proses deteksi QR-Code.

3.4.1 Deteksi QR-Code

Deteksi QR-Code mengubah QR-Code menjadi data informasi. Secara garis


besar, proses deteksi diawali dengan identifikasi QR-Code. Kemudian, sistem
mengidentifikasi konfigurasi QR-Code. Proses selanjutnya, sistem mendekode QR-
Code menjadi data informasi. Gambar 3.11 menunjukan proses deteksi QR-Code.

Mengenali Ekstraksi Menentukan Melepaskan Error


Modul Decode data
Format Versi QR- Masking correction
(kamera)
Informasi Code

Gambar 3.11 Diagram alir deteksi QR-Code.

Kamera pada smartphone mengenali modul gelap dan terang sebagai


deretan bit “0” dan “1” dengan cara scanning gambar QR-Code. Selanjutnya, sistem
mengidentifikasi konfigurasi QR-Code. Identifikasi QR-Code mendapatkan versi
QR-Code dan format informasi. Format informasi diekstrak agar mendapatkan pola
masking dan error correction. Sistem mengidentifikasi error dan memperbaiki jika
terdapat error. Keluaran dari proses deteksi QR-Code berupa data informasi.

3.4.2 Aplikasi berbasis Android

Pada Tugas Akhir ini, digunakan aplikasi berbasis android dalam


melakukan proses deteksi QR-Code menjadi data informasi. Aplikasi tersebut
dinamakan Smart Presence. Gambar 3.12 menunjukan diagram alir proses deteksi
QR-Code menjadi data informasi.
50

MULAI

Login

Pilihan

Input Data Input Data


Input Pengajaran Siswa Data
Presensi siswa
Update Data
Scanning QR- Lihat Data
Code Siswa Hapus Data

SELESAI

Gambar 3.12 Diagram alir Smart Presence.

Pengajar melakukan proses login agar mendapatkan permission pada


aplikasi Smart Presence. Setelah login, akan ada dua pilihan yaitu input presensi
dan data siswa. Jika memilih input presensi, proses selanjutnya adalah mengisi data
pengajaran meliputi nama pengajar, mata pelajaran, kelas, hari dan tanggal.
Kemudian melakukan proses scanning QR-Code pada kartu pelajar agar
mendapatkan data informasi dari QR-Code. Jika memilih data siswa, maka akan
muncul form database dimana berisi data siswa yang dapat membuat, melihat,
menghapus dan merubah data.

3.4.3 Desain Aplikasi Smart Presence

Desain aplikasi Smart Presence dilakukan dengan program Android Studio.


Aplikasi tersebut terintegrasi dengan Firebase database. Berikut merupakan
tampilan aplikasi dan penjelasan implementasi sistem.
51

Gambar 3.13 Tampilan login.

Gambar 3.13 menunjukan Tampilan login. Sistem terintegrasi dengan


Firebase database dimana memiliki fungsi sebagai authentication dan database
pada aplikasi Smart Presence. Admin akan mendaftarkan email dan password pada
firebase. Pengajar melakukan login sesuai email dan password yang didapatkan.

Gambar 3.14 Tampilan awal.

Gambar 3.14 menunjukan tampilan awal. Tampilan awal terdiri dari dua
pilihan yaitu input presensi dan data siswa. Input presensi dipilih jika akan
melalukan proses penginputan siswa dalam presensi di kelas, sedangkan data siswa
dipilih jika akan menginput, melihat, mengupdate dan menghapus data siswa.
52

(a) (b) (c)

(d) (e)
Gambar 3.15 (a) Tampilan data pengajaran, (b) Nama pengajar, (c) Mata
pelajaran, (d) Kelas, (e) Tanggal.

Gambar 3.15 menunjukan tampilan data pengajaran. Tampilan data


pengajaran berisi informasi mengenai nama pengajar, mata pelajaran, kelas dan
tanggal pelaksanaan belajar-mengajar. Data nama pengajar, mata pelajar, dan kelas
sudah di tentukan sesuai nama pengajar, mata pelajaran, dan kelas yang tersedia.

Gambar 3.16 Tampilan scanner.


53

Gambar 3.16 menunjukan tampilan scanner. Kartu pelajar di scan dan di


decode menjadi data informasi berupa NISN. Data informasi ditampilkan pada
layout ini. Aplikasi meminta user-permission untuk menggunakan kamera pada
smartphone.

(a) (b) (c) (d)

Gambar 3.17 Tampilan Database (a) Input data, (b) Lihat data, (c) Hapus data,
(d) Update data.

Gambar 3.17 merupakan keluaran jika memilih data siswa pada tampilan
awal. Tampilan database berisi perintah membuat, melihat, memperbaruhi, dan
menghapus data siswa. Aplikasi Smart Presence menggunakan firebase sebagai
database dan authentication login. Setiap user memiliki database masing-masing.

Gambar 3.18 Firebase authentication.


54

Gambar 3.18 menunjukan tampilan firebase authentication. Tampilan


tersebut berisi authentication login pada aplikasi Smart Presence. Admin
menambahkan user, kemudian data user berupa email dan password diberikan
kepada pengajar sebagai akun login. Selain itu, admin dapat menghapus user.

Gambar 3.19 Firebase database.

Gambar 3.19 menunjukan tampilan firebase database. Tampilan berisi


database pada aplikasi Smart Presence. Setiap user memiliki database yang
berbeda. Database tersebut bekerja secara real time.

3.5 Sistem Presensi Sekolah

Tugas akhir ini mensimulasikan hasil dari konfigurasi sistem. Hasil


disimulasikan terhadap sistem presensi disekolah khususnya tingkat SMA atau
SMK sederajat. Gambar 3.20 merupakan diagram alir dari sistem presensi di
sekolah.
55

MULAI
Admin

Login
Pengajar

Input Data
Pengajaran

Input
Presensi

SELESAI

Gambar 3.20 Diagram Alir Sistem Presensi Sekolah

Pengajar melakukan login pada aplikasi smart presence dengan mengisi


email dan password. Admin memberikan email dan password kepada pengajar
untuk melakukan authentication login pada aplikasi Smart Presence. Admin sudah
terlebih dahulu mendaftarkan akun pada firebase authentication. Setelah pengajar
mendapatkan permission login, pengajar melakukan input data pengajaran berupa
nama pengajar, mata pelajaran, kelas, dan hari tanggal pengajaran. Kemudian
pengajar melakukan scanning kartu pelajar (QR-Code) untuk mendapatkan NISN
siswa. Hasil scanning akan dicocokan terhadap database siswa dan ditampilkan ke
web sekolah sebagai data presensi.

3.6 Rencana Pengujian

Pengujian dilakukan untuk mengetahui performansi sistem. Skenario


dirancang untuk melakukan beberapa pengujian terhadap aplikasi dan sistem
presensi. Adapun parameter pengujian sebagai berikut.
56

3.6.1 Pengujian Black box

Pengujian Black box menguji fungsionalitas dari setiap tampilan pada


aplikasi Smart Presence. Pengujian tersebut memiliki tujuan untuk melihat fungsi
tidaknya setiap tampilan. Selain itu, pengujian menguji kinerja aplikasi Smart
Presence, menguji interface, dan kelayakan aplikasi. Berikut tampilan-tampilan
yang akan diujikan menggunakan metode black box testing.

Tabel 3.4 Skenario Pengujian Black Box

Tampilan Aplikasi Detail Pengujian

Login Verifikasi username dan password

Tampilan Awal Menguji pemilihan tampilan input


presensi dan data siswa

Data Pengajaran Menguji input data (nama pengajar,


mata pelajaran, kelas, hari dan tanggal)

Scanner Menguji surface kamera dan hasil


scanner

Data Siswa Menguji input data siswa

Lihat Data Siswa Menampilkan data siswa yang diinput

Update Data Siswa Mengupdate data siswa yang diinput

Hapus Data Siswa Menghapus data Siswa

3.6.2 Pengujian Jarak Deteksi QR-Code

Pengujian bertujuan untuk mengetahui waktu komputasi, jarak minimum


dan jarak maksimum pada proses deteksi QR-Code. Jarak yang digunakan pada
pengujian adalah 1 cm sampai 5 cm kemudian bertambah kelipatan 5 sampai jarak
tidak berhasilnya deteksi QR-Code. Pengujian menggunakan mistar untuk
mengukur jarak deteksi. Pengujian dilakukan terhadap 10 kartu pelajar pada setiap
jarak yang ditentukan.
57

3.6.3 Pengujian Deteksi QR-Code Berdasarkan Cahaya

Pengujian bertujuan untuk mengetahui keberhasilan deteksi QR-Code


dengan gangguan cahaya. Cahaya bersumber pada kamera flash pada smartphone.
Pengujian menghasilkan akurasi keberhasilan deteksi QR-Code dan waktu
komputasi deteksi. Pengujian dilakukan terhadap tiga kategori berdasarkan
intensitas cahaya yaitu ringan (1.856 lux), sedang (5.283 lux), dan berat (10.470
lux). Pengujian dilakukan terhadap 10 kartu pelajar pada setiap kategori.

3.6.4 Pengujian Ketahanan Kartu Pelajar (QR-Code)

Pengujian deteksi QR-Code dengan aplikasi Smart Presence memiliki


tingkat akurasi 100 %. Pengujian dilakukan terhadap dua puluh lima kartu pelajar.
Oleh karena itu, diperlukan skenario pengujian terhadap kerusakan pada kartu
pelajar. Kartu pelajar diberi noda dan dilakukan proses deteksi QR-Code. Pengujian
ini menghasilkan waktu komputasi dan tingkat akurasi. Terdapat tiga parameter
pengujian sebagai berikut :
1. Pengujian kotor tinta
Pengujian menggunakan tinta spidol sebagai media pengujian.
Terdapat lima warna spidol meliputi merah, hitam, biru, hijau dan kuning.
Pengujian dilakukan dengan cara menggoreskan tinta ke kartu pelajar
(QR-Code) secara horizontal. Pengujian dilakukan dalam tiga kategori,
yaitu ringan (3 goresan), sedang (5 goresan) dan berat (lebih dari 5
goresan). Setiap warna tinta, dilakukan pengujian terhadap 10 kartu
pelajar disetiap kategori. Total pengujian dilakukan terhadap 150 kartu
pelajar.
58

(a) (b) (c)

Gambar 3.21 Pengujian kotor tinta (a) Ringan, (b), Sedang, (c) Berat.

Gambar 3.21 menunjukan contoh penggoresan tinta pada kartu


pelajar. Penggoresan dilakukan dengan tinta warna merah. Terdapat tiga
kategori yaitu ringan, sedang, dan berat.
2. Pengujian kotor lumpur
Pengujian menggunakan lumpur sebagai media pengujian.
Diasumsikan lumpur adalah campuran dari tanah liat dan air. Pengujian
dilakukan dengan cara menambahkan lumpur ke kartu pelajar (QR-Code)
kemudian diratakan. Pengujian dilakukan dalam tiga kategori, yaitu
ringan (1 tetes), sedang (2 tetes) dan berat (3 tetes). Pengujian dilakukan
terhadap 10 kartu pelajar disetiap kategori. Total pengujian dilakukan
terhadap 30 kartu pelajar.

(a) (b) (c)


Gambar 3.22 Pengujian kotor lumpur (a) Ringan, (b) Sedang, (c) Berat.
59

Gambar 3.22 menunjukan contoh pengkotoran lumpur terhadap


kartu pelajar. Pengujian dilakukan pada setiap kategori. Lumpur yang
digunakan merupakan campuran dari tanah liat dan air.
3. Gesekan atau goresan
Pengujian dilakukan dengan cara menggesekan kartu pelajar (QR-
Code) terhadap benda lain. Pada Tugas akhir ini digunakan amplas
sebagai media. Pengujian dilakukan dalam tiga kategori, yaitu ringan (50
gesekan), sedang (100 gesekan) dan berat (150 gesekan). Pengujian
dilakukan pada 10 kartu pelajar disetiap kategori. Total pengujian
dilakukan terhadap 30 kartu pelajar.

(a) (b) (c)


Gambar 3.23 Pengujian gesekan atau goresan (a) Ringan, (b) Sedang,
(c) Berat.

Gambar 3.23 menunjukan contoh pengujian gesekan atau goresan


terhadap kartu pelajar. Kartu pelajar digores dengan amplas. Pengujian
dilakukan dengan tiga kategori meliputi ringan, sedang, dan berat.
60

3.7 Parameter Performansi

Parameter performansi mengukur tingkat akurasi dan waktu komputasi.


Tingkat akurasi merupakan tingkat keberhasilan deteksi QR-Code menjadi data
informasi dalam presentase. Suatu sistem memiliki ketepatan tinggi jika memiliki
akurasi yang tinggi. Berikut formula tingkat akurasi :

𝑥
𝛽 = 𝑦 × 100% (3.1)

Persamaan 3.1 digunakan untuk menentukan performansi sistem. Tingkat


akurasi (𝛽) merupakan hasil performansi. Proses penentuan tingkat akurasi adalah
jumlah sampel yang terdeteksi (x) dibagi dengan jumlah sampel yang diuji (y).
Waktu komputasi dinilai berdasarkan waktu deteksi QR-Code menjadi data
informasi. Sistem yang baik memilliki waktu komputasi yang kecil karena sistem
bekerja secara cepat. Pada penelitian ini, pengujian dilakukan terhadap lebih dari
satu kali pengujian. Oleh karena itu, dibutuhkan perhitungan rata-rata waktu
komputasi. Berikut formula perhitungan rata-rata waktu komputasi :

𝑎
𝛾=𝑏 (3.2)

Persamaan 3.2 digunakan untuk menentukan rata-rata waktu komputasi.


Rata-rata waktu komputasi (𝛾) merupakan hasil performansi. Proses penentuan
rata-rata waktu komputasi adalah jumlah nilai waktu komputasi terdeteksi (a)
dibagi dengan jumlah waktu komputasi terdeteksi (b).
BAB IV

HASIL DAN PEMBAHASAN

4.1 Hasil Pengujian Black Box

Pengujian dilakukan sesuai dengan rancangan pengujian pada bab


sebelumnya. Pengujian menguji tampilan dan kinerja aplikasi Smart Presence.
Berikut proses pengujian black box pada setiap tampilan :
1. Pengujian layout login
Layout login berisi kolom input text berupa email dan password.
Selain itu, terdapat tombol Sign In. Skenario pengujian dirancang dan
penulis melakukan pengamatan. Berikut skenario dan pengamatan layout
login pada Tabel 4.1.

Tabel 4.1 Layout Login

Skenario dan Hasil Uji


Skenario Pengujian Pengamatan Keterangan
Mengisi email dan Data login benar dan pengguna berhasil Berhasil
password yang login, kemudian melanjutkan ke layout
teregistrasi pada selanjutnya
kolom login
Mengisi email dan Terdapat info gagal login pada layar Berhasil
password yang tidak
teregistrasi atau salah
pada kolom login
Mengisi email Gagal login dan terdapat info “email Berhasil
dengan format salah tidak valid” di layar
atau bukan format
email
Tidak mengisi email Gagal login dan terdapat info “email Berhasil
atau kolom login tidak boleh kosong” di layar
tidak diisi
Mengisi kolom Gagal login dan terdapat info Berhasil
password dengan “Password minimal terdiri dari 6
karakter kurang dari karakter
6
Klik tombol Sign In Berhasil masuk layout awal Berhasil

61
62

2. Pengujian layout awal


Pada layout awal, terdapat 2 tombol pilihan yaitu input presensi dan
data siswa. Jika klik tombol input presensi maka akan dialihkan ke layout
data pengajaran, kemudian jika klik tombol data siswa akan dialihkan ke
layout data siswa. Pengujian layout dilakukan berdasarkan skenario pada
Tabel 4.2.

Tabel 4.2 Pengujian Layout Awal

Skenario dan Hasil Uji


Skenario Pengujian Pengamatan Keterangan
Klik tombol Input Presensi Berhasil masuk ke layout data Berhasil
pengajaran
Klik tombol Data Siswa Berhasil masuk ke layout Data Berhasil
Siswa

3. Pengujian layout data pengajaran


Pada layout data pengajaran terdapat kolom pengisian nama
pengajar, mata pelajaran, kelas, dan tanggal. Kolom tersebut memiliki data
pilihan. Selain itu terdapat button Scan QR-Code untuk menuju layout
scanner. Pengujian layout dilakukan berdasarkan skenario pada Tabel 4.3.

Tabel 4.3 Pengujian Layout Data Pengajaran

Skenario dan Hasil Uji


Skenario Pengujian Pengamatan Keterangan
Klik dan memilih Berhasil menampilkan data spinner Berhasil
data spinner Nama nama pengajar dan dapat memilih
Pengajar kemudian kolom terisi oleh nama
tersebut
Klik dan memilih Berhasil menampilkan data spinner mata Berhasil
data spinner Mata pelajaran dan dapat memilih kemudian
Pelajaran kolom terisi oleh mata pelajaran tersebut
Klik dan memilih Berhasil menampilkan data spinner Berhasil
data spinner Kelas kelas dan dapat memilih kemudian
kolom terisi oleh kelas tersebut
Klik dan memilih Berhasil menampilkan kalender dan Berhasil
tanggal, bulan, tahun dapat memilih tanggal, bulan, tahun,
kemudian kolom terisi oleh tanggal
tersebut
Klik button Scan QR- Berhasil masuk ke layout scanner Berhasil
Code
63

4. Pengujian layout scanner


Layout scanner berisi surface camera dimana dapat membuka
kamera dan melakukan proses deteksi QR-Code. Selain itu terdapat text
view yang berguna untuk menampilkan data hasil scanner. Pengujian layout
dilakukan berdasarkan skenario pada Tabel 4.4.

Tabel 4.4 Pengujian Layout Scanner

Skenario dan Hasil Uji


Skenario Pengujian Pengamatan Keterangan
User-permission Berhasil menampilkan kamera Berhasil
camera
Scanning QR-Code Berhasil melakukan scanning QR-Code Berhasil
dan mendapatkan NISN
Text view data Berhasil menampilkan data informasi Berhasil
informasi
Tidak melakukan Text view dapat menampilkan info “No Berhasil
atau gagal scanning QR-Code Detected”
QR-Code

5. Pengujian layout data siswa


Pada layout data siswa, terdapat tiga text input berupa NISN, Nama
Siswa, dan Kelas. Selain itu ada tombol Simpan untuk menyimpan data
siswa yang telah diinput dan tombol Lihat Data untuk melihat data siswa
yang tersimpan. Pengujian layout dilakukan berdasarkan skenario pada
Tabel 4.5.

Tabel 4.5 Pengujian Layout Data Siswa


Skenario dan Hasil Uji
Skenario Pengujian Pengamatan Keterangan
Menginput text data Berhasil menulis dan menginput di Berhasil
siswa berupa NISN, kolom tersebut
Nama, dan Kelas
Klik button Simpan Berhasil menyimpan data dan Berhasil
menampilkan info “Data Tersimpan”
Menginput text data Gagal menyimpan dan terdapat info Berhasil
siswa namun ada “Data tidak boleh ada yang kosong” di
kolom yang kosong layar
atau tidak menginput
sama sekali
kemudian klik button
Simpan
Klik button Lihat Berhasil masuk ke layout Lihat Data Berhasil
Data
64

6. Pengujian layout lihat data siswa


Layout ini menampilkan data siswa yang telah disimpan. Layout
memiliki menu Update dan Delete. Cara menampilkan pilihan menu yaitu
dengan klik dan tahan data siswa. Pengujian layout dilakukan berdasarkan
skenario pada Tabel 4.6.

Tabel 4.6 Pengujian Layout Lihat Data Siswa

Skenario dan Hasil Uji


Skenario Pengujian Pengamatan Keterangan
Menampilkan data Data siswa berhasil di tampilkan Berhasil
siswa yang tersimpan
Klik dan tahan masing- Berhasil ditampilkan kedua pilihan Berhasil
masing data siswa menu kemudian masuk ke masing-
masing layout

7. Pengujian layout update data siswa


Fungsi layout ini yaitu mengubah data siswa dengan data baru.
Terdapat tombol update untuk menyimpan data baru. Pengujian layout
dilakukan berdasarkan skenario pada Tabel 4.7.

Tabel 4.7 Pengujian Layout Update Data Siswa

Skenario dan Hasil Uji


Skenario Pengujian Pengamatan Keterangan
Mengubah data siswa Dapat diganti dengan data baru Berhasil
Klik button Update Berhasil mengupdate data dan Berhasil
menampilkan info “Data berhasil
diubah”

8. Pengujian layout hapus data siswa


Layout ini berfungsi untuk menghapus data siswa. Data yang
tersimpan dapat dihapus dengan menekan data siswa yang dipilih.
Pengujian layout dilakukan berdasarkan skenario pada Tabel 4.8.

Tabel 4.8 Pengujian Layout Hapus Data Siswa

Skenario dan Hasil Uji


Skenario Pengujian Pengamatan Keterangan
Menghapus data Dapat menghapus data siswa dan Berhasil
siswa menampilkan info “Data Berhasil
dihapus”
65

4.2 Hasil Pengujian Jarak Deteksi QR-Code

Pengujian dilakukan sesuai rencana pengujian pada bab sebelumnya. QR-


Code dideteksi dengan aplikasi Smart Presence berdasarkan jarak yang ditentukan.
Data yang diambil berupa waktu komputasi, jarak minimum dan jarak maksimum.
Waktu komputasi dinilai berdasarkan waktu deteksi QR-Code menjadi data
informasi. Data hasil keseluruhan pengujian jarak deteksi QR-Code terdapat pada
Lampiran A.

Tabel 4.9 Pengujian Deteksi QR-Code.

Jarak
Waktu Komputasi
Deteksi QR- Keterangan
(detik)
Code (cm)
1 - Tidak berhasil
2 - Tidak berhasil
3 2.10 Berhasil
4 2.04 Berhasil
5 1.07 Berhasil
10 0.85 Berhasil
15 0.89 Berhasil
20 1.07 Berhasil
25 1.07 Berhasil
30 1.12 Berhasil
35 1.15 Berhasil
40 1.20 Berhasil
45 1.31 Berhasil
50 - Tidak berhasil
Rata-rata 1.26 -

Berdasarkan hasil Tabel 4.9, pengujian jarak deteksi QR-Code memiliki


jarak minimal sebesar 3 cm dan jarak maksimal 45 cm. Pengujian menghasilkan
66

waktu komputasi rata-rata sebesar 1,26 detik. Data hasil menunjukan semakin jauh
jarak deteksi semakin besar waktu komputasinya. Namun, pada jarak 10 cm hingga
1 cm, waktu komputasi semakin besar. Hal tersebut didasari oleh berkurangnya
fokus pada kamera smartphone dalam mendeteksi QR-Code. Semakin dekat jarak
deteksi, kamera semakin tidak fokus dalam mendeteksi QR-Code.

4.3 Hasil Pengujian Deteksi QR-Code Berdasarkan Cahaya

Pengujian dilakukan sesuai rencana pengujian pada bab sebelumnya. QR-


Code dideteksi dengan aplikasi Smart Presence dimana QR-Code diberi gangguan
intensitas cahaya. Data yang diambil berupa tingkat akurasi dan waktu komputasi.
Tingkat akurasi dihitung berdasarkan persamaan 3.1 dan rata-rata waktu komputasi
dihitung berdasarkan persamaan 3.2 pada parameter performansi. Data hasil
keseluruhan pengujian deteksi QR-Code berdasarkan cahaya terdapat pada
Lampiran B.

Tabel 4.10 Pengujian Deteksi QR-Code Berdasarkan Cahaya.

Intensitas
Akurasi (%) Waktu Komputasi (detik)
Cahaya
Ringan 100 0,89
Sedang 100 1,267
Berat 100 2,257
Rata-rata 100 1,471

Berdasarkan hasil Tabel 4.10, pengujian deteksi QR-Code dengan gangguan


cahaya memiliki akurasi 100% dan rata-rata waktu komputasi sebesar 1,471 detik.
Waktu komputasi terkecil ada pada intensitas cahaya kategori ringan. Waktu
komputasi terbesar ada pada intensitas cahaya kategori berat. Intensitas cahaya
berpengaruh dalam proses deteksi QR-Code. Semakin besar intensitas cahaya yang
diberikan, semakin besar waktu komputasi deteksi.
67

4.4 Hasil Pengujian Ketahanan Kartu Pelajar (QR-Code)

Pengujian dilakukan sesuai rencana pengujian pada bab sebelumnya. QR-


Code diberi gangguan berupa kotor tinta, kontor lumpur dan gesekan atau goresan.
Kemudian, dilakukan proses scanning QR-Code dengan aplikasi Smart Presence.
Data yang diambil berupa tingkat akurasi dan waktu komputasi. Tingkat akurasi
dihitung berdasarkan persamaan 3.1 dan rata-rata waktu komputasi dihitung
berdasarkan persamaan 3.2 pada parameter performansi.

4.4.1 Pengujian Kotor Tinta

Pengujian kartu pelajar terhadap kotor tinta dilakukan dengan lima warna
yang berbeda, yakni hitam, merah, biru, hijau, dan kuning. Tingkat pengujian
meliputi ringan, sedang, dan berat sesuai rencana pengujian. Pengujian dilakukan
sesuai dengan rencana pengujian pada bab 3. Data hasil keseluruhan pengujian
kotor tinta terdapat pada Lampiran C.

Tabel 4.11 Pengujian Kotor Tinta.

Warna
Tingkat Akurasi (%) Waktu komputasi (detik)
Tinta
Ringan 100 1,527
Hitam Sedang 100 2,174
Berat 70 2,755
Ringan 100 1,017
Merah Sedang 100 1,065
Berat 100 1,137
Ringan 100 1,524
Biru Sedang 100 2,082
Berat 90 2,615
Ringan 100 1,124
Hijau Sedang 100 1,171
Berat 100 1,327
Ringan 100 0,913
Kuning Sedang 100 0,916
Berat 100 0,934
Rata-rata 97 1,485
68

Berdasarkan hasil Tabel 4.11, pengujian akibat kotor tinta memiliki akurasi
97% dan rata-rata waktu komputasi sebesar 1,485 detik. Waktu komputasi terkecil,
yakni 0,913 detik, pada kondisi tinta warna kuning tingkat ringan. Sedangkan rata-
rata waktu komputasi terbesar, yakni 2,755 detik, pada kondisi tinta warna hitam
tingkat berat. Warna tinta berpengaruh terhadap hasil waktu komputasi dan tingkat
akurasi. Semakin gelap warna tinta semakin besar waktu komputasinya. Tinta
warna hitam menghasilkan data waktu komputasi terbesar (tingkat ringan, sedang,
dan berat) dibanding dengan warna lain. Kemudian tinta warna biru menghasilkan
data terbesar kedua, dilanjut dengan tinta warna hijau, merah, dan kuning. Tingkat
akurasi terendah, yakni 70% terjadi pada pengujian tinta hitam tingkat berat. Hal
ini disebabkan tinta hitam membuat pola warna gambar pada QR-Code menjadi
berubah dan timpang tindih yang menyebabkan kesalahan pada proses scanning
QR-Code.

4.4.2 Pengujian Kotor Lumpur

Proses pengujian kartu pelajar terhadap kotor lumpur dilakukan dengan tiga
takaran lumpur yang berbeda, yakni ringan, sedang, dan berat. Pengujian dilakukan
sesuai rencana pengujian pada bab 3. Data hasil keseluruhan pengujian kotor
lumpur terdapat pada Lampiran D.

Tabel 4.12 Pengujian Kotor Lumpur.

Tingkat Takaran
Akurasi (%) Waktu Komputasi (detik)
Lumpur
Ringan 100 0,89
Sedang 100 1,137
Berat 100 2,164
Rata-rata 100 1,397

Berdasarkan hasil Tabel 4.12, pengujian akibat kotor lumpur memiliki


akurasi rata-rata sebesar 100% dan rata-rata waktu komputasi sebesar 1,397 detik.
Waktu komputasi terkecil, yakni 0,89 detik. Waktu tesebut didapat pada kondisi
tingkat takaran lumpur ringan. Sedangkan waktu komputasi terbesar, yakni 2,164
69

detik. Waktu didapat pada kondisi lumpur tingkat berat. Pengujian kotor lumpur
memiliki pengaruh kecil terhadap waktu komputasi dan tingkat akurasi. Hal ini
didasari dengan perbedaan data waktu yang sedikit dengan tingkat akurasi 100%.

4.4.3 Pengujian Gesekan atau Goresan

Proses pengujian kartu pelajar terhadap gesekan atau goresan dilakukan


dengan tiga tingkat yang berbeda, yakni ringan, sedang, dan berat. Pengujian
dilakukan sesuai rencana pengujian pada bab 3. Data hasil keseluruhan pengujian
gesekan atau goresan terdapat pada Lampiran E.

Tabel 4.13 Pengujian Gesekan atau Goresan.

Tingkat Goresan Akurasi (%) Waktu Komputasi (detik)


Ringan 100 0,86
Sedang 100 0,88
Berat 90 0,92
Rata-rata 96 0,88

Berdasarkan hasil Tabel 4.13, pengujian akibat gesekan atau goresan


memiliki akurasivsebesar 96% dan waktu komputasi sebesar 0,88 detik. Waktu
komputasi terkecil, yakni 0,86 detik pada kondisi tingkat gesekan atau goresan
ringan. Sedangkan waktu komputasi terbesar, yakni 0.91 detik pada kondisi tingkat
gesekan atau goresan berat. Tingkat gesekan atau goresan berpengaruh terhadap
hasil waktu komputasi pengujian. Semakin tinggi tingkat gesekan atau goresan
semakin besar waktu komputasinya. Tingkat akurasi terendah, yakni 90% terjadi
saat pengujian dengan tingkat gesekan atau goresan berat. Hal ini disebabkan
gesekan atau goresan membuat pola gambar pada QR-Code menjadi berubah atau
hilang yang menyebabkan kesalahan pada proses scanning QR-Code.
70

4.5 Analisis Performansi Pengujian

Skenario pengujian dilakukan untuk menghitung rata-rata akurasi dan rata-


rata waktu komputasi. Data hasil pengujian cahaya, kotor tinta, kotor lumpur, dan
gesekan atau goresan dihitung kembali rata-rata seperti pada Tabel 4.14. Hasil rata-
rata akurasi dan rata-rata waktu komputasi merupakan parameter performansi
sistem.

Tabel 4.14 Performansi Pengujian.

Parameter Pengujian Akurasi (%) Waktu Komputasi


(detik)
Cahaya 100 1,471
Kotor Tinta 97 1,485
Kotor Lumpur 100 1,397
Gesekan atau Goresan 96 0,88
Rata-rata 98 1,3

Berdasarkan hasil Tabel 4.14, sistem memiliki akurasi 100% pada


pengujian berdasarkan cahaya. 97% pada pengujian kotor tinta, 100% pada
pengujian kotor lumpur, dan 96% pada pengujian gesekan atau goresan. Rata-rata
waktu komputasi cahaya sebesar 1,471 detik, kotor tinta sebesar 1,485 detik, kotor
lumpur sebesar 1,397 detik, dan gesekan atau goresan sebesar 0,88 detik.
Berdasarkan hasil seluruh pengujian, sistem memiliki tingkat akurasi 98%,
dan rata-rata waktu komputasi sebesar 1,3 detik. Tingkat akurasi dan waktu
komputasi mengindikasikan sistem bekerja dengan baik.
BAB V
KESIMPULAN DAN SARAN

5.1 Kesimpulan

Tugas Akhir ini telah melakukan desain dan implementasi QR-Code


berbasis android dengan kode Bose, Chaudhuri, Hocquenghem (BCH) sebagai
error correction untuk sistem presensi. Berdasarkan hasil simulasi pengujian dan
analisis, maka Tugas Akhir dapat disimpulkan sebagai berikut:
1. Telah berhasil dirumuskan algoritma konversi nomer induk siswa nasional
(NISN) ke QR-Code dan sebaliknya, yang dapat digunakan sebagai
perancangan sistem presensi.
2. Deteksi QR-Code memiliki jarak minimal sebesar 3 cm dan jarak
maksimal sebesar 45 cm dengan rata-rata waktu komputasi sebesar 1,26
detik.
3. Sistem dapat mengatasi gangguan cahaya pada kartu pelajar dengan
akurasi 100% dan waktu komputasi sebesar 1,471 detik. Semakin besar
intensitas cahaya yang diberikan, semakin besar waktu komputasi deteksi.
4. Sistem dapat mengatasi kerusakan kartu pelajar akibat kotor tinta
berwarna hitam, merah, biru, hijau dan kuning pada kondisi ringan, sedang
dan berat dengan akurasi 97% dan rata-rata waktu komputasi 1,485 detik.
Semakin banyak dan gelap warna tinta yang diberikan, semakin besar
waktu komputasi deteksi dikarenakan pola warna gambar pada QR-Code
berubah dan timpang tindih.
5. Sistem dapat mengatasi kerusakan kartu pelajar akibat kotor lumpur.
Pengujian kotor lumpur memiliki akurasi 100% dan rata-rata waktu
komputasi sebesar 1,397 detik. Kotor lumpur tidak berpengaruh besar
terhadap kerusakan kartu pelajar. Hal itu didasari dengan hasil tingkat
akurasi bagus dan rata-rata waktu komputasi yang cepat.
6. Pada pengujian gesekan atau goresan, sistem memiliki akurasi 96% dan
rata-rata waktu komputasi sebesar 0,88 detik. Pengujian pada tingkat berat
memiliki tingkat akurasi terendah. Hal ini dikarenakan gesekan atau

71
72

goresan membuat pola gambar pada QR-Code menjadi berubah atau


hilang.
7. Sistem yang dibuat pada penelitian ini memiliki akurasi sebesar 98% dan
rata-rata waktu komputasi sebesar 1,3 detik.

5.2 Saran

Untuk diaplikasikan secara real time maupun dikembangkan pada


penelitian selanjutnya, terdapat beberapa hal yang sebaiknya dilakukan untuk
peningkatan sistem, antara lain :
1. Dikembangkan perancangan sistem decoder QR-Code dengan
kemampuan koreksi error lebih besar.
2. Dikembangkan tampilan aplikasi Smart Present agar memiliki user
interface yang baik.
3. Penambahan fitur yang lebih baik pada aplikasi Smart Presence.
4. Desain sistem presensi yang lebih efisien dan cepat.
5. Pengembangan aplikasi Smart Presence pada proses scanner, yaitu
menghubungkan data hasil scanner ke firebase dan ditampilkan ke website
sekolah sebagai data presensi.
DAFTAR PUSTAKA

[1] S. Tiwari, “An Introduction To QR Code Technology”. India: SITS


Educators Society, 2016.
[2] M. Lukman, L. Ali, “Smart Presensi menggunakan QR Code dengan enkripsi
Vignere Cipher”. Jember: Universitas Muhammadiyah Jember, 2016.
[3] Denso. ADC, “QR-Code Essentials” [Online]. Available:
https://delivr.com/resources/files/1058/DENSO_ADC_QR_Code_White_Pa
per.pdf. [Accessed 15 03 2018].
[4] E. Fuji, “Simulasi Kode Hamming, Kode BCH, dan Kode Reed-Solomon
untuk Optimalisasi Forward Error Correction” Makalah. Universitas
Muhammadiyah Surakarta, 2014.
[5] E. Susanto, “Analisis Kinerja Kode BCH”. Medan: Universitas Sumatera
Utara. Medan, 2009.
[6] S. Han, Yunghsiang, “BCH Codes”. Taiwan: National Taipei University.
[7] P. Krismanto, K. Usman, L. Novamizanti, “Desain dan Implementasi
Prototype Sistem Presensi Otomatis Berbasis Barcode Menggunakan
Webcam dan Pengolahan Citra Digital di IT Telkom”. Bandung: IT Telkom,
2011.
[8] N. Iswanto, K. Usman, L. Novamizanti, “Sistem Verifikasi Nomor
Kendaraan Bermotor Dengan Database Menggunakan Pengolahan Citra
Digital pada Sistem Keluaran Parkir”. Bandung: IT Telkom, 2011.
[9] K. Usman, Septirasyahyani, L. Novamizanti, “Desain dan Implementasi QR-
Code Berbasiskan Pengolahan Citra untuk Sistem Parkir di IT Telkom”.
Bandung: IT Telkom, 2011.
[10] D. Houeque, “Introduction to Matlab for Engineering Students”. USA:
Northwestern University, 2005.
[11] C. Prayoga, “Mengapa Harus Belajar Android dengan Android Studio”
[Online]. Available: https://www.codepolitan.com/mengapa-harus-belajar-
android-dengan-android-studio-59bfc3146686f#. [Accessed 16 05 2019].
[12] M. Ilhami, “Pengenalan Google Firebase Untuk Hybrid Mobile Apps
Berbasis Cordova”. Jurnal IT CIDA. STMIK Mikroskil, 2017.

73
74

[13] Coolnetkid, “Apa Itu Fierbase?” [Online]. Available:


https://coolnetkid.wordpress.com/2016/09/08/android-apa-itu-firebase/.
[Accessed 11 05 2019].
[14] GreenIT, “Pengertian dan Fungsi dari Black Box Testing” [Online].
Available: https://bierpinter.com/pengetahuan/pengertian-dan-fungsi-dari-
black-box-testing/. [Accessed 12 05 2019].
LAMPIRAN
LAMPIRAN A

Lampiran A berisi hasil pengujian jarak deteksi QR-Code. Tabel A.1


menunjukan data yang didapat pada pengujian. Hasil didapat berdasarkan waktu
komputasi. Gambar A.1, A.2, A.3, dan A.4 menunjukan contoh gambar pengujian.

Tabel A.1 Hasil data pengujian jarak deteksi QR-Code.

Jarak
No 1 2 3 4 5 10 15 20 25 30 35 40 45 50
(cm)

1 - - 2,1 2,2 1,1 0,82 0,91 1,01 1,1 1,3 1,13 1,21 1,31 -

2 - - 2,2 1,97 1 0,88 0,9 0,98 1,2 1,12 1,1 1,1 1,28 -

3 - - 1,98 1,9 0,99 0,81 0,89 1,12 0,99 1,25 1,2 1,22 1,33 -
Waktu komputasi (detik)

4 - - 2,22 2 1,1 0,83 0,87 1,1 1,1 1,1 1,22 1,31 1,37 -

5 - - 2,13 2,11 1,12 0,82 0,92 0,99 0,98 1,12 1,21 1,25 1,3 -

6 - - 1,99 2,27 1 0,81 0,92 1 1 1,1 1,23 1,16 1,29 -

7 - - 1,98 1,99 0,98 0,9 0,87 1,2 1,1 0,99 1,12 1,1 1,28 -

8 - - 2 1,9 1,2 0,89 0,93 1,13 1,13 1 1,2 1,27 1,33 -

9 - - 2,3 2,1 1,12 0,91 0,88 1,12 1,12 1,2 1,13 1,21 1,34 -

10 - - 2,1 2 1,1 0,82 0,9 1,1 0,98 1,1 1 1,18 1,3 -

Rata-rata - - 2,1 2,04 1,07 0,85 0,89 1,07 1,07 1,12 1,15 1,2 1,31 -

.
(a) (b) (c)

Gambar A.1 Jarak deteksi QR-Code (a) 1 cm, (b) 2 cm, (c) 3 cm.
(a) (b) (c)

Gambar A.2 Jarak deteksi QR-Code (a) 4 cm, (b) 5 cm, (c) 10 cm.

(a) (b) (c) (d)

Gambar A.3 Jarak deteksi QR-Code (a) 15 cm, (b) 20 cm, (c) 25 cm, (d) 30 cm.

(a) (b) (c) (d)

Gambar A.4 Jarak deteksi QR-Code (a) 35 cm, (b) 40 cm, (c) 45 cm, (d) 50 cm.
LAMPIRAN B

Lampiran B berisi hasil pengujian deteksi QR-Code dengan gangguan


cahaya. Tabel B.1 menunjukan data yang didapat pada pengujian. Hasil didapat
berdasarkan akurasi dan waktu komputasi. Gambar B.1 menunjukan contoh
pengujian.

Tabel B.1 Hasil data pengujian deteksi QR-Code berdasarkan cahaya.

No Intensitas Cahaya Ringan Sedang Berat


1 0,87 1,21 2,13
2 0,89 1,33 2,2
3 0,87 1,1 1,98
Waktu komputasi (s)

4 0,9 1,27 2,11


5 0,85 1,3 2,37
6 0,92 1,25 2,2
7 0,9 1,22 2,53
8 0,88 1,25 2,51
9 0,93 1,39 2,13
10 0,93 1,35 2,41
Rata-rata waktu komputasi (s) 0,89 1,267 2,257
Tingkat akurasi (%) 100 % 100 % 100 %

(a) (b) (c)

Gambar B.1 Intensitas cahaya (a) Ringan, (b) Sedang, (c) Berat.
LAMPIRAN C

Lampiran C berisi hasil pengujian kotor tinta. Tabel C.1 menunjukan data
yang didapat pada pengujian. Hasil didapat berdasarkan akurasi dan waktu
komputasi. Gambar C.1, C.2, C.3, C.4, C.5 menunjukan contoh pengujian.

Tabel C.1 Hasil data pengujian kotor rinta.

Warna
Hitam Merah Kuning Hijau Biru
Tinta
N
Tingkat
R S B R S B R S B R S B R S B
Kotor
1 1,45 1,55 2,37 1,1 1,1 1,23 1 1 1 1 1,11 1,18 1,68 1,78 -
2 2 2,75 - 0,81 1,07 1,07 0,85 0,8 0,9 1,13 1,10 1,43 1,30 1,88 2,44
3 1,9 2,1 2,45 1 1,02 1,07 0,91 0,88 0,92 1,07 1,17 1,20 1,78 1,41 2,7
Waktu Komputasi (s)

4 2,36 2,20 2,85 1,01 1,03 1,05 0,85 0,85 0,8 1,04 1,04 1,32 1,84 2,17 2,33
5 1,68 1,52 - 1,15 1,01 1,13 0,9 0,89 0,91 1,17 1,28 1,27 1,56 2,6 2,71
6 1,18 2,05 - 1 1.17 1,24 1 0,9 1 1,01 1,10 1,11 1,68 1,46 2,2
7 1,21 2,16 2,31 1 1,01 1,11 0,88 0,89 0,9 1,15 1,10 1,93 1,15 2,61 2,8
8 1,24 2,31 2,91 1,08 1,05 1,28 0,9 0,91 0,91 1,07 1,07 1,16 1,54 2,24 2,52
9 1,02 2,52 3,23 1,07 1,18 1,14 0,87 0,91 0,9 1,50 1,65 1,61 1,45 2,07 2,73
10 1,23 2,58 3,17 0,95 1,01 1,05 1 1,1 1,1 1,1 1,18 1,06 1,26 2,6 3,11
Rata-rata
waktu 1,52 2,17 2,75 1,01 1,06 1,13 0,913 0,916 0,93 1,12 1,17 1,32 1,52 2,08 2,61
komputasi (s)
Tingkat 100 100 70 100 100 100 100 100 100 100 100 100 100 100 90
Akurasi (%) % % % % % % % % % % % % % % %

(a) (b) (c)

Gambar C.1 Kotor tinta warna merah (a) Ringan, (b) Sedang, (c) Berat.
(a) (b) (c)

Gambar C.2 Kotor tinta warna hitam (a) Ringan, (b) Sedang, (c) Berat.

(a) (b) (c)

Gambar C.3 Kotor tinta warna kuning (a) Ringan, (b) Sedang, (c) Berat.

(a) (b) (c)

Gambar C.4 Kotor tinta warna hijau (a) Ringan, (b) Sedang, (c) Berat.
(a) (b) (c)

Gambar C.5 Kotor tinta warna biru (a) Ringan, (b) Sedang, (c) Berat.
LAMPIRAN D

Lampiran D berisi hasil pengujian kotor lumpur. Tabel D.1 menunjukan


data yang didapat pada pengujian. Hasil didapat berdasarkan akurasi dan waktu
komputasi. Gambar D.1 menunjukan contoh gambar pengujian.

Tabel D.1 Hasil data pengujian kotor lumpur.

No Tingkat Kotor Ringan Sedang Berat


1 0,91 1,01 2,21
2 0,89 1,12 2,32
3 0,92 1,1 2,58
Waktu komputasi (s)

4 0,88 1,11 2,12


5 0,85 1,21 2,01
6 0,9 1,07 2
7 0,87 1,23 1,98
8 0,91 1,21 2,11
9 0,91 1,2 2,23
10 0,89 1,11 2,08
Rata-rata waktu komputasi (s) 0,89 1,137 2.164
Tingkat akurasi (%) 100 % 100 % 100 %

(a) (b) (c)

Gambar D.1 Kotor lumpur (a) Ringan, (b) Sedang, (c) Berat.
LAMPIRAN E

Lampiran E berisi hasil pengujian gesekan atau goresan. Tabel E.1


menunjukan data yang didapat pada pengujian. Hasil didapat berdasarkan akurasi
dan waktu komputasi. Gambar E.1 menunjukan contoh pengujian.

Tabel E.1 Hasil data pengujian gesekan atau goresan.

No Tingkat Kotor Ringan Sedang Berat


1 0,88 0,89 0,87
2 0,85 0,91 0,91
3 0,87 0,88 0,87
Waktu komputasi (s)

4 0,9 0,82 0,91


5 0,81 0,92 -
6 0,83 0,85 1,11
7 0,89 0,88 0,91
8 0,88 0,92 0,9
9 0,9 0,91 0,89
10 0,87 0,9 0,92
Rata-rata waktu komputasi (s) 0,86 0,88 0,92
Tingkat akurasi (%) 100 % 100 % 90 %

(a) (b) (c)

Gambar E.1 Pengujian gesekan atau goresan (a) Ringan, (b) Sedang, (c) Berat.

Anda mungkin juga menyukai