LAPORAN PRAKTIK KERJA LAPANGAN (PKL)
PT AKINDO KARYA GEMILANG - AKASTRA TOYOTA
LOREM IPSUM DOLOR SIT AMET ADIPACING IPSUM
ELIT. LOREM IPSUM DOLOR
Disusun oleh:
Nama : Andika Dwi Saputra
NISN : 0051433186
Kelas : XIII SIJA 2
KOMPETENSI KEAHLIAN SISTEM INFORMATIKA JARINGAN
DAN APLIKASI
SMK NEGERI 1 PUNGGELAN
2024
LEMBAR PENGESAHAN
Laporan ini dibuat dan diuraikan sebagai syarat kelengkapan dan bukti
ketuntasan kegiatan Praktik Kerja Lapangan (PKL) Kompetensi Keahlian Sistem
Informatika Jaringan dan Aplikasi (SIJA), SMK Negeri 1 Punggelan tahun ajaran
2023/2024.
Oleh :
Nama : Andika Dwi Saputra
NIS : 4499
Kelas : XIII SIJA 2
Telah disetujui dan disahkan oleh :
Banjarnegara, …. April 2024
HRD Akastra Toyota Pembimbing PKL
Irwan Widiastono Mohamad Faid Fadjri
Kepala SMKN 1 Punggelan Ketua Kompotensi SIJA
Drs. Supriyadi, MM Sri Herawan Kusuma, [Link].
NIP. 19660128 199302 1002 NIP. 10780816 201101 1007
1
KATA PENGANTAR
Puji syukur penulis panjatkan Kepada Allah Swt atas rahmat dan hidayah-Nya,
sehingga dalam penyusunan laporan Praktik Kerja Lapangan (PKL) yang berjudul
“Lorem ipsum dolor sit amet adipacing elit” dapat selesai tepat waktu. Laporan ini
disusun sebagai syarat wajib dalam melengkapi kegiatan Praktik Kerja Lapangan (PKL)
di PT Akindo Karya Gemilang – Akastra Toyota, Jakarta Barat.
Ada kebanggaan tersendiri jika kegiatan Praktik Kerja Lapangan (PKL) ini dapat
selesai dengan hasil yang baik. Laporan Praktik Kerja Lapangan (PKL) ini pada akhirnya
dapat diselesaikan dengan baik tentulah karena peran, bantuan serta dukungan dari
berbagai pihak yang ikut berpartisipasi di dalamnya.
Untuk itu, penulis sampaikan rasa terima kasih kepada seluruh pihak yang telah
membantu. Diantaranya ialah :
1. Bapak Djurino Sutardjo selaku Operational Manager dari Akastra Toyota.
2. Bapak Mohamad Faid Fadjri selaku pembimbing PKL & Business Development
dari Akastra Toyota.
3. Bapak Drs. Supriyadi selaku Kepala SMKN 1 Punggelan.
4. Bapak Sri Herawan Kusuma, [Link]. selaku Ketua Kompetensi Sistem
Informatika Jaringan dan Aplikasi.
5. Bapak/Ibu Guru dari Kompetensi Sistem Informatika Jaringan dan Aplikasi.
6. Orang tua.
Tidak ada yang dapat penulis berikan selain doa serta rasa terima kasih yang tulus
kepada para pendukung.
Banjarnegara, …. April 2024
Penulis
1
BAB I
PENDAHULUAN
A. Latar Belakang
Dalam mengelola database perusahaan, penting untuk memastikan kunci
efisiensi dan efektivitas bisnis. Oleh karena itu, penggunaan Relational Database
Management System (RDBMS) menjadi hal yang sangat vital. RDBMS adalah
perangkat lunak yang memungkinkan pembuatan, akses, modifikasi, dan kontrol
atas database perusahaan. Selain itu, RDBMS juga berperan melindungi data
perusahaan dari ancaman seperti kerusakan atau pencurian. Dengan
menggunakan kueri SQL, perusahaan dapat memfilter data yang diperlukan saja,
meningkatkan akurasi dan efisiensi pengelolaan data.
Pentingnya visualisasi database juga tidak dapat diabaikan. Dengan
visualisasi, perusahaan dapat dengan mudah memantau, mengevaluasi, dan
bahkan memprediksi operasional perusahaan ke depannya. Visualisasi
memungkinkan pemahaman yang lebih baik terhadap struktur dan hubungan
antar data, sehingga memudahkan dalam pengambilan keputusan strategis. Para
pemangku kepentingan, seperti manajer dan analis, dapat secara intuitif
memahami tren, pola, dan gagasan penting dari data perusahaan.
Dalam konteks implementasi, konsep API Gateway dan MasterDatabase di
hosting menjadi solusi untuk menghubungkan database lokal perusahaan secara
daring melalui REST API. MasterDatabase, yang dikembangkan menggunakan
Laravel, akan divisualisasikan menggunakan teknologi web. Hal ini
memungkinkan pemantauan dan evaluasi operasional perusahaan dengan lebih
efektif.
Pada sisi teknis, NodeJS digunakan pada Server Lokal Perusahaan. NodeJS
mengirimkan data secara konstan ke MasterDatabase dengan dukungan aplikasi
24/7 menggunakan ExpressJS dan PM2. Selain itu, jadwal pengiriman otomatis
diatur melalui cron job untuk memastikan kelancaran operasional.
Dengan struktur yang terorganisir melalui API Gateway, MasterDatabase,
dan penggunaan teknologi web, perusahaan dapat memanfaatkan data dengan
lebih efisien dan mengambil keputusan yang lebih tepat waktu.
B. Rumusan masalah
1. Bagaimana mengakses database dan folder dari PC Server melalui PC
Client(Laptop Pribadi) menggunakan FTP, SSH, dan IPAddress?
2. Bagaimana menyusun query kompleks untuk mendapatkan data yang valid
dan sesuai dengan data asli operasional perusahaan?
1
3. Bagaimana membuat aplikasi yang bisa untuk mengirimkan data dari DMS
Staging ke MasterDatabase dengan struktur folder dan kode yang rapi dan
mudah untuk dikembangkan lagi kedepannya?
4. Bagaimana membuat MasterDatabase untuk menampung data operasional
perusahaan secara daring dan melindungi datanya dengan keamanan yang
terjamin dari pihak ketiga?
5. Bagaimana membuat API Gateway untuk jalur masuk data dari DMS Staging
ke MasterDatabase?
6. Bagaimana membuat PC Server mengirimkan data secara konstan dan
terjadwal secara otomatis serta bisa selalu berjalan 24/7?
7. Bagaimana menghubungkan dan membagikan data dari MasterDatabase
dengan database dari aplikasi lain yang sedang live?
8. Bagaimana membuat API dari MasterDatabase yang bisa di akses oleh
aplikasi lain yang ingin mendapatkan data dari MasterDatabase dengan
menggunakan fetch data?
C. Batasan Masalah
1. PC Server yang tidak bisa diakses setiap saat dikarenakan PC Server
digunakan oleh IT Head Akastra Toyota.
2. Struktur dan relasi tabel yang sangat kompleks membuat waktu pembuatan
query menjadi cukup lama.
3. Redundansi pada database DMS Staging membuat pembuatan query menjadi
cukup sulit dikarenakan harus menambahkan banyak kondisi untuk
memfilter data yang tidak diperlukan.
4. Data dari DMS Staging bukan data realtime, sehingga memerlukan waktu
beberapa jam untuk mendapatkan data operasional yang sedang berjalan.
5. Dikarenakan keterbatasan waktu, proyek kali ini baru menambahkan data
unit entry (data unit yang masuk), revenue (pendapatan), dan cpus (data unit
yang sudah dibayar).
6. Maintenance aplikasi masih manual dengan melakukan pengecekan berkala
dari file log yang mencatat aktivitas dari aplikasi saat mengirim/menerima
data.
7. PC Server tidak support environment Docker dikarenakan PC Server
menggunakan OS Windows Server 2012 R2 yang tidak kompatible dengan
Docker Engine.
D. Tujuan
1. Membangun Master Database yang merupakan penampungan data dari
Database DMS Staging yang bisa diakses secara daring dan diakses oleh
aplikasi lain yang memerlukan data dari DMS Staging.
1
2. Membuat koneksi antara PC Server Akastra dengan PC Pribadi menggunakan
SSH (Secure Shell) dan menggunakan FTP (File Transfer Protocol) untuk
mengirimkan file/folder dari PC Pribadi ke PC Server dan sebaliknya.
3. Menciptakan RDBMS yang menerapkan Database Normalization 4NF (Fourth
Normal Form) dengan menghapus segala kemungkinan redundancy data.
4. Meningkatkan efisiensi dan kecepatan kueri pada saat pengambilan data oleh
aplikasi lain melalui API. Sehingga aplikasi yang membuat request data bisa
berjalan dengan lebih ringan dari sebelumnya.
5. Memvisualisasikan data aktual dari database dengan data target operational
dalam bentuk chart pada Dashboard.
E. Manfaat
1
BAB II
TINJAUAN PUSTAKA
A. Profil Perusahaan
Gambar 2.1 Foto PT. Akindo Karya Gemilang
PT. Akindo Karya Gemilang (AKASTRA) adalah anak dari perusahaan
ASTRA yang dimana perusahaan ini memiliki beberapa anak cabang lainnya.
ASTRA didirikan pada tanggal 20 Februari 1957 oleh almarhum Tjia Kian Tie dan
Wiliam Soeryadjaya. Pertama klai beroperasi sebagai perdagangan produk
pertanian kecil tegas. Saat ini, Astra adalah perusahaan publik penuh dengan
total sebanyak 92.546. ………….
……….
PT. Akindo Karya Gemilang yang selanjutnya disingkat atau disebut
dengan PT. AKASTRA adalah perusahaan yang bergerak dalam bidang service
mobil secara berkala dan penjualan suku cadang termasuk ke dalam perusahaan
jasa, yaitu perusahaan yang kegiatannya melakukan service pada mobil-mobil,
dan menjual suku cadang yang dibutuhkan pelanggan.
PT. AKASTRA sebelumnya bergabung dengan Bengkel Astra Motor Sales
selama kurang lebih 5 tahun yaitu tahun 1982 sampai dengan 1987 dengan
nama Bengkel Astra Motor Sales. Selanjutnya tahun 1987 Bengkel Astra Motor
1
Sales berdiri sendiri dengan nama Bengkel Akastra Motor Sales atau lebih
dikenal dengan sebutan Akastra Toyota serta sudah mendapat Sertifikat Body &
Paint dari PT. Toyota Astra Motor National Service Division maupun dari Toyota
Motor Corporation Jepang.
B. Landasan Teori
1. Database
Database adalah kumpulan informasi yang disimpan di dalam komputer
secara sistematik sehingga dapat diperiksa menggunakan suatu program
komputer untuk memperoleh informasi dari basis data tersebut. Database
adalah representasi kumpulan fakta yang saling berhubungan disimpan
secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang
tidak perlu, untuk memenuhi berbagai kebutuhan.
2. Microsoft SQL Server
SQL Server adalah sistem manajemen basis data relasional (RDBMS) yang
dikembangkan dan didistribusikan oleh Microsoft. SQL Server dibangun di
atas SQL, bahasa pemrograman standar untuk berinteraksi dengan database
relasional. SQL Server terdiri dari beberapa komponen seperti database
engines, analysis services, integration services dan lain-lain.
Gambar 2.2 Logo Microsoft SQL Server
3. SQL Query
Query adalah syntax atau perintah yang digunakan untuk mengakses dan
menampilkan data pada sistem database. Query memiliki kemampuan untuk
mengatur data mana yang perlu ditampilkan sesuai dengan yang kita
inginkan. Selain itu, query dapat dipakai untuk membuat data dapat saling
berinteraksi.
4. Windows Server
Windows Server adalah suatu merek (brand) sistem operasi server yang
dikembangkan oleh Microsoft Corporation yang mendukung manajemen
tingkat enterprise, penyimpanan data, aplikasi, dan komunikasi. Windows
1
server ini berperan sebagai server atau data center yang berperan
dalam pengelolaan jaringan server.
5. SSH (Secure Shell)
SSH adalah protokol keamanan untuk mengakses komputer dari tempat
lain secara aman. Memungkinkan pengguna terhubung ke komputer jarak
jauh melalui jaringan, memberikan akses ke antarmuka baris perintah atau
layanan lainnya. Keamanan menjadi fokus utama dalam SSH, memastikan
enkripsi data untuk melindungi informasi sensitif dari potensi serangan pihak
ketiga. Pada proyek kali ini SSH akan digunakan untuk mengakses Hosting
dan PC Server dari laptop pribadi.
6. FTP (File Transfer Protocol)
File Transfer Protocol (FTP) adalah protokol komunikasi standar yang
digunakan untuk mentransfer file antara perangkat di dalam jaringan
komputer. FTP memungkinkan pengguna untuk mengunggah (upload) atau
mengunduh (download) file dari atau ke server, sehingga memungkinkan
pertukaran data antar sistem. Pada proyek kali ini, FTP akan digunakan
untuk mengupload kodingan terbaru, baik ke Hosting atau ke PC Serevr.
7. NodeJS
[Link] adalah package yang membuat kita bisa menjalankan kode
JavaScript di sisi server. Dengan dukungan untuk pemrograman asynchronus
dan konsep berbasis event, [Link] sangat cocok untuk aplikasi yang
membutuhkan responsivitas real-time. Manajemen paketnya yang mudah
melalui NPM (Node Package Manager) membuatnya ramah bagi developer.
Gambar 2.3 Logo NodeJS
8. ORM (Object Relational Mapping)
ORM mempermudah developer berinteraksi dengan database melalui
representasi objek dalam bahasa pemrograman. Dengan ORM, tabel-tabel
dalam database terhubung ke objek dalam kode, menyederhanakan kueri
SQL dan memungkinkan manipulasi data intuitif melalui objek dan method.
1
Ini meningkatkan efisiensi pengembangan aplikasi serta memfasilitasi
integrasi antara dunia objek dan relational database. Untuk proyek ini, saya
akan menggunakan PRISMA ORM.
Gambar 2.4 Ilustrasi Object Relational Mapping
9. PM2
PM2 adalah library dari JavaScript yang memungkinkan aplikasi kita
berjalan 24/7. Sebagai manajer proses production khusus untuk aplikasi
[Link], PM2 memungkinkan pengelolaan dan pemantauan yang efisien
terhadap aplikasi kita. Dengan fitur-fitur seperti reload otomatis, logging, dan
clustering, PM2 tidak hanya meningkatkan kinerja, tetapi juga memberikan
keandalan ekstra pada aplikasi [Link] kita.
[Link] Job
Cron Job adalah mekanisme pada sistem operasi Unix yang
memungkinkan pengguna menjadwalkan tugas-tugas otomatis sesuai waktu
atau interval tertentu. Dengan cron job, pengguna dapat mengeksekusi code
atau perintah pada jadwal harian, mingguan, atau interval yang ditentukan,
memberikan cara efisien untuk tugas berkala tanpa campur tangan manual.
[Link]
Postman adalah software yang digunakan oleh developer untuk
merancang, menguji, dan mengelola API. Ini membantu developer membuat
dan menguji HTTP Request ke API, memastikan bahwa API berfungsi dengan
baik dan sesuai dengan kebutuhan aplikasi yang sedang dikembangkan.
1
Gambar 2.5 Logo Postman
12. Laravel
Laravel adalah framework PHP yang memungkinkan kita untuk membuat
aplikasi fullstack dengan mudah, serta memfasilitasi pengembangan REST
API. Dengan sintaks yang ekspresif dan fitur-fitur modern, Laravel
menyediakan alat yang powerful untuk mempercepat proses pengembangan.
Dukungan untuk ORM, sistem routing yang terstruktur, templating Blade, dan
Eloquent menjadikan Laravel digunakan untuk proyek kali ini.
Gambar 2.6 Logo Laravel
13. GitHub
GitHub adalah website yang digunakan untuk menyimpan dan mengelola
kode suatu project. Kita dapat membuat atau mengupload kode kita ke
server GitHub dan kemudian melakukan coding secara online. GitHub juga
memungkinkan kita untuk melakukan proses deployment secara otomatis
menggunakan FTP, yang kita akan gunakan nanti.
Gambar 2.7 Logo GitHub
1
14. Visual Studio Code
Visual Studio Code atau biasa di singkat dengan VS Code adalah sebuah
text editor open source yang dikembangkan oleh Microsoft Corp. Memberikan
pengalaman pengembangan yang ringan, cepat, dan terstruktur, membuat VS
Code digunakan pada proses pengembangan pada proyek kali ini.
BAB III
METODE PENELITIAN
A. Alat dan Bahan
1. Hardware
a. Laptop Pribadi (1)
b. PC Server
2. Software
a. Windows Server 2012 R2
b. Visual Studio Code
c. SQL Server Management Studio
d. Postman
e. Powershell
f. GitHub
g. Web DMS
h. Web Browser
3. Stack
a. NodeJS v18.17.0
b. Laravel 10
c. JavaScript
d. PHP
4. Library
a. axios
b. express
c. node-scheduler
d. pm2
B. Alur Pengerjaan
1. Urutan Pengerjaan
a. Perencanaan
1) Identifikasi struktur aplikasi yang sudah ada.
2) Membuat perencanaan projek dan tujuan yang ingin di capai.
3) Menentukan stack/software yang akan digunakan.
4) Merancang struktur sistem dari projek yang akan dibuat.
b. Desain
1
1) Merancang flow koneksi dari API.
2) Merancang struktur folder.
3) Menentukan metode sharing database antar aplikasi.
4) Merancang sistem keamanan untuk database.
5) Menentukan metode untuk maintenance aplikasi ketika sudah
production.
c. Implementasi
1) Installasi SSH dan FTP Server pada PC Server.
2) Membuat koneksi antara PC Server dengan PC Client(Laptop Pribadi)
untuk proses development, menggunakan SSH dan FTP Server.
3) Membuat API Gateway dan Database Master menggunakan Laravel.
4) Membuat aplikasi NodeJS di PC Server yang akan mengirim data secara
konstan menggunakan Cron Job melalui API Gateway Database Master.
5) Membuat logs file untuk memantau proses yang terjadi pada kedua
aplikasi.
6) Membuat aplikasi bisa autostart ketika PC Server mati.
d. Pengujian
1) Melakukan test API menggunakan Postman.
2) Menguji koneksi DMS Staging dengan Database Master dalam server
lokal (Laptop Pribadi).
3) Memastikan data yang masuk ke Database Master valid.
e. Deployment
1) Memindahkan aplikasi DMS Staging dan menjalankannya di PC Server.
2) Deploy aplikasi Database Master ke hosting Akastra menggunakan
GitHub action dan FTP (File Transfer Protocol).
3) Memastikan kedua aplikasi Go Live.
f. Maintenance
1) Pengecekan berkala log file pada aplikasi DMS Staging.
2) Memastikan data valid.
g. Pengembangan
1) Menambahkan fitur custom untuk mengirim data ke API baru, dengan
menambahkan fitur tersebut pada folder “/Src/Services”.
2) Menambahkan fitur untuk mengirim pesan error menggunakan API
Email supaya ketika ada error, developer akan mendapatkan
notifikasi.
2. Perancangan Sistem
3. Struktur Folder
1
Gambar 2.8 Struktur Folder Aplikasi DMS Staging
4. Arsitektur Sistem
Gambar 2.9 Arsitektur sistem Master Database
1
C. Langkah-langkah
1. Konfigurasi SSH Server
a. Test
b. Test
c. Test
2. Konfigurasi FTP Server
a. Test
b. Test
c. Test
3. Mengkoneksikan Database di sisi Client Menggunakan IP Address
a. Test
b. Test
c. Test
4. Membuat query
a. Test
5. Membuat Aplikasi
a. Test
6. Membuat Master Database
a. Test
7. Testing
a. Test
8. Deployment
a. Test
9. Maintenance
a. Test
BAB IV
HASIL DAN PEMBAHASAN
BAB V
PENUTUP