PROTOTYPE SISTEM PENCATATAN KELUAR MASUK BARANG … · 2018. 11. 1. · In this thesis, we designed...
Transcript of PROTOTYPE SISTEM PENCATATAN KELUAR MASUK BARANG … · 2018. 11. 1. · In this thesis, we designed...
-
PROTOTIPE SISTEM PENCATATAN KELUAR MASUK BARANG
MENGGUNAKAN RFID ISO 18000-6 DAN PEMBAYARAN
MENGGUNAKAN NFC ISO 14443A
Oleh
Jati Kristianto
NIM : 622013009
Skripsi
Untuk melengkapi salah satu syarat memperoleh
Gelar Sarjana Teknik
Program Studi Sistem Komputer
Fakultas Teknik Elektronika Dan Komputer
Universitas Kristen Satya Wacana
Salatiga
November 2017
-
ii
ABSTRACT Activities at the store, such as the circulation of goods and the payment process at
the checkout counter is something that requires extra effort and time. In addition, it takes
precision in the calculation of money. Moreover, cash are considered inefficient because
of the high cost of printing money. The purpose of this research is to make buying and
selling activity at store become more save time and energy, and not much use of currency.
In this thesis, we designed and created a prototype of goods logging system using
RFID ISO 18000-6 and Raspberry Pi, as well as payment using NFC ISO 14443A and
Arduino Mega, which can help store owner and manager in monitoring the store. Each
item will be affixed to RFID Tags. When entering the gate, the data will be read by the
RFID reader and sent to the server via API with JSON format. For the payment system,
the NFC Tag is affixed to the phone. Then the data is read by NFC reader and sent to the
server through API with JSON format.
The recording system successfully reads the ID and the contents of the RFID Tag,
then puts it into the database. Similarly, the payment system can do recording readings
and put them into the database. Then, the result of a transaction is printed using a thermal
printer. The information data of the profit can be downloaded in ".xls" format. The
average recording time of items required to store data from RFID Tags to a database is
2.52 seconds. Meanwhile, the average time required for the payment program to conduct
transactions for five products is 14.41 seconds. RFID reader can read 20 tags at once in 3
seconds. If the tag is passed the gate, the RFID reader can read 50 tags at once.
-
iii
KATA PENGANTAR Puji dan syukur diucapkan ke hadirat Tuhan Yang Maha Esa yang telah
memberikan rahmat dan karunia-Nya sehingga perancangan dan penulisan skripsi ini
dapat selesai sebagai syarat untuk menyelesaikan studi pada Fakultas Teknik Elektronika
dan Komputer Universitas Kristen Satya Wacana.
Dalam proses penyelesaian skripsi ini tidak terlepas dari bantuan berbagai pihak
baik secara moral maupun materiil. Oleh karena itu, penulis ingin mengucapkan terima
kasih kepada:
1. Bapak Banu Wirawan Yohanes, M.CompSc, Bapak Darmawan Utomo, M.Eng
dan Bapak Saptadi Nugroho, M.Sc atas bimbingan, saran, dan nasihat yang telah
diberikan selama mengerjakan skripsi.
2. Kedua orang tua terkasih, adik dan Adhitya Eka Prakarti atas dukungan baik
materiil dan moral yang telah diberikan untuk penulis
3. Lundy Orlando Tjandra, Teman dan sahabat, SISKOM 2013 dan FTEK 2013 dan
teman-teman Fakultas Teknik Elektronika dan Komputer lainnya yang telah
menemani dan memberikan doa, dukungan, semangat, hiburan, dan nasehat
kepada penulis.
4. Seluruh dosen dan karyawan Fakultas Teknik Elektronika dan Komputer,
terkhusus Mbak Yola, Mbak Ragil, dan Mbak Rista dalam membantu kelancaran
penyelesaian skripsi penulis.
5. Seluruh pihak yang membantu penulis dalam menyusun skripsi ini yang tidak
dapat disebutkan satu per satu.
Dalam penulisan skripsi ini disadari masih banyak kekurangan baik dalam isi
maupun penyampaian dan dalam penulisannya, untuk itu kritik dan saran yang
membangun diharapkan penulis demi perbaikan skripsi ke depannya.
Salatiga, Juli 2017
Penulis,
Jati Kristianto
-
iv
DAFTAR ISI
INTISARI ......................................................................................................................i
ABSTRACT ................................................................................................................ ii
KATA PENGANTAR................................................................................................. iii
DAFTAR ISI ............................................................................................................... iv
DAFTAR GAMBAR ..................................................................................................vii
DAFTAR TABEL ........................................................................................................ ix
DAFTAR KODE .......................................................................................................... x
DAFTAR SINGKATAN .............................................................................................. xi
BAB I PENDAHULUAN ............................................................................................. 1
1.1. Tujuan ............................................................................................................... 1
1.2. Latar Belakang .................................................................................................. 1
1.2.1. Pendahuluan ............................................................................................... 1
1.2.2. Solusi Permasalahan ................................................................................... 2
1.3. Spesifikasi ......................................................................................................... 3
1.4. Sistematika Penulisan ........................................................................................ 3
BAB II DASAR TEORI ................................................................................................ 5
2.1. Client Side ......................................................................................................... 5
2.1.1. Radio Frequency Identification (RFID) ....................................................... 5
2.1.1.1. Reserve memory ................................................................................... 6
2.1.1.1.1. Kill Password ................................................................................ 6
2.1.1.1.2. Acccess password .......................................................................... 7
2.1.1.2. EPC memory ........................................................................................ 7
2.1.1.3. ID Memory ........................................................................................... 7
2.1.1.4. User Memory ....................................................................................... 7
2.1.2. Near Field Communication (NFC) ............................................................ 8
2.1.3. Raspberry Pi ............................................................................................. 13
2.1.4. Arduino .................................................................................................... 14
2.1.5. Ethernet Shield ......................................................................................... 15
2.1.6. Real Time Clock (RTC) ............................................................................. 16
-
v
2.1.7. Liquid Crystal Display (LCD) dan Inter Integrated Circuit (I2C) .............. 18
2.1.8. Buzzer ...................................................................................................... 20
2.1.9. Tiny Thermal Printer ................................................................................. 20
2.2. Server Side ...................................................................................................... 21
2.2.1. Representional State Transfer Application Programming Interface ........... 21
2.2.1.1. Perancangan Identifier atau URL........................................................ 21
2.2.1.2. Perancangan Interaksi dengan HTTP .................................................. 21
2.2.1.3. Perancangan Metadata ....................................................................... 22
2.2.1.4. Perancangan Representasi .................................................................. 24
2.2.2. Java Script Object Notation (JSON).......................................................... 24
2.2.3. Laravel...................................................................................................... 25
2.2.4. Hypertext Preprocessor (PHP)................................................................... 26
2.2.5. MySQL ..................................................................................................... 27
2.2.6. XAMPP .................................................................................................... 27
BAB III PERANCANGAN ......................................................................................... 28
3.1. Arsitektur Sistem ............................................................................................. 28
3.2. Perancangan Client .......................................................................................... 33
3.1.1. Perangkat Keras Client .............................................................................. 33
3.1.1.1 Perangkat Keras Pencatatan Barang ................................................... 33
3.1.1.1.1. Raspberry Pi ................................................................................ 33
3.1.1.1.2. RFID ........................................................................................... 34
3.1.1.1.3. RTC ............................................................................................ 35
3.1.1.2. Perangkat Keras Pembayaran ............................................................. 37
3.1.1.2.1. Arduino ....................................................................................... 38
3.1.1.2.2. NFC ............................................................................................ 38
3.1.1.2.3. Ethernet Shield ............................................................................ 39
3.1.1.2.4. I2C dan LCD ............................................................................... 39
3.1.1.2.5. Tiny Thermal Printer ................................................................... 39
3.1.1.2.6. RTC ............................................................................................ 40
3.1.1.2.7. Buzzer ......................................................................................... 41
3.1.3. Perangkat Lunak Client ............................................................................. 41
3.1.3.1. Perangkat Lunak Pencatatan Barang ................................................... 41
3.1.3.1.1. Serial ........................................................................................... 41
-
vi
3.1.3.1.2. Request ....................................................................................... 43
3.1.3.1.3. JSON .......................................................................................... 43
3.1.3.2. Perangkat Lunak Pembayaran ............................................................ 44
3.1.3.2.1. Request ....................................................................................... 44
3.1.3.2.2. JSON .......................................................................................... 44
3.2 Perancangan Server ......................................................................................... 45
3.2.1. Laravel...................................................................................................... 45
3.2.2. Fractal ....................................................................................................... 51
3.2.3. Database................................................................................................... 52
BAB IV PENGUJIAN DAN ANALISIS ..................................................................... 54
4.1. Pengujian Pencatatan Barang ........................................................................... 54
4.1.1. Pembacaan Banyak Tag dengan Jangka Waktu ......................................... 54
4.1.2. Pembacaan Tag yang Melewati Gerbang ................................................... 57
4.1.3. Pembacaan Tag RFID pada Beberapa Jenis Barang ................................... 58
4.1.4. Pembacaan Tag RFID pada Alas Logam dengan Perantara Kertas ............ 59
4.1.5. Pembacaan Tag RFID dengan Ketebalan Kertas yang Berubah-ubah ........ 60
4.1.6. Pembacaan Tag RFID dengan Perubahan Jarak ......................................... 62
4.2. Pengujian Pembayaran ..................................................................................... 63
4.2.1. Pembacaan Tag NFC pada Plastik dan Besi .............................................. 63
4.2.3. Pembacaan Tag NFC pada Logam dengan Perantara ................................. 63
4.2.4. Pembacaan Tag NFC dengan Ketebalan yang Berubah-ubah ..................... 64
4.2.5. Pembacaan Dua Tag NFC Bersamaan ....................................................... 65
4.3. Pengujian Waktu Eksekusi ............................................................................... 66
4.3.1. Pengujian Waktu Eksekusi Pencatatan Barang .......................................... 66
4.3.2. Pengujian Waktu Eksekusi Pembayaran .................................................... 68
4.4. Pengujian Sistem Secara Keseluruhan .............................................................. 69
BAB V KESIMPULAN DAN SARAN ...................................................................... 75
5.1. Kesimpulan ..................................................................................................... 75
5.2. Saran ............................................................................................................... 76
DAFTAR PUSTAKA ................................................................................................. 77
-
vii
DAFTAR GAMBAR Gambar 1.1. Persentase Rumah Tangga yang Memiliki/Menguasai
Telepon Seluler di Indonesia[2] .............................................................. 3
Gambar 2.1. Alamat Fisik RFID[4] ............................................................................. 6
Gambar 2.2. Struktur Pesan NDEF[6] ....................................................................... 10
Gambar 2.3. Struktur NDEF Record[8] ..................................................................... 11
Gambar 2.4. Modul PN532 NFC RFID[12] .............................................................. 12
Gambar 2.5. Switch Untuk Memilih Komunikasi Modul[12] .................................... 12
Gambar 2.6. Raspberry Pi 2 Model B ....................................................................... 13
Gambar 2.7. Pin Atmega 2560[13] ........................................................................... 14
Gambar 2.8. Arduino Mega ...................................................................................... 15
Gambar 2.9. Ethernet Shield V1 ............................................................................... 16
Gambar 2.10. Blok Diagram W5100[15] .................................................................... 16
Gambar 2.11. Modul RTC DS3231............................................................................. 17
Gambar 2.12. Rangkaian DS321[16] .......................................................................... 17
Gambar 2.13. Blok Diagram LCD[18] ........................................................................ 18
Gambar 2.14. Fungsi dari Pin LCD[18] ...................................................................... 18
Gambar 2.15. LCD Karakter 20X4 ............................................................................. 19
Gambar 2.16. I2C PCF8574........................................................................................ 19
Gambar 2.17. Blok Diagram I2C PCF8574[19] .......................................................... 19
Gambar 2.18. Bentuk, Struktur, dan Simbol Buzzer Piezoelectric[20] ........................ 20
Gambar 2.19. Tiny Thermal Printer[28] ..................................................................... 20
Gambar 2.20. Header Content-Type Berformat application/JSON .............................. 23
Gambar 2.22. MVC Laravel[25] ................................................................................. 26
Gambar 3.1. Arsitektur Sistem .................................................................................. 28
Gambar 3.2. Daftar Alir Sistem ................................................................................ 29
Gambar 3.3. Diagram Alir Pencatatan Barang .......................................................... 30
Gambar 3.4. Diagram Alir Pembayaran .................................................................... 31
Gambar 3.5. Desain Alat Pencatatan Barang ............................................................. 31
Gambar 3.6. Desain Alat Pencatatan Barang 3 m ...................................................... 32
Gambar 3.7. Desain Alat Pembayaran....................................................................... 32
Gambar 3.8. Perancangan Pencatatan Barang ........................................................... 33
Gambar 3.9. Hasil dari Dua Bentuk Tag ................................................................... 34
-
viii
Gambar 3.10. RTC yang Terhubung ke Raspberry Pi ................................................. 36
Gambar 3.11. Alamat RTC di Racpberry Pi ................................................................ 36
Gambar 3.12. Perancangan Pembayaran ..................................................................... 37
Gambar 3.13. ERD Database ..................................................................................... 53
Gambar 4.1. Pengujian Banyak Tag dengan Jangka Waktu ....................................... 54
Gambar 4.2. Grafik Keberhasilan Pengujian Banyak Tag dengan Jangka Waktu....... 56
Gambar 4.3. Pengujian Pembacaan Tag RFID Pada Beberapa Jenis Barang .............. 58
Gambar 4.4. Pengujian Pada Logam dengan Perantaraan Kertas ............................... 59
Gambar 4.5. Pembacaan Tag RFID dengan Ketebalan Kertas ................................... 60
Gambar 4.6. Pengujian Pembacaan Tag NFC Pada Plastik dan Besi ......................... 63
Gambar 4.7. Pengujian Pembacaan Tag NFC pada Logam dengan Perantara ............ 64
Gambar 4.8. Pengujian Pembacaan Tag NFC dengan Ketebalan Berubah-ubah ........ 64
Gambar 4.9. Pengujian Pembacaan Dua Tag NFC Secara Bersamaan ....................... 66
Gambar 4.10. Hasil Memasukkan Data Produk ke Database ...................................... 70
Gambar 4.11. Hasil Memasukkan Data Stiker ke Database ........................................ 70
Gambar 4.12. Hasil Pencatatan Masuk Toko............................................................... 71
Gambar 4.13. Hasil Pencatatan Barang Terjual ........................................................... 71
Gambar 4.14. Hasil Pencatatan Detail Transaksi ......................................................... 72
Gambar 4.15. Hasil Pembayaran dengan NFC ............................................................ 72
Gambar 4.16. Bukti Transaksi .................................................................................... 73
Gambar 4.17. Keuntungan Minggu Ke-44 .................................................................. 73
Gambar 4.18. Keuntungan Bulan November ............................................................... 74
Gambar 4.19. Keuntungan Tahun 2017....................................................................... 74
-
ix
DAFTAR TABEL Tabel 2.1. Format Request Response[5] .................................................................... 8
Tabel 2.2. Detail Format Request Response[5] .......................................................... 8
Tabel 2.3. Return Code ............................................................................................. 8
Tabel 2.4. Nilai dari Type Name Format.................................................................. 11
Tabel 2.5. Pengaturan komunikasi modul[12] .......................................................... 12
Tabel 2.6. Respons Kategori Kode Status HTTP[21] ............................................... 22
Tabel 2.7. Daftar Media Type[21]............................................................................ 23
Tabel 3.1. Respons dari RFID Berbentuk Stiker ...................................................... 35
Tabel 3.2. Respons dari RFID Berbentuk PVC ........................................................ 35
Tabel 3.3. Command untuk Membaca TID dan Memori User .................................. 35
Tabel 4.1. Pengujian Banyak Tag dengan Jangka Waktu ......................................... 55
Tabel 4.2. Pengujian Pembacaan Tag yang Melewati Gerbang ................................ 57
Tabel 4.3. Pengujian Pada Logam dengan Perantaraan Kertas ................................. 59
Tabel 4.4. Persentase Keberhasilan Pengujian Pada Logam
dengan Perantaraan Kertas ...................................................................... 60
Tabel 4.5. Pembacaan Tag RFID dengan Ketebalan Kertas ..................................... 61
Tabel 4.6. Persentase Keberhasilan Pembacaan Tag RFID dengan
Ketebalan Kertas .................................................................................... 61
Tabel 4.7. Pembacaan Tag RFID dengan Perubahan Jarak ...................................... 62
Tabel 4.8. Pengujian Pembacaan Tag NFC dengan Ketebalan Berubah-ubah .......... 65
Tabel 4.9. Persentase Keberhasilan Pembacaan Tag NFC dengan
Ketebalan Berubah-ubah ......................................................................... 65
Tabel 4.10. Pengujian Pembacaan Dua Tag NFC Secara Bersamaan ......................... 66
Tabel 4.11. Pengujian Waktu Eksekusi Program Pencatatan Barang .......................... 67
Tabel 4.12. Pengujian Waktu Eksekusi Pembayaran .................................................. 69
-
x
DAFTAR KODE Kode 2.1. Mendeklarasikan Nama Tabel di Model Laravel ..................................... 26
Kode 3.1. Kode untuk Mengakses ID RFID ............................................................ 34
Kode 3.2. Perintah untuk Menggunakan modprobe DS1307 ................................... 37
Kode 3.3. Kode yang Ditambahkan pada /etc/rc.local ................................. 37
Kode 3.4. Membaca ID dan Rekaman pada Tag NFC ............................................. 38
Kode 3.5. Arduino LCD I2C ................................................................................... 39
Kode 3.6. Arduino Printer ....................................................................................... 40
Kode 3.7. Kode RTC Arduino ................................................................................ 40
Kode 3.8. Mengubah Jam dan Tanggal Menjadi String ........................................... 40
Kode 3.9. Menghidupkan dan Mematikan Buzzer ................................................... 41
Kode 3.10. Membaca Serial ...................................................................................... 41
Kode 3.11. Menulis Serial ........................................................................................ 42
Kode 3.12. Python Request ....................................................................................... 43
Kode 3.13. Raspberry Pi JSON Format ..................................................................... 43
Kode 3.14. Request Arduino ..................................................................................... 44
Kode 3.15. Arduino JSON Decode ........................................................................... 44
Kode 3.16. Menyalin Objek JSON ke Variabel ......................................................... 44
Kode 3.17. Arduino JSON Encode............................................................................ 45
Kode 3.18. Kode Migrasi Tabel ................................................................................ 46
Kode 3.19. Kode Model ............................................................................................ 47
Kode 3.20. Method __construct() .................................................................... 48
Kode 3.22. Method retrieveAll() .................................................................... 49
Kode 3.23. Method update() ................................................................................ 49
Kode 3.24. Method delete() ................................................................................ 50
Kode 3.25. Route API Laravel .................................................................................. 50
Kode 3.26. Konfigurasi Providers ............................................................................. 51
Kode 3.27. Konfigurasi Aliases ................................................................................ 51
Kode 3.28. Kode ProdukTransformer ....................................................................... 52
Kode 3.29. Pengunaan Fractal .................................................................................. 52
-
xi
DAFTAR SINGKATAN
API Application Programming Interface
ARM Advanced RISC Machine
ATM Anjungan Tunai Mandiri
AVR Alf Vegard’s Risc processor
CLI Command Line Interface
CMOS Complementary Metal Oxide Semiconductor
CRC Cyclic Redundancy Check
CRUD Create Read Update Delete
DBMS Database Management System
EPC Electronic Product Code
EPROM Erasable Programmable Read Only Memory
ERD Entity Relationship Diagram
FTP File Transfer Protocol
HSU High Speed UART
HTML HyperText Mark up Language
HTTP Hypertext Transfer Protocol
I2C Inter Integrated Circuit
ID Identifier
ISO International Organization for Standardization
JSON JavaScript Object Notation
LAN Local Area Network
LCD Liquid Cristal Display
MIME Multipurpose Internet Mail Extension
MVC Model View Controller
NDEF NFC Data Exchange Format
NFC Near Field Communication
NTP Network Time Protocol
ORM Object Relational Mapping
-
xii
PC Protocol Control
PHP Hypertext Preprocessor
PVC Polyvinyl chloride
RAM Random Access Memory
REST Representational State Transfer
RFID Radio Frequency Identification
RISC Reduced Instruction Set Computing
RTC Real Time Clock
RTD Record Type Definition
SPI Serial Peripheral Interface
SQL Structured Query Language
SRAM Static Random Access Memory
TCP Transmission Control Protocol
TID Tag Identifier
TNF Type Name Format
UDP User Datagram Protocol
URI Uniform Resource Identifier
URL Uniform Resource Locator
USB Universal Serial Bus
WiFi Wireless Fidelity
WLAN Wireless Local Area Network
XAMPP X, Apache, MySQL, PHP dan Perl
XML Extensible Markup Language
XPC Extended Protocol Control