oleh :
Elda Vina Fadhilatur Rizkiyah / 20104410043
oleh :
Elda Vina Fadhilatur Rizkiyah / 20104410043
ii
Lembar Pengesahan
2023 Complete Front-End Career With ReactJS
Di PT Marka Kreasi Persada (Alterra Academy)
oleh :
iii
Abstraksi
iv
Kata Pengantar
Puji syukur atas kehadirat Tuhan Yang Maha Esa karena atas limpahan
rahmat dan karunia-Nya penulis dapat menyelesaikan laporan akhir program
Kampus Merdeka yaitu, Studi Independen Batch 4 tahun 2023.
Pada proses penyusunan ini tidak terlepas dari bantuan berbagai pihak,
penulis menyampaikan rasa hormat dan terima kasih kepada :
v
Daftar Isi
Cover ........................................................................................................................ i
Lembar Pengesahan Program Studi Teknik Informatika ........................................ ii
Lembar Pengesahan ............................................................................................... iii
Abstraksi ................................................................................................................ iv
Kata Pengantar ........................................................................................................ v
Daftar Isi................................................................................................................. vi
Daftar Gambar...................................................................................................... viii
Bab I Pendahuluan ........................................................................................... I-1
I.1 Latar belakang ........................................................................................ I-1
I.2 Lingkup Proyek ...................................................................................... I-1
I.3 Tujuan ..................................................................................................... I-2
Bab II Orgnisasi atau Lingkungan Organisasi Mitra MSIB ............................ II-1
II.1 Struktur Organisasi ............................................................................... II-1
II.2 Lingkup Pekerjaan ................................................................................ II-1
II.3 Deskripsi Pekerjaan .............................................................................. II-2
II.4 Jadwal Kerja ......................................................................................... II-2
Bab III Proyek Aplikasi Forum Discussion “Squad Space”............................ III-1
III.1 Deskripsi Squad Space ........................................................................ III-1
III.2 Profil Tim Divisi Front-End................................................................ III-1
III.3 Proses Pelaksanaan Proyek.................................................................. III-2
III.4 Pencapaian Hasil Proyek ..................................................................... III-3
III.4.1 Alat dan Library yang Digunakan................................................ III-3
III.4.2 Key Activities................................................................................ III-4
III.4.3 Product Success ........................................................................... III-4
III.4.4 Tugas Penulis ............................................................................... III-8
Bab IV Penutup ................................................................................................ IV-1
IV.1 Kesimpulan .......................................................................................... IV-1
IV.2 Saran .................................................................................................... IV-1
Lampiran A. TOR ............................................................................................... A-1
vi
Lampiran B. Log Activity .................................................................................... B-1
Lampiran C. Bukti Hasil Mini Project ................................................................ C-1
Lampiran D. Bukti Hasil Capstone Project ........................................................ D-1
vii
Daftar Gambar
viii
Bab I Pendahuluan
1. Tugas Harian
2. Mini Project (Website “Astana-Ku”)
3. Capstone Project (Forum Discussion “Squad Space”)
I-1
I.3 Tujuan
Tujuan dari kegiatan Studi Independen Bersertifikat pada program studi
2023 Complete Front-End Engineer Career with ReactJS oleh Alterra Academy
yaitu :
I-2
Bab II Orgnisasi atau Lingkungan Organisasi Mitra MSIB
II-1
non-technical yang dibutuhkan oleh para profesional. Kelas ini menggunakan
metode belajar live session.
c. Capstone Project
Produk teknologi yang akan dibuat berdasarkan real case dari produk apa yang
sedang menjadi kebutuhan di industri atau produk teknologi yang sedang
di bangun oleh Alterra Group. Fase ini akan mendapatkan pengalaman
layaknya development team di dunia kerja. Kelas ini menggunakan metode
belajar live session.
b. Mini Project
Mini project merupakan tugas akhir yang dikerjakan secara individu. Pada mini
project kali ini, penulis membuat website pemakaman dengan nama AstanaKu.
c. Capstone Project
Capstone Project merupakan proyek akhir yang dikerjakan secara kelompok.
Kelompok tersebut terdiri dari 5 divisi yaitu UI/UX, Back-End, Front-End
ReactJS, Mobile Flutter, dan Quality Engineer. Pada capstone project ini,
penulis tergabung dalam kelompok 15 dan berhasil membuat aplikasi forum
diskusi yang bernama Squad Space.
II-2
a. Minggu ke - 1 (16-17 Februari 2023)
Pada pertemuan pertama, seperti biasanya perkenalan dengan mentor dan
teman teman sekelas. sekelas ada 24 orang dari universitas yang berbeda-beda.
Dengan mentor, penulis mempelajari pengenalan HTML, CSS, javascript, IP,
domain, git, Github, hosting, https, version control, perbedaan front-end dan
back-end, cara membuat Github, git push, fetch, pull, add, merge, diff, stash,
branch, remote, fork. Selain itu, juga dijelaskan secara singkat tentang figma
beserta keuntungan dan kelemahan aplikasi figma.
II-3
f. Minggu ke - 6 (20-24 Maret 2023)
Minggu ini mempelajari tentang apa itu basic form, apa itu controlled
component, apa itu uncontrolled component, apa perbedaan controlled
component dan uncontrolled component, apa itu global state data management,
apa itu redux, kapan menggunakan redux, apa saja komponen redux,
bagaimana alur redux, apa itu view, apa itu action, apa itu reducer, apa itu store,
dan bagaimana siklusnya, bagaimana cara menginstal redux, dll.
II-4
mempresentasikan tentang MVP. dan hari kamis sampai jumat tidak ada live
session karena sedang ada libur lebaran, namun waktu libur digunakan untuk
mencicil mengerjakan tugas proyek individu.
II-5
o. Minggu ke - 15 (22-26 Mei 2023)
Pada minggu ke-15, hari senin 22 mei 2023 sampai dengan hari jumat tanggal
26 mei 2023, ada zoom live session mentoring capstone project sebanyak 2 kali
yaitu hari senin dan rabu, selain itu juga ada google meet daily meet sebanyak
3 kali yaitu hari selasa, kamis, dan jumat. pada minggu ini ada beberapa revisi
dan tambahan untuk desain dari tim ui/ux. selain itu, juga mengerjakan tugas
professional skill 3 dari mentor professional skill. adapun tugasnya yaitu
membuat Team Canvas Profesional Skill 3. tugas tersebut dikirimkan ke
mentor melalui email.
II-6
t. Minggu ke - 20 (26-30 Juni 2023)
Minggu ke 20 ini, tanggal 26 sampai dengan 30 juni 2023, merupakan minggu
terakhir kegiatan program studi independen batch 4 dengan mitra Alterra
Academy. Minggu ini, penulis dan teman-teman kelompok telah berhasil
mempresentasikan dan menyelesaikan tugas capstone project dengan tema
forum discussion. Presentasi berlangsung dengan lancar tanpa ada kendala.
Setelah selesai presentasi, hari-hari berikutnya diisi dengan kegiatan
mengerjakan laporan akhir kegiatan, yang nantinya akan dikumpulkan pada
website Kampus Merdeka, sebagai pertanggung jawaban karena telah
mengikuti program studi independen batch 4 ini.
II-7
Bab III Proyek Aplikasi Forum Discussion “Squad Space”
Squad Space adalah proyek forum grup diskusi (FDG) yang lahir sebagai
respon terhadap meningkatnya kebutuhan akan platform interaktif yang
memungkinkan pengguna untuk berbagi ide, pemikiran, dan pengetahuan. Dalam
mengembangkan Squad Space, tim developer mengakui pentingnya kolaborasi,
pertukaran gagasan, dan pengembangan jaringan, serta keinginan untuk
menciptakan lingkungan yang ramah dan inspiratif bagi pengguna.
III-1
4. Elda Vina Fadhilatur Rizkiyah, sebagai anggota divisi. Berasal dari kampus
Universitas Islam Balitar.
5. Raden Muhammad Revi Hafiyyan, sebagai anggota divisi. Berasal dari kampus
Universitas Telkom.
III.3 Proses Pelaksanaan Proyek
Divisi front-end memulai pengerjaan tugas pada tanggal 17 mei 2023 setelah
mendapatkan rangkaian desain dari tim UI/UX pada figma yang dapat diakses pada
bit.ly/Figma-FrontEnd-Website. Pengerjaan tugas berakhir pada tanggal 27 juni
2023, pada saat jadwal presentasi. Adapun proses pengerjaan capstone project yang
dilakukan oleh divisi front-end adalah sebagai berikut :
a. Minggu pertama
Melakukan initial setup pada proyek, review design UI/UX, melakukan folder
structuring pada proyek, dan melakukan initial commit.
b. Minggu ke-dua
Melakukan pembagian tugas perkelompok, penentuan library yang digunakan,
dan memulai slicing desain.
c. Minggu ke-tiga
Berhasil melakukan slicing desain pada beberapa halaman, mencoba
melakukan merging pada slicing desain yang telah berhasil dibuat, dan
melakukan integrasi data menggunakan dummy data.
d. Minggu ke-empat
Merging beberapa branch dan melakukan code review serta live pull requests
terhadap branch yang masih bermasalah.
e. Minggu ke-lima
Mencoba endpoint API dari tim back-end, melakukan integrasi API sementara
dari mockAPI dan memperbaiki beberapa logika dan styling yang kurang
sesuai.
f. Minggu ke-enam
Integrasi API yang tersedia dari BE dan sesuai dengan flow, merging
development branch ke main branch, memperbaiki beberapa logika dan styling
yang kurang sesuai, serta melakukan production deployment.
III-2
III.4 Pencapaian Hasil Proyek
Setelah mengerjakan dalam waktu 6 minggu, divisi front-end berhasil
membuat website Squad Space dengan persentase kesuksesan berdasarkan key
activities sebesar 100%. Website Squad Space dapat diakses melalui tautan berikut:
https://capstone-frontend-steel.vercel.app/
a. Alat
1. Discord, sebagai media platform untuk berdiskusi.
2. Visual Studio Code, sebagai software editor untuk melakukan
coding.
3. Github, yang digunakan untuk menyimpan dan mengelola kode.
4. Mock API, sebagai penyedia dummy data API. Dummy data dari
Mock API digunakan pada halaman home, manage user, manage
thread, dan thread report..
5. Postman, yang digunakan untuk penyedia data API dari back-end.
Data dari Postman digunakan pada halaman login dan ubah profil.
6. Vercel, yang digunakan untuk deploy hasil proyek.
b. Library
1. ReactJS, sebagai library javascript yang digunakan untuk membuat
user interface.
2. React Router Dom, digunakan sebagai library routing pada
ReactJS.
3. TailwidCSS, digunakan sebagai library untuk CSS.
4. Formik, digunakan untuk mengelola form.
5. Yup, digunakan untuk mengelola validasi pada form.
6. Eslint, digunakan untuk menganalisis dan menemukan masalah
pada kode yang dibuat.
7. Zustand, digunakan sebagai library state management.
8. Axios, digunakan sebagai http client javascript yang
menghubungkan front-end dengan back-end.
9. ChartJS, digunakan untuk membuat grafik.
III-3
III.4.2 Key Activities
a. Halaman Landing
Gambar III.3 adalah tampilan Halaman Landing. Pada Halaman
Landing, terdapat gambar dengan nama website, logo, dan button
masuk yang jika di klik nantinya akan dialihkan pada Halaman Login.
III-4
b. Halaman Login
Pada Halaman Login, admin dapat melakukan login dengan
memasukkan email dan password. Halaman Login dapat dilihat pada
Gambar III.4
c. Halaman Home
Halaman Home memiliki fitur threads chart yang merupakan diagram
statistik jumlah threads tiap bulan pada tahun 2023 tampilan Halaman
Home ditunjukkan pada gambar III.5.
III-5
d. Halaman Manage User
Gambar III.6 merupakan tampilan Halaman Manage User. Adapun
fitur yang terdapat pada halaman manage user antara lain total user,
muted user. blocked user, dan online user.
III-6
f. Halaman Thread Report
Halaman Thread Report memiliki fitur lihat thread, setujui laporan,
dan tolak laporan. Halaman ini memiliki tampilan seperti pada
Gambar III.8.
h. Fitur Logout
Fitur logout merupakan fitur yang berasal dari button logout yang
terdapat pada navbar saat admin berhasil melakukan login. Button
logout yang apabila di klik, nantinya akan menghapus token login dan
mengalihkan halaman pada Halaman Landing.
III-7
III.4.4 Tugas Penulis
Adapun tugas penulis adalah membuat navbar, Halaman Landing,
Halaman Login, fitur login, Halaman Ubah Profil, fitur ubah profil, dan
fitur logout. Adapun keberhasilan penulis dalam membuat halaman
maupun fitur berdasarkan tugas yang telah dibagi sebesar 100%.
III-8
Bab IV Penutup
IV.1 Kesimpulan
Adapun kesimpulan yang didapatkan setelah mengikuti program Program
Studi Independen Bersertifikat oleh Alterra Academy pada program studi 2023
Complete Front-End Engineer Career with ReactJS adalah
IV.2 Saran
Adapun saran untuk Alterra Academy selaku mitra pada program studi 2023
Complete Front-End Engineer Career with ReactJS dalam program Independen
Bersertifikat diantaranya:
IV-1
b. Tetap menjadi mitra dari program studi independen bersertifikat pada
Kampus Merdeka yang diselenggarakan oleh Kemendikbudristek.
IV-2
Lampiran A. TOR
A-1
Lampiran B. Log Activity
Minggu/Tgl Kegiatan Hasil
Minggu ke – 1
Minggu ke - 2
B-1
Minggu/Tgl Kegiatan Hasil
Minggu ke - 3
B-2
Minggu/Tgl Kegiatan Hasil
Senin, 06 Mempelajari tentang apa itu react, Minggu ini mempelajari tentang :
Maret 2023 bagaimana cara menginstall, apa
1. Apa itu react, bagaimana cara
saja yang dibutuhkan sebelum
menginstall, apa saja yang
memakai react, bagaimana memakai
dibutuhkan sebelum memakai
react dengan sederhana, dll.
react, bagaimana memakai
Selasa, 07 Mengerjakan soal introduction react dengan sederhana.
Maret 2023 react. Bagaimana cara menginstal 2. Component, prop, lifecycle
installation react menggunakan (mounting, update,
cra(create react app), bagaimana unmounting) , state, handling
menjalankan react pada local, event, perpedaan props dan
membuat project react state, pengertian jsx, cara
menggunakan vite, dan styling pada rect, membuat
menjalankannya pada local. komponen, dll
3. Handling event, onchange,
Rabu, 08 Mempelajari tentang component,
useState, membuat inputan
Maret 2023 prop, lifecycle (mounting, update,
yang nantinya akan
unmounting) , state, handling event,
ditampilkan pada table,
perpedaan props dan state,
menghapus value yang telah
pengertian jsx, cara styling pada
ditampilkan pada table.
rect, membuat komponen, dll
B-3
Minggu/Tgl Kegiatan Hasil
Kamis, 09 Belajar untuk membuat proyek react 4. Mempelajari apa itu atomic
Maret 2023 kemudian mencoba cara design (atoms, molecules,
mengstyling pada react, dan organism, templates, dan
mencoba membuat props, dll pages)
Selain itu, pada minggu ini juga
Jumat 10 Mempelajari tentang handling
mengerjakan :
Maret 2023 event, onchange, usestate, membuat
inputan yang nantinya akan 1. Soal introduction react.
ditampilkan pada table, menghapus bagaimana cara menginstal
value yang telah ditampilkan pada Installation react
table, dll menggunakan CRA(Create
React App), bagaimana
menjalankan react pada local,
membuat project react
menggunakan vite, dan
menjalankannya pada local.
2. Mengubah proyek .html
menjadi komponen react JS,
menggunakan JSX (JavaScript
XML) untuk mengubah
HTML kedalam ReactJS
dengan tools
https://transform.tools/html-
to-jsx.
3. Membuat komponen-
komponen ReactJS yang
membagi halaman .html
menjadi bagian-bagian yang
lebih kecil (atomic design)
Minggu ke - 5
B-4
Minggu/Tgl Kegiatan Hasil
Minggu ke - 6
Senin, 20 Mempelajari tentang apa itu basic Minggu ini mempelajari tentang :
Maret 2023 form, apa itu controlled
1. Apa itu basic form, apa itu
component,apa itu uncontrolled
controlled component,apa itu
component, apa perbedaan
uncontrolled component, apa
controlled component dan
perbedaan controlled
uncontrolled component, dll
component dan uncontrolled
Selasa, 21 Mempelajari apa itu global state, apa component.
Maret 2023 itu redux, apa itu view, apa itu 2. Apa itu global state data
action, apa itu reducer, apa itu store, managemen, apa itu redux,
dan bagaimana siklusnya, kapan menggunakan redux,
B-5
Minggu/Tgl Kegiatan Hasil
B-6
Minggu/Tgl Kegiatan Hasil
reducer, action, dan bagaimana cara slice, extra reducer, action, dan
mengdispatch, dll. bagaimana cara mengdispatch
3. Apa itu react test, apa itu vitest,
Rabu, 29 Mempelajari tentang apa itu react
bagaimana cara menginstall
Maret 2023 test, apa itu vitest, bagaimana cara
vitest, bagaimana cara
menginstall vitest, bagaimana cara
membuat file .test.jsx,
membuat file .test.jsx, bagaimana
bagaimana cara snapshot
cara snapshot, dll
4. Bagaimana cara memberikan
Kamis, 30 Sosialisasi capstone untuk proyek validasi pada inputan file,
Maret 2023 akhir, pembagian tema, dan perkenalan rest api
bagaimana teknisnya. Selain itu, Mengerjakan tugas :
saat kelas, mempelajari tentang 1.
React global state management
kelanjutan react test, bagaimana
dengan menggunakan action
cara memberikan validasi pada
dan reducer
inputan file, perkenalan rest api 2. React testing dengan
Jumat 31 Engerjakan soal react global state menggunakan vitest
Maret 2023 management dengan menggunakan Selain itu, juga ada sosialisasi
action dan reducer, serta capstone yang menjelaskan
mengerjakan soal dan react testing. tentang pembagian tema, dan
bagaimana teknisnya.
Minggu ke - 8
B-7
Minggu/Tgl Kegiatan Hasil
B-8
Minggu/Tgl Kegiatan Hasil
server state, dan bagaimana cara 1. Apa itu query, apa itu
codingnya. mutation, apa itu subscription,
apa itu client state dan server
Selasa, 11 Membahas tentang apa itu
state, dan bagaimana cara
April 2023 deployment, bagaimana cara
codingnya.
membuat akun pada surge.sh,
2. Apa itu deployment,
bagaimana cara menautkan proyek
bagaimana cara membuat akun
ke surge.sh
pada surge.sh, bagaimana cara
Rabu, 12 Membahas tentang apa itu eslint, menautkan proyek ke surge.sh
April 2023 bagaimana cara menginstall, eslint 3. Apa itu eslint, bagaimana cara
itu untuk apa, dan bagaimana cara menginstall, eslint itu untuk
bekerjanya. Selain itu juga apa, dan bagaimana cara
membahas tentang Hasura action. bekerjanya. Selain itu juga
membahas tentang Hasura
Kamis, 13 Membahas dan konsultasi tentang
action.
April 2023 judul dan Minimum Viable Product
Mengerjakan :
yang terdiri atas deskripsi produk
dan spesifikasi fitur produk untuk 1. Graphql Query and Mutation
tugas mini proyek. yang mengintegrasikan Graph
API hasura dengan project
Jumat, 14 Mengerjakan tugas graphql Query reactjs yang dibuat
April 2023 and Mutation yang 2. Subscription yang merubah
mengintegrasikan Graph API hasura data dengan memanfaatkan
dengan project reactjs yang dibuat, Query pada graphql menjadi
Subscription yang merubah data Subscribtion
dengan memanfaatkan Query pada 3. Deployment Vercel yang
graphql menjadi Subsctibtion, dan mendeploy aplikasi reactjs ke
Deployment vercel. Vercel.
Minggu ke - 10
Senin, 17 Pertemuan live session membahas Minggu ini mulai membahas dan
April 2023 tentang MVP. Jadi teman-teman mengerjakan proyek individu yaitu
sekelas mempresentasikan tentang tugas Mini Project.
MVP nya masing-masing.
B-9
Minggu/Tgl Kegiatan Hasil
Minggu ke - 11
Senin, 24 Libur nasional sehingga belajar Minggu ini merupakan hari libur
April 2023 secara mandiri nasional, yaitu Hari Raya Idul Fitri
1444 Hijriah. Sehingga belajar
Selasa, 25 Libur nasional sehingga belajar
secara mandiri.
April 2023 secara mandiri
Minggu ke - 12
Senin, 01 Libur nasional, hari buruh Minggu ini masih membahas dan
Mei 2023 internasional. Sehingga belajar mengerjakan proyek individu yaitu
secara mandiri tugas Mini Project.
B-10
Minggu/Tgl Kegiatan Hasil
Minggu ke - 13
Senin, 08 Hari pertama presentasi tugas mini Minggu ini merupakan minggu
Mei 2023 proyek. Teman sekelas mulai dimana jadwal presentasi
mempresentasikan tugasnya. berlangsung. Penulis mendapat
giliran pada hari ke-2. Di hari
Pada hari ini, penulis tidak
lainnya, penulis membuat akun
mendapat giliran presentasi
tautanedin.
sehingga hanya melanjutkan
mengerjakan aplikasi penulis. Adapun tugas yang perlu
dikumpulkan pada Mini Project
Selasa, 09 Hari ke-dua presentasi tugas mini
adalah figma, github, mvp.doc,
Mei 2023 proyek. Pada hari itu saat siang,
dan file ppt.
penulis mengerjakan aplikasi
penulis, dan malamnya
mendapatkan giliran ke 2 untuk
mempresentasikannya
B-11
Minggu/Tgl Kegiatan Hasil
B-12
Minggu/Tgl Kegiatan Hasil
Minggu ke - 15
Minggu ke - 16
B-13
Minggu/Tgl Kegiatan Hasil
Selasa, 30 Mengerjakan tugas untuk capstone Penulis sebagai bagian dari divisi
Mei 2023 project. Pada hari ini kegiatannya Front-End Web, melakukan :
adalah persiapan untuk imprelentasi
1. Berhasil melakukan slicing
api
desain pada beberapa halaman
Rabu, 31 Mei Zoom mentoring capstone project. 2. Mencoba melakukan merging
2023 Seperti biasa, pada sesi mentoring, pada slicing desain yang telah
ada breakout room untuk masing- berhasil dibuat
masing kelompok. 3. Melakukan integrasi data
menggunakan dummy data.
Kamis, 01 Mengerjakan tugas untuk capstone
Juni 2023 project. Pada hari ini kegiatannya
adalah impelentasi api
Minggu ke - 17
Selasa, 06 Mengerjakan tugas untuk capstone Penulis sebagai bagian dari divisi
Juni 2023 project. pada hari ini kegiatannya Front-End Web, melakukan :
adalah memperbaiki slicing UI yang
1. Merging beberapa branch dan
masih conflicted.
melakukan code review
Rabu, 07 Juni Zoom mentoring capstone project. 2. Live pull requests terhadap
2023 seperti biasa, pada sesi mentoring, branch yang conflicted
ada breakout room untuk masing-
masing kelompok.
B-14
Minggu/Tgl Kegiatan Hasil
Minggu ke - 18
Selasa, 13 Mengerjakan tugas untuk capstone Penulis sebagai bagian dari divisi
Juni 2023 project. pada hari ini kegiatannya Front-End Web, melakukan :
adalah melanjutkan untuk slicing
1. Slicing UI
untuk tambahan UI
2. Imlementasi login dengan API
Rabu, 14 Juni Zoom mentoring capstone project.
2023 seperti biasa, pada sesi mentoring,
ada breakout room untuk masing-
masing kelompok.
Minggu ke – 19
Selasa, 20 Mengerjakan tugas untuk capstone Penulis sebagai bagian dari divisi
Juni 2023 project. Pada hari ini kegiatannya Front-End Web, melakukan :
B-15
Minggu/Tgl Kegiatan Hasil
Minggu ke – 20
B-16
Lampiran C. Bukti Hasil Mini Project
C-1
C-2
Lampiran D. Bukti Hasil Capstone Project
D-1
D-2
D-3