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
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.
Penyusun
1
DAFTAR ISI
KATA PENGANTAR 0
BAB 1 Pendahuluan 4
2.2.1 Analisis 16
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.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.5 FAQ 36
3.1.4.1.6 Verifikasi 36
3.1.4.1.7 Corporate 36
3.1.4.1.11 Sign Up 37
3.2 Lesson Learn 38
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.
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
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
8
8. Pada halaman New, isi nama database dengan db_sertify lalu
klik Create.
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
10
2.1.4 Cara Penggunaan
4. Jalankan terminal dan arahkan terminal ke lokasi folder Sertify yang telah
disalin di dalam folder htdocs.
11
6. Kunjungi alamat IP-ADDRESS/sertify/public pada browser. IP-ADDRESS
diganti dan menyesuaikan dengan ip address pada xampp controller
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.
13
5. Jika sertifikat telah divalidasi oleh instansi, maka akan ditambahkan daftar
pada halaman Verified. Digital signature bisa diunduh dengan menekan
tombol download.
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.
15
Langkah Verifikasi Sertifikat :
16
2.2 Tahapan SDLC
2.2.1 Analisis
Context Diagram
17
DFD Level 1
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)
19
migration interger signature
20
OUT : signer bertipe addres recover
address.
12 Migrations - Migrations.sol
21
2.2.1.5 Use Case
Actor User
22
Actors User
Actor user
23
2. Jika sertifikat tidak valid, status menjadi rejected
3. Jika sertifikat valid, status menjadi success
Alternative Scenario -
Actor instansi
24
Pre-Condition memiliki file sertifikat
2.2.2 Desain
2.2.2.1 Mockup
25
Gambar 2.3.1.2 : Mock Up FAQ
26
Gambar 2.3.1.5 : Mock Up Dashboard Pengguna
27
Gambar 2.3.1.7 : Mock Up Validasi 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
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
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
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
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
21 Membuat page stamp untuk corporate Page stamp untuk corporate sudah dibuat
32
Rahmadi 8 Tambah Preview file PDF di 100%
page validasi
Week 2
33
8 Get return value transaksi dari 80%
Nur Haniyah R metamask
Week 3
34
transfer
Cahya & Rahmadi 16 Assign value file pdf ke field file 100%
untuk generate digital signature
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
36
3.1.4.1.5 FAQ
3.1.4.1.6 Verifikasi
3.1.4.1.7 Corporate
37
3.1.4.1.9 Certificate Stamp
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/
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.
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.
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.
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