5 0 1 MB
LAPORAN AKHIR STUDI INDEPENDEN BERSERTIFIKAT BACKEND JAVA DI BINAR ACADEMY
Diajukan untuk memenuhi persyaratan kelulusan Program MSIB MBKM
oleh : Aufa Alaina Adhar/ 16090154
PROGRAM STUDI TEKNIK INFORMATIKA POLITEKNIK HARAPAN BERSAMA TEGAL 2022
1
Lembar Pengesahan Program Studi Teknik Informatika Politeknik Harapan Bersama Tegal Studi Independen Bersertifikat Backend Java Di Binar Academy
oleh : Aufa Alaina Adhar / 16090154
disetujui dan disahkan sebagai Laporan Studi Independen Bersertifikat Kampus Merdeka
Tegal, 20 Juli 2022 Pembimbing Studi Independen Informatika Politeknik Harapan Bersama Tegal
M. Nishom, M.Kom NIPY. 09.017.337
i
LEMBAR PENGESAHAN COURSE BACKEND JAVA Di PT. LENTERA BANGSA BENDERANG (Binar Academy)
oleh : Aufa Alaina Adhar / 16090154
disetujui dan disahkan sebagai Laporan Magang atau Studi Independen Bersertifikat Kampus Merdeka
Tangerang, 18 Juli 2022 PIC PT. Lentera Bangsa Benderang
Bagus Prakoso Gunawan 32201258
ii
Abstraksi
PT Lentera Bangsa Benderang bergerak di Bidang Future Education yang menyediakan kursus-kursusyang mendukung perkembangan inovasi dan teknologi pendidikan di Indonesia. Laporan ini bertujuan untuk menjelaskan mekanisme pembuatan API untuk aplikasi berbasis E-commerce. Untuk menyempurnakan final project ini , penulis sebagai tim backend akan bekerja sama dengan tim frontend. Dalam proses pelaksanaan program kegiatan studi independen kampus merdeka Binar Academy, pembelajaran di kelas yang dirancang dan dibuat khusus berdasarkan tantangan nyata yang dihadapi oleh mitra/industri serta melatih kemampuan dari mahasiswa.
Kata Kunci : Second Gadget, E-commerce, Studi Independen, Binar Academy.
iii
Kata Pengantar Dengan mengucapkan segala Puji Syukur kepada Tuhan Yang Maha Esa karena atas Karunia dan Anugerah-Nya penulis dapat menyelesaikan proposal Laporan Akhir ini yang berjudul Pembuatan Rest API pada Second Gadget E-commerce ini sebatas pengetahuan dan kemampuan yang dimiliki sehingga mampu mengerjakan tugas laporan akhir Studi Independen Bersertifikat Backend Java di PT. Lentera Bangsa Benderang. Laporan akhir ini di ajukan untuk memenuhi persyaratan kelulusan program MSIB MBKM. Penyusunan laporan akhir ini baik dalam proses maupun hasil jauh dari kata sempurna. Oleh karena itu, saya memohon maaf yang sebesarbesarnya apabila terdapat kata maupun tulisan yang kurang berkenan. Penulis mengucapkan terima kasih dan apresiasi yang tidak terhingga kepada semua pihak telah memberikan bantuan dan motivasi sehingga laporan akhir ini dapat terselesaikan dalam kegiatan MSIB MBKM. Penulis menyadari bahwa banyak sekali kekurangan dalam menyelesaikan laporan akhir ini, baik dalam pengungakapan, penyajian dan pemilihan kata-kata maupun pembahasan laporan akhir ini masih jauh kata kesempurnaan. Oleh karena itu dengan penuh kerendahan hati penulis mengharapkan saran dan kritik semua pihak untuk perbaikan laporan akhir ini. Akhir kata, penulis berharap semoga laporan ini dapat diterima dan bermanfaat bagi semua pihak. .
Tegal , 28 Juli 2022
Aufa Alaina Adhar
iv
Daftar Isi Lembar Pengesahan Program Studi Teknik Informatika
i
Lembar Pengesahan Course Backend Java Script Di Pt. Lentera Bangsa Benderang
ii
Abstraksi
iii
Kata Pengantar
iv
Daftar Isi
v
Bab I
v
I.1 Error! Bookmark not defined. I.2 2 I.3 Error! Bookmark not defined. Bab II Binar Academy9 II.1 9 II.2 Error! Bookmark not defined. II.3 11 II.4 Error! Bookmark not defined. Bab III
13
III.1
13
III.2
13
III.3
13
Bab IV
27
IV.1 27 IV.2 Error! Bookmark not defined. Referensi
vi
Bab V v 1 Lampiran A. TOR
A-1
Lampiran B. Log Activity
B-1
Lampiran C. Dokumen Teknik
C-1
v
Bab I Pendahuluan I.1
Latar belakang Dalam rangka menyiapkan mahasiswa menghadapi perubahan sosial,
budaya, dunia kerja dan kemajuan teknologi yang pesat, kompetensi mahasiswa harus disiapkan untuk lebih gayut dengan kebutuhan zaman. Link and match tidak cukup dilakukan dalam dunia industri dan dunia kerja tetapi juga dengan masa depan yang sangat pesat. Perguruan Tinggi dituntut untuk dapat merancang dan melaksanakan proses pembelajaran yang inovatif agar mahasiswa dapat meraih capaian pembelajaran mencakup aspek sikap, pengetahuan, dan keterampilan secara optimal dan selalu relevan. Kebijakan Merdeka Belajar - Kampus Merdeka diharapkan dapat menjadi jawaban atas tuntutan tersebut. Kampus Merdeka merupakan wujud pembelajaran di perguruan tinggi yang otonom dan fleksibel sehingga tercipta kultur belajar yang inovatif, tidak mengekang, dan sesuai dengan kebutuhan mahasiswa. Program utama yaitu: kemudahan pembukaan program studi baru, perubahan sistem akreditasi perguruan tinggi, kemudahan perguruan tinggi negeri menjadi PTN berbadan hukum, dan hak belajar tiga semester di luar program studi. Mahasiswa diberikan kebebasan mengambil SKS di luar program studi, tiga semester yang dimaksud berupa 1 semester kesempatan mengambil mata kuliah di luar program studi dan 2 semester melaksanakan aktivitas pembelajaran di luar perguruan tinggi. Proses pembelajaran dalam Kampus Merdeka merupakan salah satu perwujudan pembelajaran yang berpusat pada mahasiswa (student centered learning) yang sangat esensial. Pembelajaran dalam Kampus Merdeka memberikan tantangan dan kesempatan untuk pengembangan inovasi, kreativitas, kapasitas, kepribadian, dan kebutuhan mahasiswa, serta mengembangkan kemandirian dalam mencari dan menemukan pengetahuan melalui kenyataan dan dinamika lapangan seperti persyaratan kemampuan, permasalahan riil, interaksi sosial, kolaborasi, manajemen diri, tuntutan kinerja, target dan pencapaiannya. Melalui program merdeka belajar yang dirancang dan diimplementasikan dengan baik, maka hard dan soft skills mahasiswa akan terbentuk dengan kuat. Program Merdeka Belajar-Kampus 1
Merdeka diharapkan dapat menjawab tantangan Perguruan Tinggi untuk menghasilkan lulusan yang sesuai perkembangan zaman, kemajuan IPTEK, tuntutan dunia usaha dan dunia industri, maupun dinamika masyarakat. Berdasarkan hal tersebut penulis turut serta mengikuti salah satu dari Program Merdeka Belajar-Kampus Merdeka yaitu Magang Bersertifikat. Pada kesempatan ini penulis mendapat kesempatan untuk mengikuti Studi Independen di salah satu mitra Kampus Merdeka, PT. Lentera Bangsa Benderang atau yang biasa dikenal dengan sebutan Binar Academymerupakan pelopor startup edutech yang fokus pada pengembangan skill dan talente digital dengan meningkatkan pengalaman belajar. Binar Academy didirikan pada tahu 2017 oleh Amanda Shantika bersama 2 alumnus Gojek lainnya, bernama Dita Aisyah dan Seto Lareno. Melalui program pelatihannya, yaitu Digital Talent Accelerator serta layanan Talent Placement. Binar Academy berupaya mendukung pertumbuhan sumber daya yang ada terutama diberbagai sektor perusahaan. Berdiri sejak tahun 2017, Binar Academy menawarkan sejumlah layanan seputar pengembangan kemampuan digital seperti bootcamp, pelatihan karyawan perusahaan, lokakarya, hingga menghubungkan peserta bootcamp dengan perusahaan.
I.2
Lingkup Program Studi Independen Bersertifikat ini akan dilakukan secara remote
selama 5 bulan dengan proses pembelajaran akan dijalankan menggunakan 5 (empat) acuan yang telah ditetapkan meliputi: 1. Proses Onboarding sebagai tahap pengenalan terhadap PT. Lentera Bangsa Benderang sebagai perusahaan penyelenggara Studi Independen, yang terdiri atas pemaparan company profile serta nilai-nilai Binar Academy secara keseluruhan. 2. Penjelasan mengenai peraturan akademik yang berlaku pada program Studi Independen.
2
3. Penjelasan mengenai proses evaluasi dan penilaian peserta selama proses Studi Independen. 4. Touch base sebagai tahap pengenalan kepada mentor profesional yang akan mendampingi para peserta secara intensif selama program Studi Independen berjalan dan juga tutor/ahli yang akan memberikan materi pengajaran. 5. Proses pembelajaran dimulai sesuai dengan kerangka silabus program oleh pengajar ahli, diikuti dengan mentoring/pendampingan rutin peserta oleh mentor dedikatif.
I.3
Tujuan
Tujuan yang dalam mengikuti program Studi Independen ini, peserta diharapkan : 1.
Memberi
kesempatan
kepada
mahasiswa
untuk
belajar
dan
mengembangkan diri melalui aktivitas di luar kelas perkuliahan namun tetap diakui sebagai bagian dari perkuliahan. 2. Memberikan peluang bagi mahasiswa yang ingin melengkapi dirinya dengan menguasai kompetensi spesifik dan praktis yang juga dicari oleh dunia usaha dan dunia industri. 3. Menyiapkan mahasiswa dalam menghadapi perubahan sosial, budaya, dunia kerja dan kemajuan teknologi yang pesat. 4. Untuk meningkatkan kompetensi lulusan, baik soft skills maupun hard skills, agar lebih siap dan relevan dengan kebutuhan zaman. 5. Menyiapkan lulusan sebagai pemimpin masa depan bangsa yang unggul dan berkepribadian.
3
Bab II Binar Academy
II.1
Struktur Organisasi
Gambar 2.1 Logo Binar Academy Binar Academy didirikan 2017 oleh Alamanda Shantika bersama dua alumnus Gojek lainnya, yaitu Dita Aisyah dan Seto Lareno. Sebagai pelopor startup edutech di bidang digital skil, Binar fokus pada pengembangan skil dan talenta digital dengan meningkatkan pengalaman belajar melalui tahapan pembelajaran yang jelas dan metode pembelajaran yang beragam, seperti kelas online dan berbagai macam konten. Melalui program pelatihannya, yaitu Digital Talent Accelerator serta layanan talent placement (Job Connect), Binar Academy berupaya mendukung pertumbuhan sumber daya yang ada terutama di berbagai sektor perusahaan, agar dapat bertahan dan bersaing di era transformasi teknologi digital. Pada tahun lalu, Binar Academy berhasil bekerjasama dengan beberapa perusahaan ternama melalui program Binar Bootcamp, kursus intensif bagi pemula, dan Binar Insight, berbagai seri webinar interaktif. Di tengah pandemi sekalipun, perusahaan tetap gencar melakukan pelatihan seiring penyesuaian mereka dengan transformasi teknologi digital.
9
Pilar, Visi dan Misi Binar Academy: •
Pilar :
Pelopor teknologi edukasi yang berfokus pada pengembangan kemampuan digital lewat jalur pembelajaran yang jelas dan terarah dengan pembelajaran yang dipersonalisasi serta pengajar yang ahli di bidangnya. •
Visi :
Menjadi pemimpin market platform pengembangan kemampuan digital di Asia Tenggara •
Misi :
Menata ulang lanskap pendidikan tinggi. Memberikan akses ke pendidikan yang paling terjangkau dan berkualitas terbaik untuk generasi talenta digital berikutnya.
Strukur Organisasi Binar Academy dapat dilihat pada gambar berikut :
Gambar 2.2 Struktur Organisasi Binar Academy
10
II.2
Lingkup Pekerjaan
Dalam program ini, terdapat 3 (tiga) pihak yang terlibat secara intensif untuk menjadi fasilitator: 1. Program Manager: •
Manajemen seluruh proses dalam program, mulai dari seleksi mahasiswa, perekrutan, administrasi dengan pemerintah dan pihak kampus, proses belajar dan asesmen, hingga pemberian nilai dan sertifikat
•
Pusat koordinasi dan komunikasi dari seluruh pihak
•
Mensinkronisasi seluruh pihak, baik dari segi silabus pengajaran maupun timeline program
•
Memastikan program berjalan dengan kualitas baik dan sejalan dengan standar yang ditetapkan Kementerian Pendidikan, Kebudayaan, Riset dan Teknologi Republik Indonesia
2. AAO •
Mempersiapkan dan melakukan sinkronisasi silabus yang terkait dengan spesialisasi
•
Menyampaikan bahan ajar, baik dalam bentuk synchronous (penyampaian secara langsung/daring) maupun asynchronous (memberikan materi atau referensi untuk dipelajari)
•
Melakukan asesmen untuk mengukur capaian belajar dan proyek final untuk melatih peserta untuk dapat langsung mempraktikkan ilmu dan keahlian yang dipelajari
•
Berkoordinasi dengan Program Manager dan Mentor
3. Mentor •
Mendampingi proses belajar peserta dengan melakukan mentoring dengan jadwal yang sudah ditetapkan, baik secara berkelompok dan individu sebanyak 1 (satu) kali sebulan
•
Memonitor progres belajar peserta dan menindaklanjuti apabila ada peserta yang tertinggal dalam proses belajar maupun nilai asesmen
•
Membantu Program Manager dan Subject Matter Expert untuk melakukan pengecekan tugas/asesmen. 11
II.3 Deskripsi Pekerjaan Berikut adalah deskripsi pekerjaan student sebelum pengerjaan PA: 1.
Mengikuti seluruh rangkaian kegiatan program, pembelajaran oleh Subject Matter Expert serta mentoring yang diadakan oleh mentor dedikatifnya sesuai dengan jadwal yang ditetapkan
2.
Mengikuti keseluruhan program dari awal hingga akhir periode untuk dapat menyelesaikan program sesuai dengan standar dan rubrik penilaian yang sudah ditetapkan.
3.
Mengikuti dan mengerjakan segala bentuk asesmen yang diberikan oleh pengajar ahli dan mentor, baik dalam bentuk, esai, studi kasus, proyek maupun bentuk lainnya. Lingkup pekerjaan student adalah mengikuti kelas bersama homeroom atau domain coach, sesuai agenda kelas, hingga program selesai. Sedangkan pekerjaan saya dalam kelompok selama pengerjaan Proyek Akhir ini yakni membuat database sampai API.
II.4
Jadwal Kerja Program ini berlangsung dari bulan Februari 2022 hingga bulan Juli 2022
pada hari Senin sampai dengan Jumat) selama 3 jam per harinya yakni pukul 19.00 s.d 22.00 WIB.
12
BAB III SECOND GADGET III.1
Deskripsi Project Second Gadget adalah platform yang berguna sebagai tempat jual-beli
barang secara online, khususnya barang bekas. Platform ini membuka dan menyediakan berbagai jenis kategori kebutuhan. User yang mendaftarkan diri pada aplikasi ini dapat berperan sebagai seller dan buyer dengan menggunakan 1 (satu) akun yang sama. Platform ini akan mempertemukan seller dan buyer untuk dapat melakukan negosiasi barang dan melakukan transaksi langsung di luar platform. User yang berperan sebagai seller akan menjual barang pada website Second Gadget dan mengupload barang tersebut pada website. Selanjutnya user lain yang berperan sebagai seller akan membeli barang tersebut dengan cara menawar barang pada website. Jika seller menyetujui tawaran buyer, maka akan dilanjutkan pada chat yang ditautkan ke platform lain. Jika transaksi berhasil dilakukan, seller dapat menghapus barang pada website Second Gadget. Dalam project ini output yang diharapkan adalah Front End website Second Gadget yang terintegrasi dengan API dan juga Back End yaitu API dari website tersebut.
III.2
Pengerjaan Project Dalam menjalankan project ini penulis akan melakukan kolaborasi antara
course Back End dengan Front End. Adapun pembagian komposisinya yaitu Back End membuat API yang akan diintegrasikan oleh Front End pada website. Penulis memiliki role sebagai Back End, maka penulis bertugas mengerjakan API untuk website Second Gadget tersebut. III.2.1 Stack untuk API Second Gadget Pada pembuatan API untuk website Second Gadget, digunakan framework
Spring Boot Java dengan ORM JPA. Spring Boot adalah
framework dengan cara kerja efisien serta dibekali berbagai keunggulan, 13
seperti integrasi dengan arsitektur lain. Hal ini membuat Express.js lebih menonjol dibanding framework yang lain. Sequelize adalah ORM database untuk mempermudah pemetaan database entry menjadi object, sehingga akan mempercepat dan mempermudah proses interaksi dengan database. Arsitektur pembuatan API Second Gadget adalah Model Controller Route. Model Controller Route atau yang dapat disingkat MCR adalah sebuah pola arsitektur dalam membuat sebuah aplikasi dengan cara memisahkan kode menjadi tiga bagian. Pertama adalah Model yang bertugas
untuk
menyiapkan,
mengatur,
memanipulasi,
dan
mengorganisasikan data yang ada di database. Kedua adalah Controller yang bertugas menghubungkan serta mengatur model dan route agar dapat saling terhubung. Ketiga adalah Route yang berfungsi sebagai penghubung ke beberapa controller dengan endpoint untuk berinteraksi dengan pengguna.
III.2.2 Perancangan Minimum Viable Product (MVP) Minimum Viable Product (MVP) adalah bentuk minimal aplikasi yang dirilis ke publik. Strategi pengembangan produk ini memungkinkan tim untuk memvalidasi aplikasi dan mempelajari target yang ingin dicapai. Sehingga dapat mengetahui apa saja kebutuhan system yang dibutuhkan agar platform yang dibuat (dalam hal ini adalah Second Gadget) dapat digunakan dengan fungsionalitas yang memenuhi kebutuhan. Berikut MVP dari website Second Gadget :
1. Registrasi User Registrasi user digunakan untuk membuat akun bagi user yang belum memiliki akun pada Second Gadget, dan di sini role user akan di set default sebagai Buyer 14
2. Registrasi Seller Registrasi seller digunakan untuk menambahkan status role pada user yang belum memiliki role sebagai seller pada Second Gadget, untuk ketentuan registrasi seller sendiri sebelumnya user harus melengkapi profilnya terlebih dahulu
3. Implementasi In App Notification (Fitur lonceng di dalam notifikasi) Dalam website Second Gadget, terdapat 2 hal yang mendapatkan notifikasi. Yang pertama adalah ketika seller mengupload barang, dan yang kedua adalah ketika barang tersebut ada buyer yang menawar.
4. Profil User Profil user digunakan untuk melengkapi data user sebelum user menjual barang ataupun untuk mengupdate data user sebelumnya.
5. Histori Transaksi Histori transaksi digunakan untuk melihat hasil transaksi suatu user
6. Fitur Wajib untuk Buyer -
Wishlist produk Wishlist produk adalah listing jualan dari seller (Produk, deskripsi, gambar produk dan lain lain) yang dijadikan favorite oleh buyer
7. Fitur Wajib untuk Seller -
Seller product list Seller product list adalah listing barang jualan yang dipunyai oleh user
-
Produk listing Produk listing adalah listing produk pada halaman home website yang memuat gambar, lokasi, harga deskripsi. Gambar 15
memiliki maksimum foto yaitu tiga. Barang yang dijual memiliki kategori dengan maksimum lima
Task Auth CRUD
Description
Design Pattern /Architectural Searching Filtering Role Deployment
Output Deliverable III.2.3
Akun untuk user - User - Produk (sesuai fitur minimum) - Transaksi Basic MVC, Monolith two layers (back end layer and front end layer) Searching Pagination and Sorting - Buyer - Seller Heroku (Staging and Production/Main) Pada heroku dibuat dua branch yaitu Staging dan Production/Main API yang bisa diconsume oleh Front End
Minimum Requirement for Back End
III.2.4 User Flow User flow adalah tahapan yang harus dilakukan oleh pengguna untuk menggunakan situs web. Dengan memahami alur dari website tersebut user yang dalam hal ini sebagai admin akan dapat dengan mudahnya
melakukan
pengelolaan
website,
sehingga
fitur-fitur
didalamnya dapat digunakan dengan baik sesuai dengan fungsionalitasnya.
Gambar 3.2.2.1 User Flow Second Gadget
-
User dapat melihat homepage 16
-
User dapat login/registrasi ketika mereka meng-klik tombol jual atau menu profil
-
Jika User telah memiliki akun, User dapat langsung meng-klik tombol jual atau menu profil, tidak harus login terlebih dahulu
-
Jika User belum memiliki akun, ia harus membuat akun baru untuk dapat mengklik tombol jual atau menu profil.
-
Seller klik tombol Jual
-
Jika Seller belum melengkapi profilnya, dia harus melengkapinya terlebih dahulu
-
Seller melengkapi detail produk yang terdiri dari: o Nama o Harga o Pilih Kategori o Keterangan
-
Unggah gambar (maksimal tiga gambar produk)
-
Seller dapat melihat halaman product
-
Seller dapat mem-published product
-
Buyer dapat menjelajahi beranda, memfilter daftar produk dengan tombol kategori.
-
Buyer dapat melihat detail produk dengan mengklik salah satu kartu produk.
-
Memilih barang sesuai minat Buyer dan melakukan tawar menawar dengan Seller.
-
Buyer melihat bottom sheet / modal untuk memasukkan harga tawarannya, dan mengirimkannya ke penjual.
-
Buyer berhasil mengirimkan tawarannya dan melihat halaman update produk dengan CTA yang dinonaktifkan.
-
Seller mendapatkan notifikasi bahwa ada Buyer yang tertarik dengan produknya dan melakukan penawaran. Seller dapat mengaksesnya melalui halaman notifikasi dan Daftar Jual saya di halaman Diminati.
17
-
Seller dapat mengklik notifikasi tersebut untuk melihat detail “Info Penawar”.
-
Seller merespon penawaran dengan mengklik tombol Tolak atau Terima.
-
Jika Seller Terima, maka dia akan melihat lembar tombol Product Match dan dapat menghubungi Buyer melalui WhatsApp.
-
Buyer mendapatkan notifikasi jika bagaimana Seller menanggapi penawarannya.
-
Jika “Penawaran produk diterima”, Buyer tinggal menunggu Seller menghubunginya.
-
Jika “Penawaran produk ditolak”, Buyer dapat mengajukan kembali penawarannya di halaman detail.
-
Setelah bertransaksi di WhatsApp, Seller masuk ke “Info Penawar” dari tab.
-
“Diminati” di halaman “Daftar Jual Saya”.
-
Seller dapat mengupdate status “Berhasil dijual” atau “Batalkan Transaksi”.
-
Buka daftar jual saya untuk pertama kalinya dan akan melihat halaman kosong.
III.2.5 Perancangan Entity Relationship Diagram ERD (Entity Relationship Diagram) atau diagram hubungan entitas adalah diagram yang digunakan untuk perancangan suatu database dan menunjukan relasi antar objek atau entitas beserta atribut-atributnya secara detail. Berikut adalah ERD dari website Second Gadget :
18
Gambar 3.2.4.1 Requirement ERD Second Gadget III.2.6 User Interface (UI) User Interface (UI) adalah tampilan visual sebuah produk yang menjembatani sistem dengan pengguna (user). Tampilan UI dapat berupa bentuk, warna, dan tulisan yang didesain semenarik mungkin. Secara sederhana, UI adalah bagaimana tampilan sebuah produk dilihat oleh pengguna. Berikut adalah UI dari website Second Gadget.
Gambar 3.2.5.1 Requirement UI Website Second Gadget
19
III.2.7 Perancangan API Website Pengerjaan final project ini menggunakan metode Scrum dengan tiga Sprint. Metode Scrum merupakan metodologi yang termasuk dalam agile software development. Scrum dinilai dapat menghasilkan kualitas perangkat lunak yang baik sesuai dengan keinginan pengguna, dapat digunakan dalam proyek besar maupun kecil, dan mudah untuk mengadopsi perubahan. Sprint sendiri adalah serangkaian pekerjaan yang dilakukan untuk menyelesaikan suatu masalah khususnya penciptaan produk baru. 1. Sprint 1 (13 Juni – 24 Juni 2022). a. Pembuatan repository untuk mempermudah kerja tim Respository merupakan tempat yang dapat Anda gunakan untuk menyimpan berbagai file berupa source code. Pembuatan repository ini menggunakan website bernama GitHub. GitHub adalah sebuah aplikasi berbasis
website
menyediakan
dengan Version
layanan
untuk
Control
System (VCS)
yang
menyimpan repository dengan
gratis. Dengan adanya repository pada github, penulis dan tim bisa melakukan kolaborasi dalam mengerjakan final project ini. Berikut merupakan link repository https://github.com/adesug/SecondGadget. b. Perancangan database Pada perancangan database ini, output yang dihasilkan adalah ERD. Berikut adalah ERD dari API Second Gadget :
20
Gambar 3.2.6.1 ERD Second Gadget c. Create Table Pada tahap pembuatan table, penulis menggunakan model dan migration dari sequelize. Migration adalah blueprint dari database yang akan dibuat sedangkan Model adalah representasi dari entity atau tabel yang ada di database. d. Membuat Create, Read, Update dan Delete Dasar untuk semua table Pada sprint 1 ini, CRUD yang dibuat hanya dasar – dasarnya saja, hanya membuat controller dan route saja. Belum sampai membuat validasi input dan error handlers lanjutan. 2. Sprint 2 (25 Juni – 8 Juli 2022) a. Mengerjakan kebutuhan MVP dari final project Pada
sprint
ini,
mulai
dibuat
mekanisme
user
dan
authentication. Mulai dari membuat validasi input, upload gambar ke cloudinary, membuat error handlers, dan juga membuat function authentication sebagai pembuat dan pengurai token yang akan dipakai pada seluruh API. Begitu juga untuk table lainnya, seperti membuat kondisi tertentu pada saat mengakses data pada database. b. Membuat dokumentasi API
21
Gambar 3.2.6.2 Dokumentasi Swagger Second Gadget
Dokumentasi API dibuat menggunakan swagger.js yang memuat semua dokumentasi API mulai dari API untuk user sampai API untuk wishlist.
Penulis
membuat
SecondGadgetapp.herokuapp.com/
base
urlnya
dengan schema https.
adalah Untuk
dokumentasi sendiri terdiri dari User, Produk, Penawaran, Wishlist, Notifications, Category, dan Api Documentation.
3. Sprint 3 (11 Juli – 22 Juli 2022) a. Deployment Deployment
adalah
kegiatan
yang
bertujuan
untuk
menyebarkan aplikasi yang telah dikerjakan oleh para programmer. Dengan kata lain agar orang umum bisa mengakses website yang telah dibuat tersebut. Deployment untuk API Second Gadget menggunakan heroku dengan git action dari github. Penulis membuat dua branch yang terdiri
dari
branch
main
dan
juga
development.
Branch
development digunakan pada saat proses development dan codingan API masih bisa berubah – ubah sesuai revisi yang diminta oleh Front End. b. Membantu integrasi pada Front End
22
Penulis dan tim membantu Front End untuk mengintegrasikan API pada codingan Front End. Proses integrasi ini mulai dari API User sampai API wishlist. Pada saat integrasi, Front End meminta beberapa
bagian
response
untuk
diubah
dengan
tujuan
mempermudah proses integrasi. c. Revisi code berdasarkan permintaan Front End Penulis dan tim merevisi codingan API berdasarkan permintaan dari Front End. Revisi yang dilakukan adalah menata ulang response pada beberapa API, mengubah beberapa inputan pada API yang digunakan untuk post suatu data, serta mengubah response pada dokumentasi swagger. Untuk lebih detail kegiatan ada di table berikut : Table 3.3 Hasil Daily Scrum pada Sprint 1-3 Tgl 13/6
Kegiatan
Done Tema, Nama Kelompok, Filosofi, Scrum Master
Plan Sprint Planning
14/6
Sprint Planning
Create Register, Create Login Page
15/6 17/6
Spring Initialzr Create Register
Create Entity for User Deploy, Create Seller, Create Login
18/6
Spring Security, Login, Endpoint Registrasi, Endpoint Login Sprint 1
20/6
Spring Security, Endpoint Seller, Endpoint Buyer
Revisi Response Register dan Response Login
21/6
Deploy App for Register and Login
Revisi Response Register dan Register Login, Create Product
22/6
Table Product
Create Table Category, Revisi Response Register dan Response Login
23/6 24/6 27/6
-
Revisi Update User Revisi Response Body CRUD Product, Revisi Body
Sprint 2
23
Response Register 28/6
Revisi Pembahasan Awal Flow, Pembuatan ERD
29/6
ERD Flow
30/6 1/7 4/7 5/7
CRUD Product dan Category
6/7
Response Register Buyer
JSON Contract
7/8 8/7 11/7
Minor Update Bentuk Response Body pada User Updated Role Seller dan Buyer Status dan Message pada Response Body User Relasi Table antara Role dan User Revisi Response
12/7 13/7 14/7 15/7 18/7 Sprint 3
CRUD Bids, Table City Relation with User Table
Perbaikan Multiple Response Register dan Response Login Ulang pembuatan CRUD Product dan Category Pembuatan View Table JSON Contract Pembuatan Response Register Buyer, Penambahan Role Pembuatan Response Login Sukses Pembuatan Error Login Revisi Response Error Login dengan Bahasa Indonesia Revisi Role Seller dan Role Buyer Penambahan User Role (Admin) Perbaikan Relasi Table antara Role dan User Permintaan Response dari FE City Entity Relation with User Table, Add Bids Role Admin, Endpoint Admin
19/7
Role Admin, Endpoint Admin CRUD Carousel
20/7
CRUD Carousel
Fixing Bug, Power Point Final Project, CRUD Notification
21/7
CRUD Notification
Fixing Bug, Power Point Final Project
22/7
Power Point Final Project, Fixing Bug
24
-
III.3
Hasil Pengerjaan Project Dari proses serta tahapan perancangan dan pengembangan yang telah
dilalui maka akhirnya pembuatan website Second Gadget telah berhasil diselesaikan. Website Second Gadget ditujukan kepada user yang harapannya dapat digunakan sebagai platform yang berguna sebagai tempat jual-beli barang secara online, khususnya barang bekas. Platform ini membuka dan menyediakan berbagai jenis kategori kebutuhan. User yang mendaftarkan diri pada aplikasi ini dapat berperan sebagai seller dan buyer dengan menggunakan 1 (satu) akun yang sama. Platform ini akan mempertemukan seller dan buyer untuk dapat melakukan negosiasi barang dan melakukan transaksi langsung di luar platform.
Gambar 3.3.1 Website Second Gadget
Hasil dari pengerjaan ini adalah website yang terintegrasi dengan API yang dibuat oleh Back End. Setelah dilakukan proses deployment menggunakan heroku
dan
vercel
app,
website
dapat
diakses
melalui
link
https://secondgadget.herokuapp.com/. Untuk link API sendiri dapat diakses melalui link https://sec-gadget.herokuapp.com/ dengan endpoint yang dapat dilihat pada dokumentasi. Berikut merupakan link dokumentasi swagger https://sec-gadget.herokuapp.com/swagger-ui.html#/.
25
Gambar 3.3.2 Detail API Second Gadget
Gambar 3.3.3 Detail API Second Gadget
26
BAB IV Penutup 1. Kesimpulan Program Binar Academy Studi Independen Bersertifikat merupakan program yang diinisiasi oleh Binar bekerja sama dengan Kementerian Pendidikan, Kebudayaan, Riset dan Teknologi sebagai bagian dari implementasi Magang dan Studi Independen Bersertifikat Kampus Merdeka. Objektif program ini dibuat khusus bagi mahasiswa untuk dapat merasakan pengalaman pembelajaran di luar Kampus berdasarkan tantangan nyata dihadapi oleh mitra/industri untuk mempersiapkan para lulusan sarjana Indonesia untuk mampu berpikir kritis, ilmiah dan terampil sebelum masuk ke dunia kerja setelah lulus dari dunia perkuliahan.
Melakukan
proyek
ini
merupakan
pengalaman
yang
sangat
menyenangkan, terutama dalam hal ruang lingkup Backend Java. Tantangan besar mengambil langkah kecil. Ambil langkah kecil, karena perubahan besar tidak bisa dilakukan dalam semalam, apalagi hanya melalui antarmuka saja. Pertanyaan wawancara dipilih dengan persiapan yang baik. Saat melakukan penelitian, selalu bersiaplah untuk situasi tak terduga saat mendiskusikannya dengan pengguna. Terkadang kita lupa bahasanya dan tidak baik untuk menyebarkannya.
Program
Merdeka
Belajar-Kampus
Merdeka
Studi
Independen ini sangat membantu dalam memajukan pendidikan di Indonesia karena dengan hadirnya program ini juga membantu untuk meningkatkan taraf hidup dan mutu mahasiswa dalam dunia kerja. 2. Saran Salah satu dari 160 mitra yang bergabung dalam program MSIB adalah Binar Academy, yang memberikan pelatihan keterampilan dibidang Backend Java. Dengan melakukan pembelajaran full online dari hari senin hingga jumat yang didampingi oleh mentor-mentor hebat dan ahli dibidangnya, mahasiswa yang ikut bergabung dalam mitra ini diberikan pembelajaran tentang Backend
27
Java mulai dari ilmu dasar hingga ketahap yang lebih tinggi lagi yaitu pembuatan API aplikasi e-commerce. Sebagai seorang peserta, program ini sudah berjalan dengan sangat baik. Namun disayangkan waktu on boarding peserta mundur sedikit lama sehingga berdampak pada berakhirnya program ini sedikit mundur serta laporan nilai akhir yang mundur pula, dan berakibat pada laporan nilai konversi
ke
kampus
28
tertund
BAB V Lampiran A. TOR TERM OF REFERENCE (TOR) STUDI INDEPENDEN BERSERTIFIKAT BACKEND JAVA DI BINAR ACADEMY
29
30