Anda di halaman 1dari 53

LAPORAN KERJA PRAKTEK

PEMBUATAN BACK OFFICE DAN RESTFUL


API APLIKASI KUWEH DI AKSAMEDIA

Disusun Oleh:

Jeffry Suyanto 1461600067

Dosen Pembimbing:

Ery Sadewa Yudha W.S.Kom.,MM

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.

Kami mengucapkan banyak terimakasih kepada pimpinan beserta seluruh


jajaran dan staff AKSAMEDIA atas waktu dan kesempatan yang telah diberikan
kepada kami untuk mengajukan proposal Kerja Praktek (KP). Dan tidak lupa kami
juga memohon maaf jika masih terdapat kekurangan dalam penulisan proposal
pengajuan Kerja Praktek (KP) kami ini.

Semoga Allah SWT selalu memberikan kemudahan, kelancaran, dan


kesuksesan kepada seluruh keluarga besar AKSAMEDIA dalam melaksanakan
serta menjalankan setiap tugas, kewajiban, dan pekerjaan agar memperoleh hasil
yang maksimal. Dan semoga Allah SWT memberikan ridho-Nya kepada kami
pribadi agar memberi kesuksesan kegiatan yang akan kami laksanakan tersebut
guna memenuhi tugas mata kuliah Kerja Praktek (KP).

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.

Surabaya, 8 Juli 2019

Penulis

ii
DAFTAR ISI

SLEMBAR PENGESAHAN ........................................................................i

KATA PENGANTAR ................................................................................ ii

DAFTAR ISI .............................................................................................. iii

DAFTAR GAMBAR ..................................................................................vi

DAFTAR TABEL ..................................................................................... vii

BAB I ........................................................................................................... 1

1.1. Latar Belakang ............................................................................1

1.2. Tujuan .........................................................................................2

1.3. Manfaat .......................................................................................2

1.4. Waktu dan Tempat Pelaksanaan .................................................4

BAB II .......................................................................................................... 5

2.1. Sejarah Berdirinya Perusahaan ...................................................5

2.2. Infrastruktur Perusahaan .............................................................7

2.2.1. Struktur Organisasi ..................................................................7

2.2.2. Tugas dan Fungsi Instansi / Lembaga .....................................7

2.3. Kajian Pustaka ..........................................................................10

2.3.1. Laravel ...................................................................................10

2.3.2. Basis Data Relasional ............................................................12

2.3.3. API.........................................................................................14

2.3.4. Postman .................................................................................15

BAB III....................................................................................................... 16

3.1. Pemilihan Supporting Developer Tool .....................................16

3.1.1. Laravel Framework ...............................................................16

iii
3.1.2. Postman .................................................................................17

3.1.3. Visual Studio Code ................................................................18

3.1.4. Google Chrome .....................................................................19

3.1.5. MySQL ..................................................................................20

3.2. Aktivitas Kerja Praktek .............................................................23

3.3. Proses Pengerjaan .....................................................................24

3.3.1. Tahap Perencanaan ................................................................24

3.3.2. Tahap Pembuatan ..................................................................24

3.3.3. Pengujian ...............................................................................25

3.3.4. Dokumentasi ..........................................................................25

3.4. Hasil dan Pembahasan ..............................................................26

3.4.1. Member Registration .............................................................26

3.4.2. Member Verification After Register .....................................27

3.4.3. Member Data .........................................................................28

3.4.4. Member Login .......................................................................29

3.4.5. Member Verification After Login .........................................29

3.4.6. Data Promo ............................................................................30

3.4.7. Member Transaction..............................................................31

3.4.8. Member Update Email ..........................................................32

3.4.9. Member Reset Phone Number...............................................32

3.4.10. Member Verification Reset Phone Number ........................33

3.4.11. Member Logout ...................................................................34

3.4.12. Member Cancel Reset Verification Phone Number ............35

3.4.13. Member History...................................................................35

3.4.14. Member Detail Point ...........................................................36

3.4.15. Member Edit PIN ................................................................37

iv
3.4.16. Member Update PIN............................................................37

BAB IV ...................................................................................................... 39

KESIMPULAN DAN SARAN .................................................................. 39

3.1. Kesimpulan ...............................................................................39

3.1. Saran .........................................................................................39

DAFTAR PUSTAKA ................................................................................ 39

LAMPIRAN ............................................................................................... 41

v
DAFTAR GAMBAR

Gambar 2. 1 Postman ............................................................................................. 15

Gambar 3. 2 Visual studio code .............................................................................18


Gambar 3. 3 Chrome ..............................................................................................20
Gambar 3. 4 Mysql .................................................................................................21
Gambar 3. 5 Contoh Unauthorized request ............................................................24
Gambar 3. 6 Contoh dokumentasi dari postman ....................................................26

Lampiran 1 Surat balasan ......................................................................................41


Lampiran 2 Dokumentasi KP ................................................................................42
Lampiran 3 Dokumentasi KP ................................................................................43

vi
DAFTAR TABEL

Table 3. 1 Endpoint API Member Registration .....................................................26


Table 3. 2 Headers API Member Registration .......................................................26
Table 3. 3 Body API Member Registration ...........................................................27
Table 3. 4 Endpoint API Member Verification After Registration ........................27
Table 3. 5 Headers API Member Verification After Registration .........................27
Table 3. 6 Body API Member Verification After Registration ..............................28
Table 3. 7 Endpoint API Member Data .................................................................28
Table 3. 8 Headers API Member Data ...................................................................28
Table 3. 9 Params API Member Data ....................................................................28
Table 3. 10 Endpoint API Member Login .............................................................29
Table 3. 11 Headers API Member Login ...............................................................29
Table 3. 12 Body API Member Login ...................................................................29
Table 3. 13 Endpoint API Member Verification After Login ................................29
Table 3. 14 Headers API Member Verification After Login .................................29
Table 3. 15 Body API Member Verification After Login ......................................30
Table 3. 16 Endpoint API Data Promo ..................................................................30
Table 3. 17 Headers API Data Promo ....................................................................30
Table 3. 18 Endpoint API Member transaction .....................................................31
Table 3. 19 Headers API Member transaction .......................................................31
Table 3. 20 Body API Member transaction ...........................................................31
Table 3. 21 Endpoint API Member update email ..................................................32
Table 3. 22 Headers API Member update email ....................................................32
Table 3. 23 Params API Member update email .....................................................32
Table 3. 24 Endpoint API Member reset phone number .......................................32
Table 3. 25 Headers API Member reset phone number .........................................33
Table 3. 26 Endpoint API Member verification reset phone number ....................33
Table 3. 27 Headers API Member verification reset phone number......................33
Table 3. 28 Params API Member verification reset phone number .......................34
Table 3. 29 Endpoint API Member logout .............................................................34
Table 3. 30 Headers API Member logout ..............................................................34

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

1.1. Latar Belakang

Kompetitifnya persaingan kerja pada era globalisasi mengharuskan


para calon pencari kerja, khususnya para mahasiswa untuk mempersiapkan
diri sebaik mungkin menghadapi persaingan global. Bekal khusus yang
perlu dipersiapkan adalah dalam bidang hard skills maupun soft skills.

Mahasiswa Universitas 17 Agustus 1945 khususnya mahasiswa


program studi teknik informatika yang secara khusus dipersiapkan untuk
menjadi tenaga ahli yang profesional, kompeten, dan bermoral. Sumber
daya yang mempunyai kemampuan ahli madya tidak saja harus menguasai
teori (hard skills), tetapi juga harus mempunyai keterampilan yang baik
dalam menerapkan teori tersebut (soft skills).

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

Dengan melaksanakan kegiatan Kerja Praktek (KP) diharapkan agar


dapat mencapai beberapa tujuan, yakni sebagai berikut:

1. Memenuhi syarat kelulusan pada program studi Teknik Informatika,


Universitas 17 Agustus 1945
2. Menerapkan kemampuan berupa ilmu (hard skills) dan praktek (soft
skills) yang diperoleh selama masa kuliah dengan yang terjadi pada
dunia kerja secara langsung
3. Membandingkan teori yang telah dipelajari dengan yang terjadi pada
perusahaan
4. Menumbuhkan dan menciptakan pola berpikir yang konstruktif yang
berwawasan bagi mahasiswa dan dunia kerja
5. Memperdalam serta memperkuat keterampilan yang dimiliki pada
bidang IT

1.3. Manfaat

Dengan terlaksananya kegiatan Kerja Praktek (KP) diharapkan


dapat memberikan manfaat kepada banyak pihak, yakni:

1. Bagi mahasiswa pelaksana Kerja Praktek (KP):


a. Dapat memenuhi tugas mata kuliah Kerja Praktek (KP) sebagai
syarat wajib kelulusan mahasiswa S1 Universitas 17 Agustus 1945

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

2. Bagi jurusan Teknik Informatika, Universitas 17 Agustus 1945:


a. Menjadi tolak ukur ilmu teknologi dan sarana pembelajaran dalam
peningkatan kualitas pengajaran di masa yang akan datang
b. Sebagai sarana pengenalan dan pembelajaran yang efektif bagi
mahasiswa sebelum lulus dan terjun pada dunia kerja nyata
c. Sarana mengenalkan kualitas mahasiswa Universitas 17 Agustus
1945 kepada perusahaan
d. Menjalin hubungan dan sinergi positif antara Universitas 17
Agustus 1945 sebagai universitas penyedia sumber daya manusia
ahli (tenaga kerja) kepada perusahaan-perusahaan (pengguna
tenaga kerja)

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

Kegiatan Kerja Praktek (KP) dilakukan selama kurang lebih satu


bulan dengan ketentuan jam kerja mahasiswa selama Kerja Praktek
disesuaikan dengan kebijakan yang diberikan perusahaan dengan
mempertimbangkan waktu jam perkuliahan yang kami ambil pada semester
VI.

Waktu : 21 Januari 2019 – 22 Maret 2019

Tempat : CV. Aksamedia Global


Jalan Dokter Ir. Haji Soekarno Ruko Icon 21 R-1 Surabaya,
Jawa Timur 60117, Indonesia

4
BAB II

DESKRIPSI KEGIATAN

2.1. Sejarah Berdirinya Perusahaan

Aksamedia adalah perusahaan yang bergerak dibidang jasa


pembuatan website yang berdiri sejak tahun 2012. Berikut adalah logo
Aksamedia.

Gambar 1 Logo AKSAMEDIA

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.

Aksamedia berawal dari dua orang anak muda lulusan Teknik


informatika yang berkeinginan untuk membuka lapangan pekerjaan paling
tidak untuk diri mereka sendiri. Kemauan itulah yang membuat mereka pada
akhirnya membuat usaha yang bergerak dalam bidang jasa yang diberi nama
“Fantasi Creative” pada awal tahun 2012.

Pada awal berjalannya usaha ini, Fantasi Creative menerima


berbagai macam permintaan pekerjaan seperti pembuatan animasi, desktop,
aplikasi, jaringan hingga website. Namun, Fantasi Creative yang mengawali
usaha di kota Malang ini hanya berjalan tiga bulan saja karena terlalu
seringnya pergantian karyawan. Setelah itu perusahaan ini mencoba
membangun kembali usaha dengan mengganti ulang namanya menjadi
“Aquasoft”. Namun, nama ini juga hanya berjalan tiga bulan.

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.

Perlahan, satu-persatu klien mulai banyak berdatangan ke


aksamedia untuk bekerja sama. Karena merasa aksamedia adalah pemain
baru dalam bidang Web System, maka perlu memasang harga yang relatif
terjangkau. Bahkan harga yang ditawarkan kepada klien tergolong tak wajar
dikarenakan terlalu murah. Aksamedia mulai berarti mematok harga tinggi
setelah lebih kurang 8 bulan.

Dari Malang, akhirnya pada akhir tahun 2013, Aksamedia berpindah


tempat ke kota Surabaya. Alasan yang melatarbelakangi pindahnya
aksamedia adalah pemasaran web yang berada di area Malang tidak begitu
ramai, sehingga tim Aksamedia pun memutuskan untuk mencoba mengadu
nasib ke Surabaya.

Kantor pertama Aksamedia berada di jalan Kapas Madya Barat 2A


no.4 Surabaya, Jawa Timur. Kemudian, pada bulan juli 2015, Aksamedia
dengan kerja sama salah satu kliennya yang memindahkan lokasi kantor di
Jl. Ir. H. Soekarno, Ruko Icon 21 No.1, Surabaya.

Dari dua orang gigih untuk memperjuangkan usaha penyedia jasa


website ini, sampai sekarang. Aksamedia memiliki tiga belas orang
karyawan tetap yang masih terus aktif membuat Web System yang
berkualitas untuk melayani permintaan klien. Klien yang datang, sudah
tidak lagi hanya berada di area Surabaya saja, akan tetapi sudah meluas ke
luar region Surabaya.

6
2.2. Infrastruktur Perusahaan

2.2.1. Struktur Organisasi

Gambar 2.1 Struktur Organisasi AKSAMEDIA

2.2.2. Tugas dan Fungsi Instansi / Lembaga

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

ii. CEO Perusahaan


1. Hak
a. Menetapkan strategi-strategi untuk mencapai visi
misi
b. Bertindak sebagai perwakilan perusahaan dalam
hubungan dengan dunia luar
c. Memilih, menentukan, dan mengawasi pekerjaan
2. Wewenang
a. Bertanggung jawab dalam memimpin dan
menjalankan perusahaan baik produksi maupun non
produksi
b. Bertanggung jawab pada kerugian yang dihadapi
perusahaan termasuk juga keuntungan perusahaan
c. Merencanakan dan mengembangkan sumber sumber
pendapatan dan pembelanjaan

iii. Manajer Proyek


1. Hak
a. Mengkoordinasi semua programer

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. Kajian Pustaka

2.3.1. Laravel

Laravel adalah sebuah framework PHP yang dirilis dibawah


lisensi MIT, dibangun dengan konsep MVC (model view
controller). Laravel adalah pengembangan website berbasis MVP
yang ditulis dalam PHP yang dirancang untuk meningkatkan
kualitas perangkat lunak dengan mengurangi biaya pengembangan
awal dan biaya pemeliharaan, dan untuk meningkatkan
pengalaman bekerja dengan aplikasi dengan menyediakan sintaks
yang ekspresif, jelas dan menghemat waktu [1].

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.

Beberapa fitur yang terdapat di Laravel :

○ 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.
11
○ Unit Testing, banyak tes untuk mendeteksi dan mencegah
regresi.
○ Automatic Pagination, menyederhanakan tugas dari
penerapan halaman.
2.3.2. Basis Data Relasional

Database relasional adalah database yang organisasinya


didasarkan pada model data relasional, seperti yang diajukan oleh E.
F. Codd pada tahun 1970. Berbagai sistem perangkat lunak yang
digunakan untuk memelihara database.

relasional dikenal sebagai sistem manajemen basis data


relasional (RDBMS). Hampir semua sistem database relasional
menggunakan SQL (Structured Query Language)sebagai Bahasa
untuk query dan pemeliharaan database (Codd,1970). Model ini
mengatur data ke dalam satu atau lebih tabel (atau "relasi") kolom dan
baris, dengan kunci unik yang mengidentifikasi setiap baris. Baris juga
disebut record atau tupel. Umumnya, setiap tabel / relasi mewakili satu
"tipe entitas" (seperti pelanggan atau produk). Baris mewakili instance
dari tipe entitas tersebut (seperti "Lee" atau "chair") dan kolom yang
mewakili nilai yang dikaitkan dengan instance tersebut (seperti alamat
atau harga) (Oracle,2015). Tabel relasional mengikuti peraturan
integritas tertentu untuk memastikan bahwa data yang ada didalamnya
tetap akurat dan selalu dapat diakses. Pertama, baris dalam tabel
relasional semuanya harus berbeda. Jika ada duplikat baris, mungkin
ada masalah dalam menyelesaikan dua pilihan pilihan mana yang
benar. Bagi sebagian besar DBMS, pengguna dapat menentukan
bahwa baris duplikat tidak diperbolehkan, dan jika selesai, DBMS
akan mencegah penambahan baris yang menduplikat baris yang
ada(Oracle,2015). Aturan integritas kedua dari model relasional
tradisional adalah bahwa nilai kolom tidak boleh mengulangi
kelompok atau array. Aspek ketiga dari integritas data melibatkan
konsep nilai null. Database menangani situasi dimana data mungkin

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.

integritas referensial. Banyak jenis batasan integritas berperan


dalam integritas referensial(PearsonEducation,2017). Primary key
adalah istilah yang digunakan untuk mengidentifikasi satu atau lebih
kolom pada tabel yang membuat deretan data yang unik. Meskipun
primary key biasanya terdiri dari satu kolom dalam sebuah tabel, lebih
dari satu kolom dapat terdiri dari primary key. Misalnya, nomor
Jaminan Sosial karyawan atau nomor identifikasi karyawan yang
ditugaskan adalah kunci utama logis untuk tabel karyawan. Tujuannya
agar setiap record memiliki kunci primer atau nilai unik untuk nomor
identifikasi karyawan. Karena mungkin tidak perlu memiliki lebih dari
satu catatan untuk setiap karyawan di meja karyawan, nomor
identifikasi karyawan membuat kunci primer yang logis. Kunci utama
diberikan pada pembuatan tabel (Pearson Education,2017).
Sedangkan batasan kolom yang unik (unique column constraint)
dalam tabel mirip dengan primary key sehingga nilai pada kolom
tersebut untuk setiap baris data dalam tabel harus memiliki nilai unik.
Meskipun batasan kunci utama ditempatkan pada satu kolom, Anda
dapat menempatkan batasan unik pada kolom lain meskipun

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].

Dalam contoh dunia nyata, API digunakan dalam aplikasi


travel pemesanan penerbangan yang dimana aplikasi tersebut
menghubungkan pengguna dengan berbagai macam maskapai. Ketika
memesan penerbangan pengguna akan menentukan berbagai macam
variabel seperti tujuan bandara, tanggal keberangkatan, jumlah
penumpang, dan lainnya. Aplikasi travel akan menerima request

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

POSTMAN adalah sebuah aplikasi (berupa plugin) untuk


browser chrome, fungsinya adalah sebagai REST Client atau
istilahnya adalah aplikasi yang digunakan untuk melakukan uji coba
REST API yang telah dibuat.

Gambar 2. 1 Postman

15
BAB III

PELAKSANAAN KERJA PRAKTEK

3.1. Pemilihan Supporting Developer Tool

3.1.1. Laravel Framework

Laravel adalah sebuah framework PHP yang dirilis


dibawah lisensi MIT, dibangun dengan konsep MVC (model
view controller). Laravel adalah pengembangan website
berbasis MVP yang ditulis dalam PHP yang dirancang untuk
meningkatkan kualitas perangkat lunak dengan mengurangi
biaya pengembangan awal dan biaya pemeliharaan, dan
untuk meningkatkan pengalaman bekerja dengan aplikasi
dengan menyediakan sintaks yang ekspresif, jelas dan
menghemat waktu [1].

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].
4. 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.
5. View, View adalah bagian yang mengatur tampilan ke
pengguna. Bisa dikatakan berupa halaman web.
6. Controller, Controller merupakan bagian yang
menjembatani model dan view.

Beberapa fitur yang terdapat di Laravel :

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

POSTMAN adalah sebuah aplikasi (berupa plugin)


untuk browser chrome, fungsinya adalah sebagai REST
Client atau istilahnya adalah aplikasi yang digunakan untuk
melakukan uji coba REST API yang telah dibuat.

17
3.1.3. Visual Studio Code

Visual Studio Code adalah editor kode yang efisien


dengan dukungan untuk operasi pengembangan seperti
debugging, menjalankan tugas, dan kontrol versi. Ini
bertujuan untuk menyediakan alat yang dibutuhkan
pengembang untuk siklus pembuatan kode yang cepat dan
meninggalkan alur kerja yang lebih kompleks ke IDE
berfitur yang lebih lengkap, seperti Visual Studio IDE [3].

Gambar 3. 1 Visual studio code

Berikut ini adalah beberapa fitur yang dimiliki oleh


visual studio code, antara lain :

1. Cross platform – tersedia di macOS, Linux dan


Windows artinya Anda dapat bekerja pada sistem
operasi manapun tanpa khawatir belajar coding tools
yang sama untuk sistem yang berbeda-beda [4].
2. Lightweight – tak perlu menunggu lama untuk
memulai. Anda mengontrol sepenuhnya bahasa,
tema, debugger, commands dan lain-lainnya sesuai
keinginan. Ini dapat dilakukan melalui extentions
untuk bahasa populer seperti python, node.js, java
dan lain-lainnya di Visual Studio Code Marketplace
[4].

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].

3.1.4. Google Chrome

Google Chrome adalah sebuah aplikasi peramban


yang digunakan untuk menjelajah dunia maya seperti
halnya Firefox, Opera ataupun Microsoft Edge. Jika Firefox
dikembangkan oleh Mozilla, Google Chrome dibuat dan
dirancang oleh Google, perusahaan internet terbesar di dunia
yang juga empunya Android [5].

Proyek open source yang digunakan oleh Google


disebut Chromium, menggunakan mesin rendering Webkit
sampai dengan versi 27 dan dirancang untuk bekerja dengan
kecepatan di atas rata-rata namun tetap ringan dijalankan di
perangkat desktop dan mobile [5].

19
Gambar 3. 2 Chrome

Fitur Utama Google Chrome

Google Chrome membawa sejumlah fitur-fitur


unggulan, selain dari fitur standar yang ditemukan di
kebanyakan aplikasi peramban ternama. Chrome
mendukung di antaranya, Javascript, HTML 5, CSS 2.1, dan
sejumlah fitur antara lain private mode, multi tab, berbagai
pilihan tema dan ekstensi dan tambahan plugin pihak ketiga,
pilihan bahasa, dan beberapa fitur unggulan lain [5].

3.1.5. MySQL

MySQL adalah salah satu aplikasi RDBMS


(Relational Database Management System). Pengertian
sederhana RDBMS adalah: aplikasi database yang
menggunakan prinsip relasional [6].

MySQL bersifat gratis dan open source. Artinya


setiap orang boleh menggunakan dan mengembangkan
aplikasi ini. Namun walaupun gratis, MySQL di support oleh
ribuan programmer dari seluruh dunia, dan merupakan
sebuah aplikasi RDBMS yang lengkap, cepat, dan reliabel
[6].

20
Gambar 3. 3 Mysql

Berikut beberapa keunggulan MySQL dibandingkan


dengan RDBMS lainnya:

 Speed

Sebuah studi dari eWeek di February 2002


yang membandingkan performa kecepatan MySQL
dengan RDBMS lainnya, seperti Microsoft SQL
Server 2000, IBM DB2, Oracle 9i dan Sybase :

“MySQL has the best overall performance


and that MySQL scalability matches Oracle …
MySQL had the highest throughput, even exceeding
the numbers generated by Oracle.”

Yang terjemahan bebasnya, MySQL


memiliki kecepatan yang lebih dibandingkan pesaing
yang berbayar [6].

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].

3.2. Aktivitas Kerja Praktek

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

3.3.1. Tahap Perencanaan

Pada tahap ini akan dirancang RESTFul API seperti


apa yang dibutuhkan oleh clien. Tahap ini untuk menentukan
Endpoint, Headers, dan Body/Params yang dibutuhkan.
Penentuan struktur API juga diperlukan agar memudahkan
developer android untuk mengolah API.

3.3.2. Tahap Pembuatan

Setelah menentukan Endpoint, Headers dan


Body/Params yang dibutuhkan, selanjutnya tahap
pembuatan API yang telah dirancang. Text Editor yang
digunakan adalah Visual Studio Code dan DBMS yang
digunakan adalah MySQL.

Headers digunakan untuk otorisasi client untuk


mengakses API. Setiap client memiliki api-token sendiri
untuk dikirimkan melalui Headers saat mengakses API. API
Token didapatkan setelah user melakukan login. API Token
juga dibutuhkan untuk alasan keamanan, agar tidak
sembarangan client dapat mengakses API. Berikut ini contoh
bila client mengakses API tanpa mneyertakan API Token
pada saat melakukan request :

Gambar 3. 4 Contoh Unauthorized request

24
3.3.3. Pengujian

Setelah proses pembuatan selesai, selanjutnya masuk


ke tahap pengujian API. API yang telah dibuat akan diuji
apakah masih terdapat bug atau tidak. Pengujian ini
menggunakan tool Postman. Setelah dipastikan tidak
terdapat bug, selanjutnya dilakukan proses dokumentasi
API.

3.3.4. Dokumentasi

Dokumentasi API berisi deskripsi API, Endpoint,


Headers, Body/Params. Pada bagian Headers terdapat nama
Key, contoh Value dan deskripsi yang berisi aturan validasi
setiap field yang dikirim, contohnya : Required artinya field
ini tidak boleh kosong. Begitu pula dengan bagian
Body/Params juga terdapat nama Key, contoh Value dan
deskripsi yang berisi aturan validasi setiap field.

Dengan memanfaatkan fitur dari Postman,


dokumentasi yang dihasil lebih tertata rapid an mudah
dibaca. Berikut ini contoh dari hasil dokumentasi :

25
Gambar 3. 5 Contoh dokumentasi dari postman

3.4. Hasil dan Pembahasan

3.4.1. Member Registration

 Endpoint

Table 3. 1 Endpoint API Member Registration

POST http://kuweh.aksamedia.co.id/api/member/register

 Headers

Table 3. 2 Headers API Member Registration

Key Value Description

No headers are needed

26
 Body

Table 3. 3 Body API Member Registration

Key Value Description


Required (e.g.
name member-name
Jeffsuto)
member- Required (e.g.
phone_number
phone-number +6285606999998)
Required (e.g.
email member-email
user@domain.com)
member-date- Required (e.g. 01-01-
date_of_birth
of-birth 2001)
Required (e.g.
pin member-pin
123456)

3.4.2. Member Verification After Register

 Endpoint

Table 3. 4 Endpoint API Member Verification After Registration

POST http://kuweh.aksamedia.co.id/api/member/verify

 Headers

Table 3. 5 Headers API Member Verification After Registration

Key Value Description

No headers are needed

27
 Body

Table 3. 6 Body API Member Verification After Registration

Key Value Description


member- Required (e.g.
phone_number
phone-number +6285606999998)
member-
Required (e.g.
Verification_code verfication-
7352)
code
Member-
Device_token Required
device-token

3.4.3. Member Data

 Endpoint

Table 3. 7 Endpoint API Member Data

http://kuweh.aksamedia.co.id/
GET
api/member/account?member_id=MEMBER-ID

 Headers

Table 3. 8 Headers API Member Data

Key Value Description


api-token member-api-token Required

 Params

Table 3. 9 Params API Member Data

Key Value Description

Member_id Member-id Required (e.g. 50)

28
3.4.4. Member Login

 Endpoint

Table 3. 10 Endpoint API Member Login

POST http://kuweh.aksamedia.co.id/api/member/login

 Headers

Table 3. 11 Headers API Member Login

Key Value Description


No headers are needed

 Body

Table 3. 12 Body API Member Login

Key Value Description


member-phone- Required (e.g.
phone_number
number +6285606999998)

3.4.5. Member Verification After Login

 Endpoint

Table 3. 13 Endpoint API Member Verification After Login

POST http://kuweh.aksamedia.co.id/api/member/attempt

 Headers

Table 3. 14 Headers API Member Verification After Login

Key Value Description


No headers are needed

29
 Body

Table 3. 15 Body API Member Verification After Login

Key Value Description


member- Required (e.g.
phone_number
phone-number +6285606999998)
member-
Required (e.g.
verification_code verification-
7543)
code
member-
device_token Required
device-token

3.4.6. Data Promo

 Endpoint

Table 3. 16 Endpoint API Data Promo

http://kuweh.aksamedia.co.id/api/promo/
GET
get?member_id=MEMBER-ID

 Headers

Table 3. 17 Headers API Data Promo

Key Value Description


api-
member-api-token Required
token

 Params
Key Value Description

member_id member-id Required (e.g. 50)

30
3.4.7. Member Transaction

 Endpoint

Table 3. 18 Endpoint API Member transaction

GET http://kuweh.aksamedia.co.id/api/transaction/store

 Headers

Table 3. 19 Headers API Member transaction

Key Value Description


api-token member-api-token Required

 Body

Table 3. 20 Body API Member transaction

Key Value Description

member_id member-id Required (e.g. 50)

member-input- Required (e.g.


kuweh_cash
kuweh-cash 30000)
member-input- Required (e.g.
kuweh_point
kuweh-point 30000)
member-input- Required (e.g.
pay_upfront
pay-upfront 10000)
Required (e.g.
pin member-pin
123456)

31
3.4.8. Member Update Email

 Endpoint

Table 3. 21 Endpoint API Member update email

http://kuweh.aksamedia.co.id/
api/member/update?member_id=MEMBER_ID&
PUT
new_email=MEMBER_NEW_EMAIL&
pin=MEMBER_PIN

 Headers

Table 3. 22 Headers API Member update email

Key Value Description


api-token member-api-token Required

 Params

Table 3. 23 Params API Member update email

Key Value Description

member_id member-id Required (e.g. 50)

Required (e.g.
new_email member-email
use@domain.com)

Pin member-pin Required (e.g. 123456)

3.4.9. Member Reset Phone Number

 Endpoint

Table 3. 24 Endpoint API Member reset phone number

http://kuweh.aksamedia.co.id/api/member/reset-
POST
phone-number

32
 Headers

Table 3. 25 Headers API Member reset phone number

Key Value Description


api-token member-api-token Required

 Body
Key Value Description

member_id member-id Required (e.g. 50)

Member-
Required (e.g.
new_phone_number new-phone-
+628551000000)
number

3.4.10. Member Verification Reset Phone Number

 Endpoint

Table 3. 26 Endpoint API Member verification reset phone number

http://kuweh.aksamedia.co.id/
api/member/reset-phone-number/verify?
PUT
member_id=MEMBER_ID&verification_code=
MEMBER_VERIFICATION_CODE

 Headers

Table 3. 27 Headers API Member verification reset phone number

Key Value Description


api-token member-api-token Required

33
 Params

Table 3. 28 Params API Member verification reset phone number

Key Value Description

member_id member-id Required (e.g. 50)

member- Required (e.g.


verification_code
verification-code 6632)

3.4.11. Member Logout

 Endpoint

Table 3. 29 Endpoint API Member logout

http://kuweh.aksamedia.co.id/
PUT
api/member/logout?member_id=member-id

 Headers

Table 3. 30 Headers API Member logout

Key Value Description


api-token member-api-token Required

 Params

Table 3. 31 Params API Member logout

Key Value Description

member_id member-id Required (e.g. 50)

34
3.4.12. Member Cancel Reset Verification Phone Number

 Endpoint

Table 3. 32 Endpoint API Member cancel verification reset phone number

http://kuweh.aksamedia.co.id/
DELETE api/member/reset-phone-number/cancel?
member_id=member-id

 Headers

Table 3. 33 Headers API Member cancel verification reset phone number

Key Value Description


api-token member-api-token Required

 Params

Table 3. 34 Params API Member cancel verification reset phone number

Key Value Description

member_id member-id Required (e.g. 50)

3.4.13. Member History

 Endpoint

Table 3. 35 Endpoint API Member history

http://kuweh.aksamedia.co.id/
GET
api/member/history?member_id=member-id

35
 Headers

Table 3. 36 Headers API Member history

Key Value Description


api-token member-api-token Required

 Params

Table 3. 37 Params API Member history

Key Value Description

member_id member-id Required (e.g. 50)

3.4.14. Member Detail Point

 Endpoint

Table 3. 38 Endpoint API Member detail point

http://kuweh.aksamedia.co.id/
GET
api/member/detail-point?member_id=member-id

 Headers

Table 3. 39 Headers API Member detail point

Key Value Description


api-token member-api-token Required

 Params

Table 3. 40 Params API Member detail point

Key Value Description

member_id member-id Required (e.g. 50)

36
3.4.15. Member Edit PIN

 Endpoint

Table 3. 41 Endpoint API Member edit PIN

http://kuweh.aksamedia.co.id/
POST
api/member/pin/edit

 Headers

Table 3. 42 Headers API Member edi PIN

Key Value Description


api-
member-api-token Required
token

 Body

Table 3. 43 Body API Member edit PIN

Key Value Description

member_id member-id Required (e.g. 50)

Required (e.g.
pin member-pin
123456)

3.4.16. Member Update PIN

 Endpoint

Table 3. 44 Endpoint API Member update PIN

http://kuweh.aksamedia.co.id/
POST
api/member/pin/edit

37
 Headers

Table 3. 45 Headers API Member update PIN

Key Value Description


api-
member-api-token Required
token

 Params

Table 3. 46 Params API Member update PIN

Key Value Description

member_id member-id Required (e.g. 50)

Required (e.g.
pin member-pin
123456)
Required (e.g.
New_pin Member-new-pin
654321)

38
BAB IV

KESIMPULAN DAN SARAN

3.1. Kesimpulan

Berdasarkan tahapan yang telah dilakukan dalam pelaksanaan kerja


praktek ini, kesimpulan yang dapat diperoleh antara lain:
1. Pembuatan API diperlukan agar client (aplikasi android kuweh)
dapat terhubung dengan server Kuweh.
2. Keamanan dalam API perlu diperhatikan agar tidak dapat diakses
oleh orang tanpa hak akses.
3. Membuat dokumentasi API yang rapi akan lebih memudahkan
developer lain dalam penerapan API.

3.1. Saran

Berdasarkan pengalaman penulis saat melaksanakan kerja praktek


serta dalam penulisan laporan kerja praktek, penulis memiliki beberapa
saran sebagai berikut:

1. Menggunakan fitur Laravel Passport saat membuat otentikasi API.

39
DAFTAR PUSTAKA

[1] IDCloudHost, "Pengertian dan Keunggulan


Framework Laravel," IDCloudHost, 29 November
2016. [Online]. Available:
https://idcloudhost.com/pengertian-dan-keunggulan-
framework-laravel/. [Accessed 10 July 2019].

[2] G. Muhano, "Pengertian API (Application


Programming Interface)," EraBelajar, 31 October 2016.
[Online]. Available:
http://developer.erabelajar.com/api-application-
programming-interface/. [Accessed 11 July 2019].

[3] Visual Studio Code, "Visual Studio Code


Frequently Asked Questions," Microsoft, 14 April 2016.
[Online]. Available:
https://code.visualstudio.com/docs/supporting/faq.
[Accessed 10 July 2019].

[4] M. Arumsari, "Microsoft Visual Studio Code:


Seperti Apa Fiturnya? - Blog: Dicoding Indonesia,"
dicoding, 01 May 2019. [Online]. Available:
https://blog.dicoding.com/microsoft-visual-studio-
code/. [Accessed 10 July 2019].

[5] B. Winarso, "Apa Itu Google Chrome dan


Sepenggal Sejarahnya," DailySocial.id, 23 March 2016.
[Online]. Available: https://dailysocial.id/post/apa-itu-
google-chrome. [Accessed 10 July 2019].

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

Lampiran 1 Surat balasan

41
Lampiran 2 Dokumentasi KP

42
Lampiran 3 Dokumentasi KP

43

Anda mungkin juga menyukai