Anda di halaman 1dari 65

LAPORAN AKHIR

MAGANG & STUDI INDEPENDEN BERSERTIFIKAT


BACKEND JAVASCRIPT
DI PT LENTERA BANGSA BENDERANG
(BINAR ACADEMY)

Diajukan untuk memenuhi persyaratan kelulusan


Program MSIB MBKM
Oleh :
Atika Indah Sari / 1901092026

PRODI MANAJEMEN INFORMATIKA


POLITEKNIK NEGERI PADANG
2022
LEMBAR PENGESAHAN
PRODI MANAJEMEN INFORMATIKA

POLITEKNIK NEGERI PADANG

BACKEND JAVASCRIPT

DI PT LENTERA BANGSA BENDERANG

Oleh :
Atika Indah Sari / 1901092026

Disetujui dan disahkan sebagai


Laporan Magang atau Studi Independen Bersertifikat Kampus Merdeka

Padang, .. Juli 2022


Pembimbing Magang atau Studi Independen
Prodi Manajemen Informatika Politeknik Negeri Padang

Defni, S.Si., M.Kom.


NIP : 19811207 200812 2 001
LEMBAR PENGESAHAN
BACKEND JAVASCRIPT
DI PT LENTERA BANGSA BENDERANG

Oleh :
Atika Indah Sari / 1901092026

Disetujui dan disahkan sebagai


Laporan Magang atau Studi Independen Bersertifikat Kampus Merdeka

Tangerang, 14 Juli 2022


PIC PT Lentera Bangsa Benderang

Bagus Prakoso Gunawan.


No. Pegawai : 32201258
ABSTRAKSI

Program Magang dan Studi Independen Bersertifikat (MSIB) adalah salah satu
program kampus merdeka yang dirancang untuk memastikan para mahasiswa
mendapatkan kompetensi terbaik, kompetensi terkini, dan kompetensi terdepan untuk
menghadapi dunia di masa depan. PT Lentera Bangsa Benderang atau yang lebih
dikenal dengan Binar Academy ialah salah satu mitra yang tergabung dalam program
MSIB Kampus Merdeka ini. Binar Academy adalah pelopor startup edutech di bidang
digital skill. Salah satu kelas yang disediakan oleh pihak Binar Academy ialah kelas
Backend JavaScript. Project yang dikerjakan di kelas ini diantaranya menampilkan
output penjumlahan sederhana, menampilkan output program berupa pola bintang
atau segitiga menggunakan looping, membuat API seperti API untuk register, login,
CRUD, dan sebagainya. Final project yang diberikan oleh pihak Binar Academy
adalah membuat website jual beli barang bekas. Final project ini merupakan
implementasi dari seluruh materi yang telah diberikan selama mengikuti program
MSIB Kampus Merdeka. Program MSIB sampai saat ini berjalan dengan baik,
project yang diberikan oleh mitra juga sangat aplikatif. Sehingga mahasiswa
mendapat banyak pengetahuan dan pengalaman.
Kata Kunci : MSIB Kampus Merdeka, Binar Academy, Backend JavaScript,
Project.
KATA PENGANTAR

Puji dan syukur penulis ucapkan atas kehadiran Allah SWT yang telah
memberikan berkah, rahmat, dan karunia-Nya, sehingga penulis dapat menyelesaikan
Laporan Akhir MSIB Kampus Merdeka yang telah dilaksanakan selama 6 bulan di
PT Lentera Bangsa Benderang (Binar Academy). Laporan ini disusun dan diajukan
untuk memenuhi syarat akhir Program MSIB Kampus Merdeka Angkatan 2.

Laporan ini dapat diselesaikan karena penulis menerima banyak bantuan dan
dukungan. Untuk itu, penulis mengucapkan terima kasih kepada :

1. Bapak Ronal Hadi, ST., M.Kom. selaku Ketua Jurusan Teknologi Informasi
Politeknik Negeri Padang.
2. Ibu Defni, S.Si., M.Kom. selaku pembimbing jurusan.
3. Ibu Rita Afyenni, M.Kom. dan Ibu Indri Rahmayuni, MT. selaku dosen
pembimbing yang telah menyediakan waktu, tenaga, dan pikiran untuk
membantu penulis dalam menyelesaikan Laporan Akir MSIB Kampus
Merdeka ini.
4. Kak Agnes Pravida Irlitashanty selaku fasilitator BackEnd JavaScript yang
telah membimbing penulis dalam melaksanakan program MSIB Kampus
Merdeka di Binar Academy.
5. Kak Candra selaku Academic Affairs & Operation (AAO) yang bertanggung
jawab di kelas BEJS 2 dan banyak membantu penulis dalam menyelesaikan
laporan ini.
6. Mas Didik Nur Hidayat dan Febryan Ali Akbar selaku tim BEJS 2 yang telah
membantu penulis dalam membuat dan menyelesaikan final project serta
mengizinkan penulis menggunakan final project ini untuk tugas akhir.
7. Mas Erlangga Aditya, Ilham Bintang Pratama, dan Muhammad Rian Syah
selaku tim FEJS 2 yang telah membantu dan mengizinkan penulis
menggunakan final project ini untuk tugas akhir.
8. Orang tua, keluarga, teman-teman, dan semua pihak yang tidak dapat penulis
sebutkan satu persatu yang telah memberikan do’a serta dukungan kepada
penulis selama mengikuti Program MSIB Kampus Merdeka ini.
9. Diri penulis yang telah berusaha untuk bertahan sampai tahap ini.

Laporan Akhir MSIB Kampus Merdeka ini, disusun berdasarkan apa yang
telah dijalankan selama melaksanakan kegiatan MSIB di Binar Academy. Yang
dilaksanakan selama kurang lebih 5 bulan, mulai tanggal 14 Februari 2022 sampai
dengan 22 Juli 2022.

Penulis menyadari bahwa laporan akhir ini masih jauh dari sempurna. Oleh
karena itu, saran dan kritik yang bersifat membangun akan penulis terima dengan
senang hati. Penulis berharap laporan akhir ini dapat bermanfaat bagi semua pihak
yang memerlukan.

Solok, 23 Juli 2022

Penulis

Atika Indah Sari


DAFTAR ISI

Penulisan menggunakan font Times New Roman ukuran 12 dengan spasi satu;
Judul tiap bab ditulis menggunakan huruf kapital dan dicetak tebal;
Jarak antara judul dengan daftar Isi adalah empat (4) spasi

Dapat ditambahkan berbagai daftar yang dibutuhkan seperti daftar tabel, daftar
gambar, daftar algoritma, daftar padanan istilah, daftar singkatan, daftar istilah, daftar
simbol. Khusus untuk daftar pustaka, dapat diletakkan setelah bab Penutup, sebelum
lampiran.Jika hanya terdapat satu gambar atau satu tabel, maka tidak perlu dibuat
daftar gambar atau daftar tabel. Setiap daftar, misal daftar gambar, daftar tabel, daftar
istilah dan singkatan, semuanya diletakkan pada halaman terpisah.

DAFTAR TABEL

DAFTAR GAMBAR

DAFTAR LAMPIRAN
BAB I

PENDAHULUAN

1.1 Latar Belakang

Dalam rangka 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 saja dengan dunia
industri dan dunia kerja tetapi juga dengan masa depan yang berubah dengan
cepat. 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.
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. Proses pembelajaran
dalam Kampus Merdeka merupakan salah satu perwujudan pembelajaran
yang berpusat pada mahasiswa (student centered learning). 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.
Program Magang dan Studi Independen Bersertifikat (MSIB) adalah
salah satu metode pembelajaran, dari delapan metode yang dicanangkan
dalam kebijakan kampus merdeka. Studi Independen Bersertifikat Kampus
Merdeka adalah sebuah pembelajaran di kelas yang dirancang dan dibuat
khusus berdasarkan tantangan nyata yang dihadapi oleh mitra/industri.
Program ini dapat berupa kursus singkat, boot camp, kursus daring terbuka
secara besar-besaran (MOOC) dan lain-lain. Perusahaan memberikan
kesempatan kepada mahasiswa untuk belajar softskill. Setelah 4 bulan belajar,
mahasiswa kemudian dilibatkan dalam sebuah team project selama 1 bulan.
Pada akhir project, perusahaan kemudian memberikan Sertifikat Praktisi
Deep Learning kepada para mahasiswa yang terlibat.
Salah satu mitra yang bekerja sama dalam program MSIB Kampus
Merdeka adalah Binar Academy. Dengan visi saling menginspirasi dan
menyemangati, Binar Academy berharap ketika talenta potensial bersatu dan
membentuk pembaruan dalam bidang digital, hasil dan kolaborasi mereka
harus bisa menghidupkan serta memberikan inspirasi terhadap banyak orang.
Selain itu, Binar Academy memiliki beberapa misi diantaranya :
1. Untuk saling menemukan
Binar Academy mengajak untuk terus mencari makna/esensi, bukan
hanya untuk meraih output/hasil yang terlihat baik. Forma dan substansi
harus berjalan beriringan.
2. Untuk saling berproses
Binar Academy mendorong untuk tidak hanya mempelajari wawasan
dan teori tetapi juga dapat meneladani proses untuk menjadi landasan
dalam membuat inovasi yang dapat membangun bangsa.
3. Untuk saling terkoneksi
Ilmu dan pelatihan yang menjadi bagian dari ekosistem Binar Academy
dirancang untuk menghubungkan talenta dengan pakar atau talenta dengan
talenta. Dengan demikian, terciptalah potensi dan kesempatan. Hubungan
ini merupakan sebuah simbiosis yang dilandaskan pada daya saing di era
digital.
Binar Academy menyediakan beberapa kelas pelatihan yaitu kelas
Android Engineering, BackEnd Java, BackEnd JavaScript, FrontEnd
JavaScript, FullStack Web, IOS Developer, Product Management, React
Native, UI/UX Research & Design.

1.2 Lingkup

Lingkup project dari program BackEnd JavaScript yang diadakan oleh


Binar Academy pada MSIB Kampus Merdeka Batch 2 ini dibagi menjadi 3
level pembelajaran, yaitu :
1. Level Silver
Pada level ini mahasiswa akan dikenalkan dan diajarkan tentang dasar
pemrograman. Materi pembelajaran pada level ini terbagi menjadi 4
chapter.
2. Level Gold
Level ini berfokus pada pengembangan skill individu masing-masing
mahasiswa. Materi pembelajaran pada level ini terbagi menjadi 5 chapter.
3. Level Platinum
Level ini berfokus pada pengembangan skill tim project masing-masing
mahasiswa dengan menerapkan simulasi kerja dan metodologi yang
digunakan dalam industri kerja. Pada level ini materi pembelajaran yang
diberikan berupa panduan untuk mengerjakan final project dan terbagi
menjadi 3 chapter.

TOR (Term of Reference) atau kerangka acuan kegiatan merupakan


gambaran umum dan penjelasan mengenai kegiatan yang dilaksanakan. Pada
Gambar 1.1 akan ditampilkan gambaran kegiatan yang dilakukan selama
program MSIB Kampus Merdeka di Binar Academy.
Gambar 1. 1 Kegiatan BackEnd JavaScript

1.3 Tujuan

Tujuan dari program MSIB Kampus Merdeka ini ialah :


1. Meningkatkan pengetahuan, keterampilan, dan sikap Mahasiswa sehingga
meningkatkan kesiapan dan keterserapan di dunia kerja dan dunia usaha
2. Menghasilkan terobosan dalam penyelesaian persoalan praktis di industri
ataupun organisasi dari inovasi yang dilakukan dalam program ini
3. Mendorong dan memacu pembangunan nasional dengan menumbuhkan
motivasi masyarakat untuk berpartisipasi dalam pembangunan
4. Meningkatkan peran dan kontribusi nyata Perguruan Tinggi dan
Mahasiswa dalam pembangunan nasional
5. Memberikan kesempatan kepada mahasiswa untuk belajar dan
mengembangkan diri melalui aktivitas di luar kelas perkuliahan namun
tetap diakui sebagai bagian dari perkuliahan
BAB II

TINJAUAN MITRA MSIB

2.1 Struktur Organisasi

Gambar 2. 1 Logo Binar Academy

Binar Academy merupakan sebuah platform end-to-end digital career


solutions, tempat terbaik untuk belajar, menyusun karier, sekaligus menggali
potensi di industri yang tepat. Didirikan pada tahun 2017 oleh Alamanda
Shantika bersama dengan 2 orang rekannya yaitu Seto Lareno dan Dita
Aisyah, Binar Academy berada dibawah naungan PT Lentera Bangsa
Benderang.
Struktur organisasi yang ada pada Binar Academy ditunjukkan pada
Gambar 2.2 berikut :
Gambar 2. 2 Struktur Organisasi Binar Academy

Alamanda Shantika menjabat sebagai Founder dan President Director of


Binar Academy, sedangkan Seto Lareno menjabat sebagai Chief of
Operations Officer dan Academy Research, dan Dita Aisyah menjabat sebagai
Chief of Financial Officer dari Binar Academy.

2.2 Lingkup Pekerjaan

Ada beberapa pihak yang terlibat secara langsung dalam pelaksanaan


program MSIB Kampus Merdeka BackEnd JavaScript ini, diantaranya :
1. Program Manager
Ialah seseorang yang bertanggung jawab dalam menggambarkan daftar-
daftar proyek yang diperlukan dalam mencapai tujuan suatu program.
Tugas dari program manager diantaranya :
a. Mengatur seluruh proses dalam pelaksanaan program, mulai dari
seleksi mahasiswa, perekrutan, administrasi dengan pemerintah dan
pihak kampus, proses belajar dan asesmen, hingga pemberian nilai
dan sertifikat
b. Pusat koordinasi dan komunikasi dari seluruh pihak
c. Mensinkronisasi seluruh pihak, baik dari segi silabus pengajaran
maupun timeline program
d. Memastikan program berjalan dengan baik dan sejalan dengan standar
yang ditetapkan Kementerian Pendidikan, Kebudayaan, Riset dan
Teknologi Republik Indonesia
2. Academic Affairs & Operation (AAO)
Ialah seseorang yang ditunjuk untuk memfasilitasi peserta dalam hal-hal
yang berkaitan dengan pelaksanaan program. Tugas AAO diantaranya :
a. Mempersiapkan dan melakukan sinkronisasi silabus yang terkait
dengan spesialisasi program
b. Menyampaikan bahan ajar, baik dalam bentuk synchronous
(penyampaian secara langsung/daring) maupun asynchronous
(memberikan materi atau referensi untuk dipelajari)
c. Melakukan asesmen untuk mengukur capaian belajar dan proyek final
d. Berkoordinasi dengan Program Manager dan Fasilitator
3. Fasilitator
Ialah orang yang ditunjuk untuk menjalankan program, memberikan
pelatihan dan bimbingan kepada peserta dalam pelaksanaan program.
Tugas fasilitator/mentor diantaranya :
a. Mendampingi proses belajar peserta dengan melakukan mentoring
dengan jadwal yang sudah ditetapkan, baik secara berkelompok dan
individu
b. Memonitor progres belajar peserta dan menindaklanjuti apabila ada
peserta yang tertinggal dalam proses belajar maupun nilai asesmen
c. Membantu Program Manager dan Subject Matter Expert untuk
melakukan pengecekan tugas/asesmen.

2.3 Deskripsi Pekerjaan

Sebelum mengerjakan final project, kegiatan yang dilakukan oleh


peserta program BackEnd JavaScript diantaranya :
1. Pemaparan materi oleh fasilitator
Peserta akan dibekali dengan materi-materi yang berkaitan dengan final
project yang akan dilakukan diakhir kegiatan. Fasilitator akan
menjelaskan materi-materi yang telah disediakan oleh pihak Binar
Academy.
2. Diskusi materi dengan fasilitator
Peserta dipersilakan untuk menanyakan materi-materi yang masih belum
dirasa jelas. Fasiliator membuka sesi tanya jawab baik didalam kelas
maupun diluar kelas. Sehingga peserta dibebaskan untuk berdiskusi
dengan fasilitator kapan pun peserta butuh.
3. Mengerjakan soal latihan
Beberapa kali setelah fasilitator menjelaskan materi, fasilitator
memberikan tugas kepada peserta untuk mengerjakan latihan terkait
dengan materi yang dijelaskannya. Terkadang fasiliator memberi waktu 2
jam untuk peserta mengerjakan latihan, namun tak jarang fasiliator
memberi waktu satu hari untuk mengerjakan latihan tersebut.
4. Membahas soal latihan
Latihan yang telah selesai dikerjakan, dibahas secara bersama-sama.
Fasilitator terkadang meminta peserta dalam menjawab soal latihan,
karena latihan kode program memiliki jawaban yang beragam, tergantung
dengan pemahaman peserta.
5. Mengerjakan challenge binar
Dalam 2 minggu sekali, peserta diberi tugas oleh Binar Academy. Tugas
ini bersifat wajib, karena menjadi indikator penilaian dan pertimbangan
apakah peserta bisa melanjutkan proses pembelajaran ke level berikutnya
atau tidak. Tugas ini berkaitan dengan materi yang telah dijelaskan oleh
fasilitator.
6. Mengerjakan final project
Pada level platinum, peserta akan digabungkan ke dalam kelompok yang
terdiri dari anggota FrontEnd dan anggota BackEnd. Kelompok ini akan
diberi tugas untuk menyelesaikan final project yang telah ditentukan oleh
Binar Academy. Final project ini merupakan implementasi dari seluruh
materi yang telah dijelaskan fasilitator selama program MSIB Kampus
Merdeka berlangsung.
Sebagai anggota program BackEnd JavaScript, penulis dan tim BEJS 2
bertugas untuk membuat rancangan database, merancang alur penggunaan
website, membuat endpoint API yang dibutuhkan, melakukan testing
endpoint API, membuat dokumentasi API, melakukan deploy API, dan
segala hal yang berkaitan dengan BackEnd.

2.4 Jadwal Kerja

Program MSIB Kampus Merdeka kelas BackEnd JavaScript Binar


Academy memiliki jadwal kerja seperti yang ditunjukkan pada tabel 2.1

Tabel 2. 1 Jadwal Kerja BackEnd JavaScript

Lama Kegiatan 14 Februari 2022 s/d 22 Juli 2022


Banyak Pertemuan 5 kali dalam seminggu
Waktu Pelaksanaan 19.00 – 22.00 WIB
Metode Penyampaian 1) Penjelasan materi oleh fasilitator
Materi 2) Diskusi dua arah antara mentor dan peserta
Tipe Kegiatan Daring (online) melalui zoom meeting
BAB III

FINAL PROJECT

3.1 Deskripsi Project

Final project yang diberikan oleh Binar Academy adalah membuat


platform e-commerce brenchmark dari OLX. Dengan nama aplikasi
SecondHand, peserta ditugaskan untuk membuat aplikasi berbasis web yang
responsive dengan menerapkan pengetahuan yang telah dipelajari dari
chapter 0 – 8.
SecondHand merupakan 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 dapat melakukan CRUD produk yang
akan dijual di website SecondHand. Sedangkan user yang berperan sebagai
buyer dapat melakukan pembelian terhadap produk yang tersedia dan
melakukan penawaran terhadap harga yang sudah ditetapkan seller.
Untuk BackEnd, output yang diharapkan dari final project ini adalah
endpoint API, dokumentasi swagger, dan link repository kode program.

3.2 Pengerjaan Project


Dalam mengerjakan final project ini penulis melakukan kolaborasi
antara kelas BackEnd dengan kelas FrontEnd. Posisi penulis pada final project
ini adalah sebagai BackEnd. Sehingga penulis mempunyai tugas untuk
membuat endpoint API untuk produk, membuat dokumentasi swagger, dan
melakukan push kode program ke repository gitlab yang telah dibuat.

3.2.1 Stack untuk BackEnd web SecondHand


Stack/kumpulan teknologi yang digunakan dalam pembuatan API
website SeconHand ini diantaranya :
a. Bahasa pemrograman yang digunakan adalah JavaScript. JavaScript
adalah kumpulan skrip yang berfungsi untuk menambahkan interaksi
antar halaman web [1]. Tidak hanya digunakan pada client-side saja,
saat ini JavaScript banyak digunakan untuk meng-handle pada sisi
server atau server-side dengan pengembangan aplikasi pada Node.js
yang digunakan sebagai run time [2].
b. Runtime yang digunakan adalah Node.js. Node.js (Node) adalah
platform pengembangan source terbuka untuk mengeksekusi sisi
server kode pada JavaScript. Node berguna untuk mengembangkan
aplikasi yang memerlukan koneksi terus-menerus dari browser ke
server [3].
c. Framework yang digunakan adalah Express. Express.JS adalah suatu
framework yang terdapat didalam Node.JS. Digunakan guna
mempermudah dalam pembuatan aplikasi dengan berbasis Node.JS.
Selain itu Express.JS juga merupakan framework yang sangat ringan,
cepat dan cocok untuk membuat web aplikasi dan API [2].
d. Database yang digunakan adalah PostgreSQL. PostgreSQL
merupakan basis data bersifat opensource disertai kemampuannya
yang bagus dibanding basis data lainnya. PostgreSQL memiliki fitur
untuk replikasi basis data [4].
e. ORM yang dipakai adalah Sequelize. Sequelize adalah ORM Node.js.
Bisa digunakan dengan PostgreSQL, MySQL, MariaDB, SQLite, dan
MSSQL [5].
f. Arsitektur aplikasi menggunakan MCR (Models, Controller, Route).
MCR adalah sebuah pola arsitektur dalam membuat sebuah aplikasi
dengan cara memisahkan kode menjadi tiga bagian, yaitu :
1. Model, bertugas untuk menyiapkan, mengatur, memanipulasi, dan
mengorganisasikan data yang ada di database.
2. Controller, bertugas menghubungkan serta mengatur model dan
route agar dapat saling terhubung.
3. Route, berfungsi sebagai penghubung beberapa controller dengan
endpoint untuk berinteraksi dengan pengguna.

3.2.2 Rancangan Alur Kerja Web SecondHand


User flow adalah representasi visual, baik secara tertulis maupun digital,
mengenai alur atau cara yang dapat dilalui pengguna saat menggunakan
sebuah aplikasi. Pada umumnya user flow digambarkan dengan visual
diagram atau flow chart. Titik awal diagram dimulai saat pengguna masuk
ke halaman pertama aplikasi, lalu berakhir saat pengguna telah selesai
mencapai tujuannya, seperti berhasil membeli sebuah produk [6].
Pada gambar 3.1 akan diperlihatkan user flow untuk website

SecondHand

Gambar 3. 1 User Flow Web SecondHand

User flow web SecondHand dapat diuraikan sebagai berikut :


a. User login dan masuk ke home page
b. Jika user login sebagai seller, user dapat :
1) Menambahkan barang dan detail barang yang akan dijual disertai
gambar dengan maksimal upload gambar sebanyak 3 gambar
2) Melakukan edit atau delete barang yang sudah ditambahkan
3) Mendapat notifikasi apabila ada barang yang ditawar
4) Melakukan update status transaksi
c. Jika user login sebagai buyer, user dapat :
1) Melihat list barang yang sudah ditambahkan seller
2) Melihat list barang dengan fitur filter barang sesuai kategori
3) Melakukan pembelian barang
4) Melakukan penawaran terhadap harga barang dengan mengisi form
penawaran
5) Mengirim form penawaran dengan syarat data profil buyer harus
lengkap

3.2.3 Rancangan 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 sistem yang dibutuhkan
agar platform yang dibuat (dalam hal ini adalah Second Hand) dapat
digunakan dengan fungsionalitas yang sesuai dengan kebutuhan. Berikut
MVP dari website SecondHand :
1. Registrasi User, digunakan untuk membuat akun bagi user yang belum
memiliki akun pada Second Hand.
2. Implementasi In App Notification (Fitur lonceng di dalam notifikasi),
terdapat 2 notifikasi yang dibutuhkan pada web SecondHand. Yang
pertama adalah notifikasi ketika seller mengupload barang dan yang
kedua adalah notifikasi ketika buyer melakukan penawaran barang.
3. Profil User, digunakan untuk melengkapi data user yang akan
mengguankan web SecondHand.
4. Histori Transaksi, digunakan untuk melihat transaksi yang telah
dilakukan oleh user.
5. Fitur wajib untuk Buyer
 Wishlist, digunakan untuk melakukan listing barang (Produk,
deskripsi, gambar produk dan lain lain) dari user lain yang disukai
buyer.
6. Fitur wajib untuk Seller
 Seller Product List, digunakan untuk melakukan listing barang
yang dijual oleh seller
 Product Listing, digunakan untuk melakukan listing barang yang
ditampilkan pada home page web SecondHand.

3.2.4 Requirement Minimum untuk BackEnd


Kebutuhan minimal BackEnd dalam membuat web SecondHand
ditunjukkan oleh Tabel 3.1

Tabel 3. 1 Kebutuhan Minimal BackEnd

Task Description
Auth Akun untuk user
CRUD  User
 Product (Sesuai fitur minimu)
 Transaksi
Design Pattern / Architectural Basic MCR, Monolith two layers
(back end layer and front end
layer)
Searching Filtering Searching Pagination and Sorting
Role  Buyer
 Seller

Deployment Heroku (Staging and Production /


Main)
Pada heroku dibuat dua branch
yaitu Staging dan Production/Main
Output Deliverable API yang bisa diconsume oleh
Front End

3.2.5 Rancangan Entity Relation Diagram (ERD)


Menurut Jogiyanto, Entity Relationship Diagram (ERD) adalah suatu
komponenkomponen humpunan entitas dan himpunan relasi yang masing-
masing dilengkapi dengan atribut yang mempresentasikan seluruh fakta
dari dunia nyata yang dituju [7]. Pada Gambar 3.2 akan diperlihatkan ERD
dari web SecondHand
Gambar 3. 2 ERD Web SecondHand

3.2.6 Rancangan API Web SecondHand


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. Melakukan pemilihan Scrum Master dan Product Owner
Scrum Master dipilih dari tim FrontEnd sedangkan Product Owner
dipilih dari tim BackEnd.
b. Pembuatan repository
Repository adalah lokasi penyimpanan untuk perangkat lunak.
Bertujuan untuk mempermudah tim BackEnd dalam berkolaborasi
membuat API web SecondHand. Tim BackEnd menggunakan
gitlab sebagai repository penyimpanan kode program. Pada
Gambar 3.3 ditampilkan repository gitlab tim BackEnd

Gambar 3. 3 Repository Gitlab BackEnd

c. Perancangan database
Melakukan diskusi terkait tabel-tabel database yang diperlukan
untuk membuat API web SecondHand. Hasil dari kegiatan ini
berupa ERD dari API web SecondHand.
d. Pembuatan kode program
Membuat dan melakukan installasi package yang akan di pakai
dalam pembuatan API web SecondHand. Kode program awal yang
dibuat terdapat pada file app.js, package.json, .env, dsb.
e. Membuat database
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. Database web SecondHand diperlihatkan pada
gambar 3.4 berikut

Gambar 3. 4 Database Web SecondHand

f. Membuat CRUD
Penulis dan tim BackEnd sudah mulai membuat API yang
dibutuhkan untuk web SecondHand. API yang sudah mulai dibuat
antaranya Auth, Profile, dan beberapa API Product (update
product, getAllProduct untuk dashboard, delete product)
2. Sprint 2 (25 Juni – 8 Juli 2022)
a. Mengerjakan API lanjutan
Penulis dan tim BackEnd melanjutkan pembuatan API untuk
Product (delete image product), Transaction, dan Notification.
b. Melakukan testing API
API yang telah dibuat kemudian di test menggunakan Postman.
Pada gambar 3.5 akan diperlihatkan API yang di test menggunakan
Postman

Gambar 3. 5 Testing API di Postman

c. Membuat dokumentasi API


Dokumentasi API dibuat menggunakan swagger.js. Base URL dari
dokumentasi API ini adalah localhost:3001/ dengan schema http.
Untuk dokumentasi sendiri terdiri dari Auth, Profile, Products,
Transaction (Buyer dan Seller), serta Notification. Pada Gambar
3.6 akan diperlihatkan dokumentasi API web SecondHand
Gambar 3. 6 Dokumentasi API Web SecondHand

3. Sprint 3 (11 Juli – 22 Juli 2022)


a. Deployment
Deployment adalah kegiatan yang bertujuan untuk membuat
aplikasi bias di akses secara online. Dengan kata lain agar orang
umum bisa mengakses website yang telah dibuat tersebut. Tim
BackEnd melakukan deployment API web SecondHand
menggunakan Heroku. Gambar 3.7 berikut menampilkan URL API
yang sudah di deploy ke Heroku

Gambar 3. 7 Deployment API Web SecondHand


b. Integrasi dengan FrontEnd
Integrasi API adalah menghubungkan antara dua atau lebih
aplikasi melalui API (Application Programming Interfaces) nya.
Dalam hal ini, tim FrontEnd menghubungkan/melakukan
sinkronisasi antara tampilan fitur web SecondHand yang telah
mereka buat dengan API dari tim BackEnd.

3.3 Hasil Project

Hasil dari pengerjaan final project MSIB Kampus Merdeka di Binar


Academy ini adalah berupa website SecondHand yang sudah terintegrasi
dengan API yang dibuat oleh tim BackEnd. Beriku adalah detail API web
SecondHand :
a. API Auth

Gambar 3. 8 Dokumentasi API Auth

1) https://secondhandapi.herokuapp.com/v1/auth/register
Post Register, digunakan untuk membuat akun bagi user yang belum
memiliki akun. User diminta untuk mengisi body yaitu name, email,
dan password.
2) https://secondhandapi.herokuapp.com/ v1/auth/login
Post Login, digunakan untuk login bagi user yang sudah memiliki akun.
User akan diminta mengisi body yaitu email dan password.
3) https://secondhandapi.herokuapp.com/ v1/auth/logout
Delete Logout, digunakan user untuk logout dari aplikasi.

b. API Profile
Gambar 3. 9 Dokumentasi API Profile

1) https://secondhandapi.herokuapp.com/v1/profile
Get Profile Info, digunakan untuk mendapatkan data profile user. User
hanya perlu login terlebih dahulu agar mendapatkan token yang akan
dipakai untuk mendapatkan info profilenya.
2) https://secondhandapi.herokuapp.com/v1/profile
Put Update Profile, digunakan untuk melakukan update terhadap data
profile user. User juga perlu login untuk mendapatkan token yang
akan dipakai untuk melakukan update info profilenya.
c. API Product

Gambar 3. 10 Dokumentasi API Product

1) https://secondhandapi.herokuapp.com/v1/product/:id
Detail Product, digunakan untuk melihat info product sesuai dengan id
product. User harus login terlebih dahulu dan mengisi params berupa
id product yang akan di lihat detail infonya.
2) https://secondhandapi.herokuapp.com/v1/product/?page=1
Get All Product, digunakan untuk menampilkan info product. API ini
tidak membutuhkan authorization, jadi user boleh login ataupun tidak
untuk mengakses API ini. User perlu mengisi salah satu atau semua
params, yang terdiri dari limit (menunjukkan jumlah product yang
akan ditampilkan), page (menunjukkan banyak halaman), category
(menunjukkan kategori product yang ingin ditampilkan), dan search
3) https://secondhandapi.herokuapp.com/v1/product/seller
Get All Product yang dimiliki seller. User perlu melakukan login
untuk bisa mendapatkan list product yang dimilikinya. Karena token
yang didapat ketika login akan digunakan untuk mengambil data
product dari database.
4) https://secondhandapi.herokuapp.com/v1/product/wishlist
Get All Wishlist, digunakan oleh user untuk melihat list product yang
telah dimasukkan ke wishlist. User perlu melakukan login untuk
menggunakan fitur ini, karen token yang didapat ketika login akan
digunakan untuk mengambil list product yang ada pada tabel wishlist.
5) https://secondhandapi.herokuapp.com/v1/product
Post Create Product, digunakan oleh user dengan role seller untuk
melakukan input product yang akan dijual. User perlu login dan
mengisi body yang terdiri dari name, price, category, status, image
(max. 3), dan description.
6) https://secondhandapi.herokuapp.com/v1/product/:id_product/image
Post Add Image Product, digunakan ketika melakukan update detail
product maka API ini berfungsi untuk melakukan update pada bagian
gambar product. User perlu mengisi params berupa id product dan
mengisi body berupa image yang akan ditambahkan. Untuk mengakses
fitur ini, user juga perlu untuk login.
7) https://secondhandapi.herokuapp.com/v1/product/:id_product/wishlist
Add Wishlist, digunakan oleh user untuk menambahkan product ke
dalam wishlist. User perlu mengisi params berupa id product yang
akan di masukkan ke dalam wishlist. Untuk mengakses fitur ini, user
perlu login terlebih dahulu.
8) https://secondhandapi.herokuapp.com/v1/product/:id_product
Put Update Product, digunakan oleh user untuk melakukan update
pada detail product yang sudah di input. User perlu login untuk
mengakses fitur ini, selain itu user juga perlu mengisi body yang
terdiri dari name, price, category, description, serta mengisi params
berupa id product yang akan di update.
9) https://secondhandapi.herokuapp.com/v1/product/:id_product/publish
Patch Publish Product, digunakan untuk mempublis product yang telah
di input. Product tidak akan tampil di halaman dashboard sebelum
seller melakukan publish product. User perlu login untuk mengakses
fitur ini, selain itu user juga perlu mengisi params berupa id product
yang akan di publish.
10) https://secondhandapi.herokuapp.com/v1/product/:id_product
Delete Product, digunakan oleh user untuk menghapus product. User
harus mengisi params berupa id product yang ingin di hapus, selain itu
untuk mengakses fitur ini user juga harus login terlebih dahulu.
11) https://secondhandapi.herokuapp.com/v1/product/:id_wishlist/wishlist
Delete Wishlist, digunakan oleh user untuk menghapus product yang
ada di dalam wishlist. User perlu mengisi params berupa id product
yang akan di hapus dari wishlist. User juga perlu login untuk
mengakses fitur ini.
12) https://secondhandapi.herokuapp.com/ v1/product/:id_image/image
Delete Image Product, digunakan user untuk menghapus image yang
ada pada product. User perlu login untuk mengakses fitur ini, selain itu
user juga perlu mengisi params berupa id product yang image nya
akan dihapus.
d. API Transaction

Gambar 3. 11 Dokumentasi API Transaction

 Buyer
https://secondhandapi.herokuapp.com /v1/transaction/:id_product/bid
Post Bid Product, digunakan oleh buyer untuk melakukan penawaran
terhadap product yang ingin dibeli. Untuk mengakses fitur ini buyer
perlu login terlebih dahulu, setelah itu mengisi body yaitu price bid
(harga penawaran) serta mengisi params berupa id product yang ingin
ditawar.
 Seller
1) https://secondhandapi.herokuapp.com /v1/transaction/history
Get Transaction History, digunakan oleh seller untuk menampilkan
list transaksi yang telah selesai dilakukan. Untuk mengakses fitur ini
seller harus login terlebih dahulu.
2) https://secondhandapi.herokuapp.com/v1/transaction/bids
Get All Data Bids, digunakan oleh seller untuk menampilkan list data
penawaran. User perlu login untuk mengakses fitur ini.
3) https://secondhandapi.herokuapp.com/v1/transaction/:id_bid/bid
Get Detail Bid, digunakan seller untuk menampilkan detail data
penawaran berdasarkan id penawaran. User perlu login untuk
mengakses fitur ini serta mengisi params berupa id bid.
e. API Notification

Gambar 3. 12 Dokumentasi API Notification

1) https://secondhandapi.herokuapp.com/v1/notification/:id_notification/
status
Patch Change Notification Status, digunakan untuk mengubah status
notifikasi dari yang belum dibaca menjadi sudah dibaca. User perlu
login untuk mengakses fitur ini serta mengisi params berupa id
notification.
2) https://secondhandapi.herokuapp.com/v1/notification?limit=3&page=1
Get All Notification, digunakan oleh user untuk menampilkan list
notifikasi semua product. Untuk mengakses fitur ini user harus login
terlebih dahulu serta mengisi params berupa limit (banyak product
yang akan ditampilkan) dan page.
f. Dokumentasi Swagger
https://secondhandapi.herokuapp.com/v1/docs/
Digunakan untuk mengkases dokumentasi seluruh API web
SecondHand.
BAB IV

PENUTUP

4.1 Kesimpulan

Kesimpulan yang dapat diambil setelah pelaksanaan program MSIB


Kampus Merdeka di Binar Academy ini ialah :
1. Dengan adanya program MSIB Kampus Merdeka ini mahasiswa mendapat
pengetahuan dan keterampilan baru serta lebih siap menghadapi dunia
kerja
2. Program MSIB Kampus Merdeka ini membuat mahasiswa terbiasa mencari
solusi dari setiap permasalahan yang ada, baik di dalam kelas maupun di
saat pengerjaan project
3. Program MSIB Kampus Merdeka ini sangat membantu mahasiswa dalam
meningkatkan kualitas diri karena mempelajari materi baru yang tidak ada
di perkuliahan
4. Kemampuan softskill mahasiswa juga semakin terasah dengan pelaksanaan
project secara berkelompok

4.2 Saran

Adapun saran dari penulis terhadap pihak yang terlibat dalam program
MSIB Kampu Merdeka ini adalah :
1. Untuk pihak Kementerian Pendidikan, Kebudayaan, Riset, dan Teknologi
Republik Indonesia, mohon lebih diperbanyak sosialisasi program Kampus
Merdeka ini. Karena menurut penulis masih banyak masyarakat, khususnya
mahasiswa yang tidak mendapat info terkait program ini. Sangat
disayangkan jika mahasiswa Indonesia tidak bisa mengikuti program yang
bagus ini hanya karena kurangnya info.
2. Untuk pihak Binar Academy, program yang dijalankan sudah baik, namun
masih ada kekurangan pada beberapa materi yang disajikan, karena
terkadang materi yang disajikan sedikit susah dipahami, sehingga ppt binar
tidak terpakai saat belajar. Selain itu, kalau bisa materi yang diberikan
saling berurutan sehingga peserta paham tahapan pembuatan project nya.
3. Untuk perguruan tinggi, semoga lebih gencar dalam menyebarkan info
terkait program Kampus Merdeka ini, selain itu kebijakan terkait Kampus
Merdeka sebaiknya langsung di informasikan kepada seluruh mahasiswa
dan dosen. Sehingga mahasiswa tidak lagi kebingungan terhadap info yang
didapat.
BAB V

REFERENSI

[1] Widodo, Aris Puja, dkk, Bahan Ajar Pemrograman Internet. Prodi Ilmu
Komputer Jurusan Matematika Fakultas MIPA Universitas Diponegoro, 2006.

[2] F. R., "Pengembangan Sistem Informasi Geografis Berbasis Node.JS untuk


Pemetaan Mesin dan Tracking Engineering dengan Pemanfaatan Geolocation
pada PT IBM Indonesia," J. Inform, vol. 11, no. 2, pp. 40-47, 2017.

[3] T. H. Shah, "Node.js Challenges in Implementation," Glob. Journals Inc, vol. 17,
no. 2, 2017.

[4] A.D.Prabu, "Aplikasi Rekap Mengajar Berbasis Website Dengan Database


PostgreSQL," Indonesian Journal on Networking and Security, vol. 8, no. 1, pp.
27-31, 2018.

[5] H. F. R. Irfan Kurniawan, "REST API Menggunakan NodeJS pada Aplikasi


Transaksi," Jurnal Ilmiah Teknologi Informasi, vol. 1, no. 4, p. 129, 2020.

[6] C. BROWNE, "careerfoundry," 5 August 2021. [Online]. Available:


https://careerfoundry.com/en/blog/ux-design/what-are-user-flows/. [Accessed 29
July 2022].

[7] R. S. E. E. F. Y. &. S. R. N. Rohman, "RANCANG BANGUN WEB E-


LEARNING UNTUK PENGELOLAAN MATA PELAJARAN TIK PADA
SMPT ADZKIA SUKABUMI," Jurnal Swabumi, vol. 6, no. 1, pp. 85-90, 2018.
BAB IV

LAMPIRAN A. TOR

Penulisan halaman untuk setiap lampiran sama dengan format penulisan halaman
untuk setiap bab, contoh untuk Lampiran A, halaman berawal dari A-1, A-2, dst.
Posisi nomor halaman pada halaman pertama ditulis pada bottom center, untuk
halaman berikutnya adalah top right. Hal ini juga berlaku untuk nomor halaman pada
bab isi.

Lampiran A bersifat wajib untuk mahasiswa yang melakukan MSIB. TOR berisi job
description Mahasiswa dan target mengikuti MSIB di organisasi Mitra yang telah
disepakati bersama antara Mahasiswa dan Organisasi Mitra. TOR ini dibuat pada
awal pelaksanaan (onboarding) dan ditandatangani oleh pihak Mahasiswa dan
Organisasi Mitra. Pembimbing dari Program Studi akan membantu mahasiswa
melaksanakan MSIB dan menyusun laporan MSIB sesuai TOR yang telah disepakati.
LAMPIRAN B. LOG ACTIVITY

Pada Bagian ini berisi log activity dengan format sebagai berikut

1. Minggu ke-1

Tanggal Kegiatan Hasil


Senin, 14 Februari - Perkenalan dengan - Paham definisi backend
2022 peserta MSIB kelas BEJS - Berhasil melakukan
2 installasi node.js
- Memahami definisi
backend
- Memahami jenis path
Selasa, 15 Februari - Belajar struktur data - Mengetahui struktur
2022 JavaScript data JavaScript
- Belajar tipe data string, - Mengetahui tipe data
number, boolean, dll string, number, boolean,
dll
Rabu, 16 Februari - Belajar operan dan - Mengetahui operand an
2022 operator operator
- Belajar logical operator - Mengetahui logical
operator
Kamis, 17 Februari - Belajar process.argv - Mengetahui method
2022 - Belajar method JavaScript
JavaScript - Menyelesaikan coding
- Melakukan coding kelompok
kelompok
Jumat, 18 Februari - Belajar ecmascript 6 - Mengetahui ecmascript
2022 6 dan asynchronus
- Belajar asynchronous

2. Minggu ke-2

Tanggal Kegiatan Hasil


Senin, 21 Februari - Belajar tentang Git - Berhasil melakukan
2022 installasi git
- Berhasil membuat akun
di git
Selasa, 22 Februari - Belajar menggunakan git - Berhasil menggunakan
2022 secara berkelompok perintah git untuk clone,
pull, add, commit, push
Rabu, 23 Februari - Mengerjakan latihan - Menyelesaikan latihan
2022
Kamis, 24 Februari - Melanjutkan pengerjaan - Menyelesaikan latihan
2022 latihan yang belum selesai
Jumat, 25 Februari - Membahas jawaban - Membahas soal latihan
2022 latihan soal bersama

3. Minggu ke-3

Tanggal Kegiatan Hasil


Senin, 28 Februari - Belajar flowchart dan - Mengetahui penggunaan
2022 pseudocode flowchart dan
- Belajar kondisional if- pseudocode
else, switch-case - Mengetahui penggunaan
kondisional
Selasa, 1 Maret 2022 - Mengerjakan latihan - Membuat latihan tentang
flowchart serta
penggunaan if-else,
switch-case
Rabu, 2 Maret 2022 - Belajar perulangan - Mengetahui perulangan
(looping) “for”
- Belajar jenis-jenis - Mengetahui perulanga
looping “while” dan “do ..
while”
Kamis, 3 Maret 2022 - Belajar tentang sorting - Mengetahui bahwa
algortima bubble algortima bekerja
- Belajar tentang binary dengan cara
search membandingkan 2
- Membahas soal latihan elemen array.
Pengecekan array akan
terus berlanjut sampai
elemen terakhir
- Memahami algoritma
merge sorting.
Konsepnya memecah
array. Merge sort
menggunakan recursive,
berfungsi untuk
memecah. Sedangkan
merge berfungsi untuk
menggabungkan
- Memahami quick
sorting yang bekerja
dengan cara memilih
satu angka didalam
array untuk dijadikan
sebagai pembanding.
Angka pembanding ini
dapat diperoleh dengan
berbagai cara seperti
mengambil angka
pertama, angka terkhir,
angka tengah, atau
angka random. Angka
ini nantinya akan
dijadikan sebagai acuan,
biasa disebut sebagai
pivot.
Jumat, 4 Maret 2022 - Melakukan review materi - Review materi

4. Minggu ke-4

Tanggal Kegiatan Hasil


Senin, 7 Maret 2022 - Belajar tentang - Mengetahui function
penggunaan function, berfungsi sebagai 3 hal,
class, method yaitu
- Belajar tentang parameter(inputan),
inheritance (pewarisan) procedure(proses),
return value/hasil
(keluaran dari function)
- Memahami Inheritance
yang biasanya dipakai
ketika kita ingin
membuat banyak kelas
yang memiliki banyak
kesamaan. Contoh :
class Cat extends
Animal
Selasa, 8 Maret 2022 - Membahas soal latihan - Membahas soal latihan
Rabu, 9 Maret 2022 - Melanjutkan pengerjaaan - Mengerjakan challenge
challenge binar binar
Kamis, 10 Maret 2022 - Melanjutkan pengerjaaan - Mengerjakan challenge
challenge binar binar
Jumat, 11 Maret 2022 - Melanjutkan pengerjaaan - Mengerjakan challenge
challenge binar binar

5. Minggu ke-5

Tanggal Kegiatan Hasil


Senin, 14 Maret 2022 - Belajar database - Mengetahui tentang
database, yaitu tempat
pengumpulan data /
gudang penyimpanan
data. Data yang kita
gunakan untuk
mendaftar di suatu
aplikasi akan dicatat
oleh aplikasi tersebut
dan disimpan di dalam
database
- Satu database memiliki
banyak tabel yang setiap
tabel nya memiliki
beberapa atribut (data
yang akan disimpan)
Selasa, 15 Maret 2022 - Review materi database - Review materi database
Rabu, 16 Maret 2022 - Belajar relasi database - Mengetahui pada
- Belajar tentang SQL database, antar tabel
memiliki relasi (one yo
one, one to many, many
to many). menggunakan
SQL sebagai bahasa
pemrograman
- Mengetahui bahwa SQL
adalah bahasa
pemrograman dalam
menggunakan database.
Setiap data pada tabel
database sql disebut
row, sedangkan column
adalah atribut pada tabel
Contoh DBMS SQL ->
MySQL, PostgreSQL,
MariaDB, dll
Kamis, 17 Maret 2022 - Belajar query language - Mengetahui DDL
(perintah untuk
mendefinisikan suatu
struktur Create, Alter,
Delete), DML(perintah
memanipulasi data
CRUD), DCL (perintah
memberi hak akses
(kemanan) perintah
nya(Grant, Revoke))
Jumat, 18 Maret 2022 - Belajar tentang perintah - Mengetahui Inner join
join hanya menampilkan
tabel yang memiliki
hubungan di tabel lain.
Jika data di tabel satu
tidak memiliki
hubungan dengan data
di tabel 2, maka data
tersebut tidak akan
ditampilkan
- Mengetahui Left join
akan menampilkan
semua data yang ada
pada tabel kiri, ada atau
tidak adanya relasi pada
tabel kedua (kanan)
- Mengetahui Right join
merupakan kebalikan
dari left join. Hanya
menampilkan data yang
ada pada tabel kanan
(kedua)
- Mengetahui Full outer
join menampilkan
semua data yang ada
pada tabel satu dan tabel
kedua walaupun tidak
memiliki relasi

6. Minggu ke-6

Tanggal Kegiatan Hasil


Senin, 21 Maret 2022 - Belajar menggunakan - Membuat project node.js
node.js pada project connect dengan database
database
Selasa, 22 Maret 2022 - Mengerjakan latihan - Membuat ERD dan
DDL
Rabu, 23 Maret 2022 - Mengerjakan latihan - Membuat DML
Kamis, 24 Maret 2022 - Mengerjakan challenge - Menyelesaikan
binar challenge binar
Jumat, 25 Maret 2022 - Melanjutkan pengerjaan - Menyelesaikan
challenge binar challenge binar

7. Minggu ke-7

Tanggal Kegiatan Hasil


Senin, 28 Maret 2022 - Belajar node.js - Mengetahui modul
node.js yaitu : Ada tiga
jenis module node.js,
yaitu: Core module ialah
modul yang sudah
tersedia dan tinggal
dipakai, Third Party
module adalah modul
yang dibuat oleh orang
lain, dan diakses dengan
melakukan installasi
package manager, Local
module ialah modul
yang kita buat sendiri
- Membuat .girignore
untuk node_modules
Selasa, 29 Maret 2022 - Belajar tentang express.js - Mengetahui express.js
- Belajar routing - Melakukan installasi
express.js
- Mengetahui routing
adalah alamat yang lebih
spesifik dari request data
Rabu, 30 Maret 2022 - Mengerjakan latihan - Mengerjakan latihan
Kamis, 31 Maret 2022 - Belajar tentang restfull - Mengetahui Request
API Headers untuk
- Belajar http method menambah informasi
(data pendukung) ke
dalam database
- Mengetahui Request
Data/Body ialah request
yang menyimpan
informasi utama
- Mengetahui http
method, yaitu : Get
untuk mendapatkan data
dari database, post untuk
insert data baru ke
database, put/patch
untuk update data, dan
delete untuk menghapus
data
- Mengetahui REST ialah
kumpulan aturan dan
API adalah kumpulan
cara yang
memungkinkan
komunikasi antar server
atau antar server dan
client

Jumat, 1 April 2022 - Mengerjakan latihan - Mengerjakan latihan

8. Minggu ke-8

Tanggal Kegiatan Hasil


Senin, 4 April 2022 - Belajar ORM - Mengetahui ORM yang
- Belajar installasi ORM digunakan adalah
sequelize
- Berhasil melakukan
installasi ORM
(sequelize)
Selasa, 5 April 2022 - Melanjutkan pembahasan - Mengetahui perintah-
ORM perintah sequelize
- Belajar implementasi
perintah sequelize
Rabu, 6 April 2022 - Mengerjakan latihan - Mengerjakan latihan
Kamis, 7 April 2022 - Melanjutkan pengerjaan - Mengerjakan latihan
latihan
Jumat, 8 April 2022 - Melakukan pembahasan - Membahas latihan
soal latihan

9. Minggu ke-9

Tanggal Kegiatan Hasil


Senin, 11 April 2022 - Mengerjakan latihan dan - Mengerjakan latihan dan
membahas soal latihan membahas latihan
Selasa, 12 April 2022 - Belajar konsep - Mengetahui Monolithic
monolithic adalah jenis aplikasi
- Belajar konsep yang semua fitur
microservice aplikasinya dibuat dalam
satu sistem. Mudah di
develop karena hanya
satu sistem, mudah di
deploy.
- Mengetahui
Microservice memecah
fitur fitur aplikasi ke
beberapa sistem.
Database biasanya juga
di pecah.
- Monolithic satu database
satu server
- Microservice
dihubungkan oleh server
tambahan yang disebut
orchestrator. Banyak
server banyak database
dan di hubungkan
dengan orchestrator
Rabu, 13 April 2022 - Belajar dokumentasi API - Mengetahui
dokumentasi API
menggunakan postman
- Mengetahui
dokumentasi
menggunakan swagger
- Berhasil melakukan
installasi swagger
Kamis, 14 April 2022 - Mengerjakan latihan - Mengerjakan latihan
Jumat, 15 April 2022 - Membahas soal latihan - Membahas soal latihan

10. Minggu ke-10

Tanggal Kegiatan Hasil


Senin, 18 April 2022 - Belajar tentang swagger - Melakukan installasi
penggunaan swagger
untuk dokumentasi API
Selasa, 19 April 2022 - Belajar mongodb - Mengetahui Mongodb
adalah database nosql.
Mongoose salah satu
aplikasi untuk
mengkoneksikan
database mongodb
dengan aplikasi kita
- Melakukan praktik
penggunaan mogodb
Rabu, 20 April 2022 - Mengerjakan latihan dan - Mengerjakan dan
membahas latihan membahas latihan
Kamis, 21 April 2022 - Mengerjakan challenge - Mengerjakan challenge
binar binar
Jumat, 22 April 2022 - Melanjutkan pengerjaan - Mengerjakan challenge
challenge binar binar

11. Minggu ke-11

Tanggal Kegiatan Hasil


Senin, 25 April 2022 - Belajar konsep testing - Mengetahui bahwa
- Belajar cara setup jest testing dilakukan untuk
dan supertest memastikan aplikasi
- Belajar melakukan sudah dapat berjalan
testing sesuai requirement dan
mampu menangani
berbagai kasus dalam
berbagai situasi
- Mengetahui jest
digunakan untuk unit
testing yaitu menguji
apakah fungsi atau class
dalam
code berjalan baik atau
nggak.
- Mengetahui supertest
digunakan untuk
integration testing, yaitu
menguji fungsi API
Selasa, 26 April 2022 - Melakukan latihan - Melakukan latihan
integration testing
Rabu, 27 April 2022 - Belajar deployment, - Mengetahui deployment
cloud adalah proses
- Belajar konsep cloud dan memindahkan kode
server program dari personal
- Belajar deployment computer ke computer
dengan Heroku lain yang bisa diakses
dan dilihat oleh banyak
orang (privat -> public)
- Mengetahui cloud ialah
computer virtual
contohnya amazon (aws)
- Mengetahui alur
pengembangan aplikasi,
yaitu development ialah
tahap awal ketika
aplikasi dibuat, staging
ialah tahap melakukan
test aplikasi sebelum
digunakan, dan
production tahap dimana
aplikasi siag digunakan
user
Kamis, 28 April 2022 - Belajar tentang docker - Mengetahui docker
adakal container
teknologi. Sebuah alat
untuk
membuat/memanage
sebuah kontainer di
dalam komputer / server.
- Yang diletakkan di
dalam kontainer adalah
kodingan yang sudah
dibuat. Kegunaan dari
dipindahkannya
kodingan ke dalam
kontainer adalah bisa di
bawa kemanapun,
kodingan dapat dibagi
dengan pengguna lain
dengan environment
yang sama tanpa harus
disetting terlebih dahulu.
- Docker membantu
dalam membangun dan
memanage kontainer.
Kontainer akan tetap
menginstall OS, tetapi
tetap tidak memakan
banyak space.
Jumat, 29 April 2022 - Melanjutkan pembahasan - Docker menyediakan
tentang docker mekanisme untuk
menyimpan data di
dalam computer.
Anonimus volume ialah
tempat menyimpan data
yang diatur oleh docker.
Name volume sama
dengan anonimus
volume dimana nama,
penyimpanan data diatur
oleh docker. Bind mount
ialah tempat
penyimpanan data yang
bisa di atur sendiri

12. Minggu ke-12

Tanggal Kegiatan Hasil


Senin, 2 Mei 2022 - Libur idul fitri - Libur idul fitri
Selasa, 3 Mei 2022 - Libur idul fitri - Libur idul fitri
Rabu, 4 Mei 2022 - Libur idul fitri - Libur idul fitri
Kamis, 5 Mei 2022 - Libur idul fitri - Libur idul fitri
Jumat, 6 Mei 2022 - Libur idul fitri - Libur idul fitri

13. Minggu ke-13

Tanggal Kegiatan Hasil


Senin, 9 Mei 2022 - Belajar mengenai CI/CD - Mengetahui CI/CD
- Melakukan praktik (Continuous Integration
CI/CD and
Continuous
Delivery/Continuous
Deployment.) ialah tools
buat otomasi deploy dari
repository
langsung ke server.
Selasa, 10 Mei 2022 - Melakukan latihan - Melakukan latihan
CI/CD
Rabu, 11 Mei 2022 - Melakukan latihan - Melakukan latihan
integration testing serta
CI/CD
Kamis, 12 Mei 2022 - Mengerjakan challenge - Mengerjakan challenge
binar binar
Jumat, 13 Mei 2022 - Melanjutkan pengerjaan - Melanjutkan pengerjaan
challenge binar challenge binar

14. Minggu ke-14

Tanggal Kegiatan Hasil


Senin, 16 Mei 2022 - Belajar authentication - Mengetahui penggunaan
- Belajar authorization authentication dan
media handling untuk
pengembangan fitur web
- Authentication hanya
memperbolehkan user
tertentu untuk
mengakses API tertentu
- Authorization adalah
hal-hal yang boleh
dilakukan user di dalam
aplikasi ketika sudah
login
- JWT Strategy adalah
salah satu tipe
authentication.
- JWT atau JSON Web
Token ialah token yang
menggunakan JSON
sebagai payloadnya.
Kode yang mengandung
informasi tertentu
- Authentication token
dapat dilakukan dengan
2 cara yaitu
menggunakan JWT atau
passport.authenticate
Selasa, 17 Mei 2022 - Mengerjakan latihan - Mengerjakan latihan
auth dengan OAuth
google
Rabu, 18 Mei 2022 - Belajar google OAuth - OAuth adalah protokol
otorisasi akses yang
ditentukan secara aman
(jembatan antar
aplikasi), contoh:
menggunakan google
untuk sign in ke aplikasi
lain tanpa menggunakan
password
Kamis, 19 Mei 2022 - Belajar debugging dan - Debugging adalah
logging proses menghapus bug
di dalam kode program
- Sentry adalah layanan
logging dan monitoring
aplikasi, untuk
menampilkan error,
assign untuk
memperbaiki error
Jumat, 20 Mei 2022 - Membahas topik tentang - 3 API yang dibutuhkan
cara membuat lupa untuk membuat lupa
password saat login password saat login,
yaitu API kirim token ke
email, API verifikasi
token dari user, dan API
ubah password

15. Minggu ke-15

Tanggal Kegiatan Hasil


Senin, 23 Mei 2022 - Belajar tentang media - Media handling adalah
handling fitur untuk melakukan
- Belajar tentang multer upload image, video,
dan document
- Multer ialah package
yang digunakan sebagai
middleware dan akan
digunakan untuk
mengekstrak file data
dan menyimpan file
gambar pada local
aplikasi
- Menggunakan
cloudinary untuk
menyimpan file
Selasa, 24 Mei 2022 - Mengerjakan latihan - Mengerjakan latihan
upload file foto/video
Rabu, 25 Mei 2022 - Membahas soal latihan - Membahas soal latihan
Kamis, 26 Mei 2022 - Melanjutkan pembahasan - Melanjutkan
soal pembahasan soal
Jumat, 27 Mei 2022 - Mengerjakan challenge - Mengerjakan challenge
binar binar

16. Minggu ke-16

Tanggal Kegiatan Hasil


Senin, 30 Mei 2022 - Belajar tentang mailer - Mailer adalah suatu
- Belajar perbedaan SMPT program untuk
dan POP3 menerima dan mengirim
email
- SMPT dan POP3 adalah
protocol untuk
pengiriman dan
penerimaan email
- Simple Mail Transfer
Protocol atau SMTP
adalah suatu protokol
buat berkomunikasi
sama server yang
tujuannya buat
mengirimkan email dari
lokal email ke server
sebelum akhirnya
dikirimkan ke server
email penerima
- POP 3 dipakai buat
berkomunikasi sama
email server dan
mengunduh semua email
ke email lokal (kayak
Outlook, Thunderbird,
Windows Mail, Mac
Mail, dan sebagainya)
tanpa menyimpan
salinannya di server
Selasa, 31 Mei 2022 - Mengerjakan latihan - Mengerjakan latihan
penggunaan mailer
Rabu, 1 Juni 2022 - Belajar HTML dan CSS - Mengetahui dasar
HTML dan CSS
Kamis, 2 Juni 2022 - Belajar tentang - WebSocket adalah
websocket standar baru buat
komunikasi realtime di
Web dan aplikasi mobile
- WebSocket adalah
protokol yang
menyediakan saluran
komunikasi full-duplex
melalui koneksi TCP
tunggal. Jadi, client dan
server bisa mengirim
dan menerima informasi
dalam satu waktu
Jumat, 3 Juni 2022 - Membahas materi redis - Redis adalah semacam
database yang
menggunakan RAM
sebagai tempat
penyimpanan dan
bersifat sementara.
Biasanya digunakan
sebagai cache, message
broker, dan untuk
membuat antrian pada
server

17. Minggu ke-17

Tanggal Kegiatan Hasil


Senin, 6 Juni 2022 - Belajar tentang payment - Payment Gateway ialah
gateway media transaksi yang
disediakan oleh sebuah
aplikasi untuk
memproses transaksi
pembayaran bagi
pelanggan/pengguna
- Midtrans adalah
payment gateway yang
dokumentasinya
lumayan lengkap
Selasa, 7 Juni 2022 - Membahas tentang redis - Queue, agar server
untuk queue bekerja optimal. Repeat,
mengulang job
Rabu, 8 Juni 2022 - Mengerjakan challenge - Mengerjakan challenge
binar binar
Kamis, 9 Juni 2022 - Mengerjakan challenge - Mengerjakan challenge
binar binar
Jumat, 10 Juni 2022 - Membahas final project - Membahas final project
binar binar

18. Minggu ke-18

Tanggal Kegiatan Hasil


Senin, 13 Juni 2022 - Kelas gabungan dengan - Perkenalan anggota
FEJS 2 kelompok final project
- Memilih Scrum Master
dan Product Owner
- Mendengar penjelasan
tentang flow diagram
final project
Selasa, 14 Juni 2022 - Diskusi final project - Melanjutkan diskusi
final project
Rabu, 15 Juni 2022 - Diskusi final project tim - Melanjutkan diskusi
BEJS 2 final project
Kamis, 16 Juni 2022 - Melakukan stand up final - Melanjutkan diskusi
project final project tim BEJS 2
- Diskusi final project tim
BEJS 2
Jumat, 17 Juni 2022 - Mengerjakan task yang - Mengerjakan task
sudah dibagi

19. Minggu ke-19

Tanggal Kegiatan Hasil


Senin, 20 Juni 2022 - Kelas gabungan dengan - Membuat API update
FEJS 2 product
- Diskusi final project
Selasa, 21 Juni 2022 - Review task - Menambah task untuk
- Diskusi final project tim endpoint getAllProduct
BEJS 2 (dashboard)
- Membuat enpoint
Rabu, 22 Juni 2022 - Melakukan diskusi - Melanjutkan pembuatan
endpoint endpoint getAllProduct
(dashboard)
Kamis, 23 Juni 2022 - Melanjutkan pembuatan - Melanjutkan pembuatan
endpoint endpoint getAllProduct
- Diskusi final project tim - Melakukan perbaikin
BEJS 2 endpoint delete product
Jumat, 24 Juni 2022 - Kelas gabungan dengan - Sprint review
FEJS 2 berkelompok

20. Minggu ke-20

Tanggal Kegiatan Hasil


Senin, 27 Juni 2022 - Kelas gabungan dengan - Membuat endpoint
FEJS 2 delete image product
Selasa, 28 Juni 2022 - Diskusi final project tim - Melanjutkan pembuatan
BEJS 2 endpoint delete image
product
Rabu, 29 Juni 2022 - Mengerjakan final - Membuat dokumentasi
project swagger
- Melakukan deploy
project ke Heroku
Kamis, 30 Juni 2022 - Diskusi final project tim - Diskusi final project tim
BEJS 2 BEJS 2
Jumat, 1 Juli 2022 - Diskusi final project tim - Diskusi final project tim
BEJS 2 BEJS 2

21. Minggu ke-21

Tanggal Kegiatan Hasil


Senin, 4 Juli 2022 - Kelas gabungan dengan - Melakukan integrasi
FEJS 2 API dengan FEJS 2
Selasa, 5 Juli 2022 - Menunggu integrasi - Menunggu integrasi
FEJS 2 FEJS 2
Rabu, 6 Juli 2022 - Menunggu integrasi - Menunggu integrasi
FEJS 2 FEJS 2
Kamis, 7 Juli 2022 - Menunggu integrasi - Menunggu integrasi
FEJS 2 FEJS 2
Jumat, 8 Juli 2022 - Menunggu integrasi - Menunggu integrasi
FEJS 2 FEJS 2

22. Minggu ke-22

Tanggal Kegiatan Hasil


Senin, 11 Juli 2022 - Kelas gabungan dengan - Integrasi API Login dan
FEJS 2 Register
Selasa, 12 Juli 2022 - Menunggu integrasi - Menunggu integrasi
lanjutan dari FEJS 2 lanjutan dari FEJS 2
Rabu, 13 Juli 2022 - Menunggu integrasi - Menunggu integrasi
lanjutan dari FEJS 2 lanjutan dari FEJS 2
Kamis, 14 Juli 2022 - Menunggu integrasi - Menunggu integrasi
lanjutan dari FEJS 2 lanjutan dari FEJS 2
Jumat, 15 Juli 2022 - Menunggu integrasi - Menunggu integrasi
lanjutan dari FEJS 2 lanjutan dari FEJS 2

23. Minggu ke-23

Tanggal Kegiatan Hasil


Senin, 18 Juli 2022 - Kelas gabungan dengan - Menunggu integrasi
FEJS 2 lanjutan dari FEJS 2
- Diskusi presentasi
kelompok
Selasa, 19 Juli 2022 - Menunggu integrasi - Menunggu integrasi
lanjutan dari FEJS 2 lanjutan dari FEJS 2
Rabu, 20 Juli 2022 - Menunggu integrasi - Menunggu integrasi
lanjutan dari FEJS 2 lanjutan dari FEJS 2
Kamis, 21 Juli 2022 - Kelas BE dan bergabung - Membahas progress
ke breakout room FE. final project dengan FE.
Jumat, 22 Juli 2022 - Kelas gabungan dengan - Menunggu integrasi FE
FEJS 2 serta membahas
presentasi final project.

BAB VIII

LAMPIRAN C. <Dokumen Teknik>

Link Dokumentasi API :

 Sawagger : https://secondhandapi.herokuapp.com/v1/docs/

Link Deployement :

 API Website SecondHand : https://secondhandapi.herokuapp.com


 App Website SecondHand : https://secondhand-fe-ebon.vercel.app/

Link Repository :

 Gitlab BackEnd : https://gitlab.com/febryanz/secondhand-app


 GitHub FrontEnd : https://github.com/AkabaneErlangga/secondhand-fe

Anda mungkin juga menyukai