Anda di halaman 1dari 48

Laporan Program SERTIFY

Dokumen Spesifikasi Program untuk Proyek III

Disusun Oleh :
Kelompok B2
Ilham Cahyahadi Pamungkas 171511042
Kiki Pratiwi 171511046
Lisnawati Srisunda 171511047
Mazid Ahmad 171511048
Muhammad Ersaad Gisda Putera 171511051
Naufal Ferdy Sulaeman 171511053
Nur Haniyah Rahmatillah 171511056
Rahmadi 171511059
Sheilla Desvita Putri 171511062
Yusril Syah Yusuf 171511066
Kelas 2 – B

Jurusan Teknik Komputer dan Informatika


Program Studi D3 Teknik Informatika
Politeknik Negeri Bandung
2018/2019

KATA PENGANTAR
Puji dan syukur kami panjatkan kehadirat Allah Subhanallahu wata’ala yang telah
memberikan rahmat dan karunia-Nya sehingga kami bisa menyelesaikan laporan Program
Sertify ini. Laporan ini dikerjakan untuk memenuhi tugas mata kuliah Proyek III mengenai
pembuatan aplikasi Sertify dan teknis-teknis pembuatan aplikasi yang kami buat.

Kami mengucapkan terima kasih kepada semua pihak yang telah membantu sehingga
laporan ini dapat diselesaikan tepat pada waktunya. Laporan ini masih jauh dari sempurna,
oleh karena itu kritik dan saran yang bersifat membangun sangat kami harapkan demi
sempurnanya laporan ini.

Bandung, 10 Januari 2019

Penyusun

1
DAFTAR ISI
KATA PENGANTAR 0

BAB 1 Pendahuluan 4

1.1 Latar Belakang 4

1.2 Deskripsi Kasus 4

1.3 Rumusan Masalah 4

BAB 2 Spesifikasi Program 5

2.1 Deskripsi Program 5

2.1.1 Deskripsi Fitur Program 5

2.1.2 Alur Proses Aplikasi 6

2.2 Tahapan SDLC 16

2.2.1 Analisis 16

2.2.1.1 DFD (Data Flow Diagram) 16


2.2.1.2 Entity Relationship Diagram (ERD) 17

2.2.1.3 Arsitektur Sistem 20

2.2.1.4 Struktur Data 20


2.2.1.4.1. Struktur Data Blockchain 18

2.2.1.4.2. Function Smart Contract Sertify 19

2.2.1.5 Use Case 21


2.2.1.5.1 Use Case Scenario 1 21

2.2.1.5.2 Use Case Scenario 2 21

2.2.1.5.3 Use Case Scenario 3 22


2.2.1.5.4 Use Case Scenario 4 22

2.2.1.5.5 Use Case Scenario 5 23

2.2.1.5.6 Use Case Scenario 6 23

2.2.1.5.7 Use Case Scenario 7 23

2.2.2 Desain 24
2.2.2.1 Mockup 24

2.2.3 Coding 27

2.2.4. Testing 27

BAB 3 Evaluasi 30

2
3.1 Pencapaian 30

3.1.2 Rencana vs Realisasi 34


3.1.3 Monitoring Pekerjaan 34

3.1.4 Capaian Produk 34

3.1.4.1 Screenshot 34

3.1.4.1.1 HomePage 34

3.1.4.1.2 DashBoard-User 35

3.1.4.1.3 DashBoard-Corporate 35

3.1.4.1.4 Request Approval 35

3.1.4.1.5 FAQ 36

3.1.4.1.6 Verifikasi 36

3.1.4.1.7 Corporate 36

3.1.4.1.8 How It Works 36


3.1.4.1.9 Certificate Stamp 37

3.1.4.1.10 Certificate Generate 37

3.1.4.1.11 Sign Up 37
3.2 Lesson Learn 38

3.2.1 Ilham Cahyahadi Pamungkas - 171511042 44

3.2.2 Kiki Pratiwi - 171511046 44


3.2.3 Lisnawati Srisunda - 171511047 44

3.2.4 Mazid Ahmad - 171511048 44

3.2.5 Muhammad Ersaad Gisda Putera - 171511051 44


3.2.6 Naufal Ferdy Sulaeman - 171511053 44

3.2.7 Nur Haniyah Rahmatillah - 171511056 44


3.2.8 Rahmadi - 171511059 44

3.2.9 Sheilla Desvita Putri - 171511062 44

3.2.10 Yusril Syah Yusuf - 171511066 44

BAB 4 Penutup 45

4.1 Kesimpulan 45

4.2 Saran 45

DAFTAR PUSTAKA 46

3
4
BAB 1 Pendahuluan
1.1 Latar Belakang
Blockchain merupakan sebuah buku besar terdistribusi (distributed ledger) terbuka
yang dapat mencatat transaksi antara dua pihak secara efisien dan dengan cara yang dapat
diverifikasi dan permanen. Untuk pemanfaatannya sebagai buku besar terdistribusi,
blockchain biasanya dikelola oleh sebuah jaringan peer to peer secara kolektif dengan
mengikuti protokol tertentu untuk komunikasi antar node dan mengkonfirmasi blok-blok
baru. Setelah direkam, data dalam blok tidak dapat diubah secara retroaktif tanpa perubahan
pada blok-blok berikutnya, yang membutuhkan konsensus mayoritas jaringan.

1.2 Deskripsi Kasus

Saat ini banyak sertifikat dan kejadian yang direkayasa sehingga kita harus
membuktikan berulang kali bahwa sertifikat yang kita miliki itu adalah benar. Hal yang
paling sering terjadi di Indonesia saat ini adalah legalitas sertifikat.
Sertify hadir sebagai interfaces yang menghubungkan anda dengan teknologi
pencatatan. Anda tidak perlu khawatir akan adanya pemalsuan dan Anda tidak perlu legalisir
Sertifikat yang anda miliki berulang kali. Dengan adanya sertify, anda hanya perlu terhubung
ke internet untuk melegalisir dan menggunakan hasil legalisir tersebut, tidak perlu datang ke
instansi terkait.
1.3 Rumusan Masalah
1. Apakah dengan teknologi Blockchain kevalidan sertifikat bisa terjamin?
2. Apakah dengan teknologi Blockchain sertifikat hanya perlu satu kali validasi?
3. Bagaimana merancang dan membuat aplikasi berbasis web yang didukung
oleh teknologi blockchain?
4. Bagaimana cara menginstal dan menjalankan Sertify?
1.4 Tujuan
1. Merancang dan membuat aplikasi berbasis web dengan teknologi blockchain
yaitu Sertify.
2. Memberikan tutorial bagaimana cara untuk menginstal dan menjalankan
Sertify.
3. Memaparkan bagaimana teknologi Blockchain bekerja dalam menyelesaikan
masalah yang disebutkan pada bagian sebelumnya.
4. Aplikasi ini diharapkan dapat memberikan kemudahan dan memberikan
manfaat khususnya pengguna yang ingin memvalidasi sertifikat tanpa harus
mengunjungi instansi yang mengeluarkan sertifikat tersebut.

5
BAB 2 Spesifikasi Program
2.1 Deskripsi Program
2.1.1 Deskripsi Fitur Program
1. Stamp Document
Melakukan proses pengesahan suatu dokumen sekaligus
menguploadnya ke jaringan blockchain.
2. Generate Signature
Melakukan proses penandatanganan terhadap dokumen yang telah
disahkan sebelumnya.
3. Validation Document
Melakukan proses validasi sebagai pembuktian bahwa benar dokumen
tersebut sebelumnya telah ditandatangani.
4. Registration User Account
Melakukan registrasi akun bagi pengguna baru agar bisa melakukan
login ke Sertify.
5. Login User Account
Memasukan email dan password pengguna untuk mengakses fitur -
fitur utama pada Sertify.
6. Login Company Account
Memasukan email dan password instansi untuk memvalidasi sertifikat
yang diajukan.
7. View Validation Status
Melihat status validasi sertifikat pengguna Sertify oleh instansi
pengecek untuk tujuan memenuhi persyarat/kebutuhan pengguna
Sertify.

6
2.1.2 Alur Proses Aplikasi

Gambar proses flow

2.1.3 Langkah Instalasi

7
Tools yang dibutuhkan :
1. Google Chrome (browser).
2. Metamask (wallet).
3. NPM.
4. XAMPP.
Langkah Instalasi
1. Download dan Install semua tools di atas.
2. Download project sertify dari github :
3. Letakkan hasil download project sertify ke dalam folder

Untuk Windows : C:\xampp\htdocs\


Untuk Mac :
// Konfigurasi Database
4. Buka XAMPP Control Panel

5. Click Start pada Actions untuk Module Apache dan MySQL

6. Setelah di Start, click Admin untuk Module MySQL

7. Setelah Admin di klik, maka browser akan terbuka. Pada


halaman web, klik New.

8
8. Pada halaman New, isi nama database dengan db_sertify lalu
klik Create.

9. Setelah itu klik tombol Import

10. Pada halaman Import, klik Choose File, lalu pilih file yang
bernama db_sertify.sql pada folder project github yang telah di download.

9
Lalu klik Go

Sehingga hasilnya tampil seperti berikut

// Konfigurasi NPM Lite Server


11. Buka Command Prompt / Terminal, Lalu ketikkan command :
npm install lite-server

Jika selesai maka akan muncul tampilan berikut

10
2.1.4 Cara Penggunaan

Langkah Menjalan Sertify :


1. Buka web browser Chrome atau Mozilla. Pastikan Metamask telah terhubung
dan telah masuk menggunakan akun metamask. Ganti jaringan metamask
menjadi Rinkeby Test Network

2. Buka XAMPP Control Panel

3. Click Start pada Actions untuk Module Apache dan MySQL

4. Jalankan terminal dan arahkan terminal ke lokasi folder Sertify yang telah
disalin di dalam folder htdocs.

5. Jalankan perintah npm run dev pada terminal.

11
6. Kunjungi alamat IP-ADDRESS/sertify/public pada browser. IP-ADDRESS
diganti dan menyesuaikan dengan ip address pada xampp controller

Langkah Penggunaan Sertify sebagai User :


1. User mengisi form login untuk bisa menggunakan Sertify, jika tidak, User
harus mendaftarkan akun terlebih dahulu.

2. Pengguna akan diarahkan ke halaman dashboard user.

12
3. Untuk mengajukan sertifikat digital, user harus memilih Request Approval
pada navigation bar. Kemudian, mengisi formulir terkait sertifikat yang
diunggah dan mengunggah berkas sertifikat yang dimiliki.

4. Setelah upload selesai, dalam dashboard user akan ditambahkan daftar


sertifikat yang diajukan oleh user.

13
5. Jika sertifikat telah divalidasi oleh instansi, maka akan ditambahkan daftar
pada halaman Verified. Digital signature bisa diunduh dengan menekan
tombol download.

Langkah Penggunaan Sertify sebagai Instansi/Perusahaan :

1. Instansi/perusahaan mengisi form login untuk bisa menggunakan Sertify, jika


tidak, Instansi/Perusahaan harus mendaftarkan akun terlebih dahulu.
2. Instansi/perusahaan akan diarahkan ke halaman dashboard instansi.

3. Instansi/perusahaan harus memilih mengunggah seluruh sertifikat dengan


menekan tombol upload pada sidebar. Selanjutnya unggah file sertifikat yang
ingin diunggah oleh instansi. Selanjutnya akan diarahkan untuk proses
transaksi pada metamask. Lalu confirm transaksi.

14
4. Untuk memvalidasi sertifikat yang diajukan oleh pengguna, dalam tabel
permohonan pengajuan pada dashboard, pilih view pada salah satu pengajuan
sertifikat. Kemudian akan diarahkan pada preview sertifikat untuk dicek
kebenaran sertifikat tersebut oleh instansi.

5. Unduh sertifikat yang dilampirkan oleh pengguna. Jika sertifikat benar, maka
tekan tombol selanjutnya, jika sertifikat itu tidak benar, maka pilih tombol
reject.

6. Selanjutnya, akan diarahkan untuk proses pembuatan digital signature.


Unggah file sertifikat yang telah diunduh, kemudian tekan Generate Signature.
Akan diarahkan pada proses transaksi pada metamask, lalu tekan tombol Sign.
Digital Signature akan dimuat dalam bentuk hashcode. Lalu tekan done.

15
Langkah Verifikasi Sertifikat :

1. Untuk memverifikasi sertifikat yang telah divalidasi, user bisa mengunjungi


halaman verifikasi dengan menekan navbar Verifikasi. Selanjutnya unggah
file pdf sertifikat asli, kemudian masukkan digital signature yang telah
divalidasi oleh instansi.

16
2.2 Tahapan SDLC
2.2.1 Analisis

2.2.1.1 DFD (Data Flow Diagram)

Context Diagram

17
DFD Level 1

2.2.1.2 Entity Relationship Diagram (ERD)

18
Skema relasi :
1. Agencies(id, name, email, password, category, public_key, created_at)
2. Certificates(id, user_id, agency_id, number, file_name, digital_signature, status, note,
upload_at, verified_at)
3. Users(id, name, email, password, created_at)

2.2.1.3 Arsitektur Sistem

2.2.1.4 Struktur Data

2.2.1.4.1. Struktur Data Blockchain

No Nama Variabel Tipe Data Lokasi Kegunaan

1 records Mapping DocStamp.sol untuk menyimpan address yang


di stamp

2 timestamps Mapping DocStamp.sol untuk menyimpan waktu stamp

3 owner address Migrations.sol untuk menyimpan address


owner

4 last_completed_ Unsigned Migrations.sol untuk menampung nilai

19
migration interger signature

2.2.1.4.2. Function Smart Contract Sertify

No Nama Function Parameter Lokasi Kegunaan

1 stamp IN : record bertipe DocStamp.sol untuk mestamp


byte array. atau menyimpan
hash dan waktu
stamp di
blockchain

2 exists IN : record bertipe DocStamp.sol untuk mengecek


byte array. address belum ada
OUT : records bertipe
mapping

3 getStamper IN : record bertipe DocStamp.sol untuk


byte array. mendapatkan
OUT : records bertipe address stamper
mapping.

4 getTimestamp IN : record bertipe DocStamp.sol untuk


byte array. mendapatkan
OUT : timestamps waktu stamp
bertipe mapping.

5 didStamp IN : record bertipe DocStamp.sol untuk mengecek


byte array. address pada
OUT : records bertipe record sama
mapping. dengan address
owner

6 isStamper IN : record bertipe DocStamp.sol untuk mengecek


byte array, stamper address pada
bertipe address. record sama
OUT : records bertipe dengan address
mapping. stamper

7 ecrecovery IN : bytes32 hash, sig DocStamp.sol untuk merecover


bertipe byte array. address signer dari
OUT : hash, v bertipe sebuah mesage
unsigned integer, s dengan
bertipe byte array, r menggunakan
bertipe byte array. signature

8 ecverify IN : bytes32 hash., sig DocStamp.sol untuk mengecek


bertipe byte array, address signer
signer bertipe address. sama dengan

20
OUT : signer bertipe addres recover
address.

9 Ownable - Ownable.sol mendapatkan


address yang akan
memiliki akses
kontrol dari
contract

10 tranferOwnership - Ownable.sol untuk men-transfer


ownership (akses
kontrol dari
contract) dari satu
akun ke akun
lainnya

11 Restricted - Migrations.sol untuk membatasi


siapa yang dapat
melakukan
modifikasi pada
status contract

12 Migrations - Migrations.sol

13 setCompleted IN : completed bertipe Migrations.sol untuk memicu


unsigned integer. (trigger)
pembaruan
variabel
last_completed_mi
gration

14 upgrade IN : new_address Migrations.sol untuk melakukan


bertipe address. tranfer nilai dari
variabel
last_completed_mi
gration ke kontrak
migration yang
baru.

21
2.2.1.5 Use Case

Use Case Diagram

2.2.1.5.1 Use Case Scenario 1

Nama Use Case Register Akun User

Actor User

Pre-Conditions Data Tidak terdapat pada database

Post-Conditions Data Tersimpan pada database

Main Scenario 1. system tampilkan halaman Sign-up


2. User mengisi form sign-up
3. system mengarahkan user halaman login

alternative Scenario 1. system menampilkan halaman sign-up

2.2.1.5.2 Use Case Scenario 2

Nama Use Case Login Account User

22
Actors User

Pre-Conditions Data User ada di Database

Post-Condition User log-in

Main Scenario 1. System Tampilkan halaman Login


2. user mengisi Form Login
3. System mengarahkan user ke halaman dashboard

Alternative Scenario 1. system menampilkan halaman login

2.2.1.5.3 Use Case Scenario 3

Nama use Case Upload Sertifikat

Actor user

Pre-Condition File Sertifikat tidak terdapat pada database

Post-Condition File Sertifikat tersimpan pada database

Main Scenario 1. system tampilkan halaman request approval


2. user menginput sesuai form
3. system menyimpan data ke dalam database

Alternative Scenario 1. system tampilkan halaman request approval

2.2.1.5.4 Use Case Scenario 4

Nama use Case Membuat Digital Signature

Actor Instansi penerbit

Pre-Condition Permintaan validasi oleh pemilik sertifikat

Post-Condition Sertifikat valid dengan parameter memiliki digital signature

Main Scenario 1. Sistem mengirimkan permintaan validasi sertifikat ke


instansi penerbitnya
2. Instansi mengecek ke-valid-an sertifikat
3. Sistem membuat digital signature
4. Digital Signature disimpan di blockchain

Alternative Scenario 1. Status validasi pada dashboard berubah

23
2. Jika sertifikat tidak valid, status menjadi rejected
3. Jika sertifikat valid, status menjadi success

2.2.1.5.5 Use Case Scenario 5

Nama use Case Stamp Sertifikat

Actor Instansi Penerbit

Pre-Condition Page Stamp Sertifikat sudah terbuka

Post-Condition 1. Transaksi tercatat pada akun Metamask


2. Hash sertifikat tercatat di Blockchain

Main Scenario 1. Instansi mengupload sertifikat dalam bentuk pdf


2. Sistem menampilkan hash dari sertifikat
3. Instansi mengklik button “Stamp”
4. Sistem mentrigger akun Metamask untuk melakukan transaksi
ke Blockchain
5. Instansi mengklik button “Confirm” saat terjadi transaksi di
Metamask

Alternative Scenario -

2.2.1.5.6 Use Case Scenario 6

Nama use Case Login Akun Instansi

Actor instansi

Pre-Condition Data ada pada database

Post-Condition instansi Log-in

Main Scenario 1. system menampilkan halaman log-in instansi


2. Instansi mengisi form
3. System menampilkan halaman dashboard instansi

Alternative Scenario 1. System menampilkan halaman log-in instansi

2.2.1.5.7 Use Case Scenario 7

Nama use Case Validasi Sertifikat

Actor Instansi pengecek

24
Pre-Condition memiliki file sertifikat

Post-Condition mengetahui status sertifikat

Main Scenario 1. System menampilkan halaman verifikasi


2. Instansi pengecek mengisi form
3. System menampilkan hasil

Alternative Scenario 1. System menampilkan halaman verifikasi

2.2.2 Desain

2.2.2.1 Mockup

Gambar 2.3.1.1 : Mock Up Login

Gambar 2.3.1.2 : Mock Up Sign Up

25
Gambar 2.3.1.2 : Mock Up FAQ

Gambar 2.3.1.2 : Mock Up How It Works

Gambar 2.3.1.4 : Mock Up Corporate

26
Gambar 2.3.1.5 : Mock Up Dashboard Pengguna

Gambar 2.3.1.5 : Mock Up Dashboard Perusahaan

Gambar 2.3.1.6 : Mock Up Upload Sertifikat

27
Gambar 2.3.1.7 : Mock Up Validasi Sertifikat

Gambar 2.3.1.8 : Mock Up Verifikasi Sertifikat

2.2.3 Coding
Source code aplikasi dapat dilihat di repositori github berikut
https://github.com/mazidahmadtif17/Sertify-B2.git . Pada repositori tersebut telah
terdapat file database db_sertify.sql dan project Truffle.
2.2.4. Testing
Tabel Test Case

No. Scenario Test Step Expected Result Actual Status


Result
1 Registrasi user user menginputkan Data user Data user pass
Email dan Password tersimpan di tersimpan di
database database

3 Validasi user login user menginputkan Tampil halaman User masuk pass
dengan database Email dan Password Dashboard-user ke
yang sudah didaftarkan : Dashboard

28
sebelumnya http://localhost/s user :
ertify/public/das http://localho
hboard- st/sertify/pub
status.php lic/dashboard
-status.php

4 Validasi instansi user menginputkan ID Instansi akan Instansi pass


login dengan perusahaan dan masuk ke masuk ke
database Password halaman halaman
dashboard dashboard
instansi : instansi :
http://localhost/s http://localho
ertify/public/das st/sertify/pub
hboard- lic/dashboard
corporate.php -
corporate.ph
p
5 Request Approval User akan Data yang telah Data pass
Menginputkan Nomor diinput akan tersimpan,
Sertifikat, memilih disimpan pada data
instansi yang berkaitan, database local dashboard
dan Unggah File dan statusnya user dan
sertifikat (PDF) akan terlihat instansi
pada halaman berubah.
dashboard user
dan instansi

6 Verifikasi instansi akan Status dari File Status pass


menginputkan file tersebut akan legalisasi
sertifikat (PDF) yang terlihat, siapa terlihat
diberikan oleh user. yang telah
melegalisasi file
tersebut
7 Generate Signature Instansi melakukan a. Valid: hash Sesuai pass
review pada sertifikat, signature dengan yang
a. Jika valid, instansi untuk diharapkan
mengunduh sertifikat
sertifikat tersebut akan
kemudian tersimpan
melakukan sebagai
Generate Signature sebuah file.
untuk sertifikat Status
tersebut. pengajuan
b. Jika tidak valid, sertifikat
instansi menekan akan
tombol reject. berubah
menjadi “S”,
yang berarti

29
Sukses.
b. Status
pengajuan
sertifikat
akan
berubah
menjadi “R”,
yang berarti
Reject

30
BAB 3 Evaluasi
3.1 Pencapaian
3.1.2 Rencana vs Realisasi
No Rencana Realisasi
1 Digital signature memakai QR Code Tidak menggunakan QR Code,karena proses
verifikasi tidak efektif sehingga digantikan
dengan upload file digital signature

2 Simpan HashCode dalam Blockchain Sudah bisa menyimpan HashCode dalam


Blockchain

3 Merancang DataBase Perancangan Database phpmyadmin sudah


dibuat
4 Update data sertifikat ke database saat Sudah bisa mengupdate data sertifikat ke
selesai proses validasi dalam Database ketika proses validasi

5 Integrasi page validasi ke Sertify Sudah bisa integrasi antara page validasi
dengan templates yang telah dibuat, hanya
perlu menyesuaikan dengan memasukkan
segala elemen yang ada pada templates.
Kemudian menyesuaikan tag-tag, id, dan class
html-nya.
6 Integrasi semua fitur dalam satu project Sudah bisa integrasi semua fitur dalam satu
project sudah digabungkan. dengan struktur
folder projectnya dan template file php untuk
koneksi ke databasenya sudah diselesaikan.

7 Simpan data upload sertifikat ke Sudah bisa menyimpan data upload sertifikat
database ke dalam database

8 Membuat smart contract transaksi Tidak ada biaya untuk pembayaran user ke
pembayaran user ke instansi instansi
9 Simpan digital signature ke file Sudah bisa diintegrasi oleh docstamp dan
menggunakan javascript untuk simpan
file,sebelum digabungkan dengan
docstamp.tetapi ketika mencoba
menggabungkan dengan docstamp terjadi
bentrokan dengan script,tombol yang
seharusnya berfungsi untuk save file ,menjadi
tombol yang mengubungkan ke metamask.

10 Baca file digital signature pada form Sudah bisa mambaca file digital signature
check stemper pada form check stemper

11 Register user + integrasi ke database User sudah bisa register dan sudah bisa
integrasi ke data base

31
12 Login user + integrasi ke database User Sudah bisa login pada web dan sudah
terintegrasi ke database

13 Integrasi semua fitur Semua fitur sudah di instergrasi


14 Login instansi dengan integrasi ke Sudah bisa login instansi dengan integrasi
database database

15 Registrasi instansi + integrasi ke Instansi sudah bisa registrasi dengan integrasi


database database

16 Membuat page verifikasi untuk public Sudah membuat page verifikasi untuk public
17 Membuat page check stemper untuk Sudah membuat page check stemper untuk
public public

18 Mengubah page generate signature Page generate signature untuk corporate sudah
untuk corporate diubah

19 Page preview pdf Sudah membuat page preview pdf


20 Page generate signature Sudah membuat page generate signature

21 Membuat page stamp untuk corporate Page stamp untuk corporate sudah dibuat

3.1.3 Monitoring Pekerjaan


Week 1

Nama yang No Nama Task % COMPLETE


mengerjakan

Kiki Pratiwi 1 Create database schema 100%

2 Merancang database 100%

3 Implementasi database 100%

Mazid Ahmad 4 Membuat page check stamper 80%


untuk instansi luar
(cantumkan di navbar)

5 Integrasi page validasi ke 80%


Sertify

6 Ubah urutan page validasi 100%


Nur Haniyah R
7 Simpan data upload sertifikat 100%
ke database

32
Rahmadi 8 Tambah Preview file PDF di 100%
page validasi

9 Form rejected 100%

Lisnawati Srisunda 10 Rename file pdf + save ke 90%


folder path tertentu

Ilham Cahyahadi P 11 Query data untuk table 100%


dashboard dari database

Sheilla Desvita Putri 12 Update data sertifikat ke 90%


database saat selesai proses
validasi

Nur Haniyah R 13 Assign value file pdf ke field 80%


file untuk generate digital
signature

Naufal Ferdy 14 Direct download untuk QR 80%


Sulaeman Code

Yusril Syah Yusuf 15 Mencari tahu bagaimana cara 100%


menjalankan smartcontract +
php + mysqli

Week 2

Nama yang No Nama Task % COMPLETE


mengerjakan

Kiki Pratiwi 1 Integrasi semua fitur dalam satu 100%


project

2 Mengatur struktur folder project 100%

3 Membuat template file php untuk 100%


koneksi ke database

4 Menyatukan semua hasil task 100%


minggu pertama

Mazid Ahmad 5 Ubah design step validasi menjadi 80%


bootstrap 4

6 Membuat smartcontract transaksi 80%


pembayaran user ke instansi

7 Membuat dashboard untuk 100%


instansi

33
8 Get return value transaksi dari 80%
Nur Haniyah R metamask

Rahmadi 9 Simpan digital signature ke file 80%

Lisnawati 10 Modifikasi smartcontract + harga 80%


Srisunda 1x transaksi

M. Ersaad GP 11 Login user + integrasi ke database 100%

Ilham Cahyahadi P 12 Mencari smartcontract untuk 80%


transfer

Yusril Syah Yusuf 13 Register user + integrasi ke 100%


database

Ferdy & Sheilla 14 Membuat visualisasi bussiness 100%


process

15 Membuat dokumen bussiness 100%


rules

Hani & Rahmadi 16 Baca file digital signature pada 80%


form check stemper

Week 3

Nama yang No Nama Task % COMPLETE


mengerjakan

Kiki Pratiwi 1 Integrasi semua fitur 100%

2 Menampilkan nama instansi saat 100%


public melakukan verifikasi

Mazid Ahmad 3 Membuat wallet untuk tujuan 100%


transaksi stamp

4 Get return value transaksi dari 80%


Nur Haniyah R metamask

Lisnawati 5 Modifikasi smartcontract + harga 80%


Srisunda 1x transaksi

M. Ersaad G.P. 6 Login intansi dengan integrasi ke 100%


database

Nur Haniyah R 7 Mencari smartcontract untuk 100%

34
transfer

Yusril Syah Yusuf 8 Registrasi instansi + integrasi ke 100%


database

9 Baca file digital signature pada 100%


form check stemper

Naufal Ferdy dan 10 Membuat konten presentasi 100%


Sheilla Desvita

Mazid Ahmad dan 11 Membuat page verifikasi untuk 100%


Kiki Pratiwi public

12 Membuat page check stemper 100%


untuk public

13 Mengubah page generate 100%


signature untuk corporate

14 Membuat page stamp untuk 100%


corporate

Lisnawati & 15 Get Address yang aktif di 100%


Cahya metamask untuk mencatat public
key instansi

Cahya & Rahmadi 16 Assign value file pdf ke field file 100%
untuk generate digital signature

3.1.4 Capaian Produk

3.1.4.1 Screenshot

3.1.4.1.1 HomePage

35
3.1.4.1.2 DashBoard-User

3.1.4.1.3 DashBoard-Corporate

3.1.4.1.4 Request Approval

36
3.1.4.1.5 FAQ

3.1.4.1.6 Verifikasi

3.1.4.1.7 Corporate

3.1.4.1.8 How It Works

37
3.1.4.1.9 Certificate Stamp

3.1.4.1.10 Certificate Generate

3.1.4.1.11 Sign Up

38
3.2 Lesson Learn
3.2.1 Ilham Cahyahadi Pamungkas - 171511042
● Pada proyek 3 ini membahas mengenai Blockchain. Pada
pengembangan aplikasi Blockchain atau DApps perlu dilakukan
penelitian yang rinci, hal ini menyangkut apakah aplikasi ini bisa
dikembangkan dan cocok jika menggunakan teknologi blockchain atau
tidak.
● Pada pengembangan aplikasi DApps, digunakan bahasa pemrograman
khusus untuk pengembangan Smart contract, yaitu bahasa Solidity.
Bahasa ini cukup mudah dipahami dikarenakan struktur bahasa
Solidity mirip dengan bahasa pemrograman berorientasi objek, yaitu
Java.
● Tools - tools yang digunakan untuk mengembangkan DApps juga
cukup mudah untuk didapatkan dan digunakan, diantaranya yaitu
Truffle Framework, dan Ganache.
● Truffle ftamework adalah tools yang digunakan untuk men-create,
men-compile dan men-deploy project yang berbasis bahasa solidity.
● Sedangkan Ganache adalah tools yang berfungsi sebagai Test RPC
atau dapat dipermudah sebagai server ethereum blockchain agar dapat
melakukan demo aplikasi berbasis ethereum blockchain.
● Elemen - elemen di HTML dan smart contract saling terhubung dengan
main.js karena sebuah class dipanggil lewat javascript tersebut.
● Sedangkan, untuk menghubungkan smart contract dengan jaringan
ethereum blockchain sehingga bisa melakukan interaksi berupa
transaksi, digunakan libraries yaitu web3js.
● Dalam menggunakan sebuah DApps, kita diwajibkan untuk memiliki
sebuah akun / wallet agar bisa melakukan transaksi, dalam wallet
tersebut kita juga bisa menentukan jaringan / RPC apa yang akan
digunakan untuk melakukan transaksi pada DApps tersebut. Untuk
wallet yang umum digunakan pada ethereum blockchain adalah
Metamask.
● Untuk setiap transaksi yang dilakukan dengan ethereum blockchain,
dapat di trace melalui website http://www.etherscan.io/ Dengan
menginput transcation hash, kita melihat detail seperti timestamp.
block height, address sender, address receipt dan lain lain. Pada site ini
juga kita dapat melihat status transaksi yang dilakukan apakah sudah
berhasil (success) atau masih pending.
● Untuk eksplorasi mengenai DApps apa saja yang telah di kembangkan,
dapat di check melalui website https://www.stateofthedapps.com/ dan
juga https://dappradar.com/

3.2.2 Kiki Pratiwi - 171511046


Pada proyek kali ini banyak pelajaran yang saya dapatkan baik
mengenai softskill maupun hardskill. Bagaimana menjadi anggota tim yang
harus bisa menyesuaikan diri dengan kepribadian dan sikap anggota tim yang

39
lain berhubung pada proyek kali ini jumlah anggota tim terhitung lebih banyak
dari proyek-proyek sebelumnya. disini juga saya belajar bagaimana menjadi
koodinator divisi appdev yang harus bisa membaca kemampuan dan potensi
anggota appdev yang lain, sehingga task-taks dapat dipetakan sesuai dengan
kemampuan pengerjanya dan bisa selesai tepat waktu sesuai jadwal.
Dalam membangun aplikasi Sertify ini, banyak hal baru yang saya
pelajari diantaranya, Blockchain, Smart Constrat,Angular, Javascript, Json,
dan beberapa tools seperti Visual Studio Code, NodeJS, Truffle Framework,
Ganache, Metamask, dan Git.
Banyak sekali yang bisa dilakukan oleh Javascript yang memudahkan
kami dalam menyelesaikan beberapa masalah yang ditemukan selama
mengembangkan aplikasi ini, contohnya read dan write data pada file yang
kemudian menjadi alternatif kami untuk men-set sebuah value pada suatu
atribut dalam tag <embed>, sehingga value tetap dinamis walaupun tidak
memakai php.
Kemudian hal berkesan lain dalam pengerjaan proyek ini adalah
berkolaborasi menggunakan Git, bagaimana mencegah conflict, kapan wktu
push yang tepat, dll.
Dalam memahami wujud dan penerapan Blockchain yang sebenarnya
tidak sering saya mengalami kesulitan, sehingga banyak sekali sumber yang
harus dibaca seperti Medium, Quora, Youtube, dll. Sehingga sedikit
meningkatkan kemampuan bahasa inggris saya. Walaupun tidak mudah
dipahami namun Blockchain sangat menarik untuk dipelajari.
3.2.3 Lisnawati Srisunda - 171511047
Pada proyek kali ini saya belajar tentang DApps dan blockchain.
DApps adalah sejenis aplikasi internet yang berjalan pada jaringan peer-to-
peer (P2P) terdesentralisasi dan source code yang dimilikinya open source.
Blockchain adalah solusi untuk mengatasi masalah dalam dunia finansial atau
ekonomi yaitu masalah kepercayaan kelompok dalam ekonomi atau transaksi.
Masalah ini bisa dideskripsikan counterparty risk, dimana kelompok lain yang
melakukan transaksi tidak memegang perjanjian dengan kelompok lainnya.
Dalam membangun aplikasi berbasis web dengan menggunakan
teknologi blockchain pada ethereum, saya belajar environment apa saja yang
perlu dipersiapkan di antaranya Visual Studio Code, NodeJS, Truffle
Framework, Ganache, Metamask, dan Solidity (bahasa pemrograman).
Di proyek ini juga saya belajar bagaimana membuat smart contract dengan
bahasa pemrograman Solidity. Dimulai dari belajar smart contract pet shop
dan me-runningnya pada truffle framework serta melakukan transfer ether di
akun metamask. Solidity merupakan bahasa pemrograman smart contract pada
ethereum. Saya berlatih membuat smart contract dengan bahasa Solidity di
web Cryptozombies.

40
Dalam membangun aplikasi ini, saya dan anggota kelompok lainnya
menggunakan teknologi git kraken dengan membuat akun github untuk bisa
membuat code bersama. Dalam hal ini saya belajar untuk bisa melakukan hal-
hal berikut :
● Cloning => menyalin secara keseluruhan,clon dilakukan sekali di awal
saja, setiap pointer juga akan semakin bertambah jika semakin banyak
diclon dengan komputer lain
● Fetch => menyalin tapi tidak melakukan sinkronisasi
● Pull=>sinkronisasi branch
● Push=>kebalikan dari fetch dan pull digabung
Dalam proyek ini juga saya belajar untuk bekerja sama dalam tim
dengan posisi sebagai divisi technology, apa saja yang harus dilakukan dan
bagaimana cara menyampaikan hal tersebut ke anggota divisi lainnya. Disini
saya mengetahui komunikasi sangatlah penting dalam kerja sama untuk
membangun aplikasi, bagaimana untuk membagi tugas agar seimbang dan
melakukan monitoring agar tugas bisa terselesaikan, juga bagaimana
mengalokasikan waktu untuk mengerjakan proyek ini bersama dengan anggota
tim.
3.2.4 Mazid Ahmad - 171511048
Dalam mata kuliah Proyek 3 kali ini, saya mendapatkan banyak pengetahuan
dan skill terkait dengan pengembangan Blockchain. Diantaranya :
● Saya mengetahui penggunaan blockchain dalam perkembangan dunia
teknologi sekarang. Menganalisis apakah gagasan atau ide yang ada
bisa mengadaptasi konsep blockchain.
● Saya mendapatkan pengetahuan baru terkait penggunaan tools-tools
untuk membangun suatu DApps agar dapat terhubung dengan sistem
blockchain. Diantaranya tools yang digunakan adalah Truffle
Framework, Ganache, dan Metamask.
● Saya belajar bagaimana tahapan untuk membuat DApps dapat
terhubung dengan jaringan blockchain, belajar untuk melakukan
compile untuk membuat sebuah kontrak dari solidity, migrasi untuk
proses transaksi blockchain.
● Saya mendapatkan pemahaman penggunaan bahasa pemrograman web
baru, yakni php, javascript, dan jQuery.
● Saya mendapatkan wawasan baru terkait penggunaan bahasa
pemrograman yang diimplementasikan dalam pengembangan aplikasi
berbasis blockchain menggunakan bahasa Solidity untuk membuat
suatu smart contract. Bahasanya mudah dipahami karena tidak terlalu
banyak perbedaan dengan bahasa Java.
● Kemampuan saya dalam membuat sebuah website meningkat dengan
menggunakan framework-framework yang pernah saya pelajari dalam
mata kuliah proyek ini, yakni angular dan code igniter.
● Dalam proyek kali ini, saya baru mendapatkan ilmu terkait penggunaan
GIT untuk berkolaborasi mengembangkan source code bersama-sama.

41
Mendapatkan pengetahuan bagaimana clone, pull, stage, push, dan
branch pada GIT. Dalam penggunaan GIT, saya menggunakan tools
GitKraken yang diintegrasikan dengan repository GitHub.
3.2.5 Muhammad Ersaad Gisda Putera - 171511051
● Pada proyek kali ini saya mendapatkan banyak ilmu tidak dari segi
materi saja tetapi dari segi manajemen waktu, bagaimana saya harus
mengatur waktu seefisien mungkin serta pembagian waktu antara
pengerjaan tugas satu dengan yang lainnya agar semua tugas
terselesaikan tepat waktu dengan kondisi jadwal yang sangat padat.
Saya juga mendapatkan pelajaran tentang kerja sama antar rekan
kelompok, menurut saya kerja sama yang baik berawal dari
komunikasi yang baik pula yang bisa menghasilkan hasil yang
maksimal. Dari segi materi saya sangat mendapatkan ilmu seperti
cryptocurrency yang berpotensi menjadi mata uang masa depan, lalu
saya juga tahu apa itu DApps serta blockchain yang menurut saya
sangat penting bagi keberlangsungan era industri 4.0. Saya juga
mendapatkan materi baru seperti bahasa solidity dan framework pada
pembuatan website seperti angular serta tool pada html seperti
bootstrap, css dan jQuery.
3.2.6 Naufal Ferdy Sulaeman - 171511053
Pada proyek 3 kali ini saya mendapatkan banyak pelajaran yang
didapat. Dimulai dari pelajaran menjadi analis yang pada saat pertama, kami
(tim analis dari semua kelompok) merasa bingung untuk melakukan tugas apa.
Dengan pengalaman yang minim dan ketidaktauan dari kami, akhirnya kami
dari tim analis menerjemahkan sekaligus mencoba memahami isi dari buku
referensi yang telah diberikan. Pada saat penerjemahan dokumen, saya
mendapatkan lesson learn yaitu menjadi mengerti kosakata baru yang
sebelumnya tidak pernah terdengar. Pada saat bagian ini juga, saya dilatih
untuk mengerjakan task dengan tepat waktu serta bekerja sama dengan
kelompok lain. Saya jadi mengetahui apa itu DApps, Consensus, istilah-istilah
penggunaan dalam aplikasi yang mendukung, apa perbedaan dari
desentralisasi, disrtibusi dan sentralisasi dll.
Desentralisasi berbeda dengan distribusi dan sentralisasi.
Perbedaannya adalah terdapat pada penyebaran dan wilayah-wilayahnya. Jika
terdistribusi, ada satu server yang bermasalah maka akan menimbulkan
masalah pada server lain yang ada di sistem tersebut. Jika sentralisasi, jika
server pusat mengalami gangguan nantinya akan dapat berdampak pada server
lainnya. Berbeda dengan terdistribusi dan sentralisasi, server di desentralisasi
tidak akan berdampak apapun jika server lain mengalami masalah. Itu
dikarenakan server mempunyai wilayahnya sendiri namun masih terhubung.
Saya juga menyadari bahwa komunikasi dalam kelompok sangat
penting. Komunikasi yang dimaksud adalah untuk mengerjakan task yang
telah diberikan dan untuk berkomunikasi jika ada yang kurang mengerti dan

42
anggota kelompok ada yang memahami. Komunikasi dengan kelompok lain
juga tidak kalah penting apalagi di tim analis, dikarenakan jika mengerjakan
individu dan tidak ada kerjasama maka akan memakan waktu yang sangat
lama serta menimbulkan terjemahan dan pengertian yang berbeda-beda.
Selain pelajaran dari tim analis, saya juga mendapatkan pelajaran dari
divisi lain. Contohnya adalah saya jadi mengetahui apa itu Truffle dan cara
menjalankannya, cara penggunaan github, pengertian dari metamask dan
ganache. Sedangkan dari divisi app developer saya belajar mengenai coding
untuk membuat web yang dengan menggunakan teknologi angular, bootsrap
dan JQuery.
3.2.7 Nur Haniyah Rahmatillah - 171511056
Dalam pengerjaan proyek 3 ini, banyak sekali ilmu, pengalaman, dan
keterampilan baru yang saya dapatkan. Tema yang diangkat bisa dibilang
merupakan suatu hal baru dan belum banyak diketahui apalagi
diimplementasikan, dan tema yang dimaksud adalah Blockchain.

Pada pelaksanaanya, dibentuk suatu kelompok dengan jumlah anggota


9-10 orang. Setiap kelompok akan dikelompokkan lagi kedalam 3 divisi yaitu
Technologist, Analytst, dan Web Developer. Saya sendiri bekerja di divisi
Technologist bersama 2 orang lainnya. Dalam divisi ini kami diminta untuk
mengeksplor terkait teknologi yang dipakai dalam pengembangan aplikasi
berbasis web yang mengimplementasikan Blockchain.

Dalam pengerjaan untuk proyek 3 ini, digunakan teknologi DApps


sebagai acuan pembentukan web berbasis Blockchain. Hal yang perlu digaris
bawahi dalam pengerjaan proyek ini adalah Smart Contract. Karena Smart
Contract merupakan kunci berjalannya aplikasi berbasis Blockchain.

Smart Contract adalah kode komputer yang berjalan pada Blockchain


yang berisi seperangkat aturan di mana para pihak dalam kontrak pintar
tersebut sepakat untuk berinteraksi satu sama lain. Jika dan ketika aturan yang
ditentukan sebelumnya dipenuhi, perjanjian secara otomatis ditegakkan. Smart
Contract code memfasilitasi, memverifikasi, dan menegakkan negosiasi atau
kinerja suatu perjanjian atau transaksi. Ini adalah bentuk otomatisasi
desentralisasi yang paling sederhana.

Proyek ini dimulai dengan terlebih dahulu mengetahui definisi dari


DApps dan pengembangan yang seperti apa yang diperlukan ketika
menggunakan teknologi DApps. Selanjutnya mempelajari environment yang
akan diperlukan, seperti : Visual Studio Code, NodeJS, Truffle Framework,
Ganache, Metamask, dan Solidity sebagai bahasa pemrograman yang dipakai.

Setelah mempelajari dan mengimplementasikan yang diperlukan pada


bagian teknologi-nya, seluruh divisi mulai mempelajari hal-hal yang dipelajari
oleh divisi lainnya agar setiap orang mendapatkan ilmu yang sama.

43
Dari proyek 3 ini saya belajar, bahwa komunikasi itu penting. Setiap
individu sangat perlu berbagi ilmu yang didapatkan, menanyakan progress dari
setiap individu, menanyakan juga apakah ada kesulitan dan apakah ada yang
bisa dibantu. Membuat catatan pencapaian pribadi juga diperlukan agar
terlihat selama pengerjaan proyek apa yang menjadi kekurangan dan kelebihan
dari diri masing-masing, apakah target yang dibuat sudah tercapai, apa yang
menjadi kendala selama pengerjaan proyek, dan mencari solusi dari
permasalahan-permasalahan yang dialami.

3.2.8 Rahmadi - 171511059


Proyek 3 sangat berbeda dari proyek sebelumnya, baik dari segi materi
dan hasil akhir. Tidak seperti proyek sebelumnya, Proyek 3 menggunakan hal
sangat baru di dunia IT yaitu BlockChain. Blockchain menggunakan prinsip
DApss yaitu sejenis aplikasi internet yang berjalan pada jaringan peer-to-peer
(P2P) ter-desentralisasi dan source code yang dimilikinya open source. Pada
proyek 3 diajarkan bagaimana cara manajemen waktu yang baik dan cara
berkomunikasi di kelompok. saya juga dituntut untuk menyelesaikan sebuah
task tepat waktu meski itu suatu hal yang baru. Komunikasi menjadi hal
sangat penting dalam mengerjakan sebuah proyek, jika komunikasi antara
rekan terjaga dengan sangat, maka semua tugas akan selesai tepat waktu.
banyak hal-hal baru yang dapat dipelajari seperti : Angular, Truffle,
metamask, Solidity, Bootstrap, Jquery, NodeJS, dan lain-lain.
Hal yang paling Sulit Dipelajari dari Proyek ini adalah dalam bidang
teknologinya, setelah menentukan tema yang akan dibuat kita harus bisa
mengimplementasikan/ membuat smart contract berdasarkan tema yang telah
disetujui, mengintegrasikan semua fitur, dan menghubungkan website dengan
blockchain.
Pada proyek 3 saya juga belajar menggunakan GitKraken untuk
berkolaborasi dengan rekan dalam membuat tugas ini. GitKraken sangat
berguna, karena setiap perubahan code tercatat dan setiap orang bisa
mendapatkannya dengan mudah. GitKraken terhubung dengan GitHub, untuk
bisa menggunakan GitKraken kita harus mengerti dari beberapa tools
GitKraken.
○ PULL : pull digunakan saat akan memulai mengerjakan task,
bertujuan untuk memperbarui code yang telah ada, jika ada
perubahan yang terjadi.
○ COMMIT : Code yang telah diedit telah difinalisasi
○ PUSH : code yang telah di commit akan digabungkan dengan
Branch
○ Cloning : bertujuan untuk menggandakan file atau bisa
dikatakan mendownload file yang ingin dikerjakan bersama,
cloning hanya akan dilakukan satu kali di awal.

44
3.2.9 Sheilla Desvita Putri - 171511062
Pada Proyek 3 ini saya mendapatkan banyak materi tentang
Blockchain. saya sebagai Divisi Analisis awalnya tidak terlalu memahami
tentang Blockchain karena tidak terlalu mengerti dengan buku Referensi
tentang Blockchain dan bahasa nya sedikit sulit dimengerti. Dengan
berjalannya waktu sedikit demi sedikit saya mengerti dan memahami apa itu
Blockchain. Pada Blockchain terdapat banyak materi lagi yang saya dapatkan
seperti DApps,Consensus,Desentralisasi,Distribusi,DAO,SmartContract dan
Ethereum.
DApps yaitu sebuah aplikasi berbasis internet yang backendnya
berjalan pada jaringan terdesentralisasi peer-to-peer dan source codenya itu
open source. Tidak ada satupun node dalam jaringan yang memiliki kendali
penuh atas DApps. Adapun Distribusi yaitu aplikasi aplikasi atau wilayah
wilayah yang menyebar menyebrangi banyak server bukan hanya 1. Ini
diperlukan saat data aplikasi dan akses menjadi besar dan downtime itu tidak
akan begitu berpengaruh. Didalam aplikasi terdistribusi, data akan direplika
kedalam server server yang berbeda untuk mencapai ketersediaan data yang
besar. Aplikasi aplikasi terpusat mungkin tidak mungkin terdistribusi, tetapi
aplikasi aplikasi terdesentralisasi akan selalu terdistribusi. Dan saya tidak
hanya mempelajari tentang materi Blockchain saja tetapi saya mempelajari
sedikit tentang Truffle,Mencoba sedikit tentang Cryptozombie,Penggunaan
github, fungsi dari source code untuk membuat aplikasi web dan membuat
update sertifikat dengan menggunakan phpsql.
3.2.10 Yusril Syah Yusuf - 171511066
Banyak hal yang saya pelajari dari proyek 3 ini, salah satunya yaitu
mendapatkan suasana dunia pekerjaan, berkolaborasi dengan orang lain dalam
bidang tertentu, menyelesaikan suatu permasalah dengan waktu yang
ditentukan, dan sebagainya. Selain itu mata kuliah proyek 3 ini membuat saya
lebih inisiatif dalam mengerjakan tantangan yang menurut saya sulit, dimana
hal tersebut membuat saya berkembang dalam mengerjakan suatu permasalah.
Banyak ilmu yang didapatkan pada mata kuliah proyek 3 ini dengan tema
Blockchain. Saya dan rekan sekelompok membuat suatu website yang
menggunakan teknologi blockchain. Pada tugas yang diberikan, untuk
mengatasinya yaitu dengan menggunakan beberapa framework dan bahasa
pemrograman. Kemampuan front-end dan back-end sangatlah dibutuhkan
dalam pembuatan website. Di proyek 3 ini saya mempelajari bagaimana cara
mengintegrasikan beberapa bahasa pemrograman seperti php dengan mySQL
dan php dengan javascript serta belajar juga mengenai material design
bootstrap, angularjs, JQuery, truffle, penggunaan metamask, sedikit mengenai
bahasa solidity dan menggunakan github untuk mempermudah dalam
pengembangan aplikasi.

45
BAB 4 Penutup
4.1 Kesimpulan
Pembuatan aplikasi berbasis web yang didukung teknologi blockchain yang disebut
Sertify ini bertujuan untuk memberikan kemudahan dan memberikan manfaat khususnya
kepada pengguna yang ingin memvalidasi sertifikat dengan tanpa harus mengunjungi instansi
yang mengeluarkan sertifikat tersebut.

Dengan menggunakan Sertify, pengguna dapat mengefektifkan dan mengefisienkan


waktu dan tenaga yang dibutuhkan untuk melegalisir sertifikat. Yaitu dengan hanya perlu
koneksi jaringan internet dan kevalidan sertifikat bisa terjamin dikarenakan yang
memvalidasinya adalah instansi yang mengeluarkan sertifikat tersebut. Dimana sertifikat
tersebut akan disimpan di blockhain agar data tidak hilang dan tidak bisa dimodifikasi oleh
pihak lain. Dengan menggunakan Sertify, hanya perlu satu kali validasi dan dapat digunakan
selama-lamanya, User hanya perlu menjaga File Sertifikat (Digital).

4.2 Saran
Website sangat cocok digunakan untuk validasi Sertifikat karena data tersimpan
dalam BlockChain dan tersimpan selamanya atau tidak pernah hilang. Di awal Pembuatan
website, perancangan harus semaksimal mungkin agar tidak terjadi perubahan yang
signifikan pada proses implementasi. Dalam proses pembuatan / implementasi Komunikasi
antar rekan tim harus terjaga dengan baik sehingga setiap masalah dapat terselesaikan.
Pengembangan website lebih lanjut dapat lebih mempermudah dalam banyak keperluan.

46
DAFTAR PUSTAKA
1. Suite, Truffle. 2018. “Truffle Installation”, https://truffleframework.com/docs/truffle/getting-
started/installation, diakses pada 10 Januari 2019.
2. Sommerville, Ian. “Software Engineering.” ed. 9th. 2009.
3. Web3js. 2018. “Web3.js - Etherium Javascript API”, https://web3js.readthedocs.io/en/1.0/,
diakses pada 21 Agustus 2018.
4. Medium, “Interacting With Ethereum Smart Contracts Through Web3.js”,
https://medium.com/coinmonks/interacting-with-ethereum-smart-contracts-through-web3-js-
e0efad17977 diakses 16 Oktober 2018.

47

Anda mungkin juga menyukai