p-ISSN : 2460-3562 / e-ISSN : 2620-8989

## Sistem Pencatatan Transaksi Distribusi Cabai Menggunakan Extreme Programming dan Teknologi Blockchain
Meuthia Rachmaniah a1 , Putri Ardi a2 , Mokhamad Inggit Prakasa a3
a Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor Jl. Meranti, Kampus IPB Dramaga, Bogor 16680, Jawa Barat Indonesia
1 meuthiara@apps.ipb.ac.id
3 putri_407@apps.ipb.ac.id
3 inggit_prakasa@apps.ipb.ac.id

## Abstrak
Teknologi  blockchain  telah  digunakan  secara  luas  dan  menarik  perhatian  para  peneliti  termasuk  peneliti tanaman hortikutur. Cabai merupakan salah satu tanaman hortikultura yang banyak dibudidayakan di Indonesia dan  merupakan  salah  satu  komoditas  yang  memiliki  harga  yang  sangat  fluktuatif.  Fluktuasi  harga  cabai menuntut  adanya  transparansi  harga  cabai  di  setiap  rantai  distribusi  cabai.  Studi  ini  bertujuan  untuk mengembangkan sistem pencatatan transaksi distribusi cabai dalam upaya mencatat semua transaksi produksi dan  harga  cabai  di  setiap  rantai  distribusi  cabai.  Sistem  ini  berbasis  web  dan  dikembangkan  dengan menggunakan  teknologi  blockchain  untuk  menyimpan  setiap  transaksi  distribusi  cabai.  Pengembangan  sistem menggunakan  metode extreme  programming yang  dilakukan  dalam  dua  iterasi.  Pada  studi  ini, smart contract Ethereum menggunakan  kerangka  kerja  Truffle  untuk  sistem back  end  dan  web3js  untuk  antarmuka  sistem. Sistem pencatatan transaksi distribusi cabai  telah berhasil dikembangkan dan memungkinkan pengguna untuk melihat  harga  dan  pasokan  cabai  secara  transparan  di  setiap  rantai  distribusi  cabai.  Uji  keberterimaan  dan fungsionalitas sistem telah sukses dilakukan untuk para aktor distribusi cabai, yaitu admin, produsen, pedagang pengepul,  grosir,  pedagang  pengecer,  serta  konsumen. Smart  contract  yang  dihasilkan  dirilis  pada  jaringan  uji Ethereum serta jaringan uji Rinkeby sebagai pengganti jaringan utama Ethereum. Sistem pencatatan cabai masih dapat dikembangkan lebih lanjut  untuk melengkapi  berbagai fitur yang  telah  dibuat. Rekomendasi  untuk studi lebih  lanjut  dapat  dilakukan  untuk  pengembangan  fitur  tambahan  seperti  foto  produksi  cabai  dan  foto  profil aktor distribusi cabai serta user experience para aktor rantai distribusi cabai.
Kata kunci: blockchain, cabai, ethereum, extreme programming, transaksi, Truffle

## Chili Distribution Transaction Recording System using Extreme Programming and Blockchain Technology

## Abstract
Blockchain  technology  has  been  widely  used  and  has  attracted  the  attention  of  researchers,  including horticultural  crops  researchers.  Chili  is  a  horticultural  plant  commonly  cultivated  in  Indonesia  and  is  a commodity that has a very volatile price. The price fluctuation  of chili  demands transparency of chili  prices in each chili distribution chain. This study aims to develop a recording system for chili distribution transactions to record all production  transactions and chili  prices in each chili  distribution  chain.  The  web-based system uses blockchain  technology  to  store  every  chili  distribution  transaction.  The  system  development  uses  the  extreme programming  method  carried  out  in  two  iterations.  This  study  develops  Ethereum  smart  contracts  using  the Truffle framework for the back-end system and web3js for the system interface.  The  system for recording the chili distribution transactions was developed successfully and allowed users to view the chili distribution chain's price and supply transparently. The study successfully conducted the system acceptance and functionality tests for  chili  distribution  actors,  namely  admin,  producers,  collectors,  wholesalers,  retailers,  and  consumers.  This study released smart contracts on the Ethereum test network and the Rinkeby test network instead of the main Ethereum  network.  The  chili  recording  system  requires  further  enhancement  to  complement  the  various features established. The recommendations for further studies are to develop additional features such as photos of chili production and profile photos of chili distribution actors, and user experience of  each chili distribution chain actors
Keywords: blockchain, chili, ethereum, extreme programming, transaction, Truffle

## I. P ENDAHULUAN
Teknologi  blockchain  mendapatkan  banyak  perhatian saat  ini.  Menurut  [1],  blockchain  adalah  langkah  baru dalam  evolusi  pertanian.  Blockchain  dapat  meningkatkan efisiensi  ekonomi,  ketahanan  pangan,  dan  mengurangi risiko ketidakpastian dalam mencapai pertanian berkelanjutan.  Sistem  blockchain  tidak  dapat  diubah, sehingga  data  yang  disimpan  dan  didesentralisasi  dalam sistem  manajemen  arsip  dapat  dilindungi  untuk  petani, LSM,  pemangku  kepentingan,  konsumen,  dan  pengambil keputusan yang berpartisipasi dalam pengelolaan transparanai  data  dalam  sistem  blockchain.  Lebih  lanjut, [2] mengungkapkan bahwa transaksi blockchain beroperasi dalam jaringan peer-to-peer yang terdesentralisasi.  Dengan  kata  lain,  transaksi  divalidasi dan  disimpan  melalui  konsensus  terdistribusi  dan  tidak perlu  memiliki entitas pusat untuk memvalidasi  transaksi. Referensi  [3]    menambahkan  bahwa  adopsi  blockchain oleh  para  profesional  logistik  dan  manajemen  rantai pasokan masih dalam tahap awal. Oleh karena itu, studi di masa  depan  masih  diperlukan  untuk  menyelidiki hubungan  antara  pengetahuan  tentang  blockchain  dan adopsi aplikasi blockchain di bidang rantai pasokan.
Cabai  merupakan salah satu tanaman hortikultura yang dibudidayakan  secara luas di Indonesia. Berdasarkan data dari  Pusat  Data dan Sistem Informasi  Pertanian, produksi cabai  pada  tahun  2018  sekitar  2,30  juta  ton  [4].  Selain dibudidayakan  secara  luas,  cabai  juga  merupakan komoditas  perekonomian  di  Indonesia.  Menurut  [5], Indonesia  adalah  konsumen  cabai  terbesar  di  dunia.  Oleh karenanya, konsumsi cabai di Indonesia cukup tinggi, baik digunakan dalam bentuk segar maupun olahan. Tingginya konsumsi  cabai  berasal  dari  kebutuhan  masyarakat  untuk penyedap  sayur  mayur  atau  bumbu  masak,  bahan  baku industri,  dan  komoditas  ekspor.  Pada  tahun  2018  tingkat konsumsi  cabai  di  Indonesia  berkisar  1,43  kg/kapita  [4]. Hal  tersebut  menunjukkan  bahwa  cabai  merupakan komoditas  hortikultura  yang  banyak  diminati  dan dikonsumsi  di  Indonesia.  Tanaman  cabai  biasanya ditanam  di  lahan  yang  tidak  terlalu  basah  dan  sangat sensitif  terhadap  musim.  Hal  inilah  yang  menyebabkan ketidakstabilan  jumlah  pasokan  cabai  dan  mempengaruhi harga cabai [6].
Cabai  merupakan  salah  satu  komoditas  yang  memiliki harga yang sangat fluktuatif dan sulit untuk diprediksi [7]. Fluktuasi  ini  terjadi  karena  tanaman  cabai  sangat bergantung pada musim dan mudah rusak. Salah satu cara untuk  mengatasi  fluktuasi  harga  cabai  adalah  dengan memantau  tingkat  penawaran  dan  permintaan  di  pasar. Saat  panen  raya,  pasokan  cabai  dalam  jumlah  besar, sedangkan  permintaan  cabai  cenderung  stabil  sehingga menyebabkan harga turun. Sebaliknya, pada saat perayaan dan hari nasional, pasokan cabai cenderung tidak berubah sedangkan  permintaan  naik  sehingga  harga  cabai  akan melambung  tinggi.  Manajemen  rantai  pasok  diperlukan untuk  memantau  harga  dan  produksi  cabai.  Dalam manajemen  rantai  pasokan,  strategi  yang  paling  penting adalah menekankan pada efisiensi  dan  kemampuan untuk mengelola dan secara akurat dapat menanggapi permintaan  konsumen  [8].  Salah  satu  aplikasi  untuk
menangani kinerja rantai pasok adalah melalui penggunaan teknologi blockchain. Referensi [9] mengatakan  bahwa  teknologi  blockchain  menjamin keamanan  produk  dalam  manajemen  rantai  pasokan  dan membantu  meningkatkan  efisiensi  rantai  pasokan  dengan menyediakan  sistem  pelacakan  yang  mencatat  semua peristiwa yang terjadi dalam rantai pasokan.
Studi  ini  bertujuan  untuk  memanfaatkan  teknologi blockchain  untuk  mencatat  transaksi  distribusi  cabai  dan menunjukkan  transparansi  harga  antara  para  aktor  rantai pasokan  dan  konsumen.  Aktor  rantai  pasok  cabai mencakup produsen, pedagang pengepul, pedagang grosir, dan  pedagang  pengecer.  Pada  studi  ini,  pendekatan extreme  programming pada  sistem  berbasis  web  yang dikembangkan  menggunakan smart  contract Ethereum yang  dibangun  dengan  framework  Truffle.  Fokus perhatian pada studi ini ialah:
1. State-of-the-art aplikasi  blockchain  pada  komoditas hortikultura,
2. Menerapkan teknologi blockchain dengan pendekatan extreme programming pada rantai pasokan cabai,
3. Mengenali  tantangan  terbuka  dan  area  untuk peningkatan di masa depan.
Sasaran  utama  dari  artikel  ini  diarahkan  pada  tiga  tipe sasaran. Pertama, penelitian ini menargetkan para peneliti yang tertarik dengan state-of-the-art penerapan blockchain  dalam rantai pasokan cabai. Kedua,  penelitian ini  membidik  para  peneliti  dalam  pencarian  metode  agile rekayasa  perangkat  lunak  untuk  membantu  dalam implementasinya. Ketiga, penelitian ini menargetkan aktor rantai pasok dan pemangku kepentingan cabai  yang ingin mengetahui pasokan dan permintaan yang sesuai terutama untuk meningkatkan nilai kesejahteraan produsen cabai.
Struktur  artikel  terdiri  atas  empat  bagian.  Bagian pertama  diawali  dengan  pendahuluan  diikuti  dengan metodologi  pada  bagian  kedua.  Selanjutnya,  artikel menyajikan  hasil  dan  pembahasan  pada  bagian  ketiga. Terakhir,  bagian  keempat  menyajikan  kesimpulan  dan rekomendasi studi di masa depan.

## II. M ETODOLOGI
Metode pengembangan sistem menggunakan pendekatan  agile,  yaitu extreme  programming (XP).  XP adalah  proses  rekayasa  perangkat  lunak  yang  cenderung menggunakan  pendekatan  berorientasi  objek.  Tujuan  dari metode  XP  adalah  pembentukan  tim  dalam  skala  kecil hingga menengah. Metode ini cocok jika tim pengembang merasa tertantang dengan persyaratan yang tidak jelas dan persyaratan  yang  cepat  berubah  [10].  Metode  XP  terdiri dari  lima tahapan yaitu  perencanaan,  desain, pengkodean, pengujian, serta rilis [11] (Gambar 1). Tahap perencanaan diawali  dengan  diskusi  tim  dan  studi  literatur  untuk menentukan kebutuhan dasar sistem. Hasil dari diskusi ini adalah  pembuatan user  story yang  meliputi  penentuan prioritas  dan  kriteria  keberterimaan  ( acceptance  criteria ) yang  berlaku  untuk  setiap user  story .  Pada  tahap  ini ditentukan jumlah iterasi untuk pengembangan sistem ini, yaitu  dalam  dua  iterasi.  Iterasi  pertama  diarahkan  pada fungsi yang menjadi prioritas utama.
Tahap  desain  mencakup  pembuatan  kartu class- responsibility-collaborator (CRC).  Kartu  CRC  bertujuan untuk  mengetahui  peran  yang  dimiliki  kelas  ( class )  dan hubungan  di  antara  kelas-kelas  ini  pada  sistem. Selanjutnya  pembuatan  diagram  kelas  ( class  diagram ) yang  bertujuan  untuk  mengilustrasikan  hubungan  kelas ( class  relationship ).  Pengembangan  sistem  menggunakan smart  contract Ethereum  dengan  bahasa  pemrograman Solidity.  Pada  bahasa  pemrograman  Solidity,  konsep smart  contract sangat  mirip  dengan  konsep  kelas.  Sama seperti kelas objek, smart contract dapat memiliki struktur data,  fungsi  publik  dan  privat,  dan  dapat  mewarisi  satu atau lebih smart  contract [12].  Dalam hal  ini, kartu  CRC dan diagram kelas diselaraskan ke dalam smart contract .
Gambar 1 Metodologi extreme programming [11]
Tahap pengkodean merupakan implementasi dari tahap desain.  Pengkodean  menggunakan  bahasa  pemrograman JavaScript untuk front-end dan framework Truffle dengan bahasa  pemrograman  Solidity  untuk back-end .  Konsep penting  dari  tahap  pengkodean  dalam  metode  XP  adalah pemrograman  berpasangan  ( pair  programming ),  integrasi berkelanjutan,  dan  pemfaktoran  ulang  ( refactoring ). Dalam pengembangan sistem ini, saat pengkodean sedang berlangsung, peneliti mengelola pemrograman berpasangan  untuk  meningkatkan  efisiensi  pengkodean. Untuk  itu,  peneliti  menggunakan  GitHub  untuk  integrasi berkelanjutan dari setiap perubahan kode yang dilakukan. Refactoring dimaksudkan untuk merapikan atau memperbaiki  struktur  kode  sistem  untuk  mengurangi risiko  kesalahan  dalam  program.  Tahap  pengujian dilakukan dengan unit test dengan membuat test case yang mencakup semua skenario pada smart contract . Pengujian unit  ( unit  test )  menggunakan  framework  Truffle  dengan menulis  kasus  pengujian  dalam  bahasa  pemrograman JavaScript untuk menguji fungsi smart contract . Terakhir, pengujian keberterimaan ( acceptance testing ) menggunakan  pengujian  fungsionalitas  sistem,  terutama pada masukan dan keluaran sistem sebelum sistem dirilis.

## III. H ASIL DAN P EMBAHASAN
A. State-of-the-Art dari Implementasi Blockchain
Pendekatan state-of-the-art diterapkan  pada  publikasi yang  tersedia  di  basisdata  Science  Direct-Elsevier.
Kriteria pemilihan sederhana yang diterapkan adalah kata kunci  "blockchain"  DAN  "pertanian".  Gambar  2 menunjukkan  513  hasil  pencarian  yang  berisi  260  artikel penelitian. Gambar  2 juga memperlihatkan bahwa jumlah artikel  penelitian  sejak  tahun  2017  cenderung  meningkat. Ini  menunjukkan  perhatian  yang  semakin  besar  pada penggunaan  blockchain  di  bidang  pertanian.  Oleh  karena itu,  penelitian  ini  difokuskan  pada  artikel  terbaru  pada tahun  2020  dan  2021.  Pencarian  lebih  teliti  dilanjutkan dengan memeriksa judul penelitian, abstrak, dan ringkasan konten  terkait  tanaman  hortikutur  yang  menghasilkan  12 artikel penelitian yang relevan dipilih untuk penelitian ini. Lebih  lanjut,  12-artikel  terpilih  dicek  jumlah  sitasinya dengan menggunakan Google Scholar (Tabel I).
Gambar 2. Proses seleksi artikel pada bulan Juni 2020 T ABEL I
S ITASI ARTIKEL TERPILIH
Ref# Sitasi Ref# Sitasi Ref# Sitasi Ref# Sitasi [13] - [16] 1 [19] 6 [22] 12 [14] - [17] - [20] - [23] 1 [15] 14 [18] - [21] 1 [24] -
Selanjutnya, dua belas artikel terpilih dianalisis dengan menggunakan  perangkat  lunak  NVivo  12  Plus  untuk mengetahui  berbagai  peluang  penelitian  dan  area  untuk peningkatan  lebih  lanjut.  NVivo  12  Plus  memiliki  fitur untuk  memvisualisasikan  analisis  kluster  kueri  frekuensi kata (Gambar 3) dan kesamaan koefisien korelasi Pearson (Gambar  4).  Berdasarkan  frekuensi  kata  dan  kemunculan kemiripan  kata,  artikel  yang  dipilih  terbagi  dalam  dua kluster. Masing-masing kluster mencakup dua sub-kluster. Kemunculan  kata  dan  persamaan  kata  menjadi  fokus peneliti pada perhatian pada teknologi blockchain.
Gambar 4. Kemiripan kata pada dua belas artikel terpilih berdasarkan koefisien korelasi Pearson
Menurut [13], penggunaan blockchain dapat meningkatkan kinerja rantai suplai mengingat panjangnya rantai suplai dan transparansi yang disediakan blockchain. Selain  itu,  adopsi  blockchain  dipengaruhi  oleh  level berbagi  pengetahuan  dan  tekanan  mitra  dagang.  Dalam aplikasi  blockchain,  kriteria  terpenting  adalah  keamanan, visibilitas,  dan  audit  [14].  Selanjutnya,  operasi  logistik yang  paling  memungkinkan  adalah transportation , materials  handling , warehousing , order  processing ,  dan fleet management .
Dengan menggunakan analisis komponen utama dan uji coba  pengambilan  keputusan  fuzzy  dan  laboratorium evaluasi  (DEMATEL),  [15]  memperoleh  enam  faktor penentu  keberhasilan  ( critical  success  factor /CFS).  CFS yang  diperoleh  adalah  keamanan  dan  desentralisasi  data, aksesibilitas, hukum dan kebijakan, dokumentasi, manajemen  data,  dan  kualitas.  Studi  [15]  mengarah  pada kesimpulan  bahwa  integrasi  blockchain  dan  aliran  rantai pasokan  menghasilkan  pencapaian  keberlanjutan.  Lebih lanjut,  studi  [16]  menyatakan  bahwa  rantai  pasok pertanian harus memperhatikan kualitas. Namun demikian, kurangnya regulasi  pemerintah dan kepercayaan di  antara pemangku  kepentingan  agro  menjadi  hambatan  adopsi untuk menggunakan blockchain.
Aktor usia menengah dan muda dapat memberikan data yang  lengkap  untuk  proyek  pertanian  dengan  blockchain [17].  Komoditas  segar,  biji-bijian,  dan  produk  air  segar adalah  komoditas  yang  paling  banyak  disediakan  pada aplikasi  e-commerce.  Referensi  [18]  menggunakan framework  pertanian  elektronik  berbasis  blockchain  yang menggabungkan  seluruh  model  pertanian  dari  pertanian berbasis ekologi ke dalam blockchain. Pada framework ini, jaringan  blockchain  secara  otomatis  mengumpulkan  dan mengunggah data melalui berbagai jenis perangkat pintar.
Kombinasi  arsitektur  sistem  dari internet-of-things (IoT),  analitik  big  data,  dan  visualisasi  digunakan  dalam penilaian  siklus  hidup  berbasis  blockchain  untuk meningkatkan keberlanjutan rantai pasokan [19]. Referensi  [20]  menggunakan  framework  teknologi, organisasi  dan  lingkungan  ( technology  organization environment /TOE) dan tool DEMATEL untuk mengetahui kendala utama yang dihadapi saat mengadopsi blockchain.  Hasil  yang  diperoleh  ialah  bahwa  diantara para  akademisi  dan  pakar  industri  maka  rantai  pasokan dan  hambatan  teknologi  merupakan  hambatan  paling besar.  Untuk  itu,  referensi  [21]  membangun  framework terintegrasi  untuk  proses  adopsi  inovasi  blockchain  pada
perspektif  organisasional  dan  keberterimaan  pengguna. Framework  yang  terintegrasi  ini  mencakup  karakteristik inovasi,  organisasi,  lingkungan,  dan  keberterimaan pengguna.  Selanjutnya,  [21]  menyampaikan  daftar  isyu- isyu yang dihadapi saat adopsi blockchain (Gambar 5).
Gambar 5. Hasil investigasi isyu-isyu dalam penerapan Blockchain [21]
Referensi [22] menggunakan teknologi blockchain pada rantai  pasokan  waktu  nyata  ( real  time ),  terutama  pada informasi  yang  dikumpulkan  dari  berbagai  sumber  data. Pada artikelnya, [22] menggunakan kombinasi identifikasi frekuensi radio ( radio frequency identification /RFID), IoT, dan  teknologi  blockchain  dalam  sistem  portal  yang terhubung  ke  perusahaan  transportasi,  perangkat  pelacak, titik  terkonsolidasi,  dan  pemasok.  Lebih  lanjut,  [23] menegaskan teknologi blockchain dapat diimplementasikan  secara  luas  pada  sektor  keuangan, perawatan  kesehatan,  kota  pintar  ( smart  city ),  kontrak pintar  ( smart  contract ),  pasar  energi,  dan  sektor-sektor pemerintahan.  Studi  [23]  berfokus  pada  sektor  pertanian pada masalah ketertelusuran pangan yang dimotivasi oleh semakin  luasnya  penggunaan  pestisida  dan  pupuk  serta diarahkan  untuk  meningkatkan  kepedulian  konsumen pada  produk  pertanian  berkualitas.  Studi  [23]  juga menegaskan  bahwa  Cina,  Amerika  Serikat,  dan  Italia paling  banyak  berinvestasi  dalam  teknologi  blockchain. Blockchain  sebenarnya  adalah  salah  satu  elemen  dalam teknologi  sistem  [24].  Referensi  [24]  menganalisis  enam kasus teknologi berbasis blockchain dalam rantai pasokan makanan  dengan  menggunakan  framework  penilaian teknologi.  Framework  tersebut  membedakan  empat komponen  yang  berbeda,  yaitu:  teknik,  pengetahuan, organisasi,  dan  produk.  Hasilnya  adalah  teknologi berbasis  blockchain  memberikan  dampak  langsung  pada beberapa atribut seperti peningkatan transparansi, ketertelusuran,  dan  kepercayaan.  Dampak  lain,  misalnya peningkatan  manajemen  data,  dianggap  sebagai  efek samping dari proses digitalisasi non-digital.
B. Pengembangan Prototipe Blockchain
Dalam penelitian ini, pengembangan teknologi blockchain diterapkan pada pencatatan transaksi distribusi cabai.  Adapun  pengembangan  sistemnya  menggunakan tahapan  pada  metodologi extreme  programming ,  yaitu perencanaan, desain, pengkodean, pengujian, dan rilis.
1) Perencanaan: Tahap  perencanaan  dimulai  dengan diskusi  menyeluruh  tentang  persyaratan  dasar  sistem  dan keperluan  data  yang  akan  digunakan  dalam  sistem.  Hasil diskusi tersebut menghasilkan user story sebagai pedoman untuk  pengembangan  lebih  lanjut  (Tabel  II). User  story
yang  dibuat  menggambarkan  pengguna  yang  akan menggunakan  sistem,  story  tentang  kebutuhan  pengguna, serta  kriteria  keberterimaan  untuk  setiap user  story . Pengguna  sistem  adalah  produsen  (petani),  pedagang pengepul, pedagang grosir, pedagang pengecer, konsumen, dan  admin  Kriteria  keberterimaan  menggambarkan  ruang lingkup cerita pengguna dalam bentuk daftar kriteria yang menunjukkan penyelesaian suatu story .
T ABEL II
U SER STORY S YSTEM P ENCATATAN D ISTRIBUSI C ABAI Aktor User story Kriteria Keberterimaan Admin Sebagai admin, saya ingin menambah atau mendaftarkan aktor baru ke dalam sistem - Admin dapat mendaftarkan aktor rantai distribusi Sebagai admin, saya ingin membuat detail dasar transaksi distribusi cabai pada sistem pencatatan transaksi rantai distribusi cabai - Admin dapat menambahkan transaksi baru dengan membuat detail transaksi dasar Sebagai admin, saya ingin memperbarui detail aktor rantai distribusi yang terdaftar di sistem - Admin dapat mencari akun aktor rantai distribusi untuk diperbarui di kolom pencarian - Admin dapat memperbarui detail aktor rantai distribusi Aktor rantai distribusi
(produsen, pedagang pengepul, pedagang grosir, pedagang pengecer) Sebagai aktor rantai distribusi, Saya ingin memutakhirkan detail informasi transaksi pada sistem transaksi rantai distribusi cabai - Aktor rantai distribusi dapat memilih transaksi untuk dimutakhirkan - Aktor rantai distribusi dapat memutakhirkan transaksi distribusi cabai
Sebagai aktor rantai distribusi, Saya ingin melakukan pemutakhiran profil
- Aktor rantai distribusi dapat memperbarui profil Aktor rantai distribusi dan konsumen Sebagai aktor rantai distribusi dan konsumen, Saya ingin melihat informasi tentang pasokan cabai pada setiap aktor rantai distribusi cabai - Aktor rantai distribusi dan konsumen dapat melihat semua daftar transaksi
- Aktor rantai distribusi dan konsumen dapat melihat detail setiap transaksi untuk mengetahui informasi pasokan cabai pada masing- masing aktor rantai distribusi cabai Sebagai aktor rantai distribusi dan konsumen, Saya ingin melihat informasi harga cabai di setiap aktor rantai distribusi cabai - Aktor rantai distribusi dan konsumen dapat melihat semua daftar transaksi
- Aktor rantai distribusi dan konsumen dapat melihat detail setiap transaksi untuk mengetahui informasi harga cabai pada masing-masing
aktor rantai distribusi cabai Sebagai aktor rantai distribusi dan konsumen, Saya ingin melihat informasi dari mana cabai diperoleh dan kemana cabai dijual
- Aktor rantai distribusi dan konsumen dapat melihat semua daftar transaksi - Aktor rantai distribusi dan konsumen bisa melihat detail tiap transaksi untuk mengetahui informasi dari mana asal cabai dan kemana cabai tersebut dijual
Diagram use  case dibuat  setelah user  story diafirmasi (Gambar 6). User story menggambarkan aktor dan fungsi yang  dilakukan  oleh  para  aktor.  Aktor  rantai  distribusi terdiri atas produsen, pedagang pengepul, pedagang grosir, dan  pedagang  pengecer.  Para  aktor  dapat  melihat informasi  ketersediaan  cabai,  melihat  transparansi  harga cabai, melihat informasi dari mana cabai, perjalanan cabai yang  sudah  dijual,  pemutakhiran  data  cabai,  serta transaksi  distribusi.  Konsumen  dapat  melihat  informasi ketersediaan  cabai,  transparansi  harga  cabai,  dan informasi  asal  cabai.  Admin  dapat  mendaftarkan  semua aktor  rantai  distribusi  ke  dalam  sistem  dan  melakukan transaksi  pencatatan  pendistribusian  cabai  baru.  Admin menambahkan  rincian  dasar  pencatatan  transaksi  rantai distribusi  cabai.  Selanjutnya,  transaksi  tersebut  akan diteruskan  ke  aktor  rantai  distribusi.  Akhirnya,  aktor rantai distribusi dapat memperbarui transaksi ini.
Gambar 6. Diagram use case sistem pencatatan distribusi cabai
2) Desain: Pada tahap ini peneliti melakukan perancangan kartu class responsibility collaborator (CRC) untuk mengetahui hubungan antar kelas. Kelas pada kartu CRC dan diagram  kelas  ( class diagram ) disesuaikan agar selaras  dengan smart  contract .  Pengembangan  sistem dilakukan dengan menggunakan smart contract Ethereum dan bahasa pemrograman Solidity. Solidity adalah bahasa berorientasi  objek  untuk  mendefinisikan smart  contract yang setara dengan kelas objek. Dalam Solidity, tidak ada konsep  kelas,  tetapi smart  contract adalah  konsep  yang sangat  mirip  dengan  objek  kelas.  Seperti  halnya  objek kelas, smart  contract dapat  memiliki struktur data, fungsi publik  dan  privat,  dan  dapat  mewarisi  satu  atau  lebih smart contract lainnya [12].
Kartu CRC mencakup nama kelas, tanggung jawab, dan kolaborator. Pada Gambar 7 terdapat sembilan kelas yaitu Contract  Cabai , Contract  User , Contract  Storage , User , Basic Transaksi , Transaksi Produsen, Transaksi  Pedagang  Pengepul , Transaksi  Pedagang Grosir , dan Transaksi  PedagangEceran . Kelas Contract  User berkolaborasi  dengan  kelas User dan kelas Contract Storage .  Kelas User mengirimkan  data
yang  dibutuhkan  oleh  kelas Contract  User kemudian data tersebut disimpan di kelas Contract Storage .
Gambar 7. Kartu CRC sistem pencatatan distribusi cabai
Tahap  desain  juga  melakukan  desain  diagram  kelas ( class diagram ). Pembuatan diagram kelas pada Gambar 8 mengikuti smart  contract .  Solidity  juga  memiliki konstruksi  struktur  dalam smart  contract . Struct adalah tipe  yang  ditentukan  khusus  yang  mengelompokkan beberapa variabel. Dalam mendeskripsikan diagram kelas, Struct dalam smart  contract juga  dinyatakan  sebagai kelas. Struct dapat menyimpan data tetapi tanpa operasi. Konsep  Solidity  lainnya  adalah events ,  pemetaan,  dan modifier yang  terdapat  dalam smart  contract . Event dan pemetaan  ini  digunakan  sebagai  atribut  dalam  diagram kelas,  sedangkan modifier bertindak  sebagai  operasi dalam diagram kelas [12]. Contract Cabai dan Contract User mendapatkan  pewarisan  dari Ownable  library contract (Gambar 8). Contract Storage adalah warisan dari StorageOwnable  library  contract .  Dalam Contract  Storage terdapat struct  user , struct basicDetails , struct produsen , struct pedagangPengepul , struct  pedagangGrosir ,  dan struct pedagangEceran sebagai  variabel  penyimpanan informasi  dari  kelompok  variabel  pada  atribut struct . Oleh  karena itu, struct adalah komposisi  dari Contract Storage .  Selanjutnya  perancangan  antarmuka  berupa mock-up sistem sebagai  acuan antarmuka pengguna ( user interface ).  Desain  antarmuka  menggunakan  Balsamiq Mockups (Gambar 9-11).
3) Pengkodean: Tahap implementasi adalah pembuatan  kode  program  untuk  membuat  smart  contract dengan menggunakan bahasa pemrograman Solidity.  Ada tiga smart  contract yang  dikembangkan,  yaitu Contract Cabai , Contract User , dan Contract Storage . Juga, dua library smart contract telah dikembangkan, yaitu Ownable library  contract dan StorageOwnable  library contract ,  yang  merupakan  open-source  libraries  dari library  OpenZeppelin. Ownable library contract dan StorageOwnable library contract adalah file  kontrak
kepemilikan untuk menyediakan akses terkontrol ke smart contract yang  digunakan.  Hanya  ada  satu  akun  atau disebut  satu  akun  yang  merupakan  pemilik  kontrak  yang dapat  mengakses  dan  mengontrol  beberapa  fitur  atau fungsi smart contract [25].
Gambar 8. Diagram kelas ( class diagram ) sistem pencatatan distribusi cabai
Gambar 9. Mockup halaman utama Admin
Gambar 10. Mockup halaman manajemen user
Gambar 11. Mockup halaman utama aktor distribusi rantai pasok
Setelah  menyelesaikan  pengkodean smart  contract yang  selaras  dengan  fungsi  yang  diperlukan,  maka kompilasi smart  contract dijalankan.  Solidity  memiliki kompilator yang dikenal sebagai kompilator Solidity yang disebut solc .  Kompilator  ini  mengubah  kode  Solidity menjadi bytecode untuk  dieksekusi  oleh  mesin  virtual Ethereum (EVM). Kompilasi smart contract menggunakan  framework  Truffle  yang  menghasilkan application  binary  interface (ABI)  dan  bytecode smart contract dalam  file  JSON.  ABI  bertindak  sebagai antarmuka  yang  mencakup  semua  deklarasi  fungsi eksternal  dan  publik  serta  parameternya  dan  tipe return yang dikembalikan ( return  type ). Bytecode adalah bahasa tingkat  rendah  dari smart  contract yang  dapat  dieksekusi oleh  EVM. Bytecode untuk deployment dan  ABI  untuk menjalankan  fungsi  dalam smart  contract .  ABI  juga digunakan untuk mengintegrasikan smart contract dengan front-end dari sistem. Selanjutnya, pengkodean dilanjutkan dengan menginstal library Web3.js.  Web3.js  adalah  Ethereum JavaScript  API  resmi  yang  memungkinkan  pengguna berinteraksi  dengan smart  contract melalui  jaringan  yang ada. Penyedia Ethereum yang digunakan dalam sistem ini adalah MetaMask. MetaMask digunakan untuk menghubungkan  pengguna  ke  jaringan  Ethereum  dari antarmuka  web.  MetaMask  juga  dapat  berfungsi  sebagai wallet yang memungkinkan pengguna membayar transaksi saat berinteraksi dengan sistem. Untuk keperluan ini,  pengguna  perlu  melakukan  instalasi  ekstensi MetaMask  Chrome  untuk  dapat  mengaktifkan  interaksi dengan sistem.
Terakhir,  komponen page dikonstruksi  berdasarkan mock-up yang  telah  dirancang  sebelumnya.  Komponen antarmuka  pengguna  adalah  login,  dasbor  admin,  dasbor pengguna,  manajemen  transaksi,penambahan  aktor  rantai pasokan, pemutakhiran transaksi aktor rantai pasokan, dan untuk melihat transaksi. Di halaman web yang dibuat pada sistem, digunakan templat dari antarmuka pengguna ( user interface /UI) Architect. Templat ini menyediakan berbagai  macam  tag  HTML  yang  serbaguna  dalam pembuatan  UI,  seperti  tabel,  tombol,  ikon.  Contoh beberapa  komponen  yang  dibuat  adalah  halaman  utama Admin  (Gambar  12),  halaman  manajemen  pengguna (Gambar  13),  halaman  utama  aktor  rantai  distribusi (Gambar 14), dan halaman detail transaksi (Gambar 15).
Gambar 12. Halaman utama Admin
Gambar 13. Halaman manajemen pengguna
Gambar 14. Halaman utama aktor rantai distribusi
4) Pengujian: Uji unit dilakukan untu mengoperasikan kasus uji dalam bahasa pemrograman JavaScript dan agar dapat dijalankan dengan menggunakan framework Truffle. Pengujian  penerimaan  ( acceptance  testing )  dilakukan pada  tiga  kelompok  aktor.  Pengujian  juga  dilakukan  oleh tim  pengembang  dengan  menguji  fungsionalitas  sistem. Hasil pengujian penerimaan telah sukses dilakukan sesuai dengan fungsi dan skenario yang disajikan pada Tabel III.
5) Rilis:  Smart  contract yang  telah  diuji  kemudian dirilis  menggunakan  jaringan  uji  blockchain,  yaitu jaringan uji Rinkeby. Penerapan smart contract dilakukan menggunakan framework Truffle. Sistem yang dikembangkan  berhasil  dirilis  dan  dapat  diakses  pada  url https://blockchaincabai.herokuapp.com/.
T ABEL III H ASIL P ENGUJIAN K EBERTERIMAAN Aktor Fungsi Skenario dan Hasil Uji Admin Register aktor rantai distribusi ✓ Admin berhasil mendaftarkan aktor rantai distribusi baru ke dalam sistem Menambahkan detail dasar dari transaksi terkait cabai ✓ Admin berhasil menambahkan transaksi baru dengan membuat detail transaksi dasar Memutakhirkan detail aktor rantai distribusi ✓ Admin berhasil mencari akun aktor rantai distribusi untuk dimutakhirkan pada kolom pencarian
✓ Admin berhasil memutakhirkan detail aktor rantai distribusi Aktor rantai distribusi
(produsen, pedagang pengepul,
pedagang grosir, pedagang pengecer) Memutakhirkan transaksi distribusi cabai
✓ Aktor berhasil memilih transaksi untuk dimutakhirkan
✓ Aktor rantai distribusi berhasil memutakhirkan transaksi distribusi cabai
Memutakhirkan profil pengguna ✓ Aktor berhasil melakukan pemutakhiran profil View informasi ketersediaan cabai ✓ Aktor berhasil mengamati semua daftar transaksi
✓ Aktor berhasil mengamati detail setiap transaksi untuk mengetahui informasi pasokan cabai dari masing-masing aktor rantai distribusi cabai Melihat transparansi harga cabai ✓ Aktor berhasil mengamati semua daftar transaksi ✓ Aktor berhasil mengamati detail setiap transaksi untuk mengetahui informasi harga cabai pada masing-masing aktor rantai distribusi cabai Melihat informasi perjalanan cabai ✓ Aktor berhasil mengamati semua daftar transaksi
✓ Aktor berhasil mengamati detail setiap transaksi untuk mengetahui informasi perjalanan cabai Konsumen View informasi ketersediaan cabai ✓ Konsumen berhasil melihat semua daftar transaksi
✓ Konsumen berhasil mencermati detail setiap transaksi untuk mengetahui informasi pasokan cabai pada masing-masing aktor rantai
Aktor Fungsi
Skenario dan Hasil Uji
distribusi cabai. Mencermati transparansi harga cabai ✓ Konsumen berhasil melihat semua daftar transaksi
✓ Konsumen berhasil melihat detail setiap transaksi untuk mengetahui informasi harga cabai pada masing-masing aktor pasokan rantai cabai. View informasi ketertelusuran cabai ✓ Konsumen berhasil melihat semua daftar transaksi ✓ Konsumen berhasil melihat detail setiap transaksi untuk mencari informasi perjalanan cabai

## IV. K ESIMPULAN
Adopsi  teknologi  blockchain  telah  diterapkan  para peneliti  pada  bidang  keuangan,  perawatan  kesehatan, smart  city , smart  contract ,  pasar  energi,  pemerintah,  dan pertanian.  Secara  khusus,  rantai  pasokan  pertanian  yang mendapatkan  lebih  banyak  perhatian  para  peneliti  adalah terkait  dengan  kinerja  rantai  pasokan,  kualitas  produk pertanian, dan dampak rantai pasokan seperti peningkatan transparansi,  keterlacakan,  dan  kepercayaan.  Blockchain sebenarnya  adalah  salah  satu  elemen  dalam  teknologi sistem.  Dengan  demikian,  blockchain  dapat  digabungkan dengan  teknologi  sistem  lainnya.  Sebagai  contoh, blockchain  dapat  dikombinasikan  dengan  penggunaan RFID, IoT, atau aplikasi rekayasa perangkat lunak lainnya untuk  pengumpulan  data  input  secara  otomatis  atau diinput  oleh  pengguna.  Namun  demikian,  kompleksitas rantai  pasokan  dan  gap  teknologi  tetap  menjadi  kendala adopsi blockchain yang paling utama.
Sistem  pencatatan  transaksi  distribusi  cabai  yang memanfaatkan  teknologi  blockchain  telah  berhasil dikembangkan  dengan  menggunakan  pendekatan  agile, yaitu  dengan Extreme  Programming ,  pada  jaringan  uji Rinkeby.  Pada  studi  ini,  sistem  yang  dikembangkan mencakup  tiga smart  contract ,  yaitu Contract  Cabai , Contract  User , dan Contract  Storage .  Sistem  yang dikembangkan  juga  menggunakan  dua smart  contract library , yaitu Ownable  library  contract dan StorageOwnable  library  contract . Smart  contract dibuat dengan menggunakan framework Truffle.
Penggunaan blockchain dimaksudkan untuk memberikan transparansi dan keamanan dalam pemutakhiran  atau  penambahan  data  yang  ada.  Sebagai catatan, data yang telah tersimpan pada sistem tidak dapat dihapus.  Sistem  yang  telah  dikembangkan  membutuhkan komunikasi  antar  berbagai  tipe  pengguna.  Para  pengguna sistem  ialah  produsen  cabai,  pedagang  pengepul, pedagang  grosir,  pedagang  pengecer,  konsumen,  dan admin. Pengguna dalam rantai pasokan dapat memperbarui  transaksi  distribusi  dan  melihat  detail transaksi distribusi. Konsumen dapat mengamati transaksi distribusi  di  setiap  aktor  rantai  distribusi.  Admin  dapat menambahkan  pengguna  dan  melihat  distribusi  dan mengunduh transaksi.
Sistem dan smart contract yang berhasil dikembangkan dapat  digunakan  untuk  studi  lebih  lanjut,  terutama  untuk
mengeksplorasi  penerapan  secara  penuh  pada  jaringan utama  Ethereum.  Selain  itu,  sistem  pencatatan  cabai  ini dapat dikembangkan  lebih lanjut  dengan cara melengkapi berbagai  fitur  yang  telah  dibuat,  diantaranya  yaitu pengembangan fitur tambahan seperti foto produksi  cabai dan  foto  profil  aktor  distribusi  cabai.  Sebagai  tambahan, peneliti  merekomendasikan  penelitian user  experience (UX) para aktor rantai pasokan cabai secara lebih luas lagi. Penelitian  UX  para  aktor  dan  konsumen  rantai  pasokan cabai  disarankan  dipilah  menurut  level  administrasi kabupaten dan kota.

## D AFTAR P USTAKA
[1] Y.-P.  Lin,  J.  Petway,  J.  Anthony,  H.  Mukhtar,  S-W  Liao,  C-F Chou, et al ., “Blockchain: The Evolutionary Next Step for ICT E- Agriculture,” Environments , vol. 4, no. 3, p. 50, 2017.
[2] Y. Chen, “Blockchain tokens and the potential democratization of entrepreneurship and innovation,” Bus. Horiz. , vol. 61, no. 4,  pp. 567–575, 2018.
[3] M.  M.  Queiroz  and  S.  Fosso  Wamba,  “Blockchain  adoption challenges in supply chain: An empirical investigation of the main drivers  in  India  and  the  USA,” Int.  J.  Inf.  Manage. ,  vol.  46,  no. November 2018, pp. 70–82, 2019.
[4] Wahyuningsih,  “Pusat  Data  dan  Sistem  Informasi  Pertanian Sekretariat  Jenderal  Kementerian  Pertanian,” Bul.  Konsumsi Pangan , vol. 09, no. 01, pp. 32–42, 2018.
[5] N. Palar, P. A. . Pangemanan, and E. G. Tangkere, “Faktor-Faktor Yang Mempengaruhi Harga Cabai Rawit Di Kota Manado,” Agri- Sosioekonomi , vol. 12, no. 2, p. 105, 2016.
[6] M.  S.  Jawal  Anwarudin,  A.  L.  Sayekti,  A.  K.  Marendra,  and  D. Yusdar  Hilman,  “Production  Dynamics  and  Price  Volatility  of Chili: Anticipation Strategy and Development Policy,” Pengemb. Inov. Pertanian , vol. 6, no. 7805768, 2013.
[7] I.  A.  Budiastuti,  S.  M.  S.  Nugroho,  and  M.  Hariadi,  “Predicting daily  consumer  price  index  using  support  vector  regression method,” QiR 2017 - 2017 15th Int. Conf. Qual. Res. Int. Symp. in Electr. Comput. Eng ., vol. 2017-Decem, pp. 23–28, 2017.
[8] V. S. Chopra, Supply Chain Management . Strategy , Planning & Operation , 5 th Ed. New Jersey USA: Prentice Hall 2013.
[9] M.  V.  Kumar  and  N.  C.  S.  N.  Iyengar,  “A  Framework  for Blockchain  Technology  in  Rice  Supply  Chain  Management
Plantation,” vol. 146, no. Fgcn, pp. 125–130, 2017.
[10] K.  Beck, Extreme  Programming  Explained ,  2 nd Ed.  Boston: Addison-Wesley, 2004.
[11] R. Pressman and B. Maxim, Software engineering a practitioner’s approach . 9 th Ed. New York: McGraw Hill Education, 2020.
[12] L. Marchesi, M. Marchesi, and R. Tonelli, “ ABCDE -- Agile Block Chain Dapp Engineering, ”,  Blockchain:  Research  and Application, vol. 1(1-2), p.1-19, Nov. 2020.
[13] S.  Fosso  Wamba,  M.  M.  Queiroz,  and  L.  Trinchera,  “Dynamics between  blockchain  adoption  determinants  and  supply  chain performance: An empirical investigation,” Int. J. Prod. Econ ., vol. 229, p. 107791, 2020.
[14] I. M. Ar, I. Erol, I. Peker, A. I. Ozdemir, T. D. Medeni, and I. T. Medeni,  “Evaluating  the  feasibility  of  blockchain  in  logistics operations: A decision framework,” Expert Syst. Appl. , vol. 158, p. 113543, 2020.
[15] S. Yadav and S. P. Singh, “Blockchain critical success factors for sustainable supply chain,” Resour. Conserv. Recycl ., vol. 152, no. May 2019, p. 104505, 2020.
[16] V.  S.  Yadav,  A.  R.  Singh,  R.  D.  Raut,  and  U.  H.  Govindarajan, “Blockchain  technology  adoption  barriers  in  the  Indian agricultural  supply  chain:  an  integrated  approach,” Resour. Conserv. Recycl. , vol. 161, no. November 2019, p. 104877, 2020.
[17] X. Li, D. Wang, and M. Li, “Convenience Analysis of Sustainable E-agriculture Based on Blockchain Technology,” J. Clean. Prod ., p. 122503, 2020.
[18] C.  Yiyan,  L.  Ye,  and  L.  Cunjin,  “Electronic  agriculture, blockchain and digital agricultural democratization: Origin, theory and application,” J. Clean. Prod ., vol. 268, p. 122071, 2020.
[19] A.  Zhang,  R.  Y.  Zhong,  M.  Farooque,  K.  Kang,  and  V.  G. Venkatesh,  “Blockchain-based  life  cycle  assessment:  An
implementation  framework  and  system  architecture,” Resour. Conserv. Recycl. , vol. 152, no. May 2019, p. 104512, 2020.
[20] M. Kouhizadeh, S. Saberi, and J. Sarkis, “Blockchain technology and the sustainable supply chain: Theoretically exploring adoption barriers,” Int. J. Prod. Econ ., vol. 231, p. 107831, 2021.
[21] N.  Upadhyay,  “Demystifying  blockchain:  A  critical  analysis  of challenges,  applications  and  opportunities,” Int.  J.  Inf.  Manage ., vol. 54, no. March 2019, p. 102120, 2020.
[22] P. Helo and A. H. M. Shamsuzzoha, “Real-time supply chain—A blockchain  architecture  for  project  deliveries,” Robot.  Comput. Integr. Manuf ., vol. 63, no. November 2019, p. 101909, 2020.
[23] G.  Mirabelli  and  V.  Solina,  “Blockchain  and  agricultural  supply chains  traceability:  Research  trends  and  future  challenges,” Procedia Manuf. , vol. 42, no. 2019, pp. 414–421, 2020.
[24] S. Köhler and M. Pizzol, “Technology assessment of blockchain- based technologies in the food supply chain,” J. Clean. Prod ., vol. 269, p. 122193, 2020.
[25] J.  Chitoda, Mastering  Blockchain  Programming  with  Solidity .
Birmingham UK: Packt Pubishing Limited, 2019.