QR Code Decoder & Encoder.

ABSTRAK
QR Code adalah barcode dua dimensi yang memiliki keunggulan yaitu
kapasitas data yang lebih besar dibandingkan dengan barcode satu dimensi
yang umum dipakai sekarang, QR Code memiliki ukuran yang fleksibel,
tahan terhadap kerusakan dan tidak lagi memerlukan database tambahan.
Dengan semakin banyaknya penggunaan QR Code di Asia termasuk
Indonesia, maka diperlukan suatu aplikasi untuk meng-ekstrak informasi dari
QR Code(decoder). Laporan ini memaparkan aplikasi QR Code decoder
yang dibuat penulis.
Kata kunci : Decoder, QR Code, Barcode

v

Universita s Kri sten Maranatha

ABSTRACT
QR Code is a 2D barcode which has large data capacity. Compared to
1D barcode, which is commonly used, QR Code has flexible size and error
proof. Since QR Code is more and more used no wadays in Asia including
Indonesia, it is necessary to have application to extract information from it.
This report describes the development of QR Code decoder made by the

author.
Keywords

vi

: Decoder , QR Code, Barcode

Universita s Kri sten Maranatha

DAFTAR ISI

Contents
LEMBAR PENGESAHAN.......................................................................................... i
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS .................................................................... ii
SURAT PERNYATAAN ORISINALITAS KARYA ................................................ iii
PRAKATA .................................................................................................................. iv
ABSTRAK ................................................................................................................... v
ABSTRACT................................................................................................................ vi
DAFTAR ISI .............................................................................................................. vii

DAFTAR TABEL ....................................................................................................... ix
DAFTAR GAMBAR .................................................................................................. xi
DAFTAR LAMPIRAN .............................................................................................. xii
BAB I PERSYARATAN PRODUK ................................................................ 1
I.1 Pendahuluan ...................................................................................... ….1
I.1.1 Tujuan ........................................................................... ………..1
I.1.2 Ruang Lingkup ...........................................................................2
I.1.3 Definisi Akronim, Singkatan .......................................................2
I.1.4 Overview…..................................................................................3
I.2 Gambar Keseluruhan ...............................................................................4
I.2.1 Perpektif Produk ........................................................................4
I.2.2 Fungsi Produk ............................................................................4
I.2.3 Karakteristik Pengguna .................................................….……4
I.2.4 Batasan – Batasan .....................................................................5
I.2.5 Asumsi dan Ketergantungan ...........................................………6

vii

Universita s Kri sten Maranatha


BAB II SPESIFIKASI PRODUK ................................................................... 8
II.1 Persyaratan Antarmuka Eksternal ..........................................................8
II.1.1

Antarmuka dengan pengguna .................................................8

II.1.2

Antarmuka dengan perangkat keras .......................................9

II.1.3

Antarmuka dengan perangkat lunak ........................................9

II.2 Fitur Produk Perangkat Lunak ...............................................................10
II.2.1

Input File ...............................................................................11

II.2.2


Decode ..................................................................................12

II.2.2

Encode ..................................................................................12

II.3 Kajian Teori ............................................................................................13
BAB III DESAIN PERANGKAT LUNAK ……………………………...…….….42
III.1 Pendahuluan ......................................................................................42
III.1.1 Identifikasi .............................................................................42
III.1.2 Overview Sistem ...................................................................42
III.2 Desain Perangkat Lunak Secara Keseluruhan ....................................42
III.2.1 Use Case ..............................................................................43
III.2.2 Activity Diagram ....................................................................44
III.2.2.1 Activity Diagram Input File ………………………........45
III.2.2.2 Activity Diagram decode ……………………………...46
III.2.2.2 Activity Diagram encode ……………………………...46
III.2.3 System Architecture...…………………………………………...47
III.3 Desain Arsitektur Perangkat Lunak ......................................................50

III.3.1 Komponen Perangkat Lunak...................................................50
III.3.2 Desain Antar Muka ................................................................50

viii

Universita s Kri sten Maranatha

BAB IV PENGEMBANGAN SISTEM .........................................................52
IV.1

Perencanaan Tahap Implementasi ..................................................52
IV.1.1 Pembagian Modul implementasi ...........................................52
IV.1.2 Keterkaitan Antar Modul .........................................................52

IV.2

Perjalanan Tahap Implementasi .......................................................53
IV.2.1 Top Down Implementasi ........................................................53
IV.2.2 Debugging .............................................................................53
IV.2.3 Ulasan Realisasi Funsionalitas ..............................................54

IV.2.4 Ulasan Realisasi User Interface Design………………………...55

BAB V TESTING DAN EVALUASI S ISTEM ...............................................56
V.1 Rencana Pengujian Sistem Terimplementasi ........................................56
V.1.1 Test Case ................................................................................56
V.1.2 Uji Fungsionalitas Modul .........................................................56
V.2 Perjalanan Metodologi Penelitian ..........................................................57
V.2.1 Black Box..................................................................................57
V.3 Ulasan Hasil Evaluasi ………………………………………………............61
BAB VI KESIMPULAN DAN SARAN.............................................................62
VI.1

Kesimpulan Berdasarkan Hasil Evaluasi ...........................................62

VI.2

Saran Berdasarkan Hasil Evaluasi ....................................................62

DAFTAR PUSTAKA .....................................................................................63


ix

Universita s Kri sten Maranatha

DAFTAR TABEL
Tabel II - 1 Input.......................................................................................................10
Tabel II - 2 Input Decode ........................................................................................11
Tabel II - 3 Input Encode ........................................................................................12
Tabel II - 4 Tabel Versi QR Code [KEYN10] .......................................................16
Tabel II - 5 Error Correction Level [KEYN10] ......................................................23
Tabel II - 6 Alpha Numeric [ISO10].......................................................................27
Tabel II - 7 Byte [ISO10] .........................................................................................29
Tabel II - 8 Data Mask Pattern [ISO10] ................................................................32
Tabel II - 9 Error Correction Level [ISO10] ..........................................................33
Tabel II - 10 Mode Indicator [ISO10] ....................................................................36
Tabel II - 11 Tabel pola untuk Release Masking [ISO10] .................................40
Tabel IV - 1 Tabel pola untuk Release Masking.................................................52
Tabel V - 1 Tabel Black Box Fitur Input File ......................................................56
Tabel V - 2 Tabel Black Box Fitur decode ..........................................................57
Tabel V - 3 Tabel Respon Tampilan Aplikasi.....................................................57

Tabel V - 4 Tabel Respon Tata Letak Aplikasi ..................................................58
Tabel V - 5 Tabel Respon Kesesuaian Nama Menu dan Fungsi Aplikasi ....58
Tabel V - 6 Tabel Respon Fitur Decode .............................................................59
Tabel V - 7 Tabel Respon Error Handling .........................................................59

x

Universita s Kri sten Maranatha

DAFTAR GAMBAR
Gambar II - 1 Gambar QR Code version 1 dan QR Code version 2 [ISO10] 14
Gambar II - 2 Gambar QR Code model 2 [KEYN10] ......................................... 16
Gambar II - 3 Gambar Position detection patterns [KEYN10] .......................... 16
Gambar II - 4 Gambar Margin [KEYN10]............................................................. 17
Gambar II - 5 Gambar Timing Pattern [KEYN10] ............................................... 17
Gambar II - 6 Gambar Format Information [KEYN10] ....................................... 18
Gambar II - 7 Flow Chart langkah decode QR Code [ISO10] ......................... 23
Gambar II - 8 Posisi Format Information QR Code [ISO10] ............................. 24
Gambar II - 9 Release masking dan posisi Codeword ...................................... 26
Gambar II - 10 Penyusunan Codeword ............................................................... 29

Gambar II - 11 Gambar Penyusunan Blok Data Pada QR Code Versi 7 ....... 31
Gambar III - 1 Gambar Use Case Aplikasi QR Code Decoder ........................40
Gambar III - 2 Gambar Activity Diagram Aplikasi QR Code Decoder.............41
Gambar III - 3 Gambar Activity Diagram proses decode QR Code Decoder 42
Gambar III - 4 Gambar Activity Diagram proses Encode QR Code Decoder
....................................................................................................................................44
Gambar III - 5 Gambar Software Architecture QRCode Decoder ...................46
Gambar III - 6 Gambar Activity site map menu utama ......................................47
Gambar III - 7 Gambar Desain Antar Muka Main Menu....................................48
Gambar III - 8 Gambar Desain Antar Muka Decoding Menu ...........................49
Gambar IV-1 User Interface QR Decode……………………………………55
Gambar IV-2 User Interface QR Encode……………………………………… 55

xi

Universita s Kri sten Maranatha

DAFTAR LAMPIRAN
Lampiran A ...............................................................................................................64


xii

Universita s Kri sten Maranatha

BAB I PERSYARATAN PRODUK

I.1

Pendahuluan
Barcode adalah suatu representasi data ke dalam suatu citra (image)

yang dapat dibaca oleh mesin, citra ini memiliki data-data tertentu mengenai
suatu produk.
Barcode ini banyak digunakan untuk menyimpan informasi mengenai
produk yang ditempeli barcode tersebut. Barcode yang ada pada produkproduk ini nantinya akan dibaca oleh optical reader untuk menerjemahkan
gambar barcode menjadi informasi yang dapat diketahui.
Barcode ini memiliki banyak jenis dan variasi. Salah satunya adalah
barcode jenis dua dimensi(2D) yang direpresentasikan dalam bentuk matriks.
Dari jenis dua dimensi ini penulis akan membahas QR Code.
QR Code adalah suatu kode matriks atau barcode dua dimensi yang

dibuat oleh perusahaan Jepang bernama Denso-Wave pada tahun 1994
dengan tujuan konten dari kode tersebut dapat di-decode dengan cepat.
Saat ini di negara Korea dan Jepang sudah banyak diaplikasikan QR
Code untuk berbagai macam keperluan. Beberapa contoh penggunaan QR
Code, antara lain:
1. Beberapa perusahaan besar menggunakan QR Code pada gedungnya
untuk menyimpan informasi mengenai perusahaan yang ada di dalam
gedung tersebut.

1

Universita s Kri sten Maranatha

2. Pelabelan pada buah-buahan untuk mengetahui informasi perkebunan
yang menghasilkan buah tersebut, pestisida yang digunakan, dan juga
pupuk yang digunakan.
3. Penggunaan pada label pasien di rumah sakit untuk memudahkan
pembacaan status pasien.
Dengan kelebihan yang dimiliki oleh QR Code dan juga makin
banyaknya pemilik gadget dengan teknologi terkini, maka penggunaan QR
Code ini dapat memberikan kemudahan-kemudahan antara lai n informasi
akan lebih cepat diketahui, informasi lebih mudah disimpan, dan lainnya.

I.1.1 Tujuan
Tujuan yang ingin dicapai dalam pelaksanaan tugas akhir ini
adalah:


Membangun aplikasi membaca file citra yang berupa QR
Code dan juga melakukan proses decode terhadap QR
Code sehingga didapatkan informasi yang disimpan di
dalam QR Code dengan tingkat kesalahan yang sekecil
mungkin.



Membuat fitur encode dalam aplikasi sehingga user
dapat menciptakan gambar QR Code yang berisi data
informasi. Data informasi tersebut dapat di input sendiri
oleh user.

2

Universita s Kri sten Maranatha

I.1.2 Ruang Lingkup
Untuk melakukan proses decoding terhadap QR Code
version 1-6, dibutuhkan suatu aplikasi yang dapat mendeteksi
gambar dari QR Code sehingga didapatkan suatu informasi dari QR
Code yang sudah dibuat.

I.1.3 Definisi, Akronim dan Singkatan
Berikut adalah akronim dan singkatan yang dapat membantu
memperjelas laporan:


Software: Perangkat Lunak



Hardware: Perangkat Keras



QR Code: Quick Response Code

I.1.4 Overview Laporan
Sistematika penulisan dalam laporan kerja praktek ini
sebagai berikut:


BAB I PERSYARATAN PRODUK
Berisi uraian garis besar yang meliputi latar belakang,
perumusan masalah, tujuan, batasan masalah, sumber
data, dan sistematika penulisan.



BAB II SPESIFIKASI PRODUK
Berisi dasar teori yang dipergunakan dalam menyusun
laporan kerja praktek ini.

3

Universita s Kri sten Maranatha



BAB III DESAIN PERANGKAT LUNAK
Berisi analisi dan perancangan aplikasi yang dibuat meliputi
pembuatan proses bisnis dan flow chart, ERD, DFD, dan
Use Case.



BAB IV PENGEMBANGAN SISTEM
Berisi

penjelasan

dari

aplikasi

bagaimana

cara

menggunakannya disertai dengan contoh tampilannya.


BAB V TESTING DAN EVALUASI
Berisi evaluasi tentang aplikasi yang telah jadi.



BAB VI KESIMPULAN DAN SARAN
Berisi kesimpulan dan saran-saran untuk pengembangan
aplikasi ini kedepannya.

I.2

Gambar Keseluruhan
Pembuatan aplikasi yang dapat melakukan membaca file citra yang

berupa QR Code dan juga melakukan proses decode terhadap QR Code
yang sudah dibaca sehingga didapatkan informasi yang disimpan di dalam
QR Code dengan tingkat kesalahan yang sekecil mungkin ini dilatarbelakangi
oleh semakin maraknya penggunaan Barcode2D ini di lapangan.

I.2.1

Perspektif Produk
I.2.1.1

Antarmuka Sistem
Antarmuka aplikasi terbagi menjadi beberapa bagian,
antara lain:

4

Universita s Kri sten Maranatha

I.2.1.2



Antarmuka dengan pengguna



Antarmuka dengan perangkat keras



Antarmuka dengan perangkat lunak

Antarmuka Dengan Pengguna
Aplikasi

ini

dibuat dengan memberikan beberapa

kemudahan user untuk menggunakan aplikasi ini dan
melakukan proses decode terhadap kode QR.


Memberikan konfirmasi kesalahan jika file gambar
yang akan di decode tidak berhasil di baca atau
sebaliknya

I.2.1.3

Antarmuka Dengan Perangkat Keras
Perangkat keras yang dibutuhkan agar aplikasi dapat
berjalan dengan optimal yaitu: perangkat keras yang
terinstalasi pada komputer User.

I.2.1.4

Antarmuka Dengan Perangkat Lunak
Perangkat lunak / software yang digunakan adalah :


Nama : Microsoft Visual Studio
Versi : 2008



Nama : Windows XP Professional Edition
Versi : SP2

5

Universita s Kri sten Maranatha

I.2.1.5

Batasan Memori
Memori minimum 1
untuk

proses

GB. Spesifikasi ini digunakan

decode

data file gambar

dan

penempatan kompiler.
I.2.1.6

Operasi – Operasi
Operasi – operasi yang dapat dilakukan pada aplikasi ini
adalah :


Input file



Decode file



Encode data

I.2.2 Fungsi Produk
Aplikasi ini memiliki fungsi sebagai berikut :


Input file



Decode file



Encode data

I.2.3 Karakteristik Pengguna
Karakteristik pengguna aplikasi ini adalah :

6



Tingkat pendidikan : umum



Usia : segala usia

Universita s Kri sten Maranatha

I.2.4 Batasan – Batasan
Batasan – batasan aplikasi antara lain :
Untuk Decoder:


Versi QR Code yang dapat di decode adalah versi 1-6



Ukuran modul piksel gambar adalah 5 x 5.



Masukkan sistem berupa file gambar dengan format PNG,
BMP dan GIF dengan ukuran tertentu.



Kondisi gambar harus sempurna (tanpa ada blur, grayscale,
dll).



Keluaran sistem berupa pesan teks yang dikodekan ke
dalam QR Code.

Untuk Encoder:


Untuk

fitur

Encode,

Panjang

informasi

adalah

17

karakter(QR Code versi 1) dan mode yang didukung adalah
Byte.

I.2.5 Asumsi Dan Ketergantungan
Asumsi dan ketergantungan aplikasi ini adalah :


7

Ter-install .NET Framework 2.0

Universita s Kri sten Maranatha

DAFTAR PUSTAKA

[ISO10]

ISO / IEC CD 18004: 2005, Information technology — Automatic
identification and data capture techniques — QR Code 2005 bar
code symbology specification.

[DEN09]

http://denso-wave.com, BarcodeSpecification
(akses 10 November 2009)

[WIK09]

http://en.wikipedia.org/wiki/QR_Code, About QR Code
(akses 12 November2009)

[WIK10]

http://en.wikipedia.org/wiki/Reed_Solomon, Reed–Solomon
error correction

[GEN2]

http://nfggames.com, QR Code Web Generator

[GEN1]

http://phpqrCode.sourceforge.net/index.php, QR Code Web
Generator

62

Universita s Kri sten Maranatha