Disusun Oleh:
Dosen Pembimbing:
FAKULTAS TEKNIK
PROGRAM STUDI TEKNIK INFORMATIKA
UNIVERSITAS 17 AGUSTUS 1945 SURABAYA
2019
LEMBAR PENGESAHAN
i
KATA PENGANTAR
Syukur Alhamdulillah kami panjatkan atas kehadirat Allah SWT karena atas
rahmat dan hidayah-Nya kami dapat menyelesaikan proposal pengajuan kegiatan
Kerja Praktek (KP) dengan benar sesuai yang diharapkan. Proposal yang kami
ajukan ini berisikan tentang informasi pokok yang berkaitan dengan pelaksanaan
Kerja Praktek (KP) yang akan kami selenggarakan.
Demikian yang dapat kami sampaikan, semoga proposal yang kami ajukan
ini dapat menjadi bahan pertimbangan bagi pimpinan dan seluruh jajaran di
AKSAMEDIA untuk memberikan kesempatan kepada kami untuk dapat
melaksanakan kegiatan Kerja Praktek (KP) pada bidang yang kami pelajari (teknik
informatika) di kantor AKSAMEDIA yang Bapak/Ibu pimpin.
Penulis
ii
DAFTAR ISI
BAB I ........................................................................................................... 1
BAB II .......................................................................................................... 5
2.3.3. API.........................................................................................14
BAB III....................................................................................................... 16
iii
3.1.2. Postman .................................................................................17
iv
3.4.16. Member Update PIN............................................................37
BAB IV ...................................................................................................... 39
LAMPIRAN ............................................................................................... 41
v
DAFTAR GAMBAR
vi
DAFTAR TABEL
vii
Table 3. 31 Params API Member logout ................................................................34
Table 3. 32 Endpoint API Member cancel verification reset phone number .........35
Table 3. 33 Headers API Member cancel verification reset phone number ..........35
Table 3. 34 Params API Member cancel verification reset phone number ............35
Table 3. 35 Endpoint API Member history ............................................................35
Table 3. 36 Headers API Member history .............................................................36
Table 3. 37 Params API Member history ...............................................................36
Table 3. 38 Endpoint API Member detail point .....................................................36
Table 3. 39 Headers API Member detail point ......................................................36
Table 3. 40 Params API Member detail point ........................................................36
Table 3. 41 Endpoint API Member edit PIN..........................................................37
Table 3. 42 Headers API Member edi PIN ............................................................37
Table 3. 43 Body API Member edit PIN................................................................37
Table 3. 44 Endpoint API Member update PIN .....................................................37
Table 3. 45 Headers API Member update PIN ......................................................38
Table 3. 46 Params API Member update PIN ........................................................38
viii
BAB I
PENDAHULUAN
Kerja Praktek (KP) adalah salah satu syarat kelulusan yang harus
ditempuh mahasiswa program Sarjana yang memberi kesempatan kepada
mahasiswa untuk terjun dalam dunia kerja di instansi pemerintahan atau
swasta sesuai dengan program studinya. Dengan bekal ilmu yang telah kami
dapatkan di program studi teknik informatika Universitas 17 Agustus 1945,
kami berharap akan dapat lebih memahami ilmu yang telah kami dapatkan
dengan terjun langsung di perusahaan melalui kegiatan Kerja Praktek.
Sehingga dengan pengalaman yang nantinya diperoleh mahasiswa dalam
kegiatan tersebut dapat memberikan nilai tambah (added value) yang akan
menjadi modal dan bekal kami untuk bersaing dalam dunia kerja.
Oleh karenanya kami mencoba merealisasikan dan meningkatkan
added value baik pada hard skills serta soft skills yang telah kami pelajari
dan kuasai melalui kegiatan Kerja Praktek (KP) di kantor AKSAMEDIA.
Sehingga dengan melaksanakan kegiatan Kerja Praktek di perusahaan
tersebut secara langsung kami dapat menyalurkan ilmu dan keterampilan
kami pada bidang teknik informatika serta mempelajari dan menimba ilmu
pada bagian teknik informatika yang diterapkan oleh AKSAMEDIA.
1.2. Tujuan
1.3. Manfaat
2
b. Memberikan (added value) berupa wawasan, pengetahuan, dan
pengalaman sebagai generasi muda terdidik Indonesia yang
nantinya akan berkontribusi dan terjun langsung pada dunia kerja
c. Mengetahui secara langsung masalah-masalah IT dan solusi
penyelesaian yang harus dilakukan
d. Memperoleh pengalaman kerja dan mengetahui bagaimana
penerapan IT di kantor AKSAMEDIA
3. Bagi AKSAMEDIA:
a. Membagi pengetahuan pada para mahasiswa untuk mengetahui
kinerja di perusahaan
b. Memberikan peran dan kontribusi positif kepada masyarakat dan
mahasiswa, khususnya dalam membangun dan meningkatkan
kualitas sumber daya manusia Indonesia sebagai generasi muda
penerus bangsa
c. Sebagai sarana media untuk meningkatkan kerjasama antara
AKSAMEDIA dengan Universitas 17 Agustus 1945
d. Sebagai sarana untuk memberikan kriteria tenaga kerja dan kualitas
yang dibutuhkan oleh perusahaan atau badan usaha terkait
3
1.4. Waktu dan Tempat Pelaksanaan
4
BAB II
DESKRIPSI KEGIATAN
Aksamedia berasal dari dua kata dasar, yaitu aksara dan media.
Aksara dalam bahasa Sanskerta berarti penglihatan yang dimaksudkan
dengan tajam dalam melihat setiap peluang sedangkan media adalah sarana
komunikasi.
5
Pada akhirnya, perusahaan ini memutuskan untuk memulai
segalanya mulai dari nol pada pertengahan September 2012. Dimulai dari
membuat portofolio dan menawarkan portofolio tersebut pada banyak klien,
hingga mulai mencari karyawan yang berpotensi baik yang dimasukkan ke
dalam daftar tim. Semangat dalam membangun ulang ini dilanjutkan dengan
pemberian nama baru untuk perusahaan tersebut. Pada akhirnya pilihan
jatuh pada nama Aksamedia yang berada dibawah naungan CV. Malta 99.
Pemberian nama baru sekaligus membuat keputusan untuk memfokuskan
ranah kerja dalam bidang Web System saja.
6
2.2. Infrastruktur Perusahaan
i. Founder Perusahaan
1. Hak
a. Mengkoordinasikan dan mengendalikan kegiatan-
kegiatan dibidang administrasi keuangan,
kepegawaian, dan kesekretariatan
b. Meminta laporan secara periode mengenai
pelaksanaan pekerjaan yang telah dilakukan oleh
penyedia jasa
c. Ikut mengawasi jalannya pelaksanaan pekerjaan yang
direncanakan
7
2. Wewenang
a. Menyediakan fasilitas baik berupa sarana dan
prasarana yang dibutuhkan untuk kelancaran
pekerjaan
b. Menyediakan lahan untuk pelaksanaan pekerjaan
c. Menyediakan dana dan kemudian membayar kepada
pihak penyedia jasa sejumlah biaya yang diperlukan
untuk mewujudkan sebuah bangunan
d. Bertindak sebagai perwakilan organisasi dalam
hubungannya dengan dunia luar
e. Menerima dan mengesahkan pekerjaan yang telah
selesai dilaksanakan oleh penyedia jasa jika
produknya telah sesuai dengan apa yang dikehendaki
8
b. Membagi tugas kepada programmer dan desainer
apabila terdapat proyek masuk
2. Wewenang
a. Membangun atau mengembangkan software terutama
tahap construction dengan melakukan coding dengan
bahasa pemrograman yang ditentukan
b. Mengimplementasikan requirement dan proses bisnis
ke komputer dengan menggunakan algoritma logika
dan bahasa pemrograman
iv. Programmer
1. Hak
a. Melakukan proses coding dengan bahasa
pemrograman web sesuai kemampuan.
2. Wewenang
a. Membangun atau mengembangkan software terutama
tahap construction dengan melakukan coding dengan
bahasa pemrograman web.
b. Mengimplementasikan requirement dan bisnis proses
bisnis ke komputer dengan menggunakan algoritma
atau logika dan bahasa pemrograman.
v. Desainer
1. Hak
a. Berhak mengembalikan atau membatalkan tugas
yang diberikan kepadanya dengan alasan sebagai
berikut
b. Bila pekerjaan tersebut melanggar kode etik desain
c. Terjadinya hal diluar kekuasaan kedua belah pihak
(tidak keluarnya izin untuk pembangunan, bencana
alam, dan sebagainya)
d. Terdapat kelalaian atau penyimpangan dari pemberi
tugas dalam menjalankan perjanjian kerja
9
2. Wewenang
a. Seorang desainer bertanggung jawab atas koordinasi
dengan pihak lain apabila pekerjaan dipilih secara
langsung oleh desainer dengan atau tanpa persetujuan
pemberi tugas
b. Bertanggung jawab untuk kesalahan kesalahan yang
ada di lapangan tidak boleh lebih besar jumlahnya
dibandingkan dengan jumlah imbalan yang diterima
oleh desainer
c. Apabila kesalahan yang terjadi di lapangan
sepenuhnya kesalahan dari desainer maka desainer
bertanggung jawab atas penggantian kesalahan
kesalahan tanpa pembatasan
vi. Asisten Marketing
1. Hak
a. Memasarkan produk perusahaan.
2. Wewenang
a. Membantu tugas marketing perusahaan
b. Menggantikan posisi marketing perusahaan apabila
marketing perusahaan berhalangan hadir di kantor.
2.3.1. Laravel
10
MVC adalah sebuah pendekatan perangkat lunak yang
memisahkan aplikasi logika dari presentasi. MVC memisahkan
aplikasi berdasarkan komponen- komponen aplikasi, seperti :
manipulasi data, controller, dan user interface [1].
1. Model, Model mewakili struktur data. Biasanya model berisi
fungsi-fungsi yang membantu seseorang dalam pengelolaan
basis data seperti memasukkan data ke basis data, pembaruan
data dan lain-lain.
2. View, View adalah bagian yang mengatur tampilan ke
pengguna. Bisa dikatakan berupa halaman web.
3. Controller, Controller merupakan bagian yang
menjembatani model dan view.
12
tidak tersedia dengan menggunakan nilai null untuk menunjukkan
bahwa ada nilai yang hilang. Itu tidak sama dengan kosong atau nol.
Kosong dianggapsamadengan yang lain kosong, nol sama dengan nol
lainnya, namun dua nilai null tidak dianggap sama. Bila setiap baris
dalam tabel berbeda, mungkin gunakan satu atau lebih kolom untuk
mengidentifikasi baris tertentu. Kolom unik atau kelompok kolom ini
disebut primary key. Setiap kolom yang merupakan bagian dari
primary key tidak boleh null; Jika memang demikian, kunci utama
yang berisi itu tidak akan lagi menjadi identifier lengkap. Aturan ini
disebut sebagai integritas entitas (Oracle,2015). Dalam konsep
database relasional, terdapat istilah integrity constrain, yang
digunakan untuk memastikan akurasi dan konsistensi data dalam
database relasional. Integritas data ditangani dalam database relasional
melalui konsep.
13
sebenarnya tidak digunakan sebagai primary key (Pearson
Education,2017). Foreign key adalah kolom pada tabel anak yang
merujuk primary key ke dalam tabel induk. Foreign key constraint
adalah mekanisme utama yang digunakan untuk menjaga integritas
referensial antar tabel dalam basis data relasional. Kolom yang
didefinisikan sebagai Foreign key digunakan untuk referensi kolom
yang didefinisikan sebagai primary key di tabel lain. Not null contraint
adalah kendala yang bisa Anda tempatkan pada kolom tabel. Kendala
ini tidak mengizinkan masuknya nilai NULL ke dalam kolom. Dengan
kata lain, data diperlukan di kolom NOT NULL untuk setiap baris data
dalam tabel. NULL umumnya adalah default untuk kolom jika not null
tidak ditentukan, sehingga nilai null dapat terisi dikolom (Pearson
Education,2017).
2.3.3. API
API adalah sekumpulan instruksi program dan protokol yang
digunakan untuk membangun aplikasi perangkat lunak. API berperan
sebagai pembawa pesan yang menerima permintaan pengguna dan
memberitahu sistem apa yang harus dilakukan, lalu memberikan
respons yang sesuai untuk permintaan tersebut. Sebagai analogi,
dalam sebuah rumah makan anggaplah pelanggan adalah pengguna
aplikasi dan dapur adalah sistem. Dapur akan menyiapkan pesanan
atau permintaan pelanggan, dalam analogi ini, API adalah pelayan
yang mengkomunikasikan pesanan pelanggan ke dapur atau sistem
dan membawa kembali makanan dan minuman yang sesuai dengan
permintaan [2].
14
tersebut dan berinteraksi dengan API dari setiap web database
maskapai penerbangan yang ada dan memilih informasi berdasarkan
variabel yang dimasukkan pengguna untuk kemudian memberikan
respons untuk ditampilkan kembali ke pengguna [2].
2.3.4. Postman
Gambar 2. 1 Postman
15
BAB III
16
○ Bundles, yaitu sebuah fitur dengan sistem
pengemasan modular dan tersedia beragam di
aplikasi.
○ Eloquent ORM, merupakan penerapan PHP lanjutan
menyediakan metode internal dari pola “active
record” yang mengatasi masalah pada hubungan objek
database.
○ Application Logic, merupakan bagian dari aplikasi,
menggunakan controller atau bagian Route.
○ Reverse Routing, mendefinisikan relasi atau
hubungan antara Link dan Route.
○ Restful controllers, memisahkan logika dalam
melayani HTTP GET and POST.
○ Class Auto Loading, menyediakan loading otomatis
untuk class PHP.
○ View Composer, adalah kode unit logikal yang dapat
dieksekusi ketika view sedang loading.
○ IoC Container, memungkin objek baru dihasilkan
dengan pembalikan controller.
○ Migration, menyediakan sistem kontrol untuk skema
database.
○ Unit Testing, banyak tes untuk mendeteksi dan
mencegah regresi.
○ Automatic Pagination, menyederhanakan tugas dari
penerapan halaman.
3.1.2. Postman
17
3.1.3. Visual Studio Code
18
3. Powerful editor – memfungsikan fitur untuk source
code editing yang sangat produktif, seperti membuat
code snippets, IntelliSense, auto correct, dan
formatting [4].
4. Code Debugging – salah satu fitur terkeren yang
ditawarkan Visual Studio Code adalah membantu
Anda melakukan debug pada kode dengan cara
mengawasi kode, variabel, call stack dan expression
yang mana saja [4].
5. Source control – Visual Studio Code memiliki
integrated source control termasuk Git support in-
the-box dan penyedia source code control lainnya di
pasaran. Ini meningkatkan siklus rilis proyek Anda
secara signifikan [4].
6. Integrated terminal – Tiada lagi multiple
windows dan alt-tabs. Anda dapat melakukan
command-line task sekejap dan membuat banyak
terminal di dalam editor [4].
19
Gambar 3. 2 Chrome
3.1.5. MySQL
20
Gambar 3. 3 Mysql
Speed
21
Reliability
Biasanya sesuatu yang gratis susah
diandalkan, bahkan banyak bug dan sering hang.
Tidak demikian dengan MySQL, karena sifatnya
yang open source, setiap orang dapat berkontribusi
memeriksa bug dan melakukan test case untuk
berbagai skenario yang memerlukan sistem 24 jam
online, multi-user dan data ratusan GB. Hasilnya,
MySQL merupakan RDBMS yang reliabel namun
memiliki performa diatas rata-rata [6].
Skalability
MySQL dapat memproses data yang sangat
besar dan kompleks, tanpa ada penurunan performa
yang berarti, juga mendukung sistem multi-prosesor.
MySQL juga dipakai oleh perusahaan-perusahaan
besar di dunia, seperti Epson, New York Times,
Wikipedia, Google, Facebook, bahkanNASA [6].
User Friendly
Instalasi dan mempelajari MySQL cukup
mudah dan tidak dipusingkan dengan banyak
settingan [6].
Portability and standard Compliance
Database MySQL dapat dengan mudah
berpindah dari satu sistem ke sistem lainnya.
Misalkan dari sistem Windows ke Linux. Aplikasi
MySQL juga dapat berjalan di
sistem Linux (RedHat, SuSE, Mandrake,
Debian), Embedded Linux (MontaVista,
LynuxWorks BlueCat),Unix (Solaris, HP-UX, AIX),
BSD (Mac OS X, FreeBSD), Windows (Windows
2000, Windows NT) dan RTOS (QNX) [6].
22
Multiuser Support
Dengan menerapkan arsitektur client-
server. Ribuan pengguna dapat mengakses database
MySQL dalam waktu yang bersamaan [6].
Wide Application Support
Biasanya database RDBMS tidak digunakan
sendirian, namun ditemani dengan aplikasi atau
bahasa pemrograman lainnya untuk menyediakan
interface, seperti C, C++, C#, Java, Delphi, Visual
Basic, Perl Python dan PHP. Ke semua itu di
dukung oleh API (Application Programming
Interface) oleh MySQL [6].
Minggu
Keterangan
Ke-
1 Perencanaan dan persiapan project
2 Penentuan Struktur RESTFul API
3 Pengerjaan RESTful API
4 Pengerjaan RESTful API
5 Pengerjaan RESTful API
6 Pengerjaan RESTful API
7 Pengerjaan RESTful API
8 Pengerjaan RESTful API
9 Pengerjaan RESTful API
23
3.3. Proses Pengerjaan
24
3.3.3. Pengujian
3.3.4. Dokumentasi
25
Gambar 3. 5 Contoh dokumentasi dari postman
Endpoint
POST http://kuweh.aksamedia.co.id/api/member/register
Headers
26
Body
Endpoint
POST http://kuweh.aksamedia.co.id/api/member/verify
Headers
27
Body
Endpoint
http://kuweh.aksamedia.co.id/
GET
api/member/account?member_id=MEMBER-ID
Headers
Params
28
3.4.4. Member Login
Endpoint
POST http://kuweh.aksamedia.co.id/api/member/login
Headers
Body
Endpoint
POST http://kuweh.aksamedia.co.id/api/member/attempt
Headers
29
Body
Endpoint
http://kuweh.aksamedia.co.id/api/promo/
GET
get?member_id=MEMBER-ID
Headers
Params
Key Value Description
30
3.4.7. Member Transaction
Endpoint
GET http://kuweh.aksamedia.co.id/api/transaction/store
Headers
Body
31
3.4.8. Member Update Email
Endpoint
http://kuweh.aksamedia.co.id/
api/member/update?member_id=MEMBER_ID&
PUT
new_email=MEMBER_NEW_EMAIL&
pin=MEMBER_PIN
Headers
Params
Required (e.g.
new_email member-email
use@domain.com)
Endpoint
http://kuweh.aksamedia.co.id/api/member/reset-
POST
phone-number
32
Headers
Body
Key Value Description
Member-
Required (e.g.
new_phone_number new-phone-
+628551000000)
number
Endpoint
http://kuweh.aksamedia.co.id/
api/member/reset-phone-number/verify?
PUT
member_id=MEMBER_ID&verification_code=
MEMBER_VERIFICATION_CODE
Headers
33
Params
Endpoint
http://kuweh.aksamedia.co.id/
PUT
api/member/logout?member_id=member-id
Headers
Params
34
3.4.12. Member Cancel Reset Verification Phone Number
Endpoint
http://kuweh.aksamedia.co.id/
DELETE api/member/reset-phone-number/cancel?
member_id=member-id
Headers
Params
Endpoint
http://kuweh.aksamedia.co.id/
GET
api/member/history?member_id=member-id
35
Headers
Params
Endpoint
http://kuweh.aksamedia.co.id/
GET
api/member/detail-point?member_id=member-id
Headers
Params
36
3.4.15. Member Edit PIN
Endpoint
http://kuweh.aksamedia.co.id/
POST
api/member/pin/edit
Headers
Body
Required (e.g.
pin member-pin
123456)
Endpoint
http://kuweh.aksamedia.co.id/
POST
api/member/pin/edit
37
Headers
Params
Required (e.g.
pin member-pin
123456)
Required (e.g.
New_pin Member-new-pin
654321)
38
BAB IV
3.1. Kesimpulan
3.1. Saran
39
DAFTAR PUSTAKA
39
[6] Duniailkom, "Tutorial Belajar MySQL:
Pengertian MySQL dan Kelebihan MySQL,"
Duniailkom, 17 December 2017. [Online]. Available:
https://www.duniailkom.com/tutorial-mysql-alasan-
menggunakan-mysql/. [Accessed 07 July 2019].
40
LAMPIRAN
41
Lampiran 2 Dokumentasi KP
42
Lampiran 3 Dokumentasi KP
43