Dipersiapkan oleh :
Marcelino / 170709201
Oleh :
2
KATA PENGANTAR
Puji syukur penulis haturkan kehadirat Tuhan Yang Maha Esa atas segala
berkat, rahmat dan karunia-Nya, penulis dapat menyelesaikan laporan magang ini.
Penyusunan laporan ini bertujuan untuk memenuhi persyaratan dalam menempuh
Mata Kuliah Magang bagi Mahasiswa Program Studi Informatika, Fakultas
Teknologi Industri, Universitas Atma Jaya Yogyakarta. Laporan ini berisi
dokumentasi pengetahuan, pengalaman, hingga hambatan yang penulis dapatkan
selama melaksanakan magang.
Dalam proses pelaksanaan magang, penulis tidak lepas dari bantuan
berbagai pihak yang senantiasa mendukung dan memotivasi penulis untuk bisa
menyelesaikan magang. Oleh sebab itu penulis memberikan ucapan terima kasih
kepada :
1. Orang tua yang selalu memberikan dukungan.
2. Bapak Eduard Rusdianto, ST., MT. selaku dosen pembimbing magang
yang telah membimbing penulis selama magang dan penulisan laporan ini.
3. Para Trainer Refactory selaku pembimbing lapangan yang telah
membimbing penulis selama pelaksanaan magang.
4. Teman-teman kos TB 5 4C dan kontrakan light speed yang telah
memberikan dukungan dan semangat.
Penulis menyadari bahwa pelaksanaan magang dan penyusunan laporan ini
masih jauh dari sempurna. Oleh karena itu, kritik dan saran yang membangun
sangat diharapkan. Penulis berharap laporan ini akan memberikan manfaat kepada
pembaca.
Yogyakarta, 22 Juni 2021
Penulis,
3
Marcelino
4
DAFTAR ISI
HALAMAN JUDUL i
HALAMAN PENGESAHAN ii
DAFTAR ISI iv
DAFTAR GAMBAR v
BAB I PENDAHULUAN 1
BAB IV KESIMPULAN 47
DAFTAR GAMBAR
5
Gambar 1.1. Bagan Struktur Organisasi 3
Gambar 1.2. Bagan Enginner 4
Gambar 1.3. Bagan R&D 4
Gambar 1.4. Bagan Trainer 5
Gambar 1.5. Bagan Devisi BisDev 5
Gambar 1.6. Bagan Head of Finance 6
6
Gambar 2.1.24. Date picker untuk memilih bulan dan tahun 36
Gambar 2.1.25. Menampilkan data rankings pegawai pada bulan juni tahun 2021.
37
Gambar 2.1.26. Bar chart rankings pegawai 37
Gambar 2.1.27. Line chart penilaian pegawai Mark Zuckerberg 38
Gambar 2.1.28. Bar chart rankings pegawai pada bulan april 2021 39
Gambar 2.1.29. Line chart penilaian pegawai Steve Wozniak pada tahun 2021 39
Gambar 2.1.30. Form penilaian pegawai pada manage rankings 40
BAB I
PENDAHULUAN
7
membantu di setiap tahap mulai dari menyusun ide, melalui desain dan
pengembangan aplikasi baik mobile, web dan desktop, hingga peluncuran
produk. Refactory mempunyai empat layanan, yaitu Join Development
(Project On Demand), DevOps Service by SL, Online Bootcamp/Custom
Training Onsite, dan Refactory Course.
8
1. Mendukung perusahaan dalam membuat atau
meningkatkan platform digital untuk melayani bisnis
mereka.
2. Mendukung perusahaan dalam pelatihan teknis agar
karyawan dapat melakukan tugasnya dengan lebih baik.
3. Mendidik dan melatih programmer dan pembuat kode yang
lebih berkualitas untuk mengisi kesenjangan antara
penawaran dan permintaan pasar.
1.3.3. Tujuan Perusahaan
1. Dengan tim software engineer yang berbakat dan
berpengalaman dalam bidang keahlian yang mencakup end
to end software development, mulai dari Frontend, Backend
hingga DevOps. Refactory berkomitmen untuk memberikan
kualitas terbaik dan teknologi terkini kepada klien di setiap
proyek.
2. Memberdayakan dan mengembangkan orang yang belum
atau kurang memahami agar lebih memahami, sehingga
mendapatkan pekerjaan sesuai skillnya.
9
Gambar 1.1. Bagan Struktur Organisasi
10
Gambar 1.3. Bagan R&D
11
Gambar 1.5. Bagan Devisi BisDev
12
luar negeri dengan membantu di setiap tahap mulai dari menyusun
ide, melalui desain dan pengembangan aplikasi seluler, situs web
dan aplikasi desktop, hingga peluncuran produk. Refactory
berkomitmen untuk memberikan kualitas terbaik dan teknologi
terkini kepada klien di setiap proyek dengan pembuatan kode yang
lebih berkualitas untuk mengisi kesenjangan antara penawaran dan
permintaan pasar.
b. Pengembangan SDM
Salah satu layanan dari Refactory yaitu Refactory Course
merupakan layanan yang bertujuan untuk pengembangan SDM.
Refactory Course dirancang untuk memudahkan setiap orang
mampu meningkatkan keahlian dalam software engineering tanpa
dibatasi oleh kesulitan akses, kesulitan waktu, batasan keahlian,
ataupun usia.
Dengan pembelajaran berdasarkan pengalaman nyata
pengerjaan project, bagi pelajar/mahasiswa, Refactory Course akan
melengkapi keahlian yang sudah diperoleh dalam studi sehingga
dapat membuka kesempatan tak terbatas pada karir software
engineering. Bagi karyawan atau tenaga profesional, Refactory
Course dapat meningkatkan keahlian software engineer dalam
menunjang menyelesaikan tugas pekerjaannya tanpa khawatir
dengan keterbatasan waktu. Masyarakat secara luas juga dapat
memanfaatkan pembelajaran untuk meningkatkan keahlian
sehingga mampu berkarya dan mendapat keuntungan karir tanpa
khawatir mahalnya belajar.
13
BAB II
PELAKSANAAN MAGANG
14
Gambar 2.1.2. Penyelesaian Course Text Editor
15
Gambar 2.1.4. Penyelesaian Course Terminal
16
Gambar 2.1.5. Penyelesaian Course Git
17
Rabu, 3 Febuari 2021
Saya diminta untuk membuat halaman web sederhana
menggunakan HTML, CSS, dan Javascript yang berisi CV di github.io
dengan memanfaatkan fitur github pages. Hasil dari halaman web yang
telah saya buat terdapat pada link https://marcelino666.github.io/.
18
Gambar 2.1.7. Course Javascript
19
Gambar 2.1.8. Soal Backend logic
20
Rabu, 10 Febuari 2021
Saya menyelesaikan course PHP Basic yang dapat dilihat pada
gambar 2.1.9. Materi yang ada pada course ini yaitu pengenalan bahasa
pemprograman PHP, instalasi, PHP dasar, variables, data types, operators,
control flow, perulangan, function, manipulasi, exception, dan debugging.
21
Gambar 2.1.10. Penyelesaian Course Laravel for Beginner
22
mengerjakan tugas tersebut, saya mencoba mempelajari mengenai
Application Programming Interface (API) dan Representational State
Transfer (REST) API terlebih dahulu melalui media internet.
23
Selasa, 23 Febuari 2021
Saya membuat user controller yang berisikan show all, show by id,
update by id dan delete by id terhadap user data. Setelah itu, saya juga
membuat room controller yang berisikan store data baru, show all, show
by id, update by id dan delete by id terhadap data ruangan.
24
ketiga untuk pengiriman email. Fitur pengiriman email ini saya terapkan
ketika user telah melakukan booking room.
25
hasil dari code REST API Skill Test RSP Backend, saya simpan pada link
berikut https://github.com/Marcelino666/Rest-API-RSP.
26
Saya mempelajari tentang Node JS Basic dan penggunaan
framework Express JS melalui media internet. Untuk mempelajari Node JS
Basic, saya juga mempelajari beberapa materi melalui course yang
terdapat pada Refactory Course.
27
criteria. Setelah melakukan konsultasi, saya melanjutkan mempelajari
Node JS dan Express JS.
28
Jumat, 19 Maret 2021
Saya membuat models untuk criterion, employee_ranking,
employee, dan user dengan bantuan library Sequelize Command Line
Interface (CLI). Dalam pembuatan models, library ini akan generate
sebuah index.js pada folder models, index.js ini berfungsi untuk
mengekspor module dari seluruh models yang dibuat pada folder models.
29
Jumat, 26 Maret 2021
Saya melanjutkan membuat fitur login dan logout. Saya juga
memperbaiki bug pada fitur login dan logout yang telah saya bikin
sebelumnya.
30
Gambar 2.1.12. URL dan Token pada email
31
Senin, 5 April 2021
Saya mempelajari framework Nuxt JS sebagai frontend untuk
aplikasi pemilihan pegawai terbaik. Setelah itu, saya melakukan instalisasi
framework ini pada penyimpanan lokal saya.
32
Gambar 2.1.13. Form login
33
Gambar 2.1.14. Table List Employees
34
Senin, 12 April 2021
Saya membuat validasi terhadap fields yang berada pada form
penambahan data pegawai baru. Untuk mendapatkan JSON yang berupa
pesan error validasi dari backend, saya melakukan revisi terhadap code
backend, dimana untuk pesan error validator yang saya gunakan berasal
dari library Sequelize.
35
Gambar 2.1.16. Fitur Logout
36
Gambar 2.1.17. Form edit employee
37
Selasa, 20 April 2021
Saya membuat halaman untuk menampilkan seluruh data kriteria
dan menerapkan form edit di dalam modal, sehingga tidak perlu lagi
membuat page baru untuk menampung form edit data criteria. Pada
halaman manage criterion yang telah saya buat dapat dilihat pada gambar
2.1.19, dimana terdapat table data kriteria yang berupa ID, Nama Kriteria,
Sifat Kriteria, dan Actions. Pada form edit modal yang telah saya buat
yang dapat dilihat pada gambar 2.1.20, dimana terdapat field untuk
mengedit nilai bobot kriteria dan tombol close untuk menutup form modal
serta tombol update untuk menyimpan hasil perubahan bobot kriteria.
38
Gambar 2.1.20. Edit modal criteria
39
Kamis, 22 April 2021
Saya membuat fitur search pada manage employees. Fitur search
ini mencari data pegawai berdasarkan nama dari pegawai yang ingin
dicari.
40
Gambar 2.1.22. Search data pegawai dengan input nama “ki”
41
terdapat di pojok kanan bawah halaman manage employee yang dapat
dilihat pada gambar 2.1.23.
42
Gambar 2.1.24. Date picker untuk memilih bulan dan tahun
43
Saya membuat bar chart rankings pegawai di halaman graph
rankings. Untuk membuat chart pada sisi frontend, saya menggunakan
library Chart JS dan Vue-chartjs. Bar chart yang telah saya buat dapat
dilihat pada gambar 2.1.26, bar chart tersebut terdiri dari labels yang
berupa nama dari pegawai dan dataset yang berupa total dari hasil
penilaian pegawai.
44
Saya menerapkan fitur untuk menampilkan data berdasarkan bulan
dan tahun terhadap chart pada graph rankings pegawai serta fitur untuk
menampilkan data berdasarkan tahun pada graph penilaian pegawai.
Dalam menerapkan fitur ini, saya juga melakukan revisi di sisi backend
dengan membuat sebuah table untuk graph penilaian pegawai yang
berisikan bulan dan total penilaian. Hasil dari penerapan fitur
menampilkan data berdasarkan bulan dan tahun terhadap chart pada graph
rankings pegawai, dapat dilihat pada gambar 2.1.28, dimana pada chart
tersebut menampilkan data rankings pegawai pada bulan april dan tahun
2021. Selajutnya, hasil dari fitur menampilkan data berdasarkan tahun
pada graph penilaian pegawai dapat dilihat pada gambar 2.1.29, dimana
pada data chart dan table yang ditampilkan berdasarkan tahun 2021 untuk
pegawai Steve Wozniak.
45
Gambar 2.1.28. Bar chart rankings pegawai pada bulan april 2021
Gambar 2.1.29. Line chart penilaian pegawai Steve Wozniak pada tahun
2021
46
Rabu, 5 Mei 2021
Saya memperbaiki bug terhadap bar chart dan line chart yang
telah saya bikin sebelumnya, jadi pada saat mendapatkan data baru dari
sisi backend dan menyimpan data tersebut pada state di sisi frontend.
Chart tidak responsif terhadap data baru yang diterima, maka dari itu saya
memperbaiki chart tersebut pada sisi re-render data.
47
pegawai, dimana data yang akan ditampilkan tidak lagi hanya 10 row saja,
tetapi semua data yang ingin ditampilkan pada bulan dan tahun tertentu.
Hasil dari pekerjaan saya secara umum terdapat 3 fase yakni fase
pertama membuat test backend logic yang dimana terdapat 2 soal backend
logic menggunakan bahasa pemprograman PHP. Fase kedua, mengerjakan
task REST API untuk Skill Test RSP Backend dimana saya membuat
backend untuk aplikasi pendaftaran ruangan meeting dan membuat
dokumentasi dari REST API dari backend tersebut. Fase ketiga saya
membuat Sistem Pendukung Keputusan (SPK) dalam pemilihan pegawai
terbaik menggunakan metode Simple Additive Weighting, sistem ini
dibangun berbasis website.
48
Gambar 2.3.1. Test backend logic 1
49
2. Fase kedua, yaitu membuat aplikasi pendaftaran ruangan meeting
untuk Skill Test RSP Backend dan membuat dokumentasi dari
REST API tersebut. Hasil dari dokumentasi yang telah saya buat
dapat dilihat pada gambar 2.3.3, dimana dokumentasi ini dibuat
menggunakan bantuan Postman.
50
Gambar 2.3.4. Sistem Pendukung Keputusan (SPK) dalam
pemilihan pegawai terbaik menggunakan metode Simple Additive
Weighting.
51
BAB III
HASIL PEMBELAJARAN
52
Data dan Pengembangan Aplikasi Web sangat membantu dalam
management database dan membangun sebuah aplikasi web. Selain
penerapan hardskill yang berupa pengetahuan teknis mengenai
pengembangan web, saya juga menerapkan softskill yang berupa
kemampuan komunikasi.
53
BAB IV
KESIMPULAN
Selama magang ini, saya sudah mendapatkan banyak manfaat, mulai dari
pengalaman bekerja langsung di perusahaan, mendapatkan banyak relasi, dan juga
mendapatkan banyak ilmu. Saya juga menjadi lebih memahami bahasa
pemrograman PHP dan Javascript, juga menjadi tahu beberapa framework baru
untuk pengembangan aplikasi web. Saya juga terlatih untuk lebih disiplin waktu,
karena selama magang saya selalu mengerjakan tugas sesuai deadline yang sudah
ditentukan dan selalu menghadiri screen planning setiap minggu. Saya juga dapat
meningkatkan kemampuan presentasi dan komunikasi, karena saat screen
planning, saya selalu memberikan report terkait perkembangan project yang saya
kerjakan, saya juga membangun relasi dan selalu melakukan konsultasi berkala
terkait solusi dari projek yang sedang dikerjakan bersama para trainer.
Pada kegiatan magang ini, penerapan ilmu semasa kuliah juga sangat
membantu saya dalam proses pembuatan aplikasi web, karena sebagian besar
projek yang saya dapatkan ialah pengembangan aplikasi web. Ilmu semasa kuliah
yang saya dapatkan seperti Basis Data dan Pengembangan Aplikasi Web sangat
membantu dalam magang saya, seperti pada kegiatan management database dan
membangun aplikasi web. Dalam pelaksanaanya saya berhasil menyelesaikan
pekerjaan yang secara umum terdapat 3 fase yakni fase pertama membuat test
backend logic dimana terdapat 2 soal backend logic menggunakan bahasa
pemprograman PHP. Fase kedua mengerjakan task REST API untuk Skill Test
RSP Backend, dimana saya membuat backend untuk aplikasi pendaftaran ruangan
meeting dan membuat dokumentasi dari REST API dari backend tersebut. Fase
ketiga membuat Sistem Pendukung Keputusan (SPK) dalam pemilihan pegawai
terbaik menggunakan metode Simple Additive Weighting, sistem ini dibangun
berbasis website.
54