bab 3 pelaksanaan kerja magang 3.1 kedudukan dan …
TRANSCRIPT
5
BAB 3
PELAKSANAAN KERJA MAGANG
3.1 Kedudukan dan Koordinasi
Dalam pelaksanaan Kerja Magang, penulis berkedudukan sebagai web
programmer pada divisi IT PT. IntelliSys dengan supervisi Bapak Dede Mardi
selaku IT PT. IntelliSys. Bapak Dede Mardi selaku supervisi berperan memberikan
informasi, arahan serta bimbingan dalam mengembangkan web situs lowongan
kerja yang bernama Sisfoloker. Proses pengerjaan dan koordinasi dilakukan sesuai
dengan arahan dan instruksi dari Bapak Dede Mardi sesuai dengan kebutuhan dari
pihak manajemen PT. IntelliSys.
3.2 Tugas Kerja Magang
Selama periode Kerja Magang, terdapat beberapa hal yang dikerjakan
penulis. Pada tahap awal Kerja Magang berlangsung, penulis diperkenalkan oleh
supervisi mengenai aplikasi Sisfoloker yang akan dikembangkan, penjelasan
mengenai tugas yang harus dikerjakan, serta melakukan pengaturan awal untuk
mengerjakan pengembangan aplikasi Sisfoloker. Setelah pengaturan awal telah siap
digunakan, penulis bertugas melakukan beberapa pengembangan pada aplikasi
Sisfoloker yaitu:
• Perpindahan metode pengiriman email.
• Mengembangkan fitur search dan filter.
• Mengembangkan fitur login menggunakan Google Account.
• Mengembangkan fitur reschedule.
Proses pengembangan fitur aplikasi Sisfoloker dilakukan secara bertahap
mengikuti kebutuhan dan permintaan dari pihak manajemen yang disampaikan
melalui supervisi, oleh karena itu pada pelaksanaan Kerja Magang ini tidak bersifat
project based, melainkan lebih kepada pemberian tugas untuk mengembangkan
atau memperbaiki suatu fitur. Setiap fitur yang telah selesai dikerjakan atau
6
diperbaiki, akan diperiksa oleh supervisi yang kemudian diserahkan kembali ke
pihak manajemen. Selain mengembangkan aplikasi Sisfoloker, penulis juga
bertugas untuk merancang mockup sederhana mengenai Online Store.
3.3 Uraian Kerja Magang
Selama Kerja Magang berlangsung, terdapat beberapa pekerjaan yang harus
dilakukan. Tugas yang diberikan kepada penulis berdasarkan permintaan dari pihak
manajemen yang kemudian disampaikan melalui supervisi untuk penulis kerjakan.
Berikut merupakan uraian kerja magang pada PT. IntelliSys.
3.3.1 Proses Pelaksanaan
Sebelum melakukan proses pengembangan fitur aplikasi Sisfoloker,
supervisor memberikan penjelasan mengenai tool yang akan digunakan serta sistem
yang telah dibuat sebelumnya untuk mengembangkan aplikasi. Penulis mengawali
proses pengembangan fitur dengan mempelajari source code yang sudah dibuat
sebelumnya. Pembelajaran dilakukan untuk menambah wawasan dan pengetahuan
yang belum diketahui sebelumnya. Pemrograman pengembangan aplikasi
Sisfoloker berlangsung dari minggu ke-2 hingga minggu ke-9 sesuai dengan arahan
dari supervisi atas permintaan dari pihak manajemen. Paparan kegiatan yang
dilakukan selama Kerja Magang dapat dilihat pada Tabel 3.1.
Tabel 3.1 Paparan kegiatan Kerja Magang
Kegiatan Minggu
1 2 3 4 5 6 7 8 9
Perisapan Software
Perpindahan metode pengiriman email dari external library PHPMailer menjadi internal library Email Class Codeigniter
Pengembangan fitur search dan filter
Mengembangkan fitur login menggunakan Google Account
7
Tabel 3.1 Paparan kegiatan Kerja Magang (lanjutan)
Kegiatan Minggu
1 2 3 4 5 6 7 8 9
Merancang mockup
Percobaan API Google Plus dan Facebook API
Mengembangkan fitur reshcedule dan perbaikan Bug
3.3.2 Framework yang Digunakan
Sepanjang minggu pertama Kerja Magang, belum ada tugas yang diberikan
oleh supervisi. Pada minggu tersebut, penulis lebih banyak beradaptasi serta
mengenal framework yang digunakan pada aplikasi Sisfoloker. Framework adalah
kumpulan instruksi-instruksi yang dikumpulkan dalam class dan function-function
dengan fungsi masing-masing untuk memudahkan developer dalam memanggilnya
tanpa harus menuliskan syntax program yang sama berulang-ulang serta dapat
menghemat waktu (Destiningrum and Adrian, 2017). Framework yang digunakan
pada aplikasi Sisfoloker adalah Codeigniter 3. Codeigniter merupakan sebuah
framework untuk menciptakan aplikasi web PHP. Codeigniter merupakan produk
tidak berbayar untuk mengembangkan aplikasi berbasis PHP. Menggunakan
metodologi pendekatan pengembangan aplikasi dengan database yang disebut
konsep Model View Controller (MVC) (Vidal-Silva et al., 2020). Proses
pengembangan dilakukan menggunakan bahasa pemrograman PHP dan Javascript
beserta bahasa markah HTML dan CSS. Metode penyimpanan yang dilakukan
menggunakan database server phpMyAdmin.
3.3.3 Perpindahan Metode Pengiriman Email
Pada source code yang telah ada, untuk melakukan sebuah pengiriman
email, digunakan external library PHPMailer yang kemudian penulis ubah menjadi
menggunakan internal library Email Class yang telah disediakan oleh Codeigniter
3. Perpindahan library ini dilakukan atas permintaan supervisi dikarenakan
8
menurut supervisi lebih baik menggunakan library yang sudah ada pada framework
Codeigniter sehingga aplikasi dapat lebih ringan. Fitur pengiriman email sudah
terpasang pada beberapa modul sebelumnya yakni modul untuk pendaftaran
pelamar dan perusahaan baru, modul untuk permintaan memasang ulang kata sandi
pelamar dan perusahaan. Setelah penulis menyelesaikan tugas untuk melakukan
perpindahan metode pengiriman email pada modul yang sudah ada dan kemudian
sudah diterima oleh supervisi, penulis melanjutkan menambahkan fitur pengiriman
email pada modul lain yaitu modul untuk mengirimkan undangan interview, modul
untuk mengirimkan penerimaan dan penolakan pekerjaan, serta modul pengiriman
email verifikasi pembayaran paket promosi lowongan pekerjaan. Potongan source
code tentang pengiriman email untuk pendaftaran pelamar sebagai contoh
penggunaan internal library Email Class pada Codeigniter 3 dapat dilihat pada
Gambar 3.1. Sedangkan untuk hasil pengujian pengiriman email untuk pendaftaran
pelamar dapat dilihat pada Gambar 3.2.
Gambar 3.1 Source code Email Class Codeigniter 3
Gambar 3.2 Hasil pengujian pengiriman email
9
3.3.4 Mengembangkan Fitur Search dan Filter
Pada source code yang telah ada, sudah disediakan fitur untuk menampilkan
daftar pelamar, perusahaan, dan pekerjaan pada modul yang terpisah. Pada tahap
selanjutnya dikembangkan fitur search dan filter sederhana untuk daftar pelamar,
perusahaan, dan pekerjaan. Pengembangan fitur ini memanfaatkan penggunaan
fitur select database yang telah disediakan oleh framework Codeigniter 3. Untuk
mendapatkan hasil yang diinginkan, pengguna harus memasukkan kata kunci yang
diinginkan dan dapat menggunakan spasi untuk memisahkan kata kunci yang
berbeda. Setelah mendapat kata kunci, kemudian dilakukan pengambilan data dari
tabel yang dibutuhkan untuk pencarian data sesuai dengan kata kunci yang diterima.
Setelah mendapatkan data, maka hasil dikembalikan untuk ditampilkan pada antar
muka. Flowchart fitur search dan filter dapat dilihat pada Gambar 3.3.
Gambar 3.3 Flowchart fitur search dan filter pelamar
10
Gambar 3.4 Source code fitur search dan filter pelamar
Pada Gambar 3.4 menunjukkan potongan source code fitur search dan filter
untuk mendapatkan data pelamar sesuai dengan kata kunci berupa keterampilan
dari pelamar atau nama depan pelamar atau nama belakang pelamar. Setelah
mendapatkan hasil pencarian dari kata kunci, maka data akan ditampilkan pada
halaman pencarian. Untuk contoh hasil pengujian fitur search dan filter yang
diperoleh dengan kata kunci “dede” dan “c#” dapat dilihat pada Gambar 3.5.
Gambar 3.5 Hasil pengujan fitur search dan filter
11
3.3.5 Mengembangkan Fitur Login Menggunakan Google Account
Untuk dapat login menggunakan Google Account, pada fitur ini dibutuhkan
external library Google OAuth 2.0 untuk mengakses Google API. Untuk panduan
penggunaan external library Google OAuth 2.0 didapatkan dari dokumentasi yang
telah diberikan oleh Google Developers. Pada Gambar 3.6 dapat dilihat sequence
diagram dari Google OAuth 2.0 untuk aplikasi web. Untuk menggunakan Google
API dibutuhkan suatu token atau kunci untuk berinteraksi menggunakan layanan
dari Google API.
Gambar 3.6 Sequence diagram Google OAuth 2.0
Fitur untuk login menggunakan Google Account memiliki beberapa
keuntungan. Menurut pihak manajemen dan supervisi, salah satu mengapa
diperlukan fitur ini dan menjadikan keuntungan bagi Sisfoloker yaitu pada saat ini
sudah banyak orang yang menggunakan jasa layanan Google seperti Gmail untuk
melakukan transaksi surat elektronik (email) maupun melakukan hal lainnya seperti
penggunaanYoutube untuk hiburan atau Google Maps untuk membantu navigasi
yang juga menggunakan layanan Google. Maka dari itu pemanfaatan layanan
Google yaitu login menggunakan Google Account akan mempermudah pengguna
yakni pelamar untuk dapat mendaftar dan masuk pada aplikasi Sisfoloker.
Untuk dapat login menggunakan Google Account, yang pertama kali
dilakukan oleh pelamar adalah dengan memasukkan email serta kata sandi dari
Google Account pelamar. Kemudian sistem akan melakukan verifikasi email dan
12
kata sandi dengan Google API. Setelah verifikasi selesai maka sistem akan
melakukan pemeriksaan pada basis data Sisfoloker apakah pelamar sudah terdaftar
atau belum, apabila belum terdaftar maka data pelamar yang diterima dari Google
API akan disimpan pada basis data Sisfoloker, kemudian mengirimkan email untuk
verifikasi pendaftaran, lalu akan masuk ke halaman utama. Apabila sudah terdaftar,
maka sistem akan mengambil data pelamar dari basis data Sisfoloker, kemudian
masuk ke halaman utama. Penjelasan alur mengenai fitur login menggunakan
Google API digambarkan melalui flowchart fitur login menggunakan Google
Account yang dapat dilihat pada Gambar 3.7.
Gambar 3.7 Flowchart fitur login menggunakan Google Account
13
Pada source code sebelumnya, telah tersedia fitur login untuk pelamar yang
sudah mendaftar pada formulir pendaftaran terlebih dahulu, maka dari itu fitur login
menggunakan Google Account dikembangkan dari source code fitur login yang
sudah tersedia. Potongan source code untuk fitur login menggunakan Google
Account dapat dilihat pada Gambar 3.8.
Gambar 3.8 Source code untuk fitur login menggunakan Google Account
14
3.3.6 Mengembangkan Fitur Reschedule
Fitur reschedule merupakan fitur yang berfungsi bagi pelamar untuk
melakukan permintaan penjadwalan ulang wawancara yang telah ditentukan oleh
pihak perusahaan yang membuka lowongan pekerjaan. Tautan untuk mengakses
halaman ini sudah tersemat pada email undangan wawancara yang telah dikirimkan
secara otomatis dari aplikasi ketika perusahaan telah melakukan masukan pada
formulir menentukan jadwal wawancara untuk pelamar. Pada source code
sebelumnya, fitur reschedule hanya menampilkan halaman kosong, untuk itu
penulis diberikan tugas untuk menambahkan formulir untuk pelamar melakukan
permintaan penjadwalan ulang wawancara. Pengembangan fitur ini menggunakan
metode post pada formulir yang tersedia. Pada Gambar 3.9 dapat dilihat potongan
source code untuk bagian back end fitur reschedule, dan untuk potongan source
code front end dari fitur reschedule dapat dilihat pada Gambar 3.10.
Gambar 3.9 Back end fitur reschedule
15
Gambar 3.10 Front end fitur reschedule
16
Gambar 3.11 Tampilan fitur reschedule
Hasil tampilan dari fitur reschedule dapat dilihat pada Gambar 3.11. Untuk
pengembangan fitur reschedule, penulis hanya diberi tugas hingga menampilkan
formulir untuk pelamar melakukan penjadwalan ulang wawancara. Setelah
melakukan penjadwalan ulang wawancara, perubahan jadwal wawancara akan
diperbaharui dan disimpan pada basis data.
3.3.7 Mockup Online Store
Salah satu tugas yang dikerjakan dalam masa Kerja Magang yakni membuat
suatu rancangan desain tampilan (mockup) untuk aplikasi Online Store. Penulis
membuat mockup halaman utama dan halaman hasil pencarian sebanyak tiga model
atas permintaan supervisi. Halaman utama pada mockup merupakan halaman yang
pertama kali muncul saat membuka aplikasi, sedangkan halaman hasil pencarian
merupakan halaman yang akan muncul ketika pengguna memasukkan kata kunci
pada formulir kolom pencarian. Untuk halaman utama model mockup pertama
dapat dilihat pada Lampiran 8.1 dan halaman hasil pencarian model mockup
pertama pada Lampiran 8.2. Halaman utama model mockup kedua dapat dilihat
pada Lampiran 8.3 dan halaman hasil pencarian model mockup kedua pada
Lampiran 8.4. Untuk halaman utama model mockup ketiga dapat dilihat pada
Lampiran 8.5 dan halaman hasil pencarian model mockup ketiga pada Lampiran
8.6.
3.3.8 Kendala yang Ditemukan
Selama masa Kerja Magang yang dilakukan, terdapat beberapa kendala
yang ditemukan. Salah satu dari kendala yang ada ialah penulis membutuhkan
17
waktu untuk beradaptasi di tempat magang yakni lingkungan kerja, rekan kerja,
serta sistem maupun perangkat yang ada pada PT. IntelliSys. Kendala selanjutnya
adalah penulis harus mempelajari terlebih dahulu source code pada aplikasi
Sisfoloker yang sebelumnya telah dikembangkan oleh tim IT PT. IntelliSys, hal
tersebut cukup menyita banyak waktu. Selain itu tugas yang diberikan dapat
berubah sewaktu-waktu. Pada proses pengerjaan tugas yang diberikan, terdapat
kendala seperti kurang memahami serta tidak terlalu hafal terhadap syntax atau tata
cara penulisan kode untuk mengembangkan aplikasi Sisfoloker.
3.3.9 Solusi Atas Kendala yang Ditemukan
Dari kendala yang ditemukan, terdapat beberapa solusi untuk mengatasinya.
Untuk kendala beradaptasi, penulis menemukan solusinya yaitu dengan berusaha
aktif bersosialisasi dan membuka diri dengan rekan kerja serta lingkungan sekitar.
Solusi untuk mempelajari source code pada aplikasi Sisfoloker yang telah
dikembangkan yakni penulis mencoba melakukan percobaan pada aplikasi untuk
mendapatkan gambaran besar dari aplikasi yang telah dikembangkan. Selain itu
penulis juga aktif bertanya dan mencatat bagian yang sulit dipahami kepada
supervisi untuk mempercepat proses pembelajaran source code pada aplikasi
Sisfoloker.
Pada kendala tugas yang diberikan dapat berubah sewaktu-waktu, penulis
menemukan solusi yaitu dengan mencatat segala pengembangan yang telah
dilakukan oleh penulis kemudian membuat salinan cadangan source code aplikasi
secara berkala. Selain itu penulis juga mencatat segala tugas beserta tanggal batas
waktu yang diberikan. Untuk kendala kurang memahami serta tidak terlalu hafal
terhadap tata cara penulisan kode, penulis menemukan solusi yakni dengan
membaca dokumentasi framework yang digunakan dan berdiskusi dengan supervisi
untuk mendapatkan hasil yang lebih baik.