• Tidak ada hasil yang ditemukan

IMPLEMENTASI HYPERLEDGER FABRIC UNTUK APLIKASI AUTENTIKASI PRODUK SKRIPSI

N/A
N/A
Protected

Academic year: 2021

Membagikan "IMPLEMENTASI HYPERLEDGER FABRIC UNTUK APLIKASI AUTENTIKASI PRODUK SKRIPSI"

Copied!
15
0
0

Teks penuh

(1)

IMPLEMENTASI HYPERLEDGER FABRIC UNTUK

APLIKASI AUTENTIKASI PRODUK

SKRIPSI

Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer (S.Kom.)

Wilson Philips 00000019916

PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK DAN INFORMATIKA

(2)

LEMBAR PENGESAHAN

IMPLEMENTASI HYPERLEDGER FABRIC UNTUK

APLIKASI AUTENTIKASI PRODUK

Oleh

Nama : Wilson Philips

NIM : 00000019916

Program Studi : Informatika

Fakultas : Teknik dan Informatika

Tangerang, 18 Juni 2021 Ketua Sidang

Moeljono Widjaja, B.Sc., M.Sc., Ph.D

Dosen Penguji

Julio Christian Young, S.Kom., M.Kom.

Dosen Pembimbing

Arya Wicaksana, S.Kom., M.Eng.Sc.

Mengetahui,

Ketua Program Studi Informatika

Marlinda Vasty Overbeek, S.Kom., M.Kom. Digitally signed by Marlinda Vasty Overbeek Date: 2021.06.23 11:52:09 +07'00'

(3)

PERNYATAAN TIDAK MELAKUKAN PLAGIAT

Dengan ini saya,

Nama : Wilson Philips

NIM : 00000019916

Program Studi : Informatika

Fakultas : Teknik dan Informatika

menyatakan bahwa Skripsi yang berjudul “Implementasi Hyperledger

Fabric untuk Aplikasi Autentikasi Produk” ini adalah karya ilmiah

saya sendiri, bukan plagiat dari karya ilmiah yang ditulis oleh orang lain atau lembaga lain, dan semua karya ilmiah orang lain atau lembaga lain yang dirujuk dalam Skripsi ini telah disebutkan sumber kutipannya serta dicantumkan di Daftar Pustaka.

Jika di kemudian hari terbukti ditemukan kecurangan/ penyimpangan, baik dalam pelaksanaan Skripsi maupun dalam penulisan laporan Skripsi, saya bersedia menerima konsekuensi dinyatakan TIDAK LULUS untuk mata kuliah Skripsi yang telah saya tempuh.

Tangerang, 5 Juni 2021

(4)

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Sebagai sivitas akademik Universitas Multimedia Nusantara, saya yang bertanda tangan di bawah ini:

Nama : Wilson Philips

NIM : 00000019916

Program Studi : Informatika

Fakultas : Teknik dan Informatika

Jenis Karya : Skripsi

Demi pengembangan ilmu pengetahuan, menyetujui dan memberikan izin kepada Universitas Multimedia Nusantara hak Bebas Royalti Non-eksklusif (Non-exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul:

Implementasi Hyperledger Fabric untuk Aplikasi Autentikasi Produk

beserta perangkat yang diperlukan.

Dengan Hak Bebas Royalti Non-eksklusif ini, pihak Universitas Multimedia

Nusantara berhak menyimpan, mengalihmedia atau format-kan, mengelola

dalam bentuk pangkalan data (database), merawat, dan mendistribusi dan menampilkan atau mempublikasikan karya ilmiah saya diinternet atau media lain untuk kepentingan akademis, tanpa perlu meminta izin dari saya maupun memberikan royalti kepada saya, selama tetap mencantumkan nama saya sebagai penulis karya ilmiah tersebut.

Demikian pernyataan ini saya buat dengan sebenarnya untuk dipergunakan sebagaimana mestinya.

Tangerang, 5 Juni 2021

(5)

HALAMAN PERSEMBAHAN / MOTO

“Dan apa saja yang kamu minta dalam doa dengan penuh kepercayaan, kamu akan

menerimanya.”

(6)

KATA PENGANTAR

Puji syukur kepada Tuhan Yang Maha Esa, karena berkat anugrah-Nya penulis dapat menyelesaikan penelitian dan laporan skripsi yang berjudul “Implementasi Hyperledger Fabric untuk Aplikasi Autentikasi Produk”.

Selama berlangsungnya penelitian dan pengerjaan laporan skripsi ini, terdapat berbagai pihak yang membantu penulis. Penulis ingin mengucapkan terma kasih kepada:

1. Dr. Ninok Leksono, M.A., Rektor Universitas Multimedia Nusantara, yang memberi inspirasi bagi penulis untuk berprestasi,

2. Dr. Eng. Niki Prastomo, S.T., M.Sc., Dekan Fakultas Teknik dan Informatika Universitas Multimedia Nusantara,

3. Marlinda Vasty Overbeek, S.Kom, M.Kom, Ketua Program Studi Informatika Universitas Multimedia Nusantara, yang menerima penulis dengan baik untuk berkonsultasi,

4. Arya Wicaksana, S.Kom., M.Eng. Sc., yang membimbing pembuatan laporan skripsi dan yang telah mengajar penulis tata cara menulis karya ilmiah dengan benar,

5. Orang tua yang selalu memberi dukungan dalam penyelesaian laporan skripsi ini,

(7)

6. Kevin Hendy, Benny Richardson, dan Gregorius Neven Yusuf, selaku teman yang selalu menemani, mendukung, dan memberikan masukan selama penelitian dan pengerjaan laporan Skripsi.

Semoga laporan skripsi ini dapat bermanfaat, baik sebagai sumber informasi maupun sumber inspirasi, bagi para pembaca.

Tangerang, 5 Juni 2021

(8)

IMPLEMENTASI HYPERLEDGER FABRIC UNTUK

APLIKASI AUTENTIKASI PRODUK

ABSTRAK

Maraknya pemalsuan produk membawa masalah bagi berbagai industri dan merugikan perekonomian dalam skala global. Penyebaran produk palsu merugikan perusahaan selaku pemilik brand dan produsen, maupun masyarakat selaku konsumen. Berdasarkan permasalahan tersebut, penelitian ini bertujuan untuk melawan penyebaran produk palsu dengan membuat aplikasi autentikasi produk untuk berinteraksi dengan blockchain sebagai tempat penyimpanan data.

Blockchain membuat data yang disimpan menjadi immutable dan memberikan decentralized trust di antara partisipan yang bergabung ke dalam jaringan. Pada

penelitian ini, Hyperledger Fabric diimplementasikan untuk membangun jaringan

blockchain yang privat, dengan menggunakan algoritma konsensus Raft. Aplikasi

autentikasi produk yang dirancang untuk berinteraksi dengan Hyperledger Fabric diberi nama Oricon, dan token yang diterapkan pada smart contract dengan standar token ERC-20 diberi nama ORC. Oricon dapat digunakan bagi perusahaan untuk menyimpan dan mengelola data produknya, dan bagi klien perusahaan untuk mengautentikasi produk tersebut. Autentikasi produk dilakukan melalui kode QR, yang merepresentasikan kode unik untuk setiap produk. Evaluasi perfoma berdasarkan latency dan throughput kemudian dilakukan untuk mengukur perfoma Hyperledger Fabric yang diimplementasikan. Berdasarkan pengujian yang dilakukan, didapatkan hasil latency sebesar 1,028 detik dan

throughput sebesar 18,2 transactions per second untuk setiap 2 transaksi paralel,

dan latency sebesar 1,169 detik dan throughput sebesar 20,454 transactions per

second untuk setiap 4 transaksi paralel.

Kata Kunci: Autentikasi produk, Blockchain, ERC-20 Token, Hyperledger Fabric, Raft

(9)

IMPLEMENTASI HYPERLEDGER FABRIC UNTUK

APLIKASI AUTENTIKASI PRODUK

ABSTRACT

The rise of counterfeiting products brings problems to various industries and harms the economy on a global scale. The spread of counterfeit products is detrimental to the company as the brand owner and producer, as well as the public as consumers. Based on these problems, this study aims to fight the spread of counterfeit products by creating a product authentication application to interact with the blockchain as a data repository. Blockchain makes stored data immutable and provides decentralized trust among participants who join the network. In this research, Hyperledger Fabric is implemented to build a private blockchain network, using the Raft consensus algorithm. Product authentication application designed to interact with Hyperledger Fabric is named Oricon, and token implemented on smart contract with the ERC-20 token standard are named ORC. Oricon can be used for companies to store and manage product data, and for enterprise clients to authenticate those products. Product authentication is performed via a QR code, which represents a unique code for each product. Performance evaluation based on latency and throughput is then carried out to measure the performance of the implemented Hyperledger Fabric. Based on the tests carried out, the results obtained are latency of 1.028 seconds and throughput of 18.2 transactions per second for every 2 parallel transactions, and latency of 1.169 seconds and throughput of 20,454 transactions per second for every 4 parallel transactions.

Keyword: Blockchain, ERC-20 Token, Hyperledger Fabric, Product Authentication, Raft

(10)

DAFTAR ISI

HALAMAN JUDUL ... i

LEMBAR PENGESAHAN ... ii

PERNYATAAN TIDAK MELAKUKAN PLAGIAT ... iii

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH ... iv

HALAMAN PERSEMBAHAN / MOTO ... v

KATA PENGANTAR ... vi

ABSTRAK ... vii

ABSTRACT ... ix

DAFTAR ISI ... x

DAFTAR GAMBAR ... xii

DAFTAR TABEL ... xiv

DAFTAR RUMUS ... xv BAB 1 PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Rumusan Masalah ... 4 1.3 Batasan Masalah ... 4 1.4 Tujuan Penelitian ... 5 1.5 Manfaat Penelitian ... 5 1.6 Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI ... 7

2.1 Autentikasi Produk ... 7 2.2 Blockchain ... 8 2.3 Hyperledger Fabric ... 9 2.3.1 Komponen ... 9 2.3.2 Alur Transaksi ... 12 2.3.3 Konfigurasi Channel ... 14 2.4 Raft ... 16

2.5 ERC-20 Token Standard ... 18

2.6 Throughput dan Latency ... 20

2.7 Konfigurasi Hyperledger Caliper ... 20

BAB 3 METODOLOGI PENELITIAN... 22

3.1 Metodologi Penelitian ... 22

3.2 Perancangan Fitur ... 23

3.3 Perancangan Sistem ... 24

3.4 Perancangan Flowchart Aplikasi ... 24

3.5 Perancangan User Interface ... 33

BAB 4 HASIL DAN DISKUSI ... 38

4.1 Spesifikasi Perangkat ... 38

4.2 Implementasi Hyperledger Fabric ... 39

4.2.1 Implementasi Smart Contract ... 39

4.2.2 Implementasi Channel ... 43

4.2.3 Implementasi Jaringan Blockchain ... 47

4.3 Implementasi REST API ... 50

4.4 Implementasi User Interface... 52

(11)

4.6 Evaluasi Perfoma ... 63

BAB 5 SIMPULAN DAN SARAN ... 72

5.1. Simpulan ... 72

5.2. Saran ... 73

DAFTAR PUSTAKA ... 75

(12)

DAFTAR GAMBAR

Gambar 2.1 Struktur blockchain ... 9

Gambar 2.2 Struktur jaringan ... 9

Gambar 2.3 Struktur ledger... 10

Gambar 2.4 Alur transaksi ... 12

Gambar 2.5 Raft states ... 17

Gambar 3.1 Interaksi aplikasi dengan sistem ... 25

Gambar 3.2 Interaksi server dengan Hyperledger Fabric ... 27

Gambar 3.3 Flowchart utama aplikasi ... 28

Gambar 3.4 Flowchart login dan enrollment ... 29

Gambar 3.5 Flowchart product catalog ... 30

Gambar 3.6 Flowchart search product ... 31

Gambar 3.7 Flowchart user management ... 32

Gambar 3.8 Flowchart token wallet ... 33

Gambar 3.9 Rancangan Login dan Enrollment ... 34

Gambar 3.10 Rancangan Product Catalog, Add Product, Detail Product ... 35

Gambar 3.11 Rancangan Edit Product, History Product, Delete Product ... 35

Gambar 3.12 Rancangan Search Product ... 36

Gambar 3.13 Rancangan User Management ... 36

Gambar 3.14 Rancangan Token Wallet ... 37

Gambar 4.1 Inisialisasi awal variabel global ... 40

Gambar 4.2 Inisialisasi awal transaksi token ... 40

Gambar 4.3 Fungsi getCurrentUserType() ... 41

Gambar 4.4 Fungsi getCurrentUserId() ... 41

Gambar 4.5 Struktur objek produk... 41

Gambar 4.6 Fungsi-fungsi transaksi pada smart contract ... 42

Gambar 4.7 Konfigurasi organizations ... 43

Gambar 4.8 Konfigurasi capabilities ... 44

Gambar 4.9 Konfigurasi application ... 44

Gambar 4.10 Konfigurasi orderer... 45

Gambar 4.11 Konfigurasi channel ... 45

Gambar 4.12 Konfigurasi profiles... 46

Gambar 4.13 Konfigurasi docker compose ... 47

Gambar 4.14 Komponen jaringan dijalankan ... 48

Gambar 4.15 Service CLI untuk berinteraksi dengan peer1.org1.example.com .. 48

Gambar 4.16 Pembuatan channel dan pembaharuan anchor peer ... 49

Gambar 4.17 Instalasi dan instantiasi smart contract ... 49

Gambar 4.18 CouchDB server ... 50

Gambar 4.19 REST API dijalankan ... 51

Gambar 4.20 REST API menerima request ... 52

Gambar 4.21 Halaman Login dan Enrollment ... 53

Gambar 4.22 Halaman Product Catalog, Add Product, Detail Product ... 54

Gambar 4.23 Halaman Edit Product, Product History, dan Delete Product ... 54

Gambar 4.24 Halaman Search Product ... 55

Gambar 4.25 Halaman User Management ... 55

(13)

Gambar 4.27 Potongan konfigurasi benchmark ... 64

Gambar 4.28 Transaksi sukses dan gagal berdasarkan BatchTimeout ... 67

Gambar 4.29 Latency dan throughput berdasarkan BatchTimeout ... 68

Gambar 4.30 Transaksi sukses dan gagal berdasarkan MaxMessageCount ... 69

(14)

DAFTAR TABEL

Tabel 2.1 Pengaturan benchmark test ... 21

Tabel 3.1 Fitur-fitur manajemen produk ... 23

Tabel 3.2 Fitur-fitur manajemen pengguna ... 24

Tabel 3.3 Fitur-fitur token ORC ... 24

Tabel 4.1 Pengujian aplikasi dengan black-box testing ... 57

Tabel 4.2 Parameter eksperimen pengujian ... 65

Tabel 4.3 Rata-rata hasil setiap eksperimen ... 66

(15)

DAFTAR RUMUS

Rumus 2.1 Transaction latency ... 20 Rumus 2.2 Transaction throughput ... 20

Referensi

Dokumen terkait