PROTOTYPE SISTEM PENCATATAN KELUAR MASUK BARANG … · 2018. 11. 1. · In this thesis, we designed...

16
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

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