Disusun oleh:
Mengetahui,
Ketua Program Studi Teknik Informatika Dosen Pembimbing
ii
HALAMAN PENGESAHAN
LAPORAN MAGANG
Mengetahui,
CEO CV. Techarea Indonesia Jaya Pembimbing Lapangan
iii
KATA PENGANTAR
Puji dan syukur penulis ucapkan kepada Allah SWT yang telah
melimpahkan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan
Magang di CV. TECHAREA INDONESIA JAYA serta dapat menyelesaikan
Laporan Magang ini dengan baik.
Sesuai dengan kurikulum Politeknik Negeri Semarang, maka salah satu
kewajiban bagi mahasiswa Diploma III Program Studi Teknik Informatika Jurusan
Elektro Politeknik Negeri Semarang pada akhir semester IV adalah melaksanakan
Magang pada suatu perusahaan atau instansi. Magang ini telah dilaksanakan sejak
tanggal 20 Juli sampai 20 Oktober 2020. Tujuan dari Magang untuk memenuhi
kewajiban tersebut dan untuk mengenalkan mahasiswa terhadap aktivitas nyata
pada dunia kerja.
Dalam menyelesaikan Laporan Magang ini tentunya penulis tidak lepas dari
banyak bantuan dan dukungan dari berbagai pihak. Oleh karena itu penulis ingin
menyampaikan ucapan terima kasih kepada :
1. Allah SWT, atas rahmat dan karunia-Nya serta limpahan nikmat.
2. Kedua orang tua dan keluarga atas doa restunya.
3. Bapak Ir. Supriyadi, MT selaku Direktur Politeknik Negeri Semarang.
4. Bapak Yusnan Badruzzaman, S.T., M.Eng. selaku Ketua Jurusan Teknik
Elektro Politeknik Negeri Semarang.
5. Ibu Idhawati Hestiningsih, S.Kom, M.Kom. selaku Ketua Program Studi
Teknik Informatika Politeknik Negeri Semarang.
6. Bapak Slamet Handoko, S.Kom.,M.Kom. selaku dosen pembimbing.
7. Manajemen CV. Techarea Indonesia Jaya.
8. Roziq Bachtiar selaku pembimbing dari pihak CV. Techarea Indonesia Jaya.
9. Teman kelas IK 3A yang telah mendukung dan memberikan motivasi.
10. Pihak yang telah membantu yang tidak mungkin untuk penulis sebutkan
satu persatu.
Penulis menyadari bahwa dalam penyusunan Laporan Magang ini masih
jauh dari kata sempurna, oleh karena itu penulis mengharapkan kritik dan saran
yang membangun dari semua pihak.
iv
Semoga laporan ini bermanfaat bagi siapapun.
Semarang, 15 Januari 2021
Penyusun,
v
DAFTAR ISI
COVER ............................................................................................................................... i
DAFTAR ISI..................................................................................................................... vi
BAB I .................................................................................................................................. 1
1.7. Sistematika......................................................................................................... 4
BAB II ................................................................................................................................ 5
vi
2.4.2 Sistem Informasi & Pengembangan Web ................................................... 6
BAB III............................................................................................................................. 11
vii
3.4.4 API ............................................................................................................ 38
BAB IV ............................................................................................................................. 48
LAMPIRAN..................................................................................................................... 50
viii
DAFTAR GAMBAR
ix
Gambar 3.29 Tampilan Users Customer ............................................................... 31
Gambar 3.30 Tampilan Form User Customer Form ............................................. 32
Gambar 3.31 Tampilan Booking Pending ............................................................. 33
Gambar 3.32 Tampilan Booking Down Payment ................................................. 33
Gambar 3.33 Tampilan Booking Paid................................................................... 34
Gambar 3.34 Tampilan Booking Cancel ............................................................... 34
Gambar 3.35 Tampilan Booking Tambah Data .................................................... 35
Gambar 3.36 Tampilan Lapangan ......................................................................... 35
Gambar 3.37 Tampilan Form Lapangan ............................................................... 36
Gambar 3.38 Tampilan Jenis Lapangan ................................................................ 36
Gambar 3.39 Tampilan Form Jenis Lapangan ...................................................... 37
Gambar 3.40 Tampilan Jadwal ............................................................................. 37
Gambar 3.41 Tampilan Notifikasi......................................................................... 38
Gambar 3.42 Tampilan Response pada API Register ........................................... 39
Gambar 3.43 Tampilan Response pada API Login ............................................... 39
Gambar 3.44 Tampilan Response pada API Resend Email Verification.............. 40
Gambar 3.45 Tampilan Response pada API Forgot Password ............................. 40
Gambar 3.46 Tampilan Response pada API update FCM .................................... 41
Gambar 3.47 Tampilan Response pada API User Details .................................... 41
Gambar 3.48 Tampilan Response pada API Lapangan ........................................ 42
Gambar 3.49 Tampilan Response pada API Lapangan By ID Lapangan ............. 42
Gambar 3.50 Tampilan Response pada API Jenis Lapangan ............................... 43
Gambar 3.51 Tampilan Response pada API Detail Jenis Lapangan ..................... 43
Gambar 3.52 Tampilan Response pada API Tujuan Transfer .............................. 44
Gambar 3.53 Tampilan Response pada API History Booking ............................. 44
Gambar 3.54 Tampilan Response pada API Create Booking ............................... 45
Gambar 3.55 Tampilan Response pada API Booking Update Pembayaran ......... 45
Gambar 3.56 Tampilan Response pada API Detail Booking ................................ 46
Gambar 3.57 Tampilan Response pada API Booking Update Pembatalan .......... 46
Gambar 3.58 Tampilan Response pada API Fixture By Id Lapangan And Date . 47
x
BAB I
PENDAHULUAN
1
1.3. Tujuan
Tujuan dari penulisan laporan adalah untuk menjelaskan pelaksanaan
Magang (PKL), dan ruang lingkup di CV. Techarea. Adapun pelaksanaan PKL
ini bertujuan untuk :
1) Memenuhi syarat pembuatan laporan akhir dari instansi tempat studi
mahasiswa.
2) Menjalin hubungan antara dunia Pendidikan dengan dunia industry.
3) Menambah wawasan dan pengetahuan tentang penerapan ilmu
pengetahuan dan teknologi yang ada di CV Techarea Indonesia Jaya.
4) Memperoleh gambaran tentang kondisi dunia kerja.
5) Mendapatkan pengalaman sebagai bekal sebelum memasuki dunia kerja,
6) Menerapkan ilmu yang telah didapatkan di tempat studi mahasiswa.
1.4. Manfaat
Manfaat dari penulisan laporan adalah untuk menjelaskan pelaksanaan
Magang (PKL), dan ruang lingkup di CV. Techarea. Adapun manfaat dari
pelaksanaan PKL ini adalah :
2
6) Memperoleh pengalaman dalam mengelola proyek yang belum
pernah didapatkan ketika mahasiswa di perkuliahan,
7) Mengukur kemampuan yang ada dengan yang dibutuhkan di
dunia kerja,
8) Mendapatkan pengalaman secara langsung bagaimana dunia
kerja yang ada dalam sebuah perusahaan.
1.6. Metodologi
Metode yang digunakan untuk mengumpulkan data dalam pembuatan
laporan kerja praktik ini adalah :
3
1.6.1. Metode Interview
Penulis menanyakan secara langsung kepada pembimbing
lapangan mengenai alur sistem karena sudah adanya rancangan sistem
disediakan.
1.7. Sistematika
Dalam penyusunan laporan Magang penulis menggunakan sistematika
penulisan sebagai berikut.
BAB I : PENDAHULUAN
Bab ini menjelaskan latar belakang mengenai topik yang diambil pada Magang,
ruang lingkup mengenai batasan topik yang diambil, tujuan dan kegunaan
Magang dilaksanakan, metodologi, dan sistematika penulisan.
BAB IV : PENUTUP
Bab ini berisi kesimpulan dan saran yang didapat dari pembuatan Laporan
Magang.
4
BAB II
GAMBARAN UMUM PERUSAHAAN
5
4) Meningkatkan kualitas pelayanan dalam rangka meningkatkan
manfaat dan nilai bagi pelanggan dan stakeholder.
6
2.4.3 Internet Of Things
Internet Of Things merupakan sistem yang membuat dan
mengembangkan aplikasi terintegrasi dengan hardware. Pengembangan
Aplikasi meliputi perancangan desain tampilan aplikasi mobile berbasis
Web/Windows/Android oleh tim desain CV. Techarea Indonesia Jaya.
Seperti pembuatan Smart-Home dengan keamanan kunci sidik jari, dan
pengendalian perkakas rumah (AC, lampu, CCTV) melalui
smartphone. Beberapa aplikasi lain yang dikembangkan meliputi:
Aplikasi Integrasi Perusahaan, Smart Parking, Server dan Keamanan
Linux, Mengintegrasi software dan Hardware.
7
Gambar 2.1 Struktur Organisasi CV. Techarea Indonesia Jaya
2.6 Portofolio
Berikut adalah beberapa foto produk yang dihasilkan oleh CV. Techarea
Indonesia Jaya yang digunakan oleh banyak organisasi dan instansi yang
membutuhkan.
8
9
10
BAB III
HASIL PELAKSANAAN PKL
Masalah yang dibahas pada laporan PKL ini adalah pembuatan API dan
halaman admin website e-booking ‘Booking Futsal’.
3.2.1 PHP
Script sendiri merupakan sekumpulan instruksi pemrograman
yang ditafsirkan pada saat runtime. Sedangkan Bahasa scripting adalah
bahasa yang menafsirkan skrip saat runtime. Dan biasanya tertanam ke
dalam lingkungan perangkat lunak lain.
Karena php merupakan scripting server-side maka jenis bahasa
pemrograman ini nantinya script/program tersebut akan
dijalankan/diproses oleh server. Berbeda dengan javascript yang client-
side.
11
PHP adalah bahasa pemrograman umum yang berarti php dapat
disematkan ke dalam kode HTML, atau dapat digunakan dalam
kombinasi dengan berbagai sistem templat web, sistem manajemen
konten web, dan kerangka kerja web
12
3) Application Logic, merupakan bagian dari aplikasi,
menggunakan controller atau bagian Route.
4) Reverse Routing, mendefinisikan relasi atau hubungan antara
Link dan Route.
5) Restful controllers, memisahkan logika dalam melayani HTTP
GET and POST.
6) Class Auto Loading, menyediakan loading otomatis untuk class
PHP.
7) View Composer, adalah kode unit logikal yang dapat dieksekusi
ketika view sedang loading.
8) IoC Container, memungkin obyek baru dihasilkan dengan
pembalikan controller.
9) Migration, menyediakan sistem kontrol untuk skema database.
10) Unit Testing, banyak tes untuk mendeteksi dan mencegah regresi.
11) Automatic Pagination, menyederhanakan tugas dari penerapan
halaman.
13
setiap bulan, dan inilah yang membedakan VS Code dengan teks editor-
teks editor yang lain.
3.2.6 GitLab
Gitlab adalah layanan yang menyediakan akses remote ke Git
repositories. Selain meng-hosting kode Pengguna, layanan ini
menyediakan fitur tambahan yang dirancang untuk membantu
mengelola siklus pengembangan software. GitLab adalah layanan mirip
github yang dapat digunakan organisasi untuk menyediakan
manajemen internal git repositories. Ini adalah sistem manajemen Git-
14
repository yang di-host-sendiri yang menjaga code private pengguna
dan dapat dengan mudah menyebarkan perubahan kode.
3.2.7 MySQL
MySQL adalah sebuah DBMS (Database Management System)
menggunakan perintah SQL (Structured Query Language) yang banyak
digunakan saat ini dalam pembuatan aplikasi berbasis website. MySQL
dibagi menjadi dua lisensi, pertama adalah Free Software dimana
perangkat lunak dapat diakses oleh siapa saja. Dan kedua adalah
Shareware dimana perangkat lunak berpemilik memiliki batasan dalam
penggunaannya.
MySQL termasuk ke dalam RDBMS (Relational Database
Management System). Sehingga, menggunakan tabel, kolom, baris, di
dalam struktur database -nya. Jadi, dalam proses pengambilan data
menggunakan metode relational database. Dan juga menjadi
penghubung antara perangkat lunak dan database server.
15
kembali ke smartphone. Setelah menerima data tersebut, aplikasi
menerjemahkannya lalu memberikan informasi yang diinginkan
dengan cara yang mudah dibaca. Dengan adanya API semua dapat
berjalan dengan lancar dan memudahkan.
16
sekelompok perangkat, atau ke perangkat yang berlangganan topik.
Pengembang memiliki opsi untuk membuat pesan di Notification
composer, yang dapat mengirim pesan yang ditargetkan ke segmen
pengguna tertentu. Pesan-pesan ini sepenuhnya terintegrasi dengan
Firebase Analytics, yang melacak interaksi dan konversi pengguna.
3.2.10 Pusher
Pusher adalah layanan yang dihosting yang membuatnya sangat
mudah untuk menambahkan data dan fungsionalitas waktu nyata ke
aplikasi web dan seluler.
Pusher berada sebagai lapisan real-time antara server dan klien.
Pusher mempertahankan koneksi persisten ke klien - melalui
WebSocket jika memungkinkan dan kembali ke konektivitas berbasis
HTTP - sehingga segera setelah server pengguna memiliki data baru
yang ingin mereka dorong ke klien yang dapat mereka lakukan,
langsung melalui Pusher.
Pusher menawarkan pustaka untuk diintegrasikan ke semua
runtime dan kerangka kerja utama. PHP, Ruby, Python, Java, .NET, Go
dan Node di server dan JavaScript, Objective-C (iOS) dan Java
(Android) di klien.
Pusher adalah solusi real-time yang sangat skalabel yang
didirikan pada tahun 2010 dan memiliki banyak pelanggan hebat
termasuk GitHub, MailChimp, CodeShip, The Financial Times,
UserVoice, Travis CI, dan QuizUp.
17
3.3.1 Gambaran Umum Tugas PKL
Tugas PKL diberikan yaitu membuat backend aplikasi e-booking
yang bernama Booking Futsal. Aplikasi ini berfokus pada penyewaan
lapangan futsal dengan sistem order online. Backend Booking Futsal
terdapat multiuser untuk login yaitu administrator dan pemilik lapangan.
Untuk administrator terdapat menu untuk pengisian data booking,
manajemen users, dan lain sebagainya. Sedangkan untuk bagian pemilik
lapangan terdapat kelola lapangan dan jenis lapangan yang dimiliki,
laporan booking dan lain sebagainya. Dalam pembuatan aplikasi booking
futsal ini menggunakan PHP dan Laravel sebagai frameworknya.
18
misalnya dengan pembuatan analisis kebutuhan yang dilakukan oleh
Account Manager yang didiskusikan oleh client. Dalam database
booking_futsal terdapat beberapa tabel seperti yang terlihat pada Gambar
3.1.
1) Tabel app_notifications
Tabel app_notifications digunakan untuk menyimpan data
notifikasi yang dibroadcast ke android. Struktur tabel
app_notifications dapat dilihat pada Gambar 3.2.
2) Tabel banks
Tabel banks digunakan untuk menyimpan data bank yang
dapat digunakan untuk melakukan pembayaran. Struktur tabel
banks dapat dilihat pada Gambar 3.3.
19
Gambar 3.3 Tabel banks
3) Tabel booking
Tabel booking digunakan untuk menyimpan data transaksi
booking lapangan. Struktur tabel booking dapat dilihat pada
Gambar 3.4.
4) Tabel configurations
Tabel configurations digunakan untuk menyimpan data
konfigurasi pada aplikasi, seperti konfigurasi pusher, FCM, UI
Aplikasi dll. Struktur tabel configurations dapat dilihat pada
Gambar 3.5.
20
5) Tabel email_tokens
Tabel email_tokens digunakan untuk menyimpan data token
untuk keperluan yang berhubungan dengan email akun, seperti
reset password, aktivasi akun dan perubahan email. Struktur tabel
email_tokens dapat dilihat pada Gambar 3.6.
6) Tabel jenis_lapangan
Tabel jenis_lapangan digunakan untuk menyimpan data
jenis lapangan. Struktur tabel jenis_lapangan dapat dilihat pada
Gambar 3.7.
7) Tabel lapangan
Tabel lapangan digunakan untuk menyimpan data lapangan
yang dimiliki oleh pemilik lapangan. Struktur tabel lapangan dapat
dilihat pada Gambar 3.8.
21
Gambar 3.8 Tabel lapangan
8) Tabel notifications
Tabel notifications digunakan untuk menyimpan data
notifikasi pada website admin. Struktur tabel notifications dapat
dilihat pada Gambar 3.9.
9) Tabel temp_new_email
Tabel promo digunakan untuk menyimpan data email baru
sementara pada proses ganti email. Struktur tabel temp_new_email
dapat dilihat pada Gambar 3.10.
22
10) Tabel users
Tabel user digunakan untuk menyimpan data user yang
tersimpan pada aplikasi. Struktur tabel users dapat dilihat pada
Gambar 3.11.
23
Gambar 3.13 Tabel oauth_auth_codes
24
Pada halaman login tidak terdapat fungsi register dikarenakan user
admin hanya terdapat satu akun. Untuk menambahkan user untuk pemilik
lapangan hanya dapat ditambahkan melalui halaman admin. Tampilan
Halaman Login pada aplikasi ‘Booking Futsal’ dapat dilihat pada
Gambar 3.16.
25
Gambar 3.18 Tombol untuk Fungsi Sign Out Halaman Admin
2) Sidebar
Didalam sidebar terdapat beberapa fitur atau menu yang ada
pada halaman admin Booking Futsal. Tampilan Sidebar pada
aplikasi ‘Booking Futsal’ dapat dilihat pada Gambar 3.19.
3) Menu Laporan
Pada halaman Laporan, terdapat tampilan untuk
menampilkan jumlah jumlah booking perkategori dan grafik
booking dalam satu bulan. Tampilan Laporan pada aplikasi
‘Booking Futsal’ dapat dilihat pada Gambar 3.20.
26
Gambar 3.20 Tampilan Halaman Laporan
27
Gambar 3.22 Tampilan Konfigurasi Pusher
28
Gambar 3.24 Tampilan Konfigurasi UI
29
Gambar 3.26 Tampilan Users Admin Form
30
lapangan. Tampilan Users Pemilik Form pada aplikasi ‘Booking
Futsal’ dapat dilihat pada Gambar 3.28.
31
13) Menu Admin – Users Customer Form
Users Customer Form adalah form yang digunakan untuk
manajemen users customer. Form tersebut digunakan untuk
menambah, mengubah atau melihat detail users customer.
Tampilan Users Customer Form pada aplikasi ‘Booking Futsal’
dapat dilihat pada Gambar 3.30.
32
Gambar 3.31 Tampilan Booking Pending
33
Booking Paid pada aplikasi ‘Booking Futsal’ dapat dilihat pada
Gambar 3.33.
34
mengubah data booking. Tampilan Booking Tambah Data pada
aplikasi ‘Booking Futsal’ dapat dilihat pada Gambar 3.35.
35
lapangan. Tampilan Lapangan Form pada aplikasi ‘Booking Futsal’
dapat dilihat pada Gambar 3.37.
36
mengubah data jenis lapangan. Tampilan Jenis Lapangan Form
pada aplikasi ‘Booking Futsal’ dapat dilihat pada Gambar 3.39.
37
24) Menu Admin – Notifikasi
Pada halaman notifikasi, terdapat tabel berisi data notifikasi
yang masuk pada website, seperti notifikasi booking user.
Tampilan Notifikasi pada aplikasi ‘Booking Futsal’ dapat dilihat
pada Gambar 3.41.
3.4.4 API
Pengerjaan API ebooking Booking Futsal menggunakan konsep
Object Oriented Programming dengan PHP sebagai Bahasa
pemgrograman utama. Penjelasan tentang bagian-bagian apa yang
dikerjakan dalam website ini adalah sebagai berikut.
1) API Register
API register digunakan untuk melakukan proses pendaftaran
user baru. Tampilan Response API Register pada aplikasi
‘Booking Futsal’ dapat dilihat pada Gambar 3.42.
38
Gambar 3.42 Tampilan Response pada API Register
2) API Login
API Login digunakan untuk melakukan proses masuk user
pada aplikasi. Tampilan Response API Login pada aplikasi
‘Booking Futsal’ dapat dilihat pada Gambar 3.43.
39
Gambar 3.44 Tampilan Response pada API Resend Email
Verification
40
Update FCM pada aplikasi ‘Booking Futsal’ dapat dilihat pada
Gambar 3.46.
7) API Lapangan
API Lapangan akan mengembalikan response berupa semua
data lapangan yang terdaftar pada sistem. Tampilan Response API
Lapangan pada aplikasi ‘Booking Futsal’ dapat dilihat pada
Gambar 3.48.
41
Gambar 3.48 Tampilan Response pada API Lapangan
42
Gambar 3.50 Tampilan Response pada API Jenis Lapangan
43
Gambar 3.52 Tampilan Response pada API Tujuan Transfer
44
Gambar 3.54 Tampilan Response pada API Create Booking
45
Gambar 3.56 Tampilan Response pada API Detail Booking
46
Gambar 3.58 Tampilan Response pada API Fixture By Id
Lapangan And Date
47
BAB IV
PENUTUP
4.1 Kesimpulan
Kesimpulan yang dapat diambil dari Magang di CV. Techarea Indonesia
Jaya adalah :
1) Jam kerja di CV. Techarea Indonesia Jaya yaitu 09.00 – 17.00 WIB dan
harus tepat waktu saat jam masuk. Sehingga didalam dunia kerja
memiliki integritas dalam hal kedisiplinan waktu.
2) Magang di CV. Techarea Indonesia Jaya juga memberikan pelajaran
tentang target pekerjaan yang harus dicapai perharinya. Sehingga dalam
dunia kerja akan memberikan pelajaran tentang bagaimana agar target
tercapai.
3) Magang di CV. Techarea Indonesia Jaya harus menyesuaikan dengan
peraturan perusahaan hingga penyesuaian dengan sistem kerja
perusahaan. Sehingga dapat melatih untuk dapat beradaptasi di dunia
kerja.
4) Pembagian jenis tugas bagi peserta Magang, sesuai dengan minat
masing-masing peserta. Apabila peserta Magang minat pada website,
maka akan diberikan tugas seputar pembuatan website sehingga akan
lebih fokus dalam pengerjaannya.
4.2 Saran
Saran yang dapat diambil dari hasil Magang di CV. Techarea Indonesia
Jaya adalah :
1) Halaman admin website e-booking ‘Booking Futsal’ perlu dikembangkan
lagi, baik dari sistem, tampilan maupun fiturnya.
2) Penerapan backend API pada aplikasi e-booking Booking Futsal perlu
dikembangkan lagi menggunakan konsep bahasa pemrogaman lain
seperti Node.JS dan semacanya supaya pemrosesan data akan lebih
cepat.
48
DAFTAR PUSTAKA
https://medium.com/kode-dan-kodean/ekstensi-dan-tema-visual-studio-code-yang-saya-
gunakan-6c3555762816 diakses pada tanggal (20 Desember 2020)
https://www.jetorbit.com/blog/apa-itu-gitlab-serta-kelebihan-kekurangan-gitlab/ diakses
pada tanggal (20 Desember 2020)
https://pusher-community.github.io/real-time-laravel/introduction/what-is-
pusher.html diakses pada tanggal (20 Desember 2020)
49
LAMPIRAN
50
Lampiran 2 Dokumentasi PKL
51
Lampiran 3 Berita Acara Seminar PKL
52
Lampiran 4 Dokumentasi Seminar PKL
53